CN113126921A - 一种提高固态盘内3d闪存芯片写性能的优化方法 - Google Patents
一种提高固态盘内3d闪存芯片写性能的优化方法 Download PDFInfo
- Publication number
- CN113126921A CN113126921A CN202110368279.9A CN202110368279A CN113126921A CN 113126921 A CN113126921 A CN 113126921A CN 202110368279 A CN202110368279 A CN 202110368279A CN 113126921 A CN113126921 A CN 113126921A
- Authority
- CN
- China
- Prior art keywords
- page
- data
- mapping table
- log
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000005457 optimization Methods 0.000 title claims abstract description 17
- 238000003860 storage Methods 0.000 claims abstract description 10
- 238000013507 mapping Methods 0.000 claims description 60
- 239000004065 semiconductor Substances 0.000 description 5
- 230000002035 prolonged effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
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/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/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种提高固态盘内3D闪存芯片写性能的优化方法,本发明以一个以3D‑flash和MLC为存储介质的混合固态盘为参考,同时假设3D‑flash单个数据页面大小为16K以及单个MLC数据页大小为4K,本方案可充分利用写请求大小未达到一张页面大小的特征,从而减少了闪存的写操作次数,有效延长了闪存的使用寿命。
Description
技术领域
本发明涉及固态盘技术领域,具体涉及一种提高固态盘内3D闪存芯片写性能的优化方法。
背景技术
固态盘是使用半导体芯片来存储数据的一种存储设备,它主要由外围电路、半导体存储芯片、控制器、固态盘内部缓存、只读存储器(ROM)、主机接口逻辑及相应的固件组成。ROM用来存储固态盘中的固件,固态盘内部缓存用于平滑半导体存储器与处理器的速度差异,控制器负责在主机和半导体存储芯片之间传输、处理数据。目前固态盘中的半导体存储芯片主要为闪存。
随着闪存制造工艺的进步,NAND型闪存芯片的存储密度越来越高,存储容量越来越大。然而,随着人们需求的不断增加,受到有限宽度和长度尺寸内容纳存储器单元的限制。2D闪存容量已达到其开发的极限,利用2D闪存很难在SSD容量方面上继续增加。于是,3D闪存应运而生。3D闪存可带来更好的性能,更低的成本以及更高的密度。2D闪存不同,3D闪存使用多层垂直堆叠,以实现更高的密度,更低的功耗,更好的耐用性,更快的读/写速度以及更低的每千兆字节成本。
单个闪存页的容量已经由早先的512字节,逐渐增加到4KB,8BK,现在的3D-flash页面大小达到16KB已经很普遍了,未来还可能增加到32KB甚至更大。以16KB的闪存页为例,4个4KB的文件系统块才能填满一个闪存页。由于闪存异地更新的特点,如果需要更新一个闪存页中部分的数据,需要更新整个闪存页的数据。传统的页级映射表,每次更新都需要进行一次写操作,由于闪存页的能够承载的写操作次数有限,尤其是现在的3D-flash能够写的次数比SLC更是少几个数量级。
通过统计,一单页闪存大小为16KB为例,在多种负载下写回请求不同数据占比根据图一所示,在不同的负载下,一页缓存页内小于12KB的写回数据的占比是比较大的,因此如何处理这些有效写数据较小的写页面,成为提升固态盘中闪存性能的一个要点。地址映射技术在现阶段发展的已经比较成熟,但是对于混合固态盘来说,难以发挥出其真正的效率。本方法就是在该技术环境下构思而成,在基于混合固态盘的前提,设计一种地址转换技术,通过新增一个日志区,进行缓冲小写入数据,从而提升固态盘的性能。
发明内容
本发明所要解决的问题是:提供一种提高固态盘内3D闪存芯片写性能的优化方法,以一个以3D-flash和MLC为存储介质的混合固态盘为参考,同时假设3D-flash单个数据页面大小为16K以及单个MLC数据页大小为4K,本方案可充分利用写请求大小未达到一张页面大小的特征,从而减少了闪存的写操作次数,有效延长了闪存的使用寿命。
本发明为解决上述问题所提供的技术方案为:一种提高固态盘内3D闪存芯片写性能的优化方法,所述方法包括以下步骤,
(1)将混合固态盘内分为数据区和日志区;
(2)在内存内建立一张物理页级映射表;
(3)接收一个写请求,根据LSN计算出该写请求需要写入到地址的逻辑块号以及逻辑页号,转入执行步骤(4);
(4)根据步步骤(3)得到的逻辑地址,在原有的页级地址映射表内找到对应的物理页,判断该物理页是否为空,是转入步骤(5),否则执行步骤(6);
(5)执行写操作将该写请求写入到对应的物理页;
(6)判断日志区是否还有存储空间写入该写请求,若满足写入条件,则将该写请求写入日志区,否则执行步骤(7);
(7)读取物理页级映射表内同一数据页号所有映射条目,再将对应的日志页数据与原数据页未被修改的子页根据数据子页号写入一页新的数据页内,并将被写入到数据区的这部分日志页数据和原数据页标记为无效,转入执行步骤(8);
(8)更新原有的页级映射表,以及将物理页级映射表相关条目删除;
(9)检查该物理页级映射表是否为空,若为空则执行步骤(10),否则转入执行步骤(7);
(10)将整个日志区进行擦除操作,再将写请求写入日志区,并更新物理页级映射表。
优选的,所述步骤(1)中3D-flash用作数据区,3D-flash的数据页根据容量大小均分为四个子页,MLC用作日志区。
优选的,所述步骤(2)中映射信息包括,数据页号,数据页子页号,日志页号。
优选的,所述步骤(6)可具体为,判断该写请求大小,若该写请求所占的数据页子页数大于日志区剩余的日志页数,则执行步骤(7),否则将该写请求写入到日志区,并修改物理页级映射表。
优选的,修改物理页级映射表有两种情况;
情况一:若物理页级映射表内有该数据子页的相关映射信息,则将这条数据页子页在映射表内对应的日志页号修改为在本步骤中被写入的日志页号;
情况二:若物理页级映射表内没有该数据子页的相关映射信息,则直接在物理页级映射表增添一个该被修改数据子页与日志页映射关系的映射条目。
与现有技术相比,本发明的优点是:
1、与传统的闪存更新策略相比,本方案通过巧妙地将不同存储介质分为数据区和日志区,以及将一个数据页分为多个日志页相同大小的子页进行关联,可以显著减少闪存页面的写操作次数,从而提高闪存的寿命,进而提升固态盘的使用寿命。
2、传统的闪存更新策略,更新数据处理小请求时,有很大一部分数据是重复的,通过本方案进行写优化后,减少了重复数据的写入,从而提升了闪存内日志页页面的利用率。
3、通过本方案,可以将原本需要写入多次的数据一次写入闪存,因此可以优化固态盘的写响应时间。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是在不同负载下的数据大小示意图;
图2是数据页示意图;
具体实施方式
以下将配合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
由于闪存不可覆盖写的特征,每次写闪存页面需要修改时,需要寻找一张空白的的闪存页写入修改后的数据,然后在将元数据页标记为无效。然而由于闪存介质的提升,现在发展的3D-flash一张数据页的大小普遍从原来的4K提升到16K,甚至更多。由于写数据时机修改的长度很多并未真正达到一张页面的大小,本思想提出一种方法,以一个以3D-flash和MLC为存储介质的混合固态盘为参考,同时假设3D-flash单个数据页面大小为16K以及单个MLC数据页大小为4K,本方案可充分利用写请求大小未达到一张页面大小的特征,从而减少了闪存的写操作次数,有效延长了闪存的使用寿命。
本发明为解决上述问题所提供的技术方案为:一种提高固态盘内3D闪存芯片写性能的优化方法,所述方法包括以下步骤:
(1)将混合固态盘内分为数据区和日志区,其中3D-flash用作数据区,3D-flash的数据页根据容量大小均分为四个子页,MLC用作日志区;
(2)在内存内建立一张物理页级映射表,映射信息包括,数据页号,数据页子页号,日志页号;
(3)接收一个写请求,根据LSN计算出该写请求需要写入到地址的逻辑块号以及逻辑页号,转入执行步骤(4);
(4)根据步步骤3得到的逻辑地址,在原有的页级地址映射表内找到对应的物理页,判断该物理页是否为空,是转入步骤(5),否则执行步骤(6);
(5)执行写操作将该写请求写入到对应的物理页;
(6)判断日志区是否还有存储空间写入该写请求,若满足写入条件,则将该写请求写入日志区,否则执行步骤(7);
(7)读取物理页级映射表内同一数据页号所有映射条目,再将对应的日志页数据与原数据页未被修改的子页根据数据子页号写入一页新的数据页内,并将被写入到数据区的这部分日志页数据和原数据页标记为无效,转入执行步骤(8);
(8)更新原有的页级映射表,以及将物理页级映射表相关条目删除;
(9)检查该物理页级映射表是否为空,若为空则执行步骤(10),否则转入执行步骤(7);
(10)将整个日志区进行擦除操作,再将写请求写入日志区;
其中,步骤(6)可具体为:
判断该写请求大小,若该写请求所占的数据页子页数大于日志区剩余的日志页数,则执行步骤(7),否则将该写请求写入到日志区,并修改物理页级映射表;
其中关于修改映射表,有两种情况。
情况一:若物理页级映射表内有该数据子页的相关映射信息,则将这条数据页子页在映射表内对应的日志页号修改为在本步骤中被写入的日志页号。
情况二:若物理页级映射表内没有该数据子页的相关映射信息,则直接在物理页级映射表增添一个该被修改数据子页与日志页映射关系的映射条目。
表1物理页级映射表(PPT)
表2原页级映射表(CMT)
以上仅就本发明的最佳实施例作了说明,但不能理解为是对权利要求的限制。本发明不仅局限于以上实施例,其具体结构允许有变化。凡在本发明独立权利要求的保护范围内所作的各种变化均在本发明保护范围内。
Claims (5)
1.一种提高固态盘内3D闪存芯片写性能的优化方法,其特征在于:所述方法包括以下步骤,
(1)将混合固态盘内分为数据区和日志区;
(2)在内存内建立一张物理页级映射表;
(3)接收一个写请求,根据LSN计算出该写请求需要写入到地址的逻辑块号以及逻辑页号,转入执行步骤(4);
(4)根据步步骤(3)得到的逻辑地址,在原有的页级地址映射表内找到对应的物理页,判断该物理页是否为空,是转入步骤(5),否则执行步骤(6);
(5)执行写操作将该写请求写入到对应的物理页;
(6)判断日志区是否还有存储空间写入该写请求,若满足写入条件,则将该写请求写入日志区,否则执行步骤(7);
(7)读取物理页级映射表内同一数据页号所有映射条目,再将对应的日志页数据与原数据页未被修改的子页根据数据子页号写入一页新的数据页内,并将被写入到数据区的这部分日志页数据和原数据页标记为无效,转入执行步骤(8);
(8)更新原有的页级映射表,以及将物理页级映射表相关条目删除;
(9)检查该物理页级映射表是否为空,若为空则执行步骤(10),否则转入执行步骤(7);
(10)将整个日志区进行擦除操作,再将写请求写入日志区,并更新物理页级映射表。
2.根据权利要求1所述的一种提高固态盘内3D闪存芯片写性能的优化方法,其特征在于:所述步骤(1)中3D-flash用作数据区,3D-flash的数据页根据容量大小均分为四个子页,MLC用作日志区。
3.根据权利要求1所述的一种提高固态盘内3D闪存芯片写性能的优化方法,其特征在于:所述步骤(2)中映射信息包括,数据页号,数据页子页号,日志页号。
4.根据权利要求1所述的一种提高固态盘内3D闪存芯片写性能的优化方法,其特征在于:所述步骤(6)可具体为,判断该写请求大小,若该写请求所占的数据页子页数大于日志区剩余的日志页数,则执行步骤(7),否则将该写请求写入到日志区,并修改物理页级映射表。
5.根据权利要求4所述的一种提高固态盘内3D闪存芯片写性能的优化方法,其特征在于:修改物理页级映射表有两种情况;
情况一:若物理页级映射表内有该数据子页的相关映射信息,则将这条数据页子页在映射表内对应的日志页号修改为在本步骤中被写入的日志页号;
情况二:若物理页级映射表内没有该数据子页的相关映射信息,则直接在物理页级映射表增添一个该被修改数据子页与日志页映射关系的映射条目。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110368279.9A CN113126921B (zh) | 2021-04-06 | 2021-04-06 | 一种提高固态盘内3d闪存芯片写性能的优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110368279.9A CN113126921B (zh) | 2021-04-06 | 2021-04-06 | 一种提高固态盘内3d闪存芯片写性能的优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113126921A true CN113126921A (zh) | 2021-07-16 |
CN113126921B CN113126921B (zh) | 2022-03-01 |
Family
ID=76774995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110368279.9A Expired - Fee Related CN113126921B (zh) | 2021-04-06 | 2021-04-06 | 一种提高固态盘内3d闪存芯片写性能的优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113126921B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115543226A (zh) * | 2022-12-02 | 2022-12-30 | 江苏华存电子科技有限公司 | 一种闪存数据存储处理方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101819509A (zh) * | 2010-04-19 | 2010-09-01 | 清华大学深圳研究生院 | 一种固态硬盘读写方法 |
CN103049394A (zh) * | 2012-11-30 | 2013-04-17 | 记忆科技(深圳)有限公司 | 固态硬盘数据缓存的方法及其系统 |
CN103678169A (zh) * | 2013-11-11 | 2014-03-26 | 华中科技大学 | 一种高效利用固态盘缓存的方法和系统 |
CN104461393A (zh) * | 2014-12-09 | 2015-03-25 | 华中科技大学 | 一种闪存存储器的混合映射方法 |
CN106815152A (zh) * | 2016-12-27 | 2017-06-09 | 华中科技大学 | 一种优化页级闪存转换层的方法 |
CN110597457A (zh) * | 2019-08-06 | 2019-12-20 | 深圳市金泰克半导体有限公司 | 一种固态硬盘、固态硬盘的控制方法及控制器 |
CN112035294A (zh) * | 2020-08-25 | 2020-12-04 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 安全日志文件系统及其实现方法和介质 |
CN112558879A (zh) * | 2020-12-17 | 2021-03-26 | 南昌航空大学 | 一种提高固态盘内3D-flash性能的方法 |
-
2021
- 2021-04-06 CN CN202110368279.9A patent/CN113126921B/zh not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101819509A (zh) * | 2010-04-19 | 2010-09-01 | 清华大学深圳研究生院 | 一种固态硬盘读写方法 |
CN103049394A (zh) * | 2012-11-30 | 2013-04-17 | 记忆科技(深圳)有限公司 | 固态硬盘数据缓存的方法及其系统 |
CN103678169A (zh) * | 2013-11-11 | 2014-03-26 | 华中科技大学 | 一种高效利用固态盘缓存的方法和系统 |
CN104461393A (zh) * | 2014-12-09 | 2015-03-25 | 华中科技大学 | 一种闪存存储器的混合映射方法 |
CN106815152A (zh) * | 2016-12-27 | 2017-06-09 | 华中科技大学 | 一种优化页级闪存转换层的方法 |
CN110597457A (zh) * | 2019-08-06 | 2019-12-20 | 深圳市金泰克半导体有限公司 | 一种固态硬盘、固态硬盘的控制方法及控制器 |
CN112035294A (zh) * | 2020-08-25 | 2020-12-04 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 安全日志文件系统及其实现方法和介质 |
CN112558879A (zh) * | 2020-12-17 | 2021-03-26 | 南昌航空大学 | 一种提高固态盘内3D-flash性能的方法 |
Non-Patent Citations (1)
Title |
---|
何丹: "基于芯片特征的固态盘性能优化研究", 《万方学位论文》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115543226A (zh) * | 2022-12-02 | 2022-12-30 | 江苏华存电子科技有限公司 | 一种闪存数据存储处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113126921B (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10318434B2 (en) | Optimized hopscotch multiple hash tables for efficient memory in-line deduplication application | |
US8909895B2 (en) | Memory apparatus | |
US8589639B2 (en) | Memory management unit and memory management method for controlling a nonvolatile memory and a volatile memory | |
US9436615B2 (en) | Optimistic data read | |
US8954656B2 (en) | Method and system for reducing mapping table size in a storage device | |
US11249897B2 (en) | Data storage device and operating method thereof | |
CN109471594B (zh) | 一种mlc闪存读写方法 | |
CN110489052B (zh) | 数据储存装置 | |
US8037236B2 (en) | Flash memory writing method and storage system and controller using the same | |
US8429339B2 (en) | Storage device utilizing free pages in compressed blocks | |
CN112506814A (zh) | 一种存储器及其控制方法与存储系统 | |
CN111158579A (zh) | 固态硬盘及其数据存取的方法 | |
US11307979B2 (en) | Data storage device and non-volatile memory control method | |
CN111651371A (zh) | 非对称型平面管理方法以及数据存储装置及其控制器 | |
CN102520885B (zh) | 一种混合硬盘的数据管理系统 | |
CN113126921B (zh) | 一种提高固态盘内3d闪存芯片写性能的优化方法 | |
CN114281265A (zh) | 一种存储介质失效的处理方法、装置和固态硬盘 | |
CN112230849B (zh) | 存储器控制方法、存储器存储装置及存储器控制器 | |
CN115203079A (zh) | 一种将数据写入固态硬盘的方法 | |
TWI749903B (zh) | 快閃記憶體控制器、記憶體裝置以及存取快閃記憶體模組之方法 | |
CN110333966B (zh) | 一种固态硬盘设备 | |
CN112558879A (zh) | 一种提高固态盘内3D-flash性能的方法 | |
CN104423892A (zh) | 数据写入方法、磁盘模块以及数据写入系统 | |
CN110008146B (zh) | 数据写入方法、有效数据识别方法及存储器存储装置 | |
US11989431B2 (en) | Write updates sorting during BKOPS idle |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220301 |