JP3070524B2 - 記憶装置 - Google Patents

記憶装置

Info

Publication number
JP3070524B2
JP3070524B2 JP14331897A JP14331897A JP3070524B2 JP 3070524 B2 JP3070524 B2 JP 3070524B2 JP 14331897 A JP14331897 A JP 14331897A JP 14331897 A JP14331897 A JP 14331897A JP 3070524 B2 JP3070524 B2 JP 3070524B2
Authority
JP
Japan
Prior art keywords
address
information
data storage
data
flash memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP14331897A
Other languages
English (en)
Other versions
JPH10320296A (ja
Inventor
亘 石津
高生 三浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP14331897A priority Critical patent/JP3070524B2/ja
Publication of JPH10320296A publication Critical patent/JPH10320296A/ja
Application granted granted Critical
Publication of JP3070524B2 publication Critical patent/JP3070524B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、不揮発性の記憶装
置に関し、特にフラッシュメモリ(一括消去方式の電気
的に消去可能且つ書き込み可能な読み出し専用メモリ)
をバックアップメモリに使用した記憶装置に関する。
【0002】
【従来の技術】磁気ディスク装置の高速化代替え手段と
して、フラッシュメモリに代表される不発揮性の半導体
を使用した記憶装置が期待されている。フラッシュメモ
リは、大容量化が進められており、フラッシュメモリを
使用した記憶装置は、小型で経済的に実現できることで
特に注目を集めている。
【0003】しかしながら、フラッシュメモリは、その
全体がある一定の大きさの単位(以下ブロックと称す)
に区分され、そのブロック毎、もしくは素子全体でのみ
一括消去可能という特性があり、さらに、素子の特性
上、消去回数(以下、書換え回数として説明する)には
ある一定の制限があり、それを越えた消去はできない性
質があるため、使用が難しい面がある。
【0004】図12に、フラッシュメモリを用いた従来
の記憶装置の一構成例を示す。
【0005】図12を参照すると、この従来の記憶装置
は、記憶装置100と、ホスト101と、から構成され
ており、記憶装置100は、記憶装置100全体を制御
する主制御部110、フラッシュメモリで構成されデー
タを保持するフラッシュメモリ部102、データ書込み
時に使用しフラッシュメモリ部の内容コピーを保持する
ためのバッファメモリ部103、ホストとのインタフェ
ースを制御するためのホストインタフェース部105、
及び、フラッシュメモリ部102に関する制御情報を保
持するための制御情報記憶部120、を備えて構成され
ている。
【0006】また、ホスト101は、記憶装置100に
対してデータのリード/ライト要求を行うホスト計算機
である。
【0007】記憶装置100の主制御部110は、記憶
装置100全体を制御するプロセッサであり、交換制御
手段111を有している。この交換制御手段111は、
ホスト101から記憶装置100に対してライト要求が
あった場合、後述するテーブル121を参照して、ホス
ト101からの指示アドレスをフラッシュメモリ部10
2の内部アドレスに変換すると共に、その内部アドレス
のメモリブロックの書換え回数に基づき、メモリブロッ
クの交換を行うか否かの判断を行い、交換が必要であっ
た場合は、その交換処理およびテーブル121の更新処
理を行う機能を有している。
【0008】また、制御情報記憶部120は、小容量の
書換え可能な不揮発メモリ(たとえば、NVRAM(不
揮発性ランダムアクセスメモリ)やEEPROM(電気
的に消去可能且つ書き込み可能な読み出し専用メモ
リ))からなり、テーブル121を有している。
【0009】フラッシュメモリ部102は、全体がmブ
ロックに分割されており、1ブロックをkワードとし
て、0、k、2k、…、(m−1)kと、アドレス付け
されており、ブロック単位に消去可能である。
【0010】テーブル121は、m個の制御情報に区分
され、0、1、2、…、(m−1)とアドレス付けされ
ている。
【0011】個々の制御情報は、ブロック毎に、ディス
クアドレス(ホスト101からの指示アドレス)順に格
納されており、そのディスクアドレスに対応したデータ
を格納するフラッシュメモリ部102のブロックアドレ
ス、及びフラッシュメモリ部102が書き換えられた回
数、さらに、対応するブロックの消去フラグを記憶して
いる。
【0012】図13及び図14は、図12に示した従来
の記憶装置において、主制御部110が行うライト/リ
ード時の処理の処理フローを説明するためのフローチャ
ートである。図12及び図13及び図14を参照して、
従来の記憶装置の動作について説明する。
【0013】ホスト101からホストインタフェース部
105を通して命令が受け付けられると、主制御部11
0はその命令をホスト105からホストインタフェース
部105を通してリードし(ステップS1)、リード命
令かライト命令かを判断する(ステップS2)。
【0014】命令がライトであった場合は、先ず、ライ
トする先頭のディスクアドレス(論理アドレス)とライ
トデータ数を、ホスト101からホストインタフェース
部105を通してリードし(ステップS3)、次に、主
制御部110の交換制御手段111上記論理アドレス
とライトデータ数を用いて、テーブル121の対応する
アドレスを算出する(ステップS4a)。
【0015】そして、算出したアドレスを基にテーブル
121中の消去フラグをチェックし(ステップS5)、
フラッシュメモリ部102中の該当ブロックが消去済み
かどうかの判定を行う(ステップS6)。
【0016】該当ブロックが消去済みであれば、ホスト
101からホストインタフェース部105を通して、ラ
イトデータを直接フラッシュメモリ部102の算出済み
アドレスにライトする(ステップS7)。そして、ライ
ト終了後、テーブル121中の消去フラグを更新し(ス
テップS8)、ホスト101に対してホストインタフェ
ース部105を通して動作終了を通知する(ステップS
9)。
【0017】一方、上記ステップS6において、該当ブ
ロックが消去済みでない場合には、交換制御手段111
は、算出済みアドレスを基にテーブル121中の書換え
回数をチェックし、書換え可能か否かを判定する(ステ
ップS11a)。
【0018】書換え可能の場合、該当ブロックの書換え
回数が、メモリ素子で規定されている書換え最大回数未
満か、あるいは、該当するブロックと書換え回数が最小
のブロックとの間の書換え回数の差がある一定数以上の
時に、ブロック交換を行う(図14のステップS13
a)。
【0019】ブロック交換処理は、先ず、テーブル12
1中の該当ブロックに関する、消去フラグ、書換え回
数、メモリブロックの論理アドレスを交換対象のブロッ
クのものと変換し、更に双方の書換え回数を“1”加算
する(ステップS14a)。次に、フラッシュメモリ部
102中の該当ブロックデータをバッファメモリ部10
3に転送し(ステップS15a)、更に、該当ブロック
を消去する(ステップS16a)。そして、交換対象の
ブロックを消去し(ステップS18a)、バッファメモ
リ部103から交換対象ブロックにデータ転送を行う
(ステップS19a)。
【0020】その後、テーブル121中の該当するアド
レスの書換え回数に1加算し(ステップS20)、フラ
ッシュメモリ部102中の該当するアドレスが含まれる
ブロック全体の内容をバッファメモリ部103にコピー
する(ステップS21)。
【0021】次に、そのブロックを消去し(ステップS
22)、ホスト101からホストインタフェース部10
5を通してそのライトデータをバッファメモリ部103
へ該当アドレスからライトする(ステップS23)。
【0022】ライト終了後、バッファメモリ部103の
データをフラッシュメモリ部102中の同一ブロックへ
戻す(ステップS24)。
【0023】一方、ステップS2のリード/ライト判定
処理において、リードであった場合は、リードする先頭
のアドレスとリードデータ数をホスト101からホスト
インタフェース部105を通してリードする(ステップ
S25a)。
【0024】次に、上記アドレスとデータ数を用いて、
テーブル121の対応するアドレスを算出し、そのアド
レスからフラッシュメモリ部102のリードデータの格
納されているアドレスを算出する(ステップS26
a)。
【0025】そして、ホスト101へ、そのリードデー
タを直接フラッシュメモリ部102の算出済みアドレス
からリードする(ステップS27)。
【0026】以上の動作により、フラッシュメモリを用
いた記憶装置が実現されていた。
【0027】
【発明が解決しようとする課題】しかしながら、上記し
た従来の記憶装置は、下記記載の問題点を有している。
【0028】(1)第1の問題点は、従来の記憶装置で
は、データ書換えの際、データの書換え処理に時間がか
かる、ということである。
【0029】その理由は、データ書換えの際、フラッシ
ュメモリの該当するブロックをバッファメモリに読み出
し、書換えデータを上書きし、また、該当のフラッシュ
メモリブロックを消去し、その後、バッファメモリ上の
データをフラッシュメモリに書き込む処理が必要とされ
ている、ためである。すなわち、これらの一連の処理を
実施するには、かなりの処理時間を要し、データの書換
えを高速に実現することができない。
【0030】(2)第2の問題点は、フラッシュメモリ
の各ブロック間の書換え回数がなるべく均等になるよう
に、データ書換えの多いブロックとデータ書換えの少な
いブロックの入れ替え等の複雑な処理が必要である、と
いうことである。
【0031】その理由は、フラッシュメモリ自体に書換
え回数の制限があるため、フラッシュメモリを使用した
記憶装置の寿命・信頼性をなるべく長く、大きくするた
め、フラッシュメモリの各ブロック間の書換え回数のば
らつきを少なくし、書換え回数を少なくする必要があ
る、からである。
【0032】(3)第3の問題点は、フラッシュメモリ
の書換え回数が制限値に到達し、書換えが実施できない
場合、記憶装置の運用動作を止めないでフラッシュメモ
リの交換を実施することが困難である、ということであ
る。
【0033】その理由は、予備系の記憶回路が配備され
ていないため、記憶装置を運用動作のまま、フラッシュ
メモリの交換ができない、ためである。
【0034】したがって、本発明は、上記従来技術の問
題点に鑑みてなされたものであって、その目的は、高速
にデータ書換え可能なフラッシュメモリを用いた記憶装
置を提供することにある。
【0035】また、本発明の他の目的は、制約条件のあ
るフラッシュメモリの書換え回数をできるだけ少なくす
ることにより、寿命の長い信頼性の高い記憶装置を提供
することである。
【0036】さらに、本発明の他の目的は、記憶回路を
運用系と予備系と持ち、指示した運用系で動作可能とす
ることで、記憶回路のフラッシュメモリの書換え回数が
寿命に至っても、記憶装置としたまま、予備系を交換可
能な保守性にすぐれた記憶装置を提供することにある。
【0037】
【課題を解決するための手段】前記目的を達成するた
め、本発明のフラッシュメモリをバックアップメモリに
た記憶装置は、データ記憶用のM個のフラッシュメ
モリブロックから構成されるフラッシュメモリ部と、前
記データ記憶用のフラッシュメモリ部の書換えデータと
書換えアドレスと書換え回数と運用系情報を記憶するN
個のフラッシュメモリブロックから構成される書換え情
報保持部と、からなる基本ブロックを、それぞれ複数
(K個)備えた構成される第1のデータ記憶回路と、前
記第1のデータ記憶回路と同じ構成の第2のデータ記憶
回路と、を備え、前記第1のデータ記憶回路と第2のデ
ータ記憶回路は、一方が運用系で他方が予備系として動
作し、更に、フラッシュメモリ制御回路と、外部からの
アクセスアドレスとデータ記憶装置の各ブロックのフラ
ッシュメモリ部のアドレスとの対応をアドレス変換情報
として保持するアドレス変換制御回路と、を備えてい
る。
【0038】本発明においては、前記フラッシュメモリ
制御回路は、外部のホストからデータ書込み要求がある
と、運用系のデータ記憶回路の該当ブロックの書換え情
報保持部の若番アドレスから書換えアドレスと書換えデ
ータとを書込むとともに、前記アドレス変換制御回路の
アドレス変換情報における該当書込みアドレスに対応す
る情報を、前記書換えデータが書き込まれた前記書換え
情報保持部のデータ格納アドレスに書き換え、前記外部
ホストからのデータ読み取り指示の際は、アドレス変換
制御回路に読み出しアドレスを設定して前記データ記憶
回路にデータ読み取りを行い、前記外部ホストに返送す
る。また、本発明において、前記フラッシュメモリ制御
回路は、運用系のデータ記憶部の各ブロックの書換え情
報保持部の記憶容量に書込み余裕がなくなった場合
アドレス変換制御回路のアドレス変換情報の該当ブロ
ックに対応するてのアドレスの記憶情報を運用系の
ータ記憶回路から読み出し、読み出した情報を予備系の
データ記憶回路の該当ブロックの対応するアドレスに書
き込み、前記アドレス変換制御回路のアドレス変換情報
該当ブロックの情報を、運用系のデータ記憶回路から
読み出した情報書込みを行った予備系のデータ記憶回
路の該当アドレスに書き換える指示を行い、予備系の
ータ記憶回路の該当ブロックの書換え情報保持部に
用系情報を書込むことで、運用系と予備系を入れ替え、
新しく予備系となったデータ記憶回路の該当フラッシュ
メモリ部と書換え情報保持部を消去し、前記新しく予備
となったデータ記憶回路の該書換え情報保持部に書換
え回数を1回加算した値を書き込む。
【0039】本発明においては、前記フラッシュメモリ
制御回路において、電源投入時と、前記外部ホストから
のリセット指示時に、前記第1、第2のデータ記憶回路
の各ブロックの書換え情報保持部の運用系情報を読み出
し、運用系と予備系を判定し、外部からのアクセスアド
レスと運用系の各ブロックのフラッシュメモリ部のアド
レスとの対応をアドレス変換制御回路に書込み指示し、
その後、前記書換え情報保持部に格納されている、書換
えアドレスを読み出しアドレス情報として、前記書換え
情報保持部のデータ格納アドレスをデータ情報として
記アドレス変換制御回路に送出し、書換えアドレスの変
更を指示することにより前記アドレス変換制御回路が保
するアドレス変換情報を自動的に復元する。
【0040】前記フラッシュメモリ制御回路において、
前記外部ホストからの運用系指定指示時に、前記第1、
第2のデータ記憶回路の各ブロックの書換え情報保持部
の運用系情報を読み出し、運用系と予備系を判定し、
外部ホストから指示された運用系で動作していないブ
ロックを検出し、前記アドレス変換制御回路の該当ブロ
ックの全アドレスの記憶情報を運用系のデータ記憶回路
から読み出し、予備系のデータ記憶回路の該当ブロック
の対応するアドレスに書き込み、前記アドレス変換制御
回路の該当ブロックに対して、運用系のデータ記憶回路
情報書込みを行った予備系のデータ記憶回路のアド
レス情報に書き換える指示を送出し、予備系の該当ブロ
ックの書換え情報保持部に運用系情報を書込み、運用系
と予備系を入れ替え、新たな予備系のデータ記憶回路
該当フラッシュメモリ部と書換え情報保持部を消去し、
前記新たな予備系のデータ記憶回路の該書換え情報保持
部に書換え回数を1回加算した値を書き込むことにより
指定された運用系に切り替えて動作する。
【0041】
【発明の実施の形態】本発明の実施の形態について以下
に説明する。
【0042】本願第一発明の記憶装置は、その好ましい
実施の形態において、データ記憶用のM個のフラッシュ
メモリブロックから構成されるフラッシュメモリ部と、
該データ記憶用のフラッシュメモリ部の書換えデータと
書換えアドレスとデータ記憶用のフラッシュメモリ部の
書換え回数と運用系情報を記憶するN個のフラッシュメ
モリブロックから構成される書換え情報保持部からなる
基本ブロックが、それぞれK個から構成されるデータ記
憶回路A(図1の13)と、データ記憶回路Aと同じ構
成のデータ記憶回路B(図1の14)を備え、記憶回路
AとBは、一方が運用系で他方が予備系として動作す
る。
【0043】また、アドレス変換制御回路(図1の1
2)は、フラッシュメモリ制御回路(図1の11)から
指示されるアドレス変換情報を保持し、データ記憶回路
A、Bへの読み出しアクセス時にアドレス情報を変換し
出力する。
【0044】また、フラッシュメモリ制御回路(図1の
11)は、外部ホストからのデータ書込み指示がある都
度、該アドレス変換制御回路に、該当書込みアドレスを
運用系の書換え情報保持部のデータ格納アドレスに書換
え指示し、運用系の該データ記憶回路の該当ブロックの
書換え情報保持部の若番地アドレスから書換えアドレス
情報と書換えデータ情報を書き込み、また、外部ホスト
からのデータ読み取り指示の際は、指定されたアドレス
に対し、アドレス変換制御回路を通して運用系のデータ
記憶回路にデータ読み取りを行い外部ホストに返送す
る。
【0045】この実施の形態において、外部のホストか
らデータ書込み要求がある都度、フラッシュメモリ制御
回路(図1の11)は、運用系の記憶回路の対応するブ
ロックの書換え情報保持部の書込み可能な若番地から、
書換えアドレスと書換えデータを書き込み、アドレス変
換制御回路(図1の12)のアドレス変換保持情報で、
書込み要求アドレスのデータを書換え情報保持部の書込
みアドレスに書き換える。
【0046】また、外部ホストからのデータ読み取り指
示の際は、指定されたアドレスに対し、アドレス変換制
御回路を通して運用系のデータ記憶回路にデータ読み取
りを行い外部ホストに返送する。
【0047】以上により、書込みと読み出しが高速に実
施できる記憶装置が実現できる。
【0048】本願第二発明の記憶装置は、その好ましい
実施の形態において、第一発明のデータ書換えをどんど
ん行い、記憶回路の各ブロックの書換え情報保持部に書
込み余裕がなくなった場合、フラッシュメモリ制御回路
は、運用系の記憶回路の該当ブロックの記憶情報を読み
出して、予備系の記憶回路の該当ブロックに書込みを実
施し、アドレス変換制御回路の該当ブロックのアドレス
変換保持情報に対して、運用系アドレス情報を予備系ア
ドレス情報に書換えを行う。
【0049】また、予備系の該当ブロックの書換え情報
保持部に運用系情報を書き込み、予備系を運用系に、運
用系と予備系を入れ替える。また、予備系となった記憶
回路の該当フラッシュメモリ部と書換え情報保持部を消
去し、予備系の該書換え情報保持部に書換え回数を1回
加算した値を書き込む。以上により、データ書込み回数
に比較し、フラッシュメモリの消去回数を大幅に削減さ
せられ、寿命の長い記憶装置を実現できる。
【0050】本願第三発明の記憶装置は、その好ましい
実施の形態において、電源投入時と外部ホストからのリ
セット指示時に、フラッシュメモリ制御回路は、データ
記憶回路AとBの各ブロック単位の書換え情報保持部の
運用情報を読み出して、運用系と予備系の判定を行う。
【0051】また、アドレス変換制御回路のアドレス変
換情報を作成するため、外部からのアクセスアドレスと
運用系の各ブロックのフラッシュメモリ部のアドレスと
の固定された対応情報をアドレス変換制御回路に指示す
る。
【0052】その後、書換え情報保持部に格納されてい
る、フラッシュメモリの書換えアドレスを読み出しアド
レス情報として、書換え情報保持部のデータ格納アドレ
スをデータ情報としてアドレス変換制御回路に送出し、
書換えアドレスの変更を指示する。
【0053】以上により、電源投入時やリセット時にア
ドレス変換制御回路の保持情報を自動的に復元し動作可
能な記憶装置を実現できる。
【0054】本願第四発明の記憶装置は、その好ましい
実施の形態において、該フラッシュメモリ制御回路は、
外部ホストからの運用系指定指示時に、該データ記憶回
路AとBの各ブロックの書換え情報保持部の運用系情報
を読み出し、運用系と予備系を判定し、外部ホストから
指示された運用系で動作していないブロックを検出す
る。
【0055】そして、該アドレス変換制御回路のそのブ
ロックの全アドレスの記憶情報を運用系の記憶回路から
読み出し、予備系の記憶回路の該当ブロックの対応する
アドレスに書き写す。また、該アドレス変換制御回路の
該当ブロックアドレスに対して、運用系の記憶回路アド
レス情報をデータ書込みを行った予備系の記憶回路アド
レス情報に書き換える指示をする。
【0056】また、予備系の該当ブロックの書換え情報
保持部に運用系情報を書き込み、運用系と予備系に、予
備系を運用系に入れ替え、予備系となった該当フラッシ
ュメモリ部と書換え情報保持部を消去し、予備系の該書
換え情報保持部に書換え回数を1回加算した値を書き込
むことにより、指定された運用系で動作する。以上によ
り、指定された運用系で動作することにより、記憶装置
として運用を続けながら、予備系の記憶回路の交換を可
能とすることができる。
【0057】
【実施例】上記した本発明の実施の形態について更に詳
細に説明すべく、本発明の実施例について図面を参照し
て以下に説明する。
【0058】図1は、本発明の一実施例をなす記憶装置
の構成を示す図である。図1を参照すると、本実施例に
おいて、記憶装置2と、記憶装置2に外部接続されるホ
スト1から構成される。
【0059】ホスト1は、従来と同様に、記憶装置2に
対してデータのリード/ライトを行うホスト計算機であ
る。
【0060】記憶装置2は、ホストインタフェース部1
0、フラッシュメモリ制御回路11、アドレス変換制御
回路12、第1の記憶回路A13、第2の記憶回路B1
4からなる。
【0061】ホストインタフェース部10は、ホスト1
からデータのリード/ライトを行う際に、ホスト1と記
憶装置2のインタフェースを制御する。
【0062】アドレス変換制御回路12は、データ記憶
用の記憶回路のデータを読み出す際に、読み出しアドレ
スをデータが記憶されている記憶回路のアドレスに変換
する。アドレスの変換情報は、フラッシュメモリ制御回
路11から指示され、アドレス変換回路12では、変換
情報を保持する。
【0063】図2(C)に、本実施例におけるアドレス
変換回路12のアドレス変換イメージを示す。
【0064】記憶回路A13は、記憶用のデータを格納
し、複数のメモリブロックからなるフラッシュメモリか
ら構成される。
【0065】図2(A)に、記憶回路A13の回路ブロ
ック構成の一例を示す。図2(A)を参照すると、記憶
回路A13は、複数のメモリブロックからなるデータ記
憶用のフラッシュメモリ部と、フラッシュメモリ部のデ
ータ書換え情報を格納する書換え情報保持部と、からな
るブロックがK個のブロックから構成される。
【0066】各ブロックの書換え情報保持部には、フラ
ッシュメモリ部の書換えアドレスと書換えデータと運用
情報と書換え回数が記憶される。
【0067】記憶回路B14は、記憶回路A13と同じ
構成とされ、アドレス変換制御回路12とフラッシュメ
モリ回路からのアクセスアドレスのみが異なる。
【0068】記憶回路A13と記憶回路B14は、各ブ
ロック単位で、一方が運用系で他方が予備系で動作す
る。
【0069】フラッシュメモリ制御回路11は、外部の
ホスト1からデータ書込み要求がある都度、運用系の記
憶回路に書換えアドレスと書換えデータを書込みを実施
し書込み情報を保持し、アドレス変換制御回路12のア
ドレス変換保持情報を、データを保持している書換え情
報保持部のアドレスに書き換える。
【0070】また、外部ホストからのデータ読み取り指
示の際は、指定されたアドレスに対し、アドレス変換制
御回路12を通して記憶回路にデータ読み取りを行い外
部ホストに返送する。
【0071】また、フラッシュメモリ制御回路11は、
記憶回路の各ブロックの書換え情報保持部に書込み余裕
がなくなった場合に、運用系の記憶回路の該当ブロック
の記憶情報を読み出して、予備系の記憶回路の該当ブロ
ックの書込みを実施する。また、アドレス変換制御回路
12の該当ブロックのアドレス変換保持情報を書込みを
実施した予備系アドレス情報に書換えを行う。また、予
備系の該当ブロックの書換え情報保持部に運用系情報を
書き込み、運用系とし、予備系となった記憶回路の該当
フラッシュメモリ部と書換え情報保持部を消去し、書換
え情報保持部に書換え回数を1回加算した値を書き込
む。
【0072】また、フラッシュメモリ制御回路11は、
電源投入時と、外部ホスト1からのリセット指示時に、
フラッシュメモリ制御回路11は、データ記憶回路の各
ブロック単位の運用情報を読み出して、運用系と予備系
の判定を行い、アドレス変換制御回路12のアドレス変
換情報を作成し、アドレス変換回路に指示する。
【0073】また、フラッシュメモリ制御回路11は、
外部ホスト1からの運用系指定指示時に、該データ記憶
回路の各ブロックの書換え情報保持部の運用系情報を読
み出し、運用系と予備系を判定し、外部ホストから指示
された運用系で動作していないブロックに対して、その
ブロックの記憶情報を運用系の記憶回路から読み出し、
予備系の記憶回路の該当ブロックの対応するアドレスに
書き写す。また、アドレス変換制御回路12の該当ブロ
ックのアドレス変換保持情報を書込みを実施した予備系
アドレス情報に書換えを行う。また、予備系の該当ブロ
ックの書換え情報保持部に運用系情報を書き込み、運用
系とし、予備系となった記憶回路の該当フラッシュメモ
リ部と書換え情報保持部を消去し、書換え情報保持部に
書換え回数を1回加算した値を書き込む。
【0074】図3及び図4、図5乃至図7に、本発明の
一実施例の動作を説明するためのフローチャートを示
す。図1乃至図7を参照して、本発明の一実施例の動作
について説明する。なお、図3及び図4は単に図面作成
の都合で分図されたものである。
【0075】まず、図1、図3及び図4を参照すると、
ホスト1からホストインタフェース部10を通して命令
が受け付けられると(ステップR1)、フラッシュメモ
リ制御回路11はリード命令かライト命令か判定する
(ステップR2)。命令がライト命令であった場合は、
該当ブロックの書換え情報保持部の最後アドレスの一つ
前のアドレスに格納されているフラッシュメモリ部の書
換え回数を読み出す(ステップR3)。
【0076】読み出した書換え回数が、最大書換え可能
回数以上の場合は、書換え不可として、ホスト1に異常
終了を通知する(ステップR16)、読み出した書換え
回数が、最大書換え回数より少ない場合は、書換え可能
と判断し、書込みを実施するライトアドレスとライトデ
ータのリードを実施する(ステップR5)。
【0077】アドレス変換制御回路12のアドレス変換
情報書換えのため、ライトアドレスを書込みアドレスと
して設定する(ステップR6)。
【0078】アドレス変換制御回路12の書込み設定ア
ドレスに、書換え情報保持部のデータ格納アドレスを書
き込む(ステップR7)。
【0079】また、書込みを実施する該当ブロックの書
換え情報保持部に、書込みアドレスと書込みデータを書
き込む(ステップR8)。
【0080】書換えデータの書込み後、該当ブロックの
書換え情報保持部の次の書込みアドレスが最大書込み可
能アドレスを超えているかどうか判定する(ステップR
9)。最大アドレスを超えていない場合(書込み余裕が
ある場合)は、ホスト1に処理終了を通知して(ステッ
プR10)、処理を終了する。
【0081】図8及び図9に、“0”番地に、“5A5
E”データを書込み実施前後のイメージを示す。図8は
書込み前の状態を示しており、図9は書込み後の状態を
示している。
【0082】データ書換えのため、書換え情報保持部の
データ書込み可能な最若番の番地“0M00”番地に、
書込みアドレス“0000”データを書き込み、次のア
ドレスである“0M01”番地に、書込みデータ“5A
5E”を書き込む。
【0083】また、アドレス変換制御部12のアドレス
“0000”番地に、書換え情報保持部のデータ格納ア
ドレス“0M01”を書き込み、“0”番地に“5A5
E”データの書込み処理が終了する。
【0084】また、リード命令時には、読み出しを実施
するアドレスとデータ数を読み込み(ステップR1
9)、読み出し実施アドレスをアドレス変換制御部に設
定し(ステップR20)、記憶回路に格納されているデ
ータ読み出しを実施し、読み出しデータをホスト1に転
送する(ステップR21)。読み出し処理終了後、ホス
ト1に処理終了を通知して動作を終了する(ステップR
22)。
【0085】次に、本願第二発明の実施例について説明
する。書換えデータの書込み後、該当ブロックの書換え
情報保持部の次の書込みアドレスが最大書込み可能アド
レスを超えているかどうか判定し(図4のステップR
9)、最大アドレスを超えている場合(書込み余裕がな
い場合)には、該当ブロックのデータをアドレス変換制
御回路を通して読み出し(ステップR11)、予備系の
記憶回路の該当ブロックの該当アドレスに書込みを実施
し(ステップR12)、アドレス変換制御回路のアドレ
ス変換情報を予備系のアドレス情報に書き換える(ステ
ップR13)。
【0086】該当ブロックの全アドレスに対して実施し
たかどうか判定し(ステップR14)、全アドレス実施
していなければ、アドレスを更新して(ステップR1
5)、R11からの処理を繰り返す。該当ブロックの全
アドレスで実施終了していれば、予備系の該当ブロック
の書換え情報保持部の運用情報書込みアドレスに運用情
報を書き込み(ステップR16)、予備系と運用系を入
れ替える。新しく予備系となった、該当ブロックのフラ
ッシュメモリ部と書換え情報保持部を消去し(ステップ
R17)、書換え回数を+1更新した値を、予備系の該
当ブロック書換え回数保持アドレスに書き込み(ステッ
プR18)、ホストに処理終了を通知して(ステップR
10)、動作を終了する。
【0087】以上の動作により、データの書込みが、ま
た、可能な状態となる。
【0088】図10及び図11に、上記実施例の動作の
一例を示す。図10(1)は、ブロック0の書換えデー
タ保持部にあと1回の書込み可能な状態(書込み余裕あ
と1回)で、図11(2)は図10(1)の状態で“0
002”番地に、“0103”データの書込みを行った
後の状態である。
【0089】図10を参照して、(1)の状態で、ブロ
ック0について記憶回路A13が運用系で記憶回路B1
4が予備系である。この状態で、“0002”番地に、
“0103”データの書込みを実施すると、記憶回路A
13のブロック0の書換え情報保持部の次データ書込み
アドレスである“0FFC”に書込みアドレス“000
2”が、“0FFD”に書込みデータ“0103”が書
き込まれる。この段階で、書換え情報保持部に書込み余
裕がなくなるため、記憶回路A13のブロック0のデー
タをアドレス変換回路を通して読み出し、予備系である
記憶回路B14のブロック0に書き込む。
【0090】また、アドレス変換制御回路12のブロッ
ク0のアドレス変換情報を記憶回路Bのデータ書込みア
ドレスに書き換える。この読み出し、書込み処理をブロ
ック0の全アドレスに対して実行する(記憶回路Bのフ
ラッシュメモリ部に記憶回路Aのデータが書き写しさ
れ、アドレス変換部のブロック0アドレス変換情報が記
憶回路Bのアドレスに変更される)。
【0091】全アドレス実行後、記憶回路Bの運用情報
格納アドレス(KFFF)に運用情報を書き込み、記憶
回路Aのフラッシュメモリ部と書換え情報保持部を消去
し、+1更新した書換え回数を書換え回数保持アドレス
(0FFF)に書き込む。以上により、図11(2)の
“0002”番地に、“0103”データの書込み後の
状態となる。
【0092】次に本願第三発明の実施例について、図5
及び図6を参照して以下に説明する。なお、図5及び図
6は単に図面作成の都合で分図されたものである。
【0093】電源投入時(ステップP1)、または、リ
セット入力時(ステップP2)に、フラッシュメモリ制
御回路は、記憶回路A13、記憶回路B14のブロック
0の運用情報を読み出し(ステップP3)、どちらが運
用系か判定する(ステップP4)。
【0094】記憶回路A13が運用系であれば(記憶回
路Bが運用系の場合も以降の動作は同じ)、アドレス変
換制御回路12のブロック0アドレスに記憶回路Aのブ
ロック0アドレスを書き込む(ステップP5)。
【0095】その後、記憶回路Aのブロック0の書換え
情報保持部のデータを読み出し(ステップP6)、書換
えデータがあるか判定する(ステップP7)。
【0096】書換えデータがあれば、アドレス変換制御
回路12のアドレス変換情報の書換えを実施する。その
際、書換え情報部の読み出しデータをアドレスとし、書
換え情報部の書換えデータ格納アドレスをデータとする
(ステップP8)。書換え情報部の読み出しアドレスを
更新して(ステップP9)、ステップP6からの処理を
繰り返す。
【0097】一方、ステップP7で、書換え情報保持部
に書換えデータがない場合は、全アドレスブロック実施
したかどうかの判定(ステップP10)を行い、全ブロ
ック終了でない場合は、アドレスブロックを更新して
(ステップP17)、ステップP3からの処理を繰り返
す。全ブロック終了の場合は処理を終了する。以上の動
作で、アドレス変換制御部のアドレス変換情報を復元で
きる。
【0098】次に本願第四発明の実施例について、図5
及び図6を参照して以下に説明する。
【0099】ホスト1から運用系の指示が入力されると
(ステップQ0)、記憶回路A12、記憶回路B14の
ブロック0の運用系情報を読み出し(ステップQ1)、
ホストから指示された運用系と現在の運用系が一致して
いるか判定する(ステップQ2)。一致していなけれ
ば、ブロック0のデータをアドレス変換制御回路12を
通して読み出し(ステップQ3)、予備系の記憶回路の
ブロック0の該当アドレスに書込みを実施し(ステップ
Q4)、アドレス変換制御回路12のアドレス変換情報
を予備系のアドレス情報に書き換える(ステップQ
5)。
【0100】該当ブロックの全アドレスに対して実施し
たかどうか判定し(ステップQ6)、全アドレス実施し
ていなければ、アドレスを更新して(ステップQ8)、
ステップQ3からの処理を繰り返す。
【0101】該当ブロックの全アドレスで実施終了して
いれば、全アドレスブロックに実施したかどうか判定し
(ステップQ7)、全アドレスブロック終了していなけ
れば、アドレスブロックを更新して(ステップQ9)、
ステップQ1からの処理を繰り返す。
【0102】また、ステップQ2で指示された運用系と
現在の運用系が一致していれば、そのブロックの処理を
終了し、ステップQ7の全アドレスブロック実施判定処
理に移行する。以上の動作により、記憶回路の運用系を
指定された運用系にそろえて運用することができる。
【0103】
【発明の効果】以上説明したように、本発明によれば、
下記記載の効果を奏する。
【0104】(1)本発明の第1の効果は、従来の記憶
装置に比較して、データの書込みと読み出しが早く行う
ことができる、ということである。
【0105】その理由は、本発明においては、データ書
込みの際、書換え情報保持部に書換えデータと書換えア
ドレスを書き込み、また、アドレス変換制御回路のアド
レス変換情報を書き換えることができ、従来のフラッシ
ュメモリ消去・再書込みという手順を行わなくてよく、
このため高速で処理可能なためである。
【0106】(2)本発明の第2の効果は、従来の記憶
置に比較して、フラッシュメモリの書換え回数を削減
できることであり、記憶装置として寿命の長い・信頼性
の高いものを提供できる、ということである。
【0107】その理由は、従来、データ書換えの都度、
フラッシュメモリを消去・書込みしていたが、書換え情
報保持部に書換えデータをためて、書換え情報保持部の
記憶容量がいっぱいになった時点で、フラッシュメモリ
の消去・書込みを実施することにより、はるかにフラッ
シュメモリの書換え回数を削減できることにある。
【0108】(3)本発明の第3の効果は、電源投入時
や外部ホストからのリセット入力時に、電源断やリセッ
ト前の状態に復旧可能である、ということである。
【0109】その理由は、本発明においては、アドレス
変換制御回路のアドレス変換保持情報をフラッシュメモ
リ制御回路の制御で自動的に以前の状態に復元可能であ
るためである。
【0110】(4)本発明の第4の効果は、記憶回路を
運用系と予備系と持ち動作し、運用系の記憶回路をホス
トより指示した運用系に切り替えて動作可能なことであ
る。そのため、記憶装置として運用したまま、書換え回
数が寿命となった記憶回路を予備系として、予備系のフ
ラッシュメモリを交換できる、ということである。
【図面の簡単な説明】
【図1】本発明の一実施例のブロック構成を示す図であ
る。
【図2】本発明の一実施例を説明するための図であり、
記憶回路とアドレス変換制御回路の構成例を示す図であ
る。
【図3】本発明の一実施例の動作を説明するための流れ
図(その1)である。
【図4】本発明の一実施例の動作を説明するための流れ
図(その1)である。
【図5】本発明の一実施例の動作を説明するための流れ
図(その2)である。
【図6】本発明の一実施例の動作を説明するための流れ
図(その2)である。
【図7】本発明の一実施例の動作を説明するための流れ
図(その3)である。
【図8】本発明の一実施例を説明をするための図(その
1)である。
【図9】本発明の一実施例を説明をするための図(その
1)である。
【図10】本発明の一実施例を説明をするための図(そ
の2)である。
【図11】本発明の一実施例を説明をするための図(そ
の2)である。
【図12】従来の記憶装置の構成を示す図である。
【図13】従来の記憶装置の動作を説明するための流れ
図である。
【図14】従来の記憶装置の動作を説明するための流れ
図である。
【符号の説明】
1 ホスト 2 記憶装置 10 ホストインタフェース部 11 フラッシュメモリ制御回路 12 アドレス変換制御回路 13 記憶回路A 14 記憶回路B 100 記憶装置 101 ホスト 102 フラッシュメモリ部 103 バッファメモリ部 105 ホストインタフェース部 110 主制御部 111 交換制御手段 120 制御情報記憶部 121 テーブル
フロントページの続き (56)参考文献 特開 平6−250798(JP,A) 特開 平7−219720(JP,A) 特開 平5−27924(JP,A) 特開 平7−65591(JP,A) 特開 平4−287143(JP,A) 特開 平7−98992(JP,A) 特開 平8−195098(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/16 G06F 12/00 542 G11C 16/02 G06F 3/08

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】フラッシュメモリをバックアップメモリに
    た記憶装置において、 データ記憶用のM個のフラッシュメモリブロックから構
    成されるフラッシュメモリ部と、 前記データ記憶用のフラッシュメモリ部の書換えデータ
    と書換えアドレスと書換え回数と運用系情報を記憶する
    N個のフラッシュメモリブロックから構成される書換え
    情報保持部と、からなる基本ブロックを、それぞれ複数
    (K個)備え構成される第1のデータ記憶回路と、 前記第1のデータ記憶回路と同じ構成の第2のデータ記
    憶回路と、 を備え、 前記第1のデータ記憶回路と第2のデータ記憶回路は、
    一方が運用系で他方が予備系として動作し、 更に、フラッシュメモリ制御回路と、外部からのアクセスアドレスとデータ記憶装置の各ブロ
    ックのフラッシュメモリ部のアドレスとの対応を アドレ
    ス変換情報として記憶保持する保持するアドレス変換制
    御回路と、 を備え、 前記フラッシュメモリ制御回路、外部のホストからデ
    ータ書込み要求がある、運用系のデータ記憶回路の該
    当ブロックの書換え情報保持部の若番アドレスから書換
    えアドレスと書換えデータを書込むとともに、前記ア
    ドレス変換制御回路のアドレス変換情報における該当書
    込みアドレスに対応する情報を、前記書換えデータが書
    き込まれた前記書換え情報保持部のデータ格納アドレス
    に書き換え、前記 外部ホストからのデータ読み取り指示の際は、指定
    されたアドレスに対し、前記アドレス変換制御回路を通
    して前記データ記憶回路にデータ読み取りを行い、前記
    外部ホストに返送し、さらに、前記フラッシュメモリ制御回路は、運用系のデ
    ータ記憶部の各ブロックの書換え情報保持部の記憶容量
    に書込み余裕がなくなった場合、前記アドレス 変換制御
    回路のアドレス変換情報の該当ブロックに対応する全て
    のアドレスの記憶情報を運用系のデータ記憶回路から読
    み出し、読み出した情報を予備系のデータ記憶回路の該
    当ブロックの対応するアドレスに書き込み、 前記アドレス変換制御回路のアドレス変換情報の該当ブ
    ロックの情報を、運用系のデータ記憶回路から読み出し
    た情報の書込みを行った予備系のデータ記憶回路の該当
    アドレスに書き換える指示を行い予備系のデータ記憶回路の該当ブロックの書換え情報保
    持部に、運用系情報を書込むことで、運用系と予備系を
    入れ替え新しく予備系となったデータ記憶回路の該当フラッシュ
    メモリ部と書換え情報保持部を消去し、前記新しく予備
    系となったデータ記憶回路の該書換え情報保持部に書換
    え回数を1回加算した値を書き込む 、 ことを特徴とする記憶装置。
  2. 【請求項2】前記フラッシュメモリ制御回路において、
    電源投入時と、前記外部ホストからのリセット指示時
    に、前記第1、第2のデータ記憶回路の各ブロックの書
    換え情報保持部の運用系情報を読み出し、運用系と予備
    系を判定し、外部からのアクセスアドレスと運用系の各
    ブロックのフラッシュメモリ部のアドレスとの対応をア
    ドレス変換制御回路に書込み指示し、 その後、前記書換え情報保持部に格納されている、書換
    えアドレスを読み出しアドレス情報として、前記書換え
    情報保持部のデータ格納アドレスをデータ情報として
    記アドレス変換制御回路に送出し、書換えアドレスの変
    更を指示することにより前記アドレス変換制御回路が保
    するアドレス変換情報を自動的に復元する、ことを特
    徴とする請求項1記載の記憶装置。
  3. 【請求項3】前記フラッシュメモリ制御回路において、
    前記外部ホストからの運用系指定指示時に、前記第1、
    第2のデータ記憶回路の各ブロックの書換え情報保持部
    の運用系情報を読み出し、運用系と予備系を判定し、
    外部ホストから指示された運用系で動作していないブ
    ロックを検出し、 前記アドレス変換制御回路の該当ブロックの全アドレス
    の記憶情報を運用系のデータ記憶回路から読み出し、予
    備系のデータ記憶回路の該当ブロックの対応するアドレ
    スに書き込み、前記アドレス変換制御回路の該当ブロッ
    クに対して、運用系のデータ記憶回路情報書込みを
    行った予備系のデータ記憶回路のアドレス情報に書き換
    える指示を送出し、予備系の該当ブロックの書換え情報
    保持部に運用系情報を書込み、運用系と予備系を入れ替
    え、新たな 予備系のデータ記憶回路の該当フラッシュメモリ
    部と書換え情報保持部を消去し、前記新たな予備系のデ
    ータ記憶回路の該書換え情報保持部に書換え回数を1回
    加算した値を書き込むことにより指定された運用系に切
    り替えて動作することを特徴とする請求項1記載の記
    憶装置。
JP14331897A 1997-05-16 1997-05-16 記憶装置 Expired - Lifetime JP3070524B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14331897A JP3070524B2 (ja) 1997-05-16 1997-05-16 記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14331897A JP3070524B2 (ja) 1997-05-16 1997-05-16 記憶装置

Publications (2)

Publication Number Publication Date
JPH10320296A JPH10320296A (ja) 1998-12-04
JP3070524B2 true JP3070524B2 (ja) 2000-07-31

Family

ID=15336001

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14331897A Expired - Lifetime JP3070524B2 (ja) 1997-05-16 1997-05-16 記憶装置

Country Status (1)

Country Link
JP (1) JP3070524B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04287143A (ja) * 1991-03-15 1992-10-12 Fujitsu Ltd データ記憶装置
JP2582487B2 (ja) * 1991-07-12 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 半導体メモリを用いた外部記憶システム及びその制御方法
JP2856621B2 (ja) * 1993-02-24 1999-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置
JPH0765591A (ja) * 1993-08-30 1995-03-10 Tec Corp 情報処理装置
JPH0798992A (ja) * 1993-09-30 1995-04-11 Toshiba Corp データ処理装置
JPH07219720A (ja) * 1993-10-01 1995-08-18 Hitachi Maxell Ltd 半導体メモリ装置ならびにその制御方法
JPH08195098A (ja) * 1995-01-17 1996-07-30 Nec Corp フラッシュメモリ装置

Also Published As

Publication number Publication date
JPH10320296A (ja) 1998-12-04

Similar Documents

Publication Publication Date Title
JP4268396B2 (ja) 1回プログラム可能な不揮発性メモリデバイスのファイル管理
JP3898305B2 (ja) 半導体記憶装置、半導体記憶装置の制御装置及び制御方法
US8051270B2 (en) Memory controller, nonvolatile storage device, nonvolatile storage system, and memory control method
US6795890B1 (en) Data storage method, and data processing device using an erasure block buffer and write buffer for writing and erasing data in memory
JP2006048893A (ja) 不良ブロック管理機能を有するフラッシュメモリ装置及びフラッシュメモリ装置の不良ブロック管理方法
JP4315488B2 (ja) データ記憶装置、データ処理装置、データ処理システム並びにデータ処理方法
JPH11126488A (ja) フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置
JPWO2006093201A1 (ja) メモリモジュール、メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びメモリの読み書き方法
JPH0291749A (ja) 不揮発型半導体メモリ装置
JP2006285600A (ja) 記憶装置、メモリ管理装置、メモリ管理方法及びプログラム
WO2003067605A1 (fr) Dispositif a memoire non volatile et son procede de commande
JP2768618B2 (ja) 半導体ディスク装置
US8527733B2 (en) Memory system
JP4829202B2 (ja) 記憶装置及びメモリ制御方法
JP2003076605A (ja) ブロック消去型不揮発メモリを搭載した半導体記憶装置とそのデータの書込み・読出し方法
JP2011209963A (ja) メモリ制御装置及びメモリ制御方法
JP3070524B2 (ja) 記憶装置
JPH07248978A (ja) 不揮発性メモリ
JPH1139221A (ja) 不揮発性半導体メモリに対する書き込みアクセス・リフレッシュ制御方法、並びに半導体ファイル記憶装置
CN109147847B (zh) 半导体装置和闪存存储器控制方法
JPH06222986A (ja) メモリ制御装置
JP3166659B2 (ja) 記憶装置
JP2000276461A (ja) マイクロコンピュータ
JPH11282690A (ja) 制御プログラムの書込方法及び情報処理装置並びに情報処理システム
JPH06332795A (ja) 電気的消去可能な不揮発性メモリの制御方法及びシステム

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000425