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

文档序号:9872426阅读:来源:国知局
何逻辑组块。在该示例中,复制的逻辑组块2d被贮存在与冗余组4中的其它逻辑组块不在相同的连续的条带中的备用装置6中的第一可用的位置处(例如,在由坐标6,1指示的备用装置6处的第一位置(或物理地址的第一范围)中)。
[0073]例如,贮存控制器120或其组件(例如,触发条件检测模块222,图2A)在对应于原来的装置I的贮存介质130中检测第五预定的触发条件。在图4C中,例如,贮存控制器120或其组件(例如,选择模块226,图2A)在检测到第二关于原来的装置I的预定的触发条件之后在冗余组I中选择逻辑组块Ia(例如,如示出为划掉的)以用于迀移。在图4C中,例如,贮存控制器120或其组件(例如,贮存模块228,图2A)在备用装置5处贮存包括逻辑组块Ia的副本的复制的逻辑组块la,因为备用装置5不在冗余组I中贮存任何逻辑组块。在该示例中,复制的逻辑组块Ia被贮存在与冗余组I中的其它逻辑组块不在相同的连续的条带中的备用装置5中的第一可用的位置处(例如,在由坐标5,4指示的备用装置5处的第四位置(或物理地址的第四范围)中)。
[0074]图4D是根据一些实施例的对应于在图4C中的多个逻辑组块的间接表的示意图。在图4D中,间接表216是在图4B中示出的间接表的更新的版本。在图4D中,间接表216反映如关于图4C在上面描述地迀移的逻辑组块的新的位置(或物理地址)。在图4D中,例如,冗余组4中的逻辑组块I和2具有新的物理地址(例如,分别由坐标5,2和6,1指示)。例如,根据优选的贮存利用方案,逻辑组块Id已经从原来的装置I迀移出到在备用装置5处的第二位置(或物理地址的范围)(例如,坐标5,2),并且逻辑组块2d已经从原来的装置2迀移出到在备用装置6处的第一位置(或物理地址的范围)(例如,坐标6,I)。换句话说,冗余组4中的逻辑组块I(例如,逻辑组块Id)已经从位置(I,4)重新映射到位置(5,2),并且冗余组4中的逻辑组块2(例如,逻辑组块2d)已经从位置(2,4)重新映射到位置(6,1)。例如,在图4(:中-40中示出的优选的贮存利用方案需要将复制的逻辑组块贮存在冗余组中不包括任何逻辑组块的备用装置中,并且需要将复制的逻辑组块贮存在不在与冗余组中的其它逻辑组块相同的连续的条带中的第一可用的位置处,该复制的逻辑组块被分配到与选择的逻辑组块相同的冗余组。可选地,复制的组块不一定需要在与冗余组中的其它逻辑组块相同的连续的条带中。
[0075]图5示出了根据一些实施例的触发迀移过程的方法500的流程图表示。在一些实施例中,在贮存系统处进行的方法500包括贮存控制器120,并且多个闪速存储器装置(例如,贮存介质130,图1)包括各个闪速存储器装置。
[0076]在步骤502处,各个闪速存储器装置确定已经故障或者在近期将发生故障的用于各个闪速存储器装置的阈值数的闪速存储器块。在一些实施例中,多个闪速存储器装置的每一个保持指示用于各个闪速存储器装置的故障的闪速存储器块的数量的计数器。在一些实施例中,贮存控制器120或其组件被配置为维持指示用于多个闪速存储器装置的各个闪速存储器装置的故障的闪速存储器块的数量的多个闪速存储器装置的每一个的计数器。在一些实施例中,贮存控制器120或其组件被配置为在特征向量表234中贮存并且维持用于多个闪速存储器装置的每一个的多个特征向量236。在一些实施例中,用于各个闪速存储器装置的各个特征向量236包括指示用于各个闪速存储器装置的故障的闪速存储器块的数量的故障的块计数器字段242。在一些实施例中,当从闪速存储器块读取的一个或多个码字是不可校正的时,或者在从闪速存储器块读取一个或多个码字之后产生的其它ECC信息指示对应于一个或多个码字的误码率超过预定的阈值时,闪速存储器块故障。在一些实施例中,当用于闪速存储器块的PE周期的计数超过预定的阈值时,闪速存储器块故障。在一些实施例中,故障的闪速存储器块的阈值数等于闪速存储器块在逻辑组块中的数量。在一些实施例中,故障的闪速存储器块的阈值数等于闪速存储器块在逻辑组块中的数量的整数倍数。
[0077]在步骤504处,各个闪速存储器装置减少其宣传的尺寸。在一些实施例中,当前(或减少的)宣传的尺寸和之前宣传的尺寸之间的差等于包括逻辑组块的闪速存储器块的数量。在一些实施例中,闪速存储器装置的宣传的尺寸是向贮存控制器120宣传的、等于贮存数据并且可用于贮存数据的逻辑组块的量的字节或地址的量。在一些实施例中,闪速存储器装置的宣传的尺寸等于包括闪速存储器装置的闪速存储器块的总量和故障的闪速存储器块的数量之间的差。
[0078]在步骤506处,贮存控制器120将存储器访问请求(例如,读取或写入操作)引导到各个闪速存储器装置。在一些实施例中,贮存控制器120响应于来自主机的、在对应于与各个闪速存储器装置相关联的存储器位置的逻辑地址处进行存储器访问操作的请求,将存储器访问请求引导到各个闪速存储器装置。
[0079]在步骤508处,各个闪速存储器装置响应于接收存储器访问请求,将延迟的误差返回到贮存控制器120。延迟的误差指示用于各个闪速存储器装置的阈值数的闪速存储器块已经故障。例如,当由贮存系统使用小型计算机系统接口(SCSI)协议时,延迟的误差可以是当接收存储器访问请求时仅返回(或报告)到贮存控制器120的延迟的SCSI误差。
[0080]在步骤510处,响应于接收延迟的误差,贮存控制器120询问各个闪速存储器装置以便于确定其当前宣传的尺寸。在一些实施例中,贮存控制器120或其组件(例如,触发条件检测模块222,图2A)被配置为响应于接收延迟的误差而检测关于各个闪速存储器装置的预定的触发条件。可替换地,响应于接收延迟的误差,贮存控制器120启动关于各个闪速存储器装置的迀移过程(在下面关于方法800更加详细地描述)。
[0081]在步骤512处,各个闪速存储器装置响应于接收来自贮存控制器120的询问,返回当前(即,减少的)宣传的尺寸。
[0082]在步骤514处,贮存控制器120确定由各个闪速存储器装置返回的当前宣传的尺寸是否小于各个闪速存储器装置的之前宣传的尺寸。在一些实施例中,贮存控制器120确定由各个闪速存储器装置返回的当前宣传的尺寸是否小于由各个闪速存储器装置贮存的数据的量。例如,这指示至少等于当前宣传的尺寸和由各个闪速存储器装置贮存的数据的量之间的差的数据的量需要被迀移到不同于各个闪速存储器装置的第二闪速存储器装置。
[0083]在步骤516处,根据各个闪速存储器装置的当前宣传的尺寸小于各个闪速存储器装置的之前宣传的尺寸的确定,贮存控制器120启动关于各个闪速存储器装置的迀移过程(在下面关于方法800更加详细地描述)。
[0084]图6示出了根据一些实施例的触发迀移过程的方法600的流程图表示。在一些实施例中,方法600在包括贮存控制器120和多个闪速存储器装置(例如,贮存介质130,图1)的贮存系统处进行,该多个闪速存储器装置包括各个闪速存储器装置。
[0085]在步骤602处,各个闪速存储器装置确定用于各个闪速存储器装置的阈值数的闪速存储器块已经故障或者在近期有时可能发生故障。见以上关于图5的步骤502的例如关于用于确定各个闪速存储器装置是否已经故障的准则的讨论。
[0086]在步骤604处,响应于步骤602中的确定,各个闪速存储器装置将通知返回到贮存控制器120。该通知指示用于各个闪速存储器装置的阈值数的闪速存储器块已经故障。例如,当由贮存系统使用小型计算机系统接口(SCSI)协议时,该通知可能是主动式SCSI硬件误差。
[0087]在步骤606处,响应于接收来自各个闪速存储器装置的通知,贮存控制器120启动关于各个闪速存储器装置的迀移过程(在下面关于方法800更加详细地描述)。在一些实施例中,贮存控制器120或其组件(例如,触发条件检测模块222,图2A)被配置为响应于接收误差,检测关于各个闪速存储器装置的预定的触发条件。
[0088]图7示出了根据一些实施例的触发迀移过程的方法700的流程图表示。在一些实施例中,方法700在贮存控制器120处进行。
[0089]在步骤702处,贮存控制器120确定用于多个闪速存储器装置的各个闪速存储器装置的阈值数的闪速存储器块已经故障或者在近期有时可能发生故障。见以上关于图5的步骤502的例如关于用于确定各个闪速存储器装置是否已经故障的准则的讨论。
[0090]在步骤704处,响应于确定用于各个闪速存储器装置的阈值数的闪速存储器块已经故障,贮存控制器120启动关于各个闪速存储器装置的迀移过程(在下面关于方法800更加详细地描述)。在一些实施例中,贮存控制器120或其组件(例如,触发条件检测模块222,图2A)被配置为响应于确定用于各个闪速存储器装置的阈值数的闪速存储器块已经故障,检测关于各个闪速存储器装置的预定的触发条件。
[0091]图8A-8C示出了管理包括贮存控制器和多个闪速存储器装置的贮存系统的方法800的流程图表示,其中每个闪速存储器装置具有多个闪速存储器块。在一些实施例中,方法800由图1中的贮存控制器120进行,该贮存控制器120不同于图1的贮存介质130,并且由一个或多个连接(例如,连接103,图1)耦接到图1的贮存介质130 (例如,包括多个闪速存储器装置)。可选的操作由虚线指示(例如,具有虚线边界的方框)。
[0092]在一些实施例中,方法800由贮存控制器120或贮存控制器120的一个或多个组件(例如,管理模块121,图1和2A)进行。在一些实施例中,方法800由贮存在非瞬时性计算机可读贮存介质中的指令以及由装置的一个或多个处理器——诸如管理模块121的一个或多个处理单元(CPU)122执行的指令管理。在一些实施例中,方法800全部或部分由计算机系统110进行。
[0093]贮存控制器将多个闪速存储器装置的每一个分割为(802)多个逻辑组块,其中每个逻辑组块包括一个或多个闪速存储器块。在一些实施例中,贮存控制器120或其组件(例如,逻辑组块管理模块212,图2A)被配置为将多个闪速存储器装置的每一个分割为多个逻辑组块。此外,用于多个逻辑组块的每一个的逻辑地址(或逻辑地址的组)在逻辑到物理的映射220中与物理地址(或物理地址的组)相关联。在一些实施例中,贮存控制器120或其组件(例如,映射模块218,图2A)被配置为随着逻辑组块在闪速存储器装置之间迀移而维持并且更新逻辑到物理的映射220。
[0094]在一些实施例中,由软件预先确定(804)多个逻辑组块的尺寸。例如,贮存系统的管理员能够确定逻辑组块的尺寸。通常,逻辑组块的尺寸大于或等于1MB。
[0095]在一些实施例中,基于由贮存系统使用的协议确定(806)多个逻辑组块的尺寸。例如,当小型计算机系统接口(SCSI)协议被用于贮存系统时,逻辑组块可以是逻辑单元数量(!^■)。3031协议在贮存系统中支持达64,0001^^;但是,一些操作系统仅支持达16,0000^。例如,8TB贮存系统可以被分割为16,000 500MB LUN。
[0096]贮存控制器检测(808)关于多个闪速存储器装置的各个闪速存储器装置的预定的触发条件。在图5中,例如,贮存控制器120或其组件(例如,触发条件检测模块222,图2A)响应于从各个闪速存储器装置接收延迟的触发,而检测关于各个闪速存储器装置的预定的触发条件。在该示例中,在从贮存控制器120接收存储器访问请求之后,各个闪速存储器装置将延迟的误差发送到贮存控制器120。在图6中,例如,贮存控制器120或其组件(例如,触发条件检测模块222,图2A)当接收来自各个闪速存储器装置的通知时,检测关于各个闪速存储器装置的预定的触发条件。在该示例中,在确定用于各个闪速存储器装置的阈值数的闪速存储器块已经故障之后,各个闪速存储器装置将主动式误差发送到贮存控制器120。在图7中,例如,贮存控制器120或其组件(例如,触发条件检测模块222,图2A)在确定用于各个
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1