JP2003256273A - フラッシュメモリアクセス回路及びフラッシュメモリアクセス方法 - Google Patents

フラッシュメモリアクセス回路及びフラッシュメモリアクセス方法

Info

Publication number
JP2003256273A
JP2003256273A JP2002050310A JP2002050310A JP2003256273A JP 2003256273 A JP2003256273 A JP 2003256273A JP 2002050310 A JP2002050310 A JP 2002050310A JP 2002050310 A JP2002050310 A JP 2002050310A JP 2003256273 A JP2003256273 A JP 2003256273A
Authority
JP
Japan
Prior art keywords
flash memory
command
fifo
processing
polling
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.)
Pending
Application number
JP2002050310A
Other languages
English (en)
Inventor
Kazuteru Omori
一輝 大森
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2002050310A priority Critical patent/JP2003256273A/ja
Publication of JP2003256273A publication Critical patent/JP2003256273A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 複数のフラッシュメモリに対して、回路規模
の小さいフラッシュメモリコントローラにより、ライト
及びイレーズ処理を実行可能とし、フラッシュメモリア
クセスをシステム全体で高速化することを可能とする。 【解決手段】 複数のフラッシュメモリデバイスに対す
る処理を実行させるためのコマンド及び必要なデータを
記憶するコマンド発行用FIFOと、ポーリング処理対
象のフラッシュメモリデバイスを記憶するポーリング用
FIFOと、コマンド発行用FIFOを監視し、コマン
ド発行用FIFOに空きが発生した場合に、コマンド発
行用FIFOにコマンド及び必要なデータを記憶させる
DMAと、コマンド発行用FIFO及びポーリング用F
IFOを交互に監視し、それぞれの処理を実行するコン
トローラを有するフラッシュメモリアクセス回路とす
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のフラッシュ
メモリデバイスに対して、回路規模の小さいフラッシュ
メモリコントローラにより、ライト及びイレーズ処理を
実行するフラッシュメモリアクセス回路及びフラッシュ
メモリアクセス方法に関する。
【0002】
【従来の技術】従来、フラッシュメモリデバイスに対す
るライト又はイレーズ処理は、その処理速度が遅いとい
う問題があった。そのため、このような処理を、システ
ム全体を制御するメインCPUが制御すると、システム
全体の処理速度が低下するという問題があった。このよ
うな問題を解決するための手段として、フラッシュメモ
リデバイス専用のコントローラを用いて、メインCPU
とは独立して制御する方法などが提案されている。
【0003】
【発明が解決しようとする課題】しかしながら、このよ
うな従来の方法などにおいては、複数のフラッシュメモ
リデバイスを同時に制御するために、専用のCPUや、
複数個のDMAを使用するなど、フラッシュメモリデバ
イス制御用の回路規模が大きくなるという問題があっ
た。
【0004】本発明は、上記の事情にかんがみなされた
ものであり、複数のフラッシュメモリに対して、回路規
模の小さいフラッシュメモリコントローラにより、ライ
ト及びイレーズ処理を実行可能とし、フラッシュメモリ
アクセスをシステム全体で高速化することの可能なフラ
ッシュメモリアクセス回路及びフラッシュメモリアクセ
ス方法の提供を目的とする。
【0005】
【課題を解決するための手段】上記目的を達成するた
め、本発明の請求項1記載のフラッシュメモリアクセス
回路は、複数のフラッシュメモリデバイスに対して、同
時にライト又はイレーズ処理を実行するフラッシュメモ
リアクセス回路であって、フラッシュメモリデバイスに
対する処理を実行させるためのコマンド及び必要なデー
タを記憶するコマンド発行用FIFOと、ポーリング処
理対象のフラッシュメモリデバイスを記憶するポーリン
グ用FIFOと、コマンド発行用FIFOを監視し、コ
マンド発行用FIFOに空きが発生した場合に、コマン
ド発行用FIFOにコマンド及び必要なデータを記憶さ
せるDMAと、コマンド発行用FIFO及びポーリング
用FIFOを交互に監視し、それぞれの処理を実行する
コントローラを有する構成としてある。
【0006】フラッシュメモリアクセス回路をこのよう
な構成にすれば、2つのFIFO、1つのDMA及び1
つのコントローラから構成されるフラッシュメモリコン
トローラによって、複数のフラッシュメモリデバイスに
対して、同時にライト又はイレーズ処理を実行すること
が可能となる。すなわち、処理に時間がかかるライト又
はイレーズ処理については、コントローラが、2つのF
IFOを交互に参照することによって、複数のフラッシ
ュメモリデバイスにおける処理を同時に実行させ、処理
速度の向上を図っている。
【0007】ここで、リード処理については、ポーリン
グ用FIFOに設定を行う必要はないが、コマンド発行
用FIFOにおいては、ライト又はイレーズ処理と同様
に設定され、処理を実行することができることは言うま
でもない。このように、本発明によれば、回路基盤の小
さいフラッシュメモリコントローラによって、フラッシ
ュメモリアクセスをシステム全体で高速化することが可
能となる。なお、ここでいう必要なデータとは、ライト
コマンド発行の際に、必要となるデータを意味してい
る。
【0008】次に、本発明の請求項2記載のフラッシュ
メモリアクセス回路は、このフラッシュメモリアクセス
回路が、フラッシュメモリデバイスが使用中であること
を記録するフラッシュメモリ使用中表示ビットを有する
構成としてある。
【0009】フラッシュメモリアクセス回路をこのよう
な構成にすれば、コントローラは、フラッシュメモリデ
バイスに直接アクセスすることなく、フラッシュメモリ
使用中表示ビットを参照することによって、それぞれの
フラッシュメモリデバイスが、使用中であるか否かを判
断することができる。このため、フラッシュメモリデバ
イスに対する不要なアクセスを防止し、フラッシュメモ
リアクセスを全体としてさらに高速化することが可能と
なる。
【0010】次に、本発明の請求項3記載のフラッシュ
メモリアクセス回路は、このフラッシュメモリアクセス
回路が、システムバスを介してDMAに接続されたメイ
ンCPU及びSDRAMを有し、メインCPUが、SD
RAMに処理内容及び必要なデータを設定し、DMA
が、このSDRAMからコマンド及び必要なデータを入
力する構成としてある。
【0011】フラッシュメモリアクセス回路をこのよう
な構成にすれば、メインCPUは、フラッシュメモリア
クセスにあたり、その処理内容をSDRAMに設定する
のみで、その処理結果をSDRAMから取得することが
できる。このため、メインCPUにかかる処理負担を大
きく減少させることが可能となる。
【0012】次に、本発明の請求項4記載のフラッシュ
メモリアクセス方法は、DMA、コントローラ及び二種
類のFIFOからなるフラッシュメモリアクセス回路を
用いて、複数のフラッシュメモリデバイスに対し、同時
にライト又はイレーズ処理を実行するフラッシュメモリ
アクセス方法であって、DMAが、コマンド発行用FI
FOに空きがある場合に、このコマンド発行用FIFO
にコマンド及び必要なデータを設定し、コントローラ
が、コマンド発行用FIFOから順にコマンド及び必要
なデータを抽出して、このコマンドを発行し、DMA
が、抽出によりコマンド発行用FIFOに発生した空き
に、新たなコマンド及び必要なデータを設定し、コマン
ドの発行に応じて、このコマンドの処理対象であるフラ
ッシュメモリデバイスが、このコマンドの処理を実行
し、コントローラが、コマンドの処理に対するポーリン
グ処理のための設定を、ポーリング用FIFOに対して
行うとともに、コマンドの処理対象であるフラッシュメ
モリデバイスに対してポーリング処理を実行する方法と
してある。
【0013】フラッシュメモリアクセス方法をこのよう
な方法にすれば、コマンド発行用FIFOに設定された
コマンドから順に、フラッシュメモリデバイスにおいて
処理が実行されるとともに、処理実行中のフラッシュメ
モリデバイスに対しては、ポーリング用FIFOの設定
にもとづいて、ポーリング処理を行うことができる。
【0014】すなわち、2つのFIFO及び1つのDM
A、1つのコントローラという回路規模の小さい構成に
よるフラッシュメモリコントローラにより、複数のフラ
ッシュメモリデバイスに対するライト及びイレーズ処理
を実行させることができ、フラッシュメモリアクセスに
おける処理速度を向上させることが可能となる。
【0015】次に、本発明の請求項5記載のフラッシュ
メモリアクセス方法は、このフラッシュメモリアクセス
方法において、ポーリング処理が未完了である場合に、
コントローラが、コマンド発行用FIFOからコマンド
及び必要なデータを抽出して、このコマンドを発行し、
コマンドの処理対象であるフラッシュメモリデバイス
が、このコマンドの処理を実行するとともに、コントロ
ーラが、ポーリング処理を実行する方法としてある。
【0016】フラッシュメモリアクセス方法をこのよう
な方法にすれば、処理実行中のフラッシュメモリデバイ
スに対するポーリング処理が未完了の場合は、ポーリン
グ処理を中止することができる。そして、コントローラ
は、コマンド発行用FIFOからコマンド及び必要なデ
ータを取得し、そのコマンドの処理対象である他のフラ
ッシュメモリデバイスに処理を実行させることができ
る。次に、再度先のポーリング処理を実行し、これを繰
り返すことによって、複数のフラッシュメモリデバイス
に対する処理の振り分けを行うことが可能となる。
【0017】次に、本発明の請求項6記載のフラッシュ
メモリアクセス方法は、このフラッシュメモリアクセス
方法において、フラッシュメモリデバイスが、各フラッ
シュメモリデバイスが使用中であるか否かを記憶するフ
ラッシュメモリ使用中表示ビットを有し、コントローラ
が、フラッシュメモリ使用中表示ビットを確認し、フラ
ッシュメモリデバイスが使用中である場合には、ポーリ
ング処理を行う方法としてある。
【0018】フラッシュメモリアクセス方法をこのよう
な方法にすれば、全てのフラッシュメモリデバイスが使
用中となった場合には、ポーリング処理を実行させるこ
とができる。コントローラは、コマンド発行用FIFO
及びポーリング用FIFOを交互に参照し、それぞれの
処理を実行するが、全フラッシュメモリデバイスが使用
中で、かつ、ポーリング処理が未完了である場合は、み
かけ上、待機している状態となる。しかしながら、各処
理は、それぞれのフラッシュメモリデバイスにおいて、
実行されているため、これは特に問題ではない。
【0019】次に、本発明の請求項7記載のフラッシュ
メモリアクセス方法は、このフラッシュメモリアクセス
方法において、ポーリング処理が完了した場合は、コン
トローラが、対応するフラッシュメモリデバイスから処
理結果を入力するとともに、この処理結果をDMAに出
力する方法としてある。
【0020】フラッシュメモリアクセス方法をこのよう
な方法にすれば、フラッシュメモリデバイスにおける処
理が終了すると、その処理の実行結果を、コントローラ
が、DMAに返却し、DMAによりSDRAMに設定さ
せることができる。これによって、メインCPUは、フ
ラッシュメモリにアクセスする場合において、実際に
は、SDRAMに処理内容を設定し、このSDRAMか
ら処理結果を取得することができる。このため、回路規
模の小さいフラッシュメモリコントローラにより、フラ
ッシュメモリアクセスを行うとともに、メインCPUの
処理負荷を軽減することが可能となる。
【0021】次に、本発明の請求項8記載のフラッシュ
メモリアクセス方法は、このフラッシュメモリアクセス
方法において、ポーリング処理が、複数のフラッシュメ
モリデバイスに対し、連続して順次実行される方法とし
てある。
【0022】フラッシュメモリアクセス方法をこのよう
な方法にすれば、複数のフラッシュメモリデバイスに対
してポーリング設定がされている場合は、これらのフラ
ッシュメモリデバイスに対するポーリング処理を、ポー
リング処理時に毎回全て順番に実行することができる。
これによって、例えば、後から処理の実行を開始したフ
ラッシュメモリデバイスの処理が先に終了する場合に、
その終了を検知して、このフラッシュメモリデバイスに
対して新たな処理を先に実行させることが可能となる。
【0023】
【発明の実施の形態】以下、本発明の実施形態につき、
図面を参照して説明する。 [第一実施形態]まず、本発明の第一実施形態につい
て、図1を参照して説明する。同図は、本実施形態のフ
ラッシュメモリアクセス回路の構成を示すブロック図で
ある。
【0024】同図に示すように、フラッシュメモリアク
セス回路は、フラッシュメモリコントローラ10、メイ
ンCPU20、SDRAM30及びシステムバス40を
有している。また、この回路によりアクセスを受けるフ
ラッシュメモリデバイスとして、フラッシュメモリ50
が示されている。
【0025】フラッシュメモリコントローラ10は、シ
ステムバス40に接続され、SDRAM30に設定され
た処理内容を順に実行する。また、このフラッシュメモ
リコントローラ10は、フラッシュメモリ50に対して
アクセス可能であり、コマンド発行用FIFO11、ポ
ーリング用FIFO12、DMA13、コントローラ1
4及びフラッシュメモリ使用中表示ビット15を有して
いる。
【0026】コマンド発行用FIFO11には、リード
処理のリードコマンド、ライト処理のライトコマンド及
びライトデータ、イレーズ処理のイレーズコマンドが格
納される。本実施形態においては、コマンド発行用FI
FO11は、最大2つまでコマンドを格納できる容量を
持つものとしている。
【0027】ポーリング用FIFO12には、ライトコ
マンド発行後に発生するポーリング処理及びイレーズコ
マンド発行後に発生するポーリング処理が格納される。
本実施形態においては、ポーリング用FIFO12は、
3個のフラッシュメモリチップに対するポーリング処理
設定を格納できる容量を持つものとしている。その格納
内容としては、最低限ポーリング処理対象のフラッシュ
メモリデバイスを識別するコードなどがあればよい。
【0028】DMA13は、コマンド発行用FIFO1
1を監視し、コマンド発行用FIFO11に空きが発生
すると、SDRAM30に設定されている処理をコマン
ド発行用FIFO11に設定する。このとき、DMA1
3は、SDRAM30にリード処理が設定されている場
合は、コマンド発行用FIFO11にリードコマンドを
設定する。
【0029】また、SDRAM30にライト処理が設定
されている場合は、コマンド発行用FIFO11にライ
トコマンド及びライトデータを設定する。そして、SD
RAM30にイレーズ処理が設定されている場合は、コ
マンド発行用FIFO11にイレーズコマンドを設定す
る。また、DMA13は、コントローラ14から受け取
った処理結果及びリードデータをSDRAM30に設定
する。
【0030】コントローラ14は、コマンド発行用FI
FO11とポーリング用FIFO12を交互に監視し、
それぞれのFIFOに設定されている処理を実行する。
すなわち、コマンド発行用FIFO11に、リードコマ
ンドが設定されている場合、コントローラ14は、リー
ドコマンドが指定するフラッシュメモリチップに対して
リードコマンドを発行し、DMA13を用いてリードデ
ータをSDRAM30に更新する。
【0031】また、コマンド発行用FIFO11に、ラ
イトコマンド及びライトデータが設定されている場合、
コントローラ14は、ライトコマンドが指定するフラッ
シュメモリチップに対してライトコマンド発行するとと
もに、このフラッシュメモリチップにライトデータを転
送する。そして、コントローラ14は、このフラッシュ
メモリチップについてのポーリング処理のための設定
を、ポーリング用FIFO12に対して行う。
【0032】さらに、コマンド発行用FIFO11に、
イレーズコマンドが設定されている場合、コントローラ
14は、イレーズコマンドが指定するフラッシュメモリ
チップに対してイレーズコマンドを発行後、ポーリング
用FIFO12にポーリング処理を設定する。コントロ
ーラ14は、各コマンドが指定するフラッシュメモリチ
ップへのアクセスに際し、メインCPU20により指定
された各フラッシュメモリチップのアドレスにアクセス
を行う。
【0033】ここで、ポーリング処理とは、ライトコマ
ンド発行及びライトデータ転送後、又はイレーズコマン
ド発行後、コマンド処理完了を確認するために、フラッ
シュメモリチップのステータスレジスタを確認する動作
を言う。すなわち、ライト及びイレーズ処理の完了は、
リードに比べ桁違いに遅いため、コマンド処理とは別に
ポーリング処理を定義し、ポーリング中も別コマンドが
発行できるようにするものである。
【0034】また、コントローラ14は、フラッシュメ
モリチップに対しコマンドを実行すると同時に、フラッ
シュメモリチップ使用中表示ビット15の該当するビッ
トをONにし、フラッシュメモリチップを使用中とす
る。このようにすることにより、次のコマンドの処理対
象であるフラッシュメモリチップが、フラッシュメモリ
チップ使用中表示ビット15で使用中となっている場合
は、その処理を中止して、ポーリングFIFO12につ
いての処理を実行する。
【0035】また、ポーリング処理の結果が未完了の場
合、コントローラ14は、ポーリング処理を中止して、
コマンド実行用FIFO11の処理を行う。ポーリング
処理を実行し、処理が完了した場合は、DMA13を使
って、処理結果をSDRAM30に設定する。
【0036】フラッシュメモリ使用中表示ビット15
は、フラッシュメモリチップ数のビットから構成されて
おり、コントローラ14から制御され、フラッシュメモ
リチップが使用中か否かを記憶する。
【0037】メインCPU20は、アクセス速度の速い
メモリであるSDRAM30に対し、フラッシュメモリ
50への処理内容を設定する。この際、メインCPU2
0により、アクセス対象となるフラッシュメモリデバイ
スのアドレスが指定される。すなわち、メインCPU2
0は、フラッシュメモリ50へのアクセスにおいて、ど
のフラッシュメモリチップに対して、どのような処理を
実行させるのかをSDRAM30に設定する。
【0038】そして、その処理内容の設定後は、処理結
果がSDRAM30に更新されるのを待つだけで、フラ
ッシュメモリチップに直接アクセスすることはなく、フ
ラッシュメモリチップに対して他の処理を行う必要はな
い。また、SDRAM30は、上述のようにメインCP
U20によりフラッシュメモリ50への処理内容の設定
を受けるメモリであり、システムバス40は、メインC
PU20、SDRAM30及びDMA13を接続するも
のである。
【0039】フラッシュメモリ50は、フラッシュメモ
リチップ51〜53を有している。これらのフラッシュ
メモリチップは、リード処理にはリードコマンドのみを
必要とし、ライト処理及びイレーズ処理については、そ
れぞれのコマンド発行後にポーリング処理を必要とする
一般的なフラッシュメモリチップである。
【0040】次に、第一実施形態のフラッシュメモリア
クセス回路における処理手順について、図2〜図4を参
照して説明する。図2は、本実施形態のフラッシュメモ
リアクセス回路におけるSDRAMの設定順序の例を示
す図であり、図3及び図4は、本実施形態のフラッシュ
メモリアクセス回路における処理手順を示す動作手順図
である。
【0041】まず、図3の動作手順図にもとづいて説明
する。SDRAM30には、メインCPU20により、
図2に示すようなコマンドが設定されているものとす
る。DMA13は、コマンド発行用FIFO11を常時
監視し、コマンド及び必要なデータを格納可能な空き領
域を検出する(ステップ10)と、SDRAM30に設
定されている処理を取得して、これをコマンド発行用F
IFO11に設定する。本実施形態においては、コマン
ド発行用FIFO11は、2つのコマンドを格納するこ
とができる容量を持つため、処理1及び処理2のコマン
ド発行用FIFO11への設定が順に実行される(順
に、ステップ11,12)。
【0042】コントローラ14は、コマンド発行用FI
FO11及びポーリング用FIFO12を交互に監視し
ており、コマンド発行用FIFO11にコマンドが設定
されている場合は、これにもとづきコマンドを発行す
る。このコマンド発行にあたり、コントローラ14は、
フラッシュメモリ使用中表示ビット15を確認し、対象
となるフラッシュメモリチップが使用中でないことを確
認する。
【0043】図2によると、SDRAM30に設定され
ている最初の処理は、処理1の「フラッシュメモリチッ
プ51に対するイレーズ処理」であり、フラッシュメモ
リチップ51は、使用中でないため、フラッシュメモリ
チップ51に対して、イレーズ処理コマンドが発行され
る。
【0044】そして、フラッシュメモリチップ51が使
用中(ON)であることを、フラッシュメモリ使用中表
示ビット15に設定する(ステップ13)。これに対し
て、フラッシュメモリチップ51においては、イレーズ
処理が開始される(ステップ14)。そして、コントロ
ーラ14により、ポーリング用FIFO12にフラッシ
ュメモリチップ51に対するポーリング設定が行われる
(ステップ15)とともに、そのポーリング処理が実行
される(ステップ16)。
【0045】一方、処理1が実行されると、コマンド発
行用FIFO11には空き領域が1つできるため、DM
A13は、これを検出し、コマンド発行用FIFO11
に処理3を設定する(ステップ17)。コントローラ1
4により、ステップ16において実行されたポーリング
処理がまだ未完了の場合、すなわちフラッシュメモリチ
ップ51における処理が、まだ終了していない場合は、
コントローラ14は、ポーリング処理を中止して、コマ
ンド発行用FIFO11における次の処理を実行する。
【0046】図2によれば、コマンド発行用FIFO1
1に設定されている次の処理は、処理2の「フラッシュ
メモリチップ52に対するイレーズ処理」であるため、
コントローラ14は、フラッシュメモリ使用中表示ビッ
ト15を参照して、フラッシュメモリチップ52が使用
中でないことを確認する。そして、フラッシュメモリチ
ップ52に対してイレーズ処理コマンドを発行するとと
もに、フラッシュメモリ使用中表示ビット15に対し
て、フラッシュメモリチップ52が使用中である旨の設
定を行う(ステップ18)。
【0047】以降、処理1の場合と同様に、フラッシュ
メモリチップ52において、処理2が実行される(ステ
ップ19)とともに、フラッシュメモリチップ52に対
するポーリング設定(ステップ20)及びポーリング処
理が実行され(ステップ21)、コマンド発行用FIF
O11には、処理4が設定される(ステップ22)。
【0048】また、処理3についても、処理1及び2と
同様にコマンド発行が行われ、フラッシュメモリ使用中
表示ビット15に使用中設定が行われる(ステップ2
3)。そして、フラッシュメモリチップ53において、
処理3が実行され(ステップ24)、フラッシュメモリ
チップ53に対するポーリング設定(ステップ25)及
びポーリング処理(ステップ26)が実行され、コマン
ド発行用FIFO11には、処理5が設定される(ステ
ップ27)。
【0049】次に、図4を参照して説明する。フラッシ
ュメモリチップ51に対してステップ26において行わ
れたポーリング処理が未完了である場合、コントローラ
14は、再びコマンド発行用FIFO11を参照し、次
の処理を実行しようとする。
【0050】次の処理は、図2における処理4の「フラ
ッシュメモリチップ51に対するライト処理」である
が、コントローラ14は、フラッシュメモリ使用中表示
ビット15を参照することにより、その処理がまだ実行
することができないものであることを認識する(ステッ
プ28)。
【0051】このため、コントローラ14は、再度上述
のフラッシュメモリチップ51に対するポーリング処理
を実行するが、フラッシュメモリチップ51におけるイ
レーズ処理がまだ終了していない場合には、今回のポー
リング処理も未完了となる(ステップ29)。
【0052】このとき、コントローラ14は、コマンド
発行用FIFO11及びポーリング用FIFO12のい
ずれの処理も実行不能となり、みかけ上処理を停止した
ような状態となるが、全てのフラッシュメモリチップが
それぞれの処理を実行しており、特に問題はない。この
最中もコントローラ14は、コマンド発行用FIFO1
1及びポーリング用FIFO12に対する監視を交互に
実行する(ステップ28〜30)。
【0053】フラッシュメモリチップ51におけるイレ
ーズ処理(処理1)が終了する(ステップ31)と、コ
ントローラ14は、ポーリング処理によりこれを認識
し、ポーリング処理は完了する(ステップ32)。そし
て、コントローラ14は、フラッシュメモリチップ51
からその処理結果を取得し、これをDMA13に出力す
る(ステップ33)。
【0054】DMA13は、これをSDRAM30に更
新し(ステップ34)、メインCPU20が処理結果を
取得することが可能となる。なお、処理結果は、ライト
処理及びイレーズ処理の場合は、それぞれの処理が正常
に終了したこと、又は異常終了したこと等を示すもので
あり、リード処理の場合は、これに加えて、リードによ
り取得されたデータを含むものである。
【0055】フラッシュメモリチップ51における処理
が終了すると、コントローラ14は、フラッシュメモリ
使用中表示ビット15の使用中表示を解除(OFF設
定)する(ステップ35)。そして、次の処理である処
理4の実行が可能となり、コントローラ14は、フラッ
シュメモリチップ51に対して、ライト処理コマンドを
発行し、再びフラッシュメモリ使用中表示ビット15を
使用中に設定する(ステップ36)。
【0056】フラッシュメモリチップ51は、ライト処
理の実行を開始する(ステップ37)。このようにし
て、以降同様にして、フラッシュメモリチップに対し
て、処理5,6,7を順次実行させることが可能とな
る。
【0057】[第二実施形態]次に、本発明の第二実施
形態につき、図5及び図6を参照して説明する。これら
の図は、本発明の第二実施形態におけるフラッシュメモ
リアクセス回路の処理手順を示す動作手順図である。
【0058】本実施形態のフラッシュメモリアクセス回
路は、ポーリング処理が未完了であった場合に、コント
ローラ14が、そのポーリング設定をポーリング用FI
FO12に積み直す点、及び実行不能であったコマンド
をコマンド発行用FIFO11に積み直す点で、第一実
施形態と異なる。
【0059】第一実施形態においては、ライト処理又は
イレーズ処理の各処理にかかる時間が、同一であること
を前提としている。このため、フラッシュメモリチップ
51,52,53の順に、ポーリング処理が完了するま
で、毎回同一のフラッシュメモリチップに対してポーリ
ング処理を実行するものとしている。
【0060】しかしながら、本実施形態においては、各
ポーリング処理の実行の際に、全てのフラッシュメモリ
チップに対し、ポーリング処理を順次実行させるものと
している。これによって、各ライト処理又はイレーズ処
理の実行速度が異なる場合であっても、処理の実行が終
了したフラッシュメモリチップについて、次の処理を実
行させることが可能となる。その他の点については、第
一実施形態と同様であり、フラッシュメモリアクセス回
路のブロック図としては、図1に示すものと同様のもの
を用いることができる。また、SDRAM30への設定
も図2に示すものと同様とする。
【0061】まず、図5に示す第二実施形態における動
作(ステップ50〜ステップ66)は、第一実施形態に
おける動作と、ポーリング処理を除いて同様である。し
かしながら、ステップ56,61,66のポーリング処
理において、その処理が未完了である場合には、再度ポ
ーリング設定の積み直しが行われる。
【0062】すなわち、ステップ56においては、フラ
ッシュメモリチップ51に対するポーリング処理が実行
されるが、フラッシュメモリチップ51における処理1
は、まだ実行中であるため、このポーリング設定は、ポ
ーリング用FIFO12に対して再設定される。
【0063】また、ステップ61においては、コントロ
ーラ14は、ポーリング用FIFO12の設定にもとづ
いて、まずフラッシュメモリチップ51に対してポーリ
ング処理を実行する。このとき、フラッシュメモリチッ
プ51においては、処理1がまだ実行中であるため、コ
ントローラ14は、フラッシュメモリチップ51に対す
るポーリング設定を、再びポーリング用FIFO12に
積み直す。
【0064】そして、次にコントローラ14は、フラッ
シュメモリチップ52に対してポーリング処理を実行す
る。このポーリング処理もまた、未完了となるため、同
様にしてポーリング設定の積み直しが行われる。また、
ステップ66についても、同様にして、フラッシュメモ
リチップ51,52,53へのポーリング処理が行われ
るとともに、ポーリング設定の積み直しが行われる。
【0065】次に、図6において、コントローラ14
は、コマンド発行用FIFO11に設定されている次の
処理である処理4を実行しようとするが、フラッシュメ
モリ使用中表示ビット15を参照すると、フラッシュメ
モリチップ51がまだ使用中であるため、この処理コマ
ンドの発行は不能となる。そして、このコマンドは、コ
ントローラ14によりコマンド発行用FIFO11に積
み直される(ステップ67)。
【0066】次に、コントローラ14は、コマンド発行
用FIFO11に設定されている次の処理である処理5
の実行をしようとするが、この場合もフラッシュメモリ
使用中表示ビット15の参照により、フラッシュメモリ
チップ52は使用中と判断される。
【0067】その結果、この処理コマンドの発行は不能
となり、このコマンドもコマンド発行用FIFO11に
積み直される(ステップ68)。この場合、コマンド発
行用FIFO11には、2つのコマンドしか格納されな
いため、2回目のコマンド発行が不能となった場合は、
次にポーリング処理がコントローラ14により実行され
る。
【0068】一方、ここでフラッシュメモリチップ52
における処理2の実行が終了したとする(ステップ6
9)。コントローラ14は、コマンド発行用FIFO1
1及びポーリング用FIFO12の監視・処理を交互に
行うが、次にポーリング処理を実行する際に、まず、ポ
ーリング用FIFO12に設定されているフラッシュメ
モリチップ51に対するポーリング処理を実行する。
【0069】このとき、フラッシュメモリチップ51に
おいては、処理1がまだ実行中であるため、ポーリング
用FIFO12にフラッシュメモリチップ51に対する
ポーリング設定の積み直しが行われる。次に、ポーリン
グ用FIFO12の設定に従って、コントローラ14
は、フラッシュメモリチップ52に対するポーリング処
理を実行する。このとき、フラッシュメモリチップ52
においては、処理2が終了しているため、ポーリング処
理が完了する(ステップ70)。
【0070】そして、第一実施形態における場合と同様
に、コントローラ14は、フラッシュメモリチップ52
から処理結果を入力してDMA13に出力し(ステップ
71)、DMA13にSDRAM30への更新を行わせ
る(ステップ72)。また、フラッシュメモリ使用中表
示ビット15におけるフラッシュメモリチップ52の使
用中表示を解除する(ステップ73)。
【0071】次に、コントローラ14は、コマンド発行
用FIFO11の設定に従って、フラッシュメモリチッ
プ51に対して処理4のコマンドを発行しようとする
が、フラッシュメモリ使用中表示ビット15を参照する
ことにより、フラッシュメモリチップ51が使用中であ
ることを認識し、このコマンドの発行を中止する。そし
て、このコマンドをコマンド発行用FIFO11に再設
定する(ステップ74)。
【0072】さらに、コントローラ14は、コマンド発
行用FIFO11にもとづき、次に設定されている処理
である処理5を実行しようとする。このとき、フラッシ
ュメモリ使用中表示ビット15を参照すると、フラッシ
ュメモリチップ52は非使用状態となっているため、コ
ントローラ14は、処理5のコマンドを発行し、フラッ
シュメモリ使用中表示ビット15を使用中とする(ステ
ップ75)。
【0073】フラッシュメモリチップ52は、コントロ
ーラ14からのコマンド発行を受けて、処理5の実行を
開始する(ステップ76)。このようにして、以降処理
4,6,7についても、フラッシュメモリチップにおけ
る処理の完了に応じて、順次処理することができ、処理
の実行をさらに高速化することが可能となる。
【0074】また、上記の各実施形態において、フラッ
シュメモリ使用中表示ビット15を省略し、コントロー
ラ14のフラッシュメモリチップへのアクセスに際し
て、直接アクセスを実行させ、処理の実行可否の確認を
させるようにすることも可能である。
【0075】さらに、上記各実施形態においては、3つ
のフラッシュメモリチップに対する処理について説明し
たが、N個のフラッシュメモリチップを使用した場合で
あっても、同様に処理することが可能である。このと
き、ポーリング用FIFO12を、N個のフラッシュメ
モリチップに対するポーリング設定を格納することので
きる容量に変更するとともに、フラッシュメモリ使用中
表示ビット15を、Nビット格納可能に設定する。この
ようにすることにより、他の構成を変更することなく、
N個のフラッシュメモリチップに対して同時にライト又
はイレーズ処理を実行することが可能となる。
【0076】なお、本発明は以上の実施形態に限定され
るものではなく、例えば、コマンド発行用FIFO11
に設定可能なコマンド数を増加したり、SDRAMを他
の記憶装置に変更し、それぞれの使用形態により適した
ものとするなど、適宜設計変更できるものである。
【0077】
【発明の効果】以上のように、本発明によれば、2つの
FIFO、1つのDMA及び1つのコントローラによる
回路規模の小さなフラッシュメモリコントローラによっ
て、複数のフラッシュメモリデバイスに対して同時にラ
イト処理及びイレーズ処理を実行させることが可能とな
る。また、各ライト又はイレーズ処理の処理時間が異な
る場合には、FIFOへの設定の積み直しを行うことに
より、処理の終了したフラッシュメモリデバイスを優先
して、次の処理を実行させることも可能となる。
【図面の簡単な説明】
【図1】本発明の実施形態のフラッシュメモリアクセス
回路の構成を示すブロック図である。
【図2】本発明の実施形態のフラッシュメモリアクセス
回路におけるSDRAMの設定順序の例を示す図であ
る。
【図3】本発明の第一実施形態のフラッシュメモリアク
セス回路の処理手順を示す動作手順図である。
【図4】本発明の第一実施形態のフラッシュメモリアク
セス回路の処理手順を示す動作手順図である。
【図5】本発明の第二実施形態のフラッシュメモリアク
セス回路の処理手順を示す動作手順図である。
【図6】本発明の第二実施形態のフラッシュメモリアク
セス回路の処理手順を示す動作手順図である。
【符号の説明】
10 フラッシュメモリコントローラ 11 コマンド発行用FIFO 12 ポーリング用FIFO 13 DMA 14 コントローラ 15 フラッシュメモリ使用中表示ビット 20 メインCPU 30 SDRAM 40 システムバス 50 フラッシュメモリ 51 フラッシュメモリチップ 52 フラッシュメモリチップ 53 フラッシュメモリチップ

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 複数のフラッシュメモリデバイスに対し
    て、同時にライト又はイレーズ処理を実行するフラッシ
    ュメモリアクセス回路であって、 前記フラッシュメモリデバイスに対する処理を実行させ
    るためのコマンド及び必要なデータを記憶するコマンド
    発行用FIFOと、 ポーリング処理対象のフラッシュメモリデバイスを記憶
    するポーリング用FIFOと、 前記コマンド発行用FIFOを監視し、前記コマンド発
    行用FIFOに空きが発生した場合に、前記コマンド発
    行用FIFOに前記コマンド及び必要なデータを記憶さ
    せるDMAと、 前記コマンド発行用FIFO及び前記ポーリング用FI
    FOを交互に監視し、それぞれの処理を実行するコント
    ローラを有することを特徴とするフラッシュメモリアク
    セス回路。
  2. 【請求項2】 前記フラッシュメモリアクセス回路が、
    前記フラッシュメモリデバイスが使用中であることを記
    録するフラッシュメモリ使用中表示ビットを有すること
    を特徴とする請求項1記載のフラッシュメモリアクセス
    回路。
  3. 【請求項3】 前記フラッシュメモリアクセス回路が、
    システムバスを介して前記DMAに接続されたメインC
    PU及びSDRAMを有し、 前記メインCPUが、前記SDRAMに処理内容及び必
    要なデータを設定し、 前記DMAが、このSDRAMから前記コマンド及び必
    要なデータを入力することを特徴とする請求項1又は2
    記載のフラッシュメモリアクセス回路。
  4. 【請求項4】 DMA、コントローラ及び二種類のFI
    FOからなるフラッシュメモリアクセス回路を用いて、
    複数のフラッシュメモリデバイスに対し、同時にライト
    又はイレーズ処理を実行するフラッシュメモリアクセス
    方法であって、 前記DMAが、コマンド発行用FIFOに空きがある場
    合に、このコマンド発行用FIFOにコマンド及び必要
    なデータを設定し、 前記コントローラが、前記コマンド発行用FIFOから
    順に前記コマンド及び必要なデータを抽出して、このコ
    マンドを発行し、 前記DMAが、前記抽出により前記コマンド発行用FI
    FOに発生した空きに、新たなコマンド及び必要なデー
    タを設定し、 前記コマンドの発行に応じて、このコマンドの処理対象
    であるフラッシュメモリデバイスが、このコマンドの処
    理を実行し、 前記コントローラが、前記コマンドの処理に対するポー
    リング処理のための設定を、ポーリング用FIFOに対
    して行うとともに、前記コマンドの処理対象であるフラ
    ッシュメモリデバイスに対してポーリング処理を実行す
    ることを特徴とするフラッシュメモリアクセス方法。
  5. 【請求項5】 前記フラッシュメモリアクセス方法にお
    いて、 前記ポーリング処理が未完了である場合に、 前記コントローラが、前記コマンド発行用FIFOから
    前記コマンド及び必要なデータを抽出して、このコマン
    ドを発行し、 前記コマンドの処理対象であるフラッシュメモリデバイ
    スが、このコマンドの処理を実行するとともに、前記コ
    ントローラが、前記ポーリング処理を実行することを特
    徴とする請求項4記載のフラッシュメモリアクセス方
    法。
  6. 【請求項6】 前記フラッシュメモリアクセス方法にお
    いて、 前記フラッシュメモリデバイスが、各フラッシュメモリ
    デバイスが使用中であるか否かを記憶するフラッシュメ
    モリ使用中表示ビットを有し、 前記コントローラが、前記フラッシュメモリ使用中表示
    ビットを確認し、前記フラッシュメモリデバイスが使用
    中である場合には、ポーリング処理を行うことを特徴と
    する請求項4又は5記載のフラッシュメモリアクセス方
    法。
  7. 【請求項7】 前記フラッシュメモリアクセス方法にお
    いて、 前記ポーリング処理が完了した場合は、前記コントロー
    ラが、対応するフラッシュメモリデバイスから処理結果
    を入力するとともに、この処理結果を前記DMAに出力
    することを特徴とする請求項4〜6のいずれかに記載の
    フラッシュメモリアクセス方法。
  8. 【請求項8】 前記フラッシュメモリアクセス方法にお
    いて、 前記ポーリング処理が、複数のフラッシュメモリデバイ
    スに対し、連続して順次実行されることを特徴とする請
    求項4〜7のいずれかに記載のフラッシュメモリアクセ
    ス方法。
