CN108614664A - 基于NANDflash的读错误处理方法和装置 - Google Patents

基于NANDflash的读错误处理方法和装置 Download PDF

Info

Publication number
CN108614664A
CN108614664A CN201611129100.XA CN201611129100A CN108614664A CN 108614664 A CN108614664 A CN 108614664A CN 201611129100 A CN201611129100 A CN 201611129100A CN 108614664 A CN108614664 A CN 108614664A
Authority
CN
China
Prior art keywords
read error
data block
nand flash
target data
block
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
CN201611129100.XA
Other languages
English (en)
Other versions
CN108614664B (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.)
Zhaoyi Innovation Technology Group Co ltd
Original Assignee
Beijing Jingcun Technology 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 Beijing Jingcun Technology Co Ltd filed Critical Beijing Jingcun Technology Co Ltd
Priority to CN201611129100.XA priority Critical patent/CN108614664B/zh
Publication of CN108614664A publication Critical patent/CN108614664A/zh
Application granted granted Critical
Publication of CN108614664B publication Critical patent/CN108614664B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/0608Saving storage space on 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket

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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本发明实施例公开了一种基于NAND flash的读错误处理方法和装置,应用于NAND flash存储设备,所述NAND flash存储设备包括至少一个NAND flash单元,每个NAND flash单元包括至少一个数据块,每个数据块包括至少一个数据页。所述方法包括:当目标数据块发生读错误时,记录发生读错误的数据页在目标数据块的位置;累加目标数据块的读错误页数,判断所述读错误页数是否超过预设阈值;当判断出所述读错误页数超过所述预设阈值时,将目标数据块标记为坏块。本发明实施例解决了现有技术中数据块因出现读错误而被标记为坏块所造成的存储空间浪费的问题。

Description

基于NAND flash的读错误处理方法和装置
技术领域
本发明实施例涉及存储器技术,尤其涉及一种基于NAND flash的读错误处理方法和装置。
背景技术
NAND flash是Flash内存的一种,属于非易失性存储设备。
NAND flash在使用过程中,一些数据块会出现读错误。针对这种问题,通常的做法是将该块标记为坏块而不再使用。但是,NAND flash的一个数据块包含很多页存储空间,一个数据块中的某一存储位置出现错误,并不意味着该数据块的其他位置不可使用,因此,若将该数据块标记为坏块则会造成存储空间的浪费。
发明内容
本发明实施例提供一种基于NAND flash的读错误处理方法和装置,以解决现有技术中数据块因出现读错误而被标记为坏块所造成的存储空间浪费的问题。
第一方面,本发明实施例提供了一种基于NAND flash的读错误处理方法,应用于NAND flash存储设备,所述NAND flash存储设备包括至少一个NAND flash单元,每个NANDflash单元包括至少一个数据块,每个数据块包括至少一个数据页,该方法包括:当目标数据块发生读错误时,记录发生读错误的数据页在目标数据块的位置;累加目标数据块的读错误页数,判断所述读错误页数是否超过预设阈值;当判断出所述读错误页数超过所述预设阈值时,将目标数据块标记为坏块。
进一步的,该方法还包括:当对目标数据块的数据页的写操作发生时,在所述位置对应的数据页中写入无效数据。
第二方面,本发明实施例提供了一种基于NAND flash的读错误处理装置,应用于NAND flash存储设备,所述NAND flash存储设备包括至少一个NAND flash单元,每个NANDflash单元包括至少一个数据块,每个数据块包括至少一个数据页,该装置包括:位置记录模块,用于当目标数据块发生读错误时,记录发生读错误的数据页的位置;累加判断模块,用于累加目标数据块的读错误页数,判断所述读错误页数是否超过预设阈值;坏块标记模块,用于当累加判断模块判断出超过所述预设阈值时,将目标数据块标记为坏块。
进一步的,该装置还包括:无效数据写入模块,用于当对目标数据块的数据页的写操作发生时,在所述位置对应的数据页中写入无效数据。
本发明实施例通过对NAND flash存储设备中发生读错误的情况进行了处理,具体通过记录发生读错误的数据页在目标数据块的位置,并通过累加目标数据块的读错误页数来判断读错误的页数是否超过预设阈值,将读错误页数超过预设阈值的目标数据块标记为坏块,从而解决了数据块因出现读错误而被标记为坏块所造成的存储空间浪费的问题。
附图说明
图1是本发明实施例一中的一种基于NAND flash的读错误处理方法的流程图;
图2是本发明实施例二中的一种基于NAND flash的读错误处理方法的流程图;
图3是本发明实施例三中的一种基于NAND flash的读错误处理装置的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一中提供的一种基于NAND flash的读错误处理方法的流程图。本实施例可适用于基于NAND flash的读错误处理的情况,应用于NAND flash存储设备,该方法可以由具有NAND flash的读错误处理功能的装置来执行,该装置可以采用软件和/或硬件的方式实现。该方法具体包括:
S110、当目标数据块发生读错误时,记录发生读错误的数据页在目标数据块的位置。
具体的,NAND flash内存是flash内存的一种,属于非易失性存储设备。存储设备的主要功能是存储程序和各种数据,并能在计算机运行过程中高速、自动地完成程序或数据的存取。NAND flash存储设备包括至少一个NAND flash单元,每个NAND flash单元包括至少一个数据块,每个数据块包括至少一个数据页。NAND flash存储设备容量较大,改写速度快,适用于大量数据的存储。NAND flash以页为单位对数据进行读写,以块为单位擦除数据,按照这样的组织方式可以形成三类地址:列地址(地址的低八位)、页地址和块地址,通过对三类地址的管理对数据进行处理。NAND flash内存以块为单位进行擦除操作。闪存的写入操作必须在空白区域进行,如果目标区域已经有数据,必须先擦除后写入。
NAND flash在使用的过程中,将待处理的数据块作为目标数据块,对目标数据块所做的操作可以是读操作、写操作或擦除操作,其中,读操作是指对NAND flash的数据进行读取,写操作是指,将待写入数据写入到NAND flash中目标地址对应的存储位置,擦除操作是指擦除目标数据块中的数据。每个目标数据块中包括至少一个数据页,目标数据块在数据处理过程中发生读错误,可选的,读错误指的是NAND flash中的目标数据无法被正常读取,目标数据块发生读错误的原因可以是芯片的划痕等物理问题。当目标数据块发生读错误时,记录发生读错误的数据页在目标数据块的位置。可选的,发生读错误的数据页在目标数据中的位置可以是物理位置,如发生读错误的数据页在目标数据的第5页。
S120、累加目标数据块的读错误页数,判断所述读错误页数是否超过预设阈值。
具体的,统计目标数据块中出现的读错误的页数,将目标数据块中读错误的页数记为L,当目标数据块中每出现一个读错误,将读错误页数加1,累加目标数据块中的读错误页数。可选的,根据用户对存储器性能和功能的要求,设定一个预设阈值N,判断目标数据中读错误的页数L是否超过预设阈值N。
S130、当判断出所述读错误页数超过所述预设阈值时,将目标数据块标记为坏块。
具体的,当目标数据块中读错误的页数超过一定数量时,即当判断出读错误页数L大于预设阈值N时,将目标数据块标记为坏块。若判断出读错误页数L未达到预设阈值N,则对读错误页数继续进行累加。具体的,如果读错误页数L未达到预设阈值N,继续对NANDflash存储设备中的目标数据进行读取,累加读错误页数。
本发明实施例通过记录发生读错误的数据页在目标数据块的位置,并通过累加目标数据块的读错误页数来判断读错误的页数是否超过预设阈值,将读错误页数超过预设阈值的目标数据块标记为坏块,从而避免以整个数据块为单位记录读错误,继而解决数据块因出现读错误而被标记为坏块所造成的存储空间浪费的问题。
实施例二
图2是本发明实施例二提供的一种基于NAND flash的读错误处理方法的流程图,本实施例在上述实施例的基础上进行了优化,该方法还包括“当对目标数据块的写操作发生时,在所述位置对应的数据页中写入无效数据”。具体包括以下步骤:
S210、当目标数据块发生读错误时,记录发生读错误的数据页在目标数据块的位置。
S220、累加目标数据块的读错误页数,判断所述读错误页数是否超过预设阈值。
S230、当判断出所述读错误页数超过所述预设阈值时,将目标数据块标记为坏块。
S240、当对目标数据块的数据页的写操作发生时,在所述位置对应的数据页中写入无效数据。
可选的,对写入的无效数据的内容不做具体限定,可以是任意写入无效数据,也可以是预先在算法中设定一个无效数据表,当需要在发生读错误的数据页中写入无效数据时,从该无效数据表中选择无效数据进行写入。可选的,本应当写入的有效数据则在该位置的下一个有效数据页中继续写入。
本发明实施例中,通过对目标数据块的写操作发生的情况进行了对应操作,在发生读错误的目标数据块的位置对应的数据页中写入无效数据,避免下次对发生读错误的数据块再次进行读操作时发生错误,提高了数据的正确性。
实施例三
图3是本发明实施例三中提供的一种基于NAND flash的读错误处理装装置的结构图示意图,该装置具体包括:位置记录模块310、累加判断模块320和坏块标记模块330。
位置记录模块310,用于当目标数据块发生读错误时,记录发生读错误的数据页的位置;
累加判断模块320,用于累加目标数据块的读错误页数,判断所述读错误页数是否超过预设阈值;
坏块标记模块330,用于当累加判断模块判断出超过所述预设阈值时,将目标数据块标记为坏块。
进一步的,该装置还包括:无效数据写入模块,用于当对目标数据块的数据页的写操作发生时,在所述位置对应的数据页中写入无效数据。
本发明实施例提供的基于NAND flash的读错误处理装置可执行本发明任意实施例提供的基于NAND flash的读错误处理的方法,具备执行方法相应的功能模块和有益效果。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (4)

1.一种基于NAND flash的读错误处理方法,应用于NAND flash存储设备,所述NANDflash存储设备包括至少一个NAND flash单元,每个NAND flash单元包括至少一个数据块,每个数据块包括至少一个数据页,其特征在于,所述方法包括:
当目标数据块发生读错误时,记录发生读错误的数据页在目标数据块的位置;
累加目标数据块的读错误页数,判断所述读错误页数是否超过预设阈值;
当判断出所述读错误页数超过所述预设阈值时,将目标数据块标记为坏块。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:当对目标数据块的数据页的写操作发生时,在所述位置对应的数据页中写入无效数据。
3.一种基于NAND flash的读错误处理装置,应用于NAND flash存储设备,所述NANDflash存储设备包括至少一个NAND flash单元,每个NAND flash单元包括至少一个数据块,每个数据块包括至少一个数据页,其特征在于,所述装置包括:
位置记录模块,用于当目标数据块发生读错误时,记录发生读错误的数据页的位置;
累加判断模块,用于累加目标数据块的读错误页数,判断所述读错误页数是否超过预设阈值;
坏块标记模块,用于当累加判断模块判断出超过所述预设阈值时,将目标数据块标记为坏块。
4.根据权利要求3所述的装置,其特征在于,所述装置还包括:
无效数据写入模块,用于当对目标数据块的数据页的写操作发生时,在所述位置对应的数据页中写入无效数据。
CN201611129100.XA 2016-12-09 2016-12-09 基于NAND flash的读错误处理方法和装置 Active CN108614664B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611129100.XA CN108614664B (zh) 2016-12-09 2016-12-09 基于NAND flash的读错误处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611129100.XA CN108614664B (zh) 2016-12-09 2016-12-09 基于NAND flash的读错误处理方法和装置

Publications (2)

Publication Number Publication Date
CN108614664A true CN108614664A (zh) 2018-10-02
CN108614664B CN108614664B (zh) 2021-04-16

Family

ID=63643491

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611129100.XA Active CN108614664B (zh) 2016-12-09 2016-12-09 基于NAND flash的读错误处理方法和装置

Country Status (1)

Country Link
CN (1) CN108614664B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109460371A (zh) * 2018-11-06 2019-03-12 湖南国科微电子股份有限公司 一种固态硬盘数据块错误处理方法
CN111158589A (zh) * 2019-12-16 2020-05-15 绿晶半导体科技(北京)有限公司 存储阵列的动态管理方法和装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080141076A1 (en) * 2005-04-08 2008-06-12 Luhui Hu System and Method of Reporting Error Codes in an Electronically Controlled Device
CN101887351A (zh) * 2010-06-22 2010-11-17 杭州华三通信技术有限公司 一种磁盘阵列容错方法及其系统
JP2012146129A (ja) * 2011-01-12 2012-08-02 Mega Chips Corp メモリアクセス制御装置
CN102820057A (zh) * 2011-06-08 2012-12-12 三星电子株式会社 非易失性存储装置及编程非易失性存储装置的方法
CN103218274A (zh) * 2013-03-15 2013-07-24 华为技术有限公司 一种预防故障累加的方法和固态硬盘
CN103455386A (zh) * 2013-08-28 2013-12-18 华为技术有限公司 一种修复出错数据的方法和设备
CN103745753A (zh) * 2013-12-17 2014-04-23 记忆科技(深圳)有限公司 基于闪存的纠错方法与系统
CN105468534A (zh) * 2014-09-30 2016-04-06 Emc公司 使用读取阈值表提高闪存利用率的方法和系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080141076A1 (en) * 2005-04-08 2008-06-12 Luhui Hu System and Method of Reporting Error Codes in an Electronically Controlled Device
CN101887351A (zh) * 2010-06-22 2010-11-17 杭州华三通信技术有限公司 一种磁盘阵列容错方法及其系统
JP2012146129A (ja) * 2011-01-12 2012-08-02 Mega Chips Corp メモリアクセス制御装置
CN102820057A (zh) * 2011-06-08 2012-12-12 三星电子株式会社 非易失性存储装置及编程非易失性存储装置的方法
CN103218274A (zh) * 2013-03-15 2013-07-24 华为技术有限公司 一种预防故障累加的方法和固态硬盘
CN103455386A (zh) * 2013-08-28 2013-12-18 华为技术有限公司 一种修复出错数据的方法和设备
CN103745753A (zh) * 2013-12-17 2014-04-23 记忆科技(深圳)有限公司 基于闪存的纠错方法与系统
CN105468534A (zh) * 2014-09-30 2016-04-06 Emc公司 使用读取阈值表提高闪存利用率的方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BORJA PELEATO 等: "Adaptive Read Thresholds for NAND Flash", 《IEEE TRANSACTIONS ON COMMUNICATIONS》 *
宁飞: "大容量存储中NAND Flash坏块的管理方法", 《电子测试》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109460371A (zh) * 2018-11-06 2019-03-12 湖南国科微电子股份有限公司 一种固态硬盘数据块错误处理方法
CN111158589A (zh) * 2019-12-16 2020-05-15 绿晶半导体科技(北京)有限公司 存储阵列的动态管理方法和装置
CN111158589B (zh) * 2019-12-16 2023-10-20 绿晶半导体科技(北京)有限公司 存储阵列的动态管理方法和装置

Also Published As

Publication number Publication date
CN108614664B (zh) 2021-04-16

Similar Documents

Publication Publication Date Title
US8041883B2 (en) Restoring storage devices based on flash memories and related circuit, system, and method
US20190227926A1 (en) Method for managing flash memory module and associated flash memory controller and electronic device
TWI470431B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
US10475516B2 (en) Data storage device and data erasing method wherein after erasing process, predetermined value is written to indicate completion of said erasing method
US8902671B2 (en) Memory storage device, memory controller thereof, and method for programming data thereof
US20150161039A1 (en) Data erasing method, memory control circuit unit and memory storage apparatus
US9552287B2 (en) Data management method, memory controller and embedded memory storage apparatus using the same
US20120278535A1 (en) Data writing method, memory controller, and memory storage apparatus
TWI486765B (zh) 記憶體管理方法、記憶體控制器與記憶體儲存裝置
CN108614664A (zh) 基于NANDflash的读错误处理方法和装置
CN103106148B (zh) 区块管理方法、存储器控制器与存储器存储装置
US20140089566A1 (en) Data storing method, and memory controller and memory storage apparatus using the same
TWI749279B (zh) 資料儲存裝置與資料處理方法
CN107481764B (zh) 一种3D Nand Flash扫描检测方法和系统
US20090119424A1 (en) Method for storing data
TWI792534B (zh) 以局部清理操作來進行垃圾回收的方法與相關控制器和儲存系統
US20200393964A1 (en) Data storage devices and data processing methods
CN106021124A (zh) 一种数据的存储方法及存储系统
US9665480B2 (en) Memory management method, memory storage device and memory control circuit unit
CN113760781A (zh) 数据处理方法、装置、电子设备及存储介质
CN112988037A (zh) 静态磨损均衡方法、终端和计算机可读存储介质
US11327770B2 (en) Data storage devices, access device and data processing methods
CN113608681B (zh) 一种数据存储方法、系统、设备以及介质
CN110489053A (zh) 管理闪存模块的方法、相关的闪存控制器和电子装置
CN108052410B (zh) 一种防止SPI-Nand读取数据页出错的方法及装置

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
TA01 Transfer of patent application right

Effective date of registration: 20200825

Address after: 100083 Beijing City, Haidian District Xueyuan Road No. 30, large industrial building A block 12 layer

Applicant after: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc.

Address before: 202, room 52, building 2, 100176 North View Garden, Daxing District economic and Technological Development Zone, Beijing

Applicant before: BEIJING JINGCUN TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: Room 101, Floor 1-5, Building 8, Yard 9, Fenghao East Road, Haidian District, Beijing 100094

Patentee after: Zhaoyi Innovation Technology Group Co.,Ltd.

Address before: 100083 12 Floors, Block A, Tiangong Building, Science and Technology University, 30 College Road, Haidian District, Beijing

Patentee before: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc.

CP03 Change of name, title or address