CN111506256B - 减少写入效能变化并防止io阻塞的方法 - Google Patents

减少写入效能变化并防止io阻塞的方法 Download PDF

Info

Publication number
CN111506256B
CN111506256B CN201910100558.XA CN201910100558A CN111506256B CN 111506256 B CN111506256 B CN 111506256B CN 201910100558 A CN201910100558 A CN 201910100558A CN 111506256 B CN111506256 B CN 111506256B
Authority
CN
China
Prior art keywords
write request
solid state
write
state disk
time
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
CN201910100558.XA
Other languages
English (en)
Other versions
CN111506256A (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.)
Jiangsu Xinsheng Intelligent Technology Co ltd
Ruikuan Intelligent Technology Co ltd
Original Assignee
Jiangsu Xinsheng Intelligent Technology Co ltd
Ruikuan Intelligent Technology 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 Jiangsu Xinsheng Intelligent Technology Co ltd, Ruikuan Intelligent Technology Co ltd filed Critical Jiangsu Xinsheng Intelligent Technology Co ltd
Priority to CN201910100558.XA priority Critical patent/CN111506256B/zh
Publication of CN111506256A publication Critical patent/CN111506256A/zh
Application granted granted Critical
Publication of CN111506256B publication Critical patent/CN111506256B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

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)
  • Debugging And Monitoring (AREA)

Abstract

本发明揭露在固态硬盘里减少写入效能变化并防止IO阻塞的方法,减少写入效能变化并防止IO阻塞的方法包括接收一写入请求的步骤。然后,判断一固态硬盘的状态是正常或受限。若固态硬盘的状态是正常,则处理此写入请求。若固态硬盘的状态是受限,则把此写入请求插入写入请求队列。若第一写入请求的已耗时间小于预计等待时间,则等待一段时间,然后回到监视在写入请求队列的第一写入请求并计算预计等待时间的步骤。若第一写入请求的已耗时间大于或等于预计等待时间,则处理第一写入请求,并从写入请求队列移除第一写入请求。若写入请求队列不空,则回到等待一段时间的步骤。若写入请求队列已空,则结束。

Description

