CN108804026A - 一种固态硬盘全盘扫描方法及固态硬盘 - Google Patents

一种固态硬盘全盘扫描方法及固态硬盘 Download PDF

Info

Publication number
CN108804026A
CN108804026A CN201810259643.6A CN201810259643A CN108804026A CN 108804026 A CN108804026 A CN 108804026A CN 201810259643 A CN201810259643 A CN 201810259643A CN 108804026 A CN108804026 A CN 108804026A
Authority
CN
China
Prior art keywords
solid state
mapping table
area
data
state disk
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.)
Granted
Application number
CN201810259643.6A
Other languages
English (en)
Other versions
CN108804026B (zh
Inventor
顾何平
周冬华
杨洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Union Memory Information System Co Ltd
Original Assignee
Shenzhen Union Memory Information System Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Union Memory Information System Co Ltd filed Critical Shenzhen Union Memory Information System Co Ltd
Priority to CN201810259643.6A priority Critical patent/CN108804026B/zh
Publication of CN108804026A publication Critical patent/CN108804026A/zh
Application granted granted Critical
Publication of CN108804026B publication Critical patent/CN108804026B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

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)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种固态硬盘全盘扫描方法及固态硬盘,其特征在于将固态硬盘各个分区的前N个LBA数据块设为系统数据区,其它数据块设为用户数据区,创建系统区映射表和数据区映射表,系统数据区通过系统区映射表进行映射管理,用户数据区通过数据区映射表进行管理,启动全盘扫描时,先扫描系统数据区对系统区映射表进行恢复;再启动用户数据区扫描,对数据区映射表进行恢复。本发明提出了一种新的全盘扫描启动算法,能通过对读写数据的分流,有效降低host端主动断电重启的概率,使得FDS能够完成,从而使得固态硬盘恢复工作。

Description

