发明名称 一种固态盘自适应纠错方法与系统
摘要 本发明公开了一种固态盘内部自适应LDPC纠错方法,包括(1)初始化:固态盘在输入数据前,进行块擦除操作,并初始化所有擦除块的纠错码标识符;(2)固态盘自适应纠错编码:对写入的原始数据进行编码生成码字;(3)固态盘译码过程,包括:(3.1)判断是否有读操作,如果有读操作则转向(3.2),否则结束;(3.2)判断读取页所在块i的纠错码标识符B<sub>i</sub>是否为0;(3.3)如果B<sub>i</sub>为0,则块i内所有页采用弱LDPC码进行纠错;(3.4)固态盘自适应纠错码切换操作;(3.5)如果B<sub>i</sub>为1,则块i内所有页采用强LDPC码进行纠错。本发明适用于固态盘纠错领域,提升LDPC纠错性能充分发挥和存储数据的可靠性。
申请公布号 CN104835535A 申请公布日期 2015.08.12
申请号 CN201510247332.4 申请日期 2015.05.15
申请人 华中科技大学 发明人 冯丹;戚世贵;刘景宁;荣震
分类号 G11C29/42(2006.01)I 主分类号 G11C29/42(2006.01)I
代理机构 华中科技大学专利中心 42201 代理人 曹葆青
主权项 一种固态盘自适应纠错方法,其特征在于,所述方法包括如下步骤:(1)初始化:固态盘在输入数据前,进行块擦除操作,以便写入数据,并初始化所有擦除块的纠错码标识符B<sub>i</sub>=0,其中i=0,1,…,n,n表示固态盘擦除块的数量;(2)固态盘自适应纠错编码,包括:(2.1)当一页原始数据R被写入固态盘闪存芯片时,根据弱LDPC码的生成矩阵G<sub>1</sub>对原始数据R进行编码得到码字C<sub>1</sub>=R×G<sub>1</sub>,码字C<sub>1</sub>去掉原始数据R得到弱LDPC码校验信息P<sub>1</sub>;(2.2)由强LDPC码的生成矩阵G<sub>2</sub>对一页原始数据R编码生成码字C<sub>2</sub>=R×G<sub>2</sub>,码字C<sub>2</sub>去掉原始数据R得到强LDPC码校验信息P<sub>2</sub>;(2.3)一页原始数据R和P<sub>1</sub>,P<sub>2</sub>组成一页的码字C=(R,P<sub>1</sub>,P<sub>2</sub>);(2.4)将生成的码字C写入闪存芯片中;(3)固态盘译码过程,包括:(3.1)判断是否有读操作,如果有读操作则转向(3.2),否则结束;(3.2)判断读取页所在块i的纠错码标识符B<sub>i</sub>是否为0;(3.3)如果B<sub>i</sub>为0,则块i内所有页采用弱LDPC码进行纠错;(3.4)固态盘自适应纠错码切换操作,包括:(3.4.1)如果块i中一页使用弱LDPC码纠错失败,赋值块i的纠错码标识符B<sub>i</sub>=1,并转到步骤(3.5);(3.4.2)如果块i使用强LDPC码进行纠错后,如果块i被擦除,赋值块i的纠错码标识符B<sub>i</sub>=0,并转到步骤(3.2);(3.5)如果B<sub>i</sub>为1,则块i内所有页采用强LDPC码进行纠错。
地址 430074 湖北省武汉市洪山区珞喻路1037号