重映射闪速存储器的方法.pdf

上传人:62****3 文档编号:1014208 上传时间:2018-03-25 格式:PDF 页数:38 大小:1.79MB
返回 下载 相关 举报
摘要
申请专利号:

CN200510005256.2

申请日:

2005.02.03

公开号:

CN1652089A

公开日:

2005.08.10

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开

IPC分类号:

G06F12/00; G11C16/02

主分类号:

G06F12/00; G11C16/02

申请人:

三星电子株式会社;

发明人:

印至晛; 金晓俊; 李光伦; 郑泰善

地址:

韩国京畿道

优先权:

2004.02.06 KR 8068/2004

专利代理机构:

北京铭硕知识产权代理有限公司

代理人:

郭鸿禧;李友佳

PDF下载: PDF下载
内容摘要

提供一种重映射闪速存储器的方法,其最小化闪速存储器被存取的次数并且帮助平均使用闪速存储器的整个区域。该方法根据它们的擦除计数值排列尚未将被映射的多个物理单元,以及以具有较小擦除计数值的物理单元在具有较大的擦除计数值的物理单元之前被映射到逻辑单元的方式将物理单元顺序地映射到逻辑单元。

权利要求书

1: 一种重映射闪速存储器的方法,包括: 根据相应的擦除计数值排列尚未被映射的多个物理单元;以及 以具有较小擦除计数值的物理单元在具有较大的擦除计数值的物理单元 之前被映射到逻辑单元的方式以映射的次序将多个物理单元顺序地映射到逻 辑单元。
2: 如权利要求1所述的方法,其中,在将多个物理单元顺序地映射到逻 辑单元中,多个物理单元的每一个具有指示将多个物理单元映射到逻辑单元 的次序的相应深度值。
3: 如权利要求2所述的方法,其中,具有较大深度值的物理单元被确定 已经被较新映射到逻辑单元。
4: 如权利要求3所述的方法,还包括: 如果没有仍然被映射的物理单元,则通过执行压缩操作来在逻辑单元中 产生空物理单元。
5: 如权利要求4所述的方法,其中,具有最大深度值的物理单元被排除 在压缩操作之外。
6: 如权利要求5所述的方法,其中,逻辑单元中空物理单元的产生包括: 选择映射到具有最低压缩开销的逻辑单元的多个物理单元之一; 将选择的物理单元的最低压缩开销确定为逻辑单元的压缩开销;以及 将选择的物理单元的至少一个有效扇区复制到逻辑单元的空白空间,并 且将选择的物理单元排除在映射到逻辑单元的物理单元的列表之外。
7: 如权利要求6所述的方法,其中,基于选择的物理单元的有效扇区数 量和复制选择的物理单元的有效扇区的开销,选择的物理单元的压缩开销被 确定为复制选择的物理单元的至少一个有效扇区所需的时间。
8: 如权利要求7所述的方法,其中,如果存储在选择的物理单元中的逻 辑扇区的位置被固定,则通过使用以下等式:C=Sv*Cc+Se*We来获得选 择的物理单元的压缩开销,其中,C是选择的物理单元的压缩开销,Sv是选 择的物理单元的有效扇区数量,Cc是复制选择的物理单元的有效扇区的开 销,Se是逻辑单元的空扇区的数量,并且We是空扇区的每一个的加权。
9: 如权利要求7所述的方法,其中,如果存储在物理单元的逻辑扇区的 位置未被固定,则通过使用以下等式:C=Sv*Cc来获得选择的物理单元的 压缩开销,其中,C是选择的物理单元的压缩开销,Sv是选择的物理单元的 有效扇区数量,并且Cc是复制选择的物理单元的有效扇区的开销。
10: 如权利要求8所述的方法,其中,如果选择的物理单元的有效扇区 不能被复制到逻辑单元的空白空间,则作为将空物理单元分配到逻辑单元的 开销的单元分配开销被加到逻辑单元的压缩开销。
11: 如权利要求10所述的方法,其中,基于擦除物理单元所需的时间和 写物理单元的元数据所需的时间来设置单元分配开销。
12: 如权利要求11所述的方法,其中,通过使用以下等式C=Sv*Cc 来获得选择的物理单元的压缩开销,其中,C是物理单元的压缩开销,Sv是 选择的物理单元的有效扇区数量,并且Cc是复制选择的物理单元的有效扇区 的开销。
13: 如权利要求12所述的方法,其中,具有第二最低压缩开销的物理单 元的压缩开销被加到逻辑单元的压缩开销。
14: 如权利要求13所述的方法,其中,产生逻辑单元中的空物理单元还 包括: 如果没有用于复制具有最低压缩开销的逻辑单元的有效扇区的空存储空 间,则搜索具有第二最低压缩开销的物理单元; 将预定空物理单元映射到逻辑单元;以及 将选择的物理单元的至少一个有效扇区复制到逻辑单元的预定空物理单 元,并且将选择的物理单元排除在映射到逻辑单元的物理单元的列表之外。
15: 如权利要求13所述的方法,还包括: 确定映射到预定逻辑单元的物理单元的擦除计数值的最大值和擦除计数 值的最小值;以及 如果物理单元的擦除计数值的最大值和最小值大于预定值,则执行压缩 操作。
16: 如权利要求13所述的方法,其中,压缩操作的执行包括对具有擦除 计数值的最小值的物理单元执行压缩操作。
17: 如权利要求9所述的方法,其中,如果选择的物理单元的有效扇区 不能被复制到逻辑单元的空白空间,则作为将空物理单元分配到逻辑单元的 开销的单元分配开销被加到逻辑单元的压缩开销。
18: 如权利要求17所述的方法,其中,基于擦除物理单元所需的时间和 写物理单元的元数据所需的时间来设置单元分配开销。
19: 如权利要求18所述的方法,其中,通过使用以下等式C=Sv*Cc 来获得选择的物理单元的压缩开销,其中,C是选择的物理单元的压缩开销, Sv是选择的物理单元的有效扇区数量,并且Cc是复制选择的物理单元的有 效扇区的开销。
20: 如权利要求19所述的方法,其中,具有第二最低压缩开销的物理单 元的压缩开销被加到逻辑单元的压缩开销。
21: 如权利要求20所述的方法,其中,产生逻辑单元中的空物理单元还 包括: 如果没有用于复制具有最低压缩开销的逻辑单元的有效扇区的空存储空 间,则搜索具有第二最低压缩开销的物理单元; 将预定空物理单元映射到逻辑单元;以及 将选择的物理单元的至少一个有效扇区复制到逻辑单元的预定空物理单 元,并且将选择的物理单元排除在映射到逻辑单元的物理单元的列表之外。
22: 如权利要求20所述的方法,还包括: 确定映射到预定逻辑单元的物理单元的擦除计数值的最大值和擦除计数 值的最小值;以及 如果物理单元的擦除计数值的最大值和最小值大于预定值,则执行压缩 操作。
23: 如权利要求20所述的方法,其中,压缩操作的执行包括对具有擦除 计数值的最小值的物理单元执行压缩操作。

