CN107632943A - 一种固态硬盘数据保护的方法及固态硬盘 - Google Patents

一种固态硬盘数据保护的方法及固态硬盘 Download PDF

Info

Publication number
CN107632943A
CN107632943A CN201710760615.8A CN201710760615A CN107632943A CN 107632943 A CN107632943 A CN 107632943A CN 201710760615 A CN201710760615 A CN 201710760615A CN 107632943 A CN107632943 A CN 107632943A
Authority
CN
China
Prior art keywords
page
data
state hard
write
mapping 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.)
Granted
Application number
CN201710760615.8A
Other languages
English (en)
Other versions
CN107632943B (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.)
Ramaxel Technology Shenzhen Co Ltd
Original Assignee
Ramaxel Technology Shenzhen 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 Ramaxel Technology Shenzhen Co Ltd filed Critical Ramaxel Technology Shenzhen Co Ltd
Priority to CN201710760615.8A priority Critical patent/CN107632943B/zh
Publication of CN107632943A publication Critical patent/CN107632943A/zh
Application granted granted Critical
Publication of CN107632943B publication Critical patent/CN107632943B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种固态硬盘数据保护的方法及固态硬盘,其特征在于在固态硬盘控制器中增加判断当前写入的数据页所在wordline内的sub‑page是否都已完成写入操作,如果所在wordline内的sub‑page都已完成写入操作,则在数据页写入操作完成后直接更新映射表,所述映射表记录了逻辑地址与物理地址的映射关系;如果所在wordline内的sub‑page还存在未完成写入操作时,则将该写入数据页对应的逻辑地址与物理地址的映射关系在数据页写入操作完成后写入新增加的临时映射表中;所述临时映射表在固态硬盘控制器掉电重启时重新进行初始化。在保证同一个wordline上的所有sub_page的数据都完成写入才将对应的逻辑地址与物理地址的映射关系更新到映射表中,防止数据丢失对系统造成不可预知的影响。

Description

