CN1341237A - 半导体存储卡的访问装置、计算机可读记录介质、初始化方法和半导体存储卡 - Google Patents

半导体存储卡的访问装置、计算机可读记录介质、初始化方法和半导体存储卡 Download PDF

Info

Publication number
CN1341237A
CN1341237A CN00804072A CN00804072A CN1341237A CN 1341237 A CN1341237 A CN 1341237A CN 00804072 A CN00804072 A CN 00804072A CN 00804072 A CN00804072 A CN 00804072A CN 1341237 A CN1341237 A CN 1341237A
Authority
CN
China
Prior art keywords
sector
piece
area
file
bunch
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
CN00804072A
Other languages
English (en)
Other versions
CN1203395C (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 CN1341237A publication Critical patent/CN1341237A/zh
Application granted granted Critical
Publication of CN1203395C publication Critical patent/CN1203395C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy

Abstract

在半导体存储卡中,位于卷区始端的预定数量的可擦块包含有卷管理信息。紧接着所述卷管理信息的用户区包含有多个簇。对于从主引导记录和分区表扇区到分区引导区的这段区域,如此来确定其数据长度NOM,使得用户区的多个簇在安排时不跨越可擦块的边界。由于在所述用户区中所述簇边界和可擦块边界一致,所以不必执行为了重写一个簇而擦除两个可擦块的浪费处理。

Description

半导体存储卡的访 问装置、计算机可读记录 介质、初始化方法和半导体存储卡
技术领域
本发明涉及一种用于访问内含EEPROM(电可擦可编程只读存储器)类非易失存储器的半导体存储卡的访问装置,一种用于记录半导体存储卡初始化程序的计算机可读记录介质,一种初始化方法以及一种半导体存储卡,特别是还涉及一种能提高数据在所述非易失存储器中重写效率的改进方法。
技术背景
半导体存储卡具有体积小重量轻的优点,而且在多种技术领域里为巩固其作为可选记录介质的地位而发展顺利。半导体存储卡具有一种称为EEPROM的内在非易失存储器,该存储器由相连的设备访问,所以这种半导体存储卡能用作记录介质。而且能够以与磁盘或光盘相同的方法直接将数据写入空白EEPROM扇区。但是,当EEPROM扇区里已存有数据,则必须将这些数据删除,使这些扇区恢复为空白状态,新的数据才能写入该扇区。在许多半导体存储卡中使用的这种称为NAND(与非)的EEPROM中,将扇区恢复为空白状态的操作必须在32个扇区里同时执行(在这种非易失存储器中,一个32扇区组叫做一个可擦块)。所以,所述半导体存储卡包含一个特殊的内部控制电路,通过将可擦块用作访问单元来实现存储器管理。可擦块的状态控制以及对可擦块进行的数据读和写均由该控制电路管理。
这意味着所述半导体存储卡具有与磁盘或光盘中所使用的完全不同的独特硬件结构(物理层)。但是,图1A中所示的层模型由物理层、文件系统层和应用层组成,这与磁盘或光盘中所用的方式相同。图1B所示为所述物理层的详细配置。在该图中,所述物理层包括一个卷区,其中安排有多个可擦块。每个可擦块由32个扇区组成,且数据长度为16KB。图1C中所示的文件系统层的配置就是通常所称的FAT(文件分配表)文件系统。在FAT文件系统中,所述卷区的管理在一些叫做簇的单元里执行。卷管理信息设置在所述卷区的起始部分,接着该卷管理信息设置的是用于记录用户数据的用户区。所述卷管理信息包括:主引导记录、分区表、分区引导区、双文件分配表(FAT)和根目录登记项。所述双FAT表示卷区中所包含的多个簇之间的链接。这类文件系统层的规定使数据能够在所述应用层中按由目录和文件形成的分级结构进行存储。通过设置层模型,所述访问装置使用与访问磁盘或光盘这类记录介质相同的程序便能够访问半导体存储卡,而不必注意所述物理层的区别。
但是,在所述文件系统的卷区中存储数据时,用户有多种确定该卷区数据长短的可能。当卷区的大小根据用户的需求而改变时,该卷区内所含簇的数量就会相应的增加或减少。如果簇的数量增加或减少,则由对应于这些簇的登记项所组成的FAT便会相应地增加或减少,而且包含有所述FAT的卷管理信息的大小也是这样。如果所述卷管理信息的大小增加或减少,则接着该卷管理信息的用户区的起始地址也将改变。该用户区起始地址根据卷区的大小而改变。因此,每个簇的起始地址也会根据该用户区的大小而改变。
如果每个簇的起始地址根据用户区的大小而发生变化,那么簇可能跨越两个可擦块之间的边界,并且所述卷管理信息的结束部分可能会与位于所述用户区的开始处的一个簇设置在同一个可擦块中。图1D所示为当卷管理信息的结束部分和所述位于用户区开始的簇在同一个可擦块中时的卷区配置。如果如该图所示那样设置簇,而且用户希望修改存储在一个特定簇中的数据时,则必须读其中设置了该簇的这两个可擦块,然后将其恢复成空白状态。然而,非易失存储器由一种在绝缘层中埋置有浮栅的存储元件构成。这种存储元件只能擦除几万次,所以如果必须擦除两个可擦块以便修改一个簇的情况经常发生,那么该非易失存储器的寿命将明显缩短。
一般来说,如果已经完成了对写目标簇的擦除,则当将32个扇区作为一个簇管理时,向一个簇写入信息能够在32×200μs(200μs是写每个扇区所需的时间)内完成。但如果在能够写数据之前必须对写目标进行擦除,那么还要加上2ms的擦除期。如果该簇跨越两个可擦块之间的边界,则这两个块都需要进行擦除,并且擦除该写目标需要4ms。因此,写数据所花的时间明显增加。
发明内容
本发明的目的是提供一种访问装置,以实现缩短修改可擦块所需的处理时间,以及在半导体存储卡中构造一种存储数据格式,使非易失存储器的寿命更长。
一种称为保密数字(SD)存储卡的这类半导体存储卡由于下述原因已在解决上述缩短处理时间和延长固定存储卡寿命的问题上大有进展。在SD存储卡中,提供一块叫做保护区的区域,一般的用户不能使用该区域。该保护区用于存储秘密信息,如:用于加密数据的加密密钥、用于通知用户在复制版权资料时付账的账单信息等等。这些需要保密的数据的数量根据所使用的应用程序的类型会发生变化,因此所述保护区的大小也必须根据应用程序的类型而改变。如果保护区的大小发生改变,那么卷区的配置也会根据应用程序的类型而改变。如果卷区的配置按这种方式改变,则这种配置下的某些簇经常会跨越可擦块之间的边界,因此特别希望实现上述目的。为了实现上述目的,所述半导体存储卡访问装置可以具有如下结构:通过将每组2j(j为0或正整数)个扇区上的数据作为一个簇进行管理,以及将一个或多个簇作为一个文件进行管理,所述访问装置在包含一个由多个扇区组成的存储区的半导体存储卡上实现文件访问。这里,在该存储区内的每组2i个连续扇区组成一个块(i为0或正整数),块是能够执行数据擦除的最小单位。所述访问装置包括一个计算单元、一个预留单元和一个记录单元。所述计算单元根据所述存储区内要管理的簇的数量来计算卷管理信息的大小。这里,卷管理信息包括一个文件分配表,用于为每个文件指示与该文件相对应的各簇之间的链接。所述预留单元预留一个用于记录卷管理信息的第一区域,和一个用于记录用户数据的第二区域。第一区域所具有的数据长度大于所计算的卷管理信息,并且由m×2j(m是一个正整数)个扇区组成,而第二区域由接着第一区域的扇区组成。所述记录单元在第一区域里记录卷管理信息,在第二区域里记录用户数据,并将这些卷管理信息和用户数据作为多个簇进行管理。在该访问装置中,在含有m(m是一个正整数)个簇的所述卷区里预留出一个区域用于记录卷管理信息,这样便不会存在任何所存储的簇跨越两个可擦块的可能性。簇边界能够与可擦块的边界一致,且所述卷管理信息的边界能够与一个可擦块的边界一致。因此,当重写或改写一个簇时,只需擦除一个可擦块,这样便能够减少可擦块必需的擦除次数。如果可擦块的擦除次数减少了,该半导体存储卡便能在较短的时间内完成写数据,而且能增加该非易失存储器本身的寿命。
这里,除了所述文件分配表之外,所述卷管理信息还可以包括:主引导记录、分区表、分区引导区信息、根目录登记项。另外,所述记录单元在所述第一区域的第一扇区里记录所述主引导记录和分区表,跳过预定数量的扇区后在后续的扇区里记录所述分区引导区信息、文件分配表和根目录登记项。因此,所述第一区域的结束可以与根目录登记项的结束相一致。在表示驱动开始的所述主引导记录和表示分区开始的分区引导区之间的扇区数量能够调整,因此,所述卷管理信息可以只限于由m个扇区组成的第一区域,并与使用所保存的FAT文件系统的设备兼容。
这里,所述计算单元可以通过将用于记录所述分区引导区信息、文件分配表和根目录登记项的扇区数相加而计算出其和SUM。所述预留单元通过根据{公式1}NOM+SUM=2j+m计算出m值来预留出第一区域。其中,NOM为扇区数。所述记录单元通过将扇区数NOM减1计算出预定扇区数。即使所述文件分配表的大小发生变化,仍会预留出一个第一区域,该区域大于所述卷管理信息的大小,而且为可擦块大小的整数倍。因此,无论怎样计算出文件分配表的大小,总能预留出所述第一区域必需的最小尺寸。
这里,所述记录单元可以在所述记录卷管理信息的分区表中设置预定数量的扇区。在该结构中,即使所述第一区域的大小发生变化,并引起所述第二区域的起始地址发生变化,仍会在所述分区表内设置一定数量的扇区,该数量通过将扇区数NOM减1得到,这样,所述访问装置便能通过参照所述分区表而对用户区进行准确地访问。
附图简述
图1A所示为一种配置模型,该模型由一个物理层、一个符合ISO/IEC9293的文件系统层和一个应用层组成;
图1B和1C所示为所述物理层和文件系统层的格式;
图1D所示为当所述卷管理信息的结束部分和一个位于所述用户区开始的簇被安排在同一个可擦块中时的一种卷区配置;
图2A为半导体存储卡的外部视图;
图2B和2C为访问装置的外部视图;
图3A所示为半导体存储卡和访问装置的内部结构;
图3B所示为在所述访问装置中使用的软件的层模型;
图4所示为非易失存储器1所使用的一种数据存储格式,且符合ISO/IEC9293标准;
图5所示为包含在所述卷区里的分区控制区、系统区和用户区的结构;
图6A示例性地表示主引导记录和分区表扇区的结构;
图6B所示为分区引导区的结构;
图7A所示为双FAT的结构;
图7B所示为根目录登记项的结构;
图7C所示为所述用户区的结构;
图8所示为文件存储方法的实施例;
图9所示为当文件AOB001.SA1存储在多个簇中时,对所述根目录登记项和FAT进行设置的实施例;
图10A所示为可擦块和簇之间的关系;
图10B所示为n=1时的多个簇;
图10C所示为n=16时的多个簇;
图11A假设当将s个可擦块中的m个簇分配用于记录卷管理信息时的状态;
图11B所示为n=1时分配用于记录卷管理信息的簇的数量;
图11C所示为n=16时分配用于记录卷管理信息的簇的数量;
图12是通过借助用公式11及12计算出的大小来绘制所述分区控制区、系统区和簇而得到的图;
图13为表示所述卷区初始化过程的流程图;
图14所示为第二实施方案中的访问装置和半导体存储卡的结构;
图15所示为保密处理单元11的内部结构;
图16所示为提供有保护区的卷区的详细结构;
图17所示为所述用户数据区的示例性配置;
图18所示为所述保护区的示例性配置;
图19所示为第三实施方案中的访问控制单元2的内部结构;
图20A~20D所示为当对可擦块进行重写时的处理顺序;
图21所示为第三实施方案中的文件系统操作单元9的内部结构;
图22是表示由第三实施方案中的文件系统操作单元9执行的详细处理过程的流程图;
图23A和23B所示为在第三实施方案中的一个可擦块中执行的擦除过程;
图24所示为第四实施方案中的访问控制单元2的内部结构;
图25是表示在第四实施方案中由文件系统操作单元9执行的详细处理过程的流程图;
图26A和26B所示为在第四实施方案中的一个可擦块中执行的擦除过程;
图27A和27B所示为当发出命令后存储片段和辅助操作之间的因果关系;
图28是表示在一个逻辑地址上执行的存储片段消除处理的详细处理顺序的流程图;
图29A~29D所示为对应于图28的流程图中各变量s、t、u、v和y的设想模型;
图30A~30C所示为在第五实施方案中如何消除存储片段;
图31所示为利用UDF中的实施用途扩充属性来定义一种新的扩充属性;
图32所示为含有备份区的半导体存储卡的内部结构;
图33所示为在第六实施方案中半导体存储卡的内部结构;以及
图34A~34C所示为在第七实施方案中由文件系统操作单元9执行的处理内容。
执行本发明的最佳模式
下面参照附图对半导体存储卡以及含有半导体存储卡和访问装置的系统的实施方案进行阐述。
图2A为半导体存储卡100的外部视图,图2B和2C为访问装置的外部视图。图3A所示为半导体存储卡100和访问装置200的内部结构。
所述半导体存储卡具有图2A所示的外部结构,长32.0mm,宽24.0mm,厚2.1mm,大约是一枚邮票的大小,小到能放在用户的一个手指尖上。该半导体存储卡100有九个用于连接访问装置200的接插件,在一侧有一个写保护开关101,该开关能由用户设置成允许或禁止改写所记录的数据。如图3A下部所示,该半导体存储卡100包括一个由NAND EEPROM构成的非易失存储器1、一个访问控制单元2和一个工作存储器3。所述访问控制单元2根据所述访问装置200发出的指令将数据写入非易失存储器1、从非易失存储器1读出数据、以及擦除数据。当要对从非易失存储器读出的数据进行重写或写回该非易失存储器时,所述工作存储器3用于对这些数据进行暂时存储。
接下来阐述访问装置200,例如:图2B所示的一种家用音响系统或图2C所示的诸如个人计算机这类的信息处理装置。这种访问装置200包括:一个卡接插件4、一个辅助存储器5、一个CPU 6和一个主存储器7。所述卡接插件4用于连接所述半导体存储卡100。所述辅助存储器5存储备类用于访问该半导体存储卡100的软件。所述CPU 6对该访问装置200进行全面控制。所述主存储器7用于当访问该半导体存储卡100时暂时存储所述FAT和根目录登记项。图3B表示所述访问装置200中所使用的软件的配置模型。在本图中,所述访问装置软件包括:应用程序8、文件系统操作单元9和设备驱动程序10。所述应用程序8为该访问装置200执行诸如音频和视频再现的预定处理。所述文件系统操作单元9根据来自所述应用程序8的指令,在该文件系统中执行文件的读、写、擦除和修改(重写)操作。所述设备驱动程序10通过对该半导体存储卡100发出读和写命令而在该文件系统中执行操作。
下面解释所述非易失存储器1的数据存储格式的一个实施例。该非易失存储器1用图4所示的格式执行数据存储。在本图中,整个非易失存储器1称为所述的卷区。该卷区划分成多个簇,并包括一个分区控制区和一个分区(也称常规区)。该分区分为一个系统区和一个用户区,如图4的右手边所示。
所述用户区的起始地址直接接在系统区后。但是,系统区中的双FAT的大小根据所述用户区的大小而变化,所以,如技术背景部分所述,用户区的起始地址也会相应地发生变化。该卷区中的每个扇区用相对于该卷区起始的物理地址指示。
下面依次阐述包含在该卷区中的每个区域。图5所示为包含在所述卷区里的分区控制区、系统区和用户区的结构。
所述分区控制区包括主引导记录和分区表扇区,以及预留信息1/2和2/2。图6A表示主引导记录和分区表扇区的详细结构。在本图中,所述主引导记录和分区表扇区的内容在一对箭头ky1之间分级列出。该主引导记录和分区表扇区包括一个主引导记录,四个分区表1、2、3和4,以及一个标志字。
所述主引导记录是对该访问装置200的一种符号指示,其后续区域为一物理意义上的介质(一块物理介质)。在图6A中,所述卷区只有一条主引导记录,因此所述访问装置200将该卷区识别为一块物理介质。通常,如果卷区中有两条主引导记录,则所述访问装置200将其识别为两块物理介质。
所述分区表是一张记录分区信息的表。如箭头ky2所示,当所述半导体存储卡100用作起动驱动器时,则该分区表包括如下字段:‘引导标志’、‘起始端’、‘起始扇区/起始柱面’、‘系统ID’、‘终止端’、‘终止扇区/终止柱面’、‘相对扇区’和‘总扇区’。所述‘引导标志’字段设置为‘0×80’。‘起始端’字段定义了一个分区的起始端。‘起始扇区/起始柱面’字段定义了该分区的起始扇区和起始柱面。‘系统ID’定义了文件系统类型,该字段在所述分区的大小少于32680字节时设置为‘01’,在所述分区的大小少于65536字节时设置为‘04’。‘结束扇区/结束柱面’字段定义了该分区的结束扇区和结束柱面。‘相对扇区’字段定义了在该分区的起始扇区之前存在的扇区数量。‘总扇区’字段定义了该分区中的扇区数量。
下面对所述半导体存储卡100中的分区进行说明。该分区由所述系统区组成,接着是用户区,但本说明首先参照图7C阐述用户区。
所述用户区在不小于一簇的单元中存储文件。图7C中的虚线箭头ff2表示包含在用户区内的若干簇002、003、004、005…。图7C中所使用的数字002、003、004、005、006、007、008…是三位十六进制簇号,仅仅用于识别每个簇。由于能够执行访问的最小单位是一簇,因此用簇号来指示所述用户区中的存储位置。
所述系统区包括分区引导区、双文件分配表和根目录登记项。所述分区引导区、双文件分配表FAT和根目录登记项将参照图6B、7A和7B依次阐述。
将图6B中所示的、含有所述信息字段的扩充FDC(软盘控制器)描述符设置在所述分区引导区中。该扩充FDC描述符包括如下字段:‘转移指令’、‘建立系统标识符’、‘扇区大小’、‘每簇扇区数’、‘预留扇区计数’、‘FAT编号’(包含在所述双FAT中的FAT编号)、‘根目录登记项编号’(该根目录登记项的数据长度)、‘总扇区’、‘介质标识符’、‘每个FAT的扇区数’、‘每磁道扇区数’、‘磁面编号’、‘隐藏扇区编号’、‘总扇区数’(在系统区和用户区内的总扇区数)、‘物理磁盘编号’、‘扩充引导记录标志’、‘卷ID编号’、‘卷标’、‘文件系统类型’和‘标志字’。
所述双FAT由两个符合ISO/IEC(国际标准化组织/国际电工技术委员会)9293标准的FAT组成。每个FAT包括多条FAT登记项,每条FAT登记项链接到一个簇。FAT登记项指示相应簇是否被使用:如果该簇没有使用,则将该登记项置‘0’;如果该簇在使用,则置为相应的簇号。所述簇号指示了通向紧接着该簇需要读取的下一簇的链接。图7A中所画虚线箭头ff1表示包含在该FAT中的多条FAT登记项002、003、004、005…。这些附属于每条FAT登记项的数值表示相应簇的簇号。
所述根目录登记项包括多条文件登记项,对应于存在于该引导目录中的多个文件。每条文件登记项包括:现有文件的‘文件名’,‘文件标识符’,存储在该文件开始的‘文件的第一簇编号’,‘文件属性’,表示文件何时存储的‘存储时间’和‘存储日期’,以及‘文件长度’。
下面参照图8通过说明如何将文件名为‘AOB001.SA1’存储在所述根目录中来阐述文件存储方法。由于能够访问用户区的最小单元是一簇,所以文件‘AOB001.SA1’需要存储在不小于一簇的扇区的数据区内。因此该文件‘AOB001.SA1’先划分成簇后再存储。在图8中,将文件‘AOB001.SA1’按簇的大小划分成五个扇区,并将划分好的扇区存储在编号为003、004、005、00A和00C的簇中。
图9所示实施例为已划分成多个扇区的文件‘AOB001.SA1’在存储时,需要如何设置所述根目录登记项和FAT并存储。在本图中,该文件‘AOB001.SA1’的开始存储在簇003中,因此将该簇号003写入所述根目录登记项的‘文件的第一簇编号’中,以表示该簇存储的是该文件的第一片段。该文件‘AOB001.SA1’的后续片段存储在簇004和005中。因此,当该FAT的登记项003(004)对应于存储文件‘AOB001.SA1’第一片段的簇003时,该登记项则表示簇004是存储文件‘AOB001.SA1’下一片段的簇。同样,当该FAT的登记项004(005)和005(00A)分别对应于存储文件‘AOB001.SA1’下一片段的簇004和005时,这些登记项则分别表示簇005和00A是存储该文件‘AOB001.SA1’下一片段的簇。如图9中的箭头fk1、fk2、fk3、fk4、fk5…所示,通过读取其簇号被按顺序写入FAT登记项的那些簇,所有经划分文件‘AOB001.SA1’而得到的扇区均能读取。如上所述,该半导体存储卡100的用户区的访问是以簇为单位进行的,每个簇均与一条FAT登记项相联系。应当指出:将与存储AOB文件结束片段的簇(图9实施例中的簇00C)相对应的FAT登记项设置成簇号‘FFF’,以表示相应簇存储的是文件的结束片段。
上述阐述给出了本发明所述固定存储器1中的文件系统的概况。下面的阐述将着重于实施方案的原理,阐述如何调整簇边界和可擦块的边界,也就是如何使所述系统区和用户区的边界与两个可擦块之间的边界相一致。该实施方案的两种改进方案目的是实现这种边界的一致。第一种改进方案是将簇的大小设置为可擦块大小的1/n(n是1、2、4、8、16或32)。图10A所示为可擦块和簇之间的关系。这里,一簇定义为一个可擦块大小的1/n,即:16KB的1/n(32扇区的1/n)。图10B所示为n=1时的多个簇,图10C所示为n=16时的多个簇。
第二种改进方案是在所述卷区中划出一块区域,其大小是一簇的m倍,用于记录所述卷管理信息。图11A假设了当将s个可擦块中的s个簇的m个簇分配用于记录卷管理信息时的状态。如果将m个簇划出用于记录卷管理信息,那么所述卷管理信息将占用这s个可擦块的m/n区域,剩余(s·n-m)/n区域将划为用户区。
通过将所述卷管理信息的大小设置成簇大小的m倍,便能将卷管理信息和s·n-m个簇压缩,使得簇不会跨越两个可擦块之间的边界。
图11B所示为n=1时分配用于记录卷管理信息的簇的数量,图11C所示为n=16时分配用于记录卷管理信息的簇的数量。这些图清楚表示:通过设置所述卷管理信息,多个簇与多个可擦块准确配合,这样不会有簇跨越可擦块之间的边界。其大小已按该方法调整过的卷区的详细设置如图5所示。在该图中,所述分区控制区的大小为NOM,分区引导区的大小为RSC,双FAT的大小为尺寸1×2,根目录登记项的大小为RDE,总扇区大小为TS,一簇所含的扇区数为SC。
图5中,双FAT中FAT的大小“尺寸1”根据总扇区大小TS确定。特别是,该值用下述公式11计算得出。公式11
对于FAT12:尺寸1(((((TS-(RSC+RDE))/SC)+2)×12/8)+511)/512
对于FAT16:尺寸1(((((TS-(RSC+RDE))/SC)+2)×16/8)+511)/512
这里,FAT12代表一个为每个FAT登记项分配12比特的文件系统,FAT16代表一个为每个FAT登记项分配16比特的文件系统。
在公式11中,(TS-(RSD+RDE))为用户区进行记录所需簇的数量。并将该数加上指示数2,其结果再与该FAT登记项的字节长度(12或16)相乘,然后除以8便得到该FAT的字节长度。在该计算结果上加上511字节的偏移值,并将该结果除以一个扇区的字节长度512计算出存储一个FAT所需的扇区数。如果FAT的数据长度为1字节,那么用521除该FAT数据将会得到FAT的扇区数被计算为0。但是,公式11加上偏移值511将确保所计算的尺寸1具有至少一个扇区。
在图5中,需指出的重要一点是所述被称为NOM的分区控制区大小。将NOM的值设置为‘SC+α’以保证所述分区控制区和系统区属于不同的簇。按此方法设置NOM的原因是为了在系统区修改簇发生失误时防止对分区控制区的冲击影响。换句话说,如果该分区中所述主引导记录和分区表扇区受到这种修改失误的损坏,那么该半导体存储卡100将不再由所述访问装置200识别为授权的记录介质。为了避免这种不利情况而将NOM的值设置为SC+α。
SC+α值的设置按如下方法进行。用(RSC+RDE+尺寸1×2)除以SC计算出α值,这样RSC、尺寸1×2和RDE的和是SC的整数倍,并从SC中减去这次计算的余数。如果已考虑这些因素,则NOM按公式12计算。公式12
NOM=(SC-(RSC+RDE+尺寸1×2)%SC)+SC
如按该方法定义α,将会形成所述分区控制区和用户区以便准确地配合多个可擦块,并且所述系统区和用户区之间的边界将与可擦块的边界一致。如果能实现这种边界对准,那么所有后续簇的边界将与可擦块的边界一致。
这里,所述实施例说明了:当SC为32扇区(16KB),RDE为32扇区,RSC为1扇区,且TS为65600扇区时如何计算该NOM和尺寸1。如果所述双FAT的类型为FAT12,则用公式11按下述方法计算尺寸1。
尺寸1=(((((TS-(RSC+RDE))/SC)+2)×12/8)+511)/512
     =(((((65600-(1+32))/SC)+2)×12/8)+511)/512
     =7扇区
另外,用公式12按下述方法计算该NOM。
NOM=(SC-(RSC+RDE+尺寸1×2)%SC)+SC
   =(32-(1+32+7×2)%32)+32
   =47扇区
图12根据计算出的大小列举出分区控制区、系统区和簇。所述主引导记录和分区表扇区,以及预留信息1/2安排在扇区PSN000~PSN031,所述预留信息2/2、分区引导区和双FAT安排在扇区PSN032~PSN063。所述根目录登记项安排在扇区PSN064~PSN095。在该卷区中,32个扇区构成一个可擦块,因此,所述主引导记录、分区表和预留信息1/2安排在第一可擦块001中,所述预留信息2/2、分区引导区和双FAT安排在第二可擦块002中,所述根目录登记项安排在第三可擦块003中。将所述根目录登记项存储在同样大小的可擦块中,以便使用户区与系统区之间的边界与可擦块之间的边界相匹配。
当所述文件系统操作单元9在非易失存储器1上执行初始化时,便会实现上述卷区的配置。执行该初始化处理的程序将参照图13的流程图进行阐述。
在步骤S1,根据要格式化区域的大小(TS),以及所述半导体存储卡100、访问装置200所使用的操作系统和来自用户的指令的总存储量,由所述文件系统操作单元9确定簇的大小。
一旦确定了簇的大小,在步骤S2,所述文件系统操作单元9利用簇的大小SC和总扇区大小TS来确定应当使用哪个文件系统:FAT12或FAT16。一旦确定了文件系统FAT12和FAT16之一,所述文件系统操作单元9便在步骤S3确定所述根目录登记项的长度RDE(在这些实施方案中RDE定为32扇区),接着,在步骤S4中确定所述分区引导区的长度RSC(在这些实施方案中RSC定为1个扇区)。一旦得出RDE和RSC,所述文件系统操作单元9便会在步骤S5中用公式11计算出该FAT的数据长度。然后,在步骤S6中,所述文件系统操作单元9用公式12计算出NOM,以致所述主引导记录和分区引导区位于不同的簇中。
在上述步骤S5~S7中执行的处理实际上与前述公式11和12中执行的处理完全一样。但是,在该流程图中先介绍在步骤S7~S9中执行的处理。在步骤S7,所述文件系统操作单元9用公式13计算出所述用户区中的簇数CN。公式13
CN=(TS-(RSC+RDE+尺寸1×2+NOM))/SC
在步骤S8,所述文件系统操作单元9用下面的公式14计算出FAT的数据长度。公式14
对于FAT12:尺寸2=(((CN+2)×12/8+511)/512
对于FAT16:尺寸2=(((CN+2)×16/8+511)/512
在步骤S9,所述文件系统操作单元9将在步骤S5中计算出的尺寸1与在步骤S8中计算出的尺寸2进行比较,如果这两个值相等,则结束处理。如果这两个值不相等,则所述文件系统操作单元9在步骤S10用尺寸1替代尺寸2,转到步骤S6,并计算NOM。由于尺寸1现在因替代而成为一个不同值,因此通过转至步骤S6能计算出一个不同的NOM。然后,所述文件系统操作单元9根据新计算出的NOM在步骤S8再计算尺寸2,并且,如果尺寸1和尺寸2相等,那么步骤S9为“是”,并结束处理。
‘ab经上述处理计算得到的NOM置入所述分区表中的‘相对扇区’字段,以表示在该分区起始扇区之前存在的扇区数量,并将TS置入该分区表中的‘总扇区’字段。
将所述SC置入分区引导区中的‘每簇扇区数’字段,以表示每簇中所含的扇区数。此外,将表示扇区数量的RDE与扇区长度512字节相乘,然后除以32便得到文件登记项的数量,再将该数量置入所述分区引导区中的‘根目录登记项编号’字段。将尺寸1置入所述分区引导区中的‘每个FAT的扇区数’字段,表示每个FAT中的扇区数量。所述访问装置200在确定所述双FAT、根目录登记项和用户区的位置时,将参考置入分区表和分区引导区的这些值。
这是对图13中的流程图的解释。下述示例性计算将说明当TS为65568时,如何计算所述分区和系统的大小。
由于TS为65568,在步骤S1,所述文件系统操作单元9将簇的大小确定为32扇区。一旦将簇的大小确定为32扇区,在步骤S2,所述文件系统操作单元9就会根据所述簇的大小SC和总扇区的大小TS确定应使用FAT12文件系统。在这些实施方案中,RDE和RSC分别定为32扇区和1扇区,因此不执行步骤S3和S4的计算。在步骤S5,所述文件操作系统用公式11和12计算所述FAT的数据长度。这里,由于FAT为FAT12,所以进行下面的计算。
尺寸1=(((((TS-(RSC+RDE))/SC)+2)×12/8)+511)/512
     =(((((65568-(1+32))/SC)+2)×12/8)+511)/512
     =7扇区
一旦计算出尺寸1,在步骤S6,所述文件系统操作单元9用公式12计算NOM,以便使所述主引导记录和分区引导区位于不同的簇中。
NOM=(SC-(RSC+RDE+尺寸1×2)%SC)+SC
   =(32-(1+32+7×2)%32)+32
   =49扇区
一旦计算出NOM,在步骤S7,所述文件系统操作单元9用公式13计算在所述常规区中的簇数。
CN=(TS-(RSC+RDE+尺寸1×2+NOM))/SC
  =(65568-(1+32+7×2+49))/32
  =2046扇区
在步骤S8,所述文件系统操作单元9用公式14计算所述FAT的数据长度。
对于FAT12:尺寸2=(((CN+2)×12/8)+511)/512
                =(((2046+2)×12/8)+511)/512
                =6扇区
在步骤S9,所述文件系统操作单元9比较在步骤S5计算出的尺寸1和在步骤S8计算出的尺寸2。这里,尺寸1为7扇区,尺寸2为6扇区。由于这两个值不相等,所以所述文件系统操作单元9转到步骤S10,用尺寸1替代尺寸2,再转到步骤S6并计算NOM。
NOM=(SC-(RSC+RDE+尺寸1×2)%SC)+SC
   =(32-(1+32+6×2)%32)+32
   =51扇区
一旦计算出NOM,在步骤S7,所述文件系统操作单元9计算所述常规区中的簇数。
CN=(TS-(RSC+RDE+尺寸1×2+NOM))/SC
    (65568-(1+32+6×2+49))/32
  =2046扇区
在步骤S8,计算所述FAT的数据长度。
对于FAT12:尺寸2=(((CN+2)×12/8)+511)/512
                =(((2046+2)×12/8)+511)/512
                =6
接着该计算,在步骤S9,所述文件系统操作单元9比较尺寸1和尺寸2,由于这两个值相等,所以流程图的处理结束。
如上所示,由于本实施方案能够计算出NOM,所以所述分区和系统区的大小是所述可擦块数量的整数倍,因此保证了簇的存储不会跨越两个可擦块。簇的边界与可擦块的边界一致,而所述卷管理信息的边界与一个可擦块的边界一致,这样,当对一个簇进行重写或改写时,需要擦除的可擦块的数量就限制为一个,因此减少了任意一个可擦块需要擦除的次数。因而缩短了向所述半导体存储卡100写入数据所需的时间,而且能够延长非易失存储器1的寿命。第二实施方案
第二实施方案提出一种安排:将所述卷区分为一个普通用户能访问的区域(用户数据区)和一个存储保密数据的区域(保护区)。
第二实施方案中的访问装置200和半导体存储卡100的结构如图14所示。在该图中所示的内部结构中,与图3A中所示的相反,所述非易失存储器1已提供了一个保护区,而且所述半导体存储卡100和访问装置200也分别提供了保密处理单元11和12。
下面阐述提供的保密处理单元11,该单元执行对所述非易失存储器1中的保护区的保密读和写。如图15所示,该保密处理单元11包括:系统区13、隐藏区14、AKE处理单元15、Ks解密单元16和Ks加密单元17。
所述系统区13是一块用于存储介质密钥程序块(MKB)和介质-ID的只读区域。存储在该区域中的MKB和介质-ID不能改写。假设所述半导体存储卡100和访问装置200相连,便通过该访问装置200读取MKB和介质-ID。如果所述访问装置200利用该MKB、介质-ID和一种内部存储的设备密钥Kd正确地执行特定计算,便能得到正确的加密密钥Kmu。
所述隐藏区14存储所述加密密钥Kmu的正确值,换句话说,如果所述访问装置200使用有效的设备密钥Kd执行正确的计算,就应得到所述加密密钥Kmu。
所述AKE(验证和密钥交换)处理单元15用询问-响应方法执行所述访问装置200与半导体存储卡100之间的相互验证,校验相对设备的真实性,如果该相对设备无效,则停止处理。但如果该相对设备有效,则在所述访问装置200与半导体存储卡100之间共享一个加密密钥(对话关键字Ks)。由所述访问装置200执行的验证分三个阶段:首先,在第一询问阶段,该访问装置200产生一个随机数,用所述加密密钥Kmu对该随机数进行加密,并将该加密的随机数作为询问值A传递给所述半导体存储卡100;其次,在第一响应阶段,该半导体存储卡100利用内部存储的加密密钥Kmu解密所述询问值A,并将该解密值作为响应值B传递给所述访问装置200;最后,在第一校验阶段,所述访问装置200利用其加密密钥Kmu解密内部存储的所述询问值A,并将该解密值与所述半导体存储卡100传递来的响应值B进行比较。
由所述半导体存储卡100执行的验证也分三个阶段:首先,在第二询问阶段,该半导体存储卡100产生一个随机数,用所述加密密钥Kmu对该随机数进行加密,并将该加密的随机数作为询问值C传递给所述访问装置200;其次,在第二响应阶段,该访问装置200利用内部存储的加密密钥Kmu解密所述询问值C,并将该解密值作为响应值D传递给所述半导体存储卡100;最后,在第二校验阶段,所述半导体存储卡100利用其加密密钥Kmu解密内部存储的所述询问值C,并将该解密值与所述访问装置200传递来的响应值D进行比较。
如果所述访问装置200使用无效的加密密钥执行相互验证,则第一校验阶段的询问值A和响应值B,以及第二校验阶段的询问值C和响应值D将被判定为非匹配值,而且将停止相互验证。但是,如果所述相对设备的真实性得到确认,那么所述AKE处理单元15将计算出询问值A和询问值C的异或值,并通过利用所述加密密钥Kmu解密该异或值便得到所述对话关键字Ks。
当与所述半导体存储卡100相连的访问装置200输出要写入所述保护区的加密数据时,所述Ks解密单元16用所述对话关键字Ks解密这些在输出前就已经由该对话关键字Ks加密了的数据。将通过该解密得到的这些数据写入所述保护区内,作为原始数据。
所述Ks加密单元17接到由与所述半导体存储卡100相连的访问装置200发出的读数据指令,用所述对话关键字Ks加密存储在保护区中的数据,然后向访问装置200输出这些加密的数据。对所述保护区执行数据的读和写是在所述Ks解密单元16执行解密和Ks加密单元17执行加密之后进行的,所以,只有当所述半导体存储卡100和相连的访问装置200成功地执行了AKE处理时,才能访问所述保护区。
下面参照图16中的包含所述保护区的卷区详图来阐述所述第二实施方案的卷区格式。在本图中,如果所述卷区总的大小为‘卷大小’,那么用户区是一块从该卷区开始处延伸出的‘卷大小×(1-β)’,并将接着该用户区的‘卷大小×β’区域划为所述保护区。其中,β的最小设定值为0.01。例如,如果卷大小为64MB且β为0.01,则保护区设定在640KB。在所述文件系统操作单元9执行图9所示的初始化处理时,便可实现所数用户数据区和保护区的格式。
如下描述为一示例性计算,计算当所述用户数据区中的总扇区数TS为124160时,该用户数据区中的分区控制区和系统区的大小。
由于TS为124160,在步骤S1,所述文件系统操作单元9确定簇的大小为32扇区。一旦确定了簇的大小为32扇区,在步骤S2,该文件系统操作单元9便参照簇的大小SC和总扇区大小TS确定应使用FAT12文件系统。在这些实施方案中,所述RDE和RSC的大小分别定为32扇区和1扇区,所以不执行步骤S3和S4的计算。在步骤5,该文件操作系统用公式11和12计算所述FAT的数据长度。这里,由于该FAT是FAT12,所以执行下述计算。
尺寸1=(((((TS-(RSC+RDE))/SC)+2)×12/8)+511)/512
     =(((((124160-(1+32))/32)+2)×12/8)+511)/512
=12扇区
一旦计算出尺寸1,在步骤S6,所述文件系统操作单元9用公式12计算NOM,以便使所述主引导记录和分区引导区位于不同的簇中。
NOM=(SC-(RSC+RDE+尺寸1×2)%SC)+SC
   =(32-(1+32+12×2)%32)+32
   =39扇区
一旦计算出NOM,在步骤S7,所述文件系统操作单元9用公式13计算在所述常规区中的簇数。
CN=(TS-(RSC+RDE+尺寸1×2+NOM))/SC
  =(124160-(1+32+12×2+49))/32
  =3877扇区
在步骤S8,所述文件系统操作单元9用公式14重新计算所述FAT的数据长度。
对于FAT12:尺寸2=(((CN+2)×12/8)+511)/512
                =(((3877+2×12/8)+511)/512
                =12扇区
在步骤S9,所述文件系统操作单元9比较在步骤S5计算出的尺寸1和在步骤S8计算出的尺寸2。这里,所计算的尺寸1和尺寸2均为12扇区,所以判定这两个值相等,该流程图处理结束。
当所述系统区和分区控制区是通过用上述计算公式计算出的TS、尺寸1和NOM构成时,所述保护区的配置如图17所示。如果比较该图与图12,能够看出:所述双FAT的大小已由14扇区增加为24扇区,而预留信息1/2和2/2的大小已由17扇区缩减为7扇区,这样,分区控制区和系统区恰好安排在3个可擦块中。
如下描述为一示例性计算,计算所述用户数据区中的总扇区数TS为1280时,所述保护区中的分区控制区和系统区的大小。
由于TS为1280,在步骤S1,所述文件系统操作单元9确定簇的大小为2扇区(1KB的存储器,并只有所述用户数据区大小的1/16)。一旦确定了簇的大小为2扇区,在步骤S2,该文件系统操作单元9便参照簇的大小SC和总扇区大小TS确定应使用FAT12文件系统。在这些实施方案中,所述RDE和RSC的大小分别定为32扇区和1扇区,所以不执行步骤S3和S4。在步骤5,该文件操作系统用公式11和12计算所述FAT的数据长度。这里,由于该FAT是FAT12,所以执行下述计算。
尺寸1=(((((TS-(RSC+RDE))/SC)+2)×12/8)+511)/512
     =(((((1280-(1+32))/2)+2)×12/8)+511)/512
     =2扇区
一旦计算出尺寸1,在步骤S6,所述文件系统操作单元9用公式12计算NOM,以便使所述主引导记录和分区引导区位于不同的簇中。
NOM=(SC-(RSC+RDE+尺寸1×2)%SC)+SC
   =(2-(1+32+2×2)%2)+2
   =3扇区
一旦计算出NOM,在步骤S7,所述文件系统操作单元9用公式13计算在所述常规区中的簇数。
CN=(TS-(RSC+RDE+尺寸1×2+NOM))/SC
  =(1280-(1+32+2×2+3))/32
  =620扇区
在步骤S8,所述文件系统操作单元9用公式14计算所述FAT的数据长度。
对于FAT12:尺寸2=(((CN+2)×12/8)+511)/512
                =(((620+2)×12/8)+511)/512
                =2
在步骤S9,所述文件系统操作单元9比较在步骤S5计算出的尺寸1和在步骤S8计算出的尺寸2。这里,所计算的尺寸1和尺寸2均为2扇区,所以判定这两个值相等,该流程图处理结束。
当所述系统区和分区控制管理区是通过用上述计算公式计算出的TS、尺寸1和NOM的大小构成时,所述保护区的安排如图18所示。在本实施方案中,用户数据区和保护区均含有一个分区控制区、一个系统区和一个保护区,所以,所述访问装置200将每个区均当作是一块独立的物理介质。这样,虽然所述用户数据区和保护区所含簇的大小不同,但该用户数据区和保护区的边界均能够与可擦块的边界一致。
在上述实施方案中,即使所述卷区包括两个区域—用户数据区和保护区,这些区域的边界也与可擦块的边界一致,所以,簇的重写能够在短时间内完成。而且,减少了可擦块需要擦除的次数,因此,不会不必要地缩短所述非易失存储器的寿命。第三实施方案
第三实施方案涉及一种在擦除可擦块中存储的数据时所使用的改进方法,其中所述可擦块用逻辑地址和物理地址进行管理。在本实施方案中的访问控制单元2的结构如图19所示。图中,该访问控制单元2包括:指令解码单元21、逻辑/物理地址转换单元22、读控制单元23、分配变换单元24、写控制单元25、擦除控制单元26和修改控制单元27。
所述指令解码单元21接收由访问装置200发出的指令,并在发出点解码出指令的原始内容。如果收到读指令,指令解码单元21命令所述读控制单元23从非易失存储器1中读出数据(读)。如果收到写指令,指令解码单元21则命令所述写控制单元25将数据写入非易失存储器1(写)。如果收到指定一个未经擦除的块作为访问目标的写指令,则指令解码单元21命令所述修改控制单元修改(重写)存储在非易失存储器1中的数据(修改)。如果收到获取状态指令,指令解码单元21则命令所述分配变换单元24读出已擦块的列表(稍后再解释该规定)。如果收到擦除指令,指令解码单元21则命令所述分配变换单元24擦除所指定的可擦块。
所述逻辑/物理地址转换单元22包含一个表示可擦块的逻辑和物理地址之间对应关系的地址对应表。当由所述访问装置200确定出所要访问的逻辑地址时,该逻辑/物理地址转换单元22便参照所述地址对应表中所示的该逻辑地址的对应关系,将该逻辑地址转换为相应的物理地址,并向所述读控制单元23、分配变换单元24和修改控制单元27输出该物理地址。
当所述访问装置200发出读指令时,便由所述写控制单元23进行控制,使得该访问装置200能够读出存储在该读指令所定义的读位置上的数据。
所述分配变换单元24存有一个已擦块列表,在该列表中,已经擦除的可擦块的物理地址按先进先出(FIFO)的格式安排。当所述访问装置200发出读指令,该分配变换单元24则判断被定义为读目标的逻辑地址所对应的物理地址是否在该已擦块列表中存在。如果判断这个物理地址存在,则该分配变换单元14向所述写控制单元25输出该物理地址,并将该物理地址从已擦块列表中删除。如果相应物理地址所指示的可擦块还未经擦除,则该分配变换单元24就会将所述已擦块列表的始端物理地址作为读目标分配给该逻辑地址,并向所述读控制单元25输出这个已分配的物理地址,而将先前作为读目标分配给该逻辑地址的那个物理地址加在所述已擦块列表的结尾处。另外,当该访问装置200发出获取状态指令时,所述分配变换单元24便将该已擦块列表中所示的物理地址转换成逻辑地址,并向该访问装置200输出一个用逻辑地址表指示已擦除可擦块的已擦块列表。如果指示一个逻辑地址的擦除指令已经由该访问装置200发出,那么所述分配变换单元24将控制操作以便将对应于该逻辑地址的物理地址加入到所述的已擦块列表中。
当收到对一个块进行写操作的写指令时,所述写控制单元25便根据分配变换单元24输出的物理地址将数据写入非易失存储器1中。
擦除控制单元26按固定间隔进行轮询来确定一个未擦块的物理地址是否已被加到所述已擦块列表中。如这个物理地址已被添加,则该擦除控制单元24擦除该物理地址所指示的可擦块。
当收到对已经写有数据的可擦块进行修改的写指令时,所述修改控制单元27便将数据从非易失存储器1读到所述工作存储器3中,并对保持在该工作存储器3中的数据进行修改,然后将这些修改后的数据从工作存储器3写入非易失存储器1。这种由所述修改控制单元27执行的修改处理是通过与所述分配变换单元24的协同处理而完成的。由所述修改控制单元27执行的这种数据修改处理流程按时间顺序如图20所示。
在图20A中所示的初始状态,数据当前存储在阴影块中(块的物理地址为001、002、004、007~015),且预留块003、005和006已经经过擦除。表示已擦除块的物理地址003、005和006按排在所述已擦块列表中。在表示逻辑地址和物理地址之间的对应关系的地址对应表中,逻辑地址001、002、003、004和005分别对应物理地址001、002、003、004和005。
这里,如果所述访问装置200所发出的写指令指示将不同的值写入逻辑地址为001的可擦块中,那么所述写控制单元25便将写入逻辑地址001的块中的数据从所述非易失存储器1转到所述工作存储器3中(见图20A箭头‘①读’)。然后写控制单元25对这些写入逻辑地址为001的块中的数据进行修改,而这些块存在于所述工作存储器3中(见图20A箭头‘②修改’)。
接下来在图2B中,所述修改控制单元27将所述已擦块列表中前面的物理地址003读出,如箭头BN1所示,并将数据写入由该物理地址003所指示的块中,如箭头‘③写’所示。接着在图20C中,所述修改控制单元27将其相应块应被擦除的物理地址001安排在该已擦块列表中,如箭头④所示。
最后,所述修改控制单元27将对应的逻辑地址/物理地址互换,如图20D所示。这里,物理地址003分配给逻辑地址001,物理地址001分配给逻辑地址003。因而通过把数据写入物理地址003便能实现将数据重写入逻辑地址001,然后在逻辑和物理地址之间作相应的转换。
下面将阐述所述访问装置200的内部结构。图21所示为第三实施方案访问装置200中的文件系统操作单元9的内部结构。图中所示的该文件系统操作单元9包括:一个文件删除单元28和一个优先擦除控制单元29。
所述文件删除单元28通过更新从所述主存储器7中读出的FAT来删除文件,并将更新后的FAT写入所述半导存储卡100。如果该应用程序8发出删除文件的指令,则所述文件删除单元28将通过把对应于存储该文件片段的相应簇的FAT登记项设置为‘0’来执行文件的删除,‘0’表示未被使用的那些簇。但是,存储文件片段的这些簇(可擦块)仍未恢复空白状态,所以首先必须将这些簇擦除,才能在这些簇中存储其它文件。因此,擦除处理所需时间的增加与删除旧文件和记录新文件的次数的增加成正比。
在等待来自应用程序8的指令时,所述优先擦除控制单元29向所述半导体存储卡100发出获取状态指令,命令它读出已擦除的空闲存储器列表。一旦发出该指令及输出所述已擦除空闲存储器列表,该优先控制单元29便收到输出的所述已擦除空闲列表,并将该列表与所述FAT进行比较,以便确定出在该FAT中设置为未使用的多个簇所对应的可擦块。(当一个可擦块包含多个簇时,只能确定出那些全部由未使用簇组成的可擦块)。因此,在这些可擦块中,也要确定已擦块列表中不存在的那些块。这些块是既未使用也未经擦除的可擦块,并且,所述优先擦除控制单元29向所述半导体存储卡100发出擦除指令以命令将这些块擦除。该擦除指令包括一个逻辑地址定义,以及一条将该逻辑地址对应的物理地址加入所述已擦块列表中的指令。当由该擦除控制单元26执行轮询时,如果通过发出这样的擦除指令将一个物理地址加到所述已擦块列表中,那么由该擦除指令所指示的块的擦除方法与其他未使用和未擦除块的处理方法相同。而且对于所有未使用和未擦除的块均执行同样的处理过程。下面将参照图22的流程图来对所述优先擦除控制单元29所执行的详细过程进行阐述。
在本实施方案中,如果启动该优先擦除控制单元29,它会转到步骤S21~S22的循环处理。在步骤S21,该优先擦除控制单元29判断是否已收到所述应用程序8发出的访问指令,在步骤S22,判断是否已过预定的轮询时间。如果已收到所述应用程序8发出的一条指令,那么该优先擦除控制单元29转到步骤S23,按照该指令执行文件系统操作并访问所述半导体存储卡100。如果已过预定的轮询时间,那么该优先擦除控制单元29从步骤S22转到步骤S24,并向该半导体存储卡100发出获取状态指令以读出所述已擦的空闲列表,接着,在步骤S25,该优先擦除控制单元29处于一种等待状态,等待读出所述已擦块的列表。一旦读出所述已擦块列表,则在步骤S26由该优先擦除控制单元29为所有由FAT中设置为未使用的簇组成的可擦块和所述已擦块列表中不存在的可擦块定义逻辑地址。
在步骤S27,所述优先擦除控制单元29判断是否存在未使用的仍未擦除的可擦块,如果不存在这样的块,则马上返回到步骤S21~S22的循环处理。如果存在这样的块,则该优先擦除控制单元29执行步骤S28~S30的循环处理。换句话说,该优先擦除控制单元29向所述半导体存储卡100发出擦除指令,以保证将在步骤S26确定的未使用和未擦除的块的每个物理地址上的数据擦除。一旦发出了这样的指令,便在所述已擦块列表中加入每个这种块的物理地址,并进行擦除。
下面将参照图23A和23B对上述优先擦除控制单元29的操作进行更详细的阐述。在图23A所示的初始化状态中,在该FAT中将一个可擦块地址0001设置为正在使用,而物理地址0003,0005和0006作为已擦块地址而被安排在所述已擦块列表中。数据存储在图中涂成阴影的文件系统的块中(地址为0000,0001,0002,0004)。在该状态下,如果没有来自所述应用程序8的指令,并且预定的轮询时间已过(步骤S21否,步骤S22是),所述访问装置200中的该文件系统操作单元9则通过向所述半导体存储卡100发出获取状态指令来读出已擦块列表(步骤S24),并将读出的已擦块列表与所述FAT进行比较(步骤S25)。比较结果是确定出那些在FAT中设置为未使用的块,以及那些逻辑地址在所述已擦块列表中不存在的块(可擦块地址为0000,0002,0004)(步骤S26)。由于这些块未使用,所述文件操作系统单元9便向所述半导体存储卡100发出擦除指令以便将这些可擦块擦除(步骤S28~S30)。因此,如图23B所示,地址0000,0002和0004被加到所述已擦块列表中,并擦除这些地址所指示的可擦块。
在上述实施方案中,所述访问装置200从所述半导体存储卡100读出已擦块列表,并将该读出的已擦块列表与所述FAT进行比较,以便确定仍未擦除的未使用的可擦块,并命令该半导体存储卡100将这些块擦除。所以,在等待来自所述应用程序9的指令时,该文件操作系统单元9能将那些仍未擦除的未使用的可擦块擦除,并使这些未使用块的这种擦除更有效地执行。
另外,无论何时所述访问装置200空闲,均能执行对未使用块的擦除,所以能大大增加执行块擦除的机会。因此不会存在所述可擦块列表中物理地址不够的危险,而且修改和重写块时的处理效率会大大提高。
在本实施方案中的所述访问装置200中,将所述已擦块列表从所述半导体存储卡100中读出,并确定未使用的和仍未擦除的块。但是,在该半导体存储卡100的访问控制单元2中,所述擦除控制单元26可以根据所述FAT确定出既未使用也未经擦除的块,然后删除这些块。这里,该访问控制单元2将所述已擦块列表中的物理地址换成逻辑地址,并把已转换的地址传给所述访问装置200。但也可以将该已擦块列表和地址对应表传给所述访问装置200,在该访问装置200中执行将物理地址换成逻辑地址。数据擦除可以在删除一个文件时执行,或在执行其它指令时作为并行处理执行。而且,其它信息,例如管理未擦除可擦块的物理地址的未擦块列表可以用来代替管理已擦可擦块的物理地址的已擦块列表。本实施方案用FAT进行描述,但信息可以用列表或其他类似的形式进行存储。第四实施方案
第四实施方案阐述的是通过用已擦块表代替已擦块列表来执行所述第三实施方案的处理所实现的改进方案。图24所示为第四实施方案的访问装置200 2的内部结构。如果比较该图与图19,能够看出所述已擦块列表已由一个已擦块表替代。第四实施方案中的该已擦块表由多个对应于每个可擦块的登记项组成。如果一个块经过擦除,则相应的登记项置为‘1’,且如果一个块未经擦除,则相应的登记项置为‘0’。该已擦块表通过在该已擦块表中置‘1’或置‘0’来表示每个可擦块的擦除状态。
由于所述已擦块列表已由所述已擦块表代替,所以在第四实施方案中由所述写控制单元25和擦除控制单元26执行的处理在下述方面与第三实施方案中所执行的不同。
当所述访问装置200产生一条写指令时,所述第四方案中的写控制单元25便根据该已擦块表判断是否将该指令确定的写目标擦除,并判断其是否为一未使用的块。这样,如果所述写目标块是未擦除块,则在往该块中写入新数据之前,由所述写控制单元25令所述擦除控制块26将该块中的数据擦除。换句话说,第四实施方案中的所述写控制单元25在执行写数据前会将数据擦除。
接着,将阐述第四实施方案中所述优先擦除控制单元29的处理过程。在等待来自所述应用程序8的指令时,该优先擦除控制单元29执行可擦块的擦除。该擦除过程与第三实施方案中所述相同,并在图25的流程图中示出。该流程图除了已将“已擦块列表”换成‘已擦块表’之外,其他均与图22中所示一致。而且由于内容无太大变化,所以这里省去详细的阐述。下面将参照图26A和26B阐述第四实施方案中所述优先擦除控制单元29执行的处理过程。
在图26A所示的初始状态中,将地址为0001的块作为已用块进行管理,并将该已擦块表中的地址为0003、0005和0006的块作为已擦除数据的块进行管理。数据存储在该图中已涂为阴影的非易失存储器的块中(地址为0000,0001,0002,0004)。在该初始状态下,如果块未被使用,但却包含有数据,并已产生向这些未用块写入数据的写指令,则需要执行数据擦除处理。在本实施方案中,如果优先擦除控制单元29正等待所述应用程序8发出指令,而且已过了预定轮询时间(步骤S21否,步骤S22是,),则该优先擦除控制单元29通过向所述半导体存储卡100发出获取状态指令来读出所述已擦块表(步骤S24),并将该读出的已擦块表与所述FAT进行比较(步骤S25)。该比较的结果是找出在该FAT中被设置为未使用的、且其逻辑地址不由所述已擦块表管理的块(可擦块地址为0000,0002,0004)(步骤S26)。在图26中,对于地址为0000,0002和0004的块,在所述FAT和已擦块表中设置为‘0’,所以这些块未使用且仍作为未经擦除的块。由于这些块未使用,因此所包含的数据可以安全地进行擦除,于是所述优先擦除控制单元29发出擦除指令,以便将该已擦块表中每个相应的地址设置为‘1’,以指示将要擦除这些块(步骤S28~S30)。因此,擦除未使用块中的所有数据,然后所述已擦块表将这些块作为已擦除的块进行管理。所以,无需任何擦除处理,便能通过分配未用块来完成数据写处理,而且能够实现高速写数据,所述未用块的分配将在本说明书后面讲述。第五实施方案
第五实施方案提出了一种解决文件分段存储问题的方法。按惯例,文件分段存储指的是将一个文件划分成多个文件片段,然后将这些片段不连续地存储在存储器中的处理。如果在一种记录介质,如一张光盘或一张磁盘上不连续地存储多个文件片段,那么需要查找大量盘片以读出非连续存储的文件片段,于是会加长读处理的时间。为了解决这种分段存储产生的问题,所述文件系统操作单元9将非连续存储的文件片段读出,再将它连续地存储在存储器中(消除分段存储)。如果完成上述处理,则无需执行任何磁盘搜索便能顺利地读出构成一个文件的那些文件片段,且能高速读出数据。这总结概括了多磁盘分段存储问题的解决方法。下面将考虑发生在所述半导体存储卡100中的分段存储。当从所述半导体存储卡100读出数据时,无需进行磁盘搜索,所以如果所述文件片段为非连续存储,那么由于该原因使处理过程加长是不可能的。
但是,虽然磁盘搜索不是问题,但分段存储仍会导致下述情况大幅增加,1.发送指令时发生的附加操作;2.读FAT时发生的高速缓存失误(两种情况将在下面做更详细的描述);因此读出一个文件所需的时间加长了。
1.发送指令时发生的附加操作
如果参照图27A~27B阐述能够更容易理解分段存储在发送指令时对附加操作方面带来的影响。图27A示例性说明了一种情况,其中将一个48KB的文件划分为3个16KB的文件片段并随机地存储在三个区域中。图27B示例性说明了一种情况:将一个48KB的文件存储在连续的存储区域中。在图27A和27B中,所述文件系统操作单元9向所述非易失存储器发出格式为‘读(地址,大小)’的读指令来执行读数据。这里,‘地址’代表读目标的逻辑地址,‘大小’代表要读出数据的大小。每次读指令所花的时间等于读出数据时间的和,该时间与所读数据的长度和发送该读指令所需的一定附加时间成比例。在图27A中所示的数据排列中,读出文件1必须发送三条读指令:‘读(0000,16KB)’,‘读(0002,16KB)’和‘读(0004,16KB)’。这意味着读出该文件所需的时间为36ms(=(8+4)×3)。另一方面,如果按图27B安排数据,则读出该文件全部48KB数据只需简单地发送一条读指令:‘读(0000,48KB)’即可。因此在本例中读出该文件所需的时间为28ms(=(8×3+4))。这样便能够看出发送指令时产生的附加操作与文件片段存储的随机程度成正比。
2.FAT高速缓存
FAT缓存是一种将安排在所述半导体存储卡100系统区中的FAT读入到所述访问装置200的内部存储器中的先行读操作,所述访问装置200允许通过访问其内部存储器来高速查询该FAT。如果所述访问装置200是一台具有小规模内部存储器的便携设备,则需经常高速缓存该FAT,并通过依次读取存储器中连续存储的FAT片段对该FAT进行高速缓存。但是,如果FAT已经分段存储,那么高速缓存该FAT将会把包含该FAT的片段和包含其它数据的片段两者按顺序读入所述内部存储器中。如果不读FAT片段而只将数据读入所述内部存储器,则将读入大量非高速缓存目标的数据,便会产生高速缓存失误。如果发生大量这种高速缓存失误,那么所述内部存储器的读入次数便会相应增加,进而延长读该FAT所需的时间。
尽管存在这两个问题,但为了解决所述半导体存储卡100中的分段存储问题而采用与解决磁盘中该问题相同的方法是不明智的。其原因是:若要修改存储在所述半导体存储卡块中的数据,则需要擦除已存储的数据,而且与在磁盘上执行同样操作所需的时间相比,该擦除需要更长的处理时间。在本实施方案中,推荐通过改变物理地址与逻辑地址之间的对应关系来作为防止分段存储时增加指令附加操作时间和产生高速缓存失误的对策。换言之,通过改变物理地址与逻辑地址之间的对应关系,使存储FAT片段的块能够用逻辑地址连续地表示,而无需改变其在存储器中的物理安排。
如图27A所示,当把一个48KB的文件划分为3个16KB的片段存储在3个独立的存储区中时,在这些块用逻辑地址连续指示的情况下,所述访问装置200能够读出存储在这三个区域(块)中的文件片段。而读操作是通过发出一条读指令以指明这些逻辑地址的第一条地址及该文件的长度(这里为48KB)来执行的。另外,如果将所述FAT划分为3个片段,并存储在三个存储区(块)中,那么,只要这些块的逻辑地址连续地指示,该访问装置200就能够将这些非连续存储的FAT片段依次读入所述内部存储器中。这里,通过发出依次将每个连续的逻辑地址指定为读目标的读指令来执行读操作。如执行这种处理,便不再发生高速缓存失误。所以,即使多个文件和FAT片段随机存储在多个区域中,由于能够为这些区域分配连续的逻辑地址,也就解决了发出读指令时所产生附加操作的问题,也能避免高速缓存失误的产生。
所述优先擦除控制单元29应用逻辑地址解决分段存储问题的操作将参照图28所示的流程图进行阐述。该阐述还将参照图29,该图表示所述流程图中变量t,u,v和y所对应的实际对象。在步骤S50,该优先擦除控制单元29为变量x和y赋初值(x←1,y←1)。这表示在第一个文件的第一片段处所完成的处理。接着,在步骤S51,该优先擦除控制单元29将对应于存储第x个文件第y个片段的块的逻辑地址s与对应于存储第x个文件第y+1个片段的块的逻辑地址t进行比较,以确定这些块是否相邻。如图29A所示,当第y个片段和第y+1个片段存储在不相邻的可擦块中、且顺序是y→y+1时,步骤S52为“是”,且所述优先擦除控制单元29转到步骤S54。
如图29B所示,当这些片段的存储顺序为y+1→y时,所述优先擦除控制单元29便转到步骤S53,并将物理地址u分配给逻辑地址t,而且将物理地址v分配给逻辑地址s。因此,在图29B中用箭头rv1和rv2示出这种将物理地址分配给逻辑地址的变化。接着,在步骤S54,所述优先擦除控制单元29判断存储第y个片段的可擦块逻辑地址与存储第y+1个片段的可擦块的逻辑地址是否连续。如图29C所示,如果所述存储第y+1个片段的可擦块紧接着存储第y个片段的可擦块,则关系式s+1=t成立,所以步骤S54为“是”,并将处理转到步骤S56。如果所述存储第y个片段与第y+1个片段的可擦块不相邻,则关系式s+1=t不成立,步骤S54为“否”,并将处理转到步骤S55。这里,如果对应于逻辑地址s+1的物理地址为w,则在步骤S55中将存储第y+1个片段的可擦块的物理地址v分配给逻辑地址s+1,并将物理地址w分配给逻辑地址t。如图29D,在存储第y个和第y+1个片段时,如果执行步骤S55的处理,则地址对应关系将如箭头rv3和rv4所示发生变化。
一旦完成上述处理,所述优先擦除控制单元29便在步骤S56作出判断:变量y是否为最终片段的编号。如果y不是最终编号,所述优先擦除控制单元29便在步骤S57将y加1,并将处理转到步骤S51。通过执行步骤S56的检验,对第x个文件的每个片段重复S51~S57的处理,并在步骤S57将y加1。
换言之,如果步骤S56为“是”,则所述优先擦除控制单元29在步骤58判断x是否为该文件最后编号,并且,如回答是“否”,则转到步骤S59,将变量X加1(x←x+1),并在步骤S60为变量y赋初值。因此,通过执行步骤S58的检验,对所有文件重复执行步骤S51~S57的处理,并在步骤S59对变量y加1。
本实施方案提出的对分段存储所产生问题的解决方法将参照图30所示的实例进行阐述。在图30A所示的初始状态中,组成文件1的片段文件1-1/3,1-2/3和1-3/3存储在对应逻辑地址0000,0001和0004的可擦块中。另外,组成文件2的片段文件2-1/4,2-2/4,2-3/4和2-4/4存储在对应逻辑地址0002,0003,0005和0006的可擦块中。
存储片段文件2-1/4的可擦块的对应地址(逻辑地址0002)接着存储片段文件1-2/3的逻辑地址0001,并且存储片段文件1-3/3的可擦块对应的逻辑地址为0004。
如果将图28流程图的处理方法应用于该图的实施例,则片段文件1-1/3和片段文件1-2/3分别对应于逻辑地址0000和0001,这样,这些片段的安排顺序便与相应逻辑地址的顺序相同,且不用互换其对应关系。但是,如果注意到片段文件1-2/3和1-3/3之间的关系,则可以看出:当存储片段文件1-2/3的可擦块对应于逻辑地址0001时,对应于下一个逻辑地址0002的可擦块将是文件2-1/4。因此,步骤S54为“否”,且处理转到步骤S55。于是,在步骤S55,存储片段文件1-1/3的可擦块其逻辑地址和物理地址之间的对应关系将与存储片段文件2-1/4的可擦块其逻辑地址和物理地址之间的对应关系进行互换。因此,片段文件1-2/3和1-3/3便能用连续的逻辑地址表示,于是将逻辑地址0004分配给存储片段文件2-1/4的可擦块的物理地址0002,反过来,将逻辑地址0002分配给存储片段文件1-3/3的可擦块的物理地址0004、。这样变化之后,物理地址与逻辑地址之间的对应关系如图30B所示。一旦完成了对片段文件1-3/3的处理,便执行对片段文件2-2/4的处理。在图30B中,片段文件2-1/4和2-2/4之间的关系为:片段文件2-1/4存储在对应逻辑地址0004的可擦块中,其下一片段文件2-2/4存储在对应逻辑地址0003的可擦块中。这样,附加在这些片段上的逻辑地址应按逆序排列。所以,步骤S52为“否”,且处理转到步骤S53,在这里将对应于片段文件2-1/4和文件2-2/4的地址顺序互换。这里,将对应于存储片段文件2-1/4的可擦块的物理地址0002分配给逻辑地址0003,并将对应于存储片段文件2-2/4的可擦块的物理地址0003分配给逻辑地址0004。这样处理的结果是:组成文件1和文件2的文件片段均用连续的逻辑地址指示。
在本实施方案中,即使文件片段存储在不连续的存储区中,也能为这些存储区分配连续的逻辑地址,这样便减少了在发出读指令时所产生的附加操作以及在高速缓存FAT和文件时所产生的高速缓存失误。第六实施方案
第六实施方案阐述了一种改进方法,该方法应用于用分发业务在所述非易失存储器中记录不同内容,以及在便携式重放设备上重现所记录的这些内容。在该情形下,具有诸如音乐、图像、游戏和文本等多种属性的文件将被存储在所述半导体存储卡100中。如果根据文件类型,文件区在是否可读或可编辑方面是有所差别的,那么所述访问装置200中的文件系统操作单元9就需要在执行读或编辑之前对该文件的内容进行核对。如果每次读或编辑文件时均需要进行这种核对,那么由该文件系统操作单元9执行的处理就会变得复杂。因此,在数字通用盘(DVD)中使用通用盘格式(UDF)为每个文件设置一种扩充属性,这样,无需查看该文件的内容便能够瞬间识别出文件中所存数据的类型。
图31所示为一种扩充属性的实施例。图中所示的该属性是根据所述UDF中的实施用途扩充属性而形成的一种新类型的扩充属性。该扩充属性包括:属性类型2000,属性子类型2010,预留区2020,属性长度2030,实施用途长度2040,实施标识符2050(与所述UDF中实施用途扩充属性的字段相同,所以这里略去更详细的说明)以及实施用途2060。所述实施用途2060包括:一个为所述扩充属性的标题部分存储检验和的标题检验和2061,一个存储文件名的名称2063和一个存储文件属性的特征位2062。将所述特征位2062的每一位设置成‘0’或‘1’来表示文件属性。该特征位2062的第一位表示该对应文件是否为文本文件,第二位表示该对应文件是否为图像文件,第三位以上的区域为预留区。
如果该扩充属性存储在所述半导体存储卡100中,有一个困难是明显的。即如前所述,该半导体存储卡100的卷管理信息服从ISO/IEC9293标准提出的数据格式,因此没有规定为每个文件给定一种扩充属性。
在本实施方案中,所述扩充属性存储在保护区和备份区至少一个区域中。由于在第二实施方案中已经阐述过所述保护区,因此在这里略去进一步的阐述。所述备份区独立于所述用户区中常规区的管理。当所述非易失存储器的用户区中出现坏扇区时,分配变换单元24便从所述备份区中选出一个扇区取代该坏扇区。图32所示为含有坏扇区的半导体存储卡100的内部结构。通过在所述保护区或备份区中存储不能在FAT文件系统中定义的新扩充属性,便能够为每个文件设置这种属性。而且,由于通常用户所用的用户区和用户数据区使用的是与新设置的扩充属性完全无关的普通文件系统,所以该系统与其它系统兼容。另外,由于所述访问装置200只需要执行每种文件类型所必需的操作,所以该访问装置200执行的操作更少,因而能够减少访问装置200的存储器尺寸。而且,由于仅借助于所述扩充属性信息而不必借助于该文件的内容便能判断出每个文件的文件类型,因而能够实现高速操作。第七实施方案
本实施方案提出将FAT文件系统中的文件设置为禁止写和禁止读,以进一步加强文件的保护。在通常的FAT文件系统中,能够在文件登记项中对独立文件的属性设置为写禁止和读禁止。当所述访问装置200与所述半导体存储卡100相连时,所述文件系统操作单元9便将卷管理信息读出并保存,并借助于特定文件的文件属性来判断是否能对该文件进行读或写。如果所述访问装置200中的应用程序8通过所述文件系统操作单元9对半导体存储卡100进行访问,那么所述文件登记项中的属性有效。但是,如果该应用程序8对所述半导体存储卡100的访问是跳过所述文件系统操作单元9,并通过向该半导体存储卡100发出直接写或读指令来执行写或读,那么在所述文件登记项中设置的任何写禁止或读禁止属性将没有意义。这里,该实施方案提出如图33所示构造所述半导体存储卡100,这样,即使所述应用程序8直接访问该半导体存储卡100,写禁止和读禁止也将有效。图33所示为第七实施方案中的半导体存储卡100的内部结构。该图的特点是所述非易失存储器1具有包含了块属性表的备份区。
所述块属性表由对应于所述卷区中可擦块的登记项组成。如果一个登记项设置为‘1’,则对应的块为写禁止。并且,如果一个登记项设置为‘2’,则对应的块为读禁止。在第五实施方案中阐述的文件系统操作单元9和访问控制单元2除了根据文件登记项进行操作外还根据块属性表执行操作。如果所述应用程序8命令该文件系统操作单元9打开已设置属性的文件,那么该文件系统操作单元9便在对应该文件的文件登记项中设置该属性。例如,如果所述应用程序8已收到指令将某一文件设置为写禁止,则将相应文件登记项的属性设置为写禁止。如果该应用程序8已收到指令将文件设置为读禁止,则将相应文件登记项的属性设置为读禁止。如果该应用程序8已收到指令设置隐藏属性,则所述文件系统操作单元9在相应文件登记项中设置读禁止属性。
如果用这种方式在文件登记项中设置文件属性,所述文件系统操作单元9则将文件划分成簇大小的片段,并在所述用户区的多个簇中记录这些片段。在所述簇中记录这些文件片段后,所述文件系统操作单元9在所述块属性表中的对应于每个存储该文件的可擦块的登记项中设置所述的文件属性。如果禁止对该文件执行写操作,那么所述文件系统操作单元9便在与存储该文件片段的每个簇相对应的登记项中设置写禁止属性,如果该文件属性是读禁止,则在与存储该文件片段的每个簇相对应的登记项中设置读禁止属性。如果该文件属性为隐藏,则所述文件系统操作单元9在与存储该文件片段的每个簇相对应的登记项中设置读禁止属性。
如果用这种方法在所述用户区中记录该文件,则根据所述块属性表中示出的属性对块进行读或写数据。换言之,如果所述访问装置200发出读指令,所述读控制单元23则查阅对应于该目标地址的块属性表中的登记项。如果该登记项表示允许读,则读控制单元23从该读目标地址所指示的块中将数据读出,否则,如果该登记项指示禁止读,则不从该读目标地址所指示的块中读出数据。
如果所述访问装置200发出写指令,则所述写控制单元25或修改控制单元27查阅块属性表中对应该写目标地址的登记项。如果该登记项指示允许写,所述写控制单元25或修改控制单元27则将数据写入该写目标地址指示的块中,并且,如果该登记项指示禁止写,则不把数据写入该写目标地址所指示的块中。
这种写和读控制既能在所述应用程序8发出写或读指令时经所述文件系统操作单元9执行,也能在所述应用程序8跳过该文件系统操作单元9直接发出写或读指令时执行。所以不管所述访问装置200发出的指令是否经过该文件系统操作单元9,都能限制块的读和写。本实施方案中的文件系统操作单元9将参照图34中的实施例进行阐述。在图34A中,文件1所包含的数据存储在地址为0000、0002和0003的可擦块中,文件2所含数据存储在地址为0001和0004的可擦块中,文件3包含的数据存储在地址为0005的可擦块中,而文件4所包含的数据存储在地址为0006的可擦块中。图34B示出了存储文件1时的状态,该文件已经设置了写禁止属性。在块属性表中,与存储文件1片段的块(地址为0000,0002和0003)相对应的登记项设置为‘1’,表示写禁止属性。如果用这种方法设置所述的块属性表,那么所述写控制单元25将拒绝在地址为0000,0002和0003的块上执行写操作指令。
图34C所示为在所述非易失存储器1中存储文件2时的状态,该文件已经设置了读禁止属性。在本例中,指示读禁止属性的特征位设置在所述块属性表内的对应于文件2的登记项中。然后,将该文件2划分为多个片段,并将这些片段存储在所述用户区的多个块中。
当在逻辑地址为0001和0004的块中存储文件2的文件片段时,所述块属性表中对应于这些块的登记项被设置为‘2’,指示读禁止属性。如果用这种方法设置所述块属性表,那么所述读控制单元23将拒绝执行从地址为0001和0004的块中读出数据的指令。
在上述实施方案中,能在所述半导体存储卡100中对应于每个块设置读禁止和写禁止属性,所以,即使所述应用程序8跳过所述文件系统操作单元9直接访问该半导体存储卡100,该半导体存储卡100也能防止对被禁止文件的访问。因此,通过用这种方法将存储文件的块设置读禁止和写禁止属性,能保证对该文件的保护,而且,如果该文件取得版权,那么还能实现版权保护。
在本实施方案中,所述表示写禁止属性的特征位用“1”表示,表示读禁止属性的特征位用“2”表示,但这些仅为示例,而且本发明不必受这种特征位的限制。此外,在本实施方案中,块属性表用于给所述非易失存储器1中的每个块附加读和写禁止属性,但是,如果要为每个单独块设置一种属性,也可以使用列表或类似的结构。在本实施方案中,所阐述的方法用于在所述非易失存储器1中将读和写禁止属性设置为块属性,但除了这些实施方案描述之外的信息也可以用作块属性。实施例包括了块管理,所以只有拥有固定特权的用户才能获得访问权;或者给每个块一个用户ID,只允许拥有该ID的用户才有访问权;或者为每个用户单独设置块访问权。在上述对文件系统的阐述中,使用了一种FAT文件系统,但使用诸如UDF或WindowsNTTM中所用的新技术文件系统(NTFS)或定制文件系统等其它常规文件系统也可获得相似的效果。此外,在这些实施方案中,一个可擦块所包含的扇区数为32,但这只是一个实施例,一个可擦块的扇区数可以比该数多或少。
工业应用性
如上所述,本发明中的半导体存储卡100延长了所述非易失存储器1的寿命。因此,当用这种半导体存储卡100记录通过数字音乐分发所获得的音乐内容时,即使重复地进行记录,也即先擦除这些音乐内容,然后再频繁地记录其它的音乐内容,也不会缩短该非易失存储器1的寿命。所以,一块单独的半导体存储卡100能够用来反复记录经数字音乐分发而获得的音乐内容。

Claims (25)

1.一种对半导体存储卡执行文件访问的访问装置,所述半导体存储卡具有一个由多个扇区组成的存储区,所述访问装置则通过将每组2j(j为0或正整数)个扇区中的数据作为一个簇进行管理,以及将一个或多个簇作为一个文件进行管理来执行所述的访问,所述存储区内的每组2i个连续扇区组成一个块(i为0或正整数),块是能够执行数据擦除的最小单位,该访问装置包括:
计算单元,可被操作用于根据所述存储区内要管理的簇的数量来计算卷管理信息的大小,所述卷管理信息包括一个文件分配表,用于为每个文件指示对应该文件的各簇之间的链接;
预留单元,可被操作用来预留(1)一个用于记录所述卷管理信息的第一区域以及(2)一个用于记录用户数据的第二区域,所述第一区域所具有的数据长度大于所计算的卷管理信息,并且由m×2j(m是一个正整数)个扇区组成,而第二区域由接着第一区域的扇区组成;以及
记录单元,可被操作用来在所述第一区域里记录卷管理信息、在第二区域里记录用户数据、以及将这些卷管理信息和用户数据作为簇进行管理。
2.权利要求1的访问装置,其中:
除了所述文件分配表之外,所述卷管理信息还包括主引导记录、分区表、分区引导区信息和根目录登记项;而且
所述记录单元可被操作用来在所述第一区域的第一扇区里记录所述主引导记录和分区表,并在跳过预定数量的扇区后在后续的扇区里记录所述分区引导区信息、文件分配表和根目录登记项,以便使所述第一区域的结束与根目录登记项的结束相一致。
3.权利要求2的访问装置,其中:
所述计算单元可被操作用来通过将用于记录所述分区引导区信息、文件分配表和根目录登记项的扇区数相加而计算出其和SUM;
所述预留单元可被操作用来利用根据{公式1}计算出的m值而预留出第一区域,
{公式1}NOM+SUM=2j×m,
NOM为扇区数;而且
所述记录单元可被操作用来通过将扇区数NOM减1而计算出所述预定的扇区数。
4.权利要求3的访问装置,其中:
所述记录单元可被操作用来在记录所述卷管理信息的所述分区表中设置所述预定数量的扇区。
5.权利要求3的访问装置,其中:
所述文件分配表有多个登记项、与若干登记项相对应的若干簇,而且每条登记项表示了在同一文件中到其它簇的链接;
所述访问装置包括:
接收单元,可被操作用来接收在所述存储区内对扇区总数的设定;
所述计算单元包括:
第一计算单元,可被操作用来通过用所述扇区总数除以扇区数2j计算出总簇数,而且可被操作用来通过将所述总簇数乘以一条登记项的位长度计算出所述文件分配表的大小,以及
所述预留单元包括:
第二计算单元,可被操作用来通过将所述文件分配表的大小与分别构成所述分区表和根目录登记项的扇区数相加而计算出其和SUM,并将该和SUM代入{公式1}计算出m值。
6.权利要求5的访问装置,其中:
所述存储区包括:只有当与所述半导体存储卡相连的设备已得到授权验证时才能由该设备进行访问的保护区,和
不管所述相连设备的授权是否得到验证均能由该设备进行访问的用户数据区;
所述接收单元可被操作用来从所述访问设备之外的源中接收对分配给每个所述保护区和用户数据区的扇区数的设定;
所述第一计算单元可被操作用来根据所接收的设定为每个所述保护区和用户数据区计算文件分配表的大小;以及
所述第二计算单元可被操作用来分别通过将保护区大小和用户数据区大小中的每一个与构成所述分区引导区信息的扇区数及构成根目录登记项的扇区数相加,以便分别计算出该保护区和用户数据区的两个和SUM,再将这两个和SUM的每个值代入{公式1},分别计算出该保护区和用户数据区的m值。
7.权利要求2的访问装置,其中所述记录单元能执行:
(a)第一处理:将分成多个片段的用户数据在所述第二区域内记录为若干簇,每个片段被存储在该第二区域中的若干簇的一簇中:
(b)第二处理:在所述文件分配表中设置多个登记项,每个登记项指示簇之间的一个链接;以及
(c)第三处理:在所述根目录登记项中记录一个文件名和表示该文件第一簇位置的位置信息。
8.权利要求1的访问装置,其中:
所述预留单元可被操作用来除第一和第二区域之外在所述存储区内预留一块备份区;而且
当记录在所述第二区域中的用户数据作为具有扩充属性的文件进行管理时,所述记录单元可被操作用来在该备份区中记录表示扩充属性的属性信息。
9.权利要求1的访问装置,其中:
所述半导体存储卡还记录包含多条属性登记项的属性表,每条登记项对应于若干块之一;
记录在所述第二区域中的用户数据作为至少一个具有写禁止属性的文件进行管理;而且
所述记录单元可被操作用来为所述属性表中的如下登记项设置写禁止属性,即所述登记项对应于完全由与写禁止文件中的各簇相对应的扇区所构成的块。
10.权利要求1的访问装置,其中:
所述卷管理信息包括一个文件分配表;
所述文件分配表中对应于未使用簇的登记项被设置为第一值,而所述文件分配表中对应于已用簇的登记项被设置为非第一值的值;
所述半导体存储卡还保存有一个含有物理地址的已擦块列表,该物理地址指定了该存储区多个块中的已擦块;而且
该访问装置包括:
指定单元,它可被操作用来指定下述的块:(a)由簇中所有那些在所述文件分配表中设置为未用扇区组成的块;(b)在所述已擦块列表中未置为擦除的块;以及
擦除单元,它可被操作用来擦除指定的块。
11.权利要求1的访问装置,其中:
所述卷信息包括一个文件分配表;
所述文件分配表中对应于未使用簇的登记项被设置为第一值,而所述文件分配表中对应于已用簇的登记项被设置为非第一值的值;
所述半导体存储卡还保存有一个含有物理地址的已擦块表,该物理地址指定了该存储区多个块中的已擦块;而且
该访问装置包括:
指定单元,它可被操作用来指定下述的块:(a)由簇中所有那些在所述文件分配表中设置为未用扇区组成的块;(b)在所述已擦块表中未置为擦除的块;以及
擦除单元,它可被操作用来擦除指定的块。
12.权利要求1的访问装置,其中:
将所述用户数据划分为多个片段,每个片段存储在一个块中;
所述半导体存储卡包括一个对应表,表示存储一个片段的每个块所属的物理地址和逻辑地址之间的对应关系;而且
当该对应表指示出用于存储用户数据片段的多个块的多个物理地址对应着多个不连续的逻辑地址时,
该访问装置包括:
分配单元,可被操作用来将这些物理地址分配给一些连续的逻辑地址;
指令发送单元,可被操作用来通过向所述半导体存储卡发出读指令来将这些块中的用户数据片段读出,该读指令指定了这些连续逻辑地址的起始地址。
13.一种以计算机可读格式存储程序的记录介质,用于初始化计算机,以便通过将每组2j(j为0或正整数)个扇区上的数据作为一个簇进行管理,以及将一个或多个簇作为一个文件进行管理而在一个半导体存储卡上执行文件访问,所述半导体存储卡具有一个由多个扇区组成的存储区,在该存储区内,每组2i个连续扇区组成一个块(i为0或正整数),块是能够执行数据擦除的最小单位,该记录介质使计算机执行如下步骤:
计算步骤,根据所述存储区内要管理的簇的数量计算出卷管理信息的大小,所述卷管理信息包括一个文件分配表,用于为每个文件指示与该文件相对应的各簇之间的链接;
预留步骤,预留(1)一个用于记录卷管理信息的第一区域,以及(2)一个用于记录用户数据的第二区域,所述第一区域所具有的数据长度大于所计算的卷管理信息,并且由m×2j(m是一个正整数)个扇区组成,而所述第二区域由接着第一区域的扇区组成;以及
记录步骤,在第一区域里记录卷管理信息,在第二区域里记录用户数据,并将这些卷管理信息和用户数据作为簇进行管理。
14.权利要求13的记录介质,其中:
除了所述文件分配表之外,所述卷管理信息还包括主引导记录、分区表、分区引导区信息、根目录登记项;而且
所述记录步骤在所述第一区域的第一扇区里记录所述主引导记录和分区表,并在跳过预定数量的扇区后在后续的扇区里记录所述分区引导区信息、文件分配表和根目录登记项,以便使所述第一区域的结束与根目录登记项的结束相一致。
15.权利要求14的记录介质,其中:
所述计算步骤通过将用于记录所述分区引导区信息、文件分配表和根目录登记项的扇区数相加而计算出其和SUM;
所述预留步骤通过根据{公式1}计算出的m值而预留出第一区域
{公式1}NOM+SUM=2j×m,
NOM为扇区数;而且
所述记录步骤通过将扇区数NOM减1而计算出所述预定的扇区数。
16.权利要求15的记录介质,其中:
当记录所述卷管理信息时,所述记录步骤在所述分区表中设置所述预定数量的扇区数。
17.权利要求15的记录介质,其中:
所述文件分配表有多个登记项、与若干簇相对应的若干登记项,而且每条登记项表示了在同一文件中到其它簇的链接;
所述程序包括以下步骤:
接收步骤,用于接收在所述存储区内对扇区总数的设定;
所述计算步骤包括:
第一计算步骤,通过用所述扇区总数除以扇区数2j计算出总簇数,而且通过将所述总簇数乘以一条登记项的位长度计算出所述文件分配表的大小,以及
所述预留步骤包括:
第二计算步骤,通过将所述文件分配表的大小与分别构成所述分区表和根目录登记项的扇区数相加而计算出其和SUM,并将该和SUM代入{公式1}计算出m值。
18.权利要求17的记录介质,其中:
所述存储区包括:只有当与所述半导体存储卡相连的设备已得到授权验证时才能由该设备进行访问的保护区,和
不管所述相连设备的授权是否得到验证均能由该设备进行访问的用户数据区;
所述接收步骤从所述访问设备之外的源中接收对分配给每个所述保护区和用户数据区的扇区数的设定;
所述第一计算步骤根据所接收的设定为每个所述保护区和用户数据区计算文件分配表的大小;以及
所述第二计算步骤:(1)分别通过将保护区大小和用户数据区大小中的每一个与构成所述分区引导区信息的扇区数及构成根目录登记项的扇区数相加,以便分别计算出该保护区和用户数据区的两个和SUM,(2)将所述两个和中的每个SUM值代入{公式1},分别计算出该保护区和用户数据区的m值。
19.一种初始化计算机的初始化方法,用于通过将每组2j(j为0或正整数)个扇区上的数据作为一个簇进行管理,以及将一个或多个簇作为一个文件进行管理而在半导体存储卡上执行文件访问,所述半导体存储卡具有一个由多个扇区组成存储区,该存储区内每组2i个连续扇区组成一个块(i为0或正整数),块是能够执行数据擦除的最小单位,该初始化方法包括以下步骤:
计算步骤,根据所述存储区内要处理的簇的数量计算出卷管理信息的大小,所述卷管理信息包括一个文件分配表,用于为每个文件指示与该文件对相应的各簇之间的链接;
预留步骤,预留(1)一个用于记录卷管理信息的第一区域,以及(2)一个用于记录用户数据的第二区域,所述第一区域所具有的数据长度大于所计算的卷管理信息,并且由m×2j(m是一个正整数)个扇区组成,而所述第二区域由接着第一区域的扇区组成;以及
记录步骤,在第一区域里记录卷管理信息,在第二区域里记录用户数据,并将这些卷管理信息和用户数据作为簇进行管理。
20.一种半导体存储卡,包含一个由多个扇区组成的存储区,并将每组2j(j为0或正整数)个扇区上的数据作为一个簇进行管理,以及将一个或多个簇作为一个文件进行管理,该存储区内每组2i个连续扇区组成一个块(i为0或正整数),块是能够执行数据擦除的最小单位,该半导体存储卡包括:
第一区域,由m×2j(m是一个正整数)个扇区组成,用于记录卷管理信息;以及
第二区域,由接着第一区域的扇区组成,用于记录用户数据;
所述卷管理信息包括一个文件分配表,用于为每个文件指示与该文件对相应的各簇之间的链接。
21.权利要求20的半导体存储卡,其中:
除了所述文件分配表之外,所述卷管理信息还包括主引导记录、分区表、分区引导区信息、根目录登记项;而且
在所述第一区域的第一扇区里记录所述主引导记录和分区表,跳过预定数量的扇区后,在后续的扇区里记录所述分区引导区信息、文件分配表和根目录登记项,以便使所述第一区域的结束与根目录登记项的结束相一致。
22.权利要求20的半导体存储卡还记录了包含多条属性登记项的属性表,每条登记项对应于若干块之一;
在所述第二区域中记录的用户数据作为至少一个具有写禁止属性的文件进行管理;而且
所述记录单元可被操作用来为所述属性表中的如下登记项设置写禁止属性,即所述登记项对应于完全由与写禁止文件中的各簇相对应的扇区所构成的块。
23.一种含有存储区的半导体存储卡,该存储区包括:(1)保护区,只能由与所述半导体存储卡相连的、且其授权已得到验证的设备进行访问,以及(2)用户数据区,不管所述相连设备的授权是否得到验证,均能由该设备进行访问,该保护区和用户数据区均包括多个扇区,而且将每组2j(j为0或正整数)个扇区上的数据作为一个簇进行管理,并将一个或多个簇作为一个文件进行管理,每组2i个连续扇区组成一个块(i为0或正整数),块是能够执行数据擦除的最小单位,而且所述保护区和用户数据区中的至少一个包括:
第一区域,由m×2j(m是一个正整数)个扇区组成,用于记录卷管理信息;以及
第二区域,由接着第一区域的扇区组成,用于记录用户数据;
所述卷管理信息包括一个文件分配表,用于为每个文件指示与该文件对相应的各簇之间的链接。
24.权利要求23的半导体存储卡,其中:
除了所述文件分配表之外,所述卷管理信息还包括主引导记录、分区表、分区引导区信息和根目录登记项;而且
在所述第一区域的第一扇区里记录所述主引导记录和分区表,跳过预定数量的扇区后,在后续的扇区里记录所述分区引导区信息、文件分配表和根目录登记项,以便使所述第一区域的结束与根目录登记项的结束相一致。
25.权利要求23的半导体存储卡,还记录了包含多条属性登记项的属性表,每条登记项对应于若干块之一;
在所述第二区域中记录的用户数据作为至少一个具有写禁止属性的文件进行管理;而且
所述记录单元可被操作用来为所述属性表中的如下登记项设置写禁止属性,即所述登记项对应于完全由与写禁止文件中的各簇相对应的扇区所构成的块。
CNB008040729A 1999-10-21 2000-10-19 半导体存储卡的访问装置、计算机可读记录介质、初始化方法和半导体存储卡 Expired - Lifetime CN1203395C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP299636/99 1999-10-21
JP29963699 1999-10-21
JP299636/1999 1999-10-21

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100558131A Division CN100442393C (zh) 1999-10-21 2000-10-19 半导体存储卡的访问装置、初始化方法和半导体存储卡

Publications (2)

Publication Number Publication Date
CN1341237A true CN1341237A (zh) 2002-03-20
CN1203395C CN1203395C (zh) 2005-05-25

Family

ID=17875164

Family Applications (2)

Application Number Title Priority Date Filing Date
CNB2005100558131A Expired - Lifetime CN100442393C (zh) 1999-10-21 2000-10-19 半导体存储卡的访问装置、初始化方法和半导体存储卡
CNB008040729A Expired - Lifetime CN1203395C (zh) 1999-10-21 2000-10-19 半导体存储卡的访问装置、计算机可读记录介质、初始化方法和半导体存储卡

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CNB2005100558131A Expired - Lifetime CN100442393C (zh) 1999-10-21 2000-10-19 半导体存储卡的访问装置、初始化方法和半导体存储卡

Country Status (10)

Country Link
US (14) US6611907B1 (zh)
EP (2) EP1498810B1 (zh)
JP (1) JP3954790B2 (zh)
CN (2) CN100442393C (zh)
BR (1) BR0007239B1 (zh)
CA (1) CA2355082C (zh)
DE (1) DE60017870T2 (zh)
MY (1) MY123682A (zh)
RU (1) RU2257609C2 (zh)
WO (1) WO2001029670A2 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1297900C (zh) * 2002-04-15 2007-01-31 索尼公司 数据存储设备、主机设备、数据记录系统及数据管理方法
CN1307555C (zh) * 2002-04-15 2007-03-28 索尼公司 数据存储装置
CN100422921C (zh) * 2004-06-16 2008-10-01 索尼株式会社 存储设备
CN100459688C (zh) * 2004-11-19 2009-02-04 佳能株式会社 电子装置及其控制方法
CN1890645B (zh) * 2003-12-03 2010-09-08 松下电器产业株式会社 信息记录介质的数据处理装置以及数据记录方法
CN102289451A (zh) * 2011-06-17 2011-12-21 奇智软件(北京)有限公司 文件或文件夹查找方法和装置

Families Citing this family (190)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100566463B1 (ko) 1995-01-31 2006-03-31 가부시끼가이샤 히다치 세이사꾸쇼 반도체 메모리 장치
US7321783B2 (en) * 1997-04-25 2008-01-22 Minerva Industries, Inc. Mobile entertainment and communication device
US20040157612A1 (en) * 1997-04-25 2004-08-12 Minerva Industries, Inc. Mobile communication and stethoscope system
JP4079506B2 (ja) * 1997-08-08 2008-04-23 株式会社東芝 不揮発性半導体メモリシステムの制御方法
RU2257609C2 (ru) * 1999-10-21 2005-07-27 Мацусита Электрик Индастриал Ко., Лтд. Устройство доступа к полупроводниковой карте памяти, компьютерно-считываемый носитель записи, способ инициализации и полупроводниковая карта памяти
US6993130B1 (en) * 2000-02-04 2006-01-31 Xtec, Incorporated Methods and apparatus for mediametric data cryptoprocessing
JP2002268874A (ja) * 2001-03-07 2002-09-20 Toshiba Corp 乱数シード生成回路及びこれを備えたドライバ、並びに、sdメモリカードシステム
KR100859922B1 (ko) 2001-07-05 2008-09-23 마츠시타 덴끼 산교 가부시키가이샤 기록장치, 기록매체, 기록방법
JP4151246B2 (ja) 2001-08-22 2008-09-17 ソニー株式会社 情報配信端末,コンピュータプログラムおよび情報提供方法
TW516000B (en) * 2001-09-12 2003-01-01 Winbond Electronics Corp Method for security protection of digital processing device and apparatus thereof
GB2411499B (en) * 2001-09-28 2006-02-08 Lexar Media Inc Method of writing data to non-volatile memory
PL351779A1 (en) * 2002-01-18 2003-07-28 Advanced Digital Broadcast Ltd Apparatus for storing data and method of subdividing te data storage area
JP4082913B2 (ja) * 2002-02-07 2008-04-30 株式会社ルネサステクノロジ メモリシステム
US7206970B1 (en) * 2002-02-07 2007-04-17 Network Appliance, Inc. System and method for diagnostics execution and data capture in a storage system using nonvolatile memory
JP3970070B2 (ja) * 2002-03-20 2007-09-05 富士通株式会社 自動イレーズ機能を有する不揮発性メモリ回路
JP2003296177A (ja) 2002-04-03 2003-10-17 Sony Corp 記録装置および方法、記録媒体、並びにプログラム
KR20040097980A (ko) * 2002-04-05 2004-11-18 마츠시타 덴끼 산교 가부시키가이샤 기록매체
JP3866635B2 (ja) * 2002-08-26 2007-01-10 株式会社東芝 メモリカード及び記憶領域切り替え方法
WO2004036407A2 (en) * 2002-10-17 2004-04-29 Matsushita Electric Industrial Co., Ltd. File-update apparatus
AU2003267777A1 (en) * 2002-11-07 2004-06-07 Koninklijke Philips Electronics N.V. Method and device for persistent-memory management
US7213119B2 (en) * 2002-12-05 2007-05-01 Canon Kabushiki Kaisha Inhibiting access to a portable storage device
WO2004059651A2 (en) * 2002-12-27 2004-07-15 Solid State System Co., Ltd. Nonvolatile memory unit with specific cache
EP1593098B2 (en) 2003-01-31 2010-09-15 Panasonic Corporation Semiconductor memory card, and program for controlling the same
US7303135B2 (en) 2003-02-04 2007-12-04 Matsushita Electric Industrial Co., Ltd. Semiconductor memory card and computer readable program
KR101149593B1 (ko) * 2003-06-19 2012-05-30 코닌클리케 필립스 일렉트로닉스 엔.브이. 범용 저장 장치를 위한 유연성 있는 포맷팅
EP1498841B1 (fr) * 2003-07-14 2010-03-24 EM Microelectronic-Marin SA Circuit transpondeur multi-applications et procédé de gestion de la mémoire d'un tel circuit transpondeur
US7941554B2 (en) 2003-08-01 2011-05-10 Microsoft Corporation Sparse caching for streaming media
US20050027954A1 (en) * 2003-08-01 2005-02-03 Rothman Michael A. Method and apparatus to support the maintenance and reduction of FLASH utilization as it pertains to unused or infrequently referenced FLASH data
US7882510B2 (en) * 2003-08-06 2011-02-01 Microsoft Corporation Demultiplexer application programming interface
EP1686482B1 (en) 2003-11-18 2013-03-06 Panasonic Corporation File recording device
EP1538507A1 (fr) * 2003-12-02 2005-06-08 Axalto S.A. Procédé de contrôle d'acces dans une memoire flash et systeme pour la mise en oeuvre d'un tel procédé
US20050152251A1 (en) * 2004-01-08 2005-07-14 Victor Company Of Japan, Ltd. Method and apparatus for recording check data of file system on recording medium
JP2005222201A (ja) * 2004-02-04 2005-08-18 Matsushita Electric Ind Co Ltd メモリアクセス装置、及び半導体メモリカード
US20050182822A1 (en) * 2004-02-17 2005-08-18 Daniel Stuart W. Imaging device with memory device interface
WO2005081891A2 (en) * 2004-02-23 2005-09-09 Lexar Media, Inc. Secure compact flash
KR100648243B1 (ko) * 2004-03-19 2006-11-24 삼성전자주식회사 낸드 플래시 메모리를 사용하는 메모리 카드
US20050257017A1 (en) * 2004-05-14 2005-11-17 Hideki Yagi Method and apparatus to erase hidden memory in a memory card
JP4661086B2 (ja) * 2004-05-24 2011-03-30 パナソニック株式会社 不揮発性記憶装置および不揮発性メモリの消去方法と書込み方法
SE527843C2 (sv) * 2004-06-03 2006-06-20 Roxtec Ab Brandskydd för kabelgenomföringar
JP4157501B2 (ja) * 2004-06-30 2008-10-01 株式会社東芝 記憶装置
JP2006023854A (ja) * 2004-07-06 2006-01-26 Sharp Corp 情報処理装置、記憶装置、記憶制御装置及びプログラム
JP2006023957A (ja) * 2004-07-07 2006-01-26 Sony Corp 半導体集積回路及び情報処理装置
US8607016B2 (en) * 2004-07-21 2013-12-10 Sandisk Technologies Inc. FAT analysis for optimized sequential cluster management
US6967869B1 (en) * 2004-07-22 2005-11-22 Cypress Semiconductor Corp. Method and device to improve USB flash write performance
JP4667014B2 (ja) * 2004-11-18 2011-04-06 キヤノン株式会社 記憶管理装置及びその制御方法
US8321439B2 (en) 2004-12-17 2012-11-27 Microsoft Corporation Quick filename lookup using name hash
US7873596B2 (en) 2006-05-23 2011-01-18 Microsoft Corporation Extending cluster allocations in an extensible file system
US8606830B2 (en) 2004-12-17 2013-12-10 Microsoft Corporation Contiguous file allocation in an extensible file system
US9639554B2 (en) 2004-12-17 2017-05-02 Microsoft Technology Licensing, Llc Extensible file system
EP2278518B1 (en) * 2004-12-21 2012-03-14 SanDisk Corporation Memory system with in-stream data encryption/decryption
US20070180539A1 (en) 2004-12-21 2007-08-02 Michael Holtzman Memory system with in stream data encryption / decryption
US8504849B2 (en) 2004-12-21 2013-08-06 Sandisk Technologies Inc. Method for versatile content control
US8601283B2 (en) 2004-12-21 2013-12-03 Sandisk Technologies Inc. Method for versatile content control with partitioning
US8051052B2 (en) * 2004-12-21 2011-11-01 Sandisk Technologies Inc. Method for creating control structure for versatile content control
US20060242067A1 (en) * 2004-12-21 2006-10-26 Fabrice Jogand-Coulomb System for creating control structure for versatile content control
US20060242151A1 (en) * 2004-12-21 2006-10-26 Fabrice Jogand-Coulomb Control structure for versatile content control
US20060239450A1 (en) * 2004-12-21 2006-10-26 Michael Holtzman In stream data encryption / decryption and error correction method
US20060242150A1 (en) * 2004-12-21 2006-10-26 Fabrice Jogand-Coulomb Method using control structure for versatile content control
US8396208B2 (en) * 2004-12-21 2013-03-12 Sandisk Technologies Inc. Memory system with in stream data encryption/decryption and error correction
US20060242066A1 (en) * 2004-12-21 2006-10-26 Fabrice Jogand-Coulomb Versatile content control with partitioning
WO2006068190A1 (ja) * 2004-12-22 2006-06-29 Matsushita Electric Industrial Co., Ltd. 電子機器、フォーマット判別システム、フォーマット判別方法
US7823214B2 (en) * 2005-01-07 2010-10-26 Apple Inc. Accessory authentication for electronic devices
US8423788B2 (en) 2005-02-07 2013-04-16 Sandisk Technologies Inc. Secure memory card with life cycle phases
US8321686B2 (en) 2005-02-07 2012-11-27 Sandisk Technologies Inc. Secure memory card with life cycle phases
US8108691B2 (en) 2005-02-07 2012-01-31 Sandisk Technologies Inc. Methods used in a secure memory card with life cycle phases
US20060200414A1 (en) * 2005-02-14 2006-09-07 Roberts Henry A Jr Methods of copy protecting software stored on portable memory
US8724740B2 (en) 2005-03-11 2014-05-13 Qualcomm Incorporated Systems and methods for reducing uplink resources to provide channel performance feedback for adjustment of downlink MIMO channel data rates
US8995547B2 (en) 2005-03-11 2015-03-31 Qualcomm Incorporated Systems and methods for reducing uplink resources to provide channel performance feedback for adjustment of downlink MIMO channel data rates
JP5318177B2 (ja) * 2005-03-31 2013-10-16 キヤノン株式会社 画像処理装置、画像処理装置の制御方法及びコンピュータプログラム
US7418531B2 (en) * 2005-05-04 2008-08-26 Pillar Data Systems, Inc. Quality of service for data storage volumes
JP4709583B2 (ja) * 2005-05-31 2011-06-22 株式会社東芝 データ送信装置およびデータ送信方法
US7748031B2 (en) 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
JP4781027B2 (ja) * 2005-07-15 2011-09-28 パナソニック株式会社 データ記録制御方法及びデータ記録システム
US8051268B2 (en) * 2005-07-29 2011-11-01 Panasonic Corporation Memory controller, nonvolatile storage device, nonvolatile storage system, and nonvolatile memory address management method
KR100739722B1 (ko) * 2005-08-20 2007-07-13 삼성전자주식회사 플래시 메모리 관리 방법 및 플래시 메모리 시스템
US8073068B2 (en) 2005-08-22 2011-12-06 Qualcomm Incorporated Selective virtual antenna transmission
US20070041457A1 (en) 2005-08-22 2007-02-22 Tamer Kadous Method and apparatus for providing antenna diversity in a wireless communication system
US20070061597A1 (en) 2005-09-14 2007-03-15 Micky Holtzman Secure yet flexible system architecture for secure devices with flash mass storage memory
US7536540B2 (en) 2005-09-14 2009-05-19 Sandisk Corporation Method of hardware driver integrity check of memory card controller firmware
JP4808016B2 (ja) * 2005-12-20 2011-11-02 日立オートモティブシステムズ株式会社 マイクロコンピュータの初期化装置および車載用制御装置
US7752391B2 (en) * 2006-01-20 2010-07-06 Apple Inc. Variable caching policy system and method
US7702935B2 (en) * 2006-01-25 2010-04-20 Apple Inc. Reporting flash memory operating voltages
US20070174641A1 (en) * 2006-01-25 2007-07-26 Cornwell Michael J Adjusting power supplies for data storage devices
US7861122B2 (en) * 2006-01-27 2010-12-28 Apple Inc. Monitoring health of non-volatile memory
US20070180186A1 (en) * 2006-01-27 2007-08-02 Cornwell Michael J Non-volatile memory management
US7426606B2 (en) * 2006-03-31 2008-09-16 Intel Corporation Method, apparatus and system for reverting FAT cluster number to file ID and offset of non-FAT flash file system
US7835518B2 (en) * 2006-04-03 2010-11-16 Sandisk Corporation System and method for write failure recovery
US20070230690A1 (en) * 2006-04-03 2007-10-04 Reuven Elhamias System for write failure recovery
JP4229140B2 (ja) * 2006-06-16 2009-02-25 ソニー株式会社 集積回路チップ、データ読み出し方法、データ書き込み方法、icカード、および携帯電話機
JP2008009933A (ja) * 2006-06-30 2008-01-17 Toshiba Corp 記憶装置とその制御方法
US8245031B2 (en) * 2006-07-07 2012-08-14 Sandisk Technologies Inc. Content control method using certificate revocation lists
US20080022395A1 (en) * 2006-07-07 2008-01-24 Michael Holtzman System for Controlling Information Supplied From Memory Device
US8639939B2 (en) 2006-07-07 2014-01-28 Sandisk Technologies Inc. Control method using identity objects
US20080010458A1 (en) * 2006-07-07 2008-01-10 Michael Holtzman Control System Using Identity Objects
US8140843B2 (en) 2006-07-07 2012-03-20 Sandisk Technologies Inc. Content control method using certificate chains
US20080034440A1 (en) * 2006-07-07 2008-02-07 Michael Holtzman Content Control System Using Versatile Control Structure
US8266711B2 (en) * 2006-07-07 2012-09-11 Sandisk Technologies Inc. Method for controlling information supplied from memory device
US8613103B2 (en) 2006-07-07 2013-12-17 Sandisk Technologies Inc. Content control method using versatile control structure
US20080010449A1 (en) * 2006-07-07 2008-01-10 Michael Holtzman Content Control System Using Certificate Chains
JP4651586B2 (ja) * 2006-07-11 2011-03-16 シャープ株式会社 録画再生装置
WO2008013228A1 (fr) * 2006-07-26 2008-01-31 Panasonic Corporation Contrôleur de mémoire, dispositif de stockage non-volatile, dispositif d'accès et système de stockage non-volatile
JP4955002B2 (ja) * 2006-08-04 2012-06-20 パナソニック株式会社 メモリコントローラ、不揮発性記憶装置、アクセス装置、及び不揮発性記憶システム
US8166231B2 (en) * 2006-08-08 2012-04-24 Panasonic Corporation Memory controller, nonvolatile memory device, access device, and nonvolatile memory system
RU2417527C2 (ru) 2006-09-06 2011-04-27 Квэлкомм Инкорпорейтед Перестановка кодовых слов и уменьшенная обратная связь для сгруппированных антенн
JP2008070929A (ja) * 2006-09-12 2008-03-27 Matsushita Electric Ind Co Ltd メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
JPWO2008032711A1 (ja) * 2006-09-13 2010-01-28 パナソニック株式会社 メモリコントローラ、不揮発性記憶装置、アクセス装置、及び不揮発性記憶システム
TWI325113B (en) * 2006-10-13 2010-05-21 Data security device and the method thereof
US7515500B2 (en) * 2006-12-20 2009-04-07 Nokia Corporation Memory device performance enhancement through pre-erase mechanism
US7818701B1 (en) * 2006-12-22 2010-10-19 Cypress Semiconductor Corporation Memory controller with variable zone size
US20080158388A1 (en) * 2006-12-27 2008-07-03 Tomi Lahcanski Removable storage device providing automatic launch capability in an image processing system
US8423794B2 (en) 2006-12-28 2013-04-16 Sandisk Technologies Inc. Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications
JP4991320B2 (ja) * 2007-01-12 2012-08-01 株式会社東芝 ホスト装置およびメモリシステム
JP4978224B2 (ja) * 2007-02-08 2012-07-18 カシオ計算機株式会社 光電変換装置及びそれを備えた表示パネル
KR101395778B1 (ko) 2007-03-14 2014-05-19 삼성전자주식회사 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법
US20080288712A1 (en) 2007-04-25 2008-11-20 Cornwell Michael J Accessing metadata with an external host
US7913032B1 (en) 2007-04-25 2011-03-22 Apple Inc. Initiating memory wear leveling
JP5121076B2 (ja) * 2007-08-10 2013-01-16 パナソニック株式会社 リムーバブルメディア、フォーマット装置、及びフォーマットシステム
KR20090031102A (ko) * 2007-09-21 2009-03-25 삼성전자주식회사 이동식 저장 장치의 포맷 방법 및 장치
US7870351B2 (en) * 2007-11-15 2011-01-11 Micron Technology, Inc. System, apparatus, and method for modifying the order of memory accesses
US8073884B2 (en) * 2007-12-20 2011-12-06 Hewlett-Packard Development Company, L.P. System and method to derive high level file system information by passively monitoring low level operations on a FAT file system
US20100318760A1 (en) * 2008-01-30 2010-12-16 Hirokazu So Memory controller, nonvolatile storage device, and nonvolatile storage system
JP5025009B2 (ja) * 2008-02-15 2012-09-12 株式会社東芝 認証方法、ホスト計算機及び記録媒体
US8019800B2 (en) * 2008-04-04 2011-09-13 Panasonic Corporation Access device, information recording device, information recording system, file management method, and program
US20090254729A1 (en) * 2008-04-07 2009-10-08 Skymedi Corporation Method of wear leveling for a non-volatile memory
CN101324862B (zh) * 2008-05-05 2010-06-02 青岛海信电器股份有限公司 闪存存储管理方法
US8074023B2 (en) * 2008-05-22 2011-12-06 Nuvoton Technology Corporation In-system programming to switch memory access from one area to another in memory cards
CN101630233B (zh) * 2008-07-17 2012-07-11 群联电子股份有限公司 用于闪存的数据存取方法、储存系统与控制器
TWI406175B (zh) * 2008-08-20 2013-08-21 Nuvoton Technology Corp 記憶卡以及用於記憶卡之方法
TWI476676B (zh) * 2008-09-29 2015-03-11 Sandisk Il Ltd 用於使用不同叢集尺寸的儲存裝置之檔案系統
US9020993B2 (en) 2008-12-16 2015-04-28 Sandisk Il Ltd. Download management of discardable files
US9104686B2 (en) 2008-12-16 2015-08-11 Sandisk Technologies Inc. System and method for host management of discardable objects
US8880776B2 (en) * 2008-12-16 2014-11-04 Sandisk Il Ltd. Data access at a storage device using cluster information
US9015209B2 (en) 2008-12-16 2015-04-21 Sandisk Il Ltd. Download management of discardable files
US9104618B2 (en) 2008-12-18 2015-08-11 Sandisk Technologies Inc. Managing access to an address range in a storage device
US8370603B2 (en) * 2008-12-23 2013-02-05 Apple Inc. Architecture for address mapping of managed non-volatile memory
TW201025002A (en) * 2008-12-26 2010-07-01 Asmedia Technology Inc Method of writing data into flash memory based on file system
US8205063B2 (en) * 2008-12-30 2012-06-19 Sandisk Technologies Inc. Dynamic mapping of logical ranges to write blocks
US8392687B2 (en) * 2009-01-21 2013-03-05 Micron Technology, Inc. Solid state memory formatting
US20100199060A1 (en) * 2009-02-04 2010-08-05 Panasonic Corporation Memory controller, nonvolatile memory module, access module, and nonvolatile memory system
US20100235473A1 (en) * 2009-03-10 2010-09-16 Sandisk Il Ltd. System and method of embedding second content in first content
US8321647B2 (en) 2009-05-06 2012-11-27 Apple Inc. Multipage preparation commands for non-volatile memory systems
US8438453B2 (en) 2009-05-06 2013-05-07 Apple Inc. Low latency read operation for managed non-volatile memory
US8495332B2 (en) * 2009-07-24 2013-07-23 Apple Inc. Controller for optimizing throughput of read operations
TWI498954B (zh) * 2009-08-21 2015-09-01 Sumco Corp 磊晶矽晶圓的製造方法
US8489907B2 (en) * 2009-09-16 2013-07-16 Apple Inc. Method of selective power cycling of components in a memory device independently by reducing power to a memory array or memory controller
US8838877B2 (en) * 2009-09-16 2014-09-16 Apple Inc. File system derived metadata for management of non-volatile memory
JP2011118623A (ja) * 2009-12-02 2011-06-16 Canon Inc データ同期装置
JP5558093B2 (ja) * 2009-12-25 2014-07-23 株式会社東芝 半導体装置及びメモリシステム
KR101467514B1 (ko) * 2010-05-14 2014-12-01 삼성전자 주식회사 사용자 응답 시간을 고려한 메모리 관리 장치 및 방법
JP5460486B2 (ja) * 2010-06-23 2014-04-02 インターナショナル・ビジネス・マシーンズ・コーポレーション データをソートする装置及び方法
US8463802B2 (en) * 2010-08-19 2013-06-11 Sandisk Il Ltd. Card-based management of discardable files
US8549229B2 (en) 2010-08-19 2013-10-01 Sandisk Il Ltd. Systems and methods for managing an upload of files in a shared cache storage system
US20120089765A1 (en) * 2010-10-07 2012-04-12 Huang Shih-Chia Method for performing automatic boundary alignment and related non-volatile memory device
JP2012084071A (ja) 2010-10-14 2012-04-26 Toshiba Corp デジタルコンテンツの保護方法、復号方法、再生装置、記憶媒体、暗号装置
US9222586B2 (en) * 2010-12-29 2015-12-29 Xiamen Solex High-Tech Industries Co., Ltd. Valve for switching waterways and adjusting flow
EP2492816A1 (en) * 2011-02-25 2012-08-29 Siemens Aktiengesellschaft Method for managing physical memory of a data storage and data storage management system
US8788849B2 (en) 2011-02-28 2014-07-22 Sandisk Technologies Inc. Method and apparatus for protecting cached streams
DE102011001430A1 (de) * 2011-03-21 2012-09-27 Wincor Nixdorf International Gmbh Verfahren zum Betreiben einer Geldkassette mit kundenspezifischen Schlüsseln
US9058212B2 (en) * 2011-03-21 2015-06-16 Microsoft Technology Licensing, Llc Combining memory pages having identical content
JP2012208584A (ja) * 2011-03-29 2012-10-25 Toshiba Corp 記憶装置およびプログラム
JP5077726B1 (ja) 2011-05-23 2012-11-21 Necインフロンティア株式会社 コンピュータ、その制御方法及びプログラム
CN102314490B (zh) * 2011-08-16 2013-07-10 晨星软件研发(深圳)有限公司 一种Linux FAT文件系统修复方法及装置
US8661527B2 (en) 2011-08-31 2014-02-25 Kabushiki Kaisha Toshiba Authenticator, authenticatee and authentication method
JP5275432B2 (ja) 2011-11-11 2013-08-28 株式会社東芝 ストレージメディア、ホスト装置、メモリ装置、及びシステム
JP5204291B1 (ja) 2011-12-02 2013-06-05 株式会社東芝 ホスト装置、装置、システム
JP5204290B1 (ja) * 2011-12-02 2013-06-05 株式会社東芝 ホスト装置、システム、及び装置
JP5112555B1 (ja) 2011-12-02 2013-01-09 株式会社東芝 メモリカード、ストレージメディア、及びコントローラ
JP5100884B1 (ja) 2011-12-02 2012-12-19 株式会社東芝 メモリ装置
JP5275482B2 (ja) 2012-01-16 2013-08-28 株式会社東芝 ストレージメディア、ホスト装置、メモリ装置、及びシステム
CN103246617B (zh) * 2012-02-07 2016-08-17 宇龙计算机通信科技(深圳)有限公司 移动终端和基于Android系统的数据保存方法
JP5687639B2 (ja) 2012-02-08 2015-03-18 株式会社東芝 コントローラ、データ記憶装置及びプログラム
US20140229657A1 (en) * 2013-02-08 2014-08-14 Microsoft Corporation Readdressing memory for non-volatile storage devices
US9201811B2 (en) 2013-02-14 2015-12-01 Kabushiki Kaisha Toshiba Device and authentication method therefor
US8984294B2 (en) 2013-02-15 2015-03-17 Kabushiki Kaisha Toshiba System of authenticating an individual memory device via reading data including prohibited data and readable data
US9336131B1 (en) * 2013-04-16 2016-05-10 Veritas Technologies, LLC Systems and methods for enabling virtual environments to mount non-native storage disks
US9678689B2 (en) 2013-05-29 2017-06-13 Microsoft Technology Licensing, Llc Storage systems and aliased memory
JP6213040B2 (ja) * 2013-08-19 2017-10-18 富士通株式会社 半導体記憶装置および半導体記憶装置の制御方法
JP6017392B2 (ja) * 2013-09-27 2016-11-02 株式会社東芝 情報処理装置、ホストデバイス、及びシステム
US9785547B2 (en) * 2014-02-13 2017-10-10 Hitachi, Ltd. Data management apparatus and method
KR102196971B1 (ko) 2014-03-28 2020-12-31 삼성전자주식회사 스토리지 시스템, 그것의 쓰기 방지 수행 방법, 그리고 그것의 쓰기 방지 인증 방법
US9984007B2 (en) 2014-03-28 2018-05-29 Samsung Electronics Co., Ltd. Storage system and method for performing and authenticating write-protection thereof
US10257192B2 (en) 2014-05-29 2019-04-09 Samsung Electronics Co., Ltd. Storage system and method for performing secure write protect thereof
TWI531963B (zh) * 2015-06-04 2016-05-01 Accelstor Inc Data storage systems and their specific instruction enforcement methods
CN105303208B (zh) * 2015-10-26 2019-01-25 新大陆数字技术股份有限公司 一种ic卡管理方法及系统
US20170220284A1 (en) * 2016-01-29 2017-08-03 Netapp, Inc. Block-level internal fragmentation reduction using a heuristic-based approach to allocate fine-grained blocks
TWI637264B (zh) * 2016-05-20 2018-10-01 慧榮科技股份有限公司 資料儲存裝置之資料頁對齊方法及其查找表的製作方法
US11054991B2 (en) * 2018-03-21 2021-07-06 Western Digital Technologies, Inc. Data storage system scale-out with local address remapping
CN110442301A (zh) * 2018-05-05 2019-11-12 南京橡东信息科技有限公司 一种用于内网安全的u盘分区的方法及装置
CN111045962B (zh) * 2019-12-18 2023-06-09 湖南国科微电子股份有限公司 一种sd卡数据保密方法、系统、设备及计算机介质
CN113253945B (zh) * 2021-07-08 2021-09-28 成都易我科技开发有限责任公司 磁盘卷变簇的方法、装置及电子设备

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0617363B1 (en) * 1989-04-13 2000-01-26 SanDisk Corporation Defective cell substitution in EEprom array
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
WO1993021579A1 (en) * 1992-04-21 1993-10-28 Storage Technology Corporation Method for managing data records in a cached data subsystem with non-volatile memory
JPH07219720A (ja) 1993-10-01 1995-08-18 Hitachi Maxell Ltd 半導体メモリ装置ならびにその制御方法
JPH07225727A (ja) * 1994-02-14 1995-08-22 Fujitsu Ltd 計算機システム
RU2103732C1 (ru) 1995-06-08 1998-01-27 Дьяков Юрий Александрович Устройство для выполнения платежей и услуг с помощью электронной карточки с документированием операций
US6125435A (en) 1995-09-13 2000-09-26 Lexar Media, Inc. Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory
US5867641A (en) * 1995-10-27 1999-02-02 Scm Microsystems (U.S.) Inc. Flash translation layer cleanup system and method
RU2094846C1 (ru) 1996-03-28 1997-10-27 Акционерное общество открытого типа Страховая компания "Росгал" Финансовая система безналичных платежей
JPH10124384A (ja) 1996-08-28 1998-05-15 Toshiba Corp 不揮発性半導体メモリの制御方法
US5845322A (en) * 1996-09-17 1998-12-01 Vlsi Technology, Inc. Modular scalable multi-processor architecture
US6182188B1 (en) * 1997-04-06 2001-01-30 Intel Corporation Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
JP3588231B2 (ja) * 1997-08-04 2004-11-10 東京エレクトロンデバイス株式会社 データ処理システム及びブロック消去型記憶媒体
JP4079506B2 (ja) 1997-08-08 2008-04-23 株式会社東芝 不揮発性半導体メモリシステムの制御方法
US6134581A (en) * 1997-10-06 2000-10-17 Sun Microsystems, Inc. Method and system for remotely browsing objects
US6295575B1 (en) * 1998-06-29 2001-09-25 Emc Corporation Configuring vectors of logical storage units for data storage partitioning and sharing
EP1120787A4 (en) * 1998-09-18 2008-08-27 Toshiba Kk INFORMATION RECORDING METHOD, INFORMATION RECORDING DEVICE, AND INFORMATION CARRIER
US6308264B1 (en) * 1998-09-30 2001-10-23 Phoenix Technologies Ltd. Dual use master boot record
US6278678B1 (en) * 1999-02-12 2001-08-21 Sony Corporation Editing apparatus, editing method, and recording medium
JP3389186B2 (ja) * 1999-04-27 2003-03-24 松下電器産業株式会社 半導体メモリカード及び読み出し装置
JP3417889B2 (ja) * 1999-09-20 2003-06-16 克彦 長岡 糞尿処理工程などで用いる台車走行装置
RU2257609C2 (ru) 1999-10-21 2005-07-27 Мацусита Электрик Индастриал Ко., Лтд. Устройство доступа к полупроводниковой карте памяти, компьютерно-считываемый носитель записи, способ инициализации и полупроводниковая карта памяти
US6426893B1 (en) * 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
JP2001307334A (ja) * 2000-04-21 2001-11-02 Toshiba Corp 情報記憶媒体、情報記録方法、及び情報再生方法
MXPA02011760A (es) * 2000-05-31 2003-04-10 Matsushita Electric Ind Co Ltd Medio de registro de informacion, metodo de registro de informacion, aparato de registro de informacion, metodo de reproduccion de informacion y aparato de reproduccion de informacion.
KR100859922B1 (ko) * 2001-07-05 2008-09-23 마츠시타 덴끼 산교 가부시키가이샤 기록장치, 기록매체, 기록방법
JP2003196142A (ja) * 2001-12-25 2003-07-11 Sony Corp ライトワンス型メモリ装置及びファイル管理方法
US7123556B2 (en) * 2002-01-22 2006-10-17 Matsushita Electric Industrial Co., Ltd. Multi-layered information recording medium with spare defect management areas
JP2005108304A (ja) * 2003-09-29 2005-04-21 Toshiba Corp 半導体記憶装置及びその制御方法
KR100527276B1 (ko) * 2004-06-04 2005-12-13 주식회사 르노소프트 시스템 변경 데이터를 시스템 영역 내에서 비선점적으로관리하는 컴퓨터 하드디스크 시스템 데이터 보호 장치 및그 방법
JP4991320B2 (ja) * 2007-01-12 2012-08-01 株式会社東芝 ホスト装置およびメモリシステム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1297900C (zh) * 2002-04-15 2007-01-31 索尼公司 数据存储设备、主机设备、数据记录系统及数据管理方法
CN1307555C (zh) * 2002-04-15 2007-03-28 索尼公司 数据存储装置
CN1890645B (zh) * 2003-12-03 2010-09-08 松下电器产业株式会社 信息记录介质的数据处理装置以及数据记录方法
CN100422921C (zh) * 2004-06-16 2008-10-01 索尼株式会社 存储设备
CN100459688C (zh) * 2004-11-19 2009-02-04 佳能株式会社 电子装置及其控制方法
CN102289451A (zh) * 2011-06-17 2011-12-21 奇智软件(北京)有限公司 文件或文件夹查找方法和装置

Also Published As

Publication number Publication date
US8015349B2 (en) 2011-09-06
US20070033335A1 (en) 2007-02-08
CN1203395C (zh) 2005-05-25
DE60017870T2 (de) 2005-06-23
CA2355082A1 (en) 2001-04-26
JP2001188701A (ja) 2001-07-10
US7398353B2 (en) 2008-07-08
EP1145126B1 (en) 2005-02-02
MY123682A (en) 2006-05-31
US6829674B2 (en) 2004-12-07
US7734864B2 (en) 2010-06-08
US20110283076A1 (en) 2011-11-17
US6823422B2 (en) 2004-11-23
US20030196028A1 (en) 2003-10-16
EP1498810A1 (en) 2005-01-19
US20030196064A1 (en) 2003-10-16
US20100205361A1 (en) 2010-08-12
CN100442393C (zh) 2008-12-10
RU2257609C2 (ru) 2005-07-27
US8473671B2 (en) 2013-06-25
US20130268778A1 (en) 2013-10-10
BR0007239B1 (pt) 2014-03-18
CN1674159A (zh) 2005-09-28
EP1145126A2 (en) 2001-10-17
US6829676B2 (en) 2004-12-07
EP1498810B1 (en) 2018-12-26
BR0007239A (pt) 2001-10-30
US20030196027A1 (en) 2003-10-16
US7899982B2 (en) 2011-03-01
WO2001029670A3 (en) 2001-09-13
US7143261B2 (en) 2006-11-28
JP3954790B2 (ja) 2007-08-08
DE60017870D1 (de) 2005-03-10
US20140237203A1 (en) 2014-08-21
US6829675B2 (en) 2004-12-07
US20120191905A1 (en) 2012-07-26
US8176239B2 (en) 2012-05-08
US8751734B2 (en) 2014-06-10
US20050060513A1 (en) 2005-03-17
WO2001029670A2 (en) 2001-04-26
US20080209115A1 (en) 2008-08-28
US20110125958A1 (en) 2011-05-26
US20030200411A1 (en) 2003-10-23
US8990487B2 (en) 2015-03-24
CA2355082C (en) 2008-09-23
US6611907B1 (en) 2003-08-26

Similar Documents

Publication Publication Date Title
CN1203395C (zh) 半导体存储卡的访问装置、计算机可读记录介质、初始化方法和半导体存储卡
CN1279543C (zh) 半导体存储卡和数据读取装置
CN1287289C (zh) 记录设备、介质以及方法
CN100336039C (zh) 文件管理装置
CN1276612C (zh) 信息发送系统、设备、方法和信息接收设备、方法
CN100347731C (zh) 半导体存储卡及对其进行控制的程序
CN1410876A (zh) 微处理机
CN1488112A (zh) 分布系统、半导体存储卡、接收装置、计算机可读记录介质和接收方法
CN1423232A (zh) 可搭载多个卡管理程序的ic卡
CN1922571A (zh) 数据运行编程
CN101042674A (zh) 非易失性存储装置及其数据写入方法
CN1596401A (zh) 非易失性存储器装置的控制方法
CN1493026A (zh) 存储装置及利用此存储装置的记录再生装置
CN1243317A (zh) 非易失存储器、记录装置和记录方法
CN1940952A (zh) 用于管理内容数据的系统和装置
CN1503953A (zh) 分配装置、终端装置以及其中所用的程序和方法
CN101047495A (zh) 用于传送数据的方法和系统
CN1295700C (zh) 内容记录/重放装置
CN1961274A (zh) 未授权内容检测系统
CN1848271A (zh) 信息处理装置和方法、信息记录介质、以及计算机程序
CN1692340A (zh) 内容传送系统、信息处理设备或信息处理方法和计算机
CN1894699A (zh) 内容使用控制设备、记录设备、再现设备、记录介质和内容使用控制方法
CN1977251A (zh) 记录介质、针对记录介质的信息处理装置及信息处理方法
CN1922683A (zh) 记录再现装置
CN1647448A (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
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20050525