CN112783435A - 存储设备和操作存储设备的方法 - Google Patents

存储设备和操作存储设备的方法 Download PDF

Info

Publication number
CN112783435A
CN112783435A CN202010857991.0A CN202010857991A CN112783435A CN 112783435 A CN112783435 A CN 112783435A CN 202010857991 A CN202010857991 A CN 202010857991A CN 112783435 A CN112783435 A CN 112783435A
Authority
CN
China
Prior art keywords
memory
read voltage
search operation
block
target block
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
CN202010857991.0A
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 CN112783435A publication Critical patent/CN112783435A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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/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
    • 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
    • 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/073Error 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 memory management context, e.g. virtual memory or cache management
    • 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/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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
    • 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
    • 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
    • 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/30Power supply circuits
    • 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
    • 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
    • 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/0736Error 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 functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0742Error 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 functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in a mobile device, e.g. mobile phones, handheld devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • 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

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 Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本公开涉及存储设备和操作存储设备的方法。一种包括搜索操作管理器的存储器控制器。搜索操作管理器对针对多个存储器块执行最佳读取电压搜索操作的次数进行计数,并且确定执行最佳读取电压搜索操作的次数超过参考次数的目标块。块管理器将目标块设置为坏块。

Description

存储设备和操作存储设备的方法
相关申请的交叉引用
本申请要求于2019年11月5日在韩国知识产权局提交的韩国专利申请10-2019-0140516的优先权,其全部内容通过引用合并于此。
技术领域
本公开涉及一种电子设备,并且更具体地涉及一种存储设备和一种操作该存储设备的方法。
背景技术
存储设备是在诸如计算机或智能电话等主机设备的控制下存储数据的设备。存储设备可以包括其中存储有数据的存储器设备和控制该存储器设备的存储器控制器。存储器设备的分类可以划分为易失性存储器设备和非易失性存储器设备。
易失性存储器设备是仅在被供电时才存储数据并且在电源被切断时丢失所存储的数据的设备。易失性存储器设备包括静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等。
非易失性存储器设备是即使断电也不丢失数据的设备。非易失性存储器设备包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存等。
发明内容
根据本公开的实施例的控制包括多个存储器块的存储器设备的存储器控制器可以包括:搜索操作管理器和块管理器。搜索操作管理器可以被配置为对针对多个存储器块执行最佳读取电压搜索操作的次数进行计数,并且确定执行最佳读取电压搜索操作的次数超过参考次数的目标块。块管理器将目标块设置为坏块。
根据本公开的实施例的存储设备可以包括具有多个存储器块的存储器设备、以及存储器控制器。存储器控制器可以被配置为对针对多个存储器块执行最佳读取电压搜索操作的次数进行计数,并且基于计数的结果来确定多个存储器块中执行最佳读取电压搜索操作的次数超过参考次数的目标块。
根据本公开的实施例的操作包括多个存储器块的存储设备的方法可以包括:对对多个存储器块执行最佳读取电压搜索操作的次数进行计数。
附图说明
图1是用于描述根据本公开的实施例的存储设备的图;
图2是用于描述图1的存储器设备的结构的图;
图3是用于描述图2的存储器单元阵列的图;
图4是用于描述根据实施例的最佳读取电压搜索操作的图;
图5是用于描述图1的存储器控制器的配置和操作的图;
图6是用于描述根据一个实施例的图5的搜索表存储部的图;
图7是用于描述根据另一实施例的图5的搜索表存储部的图;
图8是用于描述根据实施例的图1的存储设备的操作的图;
图9是用于描述根据实施例的目标块的确定的图;
图10是用于描述根据其他实施例的目标块的确定的图;
图11是用于描述根据其他实施例的目标块的确定的图;
图12是用于描述图1的存储器控制器的实施例的图;
图13是示出应用根据本公开的实施例的存储设备的存储卡***的框图;
图14是示出应用根据本公开的实施例的存储设备的固态驱动器(SSD)***的框图;以及
图15是示出应用根据本公开的实施例的存储设备的用户***的框图。
具体实施方式
根据本公开的概念的实施例可以以各种形式实现,并且不应当被解释为限于说明书或申请中描述的实施例。在下文中,将参考附图来描述本公开的实施例。
本公开的实施例提供了一种具有改进的块管理性能的存储设备以及操作该存储设备的方法。
图1是用于描述根据本公开的实施例的存储设备的图。
参考图1,存储设备50可以包括存储器设备100和控制该存储器设备的操作的存储器控制器200。存储设备50是在主机300(诸如蜂窝电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视、平板电脑或车载信息娱乐***)的控制下存储数据的设备。
根据作为与主机300的通信方法的主机接口,存储设备50可以被制造为各种类型的存储设备之一。例如,存储设备50可以被配置为各种类型的存储设备中的任何一种,诸如SSD、MMC、eMMC、RS-MMC和micro-MMC形式的多媒体卡、SD、mini-SD和micro-SD形式的安全数字卡、通用串行总线(USB)存储设备、通用闪存(UFS)设备、个人计算机存储卡国际协会(PCMCIA)卡类型存储设备、***组件互连(PCI)卡类型存储设备、PCI Express(PCI-E)卡类型存储设备、紧凑型闪存(CF)卡、智能媒体卡和记忆棒。
存储设备50可以被制造为各种类型的封装中的任何一种。例如,存储设备50可以被制造为各种类型的封装类型中的任何一种,诸如封装上封装(POP)、***级封装(SIP)、片上***(SOC)、多芯片封装(MCP)、板载芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
存储器设备100可以存储数据。存储器设备100在存储器控制器200的控制下操作。存储器设备100可以包括存储器单元阵列,该存储器单元阵列包括存储数据的多个存储器单元。
每个存储器单元可以被配置为存储一个数据位的单级单元(SLC)、存储两个数据位的多级单元(MLC)、存储三个数据位的三级单元(TLC)或存储四个数据位的四级单元(QLC)。
存储器单元阵列可以包括多个存储器块。每个存储器块可以包括多个存储器单元。一个存储器块可以包括多个页面。在一个实施例中,页面可以是用于将数据存储在存储器设备100中或读取存储在存储器设备100中的数据的单元。
存储器块可以是用于擦除数据的单元。在一个实施例中,存储器设备100可以是双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪存、垂直NAND闪存、NOR闪存设备、电阻式随机存取存储器(RRAM)、相变存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移转矩随机存取存储器(STT-RAM)等。在本说明书中,为了便于描述,假定存储器设备100是NAND闪存。
存储器设备100被配置为从存储器控制器200接收命令和地址,并且访问由存储器单元阵列的地址选择的区域。也就是说,存储器设备100可以对由地址选择的区域执行由命令指示的操作。例如,存储器设备100可以执行写入操作(编程操作)、读取操作和擦除操作。在编程操作期间,存储器设备100可以将数据编程到由地址选择的区域。在读取操作期间,存储器设备100可以从由地址选择的区域读取数据。在擦除操作期间,存储器设备100可以擦除存储在由地址选择的区域中的数据。
存储器控制器200控制存储设备50的整体操作。
当存储设备50被供电时,存储器控制器200可以执行固件FW。当存储器设备100是闪存设备时,存储器控制器200可以操作诸如闪存转换层(FTL)等固件以控制主机与存储器设备100之间的通信。
在一个实施例中,存储器控制器200可以从主机接收数据和逻辑块地址(LBA)并且将逻辑块地址(LBA)转换为物理块地址(PBA),物理块地址(PBA)指示要在其中存储存储器设备100中包括的数据的存储器单元的地址。
存储器控制器200可以响应于来自主机的请求而控制存储器设备100执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器200可以向存储器设备100提供写入命令、物理块地址和数据。在读取操作期间,存储器控制器200可以向存储器设备100提供读取命令和物理块地址。在擦除操作期间,存储器控制器200可以向存储器设备100提供擦除命令和物理块地址。
在一个实施例中,存储器控制器200可以生成命令、地址和数据并且将其传输到存储器设备100,而不管来自主机的请求如何。例如,存储器控制器200可以向存储器设备100提供命令、地址和数据以执行后台操作,诸如用于损耗均衡的编程操作和用于垃圾收集的编程操作。
在一个实施例中,存储器控制器200可以控制至少两个存储器设备100。在这种情况下,存储器控制器200可以根据交织方法来控制存储器设备100以提高操作性能。交织方法可以是用于使至少两个存储器设备100的操作周期重叠的操作方法。
在一个实施例中,存储器控制器200可以包括搜索操作管理器210和块管理器220。
搜索操作管理器210可以对针对存储器设备100的多个存储器块执行最佳读取电压搜索操作的次数进行计数。最佳读取电压搜索操作可以是:当针对存储器块的所选择的存储器单元的使用参考读取电压进行的读取操作失败时,使用基于参考读取电压而确定的多个读取电压来确定用于读取所选择的存储器单元的最佳读取电压的操作。
在一个实施例中,搜索操作管理器210可以存储对多个存储器块中的每个存储器块执行最佳读取电压搜索操作的次数。在另一实施例中,搜索操作管理器210可以根据执行最佳读取电压搜索操作的序列来存储被执行最佳读取电压搜索操作的块的索引。
搜索操作管理器210可以基于计数的结果来将执行最佳读取电压搜索操作的次数超过参考次数的存储器块确定为目标块。在一个实施例中,每当最佳读取电压搜索操作被执行时,搜索操作管理器210可以检测是否生成目标块。在另一实施例中,搜索操作管理器210可以针对每个恒定周期来检测是否生成目标块。恒定周期可以包括执行最佳读取电压搜索操作的预设时间或预设次数。如本文中关于参数(诸如预设时间或预设次数)所使用的单词“预设”是指在过程或算法中,参数的值在使用参数之前被确定。对于一些实施例,参数的值在过程或算法开始之前被确定。在其他实施例中,参数的值在过程或算法期间但是在在过程或算法中使用参数之前被确定。
块管理器220可以控制存储器设备100备份存储在目标块中的数据。块管理器220可以控制存储器设备100将存储在目标块中的数据复制到另一块。当数据备份完成时,块管理器220可以将目标块设置为坏块。
坏块可以是存储器块中可能没有存储数据的块。坏块可以根据生成的时间点被划分为在存储器设备100的制造期间生成的制造坏块(MBB)和在使用存储器块的过程中生成的生长坏块(GBB)。在一个实施例中,当读取存储有数据的存储器块时,发生不可纠正错误的存储器块可以是生长坏块。
主机300可以使用各种通信方法中的至少一种与存储设备50通信,诸如通用串行总线(USB)、串行AT附件(SATA)、串行附接SCSI(SAS)、高速芯片间(HSIC)、小型计算机***接口(SCSI)、***组件互连(PCI)、PCI Express(PCIe)、非易失性存储器Express(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式内存模块(DIMM)、注册DIMM(RDIMM)和负载减少DIMM(LRDIMM)。
图2是用于描述图1的存储器设备的结构的图。
参考图2,存储器设备100可以包括存储器单元阵列110、***电路120和控制逻辑130。控制逻辑130可以被实现为硬件、软件或硬件和软件的组合。例如,控制逻辑130可以是根据执行控制逻辑代码的算法和/或处理器进行操作的控制逻辑电路。
存储器单元阵列110包括多个存储器块BLK1至BLKz。多个存储器块BLK1至BLKz通过行线RL连接到地址译码器121。多个存储器块BLK1至BLKz通过位线BL1至BLm连接到读取和写入电路123。多个存储器块BLK1至BLKz中的每个包括多个存储器单元。作为一个实施例,多个存储器单元是非易失性存储器单元。多个存储器单元中连接到同一字线的存储器单元被定义为一个物理页面。也就是说,存储器单元阵列110由多个物理页面构成。根据本公开的实施例,存储器单元阵列110中包括的多个存储器块BLK1至BLKz中的每个可以包括多个虚拟单元。虚拟单元中的至少一个可以串联连接在漏极选择晶体管与存储器单元之间以及在源极选择晶体管与存储器单元之间。
存储器设备100的每个存储器单元可以被配置为存储一个数据位的单级单元(SLC)、存储两个数据位的多级单元(MLC)、存储三个数据位的三级单元(TLC)或存储四个数据位的四级单元(QLC)
***电路120可以包括地址译码器121、电压发生器122、读取和写入电路123、数据输入/输出电路124以及感测电路125。
***电路120驱动存储器单元阵列110。例如,***电路120可以驱动存储器单元阵列110执行编程操作、读取操作和擦除操作。
地址译码器121通过行线RL连接到存储器单元阵列110。行线RL可以包括漏极选择线、字线、源极选择线和公共源极线。根据本公开的实施例,字线可以包括普通字线和虚拟字线。根据本公开的实施例,行线RL还可以包括管道选择线。
地址译码器121被配置为响应于控制逻辑130的控制而操作。地址译码器121从控制逻辑130接收地址ADDR。
地址译码器121被配置为对所接收的地址ADDR的块地址进行译码。地址译码器121根据译码后的块地址来在存储器块BLK1至BLKz中选择至少一个存储器块。地址译码器121被配置为对所接收的地址ADDR的行地址RADD进行译码。地址译码器121可以通过根据译码后的行地址RADD将从电压发生器122提供的电压施加到至少一个字线WL来选择所选择的存储器块的至少一个字线。
在编程操作期间,地址译码器121可以将编程电压施加到所选择的字线,并且将电平小于编程电压的电平的通过电压施加到未选择的字线。在编程验证操作期间,地址译码器121可以将验证电压施加到所选择的字线,并且将电平大于验证电压的电平的验证通过电压施加到未选择的字线。
在读取操作期间,地址译码器121可以将读取电压施加到所选择的字线,并且将电平大于读取电压的电平的读取通过电压施加到未选择的字线。
根据本公开的实施例,存储器设备100的擦除操作以存储器块为单位来执行。在擦除操作期间输入到存储器设备100的地址ADDR包括块地址。地址译码器121可以对块地址进行译码,并且根据译码后的块地址来选择一个存储器块。在擦除操作期间,地址译码器121可以将接地电压施加到输入到所选择的存储器块的字线。
根据本公开的实施例,地址译码器121可以被配置为对所传输的地址ADDR的列地址进行译码。译码后的列地址可以被传输到读取和写入电路123。作为示例,地址译码器121可以包括诸如行译码器、列译码器和地址缓冲器等组件。
电压发生器122被配置为通过使用提供给存储器设备100的外部电源电压来生成多个操作电压Vop。电压发生器122响应于控制逻辑130的控制而操作。
作为示例,电压发生器122可以通过调节外部电源电压来生成内部电源电压。由电压发生器122生成的内部电源电压用作存储器设备100的操作电压。
作为实施例,电压发生器122可以使用外部电源电压或内部电源电压来生成多个操作电压Vop。电压发生器122可以被配置为生成存储器设备100所需要的各种电压。例如,电压发生器122可以生成多个擦除电压、多个编程电压、多个通过电压、多个选择读取电压和多个非选择读取电压。
为了生成具有各种电压电平的多个操作电压Vop,电压发生器122可以包括接收内部电压的多个泵浦电容器,并且响应于控制逻辑130而选择性地激活多个泵浦电容器以生成多个操作电压Vop。
所生成的多个操作电压Vop可以通过地址译码器121提供给存储器单元阵列110。
读取和写入电路123包括第一页面缓冲器PB1至第m页面缓冲器PBm。第一页面缓冲器PB1至第m页面缓冲器PBm分别通过第一位线BL1至第m位线BLm连接到存储器单元阵列110。第一页面缓冲器PB1至第m页面缓冲器PBm响应于控制逻辑130的控制而操作。
第一页面缓冲器PB1至第m页面缓冲器PBm与数据输入/输出电路124传送数据DATA。在编程时,第一页面缓冲器PB1至第m页面缓冲器PBm通过数据输入/输出电路124和数据线DL来接收要存储的数据DATA。
在编程操作期间,当编程电压被施加到所选择的字线时,第一页面缓冲器PB1至第m页面缓冲器PBm可以通过位线BL1到BLm向所选择的存储器单元传输要存储的数据DATA,即,通过数据输入/输出电路124接收的数据DATA。所选择的页面的存储器单元根据所传输的数据DATA被编程。连接到施加有编程许可电压(例如,接地电压)的位线的存储器单元可以具有增加的阈值电压。连接到施加有编程禁止电压(例如,电源电压)的位线的存储器单元的阈值电压可以被保持。在编程验证操作期间,第一页面缓冲器PB1至第m页面缓冲器PBm通过位线BL1至BLm从所选择的存储器单元中读取存储在存储器单元中的数据DATA。
在读取操作期间,读取和写入电路123可以通过位线BL从所选择的页面的存储器单元中读取数据DATA,并且将所读取的数据DATA存储在第一页面缓冲器PB1至第m页面缓冲器PBm中。
在擦除操作期间,读取和写入电路123可以使位线BL浮置。作为实施例,读取和写入电路123可以包括列选择电路。
数据输入/输出电路124通过数据线DL连接到第一页面缓冲器PB1至第m页面缓冲器PBm。数据输入/输出电路124响应于控制逻辑130的控制而操作。
数据输入/输出电路124可以包括接收输入数据DATA的多个输入/输出缓冲器(未示出)。在编程操作期间,数据输入/输出电路124从外部控制器(未示出)接收要存储的数据DATA。在读取操作期间,数据输入/输出电路124向外部控制器输出从读取和写入电路123中包括的第一页面缓冲器PB1至第m页面缓冲器PBm传输的数据DATA。
在读取操作或验证操作期间,感测电路125可以响应于由控制逻辑130生成的许可位VRYBIT的信号而生成参考电流,并且可以将从读取和写入电路123接收的感测电压VPB与由参考电流生成的参考电压进行比较,以向控制逻辑130输出通过信号或失败信号。
控制逻辑130可以连接到地址译码器121、电压发生器122、读取和写入电路123、数据输入/输出电路124以及感测电路125。控制逻辑130可以被配置为控制存储器设备100的所有操作。控制逻辑130可以响应于从外部设备传输的命令CMD而操作。
控制逻辑130可以响应于命令CMD和地址ADDR而生成各种信号以控制***电路120。例如,控制逻辑130可以响应于命令CMD和地址ADDR而生成操作信号OPSIG、行地址RADD、读取和写入电路控制信号PBSIGNALS以及许可位VRYBIT。控制逻辑130可以将操作信号OPSIG输出到电压发生器122,将行地址RADD输出到地址译码器121,将读取和写入控制信号输出到读取和写入电路123,并且将许可位VRYBIT输出到感测电路125。另外,控制逻辑130可以响应于由感测电路125输出的通过或失败信号PASS/FAIL而确定验证操作是通过还是失败。
图3是用于描述图2的存储器单元阵列的图。
参考图3,第一存储器块BLK1至第z存储器块BLKz共同连接到第一位线BL1至第m位线BLm。在图3中,为了便于描述,示出了多个存储器块BLK1至BLKz中的第一存储器块BLK1中包括的元件,并且省略了其余存储器块BLK2至BLKz中的每个中包括的元件。应当理解,其余存储器块BLK2至BLKz中的每个与第一存储器块BLK1类似地被配置。
存储器块BLK1可以包括多个单元串CS1_1至CS1_m(m是正整数)。第一单元串CS1_1至第m单元串CS1_m分别连接到第一位线BL1至第m位线BLm。第一单元串CS1_1至第m单元串CS1_m中的每个包括漏极选择晶体管DST、串联连接的多个存储器单元MC1至MCn(n是正整数)、和源极选择晶体管SST。
第一单元串CS1_1至第m单元串CS1_m中的每个单元串中包括的漏极选择晶体管DST的栅极端子连接到漏极选择线DSL1。第一单元串CS1_1至第m单元串CS1_m中的每个单元串中包括的第一存储器单元MC1至第n存储器单元MCn的栅极端子分别连接到第一字线WL1至第n字线WLn。第一单元串CS1_1至第m单元串CS1_m中的每个单元串中包括的源极选择晶体管SST的栅极端子连接到源极选择线SSL1。
为了便于描述,将参考多个单元串CS1_1至CS1_m中的第一单元串CS1_1来描述单元串的结构。然而,应当理解,其余单元串CS1_2至CS1_m中的每个与第一电池单元串CS1_1类似地被配置。
第一单元串CS1_1中包括的漏极选择晶体管DST的漏极端子连接到第一位线BL1。第一单元串CS1_1中包括的漏极选择晶体管DST的源极端子连接到第一单元串CS1_1中包括的第一存储器单元MC1的漏极端子。第一存储器单元MC1至第n存储器单元MCn彼此串联连接。第一单元串CS1_1中包括的源极选择晶体管SST的漏极端子连接到第一单元串CS1_1中包括的第n存储器单元MCn的源极端子。第一单元串CS1_1中包括的源极选择晶体管SST的源极端子连接到公共源极线CSL。作为实施例,公共源极线CSL可以公共地连接到第一存储器块BLK1至第z存储器块BLKz。
漏极选择线DSL1、第一字线WL1至第n字线WLn、以及源极选择线SSL1被包括在图2的行线RL中。漏极选择线DSL1、第一字线WL1至第n字线WLn、以及源极选择线SSL1由地址译码器121控制。公共源极线CSL由控制逻辑130控制。第一位线BL1至第m位线BLm由读取和写入电路123控制。
图4是用于描述根据实施例的最佳读取电压搜索操作的图。
参考图4,将在假定存储器单元具有第一状态和第二状态中的任何一个状态的情况下进行描述。与第一状态相对应的阈值电压分布可以是P1。与第二状态相对应的阈值电压分布可以是P2。
当使用参考读取电压Vref进行的读取操作失败时,可以使用基于参考读取电压Vref而确定的多个读取电压Vsr1至Vsr5来确定最佳读取电压。多个读取电压Vsr1至Vsr5可以是通过基于参考读取电压Vref来加上偏移而获取的读取电压。偏移可以具有正值或负值。
在一个实施例中,参考读取电压Vref可以是用于失败的读取操作的电压。在另一实施例中,参考读取电压Vref可以是被设置为在制造工艺步骤中划分存储器单元的阈值电压分布的初始读取电压。
最佳读取电压可以基于通过对属于由多个读取电压划分得到的一部分的存储器单元的数目进行计数而获取的单元计数值来确定。例如,软读取可以在单元计数值减小的方向上进行,并且当单元计数值最小时的读取电压可以被确定为最佳读取电压。
例如,当通过参考读取电压Vref进行的读取操作失败时,可以通过低于参考读取电压的电平的读取电压Vsr1来执行软读取操作。此后,可以通过高于参考读取电压的电平的读取电压Vsr2来执行软读取操作。
由于由读取电压Vref和Vsr2确定的部分的单元计数值小于由读取电压Vsr1和Vref确定的部分的单元计数值,因此可以预测最佳读取电压被定位在参考读取电压Vref的右侧。换言之,可以预测最佳读取电压具有高于参考读取电压Vref的电平。
当根据最佳读取电压的位置的方向被确定时,可以通过使用通过在所确定的方向上加上偏移而获取的读取电压Vsr2至Vsr5来执行软读取操作。
以与上述相同的方式,可以计算每个部分的单元计数值。箭头可以是软读取进行的方向。在图4中,由读取电压Vsr3和Vsr4确定的部分的单元计数值可以是最小的,并且与其相对应的读取电压Vsr4可以被确定为最佳读取电压。
最佳读取电压搜索操作可以是:当由于存储器单元的干扰或保持被加剧而不能通过使用参考读取电压来读取存储器单元时,确定用于成功读取存储器单元的最佳读取电压的操作。最佳读取电压可以使用基于参考读取电压而确定的多个读取电压通过软读取操作来确定。
在一个实施例中,在同一存储器块中执行最佳读取电压搜索操作的次数越多,该存储器块的物理缺陷水平越大。因此,在一个实施例中,存储设备可以根据执行最佳读取电压搜索操作的次数来检测缺陷概率很高的目标块,在目标块的数据丢失之前备份目标块的数据,并且将目标块作为坏块进行处理。根据一个实施例,通过根据执行最佳读取电压搜索操作的次数来预测存储器块的损坏,可以分别管理存储器块并且可以防止数据丢失。因此,可以提高存储设备的可靠性。
图5是用于描述图1的存储器控制器的配置和操作的图。
参考图5,存储器控制器200可以包括搜索操作管理器210和块管理器220。搜索操作管理器210可以包括搜索操作计数器211和目标块检测器212。
在一个实施例中,搜索操作计数器211可以包括搜索表存储部211a。在另一实施例中,搜索表存储部211a可以位于搜索操作计数器211外部。
搜索操作计数器211可以基于最佳读取电压搜索操作信息ORS_OP来对针对多个存储器块执行最佳读取电压搜索操作的次数进行计数。最佳读取电压搜索操作信息ORS_OP可以是指示执行最佳读取操作的信息。最佳读取电压搜索操作信息ORS_OP可以包括被执行最佳读取电压搜索操作的块的索引。
最佳读取电压搜索操作可以是:当针对存储器块的所选择的存储器单元的使用参考读取电压进行的读取操作失败时,使用基于参考读取电压而确定的多个读取电压来确定用于读取所选择的存储器单元的最佳读取电压的操作。
搜索表存储部211a可以将执行最佳读取电压搜索操作的次数写入搜索表中。在一个实施例中,搜索表可以存储对多个存储器块中的每个存储器块执行最佳读取电压搜索操作的次数,如稍后参考图6所述。在另一实施例中,搜索表可以存储根据执行最佳读取电压搜索操作的序列被执行最佳读取电压搜索操作的块的索引,如稍后参考图7所述。
在各个实施例中,由于最佳读取电压搜索操作在存储器设备的寿命起始(start-of-life,SOL)步骤中并不频繁,因此搜索表存储部211a可以管理参考图7描述的搜索表以占用较少存储器容量。由于最佳读取电压搜索操作在寿命终止(end-of-life,EOL)步骤中是频繁的,因此搜索表存储部211a可以立即管理参考图6描述的搜索表,这可以检测目标块。
搜索操作计数器211可以将存储在搜索表中的存储器块的块索引BLK_Index和对对应存储器块执行最佳读取电压搜索操作的计数值ORS_CNT提供给目标块检测器212。
目标块检测器212可以基于搜索表来将执行最佳读取电压搜索操作的次数超过参考次数的存储器块确定为目标块。例如,目标块检测器212可以基于计数值ORS_CNT和参考次数的比较结果来确定与块索引BLK_Index相对应的存储器块是否是目标块。目标块检测器212可以将计数值ORS_CNT大于参考次数的存储器块确定为目标块。
在一个实施例中,每当最佳读取电压搜索操作被执行时,目标块检测器212可以检测是否生成目标块。在另一实施例中,目标块检测器212可以针对每个恒定周期来检测是否生成目标块。恒定周期可以包括执行最佳读取电压搜索操作的预设时间或预设次数。在一个实施例中,恒定周期可以包括预设时间量,该预设时间量可以例如但不限于在每个最佳读取电压搜索操作被执行之后改变。
目标块检测器212可以将所确定的目标块相关信息TAR_INF提供给块管理器220。
块管理器220可以基于目标块相关信息TAR_INF来控制存储器设备100备份存储在目标块中的数据。块管理器220可以控制存储器设备将存储在目标块中的数据复制到另一块。当数据备份完成时,块管理器220可以将目标块设置为坏块。
坏块可以是存储器块中可能没有存储数据的块。坏块可以根据生成的时间点被划分为在存储器设备100的制造期间生成的制造坏块(MBB)和在使用存储器块的过程中生成的生长坏块(GBB)。在一个实施例中,当读取存储有数据的存储器块时,发生不可纠正错误的存储器块可以是生长坏块。
图6是用于描述根据一个实施例的图5的搜索表存储部的图。
参考图6,存储器设备可以包括多个存储器块BLK1至BLKn(n是等于或大于1的自然数)。搜索表存储部可以将与多个存储器块BLK1至BLKn中的每个存储器块相对应的最佳读取电压搜索操作的次数ORS CNT写入搜索表中。
例如,执行存储器块BLK1的最佳读取电压搜索操作的次数可以是0次。执行存储器块BLK2的最佳读取电压搜索操作的次数可以是1次。执行存储器块BLK3的最佳读取电压搜索操作的次数可以是2次。执行存储器块BLKn的最佳读取电压搜索操作的次数可以是1次。
每当最佳读取电压搜索操作被执行时,可以在搜索表中更新被执行最佳读取电压搜索操作的块的计数值ORS_CNT。
在一个实施例中,计数值ORS_CNT超过参考次数的存储器块可以被确定为目标块。例如,假定用于确定目标块的参考次数是1,则计数值ORS_CNT超过参考次数的存储器块BLK3可以被确定为目标块。
在参考图6描述的搜索表的情况下,存在的优点是,每当搜索表被更新,则可以立即确定目标块是否对应。因此,在频繁地执行最佳读取电压搜索操作的存储器设备的寿命终止(EOL)步骤中,可以有用地利用搜索表。
图7是用于描述根据另一实施例的图5的搜索表存储部的图。
参考图7,搜索表存储部可以根据执行最佳读取电压搜索操作的序列ORS Seq来将被执行最佳读取电压搜索操作的块的块索引BLK_Index写入搜索表中。基于存储在搜索表中的块索引BLK_Index,可以计算对被执行最佳读取电压搜索操作的块执行最佳读取电压搜索操作的次数。
例如,存储器块BLK2可以是被执行第一最佳读取电压搜索操作的块。存储器块BLK3可以是被执行第二最佳读取电压搜索操作的块。存储器块BLK1可以是被执行第三最佳读取电压搜索操作的块。存储器块BLK3可以是被执行第四最佳读取电压搜索操作的块。
因此,执行存储器块BLK1的最佳读取电压搜索操作的次数可以是1次。执行存储器块BLK2的最佳读取电压搜索操作的次数可以是1次。执行存储器块BLK3的最佳读取电压搜索操作的次数可以是2次。
在一个实施例中,执行最佳读取电压搜索操作的次数超过参考次数的存储器块可以被确定为目标块。例如,假定用于确定目标块的参考次数是1,则执行最佳读取电压搜索操作的次数超过参考次数的存储器块BLK3可以被确定为目标块。
在参考图6描述的搜索表的情况下,由于仅针对执行搜索表的块存储块索引,所以存在的优点是,所占用的存储器容量很小。因此,在不频繁地执行最佳读取电压搜索操作的存储器设备的寿命起始(SOL)步骤中,可以有用地利用搜索表。
图8是用于描述根据一个实施例的图1的存储设备的操作的图。
参考图8,在步骤S801中,存储设备可以执行最佳读取电压搜索操作。
在步骤S803中,存储设备可以更新搜索表。搜索表可以包括参考图6描述的搜索表。搜索表可以包括参考图7描述的搜索表。
在步骤S805中,存储设备可以基于搜索表来检测目标块。例如,存储设备可以将执行最佳读取电压搜索操作的次数超过参考次数的存储器块确定为目标块。
在步骤S807中,存储设备可以在备份目标块的数据之后将目标块设置为坏块。
图9是用于描述根据实施例的目标块的确定的图。
参考图9,在步骤S901中,可以执行针对所选择的块的最佳读取电压搜索操作。
在步骤S903中,可以在搜索表中将所选择的块的计数值增加1。计数值可以指示对所选择的块执行最佳读取电压搜索操作的次数。搜索表可以是参考图6描述的搜索表。
在步骤S905中,可以确定所选择的块的计数值是否大于参考次数。参考次数可以指示用于确定目标块的参考次数。当计数值大于参考次数时,操作进入步骤S907。当计数值小于或等于参考次数时,操作结束。
在步骤S907中,可以将所选择的块确定为目标块。
图10是用于描述根据其他实施例的目标块的确定的图。
参考图10,在步骤S1001中,可以执行针对所选择的块的最佳读取电压搜索操作。
在步骤S1003中,可以将所选择的块的索引存储在搜索表中。搜索表可以是参考图7描述的搜索表。
在步骤S1005中,可以基于搜索表来计算执行最佳读取电压搜索操作的计数值。
在步骤S1007中,可以将计数值超过参考次数的存储器块确定为目标块。
图11是用于描述根据其他实施例的目标块的确定的图。
参考图11,在步骤S1101中,可以执行针对所选择的块的最佳读取电压搜索操作。
在步骤S1103中,可以将被执行最佳读取电压搜索操作的块的索引存储在搜索表中。搜索表可以是参考图7描述的搜索表。
在步骤S1105中,可以确定经过的周期是否达到周期。作为确定的结果,当经过的周期到达该周期时,操作进行到步骤S1107,否则,处理进行到步骤S1101。当经过的周期达到该周期时,可以重置经过的周期。该周期可以是预设时间。备选地,该周期可以是执行最佳读取电压搜索操作的预设次数。
在步骤S1107中,可以基于搜索表来计算执行最佳读取电压搜索操作的计数值。
在步骤S1109中,可以将计数值超过参考次数的存储器块确定为目标块。
根据参考图11描述的实施例,除了参考图10描述的实施例,可以针对每个恒定周期来执行目标块确定操作,而不是每当最佳读取电压更新操作被执行时执行目标块确定操作。因此,可以减少由于频繁的目标块确定操作的执行而导致的成本。
图12是用于描述图1的存储器控制器的其他实施例的图。
参考图12,存储器控制器1000连接到主机Host和存储器设备。存储器控制器1000被配置为响应于来自主机Host的请求而访问存储器设备。例如,存储器控制器1000被配置为控制存储器设备的写入、读取、擦除和后台操作。存储器控制器1000被配置为提供存储器设备与主机Host之间的接口。存储器控制器1000被配置为驱动用于控制存储器设备的固件。
存储器控制器1000可以包括处理器1010、存储器缓冲器1020、纠错电路(ECC)1030、主机接口1040、缓冲器控制电路1050、存储器接口1060和总线1070。
总线1070可以被配置为在存储器控制器1000的组件之间提供通道。
处理器1010可以控制存储器控制器1000的整体操作,并且可以执行逻辑操作。处理器1010可以通过主机接口1040与外部主机通信,并且通过存储器接口1060与存储器设备通信。此外,处理器1010可以通过缓冲器控制器1050与存储器缓冲器1020通信。处理器1010可以控制使用存储器缓冲器1020作为操作存储器、高速缓冲存储器或缓冲存储器的存储设备的操作。
处理器1010可以执行闪存转换层(FTL)的功能。处理器1010可以通过闪存转换层(FTL)将由主机提供的逻辑块地址(LBA)转换为物理块地址(PBA)。闪存转换层(FTL)可以使用映射表来接收逻辑块地址(LBA),并且将逻辑块地址(LBA)转换为物理块地址(PBA)。闪存转换层的地址映射方法可以根据映射单元而包括各种方法。代表性的地址映射方法包括页面映射方法、块映射方法和混合映射方法。
处理器1010被配置为随机化从主机Host接收的数据。例如,处理器1010可以使用随机化种子来随机化从主机Host接收的数据。随机化的数据作为要存储的数据被提供给存储器设备,并且被编程到存储器单元阵列。
处理器1010被配置为对在读取操作期间从存储器设备接收的数据进行去随机化。例如,处理器1010可以使用去随机化种子来对从存储器设备接收的数据进行去随机化。去随机化的数据可以被输出到主机Host。
作为一个实施例,处理器1010可以通过驱动软件或固件来执行随机化和去随机化。
存储器缓冲器1020可以用作处理器1010的操作存储器、高速缓冲存储器或缓冲存储器。存储器缓冲器1020可以存储由处理器1010执行的代码和命令。存储器缓冲器1020可以存储由处理器1010处理的数据。存储器缓冲器1020可以包括静态RAM(SRAM)或动态RAM(DRAM)。
纠错电路1030可以执行纠错。纠错电路1030可以基于要通过存储器接口1060存储在存储器设备中的数据来执行纠错编码(ECC编码)。纠错编码后的数据可以通过存储器接口1060传输到存储器设备。纠错电路1030可以对通过存储器接口1060从存储器设备接收的数据执行纠错译码(ECC译码)。例如,纠错电路1030可以作为存储器接口1060的组件被包括在存储器接口1060中。
主机接口1040被配置为在处理器1010的控制下与外部主机通信。主机接口1040可以被配置为使用各种通信方法中的至少一种来执行通信,诸如通用串行总线(USB)、串行AT附件(SATA)、串行附接SCSI(SAS)、高速芯片间(HSIC)、小型计算机***接口(SCSI)、***组件互连(PCI Express)、非易失性存储器Express(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式内存模块(DIMM)、注册DIMM(RDIMM)和负载减少DIMM(LRDIMM)。
缓冲器控制器1050被配置为在处理器1010的控制下控制存储器缓冲器1020。
存储器接口1060被配置为在处理器1010的控制下与存储器设备通信。存储器接口1060可以通过通道与存储器设备传送命令、地址和数据。
例如,存储器控制器1000可以不包括存储器缓冲器1020和缓冲器控制器1050。
例如,处理器1010可以使用代码来控制存储器控制器1000的操作。处理器1010可以从设置在存储器控制器1000内部的非易失性存储器设备(例如,只读存储器)加载代码。作为另一示例,处理器1010可以通过存储器接口1060从存储器设备加载代码。
例如,存储器控制器1000的总线1070可以划分为控制总线和数据总线。数据总线可以被配置为在存储器控制器1000内传输数据,并且控制总线可以被配置为在存储器控制器1000内传输诸如命令和地址等控制信息。数据总线和控制总线可以彼此分开,并且彼此之间可能不会互相干扰或互相影响。数据总线可以连接到主机接口1040、缓冲器控制器1050、纠错电路1030和存储器接口1060。控制总线可以连接到主机接口1040、处理器1010、缓冲器控制器1050、存储器缓冲器1202和存储器接口1060。
在一个实施例中,参考图1描述的搜索操作管理器210和块管理器220可以被包括在处理器1010中。
图13是示出应用根据本公开的实施例的存储设备的存储卡***的框图。
参考图13,存储卡***2000包括存储器控制器2100、存储器设备2200和连接器2300。
存储器控制器2100连接到存储器设备2200。存储器控制器2100被配置为访问存储器设备2200。例如,存储器控制器2100可以被配置为控制对存储器设备2200的读取、写入、擦除和后台操作。存储器控制器2100被配置为在存储器设备2200与主机之间提供接口。存储器控制器2100被配置为驱动用于控制存储器设备2200的固件。存储器控制器2100可以与参考图1描述的存储器控制器200相同或相似地实现。
例如,存储器控制器2100可以包括诸如随机存取存储器(RAM)、处理器、主机接口、存储器接口和纠错电路等组件。
存储器控制器2100可以通过连接器2300与外部设备通信。存储器控制器2100可以根据特定通信标准与外部设备(例如,主机)通信。例如,存储器控制器2100被配置为通过各种通信标准中的至少一种与外部设备通信,诸如通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(MCM)、***组件互连(PCI)、PCI Express(PCI-E)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机***接口(SCSI)、增强型小型磁盘接口(ESDI)、集成驱动电子设备(IDE)、FireWire、通用闪存(UFS)、Wi-Fi、Bluetooth和NVMe。例如,连接器2300可以由上述各种通信标准中的至少一种来定义。
例如,存储器设备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、MMCmicro或eMMC)、SD卡(SD、miniSD、microSD或SDHC)和通用闪存(UFS)。
图14是示出应用根据本公开的实施例的存储设备的固态驱动器(SSD)***的框图。
参考图14,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与SSD3200之间的接口的信号。例如,信号SIG可以是由至少一种接口定义的信号,诸如通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(MCM)、***组件互连(PCI)、PCI Express(PCI-E)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机***接口(SCSI)、增强型小型磁盘接口(ESDI)、集成驱动电子设备(IDE)、FireWire、通用闪存(UFS)、Wi-Fi、Bluetooth和NVMe。
辅助电源设备3230通过电源连接器3002连接到主机3100。辅助电源设备3230可以从主机3100接收电力PWR并且可以充电。当来自主机3100的电力供应不平稳时,辅助电源设备3230可以提供SSD3200的电力。例如,辅助电源设备3230可以位于SSD 3200中或者可以位于SSD 3200外部。例如,辅助电源设备3230可以位于主板上并且可以向SSD 3200提供辅助电力。
缓冲存储器3240作为SSD 3200的缓冲存储器进行操作。例如,缓冲存储器3240可以临时存储从主机3100接收的数据或从多个闪存3221至322n接收的数据,或者可以临时存储闪存3221至322n的元数据(例如,映射表)。缓冲存储器3240可以包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM等易失性存储器、或者诸如FRAM、ReRAM、STT-MRAM和PRAM等非易失性存储器。
图15是示出应用根据本公开的实施例的存储设备的用户***的框图。
参考图15,用户***4000包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可以驱动用户***4000中包括的组件、操作***(OS)、用户程序等。例如,应用处理器4100可以包括用于控制用户***4000中包括的组件的控制器、接口、图形引擎等。应用处理器4100可以被提供作为片上***(SoC)。
存储器模块4200可以作为用户***4000的主存储器、操作存储器、缓冲存储器或高速缓冲存储器进行操作。存储器模块4200可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDR SDARM、LPDDR2 SDRAM和LPDDR3 SDRAM等易失性随机存取存储器、或者诸如PRAM、ReRAM、MRAM和FRAM等非易失性随机存取存储器。例如,应用处理器4100和存储器模块4200可以基于封装上封装(POP)被封装并且被提供作为一个半导体封装。
网络模块4300可以与外部设备通信。例如,网络模块4300可以支持无线通信,诸如码分多址(CDMA)、全球移动通信***(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进、Wimax、WLAN、UWB、Bluetooth和Wi-Fi。例如,网络模块4300可以被包括在应用处理器4100中。
存储模块4400可以存储数据。例如,存储模块4400可以存储从应用处理器4100接收的数据。备选地,存储模块4400可以将存储在存储模块4400中的数据传输到应用处理器4100。例如,存储模块4400可以被实现为诸如相变RAM(PRAM)、磁性RAM(MRAM)、电阻性RAM(RRAM)、NAND闪存、NOR闪存和三维NAND闪存等非易失性半导体存储元件。例如,存储模块4400可以被提供作为诸如存储卡等可移动存储设备(可移动驱动器)、以及用户***4000的外部驱动器。
例如,存储模块4400可以包括多个非易失性存储器设备,并且多个非易失性存储器设备可以与参考图1描述的存储器设备100相同或相似地操作。存储模块4400可以与参考图1描述的存储设备50相同或相似地操作。
用户界面4500可以包括用于向应用处理器4100输入数据或指令或者用于向外部设备输出数据的接口。例如,用户界面4500可以包括用户输入接口,诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器、振动传感器和压电元件。用户界面4500可以包括用户输出接口,诸如液晶显示器(LCD)、有机发光二极管(OLED)显示设备、有源矩阵OLED(AMOLED)显示设备、LED、扬声器和显示器。

Claims (21)

1.一种用于控制包括多个存储器块的存储器设备的存储器控制器,所述存储器控制器包括:
搜索操作管理器,被配置为对针对所述多个存储器块执行最佳读取电压搜索操作的次数进行计数,并且确定执行所述最佳读取电压搜索操作的次数超过参考次数的目标块;以及
块管理器,被配置为将所述目标块设置为坏块。
2.根据权利要求1所述的存储器控制器,其中所述搜索操作管理器包括:
搜索操作计数器,被配置为对执行所述最佳读取电压搜索操作的次数进行计数;以及
目标块检测器,被配置为基于对执行所述最佳读取电压搜索操作的次数进行计数的结果来检测所述目标块。
3.根据权利要求2所述的存储器控制器,其中所述搜索操作计数器包括搜索表存储部,所述搜索表存储部被配置为将执行所述最佳读取电压搜索操作的次数写入搜索表中。
4.根据权利要求3所述的存储器控制器,其中所述搜索表存储对所述多个存储器块中的每个存储器块执行所述最佳读取电压搜索操作的次数。
5.根据权利要求3所述的存储器控制器,其中当所述最佳读取电压搜索操作被执行时,所述搜索表存储被执行所述最佳读取电压搜索操作的存储器块的索引。
6.根据权利要求3所述的存储器控制器,其中每当所述搜索表被更新时,所述目标块检测器基于所述搜索表来检测所述目标块。
7.根据权利要求3所述的存储器控制器,其中所述目标块检测器针对每个恒定周期基于所述搜索表来检测所述目标块。
8.根据权利要求7所述的存储器控制器,其中所述恒定周期指示执行所述最佳读取电压搜索操作的设置时间和设置次数中的至少一项。
9.根据权利要求1所述的存储器控制器,其中所述块管理器控制所述存储器设备执行将存储在所述目标块中的数据复制到所述多个存储器块中与所述目标块不同的存储器块的备份操作。
10.根据权利要求1所述的存储器控制器,其中所述最佳读取电压搜索操作是:当针对所述存储器块的存储器单元的使用参考读取电压进行的读取操作失败时,使用基于所述参考读取电压而确定的多个读取电压来确定用于读取所述存储器单元的最佳读取电压的操作。
11.一种存储设备,包括:
存储器设备,包括多个存储器块;以及
存储器控制器,被配置为对针对所述多个存储器块执行最佳读取电压搜索操作的次数进行计数。
12.根据权利要求11所述的存储设备,其中所述存储器控制器被配置为将目标块设置为坏块,在所述目标块中,执行所述最佳读取电压搜索操作的次数超过参考次数。
13.根据权利要求12所述的存储设备,其中所述存储器控制器存储对所述多个存储器块中的每个存储器块执行所述最佳读取电压搜索操作的次数。
14.根据权利要求12所述的存储设备,其中当所述最佳读取电压搜索操作被执行时,所述存储器控制器存储被执行所述最佳读取电压搜索操作的存储器块的索引。
15.根据权利要求12所述的存储设备,其中所述存储器控制器每当所述最佳读取电压搜索操作被执行以及针对每个恒定周期中的至少一项时基于所述计数的结果来检测所述目标块,以及
所述恒定周期指示执行所述最佳读取电压搜索操作的设置时间和设置次数中的一者。
16.一种操作包括多个存储器块的存储设备的方法,所述方法包括:
对针对所述多个存储器块执行最佳读取电压搜索操作的次数进行计数;以及
基于所述计数的结果来确定所述多个存储器块中执行所述最佳读取电压搜索操作的次数超过参考次数的目标块。
17.根据权利要求16所述的方法,还包括:
将存储在所述目标块中的数据复制到所述多个存储器块中与所述目标块不同的存储器块;以及
将所述目标块设置为坏块。
18.根据权利要求16所述的方法,其中确定所述目标块包括:
将对所述多个存储器块执行所述最佳读取电压搜索操作的次数写入搜索表中;以及
基于所述搜索表来检测所述目标块。
19.根据权利要求18所述的方法,其中所述搜索表存储对所述多个存储器块中的每个存储器块执行所述最佳读取电压搜索操作的次数。
20.根据权利要求18所述的方法,其中当所述最佳读取电压搜索操作被执行时,所述搜索表存储被执行所述最佳读取电压搜索操作的存储器块的索引。
21.根据权利要求18所述的方法,其中检测所述目标块包括:每当所述搜索表被更新以及针对每个恒定周期中的至少一项时基于所述搜索表来检测所述目标块;以及
所述恒定周期指示执行所述最佳读取电压搜索操作的设置时间和设置次数中的一者。
CN202010857991.0A 2019-11-05 2020-08-24 存储设备和操作存储设备的方法 Withdrawn CN112783435A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190140516A KR20210054396A (ko) 2019-11-05 2019-11-05 저장 장치 및 그 동작 방법
KR10-2019-0140516 2019-11-05

Publications (1)

Publication Number Publication Date
CN112783435A true CN112783435A (zh) 2021-05-11

Family

ID=75687285

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010857991.0A Withdrawn CN112783435A (zh) 2019-11-05 2020-08-24 存储设备和操作存储设备的方法

Country Status (3)

Country Link
US (1) US20210132804A1 (zh)
KR (1) KR20210054396A (zh)
CN (1) CN112783435A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220157793A (ko) 2021-05-21 2022-11-29 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160110124A1 (en) * 2014-10-21 2016-04-21 International Business Machines Corporation Detecting error count deviations for non-volatile memory blocks for advanced non-volatile memory block management
CN107093465A (zh) * 2016-02-17 2017-08-25 三星电子株式会社 包括电压搜索单元的数据存储器装置
US20180102790A1 (en) * 2016-10-12 2018-04-12 Shin-Ho Oh Methods of controlling reclaim of nonvolatile memory devices, methods of operating storage devices, and storage devices
US20180189135A1 (en) * 2016-12-30 2018-07-05 Western Digital Technologies, Inc. Memory write verification using temperature compensation
CN108255739A (zh) * 2016-12-28 2018-07-06 爱思开海力士有限公司 存储器***及其操作方法
CN110097913A (zh) * 2018-01-31 2019-08-06 爱思开海力士有限公司 存储器控制器及其操作方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160110124A1 (en) * 2014-10-21 2016-04-21 International Business Machines Corporation Detecting error count deviations for non-volatile memory blocks for advanced non-volatile memory block management
CN107093465A (zh) * 2016-02-17 2017-08-25 三星电子株式会社 包括电压搜索单元的数据存储器装置
US20180102790A1 (en) * 2016-10-12 2018-04-12 Shin-Ho Oh Methods of controlling reclaim of nonvolatile memory devices, methods of operating storage devices, and storage devices
CN108255739A (zh) * 2016-12-28 2018-07-06 爱思开海力士有限公司 存储器***及其操作方法
US20180189135A1 (en) * 2016-12-30 2018-07-05 Western Digital Technologies, Inc. Memory write verification using temperature compensation
CN110097913A (zh) * 2018-01-31 2019-08-06 爱思开海力士有限公司 存储器控制器及其操作方法

Also Published As

Publication number Publication date
KR20210054396A (ko) 2021-05-13
US20210132804A1 (en) 2021-05-06

Similar Documents

Publication Publication Date Title
CN111435289B (zh) 映射数据访问性能提高的存储器控制器及其操作方法
KR102620255B1 (ko) 저장 장치 및 그 동작 방법
CN111105832B (zh) 存储装置和操作存储装置的方法
US11449417B2 (en) Memory controller performing host-aware performance booster mode and method of operating the same
US11481272B2 (en) Memory controller and method of operating the same
CN111752856A (zh) 存储器控制器及其操作方法
CN111445939B (zh) 存储装置及其操作方法
CN112582011A (zh) 存储器设备及其操作方法
US11409470B2 (en) Memory system, memory controller, and method of operating memory system
US10996881B2 (en) Storage device and method of operating the same
CN113448892A (zh) 存储器控制器及其操作方法
US20230221895A1 (en) Memory system and operating method of memory system storing doorbell information in the buffer memory
CN113010096A (zh) 存储装置及其操作方法
KR20210128780A (ko) 메모리 컨트롤러 및 이를 포함하는 저장 장치
CN113568565B (zh) 存储器控制器及其操作方法
US20210132804A1 (en) Storage device and method of operating the storage device
US20210334173A1 (en) Storage device and method of operating the same
CN112445420B (zh) 存储控制器、存储装置以及操作该存储装置的方法
CN114546252A (zh) 存储设备及其操作方法
CN114360593A (zh) 存储装置及其操作方法
CN112346654A (zh) 存储装置以及操作该存储装置的方法
KR20200118989A (ko) 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법
US11500768B2 (en) Storage device performing garbage collection and method of operating the same
US20240118813A1 (en) Semiconductor memory device and operating method of the semiconductor memory device
KR20220167077A (ko) 저장 장치 및 그 동작 방법

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

Application publication date: 20210511

WW01 Invention patent application withdrawn after publication