一种固态硬盘数据保护的方法及固态硬盘
技术领域
本发明涉及固态硬盘控制技术,特别涉及一种固态硬盘数据保护的方法及固态硬盘。
背景技术
固态硬盘存储介质主要为NAND flash,不同工艺的NAND flash存在不同的特性。根据NAND flash的特性,block内各page之间存在同属于一个字线wordline的关系。例如,MLC NAND flash一个wordline有两个子页sub_page,分别为低页low_page和高页up_page。图1是NAND FLASH同一个wordline的组成示意图,page_x和page_x’同属于一个wordline。同一wordline内的sub_page之间有如下特性:在program up_page时,若发生异常掉电,导致该up_page发生partial program,则与该up_page同一wordline的low_page内的数据会发生读取错误。
图2是发生数据丢失的示例图,正常处理逻辑在写program page a完成后,LPA x->page a的映射信息就同步记录到映射表中,当在写program page a’是发生异常掉电时,发生了掉电,这时候就会发生再次上电后根据该映射信息读取page a,page a内数据无法读取,造成数据丢失现有技术在处理此问题时通常采用外置电容的方式,通过外置电容在异常掉电时对SSD提供额外的电源支撑,保证数据的安全写入再掉电。该方案的缺陷在于外置电容成本高昂,且随着时间的推移,外置电容备电时间会存在下降的情况。本方案采用纯软件解决方案,不会增加设备成本,且可以有效处理掉电场景下的数据丢失。
发明内容
针对以上缺陷,本发明目的是如何通过纯软件的方式解决异常掉电时造成的数据破坏问题。
为了解决以上问题本发明提出了一种固态硬盘数据保护的方法,其特征在于在固态硬盘控制器中增加判断当前写入的数据页所在wordline内的sub-page是否都已完成写入操作,如果所在wordline内的sub-page都已完成写入操作,则在数据页写入操作完成后直接更新映射表,所述映射表记录了逻辑地址与物理地址的映射关系;如果所在wordline内的sub-page还存在未完成写入操作时,则将该写入数据页对应的逻辑地址与物理地址的映射关系在数据页写入操作完成后写入新增加的临时映射表中;所述临时映射表在固态硬盘控制器掉电重启时重新进行初始化。
所述的固态硬盘数据保护的方法,其特征在于在固态硬盘控制器中还设有数据页写入状态表,所述数据页写入状态表记录各个数据块的各个数据页是否完成写入操作的状态,固态硬盘控制器通过检索数据页写入状态表来快速判定当前写入的数据页所在wordline内的sub-page是否都已完成写入操作。
所述的固态硬盘数据保护的方法,其特征在于所述固态硬盘为MLC类型或TLC类型,在固态硬盘控制器中增加判断当前写入的数据页是否属于low_page,如果是,则在当前数据页写入完成后同时判断当前所写入的数据页所在的up_page是否已写入数据,如果是则直接更新映射表;如果存在up_page还没写入数据,则将当前写入的low_page对应的逻辑地址与物理地址的映射关系写入临时映射表;如果当前写入的数据为up_page,则直接更新逻辑映射表,同时检索判断临时映射表是否存在该up_page对应的low_page的数据,如果存在则将该数据更新到映射表。
所述的固态硬盘数据保护的方法,其特征在于将临时映射表分开为多个数组元素,每个数组元素记录一个数据页的逻辑映射关系,将各个数组元素分别存储在所在数据页的META区间或者内存中。
一种固态硬盘,其特征在于固体硬盘的采用了权利要求1至4任意一项所述的固态硬盘数据保护的方法。
本发明通过增加临时映射表记录存在丢失风险的数据,在保证同一个wordline上的所有sub_page的数据都完成写入才将对应的逻辑地址与物理地址的映射关系更新到映射表中,否则先预存储在临时映射表中防止将有丢失风险的数据直接记录至映射表,防止数据丢失对系统造成不可预知的影响。
附图说明
图1是NAND FLASH同一个wordline的组成示意图;
图2是发生数据丢失的示例图;
图3是增加Temp mapping table后的处理示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对以上问题提出了一种固态硬盘数据保护的方法,在于在固态硬盘控制器中增加判断当前写入的数据页所在wordline内的sub-page是否都已完成写入操作,如果所在wordline内的sub-page都已完成写入操作,则在数据页写入操作完成后直接更新映射表,所述映射表记录了逻辑地址与物理地址的映射关系;如果所在wordline内的sub-page还存在未完成写入操作时,则将该写入数据页对应的逻辑地址与物理地址的映射关系在数据页写入操作完成后写入新增加的临时映射表中;所述临时映射表在固态硬盘控制器掉电重启时重新进行初始化。
以下以MLC类型的固态硬盘为例进行说明。
具体示例如下:当数据写入program至NAND flash内时,不立刻更新映射表,直到page所在wordline内所有的sub_page都完成program后才进行映射表更新。图3是增加Tempmapping table后的处理示意图,数据依次写入page a,page b,page c,page a’,page b’,page c’。其中page a&page a’为同一wordline内的sub-page,当page a被program后,映射表不立刻更新,而是记录在临时映射表temp mapping table内,直到page a’被program后,则page a所在wordline内所有sub-page都完成program,此时,同时更新page a&page a’。当host进行读数据时,先查询临时映射表temp mapping table,若映射在temp mappingtable内,则根据临时映射表temp mapping table内映射与映射表base mapping table内映射进行比较,选择最新数据进行读取;若不在临时映射表temp mapping table内,则查询映射表base mapping table。
该发明的优势在于,不会将有丢失风险的数据记录至映射表,若在program pagea’时发生异常掉电,下次上电后,page a内数据丢失,但由于掉电时刻,page a的映射信息未记入至映射表,所以,page a内的数据对host来说不可见,即无效数据,丢失不会造成影响。
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。

Claims (5)

1.一种固态硬盘数据保护的方法,其特征在于在固态硬盘控制器中增加判断当前写入的数据页所在wordline内的sub-page是否都已完成写入操作,如果所在wordline内的sub-page都已完成写入操作,则在数据页写入操作完成后直接更新映射表,所述映射表记录了逻辑地址与物理地址的映射关系;如果所在wordline内的sub-page还存在未完成写入操作时,则将该写入数据页对应的逻辑地址与物理地址的映射关系在数据页写入操作完成后写入新增加的临时映射表中;所述临时映射表在固态硬盘控制器掉电重启时重新进行初始化。
2.根据权利要求1所述的固态硬盘数据保护的方法,其特征在于在固态硬盘控制器中还设有数据页写入状态表,所述数据页写入状态表记录各个数据块的各个数据页是否完成写入操作的状态,固态硬盘控制器通过检索数据页写入状态表来快速判定当前写入的数据页所在wordline内的sub-page是否都已完成写入操作。
3.根据权利要求2所述的固态硬盘数据保护的方法,其特征在于所述固态硬盘为MLC类型或TLC类型,在固态硬盘控制器中增加判断当前写入的数据页是否属于low_page,如果是,则在当前数据页写入完成后同时判断当前所写入的数据页所在的up_page是否已写入数据,如果是则直接更新映射表;如果存在up_page还没写入数据,则将当前写入的low_page对应的逻辑地址与物理地址的映射关系写入临时映射表;如果当前写入的数据为up_page,则直接更新逻辑映射表,同时检索判断临时映射表是否存在该up_page对应的low_page的数据,如果存在则将该数据更新到映射表。
4.根据权利要求1至3任意一项所述的固态硬盘数据保护的方法,其特征在于将临时映射表分开为多个数组元素,每个数组元素记录一个数据页的逻辑映射关系,将各个数组元素分别存储在所在数据页的META区间或者内存中。
5.一种固态硬盘,其特征在于固体硬盘的采用了权利要求1至4任意一项所述的固态硬盘数据保护的方法。
CN201710760615.8A 2017-08-30 2017-08-30 一种固态硬盘数据保护的方法及固态硬盘 Expired - Fee Related CN107632943B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710760615.8A CN107632943B (zh) 2017-08-30 2017-08-30 一种固态硬盘数据保护的方法及固态硬盘

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710760615.8A CN107632943B (zh) 2017-08-30 2017-08-30 一种固态硬盘数据保护的方法及固态硬盘

Publications (2)

Publication Number Publication Date
CN107632943A true CN107632943A (zh) 2018-01-26
CN107632943B CN107632943B (zh) 2020-09-11

Family

ID=61100773

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710760615.8A Expired - Fee Related CN107632943B (zh) 2017-08-30 2017-08-30 一种固态硬盘数据保护的方法及固态硬盘

Country Status (1)

Country Link
CN (1) CN107632943B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109002258A (zh) * 2018-06-27 2018-12-14 郑州云海信息技术有限公司 固态硬盘内命名空间分配方法、系统及设备和存储介质
CN109460192A (zh) * 2018-11-15 2019-03-12 苏州韦科韬信息技术有限公司 一种防止固态硬盘数据丢失的方法
CN110275596A (zh) * 2019-06-20 2019-09-24 深圳忆联信息系统有限公司 基于固态硬盘的上电初始化加速方法、装置和计算机设备
CN111694764A (zh) * 2020-05-29 2020-09-22 四川效率源信息安全技术股份有限公司 一种故障固态硬盘的数据读取方法
CN112764685A (zh) * 2021-01-26 2021-05-07 华中科技大学 一种消除固态盘中预写式日志重复数据写的方法及设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1518000A (zh) * 2003-01-26 2004-08-04 深圳市朗科科技有限公司 闪存介质中的数据管理方法
EP1607867A1 (en) * 2003-03-04 2005-12-21 Netac Technology Co., Ltd. Data management method for slash memory medium
CN101464834A (zh) * 2007-12-19 2009-06-24 群联电子股份有限公司 闪存数据写入方法及使用此方法的控制器
US20090287893A1 (en) * 2008-05-16 2009-11-19 Skymedi Corporation Method for managing memory
CN101788955A (zh) * 2009-01-23 2010-07-28 群联电子股份有限公司 闪存数据的存取方法及其储存系统与控制系统
CN103514095A (zh) * 2012-06-18 2014-01-15 记忆科技(深圳)有限公司 一种数据库写入ssd 的方法和系统
CN105122220A (zh) * 2013-03-15 2015-12-02 西部数据技术公司 固态驱动器中的原子写入命令支持

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1518000A (zh) * 2003-01-26 2004-08-04 深圳市朗科科技有限公司 闪存介质中的数据管理方法
EP1607867A1 (en) * 2003-03-04 2005-12-21 Netac Technology Co., Ltd. Data management method for slash memory medium
CN101464834A (zh) * 2007-12-19 2009-06-24 群联电子股份有限公司 闪存数据写入方法及使用此方法的控制器
US20090287893A1 (en) * 2008-05-16 2009-11-19 Skymedi Corporation Method for managing memory
CN101788955A (zh) * 2009-01-23 2010-07-28 群联电子股份有限公司 闪存数据的存取方法及其储存系统与控制系统
CN103514095A (zh) * 2012-06-18 2014-01-15 记忆科技(深圳)有限公司 一种数据库写入ssd 的方法和系统
CN105122220A (zh) * 2013-03-15 2015-12-02 西部数据技术公司 固态驱动器中的原子写入命令支持

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
QI ZHANG: "Optimizing Translation Information Management in NAND Flash Memory Storage Systems", 《2013 18TH ASIA AND SOUTH PACIFIC DESIGN AUTOMATION CONFERENCE (ASP-DAC)》 *
张琦等: "一种优化的闪存地址映射方法", 《软件学报》 *
李思思: "一种基于子页的固态存储FTL性能优化算法的研究", 《万方学术期刊数据库》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109002258A (zh) * 2018-06-27 2018-12-14 郑州云海信息技术有限公司 固态硬盘内命名空间分配方法、系统及设备和存储介质
CN109460192A (zh) * 2018-11-15 2019-03-12 苏州韦科韬信息技术有限公司 一种防止固态硬盘数据丢失的方法
CN110275596A (zh) * 2019-06-20 2019-09-24 深圳忆联信息系统有限公司 基于固态硬盘的上电初始化加速方法、装置和计算机设备
CN111694764A (zh) * 2020-05-29 2020-09-22 四川效率源信息安全技术股份有限公司 一种故障固态硬盘的数据读取方法
CN111694764B (zh) * 2020-05-29 2023-03-14 四川效率源信息安全技术股份有限公司 一种故障固态硬盘的数据读取方法
CN112764685A (zh) * 2021-01-26 2021-05-07 华中科技大学 一种消除固态盘中预写式日志重复数据写的方法及设备
CN112764685B (zh) * 2021-01-26 2022-07-15 华中科技大学 一种消除固态盘中预写式日志重复数据写的方法及设备

Also Published As

Publication number Publication date
CN107632943B (zh) 2020-09-11

Similar Documents

Publication Publication Date Title
CN107632943A (zh) 一种固态硬盘数据保护的方法及固态硬盘
US8407408B2 (en) Static wear leveling
CN102855193B (zh) 非易失性存储系统中未使用的逻辑地址的挂载时去映射
JP5612514B2 (ja) 不揮発性メモリコントローラ及び不揮発性記憶装置
TWI479492B (zh) 記憶體儲存裝置、其記憶體控制器與資料寫入方法
CN103577574B (zh) 一种基于nand flash的高可靠线性文件系统
US9170893B2 (en) Method and system for selecting region of a nonvolatile memory
TWI405209B (zh) 資料管理方法及使用此方法的快閃儲存系統與控制器
US10635358B2 (en) Memory management method and storage controller
US8516184B2 (en) Data updating using mark count threshold in non-volatile memory
US20120254511A1 (en) Memory storage device, memory controller, and data writing method
US9176865B2 (en) Data writing method, memory controller, and memory storage device
US20120290769A1 (en) Flash memory device, memory control device, memory control method, and storage system
TW201212033A (en) Hybrid storage apparatus and hybrid storage medium controller and addressing method thereof
TWI420308B (zh) 區塊管理方法、記憶體控制器與記憶體儲存裝置
CN104298606A (zh) 固态存储装置中垃圾搜集动作的控制方法
US20110271032A1 (en) Access device and memory controller
CN107220001A (zh) 一种固态硬盘缓存实现方法及固态硬盘
JP5329689B2 (ja) メモリコントローラ、不揮発性記憶装置
CN108763100B (zh) 一种固态存储设备快速trim方法及其系统
TW201225109A (en) Memory storage device, memory controller thereof, and method for programming data thereof
CN105487824A (zh) 信息处理方法、存储装置及电子设备
US10509583B1 (en) Memory management method and storage controller
CN103106148B (zh) 区块管理方法、存储器控制器与存储器存储装置
TWI451247B (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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200911