CN108154903A - 快闪存储器的写入控制方法及装置、读取控制方法及装置以及存储器*** - Google Patents
快闪存储器的写入控制方法及装置、读取控制方法及装置以及存储器*** Download PDFInfo
- Publication number
- CN108154903A CN108154903A CN201711406433.7A CN201711406433A CN108154903A CN 108154903 A CN108154903 A CN 108154903A CN 201711406433 A CN201711406433 A CN 201711406433A CN 108154903 A CN108154903 A CN 108154903A
- Authority
- CN
- China
- Prior art keywords
- data
- code element
- write
- flash memory
- decoding
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- 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/1068—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 in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
公开了一种快闪存储器的写入控制方法及装置、读取控制方法及装置以及存储器***。所述快闪存储器的写入控制方法,包括:按照第一方式切分原始数据,以获得多个第一资料;按照第二方式切分原始数据,以获得多个第二资料,所述多个第一资料中的任意一个和所述多个第二资料中的一个具有共同部分;对所述多个第一资料进行编码,以获得多个第一码元数据;对所述多个第二资料进行编码,以获得多个第二码元数据;以及将所述原始数据、所述多个第一码元数据和所述多个第二码元数据存储到所述快闪存储器的相应的存储位置。通过存储两个维度的编码数据,提高了ECC电路译码和纠错的能力,进而提升快闪存储器的可靠性和产品良率。
Description
技术领域
本发明涉及一种快闪存储器的快闪存储器的写入控制方法及装置、读取控制方法及装置,以及存储器***。
背景技术
快闪存储器(flash)是一种非易失性的存储器,广泛应用于记忆卡、固态硬盘以及可携式多媒体播放器(portable multimedia players)等电子设备。快闪存储器可分为N0R型快闪存储器和NAND型快闪存储器。
为了保证数据安全,通常在快闪存储器的控制器设置有ECC(Error Checking andCorrection)电路,用于数据恢复和纠错处理。ECC电路设置在快闪存储器的控制端,在数据写入阶段,将基于原始数据编码产生编码数据存储到快闪存储器中,在数据读取阶段,对编码数据进行译码才能获得原始数据。通过ECC编译码电路能够降低快闪存储器的误码率以及提高产品良率。
但是随着快闪存储器制程工艺的发展,尤其是3D NAND型快闪存储器的兴起,使得3D NAND型快闪存储器在良率和误码率(BER,Bit Error Rate)的差异性方面比以往的2D(planr)NAND型快闪存储器来得多,特别是在异常断电时,3D NAND型快闪存储器的存储块(block)常常发生1~2 个存储页(page)的误码率,其远大于整体快闪存储器的误码率,并且无法通过ECC电路进行纠正。
发明内容
有鉴于此,本发明实施例提出一种快闪存储器的写入控制方法及读取控制方法及装置,进行两个维度的编码和译码,以进一步降低快闪存储器的误码率,提升快闪存储器的可靠性和产品良率。
根据本发明的第一方面,提供一种快闪存储器的写入控制方法,包括:
按照第一方式切分原始数据,以获得多个第一资料;
按照第二方式切分原始数据,以获得多个第二资料,所述多个第一资料中的任意一个和所述多个第二资料中的一个具有共同部分;
对所述多个第一资料进行编码,以获得多个第一码元数据;
对所述多个第二资料进行编码,以获得多个第二码元数据;以及
将所述原始数据、所述多个第一码元数据和所述多个第二码元数据存储到所述快闪存储器的相应的存储位置。
优选地,所述第一方式按照原始数据的语义方向切分所述原始数据以获得多个第一资料,所述第二方式切分所述多个第一资料中的每个第一资料,以获得多个切分部分,以及将所述多个切分部分组成所述多个第二资料,并且,组成每个第二资料的多个切分部分至少来自两个第一资料。
优选地,每个第一资料存储于一个存储页中,每个第二资料存储于多个存储页中。
优选地,所述第一资料、第一资料和所述第一码元数据存储于同一个存储块中,所述第二码元数据存储于相应的存储块之后的存储页中。
优选地,采用第一编码方法对所述多个第一资料进行编码;以及采用第二编码方法对所述多个第二资料进行编码。
优选地,所述第一编码方法为LDPC编码方法,所述第二编码方法为 RS编码方法。
根据本发明的第二方面,提供一种快闪存储器的读取控制方法,用于读取上述写入控制方法写入到快闪存储器内的数据,包括:
从所述快闪存储器的相应位置读取编码数据,所述编码数据包括原始数据、第一码元数据和第二码元数据;以及
根据所述第一码元数据和所述第二码元数据对所述原始数据进行迭代译码和纠错。
优选地,所述根据所述第一码元数据和所述第二码元数据对所述原始数据进行迭代译码和纠错包括:
采用所述第一编码方法对所述第一码元数据进行译码和纠错;
根据所述第一码元数据的译码结果,采用第二编码方法对所述第二码元数据进行译码和纠错;以及
根据所述第二码元数据的译码结果,采用所述第一编码方法对所述第一码元数据进行译码和纠错。
优选地,还包括:当采用所述第一编码方法的所***字和采用第二编码方法译码的所***字均失败后,停止译码。
根据本发明的第三方面,提供一种快闪存储器的写入控制装置,包括:
切分模块,用于按照第一方式切分原始数据,以获得多个第一资料;以及按照第二方式切分原始数据,以获得多个第二资料,所述多个第一资料中的任意一个和所述多个第二资料中的一个具有共同部分;
第一编码模块,用于对所述多个第一资料进行编码,以获得多个第一码元数据;
第二编码模块,用于对所述多个第二资料进行编码,以获得多个第二码元数据;以及
存储控制模块,用于将所述原始数据、所述多个第一码元数据和所述多个第二码元数据存储到所述快闪存储器的相应的存储位置。
优选地,切分模块按照原始数据的语义方向切分所述原始数据以获得多个第一资料,并且切分所述多个第一资料中的每个第一资料,以获得多个切分部分,将所述多个切分部分组成所述多个第二资料,并且,组成每个第二资料的多个切分部分至少来自两个第一资料。
优选地,所述存储控制模块控制每个第一资料存储于一个存储页中,以及每个第二资料存储于多个存储页中。
优选地,所述存储控制模块控制所述第一资料、第一资料和所述第一码元数据存储于同一个存储块中以及所述第二码元数据存储于相应的存储块之后的存储页中。
优选地,所述第一编码模块采用第一编码方法对所述多个第一资料进行编码;所述第二编码模块采用第二编码方法对所述多个第二资料进行编码。
优选地,所述第一编码方法为LDPC编码方法,所述第二编码方法为 RS编码方法。
优选地,用于读取根据权利要求10至15任一项所述的快闪存储器的写入控制装置写入到快闪存储器内的数据,包括:
读取模块,用于从所述快闪存储器的相应位置读取编码数据,所述编码数据包括原始数据、第一码元数据和第二码元数据;
第一译码模块,用于根据所述第一码元数据进行译码和纠错;
第二译码模块,用于根据所述第二码元数据进行译码和纠错;
迭代控制模块,根据控制所述第一译码模块和所述第二译码模块进行迭代译码和纠错。
优选地,还包括:所述迭代控制模块判断采用所述第一编码方法的所***字和采用第二编码方法译码的所***字均失败后,停止译码。
根据本发明的第四方面,提供一种存储器***,包括快闪存储器和存储器控制器,所述控制器包括上述写入控制装置和上述读取控制装置。
本发明提供的写入控制方法,对原始数据进行两个维度的编码,以获得第一码元数据和第二码元数据并进行存储,同时提供读取控制方法,通过第一码元数据和第二码元数据迭代译码获取原始数据。该写入和读取控制方法提升了ECC电路能够处理的错误码数量,进而提高快闪存储器的可靠性。
附图说明
通过参照以下附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是闪存***的结构图;
图2是本发明实施例的写入控制装置的结构图示意图;
图3是根据本发明第一实施例将原始数据进行编码后的存储示意图;
图4是根据本发明第二实施例将原始数据进行编码后的存储示意图;
图5是根据本发明第三实施例将原始数据进行编码后的存储示意图。
图6是本发明实施例的读取控制装置的结构图示意图;
图7是本发明实施例的写入控制方法的流程图;
图8是本发明实施例的读取控制方法的流程图。
具体实施方式
以下将参照附图更详细地描述本发明。在各个附图中,相同的元件采用类似的附图标记来表示。为了清楚起见,附图中的各个部分没有按比例绘制。此外,可能未示出某些公知的部分。
图1是闪存***的结构图。
该闪存***100例如是使用固态硬盘(SSD)的计算机***。该计算机***包括主机130。固态硬盘包括快闪存储器110和存储器控制装置120。
主机130经由存储器控制装置120访问存储器130。在该闪存***中,存储数据为原始数据经过编码产生的编码数据,在读取过程中对存储数据译码才能获得原始数据。主机110例如包括处理器。在使用状态中,该处理器从存储器130中加载程序或读取数据,以及向存储器130 中写入数据。
快闪存储器110由多个存储页面P_0至P_N组成,每个存储页面包括多个由浮动栅极晶体管构成的存储器单元M_0至M_K,每个存储器单元中存储一个或多个比特位(bit)的数据。存储器控制装置120通过向晶体管的控制栅极提供适当的检测电压,以读取存储器单元存储的数据。例如,假设存储器单元M_0存储3个比特位的数据,即可以存储的二进制数据为000,001,010,011,100,101,110,111(23),则存储器控制装置 120需设置8个检测电压,并分别基于上述8个检测电压进行读取存储器单元存储的二进制数据。该假设仅为了说明的目的,并不以此为限。
存储器控制器120例如是单独的集成电路芯片,包括读取控制装置 (未示出)和写入控制装置(未示出),分别用于控制快闪存储器110 的读取和写入。在写入操作期间,写入控制器对原始数据进行编码,从而生成存储数据,从而将存储数据写入快闪存储器110中。在读取操作期间,读取控制器从快闪存储器110中获取存储数据,然后进行译码以获得原始数据。
图2是本发明实施例的写入控制装置的结构图示意图。
参考图2,写入控制装置121包括缓存模块200、ECC编码电路201 和存储控制模块205。
缓存模块200用于接收从主机130发送的原始数据,并发送给ECC 编码电路。
ECC编码电路201接收到原始数据后,对原始数据进行编码,生成编码数据。这里的编码数据包括两部分内容:原始数据和码元数据。码元数据是根据原始数据中的选定的数据进行编码获得的数据,用于在读取错误发生时恢复和纠正出错数据。目前ECC编码电路流行的编码方法包括LDPC、RS和BCH等。
存储控制模块205用于写入编码数据,将编码数据写入到相应的存储块(block)和存储页(page)中。快闪存储器的存储空间可分为存储块(block),每个存储块包含若干存储页,每个存储页包含若干字节(例如包含4K字节),每个字节为8比特位(bit)。不同型号的快闪存储器可能具有不同大小的存储块和存储页。现有的快闪存储器标准中,一个存储块包含64个存储页,一个存储页包含4k字节,但本发明不以此为限。NAND快闪存储器以存储页为单位进行读取和写入,以块为单位进行擦除。
在本例中,ECC编码电路进一步包括第一编码模块202、第二编码模块203和切分模块204。切分模块204用于按照第一方式切分原始数据,获得多个第一资料,以及按照第二方式切分原始数据,获得多个第二资料,多个第一资料中的任意一个和多个第二资料中的一个具有共同部分。第一方式例如将原始数据按照原始数据的语义方向进行切分。例如,按照存储页的大小切分原始数据,即100k的原始数据可以切分为100k/4k=25 个第一资料。第二方式例如将第一资料再分割成多个切分部分,选取多个第一资料的至少一个切分部分组成第二资料。例如如前所述,将4k的第一资料分成两个切分部分,25个第一资料的第一切分部分组成第二资料,25个第一资料的第二切分部分组成第二资料。但本发明的切分方式不以此为限。
第一编码模块202用于根据第一资料和第一编码进行编码,获得第一码元数据。第二编码模块203根据第二资料和第二编码方法进行编码,获得第二码元数据。第一码元数据和第二码元数据以及原始数据由存储控制模块205写入到相应的存储页中。可选地,第一编码方法和第二编码方法各自为LDPC(Low Density Parity Check Code)、RS(Reed SolomonCode)和BCH(Bose、Ray、Hocquenghem)中的一种。
下面将结合附图对本实施例进行进一步的说明。
图3是根据本发明第一实施例将原始数据进行编码后的存储示意图。图3以一个NAND快闪存储器的block为例进行说明。所述block包括 256个存储页page0至page255,在存储页page0至page255中分别存储原始数据Din和码元数据PageCode0~PageCode255,在存储页 page256~page257存储码元数据columnCode0~columnCode15。码元数据PageCode0~PageCode255是根据对应的一个存储页内的原始数据生成的码元数据,columnCode0~columnCode15是根据对应的多个存储页中的原始数据生成的码元数据。具体地,假设一个存储页能够存储20K字节的数据,则保留4K字节存储码元数据,则剩余16K字节存储原始数据,同时将16K存储空间切割为16等份,组合PageCode0~PageCode255中在相同位置的存储空间中存储的数据并对其进行编码处理,得到16个码元数据columnCode0~columnCode15。将码元数据columnCode0~columnCode15 分别存储block之后的存储页page256~page257内。由此,得到了二维码元数据:横向和纵向码元数据。二维码元数据有利于进行数据译码,尤其在数据发生读取错误时,可以基于二维码元数据进行迭代纠错,从而提高ECC电路的纠错能力。
应该指出的是,在本例中,码元数据可以采用相同或不同的编码方法生成,例如,均采用LDPC编码方法生成,或者,横向码元数据采用 LDPC编码方法生成,纵向码元数据采用RS编码方法生成。
图4是根据本发明第二实施例将原始数据进行编码后的存储示意图。
图4以一个NAND快闪存储器的block为例进行说明。所述block 包括256个存储页page0至page255,在存储页page0至page255中分别存储原始数据Din和码元数据PageCode0~PageCode255,在存储页 page256~page257存储码元数据columnCode0~columnCode15。其中, PageCode0~PageCode255是对相应的存储页内存储的数据进行LDPC编码产生的码元数据。和图3不同之处在于,columnCode0~columnCode15为采用不同的码字(code word)进行RS编码获得的码元数据。具体地,如图所示,假设一个存储页能够存储20K字节的数据,则保留4K字节存储码元数据,则剩余16K字节存储原始数据,同时将16K存储空间均匀切割为16等份,将奇数行的存储页中每2k数据组合在一起采用同一个码字进行RS编码,将偶数行的存储页中的每2k数据组合在一起采用同一个码字进行编码,生成码元数据。另外,相邻的数据尽量采用不同的码字,例如,上图相邻的数据分别采用RS0-RS3四种码字。由于相邻的数据采用不同的码字进行编码生成码元数据,使得读取时,整个存储页读取失败的可能性降低,例如可以通过相邻的码元数据译码相邻数据,以及通过相邻数据判断本数据等,从而使存储页读取失败的可能性大大降低。
图5是根据本发明第三实施例将原始数据进行编码后的存储示意图。
图5以两个NAND快闪存储器的block为例进行说明。在本例中,横向方向按照存储页进行编码,即和图3-4所示相同,在纵向方向采用的编码方式和图3和4不同。在本例中,将两个block当作一个整体进行纵向编码。奇数行和偶数行均采用RS进行编码,但是奇数行和偶数行用于编码的码字不相同,因此将其区别为RS0和RS1。进而,在第一个 block之后的两个存储页中存储基于RS0产生的码元数据,在第二个 block之后的两个存储页中存储基于RS1产生的码元数据。通过将一个 block中对应的码元数据存储在两个不同的位置,能够降低码元数据被损坏或者被读取错误的概率,进而能够降低误码率。
应该指出的是,图3~图5只用于示例性的描述,实际上,码元数据的存储位置可以任意变化,既可以和原始数据存放在同一存储块、存储页或相邻的存储块中,也可以存放在其他的存储块中。
图6是本发明实施例的读取控制装置的结构图示意图。
参考图6,读取控制装置122包括存储控制模块300和ECC译码电路301。
存储控制模块300根据控制信号从相应的存储块和存储页中读取编码数据。编码数据包括原始数据和码元数据。
ECC译码电路301获取存储器单元中存储的数据,对编码数据进行译码,并进行数据纠错处理。ECC译码电路包括迭代控制模块303、第一译码模块304和第二译码模块305。迭代控制模块303用于控制迭代译码过程,即控制第一译码模块304和第二译码模块305的交替执行。第一译码模块304用于采用第一编码方法进行译码纠错。第二译码模块305 用于采用第二译码方法进行译码纠错。而且,当第一译码模块和第二译码模块均译码失败时,这时已经无法通过交替译码纠错译出更多的原始数据,此时应该停止译码。
举例说明。对应于图3的写入的数据,可以先采用第一编码方法进行译码,译码存储页Page0~Page255的数据,但是如果在译码过程中 Page10译码失败,则通过第二编码方法对columnCode0~columnCode15 进行译码,由于在第一次译码中,已经将Page0~Page9以及 Page11~Page255存储的数据译码成功,则基于 columnCode0~columnCode15能够解出Page10的相应位置上的原始数据。即通过两次迭代获得所有的原始数据。当然,在其他的情况下,可能需要两次以上的迭代获得所有的原始数据。同理,对于图4和图5写入的数据,也可以通过第一译码模块和第二译码模块进行迭代译码纠错,从而获得更高的译码成功率。
图7是本发明实施例的写入控制方法的流程图。所述写入控制方法应用于快闪存储器,具体包括以下步骤。
在步骤S701中,按照第一方式切分原始数据,以获得多个第一资料。
在步骤S702中,按照第二方式切分原始数据,以获得多个第二资料。
原始数据例如二进制数据、ASCII数据等。通过两种不同的切分方式获得多个第一资料和多个第二资料。任意一个第一资料和至少一个第二资料具有共同部分。
在步骤S703中,对多个第一资料进行编码,以获得多个第一码元数据。
在步骤S704中,对多个第二资料进行编码,以获得多个第二码元数据。
通过LDPC、BCH和RS等多种编码方法生成第一码元数据和第二码元数据。
在步骤S705中,将原始数据、多个第一码元数据和多个第二码元数据存储到快闪存储器的相应的存储位置。
原始数据、第一码元数据和第二码元数据可以分散存储在快闪存储器的相应位置,例如,原始数据按照存储页存储,在每个存储页后面存储有该存储页内的存储数据对应的第一码元数据。第二码元数据和原始数据存储在同一个存储块中,或者存储在原始数据所属的存储块之后的存储页中。
图8是本发明实施例的读取控制方法的流程图。所述读取控制方法应用于快闪存储器,用于读取上述实施例的写入控制方法写入到快闪存储器内的数据,具体包括以下步骤。
在步骤S801中,从快闪存储器的相应位置读取编码数据,编码数据包括原始数据、第一码元数据和第二码元数据。
在步骤S802中,根据第一码元数据和第二码元数据对原始数据进行迭代译码和纠错。在读取的原始数据出现错误或者需要验证原始数据时,可以采用迭代译码和纠错进行检查和纠错。第一码元数据通过第一编码方法进行译码,第二码元数据通过第二编码方法进行译码,在此过程中,例如可以将第一编码方法的所***字得到的正确数据代入到第二编码方法的译码过程中,得到更多的正确数据,直至最终得到所有的原始数据,或者直至最终无法译码出更多的数据为止。
综上所述,本发明提供的写入控制方法在写入闪存存储器时进行两个维度的编码,并存储两个维度的编码数据,从而能够提高ECC电路的译码和纠错能力,进而提高闪存存储器的可靠性和产品良率。
本发明实施例虽然以较佳实施例公开如上,但其并不是用来限定权利要求,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本实用新型权利要求所界定的范围为准。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (18)
1.一种快闪存储器的写入控制方法,包括:
按照第一方式切分原始数据,以获得多个第一资料;
按照第二方式切分原始数据,以获得多个第二资料,所述多个第一资料中的任意一个和所述多个第二资料中的一个具有共同部分;
对所述多个第一资料进行编码,以获得多个第一码元数据;
对所述多个第二资料进行编码,以获得多个第二码元数据;以及
将所述原始数据、所述多个第一码元数据和所述多个第二码元数据存储到所述快闪存储器的相应的存储位置。
2.根据权利要求1所述的写入控制方法,其中,所述第一方式按照原始数据的语义方向切分所述原始数据以获得多个第一资料,所述第二方式切分所述多个第一资料中的每个第一资料,以获得多个切分部分,以及将所述多个切分部分组成所述多个第二资料,并且,组成每个第二资料的多个切分部分至少来自两个第一资料。
3.根据权利要求2所述的写入控制方法,其中,每个第一资料存储于一个存储页中,每个第二资料存储于多个存储页中。
4.根据权利要求3所述的写入控制方法,其中,所述第一资料、第一资料和所述第一码元数据存储于同一个存储块中,所述第二码元数据存储于相应的存储块之后的存储页中。
5.根据权利要求1所述的写入控制方法,其中,采用第一编码方法对所述多个第一资料进行编码;以及采用第二编码方法对所述多个第二资料进行编码。
6.根据权利要求4所述的写入控制方法,其中,所述第一编码方法为LDPC编码方法,所述第二编码方法为RS编码方法。
7.一种快闪存储器的读取控制方法,用于读取根据权利要求1至6任一项所述的写入控制方法写入到快闪存储器内的数据,包括:
从所述快闪存储器的相应位置读取编码数据,所述编码数据包括原始数据、第一码元数据和第二码元数据;以及
根据所述第一码元数据和所述第二码元数据对所述原始数据进行迭代译码和纠错。
8.根据权利要求7所述的读取控制方法,其中,所述根据所述第一码元数据和所述第二码元数据对所述原始数据进行迭代译码和纠错包括:
采用所述第一编码方法对所述第一码元数据进行译码和纠错;
根据所述第一码元数据的译码结果,采用第二编码方法对所述第二码元数据进行译码和纠错;以及
根据所述第二码元数据的译码结果,采用所述第一编码方法对所述第一码元数据进行译码和纠错。
9.根据权利要求8所述的读取控制方法,还包括:当采用所述第一编码方法的所***字和采用第二编码方法的所***字均译码失败后,停止译码。
10.一种快闪存储器的写入控制装置,包括:
切分模块,用于按照第一方式切分原始数据,以获得多个第一资料;以及按照第二方式切分原始数据,以获得多个第二资料,所述多个第一资料中的任意一个和所述多个第二资料中的一个具有共同部分;
第一编码模块,用于对所述多个第一资料进行编码,以获得多个第一码元数据;
第二编码模块,用于对所述多个第二资料进行编码,以获得多个第二码元数据;以及
存储控制模块,用于将所述原始数据、所述多个第一码元数据和所述多个第二码元数据存储到所述快闪存储器的相应的存储位置。
11.根据权利要求9所述的写入控制装置,其中,切分模块按照原始数据的语义方向切分所述原始数据以获得多个第一资料,并且切分所述多个第一资料中的每个第一资料,以获得多个切分部分,将所述多个切分部分组成所述多个第二资料,并且,组成每个第二资料的多个切分部分至少来自两个第一资料。
12.根据权利要求11所述的写入控制装置,其中,所述存储控制模块控制每个第一资料存储于一个存储页中,以及每个第二资料存储于多个存储页中。
13.根据权利要求12所述的写入控制装置,其中,所述存储控制模块控制所述第一资料、第一资料和所述第一码元数据存储于同一个存储块中以及所述第二码元数据存储于相应的存储块之后的存储页中。
14.根据权利要求10所述的写入控制装置,其中,所述第一编码模块采用第一编码方法对所述多个第一资料进行编码;所述第二编码模块采用第二编码方法对所述多个第二资料进行编码。
15.根据权利要求14所述的写入控制装置,其中,所述第一编码方法为LDPC编码方法,所述第二编码方法为RS编码方法。
16.一种快闪存储器的读取控制装置,用于读取根据权利要求10至15任一项所述的快闪存储器的写入控制装置写入到快闪存储器内的数据,包括:
读取模块,用于从所述快闪存储器的相应位置读取编码数据,所述编码数据包括原始数据、第一码元数据和第二码元数据;
第一译码模块,用于根据所述第一码元数据进行译码和纠错;
第二译码模块,用于根据所述第二码元数据进行译码和纠错;
迭代控制模块,根据控制所述第一译码模块和所述第二译码模块进行迭代译码和纠错。
17.根据一种快闪存储器的读取控制装置,还包括:所述迭代控制模块判断采用所述第一编码方法的所***字和采用第二编码方法译码的所***字均失败后,停止译码。
18.一种存储器***,包括快闪存储器和存储器控制器,所述控制器包括权利要求10-15任一项所述的写入控制装置和权利要求16-17任一项所述的读取控制装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711406433.7A CN108154903B (zh) | 2017-12-22 | 2017-12-22 | 快闪存储器的写入控制方法、读取控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711406433.7A CN108154903B (zh) | 2017-12-22 | 2017-12-22 | 快闪存储器的写入控制方法、读取控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108154903A true CN108154903A (zh) | 2018-06-12 |
CN108154903B CN108154903B (zh) | 2020-09-29 |
Family
ID=62465197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711406433.7A Active CN108154903B (zh) | 2017-12-22 | 2017-12-22 | 快闪存储器的写入控制方法、读取控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108154903B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111666174A (zh) * | 2019-03-07 | 2020-09-15 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元以及存储器存储装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9230684B2 (en) * | 2012-12-19 | 2016-01-05 | Kabushiki Kaisha Toshiba | Memory controller, storage device, and memory control method |
CN107402829A (zh) * | 2016-04-05 | 2017-11-28 | 阿里巴巴集团控股有限公司 | 用于检测和纠正位错误的设备、方法和计算机程序产品 |
-
2017
- 2017-12-22 CN CN201711406433.7A patent/CN108154903B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9230684B2 (en) * | 2012-12-19 | 2016-01-05 | Kabushiki Kaisha Toshiba | Memory controller, storage device, and memory control method |
CN107402829A (zh) * | 2016-04-05 | 2017-11-28 | 阿里巴巴集团控股有限公司 | 用于检测和纠正位错误的设备、方法和计算机程序产品 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111666174A (zh) * | 2019-03-07 | 2020-09-15 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元以及存储器存储装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108154903B (zh) | 2020-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108062258B (zh) | 用于错误恢复的循环交错的xor阵列 | |
CN106856103B (zh) | 用于与非闪存的涡轮乘积码 | |
CN106169312B (zh) | 用于快闪存储的广义乘积码 | |
US10536172B2 (en) | ECC and raid-type decoding | |
TWI696185B (zh) | 記憶體系統的操作方法 | |
US9471421B2 (en) | Data accessing method, memory storage device and memory controlling circuit unit | |
US9543983B2 (en) | Decoding method, memory storage device and memory control circuit unit | |
KR101991911B1 (ko) | 비트 상태 맵핑 동작을 수행하는 코드 변조 인코더와 코드 변조 디코더를 포함하는 메모리 컨트롤러, 그것을 포함하는 데이터 저장 장치 및 플래시 메모리 시스템 | |
KR102275717B1 (ko) | 플래시 메모리 시스템 및 그의 동작 방법 | |
CN108022611A (zh) | 存储***及其操作方法 | |
US11050438B2 (en) | Memory controller | |
US11243838B2 (en) | Methods and apparatuses for error correction | |
CN102110481A (zh) | 具有ecc电路的半导体存储***及其控制方法 | |
US20170255518A1 (en) | Ecc decoding using raid-type parity | |
CN112068778B (zh) | 用于保持从存储阵列中读取的数据的完整性的方法和设备 | |
CN104733051B (zh) | 奇偶校验码的解码方法、存储器储存装置及控制电路单元 | |
CN111048140A (zh) | 错误校正电路、存储器控制器及存储器*** | |
CN105304142B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN106158046B (zh) | 用于turbo乘积码的误校正避免 | |
CN108154903A (zh) | 快闪存储器的写入控制方法及装置、读取控制方法及装置以及存储器*** | |
CN105915234B (zh) | 避免对涡轮乘积码误校正的方案 | |
US9906241B2 (en) | Apparatus and method for turbo product codes | |
US9996412B2 (en) | Enhanced chip-kill schemes by using sub-trunk CRC | |
CN108073469B (zh) | 用于通用产品代码的数据映射方案 | |
KR20170067656A (ko) | Nand 플래시용 터보 프로덕트 코드 |
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 | ||
CP03 | Change of name, title or address |
Address after: 310053 room c1-604, building C, No. 459, Qianmo Road, Xixing street, Binjiang District, Hangzhou, Zhejiang Province Patentee after: Lianyun Technology (Hangzhou) Co.,Ltd. Address before: 310053 Floor 9, building 2, No. 307, Liuhe Road, Puyan street, Binjiang District, Hangzhou City, Zhejiang Province Patentee before: MAXIO TECHNOLOGY (HANGZHOU) Ltd. |
|
CP03 | Change of name, title or address |