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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection 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/1425—Protection 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/1433—Protection 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits 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
Description
技术领域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
图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
图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
图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
图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
图22是表示由第三实施方案中的文件系统操作单元9执行的详细处理过程的流程图;FIG. 22 is a flowchart showing the detailed processing procedure performed by the file
图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
图25是表示在第四实施方案中由文件系统操作单元9执行的详细处理过程的流程图;FIG. 25 is a flowchart showing the detailed processing procedure executed by the file
图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
执行本发明的最佳模式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
所述半导体存储卡具有图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
接下来阐述访问装置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
下面解释所述非易失存储器1的数据存储格式的一个实施例。该非易失存储器1用图4所示的格式执行数据存储。在本图中,整个非易失存储器1称为所述的卷区。该卷区划分成多个簇,并包括一个分区控制区和一个分区(也称常规区)。该分区分为一个系统区和一个用户区,如图4的右手边所示。One embodiment of the data storage format of the
所述用户区的起始地址直接接在系统区后。但是,系统区中的双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
所述主引导记录是对该访问装置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
下面对所述半导体存储卡100中的分区进行说明。该分区由所述系统区组成,接着是用户区,但本说明首先参照图7C阐述用户区。The partitions in the
所述用户区在不小于一簇的单元中存储文件。图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
所述系统区包括分区引导区、双文件分配表和根目录登记项。所述分区引导区、双文件分配表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
所述根目录登记项包括多条文件登记项,对应于存在于该引导目录中的多个文件。每条文件登记项包括:现有文件的‘文件名’,‘文件标识符’,存储在该文件开始的‘文件的第一簇编号’,‘文件属性’,表示文件何时存储的‘存储时间’和‘存储日期’,以及‘文件长度’。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
上述阐述给出了本发明所述固定存储器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
第二种改进方案是在所述卷区中划出一块区域,其大小是一簇的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 "
对于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
在图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
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 +
NOM=(SC-(RSC+RDE+尺寸1×2)%SC)+SCNOM=(SC-(RSC+RDE+
如按该方法定义α,将会形成所述分区控制区和用户区以便准确地配合多个可擦块,并且所述系统区和用户区之间的边界将与可擦块的边界一致。如果能实现这种边界对准,那么所有后续簇的边界将与可擦块的边界一致。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
尺寸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
NOM=(SC-(RSC+RDE+尺寸1×2)%SC)+SCNOM=(SC-(RSC+RDE+
=(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
当所述文件系统操作单元9在非易失存储器1上执行初始化时,便会实现上述卷区的配置。执行该初始化处理的程序将参照图13的流程图进行阐述。When the file
在步骤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
一旦确定了簇的大小,在步骤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
在上述步骤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
CN=(TS-(RSC+RDE+尺寸1×2+NOM))/SCCN=(TS-(RSC+RDE+
在步骤S8,所述文件系统操作单元9用下面的公式14计算出FAT的数据长度。公式14In step S8, the file
对于FAT12:尺寸2=(((CN+2)×12/8+511)/512For FAT12:
对于FAT16:尺寸2=(((CN+2)×16/8+511)/512For FAT16:
在步骤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
‘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
这是对图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
尺寸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
NOM=(SC-(RSC+RDE+尺寸1×2)%SC)+SCNOM=(SC-(RSC+RDE+
=(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
CN=(TS-(RSC+RDE+尺寸1×2+NOM))/SCCN=(TS-(RSC+RDE+
=(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
对于FAT12:尺寸2=(((CN+2)×12/8)+511)/512For FAT12:
=(((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
NOM=(SC-(RSC+RDE+尺寸1×2)%SC)+SCNOM=(SC-(RSC+RDE+
=(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
CN=(TS-(RSC+RDE+尺寸1×2+NOM))/SCCN=(TS-(RSC+RDE+
(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:
=(((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
如上所示,由于本实施方案能够计算出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
第二实施方案提出一种安排:将所述卷区分为一个普通用户能访问的区域(用户数据区)和一个存储保密数据的区域(保护区)。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
下面阐述提供的保密处理单元11,该单元执行对所述非易失存储器1中的保护区的保密读和写。如图15所示,该保密处理单元11包括:系统区13、隐藏区14、AKE处理单元15、Ks解密单元16和Ks加密单元17。A
所述系统区13是一块用于存储介质密钥程序块(MKB)和介质-ID的只读区域。存储在该区域中的MKB和介质-ID不能改写。假设所述半导体存储卡100和访问装置200相连,便通过该访问装置200读取MKB和介质-ID。如果所述访问装置200利用该MKB、介质-ID和一种内部存储的设备密钥Kd正确地执行特定计算,便能得到正确的加密密钥Kmu。The
所述隐藏区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
由所述半导体存储卡100执行的验证也分三个阶段:首先,在第二询问阶段,该半导体存储卡100产生一个随机数,用所述加密密钥Kmu对该随机数进行加密,并将该加密的随机数作为询问值C传递给所述访问装置200;其次,在第二响应阶段,该访问装置200利用内部存储的加密密钥Kmu解密所述询问值C,并将该解密值作为响应值D传递给所述半导体存储卡100;最后,在第二校验阶段,所述半导体存储卡100利用其加密密钥Kmu解密内部存储的所述询问值C,并将该解密值与所述访问装置200传递来的响应值D进行比较。The verification performed by the
如果所述访问装置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
所述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
下面参照图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
如下描述为一示例性计算,计算当所述用户数据区中的总扇区数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
尺寸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
NOM=(SC-(RSC+RDE+尺寸1×2)%SC)+SCNOM=(SC-(RSC+RDE+
=(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
CN=(TS-(RSC+RDE+尺寸1×2+NOM))/SCCN=(TS-(RSC+RDE+
=(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
对于FAT12:尺寸2=(((CN+2)×12/8)+511)/512For FAT12:
=(((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
当所述系统区和分区控制区是通过用上述计算公式计算出的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,
如下描述为一示例性计算,计算所述用户数据区中的总扇区数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
尺寸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
NOM=(SC-(RSC+RDE+尺寸1×2)%SC)+SCNOM=(SC-(RSC+RDE+
=(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
CN=(TS-(RSC+RDE+尺寸1×2+NOM))/SCCN=(TS-(RSC+RDE+
=(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
对于FAT12:尺寸2=(((CN+2)×12/8)+511)/512For FAT12:
=(((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
当所述系统区和分区控制管理区是通过用上述计算公式计算出的TS、尺寸1和NOM的大小构成时,所述保护区的安排如图18所示。在本实施方案中,用户数据区和保护区均含有一个分区控制区、一个系统区和一个保护区,所以,所述访问装置200将每个区均当作是一块独立的物理介质。这样,虽然所述用户数据区和保护区所含簇的大小不同,但该用户数据区和保护区的边界均能够与可擦块的边界一致。When the system area and partition control management area are composed of TS,
在上述实施方案中,即使所述卷区包括两个区域—用户数据区和保护区,这些区域的边界也与可擦块的边界一致,所以,簇的重写能够在短时间内完成。而且,减少了可擦块需要擦除的次数,因此,不会不必要地缩短所述非易失存储器的寿命。第三实施方案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
所述指令解码单元21接收由访问装置200发出的指令,并在发出点解码出指令的原始内容。如果收到读指令,指令解码单元21命令所述读控制单元23从非易失存储器1中读出数据(读)。如果收到写指令,指令解码单元21则命令所述写控制单元25将数据写入非易失存储器1(写)。如果收到指定一个未经擦除的块作为访问目标的写指令,则指令解码单元21命令所述修改控制单元修改(重写)存储在非易失存储器1中的数据(修改)。如果收到获取状态指令,指令解码单元21则命令所述分配变换单元24读出已擦块的列表(稍后再解释该规定)。如果收到擦除指令,指令解码单元21则命令所述分配变换单元24擦除所指定的可擦块。The
所述逻辑/物理地址转换单元22包含一个表示可擦块的逻辑和物理地址之间对应关系的地址对应表。当由所述访问装置200确定出所要访问的逻辑地址时,该逻辑/物理地址转换单元22便参照所述地址对应表中所示的该逻辑地址的对应关系,将该逻辑地址转换为相应的物理地址,并向所述读控制单元23、分配变换单元24和修改控制单元27输出该物理地址。The logical/physical
当所述访问装置200发出读指令时,便由所述写控制单元23进行控制,使得该访问装置200能够读出存储在该读指令所定义的读位置上的数据。When the access device 200 issues a read command, it is controlled by the
所述分配变换单元24存有一个已擦块列表,在该列表中,已经擦除的可擦块的物理地址按先进先出(FIFO)的格式安排。当所述访问装置200发出读指令,该分配变换单元24则判断被定义为读目标的逻辑地址所对应的物理地址是否在该已擦块列表中存在。如果判断这个物理地址存在,则该分配变换单元14向所述写控制单元25输出该物理地址,并将该物理地址从已擦块列表中删除。如果相应物理地址所指示的可擦块还未经擦除,则该分配变换单元24就会将所述已擦块列表的始端物理地址作为读目标分配给该逻辑地址,并向所述读控制单元25输出这个已分配的物理地址,而将先前作为读目标分配给该逻辑地址的那个物理地址加在所述已擦块列表的结尾处。另外,当该访问装置200发出获取状态指令时,所述分配变换单元24便将该已擦块列表中所示的物理地址转换成逻辑地址,并向该访问装置200输出一个用逻辑地址表指示已擦除可擦块的已擦块列表。如果指示一个逻辑地址的擦除指令已经由该访问装置200发出,那么所述分配变换单元24将控制操作以便将对应于该逻辑地址的物理地址加入到所述的已擦块列表中。The
当收到对一个块进行写操作的写指令时,所述写控制单元25便根据分配变换单元24输出的物理地址将数据写入非易失存储器1中。When receiving a write instruction to perform a write operation on a block, the
擦除控制单元26按固定间隔进行轮询来确定一个未擦块的物理地址是否已被加到所述已擦块列表中。如这个物理地址已被添加,则该擦除控制单元24擦除该物理地址所指示的可擦块。Erase
当收到对已经写有数据的可擦块进行修改的写指令时,所述修改控制单元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
在图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
这里,如果所述访问装置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
接下来在图2B中,所述修改控制单元27将所述已擦块列表中前面的物理地址003读出,如箭头BN1所示,并将数据写入由该物理地址003所指示的块中,如箭头‘③写’所示。接着在图20C中,所述修改控制单元27将其相应块应被擦除的物理地址001安排在该已擦块列表中,如箭头④所示。Next in Fig. 2B, the
最后,所述修改控制单元27将对应的逻辑地址/物理地址互换,如图20D所示。这里,物理地址003分配给逻辑地址001,物理地址001分配给逻辑地址003。因而通过把数据写入物理地址003便能实现将数据重写入逻辑地址001,然后在逻辑和物理地址之间作相应的转换。Finally, the
下面将阐述所述访问装置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
所述文件删除单元28通过更新从所述主存储器7中读出的FAT来删除文件,并将更新后的FAT写入所述半导存储卡100。如果该应用程序8发出删除文件的指令,则所述文件删除单元28将通过把对应于存储该文件片段的相应簇的FAT登记项设置为‘0’来执行文件的删除,‘0’表示未被使用的那些簇。但是,存储文件片段的这些簇(可擦块)仍未恢复空白状态,所以首先必须将这些簇擦除,才能在这些簇中存储其它文件。因此,擦除处理所需时间的增加与删除旧文件和记录新文件的次数的增加成正比。The
在等待来自应用程序8的指令时,所述优先擦除控制单元29向所述半导体存储卡100发出获取状态指令,命令它读出已擦除的空闲存储器列表。一旦发出该指令及输出所述已擦除空闲存储器列表,该优先控制单元29便收到输出的所述已擦除空闲列表,并将该列表与所述FAT进行比较,以便确定出在该FAT中设置为未使用的多个簇所对应的可擦块。(当一个可擦块包含多个簇时,只能确定出那些全部由未使用簇组成的可擦块)。因此,在这些可擦块中,也要确定已擦块列表中不存在的那些块。这些块是既未使用也未经擦除的可擦块,并且,所述优先擦除控制单元29向所述半导体存储卡100发出擦除指令以命令将这些块擦除。该擦除指令包括一个逻辑地址定义,以及一条将该逻辑地址对应的物理地址加入所述已擦块列表中的指令。当由该擦除控制单元26执行轮询时,如果通过发出这样的擦除指令将一个物理地址加到所述已擦块列表中,那么由该擦除指令所指示的块的擦除方法与其他未使用和未擦除块的处理方法相同。而且对于所有未使用和未擦除的块均执行同样的处理过程。下面将参照图22的流程图来对所述优先擦除控制单元29所执行的详细过程进行阐述。While waiting for an instruction from the
在本实施方案中,如果启动该优先擦除控制单元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
在步骤S27,所述优先擦除控制单元29判断是否存在未使用的仍未擦除的可擦块,如果不存在这样的块,则马上返回到步骤S21~S22的循环处理。如果存在这样的块,则该优先擦除控制单元29执行步骤S28~S30的循环处理。换句话说,该优先擦除控制单元29向所述半导体存储卡100发出擦除指令,以保证将在步骤S26确定的未使用和未擦除的块的每个物理地址上的数据擦除。一旦发出了这样的指令,便在所述已擦块列表中加入每个这种块的物理地址,并进行擦除。In step S27, the priority
下面将参照图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
在上述实施方案中,所述访问装置200从所述半导体存储卡100读出已擦块列表,并将该读出的已擦块列表与所述FAT进行比较,以便确定仍未擦除的未使用的可擦块,并命令该半导体存储卡100将这些块擦除。所以,在等待来自所述应用程序9的指令时,该文件操作系统单元9能将那些仍未擦除的未使用的可擦块擦除,并使这些未使用块的这种擦除更有效地执行。In the above embodiment, the access device 200 reads the erased block list from the
另外,无论何时所述访问装置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
第四实施方案阐述的是通过用已擦块表代替已擦块列表来执行所述第三实施方案的处理所实现的改进方案。图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
当所述访问装置200产生一条写指令时,所述第四方案中的写控制单元25便根据该已擦块表判断是否将该指令确定的写目标擦除,并判断其是否为一未使用的块。这样,如果所述写目标块是未擦除块,则在往该块中写入新数据之前,由所述写控制单元25令所述擦除控制块26将该块中的数据擦除。换句话说,第四实施方案中的所述写控制单元25在执行写数据前会将数据擦除。When the access device 200 generates a write command, the
接着,将阐述第四实施方案中所述优先擦除控制单元29的处理过程。在等待来自所述应用程序8的指令时,该优先擦除控制单元29执行可擦块的擦除。该擦除过程与第三实施方案中所述相同,并在图25的流程图中示出。该流程图除了已将“已擦块列表”换成‘已擦块表’之外,其他均与图22中所示一致。而且由于内容无太大变化,所以这里省去详细的阐述。下面将参照图26A和26B阐述第四实施方案中所述优先擦除控制单元29执行的处理过程。Next, the processing procedure of the priority
在图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
第五实施方案提出了一种解决文件分段存储问题的方法。按惯例,文件分段存储指的是将一个文件划分成多个文件片段,然后将这些片段不连续地存储在存储器中的处理。如果在一种记录介质,如一张光盘或一张磁盘上不连续地存储多个文件片段,那么需要查找大量盘片以读出非连续存储的文件片段,于是会加长读处理的时间。为了解决这种分段存储产生的问题,所述文件系统操作单元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
但是,虽然磁盘搜索不是问题,但分段存储仍会导致下述情况大幅增加,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
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
尽管存在这两个问题,但为了解决所述半导体存储卡100中的分段存储问题而采用与解决磁盘中该问题相同的方法是不明智的。其原因是:若要修改存储在所述半导体存储卡块中的数据,则需要擦除已存储的数据,而且与在磁盘上执行同样操作所需的时间相比,该擦除需要更长的处理时间。在本实施方案中,推荐通过改变物理地址与逻辑地址之间的对应关系来作为防止分段存储时增加指令附加操作时间和产生高速缓存失误的对策。换言之,通过改变物理地址与逻辑地址之间的对应关系,使存储FAT片段的块能够用逻辑地址连续地表示,而无需改变其在存储器中的物理安排。Despite these two problems, it is unwise to solve the fragmentation problem in the
如图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
如图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
一旦完成上述处理,所述优先擦除控制单元29便在步骤S56作出判断:变量y是否为最终片段的编号。如果y不是最终编号,所述优先擦除控制单元29便在步骤S57将y加1,并将处理转到步骤S51。通过执行步骤S56的检验,对第x个文件的每个片段重复S51~S57的处理,并在步骤S57将y加1。Once the above processing is completed, the priority
换言之,如果步骤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
本实施方案提出的对分段存储所产生问题的解决方法将参照图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
存储片段文件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
如果将图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
在本实施方案中,即使文件片段存储在不连续的存储区中,也能为这些存储区分配连续的逻辑地址,这样便减少了在发出读指令时所产生的附加操作以及在高速缓存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
图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
在本实施方案中,所述扩充属性存储在保护区和备份区至少一个区域中。由于在第二实施方案中已经阐述过所述保护区,因此在这里略去进一步的阐述。所述备份区独立于所述用户区中常规区的管理。当所述非易失存储器的用户区中出现坏扇区时,分配变换单元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
本实施方案提出将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
所述块属性表由对应于所述卷区中可擦块的登记项组成。如果一个登记项设置为‘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
如果用这种方式在文件登记项中设置文件属性,所述文件系统操作单元9则将文件划分成簇大小的片段,并在所述用户区的多个簇中记录这些片段。在所述簇中记录这些文件片段后,所述文件系统操作单元9在所述块属性表中的对应于每个存储该文件的可擦块的登记项中设置所述的文件属性。如果禁止对该文件执行写操作,那么所述文件系统操作单元9便在与存储该文件片段的每个簇相对应的登记项中设置写禁止属性,如果该文件属性是读禁止,则在与存储该文件片段的每个簇相对应的登记项中设置读禁止属性。如果该文件属性为隐藏,则所述文件系统操作单元9在与存储该文件片段的每个簇相对应的登记项中设置读禁止属性。If the file attribute is set in the file entry in this way, the file
如果用这种方法在所述用户区中记录该文件,则根据所述块属性表中示出的属性对块进行读或写数据。换言之,如果所述访问装置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
如果所述访问装置200发出写指令,则所述写控制单元25或修改控制单元27查阅块属性表中对应该写目标地址的登记项。如果该登记项指示允许写,所述写控制单元25或修改控制单元27则将数据写入该写目标地址指示的块中,并且,如果该登记项指示禁止写,则不把数据写入该写目标地址所指示的块中。If the access device 200 issues a write instruction, the
这种写和读控制既能在所述应用程序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
图34C所示为在所述非易失存储器1中存储文件2时的状态,该文件已经设置了读禁止属性。在本例中,指示读禁止属性的特征位设置在所述块属性表内的对应于文件2的登记项中。然后,将该文件2划分为多个片段,并将这些片段存储在所述用户区的多个块中。FIG. 34C shows the state when the
当在逻辑地址为0001和0004的块中存储文件2的文件片段时,所述块属性表中对应于这些块的登记项被设置为‘2’,指示读禁止属性。如果用这种方法设置所述块属性表,那么所述读控制单元23将拒绝执行从地址为0001和0004的块中读出数据的指令。When the file segments of
在上述实施方案中,能在所述半导体存储卡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
在本实施方案中,所述表示写禁止属性的特征位用“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
工业应用性 Industrial applicability
如上所述,本发明中的半导体存储卡100延长了所述非易失存储器1的寿命。因此,当用这种半导体存储卡100记录通过数字音乐分发所获得的音乐内容时,即使重复地进行记录,也即先擦除这些音乐内容,然后再频繁地记录其它的音乐内容,也不会缩短该非易失存储器1的寿命。所以,一块单独的半导体存储卡100能够用来反复记录经数字音乐分发而获得的音乐内容。As described above, the
Claims (25)
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)
| 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)
| 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)
| 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 |
-
2000
- 2000-10-19 EP EP00969887A patent/EP1145126B1/en not_active Expired - Lifetime
- 2000-10-19 RU RU2001120348/09A patent/RU2257609C2/en active
- 2000-10-19 WO PCT/JP2000/007267 patent/WO2001029670A2/en not_active Ceased
- 2000-10-19 BR BRPI0007239-7A patent/BR0007239B1/en active IP Right Grant
- 2000-10-19 US US09/691,269 patent/US6611907B1/en not_active Expired - Lifetime
- 2000-10-19 CN CNB008040729A patent/CN1203395C/en not_active Expired - Lifetime
- 2000-10-19 CA CA002355082A patent/CA2355082C/en not_active Expired - Lifetime
- 2000-10-19 CN CNB2005100558131A patent/CN100442393C/en not_active Expired - Lifetime
- 2000-10-19 DE DE60017870T patent/DE60017870T2/en not_active Expired - Lifetime
- 2000-10-19 EP EP04024954.2A patent/EP1498810B1/en not_active Expired - Lifetime
- 2000-10-20 MY MYPI20004965A patent/MY123682A/en unknown
- 2000-10-20 JP JP2000321738A patent/JP3954790B2/en not_active Expired - Lifetime
-
2003
- 2003-05-27 US US10/444,966 patent/US6829674B2/en not_active Expired - Lifetime
- 2003-05-27 US US10/445,196 patent/US6829676B2/en not_active Expired - Lifetime
- 2003-05-27 US US10/445,185 patent/US6823422B2/en not_active Expired - Lifetime
- 2003-05-27 US US10/445,183 patent/US6829675B2/en not_active Expired - Lifetime
-
2004
- 2004-10-08 US US10/960,004 patent/US7143261B2/en not_active Expired - Lifetime
-
2006
- 2006-10-12 US US11/546,407 patent/US7398353B2/en not_active Expired - Lifetime
-
2008
- 2008-04-29 US US12/111,580 patent/US7734864B2/en not_active Expired - Fee Related
-
2010
- 2010-04-23 US US12/766,179 patent/US7899982B2/en not_active Expired - Fee Related
-
2011
- 2011-01-25 US US13/012,978 patent/US8015349B2/en not_active Expired - Fee Related
- 2011-07-27 US US13/191,921 patent/US8176239B2/en not_active Expired - Fee Related
-
2012
- 2012-04-03 US US13/438,154 patent/US8473671B2/en not_active Expired - Fee Related
-
2013
- 2013-05-21 US US13/898,814 patent/US8751734B2/en not_active Expired - Fee Related
-
2014
- 2014-04-29 US US14/264,365 patent/US8990487B2/en not_active Expired - Fee Related
Cited By (7)
| 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
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 |