[发明专利]一种L2P表的读写、更新方法及L2P表有效
申请号: | 201910784274.7 | 申请日: | 2019-08-23 |
公开(公告)号: | CN110597741B | 公开(公告)日: | 2021-09-10 |
发明(设计)人: | 苗森 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F12/1009 | 分类号: | G06F12/1009 |
代理公司: | 济南诚智商标专利事务所有限公司 37105 | 代理人: | 黄晓燕 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 l2p 读写 更新 方法 | ||
本发明实施例公开了一种L2P表的读写、更新方法及L2P表,所述L2P表的PBA用Nbit标示,所述N的取值根据盘容量S计算,为非32bit对齐的方式。降低了L2P对内存的使用容量,从而降低SSD的成本。进行数据读写和L2P表更新时,只需要根据LBA的值,计算对应PBA是否跨32bit,在PBA跨32bit的情况下,直接获取2个32bit,采用异或方式进行相应读写和更新操作即可,便于L2P的保存和恢复。
技术领域
本发明涉及计算机存储技术领域,具体地说是一种L2P表的读写、更新方法及L2P表。
背景技术
SSD(Solid State Drives,固态硬盘)的映射表(L2P)是LBA(Logical BlockAddress。逻辑地址)和PBA(Physics Block Address,物理地址)的映射,在读写过程中,host(主机)下发LBA到SSD,SSD查询L2P表找到PBA,从而找到对应的flash位置进行读写操作。
L2P相当于一个以LBA为下标的一维数组,数组的每一个元素都是一个PBA,所有的PBA能够寻址到SSD的任何falsh空间。
现有的L2P中的PBA一般是用32bit去标示,这样在SSD运行过程中针对32对齐的L2P表进行读写访问比较方便,但L2P表大小一般为盘实际容量的1/1000。因每个32bit中空闲了若干比特,这浪费了DDR(Double Data Rate,双倍速率同步动态随机存储器)。而现在的企业级SSD一般为TB级,对DDR的容量需求较大,以至于DDR的成本极大的影响了SSD的成本。
发明内容
本发明实施例中提供了一种L2P表的读写、更新方法及L2P表,以解决现有技术中L2P表占用较大DDR空间,增大SSD成本的问题。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
本发明第一方面提供了一种L2P表,包括具有映射关系的LBA和PBA,所述PBA用Nbit标示,所述N的取值根据盘容量S计算,具体为:S/4=2N。
本发明第二方面提供了一种基于所述L2P表的读取方法,所述方法包括:
根据LBA和Nbit的取值,计算PBA是否跨32bit,并获取当前LBA对应的PBA,读取数据。
进一步地,所述计算PBA是否跨32bit,并获取当前LBA对应的PBA的具体过程为:
判断和运算结果的整数部分是否相等,M为L2P表中LBA的取值;
若是,则PBA未跨32bit,获取1个32bit,得到对应的PBA;
若否,则PBA跨32bit,获取2个32bit,得到对应的PBA。
本发明第三方面提供了一种基于所述L2P表的写入方法,所述方法包括:
根据LBA和Nbit的取值,计算PBA是否跨32bit,并获取当前LBA对应的PBA,采用异或方式写入数据。
进一步地,计算PBA是否跨32bit,并获取当前LBA对应的PBA,采用异或方式写入数据的具体过程为:
判断和运算结果的整数部分是否相等,M为L2P表中LBA的取值;
若是,则PBA未跨32bit,获取1个32bit,得到对应的PBA,采用内存操作的异或方式写入数据;
若否,则PBA跨32bit,获取2个32bit,得到对应的PBA,采用内存操作的异或方式写入数据。
本发明第四方面提供了一种L2P表的更新方法,基于所述的L2P表,所述方法包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910784274.7/2.html,转载请声明来源钻瓜专利网。