CN103559138A - 固态硬盘及其空间管理方法 - Google Patents
固态硬盘及其空间管理方法 Download PDFInfo
- Publication number
- CN103559138A CN103559138A CN201310468703.2A CN201310468703A CN103559138A CN 103559138 A CN103559138 A CN 103559138A CN 201310468703 A CN201310468703 A CN 201310468703A CN 103559138 A CN103559138 A CN 103559138A
- Authority
- CN
- China
- Prior art keywords
- lun
- solid state
- hard disc
- state hard
- mapping relations
- 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
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种固态硬盘及其空间管理方法,其中,该固态硬盘空间管理方法包括:在所述冗余区的可用空间不满足设定条件的情况下,将所述固态硬盘的数据区中的至少一个逻辑单元号LUN设置为失效;释放失效的LUN中的逻辑块地址LBA映射关系,所述LBA映射关系为写入所述数据区中的有效数据的LBA与物理地址之间的映射关系;将释放了所述LBA映射关系的LUN所映射的存储空间作为所述冗余区的可用空间。本发明实施例当冗余区的可用空间不满足设定条件时,可以将SSD的至少一个LUN设置为失效,并释放失效的LUN中的LBA映射关系以增加冗余区的可用空间,通过使SSD的数据区部分失效来延长SSD的使用寿命。
Description
技术领域
本发明涉及数据存储领域,尤其涉及一种固态硬盘及其空间管理方法。
背景技术
固态硬盘(Solid State Disk,简称SSD)采用电子存储介质进行数据存储和读取,突破了传统机械硬盘的性能瓶颈,拥有极高的存储性能。SSD采用闪存(Flash)芯片作为电子存储介质,具有无噪音、低功耗、质量轻、无结构限制的优点,可以根据实际应用需求设计出各种接口不同、形状不同的电子硬盘。SSD的存储空间通常可以包括数据区和冗余区,冗余区可以占存储单元的5%~30%。由于Flash具有先擦后写的访问特性,在SSD数据写入的过程中,需要申请SSD中数据区的空白块来保存主机写入的数据。如果数据区的空白块不足,可以将数据区中的某些块的有效数据移动到冗余区,并将这些块挂在垃圾回收链上,再启动垃圾回收,将这些块的数据擦除而变成空白块,并将这些块加入空白块表,后续可以从空白块表申请空白块以保存写入的数据。
SSD的数据区可能出现坏块,随着坏块在SSD中所占的比例的不断增加,在SSD可使用的空白块越来越少时,需要频繁启动垃圾回收来获得空白块,占用了大量的SSD资源,造成SSD在寿命后期性能下降。通常当坏块在SSD中所占的比例增加至一定数值时,可以将原本属于冗余区的块替代坏块作为数据区的一部分。
通常,冗余区在SSD中所占比例约为5%~30%,随着坏块的不断增加,冗余区的可用空间不断减少,当冗余区中的可用空间耗尽时,在SSD数据区存满后无法擦除,即使SSD仍然还有70%以上数据区的块是健康的,仍然会导致SSD整盘失效,因此,Flash资源利用率低,SSD使用寿命短。
发明内容
本发明要解决的技术问题是,如何提高SSD的使用寿命。
第一方面,本发明提供了一种固态硬盘空间管理方法,其特征在于,包括:
判断所述固态硬盘的冗余区的可用空间是否满足设定条件;
在所述冗余区的可用空间不满足设定条件的情况下,将所述固态硬盘的数据区中的至少一个逻辑单元号LUN设置为失效;
释放失效的LUN中的逻辑块地址LBA映射关系,所述LBA映射关系为写入所述数据区中的有效数据的LBA与物理地址之间的映射关系;
将释放了所述LBA映射关系的LUN所映射的存储空间作为所述冗余区的可用空间。
结合第一方面,在第一种可能的实现方式中,所述判断所述固态硬盘的冗余区的可用空间是否满足设定条件,包括:
在所述冗余区的可用空间在所述固态硬盘的存储空间中所占的比例小于设定阈值的情况下,确定所述冗余区的可用空间不满足设定条件。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述将所述固态硬盘的数据区中的至少一个逻辑单元号LUN设置为失效,包括:
查找所述固态硬盘的系统区的LUN热度表,将所述LUN热度表中访问热度最低的LUN确定为指定LUN,所述访问热度由一定周期内所述固态硬盘的所有LUN被访问的频率确定;
在所述系统区的LUN列表中将所述指定LUN的状态设置为失效;
所述释放失效的LUN中的逻辑块地址LBA映射关系,包括:
在所述系统区的映射关系表中将所述指定LUN对应的LBA映射关系删除。
结合第一方面或其任意一种可能的实现方式,在第三种可能的实现方式中,所述将释放了所述LBA映射关系的LUN所映射的存储空间作为所述冗余区的可用空间,包括:
将释放了所述LBA映射关系的LUN所映射的存储空间中的物理块设置为脏块;
将所述脏块加入垃圾回收链表;
在所述固态硬盘的垃圾回收过程中,将所述脏块擦除得到空白块,将所述空白块作为所述冗余区的可用空间。
结合第一方面或其任意一种可能的实现方式,在第四种可能的实现方式中,所述固态硬盘空间管理方法还包括:在所述冗余区的可用空间满足设定条件的情况下,若接收到上层系统发送的包括指定LUN的LUN释放命令,则在系统区的LUN列表中将所述指定LUN的状态设置为失效。
第二方面,本发明提供了一种固态硬盘,包括:
判断模块,用于判断冗余区的可用空间是否满足设定条件;
失效控制模块,用于在所述冗余区的可用空间不满足设定条件的情况下,将数据区中的至少一个逻辑单元号LUN设置为失效;
释放控制模块,用于释放失效的LUN中的逻辑块地址LBA映射关系,所述LBA映射关系为写入所述数据区中的有效数据的LBA与物理地址之间的映射关系;
空间控制模块,用于将释放了所述LBA映射关系LUN所映射的存储空间作为所述冗余区的可用空间。
结合第二方面,在第一种可能的实现方式中,所述判断模块具体用于:在所述冗余区的可用空间在所述固态硬盘中所占的比例小于设定阈值的情况下,确定所述冗余区的可用空间不满足设定条件。
结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述失效控制模块具体用于查找系统区的LUN热度表,将所述LUN热度表中访问热度最低的LUN确定为指定LUN,所述访问热度由一定周期内所述固态硬盘的所有LUN被访问的频率确定;在所述系统区的LUN列表中将所述指定LUN的状态设置为失效;
所述释放控制模块具体用于在所述系统区的映射关系表中将所述指定LUN对应的LBA映射关系删除。
结合第二方面或其任意一种可能的实现方式,在第三种可能的实现方式中,所述空间控制模块还用于:将释放了所述LBA映射关系的LUN所映射的存储空间的物理块设置为脏块;将所述脏块加入垃圾回收链表;在所述固态硬盘的垃圾回收过程中,将所述脏块擦除得到空白块,将所述空白块作为所述冗余区的可用空间。
结合第二方面或其任意一种可能的实现方式,在第四种可能的实现方式中,所述固态硬盘还包括:
接收模块,用于接收上层系统发送的LUN释放命令,所述LUN释放命令包括指定LUN;
所述失效控制模块,还用于在所述判断模块判断所述冗余区的可用空间满足设定条件的情况下,若所述接收模块接收到所述LUN释放命令,则在系统区的LUN列表中将所述指定LUN的状态设置为失效。
本发明实施例,当冗余区的可用空间不满足设定条件时,可以将SSD的至少一个LUN设置为失效,并释放失效的LUN中的LBA映射关系以增加冗余区的可用空间,通过使SSD的数据区部分失效来延长SSD的使用寿命。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。
图1a为本发明实施例一的固态硬盘空间管理方法的流程图;
图1b为本发明实施例一的固态硬盘空间管理方法中SSD的结构示意图;
图1c为本发明实施例一的固态硬盘空间管理方法中SSD中LUN部分失效的示意图;
图2为本发明实施例二的固态硬盘空间管理方法的流程图;
图3为本发明实施例三的固态硬盘的结构框图;
图4为本发明实施例四的固态硬盘的结构框图;
图5为本发明实施例五的固态硬盘的结构框图。
具体实施方式
以下将参考附图详细说明本发明的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
实施例1
图1a为本发明实施例一的固态硬盘空间管理方法的流程图,如图1a所示,该固态硬盘空间管理方法可以包括:
步骤101、判断所述固态硬盘的冗余区的可用空间是否满足设定条件。
具体地,图1b为本发明实施例一的固态硬盘空间管理方法中SSD的结构示意图,如图1b所示,固态硬盘(SSD)主要可以包括由多个闪存(Flash)11组成的存储空间,主控芯片15和缓存17。其中,闪存(Flash)11组成的存储空间可以实现系统区、数据区和冗余区的功能,主控芯片15可以控制执行响应的控制指令,以控制数据写入、垃圾回收等SSD的各种功能,缓存17则可以配合主控芯片15的工作,例如:在数据写入过程中缓存待写入的数据。其中,系统区一般是一段固定的存储区域,可以存储例如日志文件、固件(Firmware)、坏块表、LUN列表、状态表等信息,在物理实现上可以在某一闪存11中划分出一段固定的存储区域(如多个固定的物理块)作为系统区。此外,也可以专门设置一个小的存储器13作为系统区。数据区主要用于存储数据,冗余区主要用于SSD的垃圾回收、数据均衡等,数据区和冗余区可以通过逻辑地址映射到物理地址动态实现,不需要分配固定的物理块。图1c为本发明实施例一的固态硬盘空间管理方法中SSD中LUN部分失效的示意图,如图1c所示,可以预先为该固态硬盘的数据区分配n+1个逻辑单元号(LogicalUnit Number,简称LUN),例如:LUN0~LUNn。其中,在出厂时可以通过初始化命令来设置该固态硬盘的LUN。例如,可以通过自定义命令,定义固态硬盘划分的LUN数量和每个LUN所映射的存储空间的大小。其中,自定义命令可以根据某些因素例如固态硬盘业务、固态硬盘Flash的资源利用率等来设置。划分之后,可以通过LUN的命令参数向系统区上报LUN的数量和每个LUN的大小,并且划分的LUN的数量和每个LUN的大小可以记录在系统区的LUN列表中。
其中,冗余区通常占用固态硬盘存储空间的一定比例,一般可以为5%~30%,在SSD中出现坏块时,可以采用冗余区的部分空间替换坏块,随着坏块的不断增加,冗余区的可用空间不断减少,控制芯片如图1b中的主控芯片可以根据冗余区原本所占比例减去坏块所占的比例,得到当前冗余区的可用空间所占的比例。因此,步骤101具体可以包括:在所述冗余区的可用空间在所述固态硬盘的存储空间中所占的比例小于设定阈值的情况下,确定所述冗余区的可用空间不满足设定条件。以冗余区的比例为10%为例,如果数据区产生坏块,控制芯片可以采用冗余区的块替换该坏块作为数据区的存储空间。当控制芯片检测到坏块数量达到一定程度,如占固态硬盘存储空间的9%时,可以计算出冗余区的可用空间仅剩余1%。这种情况下,冗余区的可用空间太小,控制芯片可以判定冗余区的可用空间不满足设定条件。其中,冗余区、数据区、坏块所占用的比例仅为一种示例,具体数值可以根据实际的应用进行设定。此外,除了采用坏块所占比例判断冗余区的可用空间是否满足设定条件之外,也可以采用坏块数量、坏块所占比例等条件判断冗余区的可用空间是否满足设定条件。
步骤102、在所述冗余区的可用空间不满足设定条件的情况下,将所述固态硬盘的数据区中的至少一个逻辑单元号LUN设置为失效。
具体地,控制芯片可以在系统区的LUN列表中将该LUN的状态设置为失效,使得数据区中该LUN所映射的存储空间失效。需要注意的是,在SSD的LUN列表中记录了某一LUN的状态为失效后,如果收到访问该LUN的请求,可以返回该LUN的失效错误码例如:ASC/ASCQ:3Eh/01h。
步骤103、释放失效的LUN中的逻辑块地址(Logical Block Address,简称LBA)映射关系,所述LBA映射关系为写入所述数据区中的有效数据的LBA与物理地址之间的映射关系。
具体地,控制芯片将有效数据写入SSD的某一LUN的过程中,该LUN中的LBA会映射到物理地址对应的物理块,该LBA与其映射的物理块之间对应关系即为LBA映射关系。LBA映射关系可以保存在系统区的映射关系表中,因此,需要释放某个LUN中的LBA映射关系时,可以在系统区将该LUN对应LBA映射关系从映射关系表中删除。
步骤104、将释放了所述LBA映射关系的LUN所映射的存储空间作为所述冗余区的可用空间。
具体地,控制芯片可以将该LUN所映射的存储空间的块置脏;例如:在系统区的状态表中,将这些块的状态设置为脏的标识如dirty、garbage等。
举例而言,如果SSD物理的存储空间为100G,其中,数据区占90G,冗余区占10G,可以从存储空间中划分LUN0~LUN8共9个LUN,每个LUN大小为10G,这样,该固态硬盘每个LUN占10%、冗余区在存储空间所占的比例也是10%,当出现的坏块在存储空间所占的比例达到9%时,冗余区的可用空间下降至1%,可以从这9个LUN中选定并释放一个LUN并将释放得到的10G作为冗余区,这样,冗余区的比例可以变为约12%(11G冗余区可用空间除以91G未损坏的存储空间约等于12%)。
本实施例的固态硬盘空间管理方法,当冗余区的可用空间不满足设定条件时,可以将SSD的至少一个LUN设置为失效,并释放失效的LUN中的LBA映射关系以增加冗余区的可用空间,通过使SSD的数据区部分失效来延长SSD的使用寿命。
实施例2
图2为本发明实施例二的固态硬盘空间管理方法的流程图,图2与图1a标号相同的步骤具有相同的功能,为简明起见,省略对这些步骤的详细说明。
与上一实施例的主要区别在于,步骤102具体可以包括以下步骤:
步骤201、查找所述固态硬盘的系统区的LUN热度表,将所述LUN热度表中访问热度最低的LUN确定为指定LUN,所述访问热度由一定周期内所述固态硬盘的所有LUN被访问的频率确定;其中,访问热度越低,该LUN失效对SSD整体存储性能的影响越小。
步骤202、在所述系统区的LUN列表中将所述指定LUN的状态设置为失效;
步骤203、在所述系统区的映射关系表中将所述指定LUN对应的LBA映射关系删除。
其中,在SSD的系统区还可以保存LUN热度表,用于存储每个LUN的访问频率。在控制芯片检测到在冗余区的可用空间下降到某一阈值例如1%时,可以查询该SSD的系统区中的LUN热度表,根据该LUN热度表中记录的每个LUN的访问热度例如在一定周期如1天内LUN0被访问的频率为3次/天、LUN1的访问热度为2次/天、LUN2的访问热度为4次/天、LUN8的访问热度为9次/天,可以从该LUN热度表中选定访问热度最低的LUN1,并释放LUN1的全部LBA,并将LUN1所映射的存储空间作为冗余区,参见图1c。
此外,在所述冗余区的可用空间满足设定条件的情况下,也可以通过系统的释放命令,控制SSD的空间分配。在这种情况下,该固态硬盘空间管理方法还可以包括:
步骤200、在所述冗余区的可用空间满足设定条件的情况下,判断是否接收到上层系统发送的包括指定LUN的LUN释放命令,如果是,则执行步骤202。
具体地,一种情况下,步骤200可以与步骤100没有时序关系,SSD的控制芯片接收到LUN释放命令后,可以执行步骤202将指令LUN设置为失效,然后执行步骤203释放指令LUN的LBA映射关系。另一种情况下,步骤200也可以在步骤100之后执行,这种情况下,在步骤101的判断结果为冗余区的可用空间满足设定条件的情况下,例如:冗余区的可用空间大于设定阈值,再执行步骤200判断是否接收到上层系统发送的LUN释放命令,如果接收到的LUN释放命令,再执行步骤202、步骤203。如果在冗余区的可用空间满足设定条件且未收到上层系统发送的LUN释放命令,则可以停止执行后续步骤,不对该SSD中的LUN进行失效设置。
在某些情况下,例如通过SSD的SMART信息中的使用寿命比例得知的固态硬盘的使用寿命预警时,上层系统可以通过向SSD下发自定义的LUN释放命令,指示SSD将LUN列表中的至少一个指定LUN设置为无效并释放其全部LBA。
进一步地,步骤103具体可以包括:
步骤204、将释放了所述LBA映射关系LUN所映射的存储空间中的物理块设置为脏块;
步骤205、将所述脏块加入垃圾回收链表;
步骤206、在所述固态硬盘的垃圾回收过程中,将所述脏块擦除得到空白块,将所述空白块作为所述冗余区的可用空间。
在SSD的控制芯片启动垃圾回收时,可以将垃圾回收链表中的脏块中的数据擦除,获得空白块,加入空白块表,以供后续循环使用。这样,该SSD的冗余区的可用空间增加例如:从被坏块占用后仅剩余1G增加到11G。
本实施例的固态硬盘空间管理方法,当冗余区的可用空间不满足设定条件或收到LUN释放命令时,可以将SSD的至少一个LUN设置为失效,并释放失效的LUN中的LBA映射关系以增加冗余区的可用空间,通过使SSD的数据区部分失效来延长SSD的使用寿命。
实施例3
图3为本发明实施例三的固态硬盘的结构框图,如图3所示,该固态硬盘可以包括:
判断模块31,用于判断冗余区的可用空间是否满足设定条件;
失效控制模块33,用于在所述冗余区的可用空间不满足设定条件的情况下,将所述数据区中的至少一个逻辑单元号LUN设置为失效;
释放控制模块35,用于释放失效的LUN中的逻辑块地址LBA映射关系,所述LBA映射关系为写入数据区中的有效数据的LBA与物理地址之间的映射关系;
空间控制模块37,用于将释放了所述LBA映射关系LUN所映射的存储空间作为所述冗余区的可用空间。
其中,参见图1b,固态硬盘主要可以包括由多个闪存(Flash)11组成的存储空间,主控芯片15和缓存17。其中,闪存(Flash)11组成的存储空间可以实现系统区、数据区和冗余区的功能。主控芯片15可以控制执行响应的控制指令,以控制数据写入、垃圾回收等SSD的各种功能,缓存17则可以配合主控芯片15的工作,例如:在数据写入过程中缓存待写入的数据。其中,系统区一般是一段固定的存储区域,可以存储例如日志文件、固件(Firmware)、坏块表、LUN列表、状态表等信息,在物理实现上可以在某一闪存11中划分出一段固定的存储区域(如多个固定的物理块)作为系统区。此外,也可以专门设置一个小的存储器13作为系统区。判断模块31、失效控制模块33、释放控制模块35和空间控制模块37可以设置在SSD的主控芯片15中,通过主控芯片15执行相应的指令来实现各个模块的功能。主控芯片15的各个模块将释放LUN以增加冗余区的具体方法可以参见上述方法实施例的相关描述。
本实施例的固态硬盘,当判断模块判定冗余区的可用空间不满足设定条件时,失效控制模块可以将SSD的至少一个LUN设置为失效,释放控制模块和空间控制模块可以释放失效的LUN中的LBA映射关系以增加冗余区的可用空间,通过使SSD的数据区部分失效来延长SSD的使用寿命。
实施例4
图4为本发明实施例四的固态硬盘的结构框图,图4与图3标号相同的组件具有相同的功能,为简明起见,省略对这些组件的详细说明。
与上一实施例的主要区别在于,判断模块31具体可以用于:在所述冗余区的可用空间在所述固态硬盘中所占的比例小于设定阈值的情况下,确定所述冗余区的可用空间不满足设定条件。具体示例可以参见上述实施例一的固体硬盘空间管理方法的相关描述。
在一种可能的实现方式中,所述失效控制模块33具体可以用于查找系统区的LUN热度表,将所述LUN热度表中访问热度最低的LUN确定为指定LUN,所述访问热度由一定周期内所述固态硬盘的所有LUN被访问的频率确定;在所述系统区的LUN列表中将所述指定LUN的状态设置为失效;
所述释放控制模块35具体可以用于在所述系统区的映射关系表中将所述指定LUN对应的LBA映射关系删除。具体示例可以参见上述实施例二的固体硬盘空间管理方法的相关描述。
在一种可能的实现方式中,所述空间控制模块37还可以用于:将释放了所述LBA映射关系的LUN所映射的存储空间的物理块设置为脏块;将所述脏块加入垃圾回收链表;在所述固态硬盘的垃圾回收过程中,将所述脏块擦除得到空白块,将所述空白块作为所述冗余区的可用空间。
在一种可能的实现方式中,该固态硬盘还可以包括:
接收模块41,用于接收上层系统发送的LUN释放命令,所述LUN释放命令包括指定LUN;
所述失效控制模块33,还用于在所述判断模块31判断所述冗余区的可用空间满足设定条件的情况下,若所述接收模块41接收到所述LUN释放命令,则在系统区的LUN列表中将所述指定LUN的状态设置为失效。其中,接收模块41、判断模块31和失效控制模块33可以互相配合以确定如何将固态硬盘中的部分LUN设置为失效,具体过程可以参见图2和上述实施例二的固体硬盘空间管理方法的相关描述。
本实施例的固态硬盘,当判断模块判定冗余区的可用空间不满足设定条件或接收模块收到LUN释放命令时,失效控制模块可以将SSD的至少一个LUN设置为失效,释放控制模块和空间控制模块可以释放失效的LUN中的LBA映射关系以增加冗余区的可用空间,通过使SSD的数据区部分失效来延长SSD的使用寿命。
实施例5
图5为本发明实施例五的固态硬盘的结构框图。如图5所示,所述固态硬盘500可以包括处理器(processor)510、通信接口(CommunicationsInterface)520、存储器(memory array)530和总线540。其中,处理器510、通信接口520、以及存储器530通过总线540完成相互间的通信。
其中,处理器510用于执行程序。处理器510可能是一个中央处理器CPU,或者是专用集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器1130用于存放程序和/或数据。存储器530可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory)。存储器530也可以是存储器阵列。存储器530还可能被分块,并且所述块可按一定的规则组合成虚拟卷。
在一种可能的实施方式中,上述程序可为包括计算机操作指令的程序代码。该程序具体可用于:
判断所述固态硬盘的冗余区的可用空间是否满足设定条件;
在所述冗余区的可用空间不满足设定条件的情况下,将所述固态硬盘的数据区中的至少一个逻辑单元号LUN设置为失效;
释放失效的LUN中的逻辑块地址LBA映射关系,所述LBA映射关系为写入所述数据区中的有效数据的LBA与物理地址之间的映射关系;
将释放了所述LBA映射关系的LUN所映射的存储空间作为所述冗余区的可用空间。
本实施例的固态硬盘,当冗余区的可用空间不满足设定条件或接收模块收到LUN释放命令时,可以将SSD的至少一个LUN设置为失效,释放失效的LUN中的LBA映射关系以增加冗余区的可用空间,通过使SSD的数据区部分失效来延长SSD的使用寿命。
本领域普通技术人员可以意识到,本文所描述的实施例中的各示例性单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件形式来实现,取决于技术方案的特定应用和设计约束条件。专业技术人员可以针对特定的应用选择不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
如果以计算机软件的形式来实现所述功能并作为独立的产品销售或使用时,则在一定程度上可认为本发明的技术方案的全部或部分(例如对现有技术做出贡献的部分)是以计算机软件产品的形式体现的。该计算机软件产品通常存储在计算机可读取的存储介质中,包括若干指令用以使得计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各实施例方法的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种固态硬盘空间管理方法,其特征在于,包括:
判断所述固态硬盘的冗余区的可用空间是否满足设定条件;
在所述冗余区的可用空间不满足设定条件的情况下,将所述固态硬盘的数据区中的至少一个逻辑单元号LUN设置为失效;
释放失效的LUN中的逻辑块地址LBA映射关系,所述LBA映射关系为写入所述数据区中的有效数据的LBA与物理地址之间的映射关系;
将释放了所述LBA映射关系的LUN所映射的存储空间作为所述冗余区的可用空间。
2.根据权利要求1所述的固态硬盘空间管理方法,其特征在于,所述判断所述固态硬盘的冗余区的可用空间是否满足设定条件,包括:
在所述冗余区的可用空间在所述固态硬盘的存储空间中所占的比例小于设定阈值的情况下,确定所述冗余区的可用空间不满足设定条件。
3.根据权利要求1或2所述的固态硬盘空间管理方法,其特征在于,所述将所述固态硬盘的数据区中的至少一个逻辑单元号LUN设置为失效,包括:
查找所述固态硬盘的系统区的LUN热度表,将所述LUN热度表中访问热度最低的LUN确定为指定LUN,所述访问热度由一定周期内所述固态硬盘的所有LUN被访问的频率确定;
在所述系统区的LUN列表中将所述指定LUN的状态设置为失效;
所述释放失效的LUN中的逻辑块地址LBA映射关系,包括:
在所述系统区的映射关系表中将所述指定LUN对应的LBA映射关系删除。
4.根据权利要求1-3中任一项所述的固态硬盘空间管理方法,其特征在于,所述将释放了所述LBA映射关系的LUN所映射的存储空间作为所述冗余区的可用空间,包括:
将释放了所述LBA映射关系的LUN所映射的存储空间中的物理块设置为脏块;
将所述脏块加入垃圾回收链表;
在所述固态硬盘的垃圾回收过程中,将所述脏块擦除得到空白块,将所述空白块作为所述冗余区的可用空间。
5.根据权利要求1-4中任一项所述的固态硬盘空间管理方法,其特征在于,还包括:
在所述冗余区的可用空间满足设定条件的情况下,若接收到上层系统发送的包括指定LUN的LUN释放命令,则在系统区的LUN列表中将所述指定LUN的状态设置为失效。
6.一种固态硬盘,其特征在于,包括:
判断模块,用于判断冗余区的可用空间是否满足设定条件;
失效控制模块,用于在所述冗余区的可用空间不满足设定条件的情况下,将数据区中的至少一个逻辑单元号LUN设置为失效;
释放控制模块,用于释放失效的LUN中的逻辑块地址LBA映射关系,所述LBA映射关系为写入所述数据区中的有效数据的LBA与物理地址之间的映射关系;
空间控制模块,用于将释放了所述LBA映射关系LUN所映射的存储空间作为所述冗余区的可用空间。
7.根据权利要求6所述的固态硬盘,其特征在于,所述判断模块具体用于:在所述冗余区的可用空间在所述固态硬盘中所占的比例小于设定阈值的情况下,确定所述冗余区的可用空间不满足设定条件。
8.根据权利要求6或7所述的固态硬盘,其特征在于,所述失效控制模块具体用于查找系统区的LUN热度表,将所述LUN热度表中访问热度最低的LUN确定为指定LUN,所述访问热度由一定周期内所述固态硬盘的所有LUN被访问的频率确定;在所述系统区的LUN列表中将所述指定LUN的状态设置为失效;
所述释放控制模块具体用于在所述系统区的映射关系表中将所述指定LUN对应的LBA映射关系删除。
9.根据权利要求6-8中任一项所述的固态硬盘,其特征在于,所述空间控制模块还用于:将释放了所述LBA映射关系的LUN所映射的存储空间的物理块设置为脏块;将所述脏块加入垃圾回收链表;在所述固态硬盘的垃圾回收过程中,将所述脏块擦除得到空白块,将所述空白块作为所述冗余区的可用空间。
10.根据权利要求6-9中任一项所述的固态硬盘,其特征在于,还包括:
接收模块,用于接收上层系统发送的LUN释放命令,所述LUN释放命令包括指定LUN;
所述失效控制模块,还用于在所述判断模块判断所述冗余区的可用空间满足设定条件的情况下,若所述接收模块接收到所述LUN释放命令,则在系统区的LUN列表中将所述指定LUN的状态设置为失效。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310468703.2A CN103559138B (zh) | 2013-10-09 | 2013-10-09 | 固态硬盘及其空间管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310468703.2A CN103559138B (zh) | 2013-10-09 | 2013-10-09 | 固态硬盘及其空间管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103559138A true CN103559138A (zh) | 2014-02-05 |
CN103559138B CN103559138B (zh) | 2016-03-30 |
Family
ID=50013389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310468703.2A Active CN103559138B (zh) | 2013-10-09 | 2013-10-09 | 固态硬盘及其空间管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103559138B (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105912279A (zh) * | 2016-05-19 | 2016-08-31 | 河南中天亿科电子科技有限公司 | 固态存储回收系统及固态存储回收方法 |
CN106527992A (zh) * | 2016-11-09 | 2017-03-22 | 郑州云海信息技术有限公司 | 一种存储设备数据销毁方法及装置 |
CN107506148A (zh) * | 2017-08-29 | 2017-12-22 | 郑州云海信息技术有限公司 | 一种固态硬盘虚拟块弃用的方法与装置 |
CN107688442A (zh) * | 2017-09-04 | 2018-02-13 | 郑州云海信息技术有限公司 | 一种用于固态硬盘的虚拟块管理方法 |
CN107885455A (zh) * | 2016-09-30 | 2018-04-06 | 郑州云海信息技术有限公司 | 一种磁盘日志区动态调整方法 |
WO2019062202A1 (zh) * | 2017-09-29 | 2019-04-04 | 华为技术有限公司 | 硬盘操作命令的执行方法、硬盘及存储介质 |
CN110209481A (zh) * | 2019-05-17 | 2019-09-06 | 深圳市德名利电子有限公司 | 一种命令队列优化管理的实现方法和系统以及设备 |
CN110659217A (zh) * | 2019-08-30 | 2020-01-07 | 苏州浪潮智能科技有限公司 | 一种固态硬盘的垃圾回收方法、装置、设备及存储介质 |
CN111108488A (zh) * | 2017-11-07 | 2020-05-05 | 华为技术有限公司 | 内存块回收方法和装置 |
CN111104056A (zh) * | 2018-10-25 | 2020-05-05 | 华为技术有限公司 | 存储系统中数据恢复方法、系统及装置 |
CN111367464A (zh) * | 2018-12-25 | 2020-07-03 | 北京兆易创新科技股份有限公司 | 一种存储空间管理方法及装置 |
CN112000591A (zh) * | 2020-08-24 | 2020-11-27 | 深圳忆联信息系统有限公司 | 可指定逻辑区块地址的扫描ssd方法、装置、计算机设备及存储介质 |
CN112148225A (zh) * | 2020-09-23 | 2020-12-29 | 上海爱数信息技术股份有限公司 | 一种基于NVMe SSD的块存储缓存系统及其方法 |
CN112445429A (zh) * | 2020-10-30 | 2021-03-05 | 至誉科技(武汉)有限公司 | 固态硬盘物理块的管理方法及系统 |
CN112927749A (zh) * | 2021-03-09 | 2021-06-08 | 杭州海康威视数字技术股份有限公司 | 固态硬盘管理方法、装置、电子设备及固态硬盘 |
CN113900903A (zh) * | 2021-10-27 | 2022-01-07 | 深圳星火半导体科技有限公司 | 日志存储装置、日志撷取方法及存储介质 |
CN114461137A (zh) * | 2021-12-23 | 2022-05-10 | 天翼云科技有限公司 | 一种基于固体硬盘的写入方法及装置 |
CN116540949A (zh) * | 2023-07-04 | 2023-08-04 | 苏州浪潮智能科技有限公司 | 一种独立冗余磁盘阵列存储空间动态分配方法和装置 |
CN117149093A (zh) * | 2023-10-27 | 2023-12-01 | 四川省华存智谷科技有限责任公司 | 一种通过ssd缩容提升存储系统可靠性的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1254911A (zh) * | 1998-10-10 | 2000-05-31 | 三星电子株式会社 | 带有缺陷管理备用区的记录介质以及分配备用区的方法 |
EP1403771A4 (en) * | 2001-06-28 | 2008-02-27 | Matsushita Electric Ind Co Ltd | METHOD FOR CONTROLLING NON-VOLATILE MEMORY |
US20090285085A1 (en) * | 2008-05-16 | 2009-11-19 | Sony Corporation | Optical disc recording device, data recording method, and data recording program |
CN101593157A (zh) * | 2008-05-27 | 2009-12-02 | 中兴通讯股份有限公司 | 非线性闪存的坏块管理方法及装置 |
CN102023818A (zh) * | 2010-12-06 | 2011-04-20 | 成都市华为赛门铁克科技有限公司 | 一种存储设备容量调整方法、装置及存储设备 |
-
2013
- 2013-10-09 CN CN201310468703.2A patent/CN103559138B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1254911A (zh) * | 1998-10-10 | 2000-05-31 | 三星电子株式会社 | 带有缺陷管理备用区的记录介质以及分配备用区的方法 |
EP1403771A4 (en) * | 2001-06-28 | 2008-02-27 | Matsushita Electric Ind Co Ltd | METHOD FOR CONTROLLING NON-VOLATILE MEMORY |
US20090285085A1 (en) * | 2008-05-16 | 2009-11-19 | Sony Corporation | Optical disc recording device, data recording method, and data recording program |
CN101593157A (zh) * | 2008-05-27 | 2009-12-02 | 中兴通讯股份有限公司 | 非线性闪存的坏块管理方法及装置 |
CN102023818A (zh) * | 2010-12-06 | 2011-04-20 | 成都市华为赛门铁克科技有限公司 | 一种存储设备容量调整方法、装置及存储设备 |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105912279A (zh) * | 2016-05-19 | 2016-08-31 | 河南中天亿科电子科技有限公司 | 固态存储回收系统及固态存储回收方法 |
CN105912279B (zh) * | 2016-05-19 | 2019-02-22 | 河南中天亿科电子科技有限公司 | 固态存储回收系统及固态存储回收方法 |
CN107885455A (zh) * | 2016-09-30 | 2018-04-06 | 郑州云海信息技术有限公司 | 一种磁盘日志区动态调整方法 |
CN106527992A (zh) * | 2016-11-09 | 2017-03-22 | 郑州云海信息技术有限公司 | 一种存储设备数据销毁方法及装置 |
CN107506148B (zh) * | 2017-08-29 | 2020-03-24 | 郑州云海信息技术有限公司 | 一种固态硬盘虚拟块弃用的方法与装置 |
CN107506148A (zh) * | 2017-08-29 | 2017-12-22 | 郑州云海信息技术有限公司 | 一种固态硬盘虚拟块弃用的方法与装置 |
CN107688442A (zh) * | 2017-09-04 | 2018-02-13 | 郑州云海信息技术有限公司 | 一种用于固态硬盘的虚拟块管理方法 |
CN107688442B (zh) * | 2017-09-04 | 2020-11-20 | 苏州浪潮智能科技有限公司 | 一种用于固态硬盘的虚拟块管理方法 |
US11360705B2 (en) | 2017-09-29 | 2022-06-14 | Huawei Technologies Co., Ltd. | Method and device for queuing and executing operation commands on a hard disk |
WO2019062202A1 (zh) * | 2017-09-29 | 2019-04-04 | 华为技术有限公司 | 硬盘操作命令的执行方法、硬盘及存储介质 |
US11886333B2 (en) | 2017-11-07 | 2024-01-30 | Huawei Technologies Co., Ltd. | Memory block reclamation method and apparatus |
CN111108488A (zh) * | 2017-11-07 | 2020-05-05 | 华为技术有限公司 | 内存块回收方法和装置 |
CN111104056A (zh) * | 2018-10-25 | 2020-05-05 | 华为技术有限公司 | 存储系统中数据恢复方法、系统及装置 |
US12111728B2 (en) | 2018-10-25 | 2024-10-08 | Huawei Technologies Co., Ltd. | Data recovery method, system, and apparatus in storage system |
CN111367464A (zh) * | 2018-12-25 | 2020-07-03 | 北京兆易创新科技股份有限公司 | 一种存储空间管理方法及装置 |
CN111367464B (zh) * | 2018-12-25 | 2024-02-20 | 兆易创新科技集团股份有限公司 | 一种存储空间管理方法及装置 |
CN110209481A (zh) * | 2019-05-17 | 2019-09-06 | 深圳市德名利电子有限公司 | 一种命令队列优化管理的实现方法和系统以及设备 |
CN110209481B (zh) * | 2019-05-17 | 2022-07-26 | 深圳市德明利技术股份有限公司 | 一种命令队列优化管理的实现方法和系统以及设备 |
CN110659217B (zh) * | 2019-08-30 | 2021-10-15 | 苏州浪潮智能科技有限公司 | 一种固态硬盘的垃圾回收方法、装置、设备及存储介质 |
CN110659217A (zh) * | 2019-08-30 | 2020-01-07 | 苏州浪潮智能科技有限公司 | 一种固态硬盘的垃圾回收方法、装置、设备及存储介质 |
CN112000591A (zh) * | 2020-08-24 | 2020-11-27 | 深圳忆联信息系统有限公司 | 可指定逻辑区块地址的扫描ssd方法、装置、计算机设备及存储介质 |
CN112000591B (zh) * | 2020-08-24 | 2023-12-05 | 深圳忆联信息系统有限公司 | 可指定逻辑区块地址的扫描ssd方法、装置、计算机设备及存储介质 |
CN112148225A (zh) * | 2020-09-23 | 2020-12-29 | 上海爱数信息技术股份有限公司 | 一种基于NVMe SSD的块存储缓存系统及其方法 |
CN112148225B (zh) * | 2020-09-23 | 2023-04-25 | 上海爱数信息技术股份有限公司 | 一种基于NVMe SSD的块存储缓存系统及其方法 |
CN112445429A (zh) * | 2020-10-30 | 2021-03-05 | 至誉科技(武汉)有限公司 | 固态硬盘物理块的管理方法及系统 |
CN112445429B (zh) * | 2020-10-30 | 2022-08-05 | 至誉科技(武汉)有限公司 | 固态硬盘物理块的管理方法及系统 |
CN112927749B (zh) * | 2021-03-09 | 2022-07-05 | 杭州海康威视数字技术股份有限公司 | 固态硬盘管理方法、装置、电子设备及固态硬盘 |
CN112927749A (zh) * | 2021-03-09 | 2021-06-08 | 杭州海康威视数字技术股份有限公司 | 固态硬盘管理方法、装置、电子设备及固态硬盘 |
CN113900903A (zh) * | 2021-10-27 | 2022-01-07 | 深圳星火半导体科技有限公司 | 日志存储装置、日志撷取方法及存储介质 |
CN114461137B (zh) * | 2021-12-23 | 2024-01-02 | 天翼云科技有限公司 | 一种基于固体硬盘的写入方法及装置 |
CN114461137A (zh) * | 2021-12-23 | 2022-05-10 | 天翼云科技有限公司 | 一种基于固体硬盘的写入方法及装置 |
CN116540949A (zh) * | 2023-07-04 | 2023-08-04 | 苏州浪潮智能科技有限公司 | 一种独立冗余磁盘阵列存储空间动态分配方法和装置 |
CN116540949B (zh) * | 2023-07-04 | 2024-01-12 | 苏州浪潮智能科技有限公司 | 一种独立冗余磁盘阵列存储空间动态分配方法和装置 |
CN117149093A (zh) * | 2023-10-27 | 2023-12-01 | 四川省华存智谷科技有限责任公司 | 一种通过ssd缩容提升存储系统可靠性的方法 |
CN117149093B (zh) * | 2023-10-27 | 2024-03-26 | 四川省华存智谷科技有限责任公司 | 一种通过ssd缩容提升存储系统可靠性的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103559138B (zh) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103559138B (zh) | 固态硬盘及其空间管理方法 | |
CN103562842B (zh) | 用于存储设备的用低预留空间实现低写入放大的方法 | |
CN102779096B (zh) | 一种基于页块面三维的闪存地址映射方法 | |
CN103092766B (zh) | 一种用于nand flash的均衡损耗实现方法 | |
CN105573681B (zh) | 一种ssd盘片内部raid组建方法及系统 | |
US9146851B2 (en) | Single-level cell and multi-level cell hybrid solid state drive | |
CN102449607B (zh) | 具有多个闪存封装的存储系统 | |
CN103049397B (zh) | 一种基于相变存储器的固态硬盘内部缓存管理方法及系统 | |
CN101419842B (zh) | 硬盘的损耗均衡方法、装置及系统 | |
US20140129758A1 (en) | Wear leveling in flash memory devices with trim commands | |
CN111722793B (zh) | 开放通道存储设备的操作方法 | |
US8195971B2 (en) | Solid state disk and method of managing power supply thereof and terminal including the same | |
CN109358809B (zh) | 一种raid数据存储系统及方法 | |
CN100449549C (zh) | 嵌入式系统中NAND Flash存储器上建立文件系统的方法 | |
CN105159622A (zh) | 一种减小ssd读写io时延的方法与系统 | |
CN104050097A (zh) | 在具有不同的最小可寻址数据单元大小的非易失性存储器单元之间进行选择 | |
CN104049907A (zh) | 动态存储设备自动配置 | |
CN104461397A (zh) | 一种固态硬盘及其读写方法 | |
CN101556555B (zh) | 用于闪存的区块管理方法、其控制器与储存系统 | |
CN110347613A (zh) | 多租户固态盘中实现raid的方法、控制器及多租户固态盘 | |
CN103729149A (zh) | 一种存储数据的方法 | |
CN109213693A (zh) | 存储管理方法、存储系统和计算机程序产品 | |
CN102981970A (zh) | 闪存管理方法和系统 | |
CN101609431B (zh) | 闪存装置的运作方法及闪存装置 | |
US20200004639A1 (en) | Storage utilizing a distributed cache chain and a checkpoint drive in response to a data drive corruption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |