CN116364148A - 一种面向分布式全闪存储***的磨损均衡方法及*** - Google Patents
一种面向分布式全闪存储***的磨损均衡方法及*** Download PDFInfo
- Publication number
- CN116364148A CN116364148A CN202210471090.7A CN202210471090A CN116364148A CN 116364148 A CN116364148 A CN 116364148A CN 202210471090 A CN202210471090 A CN 202210471090A CN 116364148 A CN116364148 A CN 116364148A
- Authority
- CN
- China
- Prior art keywords
- data
- list
- writing
- block
- blocks
- 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
- 238000000034 method Methods 0.000 title claims description 22
- 238000005299 abrasion Methods 0.000 claims description 25
- 238000013507 mapping Methods 0.000 claims description 12
- 230000001174 ascending effect Effects 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 abstract description 2
- 230000002035 prolonged effect Effects 0.000 abstract description 2
- 238000013403 standard screening design Methods 0.000 description 61
- 230000008569 process Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4091—Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提出一种面向分布式全闪存储***的磨损均衡算法,通过节点间的磨损均衡、节点内设备间的磨损均衡、设备内块间的磨损均衡和设备内使用块和空闲块间的磨损均衡四级实现存储***的多级磨损均衡算法。通过四级磨损均衡算法达到均衡存储***内各个设备的磨损均衡,最大化延长设备寿命,节省存储***维护成本,保证数据可靠性。
Description
技术领域
本发明涉及面向分布式全闪存储***的数据存储及纠删码领域,特别涉及一种面向分布式全闪存储***的存储设备间的磨损均衡算法。
背景技术
在大数据时代,面向高性能计算的存储***设计中,存储***需要提供高并发、高带宽和低时延的IO能力。传统机械盘无法提供高效的访问带宽和时延,特别是面向高并发的OpenMPI并行计算应用,需要提高较高的持续写入能力和较低的反应时延,另一方面,随着科技和集成电路工艺水平的进展,NVMe SSD等固态存储设备价格越来越低,NVMe SSD已经逐步代替传统机械盘,越来越多的全闪产品上市。在存储***中使用SSD设备代替旋转机械设备,在得到高带宽、低时延IO的好处的同时,也引入了寿命的问题。
SSD使用半导体作为存储介质,包括DRAM、NOR Flash、NAND Flash等。现在比较常用的是NAND Flash作为存储介质的SSD。NAND Flash的数据由浮栅单元存储,每个单元根据存储介质的不同(SLC,MLC,TLC)可以存储1、2或3个bits。由浮栅单元组成逻辑页,逻辑页组成逻辑块。一个页由4kB数据存储空间和128B ECC校验数据的存储空间组成,64个页又组成了一个块。页是NAND Flash中最小的读写寻址单元,块是NANDFlash中最小的可擦除单元。可以随意读取页中的数据或者向空白的页写入数据,但是不能改写已经写入页中的数据,如果改写需要将整个块的数据擦除,然后才能重新写入新的数据。
NAND Flash的这种读写机制导致其读写接口不能使用常见的读(read)和写(write)接口,在读写之外还需要加入擦除(erase)功能。在Flash和传统接口之间需要添加一个转换层FTL,位于SSD的Host interface和NAND Interface之间,负责2种接口之间的转换。FTL主要负责的功能有地址映射、磨损均衡、垃圾回收、坏块管理等。地址映射为主机使用逻辑地址定位数据,由FTL完成从逻辑地址到物理地址的映射。当数据修改时,我们把数据写到一个新的页上并修改FTL中记录的地址映射,以避免多余的数据读写。磨损均衡为Flash中每个存储单元的可写入次数是有限的,为了延长整个设备的使用寿命,尽量保证每个单元的写入次数均匀。FTL记录各个块的剩余寿命,尽量使用寿命长的块。同时,也会把一些存储在剩余寿命比较长的块中但是不经常改动的数据搬移到剩余寿命较短的块中。垃圾回收是在NAND Flash中,以块为单位擦除,失效的页空间不会立刻释放。而垃圾回收负责释放失效的页,保证空间利用率。它会把一个块中还有效的页复制到其他块中,然后擦除整个块。坏块管理会记录下已经无法使用的块,在写入数据时避开。
SSD中除了存储介质和控制器还有一个关键的组成部分就是主机接口。以Intel为代表的厂商联合推出了专为PCIe SSD设计的协议NVMe。NVMe协议专为SSD设计,最大支持64k个队列,每个队列可以容纳64k条指令,使用多队列和doorbell的方式读写指令,不需要对队列加锁,可以充分发挥高性能SSD设备的性能。PCIe接口解决了SSD主机接口的硬件通路瓶颈问题,NVMe协议解决了SSD主机接口的软件协议瓶颈问题。SSD设备提供SATA接口和PCIe接口,SATA接口受限于SATA总线,传输速度大约为600MB/s,PCIe接口提供NVMe协议,目前基于NVMe协议的NVMe SSD通过SPDK用户态接口可以提供高达3GB/s的读写带宽和10us级别的访问时延。
基于SSD构建的分布式全闪存储***需要构建多个维度的磨损均衡算法,保证各节点、各设备和设备内的磨损均衡。通过SPDK用户态协议可以规避CPU、协议栈等开销,使得开发者能够充分发挥裸设备的性能,但SSD内部的磨损均衡算法,仅能在设备内部达到磨损均衡的目的,无法达到***级别的磨损均衡控制。
发明内容
在实际的分布式全闪存储运行环境中,存在数据读取、写入、更新和删除等操作,其中数据写入操作发生对存储设备中块的写入操作,对SSD存储颗粒的写入操作涉及到擦写操作,针对没有数据的颗粒可以直接进行写入,而只对存在数据的颗粒则需要先进性擦除操作,而SSD存储颗粒的擦写次数是有限制的,等到擦写次数达到上限颗粒则被写穿,不能再存储数据,导致数据丢失或者存储设备损坏。数据更新则发生在对部分数据的读后改操作中,同样需要先进行拷贝操作然后再写入到一个新的块中,这也是一种写操作。删除操作则标识块失效,其块内存储数据变为无效,经过擦除可以重新进行数据写入。数据写入、更新和删除涉及到的块均被擦写,这些擦写导致这些nand块寿命减少一次,因此,需要提出一种磨损均衡技术尽量将全***内的存储设备保证较为均衡的寿命,提高数据可靠性。
具体来说,本发明提出一种面向分布式全闪存储***的磨损均衡算法,通过节点间的磨损均衡、节点内设备间的磨损均衡、设备内块间的磨损均衡和设备内使用块和空闲块间的磨损均衡四级实现存储***的多级磨损均衡算法,包括:
步骤1、该分布式全闪存储***包括客户端、存储服务器和元数据服务器,该客户端发起写请求,根据该写请求的哈希值确定数据块的layout信息所对应的layout存储服务器;
步骤2、layout存储服务器根据所有存储服务器的负载信息和设备磨损情况,在所有存储服务器中分配设备磨损情况最低的存储服务器作为该数据块的data owner存储服务器;
步骤3、该客户端向该data owner存储服务器发出写请求,以将该数据块写入该data owner存储服务器,该data owner存储服务器在本地更新磨损记录,并在向该元数据服务器发出心跳请求时,将本地的磨损记录同步到该元数据服务器,再根据该元数据服务器的返回值,更新本地存储的全部节点设备磨损信息;
且该步骤2包括:若所有存储服务器中存在多个设备磨损情况最低的存储服务器,则在多个设备磨损情况最低的存储服务器中选择最长时间未被分配的存储服务器作为该data owner存储服务器。
所述的面向分布式全闪存储***的磨损均衡方法,其中
存储服务器对本地的每个SSD设备和每个数据块的写入磨损情况都进行记录,并记录数据块与SSD设备间的映射关系;为每个SSD设备构建数据结构记录写入块和空闲块,并记录所有块的写入次数;
该步骤3包括:
步骤31、该data owner存储服务器判断其是否仅存在一个写入块数量最少的SSD设备,若是则将数据块写入写入块数量最少的SSD设备,否则将数据块写入所有写入块数量最少的SSD设备中写入次数最少的SSD设备。
所述的面向分布式全闪存储***的磨损均衡方法,其中SSD设备内部将数据块按照是否存储数据进行分类管理,组织为work_list和free_list,work_list按照数据写入次数从小到大升序排序组织存储有效数据的数据块,free_list则按照写入次数从小到大组织没有数据的空闲块;
该步骤31包括:
步骤311、数据块写入SSD设备时,选择SSD设备的free_list中写入次数最少的块进行写入,并将该块按照写入次数***到SSD设备的work_list中。
所述的面向分布式全闪存储***的磨损均衡方法,其中该步骤311包括:
步骤3111、在work_list中记录当前数据块***到work_list的时间,访问次数和最后访问时间;周期性轮询work_list和free_list中的数据块,统计每个队列中数据块的总体写入次数,当work_list中平均的数据块写入次数大于free_list中平均数据块写入次数,或者当work_list中存在数据块长时间未被访问,且其写入次数小于free_list中平均块写入次数,则将work_list中写入次数最少且最少被访问的块与free_list中写入次数最多的块进行交换。
本发明还提出了一种面向分布式全闪存储***的磨损均衡***,其中该分布式全闪存储***包括客户端、存储服务器和元数据服务器,该磨损均衡***包括:
请求发起模块,用于使该客户端发起写请求,根据该写请求的哈希值确定数据块的layout信息所对应的layout存储服务器;
第一磨损均衡模块,用于根据所有存储服务器的负载信息和设备磨损情况,在所有存储服务器中分配设备磨损情况最低的存储服务器作为该数据块的data owner存储服务器;
请求执行模块,用于使该客户端向该data owner存储服务器发出写请求,以将该数据块写入该data owner存储服务器,该data owner存储服务器在本地更新磨损记录,并在向该元数据服务器发出心跳请求时,将本地的磨损记录同步到该元数据服务器,再根据该元数据服务器的返回值,更新本地存储的全部节点设备磨损信息;
且该第一磨损均衡模块还用于:若所有存储服务器中存在多个设备磨损情况最低的存储服务器,则在多个设备磨损情况最低的存储服务器中选择最长时间未被分配的存储服务器作为该data owner存储服务器。
所述的面向分布式全闪存储***的磨损均衡***,其中
存储服务器对本地的每个SSD设备和每个数据块的写入磨损情况都进行记录,并记录数据块与SSD设备间的映射关系;为每个SSD设备构建数据结构记录写入块和空闲块,并记录所有块的写入次数;
该请求执行模块包括:
第二磨损均衡模块,用于使该data owner存储服务器判断其是否仅存在一个写入块数量最少的SSD设备,若是则将数据块写入写入块数量最少的SSD设备,否则将数据块写入所有写入块数量最少的SSD设备中写入次数最少的SSD设备。
所述的面向分布式全闪存储***的磨损均衡***,其中SSD设备内部将数据块按照是否存储数据进行分类管理,组织为work_list和free_list,work_list按照数据写入次数从小到大升序排序组织存储有效数据的数据块,free_list则按照写入次数从小到大组织没有数据的空闲块;
该第二磨损均衡模块,包括:
第三磨损均衡模块,用于在数据块写入SSD设备时,选择SSD设备的free_list中写入次数最少的块进行写入,并将该块按照写入次数***到SSD设备的work_list中。
所述的面向分布式全闪存储***的磨损均衡***,其中该第三磨损均衡模块包括:
第四磨损均衡模块,用于在work_list中记录当前数据块***到work_list的时间,访问次数和最后访问时间;周期性轮询work_list和free_list中的数据块,统计每个队列中数据块的总体写入次数,当work_list中平均的数据块写入次数大于free_list中平均数据块写入次数,或者当work_list中存在数据块长时间未被访问,且其写入次数小于free_list中平均块写入次数,则将work_list中写入次数最少且最少被访问的块与free_list中写入次数最多的块进行交换。
本发明还提出了一种存储介质,用于所述任意一种面向分布式全闪存储***的磨损均衡方法的程序。
本发明还提出了一种客户端,用于所述任意一种面向分布式全闪存储***的磨损均衡***。
由以上方案可知,本发明的优点在于:
本发明提出了一种基于四级选择算法的磨损均衡算法。通过节点级选择算法保证节点间的设备磨损均衡,通过设备级选择算法保证节点内设备间的磨损均衡,通过设备内块级选择算法保证设备内数据写入时始终选择磨损度最小的块,设备内块交换算法通过交换工作块和空闲块保证整体的磨损均衡。通过四级调度算法保证保证存储***内所有块的磨损均衡,最大化使用寿命。
附图说明
图1为分布式全闪存储***架构图;
图2为基于一致性哈希的节点级数据放置选择算法执行示意图;
图3为设备内块级数据选择方法执行示意图。
具体实施方式
在分布式全闪存储***中的数据读写、删除过程中,需要做到以下几点:
1、在数据写入过程中,需要做到节点间的节点级设备磨损均衡。保证各节点空间的负载均衡,保证各节点空间使用的均衡,通过均衡负载,保证节点级的磨损均衡。
2、在数据写入过程中,需要做到节点内各存储设备间的磨损均衡。在存储节点内,每个节点均配备多块存储设备,或为SATA SSD或为NVMe SSD。通过均衡各SSD的负载和使用,保证存储设备间的磨损均衡。各个SSD通过保证存储数据量的均衡,保证设备间负载均衡。
3、在数据写入过程中,需要做到设备内的磨损均衡。在存储设备中,通过管理各个块的写入次数,均衡各个块的写入次数,保证存储设备内块级的磨损均衡。
4、在存储***的运行过程中,需要保证存储设备内各块的磨损均衡。通过设备内块级的交换,保证各块的磨损均衡。
综上,本发明提出了一种面向分布式全闪阵列的磨损均衡算法,通过节点间的磨损均衡、节点内设备间的磨损均衡、设备内块间的磨损均衡和使用块和空间块间的磨损均衡四级实现存储***的多级磨损均衡算法。通过四级磨损均衡算法达到均衡存储***内各个设备的磨损均衡,最大化延长设备寿命,节省存储***维护成本,保证数据可靠性。
为让本发明的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图作详细说明如下。
基于NVMe SSD构建的分布式全闪存储***如图1所示,基于NVM和NVMe SSD构建的分布式全闪文件***机群,包含元数据服务器MDS,对象数据服务器OSD和客户端CLIENT。其中每个节点包含多个NVMe SSD存储设备。在分布式全闪存储***设计的时候,需要针对全闪机群整体架构进行设计,针对节点级、设备级、块级和块交换进行设计,做到整体的磨损均衡。
元数据服务器负责管理文件***的文件目录管理、各节点的状态管理、位置信息等,对象数据服务器负责存储数据,提供数据的读写服务等,本发明中对象数据服务器负责磨损均衡,客户端提供用户的访问接口。其中本发明中磨损均衡特指对具有SSD存储设备的对象数据服务器进行磨损均衡。
面向分布式全闪存储***设计的磨损均衡算法,包含以下步骤:
1、节点级数据放置选择算法:
分布式全闪存储***对象存储服务器OSD拥有两个角色,分别是layout owner和data owner,layout owner存储部分数据块的放置信息(多个layout owner基于一致性哈希算法存放所有数据块的放置信息,可以在节点增加和删除时避免数据迁移),通过数据块所在文件的ino号(文件在存储***中的inode号)和数据地址计算hashkey确定layoutowner位置;data owner存储文件数据块内容,data owner由layout owner根据机群中各个节点的负载情况和设备磨损情况决定。各个OSD节点的layout owner逻辑上构成了一个一致性hash环形结构,每个layout owner负责一段hashkey范围的layout存储。当OSD节点变化时,只需要调整相邻节点的layout信息,而不需要进行数据迁移。
如图2所示为一次IO过程中选择OSD节点的过程:
A)客户端通过ino和块地址计算出Hashkey,根据Hashkey确定当前数据块的layout信息存放在OSD2,向OSD2发出地址信息获取Getloc请求.
B)OSD2根据当前机群所有OSD节点的负载信息和设备磨损情况,为当前访问数据块分配最优的data owner,存储到本地,并返回到客户端。分配data owner原则:
i.机群内部设备磨损最低的节点优先分配
ii.在多个磨损最低的节点中选择和上次分配不同的节点优先分配
iii.如果是读访问或者是更新写,则layout已经分配。直接在layout owner本地查找layout信息
C)客户端得到Getloc返回的data owner为OSD3,向OSD3发出读写请求,完成文件IO操作。
D)如果是写请求,则OSD3的设备磨损记录将在本地更新,每次OSD向元数据服务器MDS发出心跳请求时,将本地的磨损记录同步到MDS,再根据MDS的返回值,更新本地存储的全部节点设备磨损信息,为后续节点选择保留判断依据。
2、节点内设备级数据放置选择算法:
在文件***运行过程中,OSD对本地的每一个SSD设备和每一个数据块的写入磨损情况都进行记录,并记录块与SSD设备间的映射关系。数据写入时,通过节点内设备级数据放置选择算法选择合适的设备,并将块与设备间的映射进行存储记录,数据读取时,通过查询块与设备间的映射关系,获取对应的存储设备。
节点内设备级数据放置选择算法步骤如下:
a)每个设备构建数据结构记录每个设备的写入块和空闲块,并记录所有块的写入次数;
b)数据写入时,需要选择合适的设备进行写入:
a)首先选择设备中写入块少的存储设备作为写入数据块的设备;
b)对于使用块相同的多个设备,判断其写入次数,选择写入次数最少的设备作为写入数据块的设备;
c)对于写入次数相同的多个设备,判断写入次数平均值,选择平均值最少的设备作为写入数据块的设备;
d)若平均值相同,则按照轮询机制选择存储设备作为写入数据块的设备c)数据删除时,查询对应的设备,并将删除的数据块从设备内进行重新组织,改变设备的可用容量;
3、设备内块级数据放置选择算法:
如图3所示,设备内块级数据选择算法将数据块按照是否存储数据进行分类管理,组织为work_list和free_list,work_list按照数据写入次数从小到大升序排序组织存储有效数据的数据块,free_list则按照写入次数从小到大组织没有数据的空闲块。
数据写入时根据选择的设备向设备内部进行写入,选择free_list中写入次数最少的块进行写入,并将该块按照写入次数***到work_list中。
4、设备内块交换选择算法:
数据写入存储设备内,有些数据经过一段时间后被删除,其写入的块也被重新放入free_list中,但也有些块会长久有效。这样就会导致部分长久有效的数据占据块一直得不到替换,而其他部分块则因为经常性的数据移动导致磨损程度增加,因此,需要根据实际情况,将work_list中长期不被访问的块与free_list中磨损严重的块进行交换。
其步骤如下:
a)在work_list中记录当前块***到work_list的时间,访问次数和最后访问时间;
b)周期性轮询work_list和free_list中的块,统计每个队列中块的总体写入次数,当work_list中平均的块写入次数大于free_list中平均块写入次数,或者当work_list中存在某些块长时间未被访问,且其写入次数小于free_list中平均块写入次数,则将work_list中写入次数最少且最少被访问的块与free_list中写入次数最多的块进行交换。
以下为与上述方法实施例对应的***实施例,本实施方式可与上述实施方式互相配合实施。上述实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述实施方式中。
本发明还提出了一种面向分布式全闪存储***的磨损均衡***,其中该分布式全闪存储***包括客户端、存储服务器和元数据服务器,该磨损均衡***包括:
请求发起模块,用于使该客户端发起写请求,根据该写请求的哈希值确定数据块的layout信息所对应的layout存储服务器;
第一磨损均衡模块,用于根据所有存储服务器的负载信息和设备磨损情况,在所有存储服务器中分配设备磨损情况最低的存储服务器作为该数据块的data owner存储服务器;
请求执行模块,用于使该客户端向该data owner存储服务器发出写请求,以将该数据块写入该data owner存储服务器,该data owner存储服务器在本地更新磨损记录,并在向该元数据服务器发出心跳请求时,将本地的磨损记录同步到该元数据服务器,再根据该元数据服务器的返回值,更新本地存储的全部节点设备磨损信息;
且该第一磨损均衡模块还用于:若所有存储服务器中存在多个设备磨损情况最低的存储服务器,则在多个设备磨损情况最低的存储服务器中选择最长时间未被分配的存储服务器作为该data owner存储服务器。
所述的面向分布式全闪存储***的磨损均衡***,其中
存储服务器对本地的每个SSD设备和每个数据块的写入磨损情况都进行记录,并记录数据块与SSD设备间的映射关系;为每个SSD设备构建数据结构记录写入块和空闲块,并记录所有块的写入次数;
该请求执行模块包括:
第二磨损均衡模块,用于使该data owner存储服务器判断其是否仅存在一个写入块数量最少的SSD设备,若是则将数据块写入写入块数量最少的SSD设备,否则将数据块写入所有写入块数量最少的SSD设备中写入次数最少的SSD设备。
所述的面向分布式全闪存储***的磨损均衡***,其中SSD设备内部将数据块按照是否存储数据进行分类管理,组织为work_list和free_list,work_list按照数据写入次数从小到大升序排序组织存储有效数据的数据块,free_list则按照写入次数从小到大组织没有数据的空闲块;
该第二磨损均衡模块,包括:
第三磨损均衡模块,用于在数据块写入SSD设备时,选择SSD设备的free_list中写入次数最少的块进行写入,并将该块按照写入次数***到SSD设备的work_list中。
所述的面向分布式全闪存储***的磨损均衡***,其中该第三磨损均衡模块包括:
第四磨损均衡模块,用于在work_list中记录当前数据块***到work_list的时间,访问次数和最后访问时间;周期性轮询work_list和free_list中的数据块,统计每个队列中数据块的总体写入次数,当work_list中平均的数据块写入次数大于free_list中平均数据块写入次数,或者当work_list中存在数据块长时间未被访问,且其写入次数小于free_list中平均块写入次数,则将work_list中写入次数最少且最少被访问的块与free_list中写入次数最多的块进行交换。
本发明还提出了一种存储介质,用于所述任意一种面向分布式全闪存储***的磨损均衡方法的程序。
本发明还提出了一种客户端,用于所述任意一种面向分布式全闪存储***的磨损均衡***。
Claims (10)
1.一种面向分布式全闪存储***的磨损均衡方法,其特征在于,包括:
步骤1、该分布式全闪存储***包括客户端、存储服务器和元数据服务器,该客户端发起写请求,根据该写请求的哈希值确定数据块的layout信息所对应的layout存储服务器;
步骤2、layout存储服务器根据所有存储服务器的负载信息和设备磨损情况,在所有存储服务器中分配设备磨损情况最低的存储服务器作为该数据块的data owner存储服务器;
步骤3、该客户端向该data owner存储服务器发出写请求,以将该数据块写入该dataowner存储服务器,该data owner存储服务器在本地更新磨损记录,并在向该元数据服务器发出心跳请求时,将本地的磨损记录同步到该元数据服务器,再根据该元数据服务器的返回值,更新本地存储的全部节点设备磨损信息;
且该步骤2包括:若所有存储服务器中存在多个设备磨损情况最低的存储服务器,则在多个设备磨损情况最低的存储服务器中选择最长时间未被分配的存储服务器作为该dataowner存储服务器。
2.如权利要求1所述的面向分布式全闪存储***的磨损均衡方法,其特征在于,
存储服务器对本地的每个SSD设备和每个数据块的写入磨损情况都进行记录,并记录数据块与SSD设备间的映射关系;为每个SSD设备构建数据结构记录写入块和空闲块,并记录所有块的写入次数;
该步骤3包括:
步骤31、该data owner存储服务器判断其是否仅存在一个写入块数量最少的SSD设备,若是则将数据块写入写入块数量最少的SSD设备,否则将数据块写入所有写入块数量最少的SSD设备中写入次数最少的SSD设备。
3.如权利要求2所述的面向分布式全闪存储***的磨损均衡方法,其特征在于,SSD设备内部将数据块按照是否存储数据进行分类管理,组织为work_list和free_list,work_list按照数据写入次数从小到大升序排序组织存储有效数据的数据块,free_list则按照写入次数从小到大组织没有数据的空闲块;
该步骤31包括:
步骤311、数据块写入SSD设备时,选择SSD设备的free_list中写入次数最少的块进行写入,并将该块按照写入次数***到SSD设备的work_list中。
4.如权利要求3所述的面向分布式全闪存储***的磨损均衡方法,其特征在于,该步骤311包括:
步骤3111、在work_list中记录当前数据块***到work_list的时间,访问次数和最后访问时间;周期性轮询work_list和free_list中的数据块,统计每个队列中数据块的总体写入次数,当work_list中平均的数据块写入次数大于free_list中平均数据块写入次数,或者当work_list中存在数据块长时间未被访问,且其写入次数小于free_list中平均块写入次数,则将work_list中写入次数最少且最少被访问的块与free_list中写入次数最多的块进行交换。
5.一种面向分布式全闪存储***的磨损均衡***,其特征在于,该分布式全闪存储***包括客户端、存储服务器和元数据服务器,该磨损均衡***包括:
请求发起模块,用于使该客户端发起写请求,根据该写请求的哈希值确定数据块的layout信息所对应的layout存储服务器;
第一磨损均衡模块,用于根据所有存储服务器的负载信息和设备磨损情况,在所有存储服务器中分配设备磨损情况最低的存储服务器作为该数据块的data owner存储服务器;
请求执行模块,用于使该客户端向该data owner存储服务器发出写请求,以将该数据块写入该data owner存储服务器,该data owner存储服务器在本地更新磨损记录,并在向该元数据服务器发出心跳请求时,将本地的磨损记录同步到该元数据服务器,再根据该元数据服务器的返回值,更新本地存储的全部节点设备磨损信息;
且该第一磨损均衡模块还用于:若所有存储服务器中存在多个设备磨损情况最低的存储服务器,则在多个设备磨损情况最低的存储服务器中选择最长时间未被分配的存储服务器作为该data owner存储服务器。
6.如权利要求5所述的面向分布式全闪存储***的磨损均衡***,其特征在于,
存储服务器对本地的每个SSD设备和每个数据块的写入磨损情况都进行记录,并记录数据块与SSD设备间的映射关系;为每个SSD设备构建数据结构记录写入块和空闲块,并记录所有块的写入次数;
该请求执行模块包括:
第二磨损均衡模块,用于使该data owner存储服务器判断其是否仅存在一个写入块数量最少的SSD设备,若是则将数据块写入写入块数量最少的SSD设备,否则将数据块写入所有写入块数量最少的SSD设备中写入次数最少的SSD设备。
7.如权利要求6所述的面向分布式全闪存储***的磨损均衡***,其特征在于,SSD设备内部将数据块按照是否存储数据进行分类管理,组织为work_list和free_list,work_list按照数据写入次数从小到大升序排序组织存储有效数据的数据块,free_list则按照写入次数从小到大组织没有数据的空闲块;
该第二磨损均衡模块,包括:
第三磨损均衡模块,用于在数据块写入SSD设备时,选择SSD设备的free_list中写入次数最少的块进行写入,并将该块按照写入次数***到SSD设备的work_list中。
8.如权利要求7所述的面向分布式全闪存储***的磨损均衡***,其特征在于,该第三磨损均衡模块包括:
第四磨损均衡模块,用于在work_list中记录当前数据块***到work_list的时间,访问次数和最后访问时间;周期性轮询work_list和free_list中的数据块,统计每个队列中数据块的总体写入次数,当work_list中平均的数据块写入次数大于free_list中平均数据块写入次数,或者当work_list中存在数据块长时间未被访问,且其写入次数小于free_list中平均块写入次数,则将work_list中写入次数最少且最少被访问的块与free_list中写入次数最多的块进行交换。
9.一种存储介质,用于存储执行如权利要求1到4所述任意一种面向分布式全闪存储***的磨损均衡方法的程序。
10.一种客户端,用于权利要求5至8中任意一种面向分布式全闪存储***的磨损均衡***。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210471090.7A CN116364148A (zh) | 2022-04-28 | 2022-04-28 | 一种面向分布式全闪存储***的磨损均衡方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210471090.7A CN116364148A (zh) | 2022-04-28 | 2022-04-28 | 一种面向分布式全闪存储***的磨损均衡方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116364148A true CN116364148A (zh) | 2023-06-30 |
Family
ID=86926146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210471090.7A Pending CN116364148A (zh) | 2022-04-28 | 2022-04-28 | 一种面向分布式全闪存储***的磨损均衡方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116364148A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116991336A (zh) * | 2023-09-26 | 2023-11-03 | 北京大道云行科技有限公司 | 分布式全闪对象存储***的gc方法及电子设备、存储介质 |
CN117539634A (zh) * | 2023-11-28 | 2024-02-09 | 中国大唐集团科学技术研究总院有限公司 | 一种面向全闪分布式存储的负载均衡方法及*** |
-
2022
- 2022-04-28 CN CN202210471090.7A patent/CN116364148A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116991336A (zh) * | 2023-09-26 | 2023-11-03 | 北京大道云行科技有限公司 | 分布式全闪对象存储***的gc方法及电子设备、存储介质 |
CN116991336B (zh) * | 2023-09-26 | 2024-01-23 | 北京大道云行科技有限公司 | 分布式全闪对象存储***的gc方法及电子设备、存储介质 |
CN117539634A (zh) * | 2023-11-28 | 2024-02-09 | 中国大唐集团科学技术研究总院有限公司 | 一种面向全闪分布式存储的负载均衡方法及*** |
CN117539634B (zh) * | 2023-11-28 | 2024-05-24 | 中国大唐集团科学技术研究总院有限公司 | 一种面向全闪分布式存储的负载均衡方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11893238B2 (en) | Method of controlling nonvolatile semiconductor memory | |
US10430084B2 (en) | Multi-tiered memory with different metadata levels | |
US20230384980A1 (en) | Memory system and method of controlling nonvolatile memory | |
EP2565792B1 (en) | Block management schemes in hybrid SLC/MLC memory | |
US9424180B2 (en) | System for increasing utilization of storage media | |
JP2013242908A (ja) | ソリッドステートメモリ、それを含むコンピュータシステム及びその動作方法 | |
US20060218347A1 (en) | Memory card | |
US10997080B1 (en) | Method and system for address table cache management based on correlation metric of first logical address and second logical address, wherein the correlation metric is incremented and decremented based on receive order of the first logical address and the second logical address | |
CN103838676B (zh) | 数据存储***、数据存储方法及pcm桥 | |
KR101403922B1 (ko) | 접근 빈도에 따라 데이터를 할당하는 저장장치 및 저장방법 | |
TWI718710B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
CN116364148A (zh) | 一种面向分布式全闪存储***的磨损均衡方法及*** | |
CN112130749A (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
US11269771B2 (en) | Storage device for improving journal replay, operating method thereof, and electronic device including the storage device | |
US20240020014A1 (en) | Method for Writing Data to Solid-State Drive | |
CN115203079A (zh) | 一种将数据写入固态硬盘的方法 | |
TWI713032B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
US10552086B2 (en) | Global pool of garbage collection units (GCUs) in a shared non-volatile memory device | |
KR20210013483A (ko) | 불휘발성 메모리 모듈을 포함하는 스토리지 시스템 및 불휘발성 메모리 모듈의 동작 방법 | |
TWI724550B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
EP4220414A1 (en) | Storage controller managing different types of blocks, operating method thereof, and operating method of storage device including the same | |
US20230236737A1 (en) | Storage Controller Managing Different Types Of Blocks, Operating Method Thereof, And Operating Method Of Storage Device Including The Same |
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 |