CN107527659B - 用于改善非挥发性闪存装置的利用率的系统及方法 - Google Patents

用于改善非挥发性闪存装置的利用率的系统及方法 Download PDF

Info

Publication number
CN107527659B
CN107527659B CN201710367600.5A CN201710367600A CN107527659B CN 107527659 B CN107527659 B CN 107527659B CN 201710367600 A CN201710367600 A CN 201710367600A CN 107527659 B CN107527659 B CN 107527659B
Authority
CN
China
Prior art keywords
erase
page
erase time
pages
actual
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
CN201710367600.5A
Other languages
English (en)
Other versions
CN107527659A (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.)
Nuvoton Technology Corp
Original Assignee
Nuvoton Technology Corp
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 Nuvoton Technology Corp filed Critical Nuvoton Technology Corp
Publication of CN107527659A publication Critical patent/CN107527659A/zh
Application granted granted Critical
Publication of CN107527659B publication Critical patent/CN107527659B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供了一种用于改善非挥发性闪存装置的利用率的系统及方法,适用于非挥发性闪存,其具有多个页,该多个页的保证每循环擦除时间及保证循环数目为已知的,系统包含用以多个个别页的擦除时间决定功能单元;通过以擦除时间测量功能单元所提供的个别页的每循环实际擦除时间来针对该个别页所经受的各擦除循环进行增量的实际总擦除时间累积功能单元;以及用以控制在闪存中的页的使用量的闪存页使用量监视功能单元,其包括根据在个别闪存页的实际总擦除时间及保证擦除时间之间的比较来选择至少一个别闪存页,保证擦除时间计算为保证每循环擦除时间及保证循环数目的乘积。

Description

用于改善非挥发性闪存装置的利用率的系统及方法
技术领域
本发明关于存储器装置,尤其是关于闪存装置。
背景技术
闪存制造商包括如中国台湾集成电路制造股份有限公司及格罗方德半导体股份有限公司的芯片代工厂。闪存技术开发商如硅储存器技术公司(Storage Technology,Inc.,SST)提供嵌入式非挥发性存储器(Nonvolatile Memory,NVM)技术给其他芯片代工厂。
US2010027335A描述磨损平均最佳化,其考量了页面的擦除次数及将上一个特定页进行擦除后所经过的时间。
由K.Keating等人所作的飞思卡尔半导体公司文献,其名为“在MC68HC908AS60上的可程序化及可擦除之闪存”及参考文献AN1827描述在MC68HC908AS60装置上的程序设计及擦除闪存,除此之外,还揭示了“通过使用递回程序及边缘读取技术(称为智能型编程演算法)以避免程序干扰”及“闪存的程序、边缘读取及擦除操作所需的内部充电泵”。
包括处理器及存储器(如SoC-系统芯片)的应用中,传统上提供了可配置且可程序化的介面控制单元,其通常由硬件实行并且允许处理器使用存储器将例如取出、读取、写入及擦除/程序(对非挥发性存储器而言)的逻辑操作转换成给存储器的电子信号。用于管理闪存的任何参数,其本身通常储存在非挥发性存储器中。
本案说明书中所提到的所有刊物及专利文件的揭露内容,及在其中直接或间接地的引用的刊物及专利文件的揭露内容,通过引用的方式并入本文。并非承认这些刊物及专利文件对于专利性的重要性。
发明内容
本文使用的词汇“闪存(Flash)”及“闪存(flash memory)”意在涵盖NOR类型闪存及任何其他电子的非挥发性储存媒介,其可被电性擦除及重新编程,但由于对于非挥发性存储装置的整体累积擦除时间的物理限制,其仅能承受在各特定区块中有限制量的写入循环或有限制量的程序化/擦除循环。闪存可在任何适合的装置中运作,例如,但不限于集成电路、存储卡、USB快闪驱动装置、固态驱动装置、个人电脑、个人数字助理、数字音效播放器、数字相机、手机、合成器、电玩游戏、科学及医疗装置、机器人及任何数字产品。
除此之外,词汇“闪存(Flash memory)”意在涵盖嵌入式闪存,其一般使用在集成电路中,例如,但不限于,系统芯片(SOC)装置。
本发明实施例可应用于任何适合的闪存技术,例如,芯片代工闪存技术。
擦除为需时最长的操作,且典型为闪存装置需时最长的操作。闪存装置是以“承受度(endurance)”来区分其特性,其中,装置只能承受一定数目的写入/读取循环(例如数千次或数百万次的循环),其取决于所使用的闪存技术。一般来说,闪存装置配备有保证忍耐度的规格。然而,将闪存装置的忍耐度提升至官方指定的规格以上,以延长主体装置的使用寿命进而延长应用装置的使用寿命,有益于大部分采用闪存的应用装置。
闪存装置供应商致力于甚至能够支持极端操作状况的规格,因此根据保守性保护带(guard band)提供额外的擦除或程序化时间(program time),以保证非挥发性存储器元件在程序化或擦除之后维持的内部逻辑位准足够远离每秒的预定阈值。保护带(guardband)可在特性化期间被决定,并可先后以几十毫秒(msec)进行擦除及以几十微秒(usec)进行程序化,或假设页擦除次数及存储器程序化的次数通常地落在这些范围内。本文中的某些实施例可让闪存装置的使用者有系统地确定何种程度上保护频带可以安全地被忽略。
某些实施例寻求提供结合多种(例如,常规的)递回擦除及/或程序演算法使用的闪存耐久性优化方法。举例来说,在美国专利案号第6842378号的图1中描述了递回擦除程序。图1的程序包括擦除操作步骤S104、擦除验证操作步骤S105及决定步骤S106的循环,其中决定步骤S106在擦除验证顺利地通过即终止循环,否则重复步骤S104及S105(递回)。在名为“程序化及擦除闪存”的文件中描述了(用于程序化及擦除在MC68HC908AS60装置上的闪存)递回程序及边缘读取,其可从飞思卡尔半导体公司(freescale)网站使用AN1827/D作为参照进行订购。
某些实施例寻求提供改善的次页选择功能,其中,每循环的实际(又称为经验的或实际的(practical))擦除时间已决定的,且用作偏好其中一页而非另一页的考量。通常地,实际每循环擦除时间并非独立的决定因素,并且其他因素亦纳入考量以决定选出哪一页接着用于再循环,例如,但不限于擦除循环数目,因此进一步应用在作为候选的次页的各种页。举例来说,给定两个页以相同数目的次数进行擦除,实际擦除时间可部分地或全部决定哪个页将接着被循环。
市售闪存装置配有明定“忍耐度(endurance)”的规格-代表若应用程序开发商想要确保装置具备足够的性能,不应超过其制造商所坚持的总擦除/程序化循环数目(通常是针对每页)。举例来说,假如忍耐度为10K(亦即,约10000循环),各装置的页可安全地擦除及程序化10K次。对于至少一些使用状况而言,技术的真实限制可能事实上并非忍耐度,而是总擦除时间(通常是针对每页)。但由于规格也明定每次擦除循环的擦除时间,对于技术的真实限制的安全、可靠的表示法,亦即,总擦除时间(通常是针对每页),可由应用程序开发商计算,其不小于(每擦除循环的擦除时间)忍耐度次数的乘积。明定每擦除循环的擦除时间的规格,就大多数的页具有比明定每擦除循环的擦除时间的规格较短的每擦除循环的擦除时间的意义上而言,事实上来说是“最坏情况(worst case)”。所以,
a.若能提供操作性测量每循环页的实际擦除时间的擦除时间决定功能单元,以及
b.若能使用给定经擦除的页的各擦除循环的真实实际擦除时间提供总擦除时间累积功能单元来累积总擦除时间,则
c.应用程序开发商可安全地使闪存的页承受超过明定忍耐度的规格的循环的总数目,其取决于实际总擦除时间(从上述的b)及技术(上述计算产品)的真实限制的所运算的表示法之间的比较。
根据某些实施例,擦除/程序化累积擦除时间为每页监视的,而不是只监视每页的擦除数目。接着,通过例如选择页来储存输入数据,来执行磨损平均最佳化,特别是基于比较用于闪存装置中的不同页储存的不同擦除/程序化累积擦除时间来执行。举例来说,每次需要选择一页时,可选择擦除/程序化累积擦除时间最短的页。可理解的是,某些先前技术系统教示“磨损平均(Wear level)”可使用擦除数目操作化,而不是使用累积擦除时间。举例来说,公告的印度专利申请案号第IN01022CH2009A号,且在2010年11月12日发表的,标题为“在NAND闪存中的坏区管理及磨损水平的系统与方法”定义了“磨损平均计数为在区块上被擦除的数目”。
根据某些实施例,预先考虑用于各页的剩余擦除时间,以进一步让装置中的页与页之间的磨损平均基于预期的页寿命期望度(expectancy)进行最佳化(且因此为装置的总使用年限的最佳化)。举例来说,假如在10毫秒(msec)内将第1页擦除,且在20毫秒(msec)内将第2页擦除,可预期第1页能承受比第2页更多的擦除循环,其可在适合的磨损平均演算法中纳入考量,以用于次页选择。
某些实施例寻求提供数据供任何适合的“最佳选择(best choice)”的演算法使用,来选择要擦除/程序化的次页,例如在下文描述中所叙述的传统页管理的演算法:Agrawal,N等人所著,在2008年6月USENIX进程的技术研讨会(Proceedings Of TheUSENIXTechnical Conference)中揭露的“对固态硬盘性能之设计权衡(Design TradeoffsFor SSD Performance)”,其可从下列网络连结获得:research.microsoft.com/pubs/63596/usenix-08-ssd.pdf,或是在非挥发性存储储存器领域中更多任何普遍已知的页管理演算法。
某些实施例寻求利用单一闪存装置页中的老化的减缓。
某些实施例寻求提供一种替代性的闪存管理的演算法来选择用于擦除/程序化的次页,其使用最低的累积擦除时间作为最佳标准的其中之一,或本身唯一的最佳标准,而不是使用最低磨损平均计数当作最佳标准。
某些实施例寻求通过比较多个页的个别擦除/程序化累计擦除次数来平均全部闪存页的磨损,例如,当选定至少一个下页来写入时。
可理解的是,在本文叙述及揭示的页擦除方法在结合各种各样的页面管理算法是有效的。
本发明通常至少包括下列实施例:
实施例1:一种用于改善非挥发性闪存装置的利用率的系统,适用于非挥发性闪存,其具有多个页,该多个页的保证每循环擦除时间及保证循环数目为已知的,该系统包含:
a.擦除时间决定功能单元,用以至少一循环提供多个个别页的每循环实际擦除时间;
b.实际总擦除时间累积功能单元,用以储存各个别页的累积的、横跨多个循环的实际总擦除时间(页属性b),该实际总擦除时间累积功能单元以该擦除时间决定功能单元所提供的一个别页的每循环实际擦除时间来针对该个别页所经受的各擦除循环进行增量;以及
c.闪存页使用量监视功能单元,控制在该非挥发性闪存中的页的使用量,其包括根据在该个别闪存页的该实际总擦除时间及一保证擦除时间之间的比较来选择至少一个别页,该保证擦除时间计算为该保证每循环擦除时间及该保证循环数目的乘积。
一般来说,保证循环数目包括闪存装置规格中规定的“忍耐度”值。
实施例2:一种非暂态电脑可读取记录媒体,其上存储有一电脑可读取程序码,该电脑可读取程序码被处理器执行时,执行一种用于改善非挥发性闪存装置的利用率的方法,非挥发性闪存装置具有多个页,该多个页的保证每循环擦除时间及保证循环数目为已知的,该方法包括:
a.使用擦除时间决定功能单元,用以至少一循环提供多个个别页的每循环实际擦除时间;
b.使用一实际总擦除时间累积功能单元,用以储存各个别页的累积性的、横跨多个循环的实际总擦除时间,该实际总擦除时间累积功能以该擦除时间决定功能所提供的一个别页的每循环实际擦除时间来针对该个别页所经受的各擦除循环进行增量;以及
c.使用一闪存页使用量监视功能单元,用以控制在闪存中的页的使用量,其包括根据在该个别闪存页的该实际总擦除时间及一保证擦除时间之间的比较来选择至少一个别页,该保证擦除时间计算为该保证每循环擦除时间及该保证循环数目的乘积。
实施例3:根据任何先前的实施例的一种系统,其中该实际总擦除时间累积功能单元包括一固件程序码,该固件程序码定义专用于维持用于非挥发性存储器中各页的该实际总擦除时间的一总擦除时间变数。
实施例4:根据任何先前的实施例的一种系统,其中在非挥发性闪存装置寿命的开始点,用于各页p的该总擦除时间变数初始化为0,且该总擦除时间变数在每次页被擦除时以所储存的页p的每循环实际擦除时间来增量,使得该总擦除时间变数在任何给定的时刻维持该实际总擦除时间。
通常来说,所储存的实际总擦除时间并非固定的,而是通过所测量的,页p的大多数最近擦除操作的实际擦除时间来重复地增加。
实施例5:根据任何先前的实施例的一种系统,其中该擦除时间测量功能单元用以测量该等页的每循环实际擦除时间,并进而储存一“页属性a”,该页数性(a)为每循环实际擦除时间的一函式。
实施例6:根据任何先前的实施例的一种系统,其中该函式包含用于至少一页的一单一性(unity)函式,因此至少一页的该属性(a)包括至少一页的每循环实际擦除时间。
实施例7:一种用于改善非挥发性闪存装置的利用率的方法,非挥发性闪存装置具有多个页,该多个页的保证每循环擦除时间及保证循环数目为已知的,该方法包括:
a.使用一擦除时间决定功能单元,用以至少一循环提供多个个别页的每循环实际擦除时间;
b.使用一实际总擦除时间累积功能单元,用以储存各个别页的累积性的、横跨多个循环的一实际总擦除时间,该实际总擦除时间累积功能单元以该擦除时间决定功能单元所提供的一个别页的每循环实际擦除时间来针对该个别页所经受的各擦除循环进行增量;以及
c.使用一闪存页使用量监视功能单元,用以控制在闪存中的页的使用量,其包括根据在该个别闪存页的该实际总擦除时间及一保证擦除时间之间的比较来选择至少一个别闪存页,该保证擦除时间计算为该保证每循环擦除时间及该保证循环数目的乘积。
实施例8:根据任何先前的实施例的一种系统,其中该擦除时间决定功能单元包括固件程序码,其用于执行针对各页的擦除。
实施例9:根据任何先前的实施例的一种系统,其中,对至少一页而言,该固件程序码提供一初始值给一擦除时间变数,然后逐步以一时间量增加该初始值,其中,在各步骤中,该至少一页以该时间量进行擦除,直到擦除品质被视为是足够的,此时该擦除时间变数的值被认为是针对该至少一页的最近的实际擦除时间。
实施例10:根据任何先前的实施例的一种系统,其中该页属性a维持在该非挥发性闪存中。
实施例11:其中具有低每循环实际擦除时间的闪存页用于数据储存,并优先于具有高每循环实际擦除时间的闪存页,藉此提升所给定的非挥发性闪存可承受的该循环数目。
实际例12:更包含一次页选择逻辑来选择接下来将被写入的次页,且该次页选择逻辑执行:
首页选择考量,在所有其他条件均相同的前提下,藉其优先选择每具有低每循环实际擦除时间的闪存页而不是具有高每循环实际擦除时间的闪存页;以及
至少一其他页选择考量。
实施例13:根据任何先前的实施例的一种系统,其中该页属性b维持在非挥发性闪存中。
实施例14:根据任何先前的实施例的一种系统,其中该至少一其他页选择考量包括迄今应用于各种闪存页的该擦除循环数目,使得在其他条件相同的前提下,优先选择迄今已应用少量循环数目的闪存页,而非迄今已应用大量循环数目的闪存页。
实施例15:根据任何先前的实施例的一种系统,其中该擦除时间决定功能单元使用一计数器来通过计数需要多少已知期间的擦除操作来达成个别页的擦除,以估计个别页的该每循环实际擦除时间。
实施例16:根据任何先前的实施例的一种系统,其中该函式包含一后处理操作以结合多个擦除时间,该等擦除时间分别针对特定页的多个循环而产生,且该等擦除时间储存于该非挥发性闪存装置中,至少直到该后处理操作已经执行之后。
实施例17:根据任何先前的实施例的一种系统,其中该后处理操作包含计算一特定页的多个最近实际擦除时间的整体的一移动平均。
实施例18:根据任何先前的实施例的一种系统,其中该闪存页使用量监视功能单元操作性的用于针对超过该保证循环数目的一总循环数目选择至少一个别存储器页。
实施例19:根据任何先前的实施例的一种系统,其进一步包含:
一处理单元,配置为用于执行储存在存储器中的固件程序码;以及
一闪存介面控制单元,耦合于该处理单元及该非挥发性闪存装置,用以至少控制该闪存装置的读取、程序化及擦除操作的执行,擦除操作包括从闪存装置的页中选择一闪存页,用于执行至少一种擦除操作及在该处理单元决定的一预编程序期间之后,命令至少一擦除操作终止,且其中该固件程序码用以控制该闪存介面控制单元,且其包括该擦除时间决定功能单元、该实际总擦除时间累积功能单元及该闪存页使用量监视功能单元。
与本领域已知的物理性闪存装置连接的闪存介面控制单元可以可控制闪存介面控制单元的硬件及固件来实现;固件的控制操作例如包括下列操作,并适当排序如下:
提供本文中描述的猜测擦除时间(guessed erase time,GET)参数给闪存介面控制单元,以使闪存介面控制单元能够执行闪存擦除操作,如图1的操作步骤103,通常让其能够执行其的期间为猜测擦除时间的闪存的擦除操作;
使用闪存介面控制单元来验证擦除,例如依据图1的操作步骤104;
影响另一个增量擦除,并接续另一个擦除验证,如依据图1的操作步骤106;以及
根据固件更新参数的结果,例如,依据图1中的操作步骤107和操作步骤108,并进行应用下一轮或下一递回,其中用于程序化的新数据到达所选择的页,并重新进行上述步骤。
实施例20:根据任何先前的实施例的一种系统,其中该后处理包含产生尚未针对一递回i测量的一即将到来擦除时间的一线性近似,该线性近似根据在递回i之前的多个递回中测量的多个擦除时间的一线性结合所产生。
一般来说,线性近似包括在Y=AX中计算系数A,例如,通过计算在最近(当前递回i)测量的擦除时间及在递回i之前(递回i-1)测量的擦除时间之间的差异,并将此差异加入用于递回i所测量的擦除时间,以当作用于在递回i+1中要测量的擦除时间的预测值。另外,选择N个最近的擦除时间,使用任何适合的方法估计系数A,例如,使用最小均方法(leastmean squares),并将系数A加入最近的擦除时间。更普遍来说,可使用任意组合,例如针对在递回i之前的递回直接或另外测量的擦除时间的线性组合来近似递回i的擦除时间。
上文提到的实施例及其他实施例描述细节在下一段。
任何在文章或图中所出现的商标为其所有者的资产,并只在本文出现来解释或说明本发明实施例可如何执行的一种例子。
除非特定声明,否则如下文讨论所显现的,可理解的从下文中显而易见的,在本案说明书内文中所使用的词汇如“处理(processing)”、“计算(computing)”、“估计(estimating)”、“选择(selecting)”、“排列(ranking)”、“分等(grading)”、“计算(calculating)”、“决定(determining)”、“产生(generating)”、“重新计算(reassessing)”、“分类(classifying)”、“产生(generating)”、“制造(producing)”、“立体匹配(stereo-matching)”、“登记(registering)”、“检测(detecting)”、“联合(associating)”、“叠加(superimposing)”、“达到(obtaining)”等,其代表至少一种电脑或电脑系统、或处理器或相似电子电脑装置的行为及/或程序,其将表示物理性质如电子、电脑系统的暂存器及/或存储器中的数量的数据转换成以电脑系统的存储器、暂存器或其他信息储存器、传送或显示装置中的物理量类似表示的其他数据。词汇“电脑(computer)”应被广泛地理解为包括有数据处理能力的电子装置,其包括个人电脑、服务器、嵌入式核心、电脑系统、通信装置、处理器(数字信号处理器(DSP)、微处理器、现场可编程门阵列(FPGA)、特殊应用集成电路(ASIC)等)及其他电子计算装置等作为非限定的例子。
本文单独列出的元件不需要是不同的构件,或者可以是相同的结构。元件或特征可能存在的叙述意指包括(a)其中有该元件或该特征存在的实施例;(b)其中不存在该元件或该特征的实施例;以及(c)其中该元件或该特征选择性存在的实施例,例如,使用者可配置或选择元件或特征是否存在。
附图说明
本发明的实施例以下列图式说明:
图1为说明用于使用擦除时间决定功能以针对至少一个循环提供个别页的每循环实际擦除时间的方法的简化流程图。
图2为说明用于改进非挥发性快闪存储装置的使用率的方法的简化流程图,非挥发性快闪存储装置具有多个页,该多个页的保证每循环擦除时间及保证循环数目为已知的。
涵盖在本发明范畴内的方法及系统可包括一些(如任何的子集合)或所有在以举例方式具体说明的实施方式中示出的功能方块,其以任何适合的顺序排列,例如,如图所示的。
在本文中描述及说明的计算性质、功能性或逻辑性的元件可以各种形式实现,举例来说,硬件电路,例如但不限制于自订制的超大型集成电路或闸阵列,或可程序化硬件装置,例如但不限制于现场可编程门阵列(FPGAs),或储存在至少一种具体的或非具体的电脑可读取媒体中且至少一种处理器或其任意适当组合可执行的软件程序码。可由一种参考问题的功能元件而集体动作或行为或如本文所述的动作的特定序列的程序码或其多个形成特定功能元件。举例来说,许多程序码序列可散布到元件,如但不限制于物体、程序、函式、子程序及程序,且元件可源于许多经常协同操作的电脑数据。
本文的各功能及方法可被执行在软件、固件、硬件或其任意组合。明定以软件执行的功能或操作可替代性的整体或全部以等效硬件或固件实现,且反之亦然。任何在本文描述的逻辑功能可以例如实时应用程序并且其可以采用任何合适的架构选项,诸如但不限于数字信号处理器(DSP)、现场可编程门阵列(FPGA)、特殊应用集成电路(ASIC)或其任意组合。
本文所提的任何硬件元件事实上可包括一种或多种硬件装置如芯片,其可彼此共处或彼此远离。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域相关技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护的范围。
市售的闪存装置具有规定“擦除时间(Erase Time)”的规格或数据表,通常给出每页(用于页擦除)及每个整体阵列(用于所有页的“整体擦除(mass erase)”)。擦除时间(涉及擦除(erasure)的单一循环)通常规定有最小(本文中称为“每擦除/程序化循环的最小擦除时间”)边界及最大边界。制造商保证擦除的时间超过最小值会产生良好的擦除。擦除的时间超过最大值可能会导致由于“过度擦除”造成的损坏。所以制造商保证,若页的擦除时间在最小边界及最大边界之间,会产生良好擦除而避免过度擦除。除非另有说明,在本说明书中,“擦除时间”代表每页(而不是每整个阵列)的最小(而不是最大)擦除时间。
市售的闪存装置的规格或数据表还规定装置的“忍耐度”,且通常另外在装置的可靠性特性中说明。用语“忍耐度”通常用于指擦除/程序化循环的数目,代表任何页只要不超过擦除/程序化循环数目,闪存制造商保证,闪存装置能产生足够性能,且能够防止每秒页或甚至整个装置的过早“死亡(death)”。尽管并非限制性的,这个参数的测试方法可符合联合电子装置工程委员会(Joint Electron Device Engineering Council,JEDEC)标准A117。
决定闪存的页能有效忍耐多长时间的真正限制不是其已经历的擦除/程序化循环数目,而是总擦除时间(针对全部循环)。由于如上所述,规格也规定了每擦除循环的擦除时间,各闪存页的真正限制的可行的表示法,亦即,可由应用程序开发商计算总可行的擦除时间(针对全部循环),例如,不小于(每擦除循环的最小擦除时间的)乘积,或(每擦除循环的最大擦除时间-若闪存供应商规定了此参数)次数(忍耐度如擦除/程序化循环数目)的乘积。后者方案可进一步扩展装置的使用,同时仍可维持在闪存供应商规格的范围内。
然后,若能在不超过上述乘积的情况下完成,应用程序开发商可使用各页达到该限制,有时甚至包括能够使用页超过其规定的忍耐度(例如,超过其指定的擦除/程序化循环数目)。
但就大多数的闪存的页(如15%、25%、三分之一或更多的闪存页)可能具有比规格规定的每擦除循环的擦除时间更短(例如,5%、10%、20%、30%或更短)的每擦除循环的擦除时间的意义上来说,每擦除循环的规格规定的擦除时间事实上是“最坏情况”的值。
所以,若可提供擦除时间决定功能,其经操作以测量每循环个别页的实际擦除时间(页属性a)的,且若可在页已擦除的前提下使用各擦除循环的真实实际擦除时间来提供总擦除时间累积功能,以累积各个别页的实际总擦除时间(页属性b),则c.应用程序开发者可根据实际总擦除时间(页属性b)及擦除时间之间的比较,而安全地让闪存的页承受超过规格规定的忍耐度的总循环数目,其中,上述比较中的擦除时间计算为下列参数的乘积:保证的每循环擦除时间及保证的循环数目。这可通过,例如通过计算时间,或通过计算已知期间(如具有一般的预定义期间的已知期间)的操作来实现,一般来说,计算已知期间计算直到擦除操作为已知的或被认为是已经完成的。
一般来说,提供擦除时间测量功能,其可操作以测量每循环的页实际(也称为“实际的(practical)”)擦除时间,并储存页属性a。可以使用任何适当技术实现此功能。举例来说,可提供,例如可针对各页的每次擦除执行的固件程序码,并且可操作以将操作计数,并且最后通过乘上已知的操作期间,计算每次擦除操作花费多少时间。或者,对于使用硬件状态机器及相关计时元件的硬件实现,可提供适当的硬件计时器或计数器计算直到擦除完成为止所花的时间。固件可向擦除时间变数(如下文所述猜测擦除时间(GET)参数)提供任意小的初始值,并且逐步地增加变数值,如参考如本文所述的图1,直到达到经验擦除时间,其可被视为该页的每循环的实际(也称为“实际的(practical)”)擦除时间。或者,可以对针对特定页n的各种擦除而产生的多个经验擦除时间(empirical erase times)执行后处理。举例来说,页n的“当前(current)经验擦除时间”可定义为非为最近的“测量(measurement)”,而是被定义为多个(如第2个-第15个)最近测量的平均值(通过针对页n的最近多个,例如2个或15个,擦除运行的固件程序码产生的经验擦除时间的平均值)。
更普遍来说,可以执行被发现可造成增强(更好)的预测值的任何种类的后处理。随着页老化,其擦除的多个实际擦除时间可大致上维持一致,或可能例如些微增加而浮动。为了增强预测,可实验性地将一些装置循环“至死亡”,同时在各页的寿命内测量每页的实际擦除次数;可接着相应分析出从,例如,从针对相同页较早的,例如,第N个实际擦除时间,或者,如上所述,从针对相同页的较早的多个实际擦除时间的预定义序列,来最佳预测第N+1个实际擦除时间的近似法。
一般来说,页的每次循环的实际(也称为“经验”)擦除时间保持在非挥发性存储器中,使得每次循环的实际(也称为“经验”)擦除时间参数经由电源开/关来维持。
一般来说,提供总擦除时间累积功能单元,在页正在被删除的情况下,其使用各擦除循环的真实实际擦除时间,用以累积实际总擦除时间,并储存页属性b。可使用任何适合的技术来实现此功能单元。举例来说,提供固件程序码,其定义专用于在非挥发存储器中维持各页的总擦除时间变数。对于每个页p,该变数在装置寿命的开始时初始化为零,且该变数在每次该页被擦除时以页p储存的每循环实际(又称为“经验”)擦除时间来增量,使得总擦除时间变数在任何给定时刻均维持在总实际擦除时间。
用于使用上述页属性a(及可选择的使用页属性b)的另一机制为下列应用例子d:每循环具有相对短的实际擦除时间(如低水平的页属性a)可优选于每循环具有相对长的擦除时间(如高水平的页属性a),从而增加所给定闪存可承受的循环数目。可理解的是,任何适合的选择次页逻辑可用来选择将被写入的次页。逻辑可使用任何适当的计算或逻辑方程序来组合以下内容:用于页选择的应用程序特定考量及/或装置特定考量,加上每循环具有相对短的擦除时间(如低水平的页属性a)优选于每循环具有相对长的擦除时间(如高水平的页属性a)的考量。
根据某些实施例,页管理中的一种考量在可能的程度上将全部页的磨损平均维持在统一的水平。由于在大致上相同的磨损水平下,可用的页越多,所以选择次页进行再循环的灵活性越大。相反地,假如一些页比其他页更早“死亡”,则这减少了页管理的灵活性。
图1为可在新数据须储存在闪存装置中时执行的范例方法,通常包括从闪存的多个页中选择页,其将储存新数据,而因此将经历再循环。
演算法采用的一般(与特定页相反)参数可包括下列的一些或全部:针对例如最大擦除时间(max erase time,MET)、增加步骤的擦除时间(ETIS)、页总擦除数目(TPEN)等的所有数值理所当然仅为说明性的:
由存储器的供应商规定的最大擦除时间(Max erase time,MET)-又称为“规格规定最大擦除时间”=(假设)125毫秒(ms)-来自闪存供应商(vendor)/供应商(supplier)规范,其至少将在装置之间及/或在与单一装置内的页相关联的页之间及/或操作电路之间的制造差异,以及装置毁损纳入考量,而确保在装置的整个寿命期间内具有稳健的功能。一般来说,若应用此擦除时间,亦即,若此段时间恰好被分配到各擦除循环,则确保成功擦除先前数据的可能性为100%。若超过每次擦除操作的指定的最大擦除时间,则存储器的寿命可能会缩短,且/或性能可能降低到用于闪存装置声称的规格以下。
猜测擦除时间(Guessed-erase-time,GET)=(假设)60ms。最大擦除时间(MET)的p%,例如最大擦除时间的50%(或10%、35%、75%或其他适当的百分比);猜测擦除时间是循环的起始点。通常,猜测擦除时间(GET)是时间量的初始猜测,以最大擦除时间(MET)的百分比表示,其是成功擦除闪存的给定页(也称为“经验”或实际擦除时间)经验上所需的。假如猜测擦除时间相对较短(例如,仅为规定擦除时间,即最大擦除时间的一小部份(lowpercentage),而不是最大擦除时间的较大部分(high percentage)),则如果经验性的证明擦除时间是短的,这可能导致擦除时间的增益,或者如果经验性的证明擦除时间是长的,则可能导致性能上的损失。所以,此处存在权衡:当擦除验证时间对于擦除时间是可忽略的,相对于可能的增益,以低擦除时间起始的惩罚是小的。相反地,当擦除验证时间对于擦除时间而言是大的,相对于可能的增益,以低擦除时间起始的惩罚是大的。因此,当擦除验证时间对于擦除时间是微不足道的,在设计上的考量可以低擦除时间起始(如甚至10%或更低),当擦除验证时间对于擦除时间是大的,在设计上的考量可以高擦除时间起始(如甚至75%或更高)。擦除验证时间代表给定的闪存装置的页实际上已经被成功地擦除所需的时间,或代表进行整页的边缘读取(margin read)所需的时间,抑或是代表读取有擦除验证属性的整页所需的时间;这些参数可从闪存的规格中推知,如在本文中参考图1的操作步骤4所描述的。
猜测擦除时间(GET)同样以经验结果作为依据。
举例来说,当规格规定最大擦除时间为120ms,实验性的页擦除试验可产生以下结论,例如,90%的页具有75ms或更高的实际擦除时间。在此状况下,例如,75ms可设定成所有页的猜测擦除时间,而非以低擦除时间起始,因为以低擦除时间起始对于性能而言会是无用且浪费的。更普遍来说,猜测擦除时间可设定成一个水平,该水平经估计来使预定百分比的页的实际擦除时间在该水平之上。使用外来资源或在本领域已知的其他任何方式的信息,可实验性地决定评估标准。假如针对不同页的有效的猜测擦除时间存在大量的差异,也能够定义每页设定的猜测擦除时间。例如,若通过从设定特定页的猜测擦除时间能获得页面忍耐度的大量增益,来调整非挥发性快闪存储储存空间所需的花费,则定义每页设定的猜测擦除时间是合理的。
针对下述流程的擦除时间增量阶距(Erase-time-increment-step,ETIS)=(假设)10(ms)粒度;在这个范例中-约10%的最大擦除时间(MET)。
页总擦除数目(Total-page-erase-number,TPEN)=约5000循环(又称为“忍耐度”)根据闪存销售商规格,闪存(中的页)可无失败地忍受的擦除/读取循环数目。
页总擦除时间(Total-page-erase-time,TPET)=TPEN*最大擦除时间(MET)-闪存的总擦除时间,其不将因程序导致的磨损平均纳入考量。
可将(针对闪存的页n的)页特定参数计算作为例如,页属性及/或将页特定参数储存在电脑存储器中作为页属性,其可包括下列的一些或全部:
当前实际擦除时间(Current-practical-erase-time,CPETn)-最近在页n上执行的成功擦除的,以如毫秒(msec)表示的经验记录的期间。
累积实际擦除时间(Accumulated-practical-erase-time,APETn)-在页n上执行所有累积的擦除循环的,以如毫秒(msec)表示的经验记录的总期间。
页擦除累积数目(Page-erase-accumulated-number,PEANn)={迄今在页n上执行的擦除数目};一旦累积,此实际数目部分代表了页n实际的忍耐度。
页擦除估计剩余时间(Page-erase-estimated-remaining-time,PERTn)=可被估计如:PERTn=页总擦除时间(TPET)-累积实际擦除时间(APETn)
页估计剩余忍耐度(Page-estimated-endurance-left,PEELn)=估计页n剩余的擦除数目(亦即,剩余擦除循环)
页擦除估计剩余时间(PERT)及页擦除累积数目(PEAN)的信息针对各页n储存在闪存中,例如,储存在页标头(page header)中。每次页n被擦除时,页擦除估计剩余时间(PERT)及页擦除累积数目(PEAN)针对页n进行更新。
可从页擦除估计剩余时间(PERT)及页擦除累积数目(PEAN)如以下详细说明直接运算ILAN页估计剩余忍耐度(PEELN)。
一般来说,页擦除可根据经验擦除时间设定,可不定期的将经验擦除时间特征化,例如,在每页的时间0(此时间点在装置第一次使用时)进行特征化,且/或在时间0之后,例如“经验擦除时间”可再次进行一或多次特征化(如每次页擦除时,或在每几次(如5页、10页或50页)或其他数目)擦除操作时;如周期性地)。
基于页擦除的估计寿命可为基于页总擦除时间(TPET)的,亦即,所允许的总擦除时间,如在由闪存销售商发行的闪存的规格中规定的。举例来说,闪存销售商可规定页总擦除数目(TPEN)、忍耐度(以循环表示)及每擦除操作的擦除时间,最大擦除时间(MET)(以毫秒(msec)/操作表示)及闪存的使用者所依赖的总擦除时间的上限为页总擦除时间(TPET)=忍耐度循环数目×每次擦除操作的擦除的乘积。举例来说,若最大擦除时间(MET)=125毫秒(msec)且页总擦除数目(TPEN)=5K循环,页总擦除时间(TPET)为5K×125ms=625s。
图1为用于增加闪存有效寿命的适当方法的简化流程说明图。图1的方法可包括一些或全部下列操作步骤,如所示的适当排序如下:
操作步骤101:开始状况通常包括:
a.为了简化,假设所有闪存页都已被写入。事实上,所有闪存页起始为空白,但接着空白页可按顺序被写入,直到闪存页全满。然而,本发明未假设如此,且更普遍来说,本文的教示同样的,加以必要的变更,适合用于不一定是简化地写入下个空白页的状况,以及适合用于其中比所有页都已被写入还少的情况。
b.起始时,所有页的页擦除估计剩余时间(PERTn)值被初始化为页擦除估计剩余时间(PERTn)=页总擦除时间(TPET)。
c.用于储存在闪存中的新数据刚到达。
操作步骤102:应用任何传统次页优先管理方法/演算法,例如本文所引用的Agrawal等人所描述的次页优先管理方法/演算法,以辨识要进行再循环的“最佳选择”页(对于此流程的当前递回也称为“当前页”)
接着,执行包含多个阶段的逐步擦除操作;一旦页经确认已被彻底擦除,可将这些操作终止。可设计逐步擦除操作来包含任何本领域已知关于“智能型擦除”的教示,例如在美国专利案号US20060053247中所教示的。可理解的是,擦除时间通常是预先定时的,其中采用了适当的定时器,以确保擦除时间的各步骤/增量具有预定期间,例如,10毫秒(ms)。因此,整个擦除循环所累计的总时间可通过计算“完成”擦除操作的多个步骤所需的时间(例如为了达到高擦除品质所需的时间)来决定。
逐步擦除操作可例如包括下列操作3-6,适当排序如下:
操作步骤103:将猜测擦除时间(GET)期间的擦除页应用于操作2中选择的当前页。
操作步骤104:验证擦除品质(例如,使用在嵌入式闪存阵列中可用的应力读取特性)。举例来说,对于本领域的中国台湾集成电路制造股份有限公司(TSMC)的闪存技术所声明的,读取操作的“擦除验证”特性可用来检查擦除品质。这种类型的读取在TSMC术语中称为“边缘读取”。
操作步骤105:假如擦除品质良好,则使用任何适合在本领域且已知的良好准则,把当前页的经验擦除时间CPETn加到APETn,应用实际累积擦除时间,并进入步骤7。
操作步骤106:否则把ETIS加到现有页的实际擦除时间CPETn;(进一步)应用时间为ETIS的擦除,并进入步骤5。
操作步骤107:每次当页n被再循环时,将页n的实际(又称为“经验”)忍耐度减少1,例如,以增量PEANn减少1次。
操作步骤108:新的页擦除估计剩余时间PERTn=当前(亦即,来自此流程的先前递回的)页擦除估计剩余时间(PERTn)-CPETn(以毫秒(ms)表示的最近成功擦除的期间)。
操作步骤109:操作步骤102-108可为递回时间及再次操作,例如,每次新数据到达闪存中的储存器时进行的再次操作。每次实践上述过程,每页的经验擦除时间的结果预期会比最大擦除时间(MET)短。
可理解的是,随着递回执行的次数越来越多,有关闪存的页的数据,其通常包括各页的经验擦除时间CPETn及经验/估计剩余擦除循环(PEELn),跟着累积。为了次页选择,可考虑移除对于PEELn=0或PEELn太靠近(例如,由临界值决定的)零的所有或一些页。
在第i次递回(i>1)中,操作2通常使用在第i-1次递回的操作3-8所产生的输出,例如,使用上述流程而已经历擦除的各页n以下列参数特征化,其可被储存:
i.如在上述操作步骤107中更新的当前PEANn。
ii.如在上述操作步骤106中更新的当前CPETn。
iii.如在上述操作步骤108中更新的当前PERTn。
当执行上述操作步骤102,这些参数或其他参数可用来管理次页优先度。举例来说,可顺序地依循下例子操作I、II执行操作2:
子操作I:估计PERTn如下:
(a.1逐步执行操作8)PERTn=页总擦除时间(TPET)-APETn
(a.2替代操作8)PERTn=页总擦除时间(TPET)-APETn-(常数*PEANn)
常数*PEANn为考虑到闪存擦除时间的降低的校正或安全因素。即便是在计算估计剩余擦除时间之后,仍需提供可取决于到目前为止完成的循环数目的额外的安全保护带。
数值范例
页总擦除时间(TPET)=5K×125ms=625s
APET=340秒
PEANn=2800循环
常数=0.01
PERTn a.1=625-340=285秒
PERTn a.2=625-340-(0.01*2800)=257秒
在上述的例子,迄今平均实际擦除时间已经为340/2800=121毫秒(msec)。因数或常数“预测”剩余擦除循环约(285s-257s)/121ms=231循环,其小于上述替代方法a.1的预测值。这因素可由在闪存装置寿命的整个期间中的闪存擦除时间的特性推知,或从执行者想要应用的任何安全标准或风险控制推知。假如在给定技术中发现擦除时间很稳定,则此因素可为零(常数=0),且在此情况下设定a.1及a.2彼此收敛。
关于a.2,一些闪存的磨损可能无法通过使用“最短经验擦除时间”作为用于选择次页的(唯一)准则来进行优化,例如,因为程序也可造成闪存磨损。再者,实际(经验)擦除时间在页的寿命期间可能会改变(例如,可能会随着页老化而增加)。
子操作II:使用操作步骤101产生的估计的PERTn值,可进而估计给定页的PEELn,如下:
(b.1)PEELn=PERTn/CPETn
(b.2)PEELn=PERTn*PEANn/APETn
除非有与本专利申请案的范筹无关的其他使用状况规格考量,具有最高的当前剩余忍耐度的页可经由操作II选出要写入的次页。假如存在这样的考量,该等考量可以任何适当的形式与各候选次页的PEELn的相对尺寸的考量进行结合。举例来说,可制定if-then的逻辑以决定以何种考量来主导,或可将基于页的PEELn及与其他使用状况特定考量相关的页的特性的适当加权结合的分数分配给各页。
数值化例子,当使用上述的选择a.1及b.1:假定最大擦除时间(MET)=125ms,TPEN=5K,且在该条件中的页总擦除时间(TPET)=625秒。则页n通过以下进行特征化:
CPETn=80ms
PERTn=250秒
PEELn=250/0.080=3125剩余擦除循环
若给定页,例如,在10毫秒(ms)内良好擦除,由于保证闪存维持至少一定的总擦除时间,意味着可应用更多的擦除操作(例如,若忍耐度为5000循环,可应用多于5000次的操作),并且,若某些页能在少于规格中规定的最大擦除时间(MET)内擦除,则可不偏离总擦除时间而应用更多的擦除操作。这是因为闪存供应商规格含蓄地保证给定的存储器可维持至少一定的总擦除时间,并维持充分发挥功能且满足所有性能规格,甚至考虑到所有超大型集成电路的已知变数。因为各闪存擦除把一处的电荷移动到另一处;这种电性操作慢性侵蚀闪存的电路,这些已知变数已经纳入考量。
举例来说,假设保证的总擦除时间为X秒,且/或剩余的总擦除时间为Y秒,若已知页可在10ms内被擦除,而若页要求20ms的擦除时间,则该页能够被擦除两次多(如可由最大擦除时间(MET)所暗示的)。可理解的是,因为闪存技术的某些细节,在页与页之间的每次擦除操作的擦除时间中电路变异产生重大改变。因此,某些或大多数的页可能确实需要远小于单一最大擦除时间(MET)值的擦除时间,其为设计用来应用于所有页的每次擦除操作的实际上最糟糕情况擦除时间值。通常最大擦除时间(MET)值事实上与闪存之中的最糟糕情况页所需的每次擦除操作的最大擦除时间相等,或超出。
可采用考虑闪存页的退化的第二“精确的”实施例,随着页老化,例如,随着在页上执行越来越多次的擦除操作,退化导致每次擦除操作的擦除时间随着缓慢增加。举例来说,可通过选择在闪存中具有最大剩余擦除循环数量的页来选择要进行再循环的次页。并且/或者,储存在闪存的数据可根据数据的期望再循环率进行分类(预期数据多久改变;举例来说,在银行的使用状况中,客户数据储存在闪存中,银行客户的名字几乎没有改变,而客户账户中的平衡几乎每天改变)。然后,可将具有大量剩余擦除循环的页分配至高度再循环数据,而将具有少量剩余擦除循环的页分配至缓慢再循环数据。
可理解的是,绘示在图1中用来决定页的经验擦除时间的特定方法未意于限制;反而,可采用任何适当的方法来提供针对个别页的估计经验擦除时间,包括使用针对此用途的储存值,其已由外部来源或本发明范围以外的方法所提供。
图2为说明根据某些实施例的闪存操作方法的简化流程图,其能够提升闪存的使用寿命。
在操作步骤210中,通常使用擦除时间决定功能单元(如固件执行/处理器执行)来提供个别页的每次循环的实际擦除时间(如图1的每个流程)。
在操作步骤220中,实际总擦除时间累积功能单元(例如,以固件实现的/处理器实现的)通常用以储存各个别页的累积性的,在整个循环中的,通常包括由擦除时间决定功能单元估计个别页的每次循环的实际擦除时间来增加的实际擦除时间(“实际总擦除时间”),其针对个别页遭受的各擦除循环。
操作步骤230,一般而言,闪存页使用量监测功能单元(例如,以固件实现的/处理器实现的)控制闪存中的页的使用状况,包括使至少一个个别的闪存页(例如,选择至少一个闪存页)经受超过所保证的循环的数目的总循环数目,其取决于个别闪存页的实际总擦除时间及保证擦除时间之间的比较,保证擦除时间计算为保证的每次循环擦除时间及保证循环数目的乘积。举例来说,若通过个别的闪存页的实际总擦除时间及保证擦除时间之间的比较来保证,保证擦除时间计算为保证每次循环擦除时间及保证循环数目的乘积,例如,若个别的闪存页的实际总擦除时间尚未达到保证擦除时间,尽管个别的闪存页的总循环数目等于或超过个别存储器页的保证循环数目(又称为忍耐度),闪存页使用量监测功能单元可至少有时选择至少一个要写入的次页,其已经经历过相等于或大于其的保证循环数目的总循环数目。例如,假设闪存装置规格保证了,例如,5K忍耐度循环及100ms的(每次循环的)擦除时间,总擦除时间(例如,保证擦除时间TPET)为上述参数的乘积,亦即,5K×100ms。在此情况下,若个别闪存页的实际擦除时间尚未达到5K×100ms,则此页可被选择作为次页,即便是当其的总循环数目早已等于或超过5k。
可选择地,当需要选择接着将写入的次页,或每次要选择接着将写入的次页时,图2的方法可使用次页选择逻辑。次页选择逻辑可采用首页选择考量,由此,具有每循环低实际擦除时间的闪存页优于具有每循环高实际擦除时间的闪存页;并且,可选择地,可采用首页选择考量以外的至少一种其他页选择考量。
根据本发明的实施例,闪存页使用量监测功能单元包括存取电脑储存库的固件程序码,其储存指出哪些闪存(包括甚至总循环数目相等或大于个别闪存的页保证的循环数目)是“仍然可操作的”的指示,亦即,具有仍低于保证擦除时间的实际总擦除时间(保证每循环擦除时间及保证循环数目的乘积),相对于“不再操作”的闪存页,其实际总擦除时间已经超过保证擦除时间,关于此种闪存页,电脑储存库不再储存相同的指示。以固件程序码实现的次页选择逻辑使用任何适当的考量或准则,以选择要擦除/写入的下页,此逻辑仅应用于在电脑储存库中指示为“可操作的”闪存页,而不是“不再操作”的闪存页。相对于每循环有高实际擦除时间的“仍然可操作的”闪存页,此逻辑可能或可能不偏好每循环有低实际擦除时间的“仍然可操作的”闪存页。
某些实施例的优点包括:
尽管在编辑、删除储存器内容及其他闪存方面的不可预期的使用者活动下,本发明的实施例对于能使快闪储存存储器尽可能的延长使用寿命而言是有利的。举例来说,闪存通常使用来储存程序码及/或数据。然而,在大多数应用程序之中,程序码通常相对稳定,数据则通常必须经常循环。一般来说,闪存的可用储存空间是有限的,而将该空间的使用状况以本文的所有任何教示进行最佳化,假设存储器的寿命在物理上受到可用储存空间的量的限制,将可延长装置储存空间的实际寿命,进而可整体延长装置的实际寿命。
某些实施例的特定优势在于利用在闪存的规格中规定的擦除时间与实际擦除时间之间的差异性的能力,从而将闪存装置的忍耐度提升到超越闪存的规格规定的忍耐度。此能力为相同闪存装置中,页与页之间的实际擦除时间之间的差异产生的结果。根据某些实施例,将最短经验擦除考量应用于每一页,而非整个设备。根据每页的实际性能对各页进行个别的评估,而非如传统技术上以最坏情况页限制整个产品的保证忍耐度(寿命)。
一旦已经产生下列如本文描述的页属性:
a.页的每循环实际使用时间(页属性a)
及/或
b.实际总擦除时间(页属性b),例如,假设页已被擦除,使用各擦除循环的真实实际擦除时间。
则通过接收并使用上述页属性的其中之一或两者作为考量,而促成下列优化中的任一种或任合组合,可协同地达成优化:
优化1-可能需要特别将程序码分配或甚至重新安置到具有相对长的,例如,最长的可用实际擦除时间的页,因为可以预期这样的页具有最低的忍耐度。更普遍来说,可能需要将已知相对恒久的数据(已知其具有低的再循环速率-例如,但不限于,程序码)分配或甚至重新安置到具有相对长的实际擦除时间的页,并相反地将已知具有低程度的恒久性的数据(已知具有高的再循环速率)分配或甚至重新安置到具有相对少量实际擦除时间的页。
优化2-实际擦除时间的量可使用作为考量,以将逐步擦除的起始点微调及/或适用化以改善性能,例如,通过使用实际擦除时间当作因素以决定是否以更接近“目标”来起始,并减少搜寻时间与以远离目标来起始。
尤其是,可初始的或随后决定猜测擦除时间(GET)作为实际擦除时间的函式。举例来说,若规格规定最大擦除时间(MET)为125毫秒(ms),则猜测擦除时间(GET)可设定为,假设40毫秒(ms)。然而,若在几次擦除循环之后,发现实际擦除时间总是至少75毫秒(ms),则猜测擦除时间(GET)可能会被重设的更长,假设重设至70毫秒(ms),以排除掉图1方法中的递回。
优化3-如果有对于进行尽可能短的页再循环的特定需求(性能优化),可挑选具有最短可用实际擦除时间的页,例如,如果有对于涉及页再循环的命令或要求的尽可能最短的响应时间的需求。
优化4-精准地预测装置的剩余寿命。举例来说,可假设装置每单位的装置寿命的平均擦除循环数目为,例如,每天50循环,以根据上述页属性支持装置寿命仍有多少剩余天数的估计。
优化5-假如已知装置仅具有短的剩余寿命,禁用低优先度的擦除/程序化需求(例如,为了被视为不重要的原因而进行的额外再循环的请求)。
优化6-每循环的实际擦除时间可作为考量独立使用,或与其他考量结合使用,以用于页选择,例如,在其他条件相同的情况下,优先选择具有每循环低实际擦除时间的闪存页,而非具有每循环高实际擦除时间的闪存页。
一般来说,当提供上述优化1-6的任一种或多种,其与增加可用擦除循环总数目的功能结合提供,例如,增加用于至少一页,或甚至用于大多数的页,或甚至用于每页的可用擦除循环数目;如本文描述的,应用程序开发者可安全地使闪存页承受超过规格规定的忍耐度的总循环数目。
可理解的是,在本文中可使用在闪存装置中内建的任何适合擦除验证技术,而在中国台湾集成电路制造股份有限公司的擦除验证模式中所阅读到的技术仅是一个可能的实现方式。
可理解的是,擦除时间决定功能可能不会计算个别页的每循环实际擦除时间,例如,通过计时,而非通过,假设,从外部来源接收每循环的个别页的实际擦除时间。
若提供本文描述的固件,其可维持在非挥发性存储器如闪存或只读存储器中。可使用任何适合的技术来避免被闪存管理所干扰产生对于固件程序码的位置的限制。
或者,可部分或排外(无固件)的在硬件中实现本文描述的特定实施例,在此情况下,本文描述的一些或全部的变数、参数、指令操作及计算可以硬件实现。
可以理解,术语如“必备(mandatory)”、“需求(required)”、“需要(need)”及“必须(must)”指在特定实施方式或本文为了清楚而描述的应用的范围内的实施选择且并不意欲限制,这是因为在可替代实施方式中,相同的元件可限定为非强制性的且不要求或甚至不会一同去除。
本发明的在个别实施例的范围内描述的特征,包含操作,也可在单个实施例中组合在一起提供。举例来说,系统实施例意指包括相对应程序的实施例,且反之亦然。再者,各系统实施例意指包括服务器中心“观点”或用户中心“观点”,或从系统、系统的整体功能、电脑可读取媒体或设备的任意其他节点的“观点”,包括只有在服务器端或用户端或节点处执行的那些功能。特征可与本领域已知特征结合,特别是,但不限于在先前技术部份或其中提到的出版物中所述的出版文章所提到的本领域已知特征。相反地,可以单独地或以任何合适的子组合,包括本领域已知的特征(特别地但不限于那些描述于先前技术部分或其中提及的出版物中的)来提供本发明(包括在单一实施例的上下文中描述的,或以特定顺序或以不同的顺序简短描述的操作)的特征。“例如”用于表示范例而不旨在限制。每个方法可以包括所示的或所描述的一些或全部适当排序的操作,例如,在本文中所示或所述的。

Claims (18)

1.一种用于改善非挥发性闪存装置的利用率的系统,其特征在于,适用于一非挥发性闪存,其具有多个页,该多个页的保证每循环擦除时间及保证循环数目为已知的,该系统包含:
a.一擦除时间决定功能单元,用以至少一循环提供多个个别页的每循环实际擦除时间;
b.一实际总擦除时间累积功能单元,用以储存各个别页的累积的、横跨多个循环的一实际总擦除时间,该实际总擦除时间累积功能单元以该擦除时间决定功能单元所提供的一个别页的每循环实际擦除时间来针对该个别页所经受的各擦除循环进行增量,其中该实际总擦除时间为一页属性b;以及
c.一闪存页使用量监视功能单元,控制在该非挥发性闪存中页使用量,其包括根据在该多个页中个别页的该实际总擦除时间及一保证擦除时间之间的比较来选择该多个页中至少一个页,该保证擦除时间计算为该保证每循环擦除时间及该保证循环数目的乘积;以及
其中该擦除时间决定功能单元使用一计数器来通过计数需要多少已知期间的擦除操作来达成个别页的擦除,以估计个别页的该每循环实际擦除时间。
2.如权利要求1所述的用于改善非挥发性闪存装置的利用率的系统,其特征在于,该实际总擦除时间累积功能单元包括一固件程序码,该固件程序码定义专用于维持用于该非挥发性闪存中各页的该实际总擦除时间的一总擦除时间变数。
3.如权利要求2所述的用于改善非挥发性闪存装置的利用率的系统,其特征在于,在该非挥发性闪存装置寿命的开始点,用于各页p的该总擦除时间变数初始化为0,且该总擦除时间变数在每次页被擦除时以所储存的页p的每循环实际擦除时间来增量,使得该总擦除时间变数在任何给定的时刻维持该实际总擦除时间。
4.如权利要求1所述的用于改善非挥发性闪存装置的利用率的系统,其特征在于,更包含一擦除时间测量功能单元用以测量该页的每循环实际擦除时间,并进而储存一页属性a,该页属性a为每循环实际擦除时间的一函式。
5.如权利要求4所述的用于改善非挥发性闪存装置的利用率的系统,其特征在于,该函式包含用于至少一页的一单一性函式,因此至少一页的该页属性a包括至少一页的每循环实际擦除时间。
6.如权利要求1所述的用于改善非挥发性闪存装置的利用率的系统,其特征在于,该擦除时间决定功能单元包括固件程序码,其用于执行针对各页的擦除。
7.如权利要求6所述的用于改善非挥发性闪存装置的利用率的系统,其特征在于,对至少一页而言,该固件程序码提供一初始值给一擦除时间变数,然后逐步以一时间量增加该初始值,其中,该至少一页以该时间量进行擦除,直到擦除品质被视为是足够的,此时该擦除时间变数的值被认为是针对该至少一页的最近的实际擦除时间。
8.如权利要求4所述的用于改善非挥发性闪存装置的利用率的系统,其特征在于,该页属性a维持在该非挥发性闪存中。
9.如权利要求1所述的用于改善非挥发性闪存装置的利用率的系统,其特征在于,具有低每循环实际擦除时间的闪存页用于数据储存,并优先于具有高每循环实际擦除时间的闪存页。
10. 如权利要求9所述的用于改善非挥发性闪存装置的利用率的系统,其特征在于,更包含一次页选择逻辑电路来选择接下来将被写入的次页,且该次页选择逻辑电路执行:
一首页选择考量,在所有其他条件均相同的前提下,藉其优先选择每具有低每循环实际擦除时间的闪存页而不是具有高每循环实际擦除时间的闪存页;以及
至少一其他页选择考量。
11.如权利要求1所述的用于改善非挥发性闪存装置的利用率的系统,其特征在于,该页属性b维持在该非挥发性闪存中。
12.如权利要求10所述的用于改善非挥发性闪存装置的利用率的系统,其特征在于,该至少一其他页选择考量包括已应用于各种页的该擦除循环的数目,使得在其他条件相同的前提下,优先选择已应用少量循环数目的页,而非已应用大量循环数目的闪存页。
13.如权利要求4所述的用于改善非挥发性闪存装置的利用率的系统,其特征在于,该函式包含一后处理操作以结合多个擦除时间,该擦除时间分别针对特定页的多个循环而产生,且该擦除时间储存于该非挥发性闪存装置中,至少直到该后处理操作已经执行之后。
14.如权利要求1所述的用于改善非挥发性闪存装置的利用率的系统,其特征在于,该闪存页使用量监视功能单元操作性的用于针对超过该保证循环数目的一总循环数目选择至少一个别存储器页。
15. 如权利要求1所述的用于改善非挥发性闪存装置的利用率的系统,其特征在于,其进一步包含:
一处理单元,配置为用于执行储存在存储器中的固件程序码;以及
一闪存介面控制单元,耦合于该处理单元及该非挥发性闪存装置,用以至少控制该非挥发性闪存装置的读取、程序化及擦除操作的执行,擦除操作包括从该非挥发性闪存装置的页中选择一页,用于执行至少一种擦除操作及在该处理单元决定的一预编程序期间之后,命令至少一擦除操作终止,
且其中该固件程序码用以控制该闪存介面控制单元,且其包括该擦除时间决定功能单元、该实际总擦除时间累积功能单元及该闪存页使用量监视功能单元。
16.如权利要求13所述的用于改善非挥发性闪存装置的利用率的系统,其特征在于,该后处理操作包含产生尚未针对一当前递回测量的一即将到来擦除时间的一线性近似,该线性近似根据在当前递回之前的多个递回中测量的多个擦除时间的一线性结合所产生。
17.一种用于改善非挥发性闪存装置的利用率的方法,其特征在于,适用于一非挥发性闪存,其具有多个页,该多个页的保证每循环擦除时间及保证循环数目为已知的,该方法包括:
a.使用一擦除时间决定功能单元,用以至少一循环提供多个个别页的每循环实际擦除时间;
b.使用一实际总擦除时间累积功能单元,用以储存各个别页的累积性的、横跨多个循环的一实际总擦除时间,该实际总擦除时间累积功能单元以该擦除时间决定功能单元所提供的一个别页的每循环实际擦除时间来针对该个别页所经受的各擦除循环进行增量;以及
c.使用一闪存页使用量监视功能单元以控制在该非挥发性闪存中的页的使用量,其包括根据在该多个页中个别页的该实际总擦除时间及一保证擦除时间之间的比较来选择该多个页中至少一个页,该保证擦除时间计算为该保证每循环擦除时间及该保证循环数目的乘积;
该擦除时间决定功能单元使用一计数器来通过计数需要多少已知期间的擦除操作来达成个别页的擦除,以估计个别页的该每循环实际擦除时间。
18.一种非暂态电脑可读取记录媒体,其特征在于,其上存储有一电脑可读取程序码,该电脑可读取程序码被处理器执行时,执行一种用于改善非挥发性闪存装置的利用率的方法,适用于一非挥发性闪存,其具有多个页,该多个页的保证每循环擦除时间及保证循环数目为已知的,该方法包括:
a.使用一擦除时间决定功能单元,用以至少一循环提供多个个别页的每循环实际擦除时间;
b.使用一实际总擦除时间累积功能单元,用以储存各个别页的累积性的,横跨多个循环的一实际总擦除时间,该实际总擦除时间累积功能单元以该擦除时间决定功能单元所提供的一个别页的每循环实际擦除时间来针对该个别页所经受的各擦除循环进行增量;以及
c.使用一闪存页使用量监视功能单元,用以控制在该非挥发性闪存中的页的使用量,其包括根据在该多个页中个别页的该实际总擦除时间及一保证擦除时间之间的比较来选择该多个页中至少一页,该保证擦除时间计算为该保证每循环擦除时间及该保证循环数目的乘积;
该擦除时间决定功能单元使用一计数器来通过计数需要多少已知期间的擦除操作来达成个别页的擦除,以估计个别页的该每循环实际擦除时间。
CN201710367600.5A 2016-06-16 2017-05-23 用于改善非挥发性闪存装置的利用率的系统及方法 Active CN107527659B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/184,258 2016-06-16
US15/184,258 US10496289B2 (en) 2016-06-16 2016-06-16 System and methods for increasing useful lifetime of a flash memory device

Publications (2)

Publication Number Publication Date
CN107527659A CN107527659A (zh) 2017-12-29
CN107527659B true CN107527659B (zh) 2021-04-16

Family

ID=60660056

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710367600.5A Active CN107527659B (zh) 2016-06-16 2017-05-23 用于改善非挥发性闪存装置的利用率的系统及方法

Country Status (3)

Country Link
US (1) US10496289B2 (zh)
CN (1) CN107527659B (zh)
TW (1) TWI614606B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI576699B (zh) * 2016-03-31 2017-04-01 慧榮科技股份有限公司 紀錄資料區塊的使用時間的方法及其裝置
US11543992B2 (en) * 2020-12-09 2023-01-03 Western Digital Technologies, Inc. Decreasing physical secure erase times in solid state drives
TWI831118B (zh) * 2022-01-21 2024-02-01 慧榮科技股份有限公司 資料儲存裝置及其編程應力消除方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1448847A (zh) * 2002-03-28 2003-10-15 群联电子股份有限公司 通用串行总线架构快闪存储器储存装置
US20070260811A1 (en) * 2006-05-08 2007-11-08 Merry David E Jr Systems and methods for measuring the useful life of solid-state storage devices
US20100064094A1 (en) * 2008-09-09 2010-03-11 Phison Electronics Corp. Memory managing method for non-volatile memory and controller using the same
US20130061101A1 (en) * 2011-09-02 2013-03-07 SMART Storage Systems, Inc. Non-volatile memory management system with load leveling and method of operation thereof
US20150186055A1 (en) * 2013-12-30 2015-07-02 Sandisk Technologies Inc. Method and system for predicting block failure in a non-volatile memory

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100437461B1 (ko) * 2002-01-12 2004-06-23 삼성전자주식회사 낸드 플래시 메모리 장치 및 그것의 소거, 프로그램,그리고 카피백 프로그램 방법
KR100463954B1 (ko) 2002-05-17 2004-12-30 주식회사 하이닉스반도체 플래시 메모리 장치 및 그 소거 방법
US7130229B2 (en) * 2002-11-08 2006-10-31 Intel Corporation Interleaved mirrored memory systems
US20050120265A1 (en) * 2003-12-02 2005-06-02 Pline Steven L. Data storage system with error correction code and replaceable defective memory
US20060053247A1 (en) * 2004-09-08 2006-03-09 Hugo Cheung Incremental erasing of flash memory to improve system performance
EP1947539A4 (en) * 2005-09-27 2011-05-18 Advantest Corp CONTROL METHOD, AND CONTROL SYSTEM
KR100817087B1 (ko) * 2007-02-13 2008-03-27 삼성전자주식회사 플래시 메모리를 구비하는 스토리지 장치에서의 버퍼 캐시운용 방법
US8443242B2 (en) * 2007-10-25 2013-05-14 Densbits Technologies Ltd. Systems and methods for multiple coding rates in flash devices
US8341335B2 (en) * 2007-12-05 2012-12-25 Densbits Technologies Ltd. Flash memory apparatus with a heating system for temporarily retired memory portions
US8533384B2 (en) * 2007-12-27 2013-09-10 Sandisk Enterprise Ip Llc Flash memory controller garbage collection operations performed independently in multiple flash memory groups
KR20100013485A (ko) * 2008-07-31 2010-02-10 삼성전자주식회사 메모리 장치 및 웨어 레벨링 방법
US8099543B2 (en) * 2009-02-03 2012-01-17 Micron Technology, Inc. Methods of operarting memory devices within a communication protocol standard timeout requirement
WO2011005665A1 (en) * 2009-07-10 2011-01-13 Aplus Flash Technology, Inc. Novel high speed high density nand-based 2t-nor flash memory design
US8995197B1 (en) * 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US10079068B2 (en) * 2011-02-23 2018-09-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Devices and method for wear estimation based memory management
KR20140006299A (ko) * 2012-07-03 2014-01-16 삼성전자주식회사 낸드 플래시 메모리 기반의 저장부에 데이터 기록을 제어하는 방법 및 장치
US9152555B2 (en) * 2013-11-15 2015-10-06 Sandisk Enterprise IP LLC. Data management with modular erase in a data storage system
US9329797B2 (en) * 2013-12-30 2016-05-03 Sandisk Technologies Inc. Method and system for adjusting block erase or program parameters based on a predicted erase life
US20160162215A1 (en) * 2014-12-08 2016-06-09 Sandisk Technologies Inc. Meta plane operations for a storage device
US9916237B2 (en) * 2014-12-12 2018-03-13 Sandisk Technologies Llc Model based configuration parameter management
US9478303B1 (en) * 2015-04-29 2016-10-25 Sandisk Technologies Llc System and method for measuring data retention in a non-volatile memory
US9514043B1 (en) * 2015-05-12 2016-12-06 Sandisk Technologies Llc Systems and methods for utilizing wear leveling windows with non-volatile memory systems
US9530517B2 (en) * 2015-05-20 2016-12-27 Sandisk Technologies Llc Read disturb detection in open blocks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1448847A (zh) * 2002-03-28 2003-10-15 群联电子股份有限公司 通用串行总线架构快闪存储器储存装置
US20070260811A1 (en) * 2006-05-08 2007-11-08 Merry David E Jr Systems and methods for measuring the useful life of solid-state storage devices
US20100064094A1 (en) * 2008-09-09 2010-03-11 Phison Electronics Corp. Memory managing method for non-volatile memory and controller using the same
US20130061101A1 (en) * 2011-09-02 2013-03-07 SMART Storage Systems, Inc. Non-volatile memory management system with load leveling and method of operation thereof
US20150186055A1 (en) * 2013-12-30 2015-07-02 Sandisk Technologies Inc. Method and system for predicting block failure in a non-volatile memory

Also Published As

Publication number Publication date
TWI614606B (zh) 2018-02-11
TW201800949A (zh) 2018-01-01
US20170364282A1 (en) 2017-12-21
US10496289B2 (en) 2019-12-03
CN107527659A (zh) 2017-12-29

Similar Documents

Publication Publication Date Title
US9875813B2 (en) Preventive measures for adaptive flash tuning
US10152273B2 (en) Nonvolatile memory controller and method for erase suspend management that increments the number of program and erase cycles after erase suspend
EP1654736B1 (en) Method and system for optimizing reliability and performance of programming data in non-volatile memory devices
US8553468B2 (en) System and method for managing erase operations in a non-volatile memory
US9298608B2 (en) Biasing for wear leveling in storage systems
US20120124273A1 (en) Estimating Wear of Non-Volatile, Solid State Memory
CN107527659B (zh) 用于改善非挥发性闪存装置的利用率的系统及方法
US9176859B2 (en) Systems and methods for improving the performance of non-volatile memory operations
US8347024B2 (en) Memory system monitoring data erasing time or writing time
US10332613B1 (en) Nonvolatile memory system with retention monitor
KR101190742B1 (ko) 메모리의 콘트롤러 및 이를 포함하는 스토리지 시스템, 메모리의 수명 측정 방법
TW200805375A (en) Method and system for programming non-volatile memory with self-adjusting maximum program loop
CN104134459A (zh) 带有可变验证操作的非易失性存储器(nvm)
US8902665B2 (en) Solid state storage system for uniformly using memory area and method controlling the same
CN113539345A (zh) 调整修整设定以改善存储器性能或可靠性
CN115938411A (zh) 闪存芯片的擦除电压配置方法、装置、设备及存储介质
WO2023009122A1 (en) Minimize delay times for status checks to flash memory
CN110083496B (zh) 非易失存储设备的掉电时间估计方法和装置
CN106910520B (zh) 存储装置的写入方法、存储装置、存储控制器和存储系统
KR20190066830A (ko) 전력량 예측 장치 및 그 방법
CN116469441A (zh) 获取存储装置环境温度的方法、电子设备及可读存储装置
CN115458014A (zh) 擦除操作的电压配置方法、装置、电子设备及存储介质
CN111179993A (zh) 一种eeprom的数据读/写方法
KR20070114509A (ko) 플래쉬 메모리 장치 구동 방법

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