CN111582739B - 一种多租户固态盘性能隔离条件下实现高带宽的方法 - Google Patents

一种多租户固态盘性能隔离条件下实现高带宽的方法 Download PDF

Info

Publication number
CN111582739B
CN111582739B CN202010400213.9A CN202010400213A CN111582739B CN 111582739 B CN111582739 B CN 111582739B CN 202010400213 A CN202010400213 A CN 202010400213A CN 111582739 B CN111582739 B CN 111582739B
Authority
CN
China
Prior art keywords
tenant
request
entering
bandwidth
flash 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.)
Active
Application number
CN202010400213.9A
Other languages
English (en)
Other versions
CN111582739A (zh
Inventor
周游
文宇鸿
吴非
谢长生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN202010400213.9A priority Critical patent/CN111582739B/zh
Publication of CN111582739A publication Critical patent/CN111582739A/zh
Application granted granted Critical
Publication of CN111582739B publication Critical patent/CN111582739B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0645Rental transactions; Leasing transactions

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种多租户固态盘性能隔离条件下实现高带宽的方法,其提出在多租户固态盘中采取局部型垃圾回收方式,并为每个租户分配带宽预算,采取轮询调度的请求调度方法,周期性根据租户的实际带宽比调整带宽预算分配,以保障性能隔离,进而实现带宽公平;周期性根据各租户对预留空间资源的需求程度来按需调整预留空间资源的分配,来提高带宽性能,与此同时通过控制预留空间调整过程中被调整块的垃圾回收速率和写映射速率,来避免预留空间动态调整对性能隔离效果的破坏。本发明能够在多租户固态盘内既保障租户间的性能隔离效果,又能减少由性能隔离带来的带宽损失,实现高带宽性能。

Description

一种多租户固态盘性能隔离条件下实现高带宽的方法
技术领域
本发明属于存储技术领域,更具体地,涉及一种多租户固态盘性能隔离条件下实现高带宽的方法。
背景技术
随着闪存技术的不断进步,多租户固态盘(Solid State Disk,SSD)的存储密度越来越高,而成本越来越低,这使得单个多租户固态盘的容量变得越来越大,多租户固态盘虚拟化技术得以发展和利用。虚拟化技术是提高硬件资源利用率和降低系统成本的有效手段,通过虚拟化技术,多租户可以共享使用有限的硬件资源(如CPU、I/O设备、内存等),进而利用多租户固态盘内部多通道、多芯片、多晶圆以及多分组间的高度并行结构来提高带宽性能,其中晶圆是独立执行闪存操作命令的最小存储单元。
在现有多租户固态盘的应用场景中,保障多租户间的性能隔离是多租户固态盘系统设计的关键要求。现有的多租户固态盘性能隔离方法通常保障每个闪存块只存储单个租户的数据,并分配给每个租户固定的闪存块资源,以消除租户间的闪存块资源的竞争,并实现租户间的性能隔离,如图1所示。
闪存多租户固态盘为了降低垃圾回收开销,在满足租户存储空间的基础上额外提供了过量的存储空间,称为预留空间(Over-Provision Space,OPS),预留空间越大,则闪存块的平均有效页数越少,垃圾回收开销越小,性能越高;但现有的多租户固态盘性能隔离方法存在着不可忽略的缺陷:该方法将固定大小的预留空间分配给各租户,却并没有考虑到对于写密集型租户而言,其对预留空间的需求程度和利用率高于读密集型租户,因此,该方法会由于各租户对预留空间利用率不同,造成带宽性能损失。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种多租户固态盘性能隔离条件下实现高带宽的方法,其目的在于,解决现有多租户固态盘性能隔离方法由于没有考虑到各租户对预留空间利用率不同,所造成的带宽性能损失的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种多租户固态盘性能隔离条件下实现高带宽的方法,包括:
一、IO请求插入请求队列过程,其包括以下步骤:
(1)接收来自租户的IO请求,并判断该IO请求的请求类型是读请求还是写请求,若为读请求则进入步骤(2),否则进入步骤(3);
(2)根据该IO请求对应的逻辑地址查询地址映射表,以获取对应的物理地址,并将该读请求插入到与该物理地址对应的、该租户的请求队列中,过程结束;
(3)判断该租户是否拥有特殊空闲闪存块,如果拥有且尚未写满则进入步骤(4),否则进入步骤(6);
(4)判断当前时刻该特殊空闲闪存块的写速率是否超过阈值,如果是则进入步骤(5),否则进入步骤(6);
(5)将该写请求映射到该特殊空闲闪存块的物理地址上,修改地址映射表中该写请求的逻辑地址与物理地址之间的映射关系,并将该写请求插入到与该物理地址对应的、该租户的请求队列中,然后进入步骤(7);
(6)将该写请求映射到该租户除了特殊空闲闪存块以外的另一个空闲闪存块的物理地址上,修改地址映射表中该写请求的逻辑地址与物理地址之间的映射关系,并将该写请求插入到与该物理地址对应的、该租户的请求队列中,然后进入步骤(7);
(7)判断该租户的所有空闲闪存块是否都已经被消耗完,如果是则进入步骤(8),否则进入请求调度执行过程;
(8)从该租户所有已使用的闪存块中挑选有效页数最少的闪存块作为淘汰块,为其生成相应的GC请求,将这些GC请求插入该租户对应的请求队列中,并进入请求调度执行过程;
二、预留空间动态管理过程,其具体包括以下子步骤:
(9)判断专用队列中的GC请求是否已全部执行完毕,若是则进入步骤(10),否则继续等待专用队列中的块擦除请求被全部执行完毕,然后进入步骤(10);
(10)选择写放大程度最小的租户,判断其是否拥有空闲闪存块,若拥有则将其中一部分空闲闪存块重新分配给写放大程度最大的租户,结束本过程,否则进入步骤(11);
(11)从该租户所有已使用的闪存块中挑选有效页数最少的闪存块作为淘汰块,为其生成相应的GC请求,将该GC请求插入专用队列中,将该淘汰块重新分配给写放大程度最大的租户,并进入请求调度执行过程;
三、请求调度执行过程,其包括以下子步骤:
(12)判断多租户固态盘中是否存在处于空闲状态的闪存晶圆,若存在则进入步骤(13),否则持续等待,直到多租户固态盘中存在处于空闲状态的闪存晶圆为止,并进入步骤(13);
(13)判断其请求队列中存在待执行请求的所有租户中,是否存在为其分配的带宽预算未被消耗完的租户,若是则进入步骤(15),否则进入步骤(14);
(14)基于前一次为所有租户分配的带宽预算总和重新为所有租户分配带宽预算;
(15)从所有请求队列中选择一个其对应的租户拥有未消耗完的带宽预算、且存在待执行请求的队列,处理该待执行请求并消耗该租户的带宽预算。
优选地,特殊空闲闪存块是通过当前时刻之前的请求调度执行过程中完成专用队列中的块擦除请求后获得的。
优选地,写放大程度是每完成一个来自租户的页大小的写请求,需要执行的闪存写操作的平均次数。
优选地,步骤(10)中重新分配的空闲闪存块个数可自由选择,其至少为一个空闲闪存块。
优选地,步骤(14)包括如下子步骤:
(14-1)判断前一次为所有租户分配的带宽预算总和是否超过前一次多租户固态盘的总带宽,若是则将所有租户本次所要分配的带宽预算下调1%,并进入步骤(14-2),否则将所有租户本次所要分配的带宽预算上调1%,并进入步骤(14-2);
(14-2)设置计数器i=0;
(14-3)判断i是否小于多租户固态盘中租户的总数,若是则进入步骤(14-4),否则进入步骤(14-9);
(14-4)判断前一次为该第i个租户分配的带宽预算是否已经被消耗完,若是则进入步骤(14-5),否则进入步骤(14-6);
(14-5)将前一次为该第i个租户分配的带宽预算中未消耗完的部分从其本次即将分配的带宽预算中扣除,并进入步骤(14-6);
(14-6)判断该第i个租户前一次的实际带宽是否超过了其理论公平带宽,若是则进入步骤(14-7),否则进入步骤(14-8);
(14-7)将该第i个租户前一次的实际带宽超出理论公平带宽的部分从其本次即将分配的带宽预算中扣除,并进入步骤(14-8);
(14-8)设置计数器i=i+1,并返回步骤(14-3);
(14-9)将所有被扣除了的带宽预算平均分配给各个租户,并为专用队列对应的虚拟租户分配带宽预算;
优选地,理论公平带宽为多租户固态盘的总带宽平均分给各租户的均值。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)由于本发明采用了步骤(9)到步骤(11),其根据各租户的写放大程度反映其对预留空间的需求程度及利用率,通过周期性逐步将写放大程度最小的租户的闪存块资源重新分配给写放大程度最大的租户,使对预留空间有更高需求程度的租户能拥有更多的闪存块资源,进而提升闪存块资源的利用率,提升带宽性能,因此能够解决现有多租户固态盘性能隔离方法容易导致带宽性能损失的技术问题。
(2)本发明通过步骤(4)、(5)、(11)及(14),限制了被重新分配的闪存块的写映射速率和GC请求执行速率,进而避免了由于闪存块资源的重新分配对性能隔离造成的破坏影响。
(3)本发明通过步骤(12)到步骤(15),可以精准控制各租户的请求执行,进而控制各租户的带宽性能,保障性能隔离效果,并可通过自行定义公平概念来调整带宽预算的分配,来实现不同的公平目标。
附图说明
图1是现有多租户固态盘的空间隔离方法示意图。
图2是本发明多租户固态盘的系统架构。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明的基本思路在于,提供一种多租户固态盘性能隔离条件下实现高带宽的方法。在云计算越来越普及、多租户固态盘容量和性能不断提升的当下,多租户固态盘虚拟化技术成为提高存储资源利用率的重要手段。但是当多租户共享使用多租户固态盘时,由于存在存储资源争用,可能会出现租户之间带宽分配不公平、带宽不稳定等服务质量问题,因此性能隔离成为保证服务质量的必要手段。多租户共享使用的多租户固态盘通常通过保障每个闪存块只存储单个租户的数据的空间隔离方式并分配给每个租户固定的闪存块资源,以实现租户间的性能隔离,但这种方式会由于不同租户对闪存块资源的利用率不同而造成性能损失。本发明提出在多租户固态盘中采取局部型垃圾回收方式,并为每个租户分配带宽预算,采取轮询调度的请求调度方法,周期性根据租户的实际带宽比调整带宽预算分配,以保障性能隔离,进而实现带宽公平;周期性根据各租户对预留空间资源的需求程度来按需调整预留空间资源的分配,来提高带宽性能,与此同时通过控制预留空间调整过程中被调整块的垃圾回收速率和写映射速率,来避免预留空间动态调整对性能隔离效果的破坏。本发明能够在多租户固态盘内既保障租户间的性能隔离效果,又能减少由性能隔离带来的带宽损失,实现高带宽性能。
如图2所示,本发明的多租户固态盘的系统架构主要包括以下功能:
地址映射负责将从主机端接收的IO请求的逻辑地址映射到底层闪存介质的物理地址上,在本发明中各租户的IO请求只能映射到该租户所分配到的闪存块的物理地址中,称之为块隔离,保障租户间的隔离性;其中对于通过预留空间动态管理获得一个新的空闲块的租户而言,每周期只能将一定数量的写请求的逻辑地址映射到该空闲块中,控制该空闲块的写速率,由此保障预留空间动态调整不会破坏租户间的性能隔离效果;
垃圾回收(Garbage collection,简称GC)负责从已使用闪存块中挑选淘汰块,擦除该淘汰块的数据,将其变成空闲闪存块,在擦除之前需将淘汰块中的有效数据迁移到其他块中,每个有效数据页的迁移都会产生一个读请求和一个写请求,最终对整个块执行擦除请求,这些读、写和擦除请求统称为GC请求,本发明中当某租户触发垃圾回收时,只能从该租户所分配到的闪存块中挑选淘汰块,称之为局部型垃圾回收,由此保障租户间的隔离性;其中由预留空间动态管理触发的垃圾回收的GC请求需要插入OPS调整产生的GC专用队列(后续简称“专用队列”)中排队等待请求调度管理的调度执行,并控制其执行速率,由此保障预留空间动态调整不会破坏租户间的性能隔离效果;
预留空间动态管理负责周期性统计各租户写放大程度即每完成一个来自租户的页大小写请求,平均需要执行多少个闪存写操作,写放大程度最小的租户对预留空间的需求程度最低,因此本发明中将其所分配到的一个预留空间重新分配给写放大程度最大的租户,保障预留空间整体利用率的提升,进而实现高带宽性能;
带宽预算管理负责周期性为各租户分配带宽预算用于执行请求队列中的排队请求,本发明中周期性根据各租户实际带宽比值是否公平来动态调整带宽预算分配,并根据上周期实际总带宽值调整本周期可分配的总带宽预算值,保障租户间分配到的带宽预算的公平性。其中专用队列可视为一个特殊的“租户”所属的请求队列,用于存放由预留空间动态管理过程触发的垃圾回收过程中的GC请求,也需要分配带宽预算,其带宽预算主要目的在于控制其执行速率,保障预留空间动态调整不会破坏租户间的性能隔离效果;
请求调度管理用于控制各租户的请求执行速率,本发明中其中每个租户只有当存在剩余带宽预算时才可以执行其请求队列中的请求,否则必须等待带宽预算管理周期性补充各租户的带宽预算。每次执行完一个请求后都要从对应租户的带宽预算中进行扣除,由此保障各租户实际获得带宽的公平性。
本发明提供了一种多租户固态盘性能隔离条件下实现高带宽的方法,包括:
一、IO请求插入请求队列过程,其包括以下步骤:
(1)接收来自租户的IO请求,并判断该IO请求的请求类型是读请求还是写请求,若为读请求则进入步骤(2),否则进入步骤(3);
(2)根据该IO请求对应的逻辑地址查询地址映射表,以获取对应的物理地址,并将该读请求插入到与该物理地址对应的、该租户的请求队列中,过程结束;
(3)判断该租户是否拥有特殊空闲闪存块,如果拥有且尚未写满则进入步骤(4),否则进入步骤(6);
具体而言,特殊空闲闪存块是通过当前时刻之前的请求调度执行过程中完成专用队列中的块擦除请求后获得的。
(4)判断当前时刻该特殊空闲闪存块的写速率是否超过阈值,如果是则进入步骤(5),否则进入步骤(6);
具体而言,本步骤中阈值由使用者具体设定,其最大值不超过该租户的当前带宽值。
(5)将该写请求映射到该特殊空闲闪存块的物理地址上,修改地址映射表中该写请求的逻辑地址与物理地址之间的映射关系,并将该写请求插入到与该物理地址对应的、该租户的请求队列中,然后进入步骤(7);
(6)将该写请求映射到该租户除了特殊空闲闪存块以外的另一个空闲闪存块的物理地址上,修改地址映射表中该写请求的逻辑地址与物理地址之间的映射关系,并将该写请求插入到与该物理地址对应的、该租户的请求队列中,然后进入步骤(7);
(7)判断该租户的所有空闲闪存块是否都已经被消耗完,如果是则进入步骤(8),否则进入请求调度执行过程;
(8)从该租户所有已使用的闪存块中挑选有效页数最少的闪存块作为淘汰块,为其生成相应的垃圾回收(Garbage collection,简称GC)请求,将这些GC请求插入该租户对应的请求队列中,并进入请求调度执行过程;
二、预留空间动态管理过程,其具体包括以下子步骤:
(9)判断专用队列中的GC请求是否已全部执行完毕,若是则进入步骤(10),否则继续等待专用队列中的块擦除请求被全部执行完毕,然后进入步骤(10);
(10)选择写放大程度最小的租户,判断其是否拥有空闲闪存块,若拥有则将其中一部分空闲闪存块重新分配给写放大程度最大的租户,结束本过程,否则进入步骤(11);
具体而言,写放大程度指的是每完成一个来自租户的页大小的写请求,需要执行的闪存写操作的平均次数,写放大程度最小的租户对预留空间的需求程度最低。一次预留空间动态管理过程重新分配的空闲闪存块个数可由使用者自行决定,至少为一个空闲闪存块。
本步骤的优点是,可以使对预留空间有更高需求程度的租户能拥有更多的闪存块资源,进而提升闪存块资源的利用率,提升带宽性能。
(11)从该租户所有已使用的闪存块中挑选有效页数最少的闪存块作为淘汰块,为其生成相应的GC请求,将该GC请求插入专用队列中,将该淘汰块重新分配给写放大程度最大的租户,并进入请求调度执行过程;
三、请求调度执行过程,其包括以下子步骤:
(12)判断多租户固态盘中是否存在处于空闲状态的闪存晶圆,若存在则进入步骤(13),否则持续等待,直到多租户固态盘中存在处于空闲状态的闪存晶圆为止,并进入步骤(13);
(13)判断其请求队列中存在待执行请求的所有租户中,是否存在为其分配的带宽预算未被消耗完的租户,若是则进入步骤(15),否则进入步骤(14);
(14)基于前一次为所有租户分配的带宽预算总和重新为所有租户分配带宽预算;
具体而言,本步骤包括如下子步骤:
(14-1)判断前一次为所有租户分配的带宽预算总和是否超过前一次多租户固态盘的总带宽,若是则将所有租户本次所要分配的带宽预算下调1%,并进入步骤(14-2),否则将所有租户本次所要分配的带宽预算上调1%,并进入步骤(14-2);
(14-2)设置计数器i=0;
(14-3)判断i是否小于多租户固态盘中租户的总数,若是则进入步骤(14-4),否则进入步骤(14-9);
(14-4)判断前一次为该第i个租户分配的带宽预算是否已经被消耗完,若是则进入步骤(14-5),否则进入步骤(14-6);
(14-5)将前一次为该第i个租户分配的带宽预算中未消耗完的部分从其本次即将分配的带宽预算中扣除,并进入步骤(14-6);
(14-6)判断该第i个租户前一次的实际带宽是否超过了其理论公平带宽,若是则进入步骤(14-7),否则进入步骤(14-8);
具体而言,理论公平带宽可由使用者自己定义,在本步骤中,理论公平带宽定义为多租户固态盘的总带宽平均分给各租户的均值。
(14-7)将该第i个租户前一次的实际带宽超出理论公平带宽的部分从其本次即将分配的带宽预算中扣除,并进入步骤(14-8);
(14-8)设置计数器i=i+1,并返回步骤(14-3);
(14-9)将所有被扣除了的带宽预算平均分配给各个租户,并为专用队列对应的虚拟租户分配带宽预算;
(15)从所有请求队列中选择一个其对应的租户拥有未消耗完的带宽预算、且存在待执行请求的队列,处理该待执行请求并消耗该租户的带宽预算;
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种多租户固态盘性能隔离条件下实现高带宽的方法,其特征在于,包括:
一、IO请求插入请求队列过程,其包括以下步骤:
(1)接收来自租户的IO请求,并判断该IO请求的请求类型是读请求还是写请求,若为读请求则进入步骤(2),否则进入步骤(3);
(2)根据该IO请求对应的逻辑地址查询地址映射表,以获取对应的物理地址,并将该读请求插入到与该物理地址对应的、该租户的请求队列中,过程结束;
(3)判断该租户是否拥有特殊空闲闪存块,如果拥有且尚未写满则进入步骤(4),否则进入步骤(6);其中特殊空闲闪存块是通过当前时刻之前的请求调度执行过程中完成专用队列中的块擦除请求后获得的;其中由专用队列是预留空间动态管理触发的垃圾回收的垃圾回收请求需要插入预留空间调整产生的垃圾回收专用队列;
(4)判断当前时刻该特殊空闲闪存块的写速率是否超过阈值,如果是则进入步骤(5),否则进入步骤(6);
(5)将该写请求映射到该特殊空闲闪存块的物理地址上,修改地址映射表中该写请求的逻辑地址与物理地址之间的映射关系,并将该写请求插入到与该物理地址对应的、该租户的请求队列中,然后进入步骤(7);
(6)将该写请求映射到该租户除了特殊空闲闪存块以外的另一个空闲闪存块的物理地址上,修改地址映射表中该写请求的逻辑地址与物理地址之间的映射关系,并将该写请求插入到与该物理地址对应的、该租户的请求队列中,然后进入步骤(7);
(7)判断该租户的所有空闲闪存块是否都已经被消耗完,如果是则进入步骤(8),否则进入请求调度执行过程;
(8)从该租户所有已使用的闪存块中挑选有效页数最少的闪存块作为淘汰块,为其生成相应的GC请求,将这些GC请求插入该租户对应的请求队列中,并进入请求调度执行过程;
二、预留空间动态管理过程,其具体包括以下子步骤:
(9)判断专用队列中的GC请求是否已全部执行完毕,若是则进入步骤(10),否则继续等待专用队列中的块擦除请求被全部执行完毕,然后进入步骤(10);
(10)选择写放大程度最小的租户,判断其是否拥有空闲闪存块,若拥有则将其中一部分空闲闪存块重新分配给写放大程度最大的租户,结束本过程,否则进入步骤(11);
(11)从该租户所有已使用的闪存块中挑选有效页数最少的闪存块作为淘汰块,为其生成相应的GC请求,将该GC请求插入专用队列中,将该淘汰块重新分配给写放大程度最大的租户,并进入请求调度执行过程;
三、请求调度执行过程,其包括以下子步骤:
(12)判断多租户固态盘中是否存在处于空闲状态的闪存晶圆,若存在则进入步骤(13),否则持续等待,直到多租户固态盘中存在处于空闲状态的闪存晶圆为止,并进入步骤(13);
(13)判断其请求队列中存在待执行请求的所有租户中,是否存在为其分配的带宽预算未被消耗完的租户,若是则进入步骤(15),否则进入步骤(14);
(14)基于前一次为所有租户分配的带宽预算总和重新为所有租户分配带宽预算;
(15)从所有请求队列中选择一个其对应的租户拥有未消耗完的带宽预算、且存在待执行请求的队列,处理该待执行请求并消耗该租户的带宽预算。
2.根据权利要求1所述的多租户固态盘性能隔离条件下实现高带宽的方法,其特征在于,写放大程度是每完成一个来自租户的页大小的写请求,需要执行的闪存写操作的平均次数。
3.根据权利要求1所述的多租户固态盘性能隔离条件下实现高带宽的方法,其特征在于,步骤(10)中重新分配的空闲闪存块个数可自由选择,其至少为一个空闲闪存块。
4.根据权利要求1所述的多租户固态盘性能隔离条件下实现高带宽的方法,其特征在于,步骤(14)包括如下子步骤:
(14-1)判断前一次为所有租户分配的带宽预算总和是否超过前一次多租户固态盘的总带宽,若是则将所有租户本次所要分配的带宽预算下调1%,并进入步骤(14-2),否则将所有租户本次所要分配的带宽预算上调1%,并进入步骤(14-2);
(14-2)设置计数器i=0;
(14-3)判断i是否小于多租户固态盘中租户的总数,若是则进入步骤(14-4),否则进入步骤(14-9);
(14-4)判断前一次为该第i个租户分配的带宽预算是否已经被消耗完,若是则进入步骤(14-5),否则进入步骤(14-6);
(14-5)将前一次为该第i个租户分配的带宽预算中未消耗完的部分从其本次即将分配的带宽预算中扣除,并进入步骤(14-6);
(14-6)判断该第i个租户前一次的实际带宽是否超过了其理论公平带宽,若是则进入步骤(14-7),否则进入步骤(14-8);其中理论公平带宽为多租户固态盘的总带宽平均分给各租户的均值;
(14-7)将该第i个租户前一次的实际带宽超出理论公平带宽的部分从其本次即将分配的带宽预算中扣除,并进入步骤(14-8);
(14-8)设置计数器i=i+1,并返回步骤(14-3);
(14-9)将所有被扣除了的带宽预算平均分配给各个租户,并为专用队列对应的虚拟租户分配带宽预算。
CN202010400213.9A 2020-05-13 2020-05-13 一种多租户固态盘性能隔离条件下实现高带宽的方法 Active CN111582739B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010400213.9A CN111582739B (zh) 2020-05-13 2020-05-13 一种多租户固态盘性能隔离条件下实现高带宽的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010400213.9A CN111582739B (zh) 2020-05-13 2020-05-13 一种多租户固态盘性能隔离条件下实现高带宽的方法

Publications (2)

Publication Number Publication Date
CN111582739A CN111582739A (zh) 2020-08-25
CN111582739B true CN111582739B (zh) 2022-02-18

Family

ID=72124906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010400213.9A Active CN111582739B (zh) 2020-05-13 2020-05-13 一种多租户固态盘性能隔离条件下实现高带宽的方法

Country Status (1)

Country Link
CN (1) CN111582739B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112199044B (zh) * 2020-10-10 2023-04-25 中国人民大学 面向多租户的ftl设置方法、系统、计算机程序及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110309077A (zh) * 2019-06-28 2019-10-08 清华大学 主机与设备协同工作的闪存转换层构建方法及装置
CN110515859A (zh) * 2019-07-09 2019-11-29 杭州电子科技大学 一种固态硬盘读写请求并行处理方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130074091A1 (en) * 2011-09-20 2013-03-21 Cloudbyte, Inc. Techniques for ensuring resources achieve performance metrics in a multi-tenant storage controller
CN107515728B (zh) * 2016-06-17 2019-12-24 清华大学 发挥闪存设备内部并发特性的数据管理方法和装置
CN107391392A (zh) * 2017-07-21 2017-11-24 重庆大学 一种基于闪存存储设备并行特征的垃圾回收优化方法
CN110580127B (zh) * 2018-06-07 2020-10-16 华中科技大学 一种基于多租户云存储的资源管理方法和资源管理系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110309077A (zh) * 2019-06-28 2019-10-08 清华大学 主机与设备协同工作的闪存转换层构建方法及装置
CN110515859A (zh) * 2019-07-09 2019-11-29 杭州电子科技大学 一种固态硬盘读写请求并行处理方法

Also Published As

Publication number Publication date
CN111582739A (zh) 2020-08-25

Similar Documents

Publication Publication Date Title
US10387202B2 (en) Quality of service implementation in a networked storage system with hierarchical schedulers
US10534542B2 (en) Dynamic core allocation for consistent performance in a non-preemptive scheduling environment
US10649664B2 (en) Method and device for scheduling virtual disk input and output ports
US10185592B2 (en) Network storage device using dynamic weights based on resource utilization
US20200089537A1 (en) Apparatus and method for bandwidth allocation and quality of service management in a storage device shared by multiple tenants
US20220091739A1 (en) Write type based crediting for block level write throttling to control impact to read input/output operations
US9009397B1 (en) Storage processor managing solid state disk array
US10241909B2 (en) Non-volatile memory device
US20110246742A1 (en) Memory pooling in segmented memory architecture
US10545791B2 (en) Methods to apply IOPS and MBPS limits independently using cross charging and global cost synchronization
US10394606B2 (en) Dynamic weight accumulation for fair allocation of resources in a scheduler hierarchy
JP7467593B2 (ja) リソース割振り方法、記憶デバイス、および記憶システム
US11698757B2 (en) Memory system and method of controlling nonvolatile memory
US9223373B2 (en) Power arbitration for storage devices
CN105117285B (zh) 一种基于移动虚拟化系统的非易失性存储器调度优化方法
US10387051B2 (en) Acquisition of IOPS and MBPS limits independently at a scheduler in a scheduler hierarchy
US20190332328A1 (en) Storage Controller and IO Request Processing Method
JP2005031929A (ja) サーバに記憶領域を割り当てる管理サーバ、記憶装置システム、及びプログラム
CN111582739B (zh) 一种多租户固态盘性能隔离条件下实现高带宽的方法
CN112311696B (zh) 网络封包接收装置及方法
CN110908595B (zh) 存储装置及信息处理系统
US11899947B2 (en) Storage device, storage system, and operating method thereof capable of dynamically allocating write blocks to a stream
US11106361B2 (en) Technologies for lockless, scalable, and adaptive storage quality of service
US11644991B2 (en) Storage device and control method
CN117389485B (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