CN112306897A - 存储器系统及其操作方法 - Google Patents
存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN112306897A CN112306897A CN202010189984.8A CN202010189984A CN112306897A CN 112306897 A CN112306897 A CN 112306897A CN 202010189984 A CN202010189984 A CN 202010189984A CN 112306897 A CN112306897 A CN 112306897A
- Authority
- CN
- China
- Prior art keywords
- memory
- block
- garbage collection
- victim
- blocks
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/344—Arrangements for verifying correct erasure or for detecting overerased cells
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7209—Validity control, e.g. using flags, time stamps or sequence numbers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
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)
- Software Systems (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
Abstract
存储器系统及其操作方法。本文可以提供存储器系统及其操作方法。存储器系统可以包括:存储器装置,其被配置为包括多个存储器块并且在垃圾收集操作期间将来自多个存储器块当中的牺牲块的数据复制到目标存储器块中;以及存储器控制器,其被配置为控制存储器装置执行垃圾收集操作,并且被配置为控制存储器装置在垃圾收集操作期间使用多擦除方法擦除牺牲块中存储的数据。
Description
技术领域
本公开的各种实施方式涉及电子装置,并且更具体地,涉及存储器系统及操作该存储器系统的方法。
背景技术
最近,用于计算机环境的范例已转换为无处不在的计算,使得计算机系统可以随时随地使用。由此,诸如移动电话、数码相机和笔记本电脑之类的便携式电子装置的使用迅速增加。通常,这样的便携式电子装置使用采用存储器装置的存储器系统,换句话说,使用数据储存装置。数据储存装置用作便携式电子装置的主存储器装置或辅存储器装置。
使用存储器装置的数据储存装置提供的各种优点在于:由于没有机械驱动部件,因此稳定性和耐久性优异,信息访问速度非常高,并且功耗很低。具有这些优点的数据储存装置的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态驱动器(SSD)。
存储器装置主要分为易失性存储器装置和非易失性存储器装置。
非易失性存储器装置具有相对较低的写入速度和读取速度,但是即使供电中断也保留存储在其内的数据。因此,非易失性存储器装置用于存储无论是否供电都必须保留的数据。非易失性存储器装置的示例包括只读存储器(ROM)、掩码ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、相变随机存取存储器(PRAM)、磁RAM(MRAM)、电阻RAM(RRAM)和铁电RAM(FRAM)。闪存分为NOR型和NAND型。
发明内容
本公开的各种实施方式涉及可以改进其垃圾收集操作的存储器系统及操作该存储器系统的方法。
本公开的一个实施方式可以提供一种存储器系统。该存储器系统可以包括:存储器装置,其具有多个存储器块并且被配置为在垃圾收集操作期间将多个存储器块当中的牺牲块中所存储的数据复制到目标存储器块中;以及存储器控制器,其被配置为控制存储器装置执行垃圾收集操作,并且在垃圾收集操作期间使用多擦除方法擦除牺牲块中存储的数据。
本公开的一个实施方式可以提供一种存储器系统。该存储器系统可以包括:存储器装置,其具有多个存储器块并且被配置为在垃圾收集操作期间将多个存储器块当中的牺牲块中的数据存储到多个存储器块当中的目标存储器块中,并使用单擦除方法或多擦除方法擦除牺牲块中存储的数据;以及存储器控制器,其被配置为控制存储器装置执行垃圾收集操作,在垃圾收集操作期间基于牺牲块中存储的有效数据的量将牺牲块的擦除方法设置为单擦除方法或多擦除方法,并控制存储器装置以使用所设置的擦除方法擦除牺牲块中存储的数据。
本公开的一个实施方式可以提供一种操作存储器系统的方法。该方法可以包括以下步骤:基于存储器装置中包括的多个存储器块当中的空闲块的数目来确定是否执行垃圾收集操作;当确定出要执行垃圾收集操作时,从多个存储器块当中选择牺牲块和目标存储器块;读取牺牲块中存储的有效数据并将所读取的有效数据复制到目标存储器块中;以及基于有效数据的量,使用单擦除方法或者多擦除方法擦除牺牲块中存储的数据。
本公开的一个实施方式可以提供一种操作存储器系统的方法。该方法可以包括以下步骤:计算空闲块的数目;如果空闲块的数目在第一值和第二值之间,则基于存储器系统的后台操作将牺牲块中存储的有效数据写入空闲块中,其中,第二值小于第一值;如果空闲块的数目小于第二值,则计算牺牲块的数目;在计算出牺牲块的数目之后,基于存储器系统的前台操作,将牺牲块中存储的有效数据写入空闲块中;如果牺牲块的数目大于第三值,则基于多擦除方法从牺牲块擦除有效数据;以及如果牺牲块的数目小于或等于第三值,则基于单擦除方法从牺牲块中擦除有效数据。
通过下面结合附图的详细描述,本公开的这些和其它特征以及优点对于本领域技术人员而言将变得显而易见。
附图说明
图1是例示了根据本公开的各种实施方式的存储器系统的框图。
图2是例示了根据本公开的各种实施方式的图1的存储器控制器的配置的框图。
图3是例示了根据本公开的各种实施方式的图2的垃圾收集控制块的配置的框图。
图4例示了根据本公开的各种实施方式的图1的半导体存储器。
图5是例示了根据本公开的各种实施方式的图4的存储器单元阵列的实施方式的框图。
图6是例示了根据本公开的各种实施方式的图5的存储器块的电路图。
图7是例示了根据本公开的各种实施方式的存储器系统的操作的流程图。
图8例示了根据本公开的各种实施方式的在垃圾收集操作期间将牺牲块的数据存储在目标存储器块中的操作。
图9是例示了根据本公开的各种实施方式的在垃圾收集操作期间使用多擦除方法擦除多个牺牲块的方法的流程图。
图10是例示了根据本公开的各种实施方式的用于描述多擦除操作的擦除命令、块地址和就绪/忙碌信号的定时图。
图11是例示了根据本公开的各种实施方式的用于描述多擦除操作的信号的波形图。
图12例示了根据本公开的各种实施方式的在垃圾收集操作期间用于目标存储器块的映射表。
图13例示了根据本公开的各种实施方式的第一示例性存储器系统。
图14例示了根据本公开的各种实施方式的第二示例性存储器系统。
图15例示了根据本公开的各种实施方式的第三示例性存储器系统。
图16例示了根据本公开的各种实施方式的第四示例性存储器系统。
具体实施方式
在本说明书或本申请中引入的本公开的实施方式中的特定结构或功能性描述仅用于描述本公开的实施方式。该描述不应被解释为限于说明书或申请中描述的实施方式。
现在将基于实施方式详细描述本公开。然而,本公开可以以许多不同的形式来体现,并且不应该被解释为仅限于在此阐述的实施方式,而是应当被解释为涵盖落入本公开的精神和技术范围内的修改、等同或替代。然而,这并非旨在将本公开限制为特定的实践模式,并且应当理解,不脱离本公开的精神和技术范围的所有变型、等同和替代都被包括在本公开中。
将理解的是,尽管在这里可以使用术语“第一”和/或“第二”来描述各种元件,但是这些元件不应受到这些术语的限制。这些术语仅用于将一个元件与另一元件区分开。例如,在不脱离本公开的教导的情况下,下面讨论的第一元件可以被称为第二元件。类似地,第二元件也可以被称为第一元件。
将理解的是,当元件被称为“联接”或“连接”至另一元件时,它可以直接联接或连接至另一元件,或者在它们之间可以存在中间元件。相反,应该理解的是,当元件被称为“直接联接”或“直接连接”至另一元件时,则不存在中间元件。诸如“在…之间”、“直接在…之间”、“与…相邻”或“与…直接相邻”之类的描述元件之间关系的其它表述应该以相同的方式解释。
本文所使用的术语仅出于描述特定实施方式的目的,而并非旨在进行限制。在本公开中,除非上下文另外明确指出,否则单数形式也旨在包括复数形式。还将理解,当在本说明书中使用术语“包括”、“包含”、“具有”等时,其指定了所提及特征、整数、步骤、操作、元件、组件和/或其组合的存在,但是不排除存在或增加一个或更多个其它特征、整数、步骤、操作、元件、组件和/或其组合。
除非另有定义,否则本文所使用的包括技术术语和科学术语在内的所有术语具有与本公开所属领域的普通技术人员通常理解的含义相同的含义。将进一步理解,本文所使用的术语应被解释为具有与在本说明书和相关技术的上下文中的含义一致的含义,并且除非在本文中明确定义,否则将不以理想化或过于形式的意义来解释。
省略了本领域技术人员公知的功能和结构的详细描述以避免模糊本公开的主题。这旨在省略不必要的描述以使本公开的主题清楚。
现在将在下文中参照附图更充分地描述本公开的各种实施方式,在附图中示出了本公开的优选实施方式,使得本领域的普通技术人员可以容易地实现本公开的技术构思。
图1是例示了根据本公开的各种实施方式的存储器系统的框图。
参照图1,存储器系统1000可以包括存储器装置1100、存储器控制器1200和主机1300。存储器装置1100可以包括多个半导体存储器100。多个半导体存储器100可以划分为多个组。在本公开的实施方式中,尽管主机1300被例示和描述为被包括在存储器系统1000中,但是存储器系统1000可以被配置为仅包括存储器控制器1200和存储器装置1100,并且主机1300可以被配置为布置在存储器系统1000外部。
在图1中,例示了存储器装置1100中的多个存储器组中的每个存储器组分别通过第一通道CH1至第n通道CHn与存储器控制器1200通信。稍后将参照图4详细描述每个半导体存储器100。
每个存储器组可以通过一个公共通道与存储器控制器1200通信。存储器控制器1200可以通过多个通道CH1至CHn控制存储器装置1100的半导体存储器100。
存储器控制器1200可以联接在主机1300和存储器装置1100之间。存储器控制器1200可以响应于来自主机1300的请求而访问存储器装置1100。例如,存储器控制器1200可以响应于从主机1300接收到的主机命令Host_CMD而控制存储器装置1100的读取操作、写入操作、擦除操作和后台操作。主机1300可以在写入操作期间将地址ADD和数据DATA与主机命令Host_CMD一起发送给存储器控制器1200,并且可以在读取操作期间将地址ADD与主机命令Host_CMD一起发送给存储器控制器1200。存储器控制器1200可以在读取操作期间向主机1300发送读取数据DATA。存储器控制器1200可以控制存储器装置1100,使得存储器装置1100可以执行垃圾收集操作(GC),例如,将存储在任意存储器块(例如,牺牲块)中的数据复制到附加任意存储器块(例如,目标存储器块)中的操作,然后处理复制的数据。在垃圾收集操作期间,存储器控制器1200可以擦除牺牲块中所存储的数据,从而确保空闲块。在此,存储器控制器1200可以通过控制存储器装置1100使得能够使用多擦除方法擦除牺牲块中所存储的数据,来快速确保空闲块。
存储器控制器1200可以提供存储器装置1100与主机1300之间的接口。存储器控制器1200可以运行用于控制存储器装置1100的固件。
主机1300可以包括便携式电子装置,诸如计算机、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器、相机、便携式摄像机或移动电话。主机1300可以通过主机命令Host_CMD来请求存储器系统1000的写入操作、读取操作或擦除操作。主机1300可以向存储器控制器1200发送与写入命令相对应的主机命令Host_CMD、数据DATA和地址ADD,以执行存储器装置1100的写入操作,并且可以向存储器控制器1200发送与读取命令相对应的主机命令Host_CMD以及地址ADD,以执行存储器装置1100的读取操作。这里,地址ADD可以是数据的逻辑地址。
存储器控制器1200和存储器装置1100可以集成到单个半导体装置中。在示例性实施方式中,存储器控制器1200和存储器装置1100可以集成到单个半导体装置中以形成存储卡。例如,存储器控制器1200和存储器装置1100可以集成到单个半导体装置中以形成诸如个人计算机存储卡国际协会(PCMCIA)、紧凑型闪存卡(CF)、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC或微MMC)、SD卡(SD、迷你SD、微SD或SDHC)或通用闪存(UFS)之类的存储卡。
存储器控制器1200和存储器装置1100可以集成到单个半导体装置中以形成固态驱动器(SSD)。SSD可以包括被配置为在每个半导体存储器中存储数据的储存装置。
在实施方式中,存储器系统1000可以设置为诸如计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、游戏机、导航装置、黑匣子、数码相机、三维(3D)电视、数字音频记录仪、数字音频播放器、数字图片记录仪、数字图片播放器、数字视频记录仪、数字视频播放器、能够在无线环境中发送/接收信息的装置之类的电子设备中的各种元件之一、用于形成家庭网络的各种装置之一、用于形成计算机网络的各种电子装置之一、用于形成远程信息处理网络的各种电子装置之一、RFID装置或用于形成计算系统的各种元件之一。
在示例性实施方式中,存储器装置1100或存储器系统1000可以安装在各种类型的封装件中。例如,存储器装置1100或存储器系统1000可以以诸如封装体叠层(PoP)、球栅阵列(BGA)、芯片级封装(CSP)、塑料引线芯片载体(PLCC)、塑料双列直插式封装(PDIP)、Waffle包中晶片、晶圆形式晶片、板上芯片(COB)、陶瓷双列直插式封装(CERDIP)、塑料度量四方扁平封装(MQFP)、薄型四方扁平封装(TQFP)、小轮廓(SOIC)、收缩型小轮廓封装(SSOP)、薄型小轮廓(TSOP)、薄型四方扁平封装(TQFP)、系统级封装(SIP)、多芯片封装(MCP)、晶圆级制造封装(WFP)或晶圆级处理层叠封装(WSP)等的类型来封装和安装。
图2是例示了图1的存储器控制器的配置的框图。
参照图2,存储器控制器1200可以包括主机控制块1210、处理器1220、缓冲存储器1230、垃圾收集控制块1240、纠错块1250、闪存控制块1260和总线1270。
总线1270可以在存储器控制器1200的组件之间提供通道。
主机控制块1210可以控制图1的主机1300与缓冲存储器1230之间的数据传输。在示例中,主机控制块1210可以控制将从主机1300输入的数据缓存在缓冲存储器1230中的操作。在示例中,主机控制块1210可以控制将缓冲存储器1230中所缓存的数据输出到主机1300的操作。
此外,主机控制块1210可以向处理器1220发送从主机1300接收的主机命令和地址。
主机控制块1210可以包括主机接口。
处理器1220可以控制存储器控制器1200的整体操作并执行逻辑操作。处理器1220可以通过主机控制块1210与图1的主机1300通信,并且可以通过闪存控制块1260与图1的存储器装置1100通信。另外,处理器1220可以通过使用缓冲存储器1230作为工作存储器或高速缓冲存储器来控制存储器系统1000的操作。处理器1220可以通过依据其优先级对从主机1300接收到的多个主机命令进行重新排列来生成命令队列(Command Que),以控制闪存控制块1260。
处理器1220可以包括闪存转换层(以下称为“FTL”)1221。
闪存转换层(FTL)1221可以运行固件。固件可以存储在与缓冲存储器1230或处理器1220直接联接的附加存储器(未示出)中,也可以存储在处理器1220中的储存空间中。另外,FTL 1221可以在写入操作期间将与来自图1的主机1300的地址(例如,逻辑地址)相对应的物理地址映射到逻辑地址。此外,FTL 1221可以在读取操作期间检查映射到从主机1300输入的逻辑地址的物理地址。FTL 1221可以在垃圾收集操作期间更新用于目标存储器块的映射表。FTL 1221可以在更新用于目标存储器块的映射表的操作期间重新排列地址,使得相邻的逻辑地址被映射到相邻的物理地址。例如,FTL 1221可以按照递增顺序(即,以升序)重新排列逻辑地址,并且可以以相应顺序将重新排列的逻辑地址依次映射到各个物理地址。
此外,FTL 1221可以响应于从主机1300接收到的主机命令而生成用于控制闪存控制块1260的命令队列(Command Que)。
缓冲存储器1230可以用作处理器1220的工作存储器或高速缓冲存储器。缓冲存储器1230可以存储由处理器1220执行的代码和命令。缓冲存储器1230可以存储由处理器1220处理的数据。
缓冲存储器1230可以包括写入缓冲器1231和读取缓冲器1232。写入缓冲器1231临时存储与写入命令一起从主机1300接收的数据DATA,然后将临时存储的数据DATA发送到存储器装置1100。读取缓冲器1232可以临时存储从存储器装置1100接收的数据DATA,然后在读取操作期间将临时存储的数据DATA发送到主机1300。此外,在垃圾收集操作期间,读取缓冲器1232可以临时存储从存储器装置1100的被选存储器块(即,牺牲块)接收的有效数据,然后将临时存储的有效数据发送到存储器装置1100的目标存储器块。
缓冲存储器1230可以存储用于存储器装置1100中包括的存储器块的映射表。
缓冲存储器1230可以包括静态RAM(SRAM)或动态RAM(DRAM)。
在垃圾收集操作期间,垃圾收集控制块1240可以从存储器装置1100中所包括的多个存储器块当中选择牺牲块和目标存储器块,并且可以控制闪存控制块1260和缓冲存储器1230,使得存储在牺牲块中的有效数据被存储在目标存储器块中。垃圾收集控制块1240可以控制闪速控制块1260在垃圾收集操作期间基于存储器系统的性能,使用存储器系统的后台操作或前台操作来执行垃圾收集操作。另外,垃圾收集控制块1240可以控制闪存控制块1260以使得在垃圾收集操作期间可通过基于牺牲块的数目(即,牺牲块计数)或牺牲块中存储的有效数据量而确定的多擦除操作或单擦除操作来擦除牺牲块的数据。多擦除操作可以指示同时擦除多个牺牲块中所存储的数据的擦除操作,并且单擦除操作可以指示依次擦除多个牺牲块中所存储的数据的擦除操作。
在示例中,垃圾收集控制块1240可以作为处理器1220的组件而被包括在处理器1220中。
纠错块1250可以执行纠错。纠错块1250可以基于要通过闪存控制块1260写入图1的存储器装置1100的数据来执行纠错码(ECC)编码。ECC编码后的数据可以通过闪存控制块1260传送到存储器装置1100。纠错块1250可以对通过闪存控制块1260从存储器装置1100接收到的数据执行ECC解码。在示例中,纠错块1250可以作为闪存控制块1260的组件而被包括在闪存控制块1260中。
闪存控制块1260可以响应于由处理器1220生成的命令队列(Command Que)而生成并输出用于控制存储器装置1100的内部命令。在写入操作期间,闪存控制块1260可以通过向存储器装置1100发送缓存在缓冲存储器1230的写入缓冲器1231中的数据来控制写入操作。在示例中,在读取操作期间,闪存控制块1260可以响应于命令队列(Command Que)而控制将从存储器装置1100读取的数据缓存在缓冲存储器1230的读取缓冲器1232中的操作。此外,在垃圾收集操作期间,闪存控制块1260可以在垃圾收集控制块1240的控制下控制存储器装置1100执行垃圾收集操作。例如,在垃圾收集操作期间,闪存控制块1260可以控制存储器装置1100,以从选自存储器装置1100中所包括的多个存储器块当中的多个牺牲块中读取有效数据。然后,闪存控制块1260可以从存储器装置1100接收读取的有效数据,以将读取的有效数据存储在缓冲存储器1230的读取缓冲器1232中。此外,闪存控制块1260可以控制存储器装置1100将读取缓冲器1232中所存储的有效数据存储到存储器装置1100中所包括的多个存储器块当中的目标存储器块中。另外,闪存控制块1260可以控制存储器装置1100对多个牺牲块执行擦除操作,并且还可以控制存储器装置1100以使用由垃圾收集控制块1240设定的多擦除方法或单擦除方法来执行擦除操作。
闪存控制块1260可以包括闪存接口。
图3是例示了图2的垃圾收集控制块的配置的框图。
参照图3,垃圾收集控制块1240可以包括空闲块管理器1241、块计数比较器1242、牺牲块选择器1243、有效数据计数器1244、目标存储器块选择器1245和垃圾收集控制器1246。
空闲块管理器1241可以管理存储器装置(例如,图1的1100)中所包括的多个存储器块当中的多个空闲块。空闲块处于由于已执行了擦除操作而没有数据的空存储器块状态。此外,空闲块管理器1241可以将空闲块的数目(即,空闲块计数:FB_count)通知给块计数比较器1242。
块计数比较器1242可以从空闲块管理器1241接收空闲块的数目(即,空闲块计数)FB_count,并且可以将接收到的空闲块计数FB_count与第一设定数目进行比较。当接收到的空闲块计数FB_count小于第一设定数目时,块计数比较器1242可以生成用于执行垃圾收集操作的垃圾收集触发信号GC_Trigger,并且可以将垃圾收集触发信号GC_Trigger输出到垃圾收集控制器1246。
牺牲块选择器1243可以在存储器装置(例如,图1的1100)中所包括的多个存储器块当中选择其中存储了有效数据的两个或更多个存储器块作为牺牲块,并且可以将关于牺牲块的信息Victim_MB输出到有效数据计数器1244和垃圾收集控制器1246。在牺牲块选择操作期间,牺牲块选择器1243可以考虑所存储的有效数据的量、自编程操作完成起所经过的时间等来选择牺牲块。例如,牺牲块选择器1243可以优先选择其中存储了少量有效数据并且自编程操作完成起经过了长时间的存储器块作为牺牲块。牺牲块选择器1243可以依据空闲块计数来调整要被选择为牺牲块的存储器块的数目。
有效数据计数器1244可以从牺牲块选择器1243接收关于牺牲块的信息Victim_MB,对牺牲块中所存储的有效数据的总量进行计数,然后输出有效数据信息Data_Amount。
目标存储器块选择器1245可以从空闲块管理器1241管理的空闲块当中选择在垃圾收集操作期间存储数据的目标存储器块,并且可以将关于目标存储器块Target_MB的信息输出到垃圾收集控制器1246。
垃圾收集控制器1246可以响应于垃圾收集触发信号GC_Trigger而被激活,并且可以响应于空闲块计数FB_count、关于牺牲块的信息Victim_MB以及有效数据信息Data_Amount而生成用于控制执行垃圾收集操作的垃圾收集命令GC_CMD。
垃圾收集控制器1246可以包括系统状态确定器1246A和擦除方法选择器1246B。
当确定出空闲块计数FB_count小于第二设定数目(第二设定数目小于第一设定数目)或者存储器系统的性能低于设定能力时,系统状态确定器1246A可以确定存储器系统处于紧急状态,并且可以控制存储器系统优先执行垃圾收集操作作为前台操作。
擦除方法选择器1246B可以基于被选牺牲块的数目(即,牺牲块计数)将牺牲块的擦除方法设置为多擦除方法或单擦除方法。在实施方式中,垃圾收集控制器1246可以基于从有效数据计数器1244接收到的牺牲块中所存储的有效数据信息Data_Amount,将牺牲块的擦除方法设置为多擦除方法或单擦除方法。
垃圾收集控制器1246可以基于由系统状态确定器1246A选择的垃圾收集操作类型和由擦除方法选择器1246B选择的擦除方法,来生成垃圾收集命令GC_CMD。垃圾收集命令GC_CMD可以被配置为包含关于牺牲块的信息、关于目标存储器块的信息以及关于牺牲块的擦除方法的信息。
图4是例示了图1的半导体存储器的框图。
参照图4,半导体存储器100可以包括:存储器单元阵列110,其包括多个存储器块BLK1至BLKz;以及外围电路PERI,其被配置为对多个存储器块BLK1至BLKz的被选页中所包括的存储器单元执行编程操作、读取操作或擦除操作。外围电路PERI可以包括控制电路120、电压供应电路130、页缓冲器组140、列解码器150和输入/输出电路160。
存储器单元阵列110可以包括多个存储器块BLK1至BLKz。存储器块BLK1至BLKz中的每一个可以包括多个页。多个页中的每一页可以包括多个存储器单元。在实施方式中,多个存储器单元可以是非易失性存储器单元。下面将参照图5和图6对此进行详细描述。
控制电路120可以响应于通过输入/输出电路160从外部输入的内部命令CMD而输出电压控制信号VCON以生成执行读取操作、编程操作或擦除操作所需的电压,并且可以根据操作的类型输出页缓冲器(PB)控制信号PBCON来控制页缓冲器组140中所包括的页缓冲器PB1至PBk。另外,控制电路120可以响应于通过输入/输出电路160从外部输入的地址信号ADD而输出行地址信号RADD和列地址信号CADD。
电压供应电路130可以响应于来自控制电路120的电压控制信号VCON而向被选存储器块中的包括漏极选择线、字线WL和源极选择线的局部线提供对存储器单元执行编程操作、读取操作或擦除操作所需的操作电压。电压供应电路130可以包括电压产生电路和行解码器。在示例中,可以向存储器单元阵列110中包括的多个存储器块BLK1至BLKz的源极线或多个存储器块BLK1至BLKz的阱基板施加用于擦除操作的擦除电压。
电压产生电路可以响应于来自控制电路120的电压控制信号VCON而向全局线输出对存储器单元执行编程操作、读取操作和擦除操作所需的工作电压。
行解码器可以将全局线联接到局部线,使得从电压产生电路输出到全局线的操作电压可以响应于来自控制电路120的行地址信号RADD而被传送到从存储器单元阵列110中选择的存储器块的局部线。
页缓冲器组140可以包括分别通过位线BL1至BLk联接到存储器单元阵列110的多个页缓冲器PB1至PBk。页缓冲器组140的页缓冲器PB1至PBk可以响应于来自控制电路120的PB控制信号PBCON而依据要存储到存储器单元中的数据DATA来选择性地对位线BL1至BLk预充电,或者可以感测位线BL1至BLk的电压以从存储器单元中读取数据DATA。
列解码器150可以响应于来自控制电路120的列地址信号CADD而选择页缓冲器组140中所包括的页缓冲器PB1至PBk。也就是说,列解码器150可以响应于列地址信号CADD而将要存储在存储器单元中的数据DATA依次传送到页缓冲器PB1至PBk。此外,列解码器150可以响应于列地址信号CADD而依次选择页缓冲器PB1至PBk,使得锁存在页缓冲器PB1至PBk中的存储器单元的数据DATA可以通过读取操作输出到外部装置。
输入/输出电路160可以在控制电路120的控制下向列解码器150传送输入数据DATA,使得输入数据DATA可以被输入至页缓冲器组140,以便在编程操作期间将数据存储到存储器单元中。当列解码器150将从输入/输出电路160接收到的数据DATA传送到页缓冲器组140的页缓冲器PB1至PBk时,页缓冲器PB1至PBk可以将接收到的数据DATA存储在内部锁存电路中。此外,在读取操作期间,输入/输出电路160可以将通过列解码器150从页缓冲器组140的页缓冲器PB1至PBk传送的数据DATA输出到外部装置。
图5是例示了图4的存储器单元阵列的一个实施方式的框图。
参照图5,存储器单元阵列110可以包括多个存储器块BLK1至BLKz。每个存储器块可以具有三维(3D)结构。存储器块中的每一个可以包括层叠在基板上的多个存储器单元。多个存储器单元可以沿+X、+Y和+Z方向布置。下面将参照图6更详细地描述每个存储器块的结构。
图6是例示了图5的存储器块的电路图。
参照图6,每个存储器块可以包括联接在位线BL1至BLk和公共源极线CSL之间的多个串ST1至STk。也就是说,串ST1至STk可以分别联接至对应的位线BL1至BLk,并且可以共同联接至公共源极线CSL。每个串(例如,ST1)可以包括其源极联接到公共源极线CSL的源极选择晶体管SST、多个存储器单元C01至Cn1、以及其漏极联接到相应的位线BL1的漏极选择晶体管DST。存储器单元C01至Cn1可以串联联接在选择晶体管SST和DST之间。源极选择晶体管SST的栅极可以联接至源极选择线SSL。存储器单元C01至Cn1的栅极可以分别联接到字线WL0至WLn。漏极选择晶体管DST的栅极可以联接至漏极选择线DSL。
存储器块中所包括的存储器单元可以被分类为物理页单元或逻辑页单元。例如,联接到单条字线(例如,WL0)的存储器单元C01至C0k可以构成单个物理页PAGE0。
图7是例示了根据本公开的各种实施方式的存储器系统的操作的流程图。
以下将参照图1至图7描述根据本公开的各种实施方式的存储器系统的操作。
主机1300可以生成并输出与写入操作相对应的主机命令Host_CMD和数据DATA,并且在步骤S710,存储器控制器1200可以从主机1300接收主机命令Host_CMD和数据DATA。
存储器控制器1200的处理器1220可以通过对经由主机控制块1210接收到的主机命令Host_CMD解析来生成命令队列(Command Que)。处理器1220可以将与主机命令Host_CMD一起接收到的地址ADD映射到存储器装置的物理地址。缓冲存储器1230的写入缓冲器1231可以通过主机控制块1210从主机1300接收数据DATA,以存储接收到的数据DATA。
在步骤S720,垃圾收集控制块1240可以检查存储器装置1100中包括的多个半导体存储器100的存储器块BLK1至BLKz当中的空闲块。
基于检查空闲块的结果,可以在步骤S730确定是否需要执行垃圾收集(GC)操作。例如,当空闲块的数目(检查的空闲块计数)小于第一设定数目时,可以确定出需要执行垃圾收集操作(GC)(在“是”的情况下),而当空闲块计数等于或大于第一设定数目时,可以确定出不需要执行垃圾收集操作(GC)(在“否”的情况下)。
当在步骤S730中确定出不需要执行垃圾收集操作(GC)时(在“否”的情况下),闪存控制块1260可以响应于由处理器1220生成的命令队列(Command Que)而生成用于控制存储器装置1100的写入操作的内部命令CMD,并且可以输出内部命令CMD。闪存控制块1260可以在写入操作期间向存储器装置1100发送缓冲存储器1230的写入缓冲器1231中所缓存的数据。这里,闪存控制块1260可以将由处理器1220映射的地址ADD与内部命令CMD和数据DATA一起输出。
存储器装置1100可以从存储器控制器1200接收内部命令CMD、地址ADD和数据DATA,并且在步骤S740,响应于接收到的内部命令CMD、地址ADD和数据DATA而对被选半导体存储器100中的被选存储器块(即,存储器块BLK1至BLKz中的至少一个)执行写入操作。
当在步骤S730中确定出需要执行垃圾收集操作(GC)时(在“是”的情况下),在步骤S750,垃圾收集控制块1240可以检查存储器系统1000的当前性能,然后确定存储器系统1000是否处于紧急状态。例如,当空闲块计数小于第二设定数目时,垃圾收集控制块1240可以确定存储器系统1000处于紧急状态。第二设定数目可以小于第一设定数目。尽管本公开的上述实施方式例示了基于空闲块计数确定紧急状态,但是本公开不限于此。可以通过使用确定存储器系统的性能的多种方法来确定存储器系统的状态。
当在步骤S750确定出存储器系统1000不处于紧急状态时(在“否”的情况下),垃圾收集控制块1240可以生成并输出后台垃圾收集命令GC_CMD。闪存控制块1260可以响应于垃圾收集命令GC_CMD而控制存储器装置1100,使得存储器装置1100可以执行垃圾收集操作。在步骤S760,在闪存控制块1260的控制下,当存储器系统1000处于空闲状态时,存储器装置1100可以执行后台垃圾收集(GC)操作。下面将参照图8描述垃圾收集操作。
当在步骤S750处确定出存储器系统1000处于紧急状态时(在“是”的情况下),在步骤S770处,垃圾收集控制器1246可以将牺牲块选择器1243所选择的牺牲块的数目(即,牺牲块计数)与设定数目进行比较。例如,垃圾收集控制器1246可以确定牺牲块选择器1243所选择的牺牲块的数目是否大于设定数目。
作为步骤S770的比较操作的结果,当牺牲块的数目大于设定数目时(在“是”的情况下),在步骤S780处,垃圾收集控制器1246可以将垃圾收集操作期间牺牲块的擦除方法设置为多擦除方法。
相反,当牺牲块的数目小于或等于设定数目时(在“否”的情况下),在步骤S790处,垃圾收集控制器1246可以将垃圾收集操作期间牺牲块的擦除方法设置为单擦除方法。
在上述多块擦除(多擦除)设置步骤S780或单块擦除(单擦除)设置步骤S790之后,垃圾收集控制块1240可以生成并输出前台垃圾收集命令GC_CMD。垃圾收集命令GC_CMD可以被配置为包含关于牺牲块的信息、关于目标存储器块的信息以及关于牺牲块的擦除方法的信息。闪存控制块1260可以响应于垃圾收集命令GC_CMD而控制存储器装置1100执行垃圾收集操作。这里,闪存控制块1260可以先于由处理器1220生成的命令队列(Command Que)中排队的其它命令来处理垃圾收集命令GC_CMD。因此,闪存控制块1260可以控制存储器装置1100在写入操作之前执行作为前台操作的垃圾收集操作。
在步骤S800,存储器装置1100可以在闪存控制块1260的控制下执行前台垃圾收集操作。在完成了从牺牲块到目标存储器块的有效数据存储之后,存储器装置1100可以基于以上设置的擦除方法以使用多擦除方法或单擦除方法擦除多个牺牲块的数据的方式来擦除牺牲块的数据。
在完成垃圾收集操作之后,可以在步骤S740执行上述写入操作。
图8是用于描述在垃圾收集操作期间将牺牲块的数据存储到目标存储器块中的操作的图。
在本公开的实施方式中,将通过示例的方式描述将牺牲A块和牺牲B块中的有效数据复制到目标存储器块中的情况。
参照图8,牺牲A块中所包括的多个页可以包括用于存储有效数据的多个有效页和用于存储无效数据的多个无效页。另外,牺牲B块中所包括的多个页可以包括用于存储有效数据的多个有效页和用于存储无效数据的多个无效页。
作为目标存储器块,可以选择存储器块中的空闲块之一,因此,目标存储器块可以由处于未存储数据的擦除状态的页(即,空闲页)组成。
在垃圾收集操作期间,可以从牺牲A块和牺牲B块中包括的多个页当中的存储了有效数据的有效页中读取数据。从有效页读取的数据可以存储在图2的读取缓冲器1232中,并且存储在读取缓冲器1232中的有效数据可以逐页存储到目标存储器块中。也就是说,多个牺牲块中存储的有效数据可以被复制到目标存储器块中。因此,存储在多个牺牲块中的所有有效数据可以存储到比牺牲块的数目更少数目的目标存储器块中。
将其有效数据已被存储在目标存储器块中的牺牲A块和牺牲B块擦除,成为空闲块。
图9是例示了根据本公开的各种实施方式的在垃圾收集操作期间使用多擦除方法擦除多个牺牲块的方法的流程图。
图10是根据本公开的各种实施方式的用于描述多擦除操作的擦除命令、块地址和就绪/忙碌信号的定时图。
图11是根据本公开的各种实施方式的用于描述多擦除操作的信号的波形图。
下面将参照图4以及图9至图11描述根据本公开的各种实施方式的多擦除方法。
在本公开的实施方式中,将以示例的方式描述使用多擦除方法对多个存储器块(例如,块N、块M和块K)执行擦除操作的情况。
在步骤S910,半导体存储器100可以通过输入/输出线(I/O)从存储器控制器(例如,图1的1200)接收擦除命令60h和第一块地址BLOCK N。
在步骤S920,确定接收到的块地址是否是最后地址。当所接收的块地址不是最后地址时(在“否”的情况下),半导体存储器100可以接收擦除命令60h和下一块地址BLOCK M。
当接收到地址输入完成信号D0h并且确定出已经接收到最后的擦除命令60h和块地址BLOCK K时(在“是”的情况下),控制电路120可以响应于接收到的擦除命令CMD 60h和块地址ADD(例如,BLOCK N、BLOCK M和BLOCK K)对块N、块M和块K执行多擦除操作。
下面将详细描述该操作。
在步骤S930,控制电路120可以控制电压供应电路130以将擦除电压同时施加到多个存储器块(例如,块N、块M和块K)。在本公开的实施方式中,将通过示例的方式来描述使用在逐渐增大擦除电压的同时施加擦除电压的增量步进脉冲擦除(ISPE)方法来执行擦除电压施加操作。
电压供应电路130可以响应于从控制电路120输出的电压控制信号VCON而产生要施加到针对擦除操作所选择的多个存储器块(例如,块N、块M和块K)的第一擦除电压Vera1,并且可以将所产生的第一擦除电压Vera1施加到多个被选存储器块(例如,块N、块M和块K)。第一擦除电压Vera1可以施加到被选存储器块(例如,块N、块M和块K)的源极线SL。在实施方式中,第一擦除电压Vera 1可以施加到被选存储器块(例如,块N、块M和块K)的基板。
在步骤S940,控制电路120可以控制电压供应电路130和页缓冲器组140,使得多个存储器块(例如,块N、块M和块K)依次执行验证操作。
为了对块N执行擦除验证操作,电压供应电路130可以产生第一擦除验证电压Vverify_N以将第一擦除验证电压Vverify_N施加到块N的字线WL。页缓冲器组140可以感测通过联接到块N的位线BL1至BLk的电压或电流,确定对块N的擦除验证操作的结果,然后将所确定的结果输出到控制电路120。控制电路120可以依据对块N的擦除验证操作的结果来存储块N的状态(compress status_N)。
此后,为了对作为块N的下一个块的块M执行擦除验证操作,电压供应电路130可以产生第二擦除验证电压Vverify_M,并将所产生的第二擦除验证电压Vverify_M施加到块M的字线WL。页缓冲器组140可以感测通过联接至块M的位线BL1至BLk的电压或电流,确定对块M的擦除验证操作的结果,并将所确定的结果输出到控制电路120。控制电路120可以依据对块M的擦除验证操作的结果来存储块M的状态(compress status_M)。
此后,为了对作为块M的下一个块的块K执行擦除验证操作,电压供应电路130可以生成第三擦除验证电压Vverify_K,并将第三擦除验证电压Vverify_K施加到块K的字线WL。页缓冲器组140可以感测通过联接到块K的位线BL1至BLk的电压或电流,确定对块K的擦除验证操作的结果,并将所确定的结果输出到控制电路120。控制电路120可以依据对块K的擦除验证操作的结果来存储块K的状态(compress status_K)。
此后,在步骤S950,基于多个存储器块(例如,块N、块M和块K)的状态来确定擦除操作是已经通过还是已经失败。例如,当块N的状态(compress status_N)、块M的状态(compress status_M)和块K的状态(compress status_K)处于擦除完成状态时,可以确定擦除操作已通过。相反,当块N的状态(compress status_N)、块M的状态(compress status_M)和块K的状态(compress status_K)中的至少一个未处于擦除完成状态时,可以确定擦除操作已失败。
可以在存储器装置处于忙碌状态的时段(即,就绪/忙碌信号R/B被激活为低电平的时段)期间执行上述步骤S930至S950。此外,可以通过同时向多个存储器块施加擦除电压来减少擦除时间tBER。
当上述确定步骤S950的结果指示擦除操作通过时(在通过的情况下),在步骤S960中,控制电路120可以在通过状态下确定对多个存储器块(例如,块N、块M和块K)的擦除操作已经完成,生成与通过状态相对应的响应信号,并将响应信号输出到图1的存储器控制器1200。
当上述确定步骤S950的结果指示擦除操作失败时(在失败的情况下),在步骤S970,确定在先前步骤S930处使用的擦除电压是否是通过ISPE方法设置的最后擦除电压(例如,Vera_end)。
当在先前步骤S930使用的擦除电压不是最后擦除电压时(在“否”的情况下),在步骤S980,可以设置下一擦除电压(例如,第二擦除电压Vera2)。下一擦除电压可以是从先前擦除电压增加了步长电压△V的电压。此后,可以使用新设置的擦除电压来重新执行自上述擦除电压施加步骤S930开始的过程。
当在先前步骤S930使用的擦除电压指示最后擦除电压时(在“是”的情况下),在步骤S990,控制电路120可以确定对多个存储器块(例如,块N、块M和块K)的擦除操作已经失败,生成响应信号70h和与失败状态相对应的状态寄存器(SR)代码,并且将所生成的信号和代码输出到图1的存储器控制器1200。
如上所述,根据本公开的各种实施方式,当在垃圾收集操作期间使用多擦除方法对多个牺牲块执行擦除操作时,可以减少擦除操作所需的时间。因此,在垃圾收集操作期间,可以快速确保空闲块,并且可以有利地提高存储器系统的性能。
图12是用于描述根据本公开的各种实施方式的在垃圾收集操作期间用于目标存储器块的映射表的图。
当在存储器系统的垃圾收集操作期间将牺牲块中存储的数据复制到目标存储器块中时,要存储到目标存储器块中的数据的逻辑地址和目标存储器块的物理地址可以相互映射,并且可以将数据存储到与映射的物理地址相对应的区域中。
在这里,根据牺牲块的映射表应注意,逻辑地址(0、1、2、…、201)可以随机地排列。也就是说,与彼此相邻的逻辑地址匹配的物理地址可以彼此不相邻。
因此,可以执行映射操作,使得当要存储到目标存储器块中的数据的逻辑地址被映射到目标存储器块的物理地址时,相邻的逻辑地址可以被映射到相邻的物理地址。例如,在将逻辑地址依次排序之后,排序后的逻辑地址可以被依次映射到物理地址。
因此,目标存储器块可以存储与彼此相邻的逻辑地址相对应的数据。在时间已经过去之后,当选择相应目标存储器块作为牺牲块时,与相邻逻辑地址相对应的数据可以存储到物理上相邻的区域中,由此可以促进对有效数据的读取操作。此外,由于在垃圾收集操作期间可以选择在物理上彼此相邻布置的牺牲块,因此可以容易地执行多块擦除操作(多擦除操作)。
图13是例示了根据本公开的存储器系统的一个实施方式的图。
参照图13,可以在蜂窝电话、智能电话、平板PC、个人数字助理(PDA)或无线通信装置中实现存储器系统30000。存储器系统30000可以包括存储器装置1100和能够控制存储器装置1100的操作的存储器控制器1200。存储器控制器1200可以在处理器3100的控制下控制存储器装置1100的例如编程操作、擦除操作或读取操作的数据访问操作。
可以在存储器控制器1200的控制下通过显示器3200输出在存储器装置1100中编程的数据。
无线电收发器3300可以通过天线ANT发送和接收无线电信号。例如,无线电收发器3300可以将通过天线ANT接收到的无线电信号改变为可以由处理器3100处理的信号。因此,处理器3100可以处理从无线电收发器3300输出的信号,并且将处理后的信号发送到存储器控制器1200或显示器3200。存储器控制器1200可以将由处理器3100处理的信号编程到存储器装置1100。此外,无线电收发器3300可以将从处理器3100输出的信号改变为无线电信号并且通过天线ANT将经改变的无线电信号输出到外部装置。输入装置3400可以用于输入用于控制处理器3100的操作的控制信号或者要由处理器3100处理的数据。输入装置3400可以被实现为诸如触摸板、计算机鼠标之类的定点装置、小键盘或键盘。处理器3100可以控制显示器3200的操作,使得从存储器控制器1200输出的数据、来自无线电收发器3300的数据、或来自输入装置3400的数据通过显示器3200输出。
在实施方式中,能够控制存储器装置1100的操作的存储器控制器1200可以实现为处理器3100的一部分或与处理器3100分开提供的芯片。此外,可以通过图2所示的存储器控制器1200的示例来实现存储器控制器1200。
图14是例示了根据本公开的存储器系统的一个实施方式的图。
参照图14,存储器系统40000可以实现在个人计算机、平板PC、上网本、电子阅读器、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器或MP4播放器中。
存储器系统40000可以包括存储器装置1100和能够控制存储器装置1100的数据处理操作的存储器控制器1200。
处理器4100可以根据从输入装置4200输入的数据,通过显示器4300输出存储器装置1100中所存储的数据。例如,输入装置4200可以被实现为诸如触摸板、计算机鼠标之类的定点装置、小键盘或键盘。
处理器4100可以控制存储器系统40000的整体操作并控制存储器控制器1200的操作。在实施方式中,能够控制存储器装置1100的操作的存储器控制器1200可以实现为处理器4100的一部分或与处理器4100分开提供的芯片。另外,可以通过图2所示的存储器控制器1200的示例来实现存储器控制器1200。
图15是例示了根据本公开的存储器系统的一个实施方式的图。
参照图15,存储器系统50000可以体现在例如数码相机、设置有数码相机的便携式电话、设置有数码相机的智能手机或设置有数码相机的平板PC之类的图像处理装置中。
存储器系统50000可以包括存储器装置1100和能够控制存储器装置1100的例如编程操作、擦除操作或读取操作的数据处理操作的存储器控制器1200。
存储器系统50000的图像传感器5200可以将光学图像转换成数字信号。经转换的数字信号可以发送给处理器5100或存储器控制器1200。在处理器5100的控制下,经转换的数字信号可以通过显示器5300输出,或者可以通过存储器控制器1200存储在存储器装置1100中。可以在处理器5100或存储器控制器1200的控制下通过显示器5300输出存储器装置1100中存储的数据。
在实施方式中,能够控制存储器装置1100的操作的存储器控制器1200可以实现为处理器5100的一部分或者与处理器5100分开提供的芯片。此外,存储器控制器1200可以通过图2中所示的存储器控制器1200的示例来实现。
图16是例示了根据本公开的存储器系统的一个实施方式的图。
参照图16,存储器系统70000可以体现在存储卡或智能卡中。存储器系统70000可以包括存储器装置1100、存储器控制器1200和卡接口7100。
存储器控制器1200可以控制存储器装置1100和卡接口7100之间的数据交换。在实施方式中,卡接口7100可以是安全数字(SD)卡接口或多媒体卡(MMC)接口,但是它不限于此。此外,存储器控制器1200可以通过图2所示的存储器控制器1200的示例来实现。
卡接口7100可以根据主机60000的协议来接口主机60000和存储器控制器1200之间的数据交换。在实施方式中,卡接口7100可以支持通用串行总线(USB)协议和芯片间(IC)-USB协议。卡接口可以是指能够支持主机60000使用的协议的硬件、安装在硬件中的软件、或信号传输方法。
当存储器系统70000联接到诸如PC、平板PC、数码相机、数字音频播放器、蜂窝电话、控制台视频游戏硬件或数字机顶盒之类的主机60000的主机接口6200时,主机接口6200可以在微处理器6100的控制下通过卡接口7100和存储器控制器1200执行与存储器装置1100的数据通信。
本公开可以通过在存储器系统的垃圾收集操作期间将牺牲块的有效数据存储在目标存储器块中然后同时擦除牺牲块来快速地确保空闲块,从而提高了存储器系统的性能。
尽管出于示例性目的已经公开了本公开的示例性实施方式,但是本领域技术人员将理解,可以进行各种修改、添加和替换。因此,本公开的范围必须由所附权利要求及权利要求的等同物来限定,而不是由前面的描述来限定。
尽管已经公开了本公开的实施方式,但是本领域技术人员将理解,在不脱离本公开的范围和精神的情况下,可以进行各种修改、添加和替换。
因此,本公开的范围必须由所附权利要求及权利要求的等同物来限定,而不是由前面的描述来限定。
在上述实施方式中,所有步骤可以选择性地执行或跳过。另外,每个实施方式中的步骤可以不总是以规则顺序执行。此外,本说明书和附图中公开的实施方式旨在帮助本领域普通技术人员更清楚地理解本公开,并非旨在限制本公开的范围。换句话说,本公开所属领域的普通技术人员将能够容易地理解,基于本公开的技术范围,可以有各种变型。
相关申请的交叉引用
本申请要求于2019年7月24日提交的韩国专利申请No.10-2019-0089862的优先权,该韩国专利申请的全部内容通过引用合并于此。
Claims (20)
1.一种存储器系统,该存储器系统包括:
存储器装置,该存储器装置被配置为包括多个存储器块,并且在垃圾收集操作期间将所述多个存储器块当中的牺牲块中所存储的数据复制到目标存储器块中;以及
存储器控制器,该存储器控制器被配置为控制所述存储器装置执行所述垃圾收集操作,并且在所述垃圾收集操作期间使用多擦除方法来擦除所述牺牲块中所存储的数据。
2.根据权利要求1所述的存储器系统,其中,所述存储器装置被配置为在所述垃圾收集操作期间读取所述牺牲块中存储的数据中的有效数据,将所读取的有效数据存储到所述目标存储器块中,然后使用所述多擦除方法擦除所述牺牲块中存储的数据。
3.根据权利要求1所述的存储器系统,其中,所述存储器控制器包括:
处理器,该处理器被配置为响应于从主机接收到的主机命令而生成命令队列;
垃圾收集控制块,该垃圾收集控制块被配置为基于所述存储器装置中包括的所述多个存储器块当中的空闲块的数目生成用于控制执行所述垃圾收集操作的垃圾收集命令;以及
闪存控制块,该闪存控制块被配置为响应于所述命令队列和所述垃圾收集命令而生成并输出用于控制所述存储器装置的内部命令。
4.根据权利要求3所述的存储器系统,其中,
所述存储器控制器还包括缓冲存储器,该缓冲存储器被配置为在所述垃圾收集操作期间存储从所述牺牲块读取的有效数据,并且
其中,所述缓冲存储器存储用于所述存储器装置中包括的所述多个存储器块的相应的映射表。
5.根据权利要求4所述的存储器系统,其中,在所述垃圾收集操作期间,所述处理器通过对所述牺牲块中存储的所述有效数据的逻辑地址依次排序,然后将排序后的逻辑地址依次映射到所述目标存储器块的物理地址,来更新用于所述目标存储器块的映射表。
6.根据权利要求3所述的存储器系统,其中,所述垃圾收集控制块被配置为:
当牺牲块的数目大于设定数目时,将所述牺牲块的擦除方法设置为所述多擦除方法,以及
当牺牲块的数目小于或等于所述设定数目时,将所述牺牲块的擦除方法设置为用于依次擦除所述牺牲块的单擦除方法。
7.一种存储器系统,该存储器系统包括:
存储器装置,该存储器装置具有多个存储器块,并且被配置为在垃圾收集操作期间,将所述多个存储器块当中的牺牲块中所存储的数据复制到所述多个存储器块当中的目标存储器块中,并使用单擦除方法或多擦除方法擦除所述牺牲块中存储的数据;以及
存储器控制器,该存储器控制器被配置为控制所述存储器装置执行所述垃圾收集操作,在所述垃圾收集操作期间基于所述牺牲块中存储的有效数据的量将所述牺牲块的擦除方法设置为所述单擦除方法或所述多擦除方法,并控制所述存储器装置使用所设置的擦除方法来擦除所述牺牲块中存储的数据。
8.根据权利要求7所述的存储器系统,其中,所述存储器装置被配置为在所述垃圾收集操作期间,读取所述牺牲块中存储的数据中的所述有效数据,将所读取的有效数据存储在所述存储器控制器中,将所述存储器控制器中存储的所述有效数据复制到所述目标存储器块,然后使用所设置的擦除方法擦除所述牺牲块中存储的数据。
9.根据权利要求7所述的存储器系统,其中,所述存储器装置在使用所述多擦除方法擦除所述牺牲块中存储的数据时向所述牺牲块同时施加擦除电压。
10.根据权利要求9所述的存储器系统,其中,所述存储器装置被配置为在向所述牺牲块施加所述擦除电压之后,对所述牺牲块依次执行擦除验证操作。
11.根据权利要求7所述的存储器系统,其中,所述存储器控制器包括:
处理器,该处理器被配置为响应于从主机接收到的主机命令而生成命令队列;
垃圾收集控制块,该垃圾收集控制块被配置为基于所述存储器装置中包括的所述多个存储器块当中的空闲块的数目生成用于控制执行所述垃圾收集操作的垃圾收集命令;以及
闪存控制块,该闪存控制块被配置为响应于所述命令队列和所述垃圾收集命令而生成并输出用于控制所述存储器装置的内部命令。
12.根据权利要求11所述的存储器系统,其中,
所述存储器控制器还包括缓冲存储器,该缓冲存储器被配置为在所述垃圾收集操作期间存储从所述牺牲块读取的有效数据,并且
其中,所述缓冲存储器存储用于所述存储器装置中包括的所述多个存储器块的相应的映射表。
13.根据权利要求12所述的存储器系统,其中,所述处理器在所述垃圾收集操作期间通过将所述牺牲块中存储的所述有效数据的逻辑地址映射到所述目标存储器块的物理地址,来更新用于所述目标存储器块的映射表。
14.根据权利要求13所述的存储器系统,其中,所述处理器以对所述逻辑地址依次排序然后将排序后的逻辑地址依次映射至所述物理地址的方式,将所述有效数据的所述逻辑地址映射到所述目标存储器块的所述物理地址。
15.根据权利要求11所述的存储器系统,其中,所述垃圾收集控制块被配置为:
当所述牺牲块中存储的有效数据的量大于设定数据量时,将所述牺牲块的所述擦除方法设置为所述多擦除方法,以及
当所述牺牲块中存储的有效数据的量等于或小于所述设定数据量时,将所述牺牲块的所述擦除方法设置为用于依次擦除所述牺牲块的所述单擦除方法。
16.根据权利要求15所述的存储器系统,其中,所述垃圾收集控制块包括:
空闲块管理器,该空闲块管理器用于管理所述存储器块当中的空闲块,并输出关于所述空闲块的数目的信息;
块计数比较器,该块计数比较器被配置为将所述空闲块的数目与第一设定数目进行比较,然后生成垃圾收集触发信号;
牺牲块选择器,该牺牲块选择器被配置为从存储所述有效数据的存储器块当中选择所述牺牲块;
有效数据计数器,该有效数据计数器被配置为对所述牺牲块中存储的所述有效数据的量进行计数;
目标存储器块选择器,该目标存储器块选择器被配置为从所述空闲块当中选择所述目标存储器块;以及
垃圾收集控制器,该垃圾收集控制器被配置为响应于所述垃圾收集触发信号而被激活,基于所述空闲块的数目来确定系统性能,确定以后台类型还是前台类型来处理所述垃圾收集操作,基于牺牲块的数目或所述有效数据的量来设置所述牺牲块的所述擦除方法,并基于所设置的擦除方法生成所述垃圾收集命令。
17.根据权利要求16所述的存储器系统,其中,所述垃圾收集控制器包括:
系统状态确定器,该系统状态确定器被配置为通过比较所述空闲块的数目和第二设定数目来确定所述系统性能,并基于所确定的系统性能来选择所述垃圾收集操作为所述后台类型和所述前台类型中的任一种类型;以及
擦除方法选择器,该擦除方法选择器被配置为基于所述牺牲块的数目或所述有效数据的量来将所述牺牲块的擦除方法选择为所述单擦除方法或所述多擦除方法。
18.一种操作存储器系统的方法,该方法包括以下步骤:
基于存储器装置中包括的多个存储器块当中的空闲块的数目,确定是否执行垃圾收集操作;
当确定出要执行所述垃圾收集操作时,从所述多个存储器块当中选择牺牲块和目标存储器块;
读取所述牺牲块中存储的有效数据,并将所读取的有效数据复制到所述目标存储器块中;以及
基于有效数据的量,使用单擦除方法或多擦除方法擦除所述牺牲块中存储的数据。
19.根据权利要求18所述的方法,其中,所述多擦除方法被配置为向所述牺牲块同时施加擦除电压,然后对所述牺牲块依次执行擦除验证操作。
20.根据权利要求18所述的方法,该方法还包括以下步骤:
读取所述牺牲块中存储的所述有效数据,对所述有效数据的逻辑地址依次排序,然后将排序后的逻辑地址依次映射到物理地址。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0089862 | 2019-07-24 | ||
KR1020190089862A KR20210012329A (ko) | 2019-07-24 | 2019-07-24 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112306897A true CN112306897A (zh) | 2021-02-02 |
Family
ID=74189302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010189984.8A Withdrawn CN112306897A (zh) | 2019-07-24 | 2020-03-18 | 存储器系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11269769B2 (zh) |
KR (1) | KR20210012329A (zh) |
CN (1) | CN112306897A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114415942A (zh) * | 2021-12-21 | 2022-04-29 | 联芸科技(杭州)有限公司 | L2p映射表重建方法及固态硬盘 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10877687B2 (en) * | 2018-06-29 | 2020-12-29 | Micron Technology, Inc. | Erasure of multiple blocks in memory devices |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7984084B2 (en) * | 2005-08-03 | 2011-07-19 | SanDisk Technologies, Inc. | Non-volatile memory with scheduled reclaim operations |
US8850102B2 (en) * | 2007-08-23 | 2014-09-30 | Nokia Corporation | Flash memory with small data programming capability |
US8959280B2 (en) * | 2008-06-18 | 2015-02-17 | Super Talent Technology, Corp. | Super-endurance solid-state drive with endurance translation layer (ETL) and diversion of temp files for reduced flash wear |
US8572311B1 (en) * | 2010-01-11 | 2013-10-29 | Apple Inc. | Redundant data storage in multi-die memory systems |
KR20120005836A (ko) | 2010-07-09 | 2012-01-17 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 및 그 소거 방법 |
KR102501751B1 (ko) | 2015-09-22 | 2023-02-20 | 삼성전자주식회사 | 메모리 콘트롤러, 불휘발성 메모리 시스템 및 그 동작방법 |
US9858289B2 (en) * | 2015-11-05 | 2018-01-02 | International Business Machines Corporation | Storage controller and method for managing a solid-state memory |
US10540274B2 (en) * | 2016-03-29 | 2020-01-21 | Micron Technology, Inc. | Memory devices including dynamic superblocks, and related methods and electronic systems |
KR20180039351A (ko) * | 2016-10-10 | 2018-04-18 | 에스케이하이닉스 주식회사 | 메모리 장치 및 메모리 장치의 동작 방법 |
KR20180047402A (ko) * | 2016-10-31 | 2018-05-10 | 삼성전자주식회사 | 멀티 네임스페이스를 관리하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
US10922011B2 (en) * | 2018-04-12 | 2021-02-16 | Samsung Electronics Co., Ltd. | Controllers configured to perform secure deletion, key-value storage devices including said controllers, and methods of operation thereof |
US10877687B2 (en) * | 2018-06-29 | 2020-12-29 | Micron Technology, Inc. | Erasure of multiple blocks in memory devices |
KR102585883B1 (ko) * | 2018-09-18 | 2023-10-10 | 에스케이하이닉스 주식회사 | 메모리 시스템의 동작 방법 및 메모리 시스템 |
KR20200142393A (ko) * | 2019-06-12 | 2020-12-22 | 에스케이하이닉스 주식회사 | 저장 장치, 호스트 장치 및 그들의 동작 방법 |
-
2019
- 2019-07-24 KR KR1020190089862A patent/KR20210012329A/ko active Search and Examination
-
2020
- 2020-02-12 US US16/788,533 patent/US11269769B2/en active Active
- 2020-03-18 CN CN202010189984.8A patent/CN112306897A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114415942A (zh) * | 2021-12-21 | 2022-04-29 | 联芸科技(杭州)有限公司 | L2p映射表重建方法及固态硬盘 |
CN114415942B (zh) * | 2021-12-21 | 2022-11-04 | 联芸科技(杭州)股份有限公司 | L2p映射表重建方法及固态硬盘 |
Also Published As
Publication number | Publication date |
---|---|
US11269769B2 (en) | 2022-03-08 |
US20210026766A1 (en) | 2021-01-28 |
KR20210012329A (ko) | 2021-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111324550B (zh) | 存储器系统及其操作方法 | |
US20200201571A1 (en) | Memory system and operating method thereof | |
US20200110545A1 (en) | Memory system and operating method thereof | |
CN111752855A (zh) | 控制器、包括控制器的存储器系统和操作存储器系统的方法 | |
US20200202932A1 (en) | Memory device, memory system including the memory device, and method for operating the memory device | |
CN111338839B (zh) | 控制器、包括该控制器的存储器系统及其操作方法 | |
US20200310675A1 (en) | Memory system and method of operating the same | |
CN111768809A (zh) | 存储器系统及其操作方法 | |
CN111951871A (zh) | 存储器装置、包括存储器装置的存储器系统及其操作方法 | |
CN112306897A (zh) | 存储器系统及其操作方法 | |
CN111240585B (zh) | 控制器、包括控制器的存储器系统及其操作方法 | |
US20210151112A1 (en) | Memory system and operating method thereof | |
US11113189B2 (en) | Memory system to perform read reclaim and garbage collection, and method of operating the same | |
CN111209224A (zh) | 存储器系统及其操作方法 | |
US20200125281A1 (en) | Memory system and method of operating the same | |
US11114172B2 (en) | Memory system and method of operating the same | |
CN111209223B (zh) | 存储器系统及其操作方法 | |
CN112017716A (zh) | 存储器装置、包括其的存储器系统及存储器系统操作方法 | |
KR20200068496A (ko) | 메모리 장치, 이를 포함하는 메모리 시스템 및 그것의 동작 방법 | |
CN112748875A (zh) | 存储器系统和存储器系统的操作方法 | |
CN111755055A (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: 20210202 |