WO2005029311A1 - 半導体メモリカード、半導体メモリ制御装置及び半導体メモリ制御方法 - Google Patents

半導体メモリカード、半導体メモリ制御装置及び半導体メモリ制御方法 Download PDF

Info

Publication number
WO2005029311A1
WO2005029311A1 PCT/JP2004/013703 JP2004013703W WO2005029311A1 WO 2005029311 A1 WO2005029311 A1 WO 2005029311A1 JP 2004013703 W JP2004013703 W JP 2004013703W WO 2005029311 A1 WO2005029311 A1 WO 2005029311A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
memory
nonvolatile memory
semiconductor memory
erasing
Prior art date
Application number
PCT/JP2004/013703
Other languages
English (en)
French (fr)
Inventor
Takuji Maeda
Shinji Inoue
Yoshiho Gotoh
Jun Ohara
Masahiro Nakanishi
Shoichi Tsujita
Tomoaki Izumi
Tetsushi Kasahara
Kazuaki Tamura
Kiminori Matsuno
Koichi Horiuchi
Manabu Inoue
Original Assignee
Matsushita Electric Industrial Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to US10/553,725 priority Critical patent/US7654466B2/en
Priority to JP2005514072A priority patent/JPWO2005029311A1/ja
Priority to EP04773322A priority patent/EP1667014A4/en
Priority to CNB2004800068333A priority patent/CN100371873C/zh
Publication of WO2005029311A1 publication Critical patent/WO2005029311A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to a semiconductor memory card, a semiconductor memory control device, and a semiconductor memory control method.
  • the present invention relates to a semiconductor memory card, a semiconductor memory control device, and a semiconductor memory control method.
  • recording media for recording digital data such as music content and video data, such as magnetic disks, optical disks, and magneto-optical disks.
  • Semiconductor memory cards which are one type of these recording media, use a semiconductor memory such as a flash ROM as a recording element, and can reduce the size of the recording medium. It is rapidly spreading, especially in mobile devices.
  • the data stored on the semiconductor memory card is managed by the file system, and the user can easily handle the stored data as a file.
  • Conventionally used file systems include the FAT file system described in ISO / IEC 9293, 'Information Technology, Vol. UTA (Un iversal Disk Format) described in S TA Un iversal Disk Format S pecification Revision 1.50, 1997, NTFS (New Technology) hnology File System), etc.
  • Semiconductor memory cards whose data is managed by these file systems are machines that interpret the same file system. Since files can be shared between devices, data can be exchanged between devices.
  • a semiconductor memory device disclosed in Japanese Patent Application Laid-Open No. H11-191297 is known.
  • the present invention has a plurality of non-volatile memories, erases data in a second non-volatile memory when writing data in a first non-volatile memory, and processes them in parallel for a short time. Is used to rewrite data.
  • erasure processing is performed in parallel regardless of the data size to be written to the memory chip. For example, in a NAND flash memory, erasing one erase block (usually 16 KB) requires, for example, 2. OmSec. Therefore, when the data size is small, erasing takes a long time, and the entire rewriting time is rather long. Disclosure of the invention
  • the present invention has been made to solve the above problems.
  • the present invention relates to a semiconductor memory card used by being connected to an access device, wherein the host interface unit transmits a control signal and data to the access device, and receives a signal from the access device.
  • a non-volatile memory including a plurality of non-volatile memory chips, wherein a plurality of continuous sectors are grouped as a block which is a minimum unit of data erasing, and erasing, writing, and reading data to and from the non-volatile memory are controlled.
  • a memory controller and a host information memory for temporarily storing a data write start address and a data size given from the access device.
  • the memory controller further comprises: a data write start address temporarily stored in the host information memory; Based on the value of the data size, it is determined whether or not to erase the invalid block of the nonvolatile memory.
  • a data write start address temporarily stored in the host information memory.
  • a semiconductor memory control device comprising: a host interface unit for transmitting a control signal and data to an access device and receiving a signal from the access device; and erasing data in the nonvolatile memory.
  • a memory controller for controlling writing, reading, and a host information memory for temporarily storing a data write start address and a data size given from the access device. The memory controller determines whether to erase an invalid block in the nonvolatile memory based on a data write start address and a data size value temporarily held in the host information memory.
  • the semiconductor memory control method includes controlling a semiconductor memory in a semiconductor memory card including a plurality of non-volatile memory chips and having a non-volatile memory in which a plurality of continuous sectors are grouped as a block having a minimum unit of data erasing.
  • the number of erase blocks in the erase block is determined based on the write start address and the write size obtained from the access device, and the erase blocks are erased in accordance with data writing. For this reason, it is possible to perform the removal without deteriorating the processing time and without reducing the processing performance, and it is possible to increase the number of empty blocks. Thus, high-speed access to the semiconductor memory card can be realized.
  • FIG. 1 is an explanatory diagram showing a semiconductor memory card and an access device according to a first embodiment of the present invention.
  • FIG. 2 is an explanatory diagram showing a table of a logical-physical conversion control unit according to the first embodiment of the present invention.
  • FIG. 3 is an explanatory diagram showing a configuration of an erase block according to the first embodiment of the present invention.
  • FIG. 4 is a flowchart showing a process of writing data to a semiconductor memory card in Embodiment 1 of the present invention.
  • FIG. 5 is a flowchart showing the processing of the subroutine (1) in the first embodiment of the present invention.
  • FIG. 6 is a flowchart showing the processing of the subroutine (2) in the first embodiment of the present invention.
  • FIG. 7 is a time chart showing data writing and erasure block erasure processing in Embodiment 1 of the present invention.
  • FIG. 8 is a timing chart showing a writing process and an erasing process for a memory chip when a memory controller and a nonvolatile memory have a common path in the first embodiment of the present invention.
  • FIG. 9 shows a semiconductor memory card and an access device according to a second embodiment of the present invention.
  • FIG. 10 is an explanatory diagram showing a configuration of a nonvolatile memory according to Embodiment 2 of the present invention.
  • FIG. 11 is a timing chart showing the write processing in the high-speed mode in the second embodiment of the present invention.
  • FIG. 12 is a time chart showing the write processing in the low-speed mode in Embodiment 2 of the present invention.
  • FIG. 13 is an explanatory view showing a semiconductor memory card and an access device according to Embodiment 3 of the present invention.
  • FIG. 14 is an explanatory diagram showing a table of the logical-physical conversion control unit according to the third embodiment of the present invention.
  • FIG. 15 is an explanatory diagram showing a defragmentation process in Embodiment 3 of the present invention.
  • FIG. 16 is a flowchart showing a defragmentation process in Embodiment 3 of the present invention.
  • FIG. 17 is an explanatory diagram showing a semiconductor memory card and an access device according to Embodiment 4 of the present invention.
  • FIG. 18 is an explanatory diagram showing the configuration of the nonvolatile memory in Embodiment 4 of the present invention.
  • FIG. 19 is a time chart showing a data recording process in the conventional example.
  • FIG. 20 is a time chart showing a data recording process in the fourth embodiment of the present invention.
  • FIG. 1 is a block diagram showing a semiconductor memory card and an access device according to Embodiment 1 of the present invention.
  • a semiconductor memory card 111 is connected to the access device 100.
  • the semiconductor memory module 111 is composed of a host interface (IZF) unit 112, CPU 113, RAM 114, ROM 115, memory controller 116, nonvolatile memory 117, and Includes host information memory 118.
  • the host interface unit 112 is an interface for transmitting and receiving control signals and data to and from the access device 100.
  • a program for controlling the semiconductor memory card 111 is stored in the ROM 115. This program uses RAM 114 as temporary storage and runs on CPU 113.
  • the memory controller 116 is an element for controlling the nonvolatile memory 117.
  • the non-volatile memory 117 is a data storage area in the semiconductor memory module 111.
  • the memory controller 116 includes a logical-physical conversion control unit 120, a free physical area generation unit 121, and a nonvolatile memory access unit 123.
  • the logical-physical conversion control section 120 includes a logical-physical conversion table 1331 and an entry table 132, as described later.
  • the free physical area generation unit 121 determines whether or not to erase an invalid block in the nonvolatile memory 117 based on the data write start address and the data size sent from the access device 100. It is. When erasing invalid blocks, erase them at the same time as writing data.
  • the nonvolatile memory access unit 123 accesses the nonvolatile memory 117 directly from the memory controller 116 to write, read, and erase data. Note that all blocks except the nonvolatile memory 117 in the semiconductor memory card constitute a semiconductor memory control device.
  • the non-volatile memory 117 is composed of two flash memory memory chips A and B. Each non-volatile memory chip has a data capacity of, for example, 16 MB. As described later, the nonvolatile memory 117 includes an address management area and a data area. The two memory chips A and B are connected to the memory controller 116 via independent bidirectional paths.
  • the host information memory 118 temporarily holds a start sector address SA of data writing in sector units provided from the access device 100 and a write size L in sector units.
  • FIG. 2 is an explanatory diagram showing the logical-physical conversion control unit 120.
  • the logical-physical conversion control section 120 is composed of a logical-physical conversion table 13 1 and an entry table 13 2.
  • the logical-physical conversion table 1331 is a table showing the conversion from the logical sector address LSA specified by the access device 100 to the physical sector address PSA.
  • the nonvolatile memory 117 has a space of 2N sectors as a logical space, and the logical sector addresses of the memory chips A and B are logically continuous.
  • the first half that is, the logical sector address is 0 to N ⁇ 1
  • the second half that is, the logical sector address is N to Up to 2 N-1 is a table area corresponding to the nonvolatile memory chip B.
  • each logical sector has a user data area of 512 B in FIG. 2
  • the logical sector address shown in FIG. N is 2 15 .
  • one physical block is formed by 32 sectors. Therefore, each physical block has a capacity of 16 KB, and since this physical block is also a unit that can be selectively erased, it is called an erase block.
  • the entry table 1332 is a table showing the status of each physical block from the physical block address PBA 0 to 2M-1. It is composed of two bits for each physical block. Here, 0 0 is a valid block in which valid data is recorded, 11 is an invalid block indicating that data is recorded but is invalid data, 10 is a bad block, and 0 1 is an erased block. It indicates that Also in the entry table 1332, the first half, that is, the physical block address is from 0 to M-1 is a table area corresponding to the nonvolatile memory chip A, and the latter half, that is, the physical block address is from M to 2M- Up to 1 Is a table area corresponding to the nonvolatile memory chip B.
  • FIG. 3 is an explanatory diagram showing a configuration of an erase block arranged in each of the memory chips A and B.
  • One erase block consists of all 32 sectors.
  • Each sector area has an area of 528 bytes and includes a data area of 512 bytes for writing so-called user data and 16 bytes of a management area (MR) for writing address management information.
  • the address management information includes a corresponding logical address, a flag indicating whether the data stored in the corresponding data area is valid, invalid, or a bad block.
  • the CPU 13 reads information stored in the management area MR of each erase block of the memory chips A and B, and stores the information in the RAM in the logical-physical conversion control unit 120.
  • the logical-physical conversion table 13 1 and the entry table 132 shown in FIG. 2 are created.
  • the writing operation of the semiconductor memory card thus configured is described with reference to the flowcharts of FIGS. 4 to 6 and FIGS. This will be described with reference to the time chart in FIG.
  • the access device 100 first transfers the write start sector address SA and the write size L to the semiconductor memory card 111 together with the write command.
  • the start sector address SA and the write size L are temporarily stored in the host information memory 118.
  • the memory controller 116 includes a start sector address SA and a write size L temporarily stored in the host information memory 118, and parameters indicating a boundary between a first half area and a second half area of the nonvolatile memory 117. Based on (sector address N), it is determined whether SA is less than N (step S101). If SA is less than N, it is determined whether SA + L exceeds N (step S102). This allows writing to only the first half area (memory chip A) or writing to the second half area (memory chip B) only.
  • step S103 Let m be L.
  • the pointer m indicates the size of writing to each memory chip.
  • step S104 the processing of the subroutine (1) is performed (step S104), and the processing ends.
  • N is equal to or larger than SA in step S101, writing to only the latter half area is performed. Therefore, the pointer m is set to L in step S105, and the processing of the subroutine (2) is performed in step S106.
  • Step S106 the process ends. If the writing is from the first half to the second half, that is, if the writing crosses the two memory chips A and B, the pointer m is set to N-SA in step S107, and the writing processing to the memory chip A is performed by the subroutine (1). (Step S108). Next, at step 109, the pointer m is set to Lm, and at step S110, the writing process to the memory chip B is performed by the subroutine (2) (step S111).
  • FIG. 5 is a flowchart showing the processing of the subroutine (1).
  • step sil1 when the operation starts, first, in step sil1, mX 5
  • n is an integer of the quotient.
  • step S113 write the data sent to the empty block of the memory chip A together with the address management information.
  • n invalid blocks in the memory chip B are erased. Whether the block is invalid or not is determined by whether or not 11 is recorded in the entry table 132. After erasing, the entry table is updated to 0, 1, that is, the erased block for the block. If there are n or less invalid blocks, all invalid blocks are erased.If there are no invalid blocks, erased. Departure is unnecessary. If the write data size is less than 4 KB in step SI11, only the writing to the empty block of the memory chip A is performed, and the processing is completed.
  • FIG. 6 is a flowchart showing the subroutine (2).
  • step S121 when the operation is started, first, in step S121, it is checked whether mX512B exceeds 4KB.
  • a write time of 2 msec is required when the write data size is 4 KB, and that the write data size is 8 times in units of 512 bytes, that is, 4 KB or more.
  • the free physical area generation unit 122 determines whether or not to erase a memory chip other than the memory chip to be written (here, the memory chip A) depending on whether or not the memory chip is to be written. To erase, issue the erase command.
  • step S122 If this value exceeds 4 KB in step S122, the calculation of (mx512B) / 4KB is performed in step S122.
  • n is an integer of the quotient.
  • the process goes to step S123 to write the data sent to the empty block of the memory chip B together with the address management information.
  • n invalid blocks in memory chip A are erased.
  • An invalid block is determined by whether or not 11 is recorded in the entry table 13 2. After erasure, the entry table is updated as 0 1 for that block, that is, as an erased block. If there are no more than n invalid blocks, all invalid blocks are erased. If there are no invalid blocks, erasure is unnecessary. If the size of the write data is less than 4 KB in step S121, the process is completed by writing only to the empty block of the memory chip B.
  • Fig. 7 shows a time chart when the write size is 4 KB when only the first half area (memory chip A) is written.
  • the upper part of FIG. 7 shows access to the memory chip A.
  • the write command WC issuance period is written to the non-volatile ⁇ fe memory chip A. This is a period for transferring a write instruction and a write destination address.
  • the data transfer (DATA) period is the period during which write data is transferred to memory chip A.
  • the program busy period (BUSY) is a period in which write data is actually written to the memory chip A.
  • a write command is issued from the nonvolatile memory access unit 123.
  • 512 B of write data for one sector and 16 B of information in the management area corresponding thereto, that is, 528 B of data are transferred. During this time it is about 50 ⁇ s.
  • the busy flag (BUSY) is set for the write time. This time is about 200 s.
  • the block to be erased in the memory chip B is a physical block indicated as an invalid block (binary number 11) in the entry table 132. Issue the erase command E C to this physical block. Then, the erase busy signal (BUSY) signal S is obtained during the erase operation, and the erase operation is performed during this period.
  • BUSY erase busy signal
  • the erase busy one hour is longer than the program busy time (200 ⁇ s) (for example, 2 mSec).
  • FIG. 7 shows an example in which writing to the memory chip A and erasing of the memory chip B are executed at the same time, as shown in step S123 of the flowchart of FIG.
  • writing and erasing memory chip A the same operation is performed except that memory chips A and B are reversed. Also, when writing is performed across the memory chips A and B, these processes are sequentially performed.
  • the memory chips A and B of the nonvolatile memory 117 are connected to the memory controller 116 via independent paths. However, they may be connected commonly to one path. However, in this case, the free physical area generation unit 121 sets the write command WC, the data transfer period, and the issuance timing of the erase command so that the write command and the erase command in FIG. 7 do not cause a path conflict. Shift in time. That is, as shown in FIG. 8, an erase command E C is issued after a write command issuance period W C using a path and a data transfer period (D AT A). When the BUSY state ends after the erase command is issued, a write command for the next sector and subsequent data transfer are performed. In this way, a plurality of memory chips and a memory controller can be commonly connected by one bus.
  • erasing and writing are performed in parallel.
  • the numerical values shown here are examples, and these numerical values can be appropriately selected depending on the writing time and the erasing time.
  • the logical-physical conversion table shown in FIG. 2 may be a conversion table for converting in block units. Further, the conversion may be performed in units of a plurality of erase blocks as a group. Further, in this embodiment, two memory chips are used as the non-volatile memory. However, a plurality of arbitrary memory chips may be used. (Example 2)
  • FIG. 9 is a diagram showing a semiconductor memory card according to Embodiment 2 of the present invention.
  • a semiconductor memory card 111 is connected to the access device 100.
  • the semiconductor memory card 111 has a host interface (I / F) section 112, CPU 113, RAM 114, ROM 115, memory controller 141, non-volatile memory 117, and host information memory 142.
  • the host interface unit 112 is an interface for transmitting and receiving control signals and data to and from the access device 100.
  • a program for controlling the semiconductor memory card 111 is stored in the ROM 115. This program runs on CPU113 using RA114 as a temporary storage area.
  • the memory controller 116 is an element for controlling the nonvolatile memory 117.
  • the nonvolatile memory 117 is a data storage area in the semiconductor memory card 111.
  • the memory controller 141 includes a logical-physical conversion control unit 143 and a nonvolatile memory access unit 144.
  • the logical-physical conversion control unit 143 includes a logical-physical conversion table and an entry table.
  • the non-volatile memory access section 144 accesses the non-volatile memory 117 directly from the memory controller 141 to write, read, and erase data.
  • the non-volatile memory 117 is composed of two flash memory chips ⁇ and ⁇ ⁇ ⁇ ⁇ ⁇ , and each non-volatile memory chip has a data capacity of, for example, 16 1. As described later, the nonvolatile memory 117 includes an address management area and a data area. The two memory chips ⁇ and ⁇ are connected to the memory controller 141 via independent bidirectional paths No. 0 and No. 1, respectively.
  • the host information memory 142 holds the access speed transmitted from the access device 100, and holds one of the high-speed mode and the low-speed mode. When the high-speed mode is set, the non-volatile memory access unit 144 does not allow access with a large peak current, Access to volatile memory 1 1 1 7 at high speed.
  • FIG. 3 is an explanatory diagram showing an internal configuration of memory chips A and B.
  • Each of the memory chips A and B in the non-volatile memory 117 is divided into four banks B0 to B3. Punks B0 to B3 are written simultaneously in page units.
  • a total of eight erase blocks consisting of one erase block for each bank of memory chips A and B are defined as the logical section LS.
  • Non-volatile memory 1 17 overall LS 0 to: LS 255 consists of 256 sections.
  • the operation of the semiconductor memory card and the access device configured as described above will be described below mainly with reference to FIGS. 10 and 11.
  • the speed mode is transferred and stored in the host information memory 144.
  • the access mode is determined by referring to the speed mode stored in the nonvolatile memory access section 144 or the host information memory 144.
  • the logical address of the write data is a continuous address.
  • the data thus transferred is temporarily held in a buffer.
  • This address is converted to a physical address by the logical-physical conversion control unit 144.
  • the data and address are written to the memory chip A via the bus No. 0.0.
  • WC indicates a write command.
  • T1 is the data transfer period
  • T2 is the actual This is the program busy time for writing to memory chip A.
  • the actual writing period of the write data A, B, C, D ... that is, the period during which the program is busy, is a period in which a larger amount of current is consumed compared to the overnight transfer.
  • writing is controlled so that the program busy time does not overlap in time. Specifically, when a write command WC is issued to bus No. 0 and data A is transferred, writing to memory chip A is performed, and the program becomes busy (BUSY) during that time.
  • the non-volatile memory access unit 144 terminates the write processing and sends the card busy signal to the access device until the release of the program busy signal (BUSY) of the memory chip A to be written is notified to the non-volatile memory access unit 144.
  • Feedback is given to 100 to stop data transfer.
  • the data B is transferred from the access device 100 subsequently.
  • a write command ⁇ WC is issued for bus No. 1 and data B data transfer is performed.
  • the data transfer from the access device 100 is stopped.
  • the writing is completed, the next data C is transferred, and the same processing is repeated. Producers that consume large amounts of current through such bidirectional control
  • the gram busy period is dispersed, and the peak current can be suppressed.
  • the access device 100 sets the low speed mode in the host information memory 142 so as to select the low speed mode.
  • the high-speed speed mode is set in the host information memory 142.
  • the nonvolatile memory access unit 144 selects the access mode shown in FIG. 11 or FIG. 12 and performs write control corresponding to each of the access modes.
  • the two memory chips ⁇ and ⁇ are used to switch between a high-speed mode in which data writing is allowed to overlap and a low-speed mode in which overlapping is not allowed. If there are more memory chips, for example, four, the mode can be switched between a low-speed mode that allows overlapping writing of two memory chips and a high-speed mode that allows writing to all memory chips simultaneously. . In the low-speed mode, only writing to one of the memory chips may be permitted, and in the high-speed mode, overlapping writing to two or more memory chips may be permitted.
  • the semiconductor memory card according to this embodiment is a semiconductor memory card used by being connected to an access device
  • a host interface unit for transmitting a control signal and data to the access device, and receiving a signal from the access device
  • a nonvolatile memory including a plurality of nonvolatile memory chips, wherein a plurality of continuous sectors are grouped as a block that is a minimum unit of data erasing, and connected to the plurality of nonvolatile memory chips by independent bidirectional paths;
  • a memory controller that controls erasing, writing, and reading of data; and
  • a host information memory that temporarily stores a writing speed mode given from the access device.
  • the memory controller A nonvolatile memory that writes data to the plurality of nonvolatile memory chips while controlling respective write timings to the plurality of nonvolatile memories in accordance with a speed mode stored in the host information memory;
  • a semiconductor memory card comprising: a memory access unit;
  • the write speed mode held in the host information memory is a high-speed mode
  • writing is performed in parallel on the plurality of nonvolatile memory chips
  • the semiconductor memory control method includes a semiconductor memory card including a plurality of non-volatile memory chips and having a plurality of non-volatile memories in which a plurality of continuous sectors are grouped as a block which is a minimum unit of data erasing.
  • Writing to the plurality of nonvolatile memory chips can be performed while controlling respective write timings to the plurality of nonvolatile memories according to the speed mode stored in the host information memory. .
  • FIG. 13 is a block diagram showing a semiconductor memory card according to this embodiment.
  • a semiconductor memory card 111 is connected to the access device 100.
  • the semiconductor memory card 1 1 1 has a host interface (I / F) 1 1 2, CPU 1 1 3, RAM 1 1 4, ROM 1 1 5> memory controller 1 5 1, nonvolatile memory 1 1 7, and host Includes information memory 155.
  • the host interface unit 112 is an interface for transmitting and receiving control signals and data to and from the access device 100.
  • a program to control the semiconductor memory card 1 1 1 is stored in ROM 1 15 Ram is stored. This program uses RAMI 14 as a temporary storage area and runs on CPU 113.
  • the memory controller 151 is an element for controlling the nonvolatile memory 117.
  • the non-volatile memory 117 is a temporary storage area in the semiconductor memory card 111.
  • the memory controller 15 1 includes a logical-to-physical conversion controller 15 2, a free physical area generator 15 3, and a nonvolatile memory access unit 15 4.
  • the logical-physical conversion control unit 152 includes a logical-physical conversion table 156 and an entry table 157, as described later.
  • the free physical area generator 153 organizes the recording state in the non-volatile memory 117 and increases the number of free blocks (erased blocks) so that writing can be performed at any time without erasing before writing. Is what you do.
  • the non-volatile memory 117 may be a single memory chip or may use a plurality of non-volatile memories.
  • the erase block in the nonvolatile memory 117 is assumed to be the same as that in FIG. 3 of the first embodiment.
  • the free physical area generation unit 153 sets the erase block as a defragmentation target block when data is written in a sector having a predetermined threshold value Th1 or more in each erase block unit, and performs a logical-physical conversion control described later.
  • Register in the entry table of Part 152 As will be described later, empty blocks in the entry table are counted, and a defragment request signal is transmitted to the access device 100 when the counted value becomes equal to or less than a predetermined threshold value Th2.
  • FIG. 14 is an explanatory diagram showing the logical-physical conversion control unit 152.
  • the logical-physical conversion control unit 152 is a table that manages the conversion process from the logical sector address LSA specified by the access device 100 to the physical sector address PSA, and manages the state of each physical program and speed.
  • This table consists of a logical-to-physical translation table 156 that translates the logical sector address LSA into a physical sector address PSA, and an entry table 157.
  • the entry table 157 holds 3-bit information indicating the state of each physical block corresponding to each physical block address PBA0 to M-1.
  • 0 0 0 is a valid block
  • 0 1 1 is an invalid block.
  • 0 0 indicates a bad block
  • 0 1 0 indicates an empty block, that is, an erased block
  • 1 0 0 indicates a block to be defragmented.
  • RAM volatile memory
  • the CPU 113 reads information stored in the management area of each erase block in the nonvolatile memory 117 and stores the information in the RAM in the logical-physical conversion control unit 152. Create the object conversion table 1 5 6 entry table 1 5 7.
  • each sector (page) in the erase block is not written in the logical order, and the logical sector transferred by the access device 100 is erased regardless of its logical sector address.
  • Write in ascending order of blocks Specifically, as shown in FIG. 15, when there is a write command from the access device 100 to the logical sectors LS4, LS0, LSO, LSI, LS3 ..., the sector number of the erase block 1 is changed. Write in ascending order at 0, 1, 2, 3 ... positions.
  • N is a flag indicating new flag information
  • 0 is a flag indicating old information.
  • FIG. 16 is a flowchart showing processing of the semiconductor memory card.
  • step S301 it is checked whether there is an access request, and if not, it is checked whether it is a defragmentation instruction (step S302). If there is an access request, card access is performed in step S303. Then, it is checked whether or not the effective sector in the erase block of the nonvolatile memory written in step S303 exceeds the threshold value Th1. If it is equal to or smaller than the threshold value Th1, the process returns to the loop of steps S301 and 302, and the same processing is repeated.
  • the free physical area generation unit 153 sets the erase block as a defragmentation target block and the entry shown in FIG. It is registered in the template 157 (step S305). Then, as for the data of the logical sector transferred subsequently by the access device 100, another empty block (erased block) is searched from the entry table 157 and written. By continuing this, the number of free blocks in the entry table gradually decreases, and conversely, the number of blocks to be defragmented increases.
  • the free physical area generation unit 153 sets the erasure block to the defragmentation flag in step S305, then proceeds to step S306 to count the number of free blocks, and determines whether the number is equal to or smaller than the threshold Th2. Check If the number of empty blocks exceeds the threshold value Th2, the process returns to the loop of steps S301 and S302 to repeat the same processing. If the number of free blocks is equal to or less than the threshold value, it is generally considered that the number of blocks to be defragmented is large, so the process proceeds to step S307 to send a defragmentation request signal to the access device 100. In step S306, the flag to be defragmented may be counted instead of the number of empty blocks.
  • an access count value may be sent to the access device 100 instead of the defragment request signal.
  • the access device 100 sends the defrag instruction signal immediately after receiving the defrag request signal.
  • the data may be transferred to the semiconductor memory card 111.
  • the defragmentation instruction signal may be issued based on the count value, the transfer timing of the defragmentation instruction signal, and the transmission timing of the defragmentation instruction signal determined based on the count value.
  • the process proceeds from step S302 to step S308, where the defragmentation instruction signal transferred from access device 100 is temporarily stored in host information memory 155.
  • the free physical area generation unit 153 refers to this, and issues an instruction for defragmentation processing to the nonvolatile memory access unit 154.
  • erasure blocks EB1 and EB5 are both erasure blocks registered as defragmentation blocks.
  • each sector number of the erase blocks EB 1 and EB 5 (new flag ⁇ ⁇ ⁇ , marked sector In the evening, a read / write instruction is issued to the nonvolatile memory access unit 154 so that the merging process is performed on the empty erase block 9 in the logical sector order.
  • the nonvolatile memory access unit 154 copies the erase blocks EB1 and EB5 from the logical sector with the new flag N set to the empty erase block EB9 as shown in FIG. Thereafter, the erase blocks EB 1 and EB 5 are registered in the entry table 157 as invalid blocks.
  • the defragmentation is performed by the instruction from the access device, as compared with the case where the semiconductor memory card defragments without the instruction from the access device, so that the defragmentation can be performed at a necessary time without speed reduction.
  • volatile read / write memory other than RAM may be used as long as it can be accessed at relatively high speed.
  • the semiconductor memory card according to the present embodiment is a semiconductor memory card used by being connected to an access device
  • a host interface unit for transmitting a control signal and data to the access device, and receiving a signal from the access device
  • a non-volatile memory including a plurality of non-volatile memory chips, in which a plurality of continuous sectors are grouped as a block which is a minimum unit of data erasing, and a memory for controlling erasing, writing, and reading of data from and to the non-volatile memory A controller,
  • a host information memory for temporarily storing a defragmentation instruction signal given from the access device
  • the memory controller controls the memory controller
  • the semiconductor memory control method includes a nonvolatile memory chip including a plurality of nonvolatile memory chips, and a nonvolatile memory in which a plurality of continuous sections are grouped as a block which is a minimum unit of data erasing.
  • a defragment request signal is issued to the access device.
  • the defragmentation is performed when a defragmentation instruction signal is temporarily stored in the host information memory.
  • FIG. 17 is a block diagram showing an access device and a semiconductor memory card according to Embodiment 4 of the present invention.
  • a semiconductor memory card 111 is connected to the access device 100.
  • the semiconductor memory module 111 has a host interface (I / F) section 112, a CPU 113, a RAM I14, a ROM 115, a memory controller 161, a nonvolatile memory 164, and a host interface. Includes storage information memory 165.
  • the host interface unit 112 is an interface for transmitting and receiving control signals and data to and from the access device 100.
  • the ROM 115 stores a program for controlling the semiconductor memory card 111. This program uses the RAM 114 as a temporary storage area and runs on the CPU 113.
  • the memory controller 16 1 is an element that controls the nonvolatile memory 16 4.
  • the nonvolatile memory 164 is a data storage area in the semiconductor memory card 111.
  • the memory controller 164 includes a logical-physical conversion control unit 162 and a nonvolatile memory access unit 163.
  • the nonvolatile memory access section 163 is directly connected to the nonvolatile memory 164 from the memory controller 161.
  • the host information memory 165 temporarily stores an allocation table update instruction signal from the access device 100.
  • FIG. 18 is an explanatory diagram showing the internal configuration of the nonvolatile memory 164.
  • the specifications of the erase block and page in the nonvolatile memory 164 are the same as those of the nonvolatile memory chip of the second embodiment.
  • the nonvolatile memory 164 is different from the first to third embodiments.
  • the address management information is stored in an allocation table (AT) area in the nonvolatile memory 164, in a format of a logical-physical conversion table and an entry template. Is remembered.
  • the allocation table (AT) indicates a table for the memory controller 161 to manage the nonvolatile memory 164.
  • the allocation table area (AT area) records AT, which is management information, in a separate area from the data storage area.
  • the embodiment If the method of generating a logical-physical conversion table or an entry table on the RAM based on the management information of the management area of each erase block at initialization as shown in Fig. 3 takes a relatively long time. Therefore, when using a nonvolatile memory having a large number of erase blocks, in order to reduce the initialization time, the AT management method for centrally storing management information in a specific AT area of the nonvolatile memory 164 ( Hereinafter, the centralized storage method) will be used.
  • the logical-physical conversion control unit 16 2 includes a logical-physical conversion table and an entry table. Both are stored in volatile memory such as RAM.
  • the CPU 113 reads the allocation table in the AT area of the nonvolatile memory 164 and stores the logical-to-physical conversion table in the RAM in the logical-to-physical conversion control unit 162. Create an entry table.
  • the AT area that is, in the AT read, if the AT manages the entire data area, only three initializations are required.
  • FIG. 19 is an explanatory diagram showing an access mode of a conventional nonvolatile memory access unit
  • FIG. 20 is an explanatory diagram showing an access mode of a nonvolatile memory access unit 163.
  • the table of the logical-physical conversion control unit 162 is simultaneously updated.
  • writes back the updated logical-physical conversion control unit 1 6 2 table in the nonvolatile memory 1 64 treatment was required.
  • FIG. 9 shows the processing of data write information. Data write is performed during the data write period, and AT write is performed by updating the updated table of the logical-physical conversion control unit 162 in the AT area of the nonvolatile memory 16. Shows the process of writing back to.
  • the processing overhead decreases due to the time overhead required for this AT writing. Especially when the data write capacity is small, the whole processing time
  • the AT also corresponds to the cycle. I just need to update. The reason is that if the file allocation table (FAT) is updated and power is turned off before writing to the non-volatile memory 164 is completed, the FAT will not be updated and the AT will also be updated. No need. Conversely, it can be said that it is more reasonable to match the FAT update with the AT update.
  • the access device 100 has a different FAT update span depending on the intended use. Therefore, in order to optimize the processing performance according to the intended use, the access device 100 may control the AT update timing and transfer the AT update instruction signal. Thus, in the fourth embodiment, the access device 100 uses an AT update instruction signal for instructing the AT to be updated.
  • the writing of the FAT is completed, and then the semiconductor memory is accessed from the access device 100 as a host.
  • An AT update instruction signal is given to the card.
  • the AT update instruction signal is temporarily held in the host information memory 165.
  • the non-volatile memory access unit 163 writes the updated logical-physical conversion table and the information of the conversion table in the logical-physical conversion control unit 162 as AT in the AT area of the non-volatile memory 164.
  • the writing of FAT is completed, and then the AT updating instruction signal is given to the semiconductor memory card from the access device 100 as the host.
  • the AT update instruction signal is temporarily held in the host information memory 165.
  • the nonvolatile memory access unit 163 writes the updated logical-physical conversion table and the information of the conversion table in the logical-physical conversion control unit 162 as AT in the AT area of the nonvolatile memory 1664. By doing so, the time overhead at the time of AT writing can be reduced and the processing performance can be improved.
  • the semiconductor memory card according to the present embodiment is used by being connected to an access device.
  • a host interface unit for transmitting a control signal and data to the access device, and receiving a signal from the access device
  • Non-volatile memory in which a plurality of consecutive sectors are grouped as a block which is the minimum unit for data erasure, and an address management information area and a user data area are held in different blocks,
  • a memory controller having a volatile memory for holding address management information, erasing, writing, and reading data from and to the nonvolatile memory, and updating the volatile memory every time data is erased and written;
  • a host information memory for temporarily storing an address management information update signal transferred from the access device.
  • the memory controller controls the memory controller
  • a semiconductor memory card comprising a non-volatile memory access unit for writing to a storage management information area.
  • a plurality of consecutive sectors are grouped as a block which is the minimum unit of data erasure, and the address management information area and the user data area are held in different blocks.
  • a volatile memory that holds address management information updates the volatile memory each time data is erased or written to the nonvolatile reproduction memory, and transmits an address management information update signal transferred from the access device.
  • the semiconductor memory card and the semiconductor memory control device can realize high-speed access to the semiconductor memory card by optimizing the processing on either the access device side or the semiconductor memory card side or both.
  • a semiconductor memory card, and an access device or method It can be used for digital AV equipment, mobile phone terminals, digital cameras, PCs, etc. that use semiconductor memory cards as recording media. Also, it functions particularly suitably when used in a recording medium or a device for recording high-quality AV data with a high transfer rate.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

半導体メモリカード内にホスト情報メモリを設け、アクセス装置から与えられるデータ書き込み開始アドレスとデータサイズとを保持する。空き物理領域生成部は、データ書き込み開始アドレスとデータサイズからデータの書き込み時に不揮発性メモリの無効ブロックを消去するかどうか、及び消去するブロック数を決定する。消去する場合には、異なったメモリチップに対してデータ書込みと無効ブロックの消去を同時に実行する。これによりデータの消去処理を最適化し、アクセス装置から半導体メモリカードに対して高速のアクセスを実現することができる。

Description

明細書 半導体メモリカード、 半導体メモリ制御装置及び半導体メモリ制御方法 技術分野
本発明は、 半導体メモリカード、 半導体メモリ制御装置及び半導体メモリ 制御方法に関する。 背景技術
音楽コンテンツや、 映像データなどのデジタルデータを記録する記録媒体 には、 磁気ディスク、 光ディスク、 光磁気ディスクなど、 様々な種類が存在 する。 これら記録媒体の 1種類である半導体メモリカードは、 記録素子とし てフラッシュ ROMなどの半導体メモリを使用しており、 記録媒体の小型化 が図れることから、 デジタルスチルカメラや携帯電話端末など、 小型の携帯 機器を中心に急速に普及しつつある。
半導体メモリカードに格納されたデ一夕はファイルシステムにより管理さ れており、 ユーザは格納されたデータをファイルとして容易に取り扱うこと ができる。 従来使用されているファイルシステムとして、 I SO / I EC 9 293、' I n f o rma t i o n T e c hn o l o gy— Vo l ume a n d f i l e s t r u c t u r e o f d i s k c a r t r i d g e s f o r i n f o rma t i o n " 、 19 94年、 に示されている FATファイルシステムがある。 又〇 S TA Un i v e r s a l D i s k F o rma t S p e c i f i c a t i o n R e v i s i o n 1. 50、 1 997年、 に記載されている UD F (Un i v e r s a l D i s k F o rma t) や、 NTFS (New Te c hn o l o g y F i l e S y s t em) などが存在する。 これらファイルシステムによりデータ が管理された半導体メモリカードは、 同一のファイルシステムを解釈する機 器間でファイルを共有することができるため、 機器間でデータを授受するこ とが可能となる。
ファイルシステムでは、 デ一夕の書き換えを行う際に一旦データを消去し
、 その後にデータを書込む 2段階の動作が必要であり、 完全に書き換えが終 了するまで多くの時間がかかるという問題点があった。
従来、 このような問題を解決する方法として、 例えば特開平 1 1— 1 9 1 2 9 7号公報による半導体記憶装置が知られている。 この発明は、 複数の不 揮発性メモリを有し、 第 1の不揮発性メモリの書込みを行う際に第 2の不揮 発性メモリにおいて消去を行い、 これらを並行して処理することによって短 時間でデータを書き換えるものである。 しかしながらこの従来技術において は、 メモリチップに書込むデータサイズにかかわらず並行して消去処理が行 われる。 消去時間は例えば N A N D型フラッシュメモリにおいては、 1消去 ブロック (通常 1 6 K B ) の消去には例えば 2 . O m S e cを要する。 した がってデータサイズが小さい場合には消去に時間がかかり、 書き換え全体の 時間が却つて長くかかるという欠点があつた。 発明の開示
本発明は上記問題点を解消するためになされたものである。 本発明は、 ァ クセス装置に接続されて使用される半導体メモリカードであって、 制御信号 及びデータを前記アクセス装置に対して送信し、 前記アクセス装置からの信 号を受信するホストインタ一フェース部と、 複数の不揮発性メモリチップを 含み、 複数の連続するセクタがデータ消去の最小単位であるプロックとして グループ化された不揮発性メモリと、 前記不揮発性メモリに対するデータの 消去、 書き込み、 読み出しを制御するメモリコントローラと、 前記アクセス 装置から与えられるデータ書き込み開始ァドレスとデータサイズとを一時記 憶するホスト情報メモリと、 を具備する。 そして、 前記メモリコントローラ は、 前記ホスト情報メモリに一時保持されたデータ書き込み開始アドレスと データサイズの値に基づいて、 前記不揮発性メモリの無効ブロックを消去す るか否かを決定し、 前記無効ブロックを消去する際には 1つの不揮発性メモ リチップへのデータの書き込みと他の不揮発性メモリチップのプロックの消 去とを同時に処理する空き物理領域生成部を有するものである。
また半導体メモリカード内で用いられ、 複数の不揮発性メモリチップを含 み、 複数の連続するセクタがデータ消去の最小単位であるブロックとしてグ ループ化された不揮発性メモリに接続されて便用される半導体メモリ制御装 置であって、 制御信号及びデータをアクセス装置に対して送信し、 前記ァク セス装置からの信号を受信するホストインタ一フエ一ス部と、 前記不揮発性 メモリに対するデータの消去、 書き込み、 読み出しを制御するメモリコント ローラと、 前記アクセス装置から与えられるデータ書き込み開始ァドレスと データサイズとを一時記憶するホスト情報メモリと、 を具備する。 そして、 前記メモリコントローラは、 前記ホスト情報スモリに一時保持されたデ一夕 書き込み開始ァドレスとデータサイズの値に基づいて、 前記不揮発性メモリ の無効ブロックを消去するか否かを決定し、 前記無効ブロックを消去する際 には 1つの不揮発性メモリチップへのデータの書き込みと他の不揮発性メモ リチップのブロックの消去とを同時に処理する空き物理領域生成部を有する ものである。
またこの半導体メモリ制御方法は、 複数の不揮発性メモリチップを含み、 複数の連続するセクタがデータ消去の最小単 であるプロックとしてグルー プ化された不揮発性メモリを有する半導体メモリカードにおける半導体メモ リ制御方法であって、 アクセス装置から与えられるデータ書き込み開始ァド レスとデータサイズとをホスト情報メモリに一時記憶し、 前記ホスト情報メ モリに一時保持されたデータ書き込み開始ァドレスとデータサイズの値に基 づいて、 前記不揮発性メモリの無効ブロックを消去するか否かを決定し、 前 記無効ブロックを消去する際には、 1つの不揮発性メモリチップへのデー夕 の書き込みと他の不揮発性メモリチップのブロックの消去とを同時に処理す るものである。
本発明によれば、 アクセス装置より得られる書込み開始ァドレスと書込み サイズに基づいて消去プロックの消去ブロック数を決定し、 データの書込み に合わせて消去ブロックを消去している。 このため、 肖去時間が顕在化する ことなく、 処理パフォーマンスを低下させることなく 去を行うことができ 、 空きブロックを増加させることができる。 これにより、 半導体メモリカー ドに対する高速アクセスを実現することができる。 図面の簡単な説明
第 1図は本発明の実施例 1における半導体メモリカード、 及びアクセス装 置を示した説明図である。
第 2図は本発明の実施例 1における論物変換制御部のテーブルを示す説明 図である。
第 3図は本発明の実施例 1における消去プロックの構成を示す説明図であ る。
第 4図は本発明の実施例 1における半導体メモリカードへのデータ書き込 み処理を示すフローチャートである。
第 5図は本発明の実施例 1におけるサブルーチン ( 1 ) の処理を示すフロ —チヤ一卜である。
第 6図は本発明の実施例 1におけるサブルーチン (2 ) の処理を示すフロ 一ナヤ一トであ 。
第 7図は本発明の実施例 1におけるデータの書込みと消去プロックの消去 処理を示すタイムチャートである。
第 8図は本発明の実施例 1におけるメモリコントローラと不揮発性メモリ のパスを共通にした場合のメモリチップへの書込み処理と消去処理を示すタ ィムチヤ一卜である。
第 9図は本発明の実施例 2における半導体メモリカード及びアクセス装置 を示す説明図である。
第 1 0図は本発明の実施例 2における不揮発性メモリの構成を示す説明図 である。
第 1 1図は本発明の実施例 2における高速モードでの書込み処理を示す夕 ィムチヤ一卜である。
第 1 2図は本発明の実施例 2における低速モードでの書込み処理を示す夕 ィムチャートである。
第 1 3図は本発明の実施例 3における半導体メモリカード及びアクセス装 置を示す説明図である。
第 1 4図は本発明の実施例 3における論物変換制御部のテーブルを示す説 明図である。
第 1 5図は本発明の実施例 3におけるデフラグ処理を示す説明図である。 第 1 6図は本発明の実施例 3におけるデフラグ処理を示すフローチャート である。
第 1 7図は本発明の実施例 4における半導体メモリカード及びアクセス装 置を示す説明図である。
第 1 8図は本発明の実施例 4における不揮発性メモリの構成を示す説明図 である。
第 1 9図は従来例におけるデータの記録処理を示すタイムチャートである 第 2 0図は本発明の実施例 4におけるデータの記録処理を示すタイムチヤ 一卜である。 発明を実施するための最良の形態
以下、 本発明による半導体メモリカード、 半導体メモリ制御装置及び半導 体メモリ制御方法の実施例について、 図面を参照しつつ説明する。
(実施例 1 ) 第 1図は本発明の実施例 1による半導体メモリカード とアクセス装置を示 すブロック図である。 第 1図においてアクセス装置 1 0 0には、 半導体メモ リカード 1 1 1が接続される。 半導体メモリ力一ド 1 1 1は、 ホストインタ 一フェース ( I ZF) 部 1 1 2、 CPU 1 13、 RAM 1 14、 ROM 1 1 5、 メモリコントローラ 1 1 6、 不揮発性メモリ 1 1 7、 及びホスト情報メ モリ 1 1 8を含む。 ホストインターフェース部 1 12は、 アクセス装置 1 0 0と制御信号及びデータを送受信するインタ一フェースである。 ROM 1 1 5には半導体メモリカード 1 1 1を制御するプログラムが格納されている。 このプログラムは RAM 1 14を一時記憶領域として使用し、 C PU 1 1 3 上で動作する。 メモリコントローラ 1 1 6は不揮発性メモリ 1 1 7を制御す る素子である。 不揮発性メモリ 1 1 7は半導体メモリ力一ド 1 1 1内のデ一 夕記憶領域である。 メモリコントローラ 1 16は論物変換制御部 1 20、 空 き物理領域生成部 12 1、 及び不揮発性メモリアクセス部 1 23を含む。 論 物変換制御部 1 20は後述するように、 論物変換テ一ブル 1 3 1とエントリ テーブル 1 32とを含むものである。 又空き物理領域生成部 1 2 1は、 ァク セス装置 100から送られるデータ書込み開始ァドレス とデータサイズに基 づいて、 不揮発性メモリ 1 1 7の無効ブロックを消去するかどうかを決定す るものである。 無効ブロックを消去するときはデータの書き込みと同時に消 去する。 不揮発性メモリアクセス部 1 23は、 メモリコ ントローラ 1 1 6よ り直接不揮発性メモリ 1 1 7にアクセスしてデータの書込み、 読出し、 及び 消去を行うものである。 尚、 半導体メモリカードの中の不揮発性メモリ 1 1 7を除く全てのブロックは、 半導体メモリ制御装置を構成している。
不揮発性メモリ 1 1 7は 2つのフラッシュメモリのメモリチップ A, Bか ら成るものとし、 夫々の不揮発性メモリチップは例えば 1 6 MBのデータ容 量を有する。 不揮発性メモリ 1 1 7は後述するように、 アドレス管理領域と データ領域から成り立つている。 2つのメモリチップ A, Bは独立の双方向 パスでメモリコントローラ 1 1 6と接続されている。 又ホスト情報メモリ 1 1 8は、 アクセス装置 1 0 0から与えられるセクタ 単位でのデータ書き込みの開始セクタアドレス S Aと、 セクタ単位での書込 みサイズ Lとを一時的に保持するものである。
第 2図は論物変換制御部 1 2 0を示す説明図である。 論物変換制御部 1 2 0は、 論物変換テーブル 1 3 1とエントリテーブル 1 3 2とから成り立って いる。 論物変換テーブル 1 3 1はアクセス装置 1 0 0から指定された論理セ クタアドレス L S Aから物理セクタアドレス P S Aへの変換を示すテーブル である。 不揮発性メモリ 1 1 7は、 論理空間として 2 Nセクタの空間をもち 、 メモリチップ Aとメモリチップ Bの論理セクタアドレスは論理的に連続で あるものとする。 論物変換テーブル 1 3 1において、 前半の部分、 即ち論理 セクタァドレスが 0〜N— 1までは不揮発性メモリチップ Aに対応するテー ブル領域であり、 後半の部分、 即ち論理セクタアドレスが N〜 2 N— 1まで は、 不揮発性メモリチップ Bに対応するテーブル領域である。 第 2図におい て、 各論理セクタが 5 1 2 Bのユーザデータ領域を有するものとすると、 メ モリチップ A, Bが夫々 1 6 M Bのデータ容量を持つ場合、 第 2図に示す論 理セクタアドレス Nは 2 1 5となる。 ここで 3 2セクタによって 1つの物理 ブロックが形成される。 従って各物理ブロックは 1 6 K Bの容量を持ち、 こ の物理ブロックは選択的に消去できる単位でもあるため、 消去ブロックとい われる。
エントリテーブル 1 3 2は物理ブロックアドレス P B A 0〜2 M— 1まで の各物理ブロックについての状態を示すテーブルであり、 各物理ブロックに ついて 2ビットのデ一夕から成る。 ここで 0 0は有効なデータが記録されて いる有効ブロック、 1 1はデータが記録されているが、 無効なデータである ことを示す無効ブロック、 1 0は不良ブロック、 0 1 は消去済みブロックで あることを示す。 エントリテーブル 1 3 2においても前半部分、 即ち物理ブ ロックァドレスが 0〜M— 1までは不揮発性メモリチップ Aに対応するテー ブル領域であり、 後半部分、 即ち物理ブロックアドレスが M〜 2 M— 1まで は不揮発性メモリチップ Bに対応するテーブル領域である。 これらの 2つの テーブル 13 1, 1 32は夫々 RAM等の揮発性メモリに記録されている。 第 3図は、 各メモリチップ A, Bに配列された消去ブロックの構成を示す 説明図である。 一つの消去ブロックは全 32セクタで構成される。 各セクタ 領域は 528バイトの領域があり、 いわゆるユーザデータを書き込むデータ 領域 5 1 2バイトと、 アドレス管理情報を書き込む管理領域 (MR) 16バ イ トとから構成される。 アドレス管理情報には、 対応する論理アドレスや、 対応するデー夕領域に格納されたデー夕が有効なものか無効なものか、 ある いは不良プロックかを表すフラグなどが含まれる。 そして電源オン直後の初 期化時において、 メモリチップ A, Bの各消去ブロックの管理領域 MRに格 納された情報を CPU 1 1 3が読み出し、 論物変換制御部 1 20中の RAM 上に第 2図の論物変換テーブル 1 3 1やエントリテーブル 1 32を作成する このように構成された半導体メモリカードの書込み時の動作について第 4 図〜第 6図のフローチャート及び第 7図、 第 8図のタイムチャートを用いて 説明する。 書込み時にはアクセス装置 1 00はまず、 書き込み命令と共に、 書き込みの開始セクタアドレス S Aと書き込みサイズ Lを半導体メモリカー ド 1 1 1に転送する。 開始セクタアドレス SAと書き込みサイズ Lは、 ホス 卜情報メモリ 1 18に一時記憶される。 メモリコン卜ローラ 1 1 6は、 ホス ト情報メモリ 1 18に一時記憶された開始セクタァドレス S Aと書き込みサ ィズ L及び、 不揮発性メモリ 1 1 7の前半領域と後半領域の境界を表すパラ メータ (セクタアドレス N) に基づき、 S Aが N未満かどうかを判別する ( ステップ S 10 1) 。 又 S Aが N未満の場合は S A+Lが Nを超えるかどう かを判断する (ステップ S 102) 。 これによつて前半領域 (メモリチップ A) のみへの書き込みか、 後半領域 (メモリチップ B) のみへの書き込みか
、 あるいは、 両者を跨ぐ書き込みかを判断する。
前半領域のみへの書き込みであれば、 ステップ S 1 0 3に進んでポインタ mを Lとする。 ポインタ mは各メモリチップへの書込みサイズを示す。 そし てサブルーチン (1) の処理を行って (ステップ S 1 04 ) 、 処理を終える 。 又ステップ S 10 1において Nが S A以上であれば後半領域のみへの書込 みであるため、 ステップ S 1 05においてポインタ mを Lとし、 ステップ S 10 6においてサブルーチン (2) の処理を行って (ステップ S 1 0 6) 、 処理を終える。 又前半から後半への書込み、 即ち 2つのメモリチップ Aと B を跨ぐ書込みであれば、 ステップ S 107においてポインタ mを N— S Aと し、 サブルーチン (1) によってメモリチップ Aへの書込み処理を行う (ス テツプ S 1 08) 。 次いでステップ 109においてポインタ mを L—mとし 、 ステップ S 1 1 0においてサブルーチン (2) によってメモリチップ Bへ の書込み処理を行う (ステップ S 1 1 1) 。
第 5図はサブルーチン ( 1) の処理を示すフローチャートである。 このフ ローチヤ—トでは動作を開始すると、 まずステップ s i l 1において mX 5
1 2 Bが 4 KBを超えているかどうかをチェックする。 本実施例 1において は書き込みデータサイズが 4 KBの時に 2 mS e cの書込み時間を要するも のとしている。 書き込みデータのサイズが 5 1 2 B単位で 8回、 即ち 4KB 以上か否かで書き込み対象のメモリチップ以外のメモリチップ (ここではメ モリチップ B) を消去するかどうかを、 空き物理領域生成部 1 2 1が判断す る。 消去する場合は消去コマンドを発行する。 ステップ S 1 1 1でこの値が 4 KBを超える場合には、 ステップ S I 12において (mX 5 1 2 B) /4 KBの演算を行う。 ここで nは商のうちの整数とする。 そしてステップ S 1 1 3に進んでメモリチップ Aの空ブロックに送られてきたデータをァドレス 管理情報と共に書込む。 又これと同時にメモリチップ Bの無効プロック n個 を消去する。 無効プロックかどうかはエントリテーブル 1 32に 1 1が記録 されているか否かで判断する。 消去後にはエントリテーブルはそのブロック に対して 0 1、 即ち消去済みプロックとして更新する。 無効ブロックが n個 以下であれば、 すべての無効ブロックを消去し、 無効プロックがなければ消 去は不要である。 又ステップ S I 1 1において書込みデータサイズが 4 K B 未満であれば、 メモリチップ Aの空ブロックに書込みのみを行って処理を終 える。
次に第 6図はサブルーチン (2 ) を示すフローチャートである。 このフロ —チャートでは動作を開始すると、 まずステップ S 1 2 1において m X 5 1 2 Bが 4 K Bを超えているかどうかをチェックする。 本実施例 1においては 書き込みデ一夕サイズが 4 K Bの時に 2 m S e cの書込み時間を要する例と しており、 書き込みデータのサイズが 5 1 2 B単位で 8回、 即ち 4 K B以上 か否かで書き込み対象のメモリチップ以外のメモリチップ (ここではメモリ チップ A) を消去するかどうかを、 空き物理領域生成部 1 2 1が判断する。 消去する場合は、 消去コマンドを発行する。 ステップ S 1 2 1でこの値が 4 K Bを超える場合には、 ステップ S 1 2 2において ( m X 5 1 2 B ) / 4 K Bの演算を行う。 ここで nは商のうちの整数とする。 そしてステップ S 1 2 3に進んでメモリチップ Bの空ブロックに送られてきたデータをァドレス管 理情報と共に書込む。 又これと同時にメモリチップ Aの無効ブロック n個を 消去する。 無効ブロックかどうかはェントリテーブル 1 3 2に 1 1が記録さ れているか否かで判断する。 消去後にはエントリテーブルはそのブロックに 対して 0 1、 即ち消去済みブロックとして更新する。 無効ブロックが n個以 下であれば、 すべての無効ブロックを消去し、 無効ブロックがなければ消去 は不要である。 又ステップ S 1 2 1において書込みデ一夕サイズが 4 K B以 下であれば、 メモリチップ Bの空ブロックに書込みのみを行つて処理を終え る。
次にステップ S 1 1 3のメモリチップ Aの書込みとメモリチップ Bの消去 処理について、 タイムチヤ一トを用いて説明する。 第 7図は前半領域 (メモ リチップ A) のみへの書き込みの場合において、 書き込みサイズが 4 K Bの 場合のタイムチャートを示す。 第 7図の上部はメモリチップ Aへのアクセス を示す。 ライトコマンド W Cの発行期間は、 不揮発 ^feメモリチップ Aへの書 き込み指示と書き込み先アドレスを転送する期間である。 データ転送 (DA TA) の期間は、 書き込みデータをメモリチップ Aへ転送する期間である。 又プログラムビジ一期間 (BUSY) は、 書き込みデータをスモリチップ A へ実際に書込む期間である。 実際には不揮発性メモリアクセス部 1 23より ライトコマンドを発行する。 次いでデータ転送時には、 1セクタ分の 5 1 2 Bの書き込みデータとそれに対応する管理領域の 1 6 Bの情幸 、 即ち 528 Bのデータ転送が行われる。 この間は約 50 ^ sである。 次いで書込み時間 はビジーフラグ (BUSY) が立てられる。 この間は約 20 0 sである。 こうして最初のセクタへの書き込み (W1) が終了すると、 のセクタの書 込みに同様の処理が繰り返される。 こうして 8セクタ分のデータを書き込む ことによって、 1物理ブロック分、 即ち 4KB分のデータの書込むことがで きる。 この 4KB分のデータの書込み時間は 250 X 8 (/i s ) , 即ち約 2 m sの時間を要する。
一方これと同期して、 ほぼ同一の時間を要する消去処理をスモリチップ B に対して行う。 このメモリチップ Bの消去対象となるブロックは、 エントリ テーブル 1 32において無効ブロック (2進数で 1 1) として示されている 物理ブロックである。 この物理ブロックに対して消去コマンド E Cを発行す る。 そうすれば消去中の期間に消去ビジ一信号 (BUSY) 力 S得られ、 この 間消去が行われる。
ここで不揮発性メモリとして N ANDフラッシュメモリなどを使用した場 合、 プログラムビジー時間 (200 ^ s) に対して消去ビジ一時間が長い ( 例えば 2 m S e c ) 。
以上の処理により、 メモリチップ Aへの書き込みサイズが 4 KB以上の場 合は、 メモリチップ Bの消去と同時に書込み処理することに り、 消去時間 が顕在化しないので、 全体的な処理パフォーマンスを合理化することができ る。 更に書き込みサイズ Lに相当する消去ブロック数を算出することにより 処理パフォーマンスを低下させることがなく、 できるだけ多く のセクタを消 去することができる。
尚、 第 7図ではメモリチップ Aへの書き込みとメモリチップ Bの消去と同 時に実行する例を示したが、 第 6図のフローチャートのステップ S 1 2 3に 示すように、 メモリチップ Bへの書き込みとメモリチップ Aを消去する場合 にも、 メモリチップ A, Bが逆となるだけで同一の動作が行われる。 又メモ リチップ Aと Bを跨いて書込みをする場合にも、 これらの処理が順次行われ る。
尚、 この実施例では不揮発性メモリ 1 1 7のメモリチップ A, Bは独立し たパスでメモリコントローラ 1 1 6に接続されているが、 1つのパスで共通 に接続されていてもよい。 但しその場合は、 第 7図のライ トコマンドと消去 コマンドがパス競合を起こさないように、 空き物理領域生成部 1 2 1は、 ラ ィトコマンド W C、 及びデータ転送期間と消去コマンドの発行のタイミング を時間的にずらせる。 即ち第 8図に示すように、 パスを用いるライ トコマン ド発行期間 W C、 データ転送期間 (D A T A) の後に、 消去コマンド E Cを 発行する。 そして消去コマンドを発行した後に B U S Y状態が終われば次の セクタのライトコマンド、 これに続くデータ転送を行う。 こうすれば複数の メモリチップとメモリコントローラとを 1つのバスで共通に接続することが できる。
またこの実施例では、 消去ブロックの消去時間に相当する書き込み時間を 要する場合に、 消去と書き込みとを並行して処理している。 ここで示した数 値は一例であり、 書き込み時間、 消去時間によってこれらの数値は適宜選択 できるものとする。
また第 2図に示した論物変換テーブルは、 ブロック単位で変換するための 変換テーブルであっても構わない。 また複数の消去ブロックをグループとし た単位で変換を行ってもよい。 更にこの実施例では不揮発性メモリとして 2 つのメモリチップを用いたが、 複数の任意のメモリチップを用いて構成する こともできる。 (実施例 2)
第 9図は、 本発明の実施例 2における半導体メモリカードを示す図である 。 本図においてアクセス装置 100には、 半導体メモリカード 1 1 1が接続 される。 半導体メモリカード 1 1 1は、 ホストインターフェース ( I / F) 部 1 12、 CPU 1 1 3、 RAM 1 14、 ROM 1 1 5 , メモリコントロー ラ 141、 不揮発性メモリ 1 1 7、 及びホスト情報メモリ 142を含む。 ホ ストインタ一フェース部 1 12は、 アクセス装置 100と制御信号及びデ一 夕を送受信するィンターフェースである。 ROM1 1 5には半導体メモリ力 ード 1 1 1を制御するプログラムが格納されている。 このプログラムは RA Μ 1 14を一時記憶領域として使用し、 C PU 1 1 3上で動作する。 メモリ コントローラ 1 1 6は不揮発性メモリ 1 1 7を制御する素子である。 不揮発 性メモリ 1 17は半導体メモリカード 1 1 1内のデータ記憶領域である。 メ モリコント口一ラ 141は論物変換制御部 143、 及び不揮発性メモリァク セス部 144を含む。 論物変換制御部 143は論物変換テーブルとエントリ テーブルとを含むものである。 不揮発性メモリアクセス部 144は、 メモリ コントローラ 141より直接不揮発性メモリ 1 1 7にアクセスしてデータの 書込み、 読出し、 及び消去を行うものである。
不揮発性メモリ 1 17は 2つのフラッシュメモリのスモリチップ Α, Βか ら成るものとし、 夫々の不揮発性メモリチップは例えば 1 6ΜΒのデータ容 量を有する。 不揮発性メモリ 1 1 7は後述するように、 アドレス管理領域と データ領域から成り立つている。 2つのメモリチップ Α, Βは独立の双方向 パス No. 0, No. 1でメモリコントローラ 141と接続されている。 ホスト情報メモリ 142はアクセス装置 1 00から伝送されたアクセス速 度を保持するものであり、 高速モード及び低速モードのいずれか一方の状態 が保持されている。 不揮発性メモリアクセス部 144は高速モードが設定さ れている場合には、 ピーク電流が大きいアクセスも許容されているので、 不 揮発性メモリ 1 1 1 7をアクセスする際に高速でアクセスする。 又低速モー ドが設定されている場合には、 不揮発性メモリ 1 1 7をアクセスする際に、 ピーク電流を小さくして電源への負荷を軽くするように制御するものである 第 1 0図はメモリチップ A, Bの内部構成を示した説明図である。 不揮発 性メモリ 1 1 7内のメモリチップ A, Bはいずれも、 夫々バンク B 0〜パン ク B 3までの 4つのバンクに分割されている。 パンク B 0〜B 3はそれぞれ ページ単位で同時に書き込みを行う。 各消去ブロック E B ( 4 K B = 4 2 2 4 B ) は夫々ページ 0 , ページ 1の 2ページから構成される。 メモリチップ A , Bのバンク毎に 1つずつの消去ブロックから構成される全 8消去ブロッ クを論理セクション L Sとする。 不揮発性メモリ 1 1 7全体 ま L S 0〜: L S 2 5 5の 2 5 6セクションから構成される。
以上のように構成された半導体メモリカード、 及びアクセス装置について 、 以下第 1 0図、 第 1 1図を中心にその動作を説明する。 まずアクセス装置 1 0 0の電源が投入され初期化する際に、 もしくはアクセス装置 1 0 0上で のスィッチ操作があつたときに、 スピードモードが転送され、 ホスト情報メ モリ 1 4 2に格納される。 不揮発性メモリアクセス部 1 4 4 まホスト情報メ モリ 1 4 2に格納されたスピードモードを参照して、 アクセスの形態を決定 する。
次に高速スピードモードの場合について、 第 1 1図を用いて説明する。 高 速モードで書込みを行う場合、 アクセス装置 1 0 0から書き込みデータ A,
B , C , D…が第 1 1図に示すように連続してホストインターフェース部 1 1 2を介して転送される。 ここで書込みデータの論理ァドレスは連続したァ ドレスとする。 こうして転送されたデータは一旦バッファに保持される。 こ のアドレスは論物変換制御部 1 4 3によって物理アドレスに変換される。 デ 一夕及びアドレスはバス N o . 0を通じてメモリチップ Aに書込まれる。 こ こで W Cはライトコマンドを示す。 又 T 1はデータ転送期間、 T 2は実際に メモリチップ Aに書込み処理を行うプログラムビジー時間である。 パス N o . 0のデータ転送が終了すると、 続いてパス N 0. 1に ¾fしてライ トコマン ド、 続けて T 1期間にデータ Bのデータ転送が行われる。 メモリチップ Bに 対し、 T 2期間でデ一夕の書込みが行われる。 この書込み中にもメモリチッ プ Aへの書込み処理が終了すると、 バス No. 0よりライ トコマンド、 デ一 夕 Cのデータ転送及び書込みが行われる。 又メモリチップ Bに対しては書込 みが終わると、 ライトコマンド、 データ Dの転送、 データの書込み処理が行 われる。 このようにデータ A, Cの書込みとデータ B, Dの書込みの時間が 第 1 1図に示すように重なるが、 並列して書込むことによって高速な書込み 処理が行われる。
一方、 ホスト情報メモリ 142に設定したスピ一ドモ一ドが低速スピ一ド モードの場合については、 第 12図を用いて説明する。 書き込みデータ A, B, C, D…の実際の書込み期間、 即ちプログラムビジ一期間は、 デ一夕転 送などに比較して電流を多く消費する期間である。 低速モードではプロダラ ムビジー時間が時間的に重ならないように書き込み制御される。 具体的には バス No. 0に対しライ トコマンド WCを発行し、 データ Aの転送を行うと 、 メモリチップ Aの書込みが行われ、 その間プログラムビジー (BUSY) となる。 不揮発性メモリアクセス部 144はこの書込み処理が終了し、 書き 込み対象であるメモリチップ Aのプログラムビジー信号 (BUSY) の解除 が不揮発性メモリアクセス部 144へ通知されるまで、 カードビジー信号を アクセス装置 1 00に対してフィードバックし、 データ転送を停止させる。 その後停止が解除されると、 アクセス装置 1 00から引き続いてデータ Bが 転送される。 この後バス No. 1に対しライ トコマンド ~WCを発行し、 デー 夕 Bのデータ転送を行う。 そうすればメモリチップによる書込みの際プログ ラムビジー (BUSY) となる。 この間もアクセス装置 1 00よりデータの 転送を停止させる。 書込みが終了すると、 次のデータ Cが転送され、 同様の 処理が繰り返される。 このような双方向制御により電流を多く消費するプロ グラムビジー期間が分散され、 ピーク電流を抑えることができる。
従って電源供給回路の耐電流値の低いアクセス装置 1 0 0を使用する場合 は低速スピードモードを選択すべく、 アクセス装置 1 0 0がホスト情報メモ リ 1 4 2に低速モ一ドを設定する。 一方電源供給回路の耐電流 {直の高いァク セス装置 1 0 0を使用する場合において高速アクセスを要求する場合は、 高 速スピ一ドモードをホスト情報メモリ 1 4 2に設定する。 不揮発性メモリァ クセス部 1 4 4は、 第 1 1図または第 1 2図に示すアクセス形態を選択して 、 それぞれに対応した書き込み制御を行う。
尚この実施例では、 2つのメモリチップ Α, Βを用いて夫々データ書込み の重なりを許容する高速モードと、 重なりを許容しない低速モードとを切換 えている。 メモリチップが更に多数、 例えば 4つの場合には、 2つのメモリ チップの重なった書込みを許容する低速モードと全てのメモリチップへの書 込みを同時に行うことができる高速モードのように切換えることもできる。 又低速モードではいずれか 1つのメモリチップへの書込みのみを許容し、 高 速モードで 2以上のメモリチップへの重複書込みを許容するようにしてもよ い。
この実施例による半導体メモリカードは、 アクセス装置に接続されて使用 される半導体メモリカードであって、
制御信号及びデータを前記アクセス装置に対して送信し、 前記アクセス装 置からの信号を受信するホストインターフェース部と、
複数の不揮発性メモリチップを含み、 複数の連続するセクタがデータ消去 の最小単位であるブロックとしてグループ化された不揮発性メモリと、 前記複数の不揮発性メモリチップと夫々独立した双方向性パスで接続され 、 データの消去、 書き込み、 読み出しを制御するメモリコントローラと、 前記アクセス装置から与えられる書き込みスピードモードを一時記憶する ホスト情報メモリと、 を具備し、
前記メモリコントローラは、 前記ホスト情報メモリに記憶されたスピ一ドモ一ドに応じて前記複数の不 揮発性メモリへのそれぞれの書き込み夕イミングを制御しつつ、 前記複数の 不揮発性メモリチップに対して書き込みを行う不揮発性メモリアクセス部と 、 を具備する半導体メモリカードである。
ここで、 前記ホスト情報メモリに保持されている書き込みスピードモード が高速モ一ドの場合に、 前記複数の不揮発性メモリチップに対して並列に書 き込みを行い、
前記ホスト情報メモリに保持されている書き込みスピードモードが低速モ 一ドの場合に、 前記複数の不揮発性メモリチップに対して 1頃次に書き込みを 行うものとすることができる。
また、 本実施例による半導体メモリ制御方法は、 複数の不揮発性メモリチ ップを含み、 複数の連続するセクタがデータ消去の最小単位であるブロック としてグループ化された不揮発性メモリを有する半導体メモリカードにおけ る半導体メモリ制御方法であつて、
前記ホスト情報メモリに記憶されたスピードモードに応じて前記複数の不 揮発性メモリへのそれぞれの書き込みタイミングを制御しつつ、 前記複数の 不揮発性メモリチップに対して書き込みを行うものとすることができる。
(実施例 3 )
次に本発明の実施例 3について説明する。 第 1 3図はこの実施例による半 導体メモリカードを示すブロック図である。 第 1 3図においてアクセス装置 1 0 0には、 半導体メモリカード 1 1 1が接続される。 半導体メモリカード 1 1 1は、 ホストインターフェース ( I / F ) 部 1 1 2、 C P U 1 1 3、 R A M 1 1 4、 R O M 1 1 5 > メモリコントローラ 1 5 1、 不揮発性メモリ 1 1 7、 及びホスト情報メモリ 1 5 5を含む。 ホストインターフェース部 1 1 2は、 アクセス装置 1 0 0と制御信号及びデータを送受信するインターフエ ースである。 R O M 1 1 5には半導体メモリカード 1 1 1を制御するプログ ラムが格納されている。 このプログラムは R A M I 1 4を一時記憶領域とし て使用し、 C P U 1 1 3上で動作する。 メモリコントローラ 1 5 1は不揮発 性メモリ 1 1 7を制御する素子である。 不揮発性メモリ 1 1 7は半導体メモ リカード 1 1 1内のデ一夕記憶領域である。 メモリコントローラ 1 5 1は論 物変換制御部 1 5 2、 空き物理領域生成部 1 5 3、 及び不揮発性メモリァク セス部 1 5 4を含む。 論物変換制御部 1 5 2は後述するように、 論物変換テ —ブル 1 5 6とエントリテーブル 1 5 7とを含むものである。 又空き物理領 域生成部 1 5 3は、 不揮発性メモリ 1 1 7内の記録状態を整理し空きブロッ ク (消去済みブロック) を増加させ、 書込み前に消去することなくいつでも 書き込みができる状態にするものである。 不揮発性メモリ 1 1 7は、 1つの メモリチップでもよく、 複数の不揮発性メモリを用いたものであってもよい 。 また不揮発性メモリ 1 1 7内の消去ブロックは、 実施例 1の第 3図と同様 であるとする。
ここで空き物理領域生成部 1 5 3は、 各消去ブロック単位で所定の閾値 T h 1以上のセクタにデータが書込まれた時点でその消去プロックをデフラグ 対象プロックとし、 後述する論物変換制御部 1 5 2のエントリテーブルに登 録する。 又後述するように、 エントリテーブル内の空きブロックを計数し、 計数値が所定の閾値 T h 2以下となったときにデフラグ要求信号をアクセス 装置 1 0 0に送信するものである。
第 1 4図は論物変換制御部 1 5 2を示した説明図である。 論物変換制御部 1 5 2は、 アクセス装置 1 0 0から指定された論理セクタァドレス L S Aか ら物理セクタアドレス P S Aへの変換処理及び各物理プロ、ソクの状態を管理 するテーブルである。 このテーブルは、 論理セクタアドレス L S Aを物理セ クタアドレス P S Aに変換する論物変換テーブル 1 5 6と、 エントリテープ ル 1 5 7から成り立つている。 エントリテーブル 1 5 7は各物理ブロックァ ドレス P B A 0〜M— 1に対応して各物理ブロックの状態を示す 3ビットの 情報が保持されている。 ここで 0 0 0は有効ブロック、 0 1 1は無効プロッ ク、 0 1 0は不良ブロック、 0 0 1は空きブロック、 即ち消去済みブロック 、 1 0 0はデフラグの対象となるブロックを示す。 これらの 2つのテーブル は R AM等の揮発性メモリに記憶されている。 電源オン直後の初期化時にお いて、 C P U 1 1 3は不揮発性メモリ 1 1 7の各消去ブロックの管理領域に 格納された情報を読み出し、 論物変換制御部 1 5 2内の R A M上に論物変換 テーブル 1 5 6ゃェン卜リテーブル 1 5 7を作成する。
以上のように構成された半導体メモリカード、 及びアクセス装置について 、 以下第 1 5図, 第 1 6図を中心にその動作を説明する。 アクセス装置 1 0 0が半導体メモリカードに書き込み等の処理を行っていくうちに、 次第に不 揮発性メモリ 1 1 7の空きブロックが少なくなつてくる。 ここで本実施例 3 では、 実施例 2のように、 消去プロック内の各セクタ (ページ) は論理順に 書き込まず、 アクセス装置 1 0 0が転送する論理セクタはその論理セクタァ ドレスに関わらず、 消去ブロックの昇順に書込むものとする。 具体的には第 1 5図に示すように、 アクセス装置 1 0 0から論理セクタ L S 4, L S 0 , L S O , L S I , L S 3…への書き込み命令があると、 消去ブロック 1のセ クタナンバーの 0, 1, 2, 3…位置に昇順に書込んでいく。 尚 Nは新規フ ラグ情報を示すフラグ、 0は旧情報を示すフラグである。
第 1 6図は半導体メモリカードの処理を示すフローチャートである。 動作 を開始すると、 まずステップ S 3 0 1においてアクセス要求があるかどうか をチェックし、 又アクセス要求でなければデフラグ指示かどうかをチェック する (ステップ S 3 0 2 ) 。 アクセス要求があればステップ S 3 0 3におい てカードアクセスを行う。 そしてステップ S 3 0 3において書込んだ不揮発 性メモリの消去ブロック中の有効セクタが閾値 T h 1を超えているかどうか をチェックする。 閾値 T h 1以下であればステップ S 3 0 1 , 3 0 2のルー プに戻って同様の処理を繰り返す。 カードアクセスが進んで消去ブロック内 に閾値 T h 1を超えるセクタが書き込まれた時点で、 空き物理領域生成部 1 5 3はその消去ブロックをデフラグ対象プロックとして第 1 4図のエントリ テ一プル 1 5 7に登録する (ステップ S 3 0 5 ) 。 そしてアクセス装置 1 0 0が続いて転送してきた論理セクタのデータは別の空きブロック (消去済み ブロック) をエントリテーブル 1 5 7からサーチして書き込んでいく。 これ を続けることにより次第にェントリテーブル中の空きプロックが少なくなり 、 反対にデフラグ対象ブロックが多くなつてくる。 空き物理領域生成部 1 5 3はステップ S 3 0 5において消去プロックをデフラグ対象フラグとした後 、 ステップ S 3 0 6に進んで空きブロック数を計数し、 閾値 T h 2以下であ るかどうかをチェックする。 空きブロック数が閾値 T h 2を超えていればス テツプ S 3 0 1, 3 0 2のループに戻って同様の処理を繰り返す。 空きプロ ック数が閾値以下の場合には通常デフラグ対象のブロック数も多いと考えら れるので、 ステップ S 3 0 7に進んでデフラグ要求信号をアクセス装置 1 0 0に送る。 尚ステップ S 3 0 6において、 空きプロック数でなくデフラグ対 象フラグを計数しても良い。 またステップ S 3 0 7では、 デフラグ要求信号 に代えてアクセスカウント値をアクセス装置 1 0 0に送るようにしてもよい アクセス装置 1 0 0は、 デフラグ要求信号を受け付けた後に直ちにデフラ グ指示信号を半導体メモリカード 1 1 1に転送してもよい。 また上記カウン ト値が得られたときにはカウント値に基づき、 この後に転送するデータ容量 に応じて、 デフラグ指示信号の転送時期を見極めた上でデフラグ指示信号を 発行してもよい。 メモリカードはアクセス装置からデフラグ要求信号を受け 付けると、 ステップ S 3 0 2からステップ S 3 0 8に進んで、 アクセス装置 1 0 0から転送されたデフラグ指示信号をホスト情報メモリ 1 5 5に一時記 憶する。 そして空き物理領域生成部 1 5 3がこれを参照して、 不揮発性メモ リアクセス部 1 5 4に対してデフラグ処理の指示を発行する。
例えば第 1 5図において、 消去ブロック E B 1と E B 5はいずれもデフラ グ対象ブロックとして登録された消去ブロックとする。 この場合、 消去プロ ック E B 1 , E B 5の各セクタナンパ一 (新規フラグ Ν ί^、マークされたセク 夕のみ) をみて、 空きの消去ブロック 9に論理セクタ順にマージ処理を行う ように、 不揮発性メモリアクセス部 1 5 4に読み書き指示を発行する。 不揮 発性メモリアクセス部 1 5 4はその指示に従い、 第 1 5図に示すように消去 ブロック E B 1と E B 5から新規フラグ Nの立った論理セクタから空き消去 ブロック E B 9にコピーする。 この後に消去ブロック E B 1 , E B 5は無効 ブロックとしてエントリテーブル 1 5 7に登録する。 こうすれば半導体メモ リカードがアクセス装置からの指示なくデフラグする場合に比べて、 ァクセ ス装置からの指示によってデフラグするので、 速度低下なく、 必要な時期に デフラグを行うことができる。
尚、 論物変換テーブルやエントリテーブルは、 比較的高速にアクセスでき れば R A M以外の揮発性読み書きメモリを使用しても構わない。
ここで本実施例による半導体メモリカードは、 アクセス装置に接続されて 使用される半導体メモリカードであって、
制御信号及びデータを前記アクセス装置に対して送信し、 前記アクセス装 置からの信号を受信するホストインターフェース部と、
複数の不揮発性メモリチップを含み、 複数の連続するセクタがデータ消去 の最小単位であるプロックとしてグループ化された不揮発性メモリ と、 前記不揮発性メモリに対するデータの消去、 書き込み、 読み出しを制御す るメモリコントローラと、
前記アクセス装置から与えられるデフラグ指示信号を一時記憶するホスト 情報メモリと、 を具備し、
前記メモリコントローラは、
前記不揮発性メモリの消去済みブロックの残量を検出し、 消丟済みブロッ クの数が所定数以下のときに前記アクセス装置に対してデフラグ要求信号を 発行すると共に、 ホスト情報メモリにデフラグ指示信号が一時記憶されてい るときにデフラグを実行する空き物理領域生成部を有する半導体メモリカー ドである。 また本実施例による半導体メモリの制御方法は、 複数の不揮発性メモリチ ップを含み、 複数の連続するセク夕がデータ消去の最小単位であるブロック としてグループ化された不揮発性メモリを有する半導体メモリカードにおけ る半導体メモリ制御方法であつて、
前記アクセス装置から与えられるデフラグ指示信号をホス ト情報メモリに 一時記憶し、
前記不揮発性メモリの消去済みプロックの残量を検出し、
消去済みブロックの数が所定数以下のときに前記アクセス装置に対してデ フラグ要求信号を発行し
ホスト情報メモリにデフラグ指示信号が一時記憶されているときにデフラ グを実行するものである。
(実施例 4)
第 1 7図は、 本発明の実施例 4におけるアクセス装置と半導体メモリカー ドを示したブロック図である。 第 1 7図においてアクセス装置 1 00には、 半導体メモリカード 1 1 1が接続される。 半導体メモリ力一 ド 1 1 1は、 ホ ストインターフェース ( I /F) 部 1 1 2、 CPU 1 1 3、 RAM I 14、 ROM 1 1 5 , メモリコントローラ 16 1、 不揮発性メモリ 1 64、 及びホ ス卜情報メモリ 1 65を含む。 ホストインタ一フェース部 1 1 2は、 ァクセ ス装置 100と制御信号及びデータを送受信するィン夕一フエースである。 ROM 1 1 5には半導体メモリカード 1 1 1を制御するプログラムが格納さ れている。 このプログラムは RAM 1 14を一時記憶領域として使用し、 C PU 1 1 3上で動作する。 メモリコントローラ 1 6 1は不揮発性メモリ 1 6 4を制御する素子である。 不揮発性メモリ 1 64は半導体メモリカード 1 1 1内のデータ記憶領域である。 メモリコントローラ 1 64は論物変換制御部 1 62、 及び不揮発性メモリアクセス部 1 63を含む。 不揮発性メモリァク セス部 1 63は、 メモリコントローラ 1 6 1より直接不揮発'性メモリ 1 64 にアクセスしてデータの書込み、 読出し、 及び消去を行うものである。 又ホスト情報メモリ 1 6 5はアクセス装置 1 0 0からのァロケ一ションテ 一ブル更新指示信号を一時的に保持するものである。
第 1 8図は不揮発性メモリ 1 6 4の内部構成を示した説明図である。 不揮 発性メモリ 1 6 4における消去ブロックやページの仕様は、 実施例 2の不揮 発性メモリチップと同様である。 不揮発性メモリ 1 6 4は実施例 1〜3と異 なり、 アドレス管理情報は不揮発性メモリ 1 6 4内のアロケーションテープ ル (A T ) 領域に、 論物変換テーブルやエントリテ一プルのフォーマット形 式にて記憶されている。 ここでアロケーションテーブル (A T) とは、 メモ リコントロ一ラ 1 6 1が不揮発性メモリ 1 6 4を管理するためのテーブルを 示す。 アロケーションテーブル領域 (A T領域) は管理情報である A Tをデ 一夕領域とは別の領域にまとめて記録するものである。 不揮発性メモリ 1 6 4に存在する消去プロック数が非常に多い場合においては、 実施例:!〜 3の ように初期化時に各消去ブロックの管 ¾領域の管理情報に基づいて R A M上 に論物変換テーブルやエントリテーブルを生成する方法をとると、 時間が比 較的長くかかる。 そこで消去ブロック数が多い不揮発性メモリを使用する場 合には、 初期化時間を短縮するために、 不揮発性メモリ 1 6 4の特定の A T 領域に集中して管理情報を保持する A T管理方式 (以下、 集中型格納方式と いう) がとられる。
論物変換制御部 1 6 2は論物変換テーブルとエントリテーブルを含む。 両 者共 R A Mなどの揮発性メモリに記憶されている。 電源オン直後の初期化時 において、 不揮発性メモリ 1 6 4の A T領域上のアロケーションテーブルを C P U 1 1 3が読み出し、 論物変換制御部 1 6 2内の R A M上に論物変換テ —ブルやエントリテーブルを作成する。 A T領域からのデータの読出し、 即 ち A Tリードは、 A Tが全データ領域を管理する場合は、 初期化 3寺のみだけ でよい。
以上のように構成された半導体メモリカード、 及びアクセス装置について 、 以下第 1 8図〜第 20図を中心にその動作を説明する。 第 1 9図は従来の 不揮発性メモリアクセス部のアクセス形態、 第 20図は不揮発†生メモリァク セス部 1 6 3のアクセス形態を示した説明図である。 従来の半導体メモリ力 ードでは、 アクセス装置 100からデータを書き込む毎に、 論物変換制御部 162のテーブルを同時に更新する。 従って更新された論物変換制御部 1 6 2のテーブルを不揮発性メモリ 1 64に書き戻す処理が必要であった。 第 1
9図はデータ書込み情報の処理を示しており、 データライ トはデータの書込 みの期間、 ATライトは論物変換制御部 162の更新されたテーブルを不揮 発性メモリ 1 6 の AT領域に書き戻す処理を示している。
この ATライ卜に要する時間的オーバへッドにより処理パフォーマンス面 が低下する。 特に、 データライトの容量が小さい場合には、 全体の処理時間
(データライト時間 + ATライト時間) に対して ATライト時間の割合が比 較的大きくなるので、 問題となる。
アクセス装置 1 00が例えば数百 KBオーダのサイズのユーザデータを連 続で書き込み、 更にアクセス装置 1 00側の FATの更新も数百 KBオーダ で更新するシステムにおいては、 ATもその周期に対応して更新すればよい 。 その理由は、 ファイル · アロケーションテーブル (以下、 FATという) が更新されて不揮発性メモリ 1 64への書き込みが完了する前に電源遮断な どが起きた場合、 FATは更新されないので、 ATも更新する必要がない。 逆に FAT更新と AT更新の整合をとつた方が合理的であると言える。 ァク セス装置 1 00はその使用用途によって、 FAT更新のスパンは異なる。 従 つて、 使用用途に応じて処理パフォーマンスの最適化を行う為に、 アクセス 装置 1 00側から AT更新のタイミングを制御し、 AT更新指示信号を転送 すれば良い。 そこで本実施例 4においては、 アクセス装置 1 0 0が ATの更 新を指示する AT更新指示信号を用いる。
本実施例では第 20図に示すように、 複数のデータを書込んだ後、 FAT の書込みを終え、 その後ホストであるアクセス装置 1 00より半導体メモリ カードに A T更新指示信号が与えられる。 A T更新指示信号は一旦ホスト情 報メモリ 1 6 5に保持される。 不揮発性メモリアクセス部 1 6 3は更新され ている論物変換制御部 1 6 2内の論物変換テーブルや変換テーブルの情報を A Tとして不揮発性メモリ 1 6 4の A T領域に書込む。
同様にして複数のデータを消去した場合にも、 F A Tの書込みを終え、 そ の後ホストであるアクセス装置 1 0 0より半導体メモリカードに A T更新指 示信号が与えられる。 A T更新指示信号は一旦ホスト情報メモリ 1 6 5に保 持される。 不揮発性メモリアクセス部 1 6 3は更新されている論物変換制御 部 1 6 2内の論物変換テーブルや変換テーブルの情報を A Tとして不揮発性 メモリ 1 6 4の A T領域に書込む。 こうすれば A Tライ 卜する際の時間的な オーバ一へッドを少なくし、 処理パフォーマンスを向上させることができる ここで、 本実施例による半導体メモリカードは、 アクセス装置に接続され て使用される半導体メモリカードであって、
制御信号及びデータを前記アクセス装置に対して送信し、 前記アクセス装 置からの信号を受信するホストインタ一フェース部と、
'複数の連続するセクタがデー夕消去の最小単位であるブロックとしてダル ープ化され、 アドレス管理情報領域とユーザデー夕領域とが夫々異なったブ ロックに保持される不揮発性メモリと、
アドレス管理情報を保持する揮発性メモリを有し、 前記不揮発性メモリに 対してデータの消去、 書き込み、 読み出しを行い、 データの消去、 書き込み をする毎に前記揮発性メモリを更新するメモリコントローラと、
, アクセス装置から転送されたァドレス管理情報更新信号を一時記憶するホ スト情報メモリと、 を具備し、
前記メモリコントローラは、
前記アクセス装置から書き込み命令とデータが与えられたときに転送され たデータを前記不揮発性メモリに書き込み、 消去命令が与えられたときに指 定されたブロックを消去すると共に、 前記ホスト情報メモリに前記ァドレス 管理情報更新信号が保持されているときに、 前記メモリコントローラの揮発 性メモリに保持されているアドレス管理情報を前記不揮発性メモリのァドレ ス管理情報領域に書き込む不揮発性メモリアクセス部を備えたことを特徴と する半導体メモリカードである。
また、 本実施例による半導体メモリの制御方法は、 複数の連続するセクタ がデータ消去の最小単位であるプロックとしてグループ化され、 アドレス管 理情報領域とユーザデータ領域とが夫々異なったブロックに保持される不揮 発性メモリを有する半導体メモリカードにおける半導体メモリ制御方法であ つて、
アドレス管理情報を保持する揮発性メモリを有し、 前記不揮発†生メモリに 対してデータの消去、 書き込みをする毎に前記揮発性メモリを更新し、 アクセス装置から転送されたァドレス管理情報更新信号をホス卜情報メモ リに一時記憶し、
前記アクセス装置から書き込み命令とデータが与えられたときに転送され たデータを前記不揮発性メモリに書き込み、
消去命令が与えられたときに指定されたブロックを消去し、
前記ホスト情報メモリに前記ァドレス管理情報更新信号が保持されている ときに、 前記メモリコントローラの揮発性メモリに保持されているアドレス 管理情報を前記不揮発性メモリのァドレス管理情報領域に書き込むことを特 徵とするものである。 産業上の利用の可能性
本発明に関わる半導体メモリカード、 半導体メモリ制御装置は、 アクセス 装置側、 半導体メモリカード側のいずれか、 あるいは両者の処理を最適化す ることにより、 半導体メモリカードに対する高速アクセスを実現することが できる。 このような半導体メモリカード、 及びアクセス装置または方法は、 半導体メモリ力一ドを記録媒体として使用するデジタル A V機器や携帯電話 端末、 デジタルカメラ、 P C等に利用できる。 また、 転送レートの高い高品 質 A Vデータを記録する記録媒体、 及び機器に使用する場合、 特に好適に機 能する。

Claims

請 求 の 範 囲
1 . アクセス装置に接続されて使用される半導体メモリカードであって、 制御信号及びデータを前記アクセス装置に対して送信し、 前記アクセス装 置からの信号を受信するホストインターフェース部と、
複数の不揮発性メモリチップを含み、 複数の連続するセクタがデータ消去 の最小単位であるブロックとしてグループ化された不揮発性メモリと、 前記不揮発性メモリに対するデータの消去、 書き込み、 読み出しを制御す るメモリコントローラと、
前記アクセス装置から与えられるデータ書き込み開始ァドレスとデータサ ィズとを一時記憶するホス卜情報メモリと、 を具備し
前記メモリコントローラは、
前記ホスト情報メモリに一時保持されたデータ書き込み開始ァドレスとデ —夕サイズの値に基づいて、 前記不揮発性メモリの無効プロックを消去する か否かを決定し、 前記無効ブロックを消去する際には 1つの不揮発性メモリ チップへのデータの書き込みと他の不揮発性メモリチップのプロックの消去 とを同時に処理する空き物理領域生成部を有する半導体メモリカード。
2 . 前記空き物理領域生成部は、 書き込みデータを書き込む時間に相当す る消去時間となるように、 消去するブロック数を決定する請求項 1記載の半 導体メモリカード。
3 . 前記メモリコントローラは、 前記複数の不揮発个生メモリチップと夫々 独立した双方向性パスで接続されている請求項 1記載の半導体メモリカード
4 . 前記不揮発性メモリは、 2つの不揮発性メモリチップから成り、 一方 の不揮発性メモリチップへの書き込み処理をする期間に、 他方の不揮発性メ モリチップ内の無効プロックを消去する請求項 1記載の半導体メモリカード
5 . 複数の不揮発性メモリチップを含み、 複数の連続するセクタがデータ 消去の最小単位であるブロックとしてグループ化された不揮発性メモリに接 続されて使用される半導体メモリ制御装置であって、
制御信号及びデータをアクセス装置に対して送信し、 前記アクセス装置か らの信号を受信するホストインターフェ一ス咅 と、
前記不揮発性メモリに対するデータの消去、 書き込み、 読み出しを制御す るメモリコントローラと、
前記アクセス装置から与えられるデータ書き込み開始ァドレスとデータサ ィズとを一時記憶するホスト情報メモリと、 を具備し
前記メモリコントローラは、
前記ホスト情報メモリに一時保持されたデータ書き込み開始ァドレスとデ 一夕サイズの値に基づいて、 前記不揮発性メモリの無効ブロックを消去する か否かを決定し、 前記無効ブロックを消去する際には 1つの不揮発性メモリ チップへのデータの書き込みと他の不揮発性メモリチップのブロックの消去 とを同時に処理する空き物理領域生成部を有する半導体メモリ制御装置。
6 . 前記空き物理領域生成部は、 書き込みデータを書き込む時間に相当す る消去時間となるように、 消去するブロック数を決定する請求項 5記載の半 導体メモリ制御装置。
7 . 前記メモリコントローラは、 前記複数の不揮発性メモリチップと夫々 独立した双方向性パスで接続されている請求項 5記載の半導体メモリ制御装 置。
8 . 前記不揮発性メモリは、 2つの不揮発性メモリチップから成り、 一方 の不揮発性メモリチップへの書き込み処理をする期間に、 他方の不揮発性メ モリチップ内の無効プロックを消去する請求項 5記載の半導体メモリ制御装 置。
9 . 複数の不揮発性メモリチップを含み、 複数の連続するセクタがデータ 消去の最小単位であるプロックとしてグループ化された不揮発性メモリを有 する半導体メモリカードにおける半導体メモリ制御方法であって、
アクセス装置から与えられるデータ書き込み開始ァドレスとデータサイズ とをホスト情報メモリに一時記 '隱し、
前記ホスト情報メモリに一時保持されたデータ書き込み開始ァドレスとデ 一夕サイズの値に基づいて、 前記不揮発性メモリの無効プロックを消去する か否かを決定し、
前記無効ブロックを消去する際には、 1つの不揮発性メモリチップへのデ 一夕の書き込みと他の不揮発性スモリチップのブロックの消去とを同時に処 理する半導体メモリ制御方法。
1 0 . 前記無効ブロックを消去する際には、 書き込みデータを書き込む時 間に相当する消去時間となるように、 消去するプロック数を決定する請求項 9記載の半導体メモリ制御方法。
1 1 . 前記不揮発性メモリは、 2つの不揮発性メモリチップから成り、 一 方の不揮発性メモリチップへの書き込み処理をする期間に、 他方の不揮発性 メモリチップ内の無効ブロックを消去する請求項 9記載の半導体メモリ制御 方法。
PCT/JP2004/013703 2003-09-18 2004-09-13 半導体メモリカード、半導体メモリ制御装置及び半導体メモリ制御方法 WO2005029311A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US10/553,725 US7654466B2 (en) 2003-09-18 2004-09-13 Semiconductor memory card, semiconductor memory control apparatus, and semiconductor memory control method
JP2005514072A JPWO2005029311A1 (ja) 2003-09-18 2004-09-13 半導体メモリカード、半導体メモリ制御装置及び半導体メモリ制御方法
EP04773322A EP1667014A4 (en) 2003-09-18 2004-09-13 SEMICONDUCTOR CHIP CARD, SEMICONDUCTOR MEMORY CONTROL APPARATUS, AND SEMICONDUCTOR MEMORY CONTROL METHOD
CNB2004800068333A CN100371873C (zh) 2003-09-18 2004-09-13 半导体存储卡、半导体存储器控制装置以及半导体存储器控制方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003-325811 2003-09-18
JP2003325811 2003-09-18

Publications (1)

Publication Number Publication Date
WO2005029311A1 true WO2005029311A1 (ja) 2005-03-31

Family

ID=34372811

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/013703 WO2005029311A1 (ja) 2003-09-18 2004-09-13 半導体メモリカード、半導体メモリ制御装置及び半導体メモリ制御方法

Country Status (6)

Country Link
US (1) US7654466B2 (ja)
EP (2) EP1667014A4 (ja)
JP (1) JPWO2005029311A1 (ja)
CN (1) CN100371873C (ja)
TW (1) TW200521869A (ja)
WO (1) WO2005029311A1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010016115A1 (ja) * 2008-08-06 2010-02-11 富士通株式会社 ディスクアレイ装置の制御ユニット、データ転送装置及び復電処理方法
JP2011159044A (ja) * 2010-01-29 2011-08-18 Toshiba Corp 不揮発性メモリのコントローラ及び不揮発性メモリの制御方法
JP2012159993A (ja) * 2011-01-31 2012-08-23 Sony Corp メモリ装置およびメモリシステム
JP2012168937A (ja) * 2011-01-27 2012-09-06 Canon Inc ストレージへのデータ書き込みを制御するメモリ制御装置、その制御方法および記憶媒体並びに画像形成装置
JP2013080537A (ja) * 2011-10-03 2013-05-02 Hitachi Ltd 半導体装置
JP2015053075A (ja) * 2014-11-10 2015-03-19 株式会社東芝 メモリシステム、情報処理装置および記憶装置
JP2016177822A (ja) * 2016-04-28 2016-10-06 株式会社東芝 メモリシステム
US9928167B2 (en) 2011-03-22 2018-03-27 Toshiba Memory Corporation Information processing system and nonvolatile storage unit

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7012835B2 (en) 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
KR100704037B1 (ko) * 2005-04-15 2007-04-04 삼성전자주식회사 이종의 비휘발성 메모리를 가지는 데이터 저장장치와 그의구동 방법
JP2007237693A (ja) * 2006-03-10 2007-09-20 Oki Data Corp 画像処理装置
CN101460932A (zh) * 2006-06-08 2009-06-17 Nxp股份有限公司 用于嵌入式设备远程解碎片化的设备
US7721059B2 (en) * 2006-07-06 2010-05-18 Nokia Corporation Performance optimization in solid-state media
KR100849212B1 (ko) * 2006-10-12 2008-07-31 삼성전자주식회사 메모리 카드 및 메모리 카드의 구동 프로그램 업데이트방법
WO2008057557A2 (en) 2006-11-06 2008-05-15 Rambus Inc. Memory system supporting nonvolatile physical memory
WO2008147752A1 (en) * 2007-05-24 2008-12-04 Sandisk Corporation Managing housekeeping operations in flash memory
US7721166B2 (en) * 2008-03-27 2010-05-18 Skymedi Corporation Method for managing defect blocks in non-volatile memory
WO2009143885A1 (de) * 2008-05-28 2009-12-03 Hyperstone Gmbh Verfahren zum adressieren von seitenorientierten nichtflüchtigen speichern
WO2010001606A1 (ja) * 2008-07-02 2010-01-07 パナソニック株式会社 コントローラ、情報記録装置、アクセス装置、情報記録システム、及び情報記録方法
TWI385516B (zh) * 2008-08-12 2013-02-11 Phison Electronics Corp 快閃記憶體儲存系統及其資料寫入方法
US8825940B1 (en) 2008-12-02 2014-09-02 Siliconsystems, Inc. Architecture for optimizing execution of storage access commands
US9176859B2 (en) 2009-01-07 2015-11-03 Siliconsystems, Inc. Systems and methods for improving the performance of non-volatile memory operations
US10079048B2 (en) 2009-03-24 2018-09-18 Western Digital Technologies, Inc. Adjusting access of non-volatile semiconductor memory based on access time
TWI450271B (zh) * 2009-09-02 2014-08-21 Silicon Motion Inc 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器
KR20110046232A (ko) * 2009-10-27 2011-05-04 삼성전자주식회사 데이터 무효화 동작을 수행하는 저장 장치 및 그것의 데이터 무효화 방법
JP4901968B2 (ja) * 2010-03-01 2012-03-21 株式会社東芝 半導体記憶装置
JP5385835B2 (ja) * 2010-03-29 2014-01-08 パナソニック株式会社 データ記録装置
US8555095B2 (en) 2010-07-26 2013-10-08 Apple Inc. Methods and systems for dynamically controlling operations in a non-volatile memory to limit power consumption
US10445229B1 (en) 2013-01-28 2019-10-15 Radian Memory Systems, Inc. Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies
US10642505B1 (en) 2013-01-28 2020-05-05 Radian Memory Systems, Inc. Techniques for data migration based on per-data metrics and memory degradation
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US9229854B1 (en) 2013-01-28 2016-01-05 Radian Memory Systems, LLC Multi-array operation support and related devices, systems and software
JP6347055B2 (ja) * 2014-03-28 2018-06-27 パナソニックIpマネジメント株式会社 不揮発性メモリ装置
US9542118B1 (en) * 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
US10552085B1 (en) 2014-09-09 2020-02-04 Radian Memory Systems, Inc. Techniques for directed data migration
US9875053B2 (en) * 2015-06-05 2018-01-23 Western Digital Technologies, Inc. Scheduling scheme(s) for a multi-die storage device
US10552058B1 (en) 2015-07-17 2020-02-04 Radian Memory Systems, Inc. Techniques for delegating data processing to a cooperative memory controller
CN106945406B (zh) * 2017-04-01 2018-06-05 杭州旗捷科技有限公司 耗材芯片的操作方法、耗材芯片、耗材容器、耗材设备
CN107678684B (zh) * 2017-08-22 2020-11-10 深圳市硅格半导体有限公司 存储器的无效数据清除方法、装置和存储器
KR20190092941A (ko) * 2018-01-31 2019-08-08 에스케이하이닉스 주식회사 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법
JP7217000B2 (ja) * 2019-01-31 2023-02-02 音羽電機工業株式会社 センシングシステム
KR20210039185A (ko) 2019-10-01 2021-04-09 에스케이하이닉스 주식회사 메모리 시스템에서 멀티 스트림 동작을 제공하는 방법 및 장치
CN113126913A (zh) * 2021-03-26 2021-07-16 井芯微电子技术(天津)有限公司 一种基于并行ram的数据阵列管理方法、装置和存储设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06124175A (ja) * 1992-08-28 1994-05-06 Sharp Corp 半導体ディスク装置
WO2000050997A1 (fr) * 1999-02-22 2000-08-31 Hitachi, Ltd. Carte memoire, procede d'affectation d'adresse logique, et procede d'ecriture de donnees
JP2002202912A (ja) * 2000-10-26 2002-07-19 Matsushita Electric Ind Co Ltd 記録装置、記録制御方法、及びプログラム
JP2003044351A (ja) * 2001-07-27 2003-02-14 Matsushita Electric Ind Co Ltd フラッシュメモリ装置、及び、それに記憶されたデータのマージ方法
JP2003058417A (ja) * 2001-08-21 2003-02-28 Matsushita Electric Ind Co Ltd 記憶装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06124174A (ja) 1991-06-25 1994-05-06 Nec Corp 磁気ディスク不良代替方式
KR970008188B1 (ko) * 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
US5640529A (en) * 1993-07-29 1997-06-17 Intel Corporation Method and system for performing clean-up of a solid state disk during host command execution
EP1152409B1 (en) * 1994-06-07 2006-08-09 Hitachi Global Storage Technologies Japan, Ltd. Information storing device
JPH10188567A (ja) * 1996-10-29 1998-07-21 Hitachi Ltd メモリ及びマイコン
JP3688835B2 (ja) * 1996-12-26 2005-08-31 株式会社東芝 データ記憶システム及び同システムに適用するデータ転送方法
JP3550293B2 (ja) 1997-12-26 2004-08-04 株式会社ルネサステクノロジ 不揮発性メモリを用いた高速書換可能な記憶装置および該記憶装置のデータ書換方法
JP2001297316A (ja) * 2000-04-14 2001-10-26 Mitsubishi Electric Corp メモリカード及びその制御方法
CN1236386C (zh) 2000-10-26 2006-01-11 松下电器产业株式会社 存储器件及存储控制方法
JP3768088B2 (ja) * 2000-11-09 2006-04-19 松下電器産業株式会社 メモリカード装置
US6515914B2 (en) * 2001-03-21 2003-02-04 Micron Technology, Inc. Memory device and method having data path with multiple prefetch I/O configurations
JP4841070B2 (ja) * 2001-07-24 2011-12-21 パナソニック株式会社 記憶装置
JP4059473B2 (ja) * 2001-08-09 2008-03-12 株式会社ルネサステクノロジ メモリカード及びメモリコントローラ
US6807106B2 (en) * 2001-12-14 2004-10-19 Sandisk Corporation Hybrid density memory card
EP1807760B1 (de) * 2004-10-25 2008-09-17 Robert Bosch Gmbh Datenverarbeitungssystem mit variabler taktrate

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06124175A (ja) * 1992-08-28 1994-05-06 Sharp Corp 半導体ディスク装置
WO2000050997A1 (fr) * 1999-02-22 2000-08-31 Hitachi, Ltd. Carte memoire, procede d'affectation d'adresse logique, et procede d'ecriture de donnees
JP2002202912A (ja) * 2000-10-26 2002-07-19 Matsushita Electric Ind Co Ltd 記録装置、記録制御方法、及びプログラム
JP2003044351A (ja) * 2001-07-27 2003-02-14 Matsushita Electric Ind Co Ltd フラッシュメモリ装置、及び、それに記憶されたデータのマージ方法
JP2003058417A (ja) * 2001-08-21 2003-02-28 Matsushita Electric Ind Co Ltd 記憶装置

Non-Patent Citations (1)

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

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010016115A1 (ja) * 2008-08-06 2010-02-11 富士通株式会社 ディスクアレイ装置の制御ユニット、データ転送装置及び復電処理方法
US8479045B2 (en) 2008-08-06 2013-07-02 Fujitsu Limited Controller for disk array device, data transfer device, and method of power recovery process
JP2011159044A (ja) * 2010-01-29 2011-08-18 Toshiba Corp 不揮発性メモリのコントローラ及び不揮発性メモリの制御方法
US8171254B2 (en) 2010-01-29 2012-05-01 Kabushiki Kaisha Toshiba Memory controller and memory control method
JP2012168937A (ja) * 2011-01-27 2012-09-06 Canon Inc ストレージへのデータ書き込みを制御するメモリ制御装置、その制御方法および記憶媒体並びに画像形成装置
JP2012159993A (ja) * 2011-01-31 2012-08-23 Sony Corp メモリ装置およびメモリシステム
US9928167B2 (en) 2011-03-22 2018-03-27 Toshiba Memory Corporation Information processing system and nonvolatile storage unit
JP2013080537A (ja) * 2011-10-03 2013-05-02 Hitachi Ltd 半導体装置
US8949516B2 (en) 2011-10-03 2015-02-03 Hitachi, Ltd. Semiconductor device
US9728257B2 (en) 2011-10-03 2017-08-08 Hitachi, Ltd. Semiconductor device having a write prohibited region
JP2015053075A (ja) * 2014-11-10 2015-03-19 株式会社東芝 メモリシステム、情報処理装置および記憶装置
JP2016177822A (ja) * 2016-04-28 2016-10-06 株式会社東芝 メモリシステム

Also Published As

Publication number Publication date
EP1667014A1 (en) 2006-06-07
EP2157505A1 (en) 2010-02-24
US7654466B2 (en) 2010-02-02
CN100371873C (zh) 2008-02-27
CN1761935A (zh) 2006-04-19
US20060221719A1 (en) 2006-10-05
JPWO2005029311A1 (ja) 2006-11-30
TW200521869A (en) 2005-07-01
EP1667014A4 (en) 2009-04-08

Similar Documents

Publication Publication Date Title
WO2005029311A1 (ja) 半導体メモリカード、半導体メモリ制御装置及び半導体メモリ制御方法
US7475185B2 (en) Nonvolatile memory system, nonvolatile memory device, memory controller, access device, and method for controlling nonvolatile memory device
US8386698B2 (en) Data accessing method for flash memory and storage system and controller using the same
JP4155463B2 (ja) 順次書き込みのみを用いるフラッシュ管理システムを有するシステム、及びその方法
JP4931810B2 (ja) 最適化されたシーケンシャルなクラスタの管理のためのfat分析
US8316176B1 (en) Non-volatile semiconductor memory segregating sequential data during garbage collection to reduce write amplification
US8312554B2 (en) Method of hiding file at data protecting mode for non-volatile memory module, memory controller and portable memory storage apparatus
JP4533956B2 (ja) フラッシュメモリシステムのデータ記憶容量の解放
TWI385519B (zh) 資料寫入方法及使用此方法的快閃儲存系統與其控制器
US20080250220A1 (en) Memory system
JP5480913B2 (ja) 記憶装置、およびメモリコントローラ
CN106469122B (zh) 有效数据合并方法、存储器控制器与存储器储存装置
JP2007193883A (ja) データ記録装置及び方法、及びデータ再生装置及び方法、並びにデータ記録再生装置及び方法
KR101374065B1 (ko) 칩 레벨 평행 플래시 메모리를 위한 정보 분별 방법 및 장치
US20090210612A1 (en) Memory controller, nonvolatile memory device, and nonvolatile memory system
JP4829202B2 (ja) 記憶装置及びメモリ制御方法
CN113778907A (zh) 存储设备
JP4308780B2 (ja) 半導体メモリ装置、メモリコントローラ及びデータ記録方法
CN114253462A (zh) 提供混合通道存储设备的方法
CN114253461A (zh) 混合通道存储设备
CN213338708U (zh) 一种控制部件及存储设备
JPH05258585A (ja) ファイル装置
US20240028230A1 (en) Storage Access Communications and Data Placement for Improved Performance and Reduced Write Amplification
US20240028231A1 (en) Random Storage Access and Data Erasure for Improved Performance and Reduced Write Amplification
KR100538338B1 (ko) 플래시 메모리의 블록 균등 분산 기법 및 이를 이용한데이터 저장 장치

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

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

AL Designated countries for regional patents

Kind code of ref document: A1

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

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

Ref document number: 20048068333

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2004773322

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2006221719

Country of ref document: US

Ref document number: 10553725

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2005514072

Country of ref document: JP

WWP Wipo information: published in national office

Ref document number: 2004773322

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 10553725

Country of ref document: US