存储器管理系统及其方法与流程

文档序号:13472113阅读:262来源:国知局
存储器管理系统及其方法与流程

本解决方案涉及一种存储器管理系统及其方法,并且更特别地涉及一种存储器管理系统及其方法,其将有限的备用单元最优地分布(或分配)成系统中的物理区域和虚拟区域以便修复存储器的错误,并且在分布时根据备用存储单元(sparecell)的分配结果在由相应存储介质中的物理区域和虚拟区域管理的错误地址存储空间中存储k位的位置信息、m+n-k位的位置信息以及错误地址。



背景技术:

在由多个子阵列构成的存储器系统中,可以以子阵列为单位使用备用行、备用列等中的一个或多个来执行错误修复。

在此系统中,当在特定子阵列中产生大量错误时,将在其中存储关于错误位置的信息的存储空间是不足的,使得不能用存储备用存储单元映射信息的常规结构来修复错误。

此外,当一个存储器芯片由具有较小尺寸的多个子阵列构成时,以子阵列为单位在其中产生错误的芯片上执行修复。

当在某些子阵列中产生大量错误而在其它子阵列中产生较少错误时,如果通过使用备用存储单元来恢复错误,则芯片的修复概率由于在其中产生大量错误的子阵列而降低。相反地,在其中产生较少错误的子阵列中保留用于错误信息的存储空间。

[相关技术文献]



技术实现要素:

本解决方案的目的是提供一种存储器管理系统及其方法,其将有限的备用存储单元分布(或分配)成系统中的物理区域和虚拟区域中的一个或多个以便修复存储器的错误中的一个或多个。

本解决方案的另一目的是提供一种其中子阵列是作为单元区域的物理区域的存储器管理系统及其控制方法,该控制方法将通过将物理区域重组而获得的虚拟区域最优地分布成单独备用存储单元以优化错误修复。

本解决方案的另一目的是提供一种存储器管理系统及其方法,其提供备用存储单元的分配,该分配同时地不仅满足虚拟区域的设计目标值,而且满足物理区域的设计目标值,并且在分配时根据备用存储单元的分配结果在由相应存储介质中的物理区域和虚拟区域管理的错误地址存储空间中存储k位的位置信息、m+n-k位的位置信息以及错误地址。

本解决方案的另一目的是提供一种存储器管理系统及其方法,其对由快速列优先算法(fastcolumn-firstalgorthm)和快速行优选算法(fastcolumn-firstalgorthm)使用列或行选择的虚拟区域重复地执行修复,并且然后对下一虚拟区域执行修复。

根据本解决方案的一方面,提供了一种存储器管理方法,其借助于分析装置使用不同的备用存储单元来修复物理区域和虚拟区域中的错误。本方法包括:借助于分析装置,通过用物理区域中的备用行的地址替换错误地址来修复错误;以及借助于分析装置,通过用虚拟区域中的备用列的地址替换错误地址来修复错误。

根据本解决方案的另一方面,提供了一种存储器管理方法,包括借助于分析装置优先地修复虚拟区域中的错误。

在某些情形中,优先地修复虚拟区域中的错误包括:借助于分析装置,生成与物理区域和虚拟区域相关的错误信息管理表;借助于分析装置,选择虚拟区域vq,在该虚拟区域vq中作为包括在错误信息管理表中的每个虚拟区域中的具有未修复错误的列的数目的ay与作为包括在错误信息管理表中的每个虚拟区域中可用的备用列的数目的cy之间的差具有最大值;借助于分析装置,检查作为选定虚拟区域vq中的具有未修复错误的列的数目的aq是否等于或小于作为选定虚拟区域vq中的可用备用列的数目的cq;以及作为检查结果,当在选定虚拟区域vq中aq大于cq时确定仅由备用列不能实现修复,并且为了使用备用行来执行修复,借助于分析装置确定在虚拟区域vq中是否存在大于0的rx,rx是每个物理区域中可用的备用行的数目,并且被针对所有物理区域px预先设定,其中,q是其中具有错误的列的数目与备用列的数目之间的差具有最大值的虚拟区域的值。

在那些及其它情形中,错误信息管理表表示用于物理区域px和虚拟区域vy的(fx,y)、rx、cy和ay的关系,(fx,y)是存储在由物理区域px和虚拟区域vy定义的存储单元(cell)中的未修复错误的数目,rx是每个虚拟区域中的备用列的数目且ay是每个虚拟区域中的具有未修复错误的列的数目,并且x表示物理区域且y表示虚拟区域。

在那些及其它情形中,所述方法还可以包括:作为检查结果,当作为选定虚拟区域vq中的具有未修复错误的列的数目的aq等于或小于作为选定虚拟区域vq中的可用备用列的数目的cq时,借助于分析装置确定错误修复已成功地完成,在错误修复完成时根据备用存储单元的分配结果在由对应于虚拟区域的存储介质中的物理区域和虚拟区域管理的错误地址存储空间中存储与虚拟区域相关的k位的位置信息、与虚拟区域相关的m+n-k位的位置信息以及错误地址,并且结束整个过程,其中,k位的位置信息的值和m+n-k的位置信息的值被配置为向量,并且位的位置由对应于虚拟基本区域的键值的“0”和对应于虚拟子区域的键值的“1”配置,并且m、n和k是自然数且k等于或小于m+n。

在那些及其它情形中,所述方法还可以包括:当作为确定结果对于所有物理区域px而言不存在预先设定的大于0的rx(其为每个物理区域中可用的备用行的数目)时,借助于分析装置确定错误修复失败并结束整个过程。

在那些及其它情形中,所述方法还可以包括:当不存在可用的备用行且虚拟区域vq的ay的值大于虚拟区域vq的cy的值时,借助于分析装置确定错误修复失败并结束整个过程,ay是每个虚拟区域中的具有未修复错误的列的数目,cy是每个虚拟区域中可用的备用列的数目,并且vq是其中ay与cy之间的差具有最大值的虚拟区域。

在那些及其它情形中,所述方法还可以包括:当作为确定结果对于虚拟区域vq的所有物理区域px而言存在大于0的rx(其为每个物理区域中可用的备用行的数目并被预先设定)时,借助于分析装置,选择其中(px,vq)具有错误且作为物理区域中可用的备用行的数目的rx具有最大值的一个物理区域pa,pa是物理区域px中的一个且(pa,vq)表示错误信息管理表的由px和vq定义的存储单元;借助于分析装置,检查其中作为选定虚拟区域vq中的具有未修复错误的列的数目的aq在对应于选定物理区域pa的(pa,vq)中被减小最多的行,(pa,vq)表示错误信息管理表的由pa和vq定义的存储单元;借助于分析装置,将对应于选定物理区域pa的(pa,vq)的(fa,q)的值减小如被备用行修复的错误的数目一样多,(pa,vq)表示错误信息管理表的由pa和vq定义的存储单元,并且(fa,q)是存储在由pa和vq定义的存储单元中的未修复错误的数目;借助于分析装置,将作为对应于选定物理区域pa的未被修复且具有错误的列的数目的aq减小如被备用行修复的列的数目一样多,使得不需要错误修复;借助于分析装置,将作为可用备用行的数目的ra减小如所使用备用行的数目一样多;以及借助于分析装置,返回至选择其中作为包括在错误信息管理表中的每个虚拟区域中的具有未修复错误的列的数目的ay与作为包括在错误信息管理表中的每个虚拟区域中可用的备用列的数目的cy之间的差具有最大值的虚拟区域vq的过程,以重复地执行分配备用行的过程,直至作为选定虚拟区域vq中的具有未修复错误的列的数目的aq等于或小于作为选定虚拟区域vq中的可用备用列的数目的cq为止。

在那些及其它情形中,优先地修复虚拟区域中的错误包括:借助于分析装置,生成与物理区域和虚拟区域有关的错误信息管理表;借助于分析装置,计算差值ay﹣cy,该差值是作为包括在错误信息管理表中的每个虚拟区域中的具有未修复错误的列的数目的ay与作为包括在错误信息管理表中的每个虚拟区域中可用的备用列的数目的cy之间的差;借助于分析装置,基于计算的差值ay﹣cy将计算的差值ay﹣cy和对应于差值ay﹣cy的虚拟区域vy排序;借助于分析装置,按照所排序的顺序选择其中错误未被修复的虚拟区域vd;借助于分析装置,主要检查作为选定虚拟区域vd中的具有未修复错误的列的数目的ad是否等于或小于作为虚拟区域vd中可用的备用列的数目的cd;以及作为主要检查结果,当ad大于cd时,确定仅由备用列不能实现修复,并且为了使用备用行来执行修复,借助于分析装置确定是否对于所有物理区域px而言在虚拟区域vd中存在大于0的rx,rx是每个物理区域中可用的备用行的数目,并且被针对所有物理区域px预先设定,其中,d是通过使用具有错误的列的数目和备用列的数目之间的差值将虚拟区域按照递降顺序排序并按照所排序的顺序选择其中错误未被修复的虚拟区域而获得的值。

在那些及其它情形中,所述方法还可以包括:当作为确定结果对于虚拟区域vd的所有物理区域px而言存在大于0的rx(其为每个物理区域中可用的备用行的数目并被预先设)时,借助于分析装置,选择其中(px,vd)具有错误且作为物理区域中可用的备用行的数目的rx具有最大值的一个物理区域pa,pa是物理区域px中的一个且(px,vd)表示错误信息管理表的由px和vd定义的存储单元;借助于分析装置,检查其中作为选定虚拟区域vd中的具有未修复错误的列的数目的ad在对应于选定物理区域pa的(pa,vd)中被减小最多的行,(pa,vd)表示错误信息管理表的由pa和vd定义的存储单元;借助于分析装置,将对应于选定物理区域pa的(pa,vd)的(fa,d)的值减小如被备用行修复的错误的数目一样多,(pa,vd)表示错误信息管理表的由pa和vd定义的存储单元,并且(fa,d)是存储在由pa和vd定义的存储单元中的未修复错误的数目;借助于分析装置,将作为对应于选定物理区域pa的未被修复且具有错误的列的数目的ad减小如被备用行修复的列的数目一样多,使得不需要错误修复;借助于分析装置,将作为可用备用行的数目的ra减小如所使用备用行的数目一样多;以及借助于分析装置,返回至主要检查作为选定虚拟区域vd中的具有未修复错误的列的数目的ad是否等于或小于作为虚拟区域vd中可用的备用列的数目的cd的过程,以重复地执行向选定虚拟区域vd分配备用行的过程,直至作为选定虚拟区域ad中的具有未修复错误的列的数目的ad等于或小于作为选定虚拟区域vd中可用的备用列的数目的cd为止。

在那些及其它情形中,所述方法还可以包括:当作为确定结果对于所有物理区域px而言不存在大于0的rx(其为每个物理区域中可用的备用行的数目且是预先设定的)时,借助于分析装置确定错误修复失败并结束整个过程。

在那些及其它情形中,所述方法还可以包括:作为主要检查结果,当作为选定虚拟区域vd中的具有未修复错误的列的数目的ad等于或小于虚拟区域vd中可用的备用列的数目的cd时,借助于分析装置,辅助地检查作为所有虚拟区域vy中的具有未修复错误的列的数目的ay是否等于或小于作为所有虚拟区域vy中可用的备用列的数目的cy;作为辅助检查结果,当作为所有虚拟区域vy中的具有未修复错误的列的数目的ay等于或小于作为所有虚拟区域vy中可用的备用列的数目的cy时,借助于分析装置确认错误修复已成功地完成,在错误修复完成时根据备用存储单元的分配结果在由对应于虚拟区域的存储介质100中的物理区域和虚拟区域管理的错误地址存储空间中存储与虚拟区域相关的k位的位置信息、与虚拟区域相关的m+n-k位的位置信息以及错误地址并且结束整个过程;并且作为辅助检查结果,当作为所有虚拟区域vy中的具有未修复错误的列的数目的ay大于作为所有虚拟区域vy中可用的备用列的数目的cy时,借助于分析装置,选择所排序的虚拟区域vy之中的具有未修复错误的下一虚拟区域,其中,k位的位置信息的值和m+n-k的位置信息的值被配置为向量,并且位的位置由对应于虚拟基本区域的键值的“0”和对应于虚拟子区域的键值的“1”配置,并且m、n和k是自然数且k等于或小于m+n。

在那些及其它情形中,所述方法还可以包括:当不存在可用的备用行且虚拟区域vq的ay的值大于虚拟区域vq的cy的值时,借助于分析装置确定错误修复失败并结束整个过程,ay是每个虚拟区域中的具有未修复错误的列的数目,cy是每个虚拟区域中可用的备用列的数目,并且vq是其中ay与cy之间的差具有最大值的虚拟区域。

根据本解决方案的另一方面,提供了一种存储器管理系统,包括:存储介质,其存储与物理区域和虚拟区域相关的错误信息管理表;以及分析装置,其优先地修复虚拟区域中的错误。

在某些情形中,所述分析装置可以生成与物理区域和虚拟区域相关的错误信息管理表,选择虚拟区域vq,在该虚拟区域vq中作为包括在错误信息管理表中的每个虚拟区域中的具有未修复错误的列的数目的ay与作为包括在错误信息管理表中的每个虚拟区域中可用的备用列的数目的cy之间的差具有最大值,检查作为选定虚拟区域vq中的具有未修复错误的列的数目的aq是否等于或小于作为选定虚拟区域vq中的可用备用列的数目的cq,并且作为检查结果,当作为选定虚拟区域vq中的具有未修复错误的列的数目的aq大于作为虚拟区域vq中的可用备用列的数目的cq时,确定在虚拟区域vq中是否存在大于0的rx,该rx为每个物理区域中可用的备用行的数目且被针对所有物理区域px预先设定,并且其中,q是其中具有错误的列的数目与备用列的数目之间的差具有最大值的虚拟区域的值。

在那些及其它情形中,作为检查结果,当作为选定虚拟区域vq中的具有未修复错误的列的数目的aq等于或小于作为选定虚拟区域vq中的可用备用列的数目的cq时,分析装置确定错误修复已成功地完成,在错误修复完成时根据备用存储单元的分配结果在由对应于虚拟区域的存储介质中的物理区域和虚拟区域管理的错误地址存储空间中存储与虚拟区域相关的k位的位置信息、与虚拟区域相关的m+n-k位的位置信息以及错误地址,并且结束整个过程,k位的位置信息的值和m+n-k的位置信息的值被配置为向量,并且位的位置由对应于虚拟基本区域的键值的“0”和对应于虚拟子区域的键值的“1”配置,并且m、n和k是自然数且k等于或小于m+n。

在那些及其它情形中,当作为确定结果对于所有物理区域px而言不存在预先设定的大于0的rx(其为每个物理区域中可用的备用行的数目)时,分析装置确定错误修复失败并结束整个过程。

在那些及其它情形中,当作为确定结果对于所有物理区域px而言不存在预先设定的大于0的rx(其为每个物理区域中可用的备用行的数目)时,分析装置确定错误修复失败并结束整个过程。

在那些及其它情形中,当作为确定结果对于虚拟区域vq的所有物理区域px而言存在大于0的rx(其为每个物理区域中可用的备用行的数目且是预先设定的)时,分析装置:选择其中(px,vq)具有错误且作为物理区域中可用的备用行的数目的rx具有最大值的一个物理区域pa,pa是物理区域px中的一个且(pa,vq)表示错误信息管理表的由px和vq定义的存储单元;检查其中作为选定虚拟区域vq中的具有未修复错误的列的数目的aq在对应于选定物理区域pa的(pa,vq)中被减小最多的行,(pa,vq)表示错误信息管理表的由pa和vq定义的存储单元;将对应于选定物理区域pa的(pa,vq)的(fa,q)的值减小如被备用行修复的错误的数目一样多,(pa,vq)表示错误信息管理表的由pa和vq定义的存储单元,并且(fa,q)是存储在由pa和vq定义的存储单元中的未修复错误的数目;将作为对应于选定物理区域pa的未被修复且具有错误的列的数目的aq减小如被备用行修复的列的数目一样多,使得不需要错误修复;将作为可用备用行的数目的ra减小如所使用备用行的数目一样多;以及返回至选择其中作为包括在错误信息管理表中的每个虚拟区域中的具有未修复错误的列的数目的ay与作为包括在错误信息管理表中的每个虚拟区域中可用的备用列的数目的cy之间的差具有最大值的虚拟区域vq的过程,以重复地执行分配备用行的过程,直至作为选定虚拟区域vq中的具有未修复错误的列的数目的aq等于或小于作为选定虚拟区域vq中的可用备用列的数目的cq为止。

根据本解决方案的另一方面,提供了一种存储器管理方法,包括借助于分析装置优先地修复物理区域中的错误。

在某些情形中,优先地修复物理区域中的错误包括:借助于分析装置,生成与物理区域和虚拟区域相关的错误信息管理表;选择虚拟区域vq,在该虚拟区域vq中作为包括在错误信息管理表中的每个虚拟区域中的具有未修复错误的列的数目的ay与作为包括在错误信息管理表中的每个虚拟区域中可用的备用列的数目的cy之间的差具有最大值;借助于分析装置,确定对于所有物理区域px而言存在大于0的rx,其为每个物理区域中可用的备用行的数目且是预先设定的;以及,作为确定结果,当对于所有物理区域px而言不存在预先设定的的大于0的rx(其为每个物理区域中可用的备用行的数目)时,借助于分析装置,检查作为所有虚拟区域中的具有未修复错误的列的数目的ay是否等于或小于作为虚拟区域中的可用备用列的数目的cy,其中,q是其中具有错误的列的数目与备用列的数目之间的差具有最大值的虚拟区域的值。

在那些及其它情形中,所述方法还可以包括:作为辅助检查结果,当作为所有虚拟区域中的具有未修复错误的列的数目的ay等于或小于作为所有虚拟区域中可用的备用列的数目的cy时,确认错误修复已成功地完成,在错误修复完成时根据备用存储单元的分配结果在由对应于虚拟区域的存储介质100中的物理区域和虚拟区域管理的错误地址存储空间中存储与虚拟区域相关的k位的位置信息、与虚拟区域相关的m+n-k位的位置信息以及错误地址并且结束该整个过程,其中,k位的位置信息的值和m+n-k的位置信息的值被配置为向量,并且位的位置由对应于虚拟基本区域的键值的“0”和对应于虚拟子区域的键值的“1”配置,并且m、n和k是自然数且k等于或小于m+n。

在那些及其它情形中,所述方法还可以包括:作为检查结果,当作为所有虚拟区域中的具有未修复错误的列的数目大于作为虚拟区域中的可用备用列的数目的cy时,借助于分析装置,确定仅通过使用虚拟区域vy中可用的备用行不能实现修复且错误修复失败,并结束整个过程。

在那些及其它情形中,所述方法还可以包括:当作为确定结果对于虚拟区域vq的所有物理区域px而言存在大于0的rx(其为每个物理区域中可用的备用行的数目且是预先设定)时,借助于分析装置,选择其中(px,vq)具有错误且作为物理区域中可用的备用行的数目的rx具有最大值的一个物理区域pa,pa是物理区域px中的一个且(pa,vq)表示错误信息管理表的由px和vq定义的存储单元;借助于分析装置,检查其中作为选定虚拟区域vq中的具有未修复错误的列的数目的aq在对应于选定物理区域pa的(pa,vq)中被减小最多的行,(pa,vq)表示错误信息管理表的由pa和vq定义的存储单元;借助于分析装置,将对应于选定物理区域pa的(pa,vq)的(fa,q)的值减小如被备用行修复的错误的数目一样多,(pa,vq)表示错误信息管理表的由pa和vq定义的存储单元,并且(fa,q)是存储在由pa和vq定义的存储单元中的未修复错误的数目;借助于分析装置,将作为对应于选定物理区域pa的未被修复且具有错误的列的数目的aq减小如被备用行修复的列的数目一样多,使得不需要错误修复;借助于分析装置,将作为可用备用行的数目的ra减小如所使用备用行的数目一样多;以及借助于分析装置,返回至选择其中作为包括在错误信息管理表中的每个虚拟区域中的具有未修复错误的列的数目的ay与作为包括在错误信息管理表中的每个虚拟区域中可用的备用列的数目的cy之间的差具有最大值的虚拟区域vq的过程,以重复地执行分配备用行的过程,直至作为选定虚拟区域vq中的具有未修复错误的列的数目的aq等于或小于作为选定虚拟区域vq中的可用备用列的数目的cq为止。

在那些及其它情形中,优先地修复物理区域中的错误包括:借助于分析装置,生成与物理区域和虚拟区域有关的错误信息管理表;借助于分析装置,计算差值ay﹣cy,该差值是作为包括在错误信息管理表中的每个虚拟区域中的具有未修复错误的列的数目的ay与作为包括在错误信息管理表中的每个虚拟区域中可用的备用列的数目的cy之间的差;借助于分析装置,基于计算的差值ay﹣cy将计算的差值ay﹣cy和对应于差值ay﹣cy的虚拟区域vy排序;借助于分析装置,按照所排序的顺序选择其中错误未被修复的虚拟区域vd;借助于分析装置,主要检查作为选定虚拟区域vd中的具有未修复错误的列的数目的ad是否等于或小于作为虚拟区域vd中可用的备用列的数目的cd;作为主要检查结果,当ad大于cd时,确定仅由备用列不能实现修复,并且为了使用备用行来执行修复,借助于分析装置,主要确定对于所有物理区域px而言在虚拟区域vd中是否存在大于0的rx,rx是每个物理区域中可用的备用行的数目,并且被针对所有物理区域px预先设定;当作为主要确定结果对于虚拟区域vd的所有物理区域px而言存在大于0的rx(其为每个物理区域中可用的备用行的数目并被预先设定)时,借助于分析装置,选择其中(px,vd)具有错误且作为物理区域中可用的备用行的数目的rx具有最大值的一个物理区域pa,pa是物理区域px中的一个且(px,vd)表示错误信息管理表的由px和vd定义的存储单元;以及借助于分析装置,检查其中作为选定虚拟区域vd中的具有未修复错误的列的数目的ad在对应于选定物理区域pa的(pa,vd)中被减小最多的行,(pa,vd)表示错误信息管理表的由pa和vd定义的存储单元,其中,d是通过使用具有错误的列的数目和备用列的数目之间的差值将虚拟区域按照递降顺序排序并按照所排序的顺序选择其中错误未被修复的虚拟区域而获得的值。

在那些及其它情形中,所述方法还可以包括:借助于分析装置,将对应于选定物理区域pa的(pa,vd)的(fa,d)的值减小如被备用行修复的错误的数目一样多,(pa,vd)表示错误信息管理表的由pa和vd定义的存储单元,并且(fa,d)是存储在由pa和vd定义的存储单元中的未修复错误的数目;借助于分析装置,将作为对应于选定物理区域pa的未被修复且具有错误的列的数目的ad减小如被备用行修复的列的数目一样多,使得不需要错误修复;以及借助于分析装置,将作为可用备用行的数目的ra减小如所使用备用行的数目一样多;以及借助于分析装置,返回至主要检查作为选定虚拟区域vd中的具有未修复错误的列的数目的ad是否等于或小于作为虚拟区域vd中可用的备用列的数目的cd的过程,以重复地执行向选定虚拟区域vd分配备用行的过程,直至作为选定虚拟区域vd中的具有未修复错误的列的数目的ad等于或小于作为选定虚拟区域vd中可用的备用列的数目的cd为止。

在那些及其它情形中,所述方法还可以包括:当作为主要确定结果对于所有物理区域px而言不存在预先设定的大于0的rx(其为每个物理区域中可用的备用行的数目)时,借助于分析装置确定错误修复失败并结束整个过程。

在那些及其它情形中,所述方法还可以包括:作为主要检查结果,当作为选定虚拟区域vd中的具有未修复错误的列的数目的ad等于或小于虚拟区域vd中可用的备用列的数目的cd时,借助于分析装置,辅助地检查作为所有虚拟区域vy中的具有未修复错误的列的数目的ay是否等于或小于作为所有虚拟区域vy中可用的备用列的数目的cy;作为辅助检查结果,当作为所有虚拟区域vy中的具有未修复错误的列的数目的ay等于或小于所有虚拟区域vy中可用的备用列的数目的cy时,借助于分析装置,辅助地确定对于所有物理区域px而言是否存在大于0的rx,该rx是每个物理区域中可用的备用行的数目且是预先设定的;作为辅助确定结果,当对于所有物理区域rx而言存在大于0的rx(其为每个物理区域中可用的备用行的数目且是预先设定的)时,借助于分析装置,按照所排序的顺序选择其中错误未被修复的下一虚拟区域vd;作为检查结果,当对于所有物理区域px而言不存在大于0的rx(其为每个物理区域中可用的备用行的数目且是预先设定的)时,借助于分析装置,确定错误修复已成功地完成,在错误修复完成时在对应于虚拟区域的存储介质中的由物理区域和虚拟区域管理的错误地址存储空间中存储与虚拟区域相关的k位的位置信息、与虚拟区域相关的m+n-k位的位置信息以及错误地址,并且结束整个过程;以及作为辅助检查结果,当作为所有虚拟区域vy中的具有未修复错误的列的数目的ay大于作为所有虚拟区域vy中可用的备用列的数目的cy时,借助于分析装置,返回至选择所有排序的虚拟区域vy之中的其中错误未被修复的虚拟区域的过程。

在那些及其它情形中,所述方法还可以包括:当不存在可用的备用行且虚拟区域vq的ay的值大于虚拟区域vq的cy的值时,借助于分析装置确定错误修复失败并借助整个过程,ay是每个虚拟区域中的具有未修复错误的列的数目,cy是每个虚拟区域中可用的备用列的数目,并且vq是其中ay与cy之间的差具有最大值的虚拟区域。

根据本解决方案,有限的备用存储单元被最优地分布(或分配)成系统中的物理区域和虚拟区域以便修复存储器的错误,从而增加了存储器芯片的产率。

此外,根本解决方案,子阵列充当作为单元区域的物理区域,并且通过将子阵列重组而获得的虚拟区域在单独备用存储单元中最优地分布以使错误修复最大化,从而增加根据系统的目的利用额外备用存储单元的可能性。

根据本解决方案,可以提供备用存储单元的分配,其同时地不仅满足虚拟区域的设计目标值,而且满足物理区域的设计目标值。还可以通过在错误修复完成时根据备用存储单元的分配结果在由存储介质中的物理区域和虚拟区域管理的错误地址存储空间中存储与虚拟区域相关的k位的位置信息、与虚拟区域相关的m+n-k位的位置信息以及错误地址而将最小数目的备用存储单元用于物理区域和虚拟区域来提供最优效率。

根据本解决方案,可以通过使用列和行用快速列优先算法和快速行优先算法对选定虚拟区域重复地执行修复且然后对下一虚拟区域执行修复来缩短整个修复时间。

附图说明

图1是图示出用由多个单元区域配置的信息存储表和找出最优信息存储的分析装置配置的整个分析系统的配置的框图。

图2是图示出将作为用于使信息存储位置散列的单元的物理基本区域划分成具有相同尺寸的多个物理子区域的示例的视图。

图3至图5是图示出当使用包括错误块的4×4存储器块来实现4路组相联高速缓存器时配置最优高速缓冲存储器的示例的视图。

图6、图7和图8是图示出将本解决方案应用于在诸如dram之类的存储器芯片中存储错误地址的步骤的示例的视图。

图9是图示出用来向最优备用存储单元分配错误存储单元的错误信息管理表的视图。

图10是图示出基于列优先存储器管理方法的流程图。

图11至图27是图示出使用列优先算法来对错误存储单元执行修复的示例的视图。

图28是图示出基于行优先存储器管理方法的流程图。

图29是图示出基于快速列优先存储器管理方法的流程图。

图30是图示出其中布置差值的状态的视图。

图31至图46是图示出使用快速列优先算法对错误存储单元执行修复的示例的视图。

图47是图示出基于快速行优先存储器管理方法的流程图。

具体实施方式

应注意的是在本发明中使用的技术术语被用来描述特定示例性实施例而不意图限制本发明。此外,应将在本发明中使用的技术术语解释成具有本发明所涉及领域的技术人员一般地理解的意义,除非在本发明中被具体地定义成具有不同的意义,而不应解释为过于广泛的意义或过于受限的意义。此外,如果在本发明中使用的技术术语是并未确切地描述本发明的精神的不正确技术术语,应将该技术术语替换为或理解为本领域的技术人员可以正确地理解的技术术语。此外,应如在词典中定义的那样或者根据上下文来解释在本发明中使用的一般术语,而不应解释为过于受限的意义。

在本发明中使用的单数形式可以包括复数形式,除非其在上下文中具有明显相反的意义。不应将本发明中的诸如“由...配置”或“包括”之类的术语解释为必须包括在本发明中描述的所有的多个组件或多个不足及,但是不应解释成包括组件或步骤中的某些或者进一步包括附加组件或步骤。

此外,可以使用包括在本发明中使用的诸如第一或第二之类的叙述的术语来解释组件,但是组件不受该术语的限制。该术语仅被用于将一个组件与另一组件区别开。例如,在不脱离本发明的范围的情况下,可以将第一组件称为第二组件,并且同样地,还可以将第二组件称为第一组件。

在下文中,将参考附图来详细地描述根据本公开的示例性实施例,并且用相同的参考标号来表示相同或类似组件而不考虑参考标号,并且将省略其重复描述。

在描述本公开时,但确定相关公开已知的技术的详细描述可能使本公开的主旨含糊难懂时,将省略其详细描述。此外,应注意的是附图仅仅被用于容易地认识到本公开的精神,而不应将其解释为本公开的精神受到附图的限制。

图1是图示出根据本发明的示例性实施例的用由多个单元区域配置的信息存储表和找出最优信息存储的分析装置配置的整个分析系统10的配置的框图。

如图1中所示,分析系统10包括存储介质10和分析装置200。然而,并非图1中所示的分析系统10的所有组件都是必不可少的组件,可以用比图1中所示的组件更多的组件或更少的组件来实现分析系统10。

存储介质10可以是动态随机存取存储器(dram)、随机存取储器(ram)、静态随机存取存储器(sram)、只读存储器(rom)、电可擦可编程只读存储器(eeprom)、可编程只读存储器(prom)、相变存储器(pcm)以及磁阻随机存取储器(mram)中的任何一个。

此外,存储介质100包括信息存储表110。

信息存储表110包括与物理区域相关的信息(或与物理区域相关的地址信息)、与虚拟区域相关的信息(或与虚拟区域相关的地址信息)、数据(或信息)等。在这里,与物理区域相关的信息包括物理基本区域的位置信息和物理子区域的位置信息。此外,与虚拟区域相关的信息包括虚拟基本区域的位置信息和虚拟子区域的位置信息。在这种情况下,数据(或信息)包括错误信息、错误的位置信息、路由信息以及分组信息。此外,数据(或信息)可以根据应用分析系统10的领域(例如,包括存储器领域或数据通信领域)而改变,并且可以通过按设计师的设计来修改而应用。例如,在应用使用冗余存储单元的存储器修复的存储器系统的情况下,数据(或信息)可以是被在存储器系统中提供的备用存储单元替换的错误存储单元的位置(或位置信息)。

分析装置200执行分析系统10的总体控制功能。

此外,分析设备20找出分析系统10的最优信息存储位置(或满足预定目标值的k位的位置信息和m+n-k位的位置信息),并向分析系统10分配与找到的最优信息存储位置相对应的k位的位置信息和m+n-k位的位置信息。

此外,分析装置200将使信息存储位置散列的信息管理单元区域(或单元区域)映射到信息存储表110中的物理基本区域。在这里,信息存储表110被包括在存储介质100中并由多个单元区域配置。

在这种情况下,当诸如dram、pcm、mram或sram之类的存储器系统中的将在其中存储并管理信息的基本区域是区块(bank)时,分析装置200将一个区块中的所有行组合,并且将所有组合行划分成2m个物理基本区域并将单元区域映射到划分的2m个物理基本区域。

此外,当存储介质100中的要管理的物理基本区域的数目不是2m时,分析装置200可以使得存储介质100中的多个单元为2m,并且然后将2m个单元区域映射到2m个物理基本区域。在这里,m可以是自然数。

亦即,为了根据设计师的设计来配置2m个单元区域,当单元区域的数目不是2m时,分析装置200根据设计师的设计执行将现有单元区域映射到2m个新单元区域的预处理过程,并将经预处理的2m个单元区域映射到2m个物理基本区域。

此外,分析装置200将存储介质100(或信息存储表110)中的所述多个物理基本区域中的每一个划分成多个物理子区域。在这里,所述多个物理子区域中的每一个具有相同尺寸。

亦即,分析装置200将存储介质100(或信息存储表110)中的2m个物理基本区域中的每一个划分成2n个物理子区域。在这里,n可以是自然数。在这种情况下,当一个物理基本区域被划分成要散列的n个物理子区域时,可以要求附加位以对物理子区域编索引。

此外,分析装置200将多个物理区域(其由2m+n个物理子区域构成并被用m+n位编索引)组成(或配置)成2k个虚拟基本区域。在这种情况下,k是自然数,并且可以等于或小于m+n。在这里,当用于接近物理基本区域的位是m位且用于接近物理子区域的位是n位时,用以生成虚拟基本区域的可组合情况的数目是m+ncm+n-k。此外,k的大小可以是用以接近信息存储表110的位速率。

此外,分析装置200将生成的2k个虚拟基本区域中的每一个划分(或重置)成2m+n-k个虚拟子区域。在这里,2m+n-k个虚拟子区域中的每一个具有相同尺寸。

亦即,分析装置200将物理自取组合并从最高有效位至最低有效位以预先设定的位为单位来设定虚拟基本区域的键值并将m+n个位之中的在设定虚拟基本区域的键值之后剩余的位(或剩余区域)设定为虚拟子区域的键值以配置整个虚拟区域的密钥。整个虚拟区域包括虚拟基本区域和虚拟子区域。在这里,分析装置200分别地生成用于获得虚拟基本区域的键值的k位的位置信息和用于获得虚拟子区域的键值的m+n-k位的位置信息,以便配置虚拟区域的密钥(或整个虚拟区域的密钥)。

如上所述,分析装置200可以配置用于使用m+n位之中的k位的位置信息来获得(或设定)虚拟基本区域的键值且用于使用m+n位之中的在设定虚拟基本区域的键值之后剩余的位的位置信息来获得虚拟子区域的键值的散列函数。在这里,散列函数基于物理区域地址来提供与虚拟区域相关的位置信息(例如,包括k位的位置信息和m+n-k位的位置信息)。

此外,分析装置200检查(或确定)要存储在临时地组合(或配置)的虚拟基本区域(或虚拟基本区域的组合)中的信息的数目(或组合/重组信息的数目)是否满足预定目标值。在这里,目标值是对应于要存储的信息的预先设定的值(或将满足要存储的信息的值)。在应用使用冗余存储单元的存储器修复的存储器系统的情况下,目标值可以是与在存储器存储单元中提供的可用(或者在存储器系统中可用)的备用存储单元的数目相同的预定数目(包括例如备用行的数目、备用列的数目等)。亦即,目标值可以是在映射到与要存储的信息相对应的预定值的所有物理基本区域中可以可用的资源的数目。此外,在避免错误存储器块的存储器系统的情况下,目标值可以是在存储器系统的所有物理基本区域中可用的相同存储器块的数目。

作为检查结果(或确定结果),当要存储在组合(或配置/生成)的虚拟基本区域(或虚拟基本区域的组合)中的信息的数目满足预定目标值时,分析装置200在存储介质100中的预定(或先前分配)存储区域中存储m+n位之中的与满足目标值的虚拟基本区域相关的k位的位置信息和与满足目标值的虚拟子区域相关的m+n-k位的位置信息。在这里,k位的位置信息的值和m+n-k位的位置信息的值被配置为向量,并且位的位置由对应于虚拟基本区域的键值(或k位的位置)的“0”(或k位)和对应于虚拟子区域的键值(或m+n-k位的位置)的“1”(或m+n-k位)配置。

亦即,当要存储在组合(或配置/生成)的虚拟基本区域(或虚拟基本区域的组合)中的信息的数目满足预定目标值时,分析装置200生成m+n位之中的对应于满足目标值的虚拟基本区域的k位的位置和对应于满足目标值的虚拟子区域的m+n-k位的位置。此外,分析装置200将生成的k位的位置(或k位的位置信息)和生成的m+n-k位的位置(或m+n-k位的位置信息)作为向量存储在存储介质100中的预定存储区域中。

此外,分析装置200基于存储在存储介质100中的预定存储区域中的k位的位置信息(或与满足目标值的虚拟基本区域相关的k位的位置信息)或m+n-k位的位置信息(或与满足目标值的虚拟子区域相关的m+n-k位的位置信息)确定信息存储表110可以被成功地管理,并将对应于虚拟区域的位置信息(或用于虚拟区域的位置信息)的数据存储在信息存储表110中。在这里,数据(或信息)包括错误信息、错误的位置信息、路由信息以及分组信息。此外,数据(或信息)可以根据应用分析系统10的领域(例如,包括存储器领域或数据通信领域)而改变,并且可以通过按设计师的设计来修改而应用。例如,在应用使用冗余存储单元的存储器修复的存储器系统的情况下,数据(或信息)可以是被在存储器系统中提供的备用存储单元替换的错误存储单元的位置(或位置信息)。

此外,作为检查结果(或确定结果),当要存储在组合(或配置/生成)的虚拟基本区域(或虚拟基本区域的组合)中的信息的数目不满足预定目标值时,分析装置200重复地执行排除许多可组合情况(例如,m+ncm+n-k个)之中的先前组合的情况(或根据散列方法组合的多个情况/多个重组情况)根据预定散列方法(或基于预定散列函数/相对于另一k位的位置)将所述多个物理子区域重组以检查重组虚拟基本区域并检查要存储在已检查重组虚拟基本区域中的信息的数目是否满足预定目标值过程。

如上所述,分析装置200检查用于所述多个物理子区域的所有可配置组合中的满足将由虚拟基本区域设计的目标值的第一物理子区域的组合。

此外,当对于m+n位之中的k位的位置的所有组合而言不满足目标值时,分析装置200确定数据不能被存储(或者信息存储表110不能被成功地管理)并结束整个过程。

图3至图5是图示出根据本发明的示例性实施例的当使用包括错误块的4×4存储器块来实现4路组相联高速缓存器时配置最优高速缓冲存储器的示例的视图。由于总共16个存储器块之中的三个块具有错误,所以当配置4路组相联高速缓存器时,目标值(或设计目标值)将是向每个组分配一个错误。

此外,由于高速缓存器是4路组相联高速缓存器,所以k是2。

此外,如图3中所示,当要配置4路高速缓冲存储器时,分析装置200将由行地址配置的单元区域映射到物理基本区域以配置将是四个物理基本区域的物理基本区域并为物理基本区域中的每一个配置四个物理子区域。

因此,分析装置200在被接近物理基本区域中用接近于物理基本区域的上两位和接近于物理子区域的下两位的总共四个位来应用散列以接近物理子区域。

此外,如图4中所示,当用虚拟基本区域(或物理基本区域)来执行散列时,当接近组0时分配三个错误块,使得不满足目标值。

此外,如图5中所示,当在接近物理子区域以使虚拟基本区域散列的四个位之中下两位被用作用于接近虚拟基本区域的地址(或k位的位置信息)且上两位被用作用以接近虚拟基本区域中的虚拟子区域的地址(或m+n-k位的位置信息)时,设法在每个虚拟基本区域中生成一个错误块。因此,可以满足目标值。结果,使整个系统的性能退化最小化,使得可以将高速缓冲存储器配置成展示出最优性能。

图6至图8是图示出将本发明的示例性实施例应用于在诸如dram之类的存储器芯片中存储错误地址的步骤的示例的视图。

此外,如图6中所示,dram存储器芯片由多个阵列构成。

此外,该阵列由具有小于阵列的尺寸的多个子阵列构成。

当在如上所述地配置的存储器芯片中产生错误时,为了在存储并管理在该处产生错误的地址的同时执行修复,对一个子阵列或者对多个子阵列执行修复。

因此,在相关技术中,即使在阵列中存在具有用以存储错误地址的剩余空间的子阵列,也不能使用该子阵列。然而,根据本发明的示例性实施例,利用在阵列中剩余的另一子阵列的错误地址的存储空间,使得可以连续地使用存储器中的存储空间。

此外,当图6中所示的dram存储器芯片被应用于本发明的示例性实施例时,阵列中的子阵列充当本发明的示例性实施例的单元区域,并且该单元区域充当物理基本区域。物理基本区域中的物理子区域是通过将子阵列除以物理子区域的数目而获得的。

此外,由于针对每个物理基本区域管理并恢复(或修复)错误,所以用于管理错误地址的信息存储表110的条目数目等于物理基本区域的数目。结果,k为2。

此外,当阵列中的子阵列具有不同尺寸时,子阵列被组合成一个,组合子阵列被划分成2m个虚拟子阵列,并且划分的虚拟子阵列被映射到物理子阵列。

此外,当假设用一个子阵列修复的错误的数目为2时,2是目标值。此外,在图7中所示的物理基本区域0(或子阵列0)中的地址f0、f1以及f2中产生总共三个错误,其超过针对子阵列0要修复的两个错误。

亦即,如图7中所示,可以针对每个物理基本区域修复两个错误,并且物理基本区域的总数是四个,使得至多可以修复八个错误。然而,当如图7中所示的那样错误f0至f5的总数刚好是六个时,可以存在错误不能被修复的情况。

如上所述,图7图示出根据本发明的示例性实施例的将每个物理基本区域划分成两个物理子区域并将物理子区域组合成虚拟基本区域的示例。

亦即,分析装置200将每个物理基本区域划分成物理子区域,并且将物理子区域组合成虚拟基本区域。在这里,为了使基本区域散列,使用最高的两位(k位的位置信息)作为基本区域的键值,并且使用最低的一位(或m+n-k位的位置信息)作为子区域的键值。因此,当虚拟基本区域等于物理基本区域时,在物理基本区域(或虚拟基本区域)0中需要用于总共三个错误地址的存储空间。然而,所提供的存储空间针对每个基本区域局限于两个,其超过用于管理错误地址的限制。

此外,如图8中所示,分析装置200将每个物理基本区域划分成两个物理子区域并将物理子区域组合成虚拟基本区域。在这里,为了使基本区域散列,使用最低的两位(k位的位置信息)作为基本区域的键值,并且使用最高的一位(或m+n-k位的位置信息)作为子区域的键值。因此,虚拟基本区域的所有错误地址不超过两个,使得可以存储所有错误地址。在这种情况下,由于不同的物理基本区域被组合,所以可以考虑标签位以区别对应于物理基本区域的地址。然而,根据设计师的设计可以不使用标签位。

此外,例如,可以将散列函数的信息生成为向量,其将选择虚拟基本区域的位(或k位的位置信息)设置成0并将选择虚拟子区域的位(或m+n-k位的位置信息)设置成1。

此外,由于生成的虚拟子区域的总数是八个,根据log2(8)=3,用来对总共三个位编索引的位之中的较低两位变成虚拟基本区域。因此,在图8中,通过将选择虚拟基本区域的位(或k位的位置信息)和选择虚拟子区域的位(或m+n-k位的位置信息)存储为向量而获得的值为100。

此外,针对根据本发明的示例性实施例的存储器管理方法,如图1中所示,分析系统(或存储器管理系统)10包括存储介质100和分析装置200。

存储介质100包括信息存储表110。

此外,存储介质100(或信息存储表110)通过分析装置200的控制将k位的位置信息(或与满足目标值的虚拟基本区域相关的k位的位置信息)和m+n-k位的位置信息(或与满足目标值的虚拟子区域相关的m+n-k位的位置信息)存储在存储介质100中的预定存储区域中。

此外,存储介质100(或信息存储表110)通过分析装置200的控制基于存储在存储区域中的k位的位置信息(或与满足目标值的虚拟基本区域相关的k位的位置信息)和m+n-k位的位置信息(或与满足目标值的虚拟子区域相关的m+n-k位的位置信息)将对应于虚拟区域信息的位置(或与虚拟区域相关的位置信息)的数据存储在信息存储表110(或存储介质100中的错误地址存储空间)中。在这里,数据(或信息)包括错误信息、错误的位置信息、路由信息以及分组信息。此外,数据(或信息)可以根据应用分析系统10的领域(例如,包括存储器领域或数据通信领域)而改变,并且可以通过按设计师的设计来修改而应用。例如,在应用使用冗余存储单元的存储器修复的存储器系统的情况下,数据(或信息)可以是被在相应存储器系统中提供的备用存储单元替换的错误存储单元的位置(或位置信息)。

此外,存储介质100存储多个列地址和多个行地址。

此外,存储介质100存储由分析装置200生成的错误信息管理表。

此外,分析装置(或存储器管理单元)200针对物理区域(或物理基本区域px)和虚拟区域(或虚拟基本区域vy)生成错误信息管理表,其表示作为错误的数目的(fx,y)、作为每个物理区域中可用的备用行的数目的rx、作为每个虚拟区域中的可用备用列的数目的cy以及作为具有未修复错误的每个虚拟区域中的列的数目的ay的关系。在这种情况下,x表示物理区域且y表示虚拟区域。

在这里,虚拟区域可以是可由分析装置200配置的所有组合中的一个,其中,分析装置200将每个物理基本区域划分成具有相同尺寸的两个物理子区域并将物理子区域组合成虚拟基本区域。

此外,分析装置200检查是否所有可配置组合都满足由存储器管理方法预先设定的目标值。在在这种情况下,目标值是对应于要存储的信息的预先设定的值(或将满足要存储的信息的值)。在应用使用冗余存储单元的存储器修复的存储器系统的情况下,目标值可以是在存储器存储单元中提供的可用(或者在存储器系统中可用)的备用存储单元的预定数目(包括例如备用行的数目、备用列的数目等)。亦即,目标值可以是在映射到与要存储的信息相对应的预定值的所有物理基本区域中可以可用的相同资源的数目。此外,在避免错误存储器块的存储器系统的情况下,目标值可以是在存储器系统的所有物理基本区域中可用的相同存储器块的数目。

当要存储在组合虚拟基本区域中的信息的数目满足预定目标值时,分析装置200将位之中的与满足目标值的虚拟基本区域相关的k位的位置信息和与满足目标值的虚拟子区域相关的m+n-k位的位置信息存储在存储介质100中的预定(或先前分配)存储区域中。在这里,k位的位置信息的值和m+n-k位的位置信息的值被配置为向量,并且位的位置由对应于虚拟基本区域的键值(或k位的位置)的“0”(或k位)和对应于虚拟子区域的键值(或m+n-k位的位置)的“1”(或m+n-k位)配置。在这里,m表示物理区域的数目,n表示虚拟区域的数目,并且m、n和k是自然数。此外,k的大小可以是用以接近信息存储表110的位速率。

亦即,为了找到满足目标值的k位的位置信息和m+n-k位的位置信息,分析装置200创建错误信息管理表以向信息存储空间最优地分配信息。

根据本发明的示例性实施例,目标值是预定数目,其可以是在存储器系统中提供的可用备用存储单元(其在存储器系统中可用)的数目。如图9中所示,错误存储单元的位置信息被最优地分配给信息存储表110以生成错误信息管理表以进行错误修复。

此外,在本发明的示例性实施例中,假设提供了m个物理区域,并且每个物理区域具有n个虚拟区域,并且用参考符号x来表示物理区域且用参考符号y来表示虚拟区域。在这里,x满足0≤x≤m-1且y满足0≤y≤n-1。

此外,如图9中所示,当m=4且n=4时,px指示存储器管理系统10的第x物理区域,并且vy指示存储器管理系统10的第y虚拟区域。例如,p0指示第零物理区域且v2指示第二虚拟区域。此外,(fx,y)指示在表示由物理区域px和虚拟区域vy定义的存储单元的(px,vy)中生成的错误之中的未被修复的错误的数目。此外,物理区域被划分成多个物理子区域并重组成虚拟区域。因此,即使物理子区域属于同一px,但是物理子区域所属的虚拟区域可以相互不同,例如vy1和vy2。例如,对应于错误信息管理表的字段(p0,v2)的(f0,2)指示具有物理区域0和虚拟区域2的地址的错误存储单元之中的未被修复的错误的数目。此外,(fx,y)最初具有与错误的数目相同的值,但是(fx,y)的值在通过分配备用存储单元来修复错误的过程期间减小。

此外,rx指示第x物理区域中可用的备用行的数目,并且cy指示第y虚拟区域中可用的备用列的数目。此外,在物理区域中,用备用行替换在其中产生错误的错误存储单元,使得修复被执行。此外,在虚拟区域中,用备用列替换在其中产生错误的错误存储单元,使得修复被执行。

此外,ay指示具有未被修复的错误的第y虚拟区域中共的列(或错误列)的数目。当一个列具有仅一个错误时,ay的值与的值相同。此外,当在一个列中存在多个错误时,即使错误的数目是多个,具有错误的列的数目也是一个。因此,ay的值可以等于或小于此外,使用作为错误列的数目的ay的值来选择要修复的行或者在与备用列的数目相比较的同时确定整个过程的结束条件。

此外,错误信息管理表提供在被划分成物理区域和虚拟区域的存储器管理系统10中执行整个过程所需的信息。

此外,分析装置200选择其中差ay﹣cy具有最大值的虚拟区域vq,所述差ay﹣cy是ay与cy之间的差,所述ay是包括在错误信息管理表中的每个虚拟区域中的具有未修复错误的列的数目,并且cy是包括在错误信息管理表中的每个虚拟区域中可用的备用列的数目。在这里,q可以是其中具有错误的列的数目与备用列的数目之间的差具有最大值的虚拟区域的值。

亦即,分析装置200搜索(或选择/检查)其中对于所有虚拟区域而言差值ay﹣cy具有最大值的虚拟区域vq,所述差值ay﹣cy是ay与cy之间的差,所述ay是每个虚拟区域中的具有未修复错误的列的数目,并且cy是每个虚拟区域中可用的备用列的数目。

此外,分析装置200检查aq(其为选定虚拟区域vq中的具有未修复错误的列的数目)是否等于或小于cq(其为选定虚拟区域vq中的可用备用列的数目)。

作为检查结果,当aq(其为选定虚拟区域vq中的具有未修复错误的列的数目)等于或小于cq(其为选定虚拟区域vq中的可用备用列的数目)时,分析装置200检查错误修复已成功地完成。此外,分析装置200在错误修复完成时根据备用存储单元的分配结果在由对应于虚拟区域的存储介质100中的虚拟区域和物理区域管理的错误地址存储空间中存储与虚拟区域相关的k位的位置信息、与虚拟区域相关的m+n-k位的位置信息以及错误地址,并且结束整个过程。在这里,k位的位置信息的值和m+n-k位的位置信息的值被配置为向量,并且位的位置由对应于虚拟基本区域的键值(或k位的位置)的“0”(或k位)和对应于虚拟子区域的键值(或m+n-k位的位置)的“1”(或m+n-k位)配置。

此外,作为检查结果,当aq(其为选定虚拟区域vq中的具有未修复错误的列的数目)大于cq(其为选定虚拟区域vq中的可用备用列的数目)时,分析装置200确定仅用备用列不能实现修复。因此,为了使用备用行来执行修复,分析装置200确定在虚拟区域vq中是否存在大于0的rx,其为每个物理区域中可用的备用行的数目且被针对所有物理区域px预先设定。

作为确定结果,当对于所有物理区域px而言不存在预先设定的大于0的rx(其为每个物理区域中可用的备用行的数目)时,分析装置200确定错误修复失败,并且结束整个过程。

此外,作为确定结果,当对于虚拟区域vq的所有物理区域px而言存在大于0的rx(其为每个物理区域中可用的备用行的数目且是预先设定的)时,分析装置200选择其中(px,vq)具有错误且rx(其是物理区域中可用的备用行的数目)对于虚拟区域vq的所有物理区域px而言(或者对于虚拟区域vq而言)具有最大值的一个物理区域pa。在这里,pa是物理区域px中的一个,并且(pa,vq)表示错误信息管理表的存储单元,其由px和vq定义。

此外,分析装置200检查对应于选定物理区域pa的(pa,vq)中的其中aq(其为选定虚拟区域vq中的具有未修复错误的列的数目)减小最多的行。在这里,(pa,vq)表示错误信息管理表的存储单元,其由pa和vq定义。

此外,分析装置200将对应于选定物理区域pa的(pa,vq)的(fa,q)的值减小与可以由备用行修复的错误的数目(其是第一数目)一样多。在这里,(pa,vq)表示错误信息管理表的由pa和vq定义的存储单元,并且(fa,q)是存储在由pa和vq定义的存储单元中的未修复错误的数目。此外,分析装置200将aq(其为未被修复且具有错误的对应于选定物理区域pa的列的数目)减小与可以由备用行修复、使得不需要错误修复的列的数目(其为第二数目)一样多。此外,分析装置200将作为可用备用行的数目的ra减小与作为第三数目的所使用备用行的数目一样多。

此外,分析装置200返回至选择其中ay﹣cy具有最大值的过程以重复地执行分配备用行的过程直至ar(其为选定虚拟区域vq中的具有未修复错误的列的数目)等于或小于cq(其为虚拟区域vq中可用的备用列的数目)为止,所述ay﹣cy是ay与cy之间的差,所述ay是包括在错误信息管理表中的每个虚拟区域中的具有未修复错误的列的数目,并且cy是包括在错误信息管理表中的每个虚拟区域中可用的备用列的数目。

如果其中没有留下备用行且(ay﹣cy)具有最大值的虚拟区域vy的ay的值超过cy的值,则分析装置200确定错误修复失败,并结束整个过程。

如上所述,分析装置200可以基于列优先(或者基于列优先算法)而执行存储器管理功能。

此外,当执行基于行优先(或基于行优先算法)的存储器管理功能时,分析装置200通过改变上述过程的顺序来执行存储器管理功能。

亦即,分析装置200确定对于所有物理区域px而言是否存在大于0的rx,其为每个物理区域中可用的备用行的数目且是预先设定的。

作为确定结果,当对于所有物理区域px而言不存在rx(其为每个物理区域中可用的备用行的数目且是预先设定的)时,分析装置200检查ay(其为所有虚拟区域中的具有未修复错误的列的数目)是否等于或小于cy(其为虚拟区域中的可用备用列的数目)。

作为检查结果,当ay(其为所有虚拟区域中的具有未修复错误的列的数目)等于或小于cy(其为所有虚拟区域中可用的备用列的数目)时,分析装置200确认错误修复已成功地完成。此外,分析装置200在错误修复完成时根据备用存储单元的分配结果在由对应于虚拟区域的存储介质100中的虚拟区域和物理区域管理的错误地址存储空间中存储与虚拟区域相关的k位的位置信息、与虚拟区域相关的m+n-k位的位置信息以及错误地址,并且结束整个过程。在这里,k位的位置信息的值和m+n-k位的位置信息的值被配置为向量,并且位的位置由对应于虚拟基本区域的键值(或k位的位置)的“0”(或k位)和对应于虚拟子区域的键值(或m+n-k位的位置)的“1”(或m+n-k位)配置。

此外,作为检查结果,当ay(其为所有虚拟区域中的具有未修复错误的列的数目)大于cy(其为虚拟区域中的可用备用列的数目)时,分析装置200确定仅通过使用虚拟区域vy中可用的备用行不能实现修复且错误修复失败,并且结束整个过程。

此外,作为确定结果,对于虚拟区域vq的所有物理区域px而言存在大于0的rx(其为每个物理区域中可用的备用行的数目且是预先设定的),分析装置200选择其中(px,vq)具有错误且rx(其为物理区域中可用的备用行的数目)具有最大值的一个物理区域pa。在这里,pa是物理区域px中的一个,并且(pa,vq)表示错误信息管理表的存储单元,其由px和vq定义。

此外,分析装置200检查对应于选定物理区域pa的(pa,vq)中的其中aq(其为选定虚拟区域vq中的具有未修复错误的列的数目)减小最多的行。在这里,(pa,vq)表示错误信息管理表的存储单元,其由pa和vq定义。

此外,分析装置200将对应于选定物理区域pa的(pa,vq)的(fa,q)的值减小与可以由备用行修复的错误的数目(其是第一数目)一样多。在这里,(pa,vq)表示错误信息管理表的由pa和vq定义的存储单元,并且(fa,q)是存储在由pa和vq定义的存储单元中的未修复错误的数目。此外,分析装置200将aq(其为未被修复且具有错误的对应于选定物理区域pa的列的数目)减小与可以由备用行修复、使得不需要错误修复的列的数目(其为第二数目)一样多。此外,分析装置200将作为可用备用行的数目的ra减小与作为第三数目的所使用备用行的数目一样多。

此外,分析装置200返回至选择其中ay﹣cy具有最大值的虚拟区域vq的过程以重复地执行分配备用行的过程直至rx(其为每个物理区域中可用的备用行的数目,其大于0,其是预先设定的)变成0为止(或者直至在每个物理区域中不存在可用的备用行为止),所述ay﹣cy是ay与cy的差,所述ay是包括在错误信息管理表中的每个虚拟区域中的具有未修复错误的列的数目,并且所述cy是包括在错误信息管理表中的每个虚拟区域中可用的备用列的数目。

如上所述,列优先(或者列优先算法)在可能利用尽可能多的备用列并留下备用行的方向上前进,而行优先(或者行优先算法)在可能利用尽可能多的备用行并留下备用列的方向上前进。

此外,当执行快速基于列优先的存储器管理功能时,分析装置200可以通过改变上述过程的顺序并添加某些过程来执行存储器管理功能。

亦即,分析装置200计算ay与cy之间的差值ay﹣cy,所述ay是每个虚拟区域中的具有未修复错误的列的数目,并且所述cy是每个虚拟区域中可用的备用列的数目。

此外,分析装置200将计算的差值ay﹣cy排序。在这种情况下,排序方法可以是递降顺序或递升顺序。

亦即,分析装置200基于计算的差值ay﹣cy将计算的差值ay﹣cy和对应于计算差值ay﹣cy的虚拟区域vy排序。

此外,分析装置200按照排列顺序选择其中错误未被修复的虚拟区域vd。在这里,d可以是通过使用具有错误的列的数目和备用列的数目之间的差值将虚拟区域按照递降顺序排序并按照所排序的顺序选择其中错误未被修复的虚拟区域而获得的值。

此外,分析装置200主要检查ad(其为选定虚拟区域vd中的具有未修复错误的列的数目)是否等于或小于cd(其为虚拟区域vd中可用的备用列的数目)。

此外,作为主要检查结果,当ad大于cd时,作为主要检查结果,分析装置200确定仅用备用列不能实现修复,并且为了使用备用行来执行修复,分析装置200确定对于所有物理区域px而言在虚拟区域vd中是否存在大于0的rx。在这里,rx是每个物理区域中可用的备用行的数目,并且被针对所有物理区域px预先设定。

作为确定结果,当对于所有物理区域px而言不存在大于0的rx(其为每个物理区域中可用的备用行的数目且是预先设定的)时,分析装置200确定错误修复失败,并且结束整个过程。

此外,作为确定结果,当对于虚拟区域vd的所有物理区域px而言存在大于0的rx(其为每个物理区域中可用的备用行的数目且是预先设定的)时,分析装置200选择其中(px,vd)具有错误且rx(其为物理区域中可用的备用行的数目)具有最大值的一个物理区域pa。在这里,pa是物理区域px中的一个,并且(pa,vd)表示错误信息管理表的存储单元,其由px和vd定义。

此外,分析装置200检查对应于选定物理区域pa的(pa,vd)中的其中ad(其为选定虚拟区域vd中的具有未修复错误的列的数目)减小最多的行。在这里,(pa,vd)表示错误信息管理表的存储单元,其由pa和vd定义。

此外,分析装置200将对应于选定物理区域pa的(pa,vd)的(fa,d)的值减小与可以由备用行修复的错误的数目(其是第一数目)一样多。在这里,(pa,vd)表示错误信息管理表的由pa和vd定义的存储单元,并且(fa,d)是存储在由pa和vd定义的存储单元中的未修复错误的数目。此外,分析装置200将ad(其为未被修复且具有错误的对应于选定物理区域pa的列的数目)减小与可以由备用行修复、使得不需要错误修复的列的数目(其为第二数目)一样多。此外,分析装置200将作为可用备用行的数目的ra减小与作为第三数目的所使用备用行的数目一样多。

此外,分析装置200返回至主要检查ad(其为选定虚拟区域vd中的具有未修复错误的列的数目)是否等于或小于cd(其为虚拟区域vd中可用的备用列的数目)的过程(例如,步骤s2940)以重复地执行向选定虚拟区域vd分配备用行的过程直至ad(其为选定虚拟区域vd中的具有未修复错误的列的数目)等于或小于cy(其为所有虚拟区域vy中可用的备用列的数目)为止。

作为主要检查结果,当ad(其为选定虚拟区域vd中的具有未修复错误的列的数目)等于或小于cd(其为虚拟区域vd中可用的备用列的数目)时,分析装置200主要检查ay(其为所有虚拟区域vy中的具有未修复错误的列的数目)是否等于或小于cy(其为所有虚拟区域vy中可用的备用列的数目)。

作为辅助检查结果,当ay(其为所有虚拟区域vy中的具有未修复错误的列的数目)等于或小于cy(其为所有虚拟区域vy中可用的备用列的数目)时,分析装置200确认错误修复已成功地完成。此外,分析装置200在错误修复完成时根据备用存储单元的分配结果在由对应于虚拟区域的存储介质100中的虚拟区域和物理区域管理的错误地址存储空间中存储与虚拟区域相关的k位的位置信息、与虚拟区域相关的m+n-k位的位置信息以及错误地址,并且结束整个过程。在这里,k位的位置信息的值和m+n-k位的位置信息的值被配置为向量,并且位的位置由对应于虚拟基本区域的键值(或k位的位置)的“0”(或k位)和对应于虚拟子区域的键值(或m+n-k位的位置)的“1”(或m+n-k位)配置。

此外,作为辅助检查结果,当ay(其为所有虚拟区域vy中的具有未修复错误的列的数目)不等于或小于cy(其为所有虚拟区域vy中可用的备用列的数目)时(或者当存在至少一个ay时,该ay为具有未修复错误的列的数目,其大于作为所有虚拟区域vy中可用的备用列的数目的cy),分析装置200返回至选择所有已排序的虚拟区域vy之中的其中错误未被修复的下一虚拟区域(或新虚拟区域)vd的过程。

亦即,在重复地执行所述过程直至ay(其为选定虚拟区域vd中的具有未修复错误的列的数目)等于或小于cy(其为所有虚拟区域vy中可用的备用列的数目)之后,分析装置200选择新虚拟区域vd。此外,分析装置200重复地执行主要检查ad(其为选定的新虚拟区域vd中的具有未修复错误的列的数目)是否等于或小于cd(其为相应新虚拟区域vd中可用的备用列的数目)的过程和向选定的新虚拟区域vd分配备用行的过程直至ad(其为选定的新虚拟区域vd中的具有未修复错误的列的数目)变得等于或小于cd(其为虚拟区域vd中可用的备用列的数目)为止。

如上所述,分析在200可以通过对未被修复且具有错误的选定虚拟区域vd中的列的备用行分配过程来对所有虚拟区域vy执行备用列分配过程。

当没有留下(或可用)备用行且虚拟区域vq的ay的值小于虚拟区域vq的cy的值时,分析装置200确定错误修复失败并结束整个过程。在这里,ay是每个虚拟区域中的具有未修复错误的列的数目,cy是每个虚拟区域中可用的备用列的数目,并且vq是其中ay与cy之间的差具有最大值的虚拟区域。

当执行快速基于行优先的存储器管理功能时,分析装置200通过改变上述过程的顺序并添加某些过程来执行存储器管理功能。

亦即,分析装置200分别地计算ay﹣cy,其为ay(其为每个虚拟区域中的具有未修复错误的列的数目)与cy(其为每个虚拟区域中可用的备用列的数目)之间的差。

此外,分析装置200将计算的差值ay﹣cy排序。在这种情况下,排序方法可以是递降排序或递升排序。

亦即,分析装置200基于计算的差值ay﹣cy将计算的差值ay﹣cy和对应于计算的差值ay﹣cy的虚拟区域vy排序。

此外,分析装置200按照所排序的顺序选择其中错误未被修复的虚拟区域vd。在这里,d可以是通过使用具有错误的列的数目与备用列的数目之间的差值按照递降顺序将虚拟区域排序并按照排列顺序选择其中错误未被修复的虚拟区域而获得的值。

此外,分析装置200主要检查ad(其为选定虚拟区域vd中的具有未修复错误的列的数目)是否等于或小于cd(其为虚拟区域vd中可用的备用列的数目)。

此外,作为主要检查结果,当ad(其为选定虚拟区域vd中的具有未修复错误的列的数目)大于cd(其为虚拟区域vd中可用的备用列的数目)时,分析装置200确定仅用备用列不能实现修复。因此,为了使用备用行来执行修复,分析装置200确定对于所有物理区域px而言在虚拟区域vd中是否存在大于0的rx,其为每个物理区域中可用的备用行的数目且是预先设定的。作为确定结果,当对于所有物理区域px而言不存在预先设定的大于0的rx(其为每个物理区域中可用的备用行的数目且是预先设定的)时,分析装置200确定错误修复失败并结束整个过程。

此外,作为确定结果,当对于所有物理区域px而言存在大于0的rx(其为每个物理区域中可用的备用行的数目且是预先设定的)时,分析装置200选择其中(px,vd)具有错误且rx(其为物理区域中可用的备用行的数目)具有最大值的一个物理区域pa。在这里,pa是物理区域px中的一个,并且(pa,vd)表示错误信息管理表的存储单元,其由px和vd定义。

此外,分析装置200检查对应于选定物理区域pa的(pa,vd)中的其中ad(其为选定虚拟区域vd中的具有未修复错误的列的数目)减小最多的行。在这里,(pa,vd)表示错误信息管理表的存储单元,其由pa和vd定义。

此外,分析装置200将对应于选定物理区域pa的(pa,vd)的(fa,d)的值减小与可以由备用行修复的错误的数目(其是第一数目)一样多。在这里,(pa,vd)表示错误信息管理表的由pa和vq定义的存储单元,并且(fa,d)是存储在由pa和vq定义的存储单元中的未修复错误的数目。此外,分析装置200将ad(其为未被修复且具有错误的对应于选定物理区域pa的列的数目)减小与可以由备用行修复、使得不需要错误修复的列的数目(其为第二数目)一样多。此外,分析装置200将作为可用备用行的数目的ra减小与作为第三数目的所使用备用行的数目一样多。

此外,分析装置200返回至主要检查ad(其为选定虚拟区域vd中的具有未修复错误的列的数目)是否等于或小于cd(其为虚拟区域vd中可用的备用列的数目)的过程,以重复地执行向选定虚拟区域vd分配备用行的过程,直至ad(其为选定虚拟区域ad中的具有未修复错误的列的数目)等于或小于cd(其为选定虚拟区域vd中可用的备用列的数目)为止。

此外,作为主要检查结果,当ad(其为选定虚拟区域vd中的具有未修复错误的列的数目)等于或小于cd(其为虚拟区域vd中可用的备用列的数目)时,分析装置200辅助地检查ay(其为所有虚拟区域vy中的具有未修复错误的列的数目)是否等于或小于cy(其为所有虚拟区域vy中可用的备用列的数目)。

此外,作为辅助检查结果,当ay(其为所有虚拟区域vy中的具有未修复错误的列的数目)等于或小于cy(其为所有虚拟区域vy中可用的备用列的数目)时,分析装置200辅助地确定对于所有物理区域px而言是否存在大于0的rx,其为每个物理区域中可用的备用行的数目且是预先设定的。

作为辅助确定结果,当对于虚拟区域vd中的所有物理区域px而言存在大于0的rx(其为每个物理区域中可用的备用行的数目且是预先设定的)时,分析装置200按排序的顺序选择其中错误未被修复的下一虚拟区域vd。在这里,d可以是通过使用具有错误的列的数目与备用列的数目之间的差值按照递降顺序将虚拟区域排序并按照排序的顺序选择其中错误未被修复的虚拟区域而获得的值。

此外,针对新选定的虚拟区域,分析装置200返回至选择其中(px,vd)具有错误且物理区域中可用的备用行的数目对于相应下一虚拟区域(或虚拟区域vd)的所有物理区域px而言位是最大值的一个物理区域pa并检查对应于选定物理区域pa的(pa,vq)中的其中aq(其为选定虚拟区域vq中的具有未修复错误的列的数目)被减小尽可能多的行的过程。在这里,(px,vd)表示存储单元,其由px和vd定义。(pa,vq)表示存储单元,其由pa和vq定义。

此外,作为辅助确定结果,当在虚拟区域vd中对于所有物理区域px而言不存在预先设定的大于0的rx(其为每个物理区域中可用的备用行的数目且是预先设定的)时,分析装置200确定错误修复已成功地完成,在错误修复完成时在对应于虚拟区域的存储介质100中的由物理区域和虚拟区域管理的错误地址存储空间中存储与虚拟区域相关的k位的位置信息、与虚拟区域相关的m+n-k位的位置信息以及错误地址,并结束整个过程。在这里,k位的位置信息的值和m+n-k位的位置信息的值被配置为向量,并且位的位置由对应于虚拟基本区域的键值(或k位的位置)的“0”(或k位)和对应于虚拟子区域的键值(或m+n-k位的位置)的“1”(或m+n-k位)配置。

此外,作为辅助检查结果,当ay(其为所有虚拟区域vy中的具有未修复错误的列的数目)大于cy(其为所有虚拟区域vy中可用的备用列的数目)时(或者当存在至少一个ay时,该ay为具有未修复错误的列的数目,其大于作为所有虚拟区域vy中可用的备用列的数目的cy),分析装置200返回至选择所有已排序虚拟区域vy之中的其中错误未被修复的虚拟区域vd的过程。

此外,在重复地执行所述过程直至ay(其为选定虚拟区域vd中的具有未修复错误的列的数目)等于或小于cy(其为所有虚拟区域vy中可用的备用列的数目)之后,分析装置200选择新虚拟区域vd。此外,分析装置200重复地执行主要检查ad(其为选定的新虚拟区域vd中的具有未修复错误的列的数目)是否等于或小于cd(其为用于选定新虚拟区域vd的相应新虚拟区域vd中可用的备用列的数目)的过程和向选定的新虚拟区域vd分配备用行的过程直至ad(其为选定的新虚拟区域vd中的具有未修复错误的列的数目)变得等于或小于cd(其为虚拟区域vd中可用的备用列的数目)为止。

如上所述,分析装置200可以通过对未被修复且具有错误的选定虚拟区域vd中的列的备用行分配过程来对所有虚拟区域vy执行备用列分配过程。

当没有留下(或可用)备用行且其中ay﹣cy(其为ay与cy之间的差,所述ay是每个虚拟区域中的具有未修复错误的列的数目,并且cy是每个虚拟区域中可用的备用列的数目)具有最大值的虚拟区域vy的ay的值超过cy的值时,分析装置200确定错误修复失败并结束整个过程。在这里,cy是每个虚拟区域中可用的备用列的数目,并且vq是其中ay与cy之间的差具有最大值的虚拟区域。

此外,根据设计师在存储器制造过程期间根据环境和每个存储器系统(未示出)的目的进行的选择而选择性地使用列优先算法、行优先算法、快速列优先算法以及快速行优先算法

如上所述,可以将有限的备用存储单元最优地分布(或分配)到系统中的物理区域和虚拟区域以便修复存储器的错误。

此外,如上所述,子阵列充当单元区域的物理区域,并且将通过将子阵列重组而获得的虚拟区域最优地分布到单独的备用存储单元以使错误修复最大化。

此外,如上所述,可以提供同时地不仅满足虚拟区域的设计目标值、而且满足物理区域的设计目标值的备用存储单元的分配,并且在分布时根据备用存储单元的分配结果在由相应存储介质中的由虚拟区域的存储介质中的物理区域和虚拟区域管理的错误地址存储空间中存储k位的位置信息、m+n-k位的位置信息以及错误地址。

此外,如上所述,在使用列和行对由快速列优先算法和快速行优先算法选择的虚拟区域重复地执行修复之后,可以对下一虚拟区域执行修复。

在下文中将参考图1至图47来详细地描述根据本发明的示例性实施例的存储器管理方法。

图10是图示出根据本发明的示例性实施例的基于列优先存储器管理方法的流程图。

首先,分析装置200针对物理区域(或物理基本区域px)和虚拟区域(或虚拟基本区域vy)生成错误信息管理表,其表示作为错误的数目的(fx,y)、作为每个物理区域中可用的备用行的数目的rx、作为每个虚拟区域中可用的备用列的数目的cy以及作为每个虚拟区域中的具有未修复错误的列的数目的ay的关系。在这种情况下,x表示物理区域且y表示虚拟区域。

在这里,虚拟区域可以是可由分析装置200配置的所有组合中的一个,其中,分析装置200将每个物理基本区域划分成具有相同尺寸的两个物理子区域并将物理子区域组合成虚拟基本区域。

此外,分析装置200检查是否所有可配置组合都满足由存储器管理方法预先设定的目标值。在这种情况下,目标值是对应于要存储的信息的预先设定的值(或将满足要存储的信息的值)。在应用使用冗余存储单元的存储器修复的存储器系统的情况下,目标值可以是与在存储器存储单元中年提供的可用(或者在存储器系统中可用)的备用存储单元的数目相同的预定数目(包括例如备用行的数目、备用列的数目等)。亦即,目标值可以是在映射到与要存储的信息相对应的预定值的所有物理基本区域中可以可用的相同资源的数目。此外,在避免错误存储器块的存储器系统的情况下,目标值可以是在存储器系统的所有物理基本区域中可用的相同存储器块的数目。

