CN107220001A - 一种固态硬盘缓存实现方法及固态硬盘 - Google Patents
一种固态硬盘缓存实现方法及固态硬盘 Download PDFInfo
- Publication number
- CN107220001A CN107220001A CN201710352581.9A CN201710352581A CN107220001A CN 107220001 A CN107220001 A CN 107220001A CN 201710352581 A CN201710352581 A CN 201710352581A CN 107220001 A CN107220001 A CN 107220001A
- Authority
- CN
- China
- Prior art keywords
- solid state
- data
- scm
- hard disc
- state hard
- 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
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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- 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
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)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种固态硬盘缓存实现方法及固态硬盘,其特征在于在固态硬盘中增加SCM,硬盘控制器将SCM作为固态硬盘缓存,主机向固态硬盘写入主机数据时,先写入SCM实现数据缓存,后台设置更新程序,更新程序后台将缓存的数据更新到固态硬盘的NAND存储单元中,并回收对应的缓存;所述SCM在系统掉电时,SCM中的数据可继续保存。SCM替换部分DRAM作为数据缓存,能够提供比闪存更快速的读写速度,在成本上则比DRAM更为便宜.即使是在失去电源的状态下依旧可以不间断保存资料,支持字节级别的操作,可在保证较好的数据访问速度的前提下保证数据的安全性。
Description
技术领域
本发明涉及固态硬盘控制技术,特别涉及一种固态硬盘缓存实现方法及固态硬盘。
背景技术
图1是典型的NAND组成示意图:DIE,可独立并发操作的单元;Block,可独立擦除的单元,其内各个物理位置的数据写入后在下一次写之前必须要将整个Block擦除;Page,读写单元。
SSD(固态硬盘)已经被广泛应用于各种场合,其逐步在替换传统的HDD存储设备。为了获取最大的NAND并发写入速度,需要在内存(DRAM)中维护用户数据的缓存Cache,在缓存足够的数据后再发起对NAND的并发写入,从而获取最高的性能。由于内存为掉电易失性设备,基于此方案设计的SSD系统,在掉电后Cache中的数据会完全丢失,造成用户数据损坏。
图2是采用DRAM实现缓存的示意图,目前大多数SSD内部用户数据Cache管理策略:内存中维护一个大的写Cache;主机Host写入的用户数据先写入到缓存DRAM中,并通知主机数据写入完成;当拼凑起足够多的数据或者其他特定的策略触发,将缓存中的数据写入到存放用户数据的NAND上,完成后释放缓存;当发生掉电时,缓存中尚未写入到NAND上的数据会发生丢失;在系统级应用场景下,会导致文件系统损坏、系统蓝屏等问题。
发明内容
针对以上缺陷,本发明目的如何保证NAND具有较高的并发写入速度的前提下提高用户数据的安全性。
为了解决以上问题本发明提出了一种固态硬盘缓存实现方法,其特征在于在固态硬盘中增加SCM,硬盘控制器将SCM作为固态硬盘缓存,主机向固态硬盘写入主机数据时,先写入SCM实现数据缓存,后台设置更新程序,更新程序后台将缓存的数据更新到固态硬盘的NAND存储单元中,并回收对应的缓存;所述SCM在系统掉电时,SCM中的数据可继续保存。
所述的固态硬盘缓存实现方法,其特征在于当SCM中缓存的数据满足NAND并发编程的数据单元后,触发更新程序执行将缓存的数据更新到固态硬盘的NAND存储单元中的操作。
所述的固态硬盘缓存实现方法,其特征在于将主机数据写入SCM实现数据缓存时,将主机数据的地址信息按照预先设定的格式写入SCM。
所述的固态硬盘缓存实现方法,其特征在于所述SCM最小访问单位为单字节。
所述的固态硬盘缓存实现方法,其特征在于按照如下步骤完成数据写入操作:
步骤1:硬盘控制器接收到主机下发的写数据指令;
步骤2:在SCM中的空闲空间中分配缓存内存,将主机数据、地址信息和有效性标志写入缓存内存;
步骤3:更新程序在后台运行,定时或随机被触发判定SCM中缓存的数据是否满足NAND并发编程条件或者预先设定的条件,如果满足则触发将SCM中缓存的数据更新到固态硬盘的NAND存储单元。
所述的固态硬盘缓存实现方法,其特征在于所述SCM以固定条目大小划分,以条目为最小分配单元进行调度;每个条目设置一个有效性标志;当主机数据缓存到条目时,所述有效性标志被标示为有效Y;当条目中存储的数据被更新到NAND存储单元时所述有效性标志被标志为无效N。
所述的固态硬盘缓存实现方法,其特征在于还包括上电自检程序,所述上电自检程序在固态硬盘上电时自动扫描SCM各个条目,将效性标志为有效Y的数据更新到NAND存储单元。
一种固态硬盘,其特征在于采用了权利要求1至7任意一项所述的固态硬盘缓存实现方法。
本发明通过将SCM(storage-class memory)替换部分DRAM作为数据缓存,能够提供比闪存更快速的读写速度,在成本上则比DRAM更为便宜.即使是在失去电源的状态下依旧可以不间断保存资料,支持字节级别的操作,可在保证较好的数据访问速度的前提下保证数据的安全性。
附图说明
图1是典型的NAND组成示意图;
图2是采用DRAM实现缓存的示意图;
图3是采用SCM实现缓存的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图3是采用SCM实现缓存的示意图,在固态硬盘中增加SCM,硬盘控制器将SCM作为固态硬盘缓存,主机向固态硬盘写入主机数据,也就是用户数据时,先写入SCM实现数据缓存,固态硬盘还保留一定的Memory,用于运行固态硬盘控制程序和其它非用户数据缓存。固态硬盘控制程序中后台设置更新程序,更新程序后台将SCM中缓存的数据更新到固态硬盘的NAND存储单元中,并回收对应的缓存。
硬盘控制器接收到主机下发的写数据指令;在SCM中的空闲空间中分配缓存内存,将主机数据、地址信息和有效性标志写入缓存内存;完成数据缓存,并通知主机数据写入已经完成。更新程序在后台运行,定时或随机被触发判定SCM中缓存的数据是否满足NAND并发编程条件或者预先设定的条件,如果满足则触发将SCM中缓存的数据更新到固态硬盘的NAND存储单元。最后完成实际数据的写入,该更新程序在后台运行,不影响主机的响应时间和用户体验。
为了方便管理可将SCM以固定条目大小划分,以条目为最小分配单元进行调度;每个条目设置一个有效性标志Valid Flag;当主机数据缓存到条目时,有效性标志被标示为有效Y;当条目中存储的数据被更新到NAND存储单元时所述有效性标志被标志为无效N。
SCM相比于DRAM最大的改进就是其系统发生异常掉电时,SCM中可能还缓存着部分未更新到NAND中的用户数据,针对该问题固态硬盘控制程序中还包括上电自检程序,上电自检程序在固态硬盘上电时自动扫描SCM各个条目,将效性标志为有效Y的数据更新到NAND存储单元。从而保证SCM在系统掉电时,SCM中的数据可继续保存和恢复。保证数据的安全。
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。
Claims (8)
1.一种固态硬盘缓存实现方法,其特征在于在固态硬盘中增加SCM,硬盘控制器将SCM作为固态硬盘缓存,主机向固态硬盘写入主机数据时,先写入SCM实现数据缓存,后台设置更新程序,更新程序后台将缓存的数据更新到固态硬盘的NAND存储单元中,并回收对应的缓存;所述SCM在系统掉电时,SCM中的数据可继续保存。
2.根据权利要求1所述的固态硬盘缓存实现方法,其特征在于当SCM中缓存的数据满足NAND并发编程的数据单元后,触发更新程序执行将缓存的数据更新到固态硬盘的NAND存储单元中的操作。
3.根据权利要求2所述的固态硬盘缓存实现方法,其特征在于将主机数据写入SCM实现数据缓存时,将主机数据的地址信息按照预先设定的格式写入SCM。
4.根据权利要求3所述的固态硬盘缓存实现方法,其特征在于所述SCM最小访问单位为单字节。
5.根据权利要求1至4任意一项所述的固态硬盘缓存实现方法,其特征在于按照如下步骤完成数据写入操作:
步骤1:硬盘控制器接收到主机下发的写数据指令;
步骤2:在SCM中的空闲空间中分配缓存内存,将主机数据、地址信息和有效性标志写入缓存内存;
步骤3:更新程序在后台运行,定时或随机被触发判定SCM中缓存的数据是否满足NAND并发编程条件或者预先设定的条件,如果满足则触发将SCM中缓存的数据更新到固态硬盘的NAND存储单元。
6.根据权利要求5所述的固态硬盘缓存实现方法,其特征在于所述SCM以固定条目大小划分,以条目为最小分配单元进行调度;每个条目设置一个有效性标志;当主机数据缓存到条目时,所述有效性标志被标示为有效Y;当条目中存储的数据被更新到NAND存储单元时所述有效性标志被标志为无效N。
7.根据权利要求5所述的固态硬盘缓存实现方法,其特征在于还包括上电自检程序,所述上电自检程序在固态硬盘上电时自动扫描SCM各个条目,将效性标志为有效Y的数据更新到NAND存储单元。
8.一种固态硬盘,其特征在于采用了权利要求1至7任意一项所述的固态硬盘缓存实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710352581.9A CN107220001A (zh) | 2017-05-18 | 2017-05-18 | 一种固态硬盘缓存实现方法及固态硬盘 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710352581.9A CN107220001A (zh) | 2017-05-18 | 2017-05-18 | 一种固态硬盘缓存实现方法及固态硬盘 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107220001A true CN107220001A (zh) | 2017-09-29 |
Family
ID=59945307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710352581.9A Pending CN107220001A (zh) | 2017-05-18 | 2017-05-18 | 一种固态硬盘缓存实现方法及固态硬盘 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107220001A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109164989A (zh) * | 2018-09-04 | 2019-01-08 | 北京天马时空网络技术有限公司 | 一种数据处理方法和装置 |
CN110716885A (zh) * | 2019-10-23 | 2020-01-21 | 北京字节跳动网络技术有限公司 | 数据管理方法、装置、电子设备和存储介质 |
CN111091861A (zh) * | 2019-12-27 | 2020-05-01 | 尧云科技(西安)有限公司 | 一种基于高速非易失性存储器的固态硬盘掉电保护方法 |
CN111158599A (zh) * | 2019-12-29 | 2020-05-15 | 北京浪潮数据技术有限公司 | 一种写数据的方法、装置、设备及存储介质 |
CN112035065A (zh) * | 2020-08-28 | 2020-12-04 | 北京浪潮数据技术有限公司 | 一种数据写入方法、装置、设备及计算机可读存储介质 |
CN115686372A (zh) * | 2022-11-07 | 2023-02-03 | 武汉麓谷科技有限公司 | 一种基于zns固态硬盘zrwa功能的数据管理的方法 |
CN116048430A (zh) * | 2023-04-03 | 2023-05-02 | 苏州浪潮智能科技有限公司 | 随机写入指令处理方法、smr硬盘及计算机设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130219105A1 (en) * | 2012-02-16 | 2013-08-22 | Micron Technology, Inc. | Method, device and system for caching for non-volatile memory device |
CN103377152A (zh) * | 2012-04-26 | 2013-10-30 | 深圳市朗科科技股份有限公司 | 固态硬盘的写操作控制方法及写操作装置 |
CN103577121A (zh) * | 2013-11-05 | 2014-02-12 | 中船重工(武汉)凌久电子有限责任公司 | 一种基于nand flash的高可靠线性文件存取方法 |
CN106294226A (zh) * | 2016-07-27 | 2017-01-04 | 中电海康集团有限公司 | 基于嵌入式stt‑mram的ssd控制器芯片、固态硬盘 |
-
2017
- 2017-05-18 CN CN201710352581.9A patent/CN107220001A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130219105A1 (en) * | 2012-02-16 | 2013-08-22 | Micron Technology, Inc. | Method, device and system for caching for non-volatile memory device |
CN103377152A (zh) * | 2012-04-26 | 2013-10-30 | 深圳市朗科科技股份有限公司 | 固态硬盘的写操作控制方法及写操作装置 |
CN103577121A (zh) * | 2013-11-05 | 2014-02-12 | 中船重工(武汉)凌久电子有限责任公司 | 一种基于nand flash的高可靠线性文件存取方法 |
CN106294226A (zh) * | 2016-07-27 | 2017-01-04 | 中电海康集团有限公司 | 基于嵌入式stt‑mram的ssd控制器芯片、固态硬盘 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109164989A (zh) * | 2018-09-04 | 2019-01-08 | 北京天马时空网络技术有限公司 | 一种数据处理方法和装置 |
CN110716885A (zh) * | 2019-10-23 | 2020-01-21 | 北京字节跳动网络技术有限公司 | 数据管理方法、装置、电子设备和存储介质 |
CN110716885B (zh) * | 2019-10-23 | 2022-02-18 | 北京字节跳动网络技术有限公司 | 数据管理方法、装置、电子设备和存储介质 |
CN111091861A (zh) * | 2019-12-27 | 2020-05-01 | 尧云科技(西安)有限公司 | 一种基于高速非易失性存储器的固态硬盘掉电保护方法 |
CN111158599A (zh) * | 2019-12-29 | 2020-05-15 | 北京浪潮数据技术有限公司 | 一种写数据的方法、装置、设备及存储介质 |
CN111158599B (zh) * | 2019-12-29 | 2022-03-22 | 北京浪潮数据技术有限公司 | 一种写数据的方法、装置、设备及存储介质 |
CN112035065A (zh) * | 2020-08-28 | 2020-12-04 | 北京浪潮数据技术有限公司 | 一种数据写入方法、装置、设备及计算机可读存储介质 |
CN112035065B (zh) * | 2020-08-28 | 2022-06-07 | 北京浪潮数据技术有限公司 | 一种数据写入方法、装置、设备及计算机可读存储介质 |
CN115686372A (zh) * | 2022-11-07 | 2023-02-03 | 武汉麓谷科技有限公司 | 一种基于zns固态硬盘zrwa功能的数据管理的方法 |
CN116048430A (zh) * | 2023-04-03 | 2023-05-02 | 苏州浪潮智能科技有限公司 | 随机写入指令处理方法、smr硬盘及计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107220001A (zh) | 一种固态硬盘缓存实现方法及固态硬盘 | |
CN103577121B (zh) | 一种基于Nand Flash的高可靠线性文件存取方法 | |
CN103577574B (zh) | 一种基于nand flash的高可靠线性文件系统 | |
CN102841851B (zh) | 闪存管理方法和闪存设备 | |
CN102298555B (zh) | 基于nand技术的模块化闪存管理系统 | |
CN107038131A (zh) | 固态硬盘断电保护装置及方法 | |
TWI351604B (zh) | ||
US9529537B2 (en) | Storage system and storage method | |
CN103440205B (zh) | 一种机顶盒数据存储方法及装置 | |
CN103678144B (zh) | 数据储存装置与快闪存储器控制方法 | |
US20140129758A1 (en) | Wear leveling in flash memory devices with trim commands | |
TWI454916B (zh) | 儲存單元管理方法、記憶體控制器與記憶體儲存裝置 | |
CN104750615A (zh) | 数据储存装置以及快闪存储器控制方法 | |
JP2007004234A (ja) | ストレージ装置 | |
CN101859604A (zh) | 闪存坏块的利用方法 | |
CN102521147A (zh) | 一种使用高速非易失介质做缓存的管理方法 | |
CN101963891A (zh) | 数据存储处理方法与装置、固态硬盘系统与数据处理系统 | |
CN105718530A (zh) | 文件存储系统及其文件存储控制方法 | |
CN107632943B (zh) | 一种固态硬盘数据保护的方法及固态硬盘 | |
JP2012234254A (ja) | メモリシステム | |
JP2008146254A (ja) | 記憶装置およびコンピュータシステム、並びに記憶装置のデータ処理方法 | |
TWI432962B (zh) | 電子系統及其記憶體管理方法 | |
CN105630701B (zh) | 数据存储装置及使用不可用页表或不可用块表的读写方法 | |
CN107506138A (zh) | 一种固态硬盘提升寿命的方法 | |
CN105260325A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170929 |
|
RJ01 | Rejection of invention patent application after publication |