行锤击缓解和目标行刷新中的差错校正的制作方法

文档序号:21413085发布日期:2020-07-07 15:38阅读:207来源:国知局
行锤击缓解和目标行刷新中的差错校正的制作方法

本公开大体上涉及存储器系统,且更具体来说,涉及将差错校正并入到行锤击缓解和目标行刷新操作中。



背景技术:

存储器装置广泛用于存储与例如计算机、无线通信装置、相机、数字显示器等各种电子装置有关的信息。存储器装置可为易失性或非易失性并且可具有各种类型,例如磁性硬盘、随机存取存储器(ram)、只读存储器(rom)、动态ram(dram)、同步动态ram(sdram)等。通过将存储器单元充电到具有不同状态来使信息存储于各种类型的ram中。改进ram存储器装置通常可包含增加存储器单元密度、增加读取/写入速度或以其它方式减少操作时延、增加可靠性、增加数据保持、减少功率消耗或减少制造成本等。



技术实现要素:

本公开的一方面涉及一种方法,其包括:起始对目标行的刷新操作,其中所述刷新操作包含从所述目标行读取一或多个码字;获得针对所述目标行的至少部分地基于差错检查和擦除(ecs)操作的第一跟踪数据;基于来自所述第一跟踪数据的与执行所述ecs操作所针对的码字相关的指示符,识别来自从所述目标行读取的所述一或多个码字的选定码字;对所述选定码字执行差错校正码(ecc)操作;和将所述选定码字写回到所述目标行。

在本公开的另一方面中,一种系统包括:存储器阵列;计数器存储元件;和错检查和擦除(ecs)引擎,其以通信方式耦合到所述存储器阵列,其中所述ecs引擎包括:刷新逻辑,其从所述存储器阵列的目标行读取一或多个码字并且将所述一或多个码字写回到所述存储器阵列;和ecs逻辑,其耦合到所述刷新逻辑,以进行以下操作:基于来自所述计数器存储元件的数据,识别来自从所述目标行读取的所述一或多个码字的选定码字;和对所述选定码字执行差错校正码(ecc)操作。

在本公开的又一方面中,一种系统包括:用于起始对目标行的刷新操作的装置,其中所述刷新操作包含从所述目标行读取一或多个码字;用于获得用于所述目标行的第一跟踪数据的装置;用于基于来自所述第一跟踪数据的与先前执行差错检查和擦除(ecs)所针对的码字相关的指示符,识别来自从所述目标行读取的所述一或多个码字的选定码字的装置;用于对所述选定码字执行差错校正码(ecc)操作的装置;和用于将至少所述选定码字写回到所述目标行的装置。

附图说明

根据下文提供的详细描述和本公开的各种实施例的附图将更加全面地理解本公开。

图1说明根据本发明技术的一实施例的示意性地说明存储器装置的简化框图。

图2是根据本公开的一些实施例的将部分差错检查和擦除(ecs)集成到刷新操作中的流程图。

图3是根据本公开的一些实施例的在刷新操作期间执行递增ecs的流程图。

图4是根据本公开的一些实施例的结合刷新操作进行操作的ecs引擎的概念图。

图5是根据本公开的一些实施例的示意性地说明实例存储器系统的简化框图。

图6是根据本公开的一些实施例的实例计算机系统的框图。

具体实施方式

公开用于存储器(例如,dram)的具有结合刷新操作的差错检查和擦除(ecs)程序的方法、系统和设备。所描述的ecs程序可用以缓解由行锤击现象或其它恶意存取或欠佳操作引起的问题。

借助于实例,例如dram的一些半导体存储器装置将信息作为累积于单元电容器(“单元”)中的电荷进行存储,其中单元组织成行。在一些情况下,应用于一个行中的单元的电荷可干扰一或多个邻近“受害”行中的电荷,或单元可以其它方式丢失其电荷,此事件被称为“泄漏”。泄漏的特定个例可当存储器行经历“行锤击”时发生,所述行锤击是当在短时间内(例如,在小于连续刷新操作之间的持续时间的持续时间内)将行反复驱动到激活电平且所述激活影响一或多个邻近受害行时发生。这可引起受害行中的单元电荷改变,从而将存储在此处的信息置于危险中。

各种存储器系统使用一或多个策略解决泄漏,例如行锤击缓解或目标行刷新(trr)。行锤击缓解可包含主机或控制器在随机或定期基础上对受害行自动执行刷新操作。在一些实施方案中,可基于例如温度(例如,较高温度通常保证更频繁的刷新操作)的存储器特性调整定期基础。目标行刷新可识别目标行,例如受害行,以基于可致使泄漏的邻近行活动进行刷新。举例来说,系统可保持刷新计数器,以当计数器在时间窗内达到阈值时刷新邻近行。因此,trr通过计数行激活的数目并且将其与最大阈值或最大窗阈值进行比较来识别可能的受害行。在一些实施方案中,可特定针对每个存储器单元来设置最大阈值或最大窗阈值。

由行锤击缓解、trr或其它情况触发的刷新操作可校正目标行中的泄漏,从而防止信息丢失。刷新操作感测或“读取”存储于存储器行中的信息并且将信息写回到相同行。更具体地,刷新操作感测行中的单元的电荷,将每个电荷解译为一或零,并且将对应于解译的值的电荷写回到每个单元。因此,刷新操作可通过在单元电荷降低到电荷电平不再对应于原始存储的位值的点之前更新所述单元电荷来帮助防止位差错。

然而,刷新操作不校正可在单元的电荷已改变到足以将电荷解译为差错值(即,单元的位已“翻转”)的程度的情况下发生的差错。差错校正码(ecc)可校正发现的单位翻转差错。然而,检查和校正这类差错(即,差错检查和擦除“ecs”)通常延迟到例如在读取操作期间存取存储器。此延迟可增加码字中的多于一个的位翻转的可能性,此差错状况可超过ecc的校正能力。另外,当存在差错时,校正过程可延迟读取或写入操作,从而致使存储器装置中的时延。

本公开的方面通过将差错检查和擦除(ecs)程序并入到刷新操作中来解决以上和其它缺陷。在刷新操作期间执行ecs操作提供在被另外位翻转复杂化之前发现单位翻转差错的较大机会。另外,在刷新期间校正位差错可减小必须在读取或写入操作期间执行差错校正的可能性,此时,由所述校正所导致的增加的时延可不利地影响存储器装置的性能。

在各种实施方案中,ecs可由具体指定的电路例如dram裸片上的ecs电路执行,或可由其它固件或软件,例如通过存储器装置上或存储器装置外部的控制器(例如cpu)执行的指令来执行。当起始刷新操作以致使存储器行中的码字读取到缓冲器中时,所公开的技术起始所感测的码字上的ecs程序。ecs可在刷新操作的感测部分期间继续检查和校正码字。当刷新的写入部分开始时,在数据写回到存储器行之前已校正发现具有差错的任何码字。

然而,在现有系统中,未必总是存在足以在刷新操作期间对整个存储器行执行ecs的时间。本公开的方面使并入到刷新操作中的ecs程序递增来解决此进一步的问题。用于行的递增ecs可跨多个刷新操作检查存储于行中的码字,在其中针对所述行的前一ecs停止处的码字处开始每个ecs。这可通过以下操作来实现:存储正在进行的递增ecs所针对的每个行的计数器,所述计数器指示在下一刷新期间ecs应在何处。

虽然递增ecs允许跨多个刷新操作的存储器行中的分布式码字校正,但并非所有存储器胞元同等地执行。因此,可通过对具有性能不佳单元的码字比对具有较高性能单元的码字更频繁地执行ecs来改进性能。当码字出错一次或大于阈值次数时,可用信号表示码字包含一或多个性能不佳单元,且因此应进行更频繁的检查。所公开的技术可以乱序(ooo)方式例如使用位掩码用于存储器行来跟踪待检查码字。在特定刷新操作,例如针对行的每四个刷新期间,可对针对ooo检查标记的下一码字而非由用于所述行的标准递增ecs的计数器指示的下一码字执行ecs。

图1是示意性地说明根据本发明技术的一实施例存储器装置100的框图。存储器装置100可包含存储器单元阵列,例如存储器阵列150。存储器阵列150可包含多个库(例如,在图1的实例中的库0-15),且每个库可包含多个字线(wl)、多个位线(bl),以及布置在字线与位线的交叉点处的多个存储器单元。字线wl的选择可由行解码器140执行,且位线bl的选择可由列解码器145执行。可为对应的位线bl提供感测放大器(samp),并将其连接到至少一个相应的本地i/o线对(liot/b),所述本地i/o线对随后可经由传输门(tg)耦合到至少一个相应的主i/o线对(miot/b),所述传输门可充当开关。

存储器装置100可采用包含耦合到命令总线和地址总线的命令和地址端子的多个外部端子,以分别接收命令信号cmd和地址信号addr。存储器装置可另外包含用于接收片选信号cs的片选端子、用于接收时钟信号ck和ckf的时钟端子、用于接收数据时钟信号wck和wckf的数据时钟端子、数据端子dq、rdqs、dbi和dmi、电源端子vdd、vss、vddq和vssq,以及裸片上终止端子odt。

可从外部向命令端子和地址端子供应地址信号和库地址信号。供应到地址端的地址信号和库地址信号可经由命令/地址输入电路105传送到地址解码器110。地址解码器110可接收地址信号并将经解码行地址信号(xadd)供应到行解码器140,并且将经解码列地址信号(yadd)供应到列解码器145。地址解码器110也可接收库地址信号(badd)并且将库地址信号供应到行解码器140和列解码器145两者。

可从存储器控制器向命令和地址端子供应命令信号cmd、地址信号addr和片选信号cs。命令信号可表示来自存储器控制器的各种存储器命令(例如,包含存取命令,所述存取命令可包含读取命令和写入命令)。选择信号cs可用于选择存储器装置100以对提供到命令和地址端子的命令和地址作出响应。当有源cs信号被提供到存储器装置100时,可对命令和地址进行解码,并且可执行存储器操作。可经由命令/地址输入电路105将命令信号cmd作为内部命令信号icmd提供到命令解码器115。命令解码器115可包含用于对内部命令信号icmd进行解码以产生用于执行存储器操作的各种内部信号和命令的电路,例如用于选择字线的行命令信号和用于选择位线的列命令信号。内部命令信号还可包含输出和输入激活命令,例如计时命令cmdck。

当发出读取命令并及时向行地址和列地址供应读取命令时,可从存储器阵列150中的由这些行地址和列地址指定的存储器单元读取读取数据。可由命令解码器115接收读取命令,所述命令解码器115可向输入/输出电路160提供内部命令,以使得可根据rdqs时钟信号经由读取/写入放大器155和输入/输出电路160从数据端子dq、rdqs、dbi和dmi输出读取数据。可在由可编程于存储器装置100中例如编程于模式寄存器(图1中未示出)中的读取时延信息rl定义的时间处提供读取数据。可依据ck时钟信号的时钟循环定义读取时延信息rl。举例来说,读取时延信息rl可为当提供相关联读取数据时在读取命令被存储器装置100接收之后的ck信号的时钟循环的数目。

当发出写入命令并及时向行地址和列地址供应所述命令时,可根据wck和wckf时钟信号将写入数据供应到数据端子dq、dbi和dmi。写入命令可由命令解码器115接收,所述命令解码器115可将内部命令提供到输入/输出电路160,以使得写入数据可由输入/输出电路160中的数据接收器接收,且经由输入/输出电路160和读取/写入放大器155供应到存储器阵列150。写入数据可写入由行地址和列地址指定的存储器单元中。可在由写入时延wl信息定义的时间向数据端子提供写入数据。写入时延wl信息可编程于存储器装置100中,例如编程于模式寄存器(图1中未示出)中。可依据ck时钟信号的时钟循环定义写入时延wl信息。举例来说,写入时延信息wl可为当接收到相关联写入数据时在写入命令被存储器装置100接收之后的ck信号的时钟循环的数目。

可向电源端子供应电源电势vdd和vss。这些电源电势vdd和vss可供应到内部电压产生器电路170。内部电压产生器电路170可基于电源电势vdd和vss而产生各种内部电势vpp、vod、vary、vperi等等。内部电势vpp可在行解码器140中使用,内部电势vod和vary可在存储器阵列150中包含的感测放大器中使用,且内部电势vperi可在许多其它电路块中使用。

还可向电源端子供应电源电势vddq。电源电势vddq可与电源电势vss一起供应到输入/输出电路160。在本发明技术的实施例中,电源电势vddq可为与电源电势vdd相同的电势。在本发明技术的另一个实施例中,电源电势vddq可为与电源电势vdd不同的电势。然而,可针对输入/输出电路160使用专用电源电势vddq,以使得由输入/输出电路160产生的电源噪声不会传播到其它电路块。

可向裸片上终止端子供应裸片上终止信号odt。裸片上终止信号odt可供应给输入/输出电路160以指示存储器装置100进入裸片上终止模式(例如,直存储器装置100的其它端子中的一或多个处提供预定数目的阻抗电平中的一个)。

可向时钟端子和数据时钟端子供应外部时钟信号和互补外部时钟信号。外部时钟信号ck、ckf、wck、wckf可供应到时钟输入电路120。ck和ckf信号可互补,且wck和wckf信号也可互补。互补时钟信号可同时具有相对的时钟级和相对的时钟级之间的转变。举例来说,当时钟信号处于低时钟级时,互补时钟信号处于高级,且当时钟信号处于高时钟级时,互补时钟信号处于低时钟级。此外,当时钟信号从低时钟级转变到高时钟级时,互补时钟信号从高时钟级转变到低时钟级,并且当时钟信号从高时钟级转变到低时钟级时,互补时钟信号从低时钟级转变到高时钟级。

时钟输入电路120中包含的输入缓冲器可接收外部时钟信号。举例来说,当通过来自命令解码器115的cke信号启用时,输入缓冲器可接收ck和ckf信号以及wck和wckf信号。时钟输入电路120可接收外部时钟信号以产生内部时钟信号iclk。内部时钟信号iclk可供应到内部时钟电路130。内部时钟电路130可基于所接收到的内部时钟信号iclk和来自命令/地址输入电路105的时钟启动信号cke提供各种相位和频率受控制的内部时钟信号。举例来说,内部时钟电路130可包含接收内部时钟信号iclk且将各种时钟信号提供到命令解码器115的时钟路径(图1中未示出)。内部时钟电路130可进一步提供输入/输出(io)时钟信号。io时钟信号可供应到输入/输出电路160,并且可用作用于确定读取数据的输出定时和写入数据的输入定时的定时信号。可以多个时钟频率提供io时钟信号,以使得可以不同数据速率从存储器装置100输出数据和将数据输入到存储器装置100。当期望高存储器速度时,较高时钟频率可为合意的。当期望较低电力消耗时,较低时钟频率可为合意的。内部时钟信号iclk还可供应到定时产生器135,并因此可产生各种内部时钟信号。

例如图1的存储器装置100的存储器装置可被配置成响应于从连接的主机装置或存储器控制器接收的命令,对存储器阵列150的部分执行刷新操作。存储器装置100可(例如,在地址指针中)跟踪执行刷新操作所处的存储器阵列150的地址,并且可(例如,在库计数器中)进一步跟踪在最新地址处执行的刷新操作的数目。

如上文所阐述,泄漏效应可使存储于存储器阵列150中的信息降级。行锤击缓解或目标行刷新操作可触发有助于防止信息降级的刷新操作。然而,这类刷新操作无法独自校正已经在存储器阵列中致使位翻转的降级。因此,在本公开的各种实施例中,在执行刷新操作时,对正被刷新的行中的码字的至少一部分进行ecs操作。可通过跟踪在前一刷新操作中停止ecs所在的位置的一或多个特定于行的计数器来控制行中的哪些码字接收ecs操作。在一些实施方案中,选择要校正的码字可进一步基于针对此刷新操作的ecs是否已经被指定用于无序码字校正。

图2是根据本发明技术的一些实施方案的将部分差错检查和擦除(ecs)集成到刷新操作中的实例方法200的流程图。方法200可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,所说明的实施例应仅理解为实例,且所说明的过程可以不同次序执行,且一些过程可并行地执行。另外,可在各种实施例中省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流也是可能的。

在框202处,方法200可检测用于校正可能的电荷差错的刷新条件。在各种实施方案中,检测刷新条件可执行行锤击缓解或目标行刷新(trr)。行锤击缓解可在定期或随机基础上选择要刷新的行。可依序选择要刷新的行。trr可保持总行存取或时间窗内的存取的计数中的一个或两个。当所述计数中的一个超过对应阈值时,可用信号发送刷新条件。

在框204处,方法200可识别执行刷新所针对的一或多个目标行。当刷新条件是trr计数超过特定行的阈值时,目标行可为特定行的一侧或两侧的一或多个受害行。当刷新条件是行锤击缓解时,目标行可为依序选择的或可为邻近特定行的一或多个受害行。

在框206处,方法200可将在框204处选择的行的下一目标行设置为当前目标行。如果这是在方法200的此调用中第一次到达框206,那么可将来自在框204处选择的一或多个行的第一行设置为当前目标行。

在框208处,方法200可开始对当前目标行的刷新操作。开始刷新操作可包含从当前目标行读取待写回到当前目标行的码字。

在框210处,方法200可对被感测为在框208处开始的刷新操作的部分的码字执行差错检查和擦除(ecs)操作。方法200可对尽可能多的码字执行ecs直到刷新操作准备好将数据写回到目标行为止。在各种实施方案中,此尽可能多的码字可为设定量或可变量的码字,取决于所实施的技术是否使用恒定量的时钟循环执行刷新并且使用恒定量的时钟循环对码字执行ecs。在任一情况下,方法200可使用计数器规定行中的哪个码字最后接受ecs。每当方法200针对相同目标行到达框200时,可使用计数器确定从哪个码字开始ecs,因此跨刷新操作提供递增ecs。在一些实施方案中,可针对未来无序(ooo)ecs标记在过去已经校正的码字。举例来说,方法200可每五次针对特定目标行运行ecs,选择标记ooo的码字中的一个,这可用第二计数器进行跟踪。下文关于图3提供关于在刷新操作期间执行递增ecs的额外细节。

在框212处,方法200可确定在框206-210中是否已经刷新在框204处选择的所有目标行。如果是,方法200可在框214处返回到检查刷新条件,这可致使方法200的下一调用。如果否,那么方法200可继续回到框206以将下一目标行设置为当前目标行。

图3是根据本发明技术的一些实施方案的在刷新操作期间执行递增ecs的方法300流程图。在一些实施方案中,方法300可执行为框210的子过程。方法300可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,所说明的实施例应仅理解为实例,且所说明的过程可以不同次序执行,且一些过程可并行地执行。另外,可在各种实施例中省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流也是可能的。

在框302处,方法300可获得用于当前目标行的ecs跟踪数据。ecs跟踪数据可包含在针对当前目标行的方法300的前一重复中最后检查哪个码字的差错的指示符。如果未设置这类指示符,那么方法300可设置用于当前目标行的第一码字的指示符。

在一些情况下,码字中的单元与其它单元相比可更倾向于发生泄漏差错。举例来说,单元可更容易发生锤击或具有较低电荷保持时间。当码字包含这类低性能单元时,这类低性能单元更有可能具有差错。因此,可有利的是对这类码字比对不具有低性能单元的码字更频繁地执行ecs。对这类码字更频繁地执行ecs在本文中被称作无序(ooo)执行ecs。在执行oooecs的实施方案中,获得的ecs跟踪数据可包含已经针对oooecs识别的当前目标行中的码字的列表(例如,识别符、行中的码字的位掩码等的列表)。

在框304处,方法300可选择如由来自框302的ecs跟踪数据指示的进行ecs的下一码字。在不实施oooecs或在到达框304的此个例中不使用ooo列表的实施方案中,下一码字可为由ecs跟踪数据指示符指示的码字。在实施oooecs的实施方案中,方法300可首先确定方法300的此重复是执行其中所有行码字符合ecs的条件的的有序ecs,还是执行其中仅ecs跟踪数据中的ooo列表上的码字符合ecs的条件的oooecs。在各种实施方案中,是否从ooo列表中选择的此确定可针对方法300的整个调用进行或针对框304-310之间的循环的每个重复进行。在一些实施例中,此确定可为定期选择,例如决定每三个个例从ooo列表中进行选择。当确定的结果是从ooo列表中选择时,下一码字可为由特定于oooecs列表的指示符指示的码字。

在框306处,方法300可针对在框304处选择的码字执行ecs。ecs可由具体指定的芯片例如dram裸片上的ecs芯片执行,或可由其它固件或软件,例如通过存储器装置上或存储器装置外部的控制器(例如cpu)执行的指令来执行。ecs可使用差错校正码,例如单差错校正(sec)或单差错校正和双差错检测(secded),以识别和校正选定码字中的差错。经校正码字可包含在从刷新读取部分存储的数据中,因此写回的是经校正版本而非最初感测到的数据。

