CN104714896B - 数据储存装置及其数据维护方法 - Google Patents

数据储存装置及其数据维护方法 Download PDF

Info

Publication number
CN104714896B
CN104714896B CN201410074351.7A CN201410074351A CN104714896B CN 104714896 B CN104714896 B CN 104714896B CN 201410074351 A CN201410074351 A CN 201410074351A CN 104714896 B CN104714896 B CN 104714896B
Authority
CN
China
Prior art keywords
mentioned
block
group
reading
error bit
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
CN201410074351.7A
Other languages
English (en)
Other versions
CN104714896A (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.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
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 Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN104714896A publication Critical patent/CN104714896A/zh
Application granted granted Critical
Publication of CN104714896B publication Critical patent/CN104714896B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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/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/0653Monitoring storage devices or 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/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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • G11C29/4401Indication or identification of errors, e.g. for repair for self repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本发明提供一种数据储存装置及其数据维护方法,该数据储存装置包括一快闪存储器以及一控制器。控制器用以在对快闪存储器中的一第一区块群组中的至少一第一区块的一第一页面执行一第一读取程序以及一维护程序。在维护程序中,控制器判断第一区块群组的一第一群组读取次数是否超过一读取临界值。当第一群组读取次数超过读取临界值时,控制器依序扫描第一区块群组中的每一区块,以获得分别相应于第一区块群组中的区块的多个第一错误比特数,当第一错误比特数中的至少一第二错误比特数超过一错误临界值时,控制器更用以更新相应于第二错误比特数的至少一区块。

Description

数据储存装置及其数据维护方法
技术领域
本发明是关于一种存储器装置的数据维护方法;特别是关于一种预防数据错误的数据维护方法。
背景技术
快闪存储器为一种普遍的非挥发性数据储存装置,是以电性方式抹除与程序化。以与非门型的快闪存储器(即NAND FLASH)为例,常用作存储卡(memory card)、通用序列总线闪存装置(USB flash device)、固态硬盘(SSD)、嵌入式快闪存储器模块(eMMC)…等使用。
快闪存储器(如,NAND FLASH)的储存阵列包括多个区块(blocks)。各区块包括多个页(pages)。由于快闪存储器的存取过程中可能会发生数据内容的错误,所以目前在存入数据时是将原始的数据进行编码后,再储存编码后的数据至快闪存储器中,而数据读取时则将编码的数据读出,再解码所读出的编码数据来得到原先的数据。编/解码操作虽然能够进行除错,然而仅只能更正部分的比特错误。而当发生超过一定程度以上的错误时,快闪存储器控制器在执行完解码操作后将发现无法对编码数据进行有效解码。
发明内容
本发明提供一种数据储存装置。数据储存装置包括一快闪存储器以及一控制器。快闪存储器具有多个区块群组,每一区块群组具有多个区块,以及每一区块具有多个页面。控制器用以在对区块群组中的一第一区块群组中的至少一第一区块的至少一第一页面执行一第一读取程序,并在第一读取程序结束后进行一维护程序,其中在维护程序中,控制器判断第一区块群组的一第一群组读取次数是否超过一读取临界值,当第一群组读取次数超过读取临界值时,控制器依序扫描第一区块群组中的每一区块,以获得分别相应于第一区块群组中的每一区块的多个第一错误比特数,当第一错误比特数中的至少一第二错误比特数超过一错误临界值时,控制器更用以更新相应于至少一第二错误比特数的至少一区块。其中,控制器是根据一第一读取命令对至少一第一页面进行读取程序,并将第一区块群组的群组读取次数增加一第一既定值,其中第一既定值为至少一第一页面的数量,并且第一群组读取次数相应于第一区块群组中的所有页面被读取的次数。
在一实施例中,控制器更用以在更新相应于第二错误比特数的至少一区块后,将第一区块群组的第一群组读取次数减去一第二既定值,并且当所有第一错误比特数皆未超过错误临界值时,将第一区块群组的第一群组读取次数减去第二既定值,其中第二既定值为第一群组读取次数。在另一实施例中,当第一群组读取次数超过读取临界值时,将第一群组读取次数归零。
另外,控制器更用以根据第一读取命令将一总读取次数增加第一既定值,其中总读取次数相应于所有页面被读取的次数。在维护程序中,控制器更用以判断总读取次数是否超过一总读取临界值,当总读取次数超过总读取临界值时,控制器依序扫描每一区块群组中的每一区块,以获得分别相应于每一区块群组中的每一区块的多个第三错误比特数,当第三错误比特数中的至少一第四错误比特数超过错误临界值时,控制器更用以更新相应于至少一第四错误比特数的至少一区块。在一实施例中,控制器更用以在更新相应于第四错误比特数的至少一区块后,将总读取次数减去一第四既定值,并且当所有第三错误比特数皆未超过错误临界值时,将总读取次数减去第四既定值,其中第四既定值为总读取次数。在另一实施例中,控制器更用以当总读取次数超过总读取临界值时,将总读取次数归零。
又另一实施例中,数据储存装置更包括一计时装置,用以记录数据储存装置的一使用时间,其中使用时间系数据储存装置上电的时间。在维护程序中,控制器更用以判断使用时间是否超过一时间临界值,当使用时间超过时间临界值时,控制器依序扫描每一区块群组中的每一区块,以获得分别相应于每一区块群组中的每一区块的多个第五错误比特数,当第五错误比特数中的至少一第六错误比特数超过错误临界值时,控制器更用以更新相应于至少一第六错误比特数的至少一区块。在一实施例中,控制器更用以在更新相应于第六错误比特数的至少一区块后,将使用时间减去一第五既定值,并且当所有第五错误比特数皆未超过错误临界值时,将使用时间减去第五既定值,其中第五既定值为使用时间。在另一实施例中,制器更用以当使用时间超过使用时间临界值时,将使用时间归零。
另一实施例中,当控制器在维护程序中接收到一动作命令时,控制器更用以记录目前维护程序的数据于一随机存取存储器中,并中断维护程序,以根据动作命令执行一动作程序,其中控制器更用以在动作程序执行完毕时,根据随机存取存储器中维护程序的数据,继续进行维护程序。当动作命令为一第二读取命令时,控制器中断维护程序,以根据第二读取命令,对第一区块群组中的至少一第二页面进行一第二读取程序,并将第一区块群组的第一群组读取次数增加一第三既定值,其中第三既定值为至少一第二页面的数量。
本发明亦提供一种数据维护方法适用于具有一快闪存储器的一数据储存装置,其中快闪存储器具有多个区块群组,每一区块群组具有多个区块,以及每一区块具有多个页面。数据维护方法包括:接收一第一读取命令;根据第一读取命令,对区块群组中的一第一区块群组中的至少一第一区块的至少一第一页面执行一第一读取程序;根据第一读取命令,将第一区块群组的群组读取次数增加一第一既定值;以及在第一读取程序结束后进行一维护程序,其中在维护程序包括:撷取第一区块群组的一第一群组读取次数;当第一群组读取次数超过一读取临界值时,依序扫描第一区块群组中的每一区块,以获得分别相应于第一区块群组中的每一区块的多个第一错误比特数;以及当第一错误比特数中的至少一第二错误比特数超过一错误临界值时,更新相应于至少一第二错误比特数的至少一区块,其中第一既定值为至少一第一页面的数量,并且第一群组读取次数相应于第一区块群组中的所有页面被读取的次数。在一实施例中,维护程序更包括:在更新相应于第二错误比特数的至少一区块后,将第一区块群组的第一群组读取次数减去一第二既定值;以及当所有第一错误比特数皆未超过错误临界值时,将第一区块群组的第一群组读取次数减去第二既定值,其中第二既定值为第一群组读取次数。在另一实施例中,维护程序更包括当第一群组读取次数超过读取临界值时,将第一群组读取次数归零。
又另一实施例中,数据维护方法,更包括根据读取命令,将一总读取次数增加第一既定值,其中总读取次数相应于所有页面被读取的次数;撷取总读取次数;当总读取次数超过总读取临界值时,依序扫描每一区块群组中的每一区块,以获得分别相应于每一区块群组中的每一区块的多个第三错误比特数;以及当第三错误比特数中的至少一第四错误比特数超过错误临界值时,更新相应于至少一第四错误比特数的至少一区块。在一实施例中,维护程序更包括:在更新相应于第四错误比特数的至少一区块后,将总读取次数减去一第四既定值;以及当所有第三错误比特数皆未超过错误临界值时,将总读取次数减去第四既定值,其中第四既定值为总读取次数。在另一实施例中,维护程序更包括当总读取次数超过总读取临界值时,将总读取次数归零。
又另一实施例中,数据维护方法,更包括记录数据储存装置的一使用时间,其中使用时间系数据储存装置上电的时间,并且维护程序更包括:撷取使用时间;当使用时间超过时间临界值时,依序扫描每一区块群组中的每一区块,以获得分别相应于每一区块群组中的每一区块的多个第五错误比特数;以及当第五错误比特数中的至少一第六错误比特数超过错误临界值时,更新相应于至少一第六错误比特数的至少一区块。在一实施例中,维护程序更包括:在更新相应于第六错误比特数的至少一区块后,将使用时间减去一第五既定值;以及当所有第五错误比特数皆未超过错误临界值时,将使用时间减去第五既定值,其中第五既定值为使用时间。在另一实施例中,维护程序更包括当使用时间超过使用时间临界值时,将使用时间归零。
另外,数据维护方法更包括:在维护程序中接收到一动作命令时,记录目前维护程序的数据于一随机存取存储器中;中断维护程序,以根据动作命令执行一动作程序;以及在动作程序执行完毕后,根据随机存取存储器中维护程序的数据,继续进行维护程序。当动作命令为一第二读取命令时,动作程序更包括:根据读取命令,对第一区块群组中的至少一第二页面进行一第二读取程序;以及将第一区块群组的第一群组读取次数增加一第三既定值,其中第三既定值为至少一第二页面的数量。
附图说明
图1是本发明的一种实施例的电子系统的方块图。
图2是本发明的一种实施例的快闪存储器的示意图。
图3是本发明的一种实施例的参数表的示意图。
图4是本发明的一种实施例的数据维护方法的流程图。
图5-7是本发明的另一种实施例的数据维护方法的流程图。
【附图标记说明】
100 电子系统;
120 主机;
140 数据储存装置;
160 控制器;
162 运算单元;
164 永久存储器;
165 随机存取存储器;
166 计时装置;
180 快闪存储器;
GB1~GBZ 区块群组;
RC1~RCZ 群组读取次数;
TB 索引;
TRC 总读取次数;
LT 索引;
LTR 使用时间;
B1~BX 区块;
P1~PY 页面;
S400~S424、S500~S524、S600~S624、S700~S724 步骤。
具体实施方式
以下将详细讨论本发明各种实施例的装置及使用方法。然而值得注意的是,本发明所提供的许多可行的发明概念可实施在各种特定范围中。这些特定实施例仅用于举例说明本发明的装置及使用方法,但非用于限定本发明的范围。
图1是本发明的一种实施例的电子系统的方块图。电子系统100包括一主机120以及一数据储存装置140。数据储存装置140包括一快闪存储器180以及一控制器160,且可根据主机110所下达的命令操作。控制器160包括一运算单元162、一永久存储器(如,只读存储器ROM)164、一随机存取存储器165以及一计时装置166。永久存储器164与所载的程序码、数据组成固件(firmware),由运算单元162执行,使控制器160基于该固件控制该快闪存储器180。举例而言,控制器160可根据读取命令执行一读取程序,以及在读取程序结束时执行一维护程序。值得注意的是,在本发明的一实施例中,维护程序是在背景执行的,但本发明不限于此。举例而言,控制器160在闲置时,才会执行维护程序,并在收到来自主机120的动作命令时,中断所执行的维护程序。快闪存储器180具有多个区块群组,每一区块群组具有多个区块,以及每一区块具有多个页面。计时装置166用以记录数据储存装置180的一使用时间,其中使用时间系数据储存装置140上电的时间。另外,快闪存储器180更用以储存至少一参数表用以分别记录每一区块群组的群组读取次数、一总读取次数以及一使用时间。
图2是本发明的一种实施例的快闪存储器180的示意图。快闪存储器180可包括Z*X个区块(Block),并且每一区块具有Y个页面P1~PY。在本发明的一实施例中,快闪存储器180中的Z*X个区块可被分为Z个区块群组GB1~GBZ。换言之,每一区块群组GB1~GBZ分别具有X个区块B1~BX。在本发明的一实施例中,快闪存储器180可被分为64个区块群组,但本发明不限于此。值得注意的是,X、Y以及Z可为大于2的任意正整数,本发明不限于此。
图3是本发明的一种实施例的参数表的示意图。在本实施例中,参数表300用以记录每一区块群组GB1~GBZ的群组读取次数RC1~RCZ,索引为TB的一总读取次数TRC,以及索引为LT的使用时间(Life Time)LTR,其中群组读取次数RC1~RCZ的索引在本实施例中直接记为GB1~GBZ,但本发明不限于此。在其他实施例中,群组读取次数RC1~RCZ、总读取次数TRC以及使用时间LTR可为其他的模拟或者数字码。值得注意的是,群组读取次数RC1~RCZ分别为所相应的区块群组GB1~GBZ中的页面被读取的次数的总和。举例而言,区块群组GB1的群组读取次数RC1是用以表示区块群组GB1中的所有页面P1~PY被读取的次数的总和。区块群组GB2的群组读取次数RC2是用以表示区块群组GB2中的所有页面P1~PY被读取的次数的总和。区块群组GBZ的群组读取次数RCZ是用以表示区块群组GBZ中的所有页面P1~PY被读取的次数的总和,依此类推,在此不再赘述。总读取次数TRC是用以表示数据储存装置140中的所有页面被读取的次数的总和。另外,使用时间LTR用以表示快闪存储器180已上电的时间,但本发明不限于此。群组读取次数RC1~RCZ、总读取次数TRC以及使用时间LTR,亦可储存于不同的参数表300中,或者储存于其他存储器装置中。另外,当控制器160执行维护程序时,可将储存于快闪存储器180中的参数表200,载入随机存取存储器165中,并且每隔一既定时间将参数表300回存至快闪存储器180,但本发明不限于此。控制器160亦可当参数表300的数值改变时,将参数表300回存至快闪存储器180中。值得注意的是,在维护程序中,群组读取次数RC1~RCZ以及总读取次数TRC不会增加。换言之,在维护程序中对页面所进行的读取动作,不影响群组读取次数RC1~RCZ以及总读取次数TRC,但本发明不限于此。
在本发明的一实施例中,控制器160是根据一第一读取命令,对至少一第一页面进行第一读取程序,并且将第一页面所相应的至少一第一区块群组的群组读取次数分别增加一第一既定值,其中第一既定值分别为该第一区块群组在第一读取程序中被读取的第一页面的数量。值得注意的是,第一读取命令可对一个以上的区块中的页面进行读取,亦可对一个以上的区块群组中的页面进行读取,本发明不限于此。接着,在第一读取程序结束后,控制器160执行一维护程序。在维护程序中,控制器160分别判断第一区块群组的群组读取次数是否超过一读取临界值,例如:500次,但本发明不限于此。换言之,控制器160分别判断在第一区块群组中的所有页面被读取的次数是否超过一既定次数。当群组读取次数超过读取临界值时,控制器160依序扫描超过读取临界值的第一区块群组中的区块B1~BX,以获得分别相应于区块B1~BX的错误比特数。详细而言,控制器160依序读取超过读取临界值的第一区块群组中的每一区块B1~BX,并在读取区块B1~BX的过程中,获得分别相应于所读取的区块B1~BX的错误验证(Error Correction;ECC)的错误比特数。接着,控制器160更用以更新(Read Refresh或者Read Retirement)相应于超过错误临界值的错误比特数的区块。值得注意的是,错误临界值是小于错误验证(ECC)所能允许的错误比特的最大值。举例而言,当错误验证只能修正小于43bit的错误比特时,错误临界值则可为35bit或者38bit,但本发明不限于此。熟知本领域的技术人员,可借由本发明的教示,根据所使用的错误验证(ECC),将错误临界值设计为小于并且接近的错误验证(ECC)所能允许的错误比特的最大值。因此,控制器160可借由维护程序在错误验证(ECC)无法修护区块中的数据之前,将数据更新至其他区块。值得注意的是,在维护程序中,控制器160更用以将第一区块群组中超过读取临界值的群组读取次数减去一第二既定值或者归零。举例而言,在一实施例中,当第一群组区块中的任一区块的错误比特数超过错误临界值时,控制器160是用以在更新完相应于超过错误临界值的错误比特数的区块后,将第一区块群组的群组读取次数减去一第二既定值。当第一区块群组中的所有错误比特数皆未超过错误临界值时,控制器160是在判断第一区块群组中的所有错误比特数皆未超过错误临界值的步骤后,将该第一区块群组的群组读取次数减去第二既定值,其中第二既定值为该第一区块群组的群组读取次数,但本发明不限于此。在另一实施例中,控制器160是用以在判断第一区块群组的群组读取次数超过读取临界值的步骤后,直接将超过读取临界值的第一区块群组的群组读取次数归零。
举例而言,控制器160根据一第一读取命令,对区块群组GB1~GBZ中的一区块群组GB1中的一区块B1的至少一页面P1~P4执行一第一读取程序。控制器160将区块群组GB1的群组读取次数RC1增加4。接着,在第一读取程序结束后(即第一页面P1~P4读取完毕时),控制器160执行一维护程序。在维护程序中,控制器160判断区块群组GB1的群组读取次数RC1是否超过一读取临界值。换言之,控制器160判断区块群组GB1中的页面被读取的次数是否超过一既定次数。当群组读取次数RC1超过读取临界值时,控制器160依序扫描区块群组GB1中的区块B1~BX,以获得分别相应于区块群组GB1中的所有区块B1~BX的错误比特数。当区块B1~BX的错误比特数中的至少一错误比特数超过错误临界值时,控制器160更新(ReadRefresh或者Read Retirement)相应于超过错误临界值的错误比特数的至少一区块。举例而言,当区块B1~B4的错误比特数超过一错误临界值时,控制器160更新区块B1~B4。值得注意的是,在维护程序中,控制器160更用以将区块群组GB1的群组读取次数RC1减去一第二既定值或者归零。在一实施例中,当区块群组GB1中区块B1~B4的错误比特数超过错误临界值时,控制器160是用以在更新完区块B1~B4后,将区块群组GB1的群组读取次数RC1减去一第二既定值。当区块群组GB1中的区块B1~BX的错误比特数皆未超过错误临界值时,控制器160是用以在判断区块群组GB1中的区块B1~BX的错误比特数皆未超过错误临界值的步骤后,将区块群组GB1的群组读取次数RC1减去第二既定值,其中第二既定值为区块群组GB1的群组读取次数RC1,但本发明不限于此。值得注意的是,在另一实施例中,控制器160是用以在判断区块群组GB1的群组读取次数RC1超过读取临界值的步骤后,直接将区块群组GB1的群组读取次数RC1归零。
又举例而言,控制器160根据一第一读取命令,对区块群组GB1中的一区块BX的页面P1~PY以及区块群组GB2中的一区块B1的页面P1~PY以及区块B2的页面P1~P6执行一第一读取程序。控制器160将区块群组GB1的群组读取次数RC1增加Y,并且将区块群组GB2的群组读取次数RC2增加(Y+6)。接着,在第一读取程序结束后,控制器160执行一维护程序。在维护程序中,控制器160判断区块群组GB1的群组读取次数RC1以及区块群组GB2的群组读取次数RC2是否超过一读取临界值。换言之,控制器160判断区块群组GB1中的页面被读取的次数是否超过一既定次数,以及区块群组GB2中的页面被读取的次数是否超过一既定次数。举例而言,当区块群组GB1的群组读取次数RC1未超过读取临界值并且区块群组GB2的群组读取次数RC2超过读取临界值时,控制器160仅需依序对区块群组GB2中的区块B1~BX进行扫描,并获得分别相应于区块群组GB2中的所有区块B1~BX的错误比特数。当区块群组GB1的群组读取次数RC1以及区块群组GB2的群组读取次数RC2皆超过读取临界值时,控制器160则依序对区块群组GB1以及区块群组GB2中的区块B1~BX进行扫描,以获得分别相应于区块群组GB1以及区块群组GB2中的所有区块B1~BX的错误比特数。当区块B1~BX的错误比特数中的至少一错误比特数超过一错误临界值时,控制器160更用以更新(Read Refresh或者ReadRetirement)相应于超过错误临界值的错误比特数的至少一区块。值得注意的是,在维护程序中,控制器160更用以将超过读取临界值的群组读取次数RC1及/或群组读取次数RC2减去一第二既定值或者归零。举例而言,当区块群组GB1的群组读取次数RC1未超过读取临界值并且区块群组GB2的群组读取次数RC2超过读取临界值时,区块群组GB1的群组读取次数RC1不变,控制器160将超过读取临界值的群组读取次数RC2减去一第二既定值或者归零。在一实施例中,当区块群组GB2中区块B1~B4的错误比特数超过错误临界值时,控制器160是用以在更新区块B1~B4后,将区块群组GB2的群组读取次数RC2减去一第二既定值。当区块群组GB2中的区块B1~BX的错误比特数皆未超过错误临界值时,控制器160是用以在判断区块群组GB2中的区块B1~BX的错误比特数皆未超过错误临界值的步骤后,将区块群组GB2的群组读取次数RC2减去第二既定值,其中第二既定值为群组读取次数RC2,但本发明不限于此。值得注意的是,在另一实施例中,控制器160是用以在判断区块群组GB2的群组读取次数RC2超过读取临界值的步骤后,将区块群组GB2的群组读取次数RC2归零。
在另一实施例中,控制器160是根据一第一读取命令,对至少一第一页面进行一第一读取程序,并且将总读取次数TRC增加第一既定值,其中第一既定值为第一读取程序中所读取的第一页面的数量。值得注意的是,第一读取命令可对一个以上的区块中的页面进行读取,亦可对一个以上的区块群组中的页面进行读取,本发明不限于此。接着,在第一读取程序结束后,控制器160执行一维护程序。在维护程序中,控制器160判断总读取次数TRC是否超过一总读取临界值,例如:2000次,但本发明不限于此。换言之,控制器160判断在快闪存储器180中的所有页面被读取的次数是否超过一既定次数。当总读取次数TRC超过总读取临界值时,控制器160依序扫描在快闪存储器180中所有区块群组GB1~GBZ的所有区块B1~BX,以获得分别相应于所有区块群组GB1~GBZ的所有区块B1~BX的错误比特数。详细而言,控制器160依序读取所有区块群组GB1~GBZ的所有区块B1~BX,并在读取所有区块群组GB1~GBZ的所有区块B1~BX的过程中,获得分别相应于所有区块群组GB1~GBZ的所有区块B1~BX的错误验证(Error Correction;ECC)的错误比特数。所有区块群组GB1~GBZ的所有区块B1~BX的错误比特数中的至少一错误比特数超过一错误临界值时,控制器160更用以更新(Read Refresh或者Read Retirment)相应于超过错误临界值的错误比特数的至少一区块。值得注意的是,在维护程序中,控制器160更用以将总读取次数TRC减去一第二既定值或者归零。在一实施例中,当群组区块中的任一区块的错误比特数超过错误临界值时,控制器160是用以在更新相应于超过错误临界值的错误比特数的区块后,将总读取次数TRC减去一第二既定值。当所有区块群组GB1~GBZ的所有区块B1~BX的错误比特数皆未超过错误临界值时,控制器160是用以在判断所有区块群组GB1~GBZ的所有区块B1~BX的错误比特数皆未超过错误临界值的步骤后,将总读取次数TRC减去一第二既定值,其中第二既定值为总读取次数TRC,但本发明不限于此。值得注意的是,在另一实施例中,控制器160是用以在判断总读取次数TRC超过总读取临界值的步骤后,将总读取次数TRC归零。
在另一实施例中,控制器160是根据第一读取命令,对至少一第一页面进行一第一读取程序。接着,在第一读取程序结束后,控制器160执行一维护程序。在维护程序中,控制器160判断使用时间LTR是否超过一时间临界值,例如:7天,但本发明不限于此。换言之,控制器160判断数据储存装置140累积的上电时间是否超过时间临界值。当使用时间LTR超过时间临界值时,控制器160依序扫描在快闪存储器180中所有区块群组GB1~GBZ的所有区块B1~BX,以获得分别相应于所有区块群组GB1~GBZ的所有区块B1~BX的错误比特数。详细而言,控制器160依序读取所有区块群组GB1~GBZ的所有区块B1~BX。在读取所有区块群组GB1~GBZ的所有区块B1~BX的过程中,控制器160获得分别相应于所有区块群组GB1~GBZ的所有区块B1~BX的错误验证(Error Correction;ECC)的错误比特数。当区块群组GB1~GBZ中的任一区块B1~BX的错误比特数超过一错误临界值时,控制器160更用以更新(ReadRefresh或者Read Retirment)相应于超过错误临界值的错误比特数的区块。值得注意的是,在维护程序中,控制器160更用以将使用时间LTR减去一第二既定值或者归零。在一实施例中,当群组区块中的任一区块的错误比特数超过错误临界值时,控制器160是用以在更新完相应于超过错误临界值的错误比特数的区块后,将使用时间LTR减去一第二既定值。当所有区块群组GB1~GBZ的所有区块B1~BX的错误比特数皆未超过错误临界值时,控制器160是用以在判断所有区块群组GB1~GBZ的所有区块B1~BX的错误比特数皆未超过错误临界值的步骤后,将使用时间LTR减去一第二既定值,其中第二既定值为使用时间LTR,但本发明不限于此。值得注意的是,在另一实施例中,控制器160是用以在判断使用时间LTR超过时间临界值的步骤后,将使用时间LTR归零。
在一实施例中,当控制器160在维护程序中接收到一动作命令时,控制器160更用将目前维护程序的数据记录于随机存取存储器165中,并中断维护程序。接着,控制器160根据动作命令执行一动作程序。在动作程序执行完毕后,控制器160再根据随机存取存储器165中所记录的维护程序的数据,继续进行维护程序。举例而言,当动作命令为一第二读取命令时,控制器160中断维护程序,以根据第二读取命令,对至少一页面进行一第二读取程序,并将相应于所读取的页面的区块群组的群组读取次数及/或总读取次数TRC增加一第三既定值,其中第三既定值为在第二读取程序中所读取的页面的数量。
举例而言,在维护程序中,控制器160对群组读取次数RC1超过读取临界值的区块群组GB1进行扫描(读取)。在扫描至区块群组GB1中的区块B6的页面P2时,控制器160接收到来自主机120的一第二读取命令。在接收到第二读取命令后,控制器160将目前维护程序的数据储存于随机存取存储器165,其中目前维护程序的数据包括相应于区块群组GB1中的区块B6的页面P2的数据以及目前的群组读取次数RC1,但本发明不限于此。接着,控制器160根据第二读取命令执行第二读取程序。值得注意的是,当第二读取程序是对区块群组GB1中的区块B1的页面P1~P7进行读取时,控制器160将参数表200中的群组读取次数RC1增加7。在第二读取程序结束后,控制器160根据随机存取存储器165中的维护程序的数据,继续执行维护程序。值得注意的是,当区块群组GB1中的任一区块的错误比特数超过错误临界值时,控制器160用以在更新完相应于超过错误临界值的错误比特数的区块后,将参数表200中已增加的群组读取次数RC1减去所储存的维护程序的数据中的原群组读取次数RC1。换言之,在控制器160更新完区块后,群组读取次数RC1被减去维护程序之前的读取次数,并保留第二次读取程序所增加的读取次数。在其他实施例中,在控制器160更新完区块后,总读取次数TRC同样被减去维护程序之前的读取次数,并保留第二次读取程序所增加的读取次数,在此不再赘述。同样的,在控制器160更新完区块后,使用时间LTR也是被减去维护程序之前的时间,并保留第二次读取程序所增加的时间,在此不再赘述。
在另一实施例中,在维护程序中,控制器160是用以在判断群组读取次数RC1超过读取临界值的步骤后,将群组读取次数RC1归零。在扫描至区块群组GB1中的区块B6的页面P2时,控制器160接收到来自主机120的一第二读取命令。在接收到第二读取命令后,控制器160将目前维护程序的数据储存于随机存取存储器165,其中目前维护程序的数据包括相应于区块群组GB1中的区块B6的页面P2的数据,但本发明不限于此。接着,控制器160根据第二读取命令执行第二读取程序。值得注意的是,当第二读取程序是对区块群组GB1中的区块B1的页面P1~P7进行读取时,控制器160将参数表200中已归零的群组读取次数RC1增加7。在第二读取程序结束后,控制器160根据随机存取存储器165中的维护程序的数据,继续执行维护程序。换言之,在维护程序执行完后,群组读取次数RC1会被减去维护程序之前的读取次数,并保留第二次读取程序所增加的读取次数。在其他实施例中,在维护程序执行完后,总读取次数TRC同样被减去维护程序之前的读取次数,并保留第二次读取程序所增加的读取次数,在此不再赘述。同样的,在维护程序执行完后,使用时间LTR也是被减去维护程序之前的时间,并保留第二次读取程序所增加的时间,在此不再赘述。
图4是本发明的一种实施例的数据维护方法的流程图。数据维护方法适用于图1所示的数据储存装置140。流程开始于步骤S400。
在步骤S400中,控制器160自主机120接收一第一读取命令。
接着,在步骤S402中,控制器160是根据第一读取命令,对至少一第一页面进行一第一读取程序,并且将第一页面所相应的至少一第一区块群组的群组读取次数分别增加一第一既定值,其中第一既定值分别为该第一区块群组在第一读取程序中被读取的第一页面的数量。值得注意的是,第一读取命令可对一个以上的区块中的页面进行读取,亦可对一个以上的区块群组中的页面进行读取,本发明不限于此。举例而言,控制器160根据第一读取命令,对区块群组GB1~GBZ中的一区块群组GB1中的一区块B1的至少一页面P1~P4执行一第一读取程序,并将区块群组GB1的群组读取次数RC1增加4,并储存于参数表200中。在另一实施例中,控制器160根据一第一读取命令,对区块群组GB1中的一区块BX的页面P1~PY以及区块群组GB2中的一区块B1的页面P1~PY以及区块B2的页面P1~P6执行一第一读取程序。控制器160将区块群组GB1的群组读取次数RC1增加Y,并且将区块群组GB2的群组读取次数RC2增加(Y+6),并储存于参数表200中。
接着,第一读取程序结束后,控制器160开始执行一维护程序。首先,在步骤S406中,控制器160依序自参数表200中撷取第一区块群组的群组读取次数,并判断第一区块群组的群组读取次数是否超过一读取临界值。换言之,控制器160分别判断在第一区块群组中的所有页面被读取的次数是否超过一既定次数。当群组读取次数超过读取临界值时,流程进行至步骤S408;否则,流程进行至步骤S414。举例而言,当第一页面所属的第一区块群组为区块群组GB1时,控制器160自参数表200,撷取区块群组GB1的群组读取次数RC1,并判断区块群组GB1的群组读取次数RC1是否超过一读取临界值。换言之,控制器160判断区块群组GB1中的页面被读取的次数是否超过一既定次数。在另一实施例中,当第一页面所属的第一区块群组包括区块群组GB1~GB2时,控制器160先自参数表200中撷取判断区块群组GB1的群组读取次数RC1,并判断群组读取次数RC1是否超过一读取临界值。换言之,控制器160先判断区块群组GB1中的页面被读取的次数是否超过一既定次数。
在步骤S408中,控制器160扫描第一区块群组中的区块B1~BX,以获得分别相应于区块B1~BX的错误比特数。详细而言,控制器160依序读取超过读取临界值的第一区块群组中的每一区块B1~BX,并在读取区块B1~BX的过程中,获得分别相应于区块B1~BX的错误验证(Error Correction;ECC)的错误比特数。举例而言,当群组读取次数RC1超过读取临界值时,控制器160依序扫描区块群组GB1中的区块B1~BX,以获得分别相应于区块群组GB1中的所有区块B1~BX的错误比特数。
接着,在步骤S410中,控制器160用以判断在步骤S408中所获得的错误比特数是否超过错误临界值。当错误比特数超过错误临界值时,流程进行至步骤S412;否则,流程进行至步骤S414。值得注意的是,错误临界值小于错误验证所能允许的错误比特的最大值。举例而言,当错误验证只能修正小于43bit的错误比特时,错误临界值则可为35bit或者38bit,但本发明不限于此。熟知本领域的技术人员,可借由本发明的教示,根据所使用的错误验证(ECC),将错误临界值设计为小于并且接近的错误验证(ECC)所能允许的错误比特的最大值。
在步骤S412中,控制器160用以更新(Read Refresh或者Read Retirement)相应于超过错误临界值的错误比特数的区块。举例而言,举例而言,当区块群组GB1中的区块B1~B4的错误比特数超过一错误临界值时,控制器160更新区块B1~B4。
接着,在步骤S414中,控制器160判断是否有其它第一页面所属的区块群组。当还有其他第一页面所属的区块群组时,流程进行至步骤S406;否则,流程进行至步骤S424。举例而言,第一读取命令是对区块群组GB1以及区块群组GB2中的页面执行一第一读取程序,其中控制器160已对区块群组GB1进行维护程序。然而,控制器160尚未对区块群组GB2进行维护程序。因此,流程回到步骤S406,控制器160继续自参数表200中撷取区块群组GB2的群组读取次数RC2,并判断区块群组GB2的群组读取次数RC2是否超过读取临界值。
在步骤S424中,控制器160判断快闪存储器140是否闲置超过一既定时间。当快闪存储器140闲置超过一既定时间时,流程回到步骤S406;否则,控制器160继续判断快闪存储器140是否闲置超过一既定时间。值得注意的是,在维护程序(步骤S406~S424)中,控制器160更用以将第一区块群组中超过读取临界值的群组读取次数减去一第二既定值或者归零。举例而言,当第一群组区块中的任一区块的错误比特数超过错误临界值时,控制器160是用以在步骤S412更新完区块后,将更新的区块所属的第一区块群组的群组读取次数减去一第二既定值。当第一区块群组中的所有错误比特数皆未超过错误临界值时,控制器160是用以在步骤S410判断第一区块群组中的所有错误比特数皆未超过错误临界值后,将该第一区块群组的群组读取次数减去第二既定值,其中第二既定值为在步骤S402中所撷取的该第一区块群组的群组读取次数,但本发明不限于此。在另一实施例中,控制器160是用以在步骤S406判断第一区块群组的群组读取次数是否超过读取临界值后,直接将超过读取临界值的第一区块群组的群组读取次数归零。另外,在一实施例中,当控制器160在维护程序(步骤S406~S424)中接收到一动作命令时,控制器160更用以记录目前维护程序的数据于随机存取存储器165中,并中断维护程序。接着,控制器160根据动作命令执行一动作程序。在动作程序执行完毕后,控制器160再根据随机存取存储器165中维护程序的数据,继续进行维护程序。举例而言,当动作命令为一第二读取命令时,控制器160中断维护程序,以根据第二读取命令,对至少一页面进行一第二读取程序,并将相应于所读取的页面的区块群组的群组读取次数增加一第三既定值,其中第三既定值为在第二读取程序中所读取的页面的数量。
图5是本发明的另一种实施例的数据维护方法的流程图。数据维护方法适用于图1所示的数据储存装置140。流程开始于步骤S500。
在步骤S500中,控制器160自主机120接收一第一读取命令。
接着,在步骤S502中,控制器160是根据第一读取命令,对至少一第一页面进行第一读取程序,并且将总读取次数TRC增加一第一既定值,其中第一既定值为的第一页面的数量。值得注意的是,第一读取命令可对一个以上的区块中的页面进行读取,亦可对一个以上的区块群组中的页面进行读取,本发明不限于此。举例而言,控制器160根据第一读取命令,对区块群组GB1~GBZ中的一区块群组GB1中的一区块B1的至少一页面P1~P4执行一第一读取程序,并将总读取次数TRC增加4。在另一实施例中,控制器160根据一第一读取命令,对区块群组GB1中的一区块BX的页面P1~PY以及区块群组GB2中的一区块B1的页面P1~PY以及区块B2的页面P1~P6执行一第一读取程序。控制器160将总读取次数TRC增加(Y+Y+6),并储存于参数表200中。
接着,第一读取程序结束后,控制器160开始执行一维护程序。首先,在步骤S504中,控制器160自参数表200中撷取总读取次数TRC,并判断总读取次数TRC是否超过一总读取临界值。换言之,控制器160判断在快闪存储器180中的所有页面被读取的次数是否超过一既定次数。当总读取次数TRC超过总读取临界值时,流程进行至步骤S516;否则,流程进行至S524。
在步骤S516中,控制器160依序扫描在快闪存储器180中所有区块群组GB1~GBZ的所有区块B1~BX,以获得分别相应于所有区块群组GB1~GBZ的所有区块B1~BX的错误比特数。举例而言,控制器160先对区块群组GB1中的区块B1进行扫描。接着,进行至步骤S518~S520。在步骤S522中,控制器160判断仍有区块群组GB1中的区块B2~BX以及区块群组GB2~GBZ的区块B1~BX尚未执行维护程序。因此,流程回到步骤S516。控制器160继续对区块群组GB1中的区块B2进行扫描,依此类推,直到所有快闪存储器180中的所有区块皆执行过维护程序为止。
在步骤S518中,控制器160用以依序判断所有区块群组GB1~GBZ的所有区块B1~BX的错误验证(Error Correction;ECC)的错误比特数是否超过一错误临界值。当错误比特数超过错误临界值时,流程进行至步骤S520;否则,流程进行至步骤S522。
在步骤S520中,控制器160更用以更新(Read Refresh或者Read Retirment)相应于超过错误临界值的错误比特数的至少一区块。
接着,在步骤S522中,控制器160判断是否有区块群组GB1中的区块B2~BX以及区块群组GB2~GBZ的区块B1~BX尚未执行维护程序。当仍有区块未执行维护程序时,流程回到步骤S516,控制器160继续扫描在快闪存储器180中的区块,以获得区块的错误比特数,否则,流程进行至步骤S524。
在步骤S524中,控制器160判断快闪存储器140是否闲置超过一既定时间。当快闪存储器140闲置超过一既定时间时,流程回到步骤S504;否则,控制器160继续判断快闪存储器140是否闲置超过一既定时间。值得注意的是,在维护程序(步骤S504~S524)中,控制器160更用以将总读取次数TRC减去一第二既定值或者归零。举例而言,当群组区块中的任一区块的错误比特数超过错误临界值时,控制器160更用以在步骤S520,更新相应于超过错误临界值的错误比特数的区块后,将总读取次数TRC减去一第二既定值。当所有区块群组GB1~GBZ的所有区块B1~BX的错误比特数皆未超过错误临界值时,控制器160用以在步骤S518,判断完所有区块群组GB1~GBZ的所有区块B1~BX的错误比特数皆未超过错误临界值后,将总读取次数TRC减去一第二既定值,其中第二既定值为步骤S502中所撷取的总读取次数TRC,但本发明不限于此。值得注意的是,在另一实施例中,控制器160是用以在步骤S504,判断完总读取次数TRC超过总读取临界值后,将总读取次数TRC归零。另外,在一实施例中,当控制器160在维护程序(步骤S504~S524)中接收到一动作命令时,控制器160更用以记录目前维护程序的数据于随机存取存储器165中,并中断维护程序。接着,控制器160根据动作命令执行一动作程序。在动作程序执行完毕后,控制器160再根据随机存取存储器165中维护程序的数据,继续进行维护程序。举例而言,当动作命令为一第二读取命令时,控制器160中断维护程序,以根据第二读取命令,对至少一页面进行一第二读取程序,并将参数表200中的总读取次数TRC增加一第三既定值,其中第三既定值为在第二读取程序中所读取的页面的数量。
图6是本发明的另一种实施例的数据维护方法的流程图。数据维护方法适用于图1所示的数据储存装置140。值得注意的是,在本实施例中,数据储存装置140中的计时装置166用以在快闪存储器140上电时,累计快闪存储器140被上电的时间。流程开始于步骤S600。
在步骤S600中,控制器160自主机120接收一第一读取命令。
接着,在步骤S602中,控制器160是根据第一读取命令,对至少一第一页面进行第一读取程序。值得注意的是,第一读取命令可对一个以上的区块中的页面进行读取,亦可对一个以上的区块群组中的页面进行读取,本发明不限于此。
接着,第一读取程序结束后,控制器160开始执行一维护程序。首先,在步骤S604中,控制器160自参数表200或者计时器166中撷取使用时间LTR,并判断使用时间LTR是否超过一时间临界值。换言之,控制器160判断数据储存装置140累积的上电时间是否超过时间临界值。当使用时间LTR超过时间临界值时,流程进行至步骤S616;否则,流程进行至S624。值得注意的是,步骤S616~S624相似于步骤S516~S524。步骤S616~S624的细节请参考图5的说明,在此不再赘述。值得注意的是,在维护程序(步骤S604~S624)中,控制器160更用以将使用时间LTR减去一第二既定值或者归零。举例而言,当群组区块中的任一区块的错误比特数超过错误临界值时,控制器160更用以在步骤S620,更新相应于超过错误临界值的错误比特数的区块后,将使用时间LTR减去一第二既定值。当所有区块群组GB1~GBZ的所有区块B1~BX的错误比特数皆未超过错误临界值时,控制器160用以在步骤S618,判断完所有区块群组GB1~GBZ的所有区块B1~BX的错误比特数皆未超过错误临界值后,将目前参数表200中的使用时间LTR减去一第二既定值,其中第二既定值为在步骤S604中所撷取的使用时间LTR,但本发明不限于此。值得注意的是,在另一实施例中,控制器160是用以在步骤S604,判断完总读取次数TRC超过总读取临界值后,将使用时间LTR归零。另外,在一实施例中,当控制器160在维护程序(步骤S604~S624)中接收到一动作命令时,控制器160更用以记录目前维护程序的数据于随机存取存储器165中,并中断维护程序。接着,控制器160根据动作命令执行一动作程序。在动作程序执行完毕后,控制器160再根据随机存取存储器165中维护程序的数据,继续进行维护程序。举例而言,当动作命令为一第二读取命令时,控制器160中断维护程序,以根据第二读取命令,对至少一页面进行一第二读取程序。
图7是本发明的一种实施例的数据维护方法的流程图。数据维护方法适用于图1所示的数据储存装置140。流程开始于步骤S700。
在步骤S700中,控制器160自主机120接收一第一读取命令。
接着,在步骤S702中,控制器160是根据第一读取命令,对至少一第一页面进行第一读取程序。另外,控制器160更用以将第一页面所相应的至少一第一区块群组的群组读取次数分别增加一第一既定值,以及将总读取次数TRC增加另一第一既定值,其中第一既定值分别为该第一区块群组在第一读取程序中被读取的第一页面的数量,另一第一既定值为所有第一页面的数量。值得注意的是,第一读取命令可对一个以上的区块中的页面进行读取,亦可对一个以上的区块群组中的页面进行读取,本发明不限于此。举例而言,控制器160根据第一读取命令,对区块群组GB1~GBZ中的一区块群组GB1中的一区块B1的至少一页面P1~P4执行一第一读取程序,并将区块群组GB1的群组读取次数RC1以及将总读取次数TRC分别增加4,并储存于参数表200中。在另一实施例中,控制器160根据一第一读取命令,对区块群组GB1中的一区块BX的页面P1~PY以及区块群组GB2中的一区块B1的页面P1~PY以及区块B2的页面P1~P6执行一第一读取程序。控制器160是将区块群组GB1的群组读取次数RC1增加Y,将区块群组GB2的群组读取次数RC2增加(Y+6),将总读取次数TRC增加(Y+Y+6),并储存于参数表200中。
接着,第一读取程序结束后,控制器160开始执行一维护程序。首先,在步骤S504中,控制器160自参数表200中撷取总读取次数TRC以及使用时间LTR,并判断总读取次数TRC是否超过一总读取临界值以及使用时间LTR是否超过一时间临界值。换言之,控制器160判断在快闪存储器180中的所有页面被读取的次数是否超过一既定次数,以及判断数据储存装置140累积的上电时间是否超过时间临界值。当总读取次数TRC超过总读取临界值或者使用时间LTR是否超过时间临界值时,流程进行至步骤S716;否则,流程进行至S706。值得注意的是,步骤S716~S722相似于步骤S516~S522。步骤S716~S722的细节请参考图5的说明,在此不再赘述。步骤S706~S714相似于步骤S406~S414。步骤S706~S714的细节请参考图4的说明,在此不再赘述。
在步骤S724中,控制器160判断快闪存储器140是否闲置超过一既定时间。当快闪存储器140闲置超过一既定时间时,流程回到步骤S704;否则,控制器160继续判断快闪存储器140是否闲置超过一既定时间。值得注意的是,在维护程序(步骤S704~S724)中,控制器160更用以将第一区块群组中超过读取临界值的群组读取次数、总读取次数TRC以及使用时间LTR分别减去一第二既定值或者归零,详细操作请参考第4~6图,在此不再赘述。另外,在一实施例中,当控制器160在维护程序(步骤S704~S724)中接收到一动作命令时,控制器160更用以记录目前维护程序的数据于随机存取存储器165中,并中断维护程序。接着,控制器160根据动作命令执行一动作程序。在动作程序执行完毕后,控制器160再根据随机存取存储器165中维护程序的数据,继续进行维护程序。
由上述可知,数据储存装置140以及数据维护方法可背景(Background)式的扫描区块,并将损毁一定程度的区块进行更新。
本发明的方法,或特定型态或其部分,可以以程序码的型态存在。程序码可储存于实体媒体,如软盘、光碟片、硬盘、或是任何其他机器可读取(如电脑可读取)储存媒体,亦或不限于外在形式的电脑程序产品,其中,当程序码被机器,如电脑载入且执行时,此机器变成用以参与本发明的装置。程序码也可通过一些传送媒体,如电线或电缆、光纤、或是任何传输型态进行传送,其中,当程序码被机器,如电脑接收、载入且执行时,此机器变成用以参与本发明的装置。当在一般用途处理单元实作时,程序码结合处理单元提供一操作类似于应用特定逻辑电路的独特装置。
惟以上所述者,仅为本发明的较佳实施例而已,当不能以此限定本发明实施的范围,即大凡依本发明权利要求书及发明说明内容所作的简单的等效变化与修饰,皆仍属本发明专利涵盖的范围内。另外本发明的任一实施例或权利要求不须达成本发明所揭露的全部目的或优点或特点。此外,摘要部分和标题仅是用来辅助专利文件搜寻之用,并非用来限制本发明的权利范围。

Claims (27)

1.一种数据储存装置,包括:
一快闪存储器,具有多个区块群组,每一上述区块群组具有多个区块,以及每一上述区块具有多个页面;以及
一控制器,用以在对上述区块群组中的一第一区块群组中的一第一区块的至少一第一页面执行一第一读取程序,并在上述第一读取程序结束后进行一维护程序,其中在上述维护程序中,上述控制器判断上述第一区块群组的一第一群组读取次数是否超过一读取临界值,当上述第一群组读取次数超过上述读取临界值时,上述控制器依序扫描上述第一区块群组中的每一上述区块,以获得分别相应于上述第一区块群组中的上述区块的多个第一错误比特数,当上述第一错误比特数中的至少一第二错误比特数超过一错误临界值时,上述控制器更用以更新相应于上述至少一第二错误比特数的至少一上述区块,其中上述第一群组读取次数为上述第一区块群组中的所有页面被读取的次数的总和。
2.根据权利要求1所述的数据储存装置,其特征在于,上述控制器是根据一第一读取命令对上述至少一第一页面进行上述读取程序,并将上述第一区块群组的上述群组读取次数增加一第一既定值,其中上述第一既定值为上述至少一第一页面的数量,并且上述第一群组读取次数相应于上述第一区块群组中的所有上述页面被读取的次数。
3.根据权利要求1所述的数据储存装置,其特征在于,在上述维护程序中,上述控制器更用以在更新相应于上述第二错误比特数的至少一上述区块后,将上述第一区块群组的上述第一群组读取次数减去一第二既定值,并且当所有上述第一错误比特数皆未超过上述错误临界值时,将上述第一区块群组的上述第一群组读取次数减去上述第二既定值,其中上述第二既定值为上述第一群组读取次数。
4.根据权利要求1所述的数据储存装置,其特征在于,上述控制器更用以当上述第一群组读取次数超过上述读取临界值时,将上述第一群组读取次数归零。
5.根据权利要求2所述的数据储存装置,其特征在于,上述控制器是根据上述第一读取命令对上述至少一第一页面进行上述读取程序,并将一总读取次数增加上述第一既定值,其中上述总读取次数相应于所有上述页面被读取的次数。
6.根据权利要求5所述的数据储存装置,其特征在于,在上述维护程序中,上述控制器更用以判断上述总读取次数是否超过一总读取临界值,当上述总读取次数超过上述总读取临界值时,上述控制器依序扫描每一上述区块群组中的每一上述区块,以获得分别相应于每一上述区块群组中的每一上述区块的多个第三错误比特数,当上述第三错误比特数中的至少一第四错误比特数超过上述错误临界值时,上述控制器更用以更新相应于上述至少一第四错误比特数的至少一上述区块。
7.根据权利要求6所述的数据储存装置,其特征在于,上述控制器更用以在更新相应于上述第四错误比特数的至少一上述区块后,将上述总读取次数减去一第四既定值,并且当所有上述第三错误比特数皆未超过上述错误临界值时,将上述总读取次数减去上述第四既定值,其中上述第四既定值为上述总读取次数。
8.根据权利要求6所述的数据储存装置,其特征在于,上述控制器更用以当上述总读取次数超过上述总读取临界值时,将上述总读取次数归零。
9.根据权利要求2所述的数据储存装置,其特征在于,更包括一计时装置,用以记录上述数据储存装置的一使用时间,其中上述使用时间是上述数据储存装置上电的时间。
10.根据权利要求9所述的数据储存装置,其特征在于,在上述维护程序中,上述控制器更用以判断上述使用时间是否超过一时间临界值,当上述使用时间超过上述时间临界值时,上述控制器依序扫描每一上述区块群组中的每一上述区块,以获得分别相应于每一上述区块群组中的每一上述区块的多个第五错误比特数,当上述第五错误比特数中的至少一第六错误比特数超过上述错误临界值时,上述控制器更用以更新相应于上述至少一第六错误比特数的至少一上述区块。
11.根据权利要求10所述的数据储存装置,其特征在于,上述控制器更用以在更新上述第六错误比特数所相应的至少一上述区块后,将上述使用时间减去一第五既定值,并且当所有上述第五错误比特数皆未超过上述错误临界值时,将上述使用时间减去上述第五既定值,其中上述第五既定值为上述使用时间。
12.根据权利要求10所述的数据储存装置,其特征在于,上述控制器更用以当上述使用时间超过上述使用时间临界值时,将上述使用时间归零。
13.根据权利要求1所述的数据储存装置,其特征在于,当上述控制器在上述维护程序中接收到一动作命令时,上述控制器更用以记录目前上述维护程序的数据于一随机存取存储器中,并中断上述维护程序,以根据上述动作命令执行一动作程序,其中上述控制器更用以在上述动作程序执行完毕时,根据上述随机存取存储器中上述维护程序的数据,继续进行上述维护程序。
14.根据权利要求13所述的数据储存装置,其特征在于,当上述动作命令为一第二读取命令时,上述控制器中断上述维护程序,以根据上述第二读取命令,对上述第一区块群组中的至少一第二页面进行一第二读取程序,并将上述第一区块群组的上述第一群组读取次数增加一第三既定值,其中上述第三既定值为上述至少一第二页面的数量。
15.一种数据维护方法,适用于具有一快闪存储器的一数据储存装置,其中上述快闪存储器具有多个区块群组,每一上述区块群组具有多个区块,以及每一上述区块具有多个页面,并且数据维护方法包括:
接收一第一读取命令;
根据上述第一读取命令,对上述区块群组中的一第一区块群组中的一第一区块的至少一第一页面执行一第一读取程序;以及
在上述第一读取程序结束后进行一维护程序,其中在上述维护程序包括:
撷取上述第一区块群组的一第一群组读取次数,其中上述第一群组读取次数为上述第一区块群组中的所有页面被读取的次数的总和;
当上述第一群组读取次数超过一读取临界值时,依序扫描上述第一区块群组中的每一上述区块,以获得分别相应于上述第一区块群组中的每一上述区块的多个第一错误比特数;以及
当上述第一错误比特数中的至少一第二错误比特数超过一错误临界值时,更新相应于上述至少一第二错误比特数的至少一上述区块。
16.根据权利要求15所述的数据维护方法,其特征在于,更包括根据上述第一读取命令,将上述第一区块群组的上述群组读取次数增加一第一既定值,其中上述第一既定值为上述至少一第一页面的数量,并且上述第一群组读取次数相应于上述第一区块群组中的所有上述页面被读取的次数。
17.根据权利要求15所述的数据维护方法,其特征在于,上述维护程序更包括:
在更新相应于上述第二错误比特数的至少一上述区块后,将上述第一区块群组的上述第一群组读取次数减去一第二既定值;以及
当所有上述第一错误比特数皆未超过上述错误临界值时,将上述第一区块群组的上述第一群组读取次数减去上述第二既定值,其中上述第二既定值为上述第一群组读取次数。
18.根据权利要求15所述的数据维护方法,其特征在于,上述维护程序更包括当上述第一群组读取次数超过上述读取临界值时,将上述第一群组读取次数归零。
19.根据权利要求16所述的数据维护方法,其特征在于,更包括根据上述读取命令,将一总读取次数增加上述第一既定值,其中上述总读取次数相应于所有上述页面被读取的次数。
20.根据权利要求19所述的数据维护方法,其特征在于,上述维护程序更包括:
撷取上述总读取次数;
当上述总读取次数超过一总读取临界值时,依序扫描每一上述区块群组中的每一上述区块,以获得分别相应于每一上述区块群组中的每一上述区块的多个第三错误比特数;以及
当上述第三错误比特数中的至少一第四错误比特数超过上述错误临界值时,更新相应于上述至少一第四错误比特数的至少一上述区块。
21.根据权利要求20所述的数据维护方法,其特征在于,上述维护程序更包括:
在更新相应于上述第四错误比特数的至少一上述区块后,将上述总读取次数减去一第四既定值;以及
当所有上述第三错误比特数皆未超过上述错误临界值时,将上述总读取次数减去上述第四既定值,其中上述第四既定值为上述总读取次数。
22.根据权利要求20所述的数据维护方法,其特征在于,上述维护程序更包括当上述总读取次数超过上述总读取临界值时,将上述总读取次数归零。
23.根据权利要求16所述的数据维护方法,其特征在于,更包括记录上述数据储存装置的一使用时间,其中上述使用时间是上述数据储存装置上电的时间,并且上述维护程序更包括:
撷取上述使用时间;
当上述使用时间超过上述时间临界值时,依序扫描每一上述区块群组中的每一上述区块,以获得分别相应于上述每一区块群组中的每一上述区块的多个第五错误比特数;以及
当上述第五错误比特数中的至少一第六错误比特数超过上述错误临界值时,更新相应于上述至少一第六错误比特数的至少一上述区块。
24.根据权利要求23所述的数据维护方法,其特征在于,上述维护程序更包括:
在更新相应于上述第六错误比特数的至少一上述区块后,将上述使用时间减去一第五既定值;以及
当所有上述第五错误比特数皆未超过上述错误临界值时,将上述使用时间减去上述第五既定值,其中上述第五既定值为上述使用时间。
25.根据权利要求23所述的数据维护方法,其特征在于,上述维护程序更包括当上述使用时间超过上述使用时间临界值时,将上述使用时间归零。
26.根据权利要求15所述的数据维护方法,其特征在于,更包括:
在上述维护程序中接收到一动作命令时,记录目前上述维护程序的数据于一随机存取存储器中;
中断上述维护程序,以根据上述动作命令执行一动作程序;以及
在上述动作程序执行完毕后,根据上述随机存取存储器中上述维护程序的数据,继续进行上述维护程序。
27.根据权利要求26所述的数据维护方法,其特征在于,上述动作命令为一第二读取命令时,上述动作程序更包括:
根据上述读取命令,对上述第一区块群组中的至少一第二页面进行一第二读取程序;以及
将上述第一区块群组的上述第一群组读取次数增加一第三既定值,其中上述第三既定值为上述至少一第二页面的数量。
CN201410074351.7A 2013-12-17 2014-03-03 数据储存装置及其数据维护方法 Active CN104714896B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW102146529A TWI525635B (zh) 2013-12-17 2013-12-17 資料儲存裝置及其資料維護方法
TW102146529 2013-12-17

Publications (2)

Publication Number Publication Date
CN104714896A CN104714896A (zh) 2015-06-17
CN104714896B true CN104714896B (zh) 2018-03-16

Family

ID=53368569

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410074351.7A Active CN104714896B (zh) 2013-12-17 2014-03-03 数据储存装置及其数据维护方法

Country Status (3)

Country Link
US (2) US9620245B2 (zh)
CN (1) CN104714896B (zh)
TW (1) TWI525635B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160071948A (ko) * 2014-12-12 2016-06-22 에스케이하이닉스 주식회사 반도체 장치
US10339048B2 (en) 2014-12-23 2019-07-02 International Business Machines Corporation Endurance enhancement scheme using memory re-evaluation
CN107015915B (zh) * 2015-10-28 2019-07-26 威盛电子股份有限公司 非易失性存储器装置及其控制方法
TWI599880B (zh) 2016-03-22 2017-09-21 威盛電子股份有限公司 非揮發性記憶體裝置及其操作方法
TWI645290B (zh) * 2016-10-11 2018-12-21 慧榮科技股份有限公司 資料儲存裝置及其資料寫入方法
TWI621129B (zh) * 2016-10-25 2018-04-11 慧榮科技股份有限公司 資料儲存裝置及其資料寫入方法
US9747158B1 (en) * 2017-01-13 2017-08-29 Pure Storage, Inc. Intelligent refresh of 3D NAND
US10140042B1 (en) 2017-09-13 2018-11-27 Toshiba Memory Corporation Deterministic read disturb counter-based data checking for NAND flash
KR20190068197A (ko) * 2017-12-08 2019-06-18 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
KR102668125B1 (ko) * 2018-08-08 2024-05-23 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US10691377B2 (en) * 2018-09-21 2020-06-23 Micron Technology, Inc. Adjusting scan event thresholds to mitigate memory errors
KR102599046B1 (ko) * 2018-11-16 2023-11-06 삼성전자주식회사 리커버리 동작을 수행하는 메모리 컨트롤러, 이의 동작 방법 및 이를 포함하는 메모리 시스템
US10896123B2 (en) * 2018-12-13 2021-01-19 Western Digital Technologies, Inc. Enhancing the effectiveness of read scan performance and reliability for non-volatile memory
KR20200114216A (ko) * 2019-03-28 2020-10-07 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법
CN113885779B (zh) * 2020-07-02 2024-03-12 慧荣科技股份有限公司 数据处理方法及对应的数据储存装置
US11182237B1 (en) * 2020-08-21 2021-11-23 Micron Technology, Inc. Selective sampling of a data unit based on program/erase execution time
US11461025B2 (en) * 2020-11-05 2022-10-04 Macronix International Co., Ltd. Data retention in memory devices
US11500578B2 (en) * 2021-04-19 2022-11-15 Micron Technology, Inc. Memory access threshold based memory management

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101546298A (zh) * 2008-03-28 2009-09-30 群联电子股份有限公司 用于闪存的数据读取方法、其控制器与储存系统
CN101615427A (zh) * 2008-06-24 2009-12-30 群联电子股份有限公司 非易失性存储器的存储器管理方法及使用此方法的控制器
CN101627444A (zh) * 2007-10-03 2010-01-13 株式会社东芝 半导体存储装置
CN102272731A (zh) * 2008-11-10 2011-12-07 弗森-艾奥公司 用于预测固态存储装置中的故障的设备、系统和方法
CN103092531A (zh) * 2013-01-21 2013-05-08 中国科学院苏州纳米技术与纳米仿生研究所 一种消除固态存储系统读取错误的方法
CN103136108A (zh) * 2011-12-05 2013-06-05 慧荣科技股份有限公司 快闪存储装置及其数据读取方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5266220B2 (ja) * 2007-06-29 2013-08-21 俊徳 加藤 白質強調処理装置、白質強調処理方法及びプログラム
US7818525B1 (en) 2009-08-12 2010-10-19 Texas Memory Systems, Inc. Efficient reduction of read disturb errors in NAND FLASH memory
US8656256B2 (en) 2010-07-07 2014-02-18 Stec, Inc. Apparatus and method for multi-mode operation of a flash memory device
CN102163165B (zh) 2011-05-26 2012-11-14 忆正存储技术(武汉)有限公司 一种闪存错误预估模块及其预估方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101627444A (zh) * 2007-10-03 2010-01-13 株式会社东芝 半导体存储装置
CN101546298A (zh) * 2008-03-28 2009-09-30 群联电子股份有限公司 用于闪存的数据读取方法、其控制器与储存系统
CN101615427A (zh) * 2008-06-24 2009-12-30 群联电子股份有限公司 非易失性存储器的存储器管理方法及使用此方法的控制器
CN102272731A (zh) * 2008-11-10 2011-12-07 弗森-艾奥公司 用于预测固态存储装置中的故障的设备、系统和方法
CN103136108A (zh) * 2011-12-05 2013-06-05 慧荣科技股份有限公司 快闪存储装置及其数据读取方法
CN103092531A (zh) * 2013-01-21 2013-05-08 中国科学院苏州纳米技术与纳米仿生研究所 一种消除固态存储系统读取错误的方法

Also Published As

Publication number Publication date
US20150169403A1 (en) 2015-06-18
US10379924B2 (en) 2019-08-13
CN104714896A (zh) 2015-06-17
TWI525635B (zh) 2016-03-11
US9620245B2 (en) 2017-04-11
US20170161135A1 (en) 2017-06-08
TW201526012A (zh) 2015-07-01

Similar Documents

Publication Publication Date Title
CN104714896B (zh) 数据储存装置及其数据维护方法
CN104346236B (zh) 数据储存装置及其数据维护方法
CN106910522B (zh) 数据储存装置及其电压保护方法
CN107918588A (zh) 数据储存装置及其数据写入方法
CN100511484C (zh) 存储设备、存储设备寿命监控装置及监控方法
CN104699622B (zh) 数据储存装置以及其数据抹除方法
EP1706869A1 (en) Portable data storage device using a memory address mapping table
CN102063266A (zh) 非易失存储器控制器与用于将当前数据写入非易失存储器的方法
CN106354653A (zh) 数据储存装置及其数据维护方法
CN107918523A (zh) 数据储存装置及其数据写入方法
CN102736932B (zh) 镜像文件、镜像文件的制作方法及多系统的启动引导方法
CN107784201A (zh) 一种二代序列和三代单分子实时测序序列联合补洞方法和系统
CN107092566A (zh) 数据储存装置及其数据维护方法
CN108536390B (zh) 数据储存装置及其区块释放方法
CN107784198A (zh) 一种二代序列和三代单分子实时测序序列联合组装方法和系统
CN101944065B (zh) 一种基于扇区的闪存坏块屏蔽方法
CN117470194B (zh) 一种倾角测量方法、系统、存储介质及计算机
KR101080191B1 (ko) 웨어레벨링 방법
CN107992149B (zh) 电压带隙电路的修调方法和修调装置
CN101005619B (zh) 一种环路滤波的方法
CN103686193B (zh) 一种jpeg2000图像解码和编码的方法
US9021184B2 (en) Flash memory device
Gatesy Linked branch support and tree stability
WO2018039983A1 (zh) 一种生物序列数据的处理方法及装置
CN110797082A (zh) 基因测序数据的存储读取方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant