CN113051196B - 一种基于固态硬盘层差异特征的请求调度算法 - Google Patents

一种基于固态硬盘层差异特征的请求调度算法 Download PDF

Info

Publication number
CN113051196B
CN113051196B CN202110330613.1A CN202110330613A CN113051196B CN 113051196 B CN113051196 B CN 113051196B CN 202110330613 A CN202110330613 A CN 202110330613A CN 113051196 B CN113051196 B CN 113051196B
Authority
CN
China
Prior art keywords
request
flash memory
sub
memory chip
layer
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
CN202110330613.1A
Other languages
English (en)
Other versions
CN113051196A (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.)
Wuhan University of Technology WUT
Original Assignee
Wuhan University of Technology WUT
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 Wuhan University of Technology WUT filed Critical Wuhan University of Technology WUT
Priority to CN202110330613.1A priority Critical patent/CN113051196B/zh
Publication of CN113051196A publication Critical patent/CN113051196A/zh
Application granted granted Critical
Publication of CN113051196B publication Critical patent/CN113051196B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)

Abstract

本发明公开了一种基于固态硬盘层差异特征的请求调度算法,所述固态硬盘为3D固态硬盘,具有若干条信道,每条信道上包含多个闪存芯片,每个闪存芯片中具有多个储存块,每个储存块具有多个层;该算法包括如下步骤:S1,传入待分配的子请求;S2,利用预先建立的层速度差异模型以及当前每个闪存芯片上已经挂载的子请求的位置和大小,得到每个闪存芯片的总延迟;S3,将待分配的子请求分配到步骤S2中得到的当前总延迟最低的闪存芯片中,并传出该子请求被分配到的位置;其中,所述层速度差异模型用于提供不同层之间的访问速度差异系数。本发明提供的基于固态硬盘层差异特征的请求调度算法,相比传统的调度算法,能够减少大量的等待时间。

Description

一种基于固态硬盘层差异特征的请求调度算法
技术领域
本发明涉及固态硬盘技术领域,尤其是涉及一种基于固态硬盘层差异特征的请求调度算法。
背景技术
固态硬盘的面世引领了硬盘市场的革新,大容量低成本表现优秀的固态硬盘已经取代了相当一部分的机械磁盘,而近年来固态硬盘的结构也有所改变,具体表现在由平面结构的存储颗粒升级至立体堆积的闪存颗粒,在提高容量的同时,也降低了存储的成本,但随之而来的是硬盘读写速度的差异化。
对于3D固态硬盘,其含有一个原始(尚未分配大请求)请求队列和若干条信道(channel),信道上的闪存芯片(flash chip)中包含很多的存储块(block),每个块中又有很多的层(layer),因此称之为3D结构,3D固态硬盘的部分物理结构如图3所示。对于好的固态硬盘,其主控制器含有请求调度模块,在这个模块中可以进行请求分配的操作,有助于提高固态硬盘的响应速度。
目前,大部分的固态硬盘采用RF-FCFS(即读请求优先-先到先服务)方案执行请求,此类硬盘做的调度方案是改变写请求的写入位置,其依据在于根据目前固态硬盘的闪存芯片上排队写请求的延迟,且仅仅根据请求的大小合计队列延迟;但是,现有的方案没有考虑到3D架构的固态硬盘的层差异特征,因此这样的方案并非是最优方案,可能导致将请求分配到响应时间较慢的闪存芯片上,使得子请求等待时间较长。
发明内容
为解决上述背景技术中提出的问题,本发明的目的在于提供一种基于固态硬盘层差异特征的请求调度算法。
为实现上述目的,本发明采取的技术方案为:
一种基于固态硬盘层差异特征的请求调度算法,所述固态硬盘为3D固态硬盘,具有若干条信道,每条信道上包含多个闪存芯片,每个闪存芯片中具有多个储存块,每个储存块具有多个层;
该算法包括如下步骤:
S1,传入待分配的子请求;
S2,利用预先建立的层速度差异模型以及当前每个闪存芯片上已经挂载的子请求的位置和大小,得到每个闪存芯片的总延迟;
S3,将待分配的子请求分配到步骤S2中得到的当前总延迟最低的闪存芯片中,并传出该子请求被分配到的位置;
其中,所述层速度差异模型用于提供不同层之间的访问速度差异系数。
在一些实施例中,在步骤S1前,还包括步骤:
S0,将请求传入到固态硬盘中,固态硬盘的主控模块将该请求拆分为若干个与层空间大小相同的子请求,再分别传入每个子请求;
在步骤S3后,还包括步骤:
S4,重复步骤S1至S3,直到完成步骤S0中拆分得到的所有子请求的分配。
在一些实施例中,所述层速度差异模型中,将从底层到顶层中的所有层的访问速度设定为按一定比例增加,以得到一个层感知模块,该层感知模块用于反映出每层自身的速度属性。
在一些实施例中,步骤S2中,具体包括如下步骤:
S21,对于一个闪存芯片,设置闪存芯片所分配的子请求队列,以统计该闪存芯片上已经挂载的所有子请求的位置和大小;
S22,利用层速度差异模型,分别计算得到该闪存芯片上已经挂载的每个子请求的延迟,再进行求和,以得到该闪存芯片等待队列的总延迟;
S23,重复步骤S21和S22,以得到所有闪存芯片的总延迟。
与现有技术相比,本发明的有益效果是:
本发明提供的基于固态硬盘层差异特征的请求调度算法,考虑到3D固态硬盘的层差异特征,建立层速度差异模型,以在子请求的分配时,得到更精确的延迟时间计算结果,从而将子请求分配到当前延迟最低的闪存芯片上,相比传统的调度算法,能够减少大量的等待时间。
附图说明
图1为本发明提供的基于固态硬盘层差异特征的请求调度算法的示意图;
图2为利用本发明提供的算法与现有技术中的算法进行仿真试验时的写请求响应时间对比图;
图3为3D固态硬盘的部分物理结构的示意图;
图4为3D固态硬盘层速度差异的物理模型。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合附图和具体实施方式,进一步阐述本发明是如何实施的。
3D固态硬盘具有若干条信道,每条信道上包含多个闪存芯片,每个闪存芯片中具有多个储存块,每个储存块具有多个层。3D固态硬盘最基本的存储单元是每个存储块中的层,经过研究发现,每个层访问数据的时间由于物理结构的因素影响而会呈现出一个逐渐变化的过程,顶部的层访问数据的速度可能比最底下的层访问速度要快1倍甚至几倍,3D固态硬盘层速度差异的物理模型如图4所示。
为了提高访问速度,一类方案是:基于闪存芯片的请求队列进行分发新到请求,固态硬盘的主控制器会先估计该闪存芯片上还有多久才可以有空余的传输带宽资源,再根据资源获取的时间来决定此请求将要放到哪个闪存芯片上,以此来降低请求等待的延迟时间。
由于闪存芯片的并行性,一个闪存芯片上在同一时刻只能传输一条命令或请求的数据,所以如果一个请求占用了该闪存芯片的传输通道,那么该闪存芯片就不能同时服务其他的请求,因此,需要设计算法来高效的利用每一个闪存芯片。
传统的调度方案会根据请求的大小来粗略计算当前闪存芯片的延迟,然而,对于3D固态硬盘来说,仅仅只根据请求的大小和操作类型来计算是不够正确和科学的,容易存在错误估计的闪存芯片延迟。由于每个请求的位置不同,它们会访问不同的层,这势必会存在一个时间的差异,因此,本发明根据时间差异和请求的大小,重新估计闪存芯片的延迟,并将新的请求分配到最短的闪存芯片上,能够比传统方法减少大量的等待时间。
具体地,如图1所示,本发明提供了一种基于固态硬盘层差异特征的请求调度算法,其中固态硬盘为3D固态硬盘,该算法包括如下步骤:
S1,传入待分配的子请求;
S2,利用预先建立的层速度差异模型以及当前每个闪存芯片上已经挂载的子请求的位置和大小,得到每个闪存芯片的总延迟;
S3,将待分配的子请求分配到步骤S2中得到的当前总延迟最低的闪存芯片中,并传出该子请求被分配到的位置;
其中,所述层速度差异模型用于提供不同层之间的访问速度差异系数。
优选地,在步骤S1前,还包括步骤:
S0,将请求传入到固态硬盘中,固态硬盘的主控模块将该请求拆分为若干个与层空间大小相同的子请求,再分别传入每个子请求;
在步骤S3后,还包括步骤:
S4,重复步骤S1至S3,直到完成步骤S0中拆分得到的所有子请求的分配。
优选地,所述层速度差异模型中,将从底层到顶层中的所有层的访问速度设定为按一定比例增加,以得到一个层感知模块,该层感知模块用于反映出每层自身的速度属性。例如,可将顶层位置的访问速度设定为底层位置的访问速度的2倍,并将从底层到顶层的不同层的访问速度设定为按照一定比例来增加。可以理解的是,根据固体硬盘性能的实际情况,也可以以其他方案来设置层速度差异模型。
进一步地,步骤S2中,具体包括如下步骤:
S21,对于一个闪存芯片,设置闪存芯片所分配的子请求队列,以统计该闪存芯片上已经挂载的所有子请求的位置和大小;
S22,利用层速度差异模型,分别计算得到该闪存芯片上已经挂载的每个子请求的延迟,再进行求和,以得到该闪存芯片等待队列的总延迟;
S23,重复步骤S21和S22,以得到所有闪存芯片的总延迟。
一条闪存芯片总线只能同时传输一条请求,因此本发明设置了闪存芯片队列,用于统计分配在该闪存芯片上的请求信息,一般的传统方法只是通过请求的大小来估算其延迟,这不准确,这样子的延迟估计会导致把子请求分配到错误的闪存芯片上。
本发明提供的方案中,在子请求到达固态硬盘时,需要利用层速度差异模型计算闪存芯片上的延迟时间,将子请求的大小与和访问速度差异考虑进去,则这个估计的队列时间更加精确,同时也减少了等待的时间;因为之前已经分配的子请求地址已知,可以根据地址来得出该子请求的访问速度和延迟,并把该闪存芯片队列上的所有请求延迟求和,得到目前的总延迟,这就作为请求分配的重要依据,新到来的子请求将要依照目前延迟进行分配,找到目前延迟最低的闪存芯片即可。
固态硬盘的请求处理需要经过以下步骤,获取——分配——执行——数据传输。在分配阶段,本发明通过感知当前时间闪存芯片上的精确队列时间,然后将本请求分配至延迟最短的闪存芯片执行队列上,从而缩短了该请求从分配——执行的等待时间,降低写请求的延迟。如果有新到来的写请求,经过本发明提供的方案的处理,选择出延迟最低的闪存芯片,并经过固态硬盘处理器进入到相应闪存芯片,以此循环往复,服务请求。
为了验证本发明的有效性,在仿真试验中,与现有技术中的方案进行了对比,如图2所示。图2中,相邻的3个柱形从左到右依次表示未做任何优化处理的结果、按照现有技术中的方案进行处理的结果以及按照本发明提供的算法经过处理的结果。
可见,本发明的优化效果明显强于其他两种方案;对于写敏感的负载(即读写比较低,写请求居多的负载),本发明提供的算法的表现更为卓越。
综上,本发明提供的基于固态硬盘层差异特征的请求调度算法,考虑到3D固态硬盘的层差异特征,建立了层速度差异模型,以在子请求的分配时,得到更精确的延迟时间计算结果,从而将子请求分配到当前延迟最低的闪存芯片上,相比传统的调度算法,能够减少大量的等待时间。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围中。

