储存装置、其控制单元、及可用于储存装置的数据搬移方法与流程

文档序号:11261798阅读:224来源:国知局
储存装置、其控制单元、及可用于储存装置的数据搬移方法与流程

本发明涉及一种关于数据储存的相关技术,且特别是关于一种储存装置,其控制单元,以及一种可用于储存装置的数据搬移方法。



背景技术:

一般而言,储存装置主要由控制单元与数据储存媒体(例如是闪存)所构成,其中数据储存媒体具有多个数据储存区块,每一数据储存区块具有多个数据页(page),而控制单元电性耦接数据储存媒体,以对上述数据储存区块的数据页进行数据之存取或抹除。由于数据储存媒体的数据保存(dataretention)能力可能减弱而导致数据正确性(integrity)的问题,控制单元会去检查上述数据储存区块的数据页所储存的数据是否可以正常读取,例如,检查上述数据储存区块的数据页的比特误码数(biterrorcount,bec)是否高于一临界值。一旦数据储存区块的数据页的位错误数高于上述临界值时,控制单元就将其储存的数据搬移到别的数据储存区块,以确保数据的正确性。然而,造成位错误数增加的原因不一,且频繁地进行数据搬移亦会造成系统效能的降低。本发明将对此问题提供一个技术的解决方案。



技术实现要素:

有鉴于此,本发明的目的在于一种储存装置,其能判断数据储存区块的数据页所储存的数据之所以无法正常读取的原因,并据以决定是否真的需要执行数据搬移操作,因而能有效减少其控制单元执行数据搬移操作的次数,进而提高储存装置整体的系统效能。

本发明另提供一种储存装置的控制单元,其能判断数据储存区块的数据页所储存的数据之所以无法正常读取的原因,并据以决定是否真的需要执行数据搬移操作,因而能有效减少其本身执行数据搬移操作的次数,进而提高储存装置整体的系统效能。

本发明再提供一种可用于储存装置的数据搬移方法,其使得控制单元能判断数据储存区块的数据页所储存的数据之所以无法正常读取的原因,并据以决定是否真的需要执行数据搬移操作,因而能有效减少控制单元本身执行数据搬移操作的次数,进而提高储存装置整体的系统效能。

本发明提出一种储存装置,此储存装置包括数据储存媒体与控制单元。数据储存媒体具有多个数据储存区块。控制单元电性耦接数据储存媒体,以对上述数据储存区块进行数据之存取。控制单元藉由多个读取操作而取得上述数据储存区块之多个数据特性参数(数据特性参数例如是由位错误数或是由临界电压位移量所决定),并依据上述资料特性参数而计算出第一数值和第二数值。控制单元更读取上述数据储存区块中之一目标区块而取得目标区块之数据特性参数,且控制单元更依据目标区块之数据特性参数、第一数值与第二数值以决定是否对目标区块执行数据搬移之操作。

本发明另提出一种控制单元,此控制单元包括控制逻辑与微处理器。微处理器系电性耦接控制逻辑,并用以透过控制逻辑对数据储存媒体中的多个数据储存区块进行数据之存取。微处理器藉由多个读取操作而取得上述数据储存区块之多个数据特性参数,并依据这些数据特性参数而计算出第一数值和第二数值。此外,微处理器更读取上述数据储存区块中之一个目标区块而取得此目标区块之数据特性参数,且微处理器更依据目标区块之数据特性参数、第一数值与第二数值以决定是否对目标区块执行数据搬移之操作。

本发明再提出一种可用于储存装置的数据搬移方法,此方法包括下列步骤:执行多个读取操作而取得数据储存媒体之多个数据储存区块的多个数据特性参数;依据上述资料特性参数而计算出第一数值和第二数值;读取上述数据储存区块中之一个目标区块,以取得此目标区块之数据特性参数;以及依据目标区块之数据特性参数、第一数值与第二数值以决定是否对目标区块执行数据搬移之操作。

本发明系使储存装置之控制单元藉由前述的操作而取得第一数值、第二数值与目标区块之数据特性参数,且使控制单元依据取得的第一数值、第二数值与目标区块之数据特性参数来判断目标区块的数据页所储存的数据之所以无法正常读取的原因。因此,控制单元就可依据判断结果来决定是否真的需要对目标区块执行数据搬移的操作。如此一来,便能有效减少控制单元执行数据搬移操作的次数,进而提高储存装置整体的系统效能。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举优选实施例,并配合附图,详细说明如下。

附图说明

图1为本发明之储存装置的电路方块图。

图2为本发明之可用于储存装置之数据搬移方法的流程图。

具体实施方式

数据储存区块之数据页的位错误数增加的主要原因有二种,一种是因资料的老化(随着时间或抺写次数的增加而造成的数据保存能力的降低);而另一种则是因数据储存媒体本身的老化(可能造成的原因包括:高温或长时间地使用)。本发明即揭露一种判断机制以判断位错误数增加的可能原因,并针对此原因进行适当的处置。如此一来,不但可以有效地降低资料搬移的次数,亦可降低数据储存区块抺写的次数,更可提升储存装置的系统效能。

图1为依照本发明一实施例之储存装置的电路方块图。如图1所示,储存装置100主要包括控制单元110与数据储存媒体120。数据储存媒体120具有多个数据储存区块(如标示130、140、150~m所示,其中m为自然数),且每一个数据储存区块具有多个数据页(如标示p1、p2、p3、p4~pn所示,其中n为自然数)。在此例中,数据储存媒体220包括以非挥发性内存来实现,例如是以闪存(flashmemory)、磁阻式随机存取内存(magnetoresistiveram)、相变内存(phase-changememory)、铁电随机存取内存(ferroelectricram)等具有长时间数据保存之内存装置来实现。

请继续参照图1。控制单元110系电性耦接数据储存媒体120,并用以控制数据储存媒体120的操作(例如进行数据的存取或抹除)。在此例中,控制单元110包括接口逻辑112、微处理器114与控制逻辑116。微处理器114系电性耦接接口逻辑112与控制逻辑116。此微处理器114用以透过接口逻辑112接收来自主机(例如是计算机、手机、数字相机等具运算功能的电子装置,未绘示)之命令或数据,例如:写入命令、读取命令、抺除命令等,且微处理器114还用以透过控制逻辑116对数据储存媒体120进行数据之存取,或进行数据之抹除。

在此实施例中,微处理器114系藉由读取数据储存区块之多个数据页而取得多个资料特性参数,其中,数据特性参数可为位错误数或临界电压位移量,但不以此为限。微处理器114计算出这些数据特性参数的平均值和标准偏差值,并给予平均值和标准偏差值不同的权重以取得上述数据储存区块之质量参数。之后,微处理器114读取上述数据储存区块中之一个目标区块而取得此目标区块之位错误数或临界电压位移量,然后再依据此目标区块的数据特性参数与质量参数进行比对以决定是否对目标区块执行数据搬移的操作。以下将以闪存作为数据储存媒体120为例来进一步说明上述操作。

首先,在操作模式下,微处理器114会依照来自主机的写入命令来将主机传来的数据写入数据储存媒体120中的数据储存区块的数据页。当写完一个数据页后,微处理器114读取此数据页之数据并计算其位错误数。在执行完多数写入数据页及读取数据页后,微处理器114取得多数位错误数。微处理器114对上述位错误数进行计算即可取得其平均值和标准偏差值。最后,依使用者之需求而给予平均值和标准偏差值不同的权重即可得出此(或此些)数据储存区块之质量参数。

另一实施例中微处理器114仅读取每一数据储存区块之其中一数据页并进行上述之计算,以提高效率。举例来说,每写完一个数据储存区块,微处理器114便读取此数据储存区块之第k个数据页的数据,例如是读取第一个数据页(即数据页p1)的资料。当然,微处理器114也可以读取每一资料储存区块之随机数据页并进行上述之计算。又或者,微处理器114可依据一个设定表所设定的数值来读取每一数据储存区块之特定数据页并进行上述之计算。又或者,微处理器114可依据一方程式的计算来读取每一数据储存区块之特定数据页并进行上述之计算。举例来说,微处理器114可以是去读取第一个数据储存区块(数据储存区块130)的数据页p1,并去读取第二个数据储存区块(数据储存区块140)的数据页p3,以及去读取第三个数据储存区块(储存区块150)的数据页p7,以此类推。由于设定表及方程式之设定乃熟悉此技艺者可轻易完成,故不多作叙述。

接着,当储存装置100离开操作模式或进入背景模式后,微处理器114读取数据储存区块130~m中之一个目标区块的数据页的数据而取得位错误数。优选地,此目标区块可以是数据储存区块130~m中最早被写入资料者。至于如何判断最早被写入数据的数据储存区块的方法有许多,例如,由微处理器114管理一写入数据表,并在此写入数据表中依序记录被写入数据的数据储存区块的代码,然后把写入数据表储存在数据页、内部的记忆空间(未绘示),或电性耦接但相互独立的一个记忆装置(未绘示)中。在实作中,上述的写入数据表可以采用链结表(linklist)来实现。据此,微处理器114便可自写入数据表寻找出最早被写入数据的数据储存区块,以便当作前述之目标区块。另外,微处理器114对目标区块的读取操作,可以是采用读取目标区块之至少一个数据页的方式来进行。例如:只读取一个数据页,读取多数数据页,读取默认之数据页,或是读取随机选中的数据页等。

在取得目标区块的位错误数后,微处理器114就会先判断此目标区块的位错误数是否大于等于比特误码阈值(errorbitthreshold)。当判断为否时,表示此目标区块之状态良好,不存在数据保存的问题,因此,无数据搬移之需要;反之,当判断为是时,表示此目标区块之状态不佳,存在数据保存的问题。然而,造成位错误数增加的主因需进行进一步的判断,而判断的方式即比较位错误数是否大于质量参数,再依据判断的结果来决定是否进行数据的搬移。

在此实施例中,质量参数是由a倍的之平均值加上b倍的标准偏差值的加总,数值a和b可为整数、复数、分数、正数或负数,可依使用者之需求而进行设定。目标区块的位错误数大于错误位临界值但小于质量参数时,其可能造成的原因是数据储存媒体本身的老化,因此,无需进行数据的搬移。目标区块的位错误数大于错误位临界值且大于质量参数时,其可能造成的原因是数据的老化,故需进行数据的搬移。此时,微处理器114将目标区块的数据搬移至另一个空白的数据储存区块。微处理器114亦可执行垃圾收集(garbagecollection),将包含目标区块的多数数据储存区块的有效数据整并至一个空白的数据储存区块。当然,在执行完数据搬移或垃圾收集的操作后,微处理器114就需要去更新上述之写入数据表。

尽管在上述各实施样态中,微处理器114系藉由读取操作来取得位错误数,以将取得的位错误数当作数据特性参数(也就是数据特性参数系由位错误数所决定),然此并非用以限制本发明。本领域具有通常知识者应知,微处理器114也可以是藉由读取操作来取得构成资料页之至少一个储存单元(memorycell)的临界电压位移量,以将取得的临界电压位移量当作数据特性参数(也就是数据特性参数系由临界电压位移量所决定)。

藉由上述教示,本领域具有通常知识者当可归纳出一种可用于储存装置之数据搬移方法的一些基本操作步骤,一如图2所示。图2即为依照本发明一实施例之一种可用于储存装置之数据搬移方法的流程图。请参照图2,此方法包括有下列步骤:执行多个读取操作而取得数据储存媒体之多个数据储存区块的多个数据特性参数(如步骤s201所示);依据上述资料特性参数而计算出第一数值和第二数值(如步骤s202所示);读取上述数据储存区块中之一个目标区块,以取得此目标区块之数据特性参数(如步骤s203所示);以及依据目标区块之数据特性参数、第一数值与第二数值以决定是否对目标区块执行数据搬移之操作(如步骤s204所示)。

综上所述,本发明系使储存装置之控制单元藉由前述的操作而取得质量参数与目标区块之数据特性参数,且使控制单元依据取得的质量参数与目标区块之数据特性参数来判断目标区块的数据页所储存的数据之所以无法正常读取,是因为数据的老化而导致还是因为数据储存媒体本身的老化所导致。因此,当控制单元判断目标区块的数据页所储存的数据之所以无法正常读取,是因为数据的老化而导致时,控制单元就会执行数据搬移的操作;反之,当控制单元判断目标区块的数据页所储存的数据之所以无法正常读取,是因为数据储存媒体本身的老化所导致时,控制单元就不会执行数据搬移的操作。如此一来,便能有效减少控制单元执行数据搬移操作的次数,进而提高储存装置整体的系统效能。

虽然本发明以前述的实施例揭露如上,然其并非用以限定本发明,任何熟习此技艺者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的专利保护范围须视本说明书所附的申请专利范围所界定者为准。

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