[发明专利]基于硬件的存储器压缩在审
申请号: | 201980098081.4 | 申请日: | 2019-07-02 |
公开(公告)号: | CN114072777A | 公开(公告)日: | 2022-02-18 |
发明(设计)人: | 张霖涛;J·G·班尼特;李博杰 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F12/06 | 分类号: | G06F12/06 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 张宁 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 硬件 存储器 压缩 | ||
1.一种用于存储器压缩的方法,包括:
接收对存储器的读请求,所述存储器被划分为多个段,所述多个段中的一个段被划分为多个子段,所述多个子段中的一个子段被压缩为一个或多个块,并且所述读请求与所述存储器中的段的子段相关;
在所述段中确定与所述子段相对应的条目,所述条目包括指示符;以及
基于所述条目中的所述指示符确定存储与所述读请求相关联的压缩数据的块。
2.根据权利要求1所述的方法,其中在所述段中确定与所述子段相对应的条目包括:
基于映射规则确定与所述子段相对应的所述条目,所述映射规则包括子段与条目之间的在所述段内的静态映射。
3.根据权利要求1所述的方法,其中一个子段的大小被预设为一个块的大小的至少八倍。
4.根据权利要求1所述的方法,其中基于所述条目中的所述指示符确定存储与所述读请求相关联的压缩数据的块包括:
基于所述条目中的两个或更多个指针确定与所述读请求相关联的两个或更多个块,所述条目中的指针的最大数目基于一个子段的大小与一个块的大小之间的第一比率来确定,并且所述条目中的一个指针的大小基于一个段的大小与一个块的大小之间的第二比率来确定。
5.根据权利要求4所述的方法,还包括:
响应于确定与所述读请求相关联的两个或更多个块,从所述两个或更多个块并行读取所述压缩数据;以及
解压缩所述压缩数据以生成解压缩数据。
6.根据权利要求1所述的方法,还包括:
接收对所述存储器的写请求;
响应于接收到所述写请求,检查段中的位图,所述段包括多个条目、多个块和所述位图,并且所述位图中的每个位指示所述段中的每个块是否被分配;
响应于所述位图指示所述段中有足够的块可用于所述写请求,基于所述位图将与所述写请求相关联的压缩数据写入所述段中的一个或多个块中;以及
更新所述位图和所述段中的一个或多个条目。
7.根据权利要求6所述的方法,还包括:
响应于所述位图指示所述段中没有足够的块可用于所述写请求,确定所述存储器中具有足够的可用块的另外的段;以及
将与所述写请求相关联的压缩数据的至少一部分写入所述另外的段中的一个或多个块中。
8.根据权利要求6所述的方法,其中不被频繁访问的数据被迁移到压缩存储器,而被频繁访问的数据被迁移到未压缩存储器,并且所述未压缩存储器和所述压缩存储器共享从处理器可访问的同一地址空间。
9.根据权利要求1所述的方法,其中所述方法在所述存储器中被实现,并且对所述存储器中的所述段的所述子段的所述读请求经由存储器控制器而被接收。
10.一种存储器,包括:
存储器芯片;以及
控制器,被配置为执行动作,所述动作包括:
接收对所述存储器芯片的读请求,所述存储器芯片被划分为多个段,所述多个段中的一个段被划分为多个子段,所述多个子段中的一个子段被压缩为一个或多个块,并且所述读请求与所述存储器中的段的子段相关;
在所述段中确定与所述子段相对应的条目,所述条目包括指示符;以及
基于所述条目中的所述指示符确定存储与所述读请求相关联的压缩数据的块。
11.根据权利要求10所述的存储器,其中在所述段中确定与所述子段相对应的条目包括:
基于映射规则确定与所述子段相对应的所述条目,所述映射规则包括子段与条目之间的在所述段内的静态映射。
12.根据权利要求10所述的存储器,其中一个子段的大小被预设为一个块的大小的至少八倍。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980098081.4/1.html,转载请声明来源钻瓜专利网。