CN111883198A - 存储器控制器及其操作方法 - Google Patents
存储器控制器及其操作方法 Download PDFInfo
- Publication number
- CN111883198A CN111883198A CN201911170720.1A CN201911170720A CN111883198A CN 111883198 A CN111883198 A CN 111883198A CN 201911170720 A CN201911170720 A CN 201911170720A CN 111883198 A CN111883198 A CN 111883198A
- Authority
- CN
- China
- Prior art keywords
- read
- inversion units
- read voltage
- read data
- voltage
- 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
Links
- 238000011017 operating method Methods 0.000 title description 2
- 238000000034 method Methods 0.000 claims abstract description 23
- 230000004044 response Effects 0.000 claims abstract description 21
- 238000012937 correction Methods 0.000 claims description 47
- 238000009826 distribution Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 23
- 239000000872 buffer Substances 0.000 description 18
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 12
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 101100444020 Caenorhabditis elegans dsl-1 gene Proteins 0.000 description 2
- 101100366714 Caenorhabditis elegans ssl-1 gene Proteins 0.000 description 2
- 101000741396 Chlamydia muridarum (strain MoPn / Nigg) Probable oxidoreductase TC_0900 Proteins 0.000 description 2
- 101000741399 Chlamydia pneumoniae Probable oxidoreductase CPn_0761/CP_1111/CPj0761/CpB0789 Proteins 0.000 description 2
- 101000741400 Chlamydia trachomatis (strain D/UW-3/Cx) Probable oxidoreductase CT_610 Proteins 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000001351 cycling effect Effects 0.000 description 2
- 238000009413 insulation Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 101150013423 dsl-1 gene Proteins 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
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
- 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
- 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/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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
- 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
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- 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/30—Power supply circuits
-
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
-
- 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/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/021—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
-
- 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/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- 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/5671—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 trapping in an insulator
Abstract
本文描述了存储器控制器及其操作方法。一种存储器控制器可以包括:命令发生器,生成和输出第一读取命令和第二读取命令至存储器装置,使得使用第一读取电压来执行相应的第一读取操作和第二读取操作;计算器,响应于读取命令而接收第一读取数据和第二读取数据,将第一读取数据和第二读取数据彼此比较,并且基于比较的结果来计算第一反转单元的数目和第二反转单元的数目,第一反转单元中的每一个具有从第一位值反转为第二位值的位值,并且第二反转单元中的每一个具有从第二位值反转为第一位值的位值;以及读取电压确定器,根据第一反转单元的数目和第二反转单元的数目来改变第一读取电压。
Description
相关申请的交叉引用
本申请要求于2019年5月2日提交的韩国专利申请号10-2019-0051786的优先权,其全部内容通过引用并入本文。
技术领域
本公开的各个实施例一般地涉及存储器控制器和操作存储器控制器的方法,并且更具体地涉及用于在改变读取电压的同时执行读取操作的存储器控制器和操作存储器控制器的方法。
背景技术
存储器系统可以包括存储器装置和存储器控制器。
存储器控制器可以响应于从主机接收的请求来控制存储器装置的操作。存储器装置可以在存储器控制器的控制下存储数据或输出所存储的数据。例如,存储器装置可以被实现为其中在供电中断时所存储的数据丢失的易失性存储器装置,或者被实现为其中即使在供电中断时所存储的数据仍被保留的非易失性存储器装置。
发明内容
本公开的各种实施例针对用于在改变读取电压的同时执行读取操作的存储器控制器以及操作存储器控制器的方法。
此外,各种实施例针对可以有效地执行用于找到最佳读取电压的读取操作的存储器控制器以及操作存储器控制器的方法。
本公开的一个实施例可以提供一种存储器控制器。存储器控制器可以包括:命令生成器,被配置为生成第一读取命令和第二读取命令并且将第一读取命令和第二读取命令输出到存储器装置,使得使用第一读取电压来在存储器装置的目标存储器单元上执行相应的第一读取操作和第二读取操作;计算器,被配置为响应于第一读取命令和第二读取命令而接收第一读取数据和第二读取数据、将第一读取数据与第二读取数据进行比较,以及基于比较操作的结果来计算第一反转单元的数目和第二反转单元的数目,第一反转单元中的每一个具有从第一读取数据中的第一位值反转为第二读取数据中的第二位值的位值,并且第二反转单元中的每一个具有从第一读取数据中的第二位值反转为第二读取数据中的第一位值的位值;以及读取电压确定器,被配置为根据第一反转单元的数目和第二反转单元的数目来改变第一读取电压。
本公开的一个实施例可以提供一种存储器控制器。存储器控制器可以包括:纠错解码器,被配置为对与在目标存储器单元上执行的第一读取操作相对应的第一读取数据执行纠错解码;命令生成器,被配置为当确定对第一读取数据执行的纠错解码失败时,生成读取命令并且将读取命令输出至存储器装置,使得使用与用于第一读取操作的第一读取电压相同的第二读取电压对目标存储器单元执行第二读取操作操作;计算器,被配置为响应于读取命令而接收第二读取数据,将第一读取数据与第二读取数据进行比较,以及基于比较操作的结果来计算第一反转单元的数目和第二反转单元的数目,第一反转单元中的每一个具有从第一数据中的第一位值反转为第二数据中的第二位值的位值,并且第二反转单元中的每一个具有从第一读取数据中的第二位值反转为第二读取数据中的第一位值的位值;以及读取电压确定器,被配置为根据第一反转单元的数目和第二反转单元的数目来改变第一读取电压。
本公开的一个实施例可以提供一种操作存储器控制器的方法。该方法可以包括:接收与使用第一读取电压在目标存储器单元上执行的第一读取操作相对应的第一读取数据;接收与使用第二读取电压在目标存储器单元上执行的第二读取操作相对应的第二读取数据,其中第二读取电压与第一读取电压相同;将第一读取数据与第二读取数据进行比较;基于比较操作的结果,计算第一反转单元的数目和第二反转单元的数目,第一反转单元中的每一个具有从第一读取数据中的第一位值反转为第二读取数据中的第二位值的位值,并且第二反转单元中的每一个具有从第一读取数据中的第二位值反转为第二读取数据中的第一位值的位值;根据第一反转单元的数目和第二反转单元的数目来改变第一读取电压。
本公开的一个实施例可以提供一种存储器系统。存储器系统可以包括:存储器装置,包括多个存储器单元;以及控制器,适于使用设定读取电压,对多个存储器单元之中的目标存储器单元顺序地执行第一读取操作和第二读取操作,响应于第一读取操作和第二读取操作而分别接收第一读取数据和第二读取数据,将第一读取数据与第二读取数据进行比较,确定第一读取数据中的位的值与第二读取数据中对应位的值不同的位对的数目,以及基于确定操作的结果来调整设定读取电压。
附图说明
图1是图示了根据本公开的实施例的存储器系统的图。
图2是图示了存储器单元的阈值电压分布的图。
图3是图示了其特性已改变的存储器单元的阈值电压分布的图。
图4是图示了随机电报噪声(RTN)的图。
图5是图示了图1所示的存储器控制器的图。
图6是图示了根据本公开的实施例的操作存储器控制器的方法的流程图。
图7是图示了根据本公开的实施例的操作存储器控制器的方法的流程图。
图8和图9是图示了依赖于读取电压的反转单元的数目的图。
图10是图示了根据本公开的实施例的存储器装置的图。
图11是图示了存储器块的图。
图12是图示了具有3D结构的存储器块的示例的图。
图13是图示了具有3D结构的存储器块的示例的图。
图14至图17是图示了包括图1和图5的存储器控制器的存储器系统的实施例的图。
具体实施方式
本文提供的具体结构和功能描述是为了描述本发明的实施例。本发明可以以各种形式和方式来实现,因此不限于本文中阐述的实施例。在整个说明书中,对“一个实施例”、“另一实施例”等的引用不一定仅是一个实施例,并且对任何这样的短语的不同引用不一定是(多个)相同的实施例。
图1是图示根据本公开的实施例的存储器系统2000的图。
参考图1,存储器系统2000可以包括存储器控制器2100和存储数据的存储器装置2200。存储器控制器2100响应于从主机1000接收的请求来控制存储器装置2200。
主机1000可以是将数据存储在存储器系统2000中或从存储器系统2000取回数据的装置或系统。例如,主机1000可以包括计算机、便携式数字装置、平板电脑、数字相机、数字音频播放器、电视、无线通信装置或蜂窝电话中的至少一个,但是本公开的实施例不限于此。
存储器控制器2100可以控制存储器系统2000的整体操作。存储器控制器2100可以响应于从主机1000接收的请求而执行各种操作。例如,存储器控制器2100可以在存储器装置2200上执行编程操作、读取操作和擦除操作。在编程操作期间,存储器控制器2100可以将编程命令、地址和数据发送到存储器装置2200。在读取操作期间,存储器控制器2100可以将读取命令和地址发送到存储器装置2200,并且可以从存储器装置2200接收读取数据。在擦除操作期间,存储器控制器2100可以将擦除命令和地址发送到存储器装置2200。
存储器装置2200可以在存储器控制器2100的控制下执行编程操作、读取操作和擦除操作。存储器装置2200可以被实现为易失性存储器装置(其中当供电中断时所存储的数据丢失)或非易失性存储器装置(其中即使在供电中断时所存储的数据也会被保留)。
存储器装置2200可以从存储器控制器2100接收编程命令、地址和数据,并且可以响应于所接收的编程命令和地址来存储数据。存储器装置2200可以响应于从存储器控制器2100接收的读取命令和地址来执行读取操作,并且可以将读取数据提供给存储器控制器2100。存储器装置2200可以响应于从存储器控制器2100接收的擦除命令和地址来执行擦除操作。
存储器装置2200可以包括存储数据的至少一个存储器块。存储器块可以包括多个存储器单元。根据可以存储在存储器块的每个存储器单元中的位数,存储器块可以是单级单元(SLC)块或m位多级单元(MLC)块。在SLC块中的每个SLC中,可以存储一位数据。在m位MLC块中的每个m位MLC中,可以存储m位数据。在此,m可以是2或更大的自然数。
图2是图示存储器单元的阈值电压分布的图。
尽管在图2中通过示例图示了2位MLC类型的存储器单元的阈值电压分布,但是本公开的实施例不限于此。在图2中,横轴指示存储器单元的阈值电压Vth,并且纵轴指示与每个阈值电压Vth相对应的存储器单元的数目。
每个2位MLC可以具有与擦除状态、第一编程状态、第二编程状态和第三编程状态中的任一个相对应的阈值电压。
在理想情况下,对应于多个状态的阈值电压分布可以彼此不重叠。例如,紧接在对存储器单元执行编程操作之后,对应于擦除状态的阈值电压分布E、对应于第一编程状态的阈值电压分布P1、对应于第二编程状态的阈值电压分布P2、对应于第三编程状态的阈值电压分布P3可以彼此不重叠。
在读取操作期间,可以使用读取电压R1、R2和R3在存储器单元上执行读取操作。读取电压R1可以用于将对应于擦除状态的存储器单元与对应于第一编程状态的存储器单元区分开,读取电压R2可以用于将对应于第一编程状态的存储器单元与对应于第二编程状态的存储器单元区分开,并且读取电压R3可以用于将对应于第二编程状态的存储器单元与对应于第三编程状态的存储器单元区分开。
图3是图示其特性已改变的存储器单元的阈值电压分布的图。
当存储器单元的特性改变时,存储器单元的阈值电压分布可能改变。例如,对应于图2的擦除状态的阈值电压分布E可以改变为图3的阈值电压分布E',并且对应于图2的编程状态的阈值电压分布P1、P2和P3可以相应地改变为图3的阈值电压分布P1'、P2'和P3'。
例如,存储器单元的特性可以与编程/擦除循环(P/E循环)或保持时间中的至少一个相关。编程/擦除(P/E)循环可以指代在存储器单元上执行的编程操作和擦除操作的数目。保持时间可以指代自从对存储器单元执行编程操作以来经过的时间。
参考图3,可以看出相邻的阈值电压分布彼此重叠。即,E’与P1’重叠,P1’也与P2’重叠,P2’也与P3’重叠。
当在存储器单元的特性已改变的状态下使用读取电压R1、R2和R3来执行读取操作时,如图3所示,读取数据中可能存在大量错误位。如果读取数据中的错误位的数目超过了由纠错电路可以纠正的最大容许错误位数目,则纠错解码可能失败。
图4是图示了随机电报噪声(RTN)的图。
在图4中图示了具有预定编程状态的存储器单元的阈值电压分布PS。
在读取操作期间,具有的阈值电压大于读取电压的存储器单元可以各自指示第一位值(例如,“0”),而具有的阈值电压小于读取电压的存储器单元可以各自指示第二位值(例如,“1”)。
在读取操作期间,当电子在存储器单元中被捕获或从存储器单元中释放时,随机电报噪声(RTN)可能发生。RTN可以用作存储器单元的阈值电压变化的因数,使得每当对存储器单元执行读取操作时,存储器单元的阈值电压由于RTN而可能被检测为不同的值,并且因此由存储器单元指示的位值可能变化。例如,假设使用相同的读取电压对存储器单元执行第一读取操作和第二读取操作,则在第一读取操作中指示第一位值的存储器单元可以在第二读取操作中指示第二位值,并且在第一读取操作中指示第二位值的存储器单元可以在第二读取操作中指示第一位值。即,在使用相同读取电压的多个读取操作期间,由对应的存储器单元指示的位值可能由于RTN而被反转。在下文中,将在第一读取操作中指示第一位值但是在第二读取操作中指示第二位值的存储器单元指定为第一反转单元,并且将在第一读取操作中指示第二位值但是在第二读取操作中指示第一位值的存储器单元指定为第二反转单元。
特别地,具有更接近读取电压的阈值电压的存储器单元可能会进一步受到RTN的影响,并且因此可以认为很可能具有更接近读取电压的阈值电压的存储器单元的位值将被反转。
第一反转单元的数目和第二反转单元的数目可以根据读取电压是低于还是高于阈值电压分布中的平均阈值电压Vm而改变。
假设使用低于平均阈值电压Vm的读取电压Ra来执行第一读取操作和第二读取操作。在这种情况下,在具有的阈值电压等于读取电压Ra的存储器单元之中,第一反转单元402a的数目和第二反转单元402b的数目可以彼此相等。具有的阈值电压高于读取电压Ra的存储器单元之中的第一反转单元404a的数目可以大于具有的阈值电压低于读取电压Ra的存储器单元之中的第二反转单元406b的数目。其原因是受RTN影响的存储器单元的数目与具有设定阈值电压的存储器单元的数目成比例。即,当读取电压Ra低于平均阈值电压Vm时,具有高于读取电压Ra的阈值电压的存储器单元的数目可以大于具有低于读取电压Ra的阈值电压的存储器单元的数目,并且因此第一反转单元404a的数目可以大于第二反转单元406b的数目。
因此,在使用读取电压Ra的第一读取操作和第二读取操作期间,第一反转单元的总数(402a+404a)可以大于第二反转单元的总数(402b+406b)。
相反,假设使用高于平均阈值电压Vm的读取电压Rb来执行第一读取操作和第二读取操作。根据与使用读取电压Ra时相同的原理,第一反转单元的总数(402c+406c)可以小于第二反转单元的总数(402d+404d)。
图5是图示图1中所示的存储器控制器2100的图。
参考图5,存储器控制器2100可以包括主机接口2110、中央处理单元(CPU)2120、存储器接口2130、缓冲存储器2140、纠错电路2150和内部存储器2160。主机接口2110、存储器接口2130、缓冲存储器2140、纠错电路2150和内部存储器2160可以由CPU 2120控制。
主机接口2110可以使用各种接口协议与主机1000通信。例如,主机接口2110可以使用诸如非易失性存储器快速(NVMe)、外围部件互连快速(PCI-e或PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、通用串行总线(USB)、多媒体卡(MMC)、增强型小磁盘接口(ESDI)、集成驱动电子装置(IDE)、移动工业处理器接口(MIPI)、通用闪存(UFS)、小型计算机系统接口(SCSI)或串行连接SCSI(SAS)之类的接口协议中的至少一个与主机1000通信,但是本公开的实施例不限于此。
CPU 2120可以执行各种类型的计算(或操作)或生成命令和地址以便控制存储器装置2200。例如,CPU 2120可以响应于从主机1000接收的请求,生成编程操作、读取操作和擦除操作所需的各种命令和地址。
CPU 2120可以将从主机1000接收的逻辑地址转换为物理地址,以便控制存储器装置2200的操作。CPU 2120可以通过使用存储在内部存储器2160中的地址映射表来将逻辑地址转换为物理地址或将物理地址转换为逻辑地址。当新数据被编程到存储器装置2200时或者当存储在存储器装置2200中的数据被擦除时,CPU 2120可以更新地址映射表。
CPU 2120可以将数据随机化或将经随机化的数据去随机化。在编程操作期间,CPU2120可以将从主机1000接收的数据随机化,并且可以控制存储器接口2130,使得经随机化的数据可以被发送到存储器装置2200。在读取操作期间,CPU 2120可以将从存储器装置2200接收的读取操作去随机化,并且可以控制主机接口2110,使得去随机化的读取数据可以被发送到主机1000。
CPU 2120可以包括命令生成器2120a、反转单元数计算器2120b和读取电压确定器2120c。
命令生成器2120a可以生成读取命令,并且将读取命令发送到存储器装置2200,使得存储器装置2200能够对目标存储器单元执行读取操作。命令生成器2120a可以生成第一读取命令,并且将第一读取命令发送到存储器装置2200,使得存储器装置2200能够使用第一读取电压来执行第一读取操作。
命令生成器2120a可以生成第二读取命令,并且将第二读取命令发送到存储器装置2200,使得存储器装置2200能够使用第二读取电压来执行第二读取操作。在此,第一读取电压和第二读取电压可以相同。即,存储器装置2200可以使用相同的读取电压来执行两次读取操作。
在下文中,可以首先使用设定读取电压对目标存储器单元执行第一读取操作,以及可以使用相同的设定读取电压对目标存储器单元执行第二读取操作。
在一个实施例中,当对与第一读取命令相对应的第一读取数据的纠错解码失败时,命令生成器2120a可以生成第二读取命令并将第二读取命令发送到存储器装置2200。
反转单元数计算器2120b可以接收与第一读取命令相对应的第一读取数据和与第二读取命令相对应的第二读取数据。
在一个实施例中,当对第一读取数据的纠错解码失败时,反转单元数计算器2120b可以接收第二读取数据。
反转单元数计算器2120b可以通过将第一读取数据与第二读取数据进行比较来检查反转单元。反转单元中的每一个可以是指示第一读取数据和第二读取数据中的不同位值的存储器单元。指示第一读取数据中的第一位值但指示第二读取数据中的第二位值的反转单元被称为第一反转单元,而指示第一读取数据中的第二位值但指示第二读取数据中的第一位值的反转单元被称为第二反转单元。在此,第一位值可以是“0”,第二位值可以是“1”。在另一实施例中,该约定可以颠倒。
反转单元数计算器2120b可以计算第一反转单元的数目和第二反转单元的数目,并且可以将关于反转单元的数目的信息提供给读取电压确定器2120c。关于反转单元的数目的信息可以包括关于第一反转单元的数目的信息和关于第二反转单元的数目的信息。
读取电压确定器2120c可以基于从反转单元数计算器2120b接收的关于反转单元的数目的信息来设置或改变读取电压。
在一个实施例中,当第一反转单元的数目大于第二反转单元的数目时,读取电压确定器2120c可以将第一读取电压改变为较低的电压。这里,在第一反转单元的数目与第二反转单元的数目之间的差增加时,读取电压确定器2120c可以进一步减小第一读取电压。即,读取电压确定器2120c可以与第一反转单元的数目和第二反转单元的数目之间的差成比例地减小第一读取电压。在一个实施例中,不管第一反转单元的数目和第二反转单元的数目之间的差如何,读取电压确定器2120c可以将第一读取电压减小设定值。
在一个实施例中,当第一反转单元的数目小于第二反转单元的数目时,读取电压确定器2120c可以增加第一读取电压。这里,在第一反转单元的数目与第二反转单元的数目之间的差增加时,读取电压确定器2120c可以进一步增加第一读取电压。在一个实施例中,不管第一反转单元的数目与第二反转单元的数目之间的差如何,读取电压确定器2120c还可以将第一读取电压增加设定值。
读取电压确定器2120c可以将关于经改变的第一读取电压的信息提供给命令生成器2120a。因此,命令生成器2120a可以生成命令和地址,并将命令和地址提供给存储器装置2200,使得第一读取操作和第二读取操作中的至少一个使用经改变的第一读取电压来在目标存储器单元上被执行。
当使用经改变的第一读取电压对与第一读取操作相对应的第一读取数据执行的纠错解码通过时,读取电压确定器2120c可以将经改变的第一读取电压确定为目标存储器单元的最佳读取电压。
存储器接口2130可以使用各种接口协议与存储器装置2200通信。
缓冲存储器2140可以在存储器控制器2100控制存储器装置2200时临时存储数据。例如,从主机1000接收的数据可以临时存储在缓冲存储器2140中,直到编程操作完成。此外,在读取操作期间,从存储器装置2200接收的读取数据也可以临时存储在缓冲存储器2140中。
纠错电路2150可以在编程操作期间执行纠错编码,并且可以在读取操作期间执行纠错解码。当执行纠错解码时,可以执行硬判定解码和软判定解码中的至少一个。例如,纠错电路2150可以使用Bose Chaudhuri、Hocquenghem(BCH)码和低密度奇偶校验(LDPC)码中的至少一个来执行纠错解码,但是本公开的实施例不限于此。
纠错电路2150可以对编程数据执行纠错编码,并且可以对读取数据执行纠错解码。纠错电路2150可以具有多达一定数目的错误位的纠错容量。例如,当读取数据中的错误位的数目不超过纠错容量时,纠错电路2150可以检测并纠正读取数据中的错误。纠错电路2150的纠错容量可以被视为最大容许错误位数目。当读取数据中的错误位的数目超过最大容许错误位数目时,纠错解码可能失败。
纠错电路2150可以对第一读取数据执行纠错解码。之后,纠错电路2150可以通知CPU 2120纠错解码已通过或失败。因此,当对第一读取数据的纠错解码通过时,CPU 2120可以将经解码的码字发送到主机1000,而当纠错解码失败时,CPU 2120可以控制存储器装置2200,使得执行第二读取操作。
内部存储器2160可以用作存储针对存储器控制器2100的操作的各种类型的信息的存储部。内部存储器2160可以存储多个表。例如,内部存储器2160可以存储用于在逻辑地址和物理地址之间进行映射的映射表。
图6是图示根据本公开的实施例的操作存储器控制器的方法的流程图。
参考图6,在步骤601处,存储器控制器可以生成第一读取命令,并将第一读取命令发送到存储器装置,使得对目标存储器单元执行第一读取操作。目标存储器单元可以是但不限于单个物理页中包括的存储器单元。第一读取命令可以是用于指示使用第一读取电压来执行第一读取操作的命令。
在步骤603处,存储器控制器可以从存储器装置接收与第一读取操作相对应的第一读取数据。
在步骤605中,存储器控制器可以生成第二读取命令,并将第二读取命令发送到存储器装置,使得对目标存储器单元执行第二读取操作。第二读取命令可以是用于指示使用第一读取电压来执行第二读取操作的命令。即,可以使用相同的读取电压来执行第一读取操作和第二读取操作。
在步骤607处,存储器控制器可以从存储器装置接收与第二读取操作相对应的第二读取数据。
在步骤609处,存储器控制器可以通过将第一读取数据与第二读取数据进行比较来计算反转单元的数目。例如,存储器控制器可以计算其位值从“0”改变为“1”的第一反转单元的数目、以及其位值从“1”改变为“0”的第二反转单元的数目。
在步骤611处,存储器控制器可以基于第一反转单元的数目和第二反转单元的数目来改变第一读取电压。例如,当第一反转单元的数目大于第二反转单元的数目时,存储器控制器可以减小第一读取电压。对于另一示例,当第一反转单元的数目小于第二反转单元的数目时,存储器控制器可以增加第一读取电压。即,可以基于反转单元的数目来确定是否改变读取电压以及改变多少。在改变第一读取电压之后,过程可以返回到步骤601。当第一反转单元的数目等于第二反转单元的数目时,该过程可以被终止,而不执行步骤601。
图7是图示根据本公开的实施例的操作存储器控制器的方法的流程图。
参考图7,在步骤701处,存储器控制器可以生成第一读取命令,并将第一读取命令发送到存储器装置,使得对目标存储器单元执行第一读取操作。目标存储器单元可以是但不限于单个物理页中包括的存储器单元。第一读取命令可以是用于指示使用第一读取电压来执行第一读取操作的命令。
在步骤703处,存储器控制器可以从存储器装置接收与第一读取操作相对应的第一读取数据。第一读取数据可以是与码字相对应的读取数据。
在步骤705处,存储器控制器可以对第一读取数据执行纠错解码。当包括在第一读取数据中的错误可纠正时,存储器控制器可以纠正对应的错误,以及然后可以生成经解码的码字。在步骤705处,当纠错解码已通过时,即,当生成经解码的码字时(步骤705处的“是”),可以执行步骤707。
在步骤707处,存储器控制器可以将经解码的码字发送到主机。
在步骤709处,存储器控制器可以将第一读取电压设置为与目标存储器单元相对应的最佳读取电压。
作为步骤705处的确定结果,当对第一读取数据的纠错解码失败时(步骤705处的“否”),可以执行步骤711。
在步骤711处,存储器控制器可以生成第二读取命令,并将第二读取命令发送到存储器装置,使得对目标存储器单元执行第二读取操作。第二读取命令可以用于指示使用第一读取电压来执行第二读取操作。即,可以使用相同的读取电压来执行第一读取操作和第二读取操作。
在步骤713处,存储器控制器可以从存储器装置接收与第二读取操作相对应的第二读取数据。
在步骤715处,存储器控制器可以通过将第一读取数据与第二读取数据进行比较来计算反转单元的数目。例如,存储器控制器可以计算其位值从“0”改变为“1”的第一反转单元的数目、以及其位值从“1”改变为“0”的第二反转单元的数目。
在步骤717处,存储器控制器可以基于第一反转单元的数目和第二反转单元的数目来改变第一读取电压。当第一反转单元的数目大于第二反转单元的数目时,存储器控制器可以减小第一读取电压。当第一反转单元的数目小于第二反转单元的数目时,存储器控制器可以增加第一读取电压。当第一读取电压已改变时,过程可以返回到步骤701。在步骤701处,存储器控制器可以生成第一读取命令并将第一读取命令发送到存储器装置,使得对目标存储器单元执行使用经改变的第一读取电压的第一读取操作。
图8和图9是图示根据读取电压的反转单元的数目的图。
在图8中,图示了存储器单元的阈值电压分布PS以及第一读取数据和第二读取数据。存储器单元的阈值电压分布PS对应于预定的编程状态。第一读取数据和第二读取数据对应于使用读取电压Ra的两次读取操作。
参考图8,可以看出,其位值从“0”反转(改变)为“1”的第一反转单元的数目为4,并且其位值从“1”反转为“0”的第二反转单元的数目为2。即,第一反转单元的数目大于第二反转单元的数目。第一反转单元的数目大于第二反转单元的数目的事实可能意味着读取电压Ra低于阈值电压分布PS的平均阈值电压Vm(即,位于其左侧)。因此,当对与读取电压Ra相对应的第一读取数据的纠错解码失败时,可以确定要减小读取电压以便找到最佳读取电压。
在图9中,图示了存储器单元的阈值电压分布PS以及第一读取数据和第二读取数据。存储器单元的阈值电压分布PS对应于设定的编程状态。第一读取数据和第二读取数据对应于使用读取电压Rb的两次读取操作。
参考图9,可以看出,其位值从“0”反转(改变)为“1”的第一反转单元的数目为2,并且其位值从“1”反转为“0”的第二反转单元的数目为4。即,第一反转单元的数目小于第二反转单元的数目。第一反转单元的数目小于第二反转单元的数目的事实可能意味着读取电压Rb高于阈值电压分布PS的平均阈值电压Vm(即,位于其右侧)。因此,当对与读取电压Rb相对应的第一读取数据的纠错解码失败时,可以确定要增加读取电压以便找到最佳读取电压。
图10是图示了根据本公开的实施例的存储器装置的图。图10中所示的存储器装置可以应用于图1和图5所示的存储器系统。
参考图10,存储器装置2200可以包括控制逻辑2210、外围电路2220和存储器单元阵列2240。外围电路2220可以包括电压发生器2222、行解码器2224、输入和输出(输入/输出)电路2226、列解码器2228、页缓冲器组2232和电流感测电路2234。
控制逻辑2210可以在图1至图5所示的存储器控制器2100的控制下控制外围电路2220。
控制逻辑2210可以响应于通过输入/输出电路2226从存储器控制器2100接收的命令CMD和地址ADD来控制外围电路2220。例如,控制逻辑2210可以响应于命令CMD和地址ADD而输出操作信号OP_CMD、行地址RADD、列地址CADD、页缓冲器控制信号PBSIGNALS以及使能位VRY_BIT<#>。控制逻辑2210可以响应于从电流感测电路2234接收的通过信号PASS或失败信号FAIL来确定验证操作是通过还是失败。
外围电路2220可以执行将数据存储在存储器单元阵列2240中的编程操作、输出存储在存储器单元阵列2240中的数据的读取操作以及擦除存储在存储器单元阵列2240中的数据的擦除操作。
电压发生器2222可以响应于从控制逻辑2210接收的操作信号OP_CMD而生成用于编程、读取和擦除操作的各种操作电压Vop。例如,电压发生器2222可以将编程电压、验证电压、通过电压、读取电压、擦除电压和导通电压传送到行解码器2224。
行解码器2224可以响应于从控制逻辑2210接收的行地址RADD而将操作电压Vop传送到本地线LL,本地线LL耦合到从存储器单元阵列2240中的存储器块之中选择的存储器块。本地线LL可以包括本地字线、本地漏极选择线和本地源极选择线。另外,本地线LL可以包括耦合到存储器块的各种线(例如,源极线)。
输入/输出电路2226可以将通过输入/输出(IO)线从存储器控制器接收的命令CMD和地址ADD传送到控制逻辑2210,或者可以与列解码器2228交换数据。
列解码器2228可以响应于从控制逻辑2210接收的列地址CADD而在输入/输出电路2226和页缓冲器组2232之间传送数据。例如,列解码器2228可以通过数据线DL与页缓冲器PB1至PBm交换数据或者可以通过列线CL与输入/输出电路2226交换数据。
页缓冲器组2232可以耦合到与存储器块BLK1至BLKi共同耦合的位线BL1至BLm。页缓冲器组2232可以包括分别耦合到位线BL1至BLm的多个页缓冲器PB1至PBm。例如,一个页缓冲器可以耦合到每个位线。页缓冲器PB1至PBm可以响应于从控制逻辑2210接收的页缓冲器控制信号PBSIGNALS而操作。在编程操作期间,页缓冲器PB1至PBm可以临时存储从存储器控制器接收的编程数据,并且可以基于编程数据来控制施加到位线BL1至BLm的电压。在读取操作期间,页缓冲器PB1至PBm可以临时存储通过位线BL1至BLm接收的数据,或者可以感测位线BL1至BLm的电压或电流。
在读取操作或验证操作期间,电流感测电路2234可以响应于从控制逻辑2210接收的使能位VRY_BIT<#>而生成参考电流。此外,电流感测电路2234可以对由参考电流生成的参考电压与从页缓冲器组2232接收的感测电压VPB进行比较,以及然后输出通过信号PASS或失败信号FAIL。
存储器单元阵列2240可以包括其中存储有数据的多个存储器块BLK1至BLKi。在存储器块BLK1至BLKi中,可以存储用户数据和存储器装置2200的操作所需的各种类型的信息。存储器块BLK1至BLKi中的每一个可以实现为二维(2D)结构或三维(3D)结构,并且可以被相同配置。
图11是图示存储器块的图。
作为示例,存储器单元阵列可以包括多个存储器块,并且在图11中图示了多个存储器块中的任一存储器块BLKi。
在第一选择线和第二选择线之间彼此平行布置的多个字线可以耦合到存储器块BLKi。第一选择线可以是源极选择线SSL,并且第二选择线可以是漏极选择线DSL。详细地,存储器块BLKi可以包括耦合在位线BL1至BLm与源极线SL之间的多个串ST。位线BL1至BLm可以分别耦合到串ST,并且源极线SL可以公共地耦合到串ST。串ST中的每一个可以被相同配置,并且因此通过示例的方式详细描述了耦合到第一位线BL1的串ST。
串ST可以包括在源极线SL和第一位线BLl之间彼此串联耦合的源极选择晶体管SST、多个存储器单元F1至F16和漏极选择晶体管DST。单个串ST可以包括至少一个源极选择晶体管SST和至少一个漏极选择晶体管DST,并且还可以包括图中所示的多于16个的存储器单元(F1至F16)。
源极选择晶体管SST的源极可以耦合至源极线SL,并且漏极选择晶体管DST的漏极可以耦合至第一位线BLl。存储器单元F1至F16可以串联耦合在源极选择晶体管SST和漏极选择晶体管DST之间。包括在不同串ST中的源极选择晶体管SST的栅极可以耦合到源极选择线SSL,包括在不同串ST中的漏极选择晶体管DST的栅极可以耦合到漏极选择线DSL,并且存储器单元F1至F16的栅极可以分别耦合至多个字线WL1至WL16。在不同的串ST中包括的存储器单元之中、耦合到相同字线的存储器单元组可以被称为“物理页(PPG)”。因此,存储器块BLKi可以包括与字线WL1至WL16的数目相同数目的物理页PPG。
图12是图示了具有3D结构的存储器块的示例的图。
存储器单元阵列2240可以包括多个存储器块BLK1至BLKi。作为示例描述的第一存储器块BLK1可以包括多个串ST11至ST1m和ST21至ST2m。在一个实施例中,串ST11至ST1m和串ST21至ST2m中的每一个可以形成为“U”形。在第一存储器块BLK1中,m个串可以沿行方向(例如,X方向)布置。虽然在图12的实施例中图示了沿列方向(例如,Y方向)布置的两个串,但是该配置是为了清楚起见;在另一实施例中,可以在列方向(例如,Y方向)上布置三个或更多的串。
多个串ST11至ST1m和ST21至ST2m中的每一个可以包括至少一个源极选择晶体管SST、第一存储器单元MCl至第n存储器单元MCn、管道晶体管PT和至少一个漏极选择晶体管DST。
源极选择晶体管SST和漏极选择晶体管DST以及存储器单元MC1至MCn可以具有相似的结构。源极选择晶体管SST和漏极选择晶体管DST以及存储器单元MC1至MCn中的每一个可以包括沟道层、隧道绝缘层、电荷捕获层和阻挡绝缘层。可以在每个串中提供用于提供沟道层的导柱。可以在每个串中提供用于提供沟道层、隧道绝缘层、电荷捕获层或阻挡绝缘层中的至少一个的导柱。
每个串的源极选择晶体管SST可以耦合在源极线SL和存储器单元MC1至MCp之间。
在一个实施例中,布置在同一行中的串的源极选择晶体管可以耦合到在行方向上延伸的源极选择线,并且布置在不同行中的串的源极选择晶体管可以耦合到不同的源极选择线。在图12中,第一行中的串ST11至ST1m的源极选择晶体管可以耦合至第一源极选择线SSL1。第二行中的串ST21至ST2m的源极选择晶体管可以耦合至第二源极选择线SSL2。
在其他实施例中,串ST11至ST1m和ST21至ST2m的源极选择晶体管可以共同耦合到一个源极选择线。
每个串中的第一存储器单元MC1至第n存储器单元MCn可以耦合在源极选择晶体管SST和漏极选择晶体管DST之间。
第一存储器单元MC1至第n存储器单元MCn可以被划分为第一存储器单元MC1至第p存储器单元MCp和第(p+1)存储器单元MCp+1至第n存储器单元MCn。第一存储器单元MC1至第p存储器单元MCp可以在垂直方向(例如,Z方向)上顺序地布置,并且可以串联地耦合在源极选择晶体管SST和管道晶体管PT之间。第(p+1)存储器单元MCp+1至第n存储器单元MCn可以在垂直方向(例如,Z方向)上顺序地布置,并且可以串联耦合在管道晶体管PT和漏极选择晶体管DST之间。第一存储器单元MC1至第p存储器单元MCp和第(p+1)存储器单元MCp+1至第n存储器单元MCn可以通过管道晶体管PT彼此耦合。每个串中的第一存储器单元MC1至第n存储器单元MCn的栅极可以分别耦合至第一字线WL1至第n字线WLn。
在一个实施例中,第一存储器单元MC1至第n存储器单元MCn中的至少一个可以用作虚设存储器单元。当提供虚设存储器单元时,可以稳定地控制对应串的电压或电流。每个串的管道晶体管PT的栅极可以耦合到管线PL。
每个串的漏极选择晶体管DST可以耦合在对应的位线与存储器单元MCp+1至MCn之间。沿行方向布置的串可以耦合到沿行方向延伸的对应漏极选择线。第一行中的串ST11至ST1m的漏极选择晶体管可以耦合至漏极选择线DSL1。第二行中的串ST21至ST2m的漏极选择晶体管可以耦合至第二漏极选择线DSL2。
沿列方向布置的串可以耦合到沿列方向延伸的位线。在图12中,第一列中的串ST11和ST21可以耦合到第一位线BL1。第m列中的串ST1m和ST2m可以耦合到第m位线BLm。
在沿行方向布置的串之中,耦合到同一字线的存储器单元可以构成一个页。在第一行中的串ST11至ST1m之中、耦合到第一字线WL1的存储器单元可以构成一个页。在第二行中的串ST21至ST2m之中,耦合到第一字线WL1的存储器单元可以构成一个附加页。可以通过选择漏极选择线DSL1和DSL2中的任一个来选择沿一个行方向布置的串。通过选择字线WL1至WLn中的任一个,可以从所选择的串中选择一个页。
图13是图示了具有3D结构的存储器块的示例的图。
存储器单元阵列2240包括多个存储器块BLK1至BLKi。以示例的方式描述的第一存储器块BLK1可以包括多个串ST11’至ST1m’和ST21’至ST2m’。串ST11’至ST1m’和串ST21’至ST2m’中的每一个可以沿垂直方向(例如,Z方向)延伸。在存储器块BLKi中,m’个串可以沿行方向(例如,X方向)布置。虽然,在图13的实施例中,两个串被图示为沿列方向(例如,Y方向)布置,但这是为了清楚起见;在另一实施例中,可以在列方向(例如,Y方向)上布置三个或更多的串。
串ST11’至ST1m’和ST21’至ST2m’中的每一个可以包括至少一个源极选择晶体管SST、第一存储器单元MC1至第n存储器单元MCn和至少一个漏极选择晶体管DST。
每个串的源极选择晶体管SST可以耦合在源极线SL与存储器单元MC1至MCn之间。布置在同一行中的串的源极选择晶体管可以耦合到相同的源极选择线。布置在第一行中的串ST11’至ST1m’的源极选择晶体管可以耦合到第一源极选择线SSL1。布置在第二行中的串ST21’至ST2m’的源极选择晶体管可以耦合到第二源极选择线SSL2。在一个实施例中,串ST11’至ST1m’和ST21’至ST2m’的源极选择晶体管可以共同耦合到一个源极选择线。
每个串中的第一存储器单元MC1至第n存储器单元MCn可以串联耦合在源极选择晶体管SST和漏极选择晶体管DST之间。第一存储器单元MC1至第n存储器单元MCn的栅极可以分别耦合至第一字线WL1至第n字线WLn。
在一个实施例中,第一存储器单元MC1至第n存储器单元MCn中的至少一个可以用作虚设存储器单元。当提供虚设存储器单元时,可以稳定地控制对应串的电压或电流。从而,可以提高存储在第一存储器块BLK1中的数据的可靠性。
每个串的漏极选择晶体管DST可以耦合在对应的位线和存储器单元MC1至MCn之间。沿行方向布置的串的漏极选择晶体管DST可以耦合到沿行方向延伸的漏极选择线。第一行中的串ST11’至ST1m’的漏极选择晶体管DST可以耦合至第一漏极选择线DSL1。第二行中的串ST21’至ST2m’的漏极选择晶体管DST可以耦合到第二漏极选择线DSL2。
即,除了从每个串中排除管道晶体管PT之外,图13的第一存储器块BLK1的等效电路可以类似于图12的第一存储器块BLK1的等效电路。
图14是图示了包括图1至图5的存储器控制器的存储器系统30000的实施例的图。
参考图14,存储器系统30000可以被实现为蜂窝电话、智能电话、平板电脑、PC、个人数字助理(PDA)或无线通信装置。存储器系统30000可以包括存储器装置2200和能够控制存储器装置2200的操作的存储器控制器2100。
存储器控制器2100可以在处理器3100的控制下控制存储器装置2200的数据访问操作(例如,编程操作、擦除操作或读取操作)。
在存储器控制器2100的控制下,可以通过显示器3200输出在存储器装置2200中编程的数据。
无线电收发器3300可以通过天线ANT发送和接收无线电信号。例如,无线电收发器3300可以将通过天线ANT接收的无线电信号转换成可以由处理器3100处理的信号。因此,处理器3100可以对从无线电收发器3300输出的信号进行处理,并将经处理的信号发送至存储器控制器2100或显示器3200。存储器控制器2100可以将由处理器3100处理的信号发送到存储器装置2200。此外,无线电收发器3300可以将从处理器3100输出的信号转换为无线电信号,并通过天线ANT向外部装置输出无线电信号。输入装置3400可以用于输入用于控制处理器3100的操作的控制信号或待由处理器3100处理的数据。输入装置3400可以被实现为诸如触摸板或计算机鼠标的指示装置、小键盘或键盘。处理器3100可以控制显示器3200的操作,使得通过显示器3200输出从存储器控制器2100输出的数据、从无线电收发器3300输出的数据或从输入装置3400输出的数据。
在一个实施例中,能够控制存储器装置2200的操作的存储器控制器2100可以被实现为处理器3100的一部分或者被实现为与处理器3100分开提供的芯片。
图15是图示包括图1至图5的存储器控制器的存储器系统40000的实施例的图。
参考图15,存储器系统40000可以体现在个人计算机(PC)、平板电脑、上网本、电子阅读器、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器、或MP4播放器中。
存储器系统40000可以包括存储器装置2200和能够控制存储器装置2200的数据处理操作的存储器控制器2100。
处理器4100可以根据从输入装置4200输入的数据,通过显示器4300输出存储在存储器装置2200中的数据。例如,输入装置4200可以实现为诸如触摸板或计算机鼠标的指示装置、小键盘或键盘。
处理器4100可以控制存储器系统40000的整体操作并控制存储器控制器2100的操作。在一个实施例中,能够控制存储器装置2200的操作的存储器控制器2100可以被实现为处理器4100的一部分或与处理器4100分开提供的芯片。
图16是图示包括图1和图5的存储器控制器的存储器系统50000的实施例的图。
参考图16,存储器系统50000可以体现在图像处理装置中,例如,数码相机、配备有数码相机的便携式电话、配备有数码相机的智能手机或配备有数码相机的平板电脑。
存储器系统50000可包括存储器装置2200和能够控制存储器装置2200的数据处理操作(例如,编程操作、擦除操作或读取操作)的存储器控制器2100。
存储器系统50000的图像传感器5200可以将光学图像转换成数字信号。数字信号可以被发送到处理器5100或存储器控制器2100。在处理器5100的控制下,可以通过显示器5300输出数字信号,或者可以通过存储器控制器2100将数字信号存储在存储器装置2200中。可以在处理器5100或存储器控制器2100的控制下通过显示器5300输出存储器装置2200中存储的数据。
在一个实施例中,能够控制存储器装置2200的操作的存储器控制器2100可以被实现为处理器5100的一部分,或者被实现为与处理器5100分开提供的芯片。
图17是图示包括图1和图5的存储器控制器的存储器系统70000的实施例的图。
参考图17,存储器系统70000可以体现在存储器卡或智能卡中。存储器系统70000可以包括存储器装置2200、存储器控制器2100和卡接口7100。
存储器控制器2100可以控制存储器装置2200和卡接口7100之间的数据交换。在一个实施例中,卡接口7100可以是安全数字(SD)卡接口或多媒体卡(MMC)接口,但不限于此。
卡接口7100可以根据主机60000的协议在主机60000和存储器控制器2100之间对接数据交换。在一个实施例中,卡接口7100可以支持通用串行总线(USB)协议以及芯片间(IC)-USB协议。这里,卡接口7100可以指代能够支持由主机60000使用的协议的硬件、安装在硬件中的软件或信号传输方法。
当存储器系统70000连接到主机60000(例如,PC、平板电脑、数码相机、数字音频播放器、蜂窝电话、控制台视频游戏硬件或数字机顶盒框)的主机接口6200时,主机接口6200可以在微处理器(μP)6100的控制下,通过卡接口7100和存储器控制器2100,与存储器装置2200执行数据通信。
根据本公开的实施例,可以有效地执行用于确定最佳读取电压的读取操作。
虽然已结合各种实施例图示和描述了本发明,但是本发明不限于任何特定的(多个)实施例也不限于特定的细节。如本领域技术人员根据本公开将理解,在不脱离本发明的精神和范围的情况下,可以对任何公开的实施例进行各种修改。因此,本发明涵盖落入权利要求及其等同物的范围之内的所有这样的修改。
Claims (19)
1.一种存储器控制器,包括:
命令生成器,被配置为生成第一读取命令和第二读取命令,并且将所述第一读取命令和所述第二读取命令输出到存储器装置,使得使用第一读取电压来在所述存储器装置的目标存储器单元上执行相应的第一读取操作和第二读取操作;
计算器,被配置为响应于所述第一读取命令和所述第二读取命令而接收第一读取数据和第二读取数据,将所述第一读取数据与所述第二读取数据进行比较,以及基于比较操作的结果来计算第一反转单元的数目和第二反转单元的数目,所述第一反转单元中的每一个具有从所述第一读取数据中的第一位值反转为所述第二读取数据中的第二位值的位值,并且所述第二反转单元中的每一个具有从所述第一读取数据中的所述第二位值反转为所述第二读取数据中的所述第一位值的位值;以及
读取电压确定器,被配置为根据所述第一反转单元的数目和所述第二反转单元的数目来改变所述第一读取电压。
2.根据权利要求1所述的存储器控制器,其中所述读取电压确定器被配置为当确定所述第一反转单元的数目大于所述第二反转单元的数目时,减小所述第一读取电压。
3.根据权利要求1所述的存储器控制器,其中所述读取电压确定器被配置为当确定所述第一反转单元的数目小于所述第二反转单元的数目时,增加所述第一读取电压。
4.根据权利要求1所述的存储器控制器,其中所述读取电压确定器被配置为与所述第一反转单元的数目和所述第二反转单元的数目之间的差成比例地改变所述第一读取电压。
5.根据权利要求1所述的存储器控制器,其中所述读取电压确定器被配置为将所述第一读取电压改变设定值。
6.一种存储器控制器,包括:
纠错解码器,被配置为对与在目标存储器单元上执行的第一读取操作相对应的第一读取数据执行纠错解码;
命令生成器,被配置为当确定对所述第一读取数据执行的所述纠错解码失败时,生成读取命令并且将所述读取命令输出至存储器装置,使得使用与用于所述第一读取操作的第一读取电压相同的第二读取电压来对所述目标存储器单元执行第二读取操作操作;
计算器,被配置为响应于所述读取命令而接收第二读取数据,将所述第一读取数据与所述第二读取数据进行比较,以及基于比较操作的结果来计算第一反转单元的数目和第二反转单元的数目,所述第一反转单元中的每一个具有从所述第一读取数据中的第一位值反转为所述第二读取数据中的第二位值的位值,并且所述第二反转单元中的每一个具有从所述第一读取数据中的所述第二位值反转为所述第二读取数据中的所述第一位值的位值;以及
读取电压确定器,被配置为根据所述第一反转单元的数目和所述第二反转单元的数目来改变所述第一读取电压。
7.根据权利要求6所述的存储器控制器,其中所述命令生成器被配置为生成后续读取命令,并且将所述后续读取命令输出到所述存储器装置,使得使用改变后的第一读取电压来对所述目标存储器单元执行第三读取操作。
8.根据权利要求7所述的存储器控制器,其中:
所述纠错解码器被配置为对与所述第三读取操作相对应的所述第三读取数据执行所述纠错解码,并且
所述读取电压确定器被配置为当确定对所述第三读取数据执行的所述纠错解码通过时,将所述改变后的第一读取电压确定为与所述目标存储器单元相对应的最佳读取电压。
9.根据权利要求6所述的存储器控制器,其中所述读取电压确定器被配置为当确定所述第一反转单元的数目大于所述第二反转单元的数目时,减小所述第一读取电压。
10.根据权利要求6所述的存储器控制器,其中所述读取电压确定器被配置为当确定所述第一反转单元的所述数目小于所述第二反转单元的所述数目时,增加所述第一读取电压。
11.根据权利要求6所述的存储器控制器,其中所述读取电压确定器被配置为与所述第一反转单元的数目和所述第二反转单元的数目之间的差成比例地改变所述第一读取电压。
12.根据权利要求6所述的存储器控制器,其中所述读取电压确定器被配置为将所述第一读取电压改变设定值。
13.一种操作存储器控制器的方法,包括:
使用第一读取电压来接收与在目标存储器单元上执行的第一读取操作相对应的第一读取数据;
使用第二读取电压来接收与在所述目标存储器单元上执行的第二读取操作相对应的第二读取数据,其中所述第二读取电压与所述第一读取电压相同;
将所述第一读取数据与所述第二读取数据进行比较;
基于比较操作的结果来计算第一反转单元的数目和第二反转单元的数目,所述第一反转单元中的每一个具有从所述第一读取数据中的第一位值反转为所述第二读取数据中的第二位值的位值,并且所述第二反转单元中的每一个具有从所述第一读取数据中的所述第二位值反转为所述第二读取数据中的所述第一位值的位值;以及
根据所述第一反转单元的数目和所述第二反转单元的数目来改变所述第一读取电压。
14.根据权利要求13所述的方法,进一步包括:对所述第一读取数据执行纠错解码,
其中接收所述第二读取数据包括:当确定对所述第一读取数据执行的所述纠错解码失败时,接收所述第二读取数据。
15.根据权利要求13所述的方法,进一步包括:
接收与使用改变后的第一读取电压在所述目标存储器单元上执行的第三读取操作相对应的第三读取数据;
对所述第三读取数据进行纠错解码;以及
当确定对所述第三读取数据的所述纠错解码通过时,将所述改变后的第一读取电压确定为与所述目标存储器单元相对应的最佳读取电压。
16.根据权利要求13所述的方法,其中改变所述第一读取电压包括:当确定所述第一反转单元的数目大于所述第二反转单元的数目时,减小所述第一读取电压。
17.根据权利要求13所述的方法,其中改变所述第一读取电压包括:当确定所述第一反转单元的数目小于所述第二反转单元的数目时,增加所述第一读取电压。
18.根据权利要求13所述的方法,其中改变所述第一读取电压包括:与所述第一反转单元的数目和所述第二反转单元的数目之间的差成比例地改变所述第一读取电压。
19.根据权利要求13所述的方法,其中改变所述第一读取电压包括:将所述第一读取电压改变设定值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0051786 | 2019-05-02 | ||
KR1020190051786A KR20200127516A (ko) | 2019-05-02 | 2019-05-02 | 메모리 컨트롤러 및 이의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111883198A true CN111883198A (zh) | 2020-11-03 |
Family
ID=73017339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911170720.1A Pending CN111883198A (zh) | 2019-05-02 | 2019-11-26 | 存储器控制器及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10930356B2 (zh) |
KR (1) | KR20200127516A (zh) |
CN (1) | CN111883198A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230153198A1 (en) * | 2021-11-17 | 2023-05-18 | Macronix International Co., Ltd. | Determining read voltages for memory systems |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100287427A1 (en) * | 2007-12-27 | 2010-11-11 | Bumsoo Kim | Flash Memory Device and Flash Memory Programming Method Equalizing Wear-Level |
US20140063940A1 (en) * | 2012-09-06 | 2014-03-06 | Sandisk Technologies Inc. | On chip dynamic read level scan and error detection for nonvolatile storage |
CN103811070A (zh) * | 2012-11-15 | 2014-05-21 | 北京兆易创新科技股份有限公司 | 一种高可靠性NAND Flash的读取方法及其系统 |
US8924824B1 (en) * | 2013-03-12 | 2014-12-30 | Western Digital Technologies, Inc. | Soft-decision input generation for data storage systems |
CN107799149A (zh) * | 2016-08-29 | 2018-03-13 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
CN108573722A (zh) * | 2017-03-13 | 2018-09-25 | 三星电子株式会社 | 操作非易失性存储器件的方法和非易失性存储器件 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005116132A (ja) * | 2003-10-10 | 2005-04-28 | Toshiba Corp | 不揮発性半導体記憶装置 |
KR101586046B1 (ko) | 2009-05-26 | 2016-01-18 | 삼성전자주식회사 | 저장 장치 및 그것의 읽기 방법 |
KR101200125B1 (ko) | 2010-12-20 | 2012-11-12 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그 동작 방법 |
US8693258B2 (en) * | 2011-03-17 | 2014-04-08 | Densbits Technologies Ltd. | Obtaining soft information using a hard interface |
US8681569B2 (en) * | 2012-02-22 | 2014-03-25 | Silicon Motion, Inc. | Method for reading data stored in a flash memory according to a threshold voltage distribution and memory controller and system thereof |
US9471486B2 (en) * | 2014-07-07 | 2016-10-18 | Sandisk Technologies Llc | Reducing disturbances in memory cells |
JP2018037123A (ja) * | 2016-08-29 | 2018-03-08 | 東芝メモリ株式会社 | 半導体記憶装置及びメモリシステム |
KR102353363B1 (ko) * | 2017-08-14 | 2022-01-20 | 에스케이하이닉스 주식회사 | 메모리 시스템의 동작 방법 |
US10878920B2 (en) * | 2018-03-21 | 2020-12-29 | SK Hynix Inc. | Memory controller and memory system having the same |
KR20200014135A (ko) * | 2018-07-31 | 2020-02-10 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법 |
TWI725368B (zh) * | 2018-12-25 | 2021-04-21 | 群聯電子股份有限公司 | 解碼方法、記憶體控制電路單元以及記憶體儲存裝置 |
TWI691962B (zh) * | 2019-01-23 | 2020-04-21 | 群聯電子股份有限公司 | 解碼方法、記憶體控制電路單元與記憶體儲存裝置 |
-
2019
- 2019-05-02 KR KR1020190051786A patent/KR20200127516A/ko not_active Application Discontinuation
- 2019-11-04 US US16/673,646 patent/US10930356B2/en active Active
- 2019-11-26 CN CN201911170720.1A patent/CN111883198A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100287427A1 (en) * | 2007-12-27 | 2010-11-11 | Bumsoo Kim | Flash Memory Device and Flash Memory Programming Method Equalizing Wear-Level |
US20140063940A1 (en) * | 2012-09-06 | 2014-03-06 | Sandisk Technologies Inc. | On chip dynamic read level scan and error detection for nonvolatile storage |
CN103811070A (zh) * | 2012-11-15 | 2014-05-21 | 北京兆易创新科技股份有限公司 | 一种高可靠性NAND Flash的读取方法及其系统 |
US8924824B1 (en) * | 2013-03-12 | 2014-12-30 | Western Digital Technologies, Inc. | Soft-decision input generation for data storage systems |
CN107799149A (zh) * | 2016-08-29 | 2018-03-13 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
CN108573722A (zh) * | 2017-03-13 | 2018-09-25 | 三星电子株式会社 | 操作非易失性存储器件的方法和非易失性存储器件 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230153198A1 (en) * | 2021-11-17 | 2023-05-18 | Macronix International Co., Ltd. | Determining read voltages for memory systems |
US11663074B1 (en) * | 2021-11-17 | 2023-05-30 | Macronix International Co., Ltd. | Determining read voltages for memory systems |
Also Published As
Publication number | Publication date |
---|---|
KR20200127516A (ko) | 2020-11-11 |
US10930356B2 (en) | 2021-02-23 |
US20200350023A1 (en) | 2020-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101979734B1 (ko) | 메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법 | |
CN110299176B (zh) | 存储器控制器及具有该存储器控制器的存储器系统 | |
US10790034B2 (en) | Memory device generating status signal, memory system including the memory device, and method of operating memory device | |
KR20120030816A (ko) | 플래시 메모리 및 그것의 셀프 인터리빙 방법 | |
US10985780B2 (en) | Error correction circuit, and memory controller having the error correction circuit and memory system having the memory controller | |
CN111564173A (zh) | 存储器系统及其操作方法 | |
CN110413535B (zh) | 存储器控制器及存储器控制器的操作方法 | |
CN109949839B (zh) | 存储器控制器及存储器控制器的操作方法 | |
CN109979513B (zh) | 半导体存储器装置及其操作方法 | |
KR20190051570A (ko) | 메모리 시스템 및 그것의 동작 방법 | |
CN109388514B (zh) | 存储器系统及其操作方法 | |
CN111324300B (zh) | 控制器以及控制器的操作方法 | |
US20200042245A1 (en) | Memory system, memory controller, and operating method thereof | |
KR20200139044A (ko) | 메모리 컨트롤러 및 이의 동작 방법 | |
US10748642B2 (en) | Memory controller, method of operating the same and storage device including the memory controller | |
US10930356B2 (en) | Memory controller and method of operating the same | |
CN110858501B (zh) | 存储器系统以及存储器系统的操作方法 | |
US10937511B2 (en) | Semiconductor memory device, memory system including controller, and method of operating controller | |
US20200326887A1 (en) | Memory system, memory controller and operating method thereof | |
CN112346651A (zh) | 用于半导体存储器器件的控制器及其操作方法 | |
US20240118999A1 (en) | Decoding device for determining whether to decode data unit, and operating method thereof | |
US20240094952A1 (en) | System and storage device for executing read command using read recovery level and methods of operation | |
US20240143186A1 (en) | Storage device determining victim memory block for garbage collection or wear leveling, and method thereof | |
CN111916142B (zh) | 存储器控制器以及操作存储器控制器的方法 | |
US11093325B2 (en) | Controller, memory system including the same, and method of operating memory system |
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 |