一种坏块表继承和管理方法技术

技术编号:38820165 阅读:15 留言:0更新日期:2023-09-15 19:59
本发明专利技术的一种坏块表继承和管理方法,包括如下步骤:1)、根据flash自身指令,扫描出整个硬盘的原始出厂坏块来作为一个基础坏块表,当所有出厂坏块被寻找结束后,用XOR算法和raid算法进行加密和备份;2)、坏块的定义和维护:首先认为写入,读取,删除失误的块都认为是坏块,写入和读取的失败页面如果超过一个块中一半以上的页面就认为该块为坏页面,如果发生网络删除失误的块,即立刻判定为坏块;3)、防止坏块表丢失和继承:坏块表再每次写完一轮所有块的时候会有目标置起,当该目标被置起的时候,会立刻进行坏块表的写入,会写入进flash中的系统块,该系统块定为每个平面的编号为0的块;采用slc和xor和raid方式写入。用slc和xor和raid方式写入。用slc和xor和raid方式写入。

【技术实现步骤摘要】
一种坏块表继承和管理方法


[0001]本专利技术涉及安全存储
,具体涉及一种坏块表继承和管理方法。

技术介绍

[0002]为了解决现有技术中SSD(固态硬盘)出现不认盘或者掉固件,重新下载固件后出现坏块表丢失,亟需一种新型坏块表的管理办法。
[0003]现有的坏块表管理方法是第一次下载固件时生成第一张flash出厂原始坏块表,后期出现新坏块时在生成新的一张坏块表,但是这样的操作方法如果遇到重新下载固件时坏块表未被继承,就会造成SSD(固态硬盘)在后期可能会又一次进入之前坏块的风险,导致SSD(固态硬盘)无法正常工作。

技术实现思路

