CN110223726B - 一种增加ssd使用寿命的方法及其系统 - Google Patents
一种增加ssd使用寿命的方法及其系统 Download PDFInfo
- Publication number
- CN110223726B CN110223726B CN201910481553.6A CN201910481553A CN110223726B CN 110223726 B CN110223726 B CN 110223726B CN 201910481553 A CN201910481553 A CN 201910481553A CN 110223726 B CN110223726 B CN 110223726B
- Authority
- CN
- China
- Prior art keywords
- data
- writing
- unit
- tlc
- 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.)
- Active
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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及一种增加SSD使用寿命的方法及其系统;其中,方法,包括:S1,主机下发写数据命令;S2,对写数据命令序列的逻辑地址进行统计分析;S3,判断逻辑地址是否连续;若是,进入S4;若否,则进入S8;S4,写入连续数据,并将数据写入SLC Cache;S5,判断连续数据在搬移时是否为热数据;若是,进入S6;若否,则进入S7;S6,将热数据保留在SLC Cache中,并对热数据进行冷却;S7,将数据搬移至TLC,进入S9;S8,将数据写入TLC,并补无效数据;S9,更新映射表信息,完成写数据。本发明提高了读性能,又避免产生写放大,有效降低了Flash的磨损程度,增加了SSD使用寿命。
Description
技术领域
本发明涉及固态硬盘使用寿命技术领域,更具体地说是指一种增加SSD使用寿命的方法及其系统。
背景技术
FTL算法对SSD(固态硬盘)的性能及使用寿命产生着极其重要的影响,使用同样TLC闪存的SSD,不同的FTL算法的产品,性能参数差别很大;大部分TLC SSD会根据SSD本身的容量划分固定比例的空间用于实现SLC Cache,这部分空间只有当SSD实际使用容量超过SSD本身容量减去SLC Cache之差后,就不再承担SLC Cache缓存义务,重新变成TLC区域,这样做的好处是SLC Cache专属区域只有实际使用容量超过临界值时才会被解散,在绝大多数没有达到临界值时,SLC Cache就可以全部参与为SSD读写加速;但由于不同的SSD厂商FTL算法不同,对SLC Cache的使用效率和产生的写方大也不同,导致性能差别很大。
目前大部分SLC Cache的使用过程中,因为不断做数据搬移,不可避免的会产生一倍的写放大,降低了SSD的使用寿命;因此,无法满足需求。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种增加SSD使用寿命的方法及其系统。
为实现上述目的,本发明采用于下技术方案:
一种增加SSD使用寿命的方法,包括以下步骤:
S1,主机下发写数据命令;
S2,对写数据命令序列的逻辑地址进行统计分析;
S3,判断逻辑地址是否连续;若是,进入S4;若否,则进入S8;
S4,写入连续数据,并将数据写入SLC Cache;
S5,判断连续数据在搬移时是否为热数据;若是,进入S6;若否,则进入S7;
S6,将热数据保留在SLC Cache中,并对热数据进行冷却;
S7,将数据搬移至TLC,进入S9;
S8,将数据写入TLC,并补无效数据;
S9,更新映射表信息,完成写数据。
其进一步技术方案为:所述S2中,FTL分析写入数据的内容,对写数据命令序列的逻辑地址进行统计分析。
其进一步技术方案为:所述S6包括:
S61,将热数据保留在SLC Cache中;
S62,对热数据进行冷却。
其进一步技术方案为:所述S9包括:
S91,更新映射表信息;
S92,完成写数据。
其进一步技术方案为:所述S9中,还包括:读数据从TLC中读取。
一种增加SSD使用寿命的系统,包括:下发单元,统计分析单元,第一判断单元,第一写入单元,第二判断单元,保留冷却单元,搬移单元,第二写入单元,及更新完成单元;
所述下发单元,用于主机下发写数据命令;
所述统计分析单元,用于对写数据命令序列的逻辑地址进行统计分析;
所述第一判断单元,用于判断逻辑地址是否连续;
所述第一写入单元,用于写入连续数据,并将数据写入SLC Cache;
所述第二判断单元,用于判断连续数据在搬移时是否为热数据;
所述保留冷却单元,用于将热数据保留在SLC Cache中,并对热数据进行冷却;
所述搬移单元,用于将数据搬移至TLC;
所述第二写入单元,用于将数据写入TLC,并补无效数据;
所述更新完成单元,用于更新映射表信息,完成写数据。
其进一步技术方案为:所述统计分析单元中,FTL分析写入数据的内容,对写数据命令序列的逻辑地址进行统计分析。
其进一步技术方案为:所述保留冷却单元包括保留模块和冷却模块;
所述保留模块,用于将热数据保留在SLC Cache中;
所述冷却模块,用于对热数据进行冷却。
其进一步技术方案为:所述更新完成单元包括更新模块和完成模块;
所述更新模块,用于更新映射表信;
所述完成模块,用于完成写数据。
其进一步技术方案为:所述更新完成单元还包括:读数据从TLC中读取。
本发明与现有技术相比的有益效果是:主机写入数据时,分析数据内容,如果是不连续数据,优先写入TLC中,提高了SLC Cache的使用效率,且对于写入SLC Cache的数据,根据数据的冷热决定处理策略,如果是热数据,由于很快会被更新,因此没必要写入TLC增加写放大,而是等待数据冷却后再搬移到TLC,这种处理策略可以有效减少写放大,增加SSD使用寿命,能够更好地满足需求。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
图1为各类型闪存的性能对比示意图;
图2为现有技术中SLC Cache的使用流程示意图;
图3为本发明一种增加SSD使用寿命的方法流程图;
图4为本发明一种增加SSD使用寿命的系统方框图。
具体实施方式
为了更充分理解本发明的技术内容,下面结合具体实施例对本发明的技术方案进一步介绍和说明,但不局限于此。
如图1到图4所示的具体实施例,目前NAND Flash闪存芯片是SSD(Solid StateDisk)存储数据的主要部分;闪存分SLC、MLC、TLC、QLC,它指的是一个存储单元存储的比特数;如图1所示,SLC(Single-Level Cell),即单个存储单元存储一比特的数据,SLC速度快,寿命长(约5-10万次擦写寿命),但价格超贵(约为MLC3倍以上的价格);MLC(Multi-LevelCell),即单个存储单元存储多比特(但一般指两比特)的数据;TLC(Triple-Level Cell),即单个存储单元存储三比特的数据,速度慢,寿命短(约500-1500次擦写寿命),价格便宜,目前市场主流的闪存芯片是TLC;但是由于TLC速度慢、可擦写次数少,SLC速度快,可擦写次数多,并且闪存芯片都支持将TLC切换为SLC使用,因此大部分SSD厂商选择使用SLC Cache来提高SSD的读写性能。
其中,如图2所示的现有技术,Host(主机)下发写命令,FTL首先判断是否可以申请使用SLC Cache,如果申请成功,则将数据写入SLC,后续通过后台搬移到TLC,如果申请失败,说明SLC Cache已用尽,则将数据直接写入TLC;这样做可以明显提升读写性能,但同时因为不断做数据搬移,不可避免的会产生一倍的写放大,降低了SSD的使用寿命。
如图3所示,本发明公开了一种增加SSD使用寿命的方法,包括以下步骤:
S1,主机下发写数据命令;
S2,对写数据命令序列的逻辑地址进行统计分析;
S3,判断逻辑地址是否连续;若是,进入S4;若否,则进入S8;
S4,写入连续数据,并将数据写入SLC Cache;
S5,判断连续数据在搬移时是否为热数据;若是,进入S6;若否,则进入S7;
S6,将热数据保留在SLC Cache中,并对热数据进行冷却;
S7,将数据搬移至TLC,进入S9;
S8,将数据写入TLC,并补无效数据;
S9,更新映射表信息,完成写数据。
其中,所述S2中,FTL分析写入数据的内容,对写数据命令序列的逻辑地址进行统计分析。
其中,所述S6包括:
S61,将热数据保留在SLC Cache中;
S62,对热数据进行冷却。
其中,所述S9包括:
S91,更新映射表信息;
S92,完成写数据。
进一步地,所述S9中,还包括:读数据从TLC中读取。
本发明在主机写入数据时,首先分析数据内容,如果是不连续数据,因为需要补无效数据,写SLC造成浪费,因此优先写入TLC,提高SLC Cache的使用效率;对于写入SLCCache的数据,根据数据的冷热决定处理策略,如果是热数据,由于很快会被更新,因此暂时保留在SLC,既可以提高读性能,又避免产生写放大,等待数据冷却后再搬移到TLC,有效降低了Flash的磨损程度,增加了SSD使用寿命。
如图4所示,本发明公开了一种增加SSD使用寿命的系统,包括:下发单元10,统计分析单元20,第一判断单元30,第一写入单元40,第二判断单元50,保留冷却单元60,搬移单元70,第二写入单元80,及更新完成单元90;
所述下发单元10,用于主机下发写数据命令;
所述统计分析单元20,用于对写数据命令序列的逻辑地址进行统计分析;
所述第一判断单元30,用于判断逻辑地址是否连续;
所述第一写入单元40,用于写入连续数据,并将数据写入SLC Cache;
所述第二判断单元50,用于判断连续数据在搬移时是否为热数据;
所述保留冷却单元60,用于将热数据保留在SLC Cache中,并对热数据进行冷却;
所述搬移单元70,用于将数据搬移至TLC;
所述第二写入单元80,用于将数据写入TLC,并补无效数据;
所述更新完成单元90,用于更新映射表信息,完成写数据。
其中,所述统计分析单元20中,FTL分析写入数据的内容,对写数据命令序列的逻辑地址进行统计分析。
其中,所述保留冷却单元60包括保留模块61和冷却模块62;
所述保留模块61,用于将热数据保留在SLC Cache中;
所述冷却模块62,用于对热数据进行冷却。
其中,所述更新完成单元90包括更新模块91和完成模块92;
所述更新模块91,用于更新映射表信;
所述完成模块92,用于完成写数据。
进一步地,所述更新完成单元90还包括:读数据从TLC中读取。
本发明提高了读性能,又避免产生写放大,有效降低了Flash的磨损程度,增加了SSD使用寿命。
上述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。本发明的保护范围以权利要求书为准。
Claims (6)
1.一种增加SSD使用寿命的方法,其特征在于,包括以下步骤:
S1,主机下发写数据命令;
S2,对写数据命令序列的逻辑地址进行统计分析;
S3,判断逻辑地址是否连续;若是,进入S4;若否,则进入S8;
S4,写入连续数据,并将数据写入SLC Cache;
S5,判断连续数据在搬移时是否为热数据;若是,进入S6;若否,则进入S7;
S6,将热数据保留在SLC Cache中,并对热数据进行冷却;
S7,将数据搬移至TLC,进入S9;
S8,将数据写入TLC,并补无效数据;
S9,更新映射表信息,完成写数据;
所述S2中,FTL分析写入数据的内容,对写数据命令序列的逻辑地址进行统计分析;
所述S6包括:
S61,将热数据保留在SLC Cache中;
S62,对热数据进行冷却;
其中,在主机写入数据时,首先分析数据内容,如果是不连续数据,因为需要补无效数据,写SLC造成浪费,因此优先写入TLC;对于写入SLC Cache的数据,根据数据的冷热决定处理策略,如果是热数据,由于很快会被更新,因此暂时保留在SLC。
2.根据权利要求1所述的一种增加SSD使用寿命的方法,其特征在于,所述S9包括:
S91,更新映射表信息;
S92,完成写数据。
3.根据权利要求2所述的一种增加SSD使用寿命的方法,其特征在于,所述S9中,还包括:读数据从TLC中读取。
4.一种增加SSD使用寿命的系统,其特征在于,包括:下发单元,统计分析单元,第一判断单元,第一写入单元,第二判断单元,保留冷却单元,搬移单元,第二写入单元,及更新完成单元;
所述下发单元,用于主机下发写数据命令;
所述统计分析单元,用于对写数据命令序列的逻辑地址进行统计分析;
所述第一判断单元,用于判断逻辑地址是否连续;
所述第一写入单元,用于写入连续数据,并将数据写入SLC Cache;
所述第二判断单元,用于判断连续数据在搬移时是否为热数据;
所述保留冷却单元,用于将热数据保留在SLC Cache中,并对热数据进行冷却;
所述搬移单元,用于将数据搬移至TLC;
所述第二写入单元,用于将数据写入TLC,并补无效数据;
所述更新完成单元,用于更新映射表信息,完成写数据;
所述统计分析单元中,FTL分析写入数据的内容,对写数据命令序列的逻辑地址进行统计分析;
所述保留冷却单元包括保留模块和冷却模块;
所述保留模块,用于将热数据保留在SLC Cache中;
所述冷却模块,用于对热数据进行冷却;
其中,在主机写入数据时,首先分析数据内容,如果是不连续数据,因为需要补无效数据,写SLC造成浪费,因此优先写入TLC;对于写入SLC Cache的数据,根据数据的冷热决定处理策略,如果是热数据,由于很快会被更新,因此暂时保留在SLC。
5.根据权利要求4所述的一种增加SSD使用寿命的系统,其特征在于,所述更新完成单元包括更新模块和完成模块;
所述更新模块,用于更新映射表信;
所述完成模块,用于完成写数据。
6.根据权利要求5所述的一种增加SSD使用寿命的系统,其特征在于,所述更新完成单元还包括:读数据从TLC中读取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910481553.6A CN110223726B (zh) | 2019-06-04 | 2019-06-04 | 一种增加ssd使用寿命的方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910481553.6A CN110223726B (zh) | 2019-06-04 | 2019-06-04 | 一种增加ssd使用寿命的方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110223726A CN110223726A (zh) | 2019-09-10 |
CN110223726B true CN110223726B (zh) | 2020-12-01 |
Family
ID=67819203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910481553.6A Active CN110223726B (zh) | 2019-06-04 | 2019-06-04 | 一种增加ssd使用寿命的方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110223726B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750215A (zh) * | 2019-10-14 | 2020-02-04 | 深圳忆联信息系统有限公司 | 提升固态硬盘随机读性能方法、装置和计算机设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101211252A (zh) * | 2006-12-26 | 2008-07-02 | 劲永国际股份有限公司 | 存储器储存装置 |
CN101526923A (zh) * | 2009-04-02 | 2009-09-09 | 成都市华为赛门铁克科技有限公司 | 一种数据处理方法、装置和闪存存储系统 |
CN102103546A (zh) * | 2009-12-21 | 2011-06-22 | 智微科技股份有限公司 | 用于储存装置以进行储存管理的方法及控制单元与相关储存装置 |
CN102521160A (zh) * | 2011-12-22 | 2012-06-27 | 上海交通大学 | 写缓冲检测器、写入数据的寻址方法、并行通道写入方法 |
US8990458B2 (en) * | 2013-02-28 | 2015-03-24 | Kabushiki Kaisha Toshiba | Controller, semiconductor storage device and method of controlling data writing |
CN108255419A (zh) * | 2017-12-19 | 2018-07-06 | 深圳忆联信息系统有限公司 | 一种用于tlc类型ssd的磨损均衡方法及ssd |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100771521B1 (ko) * | 2006-10-30 | 2007-10-30 | 삼성전자주식회사 | 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법 |
-
2019
- 2019-06-04 CN CN201910481553.6A patent/CN110223726B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101211252A (zh) * | 2006-12-26 | 2008-07-02 | 劲永国际股份有限公司 | 存储器储存装置 |
CN101526923A (zh) * | 2009-04-02 | 2009-09-09 | 成都市华为赛门铁克科技有限公司 | 一种数据处理方法、装置和闪存存储系统 |
CN102103546A (zh) * | 2009-12-21 | 2011-06-22 | 智微科技股份有限公司 | 用于储存装置以进行储存管理的方法及控制单元与相关储存装置 |
CN102521160A (zh) * | 2011-12-22 | 2012-06-27 | 上海交通大学 | 写缓冲检测器、写入数据的寻址方法、并行通道写入方法 |
US8990458B2 (en) * | 2013-02-28 | 2015-03-24 | Kabushiki Kaisha Toshiba | Controller, semiconductor storage device and method of controlling data writing |
CN108255419A (zh) * | 2017-12-19 | 2018-07-06 | 深圳忆联信息系统有限公司 | 一种用于tlc类型ssd的磨损均衡方法及ssd |
Also Published As
Publication number | Publication date |
---|---|
CN110223726A (zh) | 2019-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10503411B2 (en) | Data storage device and method for operating non-volatile memory | |
US9128637B2 (en) | Logical unit operation | |
CN108121503B (zh) | 一种NandFlash地址映射及块管理方法 | |
TWI476780B (zh) | 具有揮發性及非揮發性記憶體之混合固態記憶體系統 | |
US20190114272A1 (en) | Methods and apparatus for variable size logical page management based on hot and cold data | |
US10346296B2 (en) | Data storage device | |
US20150134887A1 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US10437512B2 (en) | Techniques for non-volatile memory page retirement | |
CN111158579B (zh) | 固态硬盘及其数据存取的方法 | |
TW201310454A (zh) | 快閃記憶體控制器 | |
US20200310986A1 (en) | Data storage device and operating method thereof, and storage system including the same | |
US8037236B2 (en) | Flash memory writing method and storage system and controller using the same | |
KR20130022604A (ko) | 접근 빈도에 따라 데이터를 할당하는 저장장치 및 저장방법 | |
US11836076B2 (en) | Implementing mapping data structures to minimize sequentially written data accesses | |
CN107861884B (zh) | 一种提高nand闪存中跨页存储地址映射效率的方法 | |
US9778862B2 (en) | Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus | |
CN113590505B (zh) | 地址映射方法、固态硬盘控制器及固态硬盘 | |
CN110223726B (zh) | 一种增加ssd使用寿命的方法及其系统 | |
US20210223998A1 (en) | Method and apparatus to reduce nand die collisions in a solid state drive | |
JP5259257B2 (ja) | 記憶装置 | |
KR101070511B1 (ko) | Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법 | |
CN110275678B (zh) | 一种基于stt-mram的固态存储器件随机访问性能提升方法 | |
US11237732B2 (en) | Method and apparatus to improve write bandwidth of a block-based multi-level cell nonvolatile memory | |
KR20200121068A (ko) | 데이터 저장 장치 및 이의 동작 방법, 이를 위한 컨트롤러 | |
KR20200110862A (ko) | 데이터 저장 장치 및 동작 방법, 이를 위한 컨트롤러 |
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 |