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

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

Info

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
Application number
CN201710464423.2A
Other languages
English (en)
Other versions
CN107291625B (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

Abstract

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

Description

一种用于Nand Flash的指针式逻辑地址映射表实现方法
技术领域
本发明涉及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芯片损坏信号。
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 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)

* Cited by examiner, † Cited by third party
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)

* 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 英特尔公司 非易失性存储器损耗管理
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坏块管理方法及系统

Patent Citations (7)

* 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 英特尔公司 非易失性存储器损耗管理
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)

* Cited by examiner, † Cited by third party
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