Claims (1)

1.一种基于固态硬盘层差异特征的请求调度算法,所述固态硬盘为3D固态硬盘,具有若干条信道,每条信道上包含多个闪存芯片,每个闪存芯片中具有多个储存块,每个储存块具有多个层;
其特征在于,该算法包括如下步骤:
S1,传入待分配的子请求;
S2,利用预先建立的层速度差异模型以及当前每个闪存芯片上已经挂载的子请求的位置和大小,得到每个闪存芯片的总延迟;
S3,将待分配的子请求分配到步骤S2中得到的当前总延迟最低的闪存芯片中,并传出该子请求被分配到的位置;
其中,所述层速度差异模型用于提供不同层之间的访问速度差异系数,所述层速度差异模型中,将从底层到顶层中的所有层的访问速度设定为按一定比例增加,以得到一个层感知模块,该层感知模块用于反映出每层自身的速度属性;
步骤S2中,具体包括如下步骤:
S21,对于一个闪存芯片,设置闪存芯片所分配的子请求队列,以统计该闪存芯片上已经挂载的所有子请求的位置和大小;
S22,利用层速度差异模型,分别计算得到该闪存芯片上已经挂载的每个子请求的延迟,再进行求和,以得到该闪存芯片等待队列的总延迟;
S23,重复步骤S21和S22,以得到所有闪存芯片的总延迟;
在步骤S1前,还包括步骤:
S0,将请求传入到固态硬盘中,固态硬盘的主控模块将该请求拆分为若干个与层空间大小相同的子请求,再分别传入每个子请求;
在步骤S3后,还包括步骤:
S4,重复步骤S1至S3,直到完成步骤S0中拆分得到的所有子请求的分配。
CN202110330613.1A 2021-03-26 2021-03-26 一种基于固态硬盘层差异特征的请求调度算法 Active CN113051196B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110330613.1A CN113051196B (zh) 2021-03-26 2021-03-26 一种基于固态硬盘层差异特征的请求调度算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110330613.1A CN113051196B (zh) 2021-03-26 2021-03-26 一种基于固态硬盘层差异特征的请求调度算法

