CN112783434A - 存储设备及其操作方法 - Google Patents

存储设备及其操作方法 Download PDF

Info

Publication number
CN112783434A
CN112783434A CN202010857864.0A CN202010857864A CN112783434A CN 112783434 A CN112783434 A CN 112783434A CN 202010857864 A CN202010857864 A CN 202010857864A CN 112783434 A CN112783434 A CN 112783434A
Authority
CN
China
Prior art keywords
memory
blocks
block
victim
controller
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
CN202010857864.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 CN112783434A publication Critical patent/CN112783434A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • 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/0608Saving storage space on 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/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/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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/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
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7209Validity control, e.g. using flags, time stamps or sequence numbers

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)
  • Read Only Memory (AREA)

Abstract

本公开的实施例涉及存储设备及其操作方法。一种用于控制包括多个存储器块的存储器设备的存储器控制器,包括垃圾收集控制器,其被配置为确定多个存储器块中的候选块,在该候选块中,其中有效数据等于或小于预先确定的比例;并且被配置为确定基于关于多个存储器块中的可以同时被擦除的块的信息来确定候选块中的至少两个或更多个存储器块作为牺牲块。存储器控制器还包括操作控制器,其被配置为控制存储器设备以将牺牲块中存储的有效数据复制到不同的存储器块。

Description

存储设备及其操作方法
相关申请的交叉引用
本申请根据35U.S.C.§119(a)要求于2019年11月5日向韩国知识产权局提交的韩国专利申请第10-2019-0140519号的优先权,其全部公开内容通过引用并入本文。
技术领域
本公开涉及一种电子设备,更具体地,涉及一种存储设备及其操作方法。
背景技术
存储设备是在诸如计算机或智能电话之类的主机设备的控制下存储数据的设备。存储设备可以包括其中存储数据的存储器设备和用于控制该存储器设备的存储器控制器。存储器设备可以是易失性存储器设备或非易失性存储器设备。
易失性存储器设备是仅当通电时才存储数据而当断电时丢失所存储的数据的设备。易失性存储器设备包括静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等。
非易失性存储器设备是即使断电也不会丢失数据的设备。非易失性存储器设备包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除和可编程ROM(EEPROM)、闪存等。
发明内容
根据本公开的一个实施例,一种用于控制包括多个存储器块的存储器设备的存储器控制器,包括垃圾收集控制器,该垃圾收集控制器被配置为确定多个存储器块中的候选块,在该候选块中,有效数据等于或小于预先确定的比例,并且该垃圾收集控制器被配置为基于关于在多个存储器块中的能够同时被擦除的块的信息来确定候选块中的至少两个存储器块作为牺牲块。存储器控制器还包括操作控制器,其被配置为控制存储器设备以将牺牲块中存储的有效数据复制到不同的存储器块。
根据本公开的一个实施例,一种用于控制包括多个存储器块的存储器设备的存储器控制器,包括垃圾收集控制器和操作控制器。垃圾收集控制器被配置为基于多个存储器块中的空闲块的数目来确定牺牲块的参考数目,并且被配置为基于多个存储器块中的能够同时被擦除的候选块的数目与牺牲块的参考数目的比较结果来将候选块确定为牺牲块。操作控制器被配置为控制存储设备以将牺牲块中存储的有效数据复制到不同的存储器块。
根据本公开的一个实施例,一种操作包括多个存储器块的存储设备的方法包括:确定多个存储器块中的候选块,在该候选块中,有效数据等于或小于预先确定的比例。该方法还包括:确定候选块中的可以同时被擦除的至少两个存储器块作为牺牲块,并且将牺牲块中存储的有效数据复制到不同的存储器块。
附图说明
图1是用于描述根据本公开的实施例的存储器设备的图。
图2是用于描述图1的存储器设备的结构的图。
图3是用于描述图2的存储器单元阵列的图。
图4是用于描述图2的存储器设备的配置和操作的图。
图5是用于描述根据实施例的存储器块的连接结构的图。
图6是用于描述根据实施例的可以被同时擦除的存储器块的图。
图7是用于描述图1的存储器控制器的配置和操作的图。
图8是用于描述根据实施例的牺牲块确定的图。
图9是用于描述根据另一实施例的牺牲块确定的图。
图10是用于描述根据实施例的垃圾收集操作的流程图。
图11是用于描述根据另一实施例的垃圾收集操作的流程图。
图12是用于描述图1的存储器控制器的另一实施例的图。
图13是图示了根据本公开的实施例的存储设备所应用于的存储器卡系统的框图。
图14是图示了根据本公开的实施例的存储设备所应用于的固态驱动器(SSD)系统的框图。
图15是图示了根据本公开的实施例的存储设备所应用于的用户系统的框图。
具体实施方式
根据本公开的概念的实施例可以以各种形式来执行,并且不限于在本说明书或申请中所描述的实施例。
在下文中,参考附图对本公开的实施例进行详细描述。本公开的一些实施例涉及一种垃圾收集性能改善的存储设备。其他实施例涉及操作这种存储设备。
图1是用于描述根据本公开的实施例的存储设备的图。
参考图1,存储设备50可以包括存储器设备100和控制存储器设备100的操作的存储器控制器200。存储设备50是在主机300的控制下存储数据的设备,诸如蜂窝电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视、平板PC、或车载信息娱乐系统。
根据作为与主机300的通信方法的主机300的接口,存储设备50可以被制造为各种类型的存储设备中的一种存储设备。例如,存储设备50可以被配置为各种类型的存储设备中的任一存储设备,诸如SSD,采用MMC、eMMC、RS-MMC和micro-MMC形式的多媒体卡,采用SD、mini-SD和micro-SD形式的安全数字卡,通用串行总线(USB)存储设备,通用闪存(UFS)设备,个人计算机存储器卡国际协会(PCMCIA)卡类型存储设备,外围部件互连(PCI)卡类型存储设备,PCI快速(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)之类的固件,用于控制主机300与存储器设备100之间的通信。
在一个实施例中,存储器控制器200可以从主机300接收数据和逻辑块地址(LBA),并且将逻辑块地址(LBA)转换为物理块地址(PBA),该物理块地址(PBA)指示要存储包括在存储器设备100中的数据的存储器单元的地址。
存储器控制器200可以响应于来自主机300的请求而控制存储器设备100执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器200可以向存储器设备100提供写入命令、物理块地址和数据。在读取操作期间,存储器控制器200可以向存储器设备100提供读取命令和物理块地址。在擦除操作期间,存储器控制器200可以向存储器设备100提供擦除命令和物理块地址。
在一个实施例中,不管来自主机300的请求如何,存储器控制器200都可以生成命令、地址和数据并且将其传输到存储器设备100。例如,存储器控制器200可以向存储器设备100提供命令、地址、数据,以便执行后台操作,诸如用于损耗均衡的编程操作和用于垃圾收集的编程操作。
在一个实施例中,存储器控制器200可以控制至少两个存储器设备100。在这种情况下,存储器控制器200可以根据交织方法来控制存储器设备100,以便提高操作性能。交织方法可以是用于使至少两个存储器设备100的操作时段重叠的操作方法。
在一个实施例中,存储器控制器200可以控制存储器设备100执行将牺牲块中存储的有效数据复制到另一存储器块并且固定空闲块的垃圾收集操作。空闲块可以是不存储有效数据的存储器块。空闲块可以在被擦除后存储新数据。
在一个实施例中,存储器控制器200可以包括垃圾收集控制器210和操作控制器220。
在一个实施例中,垃圾收集控制器210可以确定存储器设备100的存储器块的候选块,在该候选块中,有效数据等于或小于预先确定的比例。例如,有效数据是否等于或小于预定的比例是基于存储器块可以存储的数据的总量与存储器块中存储的有效数据的量之间的比较来确定。候选块可以是其中存储有效数据的页数等于或小于预先确定的数目的存储器块。如本文中相对于参数(诸如存储器块之间的预先确定的比例)所使用的单词“预先确定的”意指在过程或算法中使用该参数之前确定该参数的值。对于一些实施例,在过程或算法开始之前确定参数的值。在其他实施例中,在过程或算法期间但在过程或算法中使用参数之前确定参数的值。垃圾收集控制器210可以确定候选块中的可以同时被擦除的两个或更多个存储器块作为牺牲块。
具体地,垃圾收集控制器210可以基于关于多个存储器块中的同时被擦除的块的信息来确定候选块中的两个或更多个存储器块作为牺牲块。
在一个实施例中,可以同时擦除多个存储器块中的选定存储器块的事实意味着选定存储器块的数据仅通过一个擦除操作擦除而剩余的存储器块的数据不被擦除并被维护。
垃圾收集控制器210可以确定牺牲块,使得在垃圾收集操作中要同时被擦除的存储器块变得最大。随着在一个擦除操作中要同时被擦除的存储器块的数目增加,固定相同数目的空闲块所需的总擦除时间可能会缩短。
垃圾收集控制器210可以确定牺牲块,使得在垃圾收集操作中要同时被擦除的存储器块中存储的有效数据的量变得最小。随着牺牲块中存储的有效数据的量的减少,垃圾收集操作的效率可能会增加。
垃圾收集控制器210可以根据基于存储器设备100的存储器块中的空闲块的数目而确定的空闲块的供应量来确定牺牲块的数目。例如,假设可以同时擦除候选块中的n个(n是等于或大于1的自然数)存储器块或m个(m是大于n的自然数)存储器块。
当空闲块的供应量不足时,垃圾收集控制器210可以确定牺牲块的数目为n。这是因为当牺牲块的数目为n时,与牺牲块的数目为m的情况相比,垃圾收集操作花费的时间较少并且可以更快地固定空闲块。相比之下,当空闲块的供应量足够时,垃圾收集控制器210可以确定牺牲块的数目为m。这是因为当牺牲块的数目为m时,与牺牲块的数目为n的情况相比,垃圾收集操作花费的时间更长,但是可以固定更大数目的空闲块。
在另一实施例中,垃圾收集控制器210可以基于存储器设备100的存储器块中的空闲块的数目来确定牺牲块的参考数目。垃圾收集控制器210可以基于关于多个存储器块中的候选块的信息、关于多个存储器块中的可以同时被擦除的块的信息、以及参考数目来确定牺牲块。
具体地,垃圾收集控制器210可以基于关于候选块的信息和关于可以同时被擦除的块的信息来从多个存储器块中确定可以同时被擦除的候选块。垃圾收集控制器210可以基于可以同时被擦除的候选块的数目与参考数目的比较结果来确定可以同时被擦除的候选块作为牺牲块。例如,当可以同时被擦除的候选块的数目大于参考数目时,垃圾收集控制器210可以确定所有候选块中的对应候选块作为牺牲块。
在一个实施例中,垃圾收集控制器210可以监测多个存储器块中的候选块的数目。候选块可以是其中有效数据等于或小于预先确定的比例的存储器块。
操作控制器220可以控制存储器设备100以将牺牲块中存储的有效数据复制到不同的存储器块。当牺牲块中存储的有效数据被复制到另一存储器块时,操作控制器220可以控制存储器设备100同时擦除牺牲块。
主机300可以使用诸如通用串行总线(USB)、串行AT附件(SATA)、串行附接SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围部件互连(PCI)、PCI快速(PCIe)、非易失性存储器快速(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存DIMM(RDIMM)和减载DIMM(LRDIMM)之类的各种通信方法中的至少一种通信方法与存储设备50通信。
图2是用于描述图1的存储器设备的结构的图。
参考图2,存储器设备100可以包括存储器单元阵列110、外围电路120、以及控制逻辑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的行地址。地址解码器121可以根据解码的行地址选择选定存储器块的字线中的至少一个字线。地址解码器121可以向选定字线施加从电压发生器122接收的操作电压Vop。
在编程操作期间,地址解码器121可以向选定字线施加编程电压,并且向未选定字线施加电平小于编程电压的电平的通过电压。在编程验证操作期间,地址解码器121可以向选定字线施加验证电压,并且向未选定字线施加电平大于验证电压的电平的验证通过电压。
在读取操作期间,地址解码器121可以向选定字线施加读取电压,并且向未选定字线施加电平大于读取电压的电平的读取通过电压。
根据本公开的一个实施例,以存储器块单元执行存储器设备100的擦除操作。在擦除操作期间输入到存储器设备100的地址ADDR包括块地址。地址解码器121可以对块地址进行解码,并且根据解码后的块地址选择至少一个存储器块。在擦除操作期间,地址解码器121可以向输入到选定存储器块的字线施加接地电压。
根据本公开的一个实施例,地址解码器121可以被配置为对传送的地址ADDR的列地址进行解码。解码后的列地址可以被传送到读取和写入电路123。作为示例,地址解码器121可以包括诸如行解码器、列解码器和地址缓冲器之类的部件。
在一个实施例中,地址解码器121可以包括块解码器121a和路径切换组121b。块解码器121a可以对块地址进行解码,并且基于解码后的块地址来选择存储器块。路径切换组121b可以在块解码器121a的控制下将电压发生器122所生成的操作电压Vop传送到连接到选定存储器块的行线RL。
电压发生器122被配置为通过使用供应到存储器设备100的外部电源电压来生成多个操作电压Vop。电压发生器122响应于控制逻辑130的控制而操作。
作为示例,电压发生器122可以通过调节外部电源电压来生成内部电源电压。电压发生器122所生成的内部电源电压用作存储器设备100的操作电压。
作为一个实施例,电压发生器122可以使用外部电源电压或内部电源电压来生成多个操作电压Vop。电压发生器122可以被配置为生成存储器设备100所需的各种电压。例如,电压发生器122可以生成多个擦除电压、多个编程电压、多个通过电压、多个选择读取电压、以及多个非选择读取电压。
为了生成具有各种电压电平的多个操作电压Vop,电压发生器122可以包括多个泵浦电容器,其接收内部电压并且选择性地激活多个泵浦电容器以生成多个操作电压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可以被实现为硬件、软件、或硬件和软件的组合。例如,控制逻辑130可以是根据执行控制逻辑代码的算法和/或处理器进行操作的控制逻辑电路。
控制逻辑130可以响应于命令CMD和地址ADDR而生成各种信号以控制外围电路120。例如,控制逻辑130可以响应于命令CMD和地址ADDR而生成操作信号OPSIG、地址ADDR、读取和写入电路控制信号PBSIGNALS、以及许可位VRYBIT。控制逻辑130可以将操作信号OPSIG输出到电压发生器122,将地址ADDR输出到地址解码器121,将读取和写入控制信号输出到读取和写入电路123,并且将许可位VRYBIT输出到感测电路125。另外,控制逻辑130可以响应于感测电路125所输出的通过信号或失败信号PASS/FAIL来确定验证操作是通过还是失败。
图3是用于描述图2的存储器单元阵列的图。
参考图3,存储器单元阵列110的第一存储器块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是用于描述图2的存储器设备的配置和操作的图。
参考图2和图4,电压发生器122可以通过全局字线GWL连接到路径切换组121b。电压发生器122可以响应于操作控制信号OPSIG而生成要施加到全局字线GWL的操作电压。施加到全局字线GWL的操作电压可以通过路径切换组121b传送到连接到存储器单元阵列110的存储器块的局部字线LWL。
地址解码器121可以包括块解码器121a和路径切换组121b。
块解码器121a可以对接收的地址ADDR中的块地址进行解码。块解码器121a根据解码后的块地址选择多个存储器块中的至少一个存储器块。块解码器121a可以生成用于选择至少一个存储器块的块字线控制信号。块解码器121a可以通过块字线控制信号来控制路径切换组121b。
路径切换组121b可以包括多个路径切换电路。路径切换电路中的每个路径切换电路可以将全局字线GWL和局部字线LWL彼此连接。路径切换电路中的每个路径切换电路可以根据块字线控制信号在全局字线GWL与局部字线LWL之间电连接或断开。
在一个实施例中,一个全局字线GWL可以通过路径切换组121b中包括的路径切换电路连接到两个或更多个局部字线LWL。稍后参考图5对更详细的结构进行描述。
图5是用于描述根据实施例的存储器块的连接结构的图。
参考图5,参考图4所描述的存储器单元阵列可以包括第一存储器块组BLK_GR1。第一存储器块组BLK_GR1可以包括第一存储器块至第四存储器块BLK4。存储器单元阵列中包括的存储器块组的数目以及每个存储器块组中包括的存储器块的数目不限于本实施例。
第一路径切换电路和第二路径切换电路可以与第一存储器块组BLK_GR1相对应。
第一路径切换电路可以包括第一路径开关PSW1和第三路径开关PSW3。第二路径切换电路可以包括第二路径开关PSW2和第四路径开关PSW4。与存储器块组相对应的路径切换电路的数目和每个路径切换电路中包括的路径切换的数目不限于本实施例。
第一存储器块BLK1可以通过第一路径开关PSW1连接到第一全局字线GWL_A。第二存储器块BLK2可以通过第二路径开关PSW2连接到第一全局字线GWL_A。第三存储器块BLK3可以通过第三路径开关PSW3连接到第二全局字线GWL_B。第四存储器块BLK4可以通过第四路径开关PSW4连接到第二全局字线GWL_B。
第一路径切换电路可以通过第一块字线BLKWL1连接到第一块解码器。第一路径切换电路中包括的第一路径开关PSW1和第三路径开关PSW3可以根据第一块解码器所生成的第一块字线控制信号来控制。
具体地,第一路径开关PSW1可以根据第一块字线控制信号在第一存储器块BLK1的局部字线LWL1与第一全局字线GWL_A之间电连接或断开。第三路径开关PSW3可以根据第一块字线控制信号在第三存储器块BLK3的局部字线LWL3与第二全局字线GWL_B之间电连接或断开。
第二路径切换电路可以通过第二块字线BLKWL2连接到第二块解码器。第二路径切换电路中包括的第二路径开关PSW2和第四路径开关PSW4可以根据第二块解码器所生成的第二块字线控制信号来控制。
具体地,第二路径开关PSW2可以根据第二块字线控制信号在第二存储器块BLK2的局部字线LWL2与第一全局字线GWL_A之间电连接或断开。第四路径开关PSW4可以根据第二块字线控制信号在第四存储器块BLK4的局部字线LWL4与第二全局字线GWL_B之间电连接或断开。
在图5中,可以根据施加到第一全局字线GWL_A和第二全局字线GWL_B的操作电压以及第一块字线控制信号和第二块字线控制信号选择第一存储器块组BLK_GR1的存储器块中的至少一个存储器块。
例如,可以激活第一块字线控制信号,而可以停用第二块字线控制信号。操作电压可以施加到第一全局字线GWL_A,并且操作电压不会施加到第二全局字线GWL_B。
在这种情况下,通过第一路径开关PSW1电连接到施加有操作电压的第一全局字线GWL_A的第一存储器块BLK1可以是选定存储器块。通过第三路径开关PSW3电连接到没有施加操作电压的第二全局字线GWL_B的第三存储器块BLK3可以是共享存储器块。与第一全局字线GWL_A和第二全局字线GWL_B电断开的第二存储器块BLK2和第四存储器块BLK4可以是未选定存储器块。施加到第一全局字线GWL_A的操作电压可以传送到第一存储器块BLK1的局部字线LWL,并且可以在第一存储器块BLK1上执行存储器操作。存储器操作可以包括读取操作、擦除操作、以及编程操作。
在各种实施例中,可以根据施加到第一全局字线GWL_A和第二全局字线GWL_B的操作电压以及第一块字线控制信号和第二块字线控制信号在第一存储器块组BLK_GR1的存储器块中的至少一个或多个存储器块上同时执行存储器操作。这将参考图6进行更详细的描述。
图6是用于描述根据实施例的可以同时被擦除的存储器块的图。
参考图5和图6,第一存储器块组BLK_GR1的第一存储器块BLK1至第四存储器块BLK4中的可以同时被擦除的存储器块可以被分为三种情况。
多个存储器块中的可以同时被擦除的选定存储器块的事实意指选定存储器块的数据仅通过一个擦除操作而被擦除,而剩余的存储器块的数据不被擦除并被维护。
首先,可以擦除第一存储器块至第四存储器块中的一个存储器块。
例如,可以激活第一块字线控制信号,而可以停用第二块字线控制信号。操作电压可以施加到第一全局字线GWL_A,而操作电压可以不施加到第二全局字线GWL_B。在这种情况下,可以仅选择第一存储器块BLK1,并且可以仅擦除第一存储器块BLK1。
可以激活第一块字线控制信号,并且可以停用第二块字线控制信号。操作电压可以不施加到第一全局字线GWL_A,而操作电压施加可以施加到第二全局字线GWL_B。在这种情况下,可以仅选择第三存储器块BLK3,并且可以仅擦除第三存储器块BLK3。
可以停用第一块字线控制信号,而可以激活第二块字线控制信号。操作电压可以施加到第一全局字线GWL_A,而操作电压可以不施加到第二全局字线GWL_B。在这种情况下,可以仅选择第二存储器块BLK2,并且可以仅擦除第二存储器块BLK2。
可以停用第一块字线控制信号,并且可以激活第二块字线控制信号。操作电压可以不施加到第一全局字线GWL_A,而操作电压可以施加到第二全局字线GWL_B。在这种情况下,可以仅选择第四存储器块BLK4,并且可以仅擦除第四存储器块BLK4。
其次,可以同时擦除第一存储器块至第四存储器块中的两个存储器块。
例如,可以激活第一块字线控制信号,而可以停用第二块字线控制信号。操作电压可以施加到第一全局字线GWL_A和第二全局字线GWL_B。在这种情况下,可以选择第一存储器块BLK1和第三存储器块BLK3,并且可以同时擦除第一存储器块BLK1和第三存储器块BLK3。
可以停用第一块字线控制信号,并且可以激活第二块字线控制信号。操作电压可以施加到第一全局字线GWL_A和第二全局字线GWL_B。在这种情况下,可以选择第二存储器块BLK2和第四存储器块BLK4,并且可以同时擦除第二存储器块BLK2和第四存储器块BLK4。
可以激活第一块字线控制信号和第二块字线控制信号。操作电压可以施加到第一全局字线GWL_A,而操作电压可以不施加到第二全局字线GWL_B。在这种情况下,可以选择第一存储器块BLK1和第二存储器块BLK2,并且可以同时擦除第一存储器块BLK1和第二存储器块BLK2。
可以激活第一块字线控制信号和第二块字线控制信号。操作电压可以不施加到第一全局字线GWL_A,而操作电压可以施加到第二全局字线GWL_B。在这种情况下,可以选择第三存储器块BLK3和第四存储器块BLK4,并且可以同时擦除第三存储器块BLK3和第四存储器块BLK4。
第三,可以同时擦除第一存储器块至第四存储器块中的四个存储器块。
例如,可以激活第一块字线控制信号和第二块字线控制信号。操作电压可以施加到第一全局字线GWL_A和第二全局字线GWL_B。在这种情况下,可以选择第一存储器块BLK1至第四存储器块BLK4,并且可以同时擦除第一存储器块BLK1至第四存储器块BLK4。
根据本公开的一个实施例,随着同时被擦除的存储器块的数目增加,可以缩短垃圾收集操作中的存储器块的总擦除时间。例如,当假设一个擦除操作花费tER时,当第一存储器块至第四存储器块被一个一个地单独擦除时,可能花费4tER。当第一存储器块至第四存储器块被两个两个地同时擦除时,可能花费2tER。当第一存储器至第四存储器块被四个四个地同时擦除时,可能花费tER。
因此,当第一存储器块至第四存储器块被两个两个地擦除时,与第一存储器块至第四存储器块被一个一个地擦除的情况相比较,存储器块的总擦除时间可以缩短2tER-tER=tER。当第一存储器块至第四存储器块被四个四个地擦除时,与第一存储器块至第四存储器块被一个一个地擦除的情况相比较,存储器块的总擦除时间可以缩短4tER-tER=3tER。
在各种实施例中,同时被擦除的牺牲块的数目可以根据基于存储器设备的空闲块的数目而确定的空闲块的供应量来确定。
例如,当存储器设备的空闲块的数目等于或小于第一参考值时,空闲块的供应量可能不足,并且可能需要快速空闲块固定。当空闲块的数目等于或大于第一参考值并且等于或小于第二参考值时,空闲块的供应量可能正常,并且可能需要一般空闲块固定。当空闲块的数目等于或大于第二参考值并且等于或小于第三参考值时,空闲块的供应量可能足够,并且可能无需快速空闲块固定。如上文所描述的,可以根据空闲块的数目确定空闲块的供应量是否足够。
在图6中,当空闲块的供应量不足时,牺牲块的数目可以确定为一个,与第一种情况一样。这是因为由于仅需要将一个牺牲块中存储的有效数据复制到另一存储器块中,所以可以实现快速空闲块固定。
当空闲块的供应量正常时,牺牲块的数目可以确定为两个,与第二种情况一样。这是因为尽管垃圾收集操作比牺牲块的数目为一个的情况要花费更长的时间,但是更大数目的空闲块可以固定为两个,因为仅需要将两个牺牲块中存储的有效数据复制到另一存储器块。
当空闲块的供应量足够时,牺牲块的数目可以确定为四个,与第三种情况一样。这是因为尽管垃圾收集操作比牺牲块的数目是两个的情况花费更长的时间,但是更大数目的空闲块可以固定为四个,因为仅需要将四个牺牲块中存储的有效数据复制到另一存储器块。
图7是用于描述图1的存储器控制器的配置和操作的图。
参考图7,存储器控制器200可以包括垃圾收集控制器210和操作控制器220。
垃圾收集控制器210可以包括块管理器211和牺牲块确定器212。
块管理器211可以存储关于存储器设备100的多个存储器块的块管理信息。块管理信息可以包括候选块信息,该候选块信息指示多个存储器块的其中有效数据等于或小于预先确定的比例的候选块。块管理信息可以包括指示多个存储器块中的空闲块的空闲块信息。块管理信息可以包括同时可擦除块信息,其指示参考图6所描述的多个存储器块的可以同时被擦除的存储器块。块管理信息可以包括与存储器设备100中包括的每个存储器块组相对应的同时可擦除块信息。
牺牲块确定器212可以基于块管理信息来确定牺牲块。
在一个实施例中,牺牲块确定器212可以基于候选块信息来监测存储器设备100的存储器块中的其中有效数据等于或小于预先确定的比例的候选块。候选块可以是其中存储有效数据的页的数目等于或小于预先确定的数目的存储器块。
牺牲块确定器212可以基于候选块信息和同时可擦除块信息来确定候选块中的可以同时被擦除的两个或更多个存储器块作为牺牲块。
牺牲块确定器212可以确定牺牲块,使得在垃圾收集操作中要同时被擦除的存储器块变得最大。随着要通过一个擦除操作同时擦除的存储器块的数目增加,固定相同数目的空闲块所需的总擦除时间可能会缩短。
牺牲块确定器212可以确定牺牲块,使得要在垃圾收集操作中同时擦除的存储器块中存储的有效数据的量变得最小。随着牺牲块中存储的有效数据的量的减少,垃圾收集操作的效率可能会增加。
牺牲块确定器212可以基于空闲块信息和可同时擦除块信息来根据存储器设备100的存储器块中的空闲块的数目确定牺牲块的数目。
例如,假设可以同时擦除候选块中的n个(n是等于或大于1的自然数)存储器块或m个(m是大于n的自然数)存储器块。当空闲块的数目不足时,牺牲块确定器212可以确定牺牲块的数目为n。这是因为当牺牲块的数目为n时,垃圾收集操作花费较少的时间,并且与牺牲块的数目为m的情况相比较,可以更快固定空闲块。相比之下,当空闲块的数目足够时,牺牲块确定器212可以确定牺牲块的数目为m。这是因为当牺牲块的数目为m时,垃圾收集操作花费更长的时间,但是与牺牲块的数目为n的情况相比较,可以固定更大数目的空闲块。
在另一实施例中,牺牲块确定器212可以基于空闲块信息来根据存储器设备100的存储器块中的空闲块的数目来确定牺牲块的参考数目。具体地,牺牲块确定器212可以监测其中有效数据等于或小于预先确定的比例的候选块的数目,直到可以同时被擦除的候选块的数目达到参考数目为止。
当可以同时被擦除的候选块的数目等于或大于参考数目时,牺牲块确定器212可以确定对应候选块作为牺牲块。
牺牲块确定器212可以向操作控制器220提供指示确定的牺牲块的牺牲块信息。
操作控制器220可以基于牺牲块信息来控制存储器设备100将牺牲块中存储的有效数据复制到另一存储器块。当牺牲块中存储的有效数据被复制到另一存储器块时,操作控制器220可以控制存储器设备100同时擦除牺牲块。
图8是用于描述根据实施例的牺牲块确定的图。
参考图5和图8,存储器设备可以包括第一存储器块组BLK_GR1。第一存储器块组BLK_GR1可以包括第一存储器块BLK1至第四存储器块BLK4。存储器设备中包括的存储器块组的数目以及每个存储器块组中包括的存储器块的数目不限于本实施例。
在时间a1,第一存储器块BLK1至第三存储器块BLK3可以是其中有效数据等于或小于预先确定的比例的候选块。第一存储器块BLK1和第三存储器块BLK3中存储的有效数据的量可以小于第一存储器块BLK1和第二存储器块BLK2中存储的有效数据的量。
参考图6,可以同时擦除第一存储器块BLK1和第二存储器块BLK2。可替代,可以同时擦除第一存储器块BLK1和第三存储器块BLK3。
在一个实施例中,候选块中的可以同时被擦除的两个或更多个存储器块可以被确定为牺牲块。在一个实施例中,可以确定牺牲块,使得同时被擦除的存储器块的数目变得最大。因此,牺牲块的数目可以确定为两个而非一个。在一个实施例中,可以确定牺牲块,使得同时被擦除的存储器块中存储的有效数据的数目变得最小。因此,代替第一存储器块BLK1和第二存储器块BLK2,第一存储器块BLK1和第三和BLK3可以确定为牺牲块。
在时间a2,被确定为牺牲块的第一存储器块BLK1和第三存储器块BLK3中存储的有效数据可以复制到另一存储器块。此后,第一存储器块BLK1和第三存储器块BLK3可以用作空闲块。第一存储器块BLK1和第三存储器块BLK3可以在同时被擦除之后存储新数据。
图9是用于描述根据另一实施例的牺牲块确定的图。
参考图5和图9,存储器设备可以包括第一存储器块组BLK_GR1。第一存储器块组BLK_GR1可以包括第一存储器块BLK1至第四存储器块BLK4。存储器设备中包括的存储器块组的数目以及每个存储器块组中包括的存储器块的数目不限于本实施例。
在时间b1,第一存储器块BLK1至第三存储器块BLK3可以是其中有效数据等于或小于预先确定的比例的候选块。第四存储器块可以是其中有效数据超过预先确定的比例的块。
参考图6,可以同时擦除第一存储器块BLK1和第二存储器块BLK2。可替代地,可以同时擦除第一存储器块BLK1和第三存储器块BLK3。可替代地,可以同时擦除第一存储器块BLK1至第四存储器块BLK4。
在一个实施例中,牺牲块的参考数目可以根据空闲块的数目来确定。在图9中,牺牲块的参考数目可以是四个。牺牲块的参考数目不限于本实施例。
在一个实施例中,可以监测候选块的数目,直到可以同时被擦除的候选块的数目达到参考数目为止。当可以同时被擦除的候选块的数目等于或大于参考数目时,候选块可以确定为牺牲块。
例如,在时间b1,可以同时被擦除的候选块的数目可以是两个。因此,因为候选块的数目小于作为参考数目的四个,所以可以监测候选块的数目,直到时间b2。
在时间b2,第一存储器块BLK1至第四存储器块BLK4可以是其中有效数据等于或小于预先确定的比例的候选块。因此,因为可以同时被擦除的候选块的数目是四个并且等于牺牲块的参考数目,所以第一存储器块BLK1至第四存储器块BLK4可以确定为牺牲块。
在时间b2,被确定为牺牲块的第一存储器块BLK1至第四存储器块BLK4中存储的有效数据可以复制到另一存储器块。此后,第一存储器块BLK1至第四存储器块BLK4可以用作空闲块。第一存储器块BLK1至第四存储器块BLK4可以在同时被擦除之后存储新数据。
图10是用于描述根据实施例的垃圾收集操作的流程图。
参考图10,在步骤S1001中,可以确定数据等于或小于预先确定的比例的候选块。
在步骤S1003中,候选块中的可以同时被擦除的两个或更多个存储器块可以确定为牺牲块。
在步骤S1005中,牺牲块中存储的数据可以复制到另一存储器块。此后,牺牲块可以用作空闲块。
在步骤S1007中,可以同时擦除牺牲块。此后,擦除的牺牲块可以存储新数据。
图11是用于描述根据另一实施例的垃圾收集操作的流程图。
参考图11,在步骤S1101中,牺牲块的参考数目可以基于空闲块的数目来确定。
在步骤S1103中,可以监测有效数据等于或小于预先确定的比例的候选块的数目。
在步骤S1105中,可以确定可以同时被擦除的候选块的数目是否等于或大于在步骤S1101中确定的参考数目。作为确定的结果,当候选块的数目等于或大于参考数目时,过程进行到步骤S1107,而当候选块的数目小于参考数目时,过程进行到步骤S1103。
在步骤S1107中,可以同时被擦除的候选块可以确定为牺牲块。
在步骤S1109中,牺牲块中存储的数据可以复制到另一存储器块。此后,牺牲块可以用作空闲块。
在步骤S1111中,可以同时擦除牺牲块。此后,擦除的牺牲块可以存储新数据。
图12是用于描述图1的存储器控制器200的另一实施例的图。
参考图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快速)、非易失性存储器快递(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与主机Host之间提供接口。存储器控制器2100被配置为驱动用于控制存储器设备2200的固件。存储器控制器2100的实现方式可以与参考图1所描述的存储器控制器200的实现方式等同。
作为一个示例,存储器控制器2100可以包括诸如随机存取存储器(RAM)、处理器、主机接口、存储器接口、以及纠错部件之类的部件。
存储器控制器2100可以通过连接器2300与外部设备通信。存储器控制器2100可以根据特定通信标准与外部设备(例如,主机)通信。作为一个示例,存储器控制器2100被配置为通过诸如通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(MCM)、外围部件互连(PCI)、PCI快速(PCI-E)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、集成驱动电子设备(IDE)、FireWire、通用闪存(UFS)、Wi-Fi、蓝牙、以及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)系统3000的框图。
参考图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与SSD 3200之间的接口的信号。例如,信号SIG可以是诸如通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(MCM)、外围部件互连(PCI)、PCI快速(PCI-E)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、集成驱动电子设备(IDE)、FireWire、通用闪存(UFS)、Wi-Fi、蓝牙、以及NVMe之类的接口中的至少一个接口所定义的信号。
辅助功率设备3230通过功率连接器3002连接到主机3100。辅助功率设备3230可以从主机3100接收功率PWR并且可以为功率充电。当来自主机3100的功率供应不平稳时,辅助功率设备3230可以提供SSD 3200的功率。作为一个示例,辅助功率设备3230可以位于SSD3200中或者可以位于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、DDR2 SDRAM、DDR3 SDRAM、LPDDR SDARM、LPDDR2 SDRAM、以及LPDDR3 SDRAM;或非易失性随机存取存储器,诸如PRAM、ReRAM、MRAM、以及FRAM。作为一个示例,可以基于封装上封装(POP)来封装应用处理器4100和存储器模块4200,并且将其提供作为一个半导体封装。
网络模块4300可以与外部设备通信。作为一个示例,网络模块4300可以支持无线通信,诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进、Wimax、WLAN、UWB、蓝牙、以及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 (20)

1.一种用于控制包括多个存储器块的存储器设备的存储器控制器,所述存储器控制器包括:
垃圾收集控制器,被配置为确定所述多个存储器块之中有效数据等于或小于预定比例的候选块,并且被配置为基于关于所述多个存储器块之中能够同时被擦除的块的信息,来确定所述候选块中的两个或更多个存储器块作为牺牲块;以及
操作控制器,被配置为控制所述存储器设备,以将所述牺牲块中存储的有效数据复制到不同的存储器块。
2.根据权利要求1所述的存储器控制器,其中所述操作控制器被配置为在将所述有效数据复制到所述不同的存储器块之后,控制所述存储器设备同时擦除所述牺牲块。
3.根据权利要求1所述的存储器控制器,其中所述垃圾收集控制器包括:
块管理器,被配置为存储关于所述多个存储器块的块管理信息;以及
牺牲块确定器,被配置为基于所述块管理信息来确定所述牺牲块。
4.根据权利要求3所述的存储器控制器,其中所述块管理信息包括:
关于所述候选块的信息;
关于能够同时被擦除的所述块的所述信息;以及
关于所述多个存储器块中的空闲块的信息。
5.根据权利要求3所述的存储器控制器,其中所述牺牲块确定器被配置为确定所述牺牲块,以便最大化要被同时擦除的存储器块的数目。
6.根据权利要求5所述的存储器控制器,其中所述牺牲块确定器被配置为确定所述牺牲块,以便最小化要被同时擦除的所述存储器块中存储的有效数据的量。
7.根据权利要求3所述的存储器控制器,其中所述牺牲块确定器被配置为根据基于所述多个存储器块中的空闲块的数目而确定的空闲块的供应量,来确定所述牺牲块的数目。
8.根据权利要求1所述的存储器控制器,其中
所述多个存储器块包括第一存储器块、第二存储器块、第三存储器块和第四存储器块;
所述第一存储器块通过第一路径开关连接到第一全局字线;
所述第二存储器块通过第二路径开关连接到所述第一全局字线;
所述第三存储器块通过第三路径开关连接到第二全局字线;
所述第四存储器块通过第四路径开关连接到所述第二全局字线;
第一块字线控制信号被施加到所述第一路径开关和所述第三路径开关;
第二块字线控制信号被施加到所述第二路径开关和所述第四路径开关;
所述第一存储器块和所述第二存储器块根据施加到所述第一全局字线的操作电压以及所述第一块字线控制信号和所述第二块字线控制信号而同时被擦除;以及
所述第一存储器块和所述第三存储器块根据施加到所述第一全局字线和所述第二所述全局字线的操作电压以及所述第一块字线控制信号而同时被擦除。
9.一种用于控制包括多个存储器块的存储器设备的存储器控制器,所述存储器控制器包括:
垃圾收集控制器,被配置为基于所述多个存储器块中的空闲块的数目来确定牺牲块的参考数目,并且被配置为基于所述多个存储器块中的能够同时被擦除的候选块的数目与牺牲块的所述参考数目的比较结果,来确定所述候选块作为所述牺牲块;以及
操作控制器,被配置为控制所述存储器设备,以将存储在所述牺牲块中的有效数据复制到不同的存储器块。
10.根据权利要求9所述的存储器控制器,其中所述操作控制器被配置为在将所述有效数据复制到所述不同的存储器块之后,控制所述存储器设备同时擦除所述牺牲块。
11.根据权利要求9所述的存储器控制器,其中所述垃圾收集控制器包括:
块管理器,被配置为存储关于所述多个存储器块的块管理信息;以及
牺牲块确定器,被配置为基于所述块管理信息来确定所述牺牲块。
12.根据权利要求11所述的存储器控制器,其中所述块管理信息包括:
关于所述多个存储器块中的所述候选块的信息;
关于所述多个存储器块中的能够同时被擦除的所述块的所述信息;以及
关于所述多个存储器块中的空闲块的信息。
13.根据权利要求11所述的存储器控制器,其中所述牺牲块确定器被配置为当能够同时被擦除的所述候选块的数目达到牺牲块的所述参考数目时,确定所述候选块作为所述牺牲块。
14.根据权利要求9所述的存储器控制器,其中随着所述空闲块的数目增加,牺牲块的所述参考数目增加。
15.根据权利要求9所述的存储器控制器,其中所述候选块包括有效数据等于或小于预定比例的存储器块。
16.一种操作包括多个存储器块的存储设备的方法,所述方法包括:
确定所述多个存储器块中的候选块,在所述候选块中,有效数据等于或小于预定比例;
确定所述候选块中的能够同时被擦除的至少两个存储器块作为牺牲块;以及
将存储在所述牺牲块中的有效数据复制到不同的存储器块。
17.根据权利要求16所述的方法,还包括:
同时擦除所述牺牲块。
18.根据权利要求16所述的方法,其中确定所述至少两个存储器块作为所述牺牲块包括:确定所述牺牲块,使得要同时被擦除的存储器块的数目变得最大。
19.根据权利要求18所述的方法,其中确定所述牺牲块,使得要同时被擦除的所述存储器块中存储的有效数据的量最小。
20.根据权利要求16所述的方法,其中确定所述至少两个存储器块作为所述牺牲块包括:
基于所述多个存储器块中的空闲块的数目,来确定所述牺牲块的参考数目,以及
当所述至少两个存储器块的所述数目达到所述参考数目时,确定所述至少两个存储器块作为所述牺牲块。
CN202010857864.0A 2019-11-05 2020-08-24 存储设备及其操作方法 Withdrawn CN112783434A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190140519A KR20210054399A (ko) 2019-11-05 2019-11-05 저장 장치 및 그 동작 방법
KR10-2019-0140519 2019-11-05

Publications (1)

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

Family

ID=75687287

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010857864.0A Withdrawn CN112783434A (zh) 2019-11-05 2020-08-24 存储设备及其操作方法

Country Status (3)

Country Link
US (1) US11467745B2 (zh)
KR (1) KR20210054399A (zh)
CN (1) CN112783434A (zh)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7057937B1 (en) * 1992-03-17 2006-06-06 Renesas Technology Corp. Data processing apparatus having a flash memory built-in which is rewritable by use of external device
KR20130064518A (ko) * 2011-12-08 2013-06-18 삼성전자주식회사 저장 장치 및 그것의 동작 방법
KR102225989B1 (ko) 2014-03-04 2021-03-10 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 동작 방법
US20160321172A1 (en) * 2015-05-01 2016-11-03 Kabushiki Kaisha Toshiba Memory device that performs garbage collection
US10019179B2 (en) * 2015-10-16 2018-07-10 Toshiba Memory Corporation Memory device that writes data into a block based on time passage since erasure of data from the block
JP6414853B2 (ja) * 2015-12-14 2018-10-31 東芝メモリ株式会社 メモリシステムおよび制御方法
US9983999B2 (en) * 2016-01-22 2018-05-29 Samsung Electronics Co., Ltd. Computing system with cache management mechanism and method of operation thereof
JP2018160195A (ja) * 2017-03-23 2018-10-11 東芝メモリ株式会社 メモリシステムおよび不揮発性メモリの制御方法
KR102447602B1 (ko) * 2017-10-25 2022-09-26 삼성전자주식회사 메모리 장치 및 그 동적 가비지 컬렉션 방법
KR102457400B1 (ko) 2017-11-16 2022-10-21 삼성전자주식회사 가비지 컬렉션 방법, 이를 수행하는 저장 장치 및 이를 포함하는 컴퓨팅 시스템

Also Published As

Publication number Publication date
KR20210054399A (ko) 2021-05-13
US20210132803A1 (en) 2021-05-06
US11467745B2 (en) 2022-10-11

Similar Documents

Publication Publication Date Title
US11543984B2 (en) Memory controller, storage device and operating method thereof
CN112905502A (zh) 存储装置及其操作方法
US11335410B2 (en) Memory device and method of operating the same
CN111352855B (zh) 具有提高的映射更新速度的存储装置及其操作方法
US11327897B2 (en) Memory controller for performing a dummy read operation and method of operating the same
CN112463664A (zh) 存储装置及其操作方法
CN111435333B (zh) 存储装置及其操作方法
CN113096708A (zh) 存储器装置及其操作方法
CN112582011A (zh) 存储器设备及其操作方法
CN114546252A (zh) 存储设备及其操作方法
CN112309446A (zh) 存储设备和操作存储设备的方法
CN112445420B (zh) 存储控制器、存储装置以及操作该存储装置的方法
CN115509957A (zh) 主机装置、存储装置及其操作方法
US11281512B2 (en) Storage device providing device-to-host information to host and operating method thereof
CN112783435A (zh) 存储设备和操作存储设备的方法
US11467745B2 (en) Storage device and method of operating the same
US11500768B2 (en) Storage device performing garbage collection and method of operating the same
CN113539331B (zh) 存储器装置及其操作方法
US11366725B2 (en) Storage device and method of operating the same
US20230401006A1 (en) Computing system and method of operating the same
US20220334760A1 (en) Storage device and method of operating the same
KR20220167077A (ko) 저장 장치 및 그 동작 방법
CN116931820A (zh) 存储器控制器及其操作方法
KR20210151372A (ko) 저장 장치 및 그 동작 방법
CN114446357A (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: 20210511