CN104503923A - 一种非对称磁盘阵列高速缓存调度方法 - Google Patents

一种非对称磁盘阵列高速缓存调度方法 Download PDF

Info

Publication number
CN104503923A
CN104503923A CN201410674375.6A CN201410674375A CN104503923A CN 104503923 A CN104503923 A CN 104503923A CN 201410674375 A CN201410674375 A CN 201410674375A CN 104503923 A CN104503923 A CN 104503923A
Authority
CN
China
Prior art keywords
page
disk
sacrificial plate
memory buffers
gets
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
Application number
CN201410674375.6A
Other languages
English (en)
Other versions
CN104503923B (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201410674375.6A priority Critical patent/CN104503923B/zh
Publication of CN104503923A publication Critical patent/CN104503923A/zh
Priority to US14/746,869 priority patent/US9626247B2/en
Application granted granted Critical
Publication of CN104503923B publication Critical patent/CN104503923B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1088Reconstruction on already foreseen single or plurality of spare disks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2058Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using more than 2 mirrored copies
    • 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
    • G06F12/0871Allocation or management of cache space
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/122Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/128Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
    • 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/12Replacement control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/855Details of asynchronous mirroring using a journal to transfer not-yet-mirrored changes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/604Details relating to cache allocation

Abstract

本发明公开了一种非对称磁盘阵列高速缓存调度方法,属于计算机存储技术领域。本发明通过选择不参与重构的盘作为牺牲盘,减少该牺牲盘的缓存大小,并相应增加参与重构磁盘的缓存的大小,减少了对于失效盘以及参与重构盘的I/O请求次数,加速了失效盘的重构速度,减少了用户的I/O响应时间,提高了存储系统的可用性、可靠性及系统的性能。

Description

一种非对称磁盘阵列高速缓存调度方法
技术领域
本发明属于计算机存储技术领域,更具体地,涉及一种非对称磁盘阵列高速缓存调度方法。
背景技术
可靠性与可用性是衡量在线存储服务质量的重要标准。对于为商业与工业应用提供在线服务的系统,数据丢失以及时常间断的服务往往意味着极大的经济损失。磁盘冗余阵列(Redundant Array of Independent Disk,以下简称RAID)是能够提供高可靠与高可用数据存取服务的主流选择之一。在早期的RAID规范中,例如RAID-1到RAID-5,其仅仅提供单盘容错能力。近年来,具有更高容错能力的各种RAID规范逐渐开始被采用,因其在两个或两个以上磁盘同时失效时仍然能够恢复所有丢失的数据,与此同时还能够提供无间断的在线服务。
对于存储系统,尤其是提供在线服务的存储系统,以最终用户角度来看,请求平均响应时间是评价其服务质量的重要标准。但是,当发生在磁盘阵列容忍度之内的磁盘失效时,为了能够在重构因磁盘失效而丢失的数据的同时提供在线服务,重构数据带来的读/写工作流与用户请求带来的工作流将会不可避免的相互影响,从而直接导致最终用户或者前端应用程序所享受的服务质量的下降。大量的研究表明,相对于无故障模式,存在恢复工作流时的降级模式下的读/写请求平均响应时间会受到极大影响,往往会增长数倍至数十倍不等。与此同时,相对于线下重建,在线重建的耗时也会呈数量级的延长。因此,减小在线重构时用户请求的平均响应时间,以及缩短重构时间,是提高最终前端用户所享受的服务质量和数据可用性最为直接有效的途径。目前已有许多针对此问题的解决方案被提出,例如,针对数据分布的优化方法、针对用户工作流的优化以及针对重构工作流的优化。以上方式都已被证明能够有效的提高在线重构的性能,包括减小在线重构时用户请求的平均响应时间或者缩短重构时间。
存储缓存(Buffer Cache)被广泛的使用并且有很多Cache替换算法用来解决磁盘延迟的问题,但是常用的Cache替换算法仅考虑到RAID工作在无故障模式下,而如果磁盘阵列中一些磁盘失效,此时RAID工作在失效模式下。在失效模式下,阵列需要读取一些存活磁盘的数据来进行重构,以恢复失效盘的数据,读取的存活盘的数目由RAID结构所决定。以RAID-6为例,若n(n为大于等于3的正整数)个磁盘中存在一个失效盘,则需要读取n-2个存活磁盘的数据来进行重构,而有一个盘不需要参与重构的过程,也就是说,此时剩下的n-2个盘会存在大量的重构I/O。而传统高速缓存的算法并没有考虑此种情况,不针对单个磁盘划分缓存区,而是统一使用全局缓存,这使得参与重构磁盘的缓存区和不参与重构磁盘的缓存区具有相同的缓存区容量,而在实际使用过程中会造成实际到达磁盘上的I/O请求不平衡,从而一方面降低重构速度,另一方面也影响前端应用的I/O性能。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供一种非对称磁盘阵列高速缓存调度方法,在磁盘阵列失效的情况下,通过选择一个不参与重构的盘作为牺牲盘,减少该牺牲盘的缓存大小,并相应增加参与重构磁盘的缓存大小,从而能够减少对于失效盘以及参与重构盘的I/O请求次数,提高RAID存储系统的性能。本发明适用于磁盘阵列存在磁盘失效时,能够增加磁盘重构的速度以及减少前端用户I/O请求的响应时间,提高磁盘阵列的性能、可用性以及可靠性。
本发明提供一种非对称磁盘阵列高速缓存调度方法,包括以下步骤:
步骤1对上层到达的访问判断在存储缓存是否命中,是则执行步骤7,否则执行步骤2;
步骤2判断所述存储缓存是否为满,是则执行步骤3,否则执行步骤5;
步骤3判断牺牲盘的页面数是否高于阈值,是则执行步骤4,否则执行步骤6,其中所述牺牲盘为不参与重构的磁盘;
步骤4取所述牺牲盘上的冷页面,进行替换;
步骤5在所述存储缓存中取一页空页面,将用户请求的数据缓存到所述空页面中;
步骤6取所述存储缓存所有页面中的冷页面,进行替换;
步骤7读写数据,更改页面的位置或状态。
本发明还提供一种非对称磁盘阵列高速缓存调度方法,包括以下步骤:
步骤1对上层到达的访问判断在存储缓存是否命中,是则执行步骤7,否则执行步骤2;
步骤2判断所述存储缓存是否为满,是则执行步骤3,否则执行步骤5;
步骤3判断牺牲盘上的响应时间是否小于其他磁盘上的响应时间,是则执行步骤4,否则执行步骤6,其中所述牺牲盘为不参与重构的磁盘;
步骤4取所述牺牲盘上的冷页面,进行替换;
步骤5在所述存储缓存中取一页空页面,将用户请求的数据缓存到所述空页面中;
步骤6取所述存储缓存所有页面中的冷页面,进行替换;
步骤7读写数据,更改页面的位置或状态。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
本发明在磁盘阵列失效的情况下通过减少牺牲盘上的缓存,减少失效盘以及重构盘上的I/O。通过设置牺牲盘上的阈值,当牺牲盘的页面数高于阈值时,优先替换牺牲盘上的页面,从而增加了参与重构盘上的页面数,提高了参与重构盘上的命中率,减少了用户I/O对重构I/O流的影响,加快了重构速度,缩短了重构时间,同时,也降低了重构I/O流对用户I/O流的影响,缩短了用户I/O的响应时间。对整个系统而言,本发明能够提高整个磁盘阵列的性能,并且能够提高存储系统的可靠性及系统的性能。
附图说明
图1为本发明非对称磁盘阵列高速缓存调度方法的原理示意图;
图2为本发明非对称磁盘阵列高速缓存调度方法的流程图;
图3为本发明基于LRU的非对称磁盘阵列高速缓存调度方法在RAID-6上的流程图;
图4为本发明基于LRU的非对称磁盘阵列高速缓存调度方法在RAID-10上的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
图1所示为本发明非对称磁盘阵列高速缓存调度方法的原理示意图,当磁盘阵列(即磁盘1~磁盘n)中出现失效盘磁盘时,磁盘阵列管理模块会启动重构的进程,重构的进程会根据RAID布局对参与重构的磁盘(即磁盘1~磁盘s-1)下发重构I/O流,重构I/O流如图1中虚线箭头所示。此时磁盘阵列仍需要提供在线服务,会产生用户I/O请求,用户I/O请求根据RAID的布局实现逻辑地址到物理地址的转换,并经过I/O调度层实现I/O合并等操作。此时用户I/O请求会到达磁盘的Buffer Cache,如果在BufferCache中命中,则直接读写返回;如果不命中,会对磁盘产生用户I/O流,用户I/O流如图1中实线箭头所示。Buffer Cache管理模块管理BufferCache中的页(page),包括替换、刷新等。在本发明中,通过修改BufferCache的管理策略,实现一种不对称的分配方式。如图1中如示,记录不同磁盘的缓存页(page cache),通过减少不参与重构盘(磁盘s~磁盘n)的缓存,即牺牲盘的缓存,增加参与重构盘的缓存,减少用户I/O流和重构I/O流的相互影响。
图2所示为本发明非对称磁盘阵列高速缓存调度方法的流程图,具体包括以下步骤:
步骤201对上层到达的访问判断在Buffer Cache是否命中,是则执行步骤207,否则执行步骤202;
步骤202判断Buffer Cache是否为满,是则表示Buffer Cache没有空闲,执行步骤203,否则表示有空页面,执行步骤205,;
步骤203判断牺牲盘的页面数是否高于阈值,是则执行步骤204,即减少牺牲盘上缓存,否则执行步骤206,其中阈值的设定可以与用户I/O请求的到达率相关,随着用户I/O请求的到达率增加,阈值增加;
步骤204取牺牲盘上的冷页面,进行替换,其中,选择牺牲盘冷页面的方法与下层具体的cache替换算法有关;
步骤205在Buffer Cache中取一页空页面,将用户请求的数据缓存到该空页面中;
步骤206取Buffer Cache所有页面中的冷页面,进行替换,其中,选择所有页面中冷页面的方法与下层具体的cache替换算法有关;
步骤207读写数据,更改页面的位置或状态,更改的方法与下层具体的cache替换算法有关。
其中,替换包括两步:首先判断页面是否为脏,如果为脏,则数据要先写回,再执行下一步,否则,直接执行下一步,即,将要访问的数据读入缓存。
更进一步,可以根据响应时间来判断是否继续减少牺牲盘上缓存。即步骤203可以为判断牺牲盘上的响应时间是否小于其他磁盘上的响应时间,若其他磁盘上响应时间大于牺牲盘的响应时间,则牺牲盘的缓存可以继续替换,即执行步骤204;若其他磁盘上响应时间小于牺牲盘的响应时间,则牺牲盘的缓存暂时不进行替换,即执行步骤206。
实施例一:
下面以基于RAID-6系统中n个磁盘中的1个磁盘失效为例(n大于等于3),将本发明非对称磁盘阵列高速缓存调度方法与最近最少使用页面置换算法(Least Recently Used,以下简称LRU)结合起来描述本发明的具体实施。
在LRU类型的算法中,缓存页的权重由存储时间间隔来决定,其表示最后存储的时间戳(timestamp),即访问序列号。在本发明实施例中基于LRU的非对称磁盘阵列高速缓存调度方法需要保持上述的评估方法,由权重决定哪一个缓存页将被剔除。
在本发明实施例中,Buffer Cache结构包括全局LRU链表和局部LRU链表,每个磁盘对应一个局部LRU链表,局部LRU链表存储的是同一个磁盘的缓存页,全局LRU链表存储的是全部磁盘的缓存页。
RAID-6在一个磁盘失效的情况下,需要读取剩下的n-2个磁盘重构失效盘上的数据,即可以有一个牺牲盘,该牺牲盘可以在n-1个存活磁盘中任选一个。
图3所示为本发明基于LRU的非对称磁盘阵列高速缓存调度方法在RAID-6上的流程图,具体包括以下步骤:
步骤301对上层访问的数据块,判断Buffer Cache是否命中,是则执行步骤307,否则执行步骤302;
步骤302判断Buffer Cache是否为满,是则表示Buffer Cache没有空闲,转入步骤303,否则表示有空页面,转入步骤305;
步骤303判断牺牲盘的页面数是否高于阈值,是则执行步骤304,否则执行步骤306;
步骤304取牺牲盘对应的局部LRU链表的链尾,即牺牲盘的冷页面,进行替换;
步骤305在Buffer Cache中取一页空页面,将用户请求的数据缓存到该空页面中,读写数据;
步骤306取全局LRU链表的链尾,即所有页面中的冷页面,进行替换;
步骤307读写数据,将页面插入全局LRU链表以及该页面所属磁盘局部LRU链表的表头。
实施例二:
下面以基于RAID-10系统中n个磁盘中的1个磁盘失效为例(n大于等于4),将本发明非对称磁盘阵列高速缓存调度方法与LRU算法结合起来描述本发明的具体实施。
在本发明实施例中,Buffer Cache结构包括全局LRU链表和局部LRU链表,每个磁盘对应缓存中的一个局部LRU链表,局部LRU链表存储的是同一个磁盘的缓存页,全局LRU链表存储的是全部磁盘的缓存页。
RAID-10在一个磁盘失效的情况下,需要读取失效盘的镜像盘来重构数据,即剩下的n-2个磁盘都是牺牲盘。
图4为本发明基于LRU的非对称磁盘阵列高速缓存调度方法在RAID-10上的流程图,具体包括以下步骤:
步骤401对上层访问的数据块,判断Buffer Cache是否命中,是则执行步骤407,否则执行步骤402;
步骤402判断Buffer Cache是否为满,是则表示Buffer Cache没有空闲,转入步骤403,否则表示有空页面,转入步骤405;
步骤403判断牺牲盘的页面数是否高于阈值,是则执行步骤404,否则执行步骤406;
步骤404取牺牲盘上最近最少使用的页面,即牺牲盘的冷页面,进行替换;
步骤405在Buffer Cache中取一页空页面,将用户请求的数据缓存到该空页面中,进行读写;
步骤406取全局LRU链表的链尾,即所有页面中的冷页面,进行替换;
步骤407进行读写,将页面插入全局LRU链表以及该页面所属磁盘局部LRU链表的表头。
在步骤404中寻找牺牲盘上最近最少使用的页面(即冷页面)可以通过全局LRU链表查找,从全局LRU链表的尾部向上找到第一个牺牲盘的页面即是牺牲盘上最近最少使用的页面。
优选地,在步骤404中寻找牺牲盘上最近最少使用的页面还可以通过局部LRU链表。通过对比各个牺牲盘的局部LRU链表链尾的时间戳得到牺牲盘上最近最少使用的页面。
进一步优选地,上述寻找方法还可以轮转各个牺牲盘的局部LRU链表的链尾作为牺牲设备上最近最少使用的页面。
本发明不限于与LRU算法结合使用,还可以与LFU(least frequentlyused)、LRFU(least recently/frequently used)、2Q(Two Queue)、MQ(Multi-Queue)、LIRS(Low Inter-reference Recency Set)、ARC(AdaptiveReplacement Cache)等结合使用,其中冷页面的选取与上述具体算法中缓存页的权重计算方法有关。
本发明提供一种非对称磁盘阵列高速缓存调度方法,通过减少牺牲盘上的缓存大小,优先保留重构盘以及失效盘中的缓存页,减少了对于重构盘以及失效盘的访问次数,从而减少了I/O请求次数,加速了失效盘的重构速度,以及减少用户I/O请求的响应时间,提高存储系统的可用性、可靠性及系统的性能。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种非对称磁盘阵列高速缓存调度方法,其特征在于,包括:
步骤1对上层到达的访问判断在存储缓存是否命中,是则执行步骤7,否则执行步骤2;
步骤2判断所述存储缓存是否为满,是则执行步骤3,否则执行步骤5;
步骤3判断牺牲盘的页面数是否高于阈值,是则执行步骤4,否则执行步骤6,其中所述牺牲盘为不参与重构的磁盘;
步骤4取所述牺牲盘上的冷页面,进行替换;
步骤5在所述存储缓存中取一页空页面,将用户请求的数据缓存到所述空页面中;
步骤6取所述存储缓存所有页面中的冷页面,进行替换;
步骤7读写数据,更改页面的位置或状态。
2.如权利要求1所述的方法,其特征在于,当所述非对称磁盘阵列高速缓存调度方法应用于RAID-6系统,其中n个磁盘中的1个磁盘失效时,所述牺牲盘在n-1个存活磁盘中任选一个,读取剩下的n-2个磁盘用于重构失效盘上的数据,其中n大于等于3。
3.如权利要求1所述的方法,其特征在于,当所述非对称磁盘阵列高速缓存调度方法应用于RAID-10系统,其中n个磁盘中的1个磁盘失效时,读取失效盘的镜像盘用于重构数据,剩下的n-2个磁盘都是牺牲盘,其中n大于等于4。
4.如权利要求1所述的方法,其特征在于,所述阈值的设定与用户I/O请求的到达率相关,随着用户I/O请求的到达率增加,所述阈值增加。
5.如权利要求1-4中任一项所述的方法,其特征在于,当所述非对称磁盘阵列高速缓存调度方法基于LRU算法时,所述存储缓结构包括全局LRU链表和局部LRU链表,其中所述局部LRU链表存储的是同一个磁盘的缓存页,所述全局LRU链表存储的是全部磁盘的缓存页。
6.如权利要求5所述的方法,其特征在于,在所述步骤4中,所述牺牲盘上的冷页面为所述牺牲盘对应的局部LRU链表的链尾,在所述步骤6中,所述存储缓存所有页面中的冷页面为所述全局LRU链表的链尾。
7.如权利要求5所述的方法,其特征在于,在所述步骤4中,所述牺牲盘上的冷页面为从所述全局LRU链表的尾部向上找到第一个牺牲盘的页面,在所述步骤6中,所述存储缓存所有页面中的冷页面为所述全局LRU链表的链尾。
8.一种非对称磁盘阵列高速缓存调度方法,其特征在于,包括:
步骤1对上层到达的访问判断在存储缓存是否命中,是则执行步骤7,否则执行步骤2;
步骤2判断所述存储缓存是否为满,是则执行步骤3,否则执行步骤5;
步骤3判断牺牲盘上的响应时间是否小于其他磁盘上的响应时间,是则执行步骤4,否则执行步骤6,其中所述牺牲盘为不参与重构的磁盘;
步骤4取所述牺牲盘上的冷页面,进行替换;
步骤5在所述存储缓存中取一页空页面,将用户请求的数据缓存到所述空页面中;
步骤6取所述存储缓存所有页面中的冷页面,进行替换;
步骤7读写数据,更改页面的位置或状态。
CN201410674375.6A 2014-11-21 2014-11-21 一种非对称磁盘阵列高速缓存调度方法 Active CN104503923B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410674375.6A CN104503923B (zh) 2014-11-21 2014-11-21 一种非对称磁盘阵列高速缓存调度方法
US14/746,869 US9626247B2 (en) 2014-11-21 2015-06-23 Method for scheduling high speed cache of asymmetric disk array

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410674375.6A CN104503923B (zh) 2014-11-21 2014-11-21 一种非对称磁盘阵列高速缓存调度方法

Publications (2)

Publication Number Publication Date
CN104503923A true CN104503923A (zh) 2015-04-08
CN104503923B CN104503923B (zh) 2017-08-11

Family

ID=52945322

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410674375.6A Active CN104503923B (zh) 2014-11-21 2014-11-21 一种非对称磁盘阵列高速缓存调度方法

Country Status (2)

Country Link
US (1) US9626247B2 (zh)
CN (1) CN104503923B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897030A (zh) * 2017-02-28 2017-06-27 郑州云海信息技术有限公司 一种缓存数据管理方法及装置
CN108228084A (zh) * 2016-12-21 2018-06-29 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和设备
CN108733518A (zh) * 2017-04-17 2018-11-02 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机可读介质
CN109032970A (zh) * 2018-06-16 2018-12-18 温州职业技术学院 一种基于lru算法的动态缓存方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9940250B2 (en) * 2015-11-09 2018-04-10 International Business Machines Corporation Implementing hardware accelerator for storage write cache management for writes to storage write cache
CN107402890B (zh) * 2017-07-24 2020-10-02 华中科技大学 一种基于固态盘阵列和缓存的数据处理方法及系统
KR102565920B1 (ko) * 2018-07-18 2023-08-11 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6591269B1 (en) * 1999-05-19 2003-07-08 Sybase, Inc. Database system with methodology for online index rebuild
CN1510579A (zh) * 2002-10-04 2004-07-07 前摄存储器管理的方法和机制
US20120246132A1 (en) * 2011-03-21 2012-09-27 International Business Machines Corporation Managing overflow access records in a database
US20130242425A1 (en) * 2012-03-16 2013-09-19 Toshiba America Electronics Components, Inc. Write reordering in a hybrid disk drive

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7421562B2 (en) * 2004-03-01 2008-09-02 Sybase, Inc. Database system providing methodology for extended memory support
EP1990731B1 (en) * 2006-02-28 2015-05-27 Fujitsu Limited Processor having prefetch function
US7568068B2 (en) * 2006-11-13 2009-07-28 Hitachi Global Storage Technologies Netherlands B. V. Disk drive with cache having volatile and nonvolatile memory
US8892905B2 (en) * 2007-03-21 2014-11-18 Oracle International Corporation Method and apparatus for performing selective encryption/decryption in a data storage system
US7930487B1 (en) * 2007-09-13 2011-04-19 Emc Corporation System and method for providing access control to raw shared devices
US8402226B1 (en) * 2010-06-18 2013-03-19 Emc Corporation Rate proportional cache write-back in a storage server
US20120096226A1 (en) * 2010-10-18 2012-04-19 Thompson Stephen P Two level replacement scheme optimizes for performance, power, and area
US9135123B1 (en) * 2011-12-28 2015-09-15 Emc Corporation Managing global data caches for file system
US9075754B1 (en) * 2011-12-31 2015-07-07 Emc Corporation Managing cache backup and restore
US9021222B1 (en) * 2012-03-28 2015-04-28 Lenovoemc Limited Managing incremental cache backup and restore

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6591269B1 (en) * 1999-05-19 2003-07-08 Sybase, Inc. Database system with methodology for online index rebuild
CN1510579A (zh) * 2002-10-04 2004-07-07 前摄存储器管理的方法和机制
US20120246132A1 (en) * 2011-03-21 2012-09-27 International Business Machines Corporation Managing overflow access records in a database
US20130242425A1 (en) * 2012-03-16 2013-09-19 Toshiba America Electronics Components, Inc. Write reordering in a hybrid disk drive

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108228084A (zh) * 2016-12-21 2018-06-29 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和设备
CN108228084B (zh) * 2016-12-21 2020-10-13 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和设备
US11144414B2 (en) 2016-12-21 2021-10-12 EMC IP Holding Company LLC Method and apparatus for managing storage system
CN106897030A (zh) * 2017-02-28 2017-06-27 郑州云海信息技术有限公司 一种缓存数据管理方法及装置
CN108733518A (zh) * 2017-04-17 2018-11-02 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机可读介质
CN108733518B (zh) * 2017-04-17 2021-07-09 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机可读介质
US11163658B2 (en) 2017-04-17 2021-11-02 EMC IP Holding Company LLC Methods, devices and computer readable mediums for managing storage system
CN109032970A (zh) * 2018-06-16 2018-12-18 温州职业技术学院 一种基于lru算法的动态缓存方法

Also Published As

Publication number Publication date
CN104503923B (zh) 2017-08-11
US20160147601A1 (en) 2016-05-26
US9626247B2 (en) 2017-04-18

Similar Documents

Publication Publication Date Title
CN104503923A (zh) 一种非对称磁盘阵列高速缓存调度方法
US9189335B2 (en) Fast data recovery from HDD failure
US6434666B1 (en) Memory control apparatus and method for storing data in a selected cache memory based on whether a group or slot number is odd or even
US9836419B2 (en) Efficient data movement within file system volumes
CN108733518B (zh) 用于管理存储系统的方法、设备和计算机可读介质
WO2013175529A1 (en) Storage system and storage control method for using storage area based on secondary storage as cache area
US6378038B1 (en) Method and system for caching data using raid level selection
CN104317736B (zh) 一种分布式文件系统多级缓存实现方法
CN103703440A (zh) 预取用于使更新轨道离台的数据轨道和奇偶校验数据
US20140173186A1 (en) Journaling RAID System
CN106066890B (zh) 一种分布式高性能数据库一体机系统
CN107250975A (zh) 数据存储系统和数据存储方法
CN103345368B (zh) 一种在缓冲存储器中缓存数据的方法
CN102150137A (zh) 用于改善性能的raid卷和驱动器组之间松耦合
JP4261532B2 (ja) 論理ディスク管理方法及び仮想化装置
CN105808157A (zh) 存储架构的创建方法、存储访问方法和存储系统
CN105897859A (zh) 一种存储系统
US7979632B2 (en) Storage system including a fast storage device for storing redundant data
CN105988727A (zh) 一种基于raid的存储方法和存储装置
US8769195B2 (en) Storage apparatus and storage apparatus control method
US20120297133A1 (en) Methods and systems of distributing raid io load across multiple processors
CN105094696B (zh) 基于raid1和raid4混合结构转换过程数据可靠性保证方法及装置
CN104182359A (zh) 一种缓存分配方法及装置
CN108334457B (zh) 一种io处理方法及装置
CN102436356B (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