JPH09213064A - Memory write/read method and memory controller - Google Patents

Memory write/read method and memory controller

Info

Publication number
JPH09213064A
JPH09213064A JP3705496A JP3705496A JPH09213064A JP H09213064 A JPH09213064 A JP H09213064A JP 3705496 A JP3705496 A JP 3705496A JP 3705496 A JP3705496 A JP 3705496A JP H09213064 A JPH09213064 A JP H09213064A
Authority
JP
Japan
Prior art keywords
flash memory
data
address
memory
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP3705496A
Other languages
Japanese (ja)
Other versions
JP3321587B2 (en
Inventor
Seiji Hiraga
誠二 平賀
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.)
Tokyo Electron Ltd
Original Assignee
Tokyo Electron 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 Tokyo Electron Ltd filed Critical Tokyo Electron Ltd
Priority to JP3705496A priority Critical patent/JP3321587B2/en
Priority to KR1019970002071A priority patent/KR100359414B1/en
Priority to TW086100801A priority patent/TW327227B/en
Priority to US08/789,544 priority patent/US6131139A/en
Publication of JPH09213064A publication Critical patent/JPH09213064A/en
Application granted granted Critical
Publication of JP3321587B2 publication Critical patent/JP3321587B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Read Only Memory (AREA)
  • Dram (AREA)

Abstract

PROBLEM TO BE SOLVED: To improve the system performance by allowing a controller to read data from another flash memory while writing data in an arbitrary flash memory to shorten the processing time. SOLUTION: In a flash disk system, a system is designed so that, while a controller 10 executes an operation writing data DATAW equivalent to one page with respect to a certain arbitrary flash memory (for example, FM1), the controller executes a read access with respect to another arbitrary flash memory (for example, FM0) in a period tWB by using the period tWB when the flash memory FM1 is in a busy state because of the operation writing data in the memory to read out data DATAR equivalent to one page from the flash memory. Thus, the system performance is improved by shortening the processing time.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0010】[0010]

【発明の属する技術分野】本発明は、複数個のフラッシ
ュ・メモリを同一バス上に接続したメモリシステムに関
する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory system in which a plurality of flash memories are connected on the same bus.

【0020】[0020]

【従来の技術】一般に、記憶容量が決まっている半導体
メモリを用いるメモリシステムにおいて、システム全体
の記憶容量を大きくするには、同一のバス上に並列に多
数の半導体メモリ(チップ)を接続する構成がとられ
る。このようなメモリシステムでは、該バスに接続され
ているコントローラ(またはコンピュータ)が或る半導
体メモリにアクセスしている間、バスはこの半導体メモ
リに占有され、他の半導体メモリはコントローラから事
実上隔離された状態に置かれる。そして、該半導体メモ
リに対するアクセスが終了した時点で、バスは開放さ
れ、他の半導体メモリに対するアクセスが可能となる。
2. Description of the Related Art Generally, in a memory system using a semiconductor memory having a fixed storage capacity, a large number of semiconductor memories (chips) are connected in parallel on the same bus in order to increase the storage capacity of the entire system. Is taken. In such a memory system, while the controller (or computer) connected to the bus is accessing a certain semiconductor memory, the bus is occupied by this semiconductor memory, and other semiconductor memories are effectively isolated from the controller. Be placed in the specified state. Then, when the access to the semiconductor memory is completed, the bus is released and the other semiconductor memories can be accessed.

【0030】ところで、近年、ハード・ディスクやフロ
ッピー・ディスク等の磁気メモリに置き換わる半導体メ
モリとして、フラッシュ・メモリ(フラッシュEEPR
OM)が注目されている。フラッシュ・メモリは、不揮
発性で消費電力が少なく電気的に書き換え可能な半導体
メモリであり、軽量小型で耐震性が良いため、携帯機器
等への用途が拡大している。
By the way, in recent years, a flash memory (flash EEPR) has been used as a semiconductor memory replacing a magnetic memory such as a hard disk or a floppy disk.
OM) is receiving attention. Flash memory is a non-volatile, low-power-consumption, electrically rewritable semiconductor memory, which is lightweight and small in size and has good earthquake resistance, and therefore its application to portable devices and the like is expanding.

【0040】一般に、フラッシュ・メモリを外部記憶装
置に用いるコンピュータ・システムでは、フラッシュ・
メモリ専用のコントローラがあてがわれる。ホストコン
ピュータ(たとえばパソコン)はこのコントローラに対
してデータの書込みや読出しを指示すればよい。コント
ローラは、ホストからの指示(コマンド)を受けてフラ
ッシュ・メモリに対してデータの書込みや読出しを直接
制御し、さらにはフラッシュ・メモリに特有の一括消去
等のメモリ管理を行う。
Generally, in a computer system using a flash memory as an external storage device, the flash memory is
A dedicated controller for memory is used. A host computer (for example, a personal computer) may instruct the controller to write or read data. Upon receiving an instruction (command) from the host, the controller directly controls writing and reading of data with respect to the flash memory, and further performs memory management such as batch erasing unique to the flash memory.

【0050】[0050]

【発明が解決しようとする課題】上記のようなフラッシ
ュ・メモリを用いるシステムでも、システム全体で所望
の記憶容量を得るために、内部バス上に複数個のフラッ
シュ・メモリを接続する構成を採ることが多い。
Even in the system using the flash memory as described above, in order to obtain a desired storage capacity in the entire system, a structure in which a plurality of flash memories are connected to the internal bus is adopted. There are many.

【0060】従来のこの種フラッシュ・メモリ・システ
ムでは、上記のような内部バス上の制限、つまり或るメ
モリにアクセスが行われている最中は他のメモリへのア
クセスができないというハードウェア上の制限にしたが
い、コントローラは或るフラッシュ・メモリに対する書
込みのアクセスと別のフラッシュ・メモリに対する読出
しのアクセスとを非同時的または非並列的に実行するよ
うにしていた。
In the conventional flash memory system of this kind, there is a limitation on the internal bus as described above, that is, on the hardware that another memory cannot be accessed while the certain memory is being accessed. In accordance with the limitation of 1), the controller has been configured to execute write access to one flash memory and read access to another flash memory non-simultaneously or non-parallelly.

【0070】このため、たとえばデータの書き換えのた
めに、或るフラッシュ・メモリ内のほぼ1ブロック分の
データを別のフラッシュ・メモリの空きブロックに移す
場合には、移動元のフラッシュ・メモリから1ページま
たはセクタ分のデータを読み出す読出しサイクルと、こ
の読み出した1ページ分のデータを移動先のフラッシュ
・メモリへデータを書き込む書込みサイクルとを交互に
(時間的にシリアルに)繰り返す操作が行われていた。
したがって、移動の対象となるページの総数をN、1回
の読出しサイクルをTR 、1回の書込みサイクルをTW
とすると、トータルでほぼN(TR +TW )に相当する
時間を要していた。
Therefore, when, for example, rewriting data, data of almost one block in a certain flash memory is moved to an empty block of another flash memory, one data is moved from the flash memory of the movement source. An operation is performed in which a read cycle for reading data for a page or a sector and a write cycle for writing the read data for one page to the destination flash memory are repeated (serially in time). It was
Therefore, the total number of pages to be moved is N, one read cycle is TR, and one write cycle is TW.
Then, the total time required was about N (TR + TW).

【0080】しかし、このような非同時的または非並列
的な書込み/読出し方法は、複数個のROMやRAMを
同一バス上に接続してなる従来一般のメモリシステムに
おけるメモリアクセス方法をそのまま踏襲するものであ
って、フラッシュ・メモリに特有の性質を看過してい
た。
However, such a non-simultaneous or non-parallel write / read method directly follows the memory access method in the conventional general memory system in which a plurality of ROMs and RAMs are connected on the same bus. It overlooked the unique characteristics of flash memory.

【0090】つまり、フラッシュ・メモリにおいては、
データの書込みに要する時間と読出しに要する時間との
間には格段の差がある。データの書込みは、メモリセル
(EEPROM)にホットエレクトロンを注入すること
によって行うため、300〜500μs程度の長い時間
を必要とする。これに対して、データの読出しは、メモ
リセルのゲートに所定の電圧を印加してこのメモリセル
が導通するか否かを検出して(つまり電流を検出して)
行うため、25μs程度の短い時間で済む。
That is, in the flash memory,
There is a marked difference between the time required to write data and the time required to read data. Since data writing is performed by injecting hot electrons into the memory cell (EEPROM), a long time of about 300 to 500 μs is required. On the other hand, when reading data, a predetermined voltage is applied to the gate of the memory cell to detect whether or not the memory cell conducts (that is, to detect the current).
Since this is done, a short time of about 25 μs is sufficient.

【0100】そして、一般のフラッシュ・メモリにおい
ては、上記のように書込みの所要時間が長いため、メモ
リ・チップ内で書込み動作が行われている間はビジー端
子を除いてどの端子も閉じた状態になり、外部からの制
御信号やデータを受け付けないように構成されている。
In a general flash memory, since the time required for writing is long as described above, all the terminals except the busy terminal are closed during the writing operation in the memory chip. Therefore, the control signal and data from the outside are not accepted.

【0110】本発明は、上記のような従来技術の問題点
およびフラッシュ・メモリの性質に着眼してなされたも
のであり、複数個のフラッシュ・メモリを同一バス上に
接続してなるメモリシステムにおいて、任意の或るフラ
ッシュ・メモリにデータを書き込みながら任意の別のフ
ラッシュ・メモリからデータを読み出すようにして、処
理時間を短縮し、システム性能を向上させるメモリ書込
み/読出し方法およびメモリ制御装置を提供することを
目的とする。
The present invention has been made in view of the above-mentioned problems of the prior art and the nature of the flash memory, and provides a memory system in which a plurality of flash memories are connected on the same bus. Provide a memory writing / reading method and a memory control device for shortening processing time and improving system performance by reading data from another arbitrary flash memory while writing data to an arbitrary certain flash memory The purpose is to do.

【0120】[0120]

【課題を解決するための手段】上記の目的を達成するた
め、本発明のうち請求項1記載の発明は、複数個のフラ
ッシュ・メモリに接続されたメモリ制御装置が任意の第
1の前記フラッシュ・メモリに共通のバスを介して第1
のデータを書き込むと同時に任意の第2の前記フラッシ
ュ・メモリより前記バスを介して第2のデータを読み出
すメモリ書込み/読出し方法であって、前記メモリ制御
装置が前記バスを介して前記第1のフラッシュ・メモリ
に所定のタイミングで書込み用のコマンド、書込みアド
レスおよび前記第1のデータを与える第1のステップ
と、前記第1のフラッシュ・メモリが前記書込み用コマ
ンドに応答して第1の所定時間内に外部からの信号を受
け付けない状態で前記書込みアドレスで指定される記憶
領域に前記第1のデータを書き込む第2のステップと、
前記第1の所定時間内に前記メモリ制御装置が前記バス
を介して前記第2のフラッシュ・メモリに所定のタイミ
ングで読出し用のコマンドおよび読出しアドレスを与え
る第3のステップと、前記第2のフラッシュ・メモリが
前記読出し用のコマンドに応答して第2の所定時間内に
前記読出しアドレスで指定される記憶領域より前記第2
のデータを読み出して出力ポートにセットする第4のス
テップと、前記第2の所定時間の経過後に前記メモリ制
御装置が前記第2のフラッシュ・メモリの出力ポートに
セットされている前記第2のデータを前記バスを介して
取り込む第5のステップとを有することを特徴とする。
In order to achieve the above-mentioned object, the invention according to claim 1 of the present invention is the first flash in which a memory control device connected to a plurality of flash memories is arbitrary. .First via a common bus for memory
Of the second flash data from the second flash memory via the bus at the same time as writing the data of the first flash memory, wherein the memory control device includes the first flash memory via the bus. A first step of applying a write command, a write address and the first data to the flash memory at a predetermined timing; and the first flash memory responding to the write command at a first predetermined time. A second step of writing the first data in a storage area designated by the write address in a state where a signal from the outside is not received therein;
A third step in which the memory control device gives a read command and a read address to the second flash memory at a predetermined timing via the bus within the first predetermined time; and the second flash. The memory, in response to the read command, reads the second data from the storage area designated by the read address within a second predetermined time.
Reading the data of the second flash memory and setting the read data in the output port, and the second data set in the output port of the second flash memory by the memory control device after the second predetermined time has elapsed. Is taken in via the bus.

【0130】また、請求項2記載の発明は、所定のタイ
ミングで与えられた書込み用コマンド、書込みアドレス
および第1のデータに応答して第1の所定時間内に外部
からの信号を受け付けない状態で前記書込みアドレスで
指定された記憶番地に前記第1のデータを書き込む書込
みモードと、所定のタイミングで与えられた読出し用コ
マンドおよび読出しアドレスに応答して前記第1の所定
時間よりも短い第2の所定時間内に前記アドレスで指定
された記憶番地より第2のデータを読み出して出力ポー
トにセットする読出しモードとを各々が有する複数個の
フラッシュ・メモリに共通のバスを介して接続されたメ
モリ制御装置において、第1の前記フラッシュ・メモリ
に前記バスを介して前記書込み用コマンド、前記書込み
アドレスおよび前記第1のデータを所定のタイミングで
供給して、前記第1の前記フラッシュ・メモリに前記書
込みモードを実行させる書込み制御手段と、前記第1の
フラッシュ・メモリで前記第1の所定時間中に第2の前
記フラッシュ・メモリに前記バスを介して前記読出し用
コマンドおよび前記読出しアドレスを所定のタイミング
で供給して、前記第2の所定時間の経過後に前記第2の
フラッシュ・メモリの出力ポートから前記第2のデータ
を前記バスを介して取り込む読出し制御手段とを具備す
ることを特徴とする。
Further, according to the second aspect of the present invention, in response to the write command, the write address and the first data given at the predetermined timing, the external signal is not accepted within the first predetermined time. In the write mode for writing the first data to the storage address designated by the write address, and in response to the read command and the read address given at a predetermined timing, a second mode shorter than the first predetermined time. A memory connected through a common bus to a plurality of flash memories, each having a read mode for reading second data from a storage address designated by the address within a predetermined time In the control device, the write command, the write address, and the first write command are sent to the first flash memory via the bus. Write control means for supplying first data at a predetermined timing to cause the first flash memory to execute the write mode; and a first flash memory in the first predetermined time during the first predetermined time. The read command and the read address are supplied to the two flash memories via the bus at a predetermined timing, and after the second predetermined time has elapsed, the read command is output from the output port of the second flash memory. Read control means for fetching the second data via the bus.

【0140】また、請求項3記載の発明は、請求項2記
載の発明の構成において、前記読出し制御手段は、前記
フラッシュ・メモリの各々を個別的に出力イネーブル状
態にするための各フラッシュ・メモリ専用の出力イネー
ブル制御線を含むことを特徴とする。
According to a third aspect of the present invention, in the configuration of the second aspect of the invention, the read control means sets each of the flash memories individually to an output enable state. It is characterized by including a dedicated output enable control line.

【0150】また、請求項4記載の発明は、請求項2記
載の発明の構成において、前記書込み制御手段および前
記読出し制御手段は、前記フラッシュ・メモリの各々が
ビジー状態であるか否かを個別的に認識可能とするため
の各フラッシュ・メモリ専用のビジー線を含むことを特
徴とする。
According to a fourth aspect of the invention, in the configuration of the second aspect of the invention, the write control means and the read control means individually determine whether or not each of the flash memories is in a busy state. It is characterized in that it includes a dedicated busy line for each flash memory in order to make it visually recognizable.

【0160】[0160]

【発明の実施の形態】以下、添付図を参照して本発明の
実施例を説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the accompanying drawings.

【0170】図1は、本発明の一実施例によるフラッシ
ュ・ディスク・システムの構成を示す。このシステムに
おいて、1つのコントローラ10および複数個(n+1
個)のNAND型フラッシュ・メモリFM0 〜FMn の
各チップは一枚のカード(フラッシュ・ディスク・カー
ド)12上に搭載されている。カード12がホストコン
ピュータ14のカード・スロットに装着され、コントロ
ーラ10はホストコンピュータ14に所定規格のインタ
フェースたとえばPCMCIA−ATAまたはIDEイ
ンタフェース16で接続される。フラッシュ・メモリF
M0 〜FMn は同一構成および機能を有するメモリ・チ
ップからなる。
FIG. 1 shows the configuration of a flash disk system according to an embodiment of the present invention. In this system, one controller 10 and a plurality of (n + 1
Each chip of each NAND flash memory FM0 to FMn is mounted on one card (flash disk card) 12. The card 12 is installed in the card slot of the host computer 14, and the controller 10 is connected to the host computer 14 by an interface of a predetermined standard, for example, PCMCIA-ATA or IDE interface 16. Flash memory F
M0 to FMn are memory chips having the same structure and function.

【0180】カード12上で、コントローラ10は、た
とえば8ビット幅の内部バスFD0〜7 と、全てのフラ
ッシュ・メモリFM0 〜FMn に共通な各1本の制御線
FCLE、FALE、XFWPおよびXFWE- と、各
々のフラッシュ・メモリFM0 〜FMn に個別的に割り
当てられた各(n+1)本の制御線XFCE0-〜XFC
En-、XFRE0-〜XFREn-およびXFBSY0-〜X
FBSYn-とを介して各フラッシュ・メモリFM0 〜F
Mn に接続されている。
[0180] on the card 12, the controller 10, for example an internal bus FD0~7 8-bit wide, all flash memory FM0 to FMn in common the one control line FCLE, FALE, XFWP and XFWE - and , (N + 1) control lines XFCE0 -to XFC individually assigned to the respective flash memories FM0 to FMn
En , XFRE0 − to XFREn and XFBSY0 − to X
FBSYn - and each flash memory FM0-F
It is connected to Mn.

【0190】内部バスFD0 〜7 は、コントローラ10
と各フラッシュ・メモリFM0 〜FMn 間のコマンド、
アドレスおよびデータの伝送に兼用される。上記共通制
御線のうち、FCLEは、バスFD0 〜7 上のコマンド
コードをフラッシュ・メモリFM0 〜FMn にコマンド
として識別させるためのコマンド・ラッチ・イネーブル
制御線である。FALEは、バスFD0 〜7 上のアドレ
スコードをフラッシュ・メモリFM0 〜FMn にアドレ
スとして識別させるためのアドレス・ラッチ・イネーブ
ル制御線である。XFWPは、フラッシュ・メモリFM
0 〜FMn に書込みを強制的に禁止させるためのライト
・プロテクト制御線である。XFWE-は、バスFD0
〜7 上のコードまたはデータを各フラッシュ・メモリF
M0 〜FMn に取り込ませるためのライト・イネーブル
制御線である。
The internal buses FD0 to FD7 are connected to the controller 10
And commands between each flash memory FM0 to FMn,
It is also used for address and data transmission. Among the common control lines, FCLE is a command latch enable control line for making the flash memories FM0 to FMn identify the command codes on the buses FD0 to FD7 as commands. FALE is an address latch enable control line for causing the flash memories FM0 to FMn to identify the address code on the buses FD0 to FD7 as an address. XFWP is a flash memory FM
This is a write protect control line for forcibly prohibiting writing from 0 to FMn. XFWE - is the bus FD0
~ 7 Code or data on each flash memory F
This is a write enable control line to be taken into M0 to FMn.

【0200】また、上記個別的制御線のうち、XFCE
0-〜XFCEn-は、各フラッシュ・メモリFM0 〜FM
n を個別的または独立的にチップ・イネーブル状態(動
作可能状態)にするためのチップ・イネーブル制御線で
ある。XFRE0-〜XFREn-は、各フラッシュ・メモ
リFM0 〜FMn の出力ポートから読出しデータをバス
FD0 〜7 上に個別的または独立的に出力させるための
リード(出力)・イネーブル制御線である。また、XF
BSY0-〜XFBSYn-は、各フラッシュ・メモリFM
0 〜FMn が各々のビジー状態を個別的または独立的に
コントローラ10に知らせるためのビジー線である。
Of the above individual control lines, XFCE
0 - ~XFCEn - is, each flash memory FM0 ~FM
A chip enable control line for individually or independently setting n to the chip enable state (operable state). XFRE0 - ~XFREn - is read (output) enable control line for outputting individually or independently read data on bus FD0 to 7-from the output port of each flash memory FM0 to FMn. Also, XF
BSY0 -to XFBSYn - are each flash memory FM
0 to FMn are busy lines for individually or independently notifying the controller 10 of each busy state.

【0210】図2に、コントローラ10の内部の機能的
構成をブロック図で示す。コントローラ10は、本体イ
ンタフェース部20、リセット処理部22、アドレス変
換部24、コマンド処理部26、フラッシュ・テーブル
制御部28、フラッシュ・コマンド発生部30、エラー
制御部32およびフラッシュ・インタフェース部34を
有している。
FIG. 2 is a block diagram showing the functional structure of the inside of the controller 10. The controller 10 has a main body interface unit 20, a reset processing unit 22, an address conversion unit 24, a command processing unit 26, a flash table control unit 28, a flash command generation unit 30, an error control unit 32, and a flash interface unit 34. doing.

【0220】本体インタフェース部20は、ホストコン
ピュータ14から直接書込み/読出し可能な種々のレジ
スタを内蔵しており、ホスト14のバスに所定規格のイ
ンタフェースたとえばPCMCIA−ATAまたはID
Eインタフェースで接続される。
The main body interface section 20 incorporates various registers which can be written / read out directly from the host computer 14, and a bus of the host 14 has an interface of a predetermined standard such as PCMCIA-ATA or ID.
Connected by E interface.

【0230】このホストインタフェースにおいて、ホス
ト14から本体インタフェース部20内の各レジスタを
選択するために、アドレス信号A0 〜10と制御信号XC
E1〜2 が用いられる。アドレスマップのメモリ空間と
I/O空間の選択に、XREGが用いられる。メモリ空
間の書込み/読出しには制御信号XWE- /XOE-
用いられ、I/O空間の書込み/読出しには制御信号X
IOWR- /XIORD- が用いられる。本体インタフ
ェース部20からホスト14に対しては、割込み要求信
号XIREQ- 、入力アクノリッジ信号XINPACK
- 等が発せられる。本体インタフェース部20には、ホ
スト14からのコマンドをデコードする回路も含まれて
いる。
In this host interface, in order to select each register in the main body interface section 20 from the host 14, address signals A0-10 and control signal XC are selected.
E1-2 are used. XREG is used to select the memory space and I / O space of the address map. A control signal XWE / XOE is used for writing / reading in the memory space, and a control signal X is used for writing / reading in the I / O space.
IOWR - / XIORD - is used. For host 14 from the main interface unit 20, an interrupt request signal XIREQ -, the input acknowledge signal XINPACK
- and the like can be emitted. The main body interface unit 20 also includes a circuit for decoding a command from the host 14.

【0240】リセット処理部22は、外部からのリセッ
ト信号たとえばXPONRSTに応動してコントローラ
10内の各部をリセット状態にする処理のほか、リセッ
ト解除後の初期化の処理を制御する。
The reset processing unit 22 controls the process of resetting each unit in the controller 10 in response to a reset signal from the outside, for example, XPONRST, as well as the process of initialization after reset release.

【0250】アドレス変換部24は、ホスト14側が指
定してくるCHS(シリンダ・ヘッド・セクタ)モード
の論理アドレスをフラッシュ・ディスク内のLBA(論
理ブロック・アドレス)モードの論理アドレスに変換す
る。
The address conversion unit 24 converts the CHS (cylinder head sector) mode logical address specified by the host 14 side into the LBA (logical block address) mode logical address in the flash disk.

【0260】コマンド処理部26は、本体インタフェー
ス部20でデコードされたホスト14からのコマンドを
実行するため、コントローラ10内の各部を制御する。
The command processing section 26 controls each section in the controller 10 to execute the command from the host 14 decoded by the main body interface section 20.

【0270】フラッシュ・テーブル制御部28は、リセ
ット処理部22やコマンド処理部26等からの要求によ
り、アドレス変換テーブルおよび空きブロック・テーブ
ルの初期化を行うとともに、ホスト14からのコマンド
に応動してテーブルの検索ないし更新を行う。フラッシ
ュ・テーブル制御部28には、たとえばSRAMからな
る揮発性のテーブル・メモリが設けられ、このメモリ上
にアドレス変換テーブルおよび空きブロック・テーブル
が構築される。
The flash table control unit 28 initializes the address conversion table and the empty block table in response to a request from the reset processing unit 22, the command processing unit 26, etc., and responds to a command from the host 14. Search or update the table. The flash table control unit 28 is provided with a volatile table memory such as an SRAM, and an address conversion table and an empty block table are constructed on this memory.

【0280】フラッシュ・コマンド発生部30は、フラ
ッシュ・テーブル制御部28やコマンド処理部26等か
らの要求により、フラッシュ・メモリFM0 〜FMn に
対するコマンドコードおよびアドレス信号を発生する。
The flash command generator 30 generates command codes and address signals for the flash memories FM0 to FMn in response to requests from the flash table controller 28, the command processor 26 and the like.

【0290】エラー制御部32は、書込み/読出し時の
ECC(Error Checking and Correction )処理を実行
する。
The error control unit 32 executes ECC (Error Checking and Correction) processing at the time of writing / reading.

【0300】フラッシュ・インタフェース部34は、上
記の共通バスFD0 〜7 および各種制御線(FCLE、
FALE等)を介してフラッシュ・メモリFM0 〜FM
n とデータおよび信号をやりとりする入出力ポートであ
り、共通バスFD0 〜7 上でコマンド、アドレスおよび
データを異なるタイミングで多重化するタイミング制御
機能を有している。
The flash interface section 34 includes the common buses FD0 to FD7 and various control lines (FCLE,
Flash memory FM0 to FM via FALE, etc.
It is an input / output port for exchanging data and signals with n and has a timing control function for multiplexing commands, addresses and data on the common buses FD0 to FD7 at different timings.

【0310】図3に、各フラッシュ・メモリFMi (i
=0〜n)内の記憶領域の区分フォーマットを示す。各
フラッシュ・メモリFMi の全記憶領域は複数個たとえ
ば512個のブロックBL0 〜BL511 に分割され、各
ブロックBLj (j=0〜511)は複数個たとえば1
6個のページまたはセクタPG0 〜PG15に分割されて
いる。通常、プログラミング(書込み)や読出しはペー
ジ単位で行われ、消去はブロック単位で行われる。
In FIG. 3, each flash memory FMi (i
= 0 to n) indicates a partition format of a storage area. The entire storage area of each flash memory FMi is divided into a plurality of blocks, for example 512 blocks BL0 to BL511, and each block BLj (j = 0 to 511) has a plurality of blocks, for example 1.
It is divided into six pages or sectors PG0 to PG15. Normally, programming (writing) and reading are performed in page units, and erasing is performed in block units.

【0320】各ページPGk (k=0〜15)は、所定
容量たとえば512バイトのデータ領域と、所定容量た
とえば16バイトの冗長部とからなる。データ領域が本
来のデータ格納領域である。冗長部は幾つかのフィール
ドに区切られ、それぞれのフィールドに所定のデータ量
(バイト数)で当該ブロックBLj に現在割り付けられ
ている論理アドレスを示す「変換テーブルアドレス」や
当該ブロックBLj の良否を示す「ブロックステータ
ス」等の冗長データが格納される。なお、当該ブロック
BLj が現在何のデータも蓄積していない空きブロック
であるときは、冗長データに「変換テーブルアドレス」
のデータは含まれていない。
Each page PGk (k = 0 to 15) comprises a data area of a predetermined capacity, for example 512 bytes, and a redundant portion of a predetermined capacity, for example, 16 bytes. The data area is the original data storage area. The redundant part is divided into several fields, and each field shows a "translation table address" indicating the logical address currently assigned to the block BLj with a predetermined data amount (number of bytes) and the pass / fail of the block BLj. Redundant data such as "block status" is stored. If the block BLj is an empty block that is not currently accumulating any data, the redundant data has the "conversion table address".
Data is not included.

【0330】図4に、各フラッシュ・メモリFMi の内
部の構成例を示す。フラッシュ・メモリ・アレイ40
は、マトリクス状に配置された多数のメモリ・セルから
構成されている。たとえば、図3のように1チップのフ
ラッシュ・メモリFMi が512個のブロックBL0 〜
BL511 を有し、各ブロックBLj は16個のページま
たはセクタPG0 〜PG15からなり、各ページPGk が
512バイトのデータ領域と16バイトの冗長部とから
なる場合、メモリ・アレイ40は8192(16×51
2)行×528(512+16)列のメモリ・セルから
構成され、32メガバイトの記憶容量を有する。
FIG. 4 shows an example of the internal structure of each flash memory FMi. Flash memory array 40
Is composed of a large number of memory cells arranged in a matrix. For example, as shown in FIG. 3, one chip flash memory FMi has 512 blocks BL0 ...
If each block BLj has 16 pages or sectors PG0 to PG15 and each page PGk has a 512-byte data area and a 16-byte redundant portion, the memory array 40 has 8192 (16 × 16). 51
2) It is composed of memory cells of row × 528 (512 + 16) columns and has a storage capacity of 32 megabytes.

【0340】フラッシュ・メモリ・アレイ40は、ペー
ジレジスタ42およびゲート回路44を介して1ページ
分(528バイト)の蓄積容量を有するI/Oバッファ
46に電気的に接続されており、メモリ・アレイ40と
I/Oバッファ46との間でページ単位の並列的なデー
タ転送が行われるようになっている。このフラッシュ・
メモリFMi では、I/Oバッファ42が実質上の出力
ポートを構成する。
The flash memory array 40 is electrically connected to the I / O buffer 46 having a storage capacity of one page (528 bytes) through the page register 42 and the gate circuit 44, and the memory array Parallel data transfer in page units is performed between the I / O buffer 40 and the I / O buffer 46. This flash
In the memory FMi, the I / O buffer 42 constitutes a substantial output port.

【0350】バスFD0 〜7 上のコマンド、アドレスま
たはデータは、クローバル・バッファ48を介してそれ
ぞれコマンド・レジスタ50、X,Yアドレス・バッフ
ァ52,54およびI/Oバッファ46にラッチされ
る。
Commands, addresses or data on buses FD0-7 are latched in command register 50, X, Y address buffers 52, 54 and I / O buffer 46, respectively, via global buffer 48.

【0360】コマンド・レジスタ50は、入力したコマ
ンドをデコードした上でアドレス・バッファ52,54
ないしアドレス・デコーダ56,58およびI/Oバッ
ファ46を制御する。このコマンド・レジスタ50に
は、メモリ内の状態を示すステータス情報を保持するス
テータス・レジスタが含まれている。
The command register 50 decodes the input command and then decodes it into the address buffers 52 and 54.
To address decoders 56 and 58 and I / O buffer 46. The command register 50 includes a status register that holds status information indicating a state in the memory.

【0370】Xアドレス・バッファ52は行アドレスA
DX を取り込み、Xアドレス・デコーダ56はこの行ア
ドレスADX をデコードしてアレイ40内の指定(選
択)された行(ページ)をアクティブにする。Yアドレ
ス・バッファ54は、列アドレスADY を取り込み、Y
アドレス・デコーダ58はこの列アドレスADY をデコ
ードしてアレイ40内の指定(選択)された列のデータ
を転送するようゲート回路44を制御する。
X address buffer 52 has row address A
Taking in DX, the X address decoder 56 decodes this row address ADX and activates the designated (selected) row (page) in the array 40. The Y address buffer 54 fetches the column address ADY and
The address decoder 58 controls the gate circuit 44 to decode the column address ADY and transfer the data of the designated (selected) column in the array 40.

【0380】制御回路60は、コントローラ10からの
制御信号FCLE、FALE、FWP、XFCEi-、X
FWE- 、XFREi-を入力し、各制御信号に応動して
メモリ内の各部を制御する。出力ドライバ62は、I/
Oバッファ46にセットされている読出しデータをバス
FD0 〜7 上に送出する際にバスラインを駆動する。
[0380] The control circuit 60, control signals FCLE from the controller 10, FALE, FWP, XFCEi - , X
FWE and XFREi are input and each unit in the memory is controlled in response to each control signal. The output driver 62 is I / O
The bus lines are driven when the read data set in the O buffer 46 is sent to the buses FD0 to FD7.

【0390】次に、図5のタイミングチャートを参照
し、本実施例のフラッシュ・ディスク・システムにおい
て或るフラッシュ・メモリ(たとえばFM1 )に1ペー
ジ分のデータを書き込む書込みサイクルを実行している
最中に、別のフラッシュ・メモリ(たとえばFM0 )よ
り1ページ分のデータを読み出す読出しサイクルを同時
的または並列的に実行する動作について説明する。
Next, referring to the timing chart of FIG. 5, in the flash disk system of this embodiment, the write cycle for writing one page of data to a certain flash memory (for example, FM1) is being executed. An operation for executing a read cycle for reading one page of data from another flash memory (for example, FM0) simultaneously or in parallel will be described.

【0400】コントローラ10は、フラッシュ・メモリ
FM1 における書込みサイクルTWの全期間を通じてチ
ップ・イネーブル制御信号XFCE1-をアクティブ(L
レベル)に保持し、フラッシュ・メモリFM1 をチップ
・イネーブル(動作可能)状態に保つ。
[0400] The controller 10, the chip enable control signal throughout the period of the write cycle TW in the flash memory FM1 XFCE1 - Active (L
Level) to keep the flash memory FM1 in the chip enable (operable) state.

【0410】先ず、コントローラ10は、コマンド・ラ
ッチ・イネーブル制御信号FCLEをアクティブ(Hレ
ベル)にして、バスFD0 〜7 上に所定コードのデータ
入力コマンドCMS を送出すると同時に、ライト・イネ
ーブル制御信号XFWE- をアクティブ(Lレベル)と
する。このコントローラ10からのコマンド書込み操作
に応動して、フラッシュ・メモリFM1 はバスFD0 〜
7 上の該データ入力コマンドCMS を取り込んで自己の
コマンド・レジスタ50にラッチする。
First, the controller 10 activates the command latch enable control signal FCLE (H level) to send the data input command CMS of a predetermined code on the buses FD0 to FD7, and at the same time, the write enable control signal XFWE. - and an active (L level). In response to the command writing operation from the controller 10, the flash memory FM1 is connected to the bus FD0 ...
The data input command CMS above is fetched and latched in its own command register 50.

【0420】次に、コントローラ10は、アドレス・ラ
ッチ・イネーブル制御信号FALEをアクティブ(Hレ
ベル)にして、バスFD0 〜7 上に所定ビット数の書込
みアドレスADW を1回でまたは複数回(この例では3
回)に分割して送出し、その都度ライト・イネーブル制
御信号XFWE- をアクティブ状態(Lレベル)とす
る。このコントローラ10からのアドレス書込み操作に
応動して、フラッシュ・メモリFM1 はバスFD0 〜7
上の該書込みアドレスADW を取り込んで自己のアドレ
ス・バッファ52,54にラッチする。この書込みアド
レスADW は、フラッシュ・メモリFM1 内で書込み先
となるページを指定している。
Next, the controller 10 activates the address latch enable control signal FALE (H level) to write the write address ADW having a predetermined number of bits on the buses FD0 to FD7 once or plural times (in this example). Then 3
The write enable control signal XFWE -is set to the active state (L level) each time. In response to the address write operation from the controller 10, the flash memory FM1 is connected to the buses FD0 to FD7.
The write address ADW above is fetched and latched in its own address buffers 52 and 54. This write address ADW specifies the page to be written in the flash memory FM1.

【0430】次に、コントローラ10は、コマンド・ラ
ッチ・イネーブル制御信号FCLEおよびアドレス・ラ
ッチ・イネーブル制御信号FALE- をそれぞれ非アク
ティブ(Lレベル)にした状態で、バスFD0 〜7 上に
1ページ分(528バイト)の書込みデータDATAW
を1バイトずつ送出し、その都度ライト・イネーブル制
御信号XFWE- をアクティブ状態(Lレベル)とす
る。フラッシュ・メモリFM1 は、ライト・イネーブル
制御信号XFWE- に応動してバスFD0 〜7 上のデー
タDATAW を1バイトずつ取り込んでI/Oバッファ
46に格納する。
[0430] Next, the controller 10, command latch enable control signal FCLE and address latch enable control signal FALE - in a state in which were respectively inactive (L level), one page onto the bus FD0 to 7- (528 bytes) write data DATAW
Is transmitted byte by byte, and the write enable control signal XFWE -is set to the active state (L level) each time. Flash memory FM1, the write enable control signal XFWE - in response to and stored in the I / O buffer 46 takes in one byte of data DATAW on bus FD0 to 7-.

【0440】次に、コントローラ10は、再びコマンド
・ラッチ・イネーブル制御信号FCLEをアクティブ
(Hレベル)にして、バスFD0 〜7 上に所定コードの
プログラム・コマンドCMP を送出すると同時に、ライ
ト・イネーブル制御信号XFWE- をアクティブ(Lレ
ベル)とする。このコントローラ10からのコマンド書
込み操作に応動して、フラッシュ・メモリFM1 はバス
FD0 〜7 上の該プログラム・コマンドCMP を取り込
んでコマンド・レジスタ50にラッチし、プログラミン
グ動作を開始する。
Next, the controller 10 again activates the command latch enable control signal FCLE (H level) to send the program command CMP of a predetermined code to the buses FD0 to FD7, and at the same time, perform the write enable control. The signal XFWE - is made active (L level). In response to the command write operation from the controller 10, the flash memory FM1 takes in the program command CMP on the buses FD0 to FD7 and latches it in the command register 50 to start the programming operation.

【0450】すなわち、フラッシュ・メモリFM1 は、
該プログラム・コマンドCMP をデコードし、該書込み
アドレスADW で指定されるフラッシュ・メモリ・アレ
イ40内の記憶領域(ページ)に、I/Oバッファ46
に格納されている1ぺージ分(528バイト)のデータ
DATAW を書き込む。このメモリ内のデータ書込み動
作にはたとえば300μs程度の一定時間tWBを要す
る。フラッシュ・メモリFM1 は、このデータ書込み動
作を開始すると、ビジー信号XFBSY1-をアクティブ
(Lレベル)とし、以後データ書込み動作が終了するま
で(一定時間tWBが経過するまで)このビジー状態を保
持する。
That is, the flash memory FM1 is
The program command CMP is decoded, and the I / O buffer 46 is stored in the storage area (page) in the flash memory array 40 designated by the write address ADW.
Write one page (528 bytes) of data DATAW stored in The data writing operation in this memory requires a fixed time tWB of, for example, about 300 μs. Flash memory FM1, when starting the data write operation, the busy signal XFBSY1 - was active (L level), (until the predetermined time tWB elapses) thereafter until the data write operation is terminated holds this busy state.

【0460】フラッシュ・メモリFM1 がビジー信号X
FBSY1-をアクティブ(Lレベル)にすると、これに
応動してコントローラ10はフラッシュ・メモリFM0
における読出しサイクルTR を開始する。この読出しサ
イクルTR のため、コントローラ10は、チップ・イネ
ーブル制御信号XFCE0-をアクティブ(Lレベル)に
保持し、フラッシュ・メモリFM0 をチップ・イネーブ
ル(動作可能)状態に保つ。
Flash memory FM1 is busy signal X
When FBSY1 is activated (L level), the controller 10 responds to this by making the flash memory FM0.
, The read cycle TR is started. For this read cycle TR, the controller 10, the chip enable control signal XFCE0 - holding the active (L level) to keep the flash memories FM0 to chip enable (operable) state.

【0470】先ず、コントローラ10は、コマンド・ラ
ッチ・イネーブル制御信号FCLEをアクティブ(Hレ
ベル)にして、バスFD0 〜7 上に所定コードの読出し
コマンドCMR を送出すると同時に、ライト・イネーブ
ル制御信号XFWE- をアクティブ(Lレベル)とす
る。このコントローラ10からのコマンド書込み操作に
応動して、フラッシュ・メモリFM0 はバスFD0 〜7
上から該読出しコマンドCMR を取り込んで自己のコマ
ンド・レジスタ50にラッチする。
[0470] First, the controller 10 sets the command latch enable control signal FCLE be active (H level), and at the same time sends a read command CMR predetermined code onto the bus FD0 to 7-, write enable control signal XFWE - Is activated (L level). In response to the command writing operation from the controller 10, the flash memory FM0 is connected to the buses FD0 to FD7.
The read command CMR is fetched from above and latched in its own command register 50.

【0480】次に、コントローラ10は、アドレス・ラ
ッチ・イネーブル制御信号FALEをアクティブ(Hレ
ベル)にして、バスFD0 〜7 上に所定ビット数の読出
しアドレスADR を1回でまたは複数回(この例では3
回)に分割して送出し、その都度ライト・イネーブル制
御信号XFWE- をアクティブ状態(Lレベル)とす
る。この読出しアドレスADR は、フラッシュ・メモリ
FM0 内で読出し元となるページを指定している。
Next, the controller 10 activates the address latch enable control signal FALE (H level) to read the read address ADR of a predetermined number of bits on the buses FD0 to FD7 once or plural times (in this example). Then 3
The write enable control signal XFWE -is set to the active state (L level) each time. The read address ADR designates a page as a read source in the flash memory FM0.

【0490】このコントローラ10からのアドレス書込
み操作に応動して、フラッシュ・メモリFM0 はバスF
D0 〜7 上の該読出しアドレスADR を取り込んで、メ
モリ内のデータ読出し動作を開始する。
In response to the address write operation from the controller 10, the flash memory FM0 is transferred to the bus F
The read address ADR on D0-7 is taken in and the data read operation in the memory is started.

【0500】すなわち、フラッシュ・メモリFM0 は、
入力した読出しコマンドCMR および読出しアドレスA
DR をデコードし、読出しアドレスADR で指定された
フラッシュ・メモリ・アレイ40内の記憶領域(ペー
ジ)より1ページ分(528バイト)のデータDATA
R を読み出し、読み出したデータDATAR をI/Oバ
ッファ46に転送(セット)する。このメモリ内の読出
し動作にはたとえば25μs程度の一定時間tRBを要す
るため、フラッシュ・メモリFM0 はこの処理時間tRB
の間ビジー信号XFBSY0-をアクティブ(Lレベル)
に保持する。
That is, the flash memory FM0 is
Input read command CMR and read address A
Data DATA of one page (528 bytes) is decoded from the storage area (page) in the flash memory array 40 designated by the read address ADR by decoding DR.
R is read and the read data DATAR is transferred (set) to the I / O buffer 46. Since the read operation in this memory requires a fixed time tRB of, for example, about 25 μs, the flash memory FM0 requires this processing time tRB.
During busy signal XFBSY0 - active (L level)
To hold.

【0510】そして、フラッシュ・メモリFM0 内の読
出し動作が終了してビジー状態が解除されると(XFB
SY0-がHレベルに戻ると)、コントローラ10はフラ
ッシュ・メモリFM0 のI/Oバッファ46にセットさ
れている読出しデータDATAR の取込みに取り掛か
る。すなわち、コントローラ10は、リード(出力)・
イネーブル制御信号XFRE0-を一定周期で繰り返し
(528回)アクティブ(Lレベル)にすることによ
り、フラッシュ・メモリFM0 のI/Oバッファ46よ
り1ページ分(528バイト)の読出しデータDATA
R を1バイトずつバスFD0 〜7 を介して取り込む。
When the read operation in the flash memory FM0 is completed and the busy state is released (XFB
SY0 - is back to H level), the controller 10 start to capture read data DATAR set in the I / O buffer 46 of the flash memory FM0. That is, the controller 10 reads (outputs)
Enable control signal XFRE0 - by the repeating in a constant cycle (528 times) active (L level), the read data DATA for one page from the I / O buffer 46 of the flash memory FM0 (528 bytes)
R is fetched byte by byte via the buses FD0 to FD7.

【0520】上記のようなフラッシュ・メモリFM0 の
ための読出しサイクルTR の間、フラッシュ・メモリF
M1 はメモリ内でデータ書込み動作の最中(ビジー状
態)にあり、外部からの信号を受け付けない。このた
め、フラッシュ・メモリFM1 から独立してコントロー
ラ10とフラッシュ・メモリFM0 との間で読出しサイ
クルTR を遂行することができる。
During the read cycle TR for the flash memory FM0 as described above, the flash memory F
M1 is in the middle of a data write operation (busy state) in the memory and does not accept external signals. Therefore, the read cycle TR can be performed between the controller 10 and the flash memory FM0 independently of the flash memory FM1.

【0530】なお、その他のフラッシュ・メモリFM2
〜FMn は、それぞれのチップ・イネーブル制御信号X
FCE2-〜XFCEn-がディスエーブル状態(Hレベ
ル)に保持されているため、実質的にバスAD0 〜7 か
ら分離されたままでいる。したがって、フラッシュ・メ
モリFM1 における書込みサイクルTW やフラッシュ・
メモリFM0 における読出しサイクルTR に何等影響す
ることがない。
[0530] Other flash memory FM2
~ FMn are the respective chip enable control signals X
FCE2 - ~XFCEn - is because it is held in the disabled state (H level), substantially remain isolated from the bus AD0 to 7-. Therefore, the write cycle TW and the flash memory FM1 in the flash memory FM1
There is no influence on the read cycle TR in the memory FM0.

【0540】フラッシュ・メモリFM0 における読出し
サイクルTR が終了し、そしてフラッシュ・メモリFM
1 においてデータ書込みのビジー時間tWBが終了する
と、ビジー信号XFBSY1-が非アクティブ状態(Hレ
ベル)に戻ったことを確認してコントローラ10は今回
のフラッシュ・メモリFM1 におけるデータ書込み(プ
ログラミング)が良好に行われたか否かの検査を行う。
The read cycle TR in the flash memory FM0 is completed, and the flash memory FM
When the data write busy time tWB in 1 ends, the controller 10 confirms that the busy signal XFBSY1 has returned to the inactive state (H level), and the controller 10 successfully writes data (programming) in the flash memory FM1 this time. Inspect whether it has been done.

【0550】このプログラミング結果の良否検査を行う
ため、コントローラ10は、コマンド・ラッチ・イネー
ブル制御信号FCLEをアクティブ(Hレベル)にし
て、バスFD0 〜7 上に所定コードのステータス・レジ
スタ読取りコマンドCMC を送出すると同時に、ライト
・イネーブル制御信号XFWE- をアクティブ(Lレベ
ル)とする。
In order to check the quality of the programming result, the controller 10 activates the command latch enable control signal FCLE (H level) and outputs the status register read command CMC of a predetermined code on the buses FD0 to FD7. At the same time as the transmission, the write enable control signal XFWE - is made active (L level).

【0560】このコントローラ10からのコマンド書込
み操作に応動して、フラッシュ・メモリFM1 はバスF
D0 〜7 上から該ステータス・レジスタ読取りコマンド
CMC を取り込んで、このコマンドCMC をデコード
し、このコマンドCMC に応答する。すなわち、フラッ
シュ・メモリFM1 内のコマンド・レジスタ50内のス
テータス・レジスタにセットされている書込みステータ
ス・ビットI/O0 をI/Oバッファ46を介してバス
FD0 〜7 上に送出する。コントローラ10は、メモリ
FM1 からの書込みステータス・ビットI/O0 を受け
取り、そのビット内容を基に今回の書込みサイクルTW
におけるデータ書込み(プログラミング)が首尾よく行
われたか否かを判定する。
In response to the command writing operation from the controller 10, the flash memory FM1 is connected to the bus F
It takes in the status register read command CMC from above D0-7, decodes this command CMC, and responds to this command CMC. That is, the write status bit I / O0 set in the status register in the command register 50 in the flash memory FM1 is sent to the buses FD0 to FD7 via the I / O buffer 46. The controller 10 receives the write status bit I / O0 from the memory FM1, and based on the bit contents, the current write cycle TW
It is determined whether or not the data writing (programming) has been successfully performed.

【0570】上記のように、本実施例のフラッシュ・デ
ィスク・システムでは、コントローラ10が、任意の或
るフラッシュ・メモリ(たとえばFM1 )に対して1ペ
ージ分のデータDATAW を書き込む動作を実行しなが
ら、その書込みサイクルTWにおいてフラッシュ・メモ
リFM1 がメモリ内のデータ書込み動作のためにビジー
状態になっている期間tWBを利用して、この期間tWB中
に任意の別のフラッシュ・メモリ(たとえばFM0 )に
読出しのアクセスを行って、該フラッシュ・メモリFM
0 から1ページ分のデータDATAR を読み出せるよう
になっている。
As described above, in the flash disk system of the present embodiment, the controller 10 executes the operation of writing the data DATAW for one page to any given flash memory (for example, FM1). , During the write cycle TW, the period tWB during which the flash memory FM1 is busy due to the data write operation in the memory is utilized, and during this period tWB, another flash memory (for example, FM0) is Read access to the flash memory FM
One page of data DATAR can be read from 0.

【0580】なお、一度に1ページ(528バイト)よ
りも少ないデータを書き込みまたは読み出す場合でも、
各メモリFMi 内の書込みビジー時間tWBまたは読出し
ビジー時間tRBは1ページのときと殆ど同じである。違
うのは、コントローラ10と各フラッシュ・メモリFM
i との間で書込みデータまたは読出しデータをシリアル
転送する際の所要時間がデータ量に比例して短くなる点
である。このシリアル転送の周期は、たとえば27ns
/1バイト程度であるから、データ量またはシリアル転
送時間の違いは全体の書込みサイクルTW または読出し
サイクルTR にそれ程の影響を与えない。
[0580] Even when writing or reading less than one page (528 bytes) at a time,
The write busy time tWB or the read busy time tRB in each memory FMi is almost the same as that for one page. The difference is that the controller 10 and each flash memory FM
The point is that the time required for serial transfer of write data or read data to and from i becomes shorter in proportion to the amount of data. The cycle of this serial transfer is, for example, 27 ns.
Since it is about 1 byte, the difference in data amount or serial transfer time does not significantly affect the entire write cycle TW or read cycle TR.

【0590】次に、図6〜図8につき本実施例のフラッ
シュ・ディスク・システムにおけるデータ書き換え時の
処理について説明する。データ書き換え処理の中で、上
記したような任意の或るフラッシュ・メモリFMi にお
けるデータの書込みと任意の別のフラッシュ・メモリF
Me におけるデータの読出しとの並列的処理を行うこと
ができる。
Next, the processing at the time of rewriting data in the flash disk system of this embodiment will be described with reference to FIGS. In the data rewriting process, writing of data in any one flash memory FMi and any other flash memory Fi as described above.
It is possible to perform parallel processing with the reading of data in Me.

【0600】本実施例のフラッシュ・ディスク・システ
ムでは、電源投入直後またはリセット解除直後に、コン
トローラ10のフラッシュ・テーブル制御部28が、各
フラッシュ・メモリFM0 〜FMn 内の全てのブロック
BL0 〜BL511 の先頭ページPG0 の冗長部に格納さ
れているデータを読み取り、その冗長データに含まれて
いる「変換テーブルアドレス」を基に各フラッシュ・メ
モリFM0 〜FMn 毎にアドレス変換テーブルおよび空
きブロックテーブルを初期化する。
In the flash disk system of this embodiment, immediately after the power is turned on or the reset is released, the flash table control unit 28 of the controller 10 stores all blocks BL0 to BL511 in each flash memory FM0 to FMn. The data stored in the redundant portion of the first page PG0 is read, and the address conversion table and empty block table are initialized for each flash memory FM0 to FMn based on the "conversion table address" included in the redundant data. To do.

【0610】ここで、アドレス変換テーブルは、各フラ
ッシュ・メモリFM0 〜FMn 毎に現在データが書き込
まれているブロックの物理アドレスとそのデータの書込
みに際してホスト14が指定してきたLBA(論理ブロ
ックアドレス)モードの論理アドレスとを対応づけるテ
ーブルである。また、空きブロックテーブルは、各フラ
ッシュ・メモリFM0 〜FMn 毎に現在データが全然書
き込まれていない1つまたは複数の空きブロックBLを
登録しておくテーブルであり、これら空きブロックの中
で最先に使用に供されるべきものを指定する物理ブロッ
クアドレスまたはポインタを常時セットしている。
Here, the address conversion table shows the physical address of the block in which data is currently written for each flash memory FM0 to FMn and the LBA (logical block address) mode designated by the host 14 when writing the data. It is a table that correlates with the logical address of. The empty block table is a table in which one or more empty blocks BL in which no data is currently written are registered for each flash memory FM0 to FMn. Always set a physical block address or pointer that specifies what should be used.

【0620】さて、図6において、本フラッシュ・ディ
スク・システムにデータを書き込むとき、ホスト14は
CHS(シリンダ・ヘッド・セクタ)モードの論理アド
レス[AD]CHS をコントローラ10に与える。このホ
スト14からの論理アドレス[AD]CHS は、コントロ
ーラ10内のアドレス変換部24でLBA(論理ブロッ
ク・アドレス)モードの論理アドレス[AD]LBA に変
換される。そして、このLBAモードの論理アドレス
[AD]LBA は、コントローラ10内でフラッシュ・テ
ーブル制御部28に送られる。
Now, in FIG. 6, when writing data to this flash disk system, the host 14 gives the controller 10 the logical address [AD] CHS in the CHS (cylinder head sector) mode. The logical address [AD] CHS from the host 14 is converted into a logical address [AD] LBA in the LBA (logical block address) mode by the address conversion unit 24 in the controller 10. Then, the logical address [AD] LBA in the LBA mode is sent to the flash table control unit 28 in the controller 10.

【0630】フラッシュ・テーブル制御部28は、この
論理アドレス[AD]LBA を特定の1つのブロックBL
j を指定する上位アドレス部つまり論理ブロックアドレ
ス[AD]LBA,BLj と特定の1つのページPGj を指定
する下位アドレス部つまり論理ページアドレス[AD]
LBA,PGk とに分割する。そして、アドレス変換テーブル
28Aを参照または検索して、この論理ブロックアドレ
ス[AD]LBA,BLj に対応する物理ブロックアドレス<
AD>PH,BLjがテーブル28Aに登録されていれば、こ
の物理ブロックアドレス<AD>PH,BLjを発行(出力)
する。
The flash table controller 28 assigns this logical address [AD] LBA to one specific block BL.
Upper address part that specifies j, that is, logical block address [AD] LBA, BLj, and lower address part that specifies one specific page PGj, that is, logical page address [AD]
It is divided into LBA and PGk. Then, the address conversion table 28A is referred to or searched for, and the physical block address << AD] LBA, BLj corresponding to this logical block address <AD
If AD> PH, BLj is registered in the table 28A, this physical block address <AD> PH, BLj is issued (output).
I do.

