CN107291625B - 一种用于Nand Flash的指针式逻辑地址映射表实现方法 - Google Patents

一种用于Nand Flash的指针式逻辑地址映射表实现方法 Download PDF

Info

Publication number
CN107291625B
CN107291625B CN201710464423.2A CN201710464423A CN107291625B CN 107291625 B CN107291625 B CN 107291625B CN 201710464423 A CN201710464423 A CN 201710464423A CN 107291625 B CN107291625 B CN 107291625B
Authority
CN
China
Prior art keywords
mapping table
logical address
address mapping
nand flash
address
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.)
Active
Application number
CN201710464423.2A
Other languages
English (en)
Other versions
CN107291625A (zh
Inventor
赵鑫鑫
姜凯
李朋
尹超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Inspur Scientific Research Institute Co Ltd
Original Assignee
Jinan Inspur Hi Tech Investment and Development Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jinan Inspur Hi Tech Investment and Development Co Ltd filed Critical Jinan Inspur Hi Tech Investment and Development Co Ltd
Priority to CN201710464423.2A priority Critical patent/CN107291625B/zh
Publication of CN107291625A publication Critical patent/CN107291625A/zh
Application granted granted Critical
Publication of CN107291625B publication Critical patent/CN107291625B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0653Configuration or reconfiguration with centralised address assignment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Abstract

本发明特别涉及一种用于Nand Flash的指针式逻辑地址映射表实现方法。该用于Nand Flash的指针式逻辑地址映射表实现方法,通过使用地址指针,实现对单个逻辑地址的多级逻辑地址映射表,从而降低了Nand Flash芯片发生写错误时垃圾回收导致的高昂时间成本,避免了复杂的垃圾回收算法和磨损均衡算法的实现,大大降低了Nand Flash控制器的实现难度,同时提高了存储写入速度。

Description

一种用于Nand Flash的指针式逻辑地址映射表实现方法
技术领域
本发明涉及NandFlash控制器技术领域,特别涉及一种用于NandFlash的指针式逻辑地址映射表实现方法。
背景技术
随着计算机技术的不断发展,存储设备的容量和速度都得到很大的提升。新型高速硬盘大多以NandFlash芯片为存储介质,但是该存储芯片的控制复杂,需要垃圾回收和磨损均衡等控制机制。
基于上述情况,本发明提出了一种用于NandFlash的指针式逻辑地址映射表实现方法。旨在通过使用地址指针,实现对单个逻辑地址的多级逻辑地址映射表,从而降低NandFlash芯片发生写错误时垃圾回收导致的高昂时间成本。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的用于NandFlash的指针式逻辑地址映射表实现方法。
本发明是通过如下技术方案实现的:
一种用于NandFlash的指针式逻辑地址映射表实现方法,其特征在于,包括以下步骤:
(1)建立一级逻辑地址映射表,所述一级逻辑地址映射表内每一条目的地址即为逻辑地址,条目内存储的内容为一级物理地址;
(2)根据NandFlash芯片规格,为每一个plan(规划)建立一个空闲块物理地址子表;
(3)顺序读取NandFlash存储芯片每个block(块)的坏块信息,将正常block的物理地址按顺序存储在一级逻辑地址映射表和对应的空闲块物理地址子表中;
(4)按逻辑地址顺序对NandFlash芯片进行读写操作或擦除操作;
(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的空闲块物理地址子表使用完后,对应的一级逻辑地址映射表将向系统发送NandFlash芯片损坏信号。
本发明的有益效果是:该用于Nand Flash的指针式逻辑地址映射表实现方法,通过使用地址指针,实现对单个逻辑地址的多级逻辑地址映射表,从而降低了NandFlash芯片发生写错误时垃圾回收导致的高昂时间成本,避免了复杂的垃圾回收算法和磨损均衡算法的实现,大大降低了NandFlash控制器的实现难度,同时提高了存储写入速度。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
该用于NandFlash的指针式逻辑地址映射表实现方法,包括以下步骤:
(1)建立一级逻辑地址映射表,所述一级逻辑地址映射表内每一条目的地址即为逻辑地址,条目内存储的内容为一级物理地址;
(2)根据NandFlash芯片规格,为每一个plan(规划)建立一个空闲块物理地址子表;
(3)顺序读取NandFlash存储芯片每个block(块)的坏块信息,将正常block的物理地址按顺序存储在一级逻辑地址映射表和对应的空闲块物理地址子表中;
(4)按逻辑地址顺序对NandFlash芯片进行读写操作或擦除操作;
(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)顺序读取NandFlash存储芯片每个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芯片损坏信号。
CN201710464423.2A 2017-06-19 2017-06-19 一种用于Nand Flash的指针式逻辑地址映射表实现方法 Active CN107291625B (zh)

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 CN107291625A (zh) 2017-10-24
CN107291625B true 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)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102517685B1 (ko) 2017-11-07 2023-04-05 후아웨이 테크놀러지 컴퍼니 리미티드 메모리 블록 복구 방법 및 디바이스
CN108920293A (zh) * 2018-06-28 2018-11-30 郑州云海信息技术有限公司 固态硬盘写失败的处理方法和固态硬盘
TWI727185B (zh) * 2018-07-09 2021-05-11 慧榮科技股份有限公司 鏈結串列搜索裝置及方法
CN109582239B (zh) * 2018-12-03 2022-02-18 郑州云海信息技术有限公司 一种ssd坏块表的保存方法、装置、设备以及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
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 英特尔公司 非易失性存储器损耗管理
CN105975878A (zh) * 2016-05-30 2016-09-28 中国科学院信息工程研究所 基于Nand Flash闪存的安全存储方法及系统
CN106776359A (zh) * 2016-11-11 2017-05-31 上海航天测控通信研究所 一种NAND Flash坏块管理方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140245024A1 (en) * 2013-02-28 2014-08-28 Kabushiki Kaisha Toshiba Device and authentication method therefor

Patent Citations (6)

* Cited by examiner, † Cited by third party
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 英特尔公司 非易失性存储器损耗管理
CN105975878A (zh) * 2016-05-30 2016-09-28 中国科学院信息工程研究所 基于Nand Flash闪存的安全存储方法及系统
CN106776359A (zh) * 2016-11-11 2017-05-31 上海航天测控通信研究所 一种NAND Flash坏块管理方法及系统

Also Published As

Publication number Publication date
CN107291625A (zh) 2017-10-24

Similar Documents

Publication Publication Date Title
US11461233B2 (en) Handling asynchronous power loss in a memory sub-system that programs sequentially
CN107291625B (zh) 一种用于Nand Flash的指针式逻辑地址映射表实现方法
US9880742B2 (en) Valid data merging method, memory controller and memory storage apparatus
CN104423888B (zh) 数据写入方法、存储器控制电路单元与存储器存储装置
CN104699413B (zh) 数据管理方法、存储器存储装置及存储器控制电路单元
US8296504B2 (en) Data management method and flash memory storage system and controller using the same
US20090265505A1 (en) Data writing method, and flash storage system and controller using the same
US9141530B2 (en) Data writing method, memory controller and memory storage device
US9652330B2 (en) Method for data management and memory storage device and memory control circuit unit
TWI498899B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
US20120246394A1 (en) Flash Memory Device and Data Writing Method for a Flash Memory
US8429339B2 (en) Storage device utilizing free pages in compressed blocks
CN102214143A (zh) 一种多层单元闪存的管理方法、装置及存储设备
TWI692688B (zh) 快閃記憶體控制器及相關電子裝置
US9009442B2 (en) Data writing method, memory controller and memory storage apparatus
CN103678162B (zh) 系统数据储存方法、存储器控制器与存储器储存装置
CN103106148B (zh) 区块管理方法、存储器控制器与存储器存储装置
CN111522684A (zh) 一种同时纠正相变存储器软硬错误的方法及装置
US8738847B2 (en) Data writing method, and memory controller and memory storage apparatus using the same
CN203311409U (zh) 一种Nand Flash的坏列管理装置
CN102800357A (zh) 程序码载入与存取方法、存储器控制器与存储器储存装置
US10289334B2 (en) Valid data merging method, memory controller and memory storage apparatus
US8832358B2 (en) Data writing method, memory controller and memory storage apparatus
CN110442299B (zh) 数据写入方法、存储器控制电路单元以及存储器储存装置
CN113138720B (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
TR01 Transfer of patent right
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.