Publications (2)

Publication Number Publication Date
CN113051196A CN113051196A (zh) 2021-06-29
CN113051196B true CN113051196B (zh) 2021-11-02

Family

ID=76516055

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110330613.1A Active CN113051196B (zh) 2021-03-26 2021-03-26 一种基于固态硬盘层差异特征的请求调度算法

Country Status (1)

Country Link
CN (1) CN113051196B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727293A (zh) * 2008-10-23 2010-06-09 成都市华为赛门铁克科技有限公司 一种固态硬盘ssd存储的设置方法、装置和系统
CN108829346A (zh) * 2018-05-28 2018-11-16 华中科技大学 一种适应闪存页差异的固态硬盘的用户写请求处理方法
CN110888592A (zh) * 2019-05-15 2020-03-17 天津大学深圳研究院 基于延迟ssd系统智能并行资源利用的请求调度方法及系统
CN111459402A (zh) * 2020-02-20 2020-07-28 华中科技大学 磁盘可控缓冲写方法、控制器、混合io调度方法及调度器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8225019B2 (en) * 2008-09-22 2012-07-17 Micron Technology, Inc. SATA mass storage device emulation on a PCIe interface
CN102306354A (zh) * 2011-09-06 2012-01-04 广西电网公司电力科学研究院 输电设备状态监测数据存储与调度系统
US10095532B2 (en) * 2014-04-28 2018-10-09 Netkine, Inc. Providing excess compute resources with virtualization

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727293A (zh) * 2008-10-23 2010-06-09 成都市华为赛门铁克科技有限公司 一种固态硬盘ssd存储的设置方法、装置和系统
CN108829346A (zh) * 2018-05-28 2018-11-16 华中科技大学 一种适应闪存页差异的固态硬盘的用户写请求处理方法
CN110888592A (zh) * 2019-05-15 2020-03-17 天津大学深圳研究院 基于延迟ssd系统智能并行资源利用的请求调度方法及系统
CN111459402A (zh) * 2020-02-20 2020-07-28 华中科技大学 磁盘可控缓冲写方法、控制器、混合io调度方法及调度器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Adapting Layer RBERs Variations of 3D Flash Memories via Multi-granularity";Yajuan Du etc.;《IEEE》;20190822;第1-6页 *
"Boosting the Performance of 3D Charge Trap NAND Flash with Asymmetric Feature Process Size Characteristic";Shuo-Han Chen etc.;《IEEE》;20171231;第1-6页 *

Also Published As

Publication number Publication date
CN113051196A (zh) 2021-06-29

Similar Documents

Publication Publication Date Title
US9898341B2 (en) Adjustable priority ratios for multiple task queues
US9477617B2 (en) Memory buffering system that improves read/write performance and provides low latency for mobile systems
US8756369B2 (en) Priority command queues for low latency solid state drives
KR101627321B1 (ko) I/o 리퀘스트 핸들링 방법 및 이를 이용한 솔리드 스테이트 드라이브
KR101812300B1 (ko) 다수의 메모리 채널들을 가진 컴퓨팅 시스템에서의 메모리 버퍼들의 할당
CN110413590A (zh) 数据迁移方法、装置、设备和介质
CN106534308A (zh) 一种分布式存储系统中解决数据块访问热点的方法及装置
US11093399B2 (en) Selecting resources to make available in local queues for processors to use
CN110716691B (zh) 调度方法、装置、闪存设备和系统
JP2013545201A (ja) マルチクライアントコンピューティングシステムに対するメモリデバイスの分割
US10310923B1 (en) Probabilistic aging command sorting
CN105353981A (zh) 一种pcie ssd优化的方法
CN116820324A (zh) 存储扩容方法及装置、存储介质和电子设备
CN109144908A (zh) 一种基于级联Expander的数据存储系统及方法
CN113051196B (zh) 一种基于固态硬盘层差异特征的请求调度算法
WO2015078193A1 (zh) 存储空间的管理方法和存储管理装置
US11237745B2 (en) Computer system and volume arrangement method in computer system to reduce resource imbalance
CN107608914B (zh) 一种多路存储设备的访问方法、装置及移动终端
US20200393984A1 (en) Channel architecture for memory devices
CN104750547B (zh) 虚拟机的输入输出io请求处理方法及装置
US8788748B2 (en) Implementing memory interface with configurable bandwidth
CN107870820B (zh) 在固态驱动器中提供服务质量
CN115328398A (zh) 一种保障zns-ssd访问公平性的i/o调度方法
CN106371768A (zh) 一种固态盘系统中的读写优化调度方法
Wang et al. A resource allocation model for hybrid storage systems

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