[发明专利]一种基于段结构的瓦记录转换层的读写方法有效
申请号: | 201610279310.0 | 申请日: | 2016-04-29 |
公开(公告)号: | CN105955664B | 公开(公告)日: | 2018-11-02 |
发明(设计)人: | 万继光;姚婷;罗旦;谭志虎;谢长生 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F12/123 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 赵伟 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于段结构的瓦记录转换层的读写方法,将瓦记录磁盘直接应用到现有的存储系统中,基于段结构的瓦记录转换层进行读写处理;对于地址映射表,采用段内动态块映射的方法,有效的减少了瓦记录磁盘的写放大倍数,提高了磁盘性能;同时,SSTL使用了一种基于最近最久未被访问段的写缓存替换算法来管理瓦记录磁盘中的非易失性缓存NVRAM;本发明提供的这种基于段结构的瓦记录转换层的读写方法,有效的减少了数据写入操作和段整理操作的次数,降低了瓦记录磁盘的写放大倍数,显著的提高了瓦记录磁盘的性能。 | ||
搜索关键词: | 一种 基于 结构 记录 转换 读写 方法 | ||
【主权项】:
1.一种基于段结构的瓦记录转换层的读写方法,其特征在于,包括如下步骤:(1)当瓦记录转换层SSTL接收到读写请求,判断请求类型,若为读请求,进入步骤(2),若为写请求,则进入步骤(7);(2)由SSTL判断读、写缓存中是否存在与请求匹配的内容,若是,则获取请求的数据,并向请求方反馈所述数据;若否,则进入步骤(3);(3)由SSTL获取逻辑段号、逻辑块索引和逻辑区号;(4)以所述逻辑段号作为索引,在地址映射表中获取段转换页;(5)采用所述逻辑块索引从所述段转换页中获取块索引值;(6)获取请求的物理地址PBA=LRN*Sreg+LCI*ST+(LBA mod Sreg)/Sseg*Schk+Noffset;从所述物理地址获取数据,并向请求方反馈所述数据;其中,LRN是指逻辑区号,LCI是指逻辑块索引,Sreg是指区大小,ST是指磁道大小,Sseg是指段大小,Schk是指块大小;LBA mod Sreg是指逻辑块地址对Sreg取余操作;Noffset是指块内偏移地址;(7)由SSTL查找写缓存,判断写缓存中是否存在与请求匹配的内容,若是,由SSTL用拟写入的数据替换缓存中的旧数据;若否,则进入步骤(8);(8)由SSTL查找读缓存,判断读缓存中是否存在与请求匹配的内容,若是,则删除读缓存中的旧数据,并进入步骤(9);若否,则将写请求的数据写入写缓存中,并进入步骤(9);其中,旧数据是指缓存中与写请求对应的地址上存储的数据;(9)判断写缓存是否足够空闲空间,若是,则由SSTL将写请求的数据写入写缓存中;若否,则进入步骤(10);(10)由SSTL采用最近最久未被访问段的写缓存替换算法,选择拟替换出缓存的段;所述最近最久未被访问段的写缓存替换算法,具体如下:(10‑1)由LRU‑S将LRU链表划分为LRU工作链表和LRU替换链表;(10‑2)当收到数据写入请求,而写入请求所对应的数据块不在缓存中时,则将该数据块直接插入到LRU工作链表中;(10‑3)当LRU链表中的数据块被再次访问,将该数据块插入到LRU工作链表的头部;(10‑4)当LRU工作链表已满,而有新的数据插入时,采用新的数据替换LRU工作链表尾部的数据块;将被替换出的数据块插入到LRU替换链表中;(10‑5)将LRU替换链表中的段按照各段所包含的块的数目由少到多依次排序;(10‑6)当LRU替换链表已满,则由LRU‑S把LRU替换链表中包含数据块最多的段写到磁盘;(11)判断磁盘是否有足够的空间容纳拟写入的数据,若是,则将所述拟替换出缓存的段按照动态块映射方法写入磁盘;若否,则进入步骤(12);(12)由SSTL将磁盘上整个段的内容存储到内存,并与从缓存中替换出来的段进行合并,将合并获得的数据写到磁盘。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610279310.0/,转载请声明来源钻瓜专利网。
- 上一篇:复合材料和制造与使用该复合材料的方法
- 下一篇:带镶边的块料加工机