一种固态硬盘低级格式化的方法及系统与流程

文档序号:12863430阅读:1402来源:国知局
一种固态硬盘低级格式化的方法及系统与流程

本申请涉及固态硬盘管理技术领域,特别涉及一种固态硬盘低级格式化的方法及系统。



背景技术:

随着数据存储技术的不断提高,读写速度更快的固态硬盘逐渐进入了我们的视野,顾名思义,固态硬盘是用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元,即flash芯片和dram芯片组成。同时,大多固态硬盘都支持多namespace(命名空间),或多专属分区来将原本完整的存储空间按照namespace的不同划分为相对独立的存储空间,而实际应用中经常会出现要求按照namespace的不同单独进行低级格式化操作的场景。

现有的针对不同namespace单独进行低级格式化操作的方法,因在数据存放时都将所有namespace的数据不加区分的存放在固态硬盘的所有block(物理逻辑块)上,这样会造成不同namespace的数据会落在同一block上,且在按namespace进行低级格式化操作时不能破坏其它namespace的数据,所以会需要对每个block上的数据进行识别并执行回收操作,步骤繁琐、耗时长、效率低。

所以,如何为固态硬盘中的多个namespace,分配专属于该namespace的物理逻辑块,提供一种在不同namespace间数据存储相互独立、无需再识别和回收步骤、按namespace进行低级格式化时能够直接擦除的固态硬盘低级格式化机制是本领域技术人员亟待解决的问题。



技术实现要素:

本申请的目的是提供一种固态硬盘低级格式化的方法及系统,通过为固态硬盘中的多个namespace,分配专属于该namespace的物理逻辑块,提高了数据存储时的独立性、简化了低级格式化的流程和步骤,提升了低级格式化的效率。

为解决上述技术问题,本申请提供一种固态硬盘低级格式化的方法,该方法包括:

获取固态硬盘中namespace的数量,并识别得到每一个所述namespace对应的容量大小;

为所述namespace根据其对应的容量大小分配物理逻辑块;其中,所述物理逻辑块的数量与所述容量大小成正比关系;

将主机下发的写请求写入相应的所述物理逻辑块;

根据接收到的低级格式化命令,擦除所述物理逻辑块上的所有数据。

可选的,将主机下发的写请求写入相应的所述物理逻辑块,包括:

接收主机下发的写请求,并从所述写请求中提取携带的namespace信息;

根据所述namespace信息将所述写请求写入相应的所述物理逻辑块。

可选的,该方法还包括:

所述namespace的总容量小于对应的所述物理逻辑块的总容量。

可选的,根据接收到的低级格式化命令,擦除所述物理逻辑块上的所有数据,包括:

获取所述低级格式化命令,并从所述低级格式化命令中提取携带的所述namespace信息;

根据所述namespace信息擦除对应所述物理逻辑区块上的所有数据。

本申请还提供了一种固态硬盘低级格式化的系统,该系统包括:

数量容量获取单元,用于获取固态硬盘中namespace的数量,并识别得到每一个所述namespace对应的容量大小;

物理逻辑块指定单元,用于为所述namespace根据其对应的容量大小分配物理逻辑块;其中,所述物理逻辑块的数量与所述容量大小成正比关系;

写入单元,用于将主机下发的写请求写入相应的所述物理逻辑块;

擦除单元,用于根据接收到的低级格式化命令,擦除所述物理逻辑块上的所有数据。

可选的,所述写入单元包括:

第一提取子单元,用于接收主机下发的写请求,并从所述写请求中提取携带的namespace信息;

写入子单元,用于根据所述namespace信息将所述写请求写入相应的所述物理逻辑块。

可选的,该系统还包括:

限制单元,用于所述namespace的总容量小于对应的所述物理逻辑块的总容量。

可选的,所述擦除单元包括:

第二提取子单元,用于获取所述低级格式化命令,并从所述低级格式化命令中提取携带的所述namespace信息;

擦除子单元,用于根据所述namespace信息擦除对应所述物理逻辑区块上的所有数据。

本申请所提供的一种固态硬盘低级格式化的方法,通过获取固态硬盘中namespace的数量,并识别得到每一个所述namespace对应的容量大小;为所述namespace根据其对应的容量大小分配物理逻辑块;其中,所述物理逻辑块的数量与所述容量大小成正比关系;将主机下发的写请求写入相应的所述物理逻辑块;根据接收到的低级格式化命令,擦除所述物理逻辑块上的所有数据。

显然,本申请所提供的技术方案,通过为固态硬盘中的多个namespace分配专属于该namespace的物理逻辑块,使得在按namespace存储时,只会存储进该namespace专属的物理逻辑块当中,相应的,在进行低级格式化时,也就可以直接擦除该namespace专属的物理逻辑块。该方法提高了数据存储时的独立性、简化了低级格式化的流程和步骤,提升了低级格式化的效率。本申请同时还提供了一种固态硬盘低级格式化的系统,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例所提供的一种固态硬盘低级格式化的方法的流程图;

图2为本申请实施例所提供的另一种固态硬盘低级格式化的方法的流程图;

图3为本申请实施例所提供的又一种固态硬盘低级格式化的方法的流程图;

图4为本申请实施例所提供的一种固态硬盘低级格式化的系统的结构框图。

具体实施方式

本申请的核心是提供一种固态硬盘低级格式化的方法及系统,通过为固态硬盘中的多个namespace,分配专属于该namespace的物理逻辑块,提高了数据存储时的独立性、简化了低级格式化的流程和步骤,提升了低级格式化的效率。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

以下结合图1,图1为本申请实施例所提供的一种固态硬盘低级格式化的方法的流程图。

其具体包括以下步骤:

s101:获取固态硬盘中namespace的数量,并识别得到每一个namespace对应的容量大小;

本步骤旨在获取固态硬盘中已经创建成功的命名空间或专属分区的数量,并提取得到每一个专属分区对应的容量大小数据。

例如,一个拥有100g存储空间的固态硬盘,并划分为3个专属分区,其分别拥有30g、30g、40g的容量大小,本步骤的目的就是获取到这些数据。以便在后续其它步骤中结合每个专属分区拥有的容量大小来为其分配相应的物理逻辑块。

当然如何获取到这些想要的数据方式多种多样,例如,访问当时创建这些专属分区留下来的创建信息或配置文件;也可以以更高的权限直接读取专属分区的参数信息来获得想要的数据等等方法,此处并不做具体限定,应视具体固态硬盘的型号、生产厂家、固件版本号以及使用用途做出最符合使用者自身利益的选择。

s102:为namespace根据其对应的容量大小分配物理逻辑块;其中,物理逻辑块的数量与容量大小成正比关系;

在s101的基础上,本步骤旨在根据已经获得的每个专属分区的容量大小来为其分配专属的物理逻辑块,因为每个物理逻辑块的大小在生产之初已有生产厂家所固定,所以显而易见的是,物理逻辑块的数量与专属分区的容量大小成正比关系。

说到这里,需要说明一下固态硬盘的存储和擦除机制,与普通机械硬盘所不同的是,固态硬盘用来存储数据的最小单元是page(物理逻辑页),通常大小在4kb或者8kb,而由128个或者256个物理逻辑也组成的block(物理逻辑块),数据在写入时,是按照一个个的物理逻辑页为单位进行写入,而擦除时则是按照一个物理逻辑块为单位进行擦除,也就是说并非与写入方式相同进行1:1的擦除,而是一次性擦除由多个物理逻辑页组成的物理逻辑块,所以才会存在背景技术所说的,即使为固态硬盘进行了分区,还会存在不同分区的数据存放在同一个物理逻辑块的现象。

一旦出现此种现象,当然不能简简单单、不顾后果的直接擦除,很有可能丢失珍贵的数据文件,所以就需要使用更复杂的识别算法,识别出这个物理逻辑块上的物理逻辑页上存放的数据分别都是哪些不同专属分区的,在得到识别结果后,再将不同专属分区的数据转移至不同的物理逻辑块上,才能进行擦除。这样一来就会耗费大量的计算和处理能力来做这些工作,降低了固态硬盘快速读取和写入的设计初衷。

本步骤的目的就是为已经创建完成的不同专属分区分配其专属的物理逻辑块,以使后续存放在该专属分区的数据文件直接存储在专属的物理逻辑块中,避免出现上面提到的诸多问题。

s103:将主机下发的写请求写入相应的物理逻辑块;

在s102的基础上,本步骤旨在将主机下发的写请求写入专属分区的专属物理逻辑块当中。为实现本步骤的目的,会存在很多的具体实现方式,此处并不做具体限定,应视具体固态硬盘的型号、生产厂家、固件版本号以及使用用途做出最符合使用者自身利益的选择,同时会在后续的其它实施例中进行详细介绍。

s104:根据接收到的低级格式化命令,擦除物理逻辑块上的所有数据。

在s103的基础上,本步骤旨在根据接收到主机下发的对专属分区的低级格式化命令,直接擦除该专属分区下专属的物理逻辑块上的所有数据。为实现本步骤的目的,可以采用很多的具体实现方式,此处并不做具体限定,应视具体固态硬盘的型号、生产厂家、固件版本号以及使用用途做出最符合使用者自身利益的选择,同时会在后续的其它实施例中进行详细介绍

基于上述技术方案,本申请实施例提供的一种固态硬盘低级格式化的方法,通过为固态硬盘中的多个namespace,分配专属于该namespace的物理逻辑块,相应的,在根据下发的低级格式化命令对该namespace进行低级格式化时,可以直接擦除该namespace专属的物理逻辑块,提高了数据存储时的独立性、简化了低级格式化的流程和步骤,提升了低级格式化的效率。

以下结合图2,图2为本申请实施例所提供的另一种固态硬盘低级格式化的方法的流程图。

本实施例是针对上一实施例中s103中如何将主机下发的写请求写入相应的物理逻辑块所做出的一个具体限定,其它步骤与上一实施例大体相同,相同部分可参见上一实施例相关部分,在此不再赘述。

其具体包括以下步骤:

s201:接收主机下发的写请求,并从写请求中提取携带的namespace信息;

本步骤旨在从接收到的写请求进行提取携带的专属分区信息的操作。要想能够根据该写请求实现找到专属分区的目的,该写请求至少要包含目的专属分区的信息,也可以包含其它的信息,例如,分区名称信息、编号信息、分区存储格式、是否加密等等额外的信息,此处并不做具体限定,应根据具体固态硬盘的型号、生产厂家、固件版本号以及使用用途做出最适合使用者的选择。只要能够从写请求中提取到该写请求的目的专属分区信息即可。

s202:根据namespace信息将写请求写入相应的物理逻辑块。

在s201的基础上,根据提取到的专属分区的信息以及为其分配的专属物理逻辑块,将该写请求所需要写入的数据文件写入这些专属的物理逻辑块当中。因为通常情况下为专属分区分配的专属物理逻辑块数量很多,那么将需要写入的数据文件写入物理逻辑块的顺序就存在多种选择,可以根据这些物理逻辑块本身拥有的一些规律可寻的参数来基于一定的写入优先原则进行写入;也可以根据一些其它的方式来达成一些特有的效果,例如加密算法等。此处并不做具体限定,应根据具体固态硬盘的型号、生产厂家、固件版本号以及使用用途做出最适合使用者的选择。

以下结合图3,图3为本申请实施例所提供的又一种区块链大文件存储及校验的方法的流程图。

本实施例是针对实施一例s102中具体如何在中间件层进行校验所做出的一个限定,其它步骤与其它实施例大体相同,相同部分可参见其它实施例中相关部分,在此不再赘述。

其具体包括以下步骤:

s301:获取低级格式化命令,并从低级格式化命令中提取携带的namespace信息;

本步骤与s201大体相同,不同的只是从携带有目的专属分区信息的低级格式化命令中,将目的专属分区信息提取出出来,其它部分可参见s201相关部分,在此不再赘述。

s302:根据namespace信息擦除对应物理逻辑区块上的所有数据。

在s301的基础上,已经得到目的专属分区的信息,只需要执行对该目的专属分区下的专属物理逻辑块上所有数据直接进行擦除即可,因为这些物理逻辑块都是该专属分区所专有的,存储的也都是这个应属于这个专属分区的数据,所以不存在现有技术中的诸多问题和疑虑。

基于上述技术方案,本申请实施例提供的一种固态硬盘低级格式化的方法,通过为固态硬盘中的多个namespace,根据不同namespace的容量大小不同,为其分配专属于该namespace的不同数量的物理逻辑块,接下来只需从下发的写请求中提取出目的专属分区信息,并将写入数据写入专属的物理逻辑块当中即可,并在根据下发的低级格式化命令对该namespace进行低级格式化时,可以直接擦除该namespace专属的物理逻辑块,提高了数据存储时的独立性、简化了低级格式化的流程和步骤,提升了低级格式化的效率。

因为情况复杂,无法一一列举进行阐述,本领域技术人员应能意识到更具本申请提供的基本方法原理结合实际情况可以存在很多的例子,在不付出足够的创造性劳动下,应均在本申请的保护范围内。

下面请参见图4,图4为本申请实施例所提供的一种区块链大文件存储及校验的系统的结构框图。

该系统可以包括:

数量容量获取单元100,用于获取固态硬盘中namespace的数量,并识别得到每一个namespace对应的容量大小;

物理逻辑块指定单元200,用于为namespace根据其对应的容量大小分配物理逻辑块;其中,物理逻辑块的数量与容量大小成正比关系;

写入单元300,用于将主机下发的写请求写入相应的物理逻辑块;

擦除单元400,用于根据接收到的低级格式化命令,擦除物理逻辑块上的所有数据。

其中,该写入单元300包括:

第一提取子单元,用于接收主机下发的写请求,并从写请求中提取携带的namespace信息;

写入子单元,用于根据namespace信息将写请求写入相应的物理逻辑块。

进一步的,该系统还包括:

限制单元,用于namespace的总容量小于对应的物理逻辑块的总容量。跟进一步的,还可以使得各namespace占总存储空间的比例与专属于各namespace的物理逻辑块占总物理逻辑块的比例一致。

其中,该擦除单元400包括:

第二提取子单元,用于获取低级格式化命令,并从低级格式化命令中提取携带的namespace信息;

擦除子单元,用于根据namespace信息擦除对应物理逻辑区块上的所有数据。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1