CN101449248B - 数据存储装置以及数据存储方法 - Google Patents
数据存储装置以及数据存储方法 Download PDFInfo
- Publication number
- CN101449248B CN101449248B CN200780018136.3A CN200780018136A CN101449248B CN 101449248 B CN101449248 B CN 101449248B CN 200780018136 A CN200780018136 A CN 200780018136A CN 101449248 B CN101449248 B CN 101449248B
- Authority
- CN
- China
- Prior art keywords
- management information
- data
- storage device
- zone
- data storage
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 15
- 238000007726 management method Methods 0.000 claims description 142
- 238000013500 data storage Methods 0.000 claims description 96
- 230000015654 memory Effects 0.000 claims description 66
- 238000003860 storage Methods 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 4
- 239000004065 semiconductor Substances 0.000 claims description 4
- 230000001915 proofreading effect Effects 0.000 claims description 2
- 101000824299 Homo sapiens Protocadherin Fat 2 Proteins 0.000 abstract description 57
- 102100022093 Protocadherin Fat 2 Human genes 0.000 abstract description 57
- 101000824318 Homo sapiens Protocadherin Fat 1 Proteins 0.000 abstract description 54
- 102100022095 Protocadherin Fat 1 Human genes 0.000 abstract description 54
- 101000824415 Homo sapiens Protocadherin Fat 3 Proteins 0.000 description 27
- 102100022134 Protocadherin Fat 3 Human genes 0.000 description 27
- 238000010586 diagram Methods 0.000 description 22
- 230000015572 biosynthetic process Effects 0.000 description 7
- 230000005055 memory storage Effects 0.000 description 5
- 230000000875 corresponding effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Abstract
数据存储装置在从主机装置接收到对FAT1区域进行写入的指示时,将关于FAT1区域的管理信息、以及与该管理信息相同的信息作为FAT2区域的管理信息而一并集中记录在连续的地址中。当在接收到对FAT1区域的写入指示之后又从主机装置接收到对FAT2区域的写入指示时,数据存储装置不进行数据写入,而向主机装置通知写入完毕。由此,能够在记录多个相同内容的管理信息的数据存储装置中提高数据的写入效率。
Description
技术领域
本发明涉及将从主机装置传送的数据记录于数据存储装置的技术。
背景技术
作为用于存储计算机等主机装置所使用的数据的数据存储装置,包括硬盘驱动器、存储卡、USB闪速存储器等各种存储装置。一般将被称作FAT的文件系统作为应用于这些存储装置的文件系统。在该FAT文件系统中,为了管理所记录的数据的位置,在数据存储装置内确保(提供)被称为文件分配表的管理区域。在该文件分配表中,为管理对象的每一个文件记录被称为簇链(cluster chain)的管理信息,该簇链示出了该文件的结构和记录位置。
由于文件分配表是非常重要的信息,因而通常在数据存储装置中确保两个相同内容的文件分配表。因此,即使一个文件分配表损坏,也可使用另一个文件分配表来正常地进行数据的读写(参考日本专利文献特开平11—249968号公报)。
在采用上述文件系统的数据存储装置中,诸如当写入大量的小文件时,需要对文件分配表进行该写入次数的改写。因此,在这种情况下,写入效率下降。除此以外,当如上所述确保了多个文件分配表时,需多次写入相同内容的信息,因此,写入效率会进一步下降。这种问题不限于FAT文件系统,在采用了需要记录两个以上相同内容的管理表的其他文件系统的数据存储装置中也存在同样的问题。
发明内容
考虑上述问题,本发明要解决的技术问题是在记录多个相同内容的管理信息的数据存储装置中提高数据的写入效率。
根据上述的技术问题,本发明一个方面的数据存储装置是一种存储从主机装置传送的数据的数据存储装置,其包括:存储设备,包括记录所述数据的数据区域以及记录第一管理信息和第二管理信息的管理区域,其中,所述第一管理信息用于管理所述数据,所述第二管理信息与所述第一管理信息具有相同的内容;
接收单元,个别地接收从所述主机装置以预定的顺序传送的所述数据、所述第一管理信息以及所述第二管理信息;
数据记录单元,将所述接收的数据记录在所述数据区域中;
管理信息记录单元,当从所述主机装置接收了所述第一管理信息和所述第二管理信息中的一个管理信息时,不等待另一个管理信息的接收,就将所述接收的管理信息作为所述第一管理信息和所述第二管理信息记录到所述管理区域中。
在如上构成的数据存储装置中,当从主机装置接收了具有相同内容的第一管理信息和第二管理信息中的一个管理信息时,不等待另一个管理信息的接收,将该管理信息作为第一管理信息和第二管理信息记录到存储设备的管理区域中。其结果是,提高了用于管理数据的管理信息的记录效率,从而整体地提高了主机装置进行数据写入的效率。
在如上构成的数据存储装置中,所述管理信息记录单元也可以包括如下单元,所述单元在接收到所述另一个管理信息时,不向所述管理区域记录该管理信息,而是向所述主机装置通知记录完毕。
通过如上构成,能够立刻答复主机装置已写入了第二个管理信息。其结果是,主机装置从管理信息的写入处理中立刻被释放出来,从而能够迅速地开始其他处理(例如,数据的写入)。
在如上构成的数据存储装置中,所述管理信息记录单元可以将所述第一管理信息和所述第二管理信息记录在所述管理区域内连续的位置上。
通过如上构成,能够容易地实现通过一次写入处理将两个管理信息集中写入存储设备中的功能。其结果是能够提高写入效率。
在如上构成的数据存储装置中,所述数据存储装置也可以包括多个所述存储设备,并且所述管理信息记录单元可将所述第一管理信息记录在一个存储设备中,并将所述第二管理信息记录在另一个存储设备中。
通过如上构成,可对多个存储设备同时写入相同内容的管理信息。其结果是能够提高写入效率。此外,在一个IC封装中安装了多个闪速存储器等存储设备的情况下、或者在具有将仅安装一个的存储设备识别为多个存储设备的模式的情况下,即便数据存储装置只具备一个所述IC封装,也可以说其具备多个存储设备。
在如上构成的数据存储装置中,所述数据记录单元使所述数据分散记录在所述各个存储设备中。
通过如上构成,能够将从主机装置接收的数据同时分散并行记录到多个存储设备中。因此能够进一步提高写入效率。
在如上构成的数据存储装置中,所述数据记录单元可以将所述数据记录在一个存储设备中,并将用于校正该数据的校正数据记录在另一个存储设备中。
通过如上构成,能够使用校正数据对所读取的数据进行校正。其结果是能够提高数据读取时的可靠性。
在如上构成的数据存储装置中,所述数据记录单元可以记录将所述数据进行汉明编码(hamming code)而得的ECC数据,作为所述校正数据。
通过如上构成,能够在读取数据时使用ECC数据来进行检错或纠错。
在如上构成的数据存储装置中,所述数据记录单元可以记录与所述数据相同内容的数据,作为所述校正数据。
通过如上构成,能够只通过比较读取对象的数据和校正数据来容易地进行检错。另外,即使一个数据发生了错误,也能够通过使用没有发生错误的另一个数据来正常地读取数据。
在如上构成的数据存储装置中,所述管理信息可以是记录在FAT文件系统的文件分配表中的数据。
通过如上构成,能够在标准地使用两个文件分配表的FAT文件系统中提高文件的写入效率。
在如上构成的数据存储装置中,所述存储设备可以是非易失性半导体存储器。
通过如上构成,能够提供便携性优良的小型数据存储装置。非易失性存储器例如可以使用NAND型或NOR型的各种闪速存储器、EEPROM、以及自备电池的DRAM等。此外,存储设备除了半导体存储器以外,可以使用硬盘驱动器等。
在如上构成的数据存储装置中,所述主机装置和所述数据存储装置可通过USB接口而连接。
通过如上构成,仅通过将本发明的数据存储装置连接到个人计算机等主机装置上具备的USB端口上,就能够容易地使用本发明的数据存储装置。因此能够提高用户的使用便利性。除了USB接口以外,例如也可以通过PCMCIA、串行ATA接口、IEEE1394接口、或者用于SD存储卡和compact flash(注册商标)等中的各种存储器接口来连接。
本发明除了能够作为上述的各种数据存储装置来实现之外,也能够作为由数据存储装置存储从主机装置传送的数据的数据存储方法来实现。
附图说明
图1是示出作为第一实施例的数据存储装置的大致构成的说明图;
图2是示出数据存储装置的数据结构的说明图;
图3是示出FAT1、2区域与FAT3区域的对应关系以及对FAT3区域的读写操作的概要的说明图;
图4是一并示出数据存储装置的操作概要和主机装置的操作的说明图;
图5是主处理的流程图;
图6是指针设定处理的流程图;
图7是写处理的流程图;
图8是读处理的流程图;
图9是示出作为第二实施例的数据存储装置的大致构成的说明图;
图10是示出第二实施例中的数据结构的说明图;
图11是示出第三实施例中的数据结构的说明图。
具体实施方式
以下,为了明确上述本发明的作用及效果,基于实施例按照以下的顺序来说明本发明的实施方式。
A.第一实施例:
(A1)数据存储装置的大致构成:
(A2)数据存储装置的操作概要:
(A3)各种处理(主处理、指针处理、写/读处理):
(A4)效果:
B.第二实施例:
C.第三实施例:
D.变形例:
A.第一实施例:
(A1)数据存储装置的大致构成:
图1是示出作为第一实施例的数据存储装置10的大致构成的说明图。如图1所示,本实施例的数据存储装置10包括USB连接器110、USB控制电路120、闪存控制器130、以及闪速存储器FL。
USB连接器110暴露在数据存储装置10的框体(图中的虚线部分)外,可与个人计算机或打印机等主机装置所具有的USB接口连接。
USB控制电路120与USB连接器110以及闪存控制器130相连接。USB控制电路120是使该数据存储装置10作为USB海量存储类设备而工作的电路,并且是基于USB协议来控制与主机装置间的通信的电路。该USB控制电路120还具有以下功能,即:将从主机装置接收的USB指令转换为ATA指令,或者将从闪存控制器130接收的数据或状态(status)转换为USB数据。ATA指令是由ANSI(American National StandardInstitute,美国国家标准协会)标准化的指令,而且是除本实施例的数据存储装置10之外还对硬盘或PC卡式存储器等各种数据存储装置进行数据读写控制的通用指令。
闪存控制器130是解释从USB控制电路120送来的ATA指令,并控制对闪速存储器FL的数据读写的集成电路。闪存控制器130为了进行相关控制,在其内部包括ROM、RAM等。在所述ROM中记录了用于控制数据存储装置10的操作的程序。CPU通过将RAM用作工作区域并执行所述程序来控制数据存储装置10的总体操作。
闪存控制器130具有寄存器135,在该寄存器135中存储各种地址指针。闪存控制器130具有通过参考该地址指针来进行后述的FAT区域的地址转换,并针对FAT区域进行高效的读写的功能。相关的功能将在后面进行详细说明。
图2是示出数据存储装置10的数据结构的说明图。通过主机装置基于FAT文件系统对数据存储装置10进行格式化处理,数据存储装置10生成图2左侧所示的各个区域。具体地说,从闪速存储器FL的首地址开始依次生成主引导记录区域(以下称为“MBR区域”)、BIOS(基本输入输出系统)参数块区域(以下称为“BPB”区域)、FAT1区域、FAT2区域、根目录区域、以及用户数据区域。
MBR区域是在与主机装置相连接时首先读取的区域。在该区域中,记录了引导程序代码和分区表等信息(以下称为“MBR”信息)。在分区表中,记录有生成的分区的数目、各分区的开始扇区和结束扇区、偏移量、总扇区数等信息。在本实施例中,设为仅生成了一个分区。
BPB区域提供于了各个分区的首扇区,在该BPB区域记录有该分区的格式化形式、扇区数目、FAT的数目等信息(以下称为“BPB”信息)。
在FAT1区域和FAT2区域中,记录了用于表示记录在用户数据区域中的各个文件的位置以及构成该文件的簇的连接状态的管理信息。所述管理信息通常被称为簇链信息。为了提高数据的可靠性,在FAT1区域和FAT2区域中记录相同的管理信息。
在根目录区域中,记录了用户数据区域中所记录的文件的文件名、扩展名、属性、构成该文件的首簇号等。
数据存储装置10通过闪存控制器130的工作对上述的各区域中的FAT1区域和FAT2区域进行地址转换,并如图的右侧所示,将上述区域合成FAT3区域来管理。即,主机装置通过图2的左侧所示的地址映射而会认为记录有上述的各个区域,但是,实际上在闪速存储器FL内通过图2的右侧所示的地址映射而提供了各区域。下面,有时将FAT1区域、FAT2区域、FAT3区域统称为“FAT区域”。
闪存控制器130在进行FAT区域的地址转换时使用图2所示的地址指针AP1~AP3。这些地址指针存储在闪存控制器130内的寄存器135中。如图2所示,地址指针AP1表示FAT1区域的首地址Ac,地址指针AP2表示FAT2区域的首地址Ad。另外,地址指针AP3表示根目录区域的首地址Ae。闪存控制器130参考这些地址指针,并在来自主机装置的存取目的地为FAT1区域或FAT2区域时进行地址转换,从而对闪速存储器FL内的FAT3区域进行读写。
图3是示出FAT1、2区域与FAT3区域间的对应关系以及对FAT3区域的读写操作的概要的说明图。图3的左侧示出了从主机装置看到的FAT1区域和FAT2区域,图3的右侧示出了从闪存控制器130看到的FAT3区域。这里,以“#1”“#2”的方式表示作为FAT区域的记录单位的一个的管理信息,并以“FAT1#1”的方式表示向FAT1区域写入的管理信息FAT1。
如图3的左侧所示,从主机装置侧来看关于FAT1区域的管理信息被当作顺序存储在地址Ac至地址Ad—1之间的信息而被存取。另外,关于FAT2区域的管理信息被当作顺序存储在地址Ad至地址Ae—1之间的信息而被存取。
与此相对,如图3的右侧所示,闪存控制器130将关于FAT1区域的管理信息和关于FAT2区域的管理信息交替配置在FAT3区域中。即,当发生了对FAT1区域的存取时,闪存控制器130通过下述公式(1)来进行地址转换,当发生了对FAT2区域的存取时,闪存控制器130通过下述公式(2)来进行地址转换。其中,在下述公式中,将由主机装置进行了存取的地址表示为AD1,将转换后的地址表示为AD2。
AD2=AP1+2*(AD1-AP1)…(1)
AD2=AP1+2*(AD1-AP2)+1…(2)
例如,闪存控制器130在从主机装置接收到向图3的左侧所示的FAT1区域写入表示为“FAT1#1”的管理信息的指示时,将该管理信息写入图3的右侧所示的FAT3区域中的、通过上述公式(1)进行地址转换而得的地址中。并且,进一步将与该管理信息同内容的管理信息写入与该地址相邻的下一个地址中,作为FAT2区域的管理信息(FAT2#1)。如上所述,在FAT文件系统中,通常在FAT1区域和FAT2区域中写入相同的管理信息。因此,在本实施例中,当发生了对FAT1区域写入管理信息的写入指示时,在从主机装置发出对FAT2区域进行写入指示之前,对FAT2区域写入相同内容的管理信息。这样一来,不必接收对FAT2区域的写入指示,就完成了对FAT1区域和FAT2区域的写入。因此,能够高效地进行FAT信息的写入。另外,如上所述,在本实施例中由于将关于FAT1的管理信息和关于FAT2的管理信息写入连续的地址中,因而能够高速地进行管理信息的写入。此外,当对记录在FAT3区域中的管理信息进行读取时,根据上述公式(1)或(2)来读取FAT1或FAT2的管理信息。
(A2)数据存储装置的操作概要:
图4是一并示出数据存储装置的操作概要和主机装置的操作的说明图。当主机装置向数据存储装置10写入文件时,大体上执行以下步骤:(a)向FAT1区域写入管理信息;(b)向FAT2区域写入管理信息;以及(c)向用户数据区域写入文件的实体内容。图4示出了这一系列的流程。
主机装置在要进行文件的写入时,首先向数据存储装置10指示将进行写入的文件的管理信息写入FAT1区域(步骤S100)。管理信息与该指示一起由主机装置发送给数据存储装置10。
数据存储装置10的闪存控制器130一旦接收到上述指示和管理信息,就将该管理信息写入与被指定的FAT1区域内的地址对应的FAT3区域内的地址中,而且还向连续的地址中写入复制了该管理信息的信息(步骤S110)。
参考图3对上述步骤S110中的具体处理例进行说明。若假定从主机装置发出了向FAT1区域的地址Ac中写入作为管理信息的表示为“FAT1#1”的信息,则数据存储装置10向与上述地址对应的FAT3区域的地址Ac中写入“FAT1#1”。而且还向下一个地址Ac+1中写入与该信息同内容的信息,作为“FAT2#1”。“FAT2#1”是指原本要写入FAT2区域的首地址Ad中的信息,因此,写入FAT1区域和FAT2区域的管理信息被同时集中写入到FAT3区域中。就是说,利用在FAT文件系统中对FAT1区域和FAT2区域记录相同内容的数据的这一特点,本实施例的数据存储装置10在对FAT3区域写入关于FAT1区域的管理信息时,不等主机装置来指示,也一并写入关于FAT2区域的管理信息。
当对FAT3区域的写入完成时(步骤S115),闪存控制器130向主机装置回复表示对FAT1区域的写入结束了的意思的写入完成通知(步骤S120)。
主机装置在从闪存控制器130接收到写入完成通知之后,接下来,发送向FAT2区域写入管理信息的写入指示(步骤S130)。但是,如上所述,此时已处于在上述步骤S110中已完成向FAT2区域的管理信息的写入的状态。因此,闪存控制器130一旦接收到该写入指示,就立即对主机装置回复写入完成通知(步骤S140)。
当从闪存控制器130接收到对FAT2区域的写入已完成的意思的通知时,主机装置对闪存控制器130指示文件实体内容的写入(步骤S150)。于是,闪存控制器130向闪速存储器FL内的用户数据区域写入相关文件(步骤S160)。当向闪速存储器FL的文件的写入完成时(步骤S165),闪存控制器130向主机装置发送表示文件的写入结束了的意思的写入完成通知(步骤S170)。
如上所述,本实施例的数据存储装置10在对FAT1区域进行写入的同时还对FAT2区域进行写入。因此,即使从主机装置发出了对FAT2区域的写入指示,也能够立即回复写入完成了的通知。其结果是,主机装置迅速地从FAT区域的写入处理中被释放出来,从而能够立刻开始下一个数据的写入。
此外,本实施例是在对FAT1区域和FAT2区域进行写入之后才对用户数据区域进行写入的,但是,对于这些区域的写入也可以以相反的顺序进行。
(A3)各种处理:
以下,详细说明数据存储装置10为实现图4所示的操作等而执行的各种处理。
(A3—1)主处理:
图5是由数据存储装置10执行的主处理的流程图。该处理是在数据存储装置10连接到主机装置上从而被供应电源的同时,由闪存控制器130开始执行的处理。
在该处理开始之后,首先,闪存控制器130执行用于设定地址指针AP1~AP3的值的指针设定处理(步骤S200)。丢与该指针设定处理,将在后面进行详细说明。
然后,闪存控制器130判断是否经由USB控制电路120从主机装置接收了任何指令(步骤S210)。当没有接收到指令时(步骤S210:否),通过循环该处理而等待直至接收到指令。另一方面,当接收到指令时(步骤S210:是),判别该指令的种类(步骤S220)。
在上述步骤S220中,当判断处接收的指令是进行数据写入的写指令(步骤S220:“写”),闪存控制器130进行后述的写处理(步骤S230)。另一方面,当判断处接收的指令是进行数据读取的读指令(步骤S220:“读”),闪存控制器130进行后述的读处理(步骤S240)。然后,待这些处理结束之后,将处理返回到上述的步骤S210。根据以上说明的主处理,直到停止供电为止,重复执行响应于从主机装置接收的指令的处理。
(A3—2)指针设定处理:
图6是在上述主处理的步骤S200中执行的指针设定处理的流程图。该处理是用于在接通数据存储装置10的电源时或者在数据存储装置10完成格式化时设定图2和图3所示的地址指针AP1~AP3的值的处理。
当执行该处理时,首先,闪存控制器130读取闪速存储器FL的MBR区域和BPB区域(步骤S300)。并且,判断这些区域中是否已写有MBR信息和BPB信息(步骤S310)。
当在上述步骤S310中判断出没有写入MBR信息和BPB信息时(步骤S310:否),说明数据存储装置10尚未被格式化。因此,闪存控制器130如下设定地址指针AP1~AP3的值。即,将地址指针AP1的值设定为闪速存储器FL的最终地址Az,并且对于地址指针AP2、AP3不进行设定(步骤S320)。这样一来,在后述的写处理或读处理中,不特别进行FAT区域的转换。因此,主机装置即使通过FAT文件系统以外的文件系统,也能够正常使用数据存储装置10。
在通过上述步骤S320设定地址指针AP1的值之后,闪存控制器130将该值记录在寄存器135中(步骤S330),并结束该指针设定处理。
当在上述步骤S310中判断出已写有MBR信息和BPB信息时(步骤S310:是),说明数据存储装置10已通过FAT文件系统被格式化。因此,闪存控制器130根据记录在MBR区域或BPB区域中的分区表和扇区数目等信息来求得FAT1区域的首地址Ac,并将该首地址Ac作为地址指针AP1的值(步骤S340)。同样地,闪存控制器130求得FAT2区域的首地址Ad,并将该首地址Ad作为地址指针AP2的值(步骤S350)。并且,闪存控制器130求得根目录区域的首地址Ae,将该首地址Ae作为地址指针AP3的值(步骤S360)。最后,闪存控制器130将如上设定的地址指针AP1~AP3的值记录在寄存器135中(步骤S330),并结束处理。
(A3—3)写处理:
图7是在上述主处理的步骤S230中执行的写处理的流程图。该写处理是用于将从主机装置接收的数据(以下称为“写数据”)写入闪速存储器FL中的处理。
当执行该处理时,首先,闪存控制器130对经由USB控制电路120而从主机装置接收的写指令进行解析,求得写入目的地的地址(以下称为“写地址WA”)(步骤S400)。
然后,闪存控制器130参考寄存器135来判断写地址WA是否低于地址指针AP1所表示的地址(步骤S410)。如果进行所述判断的结果是写地址WA低于地址指针AP1所表示的地址(步骤S410:是),则能够判断为从主机装置接收的指令是用于随着格式化处理而写入MBR信息和BPB信息的指令、或者是根据FAT文件系统以外的文件系统的写入指令(参见图2)。因此,存储控制器130不特别进行地址转换等,而将写数据直接写入闪速存储器FL的写地址WA中(步骤S420)。
MBR信息和BPB信息通常仅在格式化时被写入一次。因此,当向低于地址指针AP1的地址进行数据的写入时,闪存控制器130判断为有可能被主机装置进行了格式化处理,从而执行图6所示的指针设定处理(步骤S430)。这样一来,能够在格式化结束后恰当地设定地址指针AP1~AP3。在指针设定处理结束后,闪存控制器130将写入完成通知发送给主机装置(步骤S440)。
当在上述步骤S410中判断出写地址WA高于地址指针AP1所表示的地址时(步骤S410:否),闪存控制器130接下来参考寄存器135判断写地址WA是否高于地址指针AP3所表示的地址(步骤S450)。进行所述判断的结果,如果判断出写地址WA高于地址指针AP3所表示的地址(步骤S450:是),则能够判断为是对根目录区域或用户数据区域的写入(参见图2)。因此,闪存控制器130不特别进行地址转换等,而将写数据直接写入到闪速存储器FL的写地址WA中(步骤S460)。在写入结束后,闪存控制器130向主机装置发送写入完成通知(步骤S440)。
当上述步骤S450中判断出写地址WA低于地址指针AP3所表示的地址时(步骤S450:否),写地址WA表示FAT1区域中FAT2区域中的某一个。因此,闪存控制器130接下来参考寄存器135判断写地址WA是否低于地址指针AP2所表示的地址(步骤S470)。进行所述判断的结果,如果判断出写地址WA低于地址指针AP2的地址(步骤S470:是),则说明写地址WA表示FAT1区域内。因此,如通过图3进行说明的那样,闪存控制器130根据上述公式(1)来进行地址转换(步骤S480)。
在进行地址转换之后,闪存控制器130向转换后的地址写入所接收的写数据,作为管理信息。并且,闪存控制器130还向与该地址连续的下一个地址中写入相同内容的数据(步骤S490)。这样一来,能够将要写入FAT1区域和FAT2区域中的管理信息集中写入FAT3区域中。因此,在如上述对FAT3区域完成写入后,闪存控制器130将写入完成通知发送给主机装置(步骤S440)。
当在上述步骤S470中判断出写地址WA是高于地址指针AP2的地址时(步骤S470:否),说明写地址WA表示FAT2区域内的地址。但是,应向FAT2区域写入的信息处于已通过上述步骤S490完成写入的状态。因此,此时,闪存控制器130不对闪速存储器FL写入任何内容,而直接向主机装置发送写入完成通知(步骤S440)。
根据以上说明的写处理,对于FAT区域以外的区域,不进行地址转换等直接写入从主机装置发来的数据。与此相对,对于FAT区域,只在作出了对FAT1区域进行写入的写入指示时进行预定的地址转换来将数据写入FAT3区域。此时,闪存控制器130还将应写入FAT2区域的信息集中写入到FAT3区域,因而能够对闪存控制器FL高效地写入管理信息。
(A3—4)读处理:
图8是在上述主处理的步骤S240中执行的读处理的流程图。该读处理是用于根据来自主机装置的请求从闪速存储器FL读出数据的处理。
当执行该处理时,首先,闪存控制器130对经由USB控制而从主机装置电路120接收的读指令进行解析,求得读取目的地的地址(以下称为“读地址”)(步骤S500)。
然后,闪存控制器130参考寄存器135来判断读地址RA是否高于地址指针AP1所表示的地址,并且低于地址指针AP3所表示的地址(步骤S510)。如果进行判断的结果是读地址RA是低于地址指针AP1的值、或者高于地址指针AP3的值(步骤S510:否),则读地址RA表示FAT区域以外的区域的地址。因此,闪存控制器130直接从读地址RA读取数据(步骤S520),并将读取的数据转送给主机装置(步骤S530)。
如果在上述步骤S510中判断出读地址RA高于地址指针AP1所表示的地址且低于地址指针AP3所表示的地址(步骤S510:是),则读地址RA表示FAT1区域或FAT2区域内的地址(参见图2)。因此,闪存控制器130进一步判断所述读地址RA是否为高于地址指针AP2所表示的地址的地址(步骤S540)。进行所述判断的结果,当判断出读地址RA是低于地址指针AP2的地址时(步骤S540:否),读地址RA是FAT1区域内的地址。因此,闪存控制器130根据上述公式(1)进行地址转换(步骤S550),并从转换后的地址中读取数据(步骤S520)。这样一来,闪存控制器130能够从FAT3区域恰当地读取关于FAT1区域的管理信息。闪存控制器130在从FAT3区域读取数据后将该数据传送给主机装置(步骤S530)。
另一方面,当在上述步骤S540中判断出读地址RA是高于指针AP2所表示的地址的地址时(步骤S540:是),读地址RA是FAT2区域内的地址。因此,闪存控制器130根据上述公式(2)来进行地址转换(步骤S560),并从转换后的地址中读取数据(步骤S520)。这样一来,闪存控制器130能够从FAT3区域恰当地读取关于FAT2区域的管理信息。闪存控制器130在从FAT3区域中读取数据后将该数据传送给主机装置(步骤S530)。
根据以上说明的读处理,闪存控制器130能够从FAT区域以外的区域直接读取数据并传送给主机装置。另外,当从FAT1区域或FAT2区域进行读取时,闪存控制器130通过进行地址转换,能够从FAT3区域恰当地读取FAT1区域和FAT2区域各自的管理信息并传送给主机装置。
(A4)效果:
当从主机装置发出了对FAT1区域写入数据的写入指示时,以上说明的第一实施例的数据存储装置10也一并进行向FAT2区域的数据写入。因此,即使从主机装置发出了对FAT2区域写入数据的写入指示,也能够立即回复表示写入结束了的通知。另外,在本实施例中,将关于FAT1区域和FAT2区域的管理信息集中写入闪速存储器FL内的FAT3的区域中相邻的地址中。因此,能够高效地进行数据的写入,从而能够提高处理速度。特别是,本实施例的数据存储装置10由于采用数据的写入单位较大的闪速存储器来作为存储设备,因此容易将相邻的两个数据通过一次写入操作来集中写入。其结果是,可使处理速度大幅度提高。
B.第二实施例:
如图1所示,在上述第一实施例中,数据存储装置10具有一个闪速存储器FL。与此相对,在第二实施例中具有两个闪速存储器FL。
图9是示出作为第二实施例的数据存储装置10b的大致构成的说明图。如图9所示,本实施例的数据存储装置10b与第一实施例一样,包括USB连接器110、USB控制电路120、以及闪存控制器130,此外还包括两个闪速存储器FLa、FLb。
图10是示出数据存储装置10b的数据结构的说明图。在图10的左侧示出了从主机装置看到的数据存储装置10b的地址映射。该地址映射与第一实施方式的相同,因而说明从略。
在图10的右侧一并示出了两个闪速存储器FLa、FLb的地址映射。在本实施例中,形成FAT区域以外的区域、即MBR区域、BPB区域、根目录区域、用户数据区域的地址空间的各个地址按照(1)闪速存储器FLa、(2)闪速存储器FLb的顺序被交替地分配在两个闪速存储器FLa、FLb中。即,例如,MBR区域的首地址存在于闪速存储器FLa,第二个地址存在于闪速存储器FLb。另外,第三地址存在于闪速存储器FLa,第四地址存在于闪速存储器FLb。当形成如上所述的地址空间时,数据存储装置10b能够将数据并行(同时)写入两个闪速存储器中。在本实施例中,数据存储装置10b通过具有两个闪速存储器FLa、FLb来将其总线宽度实质上增大为二倍,因此,若如上述那样并行(同时)写入数据的话,就能够高速地进行数据的读写。
本实施例在闪速存储器Fla中确保(提供)了FAT1区域,并在闪速存储器FLb中确保(提供)了FAT2区域。因此,在本实施例中,当从主机装置发出了对FAT1区域写入数据的写入指示时,闪存控制器130在对闪速存储器FLa的FAT1区域写入数据的同时,向闪速存储器FLb的FAT2区域中写入相同内容的数据。由于能够同时并行地对两个闪速存储器进行写入,因而不必等待另一方的写入结束就能够写入两个FAT信息。其结果是,与第一实施例一样,能够提高向FAT区域进行写入的效率。
由于第二实施例中的主处理、指针设定处理、写处理、读处理的处理内容基本与第一实施例相同,因而省略对它们的详细说明。但是,在本实施例的图7或图8所示的写处理或读处理中,当对FAT区域以外的区域读写数据时,先根据图10所示的地址映射来进行预定的地址转换,然后在此基础上对闪速存储器FLa或闪速存储器FLb进行适当的读写。另外,第一实施例在图7所示写处理的步骤S490中,将两个相同的管理信息写入到FAT3区域中连续的地址中,但是,第二实施例分别对闪速存储器FLa的FAT1区域和闪速存储器FLb的FAT2区域并行写入相同的管理信息。另外,在图8所示读处理的步骤S550的地址转换中,进行向闪速存储器FLa的FAT1区域中的地址转换,在步骤S560的地址转换中,进行向闪速存储器FLb的FAT2区域中的地址转换。
C.第三实施例:
在上述的第二实施例中,针对FAT区域以外的区域,将数据分散记录在两个闪速存储器中。与此相对,在第三实施例中,针对FAT区域以外的区域,在两个闪速存储器中写入相同内容的数据。数据存储装置10b的装置构成与图9所示的构成相同。
图11是示出第三实施例中的数据存储装置10b的数据结构的说明图。在图11的左侧示出了从主机装置看到的数据存储装置10b的地址映射。另一方面,在图11的右侧示出了两个闪速存储器FLa、FLb的地址映射。在本实施例中,针对FAT区域以外的区域,即MBR区域、BPB区域、根目录区域、用户数据区域,在闪速存储器FLa和闪速存储器FLb中写入相同内容的数据。根据这种构成,能够提高数据的冗余度来存储在闪速存储器中,因此,即使一个闪速存储器的数据损坏,也能够使用存储在另一个闪速存储器中的数据来可靠地读取数据。
与此相对,关于FAT区域,以与第二实施例同样地在闪速存储器FLa中确保(提供)FAT1区域,在闪速存储器FLb中确保(提供)FAT2区域。这样一来,由于能够同时并行地向两个闪速存储器进行写入,因此,不必等待另一方的写入结束,就能够写入两个管理信息。其结果是,与第一实施例以及第二实施例一样,能够提高对FAT区域进行写入的效率。
如图11所示,在本实施例中,关于FAT2区域以外的区域,从主机看到的地址映射与从闪存控制器130看到的地址体系是一致的。因此,针对FAT2区域以外的区域,不进行地址转换就能够进行数据的写入。其结果是能够提高处理效率。此外,在图11的右侧所示的地址映射中,表示为“NULL”的区域是本来应该确保(提供)FAT2区域的区域,因而从主机装置一侧是不能直接识别的。但是,通过进行使该NULL区域与用户数据区域相连接的预定的地址转换,也可将该NULL区域作为用户数据区域来使用。
但是,在本实施例中,在闪速存储器FLa和闪速存储器FLb中写入了相同内容的数据,但也可以在闪速存储器FLb中写入由写入闪速存储器FLa中的数据所生成的ECC数据。通过如此构成,能够根据写入闪速存储器FLb中的ECC数据来容易地进行写入闪速存储器FLa中的数据的检错和纠错,因此能够提高所存储的数据的可靠性。
D.变形例:
以上说明了本发明的各种实施例,但不用说,本发明不限于这些实施例,可在不脱离其宗旨的范围内采用各种结构。例如可进行如下的变形。
(D1)变形例1:
在上述的实施例中,数据存储装置10具备闪速存储器,以作为存储设备。与此相对,例如也可以具备硬盘驱动器等其他存储设备。
(D2)变形例2:
在上述的实施例中,数据存储装置10是以FAT形式被格式化的。但是,格式化的形式并不局限于此,也可以根据写入多个相同内容的管理信息的其他形式来进行格式化。
(D3)变形例3:
在上述的实施例中,主机装置和数据存储装置10是通过USB接口连接的。但是,接口的类型不限于此。例如,既可以通过PCMCIA接口来连接,也可以通过串行ATA接口、IEEE1394接口等来连接。
在上述的实施例中,使用“地址”这一术语描述了闪速存储器中存储数据的场所,但是所述术语可根据所应用的文件系统、操作系统或存储设备的类型而替换为“扇区(sector)”、“簇(cluster)”或“块(block)”等。
本发明不应根据上述的实施例、变形例和其他方式而被作出任何限制性的解释,本发明的保护范围应当根据权利要求书和本发明的基本思想进行解释。
Claims (12)
1.一种用于数据存储装置存储从主机装置传送的数据的装置,其中,所述数据存储装置包括存储设备,所述存储设备包括记录所述数据的数据区域以及记录第一管理信息和第二管理信息的管理区域,所述第一管理信息用于管理所述数据,所述第二管理信息与所述第一管理信息具有相同的内容,并且
所述用于数据存储装置存储从主机装置传送的数据的装置包括:
个别地接收从所述主机装置以预定的顺序传送的所述数据、所述第一管理信息、以及所述第二管理信息的单元;
当从所述主机装置接收到所述第一管理信息和所述第二管理信息中的一个管理信息时,不等待另一个管理信息的接收,就将所述接收的管理信息作为所述第一管理信息和所述第二管理信息记录到所述管理区域中的单元;
将所述接收的数据记录在所述数据存储区域中的单元;以及
在接收到所述另一个管理信息时,不向所述管理区域记录该管理信息,而是向所述主机装置回复记录完毕的单元,
所述第一管理信息是第一文件分配表,所述第二管理信息是第二文件分配表。
2.根据权利要求1所述的数据存储装置,其中,
所述管理信息记录单元将所述第一管理信息和所述第二管理信息记录在所述管理区域内连续的位置上。
3.根据权利要求1所述的数据存储装置,其中,
所述数据存储装置包括多个所述存储设备,
所述管理信息记录单元将所述第一管理信息记录在一个存储设备中,将所述第二管理信息记录在另一个存储设备中。
4.根据权利要求3所述的数据存储装置,其中,
所述数据记录单元使所述数据分散记录在所述各个存储设备中。
5.根据权利要求3所述的数据存储装置,其中,
所述数据记录单元将所述数据记录在一个存储设备中,并将用于校正该数据的校正数据记录在另一个存储设备中。
6.根据权利要求5所述的数据存储装置,其中,
所述数据记录单元记录将所述数据进行汉明编码而得的ECC数据,作为所述校正数据。
7.根据权利要求5所述的数据存储装置,其中,
所述数据记录单元记录与所述数据相同内容的数据,作为所述校正数据。
8.根据权利要求1至7中任一项所述的数据存储装置,其中,
所述管理信息是记录在FAT文件系统的文件分配表中的数据。
9.根据权利要求1至7中任一项所述的数据存储装置,其中:
所述存储设备是非易失性半导体存储器。
10.根据权利要求9所述的数据存储装置,其中,
所述非易失性半导体存储器是闪速存储器。
11.根据权利要求10所述的数据存储装置,其中,
所述主机装置和所述数据存储装置通过USB接口相连。
12.一种由数据存储装置存储从主机装置传送的数据的数据存储方法,其中,所述数据存储装置包括存储设备,所述存储设备包括记录所述数据的数据区域以及记录第一管理信息和第二管理信息的管理区域,所述第一管理信息用于管理所述数据,所述第二管理信息与所述第一管理信息具有相同的内容,并且
所述数据存储方法包括以下步骤:
个别地接收从所述主机装置以预定的顺序传送的所述数据、所述第一管理信息、以及所述第二管理信息;
当从所述主机装置接收到所述第一管理信息和所述第二管理信息中的一个管理信息时,不等待另一个管理信息的接收,就将所述接收的管理信息作为所述第一管理信息和所述第二管理信息记录到所述管理区域中;和
将所述接收的数据记录在所述数据存储区域中;
在接收到所述另一个管理信息时,不向所述管理区域记录该管理信息,而是向所述主机装置回复记录完毕,
所述第一管理信息是第一文件分配表,所述第二管理信息是第二文件分配表。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP138781/2006 | 2006-05-18 | ||
JP2006138781A JP4676378B2 (ja) | 2006-05-18 | 2006-05-18 | データ記憶装置およびデータ記憶方法 |
PCT/JP2007/060179 WO2007135967A1 (ja) | 2006-05-18 | 2007-05-11 | データ記憶装置およびデータ記憶方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101449248A CN101449248A (zh) | 2009-06-03 |
CN101449248B true CN101449248B (zh) | 2013-07-24 |
Family
ID=38723278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200780018136.3A Active CN101449248B (zh) | 2006-05-18 | 2007-05-11 | 数据存储装置以及数据存储方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8364730B2 (zh) |
EP (1) | EP2031514A4 (zh) |
JP (1) | JP4676378B2 (zh) |
CN (1) | CN101449248B (zh) |
TW (1) | TW200809494A (zh) |
WO (1) | WO2007135967A1 (zh) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8959307B1 (en) | 2007-11-16 | 2015-02-17 | Bitmicro Networks, Inc. | Reduced latency memory read transactions in storage devices |
CN101187830B (zh) * | 2007-12-27 | 2012-05-23 | 成都市华为赛门铁克科技有限公司 | 掉电保护方法、装置、逻辑器件及存储系统 |
CN101661438B (zh) * | 2008-08-29 | 2013-08-28 | 鸿富锦精密工业(深圳)有限公司 | 电子装置及中央处理器寻址空间扩展方法 |
US20100161952A1 (en) * | 2008-12-18 | 2010-06-24 | Texas Instruments Incorporated | Performance optimizations by dynamic reduction of file allocation tables |
CN101576966A (zh) * | 2009-06-02 | 2009-11-11 | 中兴通讯股份有限公司 | 一种读写存储卡的方法及装置 |
US8665601B1 (en) | 2009-09-04 | 2014-03-04 | Bitmicro Networks, Inc. | Solid state drive with improved enclosure assembly |
US8447908B2 (en) | 2009-09-07 | 2013-05-21 | Bitmicro Networks, Inc. | Multilevel memory bus system for solid-state mass storage |
US8560804B2 (en) | 2009-09-14 | 2013-10-15 | Bitmicro Networks, Inc. | Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device |
US9372755B1 (en) | 2011-10-05 | 2016-06-21 | Bitmicro Networks, Inc. | Adaptive power cycle sequences for data recovery |
US8924636B2 (en) | 2012-02-23 | 2014-12-30 | Kabushiki Kaisha Toshiba | Management information generating method, logical block constructing method, and semiconductor memory device |
US9043669B1 (en) | 2012-05-18 | 2015-05-26 | Bitmicro Networks, Inc. | Distributed ECC engine for storage media |
CN103176753B (zh) * | 2013-03-07 | 2016-06-01 | 深圳市江波龙电子有限公司 | 存储设备及其数据管理方法 |
US9423457B2 (en) | 2013-03-14 | 2016-08-23 | Bitmicro Networks, Inc. | Self-test solution for delay locked loops |
US9734067B1 (en) | 2013-03-15 | 2017-08-15 | Bitmicro Networks, Inc. | Write buffering |
US9934045B1 (en) | 2013-03-15 | 2018-04-03 | Bitmicro Networks, Inc. | Embedded system boot from a storage device |
US9875205B1 (en) | 2013-03-15 | 2018-01-23 | Bitmicro Networks, Inc. | Network of memory systems |
US9501436B1 (en) | 2013-03-15 | 2016-11-22 | Bitmicro Networks, Inc. | Multi-level message passing descriptor |
US9798688B1 (en) | 2013-03-15 | 2017-10-24 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
US9971524B1 (en) | 2013-03-15 | 2018-05-15 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
US10489318B1 (en) | 2013-03-15 | 2019-11-26 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
US9430386B2 (en) | 2013-03-15 | 2016-08-30 | Bitmicro Networks, Inc. | Multi-leveled cache management in a hybrid storage system |
US9672178B1 (en) | 2013-03-15 | 2017-06-06 | Bitmicro Networks, Inc. | Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system |
US10120694B2 (en) | 2013-03-15 | 2018-11-06 | Bitmicro Networks, Inc. | Embedded system boot from a storage device |
US9842024B1 (en) | 2013-03-15 | 2017-12-12 | Bitmicro Networks, Inc. | Flash electronic disk with RAID controller |
US9400617B2 (en) | 2013-03-15 | 2016-07-26 | Bitmicro Networks, Inc. | Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained |
JP6150669B2 (ja) * | 2013-08-22 | 2017-06-21 | キヤノン株式会社 | 情報処理装置、画像形成装置、及びその制御方法 |
US10055150B1 (en) | 2014-04-17 | 2018-08-21 | Bitmicro Networks, Inc. | Writing volatile scattered memory metadata to flash device |
US10042792B1 (en) | 2014-04-17 | 2018-08-07 | Bitmicro Networks, Inc. | Method for transferring and receiving frames across PCI express bus for SSD device |
US9952991B1 (en) | 2014-04-17 | 2018-04-24 | Bitmicro Networks, Inc. | Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation |
US10025736B1 (en) | 2014-04-17 | 2018-07-17 | Bitmicro Networks, Inc. | Exchange message protocol message transmission between two devices |
US10078604B1 (en) | 2014-04-17 | 2018-09-18 | Bitmicro Networks, Inc. | Interrupt coalescing |
JP2017021561A (ja) * | 2015-07-10 | 2017-01-26 | ファナック株式会社 | 制御装置のファイルシステム |
US10552050B1 (en) | 2017-04-07 | 2020-02-04 | Bitmicro Llc | Multi-dimensional computer storage system |
US10229052B2 (en) * | 2017-05-31 | 2019-03-12 | Seagate Technology Llc | Reverse map logging in physical media |
US11138069B2 (en) | 2018-06-11 | 2021-10-05 | Seagate Technology, Llc | Providing additional parity for non-standard sized parity data sets |
US11520696B2 (en) * | 2018-06-28 | 2022-12-06 | Seagate Technology Llc | Segregating map data among different die sets in a non-volatile memory |
US10896002B2 (en) | 2018-06-29 | 2021-01-19 | Seagate Technology Llc | Reverse directory structure in a garbage collection unit (GCU) |
CN109658867A (zh) * | 2018-12-10 | 2019-04-19 | 北京欧徕德微电子技术有限公司 | 数据读写方法及其装置 |
CN112800007B (zh) * | 2021-01-28 | 2022-06-14 | 上海华元创信软件有限公司 | 适用于fat32文件系统的目录项扩展方法和系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1698035A (zh) * | 2003-03-19 | 2005-11-16 | 索尼株式会社 | 数据存储装置、更新数据存储装置中的管理信息的方法和计算机程序 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5029125A (en) * | 1989-03-07 | 1991-07-02 | Drexler Technology Corporation | Method of reading and writing files on nonerasable storage media |
JPH04106643A (ja) * | 1990-08-27 | 1992-04-08 | Nec Ibaraki Ltd | フロッピィディスクのファイル領域管理方式 |
JP2888958B2 (ja) * | 1990-10-20 | 1999-05-10 | 富士通株式会社 | 部分書き換え可能な記憶媒体におけるファイル管理方式 |
US5422762A (en) * | 1992-09-30 | 1995-06-06 | Hewlett-Packard Company | Method and apparatus for optimizing disk performance by locating a file directory on a middle track and distributing the file allocation tables close to clusters referenced in the tables |
JP2883791B2 (ja) * | 1993-08-26 | 1999-04-19 | 富士通株式会社 | 記憶媒体とその制御方法 |
JP3358795B2 (ja) * | 1997-03-27 | 2002-12-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ディスクドライブ装置及びその制御方法 |
JPH11249968A (ja) * | 1998-03-05 | 1999-09-17 | Sanyo Electric Co Ltd | ファイル記録方法及びファイルシステム |
JP3182129B2 (ja) * | 1998-10-19 | 2001-07-03 | 富士通株式会社 | 記憶媒体とその制御方法 |
ATE249645T1 (de) * | 1999-03-04 | 2003-09-15 | Deka Products Lp | Verfahren und anordnung für blockdatenübertragung |
JP4106643B2 (ja) | 2000-03-27 | 2008-06-25 | トーソー株式会社 | 折れ戸の接触防止装置 |
US6675180B2 (en) * | 2000-06-06 | 2004-01-06 | Matsushita Electric Industrial Co., Ltd. | Data updating apparatus that performs quick restoration processing |
WO2001098952A2 (en) * | 2000-06-20 | 2001-12-27 | Orbidex | System and method of storing data to a recording medium |
JP2002358248A (ja) * | 2001-06-04 | 2002-12-13 | Pioneer Electronic Corp | データ記録装置およびデータ消去装置 |
US6823417B2 (en) * | 2001-10-01 | 2004-11-23 | Hewlett-Packard Development Company, L.P. | Memory controller for memory card manages file allocation table |
JP3797191B2 (ja) * | 2001-10-25 | 2006-07-12 | 株式会社日立製作所 | 情報記録装置 |
US6675276B2 (en) * | 2001-11-13 | 2004-01-06 | Eastman Kodak Company | Method for providing extensible dos-fat system structures on one-time programmable media |
JP2003217237A (ja) * | 2002-01-21 | 2003-07-31 | Toshiba Corp | 磁気ディスク装置 |
NO315959B1 (no) * | 2002-04-16 | 2003-11-17 | Thin Film Electronics Asa | Fremgangsmåter til lagring av data i et ikke-flyktig minne |
JP4495899B2 (ja) * | 2002-05-29 | 2010-07-07 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 接続切替装置およびその接続切替装置を用いたファイルシステム |
US7174420B2 (en) * | 2002-10-22 | 2007-02-06 | Microsoft Corporation | Transaction-safe FAT file system |
US7363540B2 (en) * | 2002-10-22 | 2008-04-22 | Microsoft Corporation | Transaction-safe FAT file system improvements |
US7181611B2 (en) | 2002-10-28 | 2007-02-20 | Sandisk Corporation | Power management block for use in a non-volatile memory system |
US20040128269A1 (en) * | 2002-12-27 | 2004-07-01 | Milligan Charles A. | System and method for managing data through families of inter-related metadata tables |
JP4468666B2 (ja) * | 2003-08-22 | 2010-05-26 | 富士通株式会社 | 二重書込機能を有する装置およびストレージ制御装置 |
US8185705B2 (en) * | 2003-10-31 | 2012-05-22 | Panasonic Corporation | Information recording medium, information recording medium accessing apparatus and accessing method |
US20050149493A1 (en) * | 2004-01-07 | 2005-07-07 | Kazuhiko Yamashita | Data recording apparatus and data recording method |
JP4130808B2 (ja) * | 2004-01-30 | 2008-08-06 | 松下電器産業株式会社 | フォーマット方法 |
JP4515132B2 (ja) * | 2004-03-31 | 2010-07-28 | 株式会社日立製作所 | ストレージシステム、ストレージ装置及びリモートコピー方法 |
EP2977906A1 (en) * | 2004-04-28 | 2016-01-27 | Panasonic Corporation | Nonvolatile storage device and data write method |
WO2006006694A1 (en) * | 2004-07-12 | 2006-01-19 | Kabushiki Kaisha Toshiba | Storage device and host apparatus |
KR100684887B1 (ko) * | 2005-02-04 | 2007-02-20 | 삼성전자주식회사 | 플래시 메모리를 포함한 데이터 저장 장치 및 그것의 머지방법 |
JP2006285669A (ja) * | 2005-03-31 | 2006-10-19 | Toshiba Corp | ホスト機器 |
US7644092B2 (en) * | 2005-05-03 | 2010-01-05 | Kabushiki Kaisha Toshiba | System for managing data on memory device using file system |
US20060277333A1 (en) * | 2005-06-01 | 2006-12-07 | Creative Technology Ltd. | Portable data storage device |
US7693882B2 (en) * | 2005-10-04 | 2010-04-06 | Oracle International Corporation | Replicating data across the nodes in a cluster environment |
US20070100893A1 (en) * | 2005-10-31 | 2007-05-03 | Sigmatel, Inc. | System and method for accessing data from a memory device |
US7734603B1 (en) * | 2006-01-26 | 2010-06-08 | Netapp, Inc. | Content addressable storage array element |
US7689807B2 (en) * | 2006-02-09 | 2010-03-30 | Sigmatel, Inc. | Mass storage device, mass storage controller and methods for use therewith |
US7650458B2 (en) * | 2006-06-23 | 2010-01-19 | Microsoft Corporation | Flash memory driver |
US7752412B2 (en) * | 2006-09-29 | 2010-07-06 | Sandisk Corporation | Methods of managing file allocation table information |
US7577643B2 (en) * | 2006-09-29 | 2009-08-18 | Microsoft Corporation | Key phrase extraction from query logs |
-
2006
- 2006-05-18 JP JP2006138781A patent/JP4676378B2/ja active Active
-
2007
- 2007-05-11 US US12/300,789 patent/US8364730B2/en active Active
- 2007-05-11 EP EP07743614A patent/EP2031514A4/en not_active Withdrawn
- 2007-05-11 CN CN200780018136.3A patent/CN101449248B/zh active Active
- 2007-05-11 WO PCT/JP2007/060179 patent/WO2007135967A1/ja active Application Filing
- 2007-05-15 TW TW096117256A patent/TW200809494A/zh unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1698035A (zh) * | 2003-03-19 | 2005-11-16 | 索尼株式会社 | 数据存储装置、更新数据存储装置中的管理信息的方法和计算机程序 |
Non-Patent Citations (1)
Title |
---|
JP特开2005-216119A 2005.08.11 |
Also Published As
Publication number | Publication date |
---|---|
TW200809494A (en) | 2008-02-16 |
WO2007135967A1 (ja) | 2007-11-29 |
CN101449248A (zh) | 2009-06-03 |
US8364730B2 (en) | 2013-01-29 |
JP4676378B2 (ja) | 2011-04-27 |
TWI379196B (zh) | 2012-12-11 |
US20090132620A1 (en) | 2009-05-21 |
JP2007310637A (ja) | 2007-11-29 |
EP2031514A4 (en) | 2010-11-03 |
EP2031514A1 (en) | 2009-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101449248B (zh) | 数据存储装置以及数据存储方法 | |
US6993618B2 (en) | Dual-mode flash storage exchanger that transfers flash-card data to a removable USB flash key-drive with or without a PC host | |
US5812814A (en) | Alternative flash EEPROM semiconductor memory system | |
TWI393150B (zh) | 最佳化記憶體操作之方法、主機裝置及資料儲存系統 | |
CN1241142C (zh) | 在智能卡和主站之间通信的方法 | |
US8386699B2 (en) | Method for giving program commands to flash memory for writing data according to a sequence, and controller and storage system using the same | |
US20060064537A1 (en) | Memory card having a storage cell and method of controlling the same | |
US20070067598A1 (en) | Storage device and host apparatus | |
US8954705B2 (en) | Memory space management method and memory controller and memory storage device and memory storage using the same | |
US20060224821A1 (en) | System for parallel updating flash memory and method for the same | |
JP2008547068A (ja) | 複数個のdmaチャンネルを有するusb−sd保存装置及びその保存方法と記録媒体 | |
CN103150256A (zh) | 提高usb闪存写入性能的方法和器件 | |
CN101789019A (zh) | 一种可移动磁盘在Windows下的控制方法 | |
CN103955441A (zh) | 一种设备管理系统、方法及一种io扩展接口 | |
KR100987205B1 (ko) | 외부 접속 기기, 호스트 기기 및 데이터 통신 시스템 | |
CN101404000B (zh) | 多存储卡逻辑合一的读写方法 | |
TW201135462A (en) | Method of dynamically switching partitions, memory card controller and memory card storage system | |
CN101443739B (zh) | 数据存储装置及其初始化方法 | |
JP2001344148A (ja) | ブートブロックフラッシュメモリ制御回路、およびそれを備えたicメモリカードと半導体記憶装置、並びにブートブロックフラッシュメモリの消去方法 | |
US9152348B2 (en) | Data transmitting method, memory controller and data transmitting system | |
CN103914408B (zh) | 数据传输方法、存储器控制器、数据传输系统 | |
CN201804319U (zh) | 嵌入式烧录晶片系统 | |
US20090014521A1 (en) | Card reader | |
JP3135738U (ja) | アプリケーションシステム効率を向上できるカードリーダ | |
TWM244533U (en) | A device integrates the reading card function and the instruction input function and a integration chip in which |
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 | ||
C56 | Change in the name or address of the patentee |
Owner name: BUFFALO CO., LTD. Free format text: FORMER NAME: BABBILU INC. |
|
CP01 | Change in the name or title of a patent holder |
Address after: Aichi Patentee after: Buffalo Inc. Address before: Aichi Patentee before: Babbilu Inc. |