CN107291625A - 一种用于Nand Flash的指针式逻辑地址映射表实现方法 - Google Patents
一种用于Nand Flash的指针式逻辑地址映射表实现方法 Download PDFInfo
- Publication number
- CN107291625A CN107291625A CN201710464423.2A CN201710464423A CN107291625A CN 107291625 A CN107291625 A CN 107291625A CN 201710464423 A CN201710464423 A CN 201710464423A CN 107291625 A CN107291625 A CN 107291625A
- Authority
- CN
- China
- Prior art keywords
- mapping table
- logical address
- address mapping
- nand flash
- level
- 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/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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0653—Configuration or reconfiguration with centralised address assignment
Abstract
本发明特别涉及一种用于Nand Flash的指针式逻辑地址映射表实现方法。该用于Nand Flash的指针式逻辑地址映射表实现方法,通过使用地址指针,实现对单个逻辑地址的多级逻辑地址映射表,从而降低了Nand Flash芯片发生写错误时垃圾回收导致的高昂时间成本,避免了复杂的垃圾回收算法和磨损均衡算法的实现,大大降低了Nand Flash控制器的实现难度,同时提高了存储写入速度。
Description
技术领域
本发明涉及Nand Flash控制器技术领域,特别涉及一种用于Nand Flash的指针式逻辑地址映射表实现方法。
背景技术
随着计算机技术的不断发展,存储设备的容量和速度都得到很大的提升。新型高速硬盘大多以Nand Flash芯片为存储介质,但是该存储芯片的控制复杂,需要垃圾回收和磨损均衡等控制机制。
基于上述情况,本发明提出了一种用于Nand Flash的指针式逻辑地址映射表实现方法。旨在通过使用地址指针,实现对单个逻辑地址的多级逻辑地址映射表,从而降低NandFlash芯片发生写错误时垃圾回收导致的高昂时间成本。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的用于Nand Flash的指针式逻辑地址映射表实现方法。
本发明是通过如下技术方案实现的:
一种用于Nand Flash的指针式逻辑地址映射表实现方法,其特征在于,包括以下步骤:
(1)建立一级逻辑地址映射表,所述一级逻辑地址映射表内每一条目的地址即为逻辑地址,条目内存储的内容为一级物理地址;
(2)根据Nand Flash芯片规格,为每一个plan(规划)建立一个空闲块物理地址子表;
(3)顺序读取Nand Flash存储芯片每个block(块)的坏块信息,将正常block的物理地址按顺序存储在一级逻辑地址映射表和对应的空闲块物理地址子表中;
(4)按逻辑地址顺序对Nand Flash芯片进行读写操作或擦除操作;
(5)当n级逻辑地址映射表中的block发生写入失败后,选取对应plan的空闲块创建n+1级逻辑地映射表,根据该物理地址找到对应的空闲块物理地址子表,并从中取出一个物理地址,将取出的物理地址添加到n+1级逻辑地址映射表中;将n级逻辑地址映射表中原地址条目的子地址指针填写n+1级逻辑地址映射表中的对应条目地址,将原地址条目的起始page(页面)填入0,结束page填入写入失败page前一页,将n+1级逻辑地址映射表中新条目的起始page填入写入失败page;
(6)使用Copy Back指令将写入失败的数据写入新逻辑地址,之后继续进行下一个读写操作。
所述步骤(4)中,当进行读操作时,从一级逻辑地址映射表开始读,按照对应的起始结束page信息,切换二级逻辑地址映射表直至读取该block完成,切换下一级逻辑地址映射表。
所述步骤(4)中,当进行擦除操作时,先将每个逻辑地址对应的最后一级逻辑地址映射表中的物理地址直接填入一级逻辑地址映射表,然后将其他级逻辑地址映射表全部擦除,最后将一级逻辑地址映射表中的block执行擦除操作。
当有某一个plan的空闲块物理地址子表使用完后,对应的一级逻辑地址映射表将向系统发送Nand Flash芯片损坏信号。
本发明的有益效果是:该用于Nand Flash的指针式逻辑地址映射表实现方法,通过使用地址指针,实现对单个逻辑地址的多级逻辑地址映射表,从而降低了Nand Flash芯片发生写错误时垃圾回收导致的高昂时间成本,避免了复杂的垃圾回收算法和磨损均衡算法的实现,大大降低了Nand Flash控制器的实现难度,同时提高了存储写入速度。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
该用于Nand Flash的指针式逻辑地址映射表实现方法,包括以下步骤:
(1)建立一级逻辑地址映射表,所述一级逻辑地址映射表内每一条目的地址即为逻辑地址,条目内存储的内容为一级物理地址;
(2)根据Nand Flash芯片规格,为每一个plan(规划)建立一个空闲块物理地址子表;
(3)顺序读取Nand Flash存储芯片每个block(块)的坏块信息,将正常block的物理地址按顺序存储在一级逻辑地址映射表和对应的空闲块物理地址子表中;
(4)按逻辑地址顺序对Nand Flash芯片进行读写操作或擦除操作;
(5)当一级逻辑地址映射表中的block发生写入失败后,选取对应plan的空闲块创建二级逻辑地映射表,根据该物理地址找到对应的空闲块物理地址子表,并从中取出一个物理地址,将取出的物理地址添加到二级逻辑地址映射表中;将一级逻辑地址映射表中原地址条目的子地址指针填写二级逻辑地址映射表中的对应条目地址,将原地址条目的起始page(页面)填入0,结束page填入写入失败page前一页,将二级逻辑地址映射表中新条目的起始page填入写入失败page;
(6)使用Copy Back指令将写入失败的数据写入新逻辑地址,之后继续进行下一个读写操作。
当二级逻辑地址映射表中的block发生也写入失败后,按照步骤(5)和步骤(6)的方法,选取对应plan的空闲块创建三级逻辑地映射表,根据该物理地址找到对应的空闲块物理地址子表,并从中取出一个物理地址,将取出的物理地址添加到三级逻辑地址映射表中;将二级逻辑地址映射表中原地址条目的子地址指针填写三级逻辑地址映射表中的对应条目地址,将原地址条目的起始page(页面)填入0,结束page填入写入失败page前一页,将三级逻辑地址映射表中新条目的起始page填入写入失败page;
使用Copy Back指令将写入失败的数据写入新逻辑地址,之后继续进行下一个读写操作。
以后各级逻辑地址映射表中的block发生写入失败后,均按照步骤(5)和步骤(6)的方法以此类推。
所述步骤(4)中,当进行读操作时,从一级逻辑地址映射表开始读,按照对应的起始结束page信息,切换二级逻辑地址映射表直至读取该block完成,切换下一级逻辑地址映射表。
所述步骤(4)中,当进行擦除操作时,先将每个逻辑地址对应的最后一级逻辑地址映射表中的物理地址直接填入一级逻辑地址映射表,然后将其他级逻辑地址映射表全部擦除,最后将一级逻辑地址映射表中的block执行擦除操作。
当有某一个plan的空闲块物理地址子表使用完后,对应的一级逻辑地址映射表将向系统发送Nand Flash芯片损坏信号。
Claims (4)
1.一种用于Nand Flash的指针式逻辑地址映射表实现方法,其特征在于,包括以下步骤:
(1)建立一级逻辑地址映射表,所述一级逻辑地址映射表内每一条目的地址即为逻辑地址,条目内存储的内容为一级物理地址;
(2)根据Nand Flash芯片规格,为每一个plan建立一个空闲块物理地址子表;
(3)顺序读取Nand Flash存储芯片每个block的坏块信息,将正常block的物理地址按顺序存储在一级逻辑地址映射表和对应的空闲块物理地址子表中;
(4)按逻辑地址顺序对Nand Flash芯片进行读写操作或擦除操作;
(5)当n级逻辑地址映射表中的block发生写入失败后,选取对应plan的空闲块创建n+1级逻辑地映射表,根据该物理地址找到对应的空闲块物理地址子表,并从中取出一个物理地址,将取出的物理地址添加到n+1级逻辑地址映射表中;将n级逻辑地址映射表中原地址条目的子地址指针填写n+1级逻辑地址映射表中的对应条目地址,将原地址条目的起始page填入0,结束page填入写入失败page前一页,将n+1级逻辑地址映射表中新条目的起始page填入写入失败page;
(6)使用Copy Back指令将写入失败的数据写入新逻辑地址,之后继续进行下一个读写操作。
2.根据权利要求1所述的用于Nand Flash的指针式逻辑地址映射表实现方法,其特征在于:所述步骤(4)中,当进行读操作时,从一级逻辑地址映射表开始读,按照对应的起始结束page信息,切换二级逻辑地址映射表直至读取该block完成,切换下一级逻辑地址映射表。
3.根据权利要求1所述的用于Nand Flash的指针式逻辑地址映射表实现方法,其特征在于:所述步骤(4)中,当进行擦除操作时,先将每个逻辑地址对应的最后一级逻辑地址映射表中的物理地址直接填入一级逻辑地址映射表,然后将其他级逻辑地址映射表全部擦除,最后将一级逻辑地址映射表中的block执行擦除操作。
4.根据权利要求1所述的用于Nand Flash的指针式逻辑地址映射表实现方法,其特征在于:当有某一个plan的空闲块物理地址子表使用完后,对应的一级逻辑地址映射表将向系统发送Nand Flash芯片损坏信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710464423.2A CN107291625B (zh) | 2017-06-19 | 2017-06-19 | 一种用于Nand Flash的指针式逻辑地址映射表实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710464423.2A CN107291625B (zh) | 2017-06-19 | 2017-06-19 | 一种用于Nand Flash的指针式逻辑地址映射表实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107291625A true CN107291625A (zh) | 2017-10-24 |
CN107291625B CN107291625B (zh) | 2020-06-09 |
Family
ID=60096640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710464423.2A Active CN107291625B (zh) | 2017-06-19 | 2017-06-19 | 一种用于Nand Flash的指针式逻辑地址映射表实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107291625B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108920293A (zh) * | 2018-06-28 | 2018-11-30 | 郑州云海信息技术有限公司 | 固态硬盘写失败的处理方法和固态硬盘 |
CN109582239A (zh) * | 2018-12-03 | 2019-04-05 | 郑州云海信息技术有限公司 | 一种ssd坏块表的保存方法、装置、设备以及存储介质 |
WO2019090493A1 (zh) * | 2017-11-07 | 2019-05-16 | 华为技术有限公司 | 内存块回收方法和装置 |
CN110704330A (zh) * | 2018-07-09 | 2020-01-17 | 慧荣科技股份有限公司 | 数据存取控制装置及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727402A (zh) * | 2009-10-23 | 2010-06-09 | 深圳市江波龙电子有限公司 | 一种非易失性存储器数据的读写控制方法及系统 |
CN101740110A (zh) * | 2009-12-17 | 2010-06-16 | 中兴通讯股份有限公司 | 一种Nand Flash擦除均衡的方法及装置 |
CN102591782A (zh) * | 2011-01-17 | 2012-07-18 | 上海华虹集成电路有限责任公司 | 一种采用三级地址查找表的Nandflash存储系统 |
CN104011689A (zh) * | 2011-11-04 | 2014-08-27 | 英特尔公司 | 非易失性存储器损耗管理 |
US20140245024A1 (en) * | 2013-02-28 | 2014-08-28 | Kabushiki Kaisha Toshiba | Device and authentication method therefor |
CN105975878A (zh) * | 2016-05-30 | 2016-09-28 | 中国科学院信息工程研究所 | 基于Nand Flash闪存的安全存储方法及系统 |
CN106776359A (zh) * | 2016-11-11 | 2017-05-31 | 上海航天测控通信研究所 | 一种NAND Flash坏块管理方法及系统 |
-
2017
- 2017-06-19 CN CN201710464423.2A patent/CN107291625B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727402A (zh) * | 2009-10-23 | 2010-06-09 | 深圳市江波龙电子有限公司 | 一种非易失性存储器数据的读写控制方法及系统 |
CN101740110A (zh) * | 2009-12-17 | 2010-06-16 | 中兴通讯股份有限公司 | 一种Nand Flash擦除均衡的方法及装置 |
CN102591782A (zh) * | 2011-01-17 | 2012-07-18 | 上海华虹集成电路有限责任公司 | 一种采用三级地址查找表的Nandflash存储系统 |
CN104011689A (zh) * | 2011-11-04 | 2014-08-27 | 英特尔公司 | 非易失性存储器损耗管理 |
US20140245024A1 (en) * | 2013-02-28 | 2014-08-28 | Kabushiki Kaisha Toshiba | Device and authentication method therefor |
CN105975878A (zh) * | 2016-05-30 | 2016-09-28 | 中国科学院信息工程研究所 | 基于Nand Flash闪存的安全存储方法及系统 |
CN106776359A (zh) * | 2016-11-11 | 2017-05-31 | 上海航天测控通信研究所 | 一种NAND Flash坏块管理方法及系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019090493A1 (zh) * | 2017-11-07 | 2019-05-16 | 华为技术有限公司 | 内存块回收方法和装置 |
CN111108488A (zh) * | 2017-11-07 | 2020-05-05 | 华为技术有限公司 | 内存块回收方法和装置 |
CN111108488B (zh) * | 2017-11-07 | 2022-05-10 | 华为技术有限公司 | 内存块回收方法和装置 |
US11886333B2 (en) | 2017-11-07 | 2024-01-30 | Huawei Technologies Co., Ltd. | Memory block reclamation method and apparatus |
CN108920293A (zh) * | 2018-06-28 | 2018-11-30 | 郑州云海信息技术有限公司 | 固态硬盘写失败的处理方法和固态硬盘 |
CN110704330A (zh) * | 2018-07-09 | 2020-01-17 | 慧荣科技股份有限公司 | 数据存取控制装置及方法 |
CN110704330B (zh) * | 2018-07-09 | 2022-11-01 | 慧荣科技股份有限公司 | 数据存取控制装置及方法 |
CN109582239A (zh) * | 2018-12-03 | 2019-04-05 | 郑州云海信息技术有限公司 | 一种ssd坏块表的保存方法、装置、设备以及存储介质 |
CN109582239B (zh) * | 2018-12-03 | 2022-02-18 | 郑州云海信息技术有限公司 | 一种ssd坏块表的保存方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107291625B (zh) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10990526B1 (en) | Handling asynchronous power loss in a memory sub-system that programs sequentially | |
CN107291625A (zh) | 一种用于Nand Flash的指针式逻辑地址映射表实现方法 | |
US10127166B2 (en) | Data storage controller with multiple pipelines | |
CN104423888B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
KR101014040B1 (ko) | 디램 버퍼 관리 장치 및 방법 | |
TWI619017B (zh) | 部分寫入區塊處置 | |
TWI425523B (zh) | 混合型快閃儲存裝置及其操作方法 | |
JP6345210B2 (ja) | 軟判定復号のための物理アドレスの相互関連付け | |
CN104699413B (zh) | 数据管理方法、存储器存储装置及存储器控制电路单元 | |
US10437512B2 (en) | Techniques for non-volatile memory page retirement | |
JP5259138B2 (ja) | 記憶装置 | |
US20130346674A1 (en) | Data writing method, memory controller and memory storage device | |
US8301850B2 (en) | Memory system which writes data to multi-level flash memory by zigzag interleave operation | |
CN102314321B (zh) | 存储系统、运用存储系统进行数据访问的方法和装置 | |
TWI692688B (zh) | 快閃記憶體控制器及相關電子裝置 | |
CN104303159B (zh) | 基于页面来源的休眠 | |
CN102929740A (zh) | 检测存储设备坏块的方法和装置 | |
JP2007094921A (ja) | メモリカードとその制御方法 | |
CN103019624A (zh) | 一种相变内存装置 | |
CN104252420A (zh) | 数据写入方法及内存系统 | |
US20130067141A1 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
US20220342829A1 (en) | Logical-to-physical mapping | |
US20120159280A1 (en) | Method for controlling nonvolatile memory apparatus | |
US11698746B1 (en) | Journal scheme for a memory sub-system | |
US20110087828A1 (en) | Method for enhancing performance of accessing a flash memory, and associated memory device and controller thereof |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211026 Address after: 250100 building S02, No. 1036, Langchao Road, high tech Zone, Jinan City, Shandong Province Patentee after: Shandong Inspur Scientific Research Institute Co.,Ltd. Address before: 250100 First Floor of R&D Building 2877 Kehang Road, Sun Village Town, Jinan High-tech Zone, Shandong Province Patentee before: JINAN INSPUR HIGH-TECH TECHNOLOGY DEVELOPMENT Co.,Ltd. |
|
TR01 | Transfer of patent right |