CN111506256A - 减少写入效能变化并防止io阻塞的方法 - Google Patents
减少写入效能变化并防止io阻塞的方法 Download PDFInfo
- Publication number
- CN111506256A CN111506256A CN201910100558.XA CN201910100558A CN111506256A CN 111506256 A CN111506256 A CN 111506256A CN 201910100558 A CN201910100558 A CN 201910100558A CN 111506256 A CN111506256 A CN 111506256A
- Authority
- CN
- China
- Prior art keywords
- write request
- write
- solid state
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-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阻塞的方法。
背景技术
固态硬盘的韧体须执行一些系统任务并/或读/写系统数据。这些任务或读/写会使写入效能降低一段时间。固态硬盘制造商想避免这种写入效能的变化。固态硬盘制造商还想避免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 (8)
1.一种减少写入效能变化并防止IO阻塞的方法,其特征在于,包括以下步骤:
接收一写入请求;
判断一固态硬盘的状态是正常或受限;
若固态硬盘的状态是正常,则处理此写入请求;
若固态硬盘的状态是受限,则把此写入请求插入写入请求队列;
监视在写入请求队列的第一写入请求并计算预计等待时间;
判断第一写入请求的已耗时间是否大于或等于预计等待时间;
若第一写入请求的已耗时间小于预计等待时间,则等待一段时间,然后回到监视在写入请求队列的第一写入请求并计算预计等待时间的步骤;
若第一写入请求的已耗时间大于或等于预计等待时间,则处理第一写入请求,并从写入请求队列移除第一写入请求;
判断写入请求队列是否已空;
若写入请求队列不空,则回到等待一段时间的步骤;及
若写入请求队列已空,则结束。
2.如权利要求1所述减少写入效能变化并防止IO阻塞的方法,其特征在于,还包括以下步骤:
在接收一写入请求的步骤以前,设固态定固态硬盘的状态为正常;及
在接收一写入请求的步骤的同时或以后,设固态硬盘的状态为正常或受限。
3.如权利要求2所述减少写入效能变化并防止IO阻塞的方法,其特征在于,设固态硬盘的状态为正常或受限的步骤包括以下步骤:
监视自由区块的量;
判断自由区块的量是否小于或等于一第一阀值;
若自由区块的量小于或等于第一阀值,则设固态硬盘的状态为受限;及
若自由区块的量大于第一阀值,则回到监视自由区块的量的步骤。
4.如权利要求3所述减少写入效能变化并防止IO阻塞的方法,其特征在于,在设固态硬盘的状态为受限的步骤以后还包括以下步骤:
回收一个区块并使之成为自由区块;
计算回收的区块的量;及
判断自由区块的量是否大于或等于一第二阀值;
若自由区块的量小于第二阀值,则回到回收区块的步骤;及
若自由区块的量大于或等于第二阀值,则设固态硬盘的状态为正常。
5.如权利要求4所述减少写入效能变化并防止IO阻塞的方法,其特征在于,第二阀值大于或等于第一阀值。
6.如权利要求4所述减少写入效能变化并防止IO阻塞的方法,其特征在于,在设固态硬盘的状态为受限的步骤以后还包括计算垃圾回收效率的步骤。
7.如权利要求6所述减少写入效能变化并防止IO阻塞的方法,其特征在于,在计算垃圾回收效率的步骤以前还包括以下步骤:
在回收一个区块的步骤后,开始一定时器;及
在回收一个区块的步骤后,计算回收的垃圾的量。
8.如权利要求6所述减少写入效能变化并防止IO阻塞的方法,其特征在于,计算垃圾回收效率的步骤包括以下步骤:
以被定时器测得的时间除被回收的垃圾的量。
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 true CN111506256A (zh) | 2020-08-07 |
CN111506256B 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112445428A (zh) * | 2020-10-23 | 2021-03-05 | 苏州浪潮智能科技有限公司 | 一种硬盘主从垃圾回收方法及装置 |
Citations (7)
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 | 记忆科技(深圳)有限公司 | 一种提升固态硬盘混合读写性能的方法 |
-
2019
- 2019-01-31 CN CN201910100558.XA patent/CN111506256B/zh active Active
Patent Citations (7)
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)
Title |
---|
曹健辉等: "Linux2.6预测I/O调度程序研究", 《信息安全与通信保密》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112445428A (zh) * | 2020-10-23 | 2021-03-05 | 苏州浪潮智能科技有限公司 | 一种硬盘主从垃圾回收方法及装置 |
CN112445428B (zh) * | 2020-10-23 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 一种硬盘主从垃圾回收方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111506256B (zh) | 2023-03-28 |
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) | 記憶體儲存裝置、其記憶體控制器與回應主機指令的方法 | |
EP2386961B1 (en) | Optimized non-volatile storage systems | |
CN102782683B (zh) | 用于数据库服务器的缓冲池扩展 | |
US11010094B2 (en) | Task management method and host for electronic storage device | |
CN112328169A (zh) | 固态硬盘的磨损均衡方法、装置及计算机可读存储介质 | |
CN105095495A (zh) | 一种分布式文件系统缓存管理方法和系统 | |
CN111506256B (zh) | 减少写入效能变化并防止io阻塞的方法 | |
KR20180050195A (ko) | 저장 장치 및 이를 포함하는 데이터 처리 시스템 | |
KR101455085B1 (ko) | 저장 오퍼레이션에 대한 완료 시간을 추정하는 방법 및 저장 디바이스 | |
CN118312102A (zh) | Io请求处理方法、装置、存储设备及存储介质 | |
CN109491592B (zh) | 存储设备及其数据写入方法、存储装置 | |
CN117033268B (zh) | 一种ssd控制器、数据处理方法、设备及存储介质 | |
CN108334383B (zh) | 一种信息处理方法及电子设备 | |
CN117492662A (zh) | 预读取的确定方法和装置、存储介质及电子设备 | |
US20200278810A1 (en) | Method for Mitigating Writing-Performance Variation and Preventing IO Blocking in a Solid-State Drive | |
CN111880730B (zh) | 一种全闪存阵列写io的调整方法、装置、设备及介质 | |
CN112445412A (zh) | 一种数据存储方法及装置 | |
CN109426563B (zh) | 一种进程管理方法及装置 | |
CN111837105A (zh) | 电子设备及其控制方法 | |
CN115794446A (zh) | 一种消息处理方法、装置、电子设备和存储介质 | |
TWI687808B (zh) | 減少寫入效能變化並防止io阻塞的方法 | |
CN117677939A (zh) | 主机控制器对储存设备的中止处理 | |
CN111090627B (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 |