CN112447238A - 存储器控制器及其操作方法 - Google Patents

存储器控制器及其操作方法 Download PDF

Info

Publication number
CN112447238A
CN112447238A CN201911414945.7A CN201911414945A CN112447238A CN 112447238 A CN112447238 A CN 112447238A CN 201911414945 A CN201911414945 A CN 201911414945A CN 112447238 A CN112447238 A CN 112447238A
Authority
CN
China
Prior art keywords
read
memory
cdp
voltage
memory device
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
Application number
CN201911414945.7A
Other languages
English (en)
Inventor
李载允
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN112447238A publication Critical patent/CN112447238A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital 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/5621Digital 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/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/30Power supply circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters

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)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

本公开涉及一种根据基于单元分布所计算的单元差值概率(CDP)来执行软解码并且控制存储器装置的存储器控制器。一种控制存储器装置的存储器控制器,该存储器控制器包括:错误校正器,被配置成校正从存储器装置接收的读取数据中的错误;命令生成器,被配置成响应于错误校正器的错误校正操作失败,输出单元分布检测命令,以检测存储器装置中包括的存储器单元的阈值电压分布;以及读取电压控制器,被配置成基于存储器装置响应于单元分布检测命令而提供的单元分布检测数据,确定待在存储器装置中执行的读取操作的读取电压的数量以及读取电压之中的相邻读取电压之间的间隔。

Description

存储器控制器及其操作方法
相关申请的交叉引用
本申请要求于2019年9月3日提交的申请号为10-2019-0109123的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
本公开总体涉及一种电子装置,且更特别地,涉及一种用于存储器装置的存储器控制器及其操作方法。
背景技术
存储装置是被配置成在诸如计算机、智能电话或智能平板的主机装置的控制下存储数据的装置。存储装置可包括诸如硬盘驱动器(HDD)的被配置成将数据存储在磁盘上的装置,以及诸如固态驱动器(SSD)或存储卡的被配置成将数据存储在半导体存储器,即非易失性存储器上的装置。
存储装置可包括被配置成存储数据的基于半导体的存储器装置(在下文中,简称存储器装置),以及被配置成控制存储器装置的存储器控制器。存储器装置可分为易失性存储器装置和非易失性存储器装置。非易失性存储器装置包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、铁电RAM(FRAM)等。
发明内容
本发明的各个实施例提供了一种执行软解码操作的存储器控制器。该软解码操作可包括基于单元分布来计算单元差值概率(cell difference probability)。本发明的各个实施例还提供了一种包括存储器控制器的存储装置的操作方法。
根据本公开的一个方面,提供了一种控制存储器装置的存储器控制器,该存储器控制器包括:错误校正器,被配置成校正从存储器装置接收的读取数据中的错误;命令生成器,被配置成响应于错误校正器的错误校正操作失败,输出单元分布检测命令,以检测存储器装置中包括的存储器单元的阈值电压分布;以及读取电压控制器,被配置成基于存储器装置响应于单元分布检测命令而提供的单元分布检测数据,确定待在存储器装置中执行的读取操作的读取电压的数量以及读取电压之中的相邻读取电压之间的间隔。
根据本公开的另一方面,提供了一种操作控制存储器装置的存储器控制器的方法,该方法包括:校正从存储器装置接收的读取数据的错误;响应于错误校正器的错误校正操作失败,输出单元分布检测命令,以检测存储器装置中包括的存储器单元的阈值电压分布;并且基于存储器装置响应于单元分布检测命令而提供的单元分布检测数据,确定待在存储器装置中执行的读取操作的读取电压的数量以及读取电压之中相邻读取电压之间的间隔。
根据本公开的另一方面,提供了一种控制存储器装置的控制器的操作方法,该操作方法包括:控制存储器装置,以通过使用参考读取电压来从存储器装置读取数据;并且控制存储器装置,以通过使用基于单元差值概率(CDP)和CDP之中的相邻CDP之间的变化而确定的实际读取电压来从存储器装置读取数据,其中对应于参考读取电压之中的被选择参考读取电压的CDP由以下等式提供:CDP={A–(B*C)}/B,其中A代表由于被选择参考读取电压而被接通的存储器单元的实际数量,其中B代表属于理想阈值电压分布中的每一个的存储器单元的参考数量;并且其中C代表由于被选择参考读取电压而将被接通的一个或多个存储器单元所属于的阈值电压分布的预测数量。
附图说明
现在将在下文中参照附图更全面地描述本发明的示例实施例;然而,我们注意到,本发明可以不同的其它实施例及其变型来实现,并且不应被解释为仅限于本文阐述的实施例。相反,提供这些实施例以使本公开彻底且完整,并且将示例实施例的范围全面地传达给本领域的技术人员。
应当理解的是,附图是所描述装置的简化示意图,并且可能不包括公知的细节以避免模糊本发明的特征,并且为了说明清楚,可放大尺寸。
还应当注意的是,在不脱离本发明的范围的情况下,一个实施例中存在的特征可与另一实施例的一个或多个特征一起使用。
将理解的是,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。相同的附图标记始终表示相同的元件。
图1是示出根据本发明的实施例的包括存储器控制器和存储器装置的存储装置的框图。
图2是示出根据本发明的实施例的图1所示的存储器装置的结构的示图。
图3是示出根据本发明的实施例的存储块的示图。
图4是示出根据本发明的实施例的输出软读取命令的进程的示图。
图5A和图5B示出根据本发明的实施例的对应于单元分布检测命令的操作。
图6A和图6B示出根据本发明的实施例的对应于单元分布检测命令的读取电压和单元分布检测数据。
图7A和图7B示出根据本发明的实施例的单元差值概率(CDP)。
图8是示出根据本发明的实施例的读取电压控制器基于单元分布数据生成读取电压信息的操作的示图。
图9是示出当CDP变化基本恒定时所确定的读取电压的实施例的示图。
图10是示出根据本发明的实施例的当CDP变化基本恒定时所确定的读取电压的另一实施例的示图。
图11是示出根据本发明的实施例的当CDP变化基本不恒定时所确定的读取电压的实施例的示图。
图12是示出根据本发明的实施例的存储器控制器的操作的示图。
图13是示出根据本发明的实施例的存储器控制器的操作的示图。
图14是示出根据本发明的实施例的存储器控制器的操作的示图。
图15是示出图1所示的存储器控制器的另一实施例的示图。
图16是示出根据本发明的实施例的应用了存储装置的存储卡系统的框图。
图17是示出根据本发明的实施例的应用了存储装置的固态驱动器(SSD)系统的框图。
图18是示出根据本发明的实施例的应用存储装置的用户系统的框图。
具体实施方式
本文公开的具体结构或功能描述仅是说明性的,以用于描述根据本公开的技术方案的实施例的目的。根据本公开的技术方案的实施例可以各种形式实施,并且不能被解释为限于本文阐述的实施例。
在下文中,将参照附图详细地描述本公开的实施例,以使本领域技术人员能够容易地实施本公开的技术方案。
图1是示出存储装置50的框图。
参照图1,存储装置50可联接到主机300,并且可包括存储器装置100和存储器控制器200。
存储装置50可在主机300的控制下存储数据。主机300可以是包括例如移动电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视机、平板电脑或车载信息娱乐系统的任意合适的电子装置。
根据作为与主机300的通信方案的主机接口,存储装置50可被制造成各种类型的存储装置中的任意一种。例如,存储装置50可利用诸如以下的各种类型的存储装置中的任意一种来实施:固态驱动器(SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、缩小尺寸的MMC(RS-MMC)、微型-MMC(微型-MMC)、安全数字(SD)卡、迷你-SD卡、微型-SD卡、通用串行总线(USB)存储装置、通用闪存(UFS)装置、紧凑式闪存(CF)卡、智能媒体卡(SMC)、记忆棒等。
存储装置50可被制造成各种种类的封装类型中的任意一种。例如,存储装置50可被制造在诸如以下的各种种类的封装类型中的任意一种中:堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)以及晶圆级堆叠封装(WSP)。
存储器装置100可存储数据。存储器装置100可在存储器控制器200的控制下操作。存储器装置100可包括存储器单元阵列,该存储器单元阵列包括用于存储数据的多个存储器单元。存储器单元阵列可包括多个存储块。每个存储块可包括多个存储器单元,并且多个存储器单元可构成多个页面。在实施例中,页面可以是用于将数据存储在存储器装置100中或读取存储器装置100中存储的数据的单位。存储块可以是用于擦除数据的单位。
在实施例中,存储器装置100可以是:双倍数据速率同步动态随机存取存储器(DDRSDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移力矩随机存取存储器(STT-RAM)等。在下面的描述中,将更详细地描述存储器装置100是NAND闪速存储器的示例。
在实施例中,存储器装置100可被实施为二维阵列结构或三维阵列结构。在下文中,作为实施例描述存储器装置100以三维阵列结构实施的情况,然而本发明不限于三维阵列结构。此外,应当注意,本发明不仅可应用于其中电荷存储层配置有浮栅(FG)的闪速存储器装置,而且可应用于其中电荷存储层配置有绝缘层的电荷撷取闪存(CTF)。
在实施例中,存储器装置100可使用一个存储器单元中存储一个数据位的单层单元(SLC)方案来操作。可选地,存储器装置100可使用一个存储器单元中存储至少两个数据位的方案来操作。例如,存储器装置100可使用一个存储器单元中存储两个或多个数据位的多层单元(MLC)方案来操作。一个存储器单元中存储三个数据位的方案可被称为三层单元(TLC)方案。一个存储器单元中存储四个数据位的方案可被称为四层单元(QLC)方案。
存储器装置100被配置成从存储器控制器200接收命令和地址,并且访问存储器单元阵列中的由地该址选择的区域。也就是说,存储器装置100可对由地址选择的区域执行对应于命令的操作。例如,存储器装置100可根据所接收的命令来执行写入(编程)操作、读取操作或擦除操作。例如,当接收到编程命令时,存储器装置100可将数据编程在由地址选择的区域中。当接收到读取命令时,存储器装置100可从由地址选择的区域读取数据。当接收到擦除命令时,存储器装置100可擦除由地址选择的区域中存储的数据。
存储器控制器200可向存储器装置100传送经随机化数据。经随机化数据可通过对从主机300接收的数据进行编码来形成。存储器控制器200可向主机300输出通过对从存储器装置100读取的数据进行解码而去随机化的数据。而且,存储器控制器200可包括错误校正器210。该错误校正器可校正从存储器装置100接收的数据中的数据错误。
例如,当存储器控制器200从主机300接收读取请求时,存储器控制器200可向存储器装置100输出基于读取请求而生成的读取命令,并且从存储器装置100接收对应于该读取命令的读取数据。然而,读取数据中可能包括在读取进程期间造成的或由于例如数据保持问题的一些原因而导致的相应存储器单元劣化而造成的错误。
错误校正器210可执行错误校正操作,以便校正读取数据中包括的错误。例如,错误校正器210可通过使用诸如博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码或低密度奇偶校验(LDPC)码的错误校正码来校正数据错误。
然而,在一些情况下,虽然错误校正器210已执行了错误校正操作,但错误可能未被校正。因此,在这种情况下,错误校正器210可生成代表错误尚未被校正的错误信息。因此,存储器控制器200可基于该错误信息来执行用于校正错误的附加操作。例如,存储器控制器200可向存储器装置100输出读取重试命令,该读取重试命令指示存储器装置100使用经修改的读取电压来读取数据,并且存储器装置100可使用该经修改的读取电压来执行读取操作。
存储器控制器200可包括命令生成器220。命令生成器220可生成与从主机300接收的请求相对应的命令或与存储器控制器200的内部操作相对应的命令。当存储器装置100从命令生成器200接收命令时,存储器装置100可执行对应于该命令的操作。
例如,当命令生成器220从主机300接收到读取请求时,命令生成器220可生成读取命令并将所生成的读取命令输出到存储器装置100,以便执行对应于该读取请求的读取操作。而且,在读取操作失败之后,基于从读取电压控制器230接收的读取电压信息,命令生成器220可输出软读取命令。软读取命令可以是指示存储器装置100基于由读取电压控制器230确定的读取电压来执行读取操作的命令。
在实施例中,命令生成器220可基于从错误校正器210接收的错误信息来输出单元分布检测命令。单元分布检测命令可以是用于检测存储器装置100中包括的存储器单元的阈值电压分布的命令。例如,在存储器装置100执行对应于单元分布检测命令的读取操作之后,存储器装置100可向存储器控制器200输出与被接通的存储器单元的数量相对应的信息。
存储器控制器200可包括读取电压控制器230。读取电压控制器230可接收对应于单元分布检测命令的单元分布检测数据,并且基于该单元分布检测数据来确定读取电压。
具体地,读取电压控制器230可基于单元分布检测数据来计算读取数据的单元差值概率(CDP)。CDP代表通过执行读取操作所获得的读取数据的可靠性。读取数据的可靠性可随着CDP变小而变高。基于该CDP,读取电压控制器230可计算所计算的CDP变化。基于CDP变化,读取电压控制器230可通过预测相邻阈值电压分布的斜率来确定读取电压。也就是说,可预测相邻阈值电压彼此重叠的区段处的斜率,并且可基于预测斜率来确定读取电压。
例如,当CDP变化基本恒定时,读取电压控制器230可根据CDP的幅值来确定实际读取电压之中的相邻读取电压之间的间隔以及实际读取电压的数量。相反,当CDP变化不是基本恒定时,读取电压控制器230可根据预测斜率来确定实际读取电压之中的相邻读取电压之间的间隔以及实际读取电压的数量。
存储器控制器200可控制存储装置50的全部操作。
当向存储装置50供应电源电压时,存储器控制器200可运行固件(FW)。当存储器装置100为闪速存储器装置时,存储器控制器200可运行诸如FTL(闪存转换层)的FW,以控制主机300和存储器装置100之间的通信。
在实施例中,存储器控制器200可从主机300接收数据和逻辑块地址(LBA),并且将LBA转换为物理块地址(PBA),该物理块地址(PBA)表示包括在存储器装置100中的、待存储数据的存储器单元的地址。而且,存储器控制器200可在缓冲存储器中存储逻辑-物理地址映射表,该逻辑-物理地址映射表在LBA和PBA之间建立映射关系。
存储器控制器200可响应于来自主机300的请求,控制存储器装置100执行编程操作、读取操作、擦除操作等。例如,当从主机300接收到编程请求时,存储器控制器200可将编程请求改变为编程命令,并且向存储器装置100提供编程命令、PBA和数据。当从主机300接收到读取请求和LBA时,存储器控制器200可将读取请求改变为读取命令,选择对应于LBA的PBA,然后向存储器装置100提供读取命令和PBA。当从主机300接收到擦除请求和LBA时,存储器控制器200可将擦除请求改变为擦除命令,选择对应于LBA的PBA,然后向存储器装置100提供擦除命令和PBA。
在实施例中,存储器控制器200可在没有来自主机300的任何请求的情况下自主生成编程命令、地址和数据,并且将编程命令、地址和数据传送到存储器装置100。例如,存储器控制器200可向存储器装置100提供命令、地址和数据以执行后台操作,诸如用于损耗均衡的编程操作和用于垃圾收集的编程操作。
在实施例中,存储装置50可进一步包括缓冲存储器(未示出)。存储器控制器200可控制主机300和缓冲存储器之间的数据交换。存储器控制器200可将用于控制存储器装置100的系统数据临时存储在缓冲存储器中。例如,存储器控制器200可将从主机300输入的数据临时存储在缓冲存储器中,然后将临时存储在缓冲存储器中的数据传输到存储器装置100。
在各个实施例中,缓冲存储器可用作存储器控制器200的工作存储器或高速缓存存储器。缓冲存储器可存储由存储器控制器200运行的代码或命令。可选地,缓冲存储器可存储由存储器控制器200处理的数据。
在实施例中,缓冲存储器可利用诸如双倍数据速率同步DRAM(DDR SDRAM)、DDR4SDRAM、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)或Rambus动态随机存取存储器(RDRAM)的动态随机存取存储器(DRAM)来实施或利用静态随机存取存储器(SRAM)来实施。
在各个实施例中,缓冲存储器可位于存储装置50的外部,并且可经由有线或无线方式联接到存储装置50。例如,在存储装置50外部联接到该存储装置50的一个或多个易失性存储器(未示出)装置可执行缓冲存储器的功能。
存储器装置100可包括一个或多个存储器装置。例如,存储器控制器200可控制至少两个存储器装置100。存储器控制器200可根据交错(interleave)方案控制至少两个存储器装置100,以便提高操作性能。
主机300可使用诸如以下的各种通信方式中的至少一种来与存储装置50通信:通用串行总线(USB)、串行AT附件(SATA)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、火线、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)以及低负载DIMM(LRDIMM)。
图2是示出图1所示的存储器装置的结构示例的示图。
参照图2,存储器装置100可包括存储器单元阵列110、外围电路120和控制逻辑130。
存储器单元阵列110可包括多个存储块BLK1至BLKz。多个存储块BLK1至BLKz可通过行线RL联接到行解码器121。多个存储块BLK1至BLKz可通过位线BL1至BLn联接到页面缓冲器组123。多个存储块BLK1至BLKz中的每一个可包括多个存储器单元。在实施例中,多个存储器单元可以是非易失性存储器单元。联接到相同字线的存储器单元可被定义为一个页面。因此,一个存储块可包括多个页面。
行线RL可包括至少一个源极选择线、多个字线和至少一个漏极选择线。
存储器单元阵列110中包括的存储器单元中的每一个可被配置成存储一个数据位的单层单元(SLC)或存储两个或更多个数据位的多层单元(MLC),诸如存储两个数据位的两层单元或存储三个数据位的三层单元(TLC)或存储四个数据位的四层单元(QLC)。
外围电路120可在控制逻辑130的控制下对存储器单元阵列110中所选择的区域执行编程操作、读取操作或擦除操作。外围电路120可驱动存储器单元阵列110。例如,外围电路120可在控制逻辑130的控制下将各种操作电压施加到行线RL和位线BL1至BLn或者放电所施加的电压。
外围电路120可包括行解码器121、电压生成器122、页面缓冲器组123、列解码器124、输入/输出电路125及感测电路126。
行解码器121通过行线RL联接到存储器单元阵列110。行线RL可包括至少一个源极选择线、多个字线和至少一个漏极选择线。在实施例中,字线可包括普通字线和虚设字线。在实施例中,行线RL可进一步包括管道选择线。
行解码器121可对从控制逻辑130接收的行地址RADD进行解码。行解码器121可根据经解码的地址来在存储块BLK1至BLKz之中选择至少一个存储块。而且行解码器121可根据经解码的地址,选择所选择的存储块的至少一个字线,以将由电压生成器122生成的电压施加到该至少一个字线WL。
例如,在编程操作中,行解码器121可将编程电压施加到所选择字线并将电平低于编程电压的电平的编程通过电压施加到未选择字线。在编程验证操作中,行解码器121可将验证电压施加到所选择的字线并将具有高于验证电压的电平的验证通过电压施加到未选择字线。
在读取操作中,行解码器121可将读取电压施加到所选择字线并将具有高于读取电压的电平的读取通过电压施加到未选择字线。
在实施例中,以存储块为单位来执行对存储器装置100的擦除操作。在擦除操作中,行解码器121可根据经解码的地址来选择一个存储块。在擦除操作中,行解码器121可将接地电压施加到与所选择存储块联接的字线。
电压生成器122可在控制逻辑130的控制下操作。电压生成器122可通过使用供应给存储器装置100的外部电源电压来生成多个电压。具体地,电压生成器可响应于操作信号OPSIG而生成在编程操作、读取操作和擦除操作中使用的各种操作电压Vop。例如,在控制逻辑130的控制下,电压生成器122可生成编程电压、验证电压、通过电压、读取电压、擦除电压等。
在实施例中,电压生成器122可通过调节外部电源电压来生成内部电源电压。通过电压生成器122生成的内部电源电压可用作存储器装置100的操作电压。
在实施例中,电压生成器122使用外部电源电压或内部电源电压来生成多个电压。
例如,电压生成器122可包括用于接收内部电源电压的多个泵浦(pumping)电容器,并且可在控制逻辑130的控制下通过选择性地启用多个泵浦电容器来生成多个电压。
多个所生成的电压可通过行解码器121供应到存储器单元阵列110。
页面缓冲器组123可包括第一至第n页面缓冲器PB1至PBn。第一至第n页面缓冲器PB1至PBn可通过第一至第n位线BL1至BLn分别联接到存储器单元阵列110。第一至第n位线BL1至BLn可在控制逻辑130的控制下操作。具体地,第一至第n位线BL1至BLn可响应于页面缓冲器控制信号PBSIGNALS而操作。例如,在读取操作或验证操作中,第一至第n页面缓冲器PB1至PBn可临时存储通过第一至第n位线BL1至BLn接收的数据,或者感测位线BL1至BLn的电压或电流。
具体地,在编程操作中,当编程电压被施加到所选择的字线时,第一至第n页面缓冲器PB1至PBn可通过第一至第n位线BL1至BLn将通过输入/输出电路125接收到的数据DATA传送到所选择的存储器单元。根据所传送的数据DATA,可对所选择页面的存储器单元进行编程。在编程验证操作中,第一至第n页面缓冲器PB1至PBn可通过感测通过第一至第n位线BL1至BLn从所选择的存储器单元接收的电压或电流来读取页面数据。
在读取操作中,第一至第n页面缓冲器PB1至PBn可通过第一至第n位线BL1至BLn从所选择的页面的存储器单元读取数据DATA,并且在列解码器124的控制下将读取的数据DATA输出到输入/输出电路125。
在擦除操作中,第一至第n页面缓冲器PB1至PBn可使第一至第n位线BL1至BLn浮置(float)或者施加擦除电压。
列解码器124可响应于列地址CADD而在输入/输出电路125和页面缓冲器组123之间通信数据。例如,列解码器124可通过数据线EL与第一至第n页面缓冲器PB1至PBn通信数据,或者通过列线CL与输入/输出电路125通信数据。
输入/输出电路125可将从存储器控制器200接收的命令CMD和地址ADDR传送到控制逻辑130,或者与列解码器124交换数据DATA。
在读取操作或验证操作中,感测电路125可响应于允许位VRYBIT信号生成参考电流,并且通过将从页面缓冲器组123接收的感测电压VPB与由参考电流产生的参考电压进行比较来输出通过或失败信号PASS/FAIL。
控制逻辑130可响应于命令CMD和地址ADDR,通过输出操作信号OPSIG、行地址RADD、页面缓冲器控制信号PBSIGNALS和允许位VRYBIT来控制外围电路120。例如,控制逻辑130可响应于子块读取命令和地址来控制对所选择的存储块的读取操作。而且,控制逻辑130可响应于子块擦除命令和地址来控制对所选择的存储块中包括的所选择的子块的擦除操作。而且,控制逻辑130可响应于通过或失败信号PASS或FAIL来确定验证操作已通过还是已失败。
存储器单元阵列110中包括的存储器单元中的每一个可根据所存储的数据而被编程为多个编程状态中的任意一个编程状态。根据存储器单元中存储的数据,可将存储器单元的目标编程状态确定为多个编程状态中的任意一个。
图3是示出存储块的示图。
参照图2和图3,图3是示出图2所示的存储器单元阵列110中包括的多个存储块BLK1至BLKz之中的任意一个存储块BLKa的电路图。
在存储块BLKa中,平行布置的第一选择线、字线和第二选择线可彼此联接。例如,字线可平行布置在第一和第二选择线之间。第一选择线可以是源极选择线SSL,第二选择线可以是漏极选择线DSL。
更具体地,存储块BLKa可包括联接在位线BL1至BLn与源极线SL之间的多个串。位线BL1至BLn可分别联接到串,并且源极线SL可共同联接到串。串可被配置成彼此相同,因此,将作为示例详细描述联接到第一位线BL1的串ST。
该串ST可包括可彼此串联联接在源极线SL和第一位线BL1之间的源极选择晶体管SST、多个存储器单元F1至F16以及漏极选择晶体管DST。一个串ST可包括至少一个源极选择晶体管SST和至少一个漏极选择晶体管DST,并且一个串ST可包括数量大于附图所示的存储器单元F1至F16的数量的存储器单元。
源极选择晶体管SST的源极可联接到源极线SL,并且漏极选择晶体管DST的漏极可联接到第一位线BL1。存储器单元F1至F16可串联联接在源极选择晶体管SST和漏极选择晶体管DST之间。不同串中包括的源极选择晶体管SST的栅极可联接到源极选择线SSL,并且不同串中包括的漏极选择晶体管DST的栅极可联接到漏极选择线DSL。存储器单元F1至F16的栅极可联接到多个字线WL1至WL16。不同串中包括的存储器单元之中的、联接到相同字线的存储器单元组可被称为物理页面PPG。因此,存储块BLKa中可包括对应于字线WL1至WL16的数量的物理页面。
一个存储器单元可存储一位数据。通常将该存储器单元称为单层单元(SLC)。一个物理页面PG可存储一个逻辑页面(LPG)数据。一个LPG数据可包括数量对应于一个物理页面PPG中包括的单元的数量的数据位。可选地,一个存储器单元MC可存储两位或更多位数据。通常将该存储器单元称为多层单元(MLC)。一个物理页面PPG可存储两个或更多个LPG数据。
此外,已开发了存储多位数据的存储器单元,并且本实施例可应用于包括存储两位或更多位数据的存储器单元的存储器系统。
在另一实施例中,多个存储块中的每一个可具有三维结构。每个存储块可包括堆叠在衬底上的多个存储器单元。多个存储器单元可沿+X、+Y和+Z方向布置。
图4是示出输出软读取命令的进程的示图。
参照图4,图4所示的存储器控制器200可包括错误校正器210、命令生成器220和读取电压控制器230。
在实施例中,命令生成器220可基于从主机300接收的读取请求READ_REQ来生成读取命令READ_CMD,并且将所生成的读取命令READ_CMD输出到存储器装置100。存储器装置100可接收读取命令READ_CMD以执行对应于该读取命令READ_CMD的读取操作。存储器装置100可向错误校正器210输出作为通过执行读取操作而读取的数据的读取数据READ_DATA。
在实施例中,错误校正器210可校正从存储器装置100接收的读取数据READ_DATA的错误。
在实施例中,在读取进程期间或由于保持而导致的劣化,读取数据READ_DATA中可能包括错误。因此,为了校正读取数据READ_DATA中包括的错误,错误校正器210可通过使用诸如博斯-查德胡里-霍昆格姆(BCH)码或低密度奇偶校验(LDPC)码的代码来执行错误校正操作。
然而,当通过错误校正器210的错误校正操作未能校正错误时,错误校正器210可生成错误信息ERR_INF,并且将所生成的错误信息ERR_INF输出到命令生成器220。错误信息ERR_INF可代表读取数据READ_DATA中包括的错误尚未被校正。在实施例中,基于错误信息ERR_INF,可执行存储器控制器200的附加操作以校正读取数据READ_DATA的错误。
当命令生成器220从错误校正器210接收错误信息ERR_INF时,命令生成器220可生成单元分布检测命令CDS_CMD,并且将所生成的单元分布检测命令CDS_CMD输出到存储器装置100。单元分布检测命令CDS_CMD可指示存储器装置100执行用于检测存储器装置100中包括的存储器单元的阈值电压分布的操作。
例如,在存储器装置100通过接收单元分布检测命令CDS_CMD,使用预定读取电压执行读取操作之后,存储器装置100可向读取电压控制器230输出单元分布检测数据CDS_DATA,该单元分布检测数据CDS_DATA包括关于被接通的存储器单元的数量的信息。读取电压控制器230可通过从存储器装置100接收的单元分布检测数据CDS_DATA来预测阈值电压分布。
具体地,因为存储器装置100在编程操作中编程经随机化数据,所以对应于各个编程状态的存储器单元的数量可能基本相同。例如,当存储器装置100通过使用多层单元(MLC)方案(例如,两层单元方案)来执行编程操作时,可对经随机化数据进行编程,使得擦除状态、第一编程状态、第二编程状态和第三编程状态的存储器单元可均匀分布。即使当存储器装置100通过使用三层单元(TLC)方案或四层单元(QLC)方案执行编程操作时,也可以相同的方式进行应用。
因此,因为编程了经随机化数据,所以当使用预定参考读取电压(例如,图5A所示的参考读取电压RS1至RS3)执行读取操作时,可预先预测被接通的存储器单元的数量。
然而,虽然已使用预定参考读取电压执行了读取操作,但被接通的存储器单元的数量可能不同于所预测的存储器单元的数量。因此,基于这种不同,可预测存储器单元的阈值电压分布已被改变。
在本发明的实施例中,为了校正读取数据READ_DATA中包括的错误,读取电压控制器230可基于从存储器装置100接收的单元分布检测数据CDS_DATA来计算单元差值概率(CDP),并且基于CDP变化来确定相邻阈值电压分布的斜率。基于相邻阈值电压分布的斜率,读取电压控制器230可向命令生成器220输出用于确定实际读取电压之中的相邻读取电压之间的间隔以及实际读取电压的数量的读取电压信息RV_INF。
具体地,如果阈值电压分布较窄,则相邻阈值电压分布的斜率可能具有相对较大的值。当相邻阈值电压分布的斜率具有相对较大的值时,读取电压控制器230可将实际读取电压之中的相邻读取电压之间的间隔设置为较小。当阈值电压分布被形成为相对较窄时,阈值电压分布的斜率可能较陡。也就是说,当相邻阈值电压分布的斜率较陡时,可预测到相对于存储器单元的阈值电压,存储器单元的数量快速改变,因此必须将实际读取电压之中的相邻读取电压之间的间隔设置为较小。也就是说,必须更详尽地执行读取操作,即更详细地执行读取操作。
因此,当相邻阈值电压分布的斜率较陡时,读取电压控制器230可向命令生成器220输出读取电压信息RV_INF,以用于允许使用其间具有较小间隔的读取电压来执行读取操作。
相反,如果阈值电压分布较宽,则相邻阈值电压分布的斜率可具有相对较小的值。当相邻阈值电压分布的斜率具有相对较小的值时,读取电压控制器230可将实际读取电压之中的相邻读取电压之间的间隔设置为较大。当阈值电压分布被形成为相对较宽时,阈值电压分布的斜率可能是适中的。也就是说,当相邻阈值电压分布的斜率适中或较小时,可预测到相对于存储器单元的阈值电压,存储器单元的数量的变化较小,因此可将实际读取电压之中的相邻读取电压之间的间隔设置为较大。
因此,当相邻阈值电压分布的斜率具有相对较小的值时,读取电压控制器230可向命令生成器220输出读取电压信息RV_INF,使得使用其间具有较大间隔的读取电压来执行读取操作。
在读取电压控制器230基于单元分布检测数据CDS_DATA确定了待执行的读取操作所利用的读取电压之后,读取电压控制器230可生成包括关于读取电压的信息的读取电压信息RV_INF。随后,读取电压控制器230可向命令生成器220输出该读取电压信息RV_INF。
命令生成器220可向存储器装置100输出软读取命令SR_CMD,使得使用根据读取电压信息RV_INF生成的读取电压来执行读取操作。存储器装置100可使用对应于软读取命令SR_CMD而确定的读取电压来执行读取操作。
图5A是示出对应于单元分布检测命令的操作的示图。
图5A示出存储器单元的阈值电压分布和执行对应于单元分布检测命令的读取操作的进程,图5B示出根据单元分布检测命令而被接通的存储器单元的数量。
参照图5A,图5A的横轴代表阈值电压的大小Vth,并且图5A的纵轴代表存储器单元的数量。图5A示出当存储器装置通过使用多层单元(MLC)方案(例如,两层单元方案)来执行编程操作时存储器单元的阈值电压分布。在另一实施例中,即使当存储器装置通过使用三层单元(TLC)方案或四层单元(QLC)方案执行编程操作时,也可应用附图中描述的操作。
如图5A所示,因为存储器装置100对经随机化数据进行编程,所以存储器装置可执行编程操作,使得对应于擦除状态E和第1至第3编程状态P1至P3的存储器单元的数量均匀分布。
然而,在读取进程期间或者因为由保持等而导致的劣化,阈值电压分布可能被改变。图5A示出由于保持导致的劣化而改变的阈值电压分布。也就是说,由于保持导致的劣化,第1编程状态P1的阈值电压分布可能被改变为第1'编程状态P1'的阈值电压分布,第2编程状态P2的阈值电压分布可能被改变为第2'编程状态P2'的阈值电压分布,并且第3编程状态P3的阈值电压分布可能被改变为第3'编程状态P3'的阈值电压分布。
由于阈值电压分布中的这种改变,从存储器装置100读取的读取数据中可能包括错误,并且存储器控制器200可执行错误校正操作以校正读取数据中包括的错误。然而,当即使存储器控制器200已执行了错误校正操作也未能校正错误时,存储器控制器200可向存储器装置100输出单元分布检测命令,以用于检测被改变的阈值电压分布。
存储器装置100可通过接收单元分布检测命令,使用电压RS1至RS3来执行读取操作。电压RS1至RS3可以是当存储器装置100中包括的存储器单元具有理想阈值电压分布时,用于将擦除状态E与第1编程状态P1彼此区分开、将第1编程状态P1与第2编程状态P2彼此区分开以及将第2编程状态P2与第3编程状态P3彼此区分开的读取电压。例如,RS1可以是第一读取电压,RS2可以是第二读取电压,并且RS3可以是第三读取电压。因此,假设已编程经随机化数据,当存储器装置100中包括的存储器单元具有理想阈值电压分布时,可预先预测当使用电压RS1至RS3执行读取操作时被接通的存储器单元的数量。
参照图5A,当与擦除状态E以及第1至第3编程状态P1至P3中的每一个相对应的存储器单元的数量为1000时,存储器装置100中包括的存储器单元可具有理想阈值电压分布。因此,可以预测当存储器装置100通过使用参考读取电压RS1执行读取操作时,被接通的存储器单元的实际数量ONES为1000,当存储器装置100通过使用参考读取电压RS2执行读取操作时,被接通的存储器单元的实际数量ONES为2000,并且当存储器装置100通过使用参考读取电压RS3执行读取操作时,被接通的存储器单元的实际数量ONES为3000。
然而,当存储器单元的阈值电压分布已改变时,当使用电压RS1至RS3执行读取操作时,被接通的存储器单元的实际数量可能不同于预测数量。
图5B示出在存储器单元的阈值电压分布已改变的状态下,当使用电压RS1至RS3执行读取操作时被接通的存储器单元的数量ONES。
具体地,当存储器单元的阈值电压分布具有理想的阈值电压分布时,当存储器装置100通过使用参考读取电压RS1来执行读取操作时被接通的存储器单元的数量为1000,当存储器装置100通过使用参考读取电压RS2来执行读取操作时被接通的存储器单元的数量为2000,并且当存储器装置100通过使用参考读取电压RS3来执行读取操作时被接通的存储器单元的数量为3000。然而,被接通的存储器单元的数量可能随着阈值电压分布的改变而改变。
例如,因为第1和第2编程状态P1和P2中的每一个的阈值电压分布的变化较小,所以当使用电压RS1和RS2执行读取操作时被接通的存储器单元的数量ONES等于如预测的1000和2000个被接通的存储器单元。然而,因为与作为最高编程状态的第3编程状态P3相对应的阈值电压分布的改变较大,所以当使用参考读取电压RS3执行读取操作时被接通的存储器单元的实际数量ONES为3100,这不同于预测数量3000。在这种情况下,可基于被接通的存储器单元的实际数量来执行错误校正操作。
在实施例中,存储器控制器200可接收对应于单元分布检测命令的单元分布检测数据。单元分布检测数据可包括关于当使用每个读取电压执行读取操作时被接通的存储器单元的数量的信息。也就是说,单元分布检测数据可包括代表以下的信息:当使用参考读取电压RS1来执行读取操作时被接通的存储器单元的数量是1000、当使用参考读取电压RS2来执行读取操作时被接通的存储器单元的数量是2000以及当使用参考读取电压RS3来执行读取操作时被接通的存储器单元的数量是3100。
存储器控制器200可基于单元分布检测数据来确定最佳读取电压。例如,因为当使用电压RS2和RS3执行读取操作时被接通的存储器单元的数量之间的差值是“1100”,所以存储器控制器200可将当使用电压RS2和RS3执行读取操作时被接通的存储器单元的数量之间的预测差值是“1000”的读取电压确定为最佳读取电压。因为当使用电压RS1和RS2执行读取操作时被接通的存储器单元的数量之间的差值是“1000”,所以存储器控制器200可将电压RS1和RS2确定为最佳读取电压。
然而,因为根据通过使用预定读取电压来执行读取操作所获得的结果,来确定基于单元分布检测数据而确定的最佳读取电压,所以即使当使用最佳读取电压和与该最佳读取电压相邻的电压执行读取操作时,读取操作也可能失败。因此,为了确定更准确的读取电压,如参照图7详细描述的,计算单元差值概率(CDP)。
图6A是示出对应于单元分布检测命令的读取电压和单元分布检测数据的示图。
图6A示出由于保持导致的劣化而改变的阈值电压分布以及对应于单元分布检测命令的读取电压。图6B示出当使用对应于单元分布检测命令的读取电压来执行读取操作时被接通的存储器单元的数量。在图6A和图6B中,假设与擦除状态E以及第1至第3编程状态P1至P3中的每一个相对应的存储器单元的数量为1000的情况。
图6A示出当存储器装置100通过使用多层单元(MLC)方案来执行编程操作时,与第2编程状态P2和第3编程状态P3相对应的存储器单元的阈值电压分布。图6A的横轴代表阈值电压的大小Vth,并且图6A的纵轴代表存储器单元的数量。图6A示出由于保持导致的劣化而改变的、与第2编程状态P2和第3编程状态P3相对应的存储器单元的阈值电压分布。
图6A示出当存储器装置100执行对应于从存储器控制器200接收的读取命令的读取操作时,由于读取数据中包括的错误未被校正而发生读取失败之后,在对应于单元分布检测命令的操作中使用的读取电压。
在实施例中,存储器装置100可基于从存储器控制器200接收的单元分布检测命令来执行读取操作。例如,可使用用于区分理想阈值电压分布中的擦除状态和编程状态的读取电压来执行读取操作。在图6A中,当存储器单元具有理想阈值电压分布时,参考读取电压RS33可以是用于将第2和第3编程状态P2和P3彼此区分的读取电压。因此,存储器装置100可对应于单元分布检测命令,通过不仅使用参考读取电压RS33,而且使用与该参考读取电压RS33间隔开基本恒定间隔的参考读取电压RS31、RS32、RS34和RS35来执行读取操作。
例如,存储器装置100可通过使用比参考读取电压RS33低2N的参考读取电压RS31、比参考读取电压RS33低N的参考读取电压RS32、比参考读取电压RS33高N的参考读取电压RS34以及比参考读取电压RS33高2N的参考读取电压RS35来执行读取操作。
存储器装置100可向存储器控制器输出单元分布检测数据,该单元分布检测数据包括关于根据基于每个电压执行的读取操作而被接通的存储器单元的数量的信息。
图6B示出当使用电压RS31至RS35来执行读取操作时被接通的存储器单元的数量ONES。因为当使用RS31至RS35执行读取操作时,与擦除状态E和第1编程状态P1相对应的存储器单元被接通,所以当使用RS31至RS35执行读取操作时被接通的存储器单元的数量可大于2000。
参照图6B,当使用参考读取电压RS31来执行读取操作时被接通的存储器单元的实际数量ONES可以是2600,当使用参考读取电压RS32来执行读取操作时被接通的存储器单元的实际数量ONES可以是2800,当使用参考读取电压RS33来执行读取操作时被接通的存储器单元的实际数量ONES可以是2900,当使用参考读取电压RS34来执行读取操作时被接通的存储器单元的实际数量ONES可以是3100,并且当使用参考读取电压RS35来执行读取操作时被接通的存储器单元的实际数量ONES可以是3500。
通常,基于通过单元分布检测命令而接收的单元分布检测数据来确定最佳读取电压。
然而,因为在未考虑相邻阈值电压分布的斜率,即第2'编程状态P2'和第3'编程状态P3'彼此重叠的区段的斜率的情况下确定最佳读取电压,所以即使当使用最佳读取电压执行读取操作时,读取操作也可能失败。
因此,在本公开的实施例中,提出了一种基于单元分布检测数据来计算单元差值概率(CDP)并且基于CDP来确定读取电压的方法。
图7A示出基于单元分布检测数据来计算CDP的等式,并且图7B示出基于图6B所计算的CDP。在图7中,假设在理想阈值电压分布中,每个阈值电压分布中包括的存储器单元的数量是1000。
在实施例中,存储器控制器200中包括的读取电压控制器230可基于从存储器装置100接收的单元分布检测数据来计算CDP。CDP可代表通过执行读取操作而获得的结果的可靠性。例如,较小的CDP可表示将在读取数据中发生错误的概率较小,并且较大的CDP可表示将在读取数据中发生错误的概率较大。
参照图7A,与参考读取电压(例如,参考读取电压RS31至RS35)之中的被选择参考读取电压相对应的CDP可以是通过以下计算而获得的值:从由于被选择参考读取电压而被接通的存储器单元的实际数量ONES中减去通过将属于理想阈值电压分布中的每一个的存储器单元的参考数量NOC与由于被选择参考读取电压而将被接通的一个或多个存储器单元所属于的阈值电压分布的预测数量Pi相乘所获得的值,然后将经减去的值除以属于理想阈值电压分布中的每一个的存储器单元的参考数量NOC。
例如,在图7B中,因为由于参考电压RS31而被接通的存储器单元的实际数量ONES是2600,所以对应于参考电压RS31的CDP可以是-0.4,这是通过以下计算获得的:从由于被选择参考读取电压而被接通的存储器单元的实际数量ONES(2600)中减去通过将属于理想阈值电压分布中的每一个的存储器单元的参考数量NOC与由于参考电压RS31而将被接通的一个或多个存储器单元所属于的阈值电压分布的预测数量Pi相乘所获得的值(1000*3=3000)(2600-3000=-400),然后将该经减去的值(-400)除以属于理想阈值电压分布中的每一个的存储器单元的参考数量NOC(1000)。
而且,在图7B中,因为由于参考电压RS32而被接通的存储器单元的实际数量ONES是2800,所以对应于参考电压RS32的CDP可以是-0.2,这是通过以下计算获得的:从由于被选择参考读取电压而被接通的存储器单元的实际数量ONES(2800)中减去通过将属于理想阈值电压分布中的每一个的存储器单元的参考数量NOC与由于该参考电压RS32而将被接通的一个或多个存储器单元所属于的阈值电压分布的预测数量Pi相乘所获得的值(1000*3=3000)(2800-3000=-200),然后将该经减去的值(-200)除以属于理想阈值电压分布中的每一个的存储器单元的参考数量NOC(1000)。
而且,在图7B中,因为由于参考电压RS33而被接通的存储器单元的实际数量ONES是2900,所以对应于参考电压RS33的CDP可以是-0.1,这是通过以下计算获得的:从由于被选择参考读取电压而被接通的存储器单元的实际数量ONES(2900)中减去通过将属于理想阈值电压分布中的每一个的存储器单元的参考数量NOC与由于参考电压RS33而将被接通的一个或多个存储器单元所属于的阈值电压分布的预测数量Pi相乘所获得的值(1000*3=3000)(2900-3000=-100),然后将该经减去的值(-100)除以属于理想阈值电压分布中的每一个的存储器单元的参考数量NOC(1000)。
而且,在图7B中,因为由于参考电压RS34而被接通的存储器单元的实际数量ONES是3100,所以对应于参考电压RS34的CDP可以是0.1,这是通过以下计算获得的:从由于被选择参考读取电压而被接通的存储器单元的实际数量ONES(3100)中减去通过将属于理想阈值电压分布中的每一个的存储器单元的参考数量NOC与由于参考电压RS34而将被接通的一个或多个存储器单元所属于的阈值电压分布的预测数量Pi相乘所获得的值(1000*3=3000)(3100-3000=100),然后将该经减去的值(100)除以属于理想阈值电压分布中的每一个的存储器单元的参考数量NOC(1000)。
而且,在图7B中,因为由于参考电压RS35而被接通的存储器单元的实际数量ONES是3500,所以对应于参考电压RS35的CDP可以是0.5,这是通过以下计算获得的:从由于被选择参考读取电压而被接通的存储器单元的实际数量ONES(3500)中减去通过将属于理想阈值电压分布中的每一个的存储器单元的参考数量NOC与由于参考电压RS35而将被接通的一个或多个存储器单元所属于的阈值电压分布的预测数量Pi相乘所获得的值(1000*3=3000)(3500-3000=500),然后将该经减去的值(500)除以属于理想阈值电压分布中的每一个的存储器单元的参考数量NOC(1000)。
因此,可以看到当使用用于区分第2和第3编程状态P2和P3的读取电压之中的、具有最小CDP的参考读取电压RS33或RS34执行读取操作时,所读取的数据将发生错误的概率最小。
当以这种方式计算CDP时,读取电压控制器230可基于这些CDP来计算CDP变化。例如,参考读取电压RS31和RS32之间的CDP变化可被计算为0.2,参考读取电压RS32和RS33之间的CDP变化可被计算为0.1,参考读取电压RS33和RS34之间的CDP变化可被计算为0.2,并且参考读取电压RS34和RS35之间的CDP变化可被计算为0.4。
读取电压控制器230可基于CDP变化来确定相邻阈值电压分布的斜率。也就是说,可以看到,CDP变化较大的参考读取电压RS33和RS34之间的存储器单元的数量快速增加或减少。因此,在存储器单元的数量快速增加或减少的区段,必须更详尽地执行读取操作,即更详细地执行读取操作。
读取电压控制器230可将参考读取电压RS33和RS34之间的将执行读取操作的实际读取电压之中的相邻读取电压之间的间隔设置为较小。
相反,当CDP变化较小时,读取电压控制器230可将待执行读取操作的实际读取电压之中的相邻读取电压之间的间隔设置为较大。
将参照图8更详细地描述读取电压控制器230的操作。
图8是示出读取电压控制器基于单元分布数据生成读取电压信息的操作的示图。
参照图4和图8,将更详细地描述读取电压控制器(图4所示的230)的操作。图8所示的读取电压控制器230可包括单元差值概率(CDP)计算器231和读取电压确定器233。
在实施例中,CDP计算器231可从存储器装置100接收单元分布检测数据CDS_DATA。单元分布检测数据CDS_DATA可包括关于在执行对应于单元分布检测命令的读取操作之后被接通的存储器单元的数量的信息。
CDP计算器231可基于所接收的单元分布检测数据CDS_DATA来计算CDP。CDP可代表读取数据中将发生错误的概率。在实施例中,在读取数据中将发生错误的概率可随着CDP变小而变小,并且在读取数据中将发生错误的概率可随着CDP变大而变大。
CDP计算器231可向读取电压确定器233输出包括关于CDP的信息的CDP信息CDP_INF。
读取电压确定器233可基于从CDP计算器231接收的CDP信息CDP_INF来计算CDP变化。
在实施例中,当CDP变化较大时,在对应于相应CDP的读取电压之间,存储器单元的数量可能快速减少或增加。因此,读取电压控制器230可通过将对应于CDP的实际读取电压之中的相邻读取电压之间的间隔设置为较小来选择读取电压。
相反,当CDP变化较小时,存储器单元的数量可能不会在对应于相应CDP的读取电压之间快速改变。因此,读取电压控制器230可通过将对应于CDP的实际读取电压之中的相邻读取电压之间的间隔设置为较大来选择读取电压。
在实施例中,当CDP变化较大时,存储器单元的数量可能在对应于相应CDP的读取电压之间快速减少或增加,因此必须通过使用大量的实际读取电压来执行读取操作。因此,当CDP变化较大时,与当CDP变化较小时的读取电压的数量相比,读取电压控制器230可选择数量相对更多的读取电压。
读取电压确定器233可向命令生成器220输出包括关于所选择的读取电压的信息的读取电压信息RV_INF。命令生成器220可向存储器装置100输出软读取命令,使得使用由读取电压确定器233选择的读取电压来执行读取操作。
图9是示出当CDP变化基本恒定时所确定的读取电压的实施例的示图。
图9示出与由于保持导致的劣化而改变的第2和第3编程状态P2和P3相对应的存储器单元的阈值电压分布以及由读取电压控制器230选择的读取电压。图9的横轴代表阈值电压的大小Vth,并且图9的纵轴代表存储器单元的数量。
图9示出在接收到作为通过执行对应于单元分布检测命令的操作而获得的结果的单元分布检测数据之后确定的读取电压。
在实施例中,作为当读取电压控制器230基于从存储器装置100接收的单元分布检测数据来计算CDP时所获得的结果,CDP变化可能基本恒定。因为CDP变化基本恒定,所以可确定对应于第2'和第3'编程状态P2'和P3'的存储器单元的阈值电压分布彼此重叠的区段处的斜率基本相同。因此,读取电压控制器230可选择实际读取电压之中的相邻读取电压之间具有基本相同间隔的实际读取电压。
具体地,在理想阈值电压分布中,用于将第2和第3编程状态P2和P3彼此区分的实际读取电压RP可以是RP33。因此,读取电压控制器230可选择比实际读取电压RP33低2Q的实际读取电压RP31、比实际读取电压RP33低Q的实际读取电压RP32、比实际读取电压RP33高Q的实际读取电压RP34以及比实际读取电压RP33高2Q的实际读取电压RP35。当读取电压控制器230选择读取电压时,存储器装置100可通过使用所选择的读取电压来执行读取操作。
因此,当CDP变化基本恒定时,可选择其间具有基本恒定间隔的实际读取电压,并且可使用该实际读取电压来执行读取操作。
然而,因为必须基于CDP的幅值来调整实际读取电压之中的相邻读取电压之间的间隔,所以可根据CDP的幅值来选择读取电压。将参照图10更详细地描述基于CDP的幅值而确定的读取电压之间的间隔。
图10是示出当CDP变化基本恒定时确定的读取电压的另一实施例的示图。
参照图10,类似于图9,图10示出与由于保持导致的劣化而改变的第2和第3编程状态P2和P3相对应的存储器单元的阈值电压分布以及由读取电压控制器230选择的读取电压。图10的横轴代表阈值电压的大小Vth,并且图10的纵轴代表存储器单元的数量。
图10示出在接收到作为通过执行对应于单元分布检测命令的操作而获得的结果的单元分布检测数据之后确定的读取电压。
在实施例中,作为当读取电压控制器230基于从存储器装置100接收的单元分布检测数据来计算CDP时所获得的结果,CDP变化可基本恒定。因为CDP变化基本恒定,所以可确定对应于第2'和第3'编程状态P2'和P3'的存储器单元的阈值电压分布彼此重叠的区段具有基本相同的斜率。因此,读取电压控制器230可选择实际读取电压之中的相邻读取电压之间具有基本相同间隔的实际读取电压。
然而,与图9所示的存储器单元的阈值电压分布不同,图10所示的存储器单元的阈值电压分布在第2'编程状态P2'和第3'编程状态P3'彼此重叠的区段处,可能具有快速变化的斜率。也就是说,虽然CDP变化基本恒定,但在第2'编程状态P2'和第3'编程状态P3'彼此重叠的区段,存储器单元的数量变化较大,因此CDP的幅值可能较大。因此,相比于当CDP的幅值较小时的间隔,读取电压控制器230可将实际读取电压之中的相邻读取电压之间的间隔设置为更小。
参照图10,在理想阈值电压分布中,用于将第2和第3编程状态P2和P3彼此区分的实际读取电压可以是RP33。读取电压控制器230可将小于值Q的值P设置为实际读取电压之中的相邻读取电压之间的间隔,其中值Q为图9所示的实际读取电压之中的相邻读取电压之间的间隔。
因此,读取电压控制器230可选择比实际读取电压RP33低2P的实际读取电压RP31、比实际读取电压RP33低P的实际读取电压RP32、比实际读取电压RP33高P的实际读取电压RP34以及比实际读取电压RP33高2P的实际读取电压RP35。当读取电压控制器230选择读取电压时,存储器装置100可通过使用所选择的读取电压来执行读取操作。
因此,当CDP的幅值较大时,即使CDP变化基本恒定,与当CDP的幅值较小时相比,也可选择其间具有较小间隔的读取电压,并且可使用所选择的读取电压来执行读取操作。
在另一实施例中,在第2'编程状态P2'和第3'编程状态P3'彼此重叠的区段处的阈值电压分布的斜率可能更平缓地改变。也就是说,虽然CDP变化基本恒定,但在第2'编程状态P2'和第3'编程状态P3'彼此重叠的区段,存储器单元的数量变化较小,因此CDP的幅值可能较小。相比于当CDP的幅值较大时的间隔,读取电压控制器230可将实际读取电压之中的相邻读取电压之间的间隔设置为更大。
图11是示出当CDP变化不是基本恒定时确定的读取电压的实施例的示图。
参照图9至图11,类似于图9和图10,图11示出与由于保持导致的劣化而改变的第2和第3编程状态P2和P3相对应的存储器单元的阈值电压分布以及由读取电压确定器选择的读取电压。图11所示的横轴代表阈值电压的大小Vth,并且图11所示的纵轴代表存储器单元的数量。在图11中,假设以下情况:实际读取电压RP33是用于将理想阈值电压分布中的第2和第3编程状态P2和P3彼此区分的读取电压,其中由保持导致的劣化未被反映到理想阈值电压分布中。
图11示出在接收到作为通过执行对应于单元分布检测命令的操作而获得的结果的单元分布检测数据之后确定的读取电压。
在实施例中,作为当读取电压控制器230基于从存储器装置100接收的单元分布检测数据来计算CDP时所获得的结果,CDP变化可能不是基本恒定。因为CDP变化不是基本恒定,所以可确定对应于第2'和第3'编程状态P2'和P3'的存储器单元的阈值电压分布彼此重叠的区段处的斜率彼此不同。因此,读取电压控制器230可基于对应于第2'和第3'编程状态P2'和P3'的存储器单元的阈值电压分布彼此重叠的区段处的斜率,来确定实际读取电压之中的相邻读取电压之间的间隔以及实际读取电压的数量。
参照图11,基于CDP变化,可确定在对应于第2'和第3'编程状态P2'和P3'的存储器单元的阈值电压分布彼此重叠的区段处,在实际读取电压RP33左侧的斜率适中或较小,并且在实际读取电压RP33右侧的斜率较陡。也就是说,可确定在CDP变化较小的区段处的斜率适中或较小,并且在CDP变化较大的区段处的斜率较陡。
当CDP变化较大时,读取电压控制器230可将实际读取电压之中的相邻读取电压之间的间隔设置为较小,并且相比于当CDP变化较小时的读取电压,选择比更多数量的实际读取电压。例如,读取电压控制器230可选择比实际读取电压RP33低3P的实际读取电压RP30、比实际读取电压RP33低2P的实际读取电压RP31以及比实际读取电压RP33低P的实际读取电压RP32。
相反,当CDP变化较小时,读取电压控制器230可将实际读取电压之中的相邻读取电压之间的间隔设置为较大,并且相比于当CDP变化较大时的读取电压,选择更少数量的实际读取电压。例如,读取电压控制器230可将大于P的Q设置为实际读取电压之中的相邻读取电压之间的间隔,并且选择比实际读取电压RP33大Q的实际读取电压RP34和比实际读取电压RP33大2Q的实际读取电压RP35。
因此,当CDP变化不是基本恒定时,可基于CDP变化来预测阈值电压分布彼此重叠的区段处的斜率。另外,当预测斜率较陡时,读取电压控制器230可基于预测斜率来将实际读取电压之中的相邻读取电压之间的间隔设置为较小,并且将实际读取电压的数量设置为较大。当预测斜率适中或较小时,读取电压控制器230可基于预测斜率来将实际读取电压之中的相邻读取电压之间的间隔设置为较大,并且将实际读取电压的数量设置为较小。
图12是示出根据本发明的实施例的存储器控制器的操作的示图。
参照图12,在步骤S1201中,存储器控制器可向存储器装置输出单元分布检测命令。单元分布检测命令是当从存储器装置接收的读取数据的错误未被校正时输出的命令,并且可以是用于检测存储器装置中包括的存储器单元的阈值电压分布的命令。
在实施例中,存储器装置可执行对应于单元分布检测命令的操作。也就是说,在存储器装置基于单元分布检测命令,通过使用用于区分擦除状态和编程状态的读取电压来执行读取操作之后,存储器装置可输出单元分布检测数据,该单元分布检测数据包括关于当使用每个读取电压执行读取操作时被接通的存储器单元的数量的信息。存储器控制器可从存储器装置接收单元分布检测数据(S1203)。
当存储器控制器从存储器装置接收单元分布检测数据时,存储器控制器可计算单元差值概率(CDP)(S1205)。CDP代表通过执行读取操作所获得的结果的可靠性,并且可表示读取数据的可靠性随着CDP变小而变大。
随后,存储器控制器可基于CDP,通过计算CDP变化来确定读取电压(S1207)。例如,当CDP变化基本恒定时,存储器控制器可基于CDP的幅值,来确定实际读取电压之中的相邻读取电压之间的间隔以及实际读取电压的数量。当CDP变化不是基本恒定时,存储器控制器可基于CDP变化来预测阈值电压分布彼此重叠的区段处的斜率,并且基于该预测斜率来确定实际读取电压之中的相邻读取电压之间的间隔以及实际读取电压的数量。
图13是示出根据本发明的实施例的存储器控制器的操作的示图。
参照图12和图13,图13是详细示出步骤S1207的流程图。
在步骤S1301中,存储器控制器可基于单元差值概率(CDP)来计算CDP变化ZCDP变化可基本恒定,或者也可不是基本恒定。
在实施例中,当CDP变化基本恒定时,存储器控制器可基于CDP的幅值来确定读取电压(S1305)。
具体地,当CDP变化基本恒定时,存储器控制器可预测阈值电压分布彼此重叠的区段处的斜率基本相同。因此,存储器控制器可选择其间具有基本恒定间隔的实际读取电压。当CDP大于参考值时,存储器控制器可选择其间具有较小间隔的读取电压。相反,当CDP小于参考值时,存储器控制器可选择其间具有较大间隔的读取电压。
在实施例中,当CDP变化不是基本恒定时,存储器控制器可基于CDP变化来预测相邻阈值电压分布的斜率(S1307)。也就是说,存储器控制器可预测阈值电压分布彼此重叠的区段处的斜率。
具体地,当CDP变化较大时,可预测到阈值电压分布彼此重叠的区段处的斜率较陡。因此,存储器控制器可选择其间具有较小间隔的读取电压。当CDP变化较大时,相比于当CDP变化较小时的读取电压的数量,存储器控制器可选择更多数量的实际读取电压(S1309)。
相反,当CDP变化较小时,可预测到阈值电压分布彼此重叠的区段处的斜率适中或较小。因此,存储器控制器可选择其间具有较大间隔的读取电压。当CDP变化较小时,相比于当CDP变化较大时的读取电压的数量,存储器控制器可选择更少数量的实际读取电压(S1309)。
在实施例中,当预测到阈值电压分布彼此重叠的区段处的斜率比参考斜率更陡时,可将实际读取电压之中的相邻读取电压之间的间隔确定为小于参考值。并且,当预测到阈值电压分布彼此重叠的区段处的斜率小于参考斜率时,可将实际读取电压之中的相邻读取电压之间的间隔确定为大于参考值。
图14是示出根据本发明的实施例的存储器控制器的操作的示图。
参照图13和图14,图14是详细示出步骤S1309的流程图。
在步骤S1401中,存储器控制器可基于阈值电压分布的预测斜率,来确定阈值电压分布之间的重叠区段内的斜率是否较陡。
当阈值电压分布之间的重叠区段内的斜率较陡时,存储器控制器可选择其间具有较小间隔的读取电压(S1403)。所选择的读取电压的数量可大于当阈值电压分布彼此重叠的区段处的斜率为适中或较小时的读取电压的数量。
当阈值电压分布彼此重叠的区段处的斜率不陡而是适中或较小时,存储器控制器可选择其间具有较大间隔的读取电压(S1405)。所选择的读取电压的数量可小于当阈值电压分布之间的重叠区段内的斜率为较陡时的读取电压的数量。
图15是示出图1所示的存储器控制器的另一实施例的示图。
参照图15,存储器控制器1000连接到主机和存储器装置。存储器控制器1000被配置成响应于从主机接收的请求来访问存储器装置。例如,存储器控制器1000被配置成控制存储器装置的读取操作、编程操作、擦除操作和后台操作。存储器控制器1000被配置成提供存储器装置与主机之间的接口。存储器控制器1000被配置成驱动用于控制存储器装置的固件。
存储器控制器1000可包括处理器1010、存储器缓冲器1020、错误校正码(ECC)电路210、主机接口1040、缓冲器控制电路1050、存储器接口1060和总线1070。在实施例中,ECC电路210可执行与图1和图4所示的错误校正器相同的操作。
总线1070可被配置成提供存储器控制器1000的组件之间的通道。
处理器1010可控制存储器控制器1000的全部操作,并且执行逻辑操作。处理器1010可通过主机接口1040与外部主机通信,并且通过存储器接口1060与存储器装置通信。而且,处理器1010可通过缓冲器控制电路1050与存储器缓冲器1020通信。处理器1010可使用存储器缓冲器1020作为工作存储器、高速缓存存储器或缓冲存储器来控制存储装置的操作。
处理器1010可执行闪存转换层(FTL)的功能。处理器1010可通过FTL将由主机提供的逻辑块地址(LBA)转换成物理块地址(PBA)。FTL可接收待使用映射表而被转换为PBA的LBA。根据映射单位,存在数个FTL地址映射方法。代表性的地址映射方法可包括页面映射方法、块映射方法和混合映射方法。
处理器1010被配置成使从主机接收的数据随机化。例如,处理器1010可使用随机化种子来使从主机接收的数据随机化。将经随机化数据作为待存储的数据提供到存储器装置,以被编程在存储器单元阵列中。
处理器1010可通过驱动软件或固件来执行随机化和去随机化。
存储器缓冲器1020可用作处理器1010的工作存储器、高速缓存存储器或缓冲存储器。存储器缓冲器1020可存储由处理器1010运行的代码和命令。存储器缓冲器1020可包括静态RAM(SRAM)或动态RAM(DRAM)。
ECC电路210可执行ECC操作。ECC电路210可对待通过存储器接口1060被写入存储器装置中的数据执行ECC编码。经ECC编码的数据可通过存储器接口1060而传输到存储器装置。ECC电路210可对通过存储器接口1060从存储器装置接收的数据执行ECC解码。在示例中,ECC电路210可作为存储器接口1060的组件而包括在存储器接口1060中。
在本公开中,当ECC电路210的错误校正失败时,ECC电路210可从存储器装置100接收用于预测存储器单元的阈值电压分布的数据,并且通过预测阈值电压分布来选择读取电压。
具体地,ECC电路210可接收关于通过使用用于区分存储器单元的理想阈值电压分布中的编程状态的读取电压来执行读取操作而被接通的存储器单元的数量的信息。ECC电路210可基于被接通的存储器单元的数量来预测存储器单元的阈值电压分布,并且根据所预测的阈值电压分布来预测单元差值概率(CDP),并且根据CDP变化来预测阈值电压分布彼此重叠的区段处的斜率。ECC电路210可基于预测斜率来选择读取电压。
主机接口1040可在处理器1010的控制下与外部主机通信。主机接口1040可使用诸如以下的各种通信方式中的至少一种来与主机通信:通用串行总线(USB)、串行AT附件(SATA)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、火线、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)以及低负载DIMM(LRDIMM)。
缓冲器控制电路1050被配置成在处理器1010的控制下控制存储器缓冲器1020。
存储器接口1060被配置成在处理器1010的控制下与存储器装置通信。存储器接口1060可通过通道与存储器装置通信命令、地址和数据。
在示例中,存储器控制器1000可不包括存储器缓冲器1020和缓冲器控制电路1050。
在示例中,处理器1010可通过使用代码来控制存储器控制器1000的操作。处理器1010可从设置在存储器控制器1000中的非易失性存储器装置(例如,只读存储器(ROM))加载代码。在另一示例中,处理器1010可通过存储器接口1060从存储器装置加载代码。
在示例中,存储器控制器1000的总线1070可被划分成控制总线和数据总线。数据总线可被配置成在存储器控制器1000中传输数据,控制总线可被配置成在存储器控制器1000中传输诸如命令和地址的控制信息。数据总线和控制总线彼此分离,并且可不彼此干扰或影响。数据总线可连接到主机接口1040、缓冲器控制电路1050、ECC电路210和存储器接口1060。控制总线可连接到主机接口1040、处理器1010、缓冲器控制电路1050、存储器缓冲器1020和存储器接口1060。
图16是示例性地示出根据本发明的实施例的应用了存储装置的存储卡系统的框图。
参照图16,存储卡系统2000可包括存储器控制器2100、存储器装置和连接器2300。
存储器控制器2100连接到存储器装置2200。存储器控制器2100被配置成访问存储器装置2200。例如,存储器控制器2100被配置成控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100被配置成提供存储器装置2200与主机之间的接口。存储器控制器2100被配置成驱动用于控制存储器装置2200的固件。存储器装置2200可与参照图2描述的存储器装置100相同地来实施。
在本公开中,当对从存储器装置2200接收的读取数据的错误校正失败时,存储器控制器2100可从存储器装置2200接收用于预测存储器单元的阈值电压分布的数据,并且通过预测阈值电压分布来选择读取电压。
具体地,存储器控制器2100可从存储器装置2200接收关于通过使用用于区分存储器单元的理想阈值电压分布中的编程状态的读取电压来执行读取操作而被接通的存储器单元的数量的信息。存储器控制器2100可基于被接通的存储器单元的数量来预测存储器单元的阈值电压分布,并且根据所预测的阈值电压分布来预测单元差值概率(CDP),并且根据CDP变化来预测阈值电压分布彼此重叠的区段处的斜率。存储器控制器2100可基于预测斜率来选择读取电压。
在示例中,存储器控制器2100可包括诸如随机存取存储器(RAM)、处理单元、主机接口、存储器接口及错误校正器233的组件。
存储器控制器2100可通过连接器2300与外部装置通信。存储器控制器2100可根据特定通信协议与外部装置(例如,主机)通信。在示例中,存储器控制器2100可通过诸如以下的各种通信协议中的至少一种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙以及NVMe。
在示例中,存储器装置2200可利用诸如以下的各种非易失性存储器装置来实施:电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋转移力矩磁性RAM(STT-MRAM)。
存储器控制器2100和存储器装置2200可被集成到单个半导体装置中以构成存储卡。例如,存储器控制器2100和存储器装置2200可构成诸如以下的存储卡:PC卡(个人计算机存储卡国际协会(PCMCIA))、紧凑型闪存(CF)卡、智能媒体卡(SM和SMC)、记忆棒、多媒体卡(MMC、RS-MMC、微型MMC和eMMC)、SD卡(SD、迷你SD、微型SD和SDHC)以及通用闪存(UFS)。
图17是示例性地示出根据本发明的实施例的应用了存储装置的固态驱动器(SSD)系统的框图。
参照图17,SSD系统3000可包括主机3100和SSD 3200。SSD 3200通过信号连接器3001与主机3100交换信号SIG,并且通过电源连接器3002接收电力PWR。SSD 3200可包括SSD控制器3210、多个闪速存储器3221至322n、辅助电源3230和缓冲存储器3240。
在实施例中,SSD控制器3210可用作参照图1描述的存储器控制器200。
SSD控制器3210可响应于从主机3100接收的信号SIG来控制多个闪速存储器3221至322n。在示例中,信号SIG可以是基于主机3100和SSD 3200之间的接口的信号。例如,信号SIG可以是由诸如以下的接口中的至少一种来限定的信号:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙以及NVMe。
在本公开中,当对从闪速存储器3221至322n接收的读取数据的错误校正失败时,SSD控制器3210可从闪速存储器3221至322n接收用于预测存储器单元的阈值电压分布的数据,并且通过预测阈值电压分布来选择读取电压。
具体地,SSD控制器3210可从闪速存储器3221至322n接收关于通过使用用于区分存储器单元的理想阈值电压分布中的编程状态的读取电压来执行读取操作而被接通的存储器单元的数量的信息。SSD控制器3210可基于被接通的存储器单元的数量来预测存储器单元的阈值电压分布,并且根据所预测的阈值电压分布来预测单元差值概率(CDP),并且根据CDP变化来预测阈值电压分布彼此重叠的区段处的斜率。SSD控制器3210可基于预测斜率来选择读取电压。
辅助电源3230通过电源连接器3002连接到主机3100。当来自主机3100的电力供应不平稳时,辅助电源3230可提供SSD 3200的电力。在示例中,辅助电源3230可位于SSD 3200中,或者位于SSD 3200的外部。例如,辅助电源3230可位于主板上,并且向SSD 3200提供辅助电力。
缓冲存储器3240可用作SSD 3200的缓冲存储器。例如,缓冲存储器3240可临时存储从主机3100接收的数据或从多个闪速存储器3221至322n接收的数据,或者临时存储闪速存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可包括诸如DRAM、SDRAM、DDRSDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
图18是示例性地示出根据本发明的实施例的应用存储装置的用户系统的框图。
参照图18,用户系统4000可包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可驱动包括在用户系统4000中的组件、操作系统(OS)、用户程序等。在示例中,应用处理器4100可包括用于控制包括在用户系统4000中的组件的控制器、接口、图形引擎等。应用处理器4100可被设置为片上系统(SoC)。
在本公开中,当对从存储模块4400接收的读取数据的错误校正失败时,应用处理器4100可从存储模块4400接收用于预测存储器单元的阈值电压分布的数据,并且通过预测阈值电压分布来选择读取电压。
具体地,应用处理器4100可从存储模块4400接收关于通过使用用于区分存储器单元的理想阈值电压分布中的编程状态的读取电压来执行读取操作而被接通的存储器单元的数量的信息。应用处理器4100可基于被接通的存储器单元的数量来预测存储器单元的阈值电压分布,并且根据所预测的阈值电压分布来预测单元差值概率(CDP),并且根据CDP变化来预测阈值电压分布彼此重叠的区段处的斜率。应用处理器4100可基于预测斜率来选择读取电压。
存储器模块4200可作为用户系统4000的主存储器、工作存储器、缓冲存储器或高速缓存存储器操作。存储器模块4200可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRM、DDR3SDRAM、LPDDR SDRAM、LPDDR2 SDRAM和LPDDR3 SDRAM的易失性随机存取存储器或者诸如PRAM、ReRAM、MRAM和FRAM的非易失性随机存取存储器。在示例中,应用处理器4100和存储器模块4200可通过基于堆叠封装(PoP)来封装而被设置为一个半导体封装。
网络模块4300可与外部装置通信。在示例中,网络模块4300可支持诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、Wimax、WLAN、UWB、蓝牙和Wi-Fi的无线通信。在示例中,网络模块4300可包括在应用处理器4100中。
存储模块4400可存储数据。例如,存储模块4400可存储从应用处理器4100接收的数据。可选地,存储模块4400可将所存储的数据传送到应用处理器4100。在示例中,存储模块4400可利用诸如以下的非易失性半导体存储器装置来实施:相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、NAND闪存、NOR闪存或具有三维结构的NAND闪存。在示例中,存储模块4400可被设置为可移动驱动器,诸如用户系统4000的存储卡或外部驱动器。
在示例中,存储模块4400可包括多个非易失性存储器装置,并且多个非易失性存储器装置可与参照图2和图3描述的存储器装置相同地进行操作。存储模块4400可与参照图1描述的存储装置50相同地进行操作。
用户接口4500可包括用于向应用处理器4100输入数据或命令,或用于将数据输出到外部装置的接口。在示例中,用户接口4500可包括诸如以下的用户输入接口:键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件。用户接口4500可包括诸如以下的用户输出接口:液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器。
根据本公开,当读取操作失败时,存储器控制器从存储器装置接收关于被接通的存储器单元的数量的信息,基于被接通的存储器单元的数量来预测相邻阈值电压分布的斜率,然后基于预测斜率,通过确定实际读取电压的数量和实际读取电压之中的相邻读取电压之间的间隔来执行软解码操作。
虽然已参照本公开的某些示例性实施例示出和描述了本公开,但本领域技术人员将理解的是,在不脱离由所附权利要求及其等同方案限定的本公开的精神和范围的情况下,可进行形式和细节上的各种改变。因此,本公开的范围不应限于上述示例性实施例,而是应当由不仅所附权利要求还有其等同方案来确定。
在上述实施例中,可选择性地执行所有步骤或部分步骤,并且可省略步骤。在每个实施例中,步骤不一定按照所描述的顺序执行,并且可被重新排列。本说明书和附图中公开的实施例仅示例以帮助理解本公开,并且本公开不限于此。也就是说,对于本领域技术人员应显而易见的是,可基于本公开的技术范围进行各种修改。
已在附图和说明书中描述了本公开的示例性实施例。虽然此处使用了特定的术语,但这些术语仅用于说明本公开的实施例。因此,本公开不限于上述实施例,并且在本公开的精神和范围内可进行许多变化。对于本领域技术人员应显而易见的是,除本文公开的实施例之外,还可基于本公开的技术范围进行各种修改。

Claims (20)

1.一种存储器控制器,所述存储器控制器控制存储器装置,所述存储器控制器包括:
错误校正器,校正从所述存储器装置接收的读取数据中的错误;
命令生成器,响应于所述错误校正器的错误校正操作失败,输出单元分布检测命令,以检测所述存储器装置中包括的存储器单元的阈值电压分布;以及
读取电压控制器,基于所述存储器装置响应于所述单元分布检测命令而提供的单元分布检测数据,确定待在所述存储器装置中执行的读取操作的读取电压的数量以及所述读取电压之中的相邻读取电压之间的间隔。
2.根据权利要求1所述的存储器控制器,其中所述单元分布检测数据包括关于在响应于所述单元分布检测命令而执行的读取操作中被接通的存储器单元的数量的信息。
3.根据权利要求1所述的存储器控制器,其中所述读取电压控制器包括:
单元差值概率计算器,即CDP计算器,基于所述单元分布检测数据来计算代表所述读取数据的可靠性的CDP;以及
读取电压确定器,基于所述CDP来生成关于所述读取电压的数量和所述读取电压之中的相邻读取电压之间的间隔的读取电压信息。
4.根据权利要求3所述的存储器控制器,其中所述读取电压确定器基于所述CDP来计算CDP变化,并且基于所述CDP变化,预测所述存储器装置中包括的存储器单元的所述阈值电压分布之中的彼此重叠的阈值电压分布的斜率。
5.根据权利要求4所述的存储器控制器,其中当所述CDP变化恒定时,所述读取电压确定器预测所述彼此重叠的阈值电压分布的斜率相同。
6.根据权利要求5所述的存储器控制器,其中所述读取电压确定器基于所述CDP的幅值来确定所述读取电压之中的相邻读取电压之间的间隔。
7.根据权利要求6所述的存储器控制器,其中所述读取电压确定器:
当所述CDP的幅值大于参考值时,将所述读取电压之中的相邻读取电压之间的间隔确定为第一电压;以及
当所述CDP的幅值小于所述参考值时,将所述读取电压之中的相邻读取电压之间的间隔确定为第二电压,所述第二电压大于所述第一电压。
8.根据权利要求4所述的存储器控制器,其中当所述CDP变化不是恒定时,所述读取电压确定器预测所述彼此重叠的阈值电压分布的斜率彼此不同。
9.根据权利要求8所述的存储器控制器,其中所述读取电压确定器:
当预测到所述彼此重叠的阈值电压分布的斜率比参考斜率更陡时,将所述读取电压之中的相邻读取电压之间的间隔确定为小于参考值;并且
当预测到所述彼此重叠的阈值电压分布的斜率小于所述参考斜率时,将所述读取电压之中的相邻读取电压之间的间隔确定为大于所述参考值。
10.根据权利要求9所述的存储器控制器,其中当预测到所述彼此重叠的阈值电压分布的斜率比所述参考斜率更陡时,相比于当预测到所述彼此重叠的所述电压分布的斜率小于所述参考斜率时的读取电压的数量,所述读取电压确定器将所述读取电压的数量确定为相对更多。
11.一种操作存储器控制器的方法,所述存储器控制器控制存储器装置,所述方法包括:
校正从所述存储器装置接收的读取数据的错误;
响应于所述错误校正器的错误校正操作失败,输出单元分布检测命令,以检测所述存储器装置中包括的存储器单元的阈值电压分布;并且
基于所述存储器装置响应于所述单元分布检测命令而提供的单元分布检测数据,确定待在所述存储器装置中执行的读取操作的读取电压的数量以及所述读取电压之中的相邻读取电压之间的间隔。
12.根据权利要求11所述的方法,其中确定所述读取电压的数量和所述读取电压之中的相邻读取电压之间的间隔包括:
基于所述单元分布检测数据,计算代表所述读取数据的可靠性的单元差值概率,即CDP;
基于所述CDP来计算CDP变化;并且
基于所述CDP变化,预测所述存储器装置中包括的存储器单元的阈值电压分布之中的彼此重叠的阈值电压分布的斜率。
13.根据权利要求12所述的方法,其中当所述CDP变化恒定时,预测到所述彼此重叠的阈值电压分布的斜率相同。
14.根据权利要求13所述的方法,其中基于所述CDP的幅值来确定所述读取电压之中的相邻读取电压之间的间隔。
15.根据权利要求14所述的方法,
其中当所述CDP的幅值大于参考值时,将所述读取电压之中的相邻读取电压之间的间隔确定为第一电压;并且
其中当所述CDP的幅值小于所述参考值时,将所述读取电压之中的相邻读取电压之间的间隔确定为第二电压,所述第二电压大于所述第一电压。
16.根据权利要求12所述的方法,其中当所述CDP变化不是恒定时,预测到所述彼此重叠的阈值电压分布的斜率彼此不同。
17.根据权利要求16所述的方法,其中当预测到所述彼此重叠的阈值电压分布的斜率比参考斜率更陡时,将所述读取电压之中的相邻读取电压之间的间隔确定为小于参考值。
18.根据权利要求16所述的方法,其中当预测到所述彼此重叠的阈值电压分布的斜率小于参考斜率时,将所述读取电压之中的相邻读取电压之间的间隔确定为大于参考值。
19.根据权利要求17所述的方法,其中当预测到所述彼此重叠的阈值电压分布的斜率比所述参考斜率更陡时,相比于当预测到所述彼此重叠的阈值电压分布的斜率小于所述参考斜率时的读取电压的数量,将所述读取电压的数量确定为相对更多。
20.根据权利要求19所述的方法,进一步包括向所述存储器装置输出软读取命令,以通过使用所确定的读取电压来执行读取操作。
CN201911414945.7A 2019-09-03 2019-12-31 存储器控制器及其操作方法 Withdrawn CN112447238A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190109123A KR20210027980A (ko) 2019-09-03 2019-09-03 메모리 컨트롤러 및 그 동작 방법
KR10-2019-0109123 2019-09-03

Publications (1)

Publication Number Publication Date
CN112447238A true CN112447238A (zh) 2021-03-05

Family

ID=74680093

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911414945.7A Withdrawn CN112447238A (zh) 2019-09-03 2019-12-31 存储器控制器及其操作方法

Country Status (3)

Country Link
US (1) US11017865B2 (zh)
KR (1) KR20210027980A (zh)
CN (1) CN112447238A (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210106753A (ko) * 2020-02-21 2021-08-31 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
KR20230085625A (ko) * 2021-12-07 2023-06-14 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법
JP2023137685A (ja) * 2022-03-18 2023-09-29 キオクシア株式会社 メモリシステム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170131916A1 (en) * 2015-11-06 2017-05-11 SK Hynix Inc. Memory device and method of operating the same
CN110097913A (zh) * 2018-01-31 2019-08-06 爱思开海力士有限公司 存储器控制器及其操作方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645793B2 (en) * 2008-06-03 2014-02-04 Marvell International Ltd. Statistical tracking for flash memory
US7941590B2 (en) * 2006-11-06 2011-05-10 Marvell World Trade Ltd. Adaptive read and write systems and methods for memory cells
US8072805B2 (en) * 2009-08-18 2011-12-06 Skymedi Corporation Method and system of finding a read voltage for a flash memory
US8576625B1 (en) * 2010-04-20 2013-11-05 Marvell International Ltd. Decoder parameter estimation using multiple memory reads
US8665650B2 (en) * 2011-02-18 2014-03-04 Marvell World Trade Ltd. Reliability metrics management for soft decoding
US9257203B2 (en) * 2012-12-06 2016-02-09 Micron Technology, Inc. Setting a default read signal based on error correction
KR102050475B1 (ko) * 2013-01-14 2020-01-08 삼성전자주식회사 플래시 메모리, 플래시 메모리 장치 및 이의 동작 방법
KR102131802B1 (ko) * 2013-03-15 2020-07-08 삼성전자주식회사 비휘발성 메모리 장치의 데이터 독출 방법, 비휘발성 메모리 장치, 및 메모리 시스템의 구동 방법
US10475523B2 (en) * 2013-05-31 2019-11-12 Western Digital Technologies, Inc. Updating read voltages triggered by the rate of temperature change
KR20180027660A (ko) 2016-09-05 2018-03-15 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR20180042974A (ko) 2016-10-19 2018-04-27 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170131916A1 (en) * 2015-11-06 2017-05-11 SK Hynix Inc. Memory device and method of operating the same
CN110097913A (zh) * 2018-01-31 2019-08-06 爱思开海力士有限公司 存储器控制器及其操作方法

Also Published As

Publication number Publication date
KR20210027980A (ko) 2021-03-11
US20210065816A1 (en) 2021-03-04
US11017865B2 (en) 2021-05-25

Similar Documents

Publication Publication Date Title
CN111258793B (zh) 存储器控制器及其操作方法
US11099745B2 (en) Storage device and operating method thereof
CN112435703A (zh) 存储装置及其操作方法
CN111105836B (zh) 存储装置及其操作方法
CN111798910A (zh) 存储装置及其操作方法
US11461171B2 (en) Memory system and method of operating the same
US11017865B2 (en) Memory controller determining optimal read voltage and operating method thereof
CN113539331A (zh) 存储器装置及其操作方法
US11194732B2 (en) Storage device and method of operating the same
CN111192617B (zh) 存储装置及其操作方法
CN111916134A (zh) 存储装置及其操作方法
US11036586B2 (en) Storage device and operating method thereof
CN114388038A (zh) 存储器设备及其操作方法
CN114360593A (zh) 存储装置及其操作方法
CN114005483A (zh) 存储器装置及其操作方法以及存储控制器的操作方法
CN114582399A (zh) 存储器装置及其操作方法
CN114496045A (zh) 存储器设备和操作存储器设备的方法
CN113555054A (zh) 存储装置及其操作方法
CN112199037A (zh) 存储器控制器及其操作方法
CN112447234A (zh) 存储器控制器及其操作方法
US11276477B2 (en) Memory controller and operating method thereof
US11688464B2 (en) Storage device and method of operating the same
US11550499B2 (en) Storage device for error detection and correction of ROM data
CN111916142B (zh) 存储器控制器以及操作存储器控制器的方法
CN115586865A (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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20210305