CN107273061A - 一种固态硬盘创建多namespace的方法及系统 - Google Patents
一种固态硬盘创建多namespace的方法及系统 Download PDFInfo
- Publication number
- CN107273061A CN107273061A CN201710566443.0A CN201710566443A CN107273061A CN 107273061 A CN107273061 A CN 107273061A CN 201710566443 A CN201710566443 A CN 201710566443A CN 107273061 A CN107273061 A CN 107273061A
- Authority
- CN
- China
- Prior art keywords
- memory unit
- minimum memory
- namespace
- requests
- solid state
- 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.)
- Pending
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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0604—Improving or facilitating administration, e.g. storage management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种固态硬盘创建多namespace的方法,包括:按预设数量对固态硬盘的存储空间进行等分,得到最小存储单元;依次对最小存储单元按地址进行编号,得到与每一个最小存储单元对应的逻辑地址;根据输入的信息确定创建namespace需要最小存储单元的请求数量;根据逻辑地址判断最小存储单元的剩余数量是否大于请求数量;若剩余数量大于请求数量,则按预设规则分配并生成namespace。能够在同一固态硬盘中创建多个相对独立的存储空间来满足用户日益多样化数据的存储需求,更便于分类存储和管理、提高数据的安全性和独立性。本申请还公开了一种固态硬盘创建多namespace的系统,具有上述有益效果。
Description
技术领域
本申请涉及固态硬盘管理技术领域,特别涉及一种固态硬盘创建多namespace的方法及系统。
背景技术
随着数据存储技术的不断提高,读写速度更快的固态硬盘逐渐进入了我们的视野,顾名思义,固态硬盘是用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元,即FLASH芯片和DRAM芯片组成。固态硬盘摒弃了传统机械结构,采用全芯片存储,能够在恶劣的环境下工作,且要比传统的机械存储具备更高的防碰撞性,以及更高稳定性和可靠性。同时,在读写方面也要比传统的机械式存储快很多,原因是固态硬盘(SSD)完全半导体化,不存在数据的查找、寻道时间、读取延时等问题,所以数据读取速度快、反映时间短。
大容量的固态硬盘通常被要求读写速度高的企业大规模使用,在使用过程中,常常会需要把不同类型的数据放在相对独立的空间内,即通过在固态硬盘中创建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为本申请实施例所提供的一种固态硬盘创建多namespace的方法的流程图;
图2为本申请实施例所提供的另一种固态硬盘创建多namespace的方法的流程图;
图3为本申请实施例所提供的又一种固态硬盘创建多namespace的方法的流程图;
图4为本申请实施例所提供的一种固态硬盘创建多namespace的系统的结构框图。
具体实施方式
本申请的核心是提供一种固态硬盘创建多namespace的方法及系统,能够在同一固态硬盘的完整存储空间内,创建多个相对独立的存储空间来满足用户日益多样化数据的存储需求,更便于分类存储和管理、提高数据的安全性和独立性。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
以下结合图1,图1为本申请实施例所提供的一种固态硬盘创建多namespace的方法的流程图。
其具体包括以下步骤:
S101:按预设数量对固态硬盘的存储空间进行等分,得到最小存储单元;
本步骤旨在将用来存储数据的固态硬盘根据存储数据的特点做最小存储单元的划分,且是等分的进行划分。例如,一个总存储容量为100G的固态硬盘若是用来存储体积较小但数量较多的数据文件的,则可以根据该数据文件的平均大小设置合适的最小存储单元的大小,因为GB和MB以及KB之间每层的换算倍数都是1024。例如,该数据文件的平均大小都在450K左右,且不超过512K,那么就可以将该最小存储单元的大小设为512K,以便于对文件的写入和减少每个最小存储单元中剩余空间所占比例,那么在100G的固态硬盘中,等分的预设数量就是100*1024*2=204800个,即根据存储文件的平均大小将该100G的存储空间划分为204800个最小存储单元,每个存储单元的大小为512K。
当然,具体怎样对一个固态硬盘的完整存储空间进行划分的方式多种多样,最简单的可分类为两种,即串行划分或者并行划分,串行的划分方式即一个个的进行划分,划分完一个再划分下一个;并行的划分方式即同时完成对所有数量最小存储单元的划分。这两种方式各有各的优点和适合的使用场景。
比如,当数据文件的平均大小较大,即划分的最小存储单元的大小也较大,相对应的最小存储单元的数量就会较少,在划分数量较少的情况下就可以采用串行的划分方式,因为划分过程所需要的时间与划分出的大小大致成正比关系,采用并行的划分方式消耗的时间并不会比串行的少,且如果一旦出现异常,也只会损坏一个存储单元,不会像并行的划分方式可能会造成整体报废;当数据文件的平均大小较小,即划分的最小存储单元的大小也较小,相对应的最小存储单元的数量就会较多,在划分数量较多的情况下就可以采用并行的划分方式,可以以更高的效率完成划分,考虑到安全性和异常状况,可以分批次进行并行划分,无需一次完成全部数量的划分。
上面提到的只是两种最简单的划分方式,还存在很多其它的划分方式,基于各种原则和方法,可以达到某些特殊的效果,此处并不作具体的限定,应视实际情况结合各种影响因素做出最符合自身利益的选择。
S102:依次对最小存储单元按地址进行编号,得到与每一个最小存储单元对应的逻辑地址;
在S101的基础上,得到了总数为204800的最小存储单元,本步骤需要对这204800个最小存储单元进行编号,也可以说是为每个最小存储单元分配其专属的逻辑地址,使得每个最小存储单元都对应着自己的一个逻辑地址,来方便进行查找和遍历。
当然,编号或者分配逻辑地址的方式多种多样,例如,可以根据划分最小存储单元时的划分方式来按照先后顺序的划分;也可以根据组成完整存储空间的多个闪存的不同按不同闪存进行编号或分配与不同闪存有关的逻辑地址,使其同时携带有各个闪存的特征信息;还可以根据管理员的喜好或个人习惯进行有利于自身利益的编号和分配逻辑地址,此处并不做具体限定,应视具体固态硬盘的型号、生产厂家、固件版本号以及使用用途来进行差异化的选择。
S103:根据输入的信息确定创建namespace需要最小存储单元的请求数量;
在S102的基础上,本步骤旨在根据外部输入的信息来确定用户想要在固态硬盘建立分区的大小,并根据上一步骤中划分完成的最小存储单元的大小来计算组成该分区所占大小具体需要多少个最小存储单元。
还拿之前举的例子来说,一个100G的固态硬盘,被划分为204800个最小存储单元,用来存储平均大小在450K且不超过512K的数据文件,而此时的实际情景是该固态硬盘设置在公用的机房的一台PC上,想要分隔开不同使用者使用过程所占用的空间,假定会使用这台PC的使用者有5个,每个人在第一次使用时从完整的100G存储空间中,按照namespace的不同都划分出20G的专属存储空间,此时就需要计算要形成这20G的存储空间需要由多少个最小存储单元来组成,根据简单的数学计算,可以很快得出需要20G/512K=40960个最小存储单元。
当然上面举的例子只是一个很简单和最容易想到的计算过程,在实际的计算过程中可能会存在各种各样的制约因素,例如,受到每个闪存大小的限制、分配大小不正好足够等等制约因素,相应的也会存在不同的解决方案,此处并不做具体限定,应视具体固态硬盘的型号、生产厂家、固件版本号以及使用用途做出最符合使用者自身利益的选择。
S104:根据逻辑地址判断最小存储单元的剩余数量是否大于请求数量;
在S103的基础上,已经得到了根据使用者的需求形成不同分区所需要的最小存储单元的数量,本步骤旨在根据每个最小存储单元所对应的逻辑地址来判断是否还存在足够数量的最小存储单元,以分配给该分区形成符合需求的个人专属分区。举一个简单的例子,可以用最小存储单元的全部数量减去已经创建的namespace所占用的最小存储单元数量,得到最小存储单元的剩余数量,进而再判断剩余数量是否大于新的请求数量。
换句话说,就是根据逻辑地址来了判断是否还存在足够的最小存储单元来满足使用者的分区需求。依然使用上面的例子,100G的完整存储空间,第一个使用者需要划分出20G的专属空间,此时当然是能够满足的,接下来的第二个、第三个以及第四个都是如此,截止当前,划分出去了80G的存储空间,还剩余20G的存储空间,若第五个使用者想要划分出小于20G的专属空间,当然可以满足,但是若第五个使用者想要划分出超过20G的专属空间,肯定会因为剩余的最小存储单元的数量不足够而无法完成划分过程。
进一步的,在经过判断没有足够数量的最小存储单元来形成使用者想要划分出的专属空间时,可以通过各种路径向当前使用者发出提醒,并将剩余数量的最小存储单元所能形成的对应专属空间的大小一并反馈给当前使用者,以使当前使用者根据该反馈信息进行合适大小的专属空间的划分。
当然,本步骤旨在根据一系列过程来最终判断剩余数量是否足够,其实现这一目的的方式多种多样,此处并不做具体限定,可以根据具体固态硬盘的型号、生产厂家、固件版本号以及使用用途做出最适合使用者的选择,在后续的实施例中也会进行详细的介绍。
S105:按预设规则分配并生成namespace。
在S104的基础上,本步骤旨在根据预设的分配规则将剩余数量还足够的最小存储单元生成用于所要的分区。其中,该预设规则的表现形式多种多样,例如,可以与S101中划分的方式来进行分配;也可以结合为每个最小存储单元的编号或者逻辑地址按照一个顺序进行分配,还存在其它的分配方式,此处并不做具体限定,可以根据具体固态硬盘的型号、生产厂家、固件版本号以及使用用途做出最适合使用者的选择。
在后续的实施例中也会进行详细的介绍。
进一步的,在使用者不再需要之前创建的专属分区后,还可以对之前创建的专属分区做废弃处理,将废弃的专属分区所占用的部分数量的最小存储单元释放出来,以供再次创建专属分区时使用。
基于上述技术方案,本申请实施例提供的一种固态硬盘创建多namespace的方法及系统,首先将完整的存储空间根据所存储数据文件的平均大小进行预设数量的等分,再结合用户所需要的分区大小来计算实际需要的最小存储单元的数量,最后根据剩余数量来判断是否能形成所需大小的分区。能够在同一固态硬盘的完整存储空间内,创建多个相对独立的存储空间来满足用户日益多样化数据的存储需求,更便于分类存储和管理、提高数据的安全性和独立性。
以下结合图2,图2为本申请实施例所提供的另一种固态硬盘创建多namespace的方法的流程图。
本实施例是针对上一实施例中S103中如何根据输入的信息确定创建namespace需要最小存储单元的数量所做出的一个具体限定,其它步骤与上一实施例大体相同,相同部分可参见上一实施例相关部分,在此不再赘述。
其具体包括以下步骤:
S201:获取用户通过预设路径输入的创建信息;
本步骤旨在获得使用者输入的创建专属分区的创建信息,而使用者通过何种路径输入创建信息方式多种多样,例如,通过键盘或鼠标点选输入固定的参考值;也可以支持自定义专属分区大小;还可以通过该固态硬盘专属配置文件等各种方式实现创建信息的输入,此处并不做具体限定。
当然,想要成功实现创建专属分区,则该创建信息至少要包含分区的容量大小,也可以包含其它的信息,例如,分区名称、分区存储格式、是否加密等等额外的信息,此处并不做具体限定,应根据具体固态硬盘的型号、生产厂家、固件版本号以及使用用途做出最适合使用者的选择。
S202:提取创建信息中namespace的容量数据;
本步骤旨在从S201中输入的创建信息中提取出其中携带的创建专属分区的容量大小数据,以便于后续步骤结合等分出的最小存储单元的大小来计算所需数量。
S203:根据最小存储单元的容量大小以及容量数据计算创建namespace需要的最小存储单元的请求数量。
本步骤旨在根据最小存储单元的容量大小以及提取出的专属分区的容量大小计算创建这个专属分区需要的最小存储单元的数量。此处可以参见S103中的一个简单算法和相关描述,在此不再赘述。
以下结合图3,图3为本申请实施例所提供的又一种固态硬盘创建多namespace的方法的流程图。
本实施例是针对实施一例S104中具体如何根据逻辑地址判断剩余数量是否足够所做出的一个限定,其它步骤与其它实施例大体相同,相同部分可参见其它实施例中相关部分,在此不再赘述。
其具体包括以下步骤:
S301:利用逻辑地址查询得到对应的最小存储单元;
利用S102中为每个最小存储单元分配的一个唯一对应的逻辑地址来找到该最小存储单元。
S302:判断最小存储单元是否已被占用;
可以通过多种方式来判断找到的这个最小存储单元是否已经被占用、已经写入了数据,进一步的,如果发现这个最小存储单元已经被占用、已经被写入了数据,可以将该最小存储单元附加已写入数据的标志,更进一步的,还可以根据写入数据占该最小存储单元总大小的比例,设置分级标志,以便在固态硬盘存储空间告急时整合数据。
S303:得到最小存储单元的剩余数量;
基于S302的判断结果,本步骤旨在得到最小存储单元的剩余数量,怎样根据判断结果得到剩余数量方式多种多样,可以通过一个最简单的方式来描述,例如,在发现这个最小存储单元已经被占用,则在计算剩余数量的计数器记一个“0”,若发现这个最小存储单元未被占用,则在计算剩余数量的计数器记一个“1”,在完成对所有最小存储单元的判断后,就可以得到未被占用的最小存储单元的剩余数量。
S304:将请求数量与剩余数量进行对比,得到比较结果;
在S303的基础上,本步骤旨在将计算得到的请求数量和判断得到的剩余数量进行对比,得到比较结果。
S305:判断剩余数量是否大于请求数量;
S306:按照逻辑地址的先后顺序进行分配并生成namespace。
本步骤基于S305的判断结果为剩余数量大于请求数量的情况,此时按照逻辑地址的先后顺序进行分配并生成相应的专属分区。
进一步的,本申请实施例通过在每次得到请求数量后,都将所有剩余的最小存储单元的数量进行使用是否占用的判断,来得到剩余数量与请求数量进行对比,还可以在已经知道请求数量的前提下,为判断设限,即只需判断足够请求数量的最小存储单元剩余下来即可,不必要每次都判断全部的剩余数量,可以有效节约判断时间。
更进一步的,设限时可以留有一部分富余,即为异常状态或者存储分区命名信息等额外信息留出空间。当然,这种方式无法在每次创建请求时得到全部的剩余数量信息,此处并不做具体限定,应根据具体固态硬盘的型号、生产厂家、固件版本号以及使用用途做出最适合使用者的选择。
基于上述技术方案,本申请实施例提供的一种固态硬盘创建多namespace的方法及系统,首先将完整的存储空间根据所存储数据文件的平均大小进行预设数量的等分,再结合用户所需要的分区大小来计算实际需要的最小存储单元的数量,最后根据剩余数量来判断是否能形成所需大小的分区。能够在同一固态硬盘的完整存储空间内,创建多个相对独立的存储空间来满足用户日益多样化数据的存储需求,更便于分类存储和管理、提高数据的安全性和独立性。
因为情况复杂,无法一一列举进行阐述,本领域技术人员应能意识到更具本申请提供的基本方法原理结合实际情况可以存在很多的例子,在不付出足够的创造性劳动下,应均在本申请的保护范围内。
下面请参见图4,图4为本申请实施例所提供的一种固态硬盘创建多namespace的系统的结构框图。
该系统可以包括:
等分单元100,用于按预设数量对固态硬盘的存储空间进行等分,得到最小存储单元;
编号单元200,用于依次对最小存储单元按地址进行编号,得到与每一个最小存储单元对应的逻辑地址;
请求数量确定单元300,用于根据输入的信息确定创建namespace需要最小存储单元的请求数量;
判断单元400,用于根据逻辑地址判断最小存储单元的剩余数量是否大于请求数量;
分配单元500,用于若剩余数量大于请求数量,则按预设规则分配并生成namespace。
其中,该请求数量确定单元300包括:
创建信息获取子单元,用于获取用户通过预设路径输入的创建信息;
容量数据提取子单元,用于提取创建信息中namespace的容量数据;
计算请求数量子单元,用于根据最小存储单元的容量大小以及容量数据计算创建namespace需要的最小存储单元的请求数量。
其中,该判断单元400包括:
查询子单元,用于利用逻辑地址查询得到对应的最小存储单元;
剩余数量获取子单元,用于判断最小存储单元否已被占用,得到最小存储单元的剩余数量;
对比子单元,用于将请求数量与剩余数量进行对比,得到比较结果,并根据比较结果判断剩余数量是否大于请求数量。
其中,该分配单元500包括:
先后顺序分配子单元,用于按照逻辑地址的先后顺序进行分配并生成namespace。
进一步的,该系统还包括:
管理单元,用于当创建的namespace废弃时,将废弃的namespace占用的最小存储空间做回收处理。
本实施例通过等分固态硬盘的完整存储空间,可以尽量减少最小存储单元碎片化的问题,例如,将完整的存储空间分为1000个最小存储单元,一个专属分区由若干个这样的最小存储单元组成,且每个最小存储单元可以不连续,而用户创建的专属分区的最小空间同等于最小存储单元的大小,即,即使用户想要创建一个小于最小存储单元大小的专属分区,同样会为其分配一个最小存储单元,来方便管理。其中,分出的个数越多,对于每个最小存储单元的管理难度就越大,但每个最小存储单元中空间浪费程度就越小,用户损失空间就越小,相反,最小存储单元的数量越少,虽然管理轻松,但是浪费程度会显著提升,损失空间就越大。
可以通过以下公式来估算浪费的空间:
若分为m个专属分区,N个最小存储单元,则在最坏的情况下,浪费的空间为整个存储空间大小的若不做如上述的划分,则可能浪费程度显著的提高。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种固态硬盘创建多namespace的方法,其特征在于,包括:
按预设数量对固态硬盘的存储空间进行等分,得到最小存储单元;
依次对所述最小存储单元按地址进行编号,得到与每一个所述最小存储单元对应的逻辑地址;
根据输入的信息确定创建namespace需要所述最小存储单元的请求数量;
根据所述逻辑地址判断所述最小存储单元的剩余数量是否大于所述请求数量;
若所述剩余数量大于所述请求数量,则按预设规则分配并生成所述namespace。
2.根据权利要求1所述的方法,其特征在于,根据输入的信息确定创建namespace需要所述最小存储单元的请求数量,包括:
获取用户通过预设路径输入的创建信息;
提取所述创建信息中所述namespace的容量数据;
根据所述最小存储单元的容量大小以及所述容量数据计算创建所述namespace需要的所述最小存储单元的请求数量。
3.根据权利要求2所述的方法,其特征在于,根据所述逻辑地址判断所述最小存储单元的剩余数量是否足够,包括:
利用所述逻辑地址查询得到对应的所述最小存储单元;
判断所述最小存储单元是否已被占用,得到所述最小存储单元的剩余数量;
将所述请求数量与所述剩余数量进行对比,得到比较结果,并根据所述比较结果判断所述剩余数量是否大于所述请求数量。
4.根据权利要求1至3任一项所述的方法,其特征在于,按预设规则分配并生成所述namespace,包括:
按照所述逻辑地址的先后顺序进行分配并生成所述namespace。
5.根据权利要求4所述的方法,其特征在于,还包括:
当创建的所述namespace废弃时,将废弃的所述namespace占用的所述最小存储空间做回收处理。
6.一种固态硬盘创建多namespace的系统,其特征在于,包括:
等分单元,用于按预设数量对固态硬盘的存储空间进行等分,得到最小存储单元;
编号单元,用于依次对所述最小存储单元按地址进行编号,得到与每一个所述最小存储单元对应的逻辑地址;
请求数量确定单元,用于根据输入的信息确定创建namespace需要所述最小存储单元的请求数量;
判断单元,用于根据所述逻辑地址判断所述最小存储单元的剩余数量是否大于所述请求数量;
分配单元,用于若所述剩余数量大于所述请求数量,则按预设规则分配并生成所述namespace。
7.根据权利要求6所述的系统,其特征在于,所述请求数量确定单元包括:
创建信息获取子单元,用于获取用户通过预设路径输入的创建信息;
容量数据提取子单元,用于提取所述创建信息中所述namespace的容量数据;
计算请求数量子单元,用于根据所述最小存储单元的容量大小以及所述容量数据计算创建所述namespace需要的所述最小存储单元的请求数量。
8.根据权利要求7所述的系统,其特征在于,所述判断单元包括:
查询子单元,用于利用所述逻辑地址查询得到对应的所述最小存储单元;
剩余数量获取子单元,用于判断所述最小存储单元否已被占用,得到所述最小存储单元的剩余数量;
对比子单元,用于将所述请求数量与所述剩余数量进行对比,得到比较结果,并根据所述比较结果判断所述剩余数量是否大于所述请求数量。
9.根据权利要求6至8任一项所述的系统,其特征在于,所述分配单元包括:
先后顺序分配子单元,用于按照所述逻辑地址的先后顺序进行分配并生成所述namespace。
10.根据权利要求9所述的系统,其特征在于,还包括:
管理单元,用于当创建的所述namespace废弃时,将废弃的所述namespace占用的所述最小存储空间做回收处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710566443.0A CN107273061A (zh) | 2017-07-12 | 2017-07-12 | 一种固态硬盘创建多namespace的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710566443.0A CN107273061A (zh) | 2017-07-12 | 2017-07-12 | 一种固态硬盘创建多namespace的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107273061A true CN107273061A (zh) | 2017-10-20 |
Family
ID=60071779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710566443.0A Pending CN107273061A (zh) | 2017-07-12 | 2017-07-12 | 一种固态硬盘创建多namespace的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107273061A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108710805A (zh) * | 2018-05-25 | 2018-10-26 | 四川斐讯信息技术有限公司 | 存储设备的加密方法、解密方法及存储设备 |
CN108833090A (zh) * | 2018-05-25 | 2018-11-16 | 四川斐讯信息技术有限公司 | 一种存储设备的加密方法、解密方法及存储设备 |
CN109002258A (zh) * | 2018-06-27 | 2018-12-14 | 郑州云海信息技术有限公司 | 固态硬盘内命名空间分配方法、系统及设备和存储介质 |
CN109901798A (zh) * | 2019-02-27 | 2019-06-18 | 新华三技术有限公司成都分公司 | 数据存储方法及装置 |
CN109902033A (zh) * | 2019-02-13 | 2019-06-18 | 山东华芯半导体有限公司 | 应用于NVMe SSD控制器的namespace的LBA分配方法和映射方法 |
CN110069219A (zh) * | 2019-04-23 | 2019-07-30 | 深信服科技股份有限公司 | 一种数据存储方法、系统及电子设备和存储介质 |
TWI678618B (zh) * | 2018-06-22 | 2019-12-01 | 慧榮科技股份有限公司 | 快閃記憶裝置的命名空間操作方法及裝置 |
CN111552435A (zh) * | 2018-10-25 | 2020-08-18 | 华为技术有限公司 | 存储系统中数据恢复方法、系统及装置 |
CN113721855A (zh) * | 2021-09-01 | 2021-11-30 | 中国建设银行股份有限公司 | 存储资源的存储方法、装置、电子设备及计算机存储介质 |
CN113741787A (zh) * | 2020-05-27 | 2021-12-03 | 浙江宇视科技有限公司 | 一种数据存储方法、装置、设备、介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567250A (zh) * | 2003-06-11 | 2005-01-19 | 中兴通讯股份有限公司 | 一种高速零碎片的小对象内存结构及分配方法 |
CN1963788A (zh) * | 2005-11-08 | 2007-05-16 | 中兴通讯股份有限公司 | 一种内存管理方法 |
CN101719050A (zh) * | 2009-11-25 | 2010-06-02 | 成都市华为赛门铁克科技有限公司 | 一种数据存储方法及设备 |
CN103136104A (zh) * | 2011-11-24 | 2013-06-05 | 深圳市快播科技有限公司 | 一种内存管理方法和系统 |
CN104182355A (zh) * | 2014-08-29 | 2014-12-03 | 广州华多网络科技有限公司 | 一种内存分配方法及装置 |
CN105589809A (zh) * | 2014-10-24 | 2016-05-18 | 中国科学院深圳先进技术研究院 | 一种内存管理方法及装置 |
US20160266820A1 (en) * | 2015-01-23 | 2016-09-15 | International Business Machines Corporation | Deduplication tracking for accurate lifespan prediction |
CN106294190A (zh) * | 2015-05-25 | 2017-01-04 | 中兴通讯股份有限公司 | 一种存储空间管理方法及装置 |
CN106371761A (zh) * | 2015-07-23 | 2017-02-01 | 株式会社东芝 | 内存系统以及非易失性内存的控制方法 |
CN106502918A (zh) * | 2016-09-19 | 2017-03-15 | 上海华为技术有限公司 | 一种内存调度方法及装置 |
-
2017
- 2017-07-12 CN CN201710566443.0A patent/CN107273061A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567250A (zh) * | 2003-06-11 | 2005-01-19 | 中兴通讯股份有限公司 | 一种高速零碎片的小对象内存结构及分配方法 |
CN1963788A (zh) * | 2005-11-08 | 2007-05-16 | 中兴通讯股份有限公司 | 一种内存管理方法 |
CN101719050A (zh) * | 2009-11-25 | 2010-06-02 | 成都市华为赛门铁克科技有限公司 | 一种数据存储方法及设备 |
CN103136104A (zh) * | 2011-11-24 | 2013-06-05 | 深圳市快播科技有限公司 | 一种内存管理方法和系统 |
CN104182355A (zh) * | 2014-08-29 | 2014-12-03 | 广州华多网络科技有限公司 | 一种内存分配方法及装置 |
CN105589809A (zh) * | 2014-10-24 | 2016-05-18 | 中国科学院深圳先进技术研究院 | 一种内存管理方法及装置 |
US20160266820A1 (en) * | 2015-01-23 | 2016-09-15 | International Business Machines Corporation | Deduplication tracking for accurate lifespan prediction |
CN106294190A (zh) * | 2015-05-25 | 2017-01-04 | 中兴通讯股份有限公司 | 一种存储空间管理方法及装置 |
CN106371761A (zh) * | 2015-07-23 | 2017-02-01 | 株式会社东芝 | 内存系统以及非易失性内存的控制方法 |
CN106502918A (zh) * | 2016-09-19 | 2017-03-15 | 上海华为技术有限公司 | 一种内存调度方法及装置 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108833090A (zh) * | 2018-05-25 | 2018-11-16 | 四川斐讯信息技术有限公司 | 一种存储设备的加密方法、解密方法及存储设备 |
CN108710805A (zh) * | 2018-05-25 | 2018-10-26 | 四川斐讯信息技术有限公司 | 存储设备的加密方法、解密方法及存储设备 |
US11307992B2 (en) | 2018-06-22 | 2022-04-19 | Silicon Motion, Inc. | Method and apparatus for performing operations to namespaces of a flash memory device |
TWI708144B (zh) * | 2018-06-22 | 2020-10-21 | 慧榮科技股份有限公司 | 快閃記憶體的命名空間操作裝置及電腦程式產品 |
TWI678618B (zh) * | 2018-06-22 | 2019-12-01 | 慧榮科技股份有限公司 | 快閃記憶裝置的命名空間操作方法及裝置 |
CN109002258A (zh) * | 2018-06-27 | 2018-12-14 | 郑州云海信息技术有限公司 | 固态硬盘内命名空间分配方法、系统及设备和存储介质 |
CN111552435A (zh) * | 2018-10-25 | 2020-08-18 | 华为技术有限公司 | 存储系统中数据恢复方法、系统及装置 |
CN109902033A (zh) * | 2019-02-13 | 2019-06-18 | 山东华芯半导体有限公司 | 应用于NVMe SSD控制器的namespace的LBA分配方法和映射方法 |
WO2020164216A1 (zh) * | 2019-02-13 | 2020-08-20 | 山东华芯半导体有限公司 | 应用于NVMe SSD控制器的namespace的LBA分配方法和映射方法 |
CN109902033B (zh) * | 2019-02-13 | 2023-03-14 | 山东华芯半导体有限公司 | 应用于NVMe SSD控制器的namespace的LBA分配方法和映射方法 |
CN109901798A (zh) * | 2019-02-27 | 2019-06-18 | 新华三技术有限公司成都分公司 | 数据存储方法及装置 |
CN110069219A (zh) * | 2019-04-23 | 2019-07-30 | 深信服科技股份有限公司 | 一种数据存储方法、系统及电子设备和存储介质 |
CN110069219B (zh) * | 2019-04-23 | 2022-08-09 | 深信服科技股份有限公司 | 一种数据存储方法、系统及电子设备和存储介质 |
CN113741787A (zh) * | 2020-05-27 | 2021-12-03 | 浙江宇视科技有限公司 | 一种数据存储方法、装置、设备、介质 |
CN113741787B (zh) * | 2020-05-27 | 2024-04-05 | 浙江宇视科技有限公司 | 一种数据存储方法、装置、设备、介质 |
CN113721855A (zh) * | 2021-09-01 | 2021-11-30 | 中国建设银行股份有限公司 | 存储资源的存储方法、装置、电子设备及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107273061A (zh) | 一种固态硬盘创建多namespace的方法及系统 | |
CN108090225B (zh) | 数据库实例的运行方法、装置、系统及计算机可读存储介质 | |
CN103946831A (zh) | 用于模板的成本感知的选择以供应共享资源的系统、方法和程序产品 | |
CN103577454B (zh) | 一种文件合并方法和装置 | |
CN108388604A (zh) | 用户权限数据管理装置、方法及计算机可读存储介质 | |
WO2021027956A1 (zh) | 一种基于区块链系统的交易处理方法及装置 | |
US8682850B2 (en) | Method of enhancing de-duplication impact by preferential selection of master copy to be retained | |
US8122450B2 (en) | Method and apparatus for distributing memory in a data processing system | |
CN101866360A (zh) | 基于对象多维属性空间的数据仓库鉴权方法及系统 | |
CN104636417A (zh) | 管理数据的系统和方法 | |
CN101295229A (zh) | 管理装置及管理方法 | |
CN101763415B (zh) | 一种数据库的b树索引的生成方法及装置 | |
CN106095574B (zh) | 海量计算粗颗粒并行实现及计算任务随机动态分配方法 | |
CN107544756A (zh) | 基于SCM的Key‑Value日志型本地存储方法 | |
CN107807787A (zh) | 一种分布式数据存储方法和系统 | |
US9262505B2 (en) | Input-output prioritization for database workload | |
CN106777130A (zh) | 一种索引生成方法、数据检索方法和装置 | |
CN102253985A (zh) | 一种文件系统数据的管理方法及系统 | |
CN100395712C (zh) | 软件系统的资源管理方法 | |
CN103258047A (zh) | 一种面向药企作业成本控制数据仓库的数据组织方法 | |
Kumar et al. | An extended approach to Non-Replicated dynamic fragment allocation in distributed database systems | |
CN103207835A (zh) | 一种通过自适应的Range分区存储海量数据的方法 | |
CN110275895A (zh) | 一种缺失交通数据的填充设备、装置及方法 | |
CN106775450B (zh) | 一种混合存储系统中的数据分布方法 | |
CN102169418B (zh) | 一种资源受限设备和数据访问方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171020 |
|
RJ01 | Rejection of invention patent application after publication |