【0640】論理ブロックアドレス[AD]LBA,BLj は
LBA(論理ブロック・アドレス)モードの論理アドレ
スであるから、この下位アドレス部つまり論理ページア
ドレス[AD]LBA,PGk はそのまま物理アドレスのペー
ジアドレスとしても使用することができる。したがっ
て、この論理ページアドレス[AD]LBA,PGk と該物理
ブロックアドレス<AD>PH,BLjとを合成することで、
今回のデータ書込みの対象となるページを指定する物理
アドレス<AD>PHが得られる。
Since the logical block address [AD] LBA, BLj is a logical address in the LBA (logical block address) mode, this lower address portion, that is, the logical page address [AD] LBA, PGk is directly used as the page address of the physical address. Can also be used. Therefore, by combining this logical page address [AD] LBA, PGk and the physical block address <AD> PH, BLj,
A physical address <AD> PH that specifies the page to which data is to be written this time is obtained.

【0650】しかしながら、この物理アドレス<AD>
PHで指定されるブロックBLj 内のページPGk には何
らかのデータが現在書き込まれており、その上に新たな
データを重ね書きすることはフラッシュ・メモリの性質
からできない。新たなデータは別の空きブロックに書き
込まなくてはならない。そして、これに伴って、当該ブ
ロックBLj 内の他のページ(PG0 〜PGk-1 ,PG
k+1 〜PG15)に格納されているデータを新たなデータ
と同じ空きブロックにそっくり移し替えなくてはならな
い。通常は、隣のフラッシュ・メモリに存在する空きブ
ロックがこのデータ書き換えの移動先(新規ブロック)
に充てられる。
However, this physical address <AD>
Some data is currently written in the page PGk in the block BLj designated by PH, and new data cannot be overwritten on it because of the nature of the flash memory. New data must be written to another free block. Along with this, the other pages (PG0 to PGk-1, PG in the block BLj) are
The data stored in (k + 1 to PG15) must be completely transferred to the same empty block as the new data. Normally, the empty block existing in the adjacent flash memory is the destination (new block) of this data rewrite.
Be devoted to.

【0660】そこで、フラッシュ・テーブル制御部28
は、今回のデータ書込みで指定されたフラッシュ・メモ
リFM0 内の物理ブロックアドレス<AD>PH,BLjを発
行すると同時に、隣のフラッシュ・メモリFM1 に係る
空きブロック・テーブル28Bを検索して、このフラッ
シュ・メモリFM1 内の1つの空きブロックBLh を指
定する物理ブロックアドレス<AD>PH,BLhを発行す
る。この物理ブロックアドレス<AD>PH,BLhと上記の
下位アドレス部(論理ページアドレス)[AD]LBA,PG
k とを合成することで、フラッシュ・メモリFM1 の空
きブロックBLh内で書き換えの対象となるページPGk
を指定する物理アドレス<AD>PH’が得られる。
[0660] Therefore, the flash table control unit 28
Issues the physical block address <AD> PH, BLj in the flash memory FM0 specified by this data write, and at the same time searches the free block table 28B for the adjacent flash memory FM1 and Issue a physical block address <AD> PH, BLh that specifies one empty block BLh in the memory FM1. This physical block address <AD> PH, BLh and the lower address section (logical page address) [AD] LBA, PG
By composing with k, the page PGk to be rewritten in the empty block BLh of the flash memory FM1
A physical address <AD> PH 'that specifies

【0670】上記のようにして、データ書込みのために
ホスト14より指定された論理アドレスを割り付けられ
ているフラッシュ・メモリFM0 内のブロックBLj が
割り出され、かつデータ書き換えのためのフラッシュ・
メモリFM0 内の空きブロックBLh が決定される。
As described above, the block BLj in the flash memory FM0 to which the logical address designated by the host 14 has been allocated for writing the data has been determined, and the flash memory for rewriting the data has been allocated.
The empty block BLh in the memory FM0 is determined.

【0680】次に、図7に示すように、コントローラ1
0は、フラッシュ・メモリFM0 内のブロックBLj の
先頭ページPG0 から順に1ページずつ(ただし、書き
換え対象のページPGk は除く)データを読み出し、読
み出したデータをフラッシュ・メモリFM1 内の空きブ
ロックBLh の各対応するページへ書き込むというデー
タ移し替え操作を実行する。そして、今回の書き換え対
象のページPGk については、フラッシュ・メモリFM
0 内のブロックBLj の該当ページPGk から旧データ
を読み出すことはしないで、ホスト14からの書込みの
データ(新データ)をフラッシュ・メモリFM1 内の空
きブロックBLh の該当ページPGk へ書き込む。
Next, as shown in FIG. 7, the controller 1
0 reads data one page at a time from the first page PG0 of the block BLj in the flash memory FM0 (except for the page PGk to be rewritten) and reads the read data from each empty block BLh in the flash memory FM1. Perform the data transfer operation of writing to the corresponding page. For the page PGk to be rewritten this time, the flash memory FM
The old data is not read from the corresponding page PGk of the block BLj in 0 but the write data (new data) from the host 14 is written to the corresponding page PGk of the empty block BLh in the flash memory FM1.

【0690】このような一連のデータ移し替えおよび新
規データ書き込み操作は、コントローラ10において、
コマンド処理部26の制御の下でフラッシュ・コマンド
発生部30およびフラッシュ・インタフェース部34に
より行われる。フラッシュ・インタフェース部34に
は、移動元(旧)ブロックBLj から読み出した1ペー
ジ分のデータを移動先(新規)ブロックBLh へ書き込
むまでいったん保持するためのバッファ34Aと、ホス
ト14から送られてきた書込みデータ(新たなデータ)
を新規ブロックBLh へ書き込むまで一時的に保持する
ためのバッファ34Bが設けられている。
[0690] Such a series of data transfer and new data write operation is performed by the controller 10.
This is performed by the flash command generation unit 30 and the flash interface unit 34 under the control of the command processing unit 26. The flash interface unit 34 is sent from the host 14 with a buffer 34A for temporarily holding one page of data read from the source (old) block BLj until it is written to the destination (new) block BLh. Write data (new data)
Is stored in the new block BLh until the buffer 34B is temporarily held.

【0700】図8の(A)に、本実施例のフラッシュ・
ディスク・システムにおけるデータ書き換え処理のタイ
ムチャートを示す。
FIG. 8A shows the flash of this embodiment.
7 shows a time chart of data rewriting processing in the disk system.

【0710】先ず、フラッシュ・メモリFM0 において
ブロックBLj の先頭ページPG0から1ページ分のデ
ータを読み出す読出しサイクルTR が実行される。この
読出しサイクルTR は、図5に示したフラッシュ・メモ
リFM0 における読出しサイクルTR と同じシーケンス
で、かつほぼ同じ時間をかけて行われる。この読出しサ
イクルTR によってフラッシュ・メモリFM0 のブロッ
クBLj の先頭ページPG0 より読み出された1ページ
分のデータDATAPG0 は、フラッシュ・インタフェー
ス部34内のバッファ34Aにいったん保持される。
First, in the flash memory FM0, a read cycle TR for reading data for one page from the first page PG0 of the block BLj is executed. This read cycle TR is in the same sequence as the read cycle TR in the flash memory FM0 shown in FIG. One page of data DATAPG0 read from the first page PG0 of the block BLj of the flash memory FM0 in this read cycle TR is once held in the buffer 34A in the flash interface section 34.

【0720】フラッシュ・メモリFM0 における上記の
読出しサイクルTR が終了すると、直ちに、該バッファ
34Aに保持されている(先の読出しサイクルTR でフ
ラッシュ・メモリFM0 のブロックBLj の先頭ページ
PG0 より読み出された)1ページ分のデータDATA
PG0 をフラッシュ・メモリFM1 における空きブロック
BLh の先頭ページPG0 に書き込む書込みサイクルT
W が開始される。この書込みサイクルTW は、図5に示
したフラッシュ・メモリFM1 における書込みサイクル
TW と同じシーケンスで、かつほぼ同じ時間をかけて行
われる。
Immediately after the above-mentioned read cycle TR in the flash memory FM0 is completed, it is held in the buffer 34A (read from the first page PG0 of the block BLj of the flash memory FM0 in the previous read cycle TR). ) One page of data DATA
Write cycle T for writing PG0 to the first page PG0 of the empty block BLh in the flash memory FM1
W is started. This write cycle TW has the same sequence as the write cycle TW in the flash memory FM1 shown in FIG.

【0730】本実施例では、このフラッシュ・メモリF
M1 における書込みサイクルTW と同時的または並列的
に、図5に示したタイミングとほぼ同じ仕方で、フラッ
シュ・メモリFM0 においてブロックBLj の2番目の
ページPG1 から1ページ分のデータDATAPG1 を読
み出す読出しサイクルTR が実行される。この読出しサ
イクルTR で該ブロックBLi のページPG1 から読み
出された1ページ分のデータDATAPG1 は、やはりフ
ラッシュ・インタフェース部34内のバッファ34Aに
いったん保持される。
In this embodiment, this flash memory F
A read cycle TR for reading one page of data DATAPG1 from the second page PG1 of the block BLj in the flash memory FM0 in the same manner as the timing shown in FIG. 5 simultaneously or in parallel with the write cycle TW in M1. Is executed. The data DATAPG1 for one page read from the page PG1 of the block BLi in the read cycle TR is once held in the buffer 34A in the flash interface unit 34.

【0740】この結果、フラッシュ・メモリFM1 内の
空きブロックBLh の先頭ページPG0 に1ページ分の
データDATAPG0 を書き込む書込みサイクルTW が終
了した時点で、バッファ34Aには該空きブロックBL
h の次の(2番目)のページPG1 に書き込むべきデー
タDATAPG1 が用意されていることになる。したがっ
て、フラッシュ・メモリFM1 においては、直ちに、バ
ッファ34Aに保持されている(先の読出しサイクルT
R でフラッシュ・メモリFM0 のブロックBLj の2番
目のページPG1 より読み出された)1ページ分のデー
タDATAPG1を空きブロックBLh の2番目のページ
PG1 に書き込む書込みサイクルTW を開始することが
できる。
As a result, when the write cycle TW for writing the data DATAPG0 for one page to the first page PG0 of the empty block BLh in the flash memory FM1 is completed, the empty block BL is stored in the buffer 34A.
This means that the data DATAPG1 to be written to the next (second) page PG1 of h is prepared. Therefore, in the flash memory FM1, it is immediately held in the buffer 34A (previous read cycle T
A write cycle TW for writing one page of data DATAPG1 read from the second page PG1 of the block BLj of the flash memory FM0 to the second page PG1 of the empty block BLh can be started by R.

【0750】そして、フラッシュ・メモリFM1 におけ
る書込みサイクルTW と同時的または並列的に、フラッ
シュ・メモリFM0 においてブロックBLi の3番目の
ページPG2 から1ページ分のデータDATAPG2 を読
み出す読出しサイクルTR が実行される。
Then, a read cycle TR for reading one page of data DATAPG2 from the third page PG2 of the block BLi in the flash memory FM0 is executed simultaneously or in parallel with the write cycle TW in the flash memory FM1. .

【0760】以下、後続のページPG2 ,PG3 ,…に
ついて上記と同様の動作が繰り返される。ただし、フラ
ッシュ・メモリFM1 において空きブロックBLh のk
番目のページPGk-1 に1ページ分のデータDATAPG
k-1 を書き込む書込みサイクルTW が実行される期間
中、フラッシュ・メモリFM0 においてブロックBLj
の書き換え対象である(k+1)番目のページPGk か
らデータDATAPGk を読み出す読出しサイクルTR は
行われない。この旧データDATAPGk に置き換わるホ
スト14からの新たなデータDATAPGk'が、コントロ
ーラ10内のバッファ34Bに用意されているためであ
る。
Thereafter, the same operation as described above is repeated for the subsequent pages PG2, PG3, .... However, in the flash memory FM1, k of the empty block BLh
Data DATAPG for one page in the th page PGk-1
During the period in which the write cycle TW for writing k-1 is executed, the block BLj in the flash memory FM0.
The read cycle TR for reading the data DATAPGk from the (k + 1) th page PGk to be rewritten is not performed. This is because new data DATAPGk 'from the host 14 replacing the old data DATAPGk is prepared in the buffer 34B in the controller 10.

【0770】また、フラッシュ・メモリFM1 において
空きブロックBLh の最後(16番目)のページPG15
に1ページ分のデータDATAPG15を書き込む書込みサ
イクルTW が実行されるときも、フラッシュ・メモリF
M0 では既に移動元の全てのページから全てのデータが
既に読み出されているため、読み出しサイクルTR は不
要である。
[0770] Also, the last (16th) page PG15 of the empty block BLh in the flash memory FM1
Even when the write cycle TW for writing one page of data DATAPG15 is executed in the flash memory F
In M0, since all data has already been read from all pages of the movement source, the read cycle TR is unnecessary.

【0780】なお、上記のデータ書き換え処理の終了後
に、後処理として、今回の書き換えでデータ移動元
(旧)ブロックとされたフラッシュ・メモリFM0 のブ
ロックBLj 内のデータが全て一括消去される。このブ
ロック消去のために、コントローラ10は、所定のブロ
ック消去用コマンドと当該ブロックBLj を指定するア
ドレスとを所定のタイミングでフラッシュ・メモリFM
0 に与える。そうすると、これに応答してフラッシュ・
メモリFM0 内でブロックBLj に対するブロック消去
動作が実行される。
After the above data rewriting processing is completed, as post-processing, all the data in the block BLj of the flash memory FM0 which is the data transfer source (old) block in this rewriting is erased all together. For this block erase, the controller 10 issues a predetermined block erase command and an address designating the block BLj at a predetermined timing to the flash memory FM.
Give to 0. Then, in response to this, the flash
A block erase operation is executed for the block BLj in the memory FM0.

【0790】さらに、上記のデータ書き換えに伴う後処
理として、フラッシュ・テーブル制御部28内でアドレ
ス変換テーブル28Aおよび空きブロック・テーブル2
8Bがそれぞれ所定の操作により更新される。
Further, as post-processing associated with the above-mentioned data rewriting, the address conversion table 28A and the empty block table 2 are set in the flash table control unit 28.
8B is updated by a predetermined operation.

【0800】アドレス変換テーブル28Aの更新では、
今回の書込みで指示された論理ブロックアドレス[A
D]LBA,BLj に対応する物理ブロックアドレスとして、
フラッシュ・メモリFM0 内のブロックBLj を指示す
る物理アドレスがテーブル28Aから抹消され、代わり
にフラッシュ・メモリFM1 内のブロックBLh を指示
する物理アドレスがテーブル28Aに登録される。
In updating the address conversion table 28A,
Logical block address [A
D] As a physical block address corresponding to LBA, BLj,
The physical address designating the block BLj in the flash memory FM0 is deleted from the table 28A, and the physical address designating the block BLh in the flash memory FM1 is registered in the table 28A instead.

【0810】空きブロック・テーブル28Bでは、現在
データが入っていない空きブロックとして、フラッシュ
・メモリFM1 内のブロックBLh を指示する物理アド
レスがテーブル28Bから抹消され、代わりにフラッシ
ュ・メモリFM0 内のブロックBLj を指示する物理ア
ドレスがテーブル28Bに登録される。
In the empty block table 28B, the physical address indicating the block BLh in the flash memory FM1 is erased from the table 28B as an empty block that does not currently contain data, and instead the block BLj in the flash memory FM0. Is registered in the table 28B.

【0820】このように、本実施例のデータ書き換えで
は、図8の(A)に示すように、フラッシュ・メモリF
M1 における書込みサイクルTW の間にフラッシュ・メ
モリFM0 における読出しサイクルTR がマスクされる
形で同時的または並列的に実行される。このため、トー
タルの書き換え処理時間は、書込みサイクルTW にその
繰り返し回数(1ブロック内のページPG0 〜PG15の
総数に相当する数:16回)を乗じた値(16TW )に
1回目の読出しサイクルTR を加えた時間(16TW +
TR )で済むことになる。
As described above, in the data rewriting of this embodiment, as shown in FIG. 8A, the flash memory F
During the write cycle TW in M1, the read cycle TR in the flash memory FM0 is masked simultaneously or in parallel. Therefore, the total rewrite processing time is the value (16TW) obtained by multiplying the write cycle TW by the number of repetitions (the number corresponding to the total number of pages PG0 to PG15 in one block: 16 times) and the first read cycle TR. Time (16 TW +
TR).

【0830】この点、従来のシステムで同様のデータ書
き換え処理を行うとすると、図8の(B)に示すよう
に、移動元のフラッシュ・メモリFM0 のブロックBL
j から1ページ分のデータを読み出す読出しサイクルT
R と、この読み出した1ページ分のデータを移動先のフ
ラッシュ・メモリFM1 の空きブロックBLh へ書き込
む書込みサイクルTW とを交互に(時間的にシリアル
に)繰り返すことになる。もっとも、書き換えの対象で
あるフラッシュ・メモリFM0 内のブロックBLjのペ
ージPGk から1ページ分の旧データを読み出す読出し
サイクルTR は不要である。したがって、トータルの処
理時間は16TW +15TR となる。
In this respect, if the same data rewriting processing is performed in the conventional system, as shown in FIG. 8B, the block BL of the flash memory FM0 of the movement source is shown.
Read cycle T for reading one page of data from j
R and the write cycle TW for writing the read one page of data to the empty block BLh of the destination flash memory FM1 are alternately (timely serially) repeated. However, the read cycle TR for reading one page of old data from the page PGk of the block BLj in the flash memory FM0 to be rewritten is unnecessary. Therefore, the total processing time is 16TW + 15TR.

【0840】このように、本実施例によれば、データ書
き換え処理において、従来と比較してほぼ14TR に相
当する時間を短縮(節約)することができる。これによ
り、ホスト14から見たデータ書込み時間も大幅に短縮
され、フラッシュ・ディスク・システムの性能が大きく
向上する。
As described above, according to this embodiment, it is possible to shorten (save) the time corresponding to about 14 TR in the data rewriting process as compared with the conventional case. This also significantly reduces the data write time seen by the host 14 and greatly improves the performance of the flash disk system.

【0850】上記した実施例では、コントローラ10と
各フラッシュ・メモリFM0 〜FMn との間に個別的ま
たは独立的なリード(出力)・イネーブル制御線XFR
E0-〜XFREn-を設けているため、コントローラ10
は任意のフラッシュ・メモリFMi から随時(他のフラ
ッシュ・メモリの状態に左右されることなく)データを
取り込めるようになっている。
In the above-described embodiment, the read (output) enable control line XFR is individually or independently provided between the controller 10 and each of the flash memories FM0 to FMn.
E0 - ~XFREn - because they provided, the controller 10
Is capable of fetching data from any flash memory FMi at any time (without depending on the states of other flash memories).

【0860】このため、上記の例では、フラッシュ・メ
モリFM0 に読出しコマンドCMRと読出しアドレスA
DR が供給された後であれば、たとえフラッシュ・メモ
リFM0 で読出しサイクルTR が終了する前にフラッシ
ュ・メモリFM1 で書込みビジー時間tWBが終了したと
しても、コントローラ10は書込み後のフラッシュ・メ
モリFM1 の状態とは無関係にフラッシュ・メモリFM
0 から読出しデータDATAR をバスFD0 〜7 を介し
て取り込むことができる。したがって、各フラッシュ・
メモリFMi における書込みビジー時間tWBが比較的短
い場合、あるいは読出しビジー時間tRBが比較的長い場
合でも、本発明の方法を実施することができる。
Therefore, in the above example, the read command CMR and the read address A are stored in the flash memory FM0.
After DR is supplied, even if the write busy time tWB in the flash memory FM1 ends before the read cycle TR ends in the flash memory FM0, the controller 10 writes the flash memory FM1 after the write. Flash memory FM regardless of status
The read data DATAR can be fetched from 0 via the buses FD0 to FD7. Therefore, each flash
The method of the present invention can be implemented even if the write busy time tWB in the memory FMi is relatively short or the read busy time tRB is relatively long.

【0870】もっとも、図5に示すように、各フラッシ
ュ・メモリにおいて読出しビジー時間tRBに比して書込
みビジー時間tWBが格段に長く、或るフラッシュ・メモ
リFMi における書込みビジー時間twBの期間内に別の
フラッシュ・メモリFMe において読出しサイクルTR
が確実に完了できる場合には、コントローラ10と各フ
ラッシュ・メモリFM0 〜FMn との間で1本の共通リ
ード(出力)・イネーブル制御線XFRE- で済ますこ
とも可能である。
However, as shown in FIG. 5, the write busy time tWB is significantly longer than the read busy time tRB in each flash memory, and the write busy time tWB is different during the write busy time twB in a certain flash memory FMi. Read cycle TR in the flash memory FMe of
Is when it can be completed reliably, the one common lead between the controller 10 and each flash memory FM0 to FMn (output) enable control line XFRE - it is also possible to dispense with.

【0880】また、上記した実施例では、コントローラ
10と各フラッシュ・メモリFM0〜FMn との間に個
別的または独立的なビジー線XFBSY0-〜n-を設けて
いるため、コントローラ10は個々のフラッシュ・メモ
リFMi におけるビジー状態の開始と終了を即座に知る
ことができる。したがって、たとえば上記の例(図5)
において、コントローラ10は、フラッシュ・メモリF
M1 が書込みビジー状態になっている間(XFBSY1-
がアクティブ状態になっている間)、それとは別個にフ
ラッシュ・メモリFM0 で読出しビジー時間tRBが終了
したことをビジー信号XFBSY0-を通じて即座に知る
ことができ、直ちにフラッシュ・メモリFM0 からの読
出しデータの取り込みに取り掛かることができる。
Further, in the above-mentioned embodiment, since the individual or independent busy lines XFBSY0 -to- n - are provided between the controller 10 and each of the flash memories FM0 to FMn, the controller 10 needs to write the individual flash memory. -The start and end of the busy state in the memory FMi can be immediately known. So, for example, the example above (Fig. 5)
In the controller 10, the flash memory F
While the M1 is in the write busy state (XFBSY1 -
There While in the active state), it and a separate busy signal that the read busy time tRB is completed in the flash memories FM0 XFBSY0 - can immediately know through, immediately the reading data from the flash memories FM0 You can start importing.

【0890】しかし、コントローラ10は、フラッシュ
・メモリFM0 からビジー信号XFBSY0-を受け取ら
なくても、ステータス・レジスタ読取りコマンドCMC
をフラッシュ・メモリFM0 に発行して、所要のステー
タス・ビットを読み取ることで、メモリFM0 の状態を
知ることが可能である。したがって、コントローラ10
と各フラッシュ・メモリFM0 〜FMn との間で1本の
共通ビジー信号線XFBSY- で済ますことも可能であ
る。
[0890] However, the controller 10, a busy signal XFBSY0 from the flash memory FM0 - even without receiving a status register read command CMC
Is issued to the flash memory FM0 and the required status bit is read, it is possible to know the state of the memory FM0. Therefore, the controller 10
The common busy signal line XFBSY of one between each flash memory FM0 to FMn - it is also possible to dispense with.

【0900】また、上記実施例におけるフラッシュ・デ
ィスク・システムの構成、特にフラッシュ・メモリFM
i 内部の構成やコントローラ10内部の構成は一例であ
り、本発明は1つのコントローラまたはコンピュータに
共通のバスを介して複数個のフラッシュ・メモリを接続
する任意のメモリシステムに適用可能である。
Also, the configuration of the flash disk system in the above embodiment, particularly the flash memory FM
The internal configuration and the internal configuration of the controller 10 are examples, and the present invention can be applied to any memory system in which a plurality of flash memories are connected to one controller or a computer via a common bus.

【0910】[0910]

【発明の効果】以上説明したように、本発明のメモリ書
込み/読出し方法またはメモリ制御装置によれば、複数
個のフラッシュ・メモリを同一バス上に接続してなるメ
モリシステムにおいて、メモリ制御装置が任意の或るフ
ラッシュ・メモリにデータを書き込みながら任意の別の
フラッシュ・メモリからデータを読み出せるようにした
ので、処理時間を短縮し、システム性能を向上させるこ
とができる。
As described above, according to the memory writing / reading method or the memory control device of the present invention, in the memory system in which a plurality of flash memories are connected on the same bus, the memory control device is Since the data can be read from any other flash memory while writing the data to any given flash memory, the processing time can be shortened and the system performance can be improved.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例によるフラッシュ・ディスク
・システムの構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a flash disk system according to an embodiment of the present invention.

【図2】実施例におけるコントローラの内部の機能的構
成を示すブロック図である。
FIG. 2 is a block diagram showing a functional configuration inside a controller in the embodiment.

【図3】フラッシュ・メモリ内の記憶領域の区分フォー
マットを示す図である。
FIG. 3 is a diagram showing a partition format of a storage area in a flash memory.

【図4】実施例におけるフラッシュ・メモリの内部の構
成例を示す。
FIG. 4 shows an example of the internal configuration of a flash memory according to an embodiment.

【図5】実施例において、或るフラッシュ・メモリに1
ページ分のデータを書き込む書込みサイクルを実行して
いる最中に、別のフラッシュ・メモリより1ページ分の
データを読み出す読出しサイクルを同時的または並列的
に実行する動作を示すタイミング図である。
FIG. 5 illustrates one flash memory with one in an embodiment.
FIG. 11 is a timing diagram showing an operation of executing a read cycle for reading one page of data from another flash memory, simultaneously or in parallel, while a write cycle for writing data for a page is being executed.

【図6】実施例においてホストからのデータ書込みのた
めのアクセスに対してアドレス変換およびテーブル検索
を行う構成および機能を示すブロック図である。
FIG. 6 is a block diagram showing a configuration and a function for performing address conversion and table search for an access for writing data from a host in the embodiment.

【図7】実施例においてデータ書き換え時のデータ移動
および新規データ書込み操作を説明するための図であ
る。
FIG. 7 is a diagram for explaining a data movement and a new data writing operation at the time of rewriting data in the embodiment.

【図8】実施例のデータ書き換え処理における書込みサ
イクルと読出しサイクルの実行手順(A)を従来のデー
タ書き換え処理における書込みサイクルと読出しサイク
ルの実行手順(B)と比較して示す図である。
FIG. 8 is a diagram showing the execution procedure (A) of the write cycle and the read cycle in the data rewriting processing of the embodiment in comparison with the execution procedure (B) of the write cycle and the read cycle in the conventional data rewriting processing.

【符号の説明】[Explanation of symbols]

10 コントローラ 12 フラッシュ・ディスク・カード 14 ホストコンピュータ 20 本体インタフェース部 22 リセット処理部 24 アドレス変換部 26 コマンド処理部 28 フラッシュ・テーブル制御部 28A アドレス変換テーブル 28B 空きブロック・テーブル 30 フラッシュ・コマンド発生部 34 フラッシュ・インタフェース部 34A,34B バッファ FM0 〜FMn フラッシュ・メモリ FD0 〜7 内部(共通)バス FCLE コマンド・ラッチ・イネーブル制御線 FALE アドレス・ラッチ・イネーブル制御線 XFWE- ライト・イネーブル制御線 XFCE0-〜XFCEn- チップ・イネーブル制御線 XFRE0-〜XFREn- リード(出力)・イネーブ
ル制御線 XFBSY0-〜XFBSYn- ビジー線
10 controller 12 flash disk card 14 host computer 20 main body interface 22 reset processing unit 24 address conversion unit 26 command processing unit 28 flash table control unit 28A address conversion table 28B empty block table 30 flash command generation unit 34 flash Interface section 34A, 34B Buffer FM0 to FMn Flash memory FD0 to 7 Internal (common) bus FCLE command latch enable control line FALE address latch enable control line XFWE - Write enable control line XFCE0 -to XFCEn - Chip enable control line XFRE0 - ~XFREn - read (output) enable control line XFBSY0 - ~XFBSYn - busy line

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 複数個のフラッシュ・メモリに接続され
たメモリ制御装置が任意の第1の前記フラッシュ・メモ
リに共通のバスを介して第1のデータを書き込むと同時
に任意の第2の前記フラッシュ・メモリより前記バスを
介して第2のデータを読み出すメモリ書込み/読出し方
法であって、 前記メモリ制御装置が前記バスを介して前記第1のフラ
ッシュ・メモリに所定のタイミングで書込み用のコマン
ド、書込みアドレスおよび前記第1のデータを与える第
1のステップと、 前記第1のフラッシュ・メモリが前記書込み用コマンド
に応答して第1の所定時間内に外部からの信号を受け付
けない状態で前記書込みアドレスで指定される記憶領域
に前記第1のデータを書き込む第2のステップと、 前記第1の所定時間内に前記メモリ制御装置が前記バス
を介して前記第2のフラッシュ・メモリに所定のタイミ
ングで読出し用のコマンドおよび読出しアドレスを与え
る第3のステップと、 前記第2のフラッシュ・メモリが前記読出し用のコマン
ドに応答して第2の所定時間内に前記読出しアドレスで
指定される記憶領域より前記第2のデータを読み出して
出力ポートにセットする第4のステップと、 前記第2の所定時間の経過後に前記メモリ制御装置が前
記第2のフラッシュ・メモリの出力ポートにセットされ
ている前記第2のデータを前記バスを介して取り込む第
5のステップとを有することを特徴とするメモリ書込み
/読出し方法。
1. A memory controller connected to a plurality of flash memories simultaneously writes first data to any first flash memory via a common bus and at the same time any second flash. A memory write / read method for reading second data from a memory via the bus, wherein the memory control device writes a command to the first flash memory at a predetermined timing via the bus; A first step of providing a write address and the first data; and the first flash memory in response to the write command, the write in a state in which a signal from the outside is not accepted within a first predetermined time. A second step of writing the first data in a storage area specified by an address; and the memory control device within the first predetermined time. A third step of giving a read command and a read address to the second flash memory at a predetermined timing via the bus; and a second step of the second flash memory responding to the read command. A second step of reading the second data from the storage area designated by the read address within a predetermined time of 2 and setting the second data in the output port; and, after the elapse of the second predetermined time, the memory control device A fifth step of fetching the second data set in the output port of the second flash memory via the bus.
【請求項2】 所定のタイミングで与えられた書込み用
コマンド、書込みアドレスおよび第1のデータに応答し
て第1の所定時間内に外部からの信号を受け付けない状
態で前記書込みアドレスで指定された記憶番地に前記第
1のデータを書き込む書込みモードと、所定のタイミン
グで与えられた読出し用コマンドおよび読出しアドレス
に応答して前記第1の所定時間よりも少なくとも短い第
2の所定時間内に前記アドレスで指定された記憶番地よ
り第2のデータを読み出して出力ポートにセットする読
出しモードとを各々が有する複数個のフラッシュ・メモ
リに共通のバスを介して接続されたメモリ制御装置にお
いて、 第1の前記フラッシュ・メモリに前記バスを介して前記
書込み用コマンド、前記書込みアドレスおよび前記第1
のデータを所定のタイミングで供給して、前記第1の前
記フラッシュ・メモリに前記書込みモードを実行させる
書込み制御手段と、 前記第1のフラッシュ・メモリで前記第1の所定時間中
に第2の前記フラッシュ・メモリに前記バスを介して前
記読出し用コマンドおよび前記読出しアドレスを所定の
タイミングで供給して、前記第2の所定時間の経過後に
前記第2のフラッシュ・メモリの出力ポートから前記第
2のデータを前記バスを介して取り込む読出し制御手段
とを具備することを特徴とするメモリ制御装置。
2. The write address specified in response to a write command, write address and first data given at a predetermined timing in a state where no external signal is received within a first predetermined time. In response to a write mode for writing the first data in a memory address and a read command and a read address given at a predetermined timing, the address is received within a second predetermined time at least shorter than the first predetermined time. In a memory control device connected to a plurality of flash memories each having a read mode for reading second data from a storage address designated by the above and setting it to an output port via a common bus, The write command, the write address, and the first address to the flash memory via the bus.
Write control means for causing the first flash memory to execute the write mode at a predetermined timing, and the second flash memory during the first predetermined time in the first flash memory. The read command and the read address are supplied to the flash memory via the bus at a predetermined timing, and after a lapse of the second predetermined time, the second command is output from the output port of the second flash memory. And a read control means for fetching the data of 1. through the bus.
【請求項3】 前記読出し制御手段は、前記フラッシュ
・メモリの各々を個別的に出力イネーブル状態にするた
めの各フラッシュ・メモリ専用の出力イネーブル制御線
を含むことを特徴とする請求項2に記載のメモリ制御装
置。
3. The read control means includes an output enable control line dedicated to each flash memory for individually setting an output enable state of each of the flash memories. Memory controller.
【請求項4】 前記書込み制御手段および前記読出し制
御手段は、前記フラッシュ・メモリの各々がビジー状態
であるか否かを個別的に認識可能とするための各フラッ
シュ・メモリ専用のビジー線を含むことを特徴とする請
求項2に記載のメモリ制御装置。
4. The write control means and the read control means include a busy line dedicated to each flash memory for individually recognizing whether or not each of the flash memories is in a busy state. The memory control device according to claim 2, wherein:
JP3705496A 1996-01-25 1996-02-01 Data rewriting method and memory control device in flash memory system Expired - Fee Related JP3321587B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP3705496A JP3321587B2 (en) 1996-02-01 1996-02-01 Data rewriting method and memory control device in flash memory system
KR1019970002071A KR100359414B1 (en) 1996-01-25 1997-01-24 Data reading method and memory controlling apparatus
TW086100801A TW327227B (en) 1996-02-01 1997-01-24 Data reading method and memory control device
US08/789,544 US6131139A (en) 1996-01-25 1997-01-27 Apparatus and method of simultaneously reading and writing data in a semiconductor device having a plurality of flash memories

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3705496A JP3321587B2 (en) 1996-02-01 1996-02-01 Data rewriting method and memory control device in flash memory system

Publications (2)

Publication Number Publication Date
JPH09213064A true JPH09213064A (en) 1997-08-15
JP3321587B2 JP3321587B2 (en) 2002-09-03

Family

ID=12486867

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3705496A Expired - Fee Related JP3321587B2 (en) 1996-01-25 1996-02-01 Data rewriting method and memory control device in flash memory system

Country Status (2)

Country Link
JP (1) JP3321587B2 (en)
TW (1) TW327227B (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005516264A (en) * 1999-06-11 2005-06-02 レクサー・メディア・インコーポレイテッド Method and apparatus for reducing block write operation time performed on non-volatile memory
JP3680142B2 (en) * 1997-12-05 2005-08-10 東京エレクトロンデバイス株式会社 Storage device and access method
JP2006215595A (en) * 2005-02-01 2006-08-17 Hitachi Ulsi Systems Co Ltd Storage
JP2008251056A (en) * 1998-04-27 2008-10-16 Oki Electric Ind Co Ltd Semiconductor storage device and rewriting control method of semiconductor storage device
US7555629B2 (en) 2005-05-24 2009-06-30 Samsung Electronics Co., Ltd. Memory card providing hardware acceleration for read operations
JP2012198962A (en) * 2011-03-22 2012-10-18 Fujitsu Semiconductor Ltd Semiconductor memory and system
CN108597470A (en) * 2018-05-08 2018-09-28 深圳市华星光电技术有限公司 Display device drive system and method and display device

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3680142B2 (en) * 1997-12-05 2005-08-10 東京エレクトロンデバイス株式会社 Storage device and access method
JP2008251056A (en) * 1998-04-27 2008-10-16 Oki Electric Ind Co Ltd Semiconductor storage device and rewriting control method of semiconductor storage device
JP2005516264A (en) * 1999-06-11 2005-06-02 レクサー・メディア・インコーポレイテッド Method and apparatus for reducing block write operation time performed on non-volatile memory
JP2006215595A (en) * 2005-02-01 2006-08-17 Hitachi Ulsi Systems Co Ltd Storage
US7555629B2 (en) 2005-05-24 2009-06-30 Samsung Electronics Co., Ltd. Memory card providing hardware acceleration for read operations
JP2012198962A (en) * 2011-03-22 2012-10-18 Fujitsu Semiconductor Ltd Semiconductor memory and system
CN108597470A (en) * 2018-05-08 2018-09-28 深圳市华星光电技术有限公司 Display device drive system and method and display device

Also Published As

Publication number Publication date
TW327227B (en) 1998-02-21
JP3321587B2 (en) 2002-09-03

Similar Documents

Publication Publication Date Title
KR100359414B1 (en) Data reading method and memory controlling apparatus
US5987573A (en) Memory apparatus and memory control method
US7114117B2 (en) Memory card and memory controller
US6266273B1 (en) Method and structure for reliable data copy operation for non-volatile memories
EP0764330B1 (en) Eeprom array with flash-like core
EP1242868B1 (en) Organization of blocks within a nonvolatile memory unit to effectively decrease sector write operation time
JP3822081B2 (en) Data writing apparatus, data writing control method, and program
US7761653B2 (en) Flash micro-controller with shadow boot-loader SRAM for dual-device booting of micro-controller and host
US8300465B2 (en) Semiconductor and flash memory systems
US5953737A (en) Method and apparatus for performing erase operations transparent to a solid state storage system
US8144515B2 (en) Interleaved flash storage system and method
JP3574078B2 (en) Storage device and storage device control method
US20100161886A1 (en) Architecture for Address Mapping of Managed Non-Volatile Memory
US20040059906A1 (en) System and method for booting by use of a flash memory
JP3310011B2 (en) Semiconductor memory and semiconductor memory board using the same
US8489843B2 (en) Configurable memory device
US7136986B2 (en) Apparatus and method for controlling flash memories
US11133068B2 (en) Memory device, memory controller, memory system and method for operating memory system
JP3589033B2 (en) Flash memory system
JP2009003569A (en) Semiconductor memory
JP3321587B2 (en) Data rewriting method and memory control device in flash memory system
JP3289101B2 (en) Method and apparatus for initializing flash disk system
JP2009003995A (en) Semiconductor memory device
JP2009003994A (en) Semiconductor memory device
JP3865530B2 (en) Nonvolatile semiconductor memory and semiconductor memory device

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080628

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090628

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090628

Year of fee payment: 7

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090628

Year of fee payment: 7

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees