用于刷新储存元件的系统和方法与流程

文档序号:13080563阅读:153来源:国知局
用于刷新储存元件的系统和方法与流程

优先权要求

本申请要求享有于2015年3月17日提交的共有美国非临时专利申请no.14/660,366的优先权,其内容通过引用整体明确地并入本文。

本公开通常涉及刷新存储元件。



背景技术:

技术进步已经导致更小且更强大的计算设备。例如,目前存在各种便携式个人计算设备,包括诸如便携式无线电话、个人数字助理(pda)和寻呼设备之类的无线计算设备,它们小型、重量轻且易于用户携带。更具体地,诸如蜂窝电话和互联网协议(ip)电话之类的便携式无线通信设备可以通过无线网络传送语音和数据分组。此外,许多这样的无线通信设备包括并入其中的其他类型的设备。例如,无线通信设备还可以包括数字静态照相机、数字摄像机、数字记录器和音频文件播放器。此外,这样的无线通信设备可以处理可执行指令,包括可以用于访问互联网的软件应用,例如web浏览器应用。这样,这些无线通信设备可以包括显著的计算能力。

无线通信设备可以包括易失性存储器设备,其具有周期性刷新以保持数据完整性的存储元件(例如,存储器单元)。例如,一些存储元件的保留时间可能低于阈值保留时间(例如,32毫秒)。已经提出了各种方法以在低保留时间的存在下维持数据完整性。在第一种方法中,可以增加刷新命令的频率,从而在最坏情况的保留时间内刷新存储器单元。最坏情况的保留时间可以对应于多个存储器单元中的具有最低保留时间的特定存储器单元的保留时间。在这种方法中,在特定时间段内发布的刷新命令的数目可以加倍或更多,从而许多存储器单元被刷新得比所需更的更频繁。在第二种方法中,可以为具有低保留时间的每个存储器单元发出额外的刷新命令。在该方法中,在特定时间段期间发布的刷新命令的数目可以增加具有低保留时间的存储器单元的数目。在这两种方法中,响应于刷新命令,取回单行存储器单元的地址,并刷新该单行存储器单元中的每个单元。



技术实现要素:

公开了刷新存储元件的系统和方法。设备可以包括具有多个存储器组的存储器阵列。多个存储器组可以包括多行存储元件(例如,存储器单元)。每行存储元件可以耦合到特定字线。该设备还可以包括耦合到存储器阵列的刷新电路(例如,外围电路、存储器控制器或两者)。存储器阵列可以包括一个或多个“弱存储元件”,其具有低于阈值保留时间的数据保留时间。可以在存储器阵列或设备的制造过程的测试阶段期间识别弱存储元件。标识与存储器阵列的“弱行”存储元件耦合的字线的信息(例如,地址)可以存储在存储设备(例如,一次性可编程(otp)存储器)中。弱行可以包括至少一个弱存储元件。刷新电路可以耦合到otp存储器。

具有不同组偏移的多个字线中的每一个可以耦合到对应的弱存储元件。例如,存储器阵列的第一存储器组的第一字线可以具有第一组偏移,并且存储器阵列的第二存储器组的第二字线可以具有第二存储器组组偏移。第一字线可以耦合到第一行存储元件。第一行存储元件可以包括至少一个弱存储元件。第二字线可以耦合到第二行存储元件。第二行存储元件可以包括至少一个弱存储元件。

刷新电路可以将第一字线和第二字线分组到单个刷新地址上。例如,刷新电路可以通过将单个刷新地址映射到第一字线的第一字线地址以及第二字线的第二字线地址,来对第一字线和第二字线进行分组。为了说明,刷新电路可以基于存储在otp存储器中的数据将单个刷新地址映射到第一字线地址和第二字线地址。

刷新电路可以执行对单个刷新地址的刷新。例如,单个刷新地址可以映射到耦合到存储元件行的字线的字线地址。刷新电路可以通过执行对应行的存储元件的刷新来执行对单个刷新地址的刷新。例如,刷新电路可以执行对第一行存储元件和第二行存储元件的刷新。刷新电路可以通过以下方式来执行刷新:从第一行存储元件读取第一数据,将第一数据写入第一行存储元件,从第二行存储元件读取第二数据,并将第二数据写入第二行存储元件。

在特定方面,在存储设备上执行刷新操作的方法包括识别耦合到弱存储元件的字线。该方法还包括将具有不同组偏移的多个字线分组到单个刷新地址上。多个字线中的每一个耦合到对应的弱存储元件。例如,多个字线可以是所识别出的字线的子集。该方法还包括执行对单个刷新地址的刷新。

在另一方面,一种设备包括存储器阵列和存储设备。该设备还包括刷新电路。存储器阵列包括多行存储元件。每行耦合到特定的字线。存储设备被配置为存储标识耦合到弱存储元件的字线的信息。刷新电路被配置为将具有不同组偏移的多个字线分组到单个刷新地址上。多个字线中的每一个耦合到对应的弱存储元件。例如,多个字线可以是所识别出的字线的子集。刷新电路还被配置为执行对单个刷新地址的刷新。例如,刷新电路可以基于存储在存储设备中的信息将单个刷新地址映射到多个字线地址。多个字线地址可以标识多个字线。多个字线可以耦合到存储元件行。刷新电路可以通过执行对应行的存储元件的刷新来执行对单个刷新地址的刷新。刷新电路可以通过以下方式来刷新存储元件的每一行:从该行存储元件读取数据并将数据写入该行存储元件。

在另一方面,一种系统包括存储器阵列和存储设备。该系统还包括刷新电路。存储器阵列包括多行存储元件。每行耦合到特定的字线。存储设备被配置为存储标识耦合到弱存储元件的字线的信息。刷新电路被配置为将具有不同组偏移的多个字线分组到单个刷新地址上。多个字线中的每一个耦合到对应的弱存储元件。刷新电路还被配置为执行对单个刷新地址的刷新。

由所公开的示例中的至少一个提供的一个特别的优点是可以使用单个刷新地址来刷新对应于不同组偏移的多个弱行。例如,刷新地址可以映射到耦合到弱行的字线的字线地址。可以响应于接收到(或生成)刷新命令来确定刷新地址。在该示例中,响应于单个刷新命令,可以基于刷新地址来刷新具有不同组偏移的多个弱行。本公开的其他方面、优点和特征将在查看整个申请之后变得显而易见,所述整个申请包括以下部分:附图说明、具体实施方式和权利要求书。

附图说明

图1是可操作以刷新存储元件的系统的特定说明性示例的框图;

图2a是刷新调度的特定示例的图;

图2b是对应于刷新调度的刷新命令的特定示例的定时图;

图3是可操作以刷新存储元件的系统的特定示例的图;

图4是刷新命令的特定示例的定时图;

图5是可操作以刷新存储元件的系统的特定示例的图;

图6是可操作以刷新存储元件的系统的特定示例的图;

图7是刷新存储元件的方法的特定说明性示例的流程图;以及

图8是可操作以刷新存储元件的设备的框图。

具体实施方式

参考图1,公开了可操作以刷新存储元件的系统的特定说明性示例,并且一般被标示为100。在特定方面,系统100的一个或多个部件可以集成到通信设备、个人数字助理(pda)、平板计算机、计算机、音乐播放器、视频播放器、娱乐单元、导航设备或机顶盒中。

应当注意,在下面的描述中,由图1的系统100执行的各种功能被描述为由特定部件或模块执行。然而,部件和模块的这种划分仅用于说明。在替代示例中,由特定部件或模块执行的功能可以在多个部件或模块中被划分。此外,在替代示例中,图1的两个或更多个部件或模块可以集成到单个部件或模块中。图1所示的每个部件或模块可以使用硬件(例如,现场可编程门阵列(fpga)设备、专用集成电路(asic)、数字信号处理器(dsp)、控制器等)、软件(例如,处理器可执行的指令)或其任何组合来实现。

系统100包括具有多个存储器组(例如,第一存储器组180和第二存储器组182)的存储器阵列(例如,易失性存储器)。多个存储器组可以包括存储元件(例如,存储器单元)阵列。例如,第一存储器组180包括存储元件行120。行120中的第一行124可以包括存储元件(se)140、se142、se144、一个或多个其他存储元件、或其组合。第二存储器组182包括存储元件行184。行184中的第二行126可以包括se150、se152、一个或多个其他存储元件、或其组合。

第一存储器组180和第二存储器组182的每一行可以耦合到对应的字线。例如,第一行124可以耦合到第一字线134,并且第二行126可以耦合到第二字线136。存储器阵列可以被划分成跨多个存储器组的多个区域,如参照图3所述。每个存储器组可以包括多个部分,如参照图3所述。

特定存储器组的字线的组偏移可以指示该特定存储器组中对应行的存储元件的行索引。例如,第一字线134可以具有第一组偏移186,其指示第一行124在行120中的第一行索引。第二字线136可以具有第二组偏移188,其指示第二行126在行184中的第二行索引。第一组偏移186可以不同于第二组偏移188。

系统100可以包括耦合到第一存储器组180和第二存储器组182的刷新电路(例如,存储器控制器166、外围电路164或两者)。系统100可以包括行选择(ras)之前列选择(cas)刷新(cbr)块104、非易失性存储器(例如,一次性可编程(otp)存储器102))或两者。cbr块104、otp存储器102或两者可以耦合到刷新电路(例如,外围电路164)。在特定实现方式中,cbr块104、otp存储器102和外围电路164中的至少一个可以包含于易失性存储器设备或动态随机存取存储器(dram)中。

otp存储器102可以存储(或指示)行120和行184的第一行子集(例如,弱行)的字线地址116。第一行子集中的每一行可以耦合到具有不能满足(例如,低于)阈值保留时间(例如,32毫秒)的数据保留时间的至少一个存储元件。在特定示例中,otp存储器102可以存储(或指示)行120和行184的第二行子集(例如,强行)的第二字线地址。第二行子集的每行的每个存储元件可以具有满足(例如,大于或等于)阈值保留时间的数据保留时间。作为第一存储器组180和第二存储器组182的制造过程的一部分,可以在筛选(或测试)期间,识别第一行子集、第二行子集或两者,并且指示字线地址116、第二字线地址或其组合的数据可以存储在otp存储器102中。

在操作期间,刷新电路(例如,存储器控制器166或外围电路164)可以生成刷新命令108。例如,刷新电路可以周期性地生成刷新命令108。刷新电路可以在特定时间段(例如,32毫秒)内生成特定数目(例如,8192(8k)+512)的刷新命令。在特定实现方式中,存储器控制器166可以生成刷新命令108,并且可以向外围电路164提供刷新命令108。在替代实现方式中,外围电路164可以生成刷新命令108。

外围电路164可以基于计数器170确定刷新命令108是否是弱行刷新命令。例如,每第n个刷新命令可以对应于弱行刷新命令,并且其他(例如,第1到第n-1个)刷新命令可以对应于常规行刷新命令(或强行刷新命令)。响应于确定计数器170具有特定值(例如,0),外围电路164可以确定刷新命令108是弱行刷新命令。响应于确定计数器170具有另一值(例如,正值),外围电路164可以确定刷新命令108是常规行刷新命令(或强行刷新命令)。外围电路164可以在确定刷新命令108是否为弱行刷新命令之后或之前更新(例如,递增1模n)计数器170。

响应于接收到(或生成)每个常规行刷新命令,外围电路164可以基于由cbr块104指示的索引值118,来更新行120、行184或两者中的连续行,如参照图3所述。响应于接收到每个弱行刷新命令(或每个强行刷新命令),外围电路164可以将多个字线(例如,第一字线134和第二字线136)分组到单个刷新地址(例如,刷新地址172或第二刷新地址),并且可以执行对刷新地址172的刷新,如参考图3所描述的。例如,外围电路164可以基于存储于otp存储器102中的数据将刷新地址映射到字线地址,如参考图5所描述的。字线地址可以标识耦合到存储元件行的字线。存储元件行可以具有不同组偏移。外围电路164可以通过刷新存储元件行中的每一行来执行对刷新地址的刷新。例如,外围电路164可以从存储元件行的每行读取数据,并将数据写入该行中。

系统100可以支持使用单个刷新地址来执行对具有不同组偏移的多个弱行的存储器刷新。例如,多个字线可以被分组到单个刷新地址上。多个字线可以耦合到具有不同组偏移的多个弱行。可以通过刷新多个弱行中的每一个来执行对单个刷新地址的刷新。

参考图2a,示出了刷新调度204的特定示例的图。在特定方面,外围电路164可以基于刷新调度204确定图1的刷新命令108是弱行刷新命令还是常规行刷新命令,如本文所述。

如参考图3所描述的,图1的存储器阵列可以在跨多个存储器组的多个区域(例如,区域0-3)中被划分。刷新调度204可以包括第一数目(例如,8192(8k))的常规行刷新时隙和第二数目(例如512)的弱行刷新时隙。第一数目的常规行刷新时隙可以在这些区域中被划分。例如,刷新调度204可以包括对应于区域0的0-2047个常规行刷新时隙,可以包括对应于区域1的2048-4095个常规行刷新时隙,可以包括对应于区域2的4096-6143个常规行刷新时隙,可以包括对应于区域3的6144-8191个常规行刷新时隙,或其组合。

在刷新调度204中,特定区域的常规行刷新时隙可以穿插有对应于另一区域的弱行刷新时隙。例如,区域0的常规行刷新时隙0-2047可以穿插有对应于区域2的弱行刷新时隙(例如,弱行刷新时隙206),区域1的常规行刷新时隙2048-4095可以穿插有对应于区域3的弱行刷新时隙(例如,弱行刷新时隙208),区域2的常规行刷新时隙4096-6143可以穿插有对应于区域0的弱行刷新时隙(例如,弱行刷新时隙210),区域3的常规行刷新时隙6144-8191可以穿插有对应于区域1的弱行刷新时隙(例如,弱行刷新时隙212),或其组合。

外围电路164可以基于计数器170来识别对应于刷新命令108的、刷新调度204的刷新时隙。例如,计数器170的特定值可以对应于刷新调度204的特定时隙。外围电路164可以基于刷新时隙是对应于常规行刷新时隙还是对应于弱行刷新时隙,来确定刷新命令108是对应于常规行刷新还是对应于弱行刷新。外围电路164可以响应于确定刷新时隙对应于常规行刷新时隙(例如,常规行刷新时隙0-8191中的一个),基于由cbr块104指示的索引值118来执行常规行刷新,如参考图3所描述的。外围电路164可以响应于确定刷新时隙对应于弱行刷新时隙(例如,弱行刷新时隙206-212中的一个),基于刷新地址172执行弱行刷新,如参考图3所描述的。

在特定示例中,第一刷新调度可以包括弱行刷新时隙,并且第二刷新调度可以包括强行刷新时隙。例如,“强”行刷新时隙可以对应于强行的存储元件的刷新。强行的存储元件中的每个存储元件可以具有满足阈值保留时间的数据保留时间。外围电路164可以基于计数器170确定刷新命令是对应于弱行刷新命令还是对应于强行刷新命令,如关于图1所述的。响应于确定刷新命令对应于弱行刷新命令,外围电路164可以基于第一刷新调度执行刷新。替代地,响应于确定刷新命令对应于强行刷新命令,外围电路164可以基于第二刷新调度执行刷新。第一刷新调度可以独立于第二刷新调度。外围电路164可以基于第一刷新调度来执行对刷新地址172的刷新,并且可以基于第二刷新调度执行对第二刷新地址的刷新。第二刷新地址可以映射到强行的字线地址,如参考图1所描述的。在特定示例中,刷新地址172的第一刷新率基本上可以是第二刷新地址的第二刷新率的两倍。例如,第一弱行刷新和下一弱行刷新之间的第一间隔可以是第一强行刷新和下一强行刷新之间的第二间隔的大约一半。

刷新调度204可以减少弱行刷新之间的间隔。例如,特定区域(例如,区域0)的特定弱行(例如,图1的第一行124)可以基于对应于特定区域(例如,区域0)的常规行刷新时隙(例如,常规行刷新时隙0-2047中的一个)来被刷新,并且可以基于另一区域(例如,区域2)的常规行刷新时隙之间的弱行刷新时隙(例如,弱行刷新时隙210)来被刷新。

参考图2b,示出了刷新命令的特定示例的定时图,并且通常被指定为202。定时图202可以对应于刷新调度(例如,刷新调度204)。

图1的刷新电路(例如,存储器控制器166或外围电路164)可以通过断言第一信号(ref)来生成常规行刷新命令(例如,刷新命令108)。常规行刷新命令可以对应于刷新调度204。例如,外围电路164可以确定常规行刷新命令246对应于常规行刷新时隙0-2047,可以确定常规行刷新命令248对应于常规行刷新时隙2048-4095,常规行刷新命令250对应于常规行刷新时隙4096-6143,常规行刷新命令252对应于常规行刷新时隙6144-8191,或其组合。

刷新电路(例如,存储器控制器166或外围电路164)可以通过断言第二信号(附加刷新)来生成弱行刷新命令(例如刷新命令108)。弱行刷新命令可以对应于刷新调度204。例如,外围电路164可以确定弱行刷新命令236对应于弱行刷新时隙206,弱行刷新命令238对应于弱行刷新时隙208,弱行刷新命令240对应于弱行刷新时隙210,弱行刷新命令242对应于弱行刷新时隙212,或其组合。

因此,基于定时图202生成的刷新命令可以减少对弱行的刷新之间的间隔。例如,特定区域(例如,区域0)的特定弱行(例如,图1的第一行124)可以基于常规行刷新命令(例如,常规行刷新命令246中的一个)来被刷新,并且可以基于在另一区域(例如,区域2)的常规行刷新命令之间生成的弱行刷新命令(例如,弱行刷新命令240)来被刷新。

参考图3,示出了可操作以刷新存储元件的系统的特定示例的图,并且通常被指定为300。系统300可以包括图1的系统100的一个或多个部件。例如,系统300可以包括外围电路164、非易失性存储器(例如,otp存储器102)、cbr块104或其组合。在特定实现方式中,外围电路164可以包括otp存储器102、cbr块104或两者。外围电路164可以包括经由多路复用器(mux)328耦合到cbr块104的行地址(ra)锁存器306。mux328可以耦合到焊盘326。

系统300可以包括存储器阵列。存储器阵列可以包括多个存储器组(例如,存储器组310、312、314、316、318、320、322和324)。存储器组310-324可以包括第一存储器组180和第二存储器组182。每个存储器组包括多个(例如,2个)部分(例如,部分0和部分1)。每个部分可以包括多个(例如512个)区域(例如,区域0、区域1、区域2和区域3)。每个区域包括多行存储元件。

存储器阵列的特定行可以耦合到相应的字线。每个字线可以具有特定字线地址。特定字线地址的第一部分(例如,3个最高有效位)可以指示特定存储器组(例如,存储器组310、312、314、316、318、320、322或324),其包括对应于该字线的特定行的存储元件。特定字线地址的第二部分(例如,第4至第17最高有效位)可以指示特定字线、特定行或两者的组偏移(例如,行索引)。例如,特定存储器组的部分0的区域0可以包括组偏移从第一组偏移(例如,0)开始到第二组偏移(例如,2047)的行(或字线)。部分0的区域1-3中的每一个可以包括具有连续的组偏移的行。部分1的区域0可以包括组偏移从第一组偏移(例如,8192)开始到第二组偏移(例如,10,239)的行(或字线)。部分1的区域1-3中的每一个可以包括具有连续的组偏移的行。

系统300包括多个弱行寄存器(例如,弱行寄存器308和弱行寄存器330)。特定弱行寄存器可以对应于特定部分。例如,弱行寄存器308可以对应于存储器组310的特定部分(例如,部分1)。作为另一示例,弱行寄存器330可对应于存储器组312的特定部分(例如,部分1)。

在对存储器阵列的特定存储元件进行存储器(例如,读/写)访问期间,外围电路164可以向焊盘326提供特定存储元件的地址,并且可以向mux328提供第一控制信号。特定存储元件可以耦合到特定字线和特定位线。该地址可以指示特定字线的字线地址和特定位线的位线地址。mux328可以响应于第一控制信号从焊盘326读取地址,可以确定对应于该地址的部分偏移,并且可以向ra锁存器306提供部分偏移。外围电路164可以类似地基于地址确定列地址,并可以将列地址提供给列地址锁存器。外围电路164可以激活对应于特定存储器组(例如,存储器组310、312、314、316、318、320、322或324)的特定部分(例如,部分0或部分1)的行选通。外围电路164可以激活对应于特定存储器组的特定部分的列选通。外围电路164可以将数据(例如,0或1)读取或写入到特定存储元件。

外围电路164可以接收(或生成)如参考图1所描述的常规行刷新命令(例如,图1的刷新命令108)。cbr块104可以存储图1的指示第一部分偏移的索引值118。例如,第一部分偏移可以指示耦合到包含于第一区域(例如,区域0或区域3)中的特定行(例如,行0、行100、行2047或行8191)的特定字线。响应于接收到(或生成了)常规行刷新命令,外围电路164可以向mux328提供第二控制信号。响应于第二控制信号,mux328可将索引值118从cbr块104加载到ra锁存器306。外围电路164可以刷新存储器阵列的每个部分中的对应于由索引值118指示的第一部分偏移的特定行。例如,外围电路164可以刷新每个存储器组(例如,存储器组310、312、314、316、318、320、322和324)的第一部分(例如,部分0)的第一行,以及可以刷新每个存储器组(例如,存储器组310、312、314、316、318、320、322和324)的第二部分(例如,部分1)的第二行。第一行可以耦合到第一字线,并且第二行可以耦合到第二字线。第一字线和第二字线可以对应于相同的部分偏移(例如,特定的部分偏移)。刷新一行存储元件(例如,图1的第一行124或第二行126)可以包括从该行存储元件读取数据值,并将数据值写回到该行存储元件。

外围电路164可以更新(例如,模增量1)cbr块104以指示第二索引值。第二索引值可以指示响应于接收到下一常规行刷新命令而将被刷新的、耦合到第一区域(例如,区域0)的下一行(例如,行1或行101)的下一字线或者耦合到下一区域(例如,区域1或区域0)的第一行(例如,行2048或行0)的第一字线。

外围电路164可以接收(或生成)弱行刷新命令(例如,图1的刷新命令108),如参考图1所描述的。otp存储器102可以包括将刷新地址172映射到字线地址116的数据,如参考图5所描述的。字线地址116中的第一字线地址可以对应于耦合到存储器组310的第一部分(例如,部分1)的第一行(例如,行0)的第一字线。字线地址116中的第二字线地址可以对应于耦合到存储器组310的第二部分(例如,部分0)的第二行(例如,行0或行3000)的第二字线。另外或替代地,字线地址116中的第三字线地址可以对应于耦合到另一存储器组(例如,存储器组312)的特定部分(例如,部分0或部分1)的第三行(例如,行0、行1102、行2056、行3000或行8000)的第三字线。第一字线、第二字线和第三字线中的每一个可以耦合到至少一个对应的弱存储元件。

在特定示例中,第一字线地址、第二字线地址和第三字线地址可以对应于相同的组偏移(例如,行0)。在替代示例中,第一字线地址、第二字线地址和第三字线地址中的至少两个可以对应于不同的组偏移。第一字线地址可以对应于存储器组310的第一部分(例如,部分1)的第一区域(例如,区域0、1、2或3)。第二字线地址可以对应于存储器组310的第二部分(例如,部分0)的第二区域(例如,区域0、1、2或3)。第三字线地址可以对应于存储器组312的特定部分(例如,部分0或部分1)的第三区域(例如,区域0、1、2或3)。

在特定示例中,第一字线地址、第二字线地址或第三字线地址可以对应于相同的区域。例如,第一字线地址可以对应于存储器组310的第一部分的区域0,第二字线地址可以对应于存储器组310的第二部分的区域0,并且第三字线地址可以对应于存储器组312的特定部分的区域0。

在替代示例中,第一字线地址、第二字线地址或第三字线地址中的至少两个可以对应于不同的区域。例如,第一字线地址可以对应于存储器组310的第一部分的区域0,第二字线地址可以对应于存储器组310的第二部分的区域2,并且第三字线地址可以对应于存储器组312的特定部分的区域3。

外围电路164可以将第一字线、第二字线和第三字线分组到刷新地址172上。例如,外围电路164可以基于存储在otp存储器102中的数据将刷新地址172映射到字线地址116,如参考图5所述。为了说明,otp存储器102可以包括对应于每个存储器组(例如,存储器组310和存储器组312)的组otp存储器,如参考图5所描述的。外围电路164可以基于刷新地址172确定一个或多个索引,如参照图5所描述的。外围电路164可以将索引映射到每个组otp存储器的条目。组otp存储器的特定条目可以包括指示字线地址116中的特定字线地址的条目数据。外围电路164可以基于每个组otp存储器的、对应于一个或多个索引的条目的条目数据,将刷新地址172映射到字线地址116。

外围电路164可以将字线地址116或其部分顺序地写入对应的弱行寄存器。例如,外围电路164可以基于第一字线地址的第一部分(例如,3个最高有效位)来确定第一存储器组(例如,存储器组310)。第一字线的第一组偏移可以对应于第一字线地址的第二部分(例如,第4至第17最高有效位)。外围电路164可以基于第一字线地址的第三部分(例如,第4最高有效位)来确定第一部分(例如,部分1)。外围电路164可以基于第一字线地址的第四部分(例如,第5至第17最高有效位)来确定第一部分偏移。

外围电路164可以将第一部分偏移写入对应于第一存储器组的第一部分的弱行寄存器。例如,外围电路164可以将第一部分偏移写入对应于存储器组310的第一部分(例如,部分1)的弱行寄存器308。

外围电路164可以类似地基于字线地址116中的第二字线地址将第二部分偏移写入对应的弱行寄存器中。外围电路164可以基于字线地址116中的第三字线地址将第三部分偏移写入对应的弱行寄存器中。在特定示例中,外围电路164可以将部分偏移写入到对应于每个存储器组310、312、314、316、318、320、322和324的每个部分的弱行寄存器中。

在特定示例中,外围电路164可以在接收到弱行刷新命令之前将部分偏移写入对应的弱行寄存器。例如,外围电路164可以在刷新对应于先前接收到的刷新命令(例如,先前接收到的弱行刷新命令或先前接收到的常规行刷新命令)的存储元件之后,将部分偏移写入对应的弱行寄存器。外围电路164可以响应于接收到弱行刷新命令,刷新耦合到由弱行寄存器中的部分偏移指示的字线的存储元件行。外围电路164可以更新(例如,模增加1)刷新地址172(例如,otp索引),以指示要从otp存储器102读取的下一组字线地址。例如,外围电路164可以基于特定计数器的值来确定刷新地址172的值,并且可以在确定刷新地址172的值之后更新(例如,模增加1)特定计数器的值。otp存储器102可以包括将刷新地址172的更新后的值映射到下一组字线地址的数据,如参考图5所述。

外围电路164可以以相同的时间间隔来刷新对应于字线地址116的每个字线(例如,第一字线、第二字线和第三字线)。例如,每个字线(例如,第一字线、第二字线和第三字线)的连续刷新之间的持续时间可以相同。为了说明,刷新地址172可以在时间t1处具有第一值。在特定时间间隔期间对刷新地址172进行多次更新之后,刷新地址172可以循环回到第一值。第一值可以映射到字线地址116。对应于字线地址116的每个字线(例如,第一字线、第二字线和第三字线)可以响应于在特定时间间隔处具有第一值的刷新地址172而被刷新。

因此,系统300可以响应于弱行刷新命令而支持对多个弱行的存储器刷新。因此,弱行中的弱存储元件可以以比其他存储元件更高的频率被刷新。例如,可以响应于对应的常规行刷新命令并响应于对应的弱行刷新命令来刷新特定的弱行。具有不同的组偏移的多个弱行可以被分组到单个刷新地址上。响应于弱行刷新命令,可以刷新具有不同的组偏移的行。

参考图4,示出了刷新命令的特定示例的定时图,并且一般被指定为400。在特定示例中,定时图400可对应于图2的刷新调度204。

图1的刷新电路(例如,存储器控制器166或外围电路164)可以断言第一信号(refcmd)以生成刷新命令。例如,每第n个刷新命令可以是弱行刷新命令,并且其他刷新命令(例如,第1-第n-1个)可以是常规行刷新命令,如参考图1所描述的。定时图400表示常规行刷新命令与弱行刷新命令236、238、240和242交错。

在接收到第一弱行刷新命令(例如,弱行刷新命令236)之后并且在接收到后续的弱行刷新命令(例如,弱行刷新命令238)之前,外围电路164可以将部分偏移写入对应的弱行寄存器。在接收到对应的弱行刷新命令之前将组偏移写入弱行寄存器可以导致更快的弱行刷新。结果,存储器的部分(例如,弱行)不能用于存储器(例如,就绪或写入)访问的刷新间隔可以更短。

参考图5,示出了可操作以刷新存储元件的系统的特定示例的图,并且一般被指定为500。在特定示例中,系统500可以包括图1的系统100的一个或多个部件、图3的系统300的一个或多个部件、或其组合。在图5中,系统500包括存储器组310、312、314、316、318、320、322和324。

存储器组310、312、314、316、318、320、322和324中的每一个包括多个部分(例如,部分0和部分1)。每个部分包括第一数目(例如8192个)的行,其形成了第二数目(例如512个)的区域,其中,每个区域具有特定数目(例如16个)的行。

图1的otp存储器102可以包括对应于每个存储器组的组otp存储器。例如,otp存储器102可以包括对应于图3的存储器组310的第一组otp存储器、对应于存储器组312的第二组otp存储器,等等。为了说明,otp存储器102包括与存储器组310相关联的组otp存储器502。组otp存储器502可以包括对应于存储器组310的第一部分(例如,部分0)的第一条目集合以及对应于存储器组310的第二部分(例如,部分1)的第二条目集合。第一条目集合和第二条目集合可以各自包括第一数目(例如512个)的条目。第一条目集合可以包括对应于存储器组310的第一部分的每个区域的第一条目(例如,单个条目)子集。每个条目可以指示耦合到存储器组310的对应区域的弱行的特定字线的字线地址。

图1的otp存储器102可以包括将图1的刷新地址172映射到多个字线地址的数据。例如,刷新地址172可以对应于每个组otp存储器(例如,组otp存储器502)的一个或多个条目索引。

在操作期间,外围电路164可以顺序地从与每个存储器组310、312、314、316、318、320、322和324相关联的每个组otp存储器中读取条目。例如,当刷新地址172具有特定值(例如,0)时,外围电路164可以基于计数器从每个组otp存储器读取第一条目(例如,条目0)和第二条目(例如,条目512)。为了说明,外围电路164可以基于刷新地址172来确定第一条目索引(例如,刷新地址172的值)和第二条目索引(例如,512+刷新地址172的值)。外围电路164从特定的组otp存储器读取对应于第一条目索引(例如条目0)的第一条目数据和对应于第二条目索引(例如条目512)的第二条目数据。如本文所述,外围电路164可以基于第一条目数据确定第一字线的第一组偏移。

第一字线的第一字线地址可以包括指示存储器组310的第一部分,指示第一分段(例如,分段0)的第二部分,指示第一区域(例如,区域3)的第三部分,以及指示第一区域偏移(例如,0-15之间的值)的第四部分。第二部分、第三部分和第四部分可以指示第一字线的第一组偏移(例如,0至16,383之间的值)。第三部分和第四部分可以指示第一分段偏移(例如,0至8,191之间的值)。外围电路164可以响应于确定从对应于存储器组310的组otp存储器取回第一条目数据,来确定第一字线地址的第一部分。外围电路164可以基于第一条目索引确定第一字线地址的第二部分和第三部分。外围电路164可以基于第一条目数据确定第一字线地址的第四部分。外围电路164可以通过串联第三部分和第四部分来确定第一分段偏移。外围电路164可以将第一分段偏移写入对应于存储器组310的第一分段(例如,分段0)的弱行寄存器。

外围电路164可以从组otp存储器502的第二条目(例如,条目512)读取第二条目数据。外围电路164可以将对应于第二条目数据的第二分段偏移写入图3的对应于存储器组310的第二分段(例如,分段1)的弱行寄存器308。

类似地,外围电路164可以从对应于一个或多个其他存储器组(例如,存储器组312)的存储器组的第一条目读取第一条目数据。外围电路164可以将对应于第一条目数据的第一分段偏移写入对应于一个或多个其它存储器组的第一分段(例如,分段0)的弱行寄存器。外围电路164可以从第二组otp存储器的第二条目读取第二条目数据,并且可以将对应于第二条目数据的第二分段偏移写入一个或多个其他存储器组的弱行寄存器。

外围电路164可执行对刷新地址172的刷新。例如,外围电路164可以刷新对应于第一存储器组(例如,存储器组310)的第一字线集合的第一存储元件行集合。为了说明,外围电路164可以刷新对应于存储在与存储器组310的分段0相关联的弱行寄存器中的第一分段偏移的第一行(例如,图1的第一行124)。外围电路164可以刷新对应于存储在与存储器组310的分段1相关联的弱行寄存器308中的第二分段偏移的第二行(例如,图1的第二行126)。类似地,外围电路164可以刷新对应于第二存储器组(例如,存储器组312)的第二字线集合的第二存储元件行。外围电路164可以刷新对应于存储在与存储器组312的分段0相关联的弱行寄存器中的第一分段偏移的第一行(例如,图1的第一行124)。外围电路164可以刷新对应于存储在与存储器组312的分段1相关联的弱行寄存器330中的第二分段偏移的第二行(例如,图1的第二行126)。在特定示例中,存储器组310的第一字线集合中的第一字线可以具有第一组偏移。存储器组312的第二字线集合可以排除具有第一组偏移的第二字线。第一字线可以耦合到存储器组310的第一行,并且第二字线可以耦合到存储器组312的第二行。外围电路164可以在执行对刷新地址172的刷新时,刷新存储器组310的包括第一行的第一行集合,并且可以刷新存储器组312的排除第二行的第二行集合。

特定存储器组(例如,存储器组310)的特定分段(例如,分段0)的特定区域(例如,区域3)可以包括第一数目的弱行。对应的组otp存储器(例如,组otp存储器502)可以具有第二数目的对应于分段0的区域3的条目。在特定示例中,弱行的第一数目可以不同于条目的第二数目。如果弱行的第一数目少于条目的第二数目,则对应于分段0的区域3的组otp存储器502的一个或多个条目可以包括常规行的地址(例如,不包括弱存储元件的行)。

