CN111796774B - 存储器控制方法、存储器存储装置及存储器控制器 - Google Patents
存储器控制方法、存储器存储装置及存储器控制器 Download PDFInfo
- Publication number
- CN111796774B CN111796774B CN202010644386.5A CN202010644386A CN111796774B CN 111796774 B CN111796774 B CN 111796774B CN 202010644386 A CN202010644386 A CN 202010644386A CN 111796774 B CN111796774 B CN 111796774B
- Authority
- CN
- China
- Prior art keywords
- data
- parity data
- memory
- programming mode
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000005055 memory storage Effects 0.000 title claims abstract description 23
- 238000000034 method Methods 0.000 title claims abstract description 15
- 238000010586 diagram Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 238000013523 data management Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/1032—Simple parity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种存储器控制方法、存储器存储装置及存储器控制器。所述方法包括:从主机***接收多个第一写入指令;编码所述第一写入指令所指示存储的多笔第一数据以产生第一奇偶数据;基于第一程序化模式将所述第一数据分别存储至多个第一实体单元;以及基于第二程序化模式将所述第一奇偶数据存储至第二实体单元,其中基于所述第一程序化模式进行程序化的一个存储单元用以存储第一数目的比特数据,基于所述第二程序化模式进行程序化的个存储单元用以存储一第二数目的比特数据,且所述第一数目大于所述第二数目。藉此,可提高对于使用者数据与奇偶数据的保护能力。
Description
技术领域
本发明涉及一种存储器控制技术,尤其涉及一种存储器控制方法、存储器存储装置及存储器控制器。
背景技术
现今许多硬盘或存储器存储技术会导入磁盘冗余阵列(Redundant Array ofIndependent Disks,RAID)存储架构,以提高数据保护能力。在RAID架构中,属于同一个群的数据(亦称为使用者数据)可以被计算出共用的奇偶(parity)数据。在读取使用者数据时,可藉由此奇偶数据来解码属于同一个群的使用者数据,以尝试更正此使用者数据中的错误。但是,传统上,受保护的使用者数据与相应的奇偶数据会被存储在相同的数据存储单元中,导致使用者数据与奇偶数据过度集中存储且无法对奇偶数据作更进一步的数据保护处理。
发明内容
本发明提供一种存储器控制方法、存储器存储装置及存储器控制器,可提高对于使用者数据与奇偶数据的保护能力。
本发明的实施例提供一种存储器控制方法,其用于存储器模块,所述存储器模块包括多个实体单元,所述多个实体单元各别包含多个存储单元,所述存储器控制方法包括:从主机***接收多个第一写入指令;编码所述多个第一写入指令所指示存储的多笔第一数据以产生第一奇偶数据,其中所述第一奇偶数据用以解码所述多笔第一数据;基于第一程序化模式将所述多笔第一数据分别存储至所述多个实体单元中的多个第一实体单元;以及基于第二程序化模式将所述第一奇偶数据存储至所述多个实体单元中的第二实体单元,其中基于所述第一程序化模式进行程序化的一个存储单元用以存储第一数目的比特数据,基于所述第二程序化模式进行程序化的一个存储单元用以存储一第二数目的比特数据,且所述第一数目大于所述第二数目。
本发明的实施例另提供一种存储器存储装置,其包括连接接口、存储器模块及存储器控制器。所述连接接口用以连接主机***。所述存储器模块包括多个实体单元。所述存储器控制器连接至所述连接接口与所述存储器模块。其中所述存储器控制器用以从所述主机***接收多个第一写入指令。所述存储器控制器更用以编码所述多个第一写入指令所指示存储的多笔第一数据以产生第一奇偶数据,其中所述第一奇偶数据用以解码所述多笔第一数据。所述存储器控制器更用以基于第一程序化模式将所述多笔第一数据分别存储至所述多个实体单元中的多个第一实体单元,并且所述存储器控制器更用以基于第二程序化模式将所述第一奇偶数据存储至所述多个实体单元中的第二实体单元,其中基于所述第一程序化模式进行程序化的一个存储单元用以存储第一数目的比特数据,基于所述第二程序化模式进行程序化的一个存储单元用以存储第二数目的比特数据,且所述第一数目大于所述第二数目。
本发明的实施例另提供一种存储器控制器,其包括主机接口、存储器接口、编码电路及存储器控制电路。所述主机接口用以连接主机***。所述存储器接口用以连接存储器模块,其中所述存储器模块包括多个实体单元。所述存储器控制电路连接至所述主机接口、所述存储器接口及所述编码电路。其中所述存储器控制电路用以从所述主机***接收多个第一写入指令。所述编码电路用以编码所述多个第一写入指令所指示存储的多笔第一数据以产生第一奇偶数据,其中所述第一奇偶数据用以解码所述多笔第一数据。所述存储器控制电路更用以基于第一程序化模式将所述多笔第一数据分别存储至所述多个实体单元中的多个第一实体单元,并且所述存储器控制电路更用以基于第二程序化模式将所述第一奇偶数据存储至所述多个实体单元中的第二实体单元,其中基于所述第一程序化模式进行程序化的一个存储单元用以存储第一数目的比特数据,基于所述第二程序化模式进行程序化的一个存储单元用以存储第二数目的比特数据,且所述第一数目大于所述第二数目。
基于上述,在从主机***接收多个第一写入指令后,所述多个第一写入指令所指示存储的多笔第一数据可被编码以产生第一奇偶数据。所述第一数据可基于第一程序化模式而分别存储至多个第一实体单元。所述第一奇偶数据可基于第二程序化模式而存储至第二实体单元。特别是,基于所述第一程序化模式进行程序化的一个存储单元可用以存储第一数目的比特数据,基于所述第二程序化模式进行程序化的一个存储单元可用以存储第二数目的比特数据,且所述第一数目大于所述第二数目。藉此,可同时提高***对于第一数据(即使用者数据)与奇偶数据的保护能力。
附图说明
图1是根据本发明的一实施例所示出的存储器存储装置的示意图;
图2是根据本发明的一实施例所示出的存储器控制器的示意图;
图3是根据本发明的一实施例所示出的管理存储器模块的示意图;
图4是根据本发明的一实施例所示出的编码数据的示意图;
图5是根据本发明的一实施例所示出的编码数据的示意图;
图6是根据本发明的一实施例所示出的存储器控制方法的流程图。
具体实施方式
现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同元件符号在附图和描述中用来表示相同或相似部分。
图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及缓冲存储器25。主机接口21用以经由连接接口121耦接至主机***11,以与主机***11通信。存储器接口23用以连接至存储器模块122,以与存储器模块122通信。
存储器控制电路22连接至主机接口21、存储器接口23、编码电路24及缓冲存储器25。存储器控制电路22可用以控制主机接口21、存储器接口23、编码电路24及缓冲存储器25。例如,存储器控制电路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)等编码算法的至少其中之一来进行编码与解码。此外,缓冲存储器25用以暂存数据。
图3是根据本发明的一实施例所示出的管理存储器模块的示意图。请参照图1至图3,存储器模块122包括多个实体单元302(1)~302(B)。实体单元302(1)~302(B)的每一者皆包括多个存储单元且用以非易失性地存储数据。在一实施例中,一个实体单元是指一个实体程序化单元。一个实体程序化单元中的所有存储单元可以被同时程序化以存储数据。例如,一个实体程序化单元可以是指一个实体页或一个实体扇。在另一实施例中,一个实体单元还可以是其他类型的数据管理单元,本发明不加以限制。
在一实施例中,存储器控制电路22可配置多个逻辑单元301(1)~301(A)来映射实体单元302(1)~302(B)中有存储有效数据的实体单元。例如,一个逻辑单元可由一或多个逻辑地址组成。逻辑单元与实体单元之间的映射关系则可记载于逻辑至实体映射表中。存储器控制电路22可参照此逻辑至实体映射表来存取存储于存储器模块122中的数据。
在一实施例中,存储器控制电路22可从主机***11接收多个写入指令(亦称为第一写入指令)。编码电路24可编码所述多个第一写入指令所指示存储的多笔数据(亦称为第一数据)以产生奇偶数据(亦称为第一奇偶数据)。所述第一奇偶数据用以解码所述多笔第一数据。
在一实施例中,存储器控制电路22可基于某一程序化模式(亦称为第一程序化模式)将所述多笔第一数据分别存储至实体单元302(1)~302(B)中的多个实体单元(亦称为第一实体单元)。此外,存储器控制电路22可基于另一程序化模式(亦称为第二程序化模式)将所述第一奇偶数据存储至实体单元302(1)~302(B)中的另一实体单元(亦称为第二实体单元)。特别是,基于所述第一程序化模式进行程序化的一个存储单元用以存储某一数目(亦称为第一数目)的比特数据,基于所述第二程序化模式进行程序化的一个存储单元用以存储另一数目(亦称为第二数目)的比特数据,且所述第一数目大于所述第二数目。例如,第一数目可为2、3或4,而第二数目可为1。
在一实施例中,第一程序化模式可包括MLC模式、TLC模式或QLC模式,而第二程序化模式则可包括SLC模式(或称为虚拟SLC模式)。其中,基于MLC模式、TLC模式或QLC模式来程序化的一个存储单元则可用以分别存储2个、3个或4个比特,而基于SLC模式来程序化的一个存储单元则可用以存储1个比特。
在一实施例中,第二程序化模式的可靠度和/或程序化速度高于第一程序化模式的可靠度和/或程序化速度。在以下实施例中,第一程序化模式是以TLC模式作为范例,而第二程序化模式则是以SLC模式作为范例,但本发明不以此为限。
图4是根据本发明的一实施例所示出的编码数据的示意图。请参照图4,假设来自主机***11的多个写入指令(即第一写入指令)依序被接收且其分别指示存储数据401(1)~401(C)。根据指示存储数据401(1)的写入指令,编码电路24可编码数据401(1)以产生一个奇偶数据。此奇偶数据可被暂存于缓冲存储器25。接着,根据指示存储数据401(2)的写入指令,编码电路24可编码数据401(2)并根据数据401(2)的编码结果来更新缓冲存储器25中的奇偶数据。依此类推,根据指示存储数据401(C)的写入指令,编码电路24可编码数据401(C)并根据数据401(C)的编码结果来更新缓冲存储器25中的奇偶数据以产生奇偶数据411(1)。奇偶数据411(1)可反映数据401(1)~401(C)的编码结果。
在一实施例中,数据401(1)~401(C)可视为属于同一个群(例如一个横向群)。属于同一个群的数据401(1)~401(C)可被编码以产生同时反映数据401(1)~401(C)的编码结果的奇偶数据411(1)。尔后,奇偶数据411(1)可用以解码数据401(1)~401(C),以尝试更正数据401(1)~401(C)中的错误比特。
在一实施例中,数据401(1)~401(C)各别的数据大小皆符合一个实体单元的容量。例如,数据401(1)~401(C)可分别为16KB(Bytes)的数据,且一个实体单元的容量也为16KB,且本发明不限于此。经编码的数据401(1)~401(C)可基于第一程序化模式而分别被存储至多个实体单元。例如,数据401(1)~401(C)中的数据401(K)可基于TLC模式而被存储至实体单元302(1)~302(B)中的实体单元302(J),而数据401(1)~401(C)中的数据401(K+1)可基于TLC模式而被存储至实体单元302(1)~302(B)中的实体单元302(J+1),依此类推。
在一实施例中,奇偶数据411(1)的数据大小也符合一个实体单元的容量。奇偶数据411(1)可基于SLC模式而被存储至某一实体单元,例如实体单元302(1)~302(B)中的实体单元302(L)。
在一实施例中,当从存储器模块122中读取数据401(1)~401(C)中的任一笔数据时,奇偶数据411(1)可被一并读取。编码电路24可根据奇偶数据411(1)来解码数据401(1)~401(C)中的任一笔数据,以尝试更正此数据中的错误比特。
在一实施例中,相较于基于第一程序化模式所存储的数据401(1)~401(C)(即使用者数据),基于第二程序化模式所存储的奇偶数据411(1)将具有更高的可靠度,进而提高后续根据奇偶数据411(1)对数据401(1)~401(C)进行解码时的解码成功率。依此类推,当依序接收到数据402(1)~402(C)时,编码电路24可依序编码数据402(1)~402(C)以产生奇偶数据411(2);当依序接收到数据403(1)~403(C)时,编码电路24可依序编码数据403(1)~403(C)以产生奇偶数据411(D)。数据402(1)~402(C)与403(1)~403(C)可基于第一程序化模式进行存储,而奇偶数据411(2)与411(D)则可基于第二程序化模式进行存储。尔后,奇偶数据411(2)可用以解码数据402(1)~402(C),且奇偶数据411(D)可用以解码数据403(1)~403(C)。
在一实施例中,存储器控制电路22可获得多笔目标奇偶数据,且所述多笔目标奇偶数据包括所述第一奇偶数据。编码电路24可编码所述多笔目标奇偶数据以产生相应的奇偶数据(亦称为第二奇偶数据)。所述第二奇偶数据用以解码所述多笔目标奇偶数据。在一实施例中,存储器控制电路22可基于所述第二程序化模式将所述第二奇偶数据存储至实体单元302(1)~302(B)中的某一实体单元(亦称为第三实体单元)。
以图4为例,在一实施例中,奇偶数据411(1)~411(D)可被视为属于同一个群的目标奇偶数据。存储器控制电路22可从存储器模块122中读取奇偶数据411(1)~411(D),且编码电路24可编码奇偶数据411(1)~411(D)以产生奇偶数据421。奇偶数据421可同样基于第二程序化模式进行存储,例如存储于实体单元302(1)~302(B)中的302(M)。尔后,当从存储器模块122中读取奇偶数据411(1)~411(D)中的任一笔数据时,奇偶数据421可被一并读取,且编码电路24可根据奇偶数据421来解码此数据以更正其中的错误比特。
在一实施例中,存储器控制电路22还可从主机***11接收至少一写入指令(亦称为第二写入指令)。第二写入指令指示存储至少一笔数据(亦称为第二数据)。编码电路24可编码所述第二数据与所述第一数据中的至少部分数据(亦称为目标数据)以产生相应的奇偶数据(亦称为第三奇偶数据)。所述第三奇偶数据可用以解码所述第二数据与所述目标数据。
图5是根据本发明的一实施例所示出的编码数据的示意图。请参照图5,在一实施例中,假设在接收到指示存储第一数据(例如数据401(1)~401(C))的多个写入指令(即第一写入指令)之后,指示存储第二数据(包含数据402(1)与403(1))的多个写入指令(即第二写入指令)也被接收。
在一实施例中,编码电路24可编码第二数据(包含数据402(1)与403(1))与第一数据中的目标数据(例如数据401(1))以产生奇偶数据511(1)。奇偶数据511(1)可用以解码数据401(1)、402(1)及403(1)。依此类推,编码电路24可编码第二数据(包含数据402(2)与403(2))与第一数据中的目标数据(例如数据401(2))以产生奇偶数据511(2)和/或编码第二数据(包含数据402(C)与403(C))与第一数据中的目标数据(例如数据401(C))以产生奇偶数据511(C)。奇偶数据511(2)可用以解码数据401(2)、402(2)及403(2)。奇偶数据511(C)可用以解码数据401(C)、402(C)及403(C)。
在一实施例中,在编码数据401(1)~401(C)以产生奇偶数据411(1)的过程中,数据401(1)~401(C)可视为是属于同一个横向群。此外,在编码数据401(1)、402(1)及403(1)以产生奇偶数据511(1)的过程中,数据401(1)、402(1)及403(1)可视为是属于同一个纵向群。属于同一个横向群的数据可被逐一编码以产生奇偶数据411(1)~411(D)的其中之一。属于同一个纵向群的数据可被逐一编码以产生奇偶数据511(1)~511(C)的其中之一。
在一实施例中,奇偶数据411(1)~411(D)可被视为属于同一个横向群的目标奇偶数据且被逐一编码以产生奇偶数据421。在一实施例中,奇偶数据511(1)~511(C)可被视为属于同一个纵向群的目标奇偶数据且被逐一编码以产生奇偶数据521。奇偶数据521可用以解码奇偶数据511(1)~511(C)。
在一实施例中,奇偶数据511(1)~511(C)与521也可基于第二程序化模式进行存储。尔后,当从存储器模块122中读取奇偶数据511(1)~511(C)中的任一笔数据时,奇偶数据521可被一并读取,且编码电路24可根据奇偶数据521来解码此数据以更正其中的错误比特。
在一实施例中,如图5所示,在完成对于某一笔数据的横向群编码与纵向群编码后,此数据可同时受到两笔奇偶数据的保护。例如,数据401(1)可同时受到奇偶数据411(1)与511(1)的保护。尔后在读取数据401(1)时,奇偶数据411(1)与511(1)皆可用以解码数据401(1),以更正数据401(1)中的错误比特。
在一实施例中,奇偶数据421可用以保护奇偶数据411(1)~411(D),以提高奇偶数据411(1)~411(D)的可靠度。类似的,奇偶数据521可用以保护奇偶数据511(1)~511(C),以提高奇偶数据511(1)~511(C)的可靠度。藉此,根据奇偶数据411(1)~411(D)和/或511(1)~511(C)中的任一笔数据对特定数据进行解码时的解码成功率也可被提高。
在一实施例中,编码电路24可对奇偶数据411(1)~411(D)中的至少一笔数据(例如奇偶数据411(1))以及511(1)~511(C)中的至少一笔数据(例如奇偶数据511(1))进行混合编码,以产生奇偶数据421或521。藉此,所产生的奇偶数据421或521可同时保护上述横向群与纵向群中的奇偶数据。
图6是根据本发明的一实施例所示出的存储器控制方法的流程图。请参照图6,在步骤S601中,从主机***接收多个第一写入指令。在步骤S602中,编码所述第一写入指令所指示存储的多笔第一数据以产生第一奇偶数据。其中所述第一奇偶数据用以解码所述多笔第一数据。在步骤S603中,基于第一程序化模式将所述多笔第一数据分别存储至多个第一实体单元。在步骤S604中,基于第二程序化模式将所述第一奇偶数据存储至第二实体单元。其中基于所述第一程序化模式进行程序化的一个存储单元用以存储第一数目的比特数据,基于所述第二程序化模式进行程序化的一个存储单元用以存储一第二数目的比特数据,且所述第一数目大于所述第二数目。
然而,图6中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图6中各步骤可以实作为多个程序码或是电路,本发明不加以限制。此外,图6的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
综上所述,在对存储于多个实体单元的多笔数据进行编码以产生相应的奇偶数据后,此奇偶数据可基于可靠度更高的程序化模式进行存储。在部分实施例中,属于同一纵向群或同一横向群甚至跨群组的多笔目标奇偶数据可被进一步编码以产生用以保护此些目标奇偶数据的奇偶数据。此外,在部分实施例中,单一笔数据也可同时受到横向群与纵向群所对应的奇偶数据的双重保护。上述这些机制皆可有效提高对于使用者数据与奇偶数据的保护能力。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (9)
1.一种存储器控制方法,其特征在于,用于存储器模块,所述存储器模块包括多个实体单元,所述多个实体单元各别包含多个存储单元,所述存储器控制方法包括:
从主机***接收多个第一写入指令;
编码所述多个第一写入指令所指示存储的多笔第一数据以产生第一奇偶数据,其中所述第一奇偶数据用以解码所述多笔第一数据;
基于第一程序化模式将所述多笔第一数据分别存储至所述多个实体单元中的多个第一实体单元;
基于第二程序化模式将所述第一奇偶数据存储至所述多个实体单元中的第二实体单元,
其中基于所述第一程序化模式进行程序化的一个存储单元用以存储第一数目的比特数据,基于所述第二程序化模式进行程序化的一个存储单元用以存储第二数目的比特数据,且所述第一数目大于所述第二数目,其中所述第一程序化模式为三阶存储单元程序化模式或四阶存储单元程序化模式,且所述第二程序化模式为单阶存储单元程序化模式;
从所述主机***接收至少一第二写入指令,其指示存储至少一笔第二数据;
编码所述至少一笔第二数据与所述多笔第一数据中的目标数据以产生第三奇偶数据,其中所述第三奇偶数据用以解码所述至少一笔第二数据与所述目标数据;
基于所述第一程序化模式将所述至少一笔第二数据分别存储至所述多个实体单元中的至少一第四实体单元;
基于所述第二程序化模式将所述第三奇偶数据存储至所述多个实体单元中的第五实体单元;
获得多笔目标奇偶数据,其中所述多笔目标奇偶数据包括所述第三奇偶数据;
编码所述多笔目标奇偶数据以产生第二奇偶数据,其中所述第二奇偶数据用以解码所述多笔目标奇偶数据;以及
基于所述第二程序化模式将所述第二奇偶数据存储至所述多个实体单元中的第三实体单元。
2.根据权利要求1所述的存储器控制方法,还包括:
获得所述多笔目标奇偶数据,其中所述多笔目标奇偶数据包括所述第一奇偶数据;
编码所述多笔目标奇偶数据以产生第二奇偶数据,其中所述第二奇偶数据用以解码所述多笔目标奇偶数据;以及
基于所述第二程序化模式将所述第二奇偶数据存储至所述多个实体单元中的第三实体单元。
3.根据权利要求1所述的存储器控制方法,其中所述多笔目标奇偶数据还包括所述第一奇偶数据。
4.一种存储器存储装置,其特征在于,包括:
连接接口,用以连接主机***;
存储器模块,包括多个实体单元;以及
存储器控制器,连接至所述连接接口与所述存储器模块,
其中所述存储器控制器用以从所述主机***接收多个第一写入指令,
所述存储器控制器更用以编码所述多个第一写入指令所指示存储的多笔第一数据以产生第一奇偶数据,其中所述第一奇偶数据用以解码所述多笔第一数据,
所述存储器控制器更用以基于第一程序化模式将所述多笔第一数据分别存储至所述多个实体单元中的多个第一实体单元,
所述存储器控制器更用以基于第二程序化模式将所述第一奇偶数据存储至所述多个实体单元中的第二实体单元,
其中基于所述第一程序化模式进行程序化的一个存储单元用以存储第一数目的比特数据,基于所述第二程序化模式进行程序化的一个存储单元用以存储第二数目的比特数据,且所述第一数目大于所述第二数目,其中所述第一程序化模式为三阶存储单元程序化模式或四阶存储单元程序化模式,且所述第二程序化模式为单阶存储单元程序化模式,
其中所述存储器控制器更用以从所述主机***接收至少一第二写入指令,其指示存储至少一笔第二数据,
所述存储器控制器更用以编码所述至少一笔第二数据与所述多笔第一数据中的目标数据以产生第三奇偶数据,其中所述第三奇偶数据用以解码所述至少一笔第二数据与所述目标数据,
所述存储器控制器更用以基于所述第一程序化模式将所述至少一笔第二数据分别存储至所述多个实体单元中的至少一第四实体单元,
所述存储器控制器更用以基于所述第二程序化模式将所述第三奇偶数据存储至所述多个实体单元中的第五实体单元,
其中所述存储器控制器更用以获得多笔目标奇偶数据,其中所述多笔目标奇偶数据包括所述第三奇偶数据,
所述存储器控制器更用以编码所述多笔目标奇偶数据以产生第二奇偶数据,其中所述第二奇偶数据用以解码所述多笔目标奇偶数据,并且
所述存储器控制器更用以基于所述第二程序化模式将所述第二奇偶数据存储至所述多个实体单元中的第三实体单元。
5.根据权利要求4所述的存储器存储装置,其中所述存储器控制器更用以获得所述多笔目标奇偶数据,所述多笔目标奇偶数据包括所述第一奇偶数据,
所述存储器控制器更用以编码所述多笔目标奇偶数据以产生第二奇偶数据,其中所述第二奇偶数据用以解码所述多笔目标奇偶数据,并且
所述存储器控制器更用以基于所述第二程序化模式将所述第二奇偶数据存储至所述多个实体单元中的第三实体单元。
6.根据权利要求4所述的存储器存储装置,其中所述多笔目标奇偶数据还包括所述第一奇偶数据。
7.一种存储器控制器,其特征在于,包括:
主机接口,用以连接主机***;
存储器接口,用以连接存储器模块,其中所述存储器模块包括多个实体单元;
编码电路;以及
存储器控制电路,连接至所述主机接口、所述存储器接口及所述编码电路,
其中所述存储器控制电路用以从所述主机***接收多个第一写入指令,
所述编码电路用以编码所述多个第一写入指令所指示存储的多笔第一数据以产生第一奇偶数据,其中所述第一奇偶数据用以解码所述多笔第一数据,
所述存储器控制电路更用以基于第一程序化模式将所述多笔第一数据分别存储至所述多个实体单元中的多个第一实体单元,
所述存储器控制电路更用以基于第二程序化模式将所述第一奇偶数据存储至所述多个实体单元中的第二实体单元,
其中基于所述第一程序化模式进行程序化的一个存储单元用以存储第一数目的比特数据,基于所述第二程序化模式进行程序化的一个存储单元用以存储第二数目的比特数据,且所述第一数目大于所述第二数目,其中所述第一程序化模式为三阶存储单元程序化模式或四阶存储单元程序化模式,且所述第二程序化模式为单阶存储单元程序化模式,
其中所述存储器控制电路更用以从所述主机***接收至少一第二写入指令,其指示存储至少一笔第二数据,
所述编码电路更用以编码所述至少一笔第二数据与所述多笔第一数据中的一目标数据以产生第三奇偶数据,其中所述第三奇偶数据用以解码所述至少一笔第二数据与所述目标数据,
所述存储器控制电路更用以基于所述第一程序化模式将所述至少一笔第二数据分别存储至所述多个实体单元中的至少一第四实体单元,
所述存储器控制电路更用以基于所述第二程序化模式将所述第三奇偶数据存储至所述多个实体单元中的第五实体单元,
其中所述存储器控制电路更用以获得多笔目标奇偶数据,其中所述多笔目标奇偶数据包括所述第三奇偶数据,
所述编码电路更用以编码所述多笔目标奇偶数据以产生第二奇偶数据,其中所述第二奇偶数据用以解码所述多笔目标奇偶数据,并且
所述存储器控制电路更用以基于所述第二程序化模式将所述第二奇偶数据存储至所述多个实体单元中的第三实体单元。
8.根据权利要求7所述的存储器控制器,其中所述存储器控制电路更用以获得所述多笔目标奇偶数据,所述多笔目标奇偶数据包括所述第一奇偶数据,
所述编码电路更用以编码所述多笔目标奇偶数据以产生第二奇偶数据,其中所述第二奇偶数据用以解码所述多笔目标奇偶数据,并且
所述存储器控制电路更用以基于所述第二程序化模式将所述第二奇偶数据存储至所述多个实体单元中的第三实体单元。
9.根据权利要求7所述的存储器控制器,其中所述多笔目标奇偶数据还包括所述第一奇偶数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010644386.5A CN111796774B (zh) | 2020-07-07 | 2020-07-07 | 存储器控制方法、存储器存储装置及存储器控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010644386.5A CN111796774B (zh) | 2020-07-07 | 2020-07-07 | 存储器控制方法、存储器存储装置及存储器控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111796774A CN111796774A (zh) | 2020-10-20 |
CN111796774B true CN111796774B (zh) | 2024-03-08 |
Family
ID=72811457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010644386.5A Active CN111796774B (zh) | 2020-07-07 | 2020-07-07 | 存储器控制方法、存储器存储装置及存储器控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111796774B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113094307B (zh) * | 2021-04-06 | 2023-12-05 | 深圳宏芯宇电子股份有限公司 | 映射信息管理方法、存储器存储装置及存储器控制器 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102549554A (zh) * | 2009-09-29 | 2012-07-04 | 美光科技公司 | 基于条带的存储器操作 |
CN103034458A (zh) * | 2012-12-25 | 2013-04-10 | 华为技术有限公司 | 固态硬盘中实现独立磁盘冗余阵列的方法及装置 |
CN104733051A (zh) * | 2013-12-19 | 2015-06-24 | 群联电子股份有限公司 | 奇偶校验码的解码方法、存储器储存装置及控制电路单元 |
CN105653199A (zh) * | 2014-11-14 | 2016-06-08 | 群联电子股份有限公司 | 数据读取方法、存储器存储装置及存储器控制电路单元 |
CN107403646A (zh) * | 2016-04-27 | 2017-11-28 | 慧荣科技股份有限公司 | 闪存装置及闪存存储管理方法 |
CN109582219A (zh) * | 2017-09-28 | 2019-04-05 | 英特尔公司 | 存储***、计算***及其方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI516927B (zh) * | 2013-06-14 | 2016-01-11 | 群聯電子股份有限公司 | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
TWI557747B (zh) * | 2015-02-13 | 2016-11-11 | 瑞昱半導體股份有限公司 | 記憶體控制模組與方法以及錯誤更正碼編/解碼電路與方法 |
US10218384B2 (en) * | 2016-12-01 | 2019-02-26 | Sandisk Technologies Llc | ECC decoder with multiple decoding modes |
-
2020
- 2020-07-07 CN CN202010644386.5A patent/CN111796774B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102549554A (zh) * | 2009-09-29 | 2012-07-04 | 美光科技公司 | 基于条带的存储器操作 |
CN103034458A (zh) * | 2012-12-25 | 2013-04-10 | 华为技术有限公司 | 固态硬盘中实现独立磁盘冗余阵列的方法及装置 |
CN104733051A (zh) * | 2013-12-19 | 2015-06-24 | 群联电子股份有限公司 | 奇偶校验码的解码方法、存储器储存装置及控制电路单元 |
CN105653199A (zh) * | 2014-11-14 | 2016-06-08 | 群联电子股份有限公司 | 数据读取方法、存储器存储装置及存储器控制电路单元 |
CN107403646A (zh) * | 2016-04-27 | 2017-11-28 | 慧荣科技股份有限公司 | 闪存装置及闪存存储管理方法 |
CN109582219A (zh) * | 2017-09-28 | 2019-04-05 | 英特尔公司 | 存储***、计算***及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111796774A (zh) | 2020-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106169312B (zh) | 用于快闪存储的广义乘积码 | |
US20190252035A1 (en) | Decoding method, memory storage device and memory control circuit unit | |
CN107967186B (zh) | 用于控制存储器装置的方法和控制器及存储器*** | |
US9471421B2 (en) | Data accessing method, memory storage device and memory controlling circuit unit | |
KR20220045343A (ko) | 데이터 처리 시스템 내 데이터 전송에서 발생한 에러를 정정하는 장치 및 방법 | |
CN111580741B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN113628655B (zh) | 用以存取闪存模块的方法、闪存控制器与电子装置 | |
CN111796774B (zh) | 存储器控制方法、存储器存储装置及存储器控制器 | |
CN106158046B (zh) | 用于turbo乘积码的误校正避免 | |
US9996415B2 (en) | Data correcting method, memory control circuit unit, and memory storage device | |
US10713160B1 (en) | Data writing method, memory control circuit unit and memory storage device | |
CN112799874B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN106897023B (zh) | 数据读取方法、存储器控制电路单元及存储器储存装置 | |
CN107025935B (zh) | 译码方法、内存储存装置及内存控制电路单元 | |
CN110874282B (zh) | 数据存取方法、存储器控制电路单元与存储器存储装置 | |
CN117632579B (zh) | 存储器控制方法和存储器存储装置 | |
US11853613B2 (en) | Encoding control method, memory storage device and memory control circuit unit | |
CN111258791B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN111724851B (zh) | 数据保护方法、存储器存储装置及存储器控制电路单元 | |
CN113220502B (zh) | 存储器管理方法、存储器存储装置及存储器控制器 | |
CN113138947B (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 | |
CN113496752B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
US11145372B2 (en) | Decoding method, memory controlling circuit unit, and memory storage device | |
CN111435604B (zh) | 解码方法、存储器控制电路单元以及存储器存储装置 | |
US10310941B2 (en) | Data encoding method, memory control circuit unit and memory storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |