CN107908358A - 一种降低NVMe固态硬盘写放大的方法 - Google Patents
一种降低NVMe固态硬盘写放大的方法 Download PDFInfo
- Publication number
- CN107908358A CN107908358A CN201711010315.4A CN201711010315A CN107908358A CN 107908358 A CN107908358 A CN 107908358A CN 201711010315 A CN201711010315 A CN 201711010315A CN 107908358 A CN107908358 A CN 107908358A
- Authority
- CN
- China
- Prior art keywords
- data
- access frequency
- solid state
- write
- cold
- 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/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- 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/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0629—Configuration or reconfiguration of storage systems
-
- 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
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明公开了一种降低NVMe固态硬盘写放大的方法,其特征在于固态硬盘根据访问频率信息的大小划分为2个以上的数据冷热区间,将落入相同数据冷热区间的数据写入相同的块;所述访问频率信息Access Frequency由主机统计并写入NVMe协议中LBA区间的访问频率信息Access Frequency字段,固态硬盘接收到主机写命令时读取每个命令中携带的访问频率信息Access Frequency字段获得。通过结合NVMe协议特性和Nand Flash存储介质特性,革新数据写入block的方式,新技术大大降低了垃圾回收机制的触发频率,即降低了SSD的写放大、提升了SSD的读写性能、延长了SSD寿命。
Description
技术领域
本发明涉及固态硬盘控制技术,特别涉及一种降低NVMe固态硬盘写放大的方法。
背景技术
现有技术中SSD按照主机下发的顺序,把数据依次写入到空闲的块block中。图1是同一个LPA复写引入的无效数据的过程示意图,例如主机写LPA1(LPA:Logic Page Address逻辑页地址),此时SSD正在写block5的page1,则把主机数据写入到block5的page1中,并建立LPA1->block5的page1的映射关系,间隔一段时间后,主机又发起对LPA1的复写,此时SSD正在写block6的page2,则把新的主机数据写入到block6的page2,并废弃之前映射关系LPA1->block5的page1,建立新的映射关系LPA1->block6的page2,即block5的page1中的数据已无效。
图2是block存在大量无效数据示意图;以block0~block2为例,由于数据密集型的业务中,这种随机复写很频繁,所以最终大多数block上只有部分有效数据。Vaild表示数据有效,invalid表示数据无效。为了腾出空闲block存储新的主机数据,启动SSD内部的垃圾回收机制,图3是垃圾回收腾出空闲空间的示意图,把有效数据搬到(写到)新的block后,擦除没有有效数据的block,即腾出了空闲block,block0~block2内有效数据被搬到blockN后,block0~block2都需要被擦除,回收为空闲块,可以存储新的主机数据了,由于频繁的垃圾回收带来以下问题:
1.增加了写放大(write amplification),因为同一笔主机数据在搬移block时被多次写入到Nand Flash。
2.垃圾回收期间降低了SSD的读写性能。
3.擦除次数过多,缩短了SSD寿命。
发明内容
针对以上缺陷,本发明目的是如何有效降低垃圾回收频率,达到降低写放大和提升SSD读写性能。
为了解决以上问题本发明提出了一种降低NVMe固态硬盘写放大的方法,其特征在于固态硬盘根据访问频率信息的大小划分为2个以上的数据冷热区间,将落入相同数据冷热区间的数据写入相同的块;所述访问频率信息Access Frequency由主机统计并写入NVMe协议中LBA区间的访问频率信息Access Frequency字段,固态硬盘接收到主机写命令时读取每个命令中携带的访问频率信息Access Frequency字段获得。
所述的降低NVMe固态硬盘写放大的方法,其特征在于设置一个冷热区间阀值,固态硬盘根据访问频率信息的大小划分为2个的数据冷热区间,访问频率信息大于等于冷热区间阀值时为热数据,访问频率信息小于等于冷热区间阀值时为冷数据。
所述的降低NVMe固态硬盘写放大的方法,其特征在于还设有一个超高频访问阀值,固态硬盘接收到写命令时,当访问频率信息大于超高频访问阀值,则将写命令携带的数据写入固态硬盘的缓存中的超高频数据区,暂时不写入固态硬盘的FLASH存储空间中,固态硬盘单独设置一个更长的后台将超高频数据区的数据更新到FLASH存储空间中的时间周期。
本发明的有益效果是:通过结合NVMe协议特性和Nand Flash存储介质特性,革新数据写入block的方式,新技术大大降低了垃圾回收机制的触发频率,即降低了SSD的写放大、提升了SSD的读写性能、延长了SSD寿命。
附图说明
图1是同一个LPA复写引入的无效数据的过程示意图;
图2是block存在大量无效数据示意图;
图3是垃圾回收腾出空闲空间的示意图;
图4将数据按冷热区分写入不同块的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
垃圾回收机制频繁启动的原因在于,block上的某些数据被主机频繁复写,有些数据没有被复写,导致大多数block上只有部分有效数据。
如果我们能提前知道哪些数据是热数据会被频繁复写,哪些是冷数据基本不会被复写,那么我们可以把热数据写到同一block,冷数据写到其它相同block,那么这些block中数据要么一起失效,都被复写,直接擦除,要么都长久有效,长久都不复写,不用擦除,图4将数据按冷热区分写入不同块的示意图,按冷热进行区分后其大概率存在热数据的block很快就出现整块block数据都失效,冷数据的block的数据一直保持有效状态,因此大大降低出现部分有效部分无效的情况,因此大大降低因为垃圾回收带来的写放大的问题。
本方案利用了NVMe协议定义了数据的访问频率信息Access Frequency,该字段描述了主机数据的访问概率,因此本方案根据访问频率信息Access Frequency来区分数据的冷热程度。
固态硬盘设置一个冷热区间阀值,固态硬盘根据访问频率信息的大小划分为2个的数据冷热区间,访问频率信息大于等于冷热区间阀值时为热数据,访问频率信息小于等于冷热区间阀值时为冷数据;将落入相同数据冷热区间的数据写入相同的FLASH的块中;访问频率信息Access Frequency由主机统计并写入NVMe协议中LBA区间的访问频率信息Access Frequency字段,固态硬盘接收到主机写命令时读取每个命令中携带的访问频率信息Access Frequency字段获得。
为了进一步降低NVMe固态硬盘写放大还设有一个超高频访问阀值,固态硬盘接收到写命令时,当访问频率信息大于超高频访问阀值,则将写命令携带的数据写入固态硬盘的缓存中的超高频数据区,暂时不写入固态硬盘的FLASH存储空间中,固态硬盘单独设置一个更长的后台将超高频数据区的数据更新到FLASH存储空间中的时间周期。将部分超高频访问的数据写入到缓存中,暂时先不写入FLASH中,因为其大概率的短时间内可能出现被读和写,因此存放在缓存中,可提供访问速度。当该LBA区间的访问频率信息AccessFrequency出现变化小于超高频访问阀值时,则立即将该数据块写入FLASH中。
本本方案结合NVMe协议特性和Nand Flash存储介质特性,革新数据写入block的方式,新技术大大降低了垃圾回收机制的触发频率,即降低了SSD的写放大、提升了SSD的读写性能、延长了SSD寿命。
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。
Claims (3)
1.一种降低NVMe固态硬盘写放大的方法,其特征在于固态硬盘根据访问频率信息的大小划分为2个以上的数据冷热区间,将落入相同数据冷热区间的数据写入相同的块;所述访问频率信息Access Frequency由主机统计并写入NVMe协议中LBA区间的访问频率信息Access Frequency字段,固态硬盘接收到主机写命令时读取每个命令中携带的访问频率信息Access Frequency字段获得。
2.根据权利要求1所述的降低NVMe固态硬盘写放大的方法,其特征在于设置一个冷热区间阀值,固态硬盘根据访问频率信息的大小划分为2个的数据冷热区间,访问频率信息大于等于冷热区间阀值时为热数据,访问频率信息小于等于冷热区间阀值时为冷数据。
3.根据权利要求1或2所述的降低NVMe固态硬盘写放大的方法,其特征在于还设有一个超高频访问阀值,固态硬盘接收到写命令时,当访问频率信息大于超高频访问阀值,则将写命令携带的数据写入固态硬盘的缓存中的超高频数据区,暂时不写入固态硬盘的FLASH存储空间中,固态硬盘单独设置一个更长的后台将超高频数据区的数据更新到FLASH存储空间中的时间周期。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711010315.4A CN107908358A (zh) | 2017-10-25 | 2017-10-25 | 一种降低NVMe固态硬盘写放大的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711010315.4A CN107908358A (zh) | 2017-10-25 | 2017-10-25 | 一种降低NVMe固态硬盘写放大的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107908358A true CN107908358A (zh) | 2018-04-13 |
Family
ID=61841763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711010315.4A Pending CN107908358A (zh) | 2017-10-25 | 2017-10-25 | 一种降低NVMe固态硬盘写放大的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107908358A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110515550A (zh) * | 2019-08-21 | 2019-11-29 | 深圳忆联信息系统有限公司 | 一种sata固态硬盘冷热数据分离的方法及其装置 |
CN112214168A (zh) * | 2020-09-27 | 2021-01-12 | 湖南智存合壹信息科技有限公司 | 设定固态硬盘冷热数据的方法及数据存储系统 |
WO2021012104A1 (en) * | 2019-07-19 | 2021-01-28 | Alibaba Group Holding Limited | Hot-cold data separation method for reducing write amplification in key-value stores |
CN112352216A (zh) * | 2018-06-30 | 2021-02-09 | 华为技术有限公司 | 数据存储方法及数据存储装置 |
CN116501266A (zh) * | 2023-06-27 | 2023-07-28 | 苏州浪潮智能科技有限公司 | 消息上下文处理方法、装置、计算机设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110225347A1 (en) * | 2010-03-10 | 2011-09-15 | Seagate Technology Llc | Logical block storage in a storage device |
CN102841850A (zh) * | 2012-06-19 | 2012-12-26 | 记忆科技(深圳)有限公司 | 减小固态硬盘写放大的方法及系统 |
CN102902628A (zh) * | 2012-09-18 | 2013-01-30 | 记忆科技(深圳)有限公司 | 一种基于闪存实现的冷热数据自动分离方法、系统及闪存 |
CN103440207A (zh) * | 2013-07-31 | 2013-12-11 | 北京智谷睿拓技术服务有限公司 | 缓存方法及装置 |
CN103984644A (zh) * | 2014-05-07 | 2014-08-13 | 华为技术有限公司 | 一种数据管理方法及装置 |
CN105677245A (zh) * | 2015-12-31 | 2016-06-15 | 记忆科技(深圳)有限公司 | 一种基于wl多线程提高ssd使用寿命的方法 |
CN105930282A (zh) * | 2016-04-14 | 2016-09-07 | 北京时代民芯科技有限公司 | 一种用于nand flash的数据缓存方法 |
-
2017
- 2017-10-25 CN CN201711010315.4A patent/CN107908358A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110225347A1 (en) * | 2010-03-10 | 2011-09-15 | Seagate Technology Llc | Logical block storage in a storage device |
CN102841850A (zh) * | 2012-06-19 | 2012-12-26 | 记忆科技(深圳)有限公司 | 减小固态硬盘写放大的方法及系统 |
CN102902628A (zh) * | 2012-09-18 | 2013-01-30 | 记忆科技(深圳)有限公司 | 一种基于闪存实现的冷热数据自动分离方法、系统及闪存 |
CN103440207A (zh) * | 2013-07-31 | 2013-12-11 | 北京智谷睿拓技术服务有限公司 | 缓存方法及装置 |
CN103984644A (zh) * | 2014-05-07 | 2014-08-13 | 华为技术有限公司 | 一种数据管理方法及装置 |
CN105677245A (zh) * | 2015-12-31 | 2016-06-15 | 记忆科技(深圳)有限公司 | 一种基于wl多线程提高ssd使用寿命的方法 |
CN105930282A (zh) * | 2016-04-14 | 2016-09-07 | 北京时代民芯科技有限公司 | 一种用于nand flash的数据缓存方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112352216A (zh) * | 2018-06-30 | 2021-02-09 | 华为技术有限公司 | 数据存储方法及数据存储装置 |
CN112352216B (zh) * | 2018-06-30 | 2022-06-14 | 华为技术有限公司 | 数据存储方法及数据存储装置 |
WO2021012104A1 (en) * | 2019-07-19 | 2021-01-28 | Alibaba Group Holding Limited | Hot-cold data separation method for reducing write amplification in key-value stores |
CN110515550A (zh) * | 2019-08-21 | 2019-11-29 | 深圳忆联信息系统有限公司 | 一种sata固态硬盘冷热数据分离的方法及其装置 |
CN110515550B (zh) * | 2019-08-21 | 2022-03-29 | 深圳忆联信息系统有限公司 | 一种sata固态硬盘冷热数据分离的方法及其装置 |
CN112214168A (zh) * | 2020-09-27 | 2021-01-12 | 湖南智存合壹信息科技有限公司 | 设定固态硬盘冷热数据的方法及数据存储系统 |
CN112214168B (zh) * | 2020-09-27 | 2022-10-11 | 湖南智存合壹信息科技有限公司 | 设定固态硬盘冷热数据的方法及数据存储系统 |
CN116501266A (zh) * | 2023-06-27 | 2023-07-28 | 苏州浪潮智能科技有限公司 | 消息上下文处理方法、装置、计算机设备和存储介质 |
CN116501266B (zh) * | 2023-06-27 | 2023-09-12 | 苏州浪潮智能科技有限公司 | 消息上下文处理方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107908358A (zh) | 一种降低NVMe固态硬盘写放大的方法 | |
US10007468B2 (en) | Method and apparatus for erasing data in data section in flash memory | |
US10915475B2 (en) | Methods and apparatus for variable size logical page management based on hot and cold data | |
CN103136121B (zh) | 一种固态盘的缓存管理方法 | |
WO2018033036A1 (zh) | 固态硬盘和应用于固态硬盘的数据存取方法 | |
US20170139825A1 (en) | Method of improving garbage collection efficiency of flash-oriented file systems using a journaling approach | |
US10621085B2 (en) | Storage system and system garbage collection method | |
US11204864B2 (en) | Data storage devices and data processing methods for improving the accessing performance of the data storage devices | |
JP6734768B2 (ja) | 二重書込みを遂行するストレージ装置を含むシステム、装置、及びその方法 | |
US11334480B2 (en) | Data storage device and non-volatile memory control method | |
WO2016123748A1 (zh) | 一种闪存存储系统及其读写、删除方法 | |
CN109783019B (zh) | 一种数据智能存储管理方法与装置 | |
CN113031866B (zh) | 一种应用于SSD的Trim管理方法 | |
CN105138277A (zh) | 一种固态盘阵列的缓存管理方法 | |
CN105653466A (zh) | 数据储存装置以及快闪存储器控制方法 | |
CN106205707B (zh) | 存储器装置 | |
EP4307129A1 (en) | Method for writing data into solid-state hard disk | |
EP4187363B1 (en) | Storage controller, storage control method, solid state disk and storage system | |
CN111290974A (zh) | 用于存储设备的缓存淘汰方法与存储设备 | |
CN111290975A (zh) | 使用统一缓存处理读命令与预读命令的方法及其存储设备 | |
CN108062278A (zh) | 一种闪存冷热数据分析器及分析方法 | |
US11099985B2 (en) | Storage controller, storage array device, data depositing method, and storage medium | |
CN109840219B (zh) | 大容量固态存储设备的地址转换系统与方法 | |
CN112947845A (zh) | 热数据识别方法及其存储设备 | |
US10503651B2 (en) | Media cache band cleaning |
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: 20180413 |
|
RJ01 | Rejection of invention patent application after publication |