存储器控制器及其操作方法和存储器系统与流程

文档序号:20770806发布日期:2020-05-19 20:16阅读:215来源:国知局
存储器控制器及其操作方法和存储器系统与流程

相关申请的交叉引用

本申请要求于2018年11月13日在韩国知识产权局提交的韩国专利申请第10-2018-0139398号的权益,其公开内容通过引用整体并入本文。

本发明构思涉及存储器控制器,更具体地,涉及具有改进的数据可靠性的存储器控制器、包括该存储器控制器的存储器系统以及操作该存储器控制器的方法。



背景技术:

作为非易失性存储器装置,快闪存储器和电阻存储器,如相变ram(pram)、纳米浮栅存储器(nfgm)、聚合物ram(poram)、磁ram(mram)、铁电ram(feram)和电阻ram(rram)是已知的。电阻存储器具有快闪存储器的非易失性特性,快闪存储器具有动态随机存取存储器(dram)的高速特性。

随着写入循环和/或擦除循环增加,电阻存储器的寿命可能缩短。在这种情况下,由于数据不会被写入电阻存储器或者存储在电阻存储器中的数据丢失,因此电阻存储器的可靠性可能劣化。在正使用电阻存储器时丢失数据的情况下,采用电阻存储器的整个系统的性能可能劣化。



技术实现要素:

本发明构思提供了一种能够降低数据丢失的可能性和/或提高数据可靠性的存储器控制器、包括该存储器控制器的存储器系统以及操作该存储器控制器的方法。

根据本发明构思的一个方面,提供了一种存储器控制器,包括:纠错码(ecc)电路,被配置为对从存储器装置读取的码字执行错误检测;以及处理器,被配置为将多个存储器芯片中的至少一个存储器芯片设置为指示器芯片,基于错误检测的结果监视指示器芯片中的错误发生,并基于监视的结果输出指示存储器装置的可靠性劣化的可靠性劣化信息。

根据本发明构思的另一方面,提供了一种存储器系统包括:存储器模块,该存储器模块包括安装在模块板上的多个存储器芯片;以及存储器控制器,被配置为控制存储器模块的多个存储器芯片的存储器操作,将多个存储器芯片中的至少一个存储器芯片设置为指示器芯片,并且当基于对从存储器模块读取的码字的错误检测的结果确定在指示器芯片中已经发生错误时,输出指示存储器模块的可靠性劣化的可靠性劣化信息。

根据本发明构思的另一方面,提供了一种操作存储器控制器的方法,所述方法包括将多个存储器芯片中的至少一个存储器芯片设置为指示器芯片;基于对从存储器装置读取的码字的错误检测的结果,监视指示器芯片中的错误发生;以及,当指示器芯片中发生错误时,输出指示存储器装置的可靠性劣化的可靠性劣化信息。

附图说明

通过以下结合附图的详细描述,将更清楚地理解本发明构思的实施例,在附图中:

图1是示出根据示例实施例的包括存储器装置的存储器系统的框图;

图2a和图2b是示出包括在图1的存储器区域中的存储器单元阵列的示例的电路图;

图3是示出图1的可靠性确定器的实施方式的框图;

图4是示出根据示例实施例的存储器系统的框图;

图5是根据示例实施例的操作存储器控制器的方法的流程图;

图6至图9b是示出用于设置指示器芯片的各种实施例的图;

图10和图11是示出根据示例实施例的用于输出可靠性劣化信息的操作的流程图;

图12和图13是示出根据另一修改的示例实施例的操作存储器控制器的方法的图;

图14是示出根据另一修改的示例实施例的存储器系统的框图;

图15是示出根据另一修改的示例实施例的存储器系统的框图;以及

图16是示出根据示例实施例的存储器控制器的实施方式的框图。

具体实施方式

图1是示出根据示例实施例的包括存储器装置的存储器系统的框图。在示例实施例中,存储器装置200可以被称为电阻存储器装置,因为存储器装置200包括电阻存储器单元。替代地,在示例实施例中,存储器装置200可以包括各种类型的存储器单元。由于存储器单元布置在多个第一信号线和多个第二信号线彼此交叉的区域中,所以存储器装置200可以被称为交叉点存储器装置。在下面的示例实施例中,将假设存储器装置200是电阻存储器装置。然而,示例实施例可以应用于随着写入和/或擦除循环(cycle)增加其可靠性可能劣化的各种类型的存储器装置。例如,示例实施例可以应用于各种类型的存储器装置,如易失性存储器装置和快闪存储器装置。

可以以各种形式实现图1中的存储器装置200。例如,存储器装置200可以是实现为单个存储器芯片的装置。替代地,存储器装置200可以被定义为包括多个存储器芯片的装置。

参考图1,存储器系统10可以包括存储器控制器100和存储器装置200。存储器装置200可以包括多个存储器区域,例如,第一存储器区域210_1至第n存储器区域210_n。存储器控制器100可以控制针对第一存储器区域210_1至第n存储器区域210_n的存储器操作。例如,可以以分布方式将特定单位的数据写入第一存储器区域210_1至第n存储器区域210_n,或者可以从第一存储器区域210_1至第n存储器区域210_n读取特定单位的数据。

根据示例实施例,存储器装置200包括多个存储器芯片,并且第一存储器区域210_1至第n存储器区域210_n中的每一个可以与存储器芯片对应。每个存储器芯片可以包括用于存储数据的存储器单元阵列和用于执行存储器操作的外围电路(未示出),例如写入/读取电路和控制逻辑。

根据示例实施例,存储器装置200可以包括存储器模块,其中多个存储器芯片安装在模块板上。替代地,存储器装置200可以包括半导体封装,该半导体封装包括多个存储器芯片,存储器芯片可以在半导体封装内以裸片(die)形式堆叠,并且第一存储器区域210_1至第n存储器区域210_n中的每一个可以是包括在半导体封装中的存储器芯片。

替代地,存储器装置200可以包括一个包括多个半导体层的半导体芯片。此时,第一存储器区域210_1至第n存储器区域210_n中的每一个可以是半导体层。替代地,当存储器装置200包括一个半导体层并且该半导体层包括包含多个单元块的存储器单元阵列时,第一存储器区域210_1至第n存储器区域210_n中的每一个可以是单元块。

存储器控制器100可以包括处理器110、纠错码(ecc)电路120和/或可靠性确定器130。基于处理器110的控制,存储器控制器100可以使用基于硬件、软件及其组合的方案来控制存储器操作。

存储器控制器100可以响应于来自主机的写入/读取请求,控制存储器装置200读取存储在存储器装置200中的数据或者将数据写入存储器装置200。具体地,存储器控制器100可以向存储器装置200提供地址addr、命令cmd和/或控制信号ctrl,从而控制用于存储器装置200的编程(或写入)操作、读取操作和擦除操作。此外,可以在存储器控制器100和存储器装置200之间发送和接收要写入的数据data和读出的数据data。

尽管未示出,但是存储器控制器100可以包括ram、主机接口和/或存储器接口。ram可以用作处理器110的操作存储器。处理器110可以控制存储器控制器100的所有操作。主机接口可以包括用于在主机和存储器控制器100之间执行数据交换的协议。例如,存储器控制器100可以被配置为经由各种接口协议与外部装置(例如,主机)通信,各种接口协议如usb、mmc、pci-e、高级技术附件(ata)、串行ata、并行ata、scsi、esdi和集成驱动电子设备(integrateddriveelectronics,ide)。

第一存储器区域210_1至第n存储器区域210_n中的每一个可以包括分别设置在多个第一信号线和多个第二信号线彼此交叉的区域中的多个存储器单元(未示出)。根据示例实施例,第一信号线可以是多个位线,并且第二信号线可以是多条字线。存储器单元中的每一个可以是单级单元(slc)(每个单级单元存储一位的数据)或多级单元(mlc),每个多级单元存储至少2位的数据。

当一位数据被写入一个存储器单元时,存储器单元可根据写入的数据具有两个电阻分布。替代地,当两位数据被写入一个存储器单元时,存储器单元可根据写入的数据具有四个电阻分布。在另一实施例中,在三级单元(tlc)(其中三位数据存储在一个存储器单元中)的情况下,存储器单元可根据写入的数据具有八个电阻分布。然而,本发明构思不限于此。在另一实施例中,存储器单元可包括每个存储器单元均能够存储四位或更多位数据的存储器单元。

第一存储器区域210_1至第n存储器区域210_n可以包括分别包括可变电阻元件(未示出)的电阻存储器单元。例如,当可变电阻元件是相变材料(gst,ge-sb-te)并且其电阻根据温度而变化时,电阻存储器装置可以是pram。在另一示例中,当可变电阻元件包括顶部电极、底部电极和其间的复合金属氧化物时,电阻存储器装置可以是rram。在另一示例中,当可变电阻元件包括具有磁体的上电极、具有磁体的下电极和其间的电介质时,电阻存储器装置可以是mram。

存储器控制器100可以包括ecc电路120,该ecc电路120用于对从存储器装置200读取的数据执行错误检测和校正操作,并且可以向主机提供纠错后的读取数据。根据示例实施例,ecc电路120可以使用来自主机的正常数据通过ecc编码处理生成奇偶校验数据,其中正常数据和奇偶校验数据可以构成码字。换言之,存储器控制器100可以以码字为单位执行数据写入和读取操作。在以下实施例中,术语数据data和码字可以互换使用。

根据示例实施例,可靠性确定器130可以确定存储器装置200的可靠性劣化的可能性并根据确定的结果输出可靠性劣化信息info_f。例如,可靠性确定器130可以包括指示器设置器131,并且指示器设置器131可以被配置为将第一存储器区域210_1至第n存储器区域210_n中的具有相对低可靠性(或短寿命)的存储器区域设置为指示器。

假设第一存储器区域被设置为指示器,则从具有相对短寿命的第一存储器区域读取的数据data比从其他存储器区域读取的数据data更容易出错。例如,在从其他存储器区域读取的数据data中发生错误之前,可能首先在从第一存储器区域读取的数据data中发生错误。可靠性确定器130监视从第一存储器区域读取的数据data中的错误的发生,并且可以根据监视的结果输出指示存储器装置200的可靠性劣化(或者存储器装置200的寿命已经结束)的可靠性劣化信息info_f。

例如,可靠性确定器130可以通过监视从第一存储器区域读取的数据data的错误发生率或位错误率(biterrorrate,ber)来输出可靠性劣化信息info_f。例如,可靠性确定器130可以在从第一存储器区域读取的数据data中发生错误时输出可靠性劣化信息info_f。替代地,可靠性确定器130可以对从第一存储器区域读取的数据data的错误的数量进行计数,并根据错误发生频率是否超过特定参考值来输出可靠性劣化信息info_f。替代地,当从第一存储器区域读取的特定大小的数据data中发生的错误的数量超过参考数量时,可靠性确定器130可以输出可靠性劣化信息info_f。替代地,可靠性确定器130可以将从第一存储器区域读取的数据data的错误发生频率与其他存储器区域的错误发生频率进行比较,并基于比较的结果输出可靠性劣化信息info_f。

从第一存储器区域210_1至第n存储器区域210_n中,可以以各种方式设置指示器。例如,第一存储器区域210_1至第n存储器区域210_n中的每一个的可靠性可以在制造过程期间通过测试过程来测量,并且指示可靠性的信息(例如,寿命信息)可以存储在存储器装置200中。存储器控制器100可以基于从存储器装置200提供的寿命信息,将第一存储器区域210_1至第n存储器区域210_n中具有相对低可靠性的至少一个存储器区域设置为指示器。替代地,存储器控制器100可以通过控制存储器装置200来确定第一存储器区域210_1至第n存储器区域210_n中的相对不可靠的存储器区域,或者存储器控制器100可以人为地劣化第一存储器区域210_1至第n存储器区域210_n中的任何存储器区域的可靠性。另外,可以通过各种方法将第一存储器区域210_1至第n存储器区域210_n中的至少一个存储器区域设置为指示器。

例如,当存储器装置200是包括多个存储器芯片的装置时,可以将至少一个存储器芯片设置为指示器,并且可以将被设置为指示器的存储器芯片称为指示器芯片。

存储器控制器100可以预测实际数据可能实际上从存储器装置200丢失的可能性,并且在数据可能实际上丢失之前将可靠性劣化信息info_f提供给主机host。因此,可以在适当的时间向用户提供指示需要替换存储器装置200的信息。

在上述实施例中,存储器装置200的可靠性的劣化可以被描述为存储器装置200的耐久性的降级或失效,因此可以描述存储器控制器100监视指示器芯片的错误发生并输出耐久失效信息。

根据示例实施例,可以在存储器装置(例如,电阻存储器)中预测数据丢失的可能性,在该存储器装置中当执行写入和/或擦除循环时可能发生突然的数据丢失,并且将数据丢失的可能性通知主机,并且因此可以提高数据可靠性。另外,对写入和/或擦除操作的数量计数的方法可以用作确定存储器装置200的多个存储器区域的可靠性的方法。根据示例实施例,没有必要提供用于确定存储器区域的寿命的计数器,并且因此可以避免由于计数器的实现而导致的面积增加或功耗增加。

存储器控制器100和存储器装置200可以实现为单独的半导体装置。替代地,存储器控制器100和存储器装置200可以集成到一个半导体装置中。例如,存储器控制器100和存储器装置200可以集成到单个半导体装置中并构成存储卡。例如,存储器控制器100和存储器装置200可以集成到单个半导体装置中并构成pc卡(pcmcia)、紧凑型快闪卡(cf)、智能媒体卡(sm/smc)、记忆棒、多媒体卡(例如,mmc、rs-mmc、mmcmicro等)、sd卡(例如,sd、迷你sd、微型sd等)、通用快闪存储器(ufs)等。在另一示例中,存储器控制器100和存储器装置200可以集成到单个半导体装置中并构成固态盘/驱动器(ssd)。

图2a和图2b是示出包括在图1的存储器区域中的存储器单元阵列的示例的电路图。在图2a和图2b中,示例了电阻存储器单元包括pram的情况。

例如,第一存储器区域210_1的存储器单元阵列可以是具有水平结构的二维存储器单元阵列,并且可以包括多条字线wl1至wln、多条位线bl1至blm和多个存储器单元mc。存储器单元阵列可包括多个存储器块。每个存储器块可以包括以行和列布置的多个存储器单元。这里,根据实施例,字线wl的数量、位线bl的数量和存储器单元mc的数量可以变化。然而,本发明构思不限于此。根据另一实施例,第一存储器区域210_1的存储器单元阵列可以是垂直三维存储器单元阵列。

根据一些示例实施例,存储器单元mc中的每一个可以包括可变电阻元件r和开关元件sw。这里,可变电阻元件r可以被称为可变电阻材料,并且开关元件sw可以被称为选择元件。

在一些示例实施例中,可变电阻元件r可以连接在位线bl1至blm中的一个与开关元件sw之间,并且开关元件sw可以连接在可变电阻元件r与字线wl1至wln中的一个之间。然而,本发明构思不限于此,并且开关元件sw可以连接在位线bl1至blm中的一个与可变电阻元件r之间,并且可变电阻元件r可以连接至开关元件sw和字线wl1至wln的中的一个。

开关元件sw可以连接在字线wl1至wln中的任何一个与可变电阻元件r之间,并且可以根据施加到连接到开关元件sw的字线和位线的电压来控制对可变电阻元件r的电流供应。尽管图2a示出了开关元件sw是二极管,但它仅仅是实施例。根据一些示例实施例,开关元件sw可以改变为另一种可开关元件。

参考图2b,存储器单元mc可以包括可变电阻元件r和开关元件sw。可以使用如晶体管、二极管等的各种元件来实现开关元件sw。可变电阻元件r可以包括相变膜11(相变膜11包括锗、锑和碲的混合物(gst,ge-sb-te))、相变膜11之上的上电极12和相变膜11之下的下电极13。

上电极12和下电极13可包括各种金属、金属氧化物或金属氮化物。上电极12和下电极13可以包括铝(al)、铜(cu)、氮化钛(tin)、氮化钛铝(tixalynz)、铱(ir)、铂(pt)、银(ag)、金(au)、多晶硅、钨(w)、钛(ti)、钽(ta)、氮化钽(tan)、氮化钨(wn)、镍(ni)、钴(co)、铬(cr)、锑(sb)、铁(fe)、钼(mo)、钯(pd)、锡(sn)、锆(zr)、锌(zn)、氧化铱(iro2)、锆酸锶(strontiumoxidezirconate,stzro3)等。

相变膜11可以包括双极电阻存储器材料或单极电阻存储器材料。双极电阻存储器材料可以根据电流的极性被编程为置位状态或复位状态,并且可以包括基于钙钛矿的材料。单极电阻存储器材料可以通过相同极性的电流被编程为置位状态或复位状态,并且可以包括过渡金属氧化物,如niox或tiox。

可以在具有相对高电阻率的无定形态和具有相对低电阻率的晶态之间编程gst材料。可以通过加热gst材料来编程gst材料。基于加热gst材料的量级(magnitude)和时间,gst材料可保持在无定形态或晶态。高电阻率和低电阻率可以分别由编程的逻辑值0和1表示,并且可以通过测量gst材料的电阻率来检测。相反,高电阻率和低电阻率可分别由编程的逻辑值1和0表示。

在图2b中,当写入电流i施加到存储器单元mc时,写入电流i流过下电极13。当写入电流i施加到存储器单元mc非常短的时间时,通过焦耳热加热与下电极13相邻的膜。此时,由于加热分布图的不同,相变膜11的一部分变为晶态(或置位状态)或无定形态(或复位状态)。

图3是示出图1的可靠性确定器130的实施方式的框图。

参考图1和图3,可靠性确定器130可以包括指示器设置器131、错误区域确定器132和/或可靠性确定逻辑133。指示器设置器131可以根据上述实施例将第一存储器区域210_1至第n存储器区域210_n中的至少一个存储器区域设置为指示器。

错误区域确定器132可以确定在针对存储器装置200的存储器操作期间发生错误的存储器区域(或存储器区域的位置)。例如,针对从存储器装置200的第一存储器区域210_1至第n存储器区域210_n读取的码字执行错误检测和校正,并且错误区域确定器132可以通过参考来自ecc电路120的错误检测的结果来确定发生错误的区域。例如,构成码字的多个位可以以分布式方式存储在第一存储器区域210_1至第n存储器区域210_n中,并且可以通过检测具有错误的位来确定第一存储器区域210_1至第n存储器区域210_n中发生错误的存储器区域的位置。错误区域确定器132可以根据确定的结果输出错误位置信息info_p。

可靠性确定逻辑133可以从指示器设置器131接收指示与指示器对应的存储器区域的指示器位置信息info_i,并且同时从错误区域确定器132接收错误位置信息info_p。另外,可靠性确定逻辑133可以基于指示器位置信息info_i和错误位置信息info_p输出指示存储器装置200的可靠性是否劣化的可靠性劣化信息info_f。例如,如上所述,可靠性确定逻辑133可以基于指示器位置信息info_i和错误位置信息info_p来确定与指示器对应的存储器区域中的错误发生频率,并且还可以确定错误发生频率是否超过特定参考值nref。此外,可靠性确定逻辑133可以根据确定的结果输出可靠性劣化信息info_f。在各种示例中,当与指示器对应的存储器区域中的错误发生频率超过特定参考值时,可靠性确定逻辑133可以输出指示存储器装置200的可靠性劣化(或者存储器装置200的寿命结束)的可靠性劣化信息info_f。

可以以各种形式实现图3中所示的各种组件以执行对应的功能。例如,图3中所示的各种组件可以实现为硬件电路或包括可以由处理器110执行的程序的软件。替代地,图3中所示的各种组件可以实现为硬件和软件的组合。

在下文中,将描述根据示例实施例的存储器系统的各种实施方式。此外,在以下实施例中将假设存储器装置是包括多个存储器芯片的存储器模块。然而,存储器装置可以以如上所述的各种其他形式实现。

图4是示出根据示例实施例的存储器系统的框图。

参考图4,存储器系统300可以包括存储器控制器310和存储器模块320。存储器控制器310可以包括ecc电路311和/或可靠性确定器312。尽管未在图4中示出,但是存储器控制器310还可以包括用于控制存储器操作的各种其他组件,例如处理器、主机i/f和存储器i/f。

存储器模块320可以包括安装在模块板上的多个存储器芯片。例如,存储器模块320可以包括第一存储器芯片321_1至第n存储器芯片321_n。另外,根据上述实施例,可靠性确定器312可以将第一存储器芯片321_1至第n存储器芯片321_n中的至少一个存储器芯片设置为指示器芯片。在图4中,示出了将第n存储器芯片321_n设置为指示器芯片的示例。例如,可靠性确定器312可以基于来自存储器模块320的关于第一存储器芯片321_1至第n存储器芯片321_n的可靠性信息来设置指示器芯片,或者通过针对第一存储器芯片321_1至第n存储器芯片321_n的测试操作或针对特定存储器芯片的许多个伪编程操作来设置指示器芯片。尽管图4示出了存储奇偶校验数据parity的第n存储器芯片321_n对应于指示器芯片,但是正常数据可以存储在第n存储器芯片321_n中。

存储器控制器310的ecc电路311可以通过ecc编码操作生成奇偶校验数据parity,并且包括正常数据data和奇偶校验数据parity的码字可以以分布式方式存储在第一存储器芯片321_1至第n存储器芯片321_n中。此外,可以从第一存储器芯片321_1至第n存储器芯片321_n读取码字并将其提供给ecc电路311。ecc电路311可以通过ecc解码操作执行错误检测操作,并将其结果提供给可靠性确定器312。

可靠性确定器312可以基于关于其中设置的指示器芯片的信息和来自ecc电路311的错误检测结果来确定在与指示器芯片对应的第n存储器芯片321_n中是否已经发生错误。当在第n存储器芯片321_n以外的存储器芯片中已经发生错误时,可靠性确定器312可以确定由于在具有相对高可靠性和长寿命的存储器芯片中已经发生错误,因此对存储器模块320的可靠性没有影响。另一方面,当在与指示器芯片对应的第n存储器芯片321_n中已经发生错误时,可靠性确定器312可以确定由于存储器模块320的短寿命而已经发生错误,因此,可靠性确定器312可以输出可靠性劣化信息info_f。

根据图4中所示的一些示例实施例,不需要提供用于对写入和/或擦除操作的数量计数的计数器来管理安装在存储器模块320上的多个存储器芯片的寿命,并且通过将具有相对低可靠性的存储器芯片设置为指示器芯片并对其进行监视,可以在存储器模块320的寿命结束之前向主机通知数据可靠性劣化的可能性。换言之,在存储在存储器芯片中的数据实际上丢失之前,可以通过具有相对短寿命的指示器芯片预先确定存储器模块320的寿命即将结束,并且可以将可靠性劣化信息info_f提供给主机以促使用户替换存储器模块320。

在上述一些示例实施例中,存储器模块320可以以单列直插式存储器模块(simm)或双列直插式存储器模块(dimm)的形式实现。此外,存储器模块320可以对应于各种类型的dimm。例如,如fb-dimm和lr-dimm的各种类型的dimm可以应用于存储器模块320。替代地,存储器模块320可以对应于包括非易失性存储器(例如,快闪存储器(未示出))的非易失性dimm(nvdimm)以补偿易失性存储器的当电力关断时数据丢失的问题。

此外,作为各种类型的模块的示例,当存储器模块320包括作为电阻存储器的pram时,存储器模块320可以被称为p_dimm。示例实施例还可以应用于各种其他类型的模块。例如,当存储器模块320包括具有三维型电阻存储器单元的交叉点存储器芯片时,存储器模块320可以被称为交叉点(xpoint)dimm(或3d交叉点dimm)。

图5是根据示例实施例的操作存储器控制器的方法的流程图。

参考图5,存储器控制器可以控制针对多个存储器芯片的存储器操作,从存储器芯片中确定具有相对低可靠性(或相对短寿命)的存储器芯片,并且根据确定的结果将至少一个存储器芯片设置为指示器芯片(操作s11)。

存储器控制器可从存储器芯片读取码字,并通过针对码字的ecc解码过程来检测错误(操作s12)。此外,通过从包括在码字中的多个位中检测错误位的位置,存储器控制器可以确定已经发生错误的存储器芯片。

基于关于已经发生(或检测到)错误的存储器芯片的信息和先前存储在其中的关于指示器芯片的信息,存储器控制器可以确定已经发生(或检测到)错误的存储器芯片是否对应于指示器芯片(操作s13)。当已经发生(或检测到)错误的存储器芯片不是指示器芯片时,可以针对下一读取的码字重复地确定在指示器芯片中是否已经发生错误。

当已经发生(或检测到)错误的存储器芯片对应于指示器芯片时,可以确定指示器芯片中的错误发生频率是否超过特定参考值(操作s14)。此外,当错误发生频率超过特定参考值时,存储器控制器可以输出可靠性劣化信息(操作s15)。根据示例实施例的用于确定是否超过参考值的操作和用于输出可靠性劣化信息的操作可以通过各种方法来实现。例如,每当指示器芯片中发生错误时,可以输出可靠性劣化信息。替代地,当在指示器芯片中连续发生的错误超过参考值时,可以输出可靠性劣化信息。替代地,当在一定数量的读取操作期间指示器芯片中的错误发生频率超过特定参考值时,可以输出可靠性劣化信息。另外,可以使用各种其他方法来设置用于输出可靠性劣化信息的其他标准。

图6是示出根据修改的示例实施例的存储器系统的框图。图6示出了基于先前存储在存储器模块中的可靠性信息来设置指示器芯片的情况。

参考图6,存储器系统400可以包括存储器控制器410和存储器模块420。存储器模块420可以包括第一存储器芯片421_1至第n存储器芯片421_n,并且可以在存储器控制器410的控制下将至少一个存储器芯片设置为指示器芯片。

例如,可以在存储器模块420的制造过程期间测试第一存储器芯片421_1至第n存储器芯片421_n中的每一个的性能,并且可以基于测试的结果确定第一存储器芯片421_1至第n存储器芯片421_n的可靠性(例如,确定具有保证可靠性的写入和/或擦除操作的次数)。而且,基于测试的结果的寿命信息(或可靠性信息)可以存储在存储器模块420中。可以在存储器系统400的初始操作期间将来自存储器模块420的可靠性信息info_reli1至info_relin提供给存储器控制器410。

存储器控制器410可以包括可靠性确定器411,并且可靠性确定器411可以包括指示器设置器411_1。指示器设置器411_1可以基于可靠性信息info_reli1至info_relin将至少一个存储器芯片设置为存储器模块420中的指示器芯片。图6示出了根据确定可靠性信息info_reli1至info_relin的结果将第二存储器芯片421_2设置为指示器芯片的示例。

指示器设置器411_1可以存储指示根据设置的结果第二存储器芯片421_2对应于指示器芯片的信息info_chip2,并且在针对存储器模块420的读取操作期间,通过将在第一存储器芯片421_1至第n存储器芯片421_n中已经发生错误的存储器芯片与信息info_chip2比较来输出可靠性劣化信息。

图7是根据修改的示例实施例的操作存储器控制器的方法的流程图。图7示出了通过针对存储器模块的初始测试操作设置指示器芯片的示例。

当初始操作包括存储器控制器和存储器模块的存储器系统时(操作s21),可以在存储器控制器和存储器模块之间发送和接收关于存储器操作的各种信息。另外,存储器控制器可以对存储器模块的存储器芯片执行初始测试操作(操作s22)。例如,存储器控制器可以将特定测试模式写入存储器芯片,读取测试模式,并通过针对测试模式的错误检测操作来确定存储器芯片的可靠性。例如,存储器控制器可以通过初始测试操作确定存储器芯片中的每一个的位错误率(ber)(操作s23),并且可以通过ber的确定来确定具有相对低可靠性的存储器芯片。此外,可以将具有相对高ber的一个或多个存储器芯片设置为指示器芯片(操作s24)。

根据一些示例实施例,即使当关于存储器芯片的寿命信息没有存储在存储器模块中时,也可以通过存储器控制器的初始测试操作来确定具有相对低可靠性的存储器芯片,并且可以基于确定的结果来执行用于设置指示器芯片的操作。

尽管图7示出了基于ber设置指示器芯片的示例,但是示例实施例不限于此,并且可以基于各种标准来设置指示器芯片。例如,可以相对于多个存储器芯片检测错误发生频率,并且可以将与最高错误发生频率对应的存储器芯片设置为指示器芯片。如上所述,图1和图3的可靠性确定器130、图4的可靠性确定器312和图6的可靠性确定器411的功能可以在处理器110中实现,或者作为单独的硬件和/或处理器/软件组件实现。

图8是根据另一修改的示例实施例的操作存储器控制器的方法的流程图。图8示出了基于存储器控制器的控制将具有人为劣化的可靠性的存储器芯片设置为指示器芯片的示例。

参考图8,存储器控制器可以控制包括多个存储器芯片的存储器模块的存储器操作,例如,用于将具有任意模式的伪数据写入多个存储器芯片的伪编程操作。根据示例实施例,当没有关于多个存储器芯片中具有相对低可靠性的存储器芯片的信息时,存储器控制器可以执行用于劣化存储器芯片中的至少一个存储器芯片的可靠性的人为控制操作,并将具有劣化的可靠性的存储器芯片设置为指示器。

例如,存储器控制器可以从多个存储器芯片中选择一个或多个存储器芯片(操作s31),并在选择的存储器芯片上执行多个伪编程操作(操作s32)。可以重复地执行伪编程操作,直到选择的存储器芯片的寿命稍微劣化,并且存储器控制器可以将在其上执行伪编程操作的存储器芯片设置为指示器芯片(操作s33)。

当在存储器芯片中的第一存储器芯片上执行伪编程操作多次时,第一存储器芯片的写入计数变得大于其他存储器芯片的写入计数。因此,第一存储器芯片可具有比其他存储器芯片短的寿命。而且,通过将第一存储器芯片设置为指示器芯片,可以降低存储器模块中数据丢失的可能性。

图9a和图9b是示出根据另一修改的示例实施例的操作存储器控制器的方法的框图。图9a和图9b分别示出了交织应用于用于写入和读取码字的操作的情况和不应用交织的情况。

参考图9a,存储器系统500a可以包括存储器控制器510a和存储器模块520a。存储器控制器510a可以包括ecc电路511a、可靠性确定器512a和/或交织器513a。ecc电路511a和可靠性确定器512a可以执行与根据上述实施例的操作相同或类似的操作,从而根据示例实施例输出可靠性劣化信息。另外,存储器模块520a可以包括第一存储器芯片521a_1至第n存储器芯片521a_n,可以根据上述实施例确定第一存储器芯片521a_1至第n存储器芯片521a_n的可靠性,并且假设第二存储器芯片521a_2对应于具有相对低可靠性(相对短寿命)的存储器芯片。

存储器控制器510a可以将包括正常数据和奇偶校验数据的码字存储在存储器模块520a的第一存储器芯片521a_1至第n存储器芯片521a_n中。此时,交织器513a可以交织码字的多个位以规范化(normalize)错误位的位置,并且码字的交织的位可以存储在第一存储器芯片521a_1至第n存储器芯片521a_n中。例如,第一码字中的奇偶校验数据parity1可以存储在第n存储器芯片521a_n中,并且正常数据data1_1和data1_2可以存储在其他存储器芯片中。另一方面,第二码字中的奇偶校验数据parity2可以存储在第二存储器芯片521a_2中,并且正常数据data2_1和data2_2可以存储在其他存储器芯片中。

在图9a中所示的一些示例实施例中,当交织被应用于存储器模块520a时,第一存储器芯片521a_1至第n存储器芯片521a_n的使用频率可以变得彼此相似。例如,即使在一个码字中仅部分地改变正常数据时,与正常数据对应的奇偶校验数据也会一起改变。因此,与其他存储器芯片相比,存储奇偶校验数据的存储器芯片的使用频率(或写入计数)可以增加。然而,由于在图9a所示的实施例中第一存储器芯片521a_1至第n存储器芯片521a_n的使用频率彼此相似,所以可以将具有相对低可靠性(相对短寿命)的第二存储器芯片521a_2设置为指示器芯片。

参考图9b,存储器系统500b可以包括存储器控制器510b和存储器模块520b,存储器控制器510b可以包括ecc电路511b和/或可靠性确定器512b,并且存储器模块520b可以包括第一存储器芯片521b_1至第n存储器芯片521b_n。存储器控制器510b可以将位存储在存储器模块520b的特定存储器芯片中的码字的特定位置处,而在将码字存储在存储器模块520b中时不应用交织。例如,码字的奇偶校验数据可以固定地存储在存储器模块520b的第n存储器芯片521b_n中。例如,第一码字中的奇偶校验数据parity1可以存储在第n存储器芯片521b_n中,并且正常数据data1_1和data1_2可以存储在其他存储器芯片中。此外,第二码字中的奇偶校验数据parity2可以存储在第n存储器芯片521b_n中,并且正常数据data2_1和data2_2可以存储在其他存储器芯片中。

如上所述,存储奇偶校验数据parity1和parity2的第n存储器芯片521b_n比其他存储器芯片更频繁地被使用,因此第n存储器芯片521b_n的寿命可以比其他存储器芯片的寿命短。因此,存储器控制器510b可以确定第n存储器芯片521b_n以存储奇偶校验数据parity1和parity2,并将第n存储器芯片521b_n设置为指示器芯片。另外,通过对读取码字的错误检测操作,可以监视第n存储器芯片521b_n中的错误发生频率,并且可以基于此输出根据上述实施例的可靠性劣化信息。

图10和图11是示出根据示例实施例的用于输出可靠性劣化信息的操作的流程图。图10示出了基于ber输出可靠性劣化信息的示例,并且图11示出了与正常存储器芯片的错误发生频率相比基于指示器芯片的错误发生频率输出可靠性劣化信息的示例。

参考图10,可以通过对包括多个存储器芯片的存储器模块的读取操作来读取码字,并且可以执行对码字的错误检测操作(操作s41)。另外,可以通过将关于指示器芯片的预先存储的信息与已经发生错误的存储器芯片进行比较来确定指示器芯片中是否已经发生错误(操作s42)。

当在指示器芯片中已经发生错误时,可以检测在特定大小的数据中发生的错误的数量,并且可以确定检测的错误的数量是否超过特定阈值(操作s43)。当检测的错误的数量等于或小于参考值时,可以确定存储器模块的可靠性尚未劣化。另一方面,当检测的错误的数量超过参考值时,可以确定存储器模块的可靠性劣化,并且因此可以输出可靠性劣化信息(操作s44)。

参考图11,可以执行对从包括多个存储器芯片的存储器模块读取的码字的错误检测操作(操作s51),并且可以将关于存储器芯片中的错误发生的信息(例如,错误信息)存储在存储器控制器中(操作s52)。另外,可以周期性地确定存储器模块的可靠性,并且可以确定其是否对应于可靠性确定定时(操作s53)。

在可靠性确定定时处,通过参考存储在存储器控制器中的错误信息,可以将指示器芯片的错误发生频率与正常存储器芯片的错误发生频率进行比较(操作s54)。例如,可以将比较值计算为将指示器芯片的错误发生频率与正常存储器芯片的错误发生频率进行比较的结果,并且可以确定比较值是否超过特定参考值(操作s55)。当比较值超过特定参考值时,可以输出可靠性劣化信息(操作s56)。

可以基于除了上述实施例中描述的方法以外的各种标准来输出可靠性劣化信息。换言之,确定指示器芯片中的错误发生的特性,并且可以基于各种标准来控制是否输出可靠性劣化信息。例如,当指示器芯片的错误发生频率比多个存储器芯片中的其他存储器芯片的错误发生频率大特定比率时,可以输出可靠性劣化信息。

图12和图13是示出根据另一修改的示例实施例的操作存储器控制器的方法的图。

参考图12,存储器系统600可以包括存储器控制器610和存储器模块620。存储器控制器610可以包括ecc电路611和/或可靠性确定器612,并且可靠性确定器612可以包括指示器设置和/或修改电路612_1。另外,存储器模块620可以包括第一存储器芯片621_1至第n存储器芯片621_n。图12示出了第(n-1)存储器芯片621_(n-1)被设置为指示器芯片的示例。根据上述实施例,第(n-1)存储器芯片621_(n-1)可以对应于存储器模块620中具有最低可靠性的存储器芯片或者码字数据的奇偶校验数据被固定地存储在其中的存储器芯片。

第一存储器芯片621_1至第n存储器芯片621_n中的每一个包括用于存储数据的多个单元块。例如,第(n-1)存储器芯片621_(n-1)可以包括第一单元块blk1至第k单元块blkk。根据示例实施例,第(n-1)存储器芯片621_(n-1)的第一单元块blk1至第k单元块blkk可以顺序地或一起地被使用,并且可以在单元块的基础上执行根据示例实施例的用于确定错误的位置以输出可靠性劣化信息的操作。

根据示例实施例,当第(n-1)存储器芯片621_(n-1)的第一单元块blk1可以被设置为指示器区域时,可以监视在第一单元块blk1中是否已经发生错误。当在第一单元块blk1中已经发生错误时,可以根据上述实施例中的各种标准输出可靠性劣化信息,并且指示器设置和/或修改电路612_1可以将第(n-1)存储器芯片621_(n-1)的另一单元块设置为指示器区域。另外,当监视到改变的指示器区域中的错误发生并且改变的指示器区域中的错误发生频率超过特定参考值时,可以将另一单元块设置为指示器区域。

现在将参考图13描述图12中所示的存储器系统600的操作的示例。可以将第(n-1)存储器芯片621_(n-1)的第一单元块blk1设置为指示器区域(操作s61),并且可以确定第一单元块blk1的错误发生频率是否超过预设参考值(操作s62)。当第一单元块blk1中的错误发生频率超过参考值时,可以输出第一可靠性劣化信息(操作s63),并且,作为第(n-1)存储器芯片621_(n-1)的另一单元块,可以将第二单元块blk2设置为指示器区域(操作s64)。

然后,可以确定被设置为指示器区域的第二单元块blk2中的错误发生频率是否超过预设参考值(操作s65),并且当第二单元块blk2中的错误发生频率超过参考值时,可以输出第二可靠性劣化信息(操作s66)。此外,在与上述操作相同的方面,可以将第(n-1)存储器芯片621_(n-1)的另一单元块设置为指示器区域,可以监视被设置为指示器区域的第(n-1)存储器芯片621_(n-1)的第k单元块blkk的错误发生,并且当第k单元块blkk的错误发生频率超过预设参考值时,可以输出第k可靠性劣化信息(操作s67)。

根据上述示例实施例,可靠性劣化的程度可以被分类为多个阶段并被确定。例如,当输出第一可靠性劣化信息时,用户可以确定可靠性在指示器芯片的k个单元块中的任何一个中劣化,并且当此后输出第二可靠性劣化信息时,用户可以确定指示器芯片的两个单元块的可靠性劣化。此后,当输出针对最后的第k单元块blkk的可靠性劣化信息时,可以确定指示器芯片的所有单元块的可靠性降级。基于此,可以在多个阶段中确定替换存储器模块的需要。

图14是示出根据另一修改的示例实施例的存储器系统的框图。

参考图14,存储器系统700可以包括存储器控制器710和存储器模块720。存储器控制器710可以包括ecc电路711和/或可靠性确定器712,并且可靠性确定器712可以包括指示器设置和/或修改电路712_1。另外,存储器模块720可以包括第一存储器芯片721_1至第n存储器芯片721_n。图14示出了在初始指示器芯片设置操作期间将第n存储器芯片721_n设置为指示器芯片的示例。另外,根据示例实施例,可以将存储奇偶校验数据的存储器芯片设置为指示器芯片,其中包括在第一码字中的第一奇偶校验数据parity1可以存储在第n存储器芯片721_n中,并且包括在第一码字中的正常数据data1_1至data1_(n-1)可以存储在其他存储器芯片中。

根据上述实施例,可以监视与指示器芯片对应的第n存储器芯片721_n中的错误发生,并且可以根据监视的结果输出可靠性劣化信息。此外,随着第n存储器芯片721_n的可靠性劣化,可以改变存储奇偶校验数据的存储器芯片,并且可以将存储奇偶校验数据的存储器芯片再次设置为指示器芯片。在图14所示的示例中,存储奇偶校验数据的存储器芯片被改变为第(n-1)存储器芯片721_(n-1),因此指示器芯片被改变为第(n-1)存储器芯片721_(n-1)。

根据指示器芯片的上述改变,包括在第二码字中的第二奇偶校验数据parity2可以存储在第(n-1)存储器芯片721_(n-1)中,并且正常数据data2_1至data2_(n-1)可以存储在其他存储器芯片中。此外,可以通过对从存储器模块720读取的第二码字的错误检测操作来监视与指示器芯片对应的第(n-1)存储器芯片721_(n-1)中的错误发生。当在第(n-1)存储器芯片721_(n-1)中发生错误时,可以根据上述实施例输出可靠性劣化信息。而且,类似于上述实施例,指示器芯片可以改变为另一存储器芯片。

根据图14中所示的一些示例实施例,可以与图12和图13的实施例类似地在多个阶段中确定可靠性的程度。例如,与可靠性劣化信息被输出一次的情况相比,当通过改变指示器芯片多次输出可靠性劣化信息时,可以确定存储器模块720的可靠性进一步劣化,并且用户可以通过参考可靠性劣化的程度确定替换存储器模块720的需要。

尽管图14示出了存储奇偶校验数据的存储器芯片被改变并且指示器芯片基于存储器芯片的改变而改变的一些示例实施例,但是示例实施例不必限于此。例如,可以通过来自存储器模块720的可靠性信息或者存储器控制器710的测试操作或伪编程操作来确定具有相对低可靠性的存储器芯片,其中可以将具有最低可靠性的存储器芯片设置为初始指示器芯片,并且具有第二低可靠性的存储器芯片可以改变为指示器芯片。

另一方面,图14中所示的实施例可以与上面图12和图13中所示的实施例组合。例如,第n存储器芯片721_n可以包括多个单元块,并且可以对每个单元块执行错误发生监视操作和可靠性劣化信息输出操作,并且在根据监视第n存储器芯片721_n的一个或多个单元块的结果输出可靠性劣化信息之后在,可以将指示器芯片改变为第(n-1)存储器芯片721_(n-1)。

图15是示出根据另一修改的示例实施例的存储器系统的框图。在图15中,示出了在存储器模块内执行ecc编码和解码处理的示例。

参考图15,存储器系统800可以包括存储器控制器810和存储器模块820。存储器控制器810可以包括可靠性确定器811,并且可靠性确定器811可以包括指示器设置器811_1。另外,存储器模块820可以包括第一存储器芯片821_1至第n存储器芯片821_n,并且还可以包括包含ecc电路822_1的缓冲器芯片822。缓冲器芯片822可以安装在存储器模块820上以执行各种功能,并且可以包括用于通过与存储器控制器810的通信临时存储命令和地址的存储电路(未示出)。此外,缓冲器芯片822的ecc电路822_1可以使用来自存储器控制器810的正常数据生成奇偶校验数据,并且还可以通过对从存储器模块820的第一存储器芯片821_1至第n存储器芯片821_n读出的码字的ecc解码处理生成错误检测结果res_ecc。

可靠性确定器811可以将第一存储器芯片821_1至第n存储器芯片821_n中的至少一个存储器芯片设置为指示器芯片,并且在从存储器模块820接收码字时,可以接收错误检测结果res_ecc。可靠性确定器811可以包括关于其中被设置为指示器芯片的存储器芯片的信息,并且可以通过使用错误检测结果res_ecc来确定已经发生错误的存储器芯片的位置。另外,可靠性确定器811可以监视指示器芯片中的错误发生频率并根据上述实施例输出可靠性劣化信息。如上所述,图1、图4、图6、图9a、图9b、图12、图14和图15的存储器控制器100、310、410、510a、510b、610、710、810的功能可以在处理器110中实现,或者作为单独的硬件和/或处理器/软件组件实现。

图16是示出根据示例实施例的存储器控制器的实施方式的框图。

参考图16,存储器控制器900可以包括处理器910、ram920、主机接口(i/f)930、存储器接口(i/f)940、ecc电路950和/或可靠性确定器960。根据示例实施例,存储器控制器900可以是包括在可以实现为片上系统的应用处理器(ap)(未示出)中的装置。可靠性确定器960还可以包括指示器设置器961、错误区域确定器962和/或可靠性确定逻辑963。

处理器910可以包括中央处理单元或微处理器,并且可以控制存储器控制器900的所有操作。例如,处理器910可以被配置为驱动用于控制存储器控制器900的软件或固件,其中软件或者固件可以被加载到ram920中并被驱动。ram920可以用作处理器910的操作存储器、高速缓冲存储器或缓冲存储器。在ram920中,可以临时地存储要写入存储器装置的写入数据,并且从存储器装置读取的读取数据也可以临时地存储。

主机接口930与主机接口并从主机接收对存储器操作请求。例如,主机接口930可以从主机host接收用于读取和写入数据的各种请求,并且作为响应,生成用于存储器装置的存储器操作的各种内部信号。

存储器接口940可以提供存储器控制器900和存储器装置(未示出)之间的接口。例如,写入数据可以经由存储器接口940发送到存储器装置并且可以经由存储器接口940从存储器装置接收读取数据。此外,存储器接口940可以向存储器装置提供命令和地址,并且还可以从存储器装置接收各种信息并将其提供到存储器控制器900中。

ecc电路950可以根据上述实施例执行错误检测操作。例如,ecc电路950可以从包括由存储器控制器900控制的多个存储器芯片的存储器模块接收码字,并且对码字执行错误检测操作。此外,ecc电路950的错误检测结果可以被提供给可靠性确定器960。

指示器设置器961可以根据上述实施例将多个存储器芯片中的至少一个存储器芯片设置为指示器芯片,并且还可以执行用于改变指示器芯片的操作。另外,错误区域确定器962可以基于错误检测结果确定已经发生错误的存储器芯片,并且可靠性确定逻辑963可以基于关于指示器芯片的信息和关于已经发生错误的存储器芯片的信息确定是否输出可靠性劣化信息。

可由可靠性确定器960执行的各种功能可以以硬件、软件或硬件和软件的组合来实现。例如,当以硬件实现指示器芯片的设置和可靠性劣化信息的输出时,可以通过设置在可靠性确定器960内的硬件电路来执行这些功能。替代地,当以软件实现指示器芯片的设置和可靠性劣化信息的输出时,可靠性确定器960内部或外部提供的程序可以被加载到ram920中,并且当处理器910执行对应程序时可以执行对应功能。如上所述,图16中的一个或多个框的功能可以实现为一个或多个硬件/存储器和/或处理器/软件/存储器组件。

虽然已经参考本发明构思的实施例具体示出和描述了本发明构思,但是应当理解,在不脱离所附权利要求的精神和范围的情况下,可以在形式和细节上进行各种改变。

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