申请/专利权人:武汉麓谷科技有限公司
申请日:2024-03-14
公开(公告)日:2024-04-16
公开(公告)号:CN117891412A
主分类号:G06F3/06
分类号:G06F3/06
优先权:
专利状态码:在审-公开
法律状态:2024.04.16#公开
摘要:本发明基于ZNS固态硬盘的坏块提出了一种解决方案,通过对坏块进行分析判断,并根据分析结果进行差异处理。控制模块根据剩余的冗余空间的大小不同,设定了不同的坏块替换策略。具体的,对于冗余空间剩余较大的ZNS固态硬盘,采用在同一die中按倒序方式依次替换block;对于冗余空间剩余较少的ZNS固态硬盘,采用在同一die或者不同die中正序方式依次替换plane;对于冗余空间极少的ZNS固态硬盘,通过标记并屏蔽所有坏块,并对ZNS固态硬盘进行降级操作,减少了因消除坏块标记导致的容量降低以及运行过程中出现的坏块重映射以及因新增坏块带来的性能的降低,同时提升了ZNS固态硬盘的读写速度。进一步,本发明的ZNS固态硬盘可以对坏块映射表所在zone选择性开启RAID,极大的提高了ZNS固态硬盘数据的安全性。
主权项:1.一种基于ZNS固态硬盘的坏块映射方法,ZNS固态硬盘包括若干物理芯片以及若干zone,每个芯片包括2个以上die,每个die包括2m个plane,每个plane中包括2k个block,其中k,m为正整数且大于等于5且每个所述zone至少映射一个die;其特征在于:所述坏块映射方法至少包括以下步骤:(1)对ZNS固态硬盘进行低级格式化,并扫描所述ZNS固态硬盘的坏块,根据所述坏块信息建立坏块表;(2)若不存在坏块,则执行步骤(4);若存在坏快,则控制模块读取坏块表中的记录信息,对所述坏块进行统计分析处理;所述统计分析处理步骤包括:a.当剩余的冗余好块的数量占比大于或等于50%时,控制模块执行如下步骤:a-1)控制模块根据所述坏块表记录信息,通过地址指针定位到所述坏块所在的die的第2k-i个block,并查询该block是否被映射,其中i正整数且初始值为1;a-2)若所述第2k-i个block已被映射,则执行i=i+1,返回步骤a-1);如果所述第2k-i个block未被占用,则将所述第2k-i个block与所述坏块建立映射关系;b.当剩余冗余好块的数量占比小于50%且大于或等于10%时,控制模块执行如下步骤:b-1)控制模块根据所述坏块表记录信息,确定所述坏块位于第j个plane,通过地址指针定位到所述坏块所在的die的第j+1个plane,并查询该plane是否被映射;b-2)若所述第j+1个plane已被映射,则执行j=j+1,返回步骤b-1);如果所述第j+1个plane未被占用,则将所述第j+1个plane与所述坏块建立映射关系;c.当剩余冗余好块的数量占比小于10%时,控制模块执行如下步骤:c-1)读取所述坏块表,以plane为单元标记所有坏块,c-2)统计并计算全部好块总共的存储空间,预留一定的空间作为冗余空间后,对当前ZNS固态硬盘容量降低并重新开卡;c-3)返回步骤(1);(3)建立下一坏块的映射关系,直至所述坏块表中全部坏块的映射关系建立完成,至此得到坏块映射表,并将所述坏块映射表保存在ZNS固态硬盘的目标zone中;(4)低级格式化以及建立坏块映射表完成,安装运行应用程序;(5)当出现编程失败(ProgramFail)和擦除失败(EraseFail)时,对所述坏块表进行更新,并执行步骤(2);(6)在固态硬盘执行读写操作遇到被标记的坏块时,调用所述坏块映射表查询坏块所映射的block或plane,再对所述坏块映射的block或plane进行读写操作。
全文数据:
权利要求:
百度查询: 武汉麓谷科技有限公司 一种基于ZNS固态硬盘的坏块映射方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。