CN116737065A - 一种坏块表继承和管理方法 - Google Patents
一种坏块表继承和管理方法 Download PDFInfo
- Publication number
- CN116737065A CN116737065A CN202310502051.3A CN202310502051A CN116737065A CN 116737065 A CN116737065 A CN 116737065A CN 202310502051 A CN202310502051 A CN 202310502051A CN 116737065 A CN116737065 A CN 116737065A
- Authority
- CN
- China
- Prior art keywords
- block
- bad
- bad block
- flash
- block table
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims abstract description 14
- 238000012423 maintenance Methods 0.000 claims abstract description 4
- 238000000034 method Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 7
- 239000007787 solid Substances 0.000 claims description 7
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的一种坏块表继承和管理方法,包括如下步骤:1)、根据flash自身指令,扫描出整个硬盘的原始出厂坏块来作为一个基础坏块表,当所有出厂坏块被寻找结束后,用XOR算法和raid算法进行加密和备份;2)、坏块的定义和维护:首先认为写入,读取,删除失误的块都认为是坏块,写入和读取的失败页面如果超过一个块中一半以上的页面就认为该块为坏页面,如果发生网络删除失误的块,即立刻判定为坏块;3)、防止坏块表丢失和继承:坏块表再每次写完一轮所有块的时候会有目标置起,当该目标被置起的时候,会立刻进行坏块表的写入,会写入进flash中的系统块,该系统块定为每个平面的编号为0的块;采用slc和xor和raid方式写入。
Description
技术领域
本发明涉及安全存储技术领域,具体涉及一种坏块表继承和管理方法。
背景技术
为了解决现有技术中SSD(固态硬盘)出现不认盘或者掉固件,重新下载固件后出现坏块表丢失,亟需一种新型坏块表的管理办法。
现有的坏块表管理方法是第一次下载固件时生成第一张flash出厂原始坏块表,后期出现新坏块时在生成新的一张坏块表,但是这样的操作方法如果遇到重新下载固件时坏块表未被继承,就会造成SSD(固态硬盘)在后期可能会又一次进入之前坏块的风险,导致SSD(固态硬盘)无法正常工作。
发明内容
为了解决现有技术的问题。本发明提供一种坏块表继承和管理方法。可以稳定和快速的继承和维护坏块表,即使出现掉盘掉固件等现象我们的坏块表依然不会受到损害,这样的管理和储存方法不仅可以应用于固态硬盘,只要带有闪存的硬件都可以使用。
本发明的技术方案:一种坏块表继承和管理方法,包括如下步骤:
1)、根据flash自身指令,扫描出整个硬盘的原始出厂坏块来作为一个基础坏块表,当所有出厂坏块被寻找结束后,用XOR算法和raid算法进行加密和备份;2)、坏块的定义和维护:首先认为写入,读取,删除失误的块都认为是坏块,写入和读取的失败页面如果超过一个块中一半以上的页面就认为该块为坏页面,如果发生网络删除失误的块,即立刻判定为坏块;
3)、防止坏块表丢失和继承:坏块表再每次写完一轮所有块的时候会有目标置起,当该目标被置起的时候,会立刻进行坏块表的写入,会写入进flash中的系统块,该系统块定为每个平面的编号为0的块;采用slc和xor和raid方式写入;
当出现每次需要新下载固件时,会选择继承之前的坏块,即会将坏块表每次先从flash中以slc方式读到ram内存中,会和每次后面记录的mp块插件坏块表进行比较更新,并随之固件一起写入flash中。
进一步的,所述的步骤1)具体包括如下步骤:
1.1)、根据flash自身指令,扫描出整个硬盘的原始出厂坏块来作为一个基础坏块表,使用flash cmd设置功能对当前flash的每个block块即数据库中的最小存储和处理单位进行发送;
1.2)、如果未回收到FF指令则表示为原厂坏块,原厂坏块表的建立,按照mp块插件的概念,每个阶段下的相同block块的编号叫做一个mp块插件,用一个U32的变量来表示一个mp块插件,总共32个比特;
一个mp块插件的某一个比特被置位1则表示这是一个坏块数据,以此类推扫描全盘,把硬盘的初始坏块表完整建立,并在下载固件时写入的flash的系统块中以便后期加载使用;
1.3)、当所有出厂坏块被寻找结束后,用XOR算法和raid算法进行加密和备份,其中,raid选择的是3+1模式,即假设总共ssd(固态硬盘)是4内存库,用3个内存库是允许主机写入数据但还有一个内存库用来进行备份,当数据出现错误或者大批量丢失会进行独立冗余磁盘阵列功能从这个内存库里面把数据库控件进行恢复上来以达到坏块数据不会出错的保证。
再进一步的,步骤1)后面两种步骤里面更新数据库控件和存储也都放在flash的raid部分。
再进一步的,步骤2)一样会用一个U32变量进行记录和标记,并以mp块插件为单位记录,每当某一个mp块插件发生变化的时候,会立刻进行更新mp块插件的比特记录,防止丢失了坏块数据的信息。
再进一步的,该方法适用于:硬盘首次被进行下载固件时。
与现有技术相比,本发明的有益效果:本发明解决刚开始的基础坏块表如何建立和维护,当硬盘SSD在使用期间出现新的坏块时,管理和维护坏块表并持续更新来保证硬盘SSD的稳定工作。在硬盘SSD无法工作时,重新下载硬盘固件的时候保证坏块表也是最新的并且可以稳定被继承下来。
附图说明
图1为本发明起始阶段的流程图;
图2为本发明中间阶段的流程图;
图3为本发明最后阶段的流程图;
图4为本发明最后阶段的进一步流程图。
具体实施方式
下面结合附图及实施例对本发明嵌套双臂平面螺旋天线的结构及其效果做进一步说明。
本发明解决刚开始的基础坏块表如何建立和维护,当硬盘SSD在使用期间出现新的坏块时,管理和维护坏块表并持续更新来保证硬盘SSD的稳定工作。在硬盘SSD无法工作时,重新下载硬盘固件的时候保证坏块表也是最新的并且可以稳定被继承下来。
具体的方法包括如下步骤:
1、本申请方案当硬盘首次被进行下载固件时,因为这是个全新的硬盘,所以必须根据flash自身指令,扫描出整个硬盘的原始出厂坏块来作为一个基础坏块表,使用flashcmd 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。
其中,xor算法:xor又称为异或运算加密,一个值(m)如果与一个key值(n)做两次XOR,那么最后得到的结果一定是m这个值本身,就可以用这种方式进行加密,当需要写入数据进入一个flash的时候,可以把需要写入的值与key值先做xor写入进flash,当需要读出此被写入flash的值的时候,我们可以读出后再与key值XOR(运算),这样数据就可以恢复至本身了,这样从而达到数据的稳定性。这里的key值可以是开发者自己定义的一段密钥。
raid算法:这里的raid算法是一个备份的作用,就是同一份factory block(工厂区块)的表结构写入进flash的(block0,page0),但是再写入的时候会多写入两份进入(block1,page0),(block2,page0),当发生数据不可恢复的时候,固件会用算法根据(block1,page0)或者(block2,page0)来将block0的数据恢复出来。
2,本申请后期坏块的定义和维护:首先认为programme(写入),read(读取),erasefail(删除失误)的block(块)都认为是bad block(坏块),programme(写入)和read(读取)的fail page(失败页面)如果超过一个block(块)中一半以上的page(页面)就认为该block(块)为bad(坏页面),如果发生erase fail(网络删除失误)的block(块),即立刻判定为badblock(坏块).这里一样会用一个U32变量进行记录和标记,并以mpblock为单位记录,每当某一个mpblock发生变化的时候,会立刻进行更新mpblock的bit记录,防止丢失了badblock的信息,如图2。
3、本申请防止坏块表丢失和继承的方案:坏块表再每次写完一轮所有block的时候会有flag(目标)置起,当该flag被置起的时候,会立刻进行坏块表的写入,会写入进flash中的systm block(系统块),该system block(系统块)定为每个plane(平面)的block0(即编号为0的块),从电气特性上说认为每个plane(平面)的block0是最稳定的,此外还采用slc和xor和raid方式写入,这样的写入方式是最不易发生bit翻转,也是写入最快的。当出现每次需要新下载固件时,会选择继承之前的bad block(坏块),即会将坏块表每次先从flash中以slc方式读到ram(内存)中,会和每次后面记录的mpblock坏块表进行比较更新,并随之固件一起写入flash中,这样的方案可以保证即使掉盘不认盘,每次新下载固件时从flash中写入读取的坏块表也是最新的,这样可以维持固件的稳定性,如图3。
上述slc:对于flash的来说,他的block状态分为两种一种是slc模式,一种是tlc模式,与此对应写入的方式也有slc和tlc两种方式,slc写入方式通常认为是比较稳定的写入方式,bit不易发生翻转。
本发明技术方案解决现有的特点,是可以稳定和快速的继承和维护坏块表,即使出现掉盘掉固件等现象我们的坏块表依然不会受到损害,这样的管理和储存方法不仅可以应用于固态硬盘,只要带有闪存的硬件都可以使用。
Claims (5)
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指令则表示为原厂坏块,原厂坏块表的建立,按照mp块插件的概念,每个平面下的相同block块的编号叫做一个mp块插件,用一个U32的变量来表示一个mp块插件,总共32个比特;
一个mp块插件的某一个比特被置位1则表示这是一个坏块数据,以此类推扫描全盘,把硬盘的初始坏块表完整建立,并在下载固件时写入的flash的系统块中以便后期加载使用;
1.3)、当所有出厂坏块被寻找结束后,用XOR算法和raid算法进行加密和备份,其中,raid选择的是3+1模式,即假设总共ssd(固态硬盘)是4内存库,用3个内存库是允许主机写入数据但还有一个内存库用来进行备份,当数据出现错误或者大批量丢失会进行独立冗余磁盘阵列功能从这个内存库里面把数据库控件进行恢复上来以达到坏块数据不会出错的保证。
3.根据权利要求1或2所述的一种坏块表继承和管理方法,其特征在于,适用于:步骤1)后面两种步骤里面更新数据库控件和存储也都放在flash的raid部分。
4.根据权利要求2所述的一种坏块表继承和管理方法,其特征在于,适用于:步骤2)一样会用一个U32变量进行记录和标记,并以mp块插件为单位记录,每当某一个mp块插件发生变化的时候,会立刻进行更新mp块插件的比特记录,防止丢失了坏块数据的信息。
5.根据权利要求3所述的一种坏块表继承和管理方法,其特征在于,该方法适用于:硬盘首次被进行下载固件时。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310502051.3A CN116737065A (zh) | 2023-05-05 | 2023-05-05 | 一种坏块表继承和管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310502051.3A CN116737065A (zh) | 2023-05-05 | 2023-05-05 | 一种坏块表继承和管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116737065A true CN116737065A (zh) | 2023-09-12 |
Family
ID=87910501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310502051.3A Pending CN116737065A (zh) | 2023-05-05 | 2023-05-05 | 一种坏块表继承和管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116737065A (zh) |
-
2023
- 2023-05-05 CN CN202310502051.3A patent/CN116737065A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9020990B2 (en) | Stored data reverification management system and method | |
US6430738B1 (en) | Method and system for reversible installation of software applications in a data processing system utilizing an automated archival process | |
KR101184557B1 (ko) | 멀티레벨 데이터 저장 셀용 관리 동작 | |
US8200886B2 (en) | Efficient system and method for updating a memory device | |
US7610465B2 (en) | Method and related apparatus for data migration utilizing disk arrays | |
US10613943B2 (en) | Method and system for improving open block data reliability | |
EP1347383A1 (en) | Data recorder and method for recording data in flash memory | |
US20070245069A1 (en) | Storage Device, Memory Management Method and Program | |
US11093387B1 (en) | Garbage collection based on transmission object models | |
US20100077135A1 (en) | Memory wear leveling method, system and device | |
US20110055625A1 (en) | Nonvolatile memory device and memory controller | |
US20110015778A1 (en) | Data cartridge and tape library including flash memory | |
CN104050056A (zh) | 多存储介质设备的文件系统备份 | |
KR20030017532A (ko) | 데이터 기억 시스템 및 방법 | |
US7133984B1 (en) | Method and system for migrating data | |
CN110764704A (zh) | 一种环境变量写入方法、存储介质及电子装置 | |
US20130091322A1 (en) | Electronic System and Memory Managing Method Thereof | |
US9606749B2 (en) | Asynchronous tape backup and restore from tape backup in a disk storage environment | |
WO2005088448A1 (en) | Method and apparatus for reliable in-place update | |
CN100364013C (zh) | 在闪存中存放校验码的方法及装置 | |
KR100601626B1 (ko) | 소프트웨어 업그레이드 방법 및 이를 위한 기록 매체 | |
US20190354433A1 (en) | Parity log with by-pass | |
CN110658981B (zh) | 一种提高Flash使用寿命的方法 | |
CN116737065A (zh) | 一种坏块表继承和管理方法 | |
CN111414271B (zh) | 一种基于自适应存储冗余策略的存储方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |