CN111597066B - Ssd修复方法、装置、计算机设备及存储介质 - Google Patents
Ssd修复方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111597066B CN111597066B CN202010406808.5A CN202010406808A CN111597066B CN 111597066 B CN111597066 B CN 111597066B CN 202010406808 A CN202010406808 A CN 202010406808A CN 111597066 B CN111597066 B CN 111597066B
- Authority
- CN
- China
- Prior art keywords
- block
- physical blocks
- physical block
- physical
- ssd
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- 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)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及SSD修复方法、装置、计算机设备及存储介质;其中,方法,包括:在SSD中创建隐藏区;当用户数据区可用物理块的数量为0时,启动记录修复;废弃当前映射表,重建映射表;从隐藏区分配空白物理块,标记为目的物理块;选择用户数据区的数据块,标记为源物理块;将源物理块中的有效数据搬移至目的物理块;判断源物理块中的有效数据是否搬完;判断目的物理块是否写满;判断当前可用物理块的数量是否大于等于隐藏区可用保留物理块数量加1;将当前可用物理块中保留一定量的物理块到隐藏区。本发明通过创建隐藏区,保留一定的空白物理块,当用户数据区的可用物理块的数量为0时,使用该隐藏区的空白物理块进行全盘修复。
Description
技术领域
本发明涉及固态硬盘修复技术领域,更具体地说是指SSD修复方法、装置、计算机设备及存储介质。
背景技术
SSD(固态硬盘)已经被广泛应用于各种场合,目前在PC市场,已经逐步替代传统的HDD,从可靠性和性能方面为用户提供较好的体验。SSD由于NAND的特性,导致在数据写入物理页后不能直接复写,而是需要把整个物理块(很多的物理页)擦除后才能重新写入,由于该物理块内有其他有效数据的存在,简单地擦除是不可以的,由于这些问题的存在,需要引入逻辑到物理的映射表,且需要做垃圾回收。
正常情形下,垃圾回收操作能够保证系统中总是有可用的物理块,但是在某些特殊场景下,比如频繁的异常掉电,可能导致系统物理块耗尽完,一般发生这种场景时,系统就会锁死,导致无法正常使用;因此,无法满足需求。
发明内容
本发明的目的在于克服现有技术的缺陷,提供SSD修复方法、装置、计算机设备及存储介质。
为实现上述目的,本发明采用以下技术方案:
SSD修复方法,包括以下步骤:
在SSD中创建包含若干空白物理块的隐藏区;
当用户数据区的可用物理块的数量为0时,启动记录修复;
废弃当前映射表,扫描用户数据区重建映射表;
从隐藏区分配空白物理块,标记为目的物理块;
选择用户数据区的数据块,标记为源物理块;
将源物理块中的有效数据搬移至目的物理块;
判断源物理块中的有效数据是否搬完;
若没搬完,判断目的物理块是否写满;
若写满,判断当前可用物理块的数量是否大于等于隐藏区可用保留物理块数量加1;
若是,将当前可用物理块中保留一定量的物理块到隐藏区,作为后续修复所用,完成记录修复。
其进一步技术方案为:所述步骤“判断源物理块中的有效数据是否搬完”中,若已搬完,则返回步骤“选择用户数据区的数据块,标记为源物理块”。
其进一步技术方案为:所述步骤“判断目的物理块是否写满”中,若未写满,则返回步骤“将源物理块中的有效数据搬移至目的物理块”。
其进一步技术方案为:所述步骤“判断当前可用物理块的数量是否大于等于隐藏区可用保留物理块数量加1”中,若否,则返回步骤“从隐藏区分配空白物理块,标记为目的物理块”。
其进一步技术方案为:所述当前可用物理块包括用户数据区的垃圾块和隐藏区的空白物理块。
其进一步技术方案为:所述SSD修复方法还包括:当记录修复完成前发生异常掉电时,包括以下步骤:
系统上电;
判断记录修复是否完成;
若否,擦除所有隐藏区的物理块;
重新启动记录修复流程;
修复完成,正常运行。
SSD修复装置,包括:创建单元,启动单元,废弃扫描单元,分配单元,选择单元,搬移单元,第一判断单元,第二判断单元,第三判断单元,及保留单元;
所述创建单元,用于在SSD中创建包含若干空白物理块的隐藏区;
所述启动单元,用于当用户数据区的可用物理块的数量为0时,启动记录修复;
所述废弃扫描单元,用于废弃当前映射表,扫描用户数据区重建映射表;
所述分配单元,用于从隐藏区分配空白物理块,标记为目的物理块;
所述选择单元,用于选择用户数据区的数据块,标记为源物理块;
所述搬移单元,用于将源物理块中的有效数据搬移至目的物理块;
所述第一判断单元,用于判断源物理块中的有效数据是否搬完;
所述第二判断单元,用于判断目的物理块是否写满;
所述第三判断单元,用于判断当前可用物理块的数量是否大于等于隐藏区可用保留物理块数量加1;
所述保留单元,用于将当前可用物理块中保留一定量的物理块到隐藏区,作为后续修复所用,完成记录修复。
其进一步技术方案为:所述当前可用物理块包括用户数据区的垃圾块和隐藏区的空白物理块。
一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如上述所述的SSD修复方法。
一种存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现如上述所述的SSD修复方法。
本发明与现有技术相比的有益效果是:通过创建隐藏区,保留一定的空白物理块,当用户数据区的可用物理块的数量为0时,使用该隐藏区的空白物理块进行全盘修复,若在修复完成前再次发生异常掉电,则回滚对应的隐藏区状态,使其物理块恢复到空白块状态,重新进行修复,避免了异常掉电导致隐藏区的物理块被消耗完的情形,从而确保系统能够恢复正常运转状态,能够更好地满足需求。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为SSD物理块组成的应用示意图;
图2为现有的SSD在连续高频掉电场景下可用物理块被消耗完的应用示意图;
图3为本发明实施例提供的SSD修复方法的流程示意图一;
图4为本发明实施例提供的SSD修复方法的流程示意图二;
图5为本发明实施例提供的SSD修复方法的应用示意图一;
图6为本发明实施例提供的SSD修复方法的应用示意图二;
图7为本发明实施例提供的SSD修复装置的示意性框图;
图8为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1到图8所示的具体实施例,其中,请参阅图1所示的现有SSD的内部物理块组成,包括:
1、系统数据区:存放SSD管理/启动信息;
1.1固件,存放系统运行的软件;
1.2坏块表:存放SSD内部物理块坏块信息;
1.3映射表:存放周期性保存的内存中逻辑到物理的映射表,用以加速掉电后的重建;
1.4日志:系统运行时刻诊断信息。
2、用户数据区:存放用户数据;
2.1物理块:单个擦除单元;
2.2物理页:单个读写单元,每个物理块包含多个物理页;
2.3有效数据页:包含有效的用户数据的物理页;
2.4垃圾数据页:包含无效的用户数据的物理页(其数据被主机复写或者被申明为无效);
2.5空白物理页:物理块被擦除后尚未被写过的物理页;
2.6如果一个物理块中物理页全部为空白物理页,则称为可用物理块或者空白物理块,其可以被直接写入;
2.7如果一个物理块中均为无效数据(包含部分空白物理页),则称为垃圾物理块,其可以被擦除后重新写入。
其中,如图2所示,为当前SSD在连续高频掉电场景下可用物理块被消耗完的场景;
1、第N次异常掉电,掉电发生时,物理块正写入某个物理页,尚未成功完成,对应的物理页数据是非法的,且其后不能接着继续写入数据,否则会有数据丢失的风险;
2、此时上电后,会新分配一组空白物理块,且把前述部分编程的物理块中有效数据搬移到新的空白物理块,以便释放空间(异常掉电正在写入的物理块中尚未编程的空白页);
3、但步骤2尚未完成时,又发生了异常掉电N+1,此时又得分配一组新的空白物理块来处理前述俩组异常掉电时部分写入的物理块;
4、依次类推,在满盘(剩余空白物理块较少)且高频异常掉电的场景下,很容易将用户数据区的可用物理块消耗完;
5、一旦用户数据区的可用物理块消耗完,再也不能分配新的空白物理块来进行数据迁移以便释放可用空间,系统卡死。
现有的SSD中,为了释放可用的物理块,需要进行垃圾回收操作,将分散的数据从源物理块搬迁到空白块中,以便释放可用空间;当处于连续的异常掉电,且带电时间短的场景时,每次上电都会触发一组空白块的消耗,但垃圾回收因为时间短无法释放出有效空间来,故而导致系统可用块数量下降为0,后续再次上电时,因为无可用的空白块,导致系统锁死,无法继续使用。
其中,请参阅图3至图6所示,本发明公开了一种SSD修复方法,包括以下步骤:
S1,在SSD中创建包含若干空白物理块的隐藏区;
S2,当用户数据区的可用物理块的数量为0时,启动记录修复;
S3,废弃当前映射表,扫描用户数据区重建映射表;
其中,当前映射表包括内存中以及系统数据区存储的。
S4,从隐藏区分配空白物理块,标记为目的物理块;
S5,选择用户数据区的数据块,标记为源物理块;
S6,将源物理块中的有效数据搬移至目的物理块;
S7,判断源物理块中的有效数据是否搬完;若已搬完,则返回步骤“选择用户数据区的数据块,标记为源物理块”;
S8,若没搬完,判断目的物理块是否写满;若未写满,则返回步骤“将源物理块中的有效数据搬移至目的物理块”;
S9,若写满,判断当前可用物理块的数量是否大于等于隐藏区可用保留物理块数量加1;若否,则返回步骤“从隐藏区分配空白物理块,标记为目的物理块”;
其中,若是,当前可用物理块的数量是否大于等于隐藏区可用保留物理块数量加1,说明在原有的隐藏区的基础上至少释放出一组额外的可用物理块;
S10,若是,将当前可用物理块中保留一定量的物理块到隐藏区,作为后续修复所用,完成记录修复。
其中,将当前可用物理块中保留一定量的物理块到隐藏区,里面的物理块如果为垃圾物理块,则先进行擦除。
其中,所述当前可用物理块包括用户数据区的垃圾块和隐藏区的空白物理块。
请参阅图4所示,所述SSD修复方法还包括:当记录修复完成前发生异常掉电时,包括以下步骤:
A1,系统上电;
A2,判断记录修复是否完成;若是,直接进入A5;
A3,若否,擦除所有隐藏区的物理块;
A4,重新启动记录修复流程,对应上述的步骤S3-S10;
A5,修复完成,正常运行。
请参阅图5所示,本发明所引入的物理块管理机制:
1、在传统的分区基础上引入一个隐藏区,隐藏区在正常运行过程中不可见;
2、隐藏区中包含一定量(具体地数量,可以根据实际需要,进行设定)的空白物理块;
3、当因为异常(如高频异常掉电)导致用户数据区的空白物理块降为0时,则使用隐藏区的空白物理块进行修复;
4、不同于正常前述的数据搬移过程,在修复过程中,如果发生异常掉电,则可以进行回滚操作,也即回滚到隐藏区中物理块全部为空白可用状态,从而可以重新修复;
5、修复完成后,将隐藏区的被使用的物理块(已装有用户数据)置换为用户区物理块,且从用户区释放出来的物理块中置换部分到隐藏区,以便后续再次发生修复场景使用。
请参阅图6所示,本发明实施例提供的SSD修复方法的应用示意图:
阶段1:此时用户数据区的可用物理块数量为0,从隐藏区分配物理空白物理块;
选择用户区合适的源物理块(优选地选择有效数据最少的物理块,从而能够最快地释放对应的物理块),将源物理块中的有效数据页搬到目的物理块;
阶段2,当目的物理块写满时,源物理块分组(Group)1/2/3中的有效数据均被搬移到目的块中,故而分组1/2/3为垃圾块,不包含任何有效数据;
阶段3,将分组1/2/3擦除,因为分组4中包含用户数据,将其与分组1置换,此后分组2/3/4为用户区物理块,分组1为隐藏区物理块;
从而保障了用户区可用物理块不为0,同时隐藏区的物理块数量维持不变,后续若再发生异常导致用户数据区可用物理块为0,则可重复该修复流程。
本发明通过创建隐藏区,保留一定的空白物理块,当用户数据区的可用物理块的数量为0时,使用该隐藏区的空白物理块进行全盘修复,若在修复完成前再次发生异常掉电,则回滚对应的隐藏区状态,使其物理块恢复到空白块状态,重新进行修复,避免了异常掉电导致隐藏区的物理块被消耗完的情形,从而确保系统能够恢复正常运转状态,能够更好地满足需求。
请参阅图7所示,本发明还公开了一种SSD修复装置,包括:创建单元10,启动单元20,废弃扫描单元30,分配单元40,选择单元50,搬移单元60,第一判断单元70,第二判断单元80,第三判断单元90,及保留单元100;
所述创建单元10,用于在SSD中创建包含若干空白物理块的隐藏区;
所述启动单元20,用于当用户数据区的可用物理块的数量为0时,启动记录修复;
所述废弃扫描单元30,用于废弃当前映射表,扫描用户数据区重建映射表;
所述分配单元40,用于从隐藏区分配空白物理块,标记为目的物理块;
所述选择单元50,用于选择用户数据区的数据块,标记为源物理块;
所述搬移单元60,用于将源物理块中的有效数据搬移至目的物理块;
所述第一判断单元70,用于判断源物理块中的有效数据是否搬完;
所述第二判断单元80,用于判断目的物理块是否写满;
所述第三判断单元90,用于判断当前可用物理块的数量是否大于等于隐藏区可用保留物理块数量加1;
所述保留单元100,用于将当前可用物理块中保留一定量的物理块到隐藏区,作为后续修复所用,完成记录修复。
其中,所述当前可用物理块包括用户数据区的垃圾块和隐藏区的空白物理块。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述SSD修复装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述SSD修复装置可以实现为一种计算机程序的形式,该计算机程序可以在如图8所示的计算机设备上运行。
请参阅图8,图8是本申请实施例提供的一种计算机设备的示意性框图;该计算机设备500可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图8,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种SSD修复方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种SSD修复方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessingUnit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中计算机程序包括程序指令,所述程序指令当被处理器执行时可实现上述的SSD修复方法。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
上述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。本发明的保护范围以权利要求书为准。
Claims (7)
1.SSD修复方法,其特征在于,包括以下步骤:
在SSD中创建包含若干空白物理块的隐藏区;
当用户数据区的可用物理块的数量为0时,启动记录修复;
废弃当前映射表,扫描用户数据区,重建映射表;
从隐藏区分配空白物理块,标记为目的物理块;
选择用户数据区的数据块,标记为源物理块;
将源物理块中的有效数据搬移至目的物理块;
判断源物理块中的有效数据是否搬完;
若没搬完,判断目的物理块是否写满;
若写满,判断当前可用物理块的数量是否大于等于隐藏区可用保留物理块数量加1;
若是,将当前可用物理块中一定量的物理块保留到隐藏区,作为后续修复所用,完成记录修复;
所述步骤“判断源物理块中的有效数据是否搬完”中,若已搬完,则返回步骤“选择用户数据区的数据块,标记为源物理块”;
所述步骤“判断目的物理块是否写满”中,若未写满,则返回步骤“将源物理块中的有效数据搬移至目的物理块”;
所述步骤“判断当前可用物理块的数量是否大于等于隐藏区可用保留物理块数量加1”中,若否,则返回步骤“从隐藏区分配空白物理块,标记为目的物理块”;
其中,映射表指的是存放周期性保存在内存中逻辑地址到物理地址的映射表。
2.根据权利要求1所述的SSD修复方法,其特征在于,所述当前可用物理块包括用户数据区的垃圾块和隐藏区的空白物理块。
3.根据权利要求1所述的SSD修复方法,其特征在于,所述SSD修复方法还包括:当记录修复完成前发生异常掉电时,包括以下步骤:
系统上电;
判断记录修复是否完成;
若否,擦除所有隐藏区的物理块;
重新启动记录修复流程;
修复完成,正常运行。
4.SSD修复装置,其特征在于,包括:创建单元,启动单元,废弃扫描单元,分配单元,选择单元,搬移单元,第一判断单元,第二判断单元,第三判断单元,及保留单元;
所述创建单元,用于在SSD中创建包含若干空白物理块的隐藏区;
所述启动单元,用于当用户数据区的可用物理块的数量为0时,启动记录修复;
所述废弃扫描单元,用于废弃当前映射表,扫描用户数据区,重建映射表;
所述分配单元,用于从隐藏区分配空白物理块,标记为目的物理块;
所述选择单元,用于选择用户数据区的数据块,标记为源物理块;
所述搬移单元,用于将源物理块中的有效数据搬移至目的物理块;
所述第一判断单元,用于判断源物理块中的有效数据是否搬完;若已搬完,则执行所述选择用户数据区的数据块,标记为源物理块;
所述第二判断单元,用于判断目的物理块是否写满;若未写满,则执行所述将源物理块中的有效数据搬移至目的物理块;
所述第三判断单元,用于判断当前可用物理块的数量是否大于等于隐藏区可用保留物理块数量加1;若否,则执行所述从隐藏区分配空白物理块,标记为目的物理块;
所述保留单元,用于将当前可用物理块中一定量的物理块保留到隐藏区,作为后续修复所用,完成记录修复;
其中,映射表指的是存放周期性保存在内存中逻辑地址到物理地址的映射表。
5.根据权利要求4所述的SSD修复装置,其特征在于,所述当前可用物理块包括用户数据区的垃圾块和隐藏区的空白物理块。
6.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-3中任一项所述的SSD修复方法。
7.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现如权利要求1-3中任一项所述的SSD修复方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010406808.5A CN111597066B (zh) | 2020-05-14 | 2020-05-14 | Ssd修复方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010406808.5A CN111597066B (zh) | 2020-05-14 | 2020-05-14 | Ssd修复方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111597066A CN111597066A (zh) | 2020-08-28 |
CN111597066B true CN111597066B (zh) | 2023-06-06 |
Family
ID=72182774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010406808.5A Active CN111597066B (zh) | 2020-05-14 | 2020-05-14 | Ssd修复方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111597066B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI817502B (zh) * | 2022-05-13 | 2023-10-01 | 宇瞻科技股份有限公司 | 固態硬碟系統 |
CN117312029B (zh) * | 2023-09-15 | 2024-06-07 | 深圳市富芯通科技有限公司 | 一种ssd芯片坏块管理方法、系统、设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5546558A (en) * | 1994-06-07 | 1996-08-13 | Hewlett-Packard Company | Memory system with hierarchic disk array and memory map store for persistent storage of virtual mapping information |
US5651133A (en) * | 1995-02-01 | 1997-07-22 | Hewlett-Packard Company | Methods for avoiding over-commitment of virtual capacity in a redundant hierarchic data storage system |
US5666512A (en) * | 1995-02-10 | 1997-09-09 | Hewlett-Packard Company | Disk array having hot spare resources and methods for using hot spare resources to store user data |
CN101425338A (zh) * | 2007-10-29 | 2009-05-06 | 群联电子股份有限公司 | 非易失性存储器的写入方法及使用此方法的控制器 |
CN102591807A (zh) * | 2011-12-30 | 2012-07-18 | 记忆科技(深圳)有限公司 | 一种固态硬盘掉电和写异常处理方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120132820A (ko) * | 2011-05-30 | 2012-12-10 | 삼성전자주식회사 | 스토리지 디바이스, 스토리지 시스템 및 스토리지 디바이스의 가상화 방법 |
-
2020
- 2020-05-14 CN CN202010406808.5A patent/CN111597066B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5546558A (en) * | 1994-06-07 | 1996-08-13 | Hewlett-Packard Company | Memory system with hierarchic disk array and memory map store for persistent storage of virtual mapping information |
US5651133A (en) * | 1995-02-01 | 1997-07-22 | Hewlett-Packard Company | Methods for avoiding over-commitment of virtual capacity in a redundant hierarchic data storage system |
US5666512A (en) * | 1995-02-10 | 1997-09-09 | Hewlett-Packard Company | Disk array having hot spare resources and methods for using hot spare resources to store user data |
CN101425338A (zh) * | 2007-10-29 | 2009-05-06 | 群联电子股份有限公司 | 非易失性存储器的写入方法及使用此方法的控制器 |
CN102591807A (zh) * | 2011-12-30 | 2012-07-18 | 记忆科技(深圳)有限公司 | 一种固态硬盘掉电和写异常处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111597066A (zh) | 2020-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9645894B2 (en) | Data storage device and flash memory control method | |
CN102971717B (zh) | 存储器访问表保存和复原系统及方法 | |
JP5351046B2 (ja) | フラッシュメモリシステムの高速起動を容易にする方法およびシステム | |
US7783851B2 (en) | Methods of reusing log blocks in non-volatile memories and related non-volatile memory devices | |
US9213634B2 (en) | Efficient reuse of segments in nonoverwrite storage systems | |
KR20040038712A (ko) | 비휘발성 메모리 시스템에서 사용하기 위한 전원 관리 블럭 | |
US20150254013A1 (en) | Method for storing metadata of log-structured file system for flash memory | |
US8775758B2 (en) | Memory device and method for performing a write-abort-safe firmware update | |
CN106155915B (zh) | 数据存储的处理方法及装置 | |
JP7547231B2 (ja) | メモリシステムおよび制御方法 | |
US11995318B2 (en) | Deallocated block determination | |
CN111597066B (zh) | Ssd修复方法、装置、计算机设备及存储介质 | |
TW201947585A (zh) | 非揮發性記憶體系統、nand快閃記憶體裝置及主機裝置 | |
CN111124294B (zh) | 一种扇区映射信息的管理方法及装置、存储介质和设备 | |
US10949340B2 (en) | Block mapping systems and methods for storage device | |
CN107544866B (zh) | 一种日志更新方法与装置 | |
JP6221702B2 (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム | |
EP2071463B1 (en) | Method for processing a file, storage medium and processing arrangement | |
US11579892B2 (en) | Digital device for performing booting process and control method therefor | |
US20240095163A1 (en) | Memory system including nonvolatile memory and method of controlling the same | |
GB2458711A (en) | Replacing bad blocks in a main partition of memory with blocks from a secondary partition which can be used as a swap partition |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |