掌桥专利:专业的专利平台
掌桥专利
首页

存储器控制方法和存储器存储装置

文献发布时间:2024-04-18 20:00:50


存储器控制方法和存储器存储装置

技术领域

本发明涉及一种存储器控制技术,尤其涉及一种存储器控制方法和存储器存储装置。

背景技术

现今许多硬盘或存储器存储技术会导入磁盘冗余阵列(Redundant Array ofIndependent Disks, RAID)存储架构,以提高数据保护能力。在RAID架构中,在读取使用者数据时,可通过校验数据(Parity Data)来尝试更正此使用者数据中的错误。然而,在读取数据时,若有多个实体程序化单元(例如是,实体页)发生无发修正ECC错误(UncorrectableError Correcting Code, UECC)时,难以通过调整读取电压及校验数据将错误的数据恢复,进而影响存储器设备的运行状况。

发明内容

本发明提供一种存储器控制方法和存储器存储装置,可提高对于使用者数据的保护能力,以加强使用者数据的可靠性。

本发明的实施例提供一种存储器控制方法,其中,用于存储器模块。存储器模块包括多个存储组。多个存储组各别包括多条字线。多条字线各别包括至少一实体程序化单元。存储器控制方法包括:将各存储组划分为第一存储组或第二存储组;从主机系统接收第一写入指令,其中第一写入指令包括第一数据及第一地址;对第一数据执行第一编码程序,以得到第一校验数据;基于第一程序化模式将第一数据及第一校验数据存储至第一地址所指示的第一实体程序化单元;判断第一实体程序化单元所属的当前存储组为第一存储组或第二存储组;以及响应于当前存储组为第一存储组,对第一实体程序化单元执行第二编码程序以得到第一实体程序化单元的第二校验数据,并且基于第二程序化模式存储第一实体程序化单元的第二校验数据。

本发明的实施例另提供一种存储器存储装置,其包括连接接口、存储器模块及存储器控制器。连接接口用以连接主机系统。存储器模块包括多个存储组。多个存储组各别包括多条字线。多条字线各别包括至少一实体程序化单元。存储器控制器连接连接接口与存储器模块。存储器控制器用以将各存储组划分为第一存储组或第二存储组。存储器控制器还用以从主机系统接收第一写入指令。第一写入指令包括第一数据及第一地址。存储器控制器还用以对第一数据执行第一编码程序,以得到第一校验数据。存储器控制器还用以基于第一程序化模式将第一数据及第一校验数据存储至第一地址所指示的第一实体程序化单元。存储器控制器还用以判断第一实体程序化单元所属的当前存储组为第一存储组或第二存储组。响应于当前存储组为第一存储组,存储器控制器还用以对第一实体程序化单元执行第二编码程序以得到第一实体程序化单元的第二校验数据,并且基于第二程序化模式存储第一实体程序化单元的第二校验数据。

基于上述,本发明提供了一种存储器控制方法和存储器存储装置,可对弱条带(第一存储组)执行可靠度较高的第二编码程序,以加强对使用者数据的保护能力,并增加错误更正的能力。

为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。

附图说明

图1是根据本发明的一实施例所示出的存储器存储装置的示意图;

图2是根据本发明的一实施例所示出的存储器控制器的示意图;

图3是根据本发明的一实施例所示出的管理存储器模块的示意图;

图4是根据本发明的一实施例所示出的管理存储器模块的示意图;

图5是根据本发明的一实施例所示出的第二编码程序的示意图;

图6是根据本发明的一实施例所示出的第三编码程序的示意图;

图7是根据本发明的一实施例所示出的存储器控制方法的流程图。

具体实施方式

现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同元件符号在附图和描述中用来表示相同或相似部分。

图1是根据本发明的一实施例所示出的存储器存储装置的示意图。请参照图1,存储器存储系统10包括主机系统11与存储器存储装置12。主机系统11可为任意型态的计算机系统。例如。主机系统11可为笔记本计算机、台式计算机、智能手机、平板计算机、工业计算机等。存储器存储装置12用以存储来自主机系统11的数据。例如,存储器存储装置12可包括固态硬盘、U盘或其他类型的非易失性存储装置。主机系统11可经由串行高级技术附件(Serial Advanced Technology Attachment, SATA)接口、高速周边零件连接接口(Peripheral Component Interconnect Express, PCI Express)、通用串行总线(Universal Serial Bus, USB)或其他类型的连接接口电性连接至存储器存储装置12。因此,主机系统11可将数据存储至存储器存储装置12和/或从存储器存储装置12读取数据。

存储器存储装置12可包括连接接口121、存储器模块122及存储器控制器123。连接接口121用以将存储器存储装置12连接至主机系统11。例如,连接接口121可支援SATA、PCIExpress或USB等连接接口标准。存储器存储装置12可经由连接接口121与主机系统11通信。

存储器模块122用以存储数据。存储器模块122可包括可复写式非易失性存储器模块。存储器模块122包括存储单元阵列。存储器模块122中的存储单元是以电压的形式来存储数据。例如,存储器模块122可包括单阶存储单元(Single Level Cell, SLC)NAND型快闪存储器模块、多阶存储单元(Multi Level Cell, MLC)NAND型快闪存储器模块、三阶存储单元(Triple Level Cell,TLC)NAND型快闪存储器模块、四阶存储单元(Quad Level Cell,QLC)NAND型快闪存储器模块或其他具有相似特性的存储器模块。

存储器控制器123连接至连接接口121与存储器模块122。存储器控制器123可用以控制存储器存储装置12。例如,存储器控制器123可控制连接接口121与存储器模块122以执行数据存取与数据管理。例如,存储器控制器123可包括中央处理单元(CPU)、图形处理器(GPU),或是其他可程序化的一般用途或特殊用途的微处理器、数字信号处理器(DigitalSignal Processor, DSP)、可程序化控制器、特殊应用集成电路(Application SpecificIntegrated Circuits, ASIC)、可程序化逻辑装置(Programmable Logic Device, PLD)或其他类似装置或这些装置的组合。

在一实施例中,存储器控制器123亦称为快闪存储器控制器。在一实施例中,存储器模块122亦称为快闪存储器模块。存储器模块122可接收来自存储器控制器123的指令序列并根据此指令序列存取存储于存储单元中的数据。

图2是根据本发明的一实施例所示出的存储器控制器的示意图。请参照图1与图2,存储器控制器123包括主机接口21、存储器控制电路22、存储器接口23及编/解码电路24。主机接口21用以经由连接接口121耦接至主机系统11,以与主机系统11通信。存储器接口23用以连接至存储器模块122,以与存储器模块122通信。

存储器控制电路22连接至主机接口21、存储器接口23及编/解码电路24。存储器控制电路22可用以控制主机接口21、存储器接口23及编/解码电路24。例如,存储器控制电路22可经由主机接口21与主机系统11沟通并经由存储器接口23存取存储器模块122。存储器控制电路22也可视为存储器控制器123的控制核心。在以下实施例中,对于存储器控制电路22的说明等同于对于存储器控制器123的说明。

编/解码电路24用以编码与解码数据。例如,来自主机系统11的数据(即使用者数据)可先经过编/解码电路24编码后再被存储至存储器模块122中。当从存储器模块122读取数据时,此数据可先经过编/解码电路24解码以更正数据中的错误后再被传送至主机系统11。例如,编/解码电路24可采用低密度奇偶检查校正码(low density parity code,LDPC)、BCH码、回旋码(convolutional code)、涡轮码(turbo code)或里德-所罗门码(Reed-solomon codes, RS codes)等编码算法的至少其中之一来执行编码与解码。

图3是根据本发明的实施例所示出的管理存储器模块的示意图。请参照图1至图3,存储器模块122包括多个实体单元301(1)~301(B)。每一个实体单元皆包括多个存储单元且用以非易失性地存储数据。例如,一个实体单元可包括一或多个实体抹除单元(例如是,实体区块)。每一个实体单元可包括多个实体程序化单元(例如是,实体页)。一个实体页中的多个存储单元可被同时程序化以存储数据。一个实体单元(或实体区块)中的所有存储单元可被同时抹除。

在一实施例中,存储器模块122中的实体单元301(1)~301(A)与301(A+1)~301(B)可分别被划分至存储区310与闲置区320。存储区310中的实体单元301(1)~301(A)存储有来自主机系统11的数据(亦称为使用者数据)。闲置区320中的实体单元301(A+1)~301(B)未存储数据。

在一实施例中,当有来自于主机系统11的新数据需要存储时,闲置区320中的一或多个实体单元会被选取并且用于存储此新数据。闲置区320中被用以存储数据的实体单元可被划分至存储区310。随着闲置区320中越来越多的实体单元被用来存储数据,闲置区320中的实体单元的总数会逐渐减少。

在一实施例中,存储器控制电路23可配置多个逻辑单元302(1)~302(C)来映射存储区310中的实体单元。例如,一个逻辑单元可由一或多个逻辑地址组成。例如,一个逻辑地址可包括一或多个逻辑区块地址(Logical Block Address, LBA)。逻辑单元与实体单元之间的映射关系则可记载于逻辑至实体映射表中。当接收到来自主机系统11的存取指令时,存储器控制电路23可根据此逻辑至实体映射表来存取存储区310和/或闲置区320中的实体单元。

在一实施例中,若某一实体单元当前有被逻辑单元映射,则表示此实体单元中存储有有效数据。然而,若某一实体单元当前未被任何逻辑单元映射,则表示此实体单元中未存储有效数据。

图4是根据本发明的一实施例所示出的管理存储器模块的示意图。请参照图1至图4,存储器模块122包括存储组S0~Sn。每一个存储组包括多条字线WL0~WLm。每一个存储组包括多个实体程序化单元。具体来说,每一个存储组例如是一条条带(String)。每一个字线(wordline)可包括一或多个实体程序化单元。举例来说,若一个存储单元可存储2个以上的比特,则同一条字线的实体程序化单元可至少可被分类为下实体程序化单元与上实体程序化单元。在一实施例中,多条字线WL0~WLm上的实体程序化单元(例如是,实体页)可被整合为一存储组。

一般而言,存储器控制电路23执行磁盘冗余阵列RAID编码操作方式为:将一条条带上的数据执行异或(XOR)操作,以生成校验数据(Parity Data)。然而,在读取数据时,若有多个字线发生UECC错误时,难以通过校验数据将错误的数据恢复。具体来说,存储器模块122中存在某些质量较差的弱条带(weak string),在此些条带上会出现上述的UECC错误,进而影响存储器存储装置12的运行状况。

为了加强使用者数据的可靠性,本发明提供一种存储器控制方法,通过对上述的RAID编码操作执行改良,提高对于使用者数据的保护力,并增加错误更正的能力。具体来说,本发明的存储器控制方法,可通过对弱条带执行可靠度较高的编码程序,以提升对于使用者数据的保护力。

首先,存储器控制电路23可将存储组S0~Sn划分为第一存储组或第二存储组。具体来说,第一存储组可例如是质量较差的弱条带(weak string),第二存储组可例如是一般质量的普通条带(normal string)。存储器控制电路23可先获得每一个存储组中的多个实体程序化单元的平均误码率(Bit Error Ratio, BER)。若是一平均误码率大于预设阈值,存储器控制电路23可划分此平均误码率所对应的存储组(例如是,存储组S0)为第一存储组;反之,若是一平均误码率小于或等于预设阈值,存储器控制电路23可划分此平均误码率所对应的存储组(例如是,存储组S1)为第二存储组。

接下来,存储器控制电路23可从主机系统11接收第一写入指令,其中第一写入指令包括第一数据及第一地址。存储器控制电路23可对第一数据执行第一编码程序,以得到第一校验数据。具体来说,存储器控制电路23可控制编/解码电路24对第一数据执行第一编码程序。

在一实施例中,第一编码程序可例如是错误更正编码程序,第一校验数据为错误更正码(Error Collecting Code, ECC)。存储器控制电路23可基于第一程序化模式将第一数据及第一校验数据存储至第一地址所指示的第一实体程序化单元。详细地说,第一程序化模式为二阶存储单元(MLC)程序化模式或三阶存储单元(TLC)程序化模式。也就是说,存储器控制电路23可将第一数据及第一校验数据存储至第一实体程序化单元所属的一实体抹除单元,此实体抹除单元为MLC实体抹除单元或TLC实体抹除单元。

另外,存储器控制电路23可判断第一实体程序化单元所属的当前存储组为第一存储组或第二存储组。若是当前存储组(例如是,存储组S0)为第一存储组(意即,弱条带),存储器控制电路23可控制编/解码电路24执行第二编码程序以得到第二校验数据。如图5所示,图5是根据本发明的一实施例所示出的第二编码程序的示意图。请参照图1至图5。在一实施例中,若是第一实体程序化单元属于当前存储组(存储组S0)的首个字线WL0,存储器控制电路23可对第一实体程序化单元中的数据D(0)(包含第一数据)执行异或(XOR)操作,以得到第一实体程序化单元的第二校验数据P2(A);反之,若是第一实体程序化单元不属于当前存储组S0的首个字线WL0,例如是WL1,对所述第一实体程序化单元中的数据D(1)(包含第一数据)与当前存储组中的前一个实体程序化单元的第二校验数据P2(A)执行异或(XOR)操作,以得到第一实体程序化单元的第二校验数据P2(A+B)。

接下来,存储器控制电路23可基于第二程序化模式存储第二校验数据P2(A)、P2(A+B)。详细地说,第二程序化模式为单阶存储单元(SLC)程序化模式。也就是说,存储器控制电路23可将第二校验数据P2(A)、P2(A+B)存储至一可靠度较高的SLC实体抹除单元化,以保护第二校验数据P2(A)、P2(A+B),增加错误更正的能力。

另一方面,若是当前存储组(例如是,存储组S1)为第二存储组(意即,普通条带),存储器控制电路23可进一步地判断第一数据是否具有高优先级。若是第一数据不具有高优先级,存储器控制电路23可控制编/解码电路24对当前存储组执行第三编码程序以得到第三校验数据。如图6所示,图6是根据本发明的一实施例所示出的第三编码程序的示意图。请参照图1至图6。具体来说,第三编码程序为一般的磁盘冗余阵列RAID编码程序。存储器控制电路23可对当前存储组S1中多个实体程序化单元中的多笔数据D(0)~D(m)执行异或(XOR)操作,以得到第三校验数据P3(1)。接着,存储器控制电路23可基于第一程序化模式存储第三校验数据P3(1)。如上所述,第一程序化模式为二阶存储单元(MLC)程序化模式或三阶存储单元(TLC)程序化模式。

反之,若是第一数据具有高优先级,存储器控制电路23可将当前存储组S1暂时划分为第一存储组(意即,弱条带),并控制编/解码电路24执行如图5所示的第二编码程序以得到第一实体程序化单元的第二校验数据,并且基于第二程序化模式存储所述第一实体程序化单元的第二校验数据。也就是说,若是第一数据为具有高优先级的重要数据,存储器控制电路23可对其执行可靠度较高的第二编码程序,以加强对第一数据的保护能力。

在一实施例中,存储器控制电路23可从主机系统11接收读取指令。接着,存储器控制电路23可根据读取指令读取目标数据及目标数据的第一校验数据。具体来说,第一校验数据为错误更正码(Error Collecting Code, ECC)。存储器控制电路23可控制编/解码电路24根据目标数据的第一校验数据对目标数据执行第一解码程序(意即,错误更正(ECC)解码程序),以验证目标数据是否有错误并更正目标数据中的错误。

接下来,存储器控制电路23可判断第一解码程序是否成功。若是第一解码程序成功(意即,目标数据无误),存储器控制电路23可将目标数据传送至主机系统11。反之,若是第一解码程序失败(意即,目标数据有误),存储器控制电路23可进一步判断目标数据是否存储于第一存储组(意即,弱条带)。

举例来说,请参照图5,若是目标数据存储于第一存储组S0,存储器控制电路23可获取目标数据(例如是,D(1))所属的目标实体程序化单元的第二校验数据P(A+B)与目标实体程序化单元的前一个实体程序化单元的第二校验数据P(A),并根据目标实体程序化单元的第二校验数据P(A+B)与前一个实体程序化单元的第二校验数据P(A)执行第二解码程序,将第二校验数据P(A+B)及第二校验数据P(A)执行异或(XOR)操作,以还原出目标数据。据此,存储器控制电路23可对还原出的目标数据执行第一译码程序,若是第一译码程序成功,再将还原出的目标数据传送至主机系统11。

另一方面,请参照图6,若是目标数据不存储于第一存储组,存储器控制电路23可获取目标数据(例如是,数据D(0))所属的当前第二存储组S1的第三校验数据P3(1)及存储于当前第二存储组S1的其余数据D(1)~D(m),并根据第三校验数据P3(1)及其余数据D(1)~D(m)执行第三解码程序,以还原出目标数据。在一实施例中,第三解码程序为磁盘冗余阵列(RAID)解码程序。据此,存储器控制电路23可对还原出的目标数据执行第一译码程序,若是第一译码程序成功,再将还原出的目标数据传送至主机系统11。

图7是根据本发明的一实施例所示出的存储器控制方法的流程图。请参照图7。在步骤S701中,将各存储组划分为第一存储组或第二存储组。在步骤S702中,从主机系统接收第一写入指令,其中第一写入指令包括第一数据及第一地址。在步骤S703中,对第一数据执行第一编码程序,以得到第一校验数据。在步骤S704中,基于第一程序化模式将第一数据及第一校验数据存储至第一地址所指示的第一实体程序化单元。在步骤S705中,判断第一实体程序化单元所属的当前存储组为第一存储组或第二存储组。在步骤S706中,响应于当前存储组为第一存储组,对第一实体程序化单元执行第二编码程序以得到第一实体程序化单元的第二校验数据,并且基于第二程序化模式存储第一实体程序化单元的第二校验数据。

然而,图7中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图7中各步骤可以实作为多个程序码或是电路,本发明不加以限制。此外,图7的方法可以搭配以上实施例使用,也可以单独使用,本发明不加以限制。

综上所述,存储器控制方法和存储器存储装置,可提供弱条带(第一存储组)改良后的磁盘冗余阵列RAID操作(意即,第二编码程序),并将第二校验数据存储至SLC实体抹除单元,以加强对使用者数据及第二校验数据的保护能力,并增加错误更正的能力。另外,本发明的存储器控制方法和存储器存储装置,还可对高优先级的重要数据进行可靠度较高的第二编码程序,以加强对重要数据的保护能力。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明执行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案执行修改,或者对其中部分或者全部技术特征执行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

相关技术
  • 一种便携式电线电缆收卷架
  • 一种电线电缆用可移动的收卷装置
  • 一种防水卷材用收卷方法及收卷装置
  • 一种可移动式电线电缆卷线装置
  • 一种用于电线电缆的低温冲击试验装置
  • 一种用于电线电缆收卷的包装装置
  • 一种用于电线电缆收卷的包装装置
技术分类

06120116537012