用于对修复数据的按需访问和高速缓存编码的设备的制作方法

未命名 09-29 阅读:86 评论:0


1.本公开内容总体涉及存储器装置的领域,并且更具体地,涉及用于对存储器修复数据的按需访问和高速缓存编码的系统和方法。


背景技术:

2.集成电路(ic)正在经历各种部件(即,晶体管、二极管、电阻器、电容器等)的集成密度的持续提高。就大部分而言,集成密度的提高来自于最小部件特征尺寸(例如,栅极宽度)的反复减小,从而使得更多部件能够集成到给定的ic管芯区域中。
3.易失性或非易失性存储器是ic中最广泛使用的核心存储器。高级存储器具有高部件密度,并且占据包含ic的管芯的很大面积。在存储器内存在缺陷的概率随着部件密度的增加而增加。


技术实现要素:

4.本公开内容的一方面涉及一种方法,该方法包括:将第一数据存储到第一寄存器;在非易失性存储器的第一地址处将第一数据存储在所述非易失性存储器中,其中,第一地址与第一寄存器相对应;基于第一地址来选择高速缓存存储器中的第一位置;以及将第一数据和第一地址的一部分存储在所选择的第一位置中。
5.本公开内容的另一方面涉及一种设备,该设备包括集成电路,该集成电路包括包含控制器的内置自测试和修复bistr电路、与控制器进行数据通信的数据高速缓存、多个寄存器,其中,控制器被配置成将从数据高速缓存读取的数据存储到多个寄存器中的第一寄存器中。
6.本公开内容的又一方面涉及一种方法,该方法包括:从集成电路ic的非易失性存储器中在ic的非易失性存储器的第一地址处读取第一数据;将第一数据存储在ic的数据高速缓存中;从数据高速缓存中读取第一数据;以及将从数据高速缓存读取的第一数据存储到ic的第一易失性存储器的寄存器中,其中,第一易失性存储器包括存储器单元的行和列、存储器单元的冗余行和存储器单元的冗余列;其中,第一数据将行之一或列之一映射到冗余行或冗余列。
附图说明
7.在附图的图中通过示例而非限制的方式来示出本公开内容,在附图中相似的附图标记指代类似的元件,并且在附图中:
8.图1是示出采用内置自测试和修复的ic的相关部件的框图。
9.图2是示出ic内的存储块的相关部件的框图,所述存储块包含一个或更多个修复寄存器和冗余存储器。
10.图3是示出采用本公开内容的一个实施方式的ic的相关部件的框图。
11.图4是示出图3的ic中所采用的修复高速缓存的相关部件的框图。
12.图5a和图5b是对图3和图4的修复控制器和数据高速缓存控制器进行操作的方法的流程图。
13.图6是对图3和图4的修复控制器和数据高速缓存控制器进行操作的另一方法的流程图。
14.图7是对图3和图4的修复控制器和数据高速缓存控制器进行操作的又一方法的流程图。
15.图8是对图3和图4的修复控制器和数据高速缓存控制器进行操作的又一方法的流程图。
具体实施方式
16.以下公开内容提供了用于实现公开内容的不同特征的许多不同实施方式或示例。下面对部件和布置的具体示例进行描述以简化本公开内容。当然,这些仅是示例并且并非旨在进行限制。另外,本公开内容可以在各种示例中重复附图标记和/或字母。这种重复是出于简单和清楚的目的,并且其本身并不规定所讨论的各种实施方式和/或配置之间的关系。
17.存储器内存在缺陷的概率随着部件集成密度的增加而增加。由于具有过多存储器缺陷的ic必须报废,因此有缺陷的存储器会导致较低的ic生产产量。如果ic采用内置自测试和修复(bistr)、冗余的存储器行和/或存储器列,则可以修复许多有缺陷的存储器,并且生产产量可以提高。
18.图1是具有bistr模块102、核心存储器104和包含非易失性存储器单元(例如基于电熔丝的单元或基于反熔丝的单元)的一次性可编程存储器(otp)修复数据存储器106的ic 100的框图。核心存储器104包括子存储块110-1至110-n,其中n是整数。图2是示例块110-x的框图,其中x是整数。存储块110-x包括主存储器112-x、冗余存储行114-x、冗余存储列116-x和可编程修复寄存器118-x。主存储器112-x、冗余行114-x和冗余列116-x中的存储器单元可以是动态随机存取存储器(dram)单元、静态随机存取存储器(sram)单元等。
19.主存储器112-x有m行和p列。m和p是整数。冗余行114-x可以用于修复主存储器112-x中的具有故障单元的行,并且冗余列116-x可以用于修复主存储器112-x中的具有故障单元的列。如果主存储器112-x内的列包括一个或更多个故障单元,则可以通过用冗余列116-x之一有效地替换有缺陷的列来修复该有缺陷的列。类似地,如果主存储器112-x内的行包括一个或更多个故障单元,则可以通过用冗余行114-x之一有效地替换有缺陷的行来修复该有缺陷的行。
20.冗余行114-x和冗余列116-x的数目可以取决于主存储器112-x的大小,并且还可以取决于用于制造主存储器112-x的工艺。较大的主存储器112-x可能需要更多的冗余行和冗余列来辅助故障单元修复。另外,如果用于制造装置的工艺具有高产量,则冗余行和冗余列的数目可以更低。相反,如果工艺具有低产量,则冗余行和冗余列的数目应当更高。
21.可以用修复数据对修复寄存器118-x进行编程。修复数据可以将主存储器112-x中有缺陷的行映射至冗余行114-x内的行,或者将主存储器112-x中有缺陷的列映射到冗余列116-x内的列。如果主存储器112-x缺少故障单元,则用被设置为空或零的修复数据对修复寄存器118-x进行编程。仅出于说明的目的,将假定每个存储块110包括单个修复寄存器
118-x,应当理解,每个存储块110可以包括多个修复寄存器。此外,在一个实施方式中,在ic 100通电时,所有修复寄存器118被初始化为零或空数据。
22.继续参照图1和图2,bistr模块102用于测试和修复存储块110。bistr模块102包括用于测试存储块110的内置自测试(bist)模块120和用于修复存储块110的内置自修复(bisr)模块122。bisr模块122通过用修复数据对修复寄存器118进行编程来修复存储块110。
23.bist模块120包括地址生成器124,该地址生成器124生成并提供用于在测试期间访问存储块110的地址序列。bist模块120还包括数据生成器126,该数据生成器126生成并提供在测试期间存储在存储块110中的测试数据序列。根据测试模式算法来生成地址序列和数据序列。数据序列可以提供被设计成识别存储块110内的各种类型的故障的一组数据位。bist模块120还包括向地址生成器124和数据生成器126提供输入信号和控制信号的测试状态控制器128。上面所描述的测试模式算法可以由测试状态控制器128生成。bist模块120可以按行、按列或按两者的组合扫描主存储器110以测试所有块110。
24.bisr模块122对从测试存储块110接收的错误(或故障)数据进行分析。错误(或故障)数据可以包括故障存储器单元的标识,所述标识又可以用于确定适当的修复机制。取决于故障存储器单元的位置和分布,可以通过行修复、列修复或两者来完成修复,其中在存储块110中采用了多个修复寄存器。bisr模块122包括存储故障存储器单元的标识的故障存储装置130。bisr模块122还包括修复控制器132。修复控制器132对存储在故障存储装置130中的数据进行分析,并且使用一个或更多个算法确定修复方法。在修复控制器132确定了修复方法之后,修复控制器选择修复寄存器118并用非零修复数据对修复寄存器118进行编程。
25.ic 100可以经受若干个测试/修复会话。在每个测试/修复会话之后,修复控制器132将所有修复寄存器118的内容压缩并存储至otp存储器106以确保在关断到ic 100的电力时修复数据不会丢失。
26.如果在测试/修复会话之后成功地修复了所有存储器单元故障,则将ic 100装运给客户以供在产品中使用。在通电时,修复控制器利用从otp存储器106读取的修复数据来加载寄存器118。每次访问存储器104以进行读或写操作时,对照一个或更多个修复寄存器118中的修复数据对读/写地址的一部分进行检查以查看是否应当将读/写操作重新定向至冗余行或冗余列。如果答案为是,则在冗余行或冗余列中执行读/写。
27.ic如示例ic 100通常需要采用不同测试算法的多个测试/修复会话。每个测试/修复会话可以发现新的故障存储器单元。在每个测试/修复会话之后,无论寄存器是否在其中具有零或非零修复数据,都针对块110-1至110-n中的修复寄存器118中的每个修复寄存器将修复数据写入otp存储器106。仅出于说明的目的,针对每个修复寄存器118写入的修复数据的长度为一个字节。块110-1至110-n中的大多数块将不具有故障存储器单元。因此,写入otp存储器106的修复数据的n个字节中的大部分字节将为零(即,八位逻辑零)。
28.可以使用数据压缩(例如,基于零的数据压缩)来减少在每个测试/修复会话之后写入otp存储器106的数据大小。可以使用许多不同的压缩方法。采用简单压缩算法如基于零的数据压缩来降低复杂性和成本。在基于零的数据压缩中,可以用位模式“111”替换被设置为零的修复数据字节,可以用位模式“1111”替换被设置为0的两个连续修复数据字节。然而,基于零的压缩的一个缺点是:由于随后的会话将可能识别新的故障存储器单元,并且由
于修复数据必定会随着每个测试/修复会话而累积,所以经压缩的修复数据的大小可能会随着每个测试/修复会话而增加。例如,假设ic 100中有n=100个存储块。在完成第一个测试/修复会话之后,发现仅存储块110-2和存储块110-25包含故障存储器单元。来自所有修复寄存器118的修复数据被收集、压缩并存储在otp存储器106的第一分段中。来自块110-2和块110-25的寄存器118的修复数据字节未被压缩,但是所有其他修复数据字节为零并且相应地被压缩。在完成第二个测试/修复会话之后,还发现存储块110-87包括故障单元。来自所有修复寄存器118的修复数据被收集、压缩并存储在otp存储器106的第二分段中。来自块110-2、块110-25和块110-87的寄存器118的修复数据字节未被压缩,但是所有其他修复数据字节被压缩。第二个测试/修复会话的经压缩数据与第一个测试/修复会话的经压缩数据相比需要otp存储器中的更多存储空间。该处理随着每个连续的测试/修复会话而继续。
29.将otp存储器106分成专用分段以存储相应测试/修复会话的经压缩的修复数据。例如,otp存储器106可以具有q个分段以分别存储q个测试/修复会话的经压缩的修复数据。在每个测试/修复会话之后要写入otp存储器分段的经压缩的修复数据的数量在测试/修复对话开始之前是未知的;晶片批次中的一些ic可能比该晶片批次中的其他ic更具缺陷。因此,otp存储器106的分段的大小应当适应更差的情况。在许多情况下,这导致特别是在q个分段中并且通常是在otp存储器106中的未使用的存储空间。另一问题是otp存储器106的单元可能比存储器104中的单元更昂贵。使用otp存储器106的指定分段进行多会话测试增加了管芯上的面积,这也是不期望的。访问otp存储器的较慢速度也是不期望的。
30.本公开内容解决了这些问题以及其他问题,并且提供了用于高速缓存非零修复数据的方法和设备。在一个实施方式中,该设备包括与非易失性otp数据修复存储器一起工作的修复数据高速缓存。使用修复数据高速缓存可以减少否则将需要的otp存储器的大小。
31.高速缓存存储器比otp存储器更快。修复控制器可以用从高速缓存读取的修复数据比用从otp存储器读取的修复数据更快地对修复寄存器118进行加载。本公开内容提供了附加优点。例如,在将修复数据存储在修复数据高速缓存和/或otp存储器中之前不需要对其进行压缩。这不仅有助于进一步提高可以对修复寄存器118进行加载的速度,而且还降低了存储器测试和修复的复杂性和成本。
32.图3是示出采用本公开内容的一个实施方式的ic 300的相关部件的框图。ic 300可以采用专用集成电路(asic)、soc等形式。ic 300包括bistr模块302、修复数据高速缓存304、核心存储器104和otp修复数据存储器306。
33.假设图1和图3中的核心存储器104相同。修复数据高速缓存304包括动态随机存取存储器(dram)单元、静态随机存取存储器(sram)单元、触发器、寄存器组等。与otp修复数据存储器106一样,otp修复数据存储器306包含非易失性存储器单元例如基于电熔丝的单元或基于反熔丝的单元。然而,otp存储器306实质上小于图1中所示出的otp存储器106。在一个实施方式中,otp存储器306具有针对存储块110-1至110-n中的每个修复寄存器118的存储位置。在另一实施方式中,otp存储器具有针对可以存储修复数据的修复数据高速缓存304中的每一行的存储位置。
34.继续参照图2和图3,bistr模块302测试并修复存储块110。bistr模块302包括用于测试块110的内置自测试(bist)模块120和用于修复块110的内置自修复(bisr)模块322。
35.bist模块120包括地址生成器124,该地址生成器124生成并提供用于在测试期间
访问块110的地址序列。bist模块120还包括数据生成器126,该数据生成器126生成并提供在测试期间存储在块110中的测试数据序列。根据测试模式算法来生成地址序列和数据序列。bist模块120包括向地址生成器124和数据生成器126提供输入信号和控制信号的测试状态控制器128。bist模块120按行、按列或按两者的组合扫描主存储器110以测试所有块110。
36.bisr模块322对从测试存储块110接收的故障数据进行分析。故障数据可以包括故障存储器单元的标识,所述标识又可以用于确定修复机制。取决于故障存储器单元的位置和分布,可以以类似于上面所描述的方式通过行或列修复来完成修复。
37.bisr模块322包括存储故障存储器单元的标识的故障存储装置130。bisr模块322还包括修复控制器332。修复控制器332对存储在故障存储装置130中的数据进行分析,并且使用适当的算法来修复故障存储器单元。在修复控制器332确定了修复方法之后,修复控制器用非零修复数据对适当的修复寄存器118进行编程。
38.ic 300可以经受若干个测试/修复会话。可以在每个测试/修复会话期间将新识别的非零修复数据写入修复寄存器118。还可以在每个测试/修复会话期间将新识别的非零修复数据写入修复数据高速缓存304和otp存储器306。将非零修复数据写入otp存储器306以确保在关断到ic 300的电力时修复数据不会丢失。在将新识别的非零修复数据存储在修复数据高速缓存304中之后,可以将其写入otp存储器306。仅将非零修复数据写入otp存储器306和修复数据高速缓存。在一个实施方式中,非零修复数据在其被写入otp存储器306或修复数据高速缓存304之前未被压缩。在ic 300通电之后,如将更完整描述的,修复控制器332可以用从修复数据高速缓存304中读取的非零修复数据对修复寄存器118进行加载。
39.ic 300可能需要采用不同测试算法的多个测试/修复会话。修复控制器可以在每个测试/修复会话期间将新的修复数据写入一个或更多个修复寄存器118。修复控制器332还可以在每个测试/修复会话期间经由修复数据高速缓存304将新的非零修复数据写入otp存储器306。修复控制器332可以包括将修复寄存器118的地址映射至otp存储器306中的相应地址的转换器或查找表。在一个实施方式中,otp存储器306具有用于存储修复数据的n个位置。修复数据高速缓存304也可以具有用于存储修复数据的n个位置或行。otp存储器306中的位置被动态分配以根据需要存储非零修复数据。在一个实施方式中,修复控制器可以包括存储在非易失性存储器中的查找表,该查找表将寄存器118的地址映射至otp存储器306中的地址。可以在每个测试/修复会话期间用新的otp存储器和修复地址映射来更新该查找表。
40.图4示出了根据一个实施方式的修复数据高速缓存304的相关部件。修复数据高速缓存304包括与数据高速缓存存储器404进行数据通信的修复数据高速缓存控制器402。修复数据高速缓存控制器402还与修复控制器332和otp存储器306进行数据通信。数据高速缓存存储器404被配置有n个存储行,n个存储行中的每个存储行可以存储标签和对应的修复数据。在一个实施方式中,每个标签包括otp存储器306中的地址的高位,otp存储器306中还存储了对应的修复数据。每行还可以包括用于修复数据的奇偶校验位。图4示出了存储示例修复数据和标签的行-1至行-3。每行可以通过高速缓存存储器控制器402来访问。
41.继续参照图3和图4,图5a示出了在测试/修复会话期间由修复控制器332和高速缓存存储器控制器402实现的示例方法500的相关步骤。如上所述,修复控制器332可以在测
试/修复会话期间将新的非零修复数据写入一个或更多个修复寄存器118。还应将新的非零修复数据写入otp存储器306和数据高速缓存存储器404。图5a中的处理示出了将新的修复数据写入otp存储器306和高速缓存存储器404的相关方面。处理从修复控制器332将新的非零修复数据写入修复寄存器118-x开始。在一个实施方式中,在步骤504中,修复控制器332对地址转换模块或查找表进行更新以将寄存器118-x的地址映射至otp存储器306中的地址。在步骤506中,高速缓存控制器402接收新的非零修复数据及其对应的otp存储器地址。高速缓存控制器402基于otp存储器地址选择高速缓存行。在一个实施方式中,高速缓存控制器402通过首先对otp存储器地址执行模计算来选择高速缓存行。例如,高速缓存控制器402针对otp存储器地址计算模16。模计算的余数标识高速缓存存储器404中的行号。高速缓存数据控制器402访问由模计算标识的高速缓存行。在步骤512中,高速缓存控制器512确定高速缓存行是否被修复数据占用。如果不是,则在步骤524中,高速缓存控制器将otp存储器地址的高位作为标签存储在所选择的高速缓存行内。高速缓存控制器402还将新的非零修复数据存储在所选择的高速缓存行中。可选地,高速缓存控制器332计算修复数据的奇偶校验位并将其存储在所选择的高速缓存行中。然而,如果高速缓存控制器332在步骤512中确定所选择的高速缓存行在步骤512中被占用,则高速缓存控制器402基于otp存储器地址选择另一高速缓存行。在一个实施方式中,通过首先将整数(例如,八)加到步骤504中标识的otp存储器地址来选择该另一高速缓存行。然后,高速缓存控制器402对该经修改的otp存储器地址执行模计算。高速缓存控制器402将非零修复数据、作为标签的otp存储器地址的高位以及可选的奇偶校验位存储在由第二次模计算的余数标识的高速缓存行中。在一个实施方式中,如果另一高速缓存行先前被修复数据占用,则高速缓存控制器402可以生成错误。仅出于说明的目的,将假定高速缓存存储器404中的另一行未被占用。无论高速缓存控制器402在步骤516或步骤524中是否存储新的非零修复地址,都还将修复数据提供给otp存储器306以存储在步骤504中标识的otp存储器地址处。如果在测试/修复会话期间识别到更多的非零修复数据,则可以重复该处理。
42.图5b示出了替换方法550的相关方面,方法550包括在测试/修复会话完成之后将修复数据存储到otp存储器306中。图5a和图5b中所示出的步骤中的许多步骤是共同的。例如,方法500和方法550都包含步骤502至步骤524。然而,图5b中所示出的方法550缺少步骤520或缺少在修复数据被写入高速缓存存储器404时的每个点处将新的修复数据写入otp存储器306。反而,方法550包括步骤556,在步骤556中,在测试/修复会话完成之后,将写入高速缓存的所有新的非零修复数据复制到otp存储器306的适当的otp存储器地址处。此外,由于可以用非零修复数据递增地更新空的高速缓存行,因此对于每个测试/修复会话,存储在otp存储器306上的修复高速缓存内容可以首先通过高速缓存控制器402加载到修复高速缓存404中,并且随后修复控制器332对高速缓存控制器402的访问将进一步更新修复高速缓存404。在将所有修复数据在单独的测试/修复会话中高速缓存到高速缓存存储器404中之后,由于仅将新的数据累积到修复高速缓存存储器404中,所以然后可以将更新后的修复高速缓存写入到otp存储器306中。
43.当关断到ic 300的电力时,高速缓存存储器404和修复寄存器118的数据内容丢失。在通电时,高速缓存存储器404和修复寄存器118可以恢复到在关断电力之前存在的状态。图6是用存储在otp存储器306中的非零修复数据对高速缓存存储器404进行加载的示例
处理。该处理可以在ic 300通电时开始。在步骤602处,修复高速缓存控制器402设置计数器x=0。高速缓存控制器访问otp存储器306中的地址-x以确定其中是否包含非零修复数据。如果otp存储器306在地址-x处不包含非零修复数据,则数据高速缓存控制器402如步骤624所示将计数器x递增,并且重复步骤606。然而,如果otp存储器306在地址-x处包含非零修复数据,则如步骤608所示读取数据。然后,高速缓存控制器402以如上面参照图5a所描述的大致相同的方式基于otp存储器地址-x选择高速缓存行。高速缓存控制器402对otp存储器地址-x执行模计算。计算的结果标识高速缓存行号。高速缓存数据控制器402访问通过模计算标识的高速缓存行。在步骤612中,高速缓存控制器402确定高速缓存行是否被修复数据占用。如果高速缓存行为空,则在步骤622中,高速缓存控制器402将作为标签的otp存储器地址-x的高位、修复数据以及可选的奇偶校验位存储在所选择的高速缓存行内。然而,如果在步骤612中高速缓存控制器402确定所选择的高速缓存行被占用,则高速缓存控制器402基于otp存储器地址-x选择另一高速缓存行。在一个实施方式中,通过首先将整数(例如,八)加到otp存储器地址-x来选择该另一高速缓存行。然后,高速缓存控制器402对该经修改的otp存储器地址-x执行模计算。高速缓存控制器402将非零修复数据、作为标签的otp存储器地址-x的高位以及可选的奇偶校验位存储在由第二次模计算的结果标识的高速缓存行中。在一个实施方式中,如果另一高速缓存行先前被修复数据占用,则高速缓存控制器402可以生成错误。仅出于说明的目的,将假定高速缓存存储器404中的另一行为空。在步骤620中,数据高速缓存控制器402进行检查以查看是否已经针对非零修复数据检查了otp存储器306的所有n个位置。如果不是,则如步骤624所示,修复高速缓存控制器402将计数器x递增,并且重复步骤606。在已经对otp存储器306的所有位置进行了检查之后,处理结束,并且高速缓存存储器404应当处于其在关断到ic300的电力时的状态。
44.在ic 300通电时,还应当用修复数据对修复寄存器118进行重新编程。在图6的处理600结束之后,或者可替选地在修复数据高速缓存304自身从otp存储器加载了修复数据之后,修复控制器332可以使用高速缓存存储器404中的修复数据来对修复寄存器118进行重新编程。图7是示出了对修复寄存器118进行重新编程的相关方面的示例方法700。该处理从步骤702开始,在步骤702中修复控制器332设置计数器x=0。将otp存储器地址-x提供给高速缓存控制器402。如步骤710所示,高速缓存控制器402基于otp存储器地址-x选择高速缓存存储器404内的行。在一个实施方式中,高速缓存控制器402通过对otp存储器地址-x执行模计算来选择高速缓存行。计算的结果标识高速缓存行号。将所选择的高速缓存行中的标签与otp存储器地址-x的高位进行比较。如果存在匹配,则在步骤724中,高速缓存控制器402从具有匹配标签的所选择的高速缓存行中读取修复数据。修复控制器332使用转换模块或查找表来将otp地址-x映射至修复寄存器的地址。如步骤724和步骤726所示,将修复数据提供给修复控制器332以用于随后存储在修复寄存器118中。高速缓存控制器332可以在将修复数据提供给修复控制器之前对照其对应的修复数据检查奇偶校验位。然而,如果在步骤714中没有发现匹配,则高速缓存控制器402基于otp存储器地址-x选择另一高速缓存行。在一个实施方式中,通过首先将整数(例如,八)加到otp存储器地址-x来选择该另一高速缓存行。然后,高速缓存控制器402对经修改的otp存储器地址-x执行模计算。模计算的结果标识另一高速缓存行。高速缓存控制器402访问该另一高速缓存行,并且将该另一高速缓存行中的标签与未经修改的otp存储器地址-x的高位进行比较。如果存在匹配,则如步骤724所
示,高速缓存控制器402从具有匹配标签的该另一高速缓存行中读取修复数据。如步骤726所示,将该修复数据提供给修复控制器332以用于随后存储在修复寄存器118中。在一个实施方式中,如果另一高速缓存行缺少匹配标签,则高速缓存控制器402可以生成错误。高速缓存控制器还可以对照发送至修复控制器332的修复数据来检查存储在所选择的高速缓存行中的奇偶校验位。
45.例如,可以将ic 300的部分进行断电以节约能源。例如,可以关断到存储块110-1至110-6的电力,同时保持包括高速缓存存储器404的剩余部件通电。在修复寄存器118断电时修复寄存器118中的修复数据会丢失。当到所选择的修复寄存器118的电力恢复时,可以使用高速缓存存储器404对所选择的修复寄存器118重新编程。图8是示出用于在恢复到所选择的修复寄存器的电力之后对所选择的修复寄存器重新编程的方法800的相关方面的处理。该处理从步骤802开始,在步骤802中,修复控制器332选择到其的电力已经恢复的一个或更多个修复寄存器118中的第一修复寄存器。修复控制器332使用转换模块或查找表来将所选择的修复寄存器118的地址映射至otp存储器306中的地址(otp存储器地址)。将otp存储器地址提供给高速缓存控制器402。如步骤806所示,高速缓存控制器402基于otp存储器地址-x选择高速缓存存储器404内的行。在一个实施方式中,高速缓存控制器402通过对otp存储器地址执行模计算来选择高速缓存行。计算的结果标识高速缓存行号。将所选择的高速缓存行中的标签与otp存储器地址的高位进行比较。如果在步骤812中存在匹配,则在步骤822中,高速缓存控制器402从具有匹配标签的所选择的高速缓存行中读取修复数据。如824所示,将该修复数据提供给修复控制器332以用于随后存储在步骤802中选择的修复寄存器中。高速缓存控制器402可以在将修复数据提供给修复控制器之前对照其对应的修复数据检查奇偶校验位。然而,如果在步骤812中没有发现匹配,则高速缓存控制器402基于otp存储器地址选择另一高速缓存行。在一个实施方式中,通过首先将整数(例如,八)加到otp存储器地址来选择该另一高速缓存行。然后,高速缓存控制器402对经修改的otp存储器地址执行模运算。模计算的结果标识另一高速缓存行。如步骤820所示,高速缓存控制器402访问另一高速缓存行,并且将该高速缓存行中的标签与未经修改的otp存储器地址的高位进行比较。如果存在匹配,则如步骤822所示,高速缓存控制器402从具有匹配标签的另一高速缓存行中读取修复数据。如步骤824所示,将该修复数据提供给修复控制器332以用于随后存储在所选择的修复寄存器118中。在一个实施方式中,如果另一高速缓存行缺少匹配标签,则高速缓存控制器402可以生成错误。
46.在上面的描述中,具体实施方式的一些部分按照对模拟信号和/或数字信号或者非暂态存储介质内的数据位进行的操作的算法和符号表示来呈现。这些算法描述和表示是数据处理领域的技术人员用于将他们的工作实质最有效地传达给本领域的其他技术人员的手段。此处,算法通常被认为是导致期望结果的步骤的自身一致的序列。这些步骤是对物理量进行物理操作所需要的步骤。通常,尽管不是必须的,但是这些量采用能够被存储、传输、组合、比较和以其他方式处理的电信号或磁信号的形式。已经证明有时主要出于通用目的将这些信号称为数据、位、值、元素、符号、字符、项、数字等是方便的。
47.在描述中对“实施方式”、“一个实施方式”、“示例实施方式”、“一些实施方式”和“各种实施方式”的引用意指结合实施方式描述的特定特征、结构、步骤、操作或特性包括在本公开内容的至少一个实施方式中。此外,在描述中各个地方出现的短语“实施方式”、“一
个实施方式”、“示例实施方式”、“一些实施方式”和“各种实施方式”不一定都指相同的实施方式。
48.描述包括对附图的参照,这些附图构成具体实施方式的一部分。附图示出了根据示例性实施方式的图示。以足够详细的方式对本文中也可以被称为“示例”的这些实施方式进行描述,以使得本领域技术人员能够实践本文所描述的要求保护的主题的实施方式。在不脱离所要求保护的主题的范围和精神的情况下,可以对实施方式进行组合、可以利用其他实施方式或者可以进行结构、逻辑和电气改变。应当理解,本文所描述的实施方式并不旨在限制主题的范围,而是使本领域技术人员能够实践、制造和/或使用本主题。
49.然而,应当牢记,所有这些术语以及类似的术语均与适当的物理量相关联,并且仅是应用于这些量的方便标签。除非另外特别声明,否则如根据上述讨论明显的,应当理解,在整个描述中,利用诸如“执行”、“生成”、“确定”、“放置”等术语的讨论是指集成电路(ic)控制器或类似电子装置的动作和处理,所述集成电路控制器或类似电子装置对被表示为控制器的寄存器和存储器内的物理(例如,电子)量的数据进行操纵,并将所述数据转换成被类似地表示为控制器存储器或寄存器或其他这样的信息非暂态存储介质内的物理量的其他数据。
50.在本文中使用词语“示例”或“示例性”意指用作示例、实例或说明。在本文中被描述为“示例”或“示例性”的任何方面或设计不必被解释为比其他方面或其他设计优选或有利。相反,词语“示例”或“示例性”的使用旨在以具体的方式来呈现构思。如本技术中所使用的,术语“或”旨在意指包含性的“或”而非排他性的“或”。即,除非另有指定或根据上下文是清楚的,否则“x包括a或b”旨在意指任何自然的包含性排列。即,如果x包括a;x包括b;或者x包括a和b两者,则在任何前述情况下都满足“x包括a或b”。另外,除非另有指定或根据上下文清楚地针对单数形式,否则在本技术和所附权利要求书中使用的冠词“一”和“一个”通常应当被解释为意指“一个或更多个”。此外,除非如此描述,否则贯穿全文术语“实施例”或“一个实施例”或者“实施方式”或“一个实施方式”的使用不旨在意指同一实施例或实施方式。
51.本文所描述的实施方式还可以涉及用于执行本文的操作的设备。该设备可以出于所需目的而专门构造,或者可以包括由该设备选择性地激活或重新配置的固件或硬件逻辑。这样的固件可以存储在非暂态计算机可读存储介质中,例如但不限于只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、闪速存储器或适于存储电子指令的任何类型的介质中。术语“计算机可读存储介质”应当被视为包括存储一个或更多个指令集的单个介质或多个介质。术语“计算机可读介质”还应当被视为包括能够存储、编码或承载如下指令集的任何介质:该指令集由机器执行并且使机器执行本实施方式的方法中的任何一种或更多种方法。术语“计算机可读存储介质”因此应当被视为包括但不限于固态存储器、光学介质、磁介质、能够存储用于由机器执行并且使机器执行本实施方式的方法中的任何一种或更多种方法的指令集的任何介质。
52.以上描述阐述了许多具体细节,例如具体系统、部件、方法等的示例,以提供对本公开内容的若干实施方式的良好理解。应当理解,以上描述旨在是说明性的而非限制性的。在阅读并理解以上描述之后,许多其他实施方式对本领域技术人员将是明显的。因此,应当参照所附权利要求书连同这样的权利要求书所授权的等同物的全部范围来确定本公开内
容的范围。

技术特征:
1.一种方法,包括:将第一数据存储到第一寄存器;在非易失性存储器的第一地址处将所述第一数据存储在所述非易失性存储器中,其中,所述第一地址与所述第一寄存器相对应;基于所述第一地址来选择高速缓存存储器中的第一位置;以及将所述第一数据和所述第一地址的一部分存储在所选择的第一位置中。2.根据权利要求1所述的方法,还包括:测试易失性存储器以识别所述易失性存储器中的包含故障存储器单元的行或列;其中,所述第一数据包括修复数据,所述修复数据将所识别的行或列映射到所述易失性存储器中的存储器单元的冗余行或冗余列。3.根据权利要求1所述的方法,还包括:将第二数据存储到第二寄存器;在所述非易失性存储器的第二地址处将所述第二数据存储在所述非易失性存储器中,其中,所述第二地址与所述第二寄存器相对应;基于所述第二地址来选择所述高速缓存存储器中的第二位置;以及将所述第二数据和所述第二地址的一部分存储在所选择的第二位置中。4.根据权利要求1所述的方法,其中,选择所述第一位置包括:对所述第一地址执行模运算以生成余数值;访问与所述余数值相对应的所述第一位置;确定所述高速缓存存储器中的所述第一位置是否包括非零数据;以及响应于确定所述第一位置不包括非零数据,选择所述第一位置。5.根据权利要求3所述的方法,其中,选择所述第二位置包括:对所述第二地址执行模运算以生成余数值;访问与所述余数值相对应的所述第一位置;确定所述高速缓存存储器中的所述第一位置是否包括非零数据;以及响应于确定所述第一位置包括非零数据,选择所述第二位置。6.根据权利要求5所述的方法,其中,选择所述第二位置还包括:响应于确定所述第一位置包括非零数据,修改所述第二地址以创建经修改的第二地址;对所述经修改的第二地址执行模运算以生成另一余数值;访问与所述另一余数值相对应的所述第二位置;确定所述高速缓存存储器中的所述第二位置是否包括非零数据;以及响应于确定所述第二位置不包括非零数据,选择所述第二位置。7.根据权利要求3所述的方法,还包括:将第三寄存器映射到所述非易失性存储器中的第三地址;基于所述第三地址来选择所述高速缓存存储器中的第三位置;从所选择的第三位置读取存储器地址部分;将所述存储器地址部分与所述第三地址的一部分进行比较;响应于将所述存储器地址部分与所述第三地址的一部分进行比较,从所述第三位置读
取第三数据;以及将所述第三数据存储在所述第三寄存器中。8.根据权利要求7所述的方法,还包括:在读取存储器地址部分之前以及在读取第三数据之前,从所述非易失性存储器的所述第三地址处读取所述第三数据;基于所述第三地址来选择所述高速缓存存储器中的所述第三位置;以及将从所述非易失性存储器中读取的所述第三数据存储在所述高速缓存存储器的所述第三位置中。9.一种设备,包括:集成电路,所述集成电路包括:包括控制器的内置自测试和修复bistr电路;与所述控制器进行数据通信的数据高速缓存;多个寄存器;并且其中,所述控制器被配置成将从所述数据高速缓存读取的数据存储到所述多个寄存器中的第一寄存器中。10.根据权利要求9所述的设备,还包括:非易失性存储器;其中,所述数据高速缓存包括:与数据高速缓存存储器进行数据通信的数据高速缓存控制器;其中,所述数据高速缓存控制器被配置成将从所述非易失性存储器或所述bistr电路的控制器接收的数据存储在所述高速缓存存储器中。11.根据权利要求10所述的设备,其中,所述数据高速缓存控制器被配置成选择所述数据高速缓存存储器中的用于存储数据的位置,其中,所述选择基于所述非易失性存储器中的地址。12.根据权利要求10所述的设备,其中,所述数据高速缓存控制器被配置成对所述非易失性存储器的地址执行模运算,并且其中,所述数据高速缓存控制器被配置成基于所述模运算的余数值来选择所述数据高速缓存存储器中的用于存储数据的位置。13.根据权利要求9所述的设备,其中,所述bistr电路被配置用于测试易失性存储器以识别所述易失性存储器中的包含故障存储器单元的行或列;并且其中,所述数据包括修复数据,所述修复数据将所识别的行或列映射到所述易失性存储器中的存储器单元的冗余行或冗余列。14.根据权利要求10所述的设备,其中,所述bistr电路的控制器被配置成将所述多个寄存器中的任一寄存器的标识转换为所述非易失性存储器中的相应地址;并且其中,所述数据高速缓存控制器被配置成基于从所述bistr电路的控制器接收到的地址将所述数据存储在所述高速缓存存储器中的位置中。15.一种方法,包括:从集成电路ic的非易失性存储器中读取在所述非易失性存储器的第一地址处的第一
数据;将所述第一数据存储在所述ic的数据高速缓存中;从所述数据高速缓存中读取所述第一数据;以及将从所述数据高速缓存读取的所述第一数据存储到所述ic的第一易失性存储器的寄存器中,其中,所述第一易失性存储器包括存储器单元的行和列、存储器单元的冗余行和存储器单元的冗余列;其中,所述第一数据将所述行之一或所述列之一映射到所述冗余行或所述冗余列。16.根据权利要求15所述的方法,响应于向所述ic供应电力来实现所述方法。17.根据权利要求16所述的方法,还包括:将修复寄存器的标识转换为所述非易失性存储器的地址;以及从所述数据高速缓存的易失性存储器中读取在与所述地址相对应的存储器位置处的所述第一数据。18.根据权利要求17所述的方法,还包括:将所述寄存器的标识转换为所述非易失性存储器的地址;对所述地址执行模运算以生成余数值;以及从所述数据高速缓存的易失性存储器中读取在与所述余数值相对应的存储器位置处的所述第一数据。19.根据权利要求18所述的方法,还包括:在所述非易失性存储器的第二地址处将第二数据存储在所述非易失性存储器中,其中,在向所述ic供应电力之后,将所述第二数据存储在所述非易失性存储器中。20.根据权利要求19所述的方法,还包括:将所述第二数据存储在所述数据高速缓存中;从所述数据高速缓存读取所述第二数据;将从所述数据高速缓存读取的所述第二数据存储到所述ic的第二易失性存储器的寄存器中,其中,所述第二易失性存储器包括存储器单元的行和列、存储器单元的冗余行和存储器单元的冗余列;并且其中,所述第二数据将所述第二易失性存储器的所述行之一或所述列之一映射到所述第二易失性存储器的冗余行或冗余列。

技术总结
一种用于对修复数据的按需访问和高速缓存编码的设备。在一个实施方式中,该设备包括集成电路,该集成电路具有与非易失性存储器进行数据通信的数据高速缓存、内置自测试和修复(BISTR)电路的控制器以及多个寄存器。控制器被配置成从数据高速缓存中读取数据并将该数据存储到多个寄存器中的第一寄存器中。据存储到多个寄存器中的第一寄存器中。据存储到多个寄存器中的第一寄存器中。


技术研发人员:森文
受保护的技术使用者:赛普拉斯半导体公司
技术研发日:2023.03.22
技术公布日:2023/9/26
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