执行失效转移的存储器系统的制作方法

文档序号:23806625发布日期:2021-02-03 11:48阅读:124来源:国知局
执行失效转移的存储器系统的制作方法
执行失效转移的存储器系统
[0001]
相关申请的交叉引用
[0002]
本申请要求于2019年7月24日在韩国知识产权局提交的韩国专利申请no.10-2019-0089434的优先权,其公开内容通过引用整体并入本文中。
技术领域
[0003]
本发明构思涉及存储器系统。


背景技术:

[0004]
即使当外部电源中断时,非易失性存储器设备也可以保留被存储在非易失性存储器设备中的数据。例如,闪存设备是可以电执行编程操作和擦除操作的非易失性存储器设备。闪存设备可以被分类为nand型闪存或nor型闪存。
[0005]
易失性存储器使用恒定电源来保持所存储的信息。通用的大多数随机存取存储器(ram)(包括动态ram(dram)和静态ram(sram))都是易失性存储器。
[0006]
由于用于诸如dram、sram和闪存之类的存储器设备的微加工工艺,存储器设备中包括的有缺陷的存储器单元的数量呈指数增长。


技术实现要素:

[0007]
本发明构思的一个方面是提供能够在出现不可纠正纠错码(uecc)之前执行失效转移(failover)功能的存储器系统。
[0008]
根据本发明构思的一个方面,存储器系统包括:多个存储器设备,多个存储器设备中的每一个存储器设备包括多个存储器单元,并且多个存储器设备中的至少一个存储器设备包括备份区域;以及,存储器控制器,被配置为:响应于多个选定的存储器单元中的至少一个选定的存储器单元中出现可纠正纠错码(cecc),将要被存储在多个选定的存储器单元中的数据存储在多个选定的存储器单元和备份区域中,多个选定的存储器单元连接到多个存储器设备之中的选定的存储器设备的选定的字线,以及,用与多个存储器单元之中的多个冗余存储器单元连接的冗余字线来替换选定的字线。
[0009]
根据本发明构思的一个方面,存储器系统包括:多个存储器设备,多个存储器设备中的每一个存储器设备包括多个存储器单元,并且多个存储器设备中的至少一个存储器设备包括备份区域;以及,存储器控制器,被配置为:响应于多个存储器设备之中的选定的存储器设备的第一区域具有高访问计数,将要被存储在多个选定的存储器单元中的数据存储在选定的字线和备份区域中的每一个中,多个选定的存储器单元连接到选定的字线,选定的字线包括在第一区域中,以及,用与多个存储器单元中的多个冗余存储器单元连接的冗余字线来替换选定的字线。
[0010]
根据本发明构思的一个方面,存储器系统包括:存储器模块,包括:被分类为第一等级的存储器设备的多个第一存储器设备;以及,被分类为第二等级的存储器设备的多个第二存储器设备;以及存储器控制器,被配置为:同时激活第一芯片选择信号和第二芯片选
择信号以将数据写入到存储器模块,第一芯片选择信号被配置为选择和控制第一等级的存储器设备,并且第二芯片选择信号被配置为选择和控制第二等级的存储器设备。
附图说明
[0011]
根据结合附图给出的以下详细描述,将更清楚地理解本公开的上述和其他方面、特征和其他优点,在附图中:
[0012]
图1是示出了根据本公开的示例实施例的存储器系统的示意框图;
[0013]
图2是示出了根据本公开的示例实施例的包括第一存储器模块110和存储器控制器130的存储器系统的示意框图;
[0014]
图3是示出了根据本公开的示例实施例的存储器设备的结构的示意图;
[0015]
图4是示出了根据本公开的示例实施例的存储体的示意框图;
[0016]
图5是示出了根据本公开的示例实施例的存储器设备中包括的存储体阵列的图;
[0017]
图6是示出了根据本公开的示例实施例的基于命中计数将数据存储在备份区域br中的存储器系统的操作的流程图;
[0018]
图7a至图7c是示出了根据本公开的示例实施例的执行图6的操作的存储器系统的示意图,该存储器系统具有在单个存储体中的激活区域ar和备份区域br;
[0019]
图8a至图8c是示出了根据本公开的示例实施例的执行图6的操作的存储器系统的示意图,该存储器系统具有在不同存储体中的激活区域ar和备份区域br;
[0020]
图9是示出了根据本公开的示例实施例的基于cecc出现计数将数据存储在备份区域br中的存储器系统的操作的流程图;
[0021]
图10a至图10c是示出了根据本公开的示例实施例的执行图9的操作的存储器系统的示意图,该存储器系统具有在单个存储体中的被连接到有缺陷的存储器单元的字线ewl和备份区域br;
[0022]
图11a至图11c是示出了根据本公开的示例实施例的执行图9的操作的存储器系统的示意图,该存储器系统具有在不同存储体中的被连接到有缺陷的存储器单元的字线ewl和备份区域br;
[0023]
图12是示出了根据本公开的示例实施例的具有不同等级的存储器设备的存储器系统的操作的流程图;
[0024]
图13a至图13c是示出了根据本公开的示例实施例的执行图12的操作的存储器系统的示意图;以及
[0025]
图14是示出了包括根据示例实施例的存储器设备的电子设备的示意框图。
具体实施方式
[0026]
在下文中,将参考附图详细描述本发明构思的一些示例实施例。
[0027]
图1是示出了根据本公开的示例实施例的存储器系统的示意框图。
[0028]
参考图1,存储器系统100包括第一存储器模块110、存储器控制器200和/或第二存储器模块300。第一存储器模块110、存储器控制器200和第二存储器模块300可以被集成到单个半导体设备中。例如,第一存储器模块110、存储器控制器200和第二存储器模块300可以被集成到单个半导体设备中以形成固态驱动器(ssd)。
[0029]
第一存储器模块110可以包括易失性存储器(例如,动态随机存取存储器(dram)、同步dram(sdram)、双倍数据速率(ddr)sdram、低功率ddr(lpddr)sdram、sram等)和/或非易失性存储器(例如,fram、reram、stt-mram、pram等)。第一存储器模块110可以用作缓冲存储器,用于临时存储从主机接收的数据和/或从第二存储器模块300接收的数据。根据实施例,第一存储器模块110可以用于存储映射表,该映射表用于将由主机查看的逻辑地址转换成闪存的物理地址。
[0030]
第二存储器模块300可以被实现为非易失性存储器,例如电可擦除可编程rom(eeprom)、nand闪存、nor闪存、相变ram(pram)、电阻式ram(reram)、铁电式ram(fram)、自旋扭矩磁性ram(stt-mram)等。
[0031]
存储器控制器200可以包括dram控制器210、主机控制器220、非易失性存储器(nvm)控制器230、纠错码(ecc)引擎240、中央处理单元(cpu)250和/或sram 260。根据一些示例实施例,dram控制器210、主机控制器220、非易失性存储器控制器230、ecc引擎240和/或cpu 250可以彼此通信和/或与sram 260通信(例如,经由总线)。
[0032]
dram控制器210可以控制第一存储器模块110的读取操作和/或写入操作。例如,dram控制器210可以将写入数据和/或读取数据临时存储在第一存储器模块110中。
[0033]
主机控制器220可以处理从主机接收的读取命令和/或写入命令。主机控制器220可以提供接口,以用于在cpu 250的控制下在主机和cpu 250之间实现通信。例如,该接口可以是高级技术附件(ata)接口、串行ata接口、并行ata接口和/或小型计算机系统接口(scsi)接口。
[0034]
非易失性存储器控制器230可以控制第二存储器模块300的读取操作和写入操作。
[0035]
ecc引擎240可以包括ecc编码器和/或ecc解码器。ecc编码器可以对要在第二存储器模块300中编程的数据执行纠错编码,并且可以形成添加了校验位的数据。校验位可以存储在第二存储器模块300中。此外,ecc解码器可以对从第二存储器模块300读取的数据执行纠错解码。ecc解码器可以确定纠错解码是否成功,并且可以根据确定结果输出指示信号。ecc解码器可以使用在ecc编码期间生成的校验位来纠正数据的错误比特。
[0036]
cpu 250可以解释进入命令队列的多个主机命令,以通过非易失性存储器控制器230从第二存储器模块300读取数据和/或将数据写入到第二存储器模块300。
[0037]
sram260可以用于存储在cpu上进行固件执行的代码和数据。根据一些示例实施例,本文描述为由存储器系统100、存储器控制器200、dram控制器210、主机控制器220、非易失性存储器控制器230、纠错码(ecc)引擎240、ecc编码器和/或ecc解码器执行的操作可以由处理电路执行。如本公开中所使用的术语“处理电路”可以指代例如硬件,包括逻辑电路;硬件/软件组合,例如执行软件(例如,存储在sram260中的软件)的处理器;或它们的组合。例如,处理电路更具体地可以包括但不限于中央处理单元(cpu)(例如,cpu 250)、算术逻辑单元(alu)、数字信号处理器、微型计算机、现场可编程门阵列(fpga)、片上系统(soc)、可编程逻辑单元、微处理器、专用集成电路(asic)等。
[0038]
根据本公开的实施例,ecc引擎240可以在第一存储器模块110中包括的存储器区域中检测可纠正纠错码(cecc)的出现。cecc可以指代单个比特错误。存储器控制器200可以纠正其中出现cecc的数据。
[0039]
然而,由于用于dram的微加工工艺,不可纠正纠错码(uecc)可以出现在第一存储
器模块110中包括的存储器区域中。备选地,在第一存储器模块110中,其中已经出现cecc的存储器区域可以影响引起uecc的外围存储器区域。uecc可以指代多比特错误。常规的存储器控制器无法恢复其中出现uecc的数据,从而导致对应的常规存储器系统中的可靠性不足。
[0040]
然而,根据本公开的实施例,第一存储器模块110中包括的多个存储器设备中的至少一个存储器设备可以包括备份区域。存储器控制器200可以确定出现不可纠正的错误(例如,uecc)的可能性很高的存储器区域。存储器控制器200可以将要被存储在所确定的存储器区域中的数据存储在所确定的存储器区域和备份区域的每一个区域中。因此,即使当存储器区域中出现uecc时,存储器控制器200也可以使用存储在备份区域中的数据来执行失效转移功能,从而减轻或减少由于uecc引起的数据丢失并提高存储器系统的可靠性。
[0041]
此外,当将数据写入到所确定的存储器区域时,也将该数据写入到备份区域中,由此可以及时执行失效转移功能。即,可以在不停止存储器系统100的操作的情况下执行失效转移功能。因此,可以增加平均故障间隔时间(mtbf),并且可以提高存储器系统100的可靠性。
[0042]
图2是示出了根据本公开的示例实施例的包括第一存储器模块110和存储器控制器130的存储器系统400的示意框图。
[0043]
参考图2,存储器系统400包括第一存储器模块110和/或存储器控制器130。第一存储器模块110可以包括被配置为多个等级的第一存储器设备110-1至110-4(例如,第一存储器设备110-1、第一存储器设备110-2、第一存储器设备110-3和第一存储器设备110-4)和第二存储器设备120-1至120-4(例如,第二存储器设备120-1、第二存储器设备120-2、第二存储器设备120-3和第二存储器设备120-4)。根据一些示例实施例,本文描述为由存储器控制器130执行的操作可以由处理电路执行。根据一些示例实施例,存储器控制器130可以与存储器控制器200相同或相似。
[0044]
存储器设备110-1至110-4和存储器设备120-1至120-4可以包括被分类为第一等级rank0的第一存储器设备110-1至110-4和被分类为第二等级rank1的第二存储器设备120-1至120-4。存储器设备110-1至110-4和存储器设备120-1至120-4中的每一个存储器设备可以包括至少一个存储体bank。
[0045]
根据实施例,第一存储器设备110-1至110-4中的至少一个存储器设备和第二存储器设备120-1至120-4中的至少一个存储器设备可以包括在单个存储器封装中。例如,第一存储器设备110-1至110-4中的第一存储器设备110-1和第二存储器设备120-1至120-4中的第二存储器设备120-1可以包括在第一存储器封装中。
[0046]
按照相同的原理,第一存储器设备110-2和第二存储器设备120-2可以包括在第二存储器封装中,第一存储器设备110-3和第二存储器设备120-3可以包括在第三存储器设备中,并且第一存储器设备110-4和第二存储器设备120-4可以包括在第四存储器封装中。
[0047]
存储器控制器130可以输出第一芯片选择信号cs0和/或第二芯片选择信号cs1。存储器控制器130可以激活第一芯片选择信号cs0以选择第一存储器设备110-1至110-4。存储器控制器130可以激活第二芯片选择信号cs1以选择第二存储器设备120-1至120-4。根据一些示例实施例,存储器控制器130可以生成第一芯片选择信号cs0和/或第二芯片选择信号cs1。
[0048]
在一些实施例中,存储器控制器130可以将数据写入到第一存储器设备110-1至110-4。存储器控制器130可以激活第一芯片选择信号cs0以选择第一存储器设备110-1至110-4。在这种情况下,第二芯片选择信号cs1可以不被激活。例如,第一芯片选择信号cs0可以在其处于低态(例如,逻辑低)时被激活,而第二芯片选择信号cs1可以在其处于高态(例如,逻辑高)时不被激活。
[0049]
在一些实施例中,存储器控制器130可以将数据写入到第二存储器设备120-1至120-4。存储器控制器130可以激活第二芯片选择信号cs1以选择第二存储器设备120-1至120-4。在这种情况下,第一芯片选择信号cs0可以不被激活。例如,第二芯片选择信号cs1可以在其处于低态时被激活,而第一芯片选择信号cs0可以在其处于高态时不被激活。
[0050]
根据本公开的实施例,存储器设备110-1至110-4和/或存储器设备120-1至120-4中的至少一个存储器设备可以包括备份区域。存储器系统400(例如,存储器控制器130)可以确定存储器设备110-1至110-4和存储器设备120-1至120-4中的有很高的可能性出现不可纠正的错误的存储器区域。
[0051]
当要将数据写入到存储器区域时,存储器系统400(例如,存储器控制器130)可以将数据写入到存储器区域和备份区域中的每一个区域中。因此,存储器系统400(例如,存储器控制器130)可以使用在存储器区域中出现uecc之前存储在备份区域中的数据来执行失效转移功能。
[0052]
图3是示出了根据本公开的示例实施例的存储器设备的结构的示意图。参考图3,根据本公开的示例实施例的存储器设备110-1包括存储体60和/或逻辑电路70。存储体60可以包括具有多个存储器单元的存储体阵列61(例如,第一存储体阵列)、行解码器62、列解码器63和/或读出放大器(sa)64。在实施例中,第一存储器设备110-1可以包括多个存储体60。根据一些示例实施例,多个存储体60中的每一个存储体可以包括可以与存储体阵列61相同或相似的相应的存储体阵列(例如,第二存储体阵列、第三存储体阵列、第四存储体阵列、第五存储体阵列、第六存储体阵列、第七存储体阵列和/或第八存储体阵列)。
[0053]
第一存储器设备110-1中包括的多个存储体60可以共享单个逻辑电路70。逻辑电路70可以从存储体阵列61读取数据、将数据存储在存储体阵列61中、和/或删除存储在存储体阵列61中的数据。此外,除了连接到输入和/或输出引脚的用于发送和/或接收数据的接收器和/或发送器之外,逻辑电路70还可以包括用于控制行解码器62、列解码器63和/或读出放大器64的控制逻辑。根据一些示例实施例,本文被描述为由行解码器62、列解码器63、读出放大器和/或逻辑电路70执行的操作可以由处理电路执行。根据一些示例实施例,第一存储器设备110-1至110-4和/或第二存储器设备120-1至120-4中的每一个存储器设备可以与第一存储器设备110-1相似或相同。
[0054]
图4是示出了根据本公开的示例实施例的存储体的示意框图。参考图4,根据本公开的示例实施例的存储体60可以包括存储器控制器20和/或存储体阵列30。在实施例中,存储器控制器20可以包括控制逻辑21、行驱动器22和/或列驱动器23。存储体阵列30可以包括多个存储器单元40和多个冗余存储器单元。
[0055]
在实施例中,行驱动器22可以通过字线wl连接到存储器单元40,而列驱动器23可以通过位线bl连接到存储器单元40。在实施例中,行驱动器22可以包括用于选择将数据写入到其和/或从其读取数据的存储器单元的地址解码器,而列驱动器23可以包括用于将数
据写入到存储器单元和/或用于从存储器单元读取数据的读出放大器和列解码器。行驱动器22和列驱动器23的操作可以由控制逻辑21控制。根据一些示例实施例,本文中被描述为由存储器控制器20、控制逻辑21、行驱动器22、地址解码器、列驱动器23、读出放大器和/或列解码器执行的操作可以由处理电路执行。
[0056]
根据本公开的实施例,存储体阵列30中包括的存储器单元40的至少一部分可以是备份区域。当存储器系统100(例如,存储器控制器200)将数据写入到被确定为具有很高的可能性出现不可纠正的错误的存储器区域时,存储器系统100(例如,存储器控制器200)可以同步或同时将数据写入到备份区域。因此,该存储器系统可以具有执行失效转移功能的效果。
[0057]
图5是示出了根据本公开的示例实施例的存储器设备中包括的存储体阵列的图。
[0058]
参考图5,根据本公开的示例实施例的存储体阵列30可以包括多个存储器单元40。存储器单元40可以被设置在多条字线wl和多条位线bl相交的点处。即,存储器单元40中的每一个存储器单元可以连接到单条字线wl和单条位线bl。
[0059]
存储器单元40中的每一个存储器单元可以包括开关器件sw和/或信息存储电容器cc。在实施例中,开关器件sw可以包括晶体管。晶体管的栅极端子可以连接到字线wl,并且晶体管的漏极端子/源极端子可以分别连接到位线bl和信息存储电容器cc。
[0060]
存储器控制器可以通过经由多条字线wl和多条位线bl,在多个存储器单元40中的每一个存储器单元中包括的信息存储电容器cc中充入电荷,或者将在信息存储电容器cc中充入的电荷释放,来写入或删除数据。此外,存储器控制器可以读取信息存储电容器cc的电压,从而从多个存储器单元40中的每一个存储器单元读取数据。在实施例中,存储器控制器可以执行刷新操作以再次向多个存储器单元40写入数据,以使数据不通过自然地释放在信息存储电容器cc中充入的电荷而丢失。
[0061]
图6是示出了根据本公开的示例实施例的存储器系统的操作的流程图,而图7a至图7c是示出了根据本公开的示例实施例的存储器系统的示意图。
[0062]
在图7a至图7c中,在存储器系统100a中,示出了在多个存储器设备中的每一个存储器设备中包括的存储体中的单个存储体bank和存储器控制器mc。单个存储体bank可以包括多个存储器单元ma,多个存储器单元ma中一些存储器单元可以被认为是冗余存储器单元。此外,单个存储体bank可以包括备份区域br。根据一些示例实施例,存储器系统100a可以与存储器系统100相同或相似,和/或存储器控制器mc可以与存储器控制器200相同或相似。
[0063]
参考图6和图7a,存储器控制器mc可以周期性地读取多个存储器设备中的每一个存储器设备中包括的存储体中的具有最高访问计数的第一区域ar的地址(在下文被称为命中地址)和访问计数(在下文被称为命中计数)(s110)。例如,存储器控制器mc可以通过模式寄存器读取(mrr)来读取命中地址和命中计数。模式寄存器读取(mrr)可以指代用户可读的模式寄存器。根据一些示例实施例,第一区域ar可以是包括限定数量个连续存储器单元的区域(例如,可以包括单个存储体bank内的限定数量个连续字线)。根据一些示例实施例,第一区域ar可以在单个存储体bank内的区域之中、在多个存储器设备之中的单个存储器设备内的区域之中、和/或在单个存储器模块(例如,第一存储器模块110)内的区域之中具有最高的访问计数。根据一些示例实施例,命中计数可以是对存储器单元、字线和/或区域的访
问(例如,写入访问和/或读取访问)的计数。
[0064]
存储器控制器mc可以对多个存储器设备中的每一个存储器设备的访问计数进行计数。存储器控制器mc可以根据计数结果将多个存储器设备的最常访问的区域确定为第一区域ar。存储器控制器mc可以将与第一区域ar相对应的地址和访问计数分别作为命中地址和命中计数存储在存储器设备(例如,sram 260)中。
[0065]
存储器控制器mc可以将与第一区域ar相对应的命中计数与参考计数进行比较(s120)。作为比较的结果,如果与第一区域ar相对应的命中计数大于参考计数,则存储器控制器mc可以存储(例如,在诸如sram 260之类的存储器中存储)与第一区域ar相对应的命中地址。根据一些示例实施例,操作s120可以附加地或备选地包括确定与第一区域ar相对应的命中计数是否大于参考计数。根据一些示例实施例,参考计数可以是通过实证研究确定的设计参数。
[0066]
当与第一区域ar相对应的命中计数大于参考计数时,第一区域ar的用坏的可能性可以是较高。因此,当将数据存储在第一区域ar中时,uecc出现的可能性会较高。
[0067]
此后,存储器控制器mc可以从主机接收要在其中存储数据的地址以及用于保存数据的命令。从主机发送的地址可以与选定的存储器单元相对应,所述选定的存储器单元连接到多个存储器设备中的选定的存储器设备中包括的第一区域ar的选定的字线。
[0068]
存储器控制器mc可以将要被存储在选定的存储器单元(例如,与从主机接收的地址相对应的选定的存储器单元)中的数据存储到选定的字线和备份区域br(例如,备份区域br的字线bwl中)中的每一个中(s130)。与第一区域ar相对应的命中计数可以大于参考计数。在这种情况下,当将数据存储在第一区域ar中时,不仅可以将数据存储在与选定的字线连接的选定的存储器单元中,而且还可以将其存储在备份区域中。因此,存储器系统100a可以在uecc出现之前,在可能出现uecc的区域中写入数据两次(例如,一次写入到选定的字线中,并且一次写入到备份区域br中)。存储器系统100a可以在uecc出现之前提前将数据写入到备份区域,从而执行失效转移功能。
[0069]
当与第一区域ar相对应的命中计数小于参考计数时,存储器控制器mc可以连续监测多个存储器设备中的每一个存储器设备包括的存储体中的具有最高访问计数的第一区域ar的命中地址和命中计数(s110)。
[0070]
参考图6和图7b,存储器控制器mc可以用与多个冗余存储器单元连接的冗余字线rwl来替换第一区域ar中包括的选定的字线swl(s140)。即,可以执行用冗余字线rwl替换与有缺陷的存储器单元连接的选定的字线swl的修复操作。上述修复操作可以被定义为封装后修复(ppr)。例如,即使在存储器控制器mc执行ppr之后使用选定的字线swl的地址时,由于dram内部的解码操作,也可以访问冗余字线。根据一些示例实施例,如本文所述,用冗余字线rwl替换选定的字线swl可以包括使冗余字线rwl而不是选定的字线swl与从主机接收的地址相关联;和/或,当从主机接收到与地址相关联的对应的命令时,向冗余字线rwl写入数据和/或从其读取数据。
[0071]
参考图6和图7c,存储器控制器mc可以将存储在与备份区域br的字线bwl连接的存储器单元中的数据存储到与冗余字线rwl连接的多个冗余存储器单元中(s150)。因此,存储器系统100a(例如,存储器控制器mc)可以从冗余字线rwl而不是从第一区域ar中包括的选定的字线swl读取数据,和/或可以将数据写入到冗余字线rwl而不是将数据写入到第一区
域ar中包括的选定的字线swl。
[0072]
根据本公开的实施例,单个存储体bank可以包括备份区域br,并且存储器控制器mc可以确定存储体bank中的被确定为具有高访问计数的存储器区域。存储器控制器mc可以将要被存储在被确定为具有高访问计数的存储器区域中的数据存储在存储器区域和备份区域br中的每一个区域中。即,对于具有很高的可能性出现uecc的存储器区域,可以同步或同时地将要被存储在该存储器区域中的数据存储在备份区域中。在uecc出现之前,可以预先对数据进行备份,可以通过ppr将与有缺陷的存储器单元连接的字线swl替换为冗余字线rwl,并且可以将备份的数据存储在冗余字线rwl中。存储器系统100a(例如,存储器控制器mc)可以使用冗余字线rwl而不是与有缺陷的存储器单元连接的字线swl来提供服务。因此,存储器系统100a可以执行失效转移功能。
[0073]
图8a至图8c是示出了根据本公开的示例实施例的存储器系统的示意图。
[0074]
在图8a至图8c的存储器系统100b中,以与图7a至图7c的存储器系统100a不同的方式,第一区域ar和备份区域br可以包括在不同的存储体中。例如,第一区域ar可以包括在第一存储体bank1中,而备份区域br可以包括在第二存储体bank2中。第一存储体bank1可以包括多个存储器单元ma1,多个存储器单元ma1中的一些存储器单元可以被认为是冗余存储器单元ma1。第二存储体bank2可以包括多个存储器单元ma2,多个存储器单元ma2中一些存储器单元可以被认为是冗余存储器单元ma2。根据一些示例实施例,存储器系统100b可以与存储器系统100相同或相似,和/或存储器控制器mc可以与存储器控制器200相同或相似。
[0075]
参考图6和图8a,存储器控制器mc可以周期性地读取多个存储器设备中的每一个存储器设备中包括的存储体中的具有最高访问计数的第一区域ar的命中地址和命中计数(s110)。第一区域ar可以包括在第一存储体bank1中。根据一些示例实施例,第一区域ar可以是包括限定数量个连续存储器单元的区域(例如,可以包括第一存储体bank1内的限定数量个连续字线)。根据一些示例实施例,第一区域ar可以在单个存储体bank内的区域之中、在多个存储器设备之中的单个存储器设备内的区域之中、和/或在单个存储器模块(例如,第一存储器模块110)内的区域之中具有最高的访问计数。根据一些示例实施例,命中计数可以是对存储器单元、字线和/或区域的访问(例如,写入访问和/或读取访问)的计数。
[0076]
存储器控制器mc可以将与第一区域ar相对应的命中计数与参考计数进行比较(s120)。作为比较的结果,如果与第一区域ar相对应的命中计数大于参考计数,则存储器控制器mc可以将与第一区域ar相对应的命中地址存储在存储器设备(例如,sram 260)中。
[0077]
此后,存储器控制器mc可以从主机接收要在其中存储数据的地址以及用于保存数据的命令。从主机发送的地址可以与选定的存储器单元相对应,所述选定的存储器单元连接到多个存储器设备中的选定的存储器设备中包括的第一区域ar的选定的字线。
[0078]
存储器控制器mc可以将要被存储在选定的存储器单元中的数据存储在选定的字线和备份区域br中的每一个中(s130)。备份区域br可以包括在第二存储体bank2中。因此,备份区域br和第一区域ar可以包括在不同的存储体中。
[0079]
参考图6和图8b,存储器控制器mc可以(例如,经由ppr)将第一区域ar中包括的选定的字线swl替换为冗余字线rwl,该冗余字线rwl连接到多个冗余存储器单元(s140)。多个冗余存储器单元可以包括在第一存储体bank1中。因此,冗余字线rwl和第一区域ar可以包括在相同的存储体或相似的存储体中。
[0080]
参考图6和图8c,存储器控制器mc可以将存储在第二存储体bank2的备份区域br中的数据存储到第一存储体bank1的冗余字线rwl(s150)。因此,存储器系统100b(例如,存储器控制器mc)可以从冗余字线rwl而不是从第一区域ar中包括的选定的字线swl读取数据,和/或可以将数据写入到冗余字线rwl而不是将数据写入到第一区域ar中包括的选定的字线swl。
[0081]
根据本公开的实施例,第二存储体bank2可以包括备份区域br,并且存储器控制器可以确定第一存储体bank1中的被确定为具有高访问计数的存储器区域ar。存储器控制器mc可以将要被存储在被确定为具有高访问计数的存储器区域ar中的数据存储在该存储器区域ar和备份区域br中的每一个区域中。即,对于具有很高的可能性出现uecc的存储器区域ar,可以同步或同时地将要被存储在该存储器区域ar中的数据存储在备份区域br中。存储器系统100b(例如,存储器控制器mc)可以在uecc出现之前预先对数据进行备份,通过ppr用冗余字线rwl替换与有缺陷的存储器单元连接的字线swl,并且将备份的数据存储到冗余字线rwl中。存储器系统100b可以使用冗余字线rwl而不是与有缺陷的存储器单元连接的字线swl来提供服务。因此,存储器系统100b可以执行失效转移功能。
[0082]
图9是示出了根据本公开的示例实施例的存储器系统的操作的流程图,而图10a至图10c是示出了根据本公开的示例实施例的存储器系统的示意图。
[0083]
在图10a至图10c中,在存储器系统100c中,示出了多个存储器设备中的每一个存储器设备中包括的存储体之中的单个存储体bank和存储器控制器mc。单个存储体bank可以包括多个存储器单元ma,多个存储器单元ma中一些存储器单元可以被认为是冗余存储器单元。此外,单个存储体bank可以包括备份区域br。根据一些示例实施例,存储器系统100c可以与存储器系统100相同或相似,和/或存储器控制器mc可以与存储器控制器200相同或相似。
[0084]
参考图9和图10a,存储器控制器mc可以周期性地读取多个存储器设备中的每一个存储器设备中包括的存储体中的具有最高的cecc出现计数的存储器单元的地址(在下文被称为ecc地址)和ecc计数(s210)。例如,存储器控制器mc可以预先在存储器控制器mc中(例如,在sram 260中)存储具有最高的cecc出现计数的存储器单元的ecc地址和ecc计数。
[0085]
存储器控制器mc可以通过参考ecc地址来确认(例如,确定)包括存储器区域的多个存储器单元中的具有最高的cecc出现计数的有缺陷的存储器单元的字线的位置。例如,ecc地址可以包括存储体地址、行地址和/或列地址。因此,存储器控制器mc可以确认地址,即,与有缺陷的存储器单元连接的字线ewl的ecc地址。
[0086]
存储器控制器mc可以对多个存储器设备的cecc出现计数进行计数。存储器控制器mc可以根据计数结果来确定多个存储器设备之中的最频繁出现cecc的有缺陷的存储器单元。存储器控制器mc可以在存储器控制器mc中(例如,在sram 260中)存储与连接到有缺陷的存储器单元的字线ewl相对应的ecc地址和ecc计数。根据一些示例实施例,存储器控制器mc可以确定字线内的存储器单元之中、存储体内的存储器单元之中、单个存储器设备内的存储器单元之中、和/或单个存储器模块(例如,第一存储器模块110)内的存储器单元之中的最频繁出现cecc的有缺陷的存储器单元。
[0087]
存储器控制器mc可以将与字线ewl相对应的ecc计数与参考计数进行比较(s220)。作为比较的结果,如果与字线ewl相对应的ecc计数大于参考计数,则存储器控制器mc可以
存储与字线ewl相对应的ecc地址(字线ewl在本文中也可以被称为“区域”)。与字线ewl相对应的ecc计数可以大于参考计数。在这种情况下,当将数据存储到字线ewl时,uecc出现的可能性会较高。根据一些示例实施例,操作s220可以附加地或备选地包括确定与字线ewl相对应的ecc计数是否大于参考计数。根据一些示例实施例,参考计数可以是通过实证研究确定的设计参数。
[0088]
此后,存储器控制器mc可以从主机接收要在其中存储数据的地址以及用于保存数据的命令。从主机发送的地址可以与连接到选定的字线swl的选定的存储器单元相对应,该选定的字线swl与多个存储器设备中的选定的存储器设备的字线ewl相对应(例如,与该字线相同或相似)。
[0089]
存储器控制器mc可以将要被存储在选定的存储器单元(例如,与从主机接收的地址相对应的选定的存储器单元)中的数据存储在选定的字线swl和备份区域br(例如,备份区域br的字线bwl中)中的每一个中(s230)。即,与选定的字线swl相对应的ecc计数可以大于参考计数。在这种情况下,当将数据存储在选定的字线swl中时,可以同步或同时地将数据存储备份区域br中。因此,可以在uecc出现之前对数据进行备份。
[0090]
当与字线swl相对应的ecc计数小于参考计数时,存储器控制器mc可以连续监测多个存储器设备中的每一个存储器设备中包括的存储体中的具有最高的cecc出现计数的存储器单元的ecc地址和ecc计数(s210)。
[0091]
参考图9和图10b,存储器控制器mc可以用与多个冗余存储器单元连接的冗余字线rwl替换选定的字线swl(例如,进行ppr)(s240)。即,可以执行用冗余字线rwl替换与有缺陷的存储器单元连接的选定的字线swl的修复操作(例如,用冗余字线rwl替换选定的字线swl来作为从主机接收的地址指代的字线)。
[0092]
参考图9和图10c,存储器控制器mc可以将存储在备份区域br中的数据存储到冗余字线rwl(s250)。因此,存储器系统100c(例如,存储器控制器mc)可以从冗余字线rwl而不是从与字线ewl相对应的选定的字线swl读取数据,和/或可以将数据写入到冗余字线rwl而不是将数据写入到与字线ewl相对应的选定的字线。
[0093]
根据本公开的实施例,单个存储体bank可以包括备份区域br,并且存储器控制器mc可以确定存储体bank中的与被确定为具有很高的cecc出现计数的有缺陷的存储器单元连接的字线ewl。存储器控制器mc可以将要被写入到与有缺陷的存储器单元连接的字线ewl的数据存储到字线ewl(例如,选定的字线swl)和备份区域br中的每一个中。即,对于具有很高的可能性出现uecc的存储器单元,可以同步或同时地将要被存储在该存储器单元中的数据存储在备份区域br中。在uecc出现之前,可以预先对数据进行备份,因此存储器系统100c可以执行失效转移功能。
[0094]
图11a至图11c是根据本公开的示例实施例的存储器系统的示意图。
[0095]
关于图11a至图11c的存储器系统100d的结构,以与图10a至图10c的存储器系统100c不同的方式,与有缺陷的存储器单元连接的字线ewl和备份区域br可以包括在不同的存储体中。例如,与有缺陷的存储器单元连接的字线ewl可以包括在第一存储体bank1中,而备份区域br可以包括在第二存储体bank2中。第一存储体bank1可以包括多个存储器单元ma1,多个存储器单元ma1中的一些存储器单元可以被认为是冗余存储器单元。第二存储体bank2可以包括多个存储器单元ma2,多个存储器单元ma2中的一些存储器单元可以被认为
是冗余存储器单元。根据一些示例实施例,存储器系统100d可以与存储器系统100相同或相似,和/或存储器控制器mc可以与存储器控制器200相同或相似。
[0096]
参考图9和图11a,存储器控制器mc可以周期性地读取与多个存储器设备中的每一个存储器设备中包括的存储体中的具有最高的cecc出现计数的存储器单元连接的字线ewl的ecc地址和ecc计数(s210)。与具有最高的cecc出现计数的存储器单元连接的字线ewl可以包括在第一存储体bank1中。
[0097]
存储器控制器mc可以将与字线ewl相对应的ecc计数与参考计数进行比较(s220)。作为比较的结果,如果与字线ewl相对应的ecc计数大于参考计数,则存储器控制器mc可以存储(例如,在诸如sram 260之类的存储器中存储)与字线ewl相对应的ecc地址。根据一些示例实施例,存储器控制器mc可以确定字线内的存储器单元之中、存储体内的存储器单元之中、单个存储器设备内的存储器单元之中、和/或单个存储器模块(例如,第一存储器模块110)内的存储器单元之中的最频繁出现cecc的有缺陷的存储器单元。
[0098]
此后,存储器控制器mc可以从主机接收要在其中存储数据的地址以及用于保存数据的命令。从主机发送的地址可以与连接到选定的字线swl的选定的存储器单元相对应,该选定的字线swl与多个存储器设备中的选定的存储器设备的字线ewl相对应(例如,与该字线相同或相似)。
[0099]
存储器控制器mc可以将要被存储在选定的存储器单元(例如,与从主机接收的地址相对应的选定的存储器单元)中的数据存储在选定的字线swl和备份区域br(例如,备份区域br的字线bwl中)中的每一个中(s230)。备份区域br可以包括在不同于包括选定的字线swl的第一存储体bank1的第二存储体bank2中。
[0100]
参考图9和图11b,存储器控制器mc可以用与多个冗余存储器单元连接的冗余字线rwl替换选定的字线swl(s240)。冗余字线rwl可以包括在第一存储体bank1中。因此,冗余字线rwl和备份区域br可以包括在不同的存储体中。
[0101]
参考图9和图11c,存储器控制器mc可以将存储在第二存储体bank2的备份区域br中的数据存储到第一存储体bank1的冗余字线rwl(s250)。因此,存储器系统100d(例如,存储器控制器mc)可以从冗余字线rwl而不是从选定的字线swl读取数据,和/或可以将数据写入到冗余字线rwl而不是将数据写入到选定的字线swl。
[0102]
根据本公开的实施例,第二存储体bank2可以包括备份区域br,并且存储器控制器mc可以确定第一存储体bank1中的被确定为具有很高的cecc出现计数的有缺陷的存储器单元。包括有缺陷的存储器单元的存储体可以与包括备份区域的存储体不同。存储器控制器mc可以将要被存储在与被确定为具有很高的cecc出现计数的有缺陷的存储器单元连接的字线swl中的数据存储在字线swl和备份区域br中的每一个中。即,对于具有很高的可能性出现uecc的存储器区域,可以同步或同时地将要被存储在字线swl中的数据存储在备份区域br中。存储器系统100d(例如,存储器控制器mc)可以在uecc出现之前预先对数据进行备份,通过ppr用冗余字线rwl替换与有缺陷的存储器单元连接的字线swl,并且将备份的数据存储在冗余字线rwl中。存储器系统100d(例如,存储器控制器mc)可以使用冗余字线rwl而不是与有缺陷的存储器单元连接的字线swl来提供服务。因此,存储器系统100d(例如,存储器控制器mc)可以执行失效转移功能。
[0103]
图12是示出了根据本公开的示例实施例的存储器系统的操作的流程图,而图13a
至图13c是示出了根据本公开的示例实施例的存储器系统的示意图。
[0104]
在图13a至图13c中,存储器系统400a、400b和400c可以包括被配置为多个等级的存储器设备410-1至410-4(例如,存储器设备410-1、存储器设备410-2、存储器设备410-3和存储器设备410-4)和存储器设备420-1至420-4(例如,存储器设备420-1、存储器设备420-2、存储器设备420-3和存储器设备420-4)和/或存储器控制器430。根据一些示例实施例,存储器系统400a、存储器系统400b和/或存储器系统400c可以与存储器系统400相同或相似。根据一些示例实施例,存储器控制器430可以与存储器控制器130和/或存储器控制器200相同或相似。根据一些示例实施例,存储器设备410-1至410-4和/或存储器设备420-1至420-4可以与存储器设备110-1至110-4和/或存储器设备120-1至120-4相同或相似。
[0105]
存储器设备410-1至410-4和存储器设备420-1至420-4可以被称为被分类为第一等级rank0的第一存储器设备410-1至410-4、以及被分类为第二等级rank1的第二存储器设备420-1至420-4。存储器设备410-1至410-4和存储器设备420-1至420-4中的每一个存储器设备可以包括至少一个存储体。
[0106]
根据实施例,第一存储器设备410-1至410-4中的至少一个存储器设备和第二存储器设备420-1至420-4中的至少一个存储器设备可以包括在单个存储器封装中。例如,第一存储器设备410-1至410-4中的第一存储器设备410-1和第二存储器设备420-1至420-4中的第二存储器设备420-1可以包括在第一存储器封装中。
[0107]
按照相同的原理,第一存储器设备410-2和第二存储器设备420-2可以包括在第二存储器封装中,第一存储器设备410-3和第二存储器设备420-3可以包括在第三存储器设备中,并且第一存储器设备410-4和第二存储器设备420-4可以包括在第四存储器封装中。
[0108]
存储器控制器430可以输出第一芯片选择信号cs0和第二芯片选择信号cs1。存储器控制器430可以激活第一芯片选择信号cs0以选择第一存储器设备410-1至410-4。存储器控制器430可以激活第二芯片选择信号cs1以选择第二存储器设备420-1至420-4。
[0109]
根据本公开的示例实施例,在存储器系统400a、400b和400c中,存储器设备410-1至410-4和存储器设备420-1至420-4可以具有比存储器模块(例如dram)在主机的指令下执行数据存储所希望使用的容量大两倍以上的容量,并且可以被配置为多个等级。例如,存储器设备410-1至410-4和存储器设备420-1至420-4所希望使用的容量可以是8gbit。在这种情况下,根据相关技术,被分类为第一等级rank0的第一存储器设备410-1至410-4被配置为4gbit,同时,被分类为第二等级rank1的第二存储器设备420-1至420-4被配置为4gbit。
[0110]
然而,根据示例实施例,存储器设备410-1至410-4和存储器设备420-1至420-4所希望使用的容量可以是8gbit。在这种情况下,被分类为第一等级rank0的第一存储器设备410-1至410-4可以被配置为8gbit,同时,被分类为第二等级rank1的第二存储器设备420-1至420-4可以被配置为8gbit。
[0111]
因此,在被分类为第一等级rank0的第一存储器设备410-1至410-4和被分类为第二等级rank1的第二存储器设备420-1至420-4之中,被分类为第二等级rank1的第二存储器设备420-1至420-4可以用作备份区域。
[0112]
存储器控制器130可以激活第一芯片选择信号cs0以选择第一存储器设备410-1至410-4。同步地或同时地,存储器控制器430可以激活第二芯片选择信号cs1以选择第二存储器设备420-1至420-4。根据一些示例实施例,存储器控制器130可以生成和/或输出第一芯
片选择信号cs0和/或第二芯片选择信号cs1。根据一些示例实施例,如本文中所使用的,激活芯片选择信号可以指在第一逻辑状态(例如,逻辑低)下输出芯片选择信号,并且不激活和/或去激活芯片选择信号可以指在与第一逻辑状态不同的第二逻辑状态(例如,逻辑高)下输出芯片选择信号。
[0113]
参考图12和图13a,存储器控制器430可以将数据写入到存储器设备410-1至410-4和存储器设备420-1至420-4(s310)。存储器控制器430可以激活第一芯片选择信号cs0以选择第一存储器设备410-1至410-4。同步地或同时地,存储器控制器430可以激活第二芯片选择信号cs1以选择第二存储器设备420-1至420-4。因此,可以同步或同时执行关于被分类为第一等级rank0的第一存储器设备410-1至410-4的写入操作以及关于被分类为第二等级rank1的第二存储器设备420-1至420-4的写入操作。
[0114]
例如,当从主机接收到用于写入第一数据至第四数据的命令时,存储器控制器430可以将第一数据写入到第一存储器设备410-1和第二存储器设备420-1中的每一个。按照相同的原理,存储器控制器430可以将第二数据写入到第一存储器设备410-2和第二存储器设备420-2中的每一个,可以将第三数据写入到第一存储器设备410-3和第二存储器设备420-3中的每一个,并且可以将第四数据写入到第一存储器设备410-4和第二存储器设备420-4中的每一个。
[0115]
参考图12和图13b,存储器控制器430可以从被分类为第一等级rank0的第一存储器设备410-1至410-4读取数据(s320)。存储器控制器430可以激活第一芯片选择信号cs0以选择第一存储器设备410-1至410-4。同步地或同时地,存储器控制器430可以不激活第二芯片选择信号cs1,从而不选择第二存储器设备420-1至420-4。
[0116]
因此,可以执行关于被分类为第一等级rank0的第一存储器设备410-1至410-4的读取操作,同时可以不执行关于被分类为第二等级rank1的第二存储器设备420-1至420-4的读取操作。
[0117]
参考图12和图13c,存储器控制器430可以检测在第一存储器设备410-1至410-4中是否已经出现uecc(s330)。例如,存储器控制器130确认第一存储器设备410-1至410-4中是否已经出现uecc的方法可以是单比特纠错双比特检错(sedec)方法。
[0118]
在secec的情况下,当检测到单个比特错误时,存储器控制器430可以直接纠正该错误。然而,当检测到2比特错误时,存储器控制器430可以将2比特错误通知给用户并且停止存储器系统100d的操作。此外,当检测到3比特或更多比特错误时,存储器控制器430的固件可以检查异常信号。
[0119]
当第一存储器设备410-1至410-4中已经出现uecc时,存储器控制器430可以使用第二存储器设备420-1至420-4读取和/或写入数据(s340)。
[0120]
当第一存储器设备410-1至410-4中没有出现uecc时,存储器控制器430可以同步或同时向被分类为第一等级rank0的第一存储器设备410-1至410-4和被分类为第二等级rank1的第二存储器设备420-1至420-4写入数据(s310)。此外,存储器控制器430可以从被分类为第一等级rank0的第一存储器设备410-1至410-4读取数据。
[0121]
根据本公开的实施例,存储器系统400a、400b和400c可以包括被配置为多个等级的存储器设备410-1至410-4和存储器设备420-1至420-4。在存储器设备410-1至410-4和存储器设备420-1至420-4之中,第二存储器设备420-1至420-4可以用作备份区域。
[0122]
存储器控制器430可以同步或同时将要写入到第一存储器设备410-1至410-4的数据写入到第二存储器设备420-1至420-4。因此,即使当第一存储器设备410-1至410-4的存储器区域中已经出现uecc时,存储器系统400a、400b和/或400c也可以使用存储在第二存储器设备420-1至420-4中的数据来执行失效转移功能。
[0123]
此外,当第二存储器设备420-1至420-4用作备份区域时,与仅使用第一存储器设备410-1至410-4的情况相比,mtbf可以增加两倍。因此,可以确保存储器系统的可靠性安全两倍。例如,当仅使用第一存储器设备410-1至410-4时,mtbf可以是2亿小时。同时,当第二存储器设备420-1至420-4连同第一存储器设备410-1至410-4一起用作备份区域时,mtbf可以是4亿小时。
[0124]
图14是示出了包括根据示例实施例的存储器设备的电子设备的示意框图。
[0125]
图14所示的根据示例实施例的电子设备1000包括显示器1010、传感器单元1020、存储器1030、通信单元1040、处理电路1050(例如,至少一个处理器)和/或端口1060。电子设备1000还可以包括电源、输入和/或输出设备等。在图14所示的组件中,可以为电子设备1000设置端口1060以与视频卡、声卡、存储卡、通用串行总线(usb)设备等进行通信。电子设备1000可以是包括智能电话、平板pc、智能可穿戴设备等的构思、以及根据相关技术的台式计算机和膝上型计算机。
[0126]
处理电路1050可以执行特定操作、命令、任务等。处理电路1050可以是中央处理单元(cpu)、微处理器单元(mcu)、片上系统(soc)等,并且可以通过总线1070与显示器1010、传感器单元1020、存储器1030、通信单元1040和/或连接到端口1060的其他设备通信。
[0127]
存储器1030可以是存储电子设备1000的操作要使用的数据和/或多媒体数据的存储介质。存储器1030可以包括诸如随机存取存储器(ram)之类的易失性存储器和/或诸如闪存之类的非易失性存储器。此外或备选地,存储器1030可以包括固态驱动器(ssd)、硬盘驱动器(hdd)和/或光盘驱动器(odd)中的至少一个作为存储设备。在图14所示的实施例中,存储器1030可以被实现为根据之前关于图1至图13c描述的各种示例实施例的存储器设备或存储器封装。
[0128]
如上所述,根据本发明构思的示例实施例,存储器设备中的至少一个存储器设备可以包括备份区域,并且存储器控制器可以确定具有很高的可能性出现uecc的存储器区域。当将数据写入到存储器区域时,存储器控制器可以将数据存储在存储器区域和备份区域中的每一个区域中。因此,存储器系统可以具有执行失效转移功能的效果。
[0129]
尽管以上已经示出并描述了示例实施例,但是本领域技术人员将清楚的是,在不脱离由所附权利要求限定的本公开的范围的情况下,可以进行修改和改变。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1