用于将数据写入快闪存储设备的半导体存储器的装置和方法

文档序号:6611939阅读:183来源:国知局
专利名称:用于将数据写入快闪存储设备的半导体存储器的装置和方法
技术领域
本发明涉及一种包括快闪存储设备的半导体存储器的装置。特别是,本发 明涉及一种用于将数据写入该快闪存储设备的方法。
背景技术
信息处理设备以及近年来的家用电器(例如,电视机和电冰箱)包括CPU, 并且通过软件来实现高级操作控制。这些设备将用于该操作控制和参数的(固 件)程序存储在ROM中。包括快闪存储设备的半导体存储器装置被普遍用作 这些ROM。此外,这些半导体存储器装置被普遍用于诸如笔记本计算机、个 人数字助理(PDA)、数码相机、便携式音频播放机和蜂窝电话等便携式信息 处理设备(移动设备)中,作为外部的小型记录介质(比如存储卡)。尤其针 对这些用途,这些半导体存储器装置需要具备大容量、小尺寸。快闪存储设备的存储区通常被分成多页,每页具有固定数量的存储单元。 逐页地执行数据的写入和读取。该存储区被进一步分成多个块,每个块具有固 定数量的这些页。在这些块中的每个块中共同执行数据擦除。相应地,与RAM 对比,从严格意义上讲,无法在该快闪存储设备中执行数据的逐页重写。例如,如下所述,常规半导体存储器装置实现被存储在快闪存储设备的一 些页中的数据的更新(以下被称作"页的更新"),以及将新的数据写到空白 页上(以下被称作"页的增加")。图9展示了通过该常规半导体存储器装 置,来更新或增加快闪存储器1的一个块中的页。 该常规半导体存储器装置包括快闪存储器1和两个RAM:保存缓冲器20 和页缓冲器2。快闪存储器1被分成一个以上的块BO、 Bl......。将物理地址分配给这些块B0、 Bl......中的每个块。这些块中的每个块包括32页。例如,头块(或第一个块)B0包括页P0、 Pl......和P31,第(n+l)个块Bn (n》1)包括页Q0、 Ql......和Q31。这个块中的页由该块的物理地址和该块中的页号这一对数据来加以识别。例如,这些页号是从其顶页开始顺次安置在这个块的 各页上的序号0-31。保存缓冲器20和页缓冲器2每个都具备实质上与快闪存 储器1的一页的存储容量相等的存储容量。主机将逻辑地址发送到该半导体存储器装置,该逻辑地址指定写目标页和 将要被写入的数据对象。该半导体存储器装置将这些数据对象DN存储在页缓 冲器2中。另一方面,该半导体存储器装置从该逻辑地址中识别快闪存储器1 中的对应的页。例如,当该逻辑地址指定头块B0的第(p+l)页Pp (0《p《 31)时,该半导体存储器装置将该逻辑地址转换成头块B0的物理地址和第(p+l) 页Pp的页号p这一对数据。该物理地址被识别为作为数据传送源的块(以下 被称作"源块")的物理地址。然后,在快闪存储器l中,该半导体存储器装 置选择其中还没有写入数据的一个块(以下被称作"空白块")。例如,该半 导体存储器装置选择作为该空白块的第(n+l)个块Bn。第(n+l)个块Bn的 物理地址被识别为块的物理地址,源块B0中所存储的数据被传送到该块(以 下被称作"目的块")。如下所述,该常规半导体存储器装置将被存储在源块B0中的数据项传送 到目的块Bn。首先,将源块BO的顶页PO的数据项DO读入保存缓冲器20 (见 图9中所示的箭头R0)。接下来,将保存缓冲器20的数据项DO写到目的块 Bn的顶页QO上(见图9中所示的箭头W0)。然后,将源块B0的第二页Pl 的数据项D1读入保存缓冲器20 (见图9中所示的箭头R1)。随后,将保存缓 冲器20的数据项Dl写到目的块Bn的第二页Ql上(见图9中所示的箭头Wl )。 将经由保存缓冲器20的这种数据传送重复与该写目标页(源块BO的第(p+l) 页Pp)的页号p相同的次数(p次)。当源块BO的写目标页(第(p+l)页) Pp被设置为数据读取的源页时,该半导体存储器装置为该页跳过对保存缓冲器 20的数据传送。而将将要被写入的数据对象DN (被存储在页缓冲器2中)写 到目的块Bn的第(p+l)页Qp上(见图9中所示的箭头Wp)。再次从与源 块BO的写目标页Pp (第(p+2)页)邻接的页开始,重复经由保存缓冲器20 的数据传送。将源块BO的底页P31的数据项D31经由保存缓冲器20写到目的 块Bn的底页Q31上(见图9中所示的箭头R31和W31)。该半导体存储器装 置使对应于源块BO的物理地址的逻辑地址与目的块Bn的物理地址相一致。与 源块BO对比,在目的块Bn中重写具有页号p的第(p+l)页Pp上的数据项。 这样,该常规半导体存储器装置为快闪存储器1的一个块实现页的更新和增加。 要求半导体存储器装置尽可能地具备大容量和小尺寸。但是,要改进这些 快闪存储设备的组装密度并不容易。相应地,需要减小除这些快闪存储设备以 外的电路部分的尺寸。例如,当许多功能部件每个都包括公用电路部件时,这 些公用部件将被并入单一部分。由此,需要减少这些公用部件的数量。更需要 减小这些半导体存储器装置的尺寸,因为这可通过縮减芯片区来降低生产成 本。如上所述,该常规半导体存储器装置具有两个RAM—一保存缓冲器和页 缓冲器。这些RAM共享共同的性质_—被用作缓冲存储器,并具有实质上与 该快闪存储设备的一页的存储容量相同的存储容量。相应地,强烈需要将该保 存缓冲器和该页缓冲器集成为一个RAM。但是,如上所述,在该常规半导体 存储器装置所执行的页的更新的过程中,该页缓冲器必须保存将要被写入的数 据对象,直到该写目标页被设置为保存目标为止。所以,该页缓冲器要加倍作 为该保存缓冲器是很困难的。发明内容本发明的目的是提供一种半导体存储器装置,其中,通过将该保存缓冲 器和该页缓冲器集成为单一RAM,来减小RAM的尺寸,从而实现小型化。 根据本发明的半导体存储器装置包括(A) 快闪存储设备,它包括一个以上的块(其中的每个块包括不止一页) 和页偏移量存储区,这每个块的页偏移量被存储在该页偏移量存储区内,并且 数据是从该空白块的顶页开始顺次写入空白块,(B) 页缓冲器,其中暂时存储实质上与这些页中的一页的数据存储容量 相同的数据量; (C) 地址转换装置,用于从主机接收规定写目标页的逻辑地址,并用于 将该逻辑地址转换成该写目标页所属的块(以下被称作"源块")的物理地址 和该写目标页的逻辑页号这一对数据;以及,(D) 存储控制装置,用于(a)读取该源块的物理地址和该写目标页的逻 辑页号,(b)将这些空白块之一选作目的块,(c)根据该写目标页的逻辑页 号来确定该目的块的页偏移量,并且,将该页偏移量写入该页偏移量存储区, 作为该目的块的页偏移量,(d)从该页偏移量存储区读取该源块的页偏移量,(e)根据该源块的页偏移量和该写目标页的逻辑页号来获得该写目标页的物理 页号,(f)从目的块的顶页开始顺次将将要被写入的数据对象(从该主机被传 送到该页缓冲器)写入该目的块,(g)根据这些数据对象的页数和该写目标 页的物理页号来获得该源块的传送起始页的物理页号,以及(h)经由该页缓 冲器,将该源块中所存储的数据从该传送起始页顺序地、循环地传送到其中写 入该数据对象的目的块的页区大一页或后面的页。这些逻辑页号是由该主机分配给该快闪存储设备中的各页的序号。这些物 理页号是从该顶页开始顺次置于该快闪存储设备中的每个块的各页上的序号。 块的页偏移量意味着这个块中的逻辑页顺序对物理页顺序的循环偏离。这个块 的页偏移量较佳地等同于这个块的顶页的逻辑页号。根据本发明的以上所描述 的半导体存储器装置将各个块的页偏移量存储在该快闪存储设备中。这里,除 了这些页偏移量本身以外,实际存储的数据项可能是特定页的逻辑页号。这些 页偏移量存储区较佳的是这各个块的顶页的冗余区。该页的冗余区是可独立于 该页的数据区来加以存取的存储区。例如,对应于该页的逻辑地址、示出该页 是否是空白页的标记、示出启用/禁止使用被写到该页上的数据(换言之,允许 /禁止该主机对该页的存取)的标记,以及该数据的差错检测码(例如,CRC) 被存储在该页的冗余区中。除了该快闪存储设备中的页偏移量存储区以外,还 可能将关于这些页偏移量的存储空间分配给与以上所描述的快闪存储设备分 开的非易失存储器(以下被称作"页偏移量存储装置")。例如,该页偏移量 存储装置被包括在该存储器控制装置中。该页缓冲器是RAM,最好是SRAM。 将要被写入的数据对象的页数意味着用该快闪存储设备中的每一页的数据存 储容量这个单位表达的数据对象的数量。这些数据对象的页数等同于其中写入
这些数据对象的目的块的页区的页数。在根据本发明的以上所描述的半导体存储器装置中,该快闪存储设备中的 各页的逻辑页号可能从这各个块中的、采用循环方式的各页的物理页号平移形 成。根据该页的逻辑页号和该页所属的块的页偏移量来计算每页的物理页号。 当从该主机接收关于更新一些页或在块中增加新的页的指令时,根据本发明的 以上所描述的半导体存储器装置首先将将要被写入的数据对象(从该主机被传 送到该页缓冲器)从目的块的顶页开始顺次写入该目的块。由此,在关于该源 块的保存过程开始之前,该页缓冲器得到释放。相应地,根据本发明的以上所 描述的半导体存储器装置可以在保存该源块的时候,将该页缓冲器用作保存缓 冲器。结果,根据本发明的以上所描述的半导体存储器装置所拥有的RAM的尺寸小于常规装置的RAM的尺寸。所以,当这些快闪存储设备的尺寸固定时, 根据本发明的以上所描述的半导体存储器装置的整体尺寸小于该常规装置的 整体尺寸。根据本发明的以上所描述的半导体存储器装置还可以包括(a)主机接口,用于接收从该主机那里被发出的该写目标页和该数据对象的逻辑地址;以及(b)地址转换表格存储装置,用于存储表现关于该快闪存储设备中的每个块的逻辑地址与物理地址之间的对应性的逻辑/物理地址转换表格,以及用于示 出这些块中的每个块是否是该空白块的标记;并且,当该页数达到预定数量时,或者当该主机通知该数据对象的发送结束时,以上所描述的存储器控制装置可 以计算这些数据对象的页数,并可以开始从该源块到该目的块的数据传输。这 里,该地址转换表格存储器装置最好是RAM。该逻辑/物理地址转换表格表现 了被分配给该快闪存储设备中的每个块的逻辑地址与该块的物理地址之间的 对应性。由于该主机接口不受该存储器控制装置的支配,因此,独立于该快闪存储 设备中的数据写入/读取来执行该主机与该半导体存储器装置之间的数据通信。 由此,例如,縮短了用于将数据写入该快闪存储设备的该主机的等待延迟时间。例如,该地址转换装置扫描该快闪存储设备中的各页的冗余区。由此,列 出该快闪存储设备中的各个块的逻辑地址。这样,该地址转换装置创建了该逻 辑/物理地址转换表格,并且将该表格存入该地址转换表格存储装置。当将该写目标页的逻辑地址转换成该源块的物理地址和该写目标页的逻辑页号这一对 数据时,该地址转换装置参考该逻辑/物理地址转换表格。由此,该装置可以迅 速检索对应于该逻辑地址的物理地址。该地址转换装置根据被存储在这些扫描过的冗余区中的数据项,来进一步 检验每个块是否是空白块。由此,该装置确定关于这各个块的以上所描述的标 记,并且将这些标记存入该地址转换表格存储装置。当将这些空白块之一选作目的块时,该存储控制装置参考这些以上所描述的标记。由此,该装置可以迅 速确定该目的块。例如,当将要被写入的数据对象(该主机将它们存储在该页缓冲器中)从 该页缓冲器传送到该目的块时,该存储控制装置计算该传送次数。该主机可以 (例如)使用预定命令来通知该半导体存储器装置这些数据对象的发送结束。 在那种情况下,该存储器控制装置可以在接收该通知时,从以上所描述的传送 次数中检测到这些数据对象的页数。同时,该存储器控制装置开始从该源块到 该目的块的数据传送。作为选择,该主机可以在发送这些数据对象之前,将这 些数据对象的页数通知给该半导体存储器装置。在那种情况下,当以上所描述 的传送次数达到所通知的页数时,该存储控制部件开始从该源块到该目的块的 数据传送。一种将数据写入快闪存储设备的方法,该方法将数据写入包括一个以上的 块(其中的每个块包括不止一页)的快闪存储设备,并从空白块的顶页开始顺 次将数据写入该空白块;该方法包括以下步骤(A) 从主机接收规定写目标页的逻辑地址;(B) 将该逻辑地址转换成源块的物理地址和该写目标页的逻辑页号这一 对数据;(C) 将这些空白块之一选作目的块;(D) 根据该写目标页的逻辑页号来确定该目的块的页偏移量,并且,将 该页偏移量写入该快闪存储设备中的页偏移量存储区,作为该目的块的页偏移(E) 从该页偏移量存储区读取该源块的页偏移量;(F) 根据该源块的页偏移量和该写目标页的逻辑页号,来确定该写目标 页的物理页号;(G) 从目标块的顶页开始顺次将将要被写入的数据对象(从该主机被传 送到页缓冲器)写入该目的块;以及,(H) 根据这些数据对象的页数和该写目标页的物理页号来获得该源块的 传送起始页的物理页号,并且,经由该页缓冲器,将被存储在该源块中的数据 从该传送起始页顺序地、循环地传送到其中写入该数据对象的目的块的页下一 页或后面的页。这里,用类似于以上所描述的方式的一种方式来定义该逻辑页 号、该物理页号、该块的页偏移量、该页偏移量存储区(或该页偏移量存储装 置)、该页缓冲器和将要被写入的数据对象的页数。在根据本发明来写入数据的以上所描述的方法中,该快闪存储设备中的各 页的逻辑页号可以从这各个块中的、采用循环方式的各页的物理页号平移形 成。根据该页的逻辑页号和该页所属的这个块的页偏移量,来计算每页的物理 页号。当该主机提供关于更新一些页或在块中增加新的页的指令时,将要被写 入的数据对象(从该主机被传送到该页缓冲器)首先从目的块的顶页开始顺次 被写入该目的块。由此,在对于该源块的保存过程开始之前,该页缓冲器得到 释放。相应地,在保存该源块的时候,该页缓冲器可以加倍作为保存缓冲器。 结果,用于写入数据的上述方法中所要求的RAM尺寸小于该常规方法的RAM 尺寸。所以,当这些快闪存储设备的尺寸固定时,半导体存储器装置的整体尺 寸小于该常规装置的整体尺寸。根据本发明来写入数据的方法还可以包括这个步骤当该页数达到预定数 量时,或者当该主机通知该数据对象的发送结束时,计算该目的块(这些数据 对象被写入其中)的页区的页数,并且开始从该源块到该目的块的数据传输。 例如,每当该数据对象从该页缓冲器被传送到该目的块时,计算该传送次数。 该主机可以(例如)使用预定命令来通知该半导体存储器装置该数据对象的 发送结束。在那种情况下,在接收该通知时,从以上所描述的该传送次数中可 检测到以上所描述的页区的页数。此外,在该通知的时候,开始从该源块到该 目的块的数据传送。作为选择,该主机可以在发送这些数据对象之前,将这些 数据对象的页数通知给该半导体存储器装置。在那种情况下,当以上所描述的
该传送次数达到所通知的页数时,开始从该源块到该目的块的数据传送。在根据本发明的以上所描述的半导体存储器装置及其写入数据的方法中, 在关于该源块的保存过程开始之前,该页缓冲器得到释放。相应地,在该保存 过程中,该页缓冲器可以加倍作为保存缓冲器使用。结果,以上所描述的半导体存储器装置所拥有的RAM的尺寸小于常规装置的RAM的尺寸。所以,当 这些快闪存储设备的尺寸固定时,根据本发明的以上所描述的半导体存储器装 置的整体尺寸小于该常规装置的整体尺寸。由于该芯片区特别小,因此,与这 些常规装置的生产成本比较,根据本发明的以上所描述的半导体存储器装置的 生产成本降得更低。所附权利要求书中特别陈述了本发明的新颖的特点,但通过以下结合附图 的详细说明,将会在组织和内容方面更好地理解和认识本发明及其其他目标和 特点。附图简述

图1是框图,表现了根据本发明的实施例的半导体存储器装置10;图2是示意图,表现了根据本发明的这个实施例的快闪存储器1中的单元 阵列的结构的轮廓;图3是关于根据本发明的这个实施例的半导体存储器装置10的说明,表 示了存储器控制器6为将要被写入的数据对象DN8-DN12从主机H被传送到页 缓冲器2而执行的、从页缓冲器2到快闪存储器1的传送过程;图4是关于根据本发明的这个实施例的半导体存储器装置10的说明,表 示了存储器控制器6在图3中所示的数据传送过程之后所执行的从源块B0到 目的块Bn的数据传送过程的前半部分;图5是关于根据本发明的这个实施例的半导体存储器装置10的说明,表 示了存储器控制器6在图3中所示的数据传送过程之后所执行的从源块B0到 目的块Bn的数据传送过程的后半部分;图6是由根据本发明的这个实施例的半导体存储器装置10来写入数据的 方法的流程图;块Bn的传送(步骤7)的流程图,它关于由根据本发明的这个实施例的半导体存储器装置IO来写入数据的方法;图8是从源块B0到目的块Bn的数据传送(步骤S8)的流程图,它关于 由根据本发明的这个实施例的半导体存储器装置IO来写入数据的方法;图9展示了由常规半导体存储器装置在快闪存储器1的一个块中更新或增 加页。将会认识到,部分或所有这些附图是用于说明的示意表示,并且不一定描 绘所示元件的实际的相对尺寸或位置。本发明的最佳执行模式下文参考这些附图描述了本发明的最佳实施例。图1是框图,表示了根据本发明的这个实施例的半导体存储器装置10。半 导体存储器装置10通过外部总线7与主机H连接。这里,例如,主机H是信 息处理设备(例如,个人计算机)或移动设备(例如,PDA和便携式电话)。 可以在外部或内部为主机H提供半导体存储器装置10。快闪存储器1较佳地是NAND类型的EEPROM(电可擦除可编程ROM)。 图2是示意图,表现了快闪存储器1中的单元阵列的结构的轮廓。该单元阵列 许多的块B0、 BK B2......的一个群集例如,每个块包括32页。例如,头块B0包括32页P0-P31。其他的块B1、 B2......相似。在快闪存储器l中,只能在逐块的基础上全体擦除数据项。每页包括(512+16)列X8个存储单元的二 维排列。这里,这8个存储单元用该NAND类型的形式来加以连接,组成一列。 另外,这些存储单元的512个列组成数据区DA,这些存储单元的剩余的16个 列组成冗余区RA。在快闪存储器1中,逐页地执行数据写入和读取。这里, 数据区DA和冗余区RA被独立加以存取。例如, 一个存储单元存储一个比特 的数据。然后,这些存储单元的一个列存储8个比特=1个字节。在该NAND 类型的EEPROM中,这些存储单元的一个列中所存储的数据项每次作为一个 字来加以发送或接收。如从以上所描述的结构中所计算的,该单元阵列的数据 区DA具有每一页512个字节的存储容量,或每一块有512个字节X32 = 16千 字节。冗余区RA存储该冗余区所属的页的数据区DA中所存储的数据项的各
种属性。例如,该冗余区包括与该冗余区所属的页相对应的逻辑地址、示出该 页是否空白的标记、示出是否启用或禁止使用被写在该页上的数据项(换言之, 允许或禁止由该主机进行存取)的标记,以及/或者这些数据项的差错检测码(例 如,CRC)。当一个块尺寸或更大尺寸的数据流被存入快闪存储器1时,这些数据流从该空白块的顶页开始顺次被分成各页,并被写入这各个页的数据区DA。特别 是,每个块中的逻辑页顺序可能按循环方式从该块中的物理页顺序平移形成, 如下所述在图2中,例如,头块BO的顶页(第一页)PO、第二页P1......第30页P29、第31页P30和最后一页(第32页)P31分别存储数据项D2、 D3......D31、 D0和D1。这里,表现头块BO的各页的参考符号P旁边的数值指出这各个页的物理页号。另外,表现页P0-P31中所存储的数据项的参考符号 D旁边的数值指出这各个页的逻辑页号。然后,头块BO的页P0-P31的每个逻 辑页号从该物理页号平移常数"2"而形成。这些逻辑页顺序与这些物理页顺序之间的循环偏离通常在各个块之中有 所变化。块的这种循环偏离被称作"该块的页偏移量"。块的页偏移量等同于 该块的顶页的逻辑页号。在快闪存储器l中,这些页偏移量由这各个块的页偏 移量存储区中所包括和所存储的0与31之间的整数来表示。这里,该页偏移 量存储区是(例如)每个块的第一页的冗余区RA。在图2中,头块BO的页偏 移量"2"被存储在顶页PO的冗余区RA中。此外,该页偏移量可能被存储在 除该顶页以外的各页之一的冗余区RA中。在那种情况下,所存储的数据项可 能是该页的逻辑页号,而不是该页偏移量本身。半导体存储器装置10可以从 该页的逻辑页号与物理页号之间的偏离中来计算该页偏移量。主机接口 3 (见图1)在外部总线7与内部总线8之间转运数据,并且在 半导体存储器装置10中的各个功能装置与主机H之间实现数据交换。当从主 机H接收关于快闪存储器1的数据读出命令时,主机接口 3为该读出命令解码, 并且将规定读取目标页的该逻辑地址发送到地址转换装置4。主机接口 3进一 步通过外部总线7将将要被读取的数据对象(由存储器控制器6从快闪存储器 1传送到页缓冲器2)发送到主机H。当从主机H接收关于快闪存储器1的数 据写命令时,主机接口 3为该写命令解码,并且将规定该写目标页的该逻辑地址发送到地址转换装置4。主机接口 3进一步通过内部总线8将将要被写入的数据对象(从主机H那里被接收)传送到页缓冲器2。页缓冲器2较佳地是SRAM,并且暂时存储在主机接口 3与存储器控制器 6之间被交换的数据项。例如,页缓冲器2的存储容量是512个字节,并且实 质上等同于快闪存储器1中的一页(的数据区DA)的存储容量。地址转换部件4从主机接口 3接收该逻辑地址。在该逻辑地址中,例如, 高位各比特表示快闪存储器1中的一个块的逻辑地址(逻辑块地址),低位各 比特表示该块中的一页的逻辑页号。地址转换装置4首先将该逻辑地址输入分 成该逻辑块地址和该逻辑页号。地址转换部件4接下来对地址转换表格存储部 件5进行存取。地址转换表格存储部件5较佳地是RAM,并且存储逻辑/物理 地址转换表格L。地址转换部件4根据该逻辑/物理地址转换表格L,将该逻辑 块地址转换成该对应的块的物理地址。该物理地址和该逻辑页号这一对数据被 发送到存储器控制器6。这里,逻辑/物理地址转换表格L使被分配给快闪存储 器1中的每个启用的块的逻辑块地址与该块的物理地址相对应的表。例如,地 址转换装置4在半导体存储器装置10启动时扫描快闪存储器1的各块的顶页 的冗余区RA,从而列出快闪存储器1中被启用的各个块的逻辑块地址。这样, 在地址转换表格存储装置5中创建并存储逻辑/物理地址转换表格L。例如,除了逻辑/物理地址转换表格L以外,地址转换表格存储装置5还 为快闪存储器1的每个块存储标记F,以示出是否会是空白块。地址转换装置 4根据该块的冗余区RA中所存储的数据检验快闪存储器1中的每个块以找出 空白块,并且确定以上所描述的标记F。地址转换装置4进一步将标记F存入 地址转换表格存储装置5。存储器控制器6根据该物理地址和该逻辑页号这一对数据(从地址转换装 置4那里被接收),来识别快闪存储器1中的一页。存储器控制器6为所识别 的这页执行数据读取/写入。例如,在从主机H接收读出命令时,存储器控制 器6首先从地址转换部件4接收从该读出命令的目的地址被加以转换的物理地 址,并且识别与快闪存储器1中的该物理地址相对应的块。存储器控制器6接 下来从该块的顶页的冗余区读取该块的页偏移量。存储器控制器6根据从地址 转换装置4那里接收的页偏移量和逻辑页号,来识别对应于该逻辑页号的物理页号。存储器控制器6从快闪存储器1读取具有该物理页号的页上所存储的数 据项,并且将该数据项传送到页缓冲器2。在从主机H接收写命令时,存储器控制器6将数据写入快闪存储器1,艮口,在快闪存储器1的一个块中更新或增加页,如下所述图3-5展示了由存储器控制器6写入数据的一种方法。图3表现了从页缓冲器2到快闪存储器1的传 送过程,存储器控制器6为从主机H被传送到页缓冲器2的、将要被写入的数 据对象DN8-DN12 (参考符号DN旁边的数值表示逻辑页号)执行该传送过程。 这里,让"8"成为该写命令的目的地址所指出的写目标页的逻辑页号。另外, 假设数据对象DN8-DN12的总数量实质上等同于快闪存储器1的五页的存储 容量。图4和图5分别表现了从源块B0到目的块Bn的数据传送过程的前半部 分和后半部分,存储器控制器6在图3中所示的数据传送过程之后执行该数据 传送过程。存储器控制器6首先从地址转换部件4接收物理地址。然后,存储器控制 器6将对应于该物理地址的块识别为快闪存储器1中的源块。例如,在图3-5 中,头块(第一个块)BO被识别为该源块。存储器控制器6接下来从源块B0 的顶页(第一页)PO的冗余区RA读取源块BO的页偏移量"2"。数据项DO、 Dl......和D31(参考符号D旁边的数值表现存储这些数据项的各页的逻辑页号)被存储在源块BO的数据区DA中。如图3所示,在源块BO中,页P0-P31的 逻辑页号(参考符号P旁边的数值表现这些物理页号)采用循环方式从这些物 理页号平移页偏移量"2"。这里,页PO、 Pl......和P31可以包括处于被擦除状态的页(或空白页)。存储器控制器6进一步从地址转换部件4接收该写目标页的逻辑页号 "8",并且确定逻辑页号"8"与源块BO的页偏移量"2"之间的差"8-2 =6"。这里,该差的范围一般是从-31 — 31,包括一31和31。当该差不是负数 时,存储器控制器6将该差识别为该写目标页的物理页号。当以上所描述的差 是负数时,存储器控制器6将每一块的总页号(=32)加入该差,并且将该总 和数识别为该写目标页的物理页号。这样,该写目标页的物理页号被确定为0 与31之间或与其相等的整数。在图3-5中,源块B0的第七页P6被识别为该 写目标页。 存储器控制器6对地址转换表格存储装置5进行存取,并且,根据被存储在那里的标记F,将快闪存储器1中的空白块之一选作目的块。例如,在图3-5 中,将第(n+l)个块Bn (n》1)选作该目的块。目的块Bn中的32页Q0、 Ql......和Q31中的任何页(参考符号Q旁边的数值表现物理页号)都是空白的。
主机接口 3接收从主机H被发送的、将要被写入的数据对象DN8-DN12, 并且逐页地将这些数据对象写入页缓冲器2。存储器控制器6将数据对象 ND8-DN12逐页地从页缓冲器2传送到目的块Bn (见图3中所示的箭头)。数 据对象DN8-DN12从目的块Bn的顶页Q0开始顺次被逐页地写入。由此,数 据对象DN8-DN12被存储在目的块Bn的顶页QO至第五页Q4的数据区DA中 (见图3)。存储器控制器6进一步将该写目标页的逻辑页号"8"确定为目的 块Bn的页偏移量,并且将该页偏移量写入目的块Bn的顶页QO的冗余区RA。
每当将数据对象DN8-DN12从页缓冲器2传送到目的块Bn时,存储器控 制器6计算该传送次数。主机H使用预定命令来通知半导体存储器装置10:将 要被写入的数据对象的发送结束。存储器控制器6通过主机接口 3来检测该命 令。在检测该命令时,存储器控制器6根据以上所描述的传送次数来确定数据 对象DN8-DN12的存储区Q0-Q4的页数为"5"。然后,存储器控制器6进一 步开始从源块BO到目的块Bn的数据传送。这里,主机H可以为半导体存储 器装置10提供存储数据对象DN8-DN12所要求的页数"5"的预先通知。在那 种情况下,当以上所描述的传送次数达到所通知的页数"5"时,存储器控制 器6开始从源块BO到目的块Bn的数据传送。
在从源块BO到目的块Bn的数据传送(以下被称作"块传送")开始之前, 页缓冲器2得到释放。存储器控制器6使用页缓冲器2来执行该块传送,如下 所述(见图4和图5):首先,从源块BO的写目标页(第七页)P6计数的第 五页(第12页)P11被识别为该块传送的起始页(以下被称作"传送起始页") (见图4)。接下来,传送起始页Pll至最后一页(第32页)P31上的数据项 D13......D31、 DO和Dl被传送到目的块Bn,如下所述(见图4):首先,传送起始页Pll上的数据项D13被读入页缓冲器2 (见图4中所示的箭头R1)。 另外,页缓冲器2中的数据项D13被写到目的块Bn的第六页Q5上(见图4
中所示的箭头W1)。接下来,源块B0的第13页P12上的数据项D14被读入 页缓冲器2 (见图4中所示的箭头R2)。另外,页缓冲器2中的数据项D14 被写到目的块Bn的第七页Q6上(见图4中所示的箭头W2)。经由页缓冲器 2的以上所描述的数据传送被重复32- (6+5) =21次。结果,源块B0的第12 页Pll至最后一页P31上的数据项D13、 D14......D31、 D0禾B Dl被传送至lj目的块Bn的第六页Q5至第26页Q25的数据区DA。存储器控制器6接下来将顶页P0至就在源块B0的写目标页P6前面的页 (第六页)P5的数据项D2、 D3......和D7传送到目的块Bn,如下所述(见图5):首先,源块B0的顶页P0上的数据项D2被读入页缓冲器2 (见图5中所 示的箭头R26)。另外,数据项D2从页缓冲器2被写到目的块Bn的第27页 Q26上。接下来,源块B0的第二页P1上的数据项D3同样经由页缓冲器2被 传送到目的块Bn的第28页Q27。经由页缓冲器2的以上所描述的数据传送被 重复六次。结果,顶页PO至就在源块BO的写目标页P6前面的页(第六页) P5上的数据项D2、 D3......和D7被传送到目的块Bn的第27页Q26至最后一页Q31的数据区DA。该传送起始页的物理页号等于该写目标页的物理页号和将要被写入的数 据对象的存储区的页数的总和。这里,当该总和是每一块的总页号(=32)或 更多时,该总和减去该总页号的值被识别为该传送起始页的物理页号。在那种 情况下,存储器控制器6用类似于图5中所示的数据传送的方式来将该传送起 始页至就在该写目标页前面的页上的数据项传送到目的块Bn。作为由存储器控制器6执行的以上所描述的数据传送的结果,与源块BO 对比,用目的块Bn中的新的数据项DN8-DN12来取代具有逻辑页号"8" "12" 的各页上的数据项D8-D12 (见图5)。另外,该逻辑页顺序按循环方式改变, 并且,该页偏移量从"2"变成"8"。在该块传送完成时,存储器控制器6禁止使用或全体擦除源块BO中的数 据项。那时,地址转换装置4更新逻辑/物理地址转换表格L,并且使与源块 BO的物理地址相对应的逻辑地址跟目的块Bn的物理地址相对应。地址转换装 置4进一步重置被存储在地址转换表格存储装置5中的标记F,以示出源块 BO是空白块。这样,在快闪存储器1的一个块中实现了页的更新和增加。
如上所述,从目的块Bn的顶页Q0开始并在最后一页Q31处结束,存储 器控制器6将该数据从页缓冲器2写入目的块Bn。这个写入顺序等同于常规装 置的写入顺序。相应地,与这些常规装置的配置相同的配置可以被用于将该数 据从该页缓冲器写入该目的块。由根据这个实施例的半导体存储器装置10来写入数据的方法如以下流程 所示的那样来加以执行图6是由半导体存储器装置10来写入数据的方法的 流程图。<步骤Sl>从主机H发出数据写命令。主机接口 3接收该数据写命令,并将其解码成 写目标页的逻辑地址。主机接口 3进一步将该逻辑地址发送到地址转换装置4。 <步骤S2〉地址转换装置4从主机接口 3接收该逻辑地址。然后,地址转换装置4参 考逻辑/物理地址转换表格L,并将该逻辑地址转换成源块BO的物理地址和该 写目标页的逻辑页号q (0《q《31)这一对数据。地址转换装置4进一步将这 一对数据发送到存储器控制器6。<步骤S3>根据标记F,存储器控制器6对地址转换表格存储装置5进行存取,并将 快闪存储器1中的空白块之一Bn选作目的块。这里,当源块BO是空白块时, 源块BO本身可以被选作目的块Bn。在那种情况下,跳过以下的步骤S8和S9。<步骤S4>存储器控制器6将从地址转换装置4那里所接收的逻辑页号q写入目的块 Bn的顶页QO的冗余区RA (见图3)。 <步骤S5>存储器控制器6从源块BO的顶页P0的冗余区RA读取源块BO的页偏移 量p (0《p《31)。 <步骤S6>存储器控制器6确定该写目标页的逻辑页号q与源块BO的页偏移量p之 间的差。当该差q-p是负数(q-p<0)时,该控制器将每一块的总页号(=32) 加入该差q-p。 0与31之间的或与其相等的如此获得的整数q-p或32+q-p被识 别为该写目标页的物理页号r: r=q-p或r=32+q-p。<步骤S7>主机接口 3从主机H接收将要被写入的数据对象DN (q)、DN (q+1)......(参考符号DN旁边的、括弧中的参考符号表现逻辑页号)。主机接口3将数据对 象DN(q)、 DN(q+l)......逐页地传送到页缓冲器2。主机接口3进一步向存储器控制器6通知该传送。关于来自主机接口 3的每个通知,存储器控制器6从 目的块Bn的顶页Q0开始顺次传送页缓冲器2中的数据对象DN (q)、 DN (q+1)......图7是这些传送的流程图。子步骤SS71:当从主机接口 3接收以上所描述的传送的第一个通知时,存 储器控制器6初初化第一个整数变量k为0。子步骤SS72:存储器控制器6将页缓冲器2中的数据项传送到目的块Bn 的第(k+l)页Q(k)的数据区DA (参考符号Q旁边的、括弧中的参考符号表 示该物理页号)(见图3)。子步骤SS73:存储器控制器6将第一个整数变量k递增1。这样,第一个 整数变量k指出从页缓冲器2到目的块Bn的数据对象DN (q)、 DN (q+l)......的传送次数。子步骤SS74:当结束发送数据对象DN(q)-DN(q+m-l)时,主机H发出 表示该发送结束的预定命令。主机接口3检测该命令。存储器控制器6访问该 主机接口 3,并检验是否检测到该命令。当还没有检测到该命令时,从子步骤 SS72开始重复该过程。当检测到该命令时,该过程进行到子步骤SS75。子步骤SS75:当检测该命令时,存储器控制器6将第一个整数变量k识别 为数据对象DN (q) — DN (q+m-l)的存储区Q0 — Q (m-l)的页数m (1《m《 32-q)。<步骤S8〉存储器控制器6开始从源块B0到目的块Bn的数据传送(块传送)。图8是该块传送的流程图。子步骤SS81:存储器控制器6初始化第二个整数变量i为0。子步骤SS82:存储器控制器6总计该写目标页的物理页号r(见步骤S6)、数据对象DN (q) - DN (q+m-l)的存储区QO - Q (m-l)的页数m,以及第二个整
数变量i。当总和r+m+i小于32 (r+m+i<32)时,该过程进行到子步骤SS83。 当该总和r+m+i是32或更大(r+m+i》32)时,该过程跳转到子步骤SS85。子步骤SS83:存储器控制器6经由页缓冲器2将被存储在源块B0的第 (r+m+i+l)页P (r+m+i)上的数据项D (q+m+i)传送到目的块Bn的第(m+i+l ) 页Q(m+i)(见图4)。这里,参考符号P和D旁边的、括弧中的参考符号分 别表现该物理页号和逻辑页号。子步骤SS84:存储器控制器6将第二个整数变量i递增1。然后,从子步 骤SS82开始重复该过程。由于子步骤SS82-SS84的循环,为第二个整数变量1=0、 1、 2......和31 -(r+m)的每个值重复子步骤SS83。结果,源块B0的第(r+m+l)页P (r+m) 至第32页(最后一页)P31的数据项D (q+m)、 D (q+m+l)......和D (p-l)被传送到目的块Bn的第(m+l)页Qm至第(32-r)页Q (31 - r)的数据区DA (见 图4)。子步骤SS85:存储器控制器6将第三个整数变量j的初始值设置成等于值 r+m+i减去32: j=r+m+i-32。这里,当r+m<32时,第三个整数变量j的初始值 等于0。当r+m》32时,第三个整数变量j的初始值是r+m-32=q+m-p,它等于 或大于0。子步骤SS86:存储器控制器6将第三个整数变量j与该写目标页的物理页 号r进行比较。当第三个整数变量j小于该写目标页的物理页号r (j<r)时,该 过程进行到子步骤SS87。当第三个整数变量j等于该目标页的物理页号r (j=r) 时,该过程跳转到步骤S9。子步骤SS87:存储器控制器6经由页缓冲器2将源块B0的第(j+l)页P (j)上的数据项D(p+j)传送到目的块Bn的第(33-r+j)页Q (32-r+j)(见图5)。子步骤SS88:存储器控制器6将第三个整数变量j递增1。然后,从子步 骤SS86开始重复该过程。由于子步骤SS86-SS88的循环,为整数变量j=0、 1、 2......r-l或j=q+m-p......p-l的每个值重复子步骤SS87。结果,源块BO的第一页PO至第r页P (r-l)的数据项D (p)......和D (q-l)被传送到目的块Bn的第(33-r)页Q (32-r)至第32页(最后一页)Q31的数据区DA (见图5)。作为选择,源块BO的
第(q+m-p+l)页P (q+m-p)至第r页P (r-l)的数据项D (q+m)、......D31、 D0......和D(q-l)还可被传送到目的块Bn的第(m+l)页Qm至第32页(最后一页) Q31的数据区DA。 <步骤S9>存储器控制器6全体擦除或禁止使用源块B0中的数据项。然后,地址转 换部件4更新逻辑/物理地址转换表格L,并且使与源块BO的物理地址相对应 的逻辑地址跟目的块Bn的物理地址相对应。地址转换部件4进一步重置被存 储在地址转换表格存储装置5中的标记F,以示出源块BO是空白块。如上所述,在更新和增加快闪存储器1的一个块中的页时,根据这个实施 例的半导体存储器装置10将页缓冲器2用作该原始块的数据项的保存空间, 从而与常规装置对比,除页缓冲器2以外不用包括保存缓冲器。结果,该半导 体存储器装置所拥有的RAM的尺寸小于这些常规装置的RAM的尺寸。所以, 可以维持这整个装置的小尺寸。本发明在目前的较佳实施例方面的以上所描述的揭示不会被解释为意在 起限制作用。毫无疑问,在阅读该揭示之后,精通本发明所属的技术领域的人 将会明白各种变更和修改。就此推论,这类变更和修改显然处于本发明的真实 的精神和范围以内。另外,将会理解,所附权利要求书意在包括这些变更和修 改。工业适用性根据本发明的半导体存储器装置通过页缓冲器和保存缓冲器的集成来实 现小型化。所以,本发明具有非常高的工业适用性。
权利要求
1.一种半导体存储器装置,其特征在于,包括快闪存储设备,它包括多个块,其中每个块包括不止一页,从顶页开始依次将数据写入块中;页缓冲器,用于存储从主机接收到的数据以及将要写入快闪存储设备的数据;地址转换装置,用于从主机接收规定写目标页的逻辑地址,并将该逻辑地址转换成所述写目标页所属的源块的物理地址和所述写目标页的逻辑页号,其中所述源块是所述多个块之一;以及,存储器控制装置,用于读取所述源块的物理地址和所述写目标页的逻辑页号;从所述多个块中选择目的块;从顶页开始依次将存储在页缓冲器中的数据写入目标块;将存储在源块中的数据写至目标块的页区域的下一页或之后的页。
2. 如权利要求1所述的半导体存储器装置,其特征在于,存储器控制装 置依次且循环地将存储在源块中写目标页的逻辑页的下一页或之后的页的数 据写入到写目标页中被写入的目标块的页区域的下一页或之后的页。
3. 如权利要求1所述的半导体存储器装置,其特征在于,存储器控制装 置在目标块的顶页中写入页偏移量,该页偏移量是从写目标页的逻辑页号和物 理页号计算得到的。
4. 一种信息系统,其特征在于,包括 用于发送信息的主机;用于接收和存储所述主机发送的信息的半导体存储器装置;所述半导体存储器装置包括快闪存储设备,它包括多个块,其中每个块包括不止一页,从顶页开 始依次将数据写入块中;页缓冲器,用于存储从主机接收到的数据以及将要写入快闪存储设备的数据;地址转换装置,用于从主机接收规定写目标页的逻辑地址,并将该逻 辑地址转换成所述写目标页所属的源块的物理地址和所述写目标页的逻辑页 号,其中所述源块是所述多个块之一;以及, 存储器控制装置,用于读取所述源块的物理地址和所述写目标页的逻辑页号; 从所述多个块中选择目的块;从顶页开始依次将存储在页缓冲器中的数据写入目标块; 将存储在源块中的数据写至目标块的页区域的下一页或之后的页。
5. 如权利要求4所述的信息系统,其特征在于,存储器控制装置依次且 循环地将存储在源块中写目标页的逻辑页的下一页或之后的页的数据写入到 写目标页中被写入的目标块的页区域的下一页或之后的页。
6. 如权利要求4所述的信息系统,其特征在于,存储器控制装置在目标 块的顶页中写入页偏移量,该页偏移量是从写目标页的逻辑页号和物理页号计 算得到的。
7. —种控制器,用于将页缓冲器中存储的数据写入快闪存储设备中,所 述快闪存储设备包括多个块,其中每个块包括不止一页,从顶页开始依次将数 据写入块中,其特征在于,所述控制器包括存储器控制装置,用于读取所述源块的物理地址和所述写目标页的逻辑页号; 从所述多个块中选择目的块;从顶页开始依次将存储在页缓冲器中的数据写入目标块; 将存储在源块中的数据写至目标块的页区域的下一页或之后的页。
8. 如权利要求7所述的控制器,其特征在于,存储器控制装置依次且循 环地将存储在源块中写目标页的逻辑页的下一页或之后的页的数据写入到写 目标页中被写入的目标块的页区域的下一页或之后的页。
9. 如权利要求7所述的控制器,其特征在于,存储器控制装置在目标块的顶页中写入页偏移量,该页偏移量是从写目标页的逻辑页号和物理页号计算 得到的。
全文摘要
从写目标页的逻辑地址中识别源块(B0)和该写目标页的逻辑页号(“8”)。将要被写入的数据对象(DN8、DN9……DN12)(主机将其存储在页缓冲器(2)中)从该顶页(Q0)开始顺次被写入目的块(Bn)的各页(Q0、Q1……Q4)的数据区(DA)。该写目标页的逻辑页号(“8”)被写入该顶页(Q0)的冗余区(RA)。根据该写目标页的逻辑页号(“8”)和该源块(B0)的页偏移量(“2”),来识别该写目标页的物理页号(“6=8-2”)。当被该主机通知这些数据对象(DN8……DN12)的发送结束时,从以循环方式位于该写目标页(P6)后面的这些数据对象(DN8……DN12)的页数(“5”)的那一页(P11)开始,该源块(B0)中的数据项(D13……D31、D0、D1……D7)经由该页缓冲器(2)被顺序地、循环地传送到该目的块(Bn)中的各页(Q5、Q6……Q31)。
文档编号G06F12/00GK101114255SQ20071014722
公开日2008年1月30日 申请日期2003年8月25日 优先权日2002年8月29日
发明者本多利行, 稻垣善久 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1