一种固态硬盘全盘扫描方法及固态硬盘
技术领域
本发明涉及存储技术领域,尤其涉及一种固态硬盘全盘扫描方法及固态硬盘。
背景技术
闪存转换层(Flash Translation Layer,FTL)是NAND FLASH固件的重要组成部分,它管理着NAND数据的映射信息。而映射信息是存储在NAND上的。然而因为各种各样的原因,NAND上的MAP表会遭到破坏丢失,这样,就需要进行全盘扫描(Full Disk Scan,FDS)来重建映射表。
现有固态硬盘采用的全盘扫描启动技术,在开机上电的时候,会检查NAND上存储的映射表有无错误,如果无错误,就从NAND上读取正确的映射表,并依据映射表,进行其他数据的恢复和准备工作。图1是现有映射表错误进行FDS的示例,当NAND上的映射表存在丢失或者错误的情况下,会进行全盘扫描MapBlock,从各个有效block上读取信息,把每个page上存储的逻辑地址(LPA)获取到,并和物理地址(PPA)一一对应,根据全盘扫描出有效数据Block重建映射表。这就是FDS的过程。图2是现有响应主机host的过程示意图,在FDS过程中,必须全盘扫描完才能建立新的映射表,因此在映射表尚未重建完成时,无法响应host发起的数据读写请求,响应host读写请求时间过长。因此,host在长时间发送请求无响应的情况下,会无法识别到固态硬盘的状态,包括固态硬盘的盘符,容量,可用空间等信息,从而主动断电,固态硬盘被动重启。现有技术下,固态硬盘一旦重启了,进行中的FDS过程中断,由于映射表只恢复了一部分,并未完整保存。重启后,映射表仍然因为不完整而不可用,只能重头开始进行FDS过程,周而复始。因此,现有技术下,大容量的固态硬盘,一旦因为某些原因丢失了映射表,在host端看来,就会始终无法识盘,彻底不工作了。
该现有技术在小容量固态硬盘上,只要全盘扫描时间小于host端的无响应断电重启时间,能完全正确地工作。然而,随着固态硬盘容量越来越大,一旦用户存储的数据足够多,即有效block数增大,FDS需要对用户数据block进行扫描,有效block越多,FDS耗时越长。在FDS进行中,SSD无法响应host读写请求,导致host端无法识别到设备,host过一定时间就会主动断电进行重启,FTL未保存的数据都会丢失,包括未保存的映射表,下次上电时,FDS就需要重头进行,导致SSD始终无法被识别到。随着SSD的容量不断增大,FDS耗时过长引起的不能识盘问题越来越凸显,亟待解决。
发明内容
针对以上缺陷,本发明目的在于如何解决大容量固态硬盘全盘扫描导致的不能识盘的问题。
为了实现上述目的,本发明提供了一种固态硬盘全盘扫描方法,其特征在于将固态硬盘各个分区的前N个LBA数据块设为系统数据区sys data,其它数据块设为用户数据区user data,创建系统区映射表System map和数据区映射表User Map,系统数据区通过系统区映射表进行映射管理,用户数据区通过数据区映射表进行管理,启动全盘扫描时,先扫描系统数据区对系统区映射表进行恢复;再启动用户数据区扫描,对数据区映射表进行恢复。
所述的固态硬盘全盘扫描方法,其特征在于还增加命令识别模块,用于识别主机下发的访问命令是用于访问用户数据区还是访问系统数据区,当固态硬盘正在扫描系统数据区时,固态硬盘不响应任何主机数据访问命令,当系统区映射表恢复后,固态硬盘仅响应访问系统数据区的命令;当数据区映射表恢复后,固态硬盘可以响应访问用户数据区和访问系统数据区的指令。
所述的固态硬盘全盘扫描方法,其特征在于N为4096。
一种固态硬盘,其特征在于固态硬盘嵌入了全盘扫描模块和命令识别模块,将固态硬盘各个分区的前N个LBA数据块设为系统数据区,其它数据块设为用户数据区,创建系统区映射表和数据区映射表,系统数据区通过系统区映射表进行映射管理,用户数据区通过数据区映射表进行管理,启动全盘扫描时,先扫描系统数据区对系统区映射表进行恢复;再启动用户数据区扫描,对数据区映射表进行恢复;用于识别主机下发的访问命令是用于访问用户数据区还是访问系统数据区,当固态硬盘正在扫描系统数据区时,固态硬盘不响应任何主机数据访问命令,当系统区映射表恢复后,固态硬盘仅响应访问系统数据区的命令;当数据区映射表恢复后,固态硬盘可以响应访问用户数据区和访问系统数据区的指令。
本发明提出了一种新的全盘扫描启动算法,能通过对读写数据的分流,有效降低host端主动断电重启的概率,使得FDS能够完成,从而使得固态硬盘恢复工作。
附图说明
图1是现有映射表错误进行FDS的示例;
图2是现有响应主机host的过程示意图;
图3是改进后的映射表错误进行的FDS的流程示意;
图4是改进后响应主机host的过程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对现有的盘扫描存在的问题提出了能通过对读写数据的分流,有效降低host端发起reset的概率,使得FDS能够完成,从而使得固态硬盘快速恢复工作。
常用的文件系统(如FAT32,NTFS等),分区关键信息,如分区起始位置、分区大小、文件FAT表、根目录等信息,都是存储在整个分区靠前的位置的。通过对常用文件系统的理论分析,将前4096个LBA定义为“系统数据”,将其他LBA定义为“用户数据”。
Host端在上电识盘时,进行的是系统数据的读写操作,将分区的关键信息读取上来,并将盘符、盘大小、盘可用空间等信息显示给用户。图3是改进后的映射表错误进行的FDS的流程示意,通过将系统数据的映射信息同用户映射信息分开存储,并加以保护,可以使得占绝大多数空间的用户数据映射表丢失时,host仍然能够通过系统数据的读取识别到固态硬盘,从而避免host发送reset请求。这就是分流的作用。
图4反映出该方案,能大大降低响应host的时间,只要file system map不出错,立刻能对host进行响应,在响应的同时,进行user map的恢复,两者可以同步进行。
图4是改进后响应主机host的过程示意图,下面描述下该方案的具体实施步骤。
步骤1:将系统数据与用户数据映射表分开存储,存放在不同的block上,最大限度降低两张表同时丢失的可能性。
步骤2:开机上电时,优先恢复系统数据映射表。
步骤3:若用户数据映射表正常,则直接恢复,跳转到步骤6,否则,进行步骤4。
步骤4:后台进行FDS恢复用户数据映射表,同时,在数据通路,对host下发的系统数据请求,查询系统数据映射表,予以正常响应。对host下发的用户数据请求,不予响应。
步骤5:在FDS期间,因为host能读取到关于固态硬盘的关键信息,这些信息的LBA均属于前4096个LBA,属于已经正常恢复的系统数据映射表,能够正确读写,所以此时host能正常显示该固态硬盘的盘符、总容量、所含文件等信息,因此host认为此时该固态硬盘状态“正常”,不会主动进行断电重启。这就给予固态硬盘足够的时间来完成FDS,直到用户数据映射表重建完成。
步骤6:初始化完成,正常响应所有host请求。
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。

Claims (4)

1.一种固态硬盘全盘扫描方法,其特征在于将固态硬盘各个分区的前N个LBA数据块设为系统数据区,其它数据块设为用户数据区,创建系统区映射表和数据区映射表,系统数据区通过系统区映射表进行映射管理,用户数据区通过数据区映射表进行管理,启动全盘扫描时,先扫描系统数据区对系统区映射表进行恢复;再启动用户数据区扫描,对数据区映射表进行恢复。
2.根据权利要求1所述的固态硬盘全盘扫描方法,其特征在于还增加命令识别模块,用于识别主机下发的访问命令是用于访问用户数据区还是访问系统数据区,当固态硬盘正在扫描系统数据区时,固态硬盘不响应任何主机数据访问命令,当系统区映射表恢复后,固态硬盘仅响应访问系统数据区的命令;当数据区映射表恢复后,固态硬盘可以响应访问用户数据区和访问系统数据区的指令。
3.根据权利要求2所述的固态硬盘全盘扫描方法,其特征在于N为4096。
4.一种固态硬盘,其特征在于固态硬盘嵌入了全盘扫描模块和命令识别模块,将固态硬盘各个分区的前N个LBA数据块设为系统数据区,其它数据块设为用户数据区,创建系统区映射表和数据区映射表,系统数据区通过系统区映射表进行映射管理,用户数据区通过数据区映射表进行管理,启动全盘扫描时,先扫描系统数据区对系统区映射表进行恢复;再启动用户数据区扫描,对数据区映射表进行恢复;用于识别主机下发的访问命令是用于访问用户数据区还是访问系统数据区,当固态硬盘正在扫描系统数据区时,固态硬盘不响应任何主机数据访问命令,当系统区映射表恢复后,固态硬盘仅响应访问系统数据区的命令;当数据区映射表恢复后,固态硬盘可以响应访问用户数据区和访问系统数据区的指令。
CN201810259643.6A 2018-03-27 2018-03-27 一种固态硬盘全盘扫描方法及固态硬盘 Active CN108804026B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810259643.6A CN108804026B (zh) 2018-03-27 2018-03-27 一种固态硬盘全盘扫描方法及固态硬盘

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810259643.6A CN108804026B (zh) 2018-03-27 2018-03-27 一种固态硬盘全盘扫描方法及固态硬盘

Publications (2)

Publication Number Publication Date
CN108804026A true CN108804026A (zh) 2018-11-13
CN108804026B CN108804026B (zh) 2022-02-18

Family

ID=64095422

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810259643.6A Active CN108804026B (zh) 2018-03-27 2018-03-27 一种固态硬盘全盘扫描方法及固态硬盘

Country Status (1)

Country Link
CN (1) CN108804026B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110704337A (zh) * 2019-09-23 2020-01-17 深圳忆联信息系统有限公司 基于固态硬盘的映射表重建方法、装置和计算机设备
CN111581007A (zh) * 2020-05-11 2020-08-25 深圳忆联信息系统有限公司 Ssd上电后快速重建响应方法、装置和计算机设备
CN113311991A (zh) * 2020-02-27 2021-08-27 西部数据技术公司 具有针对优选用户数据改进的写入性能的数据存储
CN113535086A (zh) * 2021-07-12 2021-10-22 成都信息工程大学 一种固态硬盘中重建的加速方法

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101751343A (zh) * 2009-12-28 2010-06-23 成都市华为赛门铁克科技有限公司 固态硬盘数据写入方法及装置
CN102591807A (zh) * 2011-12-30 2012-07-18 记忆科技(深圳)有限公司 一种固态硬盘掉电和写异常处理方法及系统
CN102750202A (zh) * 2012-06-06 2012-10-24 宇龙计算机通信科技(深圳)有限公司 数据保护方法和装置
CN102968361A (zh) * 2012-11-19 2013-03-13 浪潮电子信息产业股份有限公司 一种raid数据自修复的方法
CN103970683A (zh) * 2014-05-07 2014-08-06 山东华芯半导体有限公司 一种加速u盘启动的方法
CN104077197A (zh) * 2013-03-29 2014-10-01 联想(北京)有限公司 系统恢复方法、装置、固态硬盘和电子设备
CN104461393A (zh) * 2014-12-09 2015-03-25 华中科技大学 一种闪存存储器的混合映射方法
CN105005535A (zh) * 2015-07-22 2015-10-28 清华大学 一种分布式闪存事务处理方法
CN105302747A (zh) * 2014-07-11 2016-02-03 深圳市腾讯计算机系统有限公司 一种存储器启动控制方法,及存储器启动控制装置
CN105740162A (zh) * 2015-12-31 2016-07-06 上海盈方微电子有限公司 应用于nand存储器的nftl数据存储系统及方法
CN106502928A (zh) * 2016-09-29 2017-03-15 华为技术有限公司 一种存储系统掉电保护方法、存储控制器及电子设备
CN107203338A (zh) * 2017-04-25 2017-09-26 北京小鸟看看科技有限公司 一种虚拟现实设备的存储方法、装置及虚拟现实设备
CN107608624A (zh) * 2017-08-11 2018-01-19 记忆科技(深圳)有限公司 一种提升固态硬盘性能的方法
CN107656837A (zh) * 2017-09-27 2018-02-02 深圳秀豹科技有限公司 一种对共享智能设备实现用户分区恢复的系统和方法
CN107656875A (zh) * 2017-09-15 2018-02-02 忆正科技(武汉)有限公司 作为系统盘的固态硬盘缩短上电时间的方法及系统

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101751343A (zh) * 2009-12-28 2010-06-23 成都市华为赛门铁克科技有限公司 固态硬盘数据写入方法及装置
CN102591807A (zh) * 2011-12-30 2012-07-18 记忆科技(深圳)有限公司 一种固态硬盘掉电和写异常处理方法及系统
CN102750202A (zh) * 2012-06-06 2012-10-24 宇龙计算机通信科技(深圳)有限公司 数据保护方法和装置
CN102968361A (zh) * 2012-11-19 2013-03-13 浪潮电子信息产业股份有限公司 一种raid数据自修复的方法
CN104077197A (zh) * 2013-03-29 2014-10-01 联想(北京)有限公司 系统恢复方法、装置、固态硬盘和电子设备
CN103970683A (zh) * 2014-05-07 2014-08-06 山东华芯半导体有限公司 一种加速u盘启动的方法
CN105302747A (zh) * 2014-07-11 2016-02-03 深圳市腾讯计算机系统有限公司 一种存储器启动控制方法,及存储器启动控制装置
CN104461393A (zh) * 2014-12-09 2015-03-25 华中科技大学 一种闪存存储器的混合映射方法
CN105005535A (zh) * 2015-07-22 2015-10-28 清华大学 一种分布式闪存事务处理方法
CN105740162A (zh) * 2015-12-31 2016-07-06 上海盈方微电子有限公司 应用于nand存储器的nftl数据存储系统及方法
CN106502928A (zh) * 2016-09-29 2017-03-15 华为技术有限公司 一种存储系统掉电保护方法、存储控制器及电子设备
CN107203338A (zh) * 2017-04-25 2017-09-26 北京小鸟看看科技有限公司 一种虚拟现实设备的存储方法、装置及虚拟现实设备
CN107608624A (zh) * 2017-08-11 2018-01-19 记忆科技(深圳)有限公司 一种提升固态硬盘性能的方法
CN107656875A (zh) * 2017-09-15 2018-02-02 忆正科技(武汉)有限公司 作为系统盘的固态硬盘缩短上电时间的方法及系统
CN107656837A (zh) * 2017-09-27 2018-02-02 深圳秀豹科技有限公司 一种对共享智能设备实现用户分区恢复的系统和方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
冯东晖等: "一种基于细粒度扫描技术的文件恢复方法", 《微处理机》 *
田洪亮等: "可信固态硬盘:大数据安全的新基础", 《计算机学报》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110704337A (zh) * 2019-09-23 2020-01-17 深圳忆联信息系统有限公司 基于固态硬盘的映射表重建方法、装置和计算机设备
CN110704337B (zh) * 2019-09-23 2021-01-19 深圳忆联信息系统有限公司 基于固态硬盘的映射表重建方法、装置和计算机设备
CN113311991A (zh) * 2020-02-27 2021-08-27 西部数据技术公司 具有针对优选用户数据改进的写入性能的数据存储
CN111581007A (zh) * 2020-05-11 2020-08-25 深圳忆联信息系统有限公司 Ssd上电后快速重建响应方法、装置和计算机设备
CN113535086A (zh) * 2021-07-12 2021-10-22 成都信息工程大学 一种固态硬盘中重建的加速方法
CN113535086B (zh) * 2021-07-12 2023-07-25 中飞赛维智能科技股份有限公司 一种固态硬盘中重建的加速方法

Also Published As

Publication number Publication date
CN108804026B (zh) 2022-02-18

Similar Documents

Publication Publication Date Title
TWI514140B (zh) 非揮發性記憶裝置及其操作方法
CN108804026A (zh) 一种固态硬盘全盘扫描方法及固态硬盘
US11243706B2 (en) Fragment management method and fragment management apparatus
CN103136116B (zh) 存储器存储系统及其中控装置、管理方法与断电恢复方法
CN111752487B (zh) 一种数据恢复方法、装置及固态硬盘
CN102855193B (zh) 非易失性存储系统中未使用的逻辑地址的挂载时去映射
JP5404798B2 (ja) 仮想記憶管理装置及び記憶管理装置
CN108255410B (zh) 一种处理磁盘漫游的方法、raid控制器和设备
CN103577121A (zh) 一种基于nand flash的高可靠线性文件存取方法
US20100312955A1 (en) Memory system and method of managing the same
CN109344094B (zh) 地址映射关系反馈方法、装置、设备及可读存储介质
WO2017148242A1 (zh) 一种访问叠瓦式磁记录smr硬盘的方法及服务器
US20120311261A1 (en) Storage system and storage control method
JP2006268503A (ja) 計算機システム、ディスク装置およびデータ更新制御方法
CN103577574A (zh) 一种基于nand flash的高可靠线性文件系统
CN103270500A (zh) 事务日志恢复
CN106294007B (zh) 一种数据恢复方法及装置
CN106201652B (zh) 一种数据处理方法及虚拟机
CN106527992A (zh) 一种存储设备数据销毁方法及装置
CN109614044A (zh) 一种固态硬盘写错误的处理方法、装置及设备
CN102323899B (zh) Numa体系结构下面向容错的操作系统内存管理方法
TW201216057A (en) Block management method, memory controller and memory storage apparatus
CN104050014A (zh) 基于虚拟化平台的高效存储管理方法
CN114064352A (zh) 存储器存储装置
CN111142792B (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
GR01 Patent grant
GR01 Patent grant