CN108170379A - 一种提升ssd稳态时写命令服务质量的方法及ssd - Google Patents

一种提升ssd稳态时写命令服务质量的方法及ssd Download PDF

Info

Publication number
CN108170379A
CN108170379A CN201711461337.2A CN201711461337A CN108170379A CN 108170379 A CN108170379 A CN 108170379A CN 201711461337 A CN201711461337 A CN 201711461337A CN 108170379 A CN108170379 A CN 108170379A
Authority
CN
China
Prior art keywords
write
host
buffer
space
flow control
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
Application number
CN201711461337.2A
Other languages
English (en)
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.)
Shenzhen Union Memory Information System Co Ltd
Original Assignee
Shenzhen Union Memory Information System Co Ltd
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 Shenzhen Union Memory Information System Co Ltd filed Critical Shenzhen Union Memory Information System Co Ltd
Priority to CN201711461337.2A priority Critical patent/CN108170379A/zh
Publication of CN108170379A publication Critical patent/CN108170379A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种提升SSD稳态时写命令服务质量的方法及SSD,固件算法模块主要分为前端,中端和后端,前端负责申请主机写空间以供接收主机端的数据,收完主机数据后的写空间Write Buffer会沉积在写缓冲Write Cache中,中端通过碎片整理任务平衡主机的写入请求和自身内部产生的数据搬移请求,其特征在于在主机写空间申请与主机数据传输的路径中,增加一个流控阀门,通过流控阀门控制写空间流控速率。通过对前端写Buffer流通速度的控制,平滑了主机写命令响应延时的曲线,大幅减低了过长响应延时的概率,提升了写命令的Qos性能。

Description

一种提升SSD稳态时写命令服务质量的方法及SSD
技术领域
本发明涉及固态硬盘控制技术,特别涉及一种提升SSD稳态时写命令服务质量的方法及SSD。
背景技术
在一些企业级或者Data Center的应用场景下,对稳态下SSD(Solid StateDrive)的Qos(Quality of Service)提出了更高的要求,往往需求SSD对于4KB写命令的响应时间99.9%在5ms以内,有的甚至要求99.999%都在5ms以内。稳态下SSD的内部会实现碎片整理GC(Garbage Collection)策略,来保证SSD的持续写入。传统的固件算法仅仅依靠GC的运转效率来控制Qos,存在局限性。当SSD进入稳态时,意味着SSD后台GC任务正在稳定的运行中。传统固件算法主要分为三个大模块:前端Front-End,中端Mid-End和后端Back-End。图1是传统的前端写buffer分配的贪心策略和中端GC流控策略示意图,前端主要负责申请主机写空间Host Write Buffer以供接收主机端的数据,接收完主机数据后的写空间Buffer会沉积在Write Cache(写缓冲)中从空闲主机写空间池Free Host Write BufferAllocation Pool中分配写缓存。而中端的GC任务需要负责平衡主机的的写入请求和自身内部产生的数据搬移请求,以充分利用SSD的后端nand flash的读写带宽。所以在GC内部存在一个阀门,针对写缓存Write Cache中主机写请求进行流量控制,GC需要平衡主机写HostWrite、内部读和内部写的比例,为了充分利用后端带宽,会阶段性放行主机写,但也可能存在长时间阻塞主机写请求。在某一段时间片内,GC的阀门可能开放得很小甚至关闭,由于前端的Host Write Buffer一般采取贪心的策略去分配空闲空间Buffer,这会导致大量的有主机数据的写空间Write Buffer沉积在写缓存Write Cache中,消耗了大部分的写空间Write Buffer资源,造成前端申请不到空闲空间Free Buffer,特别是当缓存buffer回收的速度赶不上分配的速度时,从而不能及时响应主机写命令数据传输的请求。从写命令的Qos(服务质量)的角度看,就是会发生间歇性的写命令响应时间过长,如图3传统固件算法的写命令响应延时效果图,假设写命令的服务质量要求99.9%写命令的延时<5ms,很明显的波动非常大,波形陡峭,Qos性能不能达标。
传统固件算法的GC更关注于后端带宽的有效利用,从而在整体宏观上体现出较为稳定的稳态写性能。这忽视了在微观层面,某些时刻的写命令的响应延时问题。
发明内容
针对以上缺陷,本发明目的是如何整体上平稳写命令响应延迟,提高写命令服务质量。
为了解决以上问题本发明提出了一种提升SSD稳态时写命令服务质量的方法,固件算法模块主要分为前端,中端和后端,前端负责申请主机写空间以供接收主机端的数据;接收完主机数据后的写空间Write Buffer会沉积在写缓冲Write Cache中,中端通过碎片整理任务平衡主机的写入请求和自身内部产生的数据搬移请求,其特征在于在主机写空间申请与主机数据传输的路径中,增加一个流控阀门,通过流控阀门控制写空间流控速率。
所述的提升SSD稳态时写命令服务质量的方法,其特征在于流控阀门根据水位线的高低调整写空间流控速率,所述水位线为主机写空间在写缓存的数量或比例。
所述的提升SSD稳态时写命令服务质量的方法,其特征在于在写缓存中增加水位线数据,前端写空间的流控阀门查询当下写缓存中的主机写空间数量;当写缓存中的主机写空间超过设定的高水位线High-Water-Mark阈值时,说明GC在做后台的流控,暂时阻塞了Host写请求,前端写Buffer的流控速率控制在Rate-base的基础上减少,来减缓前端写Buffer的流通速度;当写缓存Write Cache中的主机写空间Host Write Buffer数量低于过设定的低水位线Low-Water-Mark阈值时,将前端写Buffer的流控速率在Rate-base的基础上增加,增大前端写Buffer的流通速度。
一种SSD,包括固件算法模块,固件算法模块主要分为前端,中端和后端,前端负责申请主机写空间以供接收主机端的数据;接收完主机数据后的写空间Write Buffer会沉积在写缓冲Write Cache中,中端通过碎片整理任务平衡主机的写入请求和自身内部产生的数据搬移请求,其特征在于在主机写空间申请与主机数据传输的路径中,增加一个流控阀门,通过流控阀门控制写空间流控速率。
所述的SSD,其特征在于流控阀门根据水位线的高低调整写空间流控速率,所述水位线为主机写空间在写缓存的数量或比例。
所述的SSD,其特征在于在写缓存中增加水位线数据,前端写空间的流控阀门查询当下写缓存中的主机写空间数量;当写缓存中的主机写空间超过设定的高水位线High-Water-Mark阈值时,说明GC在做后台的流控,暂时阻塞了Host写请求,前端写Buffer的流控速率控制在Rate-base的基础上减少,来减缓前端写Buffer的流通速度;当写缓存WriteCache中的主机写空间Host WriteBuffer数量低于过设定的低水位线Low-Water-Mark阈值时,将前端写Buffer的流控速率在Rate-base的基础上增加,增大前端写Buffer的流通速度。
本发明的有益效果是:通过对前端写Buffer流通速度的控制,平滑了主机写命令响应延时的曲线,大幅减低了过长响应延时的概率,提升了写命令的Qos性能。
附图说明
图1是传统的前端写buffer分配的贪心策略和中端GC流控策略示意图;
图2是优化的前端写buffer的Rate-base流控策略结合中端GC流控策略示意图;
图3是传统固件算法的写命令响应延时效果图;
图4是优化后的固件算法的写命令响应延时效果图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
提升SSD稳态时写命令服务质量的方法,固件算法模块主要分为主机写命令通过前端,中端和后端,前端负责申请主机写空间以供接收主机端的数据;接收完主机数据后的写空间Write Buffer会沉积在写缓冲Write Cache中,中端通过碎片整理任务平衡主机的写入请求和自身内部产生的数据搬移请求,其特征在于在主机写空间申请与主机数据传输的路径中,增加一个流控阀门,通过流控阀门控制写空间流控速率。
图2是优化的前端写buffer的Rate-base流控策略结合中端GC流控策略示意图;在传统的GC流控算法的基础上,增加了前端写Buffer的速率基数Rate-base流控机制。速率基数Rate-base是满足GC要求的一个平均的写Buffer流控速率。在稳态SSD的实际运行过程中,前端写Buffer的流控速率是在Rate-base的基础上根据写缓存Write Cache中的残留的主机写空间Host WriteBuffer的数量来进行微调的。
主机写空间Host Write Buffer在写缓存Write Cache中的数量可以用“水位线”的概率来描述。在Write Cache中设置一些量化的“Water-Mark(水位线)”标准,以供前端写Buffer的流控阀门来查询当下Write Cache中的HostWrite Buffer数量。当Write Cache中的Host Write Buffer超过设定的高水位线High-Water-Mark阈值时,说明GC在做后台的流控,暂时阻塞了Host写请求。这时前端写Buffer的流控速率可以在Rate-base的基础上减少一点,来减缓前端写Buffer的流通速度。反之,当Write Cache中的Host Write Buffer数量低于过设定的低水位线Low-Water-Mark阈值时,可以将前端写Buffer的流控速率在Rate-base的基础上增加一点,增大前端写Buffer的流通速度。
图4是优化后的固件算法的写命令响应延时效果图所示,通过对前端写Buffer流通速度的控制,平滑了主机写命令响应延时的曲线,大幅减低了过长响应延时的概率,提升了写命令的Qos性能。
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。

Claims (6)

1.一种提升SSD稳态时写命令服务质量的方法,固件算法模块主要包括前端,中端和后端,前端负责申请主机写空间以供接收主机端的数据;接收完主机数据后的写空间WriteBuffer会沉积在写缓冲Write Cache中,中端通过碎片整理任务平衡主机的写入请求和自身内部产生的数据搬移请求,其特征在于在主机写空间申请与主机数据传输的路径中,增加一个流控阀门,通过流控阀门控制写空间流控速率。
2.根据权利要求1所述的提升SSD稳态时写命令服务质量的方法,其特征在于流控阀门根据水位线的高低调整写空间流控速率,所述水位线为主机写空间在写缓存的数量或比例。
3.根据权利要求2所述的提升SSD稳态时写命令服务质量的方法,其特征在于在写缓存中增加水位线数据,前端写空间的流控阀门查询当下写缓存中的主机写空间数量;当写缓存中的主机写空间超过设定的高水位线High-Water-Mark阈值时,说明GC在做后台的流控,暂时阻塞了Host写请求,前端写Buffer的流控速率控制在速率基数Rate-base的基础上减少,来减缓前端写Buffer的流通速度;当写缓存Write Cache中的主机写空间HostWriteBuffer数量低于过设定的低水位线Low-Water-Mark阈值时,将前端写Buffer的流控速率在Rate-base的基础上增加,增大前端写Buffer的流通速度。
4.一种SSD,包括固件算法模块,固件算法模块主要分为前端,中端和后端,前端负责申请主机写空间以供接收主机端的数据;接收完主机数据后的写空间Write Buffer会沉积在写缓冲Write Cache中,中端通过碎片整理任务平衡主机的写入请求和自身内部产生的数据搬移请求,其特征在于在主机写空间申请与主机数据传输的路径中,增加一个流控阀门,通过流控阀门控制写空间流控速率。
5.根据权利要求1所述的SSD,其特征在于流控阀门根据水位线的高低调整写空间流控速率,所述水位线为主机写空间在写缓存的数量或比例。
6.根据权利要求2所述的SSD,其特征在于在写缓存中增加水位线数据,前端写空间的流控阀门查询当下写缓存中的主机写空间数量;当写缓存中的主机写空间超过设定的高水位线High-Water-Mark阈值时,说明GC在做后台的流控,暂时阻塞了Host写请求,前端写Buffer的流控速率控制在Rate-base的基础上减少,来减缓前端写Buffer的流通速度;当写缓存Write Cache中的主机写空间Host Write Buffer数量低于过设定的低水位线Low-Water-Mark阈值时,将前端写Buffer的流控速率在Rate-base的基础上增加,增大前端写Buffer的流通速度。
CN201711461337.2A 2017-12-28 2017-12-28 一种提升ssd稳态时写命令服务质量的方法及ssd Pending CN108170379A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711461337.2A CN108170379A (zh) 2017-12-28 2017-12-28 一种提升ssd稳态时写命令服务质量的方法及ssd

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711461337.2A CN108170379A (zh) 2017-12-28 2017-12-28 一种提升ssd稳态时写命令服务质量的方法及ssd

Publications (1)

Publication Number Publication Date
CN108170379A true CN108170379A (zh) 2018-06-15

Family

ID=62519244

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711461337.2A Pending CN108170379A (zh) 2017-12-28 2017-12-28 一种提升ssd稳态时写命令服务质量的方法及ssd

Country Status (1)

Country Link
CN (1) CN108170379A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112631958A (zh) * 2020-12-29 2021-04-09 浙江工商大学 基于过滤表的dram行缓冲器混合管理方法
CN113918094A (zh) * 2021-09-30 2022-01-11 山东华芯半导体有限公司 一种ssd写带宽控制方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5926834A (en) * 1997-05-29 1999-07-20 International Business Machines Corporation Virtual data storage system with an overrun-resistant cache using an adaptive throttle based upon the amount of cache free space
CN101286878A (zh) * 2008-04-22 2008-10-15 中兴通讯股份有限公司 一种终端的内存池的管理方法
CN101517548A (zh) * 2006-09-26 2009-08-26 国际商业机器公司 高速缓存盘存储器升级
CN103631728A (zh) * 2012-08-27 2014-03-12 苹果公司 使用自适应压缩比率快速执行刷新命令
US20170212711A1 (en) * 2016-01-21 2017-07-27 Kabushiki Kaisha Toshiba Disk apparatus and control method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5926834A (en) * 1997-05-29 1999-07-20 International Business Machines Corporation Virtual data storage system with an overrun-resistant cache using an adaptive throttle based upon the amount of cache free space
CN101517548A (zh) * 2006-09-26 2009-08-26 国际商业机器公司 高速缓存盘存储器升级
CN101286878A (zh) * 2008-04-22 2008-10-15 中兴通讯股份有限公司 一种终端的内存池的管理方法
CN103631728A (zh) * 2012-08-27 2014-03-12 苹果公司 使用自适应压缩比率快速执行刷新命令
US20170212711A1 (en) * 2016-01-21 2017-07-27 Kabushiki Kaisha Toshiba Disk apparatus and control method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112631958A (zh) * 2020-12-29 2021-04-09 浙江工商大学 基于过滤表的dram行缓冲器混合管理方法
CN113918094A (zh) * 2021-09-30 2022-01-11 山东华芯半导体有限公司 一种ssd写带宽控制方法
CN113918094B (zh) * 2021-09-30 2024-05-31 山东华芯半导体有限公司 一种ssd写带宽控制方法

Similar Documents

Publication Publication Date Title
US8909868B2 (en) Quality of service control method for storage system
DE102009021245B4 (de) Verfahren, System und Vorrichtung für die Energieverwaltung einer Verbindungs-Koppelstruktur
US9256533B2 (en) Adjustment of destage rate based on read and write response time requirements
CN103729313B (zh) Ssd缓存的输入输出流量控制方法及装置
TWI739844B (zh) 用於控制預先提取以防止記憶體階層中之介面的過飽和之方法及處理器,以及相關之電腦系統
CN107943715B (zh) 一种提升NVMe固态硬盘读缓存命中的方法
TW200604827A (en) IO-stream adaptive write caching policy adjustment
US9170753B2 (en) Efficient method for memory accesses in a multi-core processor
US8776158B1 (en) Asynchronous shifting windows caching for forward and backward video streaming
CN109343797A (zh) 一种缓存数据的传输方法、系统及相关组件
US9069489B1 (en) Dynamic random access memory front end
CN108170379A (zh) 一种提升ssd稳态时写命令服务质量的方法及ssd
CN101373445B (zh) 一种内存调度方法及装置
KR102110812B1 (ko) 멀티 코어 시스템 및 멀티 코어 시스템의 작업 스케줄링 방법
CN103257935A (zh) 一种缓存管理方法及其应用
US11188256B2 (en) Enhanced read-ahead capability for storage devices
CN102685219B (zh) San存储系统中通过动态扩容提高存储资源利用率的方法
CN106844740A (zh) 基于内存对象缓存系统的数据预读方法
WO2016065902A1 (zh) 在存储设备中配置缓存的方法、装置及控制器
CN105224473A (zh) 一种固态硬盘缓存数据的更新方法及装置
US11403562B2 (en) Determining sectors of a track to stage into cache by training a machine learning module
WO2015061921A1 (zh) 用于数据存储系统的动态缓存方法和系统
CN103685544A (zh) 一种基于性能预估的客户端缓存分配方法和系统
CN103425438B (zh) 优化固态硬盘写请求的方法及其固态硬盘
US8219757B2 (en) Apparatus and method for low touch cache management

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180615