WO2007107073A1 - Système de mémoire sur carte à puce, et son procédé de gestion de fichier - Google Patents

Système de mémoire sur carte à puce, et son procédé de gestion de fichier Download PDF

Info

Publication number
WO2007107073A1
WO2007107073A1 PCT/CN2007/000427 CN2007000427W WO2007107073A1 WO 2007107073 A1 WO2007107073 A1 WO 2007107073A1 CN 2007000427 W CN2007000427 W CN 2007000427W WO 2007107073 A1 WO2007107073 A1 WO 2007107073A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
data block
entry
allocation table
control unit
Prior art date
Application number
PCT/CN2007/000427
Other languages
English (en)
French (fr)
Inventor
Xin Ye
Defan Long
Original Assignee
Beijing Watch Data System Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Watch Data System Co., Ltd. filed Critical Beijing Watch Data System Co., Ltd.
Priority to EP07710874A priority Critical patent/EP2006774A4/en
Priority to KR1020087025862A priority patent/KR101157171B1/ko
Priority to US12/300,333 priority patent/US20090307291A1/en
Publication of WO2007107073A1 publication Critical patent/WO2007107073A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/08Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers from or to individual record carriers, e.g. punched card, memory card, integrated circuit [IC] card or smart card
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel

Definitions

  • the present invention relates to the field of embedded circuits, and more particularly to a smart card storage system in the field of smart cards and USB TOKEN, and a method for implementing file creation management in the smart card storage system.
  • All applications and data on the smart card are stored in the form of files.
  • the file types in the smart card are completely defined in the IS07816 specification, and are divided into a directory file DF and a basic file EF.
  • the EF file can be divided into binary files.
  • External access to data on smart cards is ultimately access to specific file content in smart card memory.
  • Traditional smart card chips have very limited storage capacity due to their small storage capacity. In this case, the management of the file system on the card is relatively simple. Usually, the file space is allocated sequentially, and the flexible creation, deletion, and space recycling of the file are not supported.
  • Figure 1 shows the file structure on an exemplary smart card.
  • Figure 2 is the file structure on a traditional smart card Storage allocation method.
  • Each file consists of two parts: a file directory entry and a file body space.
  • the file directory entry records basic information about the file, such as: file name, file size, and so on.
  • MF is automatically allocated as the maximum space on the card when it is created.
  • Other files are allocated space in the order they are created and in order of size. For example, when creating a subfile for the current directory file, first check whether the remaining space in the current directory is larger than the size of the subfile to be created. If the remaining space is large enough, the subfile will start from the start address of the remaining space. It is created sequentially; if the remaining space is not large enough, the subfile cannot be created.
  • the system allocates space according to the size specified when the file is created; since it is allocated in order of address space, once the allocation is successful, the file location is fixed;
  • the object of the present invention is to provide a smart card storage system and a file creation management method of the smart card storage system, and to store, read, update, delete, and modify the file footprint of the created file, and the smart card storage system allocates the file.
  • the File Allocation Table (abbreviated as FAT), combined with the traditional smart card system, adopts a new file creation management method to solve the problem of flexible creation, deletion and space recycling of files that are not supported by the prior art.
  • FAT File Allocation Table
  • the present invention provides a smart card storage system, including a storage area and a control unit, the storage area includes a file allocation table storage area and a data storage area for storing file contents, and the file allocation table storage area includes a plurality of file allocation tables.
  • the data storage area includes a plurality of data blocks; each of the file allocation table entries corresponds to one data block, wherein the control unit searches for a file allocation table of the file allocation table storage area, according to the file allocation table entry The correspondence of the data blocks controls the files within the data block.
  • the data storage area includes a file directory entry storage unit for storing a file directory entry and a file body space storage unit for storing the file body space, wherein the file directory entry storage unit and the file body space storage unit are in different data blocks.
  • the content recorded in the file allocation table entry is the block number of the next data block occupied by the current file. If the current file has no next data block, the value in the file allocation table entry is a specific value indicating the end; If the data block is not occupied, the value in the corresponding file allocation table entry indicates a specific value that is not occupied.
  • the present invention proposes a method for file creation management of a smart card storage system, creating a new file, including the following steps:
  • the control unit searches the file allocation table storage area, searches for an unoccupied file allocation entry in the file allocation table, and finds an unoccupied data block according to the corresponding relationship between the file allocation table item and the data block;
  • the control unit allocates the found unoccupied data block to the file directory entry of the file to be created, writes the file information, and modifies the value of the file allocation entry corresponding to the data block to the specific value occupied;
  • step A perform the unoccupied data block search again, allocate the plurality of data blocks found this time to the file body space of the file to be created, and modify the value of the file allocation entry corresponding to the data block to be occupied.
  • a specific value forming a file allocation table necklace table, recording the block number of the first data block in the file directory entry determined in step B, and modifying the file allocation entry corresponding to the last data block occupied by the file to an end value .
  • the file information written in step B is at least the file size, the file start block number.
  • control unit further includes the step of determining the remaining space in the current directory. If the size of the remaining space in the current directory is greater than or equal to the space required for the file to be created, the control unit performs step A.
  • step C the file start block number record in the file directory entry
  • the data block block number occupied by the file directory entry of the first subfile created under the directory file, and the file allocation entry corresponding to the data block occupied by the file directory entry of the first subfile is recorded in the file.
  • the block number of the data block occupied by the file directory entry of the next subfile created under the directory file, and so on, all the data blocks are linked to form a file allocation table necklace table of the file body space of the directory file.
  • the file start data block block number in the file directory entry in step C records the block number of the first data block occupied by the file body space of the basic file, the start data.
  • the file allocation entry corresponding to the block records the block number of the second data block occupied by the file body space of the basic file.
  • step C There is also a step of calculating, by the control unit, the number of data blocks of the file body space of the basic file before step C; and in step C, the control unit needs to find a corresponding number of unoccupied file allocation tables in the file allocation table. Item, and link these file allocation entries, and then assign these data blocks to the file body space of the base file.
  • control unit obtains the data block block number of the starting data block of the file body space storage data according to the directory entry of the created file;
  • the control unit obtains the file allocation table corresponding to the data block from the block number of the starting data block of the file, and further obtains the file allocation table necklace table of the data occupying block of the file to be stored, and then performs the file content according to the file allocation table necklace table. Store until the file content is stored.
  • the control unit searches for a matching file directory entry according to the identifier or file name of the file to be updated, and obtains a data block block number of the starting data block of the file body space storage data from the file directory entry;
  • the control unit obtains the file allocation table corresponding to the data block from the block number of the starting data block of the file, and further obtains the file allocation table necklace table of the data occupying block of the file to be updated, and then according to the starting data block obtained by step F.
  • the block number of the data block and the offset of the start address to be updated with respect to the start address of the file body space are found in the linked list to the data block number of the start address to be updated, and the data block is updated until the specified length The contents of the file have been updated.
  • H The control unit searches for a matching file directory entry according to the identifier or file name of the file to be read, and obtains the data block number of the starting data block of the file body space storage data from the file directory entry;
  • I The control unit obtains the file allocation table corresponding to the start data from the data block number of the file start data block, and obtains the file allocation table necklace table of the data block to be read by the file allocation table item, and then according to the steps
  • the data block number of the starting data block obtained by H and the offset of the starting address to be read relative to the starting address of the file body space are found in the linked list, and the data block number of the starting address to be read is found in the linked list.
  • the data block is read until the file content of the specified length is read.
  • the control unit searches for a matching file directory entry according to the identifier or file name of the file to be deleted, and obtains the data block number of the starting data block of the file body space storage data from the file directory entry;
  • the control unit obtains a file allocation table corresponding to the data block number of the file start data block obtained in step J, and obtains a file allocation table necklace table of the data block to be deleted by the file allocation table item, according to the The linked list deletes the file content of each data block until the file content of the last data block of the file is deleted, and the value of the file allocation table corresponding to the data block of each deleted file content is set to an unoccupied state. Entry value
  • the control unit deletes the data block occupied by the directory entry of the file to be deleted, and sets the value of the corresponding file allocation entry to the value of the entry in the unoccupied state.
  • the control unit searches for a matching file directory entry according to the identifier or file name of the file to be modified, and obtains the data block number of the starting data block of the file body space storage data from the file directory entry;
  • the control unit searches the file allocation table corresponding to the data block according to the data block number of the starting data block obtained by the step M, and obtains a file allocation table necklace table of the data block to be modified, according to the chain table. Find the file allocation entry corresponding to the last data block of the file;
  • the control unit sets the file allocation table according to the size of the space to be modified.
  • the control unit modifies the value of the file space size in the file directory entry of the modified file.
  • step N the control unit further needs to determine the usage status of the data block corresponding to each file allocation entry.
  • Step 0 should also include the following steps:
  • the control unit reduces the size of the file according to the file space, and one of the unoccupied data blocks of the file or The value of the file allocation entry corresponding to the multiple data blocks is set to the value of the entry of the unoccupied state; and the value of the file allocation entry corresponding to the last data block occupied by the file is modified to the end value of the file allocation entry.
  • step 0 If the file footprint is expanded, in step 0, the following steps are included:
  • the control unit searches for the unoccupied file allocation entry in the file allocation table, and assigns the data block corresponding to the unoccupied file allocation entry to the file according to the pre-expanded size of the file, and modifies the file occupation.
  • the file allocation entry corresponding to the last data block is an end value, and the file allocation table item originally occupied by the file is linked with the newly allocated file allocation table item to generate a new file allocation table necklace table of the file.
  • Figure 1 is a schematic file structure diagram
  • FIG. 2 is a diagram showing a file allocation method in a conventional smart card
  • Figure 3 is a schematic diagram showing the storage structure of the file a of the present invention.
  • Figure 4 is a schematic diagram of file space redistribution (before redistribution);
  • FIG. 5 is a schematic diagram of file space reallocation (after redistribution). detailed description
  • the present invention indicates a smart card storage system and a method for creating a file in the system.
  • the smart card storage system of the present invention includes a storage area and a control unit, the storage area including a file allocation (FAT) table storage area and data for storing file contents.
  • a storage area the FAT table storage area includes a plurality of FAT entries
  • the data storage area includes a plurality of data blocks; each FAT entry corresponds to one data block, wherein the control unit searches for FAT table storage.
  • the FAT entry of the zone controls the files in the data block according to the correspondence between the FAT entry and the data block.
  • the data storage area includes a file directory entry storage unit that stores a file directory entry, and a file body space storage unit that stores the file body space, the file directory entry storage unit and the file body space storage unit.
  • the file directory entry storage unit stores basic information such as a file name, size, type, access control authority, file start block number, and file identifier;
  • the file body space storage unit is for the directory file DF and the base file.
  • EF is different: DF is a special file whose main body space stores a collection of all subfiles below it; and the main body space of the EF file stores the actual file contents.
  • the content recorded in the file allocation table entry is the block number of the next data block occupied by the current file, and if the current file has no next data block, the value in the file allocation table entry is A specific value indicating the end; if the data block is not occupied, the value in the corresponding file allocation table entry indicates a specific value that is not occupied.
  • the FAT entry storage area includes a plurality of FAT entries, each FAT entry corresponds to one data block, and the number of blocks in the data storage area is divided into a number of FAT entries.
  • the FAT file system has FAT12, FAT16, and FAT32 points, which respectively indicate the number of bits of the FAT entry used to record the data block: 12 bits, 16 bits, or 32 bits. Taking FAT16 as an example, each data block occupies 2 bytes (16 bits) in the FAT table.
  • the data area is divided into a plurality of equal-sized data blocks to store the created file.
  • the data blocks are numbered starting from 1, which are the first block, the second block, the third block..., respectively corresponding to the first FAT entry of the FAT table area,
  • the third FAT entry >, that is, the FAT entry of the FAT table area is paired with the data block of the data area.
  • the present invention provides a method for file creation management of the above smart card storage system, that is, when creating a new file, the following steps are included:
  • the control unit searches the file allocation table storage area, searches for an unoccupied file allocation entry in the file allocation table, and finds an unoccupied data block according to the corresponding relationship between the file allocation table item and the data block;
  • the control unit allocates the found unoccupied data block to the file directory entry of the file to be created, writes the file information, and modifies the value of the file allocation entry corresponding to the data block to the specific value occupied;
  • step A perform the unoccupied data block search again, allocate the plurality of data blocks found this time to the file body space of the file to be created, and modify the value of the file allocation entry corresponding to the data block to be occupied.
  • a specific value forming a file allocation table necklace table, recording the block number of the first data block in the file directory entry determined in step B, and modifying the file allocation entry corresponding to the last data block occupied by the file to an end value .
  • step A the step of determining the remaining space in the current directory by the control unit before step A, for example, if the remaining space in the current directory is greater than or equal to the space required for the file to be created, the control unit Perform step A.
  • Step C needs to be performed separately for the creation of the catalog file, that is, if the catalog file is included in its subfile, then step C is executed.
  • the process for creating a directory file is: Since DF is a directory file, a subfile can be created under it, and its file body space is a collection of several subfiles below it. Therefore, when creating, you only need to find and allocate empty data block space for the directory items of the DF file.
  • the file body space of DF can be allocated when the subfile is created under it; that is, the process of creating the subfile under DF is DF.
  • step C the control unit needs to find a corresponding number of unoccupied FAT entries in the FAT table, and link the FAT entries, and then allocate the data blocks.
  • the control unit needs to find a corresponding number of unoccupied FAT entries in the FAT table, and link the FAT entries, and then allocate the data blocks.
  • the file start directory block number in the file directory entry of the directory file is recorded under the directory file.
  • the block number of the data block occupied by the file directory entry of the first subfile; the file allocation entry corresponding to the data block occupied by the file directory entry of the first subfile is the second created under the directory file.
  • the data block block number occupied by the file directory entry of the subfile; the file allocation entry corresponding to the data block occupied by the file directory entry of the second subfile records the file directory of the third subfile created under the directory file.
  • the file start data block block number in the file directory entry of the basic file records the first data block occupied by the body space of the basic file.
  • Block number; the file allocation entry corresponding to the starting data block records the block number of the second data block occupied by the file body space of the basic file, and so on, thereby forming a file allocation of the basic file Table necklace table.
  • control unit obtains the data block block number of the starting data block of the file body space storage data according to the directory entry of the created file;
  • the control unit obtains the file allocation table corresponding to the data block from the block number of the starting data block of the file, and further obtains the file allocation table necklace table of the data occupying block of the file to be stored, and then performs the file content according to the file allocation table necklace table. Store until the file content is stored.
  • the file system of the present invention uniformly manages all the data blocks by the FAT table, when storing a file, the files can be stored discontinuously, and the FAT entry can record the linked list of the data blocks occupied by the file normally. Access the file.
  • the control unit allocates different data blocks for the directory entry of the file to be stored and the file body space, wherein, for the data block occupied by the file directory entry, the corresponding FAT entry records the data block of the directory entry of the sibling file.
  • Block number if the file does not currently have a sibling file, the value of the FAT entry is the end value, for example, FFFF; for the file body space, the FAT entry corresponding to each data block is recorded for the file. The block number of a data block. If there is no next data block, the FAT entry value is the end value.
  • the storage method of the present invention does not lose the flexibility of FAT file management on the one hand, and speeds up access during file reading and writing on the other hand.
  • Figure 3 shows the storage of the file in detail:
  • File a is an EF file, when storing files:
  • the control unit finds a matching file directory entry according to the identifier or file name of the file to be updated, by the file directory
  • the recording item obtains the data block block number of the starting data block of the file body space storage data
  • the control unit obtains the file allocation table corresponding to the data block from the block number of the starting data block of the file, and further obtains the file allocation table necklace table of the data occupying block of the file to be updated, and then according to the starting data block obtained by step F.
  • the data block block number and the offset of the file to be updated relative to the start data are found in the linked list in the data block number of the start address to be updated, and the data block is updated until the file content of the specified length is updated.
  • the update process will be described with reference to FIG. 3:
  • the control unit first calculates the offset to be updated (the offset refers to the offset between the position of the updated or read file and the start position of the file) and the length of the data block.
  • the starting address to be updated is in the first data block. The following is an example in which the starting address to be updated is located in the first data block.
  • the control unit searches for the directory entry of the file a, and then according to the directory entry of the file a.
  • the block number of the starting data block recorded in the middle finds the first data block of the file a, that is, the data block No. 5, and updates the file content in the data block; the value of the FAT entry of the data block No. 5 is 6,
  • the next data block of file a is data block No.
  • the control unit searches for a matching file directory entry according to the identifier or file name of the file to be read, and obtains the data block number of the starting data block of the file body space storage data from the file directory entry;
  • the control unit obtains the file allocation table corresponding to the start data from the data block number of the file start data block, and obtains the file allocation table necklace table of the data block to be read by the file allocation table item, and then according to the steps
  • the data block block number of the starting data block obtained by H and the offset of the file to be read relative to the starting data are found in the linked list to the data block number where the starting address to be read is located, and the data block is read. , until the file content of the specified length is read.
  • the control unit searches for the directory entry of the file a, and then finds the file a according to the block number of the starting data block recorded in the directory entry of the file a.
  • a data block that is, data block No. 5, reads the content of the data block; if the value of the FAT entry of the data block No. 5 is 6, it can be known that the next data block of file a is data block No. 6; If the value of the FAT entry is 7, it can be seen that the next data block of the file a is the data block No. 7; the value of the FAT entry of the data block No. 7 is 11, the next data block of the file a is the data block No. 11; Dependent on this class Pushing the file content reading; until the FAT entry value of the 13th data block is FFFF, it can be seen that there is no next data block, and the file a ends here, so the file a can be completely read.
  • the present invention also provides a method for deleting a file of the above smart card storage system.
  • the method includes the following steps:
  • the control unit searches for a matching file directory entry according to the identifier or file name of the file to be deleted, and obtains the data block number of the starting data block of the file body space storage data from the file directory entry;
  • the control unit obtains a file allocation table corresponding to the data block number of the file start data block obtained in step J, and obtains a file allocation table necklace table of the data block to be deleted by the file allocation table item, according to the The linked list deletes the file content of each data block until the file content of the last data block of the file is deleted, and the value of the file allocation table corresponding to the data block of each deleted file content is set to an unoccupied state. Entry value
  • the control unit deletes the data block occupied by the directory entry of the file to be deleted, and sets the value of the corresponding file allocation entry to the value of the entry in the unoccupied state.
  • the control unit searches for the directory entry of the file a, and then searches for the first data block of the file a according to the block number of the starting data block recorded in the directory entry of the file a, that is, Data block No. 5, delete the contents of the file in the data block; the value of the FAT entry of the data block No. 5 is 6, it is known that the next data block of file a is the data block No. 6; the FAT entry value of the data block No. 6 If it is 7, it can be seen that the next data block of file a is data block No. 7; if the FAT entry value of data block No. 7 is 11, it can be known that the next data block of file a is data block No. 11; and so on.
  • the file content of the data block, and the FAT entry corresponding to the data block is set to 0, indicating that the data block is not occupied, so that the system allocates it to other files to be created; until the last data block of the file is deleted.
  • the present invention also indicates a method for modifying a file footprint of the above-mentioned smart card storage system.
  • the following steps are included:
  • the control unit searches for a matching file directory entry according to the identifier or file name of the file to be modified, and obtains the data block number of the starting data block of the file body space storage data from the file directory entry;
  • the control unit searches for the file corresponding to the data block according to the data block number of the starting data block obtained by step M. Allocating an entry, and obtaining a file allocation table necklace table of the data block to be modified, and finding a file allocation entry corresponding to the last data block of the file according to the linked list;
  • the control unit sets the file allocation table according to the size of the space to be modified.
  • the control unit modifies the value of the file space size in the file directory entry of the modified file.
  • step N the control unit further needs to determine the usage status of the data block corresponding to each file allocation entry.
  • Step 0 should also include the following steps:
  • the control unit sets the value of the file allocation entry corresponding to one or more data blocks in the unoccupied data block to the unoccupied state of the file according to the size of the file after the file space is reduced;
  • the file allocation entry value corresponding to the last data block occupied is modified to the end value of the file allocation table entry.
  • step 0 the following steps are included:
  • the control unit searches the file allocation table for the unoccupied file allocation entry, and assigns the data block corresponding to the unoccupied file allocation entry to the file according to the pre-expanded size of the file, and modifies the file occupation.
  • the file allocation entry corresponding to the last data block is an end value, and the file allocation table item originally occupied by the file is linked with the newly allocated file allocation table item to generate a new file allocation table necklace table of the file.
  • file a occupies six data blocks of 5th, 6th, 7th, 11th, 12th, and 13th; file b occupies 8, 9, 10 three data blocks; Assume that the current file a uses only the first four data blocks, that is, the 12th and 13th shaded data blocks are not used yet;
  • the space that has not been used by the file a can be transferred to the file b, that is, let the file a occupy the 5th, 6th, 7th, and 11th.
  • the method for modifying the file space of the present invention can redistribute the file size, that is, when one file space is too large and waste, and when another file space is too small to be used, the unused file space in the large file can be used. Transfer to small files for use, giving users the flexibility to use storage space.
  • the smart card file system and the management method thereof according to the present invention can overcome the defects existing in the prior art, and realize flexible creation, deletion, and space recycling of files.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

