CN101714065A - 一种闪存控制器的映射信息管理方法 - Google Patents
一种闪存控制器的映射信息管理方法 Download PDFInfo
- Publication number
- CN101714065A CN101714065A CN200910310293A CN200910310293A CN101714065A CN 101714065 A CN101714065 A CN 101714065A CN 200910310293 A CN200910310293 A CN 200910310293A CN 200910310293 A CN200910310293 A CN 200910310293A CN 101714065 A CN101714065 A CN 101714065A
- Authority
- CN
- China
- Prior art keywords
- map information
- address
- mapping information
- block
- physical
- 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
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
Abstract
一种闪存控制器的映射信息管理方法,包括建立每个逻辑块的映射信息地址索引表、构建逻辑块所对应的虚拟块数组表、扫描nand flash芯片,用物理块构建虚拟块结构,完成初始化、进行写操作,通过映射信息地址索引表读出映射信息,用分配好的空闲物理地址修改其中逻辑地址对应的物理地址、进行读操作,首先在缓存中查找,如果找到,就直接使用该映射信息得到物理地址;如果未找到,再通过映射信息地址索引表读出映射信息,得到相应的物理地址。本发明提高了地址映射的速度;映射信息保存在保留块的数据区中,提高映射信息的安全性;另外保存映射信息的物理块和用户数据的物理块可同时进行磨损平衡,这样延长了块的使用寿命。
Description
技术领域
本发明涉及一种映射信息管理方法,具体涉及一种闪存控制器的映射信息管理方法
背景技术
SSD是英文solid state disk的缩写,即固态盘。是一种把Nand flash芯片作为存储介质的存储器。它具有:数据存取速度快、经久耐用防震抗摔、工作时非常安静没有任何噪音产生等优点。固态盘的核心部件是闪存控制器,它的功能就是控制和管理闪存芯片以及对外提供一个标准的接口。闪存控制器为了提高读写速度和flash芯片的寿命需要动态的进行地址映射,而地址映射就是要保存逻辑地址与物理地址的对应关系,这样在闪存控制器进行读写操作时就能找到对应的物理地址。
目前公知的一种映射信息管理方法利用flash页的备用区来保存映射信息,每个备用区保存对应页的映射信息和状态。在需要进行地址映射时通过读取备用的信息来进行映射。该方法的缺点是读取映射信息速度慢,映射信息没能进行纠检错的保护,如果出错将无法恢复
发明内容
本发明的目的在于提供了一种闪存控制器的映射信息管理方法,其解决了映射信息的读写效率低的技术问题,提高了地址映射的速度;映射信息保存在保留块的数据区中,提高映射信息的安全性;另外保存映射信息的物理块和用户数据的物理块可同时进行磨损平衡,这样延长了块的使用寿命。
本发明的技术解决方案是:
一种闪存控制器的映射信息管理方法,其特殊之处在于,该方法包括:
1)首先,在***初始化时建立每个逻辑块的映射信息地址索引表,为每个索引项分配空间;
2)构建逻辑块所对应的虚拟块数组表,以存放分配的虚拟块号,每个逻辑
块对应一段逻辑地址,每个逻辑块对应一个或多个虚拟块,每个虚拟块又由多个物理块构成;
3)扫描nand flash芯片,用物理块构建虚拟块结构,初始化完成;
4)当进行写操作时,通过映射信息地址索引表读出映射信息,用分配好的
空闲物理地址修改其中逻辑地址对应的物理地址;
5)当进行读操作时,首先在缓存中查找,如果找到,就直接使用该映射信
息得到物理地址;如果未找到,再通过映射信息地址索引表读出映射信息,得到相应的物理地址;
6)如果上一步进行了读写映射信息的操作,则执行第5步的操作。
上述闪存控制器的映射信息管理方法,其特殊之处在于,该方法包括:在
步骤4)后还有缓存步骤,所述缓存步骤具体是缓存上一步更新的映射信息,如果缓存空间已满,就按最近最少使用的原则,替换映射信息,然后回写被替换的映射。
上述闪存控制器的映射信息管理方法,其特殊之处在于,该方法包括:在
步骤6)后还有缓存步骤,所述缓存步骤具体是缓存上一步更新的映射信息,如果缓存空间已满,就按最近最少使用的原则,替换映射信息,然后回写被替换的映射。
上述逻辑块中的映射信息以页为单位,逻辑块中的一个页对应虚拟块中一个页,虚拟页也对一个应物理页。
上述逻辑块映射信息中的每个项表示一个逻辑页所对应的物理页地址,一个逻辑块的所有映射信息个数为逻辑块的页数,这些信息存放在一个或多个物理页中。
上述逻辑块和它的映射信息通过一个映射信息地址索引表来联系起来,该映射信息地址索引表中的每一项表示一个逻辑块映射信息所存放的物理页地址。
上述一个逻辑地址通过除以逻辑块扇区数得到的商为其对应的逻辑块号,余数为它在逻辑块内的偏移;得到逻辑块号后就可读取对应的映射信息,再通过其偏移得到该页的物理地址。
本发明解决了映射信息的读写效率低的技术问题,其优点表现在:提高了地址映射的速度;映射信息保存在保留块的数据区中,提高映射信息的安全性;另外保存映射信息的物理块和用户数据的物理块可同时进行磨损平衡,这样延长了块的使用寿命。
附图说明
图1为本发明逻辑到物理映射信息的定位示意图;
图2为本发明映射信息更新示意图。
具体实施方式
参见图1及图2,一种闪存控制器的映射信息管理方法,其特殊之处在于,该方法包括:
1)首先,在***初始化时建立每个逻辑块的映射信息地址索引表,为每个索引项分配空间。
2)构建逻辑块所对应的虚拟块数组表,以存放分配的虚拟块号,每个逻辑
块对应一段逻辑地址,每个逻辑块对应一个或多个虚拟块,每个虚拟块又由多个物理块构成;
3)扫描nand flash芯片,用物理块构建虚拟块结构,初始化完成。
4)当进行写操作时,通过映射信息地址索引表读出映射信息,用分配好的空闲物理地址修改其中逻辑地址对应的物理地址。
5)缓存上一步更新的映射信息,如果缓存空间已满,就按最近最少使用的原则,替换映射信息,然后回写被替换的映射。
6)当进行读操作时,首先在缓存中查找,如果找到,就直接使用该映射信息得到物理地址;如果未找到,再通过映射信息地址索引表读出映射信息,得到相应的物理地址。
7)如果上一步进行了读写映射信息的操作,则执行第5步的操作。
本发明是以逻辑块为单位来进行映射信息的集中管理,并辅以映射信息的缓存管理来提高效率。每个逻辑块对应一段逻辑地址,逻辑块的构成有一个或多个虚拟块构成,形成一个虚拟块链。每个虚拟块又由多个物理块构成。逻辑块中的映射关系以页为单位,逻辑块中的一个页对应虚拟块中一个页,虚拟页也对一个应物理页。这样就可以通过一个逻辑页找到对应的物理页。逻辑块映射信息中的每个项表示一个逻辑页所对应的物理页地址,一个逻辑块的所有映射信息个数为逻辑块的页数,这些信息存放在一个或多个物理页中。
逻辑块和它的映射信息通过一个索引表来联系起来,这个索引表中的每一项表示一个逻辑块映射信息所存放的物理页地址。一个逻辑地址通过除以逻辑块扇区数得到的商为其对应的逻辑块号,余数为它在逻辑块内的偏移。得到逻辑块号后就可读取对应的映射信息,再通过其偏移得到该页的物理地址。
为了进一步提高地址映射的速度,在本方案中将部分映射信息保存在缓存中。缓存的映射信息以一个逻辑块为单位,以保存最近经常使用的原则来进行缓存。这样在进行读写操作时就能大大减少映射信息的读写操作,提高了读写的整体速度。
Claims (7)
1.一种闪存控制器的映射信息管理方法,其特征在于,该方法包括:
1)首先,在***初始化时建立每个逻辑块的映射信息地址索引表,为每个索引项分配空间;
2)构建逻辑块所对应的虚拟块数组表,以存放分配的虚拟块号,每个逻辑
块对应一段逻辑地址,每个逻辑块对应一个或多个虚拟块,每个虚拟块又由多个物理块构成;
3)扫描nand flash芯片,用物理块构建虚拟块结构,初始化完成;
4)当进行写操作时,通过映射信息地址索引表读出映射信息,用分配好的
空闲物理地址修改其中逻辑地址对应的物理地址;
5)当进行读操作时,首先在缓存中查找,如果找到,就直接使用该映射信息得到物理地址;如果未找到,再通过映射信息地址索引表读出映射信息,得到相应的物理地址;
6)如果上一步进行了读写映射信息的操作,则执行第5步的操作。
2.根据权利要求1所述闪存控制器的映射信息管理方法,其特征在于,该方法包括:在步骤4)后还有缓存步骤,所述缓存步骤具体是缓存上一步更新的映射信息,如果缓存空间已满,就按最近最少使用的原则,替换映射信息,然后回写被替换的映射。
3.根据权利要求1或2所述闪存控制器的映射信息管理方法,其特征在于,该方法包括:在步骤6)后还有缓存步骤,所述缓存步骤具体是缓存上一步更新的映射信息,如果缓存空间已满,就按最近最少使用的原则,替换映射信息,然后回写被替换的映射。
4.根据权利要求3所述闪存控制器的映射信息管理方法,其特征在于:所述逻辑块中的映射信息以页为单位,逻辑块中的一个页对应虚拟块中一个页,虚拟页也对一个应物理页。
5.根据权利要求4所述闪存控制器的映射信息管理方法,其特征在于:所述逻辑块映射信息中的每个项表示一个逻辑页所对应的物理页地址,一个逻辑块的所有映射信息个数为逻辑块的页数,这些信息存放在一个或多个物理页中。
6.根据权利要求5所述闪存控制器的映射信息管理方法,其特征在于:所述逻辑块和它的映射信息通过一个映射信息地址索引表来联系起来,该映射信息地址索引表中的每一项表示一个逻辑块映射信息所存放的物理页地址。
7.根据权利要求6所述闪存控制器的映射信息管理方法,其特征在于:所述一个逻辑地址通过除以逻辑块扇区数得到的商为其对应的逻辑块号,余数为它在逻辑块内的偏移;得到逻辑块号后就可读取对应的映射信息,再通过其偏移得到该页的物理地址
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910310293A CN101714065A (zh) | 2009-11-24 | 2009-11-24 | 一种闪存控制器的映射信息管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910310293A CN101714065A (zh) | 2009-11-24 | 2009-11-24 | 一种闪存控制器的映射信息管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101714065A true CN101714065A (zh) | 2010-05-26 |
Family
ID=42417739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910310293A Pending CN101714065A (zh) | 2009-11-24 | 2009-11-24 | 一种闪存控制器的映射信息管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101714065A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102375779A (zh) * | 2010-08-16 | 2012-03-14 | 深圳市朗科科技股份有限公司 | 一种数据处理方法以及数据处理模块 |
CN102622309A (zh) * | 2011-01-30 | 2012-08-01 | 成都市华为赛门铁克科技有限公司 | 数据安全擦除方法及装置 |
CN103455437A (zh) * | 2012-05-30 | 2013-12-18 | 慧荣科技股份有限公司 | 数据储存装置与数据储存装置操作方法 |
CN103744795A (zh) * | 2013-12-19 | 2014-04-23 | 记忆科技(深圳)有限公司 | 固态硬盘快速启动的方法及其固态硬盘 |
CN103955432A (zh) * | 2014-04-22 | 2014-07-30 | 深圳市硅格半导体有限公司 | 数据存储的方法及装置 |
CN105786721A (zh) * | 2014-12-25 | 2016-07-20 | 研祥智能科技股份有限公司 | 一种内存地址映射管理方法及处理器 |
CN103744795B (zh) * | 2013-12-19 | 2016-11-30 | 记忆科技(深圳)有限公司 | 固态硬盘快速启动的方法及其固态硬盘 |
CN106445832A (zh) * | 2016-09-06 | 2017-02-22 | 深圳市先天海量信息技术有限公司 | 闪存存储***的地址映射方法及装置 |
CN107688442A (zh) * | 2017-09-04 | 2018-02-13 | 郑州云海信息技术有限公司 | 一种用于固态硬盘的虚拟块管理方法 |
CN108021512A (zh) * | 2017-11-22 | 2018-05-11 | 深圳忆联信息***有限公司 | 一种固态硬盘映射管理方法及固态硬盘 |
CN108415851A (zh) * | 2018-01-18 | 2018-08-17 | 珠海全志科技股份有限公司 | 一种提升闪存设备启动速度的方法与装置 |
CN116048428A (zh) * | 2023-03-30 | 2023-05-02 | 北京特纳飞电子技术有限公司 | 数据请求处理方法、装置、存储设备和可读存储介质 |
-
2009
- 2009-11-24 CN CN200910310293A patent/CN101714065A/zh active Pending
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102375779B (zh) * | 2010-08-16 | 2015-08-19 | 深圳市朗科科技股份有限公司 | 一种数据处理方法以及数据处理模块 |
CN102375779A (zh) * | 2010-08-16 | 2012-03-14 | 深圳市朗科科技股份有限公司 | 一种数据处理方法以及数据处理模块 |
CN102622309A (zh) * | 2011-01-30 | 2012-08-01 | 成都市华为赛门铁克科技有限公司 | 数据安全擦除方法及装置 |
WO2012100730A2 (zh) * | 2011-01-30 | 2012-08-02 | 成都市华为赛门铁克科技有限公司 | 数据安全擦除方法及装置 |
WO2012100730A3 (zh) * | 2011-01-30 | 2012-09-20 | 成都市华为赛门铁克科技有限公司 | 数据安全擦除方法及装置 |
CN102622309B (zh) * | 2011-01-30 | 2016-03-30 | 华为数字技术(成都)有限公司 | 数据安全擦除方法及装置 |
CN103455437A (zh) * | 2012-05-30 | 2013-12-18 | 慧荣科技股份有限公司 | 数据储存装置与数据储存装置操作方法 |
CN103744795A (zh) * | 2013-12-19 | 2014-04-23 | 记忆科技(深圳)有限公司 | 固态硬盘快速启动的方法及其固态硬盘 |
CN103744795B (zh) * | 2013-12-19 | 2016-11-30 | 记忆科技(深圳)有限公司 | 固态硬盘快速启动的方法及其固态硬盘 |
CN103955432A (zh) * | 2014-04-22 | 2014-07-30 | 深圳市硅格半导体有限公司 | 数据存储的方法及装置 |
CN103955432B (zh) * | 2014-04-22 | 2017-09-19 | 深圳市硅格半导体有限公司 | 数据存储的方法及装置 |
CN105786721A (zh) * | 2014-12-25 | 2016-07-20 | 研祥智能科技股份有限公司 | 一种内存地址映射管理方法及处理器 |
CN106445832A (zh) * | 2016-09-06 | 2017-02-22 | 深圳市先天海量信息技术有限公司 | 闪存存储***的地址映射方法及装置 |
CN107688442A (zh) * | 2017-09-04 | 2018-02-13 | 郑州云海信息技术有限公司 | 一种用于固态硬盘的虚拟块管理方法 |
CN108021512A (zh) * | 2017-11-22 | 2018-05-11 | 深圳忆联信息***有限公司 | 一种固态硬盘映射管理方法及固态硬盘 |
CN108415851A (zh) * | 2018-01-18 | 2018-08-17 | 珠海全志科技股份有限公司 | 一种提升闪存设备启动速度的方法与装置 |
CN108415851B (zh) * | 2018-01-18 | 2021-02-12 | 珠海全志科技股份有限公司 | 一种提升闪存设备启动速度的方法与装置 |
CN116048428A (zh) * | 2023-03-30 | 2023-05-02 | 北京特纳飞电子技术有限公司 | 数据请求处理方法、装置、存储设备和可读存储介质 |
CN116048428B (zh) * | 2023-03-30 | 2023-08-29 | 北京特纳飞电子技术有限公司 | 数据请求处理方法、装置、存储设备和可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101714065A (zh) | 一种闪存控制器的映射信息管理方法 | |
US11748256B2 (en) | Memory system and method for controlling nonvolatile memory | |
CN103092766B (zh) | 一种用于nand flash的均衡损耗实现方法 | |
US9798472B1 (en) | Extent level cache destaging | |
US9304904B2 (en) | Hierarchical flash translation layer | |
CN101727295B (zh) | 一种基于虚拟块闪存地址映射的数据写入及读出方法 | |
CN103049397B (zh) | 一种基于相变存储器的固态硬盘内部缓存管理方法及*** | |
US8407397B2 (en) | Block management method for flash memory and controller and storage system using the same | |
CN102981963B (zh) | 一种固态盘的闪存转换层的实现方法 | |
CN101740110B (zh) | 一种Nand Flash擦除均衡的方法及装置 | |
CN102779096B (zh) | 一种基于页块面三维的闪存地址映射方法 | |
CN102819496B (zh) | 闪存ftl的地址转换方法 | |
US10740251B2 (en) | Hybrid drive translation layer | |
US8954656B2 (en) | Method and system for reducing mapping table size in a storage device | |
US20100005270A1 (en) | Storage unit management methods and systems | |
CN104572478A (zh) | 数据存取方法和数据存取装置 | |
CN101571832B (zh) | 数据写入方法及使用该方法的快闪存储***与其控制器 | |
CN106548789A (zh) | 用于操作叠瓦式磁记录设备的方法和装置 | |
KR20140043329A (ko) | 셀 저장 용량당 서로 다른 비트를 갖는 세 개의 메모리 층을 구비한 메모리 시스템 | |
CN101556555B (zh) | 用于闪存的区块管理方法、其控制器与储存*** | |
JP2015026379A (ja) | 磁気ランダムアクセスメモリ(mram)を使用する記憶デバイスのメモリアレイのコントローラ管理 | |
CN105718206A (zh) | 能够感知raid的闪存转换层及其实现方法 | |
US10606744B2 (en) | Method for accessing flash memory module and associated flash memory controller and electronic device | |
CN106598493A (zh) | 一种固态硬盘地址映射表管理方法 | |
CN103198020B (zh) | 一种提高闪存使用寿命的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20100526 |