非易失性存储装置及其数据写入方法

文档序号:6574395阅读:185来源:国知局
专利名称:非易失性存储装置及其数据写入方法
技术领域
本发明涉及非易失性存储装置及非易失性存储装置的数据写入方法,特别涉及具备辅助记忆存储器和以页单位进行写入的主记忆存储器、输入比页单位小的扇区单位的数据的非易失性存储装置。
背景技术
具备可改写的非易失性的主记忆存储器的非易失性存储装置以半导体存储卡为中心,其需求不断扩大。在半导体存储卡中有各种种类,作为其中一种,有SD存储卡(注册商标)。
图1是表示包括以往的非易失性存储装置的非易失性存储系统的结构的框图。图1所示的非易失性存储系统具备数字静像摄像机或个人计算机等的存取装置100、和非易失性存储装置1110。
非易失性存储装置1110例如是SD存储卡,具备作为非易失性的主记忆存储器1130的闪存器1130、和控制它的存储器控制器1120。存储器控制器1120根据来自存取装置100的数据的读取或写入指示,进行对闪存器1130的读取或写入的控制。
对如下情况进行说明将非易失性存储装置1110(SD存储卡等)安装在个人计算机等的存取装置100中,从存取装置100侧将非易失性存储装置1110(SD存储卡等)看作可移动盘,由FAT文件系统进行管理,进行数据的存取。
FAT文件系统是在向记录装置记录文件或数据时利用文件分配表(FAT)、通常以每个“簇”指示数据读写的系统。簇是汇总了多个作为FAT文件系统中的数据写入的最小单位的“扇区”的单位。
在闪存器1130中,以往作为闪存器1130的写入单位的页尺寸与作为上述FAT文件系统中的数据写入的最小单位的扇区尺寸例如为512字节,是相同的。但是,近年来,随着闪存器1130的大容量化与高速化的需求,页尺寸变得比扇区尺寸大,向闪存器1130的数据写入的最小单位不再是扇区尺寸。例如,如多值NAND闪存器那样,页尺寸为2K字节(4扇区)的闪存器1130成为主流。
在由页尺寸比扇区尺寸大的闪存器1130构成的存储卡等的非易失性存储装置1110中,对将逻辑扇区地址为0地址号的1扇区量的数据改写的情况进行说明。另外,假设逻辑扇区地址为0~3地址号为止的4扇区量的数据已写入在非易失性存储装置1110中。
非易失性存储装置1110读取已经写入了闪存器1130中的逻辑扇区地址为1~3地址号的3扇区量的数据,将读取的3扇区量的数据与逻辑扇区地址为0地址号的1扇区量的数据一起写入闪存器1130的起始页的空白区域。以后将该3扇区量的读取及写入处理称作退避处理。作为这样的改写处理的技术,例如有在专利文献1中公开的技术。
该“伴随着退避处理的改写方法”的处理步骤的概况如下。另外,在闪存器1130的物理块内,扇区配置成从逻辑顺序、即物理块的下位的地址侧(地址值较小侧)开始依次为逻辑扇区号0、1、……。这里,所谓的物理块,是闪存器1130的数据抹去的最小单位,在1个物理块中包括多页。
1、获取从存取装置100指定的逻辑地址的步骤。
2、将逻辑地址变换为主记忆存储器上的物理地址的步骤。
3、在仅将存储在页中的数据的1扇区(例如扇区地址为0地址号的数据)改写为新数据的情况下,将不变更的旧数据(例如扇区地址为1~3地址号的数据)读取到缓冲存储器(SRAM)中的步骤。
4、将新数据写入缓冲存储器(SRAM)中的步骤。
5、将暂时存储在缓冲存储器(SRAM)中的数据写入与包含上述页的物理块不同的抹去结束物理块中的步骤。
6、将记录有旧数据的物理块分配为无效的物理块的步骤。
7、将该无效的物理块的内容抹去的步骤。
通过如上那样的顺序进行数据写入。
由以上的说明可知,“伴随着退避处理的改写方法”尽管进行1个扇区的改写,还需要包括不变更的旧数据的扇区的1页量的写入处理,所以成为较复杂而耗费时间的处理。
作为对应这样的问题的技术,例如有专利文献2公开的技术。
在专利文献2所述的非易失性存储装置的闪存器中,物理块的扇区配置顺序不受逻辑顺序的制约,按照进行了写入指示的顺序从物理块的下位页侧开始写入数据。此外,对于写入了各扇区的每个页,如写入了有效数据、或者由于是旧数据而无效那样进行记录状态的管理的技术,称作“追加型改写方法”。
在该追加型改写方法中,不是每当有来自存取装置的数据写入指示就发生数据的退避处理,所以写入本身较高速地进行,但在某个定时必须进行碎片整理(从规定的块仅收集有效的扇区而写入到其他抹去结束的块中、抹去变为无效的块的处理)。此外,该碎片整理在“伴随着退避处理的改写方法”中也进行。
专利文献1美国专利6760805号公报专利文献2(日本)特开平5-27924号公报但是,“伴随着退避处理的改写方法”及“追加型改写方法”中的碎片整理需要较长的时间,如果执行碎片整理的次数较多,则非易失性存储元件的工作速度降低。

发明内容
所以,本发明鉴于上述问题,其目的是提供一种能够减少碎片整理的次数、能够高速地进行数据写入的非易失性存储装置。
为了达到上述目的,有关本发明的非易失性存储装置,从外部输入作为扇区单位的数据的输入数据,包括主记忆存储器,是非易失性的,以比上述扇区单位大的页单位进行数据的写入;辅助记忆存储器,至少保存页单位量的上述输入数据;存储器判断单元,判断上述辅助记忆存储器是否保存了上述页单位以上的数据;及存储器控制单元,在通过上述存储器判断单元判断为上述辅助记忆存储器保存了上述页单位以上的数据的情况下,以上述页单位将保存在上述辅助记忆存储器中的数据写入上述主记忆存储器的新页中。
根据该结构,由于以不包含旧数据的扇区的页单位将数据写入主记忆存储器中,所以与以往的以包含旧数据的扇区的页单位将数据写入主记忆存储器中的情况相比,能够减少无效页的产生。由此,无效页比较少,所以能够减少碎片整理的次数。即,由于也可以不进行写入主记忆存储器中时的退避处理,所以能够减少碎片整理的次数。由此,能够高速地进行数据写入。此外,由于能够减少向主记忆存储器的写入次数,所以能够提高非易失性存储装置的改写寿命。
此外,也可以是,上述辅助记忆存储器保存上述输入数据和上述输入数据的地址;上述非易失性存储装置还包括地址判断单元,判断上述辅助记忆存储器保存的地址和来自外部的新的输入数据的地址是否一致;CPU,向上述辅助记忆存储器写入上述新的输入数据,并进行上述存储器控制单元的控制;上述辅助记忆存储器保存表示保存的各数据写入的顺序的数据管理标志;在由上述地址判断单元判断为上述辅助记忆存储器保存的地址与上述新的输入数据的地址一致的情况下,上述CPU向上述辅助记忆存储器的、同保存了判断为与上述新的输入数据一致的数据的区域不同的区域,写入上述新的输入数据;上述CPU对与上述新的输入数据对应的上述数据管理标志设定表示在被判断为与上述新的输入数据一致的数据之后写入上述新的输入数据的信息;上述CPU根据上述数据管理标志决定上述存储器控制单元写入上述主记忆存储器中的数据。
根据该结构,在从外部输入了相同地址的数据的情况下,通过将多个相同地址的数据保存在辅助记忆存储器中、仅将新输入的最新的数据写入主记忆存储器中,能够减少向主记忆存储器的写入次数。由此,由于无效页的产生变少,所以能够减少碎片整理的次数。此外,通过确认辅助记忆存储器保存的数据管理标志,CPU能够容易地判断保存在辅助记忆存储器中的相同地址的数据中的最新的数据。此外,将与保存在辅助记忆存储器中的数据相同地址的输入数据保存在与保存于辅助记忆存储器中的相同地址的数据不同的区域中。由此,具有在输入数据向辅助记忆存储器的写入失败的情况下至少不会丢失保存在辅助记忆存储器中的旧数据的效果。
此外,也可以是,上述辅助记忆存储器保存上述输入数据和上述输入数据的地址;上述非易失性存储装置还具有地址判断单元,判断上述辅助记忆存储器保存的地址与来自外部的新的输入数据的地址是否一致;CPU,向上述辅助记忆存储器写入上述新的输入数据,并进行上述存储器控制单元的控制;上述CPU在由上述地址判断单元判断为上述辅助记忆存储器保存的地址与上述新的输入数据的地址一致的情况下,将上述新的输入数据覆盖在上述辅助记忆存储器的保存了判断为与上述新的输入数据一致的数据的区域。
根据该结构,在从外部输入了相同地址的数据的情况下,将先输入的数据暂时存储在辅助记忆存储器中,在新从外部输入了相同地址的数据时覆盖数据。由此,能够仅将新输入的最新的数据写入主记忆存储器中,所以能够减少向主记忆存储器的写入次数。由此,无效页的产生变少,所以能够减少碎片整理的次数。由此,能够高速地进行数据写入。此外,向主记忆存储器的写入次数减少,从而能够提高非易失性存储装置的改写寿命。此外,由于将数据覆盖在辅助记忆存储器中,所以能够有效地利用辅助记忆存储器的存储容量。
此外,也可以是,上述存储器判断单元判断上述辅助记忆存储器是否已满;在由上述存储器判断单元判断上述辅助记忆存储器已满的情况下,上述存储器控制单元将上述辅助记忆存储器保存的数据写入上述主记忆存储器中。
根据该结构,即使在从外部输入的数据不是逻辑地址顺序、而是从对应于逻辑地址的主记忆存储器的物理地址的中途或最后传送来的情况下,也能够将数据保存在辅助记忆存储器中。由此,将对应于主记忆存储器的物理地址的页单位量的逻辑地址的数据保存在辅助记忆存储器中,所以能够对主记忆存储器进行写入。由此,无效页的产生变少,所以能够减少碎片整理的次数。此外,能够提高数据写入的效率。
此外,也可以是,上述存储器判断单元由硬件构成;上述非易失性存储装置还具有通知单元,将上述存储器判断单元的判断结果通知给上述CPU;上述CPU根据由上述通知单元通知的上述判断结果,控制上述存储器控制单元;通过上述CPU的控制,上述存储器控制单元将保存在上述辅助记忆存储器中的数据以上述页单位写入上述主记忆存储器的新页中。
根据该结构,通知单元将辅助记忆存储器已满的情况通知给CPU。由此,CPU也可以不进行确认辅助记忆存储器的状态的处理,所以能够简化CPU的处理时序。
此外,也可以是,上述存储器判断单元根据上述辅助记忆存储器保存的有效的上述数据管理标志的数量,判断上述辅助记忆存储器是否已满。
根据该结构,存储器判断单元能够容易地判断辅助记忆存储器是否已满。
此外,也可以是,上述存储器判断单元判断上述辅助记忆存储器是否已满;上述存储器控制单元在由上述存储器判断单元判断为上述辅助记忆存储器已满的情况下,将上述辅助记忆存储器保存的数据写入上述主记忆存储器中;上述CPU在进行了上述存储器判断单元的判断后,将上述新的输入数据写入上述辅助记忆存储器中。
根据该结构,在存储器判断单元的判断之后将新的输入数据写入辅助记忆存储器中,所以通过将新的输入数据写入辅助记忆存储器中,即使在辅助记忆存储器已满的情况下也继续进行其后的处理。即,能够在辅助记忆存储器已满的状态下,比较接着从外部输入的数据的地址与辅助记忆存储器保存的数据,来决定其后的处理。由此,在相同地址的数据到来的情况下,即使辅助记忆存储器是满的,也只要覆盖就可以,能够延迟对辅助记忆存储器进行写入的定时。由此,能够使非易失性存储装置的写入高速化。此外,能够有效地利用辅助记忆存储器的容量。
此外,也可以是,上述非易失性存储装置还具有更新判断单元,判断上述输入数据是否频繁地被更新;由上述更新判断单元判断为频繁地更新的数据即特定数据与上述特定数据以外的数据相比,以低的优先顺序写入上述主记忆存储器中。
根据该结构,将频繁被更新的特定地址的数据(目录项及键信息等)保存在辅助记忆存储器内,在处理的最后等写入主记忆存储器中。由此,不需要每当频繁被更新的数据到来时写入主记忆存储器中,能够减少向主记忆存储器的改写次数。由此,由于不进行不需要的写入,所以能够减少碎片整理的次数。此外,能够延长非易失性存储装置的寿命。
此外,也可以是,上述非易失性存储装置还具有特定地址判断单元,判断上述输入数据的地址是否与特定地址一致;具有上述特定地址的数据即特定数据与上述特定数据以外的数据相比,以低的优先顺序写入上述主记忆存储器中。
根据该结构,将频繁被更新的特定地址的数据(FAT数据等)保存在辅助记忆存储器内,在处理的最后等写入主记忆存储器中。由此,不需要每当频繁被更新的数据到来时写入主记忆存储器中,能够减少向主记忆存储器的改写次数。由此,由于不进行不需要的写入,所以能够减少碎片整理的次数。此外,能够延长非易失性存储装置的寿命。
此外,也可以是,上述辅助记忆存储器保存了表示保存的各数据是否是上述特定数据的特定区域标志。
根据该结构,能够容易地判别辅助记忆存储器保存的特定区域的数据。此外,能够任意地设定多个特定区域。
此外,也可以是,保存了上述特定数据的区域可以在上述辅助记忆存储器内自由地设定。
根据该结构,能够任意地设定多个特定区域。此外,由于能够将任意的区域作为特定区域,所以能够有效地利用辅助记忆存储器的容量。
此外,也可以是,上述辅助记忆存储器保存了表示保存的各数据是否已被正常地写入上述辅助记忆存储器中的写入结束标志。
根据该结构,能够容易地判断在辅助记忆存储器中是否正常地写入了数据。由此,能够提高辅助记忆存储器保存的数据的可靠性。
此外,也可以是,上述辅助记忆存储器保存了表示保存的各数据是否已被写入上述主记忆存储器中的传送结束标志。
根据该结构,能够容易地判断辅助记忆存储器保存的数据是否是已经保存在主记忆存储器中的数据、是否可以进行覆盖。此外,能够容易地判断在主记忆存储器中是否已正常地写入了数据,能够提高主记忆存储器保存的数据的可靠性。
此外,上述辅助记忆存储器也可以是非易失性RAM。
根据该结构,即使在将数据写入辅助记忆存储器中后、在将该数据写入主记忆存储器之前断电,由于数据还残留在辅助记忆存储器中,所以非易失性存储装置的数据不会丢失。此外,向辅助记忆存储器写入了数据的时刻,能够对外部进行写入结束的通知,能够提高非易失性存储装置的写入速度。
此外,上述辅助记忆存储器也可以是强电介质存储器(FeRAM)、磁性记录式随机读写存储器(MRAM)、双向统一存储器(OUM)或电阻RAM(RRAM)。
此外,上述地址判断单元也可以由硬件构成。
根据该结构,地址判断单元能够硬件式地判断辅助记忆存储器保存的数据的地址与从外部新输入的数据的地址是否一致,能够提高动作速度。此外,能够减少CPU的处理。
此外,有关本发明的非易失性存储装置的数据写入方法,上述非易失性存储装置从外部输入作为扇区单位的数据的输入数据,具备以比上述扇区单位大的页单位进行数据的写入的非易失性的主记忆存储器,上述非易失性存储装置的数据写入方法包括保存步骤,将上述输入数据保存在辅助记忆存储器中;判断步骤,判断上述辅助记忆存储器是否保存了上述页单位以上的数据;写入步骤,在上述判断步骤中判断为上述辅助记忆存储器保存了上述页单位以上的数据的情况下,将保存在上述辅助记忆存储器中的数据以上述页单位写入上述主记忆存储器的新页中。
由此,由于以不包含旧数据的扇区的页单位向主记忆存储器写入数据,所以与以包括以往的旧数据的页单位将数据写入主记忆存储器的情况相比,能够减少无效页的产生。由此,由于无效页变少,所以能够减少碎片整理的次数。即,由于也可以不进行写入主记忆存储器中时的退避处理,所以能够减少碎片整理的次数。由此,能够高速地进行数据写入。此外,能够减少向主记忆存储器的写入次数,所以能够提高非易失性存储装置的改写寿命。
另外,作为如本发明这样使用非易失性的辅助记忆存储器的先行技术,有特开平7-200418号公报中记载的技术,但在特开平7-200418号公报中对于上述那样的退避合理化没有公开。
本发明能够提供可减少碎片整理的次数、能够高速地进行数据写入的非易失性存储装置。
这里引用2006年1月19日提交的日本专利申请NO.2006-011663。
本发明的这些及其他目的、优点和特征通过以下结合附图对优选的实施方式的说明就会变得更加清楚。


图1是表示以往的非易失性存储系统的结构的框图。
图2是第1实施方式的非易失性存储系统的框图。
图3是表示闪存器130的结构的图。
图4是表示闪存器130的物理块的结构的图。
图5是第1实施方式的缓冲存储器122保存的数据的结构的图。
图6是表示第1实施方式的非易失性存储装置110的写入处理的流程图。
图7是表示第1实施方式的非易失性存储装置110的改写处理的流程的图。
图8是表示以往的非易失性存储装置的改写处理的流程的图。
图9是表示以往的非易失性存储装置的改写处理的流程的图。
图10是表示第2实施方式的非易失性存储装置110的写入处理的流程图。
图11是表示第2实施方式的非易失性存储装置110的改写处理的流程的图。
图12是表示第3实施方式的非易失性存储系统的结构的框图。
图13是表示第3实施方式的非易失性存储装置110的写入处理的流程图。
图14是表示第5实施方式的非易失性存储装置110的写入处理的流程图。
图15是表示第6实施方式的非易失性存储装置110的写入处理的流程图。
图16是第8实施方式的缓冲存储器122保存的数据的结构的图。
图17是表示第8实施方式的非易失性存储装置110的改写处理的流程的图。
图18是第9实施方式的缓冲存储器122保存的数据的结构的图。
图19是表示第9实施方式的非易失性存储装置110的改写处理的流程的图。
图20是第10实施方式的缓冲存储器122保存的数据的结构的图。
图21是表示第10实施方式的非易失性存储装置110的改写处理的流程的图。
图22是表示第11实施方式的非易失性存储装置110的改写处理的流程的图。
图23是表示第12实施方式的非易失性存储系统的结构的框图。
具体实施例方式
以下,参照附图对有关本发明的非易失性存储装置的实施方式详细地进行说明。
(第1实施方式)有关本实施方式的非易失性存储装置将至少1页量的从存取装置输入的扇区单位的数据保存在辅助记忆存储器中,对主记忆存储器以页单位进行写入。由此,能够减少写入次数。由此,能够减少无效页的产生,所以能够减少碎片整理的次数,能够提高动作速度。
首先,说明本发明的第1实施方式的非易失性存储装置的结构。
图2是表示本发明的第1实施方式的非易失性存储系统的结构的框图。图2所示的非易失性存储系统具备非易失性存储装置110和存取装置100。
存取装置100对非易失性存储装置110发送扇区单位的用户数据(以后单称作数据)的读取或写入命令。在写入时,存取装置100对非易失性存储装置110发送写入数据和写入数据的逻辑地址。在读取时,存取装置100对非易失性存储装置110发送读取数据的逻辑地址并接收数据。例如,存取装置100是数字静像摄像机或个人计算机等。
非易失性存储装置110具备存储器控制器120、和作为非易失性的主记忆存储器的闪存器130。非易失性存储装置110例如是SD存储卡。
存储器控制器120根据来自存取装置100的写入命令,向闪存器130进行从存取装置100输入的数据的写入。此外,存储器控制器120根据来自存取装置100的读取命令,从闪存器130读取数据,向存取装置100输出。存储器控制器120具备CPU121、缓冲存储器122和存储器控制部123。
CPU121进行与存取装置100的收发及向闪存器130的数据的写入及读取中的地址管理等整体的控制。此外,CPU121进行向缓冲存储器122的写入、以及存储器控制部123的控制。
缓冲存储器122是暂时存储从存取装置100输入的、向闪存器130写入前的数据的辅助记忆存储器。缓冲存储器122至少以作为闪存器130的写入单位的页单位量保存从存取装置100输入的扇区单位的数据。缓冲存储器122是非易失性RAM,例如是强电介质存储器(FeRAM)、磁性记录式随机读写存储器(MRAM)、双向统一存储器(OUM)及电阻存储器(RRAM)等。另外,缓冲存储器122也可以是挥发性存储器(SRAM等)。
存储器控制部123控制向主记忆存储器130及缓冲存储器122的数据的写入及读取。
另外,CPU121执行的逻辑物理变换处理、即将存取装置100指定的逻辑地址变换为闪存器130的物理地址的处理等的地址管理处理由于一般是公知的技术,所以为了简单而省略说明。
闪存器130以比扇区单位大的页单位进行数据的写入。闪存器130例如是多值NAND闪存器。
图3是表示闪存器130的物理块的结构的一例的图。图3所示的闪存器130由8个物理块200(PB0~PB7)构成。物理块200是数据删除(擦除)的最小单位,例如是256K字节。
图4是表示物理块200的物理地址的结构的一例的图。图4所示的物理块200由128个页210构成。页210是闪存器130的数据写入的最小单位,例如是2K字节。各页210具备2048字节的数据区域211、和64字节的管理区域212。作为来自存取装置100的数据单位的扇区213是512字节,在各页210中存储有4个扇区量的数据。例如,在页0中记录有PSN0~PSN3的4个扇区量的数据。此外,管理区域212是存储CPU121的地址管理处理所需的信息的区域,但省略了详细的说明。
另外,在图4中,从左上开始,如PSN0、PSN1、……PSN511那样赋予物理的配置标号。所谓的PSN是取Physical Sector Number的开头字母的缩写。另外,闪存器130并不限于图3及图4所示的结构。
图5是表示保存在缓冲存储器122中的数据的结构的图。如图5所示,缓冲存储器122具有能够暂时存储物理块的1个扇区量的数据和逻辑地址的容量,保存8个字301。各字301包括数据区域302、逻辑地址区域303、和数据管理标志304。在数据区域302中保存作为1个扇区量的512字节的数据。在逻辑地址区域303中保存该数据的扇区单位的地址,具有能够识别1Gbyte量的扇区的位数(21位)。数据管理标志304是表示缓冲存储器122保存的各数据写入的顺序的信息。即,数据管理标志304在缓冲存储器122中保存了相同地址的多个数据时表示哪个数据是最新的。例如,数据管理标志304是4位。如图5所示,在字0的数据区域302中保存数据A,在逻辑地址区域303中保存“000000h”,在数据管理标志304中设定有“1”。在该数据被保存在缓冲存储器122中的状态下,如果从存取装置100送来相同的逻辑地址的数据B,则在字1的数据区域302中保存数据B,在逻辑地址区域303中保存“000000h”,在数据管理标志304中设定表示字1的数据是在字0的数据之后写入的信息的“2”。由此,CPU121通过确认保存在缓冲存储器122中的相同地址的数据的数据管理标志304,能够判断哪个数据是最新的数据。
下面利用附图对以上那样构成的本发明的第1实施方式的非易失性存储装置的动作进行说明。
图6是本实施方式的非易失性存储装置110的写入处理的流程图。利用图6说明缓冲存储器122暂时存储从存取装置100传送的数据、然后将暂时存储的数据写入闪存器130中的一系列的写入动作。
在图6中,非易失性存储装置110成为接收来自存取装置100的写命令(以下记载为WCMD)的接收等待状态(S500)。CPU121如果接收到WCMD(S500中为Yes),则对从存取装置100新输入的数据的逻辑扇区地址与保存在缓冲存储器122中的数据的逻辑扇区地址进行比较,判断是否一致(S501)。在缓冲存储器122中没有逻辑地址一致的数据的情况下,即在新输入的数据是新地址的数据的情况下(S502中为Yes),1个扇区量的数据与逻辑扇区地址暂时存储在缓冲存储器122中(S503)。在缓冲存储器122中有逻辑扇区地址一致的数据的情况下,即在新输入的数据不是新地址的数据的情况下(S502中为No),CPU121将从存取装置100新输入的数据的数据管理标志304的值设为从保存于缓冲存储器122中的逻辑扇区地址一致的数据的数据管理标志304的值增加1后的值(S504),将1个扇区量的数据与逻辑扇区地址暂时存储在缓冲存储器122中(S503)。接着,CPU121判断缓冲存储器122是否已满(S505)。在缓冲存储器122已满的情况下(S505中为Yes),通过CPU121的控制,存储器控制部123将保存在缓冲存储器122中的数据以闪存器130的写入单位即页单位写入闪存器130的规定物理块的新页中(S506)。这里,CPU121根据对应于各数据的数据管理标志304,决定写入闪存器130中的数据。另外,所谓的规定物理块,是通过CPU121的逻辑物理变换等的地址管理处理指定的物理块,对于指定哪个物理块省略说明。
此外,在缓冲存储器122中有空白区域的情况下(S505中为No),检查是否从存取装置100传送了传送结束命令(以下称作STOP)(S507)。在接收到STOP的情况下(S507中为Yes),CPU121对存取装置100通知写入结束(S508)。
另外,也可以在将1个扇区量的数据暂时存储在缓冲存储器122的时刻对存取装置100通知写入结束。此外,也可以准备缓冲存储器122以外的其他缓冲存储器,CPU121对新从存取装置100传送的数据暂时取入到其他的缓冲存储器中后,将新从存取装置100传送来的数据的逻辑扇区地址与缓冲存储器122的数据的逻辑扇区地址进行比较,来实施其后的处理。
根据以上说明的非易失性存储装置110的写入处理,对存取装置100改写数据的例子进行说明。另外,为了使本发明与以往的发明的差异明确,首先利用图7进行本发明的非易失性存储装置110的数据改写处理的说明,接着利用图8及图9进行以往的非易失性存储装置的数据改写处理的说明。
图7是表示本实施方式的非易失性存储装置110的改写处理的流程的图。
在图7中,从存取装置100传送3次WCMD。将最初的WCMD标记为WCMD1、将接着的WCMD标记为WCMD2、将最后的WCMD标记为WCMD3。此外,在闪存器130的物理块PB5的页0中保存了逻辑扇区地址LS0~LS3的旧数据LS0A~LS3A,假设物理块PB0的页0没有写入数据。此外,假设缓冲存储器122没有保存数据。另外,在图7中,为了简化说明,设缓冲存储器122保存的字数为5,但并不限于此。
在WCMD1中,非易失性存储装置110接收逻辑扇区地址0(LS0)的数据LS0B,暂时存储在缓冲存储器122中。在接收到LS0B后,如果从存取装置100传送STOP信号,则获取了数据的CPU121进行保存在缓冲存储器122中的数据的逻辑扇区地址、和LS0B的逻辑扇区地址(LS0)的比较,判断是否一致。CPU121由于没有一致的逻辑地址的数据,所以将LS0B保存在缓冲存储器122中。此时,由于数据LS0B是新的数据,所以数据LS0B的数据管理标志304设定为“1”。
接着,在WCMD2中,从存取装置100传送逻辑扇区地址LS0的1扇区量的数据LS0C,然后传送STOP信号。CPU121进行保存在缓冲存储器122中的数据的逻辑扇区地址、和LS0C的逻辑扇区地址的比较。由于在WCMD1中传送来的LS0B的逻辑扇区地址(LS0)与LS0C的逻辑扇区地址(LS0)一致,所以将对应于数据LS0C的数据管理标志304的值设定为,将缓冲存储器122保存的数据LS0B的数据管理标志304的值“1”增加1后的值即“2”。CPU121在与缓冲存储器122的保存了LS0B的区域不同的区域保存LS0C、逻辑地址(LS0)、和增加后的数据管理标志304的值“2”。
然后,存取装置100传送WCMD3,接着传送逻辑扇区地址1~3的3个扇区量的数据(LS1B、LS2B及LS3B)。LS1B、LS2B及LS3B接着LS0B及LS0C依次暂时存储在缓冲存储器122中。此时,LS1B、LS2B及LS3B由于是新地址的数据,所以将对应于LS1B、LS2B及LS3B的数据管理标志304的值设定为“1”。
在存储了LS3B的时刻,缓冲存储器122已满,CPU121识别出已满的情况。存储器控制部123根据来自CPU121的命令,将暂时存储在缓冲存储器122中的数据传送给闪存器130,进行写入。这里,CPU121识别出LS0B与LS0C是相同逻辑地址的数据,通过看数据管理标志304来确认LS0C是最新的数据。即,CPU121根据对应于LS0B的数据管理标志304的值是“1”以及对应于LS0C的数据管理标志304的值是“2”,得到LS0B是旧的数据(先写入缓冲存储器122中的数据)并无效的信息。此外,CPU121得到LS0C是新的数据(后写入缓冲存储器122中的数据)并有效的信息。CPU121判断LS0C是最新的数据,将LS0C、LS1B、LS2B及LS3B传送给闪存器130中,对物理块PB0的页0的成批实施写入。这样,由于将LS0C、LS1B、LS2B及LS3B的新数据成批写入到PB0的页0中,所以不需要旧数据(LS0A~LS3A)的退避处理。存储有旧数据的PB5的页0在某个适当的定时被抹去,关于抹去动作,由于比较简单,所以省略。
接着,利用图8说明以往的非易失性存储装置的动作。图8是表示以往的非易失性存储装置的改写处理的流程的图。
在图8中,也与图7同样地从存取装置100传送WCMD1~3。以往的非易失性存储装置1110以每个WCMD~STOP的处理单位,从缓冲存储器1122向闪存器1130进行写入,并且以每个该单位对存取装置100通知写入结束。此外,缓冲存储器1122具有1个扇区量的容量。在图8中,在WCMD1的接收后,将LS0B暂时存储在缓冲存储器中。此时,假设在物理块PB5的页0中已经存储有LS0A~LS3A。此外,假设要进行新数据写入的物理块PB0~PB4是抹去结束的块。
以往的非易失性存储装置1110在接收WCMD1的STOP后,将缓冲存储器1122的LS0B写入物理块PB0的页0的PSN0的位置,同时将存储在物理块PB5的页0中的旧数据LS1A~SL3A写入物理块PB0的页0的PSN1~3的位置。
接着,将在WCMD2之后传送来的LS0C暂时存储在缓冲存储器1122中,与刚才同样,在接收到STOP后,将缓冲存储器1122的LS0C写入物理块PB1的页0的PSN0的位置,同时将保存在物理块PB0的页0中的LS1A~LS3A写入物理块PB1的页0的PSN1~3的位置。
最后,将在WCMD3之后传送来的LS1B~LS3B依次经由缓冲存储器1122写入PB2~PB4的页0的规定扇区存储位置,同时从存储有旧数据的PB1~PB3的对应的扇区存储位置退避。
以上,利用图7及图8,将本发明与以往的例子对比来对改写处理进行了说明,可知本实施方式中的非易失性存储装置110与以往的非易失性存储装置1110相比不需要退避处理,相应地向闪存器130的写入次数减少,所以改写速度较快。具体而言,上述的以往的非易失性存储装置1110在LS0C及LS1B~LS3B的改写例中需要5次的页写入,相对于此,本实施方式的非易失性存储装置110通过1次的页写入即可。此外,本实施方式的非易失性存储装置110与以往相比写入次数减少,在使用于写入的数据区域也减少。即,能够减少无效页的产生,所以能够减少碎片整理的次数。此外,通过减少向闪存器130的写入次数,能够延长非易失性存储装置的寿命。
另外,在图7及图8中,在已经存储有旧数据的例子而不存在旧数据的情况下进行说明。图9是表示不存在旧数据时的以往的非易失性存储装置的写入处理的流程的图。如图9所示,假设缓冲存储器1122具有4个扇区量的容量。
首先,在WCMD1时将LS0A写入物理块PB0的页0的对应的扇区存储位置。接着,在WCMD2时将LS0B写入物理块PB0的页1的对应的扇区存储位置。最后,在WCMD3时将LS1B~LS3B写入PB0的页1的对应的扇区位置。由此,如图9所示,不存在旧数据时的以往的非易失性存储装置通过3次的页写入即可。即,可知在不存在旧数据的情况下,虽然与保存了相同逻辑扇区地址的数据的情况相比改写速度变快,但如果与本实施方式的非易失性存储装置110相比则向闪存器的写入次数较多,改写速度较慢。
将图9所示那样的时分割地写入到相同页的不同的存储位置的方法称作分割写入。例如,双值NAND闪存器能够进行分割写入,但在多值NAND闪存器中,为了确保可靠性,不保证进行分割写入。此外,即使在能够进行分割写入的情况下,对于分割写入的次数也有限制。因而,如果想要实现有可靠性的非易失性存储装置,则不能采用图9所示那样的分割写入。本实施方式中的非易失性存储装置110的写入由于不使用分割写入而能够减少写入次数,所以能够同时实现可靠性与高速动作。
此外,本实施方式的非易失性存储装置110在缓冲存储器122中保存了旧数据(在图7的例子中为LS0B)。由此,即使在将该旧数据与相同的逻辑扇区地址的数据(在图7的例子中是LS0C)写入缓冲存储器122中的过程中因断电等而写入失败的情况下也不会丢失旧数据。
另外,在上述说明中,在缓冲存储器122已满的时刻,进行向闪存器130的写入,但也可以在缓冲存储器122中至少保存了1页量的数据的时刻进行向闪存器130的写入。在此情况下,CPU121在步骤S505中不进行缓冲存储器122是否是满的比较,判断缓冲存储器122是否保存了页单位量的数据。
此外,在上述说明中,作为主记忆存储器而使用多值NAND闪存器130,但也可以是双值NAND闪存器,也可以使用其他非易失性存储器(NOR闪存器或EEPROM等)。
(第2实施方式)第2实施方式的非易失性存储装置在缓冲存储器122中保存了相同逻辑地址的数据的情况下,将新的数据覆盖在保存了旧数据的区域。由此,能够有效地利用缓冲存储器122的容量。
图10是第2实施方式的非易失性存储装置的写入处理的流程图。另外,第2实施方式的非易失性存储装置的结构由于与图2相同,所以省略说明。
如图10所示,第2实施方式的非易失性存储装置的写入处理在步骤S902中,在缓冲存储器122中存在逻辑扇区地址一致的数据的情况下(S902中为No),将新从存取装置输入的1个扇区量的数据与逻辑扇区地址覆盖在缓冲存储器122的保存了一致的数据的区域(S906)这一点与第1实施方式不同。在步骤S906之后,检查是否从存取装置100传送了STOP(S907)。另外,WCMD的接收(S900)、地址比较(S901)、地址不一致后的处理(S902中为Yes~S905)、STOP接收(S907)以及写入结束通知(S908)由于与第1实施方式同样,所以省略说明。
图11是表示第2实施方式的非易失性存储装置的改写处理的流程的图。
在图11中,与第1实施方式中的图7同样,从存取装置100传送3次WCMD。此外,与图7同样,假设在闪存器130的物理块PB5的页0中保存了逻辑扇区地址LS0~LS3的旧数据LS0A~LS3A,物理块PB0的页0没有写入数据。此外,假设缓冲存储器122没有保存数据。另外,在图10中,为了实现说明的简单化,设缓冲存储器122保存的字数为4,但并不限于此。
在WCMD1中,非易失性存储装置110接收逻辑扇区地址0(LS0)的数据LS0B,暂时存储在缓冲存储器122中。在接收到LS0B后,如果传送STOP信号,则接收到数据的CPU121进行保存在缓冲存储器122中的数据的逻辑扇区地址与LS0B的逻辑扇区地址(LS0)的比较。由于没有一致的逻辑扇区地址,所以CPU121将LS0B保存在缓冲存储器122中。
接着,在WCMD2中,从存取装置100传送逻辑扇区地址LS0的1个扇区的数据LS0C,然后传送STOP信号。CPU121进行保存在缓冲存储器122中的数据的逻辑扇区地址与LS0C的逻辑扇区地址的比较。由于在WCMD1中传送的LS0B的逻辑扇区地址与LS0C的逻辑扇区地址一致,所以CPU121将新的数据(LS0C)覆盖在缓冲存储器122的保存了旧数据(LS0B)的区域。
然后,存取装置100传送WCMD3,接着传送逻辑扇区地址1~3(LS1~LS3)为止的3个扇区量的数据(LS1B、LS2B及LS3B)。由于LS1B、LS2B及LS3B是新地址的数据,所以接着LS0B及LS0C依次暂时存储在缓冲存储器122的空区域。
在存储了LS3B的时刻,缓冲存储器122已满,CPU121识别出已满的情况。存储器控制部123根据来自CPU121的命令,将暂时存储在缓冲存储器122中的数据传送给闪存器130,进行写入。CPU121将LS0C、LS1B、LS2B及LS3B传送给闪存器130,成批向物理块PB0的页0中实施写入。由此,由于将LS0C、LS1B、LS2B及LS3B的新数据成批写入PB0的页0中,所以不需要旧数据的退避处理。
根据以上可知,第2实施方式的非易失性存储装置与第1实施方式同样,能够通过一次的页写入将数据写入,与以往例相比也较好。此外,在第2实施方式中,在缓冲存储器122中保存了相同逻辑地址的数据的情况下,由于将新数据覆盖在保存了旧数据的区域,所以能够有效利用缓冲存储器122的容量。此外,有不需要数据管理标志304的优点。此外,在上述说明中,设缓冲存储器122的容量为4扇区,但通过进一步增加缓冲存储器122的容量,能够暂时保存更多的数据、在相同地址的数据到来的情况下能够进行覆盖,所以能够进一步实现写入的高效化。
(第3实施方式)第3实施方式的非易失性存储装置具备将缓冲存储器122已满的情况通知给CPU121的通知部。由此,能够减少CPU121的处理。
图12是表示第3实施方式的非易失性存储系统的结构的框图。另外,对于与图2同样的要素赋予相同的标号而省略详细的说明。
在图12所示的第3实施方式的非易失性存储装置110中,存储器控制器120具备通知部124这一点与图2所示的第1实施方式不同。通知部124由硬件构成,判断缓冲存储器122是否是满的,将判断结果通知给CPU121。CPU121根据由通知部124通知的判断结果控制存储器控制部123,将缓冲存储器122保存的数据写入闪存器130中。
图13是第3实施方式的非易失性存储装置110的写入处理的流程图。
利用图10说明缓冲存储器122暂时保存从存取装置100传送来的数据后将暂时存储的数据写入闪存器130中的一系列的写入动作。
在图13中,从WCMD接收到缓冲存储器122是否是满的判断(S1200~S1205)与图10所示的第2实施方式同样。
在缓冲存储器122已满的时刻(S1205中为Yes),通知部124对CPU121通知缓冲存储器122是满的情况(S1209)。CPU121接受到该通知信号,使用存储器控制部123,以闪存器130的写入单位即页单位将数据写入闪存器130的规定的物理块中(S1206)。
根据以上,在第3实施方式的非易失性存储装置110中,通知部124将缓冲存储器122已满的情况通知给CPU121。由此,不需要每当CPU121对缓冲存储器122写入数据时对将保存在缓冲存储器122中的数据写入主记忆存储器130中的定时进行确认,只要接受来自缓冲存储器122的信号就可以,所以能够使CPU121的处理时序变得简单。此外,由于通知部124硬件式地进行缓冲存储器122是否是满的判断、以及向CPU121的判断结果的通知,所以能够使处理高速化。
(第4实施方式)第4实施方式的非易失性存储装置通过数据管理标志304判断缓冲存储器122是否已满。由此,能够容易地判断缓冲存储器122的空状态。
第4实施方式的非易失性存储装置110的结构与图2同样,写入处理的流程图与图6同样。
第4实施方式的非易失性存储装置110的CPU121在图6中的步骤S505中根据缓冲存储器122保存的有效的数据管理标志304的数量判断缓冲存储器122是否已满这一点与第1实施方式不同。例如,将不需要的数据(已写入闪存器130中的数据等)的数据管理标志304的值设定为“0”。此外,将没有写入数据的空白区域的数据管理标志304的值也设定为“0”。在此情况下,CPU121确认缓冲存储器122的数据管理标志304,在没有数据管理标志304为“0”的数据的情况下,能够判断缓冲存储器122是满的。
根据以上,第4实施方式的非易失性存储装置110通过确认数据管理标志304,CPU121能够容易地判断缓冲存储器122是否是满的。由此,不需要用来决定将缓冲存储器122保存的数据写入闪存器130中的定时的、在第3实施方式中说明的通知部124等,能够使非易失性存储装置110的电路结构变得简单。
(第5实施方式)第5实施方式的非易失性存储装置在判断缓冲存储器122是否是满的后,将数据写入缓冲存储器122中。由此,能够延迟进行对闪存器130的写入的定时,所以能够有效地利用缓冲存储器122的容量。
图14是第5实施方式的非易失性存储装置110的写入处理的流程图。另外,第5实施方式的非易失性存储装置110的结构与图2相同。
在图14中,非易失性存储装置110成为来自存取装置100的写命令的接收等待状态(S1300)。如果接收到WCMD(S1300中为Yes),CPU121对从存取装置100传送来的数据的逻辑扇区地址、和保存在缓冲存储器122中的数据的逻辑扇区地址进行比较(S1301)。在缓冲存储器122中没有逻辑扇区地址一致的数据的情况下(S1302中为Yes),CPU121判断缓冲存储器122是否已满(S1303)。这里,在步骤S1302中的不一致的地址数与能够保存在缓冲存储器122中的数据数一致的情况下,判断为缓冲存储器122是满的。例如,假设缓冲存储器122最多保存8个字的数据。假设在缓冲存储器122中保存了3个有效的数据,则步骤S1302中的不一致的地址数为3个,与能够保存在缓冲存储器122中的数据数即8个不一致。即,CPU121判断为缓冲存储器122不是满的。此外,假设在缓冲存储器122中保存了8个有效的数据,则步骤S1302中的不一致的地址数为8个,与能够保存在缓冲存储器122中的数据数即8个一致。即,CPU121判断为缓冲存储器122是满的。
如果缓冲存储器122是满的(S1303中为Yes),则从缓冲存储器122以闪存器130的写入单位即页单位将数据写入闪存器130的规定的物理块中(S1304)。在步骤S1304之后,将从存取装置100输入的1个扇区的数据与逻辑扇区地址暂时存储在缓冲存储器122中(S1305)。此外,在缓冲存储器122不满的情况下(S1303中为No),在步骤S1303后,将从存取装置100输入的1个扇区的数据与逻辑扇区地址暂时存储在缓冲存储器122中(S1305)。另外,在缓冲存储器122中有逻辑扇区地址一致的数据的情况下(S1302中为No)的处理由于与图10所示的第2实施方式相同,所以省略说明。
根据以上,第5实施方式的非易失性存储装置110在判断缓冲存储器122是否满之后,进行向缓冲存储器122的新从存取装置100输入的数据的写入。由此,通过将新从存取装置100输入的数据写入缓冲存储器122中,即使在缓冲存储器122已满的情况下也继续进行其后的处理。即,在缓冲存储器122为满的的状态下,接着比较从存取装置100传送来的数据与缓冲存储器122保存的数据,能够决定其后的处理。由此,在相同地址的数据到来的情况下,即使缓冲存储器122是满的,也只要覆盖就可以,能够延迟向闪存器130进行写入的定时。此外,能够有效地利用缓冲存储器122的容量。由此,能够减少向闪存器130的写入次数。
此外,第5实施方式的非易失性存储装置110在步骤S1302中的不一致的地址数与能够保存在缓冲存储器122中的数据数一致的情况下,判断为缓冲存储器122是满的。由此,不需要具备用来决定将缓冲存储器122保存的数据向闪存器130进行写入的定时的通知部124等,能够使系统的电路结构变得简单。进而,由于根据在步骤1302的处理中得到的信息即不一致的地址数判断缓冲存储器122是否是满的,所以不需要设置用来表示缓冲存储器122满的标志等,能够削减缓冲存储器122的容量。
(第6实施方式)第6实施方式的非易失性存储装置通过降低频繁被更新的逻辑扇区地址的数据向闪存器130的写入的优先顺序,能够减少向闪存器130的写入次数。
图15是表示第6实施方式的非易失性存储装置的改写处理的流程的图。另外,第6实施方式的非易失性存储装置的结构与图2相同。
在图15中,由WCMD1及WCMD2传送的数据LSB0B及LSB0C是保存在闪存器130的某个特定区域中的频繁改写的数据。此外,假设由WCMD3传送的数据LSA0B~LSA3B是照片数据或音乐数据等连续地写入的数据,而不是很频繁地改写的数据。此外,闪存器130在物理块PB5的页0中保存了逻辑扇区地址LSA0~LSA3的数据LSA0A~LSA3A,在物理块PB7的页0中保存了逻辑扇区地址LSB0~LSB3的数据LSB0A~LSB3A。进而,假设闪存器130的物理块PB0的页0及物理块PB2的页0没有保存数据。另外,在图15中,为了实现说明的简单化,设缓冲存储器122保存的字数为5,但并不限于此。此外,保存在缓冲存储器122中的逻辑扇区地址303包括逻辑块地址3031和逻辑页地址3032。
在WCMD1中,非易失性存储装置110接收逻辑块地址3031为“0×03”、逻辑扇区地址3032为“0×00”(逻辑扇区地址LSB0)的数据LSB0B,暂时存储在缓冲存储器122中。存取装置100在WCMD1中传送数据LSB0B后,传送STOP信号。获取了数据LSB0B的CPU121进行LSB0B的逻辑扇区地址与保存在缓冲存储器122中的数据的逻辑扇区地址的比较。由于在缓冲存储器122中没有一致的逻辑扇区地址的数据,所以CPU121将LSB0B保存在缓冲存储器中。
接着,存取装置100在WCMD2中传送与LSB0B相同的逻辑扇区地址(逻辑扇区地址LSB0)的数据LSB0C,然后传送STOP信号。此时,CPU121进行保存在缓冲存储器122中的数据的逻辑扇区地址与LSB0C的逻辑扇区地址的比较。在WCMD1中传送来的LSB0C的逻辑扇区地址与缓冲存储器122保存的LSB0B的逻辑扇区地址都是LSB0(逻辑块地址3031为“0×03”及逻辑扇区地址3032为“0×00”)、是一致的,所以将保存在缓冲存储器122中的LSB0B的数据覆盖到在WCMD2中传送来的LSB0C上。此外,CPU121判断逻辑扇区地址LSB0的数据是否是反复频繁地被更新的数据。逻辑扇区地址LSB0的数据由于连续地从存取装置100输入,所以CPU121将逻辑扇区地址LSB0的数据识别为频繁地被更新的特定数据,将保存了LSB0C的缓冲存储器122的数据及地址区域设定为特定区域。保存在特定区域中的特定数据与保存在特定区域以外的数据相比以较低的优先顺序写入闪存器130中。
然后,存取装置100传送WCMD3,传送逻辑扇区地址LSA0~LSA3为止的4个扇区量的数据LSA0B~LSA3B。数据LSA0B~LSA3B由于是新地址的数据,所以依次暂时存储在缓冲存储器122中。
在存储了LSA3B的时刻,缓冲存储器122已满,CPU121识别已满的情况。存储器控制部123根据CPU121的命令,将暂时存储在缓冲存储器122中的数据传送给闪存器130。即,存储器控制部123将LSA0B~LSA3B的数据以页单位写入PB0的页0。对于LSB0C,由于CPU121识别为频繁被更新的数据,所以保留在缓冲存储器122中,在该定时不进行传送。并且,每当从存取装置100传送相同逻辑地址(LSB0)的数据时,覆盖保存在缓冲存储器122的特定区域中的逻辑地址LSB0的数据。在来自存取装置100的数据的写入结束的时刻,保存在缓冲存储器122的特定区域的数据向闪存器130传送,写入PB2的页0。
根据以上,第6实施方式的非易失性存储装置110在写入频繁被改写的特定数据(目录项及键信息等)时,通过缓冲存储器122更新数据,在处理的最后向闪存器130写入。由此,不需要每当特定数据到来时向闪存器130写入,能够提高向闪存器130的写入的速度。此外,由于能够减少向闪存器130的改写次数,所以也能够延长非易失性存储装置110的寿命。
另外,作为CPU121确定保存在缓冲存储器122的特定区域中的数据的方法,有相同逻辑地址的数据到来两次以上的情况、以及在传送一次某个逻辑地址的数据后传送其他的多个扇区量的连续地址、并且其后相同逻辑地址的数据到来的时候等,但没有特别的限制。
此外,将保存在缓冲存储器122的特定区域中的数据向闪存器130传送的定时,有来自存取装置100的写入结束后、以及判断新的其他的逻辑地址的数据是特定地址的数据之后等,但没有特别的限制。
此外,缓冲存储器122设定的特定区域在上述说明中是扇区单位,但也可以是页单位,没有特别的限制。
(第7实施方式)第7实施方式的非易失性存储装置通过降低特定的逻辑扇区地址的数据的向闪存器130的写入的优先顺序,能够减少向闪存器130的写入次数。
在第6实施方式中,CPU121判断频繁被改写的数据,降低频繁被改写的数据向闪存器130写入的优先顺序,但在第7实施方式中,将预先频繁被改写的数据的逻辑扇区地址设定为特定地址,判断由存取装置100输入的数据的逻辑扇区地址是否与特定地址一致。在判断为特定地址的情况下,作为具有特定地址的数据的特定数据与特定数据以外的数据相比,以较低的优先顺序写入闪存器130中。另外,第7实施方式的改写处理的流程与图15同样,省略说明。
根据以上,在特定地址的数据(FAT数据等)的写入时,通过缓冲存储器122更新数据,在处理的最后向闪存器130写入,所以不需要每当特定地址的数据到来时向闪存器130写入,所以能够提高向闪存器130的写入速度。此外,由于能够减少向闪存器130的改写次数,所以也能够延长非易失性存储装置110的寿命。
(第8实施方式)
第8实施方式的非易失性存储装置在缓冲存储器122中保存表示保存在缓冲存储器122中的数据是否是频繁被改写的数据的特定区域标志。由此,能够设定多个特定区域,能够有效地利用缓冲存储器122的容量。
图16是表示保存在第8实施方式的非易失性存储装置110的缓冲存储器122中的数据的形式的图。另外,对于与图5同样的结构要素赋予相同的标号,省略详细的说明。此外,第8实施方式的非易失性存储装置110的结构与图2相同。
如图16所示,第8实施方式的非易失性存储装置110的缓冲存储器122在各数据中包含有1位的特定区域标志305。特定区域标志305是表示各数据是否是特定区域的数据的标志。例如,如果特定区域标志305是“0”,则是通常的数据,如果特定区域标志305是“1”,则是特定区域的数据。特定区域的数据设定频繁地被改写的数据,例如是目录项、键信息或FAT数据等。例如,如图16所示,字0的数据由于特定区域标志305是“1”,所以逻辑地址303为“000000h”的数据为特定区域的数据。特定区域标志305为“1”的特定数据与特定数据以外的数据相比以较低的优先顺序写入闪存器130中。
图17是表示第8实施方式的非易失性存储装置110的改写处理的流程的图。
在图17中,在闪存器130的物理块PB5的页0中保存了逻辑扇区地址LSA0~LSA3的数据LSA0A~LSA3A,在物理块PB6的页0中保存了逻辑扇区地址LSB0~LSB3的数据LSB0A~LSB3A。在物理块PB7的页0中保存了逻辑扇区地址LSC0~LSC3的数据LSC0A~LSC3A。此外,假设物理块PB0的页0、物理块PB2的页0及物理块PB4的页0没有写入数据。另外,在图17中,为了实现说明的简单化,设缓冲存储器122保存的字数为6,但并不限于此。
此外,在WCMD1及WCMD2中传送的数据LSB0B及LSC0B是保存在闪存器130的某个特定区域中的频繁被改写的数据。此外,假设在WCMD3中传送的数据LSA0B~LSA3B是照片数据或音乐数据等连续写入的数据,不是很频繁地被改写的数据。
在WCMD1中,非易失性存储装置110接收逻辑扇区地址LSB0(逻辑块地址“0×00”及逻辑页地址“0×00”)的数据LSB0B,暂时存储在缓冲存储器122中。存取装置100在传送数据LSB0B后,传送STOP信号。获取了数据的CPU121根据LSB0B的逻辑扇区地址识别为特定地址的数据,并且进行保存在缓冲存储器122中的数据的逻辑扇区地址与LSB0B的逻辑扇区地址的比较。由于在缓冲存储器122中没有一致的逻辑地址,所以CPU121将LSB0B保存在缓冲存储器122中,将对应于所保存的数据的特定区域标志305设定为“1”。这里,CPU121将输入的数据识别为特定地址的数据的方法既可以如第6实施方式那样判断频繁被更新的地址,也可以如第7实施方式那样通过与预先设定的特定地址的比较来判断。
接着,在WCMD2中,存取装置100传送LSC0B,然后传送STOP信号。此时,CPU121根据LSC0B的逻辑扇区地址识别为特定地址的数据,并且进行保存在缓冲存储器122中的数据的逻辑扇区地址与LSC0B的逻辑扇区地址的比较。由于没有一致的逻辑扇区地址,所以CPU121将LSC0B保存在缓冲存储器122中,将对应于所保存的数据的特定区域标志305设定为“1”。
然后,存取装置100传送WCMD3,传送逻辑扇区地址LSA0~LSA3为止的4个扇区量的数据LSA0B、LSA1B、LSA2B及LSA3B。LSA0B~LSA3B由于是新地址的数据,所以依次暂时存储在缓冲存储器122中。这里,LSA0B、LSA1B、LSA2B及LSA3B由于不是特定地址的数据,所以将对应的特定区域标志305设定为“0”。
在存储了LSA3B的时刻,缓冲存储器122已满,CPU121识别出已满的情况。存储器控制部123根据CPU121的命令,将暂时存储在缓冲存储器122中的特定区域标志305为“0”的数据传送给闪存器130。即,存储器控制部123将LSA0B~LSA3B的数据以页单位写入PB0的页0。此外,CPU121识别出保存了LSB0B及LSC0B的数据区域的特定区域标志305为“1”,保留在缓冲存储器122中。由此,每当从存取装置100传送相同逻辑地址(LSB0及LSC0)的数据时,覆盖保存在缓冲存储器122的特定区域的数据。最终,在来自存取装置100的数据的写入结束的时刻,存储器控制部123将缓冲存储器122的特定区域标志305为“1”的数据向闪存器130传送。即,存储器控制部123将LSB0B写入物理块PB2的页0,将LSC0B写入物理块PB4的页0。
根据以上,第8实施方式的非易失性存储装置对于传送来多个频繁改写的特定数据(目录项及键信息等、或者FAT数据)的情况,CPU121也判断为特定区域的数据,将缓冲存储器122的特定区域标志305设为“1”,将数据保存在该区域中。由此,能够自由地设定缓冲存储器122的特定区域的空间,所以即使在传送来多个特定数据的情况下,也只要分别设定特定区域就可以,可以有效地使用缓冲存储器122的空间。此外,在向闪存器130的数据传送时,CPU121仅确认特定区域标志305就能够判断是否应传送,CPU121不需要总是掌握特定区域,所以能够使处理时序变得简单。由此,由于能够使特定数据的改写在缓冲存储器122内完成,所以能够减少向闪存器130的写入的次数,能够实现非易失性存储装置110的写入速度的提高。此外,由于能够减少向闪存器130的改写次数,所以也能够延长非易失性存储装置110的改写寿命。
这里,将保存在缓冲存储器122的特定区域的数据向闪存器130传送的定时有从存取装置100的写入结束后、和判断为某个设定数以上的逻辑地址的数据是特定地址的数据之后等,没有特别的限制。
此外,将缓冲存储器122的一部分区域设定为特定区域的手段,这里使用特定区域标志305,但也可以在CPU121内管理,没有特别的限制。
进而,缓冲存储器122设定的特定区域在这次的说明中是扇区单位,但也可以是页单位,没有特别的限制。
(第9实施方式)
第9实施方式的非易失性存储装置在缓冲存储器122中保存表示数据是否已正确地写入缓冲存储器122中的写入结束标志。由此,在因断电等而数据没有被正确地写入缓冲存储器122中的情况下,能够容易地判断哪个数据是有效的数据,能够提高可靠性。
图18是表示保存在第9实施方式的非易失性存储装置110的缓冲存储器122中的数据的形式的图。另外,对于与图5同样的要素赋予相同的标号而省略详细的说明。此外,第9实施方式的非易失性存储装置110的结构与图2相同。
如图18所示,第9实施方式的非易失性存储装置110的缓冲存储器122在各数据中包括1位的写入结束标志306。写入结束标志306是表示各数据是否已被正确地写入缓冲存储器122中的标志。例如,将因断电等而没有被正确地写入缓冲存储器122中的数据的写入结束标志306设为“0”,将已正确地写入缓冲存储器122中的数据的写入结束标志306设为“1”。图18所示的字0的数据的写入结束标志306是“0”,是没有被正确地写入缓冲存储器122中的无效的数据。此外,字1的数据的写入结束标志306是“1”,是已正确地写入缓冲存储器122中的数据。此外,在将缓冲存储器122的数据传送给闪存器130后,将传送后的数据的写入结束标志306设定为“0”。此外,将没有写入数据的区域的写入结束标志306设定为“0”。由此,CPU121通过确认写入结束标志306,能够容易地判断缓冲存储器122的数据保存区域的空状态。
图19是表示第9实施方式的非易失性存储装置110的改写处理的流程的图。在图19中,从存取装置100向非易失性存储装置110传送4次WCMD。将最初的WCMD标记为WCMD1,将接着的WCMD标记为WCMD2,将再接着的WCMD标记为WCMD3,将最后的WCMD标记为WCMD4。此外,在闪存器130的物理块PB5的页0中保存了逻辑扇区地址LS0~LS3的数据LS0A~LS3A,在物理块PB5的页1中保存了逻辑扇区地址LS4~LS7的数据LS4A~LS7A。此外,假设物理块0的页0及页1没有被写入数据。另外,在图19中,为了实现说明的简单化,设缓冲存储器122保存的字数为4,但并不限于此。此外,缓冲存储器122是没有被写入数据的状态,将对应于所有的数据区域的写入结束标志306设定为“0”。
在WCMD1中,非易失性存储装置110接收逻辑扇区地址LS0(“0×00”)的数据LS0B,暂时存储在缓冲存储器122中。存取装置100在WCMD1中传送了LS0B后,传送STOP信号。获取了数据LS0B的CPU121进行保存在缓冲存储器122中的数据的逻辑扇区地址与LS0B的逻辑扇区地址的比较。由于没有一致的逻辑扇区地址,所以CPU121将LS0B保存在缓冲存储器122中。此时,在数据被正确地写入的情况下,将对应于LS0B的写入结束标志306设定为“1”。另外,在LS0B的写入中因掉电等而数据没有被正确地写入的情况下,写入结束标志306维持“0”。
接着,在WCMD2中,存取装置100传送LS1B~LS3B,然后传送STOP信号。CPU121对LS1B~LS3B的逻辑扇区地址与保存在缓冲存储器122中的数据的逻辑扇区地址进行比较,确认不一致。CPU121在缓冲存储器122的新的区域保存LS1B~LS3B,在与LS0B的情况同样数据没有被正确地写入的情况下,将对应于LS1B~LS3B的缓冲存储器122的写入结束标志306设定为“1”。在存储了LS3B的时刻,缓冲存储器122已满,CPU121识别出已满的情况。存储器控制部123根据CPU121的命令而将暂时存储在缓冲存储器122中的数据传送给闪存器130。即,存储器控制部123将LSA0B~LSA3B以页单位写入物理块PB0的页0中。此时,将结束了向闪存器130的写入的数据LS0B~LS3B的缓冲存储器122的写入结束标志306的值设定为“0”。通过CPU121确认该写入结束标志的值,CPU121能够掌握缓冲存储器122的空状态、接着可以写入数据的缓冲存储器122的区域。
在WCMD3中,存取装置100传送两个扇区量的数据LS4B及LS5B,然后传送STOP信号。CPU121与WCMD1及WCMD2同样,比较LS4B及LS5B的逻辑扇区地址与缓冲存储器122保存的数据的逻辑扇区地址。CPU121确认在缓冲存储器122中没有一致的逻辑扇区地址的数据,将LS4B及LS5B保存在缓冲存储器122的写入结束标志306为“0”的区域中。此时,将缓冲存储器122的对应于LS4B及LS5B的写入结束标志306设定为“1”。
在WCMD4中,从存取装置100传送LS6B及LS7B,保存在缓冲存储器122的写入结束标志306为“0”的区域中。此外,LS6B及LS7B的缓冲存储器122的写入结束标志306设定为“1”。如果将LS6B及LS7B保存在缓冲存储器122中,则缓冲存储器122变满,通过与WCMD2同样的流程,将数据LS4B~LS7B传送给闪存器130的PB0的页1。此外,在将LS4B~LS7B写入闪存器130中后,缓冲存储器122的LS4B~LS7B的写入结束标志306被设定为“0”。
根据以上,第9实施方式的非易失性存储装置110将表示从存取装置100传送的数据是否被正确地写入缓冲存储器122中的写入结束标志306保存在缓冲存储器122中。由此,能够确认传送到缓冲存储器122中的数据是否被正确地写入缓冲存储器122中,能够提高被写入的数据的可靠性。此外,在将缓冲存储器122的数据向闪存器130传送后,通过将缓冲存储器122的写入结束标志306恢复设定为“0”,CPU121能够掌握应该将新传送来的数据写入缓冲存储器122的哪个区域较好。由此,还能够实现数据处理的高效化。
(第10实施方式)第10实施方式的非易失性存储装置保存表示缓冲存储器122保存的数据是否被正确地写入闪存器130中的传送结束标志。由此,在因断电等而向闪存器130的写入失败的情况下,能够判断哪个数据没有被正确地写入,能够提高可靠性。
图20是表示保存在第10实施方式的非易失性存储装置110的缓冲存储器122中的数据的形式的图。另外,对于与图5同样的要素赋予相同的标号而省略详细的说明。此外,第10实施方式的非易失性存储装置110的结构与图2相同。
如图20所示,第10实施方式的非易失性存储装置110的缓冲存储器122在各数据中包括1位的传送结束标志307。传送结束标志307是表示各数据是否从缓冲存储器122正确地已被写入闪存器130的标志。例如,将对应于没有被写入闪存器130中的数据的传送结束标志307设为“0”。此外,对应于因断电等而没有被正确地写入闪存器130中的数据的传送结束标志307也为“0”。此外,将对应于已正确地写入闪存器130中的数据的传送结束标志307设为“1”。例如,图20所示的字0的数据的传送结束标志307是“0”,是没有写入闪存器130中的数据,或者是没有被正确地写入闪存器130中的数据。此外,字2的数据的传送结束标志307是“1”,是已正确地写入闪存器130中的数据。
图21是表示第10实施方式的非易失性存储装置110的改写处理的流程的图。
在图21中,从存取装置100传送4次WCMD。将最初的WCMD标记为WCMD1,将接着的WCMD标记为WCMD2,将再接着的WCMD标记为WCMD3,将最后的WCMD标记为WCMD4。此外,在闪存器130的物理块PB5的页0中保存了逻辑扇区地址LS0~LS3的数据LS0A~LS3A,在物理块PB5的页1中保存了逻辑扇区地址LS4~LS7的数据LS4A~LS7A。此外,假设物理块0的页0及页1没有被写入数据。另外,在图21中,为了实现说明的简单化,设缓冲存储器122保存的字数为4,但并不限于此。此外,缓冲存储器122是没有被写入数据的状态,将对应于所有的数据区域的写入传送结束标志307设定为“1”。
在WCMD1中,非易失性存储装置110接收逻辑扇区地址LS0(“0×00”)的数据LS0B,暂时存储在缓冲存储器122中。存取装置100在WCMD1中传送了LS0B后,传送STOP信号。获取了数据LS0B的CPU121进行保存在缓冲存储器122中的数据的逻辑扇区地址与LS0B的逻辑扇区地址的比较。由于没有一致的逻辑扇区地址,所以将LS0B保存在缓冲存储器122中。此时,由于LS0B是没有写入闪存器130中的数据,所以将对应于所保存的数据区域的写入传送结束标志307设定为“0”。
接着,在WCMD2中,存取装置100传送LS1B~LS3B,然后传送STOP信号。CPU121进行LS1B~LS3B的逻辑扇区地址与保存在缓冲存储器122中的数据的逻辑扇区地址的比较,确认不一致。CPU121在缓冲存储器122的新的区域保存LS1B~LS3B。与LS0B的情况同样,由于是没有写入闪存器130中的数据,所以将对应于所保存的数据区域的缓冲存储器122的传送结束标志307设定为“0”。
在存储了LS3B的时刻,缓冲存储器122已满,CPU121识别出已满的情况。存储器控制部123根据CPU121的命令而将暂时存储在缓冲存储器122中的数据传送给闪存器130。即,存储器控制部123将LSA0B~LSA3B的数据以页单位写入到物理块PB0的页0中。此时,将结束了向闪存器130的写入的数据LS0B~LS3B的缓冲存储器122的传送结束标志307的值设定为“1”。另外,在LS0B~LS3B的写入中因断电等而写入失败的情况下,传送结束标志307维持“0”。CPU121通过确认传送结束标志307的值,能够掌握缓冲存储器122的空状况、接着可以写入数据的缓冲存储器122的区域。即,CPU121能够判断为,传送结束标志307为“1”的数据是已经写入闪存器130中的数据,能够写入新的数据。
在WCMD3中,存取装置100传送两个扇区量的数据LS4B及LS5B,然后传送STOP信号。CPU121与WCMD1及WCMD2同样,比较LS4B及LS5B的逻辑扇区地址与缓冲存储器122所保存的数据的逻辑扇区地址。CPU121确认在缓冲存储器122中没有一致的逻辑扇区地址的数据。CPU121将LS4B及LS5B保存在缓冲存储器122的传送结束标志307为“1”的区域中,将对应于LS4B及LS5B的传送结束标志307设定为“0”。
在WCMD4中,从存取装置100传送LS6B及LS7B。CPU121将LS6B及LS7B保存在缓冲存储器122的传送结束标志307为“1”的保存了LSB2B及LSB3B的区域中。此外,将LS6B及LS7B的缓冲存储器122的传送结束标志307设定为“0”。如果将LS6B及LS7B保存在缓冲存储器122中,则缓冲存储器122变满,通过与WCMD2同样的流程,将数据LS4B~LS7B传送给闪存器130的物理块PB0的页1。此外,在将LS4B~LS7B写入闪存器之后,将缓冲存储器122的对应于LS4B~LS7B的传送结束标志307设定为“1”。
根据以上,第10实施方式的非易失性存储装置110保存表示缓冲存储器122保存的数据是否被正确地写入闪存器130中的传送结束标志307。由此,能够确认传送给缓冲存储器122的数据是否被正确地写入闪存器130中,能够提高被写入闪存器130中的数据的可靠性。此外,在将缓冲存储器122的数据向闪存器130传送后,通过将传送结束标志设定为“1”,CPU121能够掌握应该将新传送来的数据写入缓冲存储器122的哪个区域较好。由此,还能够实现数据处理的高效化。
(第11实施方式)第11实施方式的非易失性存储装置在缓冲存储器122已满的时刻将缓冲存储器122保存的数据写入闪存器130中。由此,能够减少向闪存器130的写入次数。另外,第11实施方式的非易失性存储装置110的结构与图2相同。
图22是表示第11实施方式的非易失性存储装置110的改写处理的流程的图。在图22中,从存取装置100传送4次WCMD。将最初的WCMD标记为WCMD1,将接着的WCMD标记为WCMD2,将再接着的WCMD标记为WCMD3,将最后的WCMD标记为WCMD4。此外,在闪存器130的物理块PB5的页0中保存了逻辑扇区地址LS0~LS3的数据LS0A~LS3A,在物理块PB5的页1中保存了逻辑扇区地址LS4~LS7的数据LS4A~LS7A。此外,假设物理块0的页0及页1没有被写入数据。另外,在图22中,为了实现说明的简单化,设缓冲存储器122保存的字数为5,但并不限于此。
在WCMD1中,非易失性存储装置110接收逻辑扇区地址LS0~LS3的数据LS0B~LS3B,暂时存储在缓冲存储器122中。存取装置100在传送了4个扇区量的数据LS0B~LS3B后,传送STOP信号。获取了数据的CPU121进行LS0B~LS3B的逻辑扇区地址与保存在缓冲存储器122中的数据的逻辑扇区地址的比较,由于没有一致的逻辑扇区地址,所以将LS0B~LS3B保存在缓冲存储器122中。
接着,在WCMD2中,存取装置100传送逻辑扇区地址LS4的数据LS4B,然后传送STOP信号。CPU121进行LS4B的逻辑扇区地址与保存在缓冲存储器122中的数据的逻辑扇区地址的比较,由于没有一致的逻辑地址,所以将LS4B保存在缓冲存储器122中。此外,同时,CPU121识别出逻辑扇区地址LS4的数据LS4B是接着在WCMD1中传送的LS0B~LS3B的逻辑扇区地址LS0~LS3的连续的逻辑扇区地址的数据。在存储了LS4B的时刻,缓冲存储器122已满,CPU121识别出已满的情况。存储器控制部123根据CPU121的命令而将暂时存储在缓冲存储器122中的数据传送给闪存器130,成批对PB0的页0实施写入。此时,由于保存在页0中的数据是逻辑扇区地址LS0~LS3的数据LS0A~LS3A,所以CPU121判断为LS4B是还没有聚齐成页单位的数据,不向闪存器130传送,而将数据保留在缓冲存储器122中。
然后,存取装置100传送WCMD3,接着传送逻辑扇区地址LS5~LS7的3个扇区量的数据LS5B~LS7B。由于LS5B~LS7B是新地址的数据,所以暂时存储在缓冲存储器122中。
接着,在WCMD4中,从存取装置100传送LS8B,缓冲存储器122变满。CPU121识别出缓冲存储器122变满的情况,使用存储器控制部123,将暂时存储在缓冲存储器122中的数据LS4B~LS7B传送给闪存器130,成批对PB0的页1实施写入。另外,CPU121将LS8的数据作为以页单位还没有聚齐的数据保留在缓冲存储器122内。
根据以上,第11实施方式的非易失性存储装置110在缓冲存储器122已满的时刻进行向闪存器130的写入。由此,在以比页单位小的单位传送来连续的数据的情况下、或在传送来的数据不是页的开头、而是从中途或最后传送来的情况下,也不需要将相同页的数据经多次写入闪存器130中,能够通过一次写入。由此,能够提高数据的写入效率。此外,由于能够减少向闪存器130的写入次数,所以也能够延长闪存器130的改写寿命。
另外,在上述说明中,将保存在缓冲存储器122中的数据向闪存器130传送的定时是缓冲存储器122变满的时刻,但也可以是从存取装置100的写入结束后,也可以是连续传送来的数据的逻辑地址变为不是连续的顺序的时候。
(第12实施方式)第12实施方式的非易失性存储装置具备进行保存在缓冲存储器122中的数据的逻辑扇区地址和从存取装置100新传送的数据的逻辑扇区地址的比较的、由硬件构成的地址比较部125。由此,能够减少CPU121进行的处理的负担。
图23是第12实施方式的非易失性存储系统的框图。图23所示的非易失性存储系统具备非易失性存储装置110和存取装置100。图23所示的非易失性存储装置110具备地址比较部125这一点与图2所示的第1实施方式不同。另外,对于与图2相同的要素赋予相同的标号,省略详细的说明。
地址比较部125比较从存取装置100新传送的数据的逻辑扇区地址与保存在缓冲存储器122中的数据的逻辑扇区地址,判断是否一致。此外,地址比较部125由硬件构成。此外,地址比较部125与CPU121通过专用的总线连接。
根据以上,第12实施方式的非易失性存储装置110具备比较从存取装置100传送来的数据的逻辑扇区地址与保存在缓冲存储器122中的数据的逻辑扇区地址的专用的地址比较部125。在第1实施方式中,CPU121需要比较从存取装置100传送的数据的逻辑扇区地址与缓冲存储器122保存的数据的逻辑扇区地址、来决定然后的处理,相对于此,在第12实施方式中通过地址比较部125硬件式地进行比较处理。进而,在CPU121与地址比较部125之间设置专用的总线来实施处理。由此,能够减轻CPU121的负担。此外,能够实现比较动作的高速化。
另外,本发明并不原样限于上述实施方式,在实施阶段中在不脱离其主旨的范围内能够将结构要素变形来具体化。此外,可以通过在上述实施方式中公开的多个结构要素的适当的组合来形成各种发明。例如,也可以从实施方式所示的所有结构要素中删除某几个结构要素。进而,也可以将所有不同的实施方式的结构要素适当组合。
本发明可以应用于非易失性存储装置中,特别可以应用于在静像图像记录再现装置及动画记录再现装置等的可携带AV设备、或者便携电话等的可携带通信设备的记录媒体中使用的非易失性存储装置中。
以上结合附图通过实施例详细说明了本发明,但需要说明的是本领域的技术人员可以对本发明进行各种变更及修改。因此,除非这些变更及修改超出了本发明的范围,都应包含在本发明中。
权利要求
1.一种非易失性存储装置,从外部输入作为扇区单位的数据的输入数据,其特征在于,包括主记忆存储器,是非易失性的,以比上述扇区单位大的页单位进行数据的写入;辅助记忆存储器,至少保存页单位量的上述输入数据;存储器判断单元,判断上述辅助记忆存储器是否保存了上述页单位以上的数据;及存储器控制单元,在通过上述存储器判断单元判断为上述辅助记忆存储器保存了上述页单位以上的数据的情况下,以上述页单位将保存在上述辅助记忆存储器中的数据写入上述主记忆存储器的新页中。
2.如权利要求1所述的非易失性存储装置,其特征在于,上述辅助记忆存储器保存上述输入数据和上述输入数据的地址;上述非易失性存储装置还包括地址判断单元,判断上述辅助记忆存储器保存的地址和来自外部的新的输入数据的地址是否一致;CPU,向上述辅助记忆存储器写入上述新的输入数据,并进行上述存储器控制单元的控制;上述辅助记忆存储器保存了表示保存的各数据写入的顺序的数据管理标志;在由上述地址判断单元判断为上述辅助记忆存储器保存的地址与上述新的输入数据的地址一致的情况下,上述CPU向上述辅助记忆存储器的、同保存了判断为与上述新的输入数据一致的数据的区域不同的区域,写入上述新的输入数据;上述CPU对与上述新的输入数据对应的上述数据管理标志,设定表示在被判断为与上述新的输入数据一致的数据之后写入上述新的输入数据的信息;上述CPU根据上述数据管理标志决定上述存储器控制单元写入上述主记忆存储器中的数据。
3.如权利要求2所述的非易失性存储装置,其特征在于,上述存储器判断单元判断上述辅助记忆存储器是否已满;在由上述存储器判断单元判断为上述辅助记忆存储器已满的情况下,上述存储器控制单元将上述辅助记忆存储器保存的数据写入上述主记忆存储器中。
4.如权利要求2所述的非易失性存储装置,其特征在于,上述存储器判断单元由硬件构成;上述非易失性存储装置还包括通知单元,将上述存储器判断单元的判断结果通知给上述CPU;上述CPU根据由上述通知单元通知的上述判断结果,控制上述存储器控制单元;通过上述CPU的控制,上述存储器控制单元将保存在上述辅助记忆存储器中的数据以上述页单位写入上述主记忆存储器的新页中。
5.如权利要求2所述的非易失性存储装置,其特征在于,上述存储器判断单元根据上述辅助记忆存储器保存的有效的上述数据管理标志的数量,判断上述辅助记忆存储器是否已满。
6.如权利要求2所述的非易失性存储装置,其特征在于,上述地址判断单元由硬件构成。
7.如权利要求1所述的非易失性存储装置,其特征在于,上述辅助记忆存储器保存上述输入数据和上述输入数据的地址;上述非易失性存储装置还包括地址判断单元,判断上述辅助记忆存储器保存的地址与来自外部的新的输入数据的地址是否一致;CPU,向上述辅助记忆存储器写入上述新的输入数据,并进行上述存储器控制单元的控制;在由上述地址判断单元判断为上述辅助记忆存储器保存的地址与上述新的输入数据的地址一致的情况下,上述CPU将上述新的输入数据覆盖在上述辅助记忆存储器的保存了判断为与上述新的输入数据一致的数据的区域。
8.如权利要求7所述的非易失性存储装置,其特征在于,上述存储器判断单元判断上述辅助记忆存储器是否已满;在由上述存储器判断单元判断为上述辅助记忆存储器已满的情况下,上述存储器控制单元将上述辅助记忆存储器保存的数据写入上述主记忆存储器中。
9.如权利要求7所述的非易失性存储装置,其特征在于,上述存储器判断单元由硬件构成;上述非易失性存储装置还包括通知单元,将上述存储器判断单元的判断结果通知给上述CPU;上述CPU根据由上述通知单元通知的上述判断结果,控制上述存储器控制单元;通过上述CPU的控制,上述存储器控制单元将保存在上述辅助记忆存储器中的数据以上述页单位写入上述主记忆存储器的新页中。
10.如权利要求7所述的非易失性存储装置,其特征在于,上述存储器判断单元判断上述辅助记忆存储器是否已满;上述存储器控制单元在由上述存储器判断单元判断为上述辅助记忆存储器已满的情况下,将上述辅助记忆存储器保存的数据写入上述主记忆存储器中;上述CPU在进行了上述存储器判断单元的判断后,将上述新的输入数据写入上述辅助记忆存储器中。
11.如权利要求1所述的非易失性存储装置,其特征在于,还包括更新判断单元,判断上述输入数据是否频繁地被更新;由上述更新判断单元判断为频繁地被更新的数据即特定数据,与上述特定数据以外的数据相比,以低的优先顺序写入上述主记忆存储器中。
12.如权利要求11所述的非易失性存储装置,其特征在于,上述辅助记忆存储器保存表示保存的各数据是否是上述特定数据的特定区域标志。
13.如权利要求11所述的非易失性存储装置,其特征在于,保存上述特定数据的区域可以在上述辅助记忆存储器内自由地设定。
14.如权利要求1所述的非易失性存储装置,其特征在于,还包括特定地址判断单元,判断上述输入数据的地址与特定地址是否一致;具有上述特定地址的数据即特定数据与上述特定数据以外的数据相比,以低的优先顺序写入上述主记忆存储器中。
15.如权利要求14所述的非易失性存储装置,其特征在于,上述辅助记忆存储器保存表示保存的各数据是否是上述特定数据的特定区域标志。
16.如权利要求1所述的非易失性存储装置,其特征在于,上述辅助记忆存储器保存表示保存的各数据是否已被正常地写入上述辅助记忆存储器中的写入结束标志。
17.如权利要求1所述的非易失性存储装置,其特征在于,上述辅助记忆存储器保存表示保存的各数据是否已被写入上述主记忆存储器中的传送结束标志。
18.如权利要求1所述的非易失性存储装置,其特征在于,上述辅助记忆存储器是非易失性RAM。
19.如权利要求18所述的非易失性存储装置,其特征在于,上述辅助记忆存储器是强电介质存储器即FeRAM、磁性记录式随机读写存储器即MRAM、双向统一存储器即OUM、或电阻RAM即RRAM。
20.一种非易失性存储装置的数据写入方法,上述非易失性存储装置从外部输入作为扇区单位的数据的输入数据,具备以比上述扇区单位大的页单位进行数据的写入的非易失性的主记忆存储器,其特征在于,上述非易失性存储装置的数据写入方法包括保存步骤,将上述输入数据保存在辅助记忆存储器中;判断步骤,判断上述辅助记忆存储器是否保存了上述页单位以上的数据;写入步骤,在上述判断步骤中判断为上述辅助记忆存储器保存了上述页单位以上的数据的情况下,将保存在上述辅助记忆存储器中的数据以上述页单位写入上述主记忆存储器的新页中。
全文摘要
本发明涉及非易失性存储装置及其数据写入方法,上述非易失性存储装置从外部输入作为扇区单位的数据的输入数据,包括非易失性的主记忆存储器,以比上述扇区单位大的页单位进行数据的写入;辅助记忆存储器,至少保存页单位量的上述输入数据;存储器判断单元,判断上述辅助记忆存储器是否保存了上述页单位以上的数据;在由上述存储器判断单元判断为上述辅助记忆存储器保存了上述页单位以上的数据的情况下,存储器控制单元以上述页单位将保存在上述辅助记忆存储器中的数据写入上述主记忆存储器的新页中。
文档编号G06F12/00GK101042674SQ20071008553
公开日2007年9月26日 申请日期2007年3月7日 优先权日2006年3月7日
发明者松浦正则, 五宝靖, 岩成俊一, 德光伸一, 中西雅浩 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1