此外,当要存储在组合虚拟基本区域中的信息的数目满足预定目标值时,分析装置200在m+n位之中在存储介质100中的预定(或先前分配)存储区域中存储与满足目标值的虚拟基本区域相关的k位的位置信息和与满足目标值的虚拟子区域相关的m+n-k位的位置信息。在这里,k位的位置信息的值和m+n-k位的位置信息的值被配置为向量,并且位的位置由对应于虚拟基本区域的键值(或k位的位置)的“0”(或k位)和对应于虚拟子区域的键值(或m+n-k位的位置)的“1”(或m+n-k位)配置。在这里,m表示物理区域的数目,n表示虚拟区域的数目,并且m、n和k是自然数。此外,k的大小可以是用以接近信息存储表110的位速率。

作为示例,如图11中所示,为了简要地描述本发明的示例性实施例,当假设一行或列不具有多个错误(或者一行或列仅具有一个错误)时,分析装置200将存储介质100的物理区域(或子阵列)划分成多个物理子区域并将物理子区域组合(或重组)以生成虚拟基本区域和虚拟子区域。在这种情况下,为了简要地描述本发明的示例性实施例,将具有相同数目的物理子区域重组以生成虚拟区域,但是示例性实施例不限于此。如图1和相关详细描述中所述,可以通过将满足目标值的物理子区域组合来生成虚拟区域。在这里,将每个物理区域的物理子区域第0号重组成虚拟区域第0号(例如,黄色),将每个物理区域的物理子区域第1号重组成虚拟区域第1号(例如,蓝色),将每个物理区域的物理区域第2号重组成虚拟区域第2号(例如,绿色),并且将每个物理区域的物理子区域第3号重组成虚拟区域第3号(例如,红色)。此外,物理区域使用备用行来执行错误修复,并且重组虚拟区域使用备用列来执行错误修复。

在本示例性实施例中,将每个物理区域设置成使用四个或三个备用行,并且将虚拟区域设置成使用七个或八个备用列。在这种情况下,备用存储单元的数目改变,因为在存储器制造过程期间即使在备用行区域和备用列区域中也可能产生错误,并且因此可能在特定区域中不使用在设计时嵌入的所有备用存储单元。此外,在本发明的示例性实施例中,将特定备用存储单元的数目设置成改变以便显示出即使当引起上述问题时也发现最优错误修复方法在操作。

此外,如图12中所示,分析装置200生成错误信息管理表,其表示物理区域(例如,p0至p3)、虚拟区域(例如,v0至v3)、根据其中错误存储单元产生的位置与物理区域和虚拟区域相关的错误的数目(例如,f0,0至f3,3)、每个物理区域中可用的备用行的数目(例如,r0至r3)、每个虚拟区域中可用的备用列的数目(例如,c0至c3)以及每个虚拟区域中的未被修复且具有错误的列的数目(例如,a0至a3)的关系。此外,如图12中所示,根据举例说明的目标值,设定在p3中三个备用行可用,在其余物理区域中四个备用行可用,在v1中七个备用列可用,并且在其余虚拟区域中八个备用列可用(s1010)。

然后,分析装置200选择其中ay﹣cy(其为ay与cy之间的差,所述ay是虚拟区域中的具有未修复错误的列的数目,并且cy是每个虚拟区域中可用的备用列的数目)具有最大值的虚拟区域vq。在这里,q可以是其中具有错误的列的数目与备用列的数目之间的差具有最大值的虚拟区域的值。

亦即,分析装置200搜索(或选择/检查)其中对于所有虚拟区域而言差值ay﹣cy具有最大值的虚拟区域vq,所述差值ay﹣cy是ay与cy之间的差,所述ay是虚拟区域中的具有未修复错误的列的数目,并且cy是每个虚拟区域中可用的备用列的数目。

例如,如图12中所示,分析装置200针对所有虚拟区域(例如,v0至v3)计算a0﹣c0(15﹣8=7)、a1﹣c1(8﹣7=1)、a2﹣c2(15﹣8=7)以及a3﹣c3(8﹣8=0),检查计算的a0﹣c0(15﹣8=7)、a1﹣c1(8﹣7=1)、a2﹣c2(15﹣8=7)以及a3﹣c3(8﹣8=0)之中的具有最大值的虚拟区域v0和v2,并且选择v0作为具有最大值的被检查虚拟区域v0和v2之间的任何一个(s1020)。

然后,分析装置200检查aq(其为选定虚拟区域vq中的具有未修复错误的列的数目)是否等于或小于cq(其为虚拟区域vq中可用的备用列的数目)。

例如,如图12中所示,分析装置200检查a0(例如,15)(其为所选虚拟区域v0中的具有未修复错误的列的数目)是否等于或小于c0(例如,8)(其为所选虚拟区域v0中可用的备用列的数目)(s1030)。

作为检查结果,当作为选定虚拟区域vq中的具有未修复错误的列的数目的aq等于或小于作为虚拟区域vq中可用的备用列的数目的cq时,分析装置200检查错误修复已成功地完成。此外,分析装置200在错误修复完成时根据备用存储单元的分配结果在由对应于虚拟区域的存储介质100中的虚拟区域和物理区域管理的错误地址存储空间中存储与虚拟区域相关的k位的位置信息、与虚拟区域相关的m+n-k位的位置信息以及错误地址,并且结束整个过程。在这里,k位的位置信息的值和m+n-k位的位置信息的值被配置为向量,并且位的位置由对应于虚拟基本区域的键值(或k位的位置)的“0”(或k位)和对应于虚拟子区域的键值(或m+n-k位的位置)的“1”(或m+n-k位)配置。

例如,当a0(例如,8)(其为选定虚拟区域v0中的具有未修复错误的列的数目)与c0(例如,8)(其为选定虚拟区域v0中可用的备用列的数目)相等时,分析装置200检查错误修复成功地完成,并且根据备用存储单元的分配结果在由对应于虚拟区域v0的存储介质100中的物理区域和虚拟区域管理的错误地址存储空间中存储与虚拟区域v0相关的k位的位置信息、与虚拟区域v0相关的m+n-k位的位置信息以及错误地址,并结束错误修复过程(s1040)。

此外,作为检查结果,当aq(其为选定虚拟区域vq中的具有未修复错误的列的数目)大于cq(其为选定虚拟区域vq中可用的备用列的数目)时,分析装置200确定仅用备用列不能实现修复。因此,为了使用备用列来执行恢复,分析装置200确定对于所有物理区域px而言是否存在大于0的rx,其为每个物理区域中可用的备用行的数目且是预先设定的。

例如,如图12中所示,当a0(例如,15)(其为选定虚拟区域v0中的具有未修复错误的列的数目)大于c0(例如,8)(其为选定虚拟区域v0中可用的备用列的数目)时,分析装置200确定对于所有物理区域px而言是否存在大于0的rx,其为每个物理区域中可用的备用行的数目且是预先设定的(s1050)。

作为确定结果,当对于所有物理区域px而言不存在大于0的rx(其为每个物理区域中可用的备用行的数目且是预先设定的)时,分析装置200确定错误修复失败,并且结束整个过程。

例如,当对于所有物理区域px而言不存在大于0的rx(其为每个物理区域中可用的备用行的数目且是预先设定的)时,分析装置200确定错误修复失败,并且结束整个错误修复过程(s1060)。

此外,作为确定结果,当对于所有物理区域px而言存在大于0的rx(其为每个物理区域中可用的备用行的数目且是预先设定的)时,分析装置200选择其中(px,vq)具有错误且rx(其为物理区域中可用的备用行的数目)对于虚拟区域vq的所有物理区域px而言(或者对于虚拟区域vq而言)具有最大值的一个物理区域pa。在这里,(px,vd)表示错误信息管理表的存储单元,其由px和vd定义。

此外,分析装置200检查对应于选定物理区域pa的(pa,vq)中的其中aq(其为选定虚拟区域vq中的具有未修复错误的列的数目)减小尽可能多的行。在这里,(pa,vq)表示由pa和vq定义的存储单元。

例如,如图12中所示,当对于所有物理区域px而言存在大于0的rx(其为每个物理区域中可用的备用行的数目且是预先设定的)时,分析装置200搜索具有错误(例如,fx,0≠0)和rx(例如,4)(其为物理区域中可用的备用行的数目)的最大值的虚拟区域v0中的多个物理区域(例如,p0、p1和p2)。然后,分析装置200选择多个所搜索的物理区域(例如,p0、p1和p2)之中的任何一个物理区域(例如,p0)(s1070)。

然后,分析装置200将对应于选定物理区域pa的(pa,vq)的(fa,q)的值减小与可以由备用行修复的错误的数目(其是第一数目)一样多。在这里,(pa,vq)表示错误信息管理表的由pa和vq定义的存储单元,并且(fa,d)是存储在由pa和vq定义的每个存储单元中的未修复错误的数目。此外,分析装置200将aq(其为对应于选定物理区域pa的具有未修复错误的列的数目)减小与可以由备用行修复、使得不需要错误修复的列的数目(其位第二数目)一样多。此外,分析装置200将作为可用备用行的数目的ra减小与作为第三数目的所使用备用行的数目一样多。

例如,如图13中所示,分析装置200将作为对应于与虚拟区域v0相关的物理区域p0的(p0,v0)的(f0,0)的值的4减小0而得到3,将作为对应于具有错误的(p0,v0)的列的数目a0的15减小1而得到14,并且将作为对应于(p0,v0)的备用行的数目r0的4减小1而得到3(s1080)。

然后,分析装置200返回至选择其中ay﹣cy(其为ay(其为每个虚拟区域中的具有未修复错误的列的数目)与cy(其为每个虚拟区域中可用的备用列的数目)之间的差)具有最大值的虚拟区域vq以重复地执行分配备用行的过程直至aq(其为选定虚拟区域vq中的具有未修复错误的列的数目)等于或小于cq(其为虚拟区域vq中可用的备用列的数目)为止的过程(例如步骤s1020)。

例如,如图12至27中所示,分析装置200重复地执行分配备用行的过程以最终生成图27中所示的错误信息管理表。在这里,其中(ay﹣cy)具有最大值的虚拟区域v0的a0的值等于或小于c0(其为可用备用列的数目),使得修复成功并结束整个备用行分配过程(s1090)。在这里,ay﹣cy是ay(其为每个虚拟区域中的具有未修复错误的列的数目)与cy(其为每个虚拟区域中可用的备用列的数目)之间的差。

如果其中没有留下备用行且(ay﹣cy)具有最大值的虚拟区域vy的ay的值超过cy的值,则分析装置200确定错误修复失败,并结束整个过程。

此外,作为执行根据本发明的示例性实施例的基于列优先存储器管理方法的结果,使用p0的全部四个备用行来修复(p0,v0)的一个错误和(p0,v2)的三个错误,使用p1的全部四个备用行来修复(p1,v0)的一个错误、(p1,v1)的一个错误以及(p1,v2)的一个错误,使用p2的全部四个备用行来修复(p2,v0)的两个错误和(p2,v2)的两个错误,并且使用p3的全部的三个备用行来修复(p3,v0)的两个错误和(p3,v2)的一个错误。此外,检查所有留下的错误都被备用列修复,并且可以用根据本发明的实现实施例的基于列优先的存储器管理方法来成功地完成备用存储单元分配。在这里,(p0,v0)表示由p0和v0定义的存储单元。

图28是图示出根据本发明的示例性实施例的基于行优先存储器管理方法的流程图。

首先,分析装置200针对物理区域(或物理基本区域px)和虚拟区域(或虚拟基本区域vy)生成错误信息管理表,其表示作为错误的数目的(fx,y)、作为每个物理区域中可用的备用行的数目的rx、作为每个虚拟区域中可用的备用列的数目的cy以及作为每个虚拟区域中的具有未修复错误的列的数目的ay的关系。

在这里,虚拟区域可以是可由分析装置200配置的所有组合中的一个,其中,分析装置200将每个物理基本区域划分成具有相同尺寸的两个物理子区域并将物理子区域组合成虚拟基本区域。

此外,分析装置200检查是否所有可配置组合都满足由存储器管理方法预先设定的目标值。在在这种情况下,目标值是对应于要存储的信息的预先设定的值(或将满足要存储的信息的值)。在应用使用冗余存储单元的存储器修复的存储器系统的情况下,目标值可以是在存储器存储单元中提供的可用(或者在存储器系统中可用)的备用存储单元的预定数目(包括例如备用行的数目、备用列的数目等)。亦即,目标值可以是在映射到与要存储的信息相对应的预定值的所有物理基本区域中可以可用的相同资源的数目。此外,在避免错误存储器块的存储器系统的情况下,目标值可以是在存储器系统的所有物理区域中可用的相同存储器块的数目。

此外,当要存储在组合虚拟基本区域中的信息的数目满足预定目标值时,分析装置200在m+n位之中在存储介质100中的预定(或先前分配)存储区域中存储与满足目标值的虚拟基本区域相关的k位的位置信息和与满足目标值的虚拟子区域相关的m+n-k位的位置信息。在这里,k位的位置信息的值和m+n-k位的位置信息的值被配置为向量,并且位的位置由对应于虚拟基本区域的键值(或k位的位置)的“0”(或k位)和对应于虚拟子区域的键值(或m+n-k位的位置)的“1”(或m+n-k位)配置。在这里,m表示物理区域的数目,n表示虚拟区域的数目,并且m、n和k是自然数。此外,k的大小可以是用以接近信息存储表110的位速率(s2810)。

然后,分析装置200选择其中差值ay-cy具有最大值的虚拟区域vq,所述差值ay﹣cy是ay与cy之间的差,所述ay是虚拟区域中的具有未修复错误的列的数目,并且cy是每个虚拟区域中可用的备用列的数目。在这里,q可以是其中具有错误的列的数目与备用列的数目之间的差具有最大值的虚拟区域的值。

亦即,分析装置200搜索(或选择/检查)其中对于所有虚拟区域而言差值ay﹣cy具有最大值的虚拟区域vq,所述差值ay﹣cy是ay与cy之间的差,所述ay是具有未修复错误的列的数目,并且cy是每个虚拟区域中可用的备用列的数目(s2820)。

然后,分析装置200确定对于所有物理区域px而言是否存在大于0的rx,其为每个物理区域中可用的备用行的数目且是预先设定的(s2830)。

作为确定结果,当针对所有物理区域px不存在大于0的rx(其位每个物理区域中可用的备用行的数目且是预先设定的)时,分析装置200检查ay(其位所有虚拟区域vy中的具有未修复错误的列的数目)是否等于或小于cy(其为所有虚拟区域vy中可用的备用列的数目)(s2840)。

作为检查结果,当ay(其为所有虚拟区域vy中的具有未修复错误的列的数目)等于或小于cy(其为虚拟区域vy中可用的备用列的数目)时,分析装置200确定错误修复已成功地完成。此外,分析装置200在错误修复完成时根据备用存储单元的分配结果在由对应于虚拟区域的存储介质100中的虚拟区域和物理区域管理的错误地址存储空间中存储与虚拟区域vy相关的k位的位置信息、与虚拟区域相关的m+n-k位的位置信息以及错误地址,并且结束整个过程。在这里,k位的位置信息的值和m+n-k位的位置信息的值被配置为向量,并且位的位置由对应于虚拟基本区域的键值(或k位的位置)的“0”(或k位)和对应于虚拟子区域的键值(或m+n-k位的位置)的“1”(或m+n-k位)配置(s2850)。

此外,作为检查结果,当ay(其为所有虚拟区域vy中的具有未修复错误的列的数目)大于cy(其为所有虚拟区域vy中可用的备用列的数目)时,分析装置200确定仅使用可用备用列不能实现修复且错误修复失败并结束整个过程(s2860)。

此外,作为确定结果,当对于所有物理区域px而言存在大于0的rx(其为每个物理区域中可用的备用行的数目且是预先设定的)时,分析装置200选择其中(px,vq)具有错误且rx(其为物理区域中可用的备用行的数目)对于虚拟区域vq的所有物理区域px而言(或者对于虚拟区域vq而言)具有最大值的一个物理区域pa。在这里,(px,vq)表示由px和vq定义的存储单元且rx是物理区域中的可用备用行的数目。

此外,分析装置200检查其中aq(其为选定虚拟区域vq中的具有未修复错误的列的数目且是预先设定的)在对应于选定物理区域pa的(pa,vq)中减小尽可能多的行(s2870)。在这里,(pa,vq)表示由pa和vq定义的存储单元。

然后,分析装置200将对应于选定物理区域pa的(pa,vq)的(fa,q)的值减小与可以由备用行修复的错误的数目(其是第一数目)一样多。在这里,(pa,vq)表示错误信息管理表的由pa和vq定义的存储单元,并且(fa,q)是存储在由pa和vq定义的每个存储单元中的未修复错误的数目。此外,分析装置200将aq(其为对应于选定物理区域pa的具有未修复错误的列的数目)减小与可以由备用行修复、使得不需要错误修复的列的数目(其位第二数目)一样多。此外,分析装置200将作为可用备用行的数目的ra减小与作为第三数目的所使用备用行的数目一样多(s2880)。

然后,分析设备200返回至选择其中ay﹣cy(其为ay(其为每个虚拟区域中的具有未修复错误的列的数目)与cy(其为每个虚拟区域中可用的备用列的数目)之间的差)具有最大值的虚拟区域vq的过程(例如,步骤s2820)以重复地执行分配备用行的过程直至大于0的rx(其为每个物理区域中可用的备用行的数目且是预先设定的)的数目变成0为止(或者直至在每个物理区域中没有可用备用行为止)。

图29是图示出根据本发明的示例性实施例的快速基于列优先存储器管理方法的流程图。

首先,分析装置200针对物理区域(或物理基本区域px)和虚拟区域(或虚拟基本区域vy)生成错误信息管理表,其表示作为错误的数目的(fx,y)、作为每个物理区域中可用的备用行的数目的rx、作为每个虚拟区域中可用的备用列的数目的cy以及作为每个虚拟区域中的具有未修复错误的列的数目的ay的关系。在这种情况下,x表示物理区域且y表示虚拟区域。

在这里,虚拟区域可以是可由分析装置200配置的所有组合中的一个,其中,分析装置200将每个物理基本区域划分成具有相同尺寸的两个物理子区域并将物理子区域组合成虚拟基本区域。

此外,分析装置200检查是否所有可配置组合都满足由存储器管理方法预先设定的目标值。在在这种情况下,目标值是对应于要存储的信息的预先设定的值(或将满足要存储的信息的值)。在应用使用冗余存储单元的存储器修复的存储器系统的情况下,目标值可以是与在存储器存储单元中年提供的可用(或者在存储器系统中可用)的备用存储单元的数目相同的预定数目(包括例如备用行的数目、备用列的数目等)。亦即,目标值可以是在映射到与要存储的信息相对应的预定值的所有物理基本区域中可以可用的相同资源的数目。此外,在避免错误存储器块的存储器系统的情况下,目标值可以是在存储器系统的所有物理基本区域中可用的相同存储器块的数目。

此外,当要存储在组合虚拟基本区域中的信息的数目满足预定目标值时,分析装置200在m+n位之中在存储介质100中的预定(或先前分配)存储区域中存储与满足目标值的虚拟基本区域相关的k位的位置信息和与满足目标值的虚拟子区域相关的m+n-k位的位置信息。在这里,k位的位置信息的值和m+n-k位的位置信息的值被配置为向量,并且位的位置由对应于虚拟基本区域的键值(或k位的位置)的“0”(或k位)和对应于虚拟子区域的键值(或m+n-k位的位置)的“1”(或m+n-k位)配置。在这里,m表示物理区域的数目,n表示虚拟区域的数目,并且m、n和k是自然数。此外,k的大小可以是用以接近信息存储表110的位速率。

作为示例,如图11中所示,为了简要地描述本发明的示例性实施例,当假设一行或列不具有多个错误(或者一行或列仅具有一个错误)时,分析装置200将存储介质100的物理区域(或子阵列)划分成多个物理子区域并将物理子区域组合(或重组)以生成虚拟基本区域和虚拟子区域。在这种情况下,为了简要地描述本发明的示例性实施例,将具有相同数目的物理子区域重组以生成虚拟区域,但是示例性实施例不限于此。如图1和相关详细描述中所述,可以通过将满足目标值的物理子区域组合来生成虚拟区域。在这里,将每个物理区域的物理子区域第0号重组成虚拟区域第0号(例如,黄色),将每个物理区域的物理子区域第1号重组成虚拟区域第1号(例如,蓝色),将每个物理区域的物理区域第2号重组成虚拟区域第2号(例如,绿色),并且将每个物理区域的物理子区域第3号重组成虚拟区域第3号(例如,红色)。此外,物理区域使用备用行来执行错误修复,并且重组虚拟区域使用备用列来执行错误修复。

在本示例性实施例中,将每个物理区域设置成使用四个或三个备用行,并且将虚拟区域设置成使用七个或八个备用列。在这种情况下,备用存储单元的数目改变,因为在存储器制造过程期间即使在备用行区域和备用列区域中也可能产生错误,并且因此可能在特定区域中不使用在设计时嵌入的所有备用存储单元。此外,在本发明的示例性实施例中,将特定备用存储单元的数目设置成改变以便显示出即使当引起上述问题时也发现最优错误修复方法在操作。

此外,如图31中所示,分析装置200生成错误信息管理表,其表示物理区域(例如,p0至p3)、虚拟区域(例如,v0至v3)、根据其中错误存储单元产生的位置与物理区域和虚拟区域相关的错误的数目(例如,f0,0至f3,3)、每个物理区域中可用的备用行的数目(例如,r0至r3)、每个虚拟区域中可用的备用列的数目(例如,c0至c3)以及每个虚拟区域中的具有未修复错误的列的数目(例如,a0至a3)。此外,如图31中所示,根据举例说明的目标值,设定在p3中三个备用行可用,在其余物理区域中四个备用行可用,在v1中七个备用列可用,并且在其余虚拟区域中八个备用列可用(s2910)。

然后,分析装置200分别地计算ay﹣cy,其为ay(其为每个虚拟区域中的具有未修复错误的列的数目)与cy(其为每个虚拟区域中的可用备用列的数目)之间的差。

此外,分析装置200将计算差值ay﹣cy排序。在这种情况下,排序方法可以是递降排序或递升排序。

亦即,分析装置200基于计算的差值ay﹣cy将计算的差值ay﹣cy和对应于计算差值ay﹣cy的虚拟区域vy排序。

例如,如图30中所示,分析装置200针对所有虚拟区域(例如,v0至v3)计算a0﹣c0(15﹣8=7)、a1﹣c1(8﹣7=1)、a2﹣c2(15﹣8=7)以及a3﹣c3(8﹣8=0),并且将计算的a0﹣c0(15﹣8=7)、a1﹣c1(8﹣7=1)、a2﹣c2(15﹣8=7)以及a3﹣c3(8﹣8=0)按照递降顺序排列(s2920)。

然后,分析装置200按照排列顺序选择其中错误未被修复的虚拟区域vd。在这里,d可以是通过使用具有错误的列的数目与备用列的数目之间的差值将虚拟区域按照递降顺序排列并按照排列顺序选择其中错误未被修复的虚拟区域而获得的值。

例如,分析装置200选择与用于图30中所示的所有虚拟区域(例如v0至v3)的差值(ay﹣cy)之中的a0﹣c0(15﹣8=7)相对应的v0,其为其中错误未被修复的虚拟区域中的第一个。

然后,分析装置200主要检查ad(其为选定虚拟区域vd中的具有未修复错误的列的数目)是否等于或小于cd(其为虚拟区域vd中可用的备用列的数目)。

例如,如图31中所示,分析装置200检查a0(例如,15)(其为所选虚拟区域v0中的具有未修复错误的列的数目)是否等于或小于c0(例如,8)(其为所选虚拟区域v0中可用的备用列的数目)(s2940)。

作为主要检查结果,当ad(其为选定虚拟区域vd中的具有未修复错误的列的数目)大于cd(其为虚拟区域vd中可用的备用列的数目)时,分析装置200确定仅用备用列不能实现修复。因此,为了使用备用行来执行修复,分析装置200确定对于所有物理区域px而言是否存在在虚拟区域vd中大于0的rx,其为每个物理区域中可用的备用行的数目且是预先设定的。

例如,如图31中所示,当a0(例如,15)(其为所选虚拟区域v0中的具有未修复错误的列的数目)大于c0(例如,8)(其为所选虚拟区域v0中可用的备用列的数目)时,分析装置200确定对于所有物理区域px而言是否存在在每个虚拟区域中大于0的rx,其为每个物理区域中可用的备用行的数目且是预先设定的。

作为确定结果,当对于所有物理区域px而言不存在大于0的rx(其为每个物理区域中可用的备用行的数目且是预先设定的)时,分析装置200确定错误修复失败,并且结束整个过程。

例如,当对于所有物理区域px而言不存在大于0的rx(其为每个物理区域中可用的备用行的数目且是预先设定的)时,分析装置200确定错误修复失败,并且结束整个错误修复过程(s2960)。

此外,作为确定结果,当对于所有物理区域px而言存在大于0的rx(其为每个物理区域中可用的备用行的数目且是预先设定的)时,分析装置200选择其中(px,vd)具有错误且rx(其为物理区域中可用的备用行的数目)对于虚拟区域vd的所有物理区域px而言(或者对于虚拟区域vd而言)具有最大值的一个物理区域pa。在这里,(px,vd)表示由px和vd定义的存储单元。

此外,分析装置200检查对应于选定物理区域pa的(pa,vd)中的其中ad(其为选定虚拟区域vd中的具有未修复错误的列的数目)减小尽可能多的行。

例如,当对于所有物理区域px而言存在大于0的rx(其为每个物理区域中可用的备用行的数目且是预先设定的)时,分析装置200搜索具有错误(例如,fx,0≠0)和rx(例如,4)(其为物理区域中可用的备用行的数目)的最大值的虚拟区域v0中的多个物理区域(例如,p0、p1和p2)。然后,分析装置200选择多个所选物理区域(例如,p0、p1和p2)之中的任何一个物理区域(例如,p0)(s2970)。

然后,分析装置200将对应于选定物理区域pa的(pa,vd)的(fa,d)的值减小与可以由备用行修复的错误的数目(其是第一数目)一样多。在这里,(pa,vd)表示错误信息管理表的由pa和vd定义的存储单元,并且(fa,q)是存储在由pa和vd定义的存储单元中的未修复错误的数目。此外,分析装置200将ad(其为对应于选定物理区域pa的具有未修复错误的列的数目)减小与可以由备用行修复、使得不需要错误修复的列的数目(其位第二数目)一样多。此外,分析装置200将作为可用备用行的数目的ra减小与作为第三数目的所使用备用行的数目一样多。

例如,如图32中所示,分析装置200将作为对应于与虚拟区域v0相关的物理区域p0的(p0,v0)的(f0,0)的值的4减小1而得到3,将作为对应于具有错误的(p0,v0)的列的数目a0的15减小1而得到14,并且将作为对应于(p0,v0)的备用行的数目r0的4减小1而得到3(s2980)。

然后,分析装置200返回至主要检查ad(其为选定虚拟区域vd中的具有未修复错误的列的数目)是否等于或小于cd(其为虚拟区域vd中可用的备用列的数目)的过程(例如,步骤s2940)以重复地执行向选定虚拟区域vd分配备用行的过程直至ay(其为选定虚拟区域vd中的具有未修复错误的列的数目)等于或小于cy(其为所有虚拟区域vy中可用的备用列的数目)为止。

例如,如图31至图38中所示,分析装置200重复地执行向虚拟区域v0分配备用行的过程从而满足与虚拟区域v0相关的a0<=c0(s2990)。

此外,作为主要检查结果,当ad(其为所选虚拟区域vd中的具有未修复错误的列的数目)等于或小于cd(其为虚拟区域vd中可用的备用列的数目)时(s2980),分析装置200辅助地检查ay(其为所有虚拟区域vy中的具有未修复错误的列的数目)是否等于或小于cy(其为所有虚拟区域vy中可用的备用列的数目)。

例如,当a0(例如,8)(其为所选虚拟区域v0中的具有未修复错误的列的数目)等于c0(例如,8)(其为所选虚拟区域v0中可用的备用列的数目)时,分析装置200辅助地检查a0、a1、a2以及a3(其为所有虚拟区域v0至v3中的具有未修复错误的列的数目)是否等于或小于c0、c1、c2以及c3(其为所有虚拟区域v0至v3中可用的备用列的数目)(s3000)。

作为辅助检查结果,当ay(其为所有虚拟区域vy中的具有未修复错误的列的数目)等于或小于cy(其为所有虚拟区域vy中可用的备用列的数目)时,分析装置200确定错误修复已成功地完成。此外,分析装置200在错误修复完成时根据备用存储单元的分配结果在由对应于虚拟区域的存储介质100中的虚拟区域和物理区域管理的错误地址存储空间中存储与虚拟区域相关的k位的位置信息、与虚拟区域相关的m+n-k位的位置信息以及错误地址,并且结束整个过程。在这里,k位的位置信息的值和m+n-k位的位置信息的值被配置为向量,并且位的位置由对应于虚拟基本区域的键值(或k位的位置)的“0”(或k位)和对应于虚拟子区域的键值(或m+n-k位的位置)的“1”(或m+n-k位)配置。

例如,a0、a1、a2以及a3(其为所有虚拟区域v0至v3中的具有未修复错误的列的数目)等于或小于c0、c1、c2以及c3(其为所有虚拟区域v0至v3中可用的备用列的数目),分析装置200确定错误修复成功地完成。此外,分析装置200根据备用存储单元的分配结果在由对应于所有虚拟区域v0至v3的存储介质100中的虚拟区域和物理区域管理的错误地址存储空间中存储与所有虚拟区域v0至v3相关的k位的位置信息、与所有虚拟区域v0至v3相关的m+n-k位的位置信息以及错误地址(s3010)。

此外,作为辅助检查结果,当ay(其为所有虚拟区域vy中的具有未修复错误的列的数目)不等于或小于cy(其为所有虚拟区域vy中可用的备用列的数目)时(或者当存在比所有虚拟区域vy中可用的备用列的数目cy更大的未被修复且具有错误的列的数目ay中的至少一个时),分析装置200返回至选择所有排序虚拟区域vy之中的其中错误未被修复的下一虚拟区域(或新虚拟区域)vd的过程。

在重复地执行所述过程直至ay(其为选定虚拟区域vd中的具有未修复错误的列的数目)变得等于或小于cy(其为所有虚拟区域vy中可用的备用列的数目)为止之后,分析装置200选择新的虚拟区域vd。此外,分析装置200重复地执行主要检查ad(其为选定的新虚拟区域vd中的具有未修复错误的列的数目)是否等于或小于cd(其为新虚拟区域vd中可用的备用列的数目)的过程和向选定的新虚拟区域vd分配备用行的过程直至ad(其为选定的新虚拟区域vd中的未被修复且具有错误的列的数目)变得等于或小于cd(其为虚拟区域vd中可用的备用列的数目)为止。

如上所述,分析在200可以通过对未被修复且具有错误的选定虚拟区域vd中的列的备用行分配过程来对所有虚拟区域vy执行备用列分配过程。

例如,在向虚拟区域v0完全分配备用行之后,针对所有虚拟区域(例如,v0至v3),当a2(其为具有未修复错误的列的数目)大于c2(其为所有虚拟区域中可用的备用列的数目)时,分析装置200重复地执行针对如图3中所示的所有排序虚拟区域(例如,v0至v3)选择作为与差值(ay﹣cy)之中的差a2﹣c2(15﹣8=7)相对应的其中错误未被修复的第二虚拟区域的v2并向所选虚拟区域v2分配备用行的过程。

亦即,如图39至图45中所示,分析装置200重复地执行向虚拟区域v2分配备用行的过程从而满足与虚拟区域v2相关的a2<=c2。

此外,在向虚拟区域v2完全分配备用行之后,分析装置200重复地执行针对图31中所示的所有虚拟区域(例如,v0至v3)选择作为与差值ay﹣cy之中的a1﹣c1(8﹣7=1)相对应的其中错误未被修复的第三虚拟区域的v1并向所选虚拟区域v1分配备用行的过程。

亦即,如图46中所示,分析装置200执行分配备用行以满足与虚拟区域v1相关的a1<=c1以执行向所有虚拟区域(例如,v0至v3)分配备用列的过程并成功地执行修复的过程且结束整个备用行分配过程(s3020)。

当没有留下(或可用)备用行且其中ay﹣cy(其为ay与cy之间的差,所述ay是每个虚拟区域中的具有未修复错误的列的数目,并且cy是每个虚拟区域中可用的备用列的数目)具有最大值的虚拟区域vy的ay的值超过cy的值时,分析装置200确定错误修复失败并结束整个过程。

图47是图示出根据本发明的示例性实施例的快速基于行优先存储器管理方法的流程图。

首先,分析装置200针对物理区域(或物理基本区域px)和虚拟区域(或虚拟基本区域vy)生成错误信息管理表,其表示作为错误的数目的(fx,y)、作为每个物理区域中可用的备用行的数目的rx、作为每个虚拟区域中可用的备用列的数目的cy以及作为具有未修复错误的每个虚拟区域中的列的数目的ay的关系。在这种情况下,x表示物理区域且y表示虚拟区域。

在这里,虚拟区域可以是可由分析装置200配置的所有组合中的一个,其中,分析装置200将每个物理基本区域划分成具有相同尺寸的两个物理子区域并将物理子区域组合成虚拟基本区域。

此外,分析装置200检查是否所有可配置组合都满足由存储器管理方法预先设定的目标值。在在这种情况下,目标值是对应于要存储的信息的预先设定的值(或将满足要存储的信息的值)。在应用使用冗余存储单元的存储器修复的存储器系统的情况下,目标值可以是在存储器存储单元中提供的可用(或者在存储器系统中可用)的备用存储单元的预定数目(包括例如备用行的数目、备用列的数目等)。亦即,目标值可以是在映射到与要存储的信息相对应的预定值的所有物理基本区域中可以可用的相同资源的数目。此外,在避免错误存储器块的存储器系统的情况下,目标值可以是在存储器系统的所有物理区域中可用的相同存储器块的数目。

此外,当要存储在组合虚拟基本区域中的信息的数目满足预定目标值时,分析装置200在m+n位之中在存储介质100中的预定(或先前分配)存储区域中存储与满足目标值的虚拟基本区域相关的k位的位置信息和与满足目标值的虚拟子区域相关的m+n-k位的位置信息。在这里,k位的位置信息的值和m+n-k位的位置信息的值被配置为向量,并且位的位置由对应于虚拟基本区域的键值(或k位的位置)的“0”(或k位)和对应于虚拟子区域的键值(或m+n-k位的位置)的“1”(或m+n-k位)配置。在这里,m表示物理区域的数目,n表示虚拟区域的数目,并且m、n和k是自然数。此外,k的大小可以是用以接近信息存储表110的位速率(s4710)。

然后,分析装置200分别地计算ay﹣cy,其为ay(其为每个虚拟区域中的具有未修复错误的列的数目)与cy(其为每个虚拟区域中可用的备用列的数目)之间的差。

此外,分析装置200将计算的差值ay﹣cy排序。在这种情况下,排序方法可以是递降排序或递升排序。

亦即,分析装置200基于计算的差值ay﹣cy将计算的差值ay﹣cy和对应于计算的差值ay﹣cy的虚拟区域vy排序(s4720)。

然后,分析装置200按照排列顺序选择其中错误未被修复的虚拟区域vd。在这里,d可以是通过使用具有错误的列的数目与备用列的数目之间的差值按照递降顺序将虚拟区域排序并按照排列顺序选择其中错误未被修复的虚拟区域而获得的值(s4730)。

然后,分析装置200主要检查ad(其为选定虚拟区域vd中的具有未修复错误的列的数目)是否等于或小于cd(其为虚拟区域vd中可用的备用列的数目)(s4740)。

作为主要检查结果,当ad(其为选定虚拟区域vd中的具有未修复错误的列的数目)大于cd(其为虚拟区域vd中可用的备用列的数目)时,分析装置200确定仅用备用列不能实现修复。因此,为了使用备用行来执行修复,分析装置200确定对于所有物理区域px而言是否存在在虚拟区域vd中大于0的rx,其为每个物理区域中可用的备用行的数目且是预先设定的(s4750)。

作为确定结果,当对于所有物理区域px而言不存在大于0的rx(其为每个物理区域中可用的备用行的数目且是预先设定的)时,分析装置200确定错误修复失败,并且结束整个过程(s4760)。

此外,作为确定结果,当对于所有物理区域px而言存在大于0的rx(其为每个物理区域中可用的备用行的数目且是预先设定的)时,分析装置200选择其中(px,vd)具有错误且rx(其为物理区域中可用的备用行的数目)对于虚拟区域vd的所有物理区域px而言(或者对于虚拟区域vd而言)具有最大值的一个物理区域pa。

此外,分析装置200检查对应于选定物理区域pa的(pa,vd)中的其中ad(其为选定虚拟区域vd中的具有未修复错误的列的数目)减小尽可能多的行(s4770)。

然后,分析装置200将对应于选定物理区域pa的(pa,vd)的(fa,d)的值减小与可以由备用行修复的错误的数目(其是第一数目)一样多。在这里,(pa,vd)表示由pa和vd定义的存储单元。(fa,d)是存储在由pa和vd定义的存储单元中的未修复错误的数目。此外,分析装置200将ad(其为对应于选定物理区域pa的具有未修复错误的列的数目)减小与可以由备用行修复、使得不需要错误修复的列的数目(其为第二数目)一样多。此外,分析装置200将作为可用备用行的数目的ra减小与作为第三数目的所使用的备用行的数目一样多(s4780)。

然后,分析装置200返回至主要检查ad(其为选定虚拟区域vd中的具有未修复错误的列的数目)是否等于或小于cd(其为虚拟区域vd中可用的备用列的数目)的过程(例如,步骤s4740)以重复地执行向选定虚拟区域vd分配备用行的过程直至ay(其为选定虚拟区域vd中的具有未修复错误的列的数目)等于或小于cy(其为所有虚拟区域vy中可用的备用列的数目)为止(s4790)。

此外,作为主要检查结果,当ad(其为所选虚拟区域vd中的具有未修复错误的列的数目)等于或小于cd(其为虚拟区域vd中可用的备用列的数目)时,分析装置200辅助地检查ay(其为所有虚拟区域vy中的具有未修复错误的列的数目)是否等于或小于cy(其为所有虚拟区域vy中可用的备用列的数目)(s4800)。

作为辅助检查结果,当ay(其为所有虚拟区域vy中的具有未修复错误的列的数目)等于或小于cy(其为所有虚拟区域vy中可用的备用列的数目)时,分析装置200针对所有物理区域px辅助地确定是否存在在虚拟区域vd中大于0的rx,其为每个物理区域中可用的备用行的数目且是预先设定的。

作为辅助确定结果,在虚拟区域vd中,当对于所有物理区域px而言存在大于0的rx(其为每个物理区域中可用的备用行的数目且是预先设定的)时,分析装置200按照排列顺序选择其中错误未被修复的下一虚拟区域vd。在这里,d可以是通过使用具有错误的列的数目与备用列的数目之间的差值将虚拟区域按照递降顺序排列并按照排列顺序选择其中错误未被修复的虚拟区域而获得的值。

此外,针对新选择的下一虚拟区域,分析装置200返回至针对下一虚拟区域(或虚拟区域vd)的所有物理区域px选择其中(px,vd)具有错误且相应物理区域中可用的备用行的数目为最大值的一个物理区域pa并检查其中aq(其为所选虚拟区域vq中的具有未修复错误的列的数目)在对应于所选物理区域pa的(pa,vq)被减小尽可能多的行的过程(或步骤s4820)。

此外,作为辅助确定结果,在虚拟区域vd中,当对于所有物理区域px而言不存在大于0的rx(其为每个物理区域中可用的备用行的数目且是预先设定的)时,分析装置200确定错误修复已成功地完成,在错误修复完成时根据备用存储单元的分配结果在由对应于虚拟区域的存储介质100中的物理区域和虚拟区域管理的错误地址存储空间中存储与虚拟区域相关的k位的位置信息、与虚拟区域相关的m+n-k位的位置信息以及错误地址,并结束整个过程。在这里,k位的位置信息的值和m+n-k位的位置信息的至被配置为向量,并且位的位置由对应于虚拟基本区域的键值(或k位的位置)的“0”(或k位)和对应于虚拟子区域的键值(或m+n-k位的位置)的“1”(或m+n-k位)配置(s4830)。

此外,作为辅助检查结果,当ay(其为所有虚拟区域vy中的具有未修复错误的列的数目)不等于或小于cy(其为所有虚拟区域vy中可用的备用列的数目)时(或者当存在比作为所有虚拟区域vy中可用的备用列的数目的cy更大的作为具有未修复错误的列的数目的ay中的至少一个时),分析装置200返回至选择所有排序虚拟区域vy之中的其中错误未被修复的下一虚拟区域(或新虚拟区域)vd的过程。

此外,在重复地执行所述过程直至ay(其为选定虚拟区域vd中的具有未修复错误的列的数目)等于或小于cy(其为所有虚拟区域vy中可用的备用列的数目)为止之后,分析装置200选择新虚拟区域vd。此外,分析装置200重复地执行主要检查ad(其为选定的新虚拟区域vd中的具有未修复错误的列的数目)是否等于或小于cd(其为相应新虚拟区域vd中可用的备用列的数目)的过程和向选定的新虚拟区域vd分配备用行的过程直至ay(其为选定的新虚拟区域vd中的具有未修复错误的列的数目)变得等于或小于cy(其为所有虚拟区域vy中可用的备用列的数目)为止。

如上所述,分析在200可以通过对未被修复且具有错误的选定虚拟区域vd中的列的备用行分配过程来对所有虚拟区域vy执行备用列分配过程(s4840)。

当没有留下(或可用)备用行且其中ay﹣cy具有最大值的虚拟区域vy的ay的值超过cy的值时,分析装置200确定错误修复失败并结束整个过程。在这里,ay﹣cy是ay(其为每个虚拟区域中的具有未修复错误的列的数目)与cy(其为每个虚拟区域中可用的备用列的数目)之间的差。

根据本发明的示例性实施例,如上所述,将有限的备用存储单元最优地分布(或分配)到系统中的物理区域和虚拟区域以便修复存储器的错误,从而增加存储器芯片的产率。

此外,根据本发明的示例性实施例,如上所述,子阵列充当单元区域中的物理区域,并且通过将子阵列重组而获得的虚拟区域最优地分布在单独的备用存储单元中,从而增加根据系统的目的利用额外备用存储单元的可能性。

此外,根据本发明的示例性实施例,如上所述,可以提供同时地不仅满足虚拟区域的设计目标值、而且满足物理区域的设计目标值的备用存储单元的分配,并且在分配时根据备用存储单元的分配结果在由相应存储介质中的物理区域和虚拟区域管理的错误地址存储空间中存储k位的位置信息、m+n-k位的位置信息以及错误地址,从而提供将最小数目的备用存储单元用于物理区域和虚拟区域的最优效率。

此外,根据本发明的示例性实施例,如上所述,在使用行或列由快速列优先算法和快速行优先算法选择的虚拟区域重复地执行修复之后,对下一虚拟区域执行修复,从而缩短整个修复时间。

在脱离本发明的精神和范围的情况下可以由本领域的技术人员进行以上描述的改变或修改。因此,本发明的示例性实施例仅仅是出于说明性目的而提供的,而不意图限制本发明的技术精神。本发明的技术概念的范围不限于此。应基于以下权利要求来理解本发明的保护范围,并且应将在权利要求的等价范围内的所有技术概念理解为落在本发明的范围内。

本发明将有限的备用存储单元最优地分布(或分配)到系统中的物理区域和虚拟区域以便修复存储器的错误,以增加存储器芯片的产率并在存储器领域的信息存储装置中广泛使用等。

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