CN107102821A - 一种nand flash阵列写失败的处理方法 - Google Patents

一种nand flash阵列写失败的处理方法 Download PDF

Info

Publication number
CN107102821A
CN107102821A CN201710266509.4A CN201710266509A CN107102821A CN 107102821 A CN107102821 A CN 107102821A CN 201710266509 A CN201710266509 A CN 201710266509A CN 107102821 A CN107102821 A CN 107102821A
Authority
CN
China
Prior art keywords
nand flash
write
page
failure
processing method
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
Application number
CN201710266509.4A
Other languages
English (en)
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.)
Jinan Inspur Hi Tech Investment and Development 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 CN201710266509.4A priority Critical patent/CN107102821A/zh
Publication of CN107102821A publication Critical patent/CN107102821A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明特别涉及一种NAND FLASH阵列写失败的处理方法。该NAND FLASH阵列写失败的处理方法,当NAND FLASH阵列在写过程中出现写错误时,从备用块RAM表中查找一个可替换块的地址,并将数据搬移到新的替换块中。该NAND FLASH阵列写失败的处理方法,能够实现NAND FLASH阵列坏块的替换及数据搬移,保证了数据的完整。

Description

一种NAND FLASH阵列写失败的处理方法
技术领域
本发明涉及高速大容量存储技术领域,特别涉及一种NAND FLASH阵列写失败的处理方法。
背景技术
NAND FLASH作为一种新兴的存储设备,由于存储容量大及成本低等特点,在许多领域已经替代了NOR FLASH。但是由于NAND FLASH的特性,NAND FLASH存储经常会出现坏块,导致数据无法写入。
基于上述情况,本发明提出了一种NAND FLASH阵列写失败的处理方法。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的NAND FLASH阵列写失败的处理方法。
本发明是通过如下技术方案实现的:
一种NAND FLASH阵列写失败的处理方法,其特征在于:当NAND FLASH阵列在写过程中出现写错误时,从备用块RAM表中查找一个可替换块的地址,并将数据搬移到新的替换块中。
所述NAND FLASH阵列写失败的处理方法,包括以下步骤:
(1)首先,当NAND FLASH阵列出现写错误时,Page计数器指针初始化为0,并记录当前出错时NAND FLASH的写入Page地址;
(2)根据NAND FLASH阵列的行列号,确定出现错误的NAND FLASH,并从对应的备用块RAM表中查找替换块,确定新的BLOCK地址;
(3)向出错的NAND FLASH发送读Cache命令,将未写入NAND FLASH中的数据写入RAM中保存下来;
(4)判读当前的Page指针是否等于出错时的Page地址,如果不相等,则发送CopyBackRead命令,读取Page指针对应地址的数据到Cache中,然后通过CopyBack Write命令将Cache数据写入新的BLOCK 对应Page指针的地址,然后Page指针加1,继续判断Page指针是否等于出错时的Page地址;如果Page指针等于出错时的Page地址,则将RAM中保存的内容通过普通写命令写入新的BLOCK的对应Page地址,否则继续执行相应的CopyBack命令进行数据搬移。
所述步骤(3)中,RAM大小须能存储NAND FLASH Cache内容。
本发明的有益效果是:该NAND FLASH阵列写失败的处理方法,能够实现NANDFLASH阵列坏块的替换及数据搬移,保证了数据的完整。
附图说明
附图1为本发明NAND FLASH阵列写失败的处理方法示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图和实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
该NAND FLASH阵列写失败的处理方法,当NAND FLASH阵列在写过程中出现写错误时,从备用块RAM表中查找一个可替换块的地址,并将数据搬移到新的替换块中。
该NAND FLASH阵列写失败的处理方法,包括以下步骤:
(1)首先,当NAND FLASH阵列出现写错误时,Page计数器指针初始化为0,并记录当前出错时NAND FLASH的写入Page地址;
(2)根据NAND FLASH阵列的行列号,确定出现错误的NAND FLASH,并从对应的备用块RAM表中查找替换块,确定新的BLOCK地址;
(3)向出错的NAND FLASH发送读Cache命令,将未写入NAND FLASH中的数据写入RAM中保存下来;
(4)判读当前的Page指针是否等于出错时的Page地址,如果不相等,则发送CopyBackRead命令,读取Page指针对应地址的数据到Cache中,然后通过CopyBack Write命令将Cache数据写入新的BLOCK 对应Page指针的地址,然后Page指针加1,继续判断Page指针是否等于出错时的Page地址;如果Page指针等于出错时的Page地址,则将RAM中保存的内容通过普通写命令写入新的BLOCK的对应Page地址,否则继续执行相应的CopyBack命令进行数据搬移。
所述步骤(3)中,RAM大小须能存储NAND FLASH Cache内容。