在框308处,方法300可更新用于当前目标行的ecs跟踪数据。在不实施oooecs或在到达框308的此个例中不使用ooo列表的实施方案中,更新可包含使ecs跟踪数据指示符递增以指示当前目标行中的下一码字。

在实施oooecs的实施方案中,且如果需要在框306处校正码字,那么更新可包含将所述码字添加到ooo列表(例如,将所述码字的位掩码中的位设置为1)。在一些实施方案中,码字可仅在到达306的各个个例处已经校正阈值次数的情况下添加到ooo列表。同样在实施oooecs且其中方法300使用ooo列表用于框306处的ecs操作的实施方案中,方法300可使特定于ooo列表的ecs跟踪数据指示符递增以指示ooo列表上的下一码字。

如在框310处所指示,对感测到的码字执行ecs的框304-308中的过程可重复,直到刷新操作的读取部分完成。这可为基于存储器装置的配置(例如需要执行刷新操作的读取部分的时钟循环的数目)的设定时间量。刷新操作方法300的读取部分可在框312处返回以完成刷新操作的剩余部分。

图4是根据本公开的一些实施例的结合刷新操作进行操作的ecs引擎的实例概念图400。图4说明具有行404-410、列1-7(每个列对应于存储器行中的码字,例如码字424和426)以及列412、414和415中的相关联ecs跟踪数据的实例dram。ecs跟踪数据示出为与对应码字物理上位于相同行上,这仅为了说明行与所述ecs跟踪数据之间的关联。实际上,ecs跟踪数据可存储于存储器芯片的存储器阵列中,存储器芯片上的其它处,或存储器外部的其它存储装置中。另外,虽然列412和414中示出的值表示为整数,但可使用其它表示。举例来说,代替行414中的整数的列表,ooo列表可表示为具有对应于存储器中的每个码字列的一个位的位掩码,其中位设置为1指示对应码字在ooo列表上。

图4还说明接收在刷新操作期间感测的码字中的一些并且对其执行ecs的ecs引擎420。ecs引擎420包含用于确定是有序还是无序执行ecs的逻辑417、码字选择器416和418,以及用于对所选码字执行ecs的ecs组件422。ecs组件422可为dram裸片上的ecs芯片或可为通过固件或软件,例如通过存储器装置上或存储器装置外部的控制器(例如cpu)执行的指令来实施的模块。

图4中的实例当行402已归因于高于时间窗内的阈值存取数目而被trr过程识别时开始。图4中的系统被配置成将trr行402的任一侧的两个邻近受害行识别为目标行。在此情况下,受害行是行404-410。实例400说明用于在刷新操作期间对受害行408执行ecs的过程。

在步骤450处,如刷新操作中的初始步骤所感测的信息提供给ecs引擎420。在步骤452处,ecs引擎的ooo逻辑417确定在此重复中,行408不应选择ooo码字,这是因为在此实例中,在ecs的每四个个例中执行oooecs,且这是相对于行408执行ecs的第三个例(两个个例已针对前一刷新操作发生,这在未示出的ecs跟踪数据中进行跟踪)。

在步骤454处,码字选择器416选择如由ecs跟踪数据指示的下一有序码字。在此情况下,行408的有序计数器412指示下一码字是列1中的码字424。因此,码字424传到ecs组件422。此外,可通过使行408的有序计数器412递增以指示列2来更新行408的ecs跟踪数据。

在步骤456处,ecs组件422对码字424执行ecs,以确定是否存在任何差错,且如果是,那么校正差错。在实例400中,将码字添加到ooo列表的阈值是一。因此,如果找到任何差错,那么ecs引擎420通过更新行408的ooo列表414以包含对应于码字424的列1的指示,使码字424作为oooecs的候选。

在步骤458处,ecs引擎420可返回经校正码字424。在460处,经校正码字可在刷新数据写回到行408之前并入到所述刷新数据中。

在步骤462处,刷新操作仍感测来自行408的码字且ecs引擎具有对另一码字执行ecs的时间。因此,在步骤464处,ecs引擎的ooo逻辑417确定在此重复中,行408应选择ooo码字,这是因为这是相对于行408执行ecs的第四个例。

在步骤466处,码字选择器418选择如由ecs跟踪数据指示的下一ooo码字。在此情况下,行408的ooo计数器415指示下一码字是列3中的码字426。因此,码字426传到ecs组件422。此外,可通过设置行408的计数器415以指示行408(在此情况下是针对列5)的ooo列表414上的下一码字来更新行408的ecs跟踪数据。

在步骤468处,ecs组件422对码字426执行ecs,以确定是否存在任何差错,且如果是,那么校正差错。在步骤470处,ecs引擎420可返回经校正码字426。在472处,经校正码字可在刷新数据写回到行408之前并入到所述刷新数据中。

当刷新操作准备好将数据写回到行408时,在写回的数据中并入对ecs引擎420具有时间执行ecs所针对的码字424、426作出的任何校正和用于任何其它码字的校正。实例400将对其它受害行404、406和410执行具有ecs操作的类似刷新。

图5是根据根据本发明技术的一实施例的示意性地说明存储器系统500的简化框图。存储器系统500包含以可操作方式耦合到存储器模块520(例如,双列直插式存储器模块(dimm))的主机装置510。存储器模块520可包含通过总线540可操作地连接到多个存储器装置550的控制器电路530。根据本公开的一个方面,主机装置510可维持库计数器跟踪刷新操作(例如,不涉及行锤击缓解的刷新操作的子集)。根据本公开的另一方面,主机装置510可根据刷新安排、响应于存储器装置处检测到的活动或这两者来对存储器装置550执行刷新操作。根据本公开的又一方面,在执行刷新操作期间,主机装置510、控制电路530或其它ecs电路或芯片(未示出)可对根据ecs跟踪数据选择的、在刷新期间感测的一或多个码字执行ecs。

图6说明计算机系统600的实例机器,可执行所述计算机系统600内的用于致使所述机器执行本文中所论述的方法中的任一种或多种方法的指令集。在替代性实施例中,机器可连接(例如,网络连接)到lan、内联网、外联网或互联网中的其它机器。所述机器可作为对等(或分散式)网络环境中的对等机器,或作为云计算基础设施或环境中的服务器或客户端机器,在客户端-服务器网络环境中的服务器或客户端机器的能力内操作。

所述机器可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂巢式电话、网络器具、服务器、网络路由器、交换机或桥接器,或能够执行(依序或以其它方式)指定将由所述机器采取的动作的一组指令的任何机器。另外,虽然仅说明单个机器,但还应采用术语“机器”以包含机器的任何集合,所述机器的集合单独地或共同地执行一个(或多个)指令集合以执行本文论述的方法中的任一种或多种方法。

实例计算机系统600包含处理装置602、主存储器604(例如,只读存储器(rom)、闪存存储器、动态随机存取存储器(dram)例如同步dram(sdram)或rambusdram(rdram)等)、静态存储器606(例如,闪存存储器、静态随机存取存储器(sram)等),以及数据存储系统618,其经由总线630彼此通信。

处理装置602表示一或多个通用处理装置,例如微处理器、中央处理单元等。更特定地说,处理装置可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器,或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置602也可为一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。处理装置602被配置成执行指令626以用于执行本文中所论述的操作和步骤。计算机系统600可另外包含网络接口装置608以在网络620上通信。

数据存储系统618可包含机器可读存储媒体624(也称为计算机可读媒体),其上存储有一或多个指令集626或体现本文中所描述的方法或功能中的任一或多种的软件。指令626还可在由计算机系统600执行期间完全或至少部分地驻存在主存储器604内和/或处理装置602内,主存储器604和处理装置602也构成机器可读存储媒体。

虽然在实例实施例中,机器可读存储媒体624示出为单个媒体,但术语“机器可读存储媒体”应被认为包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的指令集合且致使机器执行本公开的方法中的任一种或多种的任何媒体。术语“机器可读存储媒体”因此应被视为包含但不限于固态存储器、光学媒体和磁性媒体。

