CN104484283B - 一种降低固态硬盘写放大的方法 - Google Patents
一种降低固态硬盘写放大的方法 Download PDFInfo
- Publication number
- CN104484283B CN104484283B CN201410699002.4A CN201410699002A CN104484283B CN 104484283 B CN104484283 B CN 104484283B CN 201410699002 A CN201410699002 A CN 201410699002A CN 104484283 B CN104484283 B CN 104484283B
- Authority
- CN
- China
- Prior art keywords
- write
- data
- ppa
- physical page
- garbage reclamation
- 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
Abstract
本发明公开了一种降低固态硬盘写放大的方法,其特征在于当SSD的当前数据访问的LPA数量无法拆分为多个刚好填充PPA刚好满足一个物理页写入操作时,对于刚好填充PPA部分的数据直接写入实际的物理页中;对于多出的部分先写入物理页写入缓存,从待垃圾回收的物理块中的查找有效数据,并迁移到物理页写入缓存与当前数据访问的数据刚好组成一个PPA,刚好满足一个物理页写入操作,将填充好的PPA的数据写入实际物理页中。将垃圾回收过程中的有效数据替代无效数据来减少写放大,同时将垃圾回收的过程分散到各个具体写操作中,在极小写放大的同时提高了固态硬盘的响应速度和整体寿命。
Description
技术领域
本发明涉及信息存储领域,尤其涉及一种降低固态硬盘写放大的方法。
背景技术
固态硬盘(SSD)中,由于NAND Flash的特性,需要整个物理Page(以下简称PPA)进行编程,随着Flash工艺的改变,Page Size从先前的4KB,逐步演变到现在的8KB,16KB,将来还可能更大,现代的存储对于4KB大小为单位的数据的读写性能要求较高,所以SSD内部的都设有逻辑转换层(FTL),并且都以4KB大小的单元分配写操作单元-逻辑页(LPA)。
由于LPA到PPA的不等价性,当一次数据访问的LPA数量无法刚好填充PPA时,实际数据访问中无法刚好填充PPA的情形是占多数的,这样FTL算法需要在剩余区域填充无效数据,实现对整个物理Page的编程。这种行为将导致SSD写放大的产生并降低寿命。
另一方面,由于NAND Flash的特性,其物理页面被编程后,在整个物理块擦除前,对应的物理页不可以再重新编程。对应的回收过程称之为垃圾回收,其伴随着非主机发起的数据迁移过程,类似碎片整理;非主机发起的数据迁移过程必然需要对Flash进行重新编程,这也必然引入写放大,同时完成数据的迁移还需要额外的系统时间开销,必然会影响到系统的响应速度。
发明内容
针对以上缺陷,本发明目的在于提出了如何降低LPA与PPA不对齐时导致通过填充无效数据引起的写放大问题。
为了实现上述目的,本发明提供了一种降低固态硬盘写放大的方法,其特征在于将垃圾回收的过程嵌入到正常的数据写入过程,当SSD的当前数据访问的LPA数量无法拆分为多个刚好填充PPA刚好满足一个物理页写入操作时,对于刚好填充PPA部分的数据直接写入实际的物理页中;对于多出的部分先写入物理页写入缓存,从待垃圾回收的物理块中的查找有效数据,并迁移到物理页写入缓存与当前数据访问的数据刚好组成一个PPA,刚好满足一个物理页写入操作,将填充好的PPA的数据写入实际物理页中。
所述的降低固态硬盘写放大的方法,其特征在于将填充好的PPA的数据写入实际物理页中后立即将已迁移走有效数据的待垃圾回收的物理块进行擦除操作,并实现回收。
所述的降低固态硬盘写放大的方法,其特征还包括待垃圾回收的物理块索引表,所述索引表记录待垃圾回收的物理块中的各个PPA内还有多少个LPA的有效数据,当SSD的当前数据访问的LPA数量无法刚好填充PPA刚好满足一个物理页写入操作时,直接检索所述的索引表,快速定位到需要迁走的有效数据。
本发明针对LPA与PPA不对齐导致的填充无效数据过程引入的写放大的问题,将垃圾回收过程中的有效数据替代无效数据来减少写放大,同时将垃圾回收的过程分散到各个具体写操作中,在极小写放大的同时提高了固态硬盘的响应速度和整体寿命。
附图说明
图1是PPA包含全部为有效数据的写入示意图;
图2是PPA写入数据不足的写入示意图;
图3是通过垃圾回收填充PPA写入数据不足的示意图;
图4是拼接垃圾回收区数据后的PPA写入示意图;
图5是垃圾回收示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为PPA包含全部为有效数据的写入示意图;当主机写入数据时,数据流按照LPA进行切分。切分为1到N+1分LPA,单个LPA内的数据逻辑地址是连续的。2个不同的LPA地址没有关联性。在数据写入到NAND物理块前,由“物理页写入缓存”对数据进行拼接,本实施例一个PPA包含4个LPA,当Host写入数据凑满一个PPA后,依次写入后端NAND空白页中,主机依次写入每包含4个LPA的数据到物理块中。
图2为PPA写入数据不足的写入示意图,当出现主机最后写入数据LPA编号为N+1的数据时,不足一个PPA时,此时无法立即将有效数据写入NAND物理页,只能先将N+1的数据先移入物理页写缓存中。传统做法是填充无效数据以满足物理页写入需求。但这个做法使得NAND写放大增加并且浪费了NAND使用寿命。
图3为通过垃圾回收填充PPA写入数据不足的示意图,主机最后写入数据不足一个PPA,此时找到需要垃圾回收的物理块,所述的需要垃圾回收的物理块是指其所有的物理页都已经被写过,且只有少量的是有效数据,其余都是无效数据(新的数据被主机重新写过,且被SSD分配到其他物理块的物理页)。按该指令最后一个PPA写入所缺少的物理页写入缓存所缺少的LPA数量,本实施例所举例子当前写操作只有1个LPA有效数据,还缺3个LPA有效数据。查找需要垃圾回收的物理块的有效数据,查到3个LPA数据,将这3个LPA数据从垃圾回收的物理块内导入到物理页写缓存中。
图4为拼接垃圾回收区数据后的PPA写入示意图,将装满有效数据的物理页写缓存写入到当前写入物理块的空白物理页上,同时该数据源的待垃圾回收的物理块中的相应数据变成无效数据。
图5为垃圾回收示意图,待垃圾回收的物理块中所有数据被迁移走后,对应的该物理块上的数据都变成无效数据,直接擦除该物理块使该物理块变成空白块,可用于新的数据写入,也就实现垃圾回收。
综合如上过程,在传统做法中,当物理页写缓存不能装满时会填充无效数据。这个过程会发生在主机数据写入或者垃圾回收数据变迁的写入。在本发明中,通过特定的数据写入策略,可有效降低无效数据的填充量及其对应的写放大;同时将垃圾回收的过程嵌入到正常的数据写入过程,可有效避免独立垃圾回收过程中的数据迁移引起的系统响应延迟。
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。
Claims (3)
1.一种降低固态硬盘写放大的方法,其特征在于将垃圾回收的过程嵌入到正常的数据写入过程,当SSD的当前数据访问的LPA数量无法拆分为多个刚好填充PPA刚好满足一个物理页写入操作时,对于刚好填充PPA部分的数据直接写入实际的物理页中;对于多出的部分先写入物理页写入缓存,从待垃圾回收的物理块中的查找有效数据,并迁移到物理页写入缓存与当前数据访问的数据刚好组成一个PPA,刚好满足一个物理页写入操作,将填充好的PPA的数据写入实际物理页中。
2.根据权利要求1所述的降低固态硬盘写放大的方法,其特征在于将填充好的PPA的数据写入实际物理页中后立即将已迁移走有效数据的待垃圾回收的物理块进行擦除操作,并实现回收。
3.根据权利要求2所述的降低固态硬盘写放大的方法,其特征还包括待垃圾回收的物理块索引表,所述索引表记录待垃圾回收的物理块中的各个PPA内还有多少个LPA的有效数据,当SSD的当前数据访问的LPA数量无法刚好填充PPA刚好满足一个物理页写入操作时,直接检索所述的索引表,快速定位到需要迁走的有效数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410699002.4A CN104484283B (zh) | 2014-11-27 | 2014-11-27 | 一种降低固态硬盘写放大的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410699002.4A CN104484283B (zh) | 2014-11-27 | 2014-11-27 | 一种降低固态硬盘写放大的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104484283A CN104484283A (zh) | 2015-04-01 |
CN104484283B true CN104484283B (zh) | 2018-03-27 |
Family
ID=52758827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410699002.4A Active CN104484283B (zh) | 2014-11-27 | 2014-11-27 | 一种降低固态硬盘写放大的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104484283B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3220275B1 (en) | 2015-12-03 | 2020-11-04 | Huawei Technologies Co., Ltd. | Array controller, solid state disk and data writing control method for solid state disk |
CN106844222A (zh) * | 2015-12-03 | 2017-06-13 | 西安三星电子研究有限公司 | 固态硬盘的数据处理的方法和设备 |
CN105677244B (zh) * | 2015-12-31 | 2019-04-09 | 记忆科技(深圳)有限公司 | 一种降低tlc闪存的固态硬盘写放大的方法 |
CN107346288B (zh) * | 2016-05-05 | 2020-08-28 | 中国科学院微电子研究所 | 一种数据写入方法及装置 |
CN107544748B (zh) * | 2016-06-28 | 2020-06-16 | 建兴储存科技(广州)有限公司 | 固态储存装置及其数据写入方法 |
CN106528438B (zh) * | 2016-10-08 | 2019-08-13 | 华中科技大学 | 一种固态存储设备的分段式垃圾回收方法 |
CN107562646A (zh) * | 2017-08-28 | 2018-01-09 | 记忆科技(深圳)有限公司 | 一种提升固态存储垃圾回收性能的方法 |
CN110554970A (zh) * | 2018-05-31 | 2019-12-10 | 北京忆恒创源科技有限公司 | 显著降低写放大的垃圾回收方法及存储设备 |
CN108228103A (zh) * | 2017-12-29 | 2018-06-29 | 北京联想核芯科技有限公司 | 一种ssd硬盘的数据处理方法和装置 |
CN113490922B (zh) * | 2019-02-27 | 2023-07-18 | 华为技术有限公司 | 固态硬盘写放大优化方法 |
CN110347339B (zh) * | 2019-06-28 | 2020-07-10 | 华中科技大学 | 一种针对机械硬盘的可控连续写方法、调度器及存储系统 |
CN112230849B (zh) * | 2020-10-13 | 2023-12-05 | 深圳宏芯宇电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101819509A (zh) * | 2010-04-19 | 2010-09-01 | 清华大学深圳研究生院 | 一种固态硬盘读写方法 |
CN102298555A (zh) * | 2011-08-22 | 2011-12-28 | 宜兴市华星特种陶瓷科技有限公司 | 基于nand技术的模块化闪存管理系统 |
CN102866955A (zh) * | 2012-09-14 | 2013-01-09 | 记忆科技(深圳)有限公司 | 一种闪存数据管理方法及系统 |
US8386714B2 (en) * | 2010-06-29 | 2013-02-26 | International Business Machines Corporation | Reducing write amplification in a cache with flash memory used as a write cache |
CN103455435A (zh) * | 2013-08-29 | 2013-12-18 | 华为技术有限公司 | 数据写入方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9021185B2 (en) * | 2009-11-23 | 2015-04-28 | Amir Ban | Memory controller and methods for enhancing write performance of a flash device |
-
2014
- 2014-11-27 CN CN201410699002.4A patent/CN104484283B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101819509A (zh) * | 2010-04-19 | 2010-09-01 | 清华大学深圳研究生院 | 一种固态硬盘读写方法 |
US8386714B2 (en) * | 2010-06-29 | 2013-02-26 | International Business Machines Corporation | Reducing write amplification in a cache with flash memory used as a write cache |
CN102298555A (zh) * | 2011-08-22 | 2011-12-28 | 宜兴市华星特种陶瓷科技有限公司 | 基于nand技术的模块化闪存管理系统 |
CN102866955A (zh) * | 2012-09-14 | 2013-01-09 | 记忆科技(深圳)有限公司 | 一种闪存数据管理方法及系统 |
CN103455435A (zh) * | 2013-08-29 | 2013-12-18 | 华为技术有限公司 | 数据写入方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104484283A (zh) | 2015-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104484283B (zh) | 一种降低固态硬盘写放大的方法 | |
EP2715510B1 (en) | Method for storage devices to achieve low write amplification with low over provision | |
US10915475B2 (en) | Methods and apparatus for variable size logical page management based on hot and cold data | |
CN102576333B (zh) | 非易失性存储器中的数据高速缓存 | |
US20160283124A1 (en) | Multi-streamed solid state drive | |
TWI409633B (zh) | 快閃記憶體儲存裝置、其控制器與資料寫入方法 | |
CN102508788B (zh) | Ssd及ssd垃圾回收方法和装置 | |
US20140089564A1 (en) | Method of data collection in a non-volatile memory | |
US10942849B2 (en) | Use of a logical-to-logical translation map and a logical-to-physical translation map to access a data storage device | |
KR102087495B1 (ko) | 저장 파라미터 변경 | |
US9666244B2 (en) | Dividing a storage procedure | |
US20200183831A1 (en) | Storage system and system garbage collection method | |
US10203899B2 (en) | Method for writing data into flash memory apparatus, flash memory apparatus, and storage system | |
KR101374065B1 (ko) | 칩 레벨 평행 플래시 메모리를 위한 정보 분별 방법 및 장치 | |
US11513949B2 (en) | Storage device, and control method and recording medium thereof | |
CN107797759A (zh) | 访问缓存信息的方法、装置与驱动器 | |
US20100318726A1 (en) | Memory system and memory system managing method | |
CN110389712B (zh) | 数据写入方法及其装置、固态硬盘和计算机可读存储介质 | |
CN107797760A (zh) | 基于缓存优化写命令处理的方法、装置与驱动器 | |
CN112130749B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
KR20160139864A (ko) | 비휘발성 메모리 시스템 | |
CN106775684A (zh) | 一种基于新型非易失性存储器的磁盘缓存掉电恢复方法 | |
TW202036300A (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
CN101894077B (zh) | 一种数据存储方法及系统 | |
KR101191650B1 (ko) | 낸드 플래시 메모리에서 데이터의 주소를 사상시키는 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |