CN103744613A - 降低i/o写延时的系统与方法 - Google Patents
降低i/o写延时的系统与方法 Download PDFInfo
- Publication number
- CN103744613A CN103744613A CN201310695321.3A CN201310695321A CN103744613A CN 103744613 A CN103744613 A CN 103744613A CN 201310695321 A CN201310695321 A CN 201310695321A CN 103744613 A CN103744613 A CN 103744613A
- Authority
- CN
- China
- Prior art keywords
- main memory
- delay
- memory unit
- delay time
- writes
- 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
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000001514 detection method Methods 0.000 claims abstract description 21
- 239000007787 solid Substances 0.000 claims description 6
- 230000029610 recognition of host Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Images
Landscapes
- Digital Magnetic Recording (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明适用于存储技术领域,提供了一种降低I/O写延时的系统与方法,所述系统包括主存储单元、副存储单元及命令处理单元,所述命令处理单元包括:第一检测模块,用于检测主机端下发到所述主存储单元的写I/O的延时时间,并判断所述延时时间是否超过预设的延时时间阈值,若是,则交由命令分流模块处理;命令分流模块,用于将部分写I/O分流到所述副存储单元。借此,本发明可以缓解I/O压力,降低I/O延时,提高应用的效率。
Description
技术领域
本发明涉及存储技术领域,尤其涉及一种降低I/O写延时的系统与方法。
背景技术
企业的存储应用越来越要求较高的响应速度,而应用程序的性能很大程度上取决于I/O的响应速度,即降低I/O延时。产生I/O延时有很多原因:如应用程序有大量的I/O,而后端存储容量有限,导致磁盘繁忙;I/O产生了惩罚导致大量额外的I/O发往存储端使主机端延迟偏高;链路带宽和I/O的并发以及大量随机读写I/O的出现都会影响到I/O的响应时间。目前主要通过加入更多磁盘或者修改程序来改善I/O性能,但这使结构较为麻烦,且改善性能不明显。
综上可知,现有的降低I/O写延时的系统与方法,在实际使用上显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种降低I/O写延时的系统与方法,可以缓解I/O压力,降低I/O延时,提高应用的效率。
为了实现上述目的,本发明提供一种降低I/O写延时的系统,包括主存储单元、副存储单元及命令处理单元,所述命令处理单元包括:
第一检测模块,用于检测主机端下发到所述主存储单元的写I/O的延时时间,并判断所述延时时间是否超过预设的延时时间阈值,若是,则交由命令分流模块处理;
命令分流模块,用于将部分写I/O分流到所述副存储单元。
根据本发明的降低I/O写延时的系统,所述命令处理单元还包括时间设置模块,用于预设所述写I/O的延时时间阈值。
根据本发明的降低I/O写延时的系统,所述命令处理单元还包括第二检测模块,用于检测所述主存储单元是否处于空闲状态,若是,则将所述副存储单元的数据刷入到所述主存储单元。
根据本发明的降低I/O写延时的系统,所述第一检测模块检测到主存储单元的写I/O的延时时间恢复到小于所述延时时间阈值时,将接收到的写I/O全部发送到所述主存储单元。
根据本发明的降低I/O写延时的系统,所述主存储单元为硬盘驱动器,所述副存储单元为固态硬盘。
本发明还提供一种通过上述系统实现的降低I/O写延时的方法,所述方法包括:
检测主机端下发到主存储单元的写I/O的延时时间,
判断所述延时时间是否超过预设的延时时间阈值;
若所述延时时间超过预设的延时时间阈值,则将部分写I/O分流到副存储单元。
根据本发明的降低I/O写延时的方法,所述检测主机端下发到主存储单元的写I/O的延时时间步骤之前包括
预设所述写I/O的延时时间阈值。
根据本发明的降低I/O写延时的方法,所述方法还包括:
检测所述主存储单元是否处于空闲状态,若是,则将所述副存储单元的数据刷入到所述主存储单元。
根据本发明的降低I/O写延时的方法,所述方法还包括:
所述主存储单元的写I/O的延时时间恢复到小于所述延时时间阈值时,将接收到的写I/O全部发送到所述主存储单元。
根据本发明的降低I/O写延时的方法,所述主存储单元为硬盘驱动器,所述副存储单元为固态硬盘。
本发明通过设置一命令处理单元,处理主机端发往主存储单元的I/O命令,通过第一检测模块检测判断其I/O延时时间是否大于预设的延时时间阈值,如果是,则通过命令分流模块将部分写I/O分流到副存储单元,使部分数据写入到副存储单元。优选的,当I/O延时时间恢复到小于预设的延时时间阈值范围时,将再接收到的I/O命令全部发送到主存储单元。借此,大大提高写I/O的效率,降低延迟。
附图说明
图1是本发明一实施例的降低I/O写延时的系统结构示意图;
图2是本发明另一实施例的降低I/O写延时的系统结构示意图;
图3是本发明一实施例的降低I/O写延时的方法流程图;
图4是本发明另一实施例的降低I/O写延时的方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图1,本发明提供了一种降低I/O写延时的系统100,其至少包括主存储单元10、副存储单元20以及命令处理单元30。其中:主存储单元10优选采用硬盘驱动器(HDD),副存储单元20采用固态硬盘(SSD),命令处理单元30可以是内置于系统100的软件单元,硬件单元或软硬件结合单元。
具体的,命令处理单元30包括第一检测模块31和命令分流模块32,其中:
第一检测模块31用于检测主机端下发到主存储单元10的写I/O的延时时间,并判断所述延时时间是否超过预设的延时时间阈值,若是,则交由命令分流模块32处理。
命令分流模块32用于将部分写I/O分流到所述副存储单元20。需要说明的,本发明可以通过预先设置,将分流的I/O数量随着延时的增大而增加,借此更加智能化。
当第一检测模块31检测到写I/O延时时间大于阈值时,说明此时写I/O产生了应用程序不允许的延时,因此通过命令分流模块32将该写I/O分流一部分发到副存储单元中20去,从而将数据写到副存储单元20上,借此提高I/O效率,降低延迟。
优选的,本发明的另一实施例中,结合图2,命令处理单元30还包括时间设置模块33及第二检测模块34,其中:
所述时间设置模块33用于预设所述写I/O的延时时间阈值,该时间阈值可以根据不同系统或不同应用需求设置适应的时间。
所述第二检测模块34用于检测所述主存储单元10是否处于空闲状态,若是,则将副存储单元20的数据刷入到主存储单元10。由于SSD有限的空间和掉电不易恢复,同时为了保证数据的一致性,本发明通过检测主存储单元10(HDD)处于不繁忙或者说空闲状态时,将副存储单元20(SSD)上的数据刷入到主存储单元10,借此保证主存储单元10内数据的完整性。
更好的是,若第一检测模块31检测到主存储单元10的写I/O的延时时间恢复到小于所述延时时间阈值时,将接收到的写I/O全部发送到所述主存储单元10,不再进行分流,借此使资源利用更加合理化。
参见图3,本发明提供了一种降低I/O写延时的方法,其可以通过如图1所示的系统100实现,所述系统100至少包括主存储单元10、副存储单元20以及命令处理单元30。其中:主存储单元10优选采用硬盘驱动器(HDD),副存储单元20采用固态硬盘(SSD)。所述方法包括:
步骤S301,检测主机端下发到主存储单元10的写I/O的延时时间,并判断所述延时时间是否超过预设的延时时间阈值,若是,则执行步骤S302。
步骤S302,将部分写I/O分流到所述副存储单元20。本发明可以通过预先设置,将分流的I/O数量随着延时的增大而增加,借此更加智能化。
系统100检测到写I/O延时时间大于阈值时,说明此时写I/O产生了应用程序不允许的延时,因此通过分流将该写I/O分流一部分发到副存储单元中20去,从而将数据写到副存储单元20上,借此提高I/O效率,降低延迟。
更好的是,若系统100检测到主存储单元10的写I/O的延时时间恢复到小于所述延时时间阈值时,将接收到的写I/O全部发送到所述主存储单元10,不再进行分流,借此使资源利用更加合理化。
再参见图4,本发明另一实施例的降低I/O写延时的方法,其可以通过如图2所示的系统100实现,该方法包括:
步骤S401,预设所述写I/O的延时时间阈值,该时间阈值可以根据不同系统或不同应用需求设置适应的时间。
步骤S402,检测主机端下发到主存储单元10的写I/O的延时时间,并判断所述延时时间是否超过预设的延时时间阈值,若是,则执行步骤S403。
步骤S403,将部分写I/O分流到所述副存储单元20。
步骤S404,检测所述主存储单元10是否处于空闲状态,若是,则执行步骤S405,否则继续检测。
步骤S405,将副存储单元20的数据刷入到主存储单元10,主存储单元10内数据的完整性。
综上所述,本发明通过设置一命令处理单元,处理主机端发往主存储单元的I/O命令,通过第一检测模块检测判断其I/O延时时间是否大于预设的延时时间阈值,如果是,则通过命令分流模块将部分写I/O分流到副存储单元,使部分数据写入到副存储单元。优选的,当I/O延时时间恢复到小于预设的延时时间阈值范围时,将再接收到的I/O命令全部发送到主存储单元。借此,大大提高写I/O的效率,降低延迟。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (10)
1.一种降低I/O写延时的系统,包括主存储单元、副存储单元及命令处理单元,其特征在于,所述命令处理单元包括:
第一检测模块,用于检测主机端下发到所述主存储单元的写I/O的延时时间,并判断所述延时时间是否超过预设的延时时间阈值,若是,则交由命令分流模块处理;
命令分流模块,用于将部分写I/O分流到所述副存储单元。
2.根据权利要求1所述的降低I/O写延时的系统,其特征在于,所述命令处理单元还包括时间设置模块,用于预设所述写I/O的延时时间阈值。
3.根据权利要求1所述的降低I/O写延时的系统,其特征在于,所述命令处理单元还包括第二检测模块,用于检测所述主存储单元是否处于空闲状态,若是,则将所述副存储单元的数据刷入到所述主存储单元。
4.根据权利要求1所述的降低I/O写延时的系统,其特征在于,所述第一检测模块检测到主存储单元的写I/O的延时时间恢复到小于所述延时时间阈值时,将接收到的写I/O全部发送到所述主存储单元。
5.根据权利要求1所述的降低I/O写延时的系统,其特征在于,所述主存储单元为硬盘驱动器,所述副存储单元为固态硬盘。
6.一种通过权利要求1所述系统实现的降低I/O写延时的方法,其特征在于,所述方法包括:
检测主机端下发到主存储单元的写I/O的延时时间,
判断所述延时时间是否超过预设的延时时间阈值;
若所述延时时间超过预设的延时时间阈值,则将部分写I/O分流到副存储单元。
7.根据权利要求6所述的降低I/O写延时的方法,其特征在于,所述检测主机端下发到主存储单元的写I/O的延时时间步骤之前包括
预设所述写I/O的延时时间阈值。
8.根据权利要求6所述的降低I/O写延时的方法,其特征在于,所述方法还包括:
检测所述主存储单元是否处于空闲状态,若是,则将所述副存储单元的数据刷入到所述主存储单元。
9.根据权利要求6所述的降低I/O写延时的方法,其特征在于,所述方法还包括:
所述主存储单元的写I/O的延时时间恢复到小于所述延时时间阈值时,将接收到的写I/O全部发送到所述主存储单元。
10.根据权利要求6所述的降低I/O写延时的方法,其特征在于,所述主存储单元为硬盘驱动器,所述副存储单元为固态硬盘。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310695321.3A CN103744613B (zh) | 2013-12-17 | 2013-12-17 | 降低i/o写延时的系统与方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310695321.3A CN103744613B (zh) | 2013-12-17 | 2013-12-17 | 降低i/o写延时的系统与方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103744613A true CN103744613A (zh) | 2014-04-23 |
CN103744613B CN103744613B (zh) | 2017-04-19 |
Family
ID=50501634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310695321.3A Expired - Fee Related CN103744613B (zh) | 2013-12-17 | 2013-12-17 | 降低i/o写延时的系统与方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103744613B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017020747A1 (zh) * | 2015-07-31 | 2017-02-09 | 华为技术有限公司 | 一种检测慢盘的方法及装置 |
CN107465579A (zh) * | 2017-09-22 | 2017-12-12 | 郑州云海信息技术有限公司 | 一种端口性能统计系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030101371A1 (en) * | 2001-11-29 | 2003-05-29 | International Business Machines Corporation | Method, system, and program for error handling in a dual adaptor system where one adaptor is a master |
CN1487436A (zh) * | 2003-08-08 | 2004-04-07 | 华中科技大学 | 基于多通道存储设备的海量存储系统及其系统控制方法 |
CN102591593A (zh) * | 2011-12-28 | 2012-07-18 | 华为技术有限公司 | 一种混合存储模式的切换方法、装置及系统 |
-
2013
- 2013-12-17 CN CN201310695321.3A patent/CN103744613B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030101371A1 (en) * | 2001-11-29 | 2003-05-29 | International Business Machines Corporation | Method, system, and program for error handling in a dual adaptor system where one adaptor is a master |
CN1487436A (zh) * | 2003-08-08 | 2004-04-07 | 华中科技大学 | 基于多通道存储设备的海量存储系统及其系统控制方法 |
CN102591593A (zh) * | 2011-12-28 | 2012-07-18 | 华为技术有限公司 | 一种混合存储模式的切换方法、装置及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017020747A1 (zh) * | 2015-07-31 | 2017-02-09 | 华为技术有限公司 | 一种检测慢盘的方法及装置 |
CN107465579A (zh) * | 2017-09-22 | 2017-12-12 | 郑州云海信息技术有限公司 | 一种端口性能统计系统 |
CN107465579B (zh) * | 2017-09-22 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种端口性能统计系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103744613B (zh) | 2017-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8325555B2 (en) | Data storage devices and power management methods thereof | |
CN105630700B (zh) | 一种具有二级缓存结构的存储系统及读写方法 | |
CN104811645B (zh) | 一种嵌入式录像数据存储方法 | |
US8719490B2 (en) | Storage array, storage system, and data access method | |
CN102945207A (zh) | 一种块级数据的缓存管理方法及系统 | |
CN101819509A (zh) | 一种固态硬盘读写方法 | |
CN101719377A (zh) | 功耗控制方法及装置 | |
CN103745753A (zh) | 基于闪存的纠错方法与系统 | |
CN103049220A (zh) | 存储控制方法、存储控制装置和固态存储系统 | |
CN102541458B (zh) | 一种提高电子硬盘数据写入速度的方法 | |
CN105280239B (zh) | 一种动态实现固态硬盘ecc校验码的方法和装置 | |
CN103150128A (zh) | 基于ssd和磁盘的可靠混合存储系统实现方法 | |
CN102981783A (zh) | 一种基于Nand Flash的Cache加速方法 | |
CN103744611A (zh) | 基于固态硬盘为缓存的计算机系统及缓存加速方法 | |
CN103150427A (zh) | 一种基于ssd硬盘缓存加速与备份的raid设计方法 | |
CN102298508A (zh) | 基于流的固态硬盘预读取的方法及装置 | |
WO2015061921A1 (zh) | 用于数据存储系统的动态缓存方法和系统 | |
CN103019882A (zh) | 固态硬盘的raid4系统 | |
CN104375944A (zh) | 一种数据存储方法和装置 | |
CN103744613A (zh) | 降低i/o写延时的系统与方法 | |
CN102708062A (zh) | 基于数据块的多媒体存储方法和装置 | |
CN102779098B (zh) | 混合缓存的协同式自适应预取方法、装置和系统 | |
CN103488547A (zh) | 一种raid组故障硬盘快速重建的方法 | |
CN102122267A (zh) | 一种可同时进行数据传输及FTL管理的多通道NANDflash控制器 | |
CN103412727A (zh) | 优化固态硬盘的删减命令的方法及其固态硬盘 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170419 |