智能卡存储系统及该系统中文件创建管理的方法 技术领域
本发明涉及嵌入式领域, 尤其是智能卡以及 USB TOKEN领域中的一种智能卡存储系 统以及实现该智能卡存储系统中文件创建管理的方法。
背景技术
随着智能卡应用的不断推广与普及, 人们对智能卡的功能需求越来越多样化, 丰富多 彩的应用需求使得智能卡的硬件工艺水平日新月异: CPU位数上, 从最初的 8位 CPU, 到 现在广为使用的 16位 CPU, 再到正在逐步推广的 32位 CPU; 存储器类型上, 从最初的 ROM、 RAM、 EEPROM,到现在的 NOR FLASH, 再到新的 NOR FLASH与 NAND FLASH 融合技术; 传输接口上, 从 IS07816单一接口, 到融合 MMC、 USB等快速接口的多通道 等; 特别是在存储容量上, 更是不断发生着数量级上的变化, 从最初的字节级, 到现在的 K级以及逐渐推出的 M级和 G级的大容量。
智能卡上所有的应用以及数据都是以文件的形式进行存储, 智能卡中的文件类型完全 遵照 IS07816规范中的定义, 分为目录文件 DF和基本文件 EF, 其中, EF文件又可以分 为二进制文件、 定长记录文件、 变长记录文件、 循环文件等多种类型。 外界对智能卡上数 据的访问归根结底是对智能卡存储器中特定文件内容的访问。 传统的智能卡芯片由于存储 容量很小, 因此, 所能完成的功能也十分有限。 这种情况下, 卡上文件系统的管理相对比 较简单, 通常采用顺序分配文件空间的方式, 不支持文件的灵活创建、 删除和空间回收利 用。
以我们常用的手机 SIM卡为例, 当一张卡支持 100条短信空间和 50个电话号码空间 时, 如果用户对短信应用不感兴趣而又感觉电话号码空间不够用时,传统的手机 SIM卡不 能够支持文件空间的互补, 即将剩余的短信空间补充到不足的电话号码簿空间。 因为传统 智能卡釆用的是顺序分配空间的方法。
如图 1表示一个示例性的智能卡上的文件结构。 图 2是该文件结构在传统智能卡上的 存储分配方法。
每个文件由文件目录项和文件主体空间两部分组成, 文件目录项记录该文件的基本信 息, 如: 文件名、 文件大小等。 由图 2中可以看出, 传统智能卡的文件管理采用的是顺序 分配空间的方法: MF在创建的时候自动分配为卡上的最大空间。 其他文件依照创建的顺 序和大小, 顺序为其分配空间。 例如, 当为当前目录文件创建其子文件时, 首先查看当前 目录下的剩余空间是否大于待创建的子文件大小, 如果剩余空间足够大, 则子文件将从剩 佘空间的起始地址处开始被顺序创建; 如果剩余空间不够大, 则子文件无法被创建。
这种顺序分配文件的方式存在着如下弊端-
( 1 ) 系统根据文件创建时指定的大小分配空间; 由于是按照地址空间顺序分配, 因 此一旦分配成功, 文件位置即固定;
(2) 由于是在文件创建时预先指定文件大小, 文件一旦被创建, 文件大小不能再被 改变; 使用过程中, 文件大小始终是一个固定值, 可能会存在空间不够用或者空间浪费的 情况;
(3 ) 当在使用过程中发现, 一个文件预分配的空间不够, 而另一个文件预分配的空 间过大时, 不能提供一种有效的机制使得两个文件的空间能够互为补充;
(4) 文件可以被删除, 但是删除后的空间不能被系统回收利用, 因为所有新创建的 文件都是在原有已分配地址空间的基础上继续顺序分配的; 因此, 造成卡上存储空间的大 量浪费;
随着智能卡应用的不断多样化和智能卡存储器容量的不断增大, 这种传统的文件管理 方法已经越来越不能够满足应用需求。
发明内容
本发明的目的在于提出一种智能卡存储系统以及该智能卡存储系统的文件创建管理 方法, 以及对创建的文件的存储、 读取、 更新、 删除以及文件占用空间的修改, 该智能卡 存储系统将文件分配表(File Allocation Table, 缩写 FAT)与传统智能卡系统相结合, 采取 了一种新的文件创建管理方法, 以解决现有技术不支持文件的灵活创建、 删除和空间回收 利用的问题。 本发明的目的是这样实现的:
本发明提供一种智能卡存储系统, 包括存储区以及控制单元, 所述的存储区包括文件 分配表存储区以及存储文件内容的数据存储区, 所述的文件分配表存储区包括多个文件分 配表项,所述的数据存储区包括多个数据块;每一个文件分配表项对应一个数据块,其中, 所述的控制单元查找文件分配表存储区的文件分配表项, 根据文件分配表项与数据块的对 应关系对数据块内的文件做出控制。
所述的数据存储区包括存放文件目录项的文件目录项存储单元和存放文件主体空间 的文件主体空间存储单元, 所述的文件目录项存储单元和文件主体空间存储单元处于不同 的数据块内。
所述的文件分配表项中记录的内容为当前文件所占用的下一个数据块的块号,如果当 前文件没有下一个数据块, 则文件分配表项中的值为表示结束的特定值; 如果数据块没有 被占用, 则对应文件分配表项中的值为表示未被占用的特定值。
本发明提出一种对智能卡存储系统进行文件创建管理的方法, 创建一个新的文件, 包 括以下步骤:
A、 控制单元搜索所述的文件分配表存储区, 在文件分配表中搜索未被占用的文件分 配表项, 并根据文件分配表项与数据块的对应关系查找到未被占用的数据块;
B、 由控制单元将找到的未被占用的数据块分配给待创建文件的文件目录项, 写入文 件信息, 将该数据块对应的文件分配表项的值修改为被占用的特定值;
C、 继续执行步骤 A, 再次进行未占用数据块查找, 将此次找到的多个数据块分配给 待创建文件的文件主体空间, 将数据块对应的文件分配表项的值修改为被占用的特定值, 形成文件分配表项链表, 将第一个数据块的块号记录在步骤 B确定的文件目录项中, 将该 文件所占用的最后一个数据块对应的文件分配表项修改为结束值。
在步骤 B中写入的文件信息至少为文件大小、 文件起始数据块块号。
在步骤 A之前还包括控制单元对当前目录下剩余空间判断的步骤,如当前目录下的剩 余空间大小大于等于待创建的文件所需的空间, 控制单元才执行步骤 A。
如果创建的文件是目录文件, 在步骤 C中, 文件目录项中的文件起始数据块块号记录 的是该目录文件下建立的第一个子文件的文件目录项所占用的数据块块号, 第一个子文件 的文件目录项所占用的数据块对应的文件分配表项中记录的是该目录文件下建立的下一 个子文件的文件目录项所占用的数据块块号, 以此类推, 所有数据块链接起来形成该目录 文件的文件主体空间的文件分配表项链表。
如果创建的文件是基本文件,步骤 C中的文件目录项中的文件起始数据块块号记录的 是该基本文件的文件主体空间所占用的第一个数据块的块号, 该起始数据块对应的文件分 配表项中记录的是该基本文件的文件主体空间所占用的第二个数据块的块号。
在步骤 C之前还存在控制单元对基本文件的文件主体空间所述数据块个数计算的步 骤; 且在步骤 C中控制单元需要在文件分配表中找出相应个数未被占用的文件分配表项, 并将这些文件分配表项链接起来, 再将这些数据块分配给基本文件的文件主体空间。
在进行文件内容存储的时候, 包括以下步骤:
D: 控制单元根据创建的文件的目录项得到文件主体空间存储数据的起始数据块的数 据块块号;
E: 控制单元由文件的起始数据块的块号得到数据块对应的文件分配表项, 进而得到 待存储文件占用数据块的文件分配表项链表, 再根据文件分配表项链表进行文件内容的存 储, 直到文件内容被存储完毕。
对创建或存储的文件更新时, 包括以下步骤:
F: 控制单元根据待更新文件的标识符或文件名査找到匹配的文件目录项, 由文件目 录项得到文件主体空间存储数据的起始数据块的数据块块号;
G: 控制单元由文件的起始数据块的块号得到数据块对应的文件分配表项, 进而得到 待更新文件占用数据块的文件分配表项链表, 再根据由步骤 F得到的起始数据块的数据块 块号以及待更新的起始地址相对于文件主体空间起始地址的偏移量在链表中查找到待更 新的起始地址所在的数据块号,进行数据块的更新,直到指定长度的文件内容被更新完毕。
对创建或存储的文件读取时, 包括以下步骤:
H: 控制单元根据待读取文件的标识符或文件名查找到匹配的文件目录项, 由文件目 录项得到文件主体空间存储数据的起始数据块的数据块号; I:控制单元由文件起始数据块的数据块号得到起始数据对应的文件分配表项, 由该文 件分配表项得到待读取文件占用数据块的文件分配表项链表,再根据由步骤 H得到的起始 数据块的数据块块号以及待读取的起始地址相对于文件主体空间起始地址的偏移量在链 表中査找到待读取的起始地址所在的数据块号, 进行数据块的读取, 直到指定长度的文件 内容被读取完毕。
对创建或存储的文件进行删除时, 包括以下步骤:
J:控制单元根据待删除文件的标识符或文件名査找到匹配的文件目录项, 由文件目录 项得到文件主体空间存储数据的起始数据块的数据块号;
K: 控制单元根据步骤 J得到的文件起始数据块的数据块号, 得到与其对应的文件分 配表项, 由该文件分配表项得到待删除文件占用数据块的文件分配表项链表, 依该链表进 行每一数据块的文件内容的删除, 直到该文件的最后一个数据块的文件内容被删除, 同时 将每一被删除文件内容的数据块对应的文件分配表项的值设置为未占用状态的表项值;
L: 控制单元删除待删除文件的目录项占用的数据块, 将其对应的文件分配表项值设 置为未占用状态的表项值。
对创建或存储的文件进行占用空间修改时, 包括以下步骤:
M: 控制单元根据待修改文件的标识符或文件名查找到匹配的文件目录项, 由文件目 录项得到文件主体空间存储数据的起始数据块的数据块号;
N: 控制单元根据由步骤 M得到的起始数据块的数据块号査找到该数据块对应的文件 分配表项, 并得到该待修改文件占用数据块的文件分配表项链表, 依该链表査找到该文件 的最后一个数据块对应的文件分配表项;
0: 控制单元根据待修改文件欲占用空间的大小, 进行文件分配表项的设置;
P: 控制单元对待修改文件的文件目录项中文件空间大小的值进行修改。
如进行文件占用空间的缩小, 在步骤 N中, 控制单元还需要对每一文件分配表项对应 的数据块的使用状态做出确定;
步骤 0中还应该包括以下步骤:
01: 控制单元根据文件空间缩小后文件的大小, 将该文件未占用的数据块中的一个或 者多个数据块所对应文件分配表项值设置为未占用状态的表项值; 同时将该文件占用的最 后一个数据块对应的文件分配表项值修改为文件分配表项的结束值。
如进行文件占用空间的扩大, 在步骤 0中, 包括以下步骤:
ΟΙ ' : 控制单元在文件分配表中査找未被占用的文件分配表项, 并按照文件预扩大的 大小将未被占用的文件分配表项对应的数据块分配给该文件, 修改该文件占用的最后一个 数据块对应的文件分配表项为结束值, 该文件原占用的文件分配表项与新分配的文件分配 表项链接起来, 生成该文件新的文件分配表项链表。
本发明的有益效果如下- 由于本发明的文件系统中 FAT表项与数据块一一对应, 因此,我们可以通过 FAT表项 对每一个文件所占用的每一个数据块清晰的定位和査找;
由于本发明的文件系统所有的空数据块都由 FAT表来管理, 因此, 在为一个文件分配 空间时, 不再是采用传统的顺序分配方式, 而是在 FAT表中搜索未占用的数据块的块号, 将搜索到的对应未占用的数据块分配给新创建的文件; 这样大大增加了文件创建的灵活 性, 同时充分利用了空间碎片;
同样, 删除文件时, 只要释放相应的 FAT表项, 则文件所占用的空间就可以被完全回 收;
当为一个文件分配的空间过大而为另一个文件分配的空间过小时, 只需释放一部分大 文件尚未被写入内容的数据块对应的 FAT表项,并将这些 FAT表项分配给占用空间小的文 件, 同时修改两个文件目录项中的文件大小信息, 则可以很容易地实现文件大小的互补, 实现文件大小的按需使用和灵活配置。
附图说明
图 1是一个示意性的文件结构图;
图 2是示意文件结构在传统智能卡中的文件分配方法;
图 3是本发明的文件 a的存储结构示意图;
图 4是文件空间重分配示意图 (重分配前);
图 5是文件空间重分配示意图 (重分配后)。 具体实施方式
本发明指出一种智能卡存储系统及该系统中文件创建的方法, 本发明的智能卡存储系 统包括存储区以及控制单元, 所述的存储区包括文件分配(FAT) 表存储区以及存储文件 内容的数据存储区,所述的 FAT表存储区包括多个 FAT表项,所述的数据存储区包括多个 数据块; 每一个 FAT表项对应一个数据块, 其中, 所述的控制单元查找 FAT表存储区的 FAT表项, 根据 FAT表项与数据块的对应关系对数据块内的文件做出控制。
在本发明的系统中, 所述的数据存储区包括存放文件目录项的文件目录项存储单元和 存放文件主体空间的文件主体空间存储单元, 所述的文件目录项存储单元和文件主体空间 存储单元处于不同的数据块内。其中,文件目录项存储单元中存储的是文件的名称、大小、 类型、 访问控制权限、 文件起始数据块块号及文件标识符等基本信息; 文件主体空间存储 单元对于目录文件 DF和基本文件 EF有所不同: DF是一种特殊的文件, 其文件主体空间 存放的是它下面的所有子文件的集合; 而 EF文件的文件主体空间存放的是实际的文件内 容。 当为一个文件分配存储空间时, 该文件的目录项和主体空间在存储区中分配不同的数 据块。 在本发明的系统中, 所述的文件分配表项中记录的内容为当前文件所占用的下一个 数据块的块号, 如果当前文件没有下一个数据块, 则文件分配表项中的值为表示结束的特 定值; 如果数据块没有被占用, 则对应文件分配表项中的值为表示未被占用的特定值。
在本系统中, 所述的 FAT表项存储区包括若干个 FAT表项, 每一个 FAT表项与一个 数据块相对应, 数据存储区划分为了多少个块, 就需要相应个数的 FAT表项。 FAT文件系 统有 FAT12, FAT16, FAT32之分, 它们分别表示用来记录数据块的 FAT表项的位数: 12 位、 16位或者是 32位。 以 FAT16为例,每一个数据块在 FAT表中占据 2个字节( 16位)。
所述的数据区被划分为若干个大小相等的数据块, 存放被创建的文件。 数据块从 1开 始编号, 分别是第 1块, 第 2块, 第 3块 ...... , 分别对应 FAT表区的第 1个 FAT表项, 第
2个 FAT表项, 第 3个 FAT表项 ......, 即 FAT表区的 FAT表项与数据区的数据块一一对 应。
在本发明的实施例中, 对于上述智能卡存储系统中的文件处理, 在以下内容进行详细 说明, 同时以 FAT16进行说明: 本发明给出一种对上述智能卡存储系统进行文件创建管理的方法, 即创建一个新的文 件时, 包括以下步骤:
A、 控制单元搜索所述的文件分配表存储区, 在文件分配表中搜索未被占用的文件分 配表项, 并根据文件分配表项与数据块的对应关系查找到未被占用的数据块;
B、 由控制单元将找到的未被占用的数据块分配给待创建文件的文件目录项, 写入文 件信息, 将该数据块对应的文件分配表项的值修改为被占用的特定值;
C、 继续执行步骤 A, 再次进行未占用数据块査找, 将此次找到的多个数据块分配给 待创建文件的文件主体空间, 将数据块对应的文件分配表项的值修改为被占用的特定值, 形成文件分配表项链表, 将第一个数据块的块号记录在步骤 B确定的文件目录项中, 将该 文件所占用的最后一个数据块对应的文件分配表项修改为结束值。
如果不是在一种空白智能卡上存储文件,在步骤 A之前还包括控制单元对当前目录下 剩余空间判断的步骤, 如当前目录下的剩余空间大小大于等于待创建的文件所需的空间, 控制单元才执行步骤 A。
在创建文件时, 处理方法会因为存储文件类型的不同而有所区别:
如创建的文件是目录文件, 由于目录文件的文件主体空间是由所有子文件的集合构 成, 因此, 其文件主体空间的分配是在其下创建子文件时由步骤 B和步骤 C分配的, 不需 要为目录文件的创建单独执行步骤 C, 也就是说如其子文件中包括目录文件, 再执行步骤 C。对于目录文件的创建过程为: 由于 DF是目录文件, 其下可以再创建子文件, 它的文件 主体空间是它下面若干个子文件的集合。 因此, 在创建时只需要为 DF文件的目录项查找 并分配空的数据块空间, DF的文件主体空间可以等到在其下创建子文件时分配; 即在 DF 下创建子文件的过程就是为 DF的主体空间分配存储块的过程; 在 DF下创建子文件时, 需要首先计算 DF下剩余空间的大小, 即 DF下剩余空间大小-DF的主体空间大小一 DF 下已有子文件的空间总和, 如果计算得到的 DF下剩余空间大小比待创建的文件大小 (文 件目录项大小 +文件主体空间大小) 小, 则说明 DF下没有足够的空间创建指定大小的文 件, 系统将会返回创建失败的应答给应用端; 如果剩余空间足够大, 则允许创建文件。
如创建的文件是基本文件,在步骤 C之前还存在控制单元对基本文件的文件主体空间 所述数据块个数计算的步骤;且在步骤 C中控制单元需要在 FAT表中找出相应个数未被占 用的 FAT表项,并将这些 FAT表项链接起来,再将这些数据块分配给基本文件的文件主体 空间,并将该文件所占用的最后一个数据块对应的 FAT表项的值修改为文件分配表项的结 束值。
在 FAT表项链接时, 对于目录文件, 由于其文件主体空间是由其下所有子文件构成, 因此, 目录文件的文件目录项中的文件起始数据块块号记录的是该目录文件下建立的第一 个子文件的文件目录项所占用的数据块块号; 第一个子文件的文件目录项所占用的数据块 对应的文件分配表项中记录的是该目录文件下建立的第二个子文件的文件目录项所占用 的数据块块号; 第二个子文件的文件目录项所占用的数据块对应的文件分配表项中记录的 是该目录文件下建立的第三个子文件的文件目录项所占用的数据块块号, 依此类推, 从而 形成该目录文件的文件分配表项链表。
对于基本文件, 由于其文件主体空间由其实际文件内容构成, 因此,基本文件的文件 目录项中的文件起始数据块块号记录的是该基本文件的主体空间所占用的第一个数据块 的块号; 该起始数据块对应的文件分配表项中记录的是该基本文件的文件主体空间所占用 的第二个数据块的块号, 依此类推, 从而形成该基本文件的文件分配表项链表。
文件创建后, 在进行文件内容存储时, 包括以下步骤:
D: 控制单元根据创建的文件的目录项得到文件主体空间存储数据的起始数据块的数 据块块号;
E: 控制单元由文件的起始数据块的块号得到数据块对应的文件分配表项, 进而得到 待存储文件占用数据块的文件分配表项链表, 再根据文件分配表项链表进行文件内容的存 储, 直到文件内容被存储完毕。
由于本发明的文件系统由 FAT表统一管理所有的数据块, 因此, 当存储一个文件时, 文件可以不连续存放, 只要通过 FAT表项记录下文件所占用的数据块的链表, 就能够正常 地对文件进行访问。
在本发明进行文件存储的最佳实施方案中,可以定义 FAT表项值为 0时表示对应数据 块未被占用, FAT表项值为 FFFF时表示没有下一链接的数据块。 1〜FFFE之间的 FAT表 项值记录的是当前文件的下一数据块的块号。 控制单元为待存储文件的目录项和文件主体 空间分配不同的数据块, 其中, 对于文件目录项占用的数据块, 其对应的 FAT表项中记录 的是其兄弟文件的目录项所在数据块的块号, 如果该文件目前没有兄弟文件, 则 FAT表项 的值为结束值, 例如可为 FFFF; 对于文件主体空间, 每一个数据块对应的 FAT表项记录 的都是为该文件分配的下一个数据块的块号, 如果没有下一数据块, 则 FAT表项值为结束 值。
本发明的这种存储方法, 一方面不失 FAT文件管理的灵活性, 另一方面也是为了加快 文件读写时的访问速度。
以下是以文件 a的存储为例, 见图 3对文件的存储进行了详细说明:
文件 a是一个 EF文件, 进行文件存储时:
( 1 )判断当前目录下的剩余空间是否足够, 不够则不允许创建新的子文件;
(2)在 FAT表中搜索未占用的数据块, 分配给待创建文件的目录项; 在图 4中, 将 数据块 1分配给了文件 a的目录项;
(3 )计算 EF文件主体空间所需的数据块个数,在 FAT表中査找相应个数的未占用的 FAT表项, 并将这些 FAT表项链接起来, 即前一个 FAT表项的值为该文件的下一个 FAT 表项的块编号; 如在图 4的示例中, 为文件 a的主体空间分配了 6个数据块, 控制单元搜 索到的未占用的 FAT表项为 5、 6、 7、 11、 12、 13, 将这些数据块分配给文件 a的主体空 间, 同时, 将 FAT表项 5的值置为 6, 将 FAT表项 6的值置为 7, 将 FAT表项 7的值置为 11,依次类推 ......第 13块是文件 a的最后一数据块,因此,将 FAT表项 13的值置为 FFFF, 表示该文件没有下一个 FAT表项, 将文件内容存入这些数据块中, 完成对文件的存储。
由此可见, 当釆用本发明的系统时, 并不需要为一个文件分配连续空间的数据块, 只 要在分配的同时用 FAT表项记录下该文件的数据块的链接,就可以完整地对文件进行查找 和读写。
以下是对本发明进行创建或存储的文件更新的方法的说明, 该方法具体包括以下步 骤:
F: 控制单元根据待更新文件的标识符或文件名查找到匹配的文件目录项, 由文件目 录项得到文件主体空间存储数据的起始数据块的数据块块号;
G: 控制单元由文件的起始数据块的块号得到数据块对应的文件分配表项, 进而得到 待更新文件占用数据块的文件分配表项链表, 再根据由步骤 F得到的起始数据块的数据块 块号以及待更新文件相对于起始数据的偏移量在链表中査找到待更新的起始地址所在的 数据块号, 进行数据块的更新, 直到指定长度的文件内容被更新完毕。
再结合图 3对更新过程进行说明: 控制单元首先根据待更新的偏移量(该偏移量是指 更新或者读取文件的位置与文件起始位置之间的偏移)和数据块长度计算待更新的起始地 址在第几个数据块中, 下文以待更新的起始地址位于第一个数据块为例进行说明, 控制单 元査找到文件 a的目录项, 再根据文件 a的目录项中记录的起始数据块的块号査找到文件 a的第一个数据块, 即 5号数据块, 更新该数据块内的文件内容; 5号数据块的 FAT表项 值是 6, 则可知文件 a的下一数据块是 6号数据块; 6号数据块的 FAT表项值是 7,则可知 文件 a的下一数据块是 Ί号数据块; 7号数据块的 FAT表项值是 11, 则可知文件 a的下一 数据块是 11号数据块;依此类推对这些数据块的文件内容进行更新;直到指定长度的文件 内容被更新完毕。
以下是本发明提出的对上述系统中的文件进行读取的方法, 包括以下步骤:
H: 控制单元根据待读取文件的标识符或文件名查找到匹配的文件目录项, 由文件目 录项得到文件主体空间存储数据的起始数据块的数据块号;
I:控制单元由文件起始数据块的数据块号得到起始数据对应的文件分配表项, 由该文 件分配表项得到待读取文件占用数据块的文件分配表项链表,再根据由步骤 H得到的起始 数据块的数据块块号以及待读取文件相对于起始数据的偏移量在链表中查找到待读取的 起始地址所在的数据块号, 进行数据块的读取, 直到指定长度的文件内容被读取完毕。
以下以读取图 3所示的文件 a为例进行说明, 首先控制单元査找到文件 a的目录项, 再根据文件 a的目录项中记录的起始数据块的块号查找到文件 a的第一个数据块, 即 5号 数据块, 读取该数据块的内容; 5号数据块的 FAT表项值是 6, 则可知文件 a的下一数据 块是 6号数据块; 6号数据块的 FAT表项值是 7, 则可知文件 a的下一数据块是 7号数据 块; 7号数据块的 FAT表项值是 11, 则可知文件 a的下一数据块是 11号数据块; 依此类 推进行文件内容读取; 直到第 13号数据块的 FAT表项值是 FFFF, 可知没有下一数据块, 文件 a到此结束, 故而文件 a可以被完整地读取。
本发明还给出一种对上述智能卡存储系统的文件删除的方法, 进行文件删除时, 包括 以下步骤:
J:控制单元根据待删除文件的标识符或文件名査找到匹配的文件目录项, 由文件目录 项得到文件主体空间存储数据的起始数据块的数据块号;
K: 控制单元根据步骤 J得到的文件起始数据块的数据块号, 得到与其对应的文件分 配表项, 由该文件分配表项得到待删除文件占用数据块的文件分配表项链表, 依该链表进 行每一数据块的文件内容的删除, 直到该文件的最后一个数据块的文件内容被删除, 同时 将每一被删除文件内容的数据块对应的文件分配表项的值设置为未占用状态的表项值;
L: 控制单元删除待删除文件的目录项占用的数据块, 将其对应的文件分配表项值设 置为未占用状态的表项值。
再结合图 3对删除过程进行说明, 首先控制单元査找到文件 a的目录项, 再根据文件 a的目录项中记录的起始数据块的块号查找到文件 a的第一个数据块, 即 5号数据块, 删 除该数据块内的文件内容; 5号数据块的 FAT表项值是 6,则可知文件 a的下一数据块是 6 号数据块; 6号数据块的 FAT表项值是 7, 则可知文件 a的下一数据块是 7号数据块; 7 号数据块的 FAT表项值是 11, 则可知文件 a的下一数据块是 11号数据块; 依此类推删除 这些数据块的文件内容, 同时要置该数据块对应的 FAT表项为 0, 表示该数据块没有被占 用, 以便系统将其分配给其他待创建的文件; 直到该文件的最后一个数据块被删除; 文件 主体空间删除后,同时要删除文件目录项所占用的数据块,并修改其对应的 FAT表项为 0, 完成文件 a的删除。
本发明还指出一种对上述的智能卡存储系统的进行文件占用空间修改的方法, 对存储 的文件进行占用空间修改时, 包括以下步骤:
M: 控制单元根据待修改文件的标识符或文件名查找到匹配的文件目录项, 由文件目 录项得到文件主体空间存储数据的起始数据块的数据块号;
N: 控制单元根据由步骤 M得到的起始数据块的数据块号査找到该数据块对应的文件 分配表项, 并得到该待修改文件占用数据块的文件分配表项链表, 依该链表查找到该文件 的最后一个数据块对应的文件分配表项;
0: 控制单元根据待修改文件欲占用空间的大小, 进行文件分配表项的设置;
P: 控制单元对待修改文件的文件目录项中文件空间大小的值进行修改。
如进行文件占用空间的缩小, 在步骤 N中, 控制单元还需要对每一文件分配表项对应 的数据块的使用状态做出确定;
步骤 0中还应该包括以下步骤:
01: 控制单元根据文件空间缩小后文件的大小, 将该文件未占用的数据块中的一个或 者多个数据块所对应文件分配表项值设置为未占用状态的表项值; 同时将该文件占用的最 后一个数据块对应的文件分配表项值修改为文件分配表项的结束值。
在步骤 0中, 包括以下步骤:
01 ': 控制单元在文件分配表中査找未被占用的文件分配表项, 并按照文件预扩大的 大小将未被占用的文件分配表项对应的数据块分配给该文件, 修改该文件占用的最后一个 数据块对应的文件分配表项为结束值, 该文件原占用的文件分配表项与新分配的文件分配 表项链接起来, 生成该文件新的文件分配表项链表。
以下结合图 4和图 5的内容进行说明:
图 4中所示的内容是重分配前的文件空间示意图, 由图中可以看出, 文件 a占用了第 5、 6、 7、 11、 12、 13六个数据块; 文件 b占用了 8、 9、 10三个数据块; 假设目前文件 a 仅使用了前 4个数据块, 即第 12、 13两个被阴影标注的数据块尚未使用;
如用户希望缩小文件 a的空间同时扩大 b的空间, 则可将文件 a尚未使用的空间 (第 12、 13数据块) 转移给文件 b, 即: 让文件 a占有第 5、 6、 7、 11四个数据块; 让文件 B 占用第 8、 9、 10、 12、 13五个数据块;
为了实现上述的功能, 需要修改文件 b原先的最后一数据块——第 10数据块对应的 FAT表项为 12, 使其指向新分配的第 12数据块; 同时, 修改文件 a的最后一数据块—— 第 11数据块的 FAT表项为 FFFF, 表明没有后续数据块; 修改后的文件 a和文件 b的空间 示意图见图 5。 修改 FAT表项的同时, 还应修改文件 a和文件 b的目录项中的"文件大小", 使其等于 更新后的文件大小。
本发明的这种对文件空间修改的方法, 能够对文件大小重新分配, 即当一个文件空间 过大造成浪费, 而另一个文件空间过小不够使用时, 可将大文件中未使用的文件空间转移 给小的文件使用, 使用户可以灵活利用存储空间。
基于上述描述可知, 本发明所述的智能卡文件系统及其管理方法可以克服现有技术存 在的缺陷, 并实现文件的灵活创建、 删除和空间回收利用。
显然, 本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和 范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内, 则本发明也意图包含这些改动和变型在内。

Claims

权利要求书
1、 一种智能卡存储系统, 包括存储区以及控制单元, 其特征在于, 所述的存储区包 括文件分配表存储区以及存储文件内容的数据存储区, 所述的文件分配表存储区包括多个 文件分配表项,所述的数据存储区包括多个数据块;每一个文件分配表项对应一个数据块, 其中, 所述的控制单元査找文件分配表存储区的文件分配表项, 根据文件分配表项与数据 块的对应关系对数据块内的文件做出控制。
2、 根据权利要求 1 所述的智能卡存储系统, 其特征在于, 所述的数据存储区包括存 放文件目录项的文件目录项存储单元和存放文件主体空间的文件主体空间存储单元, 所述 的文件目录项存储单元和文件主体空间存储单元处于不同的数据块内。
3、 根据权利要求 1所述的智能卡存储系统, 其特征在于, 所述的文件分配表项中记 录的内容为当前文件所占用的下一个数据块的块号, 如果当前文件没有下一个数据块, 则 文件分配表项中的值为表示结束的特定值; 如果数据块没有被占用, 则对应文件分配表项 中的值为表示未被占用的特定值。
4、一种对权利要求 1所述的智能卡存储系统进行文件创建管理的方法, 其特征在于, 创建一个新的文件, 包括以下步骤:
A、 控制单元搜索所述的文件分配表存储区, 在文件分配表中搜索未被占用的文件分 配表项, 并根据文件分配表项与数据块的对应关系査找到未被占用的数据块;
B、 由控制单元将找到的未被占用的数据块分配给待创建文件的文件目录项, 写入文 件信息, 将该数据块对应的文件分配表项的值修改为被占用的特定值;
C、 继续执行步骤 A, 再次进行未占用数据块查找, 将此次找到的多个数据块分配给 待创建文件的文件主体空间, 将数据块对应的文件分配表项的值修改为被占用的特定值, 形成文件分配表项链表, 将第一个数据块的块号记录在步骤 B确定的文件目录项中, 将该 文件所占用的最后一个数据块对应的文件分配表项修改为结束值。
5、 根据权利要求 4所述的方法, 其特征在于, 在步骤 B中写入的文件信息至少为文 件大小、 文件起始数据块块号。
6、 根据权利要求 4所述的方法, 其特征在于, 在步骤 A之前还包括控制单元对当前 目录下剩余空间判断的步骤, 如当前目录下的剩佘空间大小大于等于待创建的文件所需的 空间, 控制单元才执行步骤 A。
7、 根据权利要求 4或 5或 6所述的方法, 其特征在于, 如果创建的文件是目录文件, 在步骤 C中,文件目录项中的文件起始数据块块号记录的是该目录文件下建立的第一个子 文件的文件目录项所占用的数据块块号, 第一个子文件的文件目录项所占用的数据块对应 的文件分配表项中记录的是该目录文件下建立的下一个子文件的文件目录项所占用的数 据块块号, 以此类推, 所有数据块链接起来形成该目录文件的文件主体空间的文件分配表 项链表。
8、 根据权利要求 4或 5或 6所述的方法, 其特征在于, 如果创建的文件是基本文件, 步骤 C中的文件目录项中的文件起始数据块块号记录的是该基本文件的文件主体空间所占 用的第一个数据块的块号, 该起始数据块对应的文件分配表项中记录的是该基本文件的文 件主体空间所占用的第二个数据块的块号。
9、 根据权利要求 8所述的方法, 其特征在于, 在步骤 C之前还存在控制单元对基本 文件的文件主体空间所述数据块个数计算的步骤;且在步骤 C中控制单元需要在文件分配 表中找出相应个数未被占用的文件分配表项, 并将这些文件分配表项链接起来, 再将这些 数据块分配给基本文件的文件主体空间。
10、 根据权利要求 4所述的方法, 其特征在于, 在进行文件内容存储的时候, 包括以 下步骤:
D: 控制单元根据创建的文件的目录项得到文件主体空间存储数据的起始数据块的数 据块块号;
E: 控制单元由文件的起始数据块的块号得到数据块对应的文件分配表项, 进而得到 待存储文件占用数据块的文件分配表项链表, 再根据文件分配表项链表进行文件内容的存 储, 直到文件内容被存储完毕。
11、根据权利要求 4或 10所述的方法, 其特征在于, 对创建或存储的文件更新时, 包 括以下步骤- F: 控制单元根据待更新文件的标识符或文件名査找到匹配的文件目录项, 由文件目 录项得到文件主体空间存储数据的起始数据块的数据块块号;
G: 控制单元由文件的起始数据块的块号得到数据块对应的文件分配表项, 进而得到 待更新文件占用数据块的文件分配表项链表, 再根据由步骤 F得到的起始数据块的数据块 块号以及待更新的起始地址相对于文件主体空间起始地址的偏移量在链表中查找到待更 新的起始地址所在的数据块号,进行数据块的更新,直到指定长度的文件内容被更新完毕。
12、 根据权利要求 4或 10所述的方法, 其特征在于, 对创建或存储的文件读取时, 包括以下步骤:
H: 控制单元根据待读取文件的标识符或文件名査找到匹配的文件目录项, 由文件目 录项得到文件主体空间存储数据的起始数据块的数据块号;
I:控制单元由文件起始数据块的数据块号得到起始数据对应的文件分配表项, 由该文 件分配表项得到待读取文件占用数据块的文件分配表项链表,再根据由步骤 H得到的起始 数据块的数据块块号以及待读取的起始地址相对于文件主体空间起始地址的偏移量在链 表中查找到待读取的起始地址所在的数据块号, 进行数据块的读取, 直到指定长度的文件 内容被读取完毕。
13、 根据权利要求 4或 10所述的方法, 其特征在于, 对创建或存储的文件进行删除 时, 包括以下步骤:
J:控制单元根据待删除文件的标识符或文件名查找到匹配的文件目录项, 由文件目录 项得到文件主体空间存储数据的起始数据块的数据块号;
K: 控制单元根据步骤 J得到的文件起始数据块的数据块号, 得到与其对应的文件分 配表项, 由该文件分配表项得到待删除文件占用数据块的文件分配表项链表, 依该链表进 行每一数据块的文件内容的删除, 直到该文件的最后一个数据块的文件内容被删除, 同时 将每一被删除文件内容的数据块对应的文件分配表项的值设置为未占用状态的表项值;
L: 控制单元删除待删除文件的目录项占用的数据块, 将其对应的文件分配表项值设 置为未占用状态的文件分配表项值。
14、 根据权利要求 4或 10所述的方法, 其特征在于, 对创建或存储的文件进行占用 空间修改时, 包括以下步骤:
M: 控制单元根据待修改文件的标识符或文件名査找到匹配的文件目录项, 由文件目 录项得到文件主体空间存储数据的起始数据块的数据块号;
N:控制单元根据由步骤 M得到的起始数据块的数据块号査找到该数据块对应的文件 分配表项, 并得到该待修改文件占用数据块的文件分配表项链表, 依该链表査找到该文件 的最后一个数据块对应的文件分配表项;
0: 控制单元根据待修改文件欲占用空间的大小, 进行文件分配表项的设置; P: 控制单元对待修改文件的文件目录项中文件空间大小的值进行修改。
15、 根据权利要求 14所述的方法, 其特征在于, 如进行文件占用空间的缩小, 在步 骤 N中, 控制单元还需要对每一文件分配表项对应的数据块的使用状态做出确定;
步骤 0中还应该包括以下步骤:
01: 控制单元根据文件空间缩小后文件的大小, 将该文件未占用的数据块中的一个或 者多个数据块所对应文件分配表项值设置为未占用状态的表项值; 同时将该文件占用的最 后一个数据块对应的文件分配表项值修改为文件分配表项的结束值。
16、 根据权利要求 14所述的方法, 其特征在于, 如进行文件占用空间的扩大, 在步 骤 0中, 包括以下步骤:
01 ': 控制单元在文件分配表中査找未被占用的文件分配表项, 并按照文件预扩大的 大小将未被占用的文件分配表项对应的数据块分配给该文件, 修改该文件占用的最后一个 数据块对应的文件分配表项为结束值, 该文件原占用的文件分配表项与新分配的文件分配 表项链接起来, 生成该文件新的文件分配表项链表。
PCT/CN2007/000427 2006-03-23 2007-02-07 Système de mémoire sur carte à puce, et son procédé de gestion de fichier WO2007107073A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP07710874A EP2006774A4 (en) 2006-03-23 2007-02-07 CHIP CARD MEMORY SYSTEM, AND FILE MANAGEMENT METHOD THEREOF
KR1020087025862A KR101157171B1 (ko) 2006-03-23 2007-02-07 스마트카드를 위한 저장 시스템 및 그 저장시스템에서 파일생성관리방법
US12/300,333 US20090307291A1 (en) 2006-03-23 2007-02-07 Smart card storage system and file management method therein

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200610065158.2 2006-03-23
CNB2006100651582A CN100485681C (zh) 2006-03-23 2006-03-23 智能卡存储系统及该系统中文件创建管理的方法

Publications (1)

Publication Number Publication Date
WO2007107073A1 true WO2007107073A1 (fr) 2007-09-27

Family

ID=38522020

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2007/000427 WO2007107073A1 (fr) 2006-03-23 2007-02-07 Système de mémoire sur carte à puce, et son procédé de gestion de fichier

Country Status (5)

Country Link
US (1) US20090307291A1 (zh)
EP (1) EP2006774A4 (zh)
KR (1) KR101157171B1 (zh)
CN (1) CN100485681C (zh)
WO (1) WO2007107073A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100965147B1 (ko) 2008-09-29 2010-06-23 에스케이씨앤씨 주식회사 이동통신 단말기용 유심의 엘레멘트 파일들을 효율적으로 확장시키는 방법 및 이를 위한 저장장치

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101221581B (zh) * 2008-01-24 2010-06-02 北京中星微电子有限公司 一种数据文件生成方法及装置
CN101510332B (zh) * 2008-12-25 2013-04-24 北京握奇数据系统有限公司 一种智能卡中存储空间的管理方法和装置
CN101446984B (zh) * 2009-01-09 2011-04-13 成都市华为赛门铁克科技有限公司 一种文件存储方法、装置及文件删除方法和装置
JP2011090436A (ja) * 2009-10-21 2011-05-06 Sony Corp 情報処理装置、通信装置、及びプログラム
CN102103596B (zh) * 2009-12-18 2014-10-29 康佳集团股份有限公司 在嵌入式系统中实现文件系统的方法
CN102004700A (zh) * 2010-11-26 2011-04-06 华为终端有限公司 闪存的存储空间分配方法及装置
CN102073558B (zh) * 2010-12-30 2012-11-28 东方口岸科技有限公司 实现智能卡中文件安全完整的方法
CN102929884B (zh) * 2011-08-10 2016-05-04 阿里巴巴集团控股有限公司 一种收缩虚拟磁盘镜像文件的方法及装置
CN102279805A (zh) * 2011-09-06 2011-12-14 四川九洲电器集团有限责任公司 一种存储器数据存放及读取方法
CN102298645B (zh) * 2011-09-21 2013-06-26 深圳万兴信息科技股份有限公司 一种构建文件目录结构的方法及其系统
CN102508782B (zh) * 2011-09-29 2014-09-10 北京星网锐捷网络技术有限公司 数据读写方法、装置、存储体及网络设备
FR2983622B1 (fr) * 2011-12-02 2014-01-24 Morpho Ecriture de donnees dans une memoire non volatile de carte a puce
JP2015507798A (ja) 2011-12-29 2015-03-12 メモリー テクノロジーズ リミティド ライアビリティ カンパニー メモリ・モジュールにおいてデータ・エンティティを消去するための方法
CN102855327B (zh) * 2012-09-18 2015-12-02 中国石油天然气股份有限公司 一种小型嵌入式文件存储管理系统
CN102968652B (zh) * 2012-11-20 2015-10-07 北京海泰方圆科技有限公司 智能卡的访问方法及访问装置
CN103051977A (zh) * 2013-01-11 2013-04-17 乐视网信息技术(北京)股份有限公司 一种处理p2p缓存数据的方法
CN103646063B (zh) * 2013-11-27 2016-08-17 中国航天科技集团公司第五研究院第五一三研究所 一种星载高速文件管理系统
CN104050251B (zh) * 2014-06-11 2017-03-08 深圳市茁壮网络股份有限公司 一种文件管理方法及管理系统
CN104573571B (zh) * 2015-02-04 2017-09-19 郑州信大捷安信息技术股份有限公司 一种智能卡安全文件系统的生成方法
US10482065B1 (en) * 2015-03-31 2019-11-19 EMC IP Holding Company LLC Managing deletion of replicas of files
CN105159608B (zh) * 2015-08-28 2019-02-22 北京奇艺世纪科技有限公司 一种用于读写p2p数据的方法及装置
CN105468304B (zh) * 2015-11-26 2018-05-11 恒宝股份有限公司 一种Native存储卡及其管理方法
CN106326384A (zh) * 2016-08-16 2017-01-11 中国科学院长春光学精密机械与物理研究所 基于fpga的适用于高速海量存储的文件存储方法
CN107479834A (zh) * 2017-08-28 2017-12-15 北京智芯微电子科技有限公司 一种基于cos的文件存储方法及装置
CN109697019B (zh) * 2017-10-20 2022-12-27 北京京东尚科信息技术有限公司 基于fat文件系统的数据写入的方法和系统
CN107918527B (zh) * 2017-11-01 2021-04-23 北京小米移动软件有限公司 存储空间分配方法及装置以及文件存储方法及装置
EP3736705B1 (en) * 2018-02-05 2024-09-18 Huawei Technologies Co., Ltd. Date query method and device
US20190320008A1 (en) * 2018-04-16 2019-10-17 Qbic Technology Co., Ltd. Data transfer system and method thereof
CN112241393B (zh) * 2019-07-18 2024-04-19 国民技术股份有限公司 文件存储方法、终端和计算机可读存储介质
CN111159114A (zh) * 2019-12-30 2020-05-15 中国科学院寒区旱区环境与工程研究所 文件存储方法、装置及服务器
CN111290707B (zh) * 2020-01-17 2023-06-27 深圳市芯智科技有限公司 一种在小系统行车记录仪上实现特定存储的方法
CN111782605A (zh) * 2020-07-06 2020-10-16 东信和平科技股份有限公司 一种芯片卡文件管理方法、装置、终端及存储介质
CN112732198B (zh) * 2021-01-15 2023-11-14 广州Tcl互联网小额贷款有限公司 文件管理方法、装置、设备和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1285549A (zh) * 2000-10-23 2001-02-28 大唐电信科技股份有限公司微电子分公司 采用逻辑区间链表寻址的智能卡嵌入式软件的实现方法
JP2003288258A (ja) * 2002-03-28 2003-10-10 Toppan Printing Co Ltd Icカード及びicカードのメモリ管理方法
US20050050108A1 (en) * 2003-08-21 2005-03-03 Texas Instruments Incorporated File system for digital processing systems with limited resources
JP2005141335A (ja) * 2003-11-04 2005-06-02 Sony Corp 情報記録再生装置とそのファイルアクセス方法
CN1632765A (zh) * 2004-12-31 2005-06-29 大唐微电子技术有限公司 一种闪存文件系统管理方法
US20060041709A1 (en) * 2004-08-23 2006-02-23 Sony Corporation Memory card and reproducing apparatus
CN1744090A (zh) * 2005-09-13 2006-03-08 北京中星微电子有限公司 文件分配表文件系统读写方法及装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US256470A (en) * 1882-04-18 Oeoege
US288710A (en) * 1883-11-20 Automatically releasing safety-valve weights
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
JP2734391B2 (ja) * 1995-01-18 1998-03-30 日本電気株式会社 不揮発性メモリのファイル管理装置
US5832525A (en) * 1996-06-24 1998-11-03 Sun Microsystems, Inc. Disk fragmentation reduction using file allocation tables
US6208999B1 (en) * 1996-12-12 2001-03-27 Network Associates, Inc. Recoverable computer file system with a signature area containing file integrity information located in the storage blocks
US6564995B1 (en) * 1997-09-19 2003-05-20 Schlumberger Malco, Inc. Smart card application-selection
KR100704998B1 (ko) * 1999-02-26 2007-04-09 소니 가부시끼 가이샤 기록방법, 관리방법 및 기록장치
JP4281185B2 (ja) * 1999-03-25 2009-06-17 ソニー株式会社 編集装置および方法
KR100330164B1 (ko) * 1999-04-27 2002-03-28 윤종용 무효 블록들을 가지는 복수의 플래시 메모리들을 동시에 프로그램하는 방법
US7660902B2 (en) * 2000-11-20 2010-02-09 Rsa Security, Inc. Dynamic file access control and management
US6970891B1 (en) * 2000-11-27 2005-11-29 Microsoft Corporation Smart card with volatile memory file subsystem
US6823417B2 (en) * 2001-10-01 2004-11-23 Hewlett-Packard Development Company, L.P. Memory controller for memory card manages file allocation table
EP1435576B1 (en) * 2003-01-03 2013-03-20 Austria Card Plastikkarten und Ausweissysteme GmbH Method and apparatus for block-oriented memory management provided in smart card controllers
JP2004280752A (ja) * 2003-03-19 2004-10-07 Sony Corp データ記憶装置、およびデータ記憶装置における管理情報更新方法、並びにコンピュータ・プログラム
JP4773828B2 (ja) * 2004-01-26 2011-09-14 パナソニック株式会社 半導体メモリ装置
US8607016B2 (en) * 2004-07-21 2013-12-10 Sandisk Technologies Inc. FAT analysis for optimized sequential cluster management
KR100617775B1 (ko) * 2004-11-08 2006-08-28 삼성전자주식회사 멀티미디어 메시징 서비스에서 중복된 도달 통지 메시지에대한 관리 방법
US7315917B2 (en) * 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
US7877539B2 (en) * 2005-02-16 2011-01-25 Sandisk Corporation Direct data file storage in flash memories
US20060184719A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
US20060184718A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
US7984084B2 (en) * 2005-08-03 2011-07-19 SanDisk Technologies, Inc. Non-volatile memory with scheduled reclaim operations
US7669003B2 (en) * 2005-08-03 2010-02-23 Sandisk Corporation Reprogrammable non-volatile memory systems with indexing of directly stored data files
US7350049B1 (en) * 2005-09-13 2008-03-25 Vimicro Corporation Method and apparatus for managing access to a file allocation table
US20080189554A1 (en) * 2007-02-05 2008-08-07 Asad Ali Method and system for securing communication between a host computer and a secure portable device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1285549A (zh) * 2000-10-23 2001-02-28 大唐电信科技股份有限公司微电子分公司 采用逻辑区间链表寻址的智能卡嵌入式软件的实现方法
JP2003288258A (ja) * 2002-03-28 2003-10-10 Toppan Printing Co Ltd Icカード及びicカードのメモリ管理方法
US20050050108A1 (en) * 2003-08-21 2005-03-03 Texas Instruments Incorporated File system for digital processing systems with limited resources
JP2005141335A (ja) * 2003-11-04 2005-06-02 Sony Corp 情報記録再生装置とそのファイルアクセス方法
US20060041709A1 (en) * 2004-08-23 2006-02-23 Sony Corporation Memory card and reproducing apparatus
CN1632765A (zh) * 2004-12-31 2005-06-29 大唐微电子技术有限公司 一种闪存文件系统管理方法
CN1744090A (zh) * 2005-09-13 2006-03-08 北京中星微电子有限公司 文件分配表文件系统读写方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Microsoft Extensible Firmware Initiative FAT32 File System Specification, FAT: General Overview of On-Disk Format, Version 1.03", 6 December 2000 (2000-12-06), XP002389632, Retrieved from the Internet <URL:http://www.microsoft.com/whdc/system/platform/firmware/fatgen.mspx> *
See also references of EP2006774A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100965147B1 (ko) 2008-09-29 2010-06-23 에스케이씨앤씨 주식회사 이동통신 단말기용 유심의 엘레멘트 파일들을 효율적으로 확장시키는 방법 및 이를 위한 저장장치

Also Published As

Publication number Publication date
US20090307291A1 (en) 2009-12-10
CN100485681C (zh) 2009-05-06
KR20090007357A (ko) 2009-01-16
EP2006774A4 (en) 2010-10-20
EP2006774A1 (en) 2008-12-24
CN101042696A (zh) 2007-09-26
KR101157171B1 (ko) 2012-06-20

Similar Documents

Publication Publication Date Title
WO2007107073A1 (fr) Système de mémoire sur carte à puce, et son procédé de gestion de fichier
US7594062B2 (en) Method for changing data of a data block in a flash memory having a mapping area, a data area and an alternative area
JP6779838B2 (ja) メモリシステムおよび制御方法
CN108628753B (zh) 内存空间管理方法和装置
CN110018998B (zh) 一种文件管理方法、系统及电子设备和存储介质
CN107239526B (zh) 文件系统实现方法、碎片整理方法、操作位置定位方法
US20030065866A1 (en) Memory controller for memory card manages file allocation table
US20060218347A1 (en) Memory card
JP2010026933A (ja) メモリシステム、ホスト装置
CN111414315A (zh) 用来管理一记忆装置的方法以及其相关的记忆装置
CN101488153A (zh) 嵌入式Linux下大容量闪存文件系统的实现方法
CN108710578A (zh) 基于闪存的数据存储方法和装置
CN107391774A (zh) 基于重复数据删除的日志文件系统的垃圾回收方法
CN110347643B (zh) 一种磁盘间ntfs卷克隆方法及装置
CN107679182B (zh) 一种目录配置方法及装置
CN111522507B (zh) 一种低延迟的文件系统地址空间管理方法、系统及介质
CN111143285A (zh) 一种小文件存储文件系统以及小文件处理方法
CN100399294C (zh) 文件的有效数据管理的方法和设备
EP4336336A1 (en) Data compression method and apparatus
WO2005008499A1 (ja) 情報記録媒体におけるデータ領域管理方法、及びデータ領域管理方法を用いた情報処理装置
TWI397060B (zh) 物件導向儲存裝置之磁碟配置方法
CN110297781B (zh) 一种基于写时复制来恢复apfs中被删除数据的方法
WO2016106757A1 (zh) 一种存储数据的管理方法、存储管理器及存储系统
CN102004697B (zh) 一种Flash的回收方法和装置
CN109727629B (zh) 使用利用多间隙进度字段的磨损均衡的方法和系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07710874

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 8891/DELNP/2008

Country of ref document: IN

Ref document number: 1020087025862

Country of ref document: KR

Ref document number: 2007710874

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 12300333

Country of ref document: US