CN111427509A - 控制器、数据存储装置及其操作方法 - Google Patents
控制器、数据存储装置及其操作方法 Download PDFInfo
- Publication number
- CN111427509A CN111427509A CN201910953518.XA CN201910953518A CN111427509A CN 111427509 A CN111427509 A CN 111427509A CN 201910953518 A CN201910953518 A CN 201910953518A CN 111427509 A CN111427509 A CN 111427509A
- Authority
- CN
- China
- Prior art keywords
- memory block
- garbage collection
- data
- memory
- data storage
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- 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/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/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/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/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
Abstract
本发明涉及一种数据存储装置,该数据存储装置包括:非易失性存储器设备,包括多个存储块;以及控制器,被配置为控制非易失性存储器设备。控制器确定多个存储块的第一存储块中存储的数据的更新频率;控制非易失性存储器设备以将多个存储块中存储的数据的目标数据存储在多个存储块的第二存储块中,该目标数据指示具有超过预设阈值更新频率的更新频率的数据:将第一存储块和第二存储块的垃圾收集执行条件设置为彼此不同;并且控制非易失性存储器设备以根据被设置为彼此不同的垃圾收集执行条件来对第一存储块和第二存储块执行垃圾收集。
Description
相关申请的交叉引用
本申请要求于2019年1月9日提交的申请号为10-2019-0002682的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
各个实施例总体涉及一种半导体设备,且更特别地,涉及一种控制器、数据存储装置及其操作方法。
背景技术
近来,计算机环境的范例已经变为使计算机系统可随时随地使用的普适计算。因此,诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用迅速增加。这些便携式电子装置通常使用采用了存储器设备的数据存储装置。数据存储装置用于为便携式电子装置存储数据。
使用存储器设备的数据存储装置的优点在于,由于不具有机械驱动单元所以稳定性和耐用性优越,信息访问速度非常快,并且功耗小。具有这些优点的数据存储装置包括通用串行总线(USB)存储器设备、具有各种接口的存储卡、通用闪存(UFS)装置和固态驱动器(SSD)。
发明内容
本文描述了一种能够改善数据存储装置的性能、寿命等的高效的垃圾收集技术。
在实施例中,一种数据存储装置可以包括:非易失性存储器设备,包括多个存储块;以及控制器,被配置为控制非易失性存储器设备,其中控制器可以:确定多个存储块的第一存储块中存储的数据的更新频率;控制非易失性存储器设备以将多个存储块中存储的数据的目标数据存储在多个存储块的第二存储块中,该目标数据指示具有超过预设阈值更新频率的更新频率的数据:将第一存储块和第二存储块的垃圾收集执行条件设置为彼此不同;并且控制非易失性存储器设备以根据被设置为彼此不同的垃圾收集执行条件来对第一存储块和第二存储块执行垃圾收集。
在实施例中,一种控制包括多个数据存储区域的非易失性存储器设备的控制器可以包括:存储器,被配置为存储闪存转换层;以及处理器,被配置为执行存储器中存储的闪存转换层,其中该闪存转换层可以包括:更新频率确定模块,被配置为确定多个存储块的第一存储块中存储的数据的更新频率;第一控制模块,被配置为控制非易失性存储器设备以将多个存储块中存储的数据的目标数据存储在第二存储块中,该目标数据指示具有超过预设阈值更新频率的更新频率的数据;垃圾收集设置模块,被配置为将第一存储块和第二存储块的垃圾收集执行条件设置为彼此不同;以及第二控制模块,被配置为控制非易失性存储器设备以根据被设置为彼此不同的垃圾收集执行条件来对第一存储块和第二存储块执行垃圾收集。
在实施例中,提供一种数据存储装置的操作方法,其中该数据存储装置包括非易失性存储器设备和控制器,非易失性存储器设备包括多个存储块,控制器用于控制非易失性存储器设备,该操作方法可以包括以下步骤:通过控制器确定多个存储块的第一存储块中存储的数据的更新频率;通过非易失性存储器设备将多个存储块中存储的数据的目标数据存储在第二存储块中,该目标数据指示具有超过预设阈值更新频率的更新频率的数据;通过控制器将第一存储块和第二存储块的垃圾收集执行条件设置为彼此不同;并且通过非易失性存储器设备根据被设置为彼此不同的垃圾收集执行条件,对第一存储块和第二存储块执行垃圾收集。
根据实施例,可以通过高效的垃圾收集来改善数据存储装置的性能和寿命。
附图说明
图1是示出根据实施例的数据存储装置的配置的示图。
图2是示出图1的存储器的配置的示图。
图3是描述根据实施例的非易失性存储器设备中包括的数据存储区域的示图。
图4是描述根据实施例的闪存转换层的示图。
图5是根据实施例的数据存储装置的操作方法的流程图。
图6是根据实施例的数据存储装置的操作方法的流程图。
图7是示出根据实施例的包括固态驱动器(SSD)的数据处理系统的示例性示图。
图8是示出图7的控制器的配置的示例性示图。
图9是示出根据实施例的包括数据存储装置的数据处理系统的示例性示图。
图10是示出根据实施例的包括数据存储装置的数据处理系统的示例性示图。
图11是示出根据实施例的包括数据存储装置的网络系统的示例性示图。
图12是示出根据实施例的数据存储装置中包括的非易失性存储器设备的示例性框图。
具体实施方式
下面将参照附图详细地描述实施例。
图1是示出根据实施例的数据存储装置10的配置的示例性示图。
参照图1,根据本实施例的数据存储装置10可以存储由诸如移动电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视、车载信息娱乐系统的主机装置20访问的数据。数据存储装置10可以称为存储器系统。
数据存储装置10可以被制造为根据接口协议电连接到主机装置20的各种类型的存储装置中的任意一种。例如,数据存储系统10可以被配置为诸如以下的各种类型的存储装置中的任意一种:固态驱动器(SSD)、MMC、eMMC、RS-MMC或微型-MMC形式的多媒体卡,SD、迷你-SD或微型-SD形式的安全数字卡,通用串行总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡,外围组件互连(PCI)卡形式的存储装置,高速PCI(PCI-e或PCIe)卡、紧凑型闪存(CF)卡、智能媒体卡以及记忆棒形式的存储装置。
数据存储装置10可以被制造为诸如以下的各种类型的封装中的任意一种:堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
数据存储装置10可以包括非易失性存储器设备100和控制器200。
非易失性存储器设备100可以用作数据存储装置10的存储介质。根据存储器单元,非易失性存储器设备100可以被配置为诸如以下的各种类型的非易失性存储器设备中的任意一种:NAND闪速存储器设备、NOR闪速存储器设备、使用铁电电容器的铁电随机存取存储器(FRAM)、使用隧穿磁阻(TMR)膜的磁性随机存取存储器(MRAM)、使用硫族化物合金的相变随机存取存储器(PRAM)以及使用过渡金属氧化物的电阻式随机存取存储器(ReRAM)。
图1示出了数据存储装置10包括一个非易失性存储器设备100;然而,数据存储装置10可以包括多个非易失性存储器设备,并且实施例也可以同样地应用于包括多个非易失性存储器设备的数据存储装置10。
非易失性存储器设备100可以包括存储器单元阵列(未示出),该存储器单元阵列具有布置在多个字线(未示出)和多个位线(未示出)的交叉区域中的多个存储器单元。存储器单元阵列可以包括多个存储块,多个存储块中的每一个可以包括多个页面。
例如,存储器单元阵列的每个存储器单元可以是存储一位数据的单层单元(SLC)或者能够存储两位或更多位数据的多层单元(MLC)。多层单元(MLC)可以存储两位数据、三位数据、四位数据等。通常,存储两位数据的存储器单元称为多层单元(MLC),存储三位数据的存储器单元称为三层单元(TLC),并且存储四位数据的存储器单元称为四层单元(QLC)。然而,在本实施例中,为了便于说明,存储两位数据至四位数据的存储器单元将通常地称为多层单元(MLC)。
存储器单元阵列可以包括单层单元(SLC)和多层单元(MLC)中的至少一个。此外,存储器单元阵列还可以包括具有二维水平结构的存储器单元或具有三维垂直结构的存储器单元。
控制器200可以通过驱动加载到存储器230的固件或软件来控制数据存储装置10的所有操作。控制器200可以解码和驱动诸如固件或软件的代码类型的指令或算法。控制器200可以以硬件或硬件和软件的组合来实现。
控制器200可以包括主机接口210、处理器220、存储器230和存储器接口240。尽管未在图1中示出,但是控制器200可以进一步包括错误校正码(ECC)引擎,其通过对从主机装置提供的写入数据进行ECC编码来生成奇偶校验数据,并且通过使用奇偶校验数据来对从非易失性存储器设备100读取的读取数据进行ECC解码。
主机接口210可以用作主机装置20和数据存储装置10之间的与主机装置20的协议相对应的接口。例如,主机接口210可以通过诸如以下各种协议中的任意一种与主机装置20通信:通用串行总线(USB)、通用闪存(UFS)、多媒体卡(MMC)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)和高速PCI(PCIe)。
处理器220可以包括微控制单元(MCU)和中央处理单元(CPU)。处理器220可以处理从主机装置20传送的请求。为了处理从主机装置20传送的请求,处理器220可以驱动加载在存储器230上的代码类型指令或算法,即固件,并且控制诸如主机接口210、存储器230、存储器接口240的内部功能块和非易失性存储器设备100。
处理器220可以基于从主机装置20传送的请求生成用于控制非易失性存储器设备100的操作的控制信号,并且通过存储器接口240将所生成的控制信号提供到非易失性存储器设备100。
存储器230可以包括诸如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)的随机存取存储器。存储器230可以存储由处理器220驱动的固件。此外,存储器230可以存储驱动固件所需的数据,例如元数据。也就是说,存储器230可以用作处理器220的工作存储器。
存储器230可以包括数据缓冲器,用于临时存储待从主机装置20传送到非易失性存储器设备100的写入数据,或者待从非易失性存储器设备100传送到主机装置20的读取数据。也就是说,存储器230可以用作缓冲存储器。
存储器接口240可以在处理器220的控制下控制非易失性存储器设备100。存储器接口240还可以称为存储器控制器。存储器接口240可以向非易失性存储器设备100提供控制信号。该控制信号可以包括用于控制非易失性存储器设备100的命令、地址、操作控制信号等。存储器接口240可以向非易失性存储器设备100提供数据缓冲器中存储的数据,或者可以将从非易失性存储器设备100传送的数据存储在数据缓冲器中。
图2是示出图1的存储器230的示图。
参照图2,根据本实施例的存储器230可以包括存储闪存转换层(FTL)的第一区域R1,以及用作命令队列(CMDQ)以对与从主机装置20提供的请求相对应的命令进行排队的第二区域R2。然而,对于本领域技术人员显而易见的是,除了图2所示的区域之外,存储器230还可以包括诸如以下的用于各种目的的区域:用作临时存储写入数据的写入数据缓冲器的区域、用作临时存储读取数据的读取数据缓冲器的区域以及用作其中高速缓存了映射数据的映射高速缓存缓冲器的区域。
此外,存储器230可以包括存储系统数据、元数据等的区域(未示出)。可以将图1的工作负载模式信息(WLPI)存储在存储存储器230的系统数据、元数据等的区域中。
当非易失性存储器设备100被配置为闪速存储器设备时,处理器220可以控制非易失性存储器设备100的唯一操作,并且驱动被称为闪存转换层(FTL)的软件以便提供与主机装置20的装置兼容性。通过闪存转换层(FTL)的驱动,主机装置20可以识别数据存储装置10并将其用作诸如硬盘的通用存储装置。
存储器230的第一区域R1中存储的闪存转换层(FTL)可以包括用于执行各种功能的模块和用于驱动每个模块所需的元数据。闪存转换层(FTL)可以存储在非易失性存储器设备100的系统区域(未示出)中,或者可以在数据存储装置10通电时从非易失性存储器设备100的系统区域读取并加载在存储器230的第一区域R1上。
图3是描述根据实施例的非易失性存储器设备中包括的数据存储区域的示图。
参照图3,非易失性存储器设备100可以包括共享电连接到控制器200的通道CH的多个管芯310a和310b,每个管芯可以包括共享电连接到通道CH的通路311的多个平面312a和312b,并且每个平面可以包括多个数据页面。数据页面可以指用于读取或写入数据的最小存储区域。此外,其中同时执行擦除操作的多个数据页面单位被称为块,并且作为一个进行管理的多个块单位被称为超级块。因此,非易失性存储器设备100中的数据存储区域可以指管芯、平面、超级块、块、数据页面等;然而,除非另有说明,否则将在假设数据存储区域是指作为执行垃圾收集的单位的块的情况下给出以下描述。
图4是描述根据实施例的闪存转换层的示图。
参照图4,根据实施例的闪存转换层可以包括更新频率确定模块410、第一控制模块420、垃圾收集设置模块430和第二控制模块440。
更新频率确定模块410可以确定数据的更新频率。作为特定示例,更新频率确定模块410可以确定诸如非易失性存储器设备100中包括的多个数据存储区域中存储的数据的更新次数和更新周期的更新频率。
在实施例中,更新频率确定模块410可以基于逻辑地址来确定数据的更新频率。例如,更新频率确定模块410可以将为了将数据存储在非易失性存储器设备100中而参考的逻辑地址的参考数量确定为更新频率。这是因为有必要在不可重写存储器设备中执行用于将经更新数据存储在第二数据存储区域中以便更新第一数据存储区域中存储的数据的操作,并且在这个时候参考待更新的数据的逻辑地址。在这种情况下,对与所参考的逻辑地址相对应的数据存储区域中存储的数据的参考数量可以被存储为元数据等。数据存储区域可以为存储块。第一数据存储区域可以是第一存储块,第二数据存储区域可以是第二存储块。
第一控制模块420可以控制非易失性存储器设备100以在第二数据存储区域中存储第一数据存储区域中存储的数据。作为特定示例,第一控制模块420可以控制非易失性存储器设备100以在第二数据存储区域中存储第一数据存储区域中存储的数据的热数据,该热数据指示具有超过预设阈值更新频率的更新频率的数据。第二数据存储区域可以指非易失性存储器设备100中存储的数据存储区域之中与第一数据存储区域不同的数据存储区域。
在实施例中,第一控制模块420可以改变阈值更新频率。作为特定示例,当第一数据存储区域的擦除和/或写入计数较高时,第一控制模块420可以将阈值更新频率改变为较低。此外,当第一数据存储区域的擦除和/或写入计数较低时,第一控制模块420可以将阈值更新频率改变为较高。
在实施例中,当执行用于更新热数据的写入操作时,第一控制模块420可以控制非易失性存储器设备以将热数据存储在第二数据存储区域中。
在实施例中,当对存储热数据的第一数据存储区域执行垃圾收集操作时,第一控制模块420可以控制非易失性存储器设备以将热数据存储在第二数据存储区域中。
在实施例中,第一控制模块420可以将多个数据存储区域之中具有比第一数据存储区域更高的可靠性的数据存储区域确定为第二数据存储区域。例如,第一控制模块420可以将具有比第一数据存储区域更少擦除或写入次数的数据存储区域确定为第二数据存储区域。也就是说,第一控制模块420可以将能够比第一数据存储区域进行更多擦除或写入操作的数据存储区域确定为第二数据存储区域。
垃圾收集设置模块430可以基于数据的更新频率来设置非易失性存储器设备100的垃圾收集(GC)执行条件。作为特定示例,当针对各个数据存储区域存储具有不同更新频率的多条数据时,垃圾收集设置模块430可以基于所存储的数据的更新频率来为各个数据存储区域设置不同的垃圾收集执行条件。
在实施例中,垃圾收集设置模块430可以将无效数据的数量设置为垃圾收集执行条件。例如,当将无效数据的数量设置为垃圾收集执行条件时,垃圾收集设置模块430可以将作为第二数据存储区域的垃圾收集执行条件的无效页面的数量设置为大于作为第一数据存储区域的垃圾收集执行条件的无效页面的数量。
在实施例中,垃圾收集设置模块430可以将有效数据的数量设置为垃圾收集执行条件。例如,当将有效数据的数量设置为垃圾收集执行条件时,垃圾收集设置模块430可以将作为第二数据存储区域的垃圾收集执行条件的有效页面的数量设置为小于作为第一数据存储区域的垃圾收集执行条件的有效页面的数量。
在实施例中,垃圾收集设置模块430可以根据阈值更新频率来改变垃圾收集执行条件。作为特定示例,当阈值更新频率较高时,垃圾收集设置模块430可以设置第一和第二数据存储区域的垃圾收集执行条件(例如,无效页面或有效页面的数量),使得第一数据存储区域和第二数据存储区域的无效页面或有效页面的数量之间的差异较大。此外,当阈值更新频率较低时,垃圾收集设置模块430可以设置第一和第二数据存储区域的垃圾收集执行条件(例如,无效页面或有效页面的数量),使得第一数据存储区域和第二数据存储区域的无效页面或有效页面的数量之间的差异较小。
第二控制模块440可以为非易失性存储器设备100中包括的多个数据存储区域设置垃圾收集执行条件。作为特定示例,第二控制模块440可以控制非易失性存储器设备100以根据针对第一数据存储区域和第二数据存储区域不同地设置的垃圾收集执行条件来执行垃圾收集操作。
图5是根据实施例的数据存储装置的操作方法的流程图。
参照图5,在步骤S510,确定数据的更新频率。作为特定示例,数据存储装置10可以确定非易失性存储器设备100的数据存储区域中存储的数据的更新频率。
在实施例中,数据存储装置10可以基于为了更新数据而参考的逻辑地址的参考数量来确定数据的更新频率。
在步骤S520,移动数据。作为特定示例,数据存储装置10可以基于所确定的更新频率来移动数据。例如,数据存储装置10可以移动数据,使得具有大于预设阈值更新频率的更新频率的热数据和具有等于或小于预设阈值更新频率的更新频率的数据被单独存储。
在实施例中,数据存储装置10可以移动数据,使得第一数据存储区域中存储的数据之中具有超过预设阈值更新频率的更新频率的数据被存储在第二数据存储区域中。
在实施例中,数据存储装置10可以在执行垃圾收集时移动数据。
在实施例中,当数据被更新时,数据存储装置10可以移动数据。
在步骤S530,设置垃圾收集执行条件。作为特定示例,当基于更新频率将数据单独存储在数据存储区域中时,数据存储装置10可以不同地设置作为每个数据存储区域的垃圾收集执行条件的无效数据的数量或有效数据的数量。
在实施例中,数据存储装置10可以将作为存储具有较高更新频率的热数据的数据存储区域的垃圾收集执行条件的无效数据的数量设置为较大,或者将作为存储具有较高更新频率的热数据的数据存储区域的垃圾收集执行条件的有效数据的数量设置为较小。
在实施例中,数据存储装置10可以将作为存储具有较低更新频率的数据的数据存储区域的垃圾收集执行条件的无效数据的数量设置为较小,或者将作为存储具有较低更新频率的数据的数据存储区域的垃圾收集执行条件的有效数据的数量设置为较大。
在步骤S540,执行垃圾收集。数据存储装置10可以对满足所设置的垃圾收集执行条件的数据存储区域执行垃圾收集。
图6是根据实施例的数据存储装置的操作方法的流程图。
在步骤S610,确定数据的更新频率。作为特定示例,数据存储装置10可以确定非易失性存储器设备100的数据存储区域中存储的数据的更新频率。
在实施例中,数据存储装置10可以基于第一数据存储区域中存储的数据的逻辑地址来确定更新频率。例如,因为为了更新非易失性存储器设备100中存储的数据而参考了数据的逻辑地址,所以数据存储装置10可以基于逻辑地址的参考数量来确定数据的更新频率。
在步骤S620,确定是否移动数据。作为特定示例,数据存储装置10可以通过将第一数据存储区域中存储的数据的更新频率与预设阈值更新频率进行比较来确定是否将第一数据存储区域中存储的数据移动到第二数据存储区域。例如,数据存储装置10可以允许热数据存储在第二数据存储区域中,该热数据是第一数据存储区域中存储的数据之中具有超过预设阈值更新频率的更新频率的数据。
在步骤S630,将热数据存储在第二数据存储区域中。作为特定示例,数据存储装置10可以执行写入操作,用于将第一数据存储区域中的已经确定待移动到第二数据存储区域的数据存储在第二数据存储区域中。在实施例中,热数据为目标数据。
在实施例中,当对第一数据存储区域执行垃圾收集时,数据存储装置10可以执行用于将热数据存储在第二数据存储区域中的写入操作。这是因为,当执行对第一数据存储区域的垃圾收集时,执行用于将第一数据存储区域中存储的数据存储在另一数据存储区域中的写入操作。
在实施例中,数据存储装置10可以在更新热数据时执行用于将热数据存储在第二数据存储区域中的写入操作。这是因为,为了更新第一数据存储区域中存储的数据,执行用于将经更新数据存储在另一数据存储区域中的写入操作。
在步骤S640,数据存储装置10可以确定不将第一数据存储区域中存储的数据之中具有等于或小于预设阈值更新频率的更新频率的数据移动到第二数据存储区域。这是为了根据更新频率将存储数据的数据存储区域彼此区分开。
在步骤S650,设置垃圾收集执行条件。作为特定示例,数据存储装置10可以基于数据存储区域中存储的数据的更新频率,不同地设置用于对每个数据存储区域执行垃圾收集的无效页面的数量或有效页面的数量。当与存储非热数据的第一数据存储区域相比时,可以将较少量的有效数据存储在存储热数据的第二数据存储区域中。因此,在垃圾收集操作期间可以移动第二数据存储区域的较少量的有效数据,这可以导致减少在垃圾收集操作期间的写入操作的数量。减少的写入操作的数量可导致数据存储装置10的寿命延长。
在实施例中,数据存储装置10可以将作为第二数据存储区域的垃圾收集执行条件的无效数据的数量设置为大于作为第一数据存储区域的垃圾收集执行条件的无效数据的数量。
在实施例中,数据存储装置10可以将作为第二数据存储区域的垃圾收集执行条件的有效数据的数量设置为小于作为第一数据存储区域的垃圾收集执行条件的有效数据的数量。
在步骤S660,选择垃圾收集目标。当可用数据存储区域不足时,数据存储装置10执行垃圾收集以确保数据存储区域。也就是说,数据存储装置10可以选择具有先前所存储的数据的数据存储区域之中满足垃圾收集执行条件的数据存储区域作为待进行垃圾收集的目标块(牺牲块)。根据实施例,因为第二数据存储区域中存储的数据的更新频率较高,使得第二数据存储区域中存储的数据的有效数据的数量很可能小于第一数据存储区域中的数据的有效数据的数量,所以可以选择第二数据存储区域作为待进行垃圾收集的目标。
在步骤S670,数据存储装置10可以对被选择作为待进行垃圾收集的目标的数据存储区域执行垃圾收集。
图7是示出根据实施例的包括固态驱动器(SSD)的数据处理系统的示例性示图。参照图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 1200的内部。电源2240可以包括辅助电源2241。辅助电源2241可以供应电力,使得当突然断电时SSD 2200正常终止。辅助电源2241可以包括能够充电电力PWR的高容量电容器。
控制器2210可以通过信号连接器2250与主机装置2100交换信号SGL。信号SGL可以包括命令、地址、数据等。根据主机装置2100和SSD 2200之间的接口方法,信号连接器2250可以包括各种类型的连接器。
图8是示出图7的控制器的示例性示图。参照图8,控制器2210可以包括主机接口单元2211、控制单元2212、随机存取存储器2213、错误校正码(ECC)单元2214和存储器接口2215。
主机接口单元2211可以根据主机装置2100的协议用作主机装置2100和SSD 2200之间的接口。例如,主机接口单元2211可以通过使用诸如以下的各种协议中的任意一种与主机装置2100通信:安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)、高速PCI(PCIe)和通用闪存(UFS)。此外,主机接口单元2211可以执行磁盘仿真功能,使得主机装置2100能够将SSD2200识别为例如硬盘驱动器(HDD)的通用数据存储装置10。
控制单元2212可以分析和处理从主机装置2100输入的信号SGL。控制单元2212可以根据用于驱动SSD 2200的固件或软件来控制内部功能块的操作。随机存取存储器2213可用作驱动这种固件或软件的工作存储器。
错误校正码(ECC)单元2214可以生成待被传送到非易失性存储器设备2231至223n的数据的奇偶校验数据。所生成的奇偶校验数据可以与数据一起存储在非易失性存储器设备2231至223n中。基于奇偶校验数据,错误校正码(ECC)单元2214可以检测从非易失性存储器设备2231至223n读取的数据的错误。当所检测到的错误在可校正范围内时,则错误校正码(ECC)单元2214可以校正所检测到的错误。
存储器接口单元2215可以在控制单元2212的控制下向非易失性存储器设备2231至223n提供诸如命令和地址的控制信号。此外,存储器接口单元2215可以在控制单元2212的控制下,与非易失性存储器设备2231至223n进行数据交换。例如,存储器接口单元2215可以向非易失性存储器设备2231至223n提供缓冲存储器设备2220中存储的数据,或者向缓冲存储器设备2220提供从非易失性存储器设备2231至223n读取的数据。
图9是示出根据实施例的包括数据存储装置的数据处理系统的示例性示图。参照图9,数据处理系统3000可以包括主机装置3100和数据存储装置3200。
主机装置3100可以以诸如印刷电路板的板形式配置。尽管图中未示出,但是主机装置3100可以包括用于执行主机装置的功能的内部功能块。
主机装置3100可以包括访问端子3110,诸如插座、插槽或连接器。数据存储装置3200可以被安装在访问端子3110上。
数据存储装置3200可以以诸如印刷电路板的板形式配置。数据存储装置3200可以称为存储器模块或存储卡。数据存储装置3200可以包括控制器3210、缓冲存储器设备3220、非易失性存储器设备3231和3232、电源管理集成电路(PMIC)3240和访问端子3250。
控制器3210可以控制数据存储装置3200的所有操作。控制器3210可以与图8所示的控制器2210相同的方式来配置。
缓冲存储器设备3220可以临时将数据存储在非易失性存储器设备3231和3232中。此外,缓冲存储器设备3220可以临时存储从非易失性存储器设备3231和3232读取的数据。被临时存储在缓冲存储器设备3220中的数据可以在控制器3210的控制下被传送到主机装置3100或非易失性存储器设备3231和3232。
非易失性存储器设备3231和3232可以用作数据存储装置3200的存储介质。
PMIC 3240可以向数据存储装置3200的内部提供通过访问端子3250输入的电力。PMIC 3240可以在控制器3210的控制下来管理数据存储装置3200的电力。
访问端子3250可以电连接到主机装置的访问端子3110。诸如命令、地址和数据的信号和电力可以通过访问端子3250在主机装置3100和数据存储装置3200之间传送。可以根据主机装置3100和数据存储装置3200之间的接口方法以各种形式配置访问端子3250。访问端子3250可以设置在数据存储装置3200的一侧。
图10是示出根据实施例的包括数据存储装置的数据处理系统的示例性示图。参照图10,数据处理系统4000可以包括主机装置4100和数据存储装置4200。
主机装置4100可以以诸如印刷电路板的板形式配置。尽管图中未示出,但是主机装置4100可以包括用于执行主机装置的功能的内部功能块。
数据存储装置4200可以以表面安装封装形式配置。数据存储装置4200可以通过焊球4250安装到主机装置4100。数据存储装置4200可以包括控制器4210、缓冲存储器设备4220和非易失性存储器设备4230。
控制器4210可以控制数据存储装置4200的所有操作。控制器4210可以与图8所示的控制器2210相同的方式来配置。
缓冲存储器设备4220可以将数据临时存储在非易失性存储器设备4230中。此外,缓冲存储器设备4220可以临时存储从非易失性存储器设备4230读取的数据。临时存储在缓冲存储器装置4220中的数据可以在控制器4210的控制下被传送到主机装置4100或非易失性存储器设备4230。
非易失性存储器设备4230可以用作数据存储装置4200的存储介质。
图11是示出根据实施例的包括数据存储装置的网络系统5000的示例性示图。参照图11,网络系统5000可以包括服务器系统5300和通过网络5500彼此电连接的多个客户端系统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是示出根据实施例的数据存储装置中包括的非易失性存储器设备的示例性框图。参照图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可以向字线WL1至WLm提供从电压发生器150提供的字线电压。
数据读取/写入块140可以通过位线BL1至BLn电连接到存储器单元阵列110。数据读取/写入块140可以包括分别对应于字线BL1至BLn的读取/写入电路RW1至RWn。数据读取/写入块140可以在控制逻辑160的控制下进行操作。数据读取/写入块140可以根据操作模式用作写入驱动器或读出放大器。例如,在写入操作期间,数据读取/写入块140可以用作将从外部装置提供的数据存储在存储器单元阵列110中的写入驱动器。在另一示例中,在读取操作期间,数据读取/写入块140可以用作从存储器单元阵列110读取数据的读出放大器。
列解码器130可以在控制逻辑160的控制下进行操作。列解码器130可以对从外部装置提供的地址进行解码。列解码器130可以基于解码结果将分别对应于位线BL1至BLn的数据读取/写入块140的读取/写入电路RW1至RWn电连接至数据输入/输出线(或数据输入/输出缓冲器)。
电压发生器150可以生成待被用于非易失性存储器设备100的内部操作的电压。电压发生器150生成的电压可以施加到存储器单元阵列110的存储器单元。例如,在编程操作期间生成的编程电压可以施加到进行编程操作的存储器单元的字线。在另一示例中,在擦除操作期间生成的擦除电压可以施加到进行擦除操作的存储器单元的阱区。在另一示例中,在读取操作期间生成的读取电压可以施加到进行读取操作的存储器单元的字线。
控制逻辑160可以基于从外部装置提供的控制信号来控制非易失性存储器设备100的所有操作。例如,控制逻辑160可以控制非易失存储器设备100的读取操作、写入操作和擦除操作。
虽然上面已经描述了各个实施例,但是本领域技术人员将理解的是,所描述的实施例仅是示例。因此,不应基于所描述的实施例来限制本文所描述的控制器、数据存储装置及其操作方法。
Claims (26)
1.一种数据存储装置,包括:
非易失性存储器设备,包括多个存储块;以及
控制器,控制所述非易失性存储器设备,
其中所述控制器:
确定所述多个存储块的第一存储块中存储的数据的更新频率,
控制所述非易失性存储器设备以将所述第一存储块中存储的数据之中的热数据存储在所述多个存储块的第二存储块中,所述热数据指示具有超过预设阈值更新频率的更新频率的数据,
将所述第一存储块和所述第二存储块的垃圾收集执行条件设置为彼此不同,并且
控制所述非易失性存储器设备以根据被设置为彼此不同的所述第一存储块和所述第二存储块的垃圾收集执行条件来对所述第一存储块和所述第二存储块执行垃圾收集。
2.根据权利要求1所述的数据存储装置,其中所述控制器基于在写入操作期间参考所述第一存储块中存储的数据的逻辑地址的次数来确定所述更新频率。
3.根据权利要求1所述的数据存储装置,其中在更新所述第一存储块中存储的数据的写入操作期间,所述控制器控制所述非易失性存储器设备以将所述第一存储块中存储的数据之中的热数据存储在第二存储块中。
4.根据权利要求1所述的数据存储装置,其中当对所述第一存储块执行所述垃圾收集时,所述控制器控制所述非易失性存储器设备以将所述热数据存储在所述第二存储块中。
5.根据权利要求1所述的数据存储装置,其中所述控制器通过将所述多个存储块中的每一个存储块中包括的无效页面的数量或有效页面的数量设置为所述垃圾收集执行条件来控制所述非易失性存储器设备以执行所述垃圾收集。
6.根据权利要求5所述的数据存储装置,其中当所述无效页面的数量被设置为所述垃圾收集执行条件时,所述控制器将作为所述第二存储块的垃圾收集执行条件的所述无效页面的数量设置为大于作为所述第一存储块的垃圾收集执行条件的所述无效页面的数量。
7.根据权利要求5所述的数据存储装置,其中当所述有效页面的数量被设置为所述垃圾收集执行条件时,所述控制器将作为所述第二存储块的垃圾收集执行条件的所述有效页面的数量设置为小于作为所述第一存储块的垃圾收集执行条件的所述有效页面的数量。
8.根据权利要求5所述的数据存储装置,其中所述控制器设置所述第二存储块的垃圾收集执行条件,使得所述第一存储块的垃圾收集执行条件与所述第二存储块的垃圾收集执行条件之间的差异随着阈值更新频率增高而增大。
9.根据权利要求8所述的数据存储装置,其中所述控制器基于所述第一存储块的擦除或写入的数量来改变所述阈值更新频率。
10.根据权利要求9所述的数据存储装置,其中所述控制器随着所述第一存储块的擦除或写入的数量增加而减小所述阈值更新频率,并且随着所述第一存储块的擦除或写入的数量减少而增大所述阈值更新频率。
11.根据权利要求8所述的数据存储装置,其中当所述无效页面的数量被设置为所述垃圾收集执行条件时,所述控制器将作为所述第二存储块的垃圾收集执行条件的所述无效页面的数量设置为大于作为所述第一存储块的垃圾收集执行条件的所述无效页面的数量。
12.根据权利要求8所述的数据存储装置,其中当所述有效页面的数量被设置为所述垃圾收集执行条件时,所述控制器将作为所述第二存储块的垃圾收集执行条件的所述有效页面的数量设置为小于作为所述第一存储块的垃圾收集执行条件的所述有效页面的数量。
13.一种控制器,控制包括多个数据存储区域的非易失性存储器设备,所述控制器包括:
更新频率确定模块,确定所述多个存储块的第一存储块中存储的数据的更新频率;
第一控制模块,控制所述非易失性存储器设备以将所述第一存储块中存储的数据之中的热数据存储在所述多个存储块的第二存储块中,所述热数据指示具有超过预设阈值更新频率的更新频率的数据;
垃圾收集设置模块,将所述第一存储块和所述第二存储块的垃圾收集执行条件设置为彼此不同;以及
第二控制模块,控制所述非易失性存储器设备以根据被设置为彼此不同的所述第一存储块和所述第二存储块的垃圾收集执行条件来对所述第一存储块和所述第二存储块执行垃圾收集。
14.根据权利要求13所述的控制器,其中所述更新频率确定模块基于在写入操作期间参考所述第一存储块中存储的数据的逻辑地址的次数来确定所述更新频率。
15.根据权利要求13所述的控制器,其中在更新所述第一存储块中存储的数据的写入操作期间,所述第一控制模块控制所述非易失性存储器设备以将所述第一存储块中存储的数据之中的热数据存储在第二存储块中。
16.根据权利要求13所述的控制器,其中当对所述第一存储块执行所述垃圾收集时,所述第一控制模块控制所述非易失性存储器设备以将所述热数据存储在所述第二存储块中。
17.根据权利要求13所述的控制器,其中所述垃圾收集设置模块将所述多个存储块中的每一个存储块中包括的无效页面的数量或有效页面的数量设置为所述垃圾收集执行条件。
18.根据权利要求17所述的控制器,其中当所述第二存储块的无效页面的数量大于所述第一存储块的无效页面的数量时,所述垃圾收集设置模块设置所述第二存储块的垃圾收集执行条件,使得对所述第二存储块执行垃圾收集。
19.根据权利要求17所述的控制器,其中当所述第二存储块的有效页面的数量小于所述第一存储块的有效页面的数量时,所述垃圾收集设置模块设置所述第二存储块的垃圾收集执行条件,使得对所述第二存储块进行垃圾收集。
20.根据权利要求17所述的控制器,其中所述垃圾收集设置模块设置所述第二存储块的垃圾收集执行条件,使得所述第一存储块的垃圾收集执行条件和所述第二存储块的垃圾收集执行条件之间的差异随着阈值更新频率增高而增大。
21.根据权利要求20所述的控制器,其中所述第一控制模块基于所述第一存储块的擦除或写入的数量来改变所述阈值更新频率。
22.根据权利要求21所述的控制器,其中所述第一控制模块随着所述第一存储块的擦除或写入的数量增加而减小所述阈值更新频率,并且随着所述第一存储块的擦除或写入的数量减少而增大所述阈值更新频率。
23.根据权利要求20所述的控制器,其中当所述无效页面的数量被设置为所述垃圾收集执行条件时,所述垃圾收集设置模块将作为所述第二存储块的垃圾收集执行条件的所述无效页面的数量设置为大于作为所述第一存储块的垃圾收集执行条件的所述无效页面的数量。
24.根据权利要求20所述的控制器,其中当所述有效页面的数量被设置为所述垃圾收集执行条件时,所述垃圾收集设置模块将作为所述第二存储块的垃圾收集执行条件的所述有效页面的数量设置为小于作为所述第一存储块的垃圾收集执行条件的所述有效页面的数量。
25.一种数据存储装置的操作方法,所述数据存储装置包括:非易失性存储器设备,包括多个存储块;以及控制器,控制所述非易失性存储器设备,所述操作方法包括以下步骤:
通过所述控制器确定所述多个存储块的第一存储块中存储的数据的更新频率;
通过所述非易失性存储器设备将所述第一存储块中存储的数据之中的热数据存储在所述多个存储块的第二存储块中,所述热数据指示具有超过预设阈值更新频率的更新频率的数据;
通过所述控制器将所述第一存储块和所述第二存储块的垃圾收集执行条件设置为彼此不同;并且
通过所述非易失性存储器设备根据被设置为彼此不同的所述第一存储块和所述第二存储块的垃圾收集执行条件,对所述第一存储块和所述第二存储块执行垃圾收集。
26.一种控制器的操作方法,所述操作方法包括:
控制存储器装置以将热数据从第一存储区域移动到第二存储区域,所述第一存储区域和所述第二存储区域被包括在所述存储器装置中;并且
当所述第一存储区域和所述第二存储区域分别存储少于第一阈值和第二阈值的有效数据量时,控制所述存储器装置以对所述第一存储区域和所述第二存储区域执行垃圾收集操作,
其中所述第二阈值小于所述第一阈值,并且
其中所述热数据具有高于第三阈值的更新频率。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0002682 | 2019-01-09 | ||
KR1020190002682A KR20200086472A (ko) | 2019-01-09 | 2019-01-09 | 컨트롤러, 데이터 저장 장치 및 그것의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111427509A true CN111427509A (zh) | 2020-07-17 |
Family
ID=71405162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910953518.XA Withdrawn CN111427509A (zh) | 2019-01-09 | 2019-10-09 | 控制器、数据存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20200218653A1 (zh) |
KR (1) | KR20200086472A (zh) |
CN (1) | CN111427509A (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11893265B2 (en) * | 2017-05-02 | 2024-02-06 | Google Llc | Garbage collection for data storage |
EP3993273A4 (en) * | 2019-07-22 | 2022-07-27 | Huawei Technologies Co., Ltd. | METHOD AND DEVICE FOR DATA COMPRESSION IN A STORAGE SYSTEM, DEVICE AND READABLE STORAGE MEDIUM |
JP2023044330A (ja) * | 2021-09-17 | 2023-03-30 | キオクシア株式会社 | メモリシステムおよび制御方法 |
US11941297B2 (en) | 2022-04-11 | 2024-03-26 | Netapp, Inc. | Garbage collection and bin synchronization for distributed storage architecture |
US11934656B2 (en) * | 2022-04-11 | 2024-03-19 | 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 (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100281230A1 (en) * | 2009-04-29 | 2010-11-04 | Netapp, Inc. | Mechanisms for moving data in a hybrid aggregate |
CN102799535A (zh) * | 2012-06-29 | 2012-11-28 | 记忆科技(深圳)有限公司 | 固态硬盘的数据处理方法及固态硬盘 |
CN103412826A (zh) * | 2013-07-18 | 2013-11-27 | 记忆科技(深圳)有限公司 | 固态硬盘的垃圾回收方法及系统 |
US20160179386A1 (en) * | 2014-12-17 | 2016-06-23 | Violin Memory, Inc. | Adaptive garbage collection |
CN106155935A (zh) * | 2016-07-05 | 2016-11-23 | 深圳市瑞耐斯技术有限公司 | 固态硬盘闪存的垃圾回收方法及装置 |
CN106354660A (zh) * | 2016-08-30 | 2017-01-25 | 深圳市先天海量信息技术有限公司 | 固态存储设备的垃圾回收方法及装置 |
US20170139826A1 (en) * | 2015-11-17 | 2017-05-18 | Kabushiki Kaisha Toshiba | Memory system, memory control device, and memory control method |
CN107025071A (zh) * | 2016-12-14 | 2017-08-08 | 威盛电子股份有限公司 | 非易失性存储器装置及其垃圾收集方法 |
KR101880190B1 (ko) * | 2017-03-20 | 2018-07-20 | 성균관대학교산학협력단 | Ssd 컨트롤러 및 ssd 컨트롤러에 의해 수행되는 블록 속성 지정 방법 |
-
2019
- 2019-01-09 KR KR1020190002682A patent/KR20200086472A/ko unknown
- 2019-08-30 US US16/557,493 patent/US20200218653A1/en not_active Abandoned
- 2019-10-09 CN CN201910953518.XA patent/CN111427509A/zh not_active Withdrawn
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100281230A1 (en) * | 2009-04-29 | 2010-11-04 | Netapp, Inc. | Mechanisms for moving data in a hybrid aggregate |
CN102799535A (zh) * | 2012-06-29 | 2012-11-28 | 记忆科技(深圳)有限公司 | 固态硬盘的数据处理方法及固态硬盘 |
CN103412826A (zh) * | 2013-07-18 | 2013-11-27 | 记忆科技(深圳)有限公司 | 固态硬盘的垃圾回收方法及系统 |
US20160179386A1 (en) * | 2014-12-17 | 2016-06-23 | Violin Memory, Inc. | Adaptive garbage collection |
US20170139826A1 (en) * | 2015-11-17 | 2017-05-18 | Kabushiki Kaisha Toshiba | Memory system, memory control device, and memory control method |
CN106155935A (zh) * | 2016-07-05 | 2016-11-23 | 深圳市瑞耐斯技术有限公司 | 固态硬盘闪存的垃圾回收方法及装置 |
CN106354660A (zh) * | 2016-08-30 | 2017-01-25 | 深圳市先天海量信息技术有限公司 | 固态存储设备的垃圾回收方法及装置 |
CN107025071A (zh) * | 2016-12-14 | 2017-08-08 | 威盛电子股份有限公司 | 非易失性存储器装置及其垃圾收集方法 |
KR101880190B1 (ko) * | 2017-03-20 | 2018-07-20 | 성균관대학교산학협력단 | Ssd 컨트롤러 및 ssd 컨트롤러에 의해 수행되는 블록 속성 지정 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20200218653A1 (en) | 2020-07-09 |
KR20200086472A (ko) | 2020-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111506516B (zh) | 数据存储装置及数据存储装置的操作方法 | |
CN111324551B (zh) | 数据存储装置及其操作方法 | |
CN110083545B (zh) | 数据存储装置及其操作方法 | |
CN111427509A (zh) | 控制器、数据存储装置及其操作方法 | |
CN111124273B (zh) | 数据存储装置及数据存储装置的操作方法 | |
CN109992202B (zh) | 数据存储设备、其操作方法以及包括其的数据处理系统 | |
CN111414312A (zh) | 数据存储装置及其操作方法 | |
KR20200042791A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR20200129863A (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
CN111752853A (zh) | 控制器、存储器系统及其操作方法 | |
CN111752852A (zh) | 数据存储装置及数据存储装置的操作方法 | |
CN112286443A (zh) | 控制器、存储器系统及其操作方法 | |
US20220229775A1 (en) | Data storage device and operating method thereof | |
CN111752858A (zh) | 控制器、存储器系统及其操作方法 | |
KR20200115831A (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
CN112988045A (zh) | 数据存储装置及其操作方法 | |
KR20210006556A (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
CN110795366B (zh) | 数据存储装置及数据存储装置的操作方法 | |
KR20190023196A (ko) | 데이터 저장 장치 | |
US20200250082A1 (en) | Controller, memory system, and operating method thereof | |
CN112231240A (zh) | 控制器、存储器系统及其操作方法 | |
KR20210028405A (ko) | 서치 회로 및 컨트롤러 | |
CN112328516A (zh) | 控制器、控制器的操作方法以及包括控制器的存储装置 | |
KR20200142698A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US11144246B2 (en) | Memory system using available bad block based on data storage reliability 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 |
Application publication date: 20200717 |
|
WW01 | Invention patent application withdrawn after publication |