一种混合解码方法、存储装置控制器及存储系统

文档序号:195344 发布日期:2021-11-02 浏览:33次 >En<

阅读说明:本技术 一种混合解码方法、存储装置控制器及存储系统 (Hybrid decoding method, storage device controller and storage system ) 是由 不公告发明人 于 2021-07-14 设计创作,主要内容包括:本申请公开一种混合解码方法、存储装置控制器及存储系统,涉及解码技术,所述方法包括:利用第一解码器对待解码资料进行解码;当第一解码器解码失败时,将解码失败后的资料的比特位进行位翻转;将所述位翻转之后的资料输入第二解码器进行解码。通过将第一解码器解码失败之后的资料进行位翻转操作,然后将其输入第二解码器进行解码,可以提高解码效率,提升解码速度。(The application discloses a hybrid decoding method, a storage device controller and a storage system, which relate to the decoding technology, wherein the method comprises the following steps: decoding the data to be decoded by using a first decoder; when the first decoder fails to decode, bit flipping is carried out on the bits of the data after decoding failure; and inputting the data after the bit flipping into a second decoder for decoding. By performing bit flipping operation on the data after the decoding failure of the first decoder and then inputting the data into the second decoder for decoding, the decoding efficiency and the decoding speed can be improved.)

一种混合解码方法、存储装置控制器及存储系统

技术领域

本申请涉及编解码技术,尤其设计一种混合解码方法、存储装置控制器及存储系统。

背景技术

一种常用的错误校正码便是LDPC(低密度奇偶校验码),其是用于恢复数据中相对大量错误的先进纠错码。已知的,BF(BitFlipping比特翻转)解码器、MS(Min-Sum最小和)解码器可用于解码LDPC码字。BF解码在闪存中提供较大的传输量和短的解码时间,但纠错能力有限,因此会在闪存的寿命前期使用BF解码。当出现的数据错误增加,达到BF解码的纠错上限,此时再改用传输量较小,解码时间长,但是纠错能力更强的MS解码。

BF解码失败,常常是迭代翻转过程中存在死锁的状况,即错误翻转在两种状况中来回翻转无法跳出,BF解码陷入死循环。即使在BF解码失败后切换MS解码,也需要重新读取待解码资料,进行MS解码,极大降低了总解码效率,增加了解码时间。

发明内容

鉴于此,本申请提供一种混合解码方法,以解决当前解码效率低等问题。

一种混合解码方法,所述方法包括:

利用第一解码器对待解码资料进行解码;

当第一解码器解码失败时,将解码失败后的资料的比特位进行位翻转;

将所述位翻转之后的资料输入第二解码器进行解码。

更进一步地,所述当第一解码器解码失败时,将解码失败后的资料的比特位进行位翻转之前,所述方法还包括:

记录异常的比特位的异常信息;

所述当第一解码器解码失败时,将解码失败后的资料的比特位进行位翻转包括:

当第一解码器解码失败时,根据所述异常信息将解码失败后的资料的比特位进行位翻转。

更进一步地,所述异常的比特位包括:擦除后为逻辑0的比特位。

更进一步地,所述异常信息包括:异常的比特位所处的具体位置。

更进一步地,所述当第一解码器解码失败时,根据所述异常信息将解码失败后的资料的比特位进行位翻转包括:

当第一解码器解码失败时,将解码失败后的资料的错误比特位并且属于异常信息的比特位进行位翻转。

更进一步地,所述第一解码器为位翻转解码器,所述第二解码器为最小和解码器。

更进一步地,所述将所述位翻转之后的资料输入第二解码器进行解码之后,所述方法还包括:

当所述第二解码器解码失败时,将解码失败后的资料的比特位进行位翻转;

将所述位翻转之后的资料输入第一解码器或第二解码器进行解码。

一种混合解码器,所述混合解码器包括第一解码器、第二解码器,所述第一解码器用于对待解码资料进行解码;所述第二解码用于在第一解码器解码失败时,将解码失败后的资料的比特位进行位翻转并将位翻转之后的资料作为输入进行解码。

一种存储装置控制器,所述存储装置控制器包括控制组件和解码组件,所述解码组件包括第一解码器和第二解码器;

所述第一解码器用于对待解码资料进行解码;所述控制组件用于在第一解码器解码失败时,将解码失败后的资料的比特位进行位翻转,并将位翻转之后的资料输入第二解码器进行解码。

更进一步地,所述控制组件还用于在第二解码器解码失败时,将解码失败后的资料的比特位进行位翻转并将位翻转之后的资料输入第一解码器或第二解码器进行解码。

本发明通过将第一解码器解码失败之后的资料的比特位进行位翻转,并将位翻转之后的资料输入第二解码器,以提高第二解码器的解码成功率,进而提升混合解码器的解码效率。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一实施例的存储器系统的框图;

图2是本申请一实施例的存储装置控制器的框图;

图3是本申请一实施例的混合解码方法的流程图;

图4是本申请另一实施例的混合解码方法的流程图。

具体实施方式

下面结合附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,下述各个实施例及其技术特征可以相互组合。

本申请提供一种混合解码方法,可适用于通信、存储等技术领域,本申请仅以该方法在存储领域的具体适用为例对该解码方法进行阐述,其他领域的解码方式可进行类似参考。

请参考图1,为本申请所提供的一种存储系统10的结构示意图。存储系统10可以包括存储装置控制器100和存储装置200,存储系统10可以响应来自外部主机装置的请求操作,并存储由外部主机装置访问的数据。外部主机装置可以是各种电子装置中的任意一种,如台式计算机、工作站、音频播放器/记录器、游戏设备等,也可以包括便携式电子装置,如移动电话、便携式多媒体播放器、便携式游戏机等。

存储系统10可以存储待有外部主机装置访问的数据,具体的可以包括闪存存储器设备、相变随机存取存储器(PRAM)设备、铁电RAM(FRAM)设备或者磁RAM(MRAM)设备。存储系统10还可以是一个或多个非易失性存储设备和一个或多个易失性存储设备的组合,也可以是不同类似的非易失性存储设备的组合。

存储装置200可以包括单个或多个存储芯片,单个存储芯片可以包括单个裸片(DIE)或多个裸片,单个裸片可以包括单个平面(Plane)或多个平面。单个平面可以包括多个存储块(Block),每个存储块可以包括多个页(Page)。

存储装置控制器100可以控制存储装置200中的全部操作。如存储装置控制器100可以根据外部主机装置的请求对存储装置200进行读写控制。存储装置控制器100可以将从存储装置200中读出的数据读出到外部主机装置,也可以将从外部主机装置提供过来的数据写入到存储装置200中。其中存储装置200可以在存储装置控制器100的控制下执行一个或多个擦除操作、编程操作和读取操作。存储装置200可以通过输入/输出(I/O)线接收命令CMD、地址ADDR和数据DATA。存储装置200可以通过电源线接收电力PWR,以及通过控制线接收控制信号CTRL。控制信号CTRL可以包括命令锁存使能(CLE)信号、地址锁存使能(ALE)信号、芯片使能(CE)信号、写入使能(WE)信号、读取使能(RE)信号等。

参见图2,存储装置控制器100可以包括通过总线160连接的内部存储器110,中央处理单元(CPU)的处理器的控制部件120、错误校正码(ECC)部件130、主机接口140和存储装置接口150。

内部存储器110可利用如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)的易失性存储器来实施。为了存储数据,内部存储器可包括程序存储器、数据存储器、写入缓存器、读取缓冲器、映射缓冲器等,用于存储由控制器100和存储单元使用的数据,以用于如读取、写入、编程和擦除的操作。

控制部件120可控制存储装置200的一般操作,以及响应来自外部主机装置的写入请求或读取请求来控制存储装置200的写入操作或读取操作。控制部件120可驱动闪存转换层(FTL)的固件来控制存储系统10的一般操作。如:FTL可执行诸如逻辑到物理的映射、磨损均衡、垃圾回收和/或坏块处理的操作。

从存储器读出的码字需要进行解码,因此设置一解码组件,即ECC解码组件130,该组件可检测并校正在读取操作期间从存储装置200读取的数据中的错误。在本申请中,该解码组件可以一混合解码器,该混合解码器包括第一解码器和第二解码器,在本申请中,该第一解码器可以是BF解码器(位翻转解码器),而第二解码器可以是MS解码器。在其他情形中,对第一解码器、第二解码器的类型并不进行限定,也可以是其他解码器。混合解码器中的第一解码器可以用于对待解码资料进行解码;当第一解码器解码失败时,可以将解码失败后的资料的比特位进行位翻转,并将位翻转之后的资料作为第二解码器的输入进行解码。例如:当待解码资料错位为三个比特位,具体可以为[1011100]时,可利用BF解码器对该资料进行解码,当BF解码器解码失败时,已更正待解码资料的一个比特位,待更正为两个比特位,获得第一输出资料为[1011110],同时可以将该输出资料的一个待更正比特位进行位翻转操作,得到第二输入资料[1011111],进而将该第二输入资料输入MS解码器进行解码。通过将第一解码器解码失败之后的资料的比特位进行位翻转,并将该资料输入第二解码器,以提高第二解码器的解码成功率,进而提升混合解码器的解码效率。

作为可选的实施方式,在本申请中,当第二解码器解码失败时,还可以将解码失败后的资料的比特位进行二次位翻转,并将再次位翻转之后的资料输入第一解码器或第二解码器进行解码。例如:如果MS解码器对第二输入资料解码并未成功,存储装置控制器100可将该第二解码器的输出资料进行保存,并且进行二次位翻转操作,并将二次位翻转之后的资料作为第一解码器或者第二解码器的输入,利用BF解码器或者MS解码器进行再次解码。

主机接口140可通过接口协议与外部主机装置进行通信。该接口协议可以是通用串行接口(USB)、多媒体卡(MMC)、高速外围组件互连(PCIE)、串行高级技术附件(SATA)等中的一种或多种。

存储装置接口150可提供存储装置控制器100和存储装置200之间的通信,以允许存储装置控制器100响应来自于外部主机装置的请求而控制存储装置200。存储装置接口150可以在控制部件120的控制下生成用于存储装置200的控制信号并处理数据。当存储装置200是诸如基于Nand闪存芯片的闪存组件时,存储装置接口150可在控制部件120的控制下生成用于闪存组件的控制信号并处理数据。

图3所示,为本申请所提供的一种混合解码方法,该混合解码方法可适用于上述混合解码器、存储装置控制器和存储系统等装置,该混合解码方法包括以下步骤:

步骤310:利用第一解码器对待解码资料进行解码。

该第一解码器可以是混合解码器中的BF解码器(位翻转解码器),该待解码资料可以是从存储装置200获取的码字信息,包括信息位和校验位信息。利用BF解码器对该待解码资料可进行违反装解码。

步骤320:当第一解码器解码失败时,将解码失败后的资料的比特位进行位翻转。

上述第一解码器失败可以是第一解码器迭代次数达到最大值,或者进入解码死锁进而被判定为解码失败,具体的当该第一解码器为BF解码器时,当位翻转解码达到最大次数值或者出现死锁环节,则为解码失败。此时存储装置控制器可将该解码失败之后的资料数据进行保存,具体的可利用内部存储器、存储装置或者控制组件的内部寄存器进行该数据的保存,对此并不进行限定。存储装置控制器在将该解码失败之后的资料数据保存之后,再对该资料数据的比特位进行位翻转操作,例如:将解码失败之后的资料数据的特定比特位进行位翻转操作生成并保存。

步骤330:将所述位翻转之后的资料输入第二解码器进行解码。

所述位翻转之后的资料由第一解码器解码失败之后的数据资料进过位翻转生成,在该资料生成之后,将该资料输入第二解码器进行解码操作。例如:当第二解码器是MS解码器。当待解码资料错位为三个比特位,具体可以为[1011100]时,可利用BF解码器对该资料进行解码,当BF解码器解码失败时,已更正待解码资料的一个比特位,待更正为两个比特位,获得第一输出资料为[1011110],同时可以将该输出资料的一个待更正比特位进行位翻转操作,得到第二输入资料[1011111],进而将该第二输入资料输入MS解码器进行解码。

通过将第一解码器解码失败之后的资料的比特位进行位翻转,并将该资料输入第二解码器,以提高第二解码器的解码成功率,进而提升混合解码器的解码效率。

图4为本申请提供的一种混合解码方法,在该方法中,存在于上述解码方法相同或者类似步骤,可参考上述说明,本处不再赘述。在本方法中,该混合解码方法包括:

步骤306:记录异常的比特位的异常信息。

该异常的比特位可以是因实体物理器件导致的比特信息记录的异常或者不可靠,或者通信过程中造成的比特信息丢失或错误,本处不做具体限定。当本方法适用于闪存存储系统时,可将擦除之后为逻辑0的比特位判定为异常;当本方法适用于易失性存储系统时,可将存储单元的物理失效或者比特位翻转判定为异常;当本方法适用于通信技术时,可将数据资料在链路传输过程中的比特位翻转判定为异常。

上述异常信息可以包括异常的比特位的具体位置,例如:当该异常的比特位为擦除之后为逻辑0的比特位时,则该异常信息可以包括该擦除之后为逻辑0的比特位的具体信息,例如:记录该擦除之后为逻辑0的比特位处于该存储装置的第2存储块的第3存储页的第12存储单元。

步骤308:读取待解码资料。

所述读取待解码资料,可以是存储装置控制器从存储装置读取待解码数据的码字,或者是接受到的通信数据资料。

步骤310:利用第一解码器对待解码资料进行解码。

上述第一解码器可以是位翻转解码器,也可以是其他解码器,在本实施例中以位翻转解码器予以说明。

步骤316:判断第一解码器解码是否成功。

步骤320:当第一解码器解码失败时,根据所述异常信息将解码失败后的资料的比特位进行位翻转。

当第一解码器解码失败时,将解码失败之后的资料数据进行保存,并根据步骤306记录异常信息对该资料数据的比特位进行位翻转,例如:当步骤306记录该擦除之后为逻辑0的比特位处于该存储装置的第2存储块的第3存储页的第12存储单元;而当前资料在该存储单元出现错误待更正,则可以将比特位进行位翻转。擦除之后为逻辑0的比特位可以认定为不可靠的比特位,进而可以将该比特位进行位翻转操作,以更正该比特位上的比特。

步骤330:将所述位翻转之后的资料输入第二解码器进行解码。

在本实施例中,第二解码器可以是最小和解码器,本实施例以最小和解码器予以说明。

步骤336:第二解码器解码是否成功?

当所述第二解码器解码失败时,则将第二解码器解码失败后的资料的比特位进行二次位翻转,上述二次位翻转可以再次根据步骤306的异常信息进行特定比特位的位翻转操作,然后继续将二次位翻转之后的数据作为第一解码器或者第二解码器的输入,利用BF解码器或者MS解码器进行再次解码,已进行多次迭代。

步骤338:解码成功。

本申请的实施例通过记录异常的比特位异常信息,然后在第一解码器解码失败时,根据前期记录的异常信息对资料数据的错位比特进行位翻转操作,并将位翻转之后的资料输入第二解码器进行解码,进而提高解码成功率,提升解码器的解码效率,有效地降低整体解码时长。

本申请还提供一种混合解码器,该混合解码器包括第一解码器、第二解码器,所述第一解码器用于对待解码资料进行解码;所述第二解码用于在第一解码器解码失败时,将解码失败后的资料的比特位进行位翻转并将位翻转之后的资料作为输入进行解码。

本申请还提供一种存储装置控制器,该存储装置控制器包括控制组件和解码组件,所述解码组件包括第一解码器和第二解码器;所述第一解码器用于对待解码资料进行解码;所述控制组件用于在第一解码器解码失败时,将解码失败后的资料的比特位进行位翻转,并将位翻转之后的资料输入第二解码器进行解码。所述控制组件还用于在第二解码器解码失败时,将解码失败后的资料的比特位进行位翻转并将位翻转之后的资料输入第一解码器或第二解码器进行解码。上述存储装置控制器与上述实施例所述的存储装置控制器存在相同或者相似功能特点。

本申请还提供一种存储系统,可包括如上述实施例的存储装置控制器和存储装置,或者运行如上述实施例的混合解码方法。

以上所述仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,例如各实施例之间技术特征的相互结合,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:软数据处理方法、装置、存储介质及解码器

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类