[go: up one dir, main page]

CN1341237A - Access device for semiconductor memory card, computer readable recording medium, initialization method, and semiconductor memory card - Google Patents

Access device for semiconductor memory card, computer readable recording medium, initialization method, and semiconductor memory card 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
area
file
sector
semiconductor memory
memory card
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
Chinese (zh)
Other versions
CN1203395C (en
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/en
Application granted granted Critical
Publication of CN1203395C publication Critical patent/CN1203395C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)
  • Storage Device Security (AREA)

Abstract

In a semiconductor memory card, a predetermined number of erasable blocks located at the beginning of a volume area contain volume management information. The user area next to the volume management information includes a plurality of clusters. For the section from the master boot record and partition table sector to the partition boot area, the data length NOM is determined such that the plurality of clusters of the user area are arranged not to cross the boundary of the erasable block. Since the cluster boundary and the erasable block boundary coincide in the user area, it is not necessary to perform a wasteful process of erasing two erasable blocks in order to rewrite one cluster.

Description

半导体存储卡的访 问装置、计算机可读记录 介质、初始化方法和半导体存储卡Access device for semiconductor memory card, computer readable recording medium, initialization method, and semiconductor memory card

技术领域technical field

本发明涉及一种用于访问内含EEPROM(电可擦可编程只读存储器)类非易失存储器的半导体存储卡的访问装置,一种用于记录半导体存储卡初始化程序的计算机可读记录介质,一种初始化方法以及一种半导体存储卡,特别是还涉及一种能提高数据在所述非易失存储器中重写效率的改进方法。The invention relates to an access device for accessing a semiconductor memory card containing EEPROM (Electrically Erasable Programmable Read-Only Memory) nonvolatile memory, and a computer-readable recording medium for recording the initialization program of the semiconductor memory card , an initialization method and a semiconductor memory card, in particular, an improved method capable of improving data rewriting efficiency in the non-volatile memory.

技术背景technical background

半导体存储卡具有体积小重量轻的优点,而且在多种技术领域里为巩固其作为可选记录介质的地位而发展顺利。半导体存储卡具有一种称为EEPROM的内在非易失存储器,该存储器由相连的设备访问,所以这种半导体存储卡能用作记录介质。而且能够以与磁盘或光盘相同的方法直接将数据写入空白EEPROM扇区。但是,当EEPROM扇区里已存有数据,则必须将这些数据删除,使这些扇区恢复为空白状态,新的数据才能写入该扇区。在许多半导体存储卡中使用的这种称为NAND(与非)的EEPROM中,将扇区恢复为空白状态的操作必须在32个扇区里同时执行(在这种非易失存储器中,一个32扇区组叫做一个可擦块)。所以,所述半导体存储卡包含一个特殊的内部控制电路,通过将可擦块用作访问单元来实现存储器管理。可擦块的状态控制以及对可擦块进行的数据读和写均由该控制电路管理。Semiconductor memory cards have the advantage of being small in size and light in weight, and are developing smoothly in order to consolidate their position as an optional recording medium in various technical fields. A semiconductor memory card has a built-in nonvolatile memory called EEPROM, which is accessed by a connected device, so this semiconductor memory card can be used as a recording medium. And it is possible to directly write data into blank EEPROM sectors in the same way as magnetic disks or optical discs. However, when there are data stored in the EEPROM sector, these data must be deleted to restore these sectors to a blank state, so that new data can be written into the sector. In the EEPROM called NAND (NAND) used in many semiconductor memory cards, the operation of restoring a sector to a blank state must be performed simultaneously in 32 sectors (in this non-volatile memory, one A group of 32 sectors is called an erasable block). Therefore, the semiconductor memory card includes a special internal control circuit to implement memory management by using an erasable block as an access unit. The state control of the erasable block and the data reading and writing to the erasable block are all managed by the control circuit.

这意味着所述半导体存储卡具有与磁盘或光盘中所使用的完全不同的独特硬件结构(物理层)。但是,图1A中所示的层模型由物理层、文件系统层和应用层组成,这与磁盘或光盘中所用的方式相同。图1B所示为所述物理层的详细配置。在该图中,所述物理层包括一个卷区,其中安排有多个可擦块。每个可擦块由32个扇区组成,且数据长度为16KB。图1C中所示的文件系统层的配置就是通常所称的FAT(文件分配表)文件系统。在FAT文件系统中,所述卷区的管理在一些叫做簇的单元里执行。卷管理信息设置在所述卷区的起始部分,接着该卷管理信息设置的是用于记录用户数据的用户区。所述卷管理信息包括:主引导记录、分区表、分区引导区、双文件分配表(FAT)和根目录登记项。所述双FAT表示卷区中所包含的多个簇之间的链接。这类文件系统层的规定使数据能够在所述应用层中按由目录和文件形成的分级结构进行存储。通过设置层模型,所述访问装置使用与访问磁盘或光盘这类记录介质相同的程序便能够访问半导体存储卡,而不必注意所述物理层的区别。This means that the semiconductor memory card has a unique hardware structure (physical layer) that is completely different from that used in magnetic or optical disks. However, the layer model shown in Figure 1A consists of a physical layer, a file system layer, and an application layer in the same way as is used in magnetic or optical disks. Figure 1B shows the detailed configuration of the physical layer. In this figure, the physical layer includes a volume area in which a plurality of erasable blocks are arranged. Each erasable block consists of 32 sectors, and the data length is 16KB. The configuration of the file system layer shown in FIG. 1C is what is commonly called a FAT (File Allocation Table) file system. In the FAT file system, the management of the volume area is performed in units called clusters. Volume management information is set at the beginning of the volume area, and next to the volume management information is a user area for recording user data. The volume management information includes: master boot record, partition table, partition boot area, double file allocation table (FAT) and root directory entry. The double FAT represents a link between a plurality of clusters contained in a volume area. Provision of such a file system layer enables data to be stored in the application layer in a hierarchical structure formed of directories and files. By setting the layer model, the access device can access the semiconductor memory card using the same program as for accessing recording media such as magnetic disks or optical discs, without paying attention to the difference in the physical layer.

但是,在所述文件系统的卷区中存储数据时,用户有多种确定该卷区数据长短的可能。当卷区的大小根据用户的需求而改变时,该卷区内所含簇的数量就会相应的增加或减少。如果簇的数量增加或减少,则由对应于这些簇的登记项所组成的FAT便会相应地增加或减少,而且包含有所述FAT的卷管理信息的大小也是这样。如果所述卷管理信息的大小增加或减少,则接着该卷管理信息的用户区的起始地址也将改变。该用户区起始地址根据卷区的大小而改变。因此,每个簇的起始地址也会根据该用户区的大小而改变。However, when storing data in the volume area of the file system, the user has multiple possibilities to determine the data length of the volume area. When the size of the volume area changes according to the user's needs, the number of clusters contained in the volume area will increase or decrease accordingly. If the number of clusters increases or decreases, the FAT composed of entries corresponding to these clusters will correspondingly increase or decrease, and so will the size of the volume management information including the FAT. If the size of the volume management information increases or decreases, then the start address of the user area of the volume management information will also change. The user area start address changes according to the size of the volume area. Therefore, the start address of each cluster also changes according to the size of the user area.

如果每个簇的起始地址根据用户区的大小而发生变化,那么簇可能跨越两个可擦块之间的边界,并且所述卷管理信息的结束部分可能会与位于所述用户区的开始处的一个簇设置在同一个可擦块中。图1D所示为当卷管理信息的结束部分和所述位于用户区开始的簇在同一个可擦块中时的卷区配置。如果如该图所示那样设置簇,而且用户希望修改存储在一个特定簇中的数据时,则必须读其中设置了该簇的这两个可擦块,然后将其恢复成空白状态。然而,非易失存储器由一种在绝缘层中埋置有浮栅的存储元件构成。这种存储元件只能擦除几万次,所以如果必须擦除两个可擦块以便修改一个簇的情况经常发生,那么该非易失存储器的寿命将明显缩短。If the start address of each cluster changes according to the size of the user area, the cluster may straddle the boundary between two erasable blocks, and the end of the volume management information may be located at the beginning of the user area A cluster at is set in the same erasable block. FIG. 1D shows the volume area configuration when the end part of the volume management information and the cluster located at the beginning of the user area are in the same erasable block. If clusters are set as shown in the figure, and the user wishes to modify data stored in a specific cluster, the two erasable blocks in which the cluster is set must be read and then restored to a blank state. However, nonvolatile memory consists of a memory element in which a floating gate is buried in an insulating layer. This storage element can only be erased tens of thousands of times, so if it is a frequent occurrence that two erasable blocks have to be erased in order to modify a cluster, the lifetime of the non-volatile memory will be significantly shortened.

一般来说,如果已经完成了对写目标簇的擦除,则当将32个扇区作为一个簇管理时,向一个簇写入信息能够在32×200μs(200μs是写每个扇区所需的时间)内完成。但如果在能够写数据之前必须对写目标进行擦除,那么还要加上2ms的擦除期。如果该簇跨越两个可擦块之间的边界,则这两个块都需要进行擦除,并且擦除该写目标需要4ms。因此,写数据所花的时间明显增加。Generally speaking, if the erasure of the write target cluster has been completed, when 32 sectors are managed as a cluster, information can be written to one cluster in 32×200 μs (200 μs is the time required to write each sector) time) to complete. However, if the write target must be erased before data can be written, a 2ms erase period must be added. If the cluster straddles the boundary between two erasable blocks, both blocks need to be erased, and it takes 4ms to erase the write target. Therefore, the time taken to write data increases significantly.

发明内容Contents of the invention

本发明的目的是提供一种访问装置,以实现缩短修改可擦块所需的处理时间,以及在半导体存储卡中构造一种存储数据格式,使非易失存储器的寿命更长。The purpose of the present invention is to provide an access device to shorten the processing time required to modify an erasable block, and to construct a storage data format in a semiconductor memory card, so that the life of the non-volatile memory is longer.

一种称为保密数字(SD)存储卡的这类半导体存储卡由于下述原因已在解决上述缩短处理时间和延长固定存储卡寿命的问题上大有进展。在SD存储卡中,提供一块叫做保护区的区域,一般的用户不能使用该区域。该保护区用于存储秘密信息,如:用于加密数据的加密密钥、用于通知用户在复制版权资料时付账的账单信息等等。这些需要保密的数据的数量根据所使用的应用程序的类型会发生变化,因此所述保护区的大小也必须根据应用程序的类型而改变。如果保护区的大小发生改变,那么卷区的配置也会根据应用程序的类型而改变。如果卷区的配置按这种方式改变,则这种配置下的某些簇经常会跨越可擦块之间的边界,因此特别希望实现上述目的。为了实现上述目的,所述半导体存储卡访问装置可以具有如下结构:通过将每组2j(j为0或正整数)个扇区上的数据作为一个簇进行管理,以及将一个或多个簇作为一个文件进行管理,所述访问装置在包含一个由多个扇区组成的存储区的半导体存储卡上实现文件访问。这里,在该存储区内的每组2i个连续扇区组成一个块(i为0或正整数),块是能够执行数据擦除的最小单位。所述访问装置包括一个计算单元、一个预留单元和一个记录单元。所述计算单元根据所述存储区内要管理的簇的数量来计算卷管理信息的大小。这里,卷管理信息包括一个文件分配表,用于为每个文件指示与该文件相对应的各簇之间的链接。所述预留单元预留一个用于记录卷管理信息的第一区域,和一个用于记录用户数据的第二区域。第一区域所具有的数据长度大于所计算的卷管理信息,并且由m×2j(m是一个正整数)个扇区组成,而第二区域由接着第一区域的扇区组成。所述记录单元在第一区域里记录卷管理信息,在第二区域里记录用户数据,并将这些卷管理信息和用户数据作为多个簇进行管理。在该访问装置中,在含有m(m是一个正整数)个簇的所述卷区里预留出一个区域用于记录卷管理信息,这样便不会存在任何所存储的簇跨越两个可擦块的可能性。簇边界能够与可擦块的边界一致,且所述卷管理信息的边界能够与一个可擦块的边界一致。因此,当重写或改写一个簇时,只需擦除一个可擦块,这样便能够减少可擦块必需的擦除次数。如果可擦块的擦除次数减少了,该半导体存储卡便能在较短的时间内完成写数据,而且能增加该非易失存储器本身的寿命。A type of semiconductor memory card called a Secure Digital (SD) memory card has made great progress in solving the above-mentioned problems of shortening the processing time and prolonging the life of fixed memory cards for the following reasons. In the SD memory card, an area called a protected area is provided, and general users cannot use this area. This protected area is used to store secret information such as encryption keys used to encrypt data, billing information used to notify users to pay when copying copyrighted materials, and the like. The amount of data that needs to be kept secret varies according to the type of application used, so the size of the protected area must also vary according to the type of application. If the size of the protected area changes, the configuration of the volume area also changes according to the type of application. If the configuration of volume areas is changed in this way, some clusters in this configuration will often straddle the boundaries between erasable blocks, so this is particularly desirable. In order to achieve the above object, the semiconductor memory card access device can have the following structure: manage the data on each group of 2 j (j is 0 or a positive integer) sectors as a cluster, and manage one or more clusters It is managed as a file, and the access device implements file access on a semiconductor memory card containing a storage area composed of multiple sectors. Here, each group of 2 i consecutive sectors in the storage area constitutes a block (i is 0 or a positive integer), and a block is the smallest unit capable of erasing data. The access device includes a calculation unit, a reservation unit and a recording unit. The calculation unit calculates the size of the volume management information according to the number of clusters to be managed in the storage area. Here, the volume management information includes a file allocation table for indicating, for each file, links between clusters corresponding to the file. The reservation unit reserves a first area for recording volume management information and a second area for recording user data. The first area has a data length larger than the calculated volume management information and is composed of m× 2j (m is a positive integer) sectors, and the second area is composed of sectors following the first area. The recording unit records volume management information in the first area, records user data in the second area, and manages these volume management information and user data as a plurality of clusters. In the access device, an area is reserved in the volume area containing m (m is a positive integer) clusters for recording volume management information, so that there will be no stored clusters spanning two Possibility of rubbing blocks. A cluster boundary can coincide with a boundary of an erasable block, and a boundary of the volume management information can coincide with a boundary of an erasable block. Therefore, when rewriting or rewriting a cluster, only one erasable block needs to be erased, thus reducing the number of erasing times necessary for an erasable block. If the erasing times of the erasable blocks are reduced, the semiconductor memory card can complete data writing in a short time, and the life of the nonvolatile memory itself can be increased.

这里,除了所述文件分配表之外,所述卷管理信息还可以包括:主引导记录、分区表、分区引导区信息、根目录登记项。另外,所述记录单元在所述第一区域的第一扇区里记录所述主引导记录和分区表,跳过预定数量的扇区后在后续的扇区里记录所述分区引导区信息、文件分配表和根目录登记项。因此,所述第一区域的结束可以与根目录登记项的结束相一致。在表示驱动开始的所述主引导记录和表示分区开始的分区引导区之间的扇区数量能够调整,因此,所述卷管理信息可以只限于由m个扇区组成的第一区域,并与使用所保存的FAT文件系统的设备兼容。Here, in addition to the file allocation table, the volume management information may also include: master boot record, partition table, partition boot area information, and root directory entries. In addition, the recording unit records the master boot record and partition table in the first sector of the first area, skips a predetermined number of sectors and records the partition boot area information, File allocation table and root directory entry. Thus, the end of the first area may coincide with the end of the root directory entry. The number of sectors between the master boot record representing the start of the drive and the partition boot area representing the start of the partition can be adjusted, so the volume management information can be limited to the first area consisting of m sectors, and Compatible with devices using the saved FAT file system.

这里,所述计算单元可以通过将用于记录所述分区引导区信息、文件分配表和根目录登记项的扇区数相加而计算出其和SUM。所述预留单元通过根据{公式1}NOM+SUM=2j+m计算出m值来预留出第一区域。其中,NOM为扇区数。所述记录单元通过将扇区数NOM减1计算出预定扇区数。即使所述文件分配表的大小发生变化,仍会预留出一个第一区域,该区域大于所述卷管理信息的大小,而且为可擦块大小的整数倍。因此,无论怎样计算出文件分配表的大小,总能预留出所述第一区域必需的最小尺寸。Here, the calculation unit may calculate the sum SUM by adding the number of sectors used to record the partition boot area information, file allocation table and root directory entry. The reserving unit reserves the first area by calculating the value of m according to {Formula 1} NOM+SUM=2 j +m. Among them, NOM is the number of sectors. The recording unit calculates the predetermined number of sectors by subtracting 1 from the number of sectors NOM. Even if the size of the file allocation table changes, a first area will still be reserved, which is larger than the size of the volume management information and is an integer multiple of the erasable block size. Therefore, no matter how the size of the file allocation table is calculated, the minimum size necessary for the first area can always be reserved.

这里,所述记录单元可以在所述记录卷管理信息的分区表中设置预定数量的扇区。在该结构中,即使所述第一区域的大小发生变化,并引起所述第二区域的起始地址发生变化,仍会在所述分区表内设置一定数量的扇区,该数量通过将扇区数NOM减1得到,这样,所述访问装置便能通过参照所述分区表而对用户区进行准确地访问。Here, the recording unit may set a predetermined number of sectors in the partition table recording the volume management information. In this structure, even if the size of the first area changes and causes the start address of the second area to change, a certain number of sectors will still be set in the partition table. The area number NOM is obtained by subtracting 1, so that the access device can accurately access the user area by referring to the partition table.

附图简述Brief description of the drawings

图1A所示为一种配置模型,该模型由一个物理层、一个符合ISO/IEC9293的文件系统层和一个应用层组成;Figure 1A shows a configuration model consisting of a physical layer, a file system layer compliant with ISO/IEC9293 and an application layer;

图1B和1C所示为所述物理层和文件系统层的格式;Figure 1B and 1C show the format of the physical layer and the file system layer;

图1D所示为当所述卷管理信息的结束部分和一个位于所述用户区开始的簇被安排在同一个可擦块中时的一种卷区配置;Figure 1D shows a volume area configuration when the end part of the volume management information and a cluster at the beginning of the user area are arranged in the same erasable block;

图2A为半导体存储卡的外部视图;Fig. 2A is the external view of semiconductor memory card;

图2B和2C为访问装置的外部视图;2B and 2C are external views of the access device;

图3A所示为半导体存储卡和访问装置的内部结构;Figure 3A shows the internal structure of the semiconductor memory card and the access device;

图3B所示为在所述访问装置中使用的软件的层模型;Figure 3B shows a layer model of software used in the access device;

图4所示为非易失存储器1所使用的一种数据存储格式,且符合ISO/IEC9293标准;Figure 4 shows a data storage format used by the non-volatile memory 1, and complies with the ISO/IEC9293 standard;

图5所示为包含在所述卷区里的分区控制区、系统区和用户区的结构;Figure 5 shows the structure of the partition control area, system area and user area included in the volume area;

图6A示例性地表示主引导记录和分区表扇区的结构;Fig. 6A schematically represents the structure of master boot record and partition table sector;

图6B所示为分区引导区的结构;Figure 6B shows the structure of the partition boot area;

图7A所示为双FAT的结构;Figure 7A shows the structure of double FAT;

图7B所示为根目录登记项的结构;Figure 7B shows the structure of the root directory entry;

图7C所示为所述用户区的结构;Figure 7C shows the structure of the user area;

图8所示为文件存储方法的实施例;Figure 8 shows an embodiment of the file storage method;

图9所示为当文件AOB001.SA1存储在多个簇中时,对所述根目录登记项和FAT进行设置的实施例;Fig. 9 shows that when file AOB001.SA1 is stored in a plurality of clusters, the embodiment that described root directory entry and FAT are set;

图10A所示为可擦块和簇之间的关系;Figure 10A shows the relationship between erasable blocks and clusters;

图10B所示为n=1时的多个簇;Figure 10B shows multiple clusters when n=1;

图10C所示为n=16时的多个簇;Figure 10C shows multiple clusters when n=16;

图11A假设当将s个可擦块中的m个簇分配用于记录卷管理信息时的状态;FIG. 11A assumes a state when m clusters among s erasable blocks are allocated for recording volume management information;

图11B所示为n=1时分配用于记录卷管理信息的簇的数量;Figure 11B shows the number of clusters allocated for recording volume management information when n=1;

图11C所示为n=16时分配用于记录卷管理信息的簇的数量;Figure 11C shows the number of clusters allocated for recording volume management information when n=16;

图12是通过借助用公式11及12计算出的大小来绘制所述分区控制区、系统区和簇而得到的图;FIG. 12 is a diagram obtained by plotting the partition control area, system area, and cluster by the sizes calculated using Equations 11 and 12;

图13为表示所述卷区初始化过程的流程图;Fig. 13 is a flowchart representing the initialization process of the volume area;

图14所示为第二实施方案中的访问装置和半导体存储卡的结构;Fig. 14 shows the structures of the access device and the semiconductor memory card in the second embodiment;

图15所示为保密处理单元11的内部结构;Figure 15 shows the internal structure of the security processing unit 11;

图16所示为提供有保护区的卷区的详细结构;Figure 16 shows the detailed structure of volume areas provided with protected areas;

图17所示为所述用户数据区的示例性配置;Figure 17 shows an exemplary configuration of the user data area;

图18所示为所述保护区的示例性配置;Figure 18 shows an exemplary configuration of the protection zone;

图19所示为第三实施方案中的访问控制单元2的内部结构;Fig. 19 shows the internal structure of the access control unit 2 in the third embodiment;

图20A~20D所示为当对可擦块进行重写时的处理顺序;20A ~ 20D show the processing sequence when the erasable block is rewritten;

图21所示为第三实施方案中的文件系统操作单元9的内部结构;Fig. 21 shows the internal structure of the file system operating unit 9 in the third embodiment;

图22是表示由第三实施方案中的文件系统操作单元9执行的详细处理过程的流程图;FIG. 22 is a flowchart showing the detailed processing procedure performed by the file system operation unit 9 in the third embodiment;

图23A和23B所示为在第三实施方案中的一个可擦块中执行的擦除过程;Figures 23A and 23B show the erasing process performed in an erasable block in the third embodiment;

图24所示为第四实施方案中的访问控制单元2的内部结构;Fig. 24 shows the internal structure of the access control unit 2 in the fourth embodiment;

图25是表示在第四实施方案中由文件系统操作单元9执行的详细处理过程的流程图;FIG. 25 is a flowchart showing the detailed processing procedure executed by the file system operation unit 9 in the fourth embodiment;

图26A和26B所示为在第四实施方案中的一个可擦块中执行的擦除过程;Figures 26A and 26B show the erasing process performed in an erasable block in the fourth embodiment;

图27A和27B所示为当发出命令后存储片段和辅助操作之间的因果关系;Figures 27A and 27B show the causal relationship between memory segments and auxiliary operations when a command is issued;

图28是表示在一个逻辑地址上执行的存储片段消除处理的详细处理顺序的流程图;Fig. 28 is a flowchart showing a detailed processing sequence of memory fragment erasure processing executed on a logical address;

图29A~29D所示为对应于图28的流程图中各变量s、t、u、v和y的设想模型;Fig. 29A ~ 29D shows the hypothetical model corresponding to each variable s, t, u, v and y in the flowchart of Fig. 28;

图30A~30C所示为在第五实施方案中如何消除存储片段;30A ~ 30C show how to eliminate memory segments in the fifth embodiment;

图31所示为利用UDF中的实施用途扩充属性来定义一种新的扩充属性;Figure 31 shows that a new extended attribute is defined by using the implementation purpose extended attribute in UDF;

图32所示为含有备份区的半导体存储卡的内部结构;Figure 32 shows the internal structure of the semiconductor memory card containing the backup area;

图33所示为在第六实施方案中半导体存储卡的内部结构;以及Fig. 33 shows the internal structure of the semiconductor memory card in the sixth embodiment; and

图34A~34C所示为在第七实施方案中由文件系统操作单元9执行的处理内容。34A to 34C show the contents of processing executed by the file system operation unit 9 in the seventh embodiment.

执行本发明的最佳模式BEST MODE FOR CARRYING OUT THE INVENTION

下面参照附图对半导体存储卡以及含有半导体存储卡和访问装置的系统的实施方案进行阐述。Embodiments of the semiconductor memory card and the system including the semiconductor memory card and the access device will be described below with reference to the accompanying drawings.

图2A为半导体存储卡100的外部视图,图2B和2C为访问装置的外部视图。图3A所示为半导体存储卡100和访问装置200的内部结构。2A is an external view of the semiconductor memory card 100, and FIGS. 2B and 2C are external views of the access device. FIG. 3A shows the internal structure of the semiconductor memory card 100 and the access device 200 .

所述半导体存储卡具有图2A所示的外部结构,长32.0mm,宽24.0mm,厚2.1mm,大约是一枚邮票的大小,小到能放在用户的一个手指尖上。该半导体存储卡100有九个用于连接访问装置200的接插件,在一侧有一个写保护开关101,该开关能由用户设置成允许或禁止改写所记录的数据。如图3A下部所示,该半导体存储卡100包括一个由NAND EEPROM构成的非易失存储器1、一个访问控制单元2和一个工作存储器3。所述访问控制单元2根据所述访问装置200发出的指令将数据写入非易失存储器1、从非易失存储器1读出数据、以及擦除数据。当要对从非易失存储器读出的数据进行重写或写回该非易失存储器时,所述工作存储器3用于对这些数据进行暂时存储。The semiconductor memory card has an external structure as shown in FIG. 2A , with a length of 32.0mm, a width of 24.0mm, and a thickness of 2.1mm. It is about the size of a postage stamp and small enough to be placed on a user's fingertip. The semiconductor memory card 100 has nine connectors for connecting an access device 200, and has a write protection switch 101 on one side which can be set by the user to allow or prohibit rewriting of recorded data. As shown in the lower part of FIG. 3A, the semiconductor memory card 100 includes a nonvolatile memory 1 made of NAND EEPROM, an access control unit 2 and a working memory 3. The access control unit 2 writes data into the non-volatile memory 1 , reads data from the non-volatile memory 1 , and erases data according to instructions issued by the access device 200 . When the data read from the non-volatile memory is to be rewritten or written back to the non-volatile memory, the working memory 3 is used for temporarily storing these data.

接下来阐述访问装置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发出读和写命令而在该文件系统中执行操作。Next, the access device 200 is described, for example, a home audio system shown in FIG. 2B or an information processing device such as a personal computer shown in FIG. 2C. This access device 200 includes: a card connector 4, an auxiliary memory 5, a CPU 6 and a main memory 7. The card connector 4 is used for connecting the semiconductor memory card 100 . The auxiliary memory 5 stores software for accessing the semiconductor memory card 100 . The CPU 6 performs overall control of the access device 200. The main memory 7 is used to temporarily store the FAT and root directory entries when accessing the semiconductor memory card 100 . FIG. 3B shows a configuration model of software used in the access device 200 . In this figure, the access device software includes: an application program 8 , a file system operating unit 9 and a device driver 10 . The application program 8 executes predetermined processing such as audio and video reproduction for the access device 200 . The file system operation unit 9 executes read, write, erase and modify (rewrite) operations of files in the file system according to instructions from the application program 8 . The device driver 10 performs operations in the file system by issuing read and write commands to the semiconductor memory card 100 .

下面解释所述非易失存储器1的数据存储格式的一个实施例。该非易失存储器1用图4所示的格式执行数据存储。在本图中,整个非易失存储器1称为所述的卷区。该卷区划分成多个簇,并包括一个分区控制区和一个分区(也称常规区)。该分区分为一个系统区和一个用户区,如图4的右手边所示。One embodiment of the data storage format of the nonvolatile memory 1 is explained below. This nonvolatile memory 1 performs data storage in the format shown in FIG. 4 . In this figure, the entire non-volatile memory 1 is called the volume area. The volume area is divided into multiple clusters, and includes a partition control area and a partition (also known as a regular area). The partition is divided into a system area and a user area, as shown on the right hand side of Figure 4.

所述用户区的起始地址直接接在系统区后。但是,系统区中的双FAT的大小根据所述用户区的大小而变化,所以,如技术背景部分所述,用户区的起始地址也会相应地发生变化。该卷区中的每个扇区用相对于该卷区起始的物理地址指示。The starting address of the user area is directly followed by the system area. However, the size of the double FAT in the system area varies according to the size of the user area, so, as described in the technical background section, the start address of the user area will also change accordingly. Each sector in the volume is indicated by a physical address relative to the beginning of the volume.

下面依次阐述包含在该卷区中的每个区域。图5所示为包含在所述卷区里的分区控制区、系统区和用户区的结构。Each area contained in this volume area is described in turn below. Fig. 5 shows the structure of the partition control area, system area and user area included in the volume area.

所述分区控制区包括主引导记录和分区表扇区,以及预留信息1/2和2/2。图6A表示主引导记录和分区表扇区的详细结构。在本图中,所述主引导记录和分区表扇区的内容在一对箭头ky1之间分级列出。该主引导记录和分区表扇区包括一个主引导记录,四个分区表1、2、3和4,以及一个标志字。The partition control area includes master boot record and partition table sectors, and reserved information 1/2 and 2/2. Fig. 6A shows the detailed structure of the master boot record and partition table sectors. In this figure, the contents of the MBR and partition table sectors are listed hierarchically between a pair of arrows ky1. The master boot record and partition table sector includes a master boot record, four partition tables 1, 2, 3 and 4, and a flag word.

所述主引导记录是对该访问装置200的一种符号指示,其后续区域为一物理意义上的介质(一块物理介质)。在图6A中,所述卷区只有一条主引导记录,因此所述访问装置200将该卷区识别为一块物理介质。通常,如果卷区中有两条主引导记录,则所述访问装置200将其识别为两块物理介质。The master boot record is a symbolic indication of the access device 200, and its subsequent area is a physical medium (a piece of physical medium). In FIG. 6A , the volume area has only one master boot record, so the access device 200 recognizes the volume area as a physical medium. Usually, if there are two master boot records in the volume area, the access device 200 will recognize them as two pieces of physical media.

所述分区表是一张记录分区信息的表。如箭头ky2所示,当所述半导体存储卡100用作起动驱动器时,则该分区表包括如下字段:‘引导标志’、‘起始端’、‘起始扇区/起始柱面’、‘系统ID’、‘终止端’、‘终止扇区/终止柱面’、‘相对扇区’和‘总扇区’。所述‘引导标志’字段设置为‘0×80’。‘起始端’字段定义了一个分区的起始端。‘起始扇区/起始柱面’字段定义了该分区的起始扇区和起始柱面。‘系统ID’定义了文件系统类型,该字段在所述分区的大小少于32680字节时设置为‘01’,在所述分区的大小少于65536字节时设置为‘04’。‘结束扇区/结束柱面’字段定义了该分区的结束扇区和结束柱面。‘相对扇区’字段定义了在该分区的起始扇区之前存在的扇区数量。‘总扇区’字段定义了该分区中的扇区数量。The partition table is a table recording partition information. As shown by arrow ky2, when the semiconductor memory card 100 is used as a boot driver, the partition table includes the following fields: 'boot flag', 'start end', 'start sector/start cylinder', ' System ID', 'Ending End', 'Ending Sector/Ending Cylinder', 'Relative Sector' and 'Total Sectors'. The 'Boot Flags' field is set to '0x80'. The 'Start' field defines the start of a partition. The 'Start Sector/Start Cylinder' field defines the start sector and start cylinder of the partition. 'System ID' defines a file system type, and this field is set to '01' when the size of the partition is less than 32680 bytes, and is set to '04' when the size of the partition is less than 65536 bytes. The 'End Sector/End Cylinder' field defines the end sector and end cylinder of the partition. The 'Relative Sector' field defines the number of sectors that exist before the start sector of the partition. The 'Total Sectors' field defines the number of sectors in this partition.

下面对所述半导体存储卡100中的分区进行说明。该分区由所述系统区组成,接着是用户区,但本说明首先参照图7C阐述用户区。The partitions in the semiconductor memory card 100 will be described below. This partition consists of the system area, followed by the user area, but this description first addresses the user area with reference to Figure 7C.

所述用户区在不小于一簇的单元中存储文件。图7C中的虚线箭头ff2表示包含在用户区内的若干簇002、003、004、005…。图7C中所使用的数字002、003、004、005、006、007、008…是三位十六进制簇号,仅仅用于识别每个簇。由于能够执行访问的最小单位是一簇,因此用簇号来指示所述用户区中的存储位置。The user area stores files in units not smaller than one cluster. The dotted arrow ff2 in FIG. 7C indicates several clusters 002, 003, 004, 005, . . . included in the user area. The numbers 002, 003, 004, 005, 006, 007, 008... used in Fig. 7C are three-digit hexadecimal cluster numbers used only to identify each cluster. Since the minimum unit in which access can be performed is a cluster, a cluster number is used to indicate a storage location in the user area.

所述系统区包括分区引导区、双文件分配表和根目录登记项。所述分区引导区、双文件分配表FAT和根目录登记项将参照图6B、7A和7B依次阐述。The system area includes partition boot area, dual file allocation table and root directory entry. The partition boot area, dual file allocation table FAT and root directory entries will be described in sequence with reference to FIGS. 6B , 7A and 7B.

将图6B中所示的、含有所述信息字段的扩充FDC(软盘控制器)描述符设置在所述分区引导区中。该扩充FDC描述符包括如下字段:‘转移指令’、‘建立系统标识符’、‘扇区大小’、‘每簇扇区数’、‘预留扇区计数’、‘FAT编号’(包含在所述双FAT中的FAT编号)、‘根目录登记项编号’(该根目录登记项的数据长度)、‘总扇区’、‘介质标识符’、‘每个FAT的扇区数’、‘每磁道扇区数’、‘磁面编号’、‘隐藏扇区编号’、‘总扇区数’(在系统区和用户区内的总扇区数)、‘物理磁盘编号’、‘扩充引导记录标志’、‘卷ID编号’、‘卷标’、‘文件系统类型’和‘标志字’。An extended FDC (Floppy Disk Controller) descriptor shown in FIG. 6B containing the information field is set in the partition boot area. The extended FDC descriptor includes the following fields: 'transfer instruction', 'establish system identifier', 'sector size', 'number of sectors per cluster', 'reserved sector count', 'FAT number' (included in FAT number in the double FAT), 'root directory entry number' (data length of the root directory entry), 'total sector', 'medium identifier', 'sector number of each FAT', 'Number of sectors per track', 'Number of magnetic surfaces', 'Number of hidden sectors', 'Number of total sectors' (the total number of sectors in the system area and user area), 'Number of physical disks', 'Expansion Boot record flag', 'volume ID number', 'volume label', 'file system type' and 'flag word'.

所述双FAT由两个符合ISO/IEC(国际标准化组织/国际电工技术委员会)9293标准的FAT组成。每个FAT包括多条FAT登记项,每条FAT登记项链接到一个簇。FAT登记项指示相应簇是否被使用:如果该簇没有使用,则将该登记项置‘0’;如果该簇在使用,则置为相应的簇号。所述簇号指示了通向紧接着该簇需要读取的下一簇的链接。图7A中所画虚线箭头ff1表示包含在该FAT中的多条FAT登记项002、003、004、005…。这些附属于每条FAT登记项的数值表示相应簇的簇号。The dual FAT is composed of two FATs conforming to the ISO/IEC (International Organization for Standardization/International Electrotechnical Commission) 9293 standard. Each FAT includes multiple FAT entries, and each FAT entry is linked to a cluster. The FAT entry indicates whether the corresponding cluster is used: if the cluster is not used, the entry is set to '0'; if the cluster is in use, it is set to the corresponding cluster number. The cluster number indicates a link to the next cluster that needs to be read immediately after this cluster. The dotted arrow ff1 drawn in FIG. 7A indicates a plurality of FAT entries 002, 003, 004, 005, . . . contained in the FAT. These numerical values attached to each FAT entry indicate the cluster number of the corresponding cluster.

所述根目录登记项包括多条文件登记项,对应于存在于该引导目录中的多个文件。每条文件登记项包括:现有文件的‘文件名’,‘文件标识符’,存储在该文件开始的‘文件的第一簇编号’,‘文件属性’,表示文件何时存储的‘存储时间’和‘存储日期’,以及‘文件长度’。The root directory entry includes a plurality of file entries corresponding to a plurality of files existing in the boot directory. Each file registration item includes: the 'file name' of the existing file, the 'file identifier', the 'first cluster number of the file' stored at the beginning of the file, the 'file attribute', and the 'storage number' indicating when the file is stored time' and 'storage date', and 'file length'.

下面参照图8通过说明如何将文件名为‘AOB001.SA1’存储在所述根目录中来阐述文件存储方法。由于能够访问用户区的最小单元是一簇,所以文件‘AOB001.SA1’需要存储在不小于一簇的扇区的数据区内。因此该文件‘AOB001.SA1’先划分成簇后再存储。在图8中,将文件‘AOB001.SA1’按簇的大小划分成五个扇区,并将划分好的扇区存储在编号为003、004、005、00A和00C的簇中。The file storage method will be explained below by explaining how to store the file name 'AOB001.SA1' in the root directory with reference to FIG. 8 . Since the minimum unit that can access the user area is a cluster, the file 'AOB001.SA1' needs to be stored in the data area of sectors not smaller than a cluster. Therefore, the file 'AOB001.SA1' is first divided into clusters and then stored. In Figure 8, the file 'AOB001.SA1' is divided into five sectors according to the cluster size, and the divided sectors are stored in clusters numbered 003, 004, 005, 00A and 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’,以表示相应簇存储的是文件的结束片段。The embodiment shown in Fig. 9 is how to set and store the root directory entry and FAT when the file 'AOB001.SA1' which has been divided into multiple sectors is stored. In this figure, the beginning of the file 'AOB001.SA1' is stored in cluster 003, so the cluster number 003 is written in the 'first cluster number of the file' of the root directory entry to indicate that the cluster stores is the first snippet of the file. Subsequent segments of the file 'AOB001.SA1' are stored in clusters 004 and 005. Therefore, when the entry 003 (004) of the FAT corresponds to the cluster 003 storing the first fragment of the file 'AOB001.SA1', the entry indicates that the cluster 004 is the cluster storing the next fragment of the file 'AOB001.SA1'. Similarly, when the entries 004 (005) and 005 (00A) of the FAT correspond to the clusters 004 and 005 storing the next segment of the file 'AOB001.SA1', these entries respectively represent that the clusters 005 and 00A are storing the Cluster for the next segment of the file 'AOB001.SA1'. As shown by the arrows fk1, fk2, fk3, fk4, fk5... in Figure 9, by reading those clusters whose cluster numbers are sequentially written into the FAT entries, all sectors obtained by dividing the file 'AOB001.SA1' area can be read. As mentioned above, access to the user area of the semiconductor memory card 100 is performed in units of clusters, and each cluster is associated with a FAT entry. It should be pointed out that: the FAT entry corresponding to the cluster (cluster 00C in the embodiment of FIG. 9 ) storing the end fragment of the AOB file is set to the cluster number 'FFF' to indicate that the corresponding cluster stores the end fragment of the file.

上述阐述给出了本发明所述固定存储器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时的多个簇。The above explanations give an overview of the file system in the fixed storage 1 of the present invention. The following description will focus on the principle of the implementation, explaining how to adjust the cluster boundary and the boundary of the erasable block, that is, how to make the boundary between the system area and the user area consistent with the boundary between two erasable blocks. Two variants of this embodiment aim at achieving this boundary alignment. The first improvement is to set the cluster size to 1/n of the erasable block size (n is 1, 2, 4, 8, 16 or 32). Figure 10A shows the relationship between erasable blocks and clusters. Here, a cluster is defined as 1/n of an erasable block size, namely: 1/n of 16KB (1/n of 32 sectors). FIG. 10B shows multiple clusters when n=1, and FIG. 10C shows multiple clusters when n=16.

第二种改进方案是在所述卷区中划出一块区域,其大小是一簇的m倍,用于记录所述卷管理信息。图11A假设了当将s个可擦块中的s个簇的m个簇分配用于记录卷管理信息时的状态。如果将m个簇划出用于记录卷管理信息,那么所述卷管理信息将占用这s个可擦块的m/n区域,剩余(s·n-m)/n区域将划为用户区。The second improvement solution is to designate an area in the volume area, the size of which is m times that of a cluster, for recording the volume management information. FIG. 11A assumes a state when m clusters of s clusters among s erasable blocks are allocated for recording volume management information. If m clusters are allocated for recording volume management information, the volume management information will occupy m/n areas of these s erasable blocks, and the remaining (s·n-m)/n areas will be classified as user areas.

通过将所述卷管理信息的大小设置成簇大小的m倍,便能将卷管理信息和s·n-m个簇压缩,使得簇不会跨越两个可擦块之间的边界。By setting the size of the volume management information to be m times of the cluster size, the volume management information and s·n-m clusters can be compressed so that a cluster does not straddle the boundary between two erasable blocks.

图11B所示为n=1时分配用于记录卷管理信息的簇的数量,图11C所示为n=16时分配用于记录卷管理信息的簇的数量。这些图清楚表示:通过设置所述卷管理信息,多个簇与多个可擦块准确配合,这样不会有簇跨越可擦块之间的边界。其大小已按该方法调整过的卷区的详细设置如图5所示。在该图中,所述分区控制区的大小为NOM,分区引导区的大小为RSC,双FAT的大小为尺寸1×2,根目录登记项的大小为RDE,总扇区大小为TS,一簇所含的扇区数为SC。FIG. 11B shows the number of clusters allocated for recording volume management information when n=1, and FIG. 11C shows the number of clusters allocated for recording volume management information when n=16. These figures clearly show that by setting the volume management information, multiple clusters are exactly matched with multiple erasable blocks so that no cluster crosses the boundary between erasable blocks. The detailed setting of the volume area whose size has been adjusted according to this method is shown in FIG. 5 . In this figure, the size of the partition control area is NOM, the size of the partition boot area is RSC, the size of the double FAT is 1×2, the size of the root directory entry is RDE, and the total sector size is TS. The number of sectors contained in a cluster is SC.

图5中,双FAT中FAT的大小“尺寸1”根据总扇区大小TS确定。特别是,该值用下述公式11计算得出。公式11In FIG. 5, the size "size 1" of the FAT in the dual FAT is determined based on the total sector size TS. In particular, this value is calculated using Equation 11 below. Formula 11

对于FAT12:尺寸1(((((TS-(RSC+RDE))/SC)+2)×12/8)+511)/512For FAT12: Size 1(((((TS-(RSC+RDE))/SC)+2)×12/8)+511)/512

对于FAT16:尺寸1(((((TS-(RSC+RDE))/SC)+2)×16/8)+511)/512For FAT16: size 1(((((TS-(RSC+RDE))/SC)+2)×16/8)+511)/512

这里,FAT12代表一个为每个FAT登记项分配12比特的文件系统,FAT16代表一个为每个FAT登记项分配16比特的文件系统。Here, FAT12 represents a file system that allocates 12 bits to each FAT entry, and FAT16 represents a file system that allocates 16 bits to each FAT entry.

在公式11中,(TS-(RSD+RDE))为用户区进行记录所需簇的数量。并将该数加上指示数2,其结果再与该FAT登记项的字节长度(12或16)相乘,然后除以8便得到该FAT的字节长度。在该计算结果上加上511字节的偏移值,并将该结果除以一个扇区的字节长度512计算出存储一个FAT所需的扇区数。如果FAT的数据长度为1字节,那么用521除该FAT数据将会得到FAT的扇区数被计算为0。但是,公式11加上偏移值511将确保所计算的尺寸1具有至少一个扇区。In Formula 11, (TS-(RSD+RDE)) is the number of clusters required for recording in the user area. And this number adds indicator number 2, its result is multiplied with the byte length (12 or 16) of this FAT entry again, divides by 8 then and just obtains the byte length of this FAT. Add an offset value of 511 bytes to the calculation result, and divide the result by the byte length 512 of one sector to calculate the number of sectors required to store one FAT. If the data length of the FAT is 1 byte, dividing the FAT data by 521 will result in the sector number of the FAT being calculated as 0. However, Equation 11 plus an offset value of 511 will ensure that the calculated size 1 has at least one sector.

在图5中,需指出的重要一点是所述被称为NOM的分区控制区大小。将NOM的值设置为‘SC+α’以保证所述分区控制区和系统区属于不同的簇。按此方法设置NOM的原因是为了在系统区修改簇发生失误时防止对分区控制区的冲击影响。换句话说,如果该分区中所述主引导记录和分区表扇区受到这种修改失误的损坏,那么该半导体存储卡100将不再由所述访问装置200识别为授权的记录介质。为了避免这种不利情况而将NOM的值设置为SC+α。In Figure 5, an important point to point out is the size of the partition control area called NOM. Set the value of NOM to 'SC+α' to ensure that the partition control area and system area belong to different clusters. The reason for setting NOM in this way is to prevent the impact on the partition control area when a mistake occurs in modifying the cluster in the system area. In other words, if the master boot record and partition table sectors in the partition are damaged by such modification errors, the semiconductor memory card 100 will no longer be recognized by the access device 200 as an authorized recording medium. In order to avoid this unfavorable situation, the value of NOM is set to SC+α.

SC+α值的设置按如下方法进行。用(RSC+RDE+尺寸1×2)除以SC计算出α值,这样RSC、尺寸1×2和RDE的和是SC的整数倍,并从SC中减去这次计算的余数。如果已考虑这些因素,则NOM按公式12计算。公式12The setting of SC+α value is carried out as follows. Divide (RSC + RDE + size 1 × 2) by SC to calculate the α value, so that the sum of RSC, size 1 × 2 and RDE is an integer multiple of SC, and subtract the remainder of this calculation from SC. If these factors are taken into account, NOM is calculated according to Equation 12. Formula 12

NOM=(SC-(RSC+RDE+尺寸1×2)%SC)+SCNOM=(SC-(RSC+RDE+size 1×2)%SC)+SC

如按该方法定义α,将会形成所述分区控制区和用户区以便准确地配合多个可擦块,并且所述系统区和用户区之间的边界将与可擦块的边界一致。如果能实现这种边界对准,那么所有后续簇的边界将与可擦块的边界一致。If α is defined in this way, the partition control area and user area will be formed so as to fit a plurality of erasable blocks exactly, and the boundary between the system area and user area will coincide with the boundary of an erasable block. If this boundary alignment can be achieved, then the boundaries of all subsequent clusters will coincide with the boundaries of the erasable block.

这里,所述实施例说明了:当SC为32扇区(16KB),RDE为32扇区,RSC为1扇区,且TS为65600扇区时如何计算该NOM和尺寸1。如果所述双FAT的类型为FAT12,则用公式11按下述方法计算尺寸1。Here, the embodiment illustrates how to calculate the NOM and size 1 when the SC is 32 sectors (16KB), the RDE is 32 sectors, the RSC is 1 sector, and the TS is 65600 sectors. If the type of the double FAT is FAT12, the size 1 is calculated as follows using Equation 11.

尺寸1=(((((TS-(RSC+RDE))/SC)+2)×12/8)+511)/512Size 1 = (((((TS-(RSC+RDE))/SC)+2)×12/8)+511)/512

     =(((((65600-(1+32))/SC)+2)×12/8)+511)/512=(((((65600-(1+32))/SC)+2)×12/8)+511)/512

     =7扇区= 7 sectors

另外,用公式12按下述方法计算该NOM。In addition, the NOM is calculated using Equation 12 as follows.

NOM=(SC-(RSC+RDE+尺寸1×2)%SC)+SCNOM=(SC-(RSC+RDE+size 1×2)%SC)+SC

   =(32-(1+32+7×2)%32)+32=(32-(1+32+7×2)%32)+32

   =47扇区= 47 sectors

图12根据计算出的大小列举出分区控制区、系统区和簇。所述主引导记录和分区表扇区,以及预留信息1/2安排在扇区PSN000~PSN031,所述预留信息2/2、分区引导区和双FAT安排在扇区PSN032~PSN063。所述根目录登记项安排在扇区PSN064~PSN095。在该卷区中,32个扇区构成一个可擦块,因此,所述主引导记录、分区表和预留信息1/2安排在第一可擦块001中,所述预留信息2/2、分区引导区和双FAT安排在第二可擦块002中,所述根目录登记项安排在第三可擦块003中。将所述根目录登记项存储在同样大小的可擦块中,以便使用户区与系统区之间的边界与可擦块之间的边界相匹配。Fig. 12 lists the partition control area, system area, and cluster according to the calculated sizes. The master boot record and partition table sectors, and reserved information 1/2 are arranged in sectors PSN000~PSN031, and the reserved information 2/2, partition boot area and double FAT are arranged in sectors PSN032~PSN063. The root directory entries are arranged in sectors PSN064~PSN095. In this volume area, 32 sectors constitute an erasable block, therefore, the master boot record, partition table and reserved information 1/2 are arranged in the first erasable block 001, and the reserved information 2/ 2. The partition boot area and double FAT are arranged in the second erasable block 002, and the entry of the root directory is arranged in the third erasable block 003. The root directory entries are stored in erasable blocks of the same size so that the boundary between user area and system area matches the boundary between erasable blocks.

当所述文件系统操作单元9在非易失存储器1上执行初始化时,便会实现上述卷区的配置。执行该初始化处理的程序将参照图13的流程图进行阐述。When the file system operation unit 9 executes initialization on the non-volatile memory 1, the configuration of the above-mentioned volume area will be realized. A procedure for executing this initialization processing will be explained with reference to the flowchart of FIG. 13 .

在步骤S1,根据要格式化区域的大小(TS),以及所述半导体存储卡100、访问装置200所使用的操作系统和来自用户的指令的总存储量,由所述文件系统操作单元9确定簇的大小。In step S1, according to the size (TS) of the area to be formatted, and the operating system used by the semiconductor memory card 100, the access device 200 and the total storage capacity of instructions from the user, it is determined by the file system operating unit 9 The size of the cluster.

一旦确定了簇的大小,在步骤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,以致所述主引导记录和分区引导区位于不同的簇中。Once the cluster size is determined, at step S2 the file system operation unit 9 uses the cluster size SC and the total sector size TS to determine which file system should be used: FAT12 or FAT16. Once one of the file systems FAT12 and FAT16 is determined, the file system operation unit 9 determines the length RDE of the root directory entry in step S3 (RDE is determined as 32 sectors in these embodiments), and then, in step S3 In S4, determine the length RSC of the boot area of the partition (in these embodiments, RSC is defined as 1 sector). Once the RDE and RSC are obtained, the file system operation unit 9 will use formula 11 to calculate the data length of the FAT in step S5. Then, in step S6, the file system operation unit 9 calculates the NOM using formula 12, so that the master boot record and the partition boot area are located in different clusters.

在上述步骤S5~S7中执行的处理实际上与前述公式11和12中执行的处理完全一样。但是,在该流程图中先介绍在步骤S7~S9中执行的处理。在步骤S7,所述文件系统操作单元9用公式13计算出所述用户区中的簇数CN。公式13The processing performed in the above-mentioned steps S5 to S7 is actually exactly the same as the processing performed in the aforementioned formulas 11 and 12. However, in this flowchart, the processing executed in steps S7 to S9 will be described first. In step S7, the file system operation unit 9 calculates the number of clusters CN in the user area using formula 13. Formula 13

CN=(TS-(RSC+RDE+尺寸1×2+NOM))/SCCN=(TS-(RSC+RDE+Size 1×2+NOM))/SC

在步骤S8,所述文件系统操作单元9用下面的公式14计算出FAT的数据长度。公式14In step S8, the file system operation unit 9 calculates the data length of the FAT using the following formula 14. Formula 14

对于FAT12:尺寸2=(((CN+2)×12/8+511)/512For FAT12: Size 2 = (((CN+2)×12/8+511)/512

对于FAT16:尺寸2=(((CN+2)×16/8+511)/512For FAT16: Size 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为“是”,并结束处理。In step S9, the file system operation unit 9 compares the size 1 calculated in step S5 with the size 2 calculated in step S8, and ends the process if the two values are equal. If the two values are not equal, the file system operation unit 9 replaces size 2 with size 1 at step S10, goes to step S6, and calculates the NOM. Since dimension 1 is now a different value due to substitution, a different NOM can be calculated by going to step S6. Then, the file system operation unit 9 recalculates size 2 in step S8 according to the newly calculated NOM, and if size 1 and size 2 are equal, then step S9 is "Yes" and the process ends.

‘ab经上述处理计算得到的NOM置入所述分区表中的‘相对扇区’字段,以表示在该分区起始扇区之前存在的扇区数量,并将TS置入该分区表中的‘总扇区’字段。'ab The NOM calculated by the above processing is put into the 'relative sector' field in the partition table to indicate the number of sectors that exist before the starting sector of the partition, and TS is put into the 'relative sector' field in the partition table 'Total Sectors' field.

将所述SC置入分区引导区中的‘每簇扇区数’字段,以表示每簇中所含的扇区数。此外,将表示扇区数量的RDE与扇区长度512字节相乘,然后除以32便得到文件登记项的数量,再将该数量置入所述分区引导区中的‘根目录登记项编号’字段。将尺寸1置入所述分区引导区中的‘每个FAT的扇区数’字段,表示每个FAT中的扇区数量。所述访问装置200在确定所述双FAT、根目录登记项和用户区的位置时,将参考置入分区表和分区引导区的这些值。The SC is put into the field of 'number of sectors per cluster' in the boot area of the partition to indicate the number of sectors contained in each cluster. In addition, multiply the RDE representing the number of sectors by the sector length of 512 bytes, and then divide by 32 to obtain the number of file entries, and then put the number into the 'root directory entry number' in the boot area of the partition ' field. Put size 1 into the field of 'the number of sectors per FAT' in the boot area of the partition, indicating the number of sectors in each FAT. When the access device 200 determines the positions of the double FAT, the root directory entry and the user area, it will refer to these values placed in the partition table and partition boot area.

这是对图13中的流程图的解释。下述示例性计算将说明当TS为65568时,如何计算所述分区和系统的大小。This is an explanation of the flowchart in FIG. 13 . The following example calculations will illustrate how the partition and system sizes are calculated when the TS is 65568.

由于TS为65568,在步骤S1,所述文件系统操作单元9将簇的大小确定为32扇区。一旦将簇的大小确定为32扇区,在步骤S2,所述文件系统操作单元9就会根据所述簇的大小SC和总扇区的大小TS确定应使用FAT12文件系统。在这些实施方案中,RDE和RSC分别定为32扇区和1扇区,因此不执行步骤S3和S4的计算。在步骤S5,所述文件操作系统用公式11和12计算所述FAT的数据长度。这里,由于FAT为FAT12,所以进行下面的计算。Since TS is 65568, in step S1, the file system operation unit 9 determines the cluster size as 32 sectors. Once the size of the cluster is determined to be 32 sectors, in step S2, the file system operation unit 9 determines that the FAT12 file system should be used according to the size SC of the cluster and the size TS of the total sectors. In these embodiments, RDE and RSC are set to be 32 sectors and 1 sector respectively, so the calculations of steps S3 and S4 are not performed. In step S5, the file operating system uses formulas 11 and 12 to calculate the data length of the FAT. Here, since the FAT is FAT12, the following calculation is performed.

尺寸1=(((((TS-(RSC+RDE))/SC)+2)×12/8)+511)/512Size 1 = (((((TS-(RSC+RDE))/SC)+2)×12/8)+511)/512

     =(((((65568-(1+32))/SC)+2)×12/8)+511)/512=(((((65568-(1+32))/SC)+2)×12/8)+511)/512

     =7扇区= 7 sectors

一旦计算出尺寸1,在步骤S6,所述文件系统操作单元9用公式12计算NOM,以便使所述主引导记录和分区引导区位于不同的簇中。Once size 1 is calculated, at step S6, the file system operation unit 9 calculates NOM using Equation 12 so that the master boot record and partition boot area are located in different clusters.

NOM=(SC-(RSC+RDE+尺寸1×2)%SC)+SCNOM=(SC-(RSC+RDE+size 1×2)%SC)+SC

   =(32-(1+32+7×2)%32)+32=(32-(1+32+7×2)%32)+32

   =49扇区= 49 sectors

一旦计算出NOM,在步骤S7,所述文件系统操作单元9用公式13计算在所述常规区中的簇数。Once the NOM is calculated, the file system operation unit 9 calculates the number of clusters in the normal area using Equation 13 at step S7.

CN=(TS-(RSC+RDE+尺寸1×2+NOM))/SCCN=(TS-(RSC+RDE+Size 1×2+NOM))/SC

  =(65568-(1+32+7×2+49))/32=(65568-(1+32+7×2+49))/32

  =2046扇区=2046 sectors

在步骤S8,所述文件系统操作单元9用公式14计算所述FAT的数据长度。In step S8, the file system operation unit 9 calculates the data length of the FAT using formula 14.

对于FAT12:尺寸2=(((CN+2)×12/8)+511)/512For FAT12: Size 2 = (((CN+2)×12/8)+511)/512

                =(((2046+2)×12/8)+511)/512=(((2046+2)×12/8)+511)/512

                =6扇区= 6 sectors

在步骤S9,所述文件系统操作单元9比较在步骤S5计算出的尺寸1和在步骤S8计算出的尺寸2。这里,尺寸1为7扇区,尺寸2为6扇区。由于这两个值不相等,所以所述文件系统操作单元9转到步骤S10,用尺寸1替代尺寸2,再转到步骤S6并计算NOM。In step S9, the file system operation unit 9 compares the size 1 calculated in step S5 with the size 2 calculated in step S8. Here, size 1 is 7 sectors, and size 2 is 6 sectors. Since the two values are not equal, the file system operation unit 9 goes to step S10, replaces size 2 with size 1, goes to step S6 and calculates the NOM.

NOM=(SC-(RSC+RDE+尺寸1×2)%SC)+SCNOM=(SC-(RSC+RDE+size 1×2)%SC)+SC

   =(32-(1+32+6×2)%32)+32=(32-(1+32+6×2)%32)+32

   =51扇区= 51 sectors

一旦计算出NOM,在步骤S7,所述文件系统操作单元9计算所述常规区中的簇数。Once NOM is calculated, at step S7, the file system operation unit 9 calculates the number of clusters in the normal area.

CN=(TS-(RSC+RDE+尺寸1×2+NOM))/SCCN=(TS-(RSC+RDE+Size 1×2+NOM))/SC

    (65568-(1+32+6×2+49))/32(65568-(1+32+6×2+49))/32

  =2046扇区=2046 sectors

在步骤S8,计算所述FAT的数据长度。In step S8, the data length of the FAT is calculated.

对于FAT12:尺寸2=(((CN+2)×12/8)+511)/512For FAT12: Size 2 = (((CN+2)×12/8)+511)/512

                =(((2046+2)×12/8)+511)/512=(((2046+2)×12/8)+511)/512

                =6=6

接着该计算,在步骤S9,所述文件系统操作单元9比较尺寸1和尺寸2,由于这两个值相等,所以流程图的处理结束。Following this calculation, at step S9, the file system operation unit 9 compares size 1 and size 2, and since these two values are equal, the processing of the flowchart ends.

如上所示,由于本实施方案能够计算出NOM,所以所述分区和系统区的大小是所述可擦块数量的整数倍,因此保证了簇的存储不会跨越两个可擦块。簇的边界与可擦块的边界一致,而所述卷管理信息的边界与一个可擦块的边界一致,这样,当对一个簇进行重写或改写时,需要擦除的可擦块的数量就限制为一个,因此减少了任意一个可擦块需要擦除的次数。因而缩短了向所述半导体存储卡100写入数据所需的时间,而且能够延长非易失存储器1的寿命。第二实施方案As shown above, since NOM can be calculated in this embodiment, the size of the partition and system area is an integer multiple of the number of erasable blocks, thus ensuring that the storage of clusters will not span two erasable blocks. The boundary of the cluster is consistent with the boundary of the erasable block, and the boundary of the volume management information is consistent with the boundary of an erasable block. In this way, when a cluster is rewritten or rewritten, the number of erasable blocks that need to be erased is limited to one, thus reducing the number of times any erasable block needs to be erased. Therefore, the time required for writing data to the semiconductor memory card 100 is shortened, and the life of the nonvolatile memory 1 can be extended. second embodiment

第二实施方案提出一种安排:将所述卷区分为一个普通用户能访问的区域(用户数据区)和一个存储保密数据的区域(保护区)。The second embodiment proposes an arrangement in which the volume area is divided into an area (user data area) accessible to ordinary users and an area (protected area) storing confidential data.

第二实施方案中的访问装置200和半导体存储卡100的结构如图14所示。在该图中所示的内部结构中,与图3A中所示的相反,所述非易失存储器1已提供了一个保护区,而且所述半导体存储卡100和访问装置200也分别提供了保密处理单元11和12。The structures of the access device 200 and the semiconductor memory card 100 in the second embodiment are shown in FIG. 14 . In the internal structure shown in this figure, contrary to that shown in FIG. 3A, the nonvolatile memory 1 has provided a protected area, and the semiconductor memory card 100 and the access device 200 have provided security respectively. Processing units 11 and 12.

下面阐述提供的保密处理单元11,该单元执行对所述非易失存储器1中的保护区的保密读和写。如图15所示,该保密处理单元11包括:系统区13、隐藏区14、AKE处理单元15、Ks解密单元16和Ks加密单元17。A secure processing unit 11 is provided which performs secure reading and writing of protected areas in said non-volatile memory 1, as explained below. As shown in FIG. 15 , the security processing unit 11 includes: a system area 13 , a hidden area 14 , an AKE processing unit 15 , a Ks decryption unit 16 and a Ks encryption unit 17 .

所述系统区13是一块用于存储介质密钥程序块(MKB)和介质-ID的只读区域。存储在该区域中的MKB和介质-ID不能改写。假设所述半导体存储卡100和访问装置200相连,便通过该访问装置200读取MKB和介质-ID。如果所述访问装置200利用该MKB、介质-ID和一种内部存储的设备密钥Kd正确地执行特定计算,便能得到正确的加密密钥Kmu。The system area 13 is a read-only area for storing a media key block (MKB) and a media-ID. MKB and Media-ID stored in this area cannot be rewritten. Assuming that the semiconductor memory card 100 is connected to the access device 200, the MKB and the medium-ID are read through the access device 200. If the access device 200 correctly performs specific calculations using the MKB, medium-ID and an internally stored device key Kd, the correct encryption key Kmu can be obtained.

所述隐藏区14存储所述加密密钥Kmu的正确值,换句话说,如果所述访问装置200使用有效的设备密钥Kd执行正确的计算,就应得到所述加密密钥Kmu。The hidden area 14 stores the correct value of the encryption key Kmu, in other words, the encryption key Kmu should be obtained if the access device 200 performs a correct calculation using a valid device key Kd.

所述AKE(验证和密钥交换)处理单元15用询问-响应方法执行所述访问装置200与半导体存储卡100之间的相互验证,校验相对设备的真实性,如果该相对设备无效,则停止处理。但如果该相对设备有效,则在所述访问装置200与半导体存储卡100之间共享一个加密密钥(对话关键字Ks)。由所述访问装置200执行的验证分三个阶段:首先,在第一询问阶段,该访问装置200产生一个随机数,用所述加密密钥Kmu对该随机数进行加密,并将该加密的随机数作为询问值A传递给所述半导体存储卡100;其次,在第一响应阶段,该半导体存储卡100利用内部存储的加密密钥Kmu解密所述询问值A,并将该解密值作为响应值B传递给所述访问装置200;最后,在第一校验阶段,所述访问装置200利用其加密密钥Kmu解密内部存储的所述询问值A,并将该解密值与所述半导体存储卡100传递来的响应值B进行比较。The AKE (authentication and key exchange) processing unit 15 performs mutual authentication between the access device 200 and the semiconductor memory card 100 using a challenge-response method, checks the authenticity of the relative device, and if the relative device is invalid, then Stop processing. However, if the relative device is valid, an encryption key (session key Ks) is shared between the access device 200 and the semiconductor memory card 100 . The verification performed by the access device 200 is divided into three stages: first, in the first inquiry stage, the access device 200 generates a random number, encrypts the random number with the encryption key Kmu, and sends the encrypted The random number is sent to the semiconductor memory card 100 as the query value A; secondly, in the first response phase, the semiconductor memory card 100 uses the internally stored encryption key Kmu to decrypt the query value A, and uses the decrypted value as a response The value B is passed to the access device 200; finally, in the first verification stage, the access device 200 uses its encryption key Kmu to decrypt the interrogation value A stored inside, and compares the decrypted value with the semiconductor storage The response value B transmitted from the card 100 is compared.

由所述半导体存储卡100执行的验证也分三个阶段:首先,在第二询问阶段,该半导体存储卡100产生一个随机数,用所述加密密钥Kmu对该随机数进行加密,并将该加密的随机数作为询问值C传递给所述访问装置200;其次,在第二响应阶段,该访问装置200利用内部存储的加密密钥Kmu解密所述询问值C,并将该解密值作为响应值D传递给所述半导体存储卡100;最后,在第二校验阶段,所述半导体存储卡100利用其加密密钥Kmu解密内部存储的所述询问值C,并将该解密值与所述访问装置200传递来的响应值D进行比较。The verification performed by the semiconductor memory card 100 is also divided into three stages: first, in the second inquiry stage, the semiconductor memory card 100 generates a random number, encrypts the random number with the encryption key Kmu, and The encrypted random number is sent to the access device 200 as the query value C; secondly, in the second response stage, the access device 200 uses the internally stored encryption key Kmu to decrypt the query value C, and uses the decrypted value as The response value D is transmitted to the semiconductor memory card 100; finally, in the second verification stage, the semiconductor memory card 100 uses its encryption key Kmu to decrypt the internally stored query value C, and compares the decrypted value with the Compare with the response value D transmitted from the access device 200.

如果所述访问装置200使用无效的加密密钥执行相互验证,则第一校验阶段的询问值A和响应值B,以及第二校验阶段的询问值C和响应值D将被判定为非匹配值,而且将停止相互验证。但是,如果所述相对设备的真实性得到确认,那么所述AKE处理单元15将计算出询问值A和询问值C的异或值,并通过利用所述加密密钥Kmu解密该异或值便得到所述对话关键字Ks。If the access device 200 performs mutual authentication using an invalid encryption key, the challenge value A and response value B of the first verification stage, and the challenge value C and response value D of the second verification stage will be judged to be invalid. matches the value, and mutual authentication will stop. However, if the authenticity of the relative device is confirmed, the AKE processing unit 15 will calculate the XOR value of the challenge value A and the challenge value C, and decrypt the XOR value by using the encryption key Kmu to obtain Obtain the dialogue keyword Ks.

当与所述半导体存储卡100相连的访问装置200输出要写入所述保护区的加密数据时,所述Ks解密单元16用所述对话关键字Ks解密这些在输出前就已经由该对话关键字Ks加密了的数据。将通过该解密得到的这些数据写入所述保护区内,作为原始数据。When the access device 200 connected to the semiconductor memory card 100 outputs the encrypted data to be written into the protected area, the Ks decryption unit 16 decrypts the encrypted data that has been encrypted by the session key before output with the session key Ks. The data encrypted by the word Ks. Write the data obtained through the decryption into the protected area as original data.

所述Ks加密单元17接到由与所述半导体存储卡100相连的访问装置200发出的读数据指令,用所述对话关键字Ks加密存储在保护区中的数据,然后向访问装置200输出这些加密的数据。对所述保护区执行数据的读和写是在所述Ks解密单元16执行解密和Ks加密单元17执行加密之后进行的,所以,只有当所述半导体存储卡100和相连的访问装置200成功地执行了AKE处理时,才能访问所述保护区。Described Ks encryption unit 17 is received by the read data instruction that is sent by the access device 200 that is connected with described semiconductor memory card 100, encrypts the data that is stored in the protected area with described dialogue keyword Ks, then to access device 200 output these encrypted data. The reading and writing of data to the protected area is carried out after the Ks decryption unit 16 performs decryption and the Ks encryption unit 17 performs encryption, so only when the semiconductor memory card 100 and the connected access device 200 successfully The protected area can only be accessed when AKE processing is performed.

下面参照图16中的包含所述保护区的卷区详图来阐述所述第二实施方案的卷区格式。在本图中,如果所述卷区总的大小为‘卷大小’,那么用户区是一块从该卷区开始处延伸出的‘卷大小×(1-β)’,并将接着该用户区的‘卷大小×β’区域划为所述保护区。其中,β的最小设定值为0.01。例如,如果卷大小为64MB且β为0.01,则保护区设定在640KB。在所述文件系统操作单元9执行图9所示的初始化处理时,便可实现所数用户数据区和保护区的格式。The volume format of the second embodiment is explained below with reference to the detailed view of the volume area including the protected area in FIG. 16 . In this figure, if the total size of the volume area is 'volume size', then the user area is a piece of 'volume size x (1-β)' extending from the beginning of the volume area, and will be followed by the user area The 'volume size x β' area is designated as the protected area. Among them, the minimum setting value of β is 0.01. For example, if the volume size is 64MB and β is 0.01, the protected area is set at 640KB. When the file system operation unit 9 executes the initialization process shown in FIG. 9, the formats of the user data area and the protected area can be realized.

如下描述为一示例性计算,计算当所述用户数据区中的总扇区数TS为124160时,该用户数据区中的分区控制区和系统区的大小。The following is an exemplary calculation to calculate the sizes of the partition control area and the system area in the user data area when the total number of sectors TS in the user data area is 124160.

由于TS为124160,在步骤S1,所述文件系统操作单元9确定簇的大小为32扇区。一旦确定了簇的大小为32扇区,在步骤S2,该文件系统操作单元9便参照簇的大小SC和总扇区大小TS确定应使用FAT12文件系统。在这些实施方案中,所述RDE和RSC的大小分别定为32扇区和1扇区,所以不执行步骤S3和S4的计算。在步骤5,该文件操作系统用公式11和12计算所述FAT的数据长度。这里,由于该FAT是FAT12,所以执行下述计算。Since TS is 124160, in step S1, the file system operation unit 9 determines that the cluster size is 32 sectors. Once it is determined that the cluster size is 32 sectors, in step S2, the file system operation unit 9 determines that the FAT12 file system should be used with reference to the cluster size SC and the total sector size TS. In these implementations, the sizes of the RDE and RSC are set to 32 sectors and 1 sector respectively, so the calculations in steps S3 and S4 are not performed. In step 5, the file operating system calculates the data length of the FAT using formulas 11 and 12. Here, since the FAT is FAT12, the following calculation is performed.

尺寸1=(((((TS-(RSC+RDE))/SC)+2)×12/8)+511)/512Size 1 = (((((TS-(RSC+RDE))/SC)+2)×12/8)+511)/512

     =(((((124160-(1+32))/32)+2)×12/8)+511)/512=(((((124160-(1+32))/32)+2)×12/8)+511)/512

=12扇区= 12 sectors

一旦计算出尺寸1,在步骤S6,所述文件系统操作单元9用公式12计算NOM,以便使所述主引导记录和分区引导区位于不同的簇中。Once size 1 is calculated, at step S6, the file system operation unit 9 calculates NOM using Equation 12 so that the master boot record and partition boot area are located in different clusters.

NOM=(SC-(RSC+RDE+尺寸1×2)%SC)+SCNOM=(SC-(RSC+RDE+size 1×2)%SC)+SC

   =(32-(1+32+12×2)%32)+32=(32-(1+32+12×2)%32)+32

   =39扇区= 39 sectors

一旦计算出NOM,在步骤S7,所述文件系统操作单元9用公式13计算在所述常规区中的簇数。Once the NOM is calculated, the file system operation unit 9 calculates the number of clusters in the normal area using Equation 13 at step S7.

CN=(TS-(RSC+RDE+尺寸1×2+NOM))/SCCN=(TS-(RSC+RDE+Size 1×2+NOM))/SC

  =(124160-(1+32+12×2+49))/32=(124160-(1+32+12×2+49))/32

  =3877扇区=3877 sectors

在步骤S8,所述文件系统操作单元9用公式14重新计算所述FAT的数据长度。In step S8, the file system operation unit 9 recalculates the data length of the FAT using formula 14.

对于FAT12:尺寸2=(((CN+2)×12/8)+511)/512For FAT12: Size 2 = (((CN+2)×12/8)+511)/512

                =(((3877+2×12/8)+511)/512=(((3877+2×12/8)+511)/512

                =12扇区= 12 sectors

在步骤S9,所述文件系统操作单元9比较在步骤S5计算出的尺寸1和在步骤S8计算出的尺寸2。这里,所计算的尺寸1和尺寸2均为12扇区,所以判定这两个值相等,该流程图处理结束。In step S9, the file system operation unit 9 compares the size 1 calculated in step S5 with the size 2 calculated in step S8. Here, the calculated size 1 and size 2 are both 12 sectors, so it is judged that these two values are equal, and the process of this flowchart ends.

当所述系统区和分区控制区是通过用上述计算公式计算出的TS、尺寸1和NOM构成时,所述保护区的配置如图17所示。如果比较该图与图12,能够看出:所述双FAT的大小已由14扇区增加为24扇区,而预留信息1/2和2/2的大小已由17扇区缩减为7扇区,这样,分区控制区和系统区恰好安排在3个可擦块中。When the system area and partition control area are constituted by TS, size 1 and NOM calculated by using the above calculation formula, the configuration of the protection area is as shown in FIG. 17 . If you compare this figure with Figure 12, it can be seen that the size of the double FAT has been increased from 14 sectors to 24 sectors, and the size of reserved information 1/2 and 2/2 has been reduced from 17 sectors to 7 sectors In this way, the partition control area and the system area are arranged exactly in 3 erasable blocks.

如下描述为一示例性计算,计算所述用户数据区中的总扇区数TS为1280时,所述保护区中的分区控制区和系统区的大小。The following description is an exemplary calculation. When the total number of sectors TS in the user data area is 1280, the sizes of the partition control area and the system area in the protection area are calculated.

由于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,所以执行下述计算。Since TS is 1280, at step S1, the file system operation unit 9 determines that the size of the cluster is 2 sectors (1 KB of memory, and only 1/16 of the size of the user data area). Once it is determined that the cluster size is 2 sectors, in step S2, the file system operation unit 9 determines that the FAT12 file system should be used with reference to the cluster size SC and the total sector size TS. In these embodiments, the sizes of the RDE and RSC are set to 32 sectors and 1 sector respectively, so steps S3 and S4 are not performed. In step 5, the file operating system calculates the data length of the FAT using formulas 11 and 12. Here, since the FAT is FAT12, the following calculation is performed.

尺寸1=(((((TS-(RSC+RDE))/SC)+2)×12/8)+511)/512Size 1 = (((((TS-(RSC+RDE))/SC)+2)×12/8)+511)/512

     =(((((1280-(1+32))/2)+2)×12/8)+511)/512=(((((1280-(1+32))/2)+2)×12/8)+511)/512

     =2扇区= 2 sectors

一旦计算出尺寸1,在步骤S6,所述文件系统操作单元9用公式12计算NOM,以便使所述主引导记录和分区引导区位于不同的簇中。Once size 1 is calculated, at step S6, the file system operation unit 9 calculates NOM using Equation 12 so that the master boot record and partition boot area are located in different clusters.

NOM=(SC-(RSC+RDE+尺寸1×2)%SC)+SCNOM=(SC-(RSC+RDE+size 1×2)%SC)+SC

   =(2-(1+32+2×2)%2)+2=(2-(1+32+2×2)%2)+2

   =3扇区= 3 sectors

一旦计算出NOM,在步骤S7,所述文件系统操作单元9用公式13计算在所述常规区中的簇数。Once the NOM is calculated, the file system operation unit 9 calculates the number of clusters in the normal area using Equation 13 at step S7.

CN=(TS-(RSC+RDE+尺寸1×2+NOM))/SCCN=(TS-(RSC+RDE+Size 1×2+NOM))/SC

  =(1280-(1+32+2×2+3))/32=(1280-(1+32+2×2+3))/32

  =620扇区=620 sectors

在步骤S8,所述文件系统操作单元9用公式14计算所述FAT的数据长度。In step S8, the file system operation unit 9 calculates the data length of the FAT using formula 14.

对于FAT12:尺寸2=(((CN+2)×12/8)+511)/512For FAT12: Size 2 = (((CN+2)×12/8)+511)/512

                =(((620+2)×12/8)+511)/512=(((620+2)×12/8)+511)/512

                =2=2

在步骤S9,所述文件系统操作单元9比较在步骤S5计算出的尺寸1和在步骤S8计算出的尺寸2。这里,所计算的尺寸1和尺寸2均为2扇区,所以判定这两个值相等,该流程图处理结束。In step S9, the file system operation unit 9 compares the size 1 calculated in step S5 with the size 2 calculated in step S8. Here, since the calculated size 1 and size 2 are both 2 sectors, it is judged that these two values are equal, and the process of this flowchart ends.

当所述系统区和分区控制管理区是通过用上述计算公式计算出的TS、尺寸1和NOM的大小构成时,所述保护区的安排如图18所示。在本实施方案中,用户数据区和保护区均含有一个分区控制区、一个系统区和一个保护区,所以,所述访问装置200将每个区均当作是一块独立的物理介质。这样,虽然所述用户数据区和保护区所含簇的大小不同,但该用户数据区和保护区的边界均能够与可擦块的边界一致。When the system area and partition control management area are composed of TS, size 1 and NOM calculated by the above calculation formula, the arrangement of the protection area is as shown in FIG. 18 . In this embodiment, both the user data area and the protected area include a partition control area, a system area and a protected area, so the access device 200 regards each area as an independent physical medium. In this way, although the sizes of the clusters contained in the user data area and the protection area are different, the boundaries of the user data area and the protection area can be consistent with the boundaries of the erasable block.

在上述实施方案中,即使所述卷区包括两个区域—用户数据区和保护区,这些区域的边界也与可擦块的边界一致,所以,簇的重写能够在短时间内完成。而且,减少了可擦块需要擦除的次数,因此,不会不必要地缩短所述非易失存储器的寿命。第三实施方案In the above embodiment, even though the volume area includes two areas—the user data area and the protection area, the boundaries of these areas coincide with the boundaries of the erasable blocks, so the cluster rewriting can be completed in a short time. Moreover, the number of erasable blocks that need to be erased is reduced, so the lifetime of the non-volatile memory is not shortened unnecessarily. third embodiment

第三实施方案涉及一种在擦除可擦块中存储的数据时所使用的改进方法,其中所述可擦块用逻辑地址和物理地址进行管理。在本实施方案中的访问控制单元2的结构如图19所示。图中,该访问控制单元2包括:指令解码单元21、逻辑/物理地址转换单元22、读控制单元23、分配变换单元24、写控制单元25、擦除控制单元26和修改控制单元27。A third embodiment relates to an improved method used in erasing data stored in an erasable block managed with logical addresses and physical addresses. The structure of the access control unit 2 in this embodiment is shown in FIG. 19 . In the figure, the access control unit 2 includes: an instruction decoding unit 21 , a logical/physical address conversion unit 22 , a read control unit 23 , an allocation conversion unit 24 , a write control unit 25 , an erasure control unit 26 and a modification control unit 27 .

所述指令解码单元21接收由访问装置200发出的指令,并在发出点解码出指令的原始内容。如果收到读指令,指令解码单元21命令所述读控制单元23从非易失存储器1中读出数据(读)。如果收到写指令,指令解码单元21则命令所述写控制单元25将数据写入非易失存储器1(写)。如果收到指定一个未经擦除的块作为访问目标的写指令,则指令解码单元21命令所述修改控制单元修改(重写)存储在非易失存储器1中的数据(修改)。如果收到获取状态指令,指令解码单元21则命令所述分配变换单元24读出已擦块的列表(稍后再解释该规定)。如果收到擦除指令,指令解码单元21则命令所述分配变换单元24擦除所指定的可擦块。The instruction decoding unit 21 receives the instruction issued by the access device 200, and decodes the original content of the instruction at the point of issuance. If a read instruction is received, the instruction decoding unit 21 instructs the read control unit 23 to read data from the nonvolatile memory 1 (read). If a write instruction is received, the instruction decoding unit 21 instructs the write control unit 25 to write data into the non-volatile memory 1 (write). If a write instruction designating a non-erased block as an access target is received, the instruction decoding unit 21 instructs the modification control unit to modify (rewrite) the data stored in the nonvolatile memory 1 (modify). If an acquire state instruction is received, the instruction decoding unit 21 instructs the allocation transformation unit 24 to read the list of erased blocks (the specification will be explained later). If an erasing instruction is received, the instruction decoding unit 21 instructs the allocation transformation unit 24 to erase the specified erasable block.

所述逻辑/物理地址转换单元22包含一个表示可擦块的逻辑和物理地址之间对应关系的地址对应表。当由所述访问装置200确定出所要访问的逻辑地址时,该逻辑/物理地址转换单元22便参照所述地址对应表中所示的该逻辑地址的对应关系,将该逻辑地址转换为相应的物理地址,并向所述读控制单元23、分配变换单元24和修改控制单元27输出该物理地址。The logical/physical address conversion unit 22 includes an address correspondence table representing the correspondence between the logical and physical addresses of the erasable block. When the logical address to be accessed is determined by the access device 200, the logical/physical address conversion unit 22 refers to the corresponding relationship of the logical address shown in the address correspondence table, and converts the logical address into a corresponding physical address, and output the physical address to the read control unit 23, allocation transformation unit 24 and modification control unit 27.

当所述访问装置200发出读指令时,便由所述写控制单元23进行控制,使得该访问装置200能够读出存储在该读指令所定义的读位置上的数据。When the access device 200 issues a read command, it is controlled by the write control unit 23 so that the access device 200 can read the data stored in the read position defined by the read command.

所述分配变换单元24存有一个已擦块列表,在该列表中,已经擦除的可擦块的物理地址按先进先出(FIFO)的格式安排。当所述访问装置200发出读指令,该分配变换单元24则判断被定义为读目标的逻辑地址所对应的物理地址是否在该已擦块列表中存在。如果判断这个物理地址存在,则该分配变换单元14向所述写控制单元25输出该物理地址,并将该物理地址从已擦块列表中删除。如果相应物理地址所指示的可擦块还未经擦除,则该分配变换单元24就会将所述已擦块列表的始端物理地址作为读目标分配给该逻辑地址,并向所述读控制单元25输出这个已分配的物理地址,而将先前作为读目标分配给该逻辑地址的那个物理地址加在所述已擦块列表的结尾处。另外,当该访问装置200发出获取状态指令时,所述分配变换单元24便将该已擦块列表中所示的物理地址转换成逻辑地址,并向该访问装置200输出一个用逻辑地址表指示已擦除可擦块的已擦块列表。如果指示一个逻辑地址的擦除指令已经由该访问装置200发出,那么所述分配变换单元24将控制操作以便将对应于该逻辑地址的物理地址加入到所述的已擦块列表中。The allocation conversion unit 24 stores an erased block list, in which the physical addresses of erased erasable blocks are arranged in a first-in-first-out (FIFO) format. When the access device 200 issues a read command, the allocation transformation unit 24 judges whether the physical address corresponding to the logical address defined as the read target exists in the erased block list. If it is judged that the physical address exists, the allocation transformation unit 14 outputs the physical address to the write control unit 25, and deletes the physical address from the erased block list. If the erasable block indicated by the corresponding physical address has not yet been erased, then this allocation conversion unit 24 will distribute the physical address of the beginning of the erased block list to the logical address as the read target, and send to the read control Unit 25 outputs this allocated physical address, adding at the end of the erased block list the physical address previously allocated to this logical address as a read target. In addition, when the access device 200 sends an instruction to acquire status, the allocation conversion unit 24 converts the physical address shown in the erased block list into a logical address, and outputs a logical address table instruction to the access device 200. Erased block list of erased blocks. If an erase command indicating a logical address has been issued by the access device 200, the allocation transformation unit 24 will control the operation so as to add the physical address corresponding to the logical address into the erased block list.

当收到对一个块进行写操作的写指令时,所述写控制单元25便根据分配变换单元24输出的物理地址将数据写入非易失存储器1中。When receiving a write instruction to perform a write operation on a block, the write control unit 25 writes data into the non-volatile memory 1 according to the physical address output by the allocation transformation unit 24 .

擦除控制单元26按固定间隔进行轮询来确定一个未擦块的物理地址是否已被加到所述已擦块列表中。如这个物理地址已被添加,则该擦除控制单元24擦除该物理地址所指示的可擦块。Erase control unit 26 polls at regular intervals to determine whether the physical address of an unerased block has been added to the erased block list. If the physical address has been added, the erase control unit 24 erases the erasable block indicated by the physical address.

当收到对已经写有数据的可擦块进行修改的写指令时,所述修改控制单元27便将数据从非易失存储器1读到所述工作存储器3中,并对保持在该工作存储器3中的数据进行修改,然后将这些修改后的数据从工作存储器3写入非易失存储器1。这种由所述修改控制单元27执行的修改处理是通过与所述分配变换单元24的协同处理而完成的。由所述修改控制单元27执行的这种数据修改处理流程按时间顺序如图20所示。When receiving a write instruction to modify an erasable block that has been written with data, the modification control unit 27 will read the data from the non-volatile memory 1 into the working memory 3, and keep the data in the working memory 3 to modify the data, and then write the modified data from the working memory 3 to the non-volatile memory 1. Such modification processing performed by the modification control unit 27 is accomplished through cooperative processing with the allocation conversion unit 24 . The flow of such data modification processing executed by the modification control unit 27 is shown in FIG. 20 in chronological order.

在图20A中所示的初始状态,数据当前存储在阴影块中(块的物理地址为001、002、004、007~015),且预留块003、005和006已经经过擦除。表示已擦除块的物理地址003、005和006按排在所述已擦块列表中。在表示逻辑地址和物理地址之间的对应关系的地址对应表中,逻辑地址001、002、003、004和005分别对应物理地址001、002、003、004和005。In the initial state shown in FIG. 20A , data is currently stored in the shaded blocks (the physical addresses of the blocks are 001, 002, 004, 007~015), and reserved blocks 003, 005, and 006 have been erased. Physical addresses 003, 005 and 006 representing erased blocks are arranged in the erased block list. In the address correspondence table representing the correspondence between logical addresses and physical addresses, logical addresses 001, 002, 003, 004, and 005 correspond to physical addresses 001, 002, 003, 004, and 005, respectively.

这里,如果所述访问装置200所发出的写指令指示将不同的值写入逻辑地址为001的可擦块中,那么所述写控制单元25便将写入逻辑地址001的块中的数据从所述非易失存储器1转到所述工作存储器3中(见图20A箭头‘①读’)。然后写控制单元25对这些写入逻辑地址为001的块中的数据进行修改,而这些块存在于所述工作存储器3中(见图20A箭头‘②修改’)。Here, if the write instruction issued by the access device 200 indicates that different values are written into the erasable block whose logical address is 001, then the write control unit 25 will write the data written in the block of logical address 001 from The non-volatile memory 1 is transferred to the working memory 3 (see arrow '①read' in FIG. 20A). Then the write control unit 25 modifies the data written in the blocks whose logical address is 001, and these blocks exist in the working memory 3 (see arrow '② modify' in FIG. 20A ).

接下来在图2B中,所述修改控制单元27将所述已擦块列表中前面的物理地址003读出,如箭头BN1所示,并将数据写入由该物理地址003所指示的块中,如箭头‘③写’所示。接着在图20C中,所述修改控制单元27将其相应块应被擦除的物理地址001安排在该已擦块列表中,如箭头④所示。Next in Fig. 2B, the modification control unit 27 reads out the previous physical address 003 in the wiped block list, as shown by the arrow BN1, and writes the data into the block indicated by the physical address 003 , as indicated by the arrow '③write'. Next in FIG. 20C , the modification control unit 27 arranges the physical address 001 of its corresponding block to be erased in the erased block list, as shown by arrow ④.

最后,所述修改控制单元27将对应的逻辑地址/物理地址互换,如图20D所示。这里,物理地址003分配给逻辑地址001,物理地址001分配给逻辑地址003。因而通过把数据写入物理地址003便能实现将数据重写入逻辑地址001,然后在逻辑和物理地址之间作相应的转换。Finally, the modification control unit 27 exchanges the corresponding logical address/physical address, as shown in FIG. 20D . Here, physical address 003 is assigned to logical address 001, and physical address 001 is assigned to logical address 003. Therefore, by writing the data into the physical address 003, it is possible to rewrite the data into the logical address 001, and then perform corresponding conversion between the logical and physical addresses.

下面将阐述所述访问装置200的内部结构。图21所示为第三实施方案访问装置200中的文件系统操作单元9的内部结构。图中所示的该文件系统操作单元9包括:一个文件删除单元28和一个优先擦除控制单元29。The internal structure of the access device 200 will be explained below. FIG. 21 shows the internal structure of the file system operating unit 9 in the access device 200 of the third embodiment. The file system operation unit 9 shown in the figure includes: a file deletion unit 28 and a priority erasure control unit 29 .

所述文件删除单元28通过更新从所述主存储器7中读出的FAT来删除文件,并将更新后的FAT写入所述半导存储卡100。如果该应用程序8发出删除文件的指令,则所述文件删除单元28将通过把对应于存储该文件片段的相应簇的FAT登记项设置为‘0’来执行文件的删除,‘0’表示未被使用的那些簇。但是,存储文件片段的这些簇(可擦块)仍未恢复空白状态,所以首先必须将这些簇擦除,才能在这些簇中存储其它文件。因此,擦除处理所需时间的增加与删除旧文件和记录新文件的次数的增加成正比。The file deletion unit 28 deletes files by updating the FAT read from the main memory 7 , and writes the updated FAT into the semiconductor memory card 100 . If the application program 8 sends an instruction to delete a file, then the file deletion unit 28 will delete the file by setting the FAT entry corresponding to the corresponding cluster that stores the file fragment to '0', '0' means not The clusters that are used. However, these clusters (erasable blocks) storing file fragments have not yet returned to a blank state, so these clusters must be erased at first before other files can be stored in these clusters. Therefore, the time required for erasing processing increases in proportion to the increase in the number of times old files are deleted and new files are recorded.

在等待来自应用程序8的指令时,所述优先擦除控制单元29向所述半导体存储卡100发出获取状态指令,命令它读出已擦除的空闲存储器列表。一旦发出该指令及输出所述已擦除空闲存储器列表,该优先控制单元29便收到输出的所述已擦除空闲列表,并将该列表与所述FAT进行比较,以便确定出在该FAT中设置为未使用的多个簇所对应的可擦块。(当一个可擦块包含多个簇时,只能确定出那些全部由未使用簇组成的可擦块)。因此,在这些可擦块中,也要确定已擦块列表中不存在的那些块。这些块是既未使用也未经擦除的可擦块,并且,所述优先擦除控制单元29向所述半导体存储卡100发出擦除指令以命令将这些块擦除。该擦除指令包括一个逻辑地址定义,以及一条将该逻辑地址对应的物理地址加入所述已擦块列表中的指令。当由该擦除控制单元26执行轮询时,如果通过发出这样的擦除指令将一个物理地址加到所述已擦块列表中,那么由该擦除指令所指示的块的擦除方法与其他未使用和未擦除块的处理方法相同。而且对于所有未使用和未擦除的块均执行同样的处理过程。下面将参照图22的流程图来对所述优先擦除控制单元29所执行的详细过程进行阐述。While waiting for an instruction from the application program 8, the priority erasure control unit 29 issues an acquisition status instruction to the semiconductor memory card 100, ordering it to read the erased free memory list. Once the command is issued and the erased free memory list is output, the priority control unit 29 receives the outputted erased free list, and compares the list with the FAT, so as to determine the Erasable blocks corresponding to multiple clusters that are set to be unused. (When an erasable block contains multiple clusters, only those erasable blocks composed of unused clusters can be determined). Therefore, among these erasable blocks, those blocks that do not exist in the list of erased blocks are also determined. These blocks are erasable blocks that are neither used nor erased, and the priority erasure control unit 29 issues an erase instruction to the semiconductor memory card 100 to command erasure of these blocks. The erasing command includes a logical address definition, and a command to add the physical address corresponding to the logical address into the list of erased blocks. When polling is performed by the erasing control unit 26, if a physical address is added to the erased block list by issuing such an erasing command, then the erasing method of the block indicated by the erasing command is the same as Other unused and unerased blocks are treated in the same way. And the same process is performed for all unused and unerased blocks. The detailed process performed by the priority erasing control unit 29 will be described below with reference to the flowchart of FIG. 22 .

在本实施方案中,如果启动该优先擦除控制单元29,它会转到步骤S21~S22的循环处理。在步骤S21,该优先擦除控制单元29判断是否已收到所述应用程序8发出的访问指令,在步骤S22,判断是否已过预定的轮询时间。如果已收到所述应用程序8发出的一条指令,那么该优先擦除控制单元29转到步骤S23,按照该指令执行文件系统操作并访问所述半导体存储卡100。如果已过预定的轮询时间,那么该优先擦除控制单元29从步骤S22转到步骤S24,并向该半导体存储卡100发出获取状态指令以读出所述已擦的空闲列表,接着,在步骤S25,该优先擦除控制单元29处于一种等待状态,等待读出所述已擦块的列表。一旦读出所述已擦块列表,则在步骤S26由该优先擦除控制单元29为所有由FAT中设置为未使用的簇组成的可擦块和所述已擦块列表中不存在的可擦块定义逻辑地址。In this embodiment, if the priority erasing control unit 29 is activated, it will go to the loop processing of steps S21-S22. In step S21, the priority erasing control unit 29 judges whether the access command issued by the application program 8 has been received, and in step S22, judges whether the predetermined polling time has elapsed. If an instruction from the application program 8 has been received, the priority erasure control unit 29 goes to step S23 to perform file system operations and access the semiconductor memory card 100 according to the instruction. If the predetermined polling time has passed, then this priority erasing control unit 29 turns to step S24 from step S22, and sends an acquisition status command to the semiconductor memory card 100 to read out the free list that has been wiped, and then, at Step S25, the priority erasing control unit 29 is in a waiting state, waiting to read out the list of erased blocks. Once the list of erased blocks is read out, in step S26, the priority erasure control unit 29 is used for all erasable blocks made up of unused clusters in the FAT and the erasable blocks that do not exist in the list of erased blocks. A wipe block defines a logical address.

在步骤S27,所述优先擦除控制单元29判断是否存在未使用的仍未擦除的可擦块,如果不存在这样的块,则马上返回到步骤S21~S22的循环处理。如果存在这样的块,则该优先擦除控制单元29执行步骤S28~S30的循环处理。换句话说,该优先擦除控制单元29向所述半导体存储卡100发出擦除指令,以保证将在步骤S26确定的未使用和未擦除的块的每个物理地址上的数据擦除。一旦发出了这样的指令,便在所述已擦块列表中加入每个这种块的物理地址,并进行擦除。In step S27, the priority erasure control unit 29 judges whether there are unused erasable blocks that have not yet been erased, and if there is no such block, immediately return to the loop processing of steps S21-S22. If there is such a block, the priority erasure control unit 29 executes the loop processing of steps S28-S30. In other words, the priority erasure control unit 29 issues an erasure command to the semiconductor memory card 100 to ensure erasure of data at each physical address of the unused and unerased block determined in step S26. Once such an instruction is issued, the physical address of each such block is added to the erased block list and erased.

下面将参照图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被加到所述已擦块列表中,并擦除这些地址所指示的可擦块。The operation of the above-mentioned priority erasure control unit 29 will be described in more detail below with reference to FIGS. 23A and 23B. In the initialization state shown in FIG. 23A, an erasable block address 0001 is set to be in use in the FAT, and physical addresses 0003, 0005, and 0006 are arranged in the erased block list as erased block addresses . Data is stored in blocks of the file system shaded in the figure (addresses 0000, 0001, 0002, 0004). In this state, if there is no instruction from the application program 8, and the predetermined polling time has passed (no in step S21, yes in step S22), the file system operating unit 9 in the access device 200 sends The semiconductor memory card 100 issues an acquire status command to read the erased block list (step S24), and compares the read erased block list with the FAT (step S25). The result of the comparison is to determine those blocks that are set as unused in the FAT, and those blocks whose logical addresses do not exist in the erased block list (the erasable block address is 0000, 0002, 0004) (step S26). Since these blocks are not in use, the file operating system unit 9 sends an erase command to the semiconductor memory card 100 to erase these erasable blocks (steps S28-S30). Therefore, as shown in FIG. 23B, addresses 0000, 0002, and 0004 are added to the erased block list, and the erasable blocks indicated by these addresses are erased.

在上述实施方案中,所述访问装置200从所述半导体存储卡100读出已擦块列表,并将该读出的已擦块列表与所述FAT进行比较,以便确定仍未擦除的未使用的可擦块,并命令该半导体存储卡100将这些块擦除。所以,在等待来自所述应用程序9的指令时,该文件操作系统单元9能将那些仍未擦除的未使用的可擦块擦除,并使这些未使用块的这种擦除更有效地执行。In the above embodiment, the access device 200 reads the erased block list from the semiconductor memory card 100, and compares the read erased block list with the FAT, so as to determine the unerased blocks that have not yet been erased. used erasable blocks, and command the semiconductor memory card 100 to erase these blocks. So, while waiting for an instruction from said application program 9, the file operating system unit 9 can erase those unused erasable blocks which are still not erased and make this erasure of these unused blocks more efficient to execute.

另外,无论何时所述访问装置200空闲,均能执行对未使用块的擦除,所以能大大增加执行块擦除的机会。因此不会存在所述可擦块列表中物理地址不够的危险,而且修改和重写块时的处理效率会大大提高。In addition, erasure of unused blocks can be performed whenever the access device 200 is idle, so the chances of performing block erasure can be greatly increased. Therefore, there is no danger of insufficient physical addresses in the erasable block list, and the processing efficiency when modifying and rewriting blocks will be greatly improved.

在本实施方案中的所述访问装置200中,将所述已擦块列表从所述半导体存储卡100中读出,并确定未使用的和仍未擦除的块。但是,在该半导体存储卡100的访问控制单元2中,所述擦除控制单元26可以根据所述FAT确定出既未使用也未经擦除的块,然后删除这些块。这里,该访问控制单元2将所述已擦块列表中的物理地址换成逻辑地址,并把已转换的地址传给所述访问装置200。但也可以将该已擦块列表和地址对应表传给所述访问装置200,在该访问装置200中执行将物理地址换成逻辑地址。数据擦除可以在删除一个文件时执行,或在执行其它指令时作为并行处理执行。而且,其它信息,例如管理未擦除可擦块的物理地址的未擦块列表可以用来代替管理已擦可擦块的物理地址的已擦块列表。本实施方案用FAT进行描述,但信息可以用列表或其他类似的形式进行存储。第四实施方案In the access device 200 in this embodiment, the erased block list is read out from the semiconductor memory card 100, and unused and unerased blocks are determined. However, in the access control unit 2 of the semiconductor memory card 100, the erasure control unit 26 may determine blocks that are neither used nor erased according to the FAT, and then delete these blocks. Here, the access control unit 2 converts the physical address in the erased block list into a logical address, and transmits the converted address to the access device 200 . However, it is also possible to pass the erased block list and the address correspondence table to the access device 200, in which the physical address is converted into a logical address. Data erasure can be performed while deleting a file, or as a parallel process while executing other commands. Also, other information such as an unerased block list managing physical addresses of non-erased erasable blocks may be used instead of an erased block list managing physical addresses of erased erasable blocks. This embodiment is described using FAT, but the information can be stored in a list or other similar forms. Fourth Embodiment

第四实施方案阐述的是通过用已擦块表代替已擦块列表来执行所述第三实施方案的处理所实现的改进方案。图24所示为第四实施方案的访问装置200 2的内部结构。如果比较该图与图19,能够看出所述已擦块列表已由一个已擦块表替代。第四实施方案中的该已擦块表由多个对应于每个可擦块的登记项组成。如果一个块经过擦除,则相应的登记项置为‘1’,且如果一个块未经擦除,则相应的登记项置为‘0’。该已擦块表通过在该已擦块表中置‘1’或置‘0’来表示每个可擦块的擦除状态。The fourth embodiment illustrates an improvement achieved by performing the processing of the third embodiment with an erased block list instead of an erased block list. Fig. 24 shows the internal structure of the access device 2002 of the fourth embodiment. If this figure is compared with Figure 19, it can be seen that the erased block list has been replaced by an erased block table. The erased block table in the fourth embodiment consists of a plurality of entries corresponding to each erasable block. If a block is erased, the corresponding entry is set to '1', and if a block is not erased, the corresponding entry is set to '0'. The erased block table represents the erasing state of each erasable block by setting '1' or setting '0' in the erased block table.

由于所述已擦块列表已由所述已擦块表代替,所以在第四实施方案中由所述写控制单元25和擦除控制单元26执行的处理在下述方面与第三实施方案中所执行的不同。Since the erased block list has been replaced by the erased block table, the processing performed by the write control unit 25 and the erase control unit 26 in the fourth embodiment is the same as that in the third embodiment in the following respects. Execution is different.

当所述访问装置200产生一条写指令时,所述第四方案中的写控制单元25便根据该已擦块表判断是否将该指令确定的写目标擦除,并判断其是否为一未使用的块。这样,如果所述写目标块是未擦除块,则在往该块中写入新数据之前,由所述写控制单元25令所述擦除控制块26将该块中的数据擦除。换句话说,第四实施方案中的所述写控制单元25在执行写数据前会将数据擦除。When the access device 200 generates a write command, the write control unit 25 in the fourth scheme judges whether to erase the write target determined by the command according to the erased block table, and judges whether it is an unused of blocks. In this way, if the write target block is an unerased block, before writing new data into the block, the write control unit 25 instructs the erasure control block 26 to erase the data in the block. In other words, the write control unit 25 in the fourth embodiment will erase data before writing data.

接着,将阐述第四实施方案中所述优先擦除控制单元29的处理过程。在等待来自所述应用程序8的指令时,该优先擦除控制单元29执行可擦块的擦除。该擦除过程与第三实施方案中所述相同,并在图25的流程图中示出。该流程图除了已将“已擦块列表”换成‘已擦块表’之外,其他均与图22中所示一致。而且由于内容无太大变化,所以这里省去详细的阐述。下面将参照图26A和26B阐述第四实施方案中所述优先擦除控制单元29执行的处理过程。Next, the processing procedure of the priority erasure control unit 29 in the fourth embodiment will be explained. While waiting for an instruction from the application program 8, the priority erasure control unit 29 performs erasure of erasable blocks. This erasing process is the same as described in the third embodiment, and is shown in the flowchart of FIG. 25 . The flow chart is consistent with that shown in Figure 22 except that the "erased block list" has been replaced with an "erased block table". And since the content has not changed much, a detailed explanation is omitted here. The processing performed by the priority erasing control unit 29 in the fourth embodiment will be explained below with reference to FIGS. 26A and 26B.

在图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)。因此,擦除未使用块中的所有数据,然后所述已擦块表将这些块作为已擦除的块进行管理。所以,无需任何擦除处理,便能通过分配未用块来完成数据写处理,而且能够实现高速写数据,所述未用块的分配将在本说明书后面讲述。第五实施方案In the initial state shown in Figure 26A, the block whose address is 0001 is managed as a used block, and the blocks whose addresses are 0003, 0005, and 0006 in the erased block table are managed as blocks of erased data . Data is stored in blocks of non-volatile memory that have been shaded in this figure (addresses 0000, 0001, 0002, 0004). In this initial state, if the blocks are unused but contain data, and a write command to write data to these unused blocks has been generated, data erasing processing needs to be performed. In this embodiment, if the priority erasing control unit 29 is waiting for the application program 8 to issue an instruction, and the predetermined polling time has passed (no in step S21, yes in step S22), then the priority erasing control unit 29 The erased block table is read by sending an acquire state command to the semiconductor memory card 100 (step S24), and the read erased block table is compared with the FAT (step S25). The result of this comparison is to find out blocks that are set as unused in the FAT and whose logical addresses are not managed by the erased block table (the erasable block addresses are 0000, 0002, 0004) (step S26). In FIG. 26, for the blocks with addresses 0000, 0002 and 0004, '0' is set in the FAT and the erased block table, so these blocks are not used and remain as unerased blocks. Since these blocks are unused, the contained data can be safely erased, so the priority erase control unit 29 issues an erase command so that each corresponding address in the erased block table is set to '1' , to indicate that these blocks will be erased (steps S28-S30). Therefore, all data in unused blocks are erased, and then the erased block table manages these blocks as erased blocks. Therefore, data writing processing can be performed without any erasing processing by allocating unused blocks, which will be described later in this specification, and high-speed data writing can be realized. fifth embodiment

第五实施方案提出了一种解决文件分段存储问题的方法。按惯例,文件分段存储指的是将一个文件划分成多个文件片段,然后将这些片段不连续地存储在存储器中的处理。如果在一种记录介质,如一张光盘或一张磁盘上不连续地存储多个文件片段,那么需要查找大量盘片以读出非连续存储的文件片段,于是会加长读处理的时间。为了解决这种分段存储产生的问题,所述文件系统操作单元9将非连续存储的文件片段读出,再将它连续地存储在存储器中(消除分段存储)。如果完成上述处理,则无需执行任何磁盘搜索便能顺利地读出构成一个文件的那些文件片段,且能高速读出数据。这总结概括了多磁盘分段存储问题的解决方法。下面将考虑发生在所述半导体存储卡100中的分段存储。当从所述半导体存储卡100读出数据时,无需进行磁盘搜索,所以如果所述文件片段为非连续存储,那么由于该原因使处理过程加长是不可能的。The fifth embodiment proposes a method for solving the problem of segmented file storage. Conventionally, file fragmentation refers to the process of dividing a file into a plurality of file fragments, and then storing these fragments in a memory discontinuously. If a plurality of file fragments are stored discontinuously on a recording medium, such as an optical disc or a magnetic disk, it is necessary to search a large number of disks to read out the discontinuously stored file fragments, thus prolonging the reading processing time. In order to solve the problem caused by such segmented storage, the file system operation unit 9 reads out the non-contiguously stored file segments, and then stores them continuously in the memory (eliminates segmented storage). If the above-mentioned processing is completed, file fragments constituting one file can be smoothly read out without performing any disk seek, and data can be read out at high speed. This summarizes the solution to the multi-disk fragmentation problem. Fragmented storage that occurs in the semiconductor memory card 100 will be considered below. When data is read out from the semiconductor memory card 100, no disk seek is required, so if the file segments are stored non-sequentially, it is impossible to lengthen the processing for this reason.

但是,虽然磁盘搜索不是问题,但分段存储仍会导致下述情况大幅增加,1.发送指令时发生的附加操作;2.读FAT时发生的高速缓存失误(两种情况将在下面做更详细的描述);因此读出一个文件所需的时间加长了。However, although disk seeks are not a problem, segmented storage will still result in a substantial increase in 1. additional operations when sending commands; 2. cache misses when reading FAT (both cases will be explained below detailed description); thus the time required to read a file is increased.

1.发送指令时发生的附加操作1. Additional operations that occur when sending commands

如果参照图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))。这样便能够看出发送指令时产生的附加操作与文件片段存储的随机程度成正比。It is easier to understand the impact of segmented storage on additional operations when instructions are sent if it is described with reference to FIGS. 27A to 27B . FIG. 27A exemplarily illustrates a situation where a 48KB file is divided into three 16KB file fragments and randomly stored in three areas. Fig. 27B exemplarily illustrates a situation: a 48KB file is stored in a continuous storage area. In FIGS. 27A and 27B, the file system operation unit 9 issues a read command in the format of 'read (address, size)' to the nonvolatile memory to execute reading data. Here, 'address' represents the logical address of the read target, and 'size' represents the size of the data to be read. The time spent for each read command is equal to the sum of the read data time, which is proportional to the length of the read data and a certain additional time required to send the read command. In the data arrangement shown in FIG. 27A, reading file 1 must send three read commands: 'read (0000, 16KB)', 'read (0002, 16KB)' and 'read (0004, 16KB)'. This means that the time required to read out the file is 36 ms (=(8+4)×3). On the other hand, if the data is arranged according to Fig. 27B, then reading all 48KB data of the file only needs to send a read command simply: 'read (0000, 48KB)'. Therefore, in this example, the time required to read the file is 28ms (=(8*3+4)). In this way, it can be seen that the additional operations generated when sending commands are proportional to the randomness of file fragment storage.

2.FAT高速缓存2. FAT cache

FAT缓存是一种将安排在所述半导体存储卡100系统区中的FAT读入到所述访问装置200的内部存储器中的先行读操作,所述访问装置200允许通过访问其内部存储器来高速查询该FAT。如果所述访问装置200是一台具有小规模内部存储器的便携设备,则需经常高速缓存该FAT,并通过依次读取存储器中连续存储的FAT片段对该FAT进行高速缓存。但是,如果FAT已经分段存储,那么高速缓存该FAT将会把包含该FAT的片段和包含其它数据的片段两者按顺序读入所述内部存储器中。如果不读FAT片段而只将数据读入所述内部存储器,则将读入大量非高速缓存目标的数据,便会产生高速缓存失误。如果发生大量这种高速缓存失误,那么所述内部存储器的读入次数便会相应增加,进而延长读该FAT所需的时间。FAT cache is a look-ahead read operation in which the FAT arranged in the system area of the semiconductor memory card 100 is read into the internal memory of the access device 200, and the access device 200 allows high-speed query by accessing its internal memory The FAT. If the access device 200 is a portable device with a small-scale internal memory, the FAT needs to be cached frequently, and the FAT is cached by sequentially reading FAT segments continuously stored in the memory. However, if the FAT has been segmented, caching the FAT will read both the segment containing the FAT and the segment containing other data into the internal memory in sequence. If the data is only read into the internal memory without reading the FAT segment, a large amount of data that is not a cache target will be read, and a cache miss will occur. If a large number of such cache misses occur, the number of reads to the internal memory will increase accordingly, thereby prolonging the time required to read the FAT.

尽管存在这两个问题,但为了解决所述半导体存储卡100中的分段存储问题而采用与解决磁盘中该问题相同的方法是不明智的。其原因是:若要修改存储在所述半导体存储卡块中的数据,则需要擦除已存储的数据,而且与在磁盘上执行同样操作所需的时间相比,该擦除需要更长的处理时间。在本实施方案中,推荐通过改变物理地址与逻辑地址之间的对应关系来作为防止分段存储时增加指令附加操作时间和产生高速缓存失误的对策。换言之,通过改变物理地址与逻辑地址之间的对应关系,使存储FAT片段的块能够用逻辑地址连续地表示,而无需改变其在存储器中的物理安排。Despite these two problems, it is unwise to solve the fragmentation problem in the semiconductor memory card 100 in the same way that it is solved in the magnetic disk. The reason for this is that to modify the data stored in the semiconductor memory card block, the stored data needs to be erased, and the erasing takes longer than the time required to perform the same operation on a magnetic disk. processing time. In this embodiment, it is recommended to change the corresponding relationship between the physical address and the logical address as a countermeasure to prevent the additional operation time of the instruction and the occurrence of a cache miss during segmented storage. In other words, by changing the correspondence between physical addresses and logical addresses, blocks storing FAT segments can be continuously represented by logical addresses without changing their physical arrangement in the memory.

如图27A所示,当把一个48KB的文件划分为3个16KB的片段存储在3个独立的存储区中时,在这些块用逻辑地址连续指示的情况下,所述访问装置200能够读出存储在这三个区域(块)中的文件片段。而读操作是通过发出一条读指令以指明这些逻辑地址的第一条地址及该文件的长度(这里为48KB)来执行的。另外,如果将所述FAT划分为3个片段,并存储在三个存储区(块)中,那么,只要这些块的逻辑地址连续地指示,该访问装置200就能够将这些非连续存储的FAT片段依次读入所述内部存储器中。这里,通过发出依次将每个连续的逻辑地址指定为读目标的读指令来执行读操作。如执行这种处理,便不再发生高速缓存失误。所以,即使多个文件和FAT片段随机存储在多个区域中,由于能够为这些区域分配连续的逻辑地址,也就解决了发出读指令时所产生附加操作的问题,也能避免高速缓存失误的产生。As shown in Figure 27A, when a 48KB file is divided into three 16KB segments and stored in three independent storage areas, when these blocks are continuously indicated by logical addresses, the access device 200 can read File fragments stored in these three areas (blocks). The read operation is performed by sending a read command to indicate the first address of these logical addresses and the length of the file (here is 48KB). In addition, if the FAT is divided into 3 segments and stored in three storage areas (blocks), then, as long as the logical addresses of these blocks are continuously indicated, the access device 200 can store these discontinuously stored FATs Fragments are sequentially read into the internal memory. Here, the read operation is performed by issuing a read instruction sequentially designating each consecutive logical address as a read target. If this processing is performed, cache misses no longer occur. Therefore, even if multiple files and FAT fragments are randomly stored in multiple areas, since continuous logical addresses can be assigned to these areas, the problem of additional operations generated when issuing read instructions is solved, and the problem of cache misses can also be avoided. produce.

所述优先擦除控制单元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。The operation of the priority erasing control unit 29 applying logical addresses to solve the segmented storage problem will be described with reference to the flow chart shown in FIG. 28 . The explanation will also refer to Figure 29, which shows the actual objects to which the variables t, u, v and y correspond in the flowchart. In step S50, the priority erasing control unit 29 assigns initial values (x←1, y←1) to variables x and y. This represents the processing done at the first segment of the first file. Next, in step S51, the priority erasure control unit 29 compares the logical address s corresponding to the block storing the yth fragment of the xth file with the logical address t corresponding to the block storing the y+1th fragment of the xth file Compare to determine if these blocks are adjacent. As shown in Figure 29A, when the y-th segment and the y+1-th segment are stored in non-adjacent erasable blocks, and the order is y→y+1, step S52 is "Yes", and the priority erasing control unit 29 Go to step 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所示发生变化。As shown in FIG. 29B, when the storage order of these segments is y+1→y, the priority erasure control unit 29 turns to step S53, and assigns physical address u to logical address t, and assigns physical address v to logical address s. Accordingly, this change in assigning physical addresses to logical addresses is shown by arrows rv1 and rv2 in FIG. 29B. Next, in step S54, the priority erasure control unit 29 judges whether the logical address of the erasable block storing the y-th segment is continuous with the logical address of the erasable block storing the y+1-th segment. As shown in Figure 29C, if the erasable block storing the y+1th segment is followed by the erasable block storing the yth segment, then the relational expression s+1=t is established, so step S54 is "yes", and the processing is transferred to Go to step S56. If the erasable block storing the y-th segment is not adjacent to the y+1-th segment, then the relational expression s+1=t is not established, step S54 is "No", and the processing goes to step S55. Here, if the physical address corresponding to the logical address s+1 is w, then in step S55, the physical address v of the erasable block storing the y+1th segment is assigned to the logical address s+1, and the physical address w is assigned to the logical address t. As shown in Fig. 29D, when the y-th and y+1-th fragments are stored, if the process of step S55 is executed, the corresponding relationship of addresses will change as indicated by arrows rv3 and rv4.

一旦完成上述处理,所述优先擦除控制单元29便在步骤S56作出判断:变量y是否为最终片段的编号。如果y不是最终编号,所述优先擦除控制单元29便在步骤S57将y加1,并将处理转到步骤S51。通过执行步骤S56的检验,对第x个文件的每个片段重复S51~S57的处理,并在步骤S57将y加1。Once the above processing is completed, the priority erasure control unit 29 makes a judgment in step S56: whether the variable y is the number of the final segment. If y is not the final number, the priority erasure control unit 29 increments y by 1 at step S57, and proceeds to step S51. By performing the check in step S56, repeat the processing of S51 to S57 for each segment of the xth file, and add 1 to y in step S57.

换言之,如果步骤S56为“是”,则所述优先擦除控制单元29在步骤58判断x是否为该文件最后编号,并且,如回答是“否”,则转到步骤S59,将变量X加1(x←x+1),并在步骤S60为变量y赋初值。因此,通过执行步骤S58的检验,对所有文件重复执行步骤S51~S57的处理,并在步骤S59对变量y加1。In other words, if step S56 is "yes", then the priority erasure control unit 29 judges whether x is the last number of the file in step 58, and if the answer is "no", then go to step S59, add variable X to 1(x←x+1), and assign an initial value to variable y in step S60. Therefore, by performing the check of step S58, the processing of steps S51 to S57 is repeatedly performed for all files, and 1 is added to the variable y in step S59.

本实施方案提出的对分段存储所产生问题的解决方法将参照图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的可擦块中。The solution to the problem caused by segmented storage proposed in this embodiment will be described with reference to the example shown in FIG. 30 . In the initial state shown in FIG. 30A, the fragment files 1-1/3, 1-2/3 and 1-3/3 constituting file 1 are stored in erasable blocks corresponding to logical addresses 0000, 0001 and 0004. In addition, the fragment files 2-1/4, 2-2/4, 2-3/4, and 2-4/4 constituting file 2 are stored in erasable blocks corresponding to logical addresses 0002, 0003, 0005, and 0006.

存储片段文件2-1/4的可擦块的对应地址(逻辑地址0002)接着存储片段文件1-2/3的逻辑地址0001,并且存储片段文件1-3/3的可擦块对应的逻辑地址为0004。Store the corresponding address (logical address 0002) of the erasable block of the segment file 2-1/4 and then store the logical address 0001 of the segment file 1-2/3, and store the logic corresponding to the erasable block of the segment file 1-3/3 The address is 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的文件片段均用连续的逻辑地址指示。If the processing method of Fig. 28 flow chart is applied to the embodiment of this figure, then segment file 1-1/3 and segment file 1-2/3 correspond to logic address 0000 and 0001 respectively, like this, the sequence of arrangement of these segments just The order is the same as that of the corresponding logical address, and the corresponding relationship does not need to be exchanged. However, if you notice the relationship between fragment files 1-2/3 and 1-3/3, you can see that when the erasable block storing fragment file 1-2/3 corresponds to logical address 0001, it corresponds to The next erasable block at logical address 0002 will be file 2-1/4. Therefore, "NO" in step S54, and the process goes to step S55. Then, in step S55, the corresponding relationship between the logical address and the physical address of the erasable block of the storage segment file 1-1/3 will be compared with the logical address and the physical address of the erasable block of the storage segment file 2-1/4 The corresponding relationship between them is exchanged. Therefore, fragment files 1-2/3 and 1-3/3 can be represented by continuous logical addresses, so logical address 0004 is assigned to physical address 0002 of the erasable block storing fragment file 2-1/4, and vice versa , the logical address 0002 is allocated to the physical address 0004 of the erasable block storing the segment file 1-3/3. After this change, the corresponding relationship between the physical address and the logical address is shown in FIG. 30B. Once the processing of the segment file 1-3/3 is completed, the processing of the segment file 2-2/4 is performed. In Fig. 30B, the relationship between segment files 2-1/4 and 2-2/4 is: segment file 2-1/4 is stored in the erasable block corresponding to logical address 0004, and the next segment file 2- 2/4 is stored in the erasable block corresponding to logical address 0003. Thus, the logical addresses attached to these fragments should be in reverse order. Therefore, "NO" in step S52, and the process goes to step S53, where the order of addresses corresponding to segment file 2-1/4 and file 2-2/4 is interchanged. Here, the physical address 0002 corresponding to the erasable block storing the segment file 2-1/4 is assigned to the logical address 0003, and the physical address 0003 corresponding to the erasable block storing the segment file 2-2/4 is assigned to the logical address Address 0004. The result of such processing is that the file fragments constituting file 1 and file 2 are all indicated by continuous logical addresses.

在本实施方案中,即使文件片段存储在不连续的存储区中,也能为这些存储区分配连续的逻辑地址,这样便减少了在发出读指令时所产生的附加操作以及在高速缓存FAT和文件时所产生的高速缓存失误。第六实施方案In this embodiment, even if the file fragments are stored in discontinuous storage areas, continuous logical addresses can be assigned to these storage areas, which reduces the additional operations generated when issuing read commands and the cache FAT and File cache misses. Sixth Embodiment

第六实施方案阐述了一种改进方法,该方法应用于用分发业务在所述非易失存储器中记录不同内容,以及在便携式重放设备上重现所记录的这些内容。在该情形下,具有诸如音乐、图像、游戏和文本等多种属性的文件将被存储在所述半导体存储卡100中。如果根据文件类型,文件区在是否可读或可编辑方面是有所差别的,那么所述访问装置200中的文件系统操作单元9就需要在执行读或编辑之前对该文件的内容进行核对。如果每次读或编辑文件时均需要进行这种核对,那么由该文件系统操作单元9执行的处理就会变得复杂。因此,在数字通用盘(DVD)中使用通用盘格式(UDF)为每个文件设置一种扩充属性,这样,无需查看该文件的内容便能够瞬间识别出文件中所存数据的类型。The sixth embodiment sets forth an improved method applied to recording different contents in said non-volatile memory with a distribution service, and reproducing the recorded contents on a portable playback device. In this case, files having various attributes such as music, images, games, and texts are to be stored in the semiconductor memory card 100 . If there is a difference in whether the file area is readable or editable according to the file type, then the file system operating unit 9 in the access device 200 needs to check the contents of the file before reading or editing. If such a check is required every time a file is read or edited, the processing performed by the file system operation unit 9 becomes complicated. Therefore, the universal disc format (UDF) is used in the digital versatile disc (DVD) to set an extended attribute for each file, so that the type of data stored in the file can be recognized instantly without viewing the content of the file.

图31所示为一种扩充属性的实施例。图中所示的该属性是根据所述UDF中的实施用途扩充属性而形成的一种新类型的扩充属性。该扩充属性包括:属性类型2000,属性子类型2010,预留区2020,属性长度2030,实施用途长度2040,实施标识符2050(与所述UDF中实施用途扩充属性的字段相同,所以这里略去更详细的说明)以及实施用途2060。所述实施用途2060包括:一个为所述扩充属性的标题部分存储检验和的标题检验和2061,一个存储文件名的名称2063和一个存储文件属性的特征位2062。将所述特征位2062的每一位设置成‘0’或‘1’来表示文件属性。该特征位2062的第一位表示该对应文件是否为文本文件,第二位表示该对应文件是否为图像文件,第三位以上的区域为预留区。Figure 31 shows an embodiment of an extended attribute. The attribute shown in the figure is a new type of extended attribute formed according to the implementation purpose extended attribute in the UDF. The extended attribute includes: attribute type 2000, attribute subtype 2010, reserved area 2020, attribute length 2030, implementation usage length 2040, implementation identifier 2050 (the same as the field of implementation usage extension attribute in the UDF, so omitted here more detailed description) and implementation use 2060. The implementation usage 2060 includes: a header checksum 2061 to store a checksum for the header part of the extended attribute, a name 2063 to store a file name, and a flag 2062 to store a file attribute. Set each bit of the flag 2062 to '0' or '1' to represent the file attribute. The first bit of the flag 2062 indicates whether the corresponding file is a text file, the second bit indicates whether the corresponding file is an image file, and the area above the third bit is a reserved area.

如果该扩充属性存储在所述半导体存储卡100中,有一个困难是明显的。即如前所述,该半导体存储卡100的卷管理信息服从ISO/IEC9293标准提出的数据格式,因此没有规定为每个文件给定一种扩充属性。If the extended attributes are stored in the semiconductor memory card 100, a difficulty is apparent. That is, as mentioned above, the volume management information of the semiconductor memory card 100 complies with the data format proposed by the ISO/IEC9293 standard, so it is not stipulated to give each file an extended attribute.

在本实施方案中,所述扩充属性存储在保护区和备份区至少一个区域中。由于在第二实施方案中已经阐述过所述保护区,因此在这里略去进一步的阐述。所述备份区独立于所述用户区中常规区的管理。当所述非易失存储器的用户区中出现坏扇区时,分配变换单元24便从所述备份区中选出一个扇区取代该坏扇区。图32所示为含有坏扇区的半导体存储卡100的内部结构。通过在所述保护区或备份区中存储不能在FAT文件系统中定义的新扩充属性,便能够为每个文件设置这种属性。而且,由于通常用户所用的用户区和用户数据区使用的是与新设置的扩充属性完全无关的普通文件系统,所以该系统与其它系统兼容。另外,由于所述访问装置200只需要执行每种文件类型所必需的操作,所以该访问装置200执行的操作更少,因而能够减少访问装置200的存储器尺寸。而且,由于仅借助于所述扩充属性信息而不必借助于该文件的内容便能判断出每个文件的文件类型,因而能够实现高速操作。第七实施方案In this embodiment, the extended attributes are stored in at least one of the protected area and the backup area. Since the protection zone has already been explained in the second embodiment, further explanation is omitted here. The backup area is managed independently of the normal area in the user area. When a bad sector appears in the user area of the nonvolatile memory, the allocation transformation unit 24 selects a sector from the backup area to replace the bad sector. FIG. 32 shows the internal structure of the semiconductor memory card 100 including bad sectors. Such attributes can be set for each file by storing new extended attributes that cannot be defined in the FAT file system in the protected area or the backup area. Furthermore, since the user area and the user data area used by the usual users use an ordinary file system completely irrelevant to the newly set extended attributes, the system is compatible with other systems. In addition, since the access device 200 only needs to perform operations necessary for each type of file, the access device 200 performs fewer operations, thereby reducing the memory size of the access device 200 . Furthermore, since the file type of each file can be judged only by means of the extended attribute information and not necessarily by means of the content of the file, high-speed operation can be realized. Seventh embodiment

本实施方案提出将FAT文件系统中的文件设置为禁止写和禁止读,以进一步加强文件的保护。在通常的FAT文件系统中,能够在文件登记项中对独立文件的属性设置为写禁止和读禁止。当所述访问装置200与所述半导体存储卡100相连时,所述文件系统操作单元9便将卷管理信息读出并保存,并借助于特定文件的文件属性来判断是否能对该文件进行读或写。如果所述访问装置200中的应用程序8通过所述文件系统操作单元9对半导体存储卡100进行访问,那么所述文件登记项中的属性有效。但是,如果该应用程序8对所述半导体存储卡100的访问是跳过所述文件系统操作单元9,并通过向该半导体存储卡100发出直接写或读指令来执行写或读,那么在所述文件登记项中设置的任何写禁止或读禁止属性将没有意义。这里,该实施方案提出如图33所示构造所述半导体存储卡100,这样,即使所述应用程序8直接访问该半导体存储卡100,写禁止和读禁止也将有效。图33所示为第七实施方案中的半导体存储卡100的内部结构。该图的特点是所述非易失存储器1具有包含了块属性表的备份区。This implementation scheme proposes setting the files in the FAT file system as prohibition of writing and prohibition of reading, so as to further strengthen the protection of the files. In a common FAT file system, the attribute of an independent file can be set as write-prohibited and read-prohibited in the file entry. When the access device 200 is connected to the semiconductor memory card 100, the file system operation unit 9 reads out and saves the volume management information, and judges whether the file can be read by means of the file attribute of a specific file. or write. If the application program 8 in the access device 200 accesses the semiconductor memory card 100 through the file system operation unit 9, the attribute in the file entry is valid. However, if the application program 8's access to the semiconductor memory card 100 is to skip the file system operation unit 9, and to perform writing or reading by sending a direct write or read instruction to the semiconductor memory card 100, then in the Any write-disable or read-disable attributes set in the above file entry will have no meaning. Here, this embodiment proposes to construct the semiconductor memory card 100 as shown in FIG. 33 so that even if the application program 8 directly accesses the semiconductor memory card 100, write prohibition and read prohibition will be effective. FIG. 33 shows the internal structure of the semiconductor memory card 100 in the seventh embodiment. The feature of this figure is that the non-volatile memory 1 has a backup area including a block attribute table.

所述块属性表由对应于所述卷区中可擦块的登记项组成。如果一个登记项设置为‘1’,则对应的块为写禁止。并且,如果一个登记项设置为‘2’,则对应的块为读禁止。在第五实施方案中阐述的文件系统操作单元9和访问控制单元2除了根据文件登记项进行操作外还根据块属性表执行操作。如果所述应用程序8命令该文件系统操作单元9打开已设置属性的文件,那么该文件系统操作单元9便在对应该文件的文件登记项中设置该属性。例如,如果所述应用程序8已收到指令将某一文件设置为写禁止,则将相应文件登记项的属性设置为写禁止。如果该应用程序8已收到指令将文件设置为读禁止,则将相应文件登记项的属性设置为读禁止。如果该应用程序8已收到指令设置隐藏属性,则所述文件系统操作单元9在相应文件登记项中设置读禁止属性。The block attribute table is composed of entries corresponding to erasable blocks in the volume area. If an entry is set to '1', the corresponding block is write-prohibited. Also, if an entry is set to '2', the corresponding block is read disabled. The file system operation unit 9 and the access control unit 2 explained in the fifth embodiment perform operations according to block attribute tables in addition to operations according to file entries. If the application program 8 instructs the file system operation unit 9 to open the file with the attribute set, the file system operation unit 9 will set the attribute in the file entry corresponding to the file. For example, if the application program 8 has received an instruction to set a certain file as write-prohibited, then the attribute of the corresponding file entry is set as write-prohibited. If the application program 8 has received an instruction to set the file as read-prohibited, then the attribute of the corresponding file entry is set as read-prohibited. If the application program 8 has received an instruction to set the hidden attribute, the file system operation unit 9 sets the read prohibit attribute in the corresponding file entry.

如果用这种方式在文件登记项中设置文件属性,所述文件系统操作单元9则将文件划分成簇大小的片段,并在所述用户区的多个簇中记录这些片段。在所述簇中记录这些文件片段后,所述文件系统操作单元9在所述块属性表中的对应于每个存储该文件的可擦块的登记项中设置所述的文件属性。如果禁止对该文件执行写操作,那么所述文件系统操作单元9便在与存储该文件片段的每个簇相对应的登记项中设置写禁止属性,如果该文件属性是读禁止,则在与存储该文件片段的每个簇相对应的登记项中设置读禁止属性。如果该文件属性为隐藏,则所述文件系统操作单元9在与存储该文件片段的每个簇相对应的登记项中设置读禁止属性。If the file attribute is set in the file entry in this way, the file system operation unit 9 divides the file into cluster-sized fragments, and records these fragments in a plurality of clusters in the user area. After recording these file fragments in the cluster, the file system operation unit 9 sets the file attribute in the entry corresponding to each erasable block storing the file in the block attribute table. If the file is prohibited from being written, then the file system operating unit 9 will set the write-prohibited attribute in the entry corresponding to each cluster storing the file segment; if the file attribute is read-prohibited, then in the The read prohibition attribute is set in the entry corresponding to each cluster storing the file fragment. If the file attribute is hidden, the file system operation unit 9 sets the read prohibition attribute in the entry corresponding to each cluster storing the file fragment.

如果用这种方法在所述用户区中记录该文件,则根据所述块属性表中示出的属性对块进行读或写数据。换言之,如果所述访问装置200发出读指令,所述读控制单元23则查阅对应于该目标地址的块属性表中的登记项。如果该登记项表示允许读,则读控制单元23从该读目标地址所指示的块中将数据读出,否则,如果该登记项指示禁止读,则不从该读目标地址所指示的块中读出数据。If the file is recorded in the user area in this way, data is read or written to the block according to the attributes shown in the block attribute table. In other words, if the access device 200 issues a read command, the read control unit 23 will refer to the entry in the block attribute table corresponding to the target address. If the entry indicates that it is allowed to read, then the read control unit 23 will read the data from the block indicated by the read target address, otherwise, if the entry indicates that reading is prohibited, then it will not be read from the block indicated by the read target address. Read out the data.

如果所述访问装置200发出写指令,则所述写控制单元25或修改控制单元27查阅块属性表中对应该写目标地址的登记项。如果该登记项指示允许写,所述写控制单元25或修改控制单元27则将数据写入该写目标地址指示的块中,并且,如果该登记项指示禁止写,则不把数据写入该写目标地址所指示的块中。If the access device 200 issues a write instruction, the write control unit 25 or the modification control unit 27 consults the entry corresponding to the write target address in the block attribute table. If the entry indicates that writing is allowed, the write control unit 25 or the modification control unit 27 writes data into the block indicated by the write target address, and if the entry indicates that writing is prohibited, the data is not written into the block. Write to the block indicated by the target address.

这种写和读控制既能在所述应用程序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的块上执行写操作指令。This writing and reading control can be executed through the file system operation unit 9 when the application program 8 issues a write or read command, or can be directly issued by the application program 8 to write or read the command by skipping the file system operation unit 9 Executed when the command is read. Therefore, no matter whether the command issued by the access device 200 passes through the file system operation unit 9, the reading and writing of blocks can be restricted. The file system operation unit 9 in this embodiment will be explained with reference to the example in FIG. 34 . In Figure 34A, the data contained in file 1 is stored in erasable blocks with addresses 0000, 0002 and 0003, the data contained in file 2 is stored in erasable blocks with addresses 0001 and 0004, and the data contained in file 3 is stored in In the erasable block whose address is 0005, the data contained in the file 4 is stored in the erasable block whose address is 0006. Fig. 34B shows the state when file 1 is stored, which has the write inhibit attribute set. In the block attribute table, the entries corresponding to the blocks (addresses 0000, 0002 and 0003) storing the fragments of file 1 are set to '1', indicating the write prohibition attribute. If the block attribute table is set in this way, the write control unit 25 will refuse to execute the write operation command on the blocks whose addresses are 0000, 0002 and 0003.

图34C所示为在所述非易失存储器1中存储文件2时的状态,该文件已经设置了读禁止属性。在本例中,指示读禁止属性的特征位设置在所述块属性表内的对应于文件2的登记项中。然后,将该文件2划分为多个片段,并将这些片段存储在所述用户区的多个块中。FIG. 34C shows the state when the file 2 is stored in the non-volatile memory 1, and the read prohibition attribute has been set for the file. In this example, the flag indicating the read prohibition attribute is set in the entry corresponding to file 2 in the block attribute table. Then, the file 2 is divided into a plurality of fragments, and these fragments are stored in a plurality of blocks in the user area.

当在逻辑地址为0001和0004的块中存储文件2的文件片段时,所述块属性表中对应于这些块的登记项被设置为‘2’,指示读禁止属性。如果用这种方法设置所述块属性表,那么所述读控制单元23将拒绝执行从地址为0001和0004的块中读出数据的指令。When the file segments of file 2 are stored in blocks with logical addresses 0001 and 0004, the entries corresponding to these blocks in the block attribute table are set to '2', indicating the read prohibition attribute. If the block attribute table is set in this way, the read control unit 23 will refuse to execute the instruction to read data from the blocks whose addresses are 0001 and 0004.

在上述实施方案中,能在所述半导体存储卡100中对应于每个块设置读禁止和写禁止属性,所以,即使所述应用程序8跳过所述文件系统操作单元9直接访问该半导体存储卡100,该半导体存储卡100也能防止对被禁止文件的访问。因此,通过用这种方法将存储文件的块设置读禁止和写禁止属性,能保证对该文件的保护,而且,如果该文件取得版权,那么还能实现版权保护。In the above-described embodiment, the read-prohibited and write-prohibited attributes can be set corresponding to each block in the semiconductor memory card 100, so even if the application program 8 skips the file system operation unit 9 and directly accesses the semiconductor memory Card 100, the semiconductor memory card 100 can also prevent access to prohibited files. Therefore, by setting the read-prohibited and write-prohibited attributes on the block storing the file in this way, the protection of the file can be guaranteed, and if the file is copyrighted, copyright protection can also be realized.

在本实施方案中,所述表示写禁止属性的特征位用“1”表示,表示读禁止属性的特征位用“2”表示,但这些仅为示例,而且本发明不必受这种特征位的限制。此外,在本实施方案中,块属性表用于给所述非易失存储器1中的每个块附加读和写禁止属性,但是,如果要为每个单独块设置一种属性,也可以使用列表或类似的结构。在本实施方案中,所阐述的方法用于在所述非易失存储器1中将读和写禁止属性设置为块属性,但除了这些实施方案描述之外的信息也可以用作块属性。实施例包括了块管理,所以只有拥有固定特权的用户才能获得访问权;或者给每个块一个用户ID,只允许拥有该ID的用户才有访问权;或者为每个用户单独设置块访问权。在上述对文件系统的阐述中,使用了一种FAT文件系统,但使用诸如UDF或WindowsNTTM中所用的新技术文件系统(NTFS)或定制文件系统等其它常规文件系统也可获得相似的效果。此外,在这些实施方案中,一个可擦块所包含的扇区数为32,但这只是一个实施例,一个可擦块的扇区数可以比该数多或少。In this embodiment, the flag representing the write-prohibited attribute is represented by "1", and the flag representing the read-prohibited property is represented by "2", but these are only examples, and the present invention is not necessarily limited by such flags. limit. In addition, in this embodiment, the block attribute table is used to attach read and write prohibition attributes to each block in the non-volatile memory 1, but if an attribute is to be set for each individual block, it can also be used list or similar structure. In the present embodiment, the method explained is for setting the read and write prohibition attribute as the block attribute in the nonvolatile memory 1, but information other than those described in these embodiments may also be used as the block attribute. Embodiments include block management, so only users with fixed privileges can gain access; or give each block a user ID, and only allow users with that ID to have access; or set block access rights individually for each user . In the above description of the file system, a FAT file system was used, but similar effects can be obtained using other conventional file systems such as UDF or the New Technology File System (NTFS) used in WindowsNT or a custom file system. In addition, in these embodiments, the number of sectors included in an erasable block is 32, but this is just an example, and the number of sectors in an erasable block may be more or less than this number.

工业应用性 Industrial applicability

如上所述,本发明中的半导体存储卡100延长了所述非易失存储器1的寿命。因此,当用这种半导体存储卡100记录通过数字音乐分发所获得的音乐内容时,即使重复地进行记录,也即先擦除这些音乐内容,然后再频繁地记录其它的音乐内容,也不会缩短该非易失存储器1的寿命。所以,一块单独的半导体存储卡100能够用来反复记录经数字音乐分发而获得的音乐内容。As described above, the semiconductor memory card 100 in the present invention prolongs the life of the nonvolatile memory 1 . Therefore, when using this semiconductor memory card 100 to record music contents obtained through digital music distribution, even if the recording is performed repeatedly, that is, these music contents are erased first, and then other music contents are frequently recorded, there will be no problem. The lifetime of the nonvolatile memory 1 is shortened. Therefore, a single semiconductor memory card 100 can be used to repeatedly record music contents obtained through digital music distribution.

Claims (25)

1. access means to semiconductor memory card execute file visit, described semiconductor memory card has a memory block of being made up of a plurality of sectors, and described access means is then passed through every group 2 jData in (j be 0 or positive integer) individual sector manage as one bunch, and one or more bunches managed as a file carry out described visit, in the described memory block every group 2 iIndividual contiguous sector is formed a piece (i be 0 or positive integer), and piece is the least unit that can carry out data erase, and this access means comprises:
Computing unit, can be operated be used for according to manage in the described memory block bunch quantity calculate the size of volume management information, described volume management information comprises a file allocation table, is used to each file to indicate link between each bunch of corresponding this document;
Reserve the unit, can be operated and be used for reserving (1) first area and (2) second area that are used for user data that are used to write down described volume management information, the data length that described first area had is greater than the volume management information of being calculated, and by m * 2 j(m is a positive integer) individual sector is formed, and second area is made up of the sector of following the first area; And
Record cell, can be operated the record volume management information that is used in described first area, in second area user data and with these volume management information and user data as bunch managing.
2. the access means of claim 1, wherein:
Except described file allocation table, described volume management information also comprises Main Boot Record, partition table, subregion boot section information and root directory entry; And
Described record cell can be operated and be used for writing down described Main Boot Record and partition table in first sector of described first area, and after skipping the sector of predetermined quantity, in follow-up sector, write down described subregion boot section information, file allocation table and root directory entry, so that make the end of described first area consistent with the end of root directory entry.
3. the access means of claim 2, wherein:
Described computing unit can be operated and be used for calculating itself and SUM by the sector number addition that will be used to write down described subregion boot section information, file allocation table and root directory entry;
Described reservation unit can be operated be used for utilizing according to the m value that formula 1} calculates reserves the first area,
{ formula 1}NOM+SUM=2 j* m,
NOM is a sector number; And
Described record cell can be operated and be used for calculating described predetermined sector number by sector number NOM being subtracted 1.
4. the access means of claim 3, wherein:
Described record cell can be operated the sector that is used for being provided with described predetermined quantity in the described partition table of the described volume management information of record.
5. the access means of claim 3, wherein:
Described file allocation table have a plurality of entrys, with corresponding some bunches of some entrys, and every entry has been represented in identical file the link to other bunch;
Described access means comprises:
Receiving element can be operated the setting that is used for being received in the described memory block the sector sum;
Described computing unit comprises:
First computing unit, can be operated be used for by with described sector sum divided by sector number 2 jCalculate total number of clusters, and can be operated and be used for calculating the size of described file allocation table by the bit length that described total number of clusters be multiply by an entry, and
Described reservation unit comprises:
Second computing unit can be operated and is used for by the size of described file allocation table and the sector number addition that constitutes described partition table and root directory entry respectively being calculated itself and SUM, and should { formula 1} calculates the m value with the SUM substitution.
6. the access means of claim 5, wherein:
Described memory block comprises: have only the protected location that could conduct interviews by this equipment when the equipment that links to each other with described semiconductor memory card authorized when checking and
No matter whether the mandate of described associated devices is verified the equal user data area that can be conducted interviews by this equipment;
Described receiving element can be operated the setting that receives the source that is used for outside described access means the sector number of distributing to each described protected location and user data area;
Described first computing unit can be operated the size that is set at each described protected location and user data area calculation document allocation table that is used for according to being received; And
Described second computing unit can be operated and be used for respectively by each in the protected location is big or small and the user data area size and the sector number addition that constitutes the sector number of described subregion boot section information and constitute the root directory entry; so that calculate two and SUM of this protected location and user data area respectively; { formula 1} calculates the m value of this protected location and user data area respectively with each value substitution of these two and SUM again.
7. the access means of claim 2, wherein said record cell can be carried out:
(a) first handle: the user data that will be divided into a plurality of fragments is recorded as some bunches in described second area, and each fragment is stored in some bunches the cluster in this second area:
(b) second handle: a plurality of entrys are set, a link between each entry indication bunch in described file allocation table; And
(c) the 3rd handle: the positional information of filename of record and first bunch of position of expression this document in described root directory entry.
8. the access means of claim 1, wherein:
Described reservation unit can be operated and be used for reserving a backup area except that first and second zones in described memory block; And
When the user data in being recorded in described second area managed as the file with extend property, described record cell can be operated the attribute information that is used for writing down the expression extend property in this backup area.
9. the access means of claim 1, wherein:
Described semiconductor memory card also writes down the attribute list that comprises many attribute entrys, and every entry is corresponding to one of some;
Being recorded in user data in the described second area has as at least one and writes the file of forbidding attribute and manage; And
Described record cell can be operated to be used for writing for the following entry setting in the described attribute list forbids attribute, promptly described entry corresponding to fully by with write the piece that the corresponding sector of each bunch of forbidding in the file is constituted.
10. the access means of claim 1, wherein:
Described volume management information comprises a file allocation table;
Be set to first value corresponding to the entry that does not use bunch in the described file allocation table, and be set to the value of non-first value in the described file allocation table corresponding to the entry of usefulness bunch;
Described semiconductor memory card also preserves the piece of a wiping tabulation that contains physical address, and this physical address has been specified the piece of wiping in a plurality of of this memory blocks; And
This access means comprises:
Designating unit, it can be operated to be used to refer to fixs the piece of stating: (a) by bunch in all that in described file allocation table, be set to the piece do not formed with the sector; (b) be not changed to the piece of wiping described the wiping in the piece tabulation; And
Erase unit, it can be operated the piece that is used for wiping appointment.
11. the access means of claim 1, wherein:
Described volume information comprises a file allocation table;
Be set to first value corresponding to the entry that does not use bunch in the described file allocation table, and be set to the value of non-first value in the described file allocation table corresponding to the entry of usefulness bunch;
Described semiconductor memory card also preserves the piece of a wiping table that contains physical address, and this physical address has been specified the piece of wiping in a plurality of of this memory blocks; And
This access means comprises:
Designating unit, it can be operated to be used to refer to fixs the piece of stating: (a) by bunch in all that in described file allocation table, be set to the piece do not formed with the sector; (b) be not changed to the piece of wiping in the piece table described the wiping; And
Erase unit, it can be operated the piece that is used for wiping appointment.
12. the access means of claim 1, wherein:
Described user data is divided into a plurality of fragments, and each fragments store is in a piece;
Described semiconductor memory card comprises a corresponding tables, physical address under each piece of a fragment of expression storage and the corresponding relation between the logical address; And
When this corresponding tables indicates a plurality of physical address correspondences of a plurality of that are used for the storaging user data fragment when a plurality of discontinuous logical address,
This access means comprises:
Allocation units can be operated and are used for giving some continuous logical addresses with these physical address assignments;
Instruction sending unit can be operated and is used for reading by sending the user data fragment that reads instruction in these pieces to described semiconductor memory card, and this reads instruction and has specified the start address of these continuous logic addresses.
13. one kind with the stored program recording medium of computer-readable format, is used for initializing computer, so that by with every group 2 jData on (j be 0 or positive integer) individual sector manage as one bunch, and one or more bunches managed as a file and execute file visit on a semiconductor memory card, described semiconductor memory card has a memory block of being made up of a plurality of sectors, in this memory block, every group 2 iIndividual contiguous sector is formed a piece (i be 0 or positive integer), and piece is the least unit that can carry out data erase, and this recording medium makes computing machine carry out following steps:
Calculation procedure, according to manage in the described memory block bunch quantity calculate the size of volume management information, described volume management information comprises a file allocation table, is used to linking between each file indication and corresponding each bunch of this document;
Reserve step, reserve (1) first area that is used to write down volume management information, and (2) second areas that are used for user data, the data length that described first area had is greater than the volume management information of being calculated, and by m * 2 j(m is a positive integer) individual sector is formed, and described second area is made up of the sector of following the first area; And
Recording step, record volume management information in the first area, user data in second area, and with these volume management information and user data as bunch managing.
14. the recording medium of claim 13, wherein:
Except described file allocation table, described volume management information also comprises Main Boot Record, partition table, subregion boot section information, root directory entry; And
Described recording step writes down described Main Boot Record and partition table in first sector of described first area, and after skipping the sector of predetermined quantity, in follow-up sector, write down described subregion boot section information, file allocation table and root directory entry, so that make the end of described first area consistent with the end of root directory entry.
15. the recording medium of claim 14, wherein:
Described calculation procedure calculates itself and SUM by the sector number addition that will be used to write down described subregion boot section information, file allocation table and root directory entry;
{ the m value that formula 1} calculates reserves the first area to described reservation step by basis
{ formula 1}NOM+SUM=2 j* m,
NOM is a sector number; And
Described recording step calculates described predetermined sector number by sector number NOM being subtracted 1.
16. the recording medium of claim 15, wherein:
When the described volume management information of record, described recording step is provided with the sector number of described predetermined quantity in described partition table.
17. the recording medium of claim 15, wherein:
Described file allocation table have a plurality of entrys, with some bunches of corresponding some entrys, and every entry has been represented in identical file the link to other bunch;
Described program may further comprise the steps:
Receiving step is used to be received in the described memory block setting to the sector sum;
Described calculation procedure comprises:
First calculation procedure, by with described sector sum divided by sector number 2 jCalculate total number of clusters, and calculate the size of described file allocation table by the bit length that described total number of clusters be multiply by an entry, and
Described reservation step comprises:
Second calculation procedure, by the size of described file allocation table and the sector number addition that constitutes described partition table and root directory entry respectively being calculated itself and SUM, and should { formula 1} calculates the m value with the SUM substitution.
18. the recording medium of claim 17, wherein:
Described memory block comprises: have only the protected location that could conduct interviews by this equipment when the equipment that links to each other with described semiconductor memory card authorized when checking and
No matter whether the mandate of described associated devices is verified the equal user data area that can be conducted interviews by this equipment;
Receive setting the source of described receiving step outside described access means to the sector number of distributing to each described protected location and user data area;
Described first calculation procedure is according to the size that is set at each described protected location and user data area calculation document allocation table that is received; And
Described second calculation procedure: (1) is respectively by each in the protected location is big or small and the user data area size and the sector number addition that constitutes the sector number of described subregion boot section information and constitute the root directory entry; so that calculate two and SUM of this protected location and user data area respectively; (2) with described two and in each SUM value substitution { formula 1} calculates the m value of this protected location and user data area respectively.
19. the initial method of an initializing computer is used for by with every group 2 jData on (j be 0 or positive integer) individual sector manage as one bunch, and one or more bunches managed as a file and execute file visit on semiconductor memory card, described semiconductor memory card has one and forms the memory block by a plurality of sectors, in this memory block every group 2 iIndividual contiguous sector is formed a piece (i be 0 or positive integer), and piece is the least unit that can carry out data erase, and this initial method may further comprise the steps:
Calculation procedure calculates the size of volume management information according to be processed bunch quantity in the described memory block, and described volume management information comprises a file allocation table, is used to each file indication and this document to linking between each bunch accordingly;
Reserve step, reserve (1) first area that is used to write down volume management information, and (2) second areas that are used for user data, the data length that described first area had is greater than the volume management information of being calculated, and by m * 2 j(m is a positive integer) individual sector is formed, and described second area is made up of the sector of following the first area; And
Recording step, record volume management information in the first area, user data in second area, and with these volume management information and user data as bunch managing.
20. a semiconductor memory card comprises a memory block of being made up of a plurality of sectors, and with every group 2 jData on (j be 0 or positive integer) individual sector manage as one bunch, and one or more bunches are managed as a file, in this memory block every group 2 iIndividual contiguous sector is formed a piece (i be 0 or positive integer), and piece is the least unit that can carry out data erase, and this semiconductor memory card comprises:
The first area is by m * 2 j(m is a positive integer) individual sector is formed, and is used to write down volume management information; And
Second area is made up of the sector of following the first area, is used for user data;
Described volume management information comprises a file allocation table, is used to the indication of each file and this document to linking between each bunch accordingly.
21. the semiconductor memory card of claim 20, wherein:
Except described file allocation table, described volume management information also comprises Main Boot Record, partition table, subregion boot section information, root directory entry; And
Described Main Boot Record of record and partition table in first sector of described first area, after skipping the sector of predetermined quantity, the described subregion of record boot section information, file allocation table and root directory entry in follow-up sector are so that make the end of described first area consistent with the end of root directory entry.
22. the semiconductor memory card of claim 20 has also write down the attribute list that comprises many attribute entrys, every entry is corresponding to one of some;
The user data that writes down in described second area has as at least one to be write the file of forbidding attribute and manages; And
Described record cell can be operated to be used for writing for the following entry setting in the described attribute list forbids attribute, promptly described entry corresponding to fully by with write the piece that the corresponding sector of each bunch of forbidding in the file is constituted.
23. semiconductor memory card that contains the memory block; this memory block comprises: (1) protected location; can only conduct interviews by the equipment that links to each other with described semiconductor memory card and its mandate has been verified; and (2) user data area; no matter whether the mandate of described associated devices is verified; all can be conducted interviews by this equipment, this protected location and user data area include a plurality of sectors, and with every group 2 jData on (j be 0 or positive integer) individual sector manage as one bunch, and one or more bunches are managed every group 2 as a file iIndividual contiguous sector is formed a piece (i be 0 or positive integer), and piece is the least unit that can carry out data erase, and in described protected location and the user data area at least one comprises:
The first area is by m * 2 j(m is a positive integer) individual sector is formed, and is used to write down volume management information; And
Second area is made up of the sector of following the first area, is used for user data;
Described volume management information comprises a file allocation table, is used to the indication of each file and this document to linking between each bunch accordingly.
24. the semiconductor memory card of claim 23, wherein:
Except described file allocation table, described volume management information also comprises Main Boot Record, partition table, subregion boot section information and root directory entry; And
Described Main Boot Record of record and partition table in first sector of described first area, after skipping the sector of predetermined quantity, the described subregion of record boot section information, file allocation table and root directory entry in follow-up sector are so that make the end of described first area consistent with the end of root directory entry.
25. the semiconductor memory card of claim 23 has also write down the attribute list that comprises many attribute entrys, every entry is corresponding to one of some;
The user data that writes down in described second area has as at least one to be write the file of forbidding attribute and manages; And
Described record cell can be operated to be used for writing for the following entry setting in the described attribute list forbids attribute, promptly described entry corresponding to fully by with write the piece that the corresponding sector of each bunch of forbidding in the file is constituted.
CNB008040729A 1999-10-21 2000-10-19 Access device for semiconductor memory card, computer readable recording medium, initialization method, and semiconductor memory card Expired - Lifetime CN1203395C (en)

Applications Claiming Priority (3)

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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100558131A Division CN100442393C (en) 1999-10-21 2000-10-19 Access device for semiconductor memory card, initialization method, and semiconductor memory card

Publications (2)

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

Family

ID=17875164

Family Applications (2)

Application Number Title Priority Date Filing Date
CNB008040729A Expired - Lifetime CN1203395C (en) 1999-10-21 2000-10-19 Access device for semiconductor memory card, computer readable recording medium, initialization method, and semiconductor memory card
CNB2005100558131A Expired - Lifetime CN100442393C (en) 1999-10-21 2000-10-19 Access device for semiconductor memory card, initialization method, and semiconductor memory card

Family Applications After (1)

Application Number Title Priority Date Filing Date
CNB2005100558131A Expired - Lifetime CN100442393C (en) 1999-10-21 2000-10-19 Access device for semiconductor memory card, initialization method, and semiconductor memory card

Country Status (10)

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

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1297900C (en) * 2002-04-15 2007-01-31 索尼公司 Data storage device
CN1307555C (en) * 2002-04-15 2007-03-28 索尼公司 Data storage device
CN100422921C (en) * 2004-06-16 2008-10-01 索尼株式会社 storage device
CN100459688C (en) * 2004-11-19 2009-02-04 佳能株式会社 Electronic device and control method therefor
CN100543702C (en) * 2003-11-18 2009-09-23 松下电器产业株式会社 Document recording device and its control method and execution method
CN1890645B (en) * 2003-12-03 2010-09-08 松下电器产业株式会社 Data processing device and data recording method for information recording medium
CN102289451A (en) * 2011-06-17 2011-12-21 奇智软件(北京)有限公司 Method and device for searching files or folders

Families Citing this family (198)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996024138A1 (en) 1995-01-31 1996-08-08 Hitachi, Ltd. Nonvolatile memory device and refreshing method
US20040157612A1 (en) * 1997-04-25 2004-08-12 Minerva Industries, Inc. Mobile communication and stethoscope system
US7321783B2 (en) * 1997-04-25 2008-01-22 Minerva Industries, Inc. Mobile entertainment and communication device
JP4079506B2 (en) * 1997-08-08 2008-04-23 株式会社東芝 Method for controlling nonvolatile semiconductor memory system
EP1145126B1 (en) 1999-10-21 2005-02-02 Matsushita Electric Industrial Co., Ltd. A semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
US6993130B1 (en) * 2000-02-04 2006-01-31 Xtec, Incorporated Methods and apparatus for mediametric data cryptoprocessing
JP2002268874A (en) * 2001-03-07 2002-09-20 Toshiba Corp Random number seed generation circuit, driver having the same, and SD memory card system
KR100859922B1 (en) 2001-07-05 2008-09-23 마츠시타 덴끼 산교 가부시키가이샤 Recording device, recording medium, recording method
JP4151246B2 (en) 2001-08-22 2008-09-17 ソニー株式会社 Information distribution terminal, computer program, and information providing method
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
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
JP4082913B2 (en) * 2002-02-07 2008-04-30 株式会社ルネサステクノロジ Memory system
JP3970070B2 (en) * 2002-03-20 2007-09-05 富士通株式会社 Nonvolatile memory circuit having automatic erase function
JP2003296177A (en) 2002-04-03 2003-10-17 Sony Corp Recording apparatus and method, recording medium, and program
CN100447884C (en) * 2002-04-05 2008-12-31 松下电器产业株式会社 Recording device, reproduction device, recording method, and reproduction method
JP3866635B2 (en) * 2002-08-26 2007-01-10 株式会社東芝 Memory card and storage area switching method
CN100375046C (en) * 2002-10-17 2008-03-12 松下电器产业株式会社 File update device and method
CN1879091A (en) * 2002-11-07 2006-12-13 皇家飞利浦电子股份有限公司 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
AU2002353406A1 (en) * 2002-12-27 2004-07-22 Solid State System Co., Ltd. Nonvolatile memory unit with specific cache
US7526625B2 (en) 2003-01-31 2009-04-28 Panasonic Corporation Semiconductor memory card, and program for controlling the same
KR20050103448A (en) 2003-02-04 2005-10-31 마츠시타 덴끼 산교 가부시키가이샤 Semiconductor memory card and computer readable program
CN1809892B (en) * 2003-06-19 2012-05-30 皇家飞利浦电子股份有限公司 Flexible formatting for universal storage device
EP1498841B1 (en) * 2003-07-14 2010-03-24 EM Microelectronic-Marin SA Multi application transponder chip and memory managing method therefore
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
RU2351002C2 (en) * 2003-08-21 2009-03-27 Майкрософт Корпорейшн Demultiplexer application program interface
EP1538507A1 (en) * 2003-12-02 2005-06-08 Axalto S.A. Flash memory access method and system
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 (en) * 2004-02-04 2005-08-18 Matsushita Electric Ind Co Ltd Memory access device and semiconductor memory card
US20050182822A1 (en) * 2004-02-17 2005-08-18 Daniel Stuart W. Imaging device with memory device interface
EP2506486A1 (en) * 2004-02-23 2012-10-03 Lexar Media, Inc. Secure compact flash
KR100648243B1 (en) * 2004-03-19 2006-11-24 삼성전자주식회사 Memory card using NAND flash memory
US20050257017A1 (en) * 2004-05-14 2005-11-17 Hideki Yagi Method and apparatus to erase hidden memory in a memory card
JP4661086B2 (en) * 2004-05-24 2011-03-30 パナソニック株式会社 Nonvolatile memory device and nonvolatile memory erasing and writing method
SE527843C2 (en) * 2004-06-03 2006-06-20 Roxtec Ab Fire protection for cable penetrations
JP4157501B2 (en) * 2004-06-30 2008-10-01 株式会社東芝 Storage device
JP2006023854A (en) * 2004-07-06 2006-01-26 Sharp Corp Information processing device, storage device, storage control device, and program
JP2006023957A (en) * 2004-07-07 2006-01-26 Sony Corp Semiconductor integrated circuit and information processing apparatus
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 (en) * 2004-11-18 2011-04-06 キヤノン株式会社 Storage management device and control method thereof
US7873596B2 (en) 2006-05-23 2011-01-18 Microsoft Corporation Extending cluster allocations in an extensible file system
US8321439B2 (en) 2004-12-17 2012-11-27 Microsoft Corporation Quick filename lookup using name hash
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
US20060242151A1 (en) * 2004-12-21 2006-10-26 Fabrice Jogand-Coulomb 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
US8396208B2 (en) * 2004-12-21 2013-03-12 Sandisk Technologies Inc. Memory system with in stream data encryption/decryption and error correction
US8601283B2 (en) 2004-12-21 2013-12-03 Sandisk Technologies Inc. Method for versatile content control with partitioning
US8504849B2 (en) 2004-12-21 2013-08-06 Sandisk Technologies Inc. Method for versatile content control
US20060242150A1 (en) * 2004-12-21 2006-10-26 Fabrice Jogand-Coulomb Method using control structure for versatile content control
US20060242066A1 (en) * 2004-12-21 2006-10-26 Fabrice Jogand-Coulomb 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
US20060242429A1 (en) 2004-12-21 2006-10-26 Michael Holtzman In stream data encryption / decryption method
EP2278518B1 (en) * 2004-12-21 2012-03-14 SanDisk Corporation Memory system with in-stream data encryption/decryption
US20060239450A1 (en) * 2004-12-21 2006-10-26 Michael Holtzman In stream data encryption / decryption and error correction method
WO2006068190A1 (en) * 2004-12-22 2006-06-29 Matsushita Electric Industrial Co., Ltd. Electronic device, format discrimination system, and format discrimination method
US7823214B2 (en) * 2005-01-07 2010-10-26 Apple Inc. Accessory authentication for electronic devices
US8108691B2 (en) 2005-02-07 2012-01-31 Sandisk Technologies Inc. Methods used in a 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
US8423788B2 (en) 2005-02-07 2013-04-16 Sandisk Technologies Inc. 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 (en) * 2005-03-31 2013-10-16 キヤノン株式会社 Image processing apparatus, image processing apparatus control method, and computer program
US7418531B2 (en) * 2005-05-04 2008-08-26 Pillar Data Systems, Inc. Quality of service for data storage volumes
JP4709583B2 (en) * 2005-05-31 2011-06-22 株式会社東芝 Data transmission apparatus and data transmission method
US7748031B2 (en) 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
JP4781027B2 (en) * 2005-07-15 2011-09-28 パナソニック株式会社 Data recording control method and data recording system
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 (en) * 2005-08-20 2007-07-13 삼성전자주식회사 Flash memory management method and flash memory system
US20070041457A1 (en) 2005-08-22 2007-02-22 Tamer Kadous Method and apparatus for providing antenna diversity in a wireless communication system
US8073068B2 (en) * 2005-08-22 2011-12-06 Qualcomm Incorporated Selective virtual antenna transmission
JP4892900B2 (en) * 2005-09-13 2012-03-07 ソニー株式会社 Information processing apparatus, information recording medium manufacturing apparatus, information recording medium and method, and computer program
US8966284B2 (en) 2005-09-14 2015-02-24 Sandisk Technologies Inc. Hardware driver integrity check of memory card controller firmware
US20070061597A1 (en) 2005-09-14 2007-03-15 Micky Holtzman Secure yet flexible system architecture for secure devices with flash mass storage memory
JP4808016B2 (en) * 2005-12-20 2011-11-02 日立オートモティブシステムズ株式会社 Microcomputer initialization device and in-vehicle control device
US7752391B2 (en) * 2006-01-20 2010-07-06 Apple Inc. Variable caching policy system and method
US20070174641A1 (en) * 2006-01-25 2007-07-26 Cornwell Michael J Adjusting power supplies for data storage devices
US7702935B2 (en) * 2006-01-25 2010-04-20 Apple Inc. Reporting flash memory operating voltages
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 (en) * 2006-06-16 2009-02-25 ソニー株式会社 Integrated circuit chip, data reading method, data writing method, IC card, and mobile phone
CN100593213C (en) * 2006-06-20 2010-03-03 亮发科技股份有限公司 Storage device with multiple partitions
JP2008009933A (en) * 2006-06-30 2008-01-17 Toshiba Corp Storage device and control method thereof
US8266711B2 (en) * 2006-07-07 2012-09-11 Sandisk Technologies Inc. Method for controlling information supplied from memory device
US20080034440A1 (en) * 2006-07-07 2008-02-07 Michael Holtzman Content Control System Using Versatile Control Structure
US8140843B2 (en) 2006-07-07 2012-03-20 Sandisk Technologies Inc. Content control method using certificate chains
US20080022395A1 (en) * 2006-07-07 2008-01-24 Michael Holtzman System for Controlling Information Supplied From Memory Device
US20080010458A1 (en) * 2006-07-07 2008-01-10 Michael Holtzman Control System Using Identity Objects
US8613103B2 (en) 2006-07-07 2013-12-17 Sandisk Technologies Inc. Content control method using versatile control structure
US8245031B2 (en) * 2006-07-07 2012-08-14 Sandisk Technologies Inc. Content control method using certificate revocation lists
US20080010449A1 (en) * 2006-07-07 2008-01-10 Michael Holtzman Content Control System Using Certificate Chains
US8639939B2 (en) 2006-07-07 2014-01-28 Sandisk Technologies Inc. Control method using identity objects
JP4651586B2 (en) * 2006-07-11 2011-03-16 シャープ株式会社 Recording / playback device
US20100017557A1 (en) * 2006-07-26 2010-01-21 Panasonic Corporation Memory controller, nonvolatile memory device,access device, and nonvolatile memory system
WO2008016081A1 (en) * 2006-08-04 2008-02-07 Panasonic Corporation Memory controller, nonvolatile memory device, access device, and nonvolatile memory system
US8166231B2 (en) * 2006-08-08 2012-04-24 Panasonic Corporation Memory controller, nonvolatile memory device, access device, and nonvolatile memory system
WO2008030806A2 (en) 2006-09-06 2008-03-13 Qualcomm Incorporated Codeword permutation and reduced feedback for grouped antennas
JP2008070929A (en) * 2006-09-12 2008-03-27 Matsushita Electric Ind Co Ltd MEMORY CONTROLLER, NONVOLATILE STORAGE DEVICE, AND NONVOLATILE STORAGE SYSTEM
WO2008032711A1 (en) * 2006-09-13 2008-03-20 Panasonic Corporation Memory controller, nonvolatile storage device, access device and nonvolatile storage system
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 (en) * 2007-01-12 2012-08-01 株式会社東芝 Host device and memory system
JP4978224B2 (en) * 2007-02-08 2012-07-18 カシオ計算機株式会社 Photoelectric conversion device and display panel having the same
KR101395778B1 (en) 2007-03-14 2014-05-19 삼성전자주식회사 Memory card and memory system including the same and operating method thereof
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
US8156257B2 (en) * 2007-08-10 2012-04-10 Panasonic Corporation Removeable medium, formatting device, formatting system, formatting method, and formatting program
KR20090031102A (en) * 2007-09-21 2009-03-25 삼성전자주식회사 Method and device for formatting removable storage device
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
JPWO2009096180A1 (en) * 2008-01-30 2011-05-26 パナソニック株式会社 MEMORY CONTROLLER, NONVOLATILE STORAGE DEVICE, AND NONVOLATILE STORAGE SYSTEM
JP5025009B2 (en) * 2008-02-15 2012-09-12 株式会社東芝 Authentication method, host computer and recording medium
CN101983376B (en) * 2008-04-04 2014-04-09 松下电器产业株式会社 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 (en) * 2008-05-05 2010-06-02 青岛海信电器股份有限公司 Flash memory storage management method
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 (en) * 2008-07-17 2012-07-11 群联电子股份有限公司 Data access method, storage system and controller for flash memory
TWI406175B (en) * 2008-08-20 2013-08-21 Nuvoton Technology Corp Memory card and method for memory card
US20100082537A1 (en) * 2008-09-29 2010-04-01 Menahem Lasser File system for storage device which uses different cluster sizes
US9020993B2 (en) 2008-12-16 2015-04-28 Sandisk Il Ltd. Download management of discardable files
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
US9104686B2 (en) 2008-12-16 2015-08-11 Sandisk Technologies Inc. System and method for host management of discardable objects
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 (en) * 2009-08-21 2015-09-01 勝高股份有限公司 Method for manufacturing epitaxial wafer
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 (en) * 2009-12-02 2011-06-16 Canon Inc Data synchronization apparatus
JP5558093B2 (en) * 2009-12-25 2014-07-23 株式会社東芝 Semiconductor device and memory system
KR101467514B1 (en) * 2010-05-14 2014-12-01 삼성전자 주식회사 Apparatus and Method for managing memory in consideration of user response time
JP5460486B2 (en) * 2010-06-23 2014-04-02 インターナショナル・ビジネス・マシーンズ・コーポレーション Apparatus and method for sorting data
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 (en) 2010-10-14 2012-04-26 Toshiba Corp Digital content protection method, decryption method, reproducing device, memory medium and cryptographic device
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
US9058212B2 (en) * 2011-03-21 2015-06-16 Microsoft Technology Licensing, Llc Combining memory pages having identical content
DE102011001430A1 (en) * 2011-03-21 2012-09-27 Wincor Nixdorf International Gmbh Method of operating a cashbox with custom keys
JP2012208584A (en) * 2011-03-29 2012-10-25 Toshiba Corp Storage device and program
JP5077726B1 (en) 2011-05-23 2012-11-21 Necインフロンティア株式会社 Computer, control method thereof and program
CN102314490B (en) * 2011-08-16 2013-07-10 晨星软件研发(深圳)有限公司 Method and device for recovering Linux FAT (File Allocation Table) file system
US8661527B2 (en) 2011-08-31 2014-02-25 Kabushiki Kaisha Toshiba Authenticator, authenticatee and authentication method
JP5275432B2 (en) 2011-11-11 2013-08-28 株式会社東芝 Storage medium, host device, memory device, and system
JP5100884B1 (en) 2011-12-02 2012-12-19 株式会社東芝 Memory device
JP5204290B1 (en) * 2011-12-02 2013-06-05 株式会社東芝 Host device, system, and device
JP5112555B1 (en) 2011-12-02 2013-01-09 株式会社東芝 Memory card, storage media, and controller
JP5204291B1 (en) 2011-12-02 2013-06-05 株式会社東芝 Host device, device, system
JP5275482B2 (en) 2012-01-16 2013-08-28 株式会社東芝 Storage medium, host device, memory device, and system
CN103246617B (en) * 2012-02-07 2016-08-17 宇龙计算机通信科技(深圳)有限公司 Mobile terminal and data save method based on android system
JP5687639B2 (en) 2012-02-08 2015-03-18 株式会社東芝 Controller, data storage device and program
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 (en) * 2013-08-19 2017-10-18 富士通株式会社 Semiconductor memory device and method for controlling semiconductor memory device
JP6017392B2 (en) * 2013-09-27 2016-11-02 株式会社東芝 Information processing apparatus, host device, and system
WO2015121938A1 (en) * 2014-02-13 2015-08-20 株式会社日立製作所 Data managing device and method
KR102196971B1 (en) 2014-03-28 2020-12-31 삼성전자주식회사 Storage system, and method for performing and authenticating write-protection thereof
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 (en) * 2015-06-04 2016-05-01 Accelstor Inc Data storage systems and their specific instruction enforcement methods
CN105303208B (en) * 2015-10-26 2019-01-25 新大陆数字技术股份有限公司 A kind of IC card management method and system
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 (en) * 2016-05-20 2018-10-01 慧榮科技股份有限公司 A page alignment method for data storage device and a look up table production method thereof
US11054991B2 (en) * 2018-03-21 2021-07-06 Western Digital Technologies, Inc. Data storage system scale-out with local address remapping
CN110442301A (en) * 2018-05-05 2019-11-12 南京橡东信息科技有限公司 A kind of method and device of the USB flash disk subregion for intranet security
KR20200089547A (en) * 2019-01-17 2020-07-27 에스케이하이닉스 주식회사 Storage device and operating method thereof
EP3973439A4 (en) * 2019-05-23 2023-06-21 Cryptography Research, Inc. Anti-counterfeiting applications for advanced memories
CN111045962B (en) * 2019-12-18 2023-06-09 湖南国科微电子股份有限公司 SD card data confidentiality method, system, equipment and computer medium
CN113253945B (en) * 2021-07-08 2021-09-28 成都易我科技开发有限责任公司 Disk coiling clustering method and device and electronic equipment
JP7765871B2 (en) * 2022-03-28 2025-11-07 パナソニックオートモーティブシステムズ株式会社 Information processing device and control method for information processing device
FR3136079B1 (en) * 2022-05-25 2025-05-30 St Microelectronics Alps Sas Method for managing a sensitive data area in FLASH memory
WO2025182009A1 (en) * 2024-02-29 2025-09-04 Ntt株式会社 Generation device, generation method, and generation program
US20250355797A1 (en) * 2024-05-20 2025-11-20 Sandisk Technologies Llc Persisting device operations across modes in a multi-protocol storage device

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69033262T2 (en) 1989-04-13 2000-02-24 Sandisk Corp., Santa Clara EEPROM card with replacement of faulty memory cells and buffer
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
AU2335792A (en) * 1992-04-21 1993-11-18 Storage Technology Corporation Method for managing data records in a cached data subsystem with non-volatile memory
JPH07219720A (en) 1993-10-01 1995-08-18 Hitachi Maxell Ltd Semiconductor memory device and control method thereof
JPH07225727A (en) * 1994-02-14 1995-08-22 Fujitsu Ltd Computer system
RU2103732C1 (en) * 1995-06-08 1998-01-27 Дьяков Юрий Александрович Device for processing payments and services using electronic card and logging transactions
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 (en) * 1996-03-28 1997-10-27 Акционерное общество открытого типа Страховая компания "Росгал" Cashless payment system
JPH10124384A (en) 1996-08-28 1998-05-15 Toshiba Corp Control method for nonvolatile semiconductor memory
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 (en) 1997-08-04 2004-11-10 東京エレクトロンデバイス株式会社 Data processing system and block erase type storage medium
JP4079506B2 (en) * 1997-08-08 2008-04-23 株式会社東芝 Method for controlling nonvolatile semiconductor memory system
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 recording medium
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 (en) 1999-04-27 2003-03-24 松下電器産業株式会社 Semiconductor memory card and reading device
JP3417889B2 (en) * 1999-09-20 2003-06-16 克彦 長岡 Truck traveling device used in manure processing
EP1145126B1 (en) 1999-10-21 2005-02-02 Matsushita Electric Industrial Co., Ltd. A semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
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 (en) * 2000-04-21 2001-11-02 Toshiba Corp Information storage medium, information recording method, and information reproducing method
CN1277267C (en) * 2000-05-31 2006-09-27 松下电器产业株式会社 Method for producing information recording medium, information recording method, information recording device, information reproducing method, and information reproducing device
KR100859922B1 (en) * 2001-07-05 2008-09-23 마츠시타 덴끼 산교 가부시키가이샤 Recording device, recording medium, recording method
JP2003196142A (en) * 2001-12-25 2003-07-11 Sony Corp Write-once type memory device and file management method
US7123556B2 (en) * 2002-01-22 2006-10-17 Matsushita Electric Industrial Co., Ltd. Multi-layered information recording medium with spare defect management areas
JP2005108304A (en) * 2003-09-29 2005-04-21 Toshiba Corp Semiconductor memory device and control method thereof
KR100527276B1 (en) * 2004-06-04 2005-12-13 주식회사 르노소프트 Apparatus and method for protecting system data on computer hard-disk in which system correction data is managed non-preemptively
JP4991320B2 (en) * 2007-01-12 2012-08-01 株式会社東芝 Host device and memory system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1297900C (en) * 2002-04-15 2007-01-31 索尼公司 Data storage device
CN1307555C (en) * 2002-04-15 2007-03-28 索尼公司 Data storage device
CN100543702C (en) * 2003-11-18 2009-09-23 松下电器产业株式会社 Document recording device and its control method and execution method
CN1890645B (en) * 2003-12-03 2010-09-08 松下电器产业株式会社 Data processing device and data recording method for information recording medium
CN100422921C (en) * 2004-06-16 2008-10-01 索尼株式会社 storage device
CN100459688C (en) * 2004-11-19 2009-02-04 佳能株式会社 Electronic device and control method therefor
CN102289451A (en) * 2011-06-17 2011-12-21 奇智软件(北京)有限公司 Method and device for searching files or folders

Also Published As

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

Similar Documents

Publication Publication Date Title
CN1203395C (en) Access device for semiconductor memory card, computer readable recording medium, initialization method, and semiconductor memory card
CN1287289C (en) Recording device, medium and method
CN100347731C (en) Semiconductor memory card, and program for controlling the same
CN1279543C (en) Semiconductor memory card and data reading apparatus
CN1249585C (en) Flash memory system
CN1922571A (en) Data run programming
CN1256732C (en) Flash memory and its control method
CN1278243C (en) Flash memory apparatus and method for merging data stored in the same
CN1197014C (en) Internal memory type anti-falsification processor and security method
TWI405082B (en) Memory system and its mapping method
CN1295706C (en) Non-volatile memory, recording apparatus and recording method
CN1297900C (en) Data storage device
CN1252723C (en) Recording method management method and recording equipment
CN101046771A (en) Storage system using flash memory and its leveling method and leveling program
CN1465161A (en) Memory access control system and management method using access control ticket
CN1465160A (en) Data access management system and management method using access control ticket
CN1410876A (en) Microprocessor
CN1914689A (en) Non-volatile memory and method with control data management
JP2021043708A (en) Memory system
CN1698035A (en) Data storage device, method for updating management information in data storage device, and computer program
CN1488099A (en) Information processing device and method
CN1516835A (en) data storage device
CN101042674A (en) Nonvolatile storage device and data writing method thereof
CN1393079A (en) Audio data playback management system and method with editing apparatus and recording medium
CN1754156A (en) Information recording medium and its area management method

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