CN107291374B - 纪录数据区块的使用时间的方法及其装置 - Google Patents

纪录数据区块的使用时间的方法及其装置 Download PDF

Info

Publication number
CN107291374B
CN107291374B CN201610464257.1A CN201610464257A CN107291374B CN 107291374 B CN107291374 B CN 107291374B CN 201610464257 A CN201610464257 A CN 201610464257A CN 107291374 B CN107291374 B CN 107291374B
Authority
CN
China
Prior art keywords
time
data
data block
difference
writing
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
CN201610464257.1A
Other languages
English (en)
Other versions
CN107291374A (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 CN107291374A publication Critical patent/CN107291374A/zh
Application granted granted Critical
Publication of CN107291374B publication Critical patent/CN107291374B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold

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)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种纪录数据区块的使用时间之方法,其步骤包括:使存储器控制器接收并写入数据至数据区块;使存储器控制器将数据所对应的写入时间与时间差写入至数据区块;其中,时间差为写入时间与数据区块之初始写入时间的差值。

Description

纪录数据区块的使用时间的方法及其装置
技术领域
本发明涉及一种纪录数据区块的使用时间的方法,且特别是关于一种避免非易失性存储器的区块长时间保持开启导致储存数据毁坏的纪录数据区块的使用时间的方法以及其装置。
背景技术
非易失性存储器为一种电子式记忆装置,其具有不需额外电力维持信息、快速数据读取以及抗震等能力,因此被广泛的应用于记忆卡、固态硬盘以及可携式多媒体装置等。非易失性存储器包括多个用以储存数据的数据区块(Block),数据区块可依据其使用情况而称之为使用中的数据区块或者空白的数据区块。空白的数据区块系指数据区块并未储存任何数据,当其被写入第一笔数据后,空白的数据区块变更为使用中的数据区块,并被用以写入其他的数据直到使用中的数据区块无法再写入任何数据为止。此时,另一个空白的数据区块将变更成使用中的数据区块以接收并写入数据。使用中的数据区块通常处于字符线开启(word line open)状态;当使用中的数据区块已无储存空间以写入数据,其切换至字符线闭合(word line close)状态。其中,当数据区块处于字符线开启状态的时间过长时,由于非易失性存储器本身电性以及持续读写非易失性存储器对储存电荷所造成的影响,会引发数据保存(data retention)的问题,即其储存的数据易发生毁损的情况;相反的,数据区块处于字符线闭合状态时,其储存的数据较不易引发数据保存的问题。针对数据区块长期处于字符线开启状态所引发数据保存的问题,目前并无有效的解决方案。
发明内容
因此,本发明的目的在于提出一种纪录数据区块的使用时间的方法以及其装置,以避免数据区块开启时间过长而导致数据发生损坏的情况。
本发明提出一种纪录数据区块的使用时间的方法,数据区块可为使用中的数据区块或空白的数据区块,其步骤包括:使存储器控制器接收并写入数据至数据区块;以及使存储器控制器将数据所对应的写入时间与时间差写入至数据区块;其中,时间差为写入时间与数据区块之初始写入时间的差值。
本发明更提出一种管理数据区块的方法,其步骤包括:依据纪录数据区块的使用时间的方法以产生数据区块之使用时间;当使用时间大于阈值,使存储器控制器将数据区块储存的复数数据写入至空白的数据区块;其中,使用时间为当前时间与数据区块之初始写入时间的差值。
本发明更提出一种数据储存装置,其包括有非易失性存储器以及存储器控制器,非易失性存储器包括至少一数据区块,数据区块可为使用中的数据区块或空白的数据区块,存储器控制器与非易失性存储器电性耦接,存储器控制器是用以写入数据至数据区块,存储器控制器并将数据所对应的写入时间与时间差写入至数据区块,其中,时间差为写入时间与数据区块之初始写入时间的差值。
本发明更提出一种存储器控制器,其包括:第一通讯接口,用以与主机通讯以接收来自主机之写入指令;第二通讯接口,用以与非易失性存储器通讯以存取非易失性存储器,非易失性存储器包括至少一数据区块,数据区块可为使用中的数据区块或空白的数据区块;以及微处理器,与第一通讯接口以及第二通讯接口电性耦接,微处理器是用以写入数据至数据区块,微处理器并将数据所对应的写入时间与时间差写入至数据区块,其中,时间差为写入时间与数据区块之初始写入时间的差值。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举优选实施例,并配合附图,详细说明如下。
附图说明
图1A为本发明之数据储存装置实施例。
图1B为本发明之非易失性存储器实施例。
图2A为本发明之纪录数据区块的使用时间方法实施例一。
图2B为本发明之纪录数据区块的使用时间方法实施例二。
图3为应用本发明之纪录数据区块的使用时间方法来管理数据区块方
法实施例。
具体实施方式
请参考图1A,图1A为数据储存装置实施例,数据储存装置10是用以与一外部主机20通讯,并根据主机20所发送之写入指令将所接收的数据储存于数据储存装置10,所述主机20可以为桌面计算机或平板计算机等电子装置。数据储存装置10包括存储器控制器11以及非易失性存储器12,非易失性存储器12例如为闪存(Flash Memory)12,存储器控制器11与主机20以及非易失性存储器12电性耦接。存储器控制器11更包括了第一通讯接口111、第二通讯接口112以及微处理器113,微处理器113与第一通讯接口111、第二通讯接口112电性耦接,存储器控制器11可藉由第一通讯接口111与主机20通讯以接收上述的写入指令以及数据,存储器控制器11可藉由第二通讯接口112与非易失性存储器12通讯并存取非易失性存储器12。其中,上述之第一通讯接口111例如为SATA接口(Serial Advanced TechnologyAttachment)、通用串行总线(Universal Serial Bus,USB)、快捷外设互联标准(PCIExpress,Peripheral Component Interconnect Express)、非挥发性内存储存装置(NVMe,Non-Volatile Memory Express)、通用闪存储存装置(UFS,Universal Flash Storage)、多媒体记忆卡(eMMC,embededMultiMedia Card)以及SDIO接口(Secure Digital Input/Output),上述之第二通讯接口112例如为开放式NAND闪存接口(ONFI,Open NAND FlashInterface)或Toggle。
接着请参考图1B,非易失性存储器12包含多个数据区块(Block)121,每一数据区块121包括多个数据页(Page)122a-122n,a与n皆为自然数,例如a是1,b是2,c是3而n是256。字符线是用以控制数据页122a-122n的存取,以单层式储存(SLC,Single-Level Cell)类型的闪存为例,每一个字符线可控制一个数据页的存取;多层式储存(MLC,Multi-LevelCell)及三层式储存(TLC,Triple-Level Cell)类型的闪存,其每一字符线可分别控制二个及三个数据页的存取,以此类推。以下将以SLC类型的闪存为例进行说明,但不以此为限。
由于技术的演进,每一数据页122a-122n可储存超过一笔数据,例如:每一数据页122a-122n可储存八笔512字符(Byte)长度的数据。为了简化本发明之说明,每一数据页122a-122n假设只能储存一笔数据,但不以此为限。另外,数据页122a-122n包括用以储存数据的数据区123a-123n外,更包括用以储存额外数据的备用区(spare area)124a-124n,本发明即利用备用区124a-124n以分别储存数据页122a-122n所对应的写入时间(ProgramTime)以及时间差(Time Interval),所述时间差为在单一数据区块中,第一笔数据的写入时间与当前数据的写入时间的差值。以图1B为例,第一笔数据被写入至数据页122a,其对应的写入时间PTa为00:00,第三笔数据被写入至数据页122c,其对应的写入时间PTc为05:00,因此第三笔数据的时间差TIc为5(单位为小时),而第二笔数据的写入时间PTb为03:00,第二笔数据的时间差TIb为3。可想而知地,计录时间差所使用的位数愈多,其能记录的时间差愈准确,例如:单位为分钟。
另外,数据之间具有连续性,数据区块121乃依序接收并写入数据至数据页122a-122n中。例如,连续的三笔数据可分别称之为先前(prior)数据、当前(current)数据以及后续(later)数据,分别写入至先前数据页、当前数据页以及后续数据页,例如:先前数据页、当前数据页以及后续数据页分别为数据页122a、数据页122b以及数据页122c。此时,数据页122a储存先前写入时间及先前时间差;数据页122b储存当前写入时间及当前时间差;数据页122c储存后续写入时间及后续时间差。为了简化上述说明,如无特别需要,数据、写入时间及时间差指的是当前数据、当前写入时间及当前时间差。另外,假设数据区块121中仅有三个数据页有储存数据时,第三个数据页又可称为最后(latest)数据页。当下一笔(即第四笔)数据写入第四个数据页后,第四个数据页将替代第三笔数据而被称为最后一个数据页,以此类推。
接着将配合图1A、图1B以及图2A说明纪录数据区块的使用时间。首先,图2A为纪录数据区块的使用时间实施例一,当数据储存装置10接收到主机20所传送的写入指令以及欲写入数据页的数据时,图1A的微处理器113会执行数据写入程序(步骤201),将数据写入数据区块121。微处理器113会判断是否将数据写入至空白的数据区块(步骤203),当步骤203判断为是,也就是数据将写入于空白的数据区块,因此微处理器113将数据有序写入于空白的数据区块121中的数据页122a的数据区123a,并将对应数据页122a或当前数据的时间差TIa重置为0(步骤205),再以当前时间来更新写入时间PTa(步骤209),最后,微处理器113再将上述的时间差TIa以及写入时间PTa储存于数据页122a的备用区124a(步骤211)。如图1B所示,数据页122a的备用区124a写入了时间差TIa(值为0)以及写入时间PTa(值为00:00),接着,微处理器113完成数据写入程序(步骤213)。由于数据页122a为空白的数据区块121的第一笔储存的数据,因此数据页122a所对应的写入时间PTa也就是此数据区块121的初始写入时间。由于数据区块121已写入数据,因而变更为使用中的数据区块,后续的数据将继续写入数据区块121,直到其所有数据页皆已写入数据。
而若微处理器113于步骤203判断数据应该写入至使用中的数据区块121,微处理器113进行步骤207,将数据写入数据区块121,例如,将数据写入图1B中数据页122b的位置。此时,被写入的数据可称之为当前数据,当前数据页为数据页122b,先前数据页为数据页122a。假设当前时间为03:00,微处理器113计算当前时间与先前数据的写入时间PTa的差值以产生时间间距(time gap)(值为3-0=3),并将时间间距与先前数据页122a的时间差TIa相加以取得当前数据的时间差(值为3+0=3),即数据页122b的时间差TIb(步骤207),最后执行步骤209,以当前时间来更新写入时间PTb,因此,写入时间PTb被更新为03:00,最后,将数据页122b的写入时间PTb以及时间差TIb写入于数据页122b的备用区124b。
当另一笔数据写入数据页122c时,重复上述步骤207、209、211以及213,微处理器113即可得到数据页122c的写入时间PTc为05:00,时间差TIc为5,并将写入时间PTc以及时间差TIc写入数据页122c的备用区(spare area)124c。根据以上所述,本发明之数据储存装置10可纪录在单一数据区块中每一笔数据页写入数据的写入时间(或每一笔数据所对应的写入时间),以及每一笔数据页的写入时间与初始写入时间的时间差(或每一笔数据所对应的时间差),而时间差之值可视为数据区块121的使用时间。
而在写入数据的过程中,数据储存装置10可能发生断电后重新上电的事件,在此情况下,上述之写入时间以及时间差会因为断电而消失或被重置为0,导致重新上电后无法正确计算数据区块121的使用时间,因此本发明更提出了一种纪录数据区块的使用时间方法实施例二。请参考图2B,图2B与图2A的差别在于,当数据储存装置10发生断电后重新启动的事件时,于步骤203a,若微处理器113判断当前数据欲写入使用中的数据区块121中,微处理器113执行步骤206,即微处理器113判断最后一个数据页的位置,并读取最后一个数据页的写入时间以及时间差(步骤206)。假设最后一个数据页是数据页122b,微处理器113读取数据页122b的写入时间PTb以及时间差TIb,接着根据当前时间与写入时间PTb的差值、以及时间差TIb来得到数据页122c的时间差TIc(步骤207),并以当前时间来更新写入时间PTc(步骤209),最后,再将写入时间PTc以及时间差TIc写入数据页122c中的备用区124c(步骤211),完成并结束数据写入程序(步骤213)。
由于微处理器113可轻易取得先前数据页的相关信息,因此,当写入当前数据时,其时间差的计算乃参考先前数据页的相关信息。在实施例三中,数据页122a仅记录数据页122a的写入时间PTa(即初始写入时间)。微处理器113计算当前时间与数据页122a的写入时间PTa的差值即可得到使用时间。此实施例省略了写入时间以及时间差之计算以及节省储存写入时间以及时间差所需的空间。
请参考图3,图3为管理数据区块的方法,其应用上述写入时间、时间差以及当前时间以计算出数据区块121的使用时间,并依据使用时间来判断是否需要将使用中的数据区块121的数据搬移或写入至另一空白的数据区块。首先微处理器113开始执行管理数据区块的程序(步骤301),管理数据区块的程序可以在数据储存装置10闲置、进入节电模式或执行数据读取程序等情况时进行。微处理器113读取数据数据页122a-122n所储存的数据以判断最后一个数据页的位置,并取得最后一个数据页的写入时间以及时间差(步骤303),以图1B为例,数据页122c为最后一个数据页。接着计算当前时间与写入时间PTc的差值以得到时间间距(time gap)。例如当前时间为23:00,而数据页122c的写入时间PTc为05:00,则时间间距为18。时间间距与时间差TIc相加以即可得到使用时间(步骤305),也就是18加上数据页122c的时间差TIc,也就是18+5=23,换句话说,当前时间距离此数据区块121初始写入时间为23小时,也就是此数据区块121处于字符线开启状态下已经23小时了。接着,微处理器113判断使用时间是否大于预设的阈值(步骤307),此阈值较佳为数据区块处于字符线开启状态下仍可正常运作的时间长度有关,例如为240(单位为小时),其值更可以随着擦写次数(erase count)或读取次数(read count)之增加而予以调整,例如,擦写次数之值小于100或读取次数小于10000时,阈值为240;擦写次数之大于100或读取次数大于10000时,阈值为120,但不以此为限。当判断为是时,也就是使用时间大于阈值,代表此数据区块121处于字符线开启状态下过久,容易发生数据毁损的情况,因此微处理器113进行步骤309,将数据区块121的所有数据写入至另一个空白的数据区块,以避免当前数据区块121的数据损坏,并清除数据区块121的所有内容,之后,数据区块121即变更为一个空白的数据区块并等待数据的写入。若步骤307判断为否,也就是数据区块121的使用仍在正常或合理的范围,因此,直接结束管理数据区块的程序(步骤311)。
综以上所述,由于使用中的数据区块121除了储存数据至数据页外,更储存每笔数据页的写入时间以及其与初始写入时间的时间差的差值,因此数据储存装置的微处理器113可藉由初始写入时间与当前时间的时间差来计算使用中的数据区块121的使用时间,并判断使用中的数据区块121的使用时间是否过长,是否有需要将使用中的数据区块121的数据写入至另一空白的数据区块,并将使用中的数据区块121所储存的数据清除,以避免使用中的数据区块121处于字符线开启状态下的时间过长而导致数据损坏的情况。
虽然本发明以前述的实施例揭露如上,然其并非用以限定本发明,任何熟习此技艺者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的专利保护范围须视本说明书所附的申请专利范围所界定者为准。

Claims (10)

1.一种纪录数据区块的使用时间的方法,所述数据区块为使用中的数据区块或空白的数据区块,其特征在于,包括:
使存储器控制器接收并写入数据至所述数据区块;
使所述存储器控制器计算当前时间与先前数据的写入时间的差值以产生时间间距,并将所述时间间距与所述先前数据的时间差相加以取得所述数据的时间差;以及
使所述存储器控制器将所述数据所对应的写入时间与所述时间差写入至所述数据区块;
其中,所述时间差为在所述数据区块中,所述数据的所述写入时间与所述数据区块的初始写入时间的差值。
2.如权利要求1所述的纪录数据区块的使用时间的方法,其特征在于,所述存储器控制器接收并写入所述数据至所述数据区块的步骤包括:
所述存储器控制器判断所述数据是否写入所述空白的数据区块;以及
当判断为是,所述存储器控制器重置所述时间差,以所述当前时间来更新所述写入时间,且所述当前时间为所述初始写入时间。
3.如权利要求1所述的纪录数据区块的使用时间的方法,其特征在于,使所述存储器控制器接收并写入所述数据至所述数据区块的步骤包括:
所述存储器控制器判断所述数据是否写入所述空白的数据区块;以及
当判断为否,所述存储器控制器依据所述当前时间与先前写入时间的差值而得到所述时间间距,根据所述时间间距与先前时间差来更新所述时间差,并以所述当前时间来更新所述写入时间。
4.如权利要求3所述的纪录数据区块的使用时间的方法,其特征在于,所述存储器控制器接收并写入所述数据至所述数据区块的步骤更包括:
所述存储器控制器判断所述数据是否写入所述空白的数据区块;以及
当判断为否,所述存储器控制器把所述数据区块的最后一笔数据页当作先前数据页,所述存储器控制器读取所述先前数据页的所述先前写入时间及所述先前时间差,所述存储器控制器依据所述当前时间与所述先前写入时间的差值而得到所述时间间距,根据所述时间间距与所述先前时间差来更新所述时间差,并以所述当前时间来更新所述写入时间。
5.一种管理数据区块的方法,其特征在于,包括:
取得所述数据区块的最后一个数据页的写入时间以及时间差;
计算当前时间与所述写入时间的差值以得到时间间距,并依据所述时间间距与所述时间差以取得使用时间;以及
当所述使用时间大于阈值,使存储器控制器将所述数据区块储存的复数数据写入至空白的数据区块;
其中,所述使用时间为所述当前时间与所述数据区块的初始写入时间的差值;
其中,所述时间差为在所述数据区块中,所述最后一个数据页的所述写入时间与所述数据区块的初始写入时间的差值。
6.一种数据储存装置,其特征在于,包括:
非易失性存储器,包括至少一数据区块,所述数据区块为使用中的数据区块或空白的数据区块;以及
存储器控制器,与所述非易失性存储器电性耦接,所述存储器控制器是用以写入数据至所述数据区块,所述存储器控制器计算当前时间与先前数据的写入时间的差值以产生时间间距,并将所述时间间距与所述先前数据的时间差相加以取得所述数据的时间差,所述存储器控制器并将所述数据所对应的写入时间与所述时间差写入至所述数据区块,其中,所述时间差为在所述数据区块中,所述数据的所述写入时间与所述数据区块的初始写入时间的差值。
7.如权利要求6所述的数据储存装置,其特征在于,当使用时间大于阈值,所述存储器控制器将所述数据区块储存的所述数据储存至所述空白的数据区块,其中,所述使用时间为所述当前时间与所述初始写入时间的差值。
8.一种存储器控制器,其特征在于,包括:
第一通讯接口,用以与主机通讯以接收来自所述主机的写入指令;
第二通讯接口,用以与非易失性存储器通讯以存取所述非易失性存储器,所述非易失性存储器包括至少一数据区块,所述数据区块为使用中的数据区块或空白的数据区块;以及
微处理器,与所述第一通讯接口以及所述第二通讯接口电性耦接,所述微处理器是用以写入数据至所述数据区块,所述微处理器计算当前时间与先前数据的写入时间的差值以产生时间间距,并将所述时间间距与所述先前数据的时间差相加以取得所述数据的时间差,所述微处理器并将所述数据所对应的写入时间与所述时间差写入至所述数据区块,其中,所述时间差为在所述数据区块中,所述数据的所述写入时间与所述数据区块的初始写入时间的差值。
9.如权利要求8所述的存储器控制器,其特征在于,当使用时间大于阈值,所述微处理器将所述数据区块储存的所述数据储存至所述空白的数据区块,其中,所述使用时间为所述当前时间与所述初始写入时间的差值。
10.如权利要求8所述的存储器控制器,其特征在于,当所述数据欲写入所述空白的数据区块时,所述微处理器重置所述时间差,以所述当前时间来更新所述写入时间,且此所述当前时间为所述初始写入时间。
CN201610464257.1A 2016-03-31 2016-06-23 纪录数据区块的使用时间的方法及其装置 Active CN107291374B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW105110338A TWI576699B (zh) 2016-03-31 2016-03-31 紀錄資料區塊的使用時間的方法及其裝置
TW105110338 2016-03-31

Publications (2)

Publication Number Publication Date
CN107291374A CN107291374A (zh) 2017-10-24
CN107291374B true CN107291374B (zh) 2021-01-08

Family

ID=59240769

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610464257.1A Active CN107291374B (zh) 2016-03-31 2016-06-23 纪录数据区块的使用时间的方法及其装置

Country Status (3)

Country Link
US (1) US10824366B2 (zh)
CN (1) CN107291374B (zh)
TW (1) TWI576699B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109255057B (zh) * 2018-09-18 2021-05-07 百度在线网络技术(北京)有限公司 区块生成方法、装置、设备及存储介质
TWI696074B (zh) 2019-01-24 2020-06-11 慧榮科技股份有限公司 管理快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
TWI768336B (zh) * 2019-01-24 2022-06-21 慧榮科技股份有限公司 管理快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
CN112988040B (zh) * 2019-12-18 2023-02-24 深圳大普微电子科技有限公司 一种数据存储方法、装置、设备及可读存储介质
TWI733568B (zh) * 2020-08-27 2021-07-11 慧榮科技股份有限公司 記憶裝置、快閃記憶體控制器及其存取方法
CN116679891A (zh) * 2023-08-04 2023-09-01 青岛鼎信通讯股份有限公司 一种电能表事件总累计发生时间存储方法、装置及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346241A (zh) * 2013-08-07 2015-02-11 希捷科技有限公司 断写缓解
TW201535114A (zh) * 2013-12-09 2015-09-16 Ibm 記錄非揮發性記憶體系統中之停滯時間

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7209643B2 (en) * 2001-02-02 2007-04-24 Matsushita Electric Industrial Co., Ltd. Recording apparatus and method, playback apparatus and method, recording medium, program, and computer-readable recording medium
JP4489455B2 (ja) * 2004-02-16 2010-06-23 株式会社日立製作所 ディスク制御装置及びディスク制御装置の制御方法
KR100622349B1 (ko) * 2004-08-04 2006-09-14 삼성전자주식회사 불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법.
JP4537909B2 (ja) * 2005-08-08 2010-09-08 株式会社東芝 情報記録装置
US7516267B2 (en) * 2005-11-03 2009-04-07 Intel Corporation Recovering from a non-volatile memory failure
US7861122B2 (en) * 2006-01-27 2010-12-28 Apple Inc. Monitoring health of non-volatile memory
CN101303893B (zh) * 2007-05-09 2010-09-15 晶豪科技股份有限公司 非易失半导体存储装置及其编程方法
US7765426B2 (en) * 2007-06-07 2010-07-27 Micron Technology, Inc. Emerging bad block detection
TW200919448A (en) * 2007-10-17 2009-05-01 Silicon Motion Inc Storage device and method of accessing a status thereof
JP4838878B2 (ja) * 2009-12-04 2011-12-14 富士通株式会社 データ管理プログラム、データ管理装置、およびデータ管理方法
US8423517B2 (en) * 2010-02-09 2013-04-16 Google Inc. System and method for determining the age of objects in the presence of unreliable clocks
TWI471862B (zh) * 2011-08-19 2015-02-01 Silicon Motion Inc 快閃記憶體控制器
CN103455440A (zh) * 2012-06-04 2013-12-18 慧荣科技股份有限公司 快闪内存装置及快闪内存的数据存取方法
CN102880554B (zh) * 2012-10-09 2013-12-25 邹粤林 提高闪存芯片存储效率的方法、闪存存储系统及其控制器
CN103870399B (zh) * 2012-12-18 2017-03-01 群联电子股份有限公司 存储器管理方法、存储器控制器与存储器储存装置
CN103927272A (zh) * 2013-01-16 2014-07-16 建兴电子科技股份有限公司 固态储存装置及其数据保存方法
US9195396B2 (en) * 2013-03-14 2015-11-24 SanDisk Technologies, Inc. Estimating access frequency statistics for storage device
CN103927128B (zh) * 2013-07-11 2017-03-01 威盛电子股份有限公司 数据储存装置以及快闪存储器控制方法
CN105242871B (zh) * 2014-06-06 2018-06-05 华为技术有限公司 一种数据写入方法及装置
US20160005749A1 (en) * 2014-07-01 2016-01-07 Qualcomm Incorporated Series ferroelectric negative capacitor for multiple time programmable (mtp) devices
JP6430039B2 (ja) * 2016-01-22 2018-11-28 株式会社日立製作所 記憶装置および記憶装置の制御方法
US10496289B2 (en) * 2016-06-16 2019-12-03 Nuvoton Technology Corporation System and methods for increasing useful lifetime of a flash memory device
US9953709B2 (en) * 2016-09-06 2018-04-24 Toshiba Memory Corporation Semiconductor memory device and memory system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346241A (zh) * 2013-08-07 2015-02-11 希捷科技有限公司 断写缓解
TW201535114A (zh) * 2013-12-09 2015-09-16 Ibm 記錄非揮發性記憶體系統中之停滯時間

Also Published As

Publication number Publication date
TWI576699B (zh) 2017-04-01
US20170286012A1 (en) 2017-10-05
CN107291374A (zh) 2017-10-24
US10824366B2 (en) 2020-11-03
TW201734812A (zh) 2017-10-01

Similar Documents

Publication Publication Date Title
CN107291374B (zh) 纪录数据区块的使用时间的方法及其装置
CN107368429B (zh) 数据储存装置、内存控制器及其数据管理方法与数据区块管理方法
US8775874B2 (en) Data protection method, and memory controller and memory storage device using the same
CN111078149B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
CN106598479B (zh) 闪速存储器的故障安全擦除的方法和装置
US9176865B2 (en) Data writing method, memory controller, and memory storage device
US9280460B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
EP2003569A9 (en) Flash memory controller
US9665481B2 (en) Wear leveling method based on timestamps and erase counts, memory storage device and memory control circuit unit
US20150134887A1 (en) Data writing method, memory control circuit unit and memory storage apparatus
US20150161039A1 (en) Data erasing method, memory control circuit unit and memory storage apparatus
US8516184B2 (en) Data updating using mark count threshold in non-volatile memory
US9177656B2 (en) Data writing method, memory storage device and memory controlling circuit unit
KR20150014437A (ko) 메모리 블록에 대한 프로그래밍 단계 사이즈를 조정하는 시스템 및 방법
US9442834B2 (en) Data management method, memory controller and memory storage device
US9383929B2 (en) Data storing method and memory controller and memory storage device using the same
CN106445401B (zh) 表格更新方法、存储器储存装置及存储器控制电路单元
CN103514103B (zh) 数据保护方法、存储器控制器与存储器储存装置
US10712970B2 (en) Flash memory controller and associated accessing method and electronic device
CN113885808B (zh) 映射信息记录方法以及存储器控制电路单元与存储装置
US11347433B2 (en) Method for performing sudden power off recovery management, associated memory device and controller thereof, and associated electronic device
CN113360303A (zh) 进行数据存储管理以提升数据可靠度的方法以及相关设备
US9760456B2 (en) Memory management method, memory storage device and memory control circuit unit
US20110087828A1 (en) Method for enhancing performance of accessing a flash memory, and associated memory device and controller thereof
US11074174B2 (en) Method for managing flash memory module and associated flash memory controller and electronic device based on timing of dummy read operations

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