CN111091861A - 一种基于高速非易失性存储器的固态硬盘掉电保护方法 - Google Patents
一种基于高速非易失性存储器的固态硬盘掉电保护方法 Download PDFInfo
- Publication number
- CN111091861A CN111091861A CN201911376883.5A CN201911376883A CN111091861A CN 111091861 A CN111091861 A CN 111091861A CN 201911376883 A CN201911376883 A CN 201911376883A CN 111091861 A CN111091861 A CN 111091861A
- Authority
- CN
- China
- Prior art keywords
- data
- nonvolatile memory
- speed nonvolatile
- memory chip
- write
- 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
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
- G11C5/148—Details of power up or power down circuits, standby circuits or recovery circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/24—Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
Abstract
一种基于高速非易失性存储器的固态硬盘掉电保护方法,属于计算机存储技术领域,其特征在于:包括SSD主控芯片、闪存芯片、高速非易失性存储芯片;系统正常上电运行产生的运行数据存储于高速非易失性存储芯片;采用高速非易失性存储器作为SSD的写缓存,系统发生异常掉电时,高速非易失性存储器会对主机数据提供保护,使其不会因掉电而丢失。系统重新上电后,查找异常掉电前未处理完毕的写命令,将其对应的主机数据重新写入闪存芯片,以保证主机数据的安全性和一致性;同时,本发明提供的掉电保护方案可以在极少或无掉电保护电容的情况下实现对主机数据的保护,相较于传统使用电容对易失性写缓存进行掉电保护的方法,本发明更具可靠性。
Description
技术领域
本发明属于计算机存储技术领域,尤其涉及一种基于高速非易失性存储器的固态硬盘掉电保护方法。
背景技术
固态硬盘(Solid State Drive,SSD)相较于机械硬盘(Hard Disk Drive,HDD),其性能、功耗、可靠性等都有很大的优势,因此无论在企业级还是消费级市场,SSD正逐渐取代HDD,成为主流存储设备。SSD的主要存储介质为闪存,如NAND Flash,但一般会配有一定大小的写缓存以提高写性能,目前SSD写缓存多使用动态随机存储器(Dynamic RandomAccess Memory,DRAM),DRAM属于易失性存储器,无法对其中的数据提供掉电保护。因此若系统遭遇异常掉电,那么SSD向主机回应“已完成”的写命令对应的还在DRAM中主机数据就会丢失。
目前,该问题的解决方案通常是在SSD中增加用于掉电保护的电池或电容,使得DRAM能够在系统异常掉电后再继续工作一段时间,将其中剩余的主机数据写入闪存芯片。然而,随着SSD性能的提升,DRAM容量也逐渐增大,因此所需电池或电容的容量也进一步增加,这将直接导致该方案成本高昂,其可靠性又难以保证。
高速非易失性存储器,如磁随机存储器(Magnetic Random Access Memory,MRAM),其特点为保存在其中的数据掉电后不会丢失,所以高速非易失性存储器能够在极少或无掉电保护电容的情况下实现对数据的保护。此外,高速非易失性存储器还具有与RAM同一级别的读写速度,可以进行快速访问。
发明内容
本发明旨在解决上述问题,提供一种利用高速非易失性存储器解决SSD异常掉电数据保护的固态硬盘掉电保护方法。
本发明所述基于高速非易失性存储器的固态硬盘掉电保护方法,包括SSD主控芯片;一组用于存储数据的闪存芯片;一组用于掉电保护和写缓存功能的高速非易失性存储芯片;所述闪存芯片、高速非易失性存储芯片均与SSD主控芯片相电连接;
系统正常上电运行产生的运行数据存储于高速非易失性存储芯片;所述运行数据包括:
主机向SSD主控芯片发送的写命令;
写命令分解的数据列表及其对应的主机数据;数据列表的每个表项包括其对应主机数据在写缓存中的位置信息;
写命令的处理和完成状态;用于标识SSD的写缓存是否已从主机端获取到该条写命令对应的全部主机数据;如果是,则该状态标识为“已完成”,SSD会向主机回复完成信息,对主机而言,该条写命令已完成,但SSD还需要将这些写缓存中的主机数据写入至闪存芯片。
需要说明的是,上述运行数据的存储结构包括但不限于列表、循环列表、数组、链表。
系统在异常掉电后重新上电启动流程包括:
首先,SSD主控芯片在高速非易失性存储芯片中逐条读取主机发生异常掉电之前下发的写命令,并查找每条写命令对应的处理和完成状态;
接着,对处理和完成状态标识为“已完成”的写命令,从高速非易失性存储芯片中读取该条命令对应的命令分解的数据列表,然后对数据列表中每个表项对应的写缓存中的主机数据执行重新写入闪存芯片的操作,并同步更新相应的系统表项数据;
对处理和完成状态标识为“未完成”的写命令,则直接将其忽略;
最后,当高速非易失性存储芯片中的所有写命令都已被读取,并按上述流程处理完毕后,将已更新的系统表项数据写入闪存芯片,上电启动流程结束。
进一步,本发明所述基于高速非易失性存储器的固态硬盘掉电保护方法, 所述运行数据还包括:数据列表中每个表项的完成状态;用于标识某个表项对应的写缓存中的主机数据是否已成功写入至闪存芯片,如果是,则该状态标识为“已完成”;
需要说明的是,上述运行数据的存储结构包括但不限于列表、循环列表、数组、链表。
系统在异常掉电后重新上电启动流程包括:
首先,SSD主控芯片在高速非易失性存储芯片中逐条读取主机发生异常掉电之前下发的写命令,并查找每条写命令对应的处理和完成状态;
接着,对处理和完成状态标识为“已完成”的写命令,从高速非易失性存储芯片中读取该命令对应的命令分解的数据列表,但不直接将所有表项对应的写缓存中的主机数据全部写入闪存芯片,而是进一步读取数据列表中每个表项的完成状态:对完成状态标识为“未完成”的表项,对其对应写缓存中的主机数据执行重新写入闪存芯片的操作,并同步更新相应的系统表项数据;对完成状态标识为“已完成”的表项,则不做处理;对处理和完成状态标识为“未完成”的写命令,则直接将其忽略;
最后,当高速非易失性存储芯片中的所有写命令都已被读取,并按上述流程处理完毕,将已更新的系统表项数据写入闪存芯片,上电启动流程结束。
本发明所述基于高速非易失性存储器的固态硬盘掉电保护方法,采用高速非易失性存储器作为SSD的写缓存,系统发生异常掉电时,高速非易失性存储器会对主机数据提供保护,使其不会因掉电而丢失。系统重新上电后,查找异常掉电前未处理完毕的写命令,将其对应的主机数据重新写入闪存芯片,以保证主机数据的安全性和一致性;同时,本发明提供的掉电保护方案可以在极少或无掉电保护电容的情况下实现对主机数据的保护,相较于传统使用电容对易失性写缓存进行掉电保护的方法,本发明更具可靠性。
附图说明
图1为本发明所述基于高速非易失性存储器的固态硬盘架构示意图;
图2为本发明实施例一所述命令处理时产生的运行数据的存储流程图;
图3为本发明实施例一所述系统异常掉电后重新上电的启动流程图;
图4为本发明实施例二所述命令处理时产生的运行数据的存储流程图;
图5为本发明实施例二所述系统异常掉电后重新上电的启动流程图。
具体实施方式
下面通过附图及实施例对本发明所述基于高速非易失性存储器的固态硬盘掉电保护方法进行详细说明。
实施例一
本发明所述基于高速非易失性存储器的固态硬盘掉电保护方法,如图1所示,包括SSD主控芯片;一组用于存储数据的闪存芯片;一组用于掉电保护和写缓存功能的高速非易失性存储芯片;所述闪存芯片、高速非易失性存储芯片均与SSD主控芯片相电连接;
系统正常上电工作时,如图2所示,运行中产生的运行数据存储于高速非易失性存储芯片,首先是主机向SSD发送的写命令;然后是写命令分解的数据列表及其对应的主机数据;最后是写命令的处理和完成状态。
运行数据具体包括:
(1) 主机向SSD主控芯片发送的写命令;
(2)写命令分解的数据列表及其对应的主机数据;数据列表的每个表项包括其对应主机数据在写缓存中的位置信息;
(3)写命令的处理和完成状态;用于标识SSD的写缓存是否已从主机端获取到该条写命令对应的全部主机数据;如果是,则该状态标识为“已完成”,SSD会向主机回复完成信息,对主机而言,该条写命令已完成,但SSD还需要将这些写缓存中的主机数据写入至闪存芯片。
由于上述运行数据被高速非易失性存储器保护,因此不会因为掉电而丢失。
如图3所示,系统在异常掉电后重新上电启动流程包括如下步骤:
首先,SSD主控芯片在高速非易失性存储芯片中逐条读取主机发生异常掉电之前下发的写命令,并查找每条写命令对应的处理和完成状态;
接着,对处理和完成状态标识为“已完成”的写命令,从高速非易失性存储芯片中读取该条命令对应的命令分解的数据列表,然后对数据列表中每个表项对应的写缓存中的主机数据执行重新写入闪存芯片的操作,并同步更新相应的系统表项数据;
对处理和完成状态标识为“未完成”的写命令,则直接将其忽略;
最后,当高速非易失性存储芯片中的所有写命令都已被读取,并按上述流程处理完毕,将已更新的系统表项数据写入闪存芯片,上电启动流程结束。
实施例二
本实施例所述基于高速非易失性存储器的固态硬盘掉电保护方法,在实施例一的基础上,在系统正常上电工作时,如图4所示,运行中产生的运行数据存储于高速非易失性存储芯片,首先是主机向SSD发送的写命令;然后是写命令分解的数据列表及其对应的主机数据;接着是写命令的处理和完成状态;最后是数据列表中每个表项的完成状态。
运行数据具体包括:
(1) 主机向SSD主控芯片发送的写命令;
(2)写命令分解的数据列表及其对应的主机数据;数据列表的每个表项包括其对应主机数据在写缓存中的位置信息;
(3)写命令的处理和完成状态;用于标识SSD的写缓存是否已从主机端获取到该条写命令对应的全部主机数据;如果是,则该状态标识为“已完成”,SSD会向主机回复完成信息,对主机而言,该条写命令已完成,但SSD还需要将这些写缓存中的主机数据写入至闪存芯片。
(4)数据列表中每个表项的完成状态;用于标识某个表项对应的写缓存中的主机数据是否已成功写入至闪存芯片,如果是,则该状态标识为“已完成”。
由于上述运行数据被高速非易失性存储器保护,因此不会因为掉电而丢失。
如图5所示,系统在异常掉电后重新上电启动流程包括如下步骤:
首先,SSD主控芯片在高速非易失性存储芯片中逐条读取主机发生异常掉电之前下发的写命令,并查找每条写命令对应的处理和完成状态;
接着,对处理和完成状态标识为“已完成”的写命令,从高速非易失性存储芯片中读取该命令对应的命令分解的数据列表,但不直接将所有表项对应的写缓存中的主机数据逐个写入闪存芯片,而是进一步读取数据列表中每个表项的完成状态:对完成状态标识为“未完成”的表项,对其对应写缓存中的主机数据执行重新写入闪存芯片的操作,并同步更新相应的系统表项数据;对完成状态标识为“已完成”的表项,则不做处理;对处理和完成状态标识为“未完成”的写命令,则直接将其忽略;
最后,当高速非易失性存储芯片中的所有写命令都已被读取,并按上述流程处理完毕,将已更新的系统表项数据写入闪存芯片,上电启动流程结束。
本发明所述基于高速非易失性存储器的固态硬盘掉电保护方法,在发生异常掉电时,主机通过写命令向SSD的写入的主机数据可能仅有部分被写入闪存芯片中,而其余未被写入闪存芯片的主机数据,则由高速非易失性存储器的写缓存对其提供掉电保护,以确保在掉电后数据的完整性。每一块被保护的主机数据,由数据列表的一个表项来标识其在高速非易失性存储器写缓存中的位置信息。系统再次上电时,需要继续完成异常掉电前的写操作,将高速非易失性存储器写缓存中保护的主机数据重新写入闪存芯片中,以确保主机数据的安全性和一致性。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种基于高速非易失性存储器的固态硬盘掉电保护方法,其特征在于:包括SSD主控芯片;一组用于存储数据的闪存芯片;一组用于掉电保护和写缓存功能的高速非易失性存储芯片;所述闪存芯片、高速非易失性存储芯片均与SSD主控芯片相电连接;
系统正常上电运行产生的运行数据存储于高速非易失性存储芯片;所述运行数据包括:
主机向SSD主控芯片发送的写命令;
写命令分解的数据列表及其对应的主机数据;
写命令的处理和完成状态;
系统在异常掉电后重新上电启动流程包括:
首先,SSD主控芯片在高速非易失性存储芯片中逐条读取主机发生异常掉电之前下发的写命令,并查找每条写命令对应的处理和完成状态;
接着,对处理和完成状态标识为“已完成”的写命令,从高速非易失性存储芯片中读取该条命令对应的命令分解的数据列表,然后对数据列表中每个表项对应的写缓存中的主机数据执行重新写入闪存芯片的操作,并同步更新相应的系统表项数据;对处理和完成状态标识为“未完成”的写命令,则直接将其忽略;
最后,当高速非易失性存储芯片中的所有写命令都已被读取,并按上述流程处理完毕,将更新的系统表项数据写入闪存芯片,上电启动流程结束。
2.根据权利要求1所述基于高速非易失性存储器的固态硬盘掉电保护方法,其特征在于:
所述运行数据还包括:数据列表中每个表项的完成状态;
系统在异常掉电后重新上电启动流程包括:
首先,SSD主控芯片在高速非易失性存储芯片中逐条读取主机发生异常掉电之前下发的写命令,并查找每条写命令对应的处理和完成状态;
接着,对处理和完成状态标识为“已完成”的写命令,从高速非易失性存储芯片中读取该命令对应的命令分解的数据列表,进一步读取数据列表中每个表项的完成状态:对完成状态标识为“未完成”的表项,对其对应写缓存中的主机数据执行重新写入闪存芯片的操作,并同步更新相应的系统表项数据;对完成状态标识为“已完成”的表项,则不做处理;对处理和完成状态标识为“未完成”的写命令,则直接将其忽略;
最后,当高速非易失性存储芯片中的所有写命令都已被读取,并按上述流程处理完毕,将更新的系统表项数据写入闪存芯片,上电启动流程结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911376883.5A CN111091861A (zh) | 2019-12-27 | 2019-12-27 | 一种基于高速非易失性存储器的固态硬盘掉电保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911376883.5A CN111091861A (zh) | 2019-12-27 | 2019-12-27 | 一种基于高速非易失性存储器的固态硬盘掉电保护方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111091861A true CN111091861A (zh) | 2020-05-01 |
Family
ID=70397463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911376883.5A Pending CN111091861A (zh) | 2019-12-27 | 2019-12-27 | 一种基于高速非易失性存储器的固态硬盘掉电保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111091861A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114327300A (zh) * | 2022-03-03 | 2022-04-12 | 阿里巴巴(中国)有限公司 | 一种数据存储方法、ssd控制器、ssd及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06309234A (ja) * | 1993-02-15 | 1994-11-04 | Toshiba Corp | ディスク制御装置 |
CN101963891A (zh) * | 2010-09-25 | 2011-02-02 | 成都市华为赛门铁克科技有限公司 | 数据存储处理方法与装置、固态硬盘系统与数据处理系统 |
CN102799392A (zh) * | 2012-06-16 | 2012-11-28 | 北京忆恒创源科技有限公司 | 存储设备及其中断控制方法 |
CN103324578A (zh) * | 2013-06-20 | 2013-09-25 | 深圳市瑞耐斯技术有限公司 | 一种nand闪存设备及其随机写入方法 |
CN103377152A (zh) * | 2012-04-26 | 2013-10-30 | 深圳市朗科科技股份有限公司 | 固态硬盘的写操作控制方法及写操作装置 |
CN105630707A (zh) * | 2015-11-16 | 2016-06-01 | 上海磁宇信息科技有限公司 | 具有断电保护功能的存储设备、断电保护方法及计算系统 |
CN107220001A (zh) * | 2017-05-18 | 2017-09-29 | 记忆科技(深圳)有限公司 | 一种固态硬盘缓存实现方法及固态硬盘 |
-
2019
- 2019-12-27 CN CN201911376883.5A patent/CN111091861A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06309234A (ja) * | 1993-02-15 | 1994-11-04 | Toshiba Corp | ディスク制御装置 |
CN101963891A (zh) * | 2010-09-25 | 2011-02-02 | 成都市华为赛门铁克科技有限公司 | 数据存储处理方法与装置、固态硬盘系统与数据处理系统 |
CN103377152A (zh) * | 2012-04-26 | 2013-10-30 | 深圳市朗科科技股份有限公司 | 固态硬盘的写操作控制方法及写操作装置 |
CN102799392A (zh) * | 2012-06-16 | 2012-11-28 | 北京忆恒创源科技有限公司 | 存储设备及其中断控制方法 |
CN103324578A (zh) * | 2013-06-20 | 2013-09-25 | 深圳市瑞耐斯技术有限公司 | 一种nand闪存设备及其随机写入方法 |
CN105630707A (zh) * | 2015-11-16 | 2016-06-01 | 上海磁宇信息科技有限公司 | 具有断电保护功能的存储设备、断电保护方法及计算系统 |
CN107220001A (zh) * | 2017-05-18 | 2017-09-29 | 记忆科技(深圳)有限公司 | 一种固态硬盘缓存实现方法及固态硬盘 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114327300A (zh) * | 2022-03-03 | 2022-04-12 | 阿里巴巴(中国)有限公司 | 一种数据存储方法、ssd控制器、ssd及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8904092B2 (en) | Identifying a location containing invalid data in a storage media | |
US9389952B2 (en) | Green NAND SSD application and driver | |
CN111752487B (zh) | 一种数据恢复方法、装置及固态硬盘 | |
US20150331624A1 (en) | Host-controlled flash translation layer snapshot | |
US9830257B1 (en) | Fast saving of data during power interruption in data storage systems | |
KR20180121187A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US20100235568A1 (en) | Storage device using non-volatile memory | |
CN104461964A (zh) | 一种存储装置 | |
US20180150390A1 (en) | Data Storage Device and Operating Method Therefor | |
US20140337589A1 (en) | Preventing a hybrid memory module from being mapped | |
CN108959589B (zh) | 基于stt-mram加速固态存储器件日志文件保存恢复的方法 | |
CN104516959A (zh) | 一种管理数据库日志的方法及装置 | |
JP2006252535A (ja) | 記憶装置 | |
CN109284070B (zh) | 一种基于stt-mram固态存储器件断电恢复方法 | |
US10877853B2 (en) | Data storage device and operation method optimized for recovery performance, and storage system having the same | |
CN110727470B (zh) | 一种混合式非失性存储装置 | |
CN114063901A (zh) | Plp备份失败之后的ssd支持只读模式 | |
US11249917B2 (en) | Data storage device and operating method thereof | |
US20070043968A1 (en) | Disk array rebuild disruption resumption handling method and system | |
US11347433B2 (en) | Method for performing sudden power off recovery management, associated memory device and controller thereof, and associated electronic device | |
CN111091861A (zh) | 一种基于高速非易失性存储器的固态硬盘掉电保护方法 | |
CN115878033B (zh) | 一种固态硬盘及其映射表管理方法 | |
KR20190006687A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN107765989B (zh) | 一种存储设备控制芯片、存储设备及存储设备管理方法 | |
US20190361608A1 (en) | Data storage device and operation method for recovery, and storage system having the same |
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 |