CN108681509A - 一种快速建立闪存映射表的方法 - Google Patents
一种快速建立闪存映射表的方法 Download PDFInfo
- Publication number
- CN108681509A CN108681509A CN201810358599.4A CN201810358599A CN108681509A CN 108681509 A CN108681509 A CN 108681509A CN 201810358599 A CN201810358599 A CN 201810358599A CN 108681509 A CN108681509 A CN 108681509A
- Authority
- CN
- China
- Prior art keywords
- memory pages
- hash memory
- continuous data
- flash
- mapping table
- 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
Classifications
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种快速建立闪存映射表的方法,包括:在闪存块中每个闪存页的备用区间填入标记:非连续数据填入对应的闪存页的位置,连续数据填入该连续数据开始闪存页的位置;从闪存块中最后一个闪存页开始依次判断是否为连续数据,根据备用区间中标记建立逻辑地址映射表:非连续数据对应的闪存页读取以后跳转至上一个闪存页,连续数据对应的闪存页读取以后跳转至该连续数据开始闪存页的上一个闪存页。从而大幅缩短建立逻辑地址映射表时间。
Description
技术领域
本发明涉及闪存技术领域,尤其涉及快速建立闪存映射表的方法。
背景技术
闪存为非消失性的存储器装置,能保存数据。不会在失去电力后遗失数据,常见的有存储三个比特的三级单元(TLC)闪存,两个比特的多级单元(MLC)闪存以及一个单级单元(SLC)闪存,当单元内储存的比特数越多,容量也越大。一个闪存结构体,由多个平面,每个平面有多个块组成,每个块有多个页组成。当主机(手机、计算器、笔记本等等)断电后,需要迅速回复成断电前的状态。这段时间称为启动时间,启动时间越短,代表此装置越快能进入工作模式。
由于闪存必须以页为单位写入,块为单位抹除,循序写入,所以一个闪存块中会存在有效的闪存页或还未被使用的闪存页。为了使闪存有高效的使用效能,闪存中需要一个闪存转换层在闪存芯片上实现了一个虚拟块设备,主要透过映射表来把逻辑地址映射到闪存的物理地址。主机断电后为了要迅速建立逻辑地址映射表,需要从数据中取得信息,完成逻辑地址映射表。
传统方式,透过存储器控制芯片将数据写入闪存时,会在每个闪存页的备用区间放入标记,建立逻辑地址映射表,就将每个闪存页中的备用区间数据读取出来即可建立回逻辑地址映射表。写入闪存的数据有两种类型,一种是连续数据,一种是非连续数据,不管何种数据都会写入连续的闪存页当中,藉此得到最好的写入放大率。
发明内容
本发明的目的在于一种快速建立闪存映射表的方法,大幅缩短建立逻辑地址映射表时间。
实现上述目的的技术方案是:
一种快速建立闪存映射表的方法,包括:
在闪存块中每个闪存页的备用区间填入标记:非连续数据填入对应的闪存页的位置,连续数据填入该连续数据开始闪存页的位置;
从闪存块中最后一个闪存页开始依次判断是否为连续数据,根据备用区间中标记建立逻辑地址映射表:非连续数据对应的闪存页读取以后跳转至上一个闪存页,连续数据对应的闪存页读取以后跳转至该连续数据开始闪存页的上一个闪存页。
优选的,所述的建立逻辑地址映射表步骤,包括:
步骤S21,设定闪存页i,i表示闪存块中最后一个闪存页编号;
步骤S22,读取闪存页i;
步骤S23,利用闪存页i的备用区间中标记建立逻辑地址映射表;
步骤S24,判断闪存页i中数据是否为连续数据,若是,继续下一步;若否,赋值i=i-1后,返回步骤S22;
步骤S25,赋值i=备用区间中标记后,建立逻辑地址映射表;
步骤S26,判断是否i=0,若是,建表结束;若否,赋值i=i-1后,返回步骤S22。
本发明的有益效果是:
本发明通过倒数的方式从闪存块中读取各闪存页,针对连续数据的闪存页跳跃至最初闪存页,快速建立逻辑地址映射表,大幅缩短建立逻辑地址映射表时间。从而可以大幅降低启动时间,让闪存装置快速的进入工作状态。
附图说明
图1是本发明的快速建立闪存映射表的方法的流程图。
具体实施方式
下面将结合附图对本发明作进一步说明。
请参阅图1,本发明的快速建立闪存映射表的方法,包括下列步骤:
步骤S1,在闪存块中每个闪存页的备用区间填入标记:非连续数据填入对应的闪存页的位置,连续数据填入该连续数据开始闪存页的位置。如下表1所示:
闪存页 | 数据 | 备用数据 |
0 | 非连续数据 | 0 |
1 | 非连续数据 | 1 |
… | 非连续数据 | … |
5 | 连续数据 | 5 |
… | 连续数据 | 5 |
200 | 连续数据 | 5 |
201 | 非连续数据 | 201 |
… | 非连续数据 | … |
255 | 非连续数据 | 255 |
表1
假设此闪存块有非连续数据和连续数据,非连续数据填入对应的闪存页位置,连续数据从闪存页5写到200,每个闪存页的备用区间都填入5为标记,201到255为非连续数据,填入对映的闪存页位置。
从闪存块中最后一个闪存页开始依次判断是否为连续数据,根据备用区间中标记建立逻辑地址映射表:非连续数据对应的闪存页读取以后跳转至上一个闪存页,连续数据对应的闪存页读取以后跳转至该连续数据开始闪存页的上一个闪存页。具体包括下列步骤:
步骤S21,设定闪存页i,i表示闪存块中最后一个闪存页编号;
步骤S22,读取闪存页i;
步骤S23,利用闪存页i的备用区间中标记建立逻辑地址映射表;
步骤S24,判断闪存页i中数据是否为连续数据,若是,继续下一步;若否,赋值i=i-1后,返回步骤S22;
步骤S25,赋值i=备用区间中标记后,建立逻辑地址映射表;
步骤S26,判断是否i=0,若是,建表结束;若否,赋值i=i-1后,返回步骤S22。
以表1情况为1,由闪存块的尾端读取数据,当读取到闪存页200后即可从闪存页中的备用区块知道起始位置为闪存页5,下一笔及从闪存页4开始读取,大幅地缩短建立逻辑地址映射表时间。
假设一个闪存块中有256个闪存页,其中有两段连续的数据有0到60,和61到255。利用本方法,只要读取闪存页255和闪存页60即可完成本闪存块的逻辑地址映射表。传统方式需要读取256个闪存页才能建立完成。效率提升128倍。利用本发明大幅地降低启动时间,让闪存装置快速的进入工作状态。
以上实施例仅供说明本发明之用,而非对本发明的限制,有关技术领域的技术人员,在不脱离本发明的精神和范围的情况下,还可以作出各种变换或变型,因此所有等同的技术方案也应该属于本发明的范畴,应由各权利要求所限定。
Claims (2)
1.一种快速建立闪存映射表的方法,其特征在于,包括:
在闪存块中每个闪存页的备用区间填入标记:非连续数据填入对应的闪存页的位置,连续数据填入该连续数据开始闪存页的位置;
从闪存块中最后一个闪存页开始依次判断是否为连续数据,根据备用区间中标记建立逻辑地址映射表:非连续数据对应的闪存页读取以后跳转至上一个闪存页,连续数据对应的闪存页读取以后跳转至该连续数据开始闪存页的上一个闪存页。
2.根据权利要求1所述的快速建立闪存映射表的方法,其特征在于,所述的建立逻辑地址映射表步骤,包括:
步骤S21,设定闪存页i,i表示闪存块中最后一个闪存页编号;
步骤S22,读取闪存页i;
步骤S23,利用闪存页i的备用区间中标记建立逻辑地址映射表;
步骤S24,判断闪存页i中数据是否为连续数据,若是,继续下一步;若否,赋值i=i-1后,返回步骤S22;
步骤S25,赋值i=备用区间中标记后,建立逻辑地址映射表;
步骤S26,判断是否i=0,若是,建表结束;若否,赋值i=i-1后,返回步骤S22。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810358599.4A CN108681509B (zh) | 2018-04-20 | 2018-04-20 | 一种快速建立闪存映射表的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810358599.4A CN108681509B (zh) | 2018-04-20 | 2018-04-20 | 一种快速建立闪存映射表的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108681509A true CN108681509A (zh) | 2018-10-19 |
CN108681509B CN108681509B (zh) | 2022-04-08 |
Family
ID=63802182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810358599.4A Active CN108681509B (zh) | 2018-04-20 | 2018-04-20 | 一种快速建立闪存映射表的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108681509B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020082452A1 (zh) * | 2018-10-25 | 2020-04-30 | 江苏华存电子科技有限公司 | 一种提升随机写入效能的方法 |
WO2020082451A1 (zh) * | 2018-10-25 | 2020-04-30 | 江苏华存电子科技有限公司 | 一种基于静态随机存取存储器快速搜寻有效闪存页的方法 |
WO2020082455A1 (zh) * | 2018-10-25 | 2020-04-30 | 江苏华存电子科技有限公司 | 一种混合型记录实体映像表的方法 |
CN117130692A (zh) * | 2023-10-23 | 2023-11-28 | 成都赛力斯科技有限公司 | 应用管理方法、装置、电子设备及存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1632765A (zh) * | 2004-12-31 | 2005-06-29 | 大唐微电子技术有限公司 | 一种闪存文件系统管理方法 |
US20060212674A1 (en) * | 2005-02-07 | 2006-09-21 | Chung Hyun-Mo | Run level address mapping table and related method of construction |
US20070016721A1 (en) * | 2005-07-18 | 2007-01-18 | Wyse Technology Inc. | Flash file system power-up by using sequential sector allocation |
CN101154447A (zh) * | 2006-09-28 | 2008-04-02 | 北京握奇数据系统有限公司 | 一种闪存控制方法及闪存 |
US20110289352A1 (en) * | 2010-05-21 | 2011-11-24 | Mediatek Inc. | Method for data recovery for flash devices |
CN102779551A (zh) * | 2011-05-10 | 2012-11-14 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与存储器储存装置 |
CN102819494A (zh) * | 2012-07-18 | 2012-12-12 | 山东华芯半导体有限公司 | 一种闪存顺序写入时的优化方法 |
CN103744795A (zh) * | 2013-12-19 | 2014-04-23 | 记忆科技(深圳)有限公司 | 固态硬盘快速启动的方法及其固态硬盘 |
US20140258588A1 (en) * | 2013-03-05 | 2014-09-11 | Western Digital Technologies, Inc. | Methods, devices and systems for two stage power-on map rebuild with free space accounting in a solid state drive |
CN104899114A (zh) * | 2014-03-07 | 2015-09-09 | 中国科学院苏州纳米技术与纳米仿生研究所 | 一种固态硬盘上的连续时间数据保护方法 |
TWI592800B (zh) * | 2016-10-04 | 2017-07-21 | 大心電子(英屬維京群島)股份有限公司 | 記憶體管理方法及使用所述方法的儲存控制器 |
CN107025185A (zh) * | 2016-02-01 | 2017-08-08 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
CN107346211A (zh) * | 2016-05-06 | 2017-11-14 | 合肥兆芯电子有限公司 | 映射表加载方法、内存控制电路单元与内存储存装置 |
-
2018
- 2018-04-20 CN CN201810358599.4A patent/CN108681509B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1632765A (zh) * | 2004-12-31 | 2005-06-29 | 大唐微电子技术有限公司 | 一种闪存文件系统管理方法 |
US20060212674A1 (en) * | 2005-02-07 | 2006-09-21 | Chung Hyun-Mo | Run level address mapping table and related method of construction |
US20070016721A1 (en) * | 2005-07-18 | 2007-01-18 | Wyse Technology Inc. | Flash file system power-up by using sequential sector allocation |
CN101154447A (zh) * | 2006-09-28 | 2008-04-02 | 北京握奇数据系统有限公司 | 一种闪存控制方法及闪存 |
US20110289352A1 (en) * | 2010-05-21 | 2011-11-24 | Mediatek Inc. | Method for data recovery for flash devices |
CN102779551A (zh) * | 2011-05-10 | 2012-11-14 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与存储器储存装置 |
CN102819494A (zh) * | 2012-07-18 | 2012-12-12 | 山东华芯半导体有限公司 | 一种闪存顺序写入时的优化方法 |
US20140258588A1 (en) * | 2013-03-05 | 2014-09-11 | Western Digital Technologies, Inc. | Methods, devices and systems for two stage power-on map rebuild with free space accounting in a solid state drive |
CN103744795A (zh) * | 2013-12-19 | 2014-04-23 | 记忆科技(深圳)有限公司 | 固态硬盘快速启动的方法及其固态硬盘 |
CN104899114A (zh) * | 2014-03-07 | 2015-09-09 | 中国科学院苏州纳米技术与纳米仿生研究所 | 一种固态硬盘上的连续时间数据保护方法 |
CN107025185A (zh) * | 2016-02-01 | 2017-08-08 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
CN107346211A (zh) * | 2016-05-06 | 2017-11-14 | 合肥兆芯电子有限公司 | 映射表加载方法、内存控制电路单元与内存储存装置 |
TWI592800B (zh) * | 2016-10-04 | 2017-07-21 | 大心電子(英屬維京群島)股份有限公司 | 記憶體管理方法及使用所述方法的儲存控制器 |
Non-Patent Citations (1)
Title |
---|
卫兵等: "基于闪存设备分区的新型虚拟EEPROM设备的设计与研究", 《计算机应用》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020082452A1 (zh) * | 2018-10-25 | 2020-04-30 | 江苏华存电子科技有限公司 | 一种提升随机写入效能的方法 |
WO2020082451A1 (zh) * | 2018-10-25 | 2020-04-30 | 江苏华存电子科技有限公司 | 一种基于静态随机存取存储器快速搜寻有效闪存页的方法 |
WO2020082455A1 (zh) * | 2018-10-25 | 2020-04-30 | 江苏华存电子科技有限公司 | 一种混合型记录实体映像表的方法 |
CN117130692A (zh) * | 2023-10-23 | 2023-11-28 | 成都赛力斯科技有限公司 | 应用管理方法、装置、电子设备及存储介质 |
CN117130692B (zh) * | 2023-10-23 | 2024-01-23 | 成都赛力斯科技有限公司 | 应用管理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108681509B (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11880602B2 (en) | Data writing method and storage device | |
KR102382887B1 (ko) | 가비지 컬렉션 | |
CN108681509A (zh) | 一种快速建立闪存映射表的方法 | |
CN101320594B (zh) | 一种闪存芯片的物理操作方法 | |
US9645896B2 (en) | Data storage device and flash memory control method | |
KR100816761B1 (ko) | 낸드 플래시 메모리 및 에스램/노어 플래시 메모리를포함하는 메모리 카드 및 그것의 데이터 저장 방법 | |
TW201525692A (zh) | 多位元記憶胞非揮發性記憶體的寫入方法及系統 | |
CN104268095A (zh) | 一种存储器及基于该存储器进行数据读/写操作的方法 | |
CN105278875B (zh) | 一种混合异构nand固态硬盘 | |
CN102214143A (zh) | 一种多层单元闪存的管理方法、装置及存储设备 | |
US20100064095A1 (en) | Flash memory system and operation method | |
CN111158579A (zh) | 固态硬盘及其数据存取的方法 | |
US9378130B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
CN103389881A (zh) | 控制装置、存储装置以及数据写入方法 | |
TW202318204A (zh) | 映射資訊記錄方法、記憶體控制電路單元與記憶體儲存裝置 | |
US8943264B2 (en) | Data storing method, and memory controller and memory storage apparatus using the same | |
CN102520885B (zh) | 一种混合硬盘的数据管理系统 | |
KR101081948B1 (ko) | 불휘발성 메모리 장치 및 그것의 데이터 저장 방법 | |
CN112230849A (zh) | 存储器控制方法、存储器存储装置及存储器控制器 | |
CN113126921B (zh) | 一种提高固态盘内3d闪存芯片写性能的优化方法 | |
CN110442299B (zh) | 数据写入方法、存储器控制电路单元以及存储器储存装置 | |
CN108062278A (zh) | 一种闪存冷热数据分析器及分析方法 | |
TWI752784B (zh) | 非對稱型平面管理方法以及資料儲存裝置及其控制器 | |
CN109189694B (zh) | 一种scm的数据编码方法及数据存储方法 | |
TWI636363B (zh) | 用來於一記憶裝置中進行動態資源管理之方法以及記憶裝置及其控制器 |
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 |