CN113467713A - 数据分离方法及固态硬盘 - Google Patents

数据分离方法及固态硬盘 Download PDF

Info

Publication number
CN113467713A
CN113467713A CN202110604669.1A CN202110604669A CN113467713A CN 113467713 A CN113467713 A CN 113467713A CN 202110604669 A CN202110604669 A CN 202110604669A CN 113467713 A CN113467713 A CN 113467713A
Authority
CN
China
Prior art keywords
data
cold
hot
super block
block
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
Application number
CN202110604669.1A
Other languages
English (en)
Other versions
CN113467713B (zh
Inventor
何国兴
陈祥
杨亚飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Dapu Microelectronics Co Ltd
Original Assignee
Shenzhen Dapu Microelectronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Dapu Microelectronics Co Ltd filed Critical Shenzhen Dapu Microelectronics Co Ltd
Priority to CN202110604669.1A priority Critical patent/CN113467713B/zh
Publication of CN113467713A publication Critical patent/CN113467713A/zh
Application granted granted Critical
Publication of CN113467713B publication Critical patent/CN113467713B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Abstract

本申请实施例涉及固态硬盘应用领域,公开了一种数据分离方法及固态硬盘,该数据分离方法,应用于固态硬盘,所述固态硬盘包括多个分组,每一分组包括多个物理块,所述固态硬盘维护一个全局序列号,所述方法包括:确定多个超级块,其中,每一超级块由每一分组中选择一个物理块组成,每一超级块对应一个块序列号;根据所述全局序列号、每一所述超级块的块序列号,确定每一所述超级块的冷热属性。通过维护一个全局序列号,基于全局序列号与每一超级块的块序列号,确定每一超级块的冷热属性,本申请能够提高冷热数据的识别准确率,进而改善固态硬盘的整体磨损度,提高固态硬盘的使用寿命。

Description

数据分离方法及固态硬盘
技术领域
本申请涉及固态硬盘应用领域,特别是涉及一种数据分离方法及固态硬盘。
背景技术
固态硬盘(Solid State Drives,SSD),是采用固态电子存储芯片阵列而制成的硬盘,固态硬盘包括控制单元和存储单元(FLASH存储芯片或DRAM存储芯片)。目前固态硬盘系统中有相当部分是存在动态随机存取存储器(Dynamic Random Access Memory,DRAM)的,所以SSD有较大的数据缓存空间用来缓存数据。
闪存(NAND Flash)是固态硬盘的主要存储介质。NAND颗粒被切分成大小相等的若干物理块,在使用物理块写入数据前需要先擦再写,但是物理块的擦除次数是有限的,如果某个块的擦除次数超过极限,该块将变得不可靠,因此无法继续使用而被标记为坏块。最理想的情况是所有块的擦除次数几乎同时超过极限变为坏块,但实际上由于业务模型的差异会导致一部分块先变为坏块,当坏块数量超过一定数量后,剩下的物理块将无法支撑固态硬盘的正常业务。
热数据指存储于固态硬盘系统的某个特定的数据或数据群,其特点是在过去或者未来会发生频繁的更新。冷数据与热数据相反,既更新的不频繁甚至长期不发生更新的数据。冷热数据的存在使得磨损均衡机制在考虑均匀擦写的同时,也得避免冷数据在一个闪存块长期的停留以及热数据在小范围的闪存块之间频繁的更新。冷数据的长期停留以及热数据的局部频繁更新都将造成闪存块之间擦除方差的增大。
目前,冷热数据分离算法的核心思想在于设计不同维度的计数器,记录数据访问的特征(例如访问请求大小、访问的频率、时间局限性和空间局限性等)来区分属于热数据还是冷数据。但是,目前的冷热数据分离算法中的冷热数据识别的准确率不高,导致固态硬盘的使用寿命降低。
申请内容
本申请实施例旨在提供一种数据分离方法及固态硬盘,其解决了目前的冷热数据分离算法中的冷热数据识别的准确率不高,提高冷热数据的识别准确率,进而改善固态硬盘的整体磨损度,提高了固态硬盘的使用寿命。
为解决上述技术问题,本申请实施例提供以下技术方案:
第一方面,本申请实施例提供一种数据分离方法,应用于固态硬盘,所述固态硬盘包括多个分组,每一分组包括多个物理块,所述固态硬盘维护一个全局序列号,所述方法包括:
确定多个超级块,其中,每一超级块由每一分组中选择一个物理块组成,每一超级块对应一个块序列号;
根据所述全局序列号、每一所述超级块的块序列号,确定每一所述超级块的冷热属性。
在一些实施例中,所述冷热属性包括冷属性、热属性;
若所述超级块的冷热属性为冷属性,则确定所述超级块中的每一物理块均为冷数据;
若所述超级块的冷热属性为热属性,则确定所述超级块中的每一物理块均为热数据。
在一些实施例中,所述方法还包括:
当某一空闲超级块被选中,擦除该空闲超级块之后,更新该空闲超级块的块序列号为当前的全局序列号;
将当前的全局序列号进行递增。
在一些实施例中,所述根据所述全局序列号、每一所述超级块的块序列号,确定每一所述超级块的冷热属性,包括:
若所述全局序列号与某一超级块的块序列号的差值大于所述固态硬盘中的有效超级块的数量与第一预设系数的乘积,则确定该超级块的冷热属性为冷属性。
在一些实施例中,所述方法还包括:
在每一超级块被写入新数据或者旧数据被覆盖之后,更新每一超级块的冷数据的数量、热数据的数量;
根据每一超级块的更新后的冷数据的数量、更新后的热数据的数量,确定每一所述超级块的冷热属性。
在一些实施例中,所述根据每一超级块的更新后的冷数据的数量、更新后的热数据的数量,确定每一所述超级块的冷热属性,包括:
若某一超级块的冷热属性为热属性,在更新该超级块的冷数据的数量、热数据的数量之后,若更新后的冷数据的数量大于更新后的热数据的数量,则将该超级块的冷热属性由热属性转变为冷属性。
在一些实施例中,所述方法还包括:
若所述固态硬盘满足预设条件,则开启磨损均衡任务,所述磨损均衡任务,包括:
选择目标超级块,其中,所述目标超级块已经被写满且所述目标超级块的擦除次数最小;
根据所述目标超级块的冷热属性,确定目标搬移位置,将所述目标超级块中的数据搬移到所述目标搬移位置。
在一些实施例中,所述预设条件包括:
所述固态硬盘中的所有超级块的最大擦除次数与最小擦除次数的差值大于所述固态硬盘中的全部超级块的数量与第二预设系数的乘积。
在一些实施例中,所述根据所述目标超级块的冷热属性,确定目标搬移位置,包括:
若所述目标超级块的冷热属性为冷属性,则确定目标搬移位置为擦除次数最大的空闲超级块;
若所述目标超级块的冷热属性为热属性,则确定目标搬移位置为擦除次数最小的空闲超级块。
在一些实施例中,
若某一超级块被垃圾回收变为空闲超级块之后,将该空闲超级块的冷热属性设置为热属性。
第二方面,本申请实施例提供一种固态硬盘,所述固态硬盘包括:
闪存介质;
固态硬盘控制器,与所述闪存介质连接,所述固态硬盘控制器包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的数据处理方法。
第三方面,本申请实施例还提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使固态硬盘能够执行如上所述的数据分离方法。
本申请实施例的有益效果是:区别于现有技术的情况下,本申请实施例提供的一种数据分离方法,应用于固态硬盘,所述固态硬盘包括多个分组,每一分组包括多个物理块,所述固态硬盘维护一个全局序列号,所述方法包括:确定多个超级块,其中,每一超级块由每一分组中选择一个物理块组成,每一超级块对应一个块序列号;根据所述全局序列号、每一所述超级块的块序列号,确定每一所述超级块的冷热属性。通过维护一个全局序列号,基于全局序列号与每一超级块的块序列号,确定每一超级块的冷热属性,本申请能够提高冷热数据的识别准确率,进而改善固态硬盘的整体磨损度,提高固态硬盘的使用寿命。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本申请实施例提供的一种固态硬盘的结构示意图;
图2是本申请实施例提供的固态硬盘控制器的示意图;
图3是本申请实施例提供的一种数据分离方法的流程示意图;
图4是本申请实施例提供的一种固态硬盘中的超级块的示意图;
图5是本申请实施例提供的一种冷数据、热数据的写入的示意图;
图6是本申请实施例提供的一种开启磨损均衡任务的示意图;
图7是图6中的步骤S605的细化流程示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
此外,下面所描述的本申请各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
典型的固态硬盘(Solid State Drives,SSD)通常包括固态硬盘控制器(主控制器)、闪存阵列、缓存单元以及其他外围单元。
其中,固态硬盘控制器用于作为控制运算单元,管理SSD内部系统;闪存阵列(NANDFlash),作为存储单元,用于存储数据,包括用户数据和系统数据,闪存阵列一般呈现多个通道(Channel,简写CH),一个通道独立连接一组NAND Flash,例如CH0/CH1……CHx。其中闪存(NAND Flash),其特性是写入之前,必须进行擦除,且每个闪存擦除次数有限;缓存单元,用于缓存映射表,所述缓存单元一般为动态随机存取存储器(Dynamic Random AccessMemory,DRAM)。其他外围单元可以包括传感器、寄存器等部件。
下面结合说明书附图具体地阐述本申请的技术方案。
请参阅图1,图1是本申请实施例提供的一种固态硬盘的结构示意图。
如图1所示,所述固态硬盘100包括闪存介质110以及与所述闪存介质110连接的固态硬盘控制器120。其中,所述固态硬盘100通过有线或无线的方式与所述主机200通信连接,用以实现数据交互。
闪存介质110,作为所述固态硬盘100的存储介质,也称作闪存、Flash、Flash存储器或Flash颗粒,属于存储器件的一种,是一种非易失性存储器,在没有电流供应的条件下也能够长久地保存数据,其存储特性相当于硬盘,使得闪存介质110得以成为各类便携型数字设备的存储介质的基础。
其中,闪存介质110可以为Nand FLASH,Nand FLASH以单晶体管作为二进制信号的存储单元,其结构与普通的半导体晶体管非常相似,区别在于Nand FLASH的单晶体管加入了浮动栅和控制栅,浮动栅用于贮存电子,表面被一层硅氧化物绝缘体所包覆,并通过电容与控制栅相耦合,当负电子在控制栅的作用下被注入到浮动栅中,Nand FLASH的单晶体的存储状态就由“1”变成了“0”,而当负电子从浮动栅中移走后,存储状态就由“0”变成了“1”,包覆在浮动栅表面的绝缘体用于将浮动栅中的负电子困住,实现数据存储。即Nand FLASH的存储单元为浮动栅晶体管,使用浮动栅晶体管以电荷的形式存储数据。存储电荷的多少与浮动栅晶体管所被施加的电压的大小有关。
一个Nand FLASH包括至少一个Chip芯片,每一个Chip芯片由若干个Block物理块组成,每一个Block物理块包括若干个Page页。其中,Block物理块是Nand FLASH执行擦除操作的最小单位,Page页为Nand FLASH执行读写操作的最小单位,一个Nand FLASH的容量等于其Block物理块的数量*一个Block物理块包含的Page页的数量*一个Page页的容量。具体的,闪存介质10按照存储单元的电压的不同层次,可分为SLC、MLC、TLC以及QLC。
固态硬盘控制器120,包括数据转换器121、处理器122、缓存器123、闪存控制器124以及接口125。
数据转换器121,分别与处理器122和闪存控制器124连接,所述数据转换器121用于将二进制数据转换为十六进制数据,以及将十六进制数据转换为二进制数据。具体地,当所述闪存控制器124向所述闪存介质110写入数据时,通过所述数据转换器121将待写入的二进制数据转换为十六进制数据,然后再写入闪存介质110。当所述闪存控制器124从所述闪存介质110读取数据时,通过所述数据转换器121将闪存介质110中存储的十六进制数据转换为二进制数据,然后从二进制数据页寄存器中读取转换后的数据。其中,所述数据转换器121可以包括二进制数据寄存器和十六进制数据寄存器。所述二进制数据寄存器可以用于保存由十六进制转换为二进制后的数据,所述十六进制数据寄存器可以用于保存由二进制转换为十六进制后的数据。
处理器122,分别与数据转换器121、缓存器123、闪存控制器124以及接口125连接,其中,处理器122与数据转换器121、缓存器123、闪存控制器124以及接口125可以通过总线或者其他方式连接,所述处理器用于运行存储在缓存器123中的非易失性软件程序、指令以及模块,从而实现本申请任一方法实施例。
缓存器123,主要用于缓存主机200发送的读/写指令以及根据主机200发送的读/写指令从闪存介质110获取的读数据或者写数据。缓存器123作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。缓存器123可以包括存储程序区,存储程序区可存储操作系统、至少一个功能所需要的应用程序。此外,缓存器123可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,缓存器123可选包括相对于处理器124远程设置的存储器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。所述缓存器123可以为静态随机存取存储器(StaticRandom Access Memory,SRAM)或者耦合内存(Tightly Coupled Memory,TCM)或者双倍速率同步动态随机存储器(Double DataRateSynchronous Dynamic Random Access Memory,DDR SRAM)。
闪存控制器124,与闪存介质110、数据转换器121、处理器122以及缓存器123连接,用于访问后端的闪存介质110,管理闪存介质110的各种参数和数据I/O;或者,用于提供访问的接口和协议,实现对应的SAS/SATA target协议端或者NVMe协议端,获取主机200发出的I/O指令并解码和生成内部私有数据结果等待执行;或者,用于负责FTL(Flashtranslation layer,闪存转换层)的核心处理。
接口125,连接主机200以及数据转换器121、处理器122以及缓存器123,用于接收主机200发送的数据,或者,接收所述处理器122发送的数据,实现主机200与处理器122之间的数据传输,所述接口125可以为SATA-2接口、SATA-3接口、SAS接口、MSATA接口、PCI-E接口、NGFF接口、CFast接口、SFF-8639接口和M.2NVME/SATA协议。
请再参阅图2,图2是本申请实施例提供的一种固态硬盘控制器的结构示意图;其中,该固态硬盘控制器属于上述的固态硬盘。
如图2所示,该固态硬盘控制器120,包括:PCIe接口控制器126、DDR控制器127、NVMe接口控制器128、处理器122、外设模块129、数据通路模块1210以及闪存控制器124。
具体的,所述PCIe接口控制器126,用于PCIe通信协议的控制,所述DDR控制器127,用于动态随机存储器的控制,所述NVMe接口控制器128用于NVMe通信协议的控制,所述外设模块129用于其他相关通信协议的控制,所述数据通路模块1210用于数据通路的控制,例如:写缓存的管理,所述闪存控制器124用于闪存的数据处理。
其中,该固态硬盘控制器120,还包括数据转换器121、缓存器123、接口125等。
具体的,所述数据转换器121,分别与处理器和闪存控制器连接,所述数据转换器用于将二进制数据转换为十六进制数据,以及将十六进制数据转换为二进制数据。具体地,当所述闪存控制器向所述闪存介质写入数据时,通过所述数据转换器将待写入的二进制数据转换为十六进制数据,然后再写入闪存介质。当所述闪存控制器从所述闪存介质读取数据时,通过所述数据转换器将闪存介质中存储的十六进制数据转换为二进制数据,然后从二进制数据页寄存器中读取转换后的数据。其中,所述数据转换器可以包括二进制数据寄存器和十六进制数据寄存器。所述二进制数据寄存器可以用于保存由十六进制转换为二进制后的数据,所述十六进制数据寄存器可以用于保存由二进制转换为十六进制后的数据。
具体的,所述处理器122,分别与数据转换器121、缓存器123、闪存控制器124以及接口125连接,其中,处理器与数据转换器、缓存器、闪存控制器以及接口可以通过总线或者其他方式连接,所述处理器用于运行存储在缓存器中的非易失性软件程序、指令以及模块,从而实现本申请任一方法实施例。
具体的,所述缓存器,主要用于缓存主机发送的读/写指令以及根据主机发送的读/写指令从闪存介质获取的读数据或者写数据。缓存器作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。缓存器可以包括存储程序区,存储程序区可存储操作系统、至少一个功能所需要的应用程序。此外,缓存器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,缓存器可选包括相对于处理器远程设置的存储器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。所述缓存器可以为静态随机存取存储器(Static Random AccessMemory,SRAM)或者耦合内存(Tightly Coupled Memory,TCM)或者双倍速率同步动态随机存储器(Double DataRateSynchronous Dynamic Random Access Memory,DDR SRAM)。
具体的,所述闪存控制器,与闪存介质、数据转换器、处理器以及缓存器连接,用于访问后端的闪存介质,管理闪存介质的各种参数和数据I/O;或者,用于提供访问的接口和协议,实现对应的SAS/SATA target协议端或者NVMe协议端,获取主机发出的I/O指令并解码和生成内部私有数据结果等待执行;或者,用于负责FTL(Flash translation layer,闪存转换层)的核心处理。
具体的,所述接口,连接主机以及数据转换器、处理器以及缓存器,用于接收主机发送的数据,或者,接收所述处理器发送的数据,实现主机与处理器之间的数据传输,所述接口可以为SATA-2接口、SATA-3接口、SAS接口、MSATA接口、PCI-E接口、NGFF接口、CFast接口、SFF-8639接口和M.2NVME/SATA协议。
可以理解的是,NANDFLASH具有写时擦的特性,也就是说,在将数据写入NAND颗粒前,需要先擦除物理块,每个块使用一个擦除次数,即EC值(EraseCount,EC)来衡量该块的磨损度,EC值越大说明被擦写次数越多,还可以使用ECGAP值来衡量SSD盘的整体磨损度,其中,ECGAP=maxEC-minEC),ECGAP值越小说明SSD盘的整体磨损度越趋向平稳,使用寿命越长。
由于系统无论是新写还是覆盖写,都是将数据写入被擦除后的空闲块中,所以长时间写数据总会遇到空闲块不足的情况,此时垃圾回收会选出垃圾最多的块,并将块上的有效数据搬移到其他空闲块中,这样就产生了ECGAP值。在不同业务模型下,ECGAP值会呈现不一样的变化趋势,假如所有数据的更新周期都一样,也即是没有冷热数据之分,每个块被回收的概率相差无几,EC GAP值会始终控制在一个很小的范围内。如果所有数据的更新周期不一样,就产生了冷热数据之分,而冷数据会导致块的EC值偏小,热数据会增大块垃圾率,导致块被回收的概率变大,从而使块的EC值变大,最终ECGAP值也就会慢慢变大。当ECGAP值超过一定阈值之后,就需要用到磨损均衡策略(WearLeveling,WL)来减小ECGAP值,而WL的关键就在于冷热数据分离,将热数据存储在EC值较小的块中,冷数据存储在EC值较大的块中。因此,如何高效准确地识别出冷热数据,是降低EC GAP值,改善SSD盘整体磨损度,延长SSD盘使用寿命的关键点。
基于现有的冷热数据的识别准确度低,本申请提供一种数据分离方法,以提高冷热数据的识别准确率。
请参阅图3,图3是本申请实施例提供的一种数据分离方法的流程示意图;
如图3所示,该数据分离方法,包括:
步骤S301:确定多个超级块,其中,每一超级块由每一分组中选择一个物理块组成,每一超级块对应一个块序列号;
具体的,请再参阅图4,图4是本申请实施例提供的一种固态硬盘中的超级块的示意图;
如图4所示,SSD系统将NAND颗粒切分成大小相等的若干个物理块,并均匀地分布在分组(PLANE)结构之中,假设SSD有N个PLANE,为了方便管理,系统会从每一个PLANE中选取一个物理块组成容量更大的超级块(Super Block,SBLK),将所有对块的操作(比如读写擦)转变为对超级块(SBLK)的操作,其中,每一超级块对应一个块序列号(S_VER),S_VER表示SBLK的块序列号。
在本申请实施例中,块序列号是根据超级块的使用的时间顺序来定义的。
可以理解的是,每一超级块中包括多个数量相同的物理块,而每一物理块为冷数据或热数据,因此,每一超级块均对应一个冷数据的数量(ColdDataCount,CDC)和一个热数据的数量(HotDataCount,HDC),也就是说,本申请中的每一超级块维护以下关键属性:
(1)块序列号(S_VER);
(2)冷数据的数量(Cold Data Count,CDC);
(3)热数据的数量(Hot Data Count,HDC)。
步骤S302:根据所述全局序列号、每一所述超级块的块序列号,确定每一所述超级块的冷热属性。
在本申请实施例中,SSD系统维护一个全局序列号(G_VER),该全局系列号用于表征固态硬盘中的超级块的更新次数。
可以理解的是,假如写入某一超级块中的数据全是热数据或者热数据居多,那么这些热数据会被很快地更新到其他超级块中,该超级块中的数据绝大部分变为无效数据,垃圾回收(Garbage Collection,GC)只需要做少量的有效数据搬移,甚至是不需要搬移,就可以加入空闲池被再次使用,因此该超级块的块序列号(S_VER)也会被频繁更新。
如果写入某一超级块中的全是冷数据或者冷数据居多,那么在GC过程中,该超级块被选中的概率大大减小,因此该超级块的块序列号(S_VER)会长时间不更新,而系统维护的G_VER会随着数据不断写入而被持续更新,S_VER和G_VER之间的差值会越来越大,因此块序列号(S_VER)可以被用于冷热数据识别。
在本申请实施例中,所述冷热属性包括冷属性、热属性;
若所述超级块的冷热属性为冷属性,则确定所述超级块中的每一物理块均为冷数据;
若所述超级块的冷热属性为热属性,则确定所述超级块中的每一物理块均为热数据。
在每一超级块的冷热属性被确定之后,每一超级块中的数据便可以继承所属的超级块的冷热属性,从而实现冷热分离,有利于提高冷热数据的识别准确率。
在本申请实施例中,由于需要利用全局序列号来确定每一超级块的冷热属性,因此,需要确定全局序列号的更新方式,具体的全局序列号的更新方法,包括:
当某一空闲超级块被选中,擦除该空闲超级块之后,更新该空闲超级块的块序列号为当前的全局序列号;之后,将当前的全局序列号进行递增。
具体的,当SSD系统需要写入数据时,其需要完成如下步骤:
(1)根据不同的业务场景选择不同的空闲超级块,例如:在新写数据或者GC搬移热数据时,选择最小擦除次数(minEC)的超级块;在GC搬移冷数据时选择最大擦除次数(maxEC)的超级块。
可以理解的是,为了减少系统垃圾回收造成的写放大,会选择有效数量最少的SBLK来搬移并释放SBLK。热数据表示更新频率高,变为垃圾的概率大;冷数据表示更新频率低,变为垃圾的概率小。因此热数据放到minEC的SBLK的目的是希望该SBLK的垃圾率变大,被垃圾回收的概率变大,该SBLK被回收之后又可以被重新使用,加快该SBLK的EC值增长;反之冷数据放maxEC的SBLK目的是希望降低该SBLK的EC值增长。这样就可以是EC GAP慢慢变小,达到磨损均衡的目的。
(2)假设步骤(1)选择的空闲超级块为SBLK_A,此时将当前的全局序列号(G_VER)作为SBLK_A的块序列号(S_VER),即S_VER=G_VER。在本申请实施例中,全局序列号(G_VER)和块序列号(S_VER)均为64位长整型。也就是说,系统每当选择一个空闲超级块时,将该空闲超级块的块序列号更新为全局序列号,即S_VER=G_VER;并且,在将该空闲超级块的块序列号更新为全局序列号之后,将当前的全局序列号进行递增,例如:G_VER自增长加1,即G_VER=G_VER+1。
(3)将该空闲超级块的冷热属性设置为默认的热属性,并将该空闲超级块的冷数据的数量(Cold Data Count,CDC)以及热数据的数量(Hot Data Count,HDC)重置清零,即令CDC=0且HDC=0。
(4)根据写入数据的特征,更新该空闲超级块的冷数据的数量(Cold Data Count,CDC)以及热数据的数量(Hot Data Count,HDC),具体的更新策略,请再参阅图5,图5是本申请实施例提供的一种冷数据、热数据的写入的示意图;
如图5所示,假设有三个超级块,分别为第一超级块(SBLK_1)、第二超级块(SBLK_2)以及第三超级块(SBLK_3),其中,第一超级块(SBLK_1)的冷热属性为冷属性(COLD),第二超级块(SBLK_2)的冷热属性为热属性(HOT),第三超级块(SBLK_3)为正在写入数据的超级块,系统默认该超级块的冷热属性为热属性;接下来,进行如下操作:
①、数据C原本存储在冷属性的第一超级块SBLK_1中,覆盖写数据C到第三超级块SBLK_3时,第三超级块SBLK_3的CDC加1;
②、数据F原本存储在热属性的第二超级块SBLK_2中,覆盖写数据F到第三超级块SBLK_3时,第三超级块SBLK_3的HDC加1,第二超级块SBLK_2的HDC减1;
③、新写数据G到第三超级块SBLK_3时,第三超级块SBLK_3的HDC直接加1;
(5)由于第一超级块(SBLK_1)、第二超级块(SBLK_2)以及第三超级块(SBLK_3)均发生了数据变动,因此,其冷热属性也可能随之变动。在本申请实施例中,热属性可以转换为冷属性,但冷属性不可逆转为热属性。具体的,如果第二超级块(SBLK_2)的块序列号满足第一转换条件,则将其热属性转换为冷属性,同理,第三超级块(SBLK_3)默认为热属性,其热属性可能转换为冷属性,但第一超级块(SBLK_1)是冷属性,其冷属性不可逆转为热属性;其中,所述第一转换条件包括:所述全局序列号与某一超级块的块序列号的差值大于所述固态硬盘中的有效超级块的数量与第一预设系数的乘积,即G_VER–S_VER>β*SBLK_AVA_CNT,其中,G_VER为全局序列号,S_VER为某一超级块的块序列号,β为第一预设系数,其为SSD系统预设的系数值,SBLK_AVA_CNT为固态硬盘中有效超级块的数量。
(6)进一步地,在每一超级块被写入新数据或者旧数据被覆盖之后,更新每一超级块的冷数据的数量、热数据的数量;并根据每一超级块的更新后的冷数据的数量、更新后的热数据的数量,确定每一所述超级块的冷热属性。
例如:在第二超级块(SBLK_2)被写入新数据或者旧数据被覆盖之后,若第二超级块(SBLK_2)的块序列号不满足第一转换条件,但是,更新后的冷数据的数量、更新后的热数据的数量满足第二转换条件,此时也将其热属性转换为冷属性,其中,所述第二转换条件为:冷数据的数量大于热数据的数量,即CDC>HDC。
(7)确定是否开启磨损均衡任务;
具体的,请再参阅图6,图6是本申请实施例提供的一种开启磨损均衡任务的示意图;
如图6所示,开启磨损均衡任务,包括:
步骤S601:确定多个超级块;
步骤S602:判断固态硬盘是否满足预设条件;
具体的,所述预设条件包括:
所述固态硬盘中的所有超级块的最大擦除次数与最小擦除次数的差值大于所述固态硬盘中的全部超级块的数量与第二预设系数的乘积,即,ECGAP>μ*SBLK_CNT,其中,ECGAP为固态硬盘中的所有超级块的最大擦除次数与最小擦除次数的差值,μ为第二预设系数,SBLK_CNT为固态硬盘中的全部超级块的数量。
在本申请实施例中,第二预设系数μ的值可以根据SSD系统的要求来设置,例如:设置μ=0.5(0.1<μ<1)。
具体的,所述方法还包括:根据IO模型,动态调整第二预设系数的大小,其中,所述IO模型包括读多写少型和读少写多型,即在次数上,读取数据多于写入数据和写入数据多于读取数据,如果IO模型是读多写少,μ可以适当调低;如果是读少写多,μ可以适当调高,通过动态调整第二预设系数的大小,本申请能够实现在延长SSD使用寿命的同时,尽量减少写放大。
在本申请实施例中,第一预设系数β和第二预设系数μ成负相关,例如:β=1/μ,如果μ越小,可以认为系统写入量越小,数据的属性多趋向于冷属性,此时系统做磨损均衡任务(WL)时,往minEC的SBLK中搬移更利于EC GAP的收敛,因此需要一个较大的值做为冷属性的判定门限;反之,如果μ越大,可以认为系统写入量越大,数据的属性会趋向于热属性,就可以使用一个较小的冷属性判定门限值,即第一预设系数β。
若判断固态硬盘足预设条件,则进入步骤S603:开启磨损均衡任务;若判断固态硬盘不满足预设条件,则进入步骤S606:不开启磨损均衡任务;
步骤S603:开启磨损均衡任务;
具体的,若所述固态硬盘满足预设条件,则开启磨损均衡任务(WearLeveling,WL)。
步骤S604:选择目标超级块,其中,所述目标超级块已经被写满且所述目标超级块的擦除次数最小;
可以理解的是,磨损均衡任务WL的目的是缩小所有SBLK之间的EC GAP,达到磨损均衡的效果,因此选择需要搬移的目标对象是已经写满且EC值最小的SBLK,其目的是为了释放它,并被重新使用,以增加其EC,缩短与maxEC的差距。
步骤S605:根据所述目标超级块的冷热属性,确定目标搬移位置,将所述目标超级块中的数据搬移到所述目标搬移位置;
具体的,在数据持续写入过程中,系统已经确定了SBLK的冷热属性,所以WL的目标对象选择成功后,需要根据目标SBLK的冷热属性来决定数据的去向:如果目标SBLK是冷属性,数据搬移到maxEC的空闲SBLK中;如果目标SBLK是热属性,数据搬移到minEC的空闲SBLK中;
请再参阅图7,图7是图6中的步骤S605的细化流程示意图;
如图7所示,该步骤S605,包括:
步骤S6051:获取目标超级块的冷热属性;
具体的,SSD系统中包括一个内存空间,所述内存空间用于保存全局序列号、每一超级块的时间序列、冷数据的数量、热数据的数量等属性,在数据持续写入过程中,系统可以通过内存空间直接获取目标超级块的冷热属性。
在本申请实施例中,通过利用SSD系统的内存空间,可以实现只需要极少量内存空间来保存超级块的块序列号、冷热数据统计等属性,并且,本申请不需要数据访问都去更新冷热标记,对SSD盘性能的影响较小,有利于提高固态硬盘的速度。
步骤S6052:判断目标超级块的冷热属性是否为冷属性;
具体的,若目标超级块的冷热属性为冷属性,则进入步骤S6053:确定目标搬移位置为擦除次数最大的空闲超级块;
具体的,若目标超级块的冷热属性为热属性,则进入步骤S6055:确定目标搬移位置为擦除次数最小的空闲超级块;
步骤S6053:确定目标搬移位置为擦除次数最大的空闲超级块;
步骤S6054:将所述目标超级块中的数据搬移到擦除次数最大的空闲超级块;
可以理解的是,被搬移的是目标超级块中的有效数据,即,将所述目标超级块中的有效数据搬移到擦除次数最大的空闲超级块;
步骤S6055:确定目标搬移位置为擦除次数最小的空闲超级块;
步骤S6056:将所述目标超级块中的数据搬移到擦除次数最小的空闲超级块;
同样,被搬移的是目标超级块中的有效数据,即,将所述目标超级块中的有效数据搬移到擦除次数最小的空闲超级块;
步骤S606:不开启磨损均衡任务;
具体的,若所述固态硬盘不满足预设条件,则不开启磨损均衡任务(WearLeveling,WL)。
在本申请实施例中,所述方法还包括:
在目标超级块搬移完成之后,循环判断是否开启磨损均衡任务,直至固态硬盘不满足预设条件,所述预设条件为所述固态硬盘中的所有超级块的最大擦除次数与最小擦除次数的差值大于所述固态硬盘中的全部超级块的数量与第二预设系数的乘积,即,ECGAP>μ*SBLK_CNT,其中,ECGAP为固态硬盘中的所有超级块的最大擦除次数与最小擦除次数的差值,μ为第二预设系数,SBLK_CNT为固态硬盘中的全部超级块的数量;也就是说,当ECGAP<μ*SBLK_CNT之后,停止磨损均衡任务。
本申请实施例通过提出每一超级块的块序列号和冷热数据统计等属性,在系统数据持续写入过程中,快速更新并确定超级块的冷热属性;然后提出数据可继承所属超级块的冷热属性,也就是冷属性的超级块中数据全部看做冷数据,热属性的超级块中数据全部看做热数据。最后在磨损均衡过程中,根据超级块的冷热属性确定数据搬移的策略,即冷属性的超级块中的数据搬移至maxEC的空闲SBLK中;热属性SBLK中的数据搬移至minEC的空闲SBLK中,能够基于超级块时间序列和冷热数据统计确定超级块的冷热属性,数据继承所属超级块的冷热属性最终实现冷热数据分离,有利于提高冷热数据的识别准确率,进而改善固态硬盘的整体磨损度,提高固态硬盘的使用寿命。
在本申请实施例中,通过提供一种数据分离方法,应用于固态硬盘,所述固态硬盘包括多个分组,每一分组包括多个物理块,所述固态硬盘维护一个全局序列号,所述方法包括:确定多个超级块,其中,每一超级块由每一分组中选择一个物理块组成,每一超级块对应一个块序列号;根据所述全局序列号、每一所述超级块的块序列号,确定每一所述超级块的冷热属性。通过维护一个全局序列号,基于全局序列号与每一超级块的块序列号,确定每一超级块的冷热属性,本申请能够提高冷热数据的识别准确率,进而改善固态硬盘的整体磨损度,提高固态硬盘的使用寿命。
本申请实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如上述一个或多个处理器可执行上述任意方法实施例中的数据分离方法,例如,执行上述任意方法实施例中的数据分离方法,例如,执行以上描述的各个步骤。
以上所描述的装置或设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用直至得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (11)

1.一种数据分离方法,应用于固态硬盘,其特征在于,所述固态硬盘包括多个分组,每一分组包括多个物理块,所述固态硬盘维护一个全局序列号,所述方法包括:
确定多个超级块,其中,每一超级块由每一分组中选择一个物理块组成,每一超级块对应一个块序列号;
根据所述全局序列号、每一所述超级块的块序列号,确定每一所述超级块的冷热属性。
2.根据权利要求1所述的方法,其特征在于,所述冷热属性包括冷属性、热属性;
若所述超级块的冷热属性为冷属性,则确定所述超级块中的每一物理块均为冷数据;
若所述超级块的冷热属性为热属性,则确定所述超级块中的每一物理块均为热数据。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
当某一空闲超级块被选中,擦除该空闲超级块之后,更新该空闲超级块的块序列号为当前的全局序列号;
将当前的全局序列号进行递增。
4.根据权利要求3所述的方法,其特征在于,所述根据所述全局序列号、每一所述超级块的块序列号,确定每一所述超级块的冷热属性,包括:
若所述全局序列号与某一超级块的块序列号的差值大于所述固态硬盘中的有效超级块的数量与第一预设系数的乘积,则确定该超级块的冷热属性为冷属性。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在每一超级块被写入新数据或者旧数据被覆盖之后,更新每一超级块的冷数据的数量、热数据的数量;
根据每一超级块的更新后的冷数据的数量、更新后的热数据的数量,确定每一所述超级块的冷热属性。
6.根据权利要求5所述的方法,其特征在于,所述根据每一超级块的更新后的冷数据的数量、更新后的热数据的数量,确定每一所述超级块的冷热属性,包括:
若某一超级块的冷热属性为热属性,在更新该超级块的冷数据的数量、热数据的数量之后,若更新后的冷数据的数量大于更新后的热数据的数量,则将该超级块的冷热属性由热属性转变为冷属性。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述固态硬盘满足预设条件,则开启磨损均衡任务,所述磨损均衡任务,包括:
选择目标超级块,其中,所述目标超级块已经被写满且所述目标超级块的擦除次数最小;
根据所述目标超级块的冷热属性,确定目标搬移位置,将所述目标超级块中的数据搬移到所述目标搬移位置。
8.根据权利要求7所述的方法,其特征在于,所述预设条件包括:
所述固态硬盘中的所有超级块的最大擦除次数与最小擦除次数的差值大于所述固态硬盘中的全部超级块的数量与第二预设系数的乘积。
9.根据权利要求7或8所述的方法,其特征在于,所述根据所述目标超级块的冷热属性,确定目标搬移位置,包括:
若所述目标超级块的冷热属性为冷属性,则确定目标搬移位置为擦除次数最大的空闲超级块;
若所述目标超级块的冷热属性为热属性,则确定目标搬移位置为擦除次数最小的空闲超级块。
10.根据权利要求1所述的方法,其特征在于,
若某一超级块被垃圾回收变为空闲超级块之后,将该空闲超级块的冷热属性设置为热属性。
11.一种固态硬盘,其特征在于,所述固态硬盘包括:
闪存介质;
固态硬盘控制器,与所述闪存介质连接,所述固态硬盘控制器包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-10任一项所述的数据处理方法。
CN202110604669.1A 2021-05-31 2021-05-31 数据分离方法及固态硬盘 Active CN113467713B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110604669.1A CN113467713B (zh) 2021-05-31 2021-05-31 数据分离方法及固态硬盘

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110604669.1A CN113467713B (zh) 2021-05-31 2021-05-31 数据分离方法及固态硬盘

Publications (2)

Publication Number Publication Date
CN113467713A true CN113467713A (zh) 2021-10-01
CN113467713B CN113467713B (zh) 2023-12-01

Family

ID=77872005

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110604669.1A Active CN113467713B (zh) 2021-05-31 2021-05-31 数据分离方法及固态硬盘

Country Status (1)

Country Link
CN (1) CN113467713B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114415949A (zh) * 2021-12-31 2022-04-29 山东云海国创云计算装备产业创新中心有限公司 扫描回收block方法、系统、存储介质及设备
CN117472590A (zh) * 2023-12-27 2024-01-30 苏州元脑智能科技有限公司 存储调度方法、组件、存储装置、计算机设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110264843A1 (en) * 2010-04-22 2011-10-27 Seagate Technology Llc Data segregation in a storage device
CN105447059A (zh) * 2014-09-29 2016-03-30 华为技术有限公司 一种数据处理方法及装置
CN109542358A (zh) * 2018-12-03 2019-03-29 浪潮电子信息产业股份有限公司 一种固态硬盘冷热数据分离方法、装置及设备
US20190205040A1 (en) * 2018-01-04 2019-07-04 Via Technologies, Inc. Storage devices and data retention methods thereof
CN110515550A (zh) * 2019-08-21 2019-11-29 深圳忆联信息系统有限公司 一种sata固态硬盘冷热数据分离的方法及其装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110264843A1 (en) * 2010-04-22 2011-10-27 Seagate Technology Llc Data segregation in a storage device
CN105447059A (zh) * 2014-09-29 2016-03-30 华为技术有限公司 一种数据处理方法及装置
US20190205040A1 (en) * 2018-01-04 2019-07-04 Via Technologies, Inc. Storage devices and data retention methods thereof
CN109542358A (zh) * 2018-12-03 2019-03-29 浪潮电子信息产业股份有限公司 一种固态硬盘冷热数据分离方法、装置及设备
CN110515550A (zh) * 2019-08-21 2019-11-29 深圳忆联信息系统有限公司 一种sata固态硬盘冷热数据分离的方法及其装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114415949A (zh) * 2021-12-31 2022-04-29 山东云海国创云计算装备产业创新中心有限公司 扫描回收block方法、系统、存储介质及设备
CN114415949B (zh) * 2021-12-31 2024-03-01 山东云海国创云计算装备产业创新中心有限公司 扫描回收block方法、系统、存储介质及设备
CN117472590A (zh) * 2023-12-27 2024-01-30 苏州元脑智能科技有限公司 存储调度方法、组件、存储装置、计算机设备及介质
CN117472590B (zh) * 2023-12-27 2024-03-19 苏州元脑智能科技有限公司 存储调度方法、组件、存储装置、计算机设备及介质

Also Published As

Publication number Publication date
CN113467713B (zh) 2023-12-01

Similar Documents

Publication Publication Date Title
US11880602B2 (en) Data writing method and storage device
US11704239B2 (en) Garbage collection method for storage medium, storage medium, and program product
US9384123B2 (en) Memory system
JP5418808B2 (ja) 適応ハイブリッド密度メモリ記憶装置の制御方法、及び適応ハイブリッド密度メモリ記憶装置
US8738882B2 (en) Pre-organization of data
US9696934B2 (en) Hybrid solid state drive (SSD) using PCM or other high performance solid-state memory
WO2016107442A1 (zh) 将数据写入固态硬盘的方法及固态硬盘
CN112506438B (zh) 一种映射表管理方法及固态硬盘
WO2017152392A1 (zh) 一种闪存设备的刷新方法和装置
US10310766B2 (en) Memory system and data relocating method
US10360155B1 (en) Multi-tier memory management
US10223027B2 (en) Optimized garbage collection for solid-state storage devices
CN113093993B (zh) 一种闪存空间动态分配方法及固态硬盘
US20200110555A1 (en) Write control method, associated data storage device and controller thereof
CN110955384A (zh) 数据储存装置以及非挥发式存储器控制方法
CN113467713B (zh) 数据分离方法及固态硬盘
US20170285961A1 (en) 3d stackable hybrid phase change memory with improved endurance and non-volatility
CN113655955A (zh) 缓存管理方法、固态硬盘控制器及固态硬盘
CN112130749B (zh) 数据储存装置以及非挥发式存储器控制方法
US11010290B2 (en) Method for reading management information according to updating data reflecting both of host write and data merge, memory storage device and memory control circuit unit
CN115203085A (zh) 用于存储装置的超小区域支持
CN113590505A (zh) 地址映射方法、固态硬盘控制器及固态硬盘
US10346040B2 (en) Data merging management method based on data type, memory storage device and memory control circuit unit
US11036414B2 (en) Data storage device and control method for non-volatile memory with high-efficiency garbage collection
KR20220052353A (ko) 조정된 파라미터를 사용한 메모리 컴포넌트의 가비지 수집

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