WO2003088043A1 - Data storing apparatus - Google Patents

Data storing apparatus Download PDF

Info

Publication number
WO2003088043A1
WO2003088043A1 PCT/JP2003/004708 JP0304708W WO03088043A1 WO 2003088043 A1 WO2003088043 A1 WO 2003088043A1 JP 0304708 W JP0304708 W JP 0304708W WO 03088043 A1 WO03088043 A1 WO 03088043A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
recorded
host device
sector
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2003/004708
Other languages
English (en)
French (fr)
Other versions
WO2003088043B1 (en
Inventor
Junko Sasaki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to KR1020037016270A priority Critical patent/KR100980905B1/ko
Priority to US10/480,706 priority patent/US7039754B2/en
Priority to EP03746481A priority patent/EP1496437A4/en
Publication of WO2003088043A1 publication Critical patent/WO2003088043A1/ja
Publication of WO2003088043B1 publication Critical patent/WO2003088043B1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/08Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers from or to individual record carriers, e.g. punched card, memory card, integrated circuit [IC] card or smart card
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/346Cards serving only as information carrier of service

Definitions

  • the present invention relates to a data storage device II having a non-volatile semiconductor memory therein.
  • This application is based on Japanese Patent Application No. 2 002—112 1 635 filed on April 15, 2002 in Japan, and extends the priority. Incorporated by reference into this application.
  • an IC memory device called a so-called memory card has been used as a temporary storage device using a NAND flash memory.
  • This IC memory device is used so as to be detachable from the recording / reproducing device.
  • This type of memory card can store various digital data such as still image data, moving image data, audio data, and music data. Therefore, the memory card is used as an external storage medium of a host device such as an information portable terminal, a desktop computer, a notebook computer, a mobile phone, an audio device, a home appliance, and the like.
  • a host device that uses a memory card as an external storage medium may be provided with an internal storage medium such as a hard disk.
  • the hard disk is accessed in a logical format from a host device via a file system generally called MS-DOS (trademark). Therefore, it is desirable that a general file system such as MS-DOS can be applied to the memory card in order to maintain compatibility with such other storage media.
  • MS—In DOS the MBR (Master Boot Record), PBR (Partion Boot Record), FAT (Fail Allocation Table), and root directory entry are stored in the user area of the storage medium as file management data. Processing such as recording
  • the initialization is performed by performing the processing. By recording and initializing such file management data, it becomes possible to access it from the operation system on the host device side. Therefore, the memory card is also initialized by the host device writing the file management data described in the above to the flash memory. By the way, even if the memory cards have the same standard, the capacity of the flash memory may be different.
  • the host device functioning as the data recording / reproducing main unit must perform initialization parameters and initialization that indicate the contents of the MBR etc. corresponding to each capacity ⁇ . It is necessary to prepare a control processing program.
  • a data storage device proposed to achieve the above-mentioned object is a removable data storage device which is detachably attached to a host device.
  • Non-volatile semiconductor memory in which data is collectively erased in blocks of a predetermined data amount, a system information storage section in which internal information of the device is recorded, and an interface for performing input / output between the host device and the host device
  • a control unit for controlling the semiconductor memory based on a command given from the host device via the interface.
  • the semiconductor memory is provided with a user area in which data is recorded by a user.
  • the user area has a class size of 1 / n times the block size (n is an integer of 2 or more).
  • File management data corresponding to the logical format for file management is recorded, and this logical format is used.
  • Access is made from the host device based on the mat, and the system information storage unit stores parameters for recording the file management data in the user area.
  • the control unit controls so that the file management data corresponding to the parameters stored in the system information storage unit is recorded in the semiconductor memory.
  • the Zu ⁇ FIG. 1 is a perspective view showing a memory card to which the present invention is applied and a host device using the memory card.
  • FIG. 2 is a perspective view of the memory card viewed from the front side.
  • FIG. 3 is a perspective view of the memory card viewed from the back side.
  • FIG. 4 is a block diagram showing an internal block configuration of the memory card.
  • FIG. 5 is a configuration diagram of an interface function for transmitting data between the memory card and the host device.
  • FIG. 6 is a diagram showing a data structure recorded in the attribute information area.
  • FIG. 7 is a flowchart showing the contents of the overnight recording process of the host device.
  • FIG. 8 is a diagram showing a media image when the format of the first specific example is applied.
  • FIG. 9 is a diagram showing the values of each parameter when the format of the first specific example is applied.
  • FIG. 10 is a diagram showing the description contents of the MBR when the format of the first specific example is applied.
  • FIG. 11 is a diagram showing the description contents of the PBR when the format of the first specific example is applied.
  • FIG. 12 is a diagram showing a media image when the format of the second specific example is applied.
  • FIG. 13 is a diagram showing values of respective parameters when the format of the second specific example is applied.
  • FIG. 14 is a diagram showing the description contents of the MBR when the format of the second specific example is applied.
  • FIG. 15 is a diagram showing the description contents of the PBR when the format of the second specific example is applied.
  • FIG. 16 is a diagram showing a FAT state when the format of the first specific example is applied.
  • FIG. 17 is a diagram showing a FAT state when the format of the second specific example is applied.
  • FIG. 18 is a diagram showing a media image in a normal format.
  • FIG. 19 is a diagram showing a media image of a memory card in which the class size is smaller than the block size.
  • FIG. 20 is a diagram showing a media image of a memory card having the same block size and class size.
  • BEST MODE FOR CARRYING OUT THE INVENTION The present invention will be described below with reference to an example in which the present invention is applied to a removable small IC memory device and a data processing device using the small IC memory device as an external storage medium.
  • the small IC memory device is referred to as a memory card
  • the data processing device to which the memory card is connected is referred to as a host device.
  • the memory card 1 has a nonvolatile semiconductor memory (IC memory) therein and stores various digital data such as still image data, moving image data, audio data, music data, and the like. be able to.
  • This memory card 1 is used for, for example, an information mobile terminal, a desktop computer, a notebook computer, a mobile phone. It functions as an external storage medium for the host device 2 such as a personal computer, an audio device, and a home electric device.
  • the memory card 1 is used in a state where it is inserted into a slot 3 provided in the host device 2.
  • the user can freely insert and remove the memory card 1 with respect to the slot 3.
  • the memory card 1 inserted in a certain host device can be removed, subbed, and inserted into another host device. That is, the memory card 1 can be used for exchanging data between different host devices.
  • the memory card 1 and the host device 2 are a parallel interface using a 6-wire half-duplex parallel protocol for transferring six signals of 4-bit parallel data, a clock signal, and a bus state signal. To make a overnight transfer.
  • the memory card 1 As shown in Fig. 2, the memory card 1 according to the present invention is formed in a substantially rectangular thin plate shape, has a longitudinal length of 5 O mm, a width of 214.5 mm, and a thickness of 21 mm. D! Is formed as 2.8 mm.
  • the memory card 1 has one surface as a front surface 1a and the other surface as a back surface 1b.
  • a connection terminal group 4 as 10 plane electrodes is provided on the back surface 1 b of one end of the memory card 1 in the longitudinal direction.
  • the electrodes constituting the connection terminal group 4 are provided in parallel in the width direction of the memory card 1.
  • Each partition piece 5 is designed to prevent a connection terminal connected to each electrode from contacting another electrode.
  • a slide switch 6 for preventing erroneous erasure is provided at the center of one end of the back surface 1 b of the memory card 1.
  • the host device 2 to which the above-mentioned memory card 1 is mounted is provided with a slot 3 for inserting and removing the memory card 1.
  • the slot 3 is the width and thickness D of the memory card 1 on the front side of the host device 2. It is formed as an opening corresponding to. ⁇ ⁇ ⁇
  • the memory card 1 inserted into the host device 2 through the baffle 3 has the connection terminals on the host device 2 connected to the electrodes that make up the connection terminal group 4, so that the host device 2 To prevent falling off.
  • the connection terminals on the host device 2 side constitute a connection terminal group 4 provided on the memory card 1 to be inserted. It has 10 contacts corresponding to different electrodes.
  • the one end provided with the connection terminal group 4 is an insertion end, and the arrow X in FIG. Attached.
  • the electrodes constituting the connection terminal group 4 and the respective contacts of the connection terminals on the host device 2 side are connected, so that signals can be transmitted and received.
  • the memory card 1 according to the present study has a parallel interface circuit (I / F) 12, a register circuit 13, a data buffer circuit 14, an ECC circuit 15, and a memory I / F controller 16, nonvolatile semiconductor memory 17, and oscillation control circuit 18.
  • I / F parallel interface circuit
  • register circuit 13 register circuit 13
  • data buffer circuit 14 ECC circuit 15
  • memory I / F controller 16 nonvolatile semiconductor memory 17, and oscillation control circuit 18.
  • the parallel I / F circuit 12 is a circuit that transfers data to and from the host device 2 using a 6-wire half-duplex parallel data transfer protocol.
  • the register circuit 13 is, for example, an operation control command for the memory I / F controller port 16 transferred from the host device (hereinafter, this operation control command is referred to as a control command).
  • This is a circuit for storing the internal state of the memory card 1, the parameters required for executing the control command, the file management information in the nonvolatile semiconductor memory 17, and the like.
  • the register circuit 13 is accessed from both the host device 2 and the memory I / F controller 16.
  • the host device 2 transmits data to the register circuit 13 using a transfer protocol command (hereinafter, referred to as TPC (Transfer Protocol Command)) specified in the data transfer protocol of the memory card. Access.
  • TPC Transfer Protocol Command
  • the data buffer circuit 14 is a memory circuit for temporarily storing data written to the nonvolatile semiconductor memory 17 and data read from the nonvolatile semiconductor memory 17. . That is, when data is written from the host device 2 to the nonvolatile semiconductor memory 17, the data to be written is transferred from the host device 2 to the data buffer circuit 14 according to the data transfer protocol, and thereafter, the data buffer is written.
  • the memory I / F controller 16 writes the write target data stored in the buffer circuit 14 to the nonvolatile semiconductor memory 17.
  • the memory I / F controller 16 reads the data to be read from the nonvolatile semiconductor memory 17 and temporarily buffers the data. The data is stored in the circuit 14, and then the read target data is transferred from the data buffer circuit 14 to the host device 2 according to the data transfer protocol.
  • the data buffer circuit 14 has a data capacity of a predetermined data write unit (for example, 512 bytes which is the same as the page size of the flash memory). Note that the host device 2 accesses the data buffer circuit 14 using the TPC. That is, when the host device 2 writes or reads data stored in the data buffer circuit 14, the TPC is used.
  • a predetermined data write unit for example, 512 bytes which is the same as the page size of the flash memory.
  • the £ ⁇ circuit 15 adds an error correction code (ECC) to data written to the nonvolatile semiconductor memory 17.
  • ECC error correction code
  • the ECC circuit 15 performs an error correction process on the read data based on the error correction code added to the data read from the nonvolatile semiconductor memory 17. For example, an error correction code is added by 3 bytes to a data unit of 512 bytes.
  • the memory I / F controller 16 controls the data exchange between the data buffer circuit 14 and the nonvolatile semiconductor memory 17 in accordance with the control command stored in the register circuit 13. It controls the security management of the data in the non-volatile semiconductor memory 17, controls other functions of the memory card 1, and updates the data stored in the register circuit 13.
  • the nonvolatile semiconductor memory 17 is, for example, a nonvolatile semiconductor memory such as a NAND flash memory.
  • the capacity of the nonvolatile semiconductor memory 17 is, for example, 16 Mbytes, 32 Mbytes, 64 Mbytes, and 128 Mbytes.
  • the nonvolatile semiconductor memory 17 has an erase block unit of, for example, 16 Kbytes.
  • the read / write unit is called a page, and is 512 bytes, which is the same as the data buffer circuit 14.
  • the oscillation control circuit 18 generates an operation clock in the memory card 1.
  • connection terminals of Memory Card 1 are VSS terminal, VCC terminal, DATA 0 terminal, DATA 1 terminal, DATA 2 terminal, DATA 3 terminal, BS terminal, CLK terminal, I NS terminal is provided. Since two VSS terminals are provided, the memory card 1 has a total of 10 connection terminals. A similar connection terminal is provided for the host device 2 ⁇ .
  • the VSS pin is connected to VSS (reference 0 volt). This VSS terminal connects the ground of the host device and the ground of the memory card, and matches the 0 volt reference potential between the host device and the memory card.
  • the power supply voltage (V C C) is supplied from the host device to the V CC pin.
  • the DAT A 0 terminal inputs and outputs the data signal (DATA 0) of the least significant bit of the 4-bit parallel data transferred between the memory card 1 and the host device 2.
  • the DATA 1 terminal inputs / outputs the data signal (DATA 1) of the second lower bit of the 4-bit parallel data transferred between the memory card 1 and the host device 2.
  • the DATA 2 terminal inputs / outputs the data signal (DATA 2) of the third bit from the lower order among the 4-bit parallel data transferred between the memory card 1 and the host device 2 .
  • the DATA 3 terminal inputs / outputs the fourth lowermost bit of the 4-bit parallel data transferred between the memory card 1 and the host device 2 (DATA 3).
  • the bus terminal receives a bus state signal from the host device to the memory terminal.
  • the clock signal is input from the host device 2 to the CLK terminal.
  • the INS terminal is used for insertion / removal detection for the host device 2 to determine whether the memory card is inserted into the slot or not inserted.
  • the I / S terminal of the memory card 1 is connected to the ground, and the I / S terminal of the host device 2 is pulled up via a resistor.
  • the interface function of the host device 2 includes a file manager 31, a TPC interface 32, and a parallel interface 33.
  • the interface function of the memory card 1 includes a parallel interface 33, a register 35, a data buffer 36, a memory controller 37, and a memory 38.
  • the file manager 31 is an operation system of the host device, and manages files stored in the memory card 1 and files stored in other media of the host device.
  • the file manager 31 uses MS-DOS (Micorosoft Disc Operation System) (registered trademark) as an operation system.
  • the file manager 31 also manages other storage media connected to the host device 2 via MS-D0S.
  • the file manager 31 is a function realized in a controller in the host device 2.
  • the TPC interface 32 is an interface function serving as a lower layer of the file manager 31.
  • the TPC interface 32 uses the data transfer protocol that defines the special command (TPC transfer Protocol Command) of this interface, and uses the register 35 and the data buffer 3 in the memory card 1 6 Perform hair access.
  • the TPC interface 32 is a function realized by a controller or the like in the host device 2.
  • the parallel interfaces 33 and 34 are lower layers of the TPC interface 32 and are the physical layer of the tree interface system.
  • the parallel input interfaces 33 and 34 follow a 6-wire half-duplex parallel protocol, which is a data transfer protocol that transfers six signals of 4-bit parallel data, clock, and bus state signals. Perform data transfer.
  • the parallel interface circuits 33 and 34 are functions realized by the parallel interface circuit 12.
  • the register 35 contains the control command transferred from the host, the internal state of the memory card, the address of the data accessing the memory 38, the various parameters required for executing the control command, and the contents in the memory. Stores file management information, etc.
  • the register 35 is a function realized on the register circuit 13 of the memory card 1.
  • the data buffer 36 is a buffer area for temporarily storing data written to the memory 38 and data read from the memory 38.
  • the data buffer 36 is a function realized on the data buffer circuit 14 of the memory card 1.
  • the memory I / F controller 37 reads, writes, erases, and reads data between the data buffer 36 and the memory 38 in accordance with the commands and various information stored in the register 35. It also controls updating of various information in the register 35.
  • the memory I / F controller 37 is a function realized by the memory I / F controller 16 on the host device 2.
  • the memory 38 is a temporary memory area, and is virtualized as a unique model through the memory I / F controller 37.
  • the memory 38 is a function realized by the nonvolatile semiconductor memory 17 on the memory card 1.
  • data stored on other media managed by the file manager 31 is transferred to the memory 38 via the parallel interfaces 33 and 34. Can be forwarded to Since the file manager 31 manages this memory card and other storage devices in common by the operation system (MS-DOS), for example, the data stored in the memory 38 Can be transferred to another storage medium, and data stored in another storage medium can be transferred to the memory 38.
  • MS-DOS operation system
  • the memory card 1 includes a user area in which files generated by a user are stored, and a system area in which internal information of the memory card 1 is stored. Both the user area and the system area can be accessed from the host device 2 using control commands. However, the user area and the system area are formed in address spaces different from each other, and are accessed from the host device 2 by different control commands.
  • the user space is physically divided, for example, into units called blocks of 64 Kbytes or 128 Kbytes.
  • This block is a unit of the batch erasure in the memory card 1. That is, the erase block in the flash memory corresponds to this block.
  • An effective block is a block in which the actual data of the file is recorded.
  • the spare block is later This is an area in which the substitute data of% defect is recorded.
  • the user area is recognized by the host device 2 as an area described in sector units, but is internally managed by a logical block number and a physical block number derived from a sector number for recording valid data. I have. Information on the correspondence between the logical block number and the physical block number is recorded in the redundant section, which is the management block for the physical block, and is stored in a system area that cannot be accessed from the host device 2 in a state where the correspondence has been reduced. , i have recorded.
  • Each block has a physical block number that specifies the storage location of the block. This physical block number is uniquely assigned regardless of whether the block is a valid block or a pre-block.
  • the logical block number is recorded in the effective block.
  • the logical block number is written in a predetermined area in each block.
  • the logical block number is recorded when the memory card 1 is initialized.
  • the logical block number of the defective block is written to the unrecorded spare block to replace the logical block number.
  • Each block is divided into write and read units called pages. This page corresponds one-to-one with the section in the logical format described below.
  • the logical block number assigned to each block uniquely corresponds to a cluster number and an LBA sector number in a logical format described later. From the host device 2 side, the data storage area is virtually accessed in a logical format described later, but the memory I / F controller 16 determines the logical block number and the physical block number. Address conversion is performed using a logical-physical conversion table in which the correspondence is described. Therefore, the host device 2 uses the logical address (class number or LBA sector number) to determine the non-volatile semiconductor memory 17 without physically knowing the position where the data is recorded. Can be accessed.
  • an attribute information area in which information necessary to control the memory card 1 is recorded.
  • the data recorded in the attribute information area has a structure as shown in FIG. As shown in Fig. 6, "ATRB info area configuration”, “Device Information entry”, “System information”, “MBR V alues”, and “PBR Values" are recorded in the attribute information area. Has been
  • ATRB info area configuration contains an identification code for identifying the attribute information area.
  • Device-Information entry indicates each recording position g of the following “Device-Information (System information, MBR Values, PBR Values)".
  • the recording position is represented by the offset value of the attribute information area. .
  • System information internal information of the memory card 1 is recorded.
  • System information includes version and class information, the number of bytes in one block, the number of sectors included in one block, the total number of blocks, the assembly date and time, the serial number, the assembly maker number, and the flash memory.
  • a memory number, a flash memory model number, a controller number, a controller function, a sector number at the beginning of a block boundary, and a device type (read-only, read-only, etc.) are recorded.
  • the “number of sectors included in one block” and “sector number starting from block boundary” recorded in “System information” are recorded by host device 2 in “real-time recording mode”. Will be referred to. Details of the “real-time recording mode” processing will be described later.
  • the "MBR Values” record the recommended parameters of the "MBR" (Master Boot Record) specified on MS-D0S.
  • “MBR Values” contains the boot identification, start head number, start cylinder number, system identification, last head number, last sector number, last cylinder number, start LBA section number, The partition size is recorded.
  • the sector indicated by the start LBA sector number is the recording position of “PBR” (Partition Boot Record). In other words, it is the starting position of each partition specified on MS-D0S.
  • PBR Partition Boot Record
  • MS-DOS it is possible to form a plurality of partitions in one storage medium. In this example, however, only one partition is formed in the nonvolatile semiconductor memory 17. It is assumed that there is.
  • the present invention is not limited to a memory card when only one partition is formed, but may be applied to a memory card when a plurality of partitions are formed.
  • PBR Values records the recommended parameters of "PBR” specified on MS-D0S.
  • PBR Values contains the jump code recorded in the PBR, the OEM name and version, the number of bytes per sector, the number of sectors per class, the number of reserved sectors, and the FAT (File Allocation). Table) number, number of root directory entries, number of sectors in media, media ID, number of sectors per FAT, number of sectors per head, number of heads, number of hidden sectors, The total number of logical sectors, physical drive number, extended boot identification, volume serial number, volume label, and file system type are recorded.
  • the physical format of the data storage area (nonvolatile semiconductor memory 17) of the memory card 1 according to the present invention is configured as described above.
  • a command (READ-ATRB) for reading attribute information is set as a control command.
  • the host device 2 can initialize the memory card 1 in the logical format recommended by the assembly manufacturer.
  • a command (FORM AT) for initializing the nonvolatile semiconductor memory 17 is set as a control command.
  • the memory I / F controller 16 refers to "MBR Values” and "PBR Values” recorded in the attribute information area. Then, the nonvolatile semiconductor memory 17 is initialized according to the contents of the “MBR Values” and “PBR Values”. Details of initialization of memory 1 will be described later.
  • MS-D0S compatible format is adopted as a logical format for the data storage area.
  • MS—DOS compatible format is a data file recorded on media in a hierarchical directory structure. Is a file system that manages In the MS—D0S compatible format, data is accessed on the media in units called serials, heads, and sectors. The unit of reading / windowing the actual data to the media is the sector.
  • a unit called a cluster is defined for managing recorded data.
  • the size of class evening is a multiple of the size of the sector. For example, one sector consists of 64 sectors. From the operation system of the host device 2, files are managed on a class-by-class basis.
  • the size of the cluster is smaller than the size of the block, and n times (n is an integer of 2 or more) the size of the cluster is one block. Size. For example, if the data size of one block is 128 Kbytes, the data size of one class is 32 Kbytes, that is, four clusters are recorded in one block.
  • the logical format applied to the memory card 1 according to the present invention is set such that the boundary position of the block always coincides with the boundary position of the cluster. In other words, it is set so that one cluster does not straddle two blocks.
  • the recording position of the MS-DOS file management data (MBR, PBR, FAT, root directory) is recorded in g and the file management data. Adjust the parameters.
  • the parameters for performing the logical format under such conditions are recorded in "MBR Values" and "PBR Values" in the attribute information.
  • the contents of the file management data of MS-D0S are as follows.
  • the MBR is located at the beginning of the user area.
  • the content described in the MBR is the same as the content described in "MBR Values" in the attribute information.
  • PBR is located in the first sector of each partition.
  • the sector where the PBR is recorded is described in the starting LBA sector number in the MBR.
  • the LBA sector number is a number that is uniquely assigned to each sector in an effective block or in an alternate block that has been replaced by an effective block.
  • the LBA sector numbers are assigned in ascending order from the first sector of the block whose logical block number is 0.
  • FAT is recorded over multiple sectors from the next sector following PBR. FAT expresses the connected state of files handled in the user area by clusters.
  • the data recorded on the media is managed in cluster units, but if the tree of one file can be converted to multiple clusters, the next class is read after one cluster is read to the end. Must be read. However, the next cluster is not always recorded in a physically continuous position. Therefore, when accessing the data recorded on the medium, the host device 2 needs information indicating which cluster is a class that follows a certain class. FAT records such information.
  • the FAT is configured to have as many storage areas as the number of classes that exist on the media. All clusters that exist on the media are assigned class numbers starting with 0 2 (hexadecimal). Each storage area in the FAT is uniquely assigned a cluster number. Each storage area stores the number of the next class connected to the cluster to which it is assigned. Therefore, if you want to find the next class connected to a certain cluster, you need to refer to the number stored in the storage area to which that cluster is assigned.
  • FAT 1 and FAT 2 are recorded for the purpose of no-kappa. Also, the physical data size of one FAT is always constant even if the data content is updated because the number of clusters in the media does not change.
  • the root directory describes the entry information of each file and sub-directory located in the root directory.
  • the root directory entry is recorded from the sector following the last sector where the FAT is recorded.
  • the number of bytes of one entry information is a specified value, and the number of entries arranged in the root directory is also a specified value. Therefore, the overnight size of the root directory entry is always constant.
  • the special handling of the root directory entry has been abolished.
  • the root directory entry is also managed in the classroom.
  • the first class (the class number “02”) starts from the next sector following the above file management data. That is, the area following the last sector where the root directory entry is recorded is the area where the actual file generated by the user is recorded. Therefore, in the present memory card 1, the above file management data is recorded such that the first sector of the cluster number 02 is always the first sector of the block.
  • the LBA sector number of the beginning of any block in the user area is described in the “start sector number of block boundary” in the attribute information.
  • the memory card 1 may employ a format called a so-called super floppy system.
  • a format called a so-called super floppy system In the super-flow method, there is no management data corresponding to the MBR described above, and the PBR is recorded at the head of the user area.
  • the present invention is not limited to the MS-D0S compatible format, but can be applied to a format in which no MBR exists, such as a super floppy one-way system.
  • the initialization process should record at least the file management data (MBR, PBR, FAT, and root directory entry).
  • the initialization process is usually performed at the time of shipment of the memory card 1 from the factory, but can be performed by the user as needed.
  • the first method is to write necessary data into a predetermined section by using a write control command.
  • the second method is to use a control command for initialization.
  • the host device 2 is connected to the memory I / F controller 16 It is specified on the interface protocol that the operation control command is transferred from this.
  • the control command is stored in the command register in the register circuit 13 by the command set instruction in the TPC from the host device 2.
  • the memory I / F controller 16 executes operation control corresponding to the control command.
  • the control commands include, for example, a command to read data from the nonvolatile semiconductor memory 17 to the data buffer circuit 14 and a command to read data from the data buffer circuit 14 to the nonvolatile semiconductor memory 17.
  • control command is a specific example of the control command.
  • the READ-DATA command is an instruction for continuously reading data from a designated address of a user in the nonvolatile semiconductor memory 17.
  • the memory I / F controller 16 refers to the address stored in the address register in the register circuit 13 and refers to the address on the nonvolatile semiconductor memory 17. Performs access and reads data from this address.
  • the read data is transferred to the data buffer circuit 14 once.
  • the memory I / F controller 16 issues a transfer request interrupt to the host device 2 when the data buffer circuit 14 becomes full, that is, when the data buffer circuit 14 reads out data for 512 bytes. I do.
  • the subsequent data is transferred from the nonvolatile semiconductor memory 17 to the data buffer circuit 14.
  • the memory I / F controller 16 repeats the above processing until the data of the number of data stored in the data count register in the register circuit 13 is read.
  • the WRITE_DATA command is an instruction for continuously recording data stored in the data buffer circuit 14 and data from a designated address of the user area of the nonvolatile semiconductor memory 17. .
  • the memory I / F controller 16 stores the data in the data address register in the register circuit 13. With reference to the address, an address is accessed on the nonvolatile semiconductor memory 17 and data is written from this address.
  • the data to be written is the data stored in the overnight software circuit 14.
  • the memory I / F controller 16 issues a transfer request interrupt to the host device 2 when the data buffer circuit 14 becomes empty, that is, when 512 bytes of data are written. .
  • the memory I / F controller 16 repeats the above processing until the data for the number of data stored in the data storage register in the register circuit 13 is written.
  • the ATRB command is an instruction to read attribute information from the non-volatile semiconductor memory 17.
  • the memory I / F controller 16 reads the attribute information in the nonvolatile semiconductor memory 17 and transfers it to the data buffer 14.
  • the FORMAT command reads attribute information from the nonvolatile semiconductor memory 17, reads “MBR Values” and “PBR Values” in the attribute information, and reads the attribute information from the nonvolatile semiconductor memory 17 according to the values.
  • the host device 2 reads “MBR Values” and “PBR Values s” in the attribute information using the READ_ATRB command. Then, referring to the values described in the read “MBR Values” and “PBR Values”, it generates MBR, PBR, FAT, and root directories. Then, for a predetermined section described in "MBR Values” and “PBR Values", the MBR, PBR, FAT, and root directory entries generated using the WRITE-DATA command are generated. Is written. By performing such processing, the memory card 1 is initialized and can be referenced by the host device 2.
  • the host device 2 gives a FORMAT command to the memory I / F controller 16 of the host device 2.
  • the memory I / F controller 16 reads "MBR Values” and "PBR Values” in the attribute information. Then, based on the values described in the read “MBR Values” and “PBR Values”, the memory I / F controller 16 determines a predetermined value described in “MBR Values” and “PBR Values”.
  • the MBR, PBR, FAT, and root directory entries are written to the nonvolatile semiconductor memory 17 for the sector.
  • the host device 2 uses the write command (WRITE_MTA command) to write the parameters generated by the host device 2 itself.
  • WRITE_MTA command the write command
  • Select two types of initialization a method in which the host device 2 performs initialization using the initialization command (FORMAT command) by the host device 2 and a method in which the memory card 1 automatically performs initialization. Can be performed. Since the host device 2 can use an initialization command (FORMAT command) when initializing the memory card 1, a dedicated parameter corresponding to each version and standard can be used. In the evening, there is no need to incorporate an initialization processing program, and initialization can be performed easily.
  • the host device 2 uses the command (READ_ATRB command) for reading the attribute information and reads “System information” in the attribute information to “include in one block.
  • the number of sectors and the starting sector number of the block boundary are read (step S11).
  • the host device 2 waits for processing until the recording operation is started by the user (step S12).
  • step S13 When the recording operation is started by the user, it is determined whether the current recording mode is the real-time recording mode or the normal recording mode (step S13). If the recording mode is the normal recording mode, the process proceeds to step S14. If the recording mode is the real-time recording mode, the process proceeds to step S15.
  • the real-time recording mode is, for example, a recording process in which the data recording process must follow a recording data generation process in a case where a moving image signal is recorded in real time, or a large-capacity recording process.
  • This mode is suitable for recording processing that requires high-speed recording such as data recording.
  • the normal recording mode for example, high-speed recording such as when performing Ki ⁇ still image signal: is in record mode when not desired.
  • the mode selection between the real-time recording and the normal recording may be manually set by the user, or may be automatically selected according to the data recorded by the host device 2.
  • step S14 recording processing is performed for each class. That is, a free area is searched for in cluster units with reference to FAT, and data is sequentially recorded in the found free area.
  • step S15 referring to the FAT, a continuous area for one block is found, and if there is a continuous free area for one block, data is continuously recorded for the block. . That is, even if there is an empty cluster, if data is already recorded in another class evening of the block containing the empty cluster evening, no data is recorded in the empty cluster. For example, if one block is composed of four classes, the data is recorded for the empty program in units of four clusters.
  • the host device 2 cannot recognize the block on the physical format.However, the memory card 1 uses the logical format so that the boundary position of the block is always the boundary position of the class. Are formed. Therefore, if the number of clusters (or the number of sectors) in one block and the cluster number (or LBA sector number) at the boundary of the block are known, the block can be recognized from the logical format. Therefore, the host device 2 determines the number of clusters in one block and the position of the first class of the block by referring to the “number of sectors included in one block” and the “sector initiating the block boundary” referred to in step S11. No.
  • the host device 2 In a normal file system, it is possible to check the free space in the media during data recording i i or during recording.
  • the host device 2 When the normal recording mode is selected, the host device 2 simply detects the number of available class evenings from the FAT and calculates the available capacity.
  • the real-time recording mode when the real-time recording mode is selected, blocks in which all classes are unrecorded are detected from FAT, and the free space is calculated from the number of blocks.
  • the example format described below has a total capacity of 64 Mbytes, a sector size of 512 bytes, a cluster size of 32 Kbytes, a block size of 128 Kbytes, This is for a memory card 1 that requires eight sectors to record one FAT. Therefore, one class consists of 64 sectors, and one block consists of four classes.
  • FAT 16 used when the total number of clusters exceeds 485 is applied as the type of MS-DOS.
  • the number of bytes allocated to each cluster in FAT is 2 bytes (16 bits).
  • FIG. 8 shows a media image of the first specific example.
  • FIG. 9 shows the values of each parameter in the first specific example.
  • FIG. 10 shows the description of the MBR of the first specific example.
  • FIG. 11 shows the description contents of the PBR of the first specific example.
  • the LBA sector number is a number that is uniquely assigned to all valid programs in the media regardless of the partition or boot area.
  • the LBA sector number is 0 in the first sector, and is incremented by one thereafter.
  • the block number is the logical block number assigned to each valid block.
  • the block number is 0 in the first block and is incremented by 1 thereafter.
  • the LBA sector number is assigned to the replaced block. And a block number.
  • the MBR is recorded in the first sector of block number 0 (LBA sector number 0).
  • the PBR is recorded in the LBA sector number 462 of block No. 1.
  • FAT 1 and FAT 2 are recorded in the LBA sector numbers 464 to 479 of block block 1.
  • the root directory entry is recorded in the LBA sector number 480 to 511 of block number 1.
  • the first sector (the first sector of class 2) in which the file generated by the user is recorded is the first sector of block 2. Recording is started from the sector (LBA sector number 5 1 2). As a result, the block boundary position becomes a logical format that matches the class position boundary position K.
  • FIG. 12 shows a media image of the second specific example.
  • Figure 13 shows the values of each parameter in the second specific example.
  • Fig. 14 shows the contents of the description of the MBR of the second specific example, and
  • Fig. 15 shows the contents of the description of the PBR of the second specific example.
  • the LBA sector number is a unique number assigned to every valid block in the media, regardless of partition or boot area. In the LBA sector number, the leading sector is set to 0, and thereafter, is incremented by one.
  • the block number is the logical block number assigned to each valid block. The block number is 0 in the first block and is incremented by 1 thereafter. When a valid block is replaced, the LBA sector number and block number are assigned to the replaced block.
  • the MBR is recorded in the first sector (LBA sector number 0) of block number 0.
  • the PBR is recorded in the LBA sector number 335 of block number 1.
  • FAT 1 and FAT 2 are recorded in the LBA sector numbers 336 to 351 of block number 1.
  • the root directory entry is recorded in the LBA sector number 3 52-383 of block number 1.
  • the first sector in which the file generated by the user is recorded (The first sector of cluster 2) is recorded from LBA sector number 384 of block 1.
  • the block boundary position will be in a logical format that matches the class position boundary position.
  • the block boundary position is the class boundary position, and both can collectively record in block units from the host device 2 side. 4 classes can be recorded in the evening.
  • the specified value is the first 8 bytes; "F8FFFFFF”.
  • the area for each class is defined by four bytes starting from the ninth byte.
  • the cluster number of the first cluster is "2".
  • the number of bytes per sector is 5 12 bytes. For this reason, in the first sector of the FAT, cluster areas from cluster number 2 to cluster number 127 are formed.
  • a cluster 2 is composed of cluster numbers 02 03, 04 and 05
  • a block 3 is composed of cluster numbers 06, 07, 08 and 09.
  • the block 4 is composed of the class evening numbers 0a, 0b, 0c, and 0d, and thereafter, one block is constructed every four class evenings.
  • the first sector of the FAT ends with the second cluster (cluster 7f) of the block 33.
  • the second sector of the FAT starts with the third cluster of block 33 (cluster 80). That is, in the format of the first specific example, the boundary position of the block represented in the FAT does not match the actual sector position of the FAT.
  • block 1 is composed of class numbers 02 and 03, and a block is composed of cluster numbers 04, 05, 06, and 07.
  • Block 2 is composed of cluster numbers 08, 09, 0a, and Ob.Block 4 is composed of cluster numbers 0c, 0d, 0e, and 0f.
  • One block is composed.
  • the first sector of the FAT ends in the fourth class of block 32, that is, the last cluster (cluster 7f) in the block.
  • the second sector of the FAT starts with the first cluster in block 33.
  • the boundary position of the block represented in the FAT matches the actual sector position of the FAT.
  • the actual sector boundary of the FAT does not match the block boundary represented by the FAT, for example, when reading cluster information of a block at a sector boundary, two sectors must be read.
  • the actual sector boundary of the FAT coincides with the boundary of the block represented by the FAT, even if the cluster information of the block at the sector boundary is read, only one sector Just read out.
  • the file management on the host device 2 side is easier in the format of the second specific example than in the format of the first specific example.
  • the MBR is recorded in a single block. That is, the MBR is recorded in a different block from the PBR, FAT, and root directory entries.
  • the security of the file is ensured in the case of media such as flash memory in which a unit of batch erasure is specified.
  • PBR, FAT, and root directory entries which may be rewritten, are recorded in a block different from the actual data.Therefore, there is no need to rewrite the MBR, and file security is ensured. .
  • MBR, PBR, FAT, and root directory entries are recorded continuously in sector units regardless of the block position.
  • MBR is recorded in sector 0
  • PBR is recorded in sector 1.
  • the class size is 32 Kbytes and the block size is 16 Kbytes, the class size is smaller than the block size.
  • the MBR should be recorded in the sector with sector number 0, and the PBR should be recorded in the sector with sector number 47.
  • the class size is 32 Kbytes and the block size is 16 Kbytes. If the memory card has the same block size and cluster size, the MBR is recorded in the sector with sector number 0 and the PBR is recorded in the sector with sector number 79, as shown in Figure 20. Just record it.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

明細書 データ記憶装置 技術分野 本 ¾ 1リ Jは、 内部に不揮究性の半導体メモリを備えたデータ記憶装 IIに関する。 本出願は、 日本国において 2 002年 4月 1 5日に出願された日木特許出願番 号 2 002— 1 1 2 635を基礎として優先権を Ξ】Ξ張するものであり、 この出願 は参照することにより、 本出願に援用される。 i 景技術 従来、 NAND型のフラッシュメモリを用いたデ一夕記憶装置として、 所謂メ モリカードと称される I Cメモリ装置が用いられている。 この I Cメモリ¾置は、 記録再生装置に対し着脱可能として用いられる。 この種のメモリカードは、 静止 画像データ、 動画像データ、 音声データ、 音楽デ一夕等の各種デジタルデータを 格納することができる。 そのため、 メモリカードは、 例えば、 情報携帯端末、 デ スク トップ型コンピュータ、 ノート型コンピュータ、 携带電話機、 オーディオ装 置、 家電装置等々のホス ト機器の外部記憶メディアとして用いられる。
メモリカードを外部記憶メディアとして利用するホス ト機器は、 ハ一ドデイス ク等の内部記憶メディアが備えられる場合がある。 ハードディスクは、 一般的に MS -DO S (商標) と呼ばれるファイルシステムを媒介として、 ホス ト機器か ら論理フォーマッ トでアクセスがなされる。 そのため、 メモリカードも、 このよ うな他の記憶メディアとの互換性を図るため、 MS— DO Sといったような一般 的なファイルシステムを適用できることが望ましい。
MS— DOSでは、 ストレージメディアのュ一ザ領域に、 ファイルの管理デ一 夕として、 MBR (Master Boot Record) 、 PBR (Partion Boot Record) 、 F AT (Fail Allocation Table) 、 ルートディレク ト リエン ト リを記録する等の処 理を行うことによって、 初期化が行われる。 このようなファイル管理データを記 録して初期化することによって、 ホス ト機器側のオペレーションシステムからァ クセスが可能となる。 従って、 メモリカードも、 ホス ト機器が h述のファイル管 理デ一タをフラッシュメモリに書き込むことによって、 初期化が行われる。 ところで、 同一規格のメモリカードであっても、 フラッシュメモリの容量が異 なる場合がある。 データの 録再主装置として機能するホスト機器は、 容量が異 なるメモリカードを外部メディアとして初期化する場合、 各容量每に対応する M B R等の内容を示す初期化用のパラメ一夕や初期化制御処理プログラムをそれそ れ Diiiえる必要がある。
このようにホス ト機器側で初期化用のパラメ一夕を備えていたとしても、 例え ば、 新たな容量のメモリ力一ドが提供された場合には対応することができない。 発明の開示 本発明の目的は、 従来の I Cメモリ装置等のデ一夕記憶装置が冇する有する問 題点を解消することができる新規なデータ記憶装置を提供することにある。 本発明の他の目的は、 ホスト機器が初期化用の制御プログラムやパラメ一夕を 備えることなく、 容易に初期化を行うことができるデ一夕記憶装置を提供するこ とにある。
上述した目的を達成するために提案される本発明に係るデータ記憶装置は、 ホ ス ト機器に対して着脱自在に取り付けられるリムーバブルなデ一夕記憶装置であ つて、 記録されているデ一夕が所定のデータ量のプロック単位で一括消去される 不揮発性の半導体メモリ と、 本装置の内部情報が記録されたシステム情報記憶部 と、 ホスト機器との間でデ一夕の入出力を行うインタフェースと、 ホス ト機器か らイン夕フェースを介して与えられたコマンドに基づき、 半導体メモリに対する 制御を行う制御部とを備える。 半導体メモリには、 ユーザによってデータが記録 される領域であるユーザ領域が設けられ、 ユーザ領域には、 ブロックのサイズの 1 / n倍 (nは 2以上の整数) のサイズであるクラス夕単位でファイルの管理を 行う論理フォーマッ 卜に対応したファイル管理デ一夕が記録され、 この論理フォ —マッ トに基づきホス ト機器からアクセスがされ、 システム情報記憶部には、 フ アイル管理デ一夕をユーザ領域上に記録するためのパラメ一タを格納する。 制御 部は、 ホス ト機器から初期化コマン ドが与えられると、 システム情報記憶部に格 納されているパラメータに応じたファイル管理データを半導体メモリに記録する ように制御する。
本発明の更に他の lil的、 本発明によって得られる具体的な利点は、 以下におい て図面を参照して説明される実施の形態の説明から一 '明らかにされるであろう ( 図而の簡単な説明 図 1は、 本発明が適用されたメモリカ一ド及びこのメモリカ一ドを用いるホス ト機器を示す斜視図である。
図 2は、 メモリカードを表面側から見た斜視図である。
図 3は、 メモリカードを裏面側から見た斜視図である。
図 4は、 メモリカードの内部ブロック構成を示すブロック図である。
図 5は、 メモリカードとホス ト機器との間のデータ伝送をするためのィンタフ エース機能の構成図である。
図 6は、 ァト リビュート情報ェリアに記録されるデ一夕構造を示す図である。 図 7は、 ホス ト機器のデ一夕記録処理内容を示すフローチヤ一トである。
図 8は、 第 1の具体例のフォーマヅ トを適用した場合のメディアイメージを示 す図である。
図 9は、 第 1の具体例のフォーマツ トを適用した場合の各パラメ一夕の値を示 す図である。
図 1 0は、 第 1の具体例のフォーマツ トを適用した場合の M B Rの記述内容を 示す図である。
図 1 1は、 第 1の具体例のフォーマッ トを適用した場合の P B Rの記述内容を 示す図である。
図 1 2は、 第 2の具体例のフォーマツ トを適用した場合のメディアィメ一ジを 示す図である。 図 1 3は、 第 2の具体例のフォーマツ トを適用した場合の各パラメータの値を 示す図である。
図 1 4は、 第 2の具体例のフォ一マッ トを適用した場合の M B Rの記述内容を 示す図である。
図 1 5は、 第 2の具体例のフォーマッ トを適用した場合の P B Rの記述内容を 示す図である。
図 1 6は、 第 1の具体例のフォ一マッ トを適用した場合の F A Tの状態を示す 図である。
図 1 7は、 第 2の具体例のフォーマヅ トを適用した場合の F A Tの状態を示す 図である。
図 1 8は、 通常フォーマッ トのメディアイメージを示す図である。
図 1 9は、 ブロックサイズよりクラス夕サイズの方が小さいメモリカードのメ ディアイメージを示す図である。
図 2 0は、 プロックサイズとクラス夕サイズとが同一のメモリカードのメディ ァイメージを示す図である。 発明を実施するための最良の形態 以下、 本究明をリムーバルな小型 I Cメモリ装置、 並びに、 この小型 I Cメモ リ装置を外部記憶メディアとして用いるデータ処理装置に適用した例を挙げて説 明する。
なお、 以下の説明で、 小型 I Cメモリ装置をメモリカードと称し、 このメモリ カードが接続されるデータ処理装置をホス ト機器と称する。
まず、 本発明を適用したホス ト機器及びこのホスト機器に接続されるメモリ力 一ドの概略を図 1 を参照して説明する。
本発明に係るメモリカード 1は、 内部に不揮発性の半導体メモリ ( I Cメモ リ) を有しており、 静止画像デ一夕、 動画像データ、 音声データ、 音楽データ等 の各種デジタルデータを格納することができる。 このメモリカード 1は、 例えば、 情報携帯端末、 デスク トップ型コンピュータ、 ノート型コンピュータ、 携帯電話 機、 オーディオ装置、 家電装置等々のホス ト機器 2の外部記憶メディアとして機 能する。
メモリカード 1は、 図 1に示すように、 ホス ト機器 2に設けられている挿脱口 3に挿入された状態で使用される。 メモリ力一ド 1の揷脱ロ 3に対する挿入及び 抜き取りは、 ユーザが自在に行うことができる。 そのため、 あるホス ト機器に挿 入されていたメモリ力一ド 1を抜き ,屮,して、 他のホス ト機器に挿人することもで きる。 すなわち、 本メモリカード 1は、 異なるホス ト機器間のデータのやり取り に用いることが可能である。
メモリカード 1及びホス ト機器 2は、 4 ビヅ トパラレルデータ、 クロック信号、 バスステ一ト信号の 6つの信号を転送する 6線式半 2重パラレルプロ トコルを用 いたパラレルイン夕フヱ一スでデ一夕の転送を行う。
本究明に係るメモリカード 1は、 図 2に示すように、 略長方形状の薄板状に形 成され、 長手方向の長さ を 5 O m mとし、 幅 を 2 1 · 4 5 m mとし、 厚さ D!を 2 . 8 m mとして形成されている。 メモリカード 1は、 一方の面を表面 1 a とし、 他方の面を裏面 1 bとしている。 メモリカード 1長手方向の一端側の裏面 1 b側には、 図 3に示すように、 1 0個の平面電極である接続端子群 4が設けら れている。 接続端子群 4を構成する各電極は、 メモリカード 1の幅方向に並列し て設けられている。 電極と電極との各問には、 裏而 1 bから垂直に立ち上がった 仕切片 5が設けられている。 各仕切片 5は、 各電極に接続される接続端子が他の 電極に接触することを防止するようにしたものである。 メモリカード 1の裏面 1 bの一端部側の中央部には、 図 3に示すように、 誤消去禁止用のスライ ドスイ ツ チ 6が設けられている。
上述したメモリカード 1が装着されるホスト機器 2には、 メモリカード 1 を挿 脱するための挿脱口 3が設けられている。 挿脱口 3は、 図 1に示すように、 ホス ト機器 2の前面側にメモリカード 1の幅 及び厚さ D!に対応する開口として形 成されている。 揷脱ロ 3を介してホス ト機器 2に挿入されたメモリカード 1は、 接続端子群 4を構成する各電極にホス ト機器 2側の接続端子が接続されることに より、 ホス ト機器 2への保持が図られて脱落が防止される。 なお、 ホス ト機器 2 側の接続端子は、 装着されるメモリカード 1に設けられる接続端子群 4を構成す る電極に対応して 1 0個の接点を有する。
本 ¾ Π月に係るメモリカード 1は、 接続端子群 4が設けられた一端側を挿入端と し、 図 2中矢印 X ,方向を挿入方向として揷脱ロ 3を介してホス ト機器 2に装着さ れる。 ホス ト機器 2に装着されたメモリカード 1は、 接続端子群 4を構成する各 電極とホス ト機器 2側の接続端子の各接点とが接続され、 信号の授受が可能な状 態となる。
次に、 本発明に係るメモリカード 1の内部構成を、 1 4を参照して説明する。 本究明に係るメモリカード 1は、 図 4に示すように、 パラレルインタフェース 回路 ( I / F ) 1 2と、 レジス夕回路 1 3と、 データバッファ回路 1 4と、 E C C 回路 1 5と、 メモリ I / Fコントローラ 1 6と、 不揮発性半導体メモリ 1 7 と、 発 振制御回路 1 8とを備えている。
パラレル I / F回路 1 2は、 6線式半 2重パラレル方式のデータ転送プロ トコル を用いて、 ホス ト機器 2との間でデ一夕の転送を行う回路である。
レジス夕回路 1 3は、 例えば、 ホス ト機器から転送されるメモリ I / Fコン ト口 —ラ 1 6に対する動作制御コマン ド (以下、 この動作制御コマン ドのことをコン ト口一ルコマンドと称する。 ) 、 メモリカード 1内の内部状態、 コン トロールコ マンドを実行する際に必要な諸処のパラメ一夕、 不揮究性半導体メモリ 1 7内の ファイル管理情報等を記憶する回路である。 このレジスタ回路 1 3は、 ホス ト機 器 2及びメモリ I / Fコン トローラ 1 6の両者からアクセスされる。 なお、 ホス ト 機器 2は、 本メモリカードのデータ転送プロ トコル上で規定される転送プロ トコ ルコマンド (以下、 T P C (Transfer Protocol Command)という。 ) を用いて、 レ ジス夕回路 1 3に対してアクセスを行う。 すなわち、 レジス夕回路 1 3に格納さ れるコン ト口一ルコマンドゃ各種パラメ一夕に対してホス ト機器 2が書き込みや 読み出しをする場合には、 T P Cを用いて行う。
デ一夕パッファ回路 1 4は、 不揮究性半導体メモリ 1 7へ書き込まれるデ一夕、 並びに、 不揮発性半導体メモリ 1 7から読み出されたデータを、 一時的に保存す るメモリ回路である。 すなわち、 ホス ト機器 2から不揮発性半導体メモリ 1 7へ データが書き込まれる場合には、 書き込み対象デ一夕がホス ト機器 2からデータ バッファ回路 1 4へデータ転送プロ トコルに従って転送され、 その後、 データバ ッファ回路 14に格納されている書き込み対象データをメモリ I/Fコン ト ローラ 1 6が不揮発性半導体メモリ 1 7に書き込む。 不揮発性半導体メモリ 1 7からホ ス ト機器 2へデータが読み出される場合には、 メモリ I /Fコン トロ一ラ 1 6が不 揮発性半導体メモリ 1 7から読み出し対象データを読み出して一旦データバッフ ァ回路 14に格納し、 その後、 その読み出し対象データがデータ転送プロ トコル に従ってデータバッファ回路 1 4からホス ト機器 2へ転送される。
なお、 データバッファ回路 1 4は、 所定のデ一夕書き込み単位 (例えば、 フラ ヅシュメモリのページサイズと同一-の 5 1 2バイ ト) 分のデータ容量を有してい る。 なお、 ホス ト機器 2は、 T P Cを用いて、 データバッファ回路 1 4に対して アクセスを行う。 すなわち、 デ一夕バッファ回路 1 4に格納されるデータに対し て、 ホスト機器 2が書き込みや読み出しをする場合には、 TP Cを用いて行う。
£〇〇回路1 5は、 不揮究性半導体メモリ 1 7へ書き込まれるデータに対して 誤り訂正コード (E C C) を付加する。 また、 E C C回路 1 5は、 不揮究性半導 体メモリ 1 7から読み出したデ一夕に付加されている誤り訂正コードに基づき、 この読み出したデータに対する誤り訂正処理を行う。 例えば、 誤り訂正コードは、 5 1 2バイ トのデ一夕単位に対して 3バイ ト分付加される。
メモリ I /Fコン トローラ 1 6は、 レジスタ回路 1 3内に格納されているコン ト ロールコマンドに従い、 デ一夕バッファ回路 1 4と不揮発性半導体メモリ 1 7と の間のデータのやり取りの制御、 不揮究性半導体メモリ 1 7のデータのセキユ リ ティ管理の制御、 メモリカード 1のその他のファンクションの制御、 並びに、 レ ジス夕回路 1 3内に格納されているデータの更新処理等を行う。
不揮発性半導体メモリ 1 7は、 例えば、 N AND型のフラッシュメモリ等の不 揮発性の半導体メモリである。 不揮発性半導体メモリ 1 7の容量は、 例えば 1 6 Mバイ ト、 32 Mバイ ト、 64 Mバイ ト、 1 2 8 Mバイ トである。 不揮発性半導 体メモリ 1 7は、 消去ブロック単位が、 例えば 1 6 Kバイ トである。 読み書き単 位はページと称され、 デ一夕バッファ回路 1 4と同一の 5 1 2バイ トである。 発 振制御回路 1 8は、 本メモリカ一ド 1内の動作クロックを発生する。
メモリカード 1の接続端子には、 VS S端子、 VCC端子、 DATA 0端子、 DATA 1端子、 DATA 2端子、 DATA 3端子、 B S端子、 C LK端子、 I N S端子が設けられている。 なお、 V S S端子は 2つ設けられているので、 メモ リカード 1には、 合計 1 0個の接続端子が設けられていることとなる。 ホス ト機 器 2侧にも同様の接続端子が設けられている。
VS S端子は、 VS S (基準 0ボルト電圧) が接続される。 この VS S端子は、 ホス ト機器側のグランドとメモリカード側のグラン ドとを接続し、 ホス ト機器と メモリカードとの 0ボルト基準電位を一致させる。 VC C端子は、 電源電圧 (V C C) がホスト機器から供給される。
DAT A 0端子は、 メモリカード 1 とホス ト機器 2との間に転送される 4ビッ トパラレルデータのうちの最下位ビッ トのデータ信号 (DATA 0) が入出力さ れる。 DATA 1端子は、 メモリカード 1とホス ト機器 2との間に転送される 4 ビッ トパラレルデ一夕のうちの下位から 2ビッ ト目のデータ信号 (DATA 1 ) が入出力される。 DATA 2端子は、 メモリカード 1とホス ト機器 2との間に転 送される 4ビヅ トパラレルデータのうちの下位から 3ビッ ト目のデータ信号 (D AT A 2 ) が入出力される。 DATA 3端子は、 メモリカード 1 とホス ト機器 2 との間に転送される 4ビッ トパラレルデータのうちの下位から 4ビッ ト目のデ一 夕信号 (DATA 3) が入出力される。
B S端子は、 バスステート信号がホスト機器からメモリ力一ドへ入力される。 C LK端子は、 クロック信号がホス ト機器 2から入力される。 I NS端子は、 メ モリカードがスロッ トに揷入されているか、 或いは、 挿入されていないかを、 ホ ス ト機器 2が判断するための挿入/抜出検出に用いられる。 メモリカード 1の I N S端子はグランドに接続されており、 ホス ト機器 2の I N S端子は抵抗を介して ブルアツプされている。
次に、 メモリカード 1とホスト機器 2との間のデータ伝送をするためのインタ フェースの機能構成を図 5を参照して説明する。
ホス ト機器 2のインタフェース機能は、 図 5に示すように、 ファイルマネージ ャ 3 1と、 TP Cインタフェース 32と、 パラレルインタフェース 33とから構 成される。 また、 メモリカード 1のインタフェース機能は、 パラレルイ ンタフエ —ス 33と、 レジス夕 35と、 データバヅファ 36と、 メモリコントローラ 3 7 と、 メモリ 38とから構成される。 ファイルマネージャ 3 1は、 ホス ト機器のオペレーションシステムであり、 メ モリカード 1内に格納されているファイル、 並びに、 ホス ト機器の他のメディア に格納されているファイルの管理を行う。 本実施の形態では、 ファイルマネージ ャ 3 1は、 ォペレ一ションシステムとして M S - D O S (Micorosoft D i sc Oper ation System) (登録商標) が用いられる。 ファイルマネージャ 3 1は、 M S— D 0 Sによりホス ト機器 2に接続されている他のス トレ一ジメディァも管理して いる。 ファイルマネージャ 3 1は、 ホス ト機器 2内のコン 卜ローラ内に ¾現され る機能である。
T P Cインタフェース 3 2は、 ファイルマネージャ 3 1の下位レイャとなるィ ンタフエース機能である。 T P Cイン夕フエ一ス 3 2は、 本インタフエ一スの特 有のコマンド (T P C transfer Protocol Command) が規定されたデータ転送プ 口 トコルにより、 メモリカード 1内のレジスタ 3 5及びデ一夕バヅファ 3 6ヘア クセスを行う。 この T P Cイン夕フェース 3 2は、 ホス ト機器 2内のコン ト口一 ラ等により実現される機能である。
パラレルインタフェース 3 3、 3 4は、 T P Cイ ン夕フエ一ス 3 2の下位レイ ャとなり、 木イン夕フェースシステムの物理階層である。 パラレルイン夕フエ一 ス 3 3、 3 4は、 4ビッ トパラレルデ一夕、 クロック、 バスステート信号の 6つ の信号を転送するデ一夕転送プロ トコルである 6線式半 2重パラレルプロ トコル に従い、 データ転送を行う。 パラレルイン夕フエ一ス 3 3、 3 4は、 パラレルィ ン夕フヱ一ス回路 1 2により実現される機能である。
レジスタ 3 5は、 ホス トから転送されたコン トロールコマン ド、 メモリカード の内部状態、 メモリ 3 8にアクセスするデ一夕のアドレス、 コントロールコマン ドを実行する際に必要な諸処のパラメータ、 メモリ内のファイル管理情報等を格 納する。 レジス夕 3 5は、 メモリカード 1のレジスタ回路 1 3上に実現される機 能である。
データバッファ 3 6は、 メモリ 3 8へ書き込まれるデ一夕、 並びに、 メモリ 3 8から読み出されたデータを、 一時的に保存するバッファ領域である。 データバ ッファ 3 6は、 メモリカード 1のデータバヅファ回路 1 4上に実現される機能で ある。 メモリ I / Fコン トローラ 3 7は、 レジス夕 3 5内に格納されているコマン ド並 びに各種情報に従い、 データバッファ 3 6とメモリ 3 8との間のデータの読み出 し、 書き込み、 消去、 並びに、 レジスタ 3 5内の各種情報の更新等の制御を行う。 メモリ I / Fコン トロ一ラ 3 7は、 ホス ト機器 2上のメモリ I / Fコン トロ一ラ 1 6により実現される機能である。
メモリ 3 8は、 デ一夕のメモリ領域であり、 メモリ I / Fコン トローラ 3 7を通 して独自のモデルとして仮想化されている。 メモリ 3 8は、 メモリカード 1上の 不揮発性半導体メモリ 1 7により実現される機能である。
以上のような構成のホス ト機器及びメモリ力一ドでは、 ファイルマネージャ 3 1に管理されている他のメディアに格納されているデータを、 パラレルインタフ エース 3 3、 3 4を介してメモリ 3 8に転送することができる。 ファイルマネ一 ジャ 3 1は、 本メモリカードと他のス トレ一ジデバイスとを、 オペレーションシ ステム (M S— D O S ) で共通に管理しているため、 例えば、 メモリ 3 8に格納 されているデータを他のス トレ一ジメディアに転送したり、 他のス トレ一ジメデ ィァに格納されているデータをメモリ 3 8に転送したりすることができる。
次に、 メモリカード 1のデ一夕格納領域 (不揮発性半導休メモリ 1 7 ) の物理 フォ一マツ 卜について説明をする。
メモリカード 1は、 ユーザに生成されたファイルが格納されるユーザエリアと、 本メモリカード 1の内部情報等が格納されているシステムエリアとから構成され ている。 ユーザエリア及びシステムエリアは、 ともにコントロールコマン ドを用 いてホス ト機器 2からアクセスが可能である。 但し、 ユーザエリアとシステムェ リアとは、 互いに異なるアドレス空間に形成されており、 異なるコン トロールコ マンドによりホス ト機器 2からアクセスが行われる。
ユーザェリァは、 例えば 6 4 Kバイ ト又は 1 2 8 Kバイ トのブ口ックと呼ばれ る単位で物理的に分割されている。 このプロックが本メモリカード 1における一 括消去の単位となる。 すなわち、 フラッシュメモリにおける消去ブロックが、 本 ブロックに対応する。
ブロックには、 有効ブロック及び予備ブロックの 2種類がある。 有効ブロック は、 ファイルの実体デ一夕等が記録されるブロックである。 予備ブロックは、 後 %性の不良の代替データが記録される領域である。
ユーザェリァは、 ホス ト機器 2からはセクタ単位で述続するエリアとして認識 されるが、 内部では有効なデータを記録するセクタ番号から導き出される論理ブ 口ック番号と物理プロック番号とで管理されている。 論理プロック番号と物理ブ 口ック番号との対応情報は物理プロックの管理工リァである冗長部に記録すると ともに、 対応をデ一夕化した状態でホス 卜機器 2からはアクセスできないシステ ムエリアに, i録している。
各ブロックには、 ブロックの格納位置を特定する物理ブロック番号が設定され ている。 この物理ブロック番号は、 有効ブロック及び予 ブロックの区別に関わ らずユニークに番号が設定されている。 有効ブロックには、 論理ブロック番号が 記録される。 論理ブロック番号は、 各ブロック内の所定の領域に書き込まれる。 論理ブロック番号は、 本メモリカード 1の初期化時に記録される。 ブロックに不 良が生じた場合には、 未記録の予備ブロックに対して、 不良ブロックの論理プロ ック番号を書き込んで、 論理ブロック番号の代替が行われる。 各ブロック内は、 ページと呼ばれる書き込み読み出し単位で分割されている。 このページが、 後述 する論理フォーマッ トにおけるセク夕と一対一で対応する。
各ブロックに付けられる論理ブロック番号は、 後述する論理フォーマッ トにお けるクラスタ番号及び L B Aセクタ番号と一義的に対応する。 ホス ト機器 2側か らは、 後述する論理フォーマツ 卜でデータ格納領域に対して仮想的にアクセスが されるが、 メモリ I / Fコン トローラ 1 6が、 論理プロヅク番号と物理ブロヅク番 号との対応関係が記述された論理一物理変換テーブルを用いてアドレス変換を行 う。 そのため、 ホス ト機器 2側は、 物理的にデータが記録されている位置を把握 しなくても、 論理的なアドレス (クラス夕番号や L B Aセクタ番号) を用いて不 揮究性半導体メモリ 1 7に対してアクセスを行うことが可能となる。
次に、 システムエリァの物理フォーマッ トを説明する。
システムエリアには、 本メモリ力一ド 1 を制御するために必要となる情報が記 録されるァトリビュート情報ェリアが設けられている。
ァト リビュート情報エリアに記録されるデータは、 図 6に示すような構造を有 する。 アト リ ビュート情報エリアには、 図 6に示すように、 "ATRB info area conf i nation" 、 "Devi ce- Informati on entry" 、 "System information" 、 "MBR V alues" 、 "PBR Values" が記録されている
"ATRB info area conf i rmation" には、 当該ァト リ ビュート情報ェリァを識別 するための識別コ一ドが含まれている。
"Devi ce-Information entry" は、 以下の "Device - Informat ion ( System inf onation, MBR Values , PBR Values) " の各記録位 gを示す。 記録位置は、 アト リビュート情報ェリアのオフセッ ト値で表される。 .
"System information" には、 本メモリカード 1の内部情報が記録される。 例 えば、 "System information" には、 バ一ジョンやクラス情報、 1 ブロヅクのバ イ ト数、 1 ブロックに含まれるセクタ数、 トータルブロック数、 アセンブリ日時、 シリアル番号、 アセンブリメーカ番号、 フラッシュメモリのメ一力番号、 フラヅ シュメモリのモデル番号、 コン トローラの番号、 コン トローラの機能、 ブロック 境界の鬨始セクタ番号、 デバイスタイプ (リードライ ト可能、 リードオンリ一 等) 等が記録される。
なお、 "System information" に記録されている 「 1ブロックに含まれるセク 夕数」 及び 「ブロック境界の閧始セクタ番号」 は、 ホス ト機器 2が 「リアルタイ ム記録モード」 でデータを記録する際に参照されることとなる。 「リアルタイム 記録モード」 の処理については、 その詳細を後述する。
"MBR Values" には、 M S— D 0 S上で規定されている 「M B R」 (Master B oot Record) の推奨パラメ一夕が記録されている。 例えば、 "MBR Values" には、 M B R内に記録されるブート識別、 開始ヘッ ド番号、 開始シリンダ番号、 システ ム識別、 最終ヘッ ド番号、 最終セクタ番号、 最終シリンダ番号、 開始 L B Aセク 夕番号、 パーティションサイズが記録される。 開始 L B Aセクタ番号に示された セクタが、 「P B R」 (Parti tion Boot Record) の記録位置となる。 つまり、 M S— D 0 S上で規定されている各パーティションの閧始位置となる。 なお、 M S — D O Sでは、 1つのス トレージメディア内に、 複数のパーティ ションを形成す ることが可能とされているが、 本例では不揮発性半導体メモリ 1 7に形成される パーティションは 1つであるものとしている。 本 ¾明は、 1つのみのパーティションを形成した場合のメモリカ一ドに限定し て適用されるものではなく、 複数のパ一テイションを形成した場合のメモリカ一 ドに適用してもよい。
"PBR Values" には、 M S— D 0 S上で規定されている 「P B R」 の推奨パラ メータが記録されている。 例えば、 "PBR Values" には、 P B R内に記録される ジャンプコード、 O E M名とバージョン、 1セクタあたりのバイ ト数、 1クラス 夕あたりのセクタ数、 予約セクタ数、 F A T ( Fi le Al locat ion Tab le) 数、 ル ートディ レク ト リエン トリのエン トリ数、 メディア内のセクタの数、 メディア I D、 1 F A Tあたりのセクタ数、 1ヘッ ドあたりのセクタ数、 ヘッ ド数、 隠しセ クタ数、 論理セクタの合計数、 物理ドライブ番号、 拡張ブート識別、 ボリューム のシリアル番号、 ボリュームラベル、 ファイルシステムタイプが記録される。 本発明に係るメモリカード 1のデータ格納領域 (不揮発性半導体メモリ 1 7 ) の物理フォーマツ トは、 以上のように構成されている。
なお、 本発明に係るメモリカード 1 には、 コン ト口一ルコマン ドとして、 ァト リビュート情報を読み出すコマン ド (READ— ATRB) が設定されている。 ホス ト機器 2は、 "MBR Values" 及び "PBR Values" を、 READ_ATRBコマン ドを用いて読み出 すことにより、 アセンブリメーカにより推奨される論理フォーマッ トで、 メモリ カード 1 を初期化することが可能となる。 また、 本メモリカード 1には、 コン ト ロールコマンドとして、 不揮発性半導体メモリ 1 7を初期化するコマン ド (FORM AT) が設定されている。 ホスト機器 2は、 メモリカード 1に対して FORMATコマン ドを与えると、 メモリ I / Fコン トローラ 1 6がアト リ ビュート情報エリア内に記 録されている "MBR Values" 及び "PBR Values" を参照し、 この "MBR Values" 及び "PBR Values" の内容に従い不揮発性半導体メモリ 1 7を初期化する。 メモ リカ一ド 1の初期化については、 その詳細を後述する。
次に、 本発明に係るメモリカード 1に適用される論理フォーマツ トについて説 明をする。
本発明に係るメモリカードでは、 データ格納領域に対する論理フォーマツ 卜と して、 M S—D 0 S互換フォーマッ トを採用している。 M S— D O S互換フォー マッ トは、 階層ディ レク ト リ構造でメディア内に記録されているデータファイル を管理するファイルシステムである。 MS— D 0 S互換フォーマッ トでは、 シリ ング、 ヘッ ド、 セクタと呼ばれる単位でメディアに対してデータのアクセスが行 われる。 メディァに対する実際のデータの読み出し/窗き込みの単位はセクタと なる。 さらに、 MS— DO S互換フォーマッ トでは、 記録されているデータを管 理するにあたりクラスタという単位を定めている。 クラス夕のサイズは、 セクタ のサイズの倍数となる。 例えば、 64セクタで 1クラス夕が構成される。 ホス ト 機器 2側のオペレーションシステム上からは、 クラス夕単位でファイルの管理が 行われる。
本発明に係るメモリ力一ド 1に適用される論理フォーマヅ 卜では、 ブロックの サイズよりもクラスタのサイズが小さく、 さらに、 クラスタのサイズの n倍 (n は 2以上の整数) が 1つのブロックのサイズとなる。 例えば、 1ブロックのデ一 夕サイズが 1 28 Kバイ トである場合、 1クラス夕のデータサイズが 3 2 Kバイ ト、 つまり、 1つのブロック内に 4クラスタが記録される。
本発明に係るメモリカード 1に適用される論理フォ一マッ トは、 プロックの境 界位置が、 必ずクラスタの境界位置と一致するように、 設定がされる。 つまり、 1つのクラスタが、 2つのプロックに跨らないように設定がされる。
論理フォーマツ トを以上のような条件に設定するには、 MS— DO Sのフアイ ル管理データ (MBR、 PBR、 FAT、 ルートディ レク トリ) の記録位 gや、 各ファイル管理データ内に記録されるパラメータを調整すればよい。 このような 条件で論理フォーマッ トを行うためのパラメ一夕は、 アト リビュート情報内の "MBR Values"及び "PBR Values" に記録されている。
MS -D 0 Sのファイル管理デ一夕の内容は以下のとおりである。
MBRは、 ユーザ領域の先頭に配置される。 MB R内に記述される内容は、 ァ ト リビュート情報内の "MBR Values" に記述される内容と同様である。
PBRは、 各パーティションの先頭セクタに配置される。 PBRが記録されて いるセクタは、 MBR内の開始 LB Aセクタ番号に記述されている。 なお、 LB Aセクタ番号とは、 有効ブロック内、 或いは有効ブロックから代替された代替ブ ロックの各セクタにユニークに付けられた番号である。 LBAセクタ番号は、 論 理ブロック番号が 0のプロックの先頭セクタから、 昇順に付けられている。 FATは、 PBRに続く次のセクタから、 複数のセクタに亘つて記録される。 F A Tは、 ユーザ領域で扱われるファィルの連結状態をクラスタ 立で表してい る。
メディア上に記録されているデータは、 クラスタ単位で管理されているが、 1 つのファイルの木体が複数のクラスタに直る場合には、 1つのクラスタを最後ま で読み出した後に、 次のクラス夕を読み出さなければならない。 しかしながら、 つぎのクラスタは、 必ずしも物理的に迚続する位置に記録されているとは限らな い。 そのため、 ホスト機器 2は、 メディア上に記録されているデータに対してァ クセスを行う場合、 ある 1つのクラス夕に続くクラス夕が、 どのクラスタである かを示す情報が必要となる。 このような情報が記録されているのが、 FATであ る。
FATには、 メディア上に存在するクラス夕数と同じだけの、 格納領域が設け られて構成されている。 メディア上に存茌する全てのクラスタには、 0 2 ( 1 6 進数) から始まるクラス夕番号が付けられている。 FAT内の各格納領域には、 クラスタ番号が一義的に割り当てられる。 各格納領域には、 自己が割り当てられ ているクラスタに接続した次のクラス夕の番号が格納される。 このため、 あるク ラスタに接続される次のクラス夕を見つけ出したい場合には、 そのクラスタが割 り当てられている格納領域に格納されている番号を参照すればよい。
なお、 本メモリ力一ド 1では、 ノ ヅクアツプのために 2つの FAT (FAT 1 , FAT 2) を記録している。 また、 1つの FATの物理的なデータサイズは、 メ ディァ内のクラスタ数が変化しないため、 データ内容が更新したとしても必ず一 定となる。
ルートディレク トリェント リは、 ルートディ レク ト リに配置される各ファイル 及びサブディレク トリのェント リ情報が記述される。 ルートディ レク ト リェン ト リは、 FATが記録された最終セクタに続く次のセクタから記録される。 1つの ェン ト リ情報のバイ ト数は規定値であり、 且つ、 ルートディ レク ト リに配置され るェン ト リ数も規定値となる。 そのため、 ルートディ レク ト リエン ト リのデ一夕 サイズは、 必ず一定となる。 なお、 MS— DO S互換フォーマッ トの拡張型であ る FAT32ファイルシステムではル一トディ レク ト リェント リの特別扱いは廃止され、 ルートディレク ト リエン ト リもクラス夕の管理化におかれる。
M S— D 0 S互換フォーマツ トでは、 以上のファイル管理データに続く次のセ クタから、 最初のクラス夕 (クラス夕番号 " 0 2 " ) が閧始される。 すなわち、 ルートディ レク ト リェン ト リが記録された最終セクタの次のセクタ以降が、 ユー ザにより生成された実際のファイルが記録される領域となる。 従って、 本メモリ カード 1では、 このクラスタ番号 0 2の最初のセクタが、 必ず、 ブロックの先頭 セクタとなるように、 上記のファイル管理データが記録される。 本メモリカード 1では、 ュ一ザ領域内のいずれかのプロックの闢始セク夕の L B Aセクタ番号が、 アト リビュート情報内の 「ブロック境界の開始セクタ番号」 に記述される。
なお、 本発明に係るメモリカード 1には、 いわゆるスーパ一フロッピー方式と 称されるフォーマッ トを適用してもよい。 スーパ一フロヅビー方式では、 上述し た M B Rにあたる管理データが存在せず、 P B Rがユーザ領域の先頭に記録され る。 本発明は、 M S— D 0 S互換フォーマッ トに限らず、 スーパーフロッピ一方 式のような M B Rが存在しないフォーマツ トにも適用することができる。
次に、 ホス ト機器 2によるメモリカード 1の初期化処理、 並びに、 データ記録 処理について説明する。
本発明に係るメモリカード 1 をホス ト機器 2のオペレーションシステムから参 照可能とするには、 メモリカード 1を M S—D 0 Sのファイルシステムで初期化 する必要がある。 初期化処理は、 少なく ともファイル管理データ (M B R、 P B R、 F A T , ルートディ レク ト リエントリ) の記録を行えばよい。 初期化処理は、 通常、 メモリカード 1の工場出荷時に行われているが、 必要に応じてユーザが行 うこともできる。
本メモリカード 1に対して初期化処理を行うには、 2つの方法がある。 第 1の 方法は、 書き込み用のコン トロールコマン ドを用いて必要なデータを所定のセク 夕に書き込んでいく方法である。 第 2の方法は、 初期化用のコントロールコマン ドを用いる方法である。
上記第 1の方法及び第 2の方法を説明するにあたり、 まず、 コントロールコマ ンドについて説明をする。 '
メモリカード 1では、 メモリ I / Fコントローラ 1 6に対して、 ホス ト機器 2か ら動作制御コマン ドが転送されることが、 インタフェースプロ トコル上で定めら れている。 コン トロールコマン ドは、 ホス ト機器 2から T P Cの中のコマン ドセ ッ ト命令により レジスタ回路 1 3内のコマンドレジスタに格納される。 メモリ I / Fコントローラ 1 6は、 コマンドレジス夕内にコントロールコマンドが格納され ると、 そのコン トロールコマン ドに対応した動作制御を実行する。
コントロールコマン ドには、 例えば、 不揮発性半 ¾休メモリ 1 7からデ一タパ ッファ回路 1 4へデータを読み出すコマン ド、 デ一夕バッファ回路 1 4から不揮 発性半導体メモリ 1 7へデータを書き込むコマン ド、 不揮発性半導体メモリ 1 7 上のデータを消去するコマンド、 本メモリ力一ド 1 を工場出荷状態に戻すフォー マッ トコマンド、 メモリカード 1の発振器 1 8の動作を停止させるスリーブコマ ンド等がある。
以下に、 コント口一ルコマンドの具体例を示す。
READ— DATAコマン ドは、 不揮発性半導体メモリ 1 7のュ一ザェリァの指定ァドレ スからデ一夕を連続的に、 読み出していく命令である。 メモリ I / Fコントローラ. 1 6は、 この READ_DATAコマン ドが与えられると、 レジスタ回路 1 3内のアドレス レジスタに格納されているアドレスを参照し、 不揮発性半導体メモリ 1 7上のァ ドレスに対してアクセスを行い、 このアドレスからデ一夕を読み出していく。 読 み出したデ一夕は、 一旦データバッファ回路 1 4へ転送する。 メモリ I / Fコン ト ローラ 1 6は、 データバッファ回路 1 4がー杯となると、 すなわち、 5 1 2バイ ト分デ一夕を読み出すと、 ホス ト機器 2に対して転送要求の割り込みを発行する。 そして、 ホス ト機器 2によってデータバッファ回路 1 4内のデータが読み出され ると、 続くデータを不揮発性半導体メモリ 1 7からデータバッファ回路 1 4へ転 送していく。 メモリ I / Fコントローラ 1 6は、 レジスタ回路 1 3内のデータカウ ントレジスタに格納されているデータ数分データを読み出すまで、 以上の処理を 繰り返す。
WRITE_DATAコマン ドは、 デ一夕バッファ回路 1 4に格納されているデ一夕を、 不揮究性半導体メモリ 1 7のユーザェリァの指定ァドレスからデ一夕を連続的に 記録していく命令である。 メモリ I / Fコン トローラ 1 6は、 WRITE—DATAコマン ド が与えられると、 レジスタ回路 1 3内のデ一夕アドレスレジス夕に格納されてい るァドレスを参照し、 不揮発性半導体メモリ 1 7上のアドレスに対してアクセス を行い、 このアドレスからデータを書き込んでいく。 書き込むデータは、 デ一夕 ノ ソフ ァ回路 1 4に格納されているデータである。 メモリ I/Fコン トロ一ラ 1 6 は、 データバッファ回路 1 4内が空となると、 すなわち、 5 1 2バイ ト分データ を書き込むと、 ホス ト機器 2に対して転送要求の割り込みを発行する。 そして、 ホスト機器 2によってデータバッファ回路 14内にデ一夕が書き込まれると、 続 くデータをデータバッファ回路 1 4から不揮発性- 導休メモリ 1 7へ書き込んで いく。 メモリ I /Fコン トローラ 1 6は、 レジス夕回路 1 3内のデ一タカゥン トレ ジス夕に格納されているデータ数分データを書き込むまで、 以上の処理を繰り返 す。
READ— ATRBコマン ドは、 不揮発性半導体メモリ 1 7からアト リ ビュート情報を読 み出す命令である。 メモリ I /Fコントローラ 1 6は、 この READ_ATRBが与えられ ると、 不揮発性半導体メモリ 1 7内のアト リビュート情報を読み出して、 データ ノ、'ッファ回路 1 4に転送する。
FORMATコマンドは、 不揮発性半導体メモリ 1 7からアト リビュート情報を読み 出し、 このァト リビュート情報内の "MBR Values"及び "PBR Values" を読み出 し、 その値に従い、 不揮発性半導体メモリ 1 7内に MB R、 PBR、 FAT、 ル —トディ レク ト リエント リを書き込んでいく。
以上がコントロールコマンドの説明である。
メモリカード 1を第 1の方法で初期化する場合には、 ホス ト機器 2は、 READ_A TRBコマンドを用いて、 ァト リ ビュート情報内の "MBR Values" 及び "PBR Value s" を読み出す。 そして、 読み出した "MBR Values"及び "PBR Values" に記述さ れている値を参照し、 MBR、 PBR、 FAT, ルートディ レク ト リを生成する。 そして、 さらに、 "MBR Values" 及び "PBR Values" に記述されている所定のセ ク夕に対して、 WRITE— DATAコマン ドを用いて、 生成した MB R、 PBR、 FAT、 ルートディ レク ト リエント リを書き込んでいく。 このような処理を行うことによ つて、 メモリカード 1が初期化され、 ホス ト機器 2により参照可能となる。
なお、 MBR、 PBR、 FAT、 ルートディ レク ト リエント リの値は、 ァト リ ビュート情報内の "MBR Values"及び "PBR Values" に従わず、 ホス ト機器 2が 独自に生成してもよい。
メモリカード 1を第 2の方法で初期化する場合には、 ホス ト機器 2は、 FORMAT コマンドをホス ト機器 2のメモリ I / Fコントローラ 1 6に与える。 メモリ I / F コントローラ 1 6は、 FORMATコマン ドが与えられると、 ア ト リ ビュート情報内の "MBR Values" 及び " PBR Values" を読み出す。 そして、 メモリ I / Fコン トロー ラ 1 6は、 読み出した "MBR Values" 及び "PBR Values" に記述されている値に 基づき、 "MBR Values" 及び "PBR Va lues" に記述されている所定のセクタに対 して、 不揮発性半導体メモリ 1 7に対して M B R、 P B R、 F A T、 ルートディ レク ト リエン ト リを書き込んでいく。 このような処理を行うことによって、 メモ リカ一ド 1が初期化され、 ホス ト機器 2により参照可能となる。
以上のように、 本発明に係るメモリカード 1では、 ホス ト機器 2が書き込み用 のコマン ド (WRITE_MTAコマン ド) を用いて、 ホス ト機器 2自身が生成したパラ メ一夕を書き込んでいって初期化を行う方法と、 ホス ト機器 2が初期化用のコマ ン ド (FORMATコマン ド) を用いて、 メモリカード 1が自動的に初期化を行う方法 との 2種類の初期化を選択的に行うことが可能となる。 ホス ト機器 2では、 メモ リカード 1に対して初期化を行う場合に、 初期化用のコマンド (FORMATコマン ド) を用いることができるので、 各バ一ジョンや規格毎に対応した専用のパラメ 一夕や初期化処理プログラムを内蔵する必要がなくなり、 容易に初期化を行うこ · とができる。
続いて、 ホス ト機器 2からメモリカード 1に対してデータを記録する場合の動 作について、 図 7を参照して説明をする。
ホス ト機器 2は、 メモリカード 1がスロッ トに装着されると、 アト リビュート 情報を読み出すコマンド (READ_ATRBコマンド) を用いて、 アト リ ビュート情報内 の "System information" から、 「 1 ブロックに含まれるセクタ数」 及び 「ブロ ック境界の開始セクタ番号」 を読み出す (ステップ S 1 1 ) 。
続いて、 ホスト機器 2は、 ユーザにより記録動作が開始されるまで、 処理を待 機する (ステップ S 1 2 ) 。
ユーザにより記録動作が開始されると、 現在の記録モードが、 リアルタイム記 録モードであるか、 通常記録モードであるかを判断する (ステップ S 1 3 ) 。 記録モードが通常記録モードである場合にはステップ S 1 4に進み、 リアル夕 ィム記録モードである場合にはステツプ S 1 5に進む。
ここで、 リアルタイム記録モードとは、 例えば、 動画像信号の実時間記録を行 う場合等の記録データの生成処理に対してデータ記録処理が追従しなければなら ないような記録処理や、 大容量データの記録処理などの高速記録が要求される記 録処理の場合に、 適 fflされるモードである。 それに対して、 通常記録モードとは、 例えば、 静止画像信号の記鉍を行う場合等の高速記録が :求されない場合の記録 モードでである。 リアルタイム記録と通常記録のモード選択は、 ュ一ザが手動で 設定してもよいし、 ホス ト機器 2が記録するデータに合わせて自動選択してもよ い。
ステップ S 1 4では、 1 クラス夕単位での記録処理を行う。 すなわち、 F A T を参照してクラスタ単位で空き領域を検索し、 見つけ出した空き領域に順次デー タを記録していく。
ステップ S 1 5では、 F A Tを参照して、 1 ブロック分連続した空き領域を見 つけ出し、 1ブロック分連続して空き領域があれば、 そのブロックに対して連続 してデ一夕を記録する。 すなわち、 空きクラスタがあつたとしても、 その空きク ラス夕が含まれているプロックの他のクラス夕に、 既にデータが記録されていれ ば、 その空きクラスタに対してはデータを記録しない。 例えば、 1ブロックが 4 クラス夕で構成されていれば、 4クラスタ単位で空きプロヅクに対してデ一夕を 記録していく。
ホス ト機器 2は、 通常であれば、 物理フォーマッ ト上のブロックの認識をする ことができないが、 本メモリカード 1では、 ブロックの境界位置が必ずクラス夕 の境界位置となるように論理フォーマッ トが形成されている。 そのため、 1 プロ ヅク内のクラスタ数 (或いはセクタ数) とブロックの境界のクラスタ番号 (或い は L B Aセクタ番号) がわかれば、 論理フォーマッ ト上からブロックを認識する ことができる。 従って、 ホスト機器 2は、 1ブロック内のクラスタ数並びにプロ ックの先頭クラス夕の位置を、 ステップ S 1 1で参照した 「 1ブロックに含まれ るセクタ数」 及び 「プロヅク境界の閧始セクタ番号」 から判断することができる。 このようなリアルタイム記録モードを適用すれば、 クラス夕のサイズょり消去 ブロックのサイズの方が大きいメディアに対しても、 特殊なファイルシステムを 用いることなく、 ブロック単位でデータを記録することが可能となる。 このため、 このリアルタイム記録モードでは、 記録済みデータを保護するために必要となる ガべッジコレクションが発生することなく、 データが記録される。 従って、 通常 にクラス夕単位で記録をするよりも、 高速に記録することが可能となる。
なお、 通常のファイルシステムでは、 データの記録 i i或いは記録中に、 メディ ァ内の空き容量を確認することが可能である。 ホス ト機器 2は、 通常記録モード が選択されている場合には、 F A Tから単純に空きクラス夕数を検出して、 空き 容量を算出する。 一方、 リアルタイム記録モードが選択されている場合には、 F A Tから全てのクラス夕が未記録であるブロックを検出して、 そのブロック数か ら空き容量を算出する。
次に、 メモリカード 1の具体的なフォーマッ ト例を示す。 以下に説明するフォ —マツ ト例は、 全容量が 6 4 Mバイ ト、 セクタサイズが 5 1 2バイ ト、 クラスタ サイズが 3 2 Kバイ ト、 1 ブロックのサイズが 1 2 8 Kバイ ト、 1つの F A Tを 記録するために必要とするセクタ数が 8個であるメモリカード 1に対するもので ある。 従って、 1 クラス夕が 6 4セクタから構成され、 1 ブロックが 4クラス夕 から構成されている。 なお、 本例では、 M S— D O Sのタイプとして、 総クラス タ数が 4 0 8 5を超える場合に用いられる F A T 1 6を適用した場合について説 明をする。 F A T 1 6では、 F A T内の各クラスタに割り当てられるバイ ト数が、 2バイ ト ( 1 6ビヅ ト) である。
図 8に、 第 1の具体例のメディアイメージを示す。 図 9に、 第 1の具体例の各 パラメ一夕の値を示す。 図 1 0に第 1の具体例の M B Rの記述内容を示す。 図 1 1に第 1の具体例の P B Rの記述内容を示す。
L B Aセクタ番号は、 パーティションやブート領域に関わらず、 メディア内の 全有効プロヅクに対してユニークに付けられた番号である。 L B Aセクタ番号は、 先頭セクタが 0とされ、 以後、 1ずつインクリメントされている。 ブロック番号 は、 各有効ブロックに付けられた論理ブロック番号である。 ブロック番号は、 先 頭ブロックが 0とされ、 以後、 1ずつインクリメン トされている。 なお、 有効ブ ロックが代替された場合には、 代替されたブロックに対して、 L B Aセクタ番号 及びプロック番号が付けられる。
第 1の具体例では、 MBRは、 ブロック番号 0の先頭セクタ (LBAセクタ番 号 0 ) に記録される。 PBRは、 ブロック ¾号 1の L B Aセクタ番号 4 62のセ クタに記録される。 FAT 1及び FAT 2は、 ブロック悉号 1の L B Aセクタ番 号 464〜479のセクタに記録される。 ルートディ レク ト リェン ト リは、 プロ ック番号 1の LB Aセクタ番号 4 80〜5 1 1のセクタに記録される。
以上のように M B R、 P B R、 FAT, ルートディ レク ト リエン ト リが記録さ れることによって、 ユーザにより生成されたファイルが記録される先頭のセクタ (クラス夕 2の先頭セクタ) は、 ブロック 2の先頭セクタ (LB Aセクタ番号 5 1 2 ) から記録されることとなる。 この結果、 ブロックの境界位隱が、 クラス夕 の境界位 Kに一致した論理フォーマッ トとされることになる。
次に、 メモリ力一ド 1の具体的なフォーマヅ 卜の第 2の具体例を説明する。 図 1 2に、 第 2の具体例のメディアイメージを示す。 図 1 3に、 第 2の具体例 の各パラメ一夕の値を示す。 図 1 4に第 2の具体例の MB Rの記述内容を示し、 図 1 5に第 2の具体例の P BRの記述内容を示す。
LBAセクタ番号は、 パーティションやブート領域に関わらず、 メディア内の 全有効ブロックに対してユニークに付けられた番号である。 L B Aセクタ番号は、 先頭セクタが 0とされ、 以後、 1ずつインクリメントされている。 ブロック番号 は、 各有効ブロックに付けられた論理ブロック番号である。 ブロック番号は、 先 頭ブロックが 0とされ、 以後、 1ずつインクリメントされている。 なお、 有効ブ ロックが代替された場合には、 代替されたプロヅクに対して、 LB Aセクタ番号 及びプロック番号が付けられる。
第 2の具体例では、 MBRは、 ブロック番号 0の先頭セクタ (LBAセクタ番 号 0) に記録される。 PBRは、 ブロック番号 1の LBAセクタ番号 3 35のセ クタに記録される。 FAT 1及び FAT 2は、 ブロック番号 1の L B Aセクタ番 号 3 3 6〜 35 1のセクタに記録される。 ルートディ レク ト リエン ト リは、 プロ ック番号 1の LBAセクタ番号 3 52〜 383のセクタに記録される。
以上のように MB R、 PBR, FAT、 ルートディ レク トリエン ト リが記録さ れることによって、 ュ一ザにより生成されたファイルが記録される先頭のセクタ (クラスタ 2の先頭セクタ) は、 プロック 1の LB Aセクタ番号 384から記録 されることとなる。 この結果、 ブロックの境界位置が、 クラス夕の境界位置に一 致した論理フォーマッ トとされることになる。
以上のように、 第 1の具体例と、 第 2の具体例は、 ブロック境界位置がクラス 夕境界位置となっており、 ともにホス ト機器 2側から、 ブロック単位の一括記録 ができる、 つまり、 4クラス夕単位で記録ができる。
ところで、 FAT 1 6のフォーマツ トでは、 先頭の 8バイ トカ; "F 8 FF F F F F" の規定値となっている。 また、 FAT 1 6のフォーマッ トでは、 9バイ ト目から 4バイ トずつ各クラス夕の領域が定められている。 最初のクラスタのク ラスタ番号は、 "2" である。 なお、 本例では、 1セクタあたりのバイ ト数が 5 1 2バイ トである。 このため、 FATの第 1セクタには、 クラスタ番号 2〜クラ スタ番号 1 27までのクラスタの領域が形成されることとなる。
第 1の具体例のフォーマッ トの場合、 図 1 6に示すように、 クラスタ番号 02 03、 04、 05でプロヅク 2が構成され、 クラスタ番号 06、 07、 08、 0 9でブロック 3が構成され、 クラス夕番号 0 a、 0 b、 0 c、 0 dでブロック 4 が構成され、 以後、 4クラス夕ごとに 1つのブロックが構成される。 また、 第 1 の具体例のフォーマッ トの場合、 FATの先頭セクタは、 ブロック 33の 2番目 のクラスタ (クラスタ 7 f ) で終了している。 そして、 FATの 2番目のセクタ は、 ブロック 33の 3番目のクラスタ (クラスタ 80) から閧始されている。 つ ま り、 第 1の具体例のフォーマッ トでは、 FAT内で表されているブロックの境 界位置と、 FATの実際のセクタ位置とがー致していない。
これに対して、 第 2の具体例のフォーマットの場合、 図 1 7に示すように、 ク ラス夕番号 02、 03でブロック 1が構成され、 クラスタ番号 04、 0 5、 06、 0 7でプロヅク 2が構成され、 クラスタ番号 08、 09、 0 a、 O bでブロック 3が構成され、 クラスタ番号 0 c、 0 d、 0 e、 0 f でブロック 4が構成され、 以後、 4クラスタごとに 1つのブロックが構成される。 また、 第 2の具体例のフ ォーマヅ トの場合、 FATの先頭セクタは、 ブロック 32の 4番目のクラス夕、 即ち、 ブロック内の最後のクラスタ (クラスタ 7 f ) で終了している。 そして、 FATの 2番目のセクタは、 ブロック 33の最初のクラスタから開始されている。 つまり、 第 2の具体例のフォーマッ トでは、 F A T内で表されているブロックの 境界位置と、 F A Tの実際のセクタ位置とがー致している。
FATの実際のセクタ境界と、 FATで表されたプロックの境界とがー致して いない場合、 例えば、 セクタ境界にあるブロックのクラスタ情報を読み出す場合、 2つのセクタを読まなければならない。 それに対して、 FATの実際のセクタ境 界と、 FATで表されたブロックの境界とがー致している場合、 セクタ境界にあ るプロックのクラスタ情報を読み出す場合であっても、 1つのセクタのみを読み 出せばよい。
従って、 第 1の具体例のフォーマッ トよりも、 第 2の具体例のフォーマヅ 卜の 方が、 ホス ト機器 2側でのファイル管理が容易となる。
第 1の具体例と第 2の具体例とは両者とも、 MBRが、 単独のブロックに記録 されている。 つまり、 MBRが、 PBR、 FAT, ル一トディ レク ト リエン ト リ とは異なるブロックに記録されている。 このように、 MBRを単独のブロックに 記録することによって、 フラッシュメモリのような一括消去単位が定められたメ ディアの場合、 ファイルの安全性が確保される。 つまり、 書き換えの可能性があ る PBR、 FAT, ルートディ レク ト リエントリや、 実データとは異なるブロッ クに記録されているため、 MB Rを書き換える必要がなくなり、 ファイルの安全 性が確保される。
このような MBRと、 PBR、 FAT、 ル一トディ レク ト リとを異なるブロヅ クに記録することは、 本メモリカード 1のような、 ブロックサイズがクラスタサ ィズよりも大きい場合でなくても適用することができる。
通常、 図 1 8に示すように、 MBR、 PBR、 FAT, ルートディ レク ト リエ ント リは、 ブロック位置に関わらず、 セクタ単位で連続して記録される。 つまり、 MB Rがセクタ 0、 PBRがセクタ 1のセクタに記録される。
それに対して、 クラス夕サイズが 32 Kバイ ト、 ブロックサイズが 1 6 Kバイ 卜といったような、 ブロックサイズよりクラス夕サイズの方が小さいメモリ力一 ドである場合には、 図 1 9に示すように、 MBRをセクタ番号 0のセクタに記録 し、 PBRをセクタ番号 47のセクタに記録すればよい。
また、 クラス夕サイズが 32 Kバイ ト、 ブロックサイズが 1 6 Kバイ トといつ たような、 ブロックサイズとクラスタサイズとが一致するメモリカードである場 合には、 図 2 0に示すように、 M B Rをセクタ番号 0のセクタに記録し、 P B R をセクタ番号 7 9のセクタに記録すればよい。
なお、 本究明は、 図面を参照して説明した上述の例に限定されるものではなく、 添付の請求の範囲及びその主旨を逸脱することなく、 様々な変更、 ffi換又はその 同等のものを行うことができることは当業者にとって明らかである。 産業上の利用可能性 本究明に係るデータ記憶装置では、 ホス ト機器から初期化コマン ドが与えられ ると、 内部に格納されているパラメータに応じて、 論理フォーマッ ト用のフアイ ル管理デ一夕を半導体メモリに記録するようにしているので、 ホス ト機器が初期 化用の制御プログラムやパラメ一夕を備えることなく、 容易に初期化を行うこと ができる。

Claims

請求の範囲
1 . ホス ト機器に対して着脱自在に取り付けられるリム一バブルなデータ記憶装 IIにおいて、
記録されているデータが所定のデータ量のブロック単位で一括消去される不揮 発性の半導体メモリと、
本装置の内部情報が記録されたシステム情報記憶部と、
上記ホス ト機器との問でデータの入出力を行うィンタフエースと、
上記ホス ト機器から上記ィンタフェースを介して与えられたコマン ドに基づき、 上記半導体メモリに対する制御を行う制御部とを備え、
上記半導体メモリには、 ユーザによってデータが記録される領域であるュ一ザ 領域が設けられ、
上記ユーザ領域には、 上記ブロックのサイズの 1 / n倍 (nは 2以上の整数) のサイズであるクラスタ単位でファイルの管理を行う論理フォーマッ トに対応し たファイル管理データが記録され、 この論理フォーマツ 卜に基づきホス ト機器か らアクセスがされ、
上記システム情報記憶部には、 上記ファイル管理データを上記ユーザ領域上に 記録するためのパラメ一夕を格納し、
上記制御部は、 上記ホス ト機器から初期化コマン ドが与えられると、 上記シス テム情報記憶部に格納されているパラメ一夕に応じたファイル管理データを上記 半導体メモリに記録するデータ記憶装置。
2 . 上記制御部は、 上記ホスト機器からパラメ一夕読み出しコマンドが与えられ ると、 上記システム情報記憶部に格納されているパラメ一夕を上記ィンタフエ一 スを介してホス ト機器に送信する請求の範囲第 1項記載のデータ記憶装置。
3 . 上記システム情報記憶部は、 上記半導体メモリ上に形成されている請求の範 囲第 1項記載のデ一夕記憶装置。
4 . 上記ファイル管理データは、 データ読み書き単位であるセクタ毎に論理アド レスを設定して記録データを管理するとともに、 上記クラス夕が所定の数のセク 夕から構成されている論理フォ一マッ トに対応している請求の範囲第 2項記載の データ記憶装置。
5 . 上記論理フォーマッ トは、 上記ユーザ領域内の各ブロックの先頭のセクタを、 上記クラスタの先頭のセク夕と一致させている請求の範囲第 4瑣記, I のデータ記 憶装置。
6 . 上記ファイル管理データは、 当該ユーザ領域の先頭の論理アドレスのセクタ に記録されるマスタブ一トレコード (MBR) と、 当該ユーザ領域に形成される各パ —ティ ションの先頭の論现ァドレスのセクタに記録されるパーティションブート レコード (PBR) と、 各 PBRの次の論理アドレスのセクタから複数のセクタに直り 記録されるファイルアロケーションテーブル (FAT) と、 各 FATの次の論理ア ドレ スのセクタから複数のセクタに亘り記録されるルートディ レク ト リェン ト リ とか ら構成され、
上記 MBRには、 PBRが記録されたセクタの論理ァドレスが記述されており、 上記 PBRには、 当該 PBRが記録されているパーティシヨンに関する情報が記述さ れており、
上記 FATには、 当該クラスタの次に接続されるクラス夕を特定する連結情報が格 納される領域が、 パーティション内の全クラスタに対応して設けられており、 上記ルートディ レク ト リエン ト リには、 最上位のディ レク ト リに配置されるフ アイル及びサブディ レク ト リのェント リ情報が記述され、
各パーティションに記録される上記実体データは、 上記ルートディ レク ト リエ ン ト リの次のセクタから記録される請求の範囲第 5項記載のデータ記憶装置。
7 . 上記論理フォーマッ トは、 1つのブロックに記録される連続した n個のクラ スタに対する連結情報の記録領域が、 1つのセクタ内に完結して形成されるよう に、 設定されている請求の範囲第 6項記載のデ一夕記憶装置。
PCT/JP2003/004708 2002-04-15 2003-04-14 Data storing apparatus Ceased WO2003088043A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020037016270A KR100980905B1 (ko) 2002-04-15 2003-04-14 리무버블 데이터 기억 장치, 호스트 기기, 데이터 기록 시스템, 및 리무버블 데이터 기억 장치의 데이터 관리 방법
US10/480,706 US7039754B2 (en) 2002-04-15 2003-04-14 Detachably mounted removable data storage device
EP03746481A EP1496437A4 (en) 2002-04-15 2003-04-14 Data storing apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002-112635 2002-04-15
JP2002112635A JP4206688B2 (ja) 2002-04-15 2002-04-15 データ処理装置及びデータ処理方法

