CN109753376A - 存储器系统及其操作方法 - Google Patents
存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN109753376A CN109753376A CN201810873418.1A CN201810873418A CN109753376A CN 109753376 A CN109753376 A CN 109753376A CN 201810873418 A CN201810873418 A CN 201810873418A CN 109753376 A CN109753376 A CN 109753376A
- Authority
- CN
- China
- Prior art keywords
- soft
- decision
- read
- voltage
- decoding
- 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.)
- Granted
Links
Classifications
-
- 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
-
- 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/1068—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 in sector programmable memories, e.g. flash disk
-
- 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/1012—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 codes or arrangements adapted for a specific type of error
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4093—Input/output [I/O] data interface arrangements, e.g. data buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output 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/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/10—Decoders
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3738—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3746—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/63—Joint error correction and other techniques
- H03M13/6325—Error control coding in combination with demodulation
-
- 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
- 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
- G11C2029/0411—Online error correction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1108—Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3707—Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
- H03M13/3715—Adaptation to the number of estimated errors or to the channel state
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种存储器系统及其操作方法。存储器系统包括:半导体存储器装置,其存储数据,并且在读取操作中读取并输出所存储的数据;以及控制器,其在读取操作中控制半导体存储器装置,并且对从半导体存储器装置输出的数据顺序地执行第一解码操作和第二解码操作,其中控制器在第二解码操作中更新并存储二进制标签码字,并且备份并存储二进制标签码字中的起始二进制标签码字。
Description
相关申请的交叉引用
本申请要求于2017年11月7日提交的申请号为10-2017-0147375的韩国专利申请的优先权,该韩国专利申请通过引用全部并入本文。
技术领域
本公开的各个实施例总体涉及一种包括非易失性存储器装置的存储器系统。特别地,实施例涉及一种用于执行错误校正操作的存储器系统及操作该存储器系统的方法。
背景技术
计算机环境范例正向普适计算转变,普适计算允许用户在任何地点和任何时间使用计算系统。因此,诸如移动电话、数码相机、膝上型计算机等便携式电子装置的使用已快速增长。这些便携式电子装置通常可包括使用存储器装置的存储器系统,即数据存储装置。数据存储装置可用作便携式电子装置的主存储器装置或辅助存储器装置。
因为这种数据存储装置没有机械驱动部件,所以该装置具有优异的稳定性和耐用性、高信息访问速度和低功耗。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、固态驱动器(SSD)等。
发明内容
实施例提供一种能够减少在ECC解码操作中执行数据恢复所需时间的存储器系统及该存储器系统的操作方法。
根据本公开的一方面,提供一种存储器系统,其包括:半导体存储器装置,其被配置成存储数据,并且在读取操作中读取并输出所存储的数据;以及控制器,其被配置成在读取操作中控制半导体存储器装置,并且对从半导体存储器装置输出的数据顺序地执行第一解码操作和第二解码操作,其中控制器在第二解码操作中更新并存储二进制标签码字(binlabel codeword),并且备份并存储二进制标签码字中的起始二进制标签码字。
根据本公开的一方面,提供一种存储器系统,其包括:半导体存储器装置,其被配置成存储数据,并且在读取操作中读取并输出所存储的数据;以及控制器,其被配置成对从半导体存储器装置输出的数据执行解码操作,其中,控制器包括:ECC单元,其被配置成执行软判决解码操作以及另外的软判决解码操作;以及ECC缓冲器,其被配置成在另外的软判决解码操作中更新并存储二进制标签码字,并且备份并存储二进制标签码字中的起始二进制标签码字。
根据本公开的一方面,提供一种存储器系统的操作方法,该方法包括:执行软判决解码操作;当确定软判决解码操作失败时,执行第一另外的软判决解码操作,更新并存储包括起始二进制标签码字的多个二进制标签码字,并且备份并存储起始二进制标签码字;以及当确定第一另外的软判决解码操作失败时,使用备份的起始二进制标签码字来执行第二另外的软判决解码操作。
根据本公开的一方面,提供一种存储器系统,其包括:存储器装置;以及控制器,其被配置成:根据第一顺序的第一组软读取电压对从存储器装置提供的码字执行第一软判决解码操作;并且当第一软判决解码操作失败时,根据第二顺序的第二组软读取电压对码字执行第二软判决解码操作,其中控制器根据预定的软读取电压开始对码字执行第一软判决解码操作和第二软判决解码操作。
附图说明
现将参照附图更全面地描述实施例;然而,如本领域技术人员根据本公开将显而易见的,本发明的元件和特征可被配置或布置成不同于本文所示或所述的元件和特征。因此,本发明不限于本文阐述的实施例。相反地,提供这些实施例以使本公开彻底且充分,并且将本发明的范围全面地传达给本领域技术人员。此外,对“实施例”的参考不一定仅针对一个实施例,并且对“实施例”的不同参考不一定针对相同的实施例。
在附图中,为了说明清楚,可以夸大尺寸。将理解的是,当元件被称为在两个元件“之间”时,该元件可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。相同的附图标记始终表示相同的元件。
图1是示出根据本公开的实施例的存储器系统的框图。
图2是示出图1所示的控制器的示例性框图。
图3是示出图1所示的半导体存储器装置的示例性框图。
图4是示出图3所示的存储块的示例性电路图。
图5是描述根据本公开的实施例的存储器系统的操作方法的流程图。
图6是示出根据本公开的实施例的存储器系统的操作方法的阈值电压分布图。
图7是描述根据本公开的另一实施例的存储器系统的操作方法的流程图。
图8是示出存储器系统的另一实施例的框图。
图9是示出图8的存储器系统的应用示例的框图。
图10是示出包括参照图9所述的存储器系统的计算系统的示例性框图。
具体实施方式
在以下详细描述中,仅通过说明的方式示出并描述了本公开的某些实施例。如本领域技术人员将认识到的,在不脱离本公开的实质或范围的情况下,可以各种不同的方式修改所述实施例。因此,附图和描述被视为在本质上是说明性而非限制性的。
在整个说明书中,当元件被称为“连接”或“联接”到另一元件时,该元件可以直接连接或联接到另一元件,或者利用一个或多个插设于其间的中间元件而间接连接或联接到另一元件。另外,除非另有说明或上下文另有要求,否则当元件被称为“包括”部件时,这表示该元件可进一步包括一个或多个其它部件,而非排除其它部件。
图1是示出根据本公开的实施例的存储器系统的框图。图2是示出图1所示的控制器的示例性框图。
参照图1,存储器系统300包括半导体存储器装置100和控制器200,控制器200响应于来自主机的请求控制半导体存储器装置100的操作。
半导体存储器装置100响应于从控制器200接收的命令CMD和地址ADD,对包括在存储块中的页面的存储器单元执行编程操作或读取操作。半导体存储器装置100将从控制器200输入的数据DATA编程到待被编程的页面的存储器单元,并将从存储器单元读取的数据DATA输出到控制器200。
参照图2,控制器200包括ECC单元210和存储器220。
ECC单元210可包括ECC编码器211和ECC解码器212。
ECC编码器211可通过ECC编码待被编程到图1的半导体存储器装置100的数据,形成添加了奇偶校验位的数据。奇偶校验位可存储在半导体存储器装置100中。
ECC解码器212可对从半导体存储器装置100读取的数据执行ECC解码。ECC解码器212可确定ECC解码是否成功并基于确定结果来输出指令信号。ECC解码器212可使用在ECC编码过程中生成的奇偶校验位来校正数据的错误位。
如果错误位的数量等于或大于可校正错误位的阈值数量,则ECC单元210不校正错误位。在这种情况下,可生成错误校正失败信号。
ECC单元210可通过使用包括以下的编码调制来执行错误校正:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhri-Hocquenghem,BCH)码、涡轮码、里德-所罗门(Reed-Solomon)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)、分组编码调制和/或汉明码,但本公开不限于这些技术;可使用任何其它适当的错误校正技术。而且,ECC单元210可包括用于错误校正的电路、系统或装置。
在本公开的实施例中,ECC单元210可使用硬判决数据和软判决数据来执行错误位校正。
存储器220可存储从半导体存储器装置100读取的数据或者存储待被编程到半导体存储器装置100的数据。存储器220可用作控制器200的工作存储器、半导体存储器装置100和主机之间的高速缓冲存储器和/或半导体存储器装置100和主机之间的缓冲存储器。
在本公开的实施例中,存储器220的部分区域可用作ECC缓冲器221。ECC缓冲器221可存储二进制标签码字、校正码字和原始码字。
二进制标签码字可包括通过基于读取电压来辨别存储器单元的阈值电压而获得的信息,存储器单元的阈值电压在ECC解码操作期间的针对软解码操作的软读取操作中被获取。校正码字是完全执行ECC解码过程的码字。原始码字是未执行ECC解码过程的码字。
ECC缓冲器221可包括二进制标签缓冲区222和备份缓冲区223。二进制标签码字可被存储在二进制标签缓冲区222中,并且备份缓冲区223可复制并存储被存储在二进制标签缓冲区222中的二进制标签码字。
例如,当在ECC解码操作期间完成软解码操作并且执行另外的第一软解码操作时,可将存储在二进制标签缓冲区222中的起始二进制标签码字复制到备份缓冲区223中。当执行另外的第二软解码操作时,可将存储在备份缓冲区223中的起始二进制标签码字复制到二进制标签缓冲区222中。
图3是示出图1所示的半导体存储器装置的示例性框图。图4是示出图3所示的存储块的示例性电路图。
参照图3,根据本公开的半导体存储器装置100包括存储器单元阵列110及外围电路PERI,其中存储器单元阵列110包括第一至第m存储块MB1至MBm,外围电路PERI被配置成对包括在存储块MB1到MBm的所选择的页面中的存储器单元执行编程操作和读取操作。外围电路PERI包括控制逻辑120、电压供给电路130、页面缓冲器组140、列解码器150和输入/输出电路160。
参照图4,每个存储块包括联接在位线BL1至BLk与共源线CSL之间的多个串ST1至STk。也就是说,串ST1至STk分别联接到对应的位线BL1至BLk,并且共同联接到共源线CSL。每个串ST1包括源极联接到共源线CSL的源极选择晶体管SST、多个存储器单元C01至Cn1以及漏极联接到位线BL1的漏极选择晶体管DST。存储器单元C01至Cn1串联地联接在选择晶体管SST与DST之间。源极选择晶体管SST的栅极联接到源极选择线SSL,存储器单元C01至Cn1的栅极分别联接到字线WL0至WLn,并且漏极选择晶体管DST的栅极联接到漏极选择线DSL。
包括在存储块中的存储器单元可以物理页面或逻辑页面为单元进行划分。例如,联接到一个字线(例如,WL0)的存储器单元C01至C0k构成一个物理页面PAGE0。这种页面成为编程操作或读取操作的基本单元。
控制逻辑120响应于通过输入/输出电路160输入的命令CMD,输出用于生成执行编程操作或读取操作所需的电压的电压控制信号VCON,并且根据操作的类型,输出用于控制包括在页面缓冲器组140中的页面缓冲器PB1至PBk的PB控制信号PBCON。而且,控制逻辑120响应于通过输入/输出电路160从外部输入的地址信号ADD,输出行地址信号RADD和列地址信号CADD。
电压供给电路130响应于控制逻辑120的电压控制信号VCON,将对存储器单元执行编程操作、读取操作和擦除操作所需的操作电压提供给包括所选择的存储块的漏极选择线DSL、字线WL0至WLn以及源极选择线SSL的局部线。电压供给电路130包括电压生成电路和行解码器。
电压生成电路响应于控制逻辑120的电压控制信号VCON,将对存储器单元执行编程操作、读取操作或擦除操作所需的操作电压输出到全局线。
行解码器将全局线连接到局部线DSL、WL0至WLn以及SSL,使得由电压生成电路输出到全局线的操作电压可被传输到存储器单元阵列110中所选择的存储块的局部线DSL、WL0至WLn以及SSL。
页面缓冲器组140包括分别通过位线BL1至BLk联接到存储器单元阵列110的多个页面缓冲器PB1至PBk。页面缓冲器PB1至PBk响应于控制逻辑120的PB控制信号PBCON,根据输入数据选择性地对位线BL1至BLk进行预充电,以便将数据存储在存储器单元C01至C0k中,或者感测位线BL1至BLk的电压,以便从存储器单元C01至C0k读取数据。
列解码器150响应于从控制逻辑120输出的列地址信号CADD选择页面缓冲器PB1至PBk。也就是说,列解码器150响应于列地址信号CADD,将待存储在存储器单元中的数据顺序地传输到页面缓冲器PB1至PBk。另外,列解码器150响应于列地址信号CADD顺序地选择页面缓冲器PB1至PBk,使得在读取操作中锁存到页面缓冲器PB1至PBk中的存储器单元的数据可被输出到外部。
输入/输出电路160在控制逻辑120的控制下将数据传输到列解码器150,以便将从外部源输入的将在编程操作中存储在存储器单元中的数据输入到页面缓冲器组140。如果列解码器150将从输入/输出电路160传输的数据传输到页面缓冲器PB1到PBk,则这种页面缓冲器将输入的数据存储在这种页面缓冲器的锁存电路中。在读取操作中,输入/输出电路160将通过列解码器150从页面缓冲器PB1至PBk传输的数据输出到一个或多个外部装置。
在读取操作中,半导体存储器装置100可通过硬判决读取操作输出硬判决数据,并通过软判决读取操作输出软判决数据。在硬判决读取操作中施加到字线的读取电压可与在软判决读取操作中施加到字线的读取电压不同。
图5是描述根据本公开的实施例的存储器系统300的操作方法的流程图。图6是示出根据本公开的实施例的存储器系统300的操作方法的阈值电压分布图。
将参照图1至图6描述根据本公开的实施例的存储器系统的操作方法。
存储器系统300的操作方法包括第一ECC解码步骤(S510),并且可被配置成在第一ECC解码步骤(S510)失败时执行第二ECC解码步骤(S540)。
第一ECC解码步骤(S510)可以是软判决ECC解码步骤。第一ECC解码步骤(S510)可包括步骤S511至S513。
在步骤S511中,控制器200控制半导体存储器装置100执行第一读取操作。
半导体存储器装置100的控制逻辑120响应于通过输入/输出电路160从控制器200接收的命令CMD和地址ADD,输出电压控制信号VCON,该电压控制信号VCON用于生成执行第一读取操作所使用的电压,例如软判决读取电压和通过电压。电压供给电路130响应于控制逻辑120的电压控制信号VCON,将软判决读取电压和通过电压提供给所选择的存储块(例如,MB1)的字线WL(WL0至WLn)。
控制逻辑120响应于从控制器200接收的命令CMD,输出用于控制页面缓冲器组140中的页面缓冲器PB1至PBk的PB控制信号PBCON。页面缓冲器PB1至PBk响应于PB控制信号PBCON,通过感测对应位线BL1至BLk的电位电平或电流量来感测软判决数据。感测的软判决数据DATA通过列解码器150和输入/输出电路160输出到存储器220。
在步骤S512中,ECC解码器212执行第一ECC解码操作。第一ECC解码操作可以是软判决ECC解码操作。可基于在步骤S511中从半导体存储器装置100读取的软判决数据来执行软判决ECC解码操作。
然后,在步骤S513中确定步骤S512的第一ECC解码操作是否成功。也就是说,确定是否校正了软判决ECC解码的软判决数据中的错误。例如,在步骤S513中,ECC解码器212使用软判决ECC解码的软判决数据和奇偶校验矩阵,确定是否校正了软判决ECC解码的软判决数据中的错误。例如,当软判决ECC解码的软判决数据和奇偶校验矩阵的矩阵运算结果为零矩阵时,可确定软判决ECC解码的软判决数据正确或是被校正的数据。另一方面,当软判决ECC解码的软判决数据和奇偶校验矩阵的运算结果不为零矩阵(“0”)时,可确定软判决ECC解码的软判决数据不正确或是未被校正的数据。
当确定第一ECC解码操作成功(S513中为“是”)时,在步骤S550中确定读取操作成功。
当确定软判决ECC解码操作失败(S513中为“否”)时,执行第二ECC解码步骤(S540)。第二ECC解码步骤(S540)可以是另外的软判决ECC解码步骤。第二ECC解码步骤(S540)可包括第一另外的软解码步骤(S520)和第二另外的软解码步骤(S530)。
在第一另外的软解码步骤(S520)中,通过改变软判决读取电压从半导体存储器装置100读取新的软判决数据,并且基于新的软判决数据执行软判决解码操作。在第一另外的软解码步骤S520期间,当确定软解码操作失败时,可通过在第一方向上改变软判决读取电压从半导体存储器装置100读取新的软判决数据,并且可重新执行软判决解码操作。在本公开中,在第一方向上改变软判决读取电压表示逐步增加软判决读取电压,而在第二方向上改变软判决读取电压表示逐步降低软判决读取电压。
第一另外的软解码步骤(S520)可包括步骤S521至S525。
控制器200将多个软判决读取电压(图6中的V1至V7)中的一个软判决读取电压(例如,图6中的V4)设置成起始软判决读取电压,并且将分别对应于软判决读取电压(V1至V7)的二进制标签码字(图6中的0到6)之中与设置的软判决读取电压相对应的二进制标签码字(例如,图6中的3)存储在ECC缓冲器221的二进制标签缓冲区222中。另外,在步骤S521中,将存储在二进制标签缓冲区222中的二进制标签码字(例如,图6中的3)复制到备份缓冲区223中。因此,与起始软判决读取电压(例如,图6的V4)相对应的二进制标签码字(例如,图6中的3)被存储在备份缓冲区223中。多个软判决读取电压(图6中的V1至V7)是电压值处于两个相邻编程状态PV A和PV B之间的读取电压。
在步骤S522中,控制器200控制半导体存储器装置100执行第二读取操作。可通过将软判决读取电压设置成新的软判决读取电压(例如,V4)而与步骤S511中的第一读取操作类似地执行步骤S522中的第二读取操作。作为第二读取操作的结果,感测的软判决数据DATA通过列解码器150和输入/输出电路160输出到控制器200的存储器220。
在步骤S523中,ECC解码器212执行第二ECC解码操作。第二ECC解码操作可以是软判决ECC解码操作。可基于在第二读取操作中读取的软判决数据来执行软判决ECC解码操作。第二ECC解码操作类似于第一ECC解码操作,因此,此处省略进一步的详细描述。
此后,在步骤S524中确定步骤S523的第二ECC解码操作是否成功。也就是说,确定是否校正了软判决ECC解码的软判决数据中的错误。
当确定第二ECC解码操作成功(S524中为“是”)时,在步骤S550中确定读取操作成功。
当确定第二ECC解码操作失败(S524中为“否”)时,在步骤S525中检查在步骤S522的第二读取操作中使用的当前软判决读取电压是否为最后的软读取电压。最后的软读取电压可以是在第一方向上的最后的软读取电压V7,最后的软读取电压V7是多个软判决读取电压V1至V7中的最高电压。当确定在步骤S522的第二读取操作中使用的当前软判决读取电压不是最后的软读取电压(S525中为“否”)时,通过增加软判决读取电压(即,在第一方向上改变软判决读取电压)来设置新的软判决读取电压(例如,V5),并且从步骤S522的第二读取操作开始重复第一另外的软解码步骤(S520)。在这种情况下,在二进制标签缓冲区222中更新与新的软判决读取电压(例如,V5)相对应的二进制标签码字(例如,图6中的4)。
当确定在步骤S522的第二读取操作中使用的软判决读取电压为最后的软读取电压(S525中为“是”)时,执行第二另外的软解码步骤(S530)。
与第一另外的软解码步骤(S520)类似,在第二另外的软解码步骤(S530)中,通过改变软判决读取电压从半导体存储器装置100读取新的软判决数据,并且基于新的软判决数据执行软判决解码操作。在第二另外的软解码步骤(S530)期间,当确定软解码操作失败时,可通过在与第一方向相反的第二方向上改变软判决读取电压来从半导体存储器装置100读取新的软判决数据,并且可重新执行软判决解码操作。如上所述,在第二方向上改变软判决读取电压表示逐步降低软判决读取电压。
第二另外的软解码步骤(S530)可包括步骤S531至S535。
在步骤S531中,控制器200通过将与存储在备份缓冲区223中的起始软判决读取电压(例如,4V)相对应的二进制标签码字(例如,图6中的3)复制回二进制标签缓冲区222来恢复起始二进制标签码字。因此,在第二另外的软解码步骤(S530)中,可跳过通过在先前执行的第一另外的软解码步骤(S520)中从最后的读取电压降低读取电压(即,在第二方向上改变读取电压)来执行的读取操作和解码操作。使用恢复的起始二进制标签码字设置起始软判决读取电压(例如,4V),并且可执行通过从起始软判决读取电压(例如,4V)降低读取电压来执行的读取操作和解码操作。因此,在第二另外的软解码步骤(S530)中,可跳过与第一另外的软解码步骤(S520)重叠的读取操作和解码操作,从而减少存储器系统的操作时间。
在步骤S532中,控制器200控制半导体存储器装置100执行第三读取操作。可通过将软判决读取电压设置成新的软判决读取电压(例如,V4)而与步骤S522中的第二读取操作类似地执行步骤S532中的第三读取操作。作为第三读取操作的结果,感测的软判决数据DATA通过列解码器150和输入/输出电路160输出到控制器200的存储器220。
在步骤S533中,ECC解码器212执行第三ECC解码操作。第三ECC解码操作可以是软判决ECC解码操作。可基于在第三读取操作中读取的软判决数据来执行软判决ECC解码操作。第三ECC解码操作类似于第一ECC解码操作,因此,此处省略进一步的详细描述。
此后,在步骤S534中确定步骤S533的第三ECC解码操作是否成功。也就是说,确定是否校正了软判决ECC解码的软判决数据中的错误。
当确定第三ECC解码操作成功(S534中为“是”)时,在步骤S550中确定读取操作成功。
当确定第三ECC解码操作失败(S534中为“否”)时,在步骤S535中检查在步骤S532的第三读取操作中使用的当前软判决读取电压是否为最后的软读取电压。最后的软读取电压可以是最后的软读取电压V1,最后的软读取电压V1是多个软判决读取电压V1至V7中的最低电压。当确定在步骤S532的第二读取操作中使用的当前软判决读取电压不是最后的软读取电压(S535中为“否”)时,通过降低软判决读取电压来设置新的软判决读取电压(例如,V3),并且从步骤S532的第三读取操作开始重复第二另外的软解码步骤(S530)。在这种情况下,在二进制标签缓冲区222中更新与新的软判决读取电压(例如,V3)相对应的二进制标签码字(例如,图6中的2)。
当确定在步骤S532的第三读取操作中使用的软判决读取电压为最后的软读取电压(S535中为“是”)时,在步骤S560中确定读取操作失败,并且存储器系统的操作方法结束。
图7是描述根据本公开的另一实施例的存储器系统300的操作方法的流程图。
将参照图1至图4、图6和图7描述根据本公开的另一实施例的存储器系统300的操作方法。
存储器系统的操作方法包括第一ECC解码步骤(S710),并且可被配置成在第一ECC解码步骤(S710)失败时执行第二ECC解码步骤(S720)。另外,当第二ECC解码步骤(S720)失败时,存储器系统的操作方法可执行第三ECC解码步骤(S750)。
第一ECC解码步骤(S710)可以是硬判决ECC解码步骤。第一ECC解码步骤(S710)可包括步骤S711至S713。
在步骤S711中,控制器200控制半导体存储器装置100执行第一读取操作。
半导体存储器装置100的控制逻辑120响应于通过输入/输出电路160从控制器200接收的命令CMD和地址ADD,输出电压控制信号VCON,该电压控制信号VCON用于生成执行第一读取操作所使用的电压,例如硬判决读取电压和通过电压。电压供给电路130响应于控制逻辑120的电压控制信号VCON,将硬判决读取电压和通过电压提供给所选择的存储块(例如,MB1)的字线WL(WL0至WLn)。
控制逻辑120响应于从控制器200接收的命令CMD,输出用于控制页面缓冲器组140中的页面缓冲器PB1至PBk的PB控制信号PBCON。页面缓冲器PB1至PBk响应于PB控制信号PBCON,通过感测对应位线BL1至BLk的电位电平或电流量来感测硬判决数据。感测的硬判决数据DATA通过列解码器150和输入/输出电路160输出到存储器220。
在步骤S712中,ECC解码器212对存储在存储器220中的硬判决数据DATA执行第一ECC解码操作。第一ECC解码操作可以是硬判决ECC解码操作。
此后,在步骤S713中确定步骤S712的第一ECC解码操作是否成功。也就是说,确定在步骤S712中是否校正了硬判决ECC解码的硬判决数据中的错误。例如,在步骤S713中,ECC解码器212使用硬判决ECC解码的硬判决数据和奇偶校验矩阵,确定是否校正了硬判决ECC解码的硬判决数据中的错误。例如,当硬判决ECC解码的硬判决数据和奇偶校验矩阵的矩阵运算结果为零矩阵时,可确定硬判决ECC解码的硬判决数据正确或是被校正的数据。另一方面,当硬判决ECC解码的硬判决数据和奇偶校验矩阵的运算结果不为零矩阵时,可确定硬判决ECC解码的硬判决数据不正确或是未被校正的数据。
当确定第一ECC解码操作成功(S713中为“是”)时,在步骤S760中确定读取操作成功。硬判决ECC解码的硬判决数据是错误校正后的数据,并且可输出到存储器控制器200外部的装置或者在存储器控制器200内使用。
当确定第一ECC解码操作失败(S713中为“否”)时,执行第二ECC解码步骤(S720)。
第二ECC解码步骤(S720)可以是软判决ECC解码步骤。第二ECC解码步骤(720)可包括步骤S721至S723。
在步骤S721中,控制器200控制半导体存储器装置100执行第二读取操作。
半导体存储器装置100的控制逻辑120响应于通过输入/输出电路160从控制器200接收的命令CMD和地址ADD,输出电压控制信号VCON,该电压控制信号VCON用于生成执行第二读取操作所使用的电压,例如软判决读取电压和通过电压。软判决读取电压可与第一读取操作中使用的硬判决读取电压不同。电压供给电路130响应于控制逻辑120的电压控制信号VCON,将软判决读取电压和通过电压提供给所选择的存储块(例如,MB1)的字线WL(WL0至WLn)。
控制逻辑120响应于从控制器接收的命令CMD,输出用于控制页面缓冲器PB1至PBk的PB控制信号PBCON。页面缓冲器PB1至PBk响应于PB控制信号PBCON,通过感测对应位线BL1至BLk的电位电平或电流量来感测软判决数据。感测的软判决数据DATA通过列解码器150和输入/输出电路160输出到控制器200的存储器220。
在步骤S722中,ECC解码器212执行第二ECC解码操作。第二ECC解码操作可以是软判决ECC解码操作。可基于在第一ECC解码操作中读取的硬判决数据和在步骤S721中从半导体存储器装置100读取的软判决数据来执行软判决ECC解码操作。
因为硬判决数据和软判决数据是使用彼此不同的读取电压,即,使用硬判决读取电压和软判决读取电压读取的数据,因此硬判决数据和软判决数据可具有彼此不同的数据值。如果除根据硬判决读取电压的读取操作以外还执行根据软判决读取电压的另外的读取操作,则可以获取关于存储器单元C01至C0n的阈值电压的另外的信息,即LLR(例如,关于单元的信息),LLR是能够增加由第二读取操作读取的软判决数据的可靠性的信息。
如果获取了另外的信息,则可以增加存储在存储器单元C01至C0n中的数据将处于第一状态(例如,“1”)或第二状态(例如,“0”)的概率或似然比。也就是说,可以提高解码操作的可靠性。
此后,在步骤S723中确定步骤S722的第二ECC解码操作是否成功。也就是说,确定在步骤S722中是否校正了软判决ECC解码的软判决数据中的错误。例如,在步骤S723中,ECC解码器212使用软判决ECC解码的软判决数据和奇偶校验矩阵,确定是否校正了软判决ECC解码的软判决数据中的错误。例如,当软判决ECC解码的软判决数据和奇偶校验矩阵的矩阵运算结果为零矩阵时,可确定软判决ECC解码的软判决数据正确或是被校正的数据。另一方面,当软判决ECC解码的软判决数据和奇偶校验矩阵的运算结果不为零矩阵时,可确定软判决ECC解码的软判决数据不正确或是未被校正的数据。
当确定第二ECC解码操作成功(S723中为“是”)时,在步骤S760中确定读取操作成功。
当确定软判决ECC解码操作失败(S723中为“否”)时,执行第三ECC解码步骤(S750)。第三ECC解码步骤(S750)可以是另外的软判决ECC解码步骤。第三ECC解码步骤(S750)可包括第一另外的软解码步骤(S730)和第二另外的软解码步骤(S740)。
在第一另外的软解码步骤(S730)中,通过改变软判决读取电压从半导体存储器装置100读取新的软判决数据,并且基于硬判决数据和新的软判决数据执行软判决解码操作。在第一另外的软解码步骤(S730)期间,当确定解码操作失败时,可通过在第一方向上改变软判决读取电压来从半导体存储器装置100读取新的软判决数据,并且可重新执行软判决解码操作。在本公开中,在第一方向上改变软判决读取电压表示逐步增加软判决读取电压,而在第二方向上改变软判决读取电压表示逐步降低软判决读取电压。
第一另外的软解码步骤(S730)可包括步骤S731至S735。
控制器200将多个软判决读取电压(图6中的V1至V7)中的一个软判决读取电压(例如,图6中的V4)设置成起始软判决读取电压,并且将分别对应于多个软判决读取电压(图6中的V1至V7)的二进制标签码字(图6中的0到6)之中与设置的软判决读取电压相对应的二进制标签码字(例如,图6中的3)存储在ECC缓冲器221的二进制标签缓冲区222中。另外,在步骤S731中,将存储在二进制标签缓冲区222中的二进制标签码字复制到备份缓冲区223中。因此,与起始软判决读取电压(例如,图6中的V4)相对应的二进制标签码字(例如,图6中的3)被存储在备份缓冲区223中。多个软判决读取电压(图6中的V1至V7)是电压值处于两个相邻编程状态PV A和PV B之间的读取电压。
在步骤S732中,控制器200控制半导体存储器装置100执行第三读取操作。可通过将软判决读取电压设置成新的软判决读取电压(例如,V4)而与步骤S721中的第二读取操作类似地执行步骤S732中的第三读取操作。作为第三读取操作的结果,感测的软判决数据DATA通过列解码器150和输入/输出电路160输出到存储器220。
在步骤S733中,ECC解码器212执行第三ECC解码操作。第三ECC解码操作可以是软判决ECC解码操作。可基于在第一ECC解码操作中读取的硬判决数据和在第三读取操作中读取的软判决数据来执行软判决ECC解码操作。第三ECC解码操作类似于第二ECC解码操作,因此,省略进一步的详细描述。
此后,在步骤S734中确定第三ECC解码操作是否成功。也就是说,确定是否校正了软判决ECC解码的软判决数据中的错误。
当确定第三ECC解码操作成功(S734中为“是”)时,在步骤S760中确定读取操作成功。
当确定第三ECC解码操作失败(S734中为“否”)时,在步骤S735中检查在步骤S732的第三读取操作中使用的当前软判决读取电压是否为最后的软读取电压。最后的软读取电压可以是在第一方向上的最后的软读取电压V7,最后的软读取电压V7是多个软判决读取电压V1至V7中的最高电压。当确定在步骤S732的第三读取操作中使用的当前软判决读取电压不是最后的软读取电压(S735中为“否”)时,通过增加软判决读取电压来设置新的软判决读取电压(例如,V5),并且从步骤S732的第三读取操作开始重复第一另外的软解码步骤(S730)。在这种情况下,在二进制标签缓冲区222中更新与新的软判决读取电压(例如,V5)相对应的二进制标签码字(例如,图6中的4)。
当确定在步骤S732的第三读取操作中使用的软判决读取电压是最后的软读取电压(S735中为“是”)时,执行第二另外的软解码步骤(S740)。
与第一另外的软解码步骤(S730)类似,在第二另外的软解码步骤(S740)中,通过改变软判决读取电压从半导体存储器装置100读取新的软判决数据,并且基于硬判决数据和新的软判决数据执行软判决解码操作。在第二另外的软解码步骤(S740)期间,当确定软解码操作失败时,可通过在与第一方向相反的第二方向上改变软判决读取电压来从半导体存储器装置100读取新的软判决数据,并且可重新执行软判决解码操作。如上所述,在第二方向上改变软判决读取电压表示逐步降低软判决读取电压。
第二另外的软解码步骤(S740)可包括步骤S741至S745。
在步骤S741中,控制器200通过将与存储在备份缓冲区223中的起始软判决读取电压(例如,4V)相对应的二进制标签码字(例如,图6中的3)复制回二进制标签缓冲区222来恢复起始二进制标签码字。因此,在第二另外的软解码步骤(S740)中,可跳过通过在先前执行的第一另外的软解码步骤(S730)中从最后的读取电压降低读取电压来执行的读取操作和解码操作。使用恢复的起始二进制标签码字设置起始软判决读取电压(例如,4V),并且可执行通过从起始软判决读取电压(例如,4V)降低读取电压来执行的读取操作和解码操作。因此,在第二另外的软解码步骤(S740)中,可跳过与第一另外的软解码步骤(S730)重叠的读取操作和解码操作,从而减少存储器系统的操作时间。
在步骤S742中,控制器200控制半导体存储器装置100执行第四读取操作。可通过将软判决读取电压设置成新的软判决读取电压(例如,V4)而与步骤S721中的第二读取操作类似地执行步骤S742中的第四读取操作。作为第四读取操作的结果,感测的软判决数据DATA通过列解码器150和输入/输出电路160输出到控制器200的存储器220。
在步骤S743中,ECC解码器212执行第四ECC解码操作。第四ECC解码操作可以是软判决ECC解码操作。可基于在第一ECC解码操作中读取的硬判决数据和在第四读取操作中读取的软判决数据来执行软判决ECC解码操作。第四ECC解码操作类似于第二ECC解码操作,因此,省略进一步的详细描述。
此后,在步骤S744中确定步骤S743的第四ECC解码操作是否成功。也就是说,确定是否校正了软判决ECC解码的软判决数据中的错误。
当确定第四ECC解码操作成功(S744中为“是”)时,在步骤S760中确定读取操作成功。
当确定第四ECC解码操作失败(S744中为“否”)时,在步骤S745中检查在步骤S742的第四读取操作中使用的当前软判决读取电压是否为最后的软读取电压。最后的软读取电压可以是在第二方向上的最后的软读取电压V1,最后的软读取电压V1是多个软判决读取电压V1至V7中的最低电压。当确定在步骤S742的第四读取操作中使用的当前软判决读取电压不是最后的软读取电压(S745中为“否”)时,通过降低软判决读取电压来设置新的软判决读取电压(例如,V3),并且从步骤S742的第四读取操作开始重复第二另外的软解码步骤(S740)。在这种情况下,在二进制标签缓冲区222中更新与新的软判决读取电压(例如,V3)相对应的二进制标签码字(例如,图6中的2)。
当确定在步骤S742的第四读取操作中使用的软判决读取电压是最后的软读取电压(S745中为“是”)时,在步骤S770中确定读取操作失败,并且存储器系统的操作方法结束。
如上所述,根据本公开的实施例,在软判决解码操作之前执行硬判决解码操作。然而,本公开不限于此,并且可在未进行硬判决解码操作的情况下执行软判决解码操作。另外,可在执行软判决解码操作和另外的软判决解码操作之后执行硬判决解码操作。
图8是示出存储器系统的另一实施例的框图。
参照图8,存储器系统1000包括半导体存储器装置100和控制器1100。
半导体存储器装置100可与参照图1和图3描述的半导体存储器装置相同地配置和操作。因此,省略重复的描述。
控制器1100联接到主机(Host)和半导体存储器装置100。控制器1100被配置成响应于来自主机的请求来访问半导体存储器装置100。例如,控制器1100被配置成控制半导体存储器装置100的读取操作、写入操作、擦除操作和后台操作。控制器1100被配置成提供半导体存储器装置100与主机之间的接口。控制器1100被配置成驱动用于控制半导体存储器装置100的固件。
控制器1100包括随机存取存储器(RAM)1110、处理单元1120、主机接口1130、存储器接口1140、错误校正块1150以及ECC缓冲器1160。
RAM 1110被用作处理单元1120的工作存储器、半导体存储器装置100和主机之间的高速缓冲存储器以及半导体存储器装置100和主机之间的缓冲存储器中的至少一个。
处理单元1120控制控制器1100的全部操作。
主机接口1130包括用于在主机和控制器1100之间交换数据的协议。在实施例中,控制器1100被配置成通过诸如以下的各种接口协议中的至少一种与主机通信:通用串行总线(USB)协议、多媒体卡(MMC)协议、外围组件互连(PCI)协议、高速PCI(PCI-E)协议、高级技术附件(ATA)协议、串行ATA协议、并行ATA协议、小型计算机小接口(SCSI)协议、增强型小型磁盘接口(ESDI)协议、电子集成驱动(IDE)协议以及专用协议。存储器接口1140与半导体存储器装置100接口连接。例如,存储器接口1140可包括NAND接口或NOR接口。
错误校正块1150被配置成通过使用错误校正码(ECC)来检测并校正从半导体存储器装置100接收到的数据的错误。处理单元1120可基于错误校正块1150的错误检测结果来控制半导体存储器装置100调整读取电压,并且执行重新读取。在实施例中,错误校正块1150可被设置为控制器1100的部件。错误校正块1150可以是与图2的ECC单元210相对应的部件。
ECC缓冲器1160可在错误校正块1150的解码操作中存储二进制标签码字。ECC缓冲器1160可备份并存储起始二进制标签码字,并且在新的软解码操作中使用备份的起始二进制标签码字来恢复起始二进制标签码字。ECC缓冲器1160可以是与图2的ECC缓冲器221相对应的部件。
控制器1100和半导体存储器装置100可被集成到单个半导体装置中。在实施例中,控制器1100和半导体存储器装置100可如此集成以构成诸如以下的存储卡:PC卡(个人计算机存储卡国际协会(PCMCIA))、标准闪存(CF)卡、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC或微型MMC)、SD卡(SD、迷你SD、微型SD或SDHC)或通用闪存(UFS)。
控制器1100和半导体存储器装置100可被集成到单个半导体装置中以构成半导体驱动器(固态驱动器(SSD)),该半导体驱动器包括被配置成将数据存储在半导体存储器中的存储装置。如果存储器系统1000用作半导体驱动器SSD时,可显著提高联接到存储器系统1000的主机的操作速度。
作为另一示例,存储器系统1000可被提供为诸如以下的电子装置的各种部件中的一种:计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、无线电话、移动电话、智能电话、电子书阅读器、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、三维电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、能够在无线环境中发送/接收信息的装置、构成家庭网络的各种电子装置之一、构成计算机网络的各种电子装置之一、构成远程信息处理网络的各种电子装置之一、RFID装置或构成计算系统的各种部件之一。
在实施例中,半导体存储器装置100或存储器系统1000可以诸如以下的各种形式进行封装:堆叠式封装(PoP)、球栅阵列封装(BGA)、芯片级封装(CSP)、塑料引线芯片载体封装(PLCC)、塑料双列直插式封装(PDIP)、窝伏尔组件中的管芯(die in Waffle pack)、晶片形式的管芯(die in wafer form)、板上芯片(COB)、陶瓷双列直插式封装(CERDIP)、塑料公制四方扁平封装(MQFP)、薄型四方扁平封装(TQFP)、小外型集成电路(SOIC)、收缩型小外形封装(SSOP)、薄型小外形封装(TSOP)、薄型四方扁平封装(TQFP)、系统级封装(SIP)、多芯片封装(MCP)、晶圆级制造封装(WFP)或晶圆级处理堆叠封装(WSP)。
图9是示出图8的存储器系统的应用示例的框图。
参照图9,存储器系统2000包括半导体存储器装置2100和控制器2200。半导体存储器装置2100包括多个半导体存储器芯片。多个半导体存储器芯片被划分成多个组。
在图9中,多个组通过第一至第k沟道CH1至CHk与控制器2200通信。每个半导体存储器芯片可与参照图1和图3所述的半导体存储器装置100相同地配置和操作。
每个组被配置成通过一个公共沟道与控制器2200通信。控制器2200与参照图8所述的控制器1100类似地进行配置。控制器2200被配置成通过多个沟道CH1至CHk来控制半导体存储器装置2100的多个存储器芯片。
图10是示出包括参照图9所述的存储器系统的计算系统的框图。
参照图10,计算系统3000包括中央处理单元3100、RAM 3200、用户接口3300、电源3400、系统总线3500和存储器系统2000。
存储器系统2000通过系统总线3500电联接到中央处理单元3100、RAM 3200、用户接口3300和电源3400。通过用户接口3300提供的数据或通过中央处理单元3100处理的数据被存储在存储器系统2000中。
在图10中,半导体存储器装置2100通过控制器2200联接到系统总线3500。然而,半导体存储器装置2100可直接联接到系统总线3500。在这种情况下,控制器2200的功能可由中央处理单元3100和RAM3200执行。
在图10中,示出了参照图9描述的存储器系统2000。然而,存储器系统2000可由参照图8所述的存储器系统1000替代。在实施例中,计算系统3000可被配置成包括参照图8描述的存储器系统1000和参照图9描述的存储器系统2000两者。
根据本公开,在存储器系统的ECC解码中,关于软判决读取操作的信息被存储为二进制标签码字,然后用于随后的软判决读取操作中,以便可以减少执行另外的软读取操作所需的时间,从而改善数据恢复操作。
本文已经公开了实施例,并且尽管使用了特定的术语,但是它们以一般的和描述性的意义来使用并理解,而不用于限制的目的。在一些情况下,从本申请提交起,对于本领域技术人员显而易见的是,除非另外明确指出,否则结合特定实施例描述的特征、特性和/或元件可单独使用或与结合其他实施例描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解的是,在不脱离如权利要求书中阐述的本公开的实质和范围的情况下,可进行形式和细节上的各种改变。
Claims (23)
1.一种存储器系统,包括:
半导体存储器装置,存储数据,并且在读取操作中读取并输出所存储的数据;以及
控制器,在所述读取操作中控制所述半导体存储器装置,并且对从所述半导体存储器装置输出的数据顺序地执行第一解码操作和第二解码操作,
其中所述控制器在所述第二解码操作中更新并存储二进制标签码字,并且备份并存储所述二进制标签码字中的起始二进制标签码字。
2.根据权利要求1所述的存储器系统,其中所述第一解码操作为软判决解码操作。
3.根据权利要求1所述的存储器系统,其中所述半导体存储器装置在所述第一解码操作中使用软判决读取电压来执行读取操作。
4.根据权利要求1所述的存储器系统,其中所述第二解码操作包括第一另外的软解码操作和第二另外的软解码操作。
5.根据权利要求4所述的存储器系统,其中所述半导体存储器装置:
在所述第一另外的软解码操作中,使用在第一方向上从起始读取电压改变的新的读取电压来执行至少一个读取操作;并且
在所述第二另外的软解码操作中,使用在第二方向上从所述起始读取电压改变的新的读取电压来执行至少一个读取操作。
6.根据权利要求5所述的存储器系统,其中所述控制器包括:
ECC单元,执行所述第一解码操作和所述第二解码操作;以及
ECC缓冲器,在所述第一另外的软解码操作中更新并存储与所述起始读取电压和在所述第一方向上改变的新的读取电压相对应的二进制标签码字,并且备份并存储与所述起始读取电压相对应的起始二进制标签码字。
7.根据权利要求6所述的存储器系统,其中所述ECC缓冲器包括:
二进制标签缓冲器,更新并存储所述二进制标签码字;以及
备份缓冲器,在所述第一另外的软解码操作期间,在使用所述起始读取电压的读取操作中备份所述起始二进制标签码字。
8.根据权利要求7所述的存储器系统,其中所述备份缓冲器在所述第二另外的软解码操作中,将存储的所述起始二进制标签码字移动到所述二进制标签缓冲器。
9.根据权利要求8所述的存储器系统,其中所述控制器在所述第二另外的软解码操作中,基于存储在所述二进制标签缓冲器中的所述起始二进制标签码字,控制所述半导体存储器装置使用在所述第二方向上从所述起始读取电压改变的新的读取电压来执行至少一个读取操作。
10.根据权利要求1所述的存储器系统,其中通过基于读取电压对存储器单元的阈值电压进行划分而获得所述二进制标签码字,所述存储器单元的阈值电压在所述第二解码操作期间的读取操作中被获取。
11.根据权利要求1所述的存储器系统,其中所述控制器在执行所述第一解码操作之前执行硬判决解码操作。
12.一种存储器系统,其包括:
半导体存储器装置,存储数据,并且在读取操作中读取并输出所存储的数据;以及
控制器,对从所述半导体存储器装置输出的数据执行解码操作,
其中所述控制器包括:
ECC单元,执行软判决解码操作以及另外的软判决解码操作;以及
ECC缓冲器,在另外的软判决解码操作中更新并存储二进制标签码字,并且备份并存储所述二进制标签码字中的起始二进制标签码字。
13.根据权利要求12所述的存储器系统,其中所述半导体存储器装置在所述软判决解码操作中使用软判决读取电压来执行第一读取操作。
14.根据权利要求12所述的存储器系统,其中所述半导体存储器装置:
在所述另外的软判决解码操作期间,在第一另外的软解码操作中,使用在第一方向上从起始读取电压改变的新的读取电压来执行至少一个第二读取操作;并且
在所述第一另外的软解码操作之后执行的第二另外的软解码操作中,使用在第二方向上从所述起始读取电压改变的新的读取电压来执行至少一个第三读取操作。
15.根据权利要求14所述的存储器系统,其中所述ECC缓冲器包括:
二进制标签缓冲器,更新并存储所述二进制标签码字;以及
备份缓冲器,在所述第一另外的软解码操作期间,在使用所述起始读取电压的读取操作中备份所述起始二进制标签码字。
16.根据权利要求15所述的存储器系统,其中所述备份缓冲器在所述第二另外的软解码操作中,将存储的所述起始二进制标签码字移动到所述二进制标签缓冲器。
17.根据权利要求16所述的存储器系统,其中所述控制器在所述第二另外的软解码操作中,基于存储在所述二进制标签缓冲器中的所述起始二进制标签码字,控制所述半导体存储器装置使用在所述第二方向上从所述起始读取电压降低的新的读取电压来执行至少一个读取操作。
18.根据权利要求12所述的存储器系统,其中所述ECC单元在执行所述软判决解码操作之前执行硬判决解码操作。
19.一种操作存储器系统的方法,所述方法包括:
执行软判决解码操作;
当确定所述软判决解码操作失败时,执行第一另外的软判决解码操作,更新并存储包括起始二进制标签码字的多个二进制标签码字,并且备份并存储所述起始二进制标签码字;以及
当确定所述第一另外的软判决解码操作失败时,使用所备份的起始二进制标签码字来执行第二另外的软判决解码操作。
20.根据权利要求19所述的方法,进一步包括在执行所述软判决解码操作之前执行硬判决解码操作。
21.根据权利要求20所述的方法,其中在所述第一另外的软判决解码操作中,通过使用在第一方向上从起始读取电压改变的新的读取电压执行至少一个读取操作来读取软判决数据,并且基于所读取的软判决数据和在所述硬判决解码操作中解码的硬判决数据来执行软判决解码操作。
22.根据权利要求20所述的方法,其中在所述第二另外的软判决解码操作中,通过使用在第二方向上从所述起始读取电压改变的新的读取电压执行至少一个读取操作来读取软判决数据,并且基于所读取的软判决数据和在所述硬判决解码操作中解码的硬判决数据来执行软判决解码操作。
23.根据权利要求22所述的方法,其中在所述第二另外的软判决解码操作中,使用所备份的起始二进制标签码字来设置所述起始读取电压。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170147375A KR102389432B1 (ko) | 2017-11-07 | 2017-11-07 | 메모리 시스템 및 그의 동작방법 |
KR10-2017-0147375 | 2017-11-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109753376A true CN109753376A (zh) | 2019-05-14 |
CN109753376B CN109753376B (zh) | 2022-05-24 |
Family
ID=66327324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810873418.1A Active CN109753376B (zh) | 2017-11-07 | 2018-08-02 | 存储器系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10725863B2 (zh) |
KR (1) | KR102389432B1 (zh) |
CN (1) | CN109753376B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112037837A (zh) * | 2019-06-03 | 2020-12-04 | 爱思开海力士有限公司 | 存储器系统、存储器控制器和存储器设备 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020047322A (ja) * | 2018-09-14 | 2020-03-26 | キオクシア株式会社 | メモリシステム |
TWI670725B (zh) * | 2018-12-05 | 2019-09-01 | 群聯電子股份有限公司 | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 |
US11747985B2 (en) | 2019-12-06 | 2023-09-05 | SK Hynix Inc. | Memory system, integrated circuit system, and operation method of memory system |
US11322219B2 (en) * | 2019-12-06 | 2022-05-03 | SK Hynix Inc. | Memory system, integrated circuit system, and operation method of memory system |
KR20210128704A (ko) | 2020-04-17 | 2021-10-27 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작 방법 |
US20230281185A1 (en) * | 2020-09-16 | 2023-09-07 | Motorola Solutions, Inc. | Device, system and method for modifying electronic workflows |
US12072762B2 (en) * | 2022-08-09 | 2024-08-27 | Micron Technology, Inc. | Error-handling management during copyback operations in memory devices |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101465152A (zh) * | 2007-12-20 | 2009-06-24 | 三星电子株式会社 | 用于分析读取失败的半导体存储设备和该设备的操作方法 |
US20090281969A1 (en) * | 2008-05-09 | 2009-11-12 | Lsi Corporation | Decision Tree Representation of a Function |
CN103295631A (zh) * | 2012-02-22 | 2013-09-11 | 慧荣科技股份有限公司 | 读取快闪存储器中所储存的数据的方法、存储器控制器与系统 |
CN103578555A (zh) * | 2012-07-19 | 2014-02-12 | 三星电子株式会社 | 非易失性存储器、其的读取方法和包括其的存储系统 |
CN104166629A (zh) * | 2013-05-17 | 2014-11-26 | 马维尔国际贸易有限公司 | 具有有效的软信息接口的nand闪存存储系统 |
CN104240751A (zh) * | 2013-06-12 | 2014-12-24 | 爱思开海力士有限公司 | 存储系统、半导体器件及其操作方法 |
CN106024050A (zh) * | 2015-03-31 | 2016-10-12 | 爱思开海力士有限公司 | 输出状态失败信号的半导体存储器件及其操作方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130128685A (ko) * | 2012-05-17 | 2013-11-27 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 프로그램 방법 |
KR102123946B1 (ko) * | 2012-12-28 | 2020-06-17 | 삼성전자주식회사 | 멀티 레벨 셀 메모리 장치 및 그것의 동작방법 |
US9390002B1 (en) | 2013-01-23 | 2016-07-12 | SK Hynix Inc. | Efficient bin labeling schemes for tracking cells in solid state storage devices |
KR102127287B1 (ko) * | 2014-02-11 | 2020-06-26 | 삼성전자주식회사 | 메모리 컨트롤러 및 메모리 컨트롤러가 불휘발성 메모리로부터 데이터를 읽는 데이터 읽기 방법 |
KR102321501B1 (ko) * | 2014-05-14 | 2021-11-05 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것을 포함하는 스토리지 장치의 동작 방법 |
KR102265220B1 (ko) * | 2015-03-09 | 2021-06-16 | 에스케이하이닉스 주식회사 | 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법 |
KR20170000108A (ko) * | 2015-06-23 | 2017-01-02 | 에스케이하이닉스 주식회사 | 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법 |
KR20170068681A (ko) * | 2015-12-09 | 2017-06-20 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR20170075065A (ko) * | 2015-12-22 | 2017-07-03 | 에스케이하이닉스 주식회사 | 메모리 시스템 동작 방법 |
-
2017
- 2017-11-07 KR KR1020170147375A patent/KR102389432B1/ko active IP Right Grant
-
2018
- 2018-07-11 US US16/032,515 patent/US10725863B2/en not_active Expired - Fee Related
- 2018-08-02 CN CN201810873418.1A patent/CN109753376B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101465152A (zh) * | 2007-12-20 | 2009-06-24 | 三星电子株式会社 | 用于分析读取失败的半导体存储设备和该设备的操作方法 |
US20090281969A1 (en) * | 2008-05-09 | 2009-11-12 | Lsi Corporation | Decision Tree Representation of a Function |
CN103295631A (zh) * | 2012-02-22 | 2013-09-11 | 慧荣科技股份有限公司 | 读取快闪存储器中所储存的数据的方法、存储器控制器与系统 |
CN103578555A (zh) * | 2012-07-19 | 2014-02-12 | 三星电子株式会社 | 非易失性存储器、其的读取方法和包括其的存储系统 |
CN104166629A (zh) * | 2013-05-17 | 2014-11-26 | 马维尔国际贸易有限公司 | 具有有效的软信息接口的nand闪存存储系统 |
CN104240751A (zh) * | 2013-06-12 | 2014-12-24 | 爱思开海力士有限公司 | 存储系统、半导体器件及其操作方法 |
CN106024050A (zh) * | 2015-03-31 | 2016-10-12 | 爱思开海力士有限公司 | 输出状态失败信号的半导体存储器件及其操作方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112037837A (zh) * | 2019-06-03 | 2020-12-04 | 爱思开海力士有限公司 | 存储器系统、存储器控制器和存储器设备 |
CN112037837B (zh) * | 2019-06-03 | 2024-01-30 | 爱思开海力士有限公司 | 存储器系统、存储器控制器和存储器设备 |
Also Published As
Publication number | Publication date |
---|---|
US10725863B2 (en) | 2020-07-28 |
KR102389432B1 (ko) | 2022-04-25 |
US20190138392A1 (en) | 2019-05-09 |
CN109753376B (zh) | 2022-05-24 |
KR20190051561A (ko) | 2019-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109753376A (zh) | 存储器系统及其操作方法 | |
US10484008B2 (en) | Memory system with on-the-fly error detection and termination and operating method thereof | |
TWI705452B (zh) | 具有硬通道資訊的位元翻轉ldpc解碼演算法 | |
CN108062258A (zh) | 用于错误恢复的循环交错的xor阵列 | |
CN106169308A (zh) | 存储器控制器及其操作方法 | |
CN108986867A (zh) | 半导体存储器系统及其操作方法 | |
CN107229577A (zh) | 存储系统及其操作方法 | |
TWI527040B (zh) | 資料寫入方法、記憶體儲存裝置與記憶體控制器 | |
CN110444240B (zh) | 存储器系统的编码器和解码器及其方法 | |
US10956263B2 (en) | Memory system with deep learning based interference correction capability and method of operating such memory system | |
US11182243B2 (en) | Memory system with adaptive information propagation and method of operating such memory | |
US11036579B2 (en) | Decoder for memory system and method thereof | |
CN104733044A (zh) | 译码方法、存储器存储装置、存储器控制电路单元 | |
CN105095011B (zh) | 数据处理方法、存储器控制电路单元以及存储器存储装置 | |
TWI732642B (zh) | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 | |
CN110277999A (zh) | Ldpc解码装置、包括其的存储器系统及其方法 | |
US11062758B2 (en) | Memory system to process multiple word line failures with limited storage and method of operating such memory system | |
CN110008145B (zh) | 数据保护方法、存储器控制电路单元与存储器存储装置 | |
US9996412B2 (en) | Enhanced chip-kill schemes by using sub-trunk CRC | |
US10141072B2 (en) | Efficient encoder based on modified RU algorithm | |
CN110047554B (zh) | 具有超级芯片删除恢复的存储器系统及其操作方法 | |
EP3968163B1 (en) | Storage device and operating method of memory controller | |
TWI742509B (zh) | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 | |
US11430538B1 (en) | Memory control method, memory storage device, and memory control circuit unit | |
CN114077515A (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |