WO2005015406A1 - 半導体メモリカード、アクセス装置及びアクセス方法 - Google Patents

半導体メモリカード、アクセス装置及びアクセス方法 Download PDF

Info

Publication number
WO2005015406A1
WO2005015406A1 PCT/JP2004/011427 JP2004011427W WO2005015406A1 WO 2005015406 A1 WO2005015406 A1 WO 2005015406A1 JP 2004011427 W JP2004011427 W JP 2004011427W WO 2005015406 A1 WO2005015406 A1 WO 2005015406A1
Authority
WO
WIPO (PCT)
Prior art keywords
access
semiconductor memory
information
memory card
card
Prior art date
Application number
PCT/JP2004/011427
Other languages
English (en)
French (fr)
Inventor
Takuji Maeda
Shinji Inoue
Yoshiho Gotoh
Jun Ohara
Masahiro Nakanishi
Shoichi Tsujita
Tomoaki Izumi
Tetsushi Kasahara
Kazuaki Tamura
Kiminori Matsuno
Koichi Horiuchi
Manabu Inoue
Makoto Ochi
Original Assignee
Matsushita Electric Industrial Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to CNB2004800225315A priority Critical patent/CN100422956C/zh
Priority to KR1020067001319A priority patent/KR100749298B1/ko
Priority to JP2005512984A priority patent/JP4647492B2/ja
Priority to EP04771414.2A priority patent/EP1653362B1/en
Priority to US10/567,241 priority patent/US8161225B2/en
Publication of WO2005015406A1 publication Critical patent/WO2005015406A1/ja

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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of 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]

Definitions

  • the present invention relates to a semiconductor memory card, an access device for accessing the semiconductor memory card, and an access method.
  • recording media for recording digital data such as music content and video data
  • magnetic disks such as magnetic disks, optical disks, and magneto-optical disks
  • semiconductor memory cards which are one type of these recording media, use semiconductor memory such as flash memory as a recording element, and can reduce the size of the recording media. It is spreading rapidly, especially for small portable devices.
  • the data stored in the semiconductor memory card is managed by the file system, and the user can easily handle the stored data as a file.
  • a file system conventionally used, there is a FAT file system described in ISO / IEC 9293, "Information Technology VOL-ume and filestructure of diskcartridges for info raction", 1.994.
  • UDF Un iversal Disk Format
  • OSTA Un iversal Disk Format Specification Revision 1.50, 1997
  • NTFS New Tec hn ologygy File
  • the information recording area for recording data is managed by dividing it into sectors, which are the minimum access units, and clusters, which are sets of sectors, and one or more clusters are managed as files.
  • the area for storing data included in a file is allocated in cluster units from the free area, and the data included in one file is not always stored in a continuous area.
  • Japanese Patent Application Laid-Open No. 2002-291101 discloses a method in which an image processing apparatus stores data for one page of an original in a continuous area.
  • a method for controlling writing has been proposed.
  • this conventional method by always writing data to a fixed-length continuous area when writing data, it is possible to guarantee that processing is completed in a fixed processing time when reading data.
  • Japanese Patent Application Laid-Open No. 63-228281 discloses a memory card in which a host device can acquire the type, capacity and speed of the memory from the memory card.
  • Japanese Patent Application Laid-Open Nos. Hei 7-31616 and Hei 7-32001 disclose that a plurality of transfer speeds are held inside a memory card, and the transfer speeds are controlled according to an instruction from a host. The memory card that is to be switched is shown ing.
  • the data size of one page of the document which is the processing unit of the image processing device, is used as the unit of the continuous area. That is, the unit of the continuous area is determined based on the size suitable for the data handled by the application.
  • This method is effective for a recording medium in which there is no difference in writing speed due to a difference in a unit of writing to the recording medium.
  • the writing unit greatly affects the writing speed, and the relationship between the writing unit and the writing speed differs depending on the characteristics and management method of the semiconductor memory used. Is not uniquely determined, and even if the data size is fixed as in the conventional example, it is not possible to access all the semiconductor memory cards at high speed.
  • the present invention is characterized in that information about the access performance of a semiconductor memory card is stored in a semiconductor memory card, and at least a part of the information can be obtained from an access device.
  • the access device aims to realize high-speed access to the semiconductor memory card by changing the processing content of the file system based on the acquired information.
  • a semiconductor memory card according to the present invention is a semiconductor memory card used by being connected to an access device, wherein the host interface transmits a control signal and data to the access device and receives a signal from the access device.
  • a non-volatile memory including an address management information area and a user data area, wherein a plurality of consecutive sectors are grouped as an erasure block which is a minimum unit of data erasure;
  • a memory controller for controlling reading, and a memory for storing card information including a card information storage unit for storing information relating to the access performance of the nonvolatile memory.
  • a control unit that controls each unit based on a control signal obtained via the interface unit, reads information related to data access performance of the card information storage unit, and transmits the information to the access device. It is characterized by having.
  • An access device is an access device in which a plurality of continuous sectors are grouped as a block that is a minimum unit of data erasure, and stored data accesses a semiconductor memory card managed by a file system.
  • a card information acquisition unit for acquiring information relating to the access performance of the mounted semiconductor memory card from the semiconductor memory card; and a key usable when the access device accesses the semiconductor memory card.
  • a card use condition storage unit for storing information on an access speed required for the semiconductor memory card, information on access performance of the semiconductor memory card obtained by the card information storage unit, Card usage-Access information is stored based on the information stored in the condition storage
  • An access condition determining unit that determines the access condition
  • a file system control unit that acquires the access condition determined by the access condition determining unit, and performs a file access that matches the access condition, and an access request from the file system control unit.
  • an access control unit for accessing the semiconductor memory card according to the following.
  • a plurality of consecutive sectors are grouped as a block which is the minimum unit of data erasure, and the stored data is accessed to a semiconductor memory card managed by a file system.
  • An access condition determining step for determining an access condition from the information stored in the use condition storing step, and a file system control for acquiring the access condition determined in the access condition determining step and performing a file access conforming to the access condition.
  • a semiconductor memory card which manages stored data by a file system
  • an access device which accesses a semiconductor memory card
  • information on access performance of the semiconductor memory card is stored in the semiconductor memory card.
  • FIG. 1 is an explanatory diagram showing a semiconductor memory card and an access device according to Embodiment 1 of the present invention.
  • FIG. 2 is an explanatory diagram showing an example of a relationship between an erase block and a sector in the first embodiment of the present invention.
  • FIG. 3 is a flowchart showing a process of writing data having a multiple length of an erase block to a semiconductor memory card according to the first embodiment of the present invention.
  • FIG. 4 is a flowchart showing a process of writing data for one sector to a semiconductor memory card in the first embodiment of the present invention.
  • FIG. 5 is an explanatory diagram showing a configuration example of a semiconductor memory card using two flash memories according to the first embodiment of the present invention.
  • FIG. 6 is an explanatory diagram showing an example of access timing of a semiconductor memory card using two flash memories according to the first embodiment of the present invention.
  • FIG. 7 shows information stored in the card information storage unit according to the first embodiment of the present invention.
  • FIG. 7 shows information stored in the card information storage unit according to the first embodiment of the present invention.
  • FIG. 8 is a flowchart showing the internal processing of the access device according to the first method in the first embodiment of the present invention.
  • FIG. 9 is a part of a flowchart showing the internal processing of the semiconductor memory card according to the first method in the first embodiment of the present invention.
  • FIG. 10 is another part of the flowchart showing the internal processing of the semiconductor memory card according to the first method in the first embodiment of the present invention.
  • FIG. 11 is an explanatory diagram showing an example of an access condition and an access speed value according to the first method in the first embodiment of the present invention.
  • FIG. 12 is a flowchart showing internal processing of the access device according to the second method in the first embodiment of the present invention.
  • FIG. 13 is a flowchart showing internal processing of the semiconductor memory card according to the second method in the first embodiment of the present invention.
  • FIG. 1'4 is an explanatory diagram showing an example of an access condition and an access speed value according to the second method in the first embodiment of the present invention.
  • FIG. 15 is a flowchart showing the internal processing of the access device according to the third method in the first embodiment of the present invention.
  • FIG. 16 is a flowchart showing the internal processing of the semiconductor memory card according to the third method in the first embodiment of the present invention.
  • FIG. 17 is a flowchart showing the internal processing of the access device according to the fourth method in the first embodiment of the present invention.
  • FIG. 18 is a flowchart showing the internal processing of the semiconductor memory card according to the fourth method in the first embodiment of the present invention.
  • FIG. 19 is an explanatory diagram showing an example of a speed performance level determination criterion according to the fifth method in the first embodiment of the present invention.
  • FIG. 20 is a flowchart showing the internal processing of the semiconductor memory card according to the sixth method in the first embodiment of the present invention.
  • FIG. 21 is a flowchart showing the internal processing of the access device according to the seventh method in the first embodiment of the present invention.
  • FIG. 22 is a flowchart showing the internal processing of the semiconductor memory card according to the seventh method in the first embodiment of the present invention.
  • FIG. 23 is an explanatory diagram showing an example of an access performance basic information table relating to the seventh method in the first embodiment of the present invention.
  • FIG. 24 is an explanatory diagram showing an example of an access timing between the access device and the semiconductor memory card in the read processing and the write processing according to the seventh method in the first embodiment of the present invention.
  • FIG. 25 is an explanatory diagram showing an example of an access timing between the access device and the semiconductor memory device in the erase process according to the seventh method in the first embodiment of the present invention. ''
  • FIG. 26 is an explanatory diagram showing an example of an access performance table using a data size that can be processed per unit time according to the eighth method in the first embodiment of the present invention.
  • FIG. 27 is an explanatory diagram showing an example of an access performance table using the time required for the unit size decompression process according to the eighth method in the first embodiment of the present invention.
  • FIG. 28 is an explanatory diagram showing an example of an access performance table relating to the eighth method in the first embodiment of the present invention.
  • FIG. 29 is a flowchart showing the internal processing of the access device according to the eighth method in the first embodiment of the present invention.
  • FIG. 30 is a flowchart showing the internal processing of the semiconductor memory card according to the eighth method in Embodiment 1 of the present invention.
  • FIG. 31 is an explanatory diagram showing the configuration of the FAT file system according to the second embodiment of the present invention.
  • FIG. 32 is an explanatory diagram showing an example of data storage in the FAT file system in Embodiment 2 of the present invention.
  • FIG. 33 shows data writing in the FAT file system according to the second embodiment of the present invention.
  • 9 is a flowchart illustrating an embedding process.
  • FIG. 34 is an explanatory diagram showing a state before writing data in the FAT file system according to the second embodiment of the present invention.
  • FIG. 35 is an explanatory diagram showing a state after writing data in the FAT file system according to the second embodiment of the present invention.
  • FIG. 36 is a flowchart showing the FS access unit acquisition processing according to the second embodiment of the present invention.
  • FIG. 37 is an explanatory diagram showing a configuration example of a file system after formatting using the FS access unit according to the first method in the second embodiment of the present invention.
  • FIG. 38 is a second embodiment of the present invention.
  • 10 is a flowchart showing a file data write process using an FS access unit according to the second method in FIG.
  • FIG. 39 is an explanatory diagram showing an example of data arrangement relating to the second method in the second embodiment of the present invention.
  • FIG. 40 is a flowchart showing a directory area allocation process using an FS access unit according to the third method in the second embodiment of the present invention.
  • FIG. 41 is a flowchart showing a directory area allocation process using an FS access unit according to the third method in the second embodiment of the present invention.
  • FIG. 42 is an explanatory diagram showing an example of data arrangement relating to the third method in the second embodiment of the present invention. ⁇
  • FIG. 43 is an explanatory diagram showing an example of the data arrangement before the defragmentation process using the FS access unit according to the fourth method in the second embodiment of the present invention.
  • FIG. 44 is an explanatory diagram showing an example of the data disposition after the defragmentation process using the FS access unit according to the fourth method in the second embodiment of the present invention.
  • FIG. 45 is a flowchart showing the remaining free area length acquisition processing using the FS access unit according to the fifth method in the second embodiment of the present invention.
  • FIG. 46 shows an example of data arrangement relating to the fifth method in the second embodiment of the present invention.
  • FIG. 47 is an explanatory diagram showing another example of the access device using the semiconductor memory card control LSI in the second embodiment of the present invention.
  • FIG. 1 is a block diagram showing a semiconductor memory card and an access device according to Embodiment 1 of the present invention.
  • the access device 100 includes a CPU 101, a RAM 102, a slot 103, and a ROM 104.
  • the ROM 104 stores a program for controlling the access device 100.
  • CP j 101 is a control unit that operates using the RAM 102 as a temporary storage area in accordance with this program.
  • the slot 103 is provided between the semiconductor memory card 111 and the access device 100. Control signal and data are transmitted and received between the access device 100 and the semiconductor memory card 111 via the slot 103.
  • the ROM 104 includes an application program 105 and a file system control unit.
  • the semiconductor memory card 111 includes a host interface ( (I ZF) section 1 12, CPU 1 13, RAM 1 14, ROM 1 1 5, Memory controller 1 16, Non-volatile memory 1 1 7, First memory 1 1 8, Second memory 1 1 9
  • the host interface section 1 1 2 This is an interface for transmitting and receiving control signals and data to and from the access device 100.
  • the ROM 115 stores a program for controlling the semiconductor memory card 111, and uses the RAMI 14 as a temporary storage area. It runs on the CPU 113.
  • the memory controller 116 is a non-volatile data storage area in the semiconductor memory card 111.
  • the non-volatile memory 117 contains address management information 130 and user data 131.
  • the address management information 130 is a table that manages the correspondence between the physical addresses in the non-volatile memory 117 and the logical addresses used by the access device 100 for access.
  • the user data 1311 is data recorded on the semiconductor memory card 1111 by the user.
  • the first memory 111 is an updatable non-volatile memory, and includes a card information storage unit 132 for storing information relating to the access performance of the semiconductor memory card 111.
  • the first memory 118 is used as a card information storage memory.
  • the second memory 119 is an updatable non-volatile memory, and includes a host information storage unit 133 for storing information on the access device 100 that accesses the semiconductor memory card 111.
  • the semiconductor memory used for the non-volatile memory 11'7 uses a non-volatile memory (hereinafter referred to as a flash memory) called an EEPROM or a flash ROM as an element for recording information.
  • a flash memory a non-volatile memory (hereinafter referred to as a flash memory) called an EEPROM or a flash ROM as an element for recording information.
  • the unit for erasing data is called an erase block, and is managed as a block in which a plurality of sectors (for example, 512 bytes) that are the minimum unit of access are collected.
  • Each erase block is usually grouped as an erase block in which the area where 2 ! (I is an integer equal to or greater than 0) contiguous sectors is the minimum unit of data erase.
  • FIG. 2 is a diagram showing an example of a relationship between an erase block and a sector in the flash memory FM.
  • the erase block EB is composed of N blocks from 0 to (N-1), and one erase block is, for example, 128 KB.
  • FIG. 3 shows, as an example of the write processing, a processing procedure inside the semiconductor memory card 111 when writing data having a multiple length of an erase block.
  • the command and the argument transmitted from the access device 100 are received via the host interface unit 112 (S3.01).
  • the command is determined whether or not the command is an illegal command which cannot be recognized by itself (S302). In the case of an invalid command, an error is notified to the access device 100 and the process is terminated (S303). If it is a recognizable command, it is determined whether the command is a write command (S304). If it is not a write command, other processing corresponding to each command is performed (S305).
  • the physical address of the erase block where data is actually written to the flash memory is determined from the write position and write size information stored in the arguments (S306).
  • FIG. 4 shows a processing procedure inside the semiconductor memory card 111 when writing data of one sector.
  • the difference between the data recording process in FIG. 4 and the process in FIG. 3 is that among the data included in the erase block to be written in S410, data other than the one sector for receiving data from the access device 100 is The point is that the data is written to the erase block determined in 406.
  • NAND type memory data must be erased once before writing data, and this erasing process can be performed only in erase block units. Therefore, even when writing data for one sector, it is necessary to erase the data for one erase block, and then write back to the existing data included in the same erase block and a new erase block, as in the processing of S410. .
  • the data recording process is roughly divided into three processes: command interpretation, data erasure, and data writing.
  • command interpretation For example, assume a flash memory that requires 3 ms for command interpretation overhead, 200 seconds for one sector write process, and 2 ms for one erase block (eg, 128 KB) erase process.
  • the processing shown in Fig. 3 is executed.
  • 3 ms for command interpretation 2 ms for erase processing
  • 256 ms for write processing X It takes 200 seconds, for a total of 56.2 ms.
  • the processing shown in Fig. 4 is executed.
  • FIG. 5 is a diagram showing an example of the configuration of a semiconductor memory card 111 using two flash memories FM0 and FM1 in the nonvolatile memory 117.
  • each erase block from 0-0 to 1- (N-1) is composed of 256 sectors, and each sector existing in the two flash memories has 256 sectors.
  • Physical sector numbers PSN are assigned in ascending order so that the two flash memories are alternately replaced in sector units.
  • high-speed access can be realized by performing read / write processing on a plurality of flash memories in parallel. it can.
  • FIG. 5 when data is written to 512 sectors from physical sector numbers PSN0 to PSN511, two erase blocks EB0—0 and EB1-0 are erased. Data can be written at high speed by writing data in parallel.
  • FIG. 6 shows the timing at the time of writing to the semiconductor memory card 111.
  • FIG. 6 (a) shows the timing of writing one erase block
  • FIG. 6 (b) shows the timing of writing two erase blocks in parallel.
  • T 1 represents the time required for the write processing of one erase block
  • T 1 ′ + T 2 ′ represents the time required for the parallel write processing of two erase blocks. That is, the write processing time when data is written in two times for each erase block is T 1 ⁇ 2, and the write processing time when parallel writing of 2 erase blocks is performed is T l '. + T2 '.
  • T 1 ′ is the time required for processing that does not involve writing to the flash memory, and is very short.
  • T2 is the time required to write two flash memories in parallel.It takes a little longer than the processing of T1 to write to one flash memory, but twice as long as T1. It doesn't take long. Therefore, in the example of FIG.
  • the writing time is the shortest when writing is performed on the conductive memory card 1 1 1 in units of 2 erase blocks.
  • the writing time to the semiconductor memory card 111 depends not only on the size of the erase block, but also on the number of flash memories used for the semiconductor memory card 111, the flash memory management method, etc. I do. Furthermore, the access performance of the semiconductor memory card 111 differs depending on the generation and manufacturer of the semiconductor memory card 111.
  • the access device 100 recognizes the optimum access method for each semiconductor memory card 111 and can access the semiconductor memory card 111 at high speed.
  • the card information storage unit 132 is a storage unit for storing information on the access performance of the semiconductor memory card 111.
  • FIG. 7 is a diagram illustrating an example of information stored in the card information storage unit 132. At least one of the first to fifth information is stored. Hereinafter, each item will be described for each type of information.
  • the first information included in the card information is information on physical characteristics inside the semiconductor memory card 111.
  • This information includes, for example, the type of flash memory used for the semiconductor memory card, the number of used memories, the method of managing the semiconductor memory such as whether or not parallel writing is performed on the memory, the erase block size of the flash memory, the semiconductor memory Includes the management block size, temperature conditions, power consumption, current value, voltage value, card type information, etc. in the card 111.
  • the card type information is information for discriminating the type of the card, such as a command set for purging and supporting a standard to which the semiconductor memory card 111 conforms. This information affects the number of flash memories that affect processing efficiency by parallel writing and the optimal processing unit size for the semiconductor memory card 111. Includes information that determines the access performance of the semiconductor memory card, such as the erase block size that affects the data.
  • the management block size is the same as the erase block size when it consists of one flash memory as shown in Fig. 2, and when it consists of two flash memories as shown in Fig. 5, it has the highest speed due to simultaneous erasure.
  • the size becomes faster, that is, twice the erase block size. If a large number of flash memories are used in parallel, the number of parallel units will be X erase block size. Note that the first information only needs to include at least one of these pieces of information.
  • the second information included in the card information is information relating to access conditions when accessing the semiconductor memory card 111 from the access device 100.
  • This information includes the processing type, processing unit size, processing unit boundary, processing unit time, access method, sequential access (simply called SA in the figure), minimum continuous area size of tl, input clock frequency, pit width, etc. included.
  • the processing type indicates the type of processing for the semiconductor #: memory card 111, and includes read processing, write processing, and erase processing. Furthermore, there are two types of write processing: write processing including erase processing, which is necessary when data is overwritten on a location where data has already been written, and processing that only writes data to a location where no data exists. Exists.
  • the processing unit size is the size of one processing for the semiconductor memory card 111.
  • the processing unit boundary is information indicating a processing start position.
  • the processing unit boundary indicates the boundary at which the processing speed is the fastest due to processing within the processing unit size, and includes the case where the processing unit size coincides with the processing unit size boundary and the case where processing from the intermediate point is allowed. For example, when the processing unit size is 128 KB, the processing unit boundary is expressed as 128 KB if it matches the processing unit size, and 64 KB if processing from the middle is also possible. Is done.
  • the optimal processing unit size for the semiconductor memory card 111 ⁇ The processing unit boundary is determined by the number of flash memories processed in parallel inside the semiconductor memory card 111, the management method, and the erase block. Depends on size etc.
  • the erase block size of the flash memory and the processing unit size are the same. At this time, if the processing unit boundaries are the same, it is possible to access the semiconductor memory card 111 efficiently. On the other hand, when a plurality of flash memories are processed in parallel, efficient access can be achieved when the management block size, processing unit size, and processing unit boundary of the parallel processing are the same.
  • the processing unit boundary optimal for the semiconductor memory card 111 is a multiple of the processing unit size, the processing unit boundary can be omitted, and the boundary can be determined using the processing unit size.
  • the processing unit time is information indicating a unit time that is a reference for measuring a performance value when expressing access performance.
  • the access method indicates the address designation condition when the access device 100 accesses the semiconductor memory card 111, and performs sequential access (SA) for accessing a continuous area and access for a discontinuous area. There are random access (RA) and so on.
  • SA sequential access
  • RA random access
  • a semiconductor memory card with flash memory processed in parallel is not processed in units of management blocks that can be processed in parallel, but is divided into smaller units such as erase blocks.
  • the minimum continuous area size during sequential access indicates the size of the minimum continuous area required for high-speed access during sequential access.
  • the input clock frequency is information indicating the frequency of a basic clock in transmitting and receiving commands and data between the access device 100 and the semiconductor memory card 111.
  • the pit width is information indicating the number of bits of a signal line used for data transfer between the access device 100 and the semiconductor memory card 111, and is, for example, 1 bit or 4 bits.
  • the second information only needs to include at least one of these pieces of information.
  • the third information included in the force information is the access code of the semiconductor memory card 111.
  • This information includes the speed performance level of the semiconductor memory card, the data size that can be processed per unit time, the time required to process the unit size, the transfer rate, the processing time inside the card, etc. .
  • the speed performance level expresses the speed control of a flash memory card, for example, using flags such as high speed, medium speed, and low speed.
  • the time required to perform the processing of the unit size can include an average value and a worst value for each processing time such as a read processing, a write processing, and an erase processing.
  • the data size that can be processed per unit time and the processing time per unit size may be stored as an access performance table described later.
  • the transfer rate can include the average value and the worst value of each of the read processing, the write processing, and the erase processing.
  • the card internal processing time can be stored as an access performance basic information table as described later.
  • Each of these Hinoki reports is information that expresses the access speed of the semiconductor memory card 111, and only the expression method is different. Further, the information on the access speed is closely related to the first information and the second information described above. For example, if the input clock frequency is low, the data transfer rate to and from the semiconductor memory card will be low.
  • the access performance of the semiconductor memory card 111 decreases.
  • the processing unit size for accessing the semiconductor memory card 111 is small, the semiconductor memory card 111 cannot be accessed in erase block units or the effect of parallel processing cannot be obtained.
  • the access speed becomes lower.
  • the information related to the access speed which is the third information, stores the information associated with the first information and the second information. Note that the third information only needs to include at least one of these pieces of information.
  • the fourth information included in the card information is information relating to abnormal processing of the semiconductor memory card 111.
  • This information includes the error occurrence probability in each process such as read and write, and the worst value of the time from when the access device 10 issues a command to the semiconductor memory card 11 1 until it receives an error notification. Is included. These pieces of information are used when the access device 100 estimates a buffer size required for abnormal system processing. Note that the fourth information only needs to include at least one of these pieces of information.
  • the fifth information included in the card information is other information relating to the access performance of the semiconductor memory card 111.
  • This information includes the speed performance level determination criteria, the speed performance level, and the power consumption level.
  • the fifth information only needs to include at least one of these pieces of information. Details of this information are described below.
  • the above five types of information are listed as information that may be included in the card information storage unit 132.
  • the card information storage unit 132 may store all of these information.
  • the card information storage section 132 may select and store information necessary for optimal access between the access device 100 and the semiconductor memory card 111.
  • the card information characteristic of the present application is information relating to the second access condition and information relating to the third access speed.
  • the focus of the first embodiment is that information on the access performance of the semiconductor memory card 111 as shown in FIG. 7 is held inside the semiconductor memory card 111, and a part or all of the information is accessed.
  • the point is that the device 100 can acquire the information, and the access device 100 can perform optimal access to the semiconductor memory card 111.
  • first to eighth methods in which the access devices 1, 00 know the access performance of the semiconductor memory card 111 in order to perform optimum access to the semiconductor memory card 111 will be described.
  • the first method is a method in which the semiconductor memory card 111 returns information on access conditions and access speed for optimally accessing the semiconductor memory card 111 in response to a request from the access device 100.
  • This method will be described with reference to FIGS. Fig. 8 is a diagram showing the acquisition procedure on the access device # 100 side in this method, and Figs. 9 and 10 show the processing procedure on the semiconductor memory card 111 side.
  • FIG. 11 is a diagram showing an example of access conditions and access speed information returned from the semiconductor memory card 111 to the access device 100 as a result.
  • the processing procedure of the access device 100 will be described with reference to FIG. In FIG.
  • the access device 100 issues a force type acquisition command to the semiconductor memory card 111 to acquire the card type information of the semiconductor memory card 111 (S810). .
  • the card type information has been obtained from the semiconductor memory card 111 by the issued command (S802). If the acquisition has failed, it is determined that an error has occurred, and the process is terminated (S803). If the acquisition is successful, the command to acquire the access conditions for optimal access to the semiconductor memory card 111 and the access speed value at that time from the semiconductor memory card 111 based on the acquired information (optimal access) (S 804) It is determined whether or not the semiconductor memory device corresponding to the information acquisition command is used.
  • the acquisition of the access condition and the access speed value is stopped and the process is terminated (S805). If it is a compatible semiconductor memory card 111, an optimum access information acquisition command is issued to the semiconductor memory card 111 (S806). Next, it is determined whether the access condition and the access speed value have been obtained from the semiconductor memory card 111 by the issued command (S807). If the acquisition has failed, it is determined that an error has occurred, and the process is terminated (S808). If acquisition is successful, terminate the process normally.
  • FIG. 9 is a diagram showing processing on the semiconductor memory card 111 side when the card type acquisition command in the description of FIG. 8 is issued from the access device 100.
  • the semiconductor memory card 111 receives a command from the access device 100 (S910).
  • the semiconductor memory card 111 determines whether or not the command is an unauthorized command that cannot be recognized by itself (S902).
  • S903 access device 1
  • the process is terminated (S903). If the command is a recognizable command, it is determined whether the command is a card type acquisition command (S904).
  • FIG. 10 is a diagram showing processing on the semiconductor memory card 111 side when the optimum access information acquisition command in the description of FIG. 8 is issued from the access device 100.
  • the semiconductor memory card 111 receives a command from the access device 100 (S1001).
  • S1001 a command from the access device 100
  • S1004 It is determined whether or not-is an optimal access information acquisition command (S1004). If the command is not the optimal access acquisition command, other processing is performed (S1005). If the command is this command, the process proceeds to S1006 to optimally access the semiconductor memory card 111. The access condition and the access speed value at that time are read from the card information storage unit 132. Then, in S 1007, the read access condition and access speed value are transmitted to the access device 100.
  • the access device 1000 accesses the semiconductor memory card 111 from the semiconductor memory card 111 and determines the access conditions for optimally accessing the semiconductor memory card 111.
  • the access speed value at the time can be obtained.
  • FIG. 11 (a) is a diagram showing the access condition
  • FIG. 11 (b) is a diagram showing an example of the access speed value.
  • the access conditions are as follows: processing unit size and processing unit boundary, access method, input clock frequency, bit width, etc. 0 is information indicating conditions to be followed.
  • the processing unit size is a multiple of 128 KB
  • the processing unit boundary is a multiple of 128 KB
  • the access method is sequential access to a continuous area of 256 KB or more
  • the input clock frequency is 25 MHz or more
  • the bit width is 4 bits.
  • the access speed value is the access speed according to the previous access condition, such as the average and worst transfer rate in the read, write, and erase processing. This is information indicating the processing performance when the apparatus 100 performs the processing. By obtaining this information from the semiconductor memory card 111, the access device 100 can determine how to access the semiconductor memory card 111 optimally, and if so, how. It is possible to recognize how much access performance can be obtained.
  • FIG. 12 is a diagram showing processing on the access device 100 side in the present method.
  • a card type acquisition command is issued (S 1 201) as in the case of the first method shown in FIG. 8, and if this is not successful, an error occurs.
  • One end (S 1 202, S 1 203).
  • the access speed value acquisition command is a command having the access condition as an argument.
  • FIG. 13 is a diagram showing processing on the semiconductor memory card 111 side when the access speed value acquisition command in the description of FIG. 12 is issued from the access device 100.
  • a command is received in S1301, and it is determined whether or not the command is an invalid command. If it is not an illegal command, it is determined whether or not it is an access speed value acquisition command (S1304). If it is not this command, other processing is performed (S1305). If the command is an access speed value acquisition command, the semiconductor memory card 111 reads the access condition and the access speed value from the card information storage section 132 (S1306).
  • the access device 100 refers to the read access condition and the corresponding access speed value, and determines whether there is an access speed value that matches the access condition specified by the command argument (S1). 307). If not, an error is notified to the access device i00, and the process ends (S1308, S1309). If there is, the corresponding access speed value is transmitted to the access device 100, and the process is terminated (S1310).
  • the access device 100 can input an access condition to the semiconductor memory card 111 and acquire an access speed value according to the condition. Become.
  • FIG. 14 (a) is a diagram showing access conditions input from the access device 100 to the semiconductor memory card 111
  • FIG. 14 (b) is an access speed returned from the semiconductor memory card 111 to the access device 100.
  • FIG. 6 is a diagram illustrating an example of a value.
  • the access condition that the access device 100 inputs to the semiconductor memory card 111 is, for example, as shown in FIG. 14 (a), the processing unit size is 128 KB, the processing unit boundary is 128 KB, and the access method is 2 KB.
  • Information indicating conditions for accessing the semiconductor memory card 111 such as a sequential access as a 56 KB continuous area, an input clock frequency of 25 MHz, and a bit width of 4 bits.
  • the third method is a method in which the access device 100 inputs the access speed value to the semiconductor memory card 111 and the semiconductor memory card 111 returns the access condition. This method will be described with reference to FIGS. 15 and 16.
  • FIG. 15 is a diagram showing a processing procedure on the access device 100 side in the present method.
  • the processing on the access device side is almost the same as the operation of the access device in the above-described second method.
  • the present method uses step S150.
  • the access condition acquisition command is issued in 6.
  • FIG. 1'6 is a diagram showing a processing procedure on the semiconductor memory card 111 side in the present method.
  • the difference between the processing procedure of FIG. 16 and the second method described above is that, instead of the access speed value acquisition command of step S134, the access condition acquisition command of step S164 is used. After that, if this command is used, the access speed value is read from the force information storage unit 132 (step S166). Then, it is determined from the access conditions read in step S1667 whether there is an access condition matching the access speed value specified by the access device. If such an access condition does not exist in S 168, the process ends with an error (S 169). If there is, the access condition is transmitted to the access device (S 166). Finish the process.
  • the access device 100 can input the access speed value to the semiconductor memory card 111 and acquire the access condition according to the speed value. Become.
  • the access condition and the access speed value in the present method are, for example, information shown in FIG. 11 (b). In this method In this way, the performance value required when accessing the semiconductor memory card 111 is input, and the access condition to be followed by the access device 100 to satisfy the performance value is acquired from the semiconductor memory card 111. I do. In this way, the access device 100 can recognize how to access the semiconductor memory card 111 in order to satisfy the desired access performance, thereby realizing the access with the desired access performance. It is possible to do.
  • the access device 100 inputs the access condition and the access speed value to the semiconductor memory card 111 and satisfies the input access speed value when the access device 100 accesses the semiconductor memory card under the input access condition.
  • This is a method by which the semiconductor memory card 1 1-1 returns whether or not it is possible. This method will be described with reference to FIGS. 17 and 18.
  • FIG. 17 is a diagram showing a processing procedure on the access device 100 side in the present method.
  • a card type acquisition command is issued, and if the acquisition is successful, it is determined whether or not the card corresponds to the optimum access permission / inhibition determination command ( S1704). If it is not this card, the optimum access permission / inhibition judgment is stopped (S1775), and if it is a compatible card, the optimum access permission / inhibition judgment command is issued in step S1776.
  • the optimum access availability determination command is a command having the access condition and the access speed value as arguments.
  • FIG. 18 is a diagram showing the processing on the semiconductor memory card 111 side when the optimum access permission / non-permission judgment command in the description of FIG. 17 is issued from the access device 100.
  • the semiconductor memory card 111 reads out the access condition and the access speed value from the card information storage unit 132 (S 186). Next, referring to the read access condition and the corresponding access speed value, when the access device 100 accesses under the access condition specified by the command argument, the access speed value specified by the access device 100 is used. It is determined whether or not is satisfied (S 1807, S 1808). When the access speed value is satisfied, the access device 100 is notified that the access speed value is satisfied, and the processing is terminated (S 189).
  • the access device 100 If the access speed value is not satisfied, the access device 100 is notified that the access speed value is not satisfied, and the processing is terminated (S 1810). Thus, the processing described in FIGS. According to the procedure, the access device 100 inputs an access condition and an access speed value to the semiconductor memory card 111, and when the semiconductor memory card 111 is accessed under the condition, the access speed value is satisfied. Can be confirmed.
  • the access conditions and access speed values in this method are the same as the information shown in FIG. 14 for example. According to this method, the access device 100 can recognize whether the desired access performance is satisfied by the assumed access method before the access.
  • a flag expressing a speed performance level is used among information related to the access speed of the semiconductor memory card 111.
  • the access speed value may be used instead of the access speed value, or may be included in the access speed value as shown in FIG.
  • the processing between the access device 100 and the semiconductor memory card 111 uses any one of the processings described in the first to fourth methods.
  • Fig. 19 (a) is an example of the speed performance level determination criterion in this method
  • Fig. 19 (b) is an example of the determination result.
  • the speed performance level criterion shown in FIG. 19 (a) is stored as the fifth information in the card information storage unit 132.
  • the average value of the transfer rate in each of the read, write, and erase processing is used as the value used for the determination.
  • the access speed value is "fast" depending on the value
  • the access performance of the semiconductor memory card 111 is classified not only into numerical values but also into objective levels, so that the access device 100 can acquire the level from the semiconductor memory card 111. ing. Therefore, the access device 100 can easily recognize the access performance of the semiconductor memory card 111.
  • a flag representing the level of power consumption is used.
  • a method will be described in which the access device 100 inputs this flag to the semiconductor memory device 111 and obtains the corresponding access condition and access speed value. In this method, it is assumed that information on a plurality of access conditions and access speeds exists in the card information storage unit 132 in association with the power consumption level 25.
  • processing between the access device 100 and the semiconductor memory card 111 uses any of the processes described in the first to fourth methods.
  • the processing on the access device 100 side in this method is the same as the processing procedure shown in FIG.
  • the power consumption level expressing the power consumption level is added as an argument of the optimum access information acquisition command issued by the access device 100 to the semiconductor memory card 111.
  • the power consumption level is a representation of the amount of power consumed by the semiconductor memory card 111 divided into a plurality of levels, for example, “high power consumption”, “during power consumption”, “low power consumption”. Take a method such as expressing in three stages.
  • step S206 If the command is an optimal access information acquisition command, it is determined in step S206 that the power consumption level specified in the argument of the optimal access information acquisition command issued from the access device 1'00 is a valid value. . If it is not valid, error processing is performed (S207). If valid, the access condition and access speed value for optimal access at the specified power consumption level are read from the card information storage unit 13 in S 2008. Then, the read information is transmitted to the access device 100, and the process is completed (S209).
  • a value representing the level of power consumption assumed by the access device 100 is stored in the semiconductor memory card 111.
  • 11 Specify the information on the access speed when the semiconductor memory card 1 1 operates with the specified power consumption.
  • Access device 100 0 obtains it.
  • the access device 100 wants to drive the semiconductor memory card 111 with low power consumption, it becomes possible to recognize the necessary access conditions and the access speed value at that time. .
  • a power amount flag is input to the semiconductor memory card 111 to obtain an access condition and an access speed corresponding to the power amount flag.
  • the level of the power consumption may be indicated in the memory capacity to obtain an access speed corresponding to this.
  • a flag indicating the power level in addition to the access speed may be input to the semiconductor memory card 111 to obtain an access condition corresponding thereto.
  • a seventh method is a method in which the semiconductor memory card 111 returns the minimum information required for the access device 100 to calculate the access speed value in response to a request from the access device 100.
  • This method will be described with reference to FIGS. 21 to 25.
  • the contents of the access performance basic information table (APBIL) shown below may be held in the card internal processing time shown in FIG. 7 of the card information storage unit 132 shown in FIG.
  • FIG. 21 is a diagram showing a processing procedure on the access device 100 side in the present method
  • FIG. 22 is a diagram showing a processing procedure on the semiconductor memory card 111 side.
  • a card type acquisition command is first issued (S2101), and it is determined whether or not the acquisition was successful (S2102). If it is not successful, an error is terminated (S210), and if it is successful, it is determined in S210 that it is the force corresponding to the access performance basic information table acquisition command. If not, the acquisition of the access performance basic information table is stopped in S210. If it is a compatible card, enter S 210 Issue the access performance basic information table acquisition command.
  • step S2107 it is determined whether or not the acquisition of this information table was successful (S2107). If the acquisition failed, an error is terminated (S2108). If the acquisition of this information table is successful, the access speed value is calculated from this information table in S210. In step S2010, an access condition necessary to satisfy the access speed required by the own access device 100 is calculated based on the calculated access speed value.
  • FIG. 22 is a diagram showing processing on the semiconductor memory card 111 side when the access performance basic information table acquisition command in the description of FIG. 21 is issued from the access device 100.
  • the command is received (S2201), and if the command is invalid, the process ends with an error (S2202, S2203). If the command is not an invalid command, it is checked in step S2204 whether the command is an access performance basic information table acquisition command.
  • FIG. 23 is a diagram showing an example of an access performance basic information table (AP BIL) returned from the semiconductor memory card 111 to the access device 100.
  • FIG. 24 and FIG. 25 are diagrams showing an example of the timing of the command 'response between the access device 100 and the semiconductor memory card 111.
  • a numerical value indicating the access performance of the semiconductor memory card 111 includes a transfer rate and the like.
  • the factors that determine the transfer rate between the access device 100 and the semiconductor memory card 111 are not only in the semiconductor memory card 111 but also in the access device 100, so the actual transfer rate In order to derive the condition, it is necessary to take the conditions of the access device 100 into consideration.
  • the access device 100 can obtain information on the determining factor of the access performance of the semiconductor memory card 111, and the access device 100 can adjust the access speed by taking into account the factor of the access device 100. It is possible to calculate.
  • FIG. 23 is a diagram showing an example of an access performance basic information table (APBIL), which is information on factors on the semiconductor memory card 111 that determine access performance. As shown in this figure, a table 11 for each read, write, and erase process
  • APIBIL access performance basic information table
  • FIG. 23 (b) shows the busy time per 512-byte data overnight transfer in the write processing. This table shows that the processing time changes depending on the processing unit size, sequential access (SA)-or random access (RA).
  • SA sequential access
  • RA random access
  • FIG. 24 and FIG. 25 are diagrams showing an example of the command / response timing between the access device 100 and the semiconductor memory card 111.
  • FIG. FIG. 24 (a) corresponds to read processing
  • FIG. 24 (b) corresponds to write processing
  • FIG. 25 corresponds to erase processing.
  • the access speed value in the read processing in Fig. 24 (a) is calculated based on the sum of the command issue processing time RT1, the card internal processing time RT2, and the data transfer time RT3.
  • RT 1 and RT 3 are times determined depending on the clock frequency input to the semiconductor memory card 111 by the access device 100, and the access device 100 can calculate the time. .
  • RT2 is the time required for the internal processing of the card, and is determined depending on the semiconductor memory card 111. Therefore, the information necessary for determining RT2 is stored in the access performance basic information table acquired from the semiconductor memory card 111. Similarly, it is calculated based on the sum of the access speed value, the command issue processing time WT1, the card internal processing time WT2, and the data transfer time WT3 in the write processing of FIG. 24 (b). Therefore, similarly to the read processing, the access performance basic information table stores information necessary for determining the card internal processing time WT2. Similarly, the access speed value in the erase processing in FIG. 25 is calculated based on the sum of the command issue processing time ET1 and the card internal processing time ET2. Therefore, similarly to the read processing, information necessary for determining the card internal processing time ET2 is stored in the access performance basic information table.
  • WT_A WT 1 + ⁇ WT 2 + ⁇ WT 3-(1) '
  • the command issuance processing time WT 1 can be obtained by the following formula (2) when the data transfer amount required from command input to response acquisition-completion is set to 160 bits and the input clock frequency is set to s MHz. .
  • POW (X, Y) means X to the power of ⁇ .
  • ⁇ WT 2 is the total time required for the internal processing of the card. If the busy time and the processing unit size shown in FIG. 24 (b) are represented by t (seconds) and n (bytes), respectively, 3) can be obtained.
  • ⁇ WT 3 is the total data transfer time, using 4 bits as the bit width, and adding the CRC added to confirm the validity of the transferred data to the data of 512 bytes.
  • the total number of transfer clocks in this case is 1049 clocks, it can be obtained by the following equation (4).
  • ⁇ WT 3 (1 049 X n / 5 1 2) / (s XP OW (1 0, 6)) (4) Therefore, as an example of calculation, assuming an input clock frequency of 25 MHz, a processing unit size of 128 KB, and sequential access, t is 9.2 s and WT-A is calculated as 13.1 ms.
  • the access device 100 can calculate the access speed in consideration of the factors on the access device 100 side.
  • an eighth method a list of access speed values under various access conditions is held in the card information storage unit 132, and the semiconductor memory card 111 returns the data in response to a request from the access device 100. It is.
  • this method a list of access speed values under various access conditions is held in the card information storage unit 132, and the semiconductor memory card 111 returns the data in response to a request from the access device 100. It is.
  • FIG. 26, FIG. 27, and FIG. 28 are diagrams showing an example of the access performance table held in the semiconductor memory card 111.
  • FIG. Fig. 26 (a) shows the data size that can be processed per unit time for each input clock
  • Fig. 26 (b) shows a part of the standard for sequential access and random access for each access unit. The values and worst values are shown in detail.
  • FIG. 27 (a) shows the time required for data processing of a unit size for read processing, write processing, and erase processing for different input clocks.
  • Figure 27 (b) shows the standard values for the write processing with a partial input clock of 25 MHz, the time required for processing unit-size data for each processing unit size, and for single access and random access. And the worst value in detail.
  • Fig. 26 (a) shows the data size that can be processed per unit time for each input clock
  • Fig. 26 (b) shows a part of the standard for sequential access and random access for each access unit. The values and worst values are shown in detail.
  • FIG. 27 (a)
  • FIG. 28 (a) expresses the access performance as the processing speed when accessing in unit size, and shows a table for read processing, write processing, and erase processing for each input clock.
  • FIG. 28 (b) shows the standard value and the worst value of the sequential access and the random access for each processing unit size in detail in the case of the input clock of 25 MHz and the write processing for a part thereof. These are the access performance Only the expression method is different, all of which are semiconductor memory cards; This is information expressing the access speed of 11.
  • FIG. 29 is a diagram showing a processing procedure on the access device 100 side in the present method
  • FIG. 30 is a diagram showing a processing procedure on the semiconductor memory card 111 side.
  • the access device 100 first issues a card type acquisition command (S2901), and determines whether or not acquisition of this card type was successful (S2902). . If there is an error in this acquisition, the process ends with an error (S2903). If the acquisition is successful, it is determined in S2904 whether the card is compatible with the access performance table acquisition command. If it is not a compatible card, acquisition of the access performance table is stopped (S2905), and if it is a compatible card, an access performance table acquisition command is issued (S2906).
  • the semiconductor memory card 111 receives the command as shown in FIG. 30. If the command is an invalid command, the error processing is performed (S3001 to 3003), and the access performance table acquisition command is obtained. It is determined whether or not (S304). If it is not this command, the acquisition of the access performance table is stopped (S3005), and if it is this command, the access performance table is read from the card information storage unit 132 (S3006). Then, in step S3007, the access performance table is transmitted to the access device, and the process ends.
  • this method differs from the seventh method in that the access device 100 obtains information on the access speed from the semiconductor memory card 111, so that the access device 100 determines the access speed on the access device 100 side. It is not necessary to calculate. According to the present method, the access device 100 acquires these access performance tables as described above, and a list of access conditions for the semiconductor memory card 111 and an access speed value at the time of access under each access condition are obtained. Can be recognized. As a result, What is the access speed value when the access device 100 is accessed under the access condition assumed by itself, or under what access condition to satisfy the access speed value required by itself? It is possible to recognize whether it is enough.
  • the semiconductor memory card 111 has the access performance at the time of accessing the semiconductor memory card 111 from the access device 100, and the card in the semiconductor memory card 111.
  • the information is stored in the information storage unit 132.
  • the semiconductor memory card 111 transmits a part or all of this information to the access device 100 in response to a request from the access device 100.
  • the access device 100 can know the access performance of the semiconductor memory card 111. Therefore, the access device 100 can access the semiconductor memory card 111 by an optimal access method, and the maximum performance of the semiconductor memory card 111 can be obtained.
  • the information stored in the card information storage section 132 may be made updatable.
  • a configuration may be adopted in which the speed criterion shown in FIG. 19 (a) is input from outside the semiconductor memory card 111 and updated, so that the criterion can be changed later.
  • the internal state is monitored in the semiconductor memory card and information about the access performance is changed according to the change in the internal state.
  • the configuration may be changed.
  • the type determination of the semiconductor memory card 1 1.1 is performed at the beginning of all the processes on the access device 100 side, but the semiconductor memory card 1 11 is accessed first. In such a case, the type may be determined only once. Also, it is not necessary to use all of the information related to the access performance shown in FIG. 7 and only a part of the information may be used, or some of the information shown in FIG. 7 may be combined with other information. May be used.
  • the speed performance level and the power consumption level are divided into three types is described. It may be divided into plural types other than three types.
  • Figure 2 shows the access performance table.
  • Fig. 27 and Fig. 28 are shown as examples. However, other information may be used as long as the information indicates the access performance of the semiconductor memory card 111. A combination of formats may be used.
  • the first memory 118 storing the card information is described as an updatable non-volatile memory, a non-updatable non-volatile memory such as a ROM may be used if there is no need to update. . Further, the card information may be stored in the non-volatile memory 117 instead of the first memory 118. (Example 2)
  • information on the access performance of a semiconductor memory card is acquired from a semiconductor memory card having a card information storage unit, and is used for controlling a file system in the access device.
  • the access device will be described.
  • the configuration of the semiconductor memory card and the access device in the present embodiment is the same as the configuration shown in FIG. In this embodiment, in particular, the file system control unit 106 and the access condition determination unit 10 in the ROM 104 in the access device 100
  • the card information acquisition unit 108 and the card usage condition storage unit 110 will be described in detail.
  • FIG. 31 shows the configuration of the FAT file system.
  • the file system management area 1 1 7 — A in Fig. 31 means the area managed by the file system in the non-volatile memory 1 17 in the semiconductor memory card 1 1 1. Corresponds to all or part of the described area.
  • LA indicates a logical address.
  • the file system management area 1 1 7—A At the beginning, there is a management information area 3001 for managing the entire file system management area 1 1 7—A, followed by a data area 3002 for storing data in the file.
  • the management information area 300 1 includes a master partition, a partition table (hereinafter, referred to as MBR'PT) 3003, a partition boot sector (hereinafter, referred to as PBS) 3004, and a file's location table. It consists of 3005, 3006 (hereinafter referred to as FAT) and root directory entry (hereinafter referred to as RDE) 3007.
  • MBR'PT partition table
  • PBS partition boot sector
  • FAT root directory entry
  • RDE root directory entry
  • MBR ⁇ PT 3003 uses multiple partitions for the file system management area.
  • FAT 3005 and 3006 are parts that indicate the physical storage location of the data contained in the file.
  • RDE 3007 is a part that stores information on files and directories that exist directly under the root directory. Also, since FAT300'5 and 3006 are important areas that indicate the physical storage location of the data contained in the file, FAT3005 and 3006 that have the same two pieces of information in the file system management area are usually Present and duplicated.
  • the data area 3002 is divided into a plurality of classes and managed, and each class stores the data included in the file. Files that store a lot of data, etc., store data across multiple clusters, and the connections between the clusters are managed by link information stored in FAT 3005 and 3006.
  • the data area 3002 is managed in fixed-length block units called class evenings, and each class evening is assigned an ascending cluster number starting from 2.
  • FATs 3005 and 3006 manage the usage status of each cluster and link information indicating the connection between the clusters, and are composed of FAT entries corresponding to each cluster number.
  • FAT entry is the FAT file system Depending on the type, one cluster has one of the following three sizes: 12 bits, 16 bits, and 32 bits. The example of FIG. 32 shows a case where one entry is represented by 16 bits.
  • the FAT entry stores either the cluster number of the next connected cluster, 0 X 000 0 indicating that the cluster is a free area, or 0 X FFFF indicating that the cluster is the link end. Is done.
  • the portions indicated by pointers 2 to 7 in the enlarged view of FIG. 32 indicate FAT entries for cluster numbers 2 to 7.
  • 0 X 0000 is stored in the FAT entries corresponding to the cluster numbers 2, 5, and 7, indicating that these three clusters are free areas.
  • 0 X 0004 is stored in the FAT entry corresponding to the class number 3
  • 0 X 0006 is stored in the FAT entry corresponding to the cluster number 6.
  • 0 XFFFF is stored in the FAT entry corresponding to the cluster number 6. This indicates that the data is divided and stored in three clusters with numbers 3, 4, and '6.
  • FIG. 33 is a flowchart showing the writing process
  • FIG. 34 is a diagram showing an example of the directory entry 3301, FAT 3005, 3006, and data area 3002 before the writing process
  • FIG. 35 is a diagram showing an example of the directory entry 3301, the FATs 3005 and 3006, and the data area 3002 after the write processing.
  • a directory entry 3301 storing information such as a file name, a file size, and a file attribute is stored in a root directory entry 3007 and a part of the data area 3002.
  • FIG. 34A shows an example of the directory entry 3301.
  • the file indicated by this directory entry 3301 has a file name of FILE 1. TXT, and stores data of the file from class number 10 (C and No.). In addition, the file size is 60000 bytes.
  • FIG. 34 (b) shows an example of FAT data of corresponding cluster numbers 9 to 14.
  • Figure 34 (c) shows one click. The size of the raster is assumed to be 16384 bytes, and the data of the file FILE 1.TXT is stored across four clusters, clusters 10 to 13.
  • FIG. 33 is a diagram showing a processing procedure for writing file data in the FAT file system.
  • the file data writing process will be described with reference to FIG.
  • the directory entry 3301 of the target file is read (S3301).
  • the file start cluster number stored in the read directory entry 3301 is obtained, and the start position of the file data is confirmed (S3302).
  • FAT 3005 and 3006 are read, and links are sequentially entered on FAT 3005 and 3006 from the top position of the file data acquired in S3302, and the class number of the writing position is acquired (S3303).
  • it is determined whether or not it is necessary to allocate a new free space to the file when writing the data overnight (S3304).
  • an area is allocated in cluster units as a file data storage area, and data is stored.
  • multiple clusters assigned to one file are not necessarily contiguous, and non-contiguous areas may be assigned.
  • file data is written to a discontinuous area divided into cluster units.
  • the size of one access to the semiconductor memory card 111 is less than one cluster, and the access unit required for the fastest access to the semiconductor memory card 111 is the cluster. If it is larger than the size, it cannot be accessed at the maximum performance of the semiconductor memory card.
  • the information on access performance is acquired from the semiconductor memory card 111 and is used for file system processing.
  • the file system access unit (hereinafter referred to as the FS access unit) is a management unit newly provided in the present embodiment, apart from the cluster normally used as a management unit for performing area management of the file system.
  • the upper limit of the class size is set for the compatibility between devices that use the file system, and the size cannot be changed easily.
  • the access unit required for optimal access to the semiconductor memory card is not necessarily within the upper limit of the class size.
  • a new area management unit called an FS access unit set based on the access performance information acquired from the semiconductor memory card 111 is used for file system processing. I do. In this way, it is possible to realize access according to the characteristics of the semiconductor memory card 111 while maintaining compatibility with the existing file system. '
  • FIG. 36 is a diagram illustrating an example of a processing procedure in which the file system control unit 106 acquires the FS access unit from the access condition determination unit 107.
  • the file system control unit 106 requests the access condition determination unit 107 to acquire an FS access unit (S3661).
  • the access condition determination unit 107 requests the card information acquisition unit 108 to acquire card information (S3662).
  • the card information acquisition unit 108 acquires card information from the semiconductor memory card 111 by using any of the methods described in the first embodiment (S3663).
  • the acquisition of card information fails, an error is notified from the card information acquisition unit 108 to the file system control unit 106 via the access condition determination unit 107, and the processing is terminated (S366) 4, S3665). If the acquisition is successful, the card information is transmitted from the card information acquisition unit 108 to the access condition determination unit 107 (S3666). Next, the access condition setting unit 1107 stores the access condition and the desired access speed value when the access device 100 accesses the semiconductor memory card 1 ⁇ 1 from the card use condition storage unit 110. The card usage conditions, such as the information, are acquired (S3667). Next, the card information and the card use conditions are compared, and it is determined whether a processing unit size suitable for the card use conditions exists (S3668).
  • the processing unit size is determined to be the F.S.access unit, transmitted from the access condition determining unit 107 to the file system control unit 106, and the processing is terminated. (S3611).
  • the card information is compared with the card use conditions, and the FS access unit is determined as the optimal access unit for accessing the semiconductor memory card 111.
  • the input clock is 25 MHz
  • the sequential access in write processing is performed in 16 KB units.
  • a semiconductor memory card 1 1 1 has a standard value of 6 MBZs for access and 1 OMBZs for 128 KB access.
  • the FS access unit is determined to be 128 KB. Then, by accessing the semiconductor memory card 111 for each FS access unit, a desired access-performance can be obtained.
  • An example of the card use condition includes an access condition as shown in FIG. 14 and an access speed value. That is, the access condition in FIG. 14 (a) is information indicating a condition regarding an access method assumed by the access device 100 to the semiconductor memory card 111, and is shown in FIG. 14 (b).
  • the access speed value is a value of the access performance required when accessing the semiconductor memory card 111 under this condition. Information on these access performance ⁇ Access equipment
  • the processing procedure shown in FIG. 36 is a processing procedure in the case where the access device 100 does not input information regarding the access condition and the access speed value as in the first method shown in the first embodiment.
  • a step between the steps S3601 and S3662 is performed.
  • a step is added in which the access condition determining unit 107 acquires the card use condition from the card use condition storage unit 110 and notifies the card information acquisition unit 108.
  • Figure 37 shows an example of the configuration when the file system is formatted in consideration of the FS access unit.
  • the FS access unit here is 128 KB, and it is set to be a multiple of the cluster size.
  • the management information area 3001 includes MBR 3003, PBS 3004, FAT 3005, 3006, and RDE 3007.
  • the size of the management information area 3001 is adjusted so that the management information area 300 1 is set to have an M multiple length (M is an integer) of the FS access unit.
  • the management information area 3001 spans two FS access units F SAU-0 and FSAU-1 as shown, and uses 5 12 sectors (S).
  • S 5 12 sectors
  • the beginning of the data area 3002 coincides with the FS access unit boundary, and subsequent area management of the data area 3002 can be realized without waste in FS access units.
  • the FS access unit is set to be a multiple length of the cluster size, it is possible to manage the area in the data area 3002 by the multiple length of the FS access unit and match it with the cluster unit area management. It becomes. '
  • FIG. 38 is a diagram showing a file data write processing procedure in the present method.
  • a first, it is determined whether the remaining write data length is equal to or longer than the FS access unit length (S3801). If the length is less than the FS access unit length, the process proceeds to S3808. If the length is equal to or longer than the FS access unit length, data of the FS access unit length is created prior to writing to the semiconductor memory card 111 (S3802).
  • a free area is searched on the FATs 3005 and 3006 for each FS access unit length, and an area in which all areas included in the FS access unit are free clusters is acquired (S3803). If there is no free area, an error is notified and the processing is terminated (S3804, S3805). If there is a free area, the data of the FS access unit length is collectively written to the obtained free area (S3806). Next, it is determined whether or not writing of all data is completed (S3807). If the writing is not completed, the process returns to S3801. When the writing is completed, the processing ends. In S3801, the remaining data length is FS access unit If it is determined that the data is less than the FS access unit, the remaining data is created (S3808).
  • the writing process if there is no free space in the FS access unit, the writing process is regarded as an error. However, a free space equal to or less than the FS access unit may be acquired and data may be written.
  • FIG. 39 is a diagram showing an example of the use state of the data area.
  • the data of the file FILE 1 is written in the FS access unit FSAU-0, and the information of the directory DIR1 is written in the FS access unit FSAU_1.
  • this method selects the area of FS access unit F SAU-2 (cluster area Cl. No. 18 to 25) as the file data overnight write area. I do. That is, the area of FS access unit FS AU-0 or FS access unit FS AU-1 where file data and directory information exist even in one class within the FS access unit is not used as the file data write area. Therefore, a continuous area of FS access unit is always secured for the data of a file having a certain large file size, and it is possible to access the semiconductor memory card 111 at high speed with the optimal access unit. It becomes possible.
  • FIG. 40 and FIG. 41 are diagrams showing the procedure of directory area allocation processing in the present method.
  • the directory area allocation processing first, the current reference position is set to the head of the data area (S4001). Next, it is determined whether a directory area exists in the currently referred FS access unit (S4002). If not, proceed to S4005 No. If it exists, it is determined whether there is a free cluster in the currently accessed FS access unit (S4003). When there is no empty class evening, the process proceeds to S4005. If there is a free class, the free cluster is allocated to the directory area, and the process ends (S4004).
  • an area in which all the areas included in the FS access unit are free clusters is acquired from all data areas 3002 (S4007). If there is a free area, one free cluster included in the obtained area is allocated to the directory area, and the processing ends (S4008, S4009). If there is no free area, a free cluster is obtained from all data areas (S4010). If there is no free cluster, an error is notified and the processing is terminated (S401, S4012). If there is a free area, the obtained free cluster is allocated to the directory area, and the processing is terminated (S4013).
  • FIG. 42 is a diagram showing an example of the use state of the data area.
  • data is included in the FS access unit FS AU-0 and the data arrangement includes a directory area in the cluster numbers 10 and 11 of the FS access unit FS AU-1.
  • a directory is allocated to a free cluster included in the F S access unit F S AU-1, that is, cluster numbers 12 to 17.
  • the directory area is preferentially stored in the same FS access unit, and as a result, a free area of the FS access unit length is easily generated. As a result, it is possible to effectively secure the continuous area of the field day by the second method. '
  • FIG. 43 is a diagram showing an example of the data arrangement before the defragmentation process.
  • file data or directories are stored in any of the three FS access units FSAU-0, FSAU-1 and FSAU-2. Therefore, the free space cannot be obtained by the free space acquisition in the FS access unit in the second method.
  • the directory area included in the FS access unit FS AU-2 is moved to the free cluster area of the FS access unit FSAU-1, and the directory area is moved to the FS access unit F SAU-1.
  • the data of the file of F ST access unit F SAU-2 (FI LE 2) is moved to the free cluster area of FS access unit FSAU-0, and the file data is collected in the FS access unit FS AU-0.
  • This process is shown in (2).
  • the data arrangement is changed to the one shown in Fig. 44, and the FS access unit FS AU_2 becomes all free space.
  • the directory area is collected in the same FS access unit, and the file data smaller than the FS access unit size is collected in the same FS access unit. Generate free space. This makes it possible to effectively secure the continuous area of the file data by the second method. In addition, it is not necessary to combine all areas used for storing files and other data in the recording medium into one continuous area and make the entire empty area a single continuous area. By performing the defragmentation process so as to generate an area, the time required for the defragmentation process can be reduced.
  • a fifth method a method of acquiring the remaining free area length of the FS access unit will be described. FIG.
  • FIG. 45 is a diagram showing a procedure of a remaining free area length acquisition process in the present method.
  • the remaining free area length acquisition processing first, 0 is set to the number of free FS access units (S4501). Next, the current reference position is set at the beginning of the data area (S4502). Next, it is determined whether all the FS access units currently referred to are free clusters (S4503). If all classes are empty, 1 is added to the number of free FS access units (S4504). Next, it is determined whether the confirmation of all the areas is completed (S4505). If not completed, 'the current reference position is set to the next FS access unit, and the process returns to S4503 (S4506). If it has been completed, the numerical value stored in the number of free FS access units is converted into the number of bytes, notified to the application program 105, and the processing is terminated (S4507).
  • FIG. 46 is a diagram showing an arrangement state of data in the data area 3002, in which clusters in use are indicated by hatching.
  • three free continuous areas (SEE) exist as shown in the remaining free area length acquisition processing of the present method. Therefore, the three FS access units FSAU-1, FSAU-3, and FSAU-5, in which all areas in the FS access unit are empty clusters, are determined to be empty areas.
  • the access device 100 obtains information on access performance from the semiconductor memory card 111, determines an optimal access unit, and uses the access unit for file system processing. use. As a result, the access device 100 can access the semiconductor memory card 111 with an optimal access method, and the maximum performance of the semiconductor memory card 111 can be obtained.
  • 0 4 contains only the application program 105, the file system control unit 106, the access condition determination unit 107, the card information acquisition unit 108, the access control unit 109, Converting the condition storage unit 110 into hardware
  • -A configuration may be adopted in which the control is added to the access device 100 as the lid control LSI 4701.
  • the configuration shown in Fig. 47 is an example, and the semiconductor memory card control L S
  • the functions described in this embodiment such as the function of automatically transferring the subsequent data transfer to the semiconductor memory card 111 into the FS access unit and transmitting the data, etc. Only a part of this may be implemented as hardware.
  • the FAT file system has been described as an example of a file system.
  • any other file system such as UDF may be used as long as the file system performs area management for each fixed management unit size. No. Industrial potential
  • a semiconductor memory card, an access device, and an access method according to the present invention provide high-speed access to a semiconductor memory card by optimizing the processing of either the access device or the semiconductor memory device, or both. Realize Can.
  • Such a semiconductor memory card and the access device or method can be used for digital AV equipment, mobile phone terminals, digital cameras, PCs, and the like that use the semiconductor memory card as a recording medium. Also, it functions particularly suitably when used in a recording medium or a device for recording high-quality AV data with a high transfer rate.

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Read Only Memory (AREA)
  • Storage Device Security (AREA)
  • Credit Cards Or The Like (AREA)

Abstract

半導体メモリカード内にカード情報格納部を設け、半導体メモリカードのアクセス条件やアクセス速度などのアクセス性能に関する情報を保持する。また、保持した情報をアクセス装置が半導体メモリカードから取得し、ファイルシステムの制御に使用できるようにする。これにより、使用する半導体メモリの特性や管理方法の違いにかかわらずアクセス装置、半導体メモリカードの処理を最適化し、アクセス装置から半導体メモリカードに対して高速のアクセスを実現することができる。

Description

明細書 半導体メモリカード、 アクセス装置及びアクセス方法
技術分野
本発明は、 半導体メモリカード、 及び半導体メモリカードにアクセスする アクセス装置及びアクセス方法に関する。 背景技術
音楽コンテンツや、 映像データなどのデジタルデータを記録する記録媒体 には.、 磁気ディスク、 光ディスク、 光磁気ディスクなど、 様々な種類が存在 する。 これら記録媒体の 1種類である半導体メモリカードは、' 録素子とし てフラッシュ R〇 Μなどの半導体メモリを使用しており、 記録媒体の小型化 -が図れることから、 デジタルスチルカメラや携帯電話端末など、 小型の携帯 機器を中心に急速に普及しつつある。
半導体メモリカードに格納されたデータはファイルシステムにより管理さ れており、 ユーザは格納されたデータをファイルとして容易に取り扱うこと ができる。 従来使用されているファイルシステムとして、 I SO / I EC 9 293、 " I n f o rma t i o n T e c h n o l o gy— Vo l ume a n d f i l e s t r u c t u r e o f d i s k c a r t r i d g e s f o r i n f o rma t i o n " 、 1.994年、 に示されている FATファイルシステムがある。 又 OSTA Un i v e r s a l D i s k Fo rma t S p e c i f i c a t i o n R e v i s i o n 1. 50、 1 997年、 に記載されている UD F (Un i v e r s a l D i s k F o rma t) や、 NTFS (New T e c hn o l o gy F i l e S y s t em) などが存在する。 これらファイルシステムによりデータ が管理された半導体メモリカードは、 同一のファイルシステムを解釈する機 器間でファイルを共有することができるため、 機器間でデータを授受するこ とが可能となる。
ファイルシステムでは、 データを記録する情報記録領域を、 最小アクセス 単位であるセクタ、 及びセクタの集合であるクラスタに分割して管理し、 1 つ以上のクラスタをファイルとして管理する。 ファイルに含まれるデ一夕が 格納される領域は、 空き領域からクラスタ単位で割り当てられ、 1つのファ ィルに含まれるデータが必ずしも連続領域に格納されるとは限らない。 連続 領域に格納されていないファイルを読み書きする場合、 読み書きの間にシー ク動作が発生するため、 連続領域に格納されたファイルに比べ、 読み書き速 度が低下するという問題があった。 '
従来、 ホスト機器、 例えば、 動画記録カメラ等がリアルタイムで半導体記 録媒体にデータの書き込み処理を行う場合、 半導体記録媒体め 用状態、 つ まり、 内部データ記録領域の状態により、 データ書き換え処理がデータ取り み処理に追従できなくなることがあった。 その結果、 データの書き換えが できなくなり、 動画ストリームが途切れるなどの不具合が生じる場合があつ た。
従来、 このような問題を解決する方法として、 例えば特開 2 0 0 2— 2 9 1 0 1号公報に、 画像処理装置において原稿 1頁分のデータが連続領域に格 納されるようにデータ書き込みを制御する方法が提案されている。 この従来 の方法では、 データ書き込み時に固定長の連続領域に必ずデータを書き込む ことで、 データ読み込み時に一定の処理時間で処理が完了することを保証で きるようにしている。
又特開昭 6 3 - 2 2 8 2 8 1号にはメモリカードにおいてホスト機器がメ モリカードからメモリの種別やメモリ容量、 メモリ速度を取得できるように したメモリカードが示されている。 又特開平 1— 7 6 3 1 6号、 特開平 7— 3 2 0 0 1 8号には、 メモリカードの内部に複数の転送速度を保持し、 ホス トからの指示に応じて転送速度を切換えるようにしたメモリカードが示され ている。
しかしながら、 上記の従来技術には次のような問題点がある。 従来の制御 方法では、 画像処理装置の処理単位である原稿 1頁分のデータサイズを連続 領域の単位として使用している。 すなわち、 アプリケーションが取り扱うデ 一夕に適したサイズを基に、 連続領域の単位を決定している。 こ-の方法は、 記録媒体への書き込み単位の違いにより書き込み速度に差が生じない記録媒 体には有効である。 しかしながら、 半導体メモリカードでは、 書き込み単位 が書き込み速度に大きく影響し、 かつ書き込み単位と書き込み速度の関係は 使用する半導体メモリの特性や管理方法により異なるため、 全ての半導体メ モリカードにおいて最適なアクセス方法は一意に定まらず、 従来例のように データサイズを固定しても全ての半導体メモリカードに対し高速にアクセス することはできない。 ' 発明の開示
本発明では上記問題点に鑑み、 半導体メモリカード内に半導体メモリカー ドのアクセス性能に関する情報を保持し、 アクセス装置からその情報の少な くとも一部を取得できるようにすることを特徴とする。 アクセス装置はその 取得した情報を基にファイルシステムの処理内容を変更することにより、 半 導体メモリカードに対する高速アクセスを実現することを目的とする。 本発明による半導体メモリカードは、 アクセス装置に接続されて使用され る半導体メモリカードであって、 制御信号及びデータをアクセス装置に対し て送信し、 アクセス装置からの信号を受信するホストイン夕一フェース部と 、 複数の連続するセクタがデータ消去の最小単位である消去ブロックとして グループ化され、 ァドレス管理情報領域とユーザデータ領域とを含む不揮発 性メモリと、 前記不揮発性メモリに対するデータの消去、 書き込み、 読み出 しを制御するメモリコントローラと、 前記不揮発性メモリのアクセス性能に 関する情報を格納するカード情報格納部を含むカード情報格納用のメモリと 、 前記ィンターフェース部を介して得られた制御信号に基づいて各部を制御 すると共に、 前記カード情報格納部のデータアクセス性能に関する情報を読 み出し、 前記アクセス装置に伝送する制御部と、 を具備することを特徴とす る。
本発明によるアクセス装置は、 複数の連続するセクタがデータ消去の最小 単位であるブロックとしてグループ化されており、 格納されたデータがファ ィルシステムにより管理されている半導体メモリカードにアクセスするァク セス装置であって、 装着された前記半導体メモリ力一ドのアクセス性能に関 する情報を前記半導体メモリカードから取得するカード情報取得部と、 前記 アクセス装置が前記半導体メモリカードにアクセスする際に使用可能なァク セス条件に関する情報と、 半導体メモリカードに求めるアクセス速度に関す る情報を格納するカード使用条件格納部と、 前記カード情報琅 ίί部が取得し た前記半導体メモリカードのアクセス性能に関する情報と、 前記カード使用 -条件格納部に格納された情報から、 アクセス条件を決定するアクセス条件決 定部と、 前記アクセス条件決定部が決定したアクセス条件を取得し、 前記ァ クセス条件に適合したファイルアクセスを行うファイルシステム制御部と、 前記ファイルシステム制御部からのアクセス要求に応じて前記半導体メモリ カードにアクセスするアクセス制御部と、 を具備することを特徴とする。 更に本発明によるアクセス方法は、 複数の連続するセクタがデータ消去の 最小単位であるブロックとしてグループ化されており、 格納されたデ一夕が ファイルシステムにより管理されている半導体メモリカードにアクセスする アクセス方法であって、 装着された前記半導体メモリカードのアクセス性能 に関する情報を前記半導体メモリカードから取得するカード情報取得ステッ プと、 前記半導体メモリカードにアクセスする際に使用可能なアクセス条件 に関する情報と、 半導体メモリカードに求めるアクセス性能に関する情報を 格納するカード使用条件格納ステップと、 前記力一ド情報取得ステップが取 得した前記半導体メモリカードのアクセス性能に関する情報と、 前記カード 使用条件格納ステップで格納した情報から、 ァクセス条件を決定するァクセ ス条件決定ステップと、 前記アクセス条件決定ステップで決定したアクセス 条件を取得し、 前記アクセス条件に適合したファイルアクセスを行うフアイ ルシステム制御ステップと、 前記ファイルシステム制御ステップからのァク セス要求に応じて前記半導体メモリカードにアクセスするアクセス制御ステ ップと、 を具備することを特徴とする。
本発明によれば、 格納したデータをファイルシステムにより管理している 半導体メモリカード、 及び半導体メモリ力一ドにアクセスするアクセス装置 において、 半導体メモリカード内に半導体メモリカードのアクセス性能に関 する情報を保持し、 その情報を基にアクセス装置側、 半導体メモリカード側 のい.ずれか、 あるいは両者の処理を最適化することにより、 半導体メモリ力 一ドに対する高速アクセスを実現することができる。 '
-図面の簡単な説明
図 1は本発明の実施例 1に於ける半導体メモリカード、 及びアクセス装置 を示した説明図である。
図 2は本発明の実施例 1に於ける消去ブロックとセクタとの関係例を示し た説明図である。
図 3は本発明の実施例 1に於ける半導体メモリカードへの消去プロック倍 数長のデータ書き込み処理を示したフローチャートである。
図 4は本発明の実施例 1に於ける半導体メモリ.カードへの 1セクタ分のデ 一夕書き込み処理を示したフローチャートである。
図 5は本発明の実施例 1に於ける 2枚のフラッシュメモリを使用した半導 体メモリカードの構成例を示した説明図である。
図 6は本発明の実施例 1に於ける 2枚のフラッシュメモリを使用した半導 体メモリカードのアクセスタイミング例を示した説明図である。
図 7は本発明の実施例 1に於けるカード情報格納部に格納される情報を示 した説明図である。 .
図 8は本発明の実施例 1に於ける第 1の方法に関するアクセス装置内部処 理を示したフローチヤ一トである。
図 9は本発明の実施例 1に於ける第 1の方法に関する半導体メモリカード 内部処理を示したフローチャートの一部である。
図 1 0は本発明の実施例 1に於ける第 1の方法に関する半導体メモリカー ド内部処理を示したフローチャートの他の一部である。
図 1 1は本発明の実施例 1に於ける第 1の方法に関するアクセス条件、 ァ クセス速度値の一例を示した説明図である。
図 1 2は本発明の実施例 1に於ける第 2の方法に関するアクセス装置内部 処理を示したフローチヤ一卜である。
図 1 3は本発明の実施例 1に於ける第 2の方法に関する半導 メモリカー ド内部処理を示したフローチャートである。
図 1' 4は本発明の実施例 1に於ける第 2の方法に関するアクセス条件、 ァ クセス速度値の一例を示した説明図である。
図 1 5は本発明の実施例 1に於ける第 3の方法に関するアクセス装置内部 処理を示したフローチャートである。
図 1 6は本発明の実施例 1に於ける第 3の方法に関する半導体メモリカー ド内部処理を示したフローチャートである。
図 1 7は本発明の実施例 1に於ける第 4の方法に関するアクセス装置内部 処理を示したフローチャートである。
図 1 8は本発明の実施例 1に於ける第 4の方法に関する半導体メモリカー ド内部処理を示したフローチャートである。
図 1 9は本発明の実施例 1に於ける第 5の方法に関する速度性能レベル判 定基準例を示した説明図である。
図 2 0は本発明の実施例 1に於ける第 6の方法に関する半導体メモリカー ド内部処理を示したフローチャートである。 図 2 1は本発明の実施例 1に於ける第 7の方法に関するアクセス装置内部 処理を示したフローチヤ一卜である。
図 2 2は本発明の実施例 1に於ける第 7の方法に関する半導体メモリカー ド内部処理を示したフローチャートである。
図 2 3は本発明の実施例 1に於ける第 7の方法に関するアクセス性能基礎 情報表例を示した説明図である。
図 2 4は本発明の実施例 1に於ける第 7の方法に関するリード処理、 ライ ト処理におけるアクセス装置と半導体メモリカード間のアクセス夕イミング 例を示した説明図である。
図 2 5は本発明の実施例 1に於ける第 7の方法に関するィレース処理にお けるアクセス装置と半導体メモリ力一ド間のアクセスタイミング例を示した 説明図である。 ' '
図 2 6は本発明の実施例 1に於ける第 8の方法に関する単位時間あたりに 処理可'能なデ一タサイズを用いたアクセス性能表例を示した説明図である。 図 2 7は本発明の実施例 1に於ける第 8の方法に関する単位サイズのデ一 夕処理に必要な時間を用いたアクセス性能表例を示した説明図である。 図 2 8は本発明の実施例 1に於ける第 8の方法に関するアクセス性能表例 を示した説明図である。
図 2 9は本発明の実施例 1に於ける第 8の方法に関するアクセス装置内部 処理を示したフローチャートである。
図 3 0は本発明の実施例 1に於ける第 8の方法に関する半導体メモリカー ド内部処理を示したフローチャートである。
図 3 1は本発明の実施例 2に於ける F A Tファイルシステムの構成を示し た説明図である。
図 3 2は本発明の実施例 2に於ける F A Tファイルシステムのデータ格納 例を示した説明図である。
図 3 3は本発明の実施例 2に於ける F A Tファイルシステムのデータ書き 込み処理を示したフローチャートである。
図 3 4は本発明の実施例 2に於ける F A Tファイルシステムのデータ書き 込み前の状態を示した説明図である。
図 3 5は本発明の実施例 2に於ける F A Tファイルシステムのデータ書き 込み後の状態を示した説明図である。
図 3 6は本発明の実施例 2に於ける F Sアクセス単位取得処理を示したフ ローチャー卜である。
図 3 7は本発明の実施例 2に於ける第 1の方法に関する F Sアクセス単位 を用いたフォーマツト後のファイルシステムの構成例を示した説明図である 図. 3 8は本発明の実施例 2に於ける第 2の方法に関する F Sアクセス単位 を用いたファイルデータ書き込み処理を示したフローチャートである。 図 3 9は本発明の実施例 2に於ける第 2の方法に関するデータ配置例を示 した説明図である。
図 4 0は本発明の実施例 2に於ける第 3の方法に関する F Sアクセス単位 を用いたディレクトリ領域割り当て処理を示したフローチャートである。 図 4 1は本発明の実施例 2に於ける第 3の方法に関する F Sアクセス単位 を用いたディレクトリ領域割り当て処理を示したフローチャートである。 図 4 2は本発明の実施例 2に於ける第 3の方法に関するデータ配置例を示 した説明図である。 ·
図 4 3は本発明の実施例 2に於ける第 4の方法に関する F Sアクセス単位 を用いたデフラグ処理前のデータ配置例を示した説明図である。
図 4 4は本発明の実施例 2に於ける第 4の方法に関する F Sアクセス単位 を用いたデフラグ処理後のデ一夕配置例を示した説明図である。
図 4 5は本発明の実施例 2に於ける第 5の方法に関する F Sアクセス単位 を用いた残り空き領域長取得処理を示したフローチャートである。
図 4 6は本発明の実施例 2に於ける第 5の方法に関するデータ配置例を示 した説明図である。
図 47は本発明め実施例 2に於ける半導体メモリカード制御 L S Iを用い たアクセス装置の他の例を示した説明図である。 発明を実施するための最良の形態
以下、 本発明による半導体メモリカード、 アクセス装置及びアクセス方法 の実施例について、 図面を参照しつつ説明する。
(実施例 1 )
• 図 1は本発明の実施例 1による半導体メモリカードとアクセス装置を示す ブロック図である。 図 1においてアクセス装置 1 00は、 C PU 1 0 1、 R AM 102、 スロット 1 03、 ROM1 04を含む。 ROM104にはァク セス装置 100を制御するプログラムが格納されている。 C P(j 1 0 1はこ のプログラムに従い、 RAM 1 02を一時記憶領域として使用して動作する 制御部である。 スロット 1 0 3は、 半導体メモリカード 1 1 1とアクセス装 置 1 00との接続部である。 制御信号及びデータはスロット 1 03を経由し てアクセス装置 1 00と半導体メモリカード 1 1 1間で送受信される。 更に ROM 1 04は、 アプリケーションプログラム 1 05、 ファイルシステム制 御部 106、 アクセス条件決定部 1 07、 カード情報取得部 108、 ァクセ ス制御部 1 09、 カード使用条件を格納する条件格納部 1 1 0を含む。 一方、 半導体メモリカード 1 1 1は、 ホストインターフェース ( I ZF) 部 1 12、 CPU 1 1 3、 RAM 1 14, ROM 1 1 5, メモリコントロー ラ 1 16、 不揮発性メモリ 1 1 7、 第 1のメモリ 1 1 8、 第 2のメモリ 1 1 9を含む。 ホストインターフェース部 1 1 2は、 アクセス装置 1 00と制御 信号及びデータを送受信するインタ一フェースである。 ROM1 1 5には半 導体メモリカード 1 1 1を制御するプログラムが格納されており、 RAMI 14を一時記憶領域として使用し、 CPU 1 1 3上で動作する。 メモリコン トロ一ラ 1 1 6は半導体メモリカード 1 1 1内のデータ記憶領域である不揮 発性メモリ 1 1 7を制御する素子である。 不揮発性メモリ 1 1 7は、 ァドレ ス管理情報 1 3 0とユーザデータ 1 3 1とを含む。 ァドレス管理情報 1 3 0 は不揮発性メモリ 1 1 7内の物理ァドレスとアクセス装置 1 0 0がアクセス に使用する論理ァドレスとの対応を管理した表である。 ユーザデータ 1 3 1 はユーザが半導体メモリカード 1 1 1に記録したデータである。 第 1のメモ リ 1 1 8は更新可能な不揮発性メモリであり、 半導体メモリカード 1 1 1の アクセス性能に関する情報を格納するカード情報格納部 1 3 2を含む。 第 1 のメモリ 1 1 8はカード情報格納メモリとして使用される。 第 2のメモリ 1 1 9は更新可能な不揮発性メモリであり、 半導体メモリカード 1 1 1にァク セスするアクセス装置 1 0 0に関する情報を格納するホスト情報格納部 1 3 3を含む。
続いて、 半導体メモリカード 1 1 1のデータの記録素子であ ¾不揮発性メ モリ 1 1 7に使用する半導体メモリの特徴について説明する。 不揮発性メモ リ 1 1' 7に用いられる半導体メモリは、 E E P R O Mあるいはフラッシュ R O Mと呼ばれる不揮発性メモリ (以下、 フラッシュメモリという) を情報記 録用の素子として使用している。 多くの情報記録媒体で使用される N A N D 型のメモリには、 データを書き込む前に一旦書き込み先に記録されているデ —夕を消去して、 未記録の状態に戻してからデ一夕を書き込まなければなら ないという特徴がある。
ここでデータを消去する単位は消去ブロックと呼ばれ、 アクセスの最小単 位であるセクタ (例えば 5 1 2バイ ト) が複数個.集まったブロックとして管 理されている。 各消去ブロックは通常、 2 ! ( iは 0以上の整数) 個の複数 のセクタが連続する領域がデータ消去の最小単位である消去ブロックとして グループ化されている。
図 2はフラッシュメモリ F Mにおける消去ブロックとセクタとの関係の一 例を示した図である。 図 2の例では、 消去ブロック E Bは 0〜 (N— 1 ) ま での Nブロックから成り、 1消去ブロックは例えば 1 2 8 K Bとする。 1つ の消去プロックは 256セクタから構成されており、 P SN=0〜 (N— 1 ) X 2 56 + 2 55までの一連の物理セクタ番号 P S Nが付されている。 ァ クセスはセクタ単位で行うことが可能であるが、 書き込みに先立ち必要とな るデータの消去処理は消去ブロック (1 28 KB) 単位で行われる。
この半導体メモリカード 1 1 1におけるデータ消去、 書き込み 理の例を 、 図 3、 図 4を用いて説明する。 図 3では、 書き込み処理の 例として、 消 去ブロック倍数長のデータを書き込む場合における半導体メモリカード 1 1 1内部の処理手順を示す。
• 図 3におけるデータ記録処理では、 先ずアクセス装置 1 00から送信され たコマンドと引数を、 ホストインターフェース部 1 1 2を介して受信する ( S 3.0 1) 。 次に、 受信したコマンドを参照し、 自身が認識できない不正コ マンドか否かを判定する (S 302 ) 。 不正コマンドの場合、' クセス装置 1 00にエラ一を通知して処理を終了する (S 303 ) 。 認識可能なコマン ドの場合、 そのコマンドが書き込みコマンドであるか判定する (S 304) 。 書き込みコマンド以外の場合、 各コマンドに対応した他の処理を実施する (S 30 5 ) 。 書き込みコマンドの場合、 引数に格納された書き込み位置、 書き込みサイズの情報から、 実際にフラッシュメモリにデータを書き込む消 去ブロックの物理アドレスを決定する (S 306 ) 。 次に、 書き込みに先立 ち、 メモリコントローラ 1 1 6を介して、 フラッシュメモリに存在する S 3 06で決定した消去ブロックに存在するデータを消去する (S 307 ) 。 次 に、 アクセス装置 100から 1セクタ分のデータを、 ホストインタ一フエ一 ス部 1 1 2を介して受信する (S 308) 。 データの受信を完了すると、 受 信した 1セクタ分のデータを、 メモリコント口一ラ 1 16を介して、 フラッ シュメモリへ書き込む (S 309) 。 こうして S 308、 S 30 9のデータ 受信、 書き込み処理を、 1消去ブロック分のデータ書き込みが完了するまで 繰り返し実施する (S 3 10) 。 S 306から S 3 1 0までの 1消去プロッ ク分のデータ書き込み処理を、 アクセス装置 1 00から指定された書き込み サイズ分のデータ書き込みが完了するまで繰り返し実施する 3 1 1) 。 アクセス装置 1 00から指定された書き込みサイズ分のデータ書き込みが完 了した場合、 処理を終了する。
次に図 4は 1セクタのデータを書き込む場合における半導体メモリカード 1 1 1内部の処理手順を示す。 図 4におけるデータ記録処理において、 図 3 の処理と異なる点は、 S 41 0において書き込みを行う消去ブロックに含ま れるデータのうち、 アクセス装置 1 00からデータを受信する 1セクタ以外 のデータを、 S 406で決定した消去ブロックに書き込む点である。 NAN D型のメモリでは、 デ一タ書き込みに先立ち一旦データを消去する必要があ り、 この消去処理は消去ブロック単位でしか行えない。 そのため 1セクタの データを書き込む場合でも、 1消去ブロック分のデ一夕を消去し、 更に S 4 1 0の処理のように同じ消去プロックに含まれる既存データ 新しい消去ブ ロックに書き戻す必要がある。
図 3'、 図 4で示したようにデータ記録処理では、 大きく分けてコマンド解 釈処理、 データ消去処理、 データ書き込み処理の 3つの処理が存在する。 例 えば、 コマンド解釈のオーバーヘッドに 3m秒、 1セクタの書き込み処理に 200 秒、 1消去ブロック (例えば 1 28 KB) の消去処理に 2m秒かか るフラッシュメモリを想定する。 このフラッシュメモリに対して 1消去ブロ ック (1 28 KB) 分のデータの書き込みでは図 3に示す処理が実行され、 コマンド解釈に 3 m秒、 消去処理に 2 m秒、 書き込み処理に 2 56 X 200 秒かかり、 合計 56. 2m秒となる。 同様に 1セクタ (5 1 2 B) 分のデ 一夕の書き込みでは、 図 4に示す処理が実行され、 コマンド解釈に 3m秒、 消去処理に 2m秒、 書き込み処理に 200 ^秒 + 2 55 X 200 ^秒かかり 、 合計 56. 2m秒となる。 すなわち、 1 28 KBのデータを書き込んだ場 合と 51 2 Bのデータを書き込んだ場合で同じ時間がかかることになる。 こ の例ではデータ転送時間などを考慮せず極端に性能差が出る場合について説 明したが、 実際のフラッシュメモリにおいても消去ブロック単位で書き込み を行った場合に書き込み時間が短くなる。
また、 半導体メモリカード 1 1 1では、 記録素子として複数枚のフラッシ ュメモリを使用する場合がある。 図 5は、 不揮発性メモリ 1 1 7に 2枚のフ ラッシュメモリ FM0, FM1を使用した半導体メモリカード 1 1 1の構成 例を示した図である。 図 5に示す 2枚のフラッシュメモリは、 0— 0〜1— (N— 1) までの各消去ブロックが 256セクタで構成されており、 2枚の フラッシュメモリに存在する各セクタには、 256セクタ単位で 2枚のフラ ッシュメモリが交互に入れ替わるように昇順の物理セクタ番号 P S Nが付与 されている。 この複数枚のフラッシュメモリから成る不揮発性メモリ 1 1 7 を有する半導体メモリカード 1 1 1の場合、 複数枚のフラッシュメモリに対 して並列に読み書き処理を行うことで、 高速アクセスを実現することができ る。 例えば図 5の例においては、 物理セクタ番号 P SN0から P SN 5 1 1 までの 5 1 2セクタにデータを書き込む際に、 消去ブロック EB 0— 0、 EB 1—0の 2つの消去ブロックに対し並列にデータを書き込むことで、 高速 にデータを書き込むことができる。
図 6は、 この半導体メモリカード 1 1 1に対して書き込み時のタイミング を示すものであり、 図 6 (a) は 1消去ブロックの書き込み時、 図 6 (b) は 2消去ブロック並列書き込み時のタイミングの一例を示す。 図 6において T 1は、 1消去ブロックの書き込み処理にかかる時間を表す。 また、 T 1 ' +T 2 ' は 2消去ブロックの並列書き込み処理にかかる時間を表す。 すなわ ち、 1消去プロックずつ 2回に分けてデータを書き込んだ場合の書き込み処 理時間は T 1 X 2となり、 2消去ブロックの並列書き込みを行った場合の書 き込み処理時間は T l ' +T2 ' となる。 T 1 ' はフラッシュメモリに対す る書き込みを伴わない処理にかかる時間であり、 ごく僅かな時間となる。 ま た、 T2 ' は 2枚のフラッシュメモリを並列に書き込む処理にかかる時間で あり、 1枚のフラッシュメモリに書き込む T 1の処理に比べ多少時間はかか るものの、 T 1の 2倍の時間まではかからない。 そのため、 図 6の例では半 導体メモリカード 1 1 1に対し 2消去ブロック単位で書き込 だ場合に書き 込み時間が最短となる。
すなわち、 半導体メモリカード 1 1 1への書き込み時間は、 消去ブロック の大きさだけに依存するのではなく、 半導体メモリカード 1 1 1に使用する フラッシュメモリの枚数、 フラッシュメモリの管理方法などにも依存する。 更には半導体メモリカード 1 1 1の世代や製造者の違いにより、 半導体メモ リカード 1 1 1のアクセス性能は異なる。
そのため、 本実施例では、 半導体メモリカード 1 1 1毎に異なるアクセス 性能に関する情報を半導体メモリカード 1 1 1内に保持し、 アクセス装置 1 0 0が取得できるようにする。 これにより、 アクセス装置 1 0 0が各半導体 メモリカード 1 1 1に最適なアクセス方法を認識し、 半導体メモリカード 1 1 1に高速にアクセスできるようにしている。 ' '
続いて、 本実施例におけるカード情報格納部 1 3 2について詳細に説明す -る。 カード情報格納部 1 3 2は、 半導体メモリカード 1 1 1のアクセス性能 に関する情報を格納する記憶部である。 図 7は、 カード情報格納部 1 3 2に 格納される情報の一例を示した図であり、 第 1〜第 5の情報の少なくともい ずれかが格納される。 以下、 情報の種別毎に各項目について説明する。 カード情報に含まれる第 1の情報は、 半導体メモリカード 1 1 1内部の物 理特性に関する情報である。 この情報には、 例えば半導体メモリカード 1 1 1に使用するフラッシ メモリの種別、 メモリの使用枚数、 メモリへの並列 書き込みの有無などの半導体メモリの管理方法、 フラッシュメモリの消去ブ ロックサイズ、 半導体メモリカード 1 1 1内の管理ブロックサイズ、 温度条 件、 消費電力量、 電流値、 電圧値、 カード種別情報などが含まれる。 カード 種別情報は半導体メモリカード 1 1 1が準拠する規格のパージヨンゃサポー 卜するコマンドセットなどカードの種類を判別するための情報である。 これ らの情報は、 並列書き込みによる処理効率化に影響を及ぼすフラッシュメモ リの枚数や、 半導体メモリカード 1 1 1に対する最適な処理単位サイズに影 響を及ぼす消去ブロックサイズなど、 半導体メモリカード 1 1 1のアクセス 性能を決定する上で基礎となる情報を含む。 管理ブロックサイズは図 2に示 すように 1枚のフラッシュメモリから成る場合は消去プロックサイズと同一 であり、 図 5に示すように 2枚のフラッシュメモリから成る場合には同時に 消去によって最も速度が早くなるサイズ、 即ち消去ブロックサイズの 2倍と なる。 更に多数のフラッシュメモリを並列で使用する場合には並列数 X消去 プロックサイズとなる。 尚第 1の情報としてはこれらの少なくとも 1つの情 報を含むものであればよい。
カード情報に含まれる第 2の情報は、 アクセス装置 1 0 0から半導体メモ リカード 1 1 1にアクセスする際のアクセス条件に関する情報である。 この 情報には、 処理種別、 処理単位サイズ、 処理単位境界、 処理単位時間、 ァク セス方法、 シーケンシャルアクセス (図では単に S Aという) ' tl の最低連続 領域サイズ、 入力クロック周波数、 ピット幅などが含まれる。 処理種別とは , 半導 #:メモリカード 1 1 1に対する処理の種別を示し、 リード処理、 ライ ト処理、 ィレース処理などが存在する。 更にライ ト処理には既にデータが書 き込まれている位置にデータを上書きする場合に必要となるィレース処理を 含む書き込み処理と、 データが存在しない位置にデータを書き込むだけの処 理の 2種類が存在する。 処理単位サイズは、 半導体メモリカード 1 1 1に対 する 1回の処理のサイズである。 処理単位境界は、 処理開始位置を示す情報 である。 処理単位境界は処理単位サイズ内の処理によって最も速度が早くな る境界を示し、 処理単位サイズの境界と一致している場合や、 その中間地点 からの処理も許容する場合等が含まれる。 処理単位境界は、 例えば処理単位 サイズが 1 2 8 K Bの場合、 その処理単位サイズと一致する場合には 1 2 8 K B、 その中間からの処理も可能な場合には 6 4 K Bのように表現される。 先に説明したように、 半導体メモリカード 1 1 1に対する最適な処理単位サ ィズゃ処理単位境界は、 半導体メモリカード 1 1 1内部で並列処理されるフ ラッシュメモリの枚数や管理方法、 消去ブロックサイズなどに依存する。 す なわち、 半導体メモリカード 1 1 1内部でフラッシュメモリが並列処理され ない場合は、 フラッシュメモリの消去プロックサイズと処理単位サイズが同 一である。 このとき処理単位境界がこれらと同じ場合、 効率的に半導体メモ リカード 1 1 1にアクセスすることが可能である。 一方、 複数枚のフラッシ ュメモリが並列処理されている場合は、 並列処理の管理ブロックサイズと処 理単位サイズ、 処理単位境界が同じ場合に、 効率的にアクセスすることが可 能となる。 また、 半導体メモリカード 1 1 1に最適な処理単位境界が処理単 位サイズの倍数長となる場合、 処理単位境界を省略し、 処理単位サイズを用 いて境界を決定することも可能である。
処理単位時間は、 アクセス性能を表現する際に性能値の測定基準となる単 位時間を示す情報である。 アクセス方法は、 アクセス装置 1 0 0が半導体メ モリカード 1 1 1にアクセスする際のァドレス指定条件を示じ、'連続領域に アクセスを行うシーケンシャルアクセス (S A) 、 不連続領域にアクセスを -行うランダムアクセス ( R A ) などが存在する。 フラッシュメモリが並列処 理されている半導体メモリカード 1 1 1において、 並列処理が可能な管理ブ ロックサイズ単位で処理を行わず、 消去ブロック単位などの更に小さな単位 に分割して処理を行った場合でも、 連続した領域に対してシーケンシャルに 処理が行われれば、 フラッシュメモリの管理方法によっては、 ある程度高速 な処理が行える。 そのため、 シーケンシャルアクセス時の最低連続領域サイ ズは、 シーケンシャルアクセス時に高速アクセスするために必要な最低連続 領域の大きさを示す。 入力クロック周波数は、 アクセス装置 1 0 0と半導体 メモリカード 1 1 1間のコマンドやデータの送受信における基本クロックの 周波数を示す情報である。 ピット幅は、 アクセス装置 1 0 0と半導体メモリ カード 1 1 1間のデータ転送に使用する信号線のビット数を示す情報であり 、 例えば 1ビット、 4ビットなどである。 尚第 2の情報としてはこれらの少 なくとも 1つの情報を含むものであればよい。
力一ド情報に含まれる第 3の情報は、 半導体メモリカード 1 1 1のァクセ ス速度に関する情報である。 この情報には、 半導体メモリカード 1 1 1の速 度性能レベル、 単位時間に処理可能なデータサイズ、 単位サイズの処理を行 う際にかかる時間、 転送レート、 カード内部の処理時間などが含まれる。 速 度性能レベルは、 例えばフラッシュメモリカードの速度制御を例えば高速、 中速、 低速などフラグを用いて表現したものである。 又単位サイズの処理を 行う際にかかる時間は、 例えばリード処理、 ライト処理、 ィレース処理など の各処理時間毎に平均値や最悪値を含むことができる。 単位時間に処理可能 なデータサイズ、 単位サイズ当たりの処理時間は、 後述するアクセス性能表 としてデータを保持するようにしてもよい。 更に転送レートについても後述 するように、 リード処理、 ライ ト処理、 ィレース処理の夫々の平均値や最悪 値を含むことができる。 又カード内部処理時間は後述するように、 アクセス 性能基礎情報表として記憶させておくことができる。 これらめ檜報はいずれ も半導体メモリカード 1 1 1のアクセス速度を表現する情報であり、 表現方 _法のみが異なる。 更に、 これらアクセス速度に関する情報は先に説明した第 1の情報、 第 2の情報と密接に関係している。 例えば、 入力クロック周波数 が低い場合、 半導体メモリカードに入出力するデータの転送速度が低くなり
、 結果として半導体メモリカード 1 1 1のアクセス性能が低くなる。 また、 半導体メモリカード 1 1 1にアクセスする処理単位サイズが小さければ、 消 去ブロック単位でのアクセスが行えなかったり、 並列処理の効果が得られな いなどの理由により、 半導体メモリカード 1 1 1のアクセス速度が低くなる 。 このように第 3の情報であるアクセス速度に関する情報は、 第 1の情報、 第 2の情報に関連付けられた情報が格納されている。 尚第 3の情報としては これらの少なくとも 1つの情報を含むものであればよい。
カード情報に含まれる第 4の情報は、 半導体メモリカード 1 1 1の異常系 処理に関する情報である。 この情報には、 リード、 ライ トなどの各処理にお けるエラー発生確率、 アクセス装置 1 0 ひがコマンドを半導体メモリカード 1 1 1に発行してからエラ一通知を受けるまでの時間の最悪値が含まれる。 これらの情報は、 アクセス装置 1 0 0が異常系処理のために^要とするバッ ファサイズの見積りなどを行う際に使用される。 尚第 4の情報としてはこれ らの少なくとも 1つの情報を含むものであればよい。
カード情報に含まれる第 5の情報は、 半導体メモリカード 1 1 1のァクセ ス性能に関するその他の情報である。 この情報には、 速度性能レベル判定基 準、 速度性能レベル、 消費電力量レベルが含まれる。 第 5の情報としてはこ れらの少なくとも 1つの情報を含むものであればよい。 これらの情報の詳細 は以下で説明する。
- 図 7では、 カード情報格納部 1 3 2に含まれる可能性のある情報として、 以上 5種類の情報を挙げたものである。 カード情報格納部 1 3 2はこれらの 全ての情報を格納してもよい。 あるいはカード情報格納部 1 3 2はアクセス 装置 1 0 0と半導体メモリカード 1 1 1間で最適なアクセスも行うために必 要な情報を選択して格納してもよい。 このうち特に本願の特徴的なカード情 報は第 2のアクセス条件に関連する情報、 及び第 3のアクセス速度に関連す る情報である。
実施例 1の主眼とする所は、 図 7に示すような半導体メモリカード 1 1 1 のアクセス性能に関する情報を半導体メモリカード 1 1 1内部に保持し、 そ の情報の一部、 あるいは全てをアクセス装置 1 0 0が取得できるようにし、 アクセス装置 1 0 0から半導体メモリカード 1 1 1に対して最適なアクセス を行えるようにする点である。 以下では、 半導体メモリカード 1 1 1に対し て最適なアクセスを行うために、 アクセス装置 1 , 0 0が半導体メモリカード 1 1 1のアクセス性能を知る第 1〜第 8の方法を説明する。
第 1の方法は、 アクセス装置 1 0 0からの要求に応じ、 半導体メモリカー ド 1 1 1に最適にアクセスするためのアクセス条件、 アクセス速度の情報を 半導体メモリカード 1 1 1が返す方法であるこの方法について図 8〜図 1 1 を用いて説明する。 図 8は本方法におけるアクセス装置 ί 0 0側の取得手順 を示した図、 図 9, 図 1 0は半導体メモリカード 1 1 1側の処理手順を示し た図であり、 図 1 1は結果として半導体メモリカード 1 1 1がアクセス装置 1 0 0に返すアクセス条件、 アクセス速度情報の一例を示した図である。 まず始めに図 8を用いてアクセス装置 1 0 0側の処理手順を説明する。 図 8において、 先ずアクセス装置 1 0 0は半導体メモリカード 1 1 1に対し、 半導体メモリカード 1 1 1のカード種別情報を取得するために力 ド種別取 得コマンドを発行する (S 8 0 1 ) 。 次に、 発行したコマンドにより半導体 メモリカード 1 1 1からカード種別情報が取得できたか判定する (S 8 0 2 ) 。 取得に失敗した場合、 エラ一が発生したと判断し処理を終了する (S 8 0 3 ) 。 取得に成功した場合、 取得した情報を基に、 半導体メモリカード 1 1 1に最適にアクセスするためのアクセス条件と、 その際のアクセス速度値 を半導体メモリカード 1 1 1から取得するコマンド (最適アクセス情報取得 コマンド) に対応した半導体メモリ力一ド 1 1 1であるか判^する (S 8 0 4 ) 。 対応していない半導体メモリカード 1 1 1であれば、 アクセス条件、 -アクセス速度値の取得を中止して処理を終了する (S 8 0 5 ) 。 対応してい る半導体メモリカード 1 1 1であれば、 最適アクセス情報取得コマンドを半 導体メモリカード 1 1 1に発行する (S 8 0 6 ) 。 次に、 発行したコマンド により半導体メモリカード 1 1 1からアクセス条件、 アクセス速度値が取得 できたか判定する (S 8 0 7 ) 。 取得に失敗した場合、 エラ一が発生したと 判断し処理を終了する (S 8 0 8 ) 。 取得に成功した場合、 処理を正常終了 する。
次に図 9 , 図 1 0を用いて半導体メモリカード.1 1 1側の処理手順を説明 する。 図 9は、 図 8の説明におけるカード種別取得コマンドがアクセス装置 1 0 0から発行された場合における半導体メモリカード 1 1 1側の処理を示 した図である。 図 9の半導体メモリカード 1 1 1側の処理において、 先ず半 導体メモリカード 1 1 1はアクセス装置 1 0 0からコマンドを受信する (S 9 0 1 ) 。 次に、 受信したコマンドを参照し、 自身が認識できない不正コマ ンドか否かを判定する (S 9 0 2 ) 。 不正コマンドの場合、 アクセス装置 1 0 0にエラ一を通知して処理を終了する (S 9 0 3 ) 。 認識可能なコマンド の場合、 そのコマンドがカード種別取得コマンドであるか判定する (S 9 0 4 ) 。 カード種別取得コマンド以外の場合、 各コマンドに対応した他の処理 を実施する (S 9 0 5 ) 。 カード種別取得コマンドの場合、 カード情報格納 部 1 3 2からカード種別情報を読み出す (S 9 0 6 ) 。 最後に読み出した力 ード種別情報をアクセス装置 1 0 0に送信し処理を終了する (S 9 0 7 ) 。
図 1 0は、 図 8の説明における最適アクセス情報取得コマンドがアクセス 装置 1 0 0から発行された場合における半導体メモリカード 1 1 1側の処理 を示した図である。 図 1 0の処理において、 半導体メモリカード 1 1 1はァ クセス装置 1 0 0からコマンドを受信する (S 1 0 0 1 ) 。 次に、 受信した コマンドを参照し、 自身が認識できない不正コマンドか否かを判定する (S
1 0 0 2 ) 。 不正コマンドの場合、 アクセス装置 1 0 0にェ 一を通知して 処理を終了する (S 1 0 0 3 ) 。 認識可能なコマンドの場合、 そのコマンド
-が最適アクセス情報取得コマンドであるかを判定する (S 1 0 0 4 ) 。 最適 アクセス取得コマンドでなければ他の処理を実施し (S 1 0 0 5 ) 、 このコ マンドであった場合に S 1 0 0 6において、 半導体メモリカード 1 1 1に最 適にアクセスするためのアクセス条件と、 その際のアクセス速度値をカード 情報格納部 1 3 2から読み出す。 そして S 1 0 0 7において、 読み出したァ クセス条件、 アクセス速度値をアクセス装置 1 0 0に送信する。
このように図 8〜図 1 0に記載した処理手順により、 アクセス装置 1 0 0 は半導体メモリカード 1 1 1から、 半導体メモリカード 1 1 1に最適にァク セスするためのアクセス条件と、 その際のアクセス速度値を取得することが 可能となる。 図 1 1 ( a ) は、 このアクセス条件を示した図、 図 1 1 ( b ) はアクセス速度値の一例を示した図である。 アクセス条件は図 1 1 ( a ) に 示すように、 処理単位サイズや処理単位境界、 アクセス方法、 入力クロック 周波数、 ビット幅など、 半導体メモリカード 1 1 1に最適にアクセスするた めにアクセス装置 1 0 0が従うべき条件を示した情報である。 ここでは例え ば処理単位サイズは 1 28 K Bの倍数長、 処理単位境界は 1 28KBの倍数 長、 アクセス方法は 2 56 KB以上の連続領域にシーケンシャルアクセスす るものとし、 入力クロック周波数は 25MHz以上、 ビット幅は 4ビットと している。 またアクセス速度値は図 1 1 (b) に示すように、 リード、 ライ ト、 ィレースの各処理における転送レ一卜の平均値、 最悪値など、 先のァク セス条件に従ったアクセスをアクセス装置 1 00が行った場合の処理性能を 示した情報である。 これらの情報を半導体メモリ力一ド 1 1 1から取得する ことで、 アクセス装置 1 00はその半導体メモリカード 1 1 1に最適にァク セスするにはどのようにアクセスしたら良いか、 またその場合にどの程度の アクセス性能が得られるかを認識することができる。 これにより半導体メモ リカード 1 1 1の特性に応じた最適なアクセスを実現することができる。 続いて第 2の方法として、 アクセス装置 1 00がアクセス条件を半導体メ モリカード 1 1 1に入力し、 アクセス速度値を半導体メモリカード 1 1 1が 返す方法について、 図 1 2、 図 1 3、 図 14を用いて説明する。 図 1 2は、 本方法におけるアクセス装置 1 00側の処理を示す図である。 図 1 2に示す アクセス装置 1 00側の処理手順において、 図 8に示す第 1の方法の場合と 同様に、 カード種別取得コマンドを発行し (S 1 20 1) 、 これが成功しな ければエラ一終了する (S 1 202, S 1 203) 。 これが成功すれば、 S 1 204においてアクセス速度値取得コマンド対応カードかどうかをを判別 する。 このコマンドに対応していなければアクセス速度値の取得を中止し ( S 1 20 5 ) 、 このコマンドに対応していれば、 ステップ S 1 206におい てアクセス速度値取得コマンドを発行する。 アクセス速度値の取得に成功し たかどうかを判断し (ステップ S 1 207 ) 、 成功しなければエラ一終了し (S 1208 ) 、 取得すれば正常終了する。 本方法ではアクセス装置 100 がアクセス条件を半導体メモリカード 1 1 1に入力するため、 アクセス速度 値取得コマンドはアクセス条件を引数にもつコマンドとなる。
次に、 半導体メモリカード 1 1 1側の処理手順について図 1 3を用いて説 明する。 図 13は、 図 12の説明におけるアクセス速度値取得コマンドがァ クセス装置 100から発行された場合における半導体メモリカード 1 1 1側 の処理を示した図である。 図 1 3の処理を開始すると、 S 1 30 1において コマンドを受信し、 不正コマンドかどうかを判別し、 不正コマンドであれば エラー終了する (S 1 302, S 1 303 ) 。 不正コマンドでなければァク セス速度値取得コマンドかどうかを判定し (S 1 304) 、 このコマンドで なければ他の処理を実施する (S 1 305) 。 アクセス速度値取得コマンド であれば半導体メモリカード 1 1 1はアクセス条件、 アクセス速度値をカー ド情報格納部 1 32から読み出す (S 1 306 ) 。 次に、 読み出したァクセ ス条件とそれに対応するアクセス速度値を参照し、 アクセス装置 1 00がコ マン.ドの引数で指定したアクセス条件に合致するアクセス速度値が存在する か判定する (S 1 307 ) 。 存在しない場合、 アクセス装置 i 00にエラー を通知して処理を終了する (S 1 308, S 1 309) 。 存在する場合、 該 当するアクセス速度値をアクセス装置 1 00に送信し、 処理を終了する (S 1 3 10 ) 。
このように図 12、 図 1 3に記載した処理手順により、 アクセス装置 1 0 0は半導体メモリカード 1 1 1にアクセス条件を入力し、 その条件に応じた アクセス速度値を取得することが可能となる。
図 14 (a) はアクセス装置 1 00が半導体メモリカード 1 1 1に入力す るアクセス条件を示す図、 図 14 (b) は半導体メモリカード 1 1 1がァク セス装置 1 00に返すアクセス速度値の一例を示した図である。 アクセス装 置 1 00が半導体メモリカード 1 1 1に入力するアクセス条件は、 例えば図 14 (a) に示すように、 処理単位サイズを 1 28 KB、 処理単位境界を 1 28 KB, アクセス方法を 2 56 KB連続領域としてシーケンシャルァクセ スするものとし、 入力クロック周波数 2 5MHz、 ビット幅を 4ビットなど 、 半導体メモリカード 1 1 1にアクセスする際の条件を示した情報である。 また図 14 (b) に示すアクセス速度値は図 1 1 (b) と同様の情報であり 、 アクセス装置 1 0 0が入力したアクセス条件に応じたアク ス速度値を示 す。 このように半導体メモリカード 1 1 1にアクセスする際の条件を入力し 、 その条件に応じたアクセス速度値を半導体メモリカード 1 1 1から取得す ることで、 想定するアクセス方法により、 所望のアクセス性能が得られるか をアクセス装置 1 0 0が判定することが可能となる。 - 次に第 3の方法は、 アクセス装置 1 0 0がアクセス速度値を半導体メモリ カード 1 1 1に入力し、 アクセス条件を半導体メモリカード 1 1 1が返す方 法である。 この方法について図 1 5、 図 1 6を用いて説明する。
• 図 1 5は本方法におけるアクセス装置 1 0 0側の処理手順を示した図であ る。 アクセス装置側の処理は前述した第 2の方法のアクセス装置の動作とほ ぼ同様であり、 ステップ S 1 2 0 6のアクセス速度値取得コマンドの発行に 代えて、 本方法ではステップ S 1 5 0 6においてアクセス条 取得コマンド を発行している。
図 1' 6は本方法における半導体メモリカード 1 1 1側の処理手順を示した 図である。 図 1 6の処理手順において、 先に説明した第 2の方法と異なる点 は、 ステップ S 1 3 0 4のアクセス速度値取得コマンドに代えて、 ステップ S 1 6 0 4のアクセス条件取得コマンドかどうかを確認し、 その後このコマ ンドであればアクセス速度値を力一ド情報格納部 1 3 2から読み出す (ステ ップ S 1 6 0 6 ) 。 そしてステップ S 1 6 0 7において読み出したアクセス 条件からアクセス装置が指定したアクセス速度値に合うアクセス条件が存在 するかどうかを判定する。 S 1 6 0 8においてこのようなアクセス条件が存 在しなければエラー終了し (S 1 6 0 9 ) 、 存在すれば、 アクセス条件をァ クセス装置に送信して (S 1 6 1 0 ) 、 処理を終える。
図 1 5、 図 1 6に記載した処理手順により、 アクセス装置 1 0 0は半導体 メモリカード 1 1 1にアクセス速度値を入力し、 その速度値に応じたァクセ ス条件を取得することが可能となる。 本方法における、 このアクセス条件、 アクセス速度値は、 例えば図 1 1 ( b ) に示される情報である。 本方法では 、 このように半導体メモリカード 1 1 1にアクセスする際に要求する性能値 を入力し、 その性能値を満たすためにアクセス装置 1 0 0が従うべきァクセ ス条件を半導体メモリカード 1 1 1から取得する。 こうすれば、 アクセス装 置 1 0 0は所望のアクセス性能を満たすためにどのように半導体メモリカー ド 1 1 1にアクセスすれば良いか認識することができ、 所望のアクセス性能 でのアクセスを実現することが可能となる。
続いて第 4の方法は、 アクセス装置 1 0 0がアクセス条件、 アクセス速度 値を半導体メモリカード 1 1 1に入力し、 入力されたアクセス条件でァクセ スした場合に入力されたアクセス速度値を満たすことができるか否かを半導 体メモリカード 1 1 -1が返す方法である。 この方法について図 1 7、 図 1 8 を用いて説明する。
図 1 7は本方法におけるアクセス装置 1 0 0側の処理手順を示した図であ る。 図 1 7において、 先に説明した第 1の方法と同様に、 カード種別取得コ -マンド'を発行し、 この取得に成功すれば最適アクセス可否判定コマンドに対 応するカードかどうかを判定する (S 1 7 0 4 ) 。 このカードでなければ最 適アクセス可否判定を中止し (S 1 7 0 5 ) 、 対応カードであればステップ S 1 7 0 6において最適アクセス可否判定コマンドを発行する。 本方法では アクセス装置 1 0 0がアクセス条件とアクセス速度値を半導体メモリカード 1 1 1に入力するため、 最適アクセス可否判定コマンドはアクセス条件とァ クセス速度値を引数にもつコマンドとなる。 判定結果の取得が成功したかど うかを判断し (S 1 7 0 7 ) 、 失敗すればエラー終了し (S 1 7 0 8 ) 、 成 功すれば終了する。 このコマンドの結果として半導体メモリカード 1 1 1か ら得られる情報は、 指定したアクセス条件でアクセスした場合に、 指定した アクセス速度値が満たされるかどうかの判定結果となる。
次に、 図 1 8に示す半導体メモリ力一ド 1 1 1側の処理手順について説明 する。 第 1の方法と同様に、 本方法でもアクセス装置 1 0 0はカード種別取 得コマンドを発行するが、 半導体メモリカード 1 1 1側の処理は、 図 9に示 す処理と同じである。 図 1 8は、 図 1 7の説明における最適アクセス可否判 定コマンドがアクセス装置 1 0 0から発行された場合における半導体メモリ カード 1 1 1側の処理を示した図である。 図 1 8の処理を開始すると、 S 1 8 0 1においてコマンドを受信し、 不正コマンドかどうかを判別し、 不正コ マンドであればエラー終了する (S 1 8 0 2 , S 1 8 0 3 ) 。 不正コマンド でなければ最適アクセス可否判定コマンドかどうかを判定し (S 1 8 0 4 ) 、 このコマンドでなければ他の処理を実施する (S 1 8 0 5 ) 。 最適ァクセ ス可否判定コマンドであれば、 半導体メモリカード 1 1 1はアクセス条件、 アクセス速度値をカード情報格納部 1 3 2から読み出す (S 1 8 0 6 ) 。 次 に、 読み出したアクセス条件とそれに対応するアクセス速度値を参照し、 ァ クセス装置 1 0 0がコマンドの引数で指定したアクセス条件でアクセスした 際に、 アクセス装置 1 0 0が指定したアクセス速度値が満たき ήるか判定す る (S 1 8 0 7 , S 1 8 0 8 ) 。 アクセス速度値が満たされる場合、 ァクセ ス装置 1 0 0にアクセス速度値が満たされる旨を通知して処理を終了する ( S 1 8 0 9 ) 。 アクセス速度値が満たされない場合、 アクセス装置 1 0 0に アクセス速度値が満たされない旨を通知して処理を終了する (S 1 8 1 0 ) このように図 1 7、 図 1 8に記載した処理手順によれば、 アクセス装置 1 0 0は半導体メモリ力一ド 1 1 1にアクセス条件とアクセス速度値を入力し 、 その条件で半導体メモリカード 1 1 1にアクセスした場合にアクセス速度 値が満たされるか確認することができる。 本方法.におけるアクセス条件、 ァ クセス速度値は、 例えば図 1 4に示される情報と同様である。 本方法により 、 アクセス装置 1 0 0は想定するアクセス方法で所望のアクセス性能が満た されるかどうかをアクセスに先立ち認識することができる。
続いて第 5の方法として、 半導体メモリカード 1 1 1のアクセス速度に関 連する情報のうち速度性能のレベルを表現するフラグを用いる場合について 説明する。 このフラグを第 1の方法から第 4の方法に記載されているァクセ ス速度値の代わりにしてもよく、 又図 7に示すようにアクセス速度値内に含 めるようにしてもよい。 本方法における、 アクセス装置 1 0 0、 半導体メモ リカード 1 1 1間の処理は、 第 1の方法から第 4の方法に記載された処理の いずれかの処理を使用する。
5 図 1 9 ( a ) は本方法における速度性能レベル判定基準の一例、 図 1 9 ( b ) は判定結果の一例を示した図である。 図 1 9 ( a ) で示した速度性能レ ベル判定基準は、 カード情報格納部 1 3 2内の第 5の情報として格納されて いる。 図 1 9 ( a ) に示した速度性能レベル判定基準では、 判定に用いる値 としてリード、 ライ 卜、 ィレースの各処理における転送レートの平均値を使 10 用しており、 本判定基準に基づき、 アクセス速度値は値に応じて "高速" 、
"中速" 、 "低速" のいずれかの速度性能レベルが割り当てられる。 同様に 転送レートの最悪値に関しても速度性能レベル判定基準が存在 る。 図 1 9 ( b ) の例では、 各アクセス速度値に "高速" の速度性能レベルが割り当て .られでいる。
i s 本方法では、 このように半導体メモリカード 1 1 1のアクセス性能を数値 だけではなく、 客観的なレベルに分類し、 アクセス装置 1 0 0が半導体メモ リカード 1 1 1からレベルを取得できるようにしている。 そのためアクセス 装置 1 0 0は半導体メモリ力一ド 1 1 1のアクセス性能を容易に認識するこ とが可能となる。
20 続いて第 6の方法として、 半導体メモリカード 1 1 1の物理特性に関連す る情報のうち、 消費電力量のレベルを表現するフラグを用いる場合について 説明する。 このフラグをアクセス装置 1 0 0が半導体メモリ力一ド 1 1 1に 入力し、 それに対応するアクセス条件及びアクセス速度値を入手する方法に ついて説明する。 本方法では、 カード情報格納部 1 3 2には消費電力量レべ 25 ルに対応付けられて複数のアクセス条件やアクセス速度についての情報が存 在しているものとする。
本方法における、 アクセス装置 1 0 0、 半導体メモリカード 1 1 1間の処 理は、 第 1の方法から第 4の方法に記載された処理のいずれかの処理を使用 する。 ここでは一例として、 第 1の方法に適用した場合について説明する。 本方法におけるアクセス装置 1 0 0側の処理は、 図 8に示した処理手順と同 じである。 しかしながら S 8 0 6においてアクセス装置 1 0 0が半導体メモ リカード 1 1 1に対して発行する最適アクセス情報取得コマンドの引数とし て、 消費電力量のレベルを表現する消費電力量レベルを付加する点が異なる
。 消費電力量レベルは、 半導体メモリカード 1 1 1が消費する電力量の大小 を複数のレベルに分割し表現したものであり、 例えば "消費電力大" 、 "消 費電力中" 、 "消費電力小" の 3段階で表現するなどの方法を取る。
次に、 図 2 0に示す半導体メモリカード 1 1 1側の処理手順について説明 する.。 この方法においても S 2 0 0 1〜 2 0 0 5までの処理は図 1 0に示す 半導体メモリカード 1 1 1側の S 1 0 0 1〜S 1 0 0 5の処通と同様である 。 最適アクセス情報取得コマンドであれば、 S 2 0 0 6において、 アクセス 装置 1' 0 0から発行された最適アクセス情報取得コマンドの引数に指定され た消費電力量レベルが有効な値であるか判定する。 有効でなければエラー処 理を行う (S 2 0 0 7 ) 。 有効であれば S 2 0 0 8において、 指定された消 費電力量レベルにおいて最適にアクセスするためのアクセス条件、 アクセス 速度値をカード情報格納部 1 3 2から読み出す。 そして読み出した情報をァ クセス装置 1 0 0に送信して処理を終える (S 2 0 0 9 ) 。 すなわち、 本方 法では、 カード情報格納部 1 3 2に格納された情報が消費電力量レベルに対 応付けられて複数存在していることを想定しており、 アクセス装置 1 0 0か ら指定された消費電力量レベルに応じた情報を選択してアクセス装置 1 0 0 に送信する。
本方法では、 このように半導体メモリカード 1 1 1からアクセス速度に関 する情報を取得する際に、 アクセス装置 1 0 0が想定する消費電力量のレべ ルを表現する値を半導体メモリカード 1 1 1に指定し、 指定した消費電力量 で半導体メモリカード 1 1 1が動作した際のアクセス速度に関する情報をァ クセス装置 1 0 0が取得する。 これにより、 例えばアクセス装置 1 0 0が半 導体メモリカード 1 1 1を低消費電力で駆動させたい場合に、 必要となるァ クセス条件や、 その際のアクセス速度値を認識することが可能となる。
尚、 ここでは第 1の方法と同様に、 電力量のフラグを半導体メモリカード 1 1 1に入力し、 これに対応するアクセス条件とアクセス速度を得るように しているが、 第 2の方法に示すようにアクセス条件に加えて、 消費電力量の レベルをメモリ力一ドに示し、 これに応じたアクセス速度を得るようにして もよい。 又第 3の方法に示されるように、 アクセス速度に加えて電力量レべ ルを示すフラグを半導体メモリカード 1 1 1に入力し、 これに対応するァク セス条件を得るようにしてもよい。 更に第 4の方法に示されるように、 ァク セス.条件、 アクセス速度に加えて消費電力量を示すフラグを入力し、 この条 件を満たすかどうかの結果を半導体メモリカード 1 1 1より侮るようにして もよい。
続いて第 7の方法は、 アクセス装置 1 0 0の要求に応じて、 アクセス速度 値をアクセス装置 1 0 0が算出するために最低限必要な情報を半導体メモリ カード 1 1 1が返す方法である。 この方法について、 図 2 1から図 2 5を用 いて説明する。 この場合には図 7に示したカード情報格納部 1 3 2の図 7に 示すカード内部処理時間には以下に示すアクセス性能基礎情報表 (A P B I L ) の内容を保持するようにしてもよい。
図 2 1はそれぞれ、 本方法におけるアクセス装置 1 0 0側の処理手順を示 した図、 図 2 2は半導体メモリカード 1 1 1側の.処理手順を示した図である 。 図 2 1に示すアクセス装置 1 0 0側の処理手順において、 まずカード種別 取得コマンドを発行し (S 2 1 0 1 ) 、 取得に成功したかどうかを判断する ( S 2 1 0 2 ) 。 成功しなければエラー終了を行い ( S 2 1 0 3 ) 、 成功す れば S 2 1 0 4においてアクセス性能基礎情報表取得コマンドに対応する力 ードかどうかを判別する。 この対応カードでなければ S 2 1 0 5においてァ クセス性能基礎情報表の取得を中止する。 対応カードであれば S 2 1 0 6に おいてアクセス性能基礎情報表取得コマンドを発行する。 そしてこの情報表 の取得が成功したかどうかを判断し (S 2 1 0 7) 、 取得に失敗すればエラ —終了を行う (S 2 1 08) 。 この情報表の取得に成功すれば S 2 1 09に おいて、 この情報表からアクセス速度値を算出する。 S 20 1 0のステップ において、 算出したアクセス速度値を基に自アクセス装置 1 00が必要とす るアクセス速度を満たすために必要なアクセス条件を算出する.。 これら 2つ のステップについては、 本方法における半導体メモリカード 1 1 1側の処理 手順を説明した後に図を用いて説明する。
'次に、 図 22に示す半導体メモリカード 1 1 1側の処理手順について説明 する。 第 1の方法と同様に、 本方法でもアクセス装置 1 00はカード種別取 得コマンドを発行するが、 半導体メモリカード 1 1 1側の処理は、 図 9に示 す処理と同じである。 図 22は、 図 2 1の説明におけるアク ス性能基礎情 報表取得コマンドがアクセス装置 1 00から発行された場合における半導体 メモリカード 1 1 1側の処理を示した図である。 図 22の処理において、 コ マンドを受信し (S 220 1 ) 、 不正コマンドであればエラー終了する (S 2202, S 2203) 。 不正コマンドでなければ S 2204においてァク セス性能基礎情報表取得コマンドかどうかをチェックする。 このコマンドで なければ他の処理を実施し (S 220 5) 、 アクセス性能基礎情報表取得コ マンドをカード情報格納部 1 32から読み出す (S 2206, S 2207) 次に、 図 23、 図 24、 図 2 5を用いてアクセス性能基礎情報表、 及び、 この表を用いてアクセス速度値を算出する方法について説明する。 図 23は 、 半導体メモリカード 1 1 1がアクセス装置 1 00に返すアクセス性能基礎 情報表 (AP B I L) の一例を示した図である。 図 24、 図 2 5は、 ァクセ ス装置 1 00と半導体メモリカード 1 1 1間におけるコマンド ' レスポンス のタイミングの一例を示した図である。 半導体メモリカード 1 1 1のァクセ ス性能を表す数値として、 転送レートなどが挙げられる。 しかしながら、 ァ クセス装置 1 00、 半導体メモリカード 1 1 1間の転送レートを決定する要 因は半導体メモリカード 1 1 1だけに存在するのではなく、 アクセス装置 1 00側にも存在するため、 実際の転送レートを導出するためにはアクセス装 置 1 00側の条件を加味する必要がある。 本方法では、 半導体メモリカード 1 1 1側のアクセス性能の決定要因に関する情報をアクセス装置 1 00が取 得できるようにし、 アクセス装置 1 00側の要因を加味してアクセス装置 1 00がアクセス速度を算出することを可能とする。
図 23は、 アクセス性能を決定する半導体メモリカード 1 1 1側の要因に 関する情報であるアクセス性能基礎情報表 (AP B I L) の一例を示す図で ある。 本図に示すようにリード、 ライ ト及びィレ一ス処理毎にテーブル 1一
A, 1 - B, 1一 Cを有する。 図 23 (b) はライト処理における 51 2パ イ トのデ一夕転送当たりのビジー時間を示している。 この情 表では、 処理 時間が変わる要因として処理単位サイズ、 シーケンシャルアクセス (SA) -又はヲンダムアクセス (RA) によって変わる表が示されている。
次に、 図 23に示したアクセス性能基礎情報表を基にアクセス速度値を算 出する方法について説明する。 図 24、 図 2 5は、 アクセス装置 1 00と半 導体メモリカード 1 1 1間におけるコマンド · レスポンスのタイミングの一 例を示した図である。 図 24 (a) はリード処理、 図 24 (b) はライ ト処 理、 図 2 5はィレース処理に対応している。 図 24 (a) のリード処理にお けるアクセス速度値は、 コマンド発行処理時間 RT 1、 カード内部処理時間 RT 2、 データ転送時間 RT 3の合計を基に算出.される。 ここで、 RT 1、 RT 3はアクセス装置 1 00が半導体メモリカード 1 1 1に入力するクロッ ク周波数に依存し決定される時間であり、 アクセス装置 1 00側で時間を算 出することができる。 一方 RT 2はカード内部処理にかかる時間であり、 半 導体メモリカード 1 1 1に依存して決定される。 そのため、 半導体メモリ力 ード 1 1 1から取得するアクセス性能基礎情報表には、 この RT 2を決定す るために必要な情報を格納する。 同様に図 24 (b) のライト処理におけるアクセス速度値 、 コマンド発 行処理時間 WT 1、 カード内部処理時間 WT 2、 データ転送時間 WT 3の合 計を基に算出される。 従ってリード処理と同様に、 アクセス性能基礎情報表 にはカード内部処理時間 WT 2を決定するために必要な情報を格納する。 同様に図 2 5のィレース処理におけるアクセス速度値は、 コマンド発行処 理時間 ET 1、 カード内部処理時間 ET 2の合計を基に算出される。 従って リード処理と同様に、 アクセス性能基礎情報表にはカード内部処理時間 E T 2を決定するために必要な情報を格納する。
' ここでライ 卜処理を一例としてアクセス速度値の算出例を説明する。 ァク セス速度値として単位サイズのデータ処理にかかる時間 (全ライ ト時間: W T— A) を算出する。 WT— Aは、 次式 (1) で求めることができる。
WT_A=WT 1 +∑WT 2 +∑WT 3 - (1) '
ここでコマンド発行処理時間 WT 1は、 コマンド入力からレスポンス取得 -完了までに必要なデータ転送量を 1 60ビットとし、 入力クロック周波数を s MHzとした場合、 次式 (2) で求めることができる。
WT 1 = 1 60 / (s X POW (1 0, 6) ) ··· (2)
ここで POW (X, Y) は、 Xの Υ乗を意味する。
次に、 ∑WT 2はカード内部処理にかかる時間の総和であり、 図 24 (b ) に記載されたビジー時間を t (秒) 、 処理単位サイズを n (バイト) とし た場合、 次式 (3) で求めることができる。
∑WT 2 = t X n/ 51 2 - ( 3 )
次に、 ∑WT 3はデータ転送時間の総和であり、 ビット幅として 4ビット を使用し、 転送データの正当性を確認するために付加する CRCを 5 12パ ィ 卜のデ一夕に加算した場合の合計転送クロック数を 1 049クロックとし た場合、 次式 (4) で求めることができる。
∑WT 3 = ( 1 049 X n/5 1 2) / ( s X P OW ( 1 0, 6) ) ··· (4) 従って、 算出の一例として、 入力クロック周波数を 2 5MHz、 処理単位 サイズを 1 28KB、 シーケンシャルアクセスを想定した場合、 tは 9. 2 sとなり、 WT— Aは 1 3. 1msと算出される。
本方法では、 このようにアクセス速度を決定する半導体メモリカード 1 1 1側の要因に関する情報をアクセス装置 1 00から取得し、 それに対応した アクセス性能を出力する。 従ってアクセス装置 1 00は、 アクセス装置 1 0 0側の要因を加味してアクセス速度を算出することが可能となる。
次に第 8の方法は、 様々なアクセス条件におけるアクセス速度値の一覧を カード情報格納部 1 32に保持しておき、 アクセス装置 1 00からの要求に 応じて半導体メモリカード 1 1 1が返す方法である。 この方法について、 図
26から図 28を用いて説明する。
図 26、 図 27、 図 28は、 半導体メモリカード 1 1 1に保持しているァ クセス性能表の一例を示した図である。 図 26 (a) は単位時間あたりに処 -理可能なデータサイズを各入力クロック毎に示したものであり、 図 26 (b ) はその一部分についてアクセス単位毎にシーケンシャルアクセスとランダ ムアクセスについて標準値と最悪値とを詳細に示したものである。 又図 27 (a) は単位サイズのデータ処理に必要な時間をリード処理、 ライト処理、 ィレース処理につき異なった入力クロック毎に示したものである。 図 27 ( b) はその一部分の入力クロックが 25 MH zのライ ト処理について、 更に 単位サイズのデータ処理に必要な時間について処理単位サイズ毎に、 及びシ 一ゲンシャルアクセスとランダムアクセスについて標準値と最悪値とを詳細 に示したものである。 図 28 (a) は単位サイズでアクセスした際の処理速 度としてアクセス性能を表現したものであり、 入力クロックの夫々について リード処理、 ライ 卜処理、 ィレース処理についてのテーブルを示している。 又図 28 (b) はその一部分について、 入力クロックが 25MHz、 ライト 処理の場合に処理単位サイズ毎にシーケンシャルアクセスとランダムァクセ スについて標準値と最悪値とを詳細に示している。 これらはアクセス性能の 表現方法が異なるだけであり、 いずれも半導体メモリカード;! 1 1のァクセ ス速度を表現した情報である。
図 2 9はそれぞれ、 本方法におけるアクセス装置 1 0 0側の処理手順を示 した図、 図 3 0は半導体メモリカード 1 1 1側の処理手順を示した図である 。 アクセス装置 1 0 0は図 2 9に示すように、 まずカード種別取得コマンド を発行し (S 2 9 0 1 ) 、 このカード種別の取得に成功したかどうかを判別 する (S 2 9 0 2 ) 。 この取得にエラーがあればエラー終了し (S 2 9 0 3 ) 、 取得に成功すれば S 2 9 0 4においてアクセス性能表取得コマンド対応 カードかどうかを判別する。 この対応カードでなければアクセス性能表の取 得を中止し (S 2 9 0 5 ) 、 対応カードであればアクセス性能表取得コマン ドを.発行する ( S 2 9 0 6 ) 。 そして S 2 9 0 7においてアクセス性能表の 取得に成功したかどうかを判別し、 エラーであればエラー終 Tする (S 2 9 0 8 ) 。 アクセス性能表の取得に成功すれば、 S 2 9 0 9においてアクセス 性能表を基にしてアクセス条件を決定して処理を終える。
半導体メモリカード 1 1 1は図 3 0に示すようにコマンドを受信し、 不正 コマンドであればエラ一処理を行い (S 3 0 0 1〜 3 0 0 3 ) 、 アクセス性 能表取得コマンドであるかどうかを判別する (S 3 0 0 4 ) 。 このコマンド でなければアクセス性能表の取得を中止し (S 3 0 0 5 ) 、 このコマンドで あればカード情報格納部 1 3 2からアクセス性能表を読み出す (S 3 0 0 6 ) 。 そして S 3 0 0 7においてアクセス性能表をアクセス装置に送信して処 理を終える。
すなわち、 本方法が第 7の方法と異なる点は、 アクセス装置 1 0 0は半導 体メモリカード 1 1 1からアクセス速度に関する情報を取得するので、 ァク セス装置 1 0 0側でアクセス速度を算出する必要がない点である。 本方法で は、 このようにアクセス装置 1 0 0がこれらのアクセス性能表を取得し、 半 導体メモリカード 1 1 1に対するアクセス条件の一覧と、'各アクセス条件で アクセスした際のアクセス速度値を認識することができる。 これにより、 ァ クセス装置 1 0 0は自身が想定するアクセス条件でアクセスレた場合のァク セス速度値がいくらであるか、 あるいは自身が必要とするアクセス速度値を 満たすためにどのようなアクセス条件でアクセスすれば良いか認識すること が可能となる。
以上、 説明したように本実施例における半導体メモリカード 1 1 1は、 ァ クセス装置 1 0 0から半導体メモリカード 1 1 1にアクセスする際のァクセ ス性能を、 半導体メモリカード 1 1 1内のカード情報格納部 1 3 2に保持す る。 半導体メモリカード 1 1 1はこの情報の一部、 あるいは全てを、 ァクセ ス装置 1 0 0からの要求に応じアクセス装置 1 0 0に送信する。 これにより 、 アクセス装置 1 0 0は半導体メモリカード 1 1 1のアクセス性能を知るこ とができる。 従って、 アクセス装置 1 0 0が半導体メモリカード 1 1 1に対 して最適なアクセス方法でアクセスすることが可能となり、 導体メモリ力 ード 1 1 1の最高性能を引き出すことが可能となる。
- 尚、 カード情報格納部 1 3 2に格納された情報はそれぞれ更新可能として も良い。 例えば、 図 1 9 ( a ) に示すような速度性能レベル判定基準を、 半 導体メモリカード 1 1 1の外部から入力し、 更新することで、 判定基準を後 から変更できる構成としても良い。 更に別の例として、 半導体メモリカード
1 1 1内部の状態が変化することにより、 アクセス性能に関する情報が変化 する場合は、 半導体メモリカード 1 1 1内で内部状態を監視しておき、 内部 状態の変化に応じてアクセス性能に関する情報を変更する構成としても良い 。 また、 本実施例では、 半導体メモリカード 1 1 .1の種別判定をアクセス装 置 1 0 0側における全ての処理の先頭で行う例を記載したが、 半導体メモリ カード 1 1 1に最初にアクセスした際に 1回だけ種別判定を行う構成として も良い。 また、 図 7で示したアクセス性能に関する情報の全てを使用する必 要はなく、 一部のみを使用しても良いし、 図 7で示した情報の一部と他の情 報とを組み合わせて使用しても良い。 また、 速度性能レベル、 消費電力量レ ベルとして、 それぞれ 3種類のレベルに分けられる例について記載したが、 3種類以外の複数種類に分割しても良い。 また、 アクセス性能表として図 2
6、 図 2 7、 図 2 8の 3種類の例を示したが、 半導体メモリカード 1 1 1の アクセス性能を示す情報であれば、 その他の表現形式を用いても良く、 更に これら複数の表現形式を組み合わせて使用しても良い。 また、 カード情報が 格納される第 1のメモリ 1 1 8を更新可能な不揮発性メモリとして説明した が、 更新する必要がない場合は R O Mなどの更新不可能な不揮発性メモリを 使用しても良い。 また、 第 1のメモリ 1 1 8ではなく、 不揮発性メモリ 1 1 7内にカード情報を格納する構成としても良い。 (実施例 2 )
本発明の実施例 2では、 カード情報格納部を備えた半導体メモリ力一ドか ら、 半導体メモリカードのアクセス性能に関する情報を取得し、' アクセス装 置におけるファイルシステムの制御に使用するようにしたアクセス装置につ -いて説明する。
本実施例における半導体メモリカード、 及びアクセス装置の構成は、 図 1 に示す構成と同じである。 本実施例では特に、 アクセス装置 1 0 0内の R O M l 0 4におけるファイルシステム制御部 1 0 6、 アクセス条件決定部 1 0
7、 カード情報取得部 1 0 8、 カード使用条件格納部 1 1 0について詳細に 説明する。
本実施例における詳細な説明を行う前に、 半導体メモリカード 1 1 1に格 納されたデータを管理するために使用されるファイルシステムとして、 F A Tファイルシステムを一例として説明する。 図 3 1に F A Tファイルシステ ムの構成を示す。 図 3 1のファイルシステム管理領域 1 1 7 — Aは、 半導体 メモリカード 1 1 1内の不揮発性メモリ 1 1 7におけるファイルシステムで 管理する領域を意味し、 図 1でュ一ザデータ 1 3 1と記載された領域の全領 域、 あるいは一部の領域に相当する。 尚図 3 1で L Aは論理アドレスを示す 。 F A Tファイルシステムでは、 ファイルシステム管理領域 1 1 7—Aの先 頭にファイルシステム管理領域 1 1 7— Aの全体を管理するための管理情報 領域 30 0 1が存在し、 引き続いてファイル内のデータなどを格納するデー 夕領域 3002が存在する。 管理情報領域 300 1は、 マスタ一ブ一トレコ 一ド ·パーティションテ一プル (以下、 MBR ' PTという) 3003、 パ —テイシヨンブー卜セクタ (以下、 PB Sという) 3004、 ファイル ' ァ ロケーションテ一ブル (以下、 FATという) 3005, 3006、 ルート ディレクトリエントリ (以下、 RDEという) 3007から構成される。
MBR · PT 3003は、 ファイルシステム管理領域を複数のパーティシ
3ンと呼ばれる領域に分割して管理するための情報を格納する部分である。 PB S 3004は、 1つのパーティション内の管理情報を格納する部分であ る。 . FAT 300 5、 3006は、 ファイルに含まれるデータの物理的な格 納位置を示す部分である。 RDE 3007は、 ルートディレ トリ直下に存 在するファイル、 ディレクトリの情報を格納する部分である。 また、 FAT300' 5、 3006は、 ファイルに含まれるデータの物理的な格納位置を示 す重要な領域であることから、 通常、 ファイルシステム管理領域内に 2つの 同じ情報を持つ FAT 3005、 3006が存在し、 二重化されている。 データ領域 3002は複数のクラス夕に分割され管理されており、 各クラ ス夕にはファイルに含まれるデ一夕が格納されている。 多くのデータを格納 するファイルなどは、 複数のクラスタに跨ってデータを格納しており、 各ク ラスタ間の繋がりは、 FAT 3005、 3006に格納されたリンク情報に より管理されている。
次に図 32を用いて FATファイルシステムにおけるデータ格納例を説明 する。 データ領域 3002は、 クラス夕と呼ばれる固定長プロック単位で管 理されており、 各クラス夕には 2から始まる昇順のクラスタ番号が付与され ている。 FAT 3005、 3006は各クラスタの使用状況と、 各クラスタ 間の繋がりを示すリンク情報を管理しており、 各クラスタ番号に対応した F ATエントリから構成される。 FATエントリは、 FATファイルシステム の種別により、 1クラスタあたり 1 2ビット、 1 6ビット、 32ビットの 3 種類のうち、 いずれかの大きさとなる。 図 32の例では 1 6ビットで 1ェン トリが表現される場合を示している。 FATエントリには、 次に繋がるクラ ス夕のクラスタ番号、 当該クラスタが空き領域であることを示す 0 X 000 0、 当該クラスタがリンク終端であることを示す 0 X F F F Fの.いずれかの 値が格納される。 図 32の拡大した図のポインタ 2〜 7で示す部分がクラス タ番号 2〜 7に対する FATエントリを示している。 この例では、 クラスタ 番号 2、 5、 7に対応する FATエントリに 0 X 0000が格納されており 、· これら 3つのクラスタが空き領域であることを示している。 また、 クラス 夕番号 3に対応する FATエントリに 0 X 0004、 クラスタ番号 4に対応 する. FATエントリに 0 x 0006、 クラスタ番号 6に対応する FATェン トリに 0 X F F F Fが格納されており、 クラスタ番号 3、 4、' 6の 3つのク ラスタにデータが分割して格納されていることを示している。
次に図 33、 図 34、 図 35を用いて FATファイルシステムにおけるフ アイルデ一夕の書き込み例を説明する。 図 33は書き込み処理を示すフロ一 チャート、 図 34は書き込み処理前のディレクトリエントリ 330 1、 F A T 300 5、 30 06、 データ領域 3002の一例を示した図である。 図 3 5は書き込み処理後のディレクトリエントリ 330 1、 FAT 3005 , 3 006、 データ領域 3002の一例を示した図である。 FATファイルシス テムでは、 ルートディレクトリエントリ 3007やデータ領域 3002の一 部に、 ファイル名やファイルサイズ、 ファイル属性などの情報を格納したデ ィレクトリエントリ 330 1が格納されている。 図 34 (a) はディレクト リエントリ 330 1の一例を示している。 このディレクトリエントリ 330 1で示されるファイルは、 ファイル名が F I L E 1. TXTであり、 クラス 夕番号 (C し No. ) 10からファイルのデータが格納されている。 また 、 ファイルサイズは 60000パイ トである。 図 34 (b) は対応クラスタ 番号 9〜 14の FATのデータの例が示されている。 又図 34 (c) は 1ク ラスタの大きさを 1 6384バイ 卜と仮定しており、 クラスタ 1 0〜 1 3の 4クラスタにまたがってファイル F I LE 1. T XTのデータが格納されて いる。
図 33は FATファイルシステムにおけるファイルデータ書き込みの処理 手順を示した図である。 図 33を用いて、 ファイルデータ書き込み処理を説 明する。 ファイルデータ書き込み処理では先ず始めに対象ファイルのディレ ク卜リエントリ 330 1を読み込む (S 330 1 ) 。 次に、 読み込んだディ レクトリエントリ 330 1に格納されたファイル開始クラスタ番号を取得し 、' ファイルデータの先頭位置を確認する (S 3302 ) 。 次に、 FAT 30 05、 3006を読み込み、 S 3302で取得したファイルデータの先頭位 置から順に FAT 3005、 3006上でリンクを迪り、 書き込み位置のク ラス夕番号を取得する (S 3303 ) 。 次に、 デ一夕書き込 に際し、 ファ ィルに新たに空き領域を割り当てる必要があるか判定する (S 3304) 。 -空き領域の割り当てが不要な場合 S 3306の処理に進む。 空き領域の割り 当てが必要な場合、 FAT 3005、 3006上で空き領域を検索し、 1ク ラスタの空き領域をファイルの終端に割り当てる (S 330 5) 。 次に、 現 在参照しているクラス夕内に書き込めるだけのデータをデータ領域 3002 に書き込む (S 330 6) 。 次に、 全データの書き込みが完了したか判定す る (S 3307 ) 。 まだデータが残っている場合、 S 3304の処理に戻る 。 全データの書き込みが完了した場合、 ディレクトリエントリ 330 1内に 格納されたファイルサイズやタイムスタンプなど.を更新し、 半導体メモリ力 ード 1 1 1に書き込む (S 3308 ) 。 最後に FAT 300 5、 3006を 半導体メモリカード 1 1 1に書き込み、 処理を完了する (S 3309 ) 。 このファイルデータ書き込み処理により、 図 34に示された 60000パ イ トのデータを持つファイル F I L E 1 · TXTに 1 0000バイトのデー 夕を更に書き込んだ場合、 図 35に示されるようにクラスタ番号 C 1. No 14に新たなデータが書き込まれて 70000バイ 卜のデータを持つフアイ ルに変化する。
このように F A Tファイルシステムでは、 ファイルデータの格納領域とし てクラスタ単位で領域割り当てが行われ、 データが格納される。 また、 1つ のファイルに割り当てられる複数のクラスタは必ずしも連続しているとは限 らず、 不連続な領域が割り当てられる可能性がある。 最悪の場合クラスタ単 位に分割された不連続領域にファイルデータを書き込むことになる。 この場 合、 半導体メモリ力一ド 1 1 1に対する 1回のアクセスサイズは 1クラスタ 以下の大きさとなり、 半導体メモリカード 1 1 1に対して最も高速にァクセ スするために必要なアクセス単位がクラスタサイズよりも大きい場合、 半導 体メモリカード 1 1 1の最高性能でアクセスすることができなくなる。 本実施例では、 半導体メモリカード 1 1 1からアクセス性能に関する情報 を取得し、 ファイルシステムの処理に使用することで、 半導体メモリカード
1 1 1に最適なアクセス方法でファイルアクセスする方法を提供する。
- 続いて本実施例におけるファイルシステムアクセス単位の決定処理につい て説明する。 ファイルシステムアクセス単位 (以下、 F Sアクセス単位とい う) とは、 ファイルシステムが領域管理を行う管理単位として通常使用する クラスタとは別に、 本実施例で新たに設けた管理単位である。 クラス夕の大 きさはファイルシステムを使用する機器間の互換性のため、 上限値が設けら れており、 容易に大きさを変更することはできない。 しかしながら半導体メ モリカード 1 1 1に最適にアクセスするために必要なアクセス単位はクラス 夕の上限サイズ以内の大きさであるとは限らない。 そのため本実施例では、 クラスタの他に、 半導体メモリカード 1 1 1から取得するアクセス性能に関 する情報に基づいて設定される F Sアクセス単位という新たな領域管理単位 を設け、 ファイルシステムの処理に使用する。 こうして既存のファイルシス テムとの互換性を保ちつつ、 半導体メモリ力一ド 1 1 1の特性に応じたァク セスが実現できるようにする。 '
図 3 6を用いて、 本実施例における F Sアクセス単位の決定処理について 説明する。 図 3 6は、 ファイルシステム制御部 1 0 6がアクセス条件決定部 1 0 7から F Sアクセス単位を取得する処理手順の一例を示した図である。 図 3 6において、 先ずファイルシステム制御部 1 0 6からアクセス条件決定 部 1 0 7へ F Sアクセス単位の取得を要求する (S 3 6 0 1 ) 。 次に、 ァク セス条件決定部 1 0 7からカード情報取得部 1 0 8へカード情報取得を要求 する (S 3 6 0 2 ) 。 次に、 実施例 1で説明したいずれかの方法を用いて、 カード情報取得部 1 0 8が半導体メモリカード 1 1 1からカード情報を取得 する (S 3 6 0 3 ) 。 カード情報の取得に失敗した場合、 カード情報取得部 1 0 8からアクセス条件決定部 1 0 7を経由してファイルシステム制御部 1 0 6にエラーを通知し、 処理を終了する (S 3 6 0 4, S 3 6 0 5 ) 。 取得 に成功した場合、 カード情報取得部 1 0 8からアクセス条件決定部 1 0 7へ カード情報を送信する (S 3 6 0 6 ) 。 次に、 アクセス条件 定部 1 0 7は カード使用条件格納部 1 1 0から、 アクセス装置 1 0 0が半導体メモリ力一 -ド 1 Γ 1にアクセスする際のアクセス条件や、 所望するアクセス速度値など の情報であるカード使用条件を取得する (S 3 6 0 7 ) 。 次に、 カード情報 、 カード使用条件を比較し、 カード使用条件に適した処理単位サイズが存在 するか判定する (S 3 6 0 8 ) 。 半導体メモリカード 1 1 1がカード使用条 件で示されたアクセス速度値を満たすことができない場合など、 適切な処理 単位サイズが存在しなかった場合、 ファイルシステム制御部 1 0 6にエラー を通知して処理を終了する (S 3 6 0 9 , S 3 6 1 0 ) 。 適切な処理単位サ ィズが存在した場合、 その処理単位サイズを F S.アクセス単位に決定し、 ァ クセス条件決定部 1 0 7からファイルシステム制御部 1 0 6へ送信し、 処理 を終了する (S 3 6 1 1 ) 。
このように本実施例では、 カード情報と、 カード使用条件を比較し、 半導 体メモリカード 1 1 1にアクセスする最適なアクセス単位として F Sァクセ ス単位を決定する。 例えば図 2 0 ( b ) に示すように、 入力クロック 2 5 M H z、 ライト処理においてシーケンシャルアクセスの際に、 1 6 K B単位で のアクセスでは 6MBZs、 1 2 8 KB単位でのアクセスでは 1 OMBZs のアクセス性能が標準値となる半導体メモリカード 1 1 1を想定する。 ここ でアクセス装置 1 0 0が 8 MBZ sのアクセス性能を必要とする場合、 F S アクセス単位を 1 2 8 KBと決定する。 そしてこの F Sアクセス単位毎に半 導体メモリカード 1 1 1にアクセスすることで、 所望のアクセス-性能を得る ことが可能となる。
また、 カード使用条件の一例としては、 図 1 4に示すようなアクセス条件 と、 アクセス速度値が挙げられる。 すなわち、 図 1 4 (a) のアクセス条件 は、 アクセス装置 1 0 0が半導体メモリカード 1 1 1に対して想定している アクセス方法に関する条件を示した情報であり、 図 14 (b) に示すァクセ ス速度値はこの条件で半導体メモリカード 1 1 1にアクセスした際に求める アクセス性能の値である。 これらアクセス性能に関する情報^アクセス装置
1 0 0が保持することで、 半導体メモリカード 1 1 1が自己の要求するァク
-セス性能を満たすことが可能か判定することが可能となる。
また、 図 3 6で示した処理手順は、 実施例 1で示した第 1の方法のように 、 アクセス装置 1 0 0がアクセス条件、 アクセス速度値に関する情報を入力 しない場合における処理手順である。 実施例 1で示した第 2の方法のように 、 アクセス装置 1 0 0がアクセス条件を入力する必要がある場合、 図 3 6の 処理においてステップ S 3 6 0 1と S 3 6 0 2の間に、 アクセス条件決定部 1 0 7がカード使用の条件格納部 1 1 0からカード使用条件を取得してカー ド情報取得部 1 0 8に通知するステップが付加される。
以下では、 図 36に示す処理手順により決定した F Sアクセス単位をファ ィルシステムの処理に使用するいくつかの方法について説明する。
第 1の方法として、 F Sアクセス単位を意識してファイルシステムをフォ 一マットする方法について説明する。 図 3 7は F Sアクセス単位を意識して ファイルシステムがフォーマツトされた場合の構成例を^す。 F Sアクセス 単位はここでは 1 2 8 KBとし、 クラスタサイズの倍数長となるよう設定す る。 ここでは 1クラスタを 16 KBとする。 図 37において管理情報領域 3 00 1は MB R · ΡΤ 3003、 PB S 3004、 FAT 300 5 , 300 6、 RDE 300 7である。 本実施例では、 管理情報領域 300 1の大きさ を調整し、 F Sアクセス単位の M倍数長 (Mは整数) になるように設定する 。 ここでは管理情報領域 300 1は図示のように 2つの F Sアクセス単位 F SAU— 0、 FSAU— 1にまたがり、 5 1 2セクタ (S) を用いている。 これにより、 データ領域 3002の先頭が F Sアクセス単位境界と一致し 、 以降のデータ領域 3002の領域管理を F Sアクセス単位で無駄なく実現 することが可能となる。 更に、 F Sアクセス単位はクラスタサイズの倍数長 となるように設定しているので、 データ領域 3002内の領域管理を F Sァ クセス単位倍数長で行いつつ、 クラスタ単位の領域管理と整合させることが 可能となる。 '
続いて第 2の方法として、 F Sアクセス単位を意識したファイルデータ書 -き込み'方法について説明する。 図 38は、 本方法におけるファイルデータ書 き込み処理手順を示した図である。 ファイルデータ書き込み処 aでは、 先ず 残り書き込みデータ長が F Sアクセス単位長以上存在するか判定する (S 3 80 1) 。 F Sアクセス単位長未満の場合、 S 3808の処理に進む。 FS アクセス単位長以上の場合、 半導体メモリカード 1 1 1への書き込みに先立 ち、 FSアクセス単位長のデータを作成する (S 3802 ) 。 次に、 F Sァ クセス単位長毎に FAT 3005、 3006上で空き領域を検索し、 F Sァ クセス単位内に含まれる領域が全て空きクラスタである領域を取得する (S 3803 ) 。 空き領域が存在しなかった場合、 エラーを通知し処理を終了す る (S 3 804, S 3805 ) 。 空き領域が存在した場合、 取得した空き領 域に F Sアクセス単位長のデータを一括して書き込む (S 3806 ) 。 次に 、 .全データの書き込みが完了したかどうかを判定する (S 380 7 ) 。 書き 込みが完了していない場合、 S 380 1の処理に戻る。 書き込みが完了した 場合、 処理を終了する。 また S 380 1で残りデータ長が F Sアクセス単位 未満と判定した場合、 F Sアクセス単位未満の残りデータを作成する (S 3 808 ) 。 次に、 S 3803のステップと同様に F Sアクセス単位内に含ま れる領域が全て空きクラスタである領域を取得する (S 3809 ) 。 空き領 域が存在しなかった場合、 エラーを通知し処理を終了する (S 38 1 0, S 38 1 1 ) 。 空き領域が存在した場合、 取得した空き領域に残りデータを一 括して書き込み、 処理を終了する (S 38 1 2) 。
ここでファイルデータ書き込み処理において、 F Sアクセス単位の空き領 域が存在しない場合、 書き込み処理をエラーとしたが、 F Sアクセス単位以 下の空き領域を取得しデータを書き込むようにしても良い。
図 39はデータ領域の使用状態の一例を示す図である。 この例では FSァ クセス単位 F S AU— 0にファイル F I LE 1のデータが書き込まれており 、 F Sアクセス単位 F S AU_ 1にディレクトリ D I R 1の儈報が書き込ま れている。 このようなデータ配置となっている場合、 本方法ではファイルデ -一夕書き込み領域として F Sアクセス単位 F SAU— 2の領域 (クラスタ番 号 C l . No. 1 8から 25までの領域) を選択する。 すなわち、 ファイル データや、 ディレクトリの情報が F Sアクセス単位内に 1クラス夕でも存在 する F Sアクセス単位 F S AU— 0や、 F Sアクセス単位 F S AU— 1の領 域はファイルデータ書き込み領域として使用しない。 従って、 ある程度大き なファイルサイズを有するファイルのデータに対しては、 必ず F Sアクセス 単位の連続領域が確保されるため、 半導体メモリカード 1 1 1に対して最適 なアクセス単位で高速にアクセスすることが可能となる。
続いて第 3の方法として、 F Sアクセス単位を意識したディレクトリ領域 の割り当て方法について説明する。 図 40, 図 41は、 本方法におけるディ レクトリ領域の割り当て処理の手順を示した図である。 ディレクトリ領域割 り当て処理では、 先ず現在参照位置をデータ領域先頭に設定する (S 400 1) 。 次に、 現在参照している FSアクセス単位内にディレクトリ領域が存 在するか判定する (S 4002) 。 存在しない場合、 S 4005の処理に進 む。 存在する場合、 現在参照している F Sアクセス単位内に空きクラスタが 存在するか判定する (S 4003) 。 空きクラス夕が存在しない場合、 S 4 00 5の処理に進む。 空きクラス夕が存在する場合、 その空きクラスタをデ ィレクトリ領域に割り当て、 処理を終了する (S 4004) 。 S 4002、 S 400 3の判定で領域が存在しなかった場合、 データ領域 3002の全て に対して確認が完了したか判定する (S 4005) 。 完了していない場合、 現在参照位置を次の F Sアクセス単位に設定し (S 4006) 、 S 4002 の処理に戻る。
• そして全領域の確認が完了した場合、 図 41において、 全データ領域 30 02から F Sアクセス単位内に含まれる領域が全て空きクラスタである領域 を取得する (S 400 7) 。 空き領域が存在する場合、 取得した領域に含ま れる 1つの空きクラスタをディレクトリ領域に割り当て、 処 ¾έ終了する ( S 4008, S 4009) 。 空き領域が存在しない場合、 全データ領域から 空きクラスタを取得する (S 40 1 0) 。 空きクラスタが存在しない場合、 エラーを通知して処理を終了する (S 40 1 1, S 40 1 2) 。 空き領域が 存在する場合、 取得した空きクラスタをディレクトリ領域に割り当て、 処理 を終了する (S 40 1 3) 。
図 42はデータ領域の使用状態の一例を示す図である。 図 42に示すよう に F Sアクセス単位 F S AU— 0にデータが含まれ、 F Sアクセス単位 F S AU— 1のクラスタ番号 10, 1 1にディレクトリ領域を含むデータ配置と なっているものとする。 この場合、 本方法では F Sアクセス単位 F S AU— 1に含まれる空きクラスタ、 即ちクラスタ番号 1 2〜 1 7にディレクトリを 割り当てる。 このようにディレクトリ領域を割り当てることで、 ディレクト リ領域が同一の F Sアクセス単位内に優先的に格納され、 結果的に F Sァク セス単位長の空き領域を生じ易くなる。 これにより、 第 2の方法によるファ ィルデー夕の連続領域確保が効果的に行えるようになる。'
続いて第 4の方法として、 F Sアクセス単位を意識したデフラグを行う方 法について説明する。 デフラグとは、 記録媒体内に分散配置されたファイル データを、 連続領域に配置されるように再配置し、 ファイルデータへのァク セスを高速に行えるようにする処理である。 本方法では、 このデフラグ処理 において、 F Sアクセス単位を意識したデフラグを行う。 図 43はデフラグ 処理前のデータ配置の一例を示した図である。 この例では、 3つの FSァク セス単位 FSAU— 0, F SAU— 1, F S A U— 2のいずれにもファイル データ、 あるいはディレクトリが格納されている。 そのため第 2の方法にお ける F Sアクセス単位の空き領域取得では、 空き領域を取得することができ ない。 ここで F Sアクセス単位を考慮したデフラグ処理により、 F Sァクセ ス単位 F S AU— 2に含まれるディレクトリ領域を F Sアクセス単位 F S A U— 1の空きクラスタ領域に移動し、 ディレクトリ領域を F Sアクセス単位 F SAU— 1に集める。 この処理を (1) で示す。 更に F STクセス単位 F SAU— 2のファイル (F I LE 2) のデ一夕を F Sアクセス単位 F S A U -- 0の空きクラスタ領域に移動し、 ファイルデータを F Sアクセス単位 F S AU— 0に集める。 この処理を (2) で示す。 その結果、 図 44に示すよう なデータ配置に変更され、 F Sアクセス単位 F S AU_ 2が全て空き領域と なり、 第 2の方法における F Sアクセス単位の空き領域取得で、 ファイルデ —夕用の空き領域として割り当てることが可能となる。
すなわち本方法では、 デフラグ処理において、 ディレクトリ領域を同一の F Sアクセス単位に集め、 更に F Sアクセス単位サイズ未満のファイルデー 夕を同一の F Sアクセス単位に集めることで、 可能な限り F Sアクセス単位 倍数長の空き領域を生成する。 これにより、 第 2の方法によるファイルデー 夕の連続領域確保が効果的に行えるようになる。 また、 記録媒体内でフアイ ルデ一夕格納などに使用されている全領域を 1つの連続領域に併合し空き領 域全体を 1つの連続領域とする必要はなく、 あくまで F Sアクセス単位倍数 長の空き領域を生成するようにデフラグ処理を行うことで、 デフラグ処理に かかる時間を短縮することができる。 続いて第 5の方法として、 F Sアクセス単位の残り空き領域長を取得する 方法について説明する。 図 4 5は、 本方法における残り空き領域長取得処理 手順を示した図である。 残り空き領域長取得処理において、 先ず空き F Sァ クセス単位数に 0を設定する (S 4 5 0 1 ) 。 次に、 現在参照位置をデータ 領域先頭に設定する (S 4 5 0 2 ) 。 次に現在参照している F Sアクセス単 位内が全て空きクラスタであるか判定する (S 4 5 0 3 ) 。 全て空きクラス 夕であった場合、 空き F Sアクセス単位数に 1加算する (S 4 5 0 4 ) 。 次 に全領域の確認が完了したか判定する (S 4 5 0 5 ) 。 完了レていない場合 、'現在参照位置を次の F Sアクセス単位に設定し、 S 4 5 0 3の処理に戻る ( S 4 5 0 6 ) 。 完了している場合、 空き F Sアクセス単位数に格納されて いる数値をパイ ト数に換算し、 アプリケーションプログラム 1 0 5に通知し て、 処理を終了する (S 4 5 0 7 ) 。
ここでは残り空き領域長取得処理において、 残り空き領域長をパイト数に 換算して通知する例を示したが、 残り空き領域長が正しく認識できればセク タ数ゃクラスタ数に換算して通知しても良い。
図 4 6はデータ領域 3 0 0 2のデータの配置状態を示す図であり、 使用中 のクラスタをハッチングで示している。 このようにデータ配置が成されてい る場合には、 本方法の残り空き領域長取得処理では、 図示のように 3つの空 き連続領域 (S E E ) が存在する。 このため F Sアクセス単位内の全ての領 域が空きクラスタである 3つの F Sアクセス単位 F S A U— 1, F S A U— 3, F S A U— 5を空き領域と判定する。
本方法では、 このように F Sアクセス単位長の空き領域の個数を算出し、 アプリケ一ションプログラム 1 0 5に通知することで、 アプリケーションプ ログラム 1 0 5が F Sアクセス単位の残り空き領域長を認識することが可能 となる。 これにより、 アクセス装置 1 0 0が必要とするアクセス性能を満た したアクセスを F Sアクセス単位毎に行う際に、 そのアクセス性能で残りど れだけのデータを書き込めるか認識することが可能となる。 以上、 説明したように実施例 2におけるアクセス装置 1 0 0は、 半導体メ モリカード 1 1 1からアクセス性能に関する情報を取得し、 最適なアクセス 単位を決定し、 ファイルシステムの処理にそのアクセス単位を使用する。 こ れにより、 アクセス装置 1 0 0が半導体メモリカード 1 1 1に対して最適な アクセス方法でアクセスすることが可能となり、 半導体メモリカード 1 1 1 の最高性能を引き出すことが可能となる。
尚、 実施例 2では、 ファイルシステム制御部 1 0 6以下を全てアクセス装 置 1 0 0の R O M 1 0 4上のプログラムで実現している例について記載した が、 それら機能の全て、 あるいは一部をハードウェア化し、 アクセス装置 1 0 0に付加した構成としても良い。 例えば、 図 4 7に示すように、 R O M 1
0 4.内にはアプリケ一ションプログラム 1 0 5のみを格納し、 ファイルシス テム制御部 1 0 6、 アクセス条件決定部 1 0 7、 カード情報 得部 1 0 8、 アクセス制御部 1 0 9、 条件格納部 1 1 0をハードウェア化し、 半導体メモ
-リカ ド制御 L S I 4 7 0 1としてアクセス装置 1 0 0に付加する構成とし ても良い。 図 4 7で示した構成は一例であり、 半導体メモリカード制御 L S
1 4 7 0 1に F Sアクセス単位を設定することで、 以降の半導体メモリカー ド 1 1 1に対するデータ転送を自動的に F Sアクセス単位にまとめてデータ 送信する機能など、 本実施例で説明した機能の一部のみをハードウェア化し ても良い。 また、 本実施例ではファイルシステムの一例として F A Tフアイ ルシステムを用いて説明したが、 一定の管理単位サイズ毎に領域管理を行う ファイルシステムであれば、 U D Fなど他のファイルシステムを用いても良 い。 産業上の利用の可能性
本発明に関わる半導体メモリカード、 アクセス装置及びアクセス方法は、 アクセス装置側、 半導体メモリ力一ド側のいずれか、 あ ¾いは両者の処理を 最適化することにより、 半導体メモリカードに対する高速アクセスを実現す ることができる。 このような半導体メモリカード、 及びアクセス装置または 方法は、 半導体メモリカードを記録媒体として使用するデジタル A V機器や 携帯電話端末、 デジタルカメラ、 P C等に利用できる。 また、 転送レートの 高い高品質 A Vデータを記録する記録媒体、 及び機器に使用する場合、 特に 好適に機能する。

Claims

請 求 の 範 囲
1 . アクセス装置に接続されて使用される半導体メモリカードであって、 制御信号及びデータをアクセス装置に対して送信し、 アクセス装置からの 信号を受信するホストインターフェース部と、
複数の連続するセクタがデータ消去の最小単位である消去ブロックとして グループ化され、 ァドレス管理情報領域とユーザデ一夕領域とを含む不揮発 性メモリと、
前記不揮発性メモリに対するデータの消去、 書き込み、 読み出しを制御す るメモリコントローラと、
前記不揮発性メモリのアクセス性能に関する情報を格納するカード情報格 納部.を含む力一ド情報格納用のメモリと、
前記ィンターフェース部を介して得られた制御信号に基づ て各部を制御 すると共に、 前記力一ド情報格納部のアクセス性能に関する情報を読み出し -、 前記アクセス装置に伝送する制御部と、 を具備することを特徴とする半導 体メモリ力一ド。
2 . 前記カード情報格納部は、
前記半導体メモリカード内部の物理特性に関する第 1の情報に加えて、 前記半導体メモリカードにアクセスする際のアクセス条件に関する第 2の 情報と、
前記半導体メモリカードのアクセス速度に関する第 3の情報と、 前記半導体メモリカードの異常処理に関する第 4の情報と、 のうち、 少な くとも 1つの情報を格納することを特徴とする請求項 1記載の半導体メモリ カード。
3 . 前記カード情報格納部の第 3の情報は、
前記アクセス速度に関する情報として、 前記半導体メモリカードの速度性 能を示すフラグを含むことを特徴とする請求項 2記載の半導体メモリ力一ド
4 . 前記カード情報格納部は、 少なくとも
前記半導体メモリカード内部の物理特性に関する第 1の情報と-、 前記半導体メモリカードにアクセスする際のアクセス条件に関する第 2の 情報と、
前記半導体メモリカードのアクセス速度に関する第 3の情報と、 を格納す ることを特徴とする請求項 1記載の半導体メモリカード。
5 . 前記制御部は、
' 前記アクセス装置からの要求に応じ、 前記半導体メモリカードにアクセス するためのアクセス条件に関する情報、 及び前記アクセス条件で半導体メモ -リカ一'ドにアクセスした際におけるアクセス速度に関する情報を前記カード 情報格納部より読み出して、 前記アクセス装置に送信することを特徴とする 請求項 4記載の半導体メモリ力一ド。
6 . 前記制御部は、
前記アクセス装置が指定したアクセス条件に関する情報に応じ、 前記ァク セス条件で前記半導体メモリ力一ドにアクセスした際におけるアクセス速度 に関する情報を前記カード情報格納部より読み出して、 前記アクセス装置に 送信することを特徴とする請求項 4記載の半導体メモリカード。
7 . 前記制御部は、
前記アクセス装置が指定したアクセス速度に関する情報に応じ、 前記ァク セス速度を満たすために必要となる前記半導体メモリカードへのアクセス条 件に関する情報を前記力一ド情報格納部より読み出して、 前記アクセス装置 に送信することを特徴とする請求項 4記載の半導体メモリカード。
8 . 前記制御部は、
前記アクセス装置が指定したアクセス条件に関する情報と、 アクセス速度 に関する情報を前記カード情報格納部より読み出して前記アクセス条件で前 記半導体メモリカードにアクセスした際に、 前記アクセス速度が満たされる か否か判定し、 判定結果を前記アクセス装置に送信することを特徴とする請 求項 4記載の半導体メモリカード。
9 . 前記カード情報格納部の第 3の情報は、
前記アクセス速度に関する情報として、 前記半導体メモリカードの速度性 能を示すフラグを含むことを特徴とする請求項 4記載の半導体メモリカード
1 0 . 前記カード情報格納部は、
前記第 3の情報として、 前記半導体メモリカードの消費電力量の複数のレ ベルについて前記半導体メモリのアクセス速度に関する情報を有するもので あり、
前記制御部は、
前記アクセス装置からの要求及び消費電力量レベルの指定に応じ、 前記半 導体メモリ力一ドにアクセスするためのアクセス条件に関する情報、 及び前 記アクセス条件で半導体メモリカードにアクセスした際におけるアクセス速 度に関する情報を前記カード情報格納部より読み出して、 前記アクセス装置 に送信することを特徴とする請求項 4記載の半導体メモリカード。
1 1 . 前記カード情報格納部ば、
前記第 3の情報として、 前記半導体メモリカードの消費電力量の複数のレ ベルについて前記半導体メモリのアクセス速度に関する情報を有するもので あり、
前記制御部は、
前記アクセス装置が指定したアクセス条件に関する情報及び消費電力量レ ベルの指定に応じ、 前記アクセス条件及び指定電力量レベルで前記半導体メ モリ力一ドにアクセスした際におけるアクセス速度に関する情報を前記力一 ド情報格納部より読み出して、 前記アクセス装置に送信することを特徴とす る請求項 4記載の半導体メモリカード。
1 2 . 前記カード情報格納部は、
前記第 3の情報として、 前記半導体メモリカードの消費電力量の複数のレ ベルについて前記半導体メモリのアクセス速度に関する情報を有するもので あり、
- 前記制御部は、
前記アクセス装置が指定したアクセス速度及び消費電力量レベルの指定に 関する情報に応じ、 前記アクセス速度を満たすために必要となる前記半導体 メモリカードへのアクセス条件に関する情報を前記カード情報格納部より読 み出して、 前記アクセス装置に送信することを特徴とする請求項 4記載の半 導体メモリカード。
1 3 . 前記カード情報格納部は、
前記第 3の情報として、 前記半導体メモリカードの消費電力量の複数のレ ベルについて前記半導体メモリのアクセス速度に関する情報を有するもので あり、
前記制御部は、
前記アクセス装置が指定した 7クセス条件に関する情報及び消費電力量レ ベルの指定と、 アクセス速度に関する情報を前記カード情報格納部より読み 出して、 前記アクセス条件及び指定した電力量レベルで前記半導体メモリ力 ードにアクセスした際に、 前記アクセス速度が満たされるか否か判定し、 判 定結果を前記アクセス装置に送信することを特徴とする請求項.4記載の半導 体メモリカード。
1 4 . 前記カード情報格納部は、
前記半導体メモリカードのカード内部の各種の処理時間と処理単位サイズ をアクセス方法に応じて保持するアクセス性能基礎情報表を有するものであ 前記制御部は、 前記アクセス装置からの要求に応じて前記アクセス性能基 礎情報表を前記アクセス装置に送信することを特徴とする請求項 1記載の半 導体メモリ力一ド。
- 1 5 '. 前記カード情報格納部は、
前記半導体メモリカードの処理単位サイズ、 アクセス方法、 及び処理内容 を含むアクセス条件を変化させた場合におけるアクセス速度を保持するもの であり、
前記制御部は、 前記アクセス装置からの要求に応じて当該アクセス速度に 関する情報を前記アクセス装置に送信することを特徴とする請求項 1記載の 半導体メモリカード。 ·
1 6 . 複数の連続するセクタがデータ消去の最小単位であるブロックとし てグループ化されており、 格納されたデータがファイルシステムにより管理 されている半導体メモリカードにアクセスするアクセス装置であって、 装着された前記半導体メモリカードのアクセス性能に関する情報を前記半 導体メモリカードから取得するカード情報取得部と、
前記アクセス装置が前記半導体メモリカードにアクセスする際に使用可能 なアクセス条件に関する情報と、 半導体メモリカードに求めるアクセス速度 に関する情報を格納するカード使用条件格納部と、
前記カード情報取得部が取得した前記半導体メモリカードのアクセス性能 に関する情報と、 前記カード使用条件格納部に格納された情報から、 ァクセ ス条件を決定するアクセス条件決定部と、
前記アクセス条件決定部が決定したアクセス条件を取得し、 ·前記アクセス 条件に適合したファイルアクセスを行うファイルシステム制御部と、 前記ファイルシステム制御部からのアクセス要求に応じて前記半導体メモ リカードにアクセスするアクセス制御部と、 を具備することを特徴とするァ クセス装置。
' 1 7 . 前記アクセス条件決定部は、
前記アクセス条件に応じて、 前記半導体メモリカードから取得したァクセ -ス性能に関する情報に基づいて、 半導体メモリカードの領域をファイルシス テムアクセス単位 (以下、 F Sアクセス単位という) に分割することを特徴 とする請求項 1 6記載のアクセス装置。
1 8 . 前記ファイルシステム制御部は、
前記半導体メモリカードに対してファイルデータを記録するとき、 前記半 導体メモリカード上に構築されたファイルシステムの管理情報を基に、 前記 F Sアクセス単位の倍数長の連続空き領域を決定し、
前記決定した連続空き領域にファイルデータを記録することを特徴とする 請求項 1 7記載のアクセス装置。 1 9 . 前記ファイルシステム制御部は、
前記半導体メモリカードに対して新しいフアイル管理情報を記録する際に 、 前記半導体メモリカード上に構築されたファイルシステムの管理情報を基 に、 前記 F Sアクセス単位の領域内に既に別のファイル管理情報が記録され ており、 かつ新しいファイル管理情報を書き込む空き領域が存在するかどう かを判断し、 存在する場合に、 前記空き領域をファイル管理情.報の書き込み 位置として決定し、 前記決定した空き領域にファイル管理情報を記録するこ とを特徴とする請求項 1 7記載のアクセス装置。
2 0 . 前記ファイルシステム制御部は、
前記半導体メモリカード上に構築されたファイルシステムの管理情報を基 に、 前記複数の F Sアクセス単位の領域が部分的に使用されている場合、 部 分的に使用されている F Sアクセス単位の使用領域のデータを他の F Sァク セス単位の未使用領域に移動させることを特徴とする請求項 1 7'記載のァク セス装置。
- 2 1 : 前記ファイルシステム制御部は、
前記半導体メモリカード上に構築されたファイルシステムの管理情報を基 に、 前記 F Sアクセス単位の領域が全て空き領域である領域の個数を算出す ることを特徴とする請求項 1 7記載のアクセス装置。
2 2 . 複数の連続するセクタがデータ消去の最小単位であるブロックとし てグループ化されており'、 格納されたデ一夕がファイルシステムにより管理 されている半導体メモリカードにアクセスするアクセス方法であって、 前記半導体メモリカードにアクセスする際に使用可能なアクセス条件に関 する情報と、 半導体メモリ力一ドに求めるアクセス速度に関する情報を格納 するカード使用条件格納ステップと、
装着された前記半導体メモリカードのアクセス性能に関する情報を前記半 導体メモリカードから取得する力一ド情報取得ステップと、
前記カード情報取得ステップが取得した前記半導体メモリカードのァクセ ス性能に関する情報と、 前記カード使用条件格納ステップで格納した情報か ら、 アクセス条件を決定するアクセス条件決定ステップと、
前記アクセス条件決定ステップで決定したアクセス条件を!^得し、 前記ァ クセス条件に適合するように前記半導体メモリカードのファイルにアクセス するファイルシステム制御ステップと、 を具備することを特徴とするァクセ ス方法。
2 3 . 前記アクセス条件決定ステップは、
' 前記アクセス条件に応じて、 前記半導体メモリカードにアクセスする際に 用いられるサイズであるファイルシステムアクセス単位 (以下、 F Sァクセ ス単位という) を決定することを特徴とする請求項 2 2記載のアクセス方法
- 2 4'. 前記ファイルシステム制御ステップは、
前記半導体メモリカードに対してファイルデータを記録するとき、 前記半 導体メモリカード上に構築されたファイルシステムの管理情報を基に、 前記 F Sアクセス単位の倍数長の連続空き領域を決定し、
前記決定した連続空き領域にファイルデータを記録することを特徴とする 請求項 2 3記載のアクセス方法。
2 5 . 前記ファイルシステム制御ステップは、
前記半導体メモリカードに対して新しいファイル管理情報を記録する際に 、 前記半導体メモリカード上に構築されたファイルシステムの管理情報を基 に、 前記 F Sアクセス単位の領域内に既に別のファイル管理情報が記録され ており、 かつ新しいファイル管理情報を書き込む空き領域が存在するかどう かを判断し、
存在する場合に、 前記空き領域をファイル管理情報の書き込み位置として 決定し、
前記決定した空き領域にファイル管理情報を記録することを特徴とする請 求項 2 3記載のアクセス方法。 2 6 . 前記ファイルシステム制御ステップは、
前記半導体メモリカード上に構築されたファイルシステムの管理情報を基 に、 前記複数の F Sアクセス単位の領域が部分的に使用されている場合、 部 分的に使用されている F Sアクセス単位の使用領域のデータを他の F Sァク セス単位の未使用領域に移動させることを特徴とする請求項 2 3記載のァク セス方法。
2 7 . 前記ファイルシステム制御ステップは、
前記半導体メモリカード上に構築されたファイルシステムの管理情報を基 -に、 前記アクセス単位の領域が全て空き領域である領域の大きさを算出し、 前記半導体メモリカードの空き領域長としてアプリケーシヨンプログラム に算出した値を通知することを特徴とする請求項 2 3記載のアクセス方法。
PCT/JP2004/011427 2003-08-06 2004-08-03 半導体メモリカード、アクセス装置及びアクセス方法 WO2005015406A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CNB2004800225315A CN100422956C (zh) 2003-08-06 2004-08-03 半导体存储卡、存取装置和存取方法
KR1020067001319A KR100749298B1 (ko) 2003-08-06 2004-08-03 반도체 메모리 카드, 액세스 장치 및 액세스 방법
JP2005512984A JP4647492B2 (ja) 2003-08-06 2004-08-03 半導体メモリカード、アクセス装置及びアクセス方法
EP04771414.2A EP1653362B1 (en) 2003-08-06 2004-08-03 Accessing device and method for a semiconductor memory card
US10/567,241 US8161225B2 (en) 2003-08-06 2004-08-03 Semiconductor memory card, access device and method

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2003287914 2003-08-06
JP2003-287914 2003-08-06
JP2003-325811 2003-09-18
JP2003325811 2003-09-18

Publications (1)

Publication Number Publication Date
WO2005015406A1 true WO2005015406A1 (ja) 2005-02-17

Family

ID=34137917

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/011427 WO2005015406A1 (ja) 2003-08-06 2004-08-03 半導体メモリカード、アクセス装置及びアクセス方法

Country Status (7)

Country Link
US (1) US8161225B2 (ja)
EP (1) EP1653362B1 (ja)
JP (1) JP4647492B2 (ja)
KR (1) KR100749298B1 (ja)
CN (1) CN100422956C (ja)
TW (1) TW200525353A (ja)
WO (1) WO2005015406A1 (ja)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006030966A2 (en) * 2004-09-15 2006-03-23 Kabushiki Kaisha Toshiba File storage device, host apparatus, method of formatting nonvolatile semiconductor memory, and method of writing data in nonvolatile semiconductor memory
JP2006178923A (ja) * 2004-07-12 2006-07-06 Toshiba Corp 記憶デバイスおよびホスト機器
JP2006252137A (ja) * 2005-03-10 2006-09-21 Matsushita Electric Ind Co Ltd 不揮発性記憶装置の最適化方法
JP2006285669A (ja) * 2005-03-31 2006-10-19 Toshiba Corp ホスト機器
JP2007257061A (ja) * 2006-03-20 2007-10-04 Sony Corp データ記憶装置及びデータアクセス方法
WO2008013227A1 (fr) 2006-07-26 2008-01-31 Panasonic Corporation dispositif de stockage non volatil, dispositif d'accès et système de stockage non volatil
WO2008018446A1 (fr) * 2006-08-08 2008-02-14 Panasonic Corporation Contrôleur de mémoire, dispositif de mémoire non-volatile, dispositif d'accès, et système de mémoire non-volatile
JP2008067331A (ja) * 2006-09-11 2008-03-21 Canon Inc 情報処理装置
JP2008204222A (ja) * 2007-02-21 2008-09-04 Toshiba Corp 不揮発性メモリシステム
US20090024785A1 (en) * 2004-12-24 2009-01-22 Fujitsu Limited Method and program for file information write processing
JP2010519626A (ja) * 2007-02-16 2010-06-03 モスエイド テクノロジーズ インコーポレイテッド 1つもしくはそれ以上のメモリ装置を有するシステム
WO2010113596A1 (en) * 2009-04-03 2010-10-07 Nec Corporation Power negotiation in a communications device
JP2010535375A (ja) * 2007-08-01 2010-11-18 エヌエックスピー ビー ヴィ Mifareメモリをデフラギングするモバイル通信装置及び方法
WO2011128954A1 (ja) * 2010-04-16 2011-10-20 パナソニック株式会社 記録再生装置
JP2012515955A (ja) * 2009-01-21 2012-07-12 マイクロン テクノロジー, インク. 固体メモリフォーマッティング
JP2012523052A (ja) * 2009-04-02 2012-09-27 クアルコム,インコーポレイテッド メモリ用の複数電力モードシステムおよび方法
JP2012190075A (ja) * 2011-03-08 2012-10-04 Clarion Co Ltd 更新差分データ作成装置、データ更新システムおよび更新差分データ作成プログラム
US8539140B2 (en) 2004-07-12 2013-09-17 Kabushiki Kaisha Toshiba Storage device including flash memory and capable of predicting storage device performance based on performance parameters
US8812768B2 (en) 2007-02-16 2014-08-19 Conversant Intellectual Property Management Inc. System having one or more memory devices
JP2018060321A (ja) * 2016-10-04 2018-04-12 富士通株式会社 メモリ制御装置、情報処理装置、およびメモリ制御方法
JP2020119329A (ja) * 2019-01-24 2020-08-06 凸版印刷株式会社 半導体装置、制御方法、およびプログラム
WO2022157998A1 (ja) * 2021-01-19 2022-07-28 キオクシア株式会社 リムーバブルメモリデバイス
WO2023176177A1 (ja) * 2022-03-16 2023-09-21 パナソニックIpマネジメント株式会社 メモリーカードおよびホスト機器

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
DE102006025133A1 (de) * 2006-05-30 2007-12-06 Infineon Technologies Ag Speicher- und Speicherkommunikationssystem
KR100758301B1 (ko) * 2006-08-04 2007-09-12 삼성전자주식회사 메모리 카드 및 그것의 데이터 저장 방법
KR100845527B1 (ko) * 2006-12-06 2008-07-10 삼성전자주식회사 메모리 장치 및 메모리 컨트롤러의 클럭 싸이클 제어방법
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
US9495116B2 (en) * 2007-12-26 2016-11-15 Sandisk Il Ltd. Storage device coordinator and a host device that includes the same
WO2010001606A1 (ja) * 2008-07-02 2010-01-07 パナソニック株式会社 コントローラ、情報記録装置、アクセス装置、情報記録システム、及び情報記録方法
KR101541442B1 (ko) * 2008-11-04 2015-08-03 삼성전자주식회사 메모리 및 프로세서를 포함하는 컴퓨팅 시스템
WO2010119808A1 (ja) * 2009-04-15 2010-10-21 シャープ株式会社 製品の製造方法および製造システム
KR20110032606A (ko) * 2009-09-23 2011-03-30 삼성전자주식회사 전자 디바이스의 성능 개선을 위한 전자 디바이스 컨트롤러
JP2012173814A (ja) * 2011-02-17 2012-09-10 Canon Inc 情報処理装置及び情報処理装置を制御する制御方法
JP6260407B2 (ja) * 2014-03-28 2018-01-17 富士通株式会社 ストレージ管理装置、性能調整方法及び性能調整プログラム
TWI557556B (zh) * 2015-11-20 2016-11-11 宇帷國際股份有限公司 電子裝置
CN110534151B (zh) * 2018-05-24 2021-06-08 深圳忆联信息***有限公司 实现写入前擦除的方法、装置、计算机设备及存储介质
CN108984330B (zh) * 2018-05-31 2021-05-11 深圳市江波龙电子股份有限公司 一种控制存储设备的方法、装置及电子设备
US11249648B2 (en) 2019-07-26 2022-02-15 Kioxia Corporation Transfer and processing unit for IOD SSD
CN114063906B (zh) * 2021-10-15 2022-05-17 北京得瑞领新科技有限公司 Nand闪存中物理块的管理方法、装置及ssd设备
US20240220108A1 (en) * 2022-12-29 2024-07-04 Advanced Micro Devices, Inc. Automated Memory Overclocking

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06350907A (ja) * 1993-06-07 1994-12-22 Fuji Photo Film Co Ltd 電子スチルカメラ
JPH0728968A (ja) * 1993-06-30 1995-01-31 Intel Corp 自動電源構成による不揮発性メモリ・カード
JPH1069420A (ja) * 1996-08-29 1998-03-10 Sony Corp 情報記録装置、情報記録再生装置、情報記録方法および情報再生方法
JP2000122923A (ja) * 1998-07-13 2000-04-28 Sony Corp 記録装置および記録方法、再生装置および再生方法、記録媒体、並びにプログラム記録媒体
JP2001036904A (ja) * 1999-07-16 2001-02-09 Fuji Photo Film Co Ltd 信号処理装置
JP2001184257A (ja) * 1999-10-12 2001-07-06 Sony Computer Entertainment Inc エンタテインメント装置、情報処理装置、及び、可搬型記録装置
JP2001231001A (ja) * 2000-02-16 2001-08-24 Olympus Optical Co Ltd 電子カメラ装置
JP2001245249A (ja) * 2000-02-28 2001-09-07 Minolta Co Ltd デジタルカメラ
US20020031349A1 (en) 2000-08-29 2002-03-14 Nikon Corporation Data recorder, electronic camera, and recording medium
JP2002091806A (ja) * 2000-09-20 2002-03-29 Olympus Optical Co Ltd ファイルシステム
JP2003308240A (ja) * 2002-04-15 2003-10-31 Sony Corp データ記憶装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63228281A (ja) 1987-03-17 1988-09-22 Nec Corp メモリカ−ド
JP2579170B2 (ja) 1987-09-18 1997-02-05 日立マクセル株式会社 メモリカード
JP2768618B2 (ja) * 1992-08-28 1998-06-25 シャープ株式会社 半導体ディスク装置
CN1053507C (zh) * 1994-10-07 2000-06-14 邵通 计算机硬盘读写控制装置
JPH07320018A (ja) 1994-05-26 1995-12-08 Canon Inc メモリカード並びにメモリカードを使用する電子機器およびメモリカードのアクセススピード設定方法
EP1674974A3 (en) * 1994-06-07 2007-03-21 Hitachi, Global Storage Technologies Japan, Ltd. Information storing device
US6438086B1 (en) * 1998-07-13 2002-08-20 Sony Corporation Recording apparatus and method, reproducing apparatus and method, and recording medium
US6442682B1 (en) * 1999-02-18 2002-08-27 Auspex Systems, Inc. Characterization of data access using file system
WO2000050997A1 (fr) * 1999-02-22 2000-08-31 Hitachi, Ltd. Carte memoire, procede d'affectation d'adresse logique, et procede d'ecriture de donnees
JP2001029101A (ja) 1999-07-21 2001-02-06 Fujiki Tatsuo 裏布付きゴム製長靴及びその製造方法
JP3992960B2 (ja) * 2000-10-26 2007-10-17 松下電器産業株式会社 記録装置及びプログラム
JP4812192B2 (ja) * 2001-07-27 2011-11-09 パナソニック株式会社 フラッシュメモリ装置、及び、それに記憶されたデータのマージ方法
JP2003058417A (ja) * 2001-08-21 2003-02-28 Matsushita Electric Ind Co Ltd 記憶装置

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06350907A (ja) * 1993-06-07 1994-12-22 Fuji Photo Film Co Ltd 電子スチルカメラ
US5434618A (en) 1993-06-07 1995-07-18 Fuji Photo Film Co., Ltd. Electronic still camera operable with a removably mounted storage medium
JPH0728968A (ja) * 1993-06-30 1995-01-31 Intel Corp 自動電源構成による不揮発性メモリ・カード
JPH1069420A (ja) * 1996-08-29 1998-03-10 Sony Corp 情報記録装置、情報記録再生装置、情報記録方法および情報再生方法
JP2000122923A (ja) * 1998-07-13 2000-04-28 Sony Corp 記録装置および記録方法、再生装置および再生方法、記録媒体、並びにプログラム記録媒体
JP2001036904A (ja) * 1999-07-16 2001-02-09 Fuji Photo Film Co Ltd 信号処理装置
JP2001184257A (ja) * 1999-10-12 2001-07-06 Sony Computer Entertainment Inc エンタテインメント装置、情報処理装置、及び、可搬型記録装置
JP2001231001A (ja) * 2000-02-16 2001-08-24 Olympus Optical Co Ltd 電子カメラ装置
JP2001245249A (ja) * 2000-02-28 2001-09-07 Minolta Co Ltd デジタルカメラ
US20020031349A1 (en) 2000-08-29 2002-03-14 Nikon Corporation Data recorder, electronic camera, and recording medium
JP2002091806A (ja) * 2000-09-20 2002-03-29 Olympus Optical Co Ltd ファイルシステム
JP2003308240A (ja) * 2002-04-15 2003-10-31 Sony Corp データ記憶装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1653362A4

Cited By (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8539140B2 (en) 2004-07-12 2013-09-17 Kabushiki Kaisha Toshiba Storage device including flash memory and capable of predicting storage device performance based on performance parameters
JP2006178923A (ja) * 2004-07-12 2006-07-06 Toshiba Corp 記憶デバイスおよびホスト機器
USRE47638E1 (en) 2004-07-12 2019-10-08 Toshiba Memory Corporation Storage device including flash memory and capable of predicting storage device performance based on performance parameters
US9244620B2 (en) 2004-07-12 2016-01-26 Kabushiki Kaisha Toshiba Storage device including flash memory and capable of predicting storage device performance based on performance parameters
US9026723B2 (en) 2004-07-12 2015-05-05 Kabushiki Kaisha Toshiba Storage device including flash memory and capable of predicting storage device performance based on performance parameters
US8832361B2 (en) 2004-07-12 2014-09-09 Kabushiki Kaisha Toshiba Storage device including flash memory and capable of predicting storage device performance based on performance parameters
WO2006030966A2 (en) * 2004-09-15 2006-03-23 Kabushiki Kaisha Toshiba File storage device, host apparatus, method of formatting nonvolatile semiconductor memory, and method of writing data in nonvolatile semiconductor memory
US7822931B2 (en) 2004-09-15 2010-10-26 Kabushiki Kaisha Toshiba File storage device, host apparatus, method for formatting nonvolatile semiconductor memory, and method of writing data in nonvolatile semiconductor memory
WO2006030966A3 (en) * 2004-09-15 2006-11-30 Toshiba Kk File storage device, host apparatus, method of formatting nonvolatile semiconductor memory, and method of writing data in nonvolatile semiconductor memory
US8468290B2 (en) * 2004-12-24 2013-06-18 Fujistu Semiconductor Limited Method and program for file information write processing
US20090024785A1 (en) * 2004-12-24 2009-01-22 Fujitsu Limited Method and program for file information write processing
JP2006252137A (ja) * 2005-03-10 2006-09-21 Matsushita Electric Ind Co Ltd 不揮発性記憶装置の最適化方法
US7543103B2 (en) 2005-03-31 2009-06-02 Kabushiki Kaisha Toshiba Host apparatus
JP2006285669A (ja) * 2005-03-31 2006-10-19 Toshiba Corp ホスト機器
JP2007257061A (ja) * 2006-03-20 2007-10-04 Sony Corp データ記憶装置及びデータアクセス方法
WO2008013227A1 (fr) 2006-07-26 2008-01-31 Panasonic Corporation dispositif de stockage non volatil, dispositif d'accès et système de stockage non volatil
CN101479745B (zh) * 2006-07-26 2011-08-03 松下电器产业株式会社 非易失性存储装置、存取装置及非易失性存储***
JPWO2008013227A1 (ja) * 2006-07-26 2009-12-17 パナソニック株式会社 不揮発性記憶装置、アクセス装置、及び不揮発性記憶システム
US8661186B2 (en) 2006-07-26 2014-02-25 Panasonic Corporation 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
US8452915B2 (en) 2006-08-08 2013-05-28 Panasonic Corporation Memory controller, nonvolatile memory device, access device, and nonvolatile memory system
WO2008018446A1 (fr) * 2006-08-08 2008-02-14 Panasonic Corporation Contrôleur de mémoire, dispositif de mémoire non-volatile, dispositif d'accès, et système de mémoire non-volatile
JP2008067331A (ja) * 2006-09-11 2008-03-21 Canon Inc 情報処理装置
JP2010519626A (ja) * 2007-02-16 2010-06-03 モスエイド テクノロジーズ インコーポレイテッド 1つもしくはそれ以上のメモリ装置を有するシステム
US8812768B2 (en) 2007-02-16 2014-08-19 Conversant Intellectual Property Management Inc. System having one or more memory devices
JP2008204222A (ja) * 2007-02-21 2008-09-04 Toshiba Corp 不揮発性メモリシステム
JP2010535375A (ja) * 2007-08-01 2010-11-18 エヌエックスピー ビー ヴィ Mifareメモリをデフラギングするモバイル通信装置及び方法
JP2012515955A (ja) * 2009-01-21 2012-07-12 マイクロン テクノロジー, インク. 固体メモリフォーマッティング
US9626287B2 (en) 2009-01-21 2017-04-18 Micron Technology, Inc. Solid state memory formatting
JP2012523052A (ja) * 2009-04-02 2012-09-27 クアルコム,インコーポレイテッド メモリ用の複数電力モードシステムおよび方法
US8991710B2 (en) 2009-04-03 2015-03-31 Lenovo Innovations Limited (Hong Kong) Power negotiation in a communications device
WO2010113596A1 (en) * 2009-04-03 2010-10-07 Nec Corporation Power negotiation in a communications device
WO2011128954A1 (ja) * 2010-04-16 2011-10-20 パナソニック株式会社 記録再生装置
JP2012190075A (ja) * 2011-03-08 2012-10-04 Clarion Co Ltd 更新差分データ作成装置、データ更新システムおよび更新差分データ作成プログラム
JP2018060321A (ja) * 2016-10-04 2018-04-12 富士通株式会社 メモリ制御装置、情報処理装置、およびメモリ制御方法
JP2020119329A (ja) * 2019-01-24 2020-08-06 凸版印刷株式会社 半導体装置、制御方法、およびプログラム
JP7278083B2 (ja) 2019-01-24 2023-05-19 凸版印刷株式会社 半導体装置、制御方法、およびプログラム
WO2022157998A1 (ja) * 2021-01-19 2022-07-28 キオクシア株式会社 リムーバブルメモリデバイス
WO2023176177A1 (ja) * 2022-03-16 2023-09-21 パナソニックIpマネジメント株式会社 メモリーカードおよびホスト機器

Also Published As

Publication number Publication date
TWI359360B (ja) 2012-03-01
EP1653362A1 (en) 2006-05-03
KR100749298B1 (ko) 2007-08-14
JP4647492B2 (ja) 2011-03-09
CN1833229A (zh) 2006-09-13
JPWO2005015406A1 (ja) 2006-11-02
KR20060055518A (ko) 2006-05-23
EP1653362A4 (en) 2008-06-04
TW200525353A (en) 2005-08-01
US8161225B2 (en) 2012-04-17
US20070183179A1 (en) 2007-08-09
EP1653362B1 (en) 2015-09-30
CN100422956C (zh) 2008-10-01

Similar Documents

Publication Publication Date Title
WO2005015406A1 (ja) 半導体メモリカード、アクセス装置及びアクセス方法
US7401174B2 (en) File system defragmentation and data processing method and apparatus for an information recording medium
US8335893B2 (en) Storage device, system, and method that determines a physical address of a memory unit allocated to a logical address or allocates a logical address to a physical address of a memory unit, based on access speed information of the logical address
US7475185B2 (en) Nonvolatile memory system, nonvolatile memory device, memory controller, access device, and method for controlling nonvolatile memory device
JP4287433B2 (ja) ファイル記録装置
US6823417B2 (en) Memory controller for memory card manages file allocation table
US8589617B2 (en) Write once recording device
US20080288710A1 (en) Semiconductor Memory Device and Its Control Method
US20060224819A1 (en) Host apparatus
US7822931B2 (en) File storage device, host apparatus, method for formatting nonvolatile semiconductor memory, and method of writing data in nonvolatile semiconductor memory
US7647470B2 (en) Memory device and controlling method for elongating the life of nonvolatile memory
US8661186B2 (en) Nonvolatile memory device, access device, and nonvolatile memory system
JP4722704B2 (ja) 情報記録媒体、情報記録媒体に対するアクセス装置及びアクセス方法
WO2005124530A2 (en) Method for controlling memory card and method for controlling nonvolatile semiconductor memory
JP4130808B2 (ja) フォーマット方法
JP2005202942A (ja) 情報記録媒体、データ処理装置及びデータ処理方法
WO2010001606A1 (ja) コントローラ、情報記録装置、アクセス装置、情報記録システム、及び情報記録方法
US7649822B2 (en) Recording and reproducing apparatus and recording method
JP2011076441A (ja) 情報記録装置、情報記録方法及び情報記録用プログラム
JP2008027248A (ja) 情報処理装置、情報処理装置の制御方法及び制御プログラム
JP2007310533A (ja) 不揮発性記憶システム、不揮発性記憶装置、及びファイルデータ書き込み方法
JP2000339202A (ja) ディスク制御装置およびその制御方法ならびにディスク記憶媒体
JP2000227865A (ja) セグメントキャッシュ方式の情報記録再生装置及びセグメントキャッシュ方式の情報記録再生方法
JPH04221462A (ja) 光ディスクサブシステム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200480022531.5

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1020067001319

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2005512984

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2004771414

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2004771414

Country of ref document: EP

DPEN Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed from 20040101)
WWP Wipo information: published in national office

Ref document number: 1020067001319

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 10567241

Country of ref document: US

Ref document number: 2007183179

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 10567241

Country of ref document: US