用于在闪速存储器装置之间迁移数据的方法和系统的制作方法_3

文档序号:9872426阅读:来源:国知局
于图5-7在下面更加详细地描述预定的触发条件的检测,并且关于方法800在下面更加详细地描述迀移过程。在一些实施例中,迀移过程包括复制选择的逻辑组块并且在备用装置处贮存复制的逻辑组块,该复制的逻辑组块包括选择的逻辑组块的副本。在一些实施例中,在迀移过程完成之后,贮存控制器120或其组件通知原来的装置选择的逻辑组块现在被清空(例如,经由用于标准SSD的TR頂或UNMAP命令)。在一些实施例中,根据优选的贮存利用方案复制的逻辑组块被贮存在备用装置处。在一些实施例中,优选的贮存利用方案需要将复制的逻辑组块贮存在冗余组中的不包括任何逻辑组块的备用装置中,和/或需要将复制的逻辑组块贮存在备用装置中的位置处,使得复制的逻辑组块被贮存在与冗余组中的其它逻辑组块相同的连续的条带中,该复制的逻辑组块被分配到与选择的逻辑组块相同的冗余组。
[0059]例如,贮存控制器120或其组件(例如,触发条件检测模块222,图2A)在对应于原来的装置I的贮存介质130中检测第一预定的触发条件。在图3B中,例如,贮存控制器120或其组件(例如,选择模块226,图2A)在检测到关于原来的装置I的预定的触发条件之后选择代表性冗余组310中的逻辑组块Ia(例如,如示出为划掉的)以用于迀移。在图3B中,例如,贮存控制器120或其组件(例如,贮存模块228,图2A)在不在代表性冗余组310中贮存任何逻辑组块的备用装置(例如,备用装置5)处,贮存包括逻辑组块Ia的副本的复制的逻辑组块la。在图3B中,例如,复制的逻辑组块Ia被贮存在备用装置5中的位置处,使得复制的逻辑组块Ia被贮存在与代表性冗余组310中的其它逻辑组块(例如,在备用装置5处的第一位置(或物理地址的第一范围))相同的连续的条带中。应注意的是,触发迀移的条件不一定需要从被选择以用于迀移的逻辑组块中产生,仅在相同的装置中。
[0060]图3C是根据一些实施例的被分割为多个逻辑组块的贮存介质的框图。例如,贮存控制器120或其组件(例如,触发条件检测模块222,图2A)在对应于原来的装置3的贮存介质130中检测第二预定的触发条件。在图3C中,例如,贮存控制器120或其组件(例如,选择模块226,图2A)在检测到关于原来的装置3的预定的触发条件之后选择代表性冗余组310中的逻辑组块3a(例如,如示出为划掉的)以用于迀移。在图3C中,例如,贮存控制器120或其组件(例如,贮存模块228,图2A)在代表性冗余组310中不贮存任何逻辑组块的备用装置(例如,备用装置6)处贮存包括逻辑组块3a的副本的复制的逻辑组块3a。在图3C中,例如,复制的逻辑组块3a被贮存在备用装置6中的位置处,使得复制的逻辑组块3a被贮存在与代表性冗余组310中的其它逻辑组块(例如,在备用装置6处的第一位置(或物理地址的第一范围))相同的连续的条带中。
[0061]例如,贮存控制器120或其组件(例如,触发条件检测模块222,图2A)在对应于原来的装置2的贮存介质130中检测第三预定的触发条件。在图3C中,例如,贮存控制器120或其组件(例如,选择模块226,图2A)在检测到关于原来的装置2的预定的触发条件之后选择代表性冗余组320中的逻辑组块2e(例如,如示出为划掉的)以用于迀移。在图3C中,例如,贮存控制器120或其组件(例如,贮存模块228,图2A)在不在代表性冗余组320中贮存任何逻辑组块的备用装置(例如,备用装置5)处,贮存包括逻辑组块2e的副本的复制的逻辑组块2e。在图3C中,例如,复制的逻辑组块2e被贮存在备用装置5中的位置处,使得复制的逻辑组块2e被贮存在与代表性冗余组320中的其它逻辑组块(例如,在备用装置5处的第五位置(或物理地址的第五范围))相同的连续的条带中。
[0062]图4A是根据一些实施例的贮存介质(例如,企业贮存环境)被分割为多个逻辑组块的框图。图44示出了包括多个闪速存储器装置(例如,装置1、2、3、4、5、6、-_)的贮存介质130。在一些实施例中,贮存介质130包括更多或更少数量的闪速存储器装置。在一些实施例中,多个闪速存储器装置的每一个是单裸芯或多裸芯闪速存储器装置。在一些实施例中,贮存控制器120和贮存介质130包括贮存系统。
[0063]在一些实施例中,贮存控制器120或其组件(例如,逻辑组块管理模块212,图2A)被配置为将闪速存储器装置分割为多个逻辑组块。在图4A中,例如,装置I被分割为逻辑组块Ia、Ib、I c、Id、I e、I f。每个逻辑组块被分配到逻辑地址(或逻辑地址的组),其中该逻辑地址(或逻辑地址的组)在逻辑到物理的映射220中被映射到物理地址(或物理地址的组)。例如,逻辑组块Ia在装置I处被映射到第一位置(或物理地址的第一范围)。在一些实施例中,管理贮存控制器120或其组件(例如,映射模块218,图2A)被配置为随着逻辑组块从第一闪速存储器装置迀移到第二闪速存储器装置,而维持并且更新逻辑到物理的映射220。
[0064]在图4A中,例如,贮存介质130包括原来的装置1、2、3、4和备用装置5、6。例如,原来的装置是初始地贮存数据的闪速存储器装置,并且备用装置是贮存从原来的装置的一个产生的复制的数据的储备闪速存储器装置。在图4A中,例如,数据被贮存在原来的装置1-4的逻辑组块中。图4A示出了包括四个原来的装置和两个备用装置的贮存介质130;但是,如将由本领域技术人员所理解的,贮存介质130可以包括任何数量的原来的和备用装置。
[0065]图4B是根据一些实施例的对应于在图4A中的多个逻辑组块的间接表的示意图。在一些实施例中,在将多个闪速存储器装置分割为多个逻辑组块之后(或者与此同时),贮存控制器120或其组件(例如,冗余模块214,图2A)被配置为将多个逻辑组块布置为冗余组,其中每个冗余组包括一个或多个逻辑组块。在一些实施例中,每个冗余组贮存足以使能恢复被贮存在一个或多个逻辑组块的至少一个中的数据的冗余的数据。间接表216包含每个冗余组中的一个或多个逻辑组块的位置(例如,物理地址)。在一些实施例中,贮存控制器120或其组件(例如,冗余模块214,图2A)被配置为随着冗余组中的一个或多个逻辑组块的物理地址随时间改变(例如,随着逻辑组块从第一闪速存储器装置迀移到第二闪速存储器装置)而维持并且更新间接表216。
[0066]在图4B中,例如,间接表216示出了用于冗余组I中的逻辑组块I的物理地址位于原来的装置1(例如,由坐标I,I指示)处的第一位置(或物理地址的第一范围)中,用于冗余组I中的逻辑组块2的物理地址位于原来的装置2(例如,由坐标2,1指示)处的第一位置(或物理地址的第一范围)中,用于冗余组I中的逻辑组块3的物理地址位于原来的装置3(例如,由坐标3,1指示)处的第一位置(或物理地址的第一范围)中,并且用于冗余组I中的逻辑组块4的物理地址位于原来的装置4(例如,由坐标4,1指示)处的第一位置(或物理地址的第一范围)中。在图4B中,例如,包括逻辑组块I a、2a、3a、4a的冗余组I在四个原来的装置(例如,连续的RAID条带)之上被冗余地编码。在图4B中,例如,冗余组2-6被以与冗余组I类似的组织的方案布置。本领域普通技术人员将理解可以实现多种冗余方案,而为了简洁的原因而不在此讨论。
[0067]图4C是根据一些实施例的被分割为多个逻辑组块的贮存介质的框图。在一些实施例中,在检测到关于原来的装置的预定的触发条件之后,贮存控制器120或其组件(例如,选择模块226,图2A)被配置为根据预定的选择准则选择包括原来的装置的多个逻辑组块中的一个以用于迀移过程。在下面关于图5-7更加详细地描述预定的触发条件的检测,并且在下面关于方法800更加详细地描述迀移过程。在一些实施例中,迀移过程包括复制选择的逻辑组块并且在备用装置处贮存复制的逻辑组块,该复制的逻辑组块包括选择的逻辑组块的副本。在一些实施例中,在迀移过程完成之后,贮存控制器120或其组件通知原来的装置选择的逻辑组块现在被清空(例如,经由用于标准SSD的TRIM或UNMAP命令)。应注意的是,触发迀移的条件不一定需要从被选择以用于迀移的逻辑组块中产生,仅在相同的装置中产生。
[0068]在一些实施例中,根据优选的贮存利用方案复制的逻辑组块被贮存在备用装置处。在一些实施例中,优选的贮存利用方案需要将复制的逻辑组块贮存在备用装置中的第一可用的位置处。在一些实施例中,优选的贮存利用方案需要将复制的逻辑组块贮存在不在冗余组中包括逻辑组块的备用装置中的第一可用的位置处,该复制的逻辑组块被分配到与选择的逻辑组块相同的冗余组。在一些实施例中,优选的贮存利用方案需要将复制的逻辑组块贮存在不在冗余组中包括任何逻辑组块的备用装置中,并且需要将复制的逻辑组块贮存在与冗余组中的其它逻辑组块不在相同的连续的条带中的第一可用的位置,该复制的逻辑组块被分配到与选择的逻辑组块相同的冗余组。
[0069]例如,贮存控制器120或其组件(例如,触发条件检测模块222,图2A)在对应于原来的装置3的贮存介质130中检测第一预定的触发条件。在图4C中,例如,贮存控制器120或其组件(例如,选择模块226,图2A)在检测到关于原来的装置3的预定的触发条件之后选择冗余组3中的逻辑组块3c(例如,如示出为划掉的)以用于迀移。在图4C中,例如,贮存控制器120或其组件(例如,贮存模块228,图2A)在备用装置5处贮存包括逻辑组块3c的副本的复制的逻辑组块3c,因为备用装置5不在冗余组3中贮存任何逻辑组块。在该示例中,复制的逻辑组块3c被贮存在与冗余组3中的其它逻辑组块不在相同的连续的条带中的备用装置5中的第一可用的位置处(例如,在由坐标5,1指示的备用装置5处的第一位置(或物理地址的第一范围)中)。
[0070]例如,贮存控制器120或其组件(例如,触发条件检测模块222,图2A)检测在对应于原来的装置4的贮存介质130中的第二预定的触发条件。在图4C中,例如,贮存控制器120或其组件(例如,选择模块226,图2A)在检测到关于原来的装置4的预定的触发条件之后选择冗余组2中的逻辑组块4b(例如,如示出为划掉的)以用于迀移。在图4C中,例如,IC存控制器120或其组件(例如,贮存模块228,图2A)在备用装置5处贮存包括逻辑组块4b的副本的复制的逻辑组块4b,因为备用装置5不在冗余组2中贮存任何逻辑组块。在该示例中,复制的逻辑组块4b被可选地贮存在与冗余组2中的其它逻辑组块不在相同的故障域中的备用装置5中的第一可用的位置(例如,在由坐标5,3指示的备用装置5处的第三位置(或物理地址的第三范围)中)。
[0071]例如,贮存控制器120或其组件(例如,触发条件检测模块222,图2A)在对应于原来的装置I的贮存介质130中检测第三预定的触发条件。在图4C中,例如,贮存控制器120或其组件(例如,选择模块226,图2A)在检测到关于原来的装置I的预定的触发条件之后选择冗余组4中的逻辑组块Id(例如,如示出为划掉的)以用于迀移。在图4C中,例如,贮存控制器120或其组件(例如,贮存模块228,图2A)在备用装置5处贮存包括逻辑组块Id的副本的复制的逻辑组块ld,因为备用装置5不在冗余组4中贮存任何逻辑组块。在该示例中,复制的逻辑组块Id被可选地贮存在与冗余组4中的其它逻辑组块不在相同的连续的条带中的备用装置5中的第一可用的位置处(例如,在由坐标5,2指示的备用装置5处的第二位置(或物理地址的第二范围)中)。
[0072]例如,贮存控制器120或其组件(例如,触发条件检测模块222,图2A)在对应于原来的装置2的贮存介质130中检测第四预定的触发条件。在图4C中,例如,贮存控制器120或其组件(例如,选择模块226,图2A)在检测到关于原来的装置2的预定的触发条件之后在冗余组4中选择逻辑组块2d(例如,如示出为划掉的)以用于迀移。在图4C中,例如,贮存控制器120或其组件(例如,贮存模块228,图2A)在备用装置6处贮存包括逻辑组块2d的副本的复制的逻辑组块2d,因为备用装置6不在冗余组4中贮存任
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1