非易失性存储器故障的恢复的制作方法

文档序号:6777074阅读:287来源:国知局
专利名称:非易失性存储器故障的恢复的制作方法
非易失性存储器故障的恢复技术领域
—般来说,本发明涉及非易失性存储器。
背景技术
对于在正常系统关机/休眠或掉电的情况下要保存数据的应 用,非易失性半导体存储器、如闪速存储器是有吸引力的。因此,由 闪速存储器装置构成的存储器可用于将数据存储在盘高速緩存或固态 盘中。虽然典型的闪速存储器比磁存储装置具有明显更快的存取时间, 但不像磁存储装置,闪速存储器的单元在没有首先^"除的情况下通常 无法重写。
作为一个更具体的实例,在将一位数据存储在常规闪速存 储器单元之前,首先擦除该单元。在这种已擦除状态下,该单元表现 出特定逻辑状态,例如逻辑"l"状态。在对闪速存储器单元的随后写操 作中,如果要将逻辑1存储在该单元中,则该单元的状态保持不变。 然而,如果要将逻辑0存储在该单元中,则该单元^皮编程为将该单元 改变为0逻辑状态。因此,对闪速存储器单元的典型写入通常涉及两 个存储器操作第一操作擦除存储器单元;以及第二操作对存储器单 元的逻辑状态进行编程。这些多个操作又提供写闪速存储器的总时间。


图1是根据本发明实施例与非易失性半导体存储器一起使 用的动态寻址方案的图示。
图2是根据本发明实施例的存储器系统的框图。
图3A和图3B是根据本发明实施例的易失性和非易失性存储器空间的图示。
图4是示出根据本发明不同实施例与对非易失性半导体存储器的写操作结合使用的技术的流程图。
图5是示出根据本发明不同实施例与对非易失性半导体存 储器的写操作结合使用的技术的流程图。
图6是根据本发明实施例用于在掉电之后重构逻辑-物理转 换表的中间表的图示。
图7是示出根据本发明实施例用于在掉电之后重构逻辑-物理转换表的技术的流程图。
图8是示出一个实施例的稳态操作的流程图。
图9是示出根据本发明一个实施例用于更新检查点的技术 的流程图。
图IO是根据本发明一个实施例用于启动的流程图。
图11是图IO流程图的继续。
图12是根据本发明实施例的计算机系统的框图。
具体实施方式
根据一些实施例,为了减少存储器的写等待时间,将动态 寻址与非易失性半导体存储器结合使用。更具体来说,根据一些实施 例,从软件观点来看,使用逻辑地址对非易失性存储器寻址。从对于 存储器执行的物理读和写操作的观点来看,动态寻址将存储器的逻辑 地址转换成或映射到物理地址。动态寻址连续不断地改变逻辑地址与 物理地址之间的映射,以确保逻辑写操作使数据存储在非易失性存储 器的先前已擦除位置(即在不同的物理地址)。因此,对于动态寻址, 逻辑写操作产生单个操作。这将与使用对非易失性存储器两次存取(一次擦除/无效老的物理位置,而另 一次将数据写在新的预先擦除物理位 置)的常规寻址成形对比。
更具体来说,参照图1,根据一些实施例,动态寻址方案10将非易失性存储器的物理地址分组为空白池20、有效池30和已用 池40。空白池20表示未分配的物理地址,它们的关联存储器单元被 擦除,并准备^皮编程,因而准备被分配给逻辑地址。有效池30表示与 存储有效数据并被分配给逻辑地址的存储器单元关联的物理地址。已 用池40表示不再存储有效数据、不再与逻辑地址关联并且将一支擦除的 物理地址。当使用块擦除操作来擦除物理地址的相连块(例如页面)时, 将已用池40的物理地址重新分组为空白池20。要注意,块擦除比响 应于每个逻辑写操作而一次一个地#"除物理地址更有效率,并且另外, 非易失性存储器(例如"与非,,闪速存储器)可只允许块擦除。
作为一个更具体的实例,非易失性存储器的(与一组存储器 单元或存储器位置关联的)示范物理地址(P,A.)14可按照以下方式在空 白池20、有效池30和已用池40之间转变。最初,例如在包括非易失 性半导体存储器的系统启动时,或者在一皮擦除之后,物理地址14属于 空白池20。换言之,由于在空白池20中,物理地址14可用于分配给 特定逻辑地址。因此,在将数据写入特定逻辑地址时,将物理地址14 分配给该逻辑地址,使得数据被存储在物理地址14;然后物理地址14 成为有效池30的一部分。然而,在没有擦除与物理地址14关联的存 储器单元的情况下,不能进行对物理地址14的另一写入。因此,在对 同一个逻辑地址进行下一写入时,将另一个物理地址分配给该逻辑地 址,并且当物理地址14成为已用池40的一部分时,与物理地址14关 联的存储器内容变为无效或者"已用"。
与物理地址14关联的存储器单元不一定在变为"已用,,时 被立即擦除,而是在块擦除操作中擦除这些存储器单元。这时,物理 地址14再次成为空白池20的一部分,并且可分配给另一个逻辑地址。
参照图2,根据本发明的一些实施例,存储器系统50使用 上述动态寻址方案10,并且可与非易失性半导体大容量存储存储器54 (本文称作"非易失性存储器54")、如闪速存储器结合使用。非易失性 存储器54包含使用物理地址寻址的物理存储器单元55的阵列。根据本发明的一些实施例,存储器系统50的控制器52通过在逻辑地址空 间与物理地址空间之间进行转换来执行动态寻址。更具体来说,根据 本发明的一些实施例,控制器52耦合到易失性存储器60、例如动态 随机存取存储器(DRAM)。易失性存储器60存储逻辑-物理转换表62 (本文称作"L2P表"),控制器52将其用于把存储器54的逻辑地址映射 到物理地址的目的。这种映射连续不断地变化,因此控制器52连续不 断地更新L2P表62,以便跟踪各逻辑地址到不同物理地址的重新映射。
还如图2所示,根据一些实施例,易失性存储器60存储空 白池表66,它指示存储器54的哪一些物理地址包含在空白池20中(参 见图1)。因此,当控制器52要执行对逻辑地址的写操作时,控制器 52 —般从空白池表66中选择可用的物理地址,更新L2P表62以便将 逻辑地址重新映射到所选物理地址,并执行在所选物理地址对非易失 性存储器54的相应写操作。
易失性存储器60还可存储元数据68,元数据68包含与存 储在各物理地址的存储器内容的耗用状态有关的信息(以及其它可能 的信息)。根据本发明的一些实施例,对于非易失性存储器54的每个 可寻址位置,元数据68指示存储在该位置的数据内容是已用、有效还 是空白。除了空白池表66、 L2P表62和元数据68之外,易失性存储 器60还可将程序指令存储在计算机可存取介质70中,这些指令在一皮 执行时,使控制器52执行本文所公开的物理写入、地址转换和故障恢 复技术中的一个或多个。
因此,概括来说,控制器52使用易失性存储器60来存储 表明逻辑-物理地址映射并且表明非易失性存储器54的可寻址存储器 位置状态的信息。可能有利的是,将这种信息存储在易失性存储器60 中,因为与非易失性存储器(例如存储器54)相比,易失性存储器60的 存取时间比较快,假定大量的存取被用于保存这个信息。易失性信息 可在例如关机、休眠、挂起、低功率检测等关键事件时存储到非易失 性存储器,并在随后重新引导/重新开始时从中恢复。然而, 一般来说,这种技术的一个潜在挑战是,在存储器系统50出故障、例如掉电或崩溃的情况下,存储在易失性存储器60中的信息就丟失了 。虽然可进行 易失性存储器60的内容的定期备份,但是这些备份本身可能不足以恢 复丟失的信息。因此,在从故障恢复时,控制器52将不知道逻辑-物 理映射和易失性存储器54的各种可寻址存储器位置的耗用状态,因此 将无法重构存储在易失性存储器60中的信息。
根据一些实施例,对于逻辑写操作,控制器52执行对非 易失性存储器54的单次(而不是例如两次)写操作。为了允许在出故障 之后恢复存储在易失性存储器60中的信息(例如存储在L2P表62和空 白池表66中的信息),控制器52在各物理写操作中将顺序信息、如时 间标记或顺序号存储在非易失性存储器54中。更具体来说,根据本发 明的一些实施例,控制器52对于对非易失性存储器54的每个写操作, 生成一个全局顺序号。控制器52对于每个写操作递增该全局顺序号, 使得该顺序号对于写操作具有(例如)不断增加的值。如下所述,在出 故障之后控制器52使用该顺序号来重构(出故障之前进行的)先前写操 作的时间线,以便确定非易失性存储器54的哪些可寻址位置存储有效 数据(因此还确定哪些位置存储已用数据)。
图3A是易失性存储器60的更详细图示。易失性存储器60 包括目录77a,它包含逻辑-物理转换表62和元数据68。逻辑-物理转 换表提供逻辑地址、如逻辑地址0-2与相应物理地址之间的对应。
元数据表68提供物理地址、逻辑地址和它是已用、有效 还是空闲的耗用状态以及其它信息之间的对应。
易失性存储器60还包括当前有效检查点寄存器71,它指 示两个非易失性存储器存储的检查点(A或B)中的哪一个当前为有效。 当目录77a和元数据68在某个时间帧存在时,检查点将它们存储在非 易失性存储器54中。空白池表66包括称作活动空闲列表66a的活动 空闲存储器位置列表,这些活动空闲存储器位置可用于活动使用,因 为它们已经^史擦除。作为空白池表66的一部分,还提供了下一次要存取的空闲位置的相似列表,在图3A中标记为下一个空闲列表66b。顺 序号被存储在易失性存储器60的寄存器69中。以连续方式为各事务 处理提供顺序号。在一些实施例中,可执行存储装置70中存储的指令 集,以便实现本发明的各种实施例。
参照图3B,非易失性存储器54包括实际检查点数据集存 储位置75a和75b。如前面所述,易失性存储器60指示那些检查点A 或B中的哪一个在寄存器71中为有效。当给定检查点在某个时间点存 在于易失性存储器时,各检查点存储给定检查点的目录77a和活动空 闲列表66a。当前有效检查点指示符也存储在非易失性存储器的寄存 器71中,并且标志存储在79,指示系统关机是否是"干净的",还是代 之以出故障的结果。最后,提供了物理位置或扇区的阵列55。各页面 可包括其中包含顺序号的原子元数据。
两个检查点数据集存储位置75a和75b包含目录77a和活 动空闲列表66a的拷贝。存在两个这样的区域,使得在准备新检查点 时,写之前的擦除操作不擦除唯一有效检查点。保存最新的检查点, 而擦除较老的检查点。然后,关于两个检查点中的哪一个为有效的信 息被存储在易失性存储器60和非易失性存储器54的当前有效检查点 位置71。例如,在更新检查点时发生故障的情况下,使用两个检查点 是有利的。
顺序号是原子元数据的一部分,其可在运行时间期间每次 写入非易失性存储器时递增。因此,需要时,只通过读取阵列中的所 有元数据,并通过了解写入的顺序,就可重构目录77。才艮据本文所述 的技术,使用顺序号,但是此外还进行目录和活动空闲列表的检查点 拷贝。检查点拷贝用作恢复的起始点,并且活动空闲列表显示自最后 一次更新检查点以来可能已经被写的每一个页面。因此,仅需要检查 具有与页面和活动空闲列表关联的顺序号的元数据,以便完整地重构 目录。不需要读取整个存储器乃至整个空白池表66,因此恢复更快。 例如,不需要检查下一个空闲列表66b,因为根据定义,自最后一次检查点更新以来还未使用这些位置。
每当活动空闲列表缩'〗、到可用来使用的空闲位置的阈值 以下时,获取检查点。检查点之间的时间、多少存储器必须^皮读取以 进行恢复以及因而花多长时间进行恢复是活动空闲列表中有多少条目 和阈值设置成什么的函数。阈值不应太低,因为创建新的检查点要花时间。如果活动空闲列表66a为空,则装置的进一步操作可能需要等 待,直到新的^r查点完成。
参照图4,根据本发明的一些实施例,控制器52与逻辑写 操作结合来执行技术74。按照技术74,对于不同的写操作,控制器 52将不同的物理存储器位置分配给逻辑地址(框76)。因此,对于对特 定逻辑地址的第一写操作,控制器52对非易失性存储器54的第一物 理地址进行写入,而对于对这个逻辑地址的下一个写操作,控制器52 对非易失性存储器54的第二物理地址进行写入。按照技术74,控制 器52将共同指示分配给逻辑地址的最后一个物理存储器位置的顺序 号和逻辑地址存储在物理存储器位置(框78)。如上所述,在发生故障 之后,顺序号允许控制器52在易失性存储器60中重建信息。
参照图5,控制器52(参见图2)可响应于逻辑写才喿作而执行 技术150。逻辑写操作目标是逻辑地址,并指示数据要存储在该逻辑 地址。按照技术150,控制器52例如通过使用逻辑地址从L2P表62(参 见图2)中查找特定物理地址,来获得该逻辑地址的物理地址,如框152 所示。然后,控制器52确定该物理地址是否有效(菱形框154)。在正 常操作期间情况往往是这样,但是,在存储器系统50(参见图2)的初始 加电之后,特定物理地址可与空白池关联。
如果控制器52确定当前物理地址有效(菱形框154),则控 制器52在L2P表62中将当前物理地址标记为无效(框158)。因此,如 果当前物理地址目前存储有效数据,则按照本文所述的动态寻址方案, 使用另 一个物理地址(如下文进一步所述)来存储作为当前逻辑写操作 的对象的数据。接下来,控制器52更新易失性元数据68以指示在当前物理地址的内容数据82(参见图2和图4)(框162)。在框162之后或者在确定当前物理地址无效(菱形框154) 之后,控制器52从空白池20中检索下一个物理地址(以便替换当前物 理地址)(框174),并递增顺序计数器(框178)。对于结合图5所述的实 施例,假定使用全局顺序计数器。然而,如上所述,根据本发明的其 它实施例,对于每个逻辑地址,可使用单独的局部顺序计数器。然后,控制器52将内容和元数据(其包括顺序号和逻辑地 址)写入新的物理地址(框180)。随后,控制器52更新L2P表62以便 将新的物理地址映射到或分配给逻辑地址(框182)。为了重构L2P表62,在出故障之后,控制器52使用临时 表190,它的一个示范实施例如图6所示。表190包括N个二元组条目192(作为实例示出了条目192、1922..... 192N),其中每个都与特定逻辑地址关联。因此,为了查找特定条目192,控制器52可使用逻 辑地址指针197。根据本发明的一些实施例,各条目192包括指示逻 辑地址的物理地址的字段194以及指示到目前为止找到的最后一个(且 最大的)顺序号的字段196。因此,当控制器52(在出故障之后)扫描整 个非易失性存储器54时,控制器52更新条目192,使得在扫描结束 时,各条目192指示每个逻辑地址的最近使用的物理地址(即,具有最 高顺序号的物理地址)。作为表190用途的一个更具体实例,根据本发明的一些实 施例,控制器52—般执行图7中所示的技术200。按照技术200,控 制器52初始化表190 (202)。例如,这种初始化可包括将值(例如"-l") 存储在不对应于物理地址或最后一个顺序号的(表190)各条目192中, 以便指示条目192的初始化状态。接下来,控制器52从非易失性存储 器54的下一个物理地址读取元数据(框204)。如果元数据指示存储器 内容无效(菱形框206),则控制器52确定是否存在另一个物理地址要 处理(菱形框208),如果存在,则返回到框204。根据本发明的一些实 施例,可在同 一遍数中进行空白池和已用池重构。
如果控制器52确定内容数据有效(菱形框206),则控制器 52从表190中检索与那个物理地址关联的特定逻辑地址的最后一个顺 序号条目(框210)。因此,这个逻辑地址的指示^皮存储在非易失性存储 器54的存储器位置。如果控制器52确定该顺序号有效(即控制器52 确定该顺序号不是初始化的值X菱形框214),则控制器52确定当前顺 序号是否为到目前为止的逻辑地址的最大顺序号(菱形框216)。如果不 是,则控制返回到菱形框208。否则,用于逻辑地址的最后一个物理 地址(如扫描中到目前为止所示的)已经^皮定位,并且控制器52写入在 前一物理地址的元数据以指示相应内容数据为"已用,,(框220)。随后, 控制器52更新用于相应逻辑地址的表190的字段194和196(参见图 6)(框222)。然后,控制进入菱形框208,在此控制器52确定是否要处 理另一个物理地址。如果否,则控制器52已完成扫描,并且表190已 -皮构建。要注意,没有条目196(参见图6),表190构成重构的L2P表 62。因此,根据本发明的一些实施例,控制器52可在扫描结束时提取 数据194,以便重构L2P表62。
图8示出本发明一个实施例的稳态操作。在那里,过程340 开始于从易失性活动空闲列表66a耗用空闲页面,如框342所示。创 建新页面,并将那些新增页面添加到下一个易失性空闲列表66b,如 框344所示。
最后,在框346,调用检查点更新过程300(图9)。
参照图9,;险查点更新过程300开始于确定易失性活动空 闲列表是否小于阈值。如果是,则希望增加活动空闲列表中的位置数 量,使得不存在以下可能性在系统等待新的检查点时,在没有构建 另一个检查点更新的情况下,足够的位置将不可用。
为了更新活动空闲列表,从易失性存储器寄存器71(图3A) 获得当前有效检查点,如框304所示。换言之,确定检查点A或B中 的哪一个是当前有效检查点。然后,将来自当前有效检查点的易失性 目录77a (图3A)拷贝到新的非易失性检查点的目录,如框306所示。然后,将易失性活动空闲列表拷贝到新的非易失性4企查表的活动空闲 列表,如框308所示。
此后,将下一个易失性空闲列表添加到新的非易失性;险查 点的活动空闲列表,如框310所示。此后,将易失性和非易失性存储 器中的当前有效检查点改变为新的检查点,如框311所示。最后,将 下一个空闲列表中的条目移动到活动空闲列表,如框312所示。
现在来看图10,启动过程318开始于(/人图3B的寄存器79) 读取非易失性干净关机标志,如框322所示。另外,在框324,(从图 3B的寄存器71)读取非易失性当前有效检查点标志。在框326,将非 易失性干净关机标志设置为"假",只是以防在运行启动过程318的过 程中存在故障。然后,在菱形框328的检查确定启动前的最后一次关 机是否为干净关机。干净关机是这样一种关机没有故障,并且有时 间将设置从易失性存储器转移到非易失性存储器。如果在菱形框328 检测到干净关机,则从所存储的非易失性目录恢复易失性目录,并且 从当前有效检查点恢复活动空闲列表,如框330所示。
然而,如果没有发生干净关机,则将非易失性目录和活动 空闲列表从当前有效检查点读到易失性存储器,如框332所示。然后, 该任务开始更新最后一个可用目录和元数据。在框334,对于活动空 闲列表中的每个条目,从非易失性存储器读取元数据和顺序号。仅必 须考虑活动空闲列表条目。下一个空闲列表中的那些条目根据定义未 被使用,因此在恢复目录的过程中不需要使用。这可节省相当多的时 间。最后,如框336所示,通过继续进行如过程300 (图9)所示的,来 更新目录和活动空闲列表。
现在来看图11,在过程350,流程继续,将下一个空闲列 表设置为空,初始化下一个空闲列表,如框352所示。在框354,通 过审查所有页面以查看什么被擦除了,来创建下一个空闲列表。在框 356,使用图10的过程318来更新检查点,并将下一个空闲列表移动 到活动空闲列表。然后,重新开始稳态过程340。
存储器系统50(参见图2)可用于各种不同的应用,因此, 本发明的许多不同实施例是可能的,并且在所附权利要求书的范围内。 例如,根据本发明的一些实施例,存储器系统50可以是固态盘,而在 本发明的其它实施例中,存储器系统50可以是盘高速緩存或者用于多 个盘或RAID巻的高速緩存。图12示出包括存储器系统50的计算机 体系结构250的示范实施例。作为实例,计算机体系结构250可用于 台式或膝上型计算机。计算机系统250包括耦合到系统总线256的处理器252(例 如一个或多个微处理器)。计算机系统250还可包括北桥或存储器集线 器260,它耦合到系统总线256,以便建立处理器252与系统存储器、 如动态随机存取存储器(DRAM) 60之间的通信。根据本发明的一些实 施例,DRAM 60是易失性存储器60的一个实施例,但是,在本发明 的其它实施例中也可使用其它易失性存储器。DRAM 60可经由存储器 总线262耦合到存储器集线器260。在本发明的一些实施例中,存储 器集线器260可包括控制器52,但是,在本发明的其它实施例中,控 制器52也可与存储器集线器260分开。如图12所示,根据本发明的一些实施例,非易失性存储 器可以是"与非"闪速存储器,但是,根据本发明的其它实施例,其它 类型的非易失性存储器也可用于代替它。例如,在本发明的其它实施 例中,铁电聚合物存储器可用于代替"与非"闪速存储器。在本发明的一些实施例中,存储器集线器260可将其它总 线与系统总线256接口 ,例如外设部件互连(PCI)总线272和加速图形 端口 (AGP)总线270。 PCI规范可从PCI特别兴趣小组(波特兰,俄勒冈 州97214)得到。AGP在由英特尔公司(圣克拉拉,加利福尼亚)在1996 年7月31日公布的"加速图形端口接口规范,版本1.0"中详细描述 了 。 PCI总线272例如可将网络接口卡(NIC) 273耦合到PCI总线272; 并且AGP总线270例如可将驱动显示器277的显示器驱动器275耦合 到系统总线256。
如图14所示,根据本发明的一些实施例,存储器集线器 260可耦合到南桥或输^/输出(I/O)集线器280。作为实例,1/0集线器 280可为CD-ROM驱动器294和硬盘驱动器292提供接口 。此外,I/O 集线器280可为I/O扩充总线282提供接口 。 I/O控制器284可耦合到 I/O扩充总线282,并且可从鼠标286和键盘290接收输入数据。要注意,图12所示的体系结构只是为了举例,因为其它 变化也是可能的,并且在所附权利要求书的范围内。在本发明的一些 实施例中,本文所述的过程,包括过程74、过程150、过程200、过 程300、过程318、过程340和过程350,可通过硬件、软件或固件来 实现。在用软件实现的一些实施例中,过程可构成可存储在计算机可 读或计算机可存取存储器中的指令。该存储器可以是磁存储器或半导 体存储器。适当存储器的实例非常多样,并且作为实例包括闪速存储 器、盘驱动器、硬盘驱动器、光存储器、只读存储器和随机存取存储 器。例如,参照图12,这类存储器可包括系统存储器60、闪速存储器 54、磁存储器292和光存储器294。此说明书通篇提到"一个实施例"或"实施例"是指结合该实 施例所述的具体特征、结构或特性包含在本发明所包括的至少 一个实 现中。因此,短语"一个实施例"或"在一个实施例中"的出现不一定都 指同一实施例。此外,具体特征、结构或特性可通过与所述具体实施 例不同的其它适当形式建立,并且所有这类形式均可包含在本申请的 权利要求书中。虽然相对于有限数量的实施例对本发明进行了描述,但本 领域技术人员从中会知道大量修改和变化。所附权利要求书意在涵盖 落入本发明真实精神和范围内的所有这类修改和变化。
权利要求
1.一种方法,包括使闪速存储器适合于保存可用来使用的已擦除存储器位置和不可用来使用的已擦除存储器位置的各自列表。
2. 如权利要求1所述的方法,包括执行多个写操作以将数据存储在不同的物理存储器位置,每一个 所述物理存储器位置与在所述物理存储器位置之间共同共享的逻辑地 址关3f关;以及将顺序信息存储在所述物理存储器位置,以便指示哪一个所述写 操作最后发生。
3. 如权利要求2所述的方法,还包括将所述逻辑地址存储在所述物理存储器位置,以便指示哪一个所 述写操作最后发生。
4. 如权利要求2所述的方法,其中所述物理存储器位置是非易失 性存储器的一部分,所述方法还包括响应于每一个所述写操:作,更新表明所述逻辑地址与所述物理存 储器位置之一之间映射的逻辑-物理地址转换表。
5. 如权利要求2所述的方法,还包括响应于故障,使用所述顺序信息来重构表明所述逻辑地址与所述 物理存储器位置之一之间映射的逻辑-物理转换表。
6. 如权利要求5所述的方法,还包括响应于故障,使用所述顺序信息来确定哪一些所述物理存储器位 置没有存储所述逻辑地址的有效数据。
7. 如权利要求1所述的方法,包括定期产生指示存储器位置耗 用状态的检查点。
8. 如权利要求7所述的方法,包括在可用来使用的已擦除存储 器位置的数量降到阈值以下时,更新所述^r查点。
9. 如权利要求7所述的方法,包括响应于故障,使用所述^r查 点和所述可用来使用的已擦除存储器位置列表来重构存储器位置耗用 状态。
10. 如权利要求9所述的方法,包括在更新所述检查点的过程 中,将位置从所述不可用来使用的已擦除存储器位置列表转移到所述 可用来使用的存储器位置列表。
11. 如权利要求IO所述的方法,包括保存复制检查点。
12. —种设备,包括 控制器;易失性存储器,耦合到所述控制器;非易失性存储器阵列,耦合到所述控制器;以及第一非易失性存储器位置,存储存储器位置耗用状态的检查点和可用来使用的已擦除存储器位置列表,所述列表不包括自存储所述检查点以来被擦除的已擦除存储器位置。
13. 如权利要求12所述的设备,所述控制器响应于故障而使用顺 序信息在所述非易失性存储器阵列中重构表明逻辑地址与物理存储器 位置之间映射的逻辑-物理转换表。
14. 如权利要求13所述的设备,所述控制器响应于故障而使用所 述顺序信息来确定哪一些所述物理存储器位置没有存储所述逻辑地址 的有效数据。
15. 如权利要求12所述的设备,所述控制器定期产生指示所述非 易失性存储器阵列中存储器位置耗用状态的检查点。
16. 如权利要求15所述的设备,所述控制器在可用来使用的已擦 除存储器位置的数量降到阈值以下时更新所述;f全查点。
17. 如权利要求15所述的设备,所述控制器响应于故障而使用所 述检查点和所述可用来使用的已擦除存储器位置列表来重构存储器位 置耗用状态。
18. 如权利要求17所述的设备,所述控制器在更新所述检查点的过程中,将位置^/^不可用来使用的已擦除存储器位置列表转移到所述 可用来使用的已擦除存储器位置列表。
19. 如权利要求18所述的设备,所述控制器将复制检查点保存在 所述非易失性存储器阵列。
20. 如权利要求19所述的设备,包括存储装置,存储指示所述 复制检查点中的有效检查点的指示符。
21. —种计算机可读介质,存储如下指令所述指令在纟皮执行时 使基于处理器的系统能够给写操作分配顺序号;以及保存可用来使用的已擦除存储器位置和不可用来使用的已擦除存 储器位置的各自列表。
22. 如权利要求21所述的介质,还存储如下指令所述指令在一皮 执行时使所述基于处理器的系统能够响应于故障而使用顺序信息来重 构表明逻辑地址与物理存储器位置之间映射的逻辑-物理转换表。
23. 如权利要求21所述的介质,还存储如下指令所述指令在一皮 执行时使所述基于处理器的系统能够响应于故障而使用所述可用来使 用的已擦除存储器位置列表并不使用所述不可用来使用的已擦除存储 器位置列表来重构所述逻辑-物理转换表。
24. —种方法,包括在非易失性存储器中提供指示符,以指示在关机前是否将耗用信 息从易失性存储器转移到非易失性存储器。
25. 如权利要求24所述的方法,包括咨询所述指示符以便确定 在出故障后如何重构存储器。
26. 如权利要求25所述的方法,包括将所述指示符存储在所述 非易失性存储器的易失性和非易失性存储装置中。
27. —种设备,包括非易失性存储器,包含易失性和非易失性存储装置;以及 存储位置,指示在关机前是否将耗用信息从易失性存储装置拷贝到非易失性存储装置。
28. 如权利要求27所述的设备,其中所述存储位置在易失性存储 装置中。
29. 如权利要求27所述的设备,其中所述存储位置在非易失性存 储装置中。
30. —种系统,包括 处理器;静态随机存取存储器,耦合到所述处理器;非易失性存储器,耦合到所述处理器,所述非易失性存储器包括 控制器,以保存存储器位置耗用状态的检查点和少于全部已擦除存储 器位置的列表。
31. 如权利要求30所述的系统,其中所述非易失性存储器包括易 失性存储装置和非易失性存储装置。
32. 如权利要求31所述的系统,包括将不可用来使用的已擦除 存储器位置列表存储在所述易失性存储装置中。
全文摘要
写操作将数据存储在不同的物理存储器位置。每一个物理存储器位置与在物理地址之间共同共享的逻辑地址关联。存储在物理存储器位置的顺序信息指示哪一个写操作最后发生。可用的已擦除存储器位置可分为可用来使用的已擦除存储器位置列表和不可用来使用的已擦除存储器位置列表。然后,在出故障时,仅需要分析可用来使用的已擦除存储器位置列表,以便重构存储器位置的耗用状态。
文档编号G11C16/06GK101300554SQ200680040981
公开日2008年11月5日 申请日期2006年11月2日 优先权日2005年11月3日
发明者R·库尔森, R·费伯, S·特里卡 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1