CN114911631A - 基于持久内存技术的全局资源管理方法及*** - Google Patents
基于持久内存技术的全局资源管理方法及*** Download PDFInfo
- Publication number
- CN114911631A CN114911631A CN202210839716.5A CN202210839716A CN114911631A CN 114911631 A CN114911631 A CN 114911631A CN 202210839716 A CN202210839716 A CN 202210839716A CN 114911631 A CN114911631 A CN 114911631A
- Authority
- CN
- China
- Prior art keywords
- data
- qlc
- space
- ssd
- persistent memory
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 152
- 230000002085 persistent effect Effects 0.000 title claims abstract description 99
- 238000007726 management method Methods 0.000 title claims abstract description 56
- 238000005516 engineering process Methods 0.000 title claims abstract description 32
- 238000011084 recovery Methods 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 8
- 239000000872 buffer Substances 0.000 claims description 37
- 238000000034 method Methods 0.000 claims description 12
- 238000004064 recycling Methods 0.000 claims description 11
- 239000002245 particle Substances 0.000 claims description 7
- 230000003321 amplification Effects 0.000 abstract description 11
- 238000003199 nucleic acid amplification method Methods 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 4
- 238000013403 standard screening design Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005299 abrasion Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开的一种基于持久内存技术的全局资源管理方法及***,包括:获取远方客户端NVME over RDMA数据,存储至DRAM空间,通过RDMA数据分页模块按QLC的页大小将数据进行条带化处理,并将条带化数据搬移到PM持久内存空间;将PM持久内存空间内部按容器化的方式组织起来,每个容器的大小等于QLC介质的页大小,并记录元数据和日志;通过全局QLC SSD资源管理控制器设置服务器内部磨损均衡和垃圾回收策略,并通过服务器RAID控制模块实现条带化数据的并行读写,并快速生成异或校验;并在最底层SSD通过轻量级的SSD控制器按QLC的页大小写入及读出数据。本发明将QLC SSD的写放大进行最大地消除,实现快速频繁地访问,并且读写速度快。
Description
技术领域
本发明涉及内存管理技术邻域,更具体的,涉及一种基于持久内存技术的全局资源管理方法及***。
背景技术
SSD(固态硬盘)内部使用flash介质颗粒作为存储的主体,但是flash介质分成SLC、MLC、TLC、QLC等不同类型。影响SSD使用寿命的擦写次数从SLC到QLC递减,而存储容量则递增。SLC能有十万次的数量级,而QLC只能擦写数百次。但是SLC、MLC、TLC等介质的SSD容量小、价格贵,QLC虽然容量大,但是却存在不耐擦写的隐患,操作不慎会丢失数据。FLASH介质的特点是数据块必须按页大小写入,如果每次能确保按QLC的页大小写数据,并且数据也确实是完整地写入到一个页中,这样SSD的垃圾回收和磨损均衡都很清晰可控,不存在写放大的问题。但是SSD盘片上有SSD controller的存在,SSD controller有自己的策略,负责处理写入数据合并,磨损均衡和垃圾回收。这样尽管在每个SSD盘片上,资源得到了合理的应用,但是在一个服务器内部来看,flash的资源并没有得到最佳的使用。
每个SSD都有自己的SSD控制器,这个控制器不仅负责数据的读写处理,同时也负责本盘Flash资源的垃圾回收(GC)和磨损均衡(wear leveling)等操作。但这样实际上存在资源重复管理的问题,因为垃圾回收和磨损均衡能都在SSD的单独范围内执行,当SSD进行这些操作时,不仅读写性能不能百分之百地保证,而且严格地按页的粒度写入数据也难以实现。不能实现严格地按页以append(追加)的方式写入数据,就意味着flash的资源没有被充分利用和管理。即便是使用SLC、MLC、PM等作为缓冲层能够部分地解决问题,通常的方式都是在缓冲层积累到一定数量的数据后再按较大的颗粒度向SSD写下去,这只是增大了写满flash页的概率。因为使用独立的SSD,其问题依然存在,只是程度减缓而已。主要还是Flash的资源没有被统一精细化管理,写放大或多或少地还是存在,垃圾回收和磨损均衡的操作比较随机;在垃圾回收和磨损均衡期间,SSD的读写性会受到影响。
发明内容
为了解决上述技术问题,本发明提出了一种基于持久内存技术的全局资源管理方法及***。
本发明第一方面提供了一种基于持久内存技术的全局资源管理方法,包括:
获取远方客户端NVME over RDMA数据,存储至DRAM空间,通过RDMA数据分页模块按QLC的页大小将数据进行条带化处理,并将条带化数据搬移到PM持久内存空间;
将PM持久内存空间内部按容器化的方式组织起来,每个容器的大小等于QLC介质的页大小,并记录元数据和日志;
通过全局QLC SSD资源管理控制器设置服务器内部磨损均衡和垃圾回收策略,并通过服务器RAID控制模块实现条带化数据的并行读写,并快速生成异或校验;
并在最底层QLC SSD通过轻量级的SSD控制器按QLC的页大小写入及读出数据。
本方案中,将内存空间划分为DRAM空间部分及PM持久内存空间部分;
所述DRAM空间部分作为RDMA的空间和其它软件RAM的存储空间;
所述PM持久空间内存空间部分用作部署PM持久内存资源,当做数据缓冲空间及元数据存储空间。
本方案中,通过RDMA数据分页模块按QLC的页大小将数据进行条带化处理,具体为:
RDMA数据分页模块在读数据时避开PM持久空间内存空间,直接访问DRMA空间;
在进行条带化数据时,将不足QLC页大小的数据扩充到页大小,将大于QLC页大小的数据按照页大小进行裁剪,并把剩余的不足页大小的数据合并到下一个条带。
本方案中,将PM持久内存空间内部按容器化的方式组织起来,每个容器的大小等于QLC介质的页大小,并记录元数据和日志,具体为:
通过使用NVME over RDMA协议方式,当小于QLC页大小的I/O 数据来临时,PM持久内存空间将缓存数据,并且按容器把数据组织成一个条带,并且纪录元数据和日志,其中N-1个容器组成一个条带;
PM持久内存空间中写缓冲PM空间满时数据写入硬盘,并设置预留缓冲PM空间,当做写缓冲满时接替写缓冲区。
本方案中,所述全局QLC SSD资源管理控制器及RAID控制模块,具体为:
全局QLC SSD资源管理控制器管理FLASH资源和实施磨损均衡和垃圾回收策略,充分利用每个FLASH颗粒的寿命;
RAID控制模块实现N-1个QLC页的并行读写,并按照N-1个页 生成一个异或校验页,所述异或校验的页位置随机分布在0-N号的QLC SSD上,避免对某个固定存校验数据的QLC SSD繁读写。
本方案中,通过服务器中部署的PCIE X4接口的RAID芯片连接PCI-E交换机芯片实现N路扇出;
所述RAID芯片一次性写入或读出N-1个QLC页的数据以及对应的parity页,保证读写性能的同时对数据有RAID 保护。
本方案中,最底层的QLC SSD上仅仅使用轻量级的SSD控制器,所述轻量级的SSD控制器确保严格地按QLC页大小写入数据,此外不实施任何的垃圾回收和磨损均衡策略。
本发明第二方面还提供了一种基于持久内存技术的全局资源管理***,该***包括:存储器、处理器,所述存储器中包括一种基于持久内存技术的全局资源管理方法程序,所述一种基于持久内存技术的全局资源管理方法程序被所述处理器执行时实现如下步骤:
获取远方客户端NVME over RDMA数据,存储至DRAM空间,通过RDMA数据分页模块按QLC的页大小将数据进行条带化处理,并将条带化数据搬移到PM持久内存空间;
将PM持久内存空间内部按容器化的方式组织起来,每个容器的大小等于QLC介质的页大小,并记录元数据和日志;
通过全局QLC SSD资源管理控制器设置服务器内部磨损均衡和垃圾回收策略,并通过服务器RAID控制模块实现条带化数据的并行读写,并快速生成异或校验;
并在最底层QLC SSD通过轻量级的SSD控制器按QLC的页大小写入及读出数据。
本方案中,将内存空间划分为DRAM空间部分及PM持久内存空间部分;
所述DRAM空间部分作为RDMA的空间和其它软件RAM的存储空间;
所述PM持久空间内存空间部分用作部署PM持久内存资源,当做数据缓冲空间及元数据存储空间。
本方案中,通过RDMA数据分页模块按QLC的页大小将数据进行条带化处理,具体为:
RDMA数据分页模块在读数据时避开PM持久空间内存空间,直接访问DRMA空间;
在进行条带化数据时,将不足QLC页大小的数据扩充到页大小,将大于QLC页大小的数据按照页大小进行裁剪,并把剩余的不足页大小的数据合并到下一个条带。
本方案中,将PM持久内存空间内部按容器化的方式组织起来,每个容器的大小等于QLC介质的页大小,并记录元数据和日志,具体为:
通过使用NVME over RDMA协议方式,当小于QLC页大小的I/O 数据来临时,PM持久内存空间将缓存数据,并且按容器把数据组织成一个条带,并且纪录元数据和日志,其中N-1个容器组成一个条带;
PM持久内存空间中写缓冲PM空间满时数据写入硬盘,并设置预留缓冲PM空间,当做写缓冲满时接替写缓冲区。
本方案中,所述全局QLC SSD资源管理控制器及RAID控制模块,具体为:
全局QLC SSD资源管理控制器管理FLASH资源和实施磨损均衡和垃圾回收策略,充分利用每个FLASH颗粒的寿命;
RAID控制模块实现N-1个QLC页的并行读写,并按照N-1个页 生成一个异或校验页,所述异或校验的页位置随机分布在0-N号的QLC SSD上,避免对某个固定存校验数据的QLC SSD繁读写。
本方案中,通过服务器中部署的PCIE X4接口的RAID芯片连接PCI-E交换机芯片实现N路扇出;
所述RAID芯片一次性写入或读出N-1个QLC页的数据以及对应的parity页,保证读写性能的同时对数据有RAID 保护。
本方案中,最底层的QLC SSD上仅仅使用轻量级的SSD控制器,所述轻量级的SSD控制器确保严格地按QLC页大小写入数据,此外不实施任何的垃圾回收和磨损均衡策略。
本发明解决了背景技术中存在的缺陷,本发明具备以下有益效果:
(1)使用RAID卡来提高改善读写性能,并且和全局QLC SSD资源管理控制器来配合使用,优化了垃圾回收和磨损均衡实施策略,进一步减小写放大的可能性。
(2)在PM持久内存空间里不存储小I/O数据块,数据全部下盘,在PM持久内存空间只保留操作日志和元数据,因此可以使用较小的PM持久内存空间的容量来实现SSD数据的缓冲,避免小块数据直接下盘导致写放大,过快消耗QLC 的寿命。
(3)实现在确保使用寿命的前提下,大规模使用QLC SSD ,通过NVMe over RDMAtarget的方式对外提供高速、海量的块接口存储, 性能超高、价格低廉。
(4)整个服务器可以看作一个大的NVME 块设备空间,内部有自己的RAID 保护机制,不仅性能可靠,而且因为使用了RAID 读写速度也更快。服务器作为一个整体的SSDNVMe 资源,对外也可以支持数据再次条带化,并不影响在用户层级使用EC或者多副本的策略。
附图说明
图1示出了本发明一种基于持久内存技术的全局资源管理方法的流程图;
图2示出了本发明中全局资源管理的QLC SSD存储方案框图;
图3示出了本发明一种基于持久内存技术的全局资源管理方法的框图;
图4示出了本发明一种基于持久内存技术的全局资源管理***的框图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了本发明一种基于持久内存技术的全局资源管理方法的流程图。
如图1所示,本发明第一方面提供了一种基于持久内存技术的全局资源管理方法,包括:
S102,获取远方客户端NVME over RDMA数据,存储至DRAM空间,通过RDMA数据分页模块按QLC的页大小将数据进行条带化处理,并将条带化数据搬移到PM持久内存空间;
S104,将PM持久内存空间内部按容器化的方式组织起来,每个容器的大小等于QLC介质的页大小,并记录元数据和日志;
S106,通过全局QLC SSD资源管理控制器设置服务器内部磨损均衡和垃圾回收策略,并通过服务器RAID控制模块实现条带化数据的并行读写,并快速生成异或校验;
S108,并在最底层QLC SSD通过轻量级的SSD控制器按QLC的页大小写入及读出数据。
图2示出了本发明中全局资源管理的QLC SSD存储方案框图。
需要说明的是,QLC SSD写入是按照大约64K比特的大小写入,而上层软件的数据I/O 的大小可能是4K比特到几M比特不等。对于QLC介质而言,即便是写入4K比特数据,但是SSD都会按64K比特的页大小写入,也会造成写放大的结果。现在出现了Persistent memory(简称PM)的介质,它可以当作内存的一种,掉电后数据不会丢失,根据PM持久内存的特性,将内存空间划分为DRAM空间部分及PM持久内存空间部分;所述DRAM空间部分作为RDMA的空间和其它软件RAM的存储空间,当对远端的NVMe QLC SSD进行访问时,数据会由本地的DRAM(也可以是PM)空间被RDMA到远端的这个RAM空间内;所述PM持久空间内存空间部分用作部署PM持久内存资源,当做数据缓冲空间及元数据存储空间。
通过NVME over RDMA实现远端的flash 块接口连接,NVMe over RDMA 通过RDMA的方式拷贝推送和拉取(读/写)数据到网络连接的远端主机的内存空间。
需要说明的是,RDMA数据分页模块从DRMA搬运数据到PM空间,通过RDMA数据分页模块按QLC的页大小将数据进行条带化处理,具体为:RDMA数据分页模块在读数据时避开PM持久空间内存空间,直接访问DRMA空间;在进行条带化数据时,将不足QLC页大小的数据扩充到页大小,将大于QLC页大小的数据按照页大小进行裁剪,并把剩余的不足页大小的数据合并到下一个条带。
需要说明的是,PM持久内存空间作为QLC页 容器化和条带化的暂存空间,以及元数据和日志、磨损均衡垃圾回收数据和策略的存储空间,将PM持久内存空间内部按容器化的方式组织起来,每个容器的大小等于QLC介质的页大小,并记录元数据和日志,具体为:通过使用NVME over RDMA协议方式,当小于QLC页大小的I/O 数据来临时,PM持久内存空间将缓存数据,并且按容器把数据组织成一个条带,并且纪录元数据和日志,其中N-1个容器组成一个条带;PM持久内存空间中写缓冲PM空间满时数据写入硬盘,并设置预留缓冲PM空间,当做写缓冲满时接替写缓冲区。
在PM持久内存空间里不存储小I/O数据块 ,数据全部下盘,在PM持久内存空间只保留操作日志和元数据,因此可以使用较小的PM持久内存空间的容量来实现QLC SSD数据的缓冲,避免小块数据直接下盘导致写放大,过快消耗QLC的寿命。
需要说明的是,所述全局QLC SSD资源管理控制器及RAID控制模块,具体为:全局QLC SSD资源管理控制器管理FLASH资源和实施磨损均衡和垃圾回收策略,充分利用每个FLASH颗粒的寿命,能最大限度地延长QLC介质的寿命,任何关于实施磨损均衡和垃圾回收的策略都由全局QLC SSD资源管理控制器来实施;
RAID控制模块实现N-1个QLC页的并行读写,并按照N-1个页 生成一个异或校验页,所述异或校验的页位置随机分布在0-N号的QLC SSD上,避免对某个固定存校验数据的QLC SSD繁读写。
需要说明的是,通过服务器中部署的PCIE X4接口的RAID芯片连接PCI-E交换机芯片(或者做在RAID芯片内部)实现N路扇出;所述RAID芯片一次性写入或读出N-1个QLC页的数据以及对应的parity页,保证读写性能的同时对数据有RAID 保护。
需要说明的是,最底层的QLC SSD上仅仅使用轻量级的SSD控制器,所述轻量级的SSD控制器确保严格地按QLC页大小写入数据,此外不实施任何的垃圾回收和磨损均衡策略。不仅成本低,而且轻量级的SSD控制器比较简单,只关注在读写即可,设计容易制造成本低。
图3示出了本发明一种基于持久内存技术的全局资源管理方法的框图,整个***获得了对QLC SSD单纯严格按页写的操作,每次按条带写数据时,因为是同时多个QLC SSD并行操作,所以速度快。而且底层SSD没有垃圾回收和磨损均衡策略,只管按照页大小顺序进行写入,操作简单,明确了Flash资源使用管理。QLC SSD的写放大被最大地消除了,所以QLC SSD 可以(当然在一定安全的限度内)当作容量型的存储,又因为使用NVME over RDMA协议,读写速度快,所以也能当作性能型的存储。
根据本发明实施例,对全局QLC SSD资源管理控制器中的垃圾回收和磨损均衡策略进行优化,具体为:
PM持久内存空间中的数据按条带读盘,将存储数据条带的闪存块编码,将编码完成后的闪存块生成编码列表,并选取页映射的作为地址映射方式;
当SSD中存储空间不足时,通过各闪存块中无效页的比例及擦除次数进行计算,从前到后选取编码列表中预设数量的闪存块进行对比,获取其中计算数值最小的闪存块作为回收闪存块;
同时,根据空闲闪存块的擦除次数评估磨损程度,将磨损程度小于预设阈值的闪存块归为一类闪存块,将磨损程度大于预设阈值的闪存块归为二类闪存块,同时按照磨损程度分别生成一类磨损列及二类磨损列表;
将回收块中的有效页面进行迁移至二类磨损列表中第一个闪存块,对回收块进行数据擦除,计算数据擦除后回收块的磨损程度,根据所述磨损程度进行闪存块归类。
需要说明的是,在SSD的垃圾回收策略中优选选择有效页面最少的块作为回收块,
而磨损均衡策略,则希望垃圾回收优先选择磨损次数最少的块作为回收块,通过各闪存块
中无效页的比例及擦除次数进行计算获取得分数值,具体为:
其中, 表示SSD中空闲闪存块的比例,表示擦除次数,表示最大擦除次数,表示闪存块中页面总数,表示闪存块中无效页面数量;为SSD中的动态值,较小时
空闲闪存块较少,垃圾回收侧重于无效页面较多的闪存块,避免频繁垃圾回收,较大时,
垃圾回收侧重于磨损程度较小的闪存块,提高寿命;并且通过磨损程度进行空闲闪存块分
类,将热数据存入一类磨损列表中的闪存块,垃圾回收策略中的有效页面迁移至二类磨损
列表中的闪存块。
图4示出了本发明一种基于持久内存技术的全局资源管理***的框图。
本发明第二方面还提供了一种基于持久内存技术的全局资源管理***3,该***包括:存储器41、处理器42,所述存储器中包括一种基于持久内存技术的全局资源管理方法程序,所述一种基于持久内存技术的全局资源管理方法程序被所述处理器执行时实现如下步骤:
获取远方客户端NVME over RDMA数据,存储至DRAM空间,通过RDMA数据分页模块按QLC的页大小将数据进行条带化处理,并将条带化数据搬移到PM持久内存空间;
将PM持久内存空间内部按容器化的方式组织起来,每个容器的大小等于QLC介质的页大小,并记录元数据和日志;
通过全局QLC SSD资源管理控制器设置服务器内部磨损均衡和垃圾回收策略,并通过服务器RAID控制模块实现条带化数据的并行读写,并快速生成异或校验;
并在最底层QLC SSD通过轻量级的SSD控制器按QLC的页大小写入及读出数据。
需要说明的是,QLC SSD写入是按照大约64K比特的大小写入,而上层软件的数据I/O 的大小可能是4K比特到几M比特不等。对于QLC介质而言,即便是写入4K比特数据,但是SSD都会按64K比特的页大小写入,也会造成写放大的结果。现在出现了Persistent memory(简称PM)的介质,它可以当作内存的一种,掉电后数据不会丢失,根据PM持久内存的特性,将内存空间划分为DRAM空间部分及PM持久内存空间部分;所述DRAM空间部分作为RDMA的空间和其它软件RAM的存储空间,当对远端的NVMe QLC SSD进行访问时,数据会由本地的DRAM(也可以是PM)空间被RDMA到远端的这个RAM空间内;所述PM持久空间内存空间部分用作部署PM持久内存资源,当做数据缓冲空间及元数据存储空间。
通过NVME over RDMA实现远端的flash 块接口连接,NVMe over RDMA 通过RDMA的方式拷贝推送和拉取(读/写)数据到网络连接的远端主机的内存空间。
需要说明的是,RDMA数据分页模块从DRMA搬运数据到PM空间,通过RDMA数据分页模块按QLC的页大小将数据进行条带化处理,具体为:RDMA数据分页模块在读数据时避开PM持久空间内存空间,直接访问DRMA空间;在进行条带化数据时,将不足QLC页大小的数据扩充到页大小,将大于QLC页大小的数据按照页大小进行裁剪,并把剩余的不足页大小的数据合并到下一个条带。
需要说明的是,PM持久内存空间作为QLC页 容器化和条带化的暂存空间,以及元数据和日志、磨损均衡垃圾回收数据和策略的存储空间,将PM持久内存空间内部按容器化的方式组织起来,每个容器的大小等于QLC介质的页大小,并记录元数据和日志,具体为:通过使用NVME over RDMA协议方式,当小于QLC页大小的I/O 数据来临时,PM持久内存空间将缓存数据,并且按容器把数据组织成一个条带,并且纪录元数据和日志,其中N-1个容器组成一个条带;PM持久内存空间中写缓冲PM空间满时数据写入硬盘,并设置预留缓冲PM空间,当做写缓冲满时接替写缓冲区。
在PM持久内存空间里不存储小I/O数据块 ,数据全部下盘,在PM持久内存空间只保留操作日志和元数据,因此可以使用较小的PM持久内存空间的容量来实现QLC SSD数据的缓冲,避免小块数据直接下盘导致写放大,过快消耗QLC的寿命。
需要说明的是,所述全局QLC SSD资源管理控制器及RAID控制模块,具体为:全局QLC SSD资源管理控制器管理FLASH资源和实施磨损均衡和垃圾回收策略,充分利用每个FLASH颗粒的寿命,能最大限度地延长QLC介质的寿命,任何关于实施磨损均衡和垃圾回收的策略都由全局QLC SSD资源管理控制器来实施;
RAID控制模块实现N-1个QLC页的并行读写,并按照N-1个页 生成一个异或校验页,所述异或校验的页位置随机分布在0-N号的QLC SSD上,避免对某个固定存校验数据的QLC SSD繁读写。
需要说明的是,通过服务器中部署的PCIE X4接口的RAID芯片连接PCI-E交换机芯片(或者做在RAID芯片内部)实现N路扇出;所述RAID芯片一次性写入或读出N-1个QLC页的数据以及对应的parity页,保证读写性能的同时对数据有RAID 保护。
需要说明的是,最底层的QLC SSD上仅仅使用轻量级的SSD控制器,所述轻量级的SSD控制器确保严格地按QLC页大小写入数据,此外不实施任何的垃圾回收和磨损均衡策略。不仅成本低,而且轻量级的SSD控制器比较简单,只关注在读写即可,设计容易制造成本低。
整个***获得了对QLC SSD单纯严格按页写的操作,每次按条带写数据时,因为是同时多个QLC SSD并行操作,所以速度快。而且底层SSD没有垃圾回收和磨损均衡策略,只管按照页大小顺序进行写入,操作简单,明确了Flash资源使用管理。QLC SSD的写放大被最大地消除了,所以QLC SSD 可以(当然在一定安全的限度内)当作容量型的存储,又因为使用NVME over RDMA 协议,读写速度快,所以也能当作性能型的存储。
根据本发明实施例,对全局QLC SSD资源管理控制器中的垃圾回收和磨损均衡策略进行优化,具体为:
PM持久内存空间中的数据按条带读盘,将存储数据条带的闪存块编码,将编码完成后的闪存块生成编码列表,并选取页映射的作为地址映射方式;
当SSD中存储空间不足时,通过各闪存块中无效页的比例及擦除次数进行计算,从前到后选取编码列表中预设数量的闪存块进行对比,获取其中计算数值最小的闪存块作为回收闪存块;
同时,根据空闲闪存块的擦除次数评估磨损程度,将磨损程度小于预设阈值的闪存块归为一类闪存块,将磨损程度大于预设阈值的闪存块归为二类闪存块,同时按照磨损程度分别生成一类磨损列及二类磨损列表;
将回收块中的有效页面进行迁移至二类磨损列表中第一个闪存块,对回收块进行数据擦除,计算数据擦除后回收块的磨损程度,根据所述磨损程度进行闪存块归类。
需要说明的是,在SSD的垃圾回收策略中优选选择有效页面最少的块作为回收块,
而磨损均衡策略,则希望垃圾回收优先选择磨损次数最少的块作为回收块,通过各闪存块
中无效页的比例及擦除次数进行计算获取得分数值,具体为:
其中, 表示SSD中空闲闪存块的比例,表示擦除次数,表示最大擦除次数,表示闪存块中页面总数,表示闪存块中无效页面数量;为SSD中的动态值,较小时
空闲闪存块较少,垃圾回收侧重于无效页面较多的闪存块,避免频繁垃圾回收,较大时,
垃圾回收侧重于磨损程度较小的闪存块,提高寿命;并且通过磨损程度进行空闲闪存块分
类,将热数据存入一类磨损列表中的闪存块,垃圾回收策略中的有效页面迁移至二类磨损
列表中的闪存块。
本发明第三方面还提供一种计算机可读存储介质,所述计算机可读存储介质中包括一种基于持久内存技术的全局资源管理方法程序,所述一种基于持久内存技术的全局资源管理方法程序被处理器执行时,实现如上述任一项所述的一种基于持久内存技术的全局资源管理方法的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种基于持久内存技术的全局资源管理方法,其特征在于,包括以下步骤:
获取远方客户端NVME over RDMA数据,存储至DRAM空间,通过RDMA数据分页模块按QLC的页大小将数据进行条带化处理,并将条带化数据搬移到PM持久内存空间;
将PM持久内存空间内部按容器化的方式组织起来,每个容器的大小等于QLC介质的页大小,并记录元数据和日志;
通过全局QLC SSD资源管理控制器设置服务器内部磨损均衡和垃圾回收策略,并通过服务器RAID控制模块实现条带化数据的并行读写,并快速生成异或校验;
并在最底层QLC SSD通过轻量级的SSD控制器按QLC的页大小写入及读出数据。
2.根据权利要求1所述的一种基于持久内存技术的全局资源管理方法,其特征在于,将内存空间划分为DRAM空间部分及PM持久内存空间部分;
所述DRAM空间部分作为RDMA的空间和其它软件RAM的存储空间;
所述PM持久空间内存空间部分用作部署PM持久内存资源,当做数据缓冲空间及元数据存储空间。
3.根据权利要求1所述的一种基于持久内存技术的全局资源管理方法,其特征在于,通过RDMA数据分页模块按QLC的页大小将数据进行条带化处理,具体为:
RDMA数据分页模块在读数据时避开PM持久空间内存空间,直接访问DRMA空间;
在进行条带化数据时,将不足QLC页大小的数据扩充到页大小,将大于QLC页大小的数据按照页大小进行裁剪,并把剩余的不足页大小的数据合并到下一个条带。
4.根据权利要求1所述的一种基于持久内存技术的全局资源管理方法,其特征在于,将PM持久内存空间内部按容器化的方式组织起来,每个容器的大小等于QLC介质的页大小,并记录元数据和日志,具体为:
通过使用NVME over RDMA协议方式,当小于QLC页大小的I/O数据来临时,PM持久内存空间将缓存数据,并且按容器把数据组织成一个条带,并且纪录元数据和日志,其中N-1个容器组成一个条带;
PM持久内存空间中写缓冲PM空间满时数据写入硬盘,并设置预留缓冲PM空间,当做写缓冲满时接替写缓冲区。
5.根据权利要求1所述的一种基于持久内存技术的全局资源管理方法,其特征在于,所述全局QLC SSD资源管理控制器及RAID控制模块,具体为:
全局QLC SSD资源管理控制器管理FLASH资源和实施磨损均衡和垃圾回收策略,充分利用每个FLASH颗粒的寿命;
RAID控制模块实现N-1个QLC页的并行读写,并按照N-1个页 生成一个异或校验页,所述异或校验的页位置随机分布在0-N号的QLC SSD上,避免对某个固定存校验数据的QLCSSD繁读写。
6.根据权利要求1所述的一种基于持久内存技术的全局资源管理方法,其特征在于,通过服务器中部署的PCIE X4接口的RAID芯片连接PCI-E交换机芯片实现N路扇出;
所述RAID芯片一次性写入或读出N-1个QLC页的数据以及对应的parity页,保证读写性能的同时对数据有RAID保护。
7.根据权利要求1所述的一种基于持久内存技术的全局资源管理方法,其特征在于,最底层的QLC SSD上仅仅使用轻量级的SSD控制器,所述轻量级的SSD控制器确保严格地按QLC页大小写入数据,此外不实施任何的垃圾回收和磨损均衡策略。
8.一种基于持久内存技术的全局资源管理***,其特征在于,该***包括:存储器、处理器,所述存储器中包括一种基于持久内存技术的全局资源管理方法程序,所述一种基于持久内存技术的全局资源管理方法程序被所述处理器执行时实现如下步骤:
获取远方客户端NVME over RDMA数据,存储至DRAM空间,通过RDMA数据分页模块按QLC的页大小将数据进行条带化处理,并将条带化数据搬移到PM持久内存空间;
将PM持久内存空间内部按容器化的方式组织起来,每个容器的大小等于QLC介质的页大小,并记录元数据和日志;
通过全局QLC SSD资源管理控制器设置服务器内部磨损均衡和垃圾回收策略,并通过服务器RAID控制模块实现条带化数据的并行读写,并快速生成异或校验;
并在最底层QLC SSD通过轻量级的SSD控制器按QLC的页大小写入及读出数据。
9.根据权利要求8所述的一种基于持久内存技术的全局资源管理***,其特征在于,将PM持久内存空间内部按容器化的方式组织起来,每个容器的大小等于QLC介质的页大小,并记录元数据和日志,具体为:
通过使用NVME over RDMA协议方式,当小于QLC页大小的I/O 数据来临时,PM持久内存空间将缓存数据,并且按容器把数据组织成一个条带,并且纪录元数据和日志,其中N-1个容器组成一个条带;
PM持久内存空间中写缓冲PM空间满时数据写入硬盘,并设置预留缓冲PM空间,当做写缓冲满时接替写缓冲区。
10.根据权利要求8所述的一种基于持久内存技术的全局资源管理***,其特征在于,所述全局QLC SSD资源管理控制器及RAID控制模块,具体为:
全局QLC SSD资源管理控制器管理FLASH资源和实施磨损均衡和垃圾回收策略,充分利用每个FLASH颗粒的寿命;
RAID控制模块实现N-1个QLC页的并行读写,并按照N-1个页 生成一个异或校验页,所述异或校验的页位置随机分布在0-N号的QLC SSD上,避免对某个固定存校验数据的QLCSSD繁读写。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210839716.5A CN114911631B (zh) | 2022-07-18 | 2022-07-18 | 基于持久内存技术的全局资源管理方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210839716.5A CN114911631B (zh) | 2022-07-18 | 2022-07-18 | 基于持久内存技术的全局资源管理方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114911631A true CN114911631A (zh) | 2022-08-16 |
CN114911631B CN114911631B (zh) | 2022-10-21 |
Family
ID=82772842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210839716.5A Active CN114911631B (zh) | 2022-07-18 | 2022-07-18 | 基于持久内存技术的全局资源管理方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114911631B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120278382A1 (en) * | 2011-04-29 | 2012-11-01 | Faith Rickard E | Extent-based storage architecture |
CN103488578A (zh) * | 2012-12-28 | 2014-01-01 | 晶天电子(深圳)有限公司 | 虚拟存储设备(vmd)应用/驱动器 |
CN103902403A (zh) * | 2012-12-27 | 2014-07-02 | Lsi公司 | 经由冗余阵列的非易失性存储器编程故障恢复 |
CN103902465A (zh) * | 2014-03-19 | 2014-07-02 | 华为技术有限公司 | 一种固态硬盘垃圾回收的方法、***和固态硬盘控制器 |
US20140215129A1 (en) * | 2013-01-28 | 2014-07-31 | Radian Memory Systems, LLC | Cooperative flash memory control |
CN107025185A (zh) * | 2016-02-01 | 2017-08-08 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
CN111309310A (zh) * | 2020-03-02 | 2020-06-19 | 上海交通大学 | 面向非易失性内存的JavaScript对象持久化框架 |
WO2022053774A1 (en) * | 2020-09-14 | 2022-03-17 | Arm Limited | Draining operation for draining dirty cache lines to persistent memory |
CN114510321A (zh) * | 2022-01-30 | 2022-05-17 | 阿里巴巴(中国)有限公司 | 资源调度方法、相关装置和介质 |
CN114697372A (zh) * | 2022-05-31 | 2022-07-01 | 深圳市泛联信息科技有限公司 | 一种分布式***中数据传输处理与存储方法、***及介质 |
-
2022
- 2022-07-18 CN CN202210839716.5A patent/CN114911631B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120278382A1 (en) * | 2011-04-29 | 2012-11-01 | Faith Rickard E | Extent-based storage architecture |
CN103902403A (zh) * | 2012-12-27 | 2014-07-02 | Lsi公司 | 经由冗余阵列的非易失性存储器编程故障恢复 |
CN103488578A (zh) * | 2012-12-28 | 2014-01-01 | 晶天电子(深圳)有限公司 | 虚拟存储设备(vmd)应用/驱动器 |
US20140215129A1 (en) * | 2013-01-28 | 2014-07-31 | Radian Memory Systems, LLC | Cooperative flash memory control |
CN103902465A (zh) * | 2014-03-19 | 2014-07-02 | 华为技术有限公司 | 一种固态硬盘垃圾回收的方法、***和固态硬盘控制器 |
CN107025185A (zh) * | 2016-02-01 | 2017-08-08 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
CN111309310A (zh) * | 2020-03-02 | 2020-06-19 | 上海交通大学 | 面向非易失性内存的JavaScript对象持久化框架 |
WO2022053774A1 (en) * | 2020-09-14 | 2022-03-17 | Arm Limited | Draining operation for draining dirty cache lines to persistent memory |
CN114510321A (zh) * | 2022-01-30 | 2022-05-17 | 阿里巴巴(中国)有限公司 | 资源调度方法、相关装置和介质 |
CN114697372A (zh) * | 2022-05-31 | 2022-07-01 | 深圳市泛联信息科技有限公司 | 一种分布式***中数据传输处理与存储方法、***及介质 |
Non-Patent Citations (2)
Title |
---|
YOSHIKI TAKAI 等: "Analysis on Heterogeneous SSD Configuration with Quadruple-Level Cell (QLC) NAND Flash Memory", 《2019 IEEE 11TH INTERNATIONAL MEMORY WORKSHOP (IMW)》 * |
屠要峰 等: "基于持久性内存和SSD的后端存储MixStore", 《计算机研究与发展》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114911631B (zh) | 2022-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11416391B2 (en) | Garbage collection | |
US9619180B2 (en) | System method for I/O acceleration in hybrid storage wherein copies of data segments are deleted if identified segments does not meet quality level threshold | |
EP3121730B1 (en) | Memory system for controlling nonvolatile memory | |
US9547589B2 (en) | Endurance translation layer (ETL) and diversion of temp files for reduced flash wear of a super-endurance solid-state drive | |
KR101467941B1 (ko) | 비휘발성 저장부에 대한 가변 오버프로비저닝 | |
US8959280B2 (en) | Super-endurance solid-state drive with endurance translation layer (ETL) and diversion of temp files for reduced flash wear | |
KR101562781B1 (ko) | 비휘발성 스토리지에 대한 셀프-저널링 및 계층적 일치성 | |
CN102646069B (zh) | 一种延长固态盘使用寿命的方法 | |
EP2778889B1 (en) | Dynamic storage device provisioning | |
CN109992530A (zh) | 一种固态驱动器设备及基于该固态驱动器的数据读写方法 | |
US20130073798A1 (en) | Flash memory device and data management method | |
US11321229B2 (en) | System controller and system garbage collection method | |
CN107924291B (zh) | 存储*** | |
US10866743B2 (en) | Storage control device using index indicating order of additional writing of data, storage control method using index indicating order of additional writing of data, and recording medium recording program using index indicating order of additional writing of data | |
CN106569748A (zh) | Flash文件***的数据处理方法和装置 | |
US11218163B2 (en) | Memory system and information processing system | |
US8819350B2 (en) | Memory system | |
US20230259453A1 (en) | Memory system and method of controlling nonvolatile memory | |
US20190243758A1 (en) | Storage control device and storage control method | |
KR20090107098A (ko) | 낸드 플래시 메모리를 위한 지역성 기반의 가비지 컬렉션기법 | |
EP3798852B1 (en) | System controller and system garbage recovery method | |
CN112035065B (zh) | 一种数据写入方法、装置、设备及计算机可读存储介质 | |
CN108304139B (zh) | 一种在固态盘阵列中实现空间释放的方法及装置 | |
CN114911631B (zh) | 基于持久内存技术的全局资源管理方法及*** | |
CN111208932B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |