[发明专利]一种固态硬盘缓存管理方法及固态硬盘在审
申请号: | 201711406418.2 | 申请日: | 2017-12-22 |
公开(公告)号: | CN108255420A | 公开(公告)日: | 2018-07-06 |
发明(设计)人: | 许毅;姚兰;郑春阳 | 申请(专利权)人: | 深圳忆联信息系统有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 广东广和律师事务所 44298 | 代理人: | 董红海 |
地址: | 518057 广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 管理单元 固态硬盘 缓存管理 缓存 分配 子缓存 缓存管理模块 读写性能 拼接模块 外部模块 申请 引入 概率 记录 配合 | ||
1.一种固态硬盘缓存管理方法,其特征在于将固态硬盘缓存按8KB为单位划分为多个管理单元,每个管理单元分为2个4KB单位的子缓存管理单元,并设置分配数记录每个管理单元已经被分配的数目,外部模块以4KB为单位向缓存管理模块申请缓存,按申请顺序只有管理单元的分配数为2时才从新的管理单元中分配新的子缓存管理单元。
2.根据权利要求1所述的固态硬盘缓存管理方法,其特征在于通过逻辑链表的索引,将连续的2个索引值作为一个缓存管理单元,每个缓存管理单元每分配一个子缓存管理单元,分配数加1,当分配数为2时,将该缓存管理单元从逻辑链表中移除。
3.根据权利要求1所述的固态硬盘缓存管理方法,其特征在于当已分配使用的缓存管理单元的两个子缓存管理单元都被回收时,将该缓存管理单元挂到逻辑链表尾部。
4.根据权利要求2所述的固态硬盘缓存管理方法,其特征在于每次申请缓存管理单元时都从逻辑链表的表头开始分配缓存管理单元。
5.根据权利要求1至4任意一项所述的固态硬盘缓存管理方法,其特征在于在SSD控制器与SSD缓存管理模块中增加拼接模块,所述拼接模块将主机下发的读命令或写命令的缓存块中连续的缓存块拼接为8K大小的数据包,并通过数据包描述符表描述拼接的信息,所述SSD控制器的DMA根据描述符表描述的信息控制读或写的数据传输;所述拼接模块缓存块上一个缓存信息,至少包括上一个缓存块的块起始地址start_addr、块尾地址end_addr和是否有效标志is_valid;所述拼接模块缓存接收到一个新缓存块,将新缓存块的块起始地址start_addr与上一个缓存块的块尾地址end_addr进行比较判断是否连续,如果连续则将上一个缓存块和新缓存块进行拼接,拼接为8K大小的数据包,并对应更新数据包描述符表数据;所述拼接模块至少维护以下信息:缓存块的块起始地址start_addr、块尾地址end_addr和是否有效标志is_valid;提交到数据包队列的缓存块地址首先送入到所述拼接模块,判断is_valid是否被置起,如果没有置起则置起is_valid,并置start_addr为新缓存块的起始地址,置end_addr为新缓存块的末尾地址并结束本次拼接;如果is_valid已经置起则判断end_addr是否等于新缓存块的起始地址,如果不等于则说明拼接模块之前缓存的缓存与新来的缓存块不连续,则把之前缓存的缓存形成数据包描述符表刷到SSD控制器的数据包队列,再把新来的缓存块缓存下来,即置start_addr为新缓存块的起始地址,置end_addr为新缓存块的末尾地址并结束流程;如果end_addr等于新缓存块的起始地址则将新缓存块与之前缓存的缓存拼接起来,即置end_addr为新缓存块的末尾地址;如果拼接后的缓存没有超过8KB则结束本次拼接,否则切割出8KB形成DataFIS描述符表刷到SSD控制器的数据包队列并记录剩余缓存;如果新缓存块不是命令的最后一段缓存则结束拼接,否则将拼接模块中剩余的缓存形成数据包描述符表刷到SSD控制器的数据包队列,清除is_valid标志并结束拼接;SSD在空闲时重置缓存管理模块,重置换存管理模块将逻辑链表中相邻的缓存块的索引值对应的物理缓存整理为连续状态。
6.一种固态硬盘,其特征在于将固态硬盘缓存按8KB为单位划分为多个管理单元,每个管理单元分为2个4KB单位的子缓存管理单元,并设置分配数记录每个管理单元已经被分配的数目,外部模块以4KB为单位向缓存管理模块申请缓存,按申请顺序只有管理单元的分配数为2时才从新的管理单元中分配新的子缓存管理单元。
7.根据权利要求6所述的固态硬盘,其特征在于通过逻辑链表的索引,将连续的2个索引值作为一个缓存管理单元,每个缓存管理单元每分配一个子缓存管理单元,分配数加1,当分配数为2时,将该缓存管理单元从逻辑链表中移除。
8.根据权利要求6所述的固态硬盘,其特征在于当已分配使用的缓存管理单元的两个子缓存管理单元都被回收时,将该缓存管理单元挂到逻辑链表尾部。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳忆联信息系统有限公司,未经深圳忆联信息系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711406418.2/1.html,转载请声明来源钻瓜专利网。