CN114726382B - Ecc帧长匹配方法、装置、存储介质及固态硬盘 - Google Patents

Ecc帧长匹配方法、装置、存储介质及固态硬盘 Download PDF

Info

Publication number
CN114726382B
CN114726382B CN202210525771.7A CN202210525771A CN114726382B CN 114726382 B CN114726382 B CN 114726382B CN 202210525771 A CN202210525771 A CN 202210525771A CN 114726382 B CN114726382 B CN 114726382B
Authority
CN
China
Prior art keywords
ecc
data
information sequence
matching
coding frame
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
Application number
CN202210525771.7A
Other languages
English (en)
Other versions
CN114726382A (zh
Inventor
刘晓健
秦东润
王嵩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dera Technology Co Ltd
Original Assignee
Beijing Dera Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Dera Technology Co Ltd filed Critical Beijing Dera Technology Co Ltd
Priority to CN202210525771.7A priority Critical patent/CN114726382B/zh
Publication of CN114726382A publication Critical patent/CN114726382A/zh
Application granted granted Critical
Publication of CN114726382B publication Critical patent/CN114726382B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/6591Truncation, saturation and clamping

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明涉及数据存储技术领域,提供了一种ECC帧长匹配方法、装置、存储介质及固态硬盘,该方法包括:将有效数据的数据长度与ECC编码帧结构中信息序列的数据长度进行匹配,根据匹配结果对有效数据对应的ECC编码帧的信息序列进行截断处理,以使ECC编码帧的信息序列的截断后的数据长度与有效数据的数据长度一致;将物理页的单位存储空间的存储容量与信息序列截断后的ECC编码帧的数据长度进行匹配,根据匹配结果对ECC编码帧中的码字进行打孔处理,以使ECC编码帧的数据长度与单位存储空间的存储容量一致。本发明同时使用打孔和截断技术使得ECC编码帧的长度能够完全匹配物理页的尺寸,使得等效码率最低,提高数据可靠性。

Description

ECC帧长匹配方法、装置、存储介质及固态硬盘
技术领域
本发明涉及数据存储技术领域,尤其涉及一种ECC帧长匹配方法、装置、存储介质及固态硬盘。
背景技术
存储设备中通常使用NVM(Non-Volatile Memory,非易失存储器)作为存储介质,其中NAND闪存是目前应用最广泛的介质之一。为了克服存储介质导致的数据错误,纠错编码(ECC)是必不可少的技术手段。
存储介质一般以物理页作为基本存储单位,不同厂家的物理页尺寸各不相同。存储控制器上的ECC只有设法将编码后的数据帧填满物理页,才能使得等效码率最低,从而得到尽量大的纠错能力。通常,来自主机的文件一般为4K字节数据与元数据的组合,加上编码得到的校验字节后得到一个完整的ECC编码帧。如果几个ECC帧不能填满一个物理页,只能用无关数据填充剩余部分。虽然这种方法达成了兼容性,但显然没有充分利用存储空间来降低等效码率。
现有技术提出了一种帧长调整方式,通过生成的填充数据,将校验数据、用户数据单元与生成的填充数据组合成修改后的ECC块,然后通过截断数据使得ECC帧长减少,使得修改后的ECC块能够写入NVM的物理页。但是这种方法得到的几个ECC帧并不能保证填满一个物理页,因此依然无法充分利用存储空间来降低等效码率,牺牲了纠错能力。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的ECC帧长匹配方法、装置、存储介质及固态硬盘。
本发明的一个方面,提供了一种ECC帧长匹配方法,所述方法包括:
将有效数据的数据长度与ECC编码帧结构中信息序列的数据长度进行匹配,根据匹配结果对有效数据对应的ECC编码帧的信息序列进行截断处理,以使ECC编码帧的信息序列的截断后的数据长度与有效数据的数据长度一致,其中ECC编码帧结构中信息序列的数据长度大于或等于有效数据的数据长度;
将物理页的单位存储空间的存储容量与信息序列截断后的ECC编码帧的数据长度进行匹配,根据匹配结果对ECC编码帧中的码字进行打孔处理,以使ECC编码帧的数据长度与单位存储空间的存储容量一致。
进一步地,所述方法还包括:
将打孔处理后的ECC编码帧依次写入物理页中对应的单位存储空间。
进一步地,所述物理页的单位存储空间为物理页中划分出的用于存储一个ECC编码帧的数据存储空间。
进一步地,所述方法还包括:预先将物理页均匀划分为多个单位存储空间。
进一步地,所述根据匹配结果对有效数据对应的ECC编码帧的信息序列进行截断处理,包括:
从有效数据对应的ECC编码帧的信息序列中选取与LDPC码的校验矩阵中列重最小的列对应的比特进行截断处理。
进一步地,所述根据匹配结果对ECC编码帧中的码字进行打孔处理,包括:
从ECC编码帧的码字中选取与LDPC码的校验矩阵中列重最大的列对应的比特进行打孔处理。
进一步地,所述根据匹配结果对有效数据对应的ECC编码帧的信息序列进行截断处理,包括:
根据匹配结果对有效数据对应的ECC编码帧的信息序列的尾部进行截断处理。
进一步地,所述根据匹配结果对ECC编码帧中的码字进行打孔处理,包括:
根据匹配结果对有效数据对应的ECC编码帧的信息序列的头部进行打孔处理。
第二方面,本发明还提供一种ECC帧长匹配装置,所述装置包括:
第一匹配模块,用于将有效数据的数据长度与ECC编码帧结构中信息序列的数据长度进行匹配,根据匹配结果对有效数据对应的ECC编码帧的信息序列进行截断处理,以使ECC编码帧的信息序列的截断后的数据长度与有效数据的数据长度一致,其中ECC编码帧结构中信息序列的数据长度大于或等于有效数据的数据长度;
第二匹配模块,用于将物理页的单位存储空间的存储容量与信息序列截断后的ECC编码帧的数据长度进行匹配,根据匹配结果对ECC编码帧中的码字进行打孔处理,以使ECC编码帧的数据长度与单位存储空间的存储容量一致。
进一步地,所述第一匹配模块,具体用于从有效数据对应的ECC编码帧的信息序列中选取与LDPC码的校验矩阵中列重最小的列对应的比特进行截断处理,或对有效数据对应的ECC编码帧的信息序列的尾部进行截断处理。
进一步地,所述第二匹配模块,具体用于从ECC编码帧的码字中选取与LDPC码的校验矩阵中列重最大的列对应的比特进行打孔处理,或对有效数据对应的ECC编码帧的信息序列的头部进行打孔处理。
第三方面,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上ECC帧长匹配方法的步骤。
第四方面,本发明还提供了一种固态硬盘,包括存储控制器,所述存储控制器包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上ECC帧长匹配方法的步骤。
本发明实施例提供的ECC帧长匹配方法、装置、存储介质及固态硬盘,同时使用打孔和截断技术对ECC编码帧进行处理,使得几个ECC帧拼在一起的长度能够完全匹配物理页的尺寸,不存在浪费存储空间的问题,同时使得等效码率最低,纠错能力最强,最大程度地保证数据可靠性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例提供的ECC帧长匹配方法的流程图;
图2为本发明实施例提供的ECC帧长匹配装置的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。
图1示意性示出了本发明一个实施例的ECC帧长匹配方法的流程图。参照图1,本发明实施例的ECC帧长匹配方法具体包括以下步骤:
S11、将有效数据的数据长度与ECC编码帧结构中信息序列的数据长度进行匹配,根据匹配结果对有效数据对应的ECC编码帧的信息序列进行截断处理,以使ECC编码帧的信息序列的截断后的数据长度与有效数据的数据长度一致,其中ECC编码帧结构中信息序列的数据长度大于或等于有效数据的数据长度。
本实施例中,ECC编码帧的数据结构包括信息序列和校验序列。两者的长度之和用C n 表示,信息序列的长度用表示。
为了兼容不同长度的有效数据(元数据和用户数据),的尺寸必须不小于有效数据的长度。ECC信息序列多余的部分通过截断进行处理。
本实施例中,在编码时,截断位置位于信息序列,具体的,信息序列中被截断的部分用收发双方预先约定好的序列(例如全0比特)填充。编码后,该序列不进行存储或传输。解码时,被截断的序列由解码器根据预先约定好的序列填充,并将其输入解码器的置信度的幅度设为最大值。
S12、将物理页的单位存储空间的存储容量与信息序列截断后的ECC编码帧的数据长度进行匹配,根据匹配结果对ECC编码帧中的码字进行打孔处理,以使ECC编码帧的数据长度与单位存储空间的存储容量一致。
本实施例中,打孔位置可以位于信息序列,也可以位于校验序列,具体的,编码后直接将被打孔的比特丢弃,这些比特既可以是信息位也可以是校验位。由于解码器不知道被打孔的比特信息,这些比特输入解码器的置信度被设为零。对于LDPC码,解码器首先要恢复出这些被打孔的比特信息后,再对其余的比特进行解码。
本发明实施例的ECC帧长匹配方法,同时使用打孔和截断技术对ECC编码帧进行处理,使得几个ECC帧拼在一起的长度能够完全匹配物理页的尺寸,对于当前各个厂家的NAND,均可以将物理页用有效数据对应ECC编码帧填满,不存在浪费存储空间的问题,同时使得等效码率最低,纠错能力最强,最大程度地保证数据可靠性。
本发明实施例中,纠错码选用LDPC码,其检验位长度较长,使得其加上用户的有效数据得到的ECC编码帧的长度“超标”,即几个ECC帧拼在一起的长度超过物理页的尺寸。为此,本发明会选择ECC编码帧中的一些码字进行打孔,从而保证几个ECC帧的长度刚好填满一个物理页。
具体的,截断的长度Cshorten与用户存储有效数据的长度Needk和Ck的尺寸有关。
其计算方法如公式(1):
Cshorten=Ck—Needk(1)
打孔长度Cpuncture与Cn-shorten和NANDtotal有关,其中Cn-shorten指码字Cn截断后的长度,见公式(2),NANDtotal指NAND的一个物理页经过均匀切分后,提供给一个ECC码字的单位存储空间。
Cn-shorten= Cn—Cshorten(2)
打孔长度计算方式如公式(3):
Cpuncture= Cn-shorten—NANDtotal(3)
本发明实施例中,为了保证Cn-shorten必须不小于NANDtotal,因此纠错码选用LDPC码,LDPC码的校验序列的长度是“超标”的,不对编码后的码字进行打孔的话,是“塞不进”分配的尺寸为NANDtotal存储空间的。这是和现有技术非常不同的地方。现有技术由于不支持打孔,所以校验序列必须长度较短,才能保证Cn-shorten≤NANDtotal。但这样做,码字的等效码率为Needk / Cn-shorten。而本发明可以让等效码率降低到Needk / NANDtotal
为了说明截断和打孔的计算过程,下面通过一个具体例子来说明ECC帧长匹配方法的实现。其中,表1是用户存储需求,表2是NAND FLASH一个物理页切分成4份后的存储量。表3是码字参数。表4是截断和打孔长度的计算结果。
表1用户存储需求
Figure DEST_PATH_IMAGE001
表2 NAND FLASH一页的存储量
Figure 354122DEST_PATH_IMAGE002
表3码字参数
Figure DEST_PATH_IMAGE003
表4截断和打孔长度
Figure 208946DEST_PATH_IMAGE004
本实施例中,物理页的单位存储空间为物理页中划分出的用于存储一个ECC编码帧的数据存储空间。
本发明实施例中,预先将物理页均匀划分为多个单位存储空间。具体的,预先对NAND的一个物理页进行均匀切分,将物理页均匀划分为多个单位存储空间,以为每一个ECC码字提供数据存储空间,使得几个ECC帧拼在一起的长度能够完全匹配物理页的尺寸,使得等效码率最低。
本发明实施例中,在步骤S22之后,所述方法还包括附图中未示出的如下步骤,将打孔处理后的ECC编码帧依次写入物理页中对应的单位存储空间。
本发明实施例中,对各个待存储的有效数据进行截断和打孔后依次写入物理页中对应的单位存储空间,使得几个ECC帧拼在一起的长度能够完全匹配物理页的尺寸,使得等效码率最低。
本发明的一个可选实施例中,根据匹配结果对有效数据对应的ECC编码帧的信息序列进行截断处理,具体包括:从有效数据对应的ECC编码帧的信息序列中选取与LDPC码的校验矩阵中列重最小的列对应的比特进行截断处理。
进一步地,所述根据匹配结果对ECC编码帧中的码字进行打孔处理,具体包括:从ECC编码帧的码字中选取与LDPC码的校验矩阵中列重最大的列对应的比特进行打孔处理。
本实施例中,对于非规则LDPC校验矩阵而言,打孔和截断的位置选择对于纠错能力的影响很大。非规则指的是LDPC码的校验矩阵的列重或行重不统一。本发明实施例为了不影响纠错能力,在进行截断和打孔时的选择逻辑是:打孔位置优先选择校验矩阵中列重最大的列对应的比特;而截断位置则优选选择校验矩阵中列重最小的列对应的比特。
本发明的一个可选实施例中,所述根据匹配结果对有效数据对应的ECC编码帧的信息序列进行截断处理,具体包括:根据匹配结果对有效数据对应的ECC编码帧的信息序列的尾部进行截断处理。
进一步地,所述根据匹配结果对ECC编码帧中的码字进行打孔处理,具体包括:根据匹配结果对有效数据对应的ECC编码帧的信息序列的头部进行打孔处理。而且,为了不影响纠错能力,打孔比特在选取时有特殊的考虑。
本实施例中,为了方便编码器和解码器的相关操作,可选地在编码序列的头部选取被打孔的比特序列,而在信息序列的尾部选取截断的比特序列。具体的,为了同时满足上一实施例提出的截断和打孔的选择逻辑,在校验矩阵设计选取时,将适合打孔的列(即校验矩阵中列重最大的列)放在最左侧,而适合截断的列(校验矩阵中列重最小的列)放在信息位的最右侧,使得被打孔的比特序列总是在编码序列的头部,而截断的比特序列在信息序列的尾部。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
图2示意性示出了本发明一个实施例的ECC帧长匹配装置的结构示意图。参照图2,本发明实施例的ECC帧长匹配装置具体包括第一匹配模块201以及第二匹配模块202,其中:
第一匹配模块201,用于将有效数据的数据长度与ECC编码帧结构中信息序列的数据长度进行匹配,根据匹配结果对有效数据对应的ECC编码帧的信息序列进行截断处理,以使ECC编码帧的信息序列的截断后的数据长度与有效数据的数据长度一致,其中ECC编码帧结构中信息序列的数据长度大于或等于有效数据的数据长度;
第二匹配模块202,用于将物理页的单位存储空间的存储容量与信息序列截断后的ECC编码帧的数据长度进行匹配,根据匹配结果对ECC编码帧中的码字进行打孔处理,以使ECC编码帧的数据长度与单位存储空间的存储容量一致。
其中,物理页的单位存储空间为物理页中划分出的用于存储一个ECC编码帧的数据存储空间。
进一步地,所述装置还包括附图中未示出的配置模块,用于预先将物理页均匀划分为多个单位存储空间。
进一步地,所述装置还包括附图中未示出的处理模块,用于将打孔处理后的ECC编码帧依次写入物理页中对应的单位存储空间。
在本发明实施例中,第一匹配模块201,具体用于从有效数据对应的ECC编码帧的信息序列中选取与LDPC码的校验矩阵中列重最小的列对应的比特进行截断处理;
进一步地,第二匹配模块202,具体用于从ECC编码帧的码字中选取与LDPC码的校验矩阵中列重最大的列对应的比特进行打孔处理。
在本发明另一个实施例中,第一匹配模块201,具体用于对有效数据对应的ECC编码帧的信息序列的尾部进行截断处理。
进一步地,第二匹配模块202,具体用于对有效数据对应的ECC编码帧的信息序列的头部进行打孔处理。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
此外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述ECC帧长匹配方法的步骤。
本实施例中,所述ECC帧长匹配方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
此外,本发明实施例还提供了一种固态硬盘,包括存储控制器,所述存储控制器包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上ECC帧长匹配方法的步骤。例如图1所示的步骤S11~S12。
本发明实施例提供的ECC帧长匹配方法、装置、存储介质及固态硬盘,同时使用打孔和截断技术对ECC编码帧进行处理,使得几个ECC帧拼在一起的长度能够完全匹配物理页的尺寸,不存在浪费存储空间的问题,同时使得等效码率最低,纠错能力最强,最大程度地保证数据可靠性。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (13)

1.一种ECC帧长匹配方法,其特征在于,所述方法包括:
将有效数据的数据长度与ECC编码帧结构中信息序列的数据长度进行匹配,根据匹配结果对有效数据对应的ECC编码帧的信息序列进行截断处理,以使ECC编码帧的信息序列的截断后的数据长度与有效数据的数据长度一致,其中ECC编码帧结构中信息序列的数据长度大于或等于有效数据的数据长度;
将物理页的单位存储空间的存储容量与信息序列截断后的ECC编码帧的数据长度进行匹配,根据匹配结果对ECC编码帧中的码字进行打孔处理,以使ECC编码帧的数据长度与单位存储空间的存储容量一致。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将打孔处理后的ECC编码帧依次写入物理页中对应的单位存储空间。
3.根据权利要求1所述的方法,其特征在于,所述物理页的单位存储空间为物理页中划分出的用于存储一个ECC编码帧的数据存储空间。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:预先将物理页均匀划分为多个单位存储空间。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述根据匹配结果对有效数据对应的ECC编码帧的信息序列进行截断处理,包括:
从有效数据对应的ECC编码帧的信息序列中选取与LDPC码的校验矩阵中列重最小的列对应的比特进行截断处理。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述根据匹配结果对ECC编码帧中的码字进行打孔处理,包括:
从ECC编码帧的码字中选取与LDPC码的校验矩阵中列重最大的列对应的比特进行打孔处理。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述根据匹配结果对有效数据对应的ECC编码帧的信息序列进行截断处理,包括:
根据匹配结果对有效数据对应的ECC编码帧的信息序列的尾部进行截断处理。
8.根据权利要求1-4任一项所述的方法,其特征在于,所述根据匹配结果对ECC编码帧中的码字进行打孔处理,包括:
根据匹配结果对有效数据对应的ECC编码帧的信息序列的头部进行打孔处理。
9.一种ECC帧长匹配装置,其特征在于,所述装置包括:
第一匹配模块,用于将有效数据的数据长度与ECC编码帧结构中信息序列的数据长度进行匹配,根据匹配结果对有效数据对应的ECC编码帧的信息序列进行截断处理,以使ECC编码帧的信息序列的截断后的数据长度与有效数据的数据长度一致,其中ECC编码帧结构中信息序列的数据长度大于或等于有效数据的数据长度;
第二匹配模块,用于将物理页的单位存储空间的存储容量与信息序列截断后的ECC编码帧的数据长度进行匹配,根据匹配结果对ECC编码帧中的码字进行打孔处理,以使ECC编码帧的数据长度与单位存储空间的存储容量一致。
10.根据权利要求9所述的装置,其特征在于,所述第一匹配模块,具体用于从有效数据对应的ECC编码帧的信息序列中选取与LDPC码的校验矩阵中列重最小的列对应的比特进行截断处理,或对有效数据对应的ECC编码帧的信息序列的尾部进行截断处理。
11.根据权利要求9所述的装置,其特征在于,所述第二匹配模块,具体用于从ECC编码帧的码字中选取与LDPC码的校验矩阵中列重最大的列对应的比特进行打孔处理,或对有效数据对应的ECC编码帧的信息序列的头部进行打孔处理。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-8任一项所述方法的步骤。
13.一种固态硬盘,其特征在于,包括存储控制器,所述存储控制器包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-8任一项所述方法的步骤。
CN202210525771.7A 2022-05-16 2022-05-16 Ecc帧长匹配方法、装置、存储介质及固态硬盘 Active CN114726382B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210525771.7A CN114726382B (zh) 2022-05-16 2022-05-16 Ecc帧长匹配方法、装置、存储介质及固态硬盘

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210525771.7A CN114726382B (zh) 2022-05-16 2022-05-16 Ecc帧长匹配方法、装置、存储介质及固态硬盘

Publications (2)

Publication Number Publication Date
CN114726382A CN114726382A (zh) 2022-07-08
CN114726382B true CN114726382B (zh) 2022-08-09

Family

ID=82231578

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210525771.7A Active CN114726382B (zh) 2022-05-16 2022-05-16 Ecc帧长匹配方法、装置、存储介质及固态硬盘

Country Status (1)

Country Link
CN (1) CN114726382B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105490684A (zh) * 2015-11-30 2016-04-13 华侨大学 一种有限长ldpc码的打孔算法
CN107168816A (zh) * 2016-03-07 2017-09-15 北京忆恒创源科技有限公司 Ecc帧长调整方法及其装置
CN109565289A (zh) * 2016-08-11 2019-04-02 瑞典爱立信有限公司 基于目标信息长度和目标奇偶校验长度的纠错码选择
CN112289353A (zh) * 2019-07-25 2021-01-29 上海磁宇信息科技有限公司 一种优化的具有ecc功能的mram系统及其操作方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3184129B2 (ja) * 1997-09-29 2001-07-09 甲府日本電気株式会社 記憶装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105490684A (zh) * 2015-11-30 2016-04-13 华侨大学 一种有限长ldpc码的打孔算法
CN107168816A (zh) * 2016-03-07 2017-09-15 北京忆恒创源科技有限公司 Ecc帧长调整方法及其装置
CN109565289A (zh) * 2016-08-11 2019-04-02 瑞典爱立信有限公司 基于目标信息长度和目标奇偶校验长度的纠错码选择
CN112289353A (zh) * 2019-07-25 2021-01-29 上海磁宇信息科技有限公司 一种优化的具有ecc功能的mram系统及其操作方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Simultaneously Reducing Cost and Improving Performance of NVM-based block devices via transparent data compression;Xubin Chen等;《MEMSYS 19: Proceedings of the International Symposium on Memory Systems》;20190930;全文 *

Also Published As

Publication number Publication date
CN114726382A (zh) 2022-07-08

Similar Documents

Publication Publication Date Title
US9209832B2 (en) Reduced polar codes
EP2229680B1 (en) Memory controller supporting rate compatible punctured codes
KR101576102B1 (ko) 플래시 메모리의 블록으로부터 데이터를 판독하는 방법 및 관련 메모리 장치
CN101950586B (zh) 存储控制器及控制数据读取的方法
US20120096328A1 (en) Multi-write endurance and error control coding of non-volatile memories
US8954831B2 (en) Error correction codes for incremental redundancy
US20120254686A1 (en) Non-volatile semiconductor memory devices and error correction methods
US20090276680A1 (en) Error correction circuit and method thereof
EP3121719B1 (en) Systems and methods to improve the reliability and lifespan of flash memory
CN112486725A (zh) 一种对压缩数据进行纠错编码的方法和装置
KR20190072972A (ko) 컨볼루션 타입의 저밀도 패리티 체크 코드를 이용하여 인코딩 및 디코딩을 수행하는 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법
US10855314B2 (en) Generating and using invertible, shortened Bose-Chaudhuri-Hocquenghem codewords
CN114913900A (zh) 静态ecc纠错的nand错误处理方法、装置、计算机设备及存储介质
CN113168882B (zh) 一种编码方法、译码方法以及存储控制器
CN114203250B (zh) 固态存储器的数据存储方法、数据读取方法及固态存储器
KR20210057787A (ko) Turbo 곱 코드 디코딩 방법, 장치, 디코더 및 컴퓨터 기록 매체
CN114726382B (zh) Ecc帧长匹配方法、装置、存储介质及固态硬盘
KR20210001927A (ko) 국부성을 사용한 일반화된 연접 에러 정정 코딩 방법
CN107168816B (zh) Ecc帧长调整方法及其装置
US8627183B1 (en) Systems and methods for storing variable rate product codes
CN110795271A (zh) 对用户数据执行纠错的纠错电路和使用其的纠错方法
CN114078560B (zh) Nand闪存芯片的纠错译码方法、存储介质及ssd设备
CN113612484A (zh) 一种硬判决和软判决相结合的高效ldpc纠错算法的实现方法
CN115242255A (zh) 一种基于汉明-vt的dna存储编码方法
CN107423159B (zh) 一种基于闪存错误模式提升ldpc译码性能的方法

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