数据相关性辨识方法及其存储器数据处理方法

文档序号:6582845阅读:146来源:国知局
专利名称:数据相关性辨识方法及其存储器数据处理方法
技术领域
本发明涉及一种数据相关性辨识方法及其存储器数据处理方法,尤其涉及一种连 续存取的数据的相关性辨识方法及其存储器数据处理方法。
背景技术
快闪存储器的特性是无法直接覆写,且擦除次数有限。无法直接覆写,是指新数据 在进行存储之前,其对应的快闪存储器存储区块若已存有数据,则需先擦除这些数据后才 能存储新数据。此外,在存储器中进行数据擦除的处理时间比数据读取或写入的时间更长, 因此,如果能减少数据擦除的次数则能提升存储器的存取效能。快闪存储器亦有其擦除次数的限制,因此若为了存取数据而经常对存储器进行擦 除处理,则会缩减存储器的使用寿命。在已知技术中为了能够减少数据的搬移、擦除次数, 因此,利用动态分析数据属性将其分类为冷数据(cold data)以及热数据(hot data)。所 谓冷、热数据,分别是指在一单位时间内较少存取的数据以及较常存取的数据。已知技术通 过将冷数据存储于同一存储区块,热数据存储于另一存储区块的方式,使得冷、热数据可以 分别进行处理以提升存取效率,并减少所需的擦除次数。然而,根据数据被存取的频繁程度 来归类为冷、热数据仍有其缺点,因此,提出一种新的存储器数据处理方法以及辨识方法实 有其必要性。

发明内容
本发明的一目的在于提出一种存储器数据处理方法。本方法将具有相关性的数据 存储于相同存储区块中,因此若需存取这些数据时则不必在多个存储区块中进行存取。其 中,具有相关性的数据是指根据特定规则而依序进行存取的多笔数据,或是使用者为执行 特定功能而连续存取的多笔数据。本发明的另一目的在于提出一种判别数据间相关性的方法。其中,具有相关性的 数据是指使用者为执行特定功能而连续存取的多笔数据,因此,该多笔数据被应用于执行 该特定功能。在本发明一实施例中提出一种存储器数据处理方法,其中该存储器包含多个存储 区块,每一个存储区块具有多个存储页,该数据处理方法包含(a)从多个存储区块中找出已写入数据的数据存储区块;(b)对至少一数据存储区块的多个存储页,将其中连续存取的多个存储页归类为 至少一存储页群组;以及(c)将至少一存储页群组的多个存储页复制至多个存储区块中未写入数据的空白 存储区块。在本发明一实施例中提出一种数据相关性辨识方法,用以辨识具有连续存取的数 据相关性的多个笔数据,该多个笔数据中的每一数据分别对应于一存储器中的一逻辑区块 地址,该方法包含
(a)将多个笔数据中至少一数据对应的逻辑区块地址经由一函数进行运算,输出一第一数值;(b)多个笔数据中于该至少一数据之后存取的至少另一数据,将其对应的逻辑区 块地址经由该函数进行运算,输出一第二数值;(c)将第一、第二数值对应的一相关性系数与一第三数值进行累加;以及(d)当该相关性系数大于一临界值,判断第一、第二数值分别对应的至少一数据与 至少另一数据具有连续存取的数据相关性。




图1显示已知存储器的实体区块地址与逻辑区块地址的示意图, 图2显示本发明的存储器数据处理方法的实施例流程图。 图3显示存储器应用本数据处理方法的示意图。 图4显示本发明的数据相关性辨识方法流程图。 图fe与图恥显示应用本发明的数据相关性辨识方法的示意图<主要元件符号说明
快闪存储器 存储页群组 存储区块 存储页 数据相关性系数相关性系数表 函数310 320block 0、block 1> block 2> block ηpage 0> page 1> page 2> page 3> page 4datal> data2> data3> data4> data5> data7> data8> datall>data26Locality (K1, H1)、Locality (K2, H1)、Locality (K3, H1)、 Locality (H1, H2)、Locality (K2,H2)、Locality (K3,H2) Locality Hash
具体实施例方式由于已知技术是将数据分类为冷、热数据,使得具有数据相关性的多笔数据可能 分别存储于不同的存储区块而降低存储器的数据存取效率。本发明提出了一种数据相关 性辨识方法,以及存储器数据处理方法。本发明实施例可以判断具有连续存取的相关性的 数据,并可将具有相关性的数据存储于存储器中相同或相近的存储区块以提升数据存取效率。图1显示一已知存储器的实体区块地址与逻辑区块地址的示意图。如图1所显示, 存储器110中包含有多个存储区块(Block),每一存储区块中包含用于存储数据的多个存 储页(page)。每一存储页皆具有一对应的实体区块地址(Physical Block Address,PBA), 而各个实体区块地址也对应于一逻辑区块地址(Logical Block Address,LBA)。连续的实 体区块地址PBA未必对应于连续的逻辑区块地址。外部系统(图未示出)对存储器110存 取数据的过程,是先发送一逻辑区块地址给存储器110的控制单元(图未示出),然后由控 制单元查询该逻辑区块地址于存储器110中相对应的实体区块地址。最后,控制单元存取该实体区块地址上的数据并传送给外部系统。如先前所述,已知技术中为了提高存储器的存取效率,于是将数据依据单位时间 内的存取次数区分为冷、热数据,并将热数据存储于同一个存储区块,而冷数据存储于另一 存储区块。其中,热数据是较为频繁存取的数据,而冷数据则是较少存取的数据。然而,同 一存储区块中的多笔热数据彼此之间未必具有本发明所指称的相关性。因此当使用者为执 行特定功能而需存取多笔已知技术下所区分出的热数据时,可能需于不同的存储区块之中 存取这些热数据而降低了存取效率。有鉴于此,本发明中提出了一种存储器数据处理方法。本方法将具有连续存取的 相关性的数据存储于相同存储区块中,因此不必在多个存储区块中分别存取这些数据。在 本发明实施例中,具有连续存取的相关性的数据是表示使用者为执行特定功能而存取的多 笔数据。换句话说,该多笔数据被应用于执行该特定功能。例如使用者为执行计算机开机, 则具有连续存取的相关性的数据包含BIOS程序代码、磁盘开机程序代码、操作系统启动程 序代码等等。因此,BIOS程序代码、磁盘开机程序代码、操作系统启动程序代码即具有连续 存取的相关性的数据。又例如当使用者欲查询存储装置的数据夹与文件,则具有连续存取 的相关性的数据包含数据夹名称数据、子数据夹名称数据,以及文件名称数据等等。此外, 连续存取是表示这些数据依执行特定功能的步骤次序连续存取,而非限定于表示时间上的 连续存取。本发明实施例中提出了二种辨识方法应用于判别具有连续存取的相关性的数据。 其中一方法是利用存储器经常依逻辑区块地址顺序而连续写入数据的特性进行辨识。而另 一方法则利用统计方式来辨识数据之间是否具有连续存取的相关性。图2显示本发明中存储器数据处理方法的一实施例流程图。该方法是应用于一存 储器的数据处理方法,本实施例中该存储器为快闪存储器。该快闪存储器包含多个存储区 块,每一存储区块皆具有多个存储页,且每一存储页亦具有相对应的逻辑区块地址以及实 体区块地址。首先,从快闪存储器的多个存储区块里,先找出已写入数据的数据存储区块 (SllO)。为了避免找出所有已写入数据的数据存储区块耗费过长时间,实施例可设定找到 一特定数目(例如至少一个)的数据存储区块即执行下一步骤。接着对至少一数据存储区块中的多个存储页,将其中辨识为能连续存取的多个存 储页归类为至少一存储页群组(S120)。在本实施例中辨识能连续存取的多个存储页的方 法,是利用存储器经常将具有相关性的数据依逻辑区块地址顺序写入存储页的特性,于是 将存储于连续逻辑区块地址内的数据辨识为具有连续存取的相关性。因此,该方法首先记 录该至少一数据存储区块的多个存储页的逻辑区块地址;然后将该多个存储页中逻辑区块 地址相近的多个存储页归类到至少一存储页群组。其中,逻辑区块地址相近是表示逻辑区 块地址的数值差异在一特定范围内,例如数值差异不超过3。另一实施例中,逻辑区块地址 相近是表示逻辑区块地址的数值是连续的,例如多个存储页的逻辑区块地址分别为1、2、3。在辨识为能连续存取的多个存储页被归类为至少一存储页群组后,接着便将存储 页群组的多个存储页复制至前述多个存储区块中未写入数据的空白存储区块(S130)。而为 了使同一个存储页群组的多个存储页可以快速地被存取,这些存储页被写入至同一个空白 存储区块中。且为了符合快闪存储器依逻辑区块地址顺序写入数据的特性,被归类至同一 存储页群组中的多个存储页,依据逻辑区块地址顺序写入到同一个空白存储区块中。
此外,在本实施例中可选择性地包含擦除前述数据存储区块中的数据(S140),以 令该数据存储区块成为空白存储区块提供后续的数据存储。以上所述的存储器数据处理方 法可以由一使用者手动致能,或是该快闪存储器每隔一特定时间即执行本方法。图3显示一存储器应用本数据处理方法的示意图。如图所示,一快闪存储器310 中包含许多存储区块block 0,block Ublock 2,block η以及其它的存储区块等等,而每 一个存储区块又包含多个存储页page 0、page Upage 2, page 3, page 4。如图3上半部 所示,快闪存储器310中的存储区块block O.block 1是已写入数据的数据存储区块,存储 区块block 2、bloCkn则是未写入数据的空白存储区块。当快闪存储器310应用本数据处 理方法,则根据步骤(SllO)首先会找出特定数目个已写入数据的数据存储区块,在本例中 设定找到一个已写入数据的数据存储区块(例如数据存储区块block 0)后即执行下一步 马聚ο然后依据步骤(S120),将数据存储区块block 0中辨识为能连续存取的多个存储 页归类为至少一存储页群组320。能连续存取的存储页的特征之一,是这些存储页具有连续 的逻辑区块地址顺序。形成该特征的原因由于存储器通常依逻辑区块地址顺序连续性地写 入数据。因此,在步骤(S120)中先记录数据存储区块block 0的所有存储页page O.page Upage 2、page3、page 4的逻辑区块地址7、2、3、26、1 ;然后将这些存储页page 0、pagel、 page 2、page 3、page 4中逻辑区块地址相近的多个存储页归类到存储页群组320。尤其, 是将具有连续逻辑区块地址1、2、3的多个存储页page4、page 1、page 2的信息(包含逻 辑区块地址、实体区块地址)依逻辑区块地址次序记录于存储页群组320中,再将剩余的 存储页page 0, page 3的信息排列于其后。步骤(S120)主要是为了将具有连续逻辑区块 地址的多个存储页的信息依逻辑区块地址次序记录于同一存储页群组,因此在另一实施例 中,可以将非连续逻辑区块地址的存储页(例如存储页page 3、page 4)的信息,存储于另 一个存储页群组中。最后,步骤(S130)根据存储页群组320中记录的多个存储页信息,依逻辑区块地 址次序将各存储页的数据复制至一空白存储区块的存储页,该空白存储区块是未写入数据 的存储区块。在本例中挑选出空白存储区块blockn作为存储数据的新数据存储区块,因此 如图3下半部所示,步骤(S130)依存储页群组320中存储的各存储页逻辑区块地址1、2、3、 7,26次序,复制其对应的数据datal、data2、data3、data7、data^至新数据存储区块block η的存储页page O.page Upage 2、page 3、page 4中,。步骤(S130)主要是为了将具有 连续逻辑区块地址的多个存储页的数据存储于同一个存储区块。因此另一实施例中,可以 将非连续逻辑区块地址的存储页(例如存储页page 3,page 4)的数据,存储于另一个存储 区块。此外,由于数据存储区块block 0中的数据已依本方法实施例另存于数据存储区块 block n,因此可依据步骤(S140)擦除数据存储区块block 0中的数据,以令其成为一新的 空白存储区块。以上公开了本发明所提出的一种存储器数据处理方法,该方法将具有连续存取的 相关性的数据存储于存储器中相同或相近的存储区块。上述实施例仅记载一个数据存储区 块的处理过程,已知本领域技术人员当可了解若同时处理多个数据存储区块,则更能将其 中具有相关性的数据存储于相同或相近的存储区块以提升存取效率。此外,上文也描述了 一种辨识具有连续存取的相关性数据的方法。该辨识方法利用存储器经常依逻辑区块地址顺序而连续写入数据的特性,于是将存储于连续逻辑区块地址内的数据辨识为具有连续存 取的相关性。此外,本发明实施例也提出了另一种辨识方法,其利用统计方式来辨识数据之 间是否具有连续存取的相关性。图4显示本发明实施例所提出的数据相关性辨识方法流程图,其利用统计方式来 辨识具有连续存取的相关性的数据。多个笔数据中的每一数据分别对应于一存储器中的一 逻辑区块地址。首先,当该多个笔数据中的至少一数据欲开始进行存取,则将其对应的逻辑 区块地址经由一函数进行运算后输出一第一数值(S410),其中,每一逻辑区块地址皆是一 数值。在一实施例中,可以依数据存取的次序,将最先存取的数笔数据的逻辑区块地址经由 该函数进行运算,然后输出个别对应的第一数值。此外,该函数可以是一杂凑函数、一余数 函数,或其它函数。然后,对该多个笔数据中于该至少一数据之后存取的至少另一数据,将其对应的 逻辑区块地址经由同一个函数进行运算输出一第二数值(S420)。在步骤(S420)中,该至少 另一数据是接续在该至少一数据之后被存取的数据,因此两者之间可能是使用者为执行特 定功能而连续存取的数据,但仍需再作进一步的判断。接下来,将该第一、第二数值对应的 一相关性系数与一第三数值进行累加(S430)。其中,对应于第一、第二数值的相关性系数是 用于评量该至少一数据与该至少另一数据是否经常被连续存取,因此每当发生连序存取的 情况时该相关性系数便会与第三数值(例如数值为1)作累加。最后,将该相关性系数与一临界值相比较,当相关性系数大于临界值时便可判断 该第一、第二数值分别对应的该至少一数据与该至少另一数据之间具有连续存取的数据相 关性(S440)。除此之外,本辨识方法可以选择性地包含步骤(S450),用以减少相关性系数 的数值,其目的是为了降低使用者先前存取数据的习惯对当前所作判断的影响。而减少相 关性系数数值的方法,可以例如以第四数值减去该相关性系数的数值,或是将该相关性系 数除以第五数值。而以上所述的步骤(S450)可以由一使用者手动致能,或每隔一特定时间 即执行该步骤。图fe与图恥显示应用本发明的数据相关性辨识方法的示意图。如图如所示,在 步骤(S410)当有多笔数据进行连续存取时,为了辨识这些数据是否具有连续存取的数据 相关性,则首先将最早存取的至少一数据,例如以最先存取的三笔数据datal、data2、data3 的逻辑区块地址的数值21、25、4,依其存取次序经由一函数Hash进行运算后输出对应的三 笔第一数值 Kl = 1、K2 = 2、K3 = 4。接着,依据步骤(S420)对该三笔数据datal、data2、data3之后存取的至少另一数 据的逻辑区块地址,例如数据data4的逻辑区块地址的数值7,经由同一函数Hash进行运 算后输出对应的第二数值Hl = 3。接下来,步骤(S430)中将这些第一数值与该第二数值 对应的相关性系数 Locality (Kl,HI)、Locality (K2,HI)、Locality (K3,HI)分别与一第三 数值进行累加,本实施例中该第三数值为1。为了便于记录多个相关性系数,本实施例中可 以采用一相关性系数表Locality来记录各个相关性系数的数值。例如Kl = UHl = 3,因 此Locality (Kl,Hl)的数值即记录于相关性系数表Locality中X座标值为1,Y座标值为 3的栏位中。之后,步骤(S440)将各相关性系数Locality (Kl,HI)、Locality (K2,HI)、 Locality (Κ3,Η1)与一临界值相比较。例如该临界值被设为100,当相关性系数的数值大于8100时便可判断该相关性系数所对应的二笔数据具有连续存取的数据相关性。举例来说, 如果相关性系数Locality (Kl,HI)的数值大于100时,则表示Kl对应的逻辑区块地址21 的数据datal,与Hl对应的逻辑区块地址7的数据data4具有连续存取的数据相关性。此 外,在步骤(S440)是将Kl = 1以及Hl = 3的数值经由一反函数进行运算以求得其对应的 逻辑区块地址21、7,而该反函数是相对应于前述的函数。已知本领域技术人员当可了解于多笔数据进行存取时,前述步骤(S410)至步骤 (S440)可以重复执行藉以评估下一笔存取的数据与先前数据之间的连续存取相关性。如图 恥所示,当下一笔数据data5欲进行存取时,则首先根据步骤(S410)计算其前三笔数据的 第一数值。其中数据data2、data3、data4的逻辑区块地址的数值25、4、7依存取次序经由 该函数Hash进行运算后输出对应的三笔第一数值K2 = 2、K3 = 4、H1 = 3。亦或是将数据 data4的逻辑区块地址7经函数Hash运算后输出的第一数值Hl,取代数据datal的逻辑区 块地址21经函数进行运算后输出的第一数值Kl即可。然后依步骤(S420)对该三笔数据 data2、data3、data4之后存取的数据data5的逻辑区块地址33经由同一函数进行运算后 输出对应的第二数值H2= 1。步骤(S430)中将这些第一数值与该第二数值对应的相关性系数Locality (H1, H2) ,Locality (K2,H2) ,Locality (K3,H2)分别与一第三数值1进行累加。最后,步骤(S440) 将各相关性系数 Locality(Hl,H2)、Locality(K2,H2)、Locality(K3,H2)与临界值相比较。 而当相关性系数的数值大于临界值时便可判断该相关性系数所对应的二笔数据之间具有 连续存取的数据相关性。以上说明仅是本发明的优选实施例,并非用以限定本发明的实施 方式。例如,可选用其它特定数目的数据来求取第一数值,或是其它特定数目的数据来求取 第二数值。此外,也可利用其它方式来统计数据之间是否具有连续存取的相关性,并不限定 仅可使用相关性系数以及建立相关性系数表来统计数据间的相关性。本发明以上所述的优 选实施例公开了其中两种辨识方法,用以辨识具有连续存取的相关性的数据,但其它辨识 方法亦属于本发明的申请专利范围。其中,具有连续存取的相关性的数据是表示使用者为 执行特定功能而存取的多笔数据。以上所述仅为本发明的优选实施例而已,并非用以限定本发明的申请专利范围; 凡其它未脱离本发明所揭示的精神下所完成的等效改变或修饰,均应包含在本发明要求保 护的范围内。9
权利要求
1.一种数据相关性辨识方法,用以辨识具有连续存取的数据相关性的多个笔数据,该 多个笔数据中的每一数据分别对应于一存储器中的一逻辑区块地址,该方法包含(a)将该多个笔数据中至少一数据对应的该逻辑区块地址经由一函数进行运算,输出一第一数值;(b)该多个笔数据中于该至少一数据之后存取的至少另一数据,将其对应的该逻辑区 块地址经由该函数进行运算,输出一第二数值;(c)将该第一、第二数值对应的一相关性系数与一第三数值进行累加;以及(d)当该相关性系数大于一临界值,判断该第一、第二数值分别对应的该至少一数据与 该至少另一数据具有连续存取的数据相关性。
2.如权利要求1的数据相关性辨识方法,其中该函数是一杂凑函数。
3.如权利要求1的数据相关性辨识方法,其中该函数是一余数函数。
4.如权利要求1的数据相关性辨识方法,其中该步骤(d)中该第一、第二数值经由该函 数相对应的一反函数进行运算,以分别求得对应的该逻辑区块地址。
5.如权利要求1的数据相关性辨识方法,其还包含(e)减少该相关性系数的数值。
6.如权利要求5的数据相关性辨识方法,其步骤(e)以一第四数值减去该相关性系数 的数值。
7.如权利要求5的数据相关性辨识方法,其步骤(e)是将该相关性系数除以一第五数值。
8.如权利要求5的数据相关性辨识方法,其中该步骤(e)由一使用者手动致能。
9.如权利要求5的数据相关性辨识方法,其每隔一特定时间即执行该步骤(e)。
10.一种数据相关性辨识方法,用以辨识具有连续存取的数据相关性的多个笔数据,每 一该数据分别对应于一存储器中的一逻辑区块地址,该方法包含(a)将该多个笔数据中至少一数据对应的该逻辑区块地址经由一函数进行运算,输出 一第一数值;(b)该多个笔数据中于该至少一数据之后存取的至少另一数据,将其对应的该逻辑区 块地址经由该函数进行运算,输出一第二数值;(c)将该第一、第二数值对应的一相关性系数与一第三数值进行累加;(d)当该相关性系数大于一临界值,将该第一、第二数值经由该函数相对应之一反函数 进行运算,以求得该第一、第二数值分别对应的该逻辑区块地址;以及(e)每隔一特定时间即减少该相关性系数的数值;其中,当该相关性系数大于该临界值,判断该第一数值对应的该逻辑区块地址内的该 至少一数据,与该第二数值对应的该逻辑区块地址内的该至少另一数据具有连续存取的数 据相关性。
11.如权利要求10的数据相关性辨识方法,其中该函数是一杂凑函数。
12.如权利要求10的数据相关性辨识方法,其中该函数是一余数函数。
13.如权利要求10的数据相关性辨识方法,其步骤(e)以一第四数值减去该相关性系 数的数值。
14.如权利要求10的数据相关性辨识方法,其步骤(e)是将该相关性系数的数值除以一第五数值。
全文摘要
本发明公开一种数据相关性辨识方法及其存储器数据处理方法。其中,具有相关性的数据是存储于相同存储区块中。此外,辨识具有相关性的数据根据使用者为执行特定功能而存取的多笔数据。换句话说,该多笔数据被应用于执行该特定功能。
文档编号G06F12/06GK102053918SQ20091020766
公开日2011年5月11日 申请日期2009年10月29日 优先权日2009年10月29日
发明者郭大维 申请人:宏碁股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1