JP2002050310A 2002-02-26 2002-02-26 フラッシュメモリアクセス回路及びフラッシュメモリアクセス方法 Pending JP2003256273A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002050310A JP2003256273A (ja) 2002-02-26 2002-02-26 フラッシュメモリアクセス回路及びフラッシュメモリアクセス方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002050310A JP2003256273A (ja) 2002-02-26 2002-02-26 フラッシュメモリアクセス回路及びフラッシュメモリアクセス方法

Publications (1)

Publication Number Publication Date
JP2003256273A true JP2003256273A (ja) 2003-09-10

Family

ID=28662592

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002050310A Pending JP2003256273A (ja) 2002-02-26 2002-02-26 フラッシュメモリアクセス回路及びフラッシュメモリアクセス方法

Country Status (1)

Country Link
JP (1) JP2003256273A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102460405A (zh) * 2009-06-03 2012-05-16 美光科技公司 用于通过存储器装置来控制主机存储器存取的方法及系统
TWI500040B (zh) * 2007-10-01 2015-09-11 Marvell World Trade Ltd 快閃記憶體控制器
JP2023505857A (ja) * 2019-12-13 2023-02-13 マイクロン テクノロジー,インク. 計算機能を備えたメモリモジュール

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI500040B (zh) * 2007-10-01 2015-09-11 Marvell World Trade Ltd 快閃記憶體控制器
US9218284B2 (en) 2007-10-01 2015-12-22 Marvell World Trade Ltd. Storage device command interval controller
CN102460405A (zh) * 2009-06-03 2012-05-16 美光科技公司 用于通过存储器装置来控制主机存储器存取的方法及系统
JP2012529103A (ja) * 2009-06-03 2012-11-15 マイクロン テクノロジー, インク. メモリデバイスによりホストメモリアクセスを制御するための方法およびシステム
US8918600B2 (en) 2009-06-03 2014-12-23 Micron Technology, Inc. Methods for controlling host memory access with memory devices and systems
US9811258B2 (en) 2009-06-03 2017-11-07 Micron Technology, Inc. Methods for controlling host memory access with memory devices and systems
JP2023505857A (ja) * 2019-12-13 2023-02-13 マイクロン テクノロジー,インク. 計算機能を備えたメモリモジュール

Similar Documents

Publication Publication Date Title
US6820187B2 (en) Multiprocessor system and control method thereof
JPH02227763A (ja) データ転送制御システム
JP2008009817A (ja) 半導体装置及びデータ転送方法
JP2000047974A (ja) バス制御コントローラのバス調停方法、バス制御コントローラ及び電子機器のシステム
JP2008040905A (ja) 半導体装置、及び記憶装置へのアクセス方法
JP2003256273A (ja) フラッシュメモリアクセス回路及びフラッシュメモリアクセス方法
JP2010244164A (ja) Dmaコントローラ、情報処理装置、及びdma管理方法
JPH11232213A (ja) 入出力装置におけるデータ転送方式
US8412902B2 (en) Signal processor and signal processing system
JP4723334B2 (ja) Dma転送システム
EP3428799A1 (en) Data access device and access error notification method
JP2731761B2 (ja) ネットワーク制御装置
JP2006126938A (ja) データ転送システム及びそのデータ転送方法
EP0706138A1 (en) Alternating data valid control signals for high performance data transfer
JP2000040057A (ja) 計算機システム、バッファ制御装置及び転送方法
JP2004213666A (ja) Dmaモジュールとその操作方法
JPH1185673A (ja) 共有バスの制御方法とその装置
JP2000105734A (ja) メモリ制御方法、メモリ装置及びコントローラ
JP2001256055A (ja) プログラムダウンロード方式
CN115794693A (zh) 一种gpio接口控制方法、系统、存储介质以及设备
JP2560757B2 (ja) 表示データ処理装置
JPH05282243A (ja) バスマスター装置及び該装置を用いた電子機器
JPH03111961A (ja) マルチcpuのプログラムロード方式
JP2000207380A (ja) マイクロコンピュ―タ
JPH0237425A (ja) ディジタル信号処理装置