Claims (3)

1.一种NAND FLASH阵列写失败的处理方法,其特征在于:当NAND FLASH阵列在写过程中出现写错误时,从备用块RAM表中查找一个可替换块的地址,并将数据搬移到新的替换块中。
2.根据权利要求1所述的NAND FLASH阵列写失败的处理方法,其特征在于,包括以下步骤:
(1)首先,当NAND FLASH阵列出现写错误时,Page计数器指针初始化为0,并记录当前出错时NAND FLASH的写入Page地址;
(2)根据NAND FLASH阵列的行列号,确定出现错误的NAND FLASH,并从对应的备用块RAM表中查找替换块,确定新的BLOCK地址;
(3)向出错的NAND FLASH发送读Cache命令,将未写入NAND FLASH中的数据写入RAM中保存下来;
(4)判读当前的Page指针是否等于出错时的Page地址,如果不相等,则发送CopyBackRead命令,读取Page指针对应地址的数据到Cache中,然后通过CopyBack Write命令将Cache数据写入新的BLOCK 对应Page指针的地址,然后Page指针加1,继续判断Page指针是否等于出错时的Page地址;如果Page指针等于出错时的Page地址,则将RAM中保存的内容通过普通写命令写入新的BLOCK的对应Page地址,否则继续执行相应的CopyBack命令进行数据搬移。
3.根据权利要求2所述的NAND FLASH阵列写失败的处理方法,其特征在于:所述步骤(3)中,RAM大小须能存储NAND FLASH Cache内容。
CN201710266509.4A 2017-04-21 2017-04-21 一种nand flash阵列写失败的处理方法 Pending CN107102821A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710266509.4A CN107102821A (zh) 2017-04-21 2017-04-21 一种nand flash阵列写失败的处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710266509.4A CN107102821A (zh) 2017-04-21 2017-04-21 一种nand flash阵列写失败的处理方法

Publications (1)

Publication Number Publication Date
CN107102821A true CN107102821A (zh) 2017-08-29

Family

ID=59657070

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710266509.4A Pending CN107102821A (zh) 2017-04-21 2017-04-21 一种nand flash阵列写失败的处理方法

Country Status (1)

Country Link
CN (1) CN107102821A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108920293A (zh) * 2018-06-28 2018-11-30 郑州云海信息技术有限公司 固态硬盘写失败的处理方法和固态硬盘
CN109002265A (zh) * 2018-07-26 2018-12-14 浪潮电子信息产业股份有限公司 一种数据处理的方法以及相关装置
CN109857347A (zh) * 2019-03-05 2019-06-07 广东省气象探测数据中心 基于flash的内嵌式地面气象数据可靠固化方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102063380A (zh) * 2010-12-31 2011-05-18 北京握奇数据系统有限公司 一种向非易失性存储器写入数据的方法及装置
CN102331911A (zh) * 2011-06-17 2012-01-25 杭州华三通信技术有限公司 用于文件系统向Nand Flash写数据的驱动装置及方法
CN104166627A (zh) * 2014-09-02 2014-11-26 科大智能电气技术有限公司 一种基于单片机的nand-flash写操作方法
CN104765695A (zh) * 2015-04-03 2015-07-08 上海交通大学 一种nand flash坏块管理系统及方法
CN104794019A (zh) * 2015-04-17 2015-07-22 深圳市江波龙电子有限公司 一种嵌入式存储器的数据保护方法及装置
CN105740163A (zh) * 2016-01-29 2016-07-06 山东鲁能智能技术有限公司 一种Nand Flash坏块管理方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102063380A (zh) * 2010-12-31 2011-05-18 北京握奇数据系统有限公司 一种向非易失性存储器写入数据的方法及装置
CN102331911A (zh) * 2011-06-17 2012-01-25 杭州华三通信技术有限公司 用于文件系统向Nand Flash写数据的驱动装置及方法
CN104166627A (zh) * 2014-09-02 2014-11-26 科大智能电气技术有限公司 一种基于单片机的nand-flash写操作方法
CN104765695A (zh) * 2015-04-03 2015-07-08 上海交通大学 一种nand flash坏块管理系统及方法
CN104794019A (zh) * 2015-04-17 2015-07-22 深圳市江波龙电子有限公司 一种嵌入式存储器的数据保护方法及装置
CN105740163A (zh) * 2016-01-29 2016-07-06 山东鲁能智能技术有限公司 一种Nand Flash坏块管理方法

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 郑州云海信息技术有限公司 固态硬盘写失败的处理方法和固态硬盘
CN109002265A (zh) * 2018-07-26 2018-12-14 浪潮电子信息产业股份有限公司 一种数据处理的方法以及相关装置
CN109002265B (zh) * 2018-07-26 2021-12-17 浪潮电子信息产业股份有限公司 一种数据处理的方法以及相关装置
CN109857347A (zh) * 2019-03-05 2019-06-07 广东省气象探测数据中心 基于flash的内嵌式地面气象数据可靠固化方法

Similar Documents

Publication Publication Date Title
US9436609B2 (en) Block addressing for parallel memory arrays
US20170344423A1 (en) Data storage device and data access-method
US11010289B2 (en) Data storage device and operating method thereof
CN103279424A (zh) 一种Nand Flash的坏列管理装置和方法
US20120117444A1 (en) Method Of Storing Blocks Of Data In A Plurality Of Memory Devices In A Redundant Manner, A Memory Controller And A Memory System
CN107102821A (zh) 一种nand flash阵列写失败的处理方法
US12066930B2 (en) Managing power loss recovery using an oldest section write policy for an address mapping table in a memory sub-system
US11966582B2 (en) Data storage device that detects and releases bottlenecks
CN107291625B (zh) 一种用于Nand Flash的指针式逻辑地址映射表实现方法
US20170256328A1 (en) Dynamic-shifting redundancy mapping for non-volatile data storage
US20170004095A1 (en) Memory Control Circuit and Storage Device
US11640253B2 (en) Method to use flat relink table in HMB
US20170185478A1 (en) Memory controller, storage apparatus, information processing system, and memory controller control method
CN103577346A (zh) 存储器控制方法及存储器控制电路
CN108519858B (zh) 存储芯片硬件命中方法
CN100492323C (zh) 对缓存内容进行保护的方法和装置以及缓存控制器
CN110597741B (zh) 一种l2p表的读写、更新方法及l2p表
US11928353B2 (en) Multi-page parity data storage in a memory device
CN101178933A (zh) 一种闪存阵列装置
US11698746B1 (en) Journal scheme for a memory sub-system
US20220342584A1 (en) Data Parking for ZNS Devices
US20230315296A1 (en) Aligned And Unaligned Data Deallocation
US20210333996A1 (en) Data Parking for SSDs with Streams
US11138066B1 (en) Parity swapping to DRAM
US20130246687A1 (en) Data writing method, memory controller and memory storage apparatus

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170829

RJ01 Rejection of invention patent application after publication