CN107102819A - 向固态硬盘写入数据的方法及设备 - Google Patents
向固态硬盘写入数据的方法及设备 Download PDFInfo
- Publication number
- CN107102819A CN107102819A CN201710192604.4A CN201710192604A CN107102819A CN 107102819 A CN107102819 A CN 107102819A CN 201710192604 A CN201710192604 A CN 201710192604A CN 107102819 A CN107102819 A CN 107102819A
- Authority
- CN
- China
- Prior art keywords
- data
- written
- life cycle
- solid state
- hard disc
- 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
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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
- G06F3/0649—Lifecycle management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供一种向固态硬盘写入数据的方法及设备。所述方法包括:(A)确定待写入数据的生命周期信息;(B)根据待写入数据的生命周期信息确定待写入数据所属的生命周期组;(C)根据待写入数据所属的生命周期组将待写入数据写入固态硬盘。根据本发明的方法及设备,使得在对固态硬盘进行垃圾回收时能够有效减少对有效数据的搬移,从而提高固态硬盘的性能、延长固态硬盘的使用寿命。
Description
本申请是向中国知识产权局提交的申请日为2014年12月12日、申请号为201410768099.X、发明名称为“向固态硬盘写入数据的方法及设备”的申请的分案申请。
技术领域
本发明涉及数据存储领域,更具体地讲,涉及一种向固态硬盘写入数据的方法及设备。
背景技术
固态硬盘(SSD)由控制单元和存储单元(例如,FLASH芯片)两部分组成。控制单元负责读取、写入数据,存储单元负责存储数据。由于固态硬盘没有普通硬盘的机械结构,因而存储系统能够在较低的时间内对任意位置的存储单元完成I/O(输入/输出)操作。
SSD的相关技术包括闪存转换层、磨损平衡、垃圾回收、预留空间、Trim指令、写入放大、坏块管理及校验纠错等。其中,垃圾回收是SSD的一个重要功能,是将所有区块中的有效数据合并到新的区块中,并将旧的区块进行擦除,这样做的好处一方面能够减少寻址负担,另一方面能够留出更多的空闲区块。
然而,在对固态硬盘进行垃圾回收时,由于一个区块上同时存在无效数据和有效数据,需要将有效数据进行搬移,而大量有效数据的搬移,会导致SSD的磨损、SSD性能的下降。
发明内容
本发明的示例性实施例在于提供一种向固态硬盘写入数据的方法及设备,使得在对固态硬盘进行垃圾回收时能够有效减少对有效数据的搬移。
根据本发明的一方面,提供一种向固态硬盘写入数据的方法,包括:(A)确定待写入数据的生命周期信息;(B)根据待写入数据的生命周期信息确定待写入数据所属的生命周期组;(C)根据待写入数据所属的生命周期组将待写入数据写入固态硬盘。
可选地,在固态硬盘中为各个生命周期组分别划分对应的区块,其中,步骤(C)包括:将待写入数据写入固态硬盘中与待写入数据所属的生命周期组对应的区块。
可选地,步骤(C)包括:当存在多个待写入数据时,使得属于相同生命周期组的待写入数据被相继地依次写入固态硬盘。
可选地,步骤(C)包括:(C1)判断待写入数据所属的生命周期组与固态硬盘中的当前待写入区块内已被写入的数据所属的生命周期组是否相同;(C2)当待写入数据所属的生命周期组与当前待写入区块内已被写入的数据所属的生命周期组相同时,将待写入数据从当前待写入区块的待写入位置开始写入固态硬盘;(C3)当待写入数据所属的生命周期组与当前待写入区块内已被写入的数据所属的生命周期组不同时,使得待写入数据处于暂缓写入状态。
可选地,步骤(C)还包括:在步骤(C3)之后,检测当前是否有新的待写入数据等待写入固态硬盘,其中,当当前有新的待写入数据等待写入固态硬盘时,针对该新的待写入数据返回执行步骤(A);当当前没有新的待写入数据等待写入固态硬盘时,将所有处于暂缓状态的待写入数据从当前待写入区块的待写入位置开始写入固态硬盘。
可选地,在将所有处于暂缓状态的待写入数据从当前待写入区块的待写入位置开始写入固态硬盘的过程中,使得所有处于暂缓状态的待写入数据中属于相同生命周期组的待写入数据被相继地依次写入固态硬盘。
可选地,待写入数据是文件的形式,其中,步骤(C)还包括:检测当前是否正在向固态硬盘写入数据,其中,当当前没有向固态硬盘写入数据时,执行步骤(C1)。
可选地,待写入数据的生命周期信息指示待写入数据的生命周期长度或删除时间。
可选地,删除时间位于同一垃圾回收周期的待写入数据属于相同的生命周期组。
可选地,具有相同和/或相似的生命周期信息的待写入数据属于相同的生命周期组。
根据本发明的另一方面,提供一种向固态硬盘写入数据的设备,包括:生命周期信息确定单元,确定待写入数据的生命周期信息;生命周期组确定单元,根据待写入数据的生命周期信息确定待写入数据所属的生命周期组;数据写入单元,根据待写入数据所属的生命周期组将待写入数据写入固态硬盘。
可选地,在固态硬盘中为各个生命周期组分别划分对应的区块,其中,数据写入单元将待写入数据写入固态硬盘中与待写入数据所属的生命周期组对应的区块。
可选地,当存在多个待写入数据时,数据写入单元使得属于相同生命周期组的待写入数据被相继地依次写入固态硬盘。
可选地,数据写入单元包括:判断单元,判断待写入数据所属的生命周期组与固态硬盘中的当前待写入区块内已被写入的数据所属的生命周期组是否相同;写入单元,当待写入数据所属的生命周期组与当前待写入区块内已被写入的数据所属的生命周期组相同时,将待写入数据从当前待写入区块的待写入位置开始写入固态硬盘;暂缓单元,当待写入数据所属的生命周期组与当前待写入区块内已被写入的数据所属的生命周期组不同时,使得待写入数据处于暂缓写入状态。
可选地,数据写入单元还包括:第一检测单元,在使得待写入数据处于暂缓写入状态之后,检测当前是否有新的待写入数据等待写入固态硬盘,其中,当当前有新的待写入数据等待写入固态硬盘时,生命周期信息确定单元确定该新的待写入数据的生命周期信息;当当前没有新的待写入数据等待写入固态硬盘时,写入单元将所有处于暂缓状态的待写入数据从当前待写入区块的待写入位置开始写入固态硬盘。
可选地,写入单元在将所有处于暂缓状态的待写入数据从当前待写入区块的待写入位置开始写入固态硬盘的过程中,使得所有处于暂缓状态的待写入数据中属于相同生命周期组的待写入数据被相继地依次写入固态硬盘。
可选地,待写入数据是文件的形式,其中,数据写入单元还包括:第二检测单元,检测当前是否正在向固态硬盘写入数据,其中,当当前没有向固态硬盘写入数据时,判断单元判断待写入数据所属的生命周期组与固态硬盘中的当前待写入区块内已被写入的数据所属的生命周期组是否相同。
可选地,待写入数据的生命周期信息指示待写入数据的生命周期长度或删除时间。
可选地,删除时间位于同一垃圾回收周期的待写入数据属于相同的生命周期组。
可选地,具有相同和/或相似的生命周期信息的待写入数据属于相同的生命周期组。
根据本发明示例性实施例的向固态硬盘写入数据的方法及设备,可以将具有相同或相似的生命周期长度或删除时间的数据写入固态硬盘中的同一区块内,使得在对固态硬盘进行垃圾回收时能够有效减少需要搬移的有效数据,从而提高固态硬盘的性能、延长固态硬盘的使用寿命。
将在接下来的描述中部分阐述本发明总体构思另外的方面和/或优点,还有一部分通过描述将是清楚的,或者可以经过本发明总体构思的实施而得知。
附图说明
通过下面结合示例性地示出实施例的附图进行的描述,本发明示例性实施例的上述和其他目的和特点将会变得更加清楚,其中:
图1示出根据本发明示例性实施例的向固态硬盘写入数据的方法的流程图;
图2示出根据本发明的一个优选示例性实施例的将待写入数据写入固态硬盘的方法的流程图;
图3示出根据本发明示例性实施例的向固态硬盘写入数据的设备的框图;
图4示出根据本发明的一个优选示例性实施例的数据写入单元的框图。
具体实施方式
现将详细参照本发明的实施例,所述实施例的示例在附图中示出,其中,相同的标号始终指的是相同的部件。以下将通过参照附图来说明所述实施例,以便解释本发明。
图1示出根据本发明示例性实施例的向固态硬盘写入数据的方法的流程图。
如图1所示,在步骤S10,确定待写入数据的生命周期信息。这里,待写入数据可以以各种数据单位的形式存在,例如,文件、字段、字节、比特以及其他的具有各种数据结构的数据。本发明对待写入数据的具体单位不做限定。生命周期信息是能够指示数据的生命周期长度(即,存储时间长度)或删除时间的信息。在一个实施例中,生命周期信息指示数据的存储时间长度。在一个优选实施例中,生命周期信息指示数据的删除时间。可以根据数据的特性来确定数据的生命周期信息。
例如,对于一些应用或系统,可能需要周期性地对一些数据进行更新或删除。因此,可以定量地确定出这些数据的生命周期信息。
此外,也可以根据数据在固态硬盘中的逻辑存储单位来确定数据的生命周期信息。例如,当逻辑存储单位是文件时,属于同一文件内的数据具有相同的生命周期信息,如果两数据所属的文件是同一文件,则可确定两数据的生命周期信息相同。
此外,对数据的生命周期信息与数据的属性(例如,类型、用途、来源等)的各种组合的关系进行统计或者训练,从而也可以利用数据的属性定性地确定出数据的生命周期信息。这在一些固态硬盘的使用场景较为固定或重复的情况下,较为容易实现。
应该理解,可以通过各种方式来获取数据的生命周期信息,本发明对此不做限制。
在一个示例中,可利用RocksDB系统中数据的层信息作为数据的生命周期信息。在RocksDB系统中,在进行层压缩(level compaction)时,是通过将相邻两层的数据进行合并来实现的,由于合并时涉及到对本层大部分数据的操作,因此,同一层内的数据具有相同或相似的生命周期。通过对数据的生成时间和删除时间的统计,得到每一层所存储的数据大部分具有相同或相似的删除时间。因此,如果两数据的用于指示数据所属的层的信息相同,则可确定两数据具有相同或相似的删除时间。
在另一示例中,可利用Cassandra系统中数据的数据类型作为数据的生命周期信息。在Cassandra系统中,大部分数据属于以下三种数据类型中的一种:元数据、日志文件和SST文件。其中,元数据更新频繁,每次数据库操作都可能对其进行更改,因此,元数据的生命周期较短。日志文件是为了数据库的可靠性而存在的,在数据通过存储系统定时从内存固化到固态硬盘后即可删除,因此,日志文件中的数据的生命周期中等。SST文件用于放置真正的数据,因此,SST文件的生命周期较长。
在另一示例中,可利用指示数据所指示的对象的信息作为数据的生命周期信息。由于数据所指示的对象一般与数据的生命周期长度或删除时间相应,因此,可根据数据所指示的对象来获知数据的生命周期信息。例如,在用于游戏管理系统的存储系统中,如果数据所指示的对象是用户ID、用户注册信息等,一旦创建就不会再更新,则指示该对象的数据的生命周期较长;如果数据所指示的对象是游戏玩家的经验或金钱等,由于该数据与每次游戏操作相关,更新频繁,则指示该对象的数据生命周期较短;如果数据所指示的对象是用户的排名等,该数据需要按小时或天进行更新,则指示该对象的数据生命周期中等。
在另一示例中,可利用指示数据的来源的信息作为数据的生命周期信息,即,可通过数据的来源来获知数据的生命周期信息。例如,在云存储系统中,根据数据的来源可将数据分为用户上传的数据和内部管理的数据。内部管理的数据(例如,包括索引、分布路径等)跟所有用户的操作相关,更新频繁,因此,生命周期较短。而用户上传的数据,只和该用户相关,修改频率较低,可认为生命周期较长。或者,可按照用户的操作习惯来预测各用户所存的数据的生命周期,例如,如果用户习惯将数据上传后长时间不对其进行修改等操作,则可预测该用户所上传的所有数据的生命周期都较长;而如果用户习惯将数据上传后时常对其进行修改、删除等操作,则可预测该用户所上传的所有数据的生命周期都较短。
此外,应该理解,其他的能够用来指示数据的生命周期长度或删除时间的信息均可作为数据的生命周期信息,对此不做限制。
在步骤S20,根据待写入数据的生命周期信息确定待写入数据所属的生命周期组。
这里,具有相同和/或相似的生命周期信息的数据属于相同的生命周期组。
例如,当生命周期信息是RocksDB系统中数据的层信息时,具有相同的层信息的数据属于同一生命周期组。当生命周期信息是Cassandra系统中数据的数据类型时,具有相同的数据类型的数据属于同一生命周期组。当生命周期信息是指示数据所指示的对象的信息时,指示相同的对象的数据属于同一生命周期组。当生命周期信息是数据的来源时,具有相同的来源的数据属于同一生命周期组。
此外,当生命周期信息指示删除时间时,删除时间位于同一垃圾回收周期的数据属于相同的生命周期组。
在步骤S30,根据待写入数据所属的生命周期组将待写入数据写入固态硬盘。即,通过考虑待写入数据所属的生命周期组来确定如何将待写入数据写入固态硬盘。
在一个示例中,可预先在固态硬盘中为各个生命周期组分别划分对应的区块,在执行步骤S30时,可将待写入数据写入固态硬盘中与待写入数据所属的生命周期组对应的区块。即,可通过预先设置,使固态硬盘的各个区块分别与一个生命周期组相对应,在写入数据时即可将属于某一生命周期组的数据写入与该组对应的区块,从而保证了同一区块内所存储的数据都属于相同的生命周期组,即,同一区块内所存储的数据具有相同或相近的生命周期长度和/或删除时间。
在另一示例中,当存在多个待写入数据时,可使得属于相同生命周期组的待写入数据被相继地依次写入固态硬盘,以尽量保证属于相同生命组的数据被写到同一区块内。换言之,在进行写入时,使得属于相同生命周期组的数据被排列在一起顺序写入。
例如,可根据数据所属的生命周期组对多个待写入数据进行排序(例如,可先对属于第一生命周期组的数据排序,接下来对属于第二生命组的数据排序,最后对属于第三生命周期组的数据排序),并按照排序将待写入的数据相继地依次写入固态硬盘。
图2示出根据本发明的一个优选示例性实施例的将待写入数据写入固态硬盘的方法的流程图。
如图2所示,在步骤S301,判断待写入数据所属的生命周期组与固态硬盘中的当前待写入区块内已被写入的数据所属的生命周期组是否相同。
例如,可根据当前待写入区块内最后被写入的数据所属的生命周期组确定当前待写入区块内已被写入的数据所属的生命周期组。也可根据当前待写入区块内大部分被写入的数据所属的生命周期组确定当前待写入区块内已被写入的数据所属的生命周期组。
在步骤S302,当待写入数据所属的生命周期组与当前待写入区块内已被写入的数据所属的生命周期组相同时,将待写入数据从当前待写入区块的待写入位置开始写入固态硬盘。以尽量保证属于相同生命组的数据被写到同一区块内。
在步骤S303,当待写入数据所属的生命周期组与当前待写入区块内已被写入的数据所属的生命周期组不同时,使得待写入数据处于暂缓写入状态。即,由于待写入数据所属的生命周期组与当前待写入区块内已被写入的数据所属的生命周期组不同,暂不写入该待写入数据。
在一个示例中,在步骤S303之后,可检测当前是否有新的待写入数据等待写入固态硬盘,其中,当当前有新的待写入数据等待写入固态硬盘时,针对该新的待写入数据返回执行步骤S10;当当前没有新的待写入数据等待写入固态硬盘时,将所有处于暂缓状态的待写入数据从当前待写入区块的待写入位置开始写入固态硬盘。具体说来,如果当前有新的待写入数据等待写入固态硬盘,则针对该新的待写入数据返回执行步骤S10-S30,如果当前没有新的待写入数据等待写入固态硬盘,则只能将处于暂缓状态的待写入数据从当前待写入区块的待写入位置开始写入固态硬盘。
优选地,在将所有处于暂缓状态的待写入数据从当前待写入区块的待写入位置开始写入固态硬盘的过程中,使得所有处于暂缓状态的待写入数据中属于相同生命周期组的待写入数据被相继地依次写入固态硬盘。尽量保证属于相同生命组的数据被相邻地保存在固态硬盘中,以尽可能让同一区块内的数据的生命周期长度或删除时间相同或相似。
此外,根据本发明的一个优选示例性实施例的将待写入数据写入固态硬盘的方法还可包括:当待写入数据是文件的形式时,检测当前是否正在向固态硬盘写入数据,其中,当当前没有向固态硬盘写入数据时,执行步骤S301,当当前正在向固态硬盘写入数据时,则待数据写完之后再执行步骤S301。即,只有当当前没有在向固态硬盘写入数据时,才执行步骤S301,从而保证同一文件内的数据被连续地存入固态硬盘中连续的存储位置。由于同一文件内的数据具有相同或相似的生命周期长度或删除时间,从而尽可能地使得同一区块内的数据具有相同或相似的生命周期长度或删除时间。
根据待写入数据所属的生命周期组将待写入数据相应地写入固态硬盘,能够保证固态硬盘中各区块内所写入的数据属于同一生命周期组,由于属于同一生命周期组的数据具有相同和/或相似的生命周期长度或删除时间,从而尽可能使固态硬盘的各区块内的数据具有相同和/或相似的生命周期长度或删除时间。因此,在对固态硬盘进行垃圾回收时能够有效减少需要搬移的有效数据,以减少对固态硬盘的磨损,延长固态硬盘的使用寿命;提高固态硬盘的性能。
图3示出根据本发明示例性实施例的向固态硬盘写入数据的设备的框图。
如图3所示,根据本发明示例性实施例的向固态硬盘写入数据的设备包括:生命周期信息确定单元10、生命周期组确定单元20和数据写入单元30。
具体说来,生命周期信息确定单元10用于确定待写入数据的生命周期信息。这里,待写入数据可以以各种数据单位的形式存在,例如,文件、字段、字节、比特以及其他的具有各种数据结构的数据。本发明对待写入数据的具体单位不做限定。生命周期信息是能够指示数据的生命周期长度(即,存储时间长度)或删除时间的信息。在一个实施例中,生命周期信息指示数据的存储时间长度。在一个优选实施例中,生命周期信息指示数据的删除时间。可以根据数据的特性来确定数据的生命周期信息。
例如,对于一些应用或系统,可能需要周期性地对一些数据进行更新或删除。因此,可以定量地确定出这些数据的生命周期信息。
此外,也可以根据数据在固态硬盘中的逻辑存储单位来确定数据的生命周期信息。例如,当逻辑存储单位是文件时,属于同一文件内的数据具有相同的生命周期信息,如果两数据所属的文件是同一文件,则可确定两数据的生命周期信息相同。
此外,对数据的生命周期信息与数据的属性(例如,类型、用途、来源等)的各种组合的关系进行统计或者训练,从而也可以利用数据的属性定性地确定出数据的生命周期信息。这在一些固态硬盘的使用场景较为固定或重复的情况下,较为容易实现。
应该理解,可以通过各种方式来获取数据的生命周期信息,本发明对此不做限制。
在一个示例中,可利用RocksDB系统中数据的层信息作为数据的生命周期信息。在RocksDB系统中,在进行层压缩(level compaction)时,是通过将相邻两层的数据进行合并来实现的,由于合并时涉及到对本层大部分数据的操作,因此,同一层内的数据具有相同或相似的生命周期。通过对数据的生成时间和删除时间的统计,得到每一层所存储的数据大部分具有相同或相似的删除时间。因此,如果两数据的用于指示数据所属的层的信息相同,则可确定两数据具有相同或相似的删除时间。
在另一示例中,可利用Cassandra系统中数据的数据类型作为数据的生命周期信息。在Cassandra系统中,大部分数据属于以下三种数据类型中的一种:元数据、日志文件和SST文件。其中,元数据更新频繁,每次数据库操作都可能对其进行更改,因此,元数据的生命周期较短。日志文件是为了数据库的可靠性而存在的,在数据通过存储系统定时从内存固化到固态硬盘后即可删除,因此,日志文件中的数据的生命周期中等。SST文件用于放置真正的数据,因此,SST文件的生命周期较长。
在另一示例中,可利用指示数据所指示的对象的信息作为数据的生命周期信息。由于数据所指示的对象一般与数据的生命周期长度或删除时间相应,因此,可根据数据所指示的对象来获知数据的生命周期信息。例如,在用于游戏管理系统的存储系统中,如果数据所指示的对象是用户ID、用户注册信息等,一旦创建就不会再更新,则指示该对象的数据的生命周期较长;如果数据所指示的对象是游戏玩家的经验或金钱等,由于该数据与每次游戏操作相关,更新频繁,则指示该对象的数据生命周期较短;如果数据所指示的对象是用户的排名等,该数据需要按小时或天进行更新,则指示该对象的数据生命周期中等。
在另一示例中,可利用指示数据的来源的信息作为数据的生命周期信息,即,可通过数据的来源来获知数据的生命周期信息。例如,在云存储系统中,根据数据的来源可将数据分为用户上传的数据和内部管理的数据。内部管理的数据(例如,包括索引、分布路径等)跟所有用户的操作相关,更新频繁,因此,生命周期较短。而用户上传的数据,只和该用户相关,修改频率较低,可认为生命周期较长。或者,可按照用户的操作习惯来预测各用户所存的数据的生命周期,例如,如果用户习惯将数据上传后长时间不对其进行修改等操作,则可预测该用户所上传的所有数据的生命周期都较长;而如果用户习惯将数据上传后时常对其进行修改、删除等操作,则可预测该用户所上传的所有数据的生命周期都较短。
此外,应该理解,其他的能够用来指示数据的生命周期长度或删除时间的信息均可作为数据的生命周期信息,对此不做限制。
生命周期组确定单元20用于根据待写入数据的生命周期信息确定待写入数据所属的生命周期组。
这里,具有相同和/或相似的生命周期信息的数据属于相同的生命周期组。
例如,当生命周期信息是RocksDB系统中数据的层信息时,具有相同的层信息的数据属于同一生命周期组。当生命周期信息是Cassandra系统中数据的数据类型时,具有相同的数据类型的数据属于同一生命周期组。当生命周期信息是指示数据所指示的对象的信息时,指示相同的对象的数据属于同一生命周期组。当生命周期信息是数据的来源时,具有相同的来源的数据属于同一生命周期组。
此外,当生命周期信息指示删除时间时,删除时间位于同一垃圾回收周期的数据属于相同的生命周期组。
数据写入单元30用于根据待写入数据所属的生命周期组将待写入数据写入固态硬盘。即,通过考虑待写入数据所属的生命周期组来确定如何将待写入数据写入固态硬盘。
在一个示例中,可预先在固态硬盘中为各个生命周期组分别划分对应的区块,数据写入单元30可将待写入数据写入固态硬盘中与待写入数据所属的生命周期组对应的区块。即,可通过预先设置,使固态硬盘的各个区块分别与一个生命周期组相对应,在写入数据时即可将属于某一生命周期组的数据写入与该组对应的区块,从而保证了同一区块内所存储的数据都属于相同的生命周期组,即,同一区块内所存储的数据具有相同或相近的生命周期长度和/或删除时间。
在另一示例中,当存在多个待写入数据时,数据写入单元30可使得属于相同生命周期组的待写入数据被相继地依次写入固态硬盘,以尽量保证属于相同生命组的数据被写到同一区块内。换言之,在进行写入时,使得属于相同生命周期组的数据被排列在一起顺序写入。
例如,数据写入单元30可根据数据所属的生命周期组对多个待写入数据进行排序(例如,可先对属于第一生命周期组的数据排序,接下来对属于第二生命组的数据排序,最后对属于第三生命周期组的数据排序),并按照排序将待写入的数据相继地依次写入固态硬盘。
图4示出根据本发明的一个优选示例性实施例的数据写入单元的框图。
如图4所示,根据本发明的一个优选示例性实施例的数据写入单元30包括:判断单元301、写入单元302和暂缓单元303。
具体说来,判断单元301用于判断待写入数据所属的生命周期组与固态硬盘中的当前待写入区块内已被写入的数据所属的生命周期组是否相同。
例如,判断单元301可根据当前待写入区块内最后被写入的数据所属的生命周期组确定当前待写入区块内已被写入的数据所属的生命周期组。也可根据当前待写入区块内大部分被写入的数据所属的生命周期组确定当前待写入区块内已被写入的数据所属的生命周期组。
写入单元302用于当判断单元301判断出待写入数据所属的生命周期组与当前待写入区块内已被写入的数据所属的生命周期组相同时,将待写入数据从当前待写入区块的待写入位置开始写入固态硬盘。以尽量保证属于相同生命组的数据被写到同一区块内。
暂缓单元303用于当判断单元301判断出待写入数据所属的生命周期组与当前待写入区块内已被写入的数据所属的生命周期组不同时,使得待写入数据处于暂缓写入状态。即,由于待写入数据所属的生命周期组与当前待写入区块内已被写入的数据所属的生命周期组不同,暂不写入该待写入数据。
在一个示例中,根据本发明的一个优选示例性实施例的数据写入单元30还可包括:第一检测单元(未示出)。第一检测单元用于在暂缓单元使得待写入数据处于暂缓写入状态之后,检测当前是否有新的待写入数据等待写入固态硬盘,其中,当当前有新的待写入数据等待写入固态硬盘时,生命周期信息确定单元确定该新的待写入数据的生命周期信息;当当前没有新的待写入数据等待写入固态硬盘时,写入单元302将所有处于暂缓状态的待写入数据从当前待写入区块的待写入位置开始写入固态硬盘。
优选地,写入单元302在将所有处于暂缓状态的待写入数据从当前待写入区块的待写入位置开始写入固态硬盘的过程中,使得所有处于暂缓状态的待写入数据中属于相同生命周期组的待写入数据被相继地依次写入固态硬盘。尽量保证属于相同生命组的数据被相邻地保存在固态硬盘中,以尽可能让同一区块内的数据的生命周期长度或删除时间相同或相似。
此外,在一个示例中,根据本发明的一个优选示例性实施例的数据写入单元30还可包括:第二检测单元(未示出)。第二检测单元用于当待写入数据是文件的形式时,检测当前是否正在向固态硬盘写入数据,其中,当当前没有向固态硬盘写入数据时,判断单元判断待写入数据所属的生命周期组与固态硬盘中的当前待写入区块内已被写入的数据所属的生命周期组是否相同,当当前正在向固态硬盘写入数据时,则待数据写完之后再由判断单元判断待写入数据所属的生命周期组与固态硬盘中的当前待写入区块内已被写入的数据所属的生命周期组是否相同。即,只有当当前没有在向固态硬盘写入数据时,才由判断单元判断待写入数据所属的生命周期组与固态硬盘中的当前待写入区块内已被写入的数据所属的生命周期组是否相同,从而保证同一文件内的数据被连续地存入固态硬盘中连续的存储位置。由于同一文件内的数据具有相同或相似的生命周期长度或删除时间,从而尽可能地使得同一区块内的数据具有相同或相似的生命周期长度或删除时间。
数据写入单元30根据待写入数据所属的生命周期组将待写入数据相应地写入固态硬盘,能够保证固态硬盘中各区块内所写入的数据属于同一生命周期组,由于属于同一生命周期组的数据具有相同和/或相似的生命周期长度或删除时间,从而尽可能使固态硬盘的各区块内的数据具有相同和/或相似的生命周期长度或删除时间。因此,在对固态硬盘进行垃圾回收时能够有效减少需要搬移的有效数据,以减少对固态硬盘的磨损,延长固态硬盘的使用寿命;提高固态硬盘在相同的数据写入量下的使用时间,提高固态硬盘的性能。
此外,根据本发明的示例性实施例的上述方法可以被实现为计算机程序,从而当运行该程序时,实现上述方法。根据本发明的示例性实施例的向固态硬盘写入数据的设备中的各个单元可被实现硬件组件。本领域技术人员根据限定的各个单元所执行的处理,可以例如使用现场可编程门阵列(FPGA)或专用集成电路(ASIC)来实现各个单元。
根据本发明示例性实施例的向固态硬盘写入数据的方法及设备,可以将具有相同或相似的生命周期长度或删除时间的数据写入固态硬盘中的同一区块内,使得在对固态硬盘进行垃圾回收时能够有效减少需要搬移的有效数据,从而提高固态硬盘的性能、延长固态硬盘的使用寿命。
虽然已表示和描述了本发明的一些示例性实施例,但本领域技术人员应该理解,在不脱离由权利要求及其等同物限定其范围的本发明的原理和精神的情况下,可以对这些实施例进行修改。
Claims (11)
1.一种向固态硬盘写入数据的方法,包括:
(A)确定待写入数据的生命周期信息;
(B)根据待写入数据的生命周期信息确定待写入数据所属的生命周期组;
(C)根据待写入数据所属的生命周期组将待写入数据写入固态硬盘。
2.如权利要求1所述的方法,其中,在固态硬盘中为各个生命周期组分别划分对应的区块,其中,步骤(C)包括:
将待写入数据写入固态硬盘中与待写入数据所属的生命周期组对应的区块。
3.如权利要求1所述的方法,其中,步骤(C)包括:
当存在多个待写入数据时,使得属于相同生命周期组的待写入数据被相继地依次写入固态硬盘。
4.如权利要求1所述的方法,其中,步骤(C)包括:
(C1)判断待写入数据所属的生命周期组与固态硬盘中的当前待写入区块内已被写入的数据所属的生命周期组是否相同;
(C2)当待写入数据所属的生命周期组与当前待写入区块内已被写入的数据所属的生命周期组相同时,将待写入数据从当前待写入区块的待写入位置开始写入固态硬盘;
(C3)当待写入数据所属的生命周期组与当前待写入区块内已被写入的数据所属的生命周期组不同时,使得待写入数据处于暂缓写入状态。
5.如权利要求4所述的方法,其中,步骤(C)还包括:
在步骤(C3)之后,检测当前是否有新的待写入数据等待写入固态硬盘,
其中,当当前有新的待写入数据等待写入固态硬盘时,针对该新的待写入数据返回执行步骤(A);当当前没有新的待写入数据等待写入固态硬盘时,将所有处于暂缓状态的待写入数据从当前待写入区块的待写入位置开始写入固态硬盘。
6.如权利要求5所述的方法,其中,在将所有处于暂缓状态的待写入数据从当前待写入区块的待写入位置开始写入固态硬盘的过程中,使得所有处于暂缓状态的待写入数据中属于相同生命周期组的待写入数据被相继地依次写入固态硬盘。
7.如权利要求4所述的方法,其中,待写入数据是文件的形式,其中,步骤(C)还包括:
检测当前是否正在向固态硬盘写入数据,
其中,当当前没有向固态硬盘写入数据时,执行步骤(C1)。
8.如权利要求1所述的方法,其中,待写入数据的生命周期信息指示待写入数据的生命周期长度或删除时间。
9.如权利要求8所述的方法,其中,删除时间位于同一垃圾回收周期的待写入数据属于相同的生命周期组。
10.如权利要求1所述的方法,其中,具有相同和/或相似的生命周期信息的待写入数据属于相同的生命周期组。
11.一种向固态硬盘写入数据的设备,包括:
生命周期信息确定单元,确定待写入数据的生命周期信息;
生命周期组确定单元,根据待写入数据的生命周期信息确定待写入数据所属的生命周期组;
数据写入单元,根据待写入数据所属的生命周期组将待写入数据写入固态硬盘。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710192604.4A CN107102819B (zh) | 2014-12-12 | 2014-12-12 | 向固态硬盘写入数据的方法及设备 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710192604.4A CN107102819B (zh) | 2014-12-12 | 2014-12-12 | 向固态硬盘写入数据的方法及设备 |
CN201410768099.XA CN104391661A (zh) | 2014-12-12 | 2014-12-12 | 向固态硬盘写入数据的方法及设备 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410768099.XA Division CN104391661A (zh) | 2014-12-12 | 2014-12-12 | 向固态硬盘写入数据的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107102819A true CN107102819A (zh) | 2017-08-29 |
CN107102819B CN107102819B (zh) | 2021-02-23 |
Family
ID=52609572
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410768099.XA Pending CN104391661A (zh) | 2014-12-12 | 2014-12-12 | 向固态硬盘写入数据的方法及设备 |
CN201710192604.4A Active CN107102819B (zh) | 2014-12-12 | 2014-12-12 | 向固态硬盘写入数据的方法及设备 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410768099.XA Pending CN104391661A (zh) | 2014-12-12 | 2014-12-12 | 向固态硬盘写入数据的方法及设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20160188227A1 (zh) |
KR (1) | KR20200067962A (zh) |
CN (2) | CN104391661A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020042850A1 (zh) * | 2018-08-27 | 2020-03-05 | 华为技术有限公司 | 数据的存储方法、装置和存储系统 |
CN111581012A (zh) * | 2019-02-15 | 2020-08-25 | 宇瞻科技股份有限公司 | 固态硬盘 |
CN112717419A (zh) * | 2021-01-04 | 2021-04-30 | 厦门梦加网络科技股份有限公司 | 一种游戏数据的保存方法 |
CN112988040A (zh) * | 2019-12-18 | 2021-06-18 | 深圳大普微电子科技有限公司 | 一种数据存储方法、装置、设备及可读存储介质 |
WO2021120731A1 (zh) * | 2019-12-18 | 2021-06-24 | 深圳大普微电子科技有限公司 | 数据存储方法及组件,数据处理方法及组件 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105204783B (zh) * | 2015-10-13 | 2018-12-07 | 华中科技大学 | 一种基于数据生存期的固态盘垃圾回收方法 |
CN105204784B (zh) * | 2015-10-16 | 2019-03-01 | 北京联想核芯科技有限公司 | 一种监控方法及电子设备 |
CN105912279B (zh) * | 2016-05-19 | 2019-02-22 | 河南中天亿科电子科技有限公司 | 固态存储回收系统及固态存储回收方法 |
CN106227471A (zh) * | 2016-08-19 | 2016-12-14 | 深圳大普微电子科技有限公司 | 固态硬盘和应用于固态硬盘的数据存取方法 |
US11263128B2 (en) | 2017-10-27 | 2022-03-01 | Google Llc | Packing objects by predicted lifespans in cloud storage |
CN109032505A (zh) * | 2018-06-26 | 2018-12-18 | 深圳忆联信息系统有限公司 | 带时效的数据读写方法、装置、计算机设备及存储介质 |
WO2020037686A1 (zh) * | 2018-08-24 | 2020-02-27 | 袁振南 | 基于数据结构的垃圾回收方法、计算机及存储介质 |
CN110365780A (zh) * | 2019-07-19 | 2019-10-22 | 南京世竹软件科技有限公司 | 一种用于物联网存储的云计算基础架构系统 |
US11327883B2 (en) | 2020-03-12 | 2022-05-10 | International Business Machines Corporation | Solid-state drive performance and lifespan based on data affinity |
KR20230036680A (ko) | 2021-09-08 | 2023-03-15 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
CN114153395B (zh) * | 2021-11-30 | 2024-05-14 | 浙江大华技术股份有限公司 | 一种对象存储数据生命周期管理方法、装置及设备 |
CN115480707A (zh) | 2022-09-30 | 2022-12-16 | 三星(中国)半导体有限公司 | 数据存储的方法和装置 |
CN115857835B (zh) * | 2023-02-08 | 2023-05-30 | 苏州浪潮智能科技有限公司 | 一种基于分区命名空间固态硬盘的区域回收方法、装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101419573A (zh) * | 2008-12-01 | 2009-04-29 | 成都市华为赛门铁克科技有限公司 | 一种存储管理的方法、系统和存储设备 |
CN101673188A (zh) * | 2008-09-09 | 2010-03-17 | 上海华虹Nec电子有限公司 | 一种固态硬盘的数据存取方法 |
US20100325356A1 (en) * | 2009-06-22 | 2010-12-23 | International Business Machines Corporation | Nonvolatile storage thresholding |
US20120209893A1 (en) * | 2011-02-15 | 2012-08-16 | Samsung Electronics Co., Ltd. | File system operating method and devices using the same |
CN102768645A (zh) * | 2012-06-14 | 2012-11-07 | 国家超级计算深圳中心(深圳云计算中心) | 混合缓存的固态硬盘预取方法和固态硬盘ssd |
CN102799535A (zh) * | 2012-06-29 | 2012-11-28 | 记忆科技(深圳)有限公司 | 固态硬盘的数据处理方法及固态硬盘 |
US20130173854A1 (en) * | 2012-01-02 | 2013-07-04 | Samsung Electronics Co., Ltd. | Method for managing data in storage device and memory system employing such a method |
CN103455435A (zh) * | 2013-08-29 | 2013-12-18 | 华为技术有限公司 | 数据写入方法及装置 |
CN103677653A (zh) * | 2012-09-21 | 2014-03-26 | 联想(北京)有限公司 | 一种基于ssd的数据处理方法及电子设备 |
US8898376B2 (en) * | 2012-06-04 | 2014-11-25 | Fusion-Io, Inc. | Apparatus, system, and method for grouping data stored on an array of solid-state storage elements |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4774085B2 (ja) * | 2008-07-31 | 2011-09-14 | 富士通株式会社 | ストレージシステム |
KR101038167B1 (ko) * | 2008-09-09 | 2011-05-31 | 가부시끼가이샤 도시바 | 프로세서로부터 메모리로의 액세스를 관리하는 메모리 관리 장치를 포함하는 정보 처리 장치 및 메모리 관리 방법 |
KR101824949B1 (ko) * | 2011-11-23 | 2018-02-05 | 삼성전자주식회사 | 플래시 메모리를 기반으로 하는 저장 장치 및 그것을 포함한 사용자 장치 |
CN102609360B (zh) * | 2012-01-12 | 2015-03-25 | 华为技术有限公司 | 一种数据处理方法、装置及系统 |
US9165002B1 (en) * | 2012-06-27 | 2015-10-20 | Amazon Technologies, Inc. | Inexpensive deletion in a data storage system |
KR20140040998A (ko) * | 2012-09-27 | 2014-04-04 | 삼성전자주식회사 | 로그기반 데이터 저장 시스템의 관리방법 |
-
2014
- 2014-12-12 CN CN201410768099.XA patent/CN104391661A/zh active Pending
- 2014-12-12 CN CN201710192604.4A patent/CN107102819B/zh active Active
-
2015
- 2015-12-23 KR KR1020150184666A patent/KR20200067962A/ko unknown
- 2015-12-28 US US14/979,744 patent/US20160188227A1/en not_active Abandoned
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101673188A (zh) * | 2008-09-09 | 2010-03-17 | 上海华虹Nec电子有限公司 | 一种固态硬盘的数据存取方法 |
CN101419573A (zh) * | 2008-12-01 | 2009-04-29 | 成都市华为赛门铁克科技有限公司 | 一种存储管理的方法、系统和存储设备 |
US20100325356A1 (en) * | 2009-06-22 | 2010-12-23 | International Business Machines Corporation | Nonvolatile storage thresholding |
US20120209893A1 (en) * | 2011-02-15 | 2012-08-16 | Samsung Electronics Co., Ltd. | File system operating method and devices using the same |
US20130173854A1 (en) * | 2012-01-02 | 2013-07-04 | Samsung Electronics Co., Ltd. | Method for managing data in storage device and memory system employing such a method |
US8898376B2 (en) * | 2012-06-04 | 2014-11-25 | Fusion-Io, Inc. | Apparatus, system, and method for grouping data stored on an array of solid-state storage elements |
CN102768645A (zh) * | 2012-06-14 | 2012-11-07 | 国家超级计算深圳中心(深圳云计算中心) | 混合缓存的固态硬盘预取方法和固态硬盘ssd |
CN102799535A (zh) * | 2012-06-29 | 2012-11-28 | 记忆科技(深圳)有限公司 | 固态硬盘的数据处理方法及固态硬盘 |
CN103677653A (zh) * | 2012-09-21 | 2014-03-26 | 联想(北京)有限公司 | 一种基于ssd的数据处理方法及电子设备 |
CN103455435A (zh) * | 2013-08-29 | 2013-12-18 | 华为技术有限公司 | 数据写入方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020042850A1 (zh) * | 2018-08-27 | 2020-03-05 | 华为技术有限公司 | 数据的存储方法、装置和存储系统 |
US12008263B2 (en) | 2018-08-27 | 2024-06-11 | Huawei Technologies Co., Ltd. | Garbage collection and data storage method and apparatus, and storage system |
CN111581012A (zh) * | 2019-02-15 | 2020-08-25 | 宇瞻科技股份有限公司 | 固态硬盘 |
CN111581012B (zh) * | 2019-02-15 | 2023-02-28 | 宇瞻科技股份有限公司 | 固态硬盘 |
CN112988040A (zh) * | 2019-12-18 | 2021-06-18 | 深圳大普微电子科技有限公司 | 一种数据存储方法、装置、设备及可读存储介质 |
WO2021120731A1 (zh) * | 2019-12-18 | 2021-06-24 | 深圳大普微电子科技有限公司 | 数据存储方法及组件,数据处理方法及组件 |
CN112988040B (zh) * | 2019-12-18 | 2023-02-24 | 深圳大普微电子科技有限公司 | 一种数据存储方法、装置、设备及可读存储介质 |
CN112717419A (zh) * | 2021-01-04 | 2021-04-30 | 厦门梦加网络科技股份有限公司 | 一种游戏数据的保存方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20200067962A (ko) | 2020-06-15 |
US20160188227A1 (en) | 2016-06-30 |
CN104391661A (zh) | 2015-03-04 |
CN107102819B (zh) | 2021-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107102819A (zh) | 向固态硬盘写入数据的方法及设备 | |
CN102999431B (zh) | 用于非易失性存储器系统的编织序列计数器 | |
US11704239B2 (en) | Garbage collection method for storage medium, storage medium, and program product | |
Hu et al. | Write amplification analysis in flash-based solid state drives | |
Yang et al. | {Don’t} stack your log on my log | |
KR102541492B1 (ko) | 다중 모드 동작들을 위해 다중 파티션을 포함하는 저장 장치, 및 그것의 동작 방법 | |
TWI537729B (zh) | 資料儲存裝置及其資料維護方法 | |
US8990484B2 (en) | Heap-based mechanism for efficient garbage collection block selection | |
CN105573681B (zh) | 一种ssd盘片内部raid组建方法及系统 | |
CN107391774B (zh) | 基于重复数据删除的日志文件系统的垃圾回收方法 | |
CN105745628B (zh) | 一种将数据写入闪存装置的方法、闪存装置和存储系统 | |
KR20110080479A (ko) | 멀티 레벨 버퍼 캐시 관리 정책에 따른 메모리 관리 방법 | |
KR101374065B1 (ko) | 칩 레벨 평행 플래시 메모리를 위한 정보 분별 방법 및 장치 | |
US10083181B2 (en) | Method and system for storing metadata of log-structured file system | |
CN106339324A (zh) | 一种选择垃圾回收块的方法及装置 | |
CN111930301A (zh) | 垃圾回收优化方法、装置、存储介质及电子设备 | |
Chen et al. | An erase efficiency boosting strategy for 3D charge trap NAND flash | |
CN103617124A (zh) | 一种闪存管理方法和装置 | |
WO2021113420A1 (en) | Adaptive wear leveling using multiple partitions | |
Fisher et al. | A hybrid filesystem for hard disk drives in tandem with flash memory | |
Chen et al. | LLSM: A lifetime-aware wear-Leveling for LSM-tree on NAND flash memory | |
Jeong et al. | Level Aware Data Placement Technique for Hybrid NAND Flash Storage of Log-Structured Merge-Tree Based Key-Value Store System | |
Cheng et al. | Lifespan-based garbage collection to improve SSD's reliability and performance | |
Li et al. | Frequent pattern-based mapping at flash translation layer of solid-state drives | |
Yadgar et al. | {It’s} Not Where Your Data Is,{It’s} How It Got There |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210427 Address after: No.1999, North Fuhe Road, high tech Zone, Xi'an City, Shaanxi Province Patentee after: SAMSUNG (CHINA) SEMICONDUCTOR Co.,Ltd. Patentee after: Samsung Electronics Co.,Ltd. Address before: 710065, A building, Jiayu building, No. 58, Kam Yip Road, Xi'an hi tech Zone, Shaanxi, China Patentee before: XI'AN SAMSUNG ELECTRONICS RESEARCH Co.,Ltd. Patentee before: Samsung Electronics Co.,Ltd. |
|
TR01 | Transfer of patent right |