说明书


重映射闪速存储器的方法

                             技术领域

    本发明涉及一种重映射闪速存储器的方法,更具体地说,涉及一种可最小化闪速存储器被访问的次数并且可使闪速存储器的整个区域能被平均使用的映射闪速存储器的方法。

                             背景技术

    通常,家用电器、通信装置和诸如置顶盒的嵌入式系统使用诸如用于存储和处理数据的存储装置的非易失性存储器。

    闪速存储器是非易失性存储器的一种类型,其中数据可被电擦除和覆写。闪速存储器因为它们消耗比基于磁盘存储器的存储介质少的能量所以适于便携式装置,像硬盘一样可存取,并且具有压缩的大小。

    由于闪速存储器的硬件特性,不同于在传统地随机存取存储器(RAM)、非易失性存储介质或磁存储介质中,记录在闪速存储器上的数据以块为单位被擦除。

    换句话说,在闪速存储器中,数据被记录在作为主机的逻辑操作单元的扇区(sector)上,而通过删除包含该扇区的全部块来擦除记录在该扇区上的数据。

    由于数据被以其记录在闪速存储器上的单位不同于从闪速存储器中以其擦除数据的单位,所以闪速存储器的性能可能恶化。

    为了防止闪速存储器的性能由此原因而恶化,逻辑地址和物理地址被建议。

    换句话说,为了执行数据读或写操作,预定逻辑地址通过多种算法被改变为闪速存储器的物理地址。在此情况下,考虑到闪速存储器的物理条件,可通过执行映射来最佳化闪速存储器的性能。

    闪速翻译层是帮助作为块装置的闪速存储器的使用的软件,并且通常支持用于有效管理闪速存储器的重映射方法。

    在此,重映射方法允许映射关于给定数据的逻辑块号(LBN)和物理块号(PBN)之间的关系的信息的管理。通过这么做,即使相关PBN改变,记录在闪速存储器中的数据也总是通过相同的逻辑块号可存取的。

    换句话说,参照图1A和1B,当用于通过使用预定逻辑块号(LBN)来读或写数据的请求被发出时,预定LBN参照LBN到LUN映射表被映射为逻辑单元号(LUN)并且还参照LUN到PUN映射表被映射为物理单元号(PUN)。

    以下将简要解释物理单元。参照图2A和2B,物理单元10和20分别包括擦除单元头(EUH)11和21、块分配映射表(BAM)12和22、和存储数据的块组13和23。

    EUH 11和21存储关于各个物理单元的各种元数据。BAM 12和22可被记录为各个EUH下的至少一个块。

    另外,BAM 12和22还可被记录为诸如NAND闪速存储器的备用阵列的空间中的块。

    BAM 12和22可存储关于各个物理单元的块的信息,如各个物理单元的块的LBN和状态信息。

    因此,当用于将数据写到预定逻辑块的请求被发出时,与预定逻辑块相应的PUN被获得,并且然后数据被写到PUN的BAM的可记录的块中。其后,预定逻辑块的地址被记录在PUN的BAM中。

    例如,如图3A和3B所示,当用于将数据写到逻辑块3的请求被发出两次时,响应于第二请求,数据被写到为空块的PUN的BAM的第四块中,并且逻辑块3的序列号被记录在BAM的第四块中。

    可以以与将数据写到预定逻辑块中的方式几乎相同的方式从预定逻辑块中读取数据。

    圈计数(lap count)被采用以指示被用于在有错的情况下恢复数据的块状态信息。

    换句话说,预定块可以以自由状态(1111)、有效状态或删除状态(0000)存在。有效状态被分为s0(1110)、s1(1100)、和s2(1000),其满足以下循环关系:

    S0<s1,s1<s2,并且s2<s0

    其中<表示两个状态的临时顺序。

    因此,如果在当前数据中发生错误,则可通过使用之前的或随后的数据来恢复当前数据。

    例如,假设第五数据或第五数据之后的数据中发生错误,则有两个有效数据,其圈计数如图4所示分别为1110和1100。

    在此,由于圈计数值1110在圈计数值1100之前,所以如果采用基于随后数据的数据恢复方法,则右手例的数据被删除。

    在闪速存储器中,逻辑单元被逐一映射为物理单元。在预定逻辑单元的扇区被频繁更新的情况下或在预定逻辑单元不具有空扇区的情况下,空物理单元被分配给预定逻辑单元,并且预定逻辑单元的有效扇区被复制到空物理单元。

    由于闪速存储器的物理单元可仅被擦除有限次数,所以闪速存储器的物理单元将被平均使用已被增加闪速存储器的耐久性。

    然而,因为通常空物理单元以不考虑它们各个的可擦性的任一方式被使用,在增加闪速存储器的耐久性方面有清楚的限制。

    另外,空物理单元到逻辑单元的分配需要另外的操作以将数据写到闪速存储器中,因此降低了将数据写到闪速存储器的效率。

                             发明内容

    本发明提供一种重映射闪速存储器的方法,其帮助平均使用闪速存储器的整个区域并且因此增加闪速存储器的耐久性。

    本发明还提供一种重映射闪速存储器的方法,其最小化闪速存储器被存取的次数并且因此提供对用户请求的快速响应。

    根据本发明的一方面,提供一种重映射闪速存储器的方法,包括:根据它们的擦除计数值排列尚未被映射的多个物理单元,以及以这种具有较小擦除计数值的物理单元在具有较大的擦除计数值的物理单元之前被映射到逻辑单元的方式将物理单元顺序地映射到逻辑单元。

    物理单元可具有指示将物理单元映射到逻辑单元的顺序的深度值。

    具有较大深度值的物理单元可被确定已更较早映射到逻辑单元。

    重映射闪速存储器的方法还可包括:如果没有尚未被映射的物理单元,则通过执行压缩操作来在逻辑单元中产生空物理单元。

    具有最大深度值的物理单元可被排除在压缩操作之外。

    逻辑单元中空物理单元的产生可包括:在具有最低压缩开销的逻辑单元中选择多个物理单元之一,将选择的物理单元的压缩开销确定为逻辑单元的压缩开销,并且将选择的物理单元的至少一个有效扇区复制到逻辑单元的空白空间,并且将选择的物理单元排除在映射到逻辑单元的物理单元的列表之外。

    物理单元的压缩开销可基于物理单元的有效扇区数量和复制物理单元的有效扇区的开销被确定为复制物理单元的至少一个有效扇区所需的时间。

    如果存储在物理单元中的逻辑扇区的位置被固定,则可通过使用以下等式:C=Sv*Cc+Se*We来获得物理单元的压缩开销,其中,C是物理单元的压缩开销,Sv是物理单元的有效扇区数量,Cc是复制物理单元的有效扇区的开销,Se是相应的逻辑单元的空扇区的数量,并且We是空扇区的每一个的加权。

    如果存储在物理单元的逻辑扇区的位置未被固定,则可通过使用以下等式:C=Sv*Cc来获得物理单元的压缩开销,其中,C是物理单元的压缩开销,Sv是物理单元的有效扇区数量,并且Cc是复制物理单元的有效扇区的开销。

    如果物理单元的有效扇区不能被复制到相应逻辑单元的空白空间,则作为将空物理单元分配到相应逻辑单元的开销的单元分配开销可被加到相应逻辑单元的压缩开销。

    可基于擦除物理单元所需的时间和写物理单元的元数据所需的时间来设置单元分配开销。

    可通过使用以下等式C=Sv*Cc来获得物理单元的压缩开销,其中,C是物理单元的压缩开销,Sv是物理单元的有效扇区数量,并且Cc是复制物理单元的有效扇区的开销。

    可具有第二最低压缩开销的物理单元的压缩开销被加到相应逻辑单元的压缩开销。

    逻辑单元中的空物理单元的产生还包括:如果没有用于复制具有最低压缩开销的逻辑单元的有效扇区的空存储空间,则搜索具有第二最低压缩开销的物理单元,将预定空物理单元映射到逻辑单元,以及将选择的物理单元的至少一个有效扇区复制到逻辑单元的空白空间,并且将选择的物理单元排除在映射到逻辑单元的物理单元的列表之外。

    重映射闪速存储器的方法还包括:确定映射到预定逻辑单元的物理单元的擦除计数值的最大值和最小值,以及如果物理单元的擦除计数值的最大值和最小值大于预定值,则执行压缩操作。

    压缩操作的执行可包括对具有最小擦除计数值的物理单元执行压缩操作。

                             附图说明

    通过下面结合附图对示例性实施例的详细描述,本发明的上述和其他方面将会变得更加清楚,其中:

    图1A和1B是示出LBN到LUN映射表和PBN到PUN映射表的示图;

    图2A和2B是示出典型物理单元的结构的示图;

    图3A和3B是示出将数据写到物理单元的典型方法的示图;

    图4是示出典型圈计数的示图;

    图5是示出典型大块闪速存储器的结构的示图;

    图6是示出根据本发明示例性实施例逻辑单元的元数据存储区域的示图;

    图7是示出根据本发明示例性实施例逻辑单元的数据存储区域的示图;

    图8是示出逻辑单元和映射到逻辑单元的物理单元的示图;

    图9是示出尚未被映射到逻辑单元并且根据它们的擦除计数值排列的物理单元的示图;

    图10是根据本发明示例性实施例的将数据写到逻辑扇区的方法的流程图;

    图11是根据本发明示例性实施例的压缩方法的流程图;

    图12是示出存储在物理单元中的逻辑扇区的位置被固定的情况的示图;

    图13是示出存储在物理单元中的逻辑扇区的位置未被固定的情况的示图;

    图14到16是示出在存储在物理单元中的逻辑扇区的位置被固定的情况下根据本发明示例性实施例的压缩方法的示图;

    图17到19是示出在存储在物理单元中的逻辑扇区的位置未被固定的情况下根据本发明示例性实施例的压缩方法的示图;

    图20是根据本发明示例性实施例的强力压缩方法的流程图;以及

    图21到24是示出在根据本发明示例性实施例的强力压缩方法中的压缩操作的示图。

                           具体实施方式

    可参照示例性实施例和附图的以下详细描述来较容易地理解本发明和完成本发明的方法。然而,本发明可以以不同的形式被实施,并且将不会被构成为限于在此阐述的示例性实施例。相反地,这些实施例被提供从而此公开将是彻底的和完整的并且将完全将本发明的概念传递给本领域技术人员,并且本发明将仅被所附权利要求来限定。说明书中相同的标号始终指的是相同的元件。

    现在将参照示出本发明示例性实施例的附图来更全面地描述本发明。

    闪速存储器通常被分类为小块闪速存储器和大块闪速存储器。

    而小块闪速存储器具有相同大小的逻辑操作单元和物理操作单元,大块闪速存储器具有具有比逻辑操作单元的大小大的大小的物理操作单元。

    在此,作为由用户使用的数据操作单元的逻辑操作单元通常被称作扇区,并且作为在闪速存储器中使用的数据操作单元的物理操作单元通常被称作页。

    逻辑和物理操作单元的大小可根据采用闪速存储器的设备的类型而改变。

    图5是示出大块闪速存储器的结构的示图。参照图5,大块闪速存储器包括多个块101。块101的每一个由多个页102组成。逻辑单元100由至少一个块101,即至少一个物理单元,组成。包含在至少一块之内的每一块以下将被称作物理单元。

    逻辑单元100被分类为映射的逻辑单元或非映射的逻辑单元。在映射的逻辑单元具有有效扇区时,非映射的逻辑单元不具有有效扇区并且因此可在以后被映射。

    逻辑单元100包括相应逻辑单元的逻辑单元号(LUN)被存储在其中的元数据存储区域110、和数据存储在其中的数据存储区域120。

    图6是示出图5中的元数据存储区域110的示图。参照图6,元数据存储区域110包括规定映射到逻辑单元的物理单元的顺序的深度信息112和表示映射到逻辑单元的物理单元的擦除计数值的擦除计数信息(ECNT)113。

    最新映射到逻辑单元的物理单元具有最大深度值并且被确定为最新的数据。

    图7是示出图5的数据存储区域120的示图。参照图7,数据存储区域120包括数据被存储在其中的物理扇区121和物理扇区121的逻辑扇区号(LSN)被存储在其中的元数据122。

    图8是示出逻辑单元和映射到逻辑单元的物理单元的示图。

    参照图8,根据其深度值排列映射到相同的逻辑单元的物理单元。具有较大深度值的物理单元被认为是比具有较小深度值的物理单元更新的数据。

    闪速存储器的物理单元可具有不同的耐久性,即不同的擦除计数值。为了增加闪速存储器的耐久性,具有较小擦除计数值的物理单元将在具有较大擦除计数值的物理单元之前被使用。

    在帮助平均使用闪速存储器的全部多个物理单元的根据本发明示例性实施例的重映射闪速存储器的方法中,以如图9所示的具有较大擦除计数值的物理单元跟随具有较小擦除计数值的物理单元的方式,根据它们的擦除计数值排列尚未被映射的物理单元。

    尚未被映射的物理单元不具有有效扇区并且因此可在以后被映射。

    以具有较小擦除计数值的物理单元在具有较大擦除计数值的物理单元之前被映射的方式,尚未被映射的物理单元将被映射到逻辑单元。

    图10是根据本发明示例性实施例的将数据写到逻辑扇区的方法的流程图。参照图10,在操作步骤S110,预定数据将被存储在其中的LUN被搜索。

    在操作步骤S120中,确定由被搜索的LUN指定的逻辑单元是否具有空存储空间。

    在操作步骤S130中,如果逻辑单元具有空存储空间,则预定数据被存储在逻辑单元中。

    在操作步骤S140中,如果逻辑单元不具有空存储空间,则确定是否有可被另外映射到逻辑单元的物理单元。

    在操作步骤S150中,如果有可被另外映射到逻辑单元的物理单元,则具有最小擦除计数值的物理单元之一被选择。在操作步骤S160中,选择的物理单元被另外映射到逻辑单元。

    其后,预定的数据被写到另外映射到逻辑单元的物理单元。

    如果在操作步骤S140中没有可被另外映射到逻辑单元的物理单元,则在操作步骤S170中,通过对被当前映射到其它逻辑单元的物理单元执行压缩操作来产生尚未被映射的物理单元,并且产生的具有最小擦除计数值的物理单元之一被选择并且其后映射到逻辑单元。

    在此,压缩操作是通过将物理单元重映射到当前以N∶1的映射比率映射的逻辑单元以具有映射比率N-1∶1(其中N>2)来产生至少一个空物理单元的处理。

    换句话说,在该压缩操作中,多个映射到逻辑单元的物理单元之一被选择,并且选择的物理单元的有效扇区被复制到其它物理单元的扇区,因此产生至少一个空物理单元。

    写在将参照图11来更全面地描述压缩操作。参照图11,在操作步骤S171中,具有最低压缩开销的逻辑单元被从至少一个物理单元被映射到其每一个的多个逻辑单元中被选择。

    为了获得逻辑单元的每一个的压缩开销,映射到相应逻辑单元的物理单元的压缩开销将被计算。考虑到相应物理单元的有效扇区的数量,映射到逻辑单元的物理单元的每一个的压缩开销被获得作为复制相应物理单元的有效扇区所需的时间。

    换句话说,映射到相应逻辑单元的物理单元的压缩开销相应于产生用于相应逻辑单元的空物理单元所需的时间,并且通过使用闪速存储器被存取的次数来被获得。

    闪速存储器的存取包括擦除物理单元、写扇区、复制扇区,以及写扇区。

    例如,假定擦除物理单元的开销是10,则写扇区的开销是3,复制扇区的开销是4,并且读扇区的开销是1。因此,如果一个物理单元被擦除并且在压缩操作中总共12个扇区被复制用于预定逻辑单元,则预定逻辑单元的压缩开销是58。

    其后,在映射到相应逻辑单元的物理单元的压缩开销中的最小值被确定为相应逻辑单元的压缩开销。

    在映射到相应逻辑单元的物理单元之中,因为已被最新映射到相应逻辑单元的物理单元的有效扇区的复制总是需要将空物理单元分配给相应逻辑单元,所以已被最新映射到相应逻辑单元的物理单元被排除在压缩操作之外。

    因此,尽管其为映射到相应逻辑单元的物理单元的压缩开销的最小值,已被最新映射到相应逻辑单元的物理单元的压缩开销也将不被确定为相应逻辑单元的压缩。

    如果其压缩开销已被确定为相应逻辑单元的压缩开销的物理单元的有效扇区不能被复制到相应逻辑单元的空白空间,则空物理单元将被分配到相应逻辑单元,并且因此将空物理单元分配给相应逻辑单元的开销被加到相应逻辑单元的压缩开销。

    映射到有第二最低压缩开销的相应逻辑单元的物理单元之一被选择,并且其压缩开销被加到相应逻辑单元的压缩开销。

    以此方式,在操作步骤S171中,至少一个物理单元被映射到其每一个的逻辑单元的每一个的压缩开销被获得,并且具有最低压缩开销的逻辑单元的一个被搜索。

    在操作步骤S172中,映射到搜索的逻辑单元并且具有最低压缩开销的物理单元A被搜索。

    在操作步骤S173中,确定物理单元A的有效扇区的复制是否需要空物理单元。

    在操作步骤S174中,如果不需要空物理单元以复制物理单元A的有效扇区,则物理单元A的有效扇区被复制到搜索的逻辑单元的空白空间。

    在操作步骤S175中,如果将物理单元A的有效扇区复制到搜索的逻辑单元的空白空间结束,则物理单元A被排除在映射到搜索的逻辑单元的物理单元的列表之外。

    在操作步骤S176中,如果物理单元A的有效扇区的复制需要空物理单元,则映射到搜索的逻辑单元并且具有第二最低压缩开销的物理单元B被搜索。

    在操作步骤S177中,空物理单元被分配给搜索的逻辑单元。

    在操作步骤S178中,空物理单元被映射到搜索的逻辑单元。

    在操作步骤S179中,物理单元B被复制到空物理单元。

    在操作步骤S180中,物理单元B被排除在映射到搜索的逻辑单元的物理单元的列表之外,并且压缩方法返回操作步骤S175。

    压缩操作可依据存储在物理单元中的逻辑扇区的位置是否是固定的来提供稍微不同的结果。

    换句话说,如图12所示,存储在物理单元中的逻辑扇区的位置可被固定,或如图13所示,不可被固定。

    图14到16是示出在存储在物理单元中的逻辑扇区的位置被固定的情况下根据本发明示例性实施例的压缩方法的示图。

    参照图14,多个物理单元被映射到逻辑单元。具体地将,逻辑扇区0到3被存储在逻辑单元0、逻辑扇区4到7被存储在逻辑单元2,并且逻辑扇区8到11被存储在逻辑单元3。

    物理单元7、5和4被映射到逻辑单元0,物理单元2和1被映射到逻辑单元1,并且物理单元0被映射到逻辑单元2。

    如上所述,为了获得逻辑单元的压缩开销,映射到该逻辑单元的物理单元的压缩开销将被计算。

    通过使用以下等式:C=Sv*Cc+Se*We来获得映射到逻辑单元的物理单元的每一个的压缩开销,其中,C是相应物理单元的压缩开销,Sv是相应物理单元的有效扇区数量,Cc是复制相应物理单元的有效扇区的开销,Se是相应的逻辑单元的空扇区的数量,并且We是空扇区的每一个的加权。

    例如,如果复制开销Cc是3并且加权We是0.5,则映射到逻辑单元0的物理单元7的压缩开销是4.5(=1*3+3*0.5),映射到逻辑单元0的物理单元5的压缩开销是6.5(=2*3+1*0.5),并且映射到逻辑单元0的物理单元4的压缩开销是3(=1*3+0*0.5)。

    在此,即使物理单元7具有最低压缩开销,其也因为基于其深度值其被确定为最新数据而被排除在压缩操作之外。因此,具有第二最低压缩开销的物理单元4被选择,并且物理单元4的一个有效扇区被复制到物理单元5。

    物理单元4的压缩开销,即3,被确定为逻辑单元0的压缩开销。

    同时,如以与物理单元7、5和4的方式相同的方式而获得,映射到逻辑单元1的物理单元2的压缩开销是4.5。映射到逻辑单元1的物理单元1的压缩开销是4。

    在此情况下,因为物理单元2被确定已被最新映射到逻辑单元1,其被排除在压缩操作之外。因此,物理单元1的一个有效扇区被复制到物理单元2,并且物理单元1的压缩开销被确定为逻辑单元1的压缩开销。

    在此情况下,近一个物理单元,即物理单元0,被复制到逻辑单元2。因此,物理单元2被排除在压缩操作之外。

    在此,在写例如逻辑扇区11的情况下,逻辑扇区11被存储在逻辑单元2中。

    然而,逻辑单元2不具有空扇区,通过压缩操作,空物理单元被产生用于逻辑单元2。

    如上所述,在逻辑单元0、1和2中,逻辑单元0具有最低压缩开销,并且在映射到逻辑单元0的物理单元7、5和4中,物理单元4具有最低压缩开销。

    因此,如图15所示,物理单元4的一个有效扇区被复制到物理单元5,并且物理单元被排除在映射到逻辑单元0的物理单元的列表之外。

    其后,如图16所示,已被排除在映射到逻辑单元0的物理单元的列表之外的物理单元4被映射到逻辑单元2,并且物理扇区11被存储在物理单元4中。

    现在将参照图17到19来描述存储在物理单元中的逻辑扇区的位置是未固定的的替换情况,其示出在存储在物理单元中的逻辑扇区的位置未被固定的情况下根据本发明示例性实施例的压缩方法。参照图17,多个物理单元被映射到逻辑单元。假定总共4个逻辑扇区被顺序存储在一个逻辑单元的空白空间中。

    逻辑扇区0到3被存储在逻辑单元0中,逻辑扇区4到7被存储在逻辑单元2,并且逻辑扇区8到11被存储在逻辑单元3。

    物理单元7、5和4被映射到逻辑单元0,物理单元2和1被映射到逻辑单元1,并且物理单元0被映射到逻辑单元2。

    逻辑单元0、1和2的每一个的压缩开销在初始化系统的开始时被计算并且每当其需要被更新时可被更新。

    通过使用以下等式C=Sv*Cc来获得物理单元的压缩开销,其中,C是物理单元的压缩开销,Sv是物理单元的有效扇区数量,并且Cc是物理单元的复制开销。

    通过使用以下等式Q=Uc+Iw来获得将空物理单元分配给逻辑单元的开销,其中,Q是逻辑单元的分配开销,Uc是擦除单元的开销,并且Iw是写元数据的开销。

    例如,如果复制开销Cc是3,则单元擦除开销Uc是10,并且元数据写开销Iw是2,物理单元7的压缩开销是3(=1*3),物理单元5的压缩开销是6(=2*3),并且物理单元4的压缩开销是3(=1*3)。

    由于物理单元7被确定已被最新映射到逻辑单元0,所以物理单元4的压缩开销被确定为逻辑单元0的压缩开销。

    另外,物理单元2的压缩开销是3(=1*3),并且物理单元1的压缩开销是9(=3*3)。由于物理单元2被确定已被最新映射到逻辑单元1,所以物理单元1的压缩开销被确定为逻辑单元1的压缩开销。

    在此情况下,由于物理单元1的三个有效扇区不能被复制到逻辑单元1,所以空物理单元将被分配,并且逻辑单元1的压缩开销将因此被更新。因此,通过将12的单元分配开销加到物理单元1的压缩开销,即9,更新逻辑单元1的压缩开销。因此,逻辑单元1的结果开销为21。

    由于物理单元2具有第二最低压缩开销,所以通过将物理单元2的压缩开销,即3,加到物理单元1的压缩开销,即21,将将更新逻辑单元1的压缩开销。因此,逻辑单元1的结果开销为24。

    同时,由于仅一个物理单元,即物理单元0,被映射到逻辑单元2,所以逻辑单元2被排除在压缩操作之外。

    在写,例如逻辑扇区11,的情况下,逻辑扇区11被存储在逻辑单元2中。

    然而,逻辑单元2不具有空扇区,并且因此压缩操作需要被执行。作为逻辑单元0、1和2的压缩操作的结果逻辑单元0被确定具有最低压缩开销。

    另外,在映射到逻辑单元0的物理单元7、5和4之中,物理单元7和4被确定具有最低压缩开销,但是因为物理单元7被确定已被最新映射到逻辑单元0,所以物理单元4被最终选择。因此,物理单元4的一个有效扇区被复制到逻辑单元0的空扇区,在该情况下,不需要空物理扇区的分配。

    因此,如图18所示,作为物理单元4的有效扇区的逻辑扇区被复制到物理单元7的空扇区,并且其后物理单元4被排除在映射到逻辑单元0的物理单元的列表之外。

    其后,如图19所示,因为其具有最小擦除计数值并且被重新映射到逻辑单元2,所以已被排除在映射到逻辑单元0的物理单元的列表之外的物理单元4被从仍然被映射的多个物理单元中选择。

    因此,逻辑扇区11被写到被重新映射到逻辑单元2的物理单元4的第一扇区。

    在本实施例中,在尚未被映射的多个物理单元之中,在其余物理单元之前使用具有最小擦除计数值的物理单元。

    如果仅有很少尚未被映射的物理单元,则损耗调整(wear leveling)操作以及压缩操作可被执行以便保证对物理单元更平均的使用。

    另外,如果在物理单元的擦除计数值的最大值和最小值之间的差在预定范围之外,则具有最小擦除计数值的物理单元的有效扇区被复制到相应逻辑单元的空扇区,并且具有最小擦除计数值的物理单元被排除在映射到相应逻辑单元的物理单元的列表之外。

    现在将参照图20来描述使用此类损耗调整操作的写数据的方法。

    参照图20,在操作步骤S210中,预定数据将被存储在其上的LUN被搜索。

    在操作步骤S220中,确定由被搜索的LUN指示的逻辑单元是否具有空白存储空间。

    在操作步骤S230中,如果逻辑单元具有空白存储空间,则预定数据被存储在逻辑单元的空白存储空间中。

    在操作步骤S240中,如果逻辑单元不具有空存储空间,则确定是否由可被另外映射到逻辑单元的物理单元。

    在操作步骤S250中,如果有可被另外映射到逻辑单元的物理单元,则具有最小擦除计数值的物理单元之一被选择。

    在操作步骤S260中,选择的物理单元被重新映射到逻辑单元。

    其后,预定数据被写到重新映射到逻辑单元的选择的物理单元的空白空间中。

    在操作步骤S270中,如果没有可被另外映射到逻辑单元的物理单元,则尚未被映射的物理单元可通过压缩操作而被产生,并且产生的物理单元之一被重新映射到逻辑单元。

    诸如图21中的逻辑单元0的仅具有映射到其上的一个物理单元的逻辑单元被排除在压缩操作之外。

    参照图21,物理单元2的压缩开销是9(=1*9),物理单元0的压缩开销是6(=2*3),并且物理单元6的压缩开销是3(=1*3)。

    因为其被确定已被最新映射到逻辑单元1,所以物理单元2被排除在压缩操作之外。因此,具有最低压缩开销的物理单元6被确定为逻辑单元1的压缩开销。

    由于物理单元6的有效扇区不能被复制到逻辑单元1的空扇区,所以空物理单元将被分配。因此,将通过将12的单元分配开销加到物理单元4的压缩开销来更新逻辑单元1的压缩开销。

    因此,逻辑单元1的结果压缩开销变为15。另外,在物理单元2和0中,物理单元2具有最低压缩开销。

    因此,还将通过将物理单元2的压缩开销,即3,加到逻辑单元1的之前更新的压缩开销,即15,来更新逻辑单元1的压缩开销。因此,逻辑单元1的结果开销变为18。

    物理单元4的压缩开销是3(=1*3),并且物理单元1的压缩开销是9(=3*3)。由于物理单元4被确定已被最新映射到逻辑单元3,所以物理单元1的压缩开销被确定为逻辑单元3的压缩开销。由于物理单元1的3个有效扇区的全部不能被复制到逻辑单元3的空白空间,所以空物理单元将被分配。

    因此,将通过将12的单元分配开销加到物理单元1的压缩开销来更新逻辑单元3的压缩开销。因此,逻辑单元3的结果压缩开销为21。

    另外,还将通过将物理单元4的压缩开销,即3,加到逻辑单元3的之前更新的压缩开销,即21,来更新逻辑单元1的压缩开销。

    因此,逻辑单元3的结果压缩开销变为24。

    物理单元7的压缩开销是3(=1*3),并且物理单元9的压缩开销是9(=3*3)。

    由于物理单元7被确定已被最新映射到逻辑单元4,所以物理单元4的压缩开销被确定为逻辑单元4的压缩开销。

    由于3个有效扇区的全部不能被复制到逻辑单元4的空白空间,所以空物理单元将被分配。

    因此,将通过将12的单元分配开销加到物理单元9的压缩开销来更新逻辑单元4的压缩开销。因此,逻辑单元4的结果压缩开销为21。

    另外,还将通过将物理单元7的压缩开销,即3,加到逻辑单元3的之前更新的压缩开销,即21,来更新逻辑单元3的压缩开销。因此,逻辑单元3的结果压缩开销变为24。

    现在将参照图21到23来描述将逻辑扇区0写到不具有空扇区的逻辑单元0的方法。

    在逻辑单元0、1、2和3中,逻辑单元1具有最低压缩开销。在物理单元2、0和6中,物理单元6具有最低压缩开销。

    因为逻辑单元1不具有空扇区,所以物理单元6的有效扇区不能被复制到逻辑单元1。

    因此,空物理单元将被分配。因此,如图22所示,尚未被分配的物理单元被重新映射到逻辑单元1。

    物理单元2具有第二最低压缩开销,物理单元2的有效扇区被复制到重新映射到逻辑单元1的物理单元,并且其后物理单元2被从映射到逻辑单元1的物理单元的列表中排除。

    其后,物理单元6的有效扇区被复制到重新映射到逻辑单元1的物理单元,并且其后物理单元6被从映射到逻辑单元1的物理单元的列表中被排除。

    因此,如图23所示,物理单元6和2被分类为尚未被映射的物理单元。由于物理单元6具有被物理单元2低的擦除计数值,物理单元6被重新映射到逻辑单元0。

    参照图20,在操作步骤S280中,确定物理单元的擦除计数值的最大值和最小值之间的差是否在预定范围之外。在操作步骤S290中,如果物理单元的擦除计数值的最大值和最小值之间的差在预定范围之外,则损耗调整操作被强制执行。

    换句话说,如图24中所示,物理单元1到9的擦除计数值中的最小值和最大值被检测,并且确定其间的差是否不小于预定值。

    在此,物理单元8具有121的最大擦除计数值,并且物理单元9具有21的最小擦除计数值。因此,最大擦除计数值和最小擦除计数值之间的差是100。

    因此,如果预定值是100,则物理单元9被强制排除在压缩操作之外。

    尽管参照示例性实施例和图描述了根据本发明重映射闪速存储器的方法,将理解上述示例性实施例仅是为了说明的目的,并且不被解释为对本发明的限制,并且落在权利要求的范围内的全部改变和等同物意图被包含在此。

    根据本发明的重映射闪速存储器的方法具有以下优点。

    首先,可通过以具有较小擦除计数值的物理单元在具有较大擦除计数值的物理单元之前被映射到逻辑单元的方式,根据它们的擦除计数值将物理单元顺序地映射到逻辑单元而均匀使用尚未被映射的物理单元。因此,可增加闪速存储器的耐久性。

    第二,可通过最小化在将数据写到闪速存储器的处理中闪速存储器被存取的次数来提供对用户的请求的快速响应。

重映射闪速存储器的方法.pdf_第1页
第1页 / 共38页
重映射闪速存储器的方法.pdf_第2页
第2页 / 共38页
重映射闪速存储器的方法.pdf_第3页
第3页 / 共38页
点击查看更多>>
资源描述

《重映射闪速存储器的方法.pdf》由会员分享,可在线阅读,更多相关《重映射闪速存储器的方法.pdf(38页珍藏版)》请在专利查询网上搜索。

提供一种重映射闪速存储器的方法,其最小化闪速存储器被存取的次数并且帮助平均使用闪速存储器的整个区域。该方法根据它们的擦除计数值排列尚未将被映射的多个物理单元,以及以具有较小擦除计数值的物理单元在具有较大的擦除计数值的物理单元之前被映射到逻辑单元的方式将物理单元顺序地映射到逻辑单元。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1