固态硬盘的数据处理的方法和设备技术

技术编号:15639160 阅读:181 留言:0更新日期:2017-06-15 21:46
本发明专利技术提供一种固态硬盘的数据处理的方法和设备。所述方法包括:接收第一数据的写入命令,响应于所述写入命令,确定一个空白的块,其中,所述写入命令用于指示将所述第一数据写入所述一个空白的块中,所述一个空白的块包括的页均为空白页,且所述一个空白的块仅用于存储所述第一数据;接收所述第一数据;将所述第一数据从所述一个空白的块开始写入。根据本发明专利技术,由于在写入数据的流程中将写入的数据仅写入到了空白的块中,保证了每个块中只保存了一个数据,在删除数据后,存储被删除数据的块中不包括有效页,因此在擦除该块的垃圾回收过程中,无需进行有效数据的搬移,提高了垃圾回收的效率和固态硬盘的使用效率。

【技术实现步骤摘要】
固态硬盘的数据处理的方法和设备
本专利技术总体说来涉及存储领域。更具体地讲,涉及固态硬盘的数据处理的方法和设备。
技术介绍
固态硬盘(SolidStateDrives,SSD),简称固盘,SSD是用固态电子存储芯片阵列而制成的硬盘。SSD采用存储芯片存储数据。SSD包括若干个块(Block),每个Block包含若干个页(Page),每个页包括若干个位,Block为擦除时的基本单位,Page为数据读写的基本单位。对于传统硬盘HDD(HardDiskDrive),有数据需要更新时,可以直接在原来的地址上覆盖写入。而对于SSD,由于其存储介质的特性,SSD中每个Page需要先进行擦除后才能写入,所以SSD在更新数据时,会先把更新的数据写入到空白的Page,然后把原来存储数据的Page设置为无效页,这样就完成了一次更新操作。SSD在删除数据时,将把存储被删除的数据的Page设置为无效页。被设置为无效页的Page未经过擦除之前是不能再次被写入的,这样的Page也叫做垃圾Page。随着数据的写入,垃圾Page越来越多,可用的空白Page越来越少,此时SSD会选取一些Block,将这些Block中有效Page上存储的数据搬移到其他空白的Page上,然后再擦除这些Block。这个过程称作垃圾回收(GarbageCollection,GC),垃圾回收后会生成新的空白Page供数据写入使用。在GC时,SSD需要对Block进行筛选,找出包含有效Page比较少的Block,以保证在GC时搬移的Page尽量少,因此需要对Block进行遍历,挑选出合适的Block后再进行有效数据的搬移。遍历操作和搬移操作均会消耗一定的时间。随着数据的不断写入,SSD上存储的数据会变的越来越碎片化,GC操作也会执行得越来越频繁,SSD性能会出现一定程度的下降。以下将参照图1-图3描述现有技术中SSD写入数据、删除数据以及垃圾回收的过程。图1示出现有的在SSD中分别写入第三数据和第四数据后的数据分布示例。如图1所示,第三数据的一部分和另一部分被分别存储在第一块和第二块中,第四数据的一部分和另一部分也被分别存储在第一块和第二块中。图2示出现有的将图1中的第三数据删除之后的SSD中数据分布的示例。如图2所示,第一块和第二块中存储第三数据的页都被设置为了无效页。图3示出将图2中的第一块进行擦除的流程图。如图3所示,由于第一块中还包括了存储第四数据的有效页,需要先将有效页中存储的第四数据搬移到一个空白块,再将第一块中存储第四数据的有效页设置为无效页,最后才能将第一块进行擦除。
技术实现思路
本专利技术的目的在于提供一种固态硬盘的数据处理的方法和设备,通过减少固态硬盘垃圾回收过程中的有效数据的搬移操作,以提高垃圾回收的效率和固态硬盘的使用性能。本专利技术的一方面提供一种固态硬盘的数据处理的方法,所述方法包括:接收第一数据的写入命令,响应于所述写入命令,确定一个空白的块,其中,所述写入命令用于指示将所述第一数据写入所述一个空白的块中,所述一个空白的块包括的页均为空白页,且所述一个空白的块仅用于存储所述第一数据;接收所述第一数据;将所述第一数据从所述一个空白的块开始写入。可选地,在所述方法中,所述将所述第一数据从所述一个空白的块开始写入的步骤还包括:每当一个空白的块被写满而还未完全写入所述第一数据时,将所述第一数据中未写入的内容从另一个空白的块接着写入。可选地,在所述方法中,第一数据包括多个数据段,所述接收所述第一数据的步骤包括:分别接收第一数据包括的多个数据段,所述将所述第一数据从所述一个空白的块开始写入的步骤包括:从所述一个空白的块的起始地址开始写入所述多个数据段,其中,存储第一个数据段的物理地址的起始地址为所述一个空白的块的起始地址,存储第一个数据段之后的任意一个数据段的物理地址与存储上一个数据段的物理地址相邻。可选地,在所述方法中,所述将所述第一数据从所述一个空白的块开始写入的步骤还包括:每当一个空白的块被写满而还未完全写入所述多个数据段时,将所述多个数据段中未写入的数据段从另一个空白的块的起始地址接着写入,其中,当存储上一个数据段的物理地址的结束地址是一个块的结束地址时,存储所述任意一个数据段的物理地址从另一个空白的块的起始地址开始。可选地,在所述方法中,所述多个数据段被划分为多个数据段组,所述将所述第一数据从所述一个空白的块开始写入的步骤包括:每当接收到一个数据段组时,执行一次写入,其中,每当一个空白的块被写满而还存在未被完全写入的一个数据段组和/或还存在未被写入的数据段组时,将所述未完全写入的一个数据段组的未写入的部分和/或存在的未被写入的数据段组从另一个空白的块接着写入。可选地,所述方法还包括:在接收第一数据的写入命令之后,向主机发送所述确定的一个空白的块的标识号;接收所述空白的块的标识号;将所述第一数据从所述一个空白的块开始写入的步骤包括:根据所述空白的块的标识号,将所述第一数据从所述空白的块的标识号所指示的空白的块开始写入。可选地,在所述方法中,当在接收第一数据的写入命令的同时并行接收到其它多个数据的写入命令时,针对每个数据,分别确定一个空白的块,分别接收所述第一数据和所述其它多个数据,并将每个数据分别从针对每个数据分别确定的一个空白的块开始写入。可选地,所述方法还包括:接收第二数据的删除命令;将存储所述第二数据的块中的所有页设置为无效页。可选地,在完成所述第一数据的写入后,所述方法还包括:将写入所述第一数据的块中的空白页设置为填充页;或将写入所述第一数据的块中的空白页设置为无效页。可选地,所述方法还包括:接收第二数据的删除命令;将存储所述第二数据的页设置为无效页;在存储所述第二数据的块中搜索填充页,并将搜索到的填充页设置为无效页。本专利技术的另一方面提供一种固态硬盘的数据处理的设备,所述设备包括:写入命令接收单元,接收第一数据的写入命令,响应于所述写入命令,确定一个空白的块,其中,所述写入命令用于指示将所述第一数据写入所述一个空白的块中,所述一个空白的块包括的页均为空白页,且所述一个空白的块仅用于存储所述第一数据;第一数据接收单元,接收所述第一数据;写入单元,将所述第一数据从所述一个空白的块开始写入。可选地,在所述设备中,写入单元每当一个空白的块被写满而还未完全写入所述第一数据时,将所述第一数据中未写入的内容从另一个空白的块接着写入。可选地,在所述设备中,第一数据包括多个数据段,第一数据接收单元分别接收第一数据包括的多个数据段,写入单元从所述一个空白的块的起始地址开始写入所述多个数据段,其中,存储第一个数据段的物理地址的起始地址为所述一个空白的块的起始地址,存储第一个数据段之后的任意一个数据段的物理地址与存储上一个数据段的物理地址相邻。可选地,在所述设备中,写入单元每当一个空白的块被写满而还未完全写入所述多个数据段时,将所述多个数据段中未写入的数据段从另一个空白的块的起始地址接着写入,其中,当存储上一个数据段的物理地址的结束地址是一个块的结束地址时,存储所述任意一个数据段的物理地址从另一个空白的块的起始地址开始。可选地,在所述设备中,所述多个数据段被划分为多个数据段组,每当第一数据接收单元接收到一个数据段组时,写入单元执本文档来自技高网
...
固态硬盘的数据处理的方法和设备

【技术保护点】
一种固态硬盘的数据处理的方法,其特征在于,包括:接收第一数据的写入命令,响应于所述写入命令,确定一个空白的块,其中,所述写入命令用于指示将所述第一数据写入所述一个空白的块中,所述一个空白的块包括的页均为空白页,且所述一个空白的块仅用于存储所述第一数据;接收所述第一数据;将所述第一数据从所述一个空白的块开始写入。

【技术特征摘要】
1.一种固态硬盘的数据处理的方法,其特征在于,包括:接收第一数据的写入命令,响应于所述写入命令,确定一个空白的块,其中,所述写入命令用于指示将所述第一数据写入所述一个空白的块中,所述一个空白的块包括的页均为空白页,且所述一个空白的块仅用于存储所述第一数据;接收所述第一数据;将所述第一数据从所述一个空白的块开始写入。2.根据权利要求1所述的方法,其特征在于,所述将所述第一数据从所述一个空白的块开始写入的步骤还包括:每当一个空白的块被写满而还未完全写入所述第一数据时,将所述第一数据中未写入的内容从另一个空白的块接着写入。3.根据权利要求1所述的方法,其特征在于,第一数据包括多个数据段,所述接收所述第一数据的步骤包括:分别接收第一数据包括的多个数据段,所述将所述第一数据从所述一个空白的块开始写入的步骤包括:从所述一个空白的块的起始地址开始写入所述多个数据段,其中,存储第一个数据段的物理地址的起始地址为所述一个空白的块的起始地址,存储第一个数据段之后的任意一个数据段的物理地址与存储上一个数据段的物理地址相邻。4.根据权利要求3所述的方法,其特征在于,所述将所述第一数据从所述一个空白的块开始写入的步骤还包括:每当一个空白的块被写满而还未完全写入所述多个数据段时,将所述多个数据段中未写入的数据段从另一个空白的块的起始地址接着写入,其中,当存储上一个数据段的物理地址的结束地址是一个块的结束地址时,存储所述任意一个数据段的物理地址从另一个空白的块的起始地址开始。5.根据权利要求4所述的方法,所述多个数据段被划分为多个数据段组,所述将所述第一数据从所述一个空白的块开始写入的步骤包括:每当接收到一个数据段组时,执行一次写入,其中,每当一个空白的块被写满而还存在未被完全写入的一个数据段组和/或还存在未被写入的数据段组时,将所述未完全写入的一个数据段组的未写入的部分和/或存在的未被写入的数据段组从另一个空白的块接着写入。6.根据权利要求1-5任一项所述的方法,其特征在于,该方法还包括:在接收第一数据的写入命令之后,向主机发送所述确定的一个空白的块的标识号;接收所述空白的块的标识号;将所述第一数据从所述一个空白的块开始写入的步骤包括:根据所述标识号,将所述第一数据从所述标识号所指示的空白的块开始写入。7.根据权利要求1所述的方法,其特征在于,当在接收第一数据的写入命令的同时并行接收到其它多个数据的写入命令时,针对每个数据,分别确定一个空白的块,分别接收所述第一数据和所述其它多个数据,并将每个数据分别从针对每个数据分别确定的一个空白的块开始写入。8.根据权利要求1-7任一项所述的方法,其特征在于,还包括:接收第二数据的删除命令;将存储所述第二数据的块中的所有页设置为无效页。9.根据权利要求1-7任一项所述的方法,其特征在于,在完成所述第一数据的写入后,所述方法还包括:将写入所述第一数据的块中的空白页设置为填充页,或将写入所述第一数据的块中的空白页设置为无效页。10.根据权利要求9所述的方法,其特征在于,还包括:接收第二数据的删除命令;将存储所述第二数据的页设置为无效页;在存储所述第二数据的块中搜索填充页,并将搜索到的填充页设置为无效页。11.一种固态硬盘的数据...

【专利技术属性】
技术研发人员:豆坤唐海波杨飞李娜
申请(专利权)人:西安三星电子研究有限公司三星电子株式会社
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1