Publications (2)

Publication Number Publication Date
WO2003088043A1 true WO2003088043A1 (en) 2003-10-23
WO2003088043B1 WO2003088043B1 (en) 2004-05-13

Family

ID=29243324

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/004708 Ceased WO2003088043A1 (en) 2002-04-15 2003-04-14 Data storing apparatus

Country Status (6)

Country Link
US (1) US7039754B2 (ja)
EP (1) EP1496437A4 (ja)
JP (1) JP4206688B2 (ja)
KR (1) KR100980905B1 (ja)
CN (1) CN1297900C (ja)
WO (1) WO2003088043A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005109169A1 (ja) 2004-05-07 2005-11-17 Matsushita Electric Industrial Co., Ltd. データアクセス方法、およびその方法が実施される装置と記録媒体
US10474641B2 (en) 2004-12-17 2019-11-12 Microsoft Technology Licensing, Llc Extensible file system

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4079506B2 (ja) * 1997-08-08 2008-04-23 株式会社東芝 不揮発性半導体メモリシステムの制御方法
US20030229472A1 (en) * 2001-12-06 2003-12-11 Kantzes Christopher P. Field maintenance tool with improved device description communication and storage
US10261506B2 (en) * 2002-12-05 2019-04-16 Fisher-Rosemount Systems, Inc. Method of adding software to a field maintenance tool
US8216717B2 (en) 2003-03-06 2012-07-10 Fisher-Rosemount Systems, Inc. Heat flow regulating cover for an electrical storage cell
US7512521B2 (en) * 2003-04-30 2009-03-31 Fisher-Rosemount Systems, Inc. Intrinsically safe field maintenance tool with power islands
US7526802B2 (en) * 2003-05-16 2009-04-28 Fisher-Rosemount Systems, Inc. Memory authentication for intrinsically safe field maintenance tools
US8874402B2 (en) * 2003-05-16 2014-10-28 Fisher-Rosemount Systems, Inc. Physical memory handling for handheld field maintenance tools
JP4773828B2 (ja) * 2004-01-26 2011-09-14 パナソニック株式会社 半導体メモリ装置
JP2005222201A (ja) * 2004-02-04 2005-08-18 Matsushita Electric Ind Co Ltd メモリアクセス装置、及び半導体メモリカード
JP4874588B2 (ja) * 2004-07-12 2012-02-15 株式会社東芝 記憶デバイスおよびホスト機器
EP1769331B1 (en) 2004-07-12 2011-06-29 Kabushiki Kaisha Toshiba Storage device and host apparatus
JP2006085380A (ja) * 2004-09-15 2006-03-30 Toshiba Corp ファイルストレージデバイス、プログラム、及び不揮発性半導体メモリの書込方法
JP4689247B2 (ja) * 2004-11-19 2011-05-25 キヤノン株式会社 カメラ及びその制御方法
US7949665B1 (en) * 2004-11-19 2011-05-24 Symantec Corporation Rapidly traversing disc volumes during file content examination
US7315916B2 (en) * 2004-12-16 2008-01-01 Sandisk Corporation Scratch pad block
US7412560B2 (en) 2004-12-16 2008-08-12 Sandisk Corporation Non-volatile memory and method with multi-stream updating
US20060253643A1 (en) * 2005-05-04 2006-11-09 Delkin Devices, Inc. Memory with isolated master boot record
US8051270B2 (en) * 2005-05-23 2011-11-01 Panasonic Corporation Memory controller, nonvolatile storage device, nonvolatile storage system, and memory control method
US7984084B2 (en) 2005-08-03 2011-07-19 SanDisk Technologies, Inc. Non-volatile memory with scheduled reclaim operations
KR100739722B1 (ko) * 2005-08-20 2007-07-13 삼성전자주식회사 플래시 메모리 관리 방법 및 플래시 메모리 시스템
US8046522B2 (en) 2006-12-26 2011-10-25 SanDisk Technologies, Inc. Use of a direct data file system with a continuous logical address space interface and control of file address storage in logical blocks
US8166267B2 (en) 2006-12-26 2012-04-24 Sandisk Technologies Inc. Managing a LBA interface in a direct data file memory system
US7739444B2 (en) 2006-12-26 2010-06-15 Sandisk Corporation System using a direct data file system with a continuous logical address space interface
US8209461B2 (en) * 2006-12-26 2012-06-26 Sandisk Technologies Inc. Configuration of host LBA interface with flash memory
US7917686B2 (en) 2006-12-26 2011-03-29 Sandisk Corporation Host system with direct data file interface configurability
WO2008082999A2 (en) * 2006-12-26 2008-07-10 Sandisk Corporation Configuration of host lba interface with flash memory
KR100823171B1 (ko) * 2007-02-01 2008-04-18 삼성전자주식회사 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법
KR100923990B1 (ko) * 2007-02-13 2009-10-28 삼성전자주식회사 플래시 저장 장치의 특성을 기반으로 한 컴퓨팅 시스템
KR101395778B1 (ko) * 2007-03-14 2014-05-19 삼성전자주식회사 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법
JP4985108B2 (ja) * 2007-05-30 2012-07-25 ソニー株式会社 データ記憶装置およびその制御方法
CN102385345B (zh) * 2007-06-13 2015-03-04 费希尔-罗斯蒙德系统公司 手持现场维护工具的改进功能
EP2177994A4 (en) * 2007-08-10 2013-08-21 Panasonic Corp INTERCHANGEABLE MEDIUM, FORMAT DEVICE, SYSTEM, PROCESS AND PROGRAM
JP4575410B2 (ja) * 2007-08-29 2010-11-04 株式会社東芝 半導体記憶装置およびその動作方法
US7797818B2 (en) * 2007-09-13 2010-09-21 Sony Ericsson Mobile Communications Ab Flexible modular systems for constructing a wireless communication terminal
JP4551940B2 (ja) 2008-03-01 2010-09-29 株式会社東芝 メモリシステム
TWI452467B (zh) * 2008-10-13 2014-09-11 A Data Technology Co Ltd 記憶體系統及其控制方法
CN102202132B (zh) * 2010-03-24 2013-06-05 中兴通讯股份有限公司 一种对上网设备进行初始化的方法、系统及设备
JP2012019383A (ja) * 2010-07-08 2012-01-26 Panasonic Corp 記録制御装置、半導体記録装置および記録システム
TWI420305B (zh) * 2010-10-08 2013-12-21 Phison Electronics Corp 記憶體儲存裝置、其記憶體控制器與自動產生填充檔案的方法
CN101958152B (zh) * 2010-10-19 2013-02-13 华中科技大学 一种nand flash控制器及其应用
EP2810220B1 (en) * 2012-02-05 2022-04-06 Matthews International Corporation Conveying system and method of associating data to an item being transported by the conveying system
CN103425539B (zh) * 2012-05-14 2016-04-27 联想(北京)有限公司 信息处理方法及装置
CN103942219A (zh) * 2013-01-22 2014-07-23 鸿富锦精密工业(深圳)有限公司 存储卡分区系统及方法
CN103150125B (zh) * 2013-02-20 2015-06-17 郑州信大捷安信息技术股份有限公司 提高掉电保护数据缓冲存储器使用寿命的方法及智能卡
TWI676176B (zh) * 2018-10-25 2019-11-01 群聯電子股份有限公司 資料整併方法、記憶體儲存裝置及記憶體控制電路單元
US10936454B2 (en) 2018-11-21 2021-03-02 International Business Machines Corporation Disaster recovery for virtualized systems
JP7278083B2 (ja) * 2019-01-24 2023-05-19 凸版印刷株式会社 半導体装置、制御方法、およびプログラム
TWI777111B (zh) * 2019-12-18 2022-09-11 點序科技股份有限公司 雙接頭記憶體裝置以及傳輸控制電路
CN113918081B (zh) * 2020-07-08 2024-03-26 慧荣科技股份有限公司 计算机可读取存储介质、配置可靠命令的方法及装置
US12112052B2 (en) * 2022-03-30 2024-10-08 Micron Technology, Inc. Reading a master boot record for a namespace after reformatting the namespace

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06309527A (ja) * 1993-04-26 1994-11-04 Matsushita Electric Ind Co Ltd Icカード
WO2001029670A2 (en) 1999-10-21 2001-04-26 Matsushita Electric Industrial Co., Ltd. A semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
JP2002112635A (ja) 2000-10-02 2002-04-16 Kazuo Matsuhisa 播種の名札

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01286016A (ja) * 1988-05-13 1989-11-17 Canon Electron Inc 情報記録再生装置
JPH04238194A (ja) * 1991-01-21 1992-08-26 Sharp Corp 半導体メモリ
AU5595398A (en) * 1996-12-03 1998-06-29 Strategic Analysis, Inc. Method and apparatus for formatting smart cards and card readers
JP3365283B2 (ja) * 1997-11-14 2003-01-08 日本電気株式会社 半導体記憶装置
JPH11282630A (ja) * 1998-03-27 1999-10-15 Hitachi Koki Co Ltd ハードディスクドライブのフォーマッティング方式
JP2000267904A (ja) * 1999-03-17 2000-09-29 Sanyo Electric Co Ltd データ記録装置及び方法
US6687814B1 (en) * 1999-07-12 2004-02-03 Micron Technology, Inc. Controller with interface attachment
JP3249959B2 (ja) * 1999-10-12 2002-01-28 株式会社ソニー・コンピュータエンタテインメント 可搬型記憶装置及びメモリカード
US6601056B1 (en) * 2000-09-28 2003-07-29 Microsoft Corporation Method and apparatus for automatic format conversion on removable digital media

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06309527A (ja) * 1993-04-26 1994-11-04 Matsushita Electric Ind Co Ltd Icカード
WO2001029670A2 (en) 1999-10-21 2001-04-26 Matsushita Electric Industrial Co., Ltd. A semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
JP2001188701A (ja) * 1999-10-21 2001-07-10 Matsushita Electric Ind Co Ltd 半導体メモリカードについてのアクセス装置、コンピュータ読取可能な記録媒体、初期化方法、及び半導体メモリカード
JP2002112635A (ja) 2000-10-02 2002-04-16 Kazuo Matsuhisa 播種の名札

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
KEIICHI TSUTSUI: "Memory Stick", TRANSISTOR GIJUTSU, vol. 39, no. 1, WHOLE NO. 448, 1 January 2002 (2002-01-01), pages 223 - 230, XP002971323 *
OSAMU KOBAYASHI ET AL.: "Tokushu flash EEPROM gaibu kioku sochi muke shiyo kankyo totonou", NIKKEI ELECTRONICS, no. 605, 11 April 1994 (1994-04-11), pages 75 - 91, XP002971324 *
See also references of EP1496437A4 *
YASURO KUBOTA ET AL.: "PC-ATA & Compact Flash Card", TRANSISTOR GIJUTSU, vol. 39, no. 1, WHOLE NO. 448, 1 January 2002 (2002-01-01), pages 199 - 208, XP002971325 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005109169A1 (ja) 2004-05-07 2005-11-17 Matsushita Electric Industrial Co., Ltd. データアクセス方法、およびその方法が実施される装置と記録媒体
EP1746491A4 (en) * 2004-05-07 2009-05-06 Panasonic Corp METHOD FOR ACCESSING DATA, DEVICE AND RECORDING MEDIUM FOR CARRYING OUT THIS METHOD
US7631140B2 (en) 2004-05-07 2009-12-08 Panasonic Corporation Data accessing method, device in which the data accessing method is executed and recording medium
US10474641B2 (en) 2004-12-17 2019-11-12 Microsoft Technology Licensing, Llc Extensible file system

Also Published As

Publication number Publication date
WO2003088043B1 (en) 2004-05-13
EP1496437A4 (en) 2008-07-30
US20050036372A1 (en) 2005-02-17
KR20040100847A (ko) 2004-12-02
JP2003308241A (ja) 2003-10-31
CN1297900C (zh) 2007-01-31
US7039754B2 (en) 2006-05-02
CN1516834A (zh) 2004-07-28
KR100980905B1 (ko) 2010-09-07
JP4206688B2 (ja) 2009-01-14
EP1496437A1 (en) 2005-01-12

Similar Documents

Publication Publication Date Title
JP4238514B2 (ja) データ記憶装置
JP4206688B2 (ja) データ処理装置及びデータ処理方法
US8291155B2 (en) Data access method, memory controller and memory storage system
US7039786B2 (en) Memory device and recording and/or reproducing apparatus employing this memory device
TWI420305B (zh) 記憶體儲存裝置、其記憶體控制器與自動產生填充檔案的方法
US8185705B2 (en) Information recording medium, information recording medium accessing apparatus and accessing method
US7681008B2 (en) Systems for managing file allocation table information
US7752412B2 (en) Methods of managing file allocation table information
US9389998B2 (en) Memory formatting method, memory controller, and memory storage apparatus
JPH10124384A (ja) 不揮発性半導体メモリの制御方法
CN102455879B (zh) 存储器存储装置、存储器控制器与自动产生填充文件方法
WO2008042594A1 (en) Managing file allocation table information
JP4714291B2 (ja) 情報記録装置、情報記録方法及び情報記録用プログラム
WO2007132931A1 (ja) データ記憶装置およびこの初期化方法
JP5161989B2 (ja) 情報記録装置、情報記録方法及び情報記録用プログラム
JP4881469B1 (ja) 情報処理装置、及び情報処理方法
JP2007018528A (ja) メモリ装置、ファイル管理方法及び記録再生装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR

WWE Wipo information: entry into national phase

Ref document number: 2003746481

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 10480706

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1020037016270

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 038004356

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application
B Later publication of amended claims

Effective date: 20030930

WWP Wipo information: published in national office

Ref document number: 2003746481

Country of ref document: EP