如果弱行的第一数目大于条目的第二数目,则一个或多个弱行可以不包括在对应于分段0的区域3的组otp存储器502的条目中。替代地,组otp存储器可以包括附加位,以适应这种情况。

例如,组otp存储器504示出了包括每个条目的附加位的组otp存储器。附加位可以指示与条目相关联的区域。例如,组otp存储器504可以包括与特定区域(例如,存储器组310的分段0的区域2)相关联的多个(例如,两个)条目。在特定示例中,组otp存储器504可以不包括与特定区域(例如,存储器组310的分段0的区域3)相关联的条目。在该示例中,外围电路164可以从组otp存储器504读取对应于特定条目的附加位。外围电路164可以基于特定条目的条目索引来确定字线地址的、指示分段的第二部分,并且可以基于附加位来确定字线地址的指示区域的第三部分。外围电路164可以通过串联附加位(例如,第三部分)和特定条目的条目数据来生成第一分段偏移。

组otp存储器502可以具有比组otp存储器504(例如,6位*1024条目=6144位)更小的尺寸(例如,4位*1024条目=4096位)。在特定示例中,otp存储器102可以包括对应于存储器组310、312、314、316、318、320、322和324中的每一个的组otp存储器502。在该示例中,otp存储器102可以具有第一尺寸(例如,4096*8=32,768位)。在替代示例中,otp存储器102可以包括对应于每个存储器组310、312、314、316、318、320、322和324的组otp存储器504。在该示例中,otp存储器102可以具有第二尺寸(例如,6144*8=49,152位)。第一尺寸可以小于第二尺寸。

组otp存储器504可以提供比组otp存储器502更大的灵活性。例如,组otp存储器504的特定条目可以对应于多个区域中的一个,而组otp存储器502的特定条目可以对应于单个区域。

参考图6,示出了可操作以刷新存储元件的系统的特定示例的图,并且一般被指定为600。系统600可以包括图1的系统100的一个或多个部件、图3的系统300的一个或多个部件、图5的系统500的一个或多个部件,或其组合。

系统600可以包括多个锁存器(例如,锁存器606、锁存器608等)。每个锁存器可以对应于多个存储器组中的特定组的特定分段。例如,锁存器608可以对应于存储器组310的特定分段(例如,分段1)。外围电路164可以从otp存储器102顺序地读取条目数据,并基于条目数据确定分段偏移,如参考图5所述。响应于接收到弱行刷新命令(例如,图1的刷新命令108),外围电路164可以将分段偏移加载到ra锁存器306。外围电路164可以在加载每个分段偏移之后激活对应的行选通,以将分段偏移锁存在对应的锁存器中。例如,外围电路164可以响应于接收到第一弱行刷新命令,从otp存储器102读取第一条目数据,基于第一条目数据确定第一分段偏移,并将第一分段偏移加载到ra锁存器306。第一分段偏移可以对应于特定存储器组(例如,存储器组310)的特定分段(例如,分段1)。外围电路164可以激活对应于特定存储器组(例如,存储器组310)的特定分段(例如,分段1)的行选通610,以将第一分段偏移锁存在锁存器608中。外围电路164可以将第二分段偏移加载到ra锁存器306。第二分段偏移可以对应于特定存储器组(例如,存储器组310)的另一分段(例如,分段0),或者可以对应于另一存储器组(例如,存储器组312、314、316、318、320、322或324)的分段(例如,分段0或分段1)。外围电路164可以激活另一行选通,以在对应的锁存器中锁存第二分段偏移。第一分段偏移可以指示第一行(例如,行0)和第一区域(例如,区域0)。第二分段偏移可以指示第二行(例如,行0或行1)和第一区域(例如,区域0)。外围电路164可以在锁存第一分段偏移之后刷新对应于第一分段偏移的存储元件行。例如,外围电路164可以刷新特定存储器组(例如,存储器组310)的特定分段(例如,分段1)中的第一区域(例如,区域0)的第一行(例如,行0)。为了说明,外围电路164可以从第一行存储元件读取值,并将该值写回到第一行存储元件。

在特定示例中,外围电路164可以响应于弱行刷新命令(例如,刷新命令108)来刷新不同区域中的行,如参考图5所描述的。例如,外围电路164可以刷新第一存储器组(例如,存储器组310)的第一分段(例如,分段0)的第一区域(例如,区域0)中的第一行,以及第一存储器组(例如,存储器组310)的第二分段(例如,分段1)的第二区域(例如,区域1)中的第二行。第一区域(例如,区域0)和第二区域(例如,区域1)可以彼此邻近(例如,紧挨着)。

因此,系统600可以响应于弱行刷新命令而支持对多个弱行的存储器刷新。弱行中的弱存储元件可以以比其他存储元件更高的频率被刷新。例如,可以响应于对应的常规行刷新命令并响应于对应的弱行刷新命令来刷新特定的弱行。响应于弱行刷新命令,可以刷新具有不同的组偏移、不同的区域或两者的行。

参考图7,示出了刷新存储元件的方法的特定示例的流程图,并且一般被指定为700。在特定示例中,方法700的一个或多个操作可以由图1的系统100、图3的系统300、图6的系统600或其组合执行。

方法700包括:在702处识别耦合到弱存储元件的字线。例如,otp存储器102可以包括指示耦合到弱存储元件的字线的字线地址116的数据,如参考图1所述。

方法700还包括:在704处将具有不同组偏移的多个字线分组到单个刷新地址上。多个字线中的每一个可以耦合到对应的弱存储元件。例如,图1的外围电路164可以通过将刷新地址172映射到对应于多个字线的字线地址116,而将具有不同组偏移的多个字线分组到刷新地址172上,如结合图1和5所描述的。

方法700还包括:在706处执行对单个刷新地址的刷新。例如,图1的外围电路164可以通过刷新对应于字线地址116的存储元件行来刷新所述刷新地址172,如参照图1和图5所描述的。例如,存储元件行可以耦合到对应于字线地址116的字线。外围电路164可以通过刷新存储元件行中的每一行来刷新所述刷新地址172。例如,外围电路164可以通过以下方式来刷新存储元件行中的每一行:从该行存储元件读取数据值并将所述数据值写入该行存储元件。

因此,方法700可以使弱行中的弱存储元件能够比其他存储元件更频繁地被刷新。例如,可以响应于对应的常规行刷新命令以及响应于对应的弱行刷新命令来刷新特定的弱行。响应于弱行刷新命令,可以刷新具有不同的组偏移的行。例如,可以响应于弱行刷新命令来确定刷新地址。刷新地址可以映射到耦合到存储元件行的字线的字线地址。存储元件行可以具有不同的组偏移。可以通过刷新存储元件行中的每一行来执行对刷新地址的刷新。

可以由现场可编程门阵列(fpga)设备、专用集成电路(asic)、诸如中央处理单元(cpu)的处理单元、数字信号处理器(dsp)、控制器、另一硬件设备、固件设备或其任何组合来实现图7的方法。作为示例,图7的方法可以由结合图8描述的执行指令的处理器来执行。

参考图8,描绘了无线通信设备的特定说明性示例的框图,并且一般被指定为800。设备800包括耦合到存储器832的处理器810(例如,数字信号处理器(dsp))。存储器832可以包括图1的第一存储器组180、第二存储器组182、图3的一个或多个存储器组310-324、或其组合。处理器810、存储器832或两者可以耦合到刷新电路864。刷新电路864可以包括存储器控制器166、外围电路164或两者。刷新电路864可以耦合到otp存储器102、cbr块104或两者。在特定示例中,外围电路164可以包括otp存储器102、cbr块104或两者。在特定示例中,设备800的一个或多个部件可以执行参考图1-7的系统和方法描述的一个或多个操作。

刷新电路864可以耦合到存储器832,以通过片外刷新处理来支持存储器刷新。替代地,刷新电路864可以例如经由处理器810实现在片上。例如,存储器832可以是存储计算机可执行指令856的非瞬态计算机可读介质,所述指令可由处理器810执行以使得处理器810通过基于刷新调度(例如,图1的刷新调度204)生成用于刷新存储元件行的刷新命令来刷新存储器832的存储元件。

图8还示出了耦合到处理器810和显示器828的显示控制器826。编码器/解码器(codec)834也可以耦合到处理器810。扬声器836和麦克风838可以耦合到codec834。

图8还表明无线控制器840可以耦合到处理器810和无线天线842。在特定示例中,处理器810、显示控制器826、存储器832、codec834和无线控制器840包含于系统级封装或片上系统设备822中。在特定示例中,输入设备830和电源844耦合到片上系统设备822。此外,在特定示例中,如图8所示,显示器828、输入设备830、扬声器836、麦克风838、无线天线842和电源844在片上系统设备822的外部。然而,显示器828、输入设备830、扬声器836、麦克风838、无线天线842和电源844中的每个可以耦合到片上系统设备822的部件,例如接口或控制器。

结合所描述的方面,公开了一种装置,其可以包括用于存储数据的包括多行存储元件的单元,例如图1的第一存储器组180、第二存储器组182、图3的一个或多个存储器组310-324、存储器832、被配置为存储数据的包括多行存储元件的一个或多个其他设备或电路、或其任何组合。多个行中的每行可以耦合到特定字线。

所述装置还可以包括用于存储标识耦合到弱存储元件的字线的信息的单元,诸如非易失性存储器(例如,otp存储器102)、被配置为存储标识耦合到弱存储元件的字线的信息的一个或多个其他设备或电路,或其组合。

所述装置还可以包括用于刷新字线的单元,其被配置为将具有不同的组偏移的多个字线分组到单个刷新地址上,并且执行对所述单个刷新地址的刷新,例如外围电路164、刷新电路864、被配置为将具有不同的组偏移的多个字线分组到单个刷新地址上并执行对该单个刷新地址的刷新的一个或多个其他设备或电路、或其组合。多个字线中的每一个可以耦合到对应的弱存储元件。

本领域技术人员将进一步了解,结合本文公开的各方面描述的各种说明性的逻辑块、配置、模块、电路和算法步骤可以被实施为电子硬件、由处理器执行的计算机软件、或两者的组合。上面已经在其功能方面一般地描述了各种说明性的部件、块、配置、模块、电路和步骤。这样的功能是实现为硬件还是处理器可执行指令取决于特定应用和施加在整个系统上的设计约束。技术人员可以针对每个特定应用以不同的方式实现所描述的功能,但是这种实现方式决定不应被解释为导致背离本公开的范围。

结合本文公开的各方面描述的方法或算法的步骤可以直接体现在硬件中,体现在由处理器执行的软件模块中,或者体现在两者的组合中。软件模块可以驻留在随机存取存储器(ram)、闪存、只读存储器(rom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、寄存器、硬盘、可移动磁盘、压缩盘只读存储器(cd-rom)、或本领域已知的任何其他形式的非瞬态存储介质中。示例性存储介质耦合到处理器,从而处理器可以从存储介质读取信息和向存储介质写入信息。在替代例中,存储介质可以集成到处理器上。处理器和存储介质可以驻留在专用集成电路(asic)中。asic可以驻留在计算设备或用户终端中。在替代例中,处理器和存储介质可以作为离散部件驻留在计算设备或用户终端中。

提供对所公开的示例的先前描述以使本领域技术人员能够制作或使用所公开的示例。对这些示例的各种修改对于本领域技术人员而言是显而易见的,并且本文定义的原理可以应用于其它示例中而不背离本公开的范围。因此,本公开不旨在限于本文所示的示例,而是被赋予与由所附权利要求限定的原理和新颖特征一致的最广范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1