JP4273038B2 - Memory controller, flash memory system, and flash memory data transfer method - Google Patents

Memory controller, flash memory system, and flash memory data transfer method Download PDF

Info

Publication number
JP4273038B2
JP4273038B2 JP2004150628A JP2004150628A JP4273038B2 JP 4273038 B2 JP4273038 B2 JP 4273038B2 JP 2004150628 A JP2004150628 A JP 2004150628A JP 2004150628 A JP2004150628 A JP 2004150628A JP 4273038 B2 JP4273038 B2 JP 4273038B2
Authority
JP
Japan
Prior art keywords
data
data transfer
flash memory
signal
processing request
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.)
Expired - Lifetime
Application number
JP2004150628A
Other languages
Japanese (ja)
Other versions
JP2005332249A (en
Inventor
琢真 光永
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.)
TDK Corp
Original Assignee
TDK Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by TDK Corp filed Critical TDK Corp
Priority to JP2004150628A priority Critical patent/JP4273038B2/en
Publication of JP2005332249A publication Critical patent/JP2005332249A/en
Application granted granted Critical
Publication of JP4273038B2 publication Critical patent/JP4273038B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

本発明は、メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリのデータ転送方法に関する。   The present invention relates to a memory controller, a flash memory system, and a flash memory data transfer method.

半導体メモリは、メモリカードやシリコンディスクといったメモリシステムに用いられる。また、近年、この半導体メモリには、フラッシュメモリが広く採用されている。フラッシュメモリは、不揮発性メモリの一種であり、電力が供給されていないときでも、データを保持することが要求される。   A semiconductor memory is used in a memory system such as a memory card or a silicon disk. In recent years, flash memories have been widely used as the semiconductor memory. A flash memory is a kind of nonvolatile memory, and is required to retain data even when power is not supplied.

特に、NAND型フラッシュメモリは、上記メモリシステムに多く用いられる。NAND型フラッシュメモリでは、複数のメモリセルを含んでおり、論理値”1”を示すデータが格納されているとき、各メモリセルは消去状態である。また、論理値”0”を示すデータが格納されているとき、各メモリセルは書き込み状態である。   In particular, NAND flash memories are often used in the memory system. The NAND flash memory includes a plurality of memory cells, and each memory cell is in an erased state when data indicating a logical value “1” is stored. Further, when data indicating a logical value “0” is stored, each memory cell is in a write state.

NAND型フラッシュメモリに含まれている複数のメモリセルは、それぞれ、他のメモリセルとは独立して、消去状態から書き込み状態へと変化させることができる。   Each of the plurality of memory cells included in the NAND flash memory can be changed from the erased state to the written state independently of the other memory cells.

これとは対照的に、各メモリセルは、他のメモリセルと独立して書き込み状態から消去状態へと変化させることができない。
このときには、ブロックと称される予め定められた数のメモリセルが、全て同時に消去状態になる。この一括消去動作は、一般に、「ブロック消去」と称されている。
In contrast, each memory cell cannot change from a written state to an erased state independently of the other memory cells.
At this time, all of a predetermined number of memory cells called blocks are simultaneously erased. This collective erasure operation is generally called “block erase”.

NAND型フラッシュメモリに対する書き込み処理若しくは読み出し処理は、ページと称される予め定められた数のメモリ単位で行われる。消去処理の単位であるブロックは複数のページで構成される。   The writing process or the reading process for the NAND flash memory is performed in a predetermined number of memory units called pages. A block which is a unit of erasure processing is composed of a plurality of pages.

また、フラッシュメモリに書き込まれるデータは、一旦、フラッシュメモリ内のレジスタに保持された後、レジスタからメモリセルアレイを構成する各メモリセルに複写される。この複写を行っている間、フラッシュメモリは、ビジー状態となり、他の処理を受け付けない。このため、このビジー状態が解除されるまで、フラッシュメモリにアクセスすることができない。   Data written to the flash memory is once held in a register in the flash memory, and then copied from the register to each memory cell constituting the memory cell array. During this copying, the flash memory is busy and does not accept other processing. For this reason, the flash memory cannot be accessed until the busy state is released.

レジスタからメモリセルへの複写又はメモリセルからレジスタへの複写を実行するには、メモリセルに高電圧を印加して電子を注入しなければならない。このため、複写の実行によるビジー状態の期間は長くなり、書き込み処理の処理効率が低下する。   In order to perform copying from a register to a memory cell or from a memory cell to a register, a high voltage must be applied to the memory cell to inject electrons. For this reason, the busy state period due to the execution of copying becomes longer, and the processing efficiency of the writing process decreases.

このような問題を解決するため、複数チップのフラッシュメモリを備え、ビジー状態が解除されていることが検出されたフラッシュメモリから順に処理を行うようにしたものがある(例えば、特許文献1参照)。
特開平10−63442号公報
In order to solve such a problem, there is one in which a plurality of flash memories are provided and processing is performed in order from the flash memory in which the busy state is detected to be released (for example, see Patent Document 1). .
Japanese Patent Laid-Open No. 10-63442

しかし、従来のメモリでは、ビジー状態が解除されたフラッシュメモリに対して順次、書き込み処理や読み出し処理が開始されるので、処理時間は短縮されるものの、フラッシュメモリで処理が実行されるときに発生するビジー期間にばらつきが生じる。このばらつきにより、各フラッシュメモリにおける処理の進行状況に偏りが生じる。この状態を放置して書き込み処理を行った場合、進行の早いフラッシュメモリに対して優先的に書き込み処理が行われ、各フラッシュメモリに書き込まれるデータの順序に乱れが生じる。   However, in the conventional memory, write processing and read processing are sequentially started with respect to the flash memory whose busy state has been released, so the processing time is shortened, but occurs when processing is executed in the flash memory. Variation occurs in the busy period. Due to this variation, the progress of processing in each flash memory is biased. If the writing process is performed while this state is left as it is, the writing process is preferentially performed on the flash memory that progresses quickly, and the order of data written to each flash memory is disturbed.

本発明は、このような従来の問題点に鑑みてなされたもので、フラッシュメモリにおける処理順序に偏りが生じるのを回避することが可能なメモリコントローラ、フラッシュメモリシステム及びフラッシュメモリのデータ転送方法を提供することを目的とする。   The present invention has been made in view of such conventional problems, and provides a memory controller, a flash memory system, and a flash memory data transfer method capable of avoiding a bias in processing order in the flash memory. The purpose is to provide.

この目的を達成するため、本発明の第1の観点に係るメモリコントローラは、
データを記憶する複数のフラッシュメモリとの間でデータ転送を行うメモリコントローラにおいて、
前記複数のフラッシュメモリとの間でデータ転送を行うためのデータを記憶するデータ記憶部と、
前記データ記憶部と前記各フラッシュメモリとの間に、前記各フラッシュメモリに対応して備えられ、データ転送を要求する処理要求信号を送信し、データ転送を許可する許可信号を受信して、対応するフラッシュメモリと前記データ記憶部との間でデータ転送を行う複数のデータ転送部と、
前記複数のデータ転送部から送信された複数の処理要求信号を受信して、前記各データ転送部によるデータ転送が順番に行われるように送信タイミングを設定した許可信号を、前記各データ転送部に送信する転送制御部と、を備えたことを特徴とする。
In order to achieve this object, a memory controller according to the first aspect of the present invention provides:
In a memory controller that transfers data to and from multiple flash memories that store data,
A data storage unit for storing data for performing data transfer with the plurality of flash memories;
Between the data storage unit and each flash memory, provided corresponding to each flash memory, transmitting a processing request signal requesting data transfer, receiving a permission signal permitting data transfer, and corresponding A plurality of data transfer units that perform data transfer between the flash memory and the data storage unit;
A plurality of processing request signals transmitted from the plurality of data transfer units are received, and a permission signal in which a transmission timing is set so that data transfer by each data transfer unit is performed in order is sent to each data transfer unit. And a transfer control unit for transmission.

前記各フラッシュメモリは、ページ単位でデータの入出力が行われるものであって、
前記データ記憶部は、前記転送対象のデータを保持するものとして、前記各フラッシュメモリの各ページに対応する量のデータ保持が可能な複数のデータ保持部が備えられたものであり、
前記各データ保持部は、データが供給されたものから順に、データが排出されるように構成されたものであってもよい。
Each flash memory performs data input / output in units of pages,
The data storage unit is provided with a plurality of data holding units capable of holding an amount of data corresponding to each page of each flash memory as holding the data to be transferred,
Each of the data holding units may be configured such that data is discharged in order from the data supplied.

前記転送制御部は、前記データ記憶部と前記各フラッシュメモリとの間で行われるデータ転送の順序を判別し、前記順序が後と判別したデータ転送部からの処理要求信号を、前記順序が先と判別したデータ転送部からの処理要求信号よりも先に受信したときは、前記順序が先と判別したデータ転送部に許可信号を送信して前記対応するフラッシュメモリとの間でデータ転送が行われてから、前記順序が後と判別したデータ転送部に許可信号を送信するように、前記各データ転送部への許可信号の送信タイミングを設定するようにしてもよい。   The transfer control unit determines the order of data transfer performed between the data storage unit and each of the flash memories, and the processing request signal from the data transfer unit that is determined to be later is the processing request signal from the first Is received prior to the processing request signal from the data transfer unit determined to be transmitted, the permission signal is transmitted to the data transfer unit determined to be the first in order and data transfer is performed between the corresponding flash memory. After that, the transmission timing of the permission signal to each data transfer unit may be set so that the permission signal is transmitted to the data transfer unit determined to be later in the order.

前記転送制御部は、前記フラッシュメモリとの間でデータ転送を行ったデータ転送部が次にデータ転送を行うべき順序を最後尾としてもよい。   The transfer control unit may set the order in which the data transfer unit that has performed data transfer with the flash memory is to perform data transfer next is the last.

本発明の第2の観点に係るフラッシュメモリシステムは、
データを記憶する複数のフラッシュメモリと、
請求項1乃至4のいずれか1項に記載のメモリコントローラと、を備えたことを特徴とする。
A flash memory system according to a second aspect of the present invention includes:
A plurality of flash memories for storing data;
And a memory controller according to any one of claims 1 to 4.

本発明の第3の観点に係るフラッシュメモリのデータ転送方法は、
データを記憶する複数のフラッシュメモリとの間でデータ転送を行うために、前記各フラッシュメモリに対応して備えられた複数のデータ転送部から、データ転送を要求する処理要求信号を受信するステップと、
前記各フラッシュメモリとのデータ転送が順番に行われるように、前記データ転送を許可するための許可信号を送信する送信タイミングを設定するステップと、
前記送信タイミングに従って、各データ転送部に前記許可信号を送信するステップと、を備えたことを特徴とする。
A data transfer method for a flash memory according to a third aspect of the present invention is:
Receiving a processing request signal for requesting data transfer from a plurality of data transfer units provided corresponding to each of the flash memories in order to perform data transfer with a plurality of flash memories storing data; ,
Setting a transmission timing for transmitting a permission signal for permitting the data transfer so that data transfer with each of the flash memories is performed in order;
Transmitting the permission signal to each data transfer unit according to the transmission timing.

本発明によれば、フラッシュメモリにおける処理順序に偏りが生じるのを回避することができる。   According to the present invention, it is possible to avoid a deviation in processing order in the flash memory.

以下、本発明の実施の形態に係るメモリ装置を図面を参照して説明する。
本実施形態に係るフラッシュメモリシステムの構成を図1に示す。
本実施形態に係るフラッシュメモリシステム1は、通常、ホストシステム2に着脱可能に装着されて使用され、ホストシステム2に対して一種の外部記憶装置として用いられるものである。
Hereinafter, a memory device according to an embodiment of the present invention will be described with reference to the drawings.
The configuration of the flash memory system according to the present embodiment is shown in FIG.
The flash memory system 1 according to the present embodiment is normally used by being detachably attached to the host system 2 and used as a kind of external storage device for the host system 2.

ホストシステム2は、コンピュータ、デジタルスチルカメラのように、文字、音声、あるいは画像情報等の種々の情報を処理するものである。ホストシステム2は、フラッシュメモリシステム1に論理アドレスを与えてフラッシュメモリ10にアクセスする。   The host system 2 processes various information such as characters, sounds, or image information, like a computer or a digital still camera. The host system 2 gives a logical address to the flash memory system 1 to access the flash memory 10.

フラッシュメモリシステム1は、フラッシュメモリ10と、コントローラ20と、を備える。フラッシュメモリ10は、ハードディスクの代わりになるストレージデバイスへの用途として開発されたものであり、NAND型フラッシュメモリからなる複数のチップを備える。   The flash memory system 1 includes a flash memory 10 and a controller 20. The flash memory 10 has been developed as a use for a storage device that replaces a hard disk, and includes a plurality of chips made of NAND flash memory.

このNAND型フラッシュメモリは、不揮発性メモリであり、一般的には、レジスタとメモリセルアレイとによって構成され、レジスタとメモリセルとの間でデータの複写を行って、データの書き込み又は読み出しを行う。   The NAND flash memory is a nonvolatile memory, and generally includes a register and a memory cell array. Data is copied between the register and the memory cell to write or read data.

メモリセルアレイは、複数のメモリセル群と、ワード線と、を備える。各メモリセル群は、複数のメモリセルが直列に接続されたものである。ワード線は、メモリセル群の特定のメモリセルを選択するためのものである。このワード線を介して選択されたメモリセルとレジスタとの間で、データの複写、即ち、レジスタから選択されたメモリセルへの複写又は選択されたメモリセルからレジスタへのデータの複写が行われる。   The memory cell array includes a plurality of memory cell groups and word lines. Each memory cell group includes a plurality of memory cells connected in series. The word line is for selecting a specific memory cell in the memory cell group. Data is copied between the selected memory cell and the register via the word line, that is, data is copied from the register to the selected memory cell, or data is copied from the selected memory cell to the register. .

メモリセルアレイを構成するメモリセルは、2つのゲートを備えたMOSトランジスタによって構成される。ここで、上側のゲート、下側のゲートは、それぞれ、コントロールゲート、フローティングゲートと呼ばれており、フローティングゲートに電荷(電子)を注入若しくはフローティングゲートから電荷(電子)を排出することによって、データの書き込み若しくはデータの消去が行われる。   A memory cell constituting the memory cell array is constituted by a MOS transistor having two gates. Here, the upper gate and the lower gate are referred to as a control gate and a floating gate, respectively. By injecting charges (electrons) into the floating gate or discharging charges (electrons) from the floating gate, data can be obtained. Is written or data is erased.

このフローティングゲートは、周囲を絶縁体で囲まれているので、注入された電子は長期間にわたって保持される。尚、フローティングゲートに電子を注入するときは、コントロールゲートが高電位側となる高電圧を印加して電子が注入される。また、フローティングゲートから電子を排出するときは、コントロールゲートが低電位側となる高電圧を印加して電子が排出される。   Since the floating gate is surrounded by an insulator, the injected electrons are held for a long period of time. When electrons are injected into the floating gate, electrons are injected by applying a high voltage at which the control gate is on the high potential side. Further, when electrons are discharged from the floating gate, electrons are discharged by applying a high voltage at which the control gate is on the low potential side.

ここで、フローティングゲートに電子が注入されている状態が書き込み状態であり、論理値「0」に対応する。また、フローティングゲートから電子が排出されている状態が消去状態であり、論理値「1」に対応する。   Here, a state where electrons are injected into the floating gate is a write state, which corresponds to a logical value “0”. The state in which electrons are discharged from the floating gate is an erased state, which corresponds to a logical value “1”.

一般的なNAND型フラッシュメモリのメモリセルアレイは、例えば、図2(a)に示すように、1ブロックが32ページ(P0〜P31)で構成されている。各ページは、512バイトのユーザ領域と16バイトの冗長領域とで構成される。   In a memory cell array of a general NAND flash memory, for example, as shown in FIG. 2A, one block is composed of 32 pages (P0 to P31). Each page includes a 512-byte user area and a 16-byte redundant area.

但し、NAND型フラッシュメモリの構成は仕様によって異なる。記憶容量が大きい場合、NAND型フラッシュメモリは、例えば、図2(b)に示すように、1ブロックが64ページ(P0〜P63)、各ページが2048バイトのユーザ領域と64バイトの冗長領域とで構成される。   However, the configuration of the NAND flash memory differs depending on the specifications. When the storage capacity is large, for example, as shown in FIG. 2B, the NAND flash memory has 64 pages (P0 to P63) for one block, a user area of 2048 bytes for each page, and a redundant area of 64 bytes. Consists of.

ユーザ領域は、主に、ホストシステム2から供給されるデータを記憶するための領域であり、冗長領域は、エラーコレクションコード、対応論理ブロックアドレス、ブロックステータス(フラグ)等の付加データを記録するための領域である。   The user area is mainly an area for storing data supplied from the host system 2, and the redundant area is for recording additional data such as an error collection code, a corresponding logical block address, and a block status (flag). It is an area.

エラーコレクションコードは、ユーザ領域に記憶されているデータに含まれる誤りを検出し、訂正するためのデータである。   The error collection code is data for detecting and correcting an error included in the data stored in the user area.

対応論理ブロックアドレスは、データが格納されているブロックに対応するアドレスを示すデータである。   The corresponding logical block address is data indicating an address corresponding to a block in which data is stored.

ブロックステータスは、ブロックの良否を示すフラグである。正常にデータの書き込み等を行うことができないブロックは、不良ブロックと判別され、冗長領域には、不良ブロックであることを示すフラグが書き込まれる。   The block status is a flag indicating whether the block is good or bad. A block in which data cannot be normally written is determined as a defective block, and a flag indicating a defective block is written in the redundant area.

このように構成されたNAND型フラッシュメモリでは、ランダムアクセスを行うことができず、データの書き込みと読み出しとは、レジスタを介してページ単位で行われ、消去はブロック単位で行われる。また、NAND型フラッシュメモリでは、データの上書をすることができないので、データは、データが消去されている領域に書き込まれる。   In the NAND flash memory configured as described above, random access cannot be performed, data writing and reading are performed in units of pages via a register, and erasing is performed in units of blocks. In addition, since data cannot be overwritten in the NAND flash memory, the data is written in an area where the data has been erased.

NAND型フラッシュメモリは、このような特徴を有するため、データの書き換えを行う場合、通常、データが消去されているブロックに新たなデータが書き込まれ、書き換え前の古いデータが書き込まれているブロックのデータがブロック単位で消去される。このようなデータの書き換えを行った場合、書き換え後のデータは、書き換え前とは異なるブロックに書き込まれる。   Since the NAND flash memory has such a feature, when data is rewritten, normally, new data is written in a block from which data has been erased, and old data before rewriting is written in the block. Data is erased in blocks. When such data rewriting is performed, the rewritten data is written in a different block from that before rewriting.

このため、ホストシステム2がフラッシュメモリシステム1に与える論理アドレスと、フラッシュメモリ10内でのブロックアドレスである物理ブロックアドレスとの対応関係は、データを書き換える毎に動的に変化する。   For this reason, the correspondence between the logical address that the host system 2 gives to the flash memory system 1 and the physical block address that is the block address in the flash memory 10 dynamically changes every time data is rewritten.

従って、論理ブロックアドレスと物理ブロックアドレスとの対応関係を管理する必要があり、通常、この対応関係は、アドレス変換テーブルによって管理される。このアドレス変換テーブルは、各ページの冗長領域に記憶されている対応論理ブロックアドレスに基づいて作成される。   Therefore, it is necessary to manage the correspondence between the logical block address and the physical block address, and this correspondence is usually managed by the address conversion table. This address conversion table is created based on the corresponding logical block address stored in the redundant area of each page.

尚、ブロックにデータが格納されていない場合、フラッシュメモリ10の冗長領域には、このブロックに対応する対応論理ブロックアドレスは格納されない。このため、この対応論理ブロックアドレスが格納されているか否かで、そのブロックが消去済みブロックであるか否かを判断することができる。   When no data is stored in the block, the corresponding logical block address corresponding to this block is not stored in the redundant area of the flash memory 10. Therefore, whether or not the corresponding logical block address is stored can determine whether or not the block is an erased block.

ブロックステータスは、ブロックの良否を示すフラグである。正常にデータの書き込み等を行うことができないブロックは、不良ブロックと判別され、冗長領域には、不良ブロックであることを示すフラグが書き込まれる。   The block status is a flag indicating whether the block is good or bad. A block in which data cannot be normally written is determined as a defective block, and a flag indicating a defective block is written in the redundant area.

図1に戻り、コントローラ20は、ホストインターフェース21と、マイクロプロセッサ22と、ワークエリア23と、バッファ24と、ECCブロック25と、フラッシュメモリインターフェース26と、を備える。   Returning to FIG. 1, the controller 20 includes a host interface 21, a microprocessor 22, a work area 23, a buffer 24, an ECC block 25, and a flash memory interface 26.

ホストインターフェース21は、ホストシステム2との間でデータ、アドレス情報、ステータス情報及び外部コマンド情報等の授受を行うための機能ブロックであり、動作設定レジスタ、タスクファイルレジスタ、エラーレジスタ等を備える(いずれも図示せず)。   The host interface 21 is a functional block for exchanging data, address information, status information, external command information, and the like with the host system 2, and includes an operation setting register, a task file register, an error register, etc. (Not shown).

このうち、タスクファイルレジスタは、ホストシステム2より供給されるホストアドレス及び外部コマンドを一時的に格納するためのレジスタである。エラーレジスタは、エラーが発生した場合にデータがセットされるレジスタである。   Among these, the task file register is a register for temporarily storing a host address and an external command supplied from the host system 2. The error register is a register in which data is set when an error occurs.

ホストシステム2に装着されたフラッシュメモリシステム1は、外部バス31を介してホストシステム2に接続される。ホストインターフェース21は、ホストシステム2からデータ等が供給されると、フラッシュメモリシステム1の入口として、供給されたデータ等をコントローラ20の内部に取り込む。   The flash memory system 1 mounted on the host system 2 is connected to the host system 2 via the external bus 31. When data or the like is supplied from the host system 2, the host interface 21 takes in the supplied data or the like as an entrance of the flash memory system 1 into the controller 20.

また、フラッシュメモリシステム1がホストシステム2にデータ等を供給する場合、ホストインターフェース21は、データ等をホストシステム2に供給するフラッシュメモリシステム1の出口として機能する。   When the flash memory system 1 supplies data or the like to the host system 2, the host interface 21 functions as an outlet of the flash memory system 1 that supplies data or the like to the host system 2.

マイクロプロセッサ22は、コントローラ20を構成する各機能ブロック全体の動作を制御するための機能ブロックである。   The microprocessor 22 is a functional block for controlling the operation of the entire functional blocks constituting the controller 20.

ワークエリア23は、フラッシュメモリ10の制御に必要なデータを一時的に格納する作業領域であり、複数のSRAM(Static Random Access Memory)セルによって構成される。ワークエリア23は、必要なデータとして、論理ブロックアドレスと物理ブロックアドレスとの対応関係を管理する前述のアドレス変換テーブルも格納する。   The work area 23 is a work area for temporarily storing data necessary for controlling the flash memory 10, and includes a plurality of SRAM (Static Random Access Memory) cells. The work area 23 also stores the aforementioned address conversion table for managing the correspondence between logical block addresses and physical block addresses as necessary data.

ECCブロック25は、フラッシュメモリ10に書き込むデータに付加されるエラーコレクションデータを生成するとともに、読み出したデータに付加されたエラーコレクションコードに基づいて、読み出したデータの誤り検出を行い、検出した誤りを訂正すための機能ブロックである。   The ECC block 25 generates error correction data to be added to the data to be written to the flash memory 10, and performs error detection of the read data based on the error correction code added to the read data, and detects the detected error. This is a functional block for correction.

バッファ24は、フラッシュメモリ10から読み出されたデータをホストシステム2の受け取り準備ができるまで保持し、また、フラッシュメモリ10に書き込むデータを、フラッシュメモリ10への書き込み準備ができるまで一時的に保持するための機能ブロックである。   The buffer 24 holds data read from the flash memory 10 until the host system 2 is ready to receive data, and temporarily holds data to be written to the flash memory 10 until it is ready to write to the flash memory 10. It is a functional block for

バッファ24は、転送対象のデータを保持するものとして、複数のデータ保持部を備える。各データ保持部は、フラッシュメモリ10の各チップの1ページ当たりのデータを保持するだけの領域が割り当てられる。   The buffer 24 includes a plurality of data holding units that hold data to be transferred. Each data holding unit is assigned an area for holding data per page of each chip of the flash memory 10.

例えば、フラッシュメモリ10の各チップの1ページが512バイトのデータによって構成されたものである場合、マイクロプロセッサ22は、各データ保持部に、この512バイトのデータを保持することが可能な領域を割り当てる。   For example, when one page of each chip of the flash memory 10 is composed of 512-byte data, the microprocessor 22 sets an area in which each 512-byte data can be held in each data holding unit. assign.

また、1ページが2048バイトのデータによって構成されたものである場合、マイクロプロセッサ22は、各データ保持部に、2048バイトのデータを保持することが可能な領域を割り当てる。データ量が1ページ分を越える場合、マイクロプロセッサ22は、バッファ24に、各ページに対応する複数のデータ保持部を設定する。   When one page is composed of 2048 bytes of data, the microprocessor 22 allocates an area capable of holding 2048 bytes of data to each data holding unit. When the amount of data exceeds one page, the microprocessor 22 sets a plurality of data holding units corresponding to each page in the buffer 24.

各データ保持部は、ページ単位でデータが供給され、データが供給されたデータ保持部から順に、データを排出するように構成されている。マイクロプロセッサ22は、このようなデータ保持部に関する制御を行う。   Each data holding unit is configured so that data is supplied in units of pages, and data is discharged in order from the data holding unit to which the data is supplied. The microprocessor 22 performs control related to such a data holding unit.

フラッシュメモリインターフェース26は、内部バス32を介して、フラッシュメモリ10との間でデータ、アドレス情報、ステータス情報、内部コマンド情報及びデバイスID情報等の授受を行うために備えられた機能ブロックである。フラッシュメモリインターフェース26は、内部コマンドを実行する際に必要な情報を設定するための複数のレジスタを備える(図示せず)。   The flash memory interface 26 is a functional block provided to exchange data, address information, status information, internal command information, device ID information, and the like with the flash memory 10 via the internal bus 32. The flash memory interface 26 includes a plurality of registers (not shown) for setting information necessary for executing an internal command.

ここで、内部コマンドとは、コントローラ20がフラッシュメモリ10に処理の実行を指示するためのコマンドであり、フラッシュメモリ10は、コントローラ20からの内部コマンドに従って動作する。これに対して、外部コマンドとは、ホストシステム2がフラッシュメモリシステム1に対して処理の実行を指示するためのコマンドである。   Here, the internal command is a command for the controller 20 to instruct the flash memory 10 to execute processing, and the flash memory 10 operates according to the internal command from the controller 20. In contrast, the external command is a command for the host system 2 to instruct the flash memory system 1 to execute processing.

フラッシュメモリインターフェース26は、図3に示すように、インターフェース26−0,26−1と、監視制御部27と、を備える。インターフェース26−0,26−1は、フラッシュメモリ10との間で独立してデータ等の転送を行う複数系統のインターフェースとして備えられたものである。   As shown in FIG. 3, the flash memory interface 26 includes interfaces 26-0 and 26-1 and a monitoring control unit 27. The interfaces 26-0 and 26-1 are provided as a plurality of interfaces that transfer data and the like independently with the flash memory 10.

インターフェース26−0は、フラッシュメモリ10のチップ10−0に対応して備えられ、NAND型フラッシュメモリに対応するチップ10−0との間でデータ転送を行うCH(チャンネル)0のインターフェースである。   The interface 26-0 is an interface of CH (channel) 0 that is provided corresponding to the chip 10-0 of the flash memory 10 and performs data transfer with the chip 10-0 corresponding to the NAND flash memory.

インターフェース26−0は、チップ10−0との間でデータ転送を行う場合、図4に示すように、監視制御部27に、データ転送を要求する処理要求信号REQ0を送信する。そして、インターフェース26−0は、処理要求信号REQ0に応答して監視制御部27から送信された許可信号ACK0’を受信して、チップ10−0に対して書き込み処理又は読み出し処理を行うためのデータを転送する。   When performing data transfer with the chip 10-0, the interface 26-0 transmits a processing request signal REQ0 for requesting data transfer to the monitoring control unit 27 as shown in FIG. The interface 26-0 receives the permission signal ACK0 ′ transmitted from the monitoring control unit 27 in response to the processing request signal REQ0, and performs data writing or reading processing on the chip 10-0. Forward.

インターフェース26−1は、フラッシュメモリ10のチップ10−1に対応して備えられ、NAND型フラッシュメモリに対応するチップ10−1との間でデータ転送を行うCH1のインターフェースである。   The interface 26-1 is a CH1 interface that is provided corresponding to the chip 10-1 of the flash memory 10 and performs data transfer with the chip 10-1 corresponding to the NAND flash memory.

インターフェース26−1は、チップ10−1との間でデータ転送を行う場合、図4に示すように、監視制御部27に、データ転送を要求する処理要求信号REQ1を送信する。そして、インターフェース26−1は、処理要求信号REQ1に応答して監視制御部27から送信された許可信号ACK1’を受信して、チップ10−1に対して書き込み処理又は読み出し処理を行うためのデータを転送する。   When performing data transfer with the chip 10-1, the interface 26-1 transmits a processing request signal REQ1 for requesting data transfer to the monitoring control unit 27 as shown in FIG. The interface 26-1 receives the permission signal ACK1 ′ transmitted from the monitoring control unit 27 in response to the processing request signal REQ1, and receives data for performing a writing process or a reading process on the chip 10-1. Forward.

監視制御部27は、インターフェース26−0,26−1から送信された2つの処理要求信号REQ0,REQ1を受信して、インターフェース26−0,26−1によるデータ転送が順番に行われるように送信タイミングを設定した許可信号ACK0’,ACK1’を、それぞれ、インターフェース26−0,26−1に送信するものである。   The monitoring control unit 27 receives the two processing request signals REQ0 and REQ1 transmitted from the interfaces 26-0 and 26-1, and transmits the data so that the data transfer is sequentially performed by the interfaces 26-0 and 26-1. The permission signals ACK0 ′ and ACK1 ′ for which the timing is set are transmitted to the interfaces 26-0 and 26-1, respectively.

監視制御部27は、インターフェース26−0,26−1から、それぞれ、処理要求信号REQ0,REQ1を受信すると、インターフェース26−0,26−1のうち、いずれが先に、それぞれ、チップ10−0,10−1との間でデータ転送を行うべきか、その順序を判別する。   When the monitoring control unit 27 receives the processing request signals REQ0 and REQ1 from the interfaces 26-0 and 26-1, respectively, whichever of the interfaces 26-0 and 26-1 is first, the chip 10-0. , 10-1 to determine whether or not to transfer data.

監視制御部27は、例えば、インターフェース26−0によるデータ転送の方が先であると判別した場合に、インターフェース26−1から処理要求信号REQ1を受信したときは、インターフェース26−0から処理要求信号REQ0を受信するまで待機する。監視制御部27は、処理要求信号REQ0を受信すると、処理要求信号REQ0に対応した処理要求信号REQ0’をバッファ24に送信する。   For example, when the monitoring control unit 27 determines that the data transfer by the interface 26-0 is first, and receives the processing request signal REQ1 from the interface 26-1, the monitoring control unit 27 receives the processing request signal from the interface 26-0. Wait until REQ0 is received. When the monitoring control unit 27 receives the processing request signal REQ0, the monitoring control unit 27 transmits a processing request signal REQ0 'corresponding to the processing request signal REQ0 to the buffer 24.

バッファ24は、処理要求信号REQ0’に応答して許可信号ACK0を監視制御部27に送信する。監視制御部27は、バッファ24から許可信号ACK0を受信してインターフェース26−0に許可信号ACK0’を送信する。監視制御部27は、インターフェース26−0に許可信号ACK0’を送信すると、インターフェース26−0が次にデータ転送を行う順序をインターフェース26−1よりも後として記憶する。   The buffer 24 transmits an enabling signal ACK0 to the monitoring control unit 27 in response to the processing request signal REQ0 '. The monitoring control unit 27 receives the permission signal ACK0 from the buffer 24 and transmits the permission signal ACK0 'to the interface 26-0. When the monitoring control unit 27 transmits the permission signal ACK0 'to the interface 26-0, the monitoring control unit 27 stores the order in which the interface 26-0 performs the next data transfer after the interface 26-1.

そして、監視制御部27は、次にデータ転送を行う順序がインターフェース26−1になった後、つまり、インターフェース26−0に許可信号ACK0’を送信した後、処理要求信号REQ1に対応した処理要求信号REQ1’をバッファ24に送信する。
バッファ24は、処理要求信号REQ1’に応答して許可信号ACK1を監視制御部27に送信する。監視制御部27は、バッファ24から許可信号ACK1を受信してインターフェース26−1に許可信号ACK1’を送信する。監視制御部27は、インターフェース26−1に許可信号ACK1’を送信すると、インターフェース26−1が次にデータ転送を行う順序をインターフェース26−0よりも後として記憶する。
Then, the monitoring control unit 27 transmits the permission signal ACK0 ′ to the interface 26-0 after the next data transfer order becomes the interface 26-1, that is, the processing request corresponding to the processing request signal REQ1. The signal REQ1 ′ is transmitted to the buffer 24.
The buffer 24 transmits the permission signal ACK1 to the monitoring control unit 27 in response to the processing request signal REQ1 ′. The monitoring control unit 27 receives the permission signal ACK1 from the buffer 24 and transmits the permission signal ACK1 ′ to the interface 26-1. When transmitting the permission signal ACK1 ′ to the interface 26-1, the monitoring control unit 27 stores the order in which the interface 26-1 performs the next data transfer after the interface 26-0.

また、監視制御部27は、例えば、インターフェース26−1によるデータ転送の方が先であると判別した場合に、インターフェース26−0から処理要求信号REQ0を受信したときは、インターフェース26−1から処理要求信号REQ1を受信するまで、待機する。監視制御部27は、処理要求信号REQ1を受信すると、処理要求信号REQ1に対応した処理要求信号REQ1’をバッファ24に送信する。   For example, when the monitoring control unit 27 determines that the data transfer through the interface 26-1 is ahead, and receives the processing request signal REQ0 from the interface 26-0, the monitoring control unit 27 performs processing from the interface 26-1. Wait until the request signal REQ1 is received. Upon receiving the processing request signal REQ1, the monitoring control unit 27 transmits a processing request signal REQ1 'corresponding to the processing request signal REQ1 to the buffer 24.

バッファ24は、処理要求信号REQ1’に応答して許可信号ACK1を監視制御部27に送信する。監視制御部27は、バッファ24から許可信号ACK1を受信してインターフェース26−1に許可信号ACK1’を送信する。監視制御部27は、インターフェース26−1に許可信号ACK1’を送信すると、インターフェース26−1が次にデータ転送を行う順序をインターフェース26−0よりも後として記憶する。   The buffer 24 transmits the permission signal ACK1 to the monitoring control unit 27 in response to the processing request signal REQ1 '. The monitoring control unit 27 receives the permission signal ACK1 from the buffer 24 and transmits the permission signal ACK1 'to the interface 26-1. When transmitting the permission signal ACK1 'to the interface 26-1, the monitoring control unit 27 stores the order in which the interface 26-1 performs the next data transfer after the interface 26-0.

そして、監視制御部27は、次にデータ転送を行う順序がインターフェース26−0になった後、つまり、インターフェース26−1に許可信号ACK1’を送信した後、処理要求信号REQ0に対応した処理要求信号REQ0’をバッファ24に送信する。
バッファ24は、処理要求信号REQ0’に応答して許可信号ACK0を監視制御部27に送信する。監視制御部27は、バッファ24から許可信号ACK0を受信してインターフェース26−0に許可信号ACK0’を送信する。監視制御部27は、インターフェース26−0に許可信号ACK0’を送信すると、インターフェース26−0が次にデータ転送を行う順序をインターフェース26−1よりも後として記憶する。
Then, the monitoring control unit 27 transmits the permission signal ACK1 ′ to the interface 26-1 after the next data transfer order becomes the interface 26-0, that is, the processing request corresponding to the processing request signal REQ0. The signal REQ0 ′ is transmitted to the buffer 24.
The buffer 24 transmits the permission signal ACK0 to the monitoring control unit 27 in response to the processing request signal REQ0 ′. The monitoring control unit 27 receives the permission signal ACK0 from the buffer 24 and transmits the permission signal ACK0 ′ to the interface 26-0. When the monitoring control unit 27 transmits the permission signal ACK0 ′ to the interface 26-0, the monitoring control unit 27 stores the order in which the interface 26-0 performs the next data transfer after the interface 26-1.

このようにして、監視制御部27は、インターフェース26−0,26−1間でデータ転送が交互に行われるように、許可信号ACK0’,ACK1’の送信タイミングを設定する。   In this way, the monitoring control unit 27 sets the transmission timing of the permission signals ACK0 'and ACK1' so that data transfer is alternately performed between the interfaces 26-0 and 26-1.

次に本実施形態に係るフラッシュメモリシステム1の動作を説明する。
フラッシュメモリシステム1がホストシステム2に装着されると、フラッシュメモリシステム1は、外部バス31を介してホストシステム2に接続される。
Next, the operation of the flash memory system 1 according to the present embodiment will be described.
When the flash memory system 1 is attached to the host system 2, the flash memory system 1 is connected to the host system 2 via the external bus 31.

ホストシステム2は、データをフラッシュメモリ10に書き込む場合、外部バス31を介してフラッシュメモリシステム1にアドレスを供給し、書き込むデータをフラッシュメモリシステム1に供給する。
フラッシュメモリシステム1は、供給されたデータを、ホストインターフェース21を介してコントローラ20の内部に取り込む。
When writing data to the flash memory 10, the host system 2 supplies an address to the flash memory system 1 via the external bus 31 and supplies the data to be written to the flash memory system 1.
The flash memory system 1 takes the supplied data into the controller 20 via the host interface 21.

マイクロプロセッサ22は、例えば、図5に示すように、バッファ24に3つのデータ保持部24A,24B,24Cを設定する。フラッシュメモリ10の1ページ当たりのバイト数が512バイトとすると、マイクロプロセッサ22は、3つのデータ保持部24A,24B,24Cに、それぞれ、512バイトの領域を割り当てる。   For example, as shown in FIG. 5, the microprocessor 22 sets three data holding units 24 </ b> A, 24 </ b> B, and 24 </ b> C in the buffer 24. Assuming that the number of bytes per page of the flash memory 10 is 512 bytes, the microprocessor 22 assigns 512-byte areas to the three data holding units 24A, 24B, and 24C, respectively.

マイクロプロセッサ22は、ホストシステム2から供給されたデータを、割り当てた512バイトの領域に対応するように区分する。区分したデータが、図5に示すように、Page1〜Page5までのデータになったものとすると、まず、マイクロプロセッサ22は、図6に示すように、Page1,Page2,Page3のデータを、それぞれ、バッファ24のデータ保持部24A,24B,24Cに保持する。データ保持部24A,24B,24Cは、フラッシュメモリ10に書き込むデータを、フラッシュメモリ10への書き込み準備ができるまで一時的に保持する。   The microprocessor 22 partitions the data supplied from the host system 2 so as to correspond to the allocated 512-byte area. Assuming that the divided data is data from Page1 to Page5 as shown in FIG. 5, first, the microprocessor 22 converts the data of Page1, Page2, and Page3 into the data as shown in FIG. The data is held in the data holding units 24A, 24B, and 24C of the buffer 24. The data holding units 24A, 24B, and 24C temporarily hold data to be written to the flash memory 10 until preparation for writing to the flash memory 10 is completed.

そして、フラッシュメモリインターフェース26とバッファ24とは、処理要求信号REQ0’,REQ1’、許可信号ACK0,ACK1を送受信する。この場合、データの送受信が行われるタイミングには、図7(a)〜(c)に示すように、3つのパターンが可能である。尚、パターン1〜3の関係は、インターフェース26−0,26−1を入れ替えると、逆の関係になる。   The flash memory interface 26 and the buffer 24 transmit and receive processing request signals REQ0 'and REQ1' and permission signals ACK0 and ACK1. In this case, as shown in FIGS. 7A to 7C, three patterns are possible at the timing of transmitting and receiving data. The relationship between the patterns 1 to 3 is reversed when the interfaces 26-0 and 26-1 are replaced.

まず、パターン1は、図7(a)に示すように、先にデータ転送を行うべきインターフェース26−0が、インターフェース26−1よりも先に処理要求信号REQ0を監視制御部27に送信する場合である。   First, in the pattern 1, as shown in FIG. 7A, the interface 26-0 that should transfer data first transmits the processing request signal REQ0 to the monitoring control unit 27 before the interface 26-1. It is.

パターン1の場合、監視制御部27は、図7(a)に示すように、インターフェース26−0,26−1から、それぞれ、処理要求信号REQ0,REQ1を、この順番で受信する。監視制御部27は、処理要求信号REQ0に対応する処理要求信号REQ0’をバッファ24に出力する。バッファ24は許可信号ACK0を監視制御部27に出力する。監視制御部27は、許可信号ACK0を受信して、許可信号ACK0に対応する許可信号ACK0’をインターフェース26−0に出力する。   In the case of pattern 1, as shown in FIG. 7A, the monitoring control unit 27 receives the processing request signals REQ0 and REQ1 in this order from the interfaces 26-0 and 26-1, respectively. The monitoring control unit 27 outputs a processing request signal REQ0 ′ corresponding to the processing request signal REQ0 to the buffer 24. The buffer 24 outputs the permission signal ACK0 to the monitoring control unit 27. The monitoring control unit 27 receives the permission signal ACK0 and outputs the permission signal ACK0 'corresponding to the permission signal ACK0 to the interface 26-0.

監視制御部27は、処理要求信号REQ1に対応する処理要求信号REQ1’をバッファ24に出力する。バッファ24が処理要求信号REQ1’に応答して許可信号ACK1を監視制御部27に出力すると、監視制御部27は、許可信号ACK1に対応する許可信号ACK1’をインターフェース26−1に送信する。   The monitoring control unit 27 outputs a processing request signal REQ1 'corresponding to the processing request signal REQ1 to the buffer 24. When the buffer 24 outputs the permission signal ACK1 to the monitoring control unit 27 in response to the processing request signal REQ1 ', the monitoring control unit 27 transmits the permission signal ACK1' corresponding to the permission signal ACK1 to the interface 26-1.

パターン2は、図7(b)に示すように、後でデータ転送を行うべきインターフェース26−1が、インターフェース26−0よりも先に処理要求信号REQ1を監視制御部27に送信する場合である。   As shown in FIG. 7B, the pattern 2 is a case where the interface 26-1 to which data transfer is to be performed later transmits the processing request signal REQ1 to the monitoring control unit 27 before the interface 26-0. .

パターン2の場合、監視制御部27は、図7(b)に示すように、インターフェース26−1からの処理要求信号REQ1を先に受信しても、インターフェース26−0からの処理要求信号REQ0を受信するまで待機する。監視制御部27は、インターフェース26−0からの処理要求信号REQ0を受信すると、処理要求信号REQ0’をバッファ24に送信する。   In the case of pattern 2, as shown in FIG. 7B, the monitoring control unit 27 receives the processing request signal REQ0 from the interface 26-0 even if the processing request signal REQ1 from the interface 26-1 is received first. Wait for reception. Upon receiving the processing request signal REQ0 from the interface 26-0, the monitoring control unit 27 transmits the processing request signal REQ0 'to the buffer 24.

バッファ24が処理要求信号REQ0’に応答して、監視制御部27に許可信号ACK0を送信すると、監視制御部27は、この許可信号ACK0を受信して、許可信号ACK0に対応する許可信号ACK0’をインターフェース26−0に出力する。   When the buffer 24 transmits the permission signal ACK0 to the monitoring control unit 27 in response to the processing request signal REQ0 ′, the monitoring control unit 27 receives the permission signal ACK0 and receives the permission signal ACK0 ′ corresponding to the permission signal ACK0. Is output to the interface 26-0.

監視制御部27は、次に、処理要求信号REQ1’をバッファ24に送信する。バッファ24は、処理要求信号REQ1’に応答して、監視制御部27に許可信号ACK1を出力すると、監視制御部27は、許可信号ACK1に対応する許可信号ACK1’をインターフェース26−1に送信する。   Next, the monitoring control unit 27 transmits a processing request signal REQ <b> 1 ′ to the buffer 24. When the buffer 24 outputs the permission signal ACK1 to the monitoring control unit 27 in response to the processing request signal REQ1 ′, the monitoring control unit 27 transmits the permission signal ACK1 ′ corresponding to the permission signal ACK1 to the interface 26-1. .

このパターン2におけるフラッシュメモリ10へのデータの書き込みタイミングを図8に示す。
インターフェース26−0,26−1に接続されたフラッシュメモリ10は、図8(a)、(c)に示すように、時刻t10、t11(t10<t11)において、ビジー信号として、それぞれ、信号S12,信号S10をL(低)レベルからHレベル(高レベル)に立ち上げるものとする。尚、ビジー信号のLレベルは、処理中であることを示し、Hレベルは、待機中であることを示す。
FIG. 8 shows the timing of writing data to the flash memory 10 in this pattern 2.
As shown in FIGS. 8A and 8C, the flash memory 10 connected to the interfaces 26-0 and 26-1 has a signal S12 as a busy signal at times t10 and t11 (t10 <t11), respectively. , Signal S10 is raised from L (low) level to H level (high level). Note that the L level of the busy signal indicates that processing is in progress, and the H level indicates that standby is in progress.

信号S12(BUSY_CH1)がHレベルに立ち上がると、インターフェース26−1は、内部バス32を介してフラッシュメモリ10(チップ10−1)に、コマンド信号C、アドレス信号Aを、順次、出力する。   When the signal S12 (BUSY_CH1) rises to the H level, the interface 26-1 sequentially outputs the command signal C and the address signal A to the flash memory 10 (chip 10-1) via the internal bus 32.

続いて、インターフェース26−1は、図8(d)の信号S13で示すように、処理要求信号REQ1をLレベルからHレベルに立ち上げる。しかし、監視制御部27は、信号S13(REQ1)がHレベルに立ち上がっても、このまま、処理要求信号REQ0が立ち上がるまで待機する。   Subsequently, the interface 26-1 raises the processing request signal REQ1 from the L level to the H level, as indicated by a signal S13 in FIG. However, even if the signal S13 (REQ1) rises to the H level, the monitoring control unit 27 waits until the processing request signal REQ0 rises.

一方、信号S10が立ち上がると、インターフェース26−0は、コマンド信号C、アドレス信号Aを、順次、フラッシュメモリ10(チップ10−0)に出力する。コマンド信号Cは、フラッシュメモリ10(チップ10−0)内のレジスタに書き込むデータを転送するコマンドである。続いて、インターフェース26−0は、図8(b)の信号S11で示すように、処理要求信号REQ0をLレベルからHレベルに立ち上げる。   On the other hand, when the signal S10 rises, the interface 26-0 sequentially outputs the command signal C and the address signal A to the flash memory 10 (chip 10-0). The command signal C is a command for transferring data to be written to a register in the flash memory 10 (chip 10-0). Subsequently, the interface 26-0 raises the processing request signal REQ0 from the L level to the H level as indicated by a signal S11 in FIG. 8B.

監視制御部27は、信号S11(REQ0)がHレベルに立ち上がると、図8(e)の信号S14で示すように、処理要求信号REQ0’をLレベルからHレベルに立ち上げる。   When the signal S11 (REQ0) rises to the H level, the supervisory control unit 27 raises the processing request signal REQ0 'from the L level to the H level as indicated by the signal S14 in FIG.

処理要求信号REQ0’がHレベルに立ち上がると、バッファ24は、図8(f)の信号S15で示すように、許可信号ACK0をLレベルからHレベルに立ち上げる。   When the processing request signal REQ0 'rises to the H level, the buffer 24 raises the permission signal ACK0 from the L level to the H level, as indicated by a signal S15 in FIG.

信号S15(ACK0)がHレベルに立ち上がると、監視制御部27は、図8(g)の信号S16で示すように、許可信号ACK0’をLレベルからHレベルに立ち上げる。   When the signal S15 (ACK0) rises to the H level, the supervisory control unit 27 raises the permission signal ACK0 'from the L level to the H level as indicated by the signal S16 in FIG.

信号S16(ACK0’)がHレベルに立ち上がると、インターフェース26−0は、バッファ24が保持しているデータDをフラッシュメモリ10に転送する。   When the signal S16 (ACK0 ') rises to the H level, the interface 26-0 transfers the data D held in the buffer 24 to the flash memory 10.

また、監視制御部27は、信号S16(ACK0’)をHレベルに立ち上げると、図8(h)の信号S17で示すように、処理要求信号REQ1’をLレベルからHレベルに立ち上げる。   Further, when the signal S16 (ACK0 ') rises to the H level, the monitoring control unit 27 raises the processing request signal REQ1' from the L level to the H level as indicated by the signal S17 in FIG.

信号S17(REQ1’)がHレベルに立ち上がると、バッファ24は、応答して、図8(i)の信号S18で示すように、許可信号ACK1をLレベルからHレベルに立ち上げる。   When the signal S17 (REQ1 ') rises to the H level, the buffer 24 responds and raises the permission signal ACK1 from the L level to the H level, as indicated by the signal S18 in FIG. 8 (i).

信号S18(ACK1)がHレベルに立ち上がると、監視制御部27は、図8(j)の信号S19で示すように、許可信号ACK1’をLレベルからHレベルに立ち上げる。   When the signal S18 (ACK1) rises to the H level, the supervisory control unit 27 raises the permission signal ACK1 'from the L level to the H level as indicated by the signal S19 in FIG.

信号S16(ACK1’)がHレベルに立ち上がると、インターフェース26−1は、バッファ24が保持しているデータDをフラッシュメモリ10に転送する。   When the signal S16 (ACK1 ') rises to the H level, the interface 26-1 transfers the data D held in the buffer 24 to the flash memory 10.

フラッシュメモリ10のチップ10−0へのデータDの転送が終了すると、インターフェース26−0は、内部バス32を介してフラッシュメモリ10(チップ10−0)に、コマンド信号C’を送信する。   When the transfer of the data D to the chip 10-0 of the flash memory 10 is completed, the interface 26-0 transmits a command signal C ′ to the flash memory 10 (chip 10-0) via the internal bus 32.

また、フラッシュメモリ10のチップ10−1へのデータDの転送が終了すると、インターフェース26−1は、内部バス32を介してフラッシュメモリ10(チップ10−1)に、コマンド信号C’を送信する。コマンド信号C’は、フラッシュメモリ10内のレジスタに保持されたデータをフラッシュメモリ10内のメモリセルアレイに複写するコマンドである。   When the transfer of the data D to the chip 10-1 of the flash memory 10 is completed, the interface 26-1 transmits a command signal C ′ to the flash memory 10 (chip 10-1) via the internal bus 32. . The command signal C ′ is a command for copying data held in the register in the flash memory 10 to the memory cell array in the flash memory 10.

このようなタイミングで、パターン2におけるデータの書き込み処理が行われる。   At such timing, data writing processing in pattern 2 is performed.

パターン3は、図7(c)に示すように、データ転送を行ったインターフェース26−0が、インターフェース26−1よりも先に、再度、処理要求信号REQ0を監視制御部27に送信する場合である。   As shown in FIG. 7C, the pattern 3 is a case where the interface 26-0 that has performed data transfer transmits the processing request signal REQ0 to the monitoring controller 27 again before the interface 26-1. is there.

パターン3の場合、監視制御部27は、図7(c)に示すように、処理要求信号REQ0を受信すると、処理要求信号REQ0’をバッファ24に送信する。バッファ24は、処理要求信号REQ0’に応答して監視制御部27に許可信号ACK0を送信する。   In the case of pattern 3, when receiving the processing request signal REQ 0, the monitoring control unit 27 transmits the processing request signal REQ 0 ′ to the buffer 24 as shown in FIG. The buffer 24 transmits the permission signal ACK0 to the monitoring control unit 27 in response to the processing request signal REQ0 '.

監視制御部27は、許可信号ACK0を受信すると、許可信号ACK0’をインターフェース26−0に送信する。この場合、監視制御部27は、次にデータ転送を行うべきものがインターフェース26−1であることを判別する。監視制御部27は、再度、インターフェース26−0から、処理要求信号REQ0を受信しても、処理要求信号REQ1を受信するまで待機する。   When the monitoring control unit 27 receives the permission signal ACK0, the monitoring control unit 27 transmits the permission signal ACK0 'to the interface 26-0. In this case, the monitoring control unit 27 determines that the next data transfer is the interface 26-1. Even if the monitoring control unit 27 receives the processing request signal REQ0 from the interface 26-0 again, the monitoring control unit 27 stands by until the processing request signal REQ1 is received.

監視制御部27は、インターフェース26−1からの処理要求信号REQ1を受信すると、バッファ24に処理要求信号REQ1’を送信する。   Upon receiving the processing request signal REQ1 from the interface 26-1, the monitoring control unit 27 transmits the processing request signal REQ1 'to the buffer 24.

バッファ24は、処理要求信号REQ1’に応答して、監視制御部27に許可信号ACK1を送信すると、監視制御部27は、許可信号ACK1を受信して、許可信号ACK1に対応する許可信号ACK1’をインターフェース26−1に出力する。   When the buffer 24 transmits the permission signal ACK1 to the monitoring control unit 27 in response to the processing request signal REQ1 ′, the monitoring control unit 27 receives the permission signal ACK1 and receives the permission signal ACK1 ′ corresponding to the permission signal ACK1. Is output to the interface 26-1.

次に、監視制御部27は、バッファ24に処理要求信号REQ0’を送信する。バッファ24は、処理要求信号REQ0’に応答して監視制御部27に許可信号ACK0を送信すると、監視制御部27は、この許可信号ACK0を受信して、許可信号ACK0に対応する許可信号ACK0’をインターフェース26−0に送信する。   Next, the monitoring control unit 27 transmits a processing request signal REQ0 'to the buffer 24. When the buffer 24 transmits the permission signal ACK0 to the monitoring control unit 27 in response to the processing request signal REQ0 ′, the monitoring control unit 27 receives the permission signal ACK0 and receives the permission signal ACK0 ′ corresponding to the permission signal ACK0. To the interface 26-0.

このようにして、監視制御部27は、許可信号ACK0’,ACK1’を交互にインターフェース26−0,26−1に送信するようにタイミングを制御する。   In this way, the monitoring control unit 27 controls the timing so that the permission signals ACK0 'and ACK1' are alternately transmitted to the interfaces 26-0 and 26-1.

例えば、図5に示すように、先にデータ転送を行うべきインターフェース26−0が、インターフェース26−1よりも先に処理要求信号REQ0を監視制御部27に送信した場合、このパターンは、パターン1に該当する。   For example, as shown in FIG. 5, when the interface 26-0 that should transfer data first transmits the processing request signal REQ0 to the monitoring control unit 27 before the interface 26-1, this pattern is the pattern 1 It corresponds to.

この場合、監視制御部27は、図7(a)に示すパターン1に従って、インターフェース26−0に許可信号ACK0’を送信し、インターフェース26−0は、許可信号ACK0’を受信して、チップ10−0へのPage1のデータの転送を開始する。監視制御部27は、許可信号ACK0’を送信した後に、許可信号ACK1’をインターフェース26−1に送信する。インターフェース26−1は、許可信号ACK1’を受信して、チップ10−1へのPage2のデータの転送を開始する。   In this case, the supervisory control unit 27 transmits the permission signal ACK0 ′ to the interface 26-0 according to the pattern 1 shown in FIG. 7A, and the interface 26-0 receives the permission signal ACK0 ′ and receives the chip 10 Start transferring Page1 data to -0. After transmitting the permission signal ACK0 ', the monitoring controller 27 transmits the permission signal ACK1' to the interface 26-1. The interface 26-1 receives the permission signal ACK1 'and starts transferring the data of Page2 to the chip 10-1.

次に、図9に示すように、後にデータ転送を行うべきインターフェース26−1が、インターフェース26−0よりも先に、処理要求信号REQ1を監視制御部27に送信した場合、このパターンは、パターン2に該当する。   Next, as shown in FIG. 9, when the interface 26-1 to which data transfer is to be performed later transmits the processing request signal REQ 1 to the monitoring control unit 27 before the interface 26-0, this pattern is It corresponds to 2.

この場合、監視制御部27は、図7(b)に示すパターン2に従って、インターフェース26−0に許可信号ACK0’を送信してから、インターフェース26−1に、許可信号ACK1’を送信する。インターフェース26−0は、チップ10−0にPage1のデータの転送を開始し、この転送が開始された後に、インターフェース26−1は、チップ10−1にPage2のデータの転送を開始する。   In this case, the supervisory control unit 27 transmits the permission signal ACK0 'to the interface 26-0 and then transmits the permission signal ACK1' to the interface 26-1 according to the pattern 2 shown in FIG. 7B. The interface 26-0 starts transferring the data of Page1 to the chip 10-0. After the transfer is started, the interface 26-1 starts transferring the data of Page2 to the chip 10-1.

次に、図10に示すように、転送したPage1のデータがチップ10−0内のレジスタからメモリセルアレイに複写され、Page1のデータを転送したインターフェース26−0が、インターフェース26−1よりも先に、再度、処理要求信号REQ0を監視制御部27に送信した場合、このパターンは、パターン3に該当する。   Next, as shown in FIG. 10, the transferred Page1 data is copied from the register in the chip 10-0 to the memory cell array, and the interface 26-0 to which the Page1 data is transferred is ahead of the interface 26-1. When the processing request signal REQ0 is transmitted again to the monitoring control unit 27, this pattern corresponds to the pattern 3.

この場合、監視制御部27は、図7(c)に示すパターン3に従って、インターフェース26−1に許可信号ACK1’を送信してから、インターフェース26−0に、許可信号ACK0’を送信する。インターフェース26−1は、チップ10−1にPage2のデータの転送を開始し、この転送が開始された後に、インターフェース26−0は、チップ10−0にPage3のデータの転送を開始する。   In this case, the monitoring control unit 27 transmits the permission signal ACK1 'to the interface 26-1 and then transmits the permission signal ACK0' to the interface 26-0 according to the pattern 3 shown in FIG. 7C. The interface 26-1 starts transferring Page2 data to the chip 10-1. After this transfer is started, the interface 26-0 starts transferring Page3 data to the chip 10-0.

このようにして、監視制御部27が許可信号ACK0’,ACK1’を交互にインターフェース26−0,26−1に送信すると、データ保持部24A〜24Cに取り込まれたデータは、結果として、以下のように取り込まれた順に、フラッシュメモリ10のチップ10−0,10−1に交互に割り当てられる。   In this manner, when the monitoring control unit 27 alternately transmits the permission signals ACK0 ′ and ACK1 ′ to the interfaces 26-0 and 26-1, the data captured in the data holding units 24A to 24C is as follows. In this order, the chips 10-0 and 10-1 of the flash memory 10 are alternately assigned.

ステップ1:データ保持部24Aのデータ→チップ10−0
ステップ2:データ保持部24Bのデータ→チップ10−1
ステップ3:データ保持部24Cのデータ→チップ10−0
ステップ4:データ保持部24Aのデータ→チップ10−1
ステップ5:データ保持部24Bのデータ→チップ10−0
・・・
Step 1: Data in data holding unit 24A → chip 10-0
Step 2: Data in the data holding unit 24B → chip 10-1.
Step 3: Data in the data holding unit 24C → chip 10-0
Step 4: Data in the data holding unit 24A → chip 10-1.
Step 5: Data in the data holding unit 24B → chip 10-0
...

次に、フラッシュメモリ10からのデータの読み出し処理について説明する。
フラッシュメモリ10からのデータの読み出し処理についても、監視制御部27は、データの書き込み処理と同じように、図7(a)〜(c)に示すパターン1〜3に従って、処理要求信号と許可信号との送信タイミングを調整する。
Next, a process for reading data from the flash memory 10 will be described.
As for the data reading process from the flash memory 10, the monitoring control unit 27 performs the processing request signal and the permission signal according to the patterns 1 to 3 shown in FIGS. And adjust the transmission timing.

パターン2におけるフラッシュメモリ10からのデータの読み出しタイミングを図11に示す。
インターフェース26−0,26−1は、それぞれ、コマンド信号C、アドレス信号Aを、順次、フラッシュメモリ10に出力する。コマンド信号Cは、フラッシュメモリ10から、データを読み出すコマンドである。
The timing for reading data from the flash memory 10 in pattern 2 is shown in FIG.
The interfaces 26-0 and 26-1 sequentially output the command signal C and the address signal A to the flash memory 10, respectively. The command signal C is a command for reading data from the flash memory 10.

フラッシュメモリ10は、図11(a)、(c)に示すように、時刻t20において、ビジー信号として、それぞれ、信号S22(BUSY_CH1),信号S20(BUSY_CH0)をHレベルからLレベルに立ち下げる。尚、データの読み出し時においても、ビジー信号のLレベルは、処理中であることを示し、Hレベルは、待機中であることを示す。   As shown in FIGS. 11A and 11C, the flash memory 10 causes the signal S22 (BUSY_CH1) and the signal S20 (BUSY_CH0) to fall from the H level to the L level as the busy signals, respectively, at time t20. Even when data is read, the L level of the busy signal indicates that processing is in progress, and the H level indicates that the processing is on standby.

図11(c)に示すように、フラッシュメモリ10は、信号S22(BUSY_CH1)をHレベルに立ち上げ、インターフェース26−1は、図11(d)の信号S23で示すように、処理要求信号REQ1をLレベルからHレベルに立ち上げる。しかし、監視制御部27は、信号S23(REQ1)がHレベルに立ち上がっても、このまま、処理要求信号REQ0が立ち上がるまで待機する。   As shown in FIG. 11C, the flash memory 10 raises the signal S22 (BUSY_CH1) to the H level, and the interface 26-1 receives the processing request signal REQ1 as shown by the signal S23 in FIG. Is raised from L level to H level. However, even if the signal S23 (REQ1) rises to the H level, the monitoring control unit 27 waits until the processing request signal REQ0 rises.

時間が経過して、図11(a)に示すように、フラッシュメモリ10が信号S20(BUSY_CH0)をHレベルに立ち上げると、図11(b)の信号S21で示すように、インターフェース26−0は、処理要求信号REQ0をHレベルに立ち上げる。   When time elapses, as shown in FIG. 11A, when the flash memory 10 raises the signal S20 (BUSY_CH0) to the H level, as shown by the signal S21 in FIG. 11B, the interface 26-0. Raises the processing request signal REQ0 to H level.

信号S21(REQ0)が立ち上がると、監視制御部27は、図11(e)の信号S24で示すように、処理要求信号REQ0’をLレベルからHレベルに立ち上げる。   When the signal S21 (REQ0) rises, the supervisory control unit 27 raises the processing request signal REQ0 'from the L level to the H level as indicated by a signal S24 in FIG.

信号S24(REQ0’)がHレベルに立ち上がると、図11(f)の信号S25で示すように、バッファ24は、許可信号ACK0をLレベルからHレベルに立ち上げる。   When the signal S24 (REQ0 ') rises to the H level, the buffer 24 raises the permission signal ACK0 from the L level to the H level, as indicated by the signal S25 in FIG.

信号S25(ACK0)がHレベルに立ち上がると、図11(g)の信号S26で示すように、監視制御部27は、許可信号ACK0’をLレベルからHレベルに立ち上げる。   When the signal S25 (ACK0) rises to the H level, the supervisory control unit 27 raises the permission signal ACK0 'from the L level to the H level as indicated by the signal S26 in FIG.

信号S26(ACK0’)がHレベルに立ち上がると、インターフェース26−0は、時刻t21において、フラッシュメモリ10のチップ10−0のデータDをバッファ24に転送する。   When the signal S26 (ACK0 ') rises to H level, the interface 26-0 transfers the data D of the chip 10-0 of the flash memory 10 to the buffer 24 at time t21.

一方、監視制御部27は、信号S26(ACK0’)をHレベルに立ち上げると、図11(h)の信号S27で示すように、処理要求信号REQ1’をLレベルからHレベルに立ち上げる。   On the other hand, when the signal S26 (ACK0 ') rises to the H level, the supervisory control unit 27 raises the processing request signal REQ1' from the L level to the H level as indicated by the signal S27 in FIG.

信号S27(REQ1’)がHレベルに立ち上がると、バッファ24は、図11(i)の信号S28で示すように、許可信号ACK1をLレベルからHレベルに立ち上げる。   When the signal S27 (REQ1 ') rises to the H level, the buffer 24 raises the permission signal ACK1 from the L level to the H level, as indicated by the signal S28 in FIG.

信号S28(ACK1)がHレベルに立ち上がると、監視制御部27は、図11(j)の信号S29で示すように、許可信号ACK1’をLレベルからHレベルに立ち上げる。   When the signal S28 (ACK1) rises to the H level, the supervisory control unit 27 raises the permission signal ACK1 'from the L level to the H level as indicated by the signal S29 in FIG.

信号S29(ACK1’)がHレベルに立ち上がると、インターフェース26−1は、時刻t22(t21<t22)において、フラッシュメモリ10のチップ10−1のデータDをバッファ24に転送する。このようなタイミングで、パターン2におけるデータの読み出し処理が行われる。   When the signal S29 (ACK1 ') rises to the H level, the interface 26-1 transfers the data D of the chip 10-1 of the flash memory 10 to the buffer 24 at time t22 (t21 <t22). At such timing, the data reading process in pattern 2 is performed.

このようにして、監視制御部27は、許可信号ACK0’,ACK1’を交互にインターフェース26−0,26−1に送信する。そして、監視制御部27は、最初にフラッシュメモリ10のチップ10−0のデータをバッファ24のデータ保持部24Aに割り当てるとすると、結果として、チップ10−0,10ー1のデータは、以下のようにデータ保持部24A〜24Cに割り当てられる。   In this manner, the supervisory control unit 27 transmits the permission signals ACK0 'and ACK1' alternately to the interfaces 26-0 and 26-1. Then, if the monitoring control unit 27 first allocates the data of the chip 10-0 of the flash memory 10 to the data holding unit 24A of the buffer 24, the data of the chips 10-0 and 10-1 are as follows. As described above, the data holding units 24A to 24C are assigned.

ステップ1:チップ10−0のデータ→データ保持部24A
ステップ2:チップ10−1のデータ→データ保持部24B
ステップ3:チップ10−0のデータ→データ保持部24C
ステップ4:チップ10−1のデータ→データ保持部24A
ステップ5:チップ10−0のデータ→データ保持部24B
・・・
Step 1: Data of chip 10-0 → data holding unit 24A
Step 2: Data of chip 10-1 → data holding unit 24B
Step 3: Data of chip 10-0 → data holding unit 24C
Step 4: Data of chip 10-1 → data holding unit 24A
Step 5: Data of chip 10-0 → data holding unit 24B
...

以上説明したように、本実施形態によれば、監視制御部27が、インターフェース26−0,26−1からの処理要求信号REQ0,REQ1を受け付けると、処理要求信号REQ0’,REQ1’が交互にバッファ24に送信されるようにタイミングを調整するようにした。従って、フラッシュメモリにおける処理順序に偏りが生じるのを回避することができる。   As described above, according to the present embodiment, when the monitoring control unit 27 receives the processing request signals REQ0 and REQ1 from the interfaces 26-0 and 26-1, the processing request signals REQ0 ′ and REQ1 ′ are alternately displayed. The timing is adjusted so that it is transmitted to the buffer 24. Therefore, it is possible to avoid a deviation in processing order in the flash memory.

尚、本発明を実施するにあたっては、種々の形態が考えられ、上記実施の形態に限られるものではない。
例えば、上記実施の形態では、フラッシュメモリ10に対するインターフェース26−0,26−1を、独立した2系統のバスで構成した場合について説明した。しかし、系統数は、特に限定されるものではなく、3系統以上のバスで構成されてもよい。
In carrying out the present invention, various forms are conceivable and the present invention is not limited to the above embodiment.
For example, in the above embodiment, the case where the interfaces 26-0 and 26-1 to the flash memory 10 are configured by two independent buses has been described. However, the number of systems is not particularly limited, and may be configured with three or more systems.

3系統以上のインターフェースを備えた場合、監視制御部27は、バッファ24と各チップとの間で行われるデータ転送の順序を判別し、各インターフェースに、順番に許可信号を送信する。そして、監視制御部27は、フラッシュメモリ10との間でデータ転送を行ったインターフェースが次にデータ転送を行うべき順序を最後尾とする。   When three or more interfaces are provided, the monitoring control unit 27 determines the order of data transfer performed between the buffer 24 and each chip, and transmits a permission signal to each interface in order. Then, the supervisory control unit 27 sets the order in which the data transfer with the flash memory 10 is to be performed next as the last data transfer.

また、監視制御部27は、フラグを用いて、許可信号ACK0’,ACK1’の送信タイミングを制御するようにしてもよい。例えば、フラッシュメモリインターフェース26内を上記実施形態のように2系統とした場合、インターフェース26−0,26−1のうちのフラグ値に対応するものに、先に許可信号を送信する。   Further, the monitoring control unit 27 may control the transmission timing of the permission signals ACK0 'and ACK1' using a flag. For example, when the flash memory interface 26 has two systems as in the above-described embodiment, the permission signal is transmitted to the one corresponding to the flag value of the interfaces 26-0 and 26-1.

即ち、フラグ値が0の場合に、インターフェース26−0,26−1から、それぞれ、処理要求信号REQ0,REQ1が順次、送信されれば、監視制御部27は、それぞれ、インターフェース26−0,26−1に、許可信号ACK0’,ACK1’を、順に送信する。   That is, when the flag value is 0, if the processing request signals REQ0 and REQ1 are sequentially transmitted from the interfaces 26-0 and 26-1, respectively, the monitoring control unit 27 causes the interfaces 26-0 and 26, respectively. −1, permission signals ACK0 ′ and ACK1 ′ are transmitted in order.

また、フラグ値0の場合に、インターフェース26−0,26−1から、それぞれ、処理要求信号REQ1,REQ0が順次、送信されても、監視制御部27は、それぞれ、インターフェース26−0,26−1に、許可信号ACK0’,ACK1’の順に送信する。このようにしても、データ転送を交互に行わせるように制御することができる。   Further, when the flag value is 0, even if the processing request signals REQ1 and REQ0 are sequentially transmitted from the interfaces 26-0 and 26-1, respectively, the monitoring control unit 27 is not connected to the interfaces 26-0 and 26-, respectively. 1, the permission signals ACK0 ′ and ACK1 ′ are transmitted in this order. Even in this case, it is possible to control the data transfer alternately.

本発明の実施形態に係るフラッシュメモリシステムの構成を示すブロック図である。1 is a block diagram showing a configuration of a flash memory system according to an embodiment of the present invention. 図1のフラッシュメモリのメモリセルアレイの構成を示す説明図である。FIG. 2 is an explanatory diagram showing a configuration of a memory cell array of the flash memory of FIG. 1. 図1のフラッシュメモリインターフェースとフラッシュメモリとの主要構成を示すブロック図である。FIG. 2 is a block diagram illustrating main configurations of a flash memory interface and a flash memory in FIG. 1. 図1のバッファとフラッシュメモリインターフェース(監視制御部、インターフェース)との間で送受信される信号を示す説明図である。FIG. 2 is an explanatory diagram showing signals transmitted and received between the buffer of FIG. 1 and a flash memory interface (monitoring control unit, interface). ホストシステムが書き込み処理時にデータをフラッシュメモリに供給する場合の説明図である。It is explanatory drawing when a host system supplies data to flash memory at the time of write-in processing. 書き込み処理を行う場合に、バッファが、ホストシステムから供給されたデータをデータ保持部に保持した場合の説明図である。FIG. 10 is an explanatory diagram when a buffer holds data supplied from a host system in a data holding unit when performing a writing process. フラッシュメモリインターフェースの動作パターンを示す説明図であり、(a)〜(c)は、それぞれ、パターン1〜3を示す。It is explanatory drawing which shows the operation | movement pattern of a flash memory interface, (a)-(c) shows the patterns 1-3, respectively. 図7(b)に示すパターン2の場合における書き込み処理の内容を示すタイミングチャートである。It is a timing chart which shows the content of the write-in process in the case of the pattern 2 shown in FIG.7 (b). 図7(b)のパターン2の具体例を示す説明図である。It is explanatory drawing which shows the specific example of the pattern 2 of FIG.7 (b). 図7(c)のパターン3の具体例を示す説明図である。It is explanatory drawing which shows the specific example of the pattern 3 of FIG.7 (c). 図7(b)のパターン2の場合における読み出し処理の内容を示すタイミングチャートである。It is a timing chart which shows the content of the read-out process in the case of the pattern 2 of FIG.7 (b).

符号の説明Explanation of symbols

1 フラッシュメモリシステム
2 ホストシステム
10 フラッシュメモリ
10−0,10−1 チップ
20 コントローラ
24 バッファ
26 フラッシュメモリインターフェース
26−0,26−1 インターフェース
27 監視制御部
DESCRIPTION OF SYMBOLS 1 Flash memory system 2 Host system 10 Flash memory 10-0,10-1 Chip 20 Controller 24 Buffer 26 Flash memory interface 26-0, 26-1 Interface 27 Monitoring control part

Claims (6)

データを記憶する複数のフラッシュメモリとの間でデータ転送を行うメモリコントローラにおいて、
前記複数のフラッシュメモリとの間でデータ転送を行うためのデータを記憶するデータ記憶部と、
前記データ記憶部と前記各フラッシュメモリとの間に、前記各フラッシュメモリに対応して備えられ、データ転送を要求する処理要求信号を送信し、データ転送を許可する許可信号を受信して、対応するフラッシュメモリと前記データ記憶部との間でデータ転送を行う複数のデータ転送部と、
前記複数のデータ転送部から送信された複数の処理要求信号を受信して、前記各データ転送部によるデータ転送が順番に行われるように送信タイミングを設定した許可信号を、前記各データ転送部に送信する転送制御部と、を備えた、
ことを特徴とするメモリコントローラ。
In a memory controller that transfers data to and from multiple flash memories that store data,
A data storage unit for storing data for performing data transfer with the plurality of flash memories;
Between the data storage unit and each flash memory, provided corresponding to each flash memory, transmitting a processing request signal requesting data transfer, receiving a permission signal permitting data transfer, and corresponding A plurality of data transfer units that perform data transfer between the flash memory and the data storage unit;
A plurality of processing request signals transmitted from the plurality of data transfer units are received, and a permission signal in which a transmission timing is set so that data transfer by each data transfer unit is performed in order is sent to each data transfer unit. A transfer control unit for transmitting,
A memory controller characterized by that.
前記各フラッシュメモリは、ページ単位でデータの入出力が行われるものであって、
前記データ記憶部は、前記転送対象のデータを保持するものとして、前記各フラッシュメモリの各ページに対応する量のデータ保持が可能な複数のデータ保持部が備えられたものであり、
前記各データ保持部は、データが供給されたものから順に、データが排出されるように構成されたものである、
ことを特徴とする請求項1に記載のメモリコントローラ。
Each flash memory performs data input / output in units of pages,
The data storage unit is provided with a plurality of data holding units capable of holding an amount of data corresponding to each page of each flash memory as holding the data to be transferred,
Each of the data holding units is configured such that data is discharged in order from the one supplied with data.
The memory controller according to claim 1.
前記転送制御部は、前記データ記憶部と前記各フラッシュメモリとの間で行われるデータ転送の順序を判別し、前記順序が後と判別したデータ転送部からの処理要求信号を、前記順序が先と判別したデータ転送部からの処理要求信号よりも先に受信したときは、前記順序が先と判別したデータ転送部に許可信号を送信して前記対応するフラッシュメモリとの間でデータ転送が行われてから、前記順序が後と判別したデータ転送部に許可信号を送信するように、前記各データ転送部への許可信号の送信タイミングを設定する、
ことを特徴とする請求項1又は2に記載のメモリコントローラ。
The transfer control unit determines the order of data transfer performed between the data storage unit and each of the flash memories, and the processing request signal from the data transfer unit that is determined to be later is the processing request signal from the first Is received prior to the processing request signal from the data transfer unit determined to be transmitted, the permission signal is transmitted to the data transfer unit determined to be the first in order and data transfer is performed between the corresponding flash memory. The transmission timing of the permission signal to each of the data transfer units is set so that the permission signal is transmitted to the data transfer unit that has been determined to be later.
The memory controller according to claim 1, wherein the memory controller is a memory controller.
前記転送制御部は、前記フラッシュメモリとの間でデータ転送を行ったデータ転送部が次にデータ転送を行うべき順序を最後尾とする、
ことを特徴とする請求項1乃至3のいずれか1項に記載のメモリコントローラ。
The transfer control unit has a data transfer unit that has performed data transfer with the flash memory as the last order in which data transfer should be performed,
The memory controller according to claim 1, wherein the memory controller is a memory controller.
データを記憶する複数のフラッシュメモリと、
請求項1乃至4のいずれか1項に記載のメモリコントローラと、を備えた、
ことを特徴とするフラッシュメモリシステム。
A plurality of flash memories for storing data;
A memory controller according to any one of claims 1 to 4.
A flash memory system characterized by that.
データを記憶する複数のフラッシュメモリとの間でデータ転送を行うために、前記各フラッシュメモリに対応して備えられた複数のデータ転送部から、データ転送を要求する処理要求信号を受信するステップと、
前記各フラッシュメモリとのデータ転送が順番に行われるように、前記データ転送を許可するための許可信号を送信する送信タイミングを設定するステップと、
前記送信タイミングに従って、各データ転送部に前記許可信号を送信するステップと、を備えた、
ことを特徴とするフラッシュメモリのデータ転送方法。
Receiving a processing request signal for requesting data transfer from a plurality of data transfer units provided corresponding to each of the flash memories in order to perform data transfer with a plurality of flash memories storing data; ,
Setting a transmission timing for transmitting a permission signal for permitting the data transfer so that data transfer with each of the flash memories is performed in order;
Transmitting the permission signal to each data transfer unit according to the transmission timing, and
A data transfer method for a flash memory.
JP2004150628A 2004-05-20 2004-05-20 Memory controller, flash memory system, and flash memory data transfer method Expired - Lifetime JP4273038B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004150628A JP4273038B2 (en) 2004-05-20 2004-05-20 Memory controller, flash memory system, and flash memory data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004150628A JP4273038B2 (en) 2004-05-20 2004-05-20 Memory controller, flash memory system, and flash memory data transfer method

Publications (2)

Publication Number Publication Date
JP2005332249A JP2005332249A (en) 2005-12-02
JP4273038B2 true JP4273038B2 (en) 2009-06-03

Family

ID=35486862

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004150628A Expired - Lifetime JP4273038B2 (en) 2004-05-20 2004-05-20 Memory controller, flash memory system, and flash memory data transfer method

Country Status (1)

Country Link
JP (1) JP4273038B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100765786B1 (en) * 2006-06-12 2007-10-12 삼성전자주식회사 Flash memory system, host system for programming and program method thereof
KR20080017982A (en) * 2006-08-23 2008-02-27 삼성전자주식회사 Flash memory system and program method thereof

Also Published As

Publication number Publication date
JP2005332249A (en) 2005-12-02

Similar Documents

Publication Publication Date Title
US7937523B2 (en) Memory system with nonvolatile semiconductor memory
US8230161B2 (en) Data backup method for a flash memory and controller and storage system using the same
US8055873B2 (en) Data writing method for flash memory, and controller and system using the same
JP4373943B2 (en) Memory controller, flash memory system, and flash memory control method
KR20190032815A (en) Memory system and operating method thereof
JP2008152464A (en) Storage device
KR20060050585A (en) Semiconductor memory device and access method and memory control system for same
KR20100094241A (en) Nonvolatile memory device not including reserved blocks
JP2008041098A (en) Memory card and method for storing data thereof
KR20190087072A (en) Data storage device, operating method thereof and nonvolatile memory device
KR20160098839A (en) Method for managing flow of message transmission and storage device adopting the same
JP4254932B2 (en) Memory controller and flash memory system
JP4177360B2 (en) Memory controller, flash memory system, and flash memory control method
CN111488118B (en) Method for managing flash memory module, related flash memory controller and electronic device
JP2006338083A (en) Memory controller
JP4273038B2 (en) Memory controller, flash memory system, and flash memory data transfer method
US20050204115A1 (en) Semiconductor memory device, memory controller and data recording method
JP4177292B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM, AND FLASH MEMORY CONTROL METHOD
JP4910426B2 (en) Non-volatile memory device writing method
JP4177301B2 (en) Memory controller, flash memory system, and flash memory control method
JP4273106B2 (en) Memory controller, flash memory system, and flash memory control method
JP4697146B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP2005292925A (en) Memory controller, flash memory system, and control method for flash memory
JP2006178909A (en) Memory controller, flash memory system and method for controlling flash memory
JP4194518B2 (en) Memory controller, flash memory system, and flash memory control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060313

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090213

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090224

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090302

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

Free format text: PAYMENT UNTIL: 20120306

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4273038

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120306

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130306

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140306

Year of fee payment: 5

EXPY Cancellation because of completion of term