JPH07219720A - 半導体メモリ装置ならびにその制御方法 - Google Patents
半導体メモリ装置ならびにその制御方法Info
- Publication number
- JPH07219720A JPH07219720A JP26180694A JP26180694A JPH07219720A JP H07219720 A JPH07219720 A JP H07219720A JP 26180694 A JP26180694 A JP 26180694A JP 26180694 A JP26180694 A JP 26180694A JP H07219720 A JPH07219720 A JP H07219720A
- Authority
- JP
- Japan
- Prior art keywords
- block
- data
- block address
- real
- access
- 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
Links
Landscapes
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Read Only Memory (AREA)
Abstract
(57)【要約】
【目的】 データ処理効率がよく、ハードディスク装置
と互換性のある半導体メモリ装置を提供する。 【構成】 フラッシュ型EEPROMなどの不揮発性メ
モリでデータ記憶部5が構成され、一定のブロック単位
で上位計算機から論理ブロックアドレス指定でデータア
クセスがされる半導体メモリ装置において、上位計算機
から論理ブロックアドレスを前記データ記憶部5の実メ
モリ空間上の実ブロックアドレスに変換する第1のテー
ブル41と、実ブロックアドレスに対応して、その実ブ
ロックアドレス内のデータの状態を管理する第2のテー
ブル42とを備えたことを特徴とする。
と互換性のある半導体メモリ装置を提供する。 【構成】 フラッシュ型EEPROMなどの不揮発性メ
モリでデータ記憶部5が構成され、一定のブロック単位
で上位計算機から論理ブロックアドレス指定でデータア
クセスがされる半導体メモリ装置において、上位計算機
から論理ブロックアドレスを前記データ記憶部5の実メ
モリ空間上の実ブロックアドレスに変換する第1のテー
ブル41と、実ブロックアドレスに対応して、その実ブ
ロックアドレス内のデータの状態を管理する第2のテー
ブル42とを備えたことを特徴とする。
Description
【0001】
【産業上の利用分野】本発明は、例えば従来のコンピュ
ータシステムにおけるハード磁気ディスクと互換性のあ
る半導体ディスクなどの半導体メモリ装置とその制御方
法に関するものである。
ータシステムにおけるハード磁気ディスクと互換性のあ
る半導体ディスクなどの半導体メモリ装置とその制御方
法に関するものである。
【0002】
【従来の技術】各種のコンピュータシステムでは、大量
のデータを蓄積、処理するために、従来は磁気ディスク
や光ディスクなどのディスク状の記憶媒体が使用されて
いた。しかし、このディスク状記憶媒体を駆動するドラ
イブ装置は大型でしかも高度に精密な機構が必要であ
り、しかも信頼性に欠けるものである。
のデータを蓄積、処理するために、従来は磁気ディスク
や光ディスクなどのディスク状の記憶媒体が使用されて
いた。しかし、このディスク状記憶媒体を駆動するドラ
イブ装置は大型でしかも高度に精密な機構が必要であ
り、しかも信頼性に欠けるものである。
【0003】これに代わるものとして、例えばDRAM
やSRAMなどの半導体メモリを持ちいた固体記憶装置
が検討されている。しかしこれらは高価であり、記憶し
たデータを保持するためには常に電力が必要でそのため
にランニングコストが高くつくという欠点を有してい
る。
やSRAMなどの半導体メモリを持ちいた固体記憶装置
が検討されている。しかしこれらは高価であり、記憶し
たデータを保持するためには常に電力が必要でそのため
にランニングコストが高くつくという欠点を有してい
る。
【0004】この欠点を解消するため、特開平2−29
2798号に記載されているようなフラッシュEEPR
OMシステムが提案されている。
2798号に記載されているようなフラッシュEEPR
OMシステムが提案されている。
【0005】
【発明が解決しようとする課題】ところがこの提案され
たシステムでは、記憶部のデータエリアに対して先のデ
ータを消去しながら新たにデータを書き込む方法が採用
されているため、データの書き込みが終了するまでに時
間が掛かり、処理効率がよくない。
たシステムでは、記憶部のデータエリアに対して先のデ
ータを消去しながら新たにデータを書き込む方法が採用
されているため、データの書き込みが終了するまでに時
間が掛かり、処理効率がよくない。
【0006】またデータエリア内には、欠陥データを格
納するための代替エリアと、欠陥データを管理するため
に欠陥マップエリアなどが設けられているため、実質的
に使用できる記憶エリアが制限されることや、データ記
憶部にフラッシュEEPROMを利用していることから
書き込み回数に制限があり外部記憶装置としての寿命に
限界があるなどの欠点を有している。
納するための代替エリアと、欠陥データを管理するため
に欠陥マップエリアなどが設けられているため、実質的
に使用できる記憶エリアが制限されることや、データ記
憶部にフラッシュEEPROMを利用していることから
書き込み回数に制限があり外部記憶装置としての寿命に
限界があるなどの欠点を有している。
【0007】本発明の目的は、このような従来技術の欠
点を解消し、データ処理の効率がよく、しかも書き込み
制限を意識する必要がないため従来のハードディスクと
同様に扱うことが可能な半導体メモリ装置ならびにその
制御方法を提供することにある。
点を解消し、データ処理の効率がよく、しかも書き込み
制限を意識する必要がないため従来のハードディスクと
同様に扱うことが可能な半導体メモリ装置ならびにその
制御方法を提供することにある。
【0008】
【課題を解決するための手段】前記目的を達成するため
に、第1の発明は、電気的に書き込みが可能で、かつ所
定の単位で電気的に消去が可能な不揮発性メモリからな
るデータ記憶部と、前記データ記憶部に対する制御を行
う制御手段と、接続される上位計算機とデータの入出力
を行う入出力手段とで構成され、一定のブロック単位で
上位計算機から論理ブロックアドレス指定でデータアク
セスが実行される半導体メモリ装置において、前記上位
計算機からアクセス時に指定される論理ブロックアドレ
スを前記データ記憶部の実メモリ空間上の実ブロックア
ドレスに変換する第1のテーブルと、前記実ブロックア
ドレスに対応して、その実ブロックアドレス内のデータ
の状態を管理する第2のテーブルとを備えることを特徴
とするものである。
に、第1の発明は、電気的に書き込みが可能で、かつ所
定の単位で電気的に消去が可能な不揮発性メモリからな
るデータ記憶部と、前記データ記憶部に対する制御を行
う制御手段と、接続される上位計算機とデータの入出力
を行う入出力手段とで構成され、一定のブロック単位で
上位計算機から論理ブロックアドレス指定でデータアク
セスが実行される半導体メモリ装置において、前記上位
計算機からアクセス時に指定される論理ブロックアドレ
スを前記データ記憶部の実メモリ空間上の実ブロックア
ドレスに変換する第1のテーブルと、前記実ブロックア
ドレスに対応して、その実ブロックアドレス内のデータ
の状態を管理する第2のテーブルとを備えることを特徴
とするものである。
【0009】前記目的を達成するために、第2の発明
は、電気的に書き込みが可能で、かつ所定の単位で電気
的に消去が可能な不揮発性メモリからなるデータ記憶部
と、前記データ記憶部に対する制御を行う制御手段と、
接続される上位計算機とデータの入出力を行う入出力手
段と前記上位計算機からアクセス時に指定される論理ブ
ロックアドレスを前記データ記憶部の実メモリ空間上の
実ブロックアドレスに変換する第1のテーブルと、前記
実ブロックアドレスに対応して、その実ブロックアドレ
ス内のデータの状態を管理する第2のテーブルとから構
成され、一定のブロック単位で上位計算機から論理ブロ
ックアドレス指定でデータアクセスを実行する半導体メ
モリ装置の制御方法において、前記上位計算機によるデ
ータ読み出し処理時には、前記第1のテーブルにより論
理ブロックアドレスを実ブロックアドレスに変換し、変
換した実ブロックから読み出したデータを上位計算機に
転送し、前記上位計算機からのデータ書き込み処理時に
は、前記第2のテーブルよりデータの書き込み可能な空
きブロックを検索し、その空きブロックへデータを書き
込むと共に、データを書き込んだブロックの実ブロック
アドレスを第1のテーブルに書き込むことにより実ブロ
ックアドレスと論理ブロックアドレスの対応ずけを行
い、上記一連のデータ書き込み処理とは独立してデータ
を消去する処理を有することを特徴とするものである。
は、電気的に書き込みが可能で、かつ所定の単位で電気
的に消去が可能な不揮発性メモリからなるデータ記憶部
と、前記データ記憶部に対する制御を行う制御手段と、
接続される上位計算機とデータの入出力を行う入出力手
段と前記上位計算機からアクセス時に指定される論理ブ
ロックアドレスを前記データ記憶部の実メモリ空間上の
実ブロックアドレスに変換する第1のテーブルと、前記
実ブロックアドレスに対応して、その実ブロックアドレ
ス内のデータの状態を管理する第2のテーブルとから構
成され、一定のブロック単位で上位計算機から論理ブロ
ックアドレス指定でデータアクセスを実行する半導体メ
モリ装置の制御方法において、前記上位計算機によるデ
ータ読み出し処理時には、前記第1のテーブルにより論
理ブロックアドレスを実ブロックアドレスに変換し、変
換した実ブロックから読み出したデータを上位計算機に
転送し、前記上位計算機からのデータ書き込み処理時に
は、前記第2のテーブルよりデータの書き込み可能な空
きブロックを検索し、その空きブロックへデータを書き
込むと共に、データを書き込んだブロックの実ブロック
アドレスを第1のテーブルに書き込むことにより実ブロ
ックアドレスと論理ブロックアドレスの対応ずけを行
い、上記一連のデータ書き込み処理とは独立してデータ
を消去する処理を有することを特徴とするものである。
【0010】前記目的を達成するために、第3の発明
は、電気的に書き込みが可能で、かつ所定の単位で電気
的に消去が可能な不揮発性メモリからなるデータ記憶部
と、前記データ記憶部に対する制御を行う制御手段と、
接続される上位計算機とデータの入出力を行う入出力手
段とで構成され、一定のブロック単位で上位計算機から
論理ブロックアドレス指定でデータアクセスが実行され
る半導体メモリ装置において、前記データ記憶部へのデ
ータ書込み時における書込み可能な実ブロックアドレス
を格納しているポインタレジスタと、前記ポインタレジ
スタに対しデータ書込み時における書込み先実ブロック
アドレスを設定するレジスタ操作部とを備えていること
を特徴とするものである。
は、電気的に書き込みが可能で、かつ所定の単位で電気
的に消去が可能な不揮発性メモリからなるデータ記憶部
と、前記データ記憶部に対する制御を行う制御手段と、
接続される上位計算機とデータの入出力を行う入出力手
段とで構成され、一定のブロック単位で上位計算機から
論理ブロックアドレス指定でデータアクセスが実行され
る半導体メモリ装置において、前記データ記憶部へのデ
ータ書込み時における書込み可能な実ブロックアドレス
を格納しているポインタレジスタと、前記ポインタレジ
スタに対しデータ書込み時における書込み先実ブロック
アドレスを設定するレジスタ操作部とを備えていること
を特徴とするものである。
【0011】前記目的を達成するために、第4の発明
は、電気的に書き込みが可能で、かつ所定の単位で電気
的に消去が可能な不揮発性メモリからなるデータ記憶部
と、前記データ記憶部に対する制御を行う制御手段と、
接続される上位計算機とデータの入出力を行う入出力手
段とで構成され、一定のブロック単位で上位計算機から
論理ブロックアドレス指定でデータアクセスが実行され
る半導体メモリ装置において、前記上位計算機からアク
セス時に指定される論理ブロックアドレスを前記データ
記憶部の実メモリ空間上の実ブロックアドレスに変換す
る第1のテーブルと、前記実ブロックアドレスに対応し
て、その実ブロックアドレス内のデータの状態を管理す
る第2のテーブルとを備える半導体メモリ装置におい
て、前記データ記憶部が少なくとも1つのアクセスブロ
ックを含む消去ブロック単位で消去ができる第1の不揮
発性メモリと、書き込み可能回数が前記第1の不揮発性
メモリより大で、アクセスブロックもしくはアクセスブ
ロック以下のバイト単位で書き込み、又は消去可能な第
2の不揮発性メモリで構成され、オペレーティングシス
テムの管理するデータ領域を第1の不揮発性メモリに格
納し、FAT,ディレクトリ等のファイル管理領域を第
2の不揮発性メモリに格納することを特徴とするもので
ある。
は、電気的に書き込みが可能で、かつ所定の単位で電気
的に消去が可能な不揮発性メモリからなるデータ記憶部
と、前記データ記憶部に対する制御を行う制御手段と、
接続される上位計算機とデータの入出力を行う入出力手
段とで構成され、一定のブロック単位で上位計算機から
論理ブロックアドレス指定でデータアクセスが実行され
る半導体メモリ装置において、前記上位計算機からアク
セス時に指定される論理ブロックアドレスを前記データ
記憶部の実メモリ空間上の実ブロックアドレスに変換す
る第1のテーブルと、前記実ブロックアドレスに対応し
て、その実ブロックアドレス内のデータの状態を管理す
る第2のテーブルとを備える半導体メモリ装置におい
て、前記データ記憶部が少なくとも1つのアクセスブロ
ックを含む消去ブロック単位で消去ができる第1の不揮
発性メモリと、書き込み可能回数が前記第1の不揮発性
メモリより大で、アクセスブロックもしくはアクセスブ
ロック以下のバイト単位で書き込み、又は消去可能な第
2の不揮発性メモリで構成され、オペレーティングシス
テムの管理するデータ領域を第1の不揮発性メモリに格
納し、FAT,ディレクトリ等のファイル管理領域を第
2の不揮発性メモリに格納することを特徴とするもので
ある。
【0012】前記目的を達成するために、第5の発明
は、電気的に書き込みが可能で、かつ所定の単位で電気
的に消去が可能な不揮発性メモリからなるデータ記憶部
と、前記データ記憶部に対する制御を行う制御手段と、
接続される上位計算機とデータの入出力を行う入出力手
段とで構成され、一定のブロック単位で上位計算機から
論理ブロックアドレス指定でデータアクセスが実行され
る半導体メモリ装置において、前記上位計算機からアク
セス時に指定される論理ブロックアドレスを前記データ
記憶部の実メモリ空間上の実ブロックアドレスに変換す
る第1のテーブルと、前記実ブロックアドレスに対応し
て、その実ブロックアドレス内のデータの状態を管理す
る第2のテーブルと、前記論理ブロックへの書き込み回
数を格納する第3のテーブルを備える半導体メモリ装置
において、前記データ記憶部が少なくとも1つのアクセ
スブロックを含む消去ブロック単位で消去ができる第1
の不揮発性メモリと、書き込み可能回数が前記第1の不
揮発性メモリより大で、アクセスブロックもしくはアク
セスブロック以下のバイト単位で書き込み、又は消去可
能な第2の不揮発性メモリで構成され、前記第3のテー
ブルに格納される論理ブロックアドレスへの書き込み回
数の多いブロックから前記第2の不揮発性メモリに格納
し、前記第2の不揮発性メモリに格納できない残りのブ
ロックを第1不揮発性メモリに格納することを特徴とす
るものである。
は、電気的に書き込みが可能で、かつ所定の単位で電気
的に消去が可能な不揮発性メモリからなるデータ記憶部
と、前記データ記憶部に対する制御を行う制御手段と、
接続される上位計算機とデータの入出力を行う入出力手
段とで構成され、一定のブロック単位で上位計算機から
論理ブロックアドレス指定でデータアクセスが実行され
る半導体メモリ装置において、前記上位計算機からアク
セス時に指定される論理ブロックアドレスを前記データ
記憶部の実メモリ空間上の実ブロックアドレスに変換す
る第1のテーブルと、前記実ブロックアドレスに対応し
て、その実ブロックアドレス内のデータの状態を管理す
る第2のテーブルと、前記論理ブロックへの書き込み回
数を格納する第3のテーブルを備える半導体メモリ装置
において、前記データ記憶部が少なくとも1つのアクセ
スブロックを含む消去ブロック単位で消去ができる第1
の不揮発性メモリと、書き込み可能回数が前記第1の不
揮発性メモリより大で、アクセスブロックもしくはアク
セスブロック以下のバイト単位で書き込み、又は消去可
能な第2の不揮発性メモリで構成され、前記第3のテー
ブルに格納される論理ブロックアドレスへの書き込み回
数の多いブロックから前記第2の不揮発性メモリに格納
し、前記第2の不揮発性メモリに格納できない残りのブ
ロックを第1不揮発性メモリに格納することを特徴とす
るものである。
【0013】
【作用】上記態様により本発明の作用を説明すると、第
1のテーブルと第2のテーブルとを設けることにより、
消去された所を検索して直ちにデータを書き込むことが
でき、そのため従来提案されたものよりも迅速にデータ
の書き込みが可能で効率の向上を図かることができ、さ
らに、ポインタレジスタを設け、あらかじめデータ書込
み先の実ブロックアドレスを設定しておくことにより、
より迅速にデータを書込むことも可能となる。
1のテーブルと第2のテーブルとを設けることにより、
消去された所を検索して直ちにデータを書き込むことが
でき、そのため従来提案されたものよりも迅速にデータ
の書き込みが可能で効率の向上を図かることができ、さ
らに、ポインタレジスタを設け、あらかじめデータ書込
み先の実ブロックアドレスを設定しておくことにより、
より迅速にデータを書込むことも可能となる。
【0014】また、データ記憶部を書き込み可能回数の
異なる2つの不揮発性メモリで構成し、書き込み頻度の
多いセクタを書き込み可能回数が大である不揮発性メモ
リへ格納するといった構成により、フラッシュメモリ等
の書き換え回数の制限のあるメモリ素子を用いても大容
量で、しかも装置寿命の長いファイル装置を実現可能と
なるといった利点を有している。
異なる2つの不揮発性メモリで構成し、書き込み頻度の
多いセクタを書き込み可能回数が大である不揮発性メモ
リへ格納するといった構成により、フラッシュメモリ等
の書き換え回数の制限のあるメモリ素子を用いても大容
量で、しかも装置寿命の長いファイル装置を実現可能と
なるといった利点を有している。
【0015】また、ポインタレジスタに設定されるデー
タ書込み先の実ブロックアドレスを任意に設定可能な構
成にすることにより、特定の実ブロックアドレスに対す
る書込みの集中を避けることができ装置寿命を延ばすこ
とが可能となるといった利点を有している。
タ書込み先の実ブロックアドレスを任意に設定可能な構
成にすることにより、特定の実ブロックアドレスに対す
る書込みの集中を避けることができ装置寿命を延ばすこ
とが可能となるといった利点を有している。
【0016】
【実施例】つぎに本発明の実施例を図とともに説明す
る。図1は第1実施例を説明するための図である。
る。図1は第1実施例を説明するための図である。
【0017】半導体ディスク1は、フラッシュメモリへ
のリード/ライトおよび全体の制御を行うマイコン2、
上位計算機とのインターフェースプロトコルを実現する
I/Fコントローラ3、作業用のワークメモリ4、複数
のフラッシュメモリ(フラッシュメモリアレイ)からな
るデータ記憶部5、データ記憶部5とのインターフェー
スを実行するメモリコントローラ6、上位計算機とのア
クセスデータを一時記憶するバッファメモリ7、前記各
部を接続するアドレスバス111、データバス112、
制御信号バス113で主に構成されている。
のリード/ライトおよび全体の制御を行うマイコン2、
上位計算機とのインターフェースプロトコルを実現する
I/Fコントローラ3、作業用のワークメモリ4、複数
のフラッシュメモリ(フラッシュメモリアレイ)からな
るデータ記憶部5、データ記憶部5とのインターフェー
スを実行するメモリコントローラ6、上位計算機とのア
クセスデータを一時記憶するバッファメモリ7、前記各
部を接続するアドレスバス111、データバス112、
制御信号バス113で主に構成されている。
【0018】そして前記マイコン2、I/Fコントロー
ラ3、ワークメモリ4、メモリコントローラ6、バッフ
ァメモリ7はアドレスバス111、データバス112、
制御信号バス113で接続されている。データ記憶部5
とメモリコントローラ6はアドレスバス121、データ
バス122、制御信号バス123で接続されている。そ
してアドレスバス101、データバス102、制御信号
バス103により上位計算機(図示せず)と接続されて
いる。
ラ3、ワークメモリ4、メモリコントローラ6、バッフ
ァメモリ7はアドレスバス111、データバス112、
制御信号バス113で接続されている。データ記憶部5
とメモリコントローラ6はアドレスバス121、データ
バス122、制御信号バス123で接続されている。そ
してアドレスバス101、データバス102、制御信号
バス103により上位計算機(図示せず)と接続されて
いる。
【0019】ここで、アドレスバス101と111およ
び121、データバス102と112および122、制
御信号バス103と113および123とは、必ずしも
対応するものではない。また、図には示されていないが
本半導体ディスク1を動作させるための電力は、上位計
算機から半導体ディスク1の前記各構成部へ供給される
ものである。
び121、データバス102と112および122、制
御信号バス103と113および123とは、必ずしも
対応するものではない。また、図には示されていないが
本半導体ディスク1を動作させるための電力は、上位計
算機から半導体ディスク1の前記各構成部へ供給される
ものである。
【0020】前記ワークメモリ4は上位計算機からアク
セス時に指定される論理ブロックアドレスをデータ記憶
部5のフラッシュメモリ群におけるメモリ空間上の実際
のアドレスである実ブロックアドレスに変換する第1の
テーブル41と、その実ブロックアドレスに対応するフ
ラッシュメモリのデータ領域を管理する第2のテーブル
42とを有している。
セス時に指定される論理ブロックアドレスをデータ記憶
部5のフラッシュメモリ群におけるメモリ空間上の実際
のアドレスである実ブロックアドレスに変換する第1の
テーブル41と、その実ブロックアドレスに対応するフ
ラッシュメモリのデータ領域を管理する第2のテーブル
42とを有している。
【0021】I/Fコントローラ3は上位計算機とのア
クセスを実現するために、実行する処理を指定するため
のコマンドレジスタ31、データアクセスするための論
理アドレスを設定するアドレスレジスタ32、データの
書込み/読出しを行うためのデータレジスタ33、処理
の実行結果を上位計算機へ知らせるためのステータスレ
ジスタ34を備え、上位計算機と半導体ディスクはこれ
らレジスタ群を介して情報の入出力を実行する。
クセスを実現するために、実行する処理を指定するため
のコマンドレジスタ31、データアクセスするための論
理アドレスを設定するアドレスレジスタ32、データの
書込み/読出しを行うためのデータレジスタ33、処理
の実行結果を上位計算機へ知らせるためのステータスレ
ジスタ34を備え、上位計算機と半導体ディスクはこれ
らレジスタ群を介して情報の入出力を実行する。
【0022】前記第1のテーブル41と第2のテーブル
42の構成について説明する。半導体ディスク1はハー
ドティスクと同様に、ある一定のブロック単位でデータ
アクセスされるものであり、上位計算機から論理ブロッ
クアドレスとして任意のデータ領域が指定される。この
とき1ブロックのバイト単位は任意であるが、2nバイ
トが望ましく、ここでは1ブロックが512バイトで構
成されている場合として説明する。
42の構成について説明する。半導体ディスク1はハー
ドティスクと同様に、ある一定のブロック単位でデータ
アクセスされるものであり、上位計算機から論理ブロッ
クアドレスとして任意のデータ領域が指定される。この
とき1ブロックのバイト単位は任意であるが、2nバイ
トが望ましく、ここでは1ブロックが512バイトで構
成されている場合として説明する。
【0023】第1のテーブル41の構成を図2とともに
説明する。第1のテーブル41は前述のように、上位計
算機からデータアクセスのために指定される論理ブロッ
クアドレスを、複数のフラッシュメモリから構成される
データ記憶部5のメモリ空間上の実際のアドレスである
実ブロックアドレスに変換するためのものである。同図
において、論理ブロックアドレス空間は、論理ブロック
アドレス0001h〜FFFFhにマッピングされてい
るとする。また同様に、実ブロックアドレス空間も実ブ
ロックアドレス0001h〜FFFFhにマッピングさ
れているとする。ここで例えば、上位計算機からデータ
読出し先として論理ブロックアドレス0030hが指定
された場合、第1のテーブル41により論理ブロックア
ドレス0030hに対応する実ブロックアドレス008
8hが参照される。これは、第1のテーブル41のアド
レス0030hを読み出し、このアドレスに格納されて
いるデータが論理ブロックアドレス0030hに対応す
る実ブロックアドレス0088hを示すデータであるこ
とから、対応するデータAが実ブロックアドレス008
8hから読出される。このように、第1のテーブル41
は論理ブロックアドレスと実際の物理アドレスである実
ブロックアドレスとの対応を示すものであり、両アドレ
スは第1のテーブル41により1対1に対応ずけられ
る。
説明する。第1のテーブル41は前述のように、上位計
算機からデータアクセスのために指定される論理ブロッ
クアドレスを、複数のフラッシュメモリから構成される
データ記憶部5のメモリ空間上の実際のアドレスである
実ブロックアドレスに変換するためのものである。同図
において、論理ブロックアドレス空間は、論理ブロック
アドレス0001h〜FFFFhにマッピングされてい
るとする。また同様に、実ブロックアドレス空間も実ブ
ロックアドレス0001h〜FFFFhにマッピングさ
れているとする。ここで例えば、上位計算機からデータ
読出し先として論理ブロックアドレス0030hが指定
された場合、第1のテーブル41により論理ブロックア
ドレス0030hに対応する実ブロックアドレス008
8hが参照される。これは、第1のテーブル41のアド
レス0030hを読み出し、このアドレスに格納されて
いるデータが論理ブロックアドレス0030hに対応す
る実ブロックアドレス0088hを示すデータであるこ
とから、対応するデータAが実ブロックアドレス008
8hから読出される。このように、第1のテーブル41
は論理ブロックアドレスと実際の物理アドレスである実
ブロックアドレスとの対応を示すものであり、両アドレ
スは第1のテーブル41により1対1に対応ずけられ
る。
【0024】このように第1のテーブル41を介するこ
とにより、論理ブロックアドレスと実ブロックアドレス
のアドレス値が常に一致している必要がなくなるので、
データ記憶部5のメモリ空間を有効に使用することが可
能となる。
とにより、論理ブロックアドレスと実ブロックアドレス
のアドレス値が常に一致している必要がなくなるので、
データ記憶部5のメモリ空間を有効に使用することが可
能となる。
【0025】また、第1のテーブル41のデータは半導
体ディスク1への書き込み時に生成されアドレスの対応
づけが行なわれるため、データの書込みのない論理ブロ
ックアドレスについては、例えば論理ブロックアドレス
FFFFhのように、第1のテーブル41の所定の領域
の値が0000hとなり、実ブロックアドレス空間上に
対応するデータが無いことを示している。このような論
理ブロックアドレスへの読出しにつていは、ALL0を
読出しデータとして上位計算機に転送すればよい。
体ディスク1への書き込み時に生成されアドレスの対応
づけが行なわれるため、データの書込みのない論理ブロ
ックアドレスについては、例えば論理ブロックアドレス
FFFFhのように、第1のテーブル41の所定の領域
の値が0000hとなり、実ブロックアドレス空間上に
対応するデータが無いことを示している。このような論
理ブロックアドレスへの読出しにつていは、ALL0を
読出しデータとして上位計算機に転送すればよい。
【0026】図2の例では、論理ブロックアドレス空間
の大きさと実ブロックアドレス空間の大きさが同じであ
る場合について説明したが、論理ブロックアドレス空間
の大きさと実ブロックアドレス空間の大きさは全く同じ
である必要はなく、実ブロックアドレス空間の方が大き
ければ問題はない。
の大きさと実ブロックアドレス空間の大きさが同じであ
る場合について説明したが、論理ブロックアドレス空間
の大きさと実ブロックアドレス空間の大きさは全く同じ
である必要はなく、実ブロックアドレス空間の方が大き
ければ問題はない。
【0027】第2のテーブル42は、実ブロックアドレ
ス空間上の実ブロックアドレス内のデータの状態を管理
するフラグ情報を格納するためのものである。図3にお
いて、実ブロックアドレス0088hに対応する第2の
テーブル42の領域であるアドレス0088hには、こ
の実ブロックアドレス内のデータが有効であることを示
す「有効ブロック」フラグ01hが格納されている。さ
らに、実ブロックアドレス0043hのように実ブロッ
クアドレス内のデータが無効である場合は、「無効ブロ
ック」を示すフラグ02hが格納されている。これは、
以前はこのブロック内のデータが有効であったが、書換
えが行われ、ある論理ブロックアドレスに対応するデー
タが他の実ブロックアドレスにセットされたためこの実
ブロック内のデータは意味を持たないことを示してい
る。また、「無効ブロック」フラグはフラッシュメモリ
における対応ブロックが消去処理の必要性も示してい
る。
ス空間上の実ブロックアドレス内のデータの状態を管理
するフラグ情報を格納するためのものである。図3にお
いて、実ブロックアドレス0088hに対応する第2の
テーブル42の領域であるアドレス0088hには、こ
の実ブロックアドレス内のデータが有効であることを示
す「有効ブロック」フラグ01hが格納されている。さ
らに、実ブロックアドレス0043hのように実ブロッ
クアドレス内のデータが無効である場合は、「無効ブロ
ック」を示すフラグ02hが格納されている。これは、
以前はこのブロック内のデータが有効であったが、書換
えが行われ、ある論理ブロックアドレスに対応するデー
タが他の実ブロックアドレスにセットされたためこの実
ブロック内のデータは意味を持たないことを示してい
る。また、「無効ブロック」フラグはフラッシュメモリ
における対応ブロックが消去処理の必要性も示してい
る。
【0028】データの書込が可能な実ブロックアドレス
については、実ブロックアドレス0007hのように
「空きブロック」であることを示すフラグ00hが格納
されている。また、データの書込が正常にできない実ブ
ロックアドレスについては、実ブロックアドレス012
3hのように「欠陥ブロック」であることを示すフラグ
FFhが格納されている。これらのフラグ情報により、
実ブロックアドレス空間を構成するフラッシュメモリの
状態を管理することができ、フラッシュメモリに対して
データの書込み、消去などの処理を有効に行うことがで
きる。これらのフラグの値は一例であり、フラッシュメ
モリの状態を管理できるように識別されていれば、任意
に設定してもよい。
については、実ブロックアドレス0007hのように
「空きブロック」であることを示すフラグ00hが格納
されている。また、データの書込が正常にできない実ブ
ロックアドレスについては、実ブロックアドレス012
3hのように「欠陥ブロック」であることを示すフラグ
FFhが格納されている。これらのフラグ情報により、
実ブロックアドレス空間を構成するフラッシュメモリの
状態を管理することができ、フラッシュメモリに対して
データの書込み、消去などの処理を有効に行うことがで
きる。これらのフラグの値は一例であり、フラッシュメ
モリの状態を管理できるように識別されていれば、任意
に設定してもよい。
【0029】前記第1のテーブル41と第2のテーブル
42はデータ記憶部5内のフラッシュメモリをアクセス
するのに必要な情報であるので、不揮発メモリに格納さ
れる。そのメモリとしては、EEPROMやフラッシュ
メモリでもよいが、アクセスがEEPROMやフラッシ
ュメモリに比べて高速であり、バイト単位でデータの書
換えが可能なFRAMが最適である。また、メモリとし
てDRAMまたはSRAMを使用し、電源オフ時に不揮
発メモリへテーブル情報を格納する方法でもよい。ある
いは、電池等でDRAMまたはSRAMをバックアップ
する方法でもよい。
42はデータ記憶部5内のフラッシュメモリをアクセス
するのに必要な情報であるので、不揮発メモリに格納さ
れる。そのメモリとしては、EEPROMやフラッシュ
メモリでもよいが、アクセスがEEPROMやフラッシ
ュメモリに比べて高速であり、バイト単位でデータの書
換えが可能なFRAMが最適である。また、メモリとし
てDRAMまたはSRAMを使用し、電源オフ時に不揮
発メモリへテーブル情報を格納する方法でもよい。ある
いは、電池等でDRAMまたはSRAMをバックアップ
する方法でもよい。
【0030】次に前記第1実施例(図1)における上位
計算機とのデータアクセス方法の一例を説明する。
計算機とのデータアクセス方法の一例を説明する。
【0031】まず、データの読出しの場合を説明する。
上位計算機は、アドレスバス101でレジスタを指定
し、データバス102、制御信号バス103により、実
行するデータの読出し処理を示すコマンドコードをコマ
ンドレジスタ31に、読み出すデータが格納される論理
ブロツクアドレスをアドレスレジスタ32に設定する。
そこで、半導体ディスク1内のマイコン2はコマンドレ
ジスタ31内のコマンドコードを判定し、データの読出
しであることを確認して、データの読出し処理を実行す
る。その後、ステータスレジスタ34を介して、実行結
果を上位計算機に報告する。
上位計算機は、アドレスバス101でレジスタを指定
し、データバス102、制御信号バス103により、実
行するデータの読出し処理を示すコマンドコードをコマ
ンドレジスタ31に、読み出すデータが格納される論理
ブロツクアドレスをアドレスレジスタ32に設定する。
そこで、半導体ディスク1内のマイコン2はコマンドレ
ジスタ31内のコマンドコードを判定し、データの読出
しであることを確認して、データの読出し処理を実行す
る。その後、ステータスレジスタ34を介して、実行結
果を上位計算機に報告する。
【0032】これらのデータの読出し処理の一例を示す
のが図4で、同図において、まず、アドレスレジスタ3
2に設定された論理ブロツクアドレスを、第1のテーブ
ル41により、複数のフラッシュメモリで構成されるデ
ータ記憶部5のメモリ空間上の対応する実ブロツクアド
レスに変換する(S1)。
のが図4で、同図において、まず、アドレスレジスタ3
2に設定された論理ブロツクアドレスを、第1のテーブ
ル41により、複数のフラッシュメモリで構成されるデ
ータ記憶部5のメモリ空間上の対応する実ブロツクアド
レスに変換する(S1)。
【0033】次にこの実ブロツクアドレスより、データ
記憶部5内の対応するデータをバッファメモリ7に読み
出し(S2)、データレジスタ33を介して上位計算機
へバッファメモリ7内のデータを転送する(S3)。こ
のような手順でデータの読出しが実行され、読出すブロ
ツクが複数ある場合はこれらの処理が所定回数だけ繰り
返されて読出し処理を終了する(S4)。
記憶部5内の対応するデータをバッファメモリ7に読み
出し(S2)、データレジスタ33を介して上位計算機
へバッファメモリ7内のデータを転送する(S3)。こ
のような手順でデータの読出しが実行され、読出すブロ
ツクが複数ある場合はこれらの処理が所定回数だけ繰り
返されて読出し処理を終了する(S4)。
【0034】次にデータの書込みの場合を説明する。上
位計算機は、アドレスバス101でレジスタを指定し、
データバス102、制御信号バス103により、実行す
る書込み処理を示すコマンドコードをコマンドレジスタ
31に、データを書込む論理ブロツクアドレスをアドレ
スレジスタ32に設定する。そこで、マイコン2はコマ
ンドレジスタ31内のコマンドコードを判定し、データ
の書込みであることを確認して、データの書込み処理を
実行する。その後、ステータスレジスタ34を介して、
実行結果を上位計算機に報告する。
位計算機は、アドレスバス101でレジスタを指定し、
データバス102、制御信号バス103により、実行す
る書込み処理を示すコマンドコードをコマンドレジスタ
31に、データを書込む論理ブロツクアドレスをアドレ
スレジスタ32に設定する。そこで、マイコン2はコマ
ンドレジスタ31内のコマンドコードを判定し、データ
の書込みであることを確認して、データの書込み処理を
実行する。その後、ステータスレジスタ34を介して、
実行結果を上位計算機に報告する。
【0035】これらの処理の一例を示すのが図5で、同
図において、まず、アドレスレジスタ32に指定された
論理ブロツクアドレスに対して、第1のテーブル41か
ら、データ記憶部5のメモリ空間上の対応する実ブロツ
クアドレスが設定されているかどうかを検索する(S1
1)。第1のテーブル41に実ブロツクアドレスが存在
しない場合は(その論理アドレスには初めての書き込み
である場合)、S14の処理へ移る。
図において、まず、アドレスレジスタ32に指定された
論理ブロツクアドレスに対して、第1のテーブル41か
ら、データ記憶部5のメモリ空間上の対応する実ブロツ
クアドレスが設定されているかどうかを検索する(S1
1)。第1のテーブル41に実ブロツクアドレスが存在
しない場合は(その論理アドレスには初めての書き込み
である場合)、S14の処理へ移る。
【0036】もしS12で実ブロツクアドレスが存在す
ると判断された場合は、その実ブロツクアドレスに対応
する第2のテーブルの領域に「無効ブロック」のフラグ
を設定する。次にS14で上位計算機からデータレジス
タ33を介して、バッファメモリ7内へデータを転送す
る。
ると判断された場合は、その実ブロツクアドレスに対応
する第2のテーブルの領域に「無効ブロック」のフラグ
を設定する。次にS14で上位計算機からデータレジス
タ33を介して、バッファメモリ7内へデータを転送す
る。
【0037】その後、第2のテーブル42を検索し、デ
ータ記憶部5内で「空きブロック」フラグが設定されて
いる実ブロックアドレスを検索し(S15)、その実ブ
ロックアドレスの示す領域にバッファメモリ内のデータ
を書込み(S16)、データの書込みが正常に実行され
たかどうかを調べる(S17)。
ータ記憶部5内で「空きブロック」フラグが設定されて
いる実ブロックアドレスを検索し(S15)、その実ブ
ロックアドレスの示す領域にバッファメモリ内のデータ
を書込み(S16)、データの書込みが正常に実行され
たかどうかを調べる(S17)。
【0038】もし、書込み時に異常が発生し、正常に書
込めなかった場合は、S18でその実ブロックアドレス
に対応する第2のテーブル42の領域に「欠陥ブロッ
ク」のフラグを設定し、今後、その実ブロックアドレス
にアクセスできないようにする。それからまた、第2の
テーブル42を検索し、「空きブロック」である実ブロ
ックアドレスを捜し、データの書込を再実行する。
込めなかった場合は、S18でその実ブロックアドレス
に対応する第2のテーブル42の領域に「欠陥ブロッ
ク」のフラグを設定し、今後、その実ブロックアドレス
にアクセスできないようにする。それからまた、第2の
テーブル42を検索し、「空きブロック」である実ブロ
ックアドレスを捜し、データの書込を再実行する。
【0039】データの書込みが正常に行われたときは、
S19で書込んだ実ブロックアドレスに対応する第2の
テーブル42の領域に「有効ブロック」のフラグを設定
する。そして、指定された論理ブロックアドレスに対応
する第1のテーブル41の領域にこの実ブロックアドレ
スの値を設定することにより、論理ブロックアドレスと
実ブロックアドレスの対応づけが行われる。このような
手順でデータの書込みが実行され、書込むブロックが複
数ある場合は、これらの処理を所定回数繰り返し実行し
て書込み処理を終了する(S21)。
S19で書込んだ実ブロックアドレスに対応する第2の
テーブル42の領域に「有効ブロック」のフラグを設定
する。そして、指定された論理ブロックアドレスに対応
する第1のテーブル41の領域にこの実ブロックアドレ
スの値を設定することにより、論理ブロックアドレスと
実ブロックアドレスの対応づけが行われる。このような
手順でデータの書込みが実行され、書込むブロックが複
数ある場合は、これらの処理を所定回数繰り返し実行し
て書込み処理を終了する(S21)。
【0040】以上のようにフラッシュメモリに対しての
データの読出し、書込みが実施される。それから、フラ
ッシュメモリの場合は、別に消去処理が必要である。フ
ラッシュメモリでは、ある一定の単位(通常、2nバイ
トであり、書込みできる単位より大きい場合が普通であ
る。)で消去が行われる。この消去単位が書込みブロツ
クより大きい場合の(例えば、消去サイズが4Kバイト
に対して書込みサイズが512バイトの場合)、フラッ
シュメモリのデータ消去手順の一例を図6に示す。
データの読出し、書込みが実施される。それから、フラ
ッシュメモリの場合は、別に消去処理が必要である。フ
ラッシュメモリでは、ある一定の単位(通常、2nバイ
トであり、書込みできる単位より大きい場合が普通であ
る。)で消去が行われる。この消去単位が書込みブロツ
クより大きい場合の(例えば、消去サイズが4Kバイト
に対して書込みサイズが512バイトの場合)、フラッ
シュメモリのデータ消去手順の一例を図6に示す。
【0041】消去処理を実行する場合、まず、S31で
第2のテーブル42を検索し、「無効ブロック」フラグ
の領域を捜し、この「無効ブロック」フラグを含む消去
ブロック単位内に「有効ブロック」フラグを持つ領域が
ないかを検索する(S32)。S33の判定において
「有効ブロック」フラグが存在しない場合は、消去ブロ
ックの内容を消去する(S34)。
第2のテーブル42を検索し、「無効ブロック」フラグ
の領域を捜し、この「無効ブロック」フラグを含む消去
ブロック単位内に「有効ブロック」フラグを持つ領域が
ないかを検索する(S32)。S33の判定において
「有効ブロック」フラグが存在しない場合は、消去ブロ
ックの内容を消去する(S34)。
【0042】S33の判定において「有効ブロック」フ
ラグが存在する場合、S35で「有効ブロック」フラグ
をもつ実ブロックアドレス内のデータをワークメモリ7
に退避させる。この実ブロックアドレスは複数存在する
場合があるので、十分なワークメモリサイズが必要であ
る。それからS36で、対応する消去ブロックの内容を
消去する。その後、ワークメモリ7に退避したデータを
元の対応する実ブロックアドレスに書込み、「有効ブロ
ック」フラグであるデータを元の状態に戻す(S3
7)。この消去操作の実行後、消去処理の対象である
「無効ブロック」フラグであった実ブロックアドレスに
対応する第2のテーブル42の領域に「空きブロック」
フラグを設定する(S38)。このような手順で消去処
理が実行される。
ラグが存在する場合、S35で「有効ブロック」フラグ
をもつ実ブロックアドレス内のデータをワークメモリ7
に退避させる。この実ブロックアドレスは複数存在する
場合があるので、十分なワークメモリサイズが必要であ
る。それからS36で、対応する消去ブロックの内容を
消去する。その後、ワークメモリ7に退避したデータを
元の対応する実ブロックアドレスに書込み、「有効ブロ
ック」フラグであるデータを元の状態に戻す(S3
7)。この消去操作の実行後、消去処理の対象である
「無効ブロック」フラグであった実ブロックアドレスに
対応する第2のテーブル42の領域に「空きブロック」
フラグを設定する(S38)。このような手順で消去処
理が実行される。
【0043】この消去処理の場合、ワークメモリ7に退
避したデータを元の実ブロックアドレスに戻さず、他の
実ブロックアドレスに書込んでもよい。この処理の一例
を図7に示す。
避したデータを元の実ブロックアドレスに戻さず、他の
実ブロックアドレスに書込んでもよい。この処理の一例
を図7に示す。
【0044】同図においてS41〜S45の処理は、前
記図6のS31〜S35と同一の内容であるため、説明
を省略する。S46において、第2のテーブル42より
消去操作対象のブロック以外のところから「空きブロッ
ク」フラグである実ブロックアドレスを検索し、その実
ブロックアドレスの領域へワークメモリ7に退避したデ
ータを書込む(S47)。それから、データ退避を行っ
た実ブロックアドレスを第1のテーブル41より検索
し、その値を退避データの書込みを行った実ブロックア
ドレス値に変更する(S48)。
記図6のS31〜S35と同一の内容であるため、説明
を省略する。S46において、第2のテーブル42より
消去操作対象のブロック以外のところから「空きブロッ
ク」フラグである実ブロックアドレスを検索し、その実
ブロックアドレスの領域へワークメモリ7に退避したデ
ータを書込む(S47)。それから、データ退避を行っ
た実ブロックアドレスを第1のテーブル41より検索
し、その値を退避データの書込みを行った実ブロックア
ドレス値に変更する(S48)。
【0045】そして書込んだ実ブロックアドレスに対応
する第2のテーブル42の領域に「有効ブロック」フラ
グを設定して(S49)、「有効ブロック」フラグであ
るデータを保存する。次に消去ブロック単位で消去操作
を行い(S50)、S51で消去ブロック範囲内の全て
の実ブロックアドレスに対応する第2のテーブル42の
領域に「空きブロック」フラグを設定する。このような
手順で、消去処理が実行される。
する第2のテーブル42の領域に「有効ブロック」フラ
グを設定して(S49)、「有効ブロック」フラグであ
るデータを保存する。次に消去ブロック単位で消去操作
を行い(S50)、S51で消去ブロック範囲内の全て
の実ブロックアドレスに対応する第2のテーブル42の
領域に「空きブロック」フラグを設定する。このような
手順で、消去処理が実行される。
【0046】図7における消去処理の方法は、図6と比
較し「有効ブロック」であるデータを他の「空きブロッ
ク」へ移動することから、処理の効率化が図られ高速に
消去処理を実行可能であるといった効果がある。
較し「有効ブロック」であるデータを他の「空きブロッ
ク」へ移動することから、処理の効率化が図られ高速に
消去処理を実行可能であるといった効果がある。
【0047】次に消去単位が書込みブロック単位と等し
い場合(例えば、消去サイズ512バイトで、書込みサ
イズも512バイトの場合)での、フラッシュメモリの
データ消去手順を図8とともに説明する。
い場合(例えば、消去サイズ512バイトで、書込みサ
イズも512バイトの場合)での、フラッシュメモリの
データ消去手順を図8とともに説明する。
【0048】この場合は、他のブロックの状態を気にす
る必要がないので、消去処理を実行するには、まず、S
61で第2のテーブル42を検索し、「無効ブロック」
フラグの領域を捜す。そしてS62でこの「無効ブロッ
ク」フラグに対応する実ブロックアドレスの内容を消去
する。その後、S63でこの消去した実ブロックアドレ
スに対応する第2のテーブル42の領域に「空きブロッ
ク」フラグを設定する。このような手順で、消去処理が
実行される。
る必要がないので、消去処理を実行するには、まず、S
61で第2のテーブル42を検索し、「無効ブロック」
フラグの領域を捜す。そしてS62でこの「無効ブロッ
ク」フラグに対応する実ブロックアドレスの内容を消去
する。その後、S63でこの消去した実ブロックアドレ
スに対応する第2のテーブル42の領域に「空きブロッ
ク」フラグを設定する。このような手順で、消去処理が
実行される。
【0049】消去単位が書込みブロック単位より小さい
場合、(例えば、消去サイズ512バイトで、書込みサ
イズが1024バイトの場合)は、前述の消去単位が書
込みブロック単位と等しい場合と同じ処理手順でよく
(図8参照)、書込みサイズに相当する複数の消去ブロ
ックに対してそれぞれ消去処理を行えばよい。
場合、(例えば、消去サイズ512バイトで、書込みサ
イズが1024バイトの場合)は、前述の消去単位が書
込みブロック単位と等しい場合と同じ処理手順でよく
(図8参照)、書込みサイズに相当する複数の消去ブロ
ックに対してそれぞれ消去処理を行えばよい。
【0050】これら図6〜図8のような消去処理は、デ
ータの書込みに呼応させて実行してもよいが、データの
書込み処理を速く実行するため、データの書込み処理と
は切り放して行い上位計算機からのアクセスに対する処
理が発生しないコマンド待ちの状態の時に実行するのが
よい。
ータの書込みに呼応させて実行してもよいが、データの
書込み処理を速く実行するため、データの書込み処理と
は切り放して行い上位計算機からのアクセスに対する処
理が発生しないコマンド待ちの状態の時に実行するのが
よい。
【0051】また、消去処理をデータの書込みや読出し
と平行して実行できるのであれば、通常のアクセス処理
の裏作業として消去処理を実行できるため、装置内部で
の消去処理が書込みや読出しの処理時間に影響を与える
ことはない。
と平行して実行できるのであれば、通常のアクセス処理
の裏作業として消去処理を実行できるため、装置内部で
の消去処理が書込みや読出しの処理時間に影響を与える
ことはない。
【0052】次に本発明の第2実施例について図9とと
もに説明する。本実施例の場合、フラッシュメモリに対
するアクセス制御を行うメモリコントローラ6の内部に
ポインタレジスタ9とポインタレジスタ9を制御するた
めのレジスタ操作部8が設けられている例であり、レジ
スタ操作部8は、ハードウェアもしくはソフトウェアの
どちらかにより実現するものとする。
もに説明する。本実施例の場合、フラッシュメモリに対
するアクセス制御を行うメモリコントローラ6の内部に
ポインタレジスタ9とポインタレジスタ9を制御するた
めのレジスタ操作部8が設けられている例であり、レジ
スタ操作部8は、ハードウェアもしくはソフトウェアの
どちらかにより実現するものとする。
【0053】ポインタレジスタ9は、上位計算機からの
データ書込み命令時において、上位計算機から転送され
たデータを格納するためにフラッシュメモリ内の書込み
可能な状態にある実アドレスを常にポイントものであ
る。レジスタ操作部8は、データの書込みが実行される
毎に次のデータの書込みに対してのポインタレジスタ9
に対しての更新操作を実行する。
データ書込み命令時において、上位計算機から転送され
たデータを格納するためにフラッシュメモリ内の書込み
可能な状態にある実アドレスを常にポイントものであ
る。レジスタ操作部8は、データの書込みが実行される
毎に次のデータの書込みに対してのポインタレジスタ9
に対しての更新操作を実行する。
【0054】なお、上記説明ではフラッシュメモリに対
するアクセス制御を行うメモリコントローラ6の内部に
ポインタレジスタ9とレジスタ操作部8が設けられてい
る場合について説明したが、ポインタレジスタ9をワー
クメモリ4に設定し、レジスタ操作部8をマイコン2に
てソフトウェアにて実現する等が考えられ、上記の実施
例に限られるものではない。
するアクセス制御を行うメモリコントローラ6の内部に
ポインタレジスタ9とレジスタ操作部8が設けられてい
る場合について説明したが、ポインタレジスタ9をワー
クメモリ4に設定し、レジスタ操作部8をマイコン2に
てソフトウェアにて実現する等が考えられ、上記の実施
例に限られるものではない。
【0055】図16は、フラッシュメモリのブロック構
成例を示す図である。フラッシュメモリは、消去単位と
なる幾つかの消去ブロックに分割され、各消去ブロック
は幾つかの読出し/書込みの単位となるアクセスブロッ
クに分割される。フラッシュメモリでは、読出しと書込
みはアクセスブロックを1単位として実行することがで
きるが、消去処理は消去ブロックを1単位として消去す
るか、あるいはチップ全体を一括消去しなければならな
い。また、一度書込んだアクセスブロックは、そのブロ
ックを消去しない限り新たな書込みはできない。この例
では、フラッシュメモリを10の消去ブロックに分割
し、さらに各消去ブロックを8のアクセスブロックに分
割している。
成例を示す図である。フラッシュメモリは、消去単位と
なる幾つかの消去ブロックに分割され、各消去ブロック
は幾つかの読出し/書込みの単位となるアクセスブロッ
クに分割される。フラッシュメモリでは、読出しと書込
みはアクセスブロックを1単位として実行することがで
きるが、消去処理は消去ブロックを1単位として消去す
るか、あるいはチップ全体を一括消去しなければならな
い。また、一度書込んだアクセスブロックは、そのブロ
ックを消去しない限り新たな書込みはできない。この例
では、フラッシュメモリを10の消去ブロックに分割
し、さらに各消去ブロックを8のアクセスブロックに分
割している。
【0056】図10に本実施例の半導体ディスク装置に
対するデータ書込み処理手順を示す。半導体ディスク装
置は、S71で上位計算機からの受信データをバッファ
メモリに転送した後、S72でバッファメモリに格納さ
れている受信データをポインタレジスタが示す実ブロッ
クアドレスへブロック単位での書込みを実行する。S7
3でこの書込み処理が正常に終了したかどうか判断さ
れ、処理が正常に終了しなかった場合、S74で書込み
対象となったブロックは欠陥ブロックと判断し、ブロッ
ク情報が格納されている第2のテーブル内の指定ブロッ
クに対応するデータを欠陥領域を示すコードに書換え
る。これにより、以後このブロックは欠陥領域とされア
クセス対象から除外される。この操作後、ポインタレジ
スタの更新処理を行い(S75)、再びS72に戻り他
のブロックに対しての書込み処理を実行する。尚、S7
5におけるポインタレジスタの更新処理については後述
する。一方、S73でブロックに対する書込み処理が正
常に終了したと判定された場合、S76でデータの書込
みを実行したフラッシュメモリアレイ内の実ブロックア
ドレスと上位計算機から書込み指定された論理ブロック
アドレスとをリンクさせるために、第1のテーブルに対
して指定された論理ブロックアドレスに対応する領域に
実ブロックアドレス値の書込みを行う。
対するデータ書込み処理手順を示す。半導体ディスク装
置は、S71で上位計算機からの受信データをバッファ
メモリに転送した後、S72でバッファメモリに格納さ
れている受信データをポインタレジスタが示す実ブロッ
クアドレスへブロック単位での書込みを実行する。S7
3でこの書込み処理が正常に終了したかどうか判断さ
れ、処理が正常に終了しなかった場合、S74で書込み
対象となったブロックは欠陥ブロックと判断し、ブロッ
ク情報が格納されている第2のテーブル内の指定ブロッ
クに対応するデータを欠陥領域を示すコードに書換え
る。これにより、以後このブロックは欠陥領域とされア
クセス対象から除外される。この操作後、ポインタレジ
スタの更新処理を行い(S75)、再びS72に戻り他
のブロックに対しての書込み処理を実行する。尚、S7
5におけるポインタレジスタの更新処理については後述
する。一方、S73でブロックに対する書込み処理が正
常に終了したと判定された場合、S76でデータの書込
みを実行したフラッシュメモリアレイ内の実ブロックア
ドレスと上位計算機から書込み指定された論理ブロック
アドレスとをリンクさせるために、第1のテーブルに対
して指定された論理ブロックアドレスに対応する領域に
実ブロックアドレス値の書込みを行う。
【0057】次にS77で、書込みを行ったブロックに
対応する第2のテーブル情報を消去済み「空きブロッ
ク」から「有効ブロック」を示すコードに更新し、S7
8にて書換え以前のデータが格納されたブロツクアドレ
スに対応する第2のテーブル情報を「有効ブロック」か
ら「無効ブロック」(消去要求)を示すコードに更新す
る。次にS79で、ポインタレジスタの更新処理を行
い、アクセスの最小単位である1ブロックの書込み処理
を終了する。
対応する第2のテーブル情報を消去済み「空きブロッ
ク」から「有効ブロック」を示すコードに更新し、S7
8にて書換え以前のデータが格納されたブロツクアドレ
スに対応する第2のテーブル情報を「有効ブロック」か
ら「無効ブロック」(消去要求)を示すコードに更新す
る。次にS79で、ポインタレジスタの更新処理を行
い、アクセスの最小単位である1ブロックの書込み処理
を終了する。
【0058】以上の処理を上位計算機から指定された書
込みブロック回数分だけ繰り返して実行することによ
り、データ書込み処理を終了する(S80)。書込み処
理にて設定されたデータ無効ブロック領域は、消去処理
中に第2のテーブルを参照することにより摘出され、消
去を実行することにより書込み可能な空きブロックとな
る。
込みブロック回数分だけ繰り返して実行することによ
り、データ書込み処理を終了する(S80)。書込み処
理にて設定されたデータ無効ブロック領域は、消去処理
中に第2のテーブルを参照することにより摘出され、消
去を実行することにより書込み可能な空きブロックとな
る。
【0059】この図10に示す処理手順は、ポインタレ
ジスタの更新処理を一連の処理中にて実行しているが、
流れと平行して処理することも可能である。また、ポイ
ンタレジスタを複数用意し、そのときのデータ書込み先
のアドレスだけでなく次のデータ書込み先アドレスを設
定することもできる。
ジスタの更新処理を一連の処理中にて実行しているが、
流れと平行して処理することも可能である。また、ポイ
ンタレジスタを複数用意し、そのときのデータ書込み先
のアドレスだけでなく次のデータ書込み先アドレスを設
定することもできる。
【0060】図11にポインタレジスタ更新処理の詳細
フローを示す。最初にS81でポインタレジスタをイン
クリメントし、1ブロックアドレス分だけポインタを移
動させる。S82で、この移動によりポインタ値がフラ
ッシュメモリアレイがマッピングされた実メモリ空間の
範囲内かどうか判断され、ポインタ値が範囲外であれば
S83でポインタ値を実メモリ空間の先頭アドレスにす
ることにより、サイクリックにポインタが実メモリ空間
を指し示すものとする。
フローを示す。最初にS81でポインタレジスタをイン
クリメントし、1ブロックアドレス分だけポインタを移
動させる。S82で、この移動によりポインタ値がフラ
ッシュメモリアレイがマッピングされた実メモリ空間の
範囲内かどうか判断され、ポインタ値が範囲外であれば
S83でポインタ値を実メモリ空間の先頭アドレスにす
ることにより、サイクリックにポインタが実メモリ空間
を指し示すものとする。
【0061】次にS84で、ポインタレジスタの示すブ
ロックの状態を第2のテーブルから読出し、S85でそ
のブロックが消去済みでデータ書込み可能な領域である
かどうかを判断する。データ書込み可能な領域以外であ
った場合、この動作を繰り返し実行することで、ポイン
タレジスタに以前指し示していたブロックアドレスの次
の空きブロックアドレスをセットすることを可能とす
る。上記S81〜S85のポインタレジスタ更新処理
は、レジスタ操作部8にてソフトウェアまたはハードウ
ェアにて実行されるものである。
ロックの状態を第2のテーブルから読出し、S85でそ
のブロックが消去済みでデータ書込み可能な領域である
かどうかを判断する。データ書込み可能な領域以外であ
った場合、この動作を繰り返し実行することで、ポイン
タレジスタに以前指し示していたブロックアドレスの次
の空きブロックアドレスをセットすることを可能とす
る。上記S81〜S85のポインタレジスタ更新処理
は、レジスタ操作部8にてソフトウェアまたはハードウ
ェアにて実行されるものである。
【0062】上記のようにデータの書込み先を示すポイ
ンタレジスタ9をレジスタ操作部8にてデータ記憶部5
全体に対して均等に書込みが実行されるよう操作するこ
とにより、データ記憶部5であるフラッシュメモリアレ
イの特定領域(FATやディレクトリなどのディスク管
理情報が格納された領域)に対してアクセスが集中的に
起こることを防止し、実メモリ空間全体に対して均一に
データの書込みを実行することが可能となることから、
半導体ディスク装置の寿命を延ばすことができる。
ンタレジスタ9をレジスタ操作部8にてデータ記憶部5
全体に対して均等に書込みが実行されるよう操作するこ
とにより、データ記憶部5であるフラッシュメモリアレ
イの特定領域(FATやディレクトリなどのディスク管
理情報が格納された領域)に対してアクセスが集中的に
起こることを防止し、実メモリ空間全体に対して均一に
データの書込みを実行することが可能となることから、
半導体ディスク装置の寿命を延ばすことができる。
【0063】図12にデータ読出し時の処理手順を示
す。ポインタレジスタはデータの書込みのみに利用され
るため、データ読出し処理内ではポインタレジスタに対
しての操作は実行されない。S91で読出し処理では上
位計算機から指定された論理ブロックアドレスに対応す
る実ブロックアドレスを第1のテーブルより読出し、S
92でこの実ブロックアドレスのフラッシュメモリアレ
イよりデータブロックをバッファメモリへ読出し、それ
を上位計算機へ転送する(S93)。この処理を上位計
算機から指定されたブロック回数分だけ繰り返すことに
より、データの読出し処理を終了する(S94)。
す。ポインタレジスタはデータの書込みのみに利用され
るため、データ読出し処理内ではポインタレジスタに対
しての操作は実行されない。S91で読出し処理では上
位計算機から指定された論理ブロックアドレスに対応す
る実ブロックアドレスを第1のテーブルより読出し、S
92でこの実ブロックアドレスのフラッシュメモリアレ
イよりデータブロックをバッファメモリへ読出し、それ
を上位計算機へ転送する(S93)。この処理を上位計
算機から指定されたブロック回数分だけ繰り返すことに
より、データの読出し処理を終了する(S94)。
【0064】次に、本実施例の半導体デイスクにおける
データ消去処理方法のタイミングについて説明する。具
体的な消去処理の内容は、第1実施例の場合と同様であ
る。まず、半導体デイスクからのデータ読出し時におけ
る消去処理手順を図13とともに説明する。S101に
おいて上位計算機から送られてきた論理ブロックアドレ
スを、ワークメモリの第1のテーブルにおいてデータ記
憶部の実ブロックアドレスに変換する。
データ消去処理方法のタイミングについて説明する。具
体的な消去処理の内容は、第1実施例の場合と同様であ
る。まず、半導体デイスクからのデータ読出し時におけ
る消去処理手順を図13とともに説明する。S101に
おいて上位計算機から送られてきた論理ブロックアドレ
スを、ワークメモリの第1のテーブルにおいてデータ記
憶部の実ブロックアドレスに変換する。
【0065】次いでS102、103において、読出し
処理において読出し対象となる実ブロックが格納されて
いるチップ以外の、アクセスを実行しないチップにおい
て消去すべき消去ブロックが存在するかどうかを判断す
る。消去ブロックが存在する場合は、そのブロックに対
して消去処理の起動を行う(S104)。存在しない場
合には消去処理をしないで、S105において実ブロッ
クアドレス内のデータを上位計算機に転送する。
処理において読出し対象となる実ブロックが格納されて
いるチップ以外の、アクセスを実行しないチップにおい
て消去すべき消去ブロックが存在するかどうかを判断す
る。消去ブロックが存在する場合は、そのブロックに対
して消去処理の起動を行う(S104)。存在しない場
合には消去処理をしないで、S105において実ブロッ
クアドレス内のデータを上位計算機に転送する。
【0066】そしてS106において読出し処理毎の消
去処理の実行/未実行を判定し、S104にて消去処理
を起動していたならばS107で消去処理の検証を行っ
て、読出し処理を終了する。未実行の場合は、そのまま
読出し処理を終了する。
去処理の実行/未実行を判定し、S104にて消去処理
を起動していたならばS107で消去処理の検証を行っ
て、読出し処理を終了する。未実行の場合は、そのまま
読出し処理を終了する。
【0067】このように、実ブロックアドレスからのデ
ータ読出し前に消去処理を起動し、データ読出しと平行
して消去処理を行い、データの読出し終了後に消去処理
が正常に終了したかの検証を行うことで、データ読出し
処理の裏作業として消去処理を実行するとこができる。
ータ読出し前に消去処理を起動し、データ読出しと平行
して消去処理を行い、データの読出し終了後に消去処理
が正常に終了したかの検証を行うことで、データ読出し
処理の裏作業として消去処理を実行するとこができる。
【0068】次に図14を用いて図13のS107の消
去検証処理の手順を説明する。S111において実行さ
れていた消去処理の終了を待つ。消去処理終了後、S1
12で処理が正常に終了したかどうかを調べ、正常終
了、つまり実ブロックが完全に消去された場合はS11
3において第2のテーブルの消去した実ブロック情報を
「空きブロック」(消去済)に設定する。次に異常終
了、つまり実ブロックが完全に消去されなかった場合は
S114において第2のテーブルの実ブロック情報を
「欠陥ブロック」にし、以後この実ブロックへのアクセ
スを禁止する。
去検証処理の手順を説明する。S111において実行さ
れていた消去処理の終了を待つ。消去処理終了後、S1
12で処理が正常に終了したかどうかを調べ、正常終
了、つまり実ブロックが完全に消去された場合はS11
3において第2のテーブルの消去した実ブロック情報を
「空きブロック」(消去済)に設定する。次に異常終
了、つまり実ブロックが完全に消去されなかった場合は
S114において第2のテーブルの実ブロック情報を
「欠陥ブロック」にし、以後この実ブロックへのアクセ
スを禁止する。
【0069】次に半導体ディスクへのデータの書込み時
における消去処理手順を図15とともに説明する。まず
S131において、上位計算機がアクセスする論理ブロ
ックアドレスが以前にアクセスされたかどうか、つまり
始めて書込み処理を行う論理ブロックアドレスかもしく
は2回目以上の書込み処理かどうかを、ワークメモリの
第1のテーブルでチェックする。具体的には、第1のテ
ーブル内に実ブロックアドレス値が存在するかどうかを
チェックする。実ブロックアドレス値が存在すれば、前
回アクセスされた実ブロックアドレス内のデータは無効
となり、実ブロック消去可能となるため、S132にお
いて第2のテーブルの実ブロック情報を「無効ブロッ
ク」とする。
における消去処理手順を図15とともに説明する。まず
S131において、上位計算機がアクセスする論理ブロ
ックアドレスが以前にアクセスされたかどうか、つまり
始めて書込み処理を行う論理ブロックアドレスかもしく
は2回目以上の書込み処理かどうかを、ワークメモリの
第1のテーブルでチェックする。具体的には、第1のテ
ーブル内に実ブロックアドレス値が存在するかどうかを
チェックする。実ブロックアドレス値が存在すれば、前
回アクセスされた実ブロックアドレス内のデータは無効
となり、実ブロック消去可能となるため、S132にお
いて第2のテーブルの実ブロック情報を「無効ブロッ
ク」とする。
【0070】ついでS133において、上位計算機から
送られてくるデータをまずバッファメモリに転送する。
次にS134で消去を要求している実ブロックの調査を
行い、S135でアクセスしないチップの中で消去すべ
き実ブロックが存在するかどうかをチェックする。消去
すべき実ブロックが存在する場合、S136で消去処理
を行う。存在しない場合、消去処理は必要でない。
送られてくるデータをまずバッファメモリに転送する。
次にS134で消去を要求している実ブロックの調査を
行い、S135でアクセスしないチップの中で消去すべ
き実ブロックが存在するかどうかをチェックする。消去
すべき実ブロックが存在する場合、S136で消去処理
を行う。存在しない場合、消去処理は必要でない。
【0071】ついでS137において、ポインタレジス
タが示す実ブロックアドレスへバッファメモリのデータ
を転送する。そしてS138で実ブロックの書込が正常
に終了したかどうかをチェックする。ここで書込みエラ
ーが発生した場合にはS139でエラー処理を行い、書
込みをリトライする。尚、このエラー処理の内容は、図
10におけるS74,S75に対応するものである。
タが示す実ブロックアドレスへバッファメモリのデータ
を転送する。そしてS138で実ブロックの書込が正常
に終了したかどうかをチェックする。ここで書込みエラ
ーが発生した場合にはS139でエラー処理を行い、書
込みをリトライする。尚、このエラー処理の内容は、図
10におけるS74,S75に対応するものである。
【0072】書込が正常に終了した場合は、S140に
おいて書込んだ実ブロックの情報を第2のテーブルにお
いて「有効ブロック」とする。つぎにS141でポイン
タレジスタ内の値をインクリメントし、S142で次の
実ブロックの情報が「空きブロック」であるかどうか第
2のテーブルでチェックする。
おいて書込んだ実ブロックの情報を第2のテーブルにお
いて「有効ブロック」とする。つぎにS141でポイン
タレジスタ内の値をインクリメントし、S142で次の
実ブロックの情報が「空きブロック」であるかどうか第
2のテーブルでチェックする。
【0073】次の実ブロックの情報が「空きブロック」
であれば、S143でポインタレジスタの値をその位置
に更新する。「空きブロック」でなれればそのブロック
にはアクセスできないため、S141のポインタインク
リメントへ戻り、消去済みの実ブロックが見つかるまで
ポインタレジスタの更新は行わない。次にS144にお
いて書込み処理毎の消去処理の実行/未実行の判定を行
い、実行していたならばS145で消去処理の検証をお
こなった後、書込み処理を終了する。未実行の場合は、
そのまま書込み処理を終了する。
であれば、S143でポインタレジスタの値をその位置
に更新する。「空きブロック」でなれればそのブロック
にはアクセスできないため、S141のポインタインク
リメントへ戻り、消去済みの実ブロックが見つかるまで
ポインタレジスタの更新は行わない。次にS144にお
いて書込み処理毎の消去処理の実行/未実行の判定を行
い、実行していたならばS145で消去処理の検証をお
こなった後、書込み処理を終了する。未実行の場合は、
そのまま書込み処理を終了する。
【0074】次にデータ消去方法のもう1つ別の方法に
ついて図16及び図17を用いて説明する。
ついて図16及び図17を用いて説明する。
【0075】図16に示された例では、アクセスブロッ
クは消去ブロック1内に無効アクセスブロック1〜6、
有効アクセスブロック1〜2が存在するものとする。ま
た消去ブロック2内は全て空きアクセスブロック1〜8
となっている。
クは消去ブロック1内に無効アクセスブロック1〜6、
有効アクセスブロック1〜2が存在するものとする。ま
た消去ブロック2内は全て空きアクセスブロック1〜8
となっている。
【0076】ここで空きアクセスブロックとは、そのブ
ロックは消去処理を行った直後の状態にあり、ブロック
内にデータは存在せず、書込みを行うことが可能なブロ
ックであることを示している。有効アクセスブロックと
は、空きアクセスブロックに一度書込を行った状態で、
そのブロック内のデータは読出し可能であることを示し
ている。そして無効アクセスブロックとは、そのブロッ
ク内にデータは存在するが、その論理アドレスに対する
再書込みが実行され実際のデータは他のブロックに書込
まれているため、そのブロックは消去可能であることを
示している。
ロックは消去処理を行った直後の状態にあり、ブロック
内にデータは存在せず、書込みを行うことが可能なブロ
ックであることを示している。有効アクセスブロックと
は、空きアクセスブロックに一度書込を行った状態で、
そのブロック内のデータは読出し可能であることを示し
ている。そして無効アクセスブロックとは、そのブロッ
ク内にデータは存在するが、その論理アドレスに対する
再書込みが実行され実際のデータは他のブロックに書込
まれているため、そのブロックは消去可能であることを
示している。
【0077】このような状態にあるフラッシュメモリを
消去するための前処理手順を図17を用いて説明する。
この消去準備処理は、上位計算機からのアクセスが行わ
れないコマンド待ちの間に行うか、または消去処理と連
動して実行される。まずS161で消去ブロック内のア
クセスブロック(1〜8)に1対1に対応し、実アドレ
スに対する有効/無効などの情報を管理する第2のテー
ブルをサーチする。
消去するための前処理手順を図17を用いて説明する。
この消去準備処理は、上位計算機からのアクセスが行わ
れないコマンド待ちの間に行うか、または消去処理と連
動して実行される。まずS161で消去ブロック内のア
クセスブロック(1〜8)に1対1に対応し、実アドレ
スに対する有効/無効などの情報を管理する第2のテー
ブルをサーチする。
【0078】次にS162において、消去ブロック1内
のアクセスブロックの総数8のうち、無効アクセスブロ
ックが幾つあるかカウントする。その無効アクセスブロ
ックの数が消去ブロック総数のx%を超えた場合は、次
のS163でブロックの移動処理を行う。
のアクセスブロックの総数8のうち、無効アクセスブロ
ックが幾つあるかカウントする。その無効アクセスブロ
ックの数が消去ブロック総数のx%を超えた場合は、次
のS163でブロックの移動処理を行う。
【0079】超えなかった場合は、ブロックの移動処理
を行わずS166に進む。ブロックの移動処理判定のた
めの割合xは、任意に設定できる。例えばxの値を70
に設定した場合、本例では、消去ブロック1中の総ブロ
ック数8のうちの70%、つまり無効アクセスブロック
が6以上の場合、ブロックの移し変えを行うことにな
る。本例では無効アクセスブロックは6であり該当する
ためブロックの移し変えが実行される。80%に設定し
た場合は、移し変えは7以上となり、本例では当てはま
らない。つまりxの値を可変にすることにより、ブロッ
クの移動処理判定の基準を変えることができる。
を行わずS166に進む。ブロックの移動処理判定のた
めの割合xは、任意に設定できる。例えばxの値を70
に設定した場合、本例では、消去ブロック1中の総ブロ
ック数8のうちの70%、つまり無効アクセスブロック
が6以上の場合、ブロックの移し変えを行うことにな
る。本例では無効アクセスブロックは6であり該当する
ためブロックの移し変えが実行される。80%に設定し
た場合は、移し変えは7以上となり、本例では当てはま
らない。つまりxの値を可変にすることにより、ブロッ
クの移動処理判定の基準を変えることができる。
【0080】S162で無効アクセスブロックがx%を
超えた場合、S163において、消去ブロック1内にあ
る有効アクセスブロックを別の消去ブロック単位である
消去ブロック2に移し変える。移し変える先のアクセス
ブロックは空きアクセスブロックでなければならない。
ポインタレジスタは、データの書き込み先である実ブロ
ックアドレスを示しており、そのポインタは空きアクセ
スブロックを指しているのでそのポインタの指すブロッ
クへ消去ブロック1内にある有効アクセスブロックを移
し変えればよい。
超えた場合、S163において、消去ブロック1内にあ
る有効アクセスブロックを別の消去ブロック単位である
消去ブロック2に移し変える。移し変える先のアクセス
ブロックは空きアクセスブロックでなければならない。
ポインタレジスタは、データの書き込み先である実ブロ
ックアドレスを示しており、そのポインタは空きアクセ
スブロックを指しているのでそのポインタの指すブロッ
クへ消去ブロック1内にある有効アクセスブロックを移
し変えればよい。
【0081】有効アクセスブロック1,2を消去ブロッ
ク2の空きアクセスブロック1,2に移し変えた後、S
164にて消去ブロック2の空きアクセスブロック1,
2の実ブロックアドレスを第1のテーブルに登録する。
ク2の空きアクセスブロック1,2に移し変えた後、S
164にて消去ブロック2の空きアクセスブロック1,
2の実ブロックアドレスを第1のテーブルに登録する。
【0082】次にS165において消去ブロック1内の
有効アクセスブロックがあった所のデータは意味を持た
ないものとなるので、そのブロックに対応する第2のテ
ーブルの情報を「有効ブロック」から「無効ブロック」
に変える。また、移し変えた先の消去ブロック2内のア
クセスブロック1,2に対応する第2のテーブルの情報
を「空きブロック」から「有効ブロック」に変える。こ
の処理の結果、消去ブロック1内の全てのアクセスブロ
ックはデータ自体は存在するが読み出し/書き込みの状
態は無効となり、消去ブロック1は一括消去を実行する
ことが可能となる。
有効アクセスブロックがあった所のデータは意味を持た
ないものとなるので、そのブロックに対応する第2のテ
ーブルの情報を「有効ブロック」から「無効ブロック」
に変える。また、移し変えた先の消去ブロック2内のア
クセスブロック1,2に対応する第2のテーブルの情報
を「空きブロック」から「有効ブロック」に変える。こ
の処理の結果、消去ブロック1内の全てのアクセスブロ
ックはデータ自体は存在するが読み出し/書き込みの状
態は無効となり、消去ブロック1は一括消去を実行する
ことが可能となる。
【0083】消去ブロック1について処理を終了した
後、S166において、全ての消去ブロックに対して処
理を行ったかどうか判断する。まだ処理していない消去
ブロックが存在する場合はS167において次の消去ブ
ロックを選択し、再度S161でサーチを行う。全ての
消去ブロックについて処理を行い、消去準備処理を終了
する。
後、S166において、全ての消去ブロックに対して処
理を行ったかどうか判断する。まだ処理していない消去
ブロックが存在する場合はS167において次の消去ブ
ロックを選択し、再度S161でサーチを行う。全ての
消去ブロックについて処理を行い、消去準備処理を終了
する。
【0084】この後、消去処理動作において、消去ブロ
ック単位内のアクセスブロックが全て「無効ブロック」
である消去ブロックを一括消去すればよい。
ック単位内のアクセスブロックが全て「無効ブロック」
である消去ブロックを一括消去すればよい。
【0085】本実施例では、消去ブロックを単位として
無効アクセスブロック(消去可能ブロック)の数が消去
ブロック総数のx%(しきい値)を超えた場合にブロッ
クの移動処理を行う場合について説明したが、データ記
憶部5の全アクセスブロックを単位として、全アクセス
ブロック総和に対する無効アクセスブロックのx%(し
きい値)を超えた場合にブロックの移動処理を行う場合
もある。
無効アクセスブロック(消去可能ブロック)の数が消去
ブロック総数のx%(しきい値)を超えた場合にブロッ
クの移動処理を行う場合について説明したが、データ記
憶部5の全アクセスブロックを単位として、全アクセス
ブロック総和に対する無効アクセスブロックのx%(し
きい値)を超えた場合にブロックの移動処理を行う場合
もある。
【0086】本発明における第3実施例の半導体ディス
クの構成を図18に示す。
クの構成を図18に示す。
【0087】本実施例は、特定のシステムにおいてはフ
ァイルの読み出し/書き込みごとに必ずアクセスされる
論理ブロックアドレス(例えば、DOSのFATやディ
レクトリ領域)が存在し、これらは当然その書き換え回
数も多いことを鑑み、この領域をフラッシュメモリに比
べてアクセスが高速で、書き換え回数による寿命が遙に
長いFRAM51で構成するようにしたものである。こ
れにより、データアクセスを高速化でき、同時にフラッ
シュメモリの書き換え回数の制限による半導体ディスク
の寿命を長くすることができる。
ァイルの読み出し/書き込みごとに必ずアクセスされる
論理ブロックアドレス(例えば、DOSのFATやディ
レクトリ領域)が存在し、これらは当然その書き換え回
数も多いことを鑑み、この領域をフラッシュメモリに比
べてアクセスが高速で、書き換え回数による寿命が遙に
長いFRAM51で構成するようにしたものである。こ
れにより、データアクセスを高速化でき、同時にフラッ
シュメモリの書き換え回数の制限による半導体ディスク
の寿命を長くすることができる。
【0088】データ記憶部5内はFRAM51とフラッ
シュメモリ52から構成される。ワークメモリ4内の第
3のテーブル43は上位計算機がアクセスする論理アド
レスブロックの書き換え回数を格納するものである。
シュメモリ52から構成される。ワークメモリ4内の第
3のテーブル43は上位計算機がアクセスする論理アド
レスブロックの書き換え回数を格納するものである。
【0089】図19に第2のテーブル42の構成例を示
す。データ記憶部5の実ブロックアドレス空間内のy%
をFRAM領域とし、第2のテーブル内の情報は実ブロ
ックアドレス内のデータの有/無を表す。
す。データ記憶部5の実ブロックアドレス空間内のy%
をFRAM領域とし、第2のテーブル内の情報は実ブロ
ックアドレス内のデータの有/無を表す。
【0090】次に、図20に第3のテーブル43の構成
を示す。上位計算機がアクセスする論理ブロックアドレ
スに対応し、各々の論理ブロックアドレスの書き換え回
数を格納する。本例では、0001番地はまだアクセス
がなく、0030番地は既に1024回書き込みアクセ
スが実行されていることを表している。
を示す。上位計算機がアクセスする論理ブロックアドレ
スに対応し、各々の論理ブロックアドレスの書き換え回
数を格納する。本例では、0001番地はまだアクセス
がなく、0030番地は既に1024回書き込みアクセ
スが実行されていることを表している。
【0091】次に本実施例での具体的な書き込み処理に
ついて説明する。図21に書き込み時の処理手順を示
す。まず、S171において上位計算機から送られてき
たデータをバッファメモリ7に転送する。次にS172
において上位計算機がアクセスする論理ブロックアドレ
スが第1のテーブル41に存在するかどうかをチェック
する。
ついて説明する。図21に書き込み時の処理手順を示
す。まず、S171において上位計算機から送られてき
たデータをバッファメモリ7に転送する。次にS172
において上位計算機がアクセスする論理ブロックアドレ
スが第1のテーブル41に存在するかどうかをチェック
する。
【0092】存在している場合、データの書き換えとい
う形になるため、前回書かれたデータがFRAM領域5
1とフラッシュメモリ領域52のどちらに存在している
かをS173において調べる。FRAM領域51にデー
タが存在した場合は、S178でFRAM実ブロックア
ドレスへバッファメモリ7のデータを書き込む(消去は
必要ない)。フラッシュメモリ領域52に存在した場合
はポインタレジスタ9が示す実ブロックアドレスへの書
き込み処理を行う。
う形になるため、前回書かれたデータがFRAM領域5
1とフラッシュメモリ領域52のどちらに存在している
かをS173において調べる。FRAM領域51にデー
タが存在した場合は、S178でFRAM実ブロックア
ドレスへバッファメモリ7のデータを書き込む(消去は
必要ない)。フラッシュメモリ領域52に存在した場合
はポインタレジスタ9が示す実ブロックアドレスへの書
き込み処理を行う。
【0093】次に上位計算機がアクセスする論理ブロッ
クアドレスが第1のテーブル41に存在しなかった場合
は、その論理ブロックアドレスへの初回アクセスとなる
ため、まずS174においてFRAM領域52に空きエ
リアがあるかどうかを調べる。具体的には、図19のよ
うな構成の第2のテーブル42においてFRAM領域で
“データ無し”の情報を持つ実ブロックをサーチする。
FRAM領域51が全て使用中の場合はS175におい
てフラッシュメモリへのアクセスとなる。FRAM領域
51の中で空きブロックが存在すればS176におい
て、その実ブロックアドレスへバッファメモリ7のデー
タを書き込む。次にS177においては、その書き込ま
れたFRAMのブロック情報を第2のテーブル42にお
いて“データ有り”とする。
クアドレスが第1のテーブル41に存在しなかった場合
は、その論理ブロックアドレスへの初回アクセスとなる
ため、まずS174においてFRAM領域52に空きエ
リアがあるかどうかを調べる。具体的には、図19のよ
うな構成の第2のテーブル42においてFRAM領域で
“データ無し”の情報を持つ実ブロックをサーチする。
FRAM領域51が全て使用中の場合はS175におい
てフラッシュメモリへのアクセスとなる。FRAM領域
51の中で空きブロックが存在すればS176におい
て、その実ブロックアドレスへバッファメモリ7のデー
タを書き込む。次にS177においては、その書き込ま
れたFRAMのブロック情報を第2のテーブル42にお
いて“データ有り”とする。
【0094】次にS179においては、上記いずれかの
書き込みが終了した後に、図20に示すような第3のテ
ーブル43における上位計算機がアクセスした論理ブロ
ックアドレスに対応する領域の書き換え回数をインクリ
メントする。ここで、書き換え回数が多い論理ブロック
アドレスというのはアクセスする回数が多いということ
である。よって書き換え回数が多い論理ブロックアドレ
スはフラッシュメモリ領域52に置いておくよりもFR
AM領域51に置いておく方がよい。これは、書き換え
回数によるメモリチップの寿命がフラッシュメモリより
もFRAMの方が遙に長く、アクセスが高速であるから
である。
書き込みが終了した後に、図20に示すような第3のテ
ーブル43における上位計算機がアクセスした論理ブロ
ックアドレスに対応する領域の書き換え回数をインクリ
メントする。ここで、書き換え回数が多い論理ブロック
アドレスというのはアクセスする回数が多いということ
である。よって書き換え回数が多い論理ブロックアドレ
スはフラッシュメモリ領域52に置いておくよりもFR
AM領域51に置いておく方がよい。これは、書き換え
回数によるメモリチップの寿命がフラッシュメモリより
もFRAMの方が遙に長く、アクセスが高速であるから
である。
【0095】そこでS180とS181において書き込
み処理ごとにそれぞれフラッシュメモリ領域の中で最も
書き換え回数の多い論理ブロックアドレスとFRAM領
域の中で最も書き換え回数の少ない論理ブロックアドレ
スをサーチし、S182においてFRAM領域の最小書
き換え回数の論理ブロックアドレスよりもフラッシュメ
モリ領域の最大書き換え回数の論理ブロックアドレスの
方が書き換え回数が大きい場合は、S183においてお
互いの実ブロック内のデータを入れ替える。さらに入れ
替えを行った場合、第1のテーブル41の内容を更新し
ておく。入れ替えが必要ない場合は、何もせず書き込み
処理を終了する。
み処理ごとにそれぞれフラッシュメモリ領域の中で最も
書き換え回数の多い論理ブロックアドレスとFRAM領
域の中で最も書き換え回数の少ない論理ブロックアドレ
スをサーチし、S182においてFRAM領域の最小書
き換え回数の論理ブロックアドレスよりもフラッシュメ
モリ領域の最大書き換え回数の論理ブロックアドレスの
方が書き換え回数が大きい場合は、S183においてお
互いの実ブロック内のデータを入れ替える。さらに入れ
替えを行った場合、第1のテーブル41の内容を更新し
ておく。入れ替えが必要ない場合は、何もせず書き込み
処理を終了する。
【0096】このような処理を実行することにより、常
にFRAM領域に書き換え回数の多い論理ブロックアド
レスが格納され、これにより半導体ディスクの装置寿命
を延ばすことが可能になるとともに、アクセスの平均速
度を高速にすることができる。
にFRAM領域に書き換え回数の多い論理ブロックアド
レスが格納され、これにより半導体ディスクの装置寿命
を延ばすことが可能になるとともに、アクセスの平均速
度を高速にすることができる。
【0097】また、上記の実施例では、第3のテーブル
にて書き換え回数の管理を行った例であるが、ほとんど
のシステムにおいてディスクの管理エリア(DOSのF
AT領域等)に対応する領域への書き換え頻度が多いこ
とから、第3のテーブルを用いずにディスクの管理エリ
アに対応する領域がFRAM領域にマッピングされるよ
うにメモリを構成することで上記の実施例と同様の効果
を得ることが可能となる。
にて書き換え回数の管理を行った例であるが、ほとんど
のシステムにおいてディスクの管理エリア(DOSのF
AT領域等)に対応する領域への書き換え頻度が多いこ
とから、第3のテーブルを用いずにディスクの管理エリ
アに対応する領域がFRAM領域にマッピングされるよ
うにメモリを構成することで上記の実施例と同様の効果
を得ることが可能となる。
【0098】
【発明の効果】本発明は前述のように、第1のテーブル
と第2のテーブルとを設けることにより、消去された所
を検索して直ちにデータを書き込むことができ、そのた
め従来提案されたものよりも迅速にデータの書き込みが
可能で効率の向上を図かることができ、さらに、ポイン
タレジスタを設け、あらかじめデータ書込み先の実ブロ
ックアドレスを設定しておくことにより、より迅速にデ
ータを書込むことも可能となる。
と第2のテーブルとを設けることにより、消去された所
を検索して直ちにデータを書き込むことができ、そのた
め従来提案されたものよりも迅速にデータの書き込みが
可能で効率の向上を図かることができ、さらに、ポイン
タレジスタを設け、あらかじめデータ書込み先の実ブロ
ックアドレスを設定しておくことにより、より迅速にデ
ータを書込むことも可能となる。
【0099】また、データ記憶部を書き込み可能回数の
異なる2つの不揮発性メモリで構成し、書き込み頻度の
多いセクタを書き込み可能回数が大である不揮発性メモ
リへ格納するといった構成により、フラッシュメモリ等
の書き換え回数の制限のあるメモリ素子を用いても大容
量で、しかも装置寿命の長いファイル装置を実現可能と
なるといった利点を有している。
異なる2つの不揮発性メモリで構成し、書き込み頻度の
多いセクタを書き込み可能回数が大である不揮発性メモ
リへ格納するといった構成により、フラッシュメモリ等
の書き換え回数の制限のあるメモリ素子を用いても大容
量で、しかも装置寿命の長いファイル装置を実現可能と
なるといった利点を有している。
【0100】また、ポインタレジスタに設定されるデー
タ書込み先の実ブロックアドレスを任意に設定可能な構
成にすることにより、特定の実ブロックアドレスに対す
る書込みの集中を避けることができ装置寿命を延ばすこ
とが可能となるといった利点を有している。
タ書込み先の実ブロックアドレスを任意に設定可能な構
成にすることにより、特定の実ブロックアドレスに対す
る書込みの集中を避けることができ装置寿命を延ばすこ
とが可能となるといった利点を有している。
【図1】本発明の第1実施例に係る半導体ディスクの構
成を示すブロック図である。
成を示すブロック図である。
【図2】第1テーブルの構成図である。
【図3】第2テーブルの構成図である。
【図4】データ読み出し処理を示すフローチャートであ
る。
る。
【図5】データ書き込み処理を示すフローチャートであ
る。
る。
【図6】データ消去処理を示すフローチャートである。
【図7】データ消去処理を示すフローチャートである。
【図8】データ消去処理を示すフローチャートである。
【図9】本発明の第2実施例に係る半導体ディスクの構
成を示すブロック図である。
成を示すブロック図である。
【図10】データ書き込み処理を示すフローチャートで
ある。
ある。
【図11】ポインタレジスタの更新処理を示すフローチ
ャートである。
ャートである。
【図12】データ読み出し処理を示すフローチャートで
ある。
ある。
【図13】データ読み出し処理を示すフローチャートで
ある。
ある。
【図14】データ消去の検証処理を示すフローチャート
である。
である。
【図15】データ書き込み処理を示すフローチャートで
ある。
ある。
【図16】フラッシュメモリのブロック構成を示す図で
ある。
ある。
【図17】消去準備処理を示すフローチャートである。
【図18】本発明の第3実施例に係る半導体ディスクの
構成を示すブロック図である。
構成を示すブロック図である。
【図19】第2のテーブルの構成図である。
【図20】第3のテーブルの構成図である。
【図21】データ書き込み処理を示すフローチャートで
ある。
ある。
1 半導体ディスク 2 マイコン 3 I/Fコントローラ 4 ワークメモリ 5 データ記憶部 6 メモリコントローラ 7 バッファメモリ 8 レジスタ操作部 9 ポインタレジスタ 41 第1のテーブル 42 第2のテーブル 43 第3のテーブル 51 FRAM 52 フラッシュメモリ 101,111 アドレスバス 102,112 データバス 103,113 制御信号バス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 虫明 弘行 大阪府茨木市丑寅一丁目1番88号 日立マ クセル株式会社内 (72)発明者 長野 昌幸 大阪府茨木市丑寅一丁目1番88号 日立マ クセル株式会社内
Claims (18)
- 【請求項1】 電気的に書き込みが可能な不揮発性メモ
リからなるデータ記憶部と、 前記データ記憶部に対する制御を行う制御手段と、 接続される上位計算機とデータの入出力を行う入出力手
段とで構成され、一定のブロック単位で上位計算機から
論理ブロックアドレス指定でデータアクセスが実行され
る半導体メモリ装置において、 前記上位計算機からアクセス時に指定される論理ブロッ
クアドレスを前記データ記憶部の実メモリ空間上の実ブ
ロックアドレスに変換する第1のテーブルと、 前記実ブロックアドレスに対応してその実ブロックアド
レス内のデータの状態を管理する第2のテーブルとを備
えることを特徴とする半導体メモリ装置。 - 【請求項2】 請求項1記載において、前記データ記憶
部へのデータ書込み時における書込み可能な実ブロック
アドレスを格納しているポインタレジスタと、 前記ポインタレジスタに対しデータ書込み時における書
込み先実ブロックアドレスを設定するレジスタ操作部と
を備えていることを特徴とする半導体メモリ装置。 - 【請求項3】 請求項1記載において、前記論理ブロッ
クへの書き込み回数を格納する第3のテーブルを備えた
ことを特徴とする半導体メモリ装置。 - 【請求項4】 請求項1記載において、論理ブロックア
ドレスが示すアドレス空間より実ブロックアドレスが示
すアドレス空間のほうが大きいことを特徴とする半導体
メモリ装置。 - 【請求項5】 請求項1記載において、第2のテーブル
の内容が対応する実ブロックの状態である、空きブロッ
ク,データ格納済みブロック,消去可能ブロックの少な
くとも3つの状態を表すコードを格納していることを特
徴とする半導体メモリ装置。 - 【請求項6】 請求項1記載において、前記データ記憶
部が少なくとも1つのアクセスブロックを含む消去ブロ
ック単位で消去ができる不揮発性メモリで構成されてい
ることを特徴とする半導体メモリ装置。 - 【請求項7】 請求項6記載において、前記データ記憶
部を構成する不揮発性メモリがフラッシュ型EEPRO
Mであることを特徴とする半導体メモリ装置。 - 【請求項8】 請求項3記載において、前記第1のテー
ブル、第2のテーブルならびに第3のテーブルの少なく
ともいずれか1つのテーブルが、データ記憶部の不揮発
性メモリより書き換え可能回数が大で、バイト単位で書
き込み、又は消去可能な不揮発性メモリに格納されてい
ることを特徴とする半導体メモリ装置。 - 【請求項9】 請求項8記載において、前記テーブルを
格納する不揮発性メモリがFRAMであることを特徴と
する半導体メモリ装置。 - 【請求項10】 請求項1記載において、前記データ記
憶部が少なくとも1つのアクセスブロックを含む消去ブ
ロック単位で消去ができる第1の不揮発性メモリと、書
き換え可能回数が前記第1の不揮発性メモリより大で、
アクセスブロックもしくはアクセスブロック以下のバイ
ト単位で書き込み、又は消去可能な第2の不揮発性メモ
リで構成され、 オペレーティングシステムの管理するデータ領域を第1
の不揮発性メモリに格納し、FAT,ディレクトリ等の
ファイル管理領域を第2の不揮発性メモリに格納するこ
とを特徴とする半導体メモリ装置。 - 【請求項11】 請求項3記載において、前記データ記
憶部が少なくとも1つのアクセスブロックを含む消去ブ
ロック単位で消去ができる第1の不揮発性メモリと、書
き換え可能回数が前記第1の不揮発性メモリより大で、
アクセスブロックもしくはアクセスブロック以下のバイ
ト単位で書き込み、又は消去可能な第2の不揮発性メモ
リで構成され、 前記第3のテーブルに格納される論理ブロックアドレス
への書き込み回数の多いブロックから前記第2の不揮発
性メモリに格納し、前記第2の不揮発性メモリに格納で
きない残りのブロックを第1不揮発性メモリに格納する
ことを特徴とする半導体メモリ装置。 - 【請求項12】 請求項10または請求項11記載にお
いて、前記第1の不揮発性メモリがフラッシュ型EEP
ROMで、第2の不揮発性メモリがFRAMであること
を特徴とする半導体メモリ装置。 - 【請求項13】 電気的に書き込みが可能で、かつ所定
の単位で電気的に消去が可能な不揮発性メモリからなる
データ記憶部と、 前記データ記憶部に対する制御を行う制御手段と、 接続される上位計算機とデータの入出力を行う入出力手
段と前記上位計算機からアクセス時に指定される論理ブ
ロックアドレスを前記データ記憶部の実メモリ空間上の
実ブロックアドレスに変換する第1のテーブルと、 前記実ブロックアドレスに対応して、その実ブロックア
ドレス内のデータの状態を管理する第2のテーブルとか
ら構成され、一定のブロック単位で上位計算機から論理
ブロックアドレス指定でデータアクセスを実行する半導
体メモリ装置の制御方法において、 前記上位計算機によるデータ読み出し処理時には、前記
第1のテーブルにより論理ブロックアドレスを実ブロッ
クアドレスに変換するステップと、変換した実ブロック
から読み出したデータを上位計算機に転送するステップ
を有し、 前記上位計算機からのデータ書き込み処理時には、前記
第2のテーブルよりデータの書き込み可能な空きブロッ
クを検索するステップと、その空きブロックへデータを
書き込むステップと、データを書き込んだブロックの実
ブロックアドレスを第1のテーブルに書き込むことによ
り実ブロックアドレスと論理ブロックアドレスの対応ず
けを行うステップと、上記一連のデータ書き込み処理と
は独立してデータを消去するステップを有していること
を特徴とする半導体メモリ装置の制御方法。 - 【請求項14】 電気的に書き込みが可能で、かつ所定
の単位で電気的に消去が可能な不揮発性メモリからなる
データ記憶部と、 前記データ記憶部に対する制御を行う制御手段と、 接続される上位計算機とデータの入出力を行う入出力手
段と前記上位計算機からアクセス時に指定される論理ブ
ロックアドレスを前記データ記憶部の実メモリ空間上の
実ブロックアドレスに変換する第1のテーブルと、 前記実ブロックアドレスに対応して、その実ブロックア
ドレス内のデータの状態を管理する第2のテーブルと前
記データ記憶部上の書き込み可能な実ブロックアドレス
を格納しているポインタレジスタとを備える半導体メモ
リ装置の制御方法において、 前記上位計算機からのデータ書き込み処理時に、前記デ
ータ記憶部の特定の実ブロックアドレスに書き込みが集
中しないように前記ポインタレジスタに対して設定する
実ブロックアドレスをデータ書き込み毎に順次変えてい
くステップを有することを特徴とする半導体メモリ装置
の制御方法。 - 【請求項15】 電気的に書き込みが可能で、かつ所定
の単位で電気的に消去が可能な不揮発性メモリでデータ
記憶部が構成され、一定のブロック単位で上位計算機か
ら論理ブロックアドレス指定でデータアクセスがされる
半導体メモリ装置の制御方法において、 前記データ記憶部が複数のメモリで構成され、前記上位
計算機からのデータアクセスに対して所望のデータが格
納されているメモリについてのデータアクセス処理と、
それとは別のメモリに対する消去対象ブロックの消去処
理とが同時に行えることを特徴とする半導体メモリ装置
の制御方法。 - 【請求項16】 電気的に書き込みが可能で、かつ所定
の単位で電気的に消去が可能な不揮発性メモリでデータ
記憶部が構成され、一定のブロック単位で上位計算機か
ら論理ブロックアドレス指定でデータアクセスがされる
半導体メモリ装置の制御方法において、 前記データ記憶部の消去ブロック単位が読み出しおよび
書き込みが可能なアクセスブロック単位よりも大きく、
その消去ブロックサイズ内に複数の前記アクセスブロッ
クが存在し、 無効なアクセスブロックの数が消去ブロックサイズ内の
予め定められたしきい値以上になった場合に、その消去
ブロック内に存在する有効なアクセスブロックを他のブ
ロックへ移動させた後、前記消去ブロックの消去処理を
行うことを特徴とする半導体メモリ装置の制御方法。 - 【請求項17】 請求項16記載において、前記しきい
値が前記データ記憶部における空きブロックの総数に応
じて変更可能であることを特徴とする半導体メモリ装置
の制御方法。 - 【請求項18】 電気的に書き込みが可能で、かつ少な
くとも1つのアクセスブロックを含む消去ブロック単位
で消去ができる第1の不揮発性メモリと、書き換え可能
回数が前記第1の不揮発性メモリより大で、アクセスブ
ロックもしくはアクセスブロック以下のバイト単位で書
き込み、又は消去可能な第2の不揮発性メモリとからな
るデータ記憶部と、 前記データ記憶部に対する制御を行う制御手段と、 接続される上位計算機とデータの入出力を行う入出力手
段と、 前記上位計算機からアクセス時に指定される論理ブロッ
クアドレスを前記データ記憶部の実メモリ空間上の実ブ
ロックアドレスに変換する第1のテーブルと、 前記実ブロックアドレスに対応して、その実ブロックア
ドレス内のデータの状態を管理する第2のテーブルと、 前記論理アドレス単位の書き込み回数を格納する第3の
テーブルとで構成される半導体メモリ装置の制御方法に
おいて、 前記第3のテーブルに格納される論理ブロックアドレス
に対する書き換え回数の多いブロックから前記第2の不
揮発性メモリに格納し、前記第2の不揮発性メモリに格
納できない残りブロックを第1の不揮発性メモリに格納
するステップを有することを特徴とする半導体メモリ装
置の制御方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP26180694A JPH07219720A (ja) | 1993-10-01 | 1994-09-30 | 半導体メモリ装置ならびにその制御方法 |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5-247021 | 1993-10-01 | ||
| JP24702193 | 1993-10-01 | ||
| JP26180694A JPH07219720A (ja) | 1993-10-01 | 1994-09-30 | 半導体メモリ装置ならびにその制御方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07219720A true JPH07219720A (ja) | 1995-08-18 |
Family
ID=26538022
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP26180694A Pending JPH07219720A (ja) | 1993-10-01 | 1994-09-30 | 半導体メモリ装置ならびにその制御方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH07219720A (ja) |
Cited By (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07281842A (ja) * | 1994-04-11 | 1995-10-27 | Hitachi Ltd | 半導体記憶装置 |
| JPH0997218A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
| JPH10320296A (ja) * | 1997-05-16 | 1998-12-04 | Nec Corp | 記憶装置 |
| JP2000020252A (ja) * | 1998-06-29 | 2000-01-21 | Hitachi Ltd | 不揮発性半導体メモリを用いた記憶装置 |
| US6189081B1 (en) | 1996-05-24 | 2001-02-13 | Nec Corporation | Non-volatile semiconductor storage with memory requirement and availability comparison means and method |
| JP2003044351A (ja) * | 2001-07-27 | 2003-02-14 | Matsushita Electric Ind Co Ltd | フラッシュメモリ装置、及び、それに記憶されたデータのマージ方法 |
| WO2003067605A1 (en) * | 2002-02-08 | 2003-08-14 | Matsushita Electric Industrial Co., Ltd. | Non-volatile storage device and control method thereof |
| US6611907B1 (en) | 1999-10-21 | 2003-08-26 | Matsushita Electric Industrial Co., Ltd. | Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card |
| JP2006302255A (ja) * | 2005-04-15 | 2006-11-02 | Samsung Electronics Co Ltd | 異種の非揮発性メモリを持つデータ記憶装置とその駆動方法 |
| JP2006301993A (ja) * | 2005-04-21 | 2006-11-02 | Matsushita Electric Ind Co Ltd | メモリコントローラ、不揮発性記憶装置及び不揮発性記憶システム |
| JP2008033911A (ja) * | 2006-07-27 | 2008-02-14 | Hitachi Ltd | 記憶ボリューム間でデータを移行する方法および装置 |
| JP2008097107A (ja) * | 2006-10-06 | 2008-04-24 | Seiko Epson Corp | データ記録装置及びその制御方法 |
| JP2008108257A (ja) * | 2006-10-23 | 2008-05-08 | Hewlett-Packard Development Co Lp | 不揮発性記憶装置 |
| JP2008217527A (ja) * | 2007-03-06 | 2008-09-18 | Hitachi Ltd | ストレージシステム及びデータ管理方法 |
| US7516344B2 (en) | 2005-01-28 | 2009-04-07 | Panasonic Corporation | Memory system |
| JP2009176155A (ja) * | 2008-01-25 | 2009-08-06 | Kyocera Corp | 携帯通信端末 |
| JP2010198219A (ja) * | 2009-02-24 | 2010-09-09 | Toshiba Corp | メモリコントローラおよび半導体記憶装置 |
| JP2010218290A (ja) * | 2009-03-17 | 2010-09-30 | Toshiba Corp | コントローラ、及びメモリシステム |
| JP2011053863A (ja) * | 2009-09-01 | 2011-03-17 | Nec Corp | ストレージ装置、ストレージシステム、及び消去処理方法 |
| US7958288B2 (en) | 2003-09-29 | 2011-06-07 | Kabushiki Kaisha Toshiba | Semiconductor storage device and method of controlling the same |
| KR101128255B1 (ko) * | 2006-03-21 | 2012-03-23 | 엘지전자 주식회사 | 컴퓨터 시스템의 스토리지 제어장치 |
| US8327068B2 (en) | 2005-03-03 | 2012-12-04 | Panasonic Corporation | Memory module, memory controller, nonvolatile storage, nonvolatile storage system, and memory read/write method |
| JP2012243098A (ja) * | 2011-05-19 | 2012-12-10 | Sharp Corp | 記憶装置 |
| JP2013196164A (ja) * | 2012-03-16 | 2013-09-30 | Toshiba Corp | 不揮発性記憶装置、情報処理装置の制御方法、及び情報処理装置 |
| JP2013235358A (ja) * | 2012-05-08 | 2013-11-21 | Hitachi Ulsi Systems Co Ltd | 記憶装置 |
| JP2013235531A (ja) * | 2012-05-11 | 2013-11-21 | Sony Corp | 制御装置、記憶装置、記憶制御方法 |
| US11573912B2 (en) | 2019-11-07 | 2023-02-07 | Nec Corporation | Memory device management system, memory device management method, and non-transitory computer-readable recording medium erasing data stored in memory device if a value of a first key and second key are different |
Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0349075A (ja) * | 1989-07-18 | 1991-03-01 | Oki Electric Ind Co Ltd | 情報端末装置 |
| JPH04263198A (ja) * | 1991-02-18 | 1992-09-18 | Fujitsu Ltd | メモリ装置 |
| JPH04313882A (ja) * | 1991-04-12 | 1992-11-05 | Fuji Photo Film Co Ltd | メモリカードの記録管理方式 |
| JPH04351795A (ja) * | 1991-05-30 | 1992-12-07 | Toshiba Corp | 半固定データ書換装置 |
| JPH0527924A (ja) * | 1991-07-12 | 1993-02-05 | Internatl Business Mach Corp <Ibm> | 半導体メモリを用いた外部記憶システム及びその制御方法 |
| JPH0581148A (ja) * | 1991-09-20 | 1993-04-02 | Fujitsu Ltd | 不揮発性メモリ装置 |
| JPH05151097A (ja) * | 1991-11-28 | 1993-06-18 | Fujitsu Ltd | 書換回数制限型メモリのデータ管理方式 |
| JPH05158806A (ja) * | 1991-12-06 | 1993-06-25 | Ricoh Co Ltd | フラッシュメモリカード消去システム |
| JPH05198198A (ja) * | 1992-01-20 | 1993-08-06 | Fujitsu Ltd | 半導体記憶装置 |
-
1994
- 1994-09-30 JP JP26180694A patent/JPH07219720A/ja active Pending
Patent Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0349075A (ja) * | 1989-07-18 | 1991-03-01 | Oki Electric Ind Co Ltd | 情報端末装置 |
| JPH04263198A (ja) * | 1991-02-18 | 1992-09-18 | Fujitsu Ltd | メモリ装置 |
| JPH04313882A (ja) * | 1991-04-12 | 1992-11-05 | Fuji Photo Film Co Ltd | メモリカードの記録管理方式 |
| JPH04351795A (ja) * | 1991-05-30 | 1992-12-07 | Toshiba Corp | 半固定データ書換装置 |
| JPH0527924A (ja) * | 1991-07-12 | 1993-02-05 | Internatl Business Mach Corp <Ibm> | 半導体メモリを用いた外部記憶システム及びその制御方法 |
| JPH0581148A (ja) * | 1991-09-20 | 1993-04-02 | Fujitsu Ltd | 不揮発性メモリ装置 |
| JPH05151097A (ja) * | 1991-11-28 | 1993-06-18 | Fujitsu Ltd | 書換回数制限型メモリのデータ管理方式 |
| JPH05158806A (ja) * | 1991-12-06 | 1993-06-25 | Ricoh Co Ltd | フラッシュメモリカード消去システム |
| JPH05198198A (ja) * | 1992-01-20 | 1993-08-06 | Fujitsu Ltd | 半導体記憶装置 |
Cited By (49)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07281842A (ja) * | 1994-04-11 | 1995-10-27 | Hitachi Ltd | 半導体記憶装置 |
| JPH0997218A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
| US6189081B1 (en) | 1996-05-24 | 2001-02-13 | Nec Corporation | Non-volatile semiconductor storage with memory requirement and availability comparison means and method |
| JPH10320296A (ja) * | 1997-05-16 | 1998-12-04 | Nec Corp | 記憶装置 |
| JP2000020252A (ja) * | 1998-06-29 | 2000-01-21 | Hitachi Ltd | 不揮発性半導体メモリを用いた記憶装置 |
| US7143261B2 (en) | 1999-10-21 | 2006-11-28 | Matsushita Electric Industrial Co., Ltd. | Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card |
| US7899982B2 (en) | 1999-10-21 | 2011-03-01 | Panasonic Corporation | Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card |
| US6611907B1 (en) | 1999-10-21 | 2003-08-26 | Matsushita Electric Industrial Co., Ltd. | Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card |
| US6823422B2 (en) | 1999-10-21 | 2004-11-23 | Matsushita Electric Industrial Co., Ltd. | Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card |
| US6829675B2 (en) | 1999-10-21 | 2004-12-07 | Matsushita Electric Industrial Co., Ltd. | Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card |
| US6829676B2 (en) | 1999-10-21 | 2004-12-07 | Matsushita Electric Industrial Co., Ltd. | Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card |
| US6829674B2 (en) | 1999-10-21 | 2004-12-07 | Matsushita Electric Industrial Co., Ltd. | Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card |
| US7734864B2 (en) | 1999-10-21 | 2010-06-08 | Panasonic Corporation | Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card |
| US8990487B2 (en) | 1999-10-21 | 2015-03-24 | Panasonic Corporation | Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card |
| US8176239B2 (en) | 1999-10-21 | 2012-05-08 | Panasonic Corporation | Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card |
| US7398353B2 (en) | 1999-10-21 | 2008-07-08 | Matsushita Electric Industrial Co., Ltd. | Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card |
| US8751734B2 (en) | 1999-10-21 | 2014-06-10 | Panasonic Corporation | Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card |
| US8015349B2 (en) | 1999-10-21 | 2011-09-06 | Panasonic Corporation | Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card |
| US8473671B2 (en) | 1999-10-21 | 2013-06-25 | Panasonic Corporation | Semiconductor memory card access apparatus, a computer-readable medium, an initialization method, and a semiconductor memory card |
| JP2003044351A (ja) * | 2001-07-27 | 2003-02-14 | Matsushita Electric Ind Co Ltd | フラッシュメモリ装置、及び、それに記憶されたデータのマージ方法 |
| WO2003067605A1 (en) * | 2002-02-08 | 2003-08-14 | Matsushita Electric Industrial Co., Ltd. | Non-volatile storage device and control method thereof |
| US6944060B2 (en) | 2002-02-08 | 2005-09-13 | Matsushita Electric Industrial Co., Ltd. | Non-volatile storage device and control method thereof |
| US8904142B2 (en) | 2003-09-23 | 2014-12-02 | Kabushiki Kaisha Toshiba | Semiconductor memory system controlling writing of data to nonvolatile memories using consecutive logical addresses |
| US8397035B2 (en) | 2003-09-29 | 2013-03-12 | Kabushiki Kaisha Toshiba | Semiconductor memory system with first and second nonvolatile memories storing user and management data and a controller controlling read/write of the memories and having simultaneous data transfer in and out of one of the memories |
| US8706978B2 (en) | 2003-09-29 | 2014-04-22 | Kabushiki Kaisha Toshiba | Semiconductor storage device having nonvolatile flash and ram with simultaneous data copy and data receive |
| US7996634B2 (en) | 2003-09-29 | 2011-08-09 | Kabushiki Kaisha Toshiba | Memory system with controller for managing management data and reverse flag for reversing write data |
| US8001337B2 (en) | 2003-09-29 | 2011-08-16 | Kabushiki Kaisha Toshiba | Memory system with controller for managing management data and reverse flag for reversing write data |
| US7958288B2 (en) | 2003-09-29 | 2011-06-07 | Kabushiki Kaisha Toshiba | Semiconductor storage device and method of controlling the same |
| US7958287B2 (en) | 2003-09-29 | 2011-06-07 | Kabushiki Kaisha Toshiba | Semiconductor storage device and method of controlling the same |
| US7516344B2 (en) | 2005-01-28 | 2009-04-07 | Panasonic Corporation | Memory system |
| US8327068B2 (en) | 2005-03-03 | 2012-12-04 | Panasonic Corporation | Memory module, memory controller, nonvolatile storage, nonvolatile storage system, and memory read/write method |
| JP2006302255A (ja) * | 2005-04-15 | 2006-11-02 | Samsung Electronics Co Ltd | 異種の非揮発性メモリを持つデータ記憶装置とその駆動方法 |
| JP2006301993A (ja) * | 2005-04-21 | 2006-11-02 | Matsushita Electric Ind Co Ltd | メモリコントローラ、不揮発性記憶装置及び不揮発性記憶システム |
| KR101128255B1 (ko) * | 2006-03-21 | 2012-03-23 | 엘지전자 주식회사 | 컴퓨터 시스템의 스토리지 제어장치 |
| JP2008033911A (ja) * | 2006-07-27 | 2008-02-14 | Hitachi Ltd | 記憶ボリューム間でデータを移行する方法および装置 |
| JP2008097107A (ja) * | 2006-10-06 | 2008-04-24 | Seiko Epson Corp | データ記録装置及びその制御方法 |
| JP2008108257A (ja) * | 2006-10-23 | 2008-05-08 | Hewlett-Packard Development Co Lp | 不揮発性記憶装置 |
| US8200897B2 (en) | 2007-03-06 | 2012-06-12 | Hitachi, Ltd. | Storage system and data management method |
| JP2008217527A (ja) * | 2007-03-06 | 2008-09-18 | Hitachi Ltd | ストレージシステム及びデータ管理方法 |
| JP2009176155A (ja) * | 2008-01-25 | 2009-08-06 | Kyocera Corp | 携帯通信端末 |
| JP2010198219A (ja) * | 2009-02-24 | 2010-09-09 | Toshiba Corp | メモリコントローラおよび半導体記憶装置 |
| US8516182B2 (en) | 2009-03-17 | 2013-08-20 | Kabushiki Kaisha Toshiba | Controller and memory system for managing data |
| JP2010218290A (ja) * | 2009-03-17 | 2010-09-30 | Toshiba Corp | コントローラ、及びメモリシステム |
| JP2011053863A (ja) * | 2009-09-01 | 2011-03-17 | Nec Corp | ストレージ装置、ストレージシステム、及び消去処理方法 |
| JP2012243098A (ja) * | 2011-05-19 | 2012-12-10 | Sharp Corp | 記憶装置 |
| JP2013196164A (ja) * | 2012-03-16 | 2013-09-30 | Toshiba Corp | 不揮発性記憶装置、情報処理装置の制御方法、及び情報処理装置 |
| JP2013235358A (ja) * | 2012-05-08 | 2013-11-21 | Hitachi Ulsi Systems Co Ltd | 記憶装置 |
| JP2013235531A (ja) * | 2012-05-11 | 2013-11-21 | Sony Corp | 制御装置、記憶装置、記憶制御方法 |
| US11573912B2 (en) | 2019-11-07 | 2023-02-07 | Nec Corporation | Memory device management system, memory device management method, and non-transitory computer-readable recording medium erasing data stored in memory device if a value of a first key and second key are different |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH07219720A (ja) | 半導体メモリ装置ならびにその制御方法 | |
| EP0686976B1 (en) | Data management system for programming-limited type semiconductor memory and IC memory card having the data management system | |
| US5953737A (en) | Method and apparatus for performing erase operations transparent to a solid state storage system | |
| US5890188A (en) | Nonvolatile semiconductor memory device having means for selective transfer of memory block contents and for chaining together unused memory blocks | |
| US10078449B2 (en) | Flash memory architecture with separate storage of overhead and user data | |
| US6678785B2 (en) | Flash management system using only sequential write | |
| TWI653533B (zh) | 資料儲存裝置以及其操作方法 | |
| EP2306321B1 (en) | Increasing memory performance in flash memory devices by performing simultaneous write operation to multiple devices | |
| KR100531192B1 (ko) | 비휘발성 메모리의 제어방법 | |
| JP3827736B2 (ja) | 外部ラッチを持たないフラッシュメモリレベリングアーキテクチャ | |
| US8171203B2 (en) | Faster write operations to nonvolatile memory using FSInfo sector manipulation | |
| US6076137A (en) | Method and apparatus for storing location identification information within non-volatile memory devices | |
| JP4268396B2 (ja) | 1回プログラム可能な不揮発性メモリデバイスのファイル管理 | |
| JP2007280428A (ja) | メモリ管理 | |
| GB2297637A (en) | Semiconductor disk device | |
| JP2008537192A (ja) | フラッシュメモリ内でコピー操作を管理する方法 | |
| WO2007037507A9 (en) | Memory system and method of writing into nonvolatile semiconductor memory | |
| EP1659497A1 (en) | Non-volatile storage device and write method thereof | |
| CN117555478A (zh) | 一种基于闪存的模拟eeprom读写方法 | |
| TWI872625B (zh) | 利用快閃記憶體模擬電子抹除式可複寫唯讀記憶體之方法以及使用其之快閃記憶體系統 | |
| EP3948550B1 (en) | An apparatus, method and computer program for managing memory page updates within non-volatile memory | |
| JP2001005928A (ja) | Icカード | |
| JPH1091490A (ja) | フラッシュメモリを利用した記憶装置 | |
| JPH10312693A (ja) | 記憶装置 | |
| JPH0822404A (ja) | ファイル管理システム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20021119 |