CN115701588A - 控制器及其操作方法 - Google Patents
控制器及其操作方法 Download PDFInfo
- Publication number
- CN115701588A CN115701588A CN202210510289.6A CN202210510289A CN115701588A CN 115701588 A CN115701588 A CN 115701588A CN 202210510289 A CN202210510289 A CN 202210510289A CN 115701588 A CN115701588 A CN 115701588A
- Authority
- CN
- China
- Prior art keywords
- data
- chunk
- user data
- page
- read
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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 arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开涉及一种控制存储器装置的控制器的操作方法,该操作方法包括:生成数据组块,该数据组块包括待编程在存储器装置的页面中的用户数据和通过对用户数据执行第一ECC编码而生成的内部奇偶校验,当用户数据的大小小于页面的数据区域的大小时生成内部奇偶校验;生成页面组块,该页面组块包括数据组块、用户数据的元数据以及通过对元数据和数据组块执行第二ECC编码而生成的外部奇偶校验;并且控制存储器装置将页面组块编程到页面中。
Description
相关申请的交叉引用
本申请要求于2021年8月2日提交的申请号为10-2021-0101236的韩国专利申请的优先权,该韩国专利申请的公开内容通过引用整体并入本文。
技术领域
本公开的各个实施例涉及一种存储器装置的控制器及其操作方法。
背景技术
通常,存在两种类型的半导体存储器装置:易失性存储器装置和非易失性存储器装置。易失性存储器装置的示例包括动态随机存取存储器(DRAM)和静态RAM(SRAM)。非易失性存储器装置的示例包括只读存储器(ROM)、掩膜ROM(MROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电EPROM(EEPROM)、铁磁RAM(FRAM)、相变RAM(PRAM))、磁性RAM(MRAM)、电阻式RAM(RRAM)和闪速存储器。
易失性存储器装置在其电源中断时会丢失其存储的数据,而非易失性存储器装置即使在没有电力的情况下也能保持其存储的数据。非易失性闪速存储器装置因其高编程速度、低功耗和大数据存储容量而被广泛用作计算机系统中的存储介质。
在非易失性存储器装置中,特别是在闪速存储器装置中,每个存储器单元的数据状态取决于存储器单元可以存储的位数。存储1位数据的存储器单元被称为单位单元或单层单元(SLC)。存储2位数据的存储器单元被称为多位单元、多层单元(MLC)或多状态单元。存储3位数据的存储器单元被称为三层单元(TLC)。MLC和TLC有利于存储器的高集成度。然而,随着在每个存储器单元中编程的位数的增加,可靠性降低并且读取失败率增加。
例如,当将在存储器单元中编程k位时,存储器单元中形成2k个阈值电压之一。由于存储器单元的电特性之间的微小差异,为相同数据编程的存储器单元的阈值电压形成均匀范围内的阈值电压分布。阈值电压分布分别对应于与k位信息相对应的2k个数据值。
然而,可用于阈值电压分布的电压窗口是有限的。因此,随着值“k”增加,阈值电压分布之间的距离减小,相邻的阈值电压分布可能重叠。由于相邻的阈值电压分布重叠,因此读取数据可能包括一些错误位,例如,几个错误位或数十个错误位。
图1是示意性示出三层单元(TLC)非易失性存储器装置的编程状态和擦除状态的阈值电压分布。
图2是示意性示出由于TLC非易失性存储器装置的特性劣化而产生的编程状态和擦除状态的阈值电压分布。
当3位(即k=3)被编程到诸如TLC闪速存储器的TLC非易失性存储器装置的单个存储器单元中时,在存储器单元中形成23个阈值电压分布之一,即8个阈值电压分布之一。
由于存储器单元之间的特性差异,为相同数据编程的存储器单元的阈值电压形成均匀范围内的阈值电压分布。在具有3位的TLC非易失性存储器装置中,如图1所示,形成与包括7种编程状态“P1”至“P7”的数据状态相对应的阈值电压分布,并且形成与包括一个擦除状态“E”的数据状态相对应的阈值电压分布。图1示出阈值电压分布不重叠并且在其间的均匀范围内具有足够的读取电压裕度的理想情况。
参照图2的闪速存储器示例,存储器单元可能经历电荷损失,其中在浮栅或隧道氧化膜处捕获的电子随着时间的流逝被排出。当隧道氧化膜由于重复的编程操作和擦除操作而恶化时,这种电荷损失可能加速。电荷损失导致存储器单元的阈值电压降低。例如,如图2所示,阈值电压分布由于电荷损失而向左偏移。
进一步,编程干扰、擦除干扰和/或恢复模式依赖性可能导致阈值电压增加。随着存储器单元特性的恶化,数据状态“E”和“P1”至“P7”的相邻的阈值电压分布可能重叠,如图2所示。
当阈值电压分布彼此重叠时,读取数据可能包括一些错误。例如,当施加第三读取电压Vread3并且存储器单元处于开启状态时,确定存储器单元具有第二编程状态P2,而当存储器单元处于关闭状态时,确定存储器单元具有第三编程状态P3。然而,在第二编程状态P2和第三编程状态P3彼此重叠的时段中施加第三读取电压Vread3时,即使存储器单元处于关闭状态,存储器单元也可能被读取为处于开启状态。因此,当阈值电压分布彼此重叠时,读取数据可能包括一些错误位。
因此,需要一种精确读取半导体存储器装置的存储器单元中存储的数据的方法。
发明内容
本公开的各个实施例涉及一种可以准确地读取存储器单元中存储的数据的控制器及其操作方法。
根据本发明的实施例,提供一种控制存储器装置的控制器的操作方法,该操作方法可以包括:生成数据组块,该数据组块包括待编程在存储器装置的页面中的用户数据和通过对用户数据执行第一ECC编码而生成的内部奇偶校验,当用户数据的大小小于页面的数据区域的大小时生成内部奇偶校验;生成页面组块,该页面组块包括数据组块、用户数据的元数据以及通过对元数据和数据组块执行第二ECC编码而生成的外部奇偶校验;并且控制存储器装置将页面组块编程到页面中。
根据本发明的实施例,提供一种控制存储器装置的控制器,该控制器可以包括:ECC编码器,适用于生成数据组块并且生成页面组块,该数据组块包括待编程在存储器装置的页面中的用户数据和通过对用户数据执行第一ECC编码而生成的内部奇偶校验,当用户数据的大小小于页面的数据区域的大小时生成内部奇偶校验,该页面组块包括数据组块、用户数据的元数据以及通过对元数据和数据组块执行第二ECC编码而生成的外部奇偶校验;以及处理器,适用于控制存储器装置将页面组块编程到页面中。
根据本发明的实施例,提供一种控制器的操作方法,该操作方法可以包括:生成包括数据组块和元数据的数据包,该数据组块充满用户数据和用户数据的第一奇偶校验,并且该元数据定位数据组块内的用户数据;生成包括数据包和数据包的第二奇偶校验的页面组块,以控制存储器装置将页面组块存储到该存储器装置中的页面中;并且当通过读出第二奇偶校验对读出数据包的错误校正失败时,通过经由读出第一奇偶校验对读出用户数据进行错误校正,从自页面读出的页面组块中获得用户数据。读出页面组块可以包括读出数据包和读出第二奇偶校验。读出数据包可以包括读出元数据及充满读出用户数据和读出第一奇偶校验的读出数据组块。
附图说明
图1是示出3位多层单元(MLC)非易失性存储器装置的编程状态和擦除状态的阈值电压分布图。
图2是示出TLC非易失性存储器装置的编程状态和擦除状态的阈值电压分布图,该编程状态和擦除状态可能由于TLC非易失性存储器装置的特性劣化而改变。
图3是示出根据本公开的实施例的半导体存储器系统的框图。
图4A是示出根据本公开的实施例的图3所示的半导体存储器系统的详细框图。
图4B是示出根据本公开的实施例的图4A所示的存储块的框图。
图5是示出根据本公开的实施例的图4A所示的存储器控制器的操作的流程图。
图6A是示出根据本公开的实施例的由Tanner图表示的LDPC解码的示图。
图6B是示出根据本公开的实施例的LDPC码结构的示图。
图6C是示出根据本公开的实施例的根据LDPC解码的校正子校验过程的示图。
图7A是示出根据本公开的实施例的作为图5所示的软判决读取操作的2位软判决读取操作的示图。
图7B是示出根据本公开的实施例的作为图5所示的软判决读取操作的3位软判决读取操作的示图。
图8示出根据本公开的实施例的半导体存储器装置的页面中存储的数据。
图9示出根据本公开的实施例的可以存储在页面中的数据。
图10是示出根据本公开的实施例的存储器控制器的写入操作的流程图。
图11是示出根据本公开的实施例的存储器控制器的读取操作的流程图。
图12是示出根据本公开的实施例的图11所示的存储器控制器的读取操作的详细图。
具体实施方式
以下参照附图描述了本公开的各个实施例。然而,本公开的元件和特征可以被不同地配置或布置以形成其它实施例,其它实施例可以是所公开的实施例中的任意一个的变型。
在本公开中,对“一个实施例”、“示例实施例”、“实施例”、“另一实施例”、“一些实施例”、“各个实施例”、“其它实施例”、“可选实施例”等中包括的各种特征(例如,元件、结构、模块、组件、步骤、操作、特性等)的引用旨在表示本公开的一个或多个实施例中包括任何此类特征,但是可以或不一定组合在相同的实施例中。
在本公开中,术语“包含”、“包含有”、“包括”和“包括有”是开放式的。如所附权利要求书中使用的,这些术语指定存在所陈述的元件并且不排除存在或添加一种或多种其它元件。权利要求中的术语不排除设备包括额外的组件(例如,接口单元、电路等)。
在本公开中,可以将各种单元、电路或其它组件描述或声称为“被配置为”执行一个或多个任务。在这样的上下文中,“被配置为”用于通过指示块/单元/电路/组件包括在操作期间执行一个或多个任务的结构(例如,电路)来表示结构。因此,即使指定的块/单元/电路/组件当前不操作(例如,没有接通也没有激活)时,也可以说块/单元/电路/组件被配置为执行任务。与表达方式“被配置为”一起使用的块/单元/电路/组件包括硬件,例如,电路、存储可运行以实现操作的程序指令的存储器等。此外,“被配置为”可以包括通用结构(例如通用电路),该通用结构由软件和/或固件(例如,现场可编程门阵列(FPGA)或运行软件的通用处理器)操纵,从而以能够执行待解决的任务的方式来操作。“被配置为”还可以包括使制造过程(例如,半导体制造设施)适应制造实现或执行一个或多个任务的装置(例如,集成电路)。
如在本公开中使用的,术语“电路”或“逻辑”是指全部的以下各项:(a)纯硬件电路实施方式(诸如仅模拟和/或数字电路中的实施方式)以及(b)电路和软件(和/或固件)的组合,诸如(如果适用的话):(i)处理器的组合,或(ii)一起工作以使诸如移动电话或服务器的设备执行各种功能的处理器/软件(包括数字信号处理器)的部分、软件和存储器,以及(c)需要软件或固件来操作的电路,诸如微处理器或微处理器的一部分,即使该软件或固件物理上不存在。“电路”或“逻辑”的这种定义适用于该术语在本申请中-包括在任何权利要求中的所有使用。作为进一步的示例,如本申请中使用的术语“电路”或“逻辑”还涵盖仅处理器(或多个处理器)或处理器的一部分以及它的(或它们的)附随的软件和/或固件的实施方式。如果适用于特别声明的元件,术语“电路”或“逻辑”还涵盖,例如,用于存储装置的集成电路。
如本文中使用的,术语“第一”、“第二”、“第三”等用作术语之后的名词的标签,并不指任何类型的(例如,空间的、时间的、逻辑等的)排序。术语“第一”和“第二”不一定意味第一个值必须写在第二个值之前。此外,尽管在本文中术语可以用于识别各种元件,但是这些元件不受这些术语的限制。这些术语用于将一个元件与另外具有相同或相似名称的另一个元件区分开。例如,可以将第一电路与第二电路区分开。
进一步,术语“基于”用于描述影响确定的一个或多个因素。该术语不排除可以影响确定的额外的因素。也就是说,确定可以仅基于那些因素或至少部分地基于那些因素。例如,考虑短语“基于B确定A”。尽管在这种情况下,B是影响A的确定的因素,但这种短语不排除A的确定也基于C。在其他情况下,可以仅基于B来确定A。
在本文中,一项数据、数据项、数据条目或条目的数据可以是一系列位。例如,数据项可以包括文件的内容、该文件的一部分、存储器中的页面、面向对象的程序中的对象、数字消息、数字扫描图像、视频或音频信号的一部分、元数据或任何其他可以由一系列位表示的实体。根据实施例,数据项可以包括离散的对象。根据另一实施例,数据项可以包括两个不同组件之间的传输包内的信息单元。
根据本发明的实施例,一种控制存储器装置的控制器的操作方法可以包括:生成数据组块,该数据组块包括待编程在存储器装置的页面中的用户数据和通过对用户数据执行第一ECC编码而生成的内部奇偶校验,内部奇偶校验是在用户数据的大小小于页面的数据区域的大小时生成的;生成页面组块,该页面组块包括用户数据的元数据、数据组块和通过对元数据和数据组块执行第二ECC编码而生成的外部奇偶校验;并且控制存储器装置将页面组块编程到页面中。
该操作方法进一步包括:生成包括位置信息的元数据,位置信息指示用户数据在数据区域中的位置。
该操作方法可以进一步包括:控制存储器装置从页面中读取页面组块;通过使用页面组块中包括的外部奇偶校验对数据组块和元数据执行第一ECC解码;并且在第一ECC解码成功时,基于元数据中包括的位置信息,从数据组块中获得用户数据。
该操作方法可以进一步包括:将映射数据存储在控制器中包括的存储器中,该映射数据映射存储用户数据的位置的物理地址和用户数据的逻辑地址。
该操作方法可以进一步包括:控制存储器装置从页面中读取页面组块;通过使用页面组块中包括的外部奇偶校验,对数据组块和元数据执行第一ECC解码;当第一ECC解码失败时,通过参考与存储器中的页面相关联的映射数据,识别数据组块中的用户数据和内部奇偶校验;并且通过使用内部奇偶校验对用户数据执行第二ECC解码。
该操作方法可以进一步包括:当作为识别数据组块中的用户数据和内部奇偶校验的结果,数据组块不具有内部奇偶校验时,确定对页面的读取操作已经失败。
该操作方法可以进一步包括:当不存在与存储器中的页面相关联的映射数据时,对数据组块中的用户数据和内部奇偶校验的任意组合重复执行第二ECC解码,直到第二ECC解码成功,或者对数据组块中的用户数据和内部奇偶校验的所有可能组合重复执行第二ECC解码,直到第二ECC解码失败。
生成待存储在数据区域中的数据组块可以包括:根据用户数据的大小确定第一ECC编码的编码率;并且通过根据确定的编码率对用户数据执行第一ECC编码,生成内部奇偶校验。
生成待存储在数据区域中的数据组块可以进一步包括:在生成内部奇偶校验之前对用户数据进行加扰。
该操作方法可以进一步包括:当用户数据的大小与页面的数据区域的大小相同时,将用户数据确定为待存储在数据区域中的数据组块。
根据本发明的实施例,一种控制存储器装置的控制器可以包括:ECC编码器,适用于生成数据组块并且生成页面组块,该数据组块包括待编程在存储器装置的页面中的用户数据和通过对用户数据执行第一ECC编码而生成的内部奇偶校验,内部奇偶校验是在用户数据的大小小于页面的数据区域的大小时生成的,该页面组块包括用户数据的元数据、数据组块和通过对元数据和数据组块执行第二ECC编码而生成的外部奇偶校验;以及处理器,适用于控制存储器装置将页面组块编程到页面中。
处理器可以生成包括位置信息的元数据,位置信息指示用户数据在数据区域中的位置。
处理器可以控制存储器装置从页面中读取页面组块。控制器可以进一步包括ECC解码器,该ECC解码器适用于通过使用页面组块中包括的外部奇偶校验,对数据组块和元数据执行第一ECC解码。当第一ECC解码成功时,处理器可以基于元数据中包括的位置信息从数据组块中获得用户数据。
控制器可以进一步包括存储器,该存储器适于存储映射数据,该映射数据映射存储用户数据的位置的物理地址和用户数据的逻辑地址。
处理器可以控制存储器装置从页面中读取页面组块。控制器可以进一步包括ECC解码器,该ECC解码器适用于:通过使用页面组块中包括的外部奇偶校验对数据组块和元数据执行第一ECC解码;当第一ECC解码失败时,通过参考与存储器中的页面相关联的映射数据,识别数据组块中的用户数据和内部奇偶校验;并且通过使用内部奇偶校验对用户数据执行第二ECC解码。
当作为识别数据组块中的用户数据和内部奇偶校验的结果,数据组块不具有内部奇偶校验时,处理器可以确定对页面的读取操作已经失败。
当不存在与存储器中的页面相关联的映射数据时,ECC解码器可以对数据组块中的用户数据和内部奇偶校验的任意组合重复执行第二ECC解码,直到第二ECC解码成功,或者对数据组块中的用户数据和内部奇偶校验的所有可能的组合重复执行第二ECC解码,直到第二ECC解码失败。
ECC编码器可以通过以下方式生成数据组块:根据用户数据的大小确定第一ECC编码的编码率,并且根据确定的编码率对用户数据执行第一ECC编码来生成内部奇偶校验。
控制器可以进一步包括加扰器,该加扰器适用于在ECC编码器生成内部奇偶校验之前对用户数据进行加扰。
当用户数据的大小与页面的数据区域的大小相同时,处理器可以将用户数据确定为待存储在数据区域中的数据组块。
在下文中,参照附图详细描述本发明的各个实施例。
图3是示出根据本公开的实施例的半导体存储器系统10的框图。
图4A是示出根据本公开的实施例的图3所示的半导体存储器系统10的详细框图。图4B是示出根据本公开的实施例的图4A所示的存储块211的框图。
图5是示出根据本公开的实施例的半导体存储器系统10中包括的存储器控制器100的操作的流程图。
参照图3至图5,半导体存储器系统10可以包括半导体存储器装置200和存储器控制器100。
半导体存储器装置200可以在存储器控制器100的控制下执行擦除操作、编程操作和读取操作。半导体存储器装置200可以通过输入/输出线从存储器控制器100接收命令CMD、地址ADDR和数据DATA。而且,半导体存储器装置200可以通过电力线从存储器控制器100接收电力PWR,并且通过控制线从存储器控制器100接收控制信号CTRL。控制信号CTRL可以包括命令锁存使能CLE信号、地址锁存使能ALE信号、芯片使能nCE信号、写入使能nWE信号和读取使能nRE信号。
存储器控制器100可以控制半导体存储器装置200的全部操作。例如,为了将从主机接收的数据存储在半导体存储器装置200中,存储器控制器100可以执行将主机使用的文件系统连接到半导体存储器装置200的存储空间的映射操作。例如,根据主机使用的文件系统的数据地址可以被称为逻辑地址,半导体存储器装置200的存储空间中的数据地址可以被称为物理地址。存储器控制器100可以映射逻辑地址和物理地址。
另外,存储器控制器100可以包括校正错误位的ECC单元130。ECC单元130可以包括ECC编码器131和ECC解码器133。
ECC编码器131可以对待编程到半导体存储器装置200中的数据执行错误校正编码,并且生成具有奇偶校验位的数据。具有奇偶校验位的数据可以存储在半导体存储器装置200中。
ECC解码器133可以对从半导体存储器装置200读取的数据执行错误校正解码。ECC解码器133可以确定错误校正解码是否成功,并且根据确定结果输出指示信号。ECC解码器133可以通过使用在低密度奇偶校验(LDPC)编码过程中生成的奇偶校验位来校正数据的错误位。
当错误位的数量等于或大于可校正错误位限制时,ECC单元130可能无法校正错误位。在这种情况下,可以生成错误校正失败信号。
ECC单元130可以使用LDPC码来执行错误校正。ECC单元130的示例可以包括用于错误校正的所有电路、系统或装置。LDPC码包括二进制LDPC码和非二进制LDPC码。
根据实施例,ECC单元130可以使用硬判决数据和软判决数据来执行错误校正。
存储器控制器100和半导体存储器装置200可以集成到单个半导体存储器装置中。例如,存储器控制器100和半导体存储器装置200可以集成到单个半导体存储器装置中以构成固态驱动器(SSD)。SSD可以包括被配置为将数据存储在半导体存储器中的存储装置。当半导体存储器系统10用作SSD时,可以显著提高连接到半导体存储器系统10的主机的操作速度。
存储器控制器100和半导体存储器装置200可以集成到单个半导体存储器装置中以构成诸如以下的存储卡:个人计算机存储卡国际协会(PCMCIA)卡,紧凑型闪存(CF)卡,智能媒体(SM)卡(SMC),记忆棒,包括尺寸减小的MMC(RS-MMC)和微型MMC的多媒体卡(MMC),包括迷你SD卡、微型SD卡和SDHC卡的安全数字(SD)卡,或通用闪存(UFS)装置。
半导体存储器系统10的非限制性应用示例可以包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(DMB)播放器、3维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储装置、能够在无线环境中发送/接收信息的装置、构成家庭网络的各种电子装置中的一种、构成计算机网络的各种电子装置中的一种、构成远程信息处理网络的各种电子装置中的一种、射频识别(RFID)装置或构成计算系统的各种组件中的一种。
参照图4A,存储器控制器100可以包括存储单元110、CPU 120、ECC单元130、主机接口140、存储器接口150和系统总线160。
主机接口140可以通过诸如以下的各种通信标准或接口中的至少一种与主机通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCIe)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)和电子集成驱动器(IDE)。
CPU 120可以控制半导体存储器系统10的全部操作。CPU 120可以驱动固件以控制半导体存储器系统10的全部操作。固件可以被称为闪存转换层(FTL)。
CPU 120可以驱动FTL并且执行与从主机接收的请求相对应的前台操作。例如,CPU120可以响应于主机的写入请求,控制半导体存储器装置200的写入操作,并且响应于主机的读取请求,控制半导体存储器装置200的读取操作。
另外,CPU 120可以对半导体存储器装置200执行后台操作。例如,对半导体存储器装置200的后台操作可以包括垃圾收集(GC)操作、损耗均衡(WL)操作、映射清除操作和坏块管理操作。
存储单元110可以用作半导体存储器系统10和存储器控制器100的工作存储器,并且存储用于驱动半导体存储器系统10和存储器控制器100的数据。存储器控制器100可以控制半导体存储器装置200,使得半导体存储器装置200响应于主机的请求,执行读取操作、编程操作和擦除操作。存储器控制器100可以向主机提供从半导体存储器装置200读取的数据,并且将主机提供的数据存储在半导体存储器装置200中。存储单元110可以存储存储器控制器100和半导体存储器装置200执行这些操作所需的数据。
存储单元110可以利用易失性存储器来实施。例如,存储单元110可以被实施为静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。存储单元110可以设置在存储器控制器100内部或外部。图4A示出设置在存储器控制器100内部的存储单元110。在实施例中,存储单元110可以被实施为外部易失性存储器,并且具有向/从存储器控制器100输入/输出数据的存储器接口。
存储器接口150可以用作存储器/存储接口,用于在存储器控制器100与半导体存储器装置200之间接口连接,使得存储器控制器100响应于主机的请求控制半导体存储器装置200。当半导体存储器装置200是闪速存储器,特别是NAND闪速存储器时,存储器接口150可以生成针对半导体存储器装置200的控制信号,并且在CPU 120的控制下处理被提供到半导体存储器装置200的数据。存储器接口150可以作为用于处理存储器控制器100与半导体存储器装置200之间的命令和数据的接口(例如NAND闪存接口)来操作。
如上所述,ECC单元130可以检测并且校正从半导体存储器装置200读取的数据中包括的错误。存储器接口150可以与半导体存储器装置200接口连接。图3示出ECC单元130包括ECC编码器131和ECC解码器133两者的实施例,然而,ECC编码器131和ECC解码器133实质上可以被实施为单独的配置。
根据实施例,在编程操作中,ECC单元130可以对待编程到半导体存储器装置200中的原始数据执行LDPC编码。在这种情况下,在读取操作中,ECC单元130对编程到半导体存储器装置200中的经编码的数据,即码字,执行LDPC解码。
ECC单元130可以对半导体存储器装置中存储的经编码的数据,即码字,进行解码,从而将数据恢复为数据被编码之前的原始数据。
如下参照图5所述,对半导体存储器装置200中存储的数据的读取操作可以包括操作S511中的硬判决读取操作和操作S531中的软判决读取操作。硬判决读取操作是通过使用硬判决读取电压VHD从半导体存储器装置200读取数据的操作。软判决读取操作是通过使用电平与硬判决读取电压VHD不同的软判决读取电压VSD从半导体存储器装置200读取数据的操作。例如,在使用硬判决读取电压VHD读取的存储器单元中,可以使用软判决读取电压VSD额外地执行软判决读取操作。
通过硬判决读取操作从半导体存储器装置200读取的经编码的数据,即码字,可以被ECC单元130解码为原始数据。
软判决读取操作不是简单地读取半导体存储器装置200中存储的数据的操作,而是通过使用软判决读取电压VSD生成对数似然比(LLR)的操作,该对数似然比是用于增加通过硬判决读取操作读取的数据的可靠性的信息。
LLR可以由ECC单元130进行LDPC解码。ECC单元130可以通过使用LLR来检测和校正从半导体存储器装置200读取的经编码的数据即码字的错误。
半导体存储器装置200可以包括单元阵列210、控制电路220、电压供应单元230、电压传输单元240、读取/写入电路250和列选择单元260。
单元阵列210可以包括多个存储块211。用户数据可以存储在存储块211中。
参照图4B,存储块211中的每一个可以包括分别连接到多条位线BL0至BLm-1的多个单元串221。每一列的单元串221可以包括至少一个漏极选择晶体管DST和至少一个源极选择晶体管SST。多个存储器单元或存储器单元晶体管MC0至MCn-1可以串联连接在漏极选择晶体管DST与源极选择晶体管SST之间。存储器单元晶体管MC0至MCn-1中的每一个可以被实施为每个单元存储多个位的数据信息的MLC。单元串221可以分别电连接到位线BL0至BLm-1。
图4B示出由NAND型闪速存储器单元形成的存储块211。然而,本公开的存储器装置的存储块211不限于NAND型闪速存储器,而是可以被配置为NOR型闪速存储器、混合了至少两种类型的存储器单元的混合闪速存储器以及存储器芯片包括控制器的One-NAND闪速存储器。半导体存储器装置的操作特性可以应用于电荷存储层由绝缘层形成的电荷撷取闪存(CTF)以及电荷存储层由导电浮栅形成的闪速存储器装置。
返回参照图4A,控制电路220可以控制与半导体存储器装置200的编程操作、擦除操作和读取操作有关的一般操作。
电压供应单元230可以提供待根据操作模式供应到各条字线的字线电压,例如编程电压、读取电压和通过电压,以及待供应到形成有存储器单元的主体(例如阱区)的电压。可以在控制电路220的控制下执行电压供应单元230的电压生成操作。
电压供应单元230可以生成多个可变读取电压,以生成多个读取数据。
响应于控制电路220的控制,电压传输单元240可以选择单元阵列210的存储块211中的一个并且选择所选择的存储块的字线中的一条。连接到字线中的每一条的存储器单元可以被称为页面。存储块可以是擦除操作的最小单位,页面可以是编程操作的最小单位。
响应于控制电路220的控制,电压传输单元240可以向所选择的字线和未选择的字线提供由电压供应单元230生成的字线电压。
读取/写入电路250可以由控制电路220控制,并且根据操作模式作为读出放大器或写入驱动器来操作。例如,在验证/正常读取操作的情况下,读取/写入电路250可以作为用于从单元阵列210读取数据的读出放大器来操作。在正常读取操作期间,列选择单元260可以响应于列地址信息,将从读取/写入电路250读取的数据输出到外部装置,例如控制器。此外,在验证读取操作期间,从读取/写入电路250读取的数据可以被提供到半导体存储器装置200中包括的通过/失败验证电路(未示出),并且用于确定存储器单元是否已经被成功编程。
在编程操作的情况下,读取/写入电路250可以作为写入驱动器来操作,该写入驱动器根据待存储在单元阵列210中的数据来驱动位线。读取/写入电路250可以在编程操作期间从缓冲器(未示出)接收待写入单元阵列210的数据,并且根据输入的数据来驱动位线。为此,读取/写入电路250可以包括分别与列(或位线)或列对(或位线对)相对应的多个页面缓冲器(PB)251。页面缓冲器251中的每一个中可以包括多个锁存器。
参照图4A和图5,存储器控制器100的操作方法可以包括硬判决解码操作S510,并且进一步包括软判决解码操作S530。硬判决解码操作S510和软判决解码操作S530的目标数据,即半导体存储器装置200中存储的数据,是由ECC单元130进行LDPC编码的经编码的数据,即码字。
例如,硬判决解码操作S510可以是针对具有预定长度的硬判决读取数据的硬判决LDPC解码操作,该硬判决读取数据通过使用硬判决读取电压VHD从存储块211的存储器单元读取。硬判决解码操作S510可以包括操作S511、操作S513和操作S515。
例如,软判决解码操作S530可以是在硬判决解码操作S510中硬判决LDPC解码最终失败时,通过形成针对特定硬判决读取电压VHD的软判决读取数据来执行LDPC解码的软判决LDPC解码操作。软判决解码操作S530可以包括操作S531、操作S533和操作S535。
如上所述,在作为硬判决读取操作的操作S511中,可以通过使用硬判决读取电压VHD从半导体存储器装置200读取硬判决读取数据。存储器控制器100可以将读取命令和地址传输到半导体存储器装置200。响应于该读取命令和地址,半导体存储器装置200可以通过使用硬判决读取电压VHD来从半导体存储器装置200读取硬判决读取数据。从半导体存储器装置200读取的硬判决读取数据可以被传输到存储器控制器100。
在操作S513中,硬判决LDPC解码可以作为第一LDPC解码来执行。ECC单元130可以通过使用错误校正码,对通过使用硬判决读取电压VHD从半导体存储器装置200读取的硬判决读取数据执行硬判决LDPC解码。
在操作S515中,确定硬判决LDPC解码是否成功。换言之,在操作S515中,确定在操作S513中被进行硬判决LDPC解码的硬判决数据的错误是否被校正。例如,存储器控制器100可以通过使用奇偶校验矩阵和被进行硬判决LDPC解码的硬判决数据,来确定被进行硬判决LDPC解码的硬判决数据的错误是否被校正。例如,当被进行硬判决LDPC解码的硬判决数据与奇偶校验矩阵的运算结果为零矩阵(“0”)时,可以确定被进行硬判决LDPC解码的硬判决数据是正确的数据。另一方面,当被进行硬判决LDPC解码的硬判决数据与奇偶校验矩阵的运算结果不是零矩阵(“0”)时,可以确定被进行硬判决LDPC解码的硬判决数据是不正确的数据。
当操作S515中的确定结果指示操作S513的硬判决LDPC解码成功时,可以在操作S520中将使用硬判决读取电压VHD进行的操作S511的读取操作评估为成功,并且可以终止错误校正解码。操作S513的经硬判决LDPC解码的硬判决数据可以被输出到存储器控制器100的外部或者在存储器控制器100内部用作经错误校正的数据。
当操作S515中的确定结果指示操作S513的硬判决LDPC解码失败时,可以执行软判决解码操作S530。
如上所述,在作为软判决读取操作的操作S531中,可以通过使用软判决读取电压VSD从半导体存储器装置200读取软判决读取数据。例如,在使用硬判决读取电压VHD读取的存储器单元中,可以使用软判决读取电压VSD执行附加读取操作。软判决读取电压VSD可以具有与硬判决读取电压VHD不同的电平。
在操作S533中,软判决LDPC解码可以作为第二LDPC解码来执行。可以基于硬判决读取数据和包括使用软判决读取电压VSD读取的数据的软判决读取数据来执行软判决LDPC解码。硬判决读取电压VHD和软判决读取电压VSD可以具有不同的电平。
例如,半导体存储器装置200的存储器单元MC0至MCn-1中的每一个可以属于图2所示的七种编程状态的阈值电压分布P1至P7和一种擦除状态的阈值电压分布E中的任意一种状态。
硬判决读取电压VHD中的每一个可以具有多种状态之中的两个相邻逻辑状态之间的电压电平。软判决读取电压VSD中的每一个可以具有多种状态之中的两个相邻逻辑状态之间的电平,但是可以具有与硬判决读取电压VHD不同的电平。
存储器单元MC0至MCn-1中由硬判决读取电压VHD读取的硬判决读取数据值和由软判决读取电压VSD读取的软判决读取数据值可以彼此不同。例如,在存储器单元之中,可能存在阈值电压低于或高于正常逻辑状态的电压分布的尾部单元(tail cell)。尾部单元中由硬判决读取电压VHD读取的数据值和由软判决读取电压VSD读取的数据值可以彼此不同。当除了根据硬判决读取电压VHD的读取操作之外执行根据软判决读取电压VSD的附加读取操作时,可以获得关于存储器单元MC0至MCn-1的阈值电压的附加信息,即LLR(例如,关于尾部单元的信息),附加信息是用于增加通过硬判决读取操作读取的数据的可靠性的信息。
当获得附加信息时,存储器单元MC0至MCn-1所存储的数据处于第一状态(例如,“1”)或处于第二状态(例如,“0”)的概率或似然比的精确度会增加。也就是说,LDPC解码的可靠性会增加。存储器控制器100可以通过使用软判决读取数据来执行软判决LDPC解码,该软判决读取数据是通过使用硬判决读取电压VHD和软判决读取电压VSD读取的。下面参照图7A和图7B描述硬判决读取电压VHD与软判决读取电压VSD之间的关系。
在操作S535中,确定软判决LDPC解码是否成功。在操作S535中,确定在操作S533中被进行软判决LDPC解码的软判决数据的错误是否被校正。例如,存储器控制器100可以通过使用奇偶校验矩阵和被进行软判决LDPC解码的软判决数据,来确定被进行软判决LDPC解码的软判决数据的错误是否被校正。例如,当被进行软判决LDPC解码的软判决数据与奇偶校验矩阵的运算结果为零矩阵(“0”)时,可以确定被进行软判决LDPC解码的软判决数据是正确的数据。另一方面,当被进行软判决LDPC解码的软判决数据与奇偶校验矩阵的运算结果不是零矩阵(“0”)时,可以确定被进行软判决LDPC解码的软判决数据是不正确的数据。
被进行软判决LDPC解码的软判决数据和奇偶校验矩阵的运算与被进行硬判决LDPC解码的硬判决数据和奇偶校验矩阵的运算可以以相同的方式执行。
当操作S535中的确定结果指示操作S533的软判决LDPC解码成功时,在操作S520中可以将通过软判决读取电压VSD进行的操作S531的读取操作评估为成功,并且可以终止错误校正解码。操作S533的经软判决LDPC解码的软判决数据可以被输出到存储器控制器100的外部或者在存储器控制器100内部用作经错误校正的数据。
当操作S535中的确定结果指示操作S533的软判决LDPC解码失败时,可以在操作S540中将通过软判决读取电压VSD进行的操作S531的读取操作评估为失败,并且可以终止错误校正解码。
图6A是示出根据本公开的实施例的由Tanner图表示的LDPC解码的示图。
图6B是示出根据本公开的实施例的LDPC码结构的示图。
图6C是示出根据本公开的实施例的根据LDPC解码的校正子校验过程的示图。
ECC通常可以用于存储系统。存储装置中出现的各种物理现象会引起噪声效应,噪声效应会破坏存储在存储装置中的信息。错误校正编码方案可以用于保护存储的信息免受最终错误的影响。错误校正编码方案可以通过在存储装置的信息被存储在存储器装置中之前对存储装置的信息进行编码来执行。编码过程通过向信息添加冗余来将信息的位序列转换为码字。冗余可以用于通过解码过程从损坏的码字中恢复信息。
在迭代编码方案中,码可以由多个简单构成码的序列组成,并且通过在简单码的构成解码器之间交换信息,使用迭代解码算法来进行解码。通常,可以使用表示构成码之间的互连的Tanner图或二分图来定义码。在这种情况下,解码可以被表示为通过图边缘的迭代消息。
一种流行的迭代码类型是低密度奇偶校验(LDPC)码。LDPC码是由稀疏奇偶校验矩阵(H)形成的线性二进制分组码。
参照图6A,LDPC码是在定义该码的奇偶校验矩阵的每一行和每一列中具有极少数量的1的码,并且该码的结构可以由包括校验节点610、变量节点620以及连接校验节点610和变量节点620的边615的Tanner图来定义。在执行校验节点处理之后从校验节点610传输到变量节点620的值是校验节点消息615A,在执行变量节点处理之后从变量节点620传输到校验节点610的值是变量节点消息615B。
例如,参照图6B,LDPC码的Tanner图包括表示预定LDPC码的奇偶校验方程的五个校验节点610、表示码字的各个符号的十个变量节点620以及表示它们之间的连接的边615。边615可以根据奇偶校验矩阵将校验节点610连接到变量节点620。图6B示出常规LDPC码,其中连接到校验节点610中的每一个的变量节点的数量恒定为4,并且连接到变量节点620中的每一个的校验节点的数量恒定为2。变量节点620的初始值可以是硬判决数据或软判决数据。
参照图6C,示出与Tanner图相对应的奇偶校验矩阵H。奇偶校验矩阵H类似于奇偶校验方程的图形表示,因此在奇偶校验矩阵H的每一列和每一行中存在相同数量的1。也就是说,奇偶校验矩阵H的每一列中的两个1表示连接到变量节点620中的每一个的校验节点610,并且奇偶校验矩阵H的每一行中的四个1表示连接到校验节点610中的每一个的变量节点620。
在LCPC解码中,重复进行交换由Tanner图上的变量节点620和校验节点610针对每个节点生成和更新的消息的过程。
对通过使用硬判决读取电压VHD从存储块211的存储器单元读取且具有预定长度的硬判决读取数据的LDPC解码可以包括多个迭代,每个迭代包括变量节点更新、校验节点更新和校正子校验。当1次迭代之后校正子校验的结果满足预定条件时,终止LDPC解码,而当1次迭代之后校正子校验的结果不满足预定条件时,额外执行包括变量节点更新、校验节点更新和校正子校验的1次迭代。多次迭代限于最大迭代次数,并且直到达到最大迭代次数也未满足预定条件时,可以将对码字的LDPC解码评估为失败。
参照图6C,校正子校验是校验作为变量节点更新的结果获得的向量v和奇偶校验矩阵H的乘积(Hvt)运算的结果是否满足预定条件的过程。当作为乘积运算的结果获得零向量“0”时,乘积运算的结果满足预定条件。
图6C示出校正子校验过程。图6C示出作为乘积运算的结果的非零向量“01100”。因此,图6C所示的校正子校验不满足预定条件,从而表示必须再次执行1次迭代。
在作为乘积运算的结果的非零向量“01100”中,非零向量元素的数量,即不满足校正子校验的零向量“0”条件的元素的数量为2。在本说明书中,对于1次迭代的乘积运算结果,不满足校正子校验的零向量“0”条件的元素被定义为不满足校正子校验(USC)。图6C示出USC的数量为2的校正子校验的结果。
图7A是示出根据本公开的实施例的作为图5所示的软判决读取操作的2位软判决读取操作的示图。图7B是示出根据本公开的实施例的作为图5所示的软判决读取操作的3位软判决读取操作的概念图。
参照图7A,当在参照图5描述的硬判决解码操作S510中将硬判决读取电压VHD施加到半导体存储器装置200的存储器单元时,根据存储器单元的通断状态,硬判决数据2-1可以具有值1或0。
在软判决解码操作S530中,通过软判决读取操作,可以将基于硬判决读取电压VHD具有恒定电压差的多个软判决读取电压VSD1和VSD2施加到存储器单元,因此可以生成增加硬判决读取数据的可靠性的信息,即LLR。
如图7A所示,在2位软判决读取操作的情况下,当将多个软判决读取电压VSD1和VSD2之中的第一软判决读取电压VSD1施加到存储器单元时,根据存储器单元是导通还是关断,第一软判决读取数据值2-2可以是“1000”。类似地,根据多个软判决读取电压VSD1和VSD2之中的第二软判决读取电压VSD2,第二软判决读取数据值2-3可以为“1110”。
例如,ECC单元130可以对第一软判决读取数据值2-2和第二软判决读取数据值2-3执行异或非(XNOR)运算,并且生成软判决数据2-4,即LLR。LLR 2-4可以增加硬判决数据2-1的可靠性。
例如,软判决数据2-4的“1”可以表示硬判决数据2-1以强概率处于第一状态(例如,“1”)或第二状态(例如,“0”),软判决数据2-4的“0”可以表示硬判决数据2-1以弱概率处于第一状态(例如,“1”)或第二状态(例如,“0”)。
参考图7B,当在参照图5描述的硬判决解码操作S510中将硬判决读取电压VHD施加到半导体存储器装置200的存储器单元时,根据存储器单元的通断状态,硬判决数据3-1可以具有值1或0。
在软判决解码操作S530中,通过软判决读取操作,可以将基于硬判决读取电压VHD具有恒定电压差的多个软判决读取电压VSD1至VSD6施加到存储器单元,因此可以生成增加硬判决读取数据的可靠性的信息,即LLR。
如图7B所示,在3位软判决读取操作的情况下,当将多个软判决读取电压VSD1至VSD6之中的第一软判决读取电压VSD1和第二软判决读取电压VSD2施加到存储器单元时,可以如参照图7A所描述地生成第一软判决读取数据值和第二软判决读取数据值。随后,可以对第一软判决读取数据值和第二软判决读取数据值执行XNOR运算,从而可以生成第一软判决数据3-2“1001”。
另外,当将基于第一软判决读取电压VSD1和第二软判决读取电压VSD2具有恒定电压差的第三软判决读取电压VSD3至第六软判决读取电压VSD6施加到存储器单元时,类似于参照图7A描述的那些,可以生成第三软判决读取数据值至第六软判决读取数据值。随后,可以对第三软判决读取数据值至第六软判决读取数据值执行XNOR运算,从而可以生成第二软判决数据3-3,即LLR“10101”。LLR 3-3可以将权重分配给第一软判决数据3-2。
例如,第二软判决数据3-3的“1”可以表示第一软判决数据3-2以非常强的概率处于第一状态(例如,“1”),第二软判决数据3-3的“0”可以表示第一软判决数据3-2以强概率处于第一状态(例如,“1”)。
类似地,第二软判决数据3-3的“1”可以表示第一软判决数据3-2以非常弱的概率处于第二状态(例如,“0”),第二软判决数据3-3的“0”可以表示第一软判决数据3-2以弱概率处于第二状态(例如,“0”)。换言之,类似于参照图7A所描述的,LLR 3-3可以为硬判决数据3-1增加更多的可靠性。
从半导体存储器装置200读取的数据可以包括至少一个码字。例如,存储器控制器100可以从半导体存储器装置200读取以页面为单位的数据,并且以页面为单位的数据可以包括一个码字。
图8示出根据本公开的实施例的半导体存储器装置200的页面中存储的数据。
一个页面可以包括数据区域和备用区域。数据区域可以存储用户数据,备用区域可以与用户数据相对应地存储元数据和奇偶校验。
一个数据区域中存储的数据可以被称为数据组块。存储器控制器100可以将从主机接收的用户数据或从半导体存储器装置200获得的用户数据存储在存储单元110中。存储器控制器100可以通过使用存储单元110中存储的用户数据来生成数据组块。存储器控制器100可以生成与数据组块相关联的元数据。ECC编码器131可以通过对作为源字的数据组块和元数据执行错误校正编码来生成奇偶校验。存储器控制器100可以控制半导体存储器装置200将数据组块、元数据和奇偶校验编程到页面中。
数据区域可以被划分为多个扇区。一个扇区可以对应于在主机的文件系统中使用的逻辑块地址(LBA),并且在该扇区中存储在主机与半导体存储器系统10之间交换的最小单位的用户数据。例如,当一个扇区的大小为512字节并且数据区域的大小为4KB时,一个数据区域可以被划分为8个扇区。也就是说,一个页面可以存储与8个扇区的大小相对应的用户数据。
可能存在存储器控制器100在一个页面中存储大小小于数据区域的大小的用户数据的情况。例如,当存储器控制器100在与6个扇区相对应的用户数据缓冲在存储单元110中的状态下从主机接收清除命令时,存储器控制器100可以将与6个扇区相对应的用户数据存储在数据区域中。当仅与6个扇区相对应的用户数据存储在数据区域中时,页面的数据区域中剩余的2个扇区可能会浪费。
在下文中,提出一种通过利用存储用户数据之后剩余的数据区域的扇区来提高用户数据的可靠性的方法。将参照图9至图12详细描述本公开的实施例。
图9示出根据本公开的实施例的可以存储在页面中的数据。
当待编程在一个页面中的用户数据的大小小于数据区域的大小时,存储器控制器100可以为用户数据生成附加奇偶校验,并且配置充满用户数据和附加奇偶校验的单个数据组块。在下文中,备用区域中包括的奇偶校验可以被称为外部奇偶校验(Ext.parity),数据区域中包括的附加奇偶校验可以被称为内部奇偶校验(Int.parity)。
ECC编码器131可以通过对用户数据执行第一ECC编码来生成内部奇偶校验。内部奇偶校验的大小可以根据用户数据的大小和数据区域的大小来确定。例如,当用户数据占据数据区域中的6个扇区时,内部奇偶校验的大小可以对应于2个扇区的大小。ECC编码器131可以支持具有各种编码率的第一ECC编码,以根据用户数据的大小和数据区域的大小生成具有不同大小的内部奇偶校验。用户数据和内部奇偶校验可以配置完整的且与数据区域相对应的单个数据组块大小。也就是说,一个数据组块可以充满用户数据和内部奇偶校验。
根据实施方案,在对用户数据执行第一ECC编码之前,存储器控制器100可以对用户数据进行加扰。存储器控制器100可以进一步包括可以对数据进行加扰和解扰的加扰器(未示出)。
CPU 120可以生成与用户数据相对应的元数据。元数据可以包括用户数据在数据组块内的位置信息。位置信息可以指示用户数据在数据组块或数据区域内所位于的一个或多个扇区。例如,位置信息可以包括指示用户数据在数据组块或数据区域内所位于的扇区的位图。存储器控制器100可以通过指示数据组块或数据区域的扇区的位图来识别用户数据和内部奇偶校验在数据组块或数据区域内的位置。
ECC编码器131可以通过使用数据组块和元数据作为源字执行第二ECC编码来生成外部奇偶校验。元数据和外部奇偶校验可以存储在备用区域中。
根据实施例,当用户数据的大小小于数据区域的大小时,存储器控制器100可以对用户数据执行双重奇偶校验操作以生成内部奇偶校验和外部奇偶校验,并且将与用户数据相对应的内部奇偶校验和外部奇偶校验存储在一个页面中。即使当使用从页面读取的数据的外部奇偶校验的第一ECC解码失败时,ECC解码器133也可以通过尝试使用内部奇偶校验执行第二ECC解码来获得无错误的用户数据。因此,由于存储器控制器100可以向主机提供无错误的用户数据,因此可以提高半导体存储器系统10的可靠性。
图10是示出根据本公开的实施例的存储器控制器100的写入操作的流程图。
在操作S1002中,加扰器可以对缓冲在存储单元110中的用户数据进行加扰,以将用户数据编程到页面中。
在操作S1004中,CPU 120可以确定用户数据的大小是否对应于完整的数据组块大小。
当用户数据的大小小于完整的数据组块大小时(即,在操作S1004中为“否”),在步骤S1006中,ECC编码器131可以生成充满用户数据和通过对用户数据执行第一ECC编码而生成的内部奇偶校验的数据组块。
在操作S1008中,CPU 120可以为用户数据生成元数据。元数据可以包括用户数据在数据组块内的位置信息。CPU 120可以生成映射页面的物理地址和用户数据的逻辑地址的映射数据,并且将映射数据存储在存储单元110中。
在操作S1010中,ECC编码器131可以通过对数据组块和元数据执行第二ECC编码来生成外部奇偶校验。也就是说,当用户数据的大小小于数据组块的大小时,可以为用户数据生成内部奇偶校验和外部奇偶校验。
当用户数据的大小与完整的数据组块大小相同时(即,在操作S1004中为“是”),CPU 120可以执行操作S1008。也就是说,CPU 120可以生成元数据而无需为用户数据生成内部奇偶校验。元数据可以包括用户数据的位置信息。当用户数据的大小与数据组块的大小相同时,位置信息可以指示数据区域的所有扇区中包括用户数据的信息。
在操作S1010,ECC编码器131可以通过对数据组块和元数据执行第二ECC编码来生成外部奇偶校验。也就是说,当用户数据的大小与数据组块的大小相同时,仅可以为用户数据生成外部奇偶校验。
在操作S1012中,CPU 120可以控制半导体存储器装置200将包括数据组块、元数据和外部奇偶校验的页面组块存储在页面中。
图11是示出根据本公开的实施例的存储器控制器100的读取操作的流程图。
在操作S1102中,CPU 120可以控制半导体存储器装置200从页面读取页面组块。
在操作S1104中,ECC解码器133可以通过使用读取的页面组块中包括的外部奇偶校验对读取的页面组块中包括的数据组块和元数据执行第一ECC解码。
在操作S1106中,ECC解码器133可以确定第一ECC解码是否成功。
当第一ECC解码成功时(即,操作S1106中的“是”),在操作S1108中,CPU 120可以通过参考读取的页面组块中包括的元数据来获得读取的页面组块中包括的用户数据。具体地,当ECC解码器133在第一ECC解码中成功时,CPU 120可以从读取的页面组块中获得无错误的数据组块和元数据。CPU 120可以参考读取的页面组块中包括的元数据来从数据组块中获得用户数据。获得的用户数据可以是在操作S1002中被加扰的用户数据。
在操作S1110,加扰器可以对用户数据进行解扰。经解扰的数据可以输出到主机或在半导体存储器系统10内部使用。
当第一ECC解码失败时(即,操作S1106中的“否”),读取的页面组块中包括的数据组块和元数据是不可靠的。当元数据为不可靠的数据时,存储器控制器100难以从元数据获得用户数据的准确位置信息。
为了获得用户数据的位置信息,在操作S1112中,CPU 120可以确定与页面相关联的映射数据是否存储在存储单元110中。
当存储了与页面相关联的映射数据时(即,操作S1112中的“是”),在操作S1114中,CPU 120可以参考映射数据来确定读取的页面组块中包括的数据组块是否包括内部奇偶校验。
当读取的页面组块中包括的数据组块不包括内部奇偶校验并且仅包括用户数据时(即,操作S1114中的“否”),CPU 120可以在操作S1120中确定读取操作已经失败,并且结束读操作。
当读取的页面组块中包括的数据组块包括内部奇偶校验时(即,操作S1114中的“是”),在操作S1116中,ECC解码器133可以使用读取的页面组块中包括的内部奇偶校验来执行第二ECC解码。
在操作S1118中,ECC解码器133可以确定第二ECC解码是否成功。
当第二ECC解码成功时(即,操作S1118中的“是”),CPU 120可以从读取的页面组块获得无错误的用户数据。在操作S1110中,加扰器可以对用户数据进行解扰。
当第二ECC解码失败时(即,操作S1118中的“否”),CPU 120可以在操作S1120中确定读取操作失败,并且结束读取操作。
当没有存储与页面相关联的映射数据时(即,操作S1112中的“否”),很难知道用户数据和内部奇偶校验在数据组块中的位置信息。因此,在操作S1122中,ECC解码器133可以针对所有可能的情况执行第二ECC解码,直到第二ECC解码成功。所有可能的情况可以指数据组块中的用户数据和内部奇偶校验的所有组合。
图12是示出图11所示的操作S1122的详细图。
图12示出页面中的用户数据和内部奇偶校验的可能组合中的一些。在图12中,点状图案表示存储用户数据的扇区,阴影图案表示存储内部奇偶校验的扇区。
ECC解码器133可以假设内部奇偶校验的数量是1,并且执行第二ECC解码。参照图12,内部奇偶校验的数量为1的情况为8C1=8种情况。
例如,ECC解码器133可以假设第一扇区的数据是内部奇偶校验,并且对其他扇区的数据执行第二ECC解码。当第二ECC解码失败时,ECC解码器133可以将第二扇区的数据假定为内部奇偶校验,并且对其他扇区执行第二ECC解码。
当第二ECC解码在内部奇偶校验的数量为1的所有情况下都失败时,ECC解码器133可以假设内部奇偶校验的数量为2,并且执行第二ECC解码。参照图12,内部奇偶校验的数量为2的情况为8C2=28种情况。
当第二ECC解码在内部奇偶校验的数量为2的所有情况下都失败时,ECC解码器133可以针对内部奇偶校验的数量为3的情况到内部奇偶校验的数量为7的情况依次执行第二ECC解码。
ECC解码器133可以重复执行第二ECC解码,直到在操作S1122中第二ECC解码成功或者直到针对所有可能情况第二ECC解码都失败。
返回参照图11,在操作S1124中,ECC解码器133可以确定在操作S1122中第二ECC解码是否成功。
当第二ECC解码成功时(即,操作S1124的“是”),CPU 120可以从读取的页面组块获得无错误的用户数据。在操作S1110中,加扰器可以对用户数据进行解扰。
当第二ECC解码失败时(即,操作S1124中的“否”),CPU 120可以在操作S1120中确定读取操作已经失败,并且结束读取操作。
根据实施例,当待编程到一个页面中的用户数据的大小小于数据区域的大小时,存储器控制器100可以通过对用户数据执行第一ECC编码来生成内部奇偶校验。存储器控制器100可以生成与用户数据相对应的元数据。存储器控制器100可以通过将用户数据、内部奇偶校验和元数据用作源字执行第二ECC编码来生成外部奇偶校验。存储器控制器100可以控制半导体存储器装置200将用户数据和内部奇偶校验存储在数据区域中并且将元数据和外部奇偶校验存储在备用区域中。
根据实施例,存储器控制器100可以通过将内部奇偶校验存储在将用户数据存储在数据区域中之后剩余的备用区域中来提高读取操作的成功率。因此,可以提高半导体存储器系统10的可靠性和性能。
本公开的实施例可以提供一种可以准确地读取存储器单元中存储的数据的控制器及其操作方法。
虽然已经参考具体实施例描述了控制器及其操作方法,但是这些仅仅是示例,并且本公开不限于此,而是应根据本说明书中公开的基本构思被解释为具有最广的范围。本领域技术人员可以通过组合和替换所公开的实施例来实施未详细说明的实施例,但是这些也不脱离本公开的范围。另外,本领域技术人员可以容易地改变或修改基于本说明书所公开的实施例,并且显而易见的是,这些改变或修改也落入本公开和所附权利要求的范围内。此外,可以组合实施例以形成额外的实施例。
Claims (20)
1.一种控制器的操作方法,所述控制器控制存储器装置,所述操作方法包括:
生成数据组块,所述数据组块包括待编程在所述存储器装置的页面中的用户数据和通过对所述用户数据执行第一ECC编码生成的内部奇偶校验,所述内部奇偶校验是在所述用户数据的大小小于所述页面的数据区域的大小时生成的;
生成页面组块,所述页面组块包括所述数据组块、所述用户数据的元数据以及外部奇偶校验,所述外部奇偶校验是通过对所述元数据和所述数据组块执行第二ECC编码生成的;并且
控制所述存储器装置将所述页面组块编程到所述页面中。
2.根据权利要求1所述的操作方法,其中所述元数据指示所述用户数据在所述数据区域中的位置。
3.根据权利要求2所述的操作方法,进一步包括:
控制所述存储器装置从所述页面中读取所述页面组块;
通过使用读取的页面组块中包括的所述外部奇偶校验来对所述读取的页面组块中包括的所述数据组块和所述元数据执行第一ECC解码;并且
当所述第一ECC解码成功时,基于所述元数据从所述读取的页面组块中包括的所述数据组块中获得所述用户数据。
4.根据权利要求1所述的操作方法,进一步包括:将指示所述用户数据的物理地址和逻辑地址的映射数据存储在所述控制器中包括的存储器中。
5.根据权利要求4所述的操作方法,进一步包括:
控制所述存储器装置从所述页面中读取所述页面组块;
通过使用读取的页面组块中包括的所述外部奇偶校验来对所述读取的页面组块中包括的所述数据组块和所述元数据执行第一ECC解码;
当所述第一ECC解码失败时,通过参考与所述用户数据相对应的所述映射数据来识别所述读取的页面组块中包括的所述数据组块中的所述用户数据和所述内部奇偶校验;并且
通过使用所述读取的页面组块中包括的所述内部奇偶校验来对所述读取的页面组块中包括的所述用户数据执行第二ECC解码。
6.根据权利要求5所述的操作方法,进一步包括:当作为所述识别的结果,所述数据组块没有内部奇偶校验时,确定对所述页面的读取操作已经失败。
7.根据权利要求5所述的操作方法,进一步包括:当不存在与所述用户数据相对应的映射数据时,对所述读取的页面组块中包括的所述数据组块中的所述用户数据和所述内部奇偶校验的任意组合重复执行所述第二ECC解码,直到所述第二ECC解码成功,或者对所述读取的页面组块中包括的所述数据组块中的所述用户数据和所述内部奇偶校验的所有可能组合重复执行所述第二ECC解码,直到所述第二ECC解码失败。
8.根据权利要求1所述的操作方法,其中生成所述数据组块包括:
根据所述用户数据的大小来确定所述第一ECC编码的编码率;并且
通过根据确定的编码率对所述用户数据执行所述第一ECC编码来生成所述内部奇偶校验。
9.根据权利要求8所述的操作方法,其中生成所述数据组块进一步包括:在生成所述内部奇偶校验之前对所述用户数据进行加扰。
10.根据权利要求1所述的操作方法,进一步包括:当所述用户数据的大小与所述数据区域的大小相同时,将所述用户数据确定为待存储在所述数据区域中的所述数据组块。
11.一种控制器,所述控制器控制存储器装置,所述控制器包括:
ECC编码器,所述ECC编码器:
生成数据组块,所述数据组块包括待编程在所述存储器装置的页面中的用户数据和通过对所述用户数据执行第一ECC编码而生成的内部奇偶校验,所述内部奇偶校验是在所述用户数据的大小小于所述页面的数据区域的大小时生成的;并且
生成页面组块,所述页面组块包括所述数据组块、所述用户数据的元数据以及外部奇偶校验,所述外部奇偶校验是通过对所述元数据和所述数据组块执行第二ECC编码生成的;以及
处理器,控制所述存储器装置将所述页面组块编程到所述页面中。
12.根据权利要求11所述的控制器,其中所述元数据指示所述用户数据在所述数据区域中的位置。
13.根据权利要求12所述的控制器,
其中所述处理器进一步控制所述存储器装置从所述页面中读取所述页面组块,
所述控制器进一步包括ECC解码器,所述ECC解码器通过使用读取的页面组块中包括的所述外部奇偶校验来对所述读取的页面组块中包括的所述数据组块和所述元数据执行第一ECC解码,并且
其中当所述第一ECC解码成功时,所述处理器进一步基于所述元数据,从所述读取的页面组块中包括的所述数据组块中获得所述用户数据。
14.根据权利要求11所述的控制器,进一步包括存储器,所述存储器中存储指示所述用户数据的物理地址和逻辑地址的映射数据。
15.根据权利要求14所述的控制器,
其中所述处理器进一步控制所述存储器装置从所述页面中读取所述页面组块,并且
所述控制器进一步包括ECC解码器,所述ECC解码器:
通过使用读取的页面组块中包括的所述外部奇偶校验来对所述读取的页面组块中包括的所述数据组块和所述元数据执行第一ECC解码,
当所述第一ECC解码失败时,通过参考与所述用户数据相对应的所述映射数据来识别所述读取的页面组块中包括的所述数据组块中的所述用户数据和所述内部奇偶校验,并且
通过使用所述读取的页面组块中包括的所述内部奇偶校验来对所述读取的页面组块中包括的所述用户数据执行第二ECC解码。
16.根据权利要求15所述的控制器,其中所述处理器进一步:当作为所述识别的结果,所述数据组块没有内部奇偶校验时,确定对所述页面的读取操作已经失败。
17.根据权利要求15所述的控制器,其中所述ECC解码器进一步:当不存在与所述用户数据相对应的映射数据时,对所述读取的页面组块中包括的所述数据组块中的所述用户数据和所述内部奇偶校验的任意组合重复执行所述第二ECC解码,直到所述第二ECC解码成功,或者对所述读取的页面组块中包括的所述数据组块中的所述用户数据和所述内部奇偶校验的所有可能组合重复执行所述第二ECC解码,直到所述第二ECC解码失败。
18.根据权利要求11所述的控制器,其中所述ECC编码器通过以下方式生成所述数据组块:
根据所述用户数据的大小来确定所述第一ECC编码的编码率,并且
通过根据确定的编码率对所述用户数据执行所述第一ECC编码来生成所述内部奇偶校验。
19.根据权利要求18所述的控制器,其中所述控制器进一步包括加扰器,所述加扰器在所述ECC编码器生成所述内部奇偶校验之前对所述用户数据进行加扰。
20.根据权利要求11所述的控制器,其中所述处理器进一步:当所述用户数据的大小与所述数据区域的大小相同时,将所述用户数据确定为待存储在所述数据区域中的所述数据组块。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210101236A KR20230019573A (ko) | 2021-08-02 | 2021-08-02 | 컨트롤러 및 컨트롤러의 동작 방법 |
KR10-2021-0101236 | 2021-08-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115701588A true CN115701588A (zh) | 2023-02-10 |
Family
ID=85037431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210510289.6A Withdrawn CN115701588A (zh) | 2021-08-02 | 2022-05-11 | 控制器及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11966589B2 (zh) |
KR (1) | KR20230019573A (zh) |
CN (1) | CN115701588A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116662063A (zh) * | 2023-05-10 | 2023-08-29 | 珠海妙存科技有限公司 | 一种闪存的纠错配置方法、纠错方法、系统、设备及介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7809994B2 (en) | 2006-05-17 | 2010-10-05 | Sandisk Corporation | Error correction coding for multiple-sector pages in flash memory devices |
KR101042197B1 (ko) | 2008-12-30 | 2011-06-20 | (주)인디링스 | 메모리 컨트롤러 및 메모리 관리 방법 |
KR101417827B1 (ko) | 2011-10-24 | 2014-07-11 | 한양대학교 산학협력단 | 에러 정정 코드의 저장을 위한 플래시 메모리 제어장치 및 방법 |
JP2016031626A (ja) * | 2014-07-29 | 2016-03-07 | ソニー株式会社 | メモリコントローラ、記憶装置、情報処理システム、および、それらにおける制御方法。 |
-
2021
- 2021-08-02 KR KR1020210101236A patent/KR20230019573A/ko unknown
- 2021-12-28 US US17/563,940 patent/US11966589B2/en active Active
-
2022
- 2022-05-11 CN CN202210510289.6A patent/CN115701588A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116662063A (zh) * | 2023-05-10 | 2023-08-29 | 珠海妙存科技有限公司 | 一种闪存的纠错配置方法、纠错方法、系统、设备及介质 |
CN116662063B (zh) * | 2023-05-10 | 2024-02-23 | 珠海妙存科技有限公司 | 一种闪存的纠错配置方法、纠错方法、系统、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
US20230035079A1 (en) | 2023-02-02 |
US11966589B2 (en) | 2024-04-23 |
KR20230019573A (ko) | 2023-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9977713B2 (en) | LDPC decoder, semiconductor memory system and operating method thereof | |
CN109616148B (zh) | 具有解码器的存储器系统、其操作方法和解码器 | |
KR102559925B1 (ko) | Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법 | |
CN111200440B (zh) | Ldpc解码器、半导体存储器系统及其操作方法 | |
US10484008B2 (en) | Memory system with on-the-fly error detection and termination and operating method thereof | |
CN108073467B (zh) | 具有硬信道信息的位翻转ldpc解码算法 | |
US10445175B2 (en) | Controller and operating method thereof | |
KR102631407B1 (ko) | Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법 | |
KR102370292B1 (ko) | 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법 | |
KR102556479B1 (ko) | Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법 | |
KR20210128704A (ko) | 컨트롤러 및 컨트롤러의 동작 방법 | |
US11139832B1 (en) | LDPC decoder and operating method thereof | |
US10200063B2 (en) | Memory controller, semiconductor memory system and operating method thereof | |
CN110853690B (zh) | 解码器、解码器的操作方法和包括该解码器的存储器系统 | |
US11095316B2 (en) | Controller and operating method for performing read operation to read data in memory device | |
US11966589B2 (en) | Controller and operating method thereof | |
US20180091171A1 (en) | Memory controller, semiconductor memory system and operating method thereof | |
US10528496B2 (en) | Controller and operating method thereof | |
US11387845B2 (en) | LDPC decoder, operating method of LDPC decoder, and semiconductor memory system | |
KR102530269B1 (ko) | Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법 | |
CN116954984A (zh) | Crc终止时的准确ber报告 |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20230210 |