CN102819494A - 一种闪存顺序写入时的优化方法 - Google Patents
一种闪存顺序写入时的优化方法 Download PDFInfo
- Publication number
- CN102819494A CN102819494A CN2012102472510A CN201210247251A CN102819494A CN 102819494 A CN102819494 A CN 102819494A CN 2012102472510 A CN2012102472510 A CN 2012102472510A CN 201210247251 A CN201210247251 A CN 201210247251A CN 102819494 A CN102819494 A CN 102819494A
- Authority
- CN
- China
- Prior art keywords
- piece
- mapping table
- page
- address mapping
- data
- 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
Images
Landscapes
- Memory System (AREA)
Abstract
本发明公开了一种闪存顺序写入时的优化方法,应用于与非闪存组织结构下,包括以下步骤:B.顺序写入所述数据,相应更新所述当前顺序写入到空块第几页的表项;C.若顺序写入停止,且空块写满,转步骤D1,反之若顺序写入停止且空块未满,转步骤D2;D1.依据临时地址映射表的内容及数据实际写入的块更新块地址映射表,并删除临时地址映射表;D2.依据临时地址映射表的内容建立数据实际写入的块的页映射表,更新块地址映射表,并删除临时地址映射表。本发明能够灵活的面对数据量匹配存储管理。
Description
技术领域
本发明属于在与非闪存存储器或体系结构内顺序写入时的存储管理技术领域。
背景技术
与非闪存存储器(NAND Flash)是非易失性存储器,此类存储器的存储空间由块构成,每个块又被划分为若干固定大小的页,其中,块是擦写操作的最小单元,页是读写操作的最小单元。
由于闪存存储器的硬件特性,决定了闪存的更新操作有其自身固有的特点,也就是在对数据进行更新前需要先进行擦写操作,然后才能够将新数据写入。然而如前所述,擦写操作的单位是块,读写操作的单元是页,且页远小于块。由于擦写操作的操作对象,即块,远大于读写操作的最小单元,为了避免低效的块擦除,通过构建闪存映射层,把需要更新的新数据写入空闲的存储单元中,并在内存中的闪存地址映射表中记录数据存储的变化,这就是所谓的非本地更新方法(OUT-place Update)。
非本地更新的方法避免了更新时整块数据的读出写入,从而减少数据复制和块擦写次数,提高***的整体性能。闪存地址映射依赖于闪存非本地更新存储管理,涉及地址映射和垃圾回收机制。
其中,根据地址映射粒度的不同,可以将地址映射方法分成三种:页映射(Page Mapping)、块映射(Blocking Mapping)和混合映射(Hybrid Mapping)。页映射是以页为单位进行地址映射,在内存中保存基于页的映射表,每一个逻辑页都有一项与之对应的物理页,页映射方法具有灵活性高的优点,但由于需要为每个逻辑页面建立地址映射表项,致使其实现需要比较大的内存开销,进一步会增加垃圾回收的难度。块映射则是以块为单位进行地址映射,逻辑块内的地址偏移与物理块内偏移保持一致。相应地,该方法的实现依赖于在内存建立的块映射表,显然,较之页映射表,由于映射表项大大降低,从而所需占用的内存空间会大大降低,受闪存容量增大的影响小,换言之,对闪存容量增大的制约小。然而,其缺点同样明显,就是在处理小数据更新上性能较差,一小块数据的更新会引起对整个块内容的复制。
综合页映射与块映射的优缺点产生混合映射机制,其基本原理是首先以块映射方法建立逻辑块和物理块的映射关系,同时对块内数据采用页映射的方法进行组织。从而使得内存空间的占用量小,同时也满足对小数据更新比块映射更加灵活,且代价小。
综上所述,页映射灵活性在面对大量数据顺序写入时变得没有意义,反而要浪费大量内存空间存储页映射表。所以大量数据顺序写入时,混合映射的效率也远小于块映射,但是如何判断顺序写入是难点。
公知的,每个数据块根据访问模式不同分为顺序写和随机写。访问模式主要是根据过去的数据存储访问进行判断,如果对某一逻辑地址在短时间内进行了多次更新,认为***对该地址进行的是随机写。通常访问模式的判断是通过内存中的双链表来实现的,在内存中构建两定长的地址链表,一个是顺序链表,另一个是随机链表。顺序链表中保存最近顺序写的数据块,而随机链表中保存最近进行随机写的数据组。两链表都根据最后一次访问时间进行排序,将链表分为最近最少访问端(LRU)和最近最多访问端(MRU),在每次进行更新操作时,完成对访问模式的判断,相对而言所消耗的资源多,速度慢。
发明内容
因此,本发明的目的在于提供一种能够灵活的面对数据量匹配存储管理的闪存顺序写入时的优化方法。
为了实现本发明的发明目的,所采用以下技术方案为:
一种闪存顺序写入时的优化方法,应用于与非闪存组织结构下,包括以下步骤:
A.在目标与非闪存上,当待更新的目标块非空时,如果有从第0页更新该目标块的数据,分配一个空块,并将数据从第0页开始写入该空块,同时建立一临时地址映射表,以关联目标块与空块并含有当前顺序写入到空块第几页的表项;
B.顺序写入所述数据,相应更新所述当前顺序写入到空块第几页的表项;
C.若顺序写入停止,且空块写满,转步骤D1,反之若顺序写入停止且空块未满,转步骤D2;
D1. 依据临时地址映射表的内容及数据实际写入的块更新块地址映射表,并删除临时地址映射表;
D2.依据临时地址映射表的内容建立数据实际写入的块的页映射表,更新块地址映射表,并删除临时地址映射表。
依据上述方法,采用在内存建立临时映射表的方式替换页地址映射表,从而在数据从空块的第0页开始写入数据时,并不立刻进入庞大的页映射模式。临时映射表的表项较之页映射表而言非常小,只包含目标块与空块的关联项,以及顺序写入页的计数。从而,依据本方法可以有效地规避顺序写状态的判断,直接把相关数据顺序写入空块,通过空块所属页顺序计数判断空块的顺序写状态。避开了传统方法无法有效地判断顺序写入的状态,只能通过先建立好页映射表,才能等该块顺序写入写满时,最后通过垃圾回收进行页映射表资源的回收,使得依据本方法的顺序写效率高,占用的内存资源少。
依据本方法,使用临时地址映射表,只有在顺序写入停止时,判断确实需要建立页映射表时,才会去建立页映射表,不然直接使用块映射方式,其间临时地址映射表只在发生了顺序写入的过程中出现,灵活性比较好。同时,一旦在该块的顺序写入结束,便立刻进行回收,节约了内存,提高了效率。
上述闪存顺序写入时的优化方法,判断顺序写入写满停止的方法是空块在写入过程中遇到逻辑地址不连续。
上述闪存顺序写入时的优化方法,所述目标块没有在页映射模式。
上述闪存顺序写入时的优化方法,关联目标块与空块的方法是在临时地址映射表中设置目标块和空块的物理地址表项。
附图说明
图1为依据本发明的一个示例的步骤1种建立的临时地址映射表的组织结构。
图2为步骤2所示的中间过程,顺序写第n页,更新临时地址映射表。
图3为步骤3-1,当当前块写满时,删除临时地址映射表,更新快地址映射表。
图4为步骤3-2,写满该块前停止顺序写入,删除临时地址映射表,建立页映射表,更新块地址映射表。
注:图中表示数据页的黑图块不影响附图内容的表达,应是清楚的。
具体实施方式
传统的方法无法有效的判断顺序写入的状态,只能先建立好页映射表,然后等该块的顺序写入写满时,再进行垃圾回收,回收页映射表资源。效率低,同时因为页映射表比较大,浪费内存资源。
依据本发明的示例体现在说明书附图1至4中,如图所示,一种闪存顺序写入时的优化方法,应用于与非闪存组织结构下,具有混合映射的一些特点,其步骤1如图1所示,当某块A没有在页映射模式时,为非空状态,若为空块,可直接顺序写,并在写满时更新块映射表,没写满时建立该块的页映射表。这里涉及写操作的减少擦除和复制操作,假定块A为非空。为此,图中对空页和数据页进行了标识。
步骤1表现在图1中,当作为目标块的某非空块A没有在页映射模式时,如果有从第0页更新该块的数据, 分配一个新的空块B,将数据从该空块B的第0页开始写入到,并在内存中建立图1所示的临时地址映射表。临时地址映射表含三项,新块,也就是块B的物理地址,原块,也就时块A的物理地址,顺序写入到第几页,以进行页计数,写入的对象自然是块B,也就时分配的空块。
步骤2由图2所示,继续顺序写入,则不断更新临时地址映射表中的第三项:“顺序写入到第几页”。
步骤3:如果新写入的块逻辑地址页逻辑地址遇上一次不连续或者数据写完,也就是对该块A顺序写入停止:分两种情况,该块已写满和未写满。
已写满时如图3-1所示,依据临时地址映射表的内容及数据实际写入的块,也就是块B,更新块地址映射表,并删除临时地址映射表;
未写满时如图3-2所示,依据临时地址映射表的内容建立数据实际写入的块,也就时块B的页映射表,更新块地址映射表,并删除临时地址映射表,进行回收。
依据上述方法,使用临时地址映射表,远比页映射表小得多,只有在顺序写入停止时,判断确实需要建立页映射表时,才会去建立页映射表,不然直接使用块映射方式,其间临时地址映射表只在发生了顺序写入的过程中出现,一旦在该块的顺序写入结束,便立刻进行回收,节约了内存,提高了效率。
当然,写满一个块后,数据还没有写完,可以再分配空块进行写操作,直至将数据写完。较之大数据量的块映射模式,效率较低,但对于一般数据的写操作具备灵活性好的优点。
Claims (4)
1.一种闪存顺序写入时的优化方法,应用于与非闪存组织结构下,其特征在于,包括以下步骤:
A.在目标与非闪存上,当待更新的目标块非空时,如果有从第0页更新该目标块的数据,分配一个空块,并将数据从第0页开始写入该空块,同时建立一临时地址映射表,以关联目标块与空块并含有当前顺序写入到空块第几页的表项;
B.顺序写入所述数据,相应更新所述当前顺序写入到空块第几页的表项;
C.若顺序写入停止,且空块写满,转步骤D1,反之若顺序写入停止且空块未满,转步骤D2;
D1. 依据临时地址映射表的内容及数据实际写入的块更新块地址映射表,并删除临时地址映射表;
D2.依据临时地址映射表的内容建立数据实际写入的块的页映射表,更新块地址映射表,并删除临时地址映射表。
2.根据权利要求1所述的闪存顺序写入时的优化方法,其特征在于,判断顺序写入写满停止的方法是空块在写入过程中遇到逻辑地址不连续。
3.根据权利要求1所述的闪存顺序写入时的优化方法,其特征在于,所述目标块没有在页映射模式。
4.根据权利要求1所述的闪存顺序写入时的优化方法,其特征在于,关联目标块与空块的方法是在临时地址映射表中设置目标块和空块的物理地址表项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210247251.0A CN102819494B (zh) | 2012-07-18 | 2012-07-18 | 一种闪存顺序写入时的优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210247251.0A CN102819494B (zh) | 2012-07-18 | 2012-07-18 | 一种闪存顺序写入时的优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102819494A true CN102819494A (zh) | 2012-12-12 |
CN102819494B CN102819494B (zh) | 2015-09-02 |
Family
ID=47303616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210247251.0A Active CN102819494B (zh) | 2012-07-18 | 2012-07-18 | 一种闪存顺序写入时的优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102819494B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104423894A (zh) * | 2013-08-30 | 2015-03-18 | 慧荣科技股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
CN107632941A (zh) * | 2017-08-16 | 2018-01-26 | 南京扬贺扬微电子科技有限公司 | 一种提高闪存写入性能的方法 |
CN108681509A (zh) * | 2018-04-20 | 2018-10-19 | 江苏华存电子科技有限公司 | 一种快速建立闪存映射表的方法 |
CN108733576A (zh) * | 2017-04-20 | 2018-11-02 | 立而鼎科技(深圳)有限公司 | 一种固态硬盘的内存转换层对映架构及方法 |
CN110399310A (zh) * | 2018-04-18 | 2019-11-01 | 杭州宏杉科技股份有限公司 | 一种存储空间的回收方法及装置 |
CN111966298A (zh) * | 2020-08-24 | 2020-11-20 | 深圳三地一芯电子有限责任公司 | 一种基于Flash存储器的倒序编程实现方法及装置 |
CN113625973A (zh) * | 2021-08-30 | 2021-11-09 | 深圳市得一微电子有限责任公司 | 数据写入方法、装置、电子设备及计算机可读存储介质 |
CN116701248A (zh) * | 2022-02-24 | 2023-09-05 | 象帝先计算技术(重庆)有限公司 | 页表管理方法、单元、soc、电子设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1690983A (zh) * | 2004-04-30 | 2005-11-02 | 联发科技股份有限公司 | 可循序写入数据至闪存中的***及其方法 |
CN102364450A (zh) * | 2011-06-27 | 2012-02-29 | 浪潮电子信息产业股份有限公司 | 一种NandFlash物理地址和逻辑地址映射的方法 |
US20120124276A1 (en) * | 2010-11-15 | 2012-05-17 | Samsung Electronics Co., Ltd. | Data storage device, user device and data write method |
CN102543183A (zh) * | 2010-12-21 | 2012-07-04 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与储存装置 |
-
2012
- 2012-07-18 CN CN201210247251.0A patent/CN102819494B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1690983A (zh) * | 2004-04-30 | 2005-11-02 | 联发科技股份有限公司 | 可循序写入数据至闪存中的***及其方法 |
US20120124276A1 (en) * | 2010-11-15 | 2012-05-17 | Samsung Electronics Co., Ltd. | Data storage device, user device and data write method |
CN102543183A (zh) * | 2010-12-21 | 2012-07-04 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与储存装置 |
CN102364450A (zh) * | 2011-06-27 | 2012-02-29 | 浪潮电子信息产业股份有限公司 | 一种NandFlash物理地址和逻辑地址映射的方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104423894B (zh) * | 2013-08-30 | 2017-08-04 | 慧荣科技股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
CN104423894A (zh) * | 2013-08-30 | 2015-03-18 | 慧荣科技股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
CN108733576A (zh) * | 2017-04-20 | 2018-11-02 | 立而鼎科技(深圳)有限公司 | 一种固态硬盘的内存转换层对映架构及方法 |
CN107632941A (zh) * | 2017-08-16 | 2018-01-26 | 南京扬贺扬微电子科技有限公司 | 一种提高闪存写入性能的方法 |
CN110399310B (zh) * | 2018-04-18 | 2021-08-31 | 杭州宏杉科技股份有限公司 | 一种存储空间的回收方法及装置 |
CN110399310A (zh) * | 2018-04-18 | 2019-11-01 | 杭州宏杉科技股份有限公司 | 一种存储空间的回收方法及装置 |
CN108681509A (zh) * | 2018-04-20 | 2018-10-19 | 江苏华存电子科技有限公司 | 一种快速建立闪存映射表的方法 |
CN111966298A (zh) * | 2020-08-24 | 2020-11-20 | 深圳三地一芯电子有限责任公司 | 一种基于Flash存储器的倒序编程实现方法及装置 |
CN111966298B (zh) * | 2020-08-24 | 2021-07-27 | 深圳三地一芯电子有限责任公司 | 一种基于Flash存储器的倒序编程实现方法及装置 |
CN113625973A (zh) * | 2021-08-30 | 2021-11-09 | 深圳市得一微电子有限责任公司 | 数据写入方法、装置、电子设备及计算机可读存储介质 |
CN113625973B (zh) * | 2021-08-30 | 2024-01-16 | 得一微电子股份有限公司 | 数据写入方法、装置、电子设备及计算机可读存储介质 |
CN116701248A (zh) * | 2022-02-24 | 2023-09-05 | 象帝先计算技术(重庆)有限公司 | 页表管理方法、单元、soc、电子设备及可读存储介质 |
CN116701248B (zh) * | 2022-02-24 | 2024-04-30 | 象帝先计算技术(重庆)有限公司 | 页表管理方法、单元、soc、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102819494B (zh) | 2015-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102819494B (zh) | 一种闪存顺序写入时的优化方法 | |
CN100504814C (zh) | 闪存的区块管理方法 | |
CN103473181B (zh) | 分级式不可变内容可寻址存储器处理器 | |
CN103049397B (zh) | 一种基于相变存储器的固态硬盘内部缓存管理方法及*** | |
CN102779096B (zh) | 一种基于页块面三维的闪存地址映射方法 | |
CN102163175B (zh) | 一种基于局部性分析的混合地址映射方法 | |
CN101387987B (zh) | 存储器装置、存储器控制方法和程序 | |
CN106293521B (zh) | 一种映射粒度自适应的闪存转换层管理方法 | |
CN102841851B (zh) | 闪存管理方法和闪存设备 | |
CN106815152B (zh) | 一种优化页级闪存转换层的方法 | |
CN104503710A (zh) | 一种提高闪存写入速度的方法和装置 | |
CN103246609B (zh) | 一种闪存存储设备中冷热数据区分管理的方法及装置 | |
CN103577339A (zh) | 一种数据存储方法及*** | |
CN106502587A (zh) | 磁盘数据管理方法和磁盘控制装置 | |
CN104423894A (zh) | 数据储存装置以及快闪存储器控制方法 | |
CN103838853A (zh) | 一种基于不同存储介质的混合文件*** | |
EP1810154A2 (en) | Flash file system management | |
CN101526927A (zh) | Flash文件***的数据处理方法及数据处理装置 | |
CN102169460A (zh) | 变长数据管理方法及装置 | |
CN109960471A (zh) | 数据存储方法、装置、设备以及存储介质 | |
KR20130022604A (ko) | 접근 빈도에 따라 데이터를 할당하는 저장장치 및 저장방법 | |
JP2023045456A (ja) | コンピュテーショナルストレージドライブ | |
CN102541755B (zh) | 闪存存储器及其接收数据的方法 | |
US20210026763A1 (en) | Storage device for improving journal replay, operating method thereof, and electronic device including the storage device | |
CN105607862A (zh) | 一种dram与mram结合具有备份电源的固态硬盘 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |