CN108614664B - 基于NAND flash的读错误处理方法和装置 - Google Patents

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

Info

Publication number
CN108614664B
CN108614664B CN201611129100.XA CN201611129100A CN108614664B CN 108614664 B CN108614664 B CN 108614664B CN 201611129100 A CN201611129100 A CN 201611129100A CN 108614664 B CN108614664 B CN 108614664B
Authority
CN
China
Prior art keywords
nand flash
data block
target data
error
read error
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
CN201611129100.XA
Other languages
English (en)
Other versions
CN108614664A (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 Zhaoyi Innovation 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 Zhaoyi Innovation Technology Co Ltd filed Critical Beijing Zhaoyi Innovation 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

Images

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单元包括至少一个数据块,每个数据块包括至少一个数据页,其特征在于,所述方法包括:
当目标数据块发生读错误时,记录发生读错误的数据页在目标数据块的位置;
累加目标数据块的读错误页数,判断所述读错误页数是否超过预设阈值;
当判断出所述读错误页数超过所述预设阈值时,将目标数据块标记为坏块;
其中,当所述读错误页数未超过所述预设阈值时,继续对所述NAND flash存储设备的目标数据进行读取,累加所述读错误页数。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:当对目标数据块的数据页的写操作发生时,在所述位置对应的数据页中写入无效数据。
3.一种基于NAND flash的读错误处理装置,应用于NAND flash存储设备,所述NANDflash存储设备包括至少一个NAND flash单元,每个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 CN108614664A (zh) 2018-10-02
CN108614664B true 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)

Families Citing this family (2)

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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012146129A (ja) * 2011-01-12 2012-08-02 Mega Chips Corp メモリアクセス制御装置
CN102820057A (zh) * 2011-06-08 2012-12-12 三星电子株式会社 非易失性存储装置及编程非易失性存储装置的方法
CN105468534A (zh) * 2014-09-30 2016-04-06 Emc公司 使用读取阈值表提高闪存利用率的方法和***

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006110140A1 (en) * 2005-04-08 2006-10-19 Hewlett-Packard Development Company, L.P. System and method of reporting error codes in an electronically controlled device
CN101887351B (zh) * 2010-06-22 2012-07-11 杭州华三通信技术有限公司 一种磁盘阵列容错方法及其***
CN103218274B (zh) * 2013-03-15 2016-12-28 华为技术有限公司 一种预防故障累加的方法和固态硬盘
CN103455386B (zh) * 2013-08-28 2016-11-23 华为技术有限公司 一种修复出错数据的方法和设备
CN103745753A (zh) * 2013-12-17 2014-04-23 记忆科技(深圳)有限公司 基于闪存的纠错方法与***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012146129A (ja) * 2011-01-12 2012-08-02 Mega Chips Corp メモリアクセス制御装置
CN102820057A (zh) * 2011-06-08 2012-12-12 三星电子株式会社 非易失性存储装置及编程非易失性存储装置的方法
CN105468534A (zh) * 2014-09-30 2016-04-06 Emc公司 使用读取阈值表提高闪存利用率的方法和***

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Adaptive Read Thresholds for NAND Flash;Borja Peleato 等;《IEEE Transactions on Communications》;20150930;第3069-3081页 *
大容量存储中NAND Flash坏块的管理方法;宁飞;《电子测试》;20110308;第64-68页 *

Also Published As

Publication number Publication date
CN108614664A (zh) 2018-10-02

Similar Documents

Publication Publication Date Title
US8046645B2 (en) Bad block identifying method for flash memory, storage system, and controller thereof
US8332576B2 (en) Data reading method for flash memory and controller and storage system using the same
US10474573B2 (en) Method for managing flash memory module and associated flash memory controller and electronic device
US8448046B2 (en) Memory access method capable of reducing usage rate of problematic memory blocks
US8055834B2 (en) Method for preventing read-disturb happened in non-volatile memory and controller thereof
KR101566849B1 (ko) 메모리 장치 관리 방법, 그 관련 메모리 장치 및 그 관련 제어기
US20110029808A1 (en) System and method of wear-leveling in flash storage
CN111475425B (zh) 管理闪存模块的方法及相关的闪存控制器与电子装置
US10866751B2 (en) Method for managing flash memory module and associated flash memory controller
US10593421B2 (en) Method and apparatus for logically removing defective pages in non-volatile memory storage device
US11157399B2 (en) Data storage devices and data processing methods with dynamic programming scheme
US20170285954A1 (en) Data storage device and data maintenance method thereof
CN111007983A (zh) 在读取回收操作中使用缓冲存储器的存储设备
US9552287B2 (en) Data management method, memory controller and embedded memory storage apparatus using the same
US10156996B2 (en) Memory device and read processing method using read counts, first, second, and third addresses
US9384125B2 (en) Method for accessing flash memory having pages used for data backup and associated memory device
US9037781B2 (en) Method for managing buffer memory, memory controllor, and memory storage device
JP2013117840A (ja) メモリアクセス制御装置および方法
CN105489242B (zh) 数据储存器件及其操作方法
CN108614664B (zh) 基于NAND flash的读错误处理方法和装置
US20130138910A1 (en) Information Processing Apparatus and Write Control Method
US10007601B2 (en) Data storage device and operating method for flash memory
CN111488118B (zh) 管理闪存模块的方法及相关的闪存控制器与电子装置
US20110087828A1 (en) Method for enhancing performance of accessing a flash memory, and associated memory device and controller thereof
US11307786B2 (en) Data storage devices and data processing methods

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