存储装置的使用寿命量测方法及其数据储存系统的制作方法

文档序号:6583994阅读:117来源:国知局
专利名称:存储装置的使用寿命量测方法及其数据储存系统的制作方法
存储装置的使用寿命量测方法及其数据储存系统
技术领域
本发明有关于非挥发性内存,特别是有关于非挥发性内存的效能评估、系统内编 程码置换、以及具有使用该非挥发性内存方法的数据储存系统。
现有技术由于非挥发性内存,例如闪存,不需倚赖电力即可维持其所储存的数据,因此广泛 地用于各种消费性电子装置中,像是手机、数字相机、个人数字助理(PDA)等。一般来讲,因 为非挥发性内存具有尺寸小、高存储密度、低耗电及低成本的优势,使其特别适用于所述消 费性电子装置。于是,将非挥发性内存,例如与非门(NAND)闪存包装成不同的储存媒体,诸 如小型快闪(CF)卡、多媒体卡(MMC)、安全数字(SD)卡、及固态储存硬盘(SSD)等。通常,非挥发性内存,像是闪存,会包含多个区块(block),而每一区块具有用以储 存数据的多个页面(page)。进一步,闪存以页面为单位进行编程,而以区块为单元进行抹 除。对已储存数据之一区块而言,若欲更新该已储存的数据,则于重新使用或进行更新前必 须先抹除该已用的区块。这是因为仅能将数据写入至未储存数据的页面或已被抹除的页面 中,且闪存无法以页面为单位进行抹除。然而,由于每一可抹除区块会有抹除次数的限制,这使得非挥发性内存具有一使 用寿命。随着时间经过,当使用寿命耗尽时,将无法正确地对该非挥发性内存进行编程及抹 除,进而降低该非挥发性内存的整体效能。因此,需要一种方式,能够实时地更新非挥发性内存的使用寿命及效能状态。除 此之外,在使用寿命即将期满,或者效能严重恶化的情况下,能够提供及时通知,用以事 先采取适当的措施,像是置换该非挥发性内存的系统内编程码(in-system programming code),或是备份其储存的数据。

发明内容本发明提供一种数据储存系统,包括一存储装置及一主机。该存储装置包括一非 挥发性内存及一控制器。该非挥发性内存包括多个的实体区块,其具有多个的数据区块与 多个的备用区块,其中,所述数据区块用以储存数据,对应于所述数据区块的至少一部份备 用区块被保留及用于数据更新操作。该控制器,耦接于该非挥发性内存,用以计算已选取 实体区块之一平均抹除次数,并根据该平均抹除次数及每一实体区块之一最大允许抹除次 数,用以取得一剩余时间来表示该存储装置的使用寿命。该主机,耦接于该存储装置,用以 比较该平均抹除次数与一第一临界值来取得一指针、根据该指针决定该存储装置之一效能 状态,当该平均抹除次数大于该第一临界值,且保留用于所述数据区块数据更新操作的该 至少一部份备用区块以外的剩余备用区块数量小于一下限时,将该效能状态设定为一第一 状态、根据该效能状态产生一指示、以及执行一延伸程序,用以响应于该第一状态,该延伸 程序加载一既定系统内编程码,用以置换储存于该非挥发性内存的至少一实体区块中之一 原始系统内编程码。该延伸程序于非挥发性内存中,配置最小数量的该至少一部份备用区块,被保留及用于数据更新操作。另一方面,本发明提供一种存储装置的使用寿命量测方法。于一实施例中,该存储 装置包括一非挥发性内存,其具有多个的实体区块,该方法包括于一段既定期间中,累计 已选取实体区块之一总抹除次数;根据该总抹除次数及该段既定期间,计算该已选取实体 区块之一平均抹除次数;及根据该平均抹除次数及每一实体区块之一最大允许抹除次数, 取得一剩余时间,用以表示该存储装置的使用寿命。为使本发明的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附 图式,详细说明如下。


图1显示依据本发明实施例的数据储存系统方块图。
图2显示依据本发明实施例的存储装置操作方法流程图。
图3显示依据图2实施例的存储装置另一操作方法流程图。
图4显示依据本发明实施例的系统内编程码的置换流程图。
主要组件符号说明
10 --数据储存系统;
102 非挥发性内存;
104 控制器;
106 主机;
108 屏幕;及
110 存储装置
具体实施方式下文说明本发明的较佳实施方式。下述的说明用以更容易了解本发明,并非用以 限制本发明。本发明的保护范围当视后附的申请专利范围所界定者为准。图1显示依据本发明实施例的数据储存系统10方块图。该数据储存系统10包括存储装置110、主机106与屏幕108。存储装置110包括 控制器104与非挥发性内存102,例如与非门(NAND)闪存。于一实施例中,非挥发性内存102包括多个的实体区块。所述实体区块具有多个 的数据区块、多个的备用区块与多个的缺陷区块。举例而言,当第一次使用非挥发性内存 102时,具有(X+Y+Z)个实体区块。于此,X表示数据区块的全部数量,Y表示备用区块的全 部数量,以及Z表示缺陷区块的全部数量。数据区块用以储存数据。缺陷区块禁止抹除与 编程存取。进一步,对应于数据区块的至少一部份备用区块被保留及用于数据更新操作,而 除了保留及用于数据更新操作的至少一部份备用区块以外,其它剩余的备用区块将用来维 持非挥发性内存102的效能。举例来讲,于读写操作时,其余备用区块可用来取代坏掉或缺 陷区块。缺陷区块可能于制造时或者执行过多的抹除操作时产生。通常在一开始时,Z会 远小于X或Y。但于数据写入时,随着非挥发性内存102所执行的抹除操作增加,加上每一 区块的抹除次数限制,使得越来越多数据区块或者备用区块会因为过多的抹除操作而变成 缺陷区块。
于一情况下,当一备用区块因为过多的抹除操作而有缺陷时,便将该备用区块 标志为一缺陷区块。因此,备用区块的全部数量变成(Y-I),而缺陷区块的全部数量变成 (Z+1)。于另一情况下,当一数据区块为有缺陷时,则将对应之一备用区块转而作为该数据 区块,用以维持数据区块的大小。因此,数据区块的全部数量依然为X,不过,备用区块的全 部数量变成(Y-I),而缺陷区块的全部数量变成(Z+1)。于是,当缺陷区块的全部数量增加到一个程度时,由于备用区块不足,将造成非挥 发性内存102可能出现效能问题或数据遗失。于此情况下,可利用非挥发性内存102的某 些条件来取得一指针,用以判断非挥发性内存102的效能是否能满足需求。举例而言,主机 106可以根据初始缺陷区块、目前缺陷区块、初始备用区块、目前备用区块、全部或数个实体 区块的抹除次数、或者非挥发性内存102的其它状态,用以决定非挥发性内存102,即存储 装置110,的使用寿命与效能状态。图2显示依据本发明实施例的存储装置操作方法流程图。如图1与图2所示,当 包含储存媒体(例如存储装置110)的数据储存系统10开机时,将上述一或多个状态提供 给主机106,用以取得指针并决定存储装置110的效能状态(步骤S202)。于一实施例中,于存储装置110中,耦接于非挥发性内存102的控制器104取得已 选取实体区块的平均抹除次数,并据以决定非挥发性内存102的效能状态。于操作中,控制 器104根据已选取实体区块于一段既定时间中所累计之一总抹除次数,用以计算该平均抹 除次数。值得一提的是,该段既定期间的起始点,可以取决于一应用程序的第一次执行,用 以表示于该非挥发性内存102上第一次抹除操作或存取操作的执行。举例而言,假设存储装置110从第一次执行该应用程序后已经过一段既定时间, 控制器104先取得每一个已选取实体区块的抹除次数,累计出总抹除次数后,便可以计算 已选取实体区块的平均抹除次数。更进一步,也可以每隔一固定时间,即执行该应用程序, 用以更新该累计的总抹除次数及该段既定期间。于此状况下,耦接于存储装置110的主机106取得与已选取实体区块的平均抹除 次数相关之一指针。于一实施例中,可以通过平均已选取实体区块的全部抹除次数,用以取 得平均抹除次数。于操作中,主机106可以比较平均抹除次数与第一临界值,用以取得指 针。然后,再根据指针来产生对应的指示(步骤S204)。于图1中,屏幕108耦接于该主机 106,用以显示对应的指示。进一步,当存储装置110的效能状态被判断为不能满足需求时,主机106可以执行 一延伸程序,用以延长存储装置110的使用寿命。举例来讲,针对效能需求,延伸程序从非 挥发性内存102将一系统内编程(in-system programming, ISP)码加载至控制器104,进 而维持非挥发性内存102的正常读写操作(步骤S206)。延伸程序的操作将配合图3详细 说明如下。图3显示依据图2实施例的存储装置110另一操作方法流程图。于此实施例中, 利用非挥发性内存102(如图1所示)内的已选取实体区块之一平均抹除次数来取得指针, 用以决定存储装置110的效能状态。举例而言,当主机106欲写入数据至具有抹除次数Cl的实体区块Bl时,图1所示 的控制器104抹除实体区块Bi。因此,实体区块Bl的抹除次数变成(C1+1)。以此方式,主机106可选择一些实体区块来取得平均抹除次数,用以决定存储装置110的效能状态(步 骤S302)。进一步,控制器104可以根据平均抹除次数及每一实体区块之一最大允许抹除次 数,用以取得一剩余时间,并显示于屏幕108上,来表示存储装置110的使用寿命。之后,主机106通过比较平均抹除次数与第一临界值来取得指针。具体地,主机 106根据指针决定存储装置110的效能状态。决定效能状态之后,便根据效能状态来产生对 应的指示。于一实施例中,当平均抹除次数超过第一临界值,且于所述备用区块中,除了保留 用于所述数据区块数据更新操作的备用区块的外,剩余备用区块的数量小于一下限时,则 将效能状态设定为第一状态,用来表示非挥发性内存102随时会产生缺陷,且储存于非挥 发性内存102的数据可能随时会遗失。举例而言,若全部备用区块为Y,而被保留及用于数 据更新操作的备用区块的全部数量为N,则剩余可利用备用区块的数量为(Y-N)。需注意, 除了平均抹除次数及剩余备用区块的数量外,亦可以设定或合并其它条件来取得指针,并 决定存储装置110的效能状态。如此一来,响应于第一状态,可于屏幕108上显示一红色 闪光灯信号,用以作为对应的指示,像是用红色闪光灯信号的图标,以便提醒终端使用者, 在非挥发性内存102变得无法使用之前,尽快对非挥发性内存102执行备份操作(步骤 S304),以防止数据遗失。举例来讲,于备份操作期间,主机106可指示控制器104备份非挥 发性内存102所储存的数据。再者,响应于红色闪光灯信号或第一状态,主机106执行一延伸程序,用以使存储 装置110的使用寿命延长。于一实施例中,终端使用者可点击位于屏幕108上的红色闪光灯 信号的图标,用以使数据储存系统10执行延伸程序。延伸程序加载一既定系统内编程码, 用以置换储存于该非挥发性内存的至少一实体区块中的原始系统内编程码。系统内编程码 的置换将配合图4详细说明如下。于一实施例中,延伸程序所加载的既定系统内编程码可配置一最小数量的备用区 块,被保留及用于数据更新操作(步骤S310)。于操作中,被保留及用于数据更新操作的备 用区块与原来的数据区块一起被称为配对区块,因此,最小数量的备用区块意指最小数量 的配对区块。更具体地,最小数量的备用区块足以维持存储装置110的正常操作,但可能会 影响存储装置110的效能。举例来讲,对应于数据区块,假使原本保留及用于数据更新操作 的备用区块数量为N,则延伸程序可将N减小至最小数量M,使得控制器104得以维持正常 操作。除此的外,假设备用区块的全部数量为Y,执行完延伸程序后,将有(Y-M)个备用 区块可用于取代任何缺陷数据区块或者任何缺陷备用区块。也就是说,能够空出更多闲置 的备用区块,用以取代坏掉或缺陷的区块,从而增加存储装置110的使用寿命,也使得终端 使用者在数据遗失前,可以有更多时间备份非挥发性内存102所储存的数据。于另一实施例中,延伸程序所加载的既定系统内编程码,可使非挥发性内存102 操作于一较低时脉速度,用以维持非挥发性内存102的正常读写操作。另一方面,当平均抹除次数低于第一临界值时,主机106进一步地比较平均抹除 次数与第二临界值,用以取得该指针。于此情况下,根据平均抹除次数与第二临界值的比较 结果,可于黄色或绿色闪光灯信号中选择其一,用以作为对应的指示。也就是说,当平均抹 除次数介于第一临界值与第二临界值时,便于屏幕108上显示一黄色闪光灯信号,用以作为对应的指示,如利用黄色闪光灯信号的图标(步骤S306),用以表示存储装置110已使用 一段时间,而且效能已下降。当平均抹除次数少于第二临界值时,在该屏幕108上显示一绿 色闪光灯信号,用以作为对应的指示,如利用绿色闪光灯信号的图标(步骤S308),用以表 示存储装置110的效能能够满足需求。值得注意的是,第一临界值与第二临界值均为可编程的。于操作中,可依据非挥发 性内存102的存储体型式决定第一临界值与第二临界值。举例来讲,可依据非挥发性内存 识别码或者非挥发性内存厂商规格,自查找表取得备用临界值与抹除临界值。或者,终端使 用者可根据其经验与需求来编程第一临界值与第二临界值,以便建立更适当的指示。值得一提的是,存储装置110包括小型快闪(CF)卡、多媒体卡(MMC)、安全数字 (SD)卡、及固态储存硬盘(SSD),或者其它与非挥发性内存相关的存储装置。图4显示依据本发明实施例的系统内编程码的置换流程图。如上所述,于一实施例中,当存储装置110的使用寿命即将期满,或者被判断为可 能出现数据遗失或效能问题时,除了利用红色闪光灯信号提醒终端使用者备份非挥发性内 存102所储存的数据外,亦可以置换非挥发性内存102的原始系统内编程码,藉以延长存储 装置110的使用寿命。进一步,于另一实施例中,当制造商提供新版本的系统内编程码供终端使用者更 新时,终端使用者可透过网际网络连结至制造商的网站,然后将非挥发性内存102内所储 存的原始系统内编程码以新版本的系统内编程码加以置换。或者,将内含新版本系统内编 程码的设定档案由网站下载至一额外内存中,经过适当的解压缩或安装步骤,用以进行系 统内编程码的置换。具体地,当主机106连接至外部的网际网络或额外内存时,控制器104可发送命令 SMART_1至主机106,透过网际网络或额外内存,主机106将具有一既定系统内编程码之一 设定档案加载并传送至控制器104(步骤S4(^)。然后,控制器104将该既定系统内编程码 储存至控制器104之一随机存取内存(未图标)中(步骤S404)。接着,控制器104发送命令SMART_2,用以从该随机存取内存中读出已储存的该既 定系统内编程码,比较设定档案所储存的既定系统内编程码,用以进行第一次验证(步骤 S406)。当第一次验证失败时,表示加载设定档案的过程或储存该既定系统内编程码的过 程可能有错误发生。于此情况下,控制器104可发送抹除命令SMART_C1,用以抹除该随机存 取内存中已储存的该既定系统内编程码(步骤S408)。反的,当第一次验证成功时,控制器104接着发送命令SMART_3,用以于非挥发性 内存102中,取得储存原始系统内编程码的特定实体区块地址(physical block address, PBA),如PBA3及PBA4。之后,将储存于特定实体区块的原始系统内编程码备份至非挥发性 内存102的备份储存位置中(步骤S410)。备份完成后随即抹除所述特定实体区块。接着,将该既定系统内编程码写入至所 述特定实体区块,如PBA3及PBA4,用以置换原始系统内编程码(步骤S412)。进一步,控制器104发送命令SMART_4,用以从所述特定实体区块,如PBA3及 PBA4,读出已储存的该既定系统内编程码,比较设定档案所储存的既定系统内编程码,用以 进行第二次验证(步骤S414)。
当第二次验证失败时,表示将该既定系统内编程码写入至所述特定实体区块,如 PBA3及PBA4,的过程可能有错误发生。于此情况下,控制器104可发送抹除另一命令SMART_ C2,除了抹除该随机存取内存中已储存的该既定系统内编程码的外,并抹除所述特定实体 区块,如PBA3及PBA4,所储存的该既定系统内编程码(步骤S416)。之后,再将备份储存位 置的原始系统内编程码还原至所述特定实体区块,如PBA3及PBA4(步骤S418)。反的,当第二次验证成功时,则可于存储装置110重新开机后,执行非挥发性内存 的102该既定系统内编程码(步骤S420)。虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何熟习此技 艺者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范围 当视后附的申请专利范围所界定者为准。
权利要求
1.一种数据储存系统,包括一存储装置,包括一非挥发性内存,包括多个的实体区块,其具有多个的数据区块与多个的备用区块,其 中,所述数据区块用以储存数据,对应于所述数据区块的至少一部份备用区块被保留及用 于数据更新操作;及一控制器,耦接于该非挥发性内存,用以计算已选取实体区块之一平均抹除次数,并根据该平均抹除次数及每一实体区块之一最大允许抹除次数,用 以取得一剩余时间来表示该存储装置的使用寿命;及一主机,耦接于该存储装置,用以比较该平均抹除次数与一第一临界值来取得一指针、 根据该指针决定该存储装置之一效能状态,当该平均抹除次数大于该第一临界值,且保留 用于所述数据区块数据更新操作的该至少一部份备用区块以外的剩余备用区块数量小于 一下限时,将该效能状态设定为一第一状态、根据该效能状态产生一指示、以及执行一延伸 程序,以响应于该第一状态,该延伸程序加载一既定系统内编程码,用以置换储存于该非挥 发性内存的至少一实体区块中之一原始系统内编程码,其中,该既定系统内编程码配置一最小数量的该至少一部份备用区块,系被保留及用 于数据更新操作。
2.根据权利要求1所述的数据储存系统,其特征在于,更包括一屏幕,耦接于该主机,用以显示该指示及该剩余时间。
3.根据权利要求1所述的数据储存系统,其特征在于,根据该已选取实体区块于一段 既定时间中所累计之一总抹除次数,用以计算该平均抹除次数。
4.根据权利要求3所述的数据储存系统,其特征在于,该段既定期间的起始点,取决于 一应用程序的第一次执行,用以表示于该非挥发性内存上第一次抹除操作的执行。
5.根据权利要求1所述的数据储存系统,其特征在于,利用一红色闪光灯信号来显示 该指示,用以响应于该第一状态。
6.根据权利要求1所述的数据储存系统,其特征在于,当该平均抹除次数小于该第一 临界值,该主机比较该平均抹除次数与一第二临界值,用以取得该指针。
7.根据权利要求6所述的数据储存系统,其特征在于,根据该平均抹除次数与该第二 临界值比较结果,利用一黄色闪光灯信号或一绿色闪光灯信号两者其中之一来显示该指示。
8.根据权利要求1所述的数据储存系统,其特征在于,当该主机将具有一既定系统内 编程码之一设定档案传送至该控制器时,该控制器将该既定系统内编程码储存至该控制器 之一随机存取内存中、自该随机存取内存中读出已储存的该既定系统内编程码,用以进行 第一次验证、当该第一次验证成功时,以该既定系统内编程码置换该至少一实体区块中所 储存的该原始系统内编程码、以及自该至少一实体区块中读出已储存的该既定系统内编程 码,用以进行第二次验证。
9.根据权利要求8所述的数据储存系统,其特征在于,当该第二次验证成功时,则于该 存储装置重新开机后执行该非挥发性内存的该既定系统内编程码。
10.根据权利要求8所述的数据储存系统,其特征在于,该控制器读取该至少一实体区 块,用以将该原始系统内编程码备份至该非挥发性内存之一备份储存位置、抹除该至少一实体区块、以及将该既定系统内编程码写入至该至少一实体区块中,用以置换该原始系统 内编程码。
11.根据权利要求8所述的数据储存系统,其特征在于,当该第一次验证失败时,该控 制器抹除该随机存取内存中已储存的该既定系统内编程码。
12.根据权利要求8所述的数据储存系统,其特征在于,当该第二次验证失败时,该控 制器抹除该随机存取内存中已储存的该既定系统内编程码、抹除该至少一实体区块、以及 自该备份储存位置将该原始系统内编程码的备份还原至该至少一实体区块。
13.一种存储装置的使用寿命量测方法,其特征在于,该存储装置包括一非挥发性内 存,该非挥发性内存具有多个的实体区块,该方法包括于一段既定期间中,累计已选取实体区块之一总抹除次数;根据该总抹除次数及该段既定期间,计算该已选取实体区块之一平均抹除次数;及根据该平均抹除次数及每一实体区块之一最大允许抹除次数,用以取得一剩余时间来 表示该存储装置的使用寿命。
14.根据权利要求13所述的存储装置的使用寿命量测方法,其特征在于,该段既定期 间的起始点,系取决于一应用程序的第一次执行,用以表示该非挥发性内存上第一次抹除 操作的执行。
15.根据权利要求14所述的存储装置的使用寿命量测方法,其特征在于,更包括每隔一固定时间即执行该应用程序,用以更新该累计的总抹除次数及该段既定期间。
全文摘要
一种数据储存系统,包括主机及具有非挥发性内存的存储装置。存储装置的控制器计算非挥发性内存的平均抹除次数,用以取得一剩余时间,来指示存储装置的使用寿命。主机比较平均抹除次数与第一临界值用以取得一指针并根据该指针决定存储装置的效能状态。若平均抹除次数大于第一临界值,设定效能状态为第一状态。主机根据效能状态产生一指示并执行一延伸程序,以响应于第一状态。该延伸程序加载一既定系统内编程码,用以置换原始系统内编程码,并于非挥发性内存中,配置最小数量的至少一部份备用区块,被保留及用于数据更新操作。
文档编号G06F11/32GK102073571SQ200910224988
公开日2011年5月25日 申请日期2009年11月23日 优先权日2009年11月23日
发明者廖仁宏, 张孝德, 赖德维 申请人:慧荣科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1