JPH07244992A - 半導体記憶装置とメモリ制御方法 - Google Patents
半導体記憶装置とメモリ制御方法Info
- Publication number
- JPH07244992A JPH07244992A JP5665594A JP5665594A JPH07244992A JP H07244992 A JPH07244992 A JP H07244992A JP 5665594 A JP5665594 A JP 5665594A JP 5665594 A JP5665594 A JP 5665594A JP H07244992 A JPH07244992 A JP H07244992A
- Authority
- JP
- Japan
- Prior art keywords
- data
- unit
- flash memory
- block
- write
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 239000004065 semiconductor Substances 0.000 title claims description 134
- 238000000034 method Methods 0.000 title claims description 23
- 239000000872 buffer Substances 0.000 claims abstract description 127
- 238000007726 management method Methods 0.000 claims description 18
- 238000013523 data management Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Landscapes
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Read Only Memory (AREA)
Abstract
(57)【要約】
【構成】 フラッシュメモリ部16のデータを書換える
場合、転送制御部14aは、先ず、ホストからのライト
データがフラッシュメモリ部16のどの領域へのデータ
であるかを調べる。ホストからのライトデータが、フラ
ッシュメモリ部16の1ブロック分なかった場合は、そ
のデータを含むブロックのデータをバッファ部17に転
送し、このバッファ部17上で、データの書換えを行
う。更に、フラッシュメモリ部16の該当ブロックのデ
ータを消去し、このブロックに、バッファ部17上で書
換えたデータを書戻す。一方、ホストからのライトデー
タが、フラッシュメモリ部16の1ブロック分あった場
合は、そのブロック分のデータはバッファ部17に転送
せず、そのブロックを消去した後、ライトデータを直接
書込む。 【効果】 データ書換えを高速に行うことができる。
場合、転送制御部14aは、先ず、ホストからのライト
データがフラッシュメモリ部16のどの領域へのデータ
であるかを調べる。ホストからのライトデータが、フラ
ッシュメモリ部16の1ブロック分なかった場合は、そ
のデータを含むブロックのデータをバッファ部17に転
送し、このバッファ部17上で、データの書換えを行
う。更に、フラッシュメモリ部16の該当ブロックのデ
ータを消去し、このブロックに、バッファ部17上で書
換えたデータを書戻す。一方、ホストからのライトデー
タが、フラッシュメモリ部16の1ブロック分あった場
合は、そのブロック分のデータはバッファ部17に転送
せず、そのブロックを消去した後、ライトデータを直接
書込む。 【効果】 データ書換えを高速に行うことができる。
Description
【0001】
【産業上の利用分野】本発明は、フラッシュメモリを用
いた半導体記憶装置に関し、特にそのデータ書換え制御
に関するものである。
いた半導体記憶装置に関し、特にそのデータ書換え制御
に関するものである。
【0002】
【従来の技術】近年、不揮発性メモリチップとして、フ
ラッシュメモリ、即ちフラッシュEEPROM(FEE
PROM)が実用化されるようになり、このチップを使
用した半導体ディスク装置の開発が盛んに行われてい
る。このフラッシュメモリとは、EEPROM(電気的
消去、再書込み可能リード・オンリ・メモリ)の一種で
あり、電気的に消去ができ、かつ、バイト毎にプログラ
ム書込みができ、また電源を必要とせず、メモリの内容
が保証できるという長所を持つ。
ラッシュメモリ、即ちフラッシュEEPROM(FEE
PROM)が実用化されるようになり、このチップを使
用した半導体ディスク装置の開発が盛んに行われてい
る。このフラッシュメモリとは、EEPROM(電気的
消去、再書込み可能リード・オンリ・メモリ)の一種で
あり、電気的に消去ができ、かつ、バイト毎にプログラ
ム書込みができ、また電源を必要とせず、メモリの内容
が保証できるという長所を持つ。
【0003】
【発明が解決しようとする課題】しかしながら、上記の
長所とは逆に、次のような短所を有している。即ち、メ
モリへの書込みの際に、上書きができないため、一旦消
去してからバイト毎に書込み(データを書換える)を行
う必要がある。なお、ここで消去する単位は、チップに
よって異なるが、チップ単位に消去を行うものが主流で
ある。フラッシュメモリを用いた半導体記憶装置は、上
記のようなフラッシュメモリのデータ書換え時に、その
メモリ部のデータを必ず消去しなければならないといっ
た特性のため、半導体記憶装置の特長である高速アクセ
スの妨げとなっており、このような、データ書換え時の
性能向上を図ることのできる半導体記憶装置の実現が望
まれていた。
長所とは逆に、次のような短所を有している。即ち、メ
モリへの書込みの際に、上書きができないため、一旦消
去してからバイト毎に書込み(データを書換える)を行
う必要がある。なお、ここで消去する単位は、チップに
よって異なるが、チップ単位に消去を行うものが主流で
ある。フラッシュメモリを用いた半導体記憶装置は、上
記のようなフラッシュメモリのデータ書換え時に、その
メモリ部のデータを必ず消去しなければならないといっ
た特性のため、半導体記憶装置の特長である高速アクセ
スの妨げとなっており、このような、データ書換え時の
性能向上を図ることのできる半導体記憶装置の実現が望
まれていた。
【0004】
【課題を解決するための手段】本発明の半導体記憶装置
とメモリ制御方法は、前述の課題を解決するために、デ
ータ書換え時におけるフラッシュメモリ部からバッファ
部へのデータ転送動作を、転送不要な領域は転送しない
ようにしたものである。
とメモリ制御方法は、前述の課題を解決するために、デ
ータ書換え時におけるフラッシュメモリ部からバッファ
部へのデータ転送動作を、転送不要な領域は転送しない
ようにしたものである。
【0005】
【作用】本発明の半導体記憶装置とメモリ制御方法にお
いては、データ書換え時では、転送されるデータが少な
くなり、従って、データ書換え時におけるフラッシュメ
モリ部からバッファ部へのデータ転送時間が短縮され、
データ書換え動作が高速化される。
いては、データ書換え時では、転送されるデータが少な
くなり、従って、データ書換え時におけるフラッシュメ
モリ部からバッファ部へのデータ転送時間が短縮され、
データ書換え動作が高速化される。
【0006】
【実施例】以下、本発明の実施例を図面を用いて詳細に
説明する。図1は、本発明の半導体記憶装置における実
施例1を示すブロック図であるが、この説明に先立ち、
基本的な半導体記憶装置の構成および動作を説明する。
説明する。図1は、本発明の半導体記憶装置における実
施例1を示すブロック図であるが、この説明に先立ち、
基本的な半導体記憶装置の構成および動作を説明する。
【0007】《基本的な半導体記憶装置の構成》図2
は、フラッシュメモリ(FEEPROM)を用いた半導
体記憶装置のブロック図を示す。図において、1は半導
体記憶装置(不揮発性半導体ディスク装置)、2はこの
半導体記憶装置1を接続するホストコンピュータ(図示
省略)のシステムバスである。半導体記憶装置1は、イ
ンタフェース部3、プロセッサ部4、プロセッサメモリ
部5、フラッシュメモリ部6、バッファ部7、内部バス
8から構成されている。
は、フラッシュメモリ(FEEPROM)を用いた半導
体記憶装置のブロック図を示す。図において、1は半導
体記憶装置(不揮発性半導体ディスク装置)、2はこの
半導体記憶装置1を接続するホストコンピュータ(図示
省略)のシステムバスである。半導体記憶装置1は、イ
ンタフェース部3、プロセッサ部4、プロセッサメモリ
部5、フラッシュメモリ部6、バッファ部7、内部バス
8から構成されている。
【0008】インタフェース部3は、ホストコンピュー
タとのインタフェース制御を行う部分である。プロセッ
サ部4は、ホストコンピュータからのコマンドを解釈
し、半導体記憶装置1を磁気ディスク装置と同様に見せ
るように制御し、フラッシュメモリ部6およびバッファ
部7に対するデータ書換えの制御を行う機能を備えてい
る。また、プロセッサメモリ部5は、プロセッサ部4が
実行するプログラムが格納されているメモリである。
タとのインタフェース制御を行う部分である。プロセッ
サ部4は、ホストコンピュータからのコマンドを解釈
し、半導体記憶装置1を磁気ディスク装置と同様に見せ
るように制御し、フラッシュメモリ部6およびバッファ
部7に対するデータ書換えの制御を行う機能を備えてい
る。また、プロセッサメモリ部5は、プロセッサ部4が
実行するプログラムが格納されているメモリである。
【0009】フラッシュメモリ部6は、半導体記憶装置
1の記憶媒体であり、フラッシュメモリ(FEEPRO
M)で構成されている。バッファ部7は、フラッシュメ
モリ部6内の1ブロックのデータを書換えるために消去
する場合、データを一時的に退避させておくためのメモ
リであり、1ブロック分の容量を持つ。尚、ここで、1
ブロックとは、消去する最低の単位を指している。
1の記憶媒体であり、フラッシュメモリ(FEEPRO
M)で構成されている。バッファ部7は、フラッシュメ
モリ部6内の1ブロックのデータを書換えるために消去
する場合、データを一時的に退避させておくためのメモ
リであり、1ブロック分の容量を持つ。尚、ここで、1
ブロックとは、消去する最低の単位を指している。
【0010】図3は、このようなフラッシュメモリ部6
とバッファ部7との関係を示す説明図である。即ち、フ
ラッシュメモリ部6は、1〜m個のブロックから構成さ
れ、バッファ部7は、その一つ分のブロックの容量とな
っている。
とバッファ部7との関係を示す説明図である。即ち、フ
ラッシュメモリ部6は、1〜m個のブロックから構成さ
れ、バッファ部7は、その一つ分のブロックの容量とな
っている。
【0011】また、図2に示す内部バス8は、半導体記
憶装置1内の構成要素を接続するためのバスである。
憶装置1内の構成要素を接続するためのバスである。
【0012】次に、上記の半導体記憶装置1の動作につ
いて説明する。半導体記憶装置1の動作は、大きく分け
てホストコンピュータが半導体記憶装置1からデータを
読み出すリードと、ホストコンピュータが半導体記憶装
置1へデータを書込むライトがある。
いて説明する。半導体記憶装置1の動作は、大きく分け
てホストコンピュータが半導体記憶装置1からデータを
読み出すリードと、ホストコンピュータが半導体記憶装
置1へデータを書込むライトがある。
【0013】[リード動作]図4は、上記半導体記憶装
置1のリード動作を示したフローチャートである。図示
しないホストコンピュータは、半導体記憶装置1に対し
てリード要求を行う場合は、システムバス2を介して半
導体記憶装置1へ、リードコマンド、リードデータ数、
先頭アドレスを送る。
置1のリード動作を示したフローチャートである。図示
しないホストコンピュータは、半導体記憶装置1に対し
てリード要求を行う場合は、システムバス2を介して半
導体記憶装置1へ、リードコマンド、リードデータ数、
先頭アドレスを送る。
【0014】半導体記憶装置1は、ホストコンピュータ
からの情報をシステムバス2を介し、インタフェース部
3で受け取る。インタフェース部3は、上記のリードコ
マンド、リードデータ数、先頭アドレスを、インタフェ
ース部3内の図示しないコマンドレジスタ、データ数レ
ジスタ、先頭アドレスレジスタにセットする。また、ホ
ストコンピュータより情報がきたことを、プロセッサ部
4に通知する(ステップS101)。
からの情報をシステムバス2を介し、インタフェース部
3で受け取る。インタフェース部3は、上記のリードコ
マンド、リードデータ数、先頭アドレスを、インタフェ
ース部3内の図示しないコマンドレジスタ、データ数レ
ジスタ、先頭アドレスレジスタにセットする。また、ホ
ストコンピュータより情報がきたことを、プロセッサ部
4に通知する(ステップS101)。
【0015】プロセッサ部4は、コマンドレジスタをリ
ードして、ホストコンピュータがリード要求したことを
認識する(ステップS102)。また、データ数レジス
タと先頭レジスタと先頭アドレスレジスタをリードし
て、フラッシュメモリ部6内のどの領域がリード要求さ
れたかを認識する(ステップ103)。次に、プロセッ
サ部4は、フラッシュメモリ部6内のリード要求された
領域から、1ワードのデータをリードし、インタフェー
ス部3へデータ転送を開始する(ステップS104)。
インタフェース部3は、ホストコンピュータにデータが
転送できることを通知し、この通知を受けたホストコン
ピュータは、システムバス2を介して、インタフェース
部3よりデータを読み出す(ステップS105)。この
ようにして、リード要求された領域からデータ転送を繰
り返す。
ードして、ホストコンピュータがリード要求したことを
認識する(ステップS102)。また、データ数レジス
タと先頭レジスタと先頭アドレスレジスタをリードし
て、フラッシュメモリ部6内のどの領域がリード要求さ
れたかを認識する(ステップ103)。次に、プロセッ
サ部4は、フラッシュメモリ部6内のリード要求された
領域から、1ワードのデータをリードし、インタフェー
ス部3へデータ転送を開始する(ステップS104)。
インタフェース部3は、ホストコンピュータにデータが
転送できることを通知し、この通知を受けたホストコン
ピュータは、システムバス2を介して、インタフェース
部3よりデータを読み出す(ステップS105)。この
ようにして、リード要求された領域からデータ転送を繰
り返す。
【0016】必要なデータ数をホストコンピュータに転
送し終えると(ステップS106)、プロセッサ部4
は、インタフェース部3を介してリード動作の終了をホ
ストコンピュータへ通知する(ステップS107)。ホ
ストコンピュータは、終了通知を受け、リード動作を終
了する。
送し終えると(ステップS106)、プロセッサ部4
は、インタフェース部3を介してリード動作の終了をホ
ストコンピュータへ通知する(ステップS107)。ホ
ストコンピュータは、終了通知を受け、リード動作を終
了する。
【0017】[ライト動作]図5、6は、上記半導体記
憶装置1におけるライト動作を示したフローチャートで
ある。ホストコンピュータが半導体記憶装置1に対して
ライト要求を行う場合は、上述したリード動作と同様
に、半導体記憶装置1に、ライトコマンド、ライトデー
タ数、先頭アドレスを送る。
憶装置1におけるライト動作を示したフローチャートで
ある。ホストコンピュータが半導体記憶装置1に対して
ライト要求を行う場合は、上述したリード動作と同様
に、半導体記憶装置1に、ライトコマンド、ライトデー
タ数、先頭アドレスを送る。
【0018】インタフェース部3は、上記のライトコマ
ンド、ライトデータ数、先頭アドレスをインタフェース
部3内の図示されていないコマンドレジスタ、データ数
レジスタ、先頭アドレスレジスタにセットする。また、
インタフェース部3は、プロセッサ部4にホストコンピ
ュータからコマンドがきたことを知らせる(ステップS
201)。プロセッサ部4は、コマンドレジスタをリー
ドし、ホストコンピュータがライト要求してきたことを
認識する(ステップS202)。また、データ数レジス
タと先頭アドレスレジスタをリードし、フラッシュメモ
リ部6内のどの領域がライト要求されたかを認識し(ス
テップS203)、その領域への上書きが可能か否かを
判断する(ステップS204)。
ンド、ライトデータ数、先頭アドレスをインタフェース
部3内の図示されていないコマンドレジスタ、データ数
レジスタ、先頭アドレスレジスタにセットする。また、
インタフェース部3は、プロセッサ部4にホストコンピ
ュータからコマンドがきたことを知らせる(ステップS
201)。プロセッサ部4は、コマンドレジスタをリー
ドし、ホストコンピュータがライト要求してきたことを
認識する(ステップS202)。また、データ数レジス
タと先頭アドレスレジスタをリードし、フラッシュメモ
リ部6内のどの領域がライト要求されたかを認識し(ス
テップS203)、その領域への上書きが可能か否かを
判断する(ステップS204)。
【0019】フラッシュメモリ部6内のライト要求され
た領域への上書きが不可能な場合、プロセッサ部4は、
フラッシュメモリ部6内のライト要求された領域が含ま
れる1ブロック内の全てのデータをバッファ部7に転送
する(ステップS205)。そして、フラッシュメモリ
部6内のライト要求された領域が含まれるブロック内の
全てのデータの転送を終えると、そのブロックを消去す
る(ステップS206)。
た領域への上書きが不可能な場合、プロセッサ部4は、
フラッシュメモリ部6内のライト要求された領域が含ま
れる1ブロック内の全てのデータをバッファ部7に転送
する(ステップS205)。そして、フラッシュメモリ
部6内のライト要求された領域が含まれるブロック内の
全てのデータの転送を終えると、そのブロックを消去す
る(ステップS206)。
【0020】次に、プロセッサ部4は、インタフェース
部3を介してホストコンピュータへ書込むデータを転送
する許可を出す。通知を受けたホストコンピュータは、
半導体記憶装置1へ1ワードずつデータ転送を開始する
(ステップS207)。半導体記憶装置1は、ホストコ
ンピュータからのデータをシステムバス2を介し、イン
タフェース部3で受け取る。プロセッサ部4は、ホスト
コンピュータから送られてきたデータを、インタフェー
ス部3からライト要求された領域に対応するバッファ部
7内の領域へ1ワードずつ転送する(ステップS20
8)。そして、この必要なデータ数をホストコンピュー
タから転送し終えるまで繰り返す。
部3を介してホストコンピュータへ書込むデータを転送
する許可を出す。通知を受けたホストコンピュータは、
半導体記憶装置1へ1ワードずつデータ転送を開始する
(ステップS207)。半導体記憶装置1は、ホストコ
ンピュータからのデータをシステムバス2を介し、イン
タフェース部3で受け取る。プロセッサ部4は、ホスト
コンピュータから送られてきたデータを、インタフェー
ス部3からライト要求された領域に対応するバッファ部
7内の領域へ1ワードずつ転送する(ステップS20
8)。そして、この必要なデータ数をホストコンピュー
タから転送し終えるまで繰り返す。
【0021】必要なデータ数をホストコンピュータから
転送し終えると(ステップS209)、バッファ部7の
ライト要求された領域を含むブロックのデータを、フラ
ッシュメモリ部6内のライト要求された領域を含むブロ
ックに転送する(ステップS210)。プロセッサ部4
は、インタフェース部3を介してホストコンピュータへ
ライト動作の終了を通知する(ステップS211)。こ
れにより、ホストコンピュータは、終了通知を受け、ラ
イト動作を終了する。
転送し終えると(ステップS209)、バッファ部7の
ライト要求された領域を含むブロックのデータを、フラ
ッシュメモリ部6内のライト要求された領域を含むブロ
ックに転送する(ステップS210)。プロセッサ部4
は、インタフェース部3を介してホストコンピュータへ
ライト動作の終了を通知する(ステップS211)。こ
れにより、ホストコンピュータは、終了通知を受け、ラ
イト動作を終了する。
【0022】また、上記ステップS204において、フ
ラッシュメモリ部6内のライト要求された領域への上書
きが可能な場合、プロセッサ部4は、インタフェース部
3を介してホストコンピュータに書込むデータの転送す
る許可を出す。通知を受けたホストコンピュータは、半
導体記憶装置1へデータ転送を開始する(ステップS2
12)。プロセッサ部4は、ホストコンピュータから送
られてきたデータを、インタフェース部3からフラッシ
ュメモリ部6のライト要求された領域に対応する領域へ
転送する(ステップS213)。そして、この転送動作
を、必要なデータ数をホストコンピュータから転送し終
えるまで繰り返す。
ラッシュメモリ部6内のライト要求された領域への上書
きが可能な場合、プロセッサ部4は、インタフェース部
3を介してホストコンピュータに書込むデータの転送す
る許可を出す。通知を受けたホストコンピュータは、半
導体記憶装置1へデータ転送を開始する(ステップS2
12)。プロセッサ部4は、ホストコンピュータから送
られてきたデータを、インタフェース部3からフラッシ
ュメモリ部6のライト要求された領域に対応する領域へ
転送する(ステップS213)。そして、この転送動作
を、必要なデータ数をホストコンピュータから転送し終
えるまで繰り返す。
【0023】必要なデータ数をホストコンピュータから
転送し終えると(ステップS214)、プロセッサ部4
は、インタフェース部3を介してホストコンピュータへ
ライト動作の終了を通知する(ステップS211)。そ
して、ホストコンピュータは、終了通知を受け、ライト
動作を終了する。
転送し終えると(ステップS214)、プロセッサ部4
は、インタフェース部3を介してホストコンピュータへ
ライト動作の終了を通知する(ステップS211)。そ
して、ホストコンピュータは、終了通知を受け、ライト
動作を終了する。
【0024】次に、このような半導体記憶装置1に対し
て、転送制御部を設けた実施例1を図1を用いて説明す
る。 《実施例1》図1において、11は半導体記憶装置、2
はこの半導体記憶装置11が図示しないホストコンピュ
ータと接続されるためのシステムバスである。また、半
導体記憶装置11は、インタフェース部13、プロセッ
サ部14、プロセッサメモリ部15、フラッシュメモリ
部16、バッファ部17、内部バス18から構成されて
いる。
て、転送制御部を設けた実施例1を図1を用いて説明す
る。 《実施例1》図1において、11は半導体記憶装置、2
はこの半導体記憶装置11が図示しないホストコンピュ
ータと接続されるためのシステムバスである。また、半
導体記憶装置11は、インタフェース部13、プロセッ
サ部14、プロセッサメモリ部15、フラッシュメモリ
部16、バッファ部17、内部バス18から構成されて
いる。
【0025】インタフェース部13は、上述した構成の
半導体記憶装置1におけるインタフェース部3と同様
に、ホストコンピュータとのインタフェース制御を行う
部分である。
半導体記憶装置1におけるインタフェース部3と同様
に、ホストコンピュータとのインタフェース制御を行う
部分である。
【0026】プロセッサ部14は、ホストコンピュータ
からのコマンドを解釈し、半導体記憶装置11をディス
ク装置に見せるように制御し、フラッシュメモリ部16
およびバッファ部17に対するデータ書換えの制御を行
う部分であり、転送制御部14aを備えている。この転
送制御部14aは、ホストコンピュータからのライトデ
ータが、フラッシュメモリ部16の1ブロック分なかっ
た場合は、そのデータを含むブロックをフラッシュメモ
リ部16からバッファ部17へ転送して、バッファ部1
7上で書換えを行い、フラッシュメモリ部16の該当ブ
ロックの消去を行った後、バッファ部17上で書換えた
1ブロック分のデータを書戻し、かつ、ホストコンピュ
ータからのライトデータが、1ブロック分あった場合
は、そのブロック分のデータをフラッシュメモリ部16
からバッファ部17へ転送せず、フラッシュメモリ部1
6の該当ブロックの消去を行った後、ライトデータを直
接書込む機能を備えているものである。
からのコマンドを解釈し、半導体記憶装置11をディス
ク装置に見せるように制御し、フラッシュメモリ部16
およびバッファ部17に対するデータ書換えの制御を行
う部分であり、転送制御部14aを備えている。この転
送制御部14aは、ホストコンピュータからのライトデ
ータが、フラッシュメモリ部16の1ブロック分なかっ
た場合は、そのデータを含むブロックをフラッシュメモ
リ部16からバッファ部17へ転送して、バッファ部1
7上で書換えを行い、フラッシュメモリ部16の該当ブ
ロックの消去を行った後、バッファ部17上で書換えた
1ブロック分のデータを書戻し、かつ、ホストコンピュ
ータからのライトデータが、1ブロック分あった場合
は、そのブロック分のデータをフラッシュメモリ部16
からバッファ部17へ転送せず、フラッシュメモリ部1
6の該当ブロックの消去を行った後、ライトデータを直
接書込む機能を備えているものである。
【0027】また、プロセッサメモリ部15〜バッファ
部17の構成は、上記半導体記憶装置におけるプロセッ
サメモリ部5〜バッファ部7の構成と同様であるため、
ここでの説明は省略する。尚、フラッシュメモリ部16
とバッファ部17の容量は、図3で示したように構成さ
れている。
部17の構成は、上記半導体記憶装置におけるプロセッ
サメモリ部5〜バッファ部7の構成と同様であるため、
ここでの説明は省略する。尚、フラッシュメモリ部16
とバッファ部17の容量は、図3で示したように構成さ
れている。
【0028】次に、上記実施例1の半導体記憶装置11
の動作を説明する。 [リード動作]ここで、本実施例のリード動作は、上記
半導体記憶装置1の動作フローと同様である。即ち、そ
の動作は図4に示したフローチャートと同様であるた
め、ここでの説明は省略する。
の動作を説明する。 [リード動作]ここで、本実施例のリード動作は、上記
半導体記憶装置1の動作フローと同様である。即ち、そ
の動作は図4に示したフローチャートと同様であるた
め、ここでの説明は省略する。
【0029】[ライト動作]図7はライト動作のフロー
チャートである。ホストコンピュータがライト動作を要
求する場合、半導体記憶装置11に対し、ライトコマン
ド、ライトデータ数、先頭アドレスを発行する。インタ
フェース部13は、リード動作同様、インタフェース部
13内の図示しないコマンドレジスタ、データ数レジス
タ、先頭アドレスレジスタに、これらライトコマンド、
ライトデータ数、先頭アドレスをセットし、プロセッサ
部14に割り込みを上げる(ステップS301)。
チャートである。ホストコンピュータがライト動作を要
求する場合、半導体記憶装置11に対し、ライトコマン
ド、ライトデータ数、先頭アドレスを発行する。インタ
フェース部13は、リード動作同様、インタフェース部
13内の図示しないコマンドレジスタ、データ数レジス
タ、先頭アドレスレジスタに、これらライトコマンド、
ライトデータ数、先頭アドレスをセットし、プロセッサ
部14に割り込みを上げる(ステップS301)。
【0030】プロセッサ部14の転送制御部14aは、
割り込みを受け付けると、コマンドレジスタをリード
し、ホストコンピュータがライトコマンドを発行したこ
とを認識する(ステップS302)。次に、転送制御部
14aはデータ数レジスタと先頭アドレスレジスタをリ
ードし、フラッシュメモリ部16へ書込みを行う領域を
知り(ステップS303)、フラッシュメモリ部16内
の該領域への上書きが可能か否か、即ち、ライトする領
域が未使用か否かを判断する(ステップS304)。
割り込みを受け付けると、コマンドレジスタをリード
し、ホストコンピュータがライトコマンドを発行したこ
とを認識する(ステップS302)。次に、転送制御部
14aはデータ数レジスタと先頭アドレスレジスタをリ
ードし、フラッシュメモリ部16へ書込みを行う領域を
知り(ステップS303)、フラッシュメモリ部16内
の該領域への上書きが可能か否か、即ち、ライトする領
域が未使用か否かを判断する(ステップS304)。
【0031】ステップS304において、フラッシュメ
モリ部16への上書きが不可能な場合は、ステップS3
05へ進み、フラッシュメモリ部16へ書込みを行うラ
イトデータ領域が1ブロック分であり、かつ、その1ブ
ロック分がフラッシュメモリ部16のブロックに対応し
ているか否かを転送制御部14aは判断する。ステップ
S305において、フラッシュメモリ部16へ書込みを
行うライトデータ領域が1ブロック分でない、または、
1ブロック分であるがその1ブロック分がフラッシュメ
モリ部16のブロックに対応していない場合は、ステッ
プS306へ進み、フラッシュメモリ部16内の上書き
が必要な領域が含まれる1ブロック分のデータを転送
し、バッファ部17に格納する。そして、このデータ転
送後、フラッシュメモリ部16内の上書きが必要な領域
が含まれるブロック分のデータを消去する(ステップS
307)。
モリ部16への上書きが不可能な場合は、ステップS3
05へ進み、フラッシュメモリ部16へ書込みを行うラ
イトデータ領域が1ブロック分であり、かつ、その1ブ
ロック分がフラッシュメモリ部16のブロックに対応し
ているか否かを転送制御部14aは判断する。ステップ
S305において、フラッシュメモリ部16へ書込みを
行うライトデータ領域が1ブロック分でない、または、
1ブロック分であるがその1ブロック分がフラッシュメ
モリ部16のブロックに対応していない場合は、ステッ
プS306へ進み、フラッシュメモリ部16内の上書き
が必要な領域が含まれる1ブロック分のデータを転送
し、バッファ部17に格納する。そして、このデータ転
送後、フラッシュメモリ部16内の上書きが必要な領域
が含まれるブロック分のデータを消去する(ステップS
307)。
【0032】また、ステップS305において、フラッ
シュメモリ部16へ書込みを行うライトデータ領域が1
ブロック分であり、かつ、その1ブロックがフラッシュ
メモリ部16のブロックに対応している場合は、フラッ
シュメモリ部16内の該当ブロックのデータを転送せ
ず、そのまま、ステップS307に進んで、フラッシュ
メモリ部16内の上書きが必要な領域が含まれる1ブロ
ック分のデータを消去する。
シュメモリ部16へ書込みを行うライトデータ領域が1
ブロック分であり、かつ、その1ブロックがフラッシュ
メモリ部16のブロックに対応している場合は、フラッ
シュメモリ部16内の該当ブロックのデータを転送せ
ず、そのまま、ステップS307に進んで、フラッシュ
メモリ部16内の上書きが必要な領域が含まれる1ブロ
ック分のデータを消去する。
【0033】その後は、上述した半導体記憶装置1のラ
イト動作と同様に、プロセッサ部14が、インタフェー
ス部13を介してホストコンピュータへ書込むデータを
転送する許可を出し、通知を受けたホストコンピュータ
は、半導体記憶装置11へ1ワードずつデータ転送を開
始する(ステップS308)。半導体記憶装置11は、
ホストコンピュータからのデータをシステムバス2を介
し、インタフェース部13で受け取る。プロセッサ部1
4は、ホストコンピュータから送られてきたデータを、
インタフェース部13からライト要求された領域に対応
するバッファ部17内の領域へ1ワードずつ転送する
(ステップS309)。そして、この必要なデータ数を
ホストコンピュータから転送し終えるまで繰り返す。
イト動作と同様に、プロセッサ部14が、インタフェー
ス部13を介してホストコンピュータへ書込むデータを
転送する許可を出し、通知を受けたホストコンピュータ
は、半導体記憶装置11へ1ワードずつデータ転送を開
始する(ステップS308)。半導体記憶装置11は、
ホストコンピュータからのデータをシステムバス2を介
し、インタフェース部13で受け取る。プロセッサ部1
4は、ホストコンピュータから送られてきたデータを、
インタフェース部13からライト要求された領域に対応
するバッファ部17内の領域へ1ワードずつ転送する
(ステップS309)。そして、この必要なデータ数を
ホストコンピュータから転送し終えるまで繰り返す。
【0034】必要なデータ数をホストコンピュータから
転送し終えると(ステップS310)、バッファ部17
のライト要求された領域を含むブロックのデータを、フ
ラッシュメモリ部16内のライト要求された領域を含む
ブロックに転送する(ステップS311)。プロセッサ
部4は、インタフェース部3を介してホストコンピュー
タへライト動作の終了を通知する(ステップS31
2)。これにより、ホストコンピュータは、終了通知を
受け、ライト動作を終了する。
転送し終えると(ステップS310)、バッファ部17
のライト要求された領域を含むブロックのデータを、フ
ラッシュメモリ部16内のライト要求された領域を含む
ブロックに転送する(ステップS311)。プロセッサ
部4は、インタフェース部3を介してホストコンピュー
タへライト動作の終了を通知する(ステップS31
2)。これにより、ホストコンピュータは、終了通知を
受け、ライト動作を終了する。
【0035】また、上記ステップS304において、フ
ラッシュメモリ部16内のライト要求された領域への上
書きが可能な場合は、上述した半導体記憶装置1と同様
に図6に示すステップへ進むため、その後の動作につい
ては説明を省略する。
ラッシュメモリ部16内のライト要求された領域への上
書きが可能な場合は、上述した半導体記憶装置1と同様
に図6に示すステップへ進むため、その後の動作につい
ては説明を省略する。
【0036】このように、実施例1によれば、フラッシ
ュメモリ部16に書込みを行うライトデータ領域が1ブ
ロック分あり、かつ、その1ブロックがフラッシュメモ
リ部16のブロックに対応している場合は、フラッシュ
メモリ部16からバッファ部17への該当ブロックのデ
ータ転送を行わないようにしたので、このような場合の
フラッシュメモリ部16からバッファ部17へのデータ
転送処理がなくなり、ライト動作時の高速化が図れ、装
置としての性能向上となる。
ュメモリ部16に書込みを行うライトデータ領域が1ブ
ロック分あり、かつ、その1ブロックがフラッシュメモ
リ部16のブロックに対応している場合は、フラッシュ
メモリ部16からバッファ部17への該当ブロックのデ
ータ転送を行わないようにしたので、このような場合の
フラッシュメモリ部16からバッファ部17へのデータ
転送処理がなくなり、ライト動作時の高速化が図れ、装
置としての性能向上となる。
【0037】次に、基本的な構成の半導体記憶装置1に
対して、転送データ管理部を設けた実施例2を説明す
る。 《実施例2》図8は、その構成を示すブロック図であ
る。この図8において、21は半導体記憶装置、2はこ
の半導体記憶装置21が図示しないホストコンピュータ
と接続されるためのシステムバスである。また、半導体
記憶装置21は、インタフェース部23、プロセッサ部
24、プロセッサメモリ部25、フラッシュメモリ部2
6、バッファ部27、内部バス28から構成されてい
る。
対して、転送データ管理部を設けた実施例2を説明す
る。 《実施例2》図8は、その構成を示すブロック図であ
る。この図8において、21は半導体記憶装置、2はこ
の半導体記憶装置21が図示しないホストコンピュータ
と接続されるためのシステムバスである。また、半導体
記憶装置21は、インタフェース部23、プロセッサ部
24、プロセッサメモリ部25、フラッシュメモリ部2
6、バッファ部27、内部バス28から構成されてい
る。
【0038】また、この実施例2において、インタフェ
ース部23、プロセッサメモリ部25〜内部バス28の
構成は、上記実施例1におけるインタフェース部13、
プロセッサメモリ部15〜内部バス18の構成と同様で
あるため、ここでの説明は省略する。
ース部23、プロセッサメモリ部25〜内部バス28の
構成は、上記実施例1におけるインタフェース部13、
プロセッサメモリ部15〜内部バス18の構成と同様で
あるため、ここでの説明は省略する。
【0039】プロセッサ部24は、上記実施例1と同様
に、ホストコンピュータからのコマンドを解釈し、半導
体記憶装置21をディスク装置に見せるように制御し、
フラッシュメモリ部26およびバッファ部27に対する
データ書換えの制御を行う部分である。また、このプロ
セッサ部24は、転送データ管理部24aを備えてい
る。この転送データ管理部24aは、ホストコンピュー
タからのライト要求があった場合、対応するフラッシュ
メモリ部26のアドレスに基づき、上書きを行うライト
データ領域のデータを除いて1ブロック分のデータ転送
を行い、かつ、バッファ部27上でライトデータ領域の
書込みを行い、フラッシュメモリ部26の該当ブロック
の消去を行った後、バッファ部7上の1ブロック分のデ
ータを書戻す機能を備えているものである。
に、ホストコンピュータからのコマンドを解釈し、半導
体記憶装置21をディスク装置に見せるように制御し、
フラッシュメモリ部26およびバッファ部27に対する
データ書換えの制御を行う部分である。また、このプロ
セッサ部24は、転送データ管理部24aを備えてい
る。この転送データ管理部24aは、ホストコンピュー
タからのライト要求があった場合、対応するフラッシュ
メモリ部26のアドレスに基づき、上書きを行うライト
データ領域のデータを除いて1ブロック分のデータ転送
を行い、かつ、バッファ部27上でライトデータ領域の
書込みを行い、フラッシュメモリ部26の該当ブロック
の消去を行った後、バッファ部7上の1ブロック分のデ
ータを書戻す機能を備えているものである。
【0040】次に、上記実施例2の半導体記憶装置21
の動作を説明する。 [リード動作]ここで、本実施例のリード動作は、基本
的な構成の半導体記憶装置1の動作フローと同様であ
る。即ち、その動作は図4に示したフローチャートと同
様であるため、ここでの説明は省略する。
の動作を説明する。 [リード動作]ここで、本実施例のリード動作は、基本
的な構成の半導体記憶装置1の動作フローと同様であ
る。即ち、その動作は図4に示したフローチャートと同
様であるため、ここでの説明は省略する。
【0041】[ライト動作]図9はライト動作のフロー
チャートである。ホストコンピュータがライト動作を要
求する場合、半導体記憶装置21に対し、ライトコマン
ド、ライトデータ数、先頭アドレスを発行する。インタ
フェース部23は、リード動作同様、インタフェース部
23内の図示しないコマンドレジスタ、データ数レジス
タ、先頭アドレスレジスタに、これらライトコマンド、
ライトデータ数、先頭アドレスをセットし、プロセッサ
部24に割り込みを上げる(ステップS401)。
チャートである。ホストコンピュータがライト動作を要
求する場合、半導体記憶装置21に対し、ライトコマン
ド、ライトデータ数、先頭アドレスを発行する。インタ
フェース部23は、リード動作同様、インタフェース部
23内の図示しないコマンドレジスタ、データ数レジス
タ、先頭アドレスレジスタに、これらライトコマンド、
ライトデータ数、先頭アドレスをセットし、プロセッサ
部24に割り込みを上げる(ステップS401)。
【0042】プロセッサ部24は、割り込みを受け付け
ると、コマンドレジスタをリードし、ホストコンピュー
タがライトコマンドを発行したことを認識する(ステッ
プS402)。次に、プロセッサ部24はデータ数レジ
スタと先頭アドレスレジスタをリードし、フラッシュメ
モリ部26へ書込みを行う領域を知り(ステップS40
3)、フラッシュメモリ部26内の該領域への上書きが
可能か否かを判断する(ステップS404)。ステップ
S404において、フラッシュメモリ部26への上書き
が不可能な場合は、ステップS405へ進み、フラッシ
ュメモリ部26内の上書きが必要な領域が含まれる1ブ
ロック分のデータにおいて、上書きを行うライトデータ
領域のデータを除いた1ブロック分のデータを転送し、
バッファ部27に格納する。
ると、コマンドレジスタをリードし、ホストコンピュー
タがライトコマンドを発行したことを認識する(ステッ
プS402)。次に、プロセッサ部24はデータ数レジ
スタと先頭アドレスレジスタをリードし、フラッシュメ
モリ部26へ書込みを行う領域を知り(ステップS40
3)、フラッシュメモリ部26内の該領域への上書きが
可能か否かを判断する(ステップS404)。ステップ
S404において、フラッシュメモリ部26への上書き
が不可能な場合は、ステップS405へ進み、フラッシ
ュメモリ部26内の上書きが必要な領域が含まれる1ブ
ロック分のデータにおいて、上書きを行うライトデータ
領域のデータを除いた1ブロック分のデータを転送し、
バッファ部27に格納する。
【0043】図10は、その転送動作の説明図である。
即ち、フラッシュメモリ部26のあるブロック(ブロッ
クiとする)にデータが格納されており、そのデータ領
域に上書き要求があったとする。このような場合、転送
データ管理部24aは、上書き要求のアドレスに基づ
き、ブロックiにおける上書き領域以外の領域のみをバ
ッファ部27に転送するものである。
即ち、フラッシュメモリ部26のあるブロック(ブロッ
クiとする)にデータが格納されており、そのデータ領
域に上書き要求があったとする。このような場合、転送
データ管理部24aは、上書き要求のアドレスに基づ
き、ブロックiにおける上書き領域以外の領域のみをバ
ッファ部27に転送するものである。
【0044】その後は、基本的な構成の半導体記憶装置
1のライト動作と同様に、フラッシュメモリ部26内の
該当するブロックのデータを消去する(ステップS40
6)。そして、これ以降のステップS407〜S411
の動作は、図5におけるステップS207〜S211お
よび図8におけるステップS308〜S312の動作と
同様であるため、ここでの説明は省略する。また、上記
ステップS404において、フラッシュメモリ部26内
のライト要求された領域への上書きが可能な場合は、上
述した基本的な構成の半導体記憶装置1と同様に図6に
示すステップへ進むため、その後の動作については説明
を省略する。
1のライト動作と同様に、フラッシュメモリ部26内の
該当するブロックのデータを消去する(ステップS40
6)。そして、これ以降のステップS407〜S411
の動作は、図5におけるステップS207〜S211お
よび図8におけるステップS308〜S312の動作と
同様であるため、ここでの説明は省略する。また、上記
ステップS404において、フラッシュメモリ部26内
のライト要求された領域への上書きが可能な場合は、上
述した基本的な構成の半導体記憶装置1と同様に図6に
示すステップへ進むため、その後の動作については説明
を省略する。
【0045】このように、実施例2によれば、ホストコ
ンピュータからのライト要求時、該当ブロックにおける
上書き領域のデータは、フラッシュメモリ部26からバ
ッファ部27へ退避させないようにしたので、このよう
な場合のフラッシュメモリ部26からバッファ部27へ
のデータ転送量を少なくすることができ、従って、ライ
ト動作時の高速化が図れ、装置としての性能向上とな
る。
ンピュータからのライト要求時、該当ブロックにおける
上書き領域のデータは、フラッシュメモリ部26からバ
ッファ部27へ退避させないようにしたので、このよう
な場合のフラッシュメモリ部26からバッファ部27へ
のデータ転送量を少なくすることができ、従って、ライ
ト動作時の高速化が図れ、装置としての性能向上とな
る。
【0046】次に、基本的な構成の半導体記憶装置1に
対して、ブロック制御テーブル部とブロック制御部とを
設けた実施例3を説明する。 《実施例3》図11は、その構成を示すブロック図であ
る。この図11において、31は半導体記憶装置、2は
この半導体記憶装置31が図示しないホストコンピュー
タと接続されるためのシステムバスである。また、半導
体記憶装置31は、インタフェース部33、プロセッサ
部34、プロセッサメモリ部35、フラッシュメモリ部
36、バッファ部37、ブロック制御テーブル部38、
内部バス39から構成されている。
対して、ブロック制御テーブル部とブロック制御部とを
設けた実施例3を説明する。 《実施例3》図11は、その構成を示すブロック図であ
る。この図11において、31は半導体記憶装置、2は
この半導体記憶装置31が図示しないホストコンピュー
タと接続されるためのシステムバスである。また、半導
体記憶装置31は、インタフェース部33、プロセッサ
部34、プロセッサメモリ部35、フラッシュメモリ部
36、バッファ部37、ブロック制御テーブル部38、
内部バス39から構成されている。
【0047】また、この実施例3において、インタフェ
ース部33、プロセッサメモリ部35、フラッシュメモ
リ部36、バッファ部37および内部バス39の構成
は、上記実施例1におけるインタフェース部13、プロ
セッサメモリ部15、フラッシュメモリ部16、バッフ
ァ部17および内部バス18の構成と同様であるため、
ここでの説明は省略する。
ース部33、プロセッサメモリ部35、フラッシュメモ
リ部36、バッファ部37および内部バス39の構成
は、上記実施例1におけるインタフェース部13、プロ
セッサメモリ部15、フラッシュメモリ部16、バッフ
ァ部17および内部バス18の構成と同様であるため、
ここでの説明は省略する。
【0048】プロセッサ部34は、上記実施例1、2と
同様に、ホストコンピュータからのコマンドを解釈し、
半導体記憶装置31をディスク装置に見せるように制御
し、フラッシュメモリ部36およびバッファ部37に対
するデータ書換えの制御を行う部分である。また、この
プロセッサ部34は、ブロック制御部34aを備えてい
る。このブロック制御部34aは、ホストコンピュータ
からのライト要求があった場合、ブロック制御テーブル
部38の内容に基づき、フラッシュメモリ部36の該当
ブロックにおいて、データが格納されている範囲以外の
領域はバッファ部37に退避させないようデータ転送制
御を行う機能を備えているものである。
同様に、ホストコンピュータからのコマンドを解釈し、
半導体記憶装置31をディスク装置に見せるように制御
し、フラッシュメモリ部36およびバッファ部37に対
するデータ書換えの制御を行う部分である。また、この
プロセッサ部34は、ブロック制御部34aを備えてい
る。このブロック制御部34aは、ホストコンピュータ
からのライト要求があった場合、ブロック制御テーブル
部38の内容に基づき、フラッシュメモリ部36の該当
ブロックにおいて、データが格納されている範囲以外の
領域はバッファ部37に退避させないようデータ転送制
御を行う機能を備えているものである。
【0049】また、ブロック制御テーブル部38は、次
のように構成されている。図12は、ブロック制御テー
ブル部38の説明図である。ブロック制御テーブル部3
8は、フラッシュメモリ部36を構成しているFEEP
ROMの消去単位であるブロック単位で管理するよう構
成されている。即ち、ブロックNo部38a、先頭アドレ
ス部38bおよびデータ範囲部38cとで構成されてお
り、これらのブロックNo部38a、先頭アドレス部38
bおよびデータ範囲部38cは、フラッシュメモリ部3
6のブロックに対応した数が設けられている。ここで、
ブロックNo部38aの値1〜mは、フラッシュメモリ部
36の各ブロック1〜mに対応しており、先頭アドレス
部38bの値は、各ブロック内のデータ格納領域の先頭
アドレスを示し、データ範囲部38cの値は、先頭アド
レスから、そのブロック内におけるデータ格納領域の最
後のアドレスまでの範囲を示している。
のように構成されている。図12は、ブロック制御テー
ブル部38の説明図である。ブロック制御テーブル部3
8は、フラッシュメモリ部36を構成しているFEEP
ROMの消去単位であるブロック単位で管理するよう構
成されている。即ち、ブロックNo部38a、先頭アドレ
ス部38bおよびデータ範囲部38cとで構成されてお
り、これらのブロックNo部38a、先頭アドレス部38
bおよびデータ範囲部38cは、フラッシュメモリ部3
6のブロックに対応した数が設けられている。ここで、
ブロックNo部38aの値1〜mは、フラッシュメモリ部
36の各ブロック1〜mに対応しており、先頭アドレス
部38bの値は、各ブロック内のデータ格納領域の先頭
アドレスを示し、データ範囲部38cの値は、先頭アド
レスから、そのブロック内におけるデータ格納領域の最
後のアドレスまでの範囲を示している。
【0050】例えば、図示状態のように、あるブロック
iには、データ格納領域がアドレスi1〜i2とアドレ
スi3〜i4の二つあるとした場合、ブロックNo部38
aの「i」の先頭アドレス部38bは、データ格納領域
i1〜i2の先頭アドレスであるアドレスi1であり、
また、データ範囲部38cの値は、アドレスi1からデ
ータ格納領域i3〜i4の末尾アドレスi4までのデー
タ量dとなっている。
iには、データ格納領域がアドレスi1〜i2とアドレ
スi3〜i4の二つあるとした場合、ブロックNo部38
aの「i」の先頭アドレス部38bは、データ格納領域
i1〜i2の先頭アドレスであるアドレスi1であり、
また、データ範囲部38cの値は、アドレスi1からデ
ータ格納領域i3〜i4の末尾アドレスi4までのデー
タ量dとなっている。
【0051】次に、上記実施例3の半導体記憶装置31
の動作を説明する。 [リード動作]ここで、本実施例のリード動作は、基本
的な構成の半導体記憶装置1の動作フローと同様であ
る。即ち、その動作は図4に示したフローチャートと同
様であるため、ここでの説明は省略する。
の動作を説明する。 [リード動作]ここで、本実施例のリード動作は、基本
的な構成の半導体記憶装置1の動作フローと同様であ
る。即ち、その動作は図4に示したフローチャートと同
様であるため、ここでの説明は省略する。
【0052】[ライト動作]図13および図14はライ
ト動作のフローチャートである。ホストコンピュータが
ライト動作を要求する場合、半導体記憶装置31に対
し、ライトコマンド、ライトデータ数、先頭アドレスを
発行する。インタフェース部33は、リード動作同様、
インタフェース部33内の図示しないコマンドレジス
タ、データ数レジスタ、先頭アドレスレジスタに、これ
らライトコマンド、ライトデータ数、先頭アドレスをセ
ットし、プロセッサ部34に割り込みを上げる(ステッ
プS501)。
ト動作のフローチャートである。ホストコンピュータが
ライト動作を要求する場合、半導体記憶装置31に対
し、ライトコマンド、ライトデータ数、先頭アドレスを
発行する。インタフェース部33は、リード動作同様、
インタフェース部33内の図示しないコマンドレジス
タ、データ数レジスタ、先頭アドレスレジスタに、これ
らライトコマンド、ライトデータ数、先頭アドレスをセ
ットし、プロセッサ部34に割り込みを上げる(ステッ
プS501)。
【0053】プロセッサ部34は、割り込みを受け付け
ると、コマンドレジスタをリードし、ホストコンピュー
タがライトコマンドを発行したことを認識する(ステッ
プS502)。次に、プロセッサ部34はデータ数レジ
スタと先頭アドレスレジスタをリードし、フラッシュメ
モリ部36へ書込みを行う領域を知り(ステップS50
3)、フラッシュメモリ部36内の該領域への上書きが
可能か否かを判断する(ステップS504)。尚、ここ
までの動作は上記各実施例の動作と同様である。
ると、コマンドレジスタをリードし、ホストコンピュー
タがライトコマンドを発行したことを認識する(ステッ
プS502)。次に、プロセッサ部34はデータ数レジ
スタと先頭アドレスレジスタをリードし、フラッシュメ
モリ部36へ書込みを行う領域を知り(ステップS50
3)、フラッシュメモリ部36内の該領域への上書きが
可能か否かを判断する(ステップS504)。尚、ここ
までの動作は上記各実施例の動作と同様である。
【0054】ステップS504において、フラッシュメ
モリ部36への上書きが不可能な場合、ブロック制御部
34aは、ブロック制御テーブル部38を参照し、先頭
アドレス部62で示される先頭アドレスからデータ範囲
部63で示されるデータ数分だけのフラッシュメモリ部
36内のデータをバッファ部37に転送する(ステップ
S505)。
モリ部36への上書きが不可能な場合、ブロック制御部
34aは、ブロック制御テーブル部38を参照し、先頭
アドレス部62で示される先頭アドレスからデータ範囲
部63で示されるデータ数分だけのフラッシュメモリ部
36内のデータをバッファ部37に転送する(ステップ
S505)。
【0055】その後のステップS506〜S509の動
作は、上記各実施例の動作と同様に、フラッシュメモリ
部36内の上書きが必要な領域が含まれる1ブロック分
のデータを消去し(ステップS506)、更に、インタ
フェース部33を介してホストコンピュータに割り込み
を上げてデータを要求する。これにより、ホストコンピ
ュータは、1ワードのデータをインタフェース部33に
ライトする(ステップS508)。そして、プロセッサ
部34は、ホストコンピュータから送られてくるデータ
を、フラッシュメモリ部36へ書込みを行う領域に合わ
せてバッファ部37内の所定の領域に1ワードずつ書込
む(ステップS508)。
作は、上記各実施例の動作と同様に、フラッシュメモリ
部36内の上書きが必要な領域が含まれる1ブロック分
のデータを消去し(ステップS506)、更に、インタ
フェース部33を介してホストコンピュータに割り込み
を上げてデータを要求する。これにより、ホストコンピ
ュータは、1ワードのデータをインタフェース部33に
ライトする(ステップS508)。そして、プロセッサ
部34は、ホストコンピュータから送られてくるデータ
を、フラッシュメモリ部36へ書込みを行う領域に合わ
せてバッファ部37内の所定の領域に1ワードずつ書込
む(ステップS508)。
【0056】そして、ホストコンピュータから必要なデ
ータ数分のライト処理が終了したかを判定し(ステップ
S509)、終了した場合は、ブロック制御テーブル部
38に対して、ホストコンピュータからの書込み要求が
未書込み領域に及んでいた場合は、先頭アドレス部62
とデータ範囲部63の値を更新する(ステップS51
0)。
ータ数分のライト処理が終了したかを判定し(ステップ
S509)、終了した場合は、ブロック制御テーブル部
38に対して、ホストコンピュータからの書込み要求が
未書込み領域に及んでいた場合は、先頭アドレス部62
とデータ範囲部63の値を更新する(ステップS51
0)。
【0057】次に、ブロック制御テーブル部38を参照
し、先頭アドレス部62で示される先頭アドレスからデ
ータ範囲部63で示されるデータ数分だけのバッファ部
37内のデータを転送し、フラッシュメモリ部36内の
該当ブロックに格納し(ステップS511)、プロセッ
サ部34はホストコンピュータに対して終了を通知する
ため、割り込みをインタフェース部33を介して上げる
(ステップS512)。
し、先頭アドレス部62で示される先頭アドレスからデ
ータ範囲部63で示されるデータ数分だけのバッファ部
37内のデータを転送し、フラッシュメモリ部36内の
該当ブロックに格納し(ステップS511)、プロセッ
サ部34はホストコンピュータに対して終了を通知する
ため、割り込みをインタフェース部33を介して上げる
(ステップS512)。
【0058】また、ステップS503において、フラッ
シュメモリ部36への上書きが可能な場合は、図14に
示すステップに進み、プロセッサ部34はインタフェー
ス部33を介してホストコンピュータに割り込みを上げ
てデータを要求し、ホストコンピュータのライト処理が
終了すると(ステップS513)、プロセッサ部34は
ホストコンピュータから送られてきたデータをバッファ
部37を介さず直接フラッシュメモリ部36に書込む
(ステップS515)。
シュメモリ部36への上書きが可能な場合は、図14に
示すステップに進み、プロセッサ部34はインタフェー
ス部33を介してホストコンピュータに割り込みを上げ
てデータを要求し、ホストコンピュータのライト処理が
終了すると(ステップS513)、プロセッサ部34は
ホストコンピュータから送られてきたデータをバッファ
部37を介さず直接フラッシュメモリ部36に書込む
(ステップS515)。
【0059】必要なデータ数がフラッシュメモリ部36
に書込まれると(ステップS515)、プロセッサ部3
4のブロック制御部34aは、ブロック制御テーブル部
38に対して、ホストコンピュータからの書込み要求が
未書込み領域に及んでいた場合は、先頭アドレス部62
とデータ範囲部63を更新し(ステップS516)、プ
ロセッサ部34はホストコンピュータに対し、終了を通
知するための割り込みをインタフェース部33を介して
行う(ステップS517)。
に書込まれると(ステップS515)、プロセッサ部3
4のブロック制御部34aは、ブロック制御テーブル部
38に対して、ホストコンピュータからの書込み要求が
未書込み領域に及んでいた場合は、先頭アドレス部62
とデータ範囲部63を更新し(ステップS516)、プ
ロセッサ部34はホストコンピュータに対し、終了を通
知するための割り込みをインタフェース部33を介して
行う(ステップS517)。
【0060】このように、実施例3によれば、ホストコ
ンピュータからのライト要求時、該当ブロックにおける
データ範囲のみを、フラッシュメモリ部36からバッフ
ァ部37へ退避させるようにしたので、不要な部分の転
送処理を行うことがないことから、フラッシュメモリ部
36からバッファ部37へのデータ転送量を少なくする
ことができ、従って、ライト動作時の高速化が図れ、装
置としての性能向上となる。
ンピュータからのライト要求時、該当ブロックにおける
データ範囲のみを、フラッシュメモリ部36からバッフ
ァ部37へ退避させるようにしたので、不要な部分の転
送処理を行うことがないことから、フラッシュメモリ部
36からバッファ部37へのデータ転送量を少なくする
ことができ、従って、ライト動作時の高速化が図れ、装
置としての性能向上となる。
【0061】次に、基本的な構成の半導体記憶装置1に
対して、セクタ制御テーブル部とセクタ制御部とを設け
た実施例4を説明する。 《実施例4》図15は、その構成を示すブロック図であ
る。この図15において、41は半導体記憶装置、2は
この半導体記憶装置41が図示しないホストコンピュー
タと接続されるためのシステムバスである。また、半導
体記憶装置41は、インタフェース部43、プロセッサ
部44、プロセッサメモリ部45、フラッシュメモリ部
46、バッファ部47、セクタ制御テーブル部48、内
部バス49から構成されている。
対して、セクタ制御テーブル部とセクタ制御部とを設け
た実施例4を説明する。 《実施例4》図15は、その構成を示すブロック図であ
る。この図15において、41は半導体記憶装置、2は
この半導体記憶装置41が図示しないホストコンピュー
タと接続されるためのシステムバスである。また、半導
体記憶装置41は、インタフェース部43、プロセッサ
部44、プロセッサメモリ部45、フラッシュメモリ部
46、バッファ部47、セクタ制御テーブル部48、内
部バス49から構成されている。
【0062】また、この実施例4において、インタフェ
ース部43、プロセッサメモリ部45、フラッシュメモ
リ部46、バッファ部47および内部バス49の構成
は、上記実施例1におけるインタフェース部13、プロ
セッサメモリ部15、フラッシュメモリ部16、バッフ
ァ部17および内部バス18の構成と同様であるため、
ここでの説明は省略する。
ース部43、プロセッサメモリ部45、フラッシュメモ
リ部46、バッファ部47および内部バス49の構成
は、上記実施例1におけるインタフェース部13、プロ
セッサメモリ部15、フラッシュメモリ部16、バッフ
ァ部17および内部バス18の構成と同様であるため、
ここでの説明は省略する。
【0063】プロセッサ部44は、上記各実施例と同様
に、ホストコンピュータからのコマンドを解釈し、半導
体記憶装置41をディスク装置に見せるように制御し、
フラッシュメモリ部46およびバッファ部47に対する
データ書換えの制御を行う部分である。また、このプロ
セッサ部44は、セクタ制御部44aを備えている。こ
のセクタ制御部44aは、ホストコンピュータからのラ
イト要求があった場合、セクタ制御テーブル部48の内
容に基づき、フラッシュメモリ部46の該当ブロックに
おいて、データが格納されているセクタのデータのみバ
ッファ部47に退避させるようデータ転送制御を行う機
能を備えているものである。
に、ホストコンピュータからのコマンドを解釈し、半導
体記憶装置41をディスク装置に見せるように制御し、
フラッシュメモリ部46およびバッファ部47に対する
データ書換えの制御を行う部分である。また、このプロ
セッサ部44は、セクタ制御部44aを備えている。こ
のセクタ制御部44aは、ホストコンピュータからのラ
イト要求があった場合、セクタ制御テーブル部48の内
容に基づき、フラッシュメモリ部46の該当ブロックに
おいて、データが格納されているセクタのデータのみバ
ッファ部47に退避させるようデータ転送制御を行う機
能を備えているものである。
【0064】また、セクタ制御テーブル部48は、次の
ように構成されている。図16は、セクタ制御テーブル
部48の説明図である。セクタ制御テーブル部48は、
ホストコンピュータからのライト要求において最小のデ
ータ数単位であるセクタで管理されており、各セクタに
対応したバリッドビット部72を有する。このバリッド
ビットは、該当するセクタにデータが書込まれている場
合は“1”、該当するセクタにデータが書込まれていな
い場合は“0”にセットされる。また、セクタNo部71
は、フラッシュメモリ部46の一つのブロック内のセク
タに対応している。
ように構成されている。図16は、セクタ制御テーブル
部48の説明図である。セクタ制御テーブル部48は、
ホストコンピュータからのライト要求において最小のデ
ータ数単位であるセクタで管理されており、各セクタに
対応したバリッドビット部72を有する。このバリッド
ビットは、該当するセクタにデータが書込まれている場
合は“1”、該当するセクタにデータが書込まれていな
い場合は“0”にセットされる。また、セクタNo部71
は、フラッシュメモリ部46の一つのブロック内のセク
タに対応している。
【0065】次に、上記実施例4の半導体記憶装置41
の動作を説明する。 [リード動作]ここで、本実施例のリード動作は、基本
的な構成の半導体記憶装置1の動作フローと同様であ
る。即ち、その動作は図4に示したフローチャートと同
様であるため、ここでの説明は省略する。
の動作を説明する。 [リード動作]ここで、本実施例のリード動作は、基本
的な構成の半導体記憶装置1の動作フローと同様であ
る。即ち、その動作は図4に示したフローチャートと同
様であるため、ここでの説明は省略する。
【0066】[ライト動作]図17および図18はライ
ト動作のフローチャートである。ホストコンピュータが
ライト動作を要求する場合、半導体記憶装置41に対
し、ライトコマンド、ライトデータ数、先頭アドレスを
発行する。インタフェース部43は、リード動作同様、
インタフェース部43内の図示しないコマンドレジス
タ、データ数レジスタ、先頭アドレスレジスタに、これ
らライトコマンド、ライトデータ数、先頭アドレスをセ
ットし、プロセッサ部44に割り込みを上げる(ステッ
プS601)。
ト動作のフローチャートである。ホストコンピュータが
ライト動作を要求する場合、半導体記憶装置41に対
し、ライトコマンド、ライトデータ数、先頭アドレスを
発行する。インタフェース部43は、リード動作同様、
インタフェース部43内の図示しないコマンドレジス
タ、データ数レジスタ、先頭アドレスレジスタに、これ
らライトコマンド、ライトデータ数、先頭アドレスをセ
ットし、プロセッサ部44に割り込みを上げる(ステッ
プS601)。
【0067】プロセッサ部44は、割り込みを受け付け
ると、コマンドレジスタをリードし、ホストコンピュー
タがライトコマンドを発行したことを認識する(ステッ
プS602)。次に、プロセッサ部44はデータ数レジ
スタと先頭アドレスレジスタをリードし、フラッシュメ
モリ部46へ書込みを行う領域を知り(ステップS60
3)、フラッシュメモリ部46内の該領域への上書きが
可能か否かを判断する(ステップS604)。尚、ここ
までの動作は上記各実施例の動作と同様である。
ると、コマンドレジスタをリードし、ホストコンピュー
タがライトコマンドを発行したことを認識する(ステッ
プS602)。次に、プロセッサ部44はデータ数レジ
スタと先頭アドレスレジスタをリードし、フラッシュメ
モリ部46へ書込みを行う領域を知り(ステップS60
3)、フラッシュメモリ部46内の該領域への上書きが
可能か否かを判断する(ステップS604)。尚、ここ
までの動作は上記各実施例の動作と同様である。
【0068】ステップS604において、フラッシュメ
モリ部46への上書きが不可能な場合、セクタ制御部4
4aは、セクタ制御テーブル部48における該当ブロッ
クを参照し、バリットビットが“1”となっているセク
タのデータだけを、フラッシュメモリ部46からバッフ
ァ部47に転送する(ステップS605)。
モリ部46への上書きが不可能な場合、セクタ制御部4
4aは、セクタ制御テーブル部48における該当ブロッ
クを参照し、バリットビットが“1”となっているセク
タのデータだけを、フラッシュメモリ部46からバッフ
ァ部47に転送する(ステップS605)。
【0069】また、その後のステップS606〜S60
9の動作は、上記各実施例の動作と同様である。即ち、
フラッシュメモリ部46内の上書きが必要な領域が含ま
れる1ブロック分のデータを消去し(ステップS60
6)、更に、インタフェース部43を介してホストコン
ピュータに割り込みを上げてデータを要求する。これに
より、ホストコンピュータは、1ワードのデータをイン
タフェース部43にライトする(ステップS608)。
そして、プロセッサ部44は、ホストコンピュータから
送られてくるデータを、フラッシュメモリ部46へ書込
みを行う領域に合わせてバッファ部47内の所定の領域
に1ワードずつ書込む(ステップS608)。
9の動作は、上記各実施例の動作と同様である。即ち、
フラッシュメモリ部46内の上書きが必要な領域が含ま
れる1ブロック分のデータを消去し(ステップS60
6)、更に、インタフェース部43を介してホストコン
ピュータに割り込みを上げてデータを要求する。これに
より、ホストコンピュータは、1ワードのデータをイン
タフェース部43にライトする(ステップS608)。
そして、プロセッサ部44は、ホストコンピュータから
送られてくるデータを、フラッシュメモリ部46へ書込
みを行う領域に合わせてバッファ部47内の所定の領域
に1ワードずつ書込む(ステップS608)。
【0070】そして、ホストコンピュータから必要なデ
ータ数分のライト処理が終了したかを判定し(ステップ
S609)、終了した場合は、セクタ制御テーブル部4
8に対して、ホストコンピュータからの書込み要求が未
書込み領域(バリットビット部72の値が“0”)に及
んでいた場合は、そのバリットビット部72の値を
“1”に更新する。
ータ数分のライト処理が終了したかを判定し(ステップ
S609)、終了した場合は、セクタ制御テーブル部4
8に対して、ホストコンピュータからの書込み要求が未
書込み領域(バリットビット部72の値が“0”)に及
んでいた場合は、そのバリットビット部72の値を
“1”に更新する。
【0071】次に、セクタ制御テーブル部48を参照
し、バッファ部47内のデータおける、バリットビット
部72が“1”のセクタのデータだけを転送し、フラッ
シュメモリ部46内の該当ブロックに格納し(ステップ
S611)、プロセッサ部44はホストコンピュータに
対して終了を通知するため、割り込みをインタフェース
部43を介して上げる(ステップS612)。
し、バッファ部47内のデータおける、バリットビット
部72が“1”のセクタのデータだけを転送し、フラッ
シュメモリ部46内の該当ブロックに格納し(ステップ
S611)、プロセッサ部44はホストコンピュータに
対して終了を通知するため、割り込みをインタフェース
部43を介して上げる(ステップS612)。
【0072】また、ステップS603において、フラッ
シュメモリ部46への上書きが可能な場合は、図18に
示すステップに進み、プロセッサ部44はインタフェー
ス部43を介してホストコンピュータに割り込みを上げ
てデータを要求し、ホストコンピュータのライト処理が
終了すると(ステップS613)、プロセッサ部44は
ホストコンピュータから送られてきたデータをバッファ
部47を介さず直接フラッシュメモリ部46に書込む
(ステップS615)。
シュメモリ部46への上書きが可能な場合は、図18に
示すステップに進み、プロセッサ部44はインタフェー
ス部43を介してホストコンピュータに割り込みを上げ
てデータを要求し、ホストコンピュータのライト処理が
終了すると(ステップS613)、プロセッサ部44は
ホストコンピュータから送られてきたデータをバッファ
部47を介さず直接フラッシュメモリ部46に書込む
(ステップS615)。
【0073】必要なデータ数がフラッシュメモリ部46
に書込まれると(ステップS615)、プロセッサ部4
4のセクタ制御部44aは、セクタ制御テーブル部48
に対して、ホストコンピュータからの書込み要求が未書
込み領域に及んでいた場合は、バリットビット部72の
値を“1”に更新し(ステップS616)、プロセッサ
部44はホストコンピュータに対し、終了を通知するた
めの割り込みをインタフェース部43を介して行う(ス
テップS617)。
に書込まれると(ステップS615)、プロセッサ部4
4のセクタ制御部44aは、セクタ制御テーブル部48
に対して、ホストコンピュータからの書込み要求が未書
込み領域に及んでいた場合は、バリットビット部72の
値を“1”に更新し(ステップS616)、プロセッサ
部44はホストコンピュータに対し、終了を通知するた
めの割り込みをインタフェース部43を介して行う(ス
テップS617)。
【0074】このように、実施例4によれば、フラッシ
ュメモリ部46のデータをセクタ単位で管理し、ホスト
コンピュータからのライト要求時、該当ブロックにおけ
るデータの書込まれているセクタのみを、フラッシュメ
モリ部46からバッファ部47へ退避させるようにした
ので、不要な部分の転送処理を行うことがないことか
ら、フラッシュメモリ部46からバッファ部47へのデ
ータ転送量を少なくすることができ、従って、ライト動
作時の高速化が図れ、装置としての性能向上となる。
ュメモリ部46のデータをセクタ単位で管理し、ホスト
コンピュータからのライト要求時、該当ブロックにおけ
るデータの書込まれているセクタのみを、フラッシュメ
モリ部46からバッファ部47へ退避させるようにした
ので、不要な部分の転送処理を行うことがないことか
ら、フラッシュメモリ部46からバッファ部47へのデ
ータ転送量を少なくすることができ、従って、ライト動
作時の高速化が図れ、装置としての性能向上となる。
【0075】次に、プロセッサ部がインタフェース部か
らライトデータをリードしている間に、フラッシュメモ
リ部からバッファ部へデータを退避させるようにした実
施例5を説明する。 《実施例5》図19は、その構成を示すブロック図であ
る。この図19において、51は半導体記憶装置、2は
半導体記憶装置51が図示しないホストコンピュータと
接続されるためのシステムバスである。また、半導体記
憶装置51は、インタフェース部53、プロセッサ部5
4、プロセッサメモリ部55、フラッシュメモリ部5
6、バッファ部57、内部バス58a、メモリバス58
b、メモリ管理部59から構成されている。
らライトデータをリードしている間に、フラッシュメモ
リ部からバッファ部へデータを退避させるようにした実
施例5を説明する。 《実施例5》図19は、その構成を示すブロック図であ
る。この図19において、51は半導体記憶装置、2は
半導体記憶装置51が図示しないホストコンピュータと
接続されるためのシステムバスである。また、半導体記
憶装置51は、インタフェース部53、プロセッサ部5
4、プロセッサメモリ部55、フラッシュメモリ部5
6、バッファ部57、内部バス58a、メモリバス58
b、メモリ管理部59から構成されている。
【0076】また、この実施例5において、インタフェ
ース部53、プロセッサメモリ部55、フラッシュメモ
リ部56、バッファ部57および内部バス58aの構成
は、上記実施例1におけるインタフェース部13、プロ
セッサメモリ部15、フラッシュメモリ部16、バッフ
ァ部17および内部バス18の構成と同様であるため、
ここでの説明は省略する。プロセッサ部54は、上記各
実施例と同様に、ホストコンピュータからのコマンドを
解釈し、半導体記憶装置51をディスク装置に見せるよ
うに制御すると共に、メモリ管理部59に対して、フラ
ッシュメモリ部46およびバッファ部47に対するデー
タ書換えの制御指示を行う部分である。
ース部53、プロセッサメモリ部55、フラッシュメモ
リ部56、バッファ部57および内部バス58aの構成
は、上記実施例1におけるインタフェース部13、プロ
セッサメモリ部15、フラッシュメモリ部16、バッフ
ァ部17および内部バス18の構成と同様であるため、
ここでの説明は省略する。プロセッサ部54は、上記各
実施例と同様に、ホストコンピュータからのコマンドを
解釈し、半導体記憶装置51をディスク装置に見せるよ
うに制御すると共に、メモリ管理部59に対して、フラ
ッシュメモリ部46およびバッファ部47に対するデー
タ書換えの制御指示を行う部分である。
【0077】メモリ管理部59は、内部バス58aを介
してインタフェース部53、プロセッサ部54およびプ
ロセッサメモリ部55と接続されると共に、内部バス5
8aとは異なるバスであるメモリバス58bを介してフ
ラッシュメモリ部56とバッファ部57とに接続されて
いる。このメモリ管理部59は、プロセッサ部54から
のライトデータをバッファ部57やフラッシュメモリ部
56に転送制御すると共に、プロセッサ部54がインタ
フェース部53からライトデータを読み取っている間
に、メモリバス58bを介してフラッシュメモリ部56
からバッファ部57にデータ転送を行う機能を有してい
る。
してインタフェース部53、プロセッサ部54およびプ
ロセッサメモリ部55と接続されると共に、内部バス5
8aとは異なるバスであるメモリバス58bを介してフ
ラッシュメモリ部56とバッファ部57とに接続されて
いる。このメモリ管理部59は、プロセッサ部54から
のライトデータをバッファ部57やフラッシュメモリ部
56に転送制御すると共に、プロセッサ部54がインタ
フェース部53からライトデータを読み取っている間
に、メモリバス58bを介してフラッシュメモリ部56
からバッファ部57にデータ転送を行う機能を有してい
る。
【0078】図20は、上記メモリ管理部59の内部構
成を示すブロック図である。メモリ管理部59は、メモ
リリード回路102、メモリライト回路103、メモリ
・バッファコピー回路104、バッファリード回路10
5、バッファライト回路106、および、これらメモリ
リード回路102〜バッファライト回路106を制御す
る制御回路101からなる。
成を示すブロック図である。メモリ管理部59は、メモ
リリード回路102、メモリライト回路103、メモリ
・バッファコピー回路104、バッファリード回路10
5、バッファライト回路106、および、これらメモリ
リード回路102〜バッファライト回路106を制御す
る制御回路101からなる。
【0079】このような構成において、先ず、半導体記
憶装置51がリード動作を行う場合は、メモリリード回
路102が動作し、プロセッサ部54からの要求に合わ
せてフラッシュメモリ部56から内部バス58a側にデ
ータを転送する。つまり、プロセッサ部54からは、フ
ラッシュメモリ部56が内部バス58aに直結している
ように見える。
憶装置51がリード動作を行う場合は、メモリリード回
路102が動作し、プロセッサ部54からの要求に合わ
せてフラッシュメモリ部56から内部バス58a側にデ
ータを転送する。つまり、プロセッサ部54からは、フ
ラッシュメモリ部56が内部バス58aに直結している
ように見える。
【0080】次に、半導体記憶装置がライト動作を行う
場合、ライト要求された領域への上書きが不可能な時
は、プロセッサ部54がインタフェース部53よりバッ
ファ部57へデータを転送する。これは、プロセッサ部
54がインタフェース部53よりデータをリードする動
作と、プロセッサ部54がバッファ部57へデータをラ
イトする動作からなる。メモリ管理部59は、予め、フ
ラッシュメモリ部56内のデータをバッファ部57に転
送する命令をプロセッサ部54から受ける。プロセッサ
部54がインタフェース部53よりデータをリードする
時には、制御回路101は、メモリ・バッファコピー回
路104を動作させ、順次フラッシュメモリ部56から
バッファ部57へメモリバス58bを介してデータを転
送する。
場合、ライト要求された領域への上書きが不可能な時
は、プロセッサ部54がインタフェース部53よりバッ
ファ部57へデータを転送する。これは、プロセッサ部
54がインタフェース部53よりデータをリードする動
作と、プロセッサ部54がバッファ部57へデータをラ
イトする動作からなる。メモリ管理部59は、予め、フ
ラッシュメモリ部56内のデータをバッファ部57に転
送する命令をプロセッサ部54から受ける。プロセッサ
部54がインタフェース部53よりデータをリードする
時には、制御回路101は、メモリ・バッファコピー回
路104を動作させ、順次フラッシュメモリ部56から
バッファ部57へメモリバス58bを介してデータを転
送する。
【0081】また、プロセッサ部54がインタフェース
部53から読み出したデータをバッファ部57へライト
する時には、制御回路101は、バッファライト回路1
06を動作させ、バッファ部57にデータを転送する。
これにより、インタフェース部53からバッファ部57
へのデータ転送と、フラッシュメモリ部56からバッフ
ァ部57へのデータ転送とを同時に実行することができ
る。
部53から読み出したデータをバッファ部57へライト
する時には、制御回路101は、バッファライト回路1
06を動作させ、バッファ部57にデータを転送する。
これにより、インタフェース部53からバッファ部57
へのデータ転送と、フラッシュメモリ部56からバッフ
ァ部57へのデータ転送とを同時に実行することができ
る。
【0082】また、バッファ部57からフラッシュメモ
リ部56へのデータ転送時には、メモリライト回路10
3とバッファリード回路105を、プロセッサ部54か
らの要求に合わせて動作させ、バッファ部57からフラ
ッシュメモリ部56へデータを転送する。更に、半導体
記憶装置51がライト動作を行う場合、ライト要求され
た領域への上書きが可能な場合には、メモリライト回路
103を動作させ、プロセッサ部54がインタフェース
部53より転送してくるデータをフラッシュメモリ部5
6へ転送する。つまり、この場合、プロセッサ部54か
らは、フラッシュメモリ部56が内部バス58aに直結
しているように見える。
リ部56へのデータ転送時には、メモリライト回路10
3とバッファリード回路105を、プロセッサ部54か
らの要求に合わせて動作させ、バッファ部57からフラ
ッシュメモリ部56へデータを転送する。更に、半導体
記憶装置51がライト動作を行う場合、ライト要求され
た領域への上書きが可能な場合には、メモリライト回路
103を動作させ、プロセッサ部54がインタフェース
部53より転送してくるデータをフラッシュメモリ部5
6へ転送する。つまり、この場合、プロセッサ部54か
らは、フラッシュメモリ部56が内部バス58aに直結
しているように見える。
【0083】次に、上記実施例5のメモリ制御方法であ
る半導体記憶装置51の動作について説明する。 [リード動作]本実施例のリード動作は、メモリ管理部
59が、内部バス58aとフラッシュメモリ部56とが
直接接続されているように見せかけるため、基本的な構
成の半導体記憶装置1の動作フローと同様である。即
ち、その動作は図4に示したフローチャートと同様であ
るため、ここでの説明は省略する。
る半導体記憶装置51の動作について説明する。 [リード動作]本実施例のリード動作は、メモリ管理部
59が、内部バス58aとフラッシュメモリ部56とが
直接接続されているように見せかけるため、基本的な構
成の半導体記憶装置1の動作フローと同様である。即
ち、その動作は図4に示したフローチャートと同様であ
るため、ここでの説明は省略する。
【0084】[ライト動作]図21はライト動作のフロ
ーチャートである。ホストコンピュータが、半導体記憶
装置51に対しライト要求する場合、リード動作と同様
に、半導体記憶装置51へライトコマンド、ライトデー
タ数、先頭アドレスを送る(ステップS701)。
ーチャートである。ホストコンピュータが、半導体記憶
装置51に対しライト要求する場合、リード動作と同様
に、半導体記憶装置51へライトコマンド、ライトデー
タ数、先頭アドレスを送る(ステップS701)。
【0085】インタフェース部53は、前記のライトコ
マンド、ライトデータ数、先頭アドレスを、インタフェ
ース部53内の図示されていないコマンドレジスタ、デ
ータ数レジスタ、先頭アドレスレジスタにセットする。
また、プロセッサ部54にホストコンピュータからコマ
ンドがきたことを知らせる。プロセッサ部54は、コマ
ンドレジスタをリードし、ホストコンピュータがライト
要求してきたことを認識する(ステップS702)。ま
た、データ数レジスタと先頭アドレスレジスタをリード
し、フラッシュメモリ部56内のどの領域がライト要求
されたかを認識し(ステップS703)、その領域への
上書きが可能か否かを判断する(ステップS704)。
マンド、ライトデータ数、先頭アドレスを、インタフェ
ース部53内の図示されていないコマンドレジスタ、デ
ータ数レジスタ、先頭アドレスレジスタにセットする。
また、プロセッサ部54にホストコンピュータからコマ
ンドがきたことを知らせる。プロセッサ部54は、コマ
ンドレジスタをリードし、ホストコンピュータがライト
要求してきたことを認識する(ステップS702)。ま
た、データ数レジスタと先頭アドレスレジスタをリード
し、フラッシュメモリ部56内のどの領域がライト要求
されたかを認識し(ステップS703)、その領域への
上書きが可能か否かを判断する(ステップS704)。
【0086】フラッシュメモリ部56内のライト要求さ
れた領域への上書きが不可能な場合は、プロセッサ部5
4は、インタフェース部53を介してホストコンピュー
タへデータを転送する許可を出す。通知を受けたホスト
コンピュータは、半導体記憶装置51へデータ転送を開
始する(ステップS705)。尚、以上の動作は、上記
各実施例のライト動作と同様である。
れた領域への上書きが不可能な場合は、プロセッサ部5
4は、インタフェース部53を介してホストコンピュー
タへデータを転送する許可を出す。通知を受けたホスト
コンピュータは、半導体記憶装置51へデータ転送を開
始する(ステップS705)。尚、以上の動作は、上記
各実施例のライト動作と同様である。
【0087】半導体記憶装置51は、ホストコンピュー
タからのデータをシステムバス12を介し、インタフェ
ース部53で受け取る。プロセッサ部54は、メモリ管
理部59に対し、フラッシュメモリ部56内のライト要
求された領域が含まれる1ブロック内の全てのデータ
を、バッファ部57に転送する命令を出す。これによ
り、メモリ管理部59は、フラッシュメモリ部56か
ら、ライト要求された領域を含むブロックのデータをバ
ッファ部57へ転送する。一方、メモリ管理部59によ
るデータ転送を行っている間、プロセッサ部54は、イ
ンタフェース部53の1ワードのデータを読み取る(ス
テップS706)。
タからのデータをシステムバス12を介し、インタフェ
ース部53で受け取る。プロセッサ部54は、メモリ管
理部59に対し、フラッシュメモリ部56内のライト要
求された領域が含まれる1ブロック内の全てのデータ
を、バッファ部57に転送する命令を出す。これによ
り、メモリ管理部59は、フラッシュメモリ部56か
ら、ライト要求された領域を含むブロックのデータをバ
ッファ部57へ転送する。一方、メモリ管理部59によ
るデータ転送を行っている間、プロセッサ部54は、イ
ンタフェース部53の1ワードのデータを読み取る(ス
テップS706)。
【0088】そして、プロセッサ部54が、ホストコン
ピュータから送られてきたデータを、1ワードずつメモ
リ管理部59へ転送する。メモリ管理部59は、プロセ
ッサ部54によってインタフェース部53から転送され
てくるデータをライト要求された領域に対応するバッフ
ァ部57内の領域へ転送する(ステップS707)。
ピュータから送られてきたデータを、1ワードずつメモ
リ管理部59へ転送する。メモリ管理部59は、プロセ
ッサ部54によってインタフェース部53から転送され
てくるデータをライト要求された領域に対応するバッフ
ァ部57内の領域へ転送する(ステップS707)。
【0089】このような動作を繰り返すことによって、
要求されたデータ数を転送したか否かをプロセッサ部5
4が監視し(ステップS708)、必要なデータ数をホ
ストコンピュータから転送し終えると、フラッシュメモ
リ部56内のライト要求された領域が含まれるブロック
を消去する(ステップS709)。その後、バッファ部
57のライト要求された領域を含むブロックのデータ
を、フラッシュメモリ部56内の該当ブロックに転送す
る(ステップS710)。そして、プロセッサ部54
は、インタフェース部53を介してホストコンピュータ
へライト動作の終了を通知する(ステップS711)。
ホストコンピュータは、終了通知を受け、ライト動作を
終了する。
要求されたデータ数を転送したか否かをプロセッサ部5
4が監視し(ステップS708)、必要なデータ数をホ
ストコンピュータから転送し終えると、フラッシュメモ
リ部56内のライト要求された領域が含まれるブロック
を消去する(ステップS709)。その後、バッファ部
57のライト要求された領域を含むブロックのデータ
を、フラッシュメモリ部56内の該当ブロックに転送す
る(ステップS710)。そして、プロセッサ部54
は、インタフェース部53を介してホストコンピュータ
へライト動作の終了を通知する(ステップS711)。
ホストコンピュータは、終了通知を受け、ライト動作を
終了する。
【0090】一方、フラッシュメモリ部56内のライト
要求された領域への上書きが可能な場合の本実施例のラ
イト動作は、メモリ管理部59が内部バス58とフラッ
シュメモリ部56が直接接続されているように見せかけ
るため、基本的な構成の半導体記憶装置のライト動作と
同様である。即ち、図6に示すステップに進むため、そ
の動作については、説明を省略する。
要求された領域への上書きが可能な場合の本実施例のラ
イト動作は、メモリ管理部59が内部バス58とフラッ
シュメモリ部56が直接接続されているように見せかけ
るため、基本的な構成の半導体記憶装置のライト動作と
同様である。即ち、図6に示すステップに進むため、そ
の動作については、説明を省略する。
【0091】このように、実施例5によれば、プロセッ
サ部54によるインタフェース部53からのライトデー
タのリード動作と、メモリ管理部59によるフラッシュ
メモリ部56からバッファ部57へのデータ転送を同時
に行うようにしたので、ライト動作時における処理時間
が短縮され、装置としての性能向上となる。
サ部54によるインタフェース部53からのライトデー
タのリード動作と、メモリ管理部59によるフラッシュ
メモリ部56からバッファ部57へのデータ転送を同時
に行うようにしたので、ライト動作時における処理時間
が短縮され、装置としての性能向上となる。
【0092】次に、プロセッサ部がバッファ部にライト
データを転送している間にフラッシュメモリ部の該当ブ
ロックの消去を行うようにした実施例6を説明する。 《実施例6》図22は、その構成を示すブロック図であ
る。図において、61は半導体記憶装置、2は半導体記
憶装置61を接続するホストコンピュータのシステムバ
スである。半導体記憶装置61は、インタフェース部6
3、プロセッサ部64、プロセッサメモリ部65、フラ
ッシュメモリ部66、バッファ部67、内部バス68、
メモリ消去制御部69から構成される。
データを転送している間にフラッシュメモリ部の該当ブ
ロックの消去を行うようにした実施例6を説明する。 《実施例6》図22は、その構成を示すブロック図であ
る。図において、61は半導体記憶装置、2は半導体記
憶装置61を接続するホストコンピュータのシステムバ
スである。半導体記憶装置61は、インタフェース部6
3、プロセッサ部64、プロセッサメモリ部65、フラ
ッシュメモリ部66、バッファ部67、内部バス68、
メモリ消去制御部69から構成される。
【0093】また、この実施例6において、インタフェ
ース部63、プロセッサメモリ部65、フラッシュメモ
リ部66、バッファ部67および内部バス68の構成
は、上記実施例1におけるインタフェース部13、プロ
セッサメモリ部15、フラッシュメモリ部16、バッフ
ァ部17および内部バス18の構成と同様であるため、
ここでの説明は省略する。
ース部63、プロセッサメモリ部65、フラッシュメモ
リ部66、バッファ部67および内部バス68の構成
は、上記実施例1におけるインタフェース部13、プロ
セッサメモリ部15、フラッシュメモリ部16、バッフ
ァ部17および内部バス18の構成と同様であるため、
ここでの説明は省略する。
【0094】プロセッサ部64は、上記各実施例と同様
に、ホストコンピュータからのコマンドを解釈し、半導
体記憶装置61をディスク装置に見せるように制御する
と共に、メモリ消去制御部69に対して、フラッシュメ
モリ部46の該当ブロックの消去指示を行う部分であ
る。メモリ消去制御部69は、プロセッサ部64より命
令を受けて、フラッシュメモリ部66の消去を開始し、
その状態を監視する機能を有するものである。また、消
去の終了や異常発生等はプロセッサ部64がメモリ消去
制御部69内の図示しないステータスレジスタをリード
することにより行う。
に、ホストコンピュータからのコマンドを解釈し、半導
体記憶装置61をディスク装置に見せるように制御する
と共に、メモリ消去制御部69に対して、フラッシュメ
モリ部46の該当ブロックの消去指示を行う部分であ
る。メモリ消去制御部69は、プロセッサ部64より命
令を受けて、フラッシュメモリ部66の消去を開始し、
その状態を監視する機能を有するものである。また、消
去の終了や異常発生等はプロセッサ部64がメモリ消去
制御部69内の図示しないステータスレジスタをリード
することにより行う。
【0095】次に、上記実施例6のメモリ制御方法であ
る半導体記憶装置61の動作について説明する。 [リード動作]本実施例のリード動作は、基本的な構成
の半導体記憶装置1の動作フローと同様である。即ち、
その動作は図4に示したフローチャートと同様であるた
め、ここでの説明は省略する。
る半導体記憶装置61の動作について説明する。 [リード動作]本実施例のリード動作は、基本的な構成
の半導体記憶装置1の動作フローと同様である。即ち、
その動作は図4に示したフローチャートと同様であるた
め、ここでの説明は省略する。
【0096】[ライト動作]図23はライト動作のフロ
ーチャートである。ホストコンピュータが、半導体記憶
装置61に対しライト要求する場合、リード動作と同様
に、半導体記憶装置61へライトコマンド、ライトデー
タ数、先頭アドレスを送る(ステップS801)。
ーチャートである。ホストコンピュータが、半導体記憶
装置61に対しライト要求する場合、リード動作と同様
に、半導体記憶装置61へライトコマンド、ライトデー
タ数、先頭アドレスを送る(ステップS801)。
【0097】インタフェース部63は、前記のライトコ
マンド、ライトデータ数、先頭アドレスを、インタフェ
ース部63内の図示されていないコマンドレジスタ、デ
ータ数レジスタ、先頭アドレスレジスタにセットする。
また、プロセッサ部64にホストコンピュータからコマ
ンドがきたことを知らせる。プロセッサ部64は、コマ
ンドレジスタをリードし、ホストコンピュータがライト
要求してきたことを認識する(ステップS802)。ま
た、データ数レジスタと先頭アドレスレジスタをリード
し、フラッシュメモリ部66内のどの領域がライト要求
されたかを認識し(ステップS803)、その領域への
上書きが可能か否かを判断する(ステップS804)。
尚、ここまでの動作は、上記各実施例のライト動作と同
様である。
マンド、ライトデータ数、先頭アドレスを、インタフェ
ース部63内の図示されていないコマンドレジスタ、デ
ータ数レジスタ、先頭アドレスレジスタにセットする。
また、プロセッサ部64にホストコンピュータからコマ
ンドがきたことを知らせる。プロセッサ部64は、コマ
ンドレジスタをリードし、ホストコンピュータがライト
要求してきたことを認識する(ステップS802)。ま
た、データ数レジスタと先頭アドレスレジスタをリード
し、フラッシュメモリ部66内のどの領域がライト要求
されたかを認識し(ステップS803)、その領域への
上書きが可能か否かを判断する(ステップS804)。
尚、ここまでの動作は、上記各実施例のライト動作と同
様である。
【0098】フラッシュメモリ部66内のライト要求さ
れた領域への上書きが不可能な場合、プロセッサ部64
は、フラッシュメモリ部66内のライト要求された領域
が含まれる1ブロック内の全てのデータを、バッファ部
67に転送する(ステップS805)。そして、フラッ
シュメモリ部66内のライト要求された領域が含まれる
ブロック内の全てのデータの転送を終えると、プロセッ
サ部64は、そのブロックを消去する命令をメモリ消去
制御部69に発行する(ステップS806)。これによ
り、メモリ消去制御部69は、フラッシュメモリ部66
の消去動作を行い、フラッシュメモリ部69は該当ブロ
ックの消去動作を実行する。
れた領域への上書きが不可能な場合、プロセッサ部64
は、フラッシュメモリ部66内のライト要求された領域
が含まれる1ブロック内の全てのデータを、バッファ部
67に転送する(ステップS805)。そして、フラッ
シュメモリ部66内のライト要求された領域が含まれる
ブロック内の全てのデータの転送を終えると、プロセッ
サ部64は、そのブロックを消去する命令をメモリ消去
制御部69に発行する(ステップS806)。これによ
り、メモリ消去制御部69は、フラッシュメモリ部66
の消去動作を行い、フラッシュメモリ部69は該当ブロ
ックの消去動作を実行する。
【0099】一方、プロセッサ部64は、インタフェー
ス部63を介してホストコンピュータへ書込むデータを
転送する許可を出す。通知を受けたホストコンピュータ
は、半導体記憶装置61へデータ転送を開始する(ステ
ップS807)。半導体記憶装置61は、ホストコンピ
ュータからのデータをシステムバス2を介し、インタフ
ェース部63で受け取る。プロセッサ部64は、ホスト
コンピュータから送られてきたデータを、インタフェー
ス部63からライト要求された領域に対応するバッファ
部67内の領域へ転送する(ステップS808)。そし
て、この動作を、必要なデータ数をホストコンピュータ
から転送し終えるまで繰り返す。
ス部63を介してホストコンピュータへ書込むデータを
転送する許可を出す。通知を受けたホストコンピュータ
は、半導体記憶装置61へデータ転送を開始する(ステ
ップS807)。半導体記憶装置61は、ホストコンピ
ュータからのデータをシステムバス2を介し、インタフ
ェース部63で受け取る。プロセッサ部64は、ホスト
コンピュータから送られてきたデータを、インタフェー
ス部63からライト要求された領域に対応するバッファ
部67内の領域へ転送する(ステップS808)。そし
て、この動作を、必要なデータ数をホストコンピュータ
から転送し終えるまで繰り返す。
【0100】必要なデータ数をホストコンピュータから
転送し終えると(ステップS809)、プロセッサ部6
4は、フラッシュメモリ部66内のライト要求された領
域を含むブロックが消去されたかメモリ消去制御部69
に確認する(ステップS810)。
転送し終えると(ステップS809)、プロセッサ部6
4は、フラッシュメモリ部66内のライト要求された領
域を含むブロックが消去されたかメモリ消去制御部69
に確認する(ステップS810)。
【0101】尚、フラッシュメモリ部69は、その消去
が終了すると、消去フラグをセットするようになってお
り、メモリ消去制御部69は、ある一定間隔でこのフラ
グの確認を行うことによって、フラッシュメモリ部69
の該当ブロックが消去されたかどうかを確認するもので
ある。
が終了すると、消去フラグをセットするようになってお
り、メモリ消去制御部69は、ある一定間隔でこのフラ
グの確認を行うことによって、フラッシュメモリ部69
の該当ブロックが消去されたかどうかを確認するもので
ある。
【0102】上記ステップS810において、消去が終
了していなければ、終了するまで待つ。消去が完了して
いれば、バッファ部67のライト要求された領域を含む
ブロックのデータを、フラッシュメモリ部66内の該当
ブロックに転送する(ステップS811)。プロセッサ
部64は、インタフェース部63を介してホストコンピ
ュータへライト動作の終了を通知する(ステップS81
2)。ホストコンピュータは、終了通知を受け、ライト
動作を終了する。
了していなければ、終了するまで待つ。消去が完了して
いれば、バッファ部67のライト要求された領域を含む
ブロックのデータを、フラッシュメモリ部66内の該当
ブロックに転送する(ステップS811)。プロセッサ
部64は、インタフェース部63を介してホストコンピ
ュータへライト動作の終了を通知する(ステップS81
2)。ホストコンピュータは、終了通知を受け、ライト
動作を終了する。
【0103】一方、フラッシュメモリ部66内のライト
要求された領域への上書きが可能な場合の本実施例のラ
イト動作は、基本的な構成の半導体記憶装置のライト動
作と同様である。即ち、図6に示すステップに進むた
め、その動作については、説明を省略する。
要求された領域への上書きが可能な場合の本実施例のラ
イト動作は、基本的な構成の半導体記憶装置のライト動
作と同様である。即ち、図6に示すステップに進むた
め、その動作については、説明を省略する。
【0104】このように、実施例6によれば、プロセッ
サ部64からバッファ部67へのデータ転送動作中に、
フラッシュメモリ部66におけるライト要求されたデー
タを含むブロックの消去動作を実行するようにしたの
で、ライト動作時における処理時間が短縮され、装置と
しての性能向上となる。
サ部64からバッファ部67へのデータ転送動作中に、
フラッシュメモリ部66におけるライト要求されたデー
タを含むブロックの消去動作を実行するようにしたの
で、ライト動作時における処理時間が短縮され、装置と
しての性能向上となる。
【0105】
【発明の効果】以上、詳細に説明したように、本発明の
半導体記憶装置とメモリ制御方法によれば、フラッシュ
メモリ部のデータ書換えを行う場合に、バッファ部への
転送制御やフラッシュメモリ部のブロック消去制御を行
うようにしたので、データ書換え時の動作を高速化する
ことができ、従って、半導体記憶装置としての性能向上
を図ることができる。
半導体記憶装置とメモリ制御方法によれば、フラッシュ
メモリ部のデータ書換えを行う場合に、バッファ部への
転送制御やフラッシュメモリ部のブロック消去制御を行
うようにしたので、データ書換え時の動作を高速化する
ことができ、従って、半導体記憶装置としての性能向上
を図ることができる。
【図1】本発明の半導体記憶装置における実施例1のブ
ロック図である。
ロック図である。
【図2】半導体記憶装置の基本的な構成を示すブロック
図である。
図である。
【図3】半導体記憶装置のフラッシュメモリ部とバッフ
ァ部の容量の関係説明図である。
ァ部の容量の関係説明図である。
【図4】半導体記憶装置のリード動作を示すフローチャ
ートである。
ートである。
【図5】半導体記憶装置のライト動作を示すフローチャ
ート(その1)である。
ート(その1)である。
【図6】半導体記憶装置のライト動作を示すフローチャ
ート(その2)である。
ート(その2)である。
【図7】本発明の半導体記憶装置における実施例1のラ
イト動作を示すフローチャートである。
イト動作を示すフローチャートである。
【図8】本発明の半導体記憶装置における実施例2の構
成を示すブロック図である。
成を示すブロック図である。
【図9】本発明の半導体記憶装置における実施例2のラ
イト動作を示すフローチャートである。
イト動作を示すフローチャートである。
【図10】本発明の半導体記憶装置における実施例2の
データ転送動作の説明図である。
データ転送動作の説明図である。
【図11】本発明の半導体記憶装置における実施例3の
構成を示すブロック図である。
構成を示すブロック図である。
【図12】本発明の半導体記憶装置における実施例3の
ブロック制御テーブル部の説明図である。
ブロック制御テーブル部の説明図である。
【図13】本発明の半導体記憶装置における実施例3の
ライト動作を示すフローチャート(その1)である。
ライト動作を示すフローチャート(その1)である。
【図14】本発明の半導体記憶装置における実施例3の
ライト動作を示すフローチャート(その2)である。
ライト動作を示すフローチャート(その2)である。
【図15】本発明の半導体記憶装置における実施例4の
構成を示すブロック図である。
構成を示すブロック図である。
【図16】本発明の半導体記憶装置における実施例4の
セクタ制御テーブル部の説明図である。
セクタ制御テーブル部の説明図である。
【図17】本発明の半導体記憶装置における実施例4の
ライト動作を示すフローチャート(その1)である。
ライト動作を示すフローチャート(その1)である。
【図18】本発明の半導体記憶装置における実施例4の
ライト動作を示すフローチャート(その2)である。
ライト動作を示すフローチャート(その2)である。
【図19】本発明の半導体記憶装置における実施例5の
構成を示すブロック図である。
構成を示すブロック図である。
【図20】本発明の半導体記憶装置における実施例5の
メモリ管理部のブロック図である。
メモリ管理部のブロック図である。
【図21】本発明の半導体記憶装置における実施例5の
ライト動作を示すフローチャートである。
ライト動作を示すフローチャートである。
【図22】本発明の半導体記憶装置における実施例6の
構成を示すブロック図である。
構成を示すブロック図である。
【図23】本発明の半導体記憶装置における実施例6の
ライト動作を示すフローチャートである。
ライト動作を示すフローチャートである。
11、21、31、41、51、61 半導体記憶装置 13、23、33、43、53、63 インタフェース
部 14、24、34、44、54、64 プロセッサ部 14a 転送制御部 16、26、36、46、56、66 フラッシュメモ
リ部 17、27、37、47、57、67 バッファ部 18、28、39、48、58a、68 内部バス 24a 転送データ管理部 34a ブロック制御部 38 ブロック制御テーブル部 44a セクタ制御部 48 セクタ制御テーブル部 58b メモリバス 69 メモリ消去制御部
部 14、24、34、44、54、64 プロセッサ部 14a 転送制御部 16、26、36、46、56、66 フラッシュメモ
リ部 17、27、37、47、57、67 バッファ部 18、28、39、48、58a、68 内部バス 24a 転送データ管理部 34a ブロック制御部 38 ブロック制御テーブル部 44a セクタ制御部 48 セクタ制御テーブル部 58b メモリバス 69 メモリ消去制御部
Claims (8)
- 【請求項1】 ブロック単位でデータの消去が行われる
フラッシュメモリ部を備えた半導体記憶装置において、 前記フラッシュメモリ部のデータを書換える場合に、一
旦、書換えるデータを転送するバッファ部と、 ホストからのライトデータが、前記フラッシュメモリ部
の1ブロック分なかった場合は、そのデータを含むブロ
ックを前記フラッシュメモリ部から前記バッファ部へ転
送して、当該バッファ部上で書換えを行い、前記ブロッ
クの消去を行った後、前記バッファ部上で書換えた1ブ
ロック分のデータを書戻し、かつ、前記ホストからのラ
イトデータが、1ブロック分あった場合は、そのブロッ
ク分のデータを前記フラッシュメモリ部から前記バッフ
ァ部へ転送せず、当該ブロックの消去を行った後、前記
ライトデータを直接書込む転送制御部とを備えた半導体
記憶装置。 - 【請求項2】 ブロック単位でデータの消去が行われる
フラッシュメモリ部を備えた半導体記憶装置において、 前記フラッシュメモリ部のデータを書換える場合に、一
旦、書換えるデータを転送するバッファ部と、 ホストからのライトデータに基づき、そのライトデータ
に該当する領域は、前記フラッシュメモリ部から前記バ
ッファ部へ転送せず、これ以外の領域のデータのみを転
送し、当該バッファ部上で前記ライトデータに該当する
領域の書込みを行い、前記ブロックの消去を行った後、
前記バッファ部上の1ブロック分のデータを書戻す転送
データ管理部とを備えた半導体記憶装置。 - 【請求項3】 ブロック単位でデータの消去が行われる
フラッシュメモリ部を備えた半導体記憶装置において、 前記フラッシュメモリ部の各ブロック毎に、データが書
込まれている領域を管理するブロック制御テーブル部
と、 前記フラッシュメモリ部のデータを書換える場合に、一
旦、書換えるデータを転送するバッファ部と、 ホストから前記フラッシュメモリ部へのライト要求があ
った場合、前記ブロック制御テーブル部に基づき、当該
ライト要求のデータを含むブロックのデータが書込まれ
ている領域を抽出し、このデータ書込み領域のみを前記
バッファ部に転送して、当該バッファ部上で前記ライト
のデータを書込み、前記ブロックの消去を行った後、前
記バッファ部上の1ブロック分のデータを書戻すブロッ
ク制御部とを備えた半導体記憶装置。 - 【請求項4】 ブロック単位でデータの消去が行われる
フラッシュメモリ部を備えた半導体記憶装置において、 前記フラッシュメモリ部のデータが書込まれている領域
を、データ管理の最小単位であるセクタ単位に管理する
セクタ制御テーブル部と、 前記フラッシュメモリ部のデータを書換える場合に、一
旦、書換えるデータを転送するバッファ部と、 ホストから前記フラッシュメモリ部へのライト要求があ
った場合、前記セクタ制御テーブル部に基づき、当該ラ
イト要求のデータを含むブロックのデータが書込まれて
いる領域を抽出し、このデータ書込み領域のみを前記バ
ッファ部に転送して、当該バッファ部上で前記ライトの
データを書込み、前記ブロックの消去を行った後、前記
バッファ部上の1ブロック分のデータを書戻すセクタ制
御部とを備えた半導体記憶装置。 - 【請求項5】 フラッシュメモリ部のデータを書換える
場合、ホストからのライトデータを読み込む間に、前記
フラッシュメモリ部のデータをバッファ部に退避させ、
この退避させたデータに前記ホストからのライトデータ
を上書きすることを特徴とするメモリ制御方法。 - 【請求項6】 ブロック単位でデータの消去が行われる
フラッシュメモリ部を備えた半導体記憶装置において、 前記フラッシュメモリ部のデータを書換える場合に、一
旦、書換えるデータを転送するバッファ部と、 ホストからのライトデータを格納するインタフェース部
と、 前記インタフェース部に格納されたライトデータを読み
取って、当該ライトデータを前記バッファ部のデータに
書込むと共に、前記フラッシュメモリ部のブロックの消
去を行った後、前記バッファ部上の1ブロック分のデー
タを書戻すプロセッサ部と、 前記プロセッサと前記インタフェース部とを接続する内
部バスとは異なるバスによって、前記メモリ部と前記バ
ッファ部とのデータ転送動作を制御し、前記プロセッサ
部が前記インタフェース部からデータを読み込んでいる
間に、前記書換えを行うデータの転送を行うメモリ管理
部とを備えたことを特徴とする半導体記憶装置。 - 【請求項7】 フラッシュメモリ部のデータを書換える
場合、前記フラッシュメモリ部のデータをバッファ部に
退避させた後、当該バッファ部へのデータ書込み動作
と、前記フラッシュメモリ部のブロック消去動作を同時
に行うことを特徴とするメモリ制御方法。 - 【請求項8】 ブロック単位でデータの消去が行われる
フラッシュメモリ部を備えた半導体記憶装置において、 前記フラッシュメモリ部のデータを書換える場合に、一
旦、書換えるデータを転送するバッファ部と、 前記バッファ部へのライトデータを書込むと共に、書込
まれた1ブロック分のデータを前記フラッシュメモリ部
に書戻すプロセッサ部と、 前記プロセッサ部が前記バッファ部にライトデータを書
込んでいる間に、前記メモリ部の消去を行うメモリ消去
管理部とを備えたことを特徴とする半導体記憶装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP05665594A JP3539752B2 (ja) | 1994-03-02 | 1994-03-02 | 半導体記憶装置とメモリ制御方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP05665594A JP3539752B2 (ja) | 1994-03-02 | 1994-03-02 | 半導体記憶装置とメモリ制御方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH07244992A true JPH07244992A (ja) | 1995-09-19 |
| JP3539752B2 JP3539752B2 (ja) | 2004-07-07 |
Family
ID=13033398
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP05665594A Expired - Fee Related JP3539752B2 (ja) | 1994-03-02 | 1994-03-02 | 半導体記憶装置とメモリ制御方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3539752B2 (ja) |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH09319645A (ja) * | 1996-05-24 | 1997-12-12 | Nec Corp | 不揮発性半導体記憶装置 |
| WO2002052416A1 (fr) * | 2000-12-27 | 2002-07-04 | Tdk Corporation | Systeme de memoire flash |
| US6571312B1 (en) * | 1999-02-19 | 2003-05-27 | Mitsubishi Denki Kabushiki Kaisha | Data storage method and data processing device using an erasure block buffer and write buffer for writing and erasing data in memory |
| JP2004318933A (ja) * | 2003-04-11 | 2004-11-11 | Renesas Technology Corp | 半導体記憶装置 |
| JP2007018499A (ja) * | 2005-06-06 | 2007-01-25 | Sony Corp | 記憶装置 |
| JP2008041098A (ja) * | 2006-08-04 | 2008-02-21 | Samsung Electronics Co Ltd | メモリーカード及び該データ格納方法 |
| JP2010086107A (ja) * | 2008-09-30 | 2010-04-15 | Tdk Corp | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
| DE102008061091A1 (de) * | 2008-12-08 | 2010-06-10 | Robert Bosch Gmbh | Verfahren zur Durchführung eines sequentiellen Datenzugriffes |
| US8332579B2 (en) | 2010-05-31 | 2012-12-11 | Kabushiki Kaisha Toshiba | Data storage apparatus and method of writing data |
Citations (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH03242093A (ja) * | 1990-02-20 | 1991-10-29 | Minolta Camera Co Ltd | データ処理装置 |
| JPH0484216A (ja) * | 1990-07-26 | 1992-03-17 | Toshiba Corp | 半導体ディスク装置のデータ消去方法 |
| JPH04147495A (ja) * | 1990-10-09 | 1992-05-20 | Fuji Photo Film Co Ltd | Icメモリカードにおけるデータ記録方法およびicメモリカードシステム |
| JPH0527924A (ja) * | 1991-07-12 | 1993-02-05 | Internatl Business Mach Corp <Ibm> | 半導体メモリを用いた外部記憶システム及びその制御方法 |
| JPH0574178A (ja) * | 1991-09-11 | 1993-03-26 | Rohm Co Ltd | 不揮発性icメモリ |
| JPH05250884A (ja) * | 1992-03-04 | 1993-09-28 | Oki Electric Ind Co Ltd | 不揮発性記憶装置 |
| JPH05282889A (ja) * | 1992-03-31 | 1993-10-29 | Toshiba Corp | 不揮発性半導体メモリ装置 |
| JPH05282880A (ja) * | 1992-01-10 | 1993-10-29 | Toshiba Corp | 半導体ディスク装置 |
| JPH065094A (ja) * | 1992-06-17 | 1994-01-14 | Toshiba Corp | 不揮発性半導体記憶装置 |
| JPH0620487A (ja) * | 1992-07-01 | 1994-01-28 | Toshiba Corp | 不揮発性半導体メモリ装置 |
-
1994
- 1994-03-02 JP JP05665594A patent/JP3539752B2/ja not_active Expired - Fee Related
Patent Citations (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH03242093A (ja) * | 1990-02-20 | 1991-10-29 | Minolta Camera Co Ltd | データ処理装置 |
| JPH0484216A (ja) * | 1990-07-26 | 1992-03-17 | Toshiba Corp | 半導体ディスク装置のデータ消去方法 |
| JPH04147495A (ja) * | 1990-10-09 | 1992-05-20 | Fuji Photo Film Co Ltd | Icメモリカードにおけるデータ記録方法およびicメモリカードシステム |
| JPH0527924A (ja) * | 1991-07-12 | 1993-02-05 | Internatl Business Mach Corp <Ibm> | 半導体メモリを用いた外部記憶システム及びその制御方法 |
| JPH0574178A (ja) * | 1991-09-11 | 1993-03-26 | Rohm Co Ltd | 不揮発性icメモリ |
| JPH05282880A (ja) * | 1992-01-10 | 1993-10-29 | Toshiba Corp | 半導体ディスク装置 |
| JPH05250884A (ja) * | 1992-03-04 | 1993-09-28 | Oki Electric Ind Co Ltd | 不揮発性記憶装置 |
| JPH05282889A (ja) * | 1992-03-31 | 1993-10-29 | Toshiba Corp | 不揮発性半導体メモリ装置 |
| JPH065094A (ja) * | 1992-06-17 | 1994-01-14 | Toshiba Corp | 不揮発性半導体記憶装置 |
| JPH0620487A (ja) * | 1992-07-01 | 1994-01-28 | Toshiba Corp | 不揮発性半導体メモリ装置 |
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH09319645A (ja) * | 1996-05-24 | 1997-12-12 | Nec Corp | 不揮発性半導体記憶装置 |
| US6189081B1 (en) | 1996-05-24 | 2001-02-13 | Nec Corporation | Non-volatile semiconductor storage with memory requirement and availability comparison means and method |
| US6571312B1 (en) * | 1999-02-19 | 2003-05-27 | Mitsubishi Denki Kabushiki Kaisha | Data storage method and data processing device using an erasure block buffer and write buffer for writing and erasing data in memory |
| WO2002052416A1 (fr) * | 2000-12-27 | 2002-07-04 | Tdk Corporation | Systeme de memoire flash |
| JP2004318933A (ja) * | 2003-04-11 | 2004-11-11 | Renesas Technology Corp | 半導体記憶装置 |
| JP2007018499A (ja) * | 2005-06-06 | 2007-01-25 | Sony Corp | 記憶装置 |
| US8285916B2 (en) | 2005-06-06 | 2012-10-09 | Sony Corporation | Storage device |
| JP2008041098A (ja) * | 2006-08-04 | 2008-02-21 | Samsung Electronics Co Ltd | メモリーカード及び該データ格納方法 |
| US8321633B2 (en) | 2006-08-04 | 2012-11-27 | Samsung Electronics Co., Ltd. | Memory card and method for storing data on memory card |
| JP2010086107A (ja) * | 2008-09-30 | 2010-04-15 | Tdk Corp | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
| DE102008061091A1 (de) * | 2008-12-08 | 2010-06-10 | Robert Bosch Gmbh | Verfahren zur Durchführung eines sequentiellen Datenzugriffes |
| US8332579B2 (en) | 2010-05-31 | 2012-12-11 | Kabushiki Kaisha Toshiba | Data storage apparatus and method of writing data |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3539752B2 (ja) | 2004-07-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| USRE50067E1 (en) | Storage device including flash memory and capable of predicting storage device performance based on performance parameters | |
| JP3898305B2 (ja) | 半導体記憶装置、半導体記憶装置の制御装置及び制御方法 | |
| EP0522780B1 (en) | Control method for a computer memory device | |
| US5812814A (en) | Alternative flash EEPROM semiconductor memory system | |
| US5648929A (en) | Flash memory card | |
| US7654466B2 (en) | Semiconductor memory card, semiconductor memory control apparatus, and semiconductor memory control method | |
| JP3827736B2 (ja) | 外部ラッチを持たないフラッシュメモリレベリングアーキテクチャ | |
| KR101409095B1 (ko) | 메모리 장치 및 그 제어 방법 | |
| JP2003150443A (ja) | 記憶装置 | |
| JPH09319645A (ja) | 不揮発性半導体記憶装置 | |
| WO1999008177A1 (en) | Data processing system, block erasing type memory device and memory medium storing program for controlling memory device | |
| JPH1185609A (ja) | 半導体記憶装置及びそのデータ管理方法 | |
| JPWO1999030239A1 (ja) | 記憶装置及びアクセス方法 | |
| WO1999030239A1 (en) | Memory and access method | |
| US20070033364A1 (en) | Information recording medium, information recording medium accessing apparatus and accessing method | |
| JP2003242470A (ja) | 外部接続機器及びホスト機器 | |
| US7487298B2 (en) | Disk array device, method for controlling the disk array device and storage system | |
| JP3539752B2 (ja) | 半導体記憶装置とメモリ制御方法 | |
| JP2003241908A (ja) | 外部接続機器及びホスト機器 | |
| JP3992960B2 (ja) | 記録装置及びプログラム | |
| JP2005115562A (ja) | フラッシュrom制御装置 | |
| JP4308780B2 (ja) | 半導体メモリ装置、メモリコントローラ及びデータ記録方法 | |
| US20040133755A1 (en) | Minimization of overhead of non-volatile memory operation | |
| JPH05250884A (ja) | 不揮発性記憶装置 | |
| JP2005135544A (ja) | 半導体記録媒体及び半導体記録媒体のデータ消去方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20031225 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20040204 |
|
| 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: 20040316 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040323 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |