CN103186352A - 从存储设备读取数据的方法、纠错设备和存储系统 - Google Patents

从存储设备读取数据的方法、纠错设备和存储系统 Download PDF

Info

Publication number
CN103186352A
CN103186352A CN2012105927039A CN201210592703A CN103186352A CN 103186352 A CN103186352 A CN 103186352A CN 2012105927039 A CN2012105927039 A CN 2012105927039A CN 201210592703 A CN201210592703 A CN 201210592703A CN 103186352 A CN103186352 A CN 103186352A
Authority
CN
China
Prior art keywords
data
reliability
bit
log
likelihood ratio
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
CN2012105927039A
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN103186352A publication Critical patent/CN103186352A/zh
Pending legal-status Critical Current

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/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
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • 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
    • 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/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

公开了从存储设备读取数据的方法。该方法可以包括:使用正常读取电压读取存储在存储设备中的数据;基于读取数据执行第一低密度奇偶校验(LDPC)解码;根据解码结果生成每个读取比特的可靠性比特,读取比特是读取数据的比特;并且基于读取数据和可靠性比特执行第二低密度奇偶校验(LDPC)解码,以便对读取数据执行第一纠错。

Description

从存储设备读取数据的方法、纠错设备和存储系统
相关申请的交叉引用 
本申请要求于2011年12月30日提交的韩国专利申请No.10-2011-0146645的优先权,其全部内容通过引用结合于此。 
技术领域
示例实施例涉及从存储设备读取数据的方法、纠错设备和包括纠错设备的存储系统。 
背景技术
半导体存储器件是使用诸如硅Si、锗Ge、砷化镓CaAs、磷化铟InP的半导体来具体体现的存储设备。半导体存储器件可以大概划分为两个类别,包括易失性存储设备和非易失性存储设备。 
易失性存储设备在同电源断开时丢失存储的数据。易失性存储设备的示例包括静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)和同步DRAM(SDRAM)。非易失性存储设备即使在同电源断开时也会保持存储的数据。非易失性存储设的示例包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、相变RAM(PRAM)、磁性RAM(MRAM)、阻变式RAM(RRAM)和铁电RAM(FRAM)。 
当读取编程在存储设备中的数据时,可能发生错误。如果在读取数据时发生错误,则错误可能被包括在读取数据中。为了纠正读取数据的错误,正在研究纠错码,诸如Bose-Chaudhuri-Hocquenghem(BCH)码、Reed-Solomon(RS)码、低密度奇偶校验(LDPC)码、Tutbo码。 
发明内容
示例实施例可以提供从存储设备读取数据的方法。该方法可以包括:使 用正常读取电压读取存储在存储设备中的数据;基于读取数据执行第一低密度奇偶校验(LDPC)解码,并且根据解码结果生成每个读取比特的可靠性比特,读取比特是读取数据的比特;并且基于读取数据和可靠性比特执行第二LDPC解码,以便对读取数据执行第一纠错。 
示例实施例还可以提供纠错设备。该纠错设备可以包括:存储器,被配置为存储从外部设备接收的第一数据,存储指示第一数据的可靠性的可靠性数据,并输出所接收的数据和可靠性数据;对数似然比映射器,被配置为通过将第一对数似然比映射到从存储器输出的第一数据来输出第一映射数据,以及通过将第二对数似然比映射到从存储器输出的第一数据和可靠性数据来输出第二映射数据;判决单元,被配置为在第一映射数据或第二映射数据的基础上执行低密度奇偶校验解码;以及对数似然比可靠性更新器,被配置为从判决单元接收基于第一映射数据的解码结果,将解码结果与存储在存储器中的读取数据进行比较,并根据比较结果生成指示读取数据的每个比特的可靠性的可靠性数据,以便将所生成的可靠性数据存储在存储器上。 
示例实施例还可以提供存储系统。该存储系统可以包括:存储设备;和控制器,被配置为接收从存储设备读取的第一数据,控制器包括纠正所接收的第一数据的错误的纠错码解码器。纠错码解码器包括:存储器,被配置为存储读取数据和指示第一数据的可靠性的可靠性数据,以及输出读取数据和可靠性数据;对数似然比映射器,被配置为将第一对数似然比映射到从存储器输出的第一数据来输出第一映射数据,以及将第二对数似然比映射到从存储器输出的第一数据和可靠性数据来输出第二映射数据;判决单元,被配置为基于第一映射数据或第二映射数据执行低密度奇偶校验(LDPC)解码;以及对数似然比可靠性更新器,被配置为从判决单元接收基于第一映射数据的解码结果,将第一解码结果与存储在存储器中的第一数据进行比较,并根据比较结果生成指示第一数据的每个比特的可靠性的可靠性数据,以便将所生成的可靠性数据存储在存储器上。对数似然比可靠性更新器被配置为根据第二映射数据在第二解码结果的基础上纠正读取数据的错误。 
示例实施例还可以提供从存储设备读取数据的方法,包括:执行硬判决(hard decision)读取操作以生成硬判决数据,硬判决读取操作包括,使用第一读取电压读取存储在存储设备中的数据,通过基于读取数据执行解码操作生成与多个读取比特中的每一个相对应的多个可靠性比特,读取比特是读取 数据的比特,以及基于读取数据和可靠性比特对读取数据执行第一纠错操作;基于硬判决数据生成比较结果;并且基于比较结果确定是否使用不同于第一读取电压的分读取电压(fractional read voltage)对存储在存储设备中的数据执行软判决(soft decision)读取操作。 
附图说明
通过参考附图详细描述示例,示例实施例的上述及其他特征和优点将变得更加清楚。附图意图用来描绘示例实施例,而不应被解释为限制意图要求保护的范围。附图不应被认为按照比例描绘的,除非明确指出。 
图1是示出根据至少一些示例实施例的存储系统的框图。 
图2A是示出在执行读取操作时执行的根据至少一些示例实施例的纠错解码方法的流程图。 
图2B示出了正常读取电压和分(fractional)读取电压的示例。 
图3是示出根据至少一些示例实施例的纠错码解码器的框图。 
图4示出了在图3的纠错码解码器中使用的奇偶校验矩阵的示例。 
图5示出了从图4的奇偶校验矩阵画出的因子图。 
图6是示出在执行读取操作时纠错码解码器的纠错方法的流程图。 
图7是更详细地示出执行解码的方法的流程图。 
图8示出了用于描述图7的初始化步骤的因子图。 
图9示出了在执行初始化时的算术运算空间。 
图10示出了其中更新了校验节点的过程。 
图11和图12示出了根据校验节点的更新方法的算术运算空间。 
图13示出了其中更新了变量节点的过程。 
图14和图15示出了根据变量节点的更新方法的算术运算空间。 
图16是示出读取和可靠性信息存储器的示例的画图。 
图17是更详细地示出生成可靠性比特的方法的流程图。 
图18和图19示出了其中生成可靠性比特的过程。 
图20示出存储在硬判决对数似然比(LLR)寄存器中的映射信息的示例。 
图21示出了更新校验节点的方法。 
图22示出了更新变量节点的方法。 
图23是示出执行解码的方法的另一个示例的流程图。 
图24是示出图1的存储系统的另一个示例的框图。 
图25是示出图1的存储系统的应用示例的框图。 
图26是根据至少一些示例实施例的存储卡。 
图27是根据至少一些示例实施例的固态驱动器。 
图28是示出包括参考图25描述的存储系统的计算系统的框图。 
具体实施方式
这里公开了详细的示例实施例。然而,这里公开的特定结构和功能细节仅仅是代表性的,为了描述示例实施例的目的。但是,示例实施例可以以替代的形式来具体体现,并且不应当被解释为仅仅限制在这里所阐述的实施例。 
因此,虽然示例实施例能够进行各种修改和替换形式,其实施例仅仅作为示例示出在附图中,并将在这里详细地描述。然而,应当理解,并不意图将示例实施例限制在所公开的特定形式,而相反,示例实施例将涵盖落在示例实施例的范围之内的所有的修改、等效物、以及替换物。相似的标号在附图的描述中始终指代相似的元素。 
应当理解,虽然术语第一、第二等可以在这里用来描述各种元素,但是这些元素不应被这些术语所限制。这些术语只有用来区分一个元素与另一个元素。例如,第一元素可以被称为第二元素,并且类似地,第二元素可以被称为第一元素,而不脱离示例实施例的范围。如这里所使用的,术语“和/或”包括一个或多个相关联的列出的项目的任何以及全部的组合。 
应当理解,当元素被称为“连接”或“耦合”到另一个元素时,其可以直接连接或耦合到另一个元素,或者也可以存在插入其间的元素。相反,当元素被称为“直接连接”或“直接耦合”到另一个元素时,则不存在插入其间的元素。其他用来描述元素之间的关系的词语也应当以类似的方式来解释(例如,“在……之间”与“直接在……之间”,“相邻”与“直接相邻”等等)。 
这里所使用的术语仅仅是为了描述特定的实施例的目的,而不是意图限制示例实施例。如这里所使用的,单数形式“一”、“该”意图包括复数形式,除非在上下文中清楚地另外指出。还应当理解,术语“包括”、“包含”和/或“含有”,当在这里使用时,说明存在所述特征、整体、步骤、操作、元素、和/或组件,但是并不排除一个或多个其他的特征、整体、步骤、操作、元素、组件、和/或它们的组的存在或添加。 
还应当注意,在一些替换的实施方式中,所述功能/动作可以不按照附图中所示出的次序发生。例如,连续示出的两个附图可以实际上基本是同时执行,或者有时可以按照相反的次序执行,这取决于所涉及的功能/动作。 
图1是示出根据至少一些示例实施例的存储系统1000的框图。参考图1,存储系统1000包括存储设备100和控制器200。存储设备100包括闪存。也就是说,存储设备100通过控制存储单元的阈电压来存储数据。 
控制器200被连接到主机(host)和存储设备100。响应于来自主机的请求,控制器200被配置为访问存储设备100。控制器200被配置为控制存储设备100的读、写、擦除、以及背景(background)操作。控制器200被配置为提供存储设备100和主机之间的接口。控制器200被配置为驱动用于控制存储设备100的固件。 
控制器200被配置为向存储设备100提供控制信号和地址。控制器200被配置为与存储设备100交换数据。 
控制器200包括纠错码解码器300。纠错码解码器300使用纠错码(ECC)对从存储设备100读取的数据执行解码操作。纠错码解码器300执行解码操作以纠正读取数据的错误。纠错码解码器300使用低密度奇偶校验(LDPC)码执行解码操作。 
控制器200根据具体通信标准与主机进行通信。控制器200通过各种通信标准中的至少一个与主机进行通信,所述通信标准诸如通用串行总线(USB)、多媒体卡(MMC)、外围组件互连(PCI)、PCI-Express、先进技术附接(advanced technology attachment,ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小设备接口(ESDI)、电子集成驱动器(IDE)、以及火线(firewire)。 
控制器200和存储设备100可以集成到一个半导体器件中。控制器200和存储设备100可以集成到一个半导体器件中,以构成固态驱动器SSD。控制器200和存储设备100可以集成到一个半导体器件中,以构成存储卡。例如,控制器200和存储设备100可以集成到一个半导体器件中,以构成存储卡,诸如个人计算机存储卡国际联合会(PCMCIA)、紧凑闪存卡(compact flashcard,CF)、智能介质卡(SM、SMC)、存储棒、多媒体卡(MMC、RS-MMC、MMCmicro)、SD卡(SD、miniSD、microSD、SDHC)、以及通用闪存设备UFS。 
存储系统1000可以包括以下各项中的任何一个:计算机、超级移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、上网平板计算机、平板计算机、无线电话、移动电话、智能电话、电子书、可编程多媒体播放器(PMP)、便携式游戏机、导航设备、黑盒子、数字相机、数字多媒体广播(DMB)播放器、三维电视机、智能电视机、数字音频记录器、数字音频播放器、数字图像记录器、数字图像播放器、数字视频记录器、数字视频播放器、构成数据传感器的存储器、能够在无线环境中传送/接收信息的设备、构成家庭网络的各种电子设备之一、构成计算机网络的各种电子设备之一、构成远程信息处理(telematics)网络的各种电子设备之一、RFID设备、或构成计算机系统的各种构成元素之一。 
存储设备100或存储系统1000可以由各种类型的封装(packages)来安装。例如,存储设备100或存储系统1000可以通过各种类型的封装来安装,诸如,PoP(封装体叠层)、球栅阵列(BGA)、芯片规模封装(CSP)、塑料有引线芯片载体(PLCC)、塑料双列直插式封装(PDIP)、晶圆芯片封装、晶圆芯片形式、板上芯片封装(COB)、陶瓷双列直插式封装(CERDIP)、塑料标准方型扁平封装(MQFP)、薄型四方扁平封装(TQFP)、小外形封装(SOIC)、缩小外形封装(SSOP)、薄型小外形封装(TSOP)、薄型四方扁平封装(TQFP)、系统级封装(SIP)、多芯片封装(MCP)、晶圆级制造封装(WFP)、以及晶圆级处理的堆栈封装(WSP)。 
图2A是示出在执行读取操作时执行的根据至少一些示例实施例的纠错解码方法的流程图。参考图1和图2A,在S110,使用正常读取电压从存储设备100读取数据。控制器200生成读取命令和地址,将所生成的读取命令和地址传递给存储设备100。存储设备100可以响应于读取命令和地址使用正常读取电压读取数据。读取数据可以被传递给控制器200。 
在S120,执行硬判决。控制器200的纠错码解码器300使用正常读取电压解码从存储设备100读取的数据(以下称为第一读取数据),也就是说,使用纠错码解码由正常读取电压读取的数据。 
在S130,辨别硬判决的数据是否是正确的数据,即,数据中的错误都被纠正。控制器200使用硬判决的数据和奇偶校验矩阵来辨别硬判决的数据是否是正确的数据。如果硬判决的数据和奇偶校验矩阵的算术结果是‘0’,可以辨别硬判决的数据是正确的数据。如果硬判决的数据和奇偶校验矩阵的算 术结果不是‘0’,可以辨别硬判决的数据不是正确的数据。 
当硬判决的数据是正确的数据时,纠错解码可以结束。硬判决的数据可以输出到控制器200外部或者可以在控制器200内部使用,作为纠错的数据。 
当硬判决的数据不是正确的数据时,执行S140。在S140,使用分读取电压读取数据。使用正常读取电压读取存储单元,可以使用分读取电压执行附加读取操作。分读取电压可以具有与正常读取电压不同的电平。 
在S 150,执行软判决。可以在数据(以下称为第二读取数据)的基础上执行软判决,使用分读取电压读取的数据被添加到第一读取数据。正常读取电压和分读取电压可以具有彼此不同的电平。正常读取电压和分读取电压的电平在图2B中示出。 
在图2B中,横轴表示存储单元的阈电压,纵轴表示存储单元的数目。也就是说,图2B表示存储单元的阈电压分布。存储单元可以具有擦除状态E和第一到第三编程状态P1□P3。 
每个正常读取电压VRN可以具有在相邻的两个逻辑状态之间的电平。分读取电压VRF1和VRF2中的每一个可以具有在相邻的两个逻辑状态之间的电平,但是可以具有与正常读取电压不同的电平。 
当由正常读取电压读取存储单元时的结果与当由分读取电压读取存储单元时的结果可以不同。例如,在存储单元中,可能存在具有高于或低于正常逻辑状态的电压分布的阈电压的尾单元(tail cell)。当由正常读取电压读取时的尾单元的读取结果可以不同于当由分读取电压VFN1和VFN2读取时的尾单元的读取结果。也就是说,如果使用分读取电压执行附加读取操作,可以获得关于存储单元的阈电压的附加信息(例如,关于尾单元的信息)。 
如果获得关于存储单元的阈电压的附加信息,存储单元存储的数据是第一状态(例如,‘1’)或第二状态(例如,‘0’)的概率的准确度(或似然比)增加。也就是说,提高了判决的可靠性。控制器200使用第二读取数据即通过若干读取来读取的数据和通过正常读取电压获得硬判决数据,来执行软判决。 
在S160,辨别软判决数据是否是正确的数据,即,软判决数据为错误都被纠正的数据。控制器200使用软判决数据和奇偶校验矩阵辨别软判决数据是否是正确的数据。如果软判决数据和奇偶校验矩阵的运算结果是‘0’,则可以辨别软判决数据是正确的数据。如果软判决数据和奇偶校验矩阵的运算 结果不是‘0’,则可以辨别软判决数据不是正确的数据。可以使用相同的方法来执行软判决数据和奇偶校验矩阵的运算结果以及硬判决数据和奇偶校验矩阵的运算结果。 
当软判决数据是正确的数据时,纠错解码可以结束。软判决数据是错误纠正的数据,并且其可以输出到控制器200的外部,或者可以在控制器200的内部使用。 
当软判决数据不是正确的数据时,控制器200处理软判决数据作为读取错误。控制器200处理其内部的读取错误或将读取错误报告给主机。控制器200根据预定调度(schedule)处理读取错误。 
如上所述,如果在存储设备100中执行读取操作,则执行硬判决。如果硬判决是失败(failed),则进一步执行至少一个读取并执行软判决。软判决与硬判决相比需要附加读取(additional reads)。当错误通过软判决纠正时消耗的资源(时间、存储设备100的压力)高于当错误通过硬判决纠正时消耗的资源(时间、存储设备100的压力)。因此,如果硬判决的准确度提高并且因此执行软判决的次数减少,则可以降低当执行读取操作时在存储设备100中耗费的资源(时间、存储设备100的压力)。根据至少一个示例实施例,可以提供具有改进的准确度的硬判决方法和硬判决设备,并且因此可以提供当执行读取操作时消耗更少资源(时间、存储设备100的压力)的读取方法和存储系统。 
图3是示出根据至少一些示例实施例的纠错码解码器300的框图。参考图3,纠错码解码器300包括读取&可靠性信息存储器310、初始对数似然比(LLR)映射器320、判决单元330、和对数似然比(LLT)可靠性更新器360。 
读取&可靠性信息存储器310存储从存储设备100读取的读取数据。当执行硬判决时,读取&可靠性信息存储器310接收通过正常读取从存储设备100读取的数据,并存储所述数据作为第一读取数据Y1。正常读取(normalread)意味着使用图2B的正常读取电压的读取操作。而且,当执行硬判决时,读取&可靠性信息存储器310从对数似然比(LLT)可靠性更新器360接收表示初始对数似然比(LLR)的可靠性的数据,并存储所述数据作为可靠性数据RD。第一读取数据Y1和可靠性数据RD彼此一起存储,以形成第三读取数据Y3。 
当执行软判决时,读取&可靠性信息存储器310接收通过附加读取从存 储设备100读取的数据,并存储所述数据。也就是说,当执行软判决时,读取&可靠性信息存储器310存储在执行硬判决时存储的第一读取数据Y1以及附加存储的数据作为第二读取数据Y2。 
初始对数似然比(LLR)映射器320被配置为映射初始对数似然比以读取存储在读取&可靠性信息存储器310中的数据。初始对数似然比(LLR)映射器320包括:硬判决对数似然比寄存器321,存储在执行硬判决时将要映射的对数似然比(LLR);以及软判决对数似然比寄存器323,存储在执行软判决时将要映射的对数似然比(LLR)。 
当执行硬判决时,初始对数似然比(LLR)映射器320从读取&可靠性信息存储器310接收第一读取数据Y1。初始对数似然比(LLR)映射器320在存储在硬判决对数似然比寄存器321中的对数似然比(LLR)以及第一读取数据Y1的每个比特值的基础上映射对数似然比(LLR)。例如,初始对数似然比(LLR)映射器320根据第一读取数据Y1中从特定存储单元读取的比特值映射对应比特的对数似然比(LLR)。映射结果被输出作为第一映射数据Fn1。 
当执行硬判决时,初始对数似然比(LLR)映射器320从读取&可靠性信息存储器310接收第三读取数据Y3。当接收第三读取数据Y3时,初始对数似然比(LLR)映射器320参考硬判决对数似然比寄存器321映射对数似然比(LLR)。映射结果被输出作为第三映射数据Fn3。 
当执行软判决时,初始对数似然比(LLR)映射器320从读取&可靠性信息存储器310接收第二读取数据Y2。初始对数似然比(LLR)映射器320在存储在软判决对数似然比寄存器323中的对数似然比(LLR)以及第二读取数据Y2的每个元素的比特的基础上映射对数似然比(LLR)。 
第一读取数据Y1的一个比特是对存储设备100的一个存储单元执行的单一读取结果。第二读取数据Y2的每个元素的比特包括在一个存储单元中执行的单一读取结果和附加读取结果。初始对数似然比(LLR)映射器320在第二读取数据Y2的每个元素的比特的基础上映射对数似然比(LLR)。映射结果被输出作为第二映射数据Fn2。 
判决单元330在执行硬判决时从初始对数似然比(LLR)映射器320接收第一映射数据Fn1或第三映射数据Fn3,并且在执行软判决时从初始对数似然比(LLR)映射器320接收第二映射数据Fn2。判决单元330解码所接收 的第一映射数据Fn1、第二映射数据Fn2或第三映射数据Fn3。使用相同的方法和设备来执行第一映射数据Fn1的解码、第二映射数据Fn2的解码、以及第三映射数据Fn3的解码。 
硬判决对数似然比寄存器321分开存储对应于第一读取数据Y1的对数似然比和对应于第三读取数据Y3的对数似然比。硬判决对数似然比寄存器321存储对应于第一读取数据Y1的对数似然比,而软判决对数似然比寄存器323共同存储对应于第二读取数据Y2和第三读取数据Y3的对数似然比。也就是说,第二读取数据Y2和第三读取数据Y3可以以相同的对数似然比来映射。 
判决单元330包括更新器340和尝试(tentative)解码器350。更新器340执行校验节点和变量节点的更新。更新结果传递到尝试解码器350。 
尝试解码器350根据更新器340的更新结果(例如,后验概率(posterioriprobability))执行尝试解码(tentative decoding)。尝试解码器350执行解码数据和奇偶校验矩阵的算术运算,并根据运算结果辨别解码操作是否被正确地执行。如果解码操作被正确地执行,即,如果从存储设备100读取的数据的错误被纠正,则尝试解码器350输出解码数据作为最终数据X。如果解码操作没有被正确地执行,即,如果从存储设备100读取的数据的错误没有被全部纠正,则尝试解码器350调用(calls)更新器340。响应于尝试解码器350的调用,更新器340再次执行校验节点和变量节点的更新。 
更新器340的更新和尝试解码器350的解码被迭代地(iteratively)执行。在更新器340中执行的校验节点和变量节点的更新以及在尝试解码器350中执行的解码形成一个解码循环(decoding loop)。 
在判决单元330中,硬判决HD在第一映射数据Fn1的基础上并在奇偶校验失败时执行,尝试解码器350将解码结果传送到对数似然比(LLT)可靠性更新器360。 
对数似然比(LLT)可靠性更新器360将解码结果与存储在读取&可靠性信息存储器310中的第一读取数据Y1进行比较。当第一读取数据Y1的特定比特和位于与特定比特相同位置处的解码结果的比特具有相同的值时,对数似然比(LLT)可靠性更新器360存储指示读取&可靠性信息存储器310中特定比特的可靠性为高的可靠性比特。当第一读取数据Y1的特定比特和位于与特定比特相同位置处的解码结果的比特具有彼此不同的值时,对数似然比 (LLT)可靠性更新器360存储指示读取&可靠性信息存储器310中特定比特的可靠性为低的可靠性比特,作为可靠性数据RD。 
当解码循环被执行一次时,对数似然比(LLT)可靠性更新器360生成对于第一读取数据Y1的每个比特生成一个可靠性比特。当解码循环被执行k次时,生成对应于第一读取数据Y1的每个比特的k个数目的可靠性比特。对数似然比(LLT)可靠性更新器360在预定数目的解码循环期间生成可靠性比特。在执行了预定数目的解码循环之后,对数似然比(LLT)可靠性更新器360停止可靠性比特的生成。 
当执行硬判决时,第一读取数据Y1被存储在读取&可靠性信息存储器310中。在第一读取数据Y1的基础上,初始对数似然比(LLR)映射器320映射对数似然比(LLR)。第一读取数据Y1被表现为以下数学公式1。 
[数学公式1] 
Y1=[0 1 1 0 1 1 1] 
初始对数似然比(LLR)映射器320根据第一读取数据Y1的每个比特映射具有相同大小和不同符号的对数似然比(LLR)。当第一读取数据Y1的比特是‘1’时,初始对数似然比(LLR)映射器320将对数似然比(LLR)‘+M’映射到对应比特。当第一读取数据Y1的比特是‘0’时,初始对数似然比(LLR)映射器320将对数似然比(LLR)‘-M’映射到对应比特。也就是说,对数似然比(LLR)‘+M’和‘-M’被映射到第一读取数据Y1的第一映射数据Fn1被表现为以下数学公式2。 
[数学公式2] 
Fn1=[-M +M +M -M +M +M +M] 
第一映射数据Fn1被传送到判决单元330。判决单元330根据第一映射数据Fn1执行硬判决。 
当执行软判决时,第二读取数据Y2被存储在读取&可靠性信息存储器310中。在第二读取数据Y2的基础上,初始对数似然比(LLR)映射器320映射对数似然比(LLR)。第二读取数据Y2包括第一读取数据Y1的比特和 与其对应的附加比特。第二读取数据Y2被表现为以下数学公式3。 
[数学公式3] 
Y2=[011 101 111 001 100 110 101] 
第二读取数据Y2的元素包括3个比特。每个元素的第一比特是第一读取数据Y1的每个比特。每个元素的剩余比特是附加读取的结果。如果第二读取数据Y2的每个元素包括3个比特,则每个元素具有从‘000’到‘111’的8个模式之一。初始对数似然比(LLR)映射器320根据第二读取数据Y2的每个元素的值映射8个对数似然比(LLR)之一。第二读取数据Y2的每个元素的比特数目没有限制。 
为了执行软判决,通过附加读取另外获得关于存储单元的阈值电压的信息。在附加信息的基础上,映射各种对数似然比(LLR)。虽然一个存储单元在第一次读取时被读取为‘1’,通过附加读取,其被读取为具有接近为‘0’的阈值电压的‘1’。存储单元被映射为具有低的对数似然比(LLR)。一个存储单元在第一次读取时被读取为‘1’,并被读取为具有大大地不同于‘0’的阈值电压的‘1’。存储单元被映射为具有高的对数似然比(LLR)。由于使用关于存储单元的阈值电压的附加信息,软判决SD的解码准确度高于硬判决HD的解码准确度。 
根据至少一些示例实施例,使用由第一读取数据Y1和可靠性比特形成的第三读取数据Y3来执行解码。使用第三读取数据Y3进行解码与使用第二读取数据Y2进行解码相比较具有几乎相同的准确度,其中使用第二读取数据Y2进行解码具有与使用第一读取数据Y1时相同的开销(overhead)。 
图4示出了在图3的纠错码解码器中使用的奇偶校验矩阵H的示例。“1011100”被顺序地布置在奇偶校验矩阵H的第一行,“1101010”被顺序地布置在奇偶校验矩阵H的第二行,而“0111001”被顺序地布置在奇偶校验矩阵H的第三行。 
奇偶校验矩阵H的元素中的第一元素、第二元素和第三元素分别形成第一、第二和第三校验节点。奇偶校验矩阵H的元素中的第一到第七列元素分别形成第一到第七变量节点。 
为了方便描述,根据奇偶校验矩阵H的列的位置,第一、第二和第三校 验节点的元素用参考代码a到g来表示。而且,根据奇偶校验矩阵H的行的位置,第一到第七变量节点的元素用参考代码a、b和c来表示。 
如图4中所示,奇偶校验矩阵H的每个元素是校验节点并且也是变量节点。 
纠错码解码器300中使用的奇偶校验矩阵H不限于图4中示出的矩阵。密度低于图4中示出的奇偶校验矩阵H的具有‘1’的奇偶校验矩阵可以用于纠错码解码器300中。在纠错码解码器300中使用的奇偶校验矩阵的大小不限于图4中示出的3×7。 
图5示出了从图4的奇偶校验矩阵画出的因子图FG1~FG3。参考图4和图5,第一因子图形FG1显示在第一到第三校验节点C1a、C2a和C3a和第一到第七变量节点V1a~V7a之间的因子图。 
具有‘1’的校验节点C1a和C2a可以与具有‘1’的变量节点V1a和V3a~V5a具有连接关系,并且消息可以在其间传送。例如,具有‘1’的变量节点V1a可以与具有‘1’的校验节点C1a和C2a具有连接关系。校验节点V1a可以与具有‘1’的变量节点V1a和V3a~V5a具有连接关系。 
具有‘0’的校验节点C3a可以与具有‘0’的变量节点V2a、V6a和V7a具有连接关系,但是消息不能在其间传送。 
第二因子图FG2显示第一到第三校验节点C1b、C2b和C3b与第一到第七变量节点V1b~V7b之间的因子图。具有‘1’的校验节点C2b和C3b可以与具有‘1’的变量节点V1b、V2b、V4b和V6b具有连接关系,并且消息可以在其间传送。具有‘0’的校验节点C1b可以与具有‘0’的变量节点V3b、V5b和V6b具有连接关系,但是消息不能在其间传送。 
第三因子图FG3显示第一到第三校验节点C1c、C2c和C3c与第一到第七变量节点V1c~V7c之间的因子图。具有‘1’的校验节点C1c和C3c可以与具有‘1’的变量节点V2c~V4c和V7c具有连接关系,并且消息可以在其间传送。具有‘0’的校验节点C2c可以与具有‘0’的变量节点V1c、V5c和V6c具有连接关系,但是消息不能在其间传送。 
在第一因子图FG1中,示出了奇偶校验矩阵H的‘a’列的校验节点C1a、C2a和C3a与奇偶校验矩阵H的‘a’行的变量节点V1a~V7a之间的关系。以同样方式,‘a’行的变量节点V1a~V7a分别形成具有校验节点‘b’到‘g’列的因子图。 
在第二因子图FG2中,示出了奇偶校验矩阵H的‘b’列的校验节点C1b、C2b和C3b与奇偶校验矩阵H的‘b’行的变量节点V1b~V7b之间的关系。以同样方式,‘b’行的变量节点V1b~V7b分别形成具有‘a’和‘c’到‘g’列的校验节点的因子图。 
在第三因子图FG3中,示出了奇偶校验矩阵H的‘c’列的校验节点C1c、C2c和C3c与奇偶校验矩阵H的‘c’行的变量节点V1c~V7c之间的关系。以同样方式,‘c’行的变量节点V1c~V7c分别形成具有‘a’、‘b’和‘d’到‘g’列的校验节点的因子图。 
在图4和图5中,描述了奇偶校验矩阵H和基于奇偶校验矩阵H的校验节点、变量节点和因子图。纠错码解码器300在校验节点和变量节点之间的消息传输的基础上执行解码。 
图6是示出当执行读取操作时纠错码解码器300的纠错方法的流程图。在图6中示出了对应于图2A的S120的硬判决方法。参考图3和图6,在S210,使用第一读取数据Y1的读取比特执行第一解码,以便分别生成与第一读取数据Y1的读取比特相对应的可靠性比特。对于第一读取数据Y1的一个读取比特生成两个或更多个可靠性比特。第一解码是低密度奇偶校验解码LDPC。第一解码是在使用正常读取电压的读取结果的基础上执行的硬判决HD的解码。可靠性比特形成可靠性数据RD。第一读取数据Y1和可靠性数据RD形成第三读取数据Y3。 
在S220,使用第一读取数据Y1和可靠性数据RD,即,第三读取数据Y3执行第二解码。第二解码是低密度奇偶校验解码LDPC。第二解码是在使用正常读取电压的读取结果的基础上执行的硬判决HD的解码。 
图7是更详细地示出执行解码的方法的流程图。参考图3和图7,在S310,执行初始化。设置从变量节点传送到校验节点的初始V-C消息。初始对数似然比(LLR)可以映射到第一读取数据Y1以生成第一映射数据Fn1。 
在S320,辨别是否满足LLR重新映射条件。LLR重新映射条件可以包括与第一读取数据Y1的一个比特相对应的可靠性比特的数目是否达到预定值。也就是说,如果可靠性比特的数目达到先前设定值,则在S330,对数似然比(LLR)可以重新映射到第一读取数据Y1和可靠性数据RD以生成第三映射数据Fn3。 
LLR重新映射条件可以包括在可靠性比特的数目达到先前设定值之后解 码被执行的次数是否达到先前设定值。如果可靠性比特的数目达到先前设定值,并且在那之后解码被执行的次数达到先前设定值,则在S330,对数似然比(LLR)可以重新映射到第一读取数据Y1和可靠性数据RD以生成第三映射数据Fn3。 
在S340,校验节点在V-C消息的基础上被更新。更新结果是将从校验节点传送到变量节点的C-V消息。 
在S350,变量节点在C-V消息的基础上被更新。更新结果是将从变量节点传送到校验节点的V-C消息。 
在S360,执行尝试解码和奇偶校验。根据S350的变量节点的更新结果执行尝试解码。使用解码数据和奇偶校验矩阵H执行奇偶校验。 
在S370,辨别奇偶校验是否成功。如果奇偶校验成功,则在S380,断定硬判决成功,然后纠错解码结束。 
如果奇偶校验失败,则在S391,辨别解码循环的数目是否达到最大或参考值。如果解码循环的数目达到最大或参考值,则在S393,断定硬判决失败。如果解码循环的数目没有达到最大值,则在S397,生成可靠性比特。对于第一读取数据Y1的一个比特生成一个可靠性比特。然后,再次执行S320。 
可靠性比特的最大或参考值是1或大于1。如果完成可靠性比特的生成,则对于第一读取数据Y1的每个比特生成对应于最大或参考或参考值的数目的可靠性比特。 
当可靠性比特的数目是最大或参考值并且在S397生成新的可靠性比特时,可以删除之前存储的可靠性比特中最旧的值。也就是说,如果可靠性比特的数目达到最大或参考值,可靠性比特可以以FIFO(First-In First-Out)(先入先出)的形式来管理。 
在数学公式4的基础上执行S310的初始化。 
[数学公式4] 
Zmn=Fn1 
这里,Zmn指示正从n个数目的变量节点中的第m个变量节点传送的消息。Z21指示正从第一变量节点V1a、V1b和V1c中的第二变量节点V1b传送的消息。 
n变量节点传送的消息是第n个元素的对数似然比(LLR)。如果执行初始化,则生成从变量节点传送到校验节点的初始V-C消息。当执行软判决SD时,初始V-C消息是第二映射数据Fn2。 
图8示出了用于描述图7的初始化步骤S310的因子图。参考图8,第一因子图FG1的第一变量节点V1a向第一校验节点C1a和第二校验节点C2a传送消息。根据数学公式4,变量节点V1a传送对数似然比(LLR)‘-M’作为初始消息,该对数似然比(LLR)‘-M’是第一映射数据Fn1的第一元素。 
第二变量节点V2a不向校验节点C1a~C3a传送消息。 
第三变量节点V3a向第一校验节点C1a和第二校验节点C2a传送消息。根据数学公式4,第三变量节点V3a传送对数似然比(LLR)‘M’作为初始消息,该对数似然比(LLR)‘M’是第一映射数据Fn1的第三元素。 
以同样方式,第四变量节点V4a向第一校验节点C1a和第二校验节点C2a传送对数似然比(LLR)‘M’作为初始消息,该对数似然比(LLR)‘M’是第一映射数据Fn1的第四元素。第五变量节点V5a向第一校验节点C1a和第二校验节点C2a传送对数似然比(LLR)‘M’作为初始消息,该对数似然比(LLR)‘M’是第一映射数据Fn1的第五元素。第六变量节点V6a和第七变量节点V7a不传送消息。 
在第二因子图FG2中,第一变量节点V1b向第二校验节点C2b和第三校验节点C3b传送消息。根据数学公式4,第一变量节点V1b传送对数似然比(LLR)‘-M’作为初始消息,该对数似然比(LLR)‘-M’是第一映射数据Fn1的第一元素。以同样方式,第二变量节点V2b向第二校验节点C2b和第三校验节点C3b传送对数似然比(LLR)‘M’作为初始消息,该对数似然比(LLR)‘M’是第一映射数据Fn1的第二元素。第四变量节点V4b向第二校验节点C2b和第三校验节点C3b传送对数似然比(LLR)‘-M’作为初始消息,该对数似然比(LLR)‘M’是第一映射数据Fn1的第四元素。第六变量节点V6b向第二校验节点C2b和第三校验节点C3b传送对数似然比(LLR)‘M’作为初始消息,该对数似然比(LLR)‘M’是第一映射数据Fn1的第六元素。 
在第三因子图FG3中,第二变量节点V2c向第一校验节点C1c和第三校验节点C3c传送对数似然比(LLR)‘M’作为初始消息,该对数似然比(LLR)‘M’是第一映射数据Fn1的第二元素。第三变量节点V3c向第一校验节点 C1c和第三校验节点C3c传送对数似然比(LLR)‘M’作为初始消息,该对数似然比(LLR)‘M’是第一映射数据Fn1的第三元素。第四变量节点V4c向第一校验节点C1c和第三校验节点C3c传送对数似然比(LLR)‘-M’作为初始消息,该对数似然比(LLR)‘-M’是第一映射数据Fn1的第四元素。第七变量节点V7c向第一校验节点C1c和第三校验节点C3c传送对数似然比(LLR)‘M’作为初始消息,该对数似然比(LLR)‘M’是第一映射数据Fn1的第七元素。 
变量节点向校验节点传送第一映射数据Fn1的对数似然比(LLR)作为初始消息。每个变量节点传送其值作为消息。也就是说,当执行初始化时,变量节点被更新到第一映射数据Fn1的对数似然比(LLR)。 
如图9中所示,在奇偶校验矩阵H的第一行的变量节点V1a~V7a中具有值‘1’的节点被更新到第一映射数据Fn1的相同位置上的对数似然比(LLR)。在奇偶校验矩阵H的第二行的变量节点V1b~V7b中具有值‘1’的节点被更新到第一映射数据Fn1的相同位置上的对数似然比(LLR)。在奇偶校验矩阵H的第三行的变量节点V1c~V7c中具有值‘1’的节点被更新到第一映射数据Fn1的相同位置上的对数似然比(LLR)。 
在执行初始化(图7的S310)之后,执行校验节点的更新(图7的S330)。在图10中示出了更新校验节点的过程。在图10中示出了在不满足LLR重新映射条件时的校验节点的更新。 
参考图10,校验节点从变量节点接收V-C消息并根据所接收的消息进行更新。校验节点的更新值是从校验节点传送的C-V消息。也就是说,校验节点的更新包括校验节点的值的更新和C-V消息的生成。根据数学公式5来执行校验节点的更新。 
[数学公式5] 
Tmn = Π n ′ ∈ N ( m ) \ n 1 - exp ( Zmn ′ ) 1 + exp ( Zmn ′ )
Lmn = ln 1 - Tmm 1 + Tmm
从m数目的校验节点中的第n个校验节点传送的C-V消息(Lmn)通过基于参数Tmn的数学公式来定义。参数Tmn通过基于V-C消息(Zmn)的 数学公式来定义。 
每个校验节点传送其值作为C-V消息。也就是说,校验节点的值被更新到C-V消息。更新的校验节点将其值传送到变量节点作为C-V消息。 
当m被选择时,即,当将要更新的校验节点C1、C2或C3被选择时,函数N(m)指示所选择的校验节点C1、C2或C3内部的节点,即,变量节点。 
公式‘N(m)\n’指示与所选择的校验节点C1、C2或C3相对应的变量节点中除了第n个节点之外的节点。当计算校验节点C2a~C2g中的第二校验节点C2b时,‘n’的值是2。此时,公式‘N(m)\n’指示与所选择的校验节点C2相对应的‘b’行的变量节点V1b~V7b中除了第二变量节点C2b之外的剩余的变量节点。校验节点Cmn的消息Tmn根据与m校验节点Cm相对应的变量节点中除了第n个变量节点之外的变量节点的值来计算。 
如果选择将要更新的校验节点,即,选择变量m,则根据与所选择的校验节点相对应的变量节点(例如,包括所选择的校验节点的行的变量节点)中除了在校验节点的相同位置上的变量节点之外的剩余的变量节点的值来更新校验节点的消息(或值)。 
数学公式5包括复杂的指数运算。执行根据数学公式5的算术运算的硬件或软件具有诸如算术运算时间和功率消耗的开销。 
为了去除复杂的指数运算,使用近似数学公式6。 
[数学公式6] 
Π i Pi ≅ max Pi
使用数学公式6,去除了数学公式5的复杂的指数运算的数学公式7被用来更新校验节点。 
[数学公式7] 
Lmn = ( - 1 ) σ n ⊕ σ mn ‾ · [ α · min m ′ ∈ M ( n ) \ m | Zmn | ]
σmn=1,if Zmn>0 
σmn=0,otherwise 
σ n = Σ m ∈ M ( n ) σ mn mod 2
这里,α是归一化(normalized)因子。该归一化因子α被用来减少由于使用近似的数学公式6而导致的错误。 
在m数目的校验节点Cma~Cmg中的第n个校验节点Cmn的消息Lmn的幅值(magnitude)是这样一个值,该值通过把与校验节点Cmn在相同行的变量节点Vm1~Vm7中除了在校验节点Cmn的相同位置上的变量节点Vmn之外的剩余的校验节点的最小值乘以归一化因子α来获得。 
在m数目的校验节点Cma~Cmg中的第n个校验节点Cmn的消息Lmn的符号通过第一和第二参数(σmn,σn)来确定。当接收到(received to)校验节点的V-C消息(Zmn)具有正值时,第一参数σmn具有值1。当接收到校验节点的V-C消息(Zmn)不具有正值时,第一参数σmn具有值0。 
第二参数σn具有根据第一参数σmn确定的值。第二参数σn的值是通过对根据接收到校验节点的V-C消息运算的第一参数σmn的总数(the total)执行模-2(modulo-2)运算。也就是说,第二参数的值σn是通过对接收到校验节点的V-C消息中具有正值的消息的数目执行模-2运算而获得的结果。 
当接收到校验节点的V-C消息中具有正值的消息的数目是奇数时,第二参数σn具有值1。当接收到校验节点的V-C消息中具有正值的消息的数目是偶数时,第二参数σn具有值0。也就是说,当接收到校验节点的V-C消息中具有正值的消息的数目是奇数时,在m数目的校验节点Cma~Cmg中的第n个校验节点Cmn的消息Lmn的符号被设置为负。当接收到校验节点的V-C消息中具有正值的消息的数目是偶数时,在m数目的校验节点Cma~Cmg中的第n个校验节点Cmn的消息Lmn的符号被设置为正。 
如果比较数学公式5和数学公式7,数学公式7的算术运算比数学公式5的算术运算更简单。 
为了方便描述,称为运算空间(operation space,OS)的、采用诸如奇偶校验矩阵H的矩阵形式的空间通过第一映射数据Fn1初始化,然后直观地 (intuitionally)显示校验节点的更新和变量节点的更新。使用以下运算空间OS来描述校验节点的更新和变量节点的更新。 
图11和图12示出了根据校验节点的更新方法的算术运算空间OS。 
图11示出了第一列的校验节点C1a、C2a和C3a的更新方法。如数学公式5或数学公式7中所示的,如果选择了将要更新的校验节点,即,如果选择了变量m,则根据所选择的校验节点中的变量节点中除了在将要更新的校验节点的相同位置上的变量节点之外的剩余的变量节点的值来更新校验节点的消息(或值)。 
在对应于第一校验节点C1的变量节点V1a~V7a中,具有值0的变量节点不能传送消息。因此,根据来自传送消息的变量节点V3a、V4a和V5a的消息来执行校验节点C1a的更新。根据数学公式5或数学公式7来执行校验节点C1a的更新。数学公式5或数学公式7的运算结果被更新到校验节点C1a的新值(或消息)。 
以同样方式,根据从变量节点V2b、V4b和V6b传送的消息来更新校验节点C2a。 
由于校验节点C3a具有值0,则其不能接收消息。因此,校验节点C3a不被更新。 
图12示出了第二列的校验节点C1b、C2b和C3b的更新方法。如数学公式5或数学公式7中所示的,如果选择了将要更新的校验节点,即,如果选择了变量m,则根据所选择的校验节点中的变量节点Vm1~Vm7中除了在将要更新的校验节点的相同位置上的变量节点之外的剩余的变量节点的值来更新校验节点的消息(或值)。 
在对应于第二校验节点C2的变量节点V1b~V7b中,具有值0的变量节点不能传送消息。因此,根据来自传送消息的变量节点V1b、V4b和V6b的消息来执行校验节点C2b的更新。根据数学公式5或数学公式7执行校验节点C2b的更新。数学公式5或数学公式7的运算结果被更新到校验节点C2b的新值(或消息)。 
以同样方式,根据从变量节点V3c、V4c和V7c传送的消息来更新校验节点C3b。 
由于校验节点C1b具有值0,其不能接收消息。因此,校验节点C1b没有更新。 
以同样方式,执行第三列到第七列的校验节点的更新。 
如参考图11和图12所描述的,当更新特定校验节点时,根据与特定校验节点在相同行的变量节点中除了在特定校验节点的相同位置上的变量节点之外的剩余的变量节点的消息,执行数学公式5或数学公式7的算术运算。运算结果被更新到特定校验节点的值(或消息)。 
在执行校验节点的更新(图7的S340)之后,执行变量节点的更新(图7的S350)。在图13中示出了更新变量节点的过程。在图13中示出了在不满足LLR重新映射条件时的变量节点的更新。 
参考图13,变量节点从校验节点接收C-V消息并根据所接收的消息进行更新。变量节点的更新值是从变量节点传送的V-C消息。也就是说,变量节点的更新包括变量节点的值的更新和V-C消息的生成。根据数学公式8执行变量节点的更新。 
[数学公式8] 
Zn = Fn 1 + Σ m ∈ M ( n ) Lmn
Zmn=Zn-Lmn 
参数Zn指示后验概率(posteriori probability)。后验概率Zn指示对应位置的读取数据(例如,第一读取数据Y1)是1或0的概率。后验概率Zn是接收到特定变量节点的所有C-V消息和对应于特定变量节点的第一映射数据Fn1的总和。 
从特定变量节点传送的V-C消息Zmn是从在特定变量节点的相同位置上的校验节点传送的后验概率Zn和C-V消息Lmn的差异。 
图14和图15示出了根据变量节点的更新方法的算术运算空间OS。如数学公式8中所示,如果选择了将要更新的校验节点,即,如果选择了变量n,则根据所选择的变量节点中的校验节点C1n~C3n中除了在将要更新的变量节点的相同位置上的校验节点之外的剩余的校验节点的值、以及根据第一映射数据Fn1中对应位置的值,来更新变量节点的消息(或值)。 
在图14中,示出了第一行的变量节点V1a~V7a的更新方法。对应于第一变量节点V1a的校验节点C1a~C3a中具有值0的校验节点不能传送消息。 因此,根据传送消息的校验节点C2a和第一映射数据Fn1的值M执行第一变量节点V1a的更新。根据数学公式8执行第一变量节点V1a的更新。数学公式8的运算结果被更新到第一变量节点V1a的新值(或消息)。 
以同样方式,根据从校验节点C3c传送的消息和第一映射数据Fn1的值M更新变量节点V3a。根据从校验节点C2d和C3d传送的消息和第一映射数据Fn1的值-M更新变量节点V4a。根据第一映射数据Fn1的值M更新变量节点V5a。 
由于变量节点V2a、V6a和V7a具有值0,它们不能接收消息。因此,变量节点V2a、V6a和V7a没有更新。 
在图15中,示出了第二行的变量节点V1b~V7b的更新方法。在对应于第一变量节点V1b的校验节点C1a~C3a中,具有值0的校验节点不能传送消息。因此,根据传送消息的校验节点C1a和第一映射数据Fn1的值M执行第一变量节点V1b的更新。根据数学公式8执行第一变量节点V1b的更新。数学公式8的运算结果被更新到第一变量节点V1b的新值(或消息)。 
以同样方式,根据从校验节点C3b传送的消息和第一映射数据Fn1的值M更新变量节点V2b。根据从校验节点C1d和C3d传送的消息和第一映射数据Fn1的值-M更新变量节点V4b。根据第一映射数据Fn1的值M更新变量节点V6b。 
以同样方式,执行第三行的变量节点的更新。 
如参考图14和图15所描述的,当更新特定变量节点时,在与特定变量节点的相同列的校验节点中除了特定变量节点的相同位置上的校验节点之外的剩余的变量节点的消息和第一映射数据Fn1的值的总和被更新到特定变量节点的值(或消息)。 
如图7中所示,在执行变量节点的更新(S350)之后,执行尝试解码和奇偶校验(S360)。在后验概率Zn的基础上根据数学公式9执行尝试解码。尝试解码的结果是解码数据
Figure BDA00002685040400221
[数学公式9] 
C ^ = [ CN ^ ] , Cn ^ = 1 , Zn &GreaterEqual; 0 0 , Zn < 0
如果特定位置的后验概率Zn具有正值,则对应位置的解码数据
Figure BDA00002685040400231
被辨别为‘1’。如果特定位置的后验概率Zn具有负值,则对应位置的解码数据
Figure BDA00002685040400232
被辨别为‘0’。 
然后,根据尝试解码的结果执行奇偶校验。在解码数据和奇偶校验矩阵的基础上根据数学公式10执行奇偶校验。 
[数学公式10] 
H C ^ = 0
当解码数据时
Figure BDA00002685040400235
和奇偶校验矩阵满足数学公式10时,解码数据被正确解码并且奇偶校验被辨别为成功。也就是说,硬判决HD被辨别(S260)为成功。 
当解码数据
Figure BDA00002685040400237
和奇偶校验矩阵不满足数学公式10时,解码数据
Figure BDA00002685040400238
没有被正确解码并且奇偶校验被辨别为失败。然后,执行硬判决HD的下一个循环或执行软判决SD。 
图16是示出读取和可靠性信息存储器310的示例的画图。参考图3和图16,读取和可靠性信息存储器310包括存储第一读取数据Y1的第一存储区M1、存储可靠性数据RD的第二存储区M2、以及第三存储区M3。 
可靠性数据RD的每个比特具有在相同位置上的第一读取数据Y1的比特的可靠性。 
读取和可靠性信息存储器310根据FIFO(先入先出)管理可靠性数据RD。当读取和可靠性信息存储器310存储对应于最大或参考值的可靠性数据RD并且生成新的可靠性数据RD时,读取和可靠性信息存储器310可以删除最旧的可靠性数据RD并且可以存储新的可靠性数据RD。 
当执行软判决SD时,第二存储区M2和第三存储区M3可以与存储附加读取的数据的存储区相同。如果在执行软判决SD时存储附加数据的存储区被用来存储可靠性数据RD,则不需要用于存储可靠性数据RD的附加存储区。 
图17是更详细地示出生成可靠性比特的方法(图7的S397)的流程图。参考图17,在S410,比较第一读取数据Y1的读取比特和解码数据
Figure BDA00002685040400239
的解码比特。比较在相同位置上的读取比特和解码比特。 
在S420,在对应位置上,检测与解码比特具有不同的值的读取比特。如 果第一读取数据Y1的第k个比特的值是‘1’并且解码数据
Figure BDA00002685040400241
的第k个比特的值是‘0’,则检测第k个比特。 
在S430,根据检测的读取比特生成弱可靠性比特(weak reliability bits)。当‘0’是指示读取比特的可靠性为低的弱可靠性比特时,对应于在S420中检测的读取比特的可靠性比特是‘0’。 
在S440,根据剩余的读取比特生成强可靠性比特(strong reliability bits)。当‘1’是指示读取比特的可靠性为高的强比特时,对应于在S420中没有检测到的读取比特的可靠性比特是‘1’。S430和S440可以被同时执行。 
图18和图19示出其中生成可靠性比特的过程。在图18中,示出了执行第一解码循环的情况。通过比较第一读取数据Y1和解码数据生成第一可靠性比特RD_1。第一可靠性比特RD_1存储在第二存储区M2中。 
第一读取数据Y1的第一、第五和第六比特具有与解码数据
Figure BDA00002685040400243
的第一、第五和第六比特不同的值。因此,第一可靠性比特RD_1的第一、第五和第六比特被生成为弱可靠性比特(例如,‘0’)。 
第一读取数据Y1的第二、第三、第四和第七比特具有与解码数据
Figure BDA00002685040400244
的第二、第三、第四和第七比特相同的值。因此,第一可靠性比特RD_1的第二、第三、第四和第七比特被生成为强可靠性比特(例如,‘1’)。 
在图19中,示出了执行第二解码循环的情况。在第一解码循环生成的可靠性比特被从第二存储区M2传递到第三存储区M3。在第二解码循环生成的可靠性比特存储在第二存储区M2中。 
第一读取数据Y1的第三、第六和第七比特具有与解码数据
Figure BDA00002685040400245
的第三、第六和第七比特不同的值。因此,第一可靠性比特RD_2的第三、第六和第七比特被生成为弱可靠性比特(例如,‘0’)。 
第一读取数据Y1的第一、第二、第四和第五比特具有与解码数据的第一、第二、第四和第五比特相同的值。因此,第一可靠性比特RD_2的第一、第二、第四和第五比特被生成为强可靠性比特(例如,‘1’)。 
当强可靠性比特为‘1’并且弱可靠性比特为‘0’时,以数学公式11的形式安排第三读取数据Y3。 
[数学公式11] 
Y3=[010 111 101 011 110 100 101] 
第三读取数据Y3的每个元素的第一比特是第一读取数据Y1的每个比特。第三读取数据Y3的每个元素的第二比特是从最近执行的解码循环中生成的可靠性比特。第三读取数据Y3的每个元素的第三比特是从紧接在最近的解码循环被执行之前执行的解码循环中生成的可靠性比特。 
类似于在执行软判决SD时使用的第二读取数据Y2,第三读取数据Y3包括指示第一读取数据Y1的每个比特的可靠性的附加信息。由于第三读取数据Y3具有8个模式,其可以映射到更多的对数似然比(LLR),并且由此改进了硬判决解码的准确度。 
图20示出了存储在硬判决对数似然比(LLR)寄存器321中的映射信息的示例。当接收第一读取数据Y1时,硬判决对数似然比(LLR)寄存器321输出两个对数似然比(LLR)M和M,作为如上所述的映射信息。在接收第三读取数据Y3时,硬判决对数似然比(LLR)寄存器321输出图20中所示的映射信息。 
具有低可靠性的元素,即,包括弱可靠性比特的元素被映射为具有更低的对数似然比(LLR)。具有高可靠性的元素,即,包括强可靠性比特的元素被映射为具有更高的对数似然比(LLR)。 
对数似然比(LLR)M1~M8被设置为增加最近声称的可靠性数据RD的效果。 
如果图20的映射信息被映射到数学公式11的第三读取数据Y3,则第三映射数据Fn3是数学公式12。 
[数学公式12] 
Fn3=[M3 M8 M6 M4 M7 M5 M6] 
每个对数似然比(LLR)具有正值或负值。 
图21示出校验节点被更新的方法(S340)。在图21中示出了当满足每个对数似然比(LLR)重新映射条件时的校验节点的更新方法。参考图21,校验节点从不在与相同行上的变量节点中的校验节点相同的位置上的变量节点接收消息,并且根据所接收的消息更新。由于没有使用对数似然比(LLR)被重新映射到的第三映射数据Fn3,通过与参考图10到图12描述的方法相 同的方式来执行校验节点的更新。 
图22示出了变量节点被更新的方法(S350)。变量节点从不在与相同栏上的校验节点中的校验节点相同的位置上的第三映射数据Fn3的校验节点和元素相同的位置上的变量节点接收消息,并且根据所接收的消息更新。变量节点的更新以和参考图13到图15描述的方法相同的方式执行,除了使用了各种对数似然比(LLR)M1~M8被重新映射到的第三映射数据Fn3以外。 
如上所述,根据至少一些示例实施例的纠错码解码器300解码从存储设备100读取一次(read once)的第一读取数据Y1,以生成可靠性数据RD。在作为第一读取数据Y1和可靠性数据RD的组合的第三读取数据Y3的基础上重新映射对数似然比(LLR)。具有低可靠性的元素被映射为具有低对数似然比(LLR),并且具有高可靠性的元素被映射为具有高对数似然比(LLR)。当执行低密度奇偶校验(LDPC)解码时,具有低对数似然比(LLR)的元素对其它元素具有较小的影响。具有高对数似然比(LLR)的元素对其它元素具有较大的影响。 
也就是说,根据至少一些示例实施例,减少了具有低可靠性的元素的影响,并增加了具有高可靠性的元素的影响。因此,改进了低密度奇偶校验(LDPC)解码,即,硬判决解码的准确度。 
在如上所述的实施例中,2比特的可靠性比特被提供到一个比特的第一读取数据Y1。然而,提供到一个比特的第一读取数据Y1的可靠性比特的数目没有限制。 
在如上所述的实施例中,纠错码解码器300是存储系统1000的组成元素。然而,纠错码解码器300不限于用在存储系统1000中。纠错码解码器300被不同地用在其中在数据中发生错误的环境中。 
类似于图7中所示的方法执行软判决SD。软判决SD以与图7中所示的相同的方式执行,不同之处在于:去除了可靠性比特的对数似然比(LLR)重新映射步骤(S320和S330)和生成步骤(S397),S380被软判决成功取代,S393被软判决失败取代,以及读取错误步骤(S170)在软判决失败之后执行。 
在执行软判决SD时使用的对数似然比(LLR)被映射到第一读取数据Y1和可靠性数据RD。也就是说,在S330中被重新映射的对数似然比(LLR)与在执行软判决SD时被映射的对数似然比(LLR)可以相同。 
当重复地执行解码时,在下一个解码循环中使用在先前解码循环中计算 的节点的值。 
图23是示出执行解码的方法的另一个示例的流程图。 
如果与图7的解码方法相比较,辨别是否满足可靠性比特生成条件的步骤(S595)被添加到辨别最大或参考循环的步骤(S591)和生成可靠性比特的步骤(S597)之间。 
可靠性比特生成条件包括执行解码的次数。在执行前n次解码循环时,没有生成可靠性比特并且紧接在执行n次之后生成可靠性比特。因此,忽略具有相对较低可靠性的初始解码结果,并且在中间阶段之后根据具有相对较高可靠性的解码结果生成可靠性比特。 
图24是示出图1的存储系统1000的另一个示例的框图。参考图24,纠错码解码器300a包括第一解码器和第二解码器。第一解码器使用与第二解码器不同的解码方法。第一解码器使用bose-chaudhuri-hocquenghem(BCH)码进行纠错。第二解码器使用低密度奇偶校验(LDPC)进行纠错。第一解码器纠正具有相对较低容量的元数据的错误。第二解码器纠正具有相对较高容量的用户数据的错误。 
图25是图1的存储系统1000的应用示例的框图。参考图25,存储系统2000包括非易失性存储设备2100和控制器2200。非易失性存储设备2100包括多个非易失性存储芯片。多个非易失性存储芯片被分成多个组。多个非易失性存储芯片的每个组被配置为通过一个公共信道与控制器2200通信。图中示出了多个非易失性存储芯片被配置为通过第一到第k个信道CH1~CHk与控制器220通信。 
控制器2200包括参考图3描述的纠错码解码器300b_1~300b_k。纠错码解码器300b_1~300b_k纠正从非易失性存储设备2100读取的数据的错误。 
纠错码解码器300b_1~300b_k被提供为与对应于信道CH1~CHk的数目一样多。一个纠错码解码器纠正连接到一个信道的非易失性存储芯片的错误。 
一个纠错码解码器包括第一解码器和第二解码器。第一解码器和第二解码器使用彼此不同的解码方法。第一解码器使用bose-chaudhuri-hocquenghem(BCH)码进行纠错。第二解码器使用低密度奇偶校验(LDPC)进行纠错。第一解码器纠正具有相对较低容量的元数据的错误。第二解码器纠正具有相对较高容量的用户数据的错误。 
在图25中,示出了多个非易失性存储芯片连接到一个信道。但是,存储系统2000可以改变,从而一个非易失性存储芯片被连接到一个信道。 
图26是根据至少一些示例实施例的存储卡3000。参考图26,存储卡3000包括非易失性存储设备3100、控制器3200和连接器3300。 
控制器3200包括参考图3描述的纠错码解码器300c。纠错码解码器300c纠正从非易失性存储设备3100读取的数据的错误。 
纠错码解码器300c包括第一解码器和第二解码器。第一解码器和第二解码器使用彼此不同的解码方法。第一解码器使用bose-chaudhuri-hocquenghem(BCH)码进行纠错。第二解码器使用低密度奇偶校验(LDPC)进行纠错。第一解码器纠正具有相对较低容量的元数据的错误。第二解码器纠正具有相对较高容量的用户数据的错误。 
连接器3300电连接存储卡3000和主机。 
存储卡3000可以包括个人计算机存储卡国际联合会(PCMCIA)卡、紧凑闪存(CF)卡、智能介质(SM、SMC)卡、存储棒、多媒体(MMC、RS-MMC、MMCmicro)卡、SD卡(SD、miniSD、microSD、SDHC)、通用闪存器件UFS、等等。 
图27是根据至少一些示例实施例的固态驱动器4000。参考图27,固态驱动器4000包括多个非易失性存储设备4100、控制器4200和连接器4300。 
控制器4200包括参考图3描述的纠错码解码器300d_1~300d_3。纠错码解码器300d_1~300d_3纠正从非易失性存储设备3100读取的数据的错误。 
纠错码解码器300d_1~300d_3被提供为与对应于信道的数目一样多。一个纠错码解码器纠正连接到一个信道的非易失性存储芯片的错误。 
一个纠错码解码器包括第一解码器和第二解码器。第一解码器和第二解码器使用彼此不同的解码方法。第一解码器使用bose-chaudhuri-hocquenghem(BCH)码进行纠错。第二解码器使用低密度奇偶校验(LDPC)进行纠错。第一解码器纠正具有相对较低容量的元数据的错误。第二解码器纠正具有相对较高容量的用户数据的错误。 
连接器4300电连接固态驱动器4000和主机。 
图28是示出包括参考图25描述的存储系统的计算系统5000的框图。参考图28,计算系统5000包括中央处理设备5100、RAM 5200、用户接口5300、电源5400和存储系统2000。 
存储系统2000被通过系统总线5500耦合到中央处理设备5100、RAM5200、用户接口5300和电源5400。通过用户接口5300提供的数据或由中央处理单元5100处理的数据被存储在存储系统2000中。 
在图28中,示出了非易失性存储设备2100被通过控制器2200耦合到系统总线5500。然而,非易失性存储设备2100可以被配置为直接耦合到系统总线5500。 
在图28中,示出了提供了参考图25描述的存储系统2000。然而,存储系统2000可以包括参考图1和图24描述的存储系统1000。 
根据至少一些示例实施例,在读取数据和可靠性数据的基础上执行硬判决。改进了硬判决的可靠性并由此减少了发生软判决的频率。因此,提供了这样一种存储系统,其包括从具有改进的可靠性的存储设备读取数据和消耗较少资源的方法、纠错设备、以及纠错码解码器。 
因此已经描述了示例实施例,很明显所述示例实施例可以在许多方面进行改变。这样的变化不应被认为脱离示例实施例的意图的精神和范围,并且本领域技术人员将很清楚,所有这样的修改都意图被包括在权利要求书的范围之内。 

Claims (34)

1.一种从存储设备读取数据的方法,包括:
使用第一读取电压读取存储在所述存储设备中的数据;
基于所述读取数据执行第一低密度奇偶校验(LDPC)解码;
根据所述解码结果生成每个读取比特的可靠性比特,所述读取比特是所述读取数据的比特;以及
基于所述读取数据和可靠性比特执行第二LDPC解码,以便对所述读取数据执行第一纠错。
2.如权利要求1所述的方法,其中,生成可靠性比特包括:
生成解码比特作为第一LDPC解码的结果;
将多个第一比特中的每一个与多个第二比特中对应的一个进行比较以生成比较结果,第一比特是所述读取比特的比特,第二比特是所述解码比特的比特;并且
基于所述比较结果生成与所述多个第一比特中的每一个相对应的可靠性比特。
3.如权利要求2所述的方法,其中,如果所述多个第一比特中的比特与第二比特中的对应的比特相同,则所生成的可靠性比特指示与可靠性比特相对应的第一比特的可靠性为高。
4.如权利要求2所述的方法,其中,如果所述多个第一比特中的比特与第二比特中的对应的比特不同,则所生成的可靠性比特指示与可靠性比特相对应的第一比特的可靠性为低。
5.如权利要求1所述的方法,其中,如果第一LDPC解码被执行,则具有相同大小和相反符号的对数似然比被映射到所述读取比特。
6.如权利要求1所述的方法,其中,如果第二LDPC解码被执行,则根据所述读取比特和可靠性比特重新映射两个或更多个不同的对数似然比。
7.如权利要求1所述的方法,还包括:
如果在第一纠错中没有完成纠错,则通过使用分读取电压重新读取存储在所述存储设备中的数据并基于读取数据和重新读取的数据执行第三LDPC解码来执行第二纠错。
8.如权利要求7所述的方法,其中,所述读取电压的电平不同于所述分读取电压的电平。
9.如权利要求1所述的方法,其中,在第一LDPC解码的解码循环被执行了参考次数之后,每当第一LDPC解码的解码循环被重复时就生成所述可靠性比特。
10.如权利要求1所述的方法,其中,如果所生成的可靠性比特的数目达到参考值,则以先入先出(FIFO)的形式来管理所述可靠性比特中的比特的去除。
11.如权利要求1所述的方法,其中,在所生成的可靠性比特的数目达到第二参考值之后,在第一LDPC解码的解码循环被执行了与第一参考次数一样多次之后,执行第二LDPC解码。
12.如权利要求1所述的方法,其中,当第二LDPC解码被执行时,更新在第一LDPC解码中操作的校验节点和变量节点。
13.一种纠错设备,包括:
存储器,被配置为存储从外部设备接收的第一数据,存储指示第一数据的可靠性的可靠性数据,并输出所接收的第一数据和可靠性数据;
对数似然比映射器,被配置为通过将第一对数似然比映射到从所述存储器输出的第一数据来输出第一映射数据,以及通过将第二对数似然比映射到从所述存储器输出的第一数据和可靠性数据来输出第二映射数据;
判决单元,被配置为基于第一映射数据或第二映射数据执行低密度奇偶校验(LDPC)解码;以及
对数似然比可靠性更新器,被配置为从所述判决单元接收基于第一映射数据的解码结果,将解码结果与存储在存储器中的第一数据进行比较,并根据所述比较结果生成指示第一数据的每个比特的可靠性的可靠性数据,以便将所生成的可靠性数据存储在所述存储器上。
14.如权利要求13所述的纠错设备,其中,所述存储器被配置为当对应于第一数据的可靠性数据的比特数目低于参考值时,将第一数据输出到所述对数似然比映射器,以及被配置为当对应于第一数据的可靠性数据的比特数目达到所述参考值时,将第一数据和可靠性数据输出到所述对数似然比映射器。
15.如权利要求14所述的纠错设备,其中,所述参考值是存储对应于一个比特的第一数据的可靠性数据的存储器的比特数目。
16.如权利要求13所述的纠错设备,其中,所述对数似然比可靠性更新器被配置为当第一比特和第二比特具有不同值时,生成指示可靠性为低的可靠性数据,第一比特是所述解码结果的比特,第二比特是在对应于第一比特的位置处的第一数据中的比特。
17.如权利要求13所述的纠错设备,其中,所述对数似然比可靠性更新器被配置为当第一比特和第二比特具有相同值时,生成指示可靠性为高的可靠性数据,第一比特是所述解码结果的比特,第二比特是在对应于第一比特的位置处的第一数据中的比特。
18.如权利要求13所述的纠错设备,其中,所述对数似然比映射器被配置,从而当第一LDPC解码被执行时,所述对数似然比映射器将具有相同大小和相反符号的两个对数似然比之一映射到所述第一数据中的每一个比特。
19.如权利要求13所述的纠错设备,其中,所述对数似然比映射器被配置,从而当第二LDPC解码被执行时,所述对数似然比映射器将三个或更多个对数似然比之一映射到第一数据中的每一个比特以及与第一数据中的每一个比特相对应的可靠性比特。
20.如权利要求13所述的纠错设备,其中,所述存储器、对数似然比映射器和判决单元被配置,从而当在判决单元中检测到纠错失败时,所述存储器从外部获得附加数据并存储该附加数据,所述对数似然比映射器将对数似然比映射到第一数据和附加数据以输出第三映射数据,以及所述判决单元基于第三映射数据执行解码。
21.如权利要求13所述的纠错设备,其中,所述存储器被配置,从而当与所述第一数据相对应的每个可靠性数据的比特数目达到参考值时,所述存储器以先入先出(FIFO)的形式管理所述可靠性数据的比特的去除。
22.如权利要求13所述的纠错设备,其中,所述存储器被配置,从而当对应于第一数据的可靠性数据的比特数目达到参考值时,并且在基于第一映射数据的LDPC解码被执行了参考次数之后,所述存储器将第一数据和可靠性数据输出到所述对数似然比映射器。
23.如权利要求13所述的纠错设备,其中,所述对数似然比可靠性更新器被配置,从而在基于第一映射数据的LDPC解码被执行了参考次数之后,所述对数似然比可靠性更新器生成所述可靠性数据。
24.一种存储系统,包括:
存储设备;和
控制器,被配置为接收从所述存储设备读取的第一数据,所述控制器包括纠正所接收的数据的错误的第一纠错码解码器,
其中,所述第一纠错码解码器包括,
存储器,被配置为存储第一数据和指示第一数据的可靠性的可靠性数据,以及输出所读取第一数据和可靠性数据;
对数似然比映射器,被配置为将第一对数似然比映射到从所述存储器输出的第一数据来输出第一映射数据,以及通过将第二对数似然比映射到从所述存储器输出的第一数据和可靠性数据来输出第二映射数据;
判决单元,被配置为基于第一映射数据或第二映射数据执行低密度奇偶校验(LDPC)解码;以及
对数似然比可靠性更新器,被配置为从所述判决单元接收基于第一映射数据的第一解码结果,将第一解码结果与存储在所述存储器中的第一数据进行比较,并根据所述比较结果生成指示第一数据的每一个比特的可靠性的可靠性数据,以便将所生成的可靠性数据存储在所述存储器上,所述对数似然比可靠性更新器被配置为基于根据第二映射数据的第二解码结果对第一数据执行第一纠错操作。
25.如权利要求24所述的存储系统,其中,所述存储设备包括闪存。
26.如权利要求24所述的存储系统,其中,所述存储设备和所述控制器形成存储卡。
27.如权利要求24所述的存储系统,其中,所述存储设备和所述控制器形成固态驱动器。
28.如权利要求24所述的存储系统,其中,所述存储器被配置,从而当第一纠错操作失败时,所述存储器获得并存储从所述存储设备读取的附加数据,所述对数似然比映射器将对数似然比映射到第一数据和附加数据以输出第三映射数据,以及所述判决单元基于该第三映射数据执行解码。
29.如权利要求24所述的存储系统,还包括:
第二纠错码解码器,用于纠正存储在所述存储设备中的元数据的错误,
其中,第一纠错码解码器被配置为纠正存储在所述存储设备中的用户数据的错误。
30.如权利要求29所述的存储系统,其中,第二纠错码解码器被配置为使用Bose-Chaudhuri-Hocquenghem码进行纠错。
31.如权利要求24所述的存储系统,其中,所述控制器和所述存储设备被配置,从而所述控制器和所述存储设备通过k个信道互相通信,k为正整数,
其中,所述纠错码解码器被配置为纠正通过k个信道中的第一信道通信的数据的错误,并且
其中,所述控制器包括k-1个纠错编码的解码器,所述k-1个纠错编码的解码器被配置为分别纠正通过除了k个信道中的第一信道以外的信道通信的数据的错误。
32.一种从存储设备读取数据的方法,包括:
执行硬判决读取操作以生成硬判决数据,所述硬判决读取操作包括,
使用第一读取电压读取存储在所述存储设备中的数据,
通过基于所述读取数据执行解码操作生成与多个读取比特中的每一个相对应的多个可靠性比特,所述读取比特是所述读取数据的比特,并且
基于所述读取数据和可靠性比特对所述读取数据执行第一纠错操作;
基于所述硬判决数据生成比较结果;以及
基于所述比较结果确定是否使用不同于第一读取电压的分读取电压对存储在所述存储设备中的数据执行软判决读取操作。
33.如权利要求1所述的方法,其中,执行第一解码操作包括生成解码比特,以及
其中,生成多个可靠性比特包括将多个第一比特中的每一个与多个第二比特中对应的一个进行比较,第一比特是所述读取比特的比特,第二比特是所述解码比特的比特。
34.如权利要求1所述的方法,其中,所述解码操作是低密度奇偶校验(LDPC)解码操作,所述比较结果是通过执行奇偶校验生成的,并且所述确定包括如果所述奇偶校验失败则确定执行所述软判决读取操作。
CN2012105927039A 2011-12-30 2012-12-31 从存储设备读取数据的方法、纠错设备和存储系统 Pending CN103186352A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2011-0146645 2011-12-30
KR1020110146645A KR101968746B1 (ko) 2011-12-30 2011-12-30 저장 장치로부터 데이터를 읽는 읽기 방법, 에러 정정 장치, 그리고 에러 정정 코드 디코더를 포함하는 저장 시스템

Publications (1)

Publication Number Publication Date
CN103186352A true CN103186352A (zh) 2013-07-03

Family

ID=48677532

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012105927039A Pending CN103186352A (zh) 2011-12-30 2012-12-31 从存储设备读取数据的方法、纠错设备和存储系统

Country Status (4)

Country Link
US (1) US9059738B2 (zh)
JP (1) JP6096496B2 (zh)
KR (1) KR101968746B1 (zh)
CN (1) CN103186352A (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572334A (zh) * 2013-10-14 2015-04-29 群联电子股份有限公司 解码方法、存储器存储装置与存储器控制电路单元
CN104601178A (zh) * 2013-10-30 2015-05-06 群联电子股份有限公司 解码方法、解码电路、存储器存储装置与控制电路单元
CN104658609A (zh) * 2013-11-19 2015-05-27 国际商业机器公司 用于存储器系统的纠错码分布的方法和系统
CN105023613A (zh) * 2014-04-22 2015-11-04 群联电子股份有限公司 解码方法、存储器存储装置及存储器控制电路单元
CN105022674A (zh) * 2014-04-25 2015-11-04 群联电子股份有限公司 解码方法、存储器存储装置、存储器控制电路单元
CN105957553A (zh) * 2015-03-09 2016-09-21 爱思开海力士有限公司 控制器、半导体存储系统及其操作方法
CN106169308A (zh) * 2015-03-16 2016-11-30 爱思开海力士有限公司 存储器控制器及其操作方法
CN106601305A (zh) * 2016-11-18 2017-04-26 华中科技大学 一种使用检错码和纠错码相结合的固态盘纠错方法
CN106970852A (zh) * 2016-01-14 2017-07-21 钰创科技股份有限公司 闪存错误控制电路及其方法
CN106992026A (zh) * 2017-03-20 2017-07-28 中山大学 一种针对NAND‑Flash存储介质的LDPC码快速信息恢复的译码方法
CN106990910A (zh) * 2015-11-23 2017-07-28 三星电子株式会社 存储设备和存储设备的操作方法
CN107657984A (zh) * 2017-08-16 2018-02-02 深圳市江波龙电子有限公司 闪存的纠错方法、装置、设备以及计算机可读存储介质
WO2018119900A1 (zh) * 2016-12-29 2018-07-05 华为技术有限公司 数据读取方法及闪存设备
CN108683423A (zh) * 2018-05-16 2018-10-19 广东工业大学 一种多级闪存信道下的ldpc码动态串行调度译码算法及装置
CN109783270A (zh) * 2017-11-14 2019-05-21 奈奎斯特半导体有限公司 用于解码纠错码的系统和方法
CN113571113A (zh) * 2021-07-14 2021-10-29 深圳宏芯宇电子股份有限公司 目标数据的解码方法、装置、电子设备和存储装置

Families Citing this family (101)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9136011B2 (en) * 2012-04-26 2015-09-15 Hgst Technologies Santa Ana, Inc. Soft information module
JP2014140111A (ja) * 2013-01-21 2014-07-31 Sony Corp コントローラ、情報処理システム、コントローラの制御方法およびプログラム
CN105247808B (zh) * 2013-03-07 2019-03-22 马维尔国际贸易有限公司 使用后期可靠性信息进行解码的系统和方法
WO2014149738A1 (en) * 2013-03-21 2014-09-25 Marvell World Trade Ltd. Systems and methods for multi-stage soft input decoding
US9450619B2 (en) * 2013-03-22 2016-09-20 Seagate Technology Llc Dynamic log likelihood ratio quantization for solid state drive controllers
TWI527382B (zh) * 2013-10-22 2016-03-21 群聯電子股份有限公司 解碼方法、解碼電路、記憶體儲存裝置與控制電路單元
GB2520708A (en) 2013-11-28 2015-06-03 Ibm Multi-stage codeword detector
US9633740B1 (en) * 2016-02-11 2017-04-25 Seagate Technology Llc Read retry operations where likelihood value assignments change sign at different read voltages for each read retry
US10276247B2 (en) 2013-12-20 2019-04-30 Seagate Technology Llc Read retry operations with estimation of written data based on syndrome weights
US9563502B1 (en) 2013-12-20 2017-02-07 Seagate Technology Llc Read retry operations with read reference voltages ranked for different page populations of a memory
KR102108386B1 (ko) 2013-12-23 2020-05-08 삼성전자주식회사 저장 장치 및 그것의 데이터 엔코딩 및 디코딩 방법들
TWI523018B (zh) * 2013-12-31 2016-02-21 群聯電子股份有限公司 解碼方法、記憶體儲存裝置、記憶體控制電路單元
US9665757B2 (en) 2014-03-07 2017-05-30 Hand Held Products, Inc. Indicia reader for size-limited applications
US9424134B2 (en) * 2014-03-28 2016-08-23 Intel Corporation Boot management in a non-volatile memory system
US9224027B2 (en) 2014-04-01 2015-12-29 Hand Held Products, Inc. Hand-mounted indicia-reading device with finger motion triggering
US9412242B2 (en) 2014-04-04 2016-08-09 Hand Held Products, Inc. Multifunction point of sale system
TWI540586B (zh) * 2014-04-15 2016-07-01 群聯電子股份有限公司 解碼方法、記憶體儲存裝置、記憶體控制電路單元
US9224022B2 (en) 2014-04-29 2015-12-29 Hand Held Products, Inc. Autofocus lens system for indicia readers
US9329935B2 (en) 2014-05-19 2016-05-03 Seagate Technology Llc Method to dynamically update LLRs in an SSD drive and/or controller
US11546428B2 (en) 2014-08-19 2023-01-03 Hand Held Products, Inc. Mobile computing device with data cognition software
US20160062473A1 (en) 2014-08-29 2016-03-03 Hand Held Products, Inc. Gesture-controlled computer system
CN105468471A (zh) * 2014-09-12 2016-04-06 光宝科技股份有限公司 固态存储装置及其错误更正方法
EP3001368A1 (en) 2014-09-26 2016-03-30 Honeywell International Inc. System and method for workflow management
US9594615B2 (en) * 2014-09-30 2017-03-14 Apple Inc. Estimating flash quality using selective error emphasis
US9779276B2 (en) 2014-10-10 2017-10-03 Hand Held Products, Inc. Depth sensor based auto-focus system for an indicia scanner
US10775165B2 (en) 2014-10-10 2020-09-15 Hand Held Products, Inc. Methods for improving the accuracy of dimensioning-system measurements
EP3009968A1 (en) 2014-10-15 2016-04-20 Vocollect, Inc. Systems and methods for worker resource management
US9484089B2 (en) * 2014-10-20 2016-11-01 Sandisk Technologies Llc Dual polarity read operation
US9897434B2 (en) 2014-10-21 2018-02-20 Hand Held Products, Inc. Handheld dimensioning system with measurement-conformance feedback
US9762793B2 (en) 2014-10-21 2017-09-12 Hand Held Products, Inc. System and method for dimensioning
EP3016023B1 (en) 2014-10-31 2020-12-16 Honeywell International Inc. Scanner with illumination system
US10810529B2 (en) 2014-11-03 2020-10-20 Hand Held Products, Inc. Directing an inspector through an inspection
US20160125217A1 (en) 2014-11-05 2016-05-05 Hand Held Products, Inc. Barcode scanning system using wearable device with embedded camera
US9984685B2 (en) 2014-11-07 2018-05-29 Hand Held Products, Inc. Concatenated expected responses for speech recognition using expected response boundaries to determine corresponding hypothesis boundaries
US20160180713A1 (en) 2014-12-18 2016-06-23 Hand Held Products, Inc. Collision-avoidance system and method
US9743731B2 (en) 2014-12-18 2017-08-29 Hand Held Products, Inc. Wearable sled system for a mobile computer device
US20160180594A1 (en) 2014-12-22 2016-06-23 Hand Held Products, Inc. Augmented display and user input device
US10296259B2 (en) 2014-12-22 2019-05-21 Hand Held Products, Inc. Delayed trim of managed NAND flash memory in computing devices
US9564035B2 (en) 2014-12-22 2017-02-07 Hand Held Products, Inc. Safety system and method
US10635876B2 (en) 2014-12-23 2020-04-28 Hand Held Products, Inc. Method of barcode templating for enhanced decoding performance
US10049246B2 (en) 2014-12-23 2018-08-14 Hand Held Products, Inc. Mini-barcode reading module with flash memory management
US10191514B2 (en) 2014-12-23 2019-01-29 Hand Held Products, Inc. Tablet computer with interface channels
US10552786B2 (en) 2014-12-26 2020-02-04 Hand Held Products, Inc. Product and location management via voice recognition
US9652653B2 (en) 2014-12-27 2017-05-16 Hand Held Products, Inc. Acceleration-based motion tolerance and predictive coding
US20160189447A1 (en) 2014-12-28 2016-06-30 Hand Held Products, Inc. Remote monitoring of vehicle diagnostic information
US10621538B2 (en) 2014-12-28 2020-04-14 Hand Held Products, Inc Dynamic check digit utilization via electronic tag
US11443363B2 (en) 2014-12-29 2022-09-13 Hand Held Products, Inc. Confirming product location using a subset of a product identifier
US9898635B2 (en) 2014-12-30 2018-02-20 Hand Held Products, Inc. Point-of-sale (POS) code sensing apparatus
US10108832B2 (en) 2014-12-30 2018-10-23 Hand Held Products, Inc. Augmented reality vision barcode scanning system and method
US9830488B2 (en) 2014-12-30 2017-11-28 Hand Held Products, Inc. Real-time adjustable window feature for barcode scanning and process of scanning barcode with adjustable window feature
US9230140B1 (en) 2014-12-30 2016-01-05 Hand Held Products, Inc. System and method for detecting barcode printing errors
US10152622B2 (en) 2014-12-30 2018-12-11 Hand Held Products, Inc. Visual feedback for code readers
EP3043235B1 (en) 2014-12-31 2018-06-20 Hand Held Products, Inc. Reconfigurable sled for a mobile device
US20160203429A1 (en) 2015-01-09 2016-07-14 Honeywell International Inc. Restocking workflow prioritization
US9564921B1 (en) 2015-02-04 2017-02-07 Microsemi Storage Solutions (U.S.), Inc. Method and system for forward error correction decoding based on a revised error channel estimate
US10121466B2 (en) 2015-02-11 2018-11-06 Hand Held Products, Inc. Methods for training a speech recognition system
US9250712B1 (en) 2015-03-20 2016-02-02 Hand Held Products, Inc. Method and application for scanning a barcode with a smart device while continuously running and displaying an application on the smart device display
KR102556479B1 (ko) * 2015-03-20 2023-07-17 에스케이하이닉스 주식회사 Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법
US20160292477A1 (en) 2015-03-31 2016-10-06 Hand Held Products, Inc. Aimer for barcode scanning
US9693038B2 (en) 2015-04-21 2017-06-27 Hand Held Products, Inc. Systems and methods for imaging
US9521331B2 (en) 2015-04-21 2016-12-13 Hand Held Products, Inc. Capturing a graphic information presentation
US9786101B2 (en) 2015-05-19 2017-10-10 Hand Held Products, Inc. Evaluating image values
EP3118576B1 (en) 2015-07-15 2018-09-12 Hand Held Products, Inc. Mobile dimensioning device with dynamic accuracy compatible with nist standard
US10094650B2 (en) 2015-07-16 2018-10-09 Hand Held Products, Inc. Dimensioning and imaging items
US9853575B2 (en) 2015-08-12 2017-12-26 Hand Held Products, Inc. Angular motor shaft with rotational attenuation
US9798413B2 (en) 2015-08-27 2017-10-24 Hand Held Products, Inc. Interactive display
US10134112B2 (en) 2015-09-25 2018-11-20 Hand Held Products, Inc. System and process for displaying information from a mobile computer in a vehicle
US20170094238A1 (en) 2015-09-30 2017-03-30 Hand Held Products, Inc. Self-calibrating projection apparatus and process
US9727083B2 (en) 2015-10-19 2017-08-08 Hand Held Products, Inc. Quick release dock system and method
US10395116B2 (en) 2015-10-29 2019-08-27 Hand Held Products, Inc. Dynamically created and updated indoor positioning map
US9864891B2 (en) 2015-11-24 2018-01-09 Intermec Technologies Corporation Automatic print speed control for indicia printer
KR20170075065A (ko) * 2015-12-22 2017-07-03 에스케이하이닉스 주식회사 메모리 시스템 동작 방법
US9945777B2 (en) 2016-01-14 2018-04-17 Hand Held Products, Inc. Multi-spectral imaging using longitudinal chromatic aberrations
TWI595498B (zh) * 2016-01-20 2017-08-11 大心電子(英屬維京群島)股份有限公司 解碼方法、記憶體儲存裝置及記憶體控制電路單元
US10235547B2 (en) 2016-01-26 2019-03-19 Hand Held Products, Inc. Enhanced matrix symbol error correction method
US10043582B2 (en) 2016-02-11 2018-08-07 Seagate Technology Llc Establishing parameters of subsequent read retry operations based on syndrome weights of prior failed decodings
US20170299851A1 (en) 2016-04-14 2017-10-19 Hand Held Products, Inc. Customizable aimer system for indicia reading terminal
EP3232367B1 (en) 2016-04-15 2021-11-03 Hand Held Products, Inc. Imaging barcode reader with color separated aimer and illuminator
US10185906B2 (en) 2016-04-26 2019-01-22 Hand Held Products, Inc. Indicia reading device and methods for decoding decodable indicia employing stereoscopic imaging
US9727841B1 (en) 2016-05-20 2017-08-08 Vocollect, Inc. Systems and methods for reducing picking operation errors
US10339352B2 (en) 2016-06-03 2019-07-02 Hand Held Products, Inc. Wearable metrological apparatus
US9940721B2 (en) 2016-06-10 2018-04-10 Hand Held Products, Inc. Scene change detection in a dimensioner
KR102626162B1 (ko) 2016-06-14 2024-01-18 삼성전자주식회사 연산 복잡도를 감소시킬 수 있는 디코더의 동작 방법과 이를 포함하는 데이터 저장 장치의 동작 방법
US10163216B2 (en) 2016-06-15 2018-12-25 Hand Held Products, Inc. Automatic mode switching in a volume dimensioner
US10067827B2 (en) * 2016-06-29 2018-09-04 Micron Technology, Inc. Error correction code event detection
US10290358B2 (en) 2016-07-08 2019-05-14 Seagate Technology Llc Independent read threshold voltage tracking for multiple dependent read threshold voltages using syndrome weights
EP3220369A1 (en) 2016-09-29 2017-09-20 Hand Held Products, Inc. Monitoring user biometric parameters with nanotechnology in personal locator beacon
US11206042B2 (en) 2017-03-09 2021-12-21 Lg Electronics Inc. Layered decoding method for LDPC code and device therefor
DE102017117899A1 (de) * 2017-08-07 2019-02-07 Infineon Technologies Ag Durchführen einer kryptografischen Operation
US10574274B2 (en) * 2017-09-29 2020-02-25 Nyquist Semiconductor Limited Systems and methods for decoding error correcting codes
US10970363B2 (en) * 2017-10-17 2021-04-06 Microsoft Technology Licensing, Llc Machine-learning optimization of data reading and writing
US10491244B2 (en) * 2017-11-14 2019-11-26 Nyquist Semiconductor Limited Systems and methods for decoding error correcting codes
KR102415974B1 (ko) * 2017-12-14 2022-07-04 삼성전자주식회사 에러 정정 장치, 에러 정정 장치의 동작 방법, 그리고 에러 정정 장치를 포함하는 제어기
US10546160B2 (en) 2018-01-05 2020-01-28 Datamax-O'neil Corporation Methods, apparatuses, and systems for providing print quality feedback and controlling print quality of machine-readable indicia
US10839916B2 (en) * 2018-04-09 2020-11-17 Intel Corporation One-sided soft reads
US10715182B2 (en) * 2018-07-27 2020-07-14 Innogrit Technologies Co., Ltd. Systems and methods for decoding error correcting codes with self-generated LLR
KR20200016606A (ko) 2018-08-07 2020-02-17 삼성전자주식회사 메모리 컨트롤러, 메모리 컨트롤러의 동작 방법 및 메모리 시스템
KR20200020535A (ko) * 2018-08-17 2020-02-26 에스케이하이닉스 주식회사 에러 정정 장치, 그것의 동작 방법 및 그것을 포함하는 전자 장치
US11283468B1 (en) * 2021-06-24 2022-03-22 Beijing Tenafe Electronic Technology Co., Ltd. Log-likelihood ratio mapping tables in flash storage systems
JP2023030722A (ja) * 2021-08-24 2023-03-08 富士通株式会社 信号処理装置及び伝送装置
US11860733B2 (en) * 2021-12-08 2024-01-02 Western Digital Technologies, Inc. Memory matched low density parity check coding schemes

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7398453B2 (en) 2005-10-03 2008-07-08 Motorola, Inc. Method and apparatus for a low-density parity-check decoder
JP4905839B2 (ja) * 2005-10-18 2012-03-28 日本電気株式会社 Mramの動作方法
KR100738983B1 (ko) 2006-06-07 2007-07-12 주식회사 대우일렉트로닉스 저밀도 패리티 체크 부호의 복호화 방법 및 장치, 이를이용한 광정보 재생장치
JP2008065969A (ja) * 2006-08-09 2008-03-21 Fujitsu Ltd 符号化装置、復号化装置、符号化方法、復号化方法および記憶装置
US7904793B2 (en) * 2007-03-29 2011-03-08 Sandisk Corporation Method for decoding data in non-volatile storage using reliability metrics based on multiple reads
US8245104B2 (en) * 2008-05-02 2012-08-14 Lsi Corporation Systems and methods for queue based data detection and decoding
JP2010109468A (ja) * 2008-10-28 2010-05-13 Toshiba Corp 復号器、メモリコントローラおよび半導体メモリ装置
JP5197544B2 (ja) * 2009-10-05 2013-05-15 株式会社東芝 メモリシステム
EP2545554A4 (en) * 2010-03-12 2015-03-11 Lsi Corp LDPC CLEARANCE DECODING FOR FLASH MEMORY
JP2012050008A (ja) * 2010-08-30 2012-03-08 Toshiba Corp 誤り検出訂正方法および半導体メモリ装置

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572334B (zh) * 2013-10-14 2017-11-21 群联电子股份有限公司 解码方法、存储器存储装置与存储器控制电路单元
CN104572334A (zh) * 2013-10-14 2015-04-29 群联电子股份有限公司 解码方法、存储器存储装置与存储器控制电路单元
CN104601178A (zh) * 2013-10-30 2015-05-06 群联电子股份有限公司 解码方法、解码电路、存储器存储装置与控制电路单元
CN104601178B (zh) * 2013-10-30 2018-02-02 群联电子股份有限公司 解码方法、解码电路、存储器存储装置与控制电路单元
CN104658609A (zh) * 2013-11-19 2015-05-27 国际商业机器公司 用于存储器系统的纠错码分布的方法和系统
CN104658609B (zh) * 2013-11-19 2018-09-18 格芯公司 用于存储器系统的纠错码分布的方法和系统
CN105023613A (zh) * 2014-04-22 2015-11-04 群联电子股份有限公司 解码方法、存储器存储装置及存储器控制电路单元
CN105023613B (zh) * 2014-04-22 2019-06-14 群联电子股份有限公司 解码方法、存储器存储装置及存储器控制电路单元
CN105022674A (zh) * 2014-04-25 2015-11-04 群联电子股份有限公司 解码方法、存储器存储装置、存储器控制电路单元
CN105957553A (zh) * 2015-03-09 2016-09-21 爱思开海力士有限公司 控制器、半导体存储系统及其操作方法
CN105957553B (zh) * 2015-03-09 2020-08-25 爱思开海力士有限公司 控制器、半导体存储系统及其操作方法
CN106169308A (zh) * 2015-03-16 2016-11-30 爱思开海力士有限公司 存储器控制器及其操作方法
CN106169308B (zh) * 2015-03-16 2020-09-15 爱思开海力士有限公司 存储器控制器及其操作方法
CN106990910A (zh) * 2015-11-23 2017-07-28 三星电子株式会社 存储设备和存储设备的操作方法
CN106970852A (zh) * 2016-01-14 2017-07-21 钰创科技股份有限公司 闪存错误控制电路及其方法
CN106601305A (zh) * 2016-11-18 2017-04-26 华中科技大学 一种使用检错码和纠错码相结合的固态盘纠错方法
CN110100236A (zh) * 2016-12-29 2019-08-06 华为技术有限公司 数据读取方法及闪存设备
WO2018119900A1 (zh) * 2016-12-29 2018-07-05 华为技术有限公司 数据读取方法及闪存设备
CN106992026A (zh) * 2017-03-20 2017-07-28 中山大学 一种针对NAND‑Flash存储介质的LDPC码快速信息恢复的译码方法
CN107657984A (zh) * 2017-08-16 2018-02-02 深圳市江波龙电子有限公司 闪存的纠错方法、装置、设备以及计算机可读存储介质
CN107657984B (zh) * 2017-08-16 2020-09-22 深圳市江波龙电子股份有限公司 闪存的纠错方法、装置、设备以及计算机可读存储介质
CN109783270A (zh) * 2017-11-14 2019-05-21 奈奎斯特半导体有限公司 用于解码纠错码的系统和方法
CN109783270B (zh) * 2017-11-14 2022-11-08 英韧科技(上海)有限公司 用于解码纠错码的系统和方法
CN108683423A (zh) * 2018-05-16 2018-10-19 广东工业大学 一种多级闪存信道下的ldpc码动态串行调度译码算法及装置
CN108683423B (zh) * 2018-05-16 2022-04-19 广东工业大学 一种多级闪存信道下的ldpc码动态串行调度译码算法及装置
CN113571113A (zh) * 2021-07-14 2021-10-29 深圳宏芯宇电子股份有限公司 目标数据的解码方法、装置、电子设备和存储装置
CN113571113B (zh) * 2021-07-14 2023-05-09 深圳宏芯宇电子股份有限公司 目标数据的解码方法、装置、电子设备和存储装置

Also Published As

Publication number Publication date
JP6096496B2 (ja) 2017-03-15
JP2013141219A (ja) 2013-07-18
KR20130077962A (ko) 2013-07-10
US9059738B2 (en) 2015-06-16
KR101968746B1 (ko) 2019-04-15
US20130173985A1 (en) 2013-07-04

Similar Documents

Publication Publication Date Title
CN103186352A (zh) 从存储设备读取数据的方法、纠错设备和存储系统
US9564239B2 (en) Memory controller and operating method thereof
US10484008B2 (en) Memory system with on-the-fly error detection and termination and operating method thereof
KR101466270B1 (ko) 비휘발성 메모리 시스템 및 그것의 데이터 처리 방법
CN102017425B (zh) 用于执行级联纠错的方法和系统
US9529666B2 (en) Decoding method, memory storage device and memory controlling circuit unit
US9543983B2 (en) Decoding method, memory storage device and memory control circuit unit
US8650458B2 (en) Methods of encoding/decoding for error correction code utilizing interdependent portions of codewords and related circuits
TWI537966B (zh) 錯誤處理方法、記憶體儲存裝置及記憶體控制電路單元
TWI612527B (zh) 解碼方法、記憶體儲存裝置及記憶體控制電路單元
US10148293B2 (en) Incremental LLR generation for flash memories
US10103748B2 (en) Decoding method, memory control circuit unit and memory storage device
TWI594255B (zh) 解碼方法、記憶體控制電路單元及記憶體儲存裝置
US9979417B2 (en) Enhanced chip-kill schemes by using ECC syndrome pattern
US11139832B1 (en) LDPC decoder and operating method thereof
US9431132B2 (en) Data managing method, memory control circuit unit and memory storage apparatus
US9858994B2 (en) Memory system with MLC memory cells and partial page compression or reduction
TWI536749B (zh) 解碼方法、記憶體儲存裝置與記憶體控制電路單元
CN105095011B (zh) 数据处理方法、存储器控制电路单元以及存储器存储装置
TWI575533B (zh) 資料校正方法、記憶體控制電路單元與記憶體儲存裝置
CN109697993B (zh) 数据纠错方法及装置
US9996412B2 (en) Enhanced chip-kill schemes by using sub-trunk CRC
CN107590018B (zh) 译码方法、存储器控制电路单元及存储器存储装置
US9197248B2 (en) Low density parity check decoder
CN115658378A (zh) 一种数据校验方法、装置、设备及介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C05 Deemed withdrawal (patent law before 1993)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130703