CN104503923B - 一种非对称磁盘阵列高速缓存调度方法 - Google Patents
一种非对称磁盘阵列高速缓存调度方法 Download PDFInfo
- Publication number
- CN104503923B CN104503923B CN201410674375.6A CN201410674375A CN104503923B CN 104503923 B CN104503923 B CN 104503923B CN 201410674375 A CN201410674375 A CN 201410674375A CN 104503923 B CN104503923 B CN 104503923B
- Authority
- CN
- China
- Prior art keywords
- page
- disk
- sacrificial plate
- memory buffers
- lru
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1088—Reconstruction on already foreseen single or plurality of spare disks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2056—Error 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/2058—Error 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
-
- 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
- G06F12/0871—Allocation or management of cache space
-
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/122—Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
-
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/128—Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
-
- 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/12—Replacement control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/855—Details of asynchronous mirroring using a journal to transfer not-yet-mirrored changes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/604—Details relating to cache allocation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
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,如果在Buffer Cache中命中,则直接读写返回;如果不命中,会对磁盘产生用户I/O流,用户I/O流如图1中实线箭头所示。Buffer Cache管理模块管理Buffer Cache中的页(page),包括替换、刷新等。在本发明中,通过修改Buffer Cache的管理策略,实现一种不对称的分配方式。如图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 frequently used)、LRFU(least recently/frequently used)、2Q(Two Queue)、MQ(Multi-Queue)、LIRS(LowInter-reference Recency Set)、ARC(Adaptive Replacement Cache)等结合使用,其中冷页面的选取与上述具体算法中缓存页的权重计算方法有关。
本发明提供一种非对称磁盘阵列高速缓存调度方法,通过减少牺牲盘上的缓存大小,优先保留重构盘以及失效盘中的缓存页,减少了对于重构盘以及失效盘的访问次数,从而减少了I/O请求次数,加速了失效盘的重构速度,以及减少用户I/O请求的响应时间,提高存储系统的可用性、可靠性及系统的性能。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种非对称磁盘阵列高速缓存调度方法,其特征在于,包括:
步骤1 对上层到达的访问判断在存储缓存是否命中,是则执行步骤7,否则执行步骤2;
步骤2 判断所述存储缓存是否为满,是则执行步骤3,否则执行步骤5;
步骤3 判断牺牲盘的页面数是否高于阈值,是则执行步骤4,否则执行步骤6,其中所述牺牲盘为不参与重构的磁盘;
步骤4 取所述牺牲盘上的冷页面,进行替换;所述冷页面是指LRU链表的链尾,或者牺牲盘上最近最少使用的页面;
步骤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 取所述牺牲盘上的冷页面,进行替换;所述冷页面是指LRU链表的链尾,或者牺牲盘上最近最少使用的页面;
步骤5 在所述存储缓存中取一页空页面,将用户请求的数据缓存到所述空页面中;
步骤6 取所述存储缓存所有页面中的冷页面,进行替换;
步骤7 读写数据,更改页面的位置或状态。
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 CN104503923A (zh) | 2015-04-08 |
CN104503923B true 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) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9940249B2 (en) * | 2015-11-09 | 2018-04-10 | International Business Machines Corporation | Implementing hardware accelerator for storage write cache management with cache line manipulation |
CN108228084B (zh) * | 2016-12-21 | 2020-10-13 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法和设备 |
CN106897030A (zh) * | 2017-02-28 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种缓存数据管理方法及装置 |
CN108733518B (zh) | 2017-04-17 | 2021-07-09 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机可读介质 |
CN107402890B (zh) * | 2017-07-24 | 2020-10-02 | 华中科技大学 | 一种基于固态盘阵列和缓存的数据处理方法及系统 |
CN109032970A (zh) * | 2018-06-16 | 2018-12-18 | 温州职业技术学院 | 一种基于lru算法的动态缓存方法 |
KR102565920B1 (ko) * | 2018-07-18 | 2023-08-11 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
CN112764664B (zh) * | 2019-10-21 | 2024-08-16 | 深圳市茁壮网络股份有限公司 | 一种磁盘缓存方法及装置 |
CN114564303B (zh) * | 2022-01-29 | 2024-06-07 | 苏州浪潮智能科技有限公司 | 一种自适应重构速度控制的方法、系统、设备和存储介质 |
Citations (2)
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 | 前摄存储器管理的方法和机制 |
Family Cites Families (12)
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 |
JP4574712B2 (ja) * | 2006-02-28 | 2010-11-04 | 富士通株式会社 | 演算処理装置、情報処理装置及び制御方法 |
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 |
US9043294B2 (en) * | 2011-03-21 | 2015-05-26 | International Business Machines Corporation | Managing overflow access records in a database |
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 |
US20130242425A1 (en) * | 2012-03-16 | 2013-09-19 | Toshiba America Electronics Components, Inc. | Write reordering in a hybrid disk drive |
US9021222B1 (en) * | 2012-03-28 | 2015-04-28 | Lenovoemc Limited | Managing incremental cache backup and restore |
-
2014
- 2014-11-21 CN CN201410674375.6A patent/CN104503923B/zh active Active
-
2015
- 2015-06-23 US US14/746,869 patent/US9626247B2/en not_active Expired - Fee Related
Patent Citations (2)
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 | 前摄存储器管理的方法和机制 |
Also Published As
Publication number | Publication date |
---|---|
CN104503923A (zh) | 2015-04-08 |
US9626247B2 (en) | 2017-04-18 |
US20160147601A1 (en) | 2016-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104503923B (zh) | 一种非对称磁盘阵列高速缓存调度方法 | |
US7904749B2 (en) | Fast data recovery from HDD failure | |
US9836419B2 (en) | Efficient data movement within file system volumes | |
CN103703440B (zh) | 预取用于使更新轨道离台的数据轨道和奇偶校验数据 | |
JP2784430B2 (ja) | ディスク・サブシステム及びそのデータ記憶方法 | |
US6341331B1 (en) | Method and system for managing a raid storage system with cache | |
CN104317736B (zh) | 一种分布式文件系统多级缓存实现方法 | |
US6378038B1 (en) | Method and system for caching data using raid level selection | |
CN107250975A (zh) | 数据存储系统和数据存储方法 | |
CN102023809A (zh) | 存储系统、从存储系统读取数据的方法及写入数据的方法 | |
CN104765575A (zh) | 信息存储处理方法 | |
CN103699336B (zh) | 一种磁盘阵列数据分布与重建方法及系统 | |
JPH06259197A (ja) | アレイ型ディスクシステムの制御方式 | |
CN104484287B (zh) | 一种非易失性缓存实现方法及装置 | |
CN102150137A (zh) | 用于改善性能的raid卷和驱动器组之间松耦合 | |
CN102637147A (zh) | 利用固态硬盘作为计算机写缓存的存储系统以及相应的管理调度方法 | |
CN105988727A (zh) | 一种基于raid的存储方法和存储装置 | |
JP4261532B2 (ja) | 論理ディスク管理方法及び仮想化装置 | |
CN104765574A (zh) | 数据云端存储方法 | |
CN106469123A (zh) | 一种基于nvdimm的写缓存分配、释放方法及其装置 | |
CN114780025B (zh) | 软件raid请求处理方法、控制器及raid存储系统 | |
CN105224473A (zh) | 一种固态硬盘缓存数据的更新方法及装置 | |
CN105094696B (zh) | 基于raid1和raid4混合结构转换过程数据可靠性保证方法及装置 | |
CN107957962A (zh) | 一种面向大图计算高效图划分方法与系统 | |
US6052822A (en) | Fast destaging method using parity engine |
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 |