固态硬盘控制电路的制作方法

文档序号:11592399阅读:513来源:国知局

本发明有关固态硬盘,尤指一种用来判断固态硬盘的数据区块可再使用性(reusability)的固态硬盘控制电路。



背景技术:

众所周知,固态硬盘(solidstatedrive,ssd)装置中所储存的数据,会因为读取干扰(readdisturb)、超过数据保持(dataretention)期限、数据区块达到存取次数上限、或是数据区块发生异常的提早衰退等各种原因而遗失。

现有技术只能依据抹除次数来判断数据区块是否已达存取次数限制,却无法判断数据遗失究竟是否肇因于数据区块发生提早衰退的异常情况。倘若抹除次数未达上限、但已提早衰退的异常数据区块继续被用来储存数据,将导致数据遗失的问题不断发生,严重影响固态硬盘装置的可靠度。



技术实现要素:

有鉴于此,如何有效判断数据区块是否发生非预期性的提早衰退情况,实为业界有待解决的问题。

本说明书提供一种用于一固态硬盘装置中的固态硬盘控制电路的实施例,其中,该固态硬盘装置包含一固态硬盘以及一通信接口。该固态硬盘控制电路包含:一读写电路,用于耦接该固态硬盘;以及一闪存控制电路,耦接于该读写电路并用于耦接该通信接口,且设置成进行以下运作: 通过该读写电路读取该固态硬盘的一第一数据区块中的数据,并对读出的数据进行错误检查与校正;若发现从该第一数据区块读出的数据具有无法校正的错误,则搬移该第一数据区块中的数据;通过该读写电路抹除该第一数据区块;通过该读写电路将测试数据写入该第一数据区块;等待一预定时间后,通过该读写电路读取该第一数据区块中的测试数据,并对读出的数据进行错误检查与校正;记录该第一数据区块的数据错误次数;以及根据该第一数据区块的数据错误次数,判断该第一数据区块的可再使用性。

上述实施例的优点之一,是可准确、有效地判断数据区块的可再使用性。

本发明的其他优点将藉由以下的说明和附图进行更详细的解说。

附图说明

图1为本发明一实施例的固态硬盘装置简化后的功能方块图。

图2为本发明一实施例的判断固态硬盘的数据区块可再使用性的方法简化后的流程图。

具体实施方式

以下将配合相关附图来说明本发明的实施例。在附图中,相同的标号表示相同或类似的组件或方法流程。

图1为本发明一实施例的固态硬盘装置(solidstatedrivedevice,ssddevice)100简化后的功能方块图。固态硬盘装置100包含一固态硬盘(ssd)110、一通信接口(communicationinterface)120、一储存电路130、以及一固态硬盘控制电路(ssdcontrollingcircuit)140。

固态硬盘110中包含多个实体数据区块(physicaldatablock),例如图1中的示例性第一数据区块111、第二数据区块113、第三数据区块115、及第四数据区块117。通信接口120设置成与一主控装置(hostdevice,未绘示)进行数据通信。固态硬盘控制电路140则包含一读写电路(readandwritecircuit)141以及一闪存控制电路(flashmemorycontrollingcircuit)143。

如图1所示,读写电路141耦接于固态硬盘110。闪存控制电路143耦接于读写电路141并用于耦接通信接口120及储存电路130,且设置成控制固态硬盘110的存取运作。

实作上,通信接口120可用序列式先进附加技术(serialadvancedtechnologyattachment,sata)接口、快速外围组件互连(peripheralcomponentinterconnectexpress,pcie)接口、或是以上两者的组合来实现。另外,储存电路130可独立设置于固态硬盘控制电路140的外,也可以整合到固态硬盘控制电路140中。

为了说明上的方便,在图1中并未绘示固态硬盘装置100中的其他组件及相关的连接、运作、与实施方式。

以下将搭配图2来进一步说明固态硬盘装置100的运作方式。

图2为本发明一实施例的判断固态硬盘110的数据区块可再使用性(reusability)的方法简化后的流程图。

在流程210中,固态硬盘控制电路140的闪存控制电路143,可通过读写电路141读取固态硬盘110的一标的数据区块中的数据,并对读出的数据进行错误检查与校正。

实作上,闪存控制电路143可设置成在通过通信接口120接收到主控装置传来的读取指令时,进行图2中的流程210,也可以设置成在主控装置无需存取固态硬盘110的空闲时段中主动进行流程210。因此,前述的 标的数据区块可以是主控装置指定要读取的数据区块,也可以是闪存控制电路143主动选来进行测试的数据区块。

为了方便说明起见,以下假设前述的标的数据区块是第一数据区块111。

若从第一数据区块111读出的数据没有出现错误,或是虽有出现些许错误但都可被校正,则闪存控制电路143进行流程220。

反之,若闪存控制电路143侦测出从第一数据区块111读出的数据具有无法校正的错误,则会进行流程230及后续的区块测试运作,以检测第一数据区块111是否发生异常。

在流程220中,闪存控制电路143对读出的数据进行正常处理。例如,若闪存控制电路143是在接收到主控装置传来的读取指令时进行流程210,则闪存控制电路143在流程220中可通过通信接口120将读出的传送给主控装置。若闪存控制电路143是在空闲时段中主动进行流程210,则闪存控制电路143在流程220中也可不对读出的数据进行任何处理。

在流程230中,闪存控制电路143可搬移第一数据区块111中的数据至另一数据区块中储存,例如,第四数据区块117。

在流程240中,闪存控制电路143可通过读写电路141抹除第一数据区块111。

在流程250中,闪存控制电路143可通过读写电路141将测试数据写入第一数据区块111中。例如,闪存控制电路143可利用一第一写入模式将测试数据写入第一数据区块111的所有实体页(physicalpage)中。闪存控制电路143可将前述的第一写入模式,设置成与闪存控制电路143在流程210中所读取的数据的原始写入模式相同,以减少测试区块过程中的可能变数,藉此提升数据区块测试的准确度。

例如,假设一般数据区块常用的写入模式有三种,分别为每储存单元一位(one-bit-per-cell,1bpc)模式、每储存单元两位(two-bit-per-cell,2bpc)模式、以及每储存单元三位(three-bit-per-cell,3bpc)模式。

在此情况下,倘若在闪存控制电路143进行流程210的时点,第一数据区块111中的数据的原始写入模式是1bpc模式,则闪存控制电路143在流程250中也会利用1bpc模式将测试数据写入第一数据区块111中。倘若第一数据区块111中的数据的原始写入模式是3bpc模式,则闪存控制电路143在流程250中也会利用3bpc模式将测试数据写入第一数据区块111中。

在流程260中,闪存控制电路143会在等待一预定时间后,通过读写电路141读取第一数据区块111中的测试数据,并对读出的数据进行错误检查与校正。

倘若在完成流程250的后就立刻开始进行流程260,则可能较难侦测出数据区块是否发生提早衰退的异常情况。因此,闪存控制电路143可将流程260中的预定时间的长度,依据一实施例,设置为至少一分钟,以提升数据区块测试的正确性。另外,预定时间的长度亦可依据操作温度或第一数据区块111的抹除次数动态地被闪存控制电路143设置,不一定是固定的值。

在流程270中,闪存控制电路143可将第一数据区块111的数据错误次数,记录在储存电路130中。

在流程280中,闪存控制电路143可根据第一数据区块111的数据错误次数,判断第一数据区块111的可再使用性。

例如,若第一数据区块111的数据错误次数超过一预定临界值,代表第一数据区块111的硬件健康度不符合预期标准,则闪存控制电路143可 将第一数据区块111推定为是抹除次数未达上限、但已提早衰退的异常数据区块。因此,闪存控制电路143会将第一数据区块111判定为不具可再使用性,并将第一数据区块111标记为该强迫汰除、不适合再用来储存数据的数据区块。

实作上,闪存控制电路143在进行流程280前,可至少重复进行前述流程240至270达一预定次数,以降低将第一数据区块111误判为异常数据区块的机会。例如,为了提升区块测试正确性并避免过度增加数据区块的抹除次数,可将前述的预定次数设置为三次。另外,在接近固态硬盘110寿命终期时,闪存控制电路143可适时地调整预定次数的多寡,例如,可依据第一数据区块111的抹除次数来决定预定次数,以避免测试次数过多导致固态硬盘110提前达到寿命终点。

闪存控制电路143在流程280中的判断标准,则可以依据实际应用环境的需求来设置。例如,在一实施例中,只要第一数据区块111在任一测试过程中出现无法校正的错误,闪存控制电路143便会将第一数据区块111判定为不具可再使用性。

在另一实施例中,则是要第一数据区块111在过半数的测试过程中出现无法校正的错误,闪存控制电路143才会将第一数据区块111判定为不具可再使用性。

在另一实施例中,则是要第一数据区块111在所有测试过程中都出现无法校正的错误,闪存控制电路143才会将第一数据区块111判定为不具可再使用性。

如前所述,闪存控制电路143可将前述流程250中的测试数据写入模式,设置成与在流程210中所读取的数据的原始写入模式相同。因此,固态硬盘控制电路140在测试不同数据区块的可再使用性时,所使用的写入模式可能会有所不同。

例如,假设闪存控制电路143在完成第一数据区块111的可再使用性测试之后,又对第二数据区块113进行前述图2中的可再使用性测试流程。在此情况下,闪存控制电路143可在流程250中,利用一第二写入模式将测试数据写入第二数据区块113的所有实体页中,并将前述的第二写入模式设置成与闪存控制电路143在流程210中所读取的第二数据区块113中的数据的原始写入模式相同。倘若在闪存控制电路143对第二数据区块113进行流程210的时点,第二数据区块113中的数据的原始写入模式是2bpc模式,则闪存控制电路143在流程250中也会利用2bpc模式将测试数据写入第二数据区块113中。

在前述实施例中,闪存控制电路143是利用1bpc模式或3bpc模式将测试数据写入第一数据区块111中。因此,固态硬盘控制电路140在测试第二数据区块113的可再使用性时所使用的写入模式(在本例中为2bpc模式),很明显会与测试第一数据区块111的可再使用性时所使用的写入模式(在本例中为1bpc模式或3bpc模式)有所不同。这样的作法可减少测试区块过程中的可能变量,并提升数据区块测试的准确度。

有关前述固态硬盘控制电路140对第一数据区块111进行可再使用性测试的其他流程的实施方式与优点的相关说明,也适用于对第二数据区块113进行测试的流程。为简洁起见,在此不重复叙述。

由前述说明可知,只要闪存控制电路143将一特定数据区块判定为不具可再使用性,代表该特定数据区块极有可能是因各种原因而发生提早衰退的异常数据区块。因此,闪存控制电路143会将该特定数据区块标记为不适合再用来储存数据的数据区块,以避免提早衰退的异常数据区块被继续用来储存数据的情况发生。

如此一来,便可有效避免异常数据区块被用来储存数据所造成的数据遗失问题。

以上仅为本发明的较佳实施例,凡依本发明请求项所做的均等变化与修饰,皆应属本发明的涵盖范围。

符号说明

100固态硬盘装置

110固态硬盘

111、113、115、117数据区块

120通信接口

130储存电路

140固态硬盘控制电路

141读写电路

143闪存控制电路

210~280方法流程

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1