CN1950803A - 非易失性存储装置和数据写入方法 - Google Patents

非易失性存储装置和数据写入方法 Download PDF

Info

Publication number
CN1950803A
CN1950803A CN 200580013088 CN200580013088A CN1950803A CN 1950803 A CN1950803 A CN 1950803A CN 200580013088 CN200580013088 CN 200580013088 CN 200580013088 A CN200580013088 A CN 200580013088A CN 1950803 A CN1950803 A CN 1950803A
Authority
CN
China
Prior art keywords
mentioned
data
write
address
logical
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 200580013088
Other languages
English (en)
Other versions
CN100437517C (zh
Inventor
本多利行
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN1950803A publication Critical patent/CN1950803A/zh
Application granted granted Critical
Publication of CN100437517C publication Critical patent/CN100437517C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

非易失性存储装置(101)可以接收来自主机(102)的逻辑地址来进行数据的写入、读出,具备:非易失性存储器(103),其根据物理地址进行数据的写入、读出;逻辑物理地址变换表格(106),其按照每个规定的管理单位区域存储逻辑地址和物理地址的对应信息;重复表格(107),其存储被重复配置在非易失性存储器内的多个区域中的比管理单位区域的尺寸小的尺寸的数据的逻辑地址和物理地址的对应信息;和控制器(104),其进行非易失性存储装置的动作控制。控制器(104)允许将与一个管理单位区域中已经写入的数据具有同一逻辑地址的数据重复写入到其他管理单位区域,具有多个用于该重复写入的写入模式,根据来自主机的逻辑地址的变化状况,选择性地切换写入模式。

Description

非易失性存储装置和数据写入方法
技术领域
【0001】
本发明涉及使用闪速存储器等非易失性存储器的存储装置及其写入方法。
背景技术
【0002】
近年,搭载非易失性存储器的存储卡作为数字照相机和携带电话的存储介质,其市场正在扩大。并且,伴随着存储卡容量的增加,其用途正在从数据文件和静态图像等小容量的记录,向需要大容量的动态图像记录扩展。因此,与以往相比,关于搭载非易失性存储器的存储介质,产生了各种设计(例如,专利文献1~4)。
【0003】
近年,作为存储卡的非易失性存储器主要使用的NAND类型闪速存储器,伴随其容量的增加,成为数据的删除单位的物理块的大小从16kB(主要是关于128MB以下的闪速存储器)向128kB(主要是128MB以上的闪速存储器)变大。与此相对,在管理向存储卡的数据写入的文件系统中,成为数据写入单位的簇照原样16kB不变化。
【0004】
在以往的小容量(主要是128MB以下的容量)存储卡中,向存储卡写入数据时的簇的容量、与成为搭载在存储卡内部的NAND类型的闪速存储器的删除单位的物理块相等。
【0005】
专利文献1:特开2001-154909号公报,
专利文献2:特开平11-53248号公报,
专利文献3:特开2002-324008号公报,
专利文献4:特开平5-216780号公报。
【0006】
但是,如果进行大容量化,例如,根据容量超过128MB的容量值的非易失性存储器,存储卡中写入数据的单位即簇的容量16kB,与搭载在存储卡内部的NAND类型的闪速存储器的删除单位即物理块的容量128kB不同。由此,写入到存储卡中的文件产生碎片时导致写入性能降低。
【0007】
上述的情况存在以下的课题:在产生碎片的状态下的以往非易失性存储器的写入方法中,写入处理需要的时间长,并且需要进行写入、删除的物理块的数量多。
【0008】
另外,来自主机的写入要求有,在与前次写入数据的区域连续的逻辑地址区域接着写入数据的情况、在与前次写入数据的区域完全不同的任意的区域写入数据的情况等各种场合,无论通过哪种存取方法,都希望能够实现有效的写入处理。
发明内容
本发明是为了解决上述课题而产生的,其目的在于提供不依赖于来自主机的存取方法,能够缩短写入处理需要的时间的非易失性的存储装置。
【0010】
本发明中的非易失性存储装置是接收来自主机的逻辑地址,可以进行数据的写入、读出的非易失性存储装置。非易失性存储装置具备:非易失性存储器,其由多个物理块构成,根据物理地址进行数据的写入、读出;逻辑物理地址变换表格,其将逻辑地址和物理地址的对应信息,作为每个规定的管理单位区域的逻辑组地址、和由1个以上的物理块构成的物理组的地址的对应信息进行存储;重复表格,其对于具有与逻辑物理地址变换表格中相对应的逻辑组地址相同的逻辑组地址的数据,作为比管理单位区域的尺寸小的尺寸的数据的逻辑地址和物理地址的对应信息进行存储;和控制器,其进行非易失性存储装置的动作控制。控制器,允许将与一个管理单位区域中已经写入的数据具有同一逻辑地址的数据重复写入到其他管理单位区域,具有多个用于该重复写入的写入模式,根据来自主机的逻辑地址的变化状况,不必更新逻辑物理地址变换表格的信息,选择性地切换写入模式。
【0011】
本发明中的数据写入方法是对于可以接收来自主机的逻辑地址来进行数据的写入、读出的非易失性存储装置的数据写入方法。此写入方法:具有多个写入模式,其用于将具有与一个管理单位区域中已经写入的数据相同逻辑地址的数据重复写入到其他管理单位区域中;由主机,接收具有与已经写入的数据相同的逻辑地址的数据的写入指令时,将具有该写入要求的数据,重复写入到与已经写入数据的管理单位区域不同的管理单位区域,使写入到不同的管理单位区域中的数据的逻辑地址和物理地址相对应地进行存储;然后,继续由主机接收写入指令时,根据来自主机的逻辑地址的变化状况,选择性地切换写入模式。
【0012】
通过本发明,对非易失性存储器内的某逻辑地址写入数据后,对相同逻辑地址再次写入数据时,在物理地址上,不删除以前写入的数据,保持原样,允许在与以前写入数据的物理区域不同的物理区域重新写入数据的重复写入。由此,能够降低非易失性存储器特有的伴随数据更新的复制、删除处理的次数,能够提高写入效率。并且,由于根据写入地址的变化状况,选择性的切换写入模式,所以不依赖于来自主机的写入要求的种类(连续存取,随机存取),能够以更合适的方法执行写入处理。
附图说明
【0013】
图1A是表示作为本发明非易失性存储装置的一实施方式的存储卡的构成的图。
图1B是表示逻辑物理地址变换表格的构成的图。
图2是表示闪速存储器内部构成的图。
图3是表示闪速存储器的物理块构成的图。
图4是表示存储卡内部中的逻辑性数据的管理的图。
图5是表示重复表格的构成的图。
图6(a)是表示重复信息对FAT区域的构成的图,(b)是表示重复信息对数据区域的构成的图。
图7是表示闪速存储器的存储区域的页的数据格式的图。
图8是表示写入单位配置表格构成的图。
图9是表示向存储卡的闪速存储器进行写入处理的流程图。
图10是表示向存储卡的闪速存储器进行写入处理的流程图(图9的继续)。
图11A是用于说明以往的写入处理的图。
图11B是用于说明以往的写入处理的图。
图11C是用于说明本发明的连续写入处理的图。
图12是连续写入处理的流程图。
图13是用于说明改写写入处理的图。
图14是改写写入处理的流程图。
图15是随机写入处理的流程图。
图16是重复表格的登录位置的决定处理的流程图。
图17是重新写入处理的流程图。
图18是用于说明连续模式时的汇集处理的图。
图19是用于说明改写模式、随机模式情况的汇集处理的图。
图20是汇集处理的流程图。
图21是汇集处理的流程图(图20的继续)。
图22是说明逻辑组对FAT信息的分配的图。
图23A是表示总结与FAT信息相关的各种管理条件的图。
图23B是表示FAT区域变换表格的数据构成例子的图。
图24A是表示相对于FAT2的逻辑组0-2所对应物理块的区域构成的图。
图24B是FAT写入处理的流程图。
图25是说明连续写入模式时的动作的具体例子的图。
图26是说明连续写入模式时的动作的具体例子的图。
图27是说明连续写入模式时的动作的具体例子的图。
图28是说明连续写入模式时的动作的具体例子的图。
图29是说明连续写入模式时的动作的具体例子的图。
图30是说明连续写入模式时的动作的具体例子的图。
图31是说明连续写入模式时的动作的具体例子的图。
图32是说明改写写入模式时的动作的具体例子的图。
图33是说明改写写入模式时的动作的具体例子的图。
图34是说明改写写入模式时的动作的具体例子的图。
图35是说明被改写写入的块的汇集处理的具体例子的图。
图36是说明被改写写入的块的汇集处理的具体例子的图。
图37是说明随机写入模式时的动作的具体例子的图。
图38是表示来自存储卡的闪速存储器的读出处理的流程图。
图39是表示通常读出处理的流程图。
图40是表示连续读出处理的流程图。
图41是表示改写读出处理的流程图。
图42是表示随机读出处理的流程图。
图43是表示来自存储卡的闪速存储器的读出处理的流程图(图38的继续)。
图44是表示FAT通常读出处理的流程图。
图45是表示FAT重复读出处理的流程图。
【0014】
图中:101-存储卡,102-主机,103-闪速存储器,104-控制器,105-已经删除表格,106-逻辑物理地址变换表格,107-重复表格,107a-对于FAT区域的重复信息,107b-对于数据区域的重复信息,108-FAT区域变换表格,150-写入单位配置表格。
具体实施方式
【0015】
以下,参照附图,对作为本发明中的非易失性存储装置的一实施方式的存储卡及其写入方法进行说明。
【0016】
1.存储卡的构成
图1A表示作为本发明的非易失性存储装置的一实施方式的存储卡的构成。存储卡101是由主机102可以进行数据的读出、写入的存储装置。存储卡101具备:作为非易失性存储元件的闪速存储器103;控制对闪速存储器进行数据的写入、读出的控制器104;已经删除表格105;逻辑物理地址变换表格106;重复表格107和FAT区域变换表格108。
【0017】
闪速存储器103,在这里具有128MB的容量。但是,闪速存储器103的容量不局限于此,另外,也可以具备多个闪速存储器。控制器104接收来自主机102的写入和读出命令,控制对闪速存储器103的数据的存储,或者,来自闪速存储器103的数据的读出。
【0018】
被存储在闪速存储器103中的数据,由作为文件系统之一的FAT文件系统进行管理。FAT文件系统包含:存储作为文件管理信息(以下称为“FAT信息”。)的信息的主引导记录、分区表格,所述信息用于将数据存储区域分割为多个被称为分区的区域,进行管理;存储1个分区内的管理信息的分区引导扇区;表示包含于文件中的数据存储位置的FAT表格1和FAT表格2;以及存储存根目录之下的文件和目录的信息的根目录索引。并且,文件系统也可以是其他种类。
【0019】
已经删除表格105存储的信息表示闪速存储器103内部的每个物理块已经删除,或者,已经写入。逻辑物理地址变换表格106是如下的表格:进行主机102指定的地址(以下称为“逻辑地址”。)和闪速存储器103内部的地址(以下称为“物理地址”。)的变换。
【0020】
逻辑物理地址变换表格106,在对应逻辑组地址的地址的区域,存储对应此逻辑组的物理块的地址。图1B表示逻辑物理地址变换表格106的简单构成。逻辑物理地址变换表格106担负将逻辑组地址作为表格的地址,将对应于逻辑地址的物理地址作为表格数据。不存在对应的物理块时,担负将无效值(本实施方式中为0x0000)作为数据。逻辑物理地址变换表格106采用由对应于逻辑块1~999的区域和对应于逻辑组0-0~0-3的2个区域构成的结构。这在后面进行描述,本发明的特征是将逻辑地址分割为FAT区域和数据区域来处理,上述结构是由于本发明的特征而实现的。
【0021】
在本实施方式中,在闪速存储器103中,允许将具有与已经写入某物理块A的数据相同的逻辑地址的不同的数据,写入到与物理块A不同的物理块B(以下,将其称为“重复写入”。)。重复表格107是存储与被这样重复写入的数据相关的物理地址和逻辑地址间的对应信息的表格。FAT区域变换表格108存储:与闪速存储器103中的存储FAT1、FAT2等FAT信息的区域的边界扇区相关的信息。
【0022】
即,本实施方式的存储卡101,在闪速存储器103中,数据被写入与某逻辑地址对应的物理地址后,对相同逻辑地址再次进行数据写入时,可以不物理性的删除以前写入的数据,保持原样,将数据写入到与以前写入了数据的物理块不同的物理块中。存储卡101,将重新写入的数据的逻辑地址和物理地址存储在重复表格107的同时,也将以前写入了数据的物理块和以后写入了数据是物理块的对应关系存储在重复表格中。即,重复表格107相互关联地存储信息,该信息与使与写入数据的逻辑地址、对于该逻辑地址以前写入数据的物理区域(传送源)、和对于该逻辑地址以后写入数据的物理区域(传送目的地)相关。
【0023】
另外,换句话说,重复表格107是存储信息的表格,该信息与只对闪速存储器103的物理区域写入数据,残留有未写入的物理页的物理块(传送目的地)中写入的数据相关。重复表格107也可以说存储:具有未写入区域的物理块(传送目的地)的块地址、具有旧数据的物理块(传送源)的块地址、和写入到那里的数据的逻辑组地址等信息。
【0024】
图2是表示闪速存储器103内部构成的图。闪速存储器103的记录区域由多个物理块201构成。物理块201是能够一并删除具有128kB大小数据的删除单位。虽然在本实施方式中将1物理块作为数据的管理单位进行处理,但也可以汇集多个物理块作为管理单位进行处理。
【0025】
图3是表示物理块201内部构成的图。物理块201由多个物理页301构成。物理页301是写入数据时的写入单位,具有2kB大小。作为主机102进行逻辑性数据写入单位的簇为16kB,该值与物理块201的容量128kB和物理页301的容量2kB都不一致。因此,由连续的8页的物理页构成容量16kB的部分物理块。部分物理块(16kB)是假设来自主机的数据的写入,控制器103进行逻辑处理的数据的单位。1个物理块201由8个部分物理块构成,以该部分物理块单位写入来自主机102的数据。
【0026】
图4是表示存储卡101的内部中的逻辑性的数据管理的图。搭载在存储卡101中的闪速存储器103的存储容量为128MB。一般的,由于闪速存储器103中有时存在初始不良块、或由于重复改写产生不良块,所以事先将稍少的容量作为存储卡101的容量。在本例中,主机102能够识别的容量为125MB。将由主机102进行写入的单位即16kB单位作为逻辑块402,存储卡101的125MB容量中,从0依次分配到7999。以8个该逻辑块,构成与闪速存储器103的删除单位即物理块相等的128kB单位的逻辑组。
【0027】
图5是表示重复表格107构成的图。重复表格107存储:作为闪速存储器103内的主要的对于存储FAT信息的区域(以下称为“FAT区域”。)的重复信息(FAT重复信息)107a、和对于存储用户数据的区域(以下称为“数据区域”。)的重复信息107b。在本例中,对于FAT区域的重复信息107a具有4个记录(FAT重复信息0~3),对于数据区域的重复信息具有8个记录(重复信息0~7),但是重复信息的记录数不局限于此。
【0028】
图6(a)表示FAT重复信息107a的构成。在FAT重复信息107a中,“传送目的地物理块地址”存储传送目的地的物理块的地址。“传送目的地分配物理页”存储作为传送目的地分配的物理页的编号。FAT重复信息107a不存储与传送源相关的信息。这是由于,如后面所述,关于FAT区域,由于在与以前写入数据的物理块相同的物理块内写入后来的数据,传送源的物理块和传送目的地的物理块变得相同。
【0029】
图6(b)表示对数据区域的重复信息107b的构成。重复信息107b中,“逻辑块地址”的字段存储写入数据的逻辑块地址。“传送源物理块地址”字段存储传送源的物理块地址。“传送目的地物理块地址”字段存储传送目的地的物理块的地址。“传送目的地开头页逻辑地址”字段存储已存储在传送目的地的物理块开头页的数据的逻辑地址。
【0030】
“传送目的地下一个写入逻辑地址”字段存储:传送目的地的物理块中接着写入的数据的开头数据的逻辑地址。即,在传送目的地的物理块中,存储最后写入的数据的逻辑地址的下一个地址。“传送目的地下一个写入物理地址”字段存储:传送目的地的物理块中接着进行写入时的开头的物理地址。即,在传送目的地的物理块中,存储已经删除区域的开头的物理地址。
【0031】
“传送目的地写入模式”字段存储表示写入模式的值。写入模式有“连续模式”,“改写模式”,“随机模式”3种类。表示各模式的值如以下。
连续模式:0x0000h
改写模式:0xFFFFh
随机模式:上述以外(随机模式中的写入周期)
【0032】
“传送目的地有效偏移物理地址”字段存储:关于传送目的地物理块中最后写入数据的从传送目的地物理块开头的偏移值。
【0033】
图7表示闪速存储器103存储区域的页的数据格式。各页具有:存储关于此页的管理信息的管理区域;存储数据的扇区数据区域。管理区域存储着汇集标志,逻辑块地址,逻辑扇区地址,管理区域的ECC(ErrorCorrection Code)等。扇区数据区域存储着扇区数据,扇区ID,关于扇区数据和扇区ID的ECC。
【0034】
图8表示写入单位配置表格的构成。写入单位配置表格150被存储在闪速存储器103内的管理区域中。写入单位配置表格150被使用于随机模式中的写入和FAT写入时。
【0035】
在随机模式下的写入中,“写入单位”的字段存储:随机模式下进行写入时的最小写入数据大小。比该写入单位小的数据大小的写入被禁止。写入单位被设定为例如,0x0010h(16扇区),0x0020h(32扇区),0x0040h(64扇区)。1物理块(=64页)中包含的写入单位的数量根据写入单位的大小而不同。例如,写入单位的值如果是0x0020h(32扇区(=8页)),则1物理块内包含8个写入单位。图8表示写入单位的值为0x0010h(16扇区(=4页))时的单位配置表格150的构成。此时,1物理块内包含16(F)个写入单位(写入单位0~写入单位F)。“写入单位0开头地址”的字段存储:将16个写入单位中的第1个写入单位的数据写入的区域的开头物理地址的值。“写入单位n开头地址”的字段存储:将第n+1个写入单位写入的区域的开头物理地址的值。
【0036】
在FAT写入中“写入单位”字段变为,进行写入的逻辑组的固定值(图23A的写入单位的大小)。因此,1物理块(=64页)中包含的写入单位的数量也因逻辑组而不同。
【0037】
2.存储卡的动作
以下对具有上述构成的存储卡101的动作进行说明。
【0038】
2.1写入动作
参照图9,图10,对本实施方式的存储卡向闪速存储器103的写入处理进行说明。
【0039】
在图9中,存储卡101的控制器104如果从主机102接收写入指令,根据由主机102指定的写入逻辑地址,判断在闪速存储器103中,应该写入数据的区域是FAT区域还是数据区域(S11)。如果是FAT区域,执行如图10所示的处理(详细地在后面描述)。并且,主机102以逻辑扇区地址指定数据写入区域。
【0040】
如果是数据区域,控制器104参照重复表格107,判断是否有指定的逻辑地址的登录(S12)。该判断通过下述进行:参照重复表格107的重复信息的“逻辑块地址”,判断此值与由主机102指定的逻辑块地址是否相等。其中,逻辑块地址是作为由管理单位即闪速存储器物理块大小除逻辑扇区地址的商而得到。
【0041】
重复表格107中没有登录时,确定重复表格107中登录位置后(S23),进行向物理块的重新写入(S24)。这些处理的详情在后面进行描述。
【0042】
重复表格107中有登录时,判断传送目的地的物理块中,是否有未写入的区域(已经删除区域)(S13)。这由重复信息107b的“传送目的地下一个写入物理地址”字段的值能够判断。即,如果“传送目的地下一个写入物理地址”字段的值,比0x0100(物理块的大小)还小,判断为具有未写入区域,如果与0x0100相同,判断为有未写入区域。
【0043】
没有未写入页时,进行汇集处理(S18),有未写入页时,根据重复信息107b的“传送目的地写入模式”字段的值判断写入模式(S14)。
【0044】
写入模式为随机模式时,首先判断是否可以随机写入(S15)。如下进行该判断。重复信息107b的“写入模式”的值为“连续模式”时,“传送目的地下一个写入物理地址”,小于写入周期(例如,0x0040)时,判断为随机写入为“可”。除此之外,判断随机写入为“不可”。其中,所谓写入周期,是进行写入时的规定的数据大小,比写入周期小的数据大小的写入变为不可能。“写入模式”值为“改写模式”时,“传送目的地开头页逻辑地址”和“传送目的地下一个写入逻辑地址”的差,与写入周期(例如,0x0010,0x0020或者0x0040)一致时,判断为随机写入为“可”。除此之外,判断随机写入为“不可”。
【0045】
如果随机写入可以,进行随机写入(S16)。如果随机写入不可以,进行汇集处理(S18)。
【0046】
写入模式为改写模式时,首先判断是否可以改写写入(S19)。该判断如下进行。重复信息107b的“写入模式”的值为“连续模式”时,由主机102指定的逻辑地址为“传送目的地开头页逻辑地址”以上时,判断为改写写入为“可”。除此之外,判断为改写写入为“不可”。“写入模式”的值为“改写模式”时,由主机102指定的逻辑地址为“传送目的地开头页逻辑地址”以上且比“传送目的地下一个写入逻辑地址”小时,判断为改写写入为“可”。除此之外,判断改写写入为“不可”。
【0047】
如果改写写入可以,进行改写写入(S20)。如果改写写入不可以,进入步骤S15。
【0048】
写入模式为连续模式时,首先判断是否可以连续写入(S21)。重复信息107b的“传送目的地下一个写入逻辑地址”的值,比由主机102指定的逻辑地址小时,判断为连续写入为“可”。除此之外,判断为连续写入“不可”。如果可以连续写入,进行连续写入(S22)。如果不可以连续写入,进入步骤S19。
【0049】
如果写入处理(S16,S20,S22,S24)结束,判断是否继续进行来自主机102的写入数据的传送(S17)。由主机102发送表示结束的指令时,结束处理,如果不这样,返回步骤S11,重复上述处理。
【0050】
本实施方式的存储卡101,如上述那样,具有:在与之前的写入地址没有相关性的任意的逻辑地址区域进行写入的随机模式;在与之前进行写入的逻辑地址区域相同的逻辑地址区域进行写入的改写模式;和在连续的逻辑地址区域进行写入的连续模式,这些模式,根据从主机接收的逻辑地址的变化状况,选择性地切换。通过如上述切换写入模式,能够实现适应于写入状况的最佳的写入处理,能够提高写入处理的效率。
【0051】
并且,本实施方式的存储卡具有3种写入模式,也可以不全具备这些写入模式,也可以根据应用只具备1个或者2个写入模式。
【0052】
以下,对各写入处理进行更具体的说明。
【0053】
2.1.1连续写入
对本实施方式中的连续写入处理的概念进行说明。在对本实施方式中的连续写入处理的概念进行说明前,对以往的写入处理引起的闪速存储器内部的数据配置的变化进行说明。
【0054】
讨论进行如图11A所示的数据的删除、写入的情况。在图11A(a)的状态中,在数据区域中,簇2和簇3中写入文件1,在簇4中写入文件,在簇5和簇6中写入文件3,在簇7中写入文件4,在簇8和簇9中写入文件5。
【0055】
图11A(b)表示从该状态,由主机102删除文件1、3、5的状态。主机102对闪速存储器103内的数据区域不进行任何数据的写入、删除,通过在FAT1中,将与文件1、3、5关联的簇的值全部更新为“0000”,逻辑性删除文件1、3、5。由此,数据区域具有文件1、3、5的区域,被主机102识别作为空闲区域。
【0056】
图11A(c)表示从该状态主机102写入容量96KB的新文件后的状态。在FAT1中对写入了表示空闲区域的“0000”的簇写入新文件。
【0057】
如以上,主机102删除存储卡101中写入的文件,另外写入新的文件。
【0058】
对于图11A的删除、写入处理,使用图11B对存储卡101内部的以往的处理进行说明。
【0059】
图11B(a)表示闪速存储器103内部中的数据构成,文件1~5被写入到物理块100中。物理块101~104是已经删除块。即使从该状态变为逻辑性删除文件1、3、5的图11B(b)的状态,该物理块100的状态不改变,仍然是图11B(a)的状态。
【0060】
接着,主机102将新文件写入到存储卡101中时,由于应该写入新文件的簇被分为3个部分(簇2和3,簇5和6,簇8和9),所以主机102需要分3次对存储卡101写入数据。
【0061】
首先,在其他的已经删除物理块101中,在对应于被删除的文件1的区域写入新文件的一部分,在剩余的区域中复制文件2~5。然后在写入后物理性的删除物理块100。由此变为图11B(b)的状态。
【0062】
接着,在其他的已经删除物理块102中,对应于被删除的文件3的区域写入新文件数据的一部分的同时,在除此之外的区域从物理块101复制数据。然后,物理性地删除物理块101。由此变为图11B(c)的状态。
【0063】
并且,在其他的已经删除物理块103中,在对应于被删除的文件5的区域写入新文件数据的一部分的同时,在除此之外的区域从物理块102复制数据。然后,物理性地删除物理块102。由此变为图11B(d)的状态。
【0064】
如以上,在以往,尽管是1个逻辑组内的写入,也需要对3个物理块进行写入、删除,写入处理花费时间。
【00650001】
下面,使用图11C,对本实施方式的改写写入的动作进行说明。
如图11C(a)所示,最初,物理块99存储着文件1~5的数据。物理块100~物理块102为已经删除块。考虑如下的情况:在上述状态下,将新文件划分、写入到与分别记录有文件1、文件3、文件5的逻辑地址区域相同的逻辑地址区域中。存储卡101参照已经删除表格105,检索已经删除的物理块100,将新文件的一部分记录到此物理块100中(参照图11C(b))。在此时刻,在重复表格107中,对新文件进行使逻辑地址和物理地址对应的处理,并且使新文件和文件1的物理地址对应。此时,逻辑块99不变更。接着,在物理块100中,在对应于文件3的位置记录下一新文件的一部分。此时,将物理块99中的文件2的数据复制后,写入(参照图11C(c))。在此时刻,在重复表格107中,对新文件,使逻辑地址和物理地址进行对应,并且对新文件和文件3的物理地址进行对应。同样,在物理块100中,复制文件4的数据后,写入新文件的一部分后,删除物理块99(参照图11C(d))。在该时刻,在重复表格107中消除物理块99和物理块100的对应。
【0066】
如以上,通过重复表格107,对于具有与已经写入的数据相同逻辑地址且写入到不同物理块中新的数据,使逻辑地址和物理地址相对应,并且进行以前写入的数据和重新写入的数据的物理块间的相对应。通过具备这样的重复表格107,能够降低由数据的改写产生的对不同的物理块的数据的复制和删除的次数,能够提高写入效率。
【0067】
参照图12的流程图,对连续写入处理的详情进行说明。
最初,马上判断是否可以连续写入(S51)。具体地说,登录着的重复信息107b的“传送目的地下一个写入逻辑地址”与主机102指定的逻辑地址相等时,判断可以马上连续写入。比主机102指定的逻辑地址小时,判定为“不可”。
【0068】
写入为“不可”时,将传送源的物理块中的对应数据,从“传送目的地下一个写入物理地址”表示的地址,复制到主机102指定的逻辑扇区地址之前的区域中(S52)。此时,根据写入状况,更新重复信息107b的“传送目的地下一个写入逻辑地址”和“传送目的地下一个写入物理地址”。
【0069】
然后,将由主机102传送的数据以页单位写入到指定的区域(S53)。此时,根据写入状况,更新重复信息107b的“传送目的地下一个写入逻辑地址”和“传送目的地下一个写入物理地址”。
【0070】
判定是否结束来自主机102的写入数据的传送(S54)。由主机102发送表示结束的指令时,判定为写入数据结束。继续来自主机102的数据传送时,接着判定写入的区域是否为相同的逻辑组(S55),如果是相同逻辑组,继续数据的写入(S53)。如果“传送目的地下一个写入逻辑地址”为0x0100,判断为不同的逻辑组,如果为0x0100以下,判断为相同的逻辑组。如果是不同的逻辑组,结束处理。
【0071】
2.1.2改写写入
参照图13,对本实施方式中的改写写入处理的概念进行说明。参照图13(a),在每个物理块100的逻辑块8~15中存储有数据时,对来自主机102的逻辑块10的写入,控制器104由逻辑物理地址变换表格106得到与逻辑块10所属的逻辑组0对应的物理块100。然后,从已经删除表格105得到作为已经删除的块的物理块101。然后,将来自主机102的数据作为逻辑块10写入,将与残留有还未写入的页的物理块101相关的信息存储到重复表格107。
【0072】
此后,还有主机102对同一逻辑块的逻辑块10进行写入时,控制器104由逻辑物理地址变换表格106得到与逻辑块10所属的逻辑组0对应的物理块100。然后,参照重复表格107,得到具有未写入的页且相同逻辑组0的数据已经写入的物理块101,然后将来自主机102的数据作为逻辑块10写入,将与残留有还未写入的页的物理块101相关的信息存储到重复表格107中,结束写入。该状态为图13(b)所示的状态。该处理所需要的时间同样也是2880μs。
【0073】
并且,图13(c)表示此后,连续地由主机102对作为同一逻辑块的逻辑块2进行多次写入后的状态。
【0074】
如以上,在本实施方式中,在对同一逻辑块的写入连续地产生时,继续对1个物理块,并且,只对产生写入的逻辑块进行写入。由此,能够降低逻辑块改写所需要的时间。
【0075】
参照图14的流程图,对改写写入处理的详情进行说明。最初,设定为改写模式(S61)。将重复信息107b的“传送目的地写入模式”字段的值设定为表示“改写模式”的值。
【0076】
然后,判断是否从连续模式转移(S62)。该判断参照重复信息107b的“传送目的地写入模式”进行。如果从连续模式转移,则判断是否可以马上写入主机数据(S63)。该判断,通过在以前的写入中,为了满足写入周期而通过判断是否形成写入来进行的。即,判断写入对象的物理块中,数据已经写入的区域的边界,是否与写入周期调正(alignment)。具体地说,判断已经写入的页的合计大小是否为2的乘方的值。更具体地说,重复信息107b的“传送目的地下一个写入物理地址”如果是0x0004,0x0008,0x0010,0x0020,0x0040,0x0080的某一个,判断位可以马上改写,除了上述以外的情况判断为不可。
【0077】
不可以马上写入时,为了满足周期,复制不足量的数据到写入对象的块中(S64)。即,为了使逻辑块从传送源物理块向传送目的地物理块变得连续,复制从“传送目的地下一个写入物理地址”表示的地址,到写入后的页数的大小变为2的乘方的地址的数据。此时,根据写入状况更新“传送目的地下一个写入逻辑地址”和“传送目的地下一个写入物理地址”。
【0078】
接着,设定有效偏移(S65)。在“传送目的地有效偏移物理地址”中写入“传送目的地下一个写入物理地址”的值。
【0079】
然后,判断是否可以马上写入主机数据(S66)。如果登录的重复信息的“传送目的地开头页逻辑地址”和主机指定的逻辑扇区地址属于相同的页,判断为可以写入,如果不属于,判断为不可以写入。
【0080】
判断为不可以时,将写入数据之前的数据复制到写入对象块中(S67)。将从“传送目的地开头页逻辑地址”字段表示的地址到主机102指定的扇区地址之前的数据,从传送源物理块向传送目的地物理块复制。此时,根据写入状况更新“传送目的地下一个写入物理地址”字段。
【0081】
然后,以页单位写入由主机102传送的数据(S68)。此时,根据写入状况更新“传送目的地下一个写入物理地址”字段。
【0082】
判断是否结束来自主机102的写入数据的传送(S69)。结束来自主机102的数据传送时,将改写周期的剩余数据复制到写入对象块(S70)。继续来自主机102的数据传送时,判断接着写入的区域是否为相同的逻辑组(S71),如果是相同的逻辑组,继续数据的写入(S68)。如果是不同的逻辑组结束处理。
【0083】
2.1.3随机写入
本实施方式中,所谓随机写入,是在传送目的地物理块中已经写入的数据的逻辑地址、与要重新写入的数据的逻辑地址,不连续,也不重复情况的写入。
【0084】
参照图15的流程图,对随机写入处理的详情进行说明。最初,参照重复信息107b的“传送目的地写入模式”,判断是否为随机模式(S81)。
【0085】
如果不是随机模式,判断是否可以马上写入主机数据(S82)。该判断通过下述来进行:与改写写入的情况一样,通过判断为了使在以前的写入中满足写入周期而是否进行写入。不可以马上写入时,为了满足周期,将不足量的数据复制到写入对象的块中(S83)。
【0086】
然后,设定为随机模式(S84)。重复信息107b的“传送目的地写入模式”的值为“改写模式”时,“传送目的地写入模式”中写入“传送目的地下一个写入物理地址”的值。
【0087】
接着,设定有效偏移(S85)。“传送目的地有效偏移物理地址”中写入“传送目的地下一个写入物理地址”的值。
【0088】
然后,判断是否可以马上写入主机数据(S86)。将主机102指定的逻辑扇区地址,用重复信息107b的“传送目的地写入模式”的值来除的余数,如果不足1页大小(不足0x0003),判断为可以马上写入。除了上述以外判断为不可以。
【0089】
判断为不可以时,将写入数据之前的数据复制到写入对象块中(S87)。从将主机102指定的扇区地址以“随机写入”的写入单位分组时的开头地址,将主机102指定的扇区地址之前的数据,向传送目的地物理块复制。
此时,根据写入状况更新“传送目的地下一个写入物理地址”字段。
【0090】
然后,设定有效偏移(S88)。“传送目的地下一个写入物理地址”被“传送目的地写入模式”除尽时,“传送目的地有效偏移物理地址”中写入“传送目的地下一个写入物理地址”。
【0091】
以页单位写入从主机102传送来的数据(S89)。此时,根据写入状况更新“传送目的地下一个写入物理地址”字段。
【0092】
判断是否结束来自主机102的写入数据的传送(S90)。来自主机102的数据传送结束时,将写入周期量的剩余数据复制到写入对象块中(S91)。继续来自主机102的数据传送时,接着判断写入区域是否为相同逻辑组(S92),如果时相同逻辑组,继续数据的写入。如果是不同的逻辑组,结束处理。
【0093】
2.1.4重新写入
在步骤S12中,重复表格107没有登录时,确定重复表格107中的登录位置后(S23),进行向物理块的重新写入(S24)。对这些处理的详情进行说明。
【0094】
参照图16,对步骤S23的重复表格的登录位置的确定处理的详情进行说明。要求重复表格107中最以前使用的重复信息(S121)。由于该处理是决定用于确保在重复表格107中今后写入数据用的空闲记录的候补的,所以只要从重复信息0~7中选择一个即可。这里使用根据LRU(LeastRecently Used)的决定方法。
【0095】
判断所求出的重复信息是否有效(S122)。如果有效,进行汇集处理(S123)。如果求出的重复信息的“逻辑块地址”值为0xFFFF以外,则判定为有效,如果为0xFFFF,判定为无效。并且,0xFFFF是重复信息被初始化时“逻辑块地址”中设定的值。
【0096】
参照图17,对步骤S24的重新写入处理的详情进行说明。首先,进行向重复表格107的登录(S41)。此时,进行重复信息107b的各字段的初始化。“逻辑块地址”中登录主机指定的逻辑块地址。“传送源物理块地址”中登录:写入有与主机102指定的逻辑块地址对应的数据的物理块地址,即,由逻辑物理地址变换表格将主机102指定的逻辑块地址作为基础得到的地址。“传送目的地物理块地址”中,由已经删除表格检索并登录已经删除的物理块地址。此时,已经删除表格的相应位被更新为表示已经写入的状态。在“传送目的地开头页地址”中登录主机102指定的逻辑扇区地址。
【0097】
将由主机102传送的数据以页单位写入(S42)。根据状况,更新“传送目的地下一个写入逻辑地址”和“传送目的地下一个写入物理地址”。
【0098】
判断来自主机102的写入数据的传送是否结束(S43)。来自主机102的数据传送结束时,结束处理。来自主机102的数据传送继续时,接着判断写入的区域是否为相同的逻辑组(S44),如果是相同的逻辑组,继续数据的写入(S42)。如果是不同的逻辑组,结束处理。
【0099】
2.1.5汇集处理
对汇集处理进行说明。所谓汇集处理是用于解除传送源块的数据和传送目的地块数据的重复关系的处理。
【0100】
图18是用于说明连续模式时的汇集处理的图。如图18(a)所示,存在传送源物理块99和传送目的地物理块100时,如图18(b)所示,这些块被汇集在传送目的地物理块100中,传送源物理块99的数据被删除。此时,传送目的地物理块100中,继原本记录的逻辑块10之后,复制从传送源物理块99到逻辑块10连续的逻辑块11~15,在逻辑块15之后复制逻辑块8,9。
【0101】
另外,图19是用于说明改写模式、随机模式时的汇集处理的图。在该例子中,从传送源物理块99和传送目的地物理块100,对已经删除的物理块101,分别复制逻辑块的数据,然后,删除传送源物理块99和传送目的地物理块100的数据。
【0102】
如以上,通过汇集处理,能够将被写入的数据涉及多个逻辑块而汇集为1个逻辑块。
【0103】
参照图20,图21的流程图,对图9步骤S18的汇集处理进行说明。由重复信息107b的“传送目的地写入模式”的值判断写入模式(S101)。写入模式如果是改写模式、随机模式,进行图21的处理。
【0104】
如果写入模式为连续模式,从传送源块向传送目的地块复制数据的一部分(S102)。具体地说,将包含“传送目的地下一个写入逻辑地址”值的页的数据,从传送源物理块向传送目的地物理块复制。此时,根据写入状况更新“传送目的地下一个写入逻辑地址”和“传送目的地下一个写入物理地址”。
【0105】
判断在传送目的地物理块中是否被写入到最终页(S103)。写入进行到最终页时,删除传送源物理块的数据(S106)。删除由“传送源物理块地址”表示的闪速存储器的物理块的数据。此时,已经删除表格105的相应位被更新为表示已经删除的状态。
【0106】
然后,更新各种表格(S107)。即,关于被汇集的物理块(传送目的地物理块),将逻辑地址和物理地址的对应,登录到逻辑物理地址变换表格106中。具体地说,将逻辑物理地址变换表格106的“逻辑块地址”的值,更新为“传送目的地物理块地址”的值。另外,进行重复信息107b各字段的无效化。具体地说,在“逻辑块地址”中登录0xFFFF(意味无效的值)。在“传送源物理块地址”、“传送目的地物理块地址”、“传送目的地开头页逻辑地址”、“传送目的地下一个写入逻辑地址”、“传送目的地下一个写入物理地址”、“传送目的地写入模式”、和“传送目的地有效偏移物理地址”的每个中登录0x0000。
【0107】
另一方面,在写入没有进行到最终页时,判断逻辑页的溢出(S104)。具体地说,“传送目的地下一个写入逻辑地址”的值为0x0100时,判断为逻辑页溢出,不足0x0100时,判断为没有溢出。
【0108】
逻辑页溢出时,逻辑页编号变为0(S105)。具体地说,“传送目的地下一个写入逻辑地址”的值设定为0x0000。
【0109】
在步骤101中,参照图21,对写入模式为改写模式、随机模式情形的处理进行说明。
【0110】
参照已经删除表格105,获得已经删除块,另外,逻辑页编号变为0(S111)。由于逻辑页编号变为0,将“传送目的地下一个写入物理地址”设定为0x0000。在该阶段中,变为指示与相同的重复记录的其他字段的″传送目的地″不同的物理块的状态。另外,作为内部变量,具有“汇集逻辑地址”,将其值设定为0x0000。
【0111】
根据重复信息,判断汇集的数据的读出位置(S112)。从传送源物理块读出数据时,从传送源物理块向已经删除块复制数据(S113)。即,从“传送源物理块”,向已经删除的物理块,复制“汇集逻辑地址”的数据。此时,根据写入状况更新“传送目的地下一个写入物理地址”。
【0112】
从传送目的地物理块读出数据时,从传送目的地物理块向已经删除块复制数据(S115)。即,从“传送目的地物理块”,向已经删除的物理块,复制“汇集逻辑地址”的数据。此时,根据写入状况更新“传送目的地下一个写入物理地址”。
【0113】
判断在传送目的地物理块中是否写入到最终页(S114)。如果写入进行到最终页时,删除传送源物理块和传送目的地物理块的数据(S117)。
【0114】
然后,更新各种表格(S118)。即,将逻辑物理地址变换表格106的“逻辑块地址”的值,更新为由该流程获得的已经删除块的地址。另外,进行重复信息107b的各字段的无效化。
【0115】
另一方面,写入没有进行到最终页时,增加逻辑页(S116),复制下一个逻辑页(汇集逻辑地址)的数据。
【0116】
2.1.6FAT写入
以下对图9的流程图的步骤S11的写入区域判定中判断为写入区域为FAT区域时的处理进行说明。基本的处理流程与随机写入完全相同,特征在于,由于写入单位是由逻辑组固定的值,由FAT区域的逻辑组比数据区域的逻辑组小的容量构成,对于以逻辑组单位进行写入的物理块,能够进一步随机地进行写入。在此说明之前,说明对本存储卡101的FAT区域进行管理的方法。
【0117】
图22是就逻辑组对FAT信息的分配进行说明的图。
在同图中,逻辑扇区地址0~97(0x000~0x0061)的区域包含未使用区域,存储着主引导记录和分区引导记录的信息。逻辑扇区地址98~128(0x0062~0x0080)的区域存储着FAT1的信息。逻辑扇区地址129~159(0x0081~0x009F)的区域存储FAT2的信息。逻辑扇区地址160~255(0x00A0~0x00FF)的区域存储根目录的信息。
【0118】
本实施方式的存储卡101的控制器103,将存储主引导记录和分区引导记录的连续的区域(扇区0~扇区97的区域)分配为逻辑组0-0。同样,将存储FAT1信息的扇区98~扇区128的区域分配为逻辑组0-1,存储FAT2信息的扇区129~扇区159的区域分配为逻辑组0-2。将包含存储根目录信息的区域的扇区160~扇区255的区域分配为逻辑组0-3。并且,对应各逻辑组0-0~0-3,将闪速存储器103的物理块一个一个地分配。
【0119】
由于主引导记录、分区引导记录、FAT1、FAT2、和根目录的信息大小即使合计也不足256扇区,若有1个物理块,就能够存储这些所有的信息。但是,在本实施方式中,根据FAT信息的种类,分别分配逻辑组0-0~0-3,使物理块与各逻辑组0-0~0-3对应。另外,对各逻辑组0-0~0-3,使FAT重复信息0~3分别对应。FAT重复信息0~3,将与逻辑组0-0~0-3对应的物理块的地址存储在“传送目的地物理块地址”中。
【0120】
图23A是表示与本实施方式中的卡容量为128MB时的FAT信息相关的各种管理条件的图。图23A所示的信息为了能够适于控制器103参照而被保持在存储卡101内的FAT区域变换表格108中。
【0121】
卡容量为128MB时,一般的,如图22所示,分配各FAT信息的逻辑扇区地址。参照同图,逻辑扇区地址0~97(0x000~0x0061)的区域,对应于逻辑组0-0。逻辑组0-0的固定偏移为0。逻辑组0-0的重复信息被存储在FAT重复信息0中。汇集条件为0x00E0。并且,汇集条件是从物理块大小(0x0100)中减去其逻辑组写入单位大小(例如,0x0020)得到的值。另外,写入单位的大小为32扇区,因此,在逻辑组0-0中,1个物理块包含扇区0~扇区31、扇区32~扇区63、扇区64~扇区95、扇区96和97这4个写入单位。写入单位的大小根据逻辑组而不同。
【0122】
图23B是表示FAT区域变换表格108的构成的图。FAT区域变换表格108存储:对应于存储卡(闪速存储器103)的容量的、分配给各逻辑组0-0~0-3的逻辑地址的信息。如同图所示,根据存储卡101的容量,使分配给各逻辑组0-0~0-3的区域的大小不同。控制器103,在存储卡101的初始化时,参照FAT区域变换表格108,根据卡容量,对FAT区域的逻辑地址进行逻辑组的分配。
【0123】
图24A(a)是表示,对应与FAT区域相关的逻辑组而分配的物理块的区域构成的图。并且,图24A(a)表示与FAT2相关的逻辑组0-2的例子。物理块包含部分块写入区域和固定随机写入区域。物理块开头的页0~页7的区域是部分块写入区域,该区域中最初写入与FAT2相关的信息(31扇区的信息)。继此之后的页8~页63区域为随机写入区域,该区域中存储着重复写入的数据。随机写入区域中的写入单位是图23A表示的写入单位(逻辑组0-2的情况为4扇区),该值成为比部分块写入区域中的写入单位小的值。
【0124】
进行向数据区域的写入时、重复写入时,将数据写入到与存储原来的数据的物理块不同的物理块中。与此相对,进行FAT区域中的重复写入时,将数据写入到与存储原来数据的物理块相同的物理块中。即,最初,在部分块写入区域写入数据,以后,需要对与已经写入的数据的逻辑地址相同的逻辑地址重复写入其他的数据时,将此其他的数据写入到相同的物理块内的固定随机写入区域。如果随机写入区域没有空闲,汇集此物理块。这样,对每一FAT信息的种类,分配物理块,并且,通过在物理块中进行重复写入,能够降低比较不规则的存取频率高的FAT区域中汇集次数,能够提高写入效率。
【0125】
并且,如图24A(b)所示,在其他的物理块B中设置随机写入区域,也可以扩张作为随机写入区域而使用的区域。此时为了管理多个随机写入区域,图6(a)中所示的FAT区域的重复信息中需要增加应该管理项目。图24A(b)的情况,与图24A(a)的情况相比,由于降低被汇集处理的次数,从而能够进一步提高写入效率。
【0126】
参照图10,对图9流程图的步骤S11的写入区域判定中,判断为写入区域为FAT区域时的处理进行说明。
【0127】
最初,判断重复表格107中,是否有与主机102指定的逻辑地址对应的FAT重复信息的登录(S31)。具体地说,与主机102指定的逻辑地址对应的FAT重复信息的“传送目的地物理块地址”如果为0x0000,判定为有登录,如果是0x0000以外,判定为无登录。
【0128】
没有FAT重复信息登录时,获得已经删除块(S35)后,将FAT信息写入此已经删除块(S33)。
【0129】
有FAT重复信息的登录时,判断FAT重复信息指定的物理块中有无未写入页(S32)。与主机102指定的逻辑地址对应的FAT重复信息的“传送目的地分配物理页”,如果与汇集条件(参照图23A)相同,则判断为无未写入页,如果不相同,则判断为有未写入页。
【0130】
如果有未写入页,进行在此未写入页中写入FAT信息的FAT写入处理(S33)。如果没有未写入页,则在进行汇集处理(S34)后,获得已经删除块(S35),进行将FAT信息写入该已经删除块的FAT写入处理(S33)。
【0131】
参照图24B,对上述步骤S33的FAT写入处理进行说明。获得与从主机102接收的逻辑地址对应的写入单位配置表格(S131)。具体地说,根据由主机102指定的逻辑扇区地址,按照图23A所示的信息,决定符合此逻辑地址的逻辑组,特别指定并读出与该逻辑组对应的FAT重复信息。例如,如果来自主机102的逻辑扇区地址为0x0020,获得逻辑组0-0的FAT重复信息0。从所获得的FAT重复信息的“传送目的地物理块地址”和“传送目的地分配物理页”所指定的闪速存储器的管理区域,读出最新的写入单位配置表格150。
【0132】
下面,设定写入目的地(S132)。将对应的FAT重复信息的“传送目的地物理块地址”作为写入目的地的物理块地址,在“传送目的地分配物理页”中,累加符合的逻辑组的“写入单位的大小”,将其作为写入目的地的物理扇区地址。
【0133】
设定有效偏移(S133)。在对应的FAT重复信息的“传送目的地分配物理页”中,写入写入目的地的物理页。
【0134】
判断是否能够马上写入数据(S134)。该判断如下述进行。将主机102指定的逻辑扇区地址用符合的逻辑组的“固定偏移”除而得到的余数如果不足1页(不足0x0003),则判断为可以马上写入。除此之外判断为不可以马上接收。
【0135】
如果不能马上写入,将由主机102指定的地址之前的数据复制到写入对象块中(S135)。即,从由逻辑物理地址变换表格106得到的物理块,向写入目的地的物理块,复制从符合的逻辑组的“固定偏移”至主机指定的扇区地址之前的数据。此时,根据写入状况,增加写入目的地的物理扇区。在闪速存储器103的管理区域中更新并写入写入单位配置表格150。
【0136】
然后,进行有效偏移的设定(S136)。写入目的地的物理扇区能够被对应的逻辑组的“写入单位的大小”除尽时,在FAT重复信息的“传送目的地分配物理页”中写入写入目的地的物理页。
【0137】
接着,将主机102传送来的数据,从之前步骤中设定的写入目的地以页单位依次写入(S137)。此时,根据写入状况,增加写入目的地的物理扇区地址。在闪速存储器103的管理区域,更新并写入写入单位配置表格150。
【0138】
判断是否继续来自主机102的写入数据的传送(S138)。如果数据传送结束,则将逻辑组的数据复制到写入对象块(S139)。具体地说,从由逻辑物理地址变换表格106得到的物理块向写入目的地的物理块,全部复制包含在对应的逻辑组内的数据中还未写入的部分。此时,根据写入状况,增加写入目的地的物理扇区地址。在闪速存储器103的管理区域,更新并写入写入单位配置表格150。
【0139】
如果数据传送是继续当中,判断下一次写入数据是否是与前次相同的逻辑组(S140),如果相同,则写入下一个数据。如果不同,结束本处理。
【0140】
2.1.7写入动作的具体例子
(例1)连续写入模式的例子
参照图25~图31,对从重新写入到连续写入模式时的例子进行说明。在图25中,如果由主机102向逻辑块0x0010、逻辑扇区0x0020~0x003F的区域要求重新写入数据,则在没有登录重复信息(S12)情况中,进行重新写入(S24),在已经删除块即物理块100中写入数据。
【0141】
在上述状况下,重复表格107的重复信息107b如下设定。对“逻辑块地址”设定了由主机102指定的逻辑地址0x0010。在“传送目的地物理块地址”中,在逻辑物理地址变换表格中,被设定为与逻辑块地址0x0010对应的值即0x0000。“传送目的地物理块地址”被设定为,表示写入数据的预定的物理块100的块地址0x0100。“传送目的地开头页逻辑地址”被设定为,由主机102指定的开头的逻辑扇区的值0x0020。“传送目的地写入模式”被设定为,表示“连续”的0x0000。重复信息107b的其他字段被设定为初期值。
【0142】
然后,根据主机102的要求,从物理块100的开头写入逻辑扇区0x0020~0x003F的数据。此时的状态为图26所示的状态。在图26中,重复信息107b的“传送目的地下一个写入逻辑地址”中存储0x0040,“传送目的地下一个写入物理地址”中存储0x0020。
【0143】
接着,由主机102对向逻辑块0x0010、逻辑扇区0x0040~0x007F的区域进行的数据的写入要求,进行连续写入(S22)。在物理块100中,在已经记录的区域和物理上连续的区域,写入逻辑上连续的数据。此时的状态为图27所示的状态。在图27中,重复信息107b的“传送目的地下一个写入逻辑地址”的值被更新为0x0080,“传送目的地下一个写入物理地址”被更新为0x0060。
【0144】
在图27所示的状态中,如果有由主机102向不连续的逻辑地址的写入要求时,即,如果有向逻辑扇区地址0x00E0~0x00FF的区域的写入要求,如图28所示,需要首先在逻辑扇区地址0x0080~0x00DF中,从重复信息107b的“传送源物理块”读出数据,向“传送目的地物理块”复制。但是,其中在重复信息107b的“传送源物理块”中存储着表示无效值的0x0000,这意味着没有传送源物理块。因此,其中,在逻辑扇区地址0x0080~0x00DF中写入规定数据(例如“FF”)。然后,接着如图29所示,写入具有由主机102要求的逻辑扇区地址0x00E0~0x00FF的数据。这样,在本实施方式中,在空闲区域补充数据后指定的区域进行写入数据的处理,以避免写入了数据的区域不连续。另外,在上述中,写入规定数据是为了在物理块100中重新写入数据(注:物理块100的重复信息107b的传送源物理块地址中存储着0x0000,这意味着物理块100中重新写入了数据。)。来自传送源的物理块的重复写入时,复制传送源的物理块的对应的逻辑地址的数据。
【0145】
在图29的状态下,进行汇集处理时,在物理块100剩余区域写入数据,使逻辑地址变得连续。即,如图30所示,作为逻辑扇区地址0x00E0~0x001F的数据,写入重复信息107b的“传送源物理块”的数据,其中,由于“传送源物理块”是无效值,所以写入规定数据。然后,与逻辑物理地址变换表格106的逻辑块0x0010对应的值被更新为表示物理块100块地址的0x0100,重复信息107b被初始化。
【0146】
在上述例子中表示了写入周期为32扇区时的写入动作的例子,如图31所示,以扇区单位进行写入动作的情况也一样。
【0147】
(例2)改写写入模式的例子
参照图32~图34,对从重新写入到改写写入模式的情况的例子进行说明。在图32中,如果由主机102要求向逻辑块0x0010、逻辑扇区0x00E0~0x00FF的区域重新写入数据,则已经删除块即理块100被写入数据。
【0148】
在上述状况下,重复表格107的重复信息107b被如下设定。“逻辑块地址”被设定为由主机102指定的逻辑地址0x0010。“传送目的地物理块地址”被设定为逻辑物理地址变换表格中与逻辑块地址0x0010对应的值即0x0000。“传送目的地物理块地址”被设定为表示写入数据的预定的物理块100的块地址的0x0100。“传送目的地开头页逻辑地址”被设定为由主机102指定的开头的逻辑扇区的值0x00E0。“传送目的地下一个写入逻辑地址”存储着0x0100。“传送目的地下一个写入物理地址”中存储着0x0020。“传送目的地写入模式”被设定为表示“连续”的0x0000。重复信息107b的其他字段被设定为初期值。
【0149】
并且,如图33所示,如果有由主机102对与前次相同逻辑地址写入数据的要求,则在物理块100中继前次写入的区域(页0~页7)之后的区域中重新写入数据。此时,重复信息107b的“传送目的地下一个写入逻辑地址”被更新为0x0040,“传送目的地有效偏移物理地址”被更新为0x0020。另外,“传送目的地写入模式”被设定为意味改写的0xFFFF。
【0150】
并且,如图34所示,如果有由主机102对与前次相同的逻辑地址写入数据的要求,在接着物理块100中继前次写入的区域(页8~页F)之后的区域重新写入数据。此时,重复信息107b的“传送目的地下一个写入逻辑地址”被更新为0x0060,“传送目的地有效偏移物理地址”被更新为0x0040。
【0151】
(例3)被改写的块的汇集
参照图35、图36,对被改写写入的块的汇集处理的例子进行说明。如图35所示在物理块100中,最后进行改写写入的数据被复制到已经删除物理块101中。需要在物理块101中剩余的区域(页8~3F)写入从重复信息107b的“传送源物理块”读出的数据,但是由于重复信息107b的“传送源物理块”存储着表示无效值的0x0000,所以被写入规定数据(FF)。
【0152】
然后,如图36所示物理块100被删除。伴随于此,与物理块100相关的重复信息被初始化的同时,物理块101被登录到逻辑物理地址变换表格106中。
【0153】
(例4)随机写入模式的例子
参照图37,对随机写入模式的例子进行说明。图37表示,物理块100中,在页0~页17区域中,以改写模式依次写入逻辑扇区地址E0~FF的数据后(相当于图34的状态),在页18~页1F的区域中,以随机模式写入逻辑扇区地址00~1F的数据的例子。
【0154】
重复信息107b的“传送目的地下一个写入物理地址”被设定为已经删除区域的开头物理地址即0x0080。“传送目的地有效偏移物理地址”被设定为以随机模式写入的数据的偏移值即0x0060。“传送目的地写入模式”被设定为随机写入周期即0x0020。
【0155】
写入单位配置表格150的“写入单位”被设定为随机写入周期即0x0020。“写入单位0开头地址”存储着:存储逻辑地址00~1F数据的区域的开头物理地址。其中,设定写入到页18~页1F的数据的开头地址即0x0060。“写入单位7开头地址”存储着:存储逻辑地址E0~FF数据的区域的开头物理地址。其中,设定写入到页10~页17的数据的开头地址即0x0040。“写入单位1开头地址”等的0xFFFF表示:数据存储在传送源的块中。
【0156】
2.2读出动作
参照图38,对来自闪速存储器103的读出动作进行说明。
最初,获得由主机102指定的读出逻辑地址(S201)。并且,将主机102指定的逻辑块地址作为“读出逻辑块地址”,将逻辑扇区地址作为“读出逻辑扇区地址”。
【0157】
判断主机指定的逻辑地址是FAT区域还是数据区域,判断读出区域(S202)。
【0158】
读出区域为数据区域时、为FAT区域时,进行图43所示的处理(详情在后面描述)。读出区域为数据区域时,作为内部变量,重复索引(X)设定为0x0000(S203)。
【0159】
获得重复表格107的第X重复信息(重复信息X)的逻辑块地址(S204)。
【0160】
比较从重复表格107获得的逻辑块地址和主机指定的逻辑块地址(S205)。
【0161】
如果两逻辑地址不同,增加重复索引(X)(S206),对下一个重复信息比较逻辑块地址。其中,由于重复信息只有8个,重复索引(X)的值在8以上时,为溢出(S207),进行通常读出处理(S208)。
【0162】
如果两逻辑地址一致,获得重复信息X的“传送目的地写入模式”的值(S211),判断写入模式(S212),进行适应于写入模式的读出处理(S213,S214,S215)。
【0163】
各读出处理(S208,S213,S214,S215)结束后,以块单位增加读出逻辑块地址,将读出逻辑扇区地址设定为0x0000(S209)。
【0164】
反复进行以上处理,直到从主机102接收表示读出结束的指令(S210)。以下,对各读出处理的详情进行说明。
【0165】
2.2.1通常读出
参照图39的流程图,对通常读出处理(S208)进行说明。从逻辑物理地址变换表格106获得与读出逻辑块地址对应的物理块地址(S221)。
【0166】
从闪速存储器103读出由所获得的物理块地址指定的物理块的偏移信息(S222)。具体地说,从闪速存储器读出由获得的物理块地址指定的块的开头物理页的管理区域中所写入的逻辑扇区地址,得到此物理块的偏移值的信息。
【0167】
通过从读出逻辑扇区减去偏移值,而得到与读出逻辑扇区地址对应的读出物理扇区地址(S223)。读出物理扇区地址的数据以页单位读出(S224)。
【0168】
读出逻辑扇区地址以页单位增加(S225)。判断来自主机102的读出是否结束(S226),读出结束时,结束整个读出处理。来自主机102的读出继续时,判断读出逻辑扇区地址的溢出(S227)。如果没有溢出,返回步骤S223,读出下一个数据,如果溢出,结束该通常读出处理。
【0169】
2.2.2连续读出
参照图40的流程图,对连续读出处理(S213)进行说明。获得重复表格107中的对应的重复信息(S231)。即,由重复信息得到“传送源物理块地址”、“传送目的地物理块地址”、“传送目的地开头页逻辑地址”、和“传送目的地下一个写入逻辑地址”信息。
【0170】
从闪速存储器103获得传送源物理块的偏移值的信息(S232)。判断数据的读出目的地是传送源物理块还是传送目的地物理块(S233)。具体地说,读出逻辑扇区地址比包含“传送目的地开头页逻辑地址”的页的开头地址小时,或者比“传送目的地下一个写入逻辑地址”大时,判断为来自传送源的读出。除此之外,判断为来自传送目的地的读出。
【0171】
来自传送源的读出时,得到传送源物理块的读出物理扇区(S234)。通过从读出逻辑扇区地址减去传送源物理块的偏移值,能够得到写入有与“读出逻辑扇区地址”对应的数据的物理扇区。
【0172】
获得的传送源物理块的读出物理扇区的数据以页单位读出(S235)。
【0173】
在步骤S233中,来自传送目的地的读出时,得到传送目的地物理块的读出物理扇区(S239)。通过从读出逻辑扇区地址减去传送目的地开头页逻辑地址,能够得到写入有与“读出逻辑扇区地址”对应的数据的物理扇区。
【0174】
获得的传送目的地物理块的读出物理扇区的数据以页单位读出(S240)。
【0175】
判断是否继续由主机102读出(S236),如果结束,则结束整个读出处理。如果继续由主机102读出,以页单位增加读出逻辑扇区地址(S237),判断读出逻辑扇区地址的溢出(S238)。如果没有溢出,返回步骤S233,读出下一个数据,如果溢出,结束本连续读出处理。
【0176】
2.2.3改写读出
参照图41的流程图,对改写读出处理(S214)进行说明。获得重复表格107中的对应的重复信息(S251)。即,从重复信息得到“传送源物理块地址”、“传送目的地物理块地址”、“传送目的地开头页逻辑地址”、“传送目的地下一个写入逻辑地址”、和“传送目的地有效偏移物理地址”信息。
【0177】
从闪速存储器103获得传送源物理块的偏移值的信息(S252)。判断数据的读出目的地是传送源物理块还是传送目的地物理块(S253)。具体地说,读出逻辑扇区地址比包含“传送目的地开头页逻辑地址”的页的开头地址小时,或者比“传送目的地下一个写入逻辑地址”大时,判断为从传送源读出。除此之外,判断为从传送目的地读出。
【0178】
从传送源读出时,得到传送源物理块的读出物理扇区(S254)。
【0179】
获得的传送源物理块的读出物理扇区的数据以页单位读出(S255)。
【0180】
在步骤S253中,从传送目的地读出时,得到传送目的地物理块的读出物理扇区(S259)。通过从读出逻辑扇区地址减去传送目的地开头页逻辑地址,再在该值上加上“传送目的地有效偏移物理地址”,从而能够得到写入有与读出逻辑扇区地址对应的数据的物理扇区。
【0181】
以页单位读出所获得的传送目的地物理块的读出物理扇区的数据(S260)。
【0182】
然后,判断是否继续从主机102读出(S256),如果结束,则结束整个读出处理。如果继续从主机102读出,以页单位增加读出逻辑扇区地址(S257),判断读出逻辑扇区地址的溢出(S258)。如果没有溢出,返回步骤S253,读出下一个数据,如果溢出,结束本改写读出处理。
【0183】
2.2.4随机读出
参照图42的流程图,对随机读出处理(S215)进行说明。获得重复表格107中对应的重复信息(S271)。即,由重复信息得到“传送源物理块地址”、“传送目的地物理块地址”、“传送目的地开头页逻辑地址”、“传送目的地下一个写入逻辑地址”、“传送目的地写入模式”和“传送目的地有效偏移物理地址”的信息。
【0184】
从闪速存储器103获得传送源物理块的偏移值的信息(S272)。
【0185】
从由“传送目的地物理块地址”和“传送目的地有效偏移物理地址”指定的闪速存储器103的管理区域得到写入单位配置表格150的信息(S273)。
【0186】
判断数据的读出目的地是传送源物理块还是传送目的地物理块(S274)。该判定如下进行。首先,从多个写入单位之中,确定包含读出逻辑扇区地址的1个写入单位。接着,参照写入单位配置表格150,获得存储所求出的写入单位数据的区域的开头物理地址。例如,写入单位的值如果是0x0010h(16扇区(=4页)),则1物理块内包含16个写入单位(写入单位0~F)。如果读出逻辑扇区地址是0x001B,则包含读出逻辑扇区地址的写入单位,变为第2写入单位(写入单位1)。然后,参照写入单位配置表格150,获得写入单位1的开头地址。如果获得的开头物理地址为无效值,则判断为从传送源读出。如果为有效值,则判断为从传送目的地读出。
【0187】
从传送源读出时,得到传送源物理块的读出物理扇区(S275)。获得的传送源物理块的读出物理扇区的数据以页单位读出(S276)。
【0188】
在步骤S274中,来自传送目的地的读出时,得到传送目的地物理块的读出物理扇区(S280)。通过在用“传送目的地写入模式”的值除读出逻辑扇区地址而得到余数上,加上从写入单位配置表格150求出的开头物理地址,从而能够得到与读出逻辑扇区地址对应的读出物理扇区。以页单位读出所获得的传送目的地物理块的读出物理扇区的数据(S281)。
【0189】
然后,判断是否继续从主机102读出(S277),如果结束,则结束整个读出处理。如果继续从主机102读出,以页单位增加读出逻辑扇区地址(S278),判断读出逻辑扇区地址的溢出(S279)。如果没有溢出,返回步骤S274,读出下一个数据,如果溢出,结束本随机读出处理。
2.2.5FAT读出
对在图38的流程图的步骤S202的读出区域判定中,判断为从FAT区域读出时执行的如图43所示的处理进行说明。
【0190】
在图43中,判断与逻辑块地址对应的FAT重复信息是否有效(S291)。具体地说如下进行。从读出逻辑扇区地址的值,如下求出对应的重复表格107的FAT重复信息。
【表1】
  逻辑扇区地址   相应的FAT重复信息
  0x0000-0x0061   FAT重复信息0
  0x0062-0x0080   FAT重复信息1
  0x0081-0x009F   FAT重复信息2
  0x00A0-0x00FF   FAT重复信息3
获得此“传送目的地物理块地址”,判断此值的有效/无效。此值为0x0000(无效值)时判定为无效,为0x0000以外的值时判定为有效。
【0191】
FAT重复信息无效时,进行FAT通常读出处理(S292),FAT重复信息有效时,进行FAT重复读出处理(S293)。
【0192】
然后,以块单位增加读出逻辑块地址的同时,读出逻辑扇区地址设定为0x0000(S94)。
【0193】
判定是否结束从主机102读出(S295),如果结束,则结束整个读出处理。如果继续从主机102读出,返回步骤S202,进行下一次读出。
【0194】
2.2.5.1FAT通常读出
参照图44的流程图,对上述步骤S292的FAT通常读出处理进行说明。
【0195】
从逻辑物理地址变换表格106,获得与读出逻辑块地址对应的物理块地址(S301)。
【0196】
通过从读出逻辑扇区地址减去固定偏移值(参照图23A),得到部分块写入区域的读出物理扇区地址(S302)。以页单位将读出物理扇区地址的数据读出(S303)。
【0197】
判断是否结束从主机102的读出(S304),结束读出时,结束整个读出处理。
【0198】
继续从主机102读出时,以页单位增加读出逻辑扇区地址(S305)。
【0199】
判断读出逻辑扇区地址的溢出(S306)。如果没有溢出,返回步骤S302,读出下一个数据。如果溢出,结束本FAT通常读出处理。
【0200】
2.2.5.2FAT重复读出
参照图45的流程图,对上述步骤S293的FAT重复读出处理进行说明。
【0201】
获得重复表格107中对应的重复信息(S311)。即,从重复信息得到“传送目的地物理块地址”和“传送目的地分配物理页”的信息。
【0202】
从由“传送目的地物理块地址”和“传送目的地分配物理页”指定的闪速存储器103的管理区域得到写入单位配置表格150的信息(S312)。
【0203】
判断数据的读出目的地是传送源物理块还是传送目的地物理块(S313)。即,从读出逻辑扇区地址减去固定偏移(图23A参照),以FAT区域中固有的写入单位除该减去的值。根据其商,参照写入单位配置表格150,获得与读出逻辑扇区地址对应的写入单位的开头物理地址。如果此开头物理地址的值为无效值,则判断为从传送源读出,如果为有效值,则判断为从传送目的地读出。
【0204】
从传送源读出时,得到传送源物理块的读出物理扇区(S314)。以页单位读出获得的传送目的地物理块中的读出物理扇区的数据(S315)。
【0205】
在步骤S313中,从传送目的地读出时,得到传送目的地物理块的读出物理扇区(S319)。从读出逻辑扇区地址,减去固定偏移,用FAT区域中固有的写入单位除该值。通过根据其商,参照写入单位配置表格150,在得到的开头物理地址上加上余数,能够得到与读出逻辑扇区地址对应的物理扇区。
【0206】
以页单位读出所获得的传送目的地物理块的读出物理扇区的数据(S320)。
【0207】
然后,判断是否继续从主机102读出(S316),如果结束,结束整个读出处理。如果继续从主机102读出,以页单位增加读出逻辑扇区地址(S317),判断读出逻辑扇区地址的溢出(S318)。如果没有溢出,返回步骤S313,读出下面的数据,如果溢出,结束本FAT重复读出处理。
【0208】
本发明对特定的实施方式进行了说明,但是对本领域技术人员而言,其他很多的变形例、修正、以及其他利用是显而易见的。因此,本发明不局限于这里的特定的公开,只能够由附加的权利要求范围来限定。并且,本申请与日本国专利申请,特愿2004-133112号(2004年4月28日提出),特愿2004-133113号(2004年4月28日提出),特愿2004-138200号(2004年5月7日提出)相关,这些内容通过参照而被纳入本文中。
【0209】
工业上的可利用性
本发明涉及的非易失性存储装置的写入方法具有,能够高速执行来自主机的数据的写入处理,并且能够减少处理中必要的物理块的数量,提高闪速存储器的数据擦写次数的特有的效果,对于非易失性存储装置、存储卡、非易失性存储器的控制器装置等有用。

Claims (40)

1、一种非易失性存储装置,可以接收来自主机的逻辑地址来进行数据的写入、读出,具备:
非易失性存储器,其由多个物理块构成,根据物理地址进行数据的写入、读出;
逻辑物理地址变换表格,其将逻辑地址和物理地址的对应信息,作为每个规定的管理单位区域的逻辑组地址、和由1个以上的物理块构成的物理组的地址之间的对应信息进行存储;
重复表格,其对于具有与上述逻辑物理地址变换表格中相对应的逻辑组地址相同的逻辑组地址的数据,作为比上述管理单位区域的尺寸小的尺寸的数据的逻辑地址和物理地址的对应信息进行存储;和
控制器,其进行上述非易失性存储装置的动作控制,
上述控制器,允许将与一个管理单位区域中已经写入的数据具有同一逻辑地址的数据重复写入到其他管理单位区域,具有多个用于该重复写入的写入模式,根据来自上述主机的逻辑地址的变化状况,不必更新上述逻辑物理地址变换表格的信息,选择性地切换上述写入模式。
2、根据权利要求1所述的非易失性存储装置,其特征在于,上述控制器,根据来自主机的逻辑地址和与该逻辑地址对应的重复表格的信息,切换上述写入模式。
3、根据权利要求1所述的非易失性存储装置,其特征在于,重复表格具有:用于将与重复配置的数据的逻辑组地址对应的规定信息,对应地存储于多个逻辑组地址的多个记录。
4、根据权利要求1所述的非易失性存储装置,其特征在于,上述写入模式包含随机模式,该随机模式是就多次来自主机的对同一逻辑组地址的写入指令,写入与比上述管理单位小的写入单位相等尺寸的数据。
5、根据权利要求4所述的非易失性存储装置,其特征在于,上述非易失性存储器,对于每个上述写入单位的数据,存储非易失性存储器内的配置信息。
6、根据权利要求5所述的非易失性存储装置,其特征在于,上述配置信息,与最后写入的写入单位的数据一起被写入到上述非易失性存储器中。
7、根据权利要求5所述的非易失性存储装置,其特征在于,上述配置信息被写入到上述非易失性存储器的管理区域。
8、根据权利要求5所述的非易失性存储装置,其特征在于,上述配置信息包含:直接表示物理地址位置的信息,其中该物理地址位置是指写入有上述写入单位的数据的区域的物理地址位置;和表示没有重复配置每个上述写入单位的数据的信息。
9、根据权利要求4所述的非易失性存储装置,其特征在于,对于存储了重复配置的数据的非易失性存储器内的区域,上述重复表格包含存储了该区域的上述配置信息的物理位置的信息。
10、根据权利要求4所述的非易失性存储装置,其特征在于,上述控制器在进行随机写入时,当来自主机的写入数据的尺寸比上述写入单位小时,为了让写入数据的合计尺寸变为上述写入单位的尺寸,补充不足量的数据后写入数据。
11、根据权利要求1所述的非易失性存储装置,其特征在于,上述写入模式包含改写模式,该改写模式是就主机对同一逻辑组地址的多次的写入指令,以比上述管理单位小的写入单位的尺寸,写入具有与前次写入的数据相同的逻辑地址范围的数据。
12、根据权利要求11所述的非易失性存储装置,其特征在于,上述写入模式还包含随机模式,该随机模式是对于多次来自主机的写入指令,按照每个指令写入与比上述管理单位小的写入单位相等尺寸的数据,
上述控制器,在改写模式下的写入中由主机的指定的逻辑地址位于不能以改写模式继续进行写入的地址范围内时,以上述随机模式进行写入。
13、根据权利要求11所述的非易失性存储装置,其特征在于,上述重复表格,与重复配置的数据相关,包含最初的逻辑地址、最后的逻辑地址、和最后以改写模式写入的上述写入单位的数据的物理位置信息。
14、根据权利要求11所述的非易失性存储装置,其特征在于,上述控制器,在由上述主机指定的地址为在上述重复表格中存储的信息的最初地址以上,并且比最后的地址小的值时,以改写模式进行写入。
15、根据权利要求11所述的非易失性存储装置,其特征在于,上述控制器在进行改写写入时,来自上述主机的写入数据比上述写入单位小时,为了让写入数据的合计尺寸变为上述写入单位的尺寸,补充不足量的数据后写入数据。
16、根据权利要求1所述的非易失性存储装置,其特征在于,上述写入模式包含连续模式,该连续模式是就来自主机的对同一逻辑组地址的多次写入指令,在上述管理单位区域中按逻辑地址顺序连续写入数据。
17、根据权利要求16所述的非易失性存储装置,其特征在于,上述控制器以在上述管理单位区域中具有逻辑地址的偏移的状态写入数据。
18、根据权利要求17所述的非易失性存储装置,其特征在于,将上述逻辑地址的偏移的信息存储在上述非易失性存储器中。
19、根据权利要求16所述的非易失性存储装置,其特征在于,上述写入模式还包含改写模式,该改写模式是对主机的多次写入指令,按照每个指令以与比上述管理单位小的写入单位相等的尺寸,写入具有与前次写入的数据相同的逻辑地址范围的数据,
上述控制器,在连续模式下的写入中由主机指定的逻辑地址为与紧接之前的连续模式下的写入时相同的管理单位区域的逻辑地址、但位于不能以连续模式继续进行写入的地址范围时,以上述改写模式进行写入。
20、根据权利要求16所述的非易失性存储装置,其特征在于,上述写入模式还包含随机模式,该随机模式是对多次来自主机的写入指令,按照每个指令写入与比上述管理单位小的写入单位相等尺寸的数据,
上述控制器,在连续模式下的写入中由主机指定的逻辑地址为与紧接之前的连续模式下的写入时相同的管理单位的逻辑地址、但位于不能继续以连续模式进行写入的地址范围内时,以上述随机模式进行写入。
21、根据权利要求16所述的非易失性存储装置,其特征在于,上述重复表格包含与重复配置的数据相关的最初的逻辑地址、和最后的逻辑地址。
22、根据权利要求21所述的非易失性存储装置,其特征在于,上述控制器,在由上述主机指定的逻辑地址比存储在重复表格中的最后的逻辑地址信息大时,继续以连续写入模式进行写入。
23、根据权利要求21所述的非易失性存储装置,其特征在于,上述写入模式还包含改写模式,该改写模式是对于主机的多次写入指令,按照每个指令以与比上述管理单位小的写入单位相等的尺寸,写入具有与前次写入的数据相同的逻辑地址范围的数据,
上述控制器,在由上述主机指定的地址在存储于重复表格中的最初地址以上、并且比最后的地址小时,转移到上述改写模式进行写入。
24、根据权利要求21所述的非易失性存储装置,其特征在于,上述写入模式还包含随机模式,该随机模式是对于多次来自主机的写入指令,按照每个指令写入与比上述管理单位小的写入单位相等尺寸的数据,
上述控制器,在由上述主机指定的地址比存储在重复表格中的最初的地址信息小时,转移到上述随机模式进行写入。
25、根据权利要求16所述的非易失性存储装置,其特征在于,上述控制器,在写入上述管理单位区域内的最后的逻辑地址的数据后,当上述管理单位区域内有未写入的区域时,由上述管理单位区域内的最初的逻辑地址的数据按顺序写入上述未写入的区域。
26、根据权利要求1所述的非易失性存储装置,其特征在于,上述控制器,对于包含在规定范围的逻辑地址,选择与针对不包含在上述规定范围内逻辑地址的写入模式不同的写入模式。
27、根据权利要求26所述的非易失性存储装置,其特征在于,上述重复表格,对应于每个包含在上述规定范围的逻辑组具有专用的记录。
28、根据权利要求26所述的非易失性存储装置,其特征在于,上述逻辑物理地址变换表格,包含于上述规定范围的逻辑地址所对应的信息、和不包含在上述规定范围内的逻辑地址所对应的信息在构成上不同。
29、根据权利要求26所述的非易失性存储装置,其特征在于,包含在上述规定范围的逻辑地址的逻辑组的尺寸,为比没有包含在上述规定范围的逻辑组的尺寸小的尺寸,并作为管理单位区域。
30、根据权利要求26所述的非易失性存储装置,其特征在于,包含在上述规定范围中的逻辑地址的逻辑组的尺寸是因逻辑组而不同的尺寸。
31、根据权利要求26所述的非易失性存储装置,其特征在于,上述规定范围被设定在,包含存储由文件系统管理的文件管理信息的区域的范围。
32、根据权利要求31所述的非易失性存储装置,其特征在于,上述规定范围的大小根据上述非易失性存储装置的容量,而设为不同的值。
33、根据权利要求26所述的非易失性存储装置,其特征在于,与上述逻辑组相对应的上述管理单位区域包含:最初写入上述管理单位的数据的第1区域;和第2区域,在该第2区域中以比上述管理单位小的尺寸重复写入有数据,该数据具有与写入到上述第1区域的管理单位的数据相同的逻辑地址。
34、根据权利要求33所述的非易失性存储装置,其特征在于,上述第1区域和上述第2区域包含在上述非易失性存储器的相同的物理块内。
35、根据权利要求33所述的非易失性存储装置,其特征在于,将相对于一个逻辑组的上述第2区域配置在多个管理单位区域。
36、一种数据写入方法,对可以接收来自主机的逻辑地址来进行数据的写入、读出的非易失性存储装置进行数据写入,
具有多个写入模式,其用于将具有与一个管理单位区域中已经写入的数据相同逻辑地址的数据重复写入到其他管理单位区域中,
由上述主机,接收具有与已经写入的数据相同的逻辑地址的数据的写入指令时,将具有该写入要求的数据,重复写入到与上述已经写入数据的管理单位区域不同的另一管理单位区域,使写入到上述另一管理单位区域中的数据的逻辑地址和物理地址相对应地进行存储,
然后,继续由上述主机接收写入指令时,根据来自上述主机的逻辑地址的变化状况,选择性地切换上述写入模式。
37、根据权利要求36所述的数据写入方法,其特征在于,上述写入模式包含随机模式,该随机模式是对于多次的来自主机的写入指令,按照每个指令写入与比上述管理单位小的写入单位相等尺寸的数据。
38、根据权利要求36所述的数据写入方法,其特征在于,上述写入模式包含改写模式,该改写模式是对于主机的多次写入指令,按照每个指令以与比上述管理单位小的写入单位相等的尺寸,写入具有与前次写入的数据相同的逻辑地址范围的数据。
39、根据权利要求36所述的数据写入方法,其特征在于,上述写入模式还包含连续模式,该连续模式是对于多次的来自主机的写入指令,在上述管理单位区域中按照逻辑地址顺序连续写入数据。
40、根据权利要求36所述的数据写入方法,其特征在于,进一步将规定范围内的逻辑地址分割为多个地址区域,对于每个分割的地址区域分配1个逻辑组,使各逻辑组和上述管理单位区域一对一对应。
CNB200580013088XA 2004-04-28 2005-04-28 非易失性存储装置和数据写入方法 Active CN100437517C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2004133112 2004-04-28
JP133113/2004 2004-04-28
JP133112/2004 2004-04-28
JP138200/2004 2004-05-07

Publications (2)

Publication Number Publication Date
CN1950803A true CN1950803A (zh) 2007-04-18
CN100437517C CN100437517C (zh) 2008-11-26

Family

ID=38019394

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200580013088XA Active CN100437517C (zh) 2004-04-28 2005-04-28 非易失性存储装置和数据写入方法

Country Status (1)

Country Link
CN (1) CN100437517C (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101398783B (zh) * 2007-09-28 2011-02-02 株式会社日立制作所 存储装置以及数据重复排除方法
US9110781B2 (en) 2008-12-11 2015-08-18 Kabushiki Kaisha Toshiba Memory device and controlling method of the same
CN106843775A (zh) * 2017-03-06 2017-06-13 郑州云海信息技术有限公司 一种数据写入方法及系统
CN109240938A (zh) * 2017-07-11 2019-01-18 东芝存储器株式会社 存储系统以及控制非易失性存储器的控制方法
CN109656835A (zh) * 2017-10-12 2019-04-19 拉碧斯半导体株式会社 非易失性存储器的数据改写方法以及半导体装置
CN111414315A (zh) * 2008-11-06 2020-07-14 慧荣科技(深圳)有限公司 用来管理一记忆装置的方法以及其相关的记忆装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8429391B2 (en) * 2010-04-16 2013-04-23 Micron Technology, Inc. Boot partitions in memory devices and systems

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2291991A (en) * 1995-09-27 1996-02-07 Memory Corp Plc Disk drive emulation with a block-erasable memory
JP3621051B2 (ja) * 2001-04-26 2005-02-16 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法
KR100389867B1 (ko) * 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
JP2003067244A (ja) * 2001-08-24 2003-03-07 Matsushita Electric Ind Co Ltd 不揮発性記憶装置及びその制御方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101398783B (zh) * 2007-09-28 2011-02-02 株式会社日立制作所 存储装置以及数据重复排除方法
US11748258B2 (en) 2008-11-06 2023-09-05 Silicon Motion, Inc. Method for managing a memory apparatus
CN111414315A (zh) * 2008-11-06 2020-07-14 慧荣科技(深圳)有限公司 用来管理一记忆装置的方法以及其相关的记忆装置
CN111414315B (zh) * 2008-11-06 2023-11-21 慧荣科技(深圳)有限公司 用来管理一记忆装置的方法以及其相关的记忆装置
US12019540B2 (en) 2008-11-06 2024-06-25 Silicon Motion, Inc. Method for managing a memory apparatus
CN102246151B (zh) * 2008-12-11 2016-04-20 株式会社东芝 存储器装置及其控制方法
USRE48983E1 (en) 2008-12-11 2022-03-22 Toshiba Memory Corporation Memory device and controlling method of the same
US9110781B2 (en) 2008-12-11 2015-08-18 Kabushiki Kaisha Toshiba Memory device and controlling method of the same
USRE49921E1 (en) 2008-12-11 2024-04-16 Kioxia Corporation Memory device and controlling method of the same
CN106843775A (zh) * 2017-03-06 2017-06-13 郑州云海信息技术有限公司 一种数据写入方法及系统
CN109240938A (zh) * 2017-07-11 2019-01-18 东芝存储器株式会社 存储系统以及控制非易失性存储器的控制方法
CN109656835A (zh) * 2017-10-12 2019-04-19 拉碧斯半导体株式会社 非易失性存储器的数据改写方法以及半导体装置
CN109656835B (zh) * 2017-10-12 2023-07-18 拉碧斯半导体株式会社 非易失性存储器的数据改写方法以及半导体装置

Also Published As

Publication number Publication date
CN100437517C (zh) 2008-11-26

Similar Documents

Publication Publication Date Title
CN1159718C (zh) 信息记录方法及信息记录/再现系统
CN1296833C (zh) 用于存储器管理的设备和方法
CN1950803A (zh) 非易失性存储装置和数据写入方法
CN1427335A (zh) 电路组控制系统
CN1299177C (zh) 数据管理装置、计算机系统及数据处理方法
CN1498367A (zh) 信息处理装置、存储器管理装置、存储器管理方法及信息处理方法
CN1296811C (zh) 信息处理装置及其控制方法和控制装置
CN101040306A (zh) 伪随机数生成装置
CN1510593A (zh) 编排系统、编排程序和编排方法
CN1763743A (zh) 图表上的自动标签放置系统和方法
CN101075177A (zh) 计算机系统
CN1706657A (zh) 印刷装置、控制印刷程序、记录控制印刷程序的记录媒体
CN1749958A (zh) 使用形状的公用图表
CN1530856A (zh) 布局系统和布局程序以及布局方法
CN1912825A (zh) 信息处理装置及其控制方法
CN1432919A (zh) 无用存储单元收集装置及无用存储单元收集方法
CN1530855A (zh) 布局系统和布局程序以及布局方法
CN101044450A (zh) 处理器
CN1886749A (zh) 记录装置
CN1866190A (zh) 数据处理设定装置和数据处理设定方法
CN1577316A (zh) 单处理器操作系统并行处理系统中的安全管理系统
CN1866191A (zh) 数据处理设定装置和数据处理设定方法
CN1991801A (zh) 访问控制设备、方法和存储器访问控制设备、方法
CN1476563A (zh) 记录装置、记录方法、存储媒体、程序和通信装置
CN1991798A (zh) 半导体存储装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant