CN115116517A - 存储器***及其操作方法 - Google Patents

存储器***及其操作方法 Download PDF

Info

Publication number
CN115116517A
CN115116517A CN202111020212.2A CN202111020212A CN115116517A CN 115116517 A CN115116517 A CN 115116517A CN 202111020212 A CN202111020212 A CN 202111020212A CN 115116517 A CN115116517 A CN 115116517A
Authority
CN
China
Prior art keywords
memory
memory block
temperature
data
status check
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111020212.2A
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 CN115116517A publication Critical patent/CN115116517A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/04Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/002Error detection; Error correction; Monitoring protecting against parasitic influences, e.g. noise, temperatures
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0653Monitoring storage devices or systems
    • 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/0658Controller construction arrangements
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • 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/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • 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/24Bit-line control 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
    • 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
    • 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

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)
  • Microelectronics & Electronic Packaging (AREA)
  • Computing Systems (AREA)
  • Read Only Memory (AREA)
  • Debugging And Monitoring (AREA)

Abstract

各个实施例总体涉及一种存储器***及其操作方法。根据本公开的实施例,存储器***针对多个存储器管芯中包括的第一存储器管芯设置状态检查存储块,该状态检查存储块用于检查第一存储器管芯中包括的存储块中存储的数据的状态,并且存储器***针对预定的多个温度区间中的每一个管理状态检查页面和编程存储块列表,状态检查页面与温度区间相对应并且被包括在状态检查存储块中,编程存储块列表指示关于在存储器***的温度落入温度区间内时编程的特定存储块的信息。

Description

存储器***及其操作方法
相关申请的交叉引用
本专利文件要求于2021年3月18日提交的、申请号为10-2021-0035251的韩国专利申请的优先权和权益,该韩国专利申请通过引用整体并入本文。
技术领域
所公开技术的各个实施例总体涉及一种存储器***及其操作方法。
背景技术
存储器***包括基于来自诸如计算机、服务器、智能电话、平板PC或其它电子装置的主机的请求来存储数据的数据存储装置。存储器***的示例涵盖从传统的基于磁盘的硬盘驱动器(HDD)到诸如固态驱动器(SSD)、通用闪存装置(UFS)或嵌入式MMC(eMMC)装置的基于半导体的数据存储装置。
存储器***可以进一步包括用于控制存储器装置的存储器控制器。存储器控制器可以从主机接收命令,并且基于所接收的命令,可以运行命令或控制对存储器***中的存储器装置的读取操作/写入操作/擦除操作。存储器控制器可以用于运行固件操作,以执行用于控制这些操作的逻辑运算。
由于数据存储在存储器装置中,所以存储器装置中存储的数据发生错误的可能性随着时间的流逝而增加。因此,存储器***需要通过检查相应数据的状态来检查存储器装置中存储的数据是否发生错误。
发明内容
所公开技术的各个实施例涉及一种能够在各种温度环境下快速检测所存储的数据中是否发生错误的存储器***及其操作方法。
所公开技术的各个实施例涉及一种能够通过提前检查在特定温度条件下编程的数据中是否发生错误来防止由于温度变化引起的可靠性下降而导致的问题的存储器***及其操作方法。
在一个方面,所公开技术的实施例可以提供一种存储器***,该存储器***包括:存储器装置,包括多个存储器管芯,每个存储器管芯包括被配置成存储数据的多个存储块;以及存储器控制器,被联接以与存储器装置通信并且被配置成控制存储器装置。
存储器控制器可以针对多个存储器管芯中包括的第一存储器管芯设置状态检查存储块,状态检查存储块用于检查第一存储器管芯中包括的存储块中存储的数据的状态。
存储器控制器可以针对预定的多个温度区间(temperature period)中的每一个来管理(1)状态检查页面,该状态检查页面与温度区间相对应并且被包括在状态检查存储块中,和(2)编程存储块列表,该编程存储块列表指示关于在存储器***的温度落入温度区间内时编程的特定存储块的信息。
存储器控制器可以响应于确定存储器***的温度已经初次进入温度区间,将数据编程在状态检查页面中,使得状态检查页面中没有处于擦除状态的存储器单元。
在另一方面,所公开技术的实施例可以提供一种用于操作包括存储器装置的存储器***的方法。
一种操作存储器***的方法可以包括:针对作为存储器装置中包括的多个存储器管芯中的一个的第一存储器管芯设置状态检查存储块,该状态检查存储块用于检查第一存储器管芯中包括的存储块中存储的数据的状态。
另外,用于操作存储器***的方法可以包括:针对预定的多个温度区间中的每一个来管理(1)状态检查页面,该状态检查页面与温度区间相对应并且被包括在状态检查存储块中,和(2)编程存储块列表,编程存储块列表指示关于在存储器***的温度落入温度区间内时编程的特定存储块的信息。
该管理可以包括:确定存储器***的温度是否已经初次进入温度区间;以及将数据编程在状态检查页面中,使得状态检查页面中没有处于擦除状态的存储器单元。
根据所公开技术的实施例,可以在各种温度环境下快速检测所存储的数据中是否发生错误并且提前检查在特定温度条件下编程的数据中是否发生错误,从而防止由于温度改变引起的可靠性降低而导致的问题。
附图说明
图1是示出基于所公开技术的实施例的存储器***的配置的示意图。
图2是示意性地示出基于所公开技术的实施例的存储器装置的框图。
图3是示出基于所公开技术的实施例的存储器装置的字线和位线的结构的示图。
图4是示出基于所公开技术的实施例的存储器***的示意性结构的示图。
图5是示出基于所公开技术的实施例的第一存储器管芯的状态检查存储块的示图。
图6是示出基于所公开技术的实施例的针对多个温度区间中的每一个来管理状态检查页面和编程存储块列表的操作的示图。
图7是示出基于所公开技术的实施例的当存储器***的温度已经初次进入第一温度区间时由存储器***执行的操作的示图。
图8是示出基于所公开技术的实施例的将数据编程到参考页面的操作的示例的示图。
图9是示出基于所公开技术的实施例的确定存储器***的温度是否已经初次进入第一温度区间的操作的示图。
图10是示出基于所公开技术的实施例的确定参考页面的位置的操作的示例的示图。
图11和图12是示出基于所公开技术的实施例的管理第一编程存储块列表的操作的示例的示图。
图13是示出基于所公开技术的实施例的读取参考页面中存储的数据的操作的示例的示图。
图14是示出基于所公开技术的实施例的确定是否检查存储块中存储的数据的状态的操作的示例的流程图。
图15是示出基于所公开技术的实施例的确定是否对存储块中存储的数据进行重新编程的操作的示例的流程图。
图16是示出基于所公开技术的实施例的操作存储器***的方法的示图。
图17是示出针对多个温度区间中的每一个来管理状态检查页面和编程存储块列表的操作的示例的示图。
图18是示出基于所公开技术的一些实施例的计算***的配置的示图。
具体实施方式
在下文中,参照附图详细描述所公开技术的实施例的示例。
图1是示出基于所公开技术的实施例的存储器***100的示意性配置的示图。
在一些实施方案中,存储器***100可以包括被配置成存储数据的存储器装置110,以及被配置成控制存储器装置110的存储器控制器120。
存储器装置110可以包括多个存储块,每个存储块包括用于存储数据的多个存储器单元。存储器装置110可以被配置成响应于从存储器控制器120接收的控制信号而操作。存储器装置110的操作可以包括例如读取操作、编程操作(也被称为“写入操作”)、擦除操作等。
存储器装置110中的存储器单元用于存储数据并且可以以存储器单元阵列来布置。存储器单元阵列可以被划分为存储器单元的存储块,并且每个块包括存储器单元的不同页面。在NAND闪速存储器装置的典型实施方案中,存储器单元的页面是可以被编程或写入的最小存储器单位,并且可以以块为单位擦除存储器单元中存储的数据。
在一些实施方案中,存储器装置110可以被实施为诸如以下的各种类型:双倍数据速率同步动态随机存取存储器(DDR SDRAM)、***低功率双倍数据速率(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)或自旋转移扭矩随机存取存储器(STT-RAM)。
存储器装置110可以以三维阵列结构来实施。所公开技术的一些实施例可应用于具有电荷存储层的任意类型的闪速存储器装置。在实施方案中,电荷存储层可以由导电材料形成,并且这种电荷存储层可以被称为浮置栅极。在另一实施方案中,电荷存储层可以由绝缘材料形成,并且这种闪速存储器装置可以被称为电荷撷取闪存(CTF)。
存储器装置110可以被配置成从存储器控制器120接收命令和地址,以访问使用该地址选择的存储器单元阵列的区域。也就是说,存储器装置110可以对具有与从存储器控制器120接收的地址相对应的物理地址的存储器装置的存储器区域执行与所接收的命令相对应的操作。
在一些实施方案中,存储器装置110可以执行编程操作、读取操作、擦除操作等。在编程操作期间,存储器装置110可以将数据写入到通过地址选择的区域。在读取操作期间,存储器装置110可以从通过地址选择的存储器区域读取数据。在擦除操作期间,存储器装置110可以擦除通过地址选择的存储器区域中存储的数据。
存储器控制器120可以控制对存储器装置110执行的写入(编程)操作、读取操作、擦除操作和后台操作。后台操作可以包括例如被实施成优化存储器装置110的整体性能的操作,诸如垃圾收集(GC)操作、损耗均衡(WL)操作和坏块管理(BBM)操作。
存储器控制器120可以在主机的请求下控制存储器装置110的操作。可选地,当存储器控制器120执行存储器装置的这种后台操作时,即使没有来自主机的请求,存储器控制器120也可以控制存储器装置110的操作。
存储器控制器120和主机可以是分开的装置。在一些实施方案中,存储器控制器120和主机可以被集成并实施为单个装置。在下面的描述中,作为示例,将作为分开的装置来讨论存储器控制器120和主机。
参照图1,存储器控制器120可以包括存储器接口122、控制电路123和主机接口121。
主机接口121可以被配置成提供用于与主机通信的接口。
当从主机HOST接收命令时,控制电路123可以通过主机接口121接收命令,并且可以执行处理所接收的命令的操作。
存储器接口122可以直接地或间接地连接到存储器装置110,以提供用于与存储器装置110通信的接口。也就是说,存储器接口122可以被配置成向存储器装置110和存储器控制器120提供接口,以用于存储器控制器120基于来自控制电路123的控制信号和指令对存储器装置110执行存储器操作。
控制电路123可以被配置成通过存储器控制器120控制存储器装置110的操作。例如,控制电路123可以包括处理器124和工作存储器125。控制电路123可以进一步包括错误检测/校正电路(ECC电路)126等。
处理器124可以控制存储器控制器120的全部操作。处理器124可以执行逻辑运算。处理器124可以通过主机接口121与主机HOST通信。处理器124可以通过存储器接口122与存储器装置110通信。
处理器124可以用于执行与闪存转换层(FTL)相关联的操作,以有效地管理对存储器***100的存储器操作。处理器124可以通过FTL将由主机提供的逻辑块地址(LBA)转换成物理块地址(PBA)。FTL可以接收LBA并且通过使用映射表将LBA转换为PBA。
基于映射单位,FTL可以采用多种地址映射方法。典型的地址映射方法可以包括页面映射方法、块映射方法和混合映射方法。
处理器124可以被配置成将从主机接收的数据随机化,以将经随机化的数据写入到存储器单元阵列。例如,处理器124可以通过使用随机化种子来将从主机接收的数据随机化。经随机化的数据被提供到存储器装置110,并且被写入到存储器单元阵列。
处理器124可以被配置成在读取操作期间将从存储器装置110接收的数据去随机化。例如,处理器124可以通过使用去随机化种子将从存储器装置110接收的数据去随机化。经去随机化的数据可以被输出到主机HOST。
处理器124可以运行固件(FW)以控制存储器控制器120的操作。换言之,处理器124可以控制存储器控制器120的全部操作,并且为了执行逻辑运算,可以在启动期间运行(驱动)加载到工作存储器125中的固件。
固件是指在某个非易失性存储器上存储并且在存储器***100内部运行的程序或软件。
在一些实施方案中,固件可以包括各种功能层。例如,固件可以包括闪存转换层(FTL)、主机接口层(HIL)和闪存接口层(FIL)中的至少一个,该闪存转换层(FTL)被配置成将主机HOST请求中的逻辑地址转换成存储器装置110的物理地址,该主机接口层(HIL)被配置成解译由主机HOST向诸如存储器***100的数据存储装置发出的命令并且将该命令传递到FTL,该闪存接口层(FIL)被配置成将由FTL发出的命令传递到存储器装置110。
例如,固件可以被存储在存储器装置110中,然后被加载到工作存储器125中。
工作存储器125可以存储操作存储器控制器120所必需的固件、程序代码、命令、或多条数据。工作存储器125可以包括例如作为易失性存储器的静态RAM(SRAM)、动态RAM(DRAM)和同步RAM(SDRAM)之中的至少一个。
错误检测/校正电路126可以被配置成通过使用错误检测和校正码来检测和校正数据中的一个或多个错误位。在一些实施方案中,进行错误检测和校正的数据可以包括工作存储器125中存储的数据以及从存储器装置110中检索到的数据。
错误检测/校正电路126可以被实施成通过使用错误校正码来对数据进行解码。错误检测/校正电路126可以通过使用各种解码方案来实施。例如,可以使用执行非***代码解码的解码器或执行***代码解码的解码器。
在一些实施方案中,错误检测/校正电路126可以基于扇区来检测一个或多个错误位。也就是说,每条读取数据可以包括多个扇区。在本专利文件中,扇区可以指比闪速存储器的读取单位(例如,页面)更小的数据单位。可以基于地址来映射构成每条读取数据的扇区。
在一些实施方案中,错误检测/校正电路126可以逐个扇区地计算位错误率(BER)并确定数据中的错误位的数量是否在错误校正能力之内。例如,如果BER高于参考值,则错误检测/校正电路126可以确定相应扇区中的错误位不可校正,并且相应扇区被标记为“失败”。如果BER低于或等于参考值,则错误检测/校正电路126可以确定相应扇区可校正,或者相应扇区可以被标记为“通过”。
错误检测/校正电路126可以对所有读取数据依次执行错误检测和校正操作。当读取数据中包括的扇区可校正时,错误检测/校正电路126可以继续进行到下一扇区,以检查是否需要对下一扇区进行错误校正操作。在以这种方式完成对所有读取数据的错误检测和校正操作之后,错误检测/校正电路126可以获取关于读取数据中的哪个扇区被认为不可校正的信息。错误检测/校正电路126可以将这种信息(例如,不可校正位的地址)提供到处理器124。
存储器***100还可以包括总线127,以在存储器控制器120的构成元件121、122、124、125和126之间提供通道。总线127可以包括,例如,用于传递各种类型的控制信号和命令的控制总线以及用于传递各种类型的数据的数据总线。
通过示例的方式,图1示出存储器控制器120的上述构成元件121、122、124、125和126。注意的是,可以省略附图中示出的某些构成元件,或者存储器控制器120的上述构成元件121、122、124、125和126中的一些可以集成到单个元件中。另外,在一些实施方案中,可以将一个或多个其它构成元件添加到存储器控制器120的上述构成元件。
图2是示意性地示出基于所公开技术的实施例的存储器装置110的框图。
在一些实施方案中,基于所公开技术的实施例的存储器装置110可以包括存储器单元阵列210、地址解码器220、读取/写入电路230、控制逻辑240和电压生成电路250。
存储器单元阵列210可以包括多个存储块BLK1至BLKz,其中z为等于或大于2的自然数。
在多个存储块BLK1至BLKz中,可以将多个字线WL和多个位线BL按行和列设置,并且可以布置多个存储器单元MC。
多个存储块BLK1至BLKz可以通过多个字线WL连接到地址解码器220。多个存储块BLK1至BLKz可以通过多个位线BL连接到读取/写入电路230。
多个存储块BLK1至BLKz中的每一个可以包括多个存储器单元。例如,多个存储器单元是非易失性存储器单元。在一些实施方案中,这种非易失性存储器单元可以以垂直沟道结构布置。
存储器单元阵列210可以被配置成具有二维结构的存储器单元阵列。在一些实施方案中,存储器单元阵列210可以以三维结构布置。
存储器单元阵列210中包括的多个存储器单元中的每一个可以存储至少一位数据。例如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置成存储一位数据的单层单元(SLC)。又例如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置成每个存储器单元存储两位数据的多层单元(MLC)。又例如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置成每个存储器单元存储三位数据的三层单元(TLC)。又例如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置成每个存储器单元存储四位数据的四层单元(QLC)。又例如,存储器单元阵列210可以包括多个存储器单元,多个存储器单元中的每一个可以被配置成每个存储器单元存储至少五位数据。
参照图2,地址解码器220、读取/写入电路230、控制逻辑240和电压生成电路250可以作为被配置成驱动存储器单元阵列210的***电路而操作。
地址解码器220可以通过多个字线WL连接到存储器单元阵列210。
地址解码器220可以被配置成响应于控制逻辑240的命令和控制信号而操作。
地址解码器220可以通过存储器装置110内部的输入/输出缓冲器来接收地址。地址解码器220可以被配置成对所接收的地址之中的块地址进行解码。地址解码器220可以基于经解码的块地址选择至少一个存储块。
地址解码器220可以从电压生成电路250接收读取电压Vread和通过电压Vpass。
在读取操作期间,地址解码器220可以将读取电压Vread施加到所选择的存储块内的所选择字线WL,并且可以将通过电压Vpass施加到剩余的未选择字线WL。
在编程验证操作期间,地址解码器220可以将由电压生成电路250生成的验证电压施加到所选择存储块内的所选择字线WL,并且可以将通过电压Vpass施加到剩余的未选择字线WL。
地址解码器220可以被配置成对所接收的地址之中的列地址进行解码。地址解码器220可以将经解码的列地址传输到读取/写入电路230。
存储器装置110可以逐个页面地执行读取操作和编程操作。在请求读取操作和编程操作时接收到的地址可以包括块地址、行地址和列地址中的至少一个。
地址解码器220可以基于块地址和行地址来选择一个存储块和一个字线。列地址可以由地址解码器220解码并且被提供到读取/写入电路230。
地址解码器220可以包括块解码器、行解码器、列解码器和地址缓冲器中的至少一个。
读取/写入电路230可以包括多个页面缓冲器PB。当存储器单元阵列210执行读取操作时,读取/写入电路230可以作为“读取电路”而操作,并且当存储器单元阵列210执行写入操作时,读取/写入电路230可以作为“写入电路”而操作。
上述读取/写入电路230也被称为页面缓冲器电路或数据寄存器电路,该页面缓冲器电路包括多个页面缓冲器PB。读取/写入电路230可以包括参与数据处理功能的数据缓冲器,并且在一些实施方案中,可以进一步包括用于数据高速缓存的高速缓存缓冲器。
多个页面缓冲器PB可以通过多个位线BL连接到存储器单元阵列210。为了在读取操作和编程验证操作期间检测或感测存储器单元的阈值电压Vth,多个页面缓冲器PB可以向连接到存储器单元的位线BL连续地供应感测电流,以在感测节点处检测与电流量成比例的变化并且可以将相应电压保持或锁存为感测数据,其中该电流量根据相应存储器单元的编程状态而变化。
读取/写入电路230可以响应于从控制逻辑240输出的页面缓冲器控制信号而操作。
在读取操作期间,读取/写入电路230感测存储器单元的电压值,并且将该电压值作为数据读出。读取/写入电路230临时存储所检索到的数据,并且将数据DATA输出到存储器装置110的输入/输出缓冲器。在实施例中,除了页面缓冲器PB或页面寄存器之外,读取/写入电路230还可以包括列选择电路。
控制逻辑240可以连接到地址解码器220、读取/写入电路230和电压生成电路250。控制逻辑240可以通过存储器装置110的输入/输出缓冲器来接收命令CMD和控制信号CTRL。
控制逻辑240可以被配置成响应于控制信号CTRL而控制存储器装置110的全部操作。控制逻辑240可以输出用于将多个页面缓冲器PB的感测节点的电压电平调整到预充电电压电平的控制信号。
控制逻辑240可以控制读取/写入电路230在存储器单元阵列210中执行读取操作。电压生成电路250可以响应于从控制逻辑240输出的电压生成电路控制信号,生成在读取操作期间使用的读取电压Vread和通过电压Vpass。
存储器装置110中包括的存储块BLK可以包括多个页面PG。在一些实施方案中,按列布置的多个存储器单元形成存储器单元串,并且按行布置的多个存储器单元形成存储块。多个页面PG中的每一个联接到一个字线WL,并且存储器单元串STR中的每一个联接到一个位线BL。
在存储块BLK中,可以将多个字线WL和多个位线BL按行和列布置。例如,多个字线WL中的每一个可以沿行方向布置,并且多个位线BL中的每一个可以沿列方向布置。又例如,多个字线WL中的每一个可以沿列方向布置,并且多个位线BL中的每一个可以沿行方向布置。
在一些实施方案中,多个字线WL和多个位线BL可以彼此相交,从而在多个存储器单元MC的阵列中寻址单个存储器单元。在一些实施方案中,每个存储器单元MC可以包括晶体管TR,该晶体管TR包括可以保持电荷的材料层。
例如,每个存储器单元MC中布置的晶体管TR可以包括漏极、源极和栅极。晶体管TR的漏极(或源极)可以直接地或经由另一晶体管TR连接到相应位线BL。晶体管TR的源极(或漏极)可以直接地或经由另一晶体管TR连接到源极线(可以是地)。晶体管TR的栅极可以包括由绝缘体围绕的浮置栅极(FG)和从字线WL向其施加栅极电压的控制栅极(CG)。
在多个存储块BLK1至BLKz的每一个中,第一选择线(也称为源极选择线或漏极选择线)可以被附加地布置在两个最外字线之中的、更靠近读取/写入电路230的第一最外字线的外侧,并且第二选择线(也称为漏极选择线或源极选择线)可以被附加地布置在另外的第二最外字线的外侧。
在一些实施方案中,至少一个虚设字线可以被附加地布置在第一最外字线与第一选择线之间。另外,至少一个虚设字线可以被附加地布置在第二最外字线与第二选择线之间。
可以逐个页面地执行存储块的读取操作和编程操作(写入操作),并且可以逐个存储块地执行擦除操作。
图3是示出基于所公开技术的实施例的存储器装置110的字线WL和位线BL的结构的示图。
参照图3,存储器装置110具有布置有存储器单元MC的内核区域以及包括用于执行存储器单元阵列210的操作的电路的辅助区域(除了内核区域之外的剩余区域)。
在内核区域中,可以将沿一个方向布置的一定数量的存储器单元称为“页面”PG,并且可以将串联联接的一定数量的存储器单元称为“存储器单元串”STR。
字线WL1至WL9可以连接到行解码器310。位线BL可以连接到列解码器320。与图2的读取/写入电路230相对应的数据寄存器330可以存在于多个位线BL与列解码器320之间。
多个字线WL1至WL9可以对应于多个页面PG。
例如,如图3所示,多个字线WL1至WL9中的每一个可以对应于一个页面PG。当多个字线WL1至WL9中的每一个具有较大大小时,多个字线WL1至WL9中的每一个可以对应于至少两个(例如,两个或四个)页面PG。每个页面PG是编程操作和读取操作中的最小单位,并且当进行编程操作和读取操作时,相同页面PG内的所有存储器单元MC可以同时执行操作。
多个位线BL可以连接到列解码器320。在一些实施方案中,多个位线BL可以被划分为奇数编号位线BL和偶数编号位线BL,使得一对奇数编号位线和偶数编号位线共同联接到列解码器320。
在访问存储器单元MC时,行解码器310和列解码器320用于基于地址来定位期望的存储器单元。
在一些实施方案中,因为存储器装置110进行的包括编程操作和读取操作的所有数据处理都经由数据寄存器330发生,所以数据寄存器330起着重要的作用。如果数据寄存器330进行的数据处理被延迟,则所有其它区域都需要等待,直到数据寄存器330完成该数据处理为止,这降低了存储器装置110的整体性能。
参照图3所示的示例,在一个存储器单元串STR中,多个晶体管TR1至TR9可以分别连接到多个字线WL1至WL9。在一些实施方案中,多个晶体管TR1至TR9对应于存储器单元MC。在该示例中,多个晶体管TR1至TR9包括控制栅极CG和浮置栅极FG。
多个字线WL1至WL9包括两个最外字线WL1和WL9。第一选择线DSL可以被附加地布置在第一最外字线WL1的外侧,与另一最外字线WL9相比,第一最外字线WL1更靠近数据寄存器330并且具有更短的信号路径。第二选择线SSL可以被附加地布置在另一最外字线WL9的外侧。
由第一选择线DSL控制以导通/关断的第一选择晶体管D-TR具有连接到第一选择线DSL的栅电极,但不包括浮置栅极FG。由第二选择线SSL控制以导通/关断的第二选择晶体管S-TR具有连接到第二选择线SSL的栅电极,但也不包括浮置栅极FG。
第一选择晶体管D-TR用作将相应存储器单元串STR连接到数据寄存器330的开关电路。第二选择晶体管S-TR用作将相应存储器单元串STR连接到源极线SL的开关电路。也就是说,第一选择晶体管D-TR和第二选择晶体管S-TR可以用于启用或停用相应存储器单元串STR。
在一些实施方案中,存储器***100向第一选择晶体管D-TR的栅电极施加预定的导通电压Vcc,从而导通第一选择晶体管D-TR,并且向第二选择晶体管S-TR的栅电极施加预定的关断电压(例如,0V),从而关断第二选择晶体管S-TR。
在读取操作或验证操作期间,存储器***100导通第一选择晶体管D-TR和第二选择晶体管S-TR两者。因此,在读取操作或验证操作期间,电流可以流经相应存储器单元串STR并且流到与地相对应的源极线SL,使得可以测量位线BL的电压电平。然而,在读取操作期间,在第一选择晶体管D-TR与第二选择晶体管S-TR之间的导通/关断时刻可能存在时间差。
在擦除操作期间,存储器***100可以通过源极线SL向衬底施加预定电压(例如,+20V)。在擦除操作期间,存储器***100施加特定的电压以允许第一选择晶体管D-TR和第二选择晶体管S-TR两者都浮置。因此,所施加的擦除电压可以从所选择存储器单元的浮置栅极FG中去除电荷。
图4是示出基于所公开技术的实施例的存储器***100的示意性结构的示图。
参照图4,存储器***100可以包括存储器装置110和存储器控制器120。存储器***100的存储器装置110可以包括多个存储器管芯DIE。多个存储器管芯DIE中的每一个可以包括多个存储块BLK。
存储器***100的存储器控制器120可以请求存储器装置110将数据编程到存储器装置110中包括的多个存储器管芯DIE中的任意一个中包括的存储块BLK。
将更详细描述作为多个存储器管芯DIE的一个示例的第一存储器管芯DIE_1。
图5是示出基于所公开技术的实施例的第一存储器管芯DIE_1的状态检查存储块SC_BLK的示图。
参照图5,存储器***100的存储器控制器120可以针对存储器装置110中包括的多个存储器管芯DIE之中的第一存储器管芯DIE_1来选择或设置状态检查存储块SC_BLK。
状态检查存储块SC_BLK是用于检查第一存储器管芯DIE_1中包括的存储块BLK中存储的数据的状态的存储块。例如,状态检查存储块SC_BLK可以检查第一存储器管芯DIE_1中包括的存储块BLK中存储的数据是否发生错误。存储器控制器120可以选择作为第一存储器管芯DIE_1中包括的存储块BLK中的一个的状态检查存储块SC_BLK。
下面的部分描述了存储器***100的存储器控制器120使用单独的状态检查存储块SC_BLK来检查第一存储器管芯DIE_1中包括的存储块BLK中存储的数据的状态的原因。
存储器***100无错误地保留数据的保留时间可以由各种因素确定,诸如环境和其它因素(例如,温度、通电时间等)。在存储器***的操作期间,一个或多个这种因素可能会改变。例如,存储器***100可能并不总是处于通电状态或者存储器***100的温度可能会随时间变化。存储器***100可能难以实时捕捉和反映这种变化。
因此,存储器***100可以通过实际地读取存储器装置中存储的数据来确定存储器装置110中存储的数据的状态。在这种情况下,存储器***100可能需要确定待从存储器装置110中包括的存储块之中哪个存储块BLK读取数据。存储器***100可以检查在存储器装置110中的每一个存储块中存储的数据中发生错误的可能性,并且在存储器装置110中包括的存储块BLK之中选择发生错误的可能性较高的存储块。通过使用发生错误的可能性较高的存储块来确定存储器装置110中存储的数据的状态可以允许存储器***100更快地检测错误发生。
为了检查存储器装置110的第一存储器管芯DIE_1中包括的数据的状态,存储器***100可以通过使用状态检查存储块SC_BLK来首先确定待从哪个存储块BLK读取数据。
在一些实施方案中,存储器控制器120可以针对存储器装置110中的其它存储器管芯来使用第一存储器管芯DIE_1中包括的状态检查存储块SC_BLK。在一些其它实施方案中,存储器控制器120可以针对存储器装置110中的存储器管芯的每个存储器管芯DIE来设置单独的状态检查存储块。
在一些实施方案中,当满足特定条件时,存储器控制器120可以针对第一存储器管芯DIE_1来将状态检查存储块SC_BLK改变为第一存储器管芯DIE_1中包括的另一存储块。例如,在当前的状态检查存储块SC_BLK的擦除/编程计数增加到等于或大于预定的阈值计数值时,存储器控制器120可以将状态检查存储块SC_BLK改变为第一存储器管芯DIE_1中包括的另一存储块。存储器控制器120可以避免或减少由于重复擦除操作/编程操作而发生的状态检查存储块SC_BLK的劣化。
在下文中,描述了详细方法的示例,以说明存储器***100如何基于第一存储器管芯DIE_1的状态检查存储块SC_BLK和附加数据结构来检查第一存储器管芯DIE_1中存储的数据的状态。
图6是示出基于所公开技术的实施例的存储器***100针对多个温度区间TP中的每一个来管理状态检查页面SC_PG和编程存储块列表PGM_BLK_LIST的操作的示图。
参照图6,存储器***100的存储器控制器120可以检查存储器***100的温度落入已设置的多个温度区间TP之中的哪个温度区间TP内。关于多个温度区间TP的信息可以在存储器***100的制造过程期间提前设置或者被存储为单独的设置信息。多个温度区间TP的数量和每个温度区间TP的范围可以被任意地确定。
在一些实施方案中,可以将存储器***100的温度确定为分别在多个存储器管芯DIE处测量的温度的平均值。在一些其它实施方案中,存储器***100的温度可以被确定为存储器***100中包括的特定模块或区域的温度。
在一些实施方案中,存储器***100可以使用至少一个温度传感器来测量存储器***100的温度。
针对提前设置的多个温度区间TP中的每一个,存储器控制器120可以管理与温度区间TP相对应的状态检查页面SC_PG。状态检查页面SC_PG可以被包括在上面参照图5描述的状态检查存储块SC_BLK中。参照图6,状态检查存储块SC_BLK包括分别与温度区间TP相对应的多个状态检查页面SC_PG。状态检查页面SC_PG可以用于检查在与相应状态检查页面SC_PG相对应的温度区间TP中的第一存储器管芯DIE_1中存储的数据的状态。
在一些实施方案中,针对提前设置的多个温度区间TP中的每一个,存储器控制器120可以管理编程存储块列表PGM_BLK_LIST,编程存储块列表PGM_BLK_LIST指示当存储器***100的温度落入相应温度区间TP内时关于编程有数据的存储块的信息。
编程存储块列表PGM_BLK_LIST可以指示当存储器***100的温度落入与相应编程存储块列表PGM_BLK_LIST相对应的温度区间TP内时数据被编程到第一存储器管芯DIE_1中包括的存储块之中的哪些存储块。存储器控制器120可以根据信息的排列顺序来顺序地访问关于编程存储块列表PGM_BLK_LIST中存储的存储块的信息。
在一些实施方案中,编程存储块列表PGM_BLK_LIST可以通过诸如以下的各种数据结构来实施:链表、循环列表、阵列等。
图7是示出基于所公开技术的实施例的当存储器***100的温度已经初次进入第一温度区间TP1时由存储器***100执行的操作的示例的示图。
参照图7,当确定存储器***100的温度已经初次进入多个温度区间TP之中的第一温度区间TP1时,存储器***100的存储器控制器120可以将数据编程到参考页面REF_PG,该参考页面REF_PG是与第一温度区间TP1相对应的状态检查页面并且被包括在第一存储器管芯DIE_1的状态检查存储块SC_BLK中。
参考页面REF_PG是当存储器***100的温度落入第一温度区间TP1内时用于确定编程有数据的存储块的状态的状态检查页面。
在下文中,将描述存储器***100将数据编程到上述参考页面REF_PG的详细方法。
图8是示出基于所公开技术的实施例的将数据编程到参考页面REF_PG的操作的示例的示图。
参照图8,当将数据编程到参考页面REF_PG时,存储器***100的存储器控制器120可以将数据编程到参考页面REF_PG,使得在与参考页面REF_PG相对应的存储器单元之中不存在处于擦除状态的存储器单元。因此,当参考页面REF_PG的存储器单元没有发生错误时,处于擦除状态的存储器单元的数量为零。
状态检查存储块SC_BLK包括多个存储器单元,并且多个存储器单元中的一些可以与参考页面REF_PG相对应。根据状态检查存储块SC_BLK中包括的存储器单元的类型,与参考页面REF_PG相对应的存储器单元的数量可以变化。例如,当参考页面REF_PG的存储容量为4KB且状态检查存储块SC_BLK中包括的每个存储器单元的类型为SLC时,与参考页面REF_PG相对应的存储器单元的数量可以为4K*8/1=32K。在另一示例中,当参考页面REF_PG的存储容量为4KB且状态检查存储块SC_BLK中包括的每个存储器单元的类型为QLC时,与参考页面REF_PG相对应的存储器单元的数量可以为4K*8/4=8K。
在存储器控制器120将数据编程到参考页面REF_PG之前,与参考页面REF_PG相对应的所有存储器单元处于擦除状态。当将数据编程到参考页面REF_PG时,为了保证与参考页面REF_PG相对应的存储器单元之中不存在处于擦除状态的存储器单元,存储器控制器120可以设置待编程到参考页面REF_PG的数据,使得待存储在每个存储器单元中的数据具有除了指示擦除状态的值(例如,111)之外的特定值(例如,110或010)。
可以以其它方式来实施将数据编程到与参考页面REF_PG相对应的存储器单元。在一些实施方案中,存储器控制器120可以将具有相同值的数据编程到与参考页面REF_PG相对应的所有存储器单元。
在下文中,将描述用于确定存储器***100的温度是否已经初次进入第一温度区间TP1的方法。
图9是示出基于所公开技术的一些实施方案的确定存储器***100的温度是否已经初次进入第一温度区间TP1的操作的示图。
参照图9,存储器***100的存储器控制器120可以基于指示是否已经生成参考页面REF_PG的位的值来确定存储器***100的温度是否已经初次进入第一温度区间TP1。
在图9中,针对各个温度区间TP,存储器控制器120可以管理指示存储器***100的温度是否曾经进入各个温度区间TP的相应位。当相应位具有第一值(例如,0)时,则相应位指示存储器***100的温度从未进入与相应位相对应的特定温度区间TP。当相应位具有第二值(例如,1)时,则相应位指示存储器***100的温度已经进入与相应位相对应的温度区间TP。
在这种情况下,当存储器***100的温度进入第一温度区间TP1时,如果与第一温度区间TP1相对应的位具有第一值,则存储器控制器120确定存储器***100的温度已经初次进入第一温度区间TP1。如果与第一温度区间TP1相对应的位具有第二值,则存储器控制器120确定存储器***100的温度先前已经进入第一温度区间TP1。
当存储器***100的温度进入多个温度区间TP之中的特定温度区间TP时,存储器控制器120可以将特定温度区间TP的相应位的值从第一值改变为第二值。与特定温度区间TP相对应的位从第一值到第二值的改变可以用作存储器***100的温度已经初次进入了相应温度区间TP的记录。如上所述,在确定存储器***100的温度已经初次进入特定温度区间时,存储器***100将数据编程到与特定温度区间相对应的状态检查页面中包括的存储器单元。
接下来,将描述存储器***100确定状态检查存储块SC_BLK中的参考页面REF_PG的位置的方法。
图10是示出基于所公开技术的实施例的存储器***100确定参考页面REF_PG的位置的操作的示例的示图。
参照图10,存储器***100的存储器控制器120可以基于指示在状态检查存储块SC_BLK中的待分配给多个温度区间TP中的任意一个的状态检查页面的位置的信息,来确定参考页面REF_PG。例如,存储器控制器120可以通过在状态检查存储块SC_BLK中搜索尚未分配给多个温度区间TP中的任意一个的页面来获得该信息。对于另一示例,存储器控制器120可以通过搜索1)尚未分配给多个温度区间TP中的任意一个并且2)邻近与存储器***100的温度当前所属的温度区间相对应的状态检查页面的页面来获得信息。
状态检查存储块SC_BLK中包括的状态检查页面中的每一个可以是已经分配给多个温度区间TP中的任意一个的状态检查页面或者是尚未分配给多个温度区间TP中的任意一个的状态检查页面。当存储器***100的温度初次进入第一温度区间TP1时,存储器控制器120可以在每个尚未分配给多个温度区间TP中的任意一个的状态检查页面之中选择待分配给第一温度区间TP1的状态检查页面。
为此,存储器控制器120可以基于指示包括在状态检查存储块SC_BLK中的并且接下来待分配给多个温度区间TP中的任意一个的状态检查页面的位置的信息来确定参考页面REF_PG的位置,并且可以确定相应位置处的参考页面REF_PG。因此,位于相应位置处的参考页面REF_PG成为与第一温度区间TP1相对应的状态检查页面。
因为参考页面REF_PG已经被分配给第一温度区间TP1,所以存储器控制器120可以更新指示接下来待分配给多个温度区间TP中的任意一个的状态检查页面的位置的信息。更新后的信息指示尚未分配给多个温度区间TP中的任意一个的一个或多个状态检查页面。
在上文中,已经描述了作为与第一温度区间TP1相对应的状态检查页面的参考页面REF_PG。
在下文中,将解释管理第一编程存储块列表PGM_BLK_LIST1的方法。第一编程存储块列表PGM_BLK_LIST1是指作为图6中所示的编程存储块列表PGM_BLK_LIST中的一个并与第一温度区间TP1相对应的编程存储块列表PGM_BLK_LIST。
图11和图12是示出基于所公开技术的实施例的管理作为与第一温度区间TP1相对应的编程存储块列表PGM_BLK_LIST的第一编程存储块列表PGM_BLK_LIST1的操作的示例的示图。
参照图11,当存储器***100的温度落入第一温度区间TP1内时,第一编程存储块列表PGM_BLK_LIST1包括关于编程有数据的存储块BLK的信息。
当存储器***100的温度落入第一温度区间TP1内时,在编程有数据的存储块BLK之中,可能存在存储有效数据的存储块,并且可能存在没有存储有效数据的存储块。例如,如果当存储器***100的温度落入第一温度区间TP1内时将有效数据编程到任意一个存储块,然后对相应存储块运行擦除操作或垃圾收集操作,则相应存储块中可能不再存在有效数据。
存储器***100的存储器控制器120可以从第一编程存储块列表PGM_BLK_LIST1中移除关于没有存储有效数据的存储块的信息。这是因为不需要校正无效数据中发生的错误。
参照图12,当存储器***100的温度落入第一温度区间TP1内时,第一编程存储块列表PGM_BLK_LIST1包括关于编程有数据的存储块BLK之中的编程有有效数据的存储块BLK的信息。
存储器***100的存储器控制器120可以根据每个存储块BLK的擦除/编程计数EW_CNT的值来重新排列第一编程存储块列表PGM_BLK_LIST1中包括的关于存储块BLK的信息。在图12中,作为示例,将描述存储器控制器120按照相对于擦除/编程计数EW_CNT的值的降序顺序来重新排列第一编程存储块列表PGM_BLK_LIST1中包括的关于存储块BLK的信息的操作。擦除/编程计数与对存储块执行擦除操作或编程操作的次数相对应。
例如,假设第一编程存储块列表PGM_BLK_LIST1包括关于具有分别为10、30、20和15的擦除/编程计数EW_CNT的存储块的信息。
存储器控制器120可以重新排列第一编程存储块列表PGM_BLK_LIST1中包括的关于存储块BLK的信息,使得关于擦除/编程计数EW_CNT为最大值30的存储块BLK的信息位于最前,关于擦除/编程计数EW_CNT的值为20的存储块BLK的信息位于其次,关于擦除/编程计数EW_CNT的值为15的存储块BLK的信息位于再次,并且擦除/编程计数EW_CNT的值为10的存储块BLK的信息位于最后。
在下文中,存储器控制器120可以根据关于存储块BLK的多条信息的排列顺序来检查由第一编程存储块列表PGM_BLK_LIST1指示的存储块BLK的状态。存储器控制器120可以首先检查擦除/编程计数EW_CNT为最大值30的存储块BLK的状态,然后检查擦除/编程计数EW_CNT的值为20的存储块BLK的状态,然后检查擦除/编程计数EW_CNT的值为15的存储块BLK的状态,然后检查擦除/编程计数EW_CNT的值为10的存储块BLK的状态。
在一些实施方案中,与上面参照图12描述的重新排列方法不同,存储器控制器120按照相对于擦除/编程计数EW_CNT的值的升序顺序来重新排列第一编程存储块列表PGM_BLK_LIST1中包括的关于存储块BLK的信息。
在上文中,已经描述了管理参考页面REF_PG和第一编程存储块列表PGM_BLK_LIST1的方法。
在下文中,将描述当存储器***100的温度落入第一温度区间TP1内时检查第一存储器管芯DIE_1中包括的存储块BLK中存储的数据的状态的方法。
图13是示出基于所公开技术的实施例的存储器***10读取参考页面REF_PG中存储的数据的操作的示例的示图。
参照图13,当存储器***100的温度落入第一温度区间TP1内时,为了检查第一存储器管芯DIE_1中包括的存储块中存储的数据的状态,存储器***100的存储器控制器120可以读取状态检查存储块SC_BLK中包括的参考页面REF_PG中存储的数据。
如上所述,参考页面REF_PG中存储的数据是当存储器***100的温度初次进入第一温度区间TP1时所编程的数据。在一些实施方案中,基于参考页面REF_PG中存储的数据的状态,当存储器***100的温度处于第一温度区间TP1时,存储器控制器120可以预测编程到第一存储器管芯DIE_1的数据的整体状态。
图14是示出基于所公开技术的实施例的确定是否检查存储块中存储的数据的状态的操作的示例的流程图。
参照图14,存储器***100的存储器控制器120可以读取参考页面REF_PG中存储的数据(S1410)。
在操作S1410,读取参考页面REF_PG中存储的数据。基于在操作S1410读取参考页面REF_PG中存储的数据的结果,存储器控制器120确定处于擦除状态并与参考页面REF_PG相对应的存储器单元的数量(S1420)。例如,通过将在操作S1410读取的数据划分为与存储器单元相对应的数据单元,然后对数据单元之中的每个具有与擦除状态相对应的值的数据单元的数量进行计数,存储器控制器120可以确定处于擦除状态的存储器单元的数量。
存储器控制器120确定处于擦除状态的存储器单元的数量是否等于或大于预设阈值计数(S1430)。
当处于擦除状态的存储器单元的数量等于或大于预设阈值计数时(S1430-Y),存储器控制器120可以检查由作为与第一温度区间TP1相对应的编程存储块列表PGM_BLK_LIST的第一编程存储块列表PGM_BLK_LIST1指示的存储块中存储的数据的状态(S1440)。存储块由第一编程存储块列表PGM_BLK_LIST1指示的事实表示指示相应存储块的信息被包括在第一编程存储块列表PGM_BLK_LIST1中。
另一方面,当处于擦除状态的存储器单元的数量小于预设阈值计数时(S1430-N),存储器控制器120可以不运行检查信息由第一编程存储块列表PGM_BLK_LIST1指示的存储块中存储的数据的状态的操作。
当存储器***100的温度处于第一温度区间TP1时,存储器控制器120将数据编程到参考页面REF_PG,使得在与参考页面REF_PG相对应的存储器单元之中不存在处于擦除状态的存储器单元。因此,在与参考页面REF_PG相对应的存储器单元之中检测到处于擦除状态的存储器单元的事实表示在第一温度区间TP1中被编程到第一存储器管芯DIE_1的数据中发生错误。
如果与参考页面REF_PG相对应的存储器单元之中的处于擦除状态的存储器单元的数量等于或大于阈值计数,则还可以认为当存储器***100的温度落入第一温度区间TP1内时被编程到第一存储器管芯DIE_1的数据发生错误的可能性较高。因此,通过检查被编程到第一存储器管芯DIE_1数据的状态,当存储器***100的温度落入第一温度区间TP1内时,存储器控制器120可以防止由于存储器***100的温度改变而导致被编程到第一存储器管芯DIE_1的数据的可靠性降低的问题。
图15是示出基于所公开技术的实施例的确定是否对存储块中存储的数据进行重新编程的操作的示例的流程图。
参照图15,存储器***100的存储器控制器120读取由作为与第一温度区间TP1相对应的编程存储块列表PGM_BLK_LIST的第一编程存储块列表PGM_BLK_LIST1指示的存储块中存储的数据(S1510)。
基于在操作S1510读取的数据,存储器控制器120确定在信息由与第一温度区间TP1相对应的第一编程存储块列表PGM_BLK_LIST1指示的存储块中检测到的错误位的数量是否等于或大于预设阈值错误位数量(S1520)。UECC的错误位的数量也可以被包括在所检测到的错误位的数量中。
当所检测到的错误位的数量等于或大于预设阈值错误位数量时(S1520-是),存储器控制器120可以对被编程到由第一编程存储块列表PGM_BLK_LIST1指示的存储块的数据进行重新编程(S1530)。例如,为了运行重新编程操作,存储器控制器120可以对由与第一温度区间TP1相对应的第一编程存储块列表PGM_BLK_LIST1指示的存储块运行垃圾收集。
另一方面,当所检测到的错误位的数量小于预设阈值错误位数量时(S1520-否),存储器控制器120可以省略对被编程到由第一编程存储块列表PGM_BLK_LIST1指示的存储块的数据进行重新编程的操作。
图16是示出基于所公开技术的实施例的操作存储器***100的方法的示图。
参照图16,针对存储器装置110中包括的多个存储器管芯DIE之中的第一存储器管芯DIE_1,存储器***100的操作方法可以包括操作S1610:将第一存储器管芯DIE_1中包括的多个存储块BLK之中的状态检查存储块SC_BLK设置为用于检查第一存储器管芯DIE_1中包括的存储块BLK中存储的数据的状态的存储块。
另外,存储器***100的操作方法可以包括操作S1620:针对设置的多个温度区间TP中的每一个,管理状态检查存储块SC_BLK中与每个温度区间TP相对应的状态检查页面SC_PG以及编程存储块列表PGM_BLK_LIST,编程存储块列表PGM_BLK_LIST指示关于当存储器***100的温度落入每个温度区间TP内时编程有数据的存储块BLK的信息。
图17是示出针对多个温度区间中的每一个来管理状态检查页面和编程存储块列表的操作S1620的示例的示图。
参照图17,针对多个温度区间中的每一个来管理状态检查页面和编程存储块列表的操作S1620可以包括以下操作S1710:确定存储器***100的温度是否已经初次进入多个温度区间TP之中的第一温度区间TP1。
而且,针对多个温度区间中的每一个来管理状态检查页面和编程存储块列表的操作S1620可以包括操作S1720:为了在存储器***100的温度落入第一温度区间TP1内时检查编程有数据的存储块的状态,将数据编程在作为状态检查存储块SC_BLK中的与第一温度区间TP1相对应的状态检查页面的参考页面REF_PG中。此时,数据被编程为使得在与参考页面REF_PG相对应的存储器单元之中不存在处于擦除状态的存储器单元。
确定存储器***100的温度是否已经初次进入多个温度区间TP之中的第一温度区间TP1的操作S1710可以例如基于指示参考页面REF_PG是否已经生成的位的值来确定存储器***100的温度是否已经初次进入第一温度区间TP1。
例如可以基于指示状态检查存储块SC_BLK中的接下来待分配给多个温度区间TP中的任意一个的状态检查页面的位置的信息,来确定状态检查存储块SC_BLK中的参考页面REF_PG。
除了操作S1710和操作S1720之外,针对多个温度区间中的每一个来管理状态检查页面和编程存储块列表的操作S1620可以进一步包括以下操作:从作为与第一温度区间TP1相对应的编程存储块列表PGM_BLK_LIST的第一编程存储块列表PGM_BLK_LIST1中移除关于没有存储有效数据的存储块的信息。在这种情况下,操作S1620可以进一步包括以下操作:根据每个存储块的擦除/编程计数的值来重新排列第一编程存储块列表PGM_BLK_LIST1中包括的关于存储块的信息。
在一些实施方案中,针对多个温度区间中的每一个来管理状态检查页面和编程存储块列表的操作S1620可以进一步包括以下操作:当存储器***100的温度落入第一温度区间TP1内时,为了检查第一存储器管芯DIE_1中包括的存储块中存储的数据的状态,读取状态检查存储块SC_BLK中的参考页面REF_PG中存储的数据。
操作S1620可以进一步包括以下操作:当确定与参考页面REF_PG相对应的存储器单元之中的处于擦除状态的存储器单元的数量等于或大于预设阈值计数时,检查由作为与第一温度区间TP1相对应的编程存储块列表PGM_BLK_LIST的第一编程存储块列表PGM_BLK_LIST1指示的存储块中存储的数据的状态。
操作S1620可以进一步包括以下操作:当在由第一编程存储块列表PGM_BLK_LIST1指示的存储块中检测到的错误位的数量等于或大于阈值错误位数量时,对被编程到由第一编程存储块列表PGM_BLK_LIST1指示的存储块中的数据进行重新编程。
图18是示出基于所公开技术的实施例的计算***1800的配置的示图。
参照图18,基于所公开技术的实施例的计算***1800可以包括:存储器***100,电连接到***总线1860;CPU 1810,被配置成控制计算***1800的全部操作;RAM 1820,被配置成存储与计算***1800的操作相关的数据和信息;用户接口/用户体验(UI/UX)模块1830,被配置成向用户提供用户环境;通信模块1840,被配置成以有线和/或无线类型与外部装置通信;以及电源管理模块1850,被配置成管理由计算***1800使用的电力。
计算***1800可以是个人计算机(PC)或者可以包括诸如智能电话、平板电脑或各种电子装置的移动终端。
计算***1800可以进一步包括用于供应操作电压的电池,并且可以进一步包括应用芯片组、图形相关模块、相机图像处理器和DRAM。其它元件对于本领域技术人员而言将是显而易见的。
存储器***100可以不仅可以包括被配置为将数据存储在磁盘中的装置,诸如硬盘驱动器(HDD),还可以包括被配置为将数据存储在非易失性存储器中的装置,诸如固态驱动器(SSD)、通用闪存装置或嵌入式MMC(eMMC)装置。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、铁电RAM(FRAM)等。另外,存储器***100可以被实施为各种类型的存储装置并且被安装在各种电子装置内部。
基于上述所公开技术的实施例,可以有利地减少或最小化存储器***的操作延迟时间。另外,基于所公开技术的实施例,可以有利地减少或最小化在调用特定功能的进程中引起的开销。
虽然出于说明性目的已经以特定的详情和变化的细节描述了所公开技术的各个实施例,但是基于本专利文件中公开或示出的内容,可以对所公开实施例和其它实施例进行各种修改、添加和替换。

Claims (18)

1.一种存储器***,包括:
存储器装置,包括多个存储器管芯,每个存储器管芯包括存储数据的多个存储块;以及
存储器控制器,被联接以与所述存储器装置通信并且控制所述存储器装置,
其中所述存储器控制器针对所述多个存储器管芯中包括的第一存储器管芯设置状态检查存储块,所述状态检查存储块用于检查所述第一存储器管芯中包括的存储块中存储的数据的状态,并且
其中所述存储器控制器进一步针对预定的多个温度区间中的每一个管理(1)状态检查页面,所述状态检查页面与温度区间相对应并且被包括在所述状态检查存储块中,和(2)编程存储块列表,所述编程存储块列表指示关于在所述存储器***的温度落入所述温度区间内时编程的特定存储块的信息。
2.根据权利要求1所述的存储器***,其中所述存储器控制器进一步响应于确定所述存储器***的温度已经初次进入所述温度区间,将数据编程在所述状态检查页面中,使得所述状态检查页面中没有处于擦除状态的存储器单元。
3.根据权利要求2所述的存储器***,其中所述存储器控制器进一步基于指示所述状态检查页面是否已经被生成的位的值来确定所述存储器***的温度是否已经进入所述温度区间。
4.根据权利要求2所述的存储器***,其中所述存储器控制器进一步基于指示待分配给所述多个温度区间中的另一温度区间的另一状态检查页面的位置的信息,确定所述状态检查存储块中包括的所述状态检查页面。
5.根据权利要求2所述的存储器***,其中所述存储器控制器进一步从所述编程存储块列表中移除关于没有存储有效数据的存储块的信息。
6.根据权利要求5所述的存储器***,其中所述存储器控制器进一步根据已经对每个存储块执行擦除操作或编程操作的计数值来重新排列所述编程存储块列表中包括的关于所述特定存储块的信息。
7.根据权利要求2所述的存储器***,其中所述存储器控制器进一步在所述存储器***的温度落入所述温度区间内时,读取所述状态检查存储块中的所述状态检查页面中存储的数据,以确定所述特定存储块的状态。
8.根据权利要求7所述的存储器***,其中所述存储器控制器进一步在所述状态检查存储块包括等于或大于预设阈值计数的数量的处于擦除状态的存储器单元的情况下,检查由所述编程存储块列表指示的所述特定存储块中存储的数据。
9.根据权利要求8所述的存储器***,其中所述存储器控制器进一步在所述特定存储块中检测到的错误位的数量等于或大于阈值数量的情况下,对被编程到由所述编程存储块列表指示的所述特定存储块中的数据进行重新编程。
10.一种操作存储器***的方法,所述存储器***包括存储器装置,所述方法包括:
针对作为所述存储器装置中包括的多个存储器管芯中的一个的第一存储器管芯设置状态检查存储块,所述状态检查存储块用于检查所述第一存储器管芯中包括的存储块中存储的数据的状态;并且
针对预定的多个温度区间中的每一个管理(1)状态检查页面,所述状态检查页面与温度区间相对应并且被包括在所述状态检查存储块中,和(2)编程存储块列表,所述编程存储块列表指示关于在所述存储器***的温度落入所述温度区间内时编程的特定存储块的信息。
11.根据权利要求10所述的方法,其中所述管理进一步包括:
确定所述存储器***的温度是否已经初次进入所述温度区间;并且
将数据编程在所述状态检查页面中,使得所述状态检查页面没有处于擦除状态的存储器单元。
12.根据权利要求11所述的方法,其中基于指示是否已经生成所述状态检查页面的位的值来执行所述确定。
13.根据权利要求11所述的方法,其中基于指示待分配给所述多个温度区间中的另一温度区间的另一状态检查页面的位置的信息来确定所述状态检查页面。
14.根据权利要求11所述的方法,其中所述管理进一步包括:
从所述编程存储块列表中移除关于没有存储有效数据的存储块的信息。
15.根据权利要求14所述的方法,其中所述管理进一步包括:
根据已经对每个存储块执行擦除操作或编程操作的计数值来重新排列所述编程存储块列表中包括的关于所述特定存储块的信息。
16.根据权利要求11所述的方法,其中所述管理进一步包括:
在所述存储器***的温度落入所述温度区间内时,读取所述状态检查存储块中的所述状态检查页面中存储的数据,以确定所述特定存储块的状态。
17.根据权利要求16所述的方法,其中所述管理进一步包括:
在所述状态检查存储块包括等于或大于预设阈值计数的数量的处于擦除状态的存储器单元的情况下,检查由所述编程存储块列表指示的所述特定存储块中存储的数据。
18.根据权利要求17所述的方法,其中所述管理进一步包括:
在所述特定存储块中检测到的错误位的数量等于或大于阈值数量的情况下,对被编程到由所述编程存储块列表指示的所述特定存储块中的数据进行重新编程。
CN202111020212.2A 2021-03-18 2021-09-01 存储器***及其操作方法 Pending CN115116517A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0035251 2021-03-18
KR1020210035251A KR20220130409A (ko) 2021-03-18 2021-03-18 메모리 시스템 및 메모리 시스템의 동작 방법

Publications (1)

Publication Number Publication Date
CN115116517A true CN115116517A (zh) 2022-09-27

Family

ID=83284681

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111020212.2A Pending CN115116517A (zh) 2021-03-18 2021-09-01 存储器***及其操作方法

Country Status (3)

Country Link
US (1) US20220300187A1 (zh)
KR (1) KR20220130409A (zh)
CN (1) CN115116517A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120284453A1 (en) * 2011-03-10 2012-11-08 Kabushiki Kaisha Toshiba Information processing device, external storage device, host device, relay device, control program, and control method of information processing device
US20160117216A1 (en) * 2014-10-24 2016-04-28 Micron Technology, Inc. Temperature related error management
US20160188219A1 (en) * 2014-12-30 2016-06-30 Sandisk Technologies Inc. Systems and methods for storage recovery
US20170255403A1 (en) * 2016-03-04 2017-09-07 Western Digital Technologies, Inc. Temperature variation compensation
US20170337972A1 (en) * 2016-05-18 2017-11-23 SK Hynix Inc. Memory system and operating method thereof
CN111352756A (zh) * 2018-12-20 2020-06-30 爱思开海力士有限公司 检测存储器装置中存储的数据的错误的装置及其操作方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10296236B2 (en) * 2015-07-01 2019-05-21 Pure Storage, Inc. Offloading device management responsibilities from a storage device in an array of storage devices
US9658791B2 (en) * 2015-08-14 2017-05-23 International Business Machines Corporation Managing temperature of solid state disk devices
US10126970B2 (en) * 2015-12-11 2018-11-13 Sandisk Technologies Llc Paired metablocks in non-volatile storage device
US11061606B2 (en) * 2018-06-29 2021-07-13 Micron Technology, Inc. NAND temperature-aware operations

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120284453A1 (en) * 2011-03-10 2012-11-08 Kabushiki Kaisha Toshiba Information processing device, external storage device, host device, relay device, control program, and control method of information processing device
CN103403691A (zh) * 2011-03-10 2013-11-20 株式会社东芝 信息处理装置、外部储存装置、主机装置、中继装置、控制程序以及信息处理装置的控制方法
US20160117216A1 (en) * 2014-10-24 2016-04-28 Micron Technology, Inc. Temperature related error management
US20160188219A1 (en) * 2014-12-30 2016-06-30 Sandisk Technologies Inc. Systems and methods for storage recovery
US20170255403A1 (en) * 2016-03-04 2017-09-07 Western Digital Technologies, Inc. Temperature variation compensation
CN109074831A (zh) * 2016-03-04 2018-12-21 西部数据技术公司 存储器的温度变化补偿
US20170337972A1 (en) * 2016-05-18 2017-11-23 SK Hynix Inc. Memory system and operating method thereof
CN111352756A (zh) * 2018-12-20 2020-06-30 爱思开海力士有限公司 检测存储器装置中存储的数据的错误的装置及其操作方法

Also Published As

Publication number Publication date
US20220300187A1 (en) 2022-09-22
KR20220130409A (ko) 2022-09-27

Similar Documents

Publication Publication Date Title
CN114067870A (zh) 存储器***、存储器装置以及用于操作存储器装置的方法
US20230333932A1 (en) Memory system and operating method thereof
US11301174B2 (en) Memory system, memory controller and method for operating memory system
CN114863962A (zh) 存储器***及其操作方法
CN113257324A (zh) 存储器***、存储器控制器以及操作存储器***的方法
CN113010095A (zh) 存储器***、存储器控制器及其操作方法
CN113703662A (zh) 存储器***、存储器控制器及其操作方法
CN113535598A (zh) 存储器***、存储器控制器以及存储器***的操作方法
CN112306387A (zh) 存储器***、存储器控制器以及操作存储器***的方法
CN115963981A (zh) 存储器***及存储器***的操作方法
CN115952115A (zh) 基于融合链表控制同步操作的存储器控制器及其操作方法
CN116136738A (zh) 使用外部装置执行后台操作的存储器***及其操作方法
CN115206393A (zh) 存储器装置及存储器装置的操作方法
CN114520013A (zh) 存储器***及其操作方法
CN115113807A (zh) 存储器***以及存储器***的操作方法
CN114090473A (zh) 存储器***、存储器控制器及操作存储器***的方法
CN114530173A (zh) 存储器***及其操作方法
CN112925476A (zh) 存储器***、存储器控制器及其操作方法
US20220300187A1 (en) Memory system and operating method thereof
US11954349B2 (en) Memory system for executing a target operation based on a program state of a super memory block and operating method thereof
US11636007B2 (en) Memory system and operating method thereof for flushing data in data cache with parity
US11704050B2 (en) Memory system for determining a memory area in which a journal is stored according to a number of free memory blocks
US20230376246A1 (en) Memory system, memory controller and operating method of the memory system operating as read boost mode
CN115437968A (zh) 存储器***及存储器***的操作方法
CN114968078A (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