CN1550993A - 读优先高速缓存系统和方法 - Google Patents
读优先高速缓存系统和方法 Download PDFInfo
- Publication number
- CN1550993A CN1550993A CNA2004100348124A CN200410034812A CN1550993A CN 1550993 A CN1550993 A CN 1550993A CN A2004100348124 A CNA2004100348124 A CN A2004100348124A CN 200410034812 A CN200410034812 A CN 200410034812A CN 1550993 A CN1550993 A CN 1550993A
- Authority
- CN
- China
- Prior art keywords
- write request
- eat
- write
- request
- penalty minutes
- 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
Links
- 238000000034 method Methods 0.000 title claims description 13
- 230000015654 memory Effects 0.000 claims description 27
- 230000004048 modification Effects 0.000 claims description 10
- 238000012986 modification Methods 0.000 claims description 10
- 230000009471 action Effects 0.000 claims description 7
- 238000013500 data storage Methods 0.000 claims description 3
- 230000015572 biosynthetic process Effects 0.000 claims description 2
- 238000004590 computer program Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 claims description 2
- 230000004044 response Effects 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 claims 2
- 230000006870 function Effects 0.000 abstract description 2
- 238000012423 maintenance Methods 0.000 abstract description 2
- 230000000694 effects Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 108010022579 ATP dependent 26S protease Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005755 formation reaction Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
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
- G06F3/0613—Improving I/O performance in relation to throughput
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
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
对磁盘驱动器的写请求的预期访问时间(EAT)基本上是写请求的预计服务时间的度量。由高速缓存存储控制器产生的对磁盘驱动器的写请求基本上是用来清理高速缓冲存储器的维护功能。磁盘驱动器用处罚来修改写命令的EAT,使得需要磁盘访问的读请求优先地满足。处罚可以是常量或者可以基于一个或多个因素来建立,并且如果需要清理充满需要降级到磁盘的写请求的高速缓冲存储器时,甚至可以是负的。
Description
技术领域
本发明一般地涉及数据存储磁盘驱动器。
背景技术
许多当前存储子系统具有由许多分开的磁盘驱动器后备(back up)的高速缓存控制器。到达存储子系统的写请求通常被高速缓存,并且完成状态立即返回。读请求首先从存储子系统高速缓冲存储器服务,并且仅当高速缓冲存储器取数失败时,该请求过滤到被管理的一个或多个磁盘驱动器。存储子系统的性能依赖于在可能的最短时间内读数据请求的完成和写数据请求的接受。修改包含在这种存储子系统中的磁盘驱动器的排队动作可以改进其性能。
大部分磁盘驱动器队列排序算法试图通过使用称作“最短访问时间优先”(SATF)算法用具有最少等待时间的最短查找时间排序它们队列中的所有命令,来使吞吐量达到最大。但是,如由本发明所认识到的,提交给磁盘驱动器的写请求固有地与读请求不同,因为使用存储子系统高速缓冲存储器,写请求的接受已经被满足,并且大部分对磁盘驱动器的写命令实际上是由存储子系统在内部产生以释放高速缓冲存储器资源的维护请求。另一方面,读请求是时间紧要的,因为它们属于存储子系统高速缓冲存储器取数失败,并且系统性能依赖于在可能的最短时间内满足这些请求。
尽管如此,虽然写请求没有读请求对于存储子系统性能那么重要,但是写请求的良好吞吐量仍然是希望的,以便保持存储子系统接受新的写请求的能力。已经做了上面批判的研究,解决方案在这里提供。
发明内容
一种用于服务读请求和写请求的磁盘驱动器使用这样的逻辑,包括确定至少一些写请求的预期访问时间(EAT,expected access time),以及给至少一些写请求的EAT加上处罚时间(penalty period)来提供修改的EAT。该逻辑也包括按照基于它们可能的修改EAT的顺序来满足读和写请求。
如果希望的话,单个预先确定的处罚时间可以用于所有写请求。可选地,第一处罚时间可以用于第一写请求,而第二处罚时间可以用于第二写请求。写请求的处罚时间可以基于高速缓冲存储器自由空间、写请求的类型和/或磁盘驱动器的性能来建立。无论如何,在优选实施方案中,逻辑可以确定读请求的EAT,并且一个或多个写请求的修改EAT小于读请求的EAT,使得写请求在读请求之前被满足。
在另一方面,用于数据存储子系统的磁盘驱动器包括至少一个存储磁盘和至少一个数据高速缓冲存储器。磁盘驱动器当可能时使用其高速缓冲存储器来满足读请求和写请求,否则使用磁盘来满足这些请求。磁盘驱动器包括用于确定至少需要磁盘访问的请求的预期访问时间(EAT)的装置,以及用于修改写请求的EAT的装置。
在又一个方面,计算机程序存储设备包含可由数字处理器执行的指令。这些指令包括准备至少部分基于处罚来延迟写请求的满足。
附图说明
本发明的细节,关于其结构和操作,可以参考附图来最好地理解,其中相似的参考数字指的是相似部分,并且其中:
图1本系统的示意图;以及
图2是每当新的命令被选来执行时可由磁盘驱动控制器执行的逻辑的流程图。
具体实施方式
首先参考图1,用于满足由软件应用12(为了清楚仅单个应用12被显示)产生的读请求和写请求的系统被显示,总体上表示为10。系统10包括存储子系统14,后者又包括存储控制器16,存储控制器16访问固态高速缓冲存储器18和多个磁盘驱动器20来执行读请求和写请求。虽然为了清楚仅一个高速缓冲存储器18和一个磁盘驱动器20被显示,但是如果希望的话子系统14一般地将包括多个磁盘驱动器。每个磁盘驱动器20包括磁盘驱动控制器20a、多个数据存储磁盘20b以及固态高速缓冲存储器20c,并且按照下面由图2中所示的逻辑定义的顺序来满足从存储控制器16接受的读请求和写请求。
如这里所认识的,存储控制器16当可能时从高速缓冲存储器18来满足读请求,否则访问磁盘驱动器20。同样地,存储控制器16通过将写数据存储到高速缓冲存储器18中来满足写请求,并且在随后某个时间,作为维护操作将写数据转移到其磁盘驱动器20的一个中。由于这个原因,从应用12的观点来看,与完成写请求相比,满足需要磁盘驱动器20访问的读请求一般地是影响系统性能的更重要的任务,从应用的观点来看,写请求当数据最初写入到高速缓冲存储器18中时完成。存储控制器16试图保留尽可能多的读请求和写请求在其磁盘驱动器中,并且允许每个磁盘驱动器通过局部安排执行的顺序来使性能达到最优。每个磁盘驱动器20保持从存储控制器16接受的读和写请求的一个任务集,并且安排它们执行。因此,本发明认为虽然实现读请求一般地比完成写请求更重要,但是写请求必须在高活动性期间完成,即使某些读请求因此而被延迟。
在具有上面的认识后,注意力转到图2。在块22开始,从未完成命令的当前集选择命令。在块24,命令的预期访问时间(EAT)使用例如查找时间、等待时间以及成功地完成该命令的概率来常规地确定。
进行到判定菱形26,确定命令是否为写命令。如果是,逻辑移动到块30,并给检验中的写命令的EAT加上时间处罚来提供修改的EAT。处罚通常是正的,即修改的EAT将比原来的EAT长,但是在某些情况下(例如,当活动性高和高速缓冲存储器18自由空间低时),处罚可以是负的,以便保证写命令被完成从而高速缓冲存储器空间被释放。
在一种实施方案中,处罚可以是单个预先确定的处罚时间,其用于所有写请求。在其它实施方案中,处罚可以动态改变或相反,使得第一处罚时间可以用于第一写请求,而第二、不同的处罚时间可以用于第二写请求。例如,如果写请求已经很长时间没有被选择,特别是在高活动性的环境下,那么写请求的处罚时间可以相对短或者甚至是负的。另一方面,如果新命令到达磁盘驱动器的速率较低,那么处罚可以相对较长。此外,处罚可以基于写请求的类型来建立。并且,如果由例如响应时间度量的磁盘驱动器20的性能相对差,那么处罚可以动态地建立为较长,而当磁盘驱动器20的性能在可接受范围内或高于可接受阈值时,处罚较短。
从块30,或从判定菱形26得到否定的结果,逻辑移动到判定菱形32,其中确定当前EAT(其可能在块30被修改)是否比当前“最好”(即最短)EAT短。如果是,检验中的命令在块34被指定为“当前最好”。在判定菱形36,确定任务集里是否还存在EAT要计算的命令。如果有,逻辑回路返回到块22。否则,当EAT已经对任务集里的所有命令而计算时,逻辑通过执行当前“最好”命令而在块38结束。然后,逻辑重复在块22开始,在仍然在任务集里的那些命令和已经到达的任何新命令中选择下一个命令,假定在块38选择的命令是新的起点。
虽然在这里详细显示和描述的具体的读优先高速缓存系统和方法完全能够达到本发明的上述目的,但是应当理解,它是本发明的目前优选实施方案,因此代表由本发明广阔考虑的主题,本发明的范围完全包括对于本领域技术人员将是显然的其它实施方案,因此本发明的范围仅由附加的权利要求书限定,其中提到单数的元素并不仅指“一个且仅一个”除非明确地如此陈述,而是指“一个或多个”。对本领域技术人员已知或者随后变得已知的上述优选实施方案的元素的所有结构和功能等价物特意在此引入作为参考,并且包括在权利要求书。而且,设备或方法不必要满足本发明设法解决的每个问题,因为将在权利要求书中包括。此外,在本公开内容中的任何元素、组件或方法步骤并不是专有的,而不管元素、组件或方法步骤是否清楚地在权利要求书中叙述。在这里任何声明的元素并不在35 U.S.C.‘112第六节的条款下解释,除非该元素清楚地使用词组“用于...的装置”来叙述,或者在方法权利要求的情况下,元素叙述为“步骤”而不是“动作”。在这里缺少明确定义的情况下给出权利要求项,其具有不与本说明书和文件历史相矛盾的所有常规和习惯的意思。
Claims (21)
1.一种用于服务读请求和写请求的磁盘驱动控制器,包括用于执行下述方法动作的逻辑单元,所述方法动作包括:
确定至少一些写请求的预期访问时间(EAT);
给至少一些写请求的EAT加上处罚时间来提供修改的EAT;以及
按至少部分基于它们的修改EAT的顺序来满足读请求和写请求。
2.根据权利要求1的控制器,其中单个预先确定的处罚时间用于所有写请求。
3.根据权利要求1的控制器,其中至少第一处罚时间用于第一写请求,而第二处罚时间用于第二写请求。
4.根据权利要求3的控制器,其中写请求的处罚时间至少部分地基于下面至少一种来建立:高速缓冲存储器自由空间、写请求的类型、写请求的传送长度、磁盘驱动器的性能。
5.根据权利要求1的控制器,其中控制器访问高速缓冲存储器和磁盘。
6.根据权利要求1的控制器,其中由逻辑单元执行的方法动作包括确定至少一些读请求的EAT,其中至少第一写请求的至少一个修改EAT小于至少第一读请求的至少一个EAT,从而第一写请求在第一读请求之前被满足。
7.一种数据存储系统,包括:
至少一个存储磁盘;
至少一个数据高速缓冲存储器;以及
至少一个磁盘驱动控制器,当可能时使用高速缓冲存储器来满足读请求和写请求,否则使用磁盘来满足这些请求,该控制器包括:
用于确定至少需要磁盘驱动器访问的请求的预期访问时间(EAT)的单元;以及
用于修改写请求的EAT的单元。
8.根据权利要求7的系统,其中用于修改的单元给至少一些写请求的EAT加上处罚时间来提供修改的EAT,写请求至少部分基于它们的修改EAT来满足。
9.根据权利要求8的系统,其中单个预先确定的处罚时间用于所有写请求。
10.根据权利要求8的系统,其中至少第一处罚时间用于第一写请求,而第二处罚时间用于第二写请求。
11.根据权利要求10的系统,其中写请求的处罚时间至少部分基于现有的高速缓冲存储器自由空间来建立。
12.根据权利要求10的系统,其中写请求的处罚时间至少部分基于写请求的类型来建立。
13.根据权利要求10的系统,其中写请求的处罚时间至少部分基于磁盘驱动器的响应时间来建立。
14.根据权利要求10的系统,其中写请求的处罚时间至少部分基于写请求的传送长度来建立。
15.根据权利要求7的系统,其中用于修改的单元确定至少一些读请求的EAT,其中至少第一写请求的至少一个修改EAT小于至少第一读请求的至少一个EAT,从而第一写请求在第一读请求之前被满足。
16.一种包含可由数字处理器执行的指令的计算机程序存储设备,所述指令实施的方法动作包括:
至少部分基于处罚来相对于读请求来延迟写请求的满足。
17.根据权利要求16的设备,其中由指令实施的延迟动作包括:
确定至少一些写请求的预期访问时间(EAT);以及
给至少一些写请求的EAT加上处罚时间来提供修改的EAT。
18.根据权利要求17的设备,其中单个预先确定的处罚时间用于所有写请求。
19.根据权利要求17的设备,其中至少第一处罚时间用于第一写请求,而第二处罚时间用于第二写请求。
20.根据权利要求19的设备,其中写请求的处罚时间至少部分基于下面至少一种来建立:当前工作队列的长度、写请求的类型、磁盘驱动器的性能。
21.各个权利要求17的设备,其中由指令实施的方法动作包括确定至少一些读请求的EAT,其中至少第一写请求的至少一个修改EAT小于至少第一读请求的至少一个EAT,从而第一写请求在第一读请求之前被满足。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/417,369 US6968437B2 (en) | 2003-04-16 | 2003-04-16 | Read priority caching system and method |
US10/417,369 | 2003-04-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1550993A true CN1550993A (zh) | 2004-12-01 |
Family
ID=33158884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004100348124A Pending CN1550993A (zh) | 2003-04-16 | 2004-04-14 | 读优先高速缓存系统和方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6968437B2 (zh) |
CN (1) | CN1550993A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101043445B (zh) * | 2007-03-06 | 2011-02-23 | 哈尔滨工程大学 | 网络存储系统中的io调度方法 |
CN103544119A (zh) * | 2013-09-26 | 2014-01-29 | 广东电网公司电力科学研究院 | 缓存调度方法与系统及其介质 |
CN105320466A (zh) * | 2014-07-29 | 2016-02-10 | 广明光电股份有限公司 | 固态硬盘安排操作的方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6968437B2 (en) * | 2003-04-16 | 2005-11-22 | Hitachi Global Storage Technologies Netherlands B.V. | Read priority caching system and method |
GB0702746D0 (en) * | 2007-02-13 | 2007-03-21 | Appsense Holdings Ltd | Improvements in and relating to irp handling |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3708436B2 (ja) * | 1998-05-07 | 2005-10-19 | インフィネオン テクノロジース アクチエンゲゼルシャフト | 2次元データフィールドのためのキャッシュメモリ |
US6865642B2 (en) * | 1998-06-24 | 2005-03-08 | International Business Machines Corporation | Method and apparatus for disk caching for an intermediary controller |
US6515819B1 (en) * | 1999-03-29 | 2003-02-04 | Maxtor Corporation | Adaptive update of seek time prediction data |
US6681289B2 (en) * | 2002-01-25 | 2004-01-20 | International Business Machines Corporation | System and method for efficiently sorting DASD queued commands with unknown rotational latency |
US6804751B2 (en) * | 2002-03-20 | 2004-10-12 | Hitachi Global Storage Technologies Netherlands B.V. | Method and apparatus for improving efficiency of operation of a hard disk drive by deferring command execution |
US6968437B2 (en) * | 2003-04-16 | 2005-11-22 | Hitachi Global Storage Technologies Netherlands B.V. | Read priority caching system and method |
-
2003
- 2003-04-16 US US10/417,369 patent/US6968437B2/en not_active Expired - Fee Related
-
2004
- 2004-04-14 CN CNA2004100348124A patent/CN1550993A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101043445B (zh) * | 2007-03-06 | 2011-02-23 | 哈尔滨工程大学 | 网络存储系统中的io调度方法 |
CN103544119A (zh) * | 2013-09-26 | 2014-01-29 | 广东电网公司电力科学研究院 | 缓存调度方法与系统及其介质 |
CN103544119B (zh) * | 2013-09-26 | 2016-08-24 | 广东电网公司电力科学研究院 | 缓存调度方法与系统 |
CN105320466A (zh) * | 2014-07-29 | 2016-02-10 | 广明光电股份有限公司 | 固态硬盘安排操作的方法 |
Also Published As
Publication number | Publication date |
---|---|
US6968437B2 (en) | 2005-11-22 |
US20040210732A1 (en) | 2004-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7596657B2 (en) | Increased storage capacity for solid state disks using data compression | |
JP6266019B2 (ja) | データストレージシステム向けの優先度に基づくガベージコレクション | |
US6311256B2 (en) | Command insertion and reordering at the same storage controller | |
US9256542B1 (en) | Adaptive intelligent storage controller and associated methods | |
US6170042B1 (en) | Disc drive data storage system and method for dynamically scheduling queued commands | |
US6230239B1 (en) | Method of data migration | |
US6629211B2 (en) | Method and system for improving raid controller performance through adaptive write back/write through caching | |
US6807607B1 (en) | Cache memory management system and method | |
CN103186350A (zh) | 混合存储系统及热点数据块的迁移方法 | |
WO2009046353A1 (en) | Solid state drive optimizer | |
JP2009205335A (ja) | 2種のメモリデバイスをキャッシュに用いるストレージシステム及びそのストレージシステムを制御する方法 | |
US8914571B2 (en) | Scheduler for memory | |
CN109582215A (zh) | 硬盘操作命令的执行方法、硬盘及存储介质 | |
US6442648B1 (en) | Method of and system for the dynamic scheduling of requests to access a storage system | |
CN1801396A (zh) | 利用动态随机存取存储器写缓冲器的存储器控制器 | |
CN118312102A (zh) | Io请求处理方法、装置、存储设备及存储介质 | |
CN112039999A (zh) | 一种内核态访问分布式块存储系统的方法及系统 | |
US9465745B2 (en) | Managing access commands by multiple level caching | |
CN113407111B (zh) | 闪存控制器、闪存控制器的方法及记忆装置 | |
US8732404B2 (en) | Method and apparatus for managing buffer cache to perform page replacement by using reference time information regarding time at which page is referred to | |
CN1550993A (zh) | 读优先高速缓存系统和方法 | |
KR100389104B1 (ko) | 기록 커맨드를 수행하기 위한 방법 및 직접 액세스 저장장치 | |
CN116975103A (zh) | 数据存档方法、装置、计算机设备和存储介质 | |
CN114556335A (zh) | 一种片内缓存及集成芯片 | |
KR19980019121A (ko) | 쓰기 캐쉬 환경에서 캐쉬 플러쉬 입/출력 레이트를 제어하기 위해 피이드백 루프를 이용하는 방법 및 장치(method and apparatus for using a feedback loop to control cache flush i/o rate in a write cache environment) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20041201 |