关于计算机存储器内的数据位的操作的算法和符号表示呈现先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给本领域的其它技术人员的方式。算法在这里并且通常被认为是产生期望的结果的操作的自洽序列。操作是需要物理操控物理量的那些操作。通常但未必,这些量呈能够被存储、组合、比较和以其它方式操控的电或磁信号的形式。有时,主要出于通用的原因,已经证明将这些信号称为位、值、元件、符号、字符、项、数字等是方便的。

然而,应牢记,所有这些和类似术语与适当物理量相关联,且仅为应用于这些量的方便的标签。本公开可以指计算机系统或类似电子计算装置的动作和过程,所述动作和过程操控计算机系统的寄存器和存储器内的表示为物理(电子)数量的数据并且变换为计算机系统存储器或寄存器或其它这类信息存储系统内的类似地表示为物理量的其它数据。

本公开还涉及用于执行本文中的操作的设备。此设备可以出于所需目的而专门构造,或其可以包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可存储在计算机可读存储媒体中,例如但不限于任何类型的盘,包含软盘、光盘、cd-rom和磁光盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡,或适合于存储电子指令的任何类型的媒体,其分别耦合到计算机系统总线。

本文中呈现的算法和显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可以与根据本文中的教示的程序一起使用,或可以证明构造用以执行所述方法更加专用的设备是方便的。将从下文描述中呈现用于各种这些系统的结构。此外,并不参考任何特定编程语言来描述本公开。应了解,可以使用各种编程语言来实施如本文所描述的本公开的教示内容。

本公开可提供为计算机程序产品或软件,其可包含在其上存储有可用以编程计算机系统(或其它电子装置)以执行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机构。在一些实施例中,机器可读(例如计算机可读)媒体包含机器(例如计算机)可读存储媒体,例如只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储媒体、光学存储媒体、闪存存储器组件等。

在前述说明书中,本公开的实施例已经参考其特定实例实施例进行描述。将显而易见的是,可在不脱离所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对其进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和图式。

所属领域的技术人员应了解,可以多种方式更改上文所描述的图1-6中所说明的组件和框。举例来说,可重新布置逻辑的次序,可并行地执行子步骤,可省略所说明的逻辑,可包含其它逻辑等。在一些实施方案中,上文所描述的组件中的一或多个可执行下文描述的过程中的一或多个。

在本说明书中对“实施方案”(例如“一些实施方案”、“各个实施方案”、“一个实施方案”、“一实施方案”等)的提及意指结合实施方案描述的特定特征、结构或特性包含在本公开的至少一个实施方案中。这些短语在说明书中的各个位置的出现未必全部指代同一实施方案,也不是与其它实施方案互斥的单独或替代性实施方案。此外,描述了各种特征,这些特征可以通过一些实施方案而不通过其它实施方案呈现。类似地,描述了各种要求,这些要求可以是对于一些实施方案的要求而非对于其它实施方案的要求。

如本文中所使用,高于阈值意指处于比较中的项的值高于指定的另一值,处于比较中的项在具有最大值的某一指定数目的项当中,或处于比较中的项具有指定的顶部百分比值内的值。如本文中所使用,低于阈值意指处于比较中的项的值低于指定的另一值,处于比较中的项在具有最小值的某一指定数目的项当中,或处于比较中的项具有指定的底部百分比值内的值。如本文中所使用,在阈值内意指处于比较中的项的值介于两个指定其它值之间,处于比较中的项在中间指定数目的项当中,或处于比较中的项具有中间指定的百分比范围内的值。例如高或不重要等相对术语当不以其它方式定义时可理解为指配一个值并确定所述值将如何与确立的阈值进行比较。举例来说,短语“选择快速连接”可理解为意指选择具有对应于其连接速度所指配的高于阈值的值的连接。

如本文中所使用,词语“或”是指一组项的任何可能的排列。举例来说,短语“a、b或c”是指a、b、c中的至少一个,或其任何组合,例如以下中的任一个:a;b;c;a和b;a和c;b和c;a、b和c;或例如a和a;b、b和c;a、a、b、c和c的任何项的倍数;等。

上文提到的任何专利、专利申请案以及其它参考文献以引用的方式并入本文中。必要时,可修改方面,以采用上文所描述的各个参考文献的系统、功能和概念提供其它的进一步实施方案。如果以引用方式并入的文献中的陈述或标的物与本申请案的陈述或标的物冲突,那么本申请案应起主导作用。

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