CN107368429B - 数据储存装置、内存控制器及其数据管理方法与数据区块管理方法 - Google Patents
数据储存装置、内存控制器及其数据管理方法与数据区块管理方法 Download PDFInfo
- Publication number
- CN107368429B CN107368429B CN201710092224.3A CN201710092224A CN107368429B CN 107368429 B CN107368429 B CN 107368429B CN 201710092224 A CN201710092224 A CN 201710092224A CN 107368429 B CN107368429 B CN 107368429B
- Authority
- CN
- China
- Prior art keywords
- data
- data block
- threshold
- erasing
- reading
- 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
Links
- 238000007726 management method Methods 0.000 title claims abstract description 18
- 238000013500 data storage Methods 0.000 title claims description 30
- 238000000034 method Methods 0.000 title claims description 26
- 238000013523 data management Methods 0.000 title claims description 10
- 230000014759 maintenance of location Effects 0.000 claims description 3
- 230000007423 decrease Effects 0.000 claims description 2
- 239000010410 layer Substances 0.000 description 18
- 239000002356 single layer Substances 0.000 description 16
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
- G11C16/3495—Circuits 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明涉及一种可用于内存控制器之数据区块管理方法,其步骤包括:读取数据区块的至少一复数数据页;更新至少一复数数据页的复数读取次数;判断数据区块的读取次数是否大于或等于读取门坎值,其中,数据区块的读取次数系选自于复数数据页的复数读取次数;以及当判断为是,将数据区块的数据储存至空白的数据区块;其中,当数据区块的擦除次数大于或等于擦除门坎值,更新读取门坎值。
Description
技术领域
本发明涉及一种关于数据区块的管理方法,且特别是关于一种可有效减少数据损坏的数据区块管理方法,以及其所对应的内存控制器与数据储存装置。
背景技术
非挥发性内存为一种电子式记忆装置,其具有不需额外电力维持信息、快速数据读取以及抗震等能力,因此被广泛的应用于记忆卡、固态硬盘以及可携式多媒体装置等。当储存于非挥发性内存中的数据区块(Data Block)的数据被多次重复读取时,数据区块可能会出现读取扰动(Read Disturbance)的情况,又由于非挥发性内存本身电性以及持续读写非挥发性内存对储存电荷所造成的影响,会引发数据保存(data retention)的问题,即数据区块所储存的数据易发生毁损的情况,因此数据区块在此时就必须进行刷新(Refresh),即进行数据的搬移。然若无法实时对数据区块进行刷新,将会导致数据区块所储存的数据不正确且无法复原的情况发生。
发明内容
为了解决上述数据区块无法实时刷新导致储存的数据损坏的缺憾,本发明提出一种可用于数据储存装置之数据区块管理方法的实施例,其步骤包括:读取数据区块的至少一复数数据页;更新至少一复数数据页的复数读取次数;判断数据区块的读取次数是否大于或等于读取门坎值,其中,数据区块的读取次数系选自于复数数据页的复数读取次数;以及当判断为是,将数据区块的数据储存至空白的数据区块;其中,当数据区块的擦除次数大于或等于擦除门坎值,更新读取门坎值。
本发明更提出一种数据管理的方法实施例,其步骤包括:记录复数数据页的复数读取次数;记录复数些数据页所对应之数据区块的擦除次数;判断数据区块的读取次数是否大于等于读取门坎值,数据区块的读取次数系选自于复数数据页的复数读取次数;以及当判断为是,对数据区块进行数据搬移程序;其中,当擦除次数大于或等于擦除门坎值,更新读取门坎值。
本发明更提出一种用于数据区块管理方法的数据储存装置实施例,其包括:非挥发性内存,包括至少一数据区块,以及内存控制器,内存控制器与非挥发性内存电性耦接,内存控制器是用以记录复数数据页的复数读取次数以及记录复数数据页所对应之数据区块的擦除次数,内存控制器并判断数据区块的读取次数是否大于等于读取门坎值,数据区块的读取次数系选自于复数数据页的复数读取次数,当判断为是,内存控制器对数据区块进行数据搬移程序,其中,擦除次数大于或等于擦除门坎值时,内存控制器更新读取门坎值。
本发明更提出一种用于数据区块管理方法的内存控制器,其包括:第一通讯接口,用以与主机通讯以接收来自主机的指令;第二通讯接口,用以与非挥发性内存通讯以存取非挥发性内存,非挥发性内存包括多个数据区块,每一数据区块包括多个数据页;以及微处理器与第一通讯接口以及第二通讯接口电性耦接,微处理器记录复数数据页的复数读取次数以及记录复数数据页所对应之数据区块的擦除次数,微处理器并判断数据区块的读取次数是否大于等于读取门坎值,数据区块的读取次数系选自于复数数据页的复数读取次数,当判断为是,微处理器对数据区块进行数据搬移程序,其中,擦除次数大于或等于擦除门坎值时,内存控制器更新读取门坎值。
本发明因可根据数据区块的擦除次数动态调整数据区块的读取门坎值,也就是根据数据区块的使用状态调整读取门坎值,因此可更精准的对数据区块进行刷新,以避免数据区块的数据发生因刷新不及而无法复原的情况。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举优选实施例,并配合附图,详细说明如下。
附图说明
图1为本发明之***架构实施例示意图。
图2A为本发明之数据区块管理方法步骤流程实施例一示意图。
图2B为本发明之数据区块实施例示意图。
图3为本发明之读取门坎值的调整方法步骤流程实施例一示意图。
具体实施方式
图1为本发明之***实施例,其包括主机10以及数据储存装置20,主机10与数据储存装置20电性耦接,主机10可以为桌面计算机或平板计算机等电子装置,数据储存装置20是用以接收由主机10所传送的写入指令或读取指令,并根据写入指令将接收的数据写入数据储存装置20中,或根据读取指令读取储存于数据储存装置20中的数据。数据储存装置20更包括了内存控制器21以及非挥发性内存22,非挥发性内存22例如为闪存(FlashMemory)、磁阻式随机存取内存(Magnetoresistive RAM)、铁电随机存取内存(Ferroelectric RAM)、相变内存(Phase-change memory)等具有长时间数据保存之数据储存媒体。
非挥发性内存22并包括多个记忆单元(Cell),每一记忆单元可记录至少一个位(Bit)的数据,例如单层式记忆单元(Single-Level Cell,SLC)可用以记录一个位的数据,多层式记忆单元(Multi-Level Cell,MLC)可用以记录两个位的数据,三层式记忆单元(Triple-Level Cell,TLC)则可用以记录三个位的数据,但不以此为限。在一些实施例中,非挥发性内存22可包括多个单层式记忆单元以及多个三层式记忆单元,其中,以单层式记忆单元所组成的数据区块可称为单层式数据区块,而以三层式记忆单元所组成的数据区块可称为三层式数据区块。另外,单层式记忆单元可由三层式记忆单元来仿真,即三层式记忆单元切换至单层式记忆单元的工作模式,使其仅用以纪录一个位的数据。数据储存容量虽然降低,但提供了数据快速存取的效果。另外,使用者可以依其需求而将多个三层式记忆单元代换成多个多层式记忆单元,或将多个多层式记忆单元代换成多个单层式记忆单元,下述中将以多个单层式记忆单元以及多个三层式记忆单元为例进行说明,但不以此为限。此外,上述之每一数据区块并包括多个数据页。
内存控制器21与非挥发性内存22电性耦接,并用以根据上述之写入指令或读取指令,对非挥发性内存22进行写入数据或者读取数据的动作。内存控制器21更包括了微处理器211、第一通讯接口212以及第二通讯接口213,微处理器211与第一通讯接口212以及第二通讯接口213电性耦接,第一通讯接口212用以接收来自主机10的读取指令或写入指令,第一通讯接口212例如为SATA接口(Serial Advanced Technology Attachment)、序列式SCSI界面(SAS,Serial Attached SCSI)、通用串行总线(Universal Serial Bus,USB)、快捷外设互联标准(PCI Express,Peripheral Component Interconnect Express)、通用闪存储存装置(UFS,Universal Flash Storage)、多媒体记忆卡(eMMC,embeded MultiMediaCard)以及SDIO接口(Secure Digital Input/Output),第二通讯接口213与非挥发性内存22电性耦接,是用以与非挥发性内存22通讯以存取非挥发性内存22,第二通讯接口213例如为开放式NAND闪存接口(ONFI,Open NAND Flash Interface)或Toggle。
接着请参考图2A,图2A为本发明之数据区块管理方法实施例一,首先,当图1的数据储存装置20接收到主机10所传送的读取指令时,图1的微处理器211会藉由第二通讯接口213读取非挥发性内存22中对应读取指令的数据区块的至少一个数据页,即步骤201。接着在步骤203,微处理器211会更新被读取的数据页所对应之读取次数,例如将读取次数加一,其中,数据页可包括数据区以及备用区,数据区包括多个数据区段(sector)以储存数据以及循环冗余检查(Cyclic Redundancy Check,CRC);备用区用以储存额外的数据,例如:读取次数以及诠释数据(Metadata);或者,用户亦使用数据区块的一个数据页来记录同一数据区块中其余数据页的读取次数;或者,用户亦指定一个数据区块来记录其他数据区块的数据页的读取次数;或者,用户亦可使用主机10或数据储存装置20内建的随机存取内存(Random Access Memory,RAM)来记录全部或使用中数据区块的所有数据页的读取次数,并于适当的时间将读取次数写入数据区块的数据页中;或于关机或电源消失事件发生时,将读取次数写入指定的数据区块的数据页中。由于上述实施方式的原理皆相同或类似,使用者可依其需求而采用适当的方式来记录数据页的读取次数,故在下述说明中不作额外的说明。
在步骤205中,微处理器211将判断数据区块23的读取次数是否已等于或大于读取门坎值。其中,所述数据区块23的读取次数较佳是此数据区块的多个数据页的多个读取次数中的最大值。以图2B为例,但不以此为限,数据区块23包括数据页231至235,数据页231包括有多个数据区231a以及用以储存读取次数的备用区231b,数据页232包括有多个数据区232a以及用以储存读取次数的备用232b,数据页233包括有多个数据区233a以及用以储存读取次数的备用区233b,数据页234包括有多个数据区234a以及用以储存读取次数的备用区234b,数据页235包括有多个数据区235a以及用以储存读取次数的备用区235b,其中,数据页231的读取次数为1,数据页232的读取次数为3,数据页233的读取次数为9,数据页234的读取次数为2,数据页235的读取次数为7,因此,读取次数最高的为数据页233的读取次数,即为此数据区块23的读取次数。当微处理器211在步骤205判断为是,进行步骤207,若判断为否则结束此流程,等待下一次的读取。
在其他实施例中,数据区块23的读取次数可为其他类型的数值,例如,读取次数可为多个数据页的多个读取次数中的最小值、平均值或指定数据页(例如第一数据页)的读取次数。
在步骤207中,由于微处理器211判断数据区块23的读取次数已经等于或大于读取门坎值,也就是数据区块23已经被频繁地读取,数据发生损坏的机率提高,因此微处理器211会启动数据搬移的程序,将数据区块23的数据搬移或储存至另一空白的数据区块(不含有效数据的数据区块)中,结束此流程。当数据储存至另一空白的数据区块的同时,微处理器211可启动垃圾回收(garbage collection)程序以使数据区块23变更成一个空白的数据区块;另外,微处理器211可依据磨损平均(wear leveling)程序来挑选空白的数据区块以储存数据区块23的数据,当空白的数据区块开始储存数据后,可被称之为使用中的数据区块。
另外,当数据储存装置20包括不同种类的数据区块时,读取门坎值较佳会因为数据区块的类型不同而有所不同,例如上述的单层式数据区块的读取门坎值较佳为大于或等于三层式数据区块的读取门坎值;切换至单层式记忆单元工作模式的三层式记忆单元的读取门坎值较佳为大于或等于三层式数据区块的读取门坎值;而因为数据页尚未被写满而处于字符线开启(word line open)状态的数据区块的读取门坎值较佳为小于或等于未处于字符线开启状态的数据区块。也因为数据区块的类型不同,在步骤205中微处理器211系分别判断当前数据区块的读取次数已经等于或大于读取门坎值。想当然尔,使用者也可以设定相同的读取门坎值至不同类型的数据区块以简化数据区块的管理。
接着请参考图3,图3为本发明读取门坎值的调整方法实施例一,首先在步骤301,微处理器211擦除数据区块23的所有储存数据,例如微处理器211启动垃圾回收(garbagecollection)程序以删除数据区块23的储存数据。在步骤303,微处理器211更新数据区块23的擦除次数,例如以擦除次数加一来更新擦除次数。接着在步骤305中,微处理器211判断数据区块23的擦除次数是否大于或等于擦除门坎值,当判断为是,进行步骤307;当判断为否结束此流程。在步骤307中,微处理器211更新读取门坎值,使微处理器211执行本发明之数据区块管理方法的步骤205时以更新后的读取门坎值进行判断。接着在步骤309,微处理器211将会更新擦除门坎值,其中,更新后的擦除门坎值与更新后的读取门坎值具有反相关系,即擦除门坎值增加但读取门坎值降低。当数据区块的擦除次数再次等于或大于更新后的擦除门坎值时,微处理器211将于步骤307及309分别再次更新读取门坎值及擦除门坎值。
读取门坎值及擦除门坎值之更新说明如下。首先,以数据区块23为单层式数据区块为例,单层式数据区块之平均擦除寿命例如为20,000次,此平均擦除寿命即单层式数据区块在无明显的数据保存问题下平均可进行擦除的次数。数据区块23默认之读取门坎值为1百万次,预设之擦除门坎值为0。随着擦除次数之增加,擦除门坎值较佳以10%的平均擦除寿命为单位来进行更新,即每2,000次(=20,000*10%)更新一次,因此,擦除门坎值第一次更新后为2,000次,第二次更新后为4,000,以此类推,第九次更新后为18,000次,以上数值皆是用以说明本发明,不以此为限。因此当微处理器211在步骤305中判断数据区块当前的擦除次数等于或大于擦除门坎值,例如擦除次数之值累加至2,000时,微处理器211第一次执行步骤307时,将(预设之)读取门坎值与一比例设定值相乘来更新读取门坎值,其中,比例设定值较佳为平均擦除寿命减去擦除次数后再除以平均擦除寿命(=(20,000-2,000)/20,000)的百分比,即为90%,因此,经过相乘后,读取门坎值被更新为读取门坎值的90%。接着在步骤309中,微处理器211会将擦除门坎值更新为4,000次。因此当擦除次数再次大于或等于擦除门坎值时,读取门坎值会被更新为初始读取门坎值的80%。依此类推,将可得到下面查找表之数值,其中,K表示一千次,M表示一百万次。
查找表
擦除门坎值 | 0 | 2K | 4K | … | 16K | 18K |
读取门坎值 | 1M | 0.9M | 0.8M | … | 0.2M | 0.1M |
比例设定值(%) | 100 | 90 | 80 | … | 20 | 10 |
除了使用固定值之外,使用者亦可依据其他方式来设定预设之读取门坎值。例如,单层式数据区块之默认之读取门坎值较佳等于第一默认值与单层式数据区块的数据页个数相乘的结果,三层式数据区块之默认之读取门坎值较佳等于第二默认值与三层式数据区块的数据页个数相乘的结果,开启状态的三层式数据区块之默认之读取门坎值较佳等于第三默认值与三层式数据区块的数据页个数相乘的结果,其中,由于三层式数据区块的平均擦除寿命较单层式数据区块低,又开启状态的三层式数据区块更容易受到读取扰动的影响,因此第一默认值可大于第二默认值,第二默认值可大于第三默认值,藉此根据不同的数据区块状态设定不同的预设之读取门坎值,使本发明数据区块管理方法可更有效地执行。第一默认值、第二默认值以及第三默认值可以为不同类型数据区块的平均读取寿命值,但不以此为限。此外,上述之数据区块读取次数、读取门坎值、预设之读取门坎值、擦除次数、擦除门坎值、查找表等可储存于用以储存重要***信息的数据区块的至少一数据页中,例如为单层式数据区块的至少一数据页中。
在其他实施例中,比例设定值更可以加入一温度参数。数据储存装置20可包括与微处理器211电性耦接的温度侦测器24,如图1所示,温度侦测器24可提供一环境温度值给微处理器211以计算出一平均温度值。假设温度区间值为75,平均温度值为50(摄氏50度),则温度参数等于温度区间值减去平均温度值后再除以温度区间值(=(75-50)/75),则比例设定值可变更为原比例设定值再乘以温度参数。如此一来,在数据区块管理方法能更符合实际上之需求。
使用者可依据上述步骤而建立上述的查找表,并于步骤205中作为读取门坎值之依据。如此一来,微处理器211可省略本发明读取门坎值的调整方法之执行,提供更佳的效能。
综上所述,随着擦除次数的增加,数据保存的问题将更为显著,本发明之数据区块管理方法及数据管理方法可根据数据区块23的擦除次数来动态的调整数据区块23的读取门坎值,及早对高擦除次数的数据区块23进行刷新,避免数据区块因数据保存问题、读取扰动或擦除寿命过低而造成储存数据损坏的情况发生。
Claims (17)
1.一种可用于数据储存装置的数据区块管理方法,其特征在于,其步骤包括:
读取所述数据区块的至少一复数数据页;
更新所述复数数据页的至少一复数读取次数;
判断所述数据区块的读取次数是否大于或等于读取门坎值,其中,所述数据区块的所述读取次数是选自于所述复数数据页的所述复数读取次数;以及
当判断为是,将所述数据区块的数据储存至空白的数据区块;
其中,当所述数据区块的擦除次数大于或等于擦除门坎值,依据比例设定值来更新所述读取门坎值;
其中,所述比例设定值是平均擦除寿命减去所述擦除次数后再除以所述平均擦除寿命的百分比,以及所述平均擦除寿命是所述数据区块在无明显的数据保存问题下平均可进行擦除的次数。
2.如权利要求1所述的数据区块管理方法,其特征在于,所述更新所述读取门坎值更包括以下步骤:
擦除所述数据区块;
更新所述数据区块的所述擦除次数;
判断所述数据区块的所述擦除次数是否大于或等于所述擦除门坎值;以及
当判断为是,根据所述擦除次数更新所述数据区块的所述读取门坎值。
3.如权利要求2所述的数据区块管理方法,其特征在于,其步骤更包括:更新所述擦除门坎值。
4.如权利要求1所述的数据区块管理方法,其特征在于,所述数据区块的所述读取次数为所述数据区块的所述复数数据页的所述复数读取次数中的最大值。
5.如权利要求1所述的数据区块管理方法,其特征在于,更新所述读取门坎值的步骤更包括:
当所述数据区块的所述擦除次数大于或等于所述擦除门坎值,降低所述读取门坎值。
6.如权利要求1所述的数据区块管理方法,其特征在于,当所述数据区块的所述擦除次数大于或等于所述擦除门坎值,依据所述比例设定值以及温度参数来更新所述读取门坎值。
7.一种数据管理方法,其特征在于,其步骤包括:
记录复数数据页的复数读取次数;
记录所述复数数据页所对应的数据区块的擦除次数;
判断所述数据区块的读取次数是否大于等于读取门坎值,所述数据区块的所述读取次数是选自于所述复数数据页的所述复数读取次数;以及
当判断为是,对所述数据区块进行数据搬移程序;
其中,当所述擦除次数大于或等于擦除门坎值,依据比例设定值来更新所述读取门坎值;
其中,所述比例设定值是平均擦除寿命减去所述擦除次数后再除以所述平均擦除寿命的百分比,以及所述平均擦除寿命是所述数据区块在无明显的数据保存问题下平均可进行擦除的次数。
8.如权利要求7所述的数据管理方法,其特征在于,当所述擦除次数大于或等于所述擦除门坎值,更新所述读取门坎值更包括以下步骤:
当完成所述数据搬移程序后,更新所述擦除次数;
判断所述数据区块的所述擦除次数是否大于或等于所述擦除门坎值;以及
当判断为是,根据所述擦除次数更新所述读取门坎值。
9.如权利要求7所述的数据管理方法,其特征在于,其步骤更包括:更新所述擦除门坎值。
10.如权利要求7所述的数据管理方法,其特征在于,所述数据区块的所述读取次数为所述复数数据页的所述复数读取次数的最大值。
11.如权利要求8所述的数据管理方法,其特征在于,根据所述擦除次数更新所述读取门坎值是根据所述擦除次数降低所述读取门坎值。
12.如权利要求7所述的数据管理方法,其特征在于,当所述数据区块的所述擦除次数大于或等于所述擦除门坎值,依据所述比例设定值以及温度参数来更新所述读取门坎值。
13.一种用于数据区块管理方法的数据储存装置,其特征在于,包括:
非挥发性内存,包括至少一所述数据区块;以及
内存控制器,所述内存控制器与所述非挥发性内存电性耦接,所述内存控制器是用以记录复数数据页的复数读取次数以及记录所述复数数据页所对应的数据区块的擦除次数,所述内存控制器并判断所述数据区块的读取次数是否大于等于读取门坎值,所述数据区块的所述读取次数是选自于所述复数数据页的所述复数读取次数,当判断为是,所述内存控制器对所述数据区块进行数据搬移程序,其中,所述擦除次数大于或等于擦除门坎值时,所述内存控制器依据比例设定值来更新所述读取门坎值,其中,所述比例设定值是平均擦除寿命减去所述擦除次数后再除以所述平均擦除寿命的百分比,以及所述平均擦除寿命是所述数据区块在无明显的数据保存问题下平均可进行擦除的次数。
14.如权利要求13所述的数据储存装置,其特征在于,当所述内存控制器更新所述读取门坎值,所述内存控制器亦更新所述擦除门坎值。
15.如权利要求13所述的数据储存装置,所述数据区块的所述读取次数为所述复数数据页的所述复数读取次数的最大值。
16.如权利要求13所述的数据储存装置,其特征在于,所述内存控制器更新所述读取门坎值更包括:所述内存控制器降低所述读取门坎值。
17.如权利要求13所述的数据储存装置,其特征在于,当所述数据区块的所述擦除次数大于或等于所述擦除门坎值,所述内存控制器依据所述比例设定值以及温度参数来更新所述读取门坎值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105114892A TWI604455B (zh) | 2016-05-13 | 2016-05-13 | 資料儲存裝置、記憶體控制器及其資料管理方法與資料區塊管理方法 |
TWTW105114892 | 2016-05-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107368429A CN107368429A (zh) | 2017-11-21 |
CN107368429B true CN107368429B (zh) | 2021-02-09 |
Family
ID=60297492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710092224.3A Active CN107368429B (zh) | 2016-05-13 | 2017-02-21 | 数据储存装置、内存控制器及其数据管理方法与数据区块管理方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10062442B2 (zh) |
CN (1) | CN107368429B (zh) |
TW (1) | TWI604455B (zh) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9324398B2 (en) | 2013-02-04 | 2016-04-26 | Micron Technology, Inc. | Apparatuses and methods for targeted refreshing of memory |
US9047978B2 (en) | 2013-08-26 | 2015-06-02 | Micron Technology, Inc. | Apparatuses and methods for selective row refreshes |
JP2015219938A (ja) | 2014-05-21 | 2015-12-07 | マイクロン テクノロジー, インク. | 半導体装置 |
JP2017182854A (ja) | 2016-03-31 | 2017-10-05 | マイクロン テクノロジー, インク. | 半導体装置 |
TWI604455B (zh) * | 2016-05-13 | 2017-11-01 | Silicon Motion Inc | 資料儲存裝置、記憶體控制器及其資料管理方法與資料區塊管理方法 |
CN109935264B (zh) * | 2017-12-18 | 2021-03-26 | 北京兆易创新科技股份有限公司 | 一种存储单元的擦除方法、装置及存储器 |
US10261692B1 (en) * | 2017-12-20 | 2019-04-16 | Winbond Electronics Corp. | Non-volatile memory and erase controlling method thereof |
US10580475B2 (en) | 2018-01-22 | 2020-03-03 | Micron Technology, Inc. | Apparatuses and methods for calculating row hammer refresh addresses in a semiconductor device |
US10740181B2 (en) | 2018-03-06 | 2020-08-11 | Western Digital Technologies, Inc. | Failed storage device rebuild method |
US10860446B2 (en) * | 2018-04-26 | 2020-12-08 | Western Digital Technologiies, Inc. | Failed storage device rebuild using dynamically selected locations in overprovisioned space |
KR102578188B1 (ko) * | 2018-05-15 | 2023-09-14 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 이의 동작 방법 |
US11152050B2 (en) | 2018-06-19 | 2021-10-19 | Micron Technology, Inc. | Apparatuses and methods for multiple row hammer refresh address sequences |
US10901848B2 (en) | 2018-08-03 | 2021-01-26 | Western Digital Technologies, Inc. | Storage systems with peer data recovery |
US10824526B2 (en) | 2018-08-03 | 2020-11-03 | Western Digital Technologies, Inc. | Using failed storage device in peer-to-peer storage system to perform storage-centric task |
US10831603B2 (en) | 2018-08-03 | 2020-11-10 | Western Digital Technologies, Inc. | Rebuild assist using failed storage device |
US11256427B2 (en) * | 2018-12-28 | 2022-02-22 | Micron Technology, Inc. | Unauthorized memory access mitigation |
US11182258B2 (en) | 2019-01-04 | 2021-11-23 | Western Digital Technologies, Inc. | Data rebuild using dynamic peer work allocation |
US10770127B2 (en) | 2019-02-06 | 2020-09-08 | Micron Technology, Inc. | Apparatuses and methods for managing row access counts |
US11043254B2 (en) | 2019-03-19 | 2021-06-22 | Micron Technology, Inc. | Semiconductor device having cam that stores address signals |
US11264096B2 (en) | 2019-05-14 | 2022-03-01 | Micron Technology, Inc. | Apparatuses, systems, and methods for a content addressable memory cell with latch and comparator circuits |
US11158364B2 (en) | 2019-05-31 | 2021-10-26 | Micron Technology, Inc. | Apparatuses and methods for tracking victim rows |
US11158373B2 (en) | 2019-06-11 | 2021-10-26 | Micron Technology, Inc. | Apparatuses, systems, and methods for determining extremum numerical values |
TWI705331B (zh) * | 2019-06-24 | 2020-09-21 | 群聯電子股份有限公司 | 有效資料合併方法、記憶體控制電路單元與記憶體儲存裝置 |
US11139015B2 (en) | 2019-07-01 | 2021-10-05 | Micron Technology, Inc. | Apparatuses and methods for monitoring word line accesses |
US10832792B1 (en) | 2019-07-01 | 2020-11-10 | Micron Technology, Inc. | Apparatuses and methods for adjusting victim data |
CN112233715B (zh) * | 2019-07-15 | 2024-06-18 | 美光科技公司 | 用于存储器***的维护操作 |
US11392292B2 (en) * | 2019-07-15 | 2022-07-19 | Micron Technology, Inc. | Maintenance operations for memory devices |
US11386946B2 (en) | 2019-07-16 | 2022-07-12 | Micron Technology, Inc. | Apparatuses and methods for tracking row accesses |
US10943636B1 (en) | 2019-08-20 | 2021-03-09 | Micron Technology, Inc. | Apparatuses and methods for analog row access tracking |
US10964378B2 (en) | 2019-08-22 | 2021-03-30 | Micron Technology, Inc. | Apparatus and method including analog accumulator for determining row access rate and target row address used for refresh operation |
US11200942B2 (en) | 2019-08-23 | 2021-12-14 | Micron Technology, Inc. | Apparatuses and methods for lossy row access counting |
CN111240592B (zh) * | 2020-01-05 | 2022-11-15 | 苏州浪潮智能科技有限公司 | 一种固态硬盘的数据维护方法和装置 |
CN111785315B (zh) * | 2020-06-29 | 2021-03-23 | 深圳市芯天下技术有限公司 | 降低擦除干扰和擦除时间的方法、***、存储介质及终端 |
US11222682B1 (en) | 2020-08-31 | 2022-01-11 | Micron Technology, Inc. | Apparatuses and methods for providing refresh addresses |
CN112256198B (zh) * | 2020-10-21 | 2023-12-19 | 成都佰维存储科技有限公司 | Ssd数据读取方法、装置、可读存储介质及电子设备 |
US11462291B2 (en) | 2020-11-23 | 2022-10-04 | Micron Technology, Inc. | Apparatuses and methods for tracking word line accesses |
US11482275B2 (en) | 2021-01-20 | 2022-10-25 | Micron Technology, Inc. | Apparatuses and methods for dynamically allocated aggressor detection |
US11600314B2 (en) | 2021-03-15 | 2023-03-07 | Micron Technology, Inc. | Apparatuses and methods for sketch circuits for refresh binning |
US11579797B2 (en) * | 2021-04-29 | 2023-02-14 | Micron Technology, Inc. | Memory sub-system refresh |
US11664063B2 (en) | 2021-08-12 | 2023-05-30 | Micron Technology, Inc. | Apparatuses and methods for countering memory attacks |
US11688451B2 (en) | 2021-11-29 | 2023-06-27 | Micron Technology, Inc. | Apparatuses, systems, and methods for main sketch and slim sketch circuit for row address tracking |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101419834A (zh) * | 2007-10-22 | 2009-04-29 | 群联电子股份有限公司 | 平均磨损方法及使用此方法的控制器 |
CN103092766A (zh) * | 2012-12-28 | 2013-05-08 | 北京时代民芯科技有限公司 | 一种用于nand flash的均衡损耗实现方法 |
CN104298465A (zh) * | 2013-07-17 | 2015-01-21 | 光宝科技股份有限公司 | 固态储存装置中的区块分组方法 |
CN102193869B (zh) * | 2010-03-01 | 2015-05-20 | 群联电子股份有限公司 | 存储器管理与写入方法及其存储器控制器与储存*** |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6763424B2 (en) * | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
US6944063B2 (en) * | 2003-01-28 | 2005-09-13 | Sandisk Corporation | Non-volatile semiconductor memory with large erase blocks storing cycle counts |
JP5661227B2 (ja) * | 2007-02-07 | 2015-01-28 | 株式会社メガチップス | メモリコントローラ |
TWI372397B (en) * | 2007-08-06 | 2012-09-11 | Ind Tech Res Inst | Method and system of defect management for storage medium |
EP2077559B1 (en) * | 2007-12-27 | 2012-11-07 | Hagiwara Solutions Co., Ltd. | Refresh method of a flash memory |
CN101494085B (zh) * | 2008-01-22 | 2015-09-30 | 群联电子股份有限公司 | 防止非易失性存储器发生读取干扰的方法及其控制器 |
TWI375953B (en) | 2008-02-21 | 2012-11-01 | Phison Electronics Corp | Data reading method for flash memory, controller and system therof |
US8082386B2 (en) * | 2008-10-21 | 2011-12-20 | Skymedi Corporation | Method of performing wear leveling with variable threshold |
TWI489469B (zh) | 2013-03-26 | 2015-06-21 | Phison Electronics Corp | 資料讀取方法、控制電路、記憶體模組與記憶體儲存裝置 |
US9361182B2 (en) * | 2014-05-20 | 2016-06-07 | Transcend Information, Inc. | Method for read disturbance management in non-volatile memory devices |
TWI604455B (zh) * | 2016-05-13 | 2017-11-01 | Silicon Motion Inc | 資料儲存裝置、記憶體控制器及其資料管理方法與資料區塊管理方法 |
-
2016
- 2016-05-13 TW TW105114892A patent/TWI604455B/zh active
-
2017
- 2017-02-21 CN CN201710092224.3A patent/CN107368429B/zh active Active
- 2017-03-28 US US15/472,221 patent/US10062442B2/en active Active
-
2018
- 2018-07-17 US US16/038,145 patent/US10600491B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101419834A (zh) * | 2007-10-22 | 2009-04-29 | 群联电子股份有限公司 | 平均磨损方法及使用此方法的控制器 |
CN102193869B (zh) * | 2010-03-01 | 2015-05-20 | 群联电子股份有限公司 | 存储器管理与写入方法及其存储器控制器与储存*** |
CN103092766A (zh) * | 2012-12-28 | 2013-05-08 | 北京时代民芯科技有限公司 | 一种用于nand flash的均衡损耗实现方法 |
CN104298465A (zh) * | 2013-07-17 | 2015-01-21 | 光宝科技股份有限公司 | 固态储存装置中的区块分组方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107368429A (zh) | 2017-11-21 |
US20180322936A1 (en) | 2018-11-08 |
TW201740386A (zh) | 2017-11-16 |
US10600491B2 (en) | 2020-03-24 |
US20170329542A1 (en) | 2017-11-16 |
TWI604455B (zh) | 2017-11-01 |
US10062442B2 (en) | 2018-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107368429B (zh) | 数据储存装置、内存控制器及其数据管理方法与数据区块管理方法 | |
CN107608908B (zh) | 用于数据储存装置的磨损平均方法 | |
US9298608B2 (en) | Biasing for wear leveling in storage systems | |
KR101464338B1 (ko) | 불휘발성 메모리 장치를 이용한 데이터 저장장치, 메모리시스템, 그리고 컴퓨터 시스템 | |
US8503257B2 (en) | Read disturb scorecard | |
CN108369818B (zh) | 一种闪存设备的刷新方法和装置 | |
US20150113207A1 (en) | Operating method of data storage device | |
US9665481B2 (en) | Wear leveling method based on timestamps and erase counts, memory storage device and memory control circuit unit | |
US20160139812A1 (en) | Hot-cold data separation method in flash translation layer | |
KR20170037159A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US10283196B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US10503433B2 (en) | Memory management method, memory control circuit unit and memory storage device | |
US10824366B2 (en) | Method for recording duration of use of data block, method for managing data block using the same and related device | |
CN106445401B (zh) | 表格更新方法、存储器储存装置及存储器控制电路单元 | |
CN112130749B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
TW202011194A (zh) | 快閃記憶體控制器及相關電子裝置 | |
US11403018B2 (en) | Method and apparatus for performing block management regarding non-volatile memory | |
CN115114180A (zh) | 在快闪存储器中进行耗损平衡操作的方法和相关控制器以及储存*** | |
CN107193485B (zh) | 储存装置、其控制单元、及可用于储存装置的数据储存方法 | |
US9760456B2 (en) | Memory management method, memory storage device and memory control circuit unit | |
CN111309642B (zh) | 一种存储器及其控制方法与存储*** | |
US10338854B2 (en) | Memory management method, memory control circuit unit and memory storage device | |
US20240126463A1 (en) | Data storage device and method for determining buffer size of the data storage device | |
US20240143208A1 (en) | Data storage device and method for determining buffer size of the data storage device | |
CN118069411A (zh) | 操作方法、存储器控制器、***及电子设备 |
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 |