存储器控制器及其控制方法、非易失性存储装置及系统转让专利

申请号 : CN200680017750.3

文献号 : CN100590608C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 国宗大介中西雅浩井上学泉智绍笠原哲志田村和明松野公则

申请人 : 松下电器产业株式会社

摘要 :

本发明提供一种存储器控制器,其能够避免在正常动作时由于地址管理表的写回处理所引起的存取速度下降,并且能够缩短在存储器卡初始化时地址管理表的生成时间。存储器控制器(114)具有,暂时存储地址管理表(112)的读写存储器(113);存储器控制部(122),在数据的写入目标的物理块从某地址范围切换到其它地址范围时,其向非易失性存储器(115)写入读写存储器中暂时存储的地址管理表和用于将切换后的地址范围特定下来的地址范围确定信息;以及地址管理表生成部(107),在初始化时基于地址范围确定信息,读取在特定的地址范围内中包含的、用于管理物理块的状态的分布管理信息,并基于读取的分布管理信息生成地址管理表(112)。

权利要求 :

1、一种存储器控制器,其用于对具有多个由1个以上的物理块所构成 的地址范围的非易失性存储器进行数据写入或读取,其特征在于,所述存储器控制器具有:

读写存储器,其用于暂时存储对所述物理块的状态进行管理的地址管 理表;

存储器控制部,其在写入数据时,向所述物理块写入数据和用于生成 所述地址管理表的分布管理信息,从而对所述读写存储器的所述地址管理 表进行更新,在数据的写入目标从某地址范围切换到其它地址范围时,向 所述非易失性存储器写入所述读写存储器中暂时存储的所述地址管理表; 以及,地址管理表生成部,在初始化时,其从初始化前已存取的所述地址范 围内读取所述分布管理信息,基于所读取的所述分布管理信息,在所述读 写存储器上生成所述地址管理表。

2、如权利要求1所述的存储器控制器,其特征在于,

所述地址范围是对所述非易失性存储器的存储区域进行划分得到的每 个具有规定大小的区域,包含与由存取装置指定的多个逻辑单位相对应的 多个物理块;

所述地址管理表是统一管理所述地址范围内中包含的多个逻辑单位的 表。

3、如权利要求1所述的存储器控制器,其特征在于,

所述地址范围是针对由存取装置指定的每个逻辑单位设置的区域,所 述地址管理表是统一管理多个所述地址范围的表。

4、如权利要求1所述的存储器控制器,其特征在于,

当数据的写入目标的物理块从某地址范围切换到其它地址范围时,所 述存储器控制部向所述非易失性存储器写入地址范围确定信息,所述地址 范围确定信息表示由存取装置所指定的切换目标的地址范围。

5、如权利要求4所述的存储器控制器,其特征在于,

所述存储器控制部将所述地址范围确定信息,以编入到所述地址管理 表的形式,写入到所述非易失性存储器。

6、如权利要求4所述的存储器控制器,其特征在于,

在初始化时,所述存储器控制部从所述非易失性存储器读取所述地址 范围确定信息,将由所述读取到的地址范围确定信息所示的地址范围决定 为在初始化前已存取的所述地址范围。

7、一种存储器控制器,其用于对具有多个由1个以上的物理块所构成 的地址范围的非易失性存储器进行数据写入或读取,其特征在于,所述存储器控制器具有:

读写存储器,其暂时存储包含第一表和第二表的地址管理表,所述第 一表用于管理1个所述地址范围内的物理块的写入状态,所述第二表用于 管理多个所述地址范围内的物理块的状态;

存储器控制部,其在写入数据时,向所述非易失性存储器写入数据和 用于生成所述地址管理表的分布管理信息,从而对所述读写存储器的所述 地址管理表进行更新,在数据的写入目标从某地址范围切换到其它地址范 围时,向所述非易失性存储器写入所述读写存储器中暂时存储的所述地址 管理表,在初始化时,从所述非易失性存储器读取所述第二表,保存到所 述读写存储器中;以及,地址管理表生成部,在初始化时,其从初始化前已存取的所述地址范 围内读取所述分布管理信息,基于所读取的所述分布管理信息生成所述第 一表,保存到所述读写存储器中。

8、一种非易失性存储装置,其特征在于,包括:

非易失性存储器,其具有多个由1个以上的物理块所构成的地址范 围;以及,如权利要求1所述的存储器控制器,其控制对所述非易失性存储器的 数据写入或读取。

9、一种非易失性存储系统,其特征在于,包括:

如权利要求8所述的非易失性存储装置;以及,

存取装置,其指定所述地址范围,并控制对所述非易失性存储器的数 据的写入或者读取。

10、一种存储器控制方法,其对非易失性存储装置进行控制,所述非易失性存储装置具有:

具有多个由1个以上的物理块所构成的地址范围的非易失性存储器, 以及,用于暂时存储对所述物理块的状态进行管理的地址管理表的读写存储 器,所述存储器控制方法,其特征在于,具有下述步骤:

第一步骤:在写入数据时,向所述物理块写入数据和用于生成所述地 址管理表的分布管理信息,从而对所述读写存储器的所述地址管理表进行 更新,在数据的写入目标从某地址范围切换到其它地址范围时,向所述非 易失性存储器写入所述读写存储器中暂时存储的所述地址管理表;以及,第二步骤:

在初始化时,从初始化前已存取的所述地址范围内读取所述分布管理 信息,基于所读取的所述分布管理信息,在所述读写存储器上生成所述地 址管理表。

说明书 :

技术领域

本发明涉及具备以快闪存储器作为主存储器的半导体存储卡等的非易 失性存储装置,以及内置于该非易失性存储装置内的存储器控制器、具有 非易失性存储装置和存取装置的非易失性存储系统及存储器控制方法。

背景技术

具备可重写的非易失性存储器的非易失性存储装置,主要是应用于半 导体存储卡的需求逐步增加。并且,使用半导体存储卡的非易失性存储系 统,主要是应用于数字照相机或个人计算机等的需求逐步增加。
实际使用的半导体存储器卡,通常在内部内置有作为非易失性存储器 的快闪存储器以及作为控制该快闪存储器的控制电路,即控制器LSI。近些 年,伴随着半导体存储器卡的大容量化需求,非易失性存储器芯片本身也 通过多值化而发展为大容量。且,由于安装技术的进步,半导体存储器卡 上安装的非易失性存储器的芯片个数也在增加。例如存储器空间超过1G字 节的半导体存储器卡已投入使用。
半导体存储器卡中,现有技术利用分散型管理方法作为地址管理方 法。所谓“分散型管理方法”是:在写入单位的页的管理区域中存储逻辑 地址或者该页的状态标志,在初始化时,基于逻辑地址或页的状态标志而 生成地址管理表,保存到控制器LSI内的RAM中。以下,将前述逻辑地址 或该页的状态标志统称为“分布管理信息”。
然而,具有大容量存储器空间的半导体存储器卡,在初始化时,读取 全部存储器空间的分布管理信息,需要很多的时间。因此,超过半导体存 储器卡标准中的初始化时间上限值等的违反标准的现象就会发生。特别 是,在没有标准的半导体存储器卡中,虽然没有违反标准,但是,,在变为 可存取状态为止的等待时间这一点上,则将缺点强加给用户。还有,暂时 存储地址管理表等的RAM的容量剧增,在成本方面也有问题。
作为避免这样的问题的方法,提出了“集中型管理方法”,这在专利文 献1中得以揭示。专利文献1的非易失性存储装置中,半导体存储器卡中 安装的非易失性存储器的地址空间划分为多个地址范围,将与各地址范围 对应的多个地址管理表存储到非易失性存储器中,根据来自主机的规定的 逻辑地址的写入或擦除命令,将对应的地址管理表读入RAM。
并且,专利文献2中揭示了,分散型管理方法以及将地址管理表本身 统一存储在非易失性存储器中的集中型管理方法,这两者合并使用的方 法。专利文献2中揭示的方法及装置,并不是在来自主机等的存取装置的 每个写入指令中,将地址管理表写回到非易失性存储器,而是在电源切断 等的没有存取的规定时刻,将地址管理表写回到非易失性存储器,在初始 化时判断地址管理表的有效性,如果有效就使用地址管理表,如果不是有 效,就基于分散型管理信息生成地址管理表。
专利文献1:(日本)特开2001-142774号公报
专利文献2:(日本)特开平11-73379号公报

发明内容

专利文献1中,因为可以在初始化时,从非易失性存储器中只读取地 址管理表,所以可在短时间内完成初始化处理。但是,为了对应电源切断 等的故障,通常,来自主机的规定的对逻辑地址进行写入或擦除的每个命 令中,都要更新RAM上的地址管理表,还必须在用户数据的写入或擦除之 后将更新的地址管理表写回到非易失性存储器中。此方法,与前述分散型 管理方法相比,具有地址管理表的写回处理的时间造成存取速度下降这样 的问题。
专利文献2中,因为在不进行存取的规定时刻,向非易失性存储器写 回地址管理表,所以数据写入时的存取速度不会降低。但是,由于电源切 断等,如果地址管理表没有被正确地写回到非易失性存储器,就必须在初 始化时,基于非易失性存储器中的全部区域的分布管理信息,生成地址管 理表。这样,无法解决发生电源切断等的故障时,初始化时间变长的问 题。
本发明鉴于现有技术中的问题,旨在避免通常动作时地址管理表的写 回处理引起的存取速度下降,而且,即使在发生电源切断等的故障时也能 缩短初始化时地址管理表的生成时间。
解决问题的手段
本发明是一种存储器控制器,其用于对具有多个由1个以上的物理块 所构成的地址范围的非易失性存储器进行数据写入或读取,所述存储器控 制器具有:读写存储器,其用于暂时存储对所述物理块的状态进行管理的 地址管理表;存储器控制部,其在写入数据时,向所述物理块写入数据和 用于生成所述地址管理表的分布管理信息,从而对所述读写存储器的所述 地址管理表进行更新,在数据的写入目标从某地址范围切换到其它地址范 围时,向所述非易失性存储器写入所述读写存储器中暂时存储的所述地址 管理表;以及,地址管理表生成部,在初始化时,其从初始化前已存取的 所述地址范围内读取所述分布管理信息,基于所读取的所述分布管理信 息,在所述读写存储器上生成所述地址管理表。
本发明不需要在初始化时对非易失性存储器的全部区域的分布管理信 息进行查询,所以能够缩短在初始化时地址管理表的生成时间。而且,不 需要在来自存取装置的每个写入指示中,向非易失性存储器写回地址管理 表,所以能够避免在通常动作时由于地址管理表的写回处理所引起的存取 速度下降。
优选的是,所述地址范围是对所述非易失性存储器的存储区域进行划 分得到的每个具有规定大小的区域,包含与由存取装置指定的多个逻辑单 位相对应的多个物理块;所述地址管理表是统一管理所述地址范围内中包 含的多个逻辑单位的表。
优选的是,所述地址范围是在由存取装置指定的每个逻辑单位提供的 区域,所述地址管理表是统一管理多个所述地址范围的表。
优选的是,当数据的写入目标的物理块从某地址范围切换到其它地址 范围时,所述存储器控制部向所述非易失性存储器写入表示由存取装置所 指定的切换目标的地址范围的地址范围确定信息。
优选的是,所述存储器控制部将所述地址范围确定信息,以编入到所 述地址管理表的形式,写入到所述非易失性存储器。
优选的是,在初始化时,所述存储器控制部从所述非易失性存储器读 取所述地址范围确定信息,将由所述读取到的地址范围确定信息所示的地 址范围决定为在初始化前已存取的所述地址范围。
本发明的另一存储器控制器,其用于对具有多个由1个以上的物理块 所构成的地址范围的非易失性存储器进行数据写入或读取,所述存储器控 制器具有:读写存储器,其暂时存储包含第一表和第二表的地址管理表, 所述第一表用于管理1个所述地址范围内的物理块的写入状态,所述第二 表用于管理多个所述地址范围内的物理块的状态;存储器控制部,其在写 入数据时,向所述非易失性存储器写入数据和用于生成所述地址管理表的 分布管理信息,从而对所述读写存储器的所述地址管理表进行更新,在数 据的写入目标从某地址范围切换到其它地址范围时,向所述非易失性存储 器写入所述读写存储器中暂时存储的所述地址管理表,在初始化时,从所 述非易失性存储器读取所述第二表,保存到所述读写存储器中;以及,地 址管理表生成部,在初始化时,其从初始化前已存取的所述地址范围内读 取所述分布管理信息,基于所读取的所述分布管理信息生成所述第一表, 保存到所述读写存储器中。
本发明的非易失性存储装置包括:非易失性存储器,其具有多个由1 个以上的物理块所构成的地址范围;以及,前述存储器控制器,其控制对 所述非易失性存储器的数据写入或读取。
本发明的非易失性存储系统具有前述非易失性存储装置;以及,
存取装置,其指定所述地址范围,并控制对所述非易失性存储器的数 据的写入或者读取。
本发明的存储器控制方法,其对非易失性存储装置进行控制,所述非 易失性存储装置具有:具有多个由1个以上的物理块所构成的地址范围的 非易失性存储器,以及,用于暂时存储对所述物理块的状态进行管理的地 址管理表的读写存储器,所述存储器控制方法,具有下述步骤:在写入数 据时,向所述物理块写入数据和用于生成所述地址管理表的分布管理信 息,从而对所述读写存储器的所述地址管理表进行更新,在数据的写入地 址从某地址范围切换到其它地址范围时,向所述非易失性存储器写入所述 读写存储器中暂时存储的所述地址管理表的步骤;以及,在初始化时,从 初始化前已存取的所述地址范围内读取所述分布管理信息,基于所读取的 所述分布管理信息,在所述读写存储器上生成所述地址管理表。
发明效果
本发明能够避免在通常动作时由于地址管理表的写回处理所引起的存 取速度下降,并且能够实现缩短在初始化时地址管理表的生成时间。

附图说明

图1是表示本发明第一实施方式非易失性存储系统的结构的框图。
图2是表示第一实施方式非易失性存储器的内部结构的图。
图3是表示第一实施方式物理块的结构的图。
图4是表示第一实施方式逻辑地址的格式的图。
图5是表示第一实施方式地址转换表的图。
图6是表示第一实施方式物理区域管理表的图。
图7是表示第一实施方式地址范围切换部的结构的电路图。
图8是表示第一实施方式地址范围确定信息的图。
图9是表示第一实施方式地址范围不切换时的写入顺序的图。
图10是表示第一实施方式地址范围切换时的写入顺序的图。
图11是表示本发明第二实施方式非易失性存储系统的结构的框图。
图12是表示第二实施方式非易失性存储器的内部结构的图。
图13是表示第二实施方式物理块的图。
图14是表示第二实施方式逻辑地址的格式的图。
图15是表示第二实施方式地址转换表的图。
图16是表示第二实施方式物理区域管理表的图。
图17是表示第二实施方式写入管理表的图。
图18是表示第二实施方式地址范围确定信息的图。
图19是表示第二实施方式地址范围不切换时的写入顺序的图。
图20是表示第二实施方式地址范围切换时的写入顺序的图。
图21是表示第二实施方式地址范围切换时的另一种写入顺序的图。
附图标记
100   存取装置
101   主机I/F部
102   CPU
103   RAM
104   ROM
105   地址范围切换部
106   地址范围确定部
107   地址管理表生成部
108   地址管理表控制部
109   非易失性存储器存取部
110   地址转换表
111   物理区域管理表
112   地址管理表
113   读写存储器
114   存储器控制器
115   非易失性存储器
116   用户数据区
117   地址管理表区域
118   当前地址范围编号存储区域
122   存储器控制部
123   非易失性存储装置
124   地址范围控制部
1110  地址转换表
1111  物理区域管理表
1112  地址管理表
1115  非易失性存储器
1116  用户数据区
1117  地址管理表区域
1121  写入管理表

具体实施方式

下面参照附图,具体说明表示用于实施本发明的最佳方式的实施方 式。
(第一实施方式)
图1表示本实施方式中非易失性存储系统的结构。本实施方式的非易 失性存储系统具有:存取装置100以及根据由存取装置100发送的用户数 据(以下简称:数据)的读写命令而动作的非易失性存储装置123。
非易失性存储装置123具有:对于由存取装置100发送的数据进行保 存的非易失性存储器115、以及基于存取装置100发送的读写命令和逻辑地 址而控制非易失性存储器115的存储器控制器114。非易失性存储器115的 存储区域被划分为多个地址范围。
(存储器控制器的内部结构)
存储器控制器114具有:主机接口部(以下称为:主机I/F部)101、 用于工作的RAM103、保存程序的ROM104、以及利用用于工作的RAM 103和保存于ROM 104的程序而控制存储器控制器114内全体的CPU 102。
存储器控制器114还具有:用于控制非易失性存储器115的存储器控 制部122、用于生成地址管理表112的地址管理表生成部107、以及暂时保 存地址管理表112的读写存储器113。
存储器控制部122具有:用于判断非易失性存储器115的地址范围的 切换的地址范围控制部124、用于控制对非易失性存储器115的数据读写等 的非易失性存储器存取部109、以及用于将读写存储器113中暂时保存的地 址管理表112,通过非易失性存储器存取部109,写入到非易失性存储器 115的地址管理表控制部108。
(非易失性存储器的存储区域的结构)
图2具体表示本实施方式的非易失性存储器115的存储区域的结构。 图2中,非易失性存储器115是1GB,安装有8片1G比特的快闪存储器。 非易失性存储器115由多个物理块211构成。在此,所谓物理块211是能够 有选择地擦除的最小单位,即擦除块,在本实施方式中具有大约4kB的大 小。
非易失性存储器115,在图2的长度方向上划分为地址范围0~地址范 围7这8个地址范围,在宽度方向上划分为存储体(bank)0~存储体3这 4个存储体。各地址范围由4k块物理块211构成。各地址范围具有用于保 存数据的用户数据区116和用于保存地址管理表112的地址管理表区域 117。本实施方式中,各地址范围中设立的地址管理表区域117里存储对应 于各个地址范围的地址管理表112。
地址管理表区域117从低位侧(图2中的上侧)开始顺序保存地址管 理表112。然后,依序擦除不用的旧的地址管理表112,以存储新的地址管 理表112。这样,可以重复使用地址管理表区域117。例如,在存取装置 100发出写入命令,有效数据被写入到非易失性存储器115中的状态下,如 果地址范围1的最新地址管理表被写入到2047_a0~2047_d0,相对低位 侧(图2中的上侧)的2046_a1~2046_d1与2046_a0~2046_d0中保存 的地址管理表被擦除,成为无效块。之后,成为无效块的区域在后面会用 到。
非易失性存储器115还具有,用于保存如图8所示的地址范围确定信 息801(后面详述)的当前地址范围编号存储区域118。本实施方式中,当 前地址范围编号存储区域118设于地址范围7的高位侧。地址范围7的用 户数据区116与地址管理表区域117的大小之和,比其它地址范围的大少 更小。未使用非易失性存储器115时,当前地址范围编号存储区域118从 低位侧(图2中的上侧)开始顺序保存地址范围确定信息801。之后,为了 能够存储新的地址范围确定信息801,不用的旧地址范围确定信息801被顺 序擦除。这样,可以重复使用当前地址范围编号存储区域118。
非易失性存储器115中,关于写入安全相关信息或制造商代码等的所 谓系统区域,省略说明。
图3表示本实施方式物理块211的具体示例。物理块211有页0和页1 这2页。页是写入单位,在图2中,最大同时写入数是每页4个存储体, 即最大4页。各页具有2048字节的数据区域212与64字节的管理区域 213。1扇区是512字节,数据区域212由4个扇区构成。数据区域212是 来自存取装置100的数据被写入的区域。页0的管理区域213中,保存着 分布管理信息214。分布管理信息214包含存取装置100所指定的逻辑块编 号,以及表示物理块211的状态(status)的块状态。来自存取装置100的 数据被写入到页0中的数据区域212时,分布管理信息214被写入到页0中 的管理区域213。
(逻辑地址的格式)
图4表示本实施方式存取装置100向非易失性存储装置123发送的逻 辑地址400的格式。图4中的逻辑地址400的格式中,比特0~比特1 (b0~b1)是扇区编号401;比特2~比特3(b2~b3)是存储体编号 402;比特4(b4)是页编号403。比特5~比特14(b5~b14)中的编号 404与存储体编号402共12比特是逻辑块编号411;比特15~比特17 (b15~b17)是地址范围编号405。利用3比特的地址范围编号405,指定 非易失性存储器115的地址范围0~7。且,对应于逻辑块编号411的12比 特,是向物理块编号412进行地址转换的对象。
(地址管理表的结构)
回到图1,地址管理表112包含地址转换表110与物理区域管理表 111。
图5表示本实施方式地址转换表110。地址转换表110是将由存取装置 100指定的逻辑地址400中所包含的逻辑块编号411,转换成非易失性存储 器115内的物理块编号412的表。地址转换表110表示与每个逻辑块编号 411相对应的物理块编号412。本实施方式中,为了查每个地址范围生成地 址转换表110,地址转换表110包含用4096个逻辑块编号411所指定的物 理块编号412。
图6表示本实施方式物理区域管理表111。物理区域管理表111是存储 非易失性存储器115内的擦除单位即物理块211的状态,即,记录有效数 据是否存储在物理块211等的块状态的表。物理区域管理表111表示非易失 性存储器115的每个物理块编号412中的各物理块的状态。表示物理块的 状态的块状态包含有效块、无效块、坏块等。2进制的“00”表示已写入有效 数据的有效块;2进制的“11”表示数据已擦除或者已写入的数据是无用数据 的无效块。2进制的“10”表示存储单元上的由于硬伤(solid error)等造成不 能使用的坏块。这样,块状态至少包含3种状态。本实施方式中,因为在 每个地址范围内生成物理区域管理表111,所以物理区域管理表111保存与 4096个物理块编号412相对应的块状态。
(地址管理表的生成)
图1所示地址管理表生成部107,在电源接通等引起初始化时,基于用 户数据区116中保存的分布管理信息214而生成地址管理表112,存储在读 写存储器113上。本实施方式中,只读取从当前地址范围编号存储区域118 读取的地址范围中的用户数据区116中存储的分布管理信息214。换言之, 初始化时,生成地址范围0~7中的任一个地址范围的地址管理表112。
读写存储器113是诸如SRAM等的易失性存储器或者诸如强电介质存 储器等的非易失性存储器,暂时存储地址管理表112。根据存取装置100的 指示而进行的数据写入是参考读写存储器113中保存的地址管理表112,一 边更新一边进行。
存储器控制部122,根据来自存取装置100的写入指示,向用户数据区 116写入数据和分布管理信息214。此时,存储器控制部122内的地址管理 表控制部108更新在读写存储器113中暂时存储的地址管理表112。当存取 装置100所指示的写入地址从当前地址范围切换到其它地址范围时,地址 管理表控制部108通过非易失性存储器存取部109,向当前地址范围的地址 管理表区域117写入在读写存储器113中暂时存储的地址管理表112。
(地址范围确定信息的写入)
地址范围确定信息801是用于将切换后的地址范围特定下来的信息。 图8表示本实施方式地址范围确定信息801。地址范围确定信息801包含: 用于识别时间的前后关系的时刻信息711以及切换地址范围时的切换后的 地址范围编号712。低位侧的27比特表示时刻信息711,高位3比特表示 地址范围编号712。
图1所示地址范围控制部124具有地址范围切换部105和地址范围确 定部确定部106。为了将当前正在存取的地址范围是哪个地址范围存储在非 易失性存储器115内,即,为了在电源刚接通时的初始化时,将电源接通 前或者重置前被存取的地址范围能够特定下来,在刚刚切换了地址范围之 后,开始向切换后的地址范围进行写入时,地址范围确定部106通过非易 失性存储器存取部109,将地址范围确定信息801保存到非易失性存储器 115的当前地址范围编号存储区域118。而且,在电源接通后的初始化时, 地址范围确定部106从非易失性存储器115中的当前地址范围编号存储区 域118中读取具有最新的时刻信息711的地址范围确定信息801,将地址范 围编号712特定下来。由此,例如,即使在由于电源切断等故障引起的重 新启动时,地址范围确定部106也能将启动前存取的地址范围编号712特 定下来。
图7表示本实施方式地址范围切换部105的结构。地址范围切换部105 具有计数器701、寄存器702、比较器703、以及寄存器704。寄存器702 将存取装置100转发的逻辑地址400中包含的地址范围编号405与系统时 钟SCK对应地暂时存储起来。比较器703将存取装置100转发的地址范围 编号405与寄存器702暂时存储的地址范围编号405进行比较,如果两者 不同,则激活地址范围切换信号并输出。当地址范围切换信号被激活时, 寄存器704暂时存储存取装置100转发的地址范围编号405。切换地址范围 时,寄存器704的输出就成为切换后的地址范围编号712。
在启动时,计数器701中事先设置当前地址范围编号存储区域118中 保存的最新地址范围确定信息801的时刻信息711。因为刚刚出厂的非易失 性存储器115的物理块211全部被擦除,所以读取当前地址范围编号存储 区域118的最低位的1页数据,在计数器701中事先设置初始值0的时刻信 息。当地址范围切换信号激活时,计数器701的值加1。
下面说明本实施方式的计数器701的比特数。如果来自存取装置100 的1个写入指令中的平均的写入数据容量是4个物理块(即,FAT16中1个 簇)的16kB,1个地址范围的用户数据区116中,对所有物理块进行写入 的指令数根据式(1)为大约1k次(2的10次方)。
(4k块×4kB)÷16kB=1k  (1)
假设非易失性存储器115的擦写寿命,即,低于保证良块率时的擦写 次数为10万回(的17次方),由式(2)得知,本实施方式的计数器 701的比特数为27比特。
17+10=27    (2)
但是,考虑到非易失性存储器115的擦写寿命的不同、设计裕量,也 可增加比特数。
上述结构的地址范围切换部105,基于存取装置100转发的逻辑地址 400,检测出是否已切换地址范围编号405,如果检测出已切换,则输出切 换后的地址范围编号712,并且输出表示时间前后关系的时刻信息711,以 获知存取装置100转发的命令是何时的命令。
(初始化处理)
下面说明上述结构的非易失性存储系统中,非易失性存储装置123的 初始化处理。利用存取装置100使非易失性存储装置123的电源接通时, CPU 102基于ROM 104中存储的程序进行初始化处理。除了在电源接通 时,非易失性存储装置123重置时也可以进行初始化处理。
在初始化处理中,地址范围确定部106通过非易失性存储器存取部 109,搜索非易失性存储器115的当前地址范围编号存储区域118,从当前 地址范围编号存储区域118中保存着的地址范围确定信息801中,读出时 刻信息711的最大值,作为最新地址范围确定信息801。由此,将电源接通 前存取的地址范围编号712特定下来。且,在计数器701中事先设置在地 址范围确定信息801中包含的时刻信息711。但是,如果时刻信息711所有 比特的值为1,则判断为刚出厂,将计数器701事先设置为0值。
地址管理表生成部107读取在特定的地址范围内的用户数据区116中 保存的分布管理信息214,生成地址转换表110和物理区域管理表111,然 后保存到读写存储器113中。如果初始化处理结束,则非易失性存储装置 123进入可以接收来自存取装置100的读写等指令的状态。
(地址范围内的数据的写入处理)
如果存储器控制器114接收到来自存取装置100的向任意地址范围内 进行写入的写入指示,例如指定“0”的地址范围编号405的逻辑地址400, 那么地址范围切换部105判断,存取装置100转发的地址范围编号405是 否与初始化处理时特定的地址范围编号712相同。如果相同,则基于地址 管理表112,将逻辑地址400中包含的逻辑块编号411转换成物理块编号 412,向由物理块编号412指定的物理块211写入数据。
图9表示本实施方式地址范围不切换时的正常写入顺序。图9中表示 向物理块211中的页0中写入数据的数据写入期间TA0,以及向物理块211 中的页1写入数据的数据写入期间TA1。本实施方式中,通过同时写入存 储体0~3这4页中的页0或者页1的多存储体写入,向非易失性存储器 115写入数据。数据写入期间TA0及TA1包含写入指令及寻址/数据转发期 间Ta1、擦除忙期间Ta2、程序忙期间Ta3。
在数据写入期间TA0,首先,存储器控制器114向非易失性存储器115 转发写入指令、用户数据区116内的物理块编号412及存储体0~3这4页 的数据(写入指令及寻址/数据转发期间Ta1)。此时,还同时向非易失性存 储器115转发分布管理信息214。然后,擦除由物理块编号412指定的物理 块211(擦除忙期间Ta2)。最后,向存储体0~3的物理块211中的页0写 入数据和分布管理信息214,更新读写存储器113上的地址管理表112(程 序忙期间Ta3)。
接着,在数据写入期间TA1,进行与数据写入期间TA0相同的处理, 向存储体0~3的4页的物理块211中的页1写入数据。但是,不向页1写 入分布管理信息214。
利用如图9所示的1个数据写入期间TA0及TA1,例如向逻辑地址0 _a0~0_d0和0_a1~0_d1的物理块211写入数据。在地址范围0内, 通过反复进行数据写入期间TA0及TA1的动作,例如在从逻辑地址0_ a0~0_d0到1021_a1~1021_d1的物理块211中写入数据。
使用FAT16的存取装置100中,通常1簇是16kB,在众多的产品中, 存取装置100以16kB单位向非易失性存储装置123转发写入指示。专利文 献1所示现有半导体存储器装置中,写入16kB后,向非易失性存储器115 写回读写存储器113中暂时存储的地址管理表112,其时间开销引起处理速 度下降。然而,本实施方式的非易失性存储装置123,如果地址范围不变, 就不进行向非易失性存储器115写回读写存储器113中暂时存储的地址管 理表112的处理,在数据写入的同时写入分布管理信息214,使开销合理 化。
(地址范围切换时的数据的写入处理)
下面,说明存取装置100转发的地址范围编号切换时的非易失性存储 装置123的动作。图10表示地址范围切换时的写入顺序。如果地址范围切 换部105利用比较器703检测到地址范围发生切换,存储器控制部123按 照地址管理表写入期间(以下称为:AT写入期间)TB、地址管理表读取期 间(以下称为:AT读取期间)TC、以及地址范围确定信息写入期间TD的 顺序进行处理。下面,以存取装置100的指定地址范围从0变为1的情况 为例进行说明。
向地址范围0的逻辑地址1021_a1~1021_d1的物理块211写入数据 后,如果存储器控制器114从存取装置100接收到指定地址范围1的逻辑 地址400,地址范围切换部105利用比较器703检测到地址范围从0变为 1。然后,存储器控制器114首先进行旧地址范围的后期处理,即,AT写 入期间TB中的处理。
在AT写入期间TB,存储器控制器114向非易失性存储器115的地址 范围0的地址管理表区域117中写回读写存储器113暂时保存的地址范围0 的地址管理表112,以作为最新的地址管理表。首先,存储器控制器114向 非易失性存储器115转发写入指令、地址范围0内的地址管理表区域117内 的物理块编号412、以及读写存储器113中保存的地址管理表112(写入指 令及寻址/AT转发期间Tb1)。接着,对物理块编号412指定的物理块211 进行擦除(擦除忙期间Tb2)。最后,向已擦除的物理块211写入地址管理 表112(程序忙期间Tb3)。
这样结束了对地址范围0的写入处理,在AT写入期间TB的结束时间 点和AT读取期间TC的开始时间点之间,存在实际的地址范围切换时间点 TS。接着,进行新地址范围的前期处理,即,AT读取期间TC和地址范围 确定信息写入期间TD的处理。
AT读取期间TC中,CPU 102向非易失性存储器存取部109发出对地 址范围1的地址管理表112进行读取的读取指示,非易失性存储器存取部 109从地址范围1的地址管理表区域117读取地址范围1的地址管理表 112,地址管理表控制部108将读取的地址管理表112存储到读写存储器 113中(读取及寻址/AT转发期间Tc1)。在此读取的地址管理表112是地 址范围1内的地址管理表区域117内的最新的地址管理表。按以下方式判 断地址管理表112是否是最新的。首先,将地址管理表区域117内的物理 块的页中的最高位地址,具体而言是图2中的逻辑地址2047_a1~2047_ d1这4页(共8kB)作为一组,判断其是否被擦除。如果未被擦除,则判 断逻辑地址2047_a1~2047_d1一组是最新的地址管理表。如果已被擦 除,在图2中的高位方向,即,非易失性存储器115的低位侧进行搜索, 选择未被擦除的,即,写入了某值的4页作为最新的地址管理表。
非易失性存储装置123刚刚出厂时,非易失性存储器115的物理块全 部处于被擦除的状态。实际上,系统区域中写有规定的值,本实施方式中 对此状态省略说明。在此情况下,最低位(图2中的上侧)的4页,即, 2046_a0~2046_d0被读取到读写存储器113,作为地址管理表112。此 时,图6所示物理区域管理表111显示为全部是无效块的“11”,从而显示 在地址范围1中未存储有效数据的状态。
在地址范围确定信息写入期间TD,存储器控制器114将包含如图8所 示切换后的地址范围编号712的地址范围确定信息801,保存到非易失性存 储器115的当前地址范围编号存储区域118。首先,地址范围确定部106内 的计数器701增值的同时,切换后的地址范围编号712被保存到寄存器704 中。地址范围确定部106生成包含计数器701的时刻信息711和寄存器704 中保存的地址范围编号712的地址范围确定信息801。非易失性存储器存取 部109向非易失性存储器115转发写入指令、非易失性存储装置115的当前 地址范围编号存储区域118内的物理块编号412以及地址范围确定信息801 (写入指令及寻址/地址范围确定信息转发期间Td1)。接着,对由物理块 编号412指定的物理块211进行擦除(擦除忙期间Td2)。最后,在已擦除 的物理块211中写入地址范围确定信息801(程序忙期间Td3)。
在地址范围确定信息写入期间TD后的数据写入期间TA0,向地址范 围1的逻辑地址1024_a0~1024_d0中写入数据。
在地址范围确定信息写入期间TD,通过将地址范围确定信息801存储 到非易失性存储器115的当前地址范围编号存储区域118,下一次启动时, 就能将启动前存取的地址范围编号712特定下来。由此,即使在发生电源 切断等故障后再启动时,地址范围确定部106也能判别在哪个地址范围的 处理中发生了电源切断等的故障。不用向处理过程中中断的地址范围的地 址管理表区域117中写回地址管理表112,在初始化处理时,也能利用分布 管理信息214生成关于地址范围确定信息801中存储的地址范围的地址转 换表112,因此,不会错误地使用旧地址转换表112。
(初始化处理所需时间)
本实施方式中,地址管理表生成部107通过非易失性存储器存取部109 而读取的分布管理信息214只限于在1个地址范围内。例如,如果非易失 性存储器115具有多存储体页读取功能,各多存储体页读取所需时间为 100μ秒,由式(3)可知,用大约100m秒就完成分布管理信息214的读 取。
100μ秒×1k=100m秒   (3)
如果是具有1GB容量的半导体存储器装置(8片快闪存储器芯片),由 式(4)可知,大约用800m秒。
100m秒×8片=800m秒   (4)
相反,专利文献2所示现有半导体存储器装置读取全部区域的分布管 理信息所用的读取时间,由式(5)可知,大约为6400m秒。
800m秒×8=6400m秒    (5)
因为专利文献2的非易失性存储器115没有被分为8片,所以式(5) 的值与式(4)相比,是8倍。此值作为用户启动时的等待时间,则是过长 的时间。且,非易失性存储器的容量越大,此式(5)的值越大,这是致命 的问题。
本实施方式的初始化处理所需时间是专利文献2的1/8,可以短时间 完成处理。
(数据的擦写率)
接着,定量地说明利用本实施方式提高写入速度。图9所示的数据写 入期间TA0及TA1和图10所示的AT写入期间TB及数据写入期间TA0, 分别假设是1.5m秒。
专利文献1所示的现有半导体存储器装置中,向例如逻辑地址0_a0~ 0_d0和0_a1~0_d1的4个物理块写入数据时,因为在图9的数据写入 期间TA1之后必须有AT写入期间TB,所以由式(6)可知,需要4.5m 秒。
1.5m秒×3=4.5m秒   (6)
另一方面,本实施方式中,在地址范围不变的情况下,向例如逻辑地 址0_a0~0_d0和逻辑地址0_a1~0_d1这4个物理块写入数据时,由式 (7)可知,需要3m秒。
1.5m秒×2=3m秒     (7)
这样,地址范围不变时,本实施方式的写入时间比专利文献1所示写 入时间更短。
地址范围切换时,如图10所示,本实施方式需要进行旧地址范围的后 期处理的AT写入期间TB与进行新地址范围的前期处理的AT读取期间TC 以及地址范围确定信息写入期间TD,比专利文献1需要更多的处理时间。
考虑到此,根据以16kB单位全部擦写整个1个逻辑范围的擦写率值, 将本实施方式与专利文献1进行比较。首先,1个地址范围的容量大约是 16MB(简便起见,将地址管理表区域作为误差),为了用16kB单位的写入 来擦写1个地址范围,由式(8)知,存取装置100需要指示1k次写入。
16MB÷16kB=1k次  (8)
此时,专利文献1所示的现有半导体存储器装置中,如式(9)所示擦 写率平均是3.6MB/秒。

另一方面,在本实施方式的非易失性存储装置123中,擦写率是式 (10)所示平均5.5MB/秒,利用本实施方式非易失性存储装置123能够 高速擦写1个地址范围。

地址范围切换时瞬间的速度劣化是数毫秒的程度,所以,利用存取装 置100侧常备的缓冲,能够被完全吸收。由此,处理不会有问题。
如上所述,本实施方式中,即使非易失性存储器115的存储器容量变 大,也能够使启动时的初始化时间极小化,并且,使地址管理表112更新 的时间开销合理化,因此提高擦写率。换言之,本发明中,能够避免正常 动作时地址管理表112的写回处理引起的存取速度下降的同时,也能够使 电源切断等的故障之后的初始化时地址管理表112的生成时间缩短。
图3中的管理区域213,除了分布管理信息214之外,也可以保存时刻 信息711。例如,向用户数据区116的数据区域212写入数据之时,将时刻 信息711写入到向管理区域213。在初始化处理时,将地址范围特定之后, 可以通过只读取写入了与地址范围确定信息801的时刻信息711一致的时 刻信息711的物理块211,对地址管理表区域117中存储的最新地址管理表 112进行修改。由此,在短时间内就能够更新地址管理表区域117的地址管 理表112,在由于电源切断等引起的处理中断之后的初始化处理中有用。
读写存储器113也可以使用除RAM之外的读写存储器,只要能进行比 较高速的存取。非易失性存储器115也可以内置多个非易失性存储器芯 片。非易失性存储器115也可以使用除快闪存储器之外的非易失性存储 器。
非易失性存储器115既可以用1个快闪存储器芯片构成,也可以用多 个快闪存储器芯片构成。
虽然在本实施方式中,地址管理表区域117设在各个地址范围内,但 是地址范围0~7的地址管理表区域117也可以集中设在一个范围内,例如 设在非易失性存储器115最后的区域内。
也可以使地址管理表112的存储位置不像本实施方式那样物理固定在 地址管理表区域117内。例如,不设置地址管理表区域117,而是将地址管 理表112保存在用户数据区116的物理块211内。此时,可以将用于指示地 址管理表112的保存处的物理地址的指示器信息存储到非易失性存储器115 内,根据该指示器信息搜索存储位置。
当前地址范围编号存储区域118的位置并不限于在地址范围7的高位 侧。且,本实施方式中,地址范围确定信息801被存储在非易失性存储器 115的当前地址范围编号存储区域118中,但是,也可以单独提供非易失性 存储器115之外的非易失性存储器,将地址范围确定信息801存储在那 里。
可以在地址范围切换时,以编入到对应于切换前的地址范围的地址管 理表112的形式,将地址范围确定信息801写回到非易失性存储器115。在 这种情况下,电源接通后的初始化中,对在全部地址范围0~7中存储的最 新地址管理表112进行查询,将包含最接近的时刻信息711的地址管理表 112内所存储的地址范围编号712判断为在电源切断时刻的地址范围编号。
(第二实施方式)
图11表示本发明的第二实施方式非易失性存储系统。第二实施方式的 非易失性存储系统,与第一实施方式不同在于:非易失性存储器1115的地 址范围大小以及地址管理表1112初始化时的生成方法。
本实施方式的非易失性存储系统具有:存取装置100以及基于由存取 装置100发送的数据的读写命令而动作的非易失性存储装置123。
非易失性存储装置123具有:用于保存由存取装置100转发的数据的 非易失性存储器1115,以及基于存取装置100发送的数据的读写命令和逻 辑地址而控制非易失性存储器1115的存储器控制器114。非易失性存储器 1115的存储区域具有多个地址范围。
(存储器控制器的内部结构)
存储器控制器114具有:主机I/F部101、工作用RAM 103、保存了程 序的ROM 104、及利用工作用RAM 103和ROM 104中保存的程序而控制 存储器控制器114整体的CPU 102。
存储器控制器114进一步包括:用于控制非易失性存储器1115的存储 器控制部122、用于生成地址管理表1112的地址管理表生成部107、及用 于暂时保存地址管理表1112的读写存储器113。
存储器控制部122具有:用于对非易失性存储器1115的地址范围的切 换进行判断的地址范围控制部124、对非易失性存储器1115进行数据读写 等控制的非易失性存储器存取部109、以及将读写存储器113中暂时存储的 地址管理表1112,通过非易失性存储器存取部109而写入到非易失性存储 器1115的写入地址管理表控制部108。
(非易失性存储器的内部结构)
本实施方式中,非易失性存储器1115的存储区域具有:用于存储数据 的用户数据区1116、用于存储地址管理表1112的地址管理表区域1117、以 及用于保存如图18所示的地址范围确定信息1801的当前地址范围编号存 储区域118。
图12表示本实施方式的非易失性存储器1115的存储区域的具体结 构。图12中,非易失性存储器1115是1GB,安装有8片1G比特的快闪存 储器。非易失性存储器1115由多个物理块211构成。在此,物理块211是 能够有选择地擦除的最小单位,即擦除块,在本实施方式中具有大约4kB 的大小。
非易失性存储器1115,在宽度方向上划分为存储体0~存储体3这4 个存储体。在本实施方式中,地址范围1201从用户数据区1116内的每个 存储体中选择一个,共由4个物理块211构成。例如,包含逻辑地址0_a0 和0_a1~0_d0和0_d1的逻辑块编号“0”的这4个物理块是一个地址范围 1201。换言之,本实施方式中,逻辑块编号是指定地址范围1201的地址范 围编号,例如逻辑块编号“0”=地址范围编号“0”。图12中,用户数据区 1116具有地址范围0~8188。
本实施方式中,地址管理表区域1117不是设在地址范围1201内,而 是设在非易失性存储器1115的高位侧区域。地址管理表区域1117从低位侧 (图12中的上侧)开始顺序保存地址管理表1112。之后,顺序擦除不用的 旧地址管理表1112,以存储新的地址管理表1112。这样,地址管理表区域 1117被重复使用。例如、在存取装置100发出写入命令,有效数据写入到 非易失性存储器1115的状态下,如果最新地址管理表1112被保存到逻辑地 址8190_a0~8190_d0,由此,低位(图12中的上侧)的8189_a1~ 8189_d1和8189_a0~8189_d0中保存的地址管理表1112被擦除,成为 无效块。之后,该区域在后面会使用到。
非易失性存储器1115的存储区域,在地址管理表区域1117的高位侧具 有当前地址范围编号存储区域118。当前地址范围编号存储区域118是用于 保存使地址范围编号特定的信息的区域,其保存如图18所示的地址范围确 定信息1801。利用设置当前地址范围编号存储区域118,当由于电源切断 等的故障而再启动时,能够将启动前已存取的地址范围编号特定。当前地 址范围编号存储区域118对已保存不用的旧地址范围确定信息1801的物理 块211进行擦除并重复使用。
非易失性存储器1115中,关于已写入安全相关信息或制造商代码等的 所谓系统区域,省略说明。
图13表示本实施方式物理块211的具体示例。物理块211有页0和页 1这2页。页是写入单位,在图12中,最大同时写入数是4个存储体中各 有1页,即最大4页。各页具有2048字节的数据区域212与64字节的管理 区域213。1扇区是512字节,数据区域212由4个扇区构成。数据区域 212是被写入来自存取装置100的数据的区域。页0的管理区域213中保存 着分布管理信息214。分布管理信息214包含存取装置100所指定的逻辑块 编号,以及表示物理块211的状态(status)的块状态。存取装置100转发 的数据被写入到页0中的数据区域212时,分布管理信息214被写入到页0 中的管理区域213。
(逻辑地址的格式)
图4表示本实施方式存取装置100向非易失性存储装置123发送的逻 辑地址1400的格式。逻辑地址1400从低位比特开始顺序具有:扇区编号 401、存储体编号402、页编号403、及地址范围编号1405。本实施方式 中,地址范围编号1405是逻辑块编号1411。与逻辑块编号1411对应的13 个比特是向物理块编号1412进行地址转换的对象。
(地址管理表的结构)
如图11所示,本实施方式的地址管理表1112包含地址转换表1110、 物理区域管理表1111和写入管理表1121。
图15表示本实施方式地址转换表1110。地址转换表1110是将由存取 装置100指定的逻辑地址1400中所包含的逻辑块编号1411,转换成非易失 性存储器1115内的物理块编号1412的表。地址转换表1110表示与每个逻 辑块编号1411相对应的物理块编号1412。本实施方式中,地址转换表 1110包含与非易失性存储器1115内的全部逻辑块编号1411相对应的物理 块编号1412。而且,地址转换表1110根据来自存取装置100的写入指示, 将最新获得的物理块编号存储到最后。
图16表示本实施方式物理区域管理表1111。物理区域管理表1111是 表示非易失性存储器1115内的擦除单位,即物理块211的状态的表,其存 储表示是否存储有有效数据等的块状态。物理区域管理表1111保存在地址 转换表1110中包含的全部物理块编号1412的块状态,本实施方式的物理 区域管理表1111的容量不同于第一实施方式的物理区域管理表111的容 量。除容量之外,本实施方式的物理区域管理表1111与第一实施方式的物 理区域管理表111相同。
图17表示本实施方式写入管理表1121。写入管理表1121是存储与地 址转换表1110所管理的1个单位的逻辑块相对应的物理块的写入状态的 表。写入管理表1121用1个比特表示页0和页1的每个存储体是否已完成 写入的状态,未写入时存储“1”,已写入时存储“0”。例如,根据来自存取装 置100的写入指示,获取新的4个物理块的情况下,写入管理表1121全部 的比特被设置为2进制的“1”。接着,当写入数据时,与已写入的页相对应 的比特被设置为2进制的“0”。当向已经设置为“0”的页写入数据时,写入管 理表1121判断是否需要再次获取新的物理块。
(地址管理表的生成)
在初始化时,图11所示地址管理表控制部108从非易失性存储器1115 的地址管理表区域1117读取地址转换表1110和物理区域管理表1111。
地址管理表生成部107,基于电源接通前存取的地址范围的物理块211 中存储的分布管理信息214,生成写入管理表1121。
读写存储器113是SRAM等的易失性存储器或者强电介质存储器等的 非易失性存储器,暂时存储地址管理表1112。由存取装置100指示的数据 的写入等,参照读写存储器113中保存的地址管理表1112,一边更新一边 进行。
存储器控制部122根据存取装置100的写入指示,向用户数据区1116 写入数据和分布管理信息214。此时,存储器控制部122内的地址管理表控 制部108对读写存储器113中暂时存储的地址管理表1112进行更新。在存 取装置100指示的写入地址从当前的地址范围切换到其它地址范围时,地 址管理表控制部108将读写存储器113上暂时存储的地址管理表1112写入 到非易失性存储器1115的地址管理表区域1117中。
(地址范围确定信息的写入)
地址范围确定信息1801是将切换后的地址范围特定下来的信息。图18 表示本实施方式地址范围确定信息1801。地址范围确定信息1801具有时刻 信息711以及用于将切换后的地址范围特定下来的地址范围编号1712。地 址范围编号1712的比特数不同于第一实施方式的地址范围编号712的比特 数。
图11所示地址范围控制部124具有地址范围切换部105和地址范围确 定部106。
地址范围切换部105的内部结构与第一实施方式中的图7相同。地址 范围切换部105基于存取装置100已转发的逻辑地址,检测出地址范围编 号1712是否已切换。如果检测到已切换,则输出切换后的地址范围编号 1712,并且,输出表示各命令的时间前后关系的时刻信息711,以获知存取 装置100已转发的命令是什么时间点的命令。
在刚刚切换了地址范围,开始向切换后的地址范围进行写入时,地址 范围确定部106通过非易失性存储器存取部109,将地址范围确定信息 1801存储到非易失性存储器1115的当前地址范围编号存储区域118中。而 且,地址范围确定部106基于在电源接通后的初始化时,当前地址范围编 号存储区域118中存储的地址范围确定信息1801,将电源接通前已存取的 地址范围1201特定下来。由此,例如,即使在由于电源切断等的故障引起 的再启动的情况下,地址范围确定部106也能将启动前已存取的地址范围 编号1712特定下来。
(初始化处理)
下面说明具有上述结构的本实施方式的非易失性存储系统的初始化处 理。电源接通后,CPU 102基于ROM 104中存储的程序,向非易失性存储 器存取部109发出地址管理表区域1117内的地址转换表1110和物理区域管 理表1111的读取指示。除电源接通时之外,初始化处理也可以在非易失性 存储装置123重置时进行。非易失性存储器存取部109从非易失性存储器 1115的地址管理表区域1117中,读取地址转换表1110和物理区域管理表 1111。地址管理表控制部108将地址转换表1110和物理区域管理表1111写 入到读写存储器113。
初始化处理时读取的地址转换表1110和物理区域管理表1111是,地址 管理表区域1117内的物理块211中保存的最新地址转换表1110和物理区域 管理表1111。对于哪个是最新的判断,是以下述内容为基准:与地址管理 表区域1117相对应的物理块211的页中的最高位地址,具体而言是指图12 中逻辑地址8190_a1~8190_d1这4页(共8kB)作为一组是否已被擦 除。到图12中的高位方向进行搜索,将未擦除的,即写有某值的4页选择 为最新地址转换表1110和物理区域管理表1111。
而且,CPU 102向非易失性存储器存取部109发出地址范围确定信息 1801的读取指示。地址范围确定部106通过非易失性存储器存取部109, 从非易失性存储器1115的当前地址范围编号存储区域118中检索出具有最 大时刻信息711的地址范围确定信息1801,将检索到的地址范围确定信息 1801中包含的地址范围编号1712转发到地址管理表生成部107。地址管理 表生成部107基于电源接通前存取的地址范围的物理块211的分布管理信 息214,生成写入管理表1121,保存到读写存储器113上。但是,对于全 部比特值为1的时刻信息711,地址范围确定信息1801则判断是尚未写 入。
作为非易失性存储系统的存储媒体的非易失性存储装置123出厂后, 最初使用时,非易失性存储器1115的物理块211全部处于被擦除的状态。 实际上,系统区域中写有规定的值,在此对此状态省略说明。工厂出厂 后,最低位(图2中的上侧)的8189_a0~8189_d0这4页被读取到读写 存储器113,作为地址管理表1112。此时,因为非易失性存储器1115中没 有存储有效数据,所以图16所示物理区域管理表1111存储的全部是无效块 “11”。且,图17所示写入管理表1121存储的全部是表示未写入状态的 “1”。
如上所述,向读写存储器113写入了地址转换表1110、物理区域管理 表1111及写入管理表1121后,存储器控制器101进入接收来自存取装置 100的读写等的指令的接收状态。
(地址范围内的数据写入处理)
图19表示地址范围没有切换时的写入处理。第一实施方式中,对非易 失性存储器115的存取以16kB为单位,但是在第二实施方式中是以2kB为 单位。图19中,在数据写入期间TA0,地址范围0内的逻辑地址0_a0所 表示的物理块211的页0中写入2kB的数据,在接下来的数据写入期间 TB1,地址范围0内的逻辑地址0_b0所表示的物理块211的页0中写入 2kB的数据。写入指令、寻址/数据转发期间Ta1、擦除忙期间Ta2、及程序 忙期间Ta3与第一实施方式的图9相同。
专利文献1所示的现有半导体存储器装置中,在写入了2kB的数据 后,将读写存储器113中暂时存储的地址管理表1112写回到非易失性存储 器1115,因此该时间开销是造成处理速度下降的原因。然而,本发明的第 二实施方式中,在地址范围不切换的情况下,不进行向非易失性存储器 1115写回读写存储器113中暂时存储的地址管理表1112的处理,在数据写 入时一并将分布管理信息214写入到用户数据区1116,由此使前述开销合 理化。
(地址范围切换时的数据的写入处理)
图20表示有地址范围的切换时的写入处理。图20以地址范围1201从 “3”切换到“4”的情况为例。数据写入期间TA3和数据写入期间TA0之间是 地址范围切换时间点TS。
数据写入期间TA3中,3_d1物理块211的页1中写入了数据后,地址 范围切换部105如果收到来自存取装置100的指定地址范围4的逻辑地址 1400,就检测到地址范围从“3”切换到“4”。由此,对地址范围3的处理结 束,数据写入期间TA3和数据写入期间TA0之间是地址范围切换时间点 TS。
接下来的数据写入期间TA0,在4_a0物理块211的页0中写入数据。 此时,地址管理表控制部108将为向地址范围4写入而保留的物理块编号 1412写入地址转换表1110的新获取的块。
之后,在AT写入期间TB,读写存储器113中暂时存储的地址转换表 1110、物理区域管理表1111及写入管理表1121被保存到非易失性存储器 1115的地址管理表区域1117。
接着,在地址范围确定信息写入期间TD,包含地址范围“4”的地址范 围确定信息1801被写入到非易失性存储器1115的当前地址范围编号存储 区域118。通过这样的处理,发生电源切断等的故障时,其后立即启动时, 也能判别是在哪个地址范围的处理中发生了电源切断等的故障。
写入指令及寻址/数据转发期间Ta1、Tb1、Td1、擦除忙期间Ta2、 Tb2、Td2、及程序忙期间Ta3、Tb3、Td3的详细结构与第一实施方式中的 图10相同。
在初始化处理时,因为本实施方式在读写存储器113中保存有对应于 全部逻辑块编号1411的地址转换表1110以及对应于地址转换表1110中包 含的全部物理块编号1412的物理区域管理表1111,所以也可以不设置图 10中的AT读取期间TC。
如上述,本实施方式的非易失性存储装置123并非在每次写入数据时 都将地址管理表1112写回到非易失性存储器1115。因此,发生电源切断等 的故障时,非易失性存储器1115上的地址管理表1112有可能不是最新的地 址管理信息。因此,在电源切断等的故障发生后立即启动时,地址范围确 定部106将发生电源切断等的故障时的地址范围特定下来;基于该地址范 围中存储的分布管理信息214,地址管理表生成部107在读写存储器113上 生成有写入管理表1121。
(初始化处理所需时间)
地址管理表生成部107通过非易失性存储器存取部109读取的数据量 只限于地址范围内的分布管理信息214,所以能够用比较少的时间进行读 取。例如非易失性存储器1115具有多存储体页读取功能,假设每页的多存 储体页读取所需时间是100μ秒,由式(11)可知,大约用0.8m秒完成读 取。
100μ秒×8=0.8m秒      (11)
如果具有1GB容量的半导体存储器装置(8片快闪存储器芯片),由式 (12)可知,大约为6.4m秒。
0.8m秒×8片=6.4m秒     (12)
另一方面,专利文献2所示的现有半导体存储器装置中,全部区域的 分布管理信息的读取时间,由式(13)可知大约是6400m秒。
100μ秒×8k×8=6400m秒 (13)
此值作为用户启动时的等待时间则是过长的时间。随着半导体存储器 装置的容量变大,这样的问题就成为致命的问题。但是,本实施方式可以 在短时间内进行初始化处理。
(数据的擦写率)
接下来定量地说明写入速度的提高。图19所示数据写入期间TA0、 TA1及图20所示的数据写入期间TA3、TA0、AT写入期间TB、地址范围 确定信息写入期间TD分别是1.5m秒。
专利文献1所示的现有半导体存储器装置中,图19中的数据写入期间 TA0、TA1之后必须有AT写入期间TB,所以写入2页的数据,由式 (14)可知,需要4.5m秒。
1.5m秒×3=4.5m秒     (14)
另外,本实施方式地址范围不切换时写入2页的数据,由式(15)可 知,是3m秒。
1.5m秒×2=3m秒   (15)
但是,本实施方式中,图20所示地址范围切换时,地址范围确定信息 写入期间TD比现有例需要更多的处理时间。
考虑到此,根据以2kB为单位全部擦写1个地址范围的擦写率值,将 本实施方式与专利文献1进行比较。本实施方式中,1个地址范围的容量是 16kB。用2kB单位的写入来擦写1个地址范围时,由式(16)知,存取装 置100指示8次写入。
16kB÷2kB=8次   (16)
专利文献1所示的现有半导体存储器装置的擦写率,如式(17)所 示,平均是444kB/秒。

另一方面,本实施方式的非易失性存储装置123的擦写率,如式 (18)所示平均是593kB/秒。本实施方式非易失性存储装置123能够比 现有半导体存储器装置更加高速地进行擦写。

逻辑地址范围切换时瞬间的速度劣化是数毫秒的程度,所以,利用存 取装置100侧常备的缓冲,能够被完全吸收。由此,处理不会有问题。
如上所述,本实施方式中,即使半导体装置的存储器容量变大,也能 够使发生电源切断等的故障后再启动时的初始化时间极小化,并且,使地 址管理表1112更新的时间开销合理化,因此提高擦写率。
然而,也可以取代图20,用图21所示写入顺序来进行地址范围切换后 的处理。图21中,AT写入期间TB设在数据写入期间TA3之后,AT写入 期间TB和数据写入期间TA0之间是地址范围切换时间点TS。
图13中的管理区域213,除了分布管理信息214等之外,也可存储时 刻信息711。由此,只是基于与图12中的当前地址范围编号存储区域118 中存储的地址范围确定信息1801中的时刻信息711相一致的物理块的信 息,对地址管理表区域中存储的最新地址管理表1112进行修改,就能够生 成真正的最新的地址管理表1112。
读写存储器113也可以使用除RAM之外的读写存储器,只要能进行比 较高速的存取。
此外,非易失性存储器1115可以用1片快闪存储器芯片构成,也可以 用多个快闪存储器芯片构成。并且,非易失性存储器1115也可以使用除了 快闪存储器之外的非易失性存储器。
不同于本实施方式的地址管理表区域1117,也可以使地址管理表1112 的存储位置并非物理固定,独立提供指示用于地址管理信息的区域的物理 地址的指示器信息,在与用户数据区1116相同的区域中,使地址管理表 1112混同存在,根据指示器信息来移动存储位置。
本实施方式中,采用的是将用于将时刻信息711等的地址范围特定下 来的地址范围确定信息1801存储到非易失性存储器1115的当前地址范围 编号存储区域118中,但是也可以独立提供除非易失性存储器1115之外的 非易失性存储器,将地址范围确定信息1801存储到那里。
在地址范围切换之际,可以以编入到对应于切换后的地址范围的地址 管理表1112的形式,将地址范围确定信息1801写回到非易失性存储器 1115。但是,在这种情况下,电源接通后的初始化中,对地址管理表区域 1117内的全部地址范围0~8188所对应的最新的地址管理表1112进行查 询,将包含最近的时刻信息711的地址管理表1112内存储的地址范围编号 1712判断为在电源切断时刻的地址范围编号1712。将其中所写入的切替时 的地址范围编号1712特定为,在发生电源切断等的故障的时间点来自存取 装置100的写入指示等被转发的地址范围编号1712。
本发明的非易失性存储装置,利用使用快闪存储器等的非易失性存储 器的存储卡等的存储媒体,具有同时实现高速写入和缩短初始化时间的效 果,可应用于静止图像记录再现装置、动态图像记录再现装置等便携式AV 设备,或者移动电话等便携式通信设备的记录媒体中。