[发明专利]闪存逻辑物理映射表的排序方法、系统以及其闪存有效
申请号: | 201910518684.7 | 申请日: | 2019-06-15 |
公开(公告)号: | CN110221986B | 公开(公告)日: | 2021-11-16 |
发明(设计)人: | 陈波;吴大畏;李晓强 | 申请(专利权)人: | 深圳市硅格半导体有限公司 |
主分类号: | G06F12/06 | 分类号: | G06F12/06;G06F12/1009 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518000 广东省深圳市南山区科技南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 闪存 逻辑 物理 映射 排序 方法 系统 及其 | ||
本发明公开了一种闪存逻辑物理映射表的排序方法、系统以及其闪存,涉及存储数据处理技术领域。其闪存逻辑物理映射表的排序方法的技术要点包括将一一对应于闪存单元的若干单元链表初始化;依次计算逻辑地址对应的闪存单元序号;将逻辑地址添加至对应的闪存单元序号的单元链表上;全部逻辑地址添加完毕后,逐一处理各个单元链表的全部逻辑地址,本发明具有加快大数据下排序速度的优点。
技术领域
本发明涉及存储数据处理技术领域,更具体地说,它涉及一种闪存逻辑物理映射表的排序方法、系统以及其闪存。
背景技术
闪存固件内部都会有一个映射表,用来映射逻辑地址到物理地址,即通过逻辑地址查找物理地址,再对实际的闪存单元做读写访问。但是同一片的物理地址在映射表中对应的逻辑地址常常是无序随机分布的,如果每个逻辑地址都更新一次物理单元,那都要进行一次物理地址的检索,效率极低。所以我们可以收集所有在这个物理区域内的逻辑地址,一次进行更新,减少物理地址的检索量。来提高效率。
现有的对物理地址更新的方式为通过逐一比较大小实现排序,排序所需要的步骤所要操作的次数为(n+3)*n/2+2n=(n^2)/2+3.5n,n表示逻辑地址组中的逻辑地址的个数,当操作次数随着n数量的增多呈幂函数级的增加;当处理大量数据排序时,处理效率低。
发明内容
针对现有的技术问题,本发明的第一目的在于提供一种闪存逻辑物理映射表的排序方法,其具有加快大数据下排序速度的优点。
为实现上述目的,本发明提供了如下技术方案:一种闪存逻辑物理映射表的排序方法,包括:
将一一对应于闪存单元的若干单元链表初始化;
依次计算逻辑地址对应的闪存单元序号;
将逻辑地址添加至对应的闪存单元序号的单元链表上;
全部逻辑地址添加完毕后,逐一处理各个单元链表的全部逻辑地址。
通过采用上述技术方案,假设设定m个闪存单元,需要更新的逻辑地址总数为n,由于单元链表一一对应闪存单元,因此单元链表的个数也为m。则初始化单元链表的操作次数为m次;计算逻辑地址对应的闪存单元序号需要对所有的逻辑地址都读一次写一次,总共2n次;将逻辑地址添加至对应的闪存单元序号的单元链表上需要对所有的逻辑地址都读一次写一次,总共2n次;最后依次将各个单元链表的全部逻辑地址写一次完成排序,总共n次。。因此使用本技术方案进行排序的过程,对数据的操作次数为m+5n次,整体的操作次数是呈线性增长的。因此在逻辑地址m的数量增大至较大数值,也能保持相同数量级的操作次数,具有加快大数据下排序速度的效果。
本发明进一步设置为:读取各个单元链表的开始节点和结束节点;分别构成启指针表和末指针表。
通过采用上述技术方案,通过获取启指针表和末指针表,通过比较获取,能够快速获得一个新的开始节点,也能在处于结束节点时快速跳转至下单元链表。
本发明进一步设置为:逐一处理各个单元链表的全部逻辑地址包括:
获取启指针表上未处理的开始节点;
逐一处理开始节点对应的单元链表中的逻辑地址;
当处理完毕的逻辑地址属于末指针表,则获取启指针表上下一未处理的开始节点或结束流程。
通过采用上述技术方案,基于开始节点开始处理单元链表,并在处理完结束节点后处理下一单元链表,加快了链表的处理效率。
本发明进一步设置为:通过将逻辑地址右移指定位数,获得对应的闪存单元序号。
通过采用上述技术方案,一般的逻辑地址包括从左至右依次包括闪存块地址、闪存页地址和存储元地址;通过右移能够减少逻辑地址位数,便于对逻辑地址分类。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市硅格半导体有限公司,未经深圳市硅格半导体有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910518684.7/2.html,转载请声明来源钻瓜专利网。