[0004]为了解决现有技术的问题。本专利技术提供一种坏块表继承和管理方法。可以稳定和快速的继承和维护坏块表,即使出现掉盘掉固件等现象我们的坏块表依然不会受到损害,这样的管理和储存方法不仅可以应用于固态硬盘,只要带有闪存的硬件都可以使用。
[0005]本专利技术的技术方案:一种坏块表继承和管理方法,包括如下步骤:
[0006]1)、根据flash自身指令,扫描出整个硬盘的原始出厂坏块来作为一个基础坏块表,当所有出厂坏块被寻找结束后,用XOR算法和raid算法进行加密和备份;2)、坏块的定义和维护:首先认为写入,读取,删除失误的块都认为是坏块,写入和读取的失败页面如果超过一个块中一半以上的页面就认为该块为坏页面,如果发生网络删除失误的块,即立刻判定为坏块;
[0007]3)、防止坏块表丢失和继承:坏块表再每次写完一轮所有块的时候会有目标置起,当该目标被置起的时候,会立刻进行坏块表的写入,会写入进flash中的系统块,该系统块定为每个平面的编号为0的块;采用slc和xor和raid方式写入;
[0008]当出现每次需要新下载固件时,会选择继承之前的坏块,即会将坏块表每次先从flash中以slc方式读到ram内存中,会和每次后面记录的mp块插件坏块表进行比较更新,并随之固件一起写入flash中。
[0009]进一步的,所述的步骤1)具体包括如下步骤:
[0010]1.1)、根据flash自身指令,扫描出整个硬盘的原始出厂坏块来作为一个基础坏块表,使用flash cmd设置功能对当前flash的每个block块即数据库中的最小存储和处理单位进行发送;
[0011]1.2)、如果未回收到FF指令则表示为原厂坏块,原厂坏块表的建立,按照mp块插件的概念,每个阶段下的相同block块的编号叫做一个mp块插件,用一个U32的变量来表示一个mp块插件,总共32个比特;
[0012]一个mp块插件的某一个比特被置位1则表示这是一个坏块数据,以此类推扫描全盘,把硬盘的初始坏块表完整建立,并在下载固件时写入的flash的系统块中以便后期加载
使用;
[0013]1.3)、当所有出厂坏块被寻找结束后,用XOR算法和raid算法进行加密和备份,其中,raid选择的是3+1模式,即假设总共ssd(固态硬盘)是4内存库,用3个内存库是允许主机写入数据但还有一个内存库用来进行备份,当数据出现错误或者大批量丢失会进行独立冗余磁盘阵列功能从这个内存库里面把数据库控件进行恢复上来以达到坏块数据不会出错的保证。
[0014]再进一步的,步骤1)后面两种步骤里面更新数据库控件和存储也都放在flash的raid部分。
[0015]再进一步的,步骤2)一样会用一个U32变量进行记录和标记,并以mp块插件为单位记录,每当某一个mp块插件发生变化的时候,会立刻进行更新mp块插件的比特记录,防止丢失了坏块数据的信息。
[0016]再进一步的,该方法适用于:硬盘首次被进行下载固件时。
[0017]与现有技术相比,本专利技术的有益效果:本专利技术解决刚开始的基础坏块表如何建立和维护,当硬盘SSD在使用期间出现新的坏块时,管理和维护坏块表并持续更新来保证硬盘SSD的稳定工作。在硬盘SSD无法工作时,重新下载硬盘固件的时候保证坏块表也是最新的并且可以稳定被继承下来。
附图说明
[0018]图1为本专利技术起始阶段的流程图;
[0019]图2为本专利技术中间阶段的流程图;
[0020]图3为本专利技术最后阶段的流程图;
[0021]图4为本专利技术最后阶段的进一步流程图。
具体实施方式
[0022]下面结合附图及实施例对本专利技术嵌套双臂平面螺旋天线的结构及其效果做进一步说明。
[0023]本专利技术解决刚开始的基础坏块表如何建立和维护,当硬盘SSD在使用期间出现新的坏块时,管理和维护坏块表并持续更新来保证硬盘SSD的稳定工作。在硬盘SSD无法工作时,重新下载硬盘固件的时候保证坏块表也是最新的并且可以稳定被继承下来。
[0024]具体的方法包括如下步骤:
[0025]1、本申请方案当硬盘首次被进行下载固件时,因为这是个全新的硬盘,所以必须根据flash自身指令,扫描出整个硬盘的原始出厂坏块来作为一个基础坏块表,使用flash cmd setfeature(flash cmd设置功能)对当前flash的每个block(块,即数据库中的最小存储和处理单位)进行发送,如果未回收到FF(交替输出)指令则表示为原厂坏块,原厂坏块表的建立,可以按照mpblock(mp块插件)的概念,每个plane(平面)下的相同block的编号叫做一个mpblock,用一个U32(数据类型的定义)的变量来表示一个mpblock,总共32个bit(比特),若一个mpblock(mp块插件)的某一个bit(比特)被置位1则表示这是一个badblock(坏块数据),以此类推扫描全盘,把硬盘的初始坏块表完整建立,并在下载固件时写入的flash的system block(系统块)中以便后期加载使用,当所有factory bad block(出厂坏块)被
寻找结束后,用XOR算法和raid算法进行加密和备份,其中,raid选择的是3+1模式,即假设总共ssd(固态硬盘)是4bank(内存库),用3个bank(内存库)是允许host(主机)写入数据但还有一个bank(内存库)用来进行备份,当数据出现错误或者大批量丢失会进行raid(独立冗余磁盘阵列)功能从这个bank(内存库)里面把table(数据库控件)进行恢复上来以达到bad table(坏块数据)不会出错的保证,后面两种步骤里面更新table(数据库控件)和存储也都放在flash的raid部分,如图1。
[0026]其中,xor算法:xor又称为异或运算加密,一个值(m)如果与一个key值(n)做两次XOR,那么最后得到的结果一定是m这个值本身,就可以用这种方式进行加密,当需要写入数据进入一个flash的时候,可以把需要写入的值与key值先做xor写入进flash,当需要读出此被写入flash的值的时候,我们可以读出后再与key值XOR(运算),这样数据就可以恢复至本身了,这样从而达到数据的稳定性。这里的key值可以是开发者自己定义的一段密钥。
[0027]raid算法本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种坏块表继承和管理方法,其特征在于,包括如下步骤:1)、根据flash自身指令,扫描出整个硬盘的原始出厂坏块来作为一个基础坏块表,当所有出厂坏块被寻找结束后,用XOR算法和raid算法进行加密和备份;2)、坏块的定义和维护:首先认为写入,读取,删除失误的块都认为是坏块,写入和读取的失败页面如果超过一个块中一半以上的页面就认为该块为坏页面,如果发生网络删除失误的块,即立刻判定为坏块;3)、防止坏块表丢失和继承:坏块表再每次写完一轮所有块的时候会有目标置起,当该目标被置起的时候,会立刻进行坏块表的写入,会写入进flash中的系统块,该系统块定为每个平面的编号为0的块;采用slc和xor和raid方式写入;当出现每次需要新下载固件时,会选择继承之前的坏块,即会将坏块表每次先从flash中以slc方式读到ram内存中,会和每次后面记录的mp块插件坏块表进行比较更新,并随之固件一起写入flash中。2.根据权利要求1所述的一种坏块表继承和管理方法,其特征在于,所述的步骤1)具体包括如下步骤:1.1)、根据flash自身指令,扫描出整个硬盘的原始出厂坏块来作为一个基础坏块表,使用flash cmd设置功能对当前flash的每个block块即数据库中的最小存储和处理单位进行发送;1.2)、如果未回收到FF指令则表示为原厂坏块,原厂坏块表...

【专利技术属性】
技术研发人员:李国超
申请(专利权)人:合肥大唐存储科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1