JP4626595B2 - MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD - Google Patents
MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD Download PDFInfo
- Publication number
- JP4626595B2 JP4626595B2 JP2006246202A JP2006246202A JP4626595B2 JP 4626595 B2 JP4626595 B2 JP 4626595B2 JP 2006246202 A JP2006246202 A JP 2006246202A JP 2006246202 A JP2006246202 A JP 2006246202A JP 4626595 B2 JP4626595 B2 JP 4626595B2
- Authority
- JP
- Japan
- Prior art keywords
- flash memory
- busy
- data
- input
- operation instruction
- 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.)
- Active
Links
Images
Description
本発明は、メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法に係り、特に並列アクセス時のビジー解除検知機能を有するメモリコントローラ及び該メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法に関する。 The present invention relates to a memory controller, a flash memory system including the memory controller, and a flash memory control method, and more particularly to a memory controller having a busy release detection function during parallel access, a flash memory system including the memory controller, and a flash memory. Relates to the control method.
メモリカードやシリコンディスクなどの記憶媒体である半導体メモリとして、フラッシュメモリが多く用いられている。フラッシュメモリにはNOR型フラッシュメモリとNAND型フラッシュメモリがあり、特にNAND型フラッシュメモリは集積度に優れ、また書き込みに必要な動作電流が少ないなどの特長により大容量のメモリとして急成長をとげている。 A flash memory is often used as a semiconductor memory that is a storage medium such as a memory card or a silicon disk. There are two types of flash memory: NOR-type flash memory and NAND-type flash memory. NAND-type flash memory, in particular, is highly integrated and has a rapid growth as a large-capacity memory due to features such as low operating current required for writing. Yes.
このフラッシュメモリは、複数のメモリセルを有し、各メモリセルが消去状態のとき論理「1」とされ、書き込み状態のとき論理「0」とされる。 This flash memory has a plurality of memory cells, and is set to logic “1” when each memory cell is in the erased state, and is set to logic “0” when in the written state.
ところで、これらのメモリセルを消去状態から書き込み状態に変化させる場合には、メモリセル単位で行うことができるが、メモリセルを書き込み状態から消去状態に変化させる場合には、メモリセル単位で行うことができず、所定数のメモリセルからなるブロック単位で一括消去することが行われる(ブロック消去)。 By the way, when these memory cells are changed from the erased state to the written state, it can be performed in units of memory cells. However, when the memory cells are changed from the written state to the erased state, it is performed in units of memory cells. However, batch erase is performed in units of blocks including a predetermined number of memory cells (block erase).
また、所定数のメモリセルからなるブロック(物理ブロック)は、書き込み及び読み出しのアクセス処理単位である複数のページで構成されている。すなわち、小ブロックにおける物理ブロックは32ページであり、大ブロックにおける物理ブロックは64ページである。また、小ブロックでは、一個のページが1セクタ(=512バイト)のユーザ領域と16バイトの冗長領域とによって構成されている。 In addition, a block (physical block) made up of a predetermined number of memory cells is composed of a plurality of pages which are write and read access processing units. That is, the physical block in the small block is 32 pages, and the physical block in the large block is 64 pages. In the small block, one page is composed of a user area of 1 sector (= 512 bytes) and a redundant area of 16 bytes.
大ブロックでは、一個のページが4セクタ(=2048バイト)のユーザ領域と、64バイトの冗長領域とによって構成されている。 In the large block, one page is composed of a user area of 4 sectors (= 2048 bytes) and a redundant area of 64 bytes.
フラッシュメモリにデータを書き込むときは、フラッシュメモリ内のレジスタを介してメモリセルにデータが書き込まれ、フラッシュメモリからデータを読み出すときは、フラッシュメモリ内のレジスタを介してメモリセルからデータが読み出される。ここで、レジスタに保持されているデータをメモリセルに書き込むときには約200μs程度の時間を要し、メモリセルからレジスタにデータを読み出すときには約20μs程度の時間を要する。又、データを消去するときには約2ms程度の時間を要する。これらの期間中、フラッシュメモリはビジー状態になるため、フラッシュメモリに対してコマンドやデータを与えることができなくなる。 When data is written to the flash memory, data is written to the memory cell via a register in the flash memory, and when data is read from the flash memory, data is read from the memory cell via a register within the flash memory. Here, it takes about 200 μs to write data held in the register to the memory cell, and about 20 μs to read data from the memory cell to the register. Also, it takes about 2 ms to erase data. During these periods, the flash memory is in a busy state, so that commands and data cannot be given to the flash memory.
このビジー状態の発生に起因する処理速度の低下を軽減する従来技術として、複数のフラッシュメモリを並列処理するものがある。例えば特開平6−4399号公報(特許文献1)によれば、フラッシュメモリを複数個搭載し該フラッシュメメモリにデータの記憶を行う半導体記憶装置において、書き込み又は消去の指示を上記フラッシュメモリに送り、書き込み又は消去の指示が送られた上記フラッシュメモリが次の書き込み又は消去の指示が受け付け可能となるまでの間に、書き込み又は消去が行なわれている上記フラッシュメモリとは別のフラッシュメモリに書き込み又は消去の指示を送るようにしている。このような制御を行うことにより、半導体記憶装置全体としての処理速度を向上させている。
上記従来技術は、半導体記憶装置全体としての処理速度を向上させることができるが、フラッシュメモリ内部での動作が正常に行われたか否かを確実に判断することができないという問題がある。この問題は、フラッシュメモリ内部での動作が正常に行われたか否かを、フラッシュメモリからステータスを読み出すことによって判断していることに起因する。 Although the conventional technology can improve the processing speed of the entire semiconductor memory device, there is a problem that it cannot be reliably determined whether or not the operation inside the flash memory has been performed normally. This problem is caused by determining whether or not the operation inside the flash memory has been normally performed by reading the status from the flash memory.
例えば、上記従来技術の半導体記憶装置において、何らかの原因により、フラッシュメモリが与えられた書き込み、消去等のコマンドを正しく認識できなかった場合、フラッシュメモリは与えられたコマンドに対応する動作を開始しないので、フラッシュメモリ内部のステータスは更新されない。従って、フラッシュメモリからステータスを読み出しても、フラッシュメモリ内部での動作が正常に行われたか否かを正しく判断することができない。 For example, in the above-described conventional semiconductor memory device, if the flash memory cannot correctly recognize a given write / erase command for some reason, the flash memory does not start an operation corresponding to the given command. The status inside the flash memory is not updated. Therefore, even if the status is read from the flash memory, it cannot be correctly determined whether or not the operation inside the flash memory has been performed normally.
本発明の目的は、フラッシュメモリ内部での動作が行われなかったことを看過してしまうことを回避できるようにしたメモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法を提供することにある。 SUMMARY OF THE INVENTION An object of the present invention is to provide a memory controller, a flash memory system including the memory controller, and a flash memory control method that can avoid overlooking that the operation in the flash memory has not been performed. There is.
本発明のメモリコントローラは、ページ単位でデータの読み出し又は書き込みが行われ、ブロック単位で記憶データの消去が行なわれるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、前記フラッシュメモリに対してコマンドを含む動作指示を与える動作指示出力手段と、前記動作指示出力手段から出力される動作指示に応答して前記フラッシュメモリから出力されるビジー状態を示す信号が入力され、該信号が示す情報がビジー状態からビジー解除状態に遷移したことを検知し、該検知の結果を検知信号として出力するビジー解除検知手段と、前記検知信号に基づいて前記動作指示出力手段の動作を制御する制御手段とを備え、前記ビジー解除検知手段は、ビジー状態からビジー解除状態に遷移するときの信号レベルの遷移を検出するエッジトリガーのフリップフロップ回路で構成され、前記制御手段は、前記動作指示出力手段が動作指示を出力するタイミングで前記ビジー解除検知手段を構成する前記フリップフロップ回路をリセットする、ことを特徴とする。
このようなメモリコントローラによれば、前記フラッシュメモリから出力されるビジー状態を示す信号に基づいて、前記フラッシュメモリがビジー状態からビジー解除状態に遷移したことを検知するようにしたので、前記フラッシュメモリがビジー状態にならなかった場合は、内部での動作が開始されなかったと判断することができる。
又、前記制御手段は、前記フラッシュメモリがビジー状態からビジー解除状態に遷移するまで、前記動作指示出力手段が前記動作指示を前記フラッシュメモリに与えることを禁止することが好ましい。
このようにすることにより、前記フラッシュメモリ内部での動作が行われなかったときに、処理が続行されてしまうことを回避することができる。
又、前記メモリコントローラにおいて、前記フラッシュメモリに前記動作指示を与えてから所定の期間を経過しても、ビジー状態が発生しなかった場合、又はビジー状態が解除されなかった場合に、処理を中止する手段を設けてもよい。この処理を中止する手段に代えて、再処理を指示する手段を設けてもよい。
本発明のメモリコントローラは、ページ単位でデータの読み出し又は書き込みが行われ、ブロック単位で記憶データの消去が行なわれるフラッシュメモリに対するアクセスを制御するメモリコントローラにおいて、前記フラッシュメモリが出力する信号に基づいて該フラッシュメモリがビジー状態になった後、該ビジー状態が解除されたことを検知し、該検知の結果を検知信号として出力するビジー解除検知手段と、前記検知信号に基づいて前記フラッシュメモリの動作状態を判断し、該判断の結果に基づいてデータの読み出し、書き込み、又は消去を指示する動作指示を前記フラッシュメモリに与える動作指示手段とを備え、前記ビジー解除検知手段は、ビジー状態からビジー解除状態に遷移するときの信号レベルの遷移を検出するエッジトリガーのフリップフロップ回路で構成され、前記動作指示手段は、前記フラッシュメモリに前記動作指示を出力するタイミングで前記ビジー解除検知手段を構成する前記フリップフロップ回路をリセットする、ことを特徴とする。
このようなメモリコントローラによれば、前記フラッシュメモリが出力する信号に基づいて該フラッシュメモリがビジー状態になった後、該ビジー状態が解除されたことを検知するようにしたので、前記フラッシュメモリがビジー状態にならなかった場合は、内部での動作が開始されなかったと判断することができる。
又、前記動作指示手段は、前記フラッシュメモリのビジー状態が解除されたと判断するまで、前記フラッシュメモリに前記動作指示を与えないことが好ましい。
このようにすることにより、前記フラッシュメモリ内部での動作が行われなかったときに、処理が続行されてしまうことを回避することができる。
又、前記メモリコントローラにおいて、前記フラッシュメモリに前記動作指示を与えてから所定の期間を経過しても、ビジー状態が発生しなかった場合、又はビジー状態が解除されなかった場合に、処理を中止する手段を設けてもよい。この処理を中止する手段に代えて、再処理を指示する手段を設けてもよい。
本発明のフラッシュメモリシステムは、ページ単位でデータの読み出し又は書き込みが行われ、ブロック単位で記憶データの消去が行なわれるフラッシュメモリと、該フラッシュメモリを制御する前記メモリコントローラで構成されていることを特徴とする。
A memory controller according to the present invention is a memory controller that controls access to a flash memory in which data is read or written in units of pages, and stored data is erased in units of blocks, and a command is sent to the flash memory. An operation instruction output means for providing an operation instruction including a signal indicating a busy state output from the flash memory in response to the operation instruction output from the operation instruction output means, and information indicated by the signal is in a busy state A busy release detection means for detecting the transition to the busy release state, and outputting the detection result as a detection signal, and a control means for controlling the operation of the operation instruction output means based on the detection signal , The busy release detecting means is a signal for transition from the busy state to the busy release state. Consists of a flip-flop circuit of the edge trigger for detecting the transition of the bell, the control means resets the flip-flop circuits constituting the busy state detection means at a timing where the operation instruction output means outputs the operation instruction, It is characterized by that.
According to such a memory controller, since it is detected that the flash memory has transitioned from the busy state to the busy release state based on a signal indicating the busy state output from the flash memory, the flash memory Is not busy, it can be determined that the internal operation has not started.
Further, it is preferable that the control means prohibits the operation instruction output means from giving the operation instruction to the flash memory until the flash memory transits from the busy state to the busy release state.
By doing so, it is possible to prevent the processing from being continued when the operation inside the flash memory is not performed.
In the memory controller, if the busy state does not occur or the busy state is not canceled even after a predetermined period of time has passed since the operation instruction is given to the flash memory, the processing is stopped. Means to do this may be provided. Instead of means for canceling this processing, means for instructing reprocessing may be provided.
The memory controller according to the present invention is a memory controller that controls access to a flash memory in which data is read or written in units of pages and stored data is erased in units of blocks, based on signals output from the flash memory. After the flash memory is in a busy state, it detects that the busy state has been released, and outputs a detection result as a detection signal, and a busy release detection means, and the operation of the flash memory based on the detection signal An operation instructing unit for determining an operation state and instructing the flash memory to instruct an operation of reading, writing, or erasing data based on a result of the determination, and the busy release detecting unit cancels the busy state Edge to detect signal level transition when transitioning to state It consists of a flip-flop circuit of trigger, the operation instructing means, for resetting said flip-flop circuits constituting the busy state detection means at a timing for outputting the operation instruction to the flash memory, characterized in that.
According to such a memory controller, since the flash memory is detected to be released after the flash memory is in a busy state based on a signal output from the flash memory, the flash memory is When it is not busy, it can be determined that the internal operation has not started.
Preferably, the operation instruction means does not give the operation instruction to the flash memory until it is determined that the busy state of the flash memory is released.
By doing so, it is possible to avoid the processing from being continued when the operation inside the flash memory is not performed.
In the memory controller, if the busy state does not occur or the busy state is not canceled even after a predetermined period of time has passed since the operation instruction is given to the flash memory, the processing is stopped. Means to do this may be provided. Instead of means for canceling this processing, means for instructing reprocessing may be provided.
The flash memory system of the present invention comprises a flash memory in which data is read or written in units of pages and stored data is erased in units of blocks, and the memory controller that controls the flash memory. Features .
本発明によれば、フラッシュメモリから出力される信号が示す情報が、ビジー状態からビジー解除状態に遷移したことを検知するようにしたので、フラッシュメモリが与えられたコマンドに対応する動作を開始しなかった場合に、誤ってフラッシュメモリ内部での動作が行われたと判断することを回避することができる。又、フラッシュメモリから出力される信号が示す情報が、ビジー状態からビジー解除状態に遷移したことを検知した後に次の動作指示を与えるようにしたので、フラッシュメモリ内部での動作が行われなかったことを看過して、処理が続行されてしまうことを回避することができる。 According to the present invention, since the information indicated by the signal output from the flash memory detects that the busy state has changed to the busy release state, the flash memory starts an operation corresponding to the given command. If there is no such error, it can be avoided that the operation inside the flash memory is erroneously determined. In addition, since the information indicated by the signal output from the flash memory has detected that the transition from the busy state to the busy release state has been made, the next operation instruction is given, so the operation inside the flash memory has not been performed. It is possible to avoid that the process is continued.
次に、本発明を実施するための最良の形態を、図面を参照して具体的に説明する。 Next, the best mode for carrying out the present invention will be specifically described with reference to the drawings.
図1は、本発明の第1の実施の形態であるフラッシュメモリシステムの概略構成を示すブロック図である。図1に示すように、フラッシュメモリシステム1は、フラッシュメモリ2と、それを制御するメモリコントローラ3で構成されている。また、フラッシュメモリシステム1は、外部バス13を介してホストシステム4と接続される。
FIG. 1 is a block diagram showing a schematic configuration of a flash memory system according to a first embodiment of the present invention. As shown in FIG. 1, the
ホストシステム4は、ホストシステム4の全体の動作を制御するためのCPU(Central Processing Unit)と、フラッシュメモリシステム1との情報の授受を担うコンパニオンチップ等とから構成される。ホストシステム4は、例えば文字、音声、あるいは画像情報等の種々の情報を処理するパーソナルコンピュータやデジタルスチルカメラをはじめとする各種情報処理装置であってもよい。
The
フラッシュメモリ2は、不揮発性メモリであり、レジスタとメモリセルとの間でデータの複写を行って、データの書き込み又は読み出しを行う。ここで、フラッシュメモリ2は2−0、2−1、・・・2−nの複数個のフラッシュメモリで構成されている。尚、以下の説明では、説明を簡単にするためにフラッシュメモリが2個である実施の形態を例にとって説明する。つまり、フラッシュメモリ2がフラッシュメモリ2−0とフラッシュメモリ2−1で構成されている場合について説明する。
The
メモリコントローラ3は、マイクロプロセッサ6と、ホスト・インターフェース・ブロック7と、ワークエリア8と、バッファ9と、フラッシュメモリ・インターフェース・ブロック10と、ECC(エラー・コレクション・コード)ブロック11と、ROM(Read Only Memory)12とから構成される。これら機能ブロックによって構成されるメモリコントローラ3は、一つの半導体チップ上に集積されている。
The
マイクロプロセッサ6は、メモリコントローラ3を構成する各機能ブロック全体の動作を制御するための機能ブロックである。
The
ホスト・インターフェース・ブロック7は、ホストシステム4との間で、外部バス13を介して、データ、アドレス情報、ステータス情報、外部コマンド情報等の授受を行う。ホストシステム4よりフラッシュメモリシステム1に供給されるデータ等は、ホスト・インターフェース・ブロック7を入口としてメモリコントローラ3の内部(例えば、バッファ9)に取り込まれる。フラッシュメモリシステム1からホストシステム4に供給されるデータ等は、ホスト・インターフェース・ブロック7を出口としてホストシステム4に供給される。
The
フラッシュメモリ・インターフェース・ブロック10は、フラッシュメモリ2の入出力バス(I/O)の端子に接続された内部バス14を介して、フラッシュメモリ2とデータ、アドレス情報、ステータス情報、内部コマンド等の授受を行う。ここで、フラッシュメモリ2は、コマンド・ラッチ・イネーブル(CLE)、アドレス・ラッチ・イネーブル(ALE)、ライト・イネーブル(WE)、リード・イネーブル(RE)、チップ・イネーブル(CE)等の制御信号端子を備えている。チップセレクト信号線15は、イネーブル(CE)の端子に接続された信号線である。このチップセレクト信号線15を介して与えられる信号により、データ、アドレス情報、ステータス情報、内部コマンド等の授受を行う対象のフラッシュメモリ2−0又はフラッシュメモリ2−1が選択される。更に、図示していない制御信号線を介してコマンド・ラッチ・イネーブル(CLE)、アドレス・ラッチ・イネーブル(ALE)、ライト・イネーブル(WE)、リード・イネーブル(RE)等の制御信号端子に与えられる信号により、データ、アドレス情報、ステータス情報、内部コマンド等の授受の対象となる情報が選択される。
The flash
なお、「内部コマンド」とは、メモリコントローラ3がフラッシュメモリ2を制御するためのコマンドであり、ホストシステム4からメモリコントローラ3に与えられるコマンドを「外部コマンド」と言う。
The “internal command” is a command for the
ホスト・インターフェース・ブロック7及びフラッシュメモリ・インターフェース・ブロック10には各種レジスタが備わる。ホスト・インターフェース・ブロック7のレジスタにはホストシステム4から与えられるアドレス情報、外部コマンド情報等が書き込まれる。また、フラッシュメモリ・インターフェース・ブロック10のレジスタには、ホスト・インターフェース・ブロック7に書き込まれた情報に基づいて、フラッシュメモリ2内のアクセス対象領域を指示する情報が書き込まれる。
The
ホストシステム4側のアドレス空間は、セクタ(512バイト)単位で分割した領域に付けた通番であるLBA(Logical Block Address)で管理されている。メモリコントローラ3の内部では、複数個のセクタをまとめた論理ブロックが構成され、各論理ブロックに対応するデータは、その論理ブロックに割り当てられた1個又は複数個の物理ブロックに書き込まれる。従って、メモリコントローラ3は、論理ブロックと物理ブロックの対応関係を管理している。尚、以下の説明では、1個の論理ブロックが2個の物理ブロック(フラッシュメモリ2−0内の1個の物理ブロックとフラッシュメモリ2−1内の1個の物理ブロック)に割り当てられる実施の形態を例として説明する。
The address space on the
ワークエリア8は、マイクロプロセッサ6によるフラッシュメモリ2の制御に必要なデータが一時的に格納される作業領域であり、複数のSRAM(Static Random Access Memory)セルによって構成される。例えば、物理ブロックと論理ブロックとの対応関係は、データの書き込みや消去が行われる毎に変化するので、個々の時点における両者の対応関係を管理するためアドレス変換テーブルがこのワークエリア8上に作成される。
The
バッファ9は、フラッシュメモリ2から読み出されたデータ及びフラッシュメモリ2に書き込むべきデータを一時的に蓄積するバッファである。すなわち、フラッシュメモリ2から読み出されたデータは、ホストシステム4が受け取り可能な状態となるまでバッファ9に保持され、フラッシュメモリ2に書き込むべきデータは、フラッシュメモリ2が書き込み可能な状態となるまでバッファ9に保持される。
The
フラッシュメモリ・インターフェース・ブロック10は、フラッシュメモリ2の入出力バス(I/O)の端子に接続された内部バス14を介して、フラッシュメモリ2とデータやアドレス情報、ステータス情報、内部コマンド情報の授受を行う。これらの授受を行うため、フラッシュメモリ・インターフェース・ブロック10は、フラッシュメモリ2のコマンド・ラッチ・イネーブル(CLE)、アドレス・ラッチ・イネーブル(ALE)、ライト・イネーブル(WE)、リード・イネーブル(RE)、チップ・イネーブル(CE)等の制御信号端子に信号を供給する。
The flash
ここで、1個の論理ブロックに割り当てられた2個の物理ブロックには、4セクタ単位(ページ単位)で論理ブロックに含まれるセクタが交互に振り分けられる。4セクタ単位で交互にセクタを振り分ける場合、LBAの下位側から3ビット目が「0」のセクタはフラッシュメモリ2−0内の物理ブロックに振り分けられ、LBAの下位側から3ビット目が「1」のセクタはフラッシュメモリ2−1内の物理ブロックに振り分けられる。つまり、LBAの下位側から3ビット目が「0」のときはフラッシュメモリ2−0が選択され、LBAの下位側から3ビット目が「1」のときはフラッシュメモリ2−1が選択される。この選択を行うため、フラッシュメモリ・インターフェース・ブロック10は、フラッシュメモリ2−0又はフラッシュメモリ2−1を活性化させる信号をチップセレクト信号線15に供給する。
Here, the sectors included in the logical block are alternately allocated to the two physical blocks allocated to one logical block in units of 4 sectors (page units). When the sectors are allocated alternately in units of 4 sectors, the sector whose third bit is “0” from the lower side of the LBA is allocated to the physical block in the flash memory 2-0, and the third bit from the lower side of the LBA is “1”. Are allocated to physical blocks in the flash memory 2-1. That is, when the third bit from the lower LBA side is “0”, the flash memory 2-0 is selected, and when the third bit from the lower LBA side is “1”, the flash memory 2-1 is selected. . In order to make this selection, the flash
尚、1個の論理ブロックに2m+1個の物理ブロックを割り当てる場合には、LBAの下位側から数えて3+mビット目から3ビット目までの値に基づいて各物理ブロックが含まれるフラッシュメモリ2の選択が行われる。例えば、1個の論理ブロックに4個の物理ブロック(フラッシュメモリ2−0〜2−3内の物理ブロック)を割り当てる場合には、LBAの下位側から数えて4ビット目と3ビット目の値に基づいて各物理ブロックが含まれるフラッシュメモリ2−0〜2−3のいずれか1つが選択される。つまり、LBAの下位側から数えて4ビット目と3ビット目が、「00」のときにフラッシュメモリ2−0が選択され、「01」のときにフラッシュメモリ2−1が選択され、「10」のときにフラッシュメモリ2−2が選択され、「11」のときにフラッシュメモリ2−3が選択される。
When 2 m + 1 physical blocks are allocated to one logical block, the
また、フラッシュメモリ・インターフェース・ブロック10は、フラッシュメモリ2−0〜2−1のビジー状態を監視して、フラッシュメモリ2−0〜2−1の内部で実行されるデータの読み出し、書き込み、消去の動作が正常に実行されたかどうかを検知する機能(ビジー解除検知機能)を有している。データの読み出し、書き込み、消去が正常に実行されなかった場合には、リトライを実行する機能を設けるようにしても良い。
The flash
ECCブロック11は、フラッシュメモリ2−0〜2−1に書き込むデータに付加すべきエラー・コレクション・コードを生成するとともに、読み出しデータに付加されたエラー・コレクション・コードに基づいて、読み出しデータに含まれる誤りを検出・訂正する。
The
ROM12は、不揮発性の記憶素子であり、シーケンスコマンド等を記憶している。マイクロプロセッサ6は、ROM12に記憶されているプログラムを読み込むことで、各種処理を実行している。また、シーケンスコマンドは、各種処理等を定義したコマンドセットで構成されている。フラッシュメモリ・インターフェース・ブロック10は、このシーケンスコマンドに従って、フラッシュメモリ2とデータ、アドレス情報、ステータス情報、内部コマンド等の授受を行う。
The
フラッシュメモリ2は、レジスタとメモリセルとの間でデータの複写を行って、データの書き込み又は読み出しを行う。このメモリセルアレイは、複数のメモリセル群と、ワード線とを備える。各メモリセル群は、複数のメモリセルが直列に接続されたものである。ワード線は、メモリセル群の特定のメモリセルを選択するためのものである。このワード線を介して選択されたメモリセルとレジスタとの間でデータの複写、すなわち、レジスタから選択されたメモリセルへの複写、又は選択されたメモリセルからレジスタへのデータの複写が行われる。つまり、メモリコントローラ3から与えられたデータは、レジスタを介してメモリセルアレイに書き込まれ、メモリセルアレイに記憶されているデータはレジスタを介してメモリコントローラ3に供給される。
The
メモリセルアレイを構成するメモリセルは、2つのゲートを備えたMOSトランジスタによって構成される。ここで、一方のゲートはコントロールゲート、他方のゲートはフローティングゲートとそれぞれ呼ばれている。このフローティングゲートに電荷(電子)を注入若しくはフローティングゲートから電荷(電子)を排出することによって、データの書き込み若しくはデータの消去が行われる。 A memory cell constituting the memory cell array is constituted by a MOS transistor having two gates. Here, one gate is called a control gate, and the other gate is called a floating gate. Data is written or erased by injecting charges (electrons) into the floating gate or discharging charges (electrons) from the floating gate.
このフローティングゲートは、周囲が絶縁体で囲まれているので、注入された電子は長期間にわたって保持される。なお、フローティングゲートに電子を注入するときは、コントロールゲートが高電位側となる高電圧がコントロールゲートとフローティングゲートとの間に印加される。また、フローティングゲートから電子を排出するときは、コントロールゲートが低電位側となる高電圧がコントロールゲートとフローティングゲートとの間に印加される。 Since the floating gate is surrounded by an insulator, the injected electrons are held for a long period of time. Note that when electrons are injected into the floating gate, a high voltage at which the control gate is on the high potential side is applied between the control gate and the floating gate. In addition, when electrons are discharged from the floating gate, a high voltage at which the control gate is on the low potential side is applied between the control gate and the floating gate.
ここで、フローティングゲートに電子が注入されている状態が書き込み状態であり、論理値「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”.
このようなフラッシュメモリ2のアドレス空間は、“ページ”及び“ブロック(物理ブロック)”で構成されている。ページは、フラッシュメモリ2で行われるデータ読み出し動作及びデータ書き込み動作における処理単位である。つまり、ワード線によって選択されるメモリセルがページに相当し、このページ単位でレジスタからメモリセルへのデータの書き込み(複写)、又はメモリセルからレジスタへのデータの読み出し(複写)が行われる。物理ブロックは、フラッシュメモリ2で行われるデータ消去動作における処理単位であり、複数個のページで構成されている。
Such an address space of the
レジスタからメモリセルへのデータの書き込みは、約200μs程度の時間を要する。メモリセルからレジスタへのデータの読み出しは、約20μs程度の時間を要する。物理ブロックに記憶されているデータの消去は、約2ms程度の時間を要する。これらの動作を実行している間、フラッシュメモリ2は、データ、アドレス情報、内部コマンド等の授受を行うことのできないビジー状態になる。
Writing data from the register to the memory cell takes about 200 μs. Reading data from the memory cell to the register takes about 20 μs. Erasing the data stored in the physical block takes about 2 ms. While these operations are being executed, the
次に、フラッシュメモリ2のアドレス空間の具体的な構造について説明する。
Next, a specific structure of the address space of the
本実施の形態では、フラッシュメモリ2−0〜2−1が、大ブロックで構成されている場合を例として説明する。図2は、フラッシュメモリ2−0のアドレス空間の構造を概略的に示す図である。尚、フラッシュメモリ2−0とフラッシュメモリ2−1のアドレス空間は同一の構造なので、フラッシュメモリ2−0のアドレス空間の構造についてだけ説明する。 In the present embodiment, a case where the flash memories 2-0 to 2-1 are configured by large blocks will be described as an example. FIG. 2 is a diagram schematically showing the structure of the address space of the flash memory 2-0. Since the address space of the flash memory 2-0 and the flash memory 2-1 is the same, only the structure of the address space of the flash memory 2-0 will be described.
図2に示されるように、フラッシュメモリ2−0のアドレス空間は、ブロック0〜ブロック4095からなる4096個の物理ブロックで構成されている。各物理ブロックは、ページ0〜ページ63からなる64個のページで構成されている。更に、各ページは、2048バイト(4セクタ)のユーザ領域と64バイトの冗長領域で構成されている。
As shown in FIG. 2, the address space of the flash memory 2-0 is composed of 4096 physical
ここで、フラッシュメモリ2−0が有する4096個の物理ブロックに付けた通番が、物理ブロックを特定するための物理ブロックアドレス(PBA)である。フラッシュメモリ2−0が有する4096個の物理ブロックに含まれる全てのページ、つまり、262144個のページに付けた通番が、フラッシュメモリ2−0に与えるロウアドレス(0〜262143)に対応する。つまり、ロウアドレスにより、書き込み又は読み出しの対象のページが特定される。また、各ページは、図2に示されるように、ビットb0〜b7からなる8ビットを1バイトとして、2048バイト(4セクタ)のユーザ領域25と、64バイトの冗長領域26を備え、合計2112バイトの容量を有している。この2112バイトの領域内におけるバイト単位のアドレスがカラムアドレス(0〜2111)に対応する。
Here, the serial numbers assigned to 4096 physical blocks of the flash memory 2-0 are physical block addresses (PBA) for specifying the physical blocks. All pages included in 4096 physical blocks of the flash memory 2-0, that is, serial numbers assigned to 262144 pages correspond to row addresses (0 to 262143) given to the flash memory 2-0. That is, the page to be written or read is specified by the row address. Further, as shown in FIG. 2, each page includes a
更に、ページの構造について、図3を参照して説明する。ユーザ領域25は、ホストシステム4から与えられるユーザデータが記憶される領域であり、第1セクタ16、第2セクタ17、第3セクタ18及び第4セクタ19に分割して使用されている。第1セクタ16はカラムアドレスの0〜511に対応する領域であり、第2セクタ17はカラムアドレスの512〜1023に対応する領域であり、第3セクタ18はカラムアドレスの1024〜1535に対応する領域であり、第4セクタ19はカラムアドレスの1536〜2047に対応する領域である。
Further, the page structure will be described with reference to FIG. The
冗長領域26は、不良ブロックであるか否かを示すブロックステータス、対応関係にある論理ブロックを特定するための論理アドレス情報、エラー・コレクション・コード等が記憶される領域であり、共通領域20、第1個別領域21、第2個別領域22、第3個別領域23及び第4個別領域24に分割して使用されている。
The
共通領域20は、カラムアドレスの2048〜2055に対応する領域(8バイトの領域)であり、ブロックステータス、論理アドレス情報等が記憶される。共通領域20に記憶されるブロックステータス、論理アドレス情報等は、物理ブロックに含まれる63個のページに共通な管理情報であり、この管理情報は、通常は先頭ページの共通領域20にだけ書き込まれる。
The
第1個別領域21は、カラムアドレスの2056〜2069に対応する領域(14バイトの領域)であり、第1セクタ16に書き込まれたデータに関する情報が記憶される。第2個別領域22は、カラムアドレスの2070〜2083に対応する領域(14バイトの領域)であり、第2セクタ17に書き込まれたデータに関する情報が記憶される。第3個別領域23は、カラムアドレスの2084〜2097に対応する領域(14バイトの領域)であり、第3セクタ18に書き込まれたデータに関する情報が記憶される。第4個別領域24は、カラムアドレスの2098〜2111に対応する領域(14バイトの領域)であり、第4セクタ19に書き込まれたデータに関する情報が記憶される。
The first
例えば、第1個別領域21には、第1セクタ16に記憶されるデータに対応するエラー・コレクション・コード28等が記憶される。以下同様に、第2セクタ17〜第4セクタ19に記憶されるデータに対応するエラー・コレクション・コード28等は、第2個別領域22、第3個別領域23及び第4個別領域24にそれぞれ記憶される。
For example, the first
エラー・コレクション・コード28は、ECCブロック11で生成される管理情報であり、第1個別領域21に記憶されているエラー・コレクション・コード28に基づいて、第1セクタ16に記憶されているデータに含まれる誤りが訂正される。以下同様に、第2個別領域22〜第4個別領域24に記憶されているエラー・コレクション・コード28に基づいて、第2セクタ17〜第4セクタ19に記憶されているデータに含まれる誤りが訂正される。
The
尚、エラー・コレクション・コード28のデータ量は誤りの訂正能力に応じて適宜設定することがでできる。例えば、1シンボルが10ビットのリードソロモン符号をエラー・コレクション・コードとして使用して、4シンボル以下の誤りを訂正できるようにしたい場合には、8シンボル(10バイト)のエラー・コレクション・コードが第1個別領域21〜第4個別領域24にそれぞれ書き込まれる。
The data amount of the
次に、ホストシステム4からLBAで指定されるアクセス領域とフラッシュメモリ2のユーザ領域25の対応関係について説明する。本実施の形態では、LBAが連続する512セクタの領域が、フラッシュメモリ2−0内の1個の物理ブロックに含まれるユーザ領域とフラッシュメモリ2−1内の1個の物理ブロックに含まれるユーザ領域に割り当てられる。つまり、LBAが連続する512セクタをまとめた論理ブロックが、フラッシュメモリ2−0内の1個の物理ブロックとフラッシュメモリ2−1内の1個の物理ブロックに割り当てられる。この論理ブロックと物理ブロックの対応関係は冗長領域26に書き込まれている論理アドレス情報に基づいて判断される。
Next, the correspondence relationship between the access area designated by the LBA from the
本実施の形態では、512セクタをまとめたものを論理ブロックとしたので、LBAの下位9ビットを除いた上位ビット側が論理ブロックに付けた通番である論理ブロック番号(LBN)に対応する。例えば、LBAが0〜511のセクタで構成された論理ブロックのLBNは0になり、LBAが512〜1023のセクタで構成された論理ブロックのLBNは1になり、LBAが1024〜1535のセクタで構成された論理ブロックのLBNは2になる。 In this embodiment, since 512 blocks are combined into a logical block, the upper bit side excluding the lower 9 bits of the LBA corresponds to the logical block number (LBN) which is a serial number assigned to the logical block. For example, the LBN of a logical block composed of sectors with an LBA of 0 to 511 is 0, the LBN of a logical block composed of sectors with an LBA of 512 to 1023 is 1, and the LBA is a sector of 1024 to 1535. The LBN of the configured logical block is 2.
尚、共通領域20に書き込まれる論理アドレス情報は、この論理ブロック番号(LBN)を特定できる情報であればよい。又、同一の論理ブロックに割り当てられたフラッシュメモリ2−0内の1個の物理ブロックとフラッシュメモリ2−1内の1個の物理ブロックには、同一の論理アドレス情報が書き込まれる。
The logical address information written in the
論理ブロックに含まれる512セクタの2個の物理ブロック(フラッシュメモリ2−0内の1個の物理ブロックとフラッシュメモリ2−1内の1個の物理ブロック)に対する振り分けについては、LBAの下位9ビットの値に基づいて振り分け先を特定することができる。 For allocation to two physical blocks of 512 sectors included in the logical block (one physical block in the flash memory 2-0 and one physical block in the flash memory 2-1), the lower 9 bits of the LBA The distribution destination can be specified based on the value of.
振り分け先がフラッシュメモリ2−0側の物理ブロックであるか、又はフラッシュメモリ2−1側の物理ブロックであるかは、LBAの下位側から数えて3ビット目の値に基づいて特定することができる。振り分け先がページ0〜ページ63のいずれのページであるかは、LBAの下位側から数えて9ビット目から4ビット目の値に基づいて特定される。振り分け先が第1セクタ16〜第4セクタ19のいずれの領域であるかは、LBAの下位側から数えて2ビット目と1ビット目の値に基づいて特定される。
Whether the distribution destination is a physical block on the flash memory 2-0 side or a physical block on the flash memory 2-1 side can be specified based on the value of the third bit counted from the lower side of the LBA. it can. Whether the distribution destination is the
例えば、LBAの下位9ビットの値が「0 0000 0000」〜「0 0000 0011」のセクタは、フラッシュメモリ2−0側の物理ブロックのページ0に振り分けられる。LBAの下位9ビットの値が「0 0000 0100」〜「0 0000 0111」のセクタは、フラッシュメモリ2−1側の物理ブロックのページ0に振り分けられる。LBAの下位9ビットの値が「0 0000 1000」〜「0 0000 1011」のセクタは、フラッシュメモリ2−0側の物理ブロックのページ1に振り分けられる。LBAの下位9ビットの値が「0 0000 1100」〜「0 0000 1111」のセクタは、フラッシュメモリ2−1側の物理ブロックのページ1に振り分けられる。更に、各ページに振り分けられた4セクタについては、LBAの下位側から数えて2ビット目と1ビット目の値が「00」のセクタは、第1セクタ16に振り分けられる。LBAの下位側から数えて2ビット目と1ビット目の値が「01」のセクタは、第2セクタ17に振り分けられる。LBAの下位側から数えて2ビット目と1ビット目の値が「10」のセクタは、第3セクタ18に振り分けられる。LBAの下位側から数えて2ビット目と1ビット目の値が「11」のセクタは、第4セクタ19に振り分けられる。
For example, a sector whose lower 9 bits of the LBA are “0 0000 0000” to “0 0000 0011” is allocated to
次に、フラッシュメモリに与えるアドレスの生成について説明する。ロウアドレスを生成するときは、LBAから論理ブロック番号(LBN)を求め、更に、論理ブロック番号(LBN)に対応する物理ブロックアドレス(PBA)を求める。この、物理ブロックアドレス(PBA)の下位側に、LBAの下位側から数えて9ビット目から4ビット目を連結することによりロウアドレスを生成することができる。カラムアドレスについては、LBAの下位側から数えて2ビット目と1ビット目の値に基づいて求めることができる。つまり、求めるカラムアドレスは、この2ビットが「00」であれば第1セクタ16のアドレスとなり、「01」であれば第2セクタ17のアドレスとなり、「10」であれば第3セクタ18のアドレスとなり、「11」であれば第3セクタ19のアドレスとなる。
Next, generation of an address given to the flash memory will be described. When generating a row address, a logical block number (LBN) is obtained from the LBA, and further a physical block address (PBA) corresponding to the logical block number (LBN) is obtained. A row address can be generated by concatenating the 9th to 4th bits counted from the lower side of the LBA to the lower side of the physical block address (PBA). The column address can be obtained based on the values of the second bit and the first bit counted from the lower side of the LBA. That is, the column address to be obtained is the address of the
次に、フラッシュメモリ2−0又はフラッシュメモリ2−1から1ページ分のデータを読み出す動作を、図4を参照して説明する。図4は、t1〜t26の期間にフラッシュメモリ2−0又はフラッシュメモリ2−1の入出力バス(I/O)に入力されるコマンド及びアドレスと入出力バス(I/O)から出力されるデータを示している。 Next, an operation of reading data for one page from the flash memory 2-0 or the flash memory 2-1 will be described with reference to FIG. FIG. 4 shows a command and address input to the input / output bus (I / O) of the flash memory 2-0 or the flash memory 2-1 and the output from the input / output bus (I / O) during the period t1 to t26. Data are shown.
t1〜t2の期間:
リードコマンド(RC)が入出力バス(I/O)に入力される。
Period from t1 to t2:
A read command (RC) is input to the input / output bus (I / O).
t2〜t3の期間:
アドレス(AD)が入出力バス(I/O)に入力される。ここでは、読み出すページに対応するロウアドレスと第1セクタ16の先頭アドレス(図3に示した(1))に対応するカラムアドレスが入力される。
Period from t2 to t3:
An address (AD) is input to the input / output bus (I / O). Here, the row address corresponding to the page to be read and the column address corresponding to the head address of the first sector 16 ((1) shown in FIG. 3) are input.
t3〜t4の期間:
フラッシュメモリ内のセルアレイからレジスタへのデータの読み出し(複写)が開始され、このデータの読み出し(複写)が終了するまで、フラッシュメモリはビジー状態になる。
Period from t3 to t4:
Reading (copying) data from the cell array in the flash memory to the register is started, and the flash memory is in a busy state until this data reading (copying) is completed.
t4〜t5の期間:
リード・イネーブル(RE)の端子に入力する信号を、「H」(ハイ・レベル)と「L」(ロー・レベル)に交互に遷移させることより、第1セクタ16に保持されているデータ(DT)が入出力バス(I/O)から出力される。ここで、入出力バス(I/O)から出力されるデータ(DT)は、リード・イネーブル(RE)の端子に入力される信号が「H」から「L」に遷移する毎に、次のカラムアドレスのデータに切替わる。
Period from t4 to t5:
By shifting the signal input to the read enable (RE) terminal alternately between “H” (high level) and “L” (low level), the data stored in the first sector 16 ( DT) is output from the input / output bus (I / O). Here, the data (DT) output from the input / output bus (I / O) is the following each time the signal input to the read enable (RE) terminal changes from “H” to “L”. Switch to column address data.
t5〜t6の期間:
ランダムリードコマンド(RRC)が入出力バス(I/O)に入力される。
Period from t5 to t6:
A random read command (RRC) is input to the input / output bus (I / O).
t6〜t7の期間:
アドレス(AD)が入出力バス(I/O)に入力される。ここでは、第1個別領域21の先頭アドレス(図3に示した(2))に対応するカラムアドレスが入力される。
Period from t6 to t7:
An address (AD) is input to the input / output bus (I / O). Here, the column address corresponding to the head address ((2) shown in FIG. 3) of the first
t7〜t8の期間:
リード・イネーブル(RE)の端子に入力する信号を、「H」と「L」に交互に遷移させることより、第1個別領域21に保持されているデータ(DT)が入出力バス(I/O)から出力される。ここで、入出力バス(I/O)から出力されるデータ(DT)は、リード・イネーブル(RE)の端子に入力される信号が「H」から「L」に遷移する毎に、次のカラムアドレスのデータに切替わる。
Period from t7 to t8:
By alternately changing the signal input to the read enable (RE) terminal between “H” and “L”, the data (DT) held in the first
以下同様に、ランダムリードコマンド(RRC)とアドレス(AD)が入出力バス(I/O)に順次入力される。つまり、第2セクタ17、第2個別領域22、第3セクタ18、第3個別領域23、第4セクタ19及び第4個別領域24の先頭アドレス(図3に示した(3)〜(8))に対応するカラムアドレスが、ランダムリードコマンド(RRC)と共に順次入力される。入出力バス(I/O)に入力された各アドレス(AD)に対応して、第2セクタ17、第2個別領域22、第3セクタ18、第3個別領域23、第4セクタ19及び第4個別領域24に保持されているデータ(DT)が入出力バス(I/O)から出力される。
Similarly, a random read command (RRC) and an address (AD) are sequentially input to the input / output bus (I / O). That is, the start addresses of the
尚、リードコマンド(RC)及びランダムリードコマンド(RRC)が入出力バス(I/O)に入力されている期間は、コマンド・ラッチ・イネーブル(CLE)の端子に「H」の信号が入力され、アドレス・ラッチ・イネーブル(ALE)の端子に「L」の信号が入力される。アドレス(AD)が入出力バス(I/O)に入力されている期間は、コマンド・ラッチ・イネーブル(CLE)の端子に「L」の信号が入力され、アドレス・ラッチ・イネーブル(ALE)の端子に「H」の信号が入力される。リードコマンド(RC)、ランダムリードコマンド(RRC)及びアドレス(AD)が入出力バス(I/O)に入力されている期間に、ライト・イネーブル(WE)の端子に入力される信号を「L」から「H」に遷移させることにより、リードコマンド(RC)、ランダムリードコマンド(RRC)及びアドレス(AD)がフラッシュメモリに取り込まれる。 During the period in which the read command (RC) and the random read command (RRC) are input to the input / output bus (I / O), an “H” signal is input to the command latch enable (CLE) terminal. The “L” signal is input to the address latch enable (ALE) terminal. While the address (AD) is being input to the input / output bus (I / O), a signal of “L” is input to the terminal of the command latch enable (CLE), and the address latch enable (ALE) An “H” signal is input to the terminal. While the read command (RC), random read command (RRC), and address (AD) are being input to the input / output bus (I / O), the signal input to the write enable (WE) terminal is set to “L”. ”To“ H ”, the read command (RC), random read command (RRC), and address (AD) are taken into the flash memory.
次に、フラッシュメモリ2−0又はフラッシュメモリ2−1に1ページ分のデータを書き込む動作を、図5を参照して説明する。図5は、t31〜t56の期間にフラッシュメモリ2−0又はフラッシュメモリ2−1の入出力バス(I/O)に入力されるコマンド、アドレス及びデータを示している。 Next, an operation of writing data for one page in the flash memory 2-0 or the flash memory 2-1 will be described with reference to FIG. FIG. 5 shows commands, addresses, and data input to the input / output bus (I / O) of the flash memory 2-0 or the flash memory 2-1 during the period from t31 to t56.
t31〜t32の期間:
インプットコマンド(IC)が入出力バス(I/O)に入力される。
Period from t31 to t32:
An input command (IC) is input to the input / output bus (I / O).
t32〜t33の期間:
アドレス(AD)が入出力バス(I/O)に入力される。ここでは、書き込み先のページに対応するロウアドレスと第1セクタ16の先頭アドレス(図3に示した(1))に対応するカラムアドレスが入力される。
Period from t32 to t33:
An address (AD) is input to the input / output bus (I / O). Here, a row address corresponding to the page to be written and a column address corresponding to the head address of the first sector 16 ((1) shown in FIG. 3) are input.
t33〜t34の期間:
第1セクタ16に書き込むデータ(DT)が入出力バス(I/O)に順次入力される。書き込み先のカラムアドレスは、ライト・イネーブル(WE)の端子に入力される信号が「L」から「H」に遷移するタイミングで次のカラムアドレスに切替わる。従って、第1セクタ16に書き込むデータ(DT)も、ライト・イネーブル(WE)の端子に入力される信号レベルの遷移に合わせて入出力バス(I/O)に順次入力される。
Period from t33 to t34:
Data (DT) to be written to the
t34〜t35の期間:
ランダムインプットコマンド(RIC)が入出力バス(I/O)に入力される。
Period from t34 to t35:
A random input command (RIC) is input to the input / output bus (I / O).
t35〜t36の期間:
アドレス(AD)が入出力バス(I/O)に入力される。ここでは、第1個別領域21の先頭アドレス(図3に示した(2))に対応するカラムアドレスが入力される。
Period from t35 to t36:
An address (AD) is input to the input / output bus (I / O). Here, the column address corresponding to the head address ((2) shown in FIG. 3) of the first
t36〜t37の期間:
第1個別領域21に書き込むデータ(DT)が入出力バス(I/O)に順次入力される。書き込み先のカラムアドレスは、ライト・イネーブル(WE)の端子に入力される信号が「L」から「H」に遷移するタイミングで次のカラムアドレスに切替わる。従って、第1個別領域21に書き込むデータ(DT)も、ライト・イネーブル(WE)の端子に入力される信号レベルの遷移に合わせて入出力バス(I/O)に順次入力される。
Period from t36 to t37:
Data (DT) to be written in the first
以下同様に、ランダムインプットコマンド(RIC)、アドレス(AD)及びデータ(DT)が入出力バス(I/O)に順次入力される。つまり、第2セクタ17、第2個別領域22、第3セクタ18、第3個別領域23、第4セクタ19及び第4個別領域24の先頭アドレス(図3に示した(3)〜(8))に対応するカラムアドレスと、これらの領域に書き込むデータ(DT)が、ランダムインプットコマンド(RIC)と共に順次入力される。
Similarly, a random input command (RIC), an address (AD), and data (DT) are sequentially input to the input / output bus (I / O). That is, the start addresses of the
第4個別領域24に書き込むデータ(DT)が入出力バス(I/O)に順次入力された後(t55〜t56の期間)に、プログラムコマンド(PC)が入出力バス(I/O)に入力される。このプログラムコマンド(PC)に応答して、フラッシュメモリ内のレジスタからセルアレイへのデータの書き込み(複写)が開始され、このデータの書き込み(複写)が終了するまでフラッシュメモリはビジー状態になる。
After data (DT) to be written to the fourth
尚、インプットコマンド(IC)、ランダムインプットコマンド(RIC)及びプログラムコマンド(PC)が入出力バス(I/O)に入力されている期間は、コマンド・ラッチ・イネーブル(CLE)の端子に「H」の信号が入力され、アドレス・ラッチ・イネーブル(ALE)の端子に「L」の信号が入力される。アドレス(AD)が入出力バス(I/O)に入力されている期間は、コマンド・ラッチ・イネーブル(CLE)の端子に「L」の信号が入力され、アドレス・ラッチ・イネーブル(ALE)の端子に「H」の信号が入力される。データ(DT)が入出力バス(I/O)に入力されている期間は、コマンド・ラッチ・イネーブル(CLE)の端子に「L」の信号が入力され、アドレス・ラッチ・イネーブル(ALE)の端子に「L」の信号が入力される。インプットコマンド(IC)、ランダムインプットコマンド(RIC)、プログラムコマンド(PC)及びアドレス(AD)が入出力バス(I/O)に入力されている期間に、ライト・イネーブル(WE)の端子に入力される信号を「H」から「L」に遷移させることにより、インプットコマンド(IC)、ランダムインプットコマンド(RIC)、プログラムコマンド(PC)及びアドレス(AD)がフラッシュメモリに取り込まれる。 During the period when the input command (IC), random input command (RIC), and program command (PC) are input to the input / output bus (I / O), the command latch enable (CLE) terminal is set to “H”. ”Signal is input, and the“ L ”signal is input to the address latch enable (ALE) terminal. While the address (AD) is being input to the input / output bus (I / O), a signal of “L” is input to the terminal of the command latch enable (CLE), and the address latch enable (ALE) An “H” signal is input to the terminal. During the period when data (DT) is input to the input / output bus (I / O), a signal of “L” is input to the terminal of the command latch enable (CLE), and the address latch enable (ALE) is set. An “L” signal is input to the terminal. Input command (IC), random input command (RIC), program command (PC) and address (AD) are input to the input / output bus (I / O) and input to the write enable (WE) terminal. The input command (IC), the random input command (RIC), the program command (PC), and the address (AD) are taken into the flash memory by changing the signal to be changed from “H” to “L”.
次に、フラッシュメモリ2−0又はフラッシュメモリ2−1の内部で行われるセルアレイからレジスタへのデータの読み出し(複写)及びレジスタからセルアレイへのデータの書き込み(複写)が正常に行われたか否かを検出する方法について図6〜図8を参照して説明する。 Next, whether or not the data reading (copying) from the cell array to the register and the data writing (copying) from the register to the cell array performed normally in the flash memory 2-0 or the flash memory 2-1 are performed. A method for detecting this will be described with reference to FIGS.
本実施の形態におけるデータの読み出し処理及び書き込み処理では、フラッシュメモリ2−0とフラッシュメモリ2−1に交互にアクセスしている。従来、複数のフラッシュメモリに交互にアクセスする場合には、アクセスすべきフラッシュメモリのレディ/ビジー(R/B)の端子から出力される信号がレディ状態を示す「H」であることを確認してからアクセスを開始していた。つまり、フラッシュメモリがビジー状態であるか否かを、フラッシュメモリのレディ/ビジー(R/B)の端子から出力される信号レベルによって判断してからフラッシュメモリに対するアクセスを開始していた。 In the data read processing and write processing in the present embodiment, the flash memory 2-0 and the flash memory 2-1 are alternately accessed. Conventionally, when alternately accessing a plurality of flash memories, it is confirmed that the signal output from the ready / busy (R / B) terminal of the flash memory to be accessed is “H” indicating the ready state. Access has started since then. That is, access to the flash memory is started after determining whether or not the flash memory is busy based on the signal level output from the ready / busy (R / B) terminal of the flash memory.
しかし、レディ/ビジー(R/B)の端子から出力される信号レベルを、アクセスを開始する直前に確認した場合、現在の状態がビジー状態であるか又はレディ状態であるかは判断することはできるが、その直前に行われたセルアレイからレジスタへのデータの読み出し(複写)又はレジスタからセルアレイへのデータの書き込み(複写)が正常に行われたか否かを判断することができない。例えば、フラッシュメモリが入力されたコマンドを正しく受け取ることができなかったために、セルアレイからレジスタへのデータの読み出し(複写)又はレジスタからセルアレイへのデータの書き込み(複写)が開始されなかった場合、それを検出することができない。 However, when the signal level output from the ready / busy (R / B) terminal is checked immediately before the access is started, it is possible to determine whether the current state is the busy state or the ready state. However, it is impossible to determine whether or not the data read (copy) from the cell array to the register or the data write (copy) from the register to the cell array performed immediately before is normally performed. For example, if the flash memory could not correctly receive the input command and data reading (copying) from the cell array to the register or data writing (copying) from the register to the cell array did not start, Cannot be detected.
そこで、本発明による本実施の形態では、セルアレイからレジスタへのデータの読み出し(複写)又はレジスタからセルアレイへのデータの書き込み(複写)が正常に行われたか否かを判断するため、フラッシュメモリ・インターフェース・ブロック10内にビジー解除検知手段を設けている。このビジー解除検知手段は、リードコマンド(RC)又はプログラムコマンド(PC)を与えたときに、レディ/ビジー(R/B)の端子から出力される信号が、ビジー状態を示す「L」になった後、レディ状態を示す「H」に遷移したことを検出する。
Therefore, in the present embodiment according to the present invention, in order to determine whether or not data reading (copying) from the cell array to the register or data writing (copying) from the register to the cell array has been normally performed, Busy release detection means is provided in the
図6を参照して、このビジー解除検知手段について説明する。図6はフラッシュメモリ・インターフェース・ブロック10内に備わるビジー解除検知手段の構成とビジー解除検知手段に入力される信号及びビジー解除検知手段から出力される信号を示している。なお、ビジー解除検知手段以外の構成については図示を省略している。
With reference to FIG. 6, the busy release detecting means will be described. FIG. 6 shows the configuration of the busy release detecting means provided in the flash
図6において、41は制御ブロック、42、43はフリップ・フロップ、44は内部バス14に相当する入出力バス(I/O)である。フリップ・フロップ42、43は例えばDタイプフリップ・フロップを使用できる。フリップ・フロップ42、43にはリセット端子R(Dタイプフリップ・フロップのクリア(Clear)端子)、検出端子S(Dタイプフリップ・フロップのクロック(Clock)端子)、出力端子Qを備えている。尚、図示していないDタイプフリップ・フロップのデータ(Data)端子は、プルアップされている。
In FIG. 6,
フリップ・フロップ42、43の出力端子Qから出力される信号は制御ブロック41に入力されている。また、フリップ・フロップ42、43のリセット端子Rには制御ブロック41からリセット信号Rが入力されている。また、フリップ・フロップ42、43の検出端子Sにはフラッシュメモリ2−0、2−1のレディ/ビジー(R/B)から出力される信号が入力されている。ここで、フラッシュメモリ2−0に対応するものは添え字A、フラッシュメモリ2−1に対応するものは添え字Bを付けて図示してある。
A signal output from the output terminal Q of the flip-
フリップ・フロップ42、43は、リセット端子Rに「L」の信号が入力されると出力端子Qから出力される信号が「L」になる。この状態で検出端子Sに入力されている信号が「L」から「H」に遷移すると出力端子Qから出力される信号は「H」になる。
In the flip-
制御ブロック41は、フラッシュメモリ2−0にアクセスするときに、フラッシュメモリ2−0のチップ・イネーブル(CEA)に「L」の信号を入力し、フラッシュメモリ2−1にアクセスするときに、フラッシュメモリ2−1のチップ・イネーブル(CEB)に「L」の信号を入力する。
When accessing the flash memory 2-0, the
次に、フラッシュメモリ2−0とフラッシュメモリ2−1から交互にデータを読み出す動作を、図7を参照して説明する。 Next, an operation of alternately reading data from the flash memory 2-0 and the flash memory 2-1 will be described with reference to FIG.
まず、制御ブロック41は、リードコマンド(RC)をフラッシュメモリ2−0の入出力バス(I/O)44に入力するタイミングで、フリップ・フロップ42のリセット端子RAに「L」の信号を入力する(t61)。リセット端子RAに「L」の信号が入力されたことにより、フリップ・フロップ42の出力端子QAから出力される信号は「H」から「L」に遷移する。その後、フラッシュメモリ2−0は、入出力バス(I/O)44に入力されたリードコマンド(RC)及びアドレス(AD)に基づいて、セルアレイからレジスタへのデータの読み出し(複写)を開始し、レディ/ビジー(R/BA)の端子から出力される信号を「L」にする(t62)。
First, the
次に、制御ブロック41は、リードコマンド(RC)をフラッシュメモリ2−1の入出力バス(I/O)44に入力するタイミングで、フリップ・フロップ43のリセット端子RBに「L」の信号を入力する(t63)。リセット端子RBに「L」の信号が入力されたことにより、フリップ・フロップ43の出力端子QBから出力される信号は「H」から「L」に遷移する。その後、フラッシュメモリ2−1は、入出力バス(I/O)44に入力されたリードコマンド(RC)及びアドレス(AD)に基づいて、セルアレイからレジスタへのデータの読み出し(複写)を開始し、レディ/ビジー(R/BB)の端子から出力される信号を「L」にする(t64)。
Next, the
この後、制御ブロック41は、出力端子QAから出力される信号が「H」になるまで、フラッシュメモリ2−0に対するアクセスを禁止する。つまり、出力端子QAから出力される信号が「H」になった後に、フラッシュメモリ2−0に対するアクセスが開始される(t67)。このアクセスは、図4のt4〜t26に対応する。ここで、出力端子QAから出力される信号は、レディ/ビジー(R/BA)の端子から出力される信号が「L」から「H」に遷移するタイミングで、「L」から「H」に遷移する(t66)。従って、リードコマンド(RC)をフラッシュメモリ2−0の入出力バス(I/O)44に入力した後に、セルアレイからレジスタへのデータの読み出し(複写)が開始されず、フラッシュメモリ2−0のレディ/ビジー(R/BA)の端子から出力される信号が「L」にならなかった場合は、出力端子QAから出力される信号は「H」にならない。
Thereafter, the
同様に、制御ブロック41は、出力端子QBから出力される信号が「H」になるまで、フラッシュメモリ2−1に対するアクセスを禁止する。従って、フラッシュメモリ2−0に対するアクセスが終了した後、出力端子QBから出力される信号が「H」になっていれば、フラッシュメモリ2−1に対するアクセスが開始される(t71)。ここで、出力端子QBから出力される信号についても、フラッシュメモリ2−1のレディ/ビジー(R/BB)の端子から出力される信号が「L」にならなかった場合は、「H」にならない。
Similarly, the
尚、フラッシュメモリ2−1に対するアクセスを開始する前に、フラッシュメモリ2−0の入出力バス(I/O)44には、リードコマンド(RC)とアドレス(AD)が入力される。制御ブロック41は、リードコマンド(RC)をフラッシュメモリ2−0の入出力バス(I/O)44に入力するタイミングで、フリップ・フロップ42のリセット端子RAに「L」の信号を入力する(t69)。フラッシュメモリ2−1に対するアクセスを終了して、フラッシュメモリ2−0に対するアクセスを開始するときは、出力端子QAから出力される信号レベルに基づいてアクセスの可否を判断する。以後同様にフラッシュメモリ2−0に対するアクセスとフラッシュメモリ2−1に対するアクセスが交互に行われる。
Before starting access to the flash memory 2-1, a read command (RC) and an address (AD) are input to the input / output bus (I / O) 44 of the flash memory 2-0. The
リセット端子RA又はリセット端子RBに「L」の信号を入力するタイミングは、レディ/ビジー(R/B)の端子から出力される信号が「L」から「H」に遷移する前、つまり、ビジー状態が解除される前であればよいが、ビジー状態の期間は一定でないため、ビジー状態になる前の方が好ましい。 Timing of inputting the signal of "L" to the reset terminal R A or a reset terminal R B, before the signal output from the terminal of the ready / busy (R / B) is changed from "L" to "H", i.e. However, the period before the busy state is canceled is preferable, but the period before the busy state is preferable because the period of the busy state is not constant.
次に、フラッシュメモリ2−0とフラッシュメモリ2−1に交互にデータを書き込む動作を、図8を参照して説明する。 Next, an operation of alternately writing data to the flash memory 2-0 and the flash memory 2-1 will be described with reference to FIG.
まず、フラッシュメモリ2−0に対して図5のt31〜t56に示したアクセスが行われる。制御ブロック41は、プログラムコマンド(PC)をフラッシュメモリ2−0の入出力バス(I/O)44に入力するタイミングで、フリップ・フロップ42のリセット端子RAに「L」の信号を入力する(t82)。リセット端子RAに「L」の信号が入力されたことにより、フリップ・フロップ42の出力端子QAから出力される信号は「H」から「L」に遷移する。その後、フラッシュメモリ2−0は、入出力バス(I/O)44に入力されたプログラムコマンド(PC)及びアドレス(AD)(図5のt32〜t33の期間に入力されたアドレス(AD))に基づいて、レジスタからセルアレイへのデータの書き込み(複写)を開始し、レディ/ビジー(R/BA)の端子から出力される信号を「L」にする(t83)。
First, the flash memory 2-0 is accessed at t31 to t56 in FIG. The
次に、フラッシュメモリ2−1に対して図5のt31〜t56に示したアクセスが行われる。
制御ブロック41は、プログラムコマンド(PC)をフラッシュメモリ2−1の入出力バス(I/O)44に入力するタイミングで、フリップ・フロップ43のリセット端子RBに「L」の信号を入力する(t86)。リセット端子RBに「L」の信号が入力されたことにより、フリップ・フロップ43の出力端子QBから出力される信号は「H」から「L」に遷移する。その後、フラッシュメモリ2−1は、入出力バス(I/O)44に入力されたリードコマンド(RC)及びアドレス(AD)に基づいて、レジスタからセルアレイへのデータの書き込み(複写)を開始し、レディ/ビジー(R/BB)の端子から出力される信号を「L」にする(t87)。
Next, the access shown at t31 to t56 in FIG. 5 is performed on the flash memory 2-1.
読み出しの場合と同様に、制御ブロック41は、出力端子QAから出力される信号が「H」になるまで、フラッシュメモリ2−0に対するアクセスを禁止し、出力端子QBから出力される信号が「H」になるまで、フラッシュメモリ2−1に対するアクセスを禁止する。従って、フラッシュメモリ2−1に対するアクセスが終了した後、出力端子QAから出力される信号が「H」になっていれば、フラッシュメモリ2−0に対するアクセスが開始される(t88)。以後同様に、フラッシュメモリ2−0に対するアクセスが終了した後、出力端子QBから出力される信号が「H」になっていれば、フラッシュメモリ2−1に対するアクセスが開始される。このようにして、フラッシュメモリ2−0に対するアクセスとフラッシュメモリ2−1に対するアクセスが交互に行われる。
As in the case of reading, the
書き込みの場合もリセット端子RA又はリセット端子RBに「L」の信号を入力するタイミングは、レディ/ビジー(R/B)の端子から出力される信号が「L」から「H」に遷移する前、つまり、ビジー状態が解除される前であればよいが、ビジー状態の期間は一定でないため、ビジー状態になる前の方が好ましい。 Transition timing of inputting the signal of "L" to the reset terminal R A or reset terminal R B For a write, the signal output from the terminal of the ready / busy (R / B) is from the "L" to "H" However, since the busy period is not constant, it is preferable to be before the busy state.
フラッシュメモリ2−0又はフラッシュメモリ2−1に対するアクセスを開始するときに、フラッシュメモリ2−0又はフラッシュメモリ2−1からステータスを読み出して、書き込み動作でエラーが発生しなかったかどうかを確認してもよい。 When starting access to the flash memory 2-0 or the flash memory 2-1, read the status from the flash memory 2-0 or the flash memory 2-1, and check whether an error has occurred in the write operation. Also good.
又、上記フラッシュメモリ2−0とフラッシュメモリ2−1に対する読み出し又は書き込みで、リセット端子RA又はリセット端子RBに「L」の信号を入力した後、所定の期間が経過しても出力端子QA又は出力端子QBから出力される信号が「H」にならなかった場合は、処理を中止する。ここでの所定の期間は、書き込み、読み出し等の動作時間を考慮して、適宜設定することができる。所定の期間が経過しても出力端子QA又は出力端子QBから出力される信号が「H」にならなかった場合に、正常に行われなかった処理を再度実行するようにしてもよい。 Also, in reading or writing to the flash memory 2-0 and the flash memory 2-1, after entering the signal of "L" to the reset terminal R A or a reset terminal R B, even after a predetermined period of time the output terminal If the signal output from Q A or output terminal Q B does not become “H”, the processing is stopped. The predetermined period here can be set as appropriate in consideration of operation time for writing, reading, and the like. If the signal output from the output terminal Q A or the output terminal Q B does not become “H” even after the predetermined period has elapsed, the process that was not normally performed may be executed again.
以上の説明では、読み出し又は書き込みが連続的に行われる場合について説明したが、消去の場合も同様に適用することができる。又、読み出し、書き込み又は消去が混在する場合も同様に適用することができる。例えば、読み出しと書き込みが交互に行われる場合も同様に適用することができる。又、フラッシュメモリの物理ブロックが大ブロックの場合を例に挙げて説明したが、小ブロックのものでも同様に実施することができる。 In the above description, the case where reading or writing is performed continuously has been described, but the same applies to the case of erasing. In addition, the present invention can be similarly applied when reading, writing, or erasing is mixed. For example, the same can be applied to the case where reading and writing are alternately performed. Further, the case where the physical block of the flash memory is a large block has been described as an example, but the same can be applied to a small block.
また、図6に示した回路はDタイプフリップ・フロップを用いて構成したが、レディ/ビジー(R/B)の端子から出力される信号が一旦「L」(ビジー状態)になり、その後「H」(レディ状態)になったことを検知できるビジー解除検知手段であればDタイプフリップ・フロップに限らず実施することができる。 In addition, although the circuit shown in FIG. 6 is configured using a D-type flip-flop, the signal output from the ready / busy (R / B) terminal once becomes “L” (busy state). Any busy release detecting means capable of detecting that the state has become “H” (ready state) can be implemented without being limited to the D-type flip-flop.
また、以上の説明では、フラッシュメモリを複数個備えるものに本発明を適用した例を挙げたが、フラッシュメモリが1個の場合に本発明を適用すると、処理速度の高速化は得られないが、フラッシュメモリ内部での動作が行われなかったことを検知することはできる。 In the above description, an example in which the present invention is applied to a device having a plurality of flash memories has been described. However, if the present invention is applied to a single flash memory, the processing speed cannot be increased. It is possible to detect that the operation in the flash memory has not been performed.
以上、本実施の形態を具体的に説明したが、本発明は上記実施の形態に限定されず、発明の要旨を逸脱しない範囲で変更して実施することができる。 Although the present embodiment has been specifically described above, the present invention is not limited to the above-described embodiment, and can be modified and implemented without departing from the scope of the invention.
1・・・フラッシュメモリシステム
2、2−0、2−1、2−n・・・フラッシュメモリ
3・・・メモリコントローラ
4・・・ホストシステム
6・・・マイクロプロセッサ(動作指示出力手段)
7・・・ホスト・インターフェース・ブロック
8・・・ワークエリア
9・・・バッファ(データ保持手段)
10・・・フラッシュメモリ・インターフェース・ブロック(データ入出力手段)
11・・・ECC(エラー・コレクション・コード)ブロック
12・・・ROM
13・・・外部バス
14・・・内部バス
15・・・チップセレクト信号線
16・・・第1セクタ
17・・・第2セクタ
18・・・第3セクタ
19・・・第4セクタ
20・・・共通領域
21〜24・・・個別領域
25・・・ユーザ領域
26・・・冗長領域
28・・・ECC(エラー・コレクション・コード)
41・・・制御ブロック
42、43・・・フリップ・フロップ(ビジー解除検知手段)
44・・入出力バス(I/O)
DESCRIPTION OF
7 ...
10 ... Flash memory interface block (data input / output means)
11 ... ECC (error collection code) block 12 ... ROM
13 ... External bus 14 ...
41...
44 .. I / O bus (I / O)
Claims (5)
前記フラッシュメモリに対してコマンドを含む動作指示を与える動作指示出力手段と、
前記動作指示出力手段から出力される動作指示に応答して前記フラッシュメモリから出力されるビジー状態を示す信号が入力され、該信号が示す情報がビジー状態からビジー解除状態に遷移したことを検知し、該検知の結果を検知信号として出力するビジー解除検知手段と、
前記検知信号に基づいて前記動作指示出力手段の動作を制御する制御手段とを備え、
前記ビジー解除検知手段は、ビジー状態からビジー解除状態に遷移するときの信号レベルの遷移を検出するエッジトリガーのフリップフロップ回路で構成され、
前記制御手段は、前記動作指示出力手段が動作指示を出力するタイミングで前記ビジー解除検知手段を構成する前記フリップフロップ回路をリセットする、
ことを特徴とするメモリコントローラ。 A memory controller that controls access to a flash memory in which data is read or written in page units, and stored data is erased in block units,
Operation instruction output means for giving an operation instruction including a command to the flash memory;
A signal indicating a busy state output from the flash memory in response to an operation instruction output from the operation instruction output unit is input, and it is detected that the information indicated by the signal has transitioned from the busy state to the busy release state. , A busy release detecting means for outputting the detection result as a detection signal;
Control means for controlling the operation of the operation instruction output means based on the detection signal ,
The busy release detection means is composed of an edge-triggered flip-flop circuit that detects a signal level transition when transitioning from a busy state to a busy release state,
The control means resets the flip-flop circuit constituting the busy release detection means at a timing when the operation instruction output means outputs an operation instruction.
A memory controller characterized by that.
前記フラッシュメモリが出力する信号に基づいて該フラッシュメモリがビジー状態になった後、該ビジー状態が解除されたことを検知し、該検知の結果を検知信号として出力するビジー解除検知手段と、
前記検知信号に基づいて前記フラッシュメモリの動作状態を判断し、該判断の結果に基づいてデータの読み出し、書き込み、又は消去を指示する動作指示を前記フラッシュメモリに与える動作指示手段とを備え、
前記ビジー解除検知手段は、ビジー状態からビジー解除状態に遷移するときの信号レベルの遷移を検出するエッジトリガーのフリップフロップ回路で構成され、
前記動作指示手段は、前記フラッシュメモリに前記動作指示を出力するタイミングで前記ビジー解除検知手段を構成する前記フリップフロップ回路をリセットする、
ことを特徴とするメモリコントローラ。 In a memory controller that controls access to a flash memory in which data is read or written in page units and stored data is erased in block units,
After the flash memory is in a busy state based on a signal output from the flash memory, it is detected that the busy state is released, and busy release detection means for outputting the detection result as a detection signal;
An operation instruction means for determining an operation state of the flash memory based on the detection signal, and for giving an operation instruction to the flash memory to instruct reading, writing, or erasing of data based on the determination result ;
The busy release detection means is composed of an edge-triggered flip-flop circuit that detects a signal level transition when transitioning from a busy state to a busy release state,
The operation instruction means resets the flip-flop circuit constituting the busy release detection means at a timing of outputting the operation instruction to the flash memory.
A memory controller characterized by that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006246202A JP4626595B2 (en) | 2006-09-12 | 2006-09-12 | MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006246202A JP4626595B2 (en) | 2006-09-12 | 2006-09-12 | MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008070919A JP2008070919A (en) | 2008-03-27 |
JP4626595B2 true JP4626595B2 (en) | 2011-02-09 |
Family
ID=39292479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006246202A Active JP4626595B2 (en) | 2006-09-12 | 2006-09-12 | MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4626595B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614049B (en) * | 2018-12-11 | 2022-03-25 | 湖南国科微电子股份有限公司 | Flash memory control method, flash memory controller and flash memory system |
CN112558979B (en) * | 2020-12-09 | 2024-06-18 | 深圳国人无线通信有限公司 | Method for realizing data interaction between different layers |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003150574A (en) * | 2001-11-15 | 2003-05-23 | Mitsubishi Electric Corp | Microcomputer |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0863446A (en) * | 1994-08-26 | 1996-03-08 | Hitachi Ltd | Flash memory and processor connected to the same |
JPH1063442A (en) * | 1996-08-22 | 1998-03-06 | Toshiba Corp | Semiconductor disk device |
JPH11260075A (en) * | 1998-01-08 | 1999-09-24 | Mitsubishi Electric Corp | Microcomputer with built-in flash memory and data rewrite method |
JPH11249972A (en) * | 1998-02-27 | 1999-09-17 | Nissin Electric Co Ltd | Abnormality detection circuit for flash memory |
-
2006
- 2006-09-12 JP JP2006246202A patent/JP4626595B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003150574A (en) * | 2001-11-15 | 2003-05-23 | Mitsubishi Electric Corp | Microcomputer |
Also Published As
Publication number | Publication date |
---|---|
JP2008070919A (en) | 2008-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4171749B2 (en) | Memory controller and flash memory system | |
JP2006018373A (en) | Memory controller, flash memory system and control method for flash memory | |
JP4254932B2 (en) | Memory controller and flash memory system | |
JP4626595B2 (en) | MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD | |
JP4661191B2 (en) | Memory controller, flash memory system, and flash memory control method | |
JP4241741B2 (en) | Memory controller and flash memory system | |
JP4284331B2 (en) | Access method for nonvolatile semiconductor memory device | |
JP4434171B2 (en) | Memory controller and flash memory system | |
JP4609406B2 (en) | MEMORY CONTROLLER, FLASH MEMORY SYSTEM PROVIDED WITH MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD | |
JP4177292B2 (en) | MEMORY CONTROLLER, FLASH MEMORY SYSTEM, AND FLASH MEMORY CONTROL METHOD | |
JP4655034B2 (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 | |
JP4670370B2 (en) | Memory controller and flash memory system | |
JP4273106B2 (en) | Memory controller, flash memory system, and flash memory control method | |
JP4640366B2 (en) | MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD | |
JP4177301B2 (en) | Memory controller, flash memory system, and flash memory control method | |
JP3934659B1 (en) | Memory controller and flash memory system | |
JP4235595B2 (en) | MEMORY CONTROLLER, FLASH MEMORY SYSTEM PROVIDED WITH MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD | |
JP2005292925A (en) | Memory controller, flash memory system, and control method for flash memory | |
JP4332108B2 (en) | Memory controller, flash memory system, and flash memory control method | |
JP4194518B2 (en) | Memory controller, flash memory system, and flash memory control method | |
JP2006178909A (en) | Memory controller, flash memory system and method for controlling flash memory | |
JP4366283B2 (en) | Memory controller and flash memory system including the memory controller | |
JP4254930B2 (en) | Memory controller, flash memory system, and flash memory control method | |
JP4213166B2 (en) | Memory controller and flash memory system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100722 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100727 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100831 |
|
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: 20101012 |
|
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: 20101025 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131119 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4626595 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |