CN111324551A - 数据存储装置及其操作方法 - Google Patents
数据存储装置及其操作方法 Download PDFInfo
- Publication number
- CN111324551A CN111324551A CN201910823780.2A CN201910823780A CN111324551A CN 111324551 A CN111324551 A CN 111324551A CN 201910823780 A CN201910823780 A CN 201910823780A CN 111324551 A CN111324551 A CN 111324551A
- Authority
- CN
- China
- Prior art keywords
- data storage
- threshold
- read operation
- read
- garbage collection
- 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.)
- Granted
Links
Images
Classifications
-
- 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
- G06F12/0269—Incremental or concurrent garbage collection, e.g. in real-time systems
- G06F12/0276—Generational garbage collection
-
- 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- 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/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/0653—Monitoring storage devices or systems
-
- 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/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
- 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)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明涉及一种数据存储装置,该数据存储装置包括:非易失性存储器装置,包括多个数据存储区域;以及控制器,包括用于控制非易失性存储器装置的操作的闪存转换层(FTL)。该FTL可以监视对多个数据存储区域的第一读取操作;收集第一读取操作信息,该第一读取操作信息包括多个数据存储区域之中的被执行第一读取操作的第一数据存储区域子集的读取计数以及关于是否已对数据存储区域执行了软判决的第一数据存储区域子集的信息;基于所收集的第一读取操作信息改变垃圾收集(GC)阈值;并且控制非易失性存储器装置以基于所改变的GC阈值来对多个数据存储区域执行GC。
Description
相关申请的交叉引用
本申请要求于2018年12月13日提交的申请号为10-2018-0161253的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
各个实施例总体涉及一种半导体装置,更具体地,涉及一种数据存储装置及其操作方法。
背景技术
最近,计算环境范例已经变为可以随时随地使用计算机系统的普适计算环境。因此,诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用使用了存储器装置的数据存储装置。数据存储装置用于存储在便携式电子装置中使用的数据。
由于使用存储器装置的数据存储装置不具有机械驱动器,因此数据存储装置具有优异的稳定性和耐用性,表现出较高信息访问速度,并且具有低功耗。具有这些优点的数据存储装置的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、通用闪存(UFS)装置和固态驱动器(SSD)。
发明内容
各个实施例涉及一种能够有效地操作数据存储装置的垃圾收集的技术。
在实施例中,一种数据存储装置可以包括:非易失性存储器装置,包括多个数据存储区域;以及控制器,包括用于控制非易失性存储器装置的操作的闪存转换层(FTL)。该FTL可以监视对多个数据存储区域的第一读取操作;收集第一读取操作信息,该第一读取操作信息包括多个数据存储区域之中的被执行第一读取操作的第一数据存储区域子集的读取计数以及关于是否已对第一数据存储区域子集执行软判决的信息;基于所收集的第一读取操作信息来改变垃圾收集(GC)阈值,并且控制非易失性存储器装置以基于所改变的GC阈值来对多个数据存储区域执行GC。
在实施例中,提供了一种数据存储装置的操作方法,该数据存储装置包括非易失性存储器装置和控制器,非易失性存储器装置包括多个数据存储区域,控制器被配置为控制非易失性存储器装置的操作。该操作方法可以包括:由控制器监视对多个数据存储区域的第一读取操作;由控制器从第一读取操作的监视结果中收集第一读取操作信息,该第一读取操作信息包括多个数据存储区域之中的被执行第一读取操作的第一数据存储区域子集的读取计数以及关于是否已对第一数据存储区域子集执行软判决的信息;由控制器基于所收集的第一读取操作信息来改变GC阈值;以及由控制器控制非易失性存储器装置以基于所改变的GC阈值来对多个数据存储区域执行GC。
附图说明
图1是示出根据实施例的数据存储装置的示图。
图2是示出图1的存储器的示图。
图3是示出根据实施例的非易失性存储器装置中包括的数据存储区域的示图。
图4是示出根据实施例的闪存转换层(FTL)的框图。
图5是示出根据实施例的数据存储装置的操作方法的流程图。
图6是示出根据实施例的数据存储装置的操作方法的流程图。
图7是示出根据实施例的包括固态驱动器(SSD)的数据处理系统的示图。
图8是示出图7的控制器的示图。
图9是示出根据实施例的包括数据存储装置的数据处理系统的示图。
图10是示出根据实施例的包括数据存储装置的数据处理系统的示图。
图11是示出根据实施例的包括数据存储装置的网络系统的示图。
图12是示出根据实施例的数据存储装置中包括的非易失性存储器装置的框图。
具体实施方式
在下文中,将通过示例性实施例参照附图在下面描述根据本公开的数据存储装置及其操作方法。
图1是示出根据实施例的数据存储装置10的框图。
参照图1,数据存储装置10可以存储由诸如以下的主机装置20访问的数据:移动电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视(TV)或车载信息娱乐系统。数据存储装置10可以称为存储器系统。
根据联接到主机装置20的接口协议,数据存储装置10可以被制造为各种类型的存储装置中的任意一种。例如,数据存储装置10可以被配置为包括以下的各种类型的存储装置中的任意一种:固态驱动器(SSD)、诸如eMMC、RS-MMC或微型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可以根据存储器单元被配置为包括以下的各种类型的非易失性存储器装置中的任意一种:NAND闪速存储器装置、NOR闪速存储器装置、使用铁电电容器的铁电随机存取存储器(FRAM)、使用隧道磁阻(TMR)膜的磁阻RAM(MRAM)、使用硫族化物合金的相变RAM(PRAM)以及使用过渡金属氧化物的电阻式RAM(ReRAM)。
尽管图1示出了数据存储装置10包括一个非易失性存储器装置100,但是数据存储装置10可以包括多个非易失性存储器装置。本实施例可以以相同的方式应用于包括多个非易失性存储器装置的数据存储装置10。
非易失性存储器装置100可以包括存储器单元阵列(未示出),该存储器单元阵列具有布置在多个位线(未示出)和多个字线(未示出)之间的各个交叉点处的多个存储器单元。存储器单元阵列可以包括多个存储块,并且每个存储块可以包括多个页面。
例如,存储器单元阵列中的每个存储器单元可以被配置为能够存储1位数据的单层单元(SLC)或能够存储2位或更多位数据的多层单元(MLC)。MLC可以存储2位数据、3位数据、4位数据等。通常,用于存储2位数据的存储器单元可以被称为MLC、用于存储3位数据的存储器单元可以被称为三层单元(TLC)、用于存储4位数据的存储器单元可以被称为四层单元(QLC)。然而,为了方便起见,将用于存储2位到4位数据的存储器单元统称为MLC以便于描述。
在各个实施例中,用于存储数据的页面(即,数据页面)可以包括K个存储器单元,其中K个存储器单元中的每个能够存储N个位,其中K和N是大于或等于2的整数。因此,根据可以存储在每个存储器单元中的N个位,数据页面可以包括子数据页面作为N个虚拟数据页面。例如,能够存储两个位的MLC可以包括最低有效位(LSB)页面和最高有效位(MSB)页面作为两个子数据页面。又例如,能够存储三个位的TLC可以包括LSB页面、中央有效位(CSB)页面和MSB页面作为三个子数据页面。
如图12的110所示的存储器单元阵列可以包括一个或多个SLC和MLC。此外,存储器单元阵列可以包括具有二维结构的存储器单元或具有三维结构的存储器单元。
控制器200可以通过驱动加载到存储器230的固件或软件来控制数据存储装置10的全部操作。控制器200可以解码并驱动基于代码的指令或算法,诸如固件或软件。控制器200可以以硬件或硬件和软件的组合来实现。
控制器200可以包括主机接口210、处理器220、存储器230和存储器接口240。尽管未在图1中示出,但是控制器200可以进一步包括错误校正码(ECC)引擎,ECC引擎通过对从主机装置20提供的写入数据执行ECC编码来生成奇偶校验数据,并且使用奇偶校验数据对从非易失性存储器装置100读取的读取数据执行ECC解码。ECC引擎可以对从非易失性存储器装置100读取的读取数据执行硬判决和软判决。硬判决可以指示通过仅使用错误校正码和当施加预定参考读取电压时、根据存储器单元的开/关特性而读取的数据(称为硬判决数据)来校正从非易失性存储器装置100读取的读取数据的错误的方法。软判决可以指示通过附加地使用关于硬判决数据的可靠性的附加信息以及硬判决数据和错误校正码来校正从非易失性存储器装置100读取的读取数据的错误的方法。此后,附加信息将被称为可靠性数据。ECC引擎可以对从非易失性存储器装置100和存储器230接收的数据执行硬判决和软判决中的两者或任意一个。当没有通过硬判决校正从非易失性存储器装置100读取的读取数据的错误时,ECC引擎可以通过使用存储器230或非易失性存储器装置100中的附加信息来执行软判决。
主机接口210可以根据协议将主机装置20和数据存储装置10进行接口连接。例如,主机接口210可以通过以下协议中的任意一种与主机装置20通信:通用串行总线(USB)、通用闪存(UFS)、多媒体卡(MMC)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串联SCSI(SAS)、外围组件互连(PCI)和高速PCI(PCI-e或PCIe)。
处理器220可以包括微控制单元(MCU)和/或中央处理单元(CPU)。处理器220可以处理从主机装置20接收的请求。为了处理从主机装置20接收的请求,处理器220可以驱动加载到存储器230的、基于代码的指令或算法,即固件,并且控制非易失性存储器装置100和诸如主机接口210、存储器230和存储器接口240的内部功能块。
处理器220可以基于从主机装置20接收的请求生成控制信号以控制非易失性存储器装置100的操作。此外,处理器220可以通过存储器接口240将所生成的控制信号提供给非易失性存储器装置100。
存储器230可以被配置为随机存取存储器(RAM),诸如动态RAM(DRAM)或静态RAM(SRAM)。存储器230可以存储由处理器220驱动的固件。此外,存储器230可以存储驱动固件所需的数据,例如元数据。也就是说,存储器230可以作为处理器220的工作存储器进行操作。
存储器230可以包括数据缓冲器,数据缓冲器用于临时存储待被从主机装置20传送到非易失性存储器装置100的写入数据,或者待被从非易失性存储器装置100传送到主机装置20的读取数据。也就是说,存储器230可以作为缓冲存储器进行操作。
存储器接口240可以在处理器220的控制下控制非易失性存储器装置100。存储器接口240还可以称为存储器控制器。存储器接口240可以向非易失性存储器装置100提供控制信号。控制信号可以包括用于控制非易失性存储器装置100的命令、地址和操作控制信号。存储器接口240可以将存储在存储器230的数据缓冲器中的数据提供给非易失性存储器装置100,或者将从非易失性存储器装置100接收的数据存储在数据缓冲器中。
图2是示出图1的存储器230的示图。
参照图2,存储器230可以包括第一区域R1和第二区域R2。第一区域R1可以存储闪存转换层(FTL)。第二区域R2可以用作命令队列CMDQ,命令队列CMDQ用于对与从主机装置20接收的请求相对应的命令进行排队。尽管图2示出了存储器230包括两个区域,但是除了这两个区域之外,存储器230可以包括用于各种用途的区域,诸如用作临时存储写入数据的写入数据缓冲器的区域、用作临时存储读取数据的读取数据缓冲器的区域、以及用作高速缓存映射数据的映射高速缓存缓冲器的区域。
重新参照图1,存储器230可以包括用于存储系统数据或元数据的区域。该区域可以存储工作负载模式信息(WLPI)。
当通过使用闪速存储器装置实现非易失性存储器装置100时,处理器220可以控制非易失性存储器装置100的唯一操作,并且驱动被称为FTL的软件以提供与主机装置20的装置兼容性。当驱动FTL时,主机装置20可以将数据存储装置10识别且使用为诸如硬盘的通用存储装置。
FTL可以存储在存储器230的第一区域R1中。FTL可以包括用于执行各种功能的模块和用于驱动各个模块所需的元数据。FTL可以存储在非易失性存储器装置100的系统区域(未示出)中。当数据存储装置10通电时,FTL可被从非易失性存储器装置100的系统区域读取并且被加载到存储器230的第一区域R1。
图3是示出根据实施例的非易失性存储器装置(例如,图1的非易失性存储装器置100)中的数据存储区域的示图。
参照图3,非易失性存储器装置100可以包括多个管芯310a和310b,多个管芯310a和310b共享联接到控制器200的通道CH。管芯310a和310b中的每一个可以包括多个平面312a和312b,多个平面312a和312b共享联接到通道CH的通路311。平面312a和312b中的每一个可包括多个数据页面。每个数据页面可以指示读取或写入数据的存储区域的最小单位。共同擦除的多个数据页面可以称为块。被管理为一个块的多个块可以被称为超级块。非易失性存储器装置100的数据存储区域可以利用管芯、平面、超级块、存储块或数据页面来实现。作为示例,在以下描述中,可以利用页面来实现数据存储区域,除非另有说明。
图4是示出根据实施例的闪存转换层(FTL)400的框图。
参照图4,FTL 400可以包括读取操作监视模块410、读取操作信息收集模块420、垃圾收集(GC)阈值变化模块430和控制信号生成模块440。FTL 400可以改变用于判定是否执行GC的GC阈值。当对数据存储区域执行GC时,数据存储装置10可以对读取计数超过GC阈值的数据存储区域执行GC。读取操作监视模块410可以监视对存储器装置(例如,图1的非易失性存储器装置100)的数据存储区域的读取操作。具体地,当根据主机装置20的读取请求对非易失性存储器装置100中的数据存储区域执行读取操作时,读取操作监视模块410可以监视已被执行读取操作的数据存储区域的读取计数。此外,读取操作监视模块410可以监视是否已经对数据存储区域中的数据执行了软判决。
读取操作监视模块410可以监视用于降低GC阈值的第一读取操作。具体地,为了将第一阈值减小到小于第一阈值的第二阈值,读取操作监视模块410可以监视读取操作第一设置时间,或监视对第一设置数量的数据存储区域的读取操作。根据本实施例,可以在数据存储装置10的制造步骤或使用步骤中设置第一阈值或者可以改变第一阈值。
在实施例中,第一设置时间可以指示可以执行足够的读取操作以设置第二阈值的时间。可以在数据存储装置10的制造步骤或使用步骤中,基于秒、分钟、小时或天来设置第一设置时间。
在实施例中,第一设置数量可以指示足以设置第二阈值的数据存储区域的数量。可以将第一设置数量设置为相对于非易失性存储器装置100中的整个数据存储区域的百分比或比率。可以在数据存储装置10的制造步骤或使用步骤中设置第一设置数量。例如,第一设置数量可以指示数据存储装置10中的整个数据存储区域的80%或更多。
读取操作监视模块410可以监视用于增加GC阈值的第二读取操作。具体地,当GC阈值被改变为小于第一阈值的第二阈值时,读取操作监视模块410可以监视读取操作第二设置时间或监视对第二设置数量的数据存储区域的读取操作,以便将GC阈值增大为大于第二阈值的第三阈值。
在实施例中,第二设置时间可以指示可以执行足够的读取操作以设置第三阈值的时间。可以在数据存储装置10的制造步骤或使用步骤中,基于秒、分钟、小时或天来设置第二设置时间。
在实施例中,第二设置数量可以指示足以设置第三阈值的数据存储区域的数量。可以将第二设置数量设置为相对于非易失性存储器装置100中的整个数据存储区域的百分比或比率。可以在数据存储装置10的制造步骤或使用步骤中设置第二设置数量。例如,第二设置数量可以指示数据存储装置10中的整个数据存储区域的80%或更多。
读取操作信息收集模块420可以收集包括读取计数和是否已经执行软判决的信息的读取操作信息。具体地,当对非易失性存储器装置100中的数据存储区域执行读取操作时,读取操作信息收集模块420可以从读取操作监视结果中收集读取操作信息。在各个实施例中,读取操作信息可包括被执行读取操作的数据存储区域的读取计数和关于是否已对数据存储区域中的数据执行了软判决的信息。
读取操作信息收集模块420可以收集第一读取操作信息。具体地,当待将第一阈值改变为小于第一阈值的第二阈值时,读取操作信息收集模块420可以从第一读取操作的监视结果中收集第一读取操作信息。在各个实施例中,第一读取操作信息可以包括关于数据存储装置10中的被执行第一读取操作的数据存储区域的读取操作信息,其中被执行第一读取操作的数据存储区域也被称为第一数据存储区域子集。
在实施例中,读取操作信息收集模块420可以收集第一读取操作信息,该第一读取操作信息包括被执行第一读取操作的数据存储区域之中的、已被执行软判决的数据存储区域的读取计数。
读取操作信息收集模块420可以收集第二读取操作信息。具体地,当待将第二阈值改变或调整为大于第二阈值的第三阈值时,读取操作信息收集模块420可以从第二读取操作的监视结果中收集第二读取操作信息。在各个实施例中,第二读取操作信息可以包括关于数据存储装置10中的被执行第二读取操作的数据存储区域的读取操作信息,其中被执行第二读取操作的数据存储区域也被称为第二数据存储区域子集。
在实施例中,读取操作信息收集模块420可以收集第二读取操作信息,该第二读取操作信息关于被执行第二读取操作的数据存储区域之中的、读取计数超过第二阈值并且未被执行软判决的数据存储区域的读取计数。
GC阈值改变模块430可以基于读取操作信息,来改变或调整用于判定是否执行GC的阈值。
当第一读取操作信息中的读取计数的平均值小于第一阈值时,GC阈值改变模块430可以将GC阈值改变或变化为第二阈值,该第二阈值是第一读取操作信息中包括的读取计数的平均值。
在实施例中,第一读取操作信息中的读取计数可以指示被执行第一读取操作的数据存储区域之中的、已被执行软判决的数据存储区域的读取计数。
当第二读取操作信息中的读取计数的平均值大于第二阈值时,GC阈值改变模块430可以将GC阈值改变或调整为第三阈值,该第三阈值是第二读取操作信息中的读取计数的平均值。
在实施例中,第二读取操作信息中的读取计数可以指示被执行第二读取操作的数据存储区域之中的、具有大于第二阈值的读取计数并且未被执行软判决的数据存储区域的读取计数。
在实施例中,当第二阈值小于或等于第一阈值的预设比率M时,GC阈值改变模块430可以增加GC阈值。例如,当第二阈值小于或等于第一阈值的80%时,GC阈值改变模块430可以将第二阈值改变或变化为第三阈值。
控制信号生成模块440可以生成用于控制非易失性存储器装置100的控制信号。具体地,控制信号生成模块440可以生成用于控制非易失性存储器装置100以根据改变后的GC阈值来执行GC的控制信号。此时,非易失性存储器装置100可以根据改变后的阈值来执行GC。
尽管图4示出了FTL的功能之中的用于改变阈值的固件功能,但是FTL也可以通过使用诸如电路的单独硬件来实现。
图5是示出根据实施例的例如图1的数据存储装置10的数据存储装置的操作方法的流程图。
参照图5,在步骤S510,可以执行第一读取操作。具体地,当从主机装置20接收到读取请求时,控制器200可以根据读取请求来控制非易失性存储器装置100执行读取操作。非易失性存储器装置100可以在控制器200的控制下,对与读取请求相对应的数据存储区域执行第一读取操作。此时,控制器200可以监视被执行第一读取操作的数据存储区域的读取计数以及是否已对该数据存储区域中的数据执行了软判决。
在步骤S520,可以收集第一读取操作信息。具体地,控制器200可以从第一读取操作的监视结果收集第一读取操作信息。在各个实施例中,第一读取操作信息可以包括被执行第一读取操作的数据存储区域的读取计数和关于是否已对数据存储区域中的数据执行软判决的信息。
在实施例中,第一读取操作信息可以包括被执行第一读取操作的数据存储区域之中的、已被执行软判决的数据存储区域的读取计数。
在步骤S530,控制器200可以确定是否应当减小或降低阈值。具体地,当第一读取操作信息中的读取计数的平均值小于第一阈值时,控制器200可以确定应当将第一阈值改变或调整为第二阈值,该第二阈值是第一读取操作信息中的读取计数的平均值。当第一读取操作信息中的读取计数的平均值大于或等于第一阈值时,控制器200可以确定应当保留第一阈值。
当确定应当减小阈值时(S530,是),在步骤S540,控制器200可以确定可应用第二阈值。在步骤S560,控制器200可以控制非易失性存储器装置100以通过应用改变后的第二阈值来执行GC。
当确定不应当减小阈值时(S530,否),在步骤S550,控制器200可以确定可保留第一阈值。在步骤S560中,控制器200可以控制非易失性存储器装置100以通过应用第一阈值来执行GC。
这样,在执行步骤S540之后或者在执行步骤S550之后,可以执行步骤S560。在步骤S560,可以执行GC。具体地,基于由控制器200设置的GC阈值,非易失性存储器装置100可以对具有超过设置阈值的读取计数的数据存储区域执行GC。
图6是示出根据实施例的例如图1的数据存储装置10的数据存储装置的操作方法的流程图。
参照图6,在步骤S610,控制器200可以确定是否减小(或降低)了阈值。具体地,控制器200可以检查用于判定是否执行GC的阈值是否被改变为更小的值,即是否将阈值从第一阈值改变为第二阈值。
在实施例中,控制器200可以检查第二阈值是否小于或等于第一阈值的预设比率M。具体地,控制器200可以检查第二阈值是否小于或等于第一阈值的80%。当GC阈值被过度降低时,可能频繁地执行GC,从而降低数据存储装置10的性能。因此,为了防止数据存储装置10的性能下降,控制器200可以执行再次增加GC阈值的操作。
当确定阈值减小时(S610,是),在步骤S620,可以执行第二读取操作。具体地,当检查到第二阈值小于或等于第一阈值的预设比率时,控制器200可以监视第二读取操作,该第二读取操作指示在设置第二阈值之后对数据存储区域执行的读取操作,以便将第二阈值改变为大于第二阈值的第三阈值。
在步骤S630,可以收集第二读取操作信息。具体地,控制器200可以从第二读取操作的监视结果中收集第二读取操作信息。在各个实施例中,第二读取操作信息可以包括被执行第二读取操作的数据存储区域的读取计数以及关于是否已对数据存储区域中的数据执行软判决的信息。
在实施例中,第二读取操作信息中的读取计数可以指示被执行第二读取操作的数据存储区域之中的、具有大于第二阈值的读取计数并且未被执行软判决的数据存储区域的读取计数。
在步骤S640,控制器200可以确定是否应当增加GC阈值。具体地,当第二读取操作信息中的读取计数的平均值大于第二阈值时,确定控制器200可以将阈值改变为第三阈值,该第三阈值是第二读取操作信息中的读取计数的平均值。当第二读取操作信息中的读取计数的平均值小于或等于第二阈值时,确定控制器200可以不改变阈值。
当确定应当增加GC阈值时(S640,是),在步骤S650,可以应用第三阈值。具体地,控制器200可以控制非易失性存储器装置100以基于改变后的第三阈值执行GC。
当确定不应当增加GC阈值时(S640,否),在步骤S660,可以保留第二阈值。此外,当第二读取操作信息中的读取计数的平均值小于或等于第二阈值时,控制器200可以不改变阈值,而是保留第二阈值。控制器200可以控制非易失性存储器装置100以基于第二阈值执行GC。
当确定阈值未被减小时(S610,否),或者在执行步骤S650之后或在执行步骤S660之后,可以执行步骤S670。在步骤S670,可以执行GC。非易失性存储器装置100可以在控制器200的控制下基于阈值来对数据存储区域执行GC。
图7示出了根据实施例的包括固态驱动器(SSD)的数据处理系统2000的示图。参照图7,数据处理系统2000可以包括主机装置2100以及SSD 2200。
SSD 2200可以包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231至223n、电源2240、信号连接器2250以及电源连接器2260。
控制器2210可以控制SSD 2200的全部操作。
缓冲存储器装置2220可以临时存储待被存储在非易失性存储器装置2231至223n中的数据。此外,缓冲存储器装置2220可以临时存储从非易失性存储器装置2231至223n读取的数据。临时存储在缓冲存储器装置2220中的数据可以在控制器2210的控制下被传送到主机装置2100或非易失性存储器装置2231到223n。
非易失性存储器装置2231至223n可用作SSD 2200的存储介质。非易失性存储器装置2231至223n可以通过多个通道CH1至CHn与控制器2210联接。一个或多个非易失性存储器装置可以联接到一个通道。联接到一个通道的非易失性存储器装置可以联接到相同的信号总线和数据总线。
电源2240可以将通过电源连接器2260输入的电力PWR提供到SSD 2200中。电源2240可包括辅助电源2241。当发生突然断电时,辅助电源2241可以供应电力以正常地关闭SSD 2200。辅助电源2241可以包括能够存储电力PWR的较大电容器。
控制器2210可以通过信号连接器2250与主机装置2100交换信号SGL。信号SGL可以包括命令、地址、数据等。根据主机装置2100和SSD 2200之间的接口方式,信号连接器2250可以被配置为各种类型的连接器。
图8示出了图7的控制器2210。参照图8,控制器2210可以包括主机接口2211、控制器2212、随机存取存储器(RAM)2213、错误校正码(ECC)电路2214和存储器接口2215。
根据主机装置2100的协议,主机接口2211可将主机装置2100与SSD 2200接口连接。例如,主机接口2211可以通过以下协议中的任意一个与主机装置2100通信:安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)、高速PCI(PCIe)和通用闪存(UFS)。主机接口2211可以执行磁盘仿真功能,该磁盘仿真功能支持主机装置2100将SSD 2200识别为例如硬盘驱动器(HDD)的通用数据存储装置。
控制器2212可以分析和处理从主机装置2100输入的信号SGL。控制器2212可以根据用于驱动SSD 2200的固件或软件来控制内部功能块的操作。RAM 2213可以用作用于驱动该固件或软件的工作存储器。
ECC电路2214可以生成待被传送到非易失性存储器装置2231至223n的数据的奇偶校验数据。所生成的奇偶校验数据和数据可以被存储在非易失性存储器装置2231至223n中。ECC电路2214可以基于奇偶校验数据来检测从非易失性存储器装置2231至223n读取的数据的错误。当检测到的错误落在可校正范围内时,ECC电路2214可以校正所检测到的错误。
存储器接口2215可以在控制器2212的控制下向非易失性存储器装置2231至223n提供诸如命令和地址的控制信号。存储器接口2215可以在控制器2212的控制下与非易失性存储器装置2231至223n交换数据。例如,存储器接口2215可以将存储在缓冲存储器装置2220中的数据提供给非易失性存储器装置2231至223n,或者将从非易失性存储器装置2231至223n读取的数据提供给缓冲存储器装置2220。
图9示出了根据实施例的包括数据存储装置3200的数据处理系统3000。参照图9,数据处理系统3000可以包括主机装置3100和数据存储装置3200。
主机装置3100可以被配置为诸如PCB的板。尽管未示出,但是主机装置3100可以包括用于执行主机装置的功能的内部功能块。
主机装置3100可以包括连接端子3110,诸如插座、插槽或连接器。数据存储装置3200可以被安装在连接端子3110上。
数据存储装置3200可以被配置为诸如PCB的板。数据存储装置3200可以称为存储器模块或存储卡。数据存储装置3200可以包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231至3232、电源管理集成电路(PMIC)3240和连接端子3250。
控制器3210可以控制数据存储装置3200的全部操作。控制器3210可以与图11所示的控制器2210相同的方式来配置
缓冲存储器装置3220可以临时存储待被存储在非易失性存储器装置3231和3232中的数据。此外,缓冲存储器装置3220可以临时存储从非易失性存储器装置3231和3232读取的数据。临时存储在缓冲存储器装置3220中的数据可以在控制器3210的控制下被传送到主机装置3100或非易失性存储器装置3231和3232。
非易失性存储器装置3231至3232可以用作数据存储装置3200的存储介质。
PMIC 3240可以将通过连接端子3250输入的电力提供到数据存储装置3200中。PMIC 3240可以在控制器3210的控制下来管理数据存储装置3200的电力。
连接端子3250可以联接到主机装置3100的连接端子3110。通过连接端子3250,可以在主机装置3100和数据存储装置3200之间传送信号和电力,该信号包括命令、地址、数据等。可以根据主机装置3100和数据存储装置3200之间的接口方法以各种方式配置连接端子3250。连接端子3250可以设置在数据存储装置3200的任意一侧。
图10示出了根据实施例的包括数据存储装置4200的数据处理系统4000。参照图10,数据处理系统4000可以包括主机装置4100和数据存储装置4200。
主机装置4100可以被配置为诸如PCB的板。尽管未示出,但是主机装置4100可以包括用于执行主机装置的功能的内部功能块。
数据存储装置4200可以配置为表面安装封装。数据存储装置4200可以通过焊球4250安装在主机装置4100上。数据存储装置4200可以包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。
控制器4210可以控制数据存储装置4200的全部操作。控制器4210可以以与图11所示的控制器2210相同的方式来配置
缓冲存储器装置4220可以临时存储待被存储在非易失性存储器装置4230中的数据。缓冲存储器装置4220可以临时存储从非易失性存储器装置4230读取的数据。临时存储在缓冲存储器装置4220中的数据可以在控制器4210的控制下被传送到主机装置4100或非易失性存储器装置4230。
非易失性存储器装置4230可以用作数据存储装置4200的存储介质。
图11示出了包括根据本发明实施例的数据存储装置的网络系统5000。参照图11,网络系统5000可以包括通过网络5500连接的服务器系统5300和多个客户端系统5410、5420和5430。
服务器系统5300可以响应于多个客户端系统5410、5420和5430的请求来提供数据。例如,服务器系统5300可以存储从多个客户端系统5410、5420和5430提供的数据。又例如,服务器系统5300可以向多个客户端系统5410、5420和5430提供数据。
服务器系统5300可以包括主机装置5100和数据存储装置5200。数据存储装置5200可以被配置为图1的数据存储装置10、图7的数据存储装置2200、图9的数据存储装置3200或图10的数据存储装置4200。
图12是示出根据实施例的数据存储装置中的非易失性存储器装置100的框图。参照图12,非易失性存储器装置100可包括存储器单元阵列110、行解码器120、列解码器130、数据读取和写入(读取/写入)块140、电压发生器150和控制逻辑160。
存储器单元阵列110可以包括布置在字线WL1至WLm与位线BL1至BLn之间的各个交叉区域处的存储器单元MC。
行解码器120可以通过字线WL1到WLm联接到存储器单元阵列110。行解码器120可以在控制逻辑160的控制下进行操作。行解码器120可以对来自外部装置(未示出)的地址进行解码。行解码器120可以基于解码结果选择并驱动字线WL1到WLm。例如,行解码器120可以将由电压发生器150提供的字线电压提供给字线WL1至WLm。
数据读取/写入块140可以通过位线BL1至BLn联接到存储器单元阵列110。数据读取/写入块140可以包括对应于各个字线BL1至BLn的读取/写入电路RW1至RWn。数据读取/写入块140可以在控制逻辑160的控制下进行操作。根据操作模式,数据读取/写入块140可以作为写入驱动器或读出放大器进行操作。例如,在写入操作期间,数据读取/写入块140可以作为将从外部装置提供的数据存储在存储器单元阵列110中的写入驱动器进行操作。又例如,在读取操作期间,数据读取/写入块140可以用作从存储器单元阵列110读取数据的读出放大器。
列解码器130可以在控制逻辑160的控制下进行操作。列解码器130可以对来自外部装置的地址进行解码。列解码器130可以根据解码结果将数据读取/写入块140的、对应于各个位线BL1至BLn的读取/写入电路RW1至RWn联接到数据输入/输出线(或数据输入/输出缓冲器)。
电压发生器150可以生成用于非易失性存储器装置100的内部操作的电压。电压发生器150生成的电压可以被施加到存储器单元阵列110的存储器单元。例如,在编程操作期间生成的编程电压可以被施加到待执行编程操作的存储器单元的字线。又例如,在擦除操作期间生成的擦除电压可被施加到待执行擦除操作的存储器单元的阱区。又例如,在读取操作期间生成的读取电压可以被施加到待执行读取操作的存储器单元的字线。
控制逻辑160可以基于从外部装置提供的控制信号来控制非易失存储器装置100的全部操作。例如,控制逻辑160可以控制非易失性存储器装置100的的操作,诸如非易失性存储器装置100读取操作、写入操作或擦除操作。
控制逻辑可以控制存储器装置以执行编程操作。对于该操作,控制逻辑可以包括诸如图2所示的FTL的固件。此外,显而易见的是,控制逻辑可以通过固件来执行图5和图6所示的方法。
根据本实施例,可以有效地操作数据存储装置的GC。
虽然上面已经描述了各个实施例,但是本领域技术人员将理解的是,所描述的实施例仅是示例。因此,不应基于所描述的实施例来限制本文所描述的数据存储装置和操作方法。
Claims (20)
1.一种数据存储装置,包括:
非易失性存储器装置,包括多个数据存储区域;以及
控制器,包括控制所述非易失性存储器装置的操作的闪存转换层,
其中所述闪存转换层监视对所述多个数据存储区域的第一读取操作;收集第一读取操作信息,所述第一读取操作信息包括所述多个数据存储区域之中的被执行所述第一读取操作的第一数据存储区域子集的读取计数以及关于是否已对所述第一数据存储区域子集执行了软判决的信息;基于所收集的第一读取操作信息来改变垃圾收集阈值;并且控制所述非易失性存储器装置以基于所改变的垃圾收集阈值来对所述多个数据存储区域执行垃圾收集。
2.根据权利要求1所述的数据存储装置,其中所述闪存转换层将作为所述垃圾收集阈值的第一阈值调整为小于所述第一阈值的第二阈值。
3.根据权利要求1所述的数据存储装置,其中所述第一读取操作包括对所述多个数据存储区域的、被执行第一设置时间的读取操作。
4.根据权利要求1所述的数据存储装置,其中所述第一读取操作包括对所述多个数据存储区域之中的、第一设置数量的数据存储区域的读取操作。
5.根据权利要求2所述的数据存储装置,其中所述第二阈值包括所述第一数据存储区域子集之中的、已被执行所述软判决的数据存储区域的读取计数的平均值。
6.根据权利要求2所述的数据存储装置,其中所述闪存转换层监视对所述多个数据存储区域的第二读取操作;从所述第二读取操作的监视结果中收集第二读取操作信息,所述第二读取操作信息包括所述多个数据存储区域之中的被执行所述第二读取操作的第二数据存储区域子集的读取计数以及关于是否已对所述第二数据存储区域子集执行了软判决的信息;基于所收集的第二读取操作信息另外地将所改变的垃圾收集阈值改变为大于所述第二阈值的第三阈值;并且控制所述非易失性存储器装置以基于所述第三阈值执行所述垃圾收集。
7.根据权利要求6所述的数据存储装置,其中所述第二读取操作包括对所述多个数据存储区域的、被执行第二设置时间的读取操作。
8.根据权利要求6所述的数据存储装置,其中所述第二读取操作包括对所述多个数据存储区域之中的第二设置数量的数据存储区域的读取操作。
9.根据权利要求6所述的数据存储装置,其中所述第三阈值包括所述第二数据存储区域子集之中的、具有大于所述第二阈值的读取计数并且未被执行所述软判决的数据存储区域的读取计数的平均值。
10.根据权利要求6所述的数据存储装置,其中当所述第二阈值小于或等于所述第一阈值的预设比率时,所述闪存转换层另外地将所改变的垃圾收集阈值改变为所述第三阈值。
11.一种数据存储装置的操作方法,所述数据存储装置包括非易失性存储器装置和控制器,所述非易失性存储器装置包括多个数据存储区域,所述控制器控制所述非易失性存储器装置的操作,所述操作方法包括:
由所述控制器监视对所述多个数据存储区域的第一读取操作;
由所述控制器从所述第一读取操作的监视结果中收集第一读取操作信息,所述第一读取操作信息包括所述多个数据存储区域之中的被执行所述第一读取操作的第一数据存储区域子集的读取计数以及关于是否已对所述第一数据存储区域子集执行了软判决的信息;
由所述控制器基于所收集的第一读取操作信息来改变垃圾收集阈值;以及
由所述控制器控制所述非易失性存储器装置以基于所改变的垃圾收集阈值来对所述多个数据存储区域执行垃圾收集。
12.根据权利要求11所述的操作方法,其中改变所述垃圾收集阈值包括:将作为所述垃圾收集阈值的第一阈值改变为小于所述第一阈值的第二阈值。
13.根据权利要求11所述的操作方法,其中所述第一读取操作包括对所述多个数据存储区域的、被执行第一设置时间的读取操作。
14.根据权利要求11所述的操作方法,其中所述第一读取操作包括对所述多个数据存储区域之中的、第一设置数量的数据存储区域的读取操作。
15.根据权利要求11所述的操作方法,其中所述第二阈值包括所述第一数据存储区域子集之中的、已被执行所述软判决的数据存储区域的读取计数的平均值。
16.根据权利要求11所述的操作方法,进一步包括:
由所述控制器监视对所述多个数据存储区域的第二读取操作;
由所述控制器从所述第二读取操作的监视结果中收集第二读取操作信息,所述第二读取操作信息包括所述多个数据存储区域之中的被执行所述第二读取操作的第二数据存储区域子集的读取计数以及关于是否已对所述第二数据存储区域子集执行了软判决的信息;并且
由所述控制器基于所收集的第二读取操作信息来另外地将所改变的垃圾收集阈值改变为大于所述第二阈值的第三阈值。
17.根据权利要求16所述的操作方法,其中所述第二读取操作包括对所述多个数据存储区域的、被执行第二设置时间的读取操作以及对所述多个数据存储区域之中的第二设置数量的数据存储区域的读取操作中的至少一个。
18.根据权利要求11所述的操作方法,其中所述第三阈值包括所述第二数据存储区域子集之中的、具有大于所述第二阈值的读取计数并且未被执行所述软判决的数据存储区域的读取计数的平均值。
19.根据权利要求16所述的操作方法,其中将所改变的垃圾收集阈值改变为所述第三阈值包括:当所述第二阈值小于或等于所述第一阈值的预设比率时,另外地将所改变的垃圾收集阈值改变为所述第三阈值。
20.一种数据存储装置,包括:
存储器装置,包括多个数据存储区域;以及
控制器:
对所述多个数据存储区域之中的数据存储区域子集执行读取操作;
确定所述数据存储区域子集的读取计数值是否大于垃圾收集阈值;
当所述读取计数值的平均值小于或等于所述垃圾收集阈值时,减小所述垃圾收集阈值;并且
基于所减小的垃圾收集阈值来执行垃圾收集操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0161253 | 2018-12-13 | ||
KR1020180161253A KR20200073017A (ko) | 2018-12-13 | 2018-12-13 | 데이터 저장 장치와, 그것의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111324551A true CN111324551A (zh) | 2020-06-23 |
CN111324551B CN111324551B (zh) | 2023-04-07 |
Family
ID=71072205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910823780.2A Active CN111324551B (zh) | 2018-12-13 | 2019-09-02 | 数据存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10936485B2 (zh) |
KR (1) | KR20200073017A (zh) |
CN (1) | CN111324551B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112230856A (zh) * | 2020-10-20 | 2021-01-15 | 北京紫光得瑞科技有限公司 | Nand硬判决参考电平偏移值的配置方法、装置及ssd设备 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11893265B2 (en) * | 2017-05-02 | 2024-02-06 | Google Llc | Garbage collection for data storage |
WO2021012162A1 (zh) * | 2019-07-22 | 2021-01-28 | 华为技术有限公司 | 存储系统数据压缩的方法、装置、设备及可读存储介质 |
US11567665B2 (en) * | 2020-08-31 | 2023-01-31 | Micron Technology, Inc. | Data dispersion-based memory management |
US11847334B2 (en) * | 2021-09-23 | 2023-12-19 | EMC IP Holding Company LLC | Method or apparatus to integrate physical file verification and garbage collection (GC) by tracking special segments |
US20230195351A1 (en) * | 2021-12-17 | 2023-06-22 | Samsung Electronics Co., Ltd. | Automatic deletion in a persistent storage device |
US20230280926A1 (en) * | 2022-03-03 | 2023-09-07 | Western Digital Technologies, Inc. | Data Relocation With Protection For Open Relocation Destination Blocks |
US11886735B2 (en) * | 2022-03-22 | 2024-01-30 | Micron Technology, Inc. | Data movement based on address table activity |
US11934656B2 (en) * | 2022-04-11 | 2024-03-19 | Netapp, Inc. | Garbage collection and bin synchronization for distributed storage architecture |
US11941297B2 (en) | 2022-04-11 | 2024-03-26 | Netapp, Inc. | Garbage collection and bin synchronization for distributed storage architecture |
US11947452B2 (en) * | 2022-06-01 | 2024-04-02 | Micron Technology, Inc. | Controlling variation of valid data counts in garbage collection source blocks |
US20240012579A1 (en) * | 2022-07-06 | 2024-01-11 | Samsung Electronics Co., Ltd. | Systems, methods, and apparatus for data placement in a storage device |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101278267A (zh) * | 2005-08-03 | 2008-10-01 | 桑迪士克股份有限公司 | 具有经调度回收操作的非易失性存储器 |
US20090125671A1 (en) * | 2006-12-06 | 2009-05-14 | David Flynn | Apparatus, system, and method for storage space recovery after reaching a read count limit |
CN103714856A (zh) * | 2012-10-05 | 2014-04-09 | 三星电子株式会社 | 存储器系统及其读取回收方法 |
CN106445843A (zh) * | 2015-08-11 | 2017-02-22 | Hgst荷兰公司 | 使物理页面地址相关用于软判决解码 |
CN107301132A (zh) * | 2017-06-09 | 2017-10-27 | 华中科技大学 | 一种闪存垃圾回收优化方法 |
US20180129602A1 (en) * | 2016-11-10 | 2018-05-10 | Silicon Motion, Inc. | Garbage collection method for data storage device |
CN108628543A (zh) * | 2017-03-22 | 2018-10-09 | 慧荣科技股份有限公司 | 垃圾回收方法以及使用该方法的装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8949555B1 (en) * | 2007-08-30 | 2015-02-03 | Virident Systems, Inc. | Methods for sustained read and write performance with non-volatile memory |
US8166269B2 (en) * | 2009-11-05 | 2012-04-24 | Oracle America, Inc. | Adaptive triggering of garbage collection |
US8626986B2 (en) | 2010-06-30 | 2014-01-07 | Sandisk Technologies Inc. | Pre-emptive garbage collection of memory blocks |
US8799561B2 (en) * | 2012-07-27 | 2014-08-05 | International Business Machines Corporation | Valid page threshold based garbage collection for solid state drive |
US10147500B2 (en) * | 2015-05-22 | 2018-12-04 | SK Hynix Inc. | Hybrid read disturb count management |
KR20170099018A (ko) | 2016-02-22 | 2017-08-31 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
KR102653401B1 (ko) | 2016-07-18 | 2024-04-03 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
US20190035445A1 (en) * | 2017-07-31 | 2019-01-31 | CNEX Labs, Inc. a Delaware Corporation | Method and Apparatus for Providing Low Latency Solid State Memory Access |
-
2018
- 2018-12-13 KR KR1020180161253A patent/KR20200073017A/ko unknown
-
2019
- 2019-07-30 US US16/526,543 patent/US10936485B2/en active Active
- 2019-09-02 CN CN201910823780.2A patent/CN111324551B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101278267A (zh) * | 2005-08-03 | 2008-10-01 | 桑迪士克股份有限公司 | 具有经调度回收操作的非易失性存储器 |
US20090125671A1 (en) * | 2006-12-06 | 2009-05-14 | David Flynn | Apparatus, system, and method for storage space recovery after reaching a read count limit |
CN103714856A (zh) * | 2012-10-05 | 2014-04-09 | 三星电子株式会社 | 存储器系统及其读取回收方法 |
CN106445843A (zh) * | 2015-08-11 | 2017-02-22 | Hgst荷兰公司 | 使物理页面地址相关用于软判决解码 |
US20180129602A1 (en) * | 2016-11-10 | 2018-05-10 | Silicon Motion, Inc. | Garbage collection method for data storage device |
CN108628543A (zh) * | 2017-03-22 | 2018-10-09 | 慧荣科技股份有限公司 | 垃圾回收方法以及使用该方法的装置 |
CN107301132A (zh) * | 2017-06-09 | 2017-10-27 | 华中科技大学 | 一种闪存垃圾回收优化方法 |
Non-Patent Citations (2)
Title |
---|
HONGBIN SUN等: "Exploiting Intracell Bit-Error Characteristics to Improve Min-Sum LDPC Decoding for MLC NAND Flash-Based Storage in Mobile Device" * |
肖德宝 等: "改进的自适应分代式垃圾收集" * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112230856A (zh) * | 2020-10-20 | 2021-01-15 | 北京紫光得瑞科技有限公司 | Nand硬判决参考电平偏移值的配置方法、装置及ssd设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111324551B (zh) | 2023-04-07 |
US10936485B2 (en) | 2021-03-02 |
US20200192794A1 (en) | 2020-06-18 |
KR20200073017A (ko) | 2020-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111324551B (zh) | 数据存储装置及其操作方法 | |
US20240096392A1 (en) | Data storage device and operating method thereof | |
US10943639B2 (en) | Data storage device and operating method thereof | |
CN111124273B (zh) | 数据存储装置及数据存储装置的操作方法 | |
US20200218653A1 (en) | Controller, data storage device, and operating method thereof | |
CN111061653A (zh) | 数据存储装置及其操作方法 | |
KR20200121645A (ko) | 컨트롤러 및 그것의 동작 방법과 메모리 시스템 | |
KR20200129863A (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
CN113704138A (zh) | 存储装置及其操作方法 | |
CN112286443A (zh) | 控制器、存储器系统及其操作方法 | |
CN111752858A (zh) | 控制器、存储器系统及其操作方法 | |
KR20200115831A (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
US11276445B2 (en) | Data storage device and operating method thereof | |
US9773561B1 (en) | Nonvolatile memory device and data storage device including the same | |
CN111324297B (zh) | 控制器、数据存储装置及数据存储装置的操作方法 | |
CN110941566B (zh) | 数据存储装置及其操作方法 | |
US20200250082A1 (en) | Controller, memory system, and operating method thereof | |
CN110795360B (zh) | 数据存储设备以及该数据存储设备的操作方法 | |
KR20210156061A (ko) | 저장 장치 및 그 동작 방법 | |
KR20210011198A (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
US11144246B2 (en) | Memory system using available bad block based on data storage reliability and operating method thereof | |
US20200409848A1 (en) | Controller, memory system, and operating methods thereof | |
US20200117390A1 (en) | Data storage device 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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |