CN112558879A - 一种提高固态盘内3D-flash性能的方法 - Google Patents
一种提高固态盘内3D-flash性能的方法 Download PDFInfo
- Publication number
- CN112558879A CN112558879A CN202011492974.8A CN202011492974A CN112558879A CN 112558879 A CN112558879 A CN 112558879A CN 202011492974 A CN202011492974 A CN 202011492974A CN 112558879 A CN112558879 A CN 112558879A
- Authority
- CN
- China
- Prior art keywords
- page
- sub
- executing
- flash memory
- size
- 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
- 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/0608—Saving storage space on 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/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
- 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/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)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种提高固态盘内3D‑flash性能的方法,将一个3D闪存页均等划分成为四个闪存子页,例如将一张16KB大小的闪存页划分为4段4KB大小的子页(在其他数据量大小的闪存页同理划分为4段),并给每个子页赋予子页号,同时在内存中建立一张映射表,建立起子页级的映射关系,通过合理的合并缓存页内有效修改的数据部分操作,将多个缓存页内有效修改的数据部分合并成一个写请求,一次性写入一个闪存页面。从而有效的减少了闪存的写操作次数,有效延长了闪存的使用寿命,缩短固态盘写响应时间,闪存空间利用率得到提升。
Description
技术领域
本发明涉及固态盘技术领域,具体涉及一种提高固态盘内3D-flash性能的方法。
背景技术
固态盘是使用半导体芯片来存储数据的一种存储设备,它主要由外围电路、半导体存储芯片、控制器、固态盘内部缓存、只读存储器(ROM)、主机接口逻辑及相应的固件组成。ROM 用来存储固态盘中的固件,固态盘内部缓存用于平滑半导体存储器与处理器的速度差异,控制器负责在主机和半导体存储芯片之间传输、处理数据。目前固态盘中的半导体存储芯片主要为闪存。
随着闪存制造工艺的进步,NAND型闪存芯片的存储密度越来越高,存储容量越来越大。然而,随着人们需求的不断增加,受到有限宽度和长度尺寸内容纳存储器单元的限制。2D闪存容量已达到其开发的极限,利用2D闪存很难在SSD容量方面上继续增加。于是,3D闪存应运而生。3D闪存可带来更好的性能,更低的成本以及更高的密度。2D闪存不同,3D闪存使用多层垂直堆叠,以实现更高的密度,更低的功耗,更好的耐用性,更快的读/写速度以及更低的每千兆字节成本。
单个闪存页的容量已经由早先的512字节,逐渐增加到4KB,8BK,现在的3D NAND页面大小达到16KB已经很普遍了,未来还可能增加到32KB甚至更大。以16KB的闪存页为例,4个4KB的文件系统块才能填满一个闪存页。由于闪存异地更新的特点,如果需要更新一个闪存页中部分的数据,需要更新整个闪存页的数据。在固态盘内缓存写回闪存内也是将一页数据写回闪存页面。但是随着闪存页面变大,有很多缓存页内有效的写回数据的大小没有能够达到一页闪存页的大小,如此一来,这些更新数据较小的写请求需要更新整一个闪存页面。不仅会造成页面空间的浪费,同时也会频繁触发闪存写操作,但由于闪存介质的擦除操作次数是有限的,因此闪存的使用寿命也是有限的。
通过统计,一单页闪存大小为16KB为例,在多种负载下写回请求不同数据占比根据图1所示,在不同的负载下,一页缓存页内小于12KB的写回数据的占比是比较大的,因此如何处理这些有效写数据较小的缓存页面,成为提升固态盘中闪存性能的一个要点。现在普遍的情况是依旧保持过去传统的更新策略,但这势必会造成不必要的浪费,同时固态盘的使用寿命也十分受限。因此提出一个方案更好地处理这些有效写数据较小的缓存页面则显得十分必要。
发明内容
本发明所要解决的问题是:提供一种提高固态盘内3D-flash性能的方法,将一个3D闪存页均等划分成为四个闪存子页,例如将一张16KB大小的闪存页划分为4段4KB大小的子页(在其他数据量大小的闪存页同理划分为4段),并给每个子页赋予子页号,同时在内存中建立一张映射表,建立起子页级的映射关系,通过合理的合并缓存页内有效修改的数据部分操作,将多个缓存页内有效修改的数据部分合并成一个写请求,一次性写入一个闪存页面。从而有效的减少了闪存的写操作次数,有效延长了闪存的使用寿命,缩短固态盘写响应时间,闪存空间利用率得到提升。
本发明为解决上述问题所提供的技术方案为:一种提高固态盘内3D-flash性能的方法,所述方法包括以下步骤,
(1)、进行预处理,在内存内建立一张新子页级映射表,映射信息包括,原物理页号,原物理子页号,新物理页号,新物理子页号;
(2)、在缓存请求更新队列取下一条写请求进行处理,将缓存页划分为4段,每段大小对应闪存页子页大小;判断写请求内有效数据大小是否为一个闪存页面大小,是则执行步骤(4),否则执行步骤(3);
(3)、判断该写请求是否满足整页写入的条件,是则执行步骤(4),否则执行步骤(5);
(4)、执行页写操作,同时转入步骤(7);
(5)、在写请求队列寻找其他写请求,根据写请求的有效数据的大小判断是否满足合并条件,是则转入步骤(6),否则转入步骤(4);
(6)、执行合并操作,并转入步骤(4);
(7)、根据物理地址以及新写入的闪存页物理地址,以及相应的子页写入信息更新子页级映射表,同时将原页面内被映射的子页置为无效。
优选的,所述步骤(3)具体为,
(3.1)、判断该写请求大小,若大于3个子页面的大小则执行步骤(4),否则执行步骤(3.2);
(3.2)、根据缓存队列判断该子请求是否为最后一条写请求,若是则执行步骤(4),否则执行步骤(5)。
优选的,所述步骤(5)具体为,
(5.1)、顺序遍历缓存队列写请求队列,若没有其他写请求有效子页数与该写请求有效子页数相加小于或等于4个子页,则执行步骤(5.4),否则执行步骤(5.2);
(5.2)、判断两个写请求有效子页数相加是否为4个子页,是则执行步骤(6),否则执行步骤 (5.3);
(5.3)、将这两个写请求进行合并,作为一个新的写请求,并转入执行步骤(5.1);
(5.4)、结束遍历,并执行步骤(4)。
优选的,所述步骤(7)中更新子页级映射表具体为:把每一页闪存也按照页面大小分成相同大小的子页,并统一方式给子页设置子页号,在闪存内一页整个新页写入数据后,根据被更新页的物理地址以及新写入数据页的物理地址建立映射关系,同时,建立起被修改子页与新写入数据的闪存页内子页的映射关系。
与现有技术相比,本发明的优点是:
1、与传统的闪存更新策略相比,本方案通过合并小请求操作,可以显著减少闪存页面的写操作次数,从而提高闪存的寿命,进而提升固态盘的使用寿命。
2、传统的闪存更新策略,更新数据处理小请求时,有很大一部分数据是重复的,通过合并有效数据后,减少了重复数据的写入,从而提升了闪存页面的利用率。
3、通过合并有效操作,可以将原本需要写入多次的数据一次写入闪存,因此可以优化固态盘的写响应时间。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是在不同负载下的数据大小;
图2是操作流程图;
图3是子页级映射表;
具体实施方式
以下将配合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
本发明提供一种提高固态盘写性能的优化方法,将一个3D闪存页划分成为四个闪存子页,一张闪存页划分为4张相同大小的子页,并给每个子页赋予子页号,同时在闪存中建立一张映射表,建立起子页级的映射关系,通过合理的合并多个缓存页内有效写请求数据操作,将多个缓存页内有效写请求数据合并成一个写请求,一次性写入一个闪存页面。从而有效的减少了闪存的写操作次数,有效延长了闪存的使用寿命,缩短固态盘写响应时间,闪存空间利用率得到提升。
一种提高固态盘内3D闪存芯片写性能的优化方法,所述方法包括以下步骤:
(1)进行预处理,在内存内建立一张新子页级映射表,映射信息包括,原物理页号,原物理子页号,新物理页号,新物理子页号;
(2)在缓存请求更新队列取下一条写请求进行处理,将缓存页划分为4段,每段大小对应闪存页子页大小。判断写请求内有效数据大小是否为一个闪存页面大小,是则执行步骤(4),否则执行步骤(3);
(3)判断该写请求是否满足整页写入的条件,是则执行步骤(4),否则执行步骤(5)
(4)执行页写操作,同时转入步骤(7);
(5)在写请求队列寻找其他写请求,根据写请求的有效数据的大小判断是否满足合并条件,是则转入步骤(6),否则转入步骤(4);
(6)执行合并操作,并转入步骤(4);
(7)根据物理地址以及新写入的闪存页物理地址,以及相应的子页写入信息更新子页级映射表,同时将原页面内被映射的子页置为无效;
进一步步骤(3)可具体为:
(3.1)判断该写请求大小,若大于3个子页面的大小则执行步骤(4),否则执行步骤(3.2); (3.2)根据缓存队列判断该子请求是否为最后一条写请求,若是则执行步骤(4),否则执行步骤(5);
进一步步骤(5)可具体为:
(5.1)顺序遍历缓存队列写请求队列,若没有其他写请求有效子页数与该写请求有效子页数相加小于或等于4个子页,则执行步骤(5.4),否则执行步骤(5.2);
(5.2)判断两个写请求有效子页数相加是否为4个子页,是则执行步骤(6),否则执行步骤 (5.3);
(5.3)将这两个写请求进行合并,作为一个新的写请求,并转入执行步骤(5.1);
(5.4)结束遍历,并执行步骤(4);
更新映射表过程包括若原映射表无原物理页的映射信息,则将此映射关系添加进映射表,否则修改相关映射关系即可。把每一页闪存也按照页面大小分成相同大小的子页,并统一方式给子页设置子页号(假设分别设为1,2,3,4),在闪存内一页整个新页写入数据后,根据被更新页的物理地址以及新写入数据页的物理地址建立映射关系,同时,建立起被修改子页与新写入数据的闪存页内子页的映射关系。
以上仅就本发明的最佳实施例作了说明,但不能理解为是对权利要求的限制。本发明不仅局限于以上实施例,其具体结构允许有变化。凡在本发明独立权利要求的保护范围内所作的各种变化均在本发明保护范围内。
Claims (4)
1.一种提高固态盘内3D-flash性能的方法,其特征在于:所述方法包括以下步骤,
(1)、进行预处理,在内存内建立一张新子页级映射表,映射信息包括,原物理页号,原物理子页号,新物理页号,新物理子页号;
(2)、在缓存请求更新队列取下一条写请求进行处理,将缓存页划分为4段,每段大小对应闪存页子页大小;判断写请求内有效数据大小是否为一个闪存页面大小,是则执行步骤(4),否则执行步骤(3);
(3)、判断该写请求是否满足整页写入的条件,是则执行步骤(4),否则执行步骤(5);
(4)、执行页写操作,同时转入步骤(7);
(5)、在写请求队列寻找其他写请求,根据写请求的有效数据的大小判断是否满足合并条件,是则转入步骤(6),否则转入步骤(4);
(6)、执行合并操作,并转入步骤(4);
(7)、根据物理地址以及新写入的闪存页物理地址,以及相应的子页写入信息更新子页级映射表,同时将原页面内被映射的子页置为无效。
2.根据权利要求1所述的一种提高固态盘内3D-flash性能的方法,其特征在于:所述步骤(3)具体为,
(3.1)、判断该写请求大小,若大于3个子页面的大小则执行步骤(4),否则执行步骤(3.2);
(3.2)、根据缓存队列判断该子请求是否为最后一条写请求,若是则执行步骤(4),否则执行步骤(5)。
3.根据权利要求1所述的一种提高固态盘内3D-flash性能的方法,其特征在于:所述步骤(5)具体为,
(5.1)、顺序遍历缓存队列写请求队列,若没有其他写请求有效子页数与该写请求有效子页数相加小于或等于4个子页,则执行步骤(5.4),否则执行步骤(5.2);
(5.2)、判断两个写请求有效子页数相加是否为4个子页,是则执行步骤(6),否则执行步骤(5.3);
(5.3)、将这两个写请求进行合并,作为一个新的写请求,并转入执行步骤(5.1);
(5.4)、结束遍历,并执行步骤(4)。
4.根据权利要求1所述的一种提高固态盘内3D-flash性能的方法,其特征在于:所述步骤(7)中更新子页级映射表具体为:把每一页闪存也按照页面大小分成相同大小的子页,并统一方式给子页设置子页号,在闪存内一页整个新页写入数据后,根据被更新页的物理地址以及新写入数据页的物理地址建立映射关系,同时,建立起被修改子页与新写入数据的闪存页内子页的映射关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011492974.8A CN112558879A (zh) | 2020-12-17 | 2020-12-17 | 一种提高固态盘内3D-flash性能的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011492974.8A CN112558879A (zh) | 2020-12-17 | 2020-12-17 | 一种提高固态盘内3D-flash性能的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112558879A true CN112558879A (zh) | 2021-03-26 |
Family
ID=75064345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011492974.8A Pending CN112558879A (zh) | 2020-12-17 | 2020-12-17 | 一种提高固态盘内3D-flash性能的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112558879A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113126921A (zh) * | 2021-04-06 | 2021-07-16 | 南昌航空大学 | 一种提高固态盘内3d闪存芯片写性能的优化方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104503710A (zh) * | 2015-01-23 | 2015-04-08 | 福州瑞芯微电子有限公司 | 一种提高闪存写入速度的方法和装置 |
US20160026387A1 (en) * | 2014-07-25 | 2016-01-28 | Quanta Storage Inc. | Method of writing data in a solid state drive |
CN107861884A (zh) * | 2017-11-06 | 2018-03-30 | 华中科技大学 | 一种提高nand闪存中跨页存储地址映射效率的方法 |
CN108829346A (zh) * | 2018-05-28 | 2018-11-16 | 华中科技大学 | 一种适应闪存页差异的固态硬盘的用户写请求处理方法 |
CN109324979A (zh) * | 2018-08-20 | 2019-02-12 | 华中科技大学 | 3d闪存固态盘系统的数据缓存划分方法及数据分配方法 |
CN109471594A (zh) * | 2018-10-09 | 2019-03-15 | 华中科技大学 | 一种mlc闪存读写方法 |
-
2020
- 2020-12-17 CN CN202011492974.8A patent/CN112558879A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160026387A1 (en) * | 2014-07-25 | 2016-01-28 | Quanta Storage Inc. | Method of writing data in a solid state drive |
CN104503710A (zh) * | 2015-01-23 | 2015-04-08 | 福州瑞芯微电子有限公司 | 一种提高闪存写入速度的方法和装置 |
CN107861884A (zh) * | 2017-11-06 | 2018-03-30 | 华中科技大学 | 一种提高nand闪存中跨页存储地址映射效率的方法 |
CN108829346A (zh) * | 2018-05-28 | 2018-11-16 | 华中科技大学 | 一种适应闪存页差异的固态硬盘的用户写请求处理方法 |
CN109324979A (zh) * | 2018-08-20 | 2019-02-12 | 华中科技大学 | 3d闪存固态盘系统的数据缓存划分方法及数据分配方法 |
CN109471594A (zh) * | 2018-10-09 | 2019-03-15 | 华中科技大学 | 一种mlc闪存读写方法 |
Non-Patent Citations (1)
Title |
---|
黄耀钦等: "MFTL:一种基于固态盘系统非对齐更新数据的合并策略", 《小型微型计算机系统》, no. 06, 15 June 2018 (2018-06-15), pages 1359 - 1365 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113126921A (zh) * | 2021-04-06 | 2021-07-16 | 南昌航空大学 | 一种提高固态盘内3d闪存芯片写性能的优化方法 |
CN113126921B (zh) * | 2021-04-06 | 2022-03-01 | 南昌航空大学 | 一种提高固态盘内3d闪存芯片写性能的优化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10860477B2 (en) | Apparatus and method for low power low latency high capacity storage class memory | |
US10915475B2 (en) | Methods and apparatus for variable size logical page management based on hot and cold data | |
KR101449524B1 (ko) | 스토리지 장치 및 컴퓨팅 시스템 | |
US8589639B2 (en) | Memory management unit and memory management method for controlling a nonvolatile memory and a volatile memory | |
KR101734200B1 (ko) | 적응적 머지를 수행하는 메모리 시스템 및 그것의 데이터 쓰기 방법 | |
US8909895B2 (en) | Memory apparatus | |
KR101861396B1 (ko) | 비-휘발성 메모리 시스템에 대한 보조 인터페이스 | |
JP2013242908A (ja) | ソリッドステートメモリ、それを含むコンピュータシステム及びその動作方法 | |
CN109471594B (zh) | 一种mlc闪存读写方法 | |
TWI698749B (zh) | 資料儲存裝置與資料處理方法 | |
CN111158579B (zh) | 固态硬盘及其数据存取的方法 | |
US11513949B2 (en) | Storage device, and control method and recording medium thereof | |
TWI718710B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
CN109324979B (zh) | 3d闪存固态盘系统的数据缓存划分方法及数据分配方法 | |
US11836076B2 (en) | Implementing mapping data structures to minimize sequentially written data accesses | |
CN107861884B (zh) | 一种提高nand闪存中跨页存储地址映射效率的方法 | |
CN105607862A (zh) | 一种dram与mram结合具有备份电源的固态硬盘 | |
CN116364148A (zh) | 一种面向分布式全闪存储系统的磨损均衡方法及系统 | |
CN115203079A (zh) | 一种将数据写入固态硬盘的方法 | |
US20240020014A1 (en) | Method for Writing Data to Solid-State Drive | |
CN116795735B (zh) | 固态硬盘空间分配方法、装置、介质及系统 | |
CN112558879A (zh) | 一种提高固态盘内3D-flash性能的方法 | |
CN112230849A (zh) | 存储器控制方法、存储器存储装置及存储器控制器 | |
CN113126921B (zh) | 一种提高固态盘内3d闪存芯片写性能的优化方法 | |
US20200089421A1 (en) | Data storage device, operation method thereof, and storage system including 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 |