CN109697033B - 瓦记录磁盘感知的存储缓存方法及系统 - Google Patents

瓦记录磁盘感知的存储缓存方法及系统 Download PDF

Info

Publication number
CN109697033B
CN109697033B CN201811558048.9A CN201811558048A CN109697033B CN 109697033 B CN109697033 B CN 109697033B CN 201811558048 A CN201811558048 A CN 201811558048A CN 109697033 B CN109697033 B CN 109697033B
Authority
CN
China
Prior art keywords
request
cache
block
write
disk
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
Application number
CN201811558048.9A
Other languages
English (en)
Other versions
CN109697033A (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.)
National University of Defense Technology
Original Assignee
National University of Defense 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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201811558048.9A priority Critical patent/CN109697033B/zh
Publication of CN109697033A publication Critical patent/CN109697033A/zh
Application granted granted Critical
Publication of CN109697033B publication Critical patent/CN109697033B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/0656Data buffering arrangements
    • 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/068Hybrid storage device

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

本发明公开了一种瓦记录磁盘感知的存储缓存方法及系统,实施步骤包括预先设置数据块缓存、标识缓存;接收访问请求并切分为读块请求,如果读块请求在数据块缓存中命中,则从固态盘中返回读取数据,否则从HA‑SMR区域中读取数据;针对顺序写请求直接写入HA‑SMR区域;针对非顺序写请求切分为写块请求并检测是否命中,命中则写入固态盘。未命中则根据目标HA‑SMR区域的状态决定写入位置,为顺序区域状态则写入固态盘,否则写入瓦记录磁盘并缓存其标识。本发明利用HA‑SMR磁盘的主机感知特性在缓存准入阶段准确识别对瓦记录磁盘的顺序写请求和无害非顺序写请求,并将这些请求直接写入瓦记录磁盘,从而减少对固态盘的写入量。

Description

瓦记录磁盘感知的存储缓存方法及系统
技术领域
本发明涉及混合存储技术,具体涉及一种由固态盘和瓦记录磁盘构成的缓存式混合存储系统存储缓存方法。
背景技术
在基于固态盘和瓦记录磁盘的缓存式混合存储系统设计中,存储缓存技术使用固态盘作为主存和磁盘之间的大容量非易失性存储缓存来构建高成本效益的缓存式混合存储系统。存储缓存技术以块为基本单位对固态盘中的数据进行管理,主要包括缓存准入算法和缓存替换算法等。存储缓存技术通过缓存映射表记录磁盘中的块是否被缓存在固态盘中。缓存准入策略负责监视指向磁盘的I/O请求,并根据各数据块的访问特性选择性的准入磁盘中的部分数据块到固态盘中。缓存替换策略在固态盘空间不足的情况下选择一些数据块替换出固态盘,以便为后续频繁访问的数据块提供缓存空间。
闪存固态盘的使用寿命随着写入数据量的增加而缩短。为了保护固态盘的使用寿命,存储缓存技术需要在不影响存储系统整体性能的前提下尽可能减少对固态盘的写入量。
叠瓦式磁记录(Shingled Magnetic Recording)技术是一种通过部分重叠相邻磁道提升磁盘面密度(Areal Density)的新型磁记录技术。叠瓦式磁记录技术不需要改变现有的磁头技术和磁盘的生产方法,只需对磁盘进行较小的改动和固件升级就可以明显的提升磁盘内磁道密度(Tracks Per Inch)。叠瓦式磁记录技术采用读修改写RMW(Read-Modify-Write)的方式对磁盘内的数据进行更新,以避免在对某一磁道上的数据进行更新时相邻磁道中的有效数据被磁头覆盖。读修改写操作会在磁盘内部引入严重的写放大问题,导致磁盘在非顺序写请求密集负载下性能表现较差。与当前主流磁盘中采用的垂直磁记录(Perpendicular Magnetic Recording)技术相比,叠瓦式磁记录技术可以为磁盘提供相似的顺序读写性能和非顺序读性能。减少非顺序写请求对磁盘性能的影响是叠瓦式磁记录技术面临的主要挑战。
如图1所示,主机感知型瓦记录磁盘(简称为HA-SMR磁盘)内部集成了介质缓存、传统磁记录区域、顺序写首选区域。瓦记录转换层STL(Shingle Translation Layer)是HA-SMR磁盘内的固件,集合了对介质缓存中数据进行管理的各类算法。
HA-SMR磁盘将其存储空间划分为256MB大小的区域。采用叠瓦式磁记录技术的顺序写首选区域组成了HA-SMR磁盘的主要存储空间。本发明只面向HA-SMR磁盘中的顺序写首选区域,并简称为HA-SMR区域。
每个HA-SMR区域有一个写指针指向该区域中下一个可以写入的块地址。每个HA-SMR区域的状态可以是顺序状态或者非顺序状态。HA-SMR磁盘只接收指向顺序区域的写指针位置的写请求作为顺序写请求。如图2所示,HA-SMR磁盘对顺序写请求采用本地更新的写入方式。HA-SMR磁盘将指向非顺序区域的所有写请求和指向顺序区域非写指针位置的写请求定义为非顺序写请求。如图3所示,对于一个被非顺序写入的HA-SMR区域,HA-SMR磁盘会将其状态保持在非顺序状态,并将其写指针标记为无效。HA-SMR磁盘对非顺序写请求采用异地更新方式,将非顺序写请求缓存到介质缓存中。STL会触发介质缓存清除操作,将缓存的数据按照RMW的方式写回到各自的区域中。一个HA-SMR区域在介质缓存中的数据被写回到该区域后,HA-SMR磁盘将该区域变回顺序状态,并更新写指针位置。HA-SMR磁盘可以向上层提供基于块的通用数据存取接口和基于区域的访问接口。HA-SMR磁盘的区域访问接口可以使主机利用HA-SMR区域的实时信息优化系统软件,更好的解决非顺序写请求对HA-SMR磁盘性能的影响。
综上可知,瓦记录磁盘在非顺序写请求的干扰下会出现性能急剧下降的问题。利用固态盘作为瓦记录磁盘的非顺序写缓存可以弱化瓦记录磁盘性能急剧降低的现象。然而,由固态盘替瓦记录磁盘承担非顺序写请求会对固态盘寿命造成严重影响。因此,如何克服上述技术问题来实现缓存式混合存储系统存储缓存,已经成为一项亟待解决的关键技术问题。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种瓦记录磁盘感知的存储缓存方法及系统,本发明利用HA-SMR磁盘的主机感知特性在缓存准入阶段准确识别对瓦记录磁盘的顺序写请求和无害非顺序写请求,并将这些请求直接写入瓦记录磁盘,从而减少对固态盘的写入量。
为了解决上述技术问题,本发明采用的技术方案为:
一种瓦记录磁盘感知的存储缓存方法,实施步骤包括:
1)预先在缓存式混合存储系统中设置用来存放被准入到固态盘中的数据块的数据块缓存R-Cache、用于记录待决定缓存到固态盘中数据块的块标识符的标识缓存G-Cache;
2)接收针对缓存式混合存储系统的访问请求,如果访问请求为读请求,则跳转执行步骤3);如果访问请求为写请求,则跳转执行步骤4);
3)将读请求切分为固定大小的读块请求,针对每一个读块请求,依次检查每个读块请求在数据块缓存R-Cache中是否命中,如果在数据块缓存R-Cache中命中,则直接从固态盘中返回所需要读取的数据,完成该读块请求;如果未在数据块缓存R-Cache中命中,则从所指向的HA-SMR区域中读取所访问的数据,完成该读块请求;结束并退出;
4)利用HA-SMR磁盘的主机感知特性检测写请求为顺序写请求还是非顺序写请求,如果写请求为顺序写请求,跳转执行步骤5);如果写请求为非顺序写请求,跳转执行步骤6);
5)将写请求直接写入到HA-SMR区域中;结束并退出;
6)将写请求切分为固定大小的写块请求,针对每一个写块请求,按照先数据块缓存R-Cache、后标识缓存G-Cache的顺序检测写块请求在缓存中是否命中,如果命中数据块缓存R-Cache或标识缓存G-Cache则将写块请求写入固态盘并移动到数据块缓存R-Cache的最近使用端;如果均未命中且写块请求的目标HA-SMR区域的状态为顺序状态,则将写块请求写入固态盘并移动到数据块缓存R-Cache的最近使用端,否则将写块请求标记为无害非顺序写请求,将写块请求写入HA-SMR磁盘并将块标识符记录到标识缓存G-Cache的最近使用端;结束并退出。
优选地,步骤4)的详细步骤包括:如果写请求指向一个处于顺序状态的HA-SMR区域的写指针位置,识别该写请求为对HA-SMR磁盘的顺序写请求,跳转执行步骤5);如果写请求指向顺序状态区域的非写指针位置或者非顺序状态区域的任意位置,将该写请求识别为对HA-SMR磁盘的非顺序写请求,跳转执行步骤6)。
优选地,步骤6)的详细步骤包括:
6.1)将写请求切分为固定大小的写块请求,遍历选择一个写块请求作为当前写块请求;
6.2)判断当前写块请求是否在数据块缓存R-Cache中命中,如果在数据块缓存R-Cache中命中,则将写块请求写入固态盘并移动到数据块缓存R-Cache的最近使用端,结束当前写块请求的处理并跳转执行步骤6.5);否则跳转执行步骤6.3);
6.3)判断当前写块请求是否在标识缓存G-Cache中命中,如果在标识缓存G-Cache中命中,则识别当前写块请求的目标数据块为新的热数据块,将当前写块请求写入固态盘并移动到数据块缓存R-Cache的最近使用端,结束当前写块请求的处理并跳转执行步骤6.5);否则跳转执行步骤6.4);
6.4)将当前写块请求识别为对HA-SMR磁盘的一次性访问块,读取当前写块请求所指向的HA-SMR区域的状态,如果指向的HA-SMR区域的状态为顺序状态,则将写块请求写入固态盘并移动到数据块缓存R-Cache的最近使用端,结束当前写块请求的处理并跳转执行步骤6.5);如果指向的HA-SMR区域的状态为非顺序状态,当前写块请求为无害非顺序写请求,将当前写块请求直接写入到HA-SMR磁盘中,准入这个当前写块请求的标识符到标识缓存G-Cache中并插入到最近使用端,结束当前写块请求的处理并跳转执行步骤6.5);
6.5)判断写请求切分得到的写块请求是否已经遍历完毕,如果尚未遍历完毕,则遍历选择一个下写块请求作为当前写块请求并跳转执行步骤6.2);否则,写请求处理完毕,退出。
优选地,步骤6.3)中将当前写块请求写入固态盘并移动到数据块缓存R-Cache的最近使用端时,还包括将当前写块请求从标识缓存G-Cache中删除的步骤。
本发明还提供一种瓦记录磁盘感知的存储缓存系统,包括由瓦记录磁盘和固态盘构成的缓存式混合存储系统,所述缓存式混合存储系统被编程以执行本发明前述瓦记录磁盘感知的存储缓存方法的步骤。
和现有技术相比,本发明具有下述优点:本发明基于瓦记录磁盘感知的缓存式混合存储系统存储缓存方法利用HA-SMR磁盘的主机感知特性在缓存准入阶段准确识别对瓦记录磁盘的顺序写请求和无害非顺序写请求,并将这些请求直接写入瓦记录磁盘,从而减少对固态盘的写入量。
附图说明
图1为现有HA-SMR磁盘的内部结构示意图。
图2为现有HA-SMR磁盘的顺序写请求的处理方式。
图3为现有HA-SMR磁盘的非顺序写请求的处理方式。
图4为本发明实施例方法的基本原理示意图。
图5为本发明实施例的混合存储系统内部机构示意图
图6为本发明实施例的读请求处理流程图。
图7为本发明实施例的写请求处理流程图。
具体实施方式
下文将以固态盘和瓦记录磁盘构建的分层式混合存储系统为例,对本发明瓦记录磁盘感知的存储缓存方法及系统进行进一步的详细说明。
如图4所示,本实施例瓦记录磁盘感知的存储缓存方法的实施步骤包括:
1)预先在缓存式混合存储系统中设置用来存放被准入到固态盘中的数据块的数据块缓存R-Cache、用于记录待决定缓存到固态盘中数据块的块标识符的标识缓存G-Cache;
2)接收针对缓存式混合存储系统的访问请求,如果访问请求为读请求,则跳转执行步骤3);如果访问请求为写请求,则跳转执行步骤4);
3)将读请求切分为固定大小的读块请求,针对每一个读块请求,依次检查每个读块请求在数据块缓存R-Cache中是否命中,如果在数据块缓存R-Cache中命中,则直接从固态盘中返回所需要读取的数据,完成该读块请求;如果未在数据块缓存R-Cache中命中,则从所指向的HA-SMR区域中读取所访问的数据,完成该读块请求;结束并退出;
4)利用HA-SMR磁盘的主机感知特性检测写请求为顺序写请求还是非顺序写请求,如果写请求为顺序写请求,跳转执行步骤5);如果写请求为非顺序写请求,跳转执行步骤6);
5)将写请求直接写入到HA-SMR区域中;结束并退出;
6)将写请求切分为固定大小的写块请求,针对每一个写块请求,按照先数据块缓存R-Cache、后标识缓存G-Cache的顺序检测写块请求在缓存中是否命中,如果命中数据块缓存R-Cache或标识缓存G-Cache则将写块请求写入固态盘并移动到数据块缓存R-Cache的最近使用端;如果均未命中且写块请求的目标HA-SMR区域的状态为顺序状态,则将写块请求写入固态盘并移动到数据块缓存R-Cache的最近使用端,否则将写块请求标记为无害非顺序写请求,将写块请求写入HA-SMR磁盘并将块标识符记录到标识缓存G-Cache的最近使用端;结束并退出。
如图5所示,本实施例中预先在缓存式混合存储系统中设置用来存放被准入到固态盘中的数据块的数据块缓存R-Cache(Real-Cache)、用于记录待决定缓存到固态盘中数据块的块标识符的标识缓存G-Cache(Ghost-Cache),数据块缓存R-Cache和标识缓存G-Cache组成完整的存储缓存空间。数据块缓存R-Cache是用来存放被准入到固态盘中的数据块的物理存储空间。数据块缓存R-Cache中缓存的块可以是热数据块,也可以是会对底层HA-SMR磁盘性能产生较大影响的冷数据块。标识缓存G-Cache是在内存中维持的一个用来记录块标识符的数据结构,不需要占用固态盘存储空间。标识缓存G-Cache中记录的块被认为是不会对HA-SMR磁盘性能产生较大影响的块,但是需要对这些块的访问热度做进一步检测,以决定是否需要将这些块缓存到固态盘中。本发明只用固态盘缓存负载中的写请求。因此,数据块缓存R-Cache中的所有块均为脏块。脏块的最新数据存放在固态盘中,HA-SMR磁盘中对应的数据已经失效。将脏块替换出固态盘时,需要先将脏块在固态盘中的数据写回HA-SMR磁盘中。存储缓存技术主要有缓存准入策略和缓存替换策略两部分组成。本实施例基于瓦记录磁盘感知的缓存式混合存储系统存储缓存方法主要关注缓存准入策略。现有的缓存替换策略与本发明是互补(互相可替代)的,均可作为数据块缓存R-Cache和标识缓存G-Cache的缓存替换策略。
新的读请求到达时,将被切分为固定大小的读块请求,然后依次检查每个块在数据块缓存R-Cache中是否命中,具体的处理流程如图6所示。如果一个读块请求在数据块缓存R-Cache中命中,则直接从固态盘中返回所需要读取的数据,完成该读块请求。如果未在数据块缓存R-Cache中命中,则从所指向的HA-SMR区域中读取所访问的数据,完成该读块请求。读请求处理过程中不对数据块缓存R-Cache和标识缓存G-Cache做任何改变。
新的写请求到达时,首先利用HA-SMR磁盘的主机感知特性检测其是否为对HA-SMR磁盘的顺序写请求。如果该写请求指向一个处于顺序状态的HA-SMR区域的写指针位置,识别该写请求为对HA-SMR磁盘的顺序写请求,并将该写请求直接写入到HA-SMR区域中。顺序写请求感知的缓存准入策略可以在减少固态盘写入量的同时充分利用HA-SMR磁盘的顺序访问性能。本实施例中,步骤4)的详细步骤包括:如果写请求指向一个处于顺序状态的HA-SMR区域的写指针位置,识别该写请求为对HA-SMR磁盘的顺序写请求,跳转执行步骤5);如果写请求指向顺序状态区域的非写指针位置或者非顺序状态区域的任意位置,将该写请求识别为对HA-SMR磁盘的非顺序写请求,跳转执行步骤6)。
如果写请求指向顺序状态区域的非写指针位置或者非顺序状态区域的任意位置,将该写请求识别为对HA-SMR磁盘的非顺序写请求。切分该非顺序写请求为固定大小的写块请求,按照先数据块缓存R-Cache、后标识缓存G-Cache的顺序检测每个块在缓存中是否命中,具体的处理流程如图7所示。如图7所示,步骤6)的详细步骤包括:
6.1)将写请求切分为固定大小的写块请求,遍历选择一个写块请求作为当前写块请求;
6.2)判断当前写块请求是否在数据块缓存R-Cache中命中,如果在数据块缓存R-Cache中命中,则将写块请求写入固态盘并移动到数据块缓存R-Cache的最近使用端,结束当前写块请求的处理并跳转执行步骤6.5);否则跳转执行步骤6.3);
6.3)判断当前写块请求是否在标识缓存G-Cache中命中,如果在标识缓存G-Cache中命中,则识别当前写块请求的目标数据块为新的热数据块,将当前写块请求写入固态盘并移动到数据块缓存R-Cache的最近使用端,结束当前写块请求的处理并跳转执行步骤6.5);否则跳转执行步骤6.4);
6.4)将当前写块请求识别为对HA-SMR磁盘的一次性访问块,读取当前写块请求所指向的HA-SMR区域的状态,如果指向的HA-SMR区域的状态为顺序状态,则将写块请求写入固态盘并移动到数据块缓存R-Cache的最近使用端,结束当前写块请求的处理并跳转执行步骤6.5);如果指向的HA-SMR区域的状态为非顺序状态,当前写块请求为无害非顺序写请求,将当前写块请求直接写入到HA-SMR磁盘中,准入这个当前写块请求的标识符到标识缓存G-Cache中并插入到最近使用端,结束当前写块请求的处理并跳转执行步骤6.5);
6.5)判断写请求切分得到的写块请求是否已经遍历完毕,如果尚未遍历完毕,则遍历选择一个下写块请求作为当前写块请求并跳转执行步骤6.2);否则,写请求处理完毕,退出。
本实施例中,步骤6.3)中将当前写块请求写入固态盘并移动到数据块缓存R-Cache的最近使用端时,还包括将当前写块请求从标识缓存G-Cache中删除的步骤。
参见图7,对于写请求为非顺序写请求而言:
如果这个块请求在数据块缓存R-Cache中缓存命中,则表明这个块在不久以后被再次更新的可能性极大,应该优先缓存到固态盘中。将该块请求直接写入固态盘,同时移动这个块到数据块缓存R-Cache的最近使用(Most Recently Used)端,完成该非顺序写块请求操作。
如果这个块请求没有在数据块缓存R-Cache中命中,继续检查这个块的标识符是否记录在标识缓存G-Cache中。如果这个块的标识符记录在标识缓存G-Cache中,则表明这个块在不就之前被访问过,并预测这个块在不久以后就会被再次更新。识别该块为新的热数据块,并将该块请求写入固态盘,同时插入这个块到数据块缓存R-Cache的最近使用端。将这个块的标识符从标识缓存G-Cache中移除,完成该非顺序写块请求操作。
如果这个块的标识符没有记录在标识缓存G-Cache中,将该块请求识别为对HA-SMR磁盘的一次性访问块。根据这个块的访问特性来决定这个块是否应该缓存到固态盘中。首先读取该非顺序写块请求所指向的HA-SMR区域的状态。如果其指向的HA-SMR区域为顺序区域,则表明将这个非顺序写块请求直接写入HA-SMR磁盘会对造成目标HA-SMR区域状态发生变化,并会对HA-SMR磁盘引入严重的写放大问题。具体表现为其所指向的HA-SMR区域将会由顺序区域变为非顺序区域,写指针变为无效状态。这个区域在通过RMW操作将其有效数据从介质缓存中清除之前,所有指向该区域的写请求都会被识别为非顺序写请求,并被重定向到介质缓存中。为了避免此情况的发生,将该非顺序写块请求准入到固态盘中,同时将这个块插入到数据块缓存R-Cache的最近使用端,完成该非顺序写块请求操作。
如果一次性访问块所指向的区域当前状态为非顺序状态,则表明该区域中部分块的有效数据正缓存在HA-SMR磁盘的介质缓存中,并等待HA-SMR磁盘触发RMW操作将这些数据从介质缓存中清除并最终写入该区域中。该一次性访问块可以在写入介质缓存后不对HA-SMR磁盘引入新的RMW操作。识别这种指向非顺序区域的一次性访问非顺序写块请求为无害非顺序写请求。将这些无害非顺序写请求直接写入到HA-SMR磁盘中,准入这个块的标识符到标识缓存G-Cache中并插入到最近使用端,完成该非顺序写块请求操作。
参见图5,本实施例还提供一种瓦记录磁盘感知的存储缓存系统,包括由瓦记录磁盘和固态盘构成的缓存式混合存储系统,该缓存式混合存储系统被编程以执行本实施例前述瓦记录磁盘感知的存储缓存方法的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (4)

1.一种瓦记录磁盘感知的存储缓存方法,其特征在于实施步骤包括:
1)预先在缓存式混合存储系统中设置用来存放被准入到固态盘中的数据块的数据块缓存R-Cache、用于记录待决定缓存到固态盘中数据块的块标识符的标识缓存G-Cache;
2)接收针对缓存式混合存储系统的访问请求,如果访问请求为读请求,则跳转执行步骤3);如果访问请求为写请求,则跳转执行步骤4);
3)将读请求切分为固定大小的读块请求,针对每一个读块请求,依次检查每个读块请求在数据块缓存R-Cache中是否命中,如果在数据块缓存R-Cache中命中,则直接从固态盘中返回所需要读取的数据,完成该读块请求;如果未在数据块缓存R-Cache中命中,则从所指向的HA-SMR区域中读取所访问的数据,完成该读块请求;结束并退出;
4)利用HA-SMR磁盘的主机感知特性检测写请求为顺序写请求还是非顺序写请求,如果写请求为顺序写请求,跳转执行步骤5);如果写请求为非顺序写请求,跳转执行步骤6);
5)将写请求直接写入到HA-SMR区域中;结束并退出;
6)将写请求切分为固定大小的写块请求,针对每一个写块请求,按照先数据块缓存R-Cache、后标识缓存G-Cache的顺序检测写块请求在缓存中是否命中,如果命中数据块缓存R-Cache或标识缓存G-Cache则将写块请求写入固态盘并移动到数据块缓存R-Cache的最近使用端;如果均未命中且写块请求的目标HA-SMR区域的状态为顺序状态,则将写块请求写入固态盘并移动到数据块缓存R-Cache的最近使用端,否则将写块请求标记为无害非顺序写请求,将写块请求写入HA-SMR磁盘并将块标识符记录到标识缓存G-Cache的最近使用端;结束并退出;
步骤6)的详细步骤包括:
6.1)将写请求切分为固定大小的写块请求,遍历选择一个写块请求作为当前写块请求;
6.2)判断当前写块请求是否在数据块缓存R-Cache中命中,如果在数据块缓存R-Cache中命中,则将写块请求写入固态盘并移动到数据块缓存R-Cache的最近使用端,结束当前写块请求的处理并跳转执行步骤6.5);否则跳转执行步骤6.3);
6.3)判断当前写块请求是否在标识缓存G-Cache中命中,如果在标识缓存G-Cache中命中,则识别当前写块请求的目标数据块为新的热数据块,将当前写块请求写入固态盘并移动到数据块缓存R-Cache的最近使用端,结束当前写块请求的处理并跳转执行步骤6.5);否则跳转执行步骤6.4);
6.4)将当前写块请求识别为对HA-SMR磁盘的一次性访问块,读取当前写块请求所指向的HA-SMR区域的状态,如果指向的HA-SMR区域的状态为顺序状态,则将写块请求写入固态盘并移动到数据块缓存R-Cache的最近使用端,结束当前写块请求的处理并跳转执行步骤6.5);如果指向的HA-SMR区域的状态为非顺序状态,当前写块请求为无害非顺序写请求,将当前写块请求直接写入到HA-SMR磁盘中,准入这个当前写块请求的标识符到标识缓存G-Cache中并插入到最近使用端,结束当前写块请求的处理并跳转执行步骤6.5);
6.5)判断写请求切分得到的写块请求是否已经遍历完毕,如果尚未遍历完毕,则遍历选择一个下写块请求作为当前写块请求并跳转执行步骤6.2);否则,写请求处理完毕,退出。
2.根据权利要求1所述的瓦记录磁盘感知的存储缓存方法,其特征在于,步骤4)的详细步骤包括:如果写请求指向一个处于顺序状态的HA-SMR区域的写指针位置,识别该写请求为对HA-SMR磁盘的顺序写请求,跳转执行步骤5);如果写请求指向顺序状态区域的非写指针位置或者非顺序状态区域的任意位置,将该写请求识别为对HA-SMR磁盘的非顺序写请求,跳转执行步骤6)。
3.根据权利要求1所述的瓦记录磁盘感知的存储缓存方法,其特征在于,步骤6.3)中将当前写块请求写入固态盘并移动到数据块缓存R-Cache的最近使用端时,还包括将当前写块请求从标识缓存G-Cache中删除的步骤。
4.一种瓦记录磁盘感知的存储缓存系统,包括由瓦记录磁盘和固态盘构成的缓存式混合存储系统,其特征在于:所述缓存式混合存储系统被编程以执行权利要求1~3中任意一项所述瓦记录磁盘感知的存储缓存方法的步骤。
CN201811558048.9A 2018-12-19 2018-12-19 瓦记录磁盘感知的存储缓存方法及系统 Active CN109697033B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811558048.9A CN109697033B (zh) 2018-12-19 2018-12-19 瓦记录磁盘感知的存储缓存方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811558048.9A CN109697033B (zh) 2018-12-19 2018-12-19 瓦记录磁盘感知的存储缓存方法及系统

Publications (2)

Publication Number Publication Date
CN109697033A CN109697033A (zh) 2019-04-30
CN109697033B true CN109697033B (zh) 2022-01-07

Family

ID=66231830

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811558048.9A Active CN109697033B (zh) 2018-12-19 2018-12-19 瓦记录磁盘感知的存储缓存方法及系统

Country Status (1)

Country Link
CN (1) CN109697033B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110209350B (zh) * 2019-05-10 2020-07-10 华中科技大学 一种混合存储架构hpc系统中应用i/o请求的动态调度方法
CN111026329B (zh) * 2019-11-18 2021-04-20 华中科技大学 基于主机管理瓦记录磁盘的键值存储系统及数据处理方法
JP7179794B2 (ja) * 2020-03-03 2022-11-29 株式会社東芝 磁気ディスク装置、および磁気ディスク装置のメモリ管理方法
CN111580752B (zh) * 2020-04-28 2023-09-26 中国人民大学 一种数据存储方法、设备、计算机程序及存储介质
CN114327297B (zh) * 2021-12-28 2024-03-19 华中科技大学 一种交错式记录磁盘的数据请求处理方法、设备及系统
CN114115752B (zh) * 2022-01-27 2022-06-07 浙江大华技术股份有限公司 一种数据存储方法及计算机设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104298622A (zh) * 2013-07-17 2015-01-21 飞思卡尔半导体公司 使用fifo的最近最少使用的高速缓存替代实现
CN105389135A (zh) * 2015-12-11 2016-03-09 华中科技大学 一种固态盘内部缓存管理方法
CN105955664A (zh) * 2016-04-29 2016-09-21 华中科技大学 一种基于段结构的瓦记录转换层的读写方法
CN106293990A (zh) * 2016-08-10 2017-01-04 华中科技大学 一种基于批量写校验的独立磁盘冗余阵列方法
US10061666B1 (en) * 2011-12-30 2018-08-28 Emc International Company Method and apparatus for adding a director to storage with network-based replication without data resynchronization

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2508141C (en) * 2002-12-02 2009-11-03 Silverbrook Research Pty Ltd Dead nozzle compensation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10061666B1 (en) * 2011-12-30 2018-08-28 Emc International Company Method and apparatus for adding a director to storage with network-based replication without data resynchronization
CN104298622A (zh) * 2013-07-17 2015-01-21 飞思卡尔半导体公司 使用fifo的最近最少使用的高速缓存替代实现
CN105389135A (zh) * 2015-12-11 2016-03-09 华中科技大学 一种固态盘内部缓存管理方法
CN105955664A (zh) * 2016-04-29 2016-09-21 华中科技大学 一种基于段结构的瓦记录转换层的读写方法
CN106293990A (zh) * 2016-08-10 2017-01-04 华中科技大学 一种基于批量写校验的独立磁盘冗余阵列方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《固态盘写性能优化技术研究》;宋振龙;《第十七届计算机工程与工艺年会暨第三届微处理器技术论坛论文集(上册)》;20130720;全文 *
《闪存阵列的可重构策略》;宋振龙;《国防科技大学学报》;20150228;全文 *

Also Published As

Publication number Publication date
CN109697033A (zh) 2019-04-30

Similar Documents

Publication Publication Date Title
CN109697033B (zh) 瓦记录磁盘感知的存储缓存方法及系统
US8521972B1 (en) System and method for optimizing garbage collection in data storage
US9507538B2 (en) File management system for devices containing solid-state media
US7568068B2 (en) Disk drive with cache having volatile and nonvolatile memory
CN108762664B (zh) 一种固态硬盘页级缓存区管理方法
CN101354681B (zh) 存储器系统、非易失性存储器的磨损均衡方法及装置
US8341339B1 (en) Hybrid drive garbage collecting a non-volatile semiconductor memory by migrating valid data to a disk
CN106920561B (zh) 磁盘装置及写入方法
US20090103203A1 (en) Recording apparatus and control circuit
US9804786B2 (en) Sector translation layer for hard disk drives
US9563397B1 (en) Disk drive using non-volatile cache when garbage collecting log structured writes
CN103631536B (zh) 一种利用ssd的无效数据优化raid5/6写性能的方法
CN105955664B (zh) 一种基于段结构的瓦记录转换层的读写方法
US9189392B1 (en) Opportunistic defragmentation during garbage collection
CN110674056A (zh) 一种垃圾回收方法及装置
CN105975215A (zh) 一种基于Ondemand算法的STL映射表管理方法
US8977816B2 (en) Cache and disk management method, and a controller using the method
US20150205538A1 (en) Storage apparatus and method for selecting storage area where data is written
JP2015082240A (ja) ストレージ装置、キャッシュコントローラ、及び不揮発性記憶媒体にデータを書き込む方法
CN111722797B (zh) 面向ssd与ha-smr混合存储系统数据管理方法、存储介质及设备
CN110321081B (zh) 一种闪存读缓存的方法及其系统
US20140258591A1 (en) Data storage and retrieval in a hybrid drive
US11275684B1 (en) Media read cache
CN116540950B (zh) 一种存储器件及其写入数据的控制方法
CN115469815B (zh) 提高闪存可靠性的缓存管理方法、装置、设备和储存介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant