CN1550993A - 读优先高速缓存系统和方法 - Google Patents

读优先高速缓存系统和方法 Download PDF

Info

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
Application number
CNA2004100348124A
Other languages
English (en)
Inventor
ղķ˹��R��������
詹姆斯·R·西普曼
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.)
HGST Netherlands BV
Original Assignee
Hitachi Global Storage Technologies Netherlands BV
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 Hitachi Global Storage Technologies Netherlands BV filed Critical Hitachi Global Storage Technologies Netherlands BV
Publication of CN1550993A publication Critical patent/CN1550993A/zh
Pending legal-status Critical Current

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
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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,从而第一写请求在第一读请求之前被满足。
CNA2004100348124A 2003-04-16 2004-04-14 读优先高速缓存系统和方法 Pending CN1550993A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (4)

* Cited by examiner, † Cited by third party
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