CN105893167A - 一种信息处理方法及装置、电子设备 - Google Patents

一种信息处理方法及装置、电子设备 Download PDF

Info

Publication number
CN105893167A
CN105893167A CN201610184716.0A CN201610184716A CN105893167A CN 105893167 A CN105893167 A CN 105893167A CN 201610184716 A CN201610184716 A CN 201610184716A CN 105893167 A CN105893167 A CN 105893167A
Authority
CN
China
Prior art keywords
data
decoding
decoder
stressed
judged result
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.)
Pending
Application number
CN201610184716.0A
Other languages
English (en)
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 legend core technology Co., Ltd.
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201610184716.0A priority Critical patent/CN105893167A/zh
Publication of CN105893167A publication Critical patent/CN105893167A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1068Adding 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check

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

本发明公开了一种信息处理方法及装置、电子设备,其中:所述方法包括:判断第一译码器译码第一数据是否失败,得到第一判断结果;当所述第一判断结果表明所述第一译码器译码第一数据失败时,保存第一译码数据,并释放所述第一译码器,其中所述第一译码数据为第一子数据译码后的数据,所述第一子数据为所述第一数据中已经译码成功的数据;判断是否利用重读译码器重读所述第一数据,得到第二判断结果;当第二判断结果表明利用重读译码器重读所述第一数据时,判断重读缓存器中是否被占用,得到第三判断结果,所述重读缓存器用于所述重读译码器存储译码数据;当所述第三判断结果表明重读缓存器未被占用时,将所述第一译码数据保存在所述重读缓存器中。

Description

一种信息处理方法及装置、电子设备
技术领域
本发明涉及电子技术,尤其涉及一种信息处理方法及装置、电子设备。
背景技术
固态硬盘(SSD,又称固态存储器)是基于闪存单元的数据存储设备,固态硬盘上的每个数据位保存在由浮栅晶体管制成的闪存单元里,SSD整个都是由电子组件制成的,没有像硬盘那样的移动或者机械的部分。
在浮栅晶体管中,使用电压来实现每个位的读写和擦除,写晶体管有两个类型:NOR闪存和Nand闪存。在本发明实施例中仅讨论Nand闪存,Nand闪存模块的一个重要特征是,闪存单元是损耗性的,因此它们有一个寿命。实际上,晶体管是通过保存电子来实现保存比特信息的。在每个P/E循环(Program/Erase,Program在这表示写)中电子可能被晶体管误捕,一段是时间以后,大量电子被捕获会使得闪存单元不可用。Nand闪存模块的另一个重要特征是,Nand的访问方式是读写以页为单位,擦除以块为单位。
每个单元有一个最大的P/E循环数量,当闪存单元被认为有缺陷后,Nand闪存被损耗而拥有一个有限的寿命,不同类型的Nand闪存有不同的寿命。目前业界中的Nand闪存单元类型有:单层单元(SLC),这种的晶体管只能存储一个比特但寿命很长。多层单元(MLC),这种的晶体管可以存储2个比特,但是会导致增加延迟时间和相对于SLC减少寿命。三层单元(TLC),这种的晶体管可以保存3个比特,但是会有更高的延迟时间和更短的寿命。
由以上可以看出,Nand flash内存是flash内存的一种,随着其存储密度的提升,Nand flash除了寿命会变短、延迟时间会变长外,Nand flash的数据出错的概率也随之增加。为了对Nand flash中数据纠错,就需要对写入flash中的数 据进行编码保护,在TLC中往往采用纠错能力较强的LDPC编码。但是LDPC是概率译码,也就是说会有无法正确译码的现象出现,所以当译码发生错误时,就需要采取其他措施,例如重读Nand flash,通过读取上下页对错误数据进行纠正,或者软解码等方案增加成功译码的概率,因此,现有技术中的提供的方案都会增加时间延迟。
发明内容
有鉴于此,本发明实施例为解决现有技术中存在的问题而提供一种信息处理方法及装置、电子设备,能够减少时间延迟。
本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供一种信息处理方法,所述方法包括:
判断第一译码器译码第一数据是否失败,得到第一判断结果;
当所述第一判断结果表明所述第一译码器译码第一数据失败时,保存第一译码数据,并释放所述第一译码器,其中所述第一译码数据为第一子数据译码后的数据,所述第一子数据为所述第一数据中已经译码成功的数据;
判断是否利用重读译码器重读所述第一数据,得到第二判断结果;
当第二判断结果表明利用重读译码器重读所述第一数据时,判断重读缓存器中是否被占用,得到第三判断结果,所述重读缓存器用于所述重读译码器存储译码数据;
当所述第三判断结果表明重读缓存器未被占用时,将所述第一译码数据保存在所述重读缓存器中。
第二方面,本发明实施例提供一种信息处理装置,所述装置包括第一判断单元、第一保存单元、第二判断单元、第三判断单元和第二保存单元,其中:
所述第一判断单元,用于判断第一译码器译码第一数据是否失败,得到第一判断结果;
所述第一保存单元,用于当所述第一判断结果表明所述第一译码器译码第一数据失败时,保存第一译码数据,并释放所述第一译码器,其中所述第一译 码数据为第一子数据译码后的数据,所述第一子数据为所述第一数据中已经译码成功的数据;
所述第二判断单元,用于判断是否利用重读译码器重读所述第一数据,得到第二判断结果;
所述第三判断单元,用于当第二判断结果表明利用重读译码器重读所述第一数据时,判断重读缓存器中是否被占用,得到第三判断结果,所述重读缓存器用于所述重读译码器存储译码数据;
所述第二保存单元,用于当所述第三判断结果表明重读缓存器未被占用时,将所述第一译码数据保存在所述重读缓存器中。
第三方面,本发明实施例提供一种电子设备,所述固态存储器SSD,所述固态存储器包括译码器、缓存器和SSD控制器,其中:
所述译码器至少包括第一译码器和重读译码器;
所述缓存器至少包括重读缓存器;
所述SSD控制器,用于判断第一译码器译码第一数据是否失败,得到第一判断结果;当所述第一判断结果表明所述第一译码器译码第一数据失败时,保存第一译码数据,并释放所述第一译码器,其中所述第一译码数据为第一子数据译码后的数据,所述第一子数据为所述第一数据中已经译码成功的数据;判断是否利用重读译码器重读所述第一数据,得到第二判断结果;当第二判断结果表明利用重读译码器重读所述第一数据时,判断重读缓存器中是否被占用,得到第三判断结果,所述重读缓存器用于所述重读译码器存储译码数据;当所述第三判断结果表明重读缓存器未被占用时,将所述第一译码数据保存在所述重读缓存器中。
本发明实施例提供一种信息处理方法及装置、电子设备,判断第一译码器译码第一数据是否失败,得到第一判断结果;当所述第一判断结果表明所述第一译码器译码第一数据失败时,保存第一译码数据,并释放所述第一译码器,其中所述第一译码数据为第一子数据译码后的数据,所述第一子数据为所述第一数据中已经译码成功的数据;判断是否利用重读译码器重读所述第一数据, 得到第二判断结果;当第二判断结果表明利用重读译码器重读所述第一数据时,判断重读缓存器中是否被占用,得到第三判断结果,所述重读缓存器用于所述重读译码器存储译码数据;当所述第三判断结果表明重读缓存器未被占用时,将所述第一译码数据保存在所述重读缓存器中;如此,能够减少时间延迟。
附图说明
图1-1为相关技术中SSD控制器的结构示意图一;
图1-2为相关技术中SSD控制器的结构示意图二;
图1-3为本发明实施例中SSD控制器的结构示意图;
图1-4为本发明实施例一信息处理方法的实现流程示意图;
图2为本发明实施例四信息处理方法的实现流程示意图;
图3为本发明实施例五信息处理装置的组成结构示意图。
具体实施方式
下面简要的介绍一下LDPC纠错算法,LDPC纠错算法是利用LDPC(低密度奇偶校验)码进行纠错的一种算法,其中LDPC码又称为纠错码,用于检测数据从某个点传输到另个点之间是否出现错误。LDPC纠错算法包括两个阶段,第一个阶段称为LDPC硬数据(硬信息)解码阶段,第二个阶段称为LDPC软数据(软信息)解码阶段,当LDPC硬数据解码阶段失败后,那么LDPC纠错就会进入LDPC软数据解码阶段。
下面先来介绍一下LDPC硬数据解码阶段,因为纠错码包含校正数据,所以当接收端检测到发送端传输过来的数据是错误的时候,接收端可以有足够的信息去修复这些错误,而不用通知发送端重新发送数据。闪存随着P/E(编程/擦除次数)的提高错误率会越来越大,当错误率超过主控纠错能力的极限后就会出现数据错误。当前采用TLC的SSD产品,假设从目前的BCH码改成LDPC码后,P/E从1000提高到1500,这样一来就可以实现耐久度50%的提高,相对的由于纠错能力更强,掉电后数据保存期也延长了。
SSD采用LDPC码后的时间延迟主要有如下3个地方产生:1)LDPC编码过程;2)通过LDPC解码首次就读出闪存上数据的过程;3)通过LDPC解码多次后读出闪存上数据的过程。一般支持LDPC码的主控都会含有硬件加速模块,外加高效利用回写缓存即可有效的把上面第1)点的延迟给隐藏起来。其实延迟的问题主要是来自第2)点和第3)点。采用LDPC码后SSD中随机读取延迟主要由3个因素组成:闪存传输时间(t_trans)、闪存读取时间(t_read)和LDPC解码时间(t_ldpc),其中闪存传输时间是固定不变的,只有闪存读取时间和LDPC解码时间是会出现变化的。
闪存读取时间取决于Block中Page的索引,有些Page读取快,有些Page则慢,换句话说,闪存读取时间不受纠错码类型的影响,也就是说用LDPC纠错码或是BCH纠错码并没区别。LDPC解码时间取决于闪存的错误数和LDPC码参数设置造成的迭代次数多少,一般会给迭代次数设置一个上限,就可以在超过这个上限后进入下一步操作,防止无限循环下去;闪存错误数是随着P/E提高而增加,而LDPC码参数也会影响迭代次数,进而影响性能。
LDPC硬数据解码后,如果纠错依然失败的话,那么就会进入第二阶段—LDPC软数据解码阶段。在读取闪存时,结果只有1或者0,由于此时并不知道这些0和1中哪个是有效数据,哪些是可疑数据(可能错误的),因此对这些数据进行初次LDPC解码就叫做硬数据解码。如果硬数据LDPC解码失败,那么对这块SSD来说,一般有3个选择:第一种选择是直接返回“不可恢复的读错误”,这当然不是用户希望看到的;那么第二种选择就是,如果SSD内部有类似RAID的保护模式,可以利用该功能XOR并恢复出用户数据;而第三种选择是依靠搜集软数据,再尝试用这些软数据对数据进行软数据LDPC解码(一般来说都采用第三种),而这类LDPC软数据解码机制在之前的较为低等级的BCH码上是不存在的。
LDPC软数据解码阶段主要分成三部分:1)重读策略;2)软数据的构建;3)LDPC软数据解码。
重读策略不是去读取数据本身(之前硬数据解码已经不能纠错,就不用浪 费力气再去读硬数据),而是去读取这个数据的元数据,把这些元数据作为软数据构建的基础。如何用最少的读取次数搜集出最有帮助的元数据成为了关键,因为每读一次就增加了一次延迟。重读策略的每次读取都会返回与等着被纠错的数据相关的元数据,意味着每次读取都提供了更多的物理信息可以参考,然后需要做的是把这些0或者1映射成LDPC解码中的软数据,这个映射需要对闪存本身和所采用的LDPC代码具有相当的认知(该过程中称为软数据的构建)。软数据解码中最后一个步骤就是将代码中每一位的对数似然比(Log-Likelihood Ratio,LLR)传入LDPC解码器逻辑中,期望着这次实现的解码比原有的硬数据解码更为有效,让SSD能够返回正确的用户数据;然后马上将该数据移动至SSD内较为安全的Page(页)里,避免下次数据请求遇到相同的问题。
从以上可以看出,Nand flash内存是flash内存的一种,随着其存储密度的提升,Nand flash中数据出错的概率也随之增加。为了对Nand flash中数据纠错,就需要对写入Nand flash中的数据进行编码保护,在TLC中往往采用纠错能力较强的LDPC编码。但是LDPC是概率译码,也就是说会有无法正确译码的现象出现,所以当译码发生错误时,就需要采取其他措施,例如重读Nand flash,通过重读上下页对错误数据进行纠正,或者软解码等方案增加成功译码的概率。
SSD控制器(又称为Nand flash控制器)主要实现对Nand flash读写的控制,纠错编码(ECC)模块在SSD控制器中的位置如图1-1所示,ECC控制模块是进出Nand flash设备的必经通道;因此,ECC控制模块能否进行有效控制会影响整个Nand flash控制器的实现效率。
由于一个Nand flash控制器下面会挂多个Nand flash设备,所以ECC控制模块就需要对多个Nand flash通道进行有效控制。ECC控制模块匹配多个flash通道最简单的方式是为每个通道配置一个ECC控制模块,但是像上文中提到,TLC中纠错编码采用LDPC码,但是LDPC译码实现复杂度较高、占用硬件资源较多,当flash通道较多时无法为每个通道配置一个ECC控制模块。对于8通道的Nand flash控制器,可以给两个通道配置一个ECC控制模块(如图1-2 所示,在图1-2中的Prime retry decoder作为一个ECC模块),或者4个通道配置一个ECC控制模块。图1-2为相关技术SSD控制器的组成结构示意图二,如下图1-2所示,正常译码或者进行re-read时通过prime retry decoder进行解码,当re-read依然失败后再对flash进行其他处理,例如此时通过deep retry decoder进行译码。在图1-2中,一个主重读译码器(prime retry decoder,在本发明实施例中又称为第一译码器)可以看作是一个ECC模块,而深度重读译码器(deep retry decoder,在本发明实施例中又称为重读译码器)可以看作是独立的ECC模块。
从图1-2中可以看出,由于一个ECC控制模块匹配多个通道,所以当其中一个通道译码发生错误,需要重读或者进行软解码时会就对其他通道造成影响。传统的做法在某个通道译码发生错误需要重读时,会一直占用prime retry decoder,直到软件完成对该通道的重读。或者发生错误时通知软件,prime retry decoder丢弃译码的数据,等软件发送命令再次对该通道进行重读或者进行deep retry decoder。在上述两种的情况下,第一种是造成了通道阻塞,因为软件不一定能够马上响应错误中断,从译码发生错误到重读之间需要等待之间,此时虽然译码器空闲,但无法对其它页读出的数据进行译码,从而造成了资源的浪费。而第二种虽然没有阻塞通路,但是一个最小读单元通常包含多个码字,有的码字能够译码正确,当某个码字发生错误丢弃整页数据,re-read时还需要对上次正确译码的码字再进行译码,造成了不必要的延时。而在进行deep retry decoder译码时,因为8个通道共用一个译码器,所以存在多个通同要进行deep retry decoder的状况,此时就需要软件通过译码返回的状态维护进行deep retry decoder的链表,增加了对软件调度的复杂度以及软硬件交互延时。
针对上述问题,在本发明以下的实施例中,将提供了一种Nand flash控制器中对错误码字进行重读译码的调度方案,通过硬件的调度实现重读(re-read)和深度重试(deep retry)的自动调度。为了保存与译码错误码字在同一次读操作中译码正确的码字,在本发明实施例对图1-2进行了改进,改进后ECC控制 模块如图1-3所示,为每个prime decoder配置一个重读缓存器(retry buffer),retry buffer同时能够在码字等待deep retry时对数据进行缓存。
从前面的叙述可知,译码过程可分为正常译码、re-read译码以及deep retry软译码。当正常译码发生错误时,prime decoder会记录错误的描述符编号(descriptor ID)以及码字的状态信息,如表1所示,fail ID记录发生错误的描述符编号,status代表对有错误descriptor的处理状态,status=0,表示正常读取,status=1代表进入re-read状态,status=2代表进入等待deep retry队列,当该页开始进行软译码时,status置为0。在status的3种状态中只有当status=0时才代表retry buffer被释放。cw1-cwn分别记录当前译码页面中错误的码字号,1代表有错误,0代表没有错误,retry时只对有错误的码字进行译码。
fail id status cw1 cw2 cwn
参见图2,从图2中可以看出ECC模块返回的状态主要有以下几种:1)一页全部译码成功;2)译码有错误,但是因为retry buffer被占用,暂时无法进hard retry操作;3)译码有错误,并且已将错误的页面数据搬移到retry buffer,等待re-read命令;4)re-read错误,且可进行deep retry译码。
参见图2中的步骤S401至步骤S403,当译码发生错误,需要进行re-read译码时,ECC模块要把要进行re-read的页中译码输出的数据搬移到retry buffer中。如果retry buffer被占用,则丢弃原来译码数据,并报告软件译码失败,且没有进行retry。参见图2中的步骤S404至步骤S410,在re-read状态下,那么如果接收descriptor id等于fail id,译码会进入retry流程,当retry成功或者retry次数达到最大时,status被置为0,同时retry buffer也被释放。
参见图2中的步骤S411至步骤S415,当re-read译码仍然失败,那么ECC模块将retry buffer中的数据搬移到deep retry的page buffer里进行deep retry。如果deep retry的page buffer被占用,那么该页数据会进入deep retry的等待队列,等待队列用一个FIFO实现。每当需要进行deep retry时,将表1中的内容写到FIFO中。每当deep retry译码器完成一页解码时会读FIFO,从中取出需 要进行deep retry的fail ID,并且将ID号通知软件。deep retry译码器收到与fail ID相同的descriptor时,则会对发生错误的码字进行deep retry操作。
利用本发明实施例提供的技术方案具有以下优势:(1)当译码发生错误时只保存发生错误的描述符编号(descriptor ID,又称为描述符的标识信息),并释放译码器,只有再次接收到与发生错误描述符相同的描述符时再进行re-read译码操作。(2)为每个prime decoder配置一个retry buffer,用来缓存当某个码字译码发生错误时与该码字同时读出的其他正确译码的码字,从而当进行re-read时不需要再对正确码字进行译码。(3)硬件自动维护需要进行deep retry译码的命令链表,当发现deep retry译码器空闲时通知软件可进行deep retry译码,从而降低了软硬件交互的延迟。
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
实施例一
为了解决前述的技术问题,本发明实施例提供一种信息处理方法,该方法应用于电子设备中的存储器的控制器,本发明实施例中的电子设备至少处理器、存储器,这里,存储器主要是指固态存储器(SSD),SSD的存储介质为Nand。
图1-4为本发明实施例一信息处理方法的实现流程示意图,如图1-4所示,该信息处理方法包括:
步骤S101,判断第一译码器译码第一数据是否失败,得到第一判断结果;
这里,所述第一译码器可以是图1-3中的prime retry decoder。
步骤S102,当所述第一判断结果表明所述第一译码器译码第一数据失败时,保存第一译码数据,并释放所述第一译码器;
这里,所述第一译码数据为第一子数据译码后的数据,所述第一子数据为所述第一数据中已经译码成功的数据;
这里,步骤S101和步骤S102属于正常译码阶段。所述保存第一译码数据可以是将所述第一译码数据保存在Nand flash中。
步骤S103,判断是否利用重读译码器重读所述第一数据,得到第二判断结果;
这里,所述重读译码器可以为图1-3中的prime retry decoder,图1-3中的deep retry decoder。
步骤S104,当第二判断结果表明利用重读译码器重读所述第一数据时,判断重读缓存器中是否被占用,得到第三判断结果,所述重读缓存器用于所述重读译码器存储译码数据;
这里,所述重读缓存器可以是指图1-3中的retry buffer。
步骤S105,当所述第三判断结果表明重读缓存器未被占用时,将所述第一译码数据保存在所述重读缓存器中。
在本发明的其他实施例中,所述方法还包括:步骤S106,当所述第三判断结果表明重读缓存器被占用时,丢弃所述第一译码数据,并输出译码失败信息。
实施例二
基于前述的实施例,本发明实施例提供一种信息处理方法,该方法应用于电子设备中的存储器的控制器,本发明实施例中的电子设备至少处理器、存储器,这里,存储器主要是指固态存储器(SSD),SSD的存储介质为Nand。
该信息处理方法包括:
步骤S101,判断第一译码器译码第一数据是否失败,得到第一判断结果;
这里,所述第一译码器可以是图1-3中的prime retry decoder。
步骤S102,当所述第一判断结果表明所述第一译码器译码第一数据失败时,保存第一译码数据,并释放所述第一译码器;
这里,所述第一译码数据为第一子数据译码后的数据,所述第一子数据为所述第一数据中已经译码成功的数据;
这里,步骤S101和步骤S102属于正常译码阶段。所述保存第一译码数据可以是将所述第一译码数据保存在Nand flash中。
步骤S103,判断是否利用重读译码器重读所述第一数据,得到第二判断结果;
这里,所述重读译码器可以为图1-3中的prime retry decoder,图1-3中的deep retry decoder。
步骤S104,当第二判断结果表明利用重读译码器重读所述第一数据时,判断重读缓存器中是否被占用,得到第三判断结果,所述重读缓存器用于所述重读译码器存储译码数据;
这里,所述重读缓存器可以是指图1-3中的retry buffer。
步骤S105,当所述第三判断结果表明重读缓存器未被占用时,将所述第一译码数据保存在所述重读缓存器中。
步骤S201,当所述第一判断结果表明所述第一译码器译码第一数据失败时,还保存第一描述信息,所述第一描述信息为所述第一数据中出错的数据的描述信息;
这里,所述第一描述信息可以为表1中的信息。
步骤S202,判断所述第一描述信息是否为第一次出现;
步骤S203,当所述第一描述信息为第一次出现时,或当第二判断结果表明不利用重读译码器重读所述第一数据时,利用所述第一译码器继续对所述第二子数据进行译码,所述第二子数据为所述第一数据中除所述第一子数据之外的数据。
步骤S204,当所述第一描述信息不为第一次出现时,利用重读译码器对所述第一数据进行重读。
实施例三
基于前述的实施例,本发明实施例提供一种信息处理方法,该方法应用于电子设备中的存储器的控制器,本发明实施例中的电子设备至少处理器、存储器,这里,存储器主要是指固态存储器(SSD),SSD的存储介质为Nand。
该信息处理方法包括:
步骤S101,判断第一译码器译码第一数据是否失败,得到第一判断结果;
这里,所述第一译码器可以是图1-3中的prime retry decoder。
步骤S102,当所述第一判断结果表明所述第一译码器译码第一数据失败时,保存第一译码数据,并释放所述第一译码器;
这里,所述第一译码数据为第一子数据译码后的数据,所述第一子数据为所述第一数据中已经译码成功的数据;
这里,步骤S101和步骤S102属于正常译码阶段。所述保存第一译码数据可以是将所述第一译码数据保存在Nand flash中。
步骤S103,判断是否利用重读译码器重读所述第一数据,得到第二判断结果;
这里,所述重读译码器可以为图1-3中的prime retry decoder。
步骤S104,当第二判断结果表明利用重读译码器重读所述第一数据时,判断重读缓存器中是否被占用,得到第三判断结果,所述重读缓存器用于所述重读译码器存储译码数据;
这里,所述重读缓存器可以是指图1-3中的retry buffer。
步骤S105,当所述第三判断结果表明重读缓存器未被占用时,将所述第一译码数据保存在所述重读缓存器中。
步骤S301,利用所述重读译码器对第二子数据进行译码;
步骤S302,判断所述重读译码器译码所述第二子数据是否失败;
步骤S303,当所述重读译码器译码所述第二子数据成功时,将第二译码数据和所述第一译码数据作为所述第一数据的译码数据输出,其中所述第二译码数据为所述第二子数据的译码数据。
步骤S304,当所述重读译码器译码所述第二子数据失败时,判断所述重读译码器译码所述第二子数据的次数是否达到阈值;
步骤S305,当所述重读译码器译码所述第二子数据的次数达到阈值时,输出重读失败信息,并将所述第一译码数据保存在软数据缓存器中,利用软数据译码器对所述第二子数据译码;
这里,所述软数据缓存器用于缓存所述软数据译码器译码成功的数据。
步骤S306,判断软数据缓存器中是否被占用;
步骤S307,当所述软数据缓存器未被占用时,将所述第一译码数据保存在软数据缓存器中;当所述软数据缓存器未被占用时,采用先入先出(FIFO,First In First Out)缓存所述第一译码数据。
实施例四
基于前述的实施例,本发明实施例提供一种信息处理方法,该方法应用于电子设备中的存储器的控制器,本发明实施例中的电子设备至少处理器、存储器,这里,存储器主要是指固态存储器(SSD),SSD的存储介质为Nand。
图2为本发明实施例四信息处理方法的实现流程示意图,如图2所示,该信息处理方法包括:
第一阶段,正常译码阶段
步骤S401,第一译码器对第一数据进行译码;
步骤S402,判断第一译码器译码第一数据是否失败,得到第一判断结果;
这里,当第一判断结果表明所述第一译码器译码第一数据成功时,输出译码成功;当所述第一判断结果表明所述第一译码器译码第一数据失败时,保存第一译码数据,并释放所述第一译码器,其中所述第一译码数据为第一子数据译码后的数据,所述第一子数据为所述第一数据中已经译码成功的数据;判断是否利用重读译码器重读所述第一数据,得到第二判断结果;当第二判断结果表明利用重读译码器重读所述第一数据时,进入步骤S403;
在本实施例中,灰色框可以表示为一种输出状态。
步骤S403,判断重读缓存器(retry buffer)中是否被占用,得到第三判断结果,所述重读缓存器用于所述重读译码器存储译码数据;
这里,当所述第三判断结果表明重读缓存器被占用(N)时,丢弃所述第一译码数据,并输出译码失败信息。当所述第三判断结果表明重读缓存器未被占用时,进入步骤S404;
第二阶段:重读译码阶段
步骤S404,将所述第一译码数据保存在所述重读缓存器中,进行retry。
步骤S405,判断所述第一描述信息是否为第一次出现;
这里,当所述第一判断结果表明所述第一译码器译码第一数据失败时,还保存第一描述信息,所述第一描述信息为所述第一数据中出错的数据的描述信息;当所述第一描述信息为第一次出现时,或当第二判断结果表明不利用重读译码器重读所述第一数据时,进入步骤S406;当所述第一描述信息不为第一次出现时,利用重读译码器对所述第一数据进行重读。
步骤S406,利用所述第一译码器继续对所述第二子数据进行译码,所述第二子数据为所述第一数据中除所述第一子数据之外的数据。
步骤S407,利用所述重读译码器对第二子数据进行译码;
步骤S408,判断所述重读译码器译码所述第二子数据是否失败;
这里,当所述重读译码器译码所述第二子数据成功时,进入步骤S409;当所述重读译码器译码所述第二子数据失败时,进入步骤S410;
步骤S409,将第二译码数据和所述第一译码数据作为所述第一数据的译码数据输出,其中所述第二译码数据为所述第二子数据的译码数据。
步骤S410,判断所述重读译码器译码所述第二子数据的次数是否达到阈值;
这里,当所述重读译码器译码所述第二子数据的次数未达到阈值时,回到步骤S404;当所述重读译码器译码所述第二子数据的次数达到阈值时,进入步骤S411。
第三阶段:软信息译码阶段,又称为deep retry
步骤S411,进入深度重试(deep retry)等待序列,输出retry失败,等待进入deep retry;
步骤S412,判断软译码(soft decoder)是否空闲;
这里,空闲时,进入步骤S413,反之,进入步骤S411;
步骤S413,将重读缓存器(retry buffer)中的第一译码数据搬移到软译码的缓存器(page buffer);输出可进行deep retry译码;
这里,输出重读失败信息,并将所述第一译码数据保存在软数据缓存器中,利用软数据译码器对所述第二子数据译码,其中所述软数据缓存器用于缓存所述软数据译码器译码成功的数据。
步骤S414,判断第一描述信息中的描述符编号(descriptor ID)是否等于失败编号(fail ID);如果descriptor ID不等于fail ID,则可以输出deep retry失败。
步骤S415,如果descriptor ID等于fail ID,则进行deep retry。
实施例五
基于前述的实施例,本发明实施例提供一种信息处理装置,该装置所包括的第一判断单元、第一保存单元、第二判断单元、第三判断单元和第二保存单元都可以通过电子设备中的SSD控制器来实现,当然也可通过具体的逻辑电路实现;在具体实施例的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
图3为本发明实施例五电子设备组成结构示意图,如图3所示,该装置500包括第一判断单元501、第一保存单元502、第二判断单元503、第三判断单元504和第二保存单元505,其中:
所述第一判断单元501,用于判断第一译码器译码第一数据是否失败,得到第一判断结果;
所述第一保存单元502,用于当所述第一判断结果表明所述第一译码器译码第一数据失败时,保存第一译码数据,并释放所述第一译码器,其中所述第一译码数据为第一子数据译码后的数据,所述第一子数据为所述第一数据中已经译码成功的数据;
所述第二判断单元503,用于判断是否利用重读译码器重读所述第一数据,得到第二判断结果;
所述第三判断单元504,用于当第二判断结果表明利用重读译码器重读所述第一数据时,判断重读缓存器中是否被占用,得到第三判断结果,所述重读 缓存器用于所述重读译码器存储译码数据;
所述第二保存单元505,用于当所述第三判断结果表明重读缓存器未被占用时,将所述第一译码数据保存在所述重读缓存器中。
本发明的其他实施例中,所述装置还包括第三保存单元、第四判断单元和第一译码单元,其中:
所述第三保存单元,用于当所述第一判断结果表明所述第一译码器译码第一数据失败时,还保存第一描述信息,所述第一描述信息为所述第一数据中出错的数据的描述信息;
所述第四判断单元,用于判断所述第一描述信息是否为第一次出现;
所述第一译码单元,用于当所述第一描述信息为第一次出现时,或当第二判断结果表明不利用重读译码器重读所述第一数据时,利用所述第一译码器继续对所述第二子数据进行译码,所述第二子数据为所述第一数据中除所述第一子数据之外的数据。
本发明的其他实施例中,所述装置还包括重读单元,用于当所述第一描述信息不为第一次出现时,利用重读译码器对所述第一数据进行重读。
本发明的其他实施例中,所述装置还包括丢弃单元,用于当所述第三判断结果表明重读缓存器被占用时,丢弃所述第一译码数据,并输出译码失败信息。
本发明的其他实施例中,所述装置还包括第二译码单元、第五判断单元和第一输出单元,其中:
所述第二译码单元,用于利用所述重读译码器对第二子数据进行译码;
所述第五判断单元,用于判断所述重读译码器译码所述第二子数据是否失败;
所述第一输出单元,用于当所述重读译码器译码所述第二子数据成功时,将第二译码数据和所述第一译码数据作为所述第一数据的译码数据输出,其中所述第二译码数据为所述第二子数据的译码数据。
本发明的其他实施例中,所述装置还包括第六判断单元、第二输出单元、第四保存单元和第三译码单元,其中:
所述第六判断单元,用于当所述重读译码器译码所述第二子数据失败时,判断所述重读译码器译码所述第二子数据的次数是否达到阈值;
所述第二输出单元,用于当所述重读译码器译码所述第二子数据的次数达到阈值时,输出重读失败信息;
所述第四保存单元,用于将所述第一译码数据保存在软数据缓存器中;
所述第三译码单元,用于利用软数据译码器对所述第二子数据译码,其中所述软数据缓存器用于缓存所述软数据译码器译码成功的数据。
实施例六
基于前述的实施例,本发明实施例再提供一种电子设备,该电子设备包括固态存储器SSD,所述固态存储器包括译码器、缓存器和SSD控制器,其中:
所述译码器至少包括第一译码器和重读译码器;在具体实现的过程中,所述译码器至少可以LDPC译码器。
所述缓存器至少包括重读缓存器;在具体实现的过程中,所述缓存器可以采用随机存取存储器(RAM)来实现,例如可以采用静态随机存取存储器(SRAM,Static Random Access Memory)。
所述SSD控制器,用于判断第一译码器译码第一数据是否失败,得到第一判断结果;当所述第一判断结果表明所述第一译码器译码第一数据失败时,保存第一译码数据,并释放所述第一译码器,其中所述第一译码数据为第一子数据译码后的数据,所述第一子数据为所述第一数据中已经译码成功的数据;判断是否利用重读译码器重读所述第一数据,得到第二判断结果;当第二判断结果表明利用重读译码器重读所述第一数据时,判断重读缓存器中是否被占用,得到第三判断结果,所述重读缓存器用于所述重读译码器存储译码数据;当所述第三判断结果表明重读缓存器未被占用时,将所述第一译码数据保存在所述重读缓存器中。
在本发明的其他实施例中,所述SSD控制器还用于:当所述第一判断结果表明所述第一译码器译码第一数据失败时,还保存第一描述信息,所述第一描 述信息为所述第一数据中出错的数据的描述信息;判断所述第一描述信息是否为第一次出现;当所述第一描述信息为第一次出现时,或当第二判断结果表明不利用重读译码器重读所述第一数据时,利用所述第一译码器继续对所述第二子数据进行译码,所述第二子数据为所述第一数据中除所述第一子数据之外的数据。
在本发明的其他实施例中,所述SSD控制器,还用于当所述第一描述信息不为第一次出现时,利用重读译码器对所述第一数据进行重读。
在本发明的其他实施例中,所述SSD控制器,还用于当所述第三判断结果表明重读缓存器被占用时,丢弃所述第一译码数据,并输出译码失败信息。
在本发明的其他实施例中,所述SSD控制器,还用于:利用所述重读译码器对第二子数据进行译码;判断所述重读译码器译码所述第二子数据是否失败;当所述重读译码器译码所述第二子数据成功时,将第二译码数据和所述第一译码数据作为所述第一数据的译码数据输出,其中所述第二译码数据为所述第二子数据的译码数据。
在本发明的其他实施例中,所述缓存器还包括软数据缓存器,所述SSD控制器,还用于:当所述重读译码器译码所述第二子数据失败时,判断所述重读译码器译码所述第二子数据的次数是否达到阈值;当所述重读译码器译码所述第二子数据的次数达到阈值时,输出重读失败信息,并将所述第一译码数据保存在软数据缓存器中,利用软数据译码器对所述第二子数据译码,其中所述软数据缓存器用于缓存所述软数据译码器译码成功的数据。
这里需要指出的是:以上电子设备实施例项的描述,与上述方法描述是类似的,具有同方法实施例相同的有益效果,因此不做赘述。对于本发明电子设备实施例中未披露的技术细节,本领域的技术人员请参照本发明方法实施例的描述而理解,为节约篇幅,这里不再赘述。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指 相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可 以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种信息处理方法,其特征在于,所述方法包括:
判断第一译码器译码第一数据是否失败,得到第一判断结果;
当所述第一判断结果表明所述第一译码器译码第一数据失败时,保存第一译码数据,并释放所述第一译码器,其中所述第一译码数据为第一子数据译码后的数据,所述第一子数据为所述第一数据中已经译码成功的数据;
判断是否利用重读译码器重读所述第一数据,得到第二判断结果;
当第二判断结果表明利用重读译码器重读所述第一数据时,判断重读缓存器中是否被占用,得到第三判断结果,所述重读缓存器用于所述重读译码器存储译码数据;
当所述第三判断结果表明重读缓存器未被占用时,将所述第一译码数据保存在所述重读缓存器中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一判断结果表明所述第一译码器译码第一数据失败时,还保存第一描述信息,所述第一描述信息为所述第一数据中出错的数据的描述信息;
判断所述第一描述信息是否为第一次出现;
当所述第一描述信息为第一次出现时,或当第二判断结果表明不利用重读译码器重读所述第一数据时,利用所述第一译码器继续对所述第二子数据进行译码,所述第二子数据为所述第一数据中除所述第一子数据之外的数据。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当所述第一描述信息不为第一次出现时,利用重读译码器对所述第一数据进行重读。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
当所述第三判断结果表明重读缓存器被占用时,丢弃所述第一译码数据,并输出译码失败信息。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
利用所述重读译码器对第二子数据进行译码;
判断所述重读译码器译码所述第二子数据是否失败;
当所述重读译码器译码所述第二子数据成功时,将第二译码数据和所述第一译码数据作为所述第一数据的译码数据输出,其中所述第二译码数据为所述第二子数据的译码数据。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当所述重读译码器译码所述第二子数据失败时,判断所述重读译码器译码所述第二子数据的次数是否达到阈值;
当所述重读译码器译码所述第二子数据的次数达到阈值时,输出重读失败信息,并将所述第一译码数据保存在软数据缓存器中,利用软数据译码器对所述第二子数据译码,其中所述软数据缓存器用于缓存所述软数据译码器译码成功的数据。
7.一种信息处理装置,其特征在于,所述装置包括第一判断单元、第一保存单元、第二判断单元、第三判断单元和第二保存单元,其中:
所述第一判断单元,用于判断第一译码器译码第一数据是否失败,得到第一判断结果;
所述第一保存单元,用于当所述第一判断结果表明所述第一译码器译码第一数据失败时,保存第一译码数据,并释放所述第一译码器,其中所述第一译码数据为第一子数据译码后的数据,所述第一子数据为所述第一数据中已经译码成功的数据;
所述第二判断单元,用于判断是否利用重读译码器重读所述第一数据,得到第二判断结果;
所述第三判断单元,用于当第二判断结果表明利用重读译码器重读所述第一数据时,判断重读缓存器中是否被占用,得到第三判断结果,所述重读缓存器用于所述重读译码器存储译码数据;
所述第二保存单元,用于当所述第三判断结果表明重读缓存器未被占用时,将所述第一译码数据保存在所述重读缓存器中。
8.一种电子设备,其特征在于,所述固态存储器SSD,所述固态存储器包括译码器、缓存器和SSD控制器,其中:
所述译码器至少包括第一译码器和重读译码器;
所述缓存器至少包括重读缓存器;
所述SSD控制器,用于判断第一译码器译码第一数据是否失败,得到第一判断结果;当所述第一判断结果表明所述第一译码器译码第一数据失败时,保存第一译码数据,并释放所述第一译码器,其中所述第一译码数据为第一子数据译码后的数据,所述第一子数据为所述第一数据中已经译码成功的数据;判断是否利用重读译码器重读所述第一数据,得到第二判断结果;当第二判断结果表明利用重读译码器重读所述第一数据时,判断重读缓存器中是否被占用,得到第三判断结果,所述重读缓存器用于所述重读译码器存储译码数据;当所述第三判断结果表明重读缓存器未被占用时,将所述第一译码数据保存在所述重读缓存器中。
9.根据权利要求8所述的电子设备,其特征在于,所述SSD控制器还用于:当所述第一判断结果表明所述第一译码器译码第一数据失败时,还保存第一描述信息,所述第一描述信息为所述第一数据中出错的数据的描述信息;判断所述第一描述信息是否为第一次出现;当所述第一描述信息为第一次出现时,或当第二判断结果表明不利用重读译码器重读所述第一数据时,利用所述第一译码器继续对所述第二子数据进行译码,所述第二子数据为所述第一数据中除所述第一子数据之外的数据。
10.根据权利要求9所述的电子设备,其特征在于,所述SSD控制器,还用于当所述第一描述信息不为第一次出现时,利用重读译码器对所述第一数据进行重读。
CN201610184716.0A 2016-03-28 2016-03-28 一种信息处理方法及装置、电子设备 Pending CN105893167A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610184716.0A CN105893167A (zh) 2016-03-28 2016-03-28 一种信息处理方法及装置、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610184716.0A CN105893167A (zh) 2016-03-28 2016-03-28 一种信息处理方法及装置、电子设备

Publications (1)

Publication Number Publication Date
CN105893167A true CN105893167A (zh) 2016-08-24

Family

ID=57013901

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610184716.0A Pending CN105893167A (zh) 2016-03-28 2016-03-28 一种信息处理方法及装置、电子设备

Country Status (1)

Country Link
CN (1) CN105893167A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110535476A (zh) * 2019-09-30 2019-12-03 深圳忆联信息系统有限公司 Ldpc软译码器软信息存储优化方法、装置、计算机设备及存储介质
CN111078151A (zh) * 2019-12-19 2020-04-28 江苏芯盛智能科技有限公司 固态硬盘数据重读方法、装置和固态硬盘

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101789269A (zh) * 2008-07-17 2010-07-28 马维尔国际贸易有限公司 固态存储器装置中的数据恢复
US20120240007A1 (en) * 2010-10-20 2012-09-20 Stec, Inc. Ldpc decoding for solid state storage devices
CN103218271A (zh) * 2013-04-18 2013-07-24 华为技术有限公司 一种数据纠错方法及装置
CN103928052A (zh) * 2013-01-15 2014-07-16 三星电子株式会社 存储系统及其操作方法
CN104750571A (zh) * 2013-12-30 2015-07-01 慧荣科技股份有限公司 用以进行错误纠正的方法、存储装置与存储装置的控制器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101789269A (zh) * 2008-07-17 2010-07-28 马维尔国际贸易有限公司 固态存储器装置中的数据恢复
US20120240007A1 (en) * 2010-10-20 2012-09-20 Stec, Inc. Ldpc decoding for solid state storage devices
CN103928052A (zh) * 2013-01-15 2014-07-16 三星电子株式会社 存储系统及其操作方法
CN103218271A (zh) * 2013-04-18 2013-07-24 华为技术有限公司 一种数据纠错方法及装置
CN104750571A (zh) * 2013-12-30 2015-07-01 慧荣科技股份有限公司 用以进行错误纠正的方法、存储装置与存储装置的控制器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110535476A (zh) * 2019-09-30 2019-12-03 深圳忆联信息系统有限公司 Ldpc软译码器软信息存储优化方法、装置、计算机设备及存储介质
CN111078151A (zh) * 2019-12-19 2020-04-28 江苏芯盛智能科技有限公司 固态硬盘数据重读方法、装置和固态硬盘

Similar Documents

Publication Publication Date Title
CN101685381B (zh) 固态大容量存储装置的数据串流
US9983927B2 (en) Memory system with variable length page stripes including data protection information
CN102194527B (zh) 半导体存储器装置
CN104969193A (zh) 减少的不可校正的存储器错误
CN109697177B (zh) 存储装置以及其接口芯片
KR101507669B1 (ko) 리던던트 방식으로 복수의 메모리 장치들 내에 데이터 블록들을 저장하는 방법, 메모리 컨트롤러, 및 메모리 시스템
US10062418B2 (en) Data programming method and memory storage device
TWI614755B (zh) 解碼方法、記憶體儲存裝置及記憶體控制電路單元
CN101477480A (zh) 内存控制方法、装置及内存读写系统
CN105573680A (zh) 副本数据的存储方法及装置
CN105005453A (zh) 星载nand flash固存坏区管理系统
US9983805B1 (en) Memory management method, memory control circuit unit and memory storage apparatus
CN101794623A (zh) 存储设备的纠错装置及方法
CN105893167A (zh) 一种信息处理方法及装置、电子设备
TWI613665B (zh) 資料程式化方法與記憶體儲存裝置
EP3757797A1 (en) Memory management device, system and method
CN105336379B (zh) 一种信息处理方法及固态存储器
US11836044B2 (en) Error coalescing
US20140317467A1 (en) Method of detecting and correcting errors with bch engines for flash storage system
US9436547B2 (en) Data storing method, memory control circuit unit and memory storage device
US20150012801A1 (en) Method of detecting and correcting errors with bch and ldpc engines for flash storage systems
CN103514961B (zh) 自修复存储器、包含该存储器的计算装置以及操作存储器的方法
CN108154903A (zh) 快闪存储器的写入控制方法及装置、读取控制方法及装置以及存储器系统
US11145372B2 (en) Decoding method, memory controlling circuit unit, and memory storage device
CN105895156B (zh) 一种信息处理方法及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20170210

Address after: The 100176 branch of the Beijing economic and Technological Development Zone fourteen Street No. 99 building 33 building D No. 2226

Applicant after: Beijing legend core technology Co., Ltd.

Address before: 100085 Haidian District West Road, Beijing, No. 6

Applicant before: Lenovo (Beijing) Co., Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160824