CN111752469A - 控制器、存储器系统及其操作方法 - Google Patents
控制器、存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN111752469A CN111752469A CN201911039055.2A CN201911039055A CN111752469A CN 111752469 A CN111752469 A CN 111752469A CN 201911039055 A CN201911039055 A CN 201911039055A CN 111752469 A CN111752469 A CN 111752469A
- Authority
- CN
- China
- Prior art keywords
- dirty state
- memory device
- volatile memory
- super
- 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
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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/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
- 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
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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请的各个实施例总体涉及半导体装置,且更具体地,涉及控制器、存储器系统及存储器系统的操作方法。在本公开的一个实施例中,存储器系统可以包括:非易失性存储器装置,包括多个超级块,多个超级块中的每一个包括多个存储块;以及控制器,被配置为控制非易失性存储器装置,其中该控制器被配置为:基于多个超级块之中的低性能超级块的数量,确定脏状态阈值,该脏状态阈值用于确定非易失性存储器装置的脏状态;基于多个超级块之中的空闲超级块的数量和脏状态阈值,确定非易失性存储器装置是否处于脏状态;并且当确定非易失性存储器装置处于脏状态时,对多个超级块执行垃圾收集操作。
Description
相关申请的交叉引用
本申请要求于2019年3月27日提交的申请号为10-2019-0035088的韩国申请的优先权,其以全文所述通过引用整体并入本文。
技术领域
各个实施例总体涉及一种半导体装置,且更特别地,涉及一种控制器、存储器系统及其操作方法。
背景技术
近来,计算环境的范例已经变为可以随时随地使用计算机系统的普适计算环境。因此,诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用存储器系统,该存储器系统使用存储器装置。该存储器系统用于存储在便携式电子装置中使用的数据。
由于使用存储器装置的存储器系统不具有机械驱动器,因此数据存储装置具有优异的稳定性和耐用性,表现出高信息访问速度,并且具有低功耗。具有这些优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、通用闪存(UFS)装置和固态驱动器(SSD)。
发明内容
在本公开的一个实施例中,存储器系统可以包括:非易失性存储器装置,包括多个超级块,多个超级块中的每一个包括多个存储块;以及控制器,被配置为控制非易失性存储器装置,其中该控制器被配置为:基于多个超级块之中的低性能超级块的数量,确定脏状态阈值,该脏状态阈值用于确定非易失性存储器装置的脏状态;基于多个超级块之中的空闲超级块的数量和脏状态阈值,确定非易失性存储器装置是否处于脏状态;并且当确定非易失性存储器装置处于脏状态时,对多个超级块执行垃圾收集操作。
在本公开的一个实施例中,存储器系统的操作方法,该存储器系统包括:非易失性存储器装置,包括多个超级块,多个超级块中的每一个包括多个存储块;以及控制器,被配置为控制非易失性存储器装置,该操作方法可以包括:通过控制器,基于多个超级块之中的低性能超级块的数量确定脏状态阈值,该脏状态阈值用于确定非易失性存储器装置的脏状态;通过控制器,基于多个超级块之中的空闲超级块的数量和脏状态阈值确定非易失性存储器装置是否处于脏状态;并且通过控制器,当确定非易失性存储器装置处于脏状态时,对多个超级块执行垃圾收集操作。
在本公开的一个实施例中,存储器系统可以包括:非易失性存储器装置,包括多个空闲超级块,该空闲超级块包括低性能超级块和正常块;以及控制器,联接到非易失性存储器装置,该控制器适于:确定空闲超级块的数量是否小于阈值;当确定空闲超级块的数量小于阈值时,确定非易失性存储器装置处于脏状态;并且当确定非易失性存储器装置处于脏状态时,对多个超级块执行垃圾收集操作,其中基于低性能超级块的数量调整阈值。
附图说明
结合附图描述特征、方面和实施例,其中:
图1是示出根据本公开的实施例的存储器系统的示图;
图2是示出根据本公开的实施例的非易失性存储器装置中的数据存储区域的示图;
图3A至图3D是示出根据本公开的实施例的存储器系统的操作的示图;
图4是示出根据本公开的实施例的闪存转换层的配置的示图;
图5是示出根据本公开的实施例的存储器系统的操作的示图;
图6是示出根据本公开的实施例的包括固态驱动器(SSD)的数据处理系统的示图;
图7是示出根据本公开的实施例的包括存储器系统的数据处理系统的示图;
图8是示出根据本公开的实施例的包括存储器系统的数据处理系统的示图;并且
图9是示出根据本公开的实施例的包括存储器系统的网络系统的示图。
具体实施方式
在下文中,将在下面通过示例性实施例参照附图描述根据本公开的半导体设备。
图1是示出根据本公开的实施例的存储器系统10的示图。参照图1,存储器系统10可以存储待由诸如移动电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视(TV)、车载信息娱乐系统等主机20访问的数据。
根据联接到主机20的接口协议,存储器系统10可以被制造为各种类型的存储装置之中的任意一种。例如,存储器系统10可以被配置为诸如以下的各种类型的存储装置中的任意一种:固态驱动器(SSD),MMC、eMMC、RS-MMC和微型MMC形式的多媒体卡,SD、迷你-SD和微型-SD形式的安全数字卡,通用串行总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡类型的存储装置,外围组件互连(PCI)类型的存储装置,高速PCI(PCI-e或PCIe)类型的存储装置,紧凑型闪存(CF)卡,智能媒体卡,记忆棒等。
存储器系统10可以被制造为各种类型的封装之中的任意一种。例如,存储器系统10可以被制造为诸如以下的各种封装类型中的任意一种:堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
存储器系统10可包括非易失性存储器装置100和控制器200。
非易失性存储器装置100可以用作存储器系统10的存储介质。根据配置非易失性存储器装置100的存储器单元,非易失性存储器装置100可以被实施为诸如以下的各种非易失性存储器装置之中的任意一种:NAND闪速存储器装置、NOR闪速存储器装置、使用铁电电容器的铁电随机存取存储器(FRAM)、使用隧道磁阻(TMR)层的磁性随机存取存储器(MRAM)、使用硫族化物合金的相变随机存取存储器(PRAM)、使用过渡金属化合物的电阻式随机存取存储器(ReRAM)等。
尽管为了清楚起见,图1例示了包括单个非易失性存储器装置100的存储器系统10,但是存储器系统10可以包括多个非易失性存储器装置100,并且本公开的各种实施例可以应用于包括多个非易失性存储器装置100的存储器系统10。
非易失性存储器装置100可以包括存储器单元阵列(未示出),该存储器单元阵列包括布置在多个字线(未示出)和多个位线(未示出)之间的交叉点处的多个存储器单元。存储器单元阵列可以包括多个存储块,每个存储块包括多个页面。
例如,存储器单元阵列中的每个存储器单元可以是其中存储1位数据的单层单元(SLC),以及其中存储2位或更多位的多层单元(MLC)。其中存储2位数据的存储器单元可以被称为多层单元(MLC),其中存储3位数据的存储器单元可以被称为三层单元(TLC),并且其中存储4位数据的存储器单元可以称为四层单元(QLC)。然而,为了清楚起见,在说明书中将存储2位或更多位的存储器单元统称为MLC。
在实施例中,多个数据页面可以配置单个数据页面组。例如,当数据页面组包括多个存储器单元,每个存储器单元被配置为存储N个位时,该数据页面组可以包括N个数据页面。也就是说,当数据页面组包括每个被配置为存储2位的多个MLC时,数据页面组可以包括最低有效位(LSB)页面和最高有效位(MSB)页面。而且,当数据页面组包括每个被配置为存储3位的多个TLC时,数据页面组可以包括最低有效位(LSB)页面、中间有效位(CSB)页面和最高有效位(MSB)页面。
存储器单元阵列可以包括SLC和MLC中的至少一个。存储器单元阵列可以包括以二维(例如水平)结构布置的存储器单元或以3D垂直结构布置的存储器单元。
控制器200可以通过驱动加载在存储器230中的固件或软件来控制存储器系统10的一般操作。控制器200可以对诸如固件或软件的代码类型的指令或算法进行解码并驱动该指令或算法。控制器200可以被被实施为硬件或硬件和软件的组合。
控制器200可以包括主机接口210、处理器220、存储器230、存储器接口240和错误校正码(ECC)引擎250。
主机接口210可以根据主机20的协议执行主机20和存储器系统10之间的接口连接。例如,主机接口210可以通过诸如以下之中的任意一种与主机20通信:安全数字协议、通用串行总线(USB)协议、多媒体卡(MMC)协议、个人计算机存储卡国际协会(PCMCIA)协议、并行高级技术附件(PATA)协议、串行高级技术附件(SATA)协议、小型计算机系统接口(SCSI)协议、串列SCSI(SAS)协议、外围组件互连(PCI)协议、高速PCI(PCI-e或PCIe)协议和通用闪存(UFS)协议。另外,主机接口210可以执行支持主机20将存储器系统10识别为诸如硬盘驱动器(HDD)的通用存储器系统的磁盘仿真操作。
处理器220可以包括微控制单元(MCU)和中央处理单元(CPU)。处理器220可以处理从主机20接收的请求。为了处理来自主机20的请求,处理器220可以驱动加载到存储器230中的代码类型的指令或算法(例如,固件)并控制诸如主机接口210、存储器230以及存储器接口240的内部功能块和非易失性存储器装置100。
处理器220可以基于来自主机20的请求生成用于控制非易失性存储器装置100的操作的控制信号,并且可以通过存储器接口240将所生成的控制信号提供给非易失性存储器装置100。而且,处理器220可以分析和处理从主机20提供的信号SGL。处理器220可以根据用于驱动存储器系统10的固件或软件来控制内部功能块的操作。
存储器230可以由随机存取存储器(RAM)配置,并且可以设置在控制器200的内部或外部。存储器230可以存储待由处理器220驱动的固件。存储器230还可以存储用于驱动固件的数据(例如,元数据)。例如,存储器230可以用作处理器220的工作存储器。存储器230可以被配置为包括数据缓冲器,该数据缓冲器被配置为临时存储待从主机20传送到非易失性存储器装置100的写入数据,或者待从非易失性存储器装置100传送到主机20的读取数据。例如,存储器230可以用作处理器220的缓冲存储器。
存储器接口240可以根据处理器220的控制来控制非易失性存储器装置100。存储器接口240可以称为存储器控制器。存储器接口240可以向非易失性存储器装置100提供控制信号。控制信号可以包括用于控制非易失性存储器装置100的命令、地址和操作控制信号。存储器接口240可以向非易失性存储器装置100提供存储在存储器230中的数据,或者将从非易失性存储器装置100传送的数据存储在存储器230中。
ECC引擎250可以通过对从主机20提供的写入数据进行ECC编码来生成奇偶校验。非易失性存储器装置100可以在其中存储添加有奇偶校验的写入数据。ECC引擎250可以从非易失性存储器装置100读取数据,可以通过使用奇偶校验对所读取的数据进行ECC解码,并且可以生成从其去除奇偶校验的读取数据。
图2是示出根据本公开的实施例的例如图1的非易失性存储器装置100的非易失性存储器装置中的数据存储区域的示图。
参照图2,非易失性存储器装置100可以包括多个管芯,多个管芯具有共享电联接到控制器200的通道CH的管芯Die_0和Die_1。多个管芯中的每一个可以包括多个平面,多个平面具有共享电联接到通道CH的通路(way)311的平面Plane_0和Plane_1。多个平面中的每一个可以包括多个数据页面。数据页面可以是作为从其读取出具或将数据写入到其中的最小单位的存储区域。对其一次执行擦除操作的多个数据页面组可以是块。作为单个单元被管理的多个块组可以是超级块。
根据实施例,控制器200可以通过多个通道电联接到非易失性存储器装置100。多个通道中的每一个可以电联接到多个管芯,如图2所示。
图3A至图3D是示出根据本公开的实施例的存储器系统的操作的示图。
图3A示出非易失性存储器装置100的示例,该非易失性存储器装置100包括两个管芯Die_0和Die_1,每个管芯包括2个平面Plane_0和Plane_1,每个平面具有2个存储块Block_0和Block_2。参照图3A,可以将各个管芯Die_0和Die_1的各个平面Plane_0和Plane_1中的第一存储块Block_0作为配置单个超级块的存储块组来管理,这是稍后将描述的正常超级块的示例。
在实施例中,当控制器200通过多个通道电联接到非易失性存储器装置100时,可以在电联接到多个通道的管芯Die_0和Die_1上配置超级块。例如,超级块可以通过电联接到多个通道的各个管芯Die_0和Die_1的各个平面Plane_0和Plane_1的第一存储块Block_0配置。
图3B示出当配置图3A的超级块的、存储块Block_0和Block_2之中的第二管芯Die_1的第二平面Plane_1中的第一存储块Block_0成为坏块时的超级块的示例。在超级块中,利用第二管芯Die_1的第二平面Plane_1中的第二存储块Block_2来替换配置图3A的超级块的、存储块Block_0和Block_2之中的第二管芯Die_1的第二平面Plane_1中的第一存储块Block_0。在这种情况下,可以对包括第二管芯Die_1的第二平面Plane_1中的第二存储块Block_2和管芯Die_0和Die_1的其它平面中的第一存储块Block_0的图3B的超级块执行交错(interleaving)操作。因此,图3B的超级块在写入操作和读取操作期间可能不具有低性能。因此,图3B的超级块可以是稍后将描述的正常超级块的示例。
图3C示出当配置图3A的超级块的、存储块Block_0和Block_2之中的第二管芯Die_1的第二平面Plane_1中包括的第一存储块Block_0成为坏块,并且只有第二管芯Die_1的第一平面Plane_0中包括的第二存储块Block_2可用于替换该坏块时的超级块的示例。在超级块中,利用第二管芯Die_1的第一平面Plane_0中的第二存储块Block_2来替换配置图3A的、超级块的存储块Block_0和Block_2之中的第二管芯Die_1的第二平面Plane_1中的第一存储块Block_0。在这种情况下,因为存储块Block_0和Block_2在相同管芯(即,第二管芯Die_1)的相同平面(即,第一平面Plane_0)中,所以不可以对图3C的超级块内的第二管芯Die_1的第一平面Plane_0中的存储块Block_0和Block_2执行交错操作,其中图3C的超级块包括第二管芯Die_1的第一平面Plane_0中的第二存储块Block_2以及管芯Die_0和Die_1的其它平面中的第一存储块Block_0。因此,图3C的超级块在写入操作和读取操作期间可能具有较低的操作速度。因此,图3C的超级块可以是稍后将描述的低性能超级块的示例。
图3D示出当配置图3A的超级块的、存储块Block_0和Block_2之中的第二管芯Die_1的第二平面Plane_1中包括的第一存储块Block_0变成坏块并且没有可用于替换该坏块的存储块时的超级块的示例。超级块可以包括除了配置图3A的超级块的、存储块Block_0和Block_2之中的第二管芯Die_1的第二平面Plane_1中的第一存储块Block_0之外的3个存储块(即,第一存储块Block_0)。在这种情况下,由于配置图3D的超级块的存储块的数量变得减少,因此待存储在图3D的超级块中的数据大小,即图3D的超级块的存储容量变得减少。因此,图3D的超级块可以是稍后将描述的低性能超级块的示例。
在下文中,将基于如图3C和3D所示的配置超级块的存储块之中的一个或多个变为坏块从而使超级块变为低性能超级块来进行描述。
图4是示出根据本公开的实施例的闪存转换层(FTL)的示图。
参照图4,闪存转换层(FTL)可以被包括在图1的处理器220中。在实施例中,闪存转换层(FTL)可以通过确定非易失性存储器装置100的脏状态来控制对非易失性存储器装置100的垃圾收集操作。当非易失性存储器装置100具有脏状态时,非易失性存储器装置100中的空闲超级块的数量小于预定数量。空闲超级块是在写入操作期间可用于分配来存储数据的超级块。
闪存转换层(FTL)可以包括存储块管理模块410、脏状态阈值确定模块420、脏状态确定模块430和垃圾收集控制模块440。
存储块管理模块410可以管理包括多个超级块的非易失性存储器装置100的存储块的信息,其中每个超级块包括多个存储块。例如,存储块管理模块410可以管理对非易失性存储器装置100中的存储块之中的至少一个执行的写入、读取和擦除操作的历史信息。进一步,存储块管理模块410可以基于存储块的历史信息检测配置超级块的存储块之中的坏块。此外,存储块管理模块410可以将其中利用正常存储块替换坏块的超级块管理为如图3B至3D所示的正常超级块或低性能超级块。
在实施例中,存储块管理模块410可以通过将正常超级块和低性能超级块的索引(例如,地址)寄存到列表中来管理非易失性存储器装置100中的多个超级块之中的正常超级块和低性能超级块。
而且,存储块管理模块410可以分配待在写入操作期间存储写入数据的存储块。例如,存储块管理模块410可以分配非易失性存储器装置100中的多个超级块之中的空闲超级块作为待在写入操作期间存储写入数据的超级块。
在实施例中,存储块管理模块410可以优先于空闲超级块之中的低性能超级块地分配正常超级块作为待在写入操作期间存储写入数据的超级块。由于优先分配正常超级块作为待在写入操作期间存储写入数据的超级块,所以可以防止存储器系统10的劣化。
脏状态阈值确定模块420可以确定用于确定非易失性存储器系统10是否处于脏状态的脏状态阈值。脏状态阈值确定模块420可以基于低性能超级块的数量来确定脏状态阈值。例如,随着空闲超级块之中的低性能超级块的数量变大,脏状态阈值确定模块420可以确定脏状态阈值变大。而且,随着空闲超级块之中的低性能超级块的数量变小,脏状态阈值确定模块420可以确定脏状态阈值变小。由于优先分配空闲超级块之中的正常超级块作为待在写入操作期间存储写入数据的超级块,因此空闲超级块之中低性能超级块的比率变得更大,从而垃圾收集操作的操作性能可能会劣化。根据本公开的实施例,当低性能超级块的数量很大时,非易失性存储器装置100可以通过脏状态确定尽早触发垃圾收集操作。
在实施例中,脏状态阈值可以根据下面的等式1确定。在等式1中,N可以表示在低性能超级块的数量为0时的脏状态阈值,并且L可以表示低性能超级块的数量或与低性能超级块的数量成比例的值。N和L可以在存储器系统10的制造和/或使用阶段中设置或可变。
[等式1]
脏状态阈值(T)=N+L
脏状态确定模块430可以通过将脏状态阈值与非易失性存储器装置100中的多个超级块之中的空闲超级块的数量进行比较,来确定非易失性存储器装置100是否处于脏状态。详细地,当空闲超级块的数量大于或等于脏状态阈值时,脏状态确定模块430可以确定非易失性存储器装置100不处于脏状态。另外,当空闲超级块的数量小于脏状态阈值时,脏状态确定模块430可以确定非易失性存储器装置100处于脏状态。
当确定非易失性存储器装置100处于脏状态时,垃圾收集控制模块440可以对非易失性存储器装置100执行垃圾收集操作。
在实施例中,当确定非易失性存储器装置100处于脏状态时,垃圾收集控制模块440可以控制非易失性存储器装置100,使得垃圾收集操作优先于存储器系统10的其它操作被执行。
图5是示出根据本公开的实施例的存储器系统10的操作的示图。
参照图5,在步骤S510中,存储器系统10可以通过寄存多个超级块之中的低性能超级块来管理低性能超级块。例如,控制器200可以确定非易失性存储器装置100中的多个超级块之中的低性能超级块,并且可以将被确定为低性能超级块的超级块寄存到列表中。
在步骤S520中,存储器系统10可以通过优先于空闲超级块之中的低性能超级块地分配正常超级块来执行写入操作。例如,当从主机20提供写入命令和写入数据时,控制器200可以优先于空闲超级块之中的低性能超级块地分配正常超级块作为将存储写入数据的超级块。非易失性存储器装置100可以执行将写入数据存储到所分配的超级块中的写入操作。
在步骤S530中,存储器系统10可以基于低性能超级块的数量来确定脏状态阈值。例如,随着空闲超级块之中低性能超级块的数量变大,控制器200可以确定脏状态阈值更大。而且,随着空闲超级块之中低性能超级块的数量变小,控制器200可以确定脏状态阈值更小。
在步骤S540中,存储器系统10可以基于空闲超级块的数量来确定非易失性存储器装置100是否处于脏状态。例如,控制器200可以通过将脏状态阈值与非易失性存储器装置100中的多个超级块之中的空闲超级块的数量进行比较来确定非易失性存储器装置100是否处于脏状态。当确定空闲超级块的数量大于或等于脏状态阈值(S540中为“否”)时,控制器200可以确定非易失性存储器装置100不处于脏状态。而且,当确定空闲超级块的数量小于脏状态阈值(S540中为“YES”)时,控制器200可以确定非易失性存储器装置100处于脏状态。
在步骤S550中,存储器系统10可以执行垃圾收集操作。例如,当确定非易失性存储器装置100处于脏状态(S540中为“YES”)时,控制器200可以对非易失性存储器装置100执行垃圾收集操作。
在实施例中,控制器200可以对非易失性存储器装置100优先于其它操作地执行垃圾收集操作。
图6是示出根据本公开的实施例的包括固态驱动器(SSD)的数据处理系统2000的示图。参照图6,数据处理系统2000可以包括主机2100和固态驱动器(SSD)2200。
SSD 2200可以包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231至223n、电源2240、信号连接器2250以及电源连接器2260。
控制器2210可以控制SSD 2200的全部操作。控制器2210可以以与图1的控制器200基本相同的方式实施和操作。
缓冲存储器装置2220可以临时存储待存储在非易失性存储器装置2231至223n中的数据。进一步,缓冲存储器装置2220可以临时存储从非易失性存储器装置2231至223n读出的数据。被临时存储在缓冲存储器装置2220中的数据可以根据控制器2210的控制被传送到主机2100或非易失性存储器装置2231至223n。
非易失性存储器装置2231至223n可用作SSD 2200的存储介质。非易失性存储器装置2231至223n可以通过多个通道CH1至CHn分别电联接到控制器2210。一个或多个非易失性存储器装置可以联接到单个通道。联接到单个通道的非易失性存储器装置可以联接到相同的信号总线和数据总线。
电源2240可以向SSD 2200的内部提供通过电源连接器2260输入的电力PWR。电源2240可包括辅助电源2241。辅助电源2241可以在发生突然断电(SPO)时提供电力以允许SSD2200正常终止。辅助电源2241可以包括能够充电电力PWR的大容量电容器。
控制器2210可以通过信号连接器2250与主机2100交换信号SGL。信号SGL可以包括命令、地址和数据。根据主机2100和SSD 2200之间的接口方案,信号连接器2250可以被配置为各种类型的连接器。
图7是示出根据本公开的实施例的包括存储器系统的数据处理系统3000的示图。参照图7,数据处理系统3000可以包括主机装置3100和存储器系统3200。
主机3100可以以诸如印刷电路板的板形式配置。尽管未在图7中示出,但是主机3100可以包括用于执行主机的功能的内部功能块。
主机3100可以包括连接端子3110,诸如插座、插槽或连接器。存储器系统3200可以安装在连接端子3110上。
存储器系统3200可以以诸如印刷电路板的板形式来配置。存储器系统3200可以被称为存储器模块或存储卡。存储器系统3200可以包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231和3232、电源管理集成电路(PMIC)3240和连接端子3250。
控制器3210可控制存储器系统3200的全部操作。控制器3210可以与图6所示的控制器2210基本相同的方式来配置
缓冲存储器装置3220可以临时存储待存储在非易失性存储器装置3231和3232中的数据。进一步,缓冲存储器装置3220可以临时存储从非易失性存储器装置3231和3232读出的数据。临时存储在缓冲存储器装置3220中的数据可根据控制器3210的控制被传送到主机3100或非易失性存储器装置3231和3232。
非易失性存储器装置3231和3232可以用作存储器系统3200的存储介质。
PMIC 3240可以向存储器系统3200的内部提供通过连接端子3250输入的电力。PMIC 3240可以根据控制器3210的控制来管理存储器系统3200的电力。
连接端子3250可以电联接到主机3100的连接端子3110。通过连接端子3250,可以在主机3100和存储器系统3200之间传送诸如命令、地址和数据的信号以及电力。根据主机3100和存储器系统3200之间的接口方案,连接端子3250可以被配置为各种类型。连接端子3250可以设置在存储器系统3200的任意一侧上。
图8是示出根据本公开的实施例的包括存储器系统的数据处理系统4000的示图。参照图8,数据处理系统4000可以包括主机4100和存储器系统4200。
主机4100可以以诸如印刷电路板的板形式配置。尽管未在图8中示出,但是主机4100可以包括用于执行主机功能的内部功能块。
可以以表面安装型封装的形式来配置存储器系统4200。存储器系统4200可以通过焊球4250安装在主机4100上。存储器系统4200可以包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。
控制器4210可控制存储器系统4200的全部操作。控制器4210可以与图6所示的控制器2210基本相同的方式来配置
缓冲存储器装置4220可以临时存储待存储在非易失性存储器装置4230中的数据。进一步,缓冲存储器装置4220可以临时存储从非易失性存储器装置4230读出的数据。临时存储在缓冲存储器装置4220中的数据可以根据控制器4210的控制被传送到主机4100或非易失性存储器装置4230。
非易失性存储器装置4230可以用作存储器系统4200的存储介质。
图9是示出根据本公开的实施例的包括存储器系统的网络系统5000的示图。参照图9,网络系统5000可以包括通过网络5500彼此电联接的服务器系统5300和多个客户端系统5410至5430。
服务器系统5300可以响应于来自多个客户端系统5410至5430的请求服务数据。例如,服务器系统5300可以存储从多个客户端系统5410至5430提供的数据。在另一示例中,服务器系统5300可以向多个客户端系统5410至5430提供数据。
服务器系统5300可以包括主机5100和存储器系统5200。存储器系统5200可以由图1所示的存储器系统10、图6所示的SSD 2200、图7所示的存储器系统3200或图8所示的存储器系统4200配置。
尽管上面已经描述了某些实施例,但是本领域技术人员将理解,所描述的实施例仅是示例性的。因此,不应基于所描述的实施例来限制该控制器、存储器系统及其操作方法。相反,本文描述的控制器、存储器系统及其操作方法应当仅根据在结合以上描述和附图时的所附权利要求进行限制。
Claims (19)
1.一种存储器系统,包括:
非易失性存储器装置,包括多个超级块,所述多个超级块中的每一个包括多个存储块;以及
控制器,控制所述非易失性存储器装置,
其中所述控制器:
基于所述多个超级块之中的低性能超级块的数量,确定脏状态阈值,所述脏状态阈值用于确定所述非易失性存储器装置的脏状态;
基于所述多个超级块之中的空闲超级块的数量和所述脏状态阈值,确定所述非易失性存储器装置是否处于所述脏状态;并且
当确定所述非易失性存储器装置处于所述脏状态时,对所述多个超级块执行垃圾收集操作。
2.根据权利要求1所述的存储器系统,其中随着所述低性能超级块的数量变大,所述控制器确定所述脏状态阈值增加。
3.根据权利要求1所述的存储器系统,其中随着所述低性能超级块的数量变小,所述控制器确定所述脏状态阈值减小。
4.根据权利要求1所述的存储器系统,其中所述低性能超级块包括以下超级块:包括不能对其执行交错操作的至少一个存储块。
5.根据权利要求1所述的存储器系统,其中所述低性能超级块包括以下超级块:包括比所述多个超级块之中的正常超级块更少数量的存储块。
6.根据权利要求1所述的存储器系统,其中所述低性能超级块包括以下超级块:具有比所述多个超级块之中的正常超级块更小的容量。
7.根据权利要求1所述的存储器系统,其中所述控制器对所述非易失性存储器装置优先于其它操作地执行所述垃圾收集操作。
8.根据权利要求1所述的存储器系统,其中所述控制器:当所述空闲超级块的数量小于所述脏状态阈值时,确定所述非易失性存储器装置处于所述脏状态。
9.根据权利要求1所述的存储器系统,其中所述控制器:当所述空闲超级块的数量大于或等于所述脏状态阈值时,确定所述非易失性存储器装置不处于所述脏状态。
10.一种存储器系统的操作方法,所述存储器系统包括:非易失性存储器装置,包括多个超级块,所述多个超级块中的每一个包括多个存储块;以及控制器,控制所述非易失性存储器装置,所述操作方法包括:
通过所述控制器,基于所述多个超级块之中的低性能超级块的数量确定脏状态阈值,所述脏状态阈值用于确定所述非易失性存储器装置的脏状态;
通过所述控制器,基于所述多个超级块之中的空闲超级块的数量和所述脏状态阈值确定所述非易失性存储器装置是否处于所述脏状态;并且
通过所述控制器,当确定所述非易失性存储器装置处于所述脏状态时,对所述多个超级块执行垃圾收集操作。
11.根据权利要求10所述的操作方法,其中确定所述脏状态阈值包括:随着所述低性能超级块的数量变大,确定所述脏状态阈值增加。
12.根据权利要求10所述的操作方法,其中确定所述脏状态阈值包括:随着所述低性能超级块的数量变小,确定所述脏状态阈值减小。
13.根据权利要求10所述的操作方法,其中所述低性能超级块包括以下超级块:包括不能对其执行交错操作的至少一个存储块。
14.根据权利要求10所述的操作方法,其中所述低性能超级块包括以下超级块:包括比所述多个超级块之中的正常超级块更少数量的存储块。
15.根据权利要求10所述的操作方法,其中所述低性能超级块包括以下超级块:具有比所述多个超级块之中的正常超级块更小的容量。
16.根据权利要求10所述的操作方法,其中执行所述垃圾收集操作包括:对所述非易失性存储器装置优先于其它操作地执行所述垃圾收集操作。
17.根据权利要求10所述的操作方法,其中确定所述非易失性存储器装置是否处于所述脏状态包括:当所述空闲超级块的数量小于所述脏状态阈值时,确定所述非易失性存储器装置处于所述脏状态。
18.根据权利要求10所述的操作方法,其中确定所述非易失性存储器装置是否处于所述脏状态包括:当所述空闲超级块的数量等于或大于所述脏状态阈值时,确定所述非易失性存储器装置不处于所述脏状态。
19.一种存储器系统,包括:
非易失性存储器装置,包括多个空闲超级块,所述空闲超级块包括低性能超级块和正常块;以及
控制器,联接到所述非易失性存储器装置,所述控制器:
确定所述空闲超级块的数量是否小于阈值;
当确定所述空闲超级块的数量小于所述阈值时,确定所述非易失性存储器装置处于脏状态;并且
当确定所述非易失性存储器装置处于所述脏状态时,对所述多个超级块执行垃圾收集操作,
其中基于所述低性能超级块的数量调整所述阈值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0035088 | 2019-03-27 | ||
KR1020190035088A KR20200115831A (ko) | 2019-03-27 | 2019-03-27 | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111752469A true CN111752469A (zh) | 2020-10-09 |
Family
ID=72605662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911039055.2A Withdrawn CN111752469A (zh) | 2019-03-27 | 2019-10-29 | 控制器、存储器系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10929289B2 (zh) |
KR (1) | KR20200115831A (zh) |
CN (1) | CN111752469A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210099870A (ko) * | 2020-02-05 | 2021-08-13 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
US11640259B2 (en) * | 2020-05-21 | 2023-05-02 | Western Digital Technologies, Inc. | Use of surplus erase block pairs in super block formation |
KR20220131058A (ko) | 2021-03-19 | 2022-09-27 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9298608B2 (en) * | 2013-10-18 | 2016-03-29 | Sandisk Enterprise Ip Llc | Biasing for wear leveling in storage systems |
US10102146B2 (en) * | 2015-03-26 | 2018-10-16 | SK Hynix Inc. | Memory system and operating method for improving rebuild efficiency |
US9740609B1 (en) * | 2016-02-19 | 2017-08-22 | International Business Machines Corporation | Garbage collection techniques for a data storage system |
KR102653401B1 (ko) | 2016-07-18 | 2024-04-03 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
KR102708642B1 (ko) | 2016-09-05 | 2024-09-24 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20180092435A (ko) * | 2017-02-09 | 2018-08-20 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
-
2019
- 2019-03-27 KR KR1020190035088A patent/KR20200115831A/ko unknown
- 2019-10-10 US US16/598,776 patent/US10929289B2/en active Active
- 2019-10-29 CN CN201911039055.2A patent/CN111752469A/zh not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
KR20200115831A (ko) | 2020-10-08 |
US10929289B2 (en) | 2021-02-23 |
US20200310967A1 (en) | 2020-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111506516B (zh) | 数据存储装置及数据存储装置的操作方法 | |
CN111414312B (zh) | 数据存储装置及其操作方法 | |
CN109992202B (zh) | 数据存储设备、其操作方法以及包括其的数据处理系统 | |
CN111124273B (zh) | 数据存储装置及数据存储装置的操作方法 | |
CN111427509A (zh) | 控制器、数据存储装置及其操作方法 | |
CN112035054A (zh) | 控制器的操作方法以及存储器系统 | |
US10878924B2 (en) | Data storage device intergrating host read commands and method of operating the same | |
CN111831579A (zh) | 控制器及其操作方法和包括控制器的存储器系统 | |
US10929289B2 (en) | Controller, memory system and operating method thereof | |
KR20210144249A (ko) | 저장 장치 및 이의 동작 방법 | |
CN111752853A (zh) | 控制器、存储器系统及其操作方法 | |
US11379363B2 (en) | Controller, memory system, and operating methods thereof | |
CN111752858A (zh) | 控制器、存储器系统及其操作方法 | |
CN110795366B (zh) | 数据存储装置及数据存储装置的操作方法 | |
CN112988045A (zh) | 数据存储装置及其操作方法 | |
CN112328516A (zh) | 控制器、控制器的操作方法以及包括控制器的存储装置 | |
CN112286444B (zh) | 控制器以及包括控制器的存储器系统 | |
US11036629B2 (en) | Controller, memory system and operating method thereof | |
US20200250082A1 (en) | Controller, memory system, and operating method thereof | |
CN113805793A (zh) | 存储装置及其操作方法 | |
CN112151100A (zh) | 控制器、存储器系统及其操作方法 | |
CN112783429A (zh) | 数据存储装置、使用其的存储系统及其操作方法 | |
CN112445714A (zh) | 半导体存储器设备的地址搜索电路和方法及其控制器 | |
US11144246B2 (en) | Memory system using available bad block based on data storage reliability and operating method thereof | |
US11157214B2 (en) | Controller, memory system and operating method thereof |
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: 20201009 |