减少写入效能变化并防止IO阻塞的方法
技术领域
本发明有关于固态硬盘,更特定地,有关于在固态硬盘里减少写入效能变化并防止IO阻塞的方法。
背景技术
固态硬盘的韧体须执行一些系统任务并/或读/写系统数据。这些任务或读/写会使写入效能降低一段时间。固态硬盘制造商想避免这种写入效能的变化。固态硬盘制造商还想避免IOPS(input/output per second)降为零。IOPS为零的情形被称为「IO阻塞」,这情形令用户感觉系统不回应。造成低或零IOPS的主要原因是垃圾回收任务占用闪存的多数带宽。一种解决方法是延迟垃圾回收任务。然而,延迟垃圾回收任务可能使固态硬盘的可用的贮存空间不足。另一种解决方法是把固态硬盘做成有多核心,并用其中一核心进行读/写任务,另一核心进行垃圾回收任务。然而,多用一核心就会增加固态硬盘的成本。
发明内容
有鉴于上述习知技艺的问题,本发明的目的在于提供一种有效且省成本的减少写入效能变化并防止IO阻塞的方法。
为达成上述目的,此减少写入效能变化并防止IO阻塞的方法包括接收一写入请求的步骤。然后,判断一固态硬盘的状态是「正常」或「受限」。若固态硬盘的状态是「正常」,则实现此写入请求。若固态硬盘的状态是「受限」,则把此写入请求插入写入请求队列。监视在写入请求队列的第一写入请求并计算预计等待时间。判断第一写入请求的已耗时间是否大于或等于预计等待时间。若第一写入请求的已耗时间小于预计等待时间,则等待一段时间,然后回到监视在写入请求队列的第一写入请求并计算预计等待时间的步骤。若第一写入请求的已耗时间大于或等于预计等待时间,则实现第一写入请求,并从写入请求队列移除第一写入请求。判断写入请求队列是否已空。若写入请求队列不空,则回到等待一段时间的步骤。若写入请求队列已空,则结束。
进一步的,还包括以下步骤:在接收一写入请求的步骤以前,设固态定固态硬盘的状态为正常;及在接收一写入请求的步骤的同时或以后,设固态硬盘的状态为正常或受限。
进一步的,设固态硬盘的状态为正常或受限的步骤包括以下步骤:监视自由区块的量;判断自由区块的量是否小于或等于一第一阀值;若自由区块的量小于或等于第一阀值,则设固态硬盘的状态为受限;及若自由区块的量大于第一阀值,则回到监视自由区块的量的步骤。
进一步的,在设固态硬盘的状态为受限的步骤以后还包括以下步骤:回收一个区块并使之成为自由区块;计算回收的区块的量;及判断自由区块的量是否大于或等于一第二阀值;若自由区块的量小于第二阀值,则回到回收区块的步骤;及若自由区块的量大于或等于第二阀值,则设固态硬盘的状态为正常。
进一步的,第二阀值大于或等于第一阀值。
进一步的,在设固态硬盘的状态为受限的步骤以后还包括计算垃圾回收效率的步骤。
进一步的,在计算垃圾回收效率的步骤以前还包括以下步骤:在回收一个区块的步骤后,开始一定时器;及在回收一个区块的步骤后,计算回收的垃圾的量。
进一步的,计算垃圾回收效率的步骤包括以下步骤:以被定时器测得的时间除被回收的垃圾的量。
本发明的有益效果:本发明提供了一种有效且节省成本的减少写入效能变化并防止IO阻塞的方法。
附图说明
图1是一数据贮存装置的方块图,该数据贮存装置可执行本发明的较佳实施例的减少写入效能变化并防止IO阻塞的方法;
图2是本发明的较佳实施例的减少写入效能变化并防止IO阻塞的方法的流程图;
图3是图2所示的方法的一子程序的流程图;
图4是图2所示的方法的另一子程序的流程图;
图5是图2所示的方法的另一子程序的流程图。
图中标记对应的名称:10、主机,11、中央处理单元,12、韧体,13、中央处理单元,14、韧体,15、记忆体,16、固态硬盘控制器。
具体实施方式
以下请参照相关附图进一步说明本发明的减少写入效能变化并防止IO阻塞的方法的较佳实施例。为便于理解本发明,以下用相同标记标示相同组件。
参考图1,一主机10连接一固态硬盘控制器16。固态硬盘控制器16包括两个中央处理单元11及13及一共享的记忆体15。中央处理单元11通常被称为Core 1,并连接主机10。中央处理单元13通常被称为Core 0,并连接中央处理单元11。记忆体15连接中央处理单元11及13。
运作时,中央处理单元11执行韧体12,并从主机10接收写入请求。中央处理单元13执行韧体14,并从中央处理单元11接收指令。中央处理单元13还产生两个变量,即「流程控制」及「垃圾回收效率」,并把这两个变量存入记忆体15。流程控制对应固态硬盘的状态。流程控制有两个值,即「正常」或「受限」。所谓「垃圾回收效率」就是单位时间回收的数据量。固态硬盘控制器16可执行本发明的较佳实施例的减少写入效能变化并防止IO阻塞的方法。流程控制及垃圾回收效率被用于本发明的较佳实施例的减少写入效能变化并防止IO阻塞的方法中。
图2显示本发明的较佳实施例的减少写入效能变化并防止IO阻塞的方法。在S10,供电给固态硬盘控制器16。然后,程序走到S20。
参考图3,S20代表一初始化程序。在此初始化程序中,在S22,中央处理单元13执行韧体14。然后,程序走到S24。
在S24,初始化记忆体15。然后,程序走到S26。
在S26,设「流程控制」为「正常」。然后,程序走到S28。
在S28,设「垃圾回收效率」为N。N代表一预设值。然后,程序走到S30。
在S30,中央处理单元13叫醒中央处理单元11。中央处理单元11执行韧体12。然后,中央处理单元13执行S40,且中央处理单元11执行S70(图2)。
参考图2,在S40,中央处理单元13监视自由区块的量。然后,程序走到S42。
在S42,判断自由区块的量是否小于或等于一第一阀值。若自由区块的量小于或等于第一阀值,则程序走到S44而回收垃圾。若自由区块的量大于第一阀值,则程序回到S40。
在S44,设流程控制为「受限」。如前所述,此时自由区块的量小于第一阀值,以致不能以正常速率写数据。因此,设流程控制为「受限」。然后,程序走到S46。
在S46,挑选一个区块并回收垃圾,且开始一个定时器。然后,程序走到S48。被回收的区块成为自由区块。
在S48,计算这个区块被回收的垃圾的量。然后,程序走到S50。
在S50,停止定时器,计算垃圾回收效率,并把垃圾回收效率存入记忆体15。计算垃圾回收效率的做法是以被定时器记录的时间除被回收的垃圾的量。然后程序走到S52。
在S52,判断自由区块的量是否大于或等于一第二阀值相比。若自由区块的量小于第二阀值,则程序回到S46。若自由区块的量大于或等于第二阀值,则程序走到S54。第二阀值应适度地大于第一阀值,否则垃圾回收的频率会很高而每回合的时间会很短。
在S54,设流程控制为「正常」。然后程序回到S40。
参考图4及图5,S70代表另一子程序。在S70,中央处理单元11处理写入请求。
在此子程序中,在S72,中央处理单元11从主机10接收一写入请求。然后,程序走到S74。
在S74,判断流程控制是否正常。若是,则程序走到S76,否则程序走到S78。
S76,实现写入请求。具体而言,中央处理单元11把写入请求送到中央处理单元13。然后,中央处理单元13实现此写入请求。所谓「实现」写入请求是依写入请求把数据写入固态硬盘。
在S78,把写入请求插入写入请求队列。亦即,把写入请求排在其他写入请求之后,等待实现。然后,程序走到S80。
在S80,监视在写入请求队列中的第一写入请求,并计算预计等待时间。所谓「预计等待时间」是经计算所得的第一写入请求应等待实现的时间。计算预计等待时间的做法是中央处理单元11从记忆体15读垃圾回收效率,并以垃圾回收效率除第一写入请求的数据量。然后程序走到S82。
在S82,判断第一写入请求已耗时间是否大于或等于预计等待时间。所谓「已耗时间」是第一写入请求已耗在等待实现的时间。第一写入请求的已耗时间是从中央处理单元11监视第一写入请求起算。若是,则程序走到S86,否则程序走到S84。
在S84,等待一段适当时间。这段适当时间可能是几秒。然后,程序回到S80。
在S86,实现第一写入请求,并从写入请求队列移除第一写入请求。实现第一写入请求的做法是中央处理单元11把第一写入请求送到中央处理单元13。然后,中央处理单元13实现第一写入请求。然后,程序走到S88。
在S88,判断写入请求队列是否空。若是,则程序走到S90,否则程序回到S84。
在S90,程序结束。
以上所述说明,仅为本发明的较佳实施方式而已,意在明确本发明的特征,非用以限定本发明实施例的范围,本技术领域内的一般技术人员根据本发明所作的均等变化,以及本领域内技术人员熟知的改变,仍应属本发明涵盖的范围。

Claims (5)

1.一种减少写入效能变化并防止IO阻塞的方法,其特征在于,包括以下步骤:
接收一写入请求;
判断一固态硬盘的状态是正常或受限;
若固态硬盘的状态是正常,则处理此写入请求;
若固态硬盘的状态是受限,则把此写入请求插入写入请求队列;
监视在写入请求队列的第一写入请求并计算预计等待时间;
判断第一写入请求的已耗时间是否大于或等于预计等待时间;
若第一写入请求的已耗时间小于预计等待时间,则等待一段时间,然后回到监视在写入请求队列的第一写入请求并计算预计等待时间的步骤;计算预计等待时间的做法是中央处理单元从记忆体读垃圾回收效率,并以垃圾回收效率除第一写入请求的数据量;
若第一写入请求的已耗时间大于或等于预计等待时间,则处理第一写入请求,并从写入请求队列移除第一写入请求;
判断写入请求队列是否已空;
若写入请求队列不空,则回到等待一段时间的步骤;及
若写入请求队列已空,则结束;在接收一写入请求的步骤以前,设固态硬盘的状态为正常;及
在接收一写入请求的步骤的同时或以后,设固态硬盘的状态为正常或受限;
设固态硬盘的状态为正常或受限的步骤包括以下步骤:
监视自由区块的量;
判断自由区块的量是否小于或等于一第一阀值;
若自由区块的量小于或等于第一阀值,则设固态硬盘的状态为受限;及
若自由区块的量大于第一阀值,则回到监视自由区块的量的步骤;
设固态硬盘的状态为受限的步骤以后还包括以下步骤:
回收一个区块并使之成为自由区块;
计算回收的区块的量;及
判断自由区块的量是否大于或等于一第二阀值;
若自由区块的量小于第二阀值,则回到回收区块的步骤;及
若自由区块的量大于或等于第二阀值,则设固态硬盘的状态为正常。
2.如权利要求1所述减少写入效能变化并防止IO阻塞的方法,其特征在于,第二阀值大于或等于第一阀值。
3.如权利要求1所述减少写入效能变化并防止IO阻塞的方法,其特征在于,在设固态硬盘的状态为受限的步骤以后还包括计算垃圾回收效率的步骤。
4.如权利要求3所述减少写入效能变化并防止IO阻塞的方法,其特征在于,在计算垃圾回收效率的步骤以前还包括以下步骤:
在回收一个区块的步骤后,开始一定时器;及
在回收一个区块的步骤后,计算回收的垃圾的量。
5.如权利要求3所述减少写入效能变化并防止IO阻塞的方法,其特征在于,计算垃圾回收效率的步骤包括以下步骤:
以被定时器测得的时间除被回收的垃圾的量。
CN201910100558.XA 2019-01-31 2019-01-31 减少写入效能变化并防止io阻塞的方法 Active CN111506256B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910100558.XA CN111506256B (zh) 2019-01-31 2019-01-31 减少写入效能变化并防止io阻塞的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910100558.XA CN111506256B (zh) 2019-01-31 2019-01-31 减少写入效能变化并防止io阻塞的方法

Publications (2)

Publication Number Publication Date
CN111506256A CN111506256A (zh) 2020-08-07
CN111506256B true CN111506256B (zh) 2023-03-28

Family

ID=71875688

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910100558.XA Active CN111506256B (zh) 2019-01-31 2019-01-31 减少写入效能变化并防止io阻塞的方法

Country Status (1)

Country Link
CN (1) CN111506256B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112445428B (zh) * 2020-10-23 2023-01-10 苏州浪潮智能科技有限公司 一种硬盘主从垃圾回收方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001312373A (ja) * 2000-04-21 2001-11-09 Internatl Business Mach Corp <Ibm> データの書き込み方法およびディスクドライブ装置
CN101634975A (zh) * 2009-08-20 2010-01-27 广东威创视讯科技股份有限公司 一种实现dma数据传输的方法及装置
CN103370686A (zh) * 2010-09-15 2013-10-23 净睿存储股份有限公司 存储环境中重建i/o读取操作的调度
CN104978335A (zh) * 2014-04-04 2015-10-14 阿里巴巴集团控股有限公司 数据访问控制方法和装置
CN106528438A (zh) * 2016-10-08 2017-03-22 华中科技大学 一种固态存储设备的分段式垃圾回收方法
US9785360B1 (en) * 2015-06-29 2017-10-10 EMC IP Holding Company LLC Adaptive and dynamic mixed read/write input/output balancer
CN107728953A (zh) * 2017-11-03 2018-02-23 记忆科技(深圳)有限公司 一种提升固态硬盘混合读写性能的方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001312373A (ja) * 2000-04-21 2001-11-09 Internatl Business Mach Corp <Ibm> データの書き込み方法およびディスクドライブ装置
CN101634975A (zh) * 2009-08-20 2010-01-27 广东威创视讯科技股份有限公司 一种实现dma数据传输的方法及装置
CN103370686A (zh) * 2010-09-15 2013-10-23 净睿存储股份有限公司 存储环境中重建i/o读取操作的调度
CN104978335A (zh) * 2014-04-04 2015-10-14 阿里巴巴集团控股有限公司 数据访问控制方法和装置
US9785360B1 (en) * 2015-06-29 2017-10-10 EMC IP Holding Company LLC Adaptive and dynamic mixed read/write input/output balancer
CN106528438A (zh) * 2016-10-08 2017-03-22 华中科技大学 一种固态存储设备的分段式垃圾回收方法
CN107728953A (zh) * 2017-11-03 2018-02-23 记忆科技(深圳)有限公司 一种提升固态硬盘混合读写性能的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Linux2.6预测I/O调度程序研究;曹健辉等;《信息安全与通信保密》;20090210(第02期);全文 *

Also Published As

Publication number Publication date
CN111506256A (zh) 2020-08-07

Similar Documents

Publication Publication Date Title
CN105808159B (zh) 贮存操作中断
US7930507B2 (en) Method of providing to a processor an estimated completion time of a storage operation
TWI417727B (zh) 記憶體儲存裝置、其記憶體控制器與回應主機指令的方法
US20130007488A1 (en) Power management of a storage device including multiple processing cores
US9053056B2 (en) Control apparatus, storage system, and memory controlling method
CN113220108B (zh) 计算机可读取存储介质、操作频率调整方法及装置
US11010094B2 (en) Task management method and host for electronic storage device
CN112749102B (zh) 一种内存空间垃圾回收处理方法、装置、设备及介质
CN111258967A (zh) 文件系统中数据读取方法、装置及计算机可读存储介质
CN111143104A (zh) 一种内存异常的处理方法、系统、电子设备及存储介质
CN109491592B (zh) 存储设备及其数据写入方法、存储装置
CN111506256B (zh) 减少写入效能变化并防止io阻塞的方法
KR101455085B1 (ko) 저장 오퍼레이션에 대한 완료 시간을 추정하는 방법 및 저장 디바이스
CN108334383B (zh) 一种信息处理方法及电子设备
CN117033268B (zh) 一种ssd控制器、数据处理方法、设备及存储介质
US20200278810A1 (en) Method for Mitigating Writing-Performance Variation and Preventing IO Blocking in a Solid-State Drive
CN111837105A (zh) 电子设备及其控制方法
CN111880730B (zh) 一种全闪存阵列写io的调整方法、装置、设备及介质
TWI687808B (zh) 減少寫入效能變化並防止io阻塞的方法
JP2019160155A (ja) 情報処理装置、情報処理方法、及びプログラム
CN111090627B (zh) 基于池化的日志存储方法、装置、计算机设备及存储介质
CN109582244B (zh) 一种元数据落盘方法、装置、终端及计算机可读存储介质
JP2017201481A (ja) 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム
CN110659122A (zh) 一种ssd中断实现方法及装置
CN115079959B (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