JPH1185629A - フラッシュ・メモリの管理方式 - Google Patents
フラッシュ・メモリの管理方式Info
- Publication number
- JPH1185629A JPH1185629A JP10256098A JP10256098A JPH1185629A JP H1185629 A JPH1185629 A JP H1185629A JP 10256098 A JP10256098 A JP 10256098A JP 10256098 A JP10256098 A JP 10256098A JP H1185629 A JPH1185629 A JP H1185629A
- Authority
- JP
- Japan
- Prior art keywords
- unit area
- data
- area
- minimum
- sector number
- 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
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
(57)【要約】
【課題】 通信装置や情報処理装置の補助記憶装置に
適用されるフラッシュ・メモリの管理方式に関し、最小
消去単位領域内のデータ記憶密度を向上させ、併用され
る揮発性メモリ上で情報が消失しても復元でき、最小消
去単位領域の書換え消去回数を平均化すると共に書換え
消去回数を縮減でき、最小消去単位領域毎の書換え消去
回数を管理する手段を設ける必要がなく、データの書込
み動作が最小消去単位領域の消去動作によって遅延させ
られず、更に、書込み不能なチップや書込み不能な最小
消去単位領域をスキップするための管理を、正常な場合
と全く同じにすることができるフラッシュ・メモリの管
理方式を提供する。 【解決手段】 フラッシュ・メモリの最小消去単位領
域を任意の大きさの書込み単位領域に分割し、特定の書
込み単位領域を当該最小消去単位領域の全ての書込み単
位領域を管理する管理領域とし、残余の書込み単位領域
をデータを格納する記憶領域とするように構成する。
適用されるフラッシュ・メモリの管理方式に関し、最小
消去単位領域内のデータ記憶密度を向上させ、併用され
る揮発性メモリ上で情報が消失しても復元でき、最小消
去単位領域の書換え消去回数を平均化すると共に書換え
消去回数を縮減でき、最小消去単位領域毎の書換え消去
回数を管理する手段を設ける必要がなく、データの書込
み動作が最小消去単位領域の消去動作によって遅延させ
られず、更に、書込み不能なチップや書込み不能な最小
消去単位領域をスキップするための管理を、正常な場合
と全く同じにすることができるフラッシュ・メモリの管
理方式を提供する。 【解決手段】 フラッシュ・メモリの最小消去単位領
域を任意の大きさの書込み単位領域に分割し、特定の書
込み単位領域を当該最小消去単位領域の全ての書込み単
位領域を管理する管理領域とし、残余の書込み単位領域
をデータを格納する記憶領域とするように構成する。
Description
【0001】
【発明の属する技術分野】本発明は、通信装置や情報処
理装置の補助記憶装置に適用されるフラッシュ・メモリ
の管理方式に係り、特に、最小消去単位領域(所謂セク
タである。)内のデータ記憶密度を向上させることがで
き、フラッシュ・メモリの管理のために併用される揮発
性メモリ上でデータや管理情報が消失してもそれを復元
することができ、最小消去単位領域の書換え消去回数を
平均化すると共に書換え消去回数を縮減することがで
き、最小消去単位領域毎の書換え消去回数を管理するた
めだけの手段を設ける必要がなく、データの書込み動作
が最小消去単位領域の消去動作によって遅延させられ
ず、更に、書込み不能な最小消去単位領域や書込み不能
なチップをスキップするための管理を、当該最小消去単
位領域や当該チップが正常な場合と全く同様に行なうこ
とができるフラッシュ・メモリの管理方式に関する。
理装置の補助記憶装置に適用されるフラッシュ・メモリ
の管理方式に係り、特に、最小消去単位領域(所謂セク
タである。)内のデータ記憶密度を向上させることがで
き、フラッシュ・メモリの管理のために併用される揮発
性メモリ上でデータや管理情報が消失してもそれを復元
することができ、最小消去単位領域の書換え消去回数を
平均化すると共に書換え消去回数を縮減することがで
き、最小消去単位領域毎の書換え消去回数を管理するた
めだけの手段を設ける必要がなく、データの書込み動作
が最小消去単位領域の消去動作によって遅延させられ
ず、更に、書込み不能な最小消去単位領域や書込み不能
なチップをスキップするための管理を、当該最小消去単
位領域や当該チップが正常な場合と全く同様に行なうこ
とができるフラッシュ・メモリの管理方式に関する。
【0002】通信装置や情報処理装置に対する高機能
化、高性能化の要請は常に強いものがあるが、特に近年
のダウンサイジング、パーソナルな通信や情報処理の進
展及びパーソナルな通信と情報処理の統合によって、高
機能化、高性能化の要請と共に、小型化の要請が加速さ
れている。
化、高性能化の要請は常に強いものがあるが、特に近年
のダウンサイジング、パーソナルな通信や情報処理の進
展及びパーソナルな通信と情報処理の統合によって、高
機能化、高性能化の要請と共に、小型化の要請が加速さ
れている。
【0003】通信装置においては、古くはハードウェア
・ロジックによって様々な機能を実現していたが、止ま
るところを知らない高機能化、高性能化、小型化の要請
に的確に対応するために、プログラム制御形の中央演算
処理装置を適用することが必須になってからでも長い年
月が経っている。
・ロジックによって様々な機能を実現していたが、止ま
るところを知らない高機能化、高性能化、小型化の要請
に的確に対応するために、プログラム制御形の中央演算
処理装置を適用することが必須になってからでも長い年
月が経っている。
【0004】一方、もとよりプログラム制御形の中央演
算処理装置を適用して高機能化、高性能化に柔軟に対応
していた情報処理装置においても、小型化の要請には厳
しいものがある。例えば、所謂モーバイル・コンピュー
ティングのように通信と統合されるケースにおいても、
所謂ノート・パソコンのようにスタンド・アロンの形態
で使用されるケースにおいても、ポータブルであること
の重要性が一層増しており、小型化、軽量化が必須要件
になっている。
算処理装置を適用して高機能化、高性能化に柔軟に対応
していた情報処理装置においても、小型化の要請には厳
しいものがある。例えば、所謂モーバイル・コンピュー
ティングのように通信と統合されるケースにおいても、
所謂ノート・パソコンのようにスタンド・アロンの形態
で使用されるケースにおいても、ポータブルであること
の重要性が一層増しており、小型化、軽量化が必須要件
になっている。
【0005】又、ワークステーションやパーソナル・コ
ンピュータの高機能化、高性能化を背景にした所謂ダウ
ンサイジングが浸透するにつれて、可搬型でなくてもワ
ークステーションやパーソナル・コンピュータに対して
更なる小型化の要請が強くなっている。
ンピュータの高機能化、高性能化を背景にした所謂ダウ
ンサイジングが浸透するにつれて、可搬型でなくてもワ
ークステーションやパーソナル・コンピュータに対して
更なる小型化の要請が強くなっている。
【0006】しかも、ワークステーションやパーソナル
・コンピュータが通信関係の装置の構成要素として使用
されるようにもなってきている。かかる通信装置や情報
処理装置を小型化する場合、システム設計上のバランス
に配慮すると、特定の部位のみに厳しい要求をすること
は避けるべきであるが、現状から判断すると補助記憶装
置の小型化は優先されるべきものと考えるのが妥当であ
る。
・コンピュータが通信関係の装置の構成要素として使用
されるようにもなってきている。かかる通信装置や情報
処理装置を小型化する場合、システム設計上のバランス
に配慮すると、特定の部位のみに厳しい要求をすること
は避けるべきであるが、現状から判断すると補助記憶装
置の小型化は優先されるべきものと考えるのが妥当であ
る。
【0007】補助記憶装置には不揮発性であること及び
大容量であることが要請される。従って、通常、ハード
・ディスク記憶装置が適用されることが多い。そのハー
ド・ディスク記憶装置自体の小型化、高信頼化について
も多大な努力が払われており、小型化の実績には驚異的
なものがあることは誰もが認めるところである。
大容量であることが要請される。従って、通常、ハード
・ディスク記憶装置が適用されることが多い。そのハー
ド・ディスク記憶装置自体の小型化、高信頼化について
も多大な努力が払われており、小型化の実績には驚異的
なものがあることは誰もが認めるところである。
【0008】しかし、記憶媒体上に浮いたヘッドによっ
て読み書きをするという動作原理と、回転機構を必要と
する構造により、その小型化に限界があってもいたしか
たないものと思われる。
て読み書きをするという動作原理と、回転機構を必要と
する構造により、その小型化に限界があってもいたしか
たないものと思われる。
【0009】しかも、通信装置や情報処理装置は24時
間の連続運転を要求されることが通常であるが、回転機
構の存在がハード・ディスク記憶装置の寿命を短くする
ことが原因となって通信装置、情報処理装置自体の信頼
性をも制限することになっている。
間の連続運転を要求されることが通常であるが、回転機
構の存在がハード・ディスク記憶装置の寿命を短くする
ことが原因となって通信装置、情報処理装置自体の信頼
性をも制限することになっている。
【0010】又、商品の性格から見ても、ハード・ディ
スク記憶装置の商品寿命は短く、物理的な寿命に達して
交換が必要とされる時に当該ハード・ディスク記憶装置
の商品寿命が終わっており、交換対象のものと同一のハ
ード・ディスク記憶装置が市場には存在しないこともあ
る。
スク記憶装置の商品寿命は短く、物理的な寿命に達して
交換が必要とされる時に当該ハード・ディスク記憶装置
の商品寿命が終わっており、交換対象のものと同一のハ
ード・ディスク記憶装置が市場には存在しないこともあ
る。
【0011】このため、交換の際に異なる仕様のハード
・ディスク記憶装置を採用せざるを得ず、それに伴って
ハードウェア、ソフトウェア両面にわたる設計変更を余
儀なくされる。これは、限りある人的リソースをマイナ
ス指向で使うことにつながるものであり、しかも多大な
経費の発生と時間の消費を伴うものであるので、健全な
企業運営のためには避けるべきものである。
・ディスク記憶装置を採用せざるを得ず、それに伴って
ハードウェア、ソフトウェア両面にわたる設計変更を余
儀なくされる。これは、限りある人的リソースをマイナ
ス指向で使うことにつながるものであり、しかも多大な
経費の発生と時間の消費を伴うものであるので、健全な
企業運営のためには避けるべきものである。
【0012】上記の如き設計変更を回避するために、バ
ックアップ用に同一仕様のハード・ディスク記憶装置を
通信装置や情報処理装置のメーカーで購入して保管し、
ハード・ディスク記憶装置が寿命に達した時に交換する
という手法が採られることがあるが、これは棚卸し資産
の増加を招くので、やはり経営上好ましくない。
ックアップ用に同一仕様のハード・ディスク記憶装置を
通信装置や情報処理装置のメーカーで購入して保管し、
ハード・ディスク記憶装置が寿命に達した時に交換する
という手法が採られることがあるが、これは棚卸し資産
の増加を招くので、やはり経営上好ましくない。
【0013】このような事情から、補助記憶装置を回転
機構が不要な半導体メモリに転換することが急務となっ
ている。電気的な手段で消去が可能で、電源を断にして
も記憶内容を保持できる、即ち不揮発性である半導体メ
モリには、電気的に消去可能なプログラマブル読み出し
専用メモリ(E2 PROM)とフラッシュ・メモリとが
あるが、いずれにおいても書換え消去回数によって物理
的な寿命が制限される。
機構が不要な半導体メモリに転換することが急務となっ
ている。電気的な手段で消去が可能で、電源を断にして
も記憶内容を保持できる、即ち不揮発性である半導体メ
モリには、電気的に消去可能なプログラマブル読み出し
専用メモリ(E2 PROM)とフラッシュ・メモリとが
あるが、いずれにおいても書換え消去回数によって物理
的な寿命が制限される。
【0014】特に、補助記憶装置に適用されて書換え消
去が頻繁に行なわれるフラッシュ・メモリにおいては、
書換え消去回数による寿命の制限は致命的な問題であ
り、寿命を延長するための手段の開発が強く要請されて
いる。
去が頻繁に行なわれるフラッシュ・メモリにおいては、
書換え消去回数による寿命の制限は致命的な問題であ
り、寿命を延長するための手段の開発が強く要請されて
いる。
【0015】
【従来の技術】図13は、フラッシュ・メモリの構成
で、フラッシュ・メモリの1チップを示している。
で、フラッシュ・メモリの1チップを示している。
【0016】図13において、1はフラッシュ・メモリ
のチップであり、10、11、12及び13は該フラッ
シュ・メモリのチップ1内の最小消去単位領域(前述の
如くセクタと呼ばれることが多いが、この明細書では原
則として“最小消去単位領域”を用いる。一方、複合語
に“最小消去単位領域”を用いると表現が煩雑になる場
合及び図中の表示を簡単にする場合には“セクタ”を用
いる。)である。フラッシュ・メモリにおいては、格納
内容が消去された領域に新たに書込みを行なうことがで
きるが、一括に消去をすることができる最小の領域が最
小消去単位領域である。
のチップであり、10、11、12及び13は該フラッ
シュ・メモリのチップ1内の最小消去単位領域(前述の
如くセクタと呼ばれることが多いが、この明細書では原
則として“最小消去単位領域”を用いる。一方、複合語
に“最小消去単位領域”を用いると表現が煩雑になる場
合及び図中の表示を簡単にする場合には“セクタ”を用
いる。)である。フラッシュ・メモリにおいては、格納
内容が消去された領域に新たに書込みを行なうことがで
きるが、一括に消去をすることができる最小の領域が最
小消去単位領域である。
【0017】そして、通常は特定のデータを特定の最小
消去単位領域に格納している。従って、書換えが頻繁に
行われるデータを格納した最小消去単位領域は早期に書
換え消去回数が規定回数に達し、書換え回数が少ないデ
ータを格納した最小消去単位領域は書換え消去回数に余
裕を持っているということになる。
消去単位領域に格納している。従って、書換えが頻繁に
行われるデータを格納した最小消去単位領域は早期に書
換え消去回数が規定回数に達し、書換え回数が少ないデ
ータを格納した最小消去単位領域は書換え消去回数に余
裕を持っているということになる。
【0018】フラッシュ・メモリを適用した記憶装置の
書換え消去回数制限に対する寿命延長手段としては下記
のものがある。即ち、フラッシュ・メモリを構成する最
小消去単位領域毎に書換え消去回数を管理し、書換え消
去回数が規定の回数に達した最小消去単位領域に格納さ
れているデータを、書換え消去回数が少ない(“規定回
数に対して遙かに余裕がある”と言う意味である。)最
小消去単位領域に格納されているデータと入れ換えるこ
とによって、各最小消去単位領域の書換え消去回数を平
均化して寿命延長を図っている。
書換え消去回数制限に対する寿命延長手段としては下記
のものがある。即ち、フラッシュ・メモリを構成する最
小消去単位領域毎に書換え消去回数を管理し、書換え消
去回数が規定の回数に達した最小消去単位領域に格納さ
れているデータを、書換え消去回数が少ない(“規定回
数に対して遙かに余裕がある”と言う意味である。)最
小消去単位領域に格納されているデータと入れ換えるこ
とによって、各最小消去単位領域の書換え消去回数を平
均化して寿命延長を図っている。
【0019】図14は、通信装置、情報処理装置及びそ
れらに適用される各種端末装置で使用される、一般的な
中央演算処理装置の構成である。図14において、51
は中央処理ユニット(図ではCPUと表示してい
る。)、52は処理中のデータや実行中のプログラムな
どを格納する主記憶装置である。53は大量のデータを
格納する補助記憶装置で、ここではフラッシュ・メモリ
で構成される補助記憶装置を想定している。54は該補
助記憶装置53の管理データを格納したり、該補助記憶
装置53からデータを転送して一時記憶し、該データの
書換えを行なうバッファ・メモリで、高速性が重要なた
めに通常揮発性のランダム・アクセス・メモリが適用さ
れる。55はデータの入力や中央処理ユニットでの処理
結果の表示及び印字を行なう入出力装置である。
れらに適用される各種端末装置で使用される、一般的な
中央演算処理装置の構成である。図14において、51
は中央処理ユニット(図ではCPUと表示してい
る。)、52は処理中のデータや実行中のプログラムな
どを格納する主記憶装置である。53は大量のデータを
格納する補助記憶装置で、ここではフラッシュ・メモリ
で構成される補助記憶装置を想定している。54は該補
助記憶装置53の管理データを格納したり、該補助記憶
装置53からデータを転送して一時記憶し、該データの
書換えを行なうバッファ・メモリで、高速性が重要なた
めに通常揮発性のランダム・アクセス・メモリが適用さ
れる。55はデータの入力や中央処理ユニットでの処理
結果の表示及び印字を行なう入出力装置である。
【0020】その他、中央演算処理装置には通信インタ
フェースなどが設置されるケースが多いが、本発明の対
象である補助記憶装置を中心に図示しているので、図1
4ではそれらの図示を省略している。
フェースなどが設置されるケースが多いが、本発明の対
象である補助記憶装置を中心に図示しているので、図1
4ではそれらの図示を省略している。
【0021】フラッシュ・メモリからなる補助記憶装置
において、例えば或る最小消去単位領域の書換え消去回
数が規定回数に達して、該書換え消去回数が規定回数に
達した最小消去単位領域に格納されているデータを、書
換え消去が行なわれるのが稀なために書換え消去回数が
該規定回数に対して余裕がある最小消去単位領域に格納
されているデータと入れ換えを行なう場合に、入れ換え
対象のデータを高速の揮発性メモリを適用したバッファ
・メモリに一旦転送し、フラッシュ・メモリ上の書換え
消去回数が規定回数に達した最小消去単位領域と書換え
消去回数に余裕がある最小消去単位領域に格納されてい
るデータを消去し、必要なら該バッファ・メモリ上に転
送されたデータの書換えを行なった後で、書換え消去回
数が多い方のデータを書換え消去回数に余裕がある最小
消去単位領域に書込み、書換え消去回数が少ない方のデ
ータを書換え消去回数が規定回数に達した最小消去単位
領域に書込むという処理を行なっている。
において、例えば或る最小消去単位領域の書換え消去回
数が規定回数に達して、該書換え消去回数が規定回数に
達した最小消去単位領域に格納されているデータを、書
換え消去が行なわれるのが稀なために書換え消去回数が
該規定回数に対して余裕がある最小消去単位領域に格納
されているデータと入れ換えを行なう場合に、入れ換え
対象のデータを高速の揮発性メモリを適用したバッファ
・メモリに一旦転送し、フラッシュ・メモリ上の書換え
消去回数が規定回数に達した最小消去単位領域と書換え
消去回数に余裕がある最小消去単位領域に格納されてい
るデータを消去し、必要なら該バッファ・メモリ上に転
送されたデータの書換えを行なった後で、書換え消去回
数が多い方のデータを書換え消去回数に余裕がある最小
消去単位領域に書込み、書換え消去回数が少ない方のデ
ータを書換え消去回数が規定回数に達した最小消去単位
領域に書込むという処理を行なっている。
【0022】
【発明が解決しようとする課題】フラッシュ・メモリを
適用した補助記憶装置の管理方式における従来の寿命延
長手段には以下に述べる問題がある。
適用した補助記憶装置の管理方式における従来の寿命延
長手段には以下に述べる問題がある。
【0023】即ち、 最小消去単位領域を単位としてデータの書込みを行
なうので、特に、一のデータの規模が小さい場合には最
小消去単位領域の記憶密度が低く、フラッシュ・メモリ
の利用効率が悪くなる。
なうので、特に、一のデータの規模が小さい場合には最
小消去単位領域の記憶密度が低く、フラッシュ・メモリ
の利用効率が悪くなる。
【0024】 通信装置や情報処理装置においては、
特定のデータに書換えが集中することが多い。この場
合、特定のデータに特定の最小消去単位領域を固定的に
割り当てる従来の方式では、書換えの頻度が高いデータ
に割り当てられた最小消去単位領域は早く書換え消去の
規定回数に達して、書換え消去回数が少ない最小消去単
位領域との間でデータの入れ換えなければならなくな
る。つまり、格納されるデータの性質の違いによって最
小消去単位領域毎の書換え消去回数を平均化することが
できず、特定の最小消去単位領域の書換え消去回数が突
出し、当該最小消去単位領域は早期に使用不能になる。
特定のデータに書換えが集中することが多い。この場
合、特定のデータに特定の最小消去単位領域を固定的に
割り当てる従来の方式では、書換えの頻度が高いデータ
に割り当てられた最小消去単位領域は早く書換え消去の
規定回数に達して、書換え消去回数が少ない最小消去単
位領域との間でデータの入れ換えなければならなくな
る。つまり、格納されるデータの性質の違いによって最
小消去単位領域毎の書換え消去回数を平均化することが
できず、特定の最小消去単位領域の書換え消去回数が突
出し、当該最小消去単位領域は早期に使用不能になる。
【0025】そうなった最小消去単位領域は使用しない
ようにして、当該最小消去単位領域に格納されていたデ
ータには新たな最小消去単位領域を割当てるということ
をしても、その最小消去単位領域も早期に使用不能にな
る。従って、フラッシュ・メモリのチップ自体が早期に
使用不能に陥る。
ようにして、当該最小消去単位領域に格納されていたデ
ータには新たな最小消去単位領域を割当てるということ
をしても、その最小消去単位領域も早期に使用不能にな
る。従って、フラッシュ・メモリのチップ自体が早期に
使用不能に陥る。
【0026】これを避けるために、上記のように書換え
消去回数が規定回数に達した最小消去単位領域に格納さ
れているデータと、書換え消去回数が少ないために該書
換え消去回数が規定回数に達した最小消去単位領域に書
換えられるデータを入れ換えることをする。しかし、こ
れについても下記の問題がある。
消去回数が規定回数に達した最小消去単位領域に格納さ
れているデータと、書換え消去回数が少ないために該書
換え消去回数が規定回数に達した最小消去単位領域に書
換えられるデータを入れ換えることをする。しかし、こ
れについても下記の問題がある。
【0027】即ち、入れ換えを行なうに当たっては、書
換え消去回数が規定回数に達した最小消去単位領域に格
納されているデータと、書換え消去回数が少ない最小消
去単位領域に格納されているデータを、一旦外部のバッ
ファ・メモリに転送して、フラッシュ・メモリ上の書換
え消去回数が規定回数に達した最小消去単位領域に格納
されているデータと、書換え消去回数が少ない最小消去
単位領域に格納されているデータを消去した後で、格納
する最小消去単位領域を交換するように該バッファ・メ
モリから二のデータがフラッシュ・メモリ上に再転送さ
れて、格納しなおされる。
換え消去回数が規定回数に達した最小消去単位領域に格
納されているデータと、書換え消去回数が少ない最小消
去単位領域に格納されているデータを、一旦外部のバッ
ファ・メモリに転送して、フラッシュ・メモリ上の書換
え消去回数が規定回数に達した最小消去単位領域に格納
されているデータと、書換え消去回数が少ない最小消去
単位領域に格納されているデータを消去した後で、格納
する最小消去単位領域を交換するように該バッファ・メ
モリから二のデータがフラッシュ・メモリ上に再転送さ
れて、格納しなおされる。
【0028】上記入れ換え動作を行なうために、当然、
書換え消去回数が少ない最小消去単位領域の検索を行な
う必要がある。この検索を行なっている時間にはフラッ
シュ・メモリへのデータの書込み及びフラッシュ・メモ
リからのデータの読出しを行なうことはできない。
書換え消去回数が少ない最小消去単位領域の検索を行な
う必要がある。この検索を行なっている時間にはフラッ
シュ・メモリへのデータの書込み及びフラッシュ・メモ
リからのデータの読出しを行なうことはできない。
【0029】又、上記二のデータの入れ換え時のフラッ
シュ・メモリとバッファ・メモリ間のデータ転送と、フ
ラッシュ・メモリ上の入れ換え対象の最小消去単位領域
の記憶内容を消去をしている間にもフラッシュ・メモリ
へのデータの書込み及びフラッシュ・メモリからのデー
タの読出しを行なうことはできない。
シュ・メモリとバッファ・メモリ間のデータ転送と、フ
ラッシュ・メモリ上の入れ換え対象の最小消去単位領域
の記憶内容を消去をしている間にもフラッシュ・メモリ
へのデータの書込み及びフラッシュ・メモリからのデー
タの読出しを行なうことはできない。
【0030】従って、上記入れ換え動作は通信装置や情
報処理装置本来の処理能力を低下させることになる。 フラッシュ・メモリに格納されているデータの書換
えを行なう時、書換え対象となるデータを格納している
最小消去単位領域内の全データを一旦バッファ・メモリ
に転送してからフラッシュ・メモリ上の最小消去単位領
域に格納されているデータを消去し、転送先のバッファ
・メモリ上でデータの書換えを行なった後で、フラッシ
ュ・メモリの元の最小消去単位領域に転送するという処
理を行なっている。このデータの転送は最小消去単位領
域を単位に行なわれるので、当然、一回に転送されるデ
ータ量が多くなる。これは、書換え消去回数が規定に達
したために書換え消去回数が少ない最小消去単位領域の
データと入れ換えをする時にも同じことである。
報処理装置本来の処理能力を低下させることになる。 フラッシュ・メモリに格納されているデータの書換
えを行なう時、書換え対象となるデータを格納している
最小消去単位領域内の全データを一旦バッファ・メモリ
に転送してからフラッシュ・メモリ上の最小消去単位領
域に格納されているデータを消去し、転送先のバッファ
・メモリ上でデータの書換えを行なった後で、フラッシ
ュ・メモリの元の最小消去単位領域に転送するという処
理を行なっている。このデータの転送は最小消去単位領
域を単位に行なわれるので、当然、一回に転送されるデ
ータ量が多くなる。これは、書換え消去回数が規定に達
したために書換え消去回数が少ない最小消去単位領域の
データと入れ換えをする時にも同じことである。
【0031】即ち、フラッシュ・メモリからバッファ・
メモリへのデータ転送とバッファ・メモリからフラッシ
ュ・メモリへのデータ転送に長時間を要するために、通
信装置や情報処理装置が本来行なうべき処理を遅延さ
せ、通信装置や情報処理装置本来の処理能力を低下させ
る。
メモリへのデータ転送とバッファ・メモリからフラッシ
ュ・メモリへのデータ転送に長時間を要するために、通
信装置や情報処理装置が本来行なうべき処理を遅延さ
せ、通信装置や情報処理装置本来の処理能力を低下させ
る。
【0032】 二のデータの入れ換えやデータの書換
えの時には、上記の如く、対象となるデータを一旦バッ
ファ・メモリに転送し、再びフラッシュ・メモリ上にデ
ータを転送する。この両方向の転送を高速に行なう必要
性があるためにバッファ・メモリには揮発性のメモリが
適用される。
えの時には、上記の如く、対象となるデータを一旦バッ
ファ・メモリに転送し、再びフラッシュ・メモリ上にデ
ータを転送する。この両方向の転送を高速に行なう必要
性があるためにバッファ・メモリには揮発性のメモリが
適用される。
【0033】従って、データをバッファ・メモリに転送
した後で当該バッファ・メモリの電源に断障害が発生す
ると、バッファ・メモリに転送されたデータが消滅する
が、現状の方式では消滅したデータを復元することはで
きず、補助記憶装置として著しい信頼性の低下を招く。
した後で当該バッファ・メモリの電源に断障害が発生す
ると、バッファ・メモリに転送されたデータが消滅する
が、現状の方式では消滅したデータを復元することはで
きず、補助記憶装置として著しい信頼性の低下を招く。
【0034】この対策として、単純にバッファ・メモリ
をフラッシュ・メモリ上に設けるというのでは、フラッ
シュ・メモリ上の捕縄記憶本来のための領域が縮減され
ると共に、バッファ・メモリ領域として使用される最小
消去単位領域での書換え消去回数が当然最も多くなり、
当該最小消去単位領域が早く使用不可能になる。
をフラッシュ・メモリ上に設けるというのでは、フラッ
シュ・メモリ上の捕縄記憶本来のための領域が縮減され
ると共に、バッファ・メモリ領域として使用される最小
消去単位領域での書換え消去回数が当然最も多くなり、
当該最小消去単位領域が早く使用不可能になる。
【0035】この対策として、フラッシュ・メモリ上の
バッファ・メモリ領域に対して予備領域を設けると、補
助記憶本来のための記憶領域が一層縮減される。 各最小消去単位領域毎の書換え消去回数やデータの
格納位置情報等の管理情報が消失しないようにするため
に、フラッシュ・メモリ上にそれらを格納すると、やは
り、補助記憶のための領域が縮減される。
バッファ・メモリ領域に対して予備領域を設けると、補
助記憶本来のための記憶領域が一層縮減される。 各最小消去単位領域毎の書換え消去回数やデータの
格納位置情報等の管理情報が消失しないようにするため
に、フラッシュ・メモリ上にそれらを格納すると、やは
り、補助記憶のための領域が縮減される。
【0036】その上、管理情報は書換え消去回数が多い
ので、管理情報格納領域の予備領域を設けなくてはなら
ないことになって、補助記憶本来のための記憶領域が一
層縮減されることになる。
ので、管理情報格納領域の予備領域を設けなくてはなら
ないことになって、補助記憶本来のための記憶領域が一
層縮減されることになる。
【0037】逆に、管理情報を揮発性メモリに格納して
おく場合には、電源断による管理情報の消失という問題
から逃れられない。という問題である。
おく場合には、電源断による管理情報の消失という問題
から逃れられない。という問題である。
【0038】しかも、 最小消去単位領域毎に書換え消去回数を計数するた
めの計数手段を備えておく必要がある。という問題や、 書込み不能になったフラッシュ・メモリのチップや
最小消去単位領域をスキップして書込みを行なう場合の
フラッシュ・メモリの管理方式がフラッシュ・メモリが
正常な状態での管理方式と異なり、フラッシュ・メモリ
の管理方式が複雑になる。という問題もある。
めの計数手段を備えておく必要がある。という問題や、 書込み不能になったフラッシュ・メモリのチップや
最小消去単位領域をスキップして書込みを行なう場合の
フラッシュ・メモリの管理方式がフラッシュ・メモリが
正常な状態での管理方式と異なり、フラッシュ・メモリ
の管理方式が複雑になる。という問題もある。
【0039】本発明は、かかる問題に鑑み、最小消去単
位領域内のデータ記憶密度を向上させることができ、併
用される揮発性メモリ上でデータや管理情報が消失して
も復元することができる上に揮発性メモリに格納した情
報をバックアップのためにフラッシュ・メモリ上に格納
する必要がなく、最小消去単位領域の書換え消去回数を
平均化すると共に書換え消去回数を縮減することがで
き、最小消去単位領域毎の書換え消去回数を管理する手
段を別に設ける必要がなく、データの書込み動作が最小
消去単位領域の消去動作によって遅延させられることが
なく、更に、書込み不能なチップや書込み不能な最小消
去単位領域をスキップするための管理を書込み不能なチ
ップや最小消去単位領域がない場合と全く同様に行なう
ことができるフラッシュ・メモリの管理方式を提供する
ことを目的とする。
位領域内のデータ記憶密度を向上させることができ、併
用される揮発性メモリ上でデータや管理情報が消失して
も復元することができる上に揮発性メモリに格納した情
報をバックアップのためにフラッシュ・メモリ上に格納
する必要がなく、最小消去単位領域の書換え消去回数を
平均化すると共に書換え消去回数を縮減することがで
き、最小消去単位領域毎の書換え消去回数を管理する手
段を別に設ける必要がなく、データの書込み動作が最小
消去単位領域の消去動作によって遅延させられることが
なく、更に、書込み不能なチップや書込み不能な最小消
去単位領域をスキップするための管理を書込み不能なチ
ップや最小消去単位領域がない場合と全く同様に行なう
ことができるフラッシュ・メモリの管理方式を提供する
ことを目的とする。
【0040】
【課題を解決するための手段】第一の発明は、フラッシ
ュ・メモリの最小消去単位領域を任意の大きさの書込み
単位領域に分割して、特定の書込み単位領域を当該最小
消去単位領域内の全ての書込み単位領域を管理する情報
を格納する管理領域とし、当該最小消去単位領域内の残
余の書込み単位領域をデータを格納する記憶領域とする
フラッシュ・メモリの管理方式である。
ュ・メモリの最小消去単位領域を任意の大きさの書込み
単位領域に分割して、特定の書込み単位領域を当該最小
消去単位領域内の全ての書込み単位領域を管理する情報
を格納する管理領域とし、当該最小消去単位領域内の残
余の書込み単位領域をデータを格納する記憶領域とする
フラッシュ・メモリの管理方式である。
【0041】第一の発明によれば、最小消去単位領域を
分割した書込み単位領域(これは、本発明特有の概念で
あるために一般的な呼称はない。この明細書では原則的
に“書込み単位領域”を使用する。ただ、複合語に“書
込み単位領域”を使用すると表現が煩雑になる場合や、
図中の表示の複雑さを避ける場合には“ブロック”を使
用する。)を単位にデータの書込みを行なうことができ
るため、特に一のデータの平均データ量が小さい時に最
小消去単位領域内の記憶密度を向上させることが可能に
なる。
分割した書込み単位領域(これは、本発明特有の概念で
あるために一般的な呼称はない。この明細書では原則的
に“書込み単位領域”を使用する。ただ、複合語に“書
込み単位領域”を使用すると表現が煩雑になる場合や、
図中の表示の複雑さを避ける場合には“ブロック”を使
用する。)を単位にデータの書込みを行なうことができ
るため、特に一のデータの平均データ量が小さい時に最
小消去単位領域内の記憶密度を向上させることが可能に
なる。
【0042】又、上記書込み単位領域を単位にデータを
取り扱うので、バッファ・メモリとの間のデータの転送
に要する時間を短縮することができる。更に、該管理領
域に格納している情報を参照してデータの格納位置情報
や書込み開始位置情報を知ることができるので、データ
の書換えのためにバッファ・メモリ上に転送されたデー
タが消失するという障害があっても、消失したデータを
復元することが可能になる。
取り扱うので、バッファ・メモリとの間のデータの転送
に要する時間を短縮することができる。更に、該管理領
域に格納している情報を参照してデータの格納位置情報
や書込み開始位置情報を知ることができるので、データ
の書換えのためにバッファ・メモリ上に転送されたデー
タが消失するという障害があっても、消失したデータを
復元することが可能になる。
【0043】第二の発明は、フラッシュ・メモリの各チ
ップに消去された状態の最小消去単位領域(これを退避
領域と呼ぶことにする。)を設けておき、一のチップ内
では退避領域以外の最小消去単位領域にデータを書込
み、当該最小消去単位領域へのデータ書込みが終了した
ら、前記最小消去単位領域に対応する次のチップの最小
消去単位領域に書込み位置を移動してゆく。そして、全
てのチップの退避領域以外の最小消去単位領域全てにデ
ータを書き込んだ時には最初のチップに戻って書込みを
行なうが、その際に、以前は退避領域であった最小消去
単位領域に、当該最小消去単位領域と特定の位置関係に
ある記憶領域であった最小消去単位領域に格納されてい
る有効なデータを移動した後で当該最小消去単位領域に
継続するデータを書き込み、有効なデータの移動元とな
った最小消去単位領域を新たな退避領域にするフラッシ
ュ・メモリの管理方式である。
ップに消去された状態の最小消去単位領域(これを退避
領域と呼ぶことにする。)を設けておき、一のチップ内
では退避領域以外の最小消去単位領域にデータを書込
み、当該最小消去単位領域へのデータ書込みが終了した
ら、前記最小消去単位領域に対応する次のチップの最小
消去単位領域に書込み位置を移動してゆく。そして、全
てのチップの退避領域以外の最小消去単位領域全てにデ
ータを書き込んだ時には最初のチップに戻って書込みを
行なうが、その際に、以前は退避領域であった最小消去
単位領域に、当該最小消去単位領域と特定の位置関係に
ある記憶領域であった最小消去単位領域に格納されてい
る有効なデータを移動した後で当該最小消去単位領域に
継続するデータを書き込み、有効なデータの移動元とな
った最小消去単位領域を新たな退避領域にするフラッシ
ュ・メモリの管理方式である。
【0044】第二の発明により、チップ内に消去された
状態の退避領域を設定しているので常にチップ内に使用
可能な記憶領域を確保できる。そして、退避領域は書込
みが進むにつれて交代するので、各最小消去単位領域の
書換え消去回数を平均化することができる。
状態の退避領域を設定しているので常にチップ内に使用
可能な記憶領域を確保できる。そして、退避領域は書込
みが進むにつれて交代するので、各最小消去単位領域の
書換え消去回数を平均化することができる。
【0045】又、上記のように、最小消去単位領域に順
番にデータを格納してゆく方式であるので、従来の技術
のように、特定の書込み単位領域において書換え消去回
数が規定回数に達した時に書換え消去回数が少ない書込
み単位領域を検索する必要がなくなる。従って、書換え
消去回数が少ない書込み単位領域を検索することによっ
てデータの書込み動作が遅延させられることがなくな
る。
番にデータを格納してゆく方式であるので、従来の技術
のように、特定の書込み単位領域において書換え消去回
数が規定回数に達した時に書換え消去回数が少ない書込
み単位領域を検索する必要がなくなる。従って、書換え
消去回数が少ない書込み単位領域を検索することによっ
てデータの書込み動作が遅延させられることがなくな
る。
【0046】第三の発明は、特定のデータに対して特定
の格納位置を割り当てるのではなく、特定のデータに対
する書換え要求が発生した場合には新たな格納位置に書
換えデータを格納し、以前に格納していた当該特定デー
タを無効データとして扱うフラッシュ・メモリの管理方
式である。
の格納位置を割り当てるのではなく、特定のデータに対
する書換え要求が発生した場合には新たな格納位置に書
換えデータを格納し、以前に格納していた当該特定デー
タを無効データとして扱うフラッシュ・メモリの管理方
式である。
【0047】第三の発明によれば、特定のデータに対す
る書換え要求の度に当該データを格納している特定の領
域を書換え消去する必要がなくなるので、書換え消去回
数の平均化を図ることが可能になると共に、書換え回数
が多いデータに対する最小消去単位領域当たりの書換え
消去回数を縮減することが可能になる。
る書換え要求の度に当該データを格納している特定の領
域を書換え消去する必要がなくなるので、書換え消去回
数の平均化を図ることが可能になると共に、書換え回数
が多いデータに対する最小消去単位領域当たりの書換え
消去回数を縮減することが可能になる。
【0048】第四の発明は、上記管理領域にデータの書
込みの度に歩進する最小消去単位領域の認識番号を設定
するフラッシュ・メモリの管理方式である。第四の発明
により、管理領域に設定されるデータの書込みの度に歩
進する最小消去単位領域の認識番号により、当該最小消
去単位領域ひいては当該チップにおいて行なわれた書換
え消去の回数が判るので、書換え消去回数を計数するた
めだけの機能と計数結果を格納するためだけの領域を準
備する必要がなくなる。
込みの度に歩進する最小消去単位領域の認識番号を設定
するフラッシュ・メモリの管理方式である。第四の発明
により、管理領域に設定されるデータの書込みの度に歩
進する最小消去単位領域の認識番号により、当該最小消
去単位領域ひいては当該チップにおいて行なわれた書換
え消去の回数が判るので、書換え消去回数を計数するた
めだけの機能と計数結果を格納するためだけの領域を準
備する必要がなくなる。
【0049】第五の発明は、一のチップ内の最小消去単
位領域に対する書込みが終了して次のチップに書込みが
移るタイミングを、先に書込みが終了したチップにおい
て新たに退避領域となる最小消去単位領域の消去タイミ
ングとするフラッシュ・メモリの管理方式である。
位領域に対する書込みが終了して次のチップに書込みが
移るタイミングを、先に書込みが終了したチップにおい
て新たに退避領域となる最小消去単位領域の消去タイミ
ングとするフラッシュ・メモリの管理方式である。
【0050】第五の発明により、最小消去単位領域での
書込みが終了したチップにおいて新たに退避領域となる
最小消去単位領域の消去を行ない、それとは異なる次の
チップでデータの書込みを行なってゆく、即ち消去動作
と書込み動作が異なるチップで同時に行なわれることに
なるので、消去動作と書込み動作を全く独立に行なうこ
とができる。これによって、データを消去している間書
込み動作を待たせておく必要がないために、通信装置や
情報処理装置本来の処理性能を低下させることがなくな
る。
書込みが終了したチップにおいて新たに退避領域となる
最小消去単位領域の消去を行ない、それとは異なる次の
チップでデータの書込みを行なってゆく、即ち消去動作
と書込み動作が異なるチップで同時に行なわれることに
なるので、消去動作と書込み動作を全く独立に行なうこ
とができる。これによって、データを消去している間書
込み動作を待たせておく必要がないために、通信装置や
情報処理装置本来の処理性能を低下させることがなくな
る。
【0051】第六の発明は、データの書込みの度に歩進
する最小消去単位領域の認識番号を、書込み不能となっ
た最小消去単位領域にも暫定的に設定するフラッシュメ
モリの管理方式である。
する最小消去単位領域の認識番号を、書込み不能となっ
た最小消去単位領域にも暫定的に設定するフラッシュメ
モリの管理方式である。
【0052】第六の発明により、書込み不能な最小消去
単位領域又はチップへの書込みをスキップしても、書込
み可能な最小消去単位領域に付与される認識番号には変
化がないので、全ての管理を最小消去単位領域又はチッ
プの劣化の有無とは無関係に行なうことができ、管理の
ための中央処理ユニットの負担を軽減できる。
単位領域又はチップへの書込みをスキップしても、書込
み可能な最小消去単位領域に付与される認識番号には変
化がないので、全ての管理を最小消去単位領域又はチッ
プの劣化の有無とは無関係に行なうことができ、管理の
ための中央処理ユニットの負担を軽減できる。
【0053】第七の発明は、フラッシュ・メモリの外部
に高速な揮発性メモリによるバッファ・メモリを設け、
該バッファ・メモリのフラッシュ・メモリに格納するデ
ータ番号に等しいアドレスに、フラッシュ・メモリ上の
当該データ番号のデータを格納する格納位置を記憶する
と共に、フラッシュ・メモリ上で次に書込みを行なうべ
き最小消去単位領域や書込み単位領域の番号を記憶する
フラッシュ・メモリの管理方式である。
に高速な揮発性メモリによるバッファ・メモリを設け、
該バッファ・メモリのフラッシュ・メモリに格納するデ
ータ番号に等しいアドレスに、フラッシュ・メモリ上の
当該データ番号のデータを格納する格納位置を記憶する
と共に、フラッシュ・メモリ上で次に書込みを行なうべ
き最小消去単位領域や書込み単位領域の番号を記憶する
フラッシュ・メモリの管理方式である。
【0054】第七の発明により、フラッシュ・メモリの
管理を高速にできると共に、フラッシュ・メモリ上の管
理領域に格納される管理情報との併用によって、バッフ
ァ・メモリに電源障害が生じてもバッファ・メモリの格
納内容を復元できるために、フラッシュ・メモリの管理
の信頼性を向上させることができる。
管理を高速にできると共に、フラッシュ・メモリ上の管
理領域に格納される管理情報との併用によって、バッフ
ァ・メモリに電源障害が生じてもバッファ・メモリの格
納内容を復元できるために、フラッシュ・メモリの管理
の信頼性を向上させることができる。
【0055】第八の発明は、書込み不能な最小消去単位
領域の位置情報を、フラッシュ・メモリに格納するデー
タと同じ扱いにして、フラッシュ・メモリ上に格納する
フラッシュ・メモリの管理方式である。
領域の位置情報を、フラッシュ・メモリに格納するデー
タと同じ扱いにして、フラッシュ・メモリ上に格納する
フラッシュ・メモリの管理方式である。
【0056】第八の発明により、書込み不能な最小消去
単位領域の位置情報を信頼性よく格納することが可能に
なり、しかも、新たに書込み不能な最小消去単位領域が
発生した場合には先に書込み不能になっていた最小消去
単位領域の位置情報も含めて新たな記憶領域に格納し、
先に書込み不能な最小消去単位領域の位置情報を格納し
ていた記憶領域のデータを無効扱いにするために、書込
み不能な最小消去単位領域を格納するための記憶領域を
肥大化させることがなくなる。
単位領域の位置情報を信頼性よく格納することが可能に
なり、しかも、新たに書込み不能な最小消去単位領域が
発生した場合には先に書込み不能になっていた最小消去
単位領域の位置情報も含めて新たな記憶領域に格納し、
先に書込み不能な最小消去単位領域の位置情報を格納し
ていた記憶領域のデータを無効扱いにするために、書込
み不能な最小消去単位領域を格納するための記憶領域を
肥大化させることがなくなる。
【0057】第九の発明は、書込みを行なう最小消去単
位領域の認識番号の代わりに、当該最小消去単位領域に
対するデータの書込み状態を表示する符号を前記管理領
域に格納するフラッシュ・メモリの管理方式である。
位領域の認識番号の代わりに、当該最小消去単位領域に
対するデータの書込み状態を表示する符号を前記管理領
域に格納するフラッシュ・メモリの管理方式である。
【0058】第九の発明により、簡単な符号によって最
小消去単位領域へのデータの書込み状態を把握すること
ができるようになる。
小消去単位領域へのデータの書込み状態を把握すること
ができるようになる。
【0059】
【発明の実施の形態】図1は、本発明の最小消去単位領
域の構成で、フラッシュ・メモリのチップ構成と共に示
してある。
域の構成で、フラッシュ・メモリのチップ構成と共に示
してある。
【0060】図1において、1はフラッシュ・メモリの
チップであり、10、11、12及び13は該チップ内
の最小消去単位領域である。該最小消去単位領域の記憶
容量は、例えば、公称64KB(キロ・バイト)であ
る。
チップであり、10、11、12及び13は該チップ内
の最小消去単位領域である。該最小消去単位領域の記憶
容量は、例えば、公称64KB(キロ・バイト)であ
る。
【0061】更に、101、102、103及び104
は該最小消去単位領域10を構成する書込み単位領域で
ある。該書込み単位領域の記憶容量は、例えば、512
B(バイト)で、各々の書込み単位領域の記憶容量が等
しいものとすれば、この場合には一の最小消去単位領域
は128の書込み単位領域に分割されている。
は該最小消去単位領域10を構成する書込み単位領域で
ある。該書込み単位領域の記憶容量は、例えば、512
B(バイト)で、各々の書込み単位領域の記憶容量が等
しいものとすれば、この場合には一の最小消去単位領域
は128の書込み単位領域に分割されている。
【0062】128ある書込み単位領域のうち、特定の
書込み単位領域を当該最小消去単位領域に格納されるデ
ータを管理する情報を格納する管理領域とし、残余の書
込み単位領域をデータを格納する記憶領域とする。図1
には、最小消去単位領域内の先頭の書込み単位領域が管
理領域とされる例が示されている。
書込み単位領域を当該最小消去単位領域に格納されるデ
ータを管理する情報を格納する管理領域とし、残余の書
込み単位領域をデータを格納する記憶領域とする。図1
には、最小消去単位領域内の先頭の書込み単位領域が管
理領域とされる例が示されている。
【0063】管理領域となる書込み単位領域は、この例
の場合には、4Bずつ128のデータ管理領域に分割さ
れていて、各々のデータ管理領域には#0から#127
の番号が付与される。
の場合には、4Bずつ128のデータ管理領域に分割さ
れていて、各々のデータ管理領域には#0から#127
の番号が付与される。
【0064】又、記憶領域となる残り127の書込み単
位領域には#1から#127の番号が付与される。この
記憶領域となる書込み単位領域に付与される#1から#
127の番号は該管理領域を分割した該データ管理領域
に付与される#1から#127の番号に対応している。
位領域には#1から#127の番号が付与される。この
記憶領域となる書込み単位領域に付与される#1から#
127の番号は該管理領域を分割した該データ管理領域
に付与される#1から#127の番号に対応している。
【0065】そして、番号#0のデータ管理領域にはデ
ータの書込み毎に歩進する最小消去単位領域の認識番号
(これを、後述するように論理セクタ番号と呼ぶ。)な
どが格納される。この意味で、番号#0のデータ管理領
域を論理セクタ番号領域と呼ぶこともある。
ータの書込み毎に歩進する最小消去単位領域の認識番号
(これを、後述するように論理セクタ番号と呼ぶ。)な
どが格納される。この意味で、番号#0のデータ管理領
域を論理セクタ番号領域と呼ぶこともある。
【0066】又、番号#1から#127のデータ管理領
域には、それに対応する書込み単位領域毎の管理情報が
格納される。尚、論理セクタ番号領域及びデータ管理領
域に如何なる情報が格納されるかは、図4及び図5を用
いて具体的に後述する。
域には、それに対応する書込み単位領域毎の管理情報が
格納される。尚、論理セクタ番号領域及びデータ管理領
域に如何なる情報が格納されるかは、図4及び図5を用
いて具体的に後述する。
【0067】フラッシュ・メモリへのデータの書込み
は、該書込み単位領域を単位として行なう。この意味
は、データを書込んでゆく際、或る書込み単位領域の記
憶容量を満たしても書込み対象のデータが残る場合、次
の書込み単位領域に継続して書込み、当該書込み単位領
域の記憶容量を満たす前に当該データが終了した場合、
今データの書込みが終了した書込み単位領域の次の書込
み単位領域から次のデータの書込みを開始するというこ
とである。
は、該書込み単位領域を単位として行なう。この意味
は、データを書込んでゆく際、或る書込み単位領域の記
憶容量を満たしても書込み対象のデータが残る場合、次
の書込み単位領域に継続して書込み、当該書込み単位領
域の記憶容量を満たす前に当該データが終了した場合、
今データの書込みが終了した書込み単位領域の次の書込
み単位領域から次のデータの書込みを開始するというこ
とである。
【0068】上記の如く、データの書込みが該書込み単
位領域を最小単位として行なわれるので、一のデータの
規模が比較的小さい場合でも、最小消去単位領域内の記
憶密度を向上させることが可能になる。即ち、フラッシ
ュ・メモリの利用効率を高くすることができる。
位領域を最小単位として行なわれるので、一のデータの
規模が比較的小さい場合でも、最小消去単位領域内の記
憶密度を向上させることが可能になる。即ち、フラッシ
ュ・メモリの利用効率を高くすることができる。
【0069】又、書込み単位領域を単位にデータを格納
するということは、データの書換えを行なう際のバッフ
ァ・メモリとの間のデータの転送は上記書込み単位領域
を単位として行ない、従来の如く最小消去単位領域を単
位とした転送は行なわないので、フラッシュ・メモリと
バッファ・メモリとの間のデータの転送に要する時間を
縮減することができる。
するということは、データの書換えを行なう際のバッフ
ァ・メモリとの間のデータの転送は上記書込み単位領域
を単位として行ない、従来の如く最小消去単位領域を単
位とした転送は行なわないので、フラッシュ・メモリと
バッファ・メモリとの間のデータの転送に要する時間を
縮減することができる。
【0070】ところで、データの書込みを書込み単位領
域を単位にして行なうのが原則であるが、データの転送
は書込み単位領域を単位にすることには限定されない。
これは、フラッシュ・メモリでは任意の領域を単位にデ
ータの転送が可能であるためであり、例えば、管理領域
中のデータ管理領域毎に転送することは可能である。
域を単位にして行なうのが原則であるが、データの転送
は書込み単位領域を単位にすることには限定されない。
これは、フラッシュ・メモリでは任意の領域を単位にデ
ータの転送が可能であるためであり、例えば、管理領域
中のデータ管理領域毎に転送することは可能である。
【0071】さて、上記においては、最小消去単位領域
の容量を64KBとし、書込み単位領域の容量を512
Bとして、最小消去単位領域を128の書込み単位領域
に分割する例を説明したが、この容量及び分割数をどう
決めるかは設計上の事項で、任意である。
の容量を64KBとし、書込み単位領域の容量を512
Bとして、最小消去単位領域を128の書込み単位領域
に分割する例を説明したが、この容量及び分割数をどう
決めるかは設計上の事項で、任意である。
【0072】又、全ての書込み単位領域の容量を等しく
することも必須ではない。管理領域内のデータ管理領域
の数と、管理領域と記憶領域を含めた全ての書込み単位
領域の数が等しければ、管理領域に格納する情報によっ
て記憶領域となる全ての書込み単位領域を管理すること
ができるからである。但し、書込み単位領域の容量が等
しくない場合には、対応するデータ管理領域に当該書込
み単位領域の絶対番地の範囲を格納しておくことが必要
になるなど、管理が若干複雑になる。従って、全ての書
込み単位領域の容量を等しくするのが好ましい実施態様
である。
することも必須ではない。管理領域内のデータ管理領域
の数と、管理領域と記憶領域を含めた全ての書込み単位
領域の数が等しければ、管理領域に格納する情報によっ
て記憶領域となる全ての書込み単位領域を管理すること
ができるからである。但し、書込み単位領域の容量が等
しくない場合には、対応するデータ管理領域に当該書込
み単位領域の絶対番地の範囲を格納しておくことが必要
になるなど、管理が若干複雑になる。従って、全ての書
込み単位領域の容量を等しくするのが好ましい実施態様
である。
【0073】既に述べた如く、フラッシュ・メモリのチ
ップは複数の最小消去単位領域によって構成されるが、
本発明においては、該複数の最小消去単位領域には固定
的に付与される番号と、書込みを行なう度に歩進して付
与される番号とが設定される。
ップは複数の最小消去単位領域によって構成されるが、
本発明においては、該複数の最小消去単位領域には固定
的に付与される番号と、書込みを行なう度に歩進して付
与される番号とが設定される。
【0074】前者は、特定の最小消去単位領域に固定的
に付与される番号なので、最小消去単位領域の物理的な
位置に固有の番号である。ところで、最小消去単位領域
はセクタと呼ばれることが多いから、複合語が煩雑にな
るのを避けるために、これを物理セクタ番号と名付ける
ことにする。
に付与される番号なので、最小消去単位領域の物理的な
位置に固有の番号である。ところで、最小消去単位領域
はセクタと呼ばれることが多いから、複合語が煩雑にな
るのを避けるために、これを物理セクタ番号と名付ける
ことにする。
【0075】後者は、特定の最小消去単位領域に固定的
には付与されず、書込みを行なう度に歩進して付与され
る番号で、当該最小消去単位領域の認識番号としての意
味を持つので、論理セクタ番号と名付けることにする。
には付与されず、書込みを行なう度に歩進して付与され
る番号で、当該最小消去単位領域の認識番号としての意
味を持つので、論理セクタ番号と名付けることにする。
【0076】図2は、物理セクタ番号と論理セクタ番号
のふり方(その1)で、1チップのフラッシュ・メモリ
内での物理セクタ番号と論理セクタ番号のふり方を、フ
ラッシュ・メモリのチップが五の最小消去単位領域で構
成される例を用いて説明するものである。
のふり方(その1)で、1チップのフラッシュ・メモリ
内での物理セクタ番号と論理セクタ番号のふり方を、フ
ラッシュ・メモリのチップが五の最小消去単位領域で構
成される例を用いて説明するものである。
【0077】図2において、1はフラッシュ・メモリ、
10乃至14は各々該フラッシュ・メモリ1を構成する
最小消去単位領域である。物理セクタ番号は、各々の最
小消去単位領域に固定的に付与される。図2では最小消
去単位領域10には#0、最小消去単位領域11には#
1、最小消去単位領域12には#2、最小消去単位領域
13には#3、最小消去単位領域14には#4を物理セ
クタ番号として付与する例が示されている。
10乃至14は各々該フラッシュ・メモリ1を構成する
最小消去単位領域である。物理セクタ番号は、各々の最
小消去単位領域に固定的に付与される。図2では最小消
去単位領域10には#0、最小消去単位領域11には#
1、最小消去単位領域12には#2、最小消去単位領域
13には#3、最小消去単位領域14には#4を物理セ
クタ番号として付与する例が示されている。
【0078】論理セクタ番号は、書込みの度に歩進する
ので、書込み回数に対応して変わってゆく。即ち、論理
セクタ番号はフラッシュ・メモリ中の書込みを行なっ
た、或いはこれから書込みを行なう最小消去単位領域の
位置を意味する。
ので、書込み回数に対応して変わってゆく。即ち、論理
セクタ番号はフラッシュ・メモリ中の書込みを行なっ
た、或いはこれから書込みを行なう最小消去単位領域の
位置を意味する。
【0079】ところで、全ての最小消去単位領域のうち
一の最小消去単位領域は消去された状態の退避領域とし
ておき、退避領域となっている間には当該最小消去単位
領域には論理セクタ番号を付与しない。
一の最小消去単位領域は消去された状態の退避領域とし
ておき、退避領域となっている間には当該最小消去単位
領域には論理セクタ番号を付与しない。
【0080】いま、初期状態では最小消去単位領域10
から最小消去単位領域13までを記憶領域とし、最小消
去単位領域14を退避領域としている場合について論理
セクタ番号の付与の仕方を説明する。
から最小消去単位領域13までを記憶領域とし、最小消
去単位領域14を退避領域としている場合について論理
セクタ番号の付与の仕方を説明する。
【0081】この場合、記憶領域である最小消去単位領
域10乃至最小消去単位領域13には論理セクタ番号が
付与され、退避領域である最小消去単位領域14には論
理セクタ番号は付与されない。論理セクタ番号が付与さ
れていないことは、論理セクタ番号の全ビットに“1”
を立てて表示する。(論理セクタ番号がどこに格納され
るかは、図4を用いて後述する。) 論理セクタ番号の付与の仕方は任意であるが、物理セク
タ番号との対応が明瞭になることが好ましいので、初期
状態では最小消去単位領域10乃至最小消去単位領域1
3には物理セクタ番号と同じ番号を論理セクタ番号とし
て付与する。
域10乃至最小消去単位領域13には論理セクタ番号が
付与され、退避領域である最小消去単位領域14には論
理セクタ番号は付与されない。論理セクタ番号が付与さ
れていないことは、論理セクタ番号の全ビットに“1”
を立てて表示する。(論理セクタ番号がどこに格納され
るかは、図4を用いて後述する。) 論理セクタ番号の付与の仕方は任意であるが、物理セク
タ番号との対応が明瞭になることが好ましいので、初期
状態では最小消去単位領域10乃至最小消去単位領域1
3には物理セクタ番号と同じ番号を論理セクタ番号とし
て付与する。
【0082】記憶領域である全ての最小消去単位領域に
書込みが行なわれると、次の書込み機会には初期状態に
退避領域であった最小消去単位領域に書込みを行ない、
記憶領域であった最小消去単位領域の内のいずれかを退
避領域に変更する。
書込みが行なわれると、次の書込み機会には初期状態に
退避領域であった最小消去単位領域に書込みを行ない、
記憶領域であった最小消去単位領域の内のいずれかを退
避領域に変更する。
【0083】この、記憶領域と退避領域の変更の管理を
最も簡単にするには、記憶領域から退避領域に変更され
る最小消去単位領域の順番も物理セクタ番号に対応して
いることが好ましいので、今の場合に新たに退避領域に
変更されるのは物理セクタ番号#0を付与されている最
小消去単位領域10である。
最も簡単にするには、記憶領域から退避領域に変更され
る最小消去単位領域の順番も物理セクタ番号に対応して
いることが好ましいので、今の場合に新たに退避領域に
変更されるのは物理セクタ番号#0を付与されている最
小消去単位領域10である。
【0084】この時、退避領域から記憶領域に変更にな
った最小消去単位領域に初めて論理セクタ番号が付与さ
れる。初期状態では最小消去単位領域10乃至最小消去
単位領域13には物理セクタ番号と同じ番号#0、#
1、#2、#3を論理セクタ番号として付与しているか
ら、論理セクタ番号の連続性を保つために、新たに記憶
領域となる最小消去単位領域14にも物理セクタ番号と
同じ#4を論理セクタ番号として付与する。
った最小消去単位領域に初めて論理セクタ番号が付与さ
れる。初期状態では最小消去単位領域10乃至最小消去
単位領域13には物理セクタ番号と同じ番号#0、#
1、#2、#3を論理セクタ番号として付与しているか
ら、論理セクタ番号の連続性を保つために、新たに記憶
領域となる最小消去単位領域14にも物理セクタ番号と
同じ#4を論理セクタ番号として付与する。
【0085】そして、新たに退避領域になった最小消去
単位領域10には論理セクタ番号を付与しない。尚、フ
ラッシュ・メモリに一度も書込みが行なわれていない状
態も、論理セクタ番号の全ビットに“1”をたてて表示
するが、この状態では全ての最小消去単位領域の論理セ
クタ番号が全ビット“1”になっている。
単位領域10には論理セクタ番号を付与しない。尚、フ
ラッシュ・メモリに一度も書込みが行なわれていない状
態も、論理セクタ番号の全ビットに“1”をたてて表示
するが、この状態では全ての最小消去単位領域の論理セ
クタ番号が全ビット“1”になっている。
【0086】又、論理セクタ番号が最大になると全ビッ
トに“1”がたつ。これは、唯一の最小消去単位領域を
表示するものである。一方、上記の如く退避領域の論理
セクタ番号にも全ビット“1”が立てるが、これはチッ
プに一つの最小消去単位領域に設定される。
トに“1”がたつ。これは、唯一の最小消去単位領域を
表示するものである。一方、上記の如く退避領域の論理
セクタ番号にも全ビット“1”が立てるが、これはチッ
プに一つの最小消去単位領域に設定される。
【0087】従って、論理セクタ番号に全ビット“1”
が立つケースは三あるが、フラッシュ・メモリに一度も
書込みが行なわれていない状態なのか、その最小消去単
位領域が退避領域になっている状態なのか、及び、論理
セクタ番号が最大になったのかは、上記の事実を参照す
れば判別することができる。
が立つケースは三あるが、フラッシュ・メモリに一度も
書込みが行なわれていない状態なのか、その最小消去単
位領域が退避領域になっている状態なのか、及び、論理
セクタ番号が最大になったのかは、上記の事実を参照す
れば判別することができる。
【0088】さて、前記の状態で最小消去単位領域14
(今の論理セクタ番号は#4)に書込みが行なわれて、
その全ての書込み単位領域にデータが書き込まれると、
その直前に退避領域となっていた最小消去単位領域、即
ち最小消去単位領域10に書込みを行なうようにし、残
りの最小消去単位領域のいずれかを退避領域に変更す
る。
(今の論理セクタ番号は#4)に書込みが行なわれて、
その全ての書込み単位領域にデータが書き込まれると、
その直前に退避領域となっていた最小消去単位領域、即
ち最小消去単位領域10に書込みを行なうようにし、残
りの最小消去単位領域のいずれかを退避領域に変更す
る。
【0089】全ての最小消去単位領域に対して退避領域
になる頻度を平均化するのが好ましく、物理セクタ番号
順に退避領域にするのが最も管理が簡単になるので、こ
の時には最小消去単位領域11を新たに退避領域にす
る。
になる頻度を平均化するのが好ましく、物理セクタ番号
順に退避領域にするのが最も管理が簡単になるので、こ
の時には最小消去単位領域11を新たに退避領域にす
る。
【0090】この時には、新たに退避領域から記憶領域
に変わる最小消去単位領域10の論理セクタ番号は、論
理セクタ番号の連続性に配慮して#5とする。以降も、
同様にして、退避領域から記憶領域に変わる最小消去単
位領域には、それまでの最大の論理セクタ番号と連続性
のある論理セクタ番号を付与してゆく。尚、図2におい
て各々の最小消去単位領域を表示する矩形の中に、例え
ば物理セクタ番号が#0の最小消去単位領域では、#
0、退避、#5が矢印で結ばれて示されているが、これ
は物理セクタ番号が#0の最小消去単位領域における論
理セクタ番号の変化を示しており、退避領域になってい
る時には論理セクタ番号が付与されないので“退避”と
表示している。
に変わる最小消去単位領域10の論理セクタ番号は、論
理セクタ番号の連続性に配慮して#5とする。以降も、
同様にして、退避領域から記憶領域に変わる最小消去単
位領域には、それまでの最大の論理セクタ番号と連続性
のある論理セクタ番号を付与してゆく。尚、図2におい
て各々の最小消去単位領域を表示する矩形の中に、例え
ば物理セクタ番号が#0の最小消去単位領域では、#
0、退避、#5が矢印で結ばれて示されているが、これ
は物理セクタ番号が#0の最小消去単位領域における論
理セクタ番号の変化を示しており、退避領域になってい
る時には論理セクタ番号が付与されないので“退避”と
表示している。
【0091】このように、チップ内にデータが消去され
た状態の最小消去単位領域を退避領域として設けている
ので、常にチップ内に書込み可能な最小消去単位領域を
確保でき、且つ、退避領域となっている最小消去単位領
域はその時に記憶領域となっている全ての最小消去単位
領域への書込みが終了すると、記憶領域となっている最
小消去単位領域のいずれかと必ず交代するので、各最小
消去単位領域の書換え消去回数を平均化することができ
る。
た状態の最小消去単位領域を退避領域として設けている
ので、常にチップ内に書込み可能な最小消去単位領域を
確保でき、且つ、退避領域となっている最小消去単位領
域はその時に記憶領域となっている全ての最小消去単位
領域への書込みが終了すると、記憶領域となっている最
小消去単位領域のいずれかと必ず交代するので、各最小
消去単位領域の書換え消去回数を平均化することができ
る。
【0092】さて、今の場合、フラッシュ・メモリ1チ
ップが五の最小消去単位領域から構成されていて、初期
状態に退避領域になっている最小消去単位領域を除いて
は物理セクタ番号と同じ番号を論理セクタ番号として付
与しており、退避領域から記憶領域に変わる最小消去単
位領域には既に付与されている論理セクタ番号に連続す
るように論理セクタ番号を付与するから、書込みの周回
回数をn回目(nは正の整数)とすると、物理セクタ番
号が#NP(NPは0及び正の整数)の最小消去単位領
域に付与される論理セクタ番号#NL(NLは0及び正
の整数)は次の式で与えられる。
ップが五の最小消去単位領域から構成されていて、初期
状態に退避領域になっている最小消去単位領域を除いて
は物理セクタ番号と同じ番号を論理セクタ番号として付
与しており、退避領域から記憶領域に変わる最小消去単
位領域には既に付与されている論理セクタ番号に連続す
るように論理セクタ番号を付与するから、書込みの周回
回数をn回目(nは正の整数)とすると、物理セクタ番
号が#NP(NPは0及び正の整数)の最小消去単位領
域に付与される論理セクタ番号#NL(NLは0及び正
の整数)は次の式で与えられる。
【0093】#NL=#NP+5×(n−1) チップ内の最小消去単位領域数をm(mは正の整数)と
すれば、論理セクタ番号番号#NLと物理セクタ番号#
NPの関係は一般的に次の式で与えられる。
すれば、論理セクタ番号番号#NLと物理セクタ番号#
NPの関係は一般的に次の式で与えられる。
【0094】〔式1〕 #NL=#NP+m×(n−1) 更に、書込みの周回回数が1回目の間には最小消去単位
領域毎の書換え消去回数は0であり、書込みの周回回数
が2回目になると書換え消去が行なわれるようになり、
上記で明らかな如く、2回目の周回が終わった時に全て
の最小消去単位領域で1回の書換え消去が行なわれてい
る。
領域毎の書換え消去回数は0であり、書込みの周回回数
が2回目になると書換え消去が行なわれるようになり、
上記で明らかな如く、2回目の周回が終わった時に全て
の最小消去単位領域で1回の書換え消去が行なわれてい
る。
【0095】従って、最小消去単位領域毎の書換え消去
回数Wは次の式で与えられる。 W=n−1 一方、〔式1〕より周回回数nと物理セクタ番号#NP
及び論理セクタ番号#NLの関係が導かれているので、
最小消去単位領域毎の書換え消去回数Wは次の式で与え
られる。
回数Wは次の式で与えられる。 W=n−1 一方、〔式1〕より周回回数nと物理セクタ番号#NP
及び論理セクタ番号#NLの関係が導かれているので、
最小消去単位領域毎の書換え消去回数Wは次の式で与え
られる。
【0096】〔式2〕 W=(#NL−#NP)/m 〔式2〕において、特定の最小消去単位領域について見
ると物理セクタ番号#NP及び最小消去単位領域数mは
定数であるので、論理セクタ番号を見るだけで書換え消
去回数を知ることができることが理解されよう。
ると物理セクタ番号#NP及び最小消去単位領域数mは
定数であるので、論理セクタ番号を見るだけで書換え消
去回数を知ることができることが理解されよう。
【0097】そして、論理セクタ番号は書込み位置を意
味するので、〔式2〕は書込み位置だけを見ていれば最
小消去単位領域毎の書換え消去回数を知ることができる
ことを表している。
味するので、〔式2〕は書込み位置だけを見ていれば最
小消去単位領域毎の書換え消去回数を知ることができる
ことを表している。
【0098】従って、特別に最小消去単位領域毎に書換
え消去回数を計数する手段も、該計数の結果を格納する
領域も不要であるので、フラッシュ・メモリの管理を簡
略化できると共に、フラッシュ・メモリ内の記憶領域を
効率よく使用することができる。
え消去回数を計数する手段も、該計数の結果を格納する
領域も不要であるので、フラッシュ・メモリの管理を簡
略化できると共に、フラッシュ・メモリ内の記憶領域を
効率よく使用することができる。
【0099】又、新たに退避領域になるべき最小消去単
位領域の論理セクタ番号と、退避領域から記憶領域に変
わる最小消去単位領域の論理セクタ番号との関係も一義
的に求めることができる。
位領域の論理セクタ番号と、退避領域から記憶領域に変
わる最小消去単位領域の論理セクタ番号との関係も一義
的に求めることができる。
【0100】上記の如く、1回目の周回が終わった時点
で退避領域であった最小消去単位領域14には#4なる
論理セクタ番号が与えられ、#0なる論理セクタ番号の
最小消去単位領域10が退避領域に変わる。次には、最
小消去単位領域10が記憶領域になって#5なる論理セ
クタ番号が与えられ、最小消去単位領域11が新たな退
避領域に変わる。以降、同様なルールで退避が行なわれ
る。
で退避領域であった最小消去単位領域14には#4なる
論理セクタ番号が与えられ、#0なる論理セクタ番号の
最小消去単位領域10が退避領域に変わる。次には、最
小消去単位領域10が記憶領域になって#5なる論理セ
クタ番号が与えられ、最小消去単位領域11が新たな退
避領域に変わる。以降、同様なルールで退避が行なわれ
る。
【0101】新たに退避領域に変わる最小消去単位領域
に付与されていた論理セクタ番号を#NL1、退避領域
から記憶領域に変わる最小消去単位領域に付与される論
理セクタ番号を#NL2とすると、フラッシュ・メモリ
を構成する最小消去単位領域数が5の場合には、 #NL1=#NL2−(5−1) の関係があることが容易に判る。従って、チップ内の最
小消去単位領域数であるmを用いて一般的に現わすと、
上の式は 〔式3〕 #NL1=#NL2−(m−1) と表わすことができる。
に付与されていた論理セクタ番号を#NL1、退避領域
から記憶領域に変わる最小消去単位領域に付与される論
理セクタ番号を#NL2とすると、フラッシュ・メモリ
を構成する最小消去単位領域数が5の場合には、 #NL1=#NL2−(5−1) の関係があることが容易に判る。従って、チップ内の最
小消去単位領域数であるmを用いて一般的に現わすと、
上の式は 〔式3〕 #NL1=#NL2−(m−1) と表わすことができる。
【0102】即ち、新たに退避領域に変わる最小消去単
位領域に付与されていた論理セクタ番号#NL1、退避
領域から記憶領域に変わる最小消去単位領域に付与され
る論理セクタ番号#NL2の一方を把握していればもう
一方は簡単な式から求められるので、本発明による退避
領域と記憶領域の交代の管理は簡単に行なうことができ
る。実際には、退避領域には論理セクタ番号が付与され
ないので、〔式3〕は退避領域から記憶領域に変わる最
小消去単位領域の論理セクタ番号を求める時に使われる
ことになる。
位領域に付与されていた論理セクタ番号#NL1、退避
領域から記憶領域に変わる最小消去単位領域に付与され
る論理セクタ番号#NL2の一方を把握していればもう
一方は簡単な式から求められるので、本発明による退避
領域と記憶領域の交代の管理は簡単に行なうことができ
る。実際には、退避領域には論理セクタ番号が付与され
ないので、〔式3〕は退避領域から記憶領域に変わる最
小消去単位領域の論理セクタ番号を求める時に使われる
ことになる。
【0103】さて、上記においては最初の最小消去単位
領域に物理セクタ番号#0を付与し、以降昇順で各々の
最小消去単位領域に物理セクタ番号を付与する方式を例
に説明したが、最初の最小消去単位領域に最大の物理セ
クタ番号を付与し、降順で各々の最小消去単位領域に物
理セクタ番号を付与することも許される。
領域に物理セクタ番号#0を付与し、以降昇順で各々の
最小消去単位領域に物理セクタ番号を付与する方式を例
に説明したが、最初の最小消去単位領域に最大の物理セ
クタ番号を付与し、降順で各々の最小消去単位領域に物
理セクタ番号を付与することも許される。
【0104】又、上記では0及び連続した整数を用いて
物理セクタ番号を付与しているが、必ずしも0及び連続
した整数を用いる必要性はない。例えば、2つおきや5
つおきに物理セクタ番号を付与してもよい。
物理セクタ番号を付与しているが、必ずしも0及び連続
した整数を用いる必要性はない。例えば、2つおきや5
つおきに物理セクタ番号を付与してもよい。
【0105】但し、0及び連続した整数を用いて物理セ
クタ番号を付与する方が、付与とその管理を簡略化でき
る利点を持っている。特に、人間が考える時に最も誤り
が少ない。
クタ番号を付与する方が、付与とその管理を簡略化でき
る利点を持っている。特に、人間が考える時に最も誤り
が少ない。
【0106】同様に、論理セクタ番号においても、昇順
に番号を付与すべき理由はなく、0及び連続した整数を
用いる必要性もない。しかし、最も簡単に物理セクタ番
号と論理セクタ番号を関連付けるためには、0及び連続
した整数によって物理セクタ番号が昇順に付与される場
合には、論理セクタ番号も同じように付与するのが望ま
しい。
に番号を付与すべき理由はなく、0及び連続した整数を
用いる必要性もない。しかし、最も簡単に物理セクタ番
号と論理セクタ番号を関連付けるためには、0及び連続
した整数によって物理セクタ番号が昇順に付与される場
合には、論理セクタ番号も同じように付与するのが望ま
しい。
【0107】図3は、物理セクタ番号と論理セクタ番号
のふり方(その2)で、複数チップのフラッシュ・メモ
リによって補助記憶装置が構成される場合の物理セクタ
番号と論理セクタ番号のふり方を示す。尚、ここにはチ
ップ数が三で、各々のチップが五の最小消去単位領域で
構成されている例によって説明する。
のふり方(その2)で、複数チップのフラッシュ・メモ
リによって補助記憶装置が構成される場合の物理セクタ
番号と論理セクタ番号のふり方を示す。尚、ここにはチ
ップ数が三で、各々のチップが五の最小消去単位領域で
構成されている例によって説明する。
【0108】図3において、1、2及び3はフラッシュ
・メモリのチップである。該フラッシュ・メモリのチッ
プにはチップ番号が付与されている。ここではチップ1
のチップ番号が#0、チップ2のチップ番号が#1、チ
ップ3のチップ番号が#2であるとする。
・メモリのチップである。該フラッシュ・メモリのチッ
プにはチップ番号が付与されている。ここではチップ1
のチップ番号が#0、チップ2のチップ番号が#1、チ
ップ3のチップ番号が#2であるとする。
【0109】図2の場合と同様に、該フラッシュ・メモ
リのチップは各々最小消去単位領域に分割されていて、
それらに物理セクタ番号と論理セクタ番号が後述するよ
うに割りつけられる。
リのチップは各々最小消去単位領域に分割されていて、
それらに物理セクタ番号と論理セクタ番号が後述するよ
うに割りつけられる。
【0110】このように、色々な意味の数字が出てくる
ために、図2と同じように最小消去単位領域に数字によ
る符号をふって説明すると混乱の元になるので、最小消
去単位領域には符号をふらず、以降においては“チップ
番号が幾つで物理セクタ番号が幾つの最小消去単位領
域”という表現の仕方で説明をする。
ために、図2と同じように最小消去単位領域に数字によ
る符号をふって説明すると混乱の元になるので、最小消
去単位領域には符号をふらず、以降においては“チップ
番号が幾つで物理セクタ番号が幾つの最小消去単位領
域”という表現の仕方で説明をする。
【0111】複数チップのフラッシュ・メモリで補助記
憶装置が構成される場合には、書換え消去回数をチップ
間で平均化するために、任意のチップの最小消去単位領
域への書込みが終了したら必ず異なるチップに書込みを
移動し、しかも、任意のチップに書込みが行われない間
に特定のチップで複数回書込みが行われることを避ける
必要がある。これを最も簡単に行なうことができるの
は、チップ順に書込みを移動してゆく方法である。
憶装置が構成される場合には、書換え消去回数をチップ
間で平均化するために、任意のチップの最小消去単位領
域への書込みが終了したら必ず異なるチップに書込みを
移動し、しかも、任意のチップに書込みが行われない間
に特定のチップで複数回書込みが行われることを避ける
必要がある。これを最も簡単に行なうことができるの
は、チップ順に書込みを移動してゆく方法である。
【0112】そして、任意のチップから次のチップに書
込みを移動する時にも、任意の最小消去単位領域で書込
みが行われない間に特定の最小消去単位領域で複数回の
書込みが行われない限り、各々の最小消去単位領域への
書込み順は任意であるが、任意のチップのr(rは正の
整数)番目の最小消去単位領域への書込みが終了した時
に、次のチップのr番目の最小消去単位領域に移って書
込みを行ない、こうして順次書込みを続けて元のチップ
に戻った時には先に書込みを行なったr番目の最小消去
単位領域の次の(r+1)番目の最小消去単位領域に書
込みを行なうという手順で書込みをしてゆくのが最も簡
易な方法である。
込みを移動する時にも、任意の最小消去単位領域で書込
みが行われない間に特定の最小消去単位領域で複数回の
書込みが行われない限り、各々の最小消去単位領域への
書込み順は任意であるが、任意のチップのr(rは正の
整数)番目の最小消去単位領域への書込みが終了した時
に、次のチップのr番目の最小消去単位領域に移って書
込みを行ない、こうして順次書込みを続けて元のチップ
に戻った時には先に書込みを行なったr番目の最小消去
単位領域の次の(r+1)番目の最小消去単位領域に書
込みを行なうという手順で書込みをしてゆくのが最も簡
易な方法である。
【0113】そして、任意のチップで記憶領域となって
いる最小消去単位領域全てに書込みが行なわれた後は、
当該チップで次に書込みを行なうのはそれまで退避領域
となっていた最小消去単位領域で、その最小消去単位領
域と特定の関係にある記憶領域になっている最小消去単
位領域が新たに退避領域に変わる。
いる最小消去単位領域全てに書込みが行なわれた後は、
当該チップで次に書込みを行なうのはそれまで退避領域
となっていた最小消去単位領域で、その最小消去単位領
域と特定の関係にある記憶領域になっている最小消去単
位領域が新たに退避領域に変わる。
【0114】上記の書込み順序との整合性がよいことが
好ましいので、物理セクタ番号と論理セクタ番号は下記
のように付与する。即ち、初期状態では各チップの最後
の最小消去単位領域を退避領域としておき、チップ番号
が#0のチップの最初の最小消去単位領域に物理セクタ
番号#0を付与し、物理セクタ番号#1はチップ番号#
1の最初の最小消去単位領域に付与し、物理セクタ番号
#2はチップ番号#2の最初の最小消去単位領域に付与
する。
好ましいので、物理セクタ番号と論理セクタ番号は下記
のように付与する。即ち、初期状態では各チップの最後
の最小消去単位領域を退避領域としておき、チップ番号
が#0のチップの最初の最小消去単位領域に物理セクタ
番号#0を付与し、物理セクタ番号#1はチップ番号#
1の最初の最小消去単位領域に付与し、物理セクタ番号
#2はチップ番号#2の最初の最小消去単位領域に付与
する。
【0115】今の場合、チップ数が3であるので、次に
はチップ番号#0のチップの2番目の最小消去単位領域
に物理セクタ番号#3を付与し、以降は上記と同じ順序
でチップ番号#2のチップの2番目の最小消去単位領域
まで物理セクタ番号を付与してゆく。
はチップ番号#0のチップの2番目の最小消去単位領域
に物理セクタ番号#3を付与し、以降は上記と同じ順序
でチップ番号#2のチップの2番目の最小消去単位領域
まで物理セクタ番号を付与してゆく。
【0116】以降は上記のルールで、退避領域と記憶領
域とは無関係に、物理セクタ番号を付与してゆく。従っ
て、チップ番号が#NC(NCは0又は正の整数)のチ
ップのp(pは正の整数)番目の最小消去単位領域の物
理セクタ番号#NPは、チップ数が3である今の例では
次の式で与えられる。
域とは無関係に、物理セクタ番号を付与してゆく。従っ
て、チップ番号が#NC(NCは0又は正の整数)のチ
ップのp(pは正の整数)番目の最小消去単位領域の物
理セクタ番号#NPは、チップ数が3である今の例では
次の式で与えられる。
【0117】#NP=#NC+3×(p−1) 上の式でチップ数をq(qは正の整数)として一般的な
表現に直すと 〔式4〕 #NP=#NC+q×(p−1) が得られる。
表現に直すと 〔式4〕 #NP=#NC+q×(p−1) が得られる。
【0118】次に、図3の構成における論理セクタ番号
の付与の仕方を説明する。複数チップの場合にも単一チ
ップの場合と同様に、論理セクタ番号は書込みの度に歩
進するので、論理セクタ番号は書込み回数に対応して書
込み位置を意味する。
の付与の仕方を説明する。複数チップの場合にも単一チ
ップの場合と同様に、論理セクタ番号は書込みの度に歩
進するので、論理セクタ番号は書込み回数に対応して書
込み位置を意味する。
【0119】又、チップ内の一の最小消去単位領域を退
避領域とすることも1チップの場合と同じである。今
は、初期状態ではチップ内の最後の最小消去単位領域を
退避領域としておく例を示す。そして、退避領域には論
理セクタ番号が付与されないことも1チップの場合と同
じである。
避領域とすることも1チップの場合と同じである。今
は、初期状態ではチップ内の最後の最小消去単位領域を
退避領域としておく例を示す。そして、退避領域には論
理セクタ番号が付与されないことも1チップの場合と同
じである。
【0120】さて、上記の如く論理セクタ番号は書込み
の度に歩進するものであり、物理セクタ番号は上記の如
く書込み順を考慮して付与しているので、論理セクタ番
号は物理セクタ番号に対応するように付与するのが好ま
しい。
の度に歩進するものであり、物理セクタ番号は上記の如
く書込み順を考慮して付与しているので、論理セクタ番
号は物理セクタ番号に対応するように付与するのが好ま
しい。
【0121】そこで、物理セクタ番号が#0の最小消去
単位領域には、まず#0なる論理セクタ番号を付与して
書込んでゆき、当該最小消去単位領域の全ての書込み単
位領域に書込みが行なわれた時には、物理セクタ番号が
#1の最小消去単位領域に#1なる論理セクタ番号を付
与して書込みをし、当該最小消去単位領域の全ての書込
み単位領域に書込みが行なわれた時には、物理セクタ番
号が#2の最小消去単位領域に#2なる論理セクタ番号
を付与して書込みをする。
単位領域には、まず#0なる論理セクタ番号を付与して
書込んでゆき、当該最小消去単位領域の全ての書込み単
位領域に書込みが行なわれた時には、物理セクタ番号が
#1の最小消去単位領域に#1なる論理セクタ番号を付
与して書込みをし、当該最小消去単位領域の全ての書込
み単位領域に書込みが行なわれた時には、物理セクタ番
号が#2の最小消去単位領域に#2なる論理セクタ番号
を付与して書込みをする。
【0122】物理セクタ番号が#2の最小消去単位領域
への書込みが終了した段階で3チップ目までの最初の最
小消去単位領域への書込みが終了したので、次は最初の
(チップ番号#0の)チップに戻って物理セクタ番号が
#3の最小消去単位領域に書込みを行なう。この時、論
理セクタ番号に連続性を持たせるのが好ましいので、当
該最小消去単位領域に#3なる論理セクタ番号を付与す
る。
への書込みが終了した段階で3チップ目までの最初の最
小消去単位領域への書込みが終了したので、次は最初の
(チップ番号#0の)チップに戻って物理セクタ番号が
#3の最小消去単位領域に書込みを行なう。この時、論
理セクタ番号に連続性を持たせるのが好ましいので、当
該最小消去単位領域に#3なる論理セクタ番号を付与す
る。
【0123】こうして、最小消去単位領域に、物理セク
タ番号順に物理セクタ番号と同じ論理セクタ番号を付与
しながら書込みを続けてゆくと、初期状態で記憶領域と
なっていた最小消去単位領域の全てに書込みが行なわ
れ、それらの最小消去単位領域の各々に物理セクタ番号
と等しい論理セクタ番号が付与される。それらは、図3
においては、論理セクタ番号#0から論理セクタ番号#
11である。(これら論理セクタ番号は、図3において
最小消去単位領域を示す矩形の中に、論理セクタ番号の
変化を示す矢印と共に表示されている。) 物理セクタ番号が#11(今は論理セクタ番号も#11
である。)の最小消去単位領域までの全ての最小消去単
位領域に書込みがされた時には、前述のように、チップ
番号#0のチップに戻って書込みを行なう。
タ番号順に物理セクタ番号と同じ論理セクタ番号を付与
しながら書込みを続けてゆくと、初期状態で記憶領域と
なっていた最小消去単位領域の全てに書込みが行なわ
れ、それらの最小消去単位領域の各々に物理セクタ番号
と等しい論理セクタ番号が付与される。それらは、図3
においては、論理セクタ番号#0から論理セクタ番号#
11である。(これら論理セクタ番号は、図3において
最小消去単位領域を示す矩形の中に、論理セクタ番号の
変化を示す矢印と共に表示されている。) 物理セクタ番号が#11(今は論理セクタ番号も#11
である。)の最小消去単位領域までの全ての最小消去単
位領域に書込みがされた時には、前述のように、チップ
番号#0のチップに戻って書込みを行なう。
【0124】この時には、チップ番号#0のチップにお
いて、初期状態に記憶領域であった四の最小消去単位領
域には全て書込みがなされているので、退避領域となっ
ている物理セクタ番号#12の最小消去単位領域に書込
みを行なうようにして、物理セクタ番号#0の最小消去
単位領域を新たに退避領域に変える。
いて、初期状態に記憶領域であった四の最小消去単位領
域には全て書込みがなされているので、退避領域となっ
ている物理セクタ番号#12の最小消去単位領域に書込
みを行なうようにして、物理セクタ番号#0の最小消去
単位領域を新たに退避領域に変える。
【0125】この時、番号の連続性から、物理セクタ番
号#12の最小消去単位領域には#12なる論理セクタ
番号が付与され、新たに退避領域になった物理セクタ番
号#0の最小消去単位領域は論理セクタ番号は付与され
ない。
号#12の最小消去単位領域には#12なる論理セクタ
番号が付与され、新たに退避領域になった物理セクタ番
号#0の最小消去単位領域は論理セクタ番号は付与され
ない。
【0126】物理セクタ番号#12の最小消去単位領域
が書込みデータで一杯になると(正確には、物理セクタ
番号#12の最小消去単位領域を構成する全ての書込み
単位領域にデータが書込まれると、の意味である。)、
物理セクタ番号#13の最小消去単位領域を退避領域か
ら記憶領域に変えて#13なる論理セクタ番号を付与
し、その代わりに物理セクタ番号#1の最小消去単位領
域を論理セクタ番号のない退避領域に変える。
が書込みデータで一杯になると(正確には、物理セクタ
番号#12の最小消去単位領域を構成する全ての書込み
単位領域にデータが書込まれると、の意味である。)、
物理セクタ番号#13の最小消去単位領域を退避領域か
ら記憶領域に変えて#13なる論理セクタ番号を付与
し、その代わりに物理セクタ番号#1の最小消去単位領
域を論理セクタ番号のない退避領域に変える。
【0127】こうして順次書込みを行なってゆき、物理
セクタ番号#14の最小消去単位領域が書込みデータで
一杯になると、再びチップ番号が#0のチップに戻って
書込みを継続する。
セクタ番号#14の最小消去単位領域が書込みデータで
一杯になると、再びチップ番号が#0のチップに戻って
書込みを継続する。
【0128】この時には、退避領域となっている物理セ
クタ番号#0の最小消去単位領域を記憶領域に変えて、
先に書込みを行なったチップ番号#2の物理セクタ番号
#14の最小消去単位領域に付与された論理セクタ番号
#14に連続した#15なる論理セクタ番号を付与し、
物理セクタ番号#3の最小消去単位領域を論理セクタ番
号がない退避領域に変える。
クタ番号#0の最小消去単位領域を記憶領域に変えて、
先に書込みを行なったチップ番号#2の物理セクタ番号
#14の最小消去単位領域に付与された論理セクタ番号
#14に連続した#15なる論理セクタ番号を付与し、
物理セクタ番号#3の最小消去単位領域を論理セクタ番
号がない退避領域に変える。
【0129】以降、上記のルールで各々の最小消去単位
領域に論理セクタ番号を付与してゆく。従って、物理セ
クタ番号が#NPである最小消去単位領域には、チップ
内の最小消去単位領域数をm、周回回数をn(回目)、
チップ数をqとすれば、次の式で与えられる論理セクタ
番号#NLが付与される。
領域に論理セクタ番号を付与してゆく。従って、物理セ
クタ番号が#NPである最小消去単位領域には、チップ
内の最小消去単位領域数をm、周回回数をn(回目)、
チップ数をqとすれば、次の式で与えられる論理セクタ
番号#NLが付与される。
【0130】〔式5〕 #NL=#NP+(n−1)×m×q 〔式5〕において、m及びqは定数であるので、論理セ
クタ番号#NLは物理セクタ番号#NPと周回の回数n
を把握していれば簡単に決めることができる。逆に、周
回回数nは物理セクタ番号、論理セクタ番号を把握して
いれば簡単に求めることができる。
クタ番号#NLは物理セクタ番号#NPと周回の回数n
を把握していれば簡単に決めることができる。逆に、周
回回数nは物理セクタ番号、論理セクタ番号を把握して
いれば簡単に求めることができる。
【0131】又、任意の時点に記憶領域から退避領域に
変わる最小消去単位領域に付与されていた論理セクタ番
号を#NL1、それと同じ時に退避領域から記憶領域に
変わる最小消去単位領域に付与される論理セクタ番号を
#NL2とすれば、 〔式6〕 #NL1=#NL2−(m−1)×q なる関係が導かれる。
変わる最小消去単位領域に付与されていた論理セクタ番
号を#NL1、それと同じ時に退避領域から記憶領域に
変わる最小消去単位領域に付与される論理セクタ番号を
#NL2とすれば、 〔式6〕 #NL1=#NL2−(m−1)×q なる関係が導かれる。
【0132】即ち、〔式6〕においてmとqは定数であ
るから、記憶領域から退避領域に変わる最小消去単位領
域に付与されていた論理セクタ番号#NL1、退避領域
から記憶領域に変わる最小消去単位領域に付与される論
理セクタ番号#NL2の一方を把握していればもう一方
は簡単に求められる。実際には、退避領域には論理セク
タ番号が付与されないので、〔式6〕は退避領域から記
憶領域に変わる最小消去単位領域に論理セクタ番号を付
与するために使われる。
るから、記憶領域から退避領域に変わる最小消去単位領
域に付与されていた論理セクタ番号#NL1、退避領域
から記憶領域に変わる最小消去単位領域に付与される論
理セクタ番号#NL2の一方を把握していればもう一方
は簡単に求められる。実際には、退避領域には論理セク
タ番号が付与されないので、〔式6〕は退避領域から記
憶領域に変わる最小消去単位領域に論理セクタ番号を付
与するために使われる。
【0133】又、必ずチップ内に退避領域となる最小消
去単位領域を設定しているので、常にチップ内に書込み
可能な記憶領域を確保できる。更に、退避領域は書込み
が進むにつれて上記のように順番に交代するので、チッ
プ内の各最小消去単位領域の書換え消去回数を平均化す
ることができ、同時にチップ間の書換え消去回数も平均
化することができる。
去単位領域を設定しているので、常にチップ内に書込み
可能な記憶領域を確保できる。更に、退避領域は書込み
が進むにつれて上記のように順番に交代するので、チッ
プ内の各最小消去単位領域の書換え消去回数を平均化す
ることができ、同時にチップ間の書換え消去回数も平均
化することができる。
【0134】そして、各最小消去単位領域毎の書換え消
去は1回の周回毎に1回行なわれ、1回目の周回では書
換え消去は行なわれないので、各最小消去単位領域の書
換え消去回数は周回回数nから1を引いた数に等しくな
る。
去は1回の周回毎に1回行なわれ、1回目の周回では書
換え消去は行なわれないので、各最小消去単位領域の書
換え消去回数は周回回数nから1を引いた数に等しくな
る。
【0135】しかも、周回回数nは〔式5〕より 〔式7〕 n=(#NL−#NP)/(m×q)+1 のように与えられる。
【0136】故に、最小消去単位領域毎の書換え消去回
数Wは次の式で表わされる。 〔式8〕 W=(#NL−#NP)/(m×q) 従って、最小消去単位領域毎に書換え消去回数をカウン
トする手段やカウント結果を格納する手段を設けなくて
も、特定のフラッシュ・メモリのチップにおいては#N
P、mが定数であり、qも定数であるので、書換え消去
回数は書込み位置を意味する論理セクタ番号を把握して
いれば求めることができる。
数Wは次の式で表わされる。 〔式8〕 W=(#NL−#NP)/(m×q) 従って、最小消去単位領域毎に書換え消去回数をカウン
トする手段やカウント結果を格納する手段を設けなくて
も、特定のフラッシュ・メモリのチップにおいては#N
P、mが定数であり、qも定数であるので、書換え消去
回数は書込み位置を意味する論理セクタ番号を把握して
いれば求めることができる。
【0137】上記においては最初の最小消去単位領域に
物理セクタ番号#0を付与し、以降昇順で各々の最小消
去単位領域に物理セクタ番号を付与する方式を例に説明
したが、最初の最小消去単位領域に最大の物理セクタ番
号を付与し、降順で各々の最小消去単位領域に物理セク
タ番号を付与することも許される。
物理セクタ番号#0を付与し、以降昇順で各々の最小消
去単位領域に物理セクタ番号を付与する方式を例に説明
したが、最初の最小消去単位領域に最大の物理セクタ番
号を付与し、降順で各々の最小消去単位領域に物理セク
タ番号を付与することも許される。
【0138】又、上記では0及び連続した整数を用いて
物理セクタ番号を付与しているが、必ずしも0及び連続
した整数を用いる必要性はない。例えば、二つおきや五
つおきに物理セクタ番号を付与してもよい。
物理セクタ番号を付与しているが、必ずしも0及び連続
した整数を用いる必要性はない。例えば、二つおきや五
つおきに物理セクタ番号を付与してもよい。
【0139】但し、0及び連続した整数を用いて物理セ
クタ番号を付与する方が、付与とその管理を簡略化でき
る利点を持っている。特に、人間が考える時に誤りが最
も少なくなる。
クタ番号を付与する方が、付与とその管理を簡略化でき
る利点を持っている。特に、人間が考える時に誤りが最
も少なくなる。
【0140】同様に、論理セクタ番号においても、昇順
に番号を付与すべき理由はなく、0及び連続した整数を
用いる必要性もない。しかし、最も簡単に物理セクタ番
号と論理セクタ番号を関連付けるためには、0及び連続
した整数によって物理セクタ番号が昇順に付与される場
合には、論理セクタ番号も同じように付与するのが望ま
しい。
に番号を付与すべき理由はなく、0及び連続した整数を
用いる必要性もない。しかし、最も簡単に物理セクタ番
号と論理セクタ番号を関連付けるためには、0及び連続
した整数によって物理セクタ番号が昇順に付与される場
合には、論理セクタ番号も同じように付与するのが望ま
しい。
【0141】更に、上記ではチップ番号の順番に書込み
を行なってゆくと説明したが、これは、チップ間での書
込みの順番を特定するものではない。何故なら、任意の
チップに書込みが行なわれない間に特定のチップに複数
回の書込みを行なうことがないようにすることは、チッ
プ番号の順とは異なる順番でも可能なことだからであ
り、しかも、チップ番号をその書込みの順番通りにふり
直せば、結局チップ番号順に書込みを行なうことになる
からである。
を行なってゆくと説明したが、これは、チップ間での書
込みの順番を特定するものではない。何故なら、任意の
チップに書込みが行なわれない間に特定のチップに複数
回の書込みを行なうことがないようにすることは、チッ
プ番号の順とは異なる順番でも可能なことだからであ
り、しかも、チップ番号をその書込みの順番通りにふり
直せば、結局チップ番号順に書込みを行なうことになる
からである。
【0142】さて、本発明においては、上記の順番で書
込みを行なうので、特定のデータに対して特定の記憶領
域を割り当てることはしない。つまり、既に格納してい
るデータに書換えを施す時にも、次に書込みが可能な書
込み単位領域に書換えデータを格納し、既に格納してい
るデータを無効データとする。
込みを行なうので、特定のデータに対して特定の記憶領
域を割り当てることはしない。つまり、既に格納してい
るデータに書換えを施す時にも、次に書込みが可能な書
込み単位領域に書換えデータを格納し、既に格納してい
るデータを無効データとする。
【0143】従来の技術の如く、特定のデータに対して
特定の書込み単位領域を割り当てると、書換えが頻繁に
生ずるデータに割り当てられた書込み単位領域を含む最
小消去単位領域の書換え消去回数が急速に増えてゆき、
当該最小消去単位領域の消去回数が早期に規定回数にな
るのに対して、上記の管理方式によって書換え消去回数
を平均化でき、特定の最小消去単位領域の書換え消去回
数が突出することを防止できるので、最小消去単位領域
の寿命、ひいてはフラッシュ・メモリの寿命を引き延ば
すことが可能になる。
特定の書込み単位領域を割り当てると、書換えが頻繁に
生ずるデータに割り当てられた書込み単位領域を含む最
小消去単位領域の書換え消去回数が急速に増えてゆき、
当該最小消去単位領域の消去回数が早期に規定回数にな
るのに対して、上記の管理方式によって書換え消去回数
を平均化でき、特定の最小消去単位領域の書換え消去回
数が突出することを防止できるので、最小消去単位領域
の寿命、ひいてはフラッシュ・メモリの寿命を引き延ば
すことが可能になる。
【0144】図4は、論理セクタ番号領域のビット・マ
ップである。図4において、ビット番号31の最上位ビ
ット(MSB)に挿入されるAは、この論理セクタ番号
領域が管理する最小消去単位領域に有効データが格納さ
れているか否かを表すフラグ(有効データ表示フラグと
呼ぶことにする。)で、例えば、A=0の時に有効デー
タが格納されていることを示し、A=1の時に有効デー
タが格納されていないことを示す。
ップである。図4において、ビット番号31の最上位ビ
ット(MSB)に挿入されるAは、この論理セクタ番号
領域が管理する最小消去単位領域に有効データが格納さ
れているか否かを表すフラグ(有効データ表示フラグと
呼ぶことにする。)で、例えば、A=0の時に有効デー
タが格納されていることを示し、A=1の時に有効デー
タが格納されていないことを示す。
【0145】従って、該有効データ表示フラグによって
当該最小消去単位領域におけるデータ格納状態を判断す
ることができる。そして、ビット番号30のビットから
ビット番号0のビット(LSB)までの領域に論理セク
タ番号が格納される。
当該最小消去単位領域におけるデータ格納状態を判断す
ることができる。そして、ビット番号30のビットから
ビット番号0のビット(LSB)までの領域に論理セク
タ番号が格納される。
【0146】尚、上記論理セクタ番号領域に物理セクタ
番号を格納しても差し支えないが、物理セクタ番号はプ
ログラム設定が可能なので、必ずしも論理セクタ番号領
域に格納する必要はない。
番号を格納しても差し支えないが、物理セクタ番号はプ
ログラム設定が可能なので、必ずしも論理セクタ番号領
域に格納する必要はない。
【0147】図5は、データ管理領域のビット・マップ
である。ビット番号31の最上位ビットは、このデータ
管理領域が管理する書込み単位領域に格納されているデ
ータが当該データの先頭であるか否かを表示するビット
(先頭表示ビットと呼ぶことにする。)Bで、例えば、
B=1の時にはこのデータ管理領域が管理する書込み単
位領域に格納されているデータが当該データの先頭であ
ること(図5では“先頭ブロック”と表現している。)
を示し、B=0の時にはこのデータ管理領域が管理する
書込み単位領域に格納されているデータが当該データの
先頭ではない、即ち継続データであること(図5では
“第2ブロック以降”と表現している。)を示す。
である。ビット番号31の最上位ビットは、このデータ
管理領域が管理する書込み単位領域に格納されているデ
ータが当該データの先頭であるか否かを表示するビット
(先頭表示ビットと呼ぶことにする。)Bで、例えば、
B=1の時にはこのデータ管理領域が管理する書込み単
位領域に格納されているデータが当該データの先頭であ
ること(図5では“先頭ブロック”と表現している。)
を示し、B=0の時にはこのデータ管理領域が管理する
書込み単位領域に格納されているデータが当該データの
先頭ではない、即ち継続データであること(図5では
“第2ブロック以降”と表現している。)を示す。
【0148】ビット番号30のMSBから2ビット目
は、このデータ管理領域が管理する書込み単位領域に格
納されているデータ以降に継続するデータがあるか否か
を表示するビット(継続表示ビットと呼ぶことにす
る。)Cで、例えば、C=1の時には次の書込み単位領
域(図5では次ブロックと表現している。)に継続デー
タがあることを示し、C=0の時には次の書込み単位領
域に継続データがない、即ち、この書込み単位領域に格
納されているデータが当該データの最終であることを示
す。
は、このデータ管理領域が管理する書込み単位領域に格
納されているデータ以降に継続するデータがあるか否か
を表示するビット(継続表示ビットと呼ぶことにす
る。)Cで、例えば、C=1の時には次の書込み単位領
域(図5では次ブロックと表現している。)に継続デー
タがあることを示し、C=0の時には次の書込み単位領
域に継続データがない、即ち、この書込み単位領域に格
納されているデータが当該データの最終であることを示
す。
【0149】即ち、B=1且つC=1は、当該書込み単
位領域に格納されているデータは当該データの先頭であ
って、次の書込み単位領域に当該データが継続して格納
されていることを示し、B=1且つC=0は、当該書込
み単位領域に格納されているデータが当該データの先頭
であって、次の書込み単位領域にはデータが継続してい
ない、即ち、当該データは当該書込み単位領域に格納さ
れているデータだけで成り立っていることを示し、B=
0且つC=1は、当該書込み単位領域に格納されている
データは当該データの先頭ではなく、次の書込み単位領
域にデータが継続していることを示し、B=0且つC=
0は、当該書込み単位領域に格納されているデータは当
該データの先頭ではなく、次の書込み単位領域に継続す
るデータがない、即ち、当該書込み単位領域に格納され
ているデータは当該データの最後尾であることを示す。
位領域に格納されているデータは当該データの先頭であ
って、次の書込み単位領域に当該データが継続して格納
されていることを示し、B=1且つC=0は、当該書込
み単位領域に格納されているデータが当該データの先頭
であって、次の書込み単位領域にはデータが継続してい
ない、即ち、当該データは当該書込み単位領域に格納さ
れているデータだけで成り立っていることを示し、B=
0且つC=1は、当該書込み単位領域に格納されている
データは当該データの先頭ではなく、次の書込み単位領
域にデータが継続していることを示し、B=0且つC=
0は、当該書込み単位領域に格納されているデータは当
該データの先頭ではなく、次の書込み単位領域に継続す
るデータがない、即ち、当該書込み単位領域に格納され
ているデータは当該データの最後尾であることを示す。
【0150】そして、ビット番号29以降には、このデ
ータ管理領域が管理する書込み単位領域に格納されてい
るデータに付与されるデータ番号(これはデータ名称を
示すものである。)が格納される。
ータ管理領域が管理する書込み単位領域に格納されてい
るデータに付与されるデータ番号(これはデータ名称を
示すものである。)が格納される。
【0151】これにより、フラッシュ・メモリに格納し
ているデータを完全に管理することができる。何故な
ら、論理セクタ番号領域のMSBの有効データ表示ビッ
トによって当該最小消去単位領域が有効データを格納す
る記憶領域であるか、有効データを格納していない領域
(通常は退避領域である。)であるかが判り、論理セク
タ番号領域には論理セクタ番号が格納されているので、
最小消去単位領域に固有な物理セクタ番号と共に書換え
消去回数を管理することができ、退避領域から記憶領域
に変わる最小消去単位領域に付与されている論理セクタ
番号からは新たに退避領域に変わる最小消去単位領域の
論理セクタ番号を求めることができる。
ているデータを完全に管理することができる。何故な
ら、論理セクタ番号領域のMSBの有効データ表示ビッ
トによって当該最小消去単位領域が有効データを格納す
る記憶領域であるか、有効データを格納していない領域
(通常は退避領域である。)であるかが判り、論理セク
タ番号領域には論理セクタ番号が格納されているので、
最小消去単位領域に固有な物理セクタ番号と共に書換え
消去回数を管理することができ、退避領域から記憶領域
に変わる最小消去単位領域に付与されている論理セクタ
番号からは新たに退避領域に変わる最小消去単位領域の
論理セクタ番号を求めることができる。
【0152】尚、論理セクタ番号領域に有効データ表示
ビットと論理セクタ番号を格納する以外に、当該最小消
去単位領域が退避領域であるか、データの書込み中であ
るか、データを書込み済であるかを示す2ビットの情報
を格納すれば、当該最小消去単位領域の状態をより明瞭
に知ることができる。
ビットと論理セクタ番号を格納する以外に、当該最小消
去単位領域が退避領域であるか、データの書込み中であ
るか、データを書込み済であるかを示す2ビットの情報
を格納すれば、当該最小消去単位領域の状態をより明瞭
に知ることができる。
【0153】図6は、バッファ・メモリの格納内容であ
る。図6に示す如く、バッファ・メモリにはデータ格納
位置管理領域、書込み最小消去単位領域番号格納領域
(以降は書込みセクタ番号格納領域と略記する。)、書
込み単位領域番号格納領域(以降は書込みブロック番号
管理領域と表記する。)及び継続保持フラグ格納領域が
設けられている。
る。図6に示す如く、バッファ・メモリにはデータ格納
位置管理領域、書込み最小消去単位領域番号格納領域
(以降は書込みセクタ番号格納領域と略記する。)、書
込み単位領域番号格納領域(以降は書込みブロック番号
管理領域と表記する。)及び継続保持フラグ格納領域が
設けられている。
【0154】各データを格納する書込み単位領域を管理
するデータ管理領域には、予め特定のデータ格納位置情
報管理領域のアドレスがデータ番号としてマッピングさ
れるので、フラッシュ・メモリ上のデータ格納位置とバ
ッファ・メモリ上のデータ格納位置情報管理領域への格
納内容との対応を付けることができる。
するデータ管理領域には、予め特定のデータ格納位置情
報管理領域のアドレスがデータ番号としてマッピングさ
れるので、フラッシュ・メモリ上のデータ格納位置とバ
ッファ・メモリ上のデータ格納位置情報管理領域への格
納内容との対応を付けることができる。
【0155】そして、データ格納位置管理領域に格納さ
れている情報は次のように使われる。即ち、フラッシュ
・メモリ上でデータの書換えを行なった時、当該データ
のデータ番号を該データ格納位置管理領域上で検索し、
同一のデータ番号をアドレスとしてデータの格納位置情
報が格納されている場合には、当該データは書換えデー
タであるとして、フラッシュ・メモリ上の現在の格納位
置に格納されているデータを無効にすると共に、新しい
格納位置をバッファ・メモリ上の当該アドレスに書き込
んで書換えデータの新規の格納位置を表示する。又、同
一のデータ番号をアドレスとしてデータの格納位置情報
が格納されていない場合には、当該データは新規に書込
みを行われたデータであるとして、当該データ番号をア
ドレスとして新規書込みデータが格納されたフラッシュ
・メモリ上の格納位置情報をバッファ・メモリ上に格納
する。
れている情報は次のように使われる。即ち、フラッシュ
・メモリ上でデータの書換えを行なった時、当該データ
のデータ番号を該データ格納位置管理領域上で検索し、
同一のデータ番号をアドレスとしてデータの格納位置情
報が格納されている場合には、当該データは書換えデー
タであるとして、フラッシュ・メモリ上の現在の格納位
置に格納されているデータを無効にすると共に、新しい
格納位置をバッファ・メモリ上の当該アドレスに書き込
んで書換えデータの新規の格納位置を表示する。又、同
一のデータ番号をアドレスとしてデータの格納位置情報
が格納されていない場合には、当該データは新規に書込
みを行われたデータであるとして、当該データ番号をア
ドレスとして新規書込みデータが格納されたフラッシュ
・メモリ上の格納位置情報をバッファ・メモリ上に格納
する。
【0156】書込みセクタ番号格納領域には、次に書込
みが行われるべき最小消去単位領域(セクタ)の論理セ
クタ番号(これが書込みセクタ番号である。)が、バッ
ファ・メモリ上の特定のアドレスに格納される。
みが行われるべき最小消去単位領域(セクタ)の論理セ
クタ番号(これが書込みセクタ番号である。)が、バッ
ファ・メモリ上の特定のアドレスに格納される。
【0157】該書込みセクタ番号は、フラッシュ・メモ
リ上の論理セクタ番号の最大値に1を加算して生成し、
次に書込みが行われるべき最小消去単位領域を示すため
に使われる。
リ上の論理セクタ番号の最大値に1を加算して生成し、
次に書込みが行われるべき最小消去単位領域を示すため
に使われる。
【0158】書込みブロック番号格納領域には、次に書
込みが行われるべき書込み単位領域(ブロック)の番号
(これが書込みブロック番号である。)が、バッファ・
メモリ上の特定のアドレスに格納される。
込みが行われるべき書込み単位領域(ブロック)の番号
(これが書込みブロック番号である。)が、バッファ・
メモリ上の特定のアドレスに格納される。
【0159】該書込みブロック番号は、上記書込みセク
タ番号で指定されている最小消去単位領域の中で書込み
が行われた書込み単位領域の番号に1を加算して生成
し、次に書込みが行われるべき書込み単位領域を示すた
めに使われる。
タ番号で指定されている最小消去単位領域の中で書込み
が行われた書込み単位領域の番号に1を加算して生成
し、次に書込みが行われるべき書込み単位領域を示すた
めに使われる。
【0160】更に、継続保持フラグ格納領域には、同一
データが次の書込み単位領域に継続していることを示す
継続保持フラグが、バッファ・メモリ上の特定のアドレ
スに格納される。
データが次の書込み単位領域に継続していることを示す
継続保持フラグが、バッファ・メモリ上の特定のアドレ
スに格納される。
【0161】該継続保持フラグは、同一データが後続の
書込み単位領域にわたって継続していることを示し、後
述する退避動作中に設定されて、退避動作を確実に実行
するために使われる。
書込み単位領域にわたって継続していることを示し、後
述する退避動作中に設定されて、退避動作を確実に実行
するために使われる。
【0162】上に説明した、フラッシュ・メモリの構
成、物理セクタ番号のふり方と論理セクタ番号のふり
方、論理セクタ番号領域のビット・マップ、データ管理
領域のビット・マップ及びバッファ・メモリの格納内容
を基本にして、以下において、フラッシュ・メモリへの
書込み動作、新たに退避領域になる最小消去単位領域か
ら新たに記憶領域になる最小消去単位領域への退避処
理、及び、フラッシュ・メモリの使用に先立つ初期化と
バッファ・メモリに電源障害が生じた後の初期化につい
て、フローチャートを用いて詳述する。
成、物理セクタ番号のふり方と論理セクタ番号のふり
方、論理セクタ番号領域のビット・マップ、データ管理
領域のビット・マップ及びバッファ・メモリの格納内容
を基本にして、以下において、フラッシュ・メモリへの
書込み動作、新たに退避領域になる最小消去単位領域か
ら新たに記憶領域になる最小消去単位領域への退避処
理、及び、フラッシュ・メモリの使用に先立つ初期化と
バッファ・メモリに電源障害が生じた後の初期化につい
て、フローチャートを用いて詳述する。
【0163】ところで、退避処理と書込み処理とは切り
離すことができない処理であるので、フローチャートに
よる詳細な説明に入る前にその概要を説明しておく必要
があろう。
離すことができない処理であるので、フローチャートに
よる詳細な説明に入る前にその概要を説明しておく必要
があろう。
【0164】図7は、退避領域と記憶領域の交代の仕方
を説明する図で、書込みと退避の関係を理解しやすく表
現したものである。図7は、図3に示した補助記憶装置
の構成に準拠した図で、図3に示したフラッシュ・メモ
リの内、チップ番号が#0と#1のフラッシュ・メモリ
のみを図示している。
を説明する図で、書込みと退避の関係を理解しやすく表
現したものである。図7は、図3に示した補助記憶装置
の構成に準拠した図で、図3に示したフラッシュ・メモ
リの内、チップ番号が#0と#1のフラッシュ・メモリ
のみを図示している。
【0165】そして、書込みの状態が、チップ番号#0
のフラッシュ・メモリでは、物理セクタ番号が#0、#
3、#6、#9の最小消去単位領域の全ての書込み単位
領域にデータが書込まれており、物理セクタ番号が#1
2の最小消去単位領域が退避領域になっており、しか
も、物理セクタ番号が#0、#3、#6、#9の最小消
去単位領域の論理セクタ番号がそれぞれ#0、#3、#
6、#9であり、チップ番号#1のフラッシュ・メモリ
では、物理セクタ番号が#1、#4、#7、#10の最
小消去単位領域の全ての書込み単位領域にデータが書込
まれており、物理セクタ番号が#13の最小消去単位領
域が退避領域になっており、しかも、物理セクタ番号が
#1、#4、#7、#10の最小消去単位領域の論理セ
クタ番号がそれぞれ#1、#4、#7、#10である場
合を例に説明する。
のフラッシュ・メモリでは、物理セクタ番号が#0、#
3、#6、#9の最小消去単位領域の全ての書込み単位
領域にデータが書込まれており、物理セクタ番号が#1
2の最小消去単位領域が退避領域になっており、しか
も、物理セクタ番号が#0、#3、#6、#9の最小消
去単位領域の論理セクタ番号がそれぞれ#0、#3、#
6、#9であり、チップ番号#1のフラッシュ・メモリ
では、物理セクタ番号が#1、#4、#7、#10の最
小消去単位領域の全ての書込み単位領域にデータが書込
まれており、物理セクタ番号が#13の最小消去単位領
域が退避領域になっており、しかも、物理セクタ番号が
#1、#4、#7、#10の最小消去単位領域の論理セ
クタ番号がそれぞれ#1、#4、#7、#10である場
合を例に説明する。
【0166】そして、図7には図示されていないチップ
番号#2のフラッシュ・メモリにおいて物理セクタ番号
#11の最小消去単位領域の全ての書込み単位領域に書
込みが行なわれると、次の書込みはチップ番号#0のフ
ラッシュ・メモリに移る。
番号#2のフラッシュ・メモリにおいて物理セクタ番号
#11の最小消去単位領域の全ての書込み単位領域に書
込みが行なわれると、次の書込みはチップ番号#0のフ
ラッシュ・メモリに移る。
【0167】しかも、この時には今まで退避領域であっ
た、物理セクタ番号が#12の最小消去単位領域が論理
セクタ番号#12なる記憶領域に変わり、物理セクタ番
号が#0(今は論理セクタ番号も#0である。)の最小
消去単位領域が新たに退避領域に変わる。
た、物理セクタ番号が#12の最小消去単位領域が論理
セクタ番号#12なる記憶領域に変わり、物理セクタ番
号が#0(今は論理セクタ番号も#0である。)の最小
消去単位領域が新たに退避領域に変わる。
【0168】そこで、まず、物理セクタ番号が#0の最
小消去単位領域に残っている有効データ(既に説明した
如く、新たに書込みを指示されるデータが先に書込まれ
ているデータであっても、即ち、新たな書込みデータと
先に書込まれているデータとが同じデータ番号のデータ
であっても、当該書込みデータを次に書込み可能な書込
み単位領域に格納し、先に書込まれたデータを無効デー
タ扱いにする。しかも、データの書込みは書込み単位領
域を単位として行なう。従って、既に書込みが行なわれ
ている最小消去単位領域には無効データと無効データ扱
いになっていないデータとが混在しているのが一般的で
ある。この無効データ扱いになっていないデータを有効
データと呼ぶことにする。)を#12なる論理セクタ番
号を付与された最小消去単位領域に移し換える。それ
が、図7のチップ番号#0のフラッシュ・メモリ上にお
いて、論理セクタ番号が#0の最小消去単位領域の有効
データ#1と有効データ#2から新たな論理セクタ番号
#12の最小消去単位領域の有効データ#1と有効デー
タ#2への矢印で表現されている。
小消去単位領域に残っている有効データ(既に説明した
如く、新たに書込みを指示されるデータが先に書込まれ
ているデータであっても、即ち、新たな書込みデータと
先に書込まれているデータとが同じデータ番号のデータ
であっても、当該書込みデータを次に書込み可能な書込
み単位領域に格納し、先に書込まれたデータを無効デー
タ扱いにする。しかも、データの書込みは書込み単位領
域を単位として行なう。従って、既に書込みが行なわれ
ている最小消去単位領域には無効データと無効データ扱
いになっていないデータとが混在しているのが一般的で
ある。この無効データ扱いになっていないデータを有効
データと呼ぶことにする。)を#12なる論理セクタ番
号を付与された最小消去単位領域に移し換える。それ
が、図7のチップ番号#0のフラッシュ・メモリ上にお
いて、論理セクタ番号が#0の最小消去単位領域の有効
データ#1と有効データ#2から新たな論理セクタ番号
#12の最小消去単位領域の有効データ#1と有効デー
タ#2への矢印で表現されている。
【0169】有効データの移し換えが終わった後で、新
たな書込みデータが論理セクタ番号#12を付与された
最小消去単位領域中に書込み単位領域を単位として書込
まれてゆく。
たな書込みデータが論理セクタ番号#12を付与された
最小消去単位領域中に書込み単位領域を単位として書込
まれてゆく。
【0170】ここでは、書込みデータが大量にあって、
論理セクタ番号#12を付与された最小消去単位領域を
はみ出す場合を想定している。このはみ出すデータ、即
ち継続分の書込みデータは、論理セクタ番号が#13を
付与されて退避領域から記憶領域に変わる、チップ番号
#1のフラッシュ・メモリ上の最小消去単位領域に書込
まれる。
論理セクタ番号#12を付与された最小消去単位領域を
はみ出す場合を想定している。このはみ出すデータ、即
ち継続分の書込みデータは、論理セクタ番号が#13を
付与されて退避領域から記憶領域に変わる、チップ番号
#1のフラッシュ・メモリ上の最小消去単位領域に書込
まれる。
【0171】この場合、論理セクタ番号#1の最小消去
単位領域を退避領域にする必要があるので、先の説明と
同様に、論理セクタ番号#1の最小消去単位領域に格納
されている有効データを、新たに記憶領域に変わる物理
セクタ番号#13に退避した(これが、図7のチップ番
号#1のフラッシュ・メモリ上において、論理セクタ番
号が#1の最小消去単位領域の有効データ#3と有効デ
ータ#4から新たな論理セクタ番号#13の最小消去単
位領域の有効データ#3と有効データ#4への矢印で表
現されている。)後で、前記はみ出したデータを物理セ
クタ番号#13の最小消去単位領域に書き込んでゆく。
単位領域を退避領域にする必要があるので、先の説明と
同様に、論理セクタ番号#1の最小消去単位領域に格納
されている有効データを、新たに記憶領域に変わる物理
セクタ番号#13に退避した(これが、図7のチップ番
号#1のフラッシュ・メモリ上において、論理セクタ番
号が#1の最小消去単位領域の有効データ#3と有効デ
ータ#4から新たな論理セクタ番号#13の最小消去単
位領域の有効データ#3と有効データ#4への矢印で表
現されている。)後で、前記はみ出したデータを物理セ
クタ番号#13の最小消去単位領域に書き込んでゆく。
【0172】尚、有効データを他の最小消去単位領域に
移し換えられて退避領域になった最小消去単位領域(図
7では、当初論理セクタ番号が#0と#1であった最小
消去単位領域)には論理セクタ番号が付与されない。
移し換えられて退避領域になった最小消去単位領域(図
7では、当初論理セクタ番号が#0と#1であった最小
消去単位領域)には論理セクタ番号が付与されない。
【0173】そして、再び書込みの必要性が生じた時に
は、論理セクタ番号#13の最小消去単位領域に残っ
た、空いた書込み単位領域から書込みを再開する。そし
て、論理セクタ番号#13の最小消去単位領域の全ての
書込み単位領域にデータが書込まれた後の挙動は上記と
全く同じで、図示を省略しているチップ番号#2のチッ
プで退避領域から記憶領域に変わって論理セクタ番号#
14を付与される最小消去単位領域に書込みが移る。
は、論理セクタ番号#13の最小消去単位領域に残っ
た、空いた書込み単位領域から書込みを再開する。そし
て、論理セクタ番号#13の最小消去単位領域の全ての
書込み単位領域にデータが書込まれた後の挙動は上記と
全く同じで、図示を省略しているチップ番号#2のチッ
プで退避領域から記憶領域に変わって論理セクタ番号#
14を付与される最小消去単位領域に書込みが移る。
【0174】この時、もし論理セクタ番号#13を付与
された最小消去単位領域がチップ番号#0のチップの論
理セクタ番号#12を付与された最小消去単位領域から
継続するデータで満たされて更に継続データが残る場合
には、上記と同様な手順でチップ番号#2のフラッシュ
メモリで退避処理をした後で、継続データを図示されて
いないチップ番号#2のフラッシュメモリの退避領域か
ら記憶領域に変わる最小消去単位領域に書込むようにす
る。
された最小消去単位領域がチップ番号#0のチップの論
理セクタ番号#12を付与された最小消去単位領域から
継続するデータで満たされて更に継続データが残る場合
には、上記と同様な手順でチップ番号#2のフラッシュ
メモリで退避処理をした後で、継続データを図示されて
いないチップ番号#2のフラッシュメモリの退避領域か
ら記憶領域に変わる最小消去単位領域に書込むようにす
る。
【0175】ここでは、最初に記憶領域として設定され
た最小消去単位領域の全てにデータが書き込まれた後に
ついて説明したが、未だ書込みが行われたことがない最
小消去単位領域が残っている場合には、これら最小消去
単位領域に物理セクタ番号順に書込みを行ってゆけばよ
い。
た最小消去単位領域の全てにデータが書き込まれた後に
ついて説明したが、未だ書込みが行われたことがない最
小消去単位領域が残っている場合には、これら最小消去
単位領域に物理セクタ番号順に書込みを行ってゆけばよ
い。
【0176】これで書込みと退避の関係が理解できたで
あろうから、まず書込み動作を中心にフローチャートに
よる説明を行なう。図8は、書込み動作のフローチャー
トである。以下、図8に沿って書込み動作の手順を説明
する。
あろうから、まず書込み動作を中心にフローチャートに
よる説明を行なう。図8は、書込み動作のフローチャー
トである。以下、図8に沿って書込み動作の手順を説明
する。
【0177】S1.バッファ・メモリの書込みセクタ番
号格納領域に格納されている、次に書込みを行なうべき
最小消去単位領域(セクタ)の番号と、書込みブロック
番号格納領域に格納されている次に書込みを行なうべき
書込み単位領域(ブロック)の番号を参照して、フラッ
シュ・メモリ上で次に書込みを行なう書込み単位領域の
位置を算出する。
号格納領域に格納されている、次に書込みを行なうべき
最小消去単位領域(セクタ)の番号と、書込みブロック
番号格納領域に格納されている次に書込みを行なうべき
書込み単位領域(ブロック)の番号を参照して、フラッ
シュ・メモリ上で次に書込みを行なう書込み単位領域の
位置を算出する。
【0178】S2.当該最小消去単位領域に空いている
書込み単位領域が残っていないか否かを判定する。これ
は、今の書込み単位領域の番号が当該最小消去単位領域
の最大番号を越えていないことを判定すればよい。
書込み単位領域が残っていないか否かを判定する。これ
は、今の書込み単位領域の番号が当該最小消去単位領域
の最大番号を越えていないことを判定すればよい。
【0179】そして、今の書込み単位領域の番号が当該
最小消去単位領域の最大番号を越えている(Yes)の
場合にはステップS7にジャンプする。 S3.ステップS2での判定結果が、今の書込み単位領
域の番号が当該最小消去単位領域の最大番号を越えてい
ない(No)の場合には、当該書込み単位領域に書込み
単位領域の容量分のデータを書き込む。
最小消去単位領域の最大番号を越えている(Yes)の
場合にはステップS7にジャンプする。 S3.ステップS2での判定結果が、今の書込み単位領
域の番号が当該最小消去単位領域の最大番号を越えてい
ない(No)の場合には、当該書込み単位領域に書込み
単位領域の容量分のデータを書き込む。
【0180】S4.当該書込みデータの全ての書込みが
終了したか否かを判定する。 S5.ステップS4での判定結果が、当該書込みデータ
の全ての書込みが終了していない、即ち継続データがあ
る(No)場合には、データを書き込んだ書込み単位領
域を管理するデータ管理領域に先頭表示ビット、継続表
示ビット、データ番号を設定する。
終了したか否かを判定する。 S5.ステップS4での判定結果が、当該書込みデータ
の全ての書込みが終了していない、即ち継続データがあ
る(No)場合には、データを書き込んだ書込み単位領
域を管理するデータ管理領域に先頭表示ビット、継続表
示ビット、データ番号を設定する。
【0181】ステップS4での判定結果が継続するデー
タがあるというものであるから、このステップでは継続
表示ビットに必ず“1”を設定することになる。又、こ
のステップに初めて達した場合は当該データを初めて書
き込んだので先頭表示ビットに“1”を設定し、2回目
以降なら先頭表示ビットに“0”を設定し、更にデータ
番号を設定する。
タがあるというものであるから、このステップでは継続
表示ビットに必ず“1”を設定することになる。又、こ
のステップに初めて達した場合は当該データを初めて書
き込んだので先頭表示ビットに“1”を設定し、2回目
以降なら先頭表示ビットに“0”を設定し、更にデータ
番号を設定する。
【0182】S6.書込み単位領域の番号を歩進して、
ステップS2にジャンプする。当該最小消去単位領域に
空いている書込み単位領域があり、当該データの書込み
が終了しない間は、ステップS2からステップS6を繰
り返す。
ステップS2にジャンプする。当該最小消去単位領域に
空いている書込み単位領域があり、当該データの書込み
が終了しない間は、ステップS2からステップS6を繰
り返す。
【0183】S7.ステップS2での判定結果が、今の
書込み単位領域の番号が当該最小消去単位領域の最大番
号を越えている(Yes)場合には、バッファ・メモリ
上の書込みセクタ番号格納領域の書込みセクタ番号を歩
進し、 S8.ステップS7で歩進した書込みセクタ番号に該当
する最小消去単位領域が退避領域であるか否かを判定す
る。
書込み単位領域の番号が当該最小消去単位領域の最大番
号を越えている(Yes)場合には、バッファ・メモリ
上の書込みセクタ番号格納領域の書込みセクタ番号を歩
進し、 S8.ステップS7で歩進した書込みセクタ番号に該当
する最小消去単位領域が退避領域であるか否かを判定す
る。
【0184】これは、最も簡単には、当該最小消去単位
領域の論理セクタ番号領域の有効データ表示ビットAと
論理セクタ番号を検定すれば判る。即ち、当該最小消去
単位領域が記憶領域である場合には該有効データ表示ビ
ットAは“0”であり、一方、当該最小消去単位領域が
退避領域である場合には該有効データ表示ビットAは
“1”であり、且つ論理セクタ番号の全ビットに“1”
が設定されているからである。
領域の論理セクタ番号領域の有効データ表示ビットAと
論理セクタ番号を検定すれば判る。即ち、当該最小消去
単位領域が記憶領域である場合には該有効データ表示ビ
ットAは“0”であり、一方、当該最小消去単位領域が
退避領域である場合には該有効データ表示ビットAは
“1”であり、且つ論理セクタ番号の全ビットに“1”
が設定されているからである。
【0185】尚、厳密に言えば、論理セクタ番号領域の
全ビットが“1”であるのは、当該フラッシュ・メモリ
に書込みが行なわれていない場合、当該最小消去単位領
域が退避領域である場合及び当該最小消去単位領域の論
理セクタ番号が最大値になった場合の三通りがあるが、
書込みが行なわれていない場合には全ての最小消去単位
領域の論理セクタ番号が全ビット“1”であり、退避領
域である場合には一のチップ内に唯一の最小消去単位領
域に全ビット“1”が設定されており、論理セクタ番号
が最大値の場合にはフラッシュ・メモリ内に唯一の最小
消去単位領域に全ビット“1”が設定されているので、
それらの区別をすることは可能である。ここで、当該最
小消去単位領域の論理セクタ番号領域だけから判断する
としたのは、退避領域である場合が確率が最も高いから
で、厳密には上記の判定を加味すればよい。
全ビットが“1”であるのは、当該フラッシュ・メモリ
に書込みが行なわれていない場合、当該最小消去単位領
域が退避領域である場合及び当該最小消去単位領域の論
理セクタ番号が最大値になった場合の三通りがあるが、
書込みが行なわれていない場合には全ての最小消去単位
領域の論理セクタ番号が全ビット“1”であり、退避領
域である場合には一のチップ内に唯一の最小消去単位領
域に全ビット“1”が設定されており、論理セクタ番号
が最大値の場合にはフラッシュ・メモリ内に唯一の最小
消去単位領域に全ビット“1”が設定されているので、
それらの区別をすることは可能である。ここで、当該最
小消去単位領域の論理セクタ番号領域だけから判断する
としたのは、退避領域である場合が確率が最も高いから
で、厳密には上記の判定を加味すればよい。
【0186】S9.ステップS8での判定結果が、当該
最小消去単位領域が退避領域でない(No)場合には、
ステップS7で歩進した書込みセクタ番号を当該最小消
去単位領域の論理セクタ番号領域に設定してステップS
2にジャンプする。
最小消去単位領域が退避領域でない(No)場合には、
ステップS7で歩進した書込みセクタ番号を当該最小消
去単位領域の論理セクタ番号領域に設定してステップS
2にジャンプする。
【0187】S10.ステップS8での判定結果が、当
該最小消去単位領域が退避領域である(Yes)場合に
も、ステップS7で歩進した論理セクタ番号を当該最小
消去単位領域の論理セクタ番号領域に設定し S11.当該最小消去単位領域に、次に退避領域になる
べき最小消去単位領域から有効データを退避させた後、
ステップS2にジャンプする。
該最小消去単位領域が退避領域である(Yes)場合に
も、ステップS7で歩進した論理セクタ番号を当該最小
消去単位領域の論理セクタ番号領域に設定し S11.当該最小消去単位領域に、次に退避領域になる
べき最小消去単位領域から有効データを退避させた後、
ステップS2にジャンプする。
【0188】尚、次に退避領域になるべき最小消去単位
領域の論理セクタ番号は〔式3〕又は〔式6〕から求め
ることができるが、図2又は図3のように論理セクタ番
号をふる場合には、フラッシュ・メモリ内で論理セクタ
番号を検索して最小の論理セクタ番号を求めればよい。
領域の論理セクタ番号は〔式3〕又は〔式6〕から求め
ることができるが、図2又は図3のように論理セクタ番
号をふる場合には、フラッシュ・メモリ内で論理セクタ
番号を検索して最小の論理セクタ番号を求めればよい。
【0189】尚、退避処理については図9を用いて後で
詳述する。 S12.ステップS4での判定結果が、当該データの全
ての書込みが終了した(Yes)場合にも、データを書
き込んだ書込み単位領域を管理するデータ管理領域に先
頭表示ビット、継続表示ビット、データ番号を設定す
る。
詳述する。 S12.ステップS4での判定結果が、当該データの全
ての書込みが終了した(Yes)場合にも、データを書
き込んだ書込み単位領域を管理するデータ管理領域に先
頭表示ビット、継続表示ビット、データ番号を設定す
る。
【0190】この場合、当該データの全ての書込みが終
了したのであるから、継続表示ビットには必ず“0”を
設定する。そして、少なくともステップS4を1回通っ
た後でこのステップに達した場合には、今書き込んだの
はデータの先頭ではないので、先頭表示ビットに“0”
を設定する。
了したのであるから、継続表示ビットには必ず“0”を
設定する。そして、少なくともステップS4を1回通っ
た後でこのステップに達した場合には、今書き込んだの
はデータの先頭ではないので、先頭表示ビットに“0”
を設定する。
【0191】更に、最終にデータを書き込んだ書込み単
位領域の番号を歩進して、バッファ・メモリ上の書込み
ブロック番号格納領域に歩進された書込み単位領域の番
号を格納する。
位領域の番号を歩進して、バッファ・メモリ上の書込み
ブロック番号格納領域に歩進された書込み単位領域の番
号を格納する。
【0192】尚、このステップで書込みブロック番号が
最小消去単位領域中で許容されるブロック番号を越える
ことを判定するようにする場合には、ステップS2での
判定は不要になり、このステップからステップS7にジ
ャンプすればよい。
最小消去単位領域中で許容されるブロック番号を越える
ことを判定するようにする場合には、ステップS2での
判定は不要になり、このステップからステップS7にジ
ャンプすればよい。
【0193】即ち、歩進された書込み単位領域の番号が
最小消去単位領域内の書込み単位領域の最大番号を越え
ている場合には、論理セクタ番号を歩進してバッファ・
メモリ上の書込みセクタ番号領域に格納し、該バッファ
・メモリ上の書込みブロック番号には最小消去単位領域
内の書込み単位領域の最小番号を格納する。
最小消去単位領域内の書込み単位領域の最大番号を越え
ている場合には、論理セクタ番号を歩進してバッファ・
メモリ上の書込みセクタ番号領域に格納し、該バッファ
・メモリ上の書込みブロック番号には最小消去単位領域
内の書込み単位領域の最小番号を格納する。
【0194】いずれにしても、上記のように、バッファ
・メモリ上に書込みセクタ番号と書込みブロック番号を
設定するので、次に書込みを行なう時には今設定された
番号を参照すれば書込み位置を知ることができる。
・メモリ上に書込みセクタ番号と書込みブロック番号を
設定するので、次に書込みを行なう時には今設定された
番号を参照すれば書込み位置を知ることができる。
【0195】S13.今書き込んだデータが新規のデー
タか、更新データなのかを判定する。新規のデータか更
新データかは、バッファ・メモリ上のデータ格納位置管
理領域を検索し、そのアドレス部に今書き込んだデータ
のデータ番号に等しいデータ番号がある場合には更新デ
ータであると判定し、そのアドレス部に今書き込んだデ
ータのデータ番号に等しいデータ番号がない場合には新
規データであると判定すればよい。
タか、更新データなのかを判定する。新規のデータか更
新データかは、バッファ・メモリ上のデータ格納位置管
理領域を検索し、そのアドレス部に今書き込んだデータ
のデータ番号に等しいデータ番号がある場合には更新デ
ータであると判定し、そのアドレス部に今書き込んだデ
ータのデータ番号に等しいデータ番号がない場合には新
規データであると判定すればよい。
【0196】ここでの判定結果が、新規データである
(No)場合には書込み動作を終了する。尚、ここでは
データ番号とデータ格納位置管理領域のアドレスとが等
しいものとして説明をしているが、両者が等しいことは
必須ではなく、データ番号とデータ格納位置管理領域の
アドレスとが重複なく対応していればよい。
(No)場合には書込み動作を終了する。尚、ここでは
データ番号とデータ格納位置管理領域のアドレスとが等
しいものとして説明をしているが、両者が等しいことは
必須ではなく、データ番号とデータ格納位置管理領域の
アドレスとが重複なく対応していればよい。
【0197】S14.ステップS13での判定結果が、
更新データである(Yes)場合には、バッファ・メモ
リ上のデータ格納位置管理領域の当該データ番号のアド
レスから当該データ番号の旧データを格納している最小
消去単位領域の論理セクタ番号と当該最小消去単位領域
内の旧データが書き込まれている書込み単位領域の番号
を引出し、上記論理セクタ番号と書込み書込み単位領域
番号で規定される書込み単位領域を管理する旧データ管
理領域に無効データである旨を設定する。
更新データである(Yes)場合には、バッファ・メモ
リ上のデータ格納位置管理領域の当該データ番号のアド
レスから当該データ番号の旧データを格納している最小
消去単位領域の論理セクタ番号と当該最小消去単位領域
内の旧データが書き込まれている書込み単位領域の番号
を引出し、上記論理セクタ番号と書込み書込み単位領域
番号で規定される書込み単位領域を管理する旧データ管
理領域に無効データである旨を設定する。
【0198】無効データである旨を表示するには、旧デ
ータ管理領域の全ビットに“0”を設定すればよい。 S15.今書き込んだデータは更新データであるので、
バッファ・メモリ上のデータ格納位置管理領域の当該デ
ータ番号に等しいアドレスに、更新データを書き込んだ
最小消去単位領域の論理セクタ番号と、当該最小消去単
位領域内の書込み単位領域の番号を更新する。
ータ管理領域の全ビットに“0”を設定すればよい。 S15.今書き込んだデータは更新データであるので、
バッファ・メモリ上のデータ格納位置管理領域の当該デ
ータ番号に等しいアドレスに、更新データを書き込んだ
最小消去単位領域の論理セクタ番号と、当該最小消去単
位領域内の書込み単位領域の番号を更新する。
【0199】これによって、当該データ番号の最新のデ
ータが格納されている位置を知ることができるので、次
に同じデータ番号をデータを書き込んだときには、この
格納内容を参考にして旧データを格納している書込み単
位領域を管理するデータ管理領域に無効表示をすること
ができる。
ータが格納されている位置を知ることができるので、次
に同じデータ番号をデータを書き込んだときには、この
格納内容を参考にして旧データを格納している書込み単
位領域を管理するデータ管理領域に無効表示をすること
ができる。
【0200】尚、図7と図8によって説明した、退避領
域から記憶領域に変わる最小消去単位領域に対する退避
と書込みの順序は、記憶領域から退避領域に変わる最小
消去単位領域から有効データを退避した後に書込みデー
タを書き込んでゆくものであるが、この順序は上記には
限定されない。即ち、退避領域から書込み領域に変わる
最小消去単位へ書込みデータを書込んだ後に退避すべき
有効データを退避させることも可能である。ここで記載
した順序で書込みと退避を行なうには、図8におけるス
テップS8、ステップS9、ステップS11を削除し、
ステップS7からステップS10を経由してステップS
2にジャンプするようにし、更に、ステップS15の後
に今書込みを行なった最小消去単位領域が直前まで退避
領域であったか否かを判定するステップと、退避領域で
あった場合には退避処理をするステップを追加し、退避
領域ではなかった場合と退避処理を行なった後に処理を
終了させるように、フローチャートを変更すればよい。
域から記憶領域に変わる最小消去単位領域に対する退避
と書込みの順序は、記憶領域から退避領域に変わる最小
消去単位領域から有効データを退避した後に書込みデー
タを書き込んでゆくものであるが、この順序は上記には
限定されない。即ち、退避領域から書込み領域に変わる
最小消去単位へ書込みデータを書込んだ後に退避すべき
有効データを退避させることも可能である。ここで記載
した順序で書込みと退避を行なうには、図8におけるス
テップS8、ステップS9、ステップS11を削除し、
ステップS7からステップS10を経由してステップS
2にジャンプするようにし、更に、ステップS15の後
に今書込みを行なった最小消去単位領域が直前まで退避
領域であったか否かを判定するステップと、退避領域で
あった場合には退避処理をするステップを追加し、退避
領域ではなかった場合と退避処理を行なった後に処理を
終了させるように、フローチャートを変更すればよい。
【0201】次に、上記では詳細な内容の説明を後に譲
った退避処理について詳述する。まず、その概要である
が、退避元になる最小消去単位領域内のデータ管理領域
を書込み単位領域毎に検索し、有効データを格納してい
る書込み単位領域について、そのデータとデータ管理領
域の内容を退避先になる最小消去単位領域に退避させ
る。尚、有効データを格納している書込み単位領域と
は、先頭表示ビットに“1”を検出した書込み単位領域
から、継続表示ビットに“0”を検出した書込み単位領
域までのことを指す。
った退避処理について詳述する。まず、その概要である
が、退避元になる最小消去単位領域内のデータ管理領域
を書込み単位領域毎に検索し、有効データを格納してい
る書込み単位領域について、そのデータとデータ管理領
域の内容を退避先になる最小消去単位領域に退避させ
る。尚、有効データを格納している書込み単位領域と
は、先頭表示ビットに“1”を検出した書込み単位領域
から、継続表示ビットに“0”を検出した書込み単位領
域までのことを指す。
【0202】図9は、退避処理のフローチャートであ
る。以降、図9の符号に沿って退避処理について具体的
に説明する。 S21.退避処理は、最小消去単位領域の中で書込み単
位領域毎に行なうので、最小消去単位領域中の書込み単
位領域の数をカウントするための検索番号に初期値0を
設定する。
る。以降、図9の符号に沿って退避処理について具体的
に説明する。 S21.退避処理は、最小消去単位領域の中で書込み単
位領域毎に行なうので、最小消去単位領域中の書込み単
位領域の数をカウントするための検索番号に初期値0を
設定する。
【0203】S22.検索番号を歩進して、特定の書込
み単位領域を指定する。 S23.検索番号が書込み単位領域の番号の最大値を越
えているか否かを判定する。
み単位領域を指定する。 S23.検索番号が書込み単位領域の番号の最大値を越
えているか否かを判定する。
【0204】ここでは、最小消去単位領域の構成として
図1に示した例を想定しているので、記憶領域としての
書込み単位領域は127ある。従って、具体的には、検
索番号が127より大きいか否かを判定することにな
る。
図1に示した例を想定しているので、記憶領域としての
書込み単位領域は127ある。従って、具体的には、検
索番号が127より大きいか否かを判定することにな
る。
【0205】S24.当該データ管理領域の先頭表示ビ
ットを検定する。 S25.ステップS24での検定の結果、先頭表示ビッ
トが“1”である場合(Yes)には、当該書込み単位
領域に格納されているデータを退避領域となっている最
小消去単位領域(以降、退避先の最小消去単位領域と略
記する。)に転写する。
ットを検定する。 S25.ステップS24での検定の結果、先頭表示ビッ
トが“1”である場合(Yes)には、当該書込み単位
領域に格納されているデータを退避領域となっている最
小消去単位領域(以降、退避先の最小消去単位領域と略
記する。)に転写する。
【0206】ここでは単に“転写する”という表現をと
ったが、正確には、当該書込み単位領域に格納されてい
るデータをバッファ・メモリに転送し、該バッファ・メ
モリから退避先の最小消去単位領域内の書込み単位領域
に再度転送をするというプロセスによって転写する。
ったが、正確には、当該書込み単位領域に格納されてい
るデータをバッファ・メモリに転送し、該バッファ・メ
モリから退避先の最小消去単位領域内の書込み単位領域
に再度転送をするというプロセスによって転写する。
【0207】S26.今転写したデータを格納していた
書込み単位領域を管理するデータ管理領域の内容を、デ
ータを転写した書込み単位領域を管理するデータ管理領
域に転写する。
書込み単位領域を管理するデータ管理領域の内容を、デ
ータを転写した書込み単位領域を管理するデータ管理領
域に転写する。
【0208】S27.今転写したデータ管理領域の継続
表示ビットを検定し、 S28.ステップS27での検定結果が、継続表示ビッ
トが“1”である(Yes)場合には、バッファ・メモ
リ上の継続保持フラグに次の書込み単位領域に継続デー
タがある旨を意味する“1”を設定する。
表示ビットを検定し、 S28.ステップS27での検定結果が、継続表示ビッ
トが“1”である(Yes)場合には、バッファ・メモ
リ上の継続保持フラグに次の書込み単位領域に継続デー
タがある旨を意味する“1”を設定する。
【0209】S29.退避元の最小消去単位領域の、今
退避させたデータを格納している書込み単位領域のデー
タ管理領域に、当該書込み単位領域に格納されいてるデ
ータは無効データである旨表示する。具体的には、当該
書込み単位領域を管理するデータ管理領域の全ビットに
“0”を設定する。
退避させたデータを格納している書込み単位領域のデー
タ管理領域に、当該書込み単位領域に格納されいてるデ
ータは無効データである旨表示する。具体的には、当該
書込み単位領域を管理するデータ管理領域の全ビットに
“0”を設定する。
【0210】そして、ステップS22にジャンプする。 S30.ステップS27での検定結果が、継続表示ビッ
トが“1でない(No)場合には、バッファ・メモリ上
の継続保持フラグに次の書込み単位領域にはデータが継
続しない旨を意味する“0”を設定して、ステップS2
9にジャンプする。
トが“1でない(No)場合には、バッファ・メモリ上
の継続保持フラグに次の書込み単位領域にはデータが継
続しない旨を意味する“0”を設定して、ステップS2
9にジャンプする。
【0211】S31.ステップS24での検定結果が、
先頭表示ビットが“1”でない(No)場合には、バッ
ファ・メモリ上の継続保持フラグ格納領域に格納されて
いる継続保持フラグが“1”であるか否かを検定し、 S32.ステップS31での検定結果が、継続保持フラ
グが“1”である場合には、先に転写したデータに継続
するデータがこの時の検索番号に等しい番号の書込み単
位領域に格納されているので、当該書込み単位領域に格
納されているデータを退避先の最小消去単位領域内の書
込み単位領域に転写する。
先頭表示ビットが“1”でない(No)場合には、バッ
ファ・メモリ上の継続保持フラグ格納領域に格納されて
いる継続保持フラグが“1”であるか否かを検定し、 S32.ステップS31での検定結果が、継続保持フラ
グが“1”である場合には、先に転写したデータに継続
するデータがこの時の検索番号に等しい番号の書込み単
位領域に格納されているので、当該書込み単位領域に格
納されているデータを退避先の最小消去単位領域内の書
込み単位領域に転写する。
【0212】S33.更に、今転写したデータを格納し
ていた書込み単位領域を管理するデータ管理領域の内容
を、データを転写した書込み単位領域を管理するデータ
管理領域に転写する。
ていた書込み単位領域を管理するデータ管理領域の内容
を、データを転写した書込み単位領域を管理するデータ
管理領域に転写する。
【0213】S34.今転写したデータ管理領域の継続
表示ビットを検定し、検定結果が、継続表示ビットが
“1”でない(No)場合には、ステップS30へジャ
ンプする。
表示ビットを検定し、検定結果が、継続表示ビットが
“1”でない(No)場合には、ステップS30へジャ
ンプする。
【0214】S35.一方、ステップS34での検定結
果が、継続表示ビットが“1”である(Yes)場合に
は、バッファ・メモリ上の継続保持フラグに次の書込み
単位領域に継続データがある旨を意味する“1”を設定
して、ステップS29にジャンプする。
果が、継続表示ビットが“1”である(Yes)場合に
は、バッファ・メモリ上の継続保持フラグに次の書込み
単位領域に継続データがある旨を意味する“1”を設定
して、ステップS29にジャンプする。
【0215】S36.ステップS23での判定結果が、
検索番号が最小消去単位領域内の記憶領域である書込み
単位領域の数(この場合127)を越えている(Ye
s)場合には、当該最小消去単位領域内の全ての有効デ
ータの退避を終了したので、当該最小消去単位領域を管
理する論理セクタ番号領域の有効データ表示ビットに
“0”を設定して、当該最小消去単位領域が退避済であ
ることを表示する。
検索番号が最小消去単位領域内の記憶領域である書込み
単位領域の数(この場合127)を越えている(Ye
s)場合には、当該最小消去単位領域内の全ての有効デ
ータの退避を終了したので、当該最小消去単位領域を管
理する論理セクタ番号領域の有効データ表示ビットに
“0”を設定して、当該最小消去単位領域が退避済であ
ることを表示する。
【0216】S37.当該最小消去単位領域の記憶領域
である書込み単位領域の格納内容を消去して、退避処理
を終了する。上記処理おいては、フラッシュ・メモリ上
のデータ管理領域の先頭表示ビット及び継続表示ビット
の検定と、バッファ・メモリ上の継続保持フラグの設定
・検定で退避の要否を判定している。
である書込み単位領域の格納内容を消去して、退避処理
を終了する。上記処理おいては、フラッシュ・メモリ上
のデータ管理領域の先頭表示ビット及び継続表示ビット
の検定と、バッファ・メモリ上の継続保持フラグの設定
・検定で退避の要否を判定している。
【0217】即ち、先頭表示ビットが“1”である場合
には、その書込み単位領域に格納されているデータを退
避して、継続表示ビットが“1”であれば継続保持フラ
グに“1”をたてた後に、当該データを無効化してから
検索番号を歩進し、継続表示ビットが“0”であれば継
続保持フラグに“0”をたてた後に、当該データを無効
化してから検索番号を歩進する。
には、その書込み単位領域に格納されているデータを退
避して、継続表示ビットが“1”であれば継続保持フラ
グに“1”をたてた後に、当該データを無効化してから
検索番号を歩進し、継続表示ビットが“0”であれば継
続保持フラグに“0”をたてた後に、当該データを無効
化してから検索番号を歩進する。
【0218】又、先頭表示ビットが“0”の場合には、
継続保持フラグが“1”であれば継続データであるので
退避して、継続表示ビットが“1”であれば継続保持フ
ラグに“1”をたてた後に、当該データを無効化してか
ら検索番号を歩進し、継続表示ビットが“0”であれば
継続保持フラグに“0”をたてた後に、当該データを無
効化してから検索番号を歩進し、継続保持フラグが
“0”であれば既に全ての継続データを退避した後であ
るので、検索番号を歩進する。
継続保持フラグが“1”であれば継続データであるので
退避して、継続表示ビットが“1”であれば継続保持フ
ラグに“1”をたてた後に、当該データを無効化してか
ら検索番号を歩進し、継続表示ビットが“0”であれば
継続保持フラグに“0”をたてた後に、当該データを無
効化してから検索番号を歩進し、継続保持フラグが
“0”であれば既に全ての継続データを退避した後であ
るので、検索番号を歩進する。
【0219】このようにして、有効データを全て退避領
域から新たに記憶領域になる最小消去単位領域に退避す
ることができる。一方、無効データの場合には、データ
管理領域の全ビットが“0”であるので、当然、先頭表
示ビットは“0”であり、バッファ・メモリ上の継続保
持フラグには“1”がたっていないので、ステップS2
4、ステップS31を経てステップS22にジャンプす
る。従って、無効データを退避することはない。
域から新たに記憶領域になる最小消去単位領域に退避す
ることができる。一方、無効データの場合には、データ
管理領域の全ビットが“0”であるので、当然、先頭表
示ビットは“0”であり、バッファ・メモリ上の継続保
持フラグには“1”がたっていないので、ステップS2
4、ステップS31を経てステップS22にジャンプす
る。従って、無効データを退避することはない。
【0220】そして、全ての書込み単位領域について上
記処理を終わった段階で当該最小消去単位領域には有効
データが格納されていない旨表示して、当該最小消去単
位領域の記憶領域を消去するようになっている。
記処理を終わった段階で当該最小消去単位領域には有効
データが格納されていない旨表示して、当該最小消去単
位領域の記憶領域を消去するようになっている。
【0221】ところで、データ格納位置管理領域はフラ
ッシュ・メモリの外に設けられ、既述の如く、揮発性メ
モリが適用されるのが一般的である。データ格納位置管
理領域が揮発性メモリから成るバッファ・メモリ上に形
成されている場合、補助記憶装置の信頼性を確保するに
は、該バッファ・メモリに電源断が生じてもデータ格納
位置管理領域の格納内容を復旧できるようにする必要が
ある。
ッシュ・メモリの外に設けられ、既述の如く、揮発性メ
モリが適用されるのが一般的である。データ格納位置管
理領域が揮発性メモリから成るバッファ・メモリ上に形
成されている場合、補助記憶装置の信頼性を確保するに
は、該バッファ・メモリに電源断が生じてもデータ格納
位置管理領域の格納内容を復旧できるようにする必要が
ある。
【0222】既述の本発明の最小消去単位領域、特にデ
ータ管理領域の構成によれば、電源断が生じてもデータ
格納位置管理領域の格納内容は消失しない。以下、この
ことについて説明する。
ータ管理領域の構成によれば、電源断が生じてもデータ
格納位置管理領域の格納内容は消失しない。以下、この
ことについて説明する。
【0223】図5によって説明した如く、データ管理領
域には当該書込み単位領域に格納されているデータのデ
ータ番号及び先頭表示ビットと継続表示ビットが格納さ
れており、当該データが書込まれている書込み単位領域
の番号はプログラム設定されているデータ管理領域番号
によって知ることができる。
域には当該書込み単位領域に格納されているデータのデ
ータ番号及び先頭表示ビットと継続表示ビットが格納さ
れており、当該データが書込まれている書込み単位領域
の番号はプログラム設定されているデータ管理領域番号
によって知ることができる。
【0224】従って、データ格納位置管理領域の格納内
容が消失した場合には、フラッシュ・メモリ中のデータ
管理領域をデータ格納位置管理領域のアドレスに等しい
データ番号をキーにしてソーティングして、当該データ
番号のデータが格納されている最小消去単位領域の論理
セクタ番号と、先頭表示ビットと継続表示ビットとを参
照しながら、当該論理セクタ番号の最小消去単位領域内
で当該データ番号のデータが格納されている書込み単位
領域の番号を探せば、データ格納位置管理領域の特定の
アドレスの格納内容が一旦消失しても復元することがで
きる。
容が消失した場合には、フラッシュ・メモリ中のデータ
管理領域をデータ格納位置管理領域のアドレスに等しい
データ番号をキーにしてソーティングして、当該データ
番号のデータが格納されている最小消去単位領域の論理
セクタ番号と、先頭表示ビットと継続表示ビットとを参
照しながら、当該論理セクタ番号の最小消去単位領域内
で当該データ番号のデータが格納されている書込み単位
領域の番号を探せば、データ格納位置管理領域の特定の
アドレスの格納内容が一旦消失しても復元することがで
きる。
【0225】上記の復旧動作をデータ格納位置管理領域
の全てのアドレスに対して行なうことにより、データ格
納位置管理領域の全てのアドレスの格納内容を復旧する
ことができる。
の全てのアドレスに対して行なうことにより、データ格
納位置管理領域の全てのアドレスの格納内容を復旧する
ことができる。
【0226】尚、上記の復旧動作を、論理セクタ番号の
若番から順にデータ管理領域を検索し、その都度データ
格納位置管理領域に書込むようにすれば、データ格納位
置管理領域の全てのアドレスの格納内容を復旧するため
の時間を短縮することができる。
若番から順にデータ管理領域を検索し、その都度データ
格納位置管理領域に書込むようにすれば、データ格納位
置管理領域の全てのアドレスの格納内容を復旧するため
の時間を短縮することができる。
【0227】そして、フラッシュ・メモリ内の最小消去
単位領域において中途で停止している処理を終了させる
ことができる。上記の動作を、フラッシュ・メモリに書
込みを行なう準備をする動作と共に、初期化と名付け
る。
単位領域において中途で停止している処理を終了させる
ことができる。上記の動作を、フラッシュ・メモリに書
込みを行なう準備をする動作と共に、初期化と名付け
る。
【0228】図10は、初期化のフローチャートであ
る。以降、図10の符号に沿って初期化について詳述す
る。 S41.フラッシュ・メモリの当該チップにデータが格
納される前(未使用)か、当該チップにデータの格納が
行なわれた後(使用済)かを判定する。
る。以降、図10の符号に沿って初期化について詳述す
る。 S41.フラッシュ・メモリの当該チップにデータが格
納される前(未使用)か、当該チップにデータの格納が
行なわれた後(使用済)かを判定する。
【0229】この判定は、フラッシュ・メモリの最小消
去単位領域の管理領域の先頭にある論理セクタ番号領域
の内容を確認することによって行なうことができる。と
ころで、当該チップが未使用の場合には、当該チップ上
の全ての最小消去単位領域の論理セクタ番号領域の全ビ
ットに“1”が設定されている。又、退避領域になって
いる最小消去単位領域の論理セクタ番号領域にも全ビッ
ト“1”が設定されている。更に、論理セクタ番号が最
大になった時にも論理セクタ番号領域は全ビット“1”
になっている。
去単位領域の管理領域の先頭にある論理セクタ番号領域
の内容を確認することによって行なうことができる。と
ころで、当該チップが未使用の場合には、当該チップ上
の全ての最小消去単位領域の論理セクタ番号領域の全ビ
ットに“1”が設定されている。又、退避領域になって
いる最小消去単位領域の論理セクタ番号領域にも全ビッ
ト“1”が設定されている。更に、論理セクタ番号が最
大になった時にも論理セクタ番号領域は全ビット“1”
になっている。
【0230】ここで、論理セクタ番号領域の全ビットが
“1”である最小消去単位領域の数を比較すると、未使
用の場合には全ての最小消去単位領域について論理セク
タ番号領域の全ビットが“1”になっている。又、退避
領域になっている最小消去単位領域はフラッシュ・メモ
リのチップにおいて唯一である。更に、論理セクタ番号
が最大になった場合には、特定のチップにおいて論理セ
クタ番号領域が全ビット“1”になっている最小消去単
位領域は、論理セクタ番号が最大になった最小消去単位
領域と退避領域になっている最小消去単位領域の二つで
ある。
“1”である最小消去単位領域の数を比較すると、未使
用の場合には全ての最小消去単位領域について論理セク
タ番号領域の全ビットが“1”になっている。又、退避
領域になっている最小消去単位領域はフラッシュ・メモ
リのチップにおいて唯一である。更に、論理セクタ番号
が最大になった場合には、特定のチップにおいて論理セ
クタ番号領域が全ビット“1”になっている最小消去単
位領域は、論理セクタ番号が最大になった最小消去単位
領域と退避領域になっている最小消去単位領域の二つで
ある。
【0231】従って、チップ内に論理セクタ番号領域の
全ビットが“1”になっている最小消去単位領域が三つ
以上あれば当該チップは未使用であると判断され、論理
セクタ番号領域の全ビットが“1”になっている最小消
去単位領域が二つ以下であれば当該チップは使用済であ
ると判断される。
全ビットが“1”になっている最小消去単位領域が三つ
以上あれば当該チップは未使用であると判断され、論理
セクタ番号領域の全ビットが“1”になっている最小消
去単位領域が二つ以下であれば当該チップは使用済であ
ると判断される。
【0232】そして、ステップS41での判定結果が未
使用(Yes)の場合にはステップS57へジャンプす
る。 S42.ステップS41における判定結果が使用済(N
o)の場合には、物理セクタ番号が小さい順に論理セク
タ番号を検索してゆき、その時に最大の論理セクタ番号
をバッファ・メモリ上の書込みセクタ番号領域に設定す
る。
使用(Yes)の場合にはステップS57へジャンプす
る。 S42.ステップS41における判定結果が使用済(N
o)の場合には、物理セクタ番号が小さい順に論理セク
タ番号を検索してゆき、その時に最大の論理セクタ番号
をバッファ・メモリ上の書込みセクタ番号領域に設定す
る。
【0233】又、該書込みセクタ番号が示す最小消去単
位領域の管理領域内のデータ管理領域を検索し、次に書
込みが可能な書込み単位領域の番号を探してバッファ・
メモリ上の書込みブロック番号領域に設定する。
位領域の管理領域内のデータ管理領域を検索し、次に書
込みが可能な書込み単位領域の番号を探してバッファ・
メモリ上の書込みブロック番号領域に設定する。
【0234】ここで、次に書込み可能な書込み単位領域
の番号は、データ管理領域の全ビットが“1”である最
初の書込み単位領域を探すことによって得ることができ
る。 S43.ステップS42で獲得した書込みセクタ番号が
指定する最小消去単位領域への退避元である最小消去単
位領域が退避済か否かを判定する。
の番号は、データ管理領域の全ビットが“1”である最
初の書込み単位領域を探すことによって得ることができ
る。 S43.ステップS42で獲得した書込みセクタ番号が
指定する最小消去単位領域への退避元である最小消去単
位領域が退避済か否かを判定する。
【0235】この判定は、当該最小消去単位領域の論理
セクタ番号領域の有効データ表示フラグを確認すれば可
能で、該有効データ表示フラグが“0”であれば退避
済、該有効データ表示フラグが“1”であれば退避中で
あると判断される。
セクタ番号領域の有効データ表示フラグを確認すれば可
能で、該有効データ表示フラグが“0”であれば退避
済、該有効データ表示フラグが“1”であれば退避中で
あると判断される。
【0236】S44.ステップS43での判定結果が、
当該最小消去単位領域が退避途中(No)である場合、
当該最小消去単位領域のデータ管理領域を検索し、有効
データがあるか否かを判定する。
当該最小消去単位領域が退避途中(No)である場合、
当該最小消去単位領域のデータ管理領域を検索し、有効
データがあるか否かを判定する。
【0237】ここで、有効データとは、データ管理領域
の先頭表示ビットが“1”の書込み単位領域から該デー
タ管理領域の継続表示ビットが“0”の書込み単位領域
までに書き込まれているデータを指す。
の先頭表示ビットが“1”の書込み単位領域から該デー
タ管理領域の継続表示ビットが“0”の書込み単位領域
までに書き込まれているデータを指す。
【0238】当該最小消去単位領域内に有効データがな
い(No)場合には、ステップS48にジャンプする。 S45.ステップS44での判定結果が、当該最小消去
単位領域に有効データがある(Yes)場合には、書込
みセクタの中に退避途中のデータがあるか否か判定す
る。
い(No)場合には、ステップS48にジャンプする。 S45.ステップS44での判定結果が、当該最小消去
単位領域に有効データがある(Yes)場合には、書込
みセクタの中に退避途中のデータがあるか否か判定す
る。
【0239】ここで、退避途中のデータとは、書込みブ
ロック直前の書込み単位領域に対応するデータ管理領域
の継続表示ビットが“1”のデータから遡って、書込み
ブロックのデータ管理領域の先頭表示ビットと継続表示
ビットが共に“1”のデータまでのデータを指す。
ロック直前の書込み単位領域に対応するデータ管理領域
の継続表示ビットが“1”のデータから遡って、書込み
ブロックのデータ管理領域の先頭表示ビットと継続表示
ビットが共に“1”のデータまでのデータを指す。
【0240】そして、ステップS45での判定結果が退
避中のデータがない(No)の場合には、ステップS5
1へジャンプする。 S46.ステップS45での判定結果が退避途中のデー
タがある(Yes)場合には、退避先の最小消去単位領
域内の退避途中のデータが格納されている先頭の書込み
単位領域のデータ管理領域の全ビットを“0”にするこ
とで、当該データを一旦無効データとする。
避中のデータがない(No)の場合には、ステップS5
1へジャンプする。 S46.ステップS45での判定結果が退避途中のデー
タがある(Yes)場合には、退避先の最小消去単位領
域内の退避途中のデータが格納されている先頭の書込み
単位領域のデータ管理領域の全ビットを“0”にするこ
とで、当該データを一旦無効データとする。
【0241】S47.退避中のデータも含めて、退避元
の最小消去単位領域内に存在する有効データを全て書込
みセクタの書込みブロック以降に退避する。 S48.バッファ・メモリ上のデータ格納位置管理領域
を復旧する準備としてデータ格納位置管理領域の格納内
容を全てリセットする。(全ビットに“0”を書き込
む。) このリセットの意味は、データの書込みとデータ管理領
域の設定は正常に終了し、旧データのデータ管理領域に
無効データである旨を設定する前に電源段が生じた場合
に、同一データ番号のデータがフラッシュ・メモリ上に
二つ存在することになるので、これを防止するためであ
る。
の最小消去単位領域内に存在する有効データを全て書込
みセクタの書込みブロック以降に退避する。 S48.バッファ・メモリ上のデータ格納位置管理領域
を復旧する準備としてデータ格納位置管理領域の格納内
容を全てリセットする。(全ビットに“0”を書き込
む。) このリセットの意味は、データの書込みとデータ管理領
域の設定は正常に終了し、旧データのデータ管理領域に
無効データである旨を設定する前に電源段が生じた場合
に、同一データ番号のデータがフラッシュ・メモリ上に
二つ存在することになるので、これを防止するためであ
る。
【0242】S49.論理セクタ番号の小さい順に、有
効データの位置情報である論理セクタ番号とブロック番
号をデータ格納位置管理領域に設定する。 S50.電源断した時に消去中であった可能性のある最
小消去単位領域の消去を再度行って、処理を終了する。
効データの位置情報である論理セクタ番号とブロック番
号をデータ格納位置管理領域に設定する。 S50.電源断した時に消去中であった可能性のある最
小消去単位領域の消去を再度行って、処理を終了する。
【0243】尚、この消去中の最小消去単位領域は,論
理セクタ番号領域の有効データ表示ビットが“0”にな
っていてるものの、当該最小消去単位領域中の書込み単
位領域の全てが無効データ化されていないことを確認す
ることによって知ることができる。
理セクタ番号領域の有効データ表示ビットが“0”にな
っていてるものの、当該最小消去単位領域中の書込み単
位領域の全てが無効データ化されていないことを確認す
ることによって知ることができる。
【0244】S51.ステップS45の判定結果が、書
込みセクタ内に退避途中のデータがない(No)場合、
当該最小消去単位領域の記憶領域とデータ管理領域の転
写が終了し、退避元の最小消去単位領域のデータ管理領
域に無効データを設定する前に電源断になった場合と、
無効データを設定した後に電源断した場合を判別するた
めに、退避先の最小消去単位領域内の書込みブロックの
直前の書込み単位領域に格納されているデータのデータ
番号が退避元の最小消去単位領域内における初めての有
効データと同じか否かを判定する。
込みセクタ内に退避途中のデータがない(No)場合、
当該最小消去単位領域の記憶領域とデータ管理領域の転
写が終了し、退避元の最小消去単位領域のデータ管理領
域に無効データを設定する前に電源断になった場合と、
無効データを設定した後に電源断した場合を判別するた
めに、退避先の最小消去単位領域内の書込みブロックの
直前の書込み単位領域に格納されているデータのデータ
番号が退避元の最小消去単位領域内における初めての有
効データと同じか否かを判定する。
【0245】両者が同じでない(No)場合、ステップ
S54へジャンプする。 S52.ステップS51の判定結果が、同じである(Y
es)場合には、退避元の最小消去単位領域における初
めての有効データを格納している書込み単位領域のデー
タ管理領域の全ビットを“0”に設定することによって
無効データである旨表示する。
S54へジャンプする。 S52.ステップS51の判定結果が、同じである(Y
es)場合には、退避元の最小消去単位領域における初
めての有効データを格納している書込み単位領域のデー
タ管理領域の全ビットを“0”に設定することによって
無効データである旨表示する。
【0246】S53.退避元の最小消去単位領域内の有
効データを書込みセクタに退避してステップS48にジ
ャンプする。 S54.ステップS51での判定結果が、書込みセクタ
内の書込みブロックの直前の書込み単位領域に格納され
ているデータのデータ番号が退避元の最小消去単位領域
の有効データを格納している初めての書込み単位領域の
データ番号と同じでない(No)場合、退避元の最小消
去単位領域の有効データを退避先の最小消去単位領域
(書込みセクタである。)へ退避してステップS48に
ジャンプする。
効データを書込みセクタに退避してステップS48にジ
ャンプする。 S54.ステップS51での判定結果が、書込みセクタ
内の書込みブロックの直前の書込み単位領域に格納され
ているデータのデータ番号が退避元の最小消去単位領域
の有効データを格納している初めての書込み単位領域の
データ番号と同じでない(No)場合、退避元の最小消
去単位領域の有効データを退避先の最小消去単位領域
(書込みセクタである。)へ退避してステップS48に
ジャンプする。
【0247】S55.ステップS43の判定結果が、退
避元の最小消去単位領域が退避済である(Yes)場
合、書込みセクタ内に書込み途中のデータを格納してい
る書込み単位領域があるか否かを判定する。
避元の最小消去単位領域が退避済である(Yes)場
合、書込みセクタ内に書込み途中のデータを格納してい
る書込み単位領域があるか否かを判定する。
【0248】ここで、書込み途中のデータとは、書込み
ブロックの直前の書込み単位領域に対応するデータ管理
領域の継続表示ビットが“1”のもの、及び、書込みブ
ロックの記憶領域に“1”以外のビットが存在するもの
を示す。
ブロックの直前の書込み単位領域に対応するデータ管理
領域の継続表示ビットが“1”のもの、及び、書込みブ
ロックの記憶領域に“1”以外のビットが存在するもの
を示す。
【0249】そして、書込み途中の書込み単位領域がな
い(No)場合、ステップS48にジャンプする。 S56.ステップS55の判定結果が、書込み途中のデ
ータがある(Yes)場合には、書込みセクタ内の書込
み途中のデータが格納されている先頭の書込み単位領域
に対応するデータ管理領域の全ビットを“0”にするこ
とにより無効データである旨表示して、ステップS48
にジャンプする。
い(No)場合、ステップS48にジャンプする。 S56.ステップS55の判定結果が、書込み途中のデ
ータがある(Yes)場合には、書込みセクタ内の書込
み途中のデータが格納されている先頭の書込み単位領域
に対応するデータ管理領域の全ビットを“0”にするこ
とにより無効データである旨表示して、ステップS48
にジャンプする。
【0250】S57.一方、ステップS41での判定結
果が、フラッシュ・メモリが未使用である(Yes)場
合には、論理セクタ番号に初期値を設定する準備として
バッファ・メモリ上の書込みセクタ番号領域に初期値を
設定する。例えば,昇順に論理セクタ番号を設定する場
合には、バッファ・メモリ上の書込みセクタ番号領域に
書込みセクタ番号として0を設定する。
果が、フラッシュ・メモリが未使用である(Yes)場
合には、論理セクタ番号に初期値を設定する準備として
バッファ・メモリ上の書込みセクタ番号領域に初期値を
設定する。例えば,昇順に論理セクタ番号を設定する場
合には、バッファ・メモリ上の書込みセクタ番号領域に
書込みセクタ番号として0を設定する。
【0251】S58.次いで、バッファ・メモリ上の書
込みブロック番号領域の書込みブロック番号として1を
設定する。 S59.最初の最小消去単位領域に、ステップS57で
設定した書込みセクタ番号の初期値0を設定する。
込みブロック番号領域の書込みブロック番号として1を
設定する。 S59.最初の最小消去単位領域に、ステップS57で
設定した書込みセクタ番号の初期値0を設定する。
【0252】これで、フラッシュ・メモリが未使用の場
合に、書込みの準備が完了するので、処理を終了する。
これで、補助記憶装置の構成、該補助記憶装置を構成す
るフラッシュ・メモリのチップの構成、該フラッシュ・
メモリを構成する最小消去単位領域への物理セクタ番号
の付与の仕方及び論理セクタ番号の付与の仕方、論理セ
クタ番号の付与の仕方に対応した書込み順序及び退避領
域と記憶領域の交代の仕方、書込みデータに対する記憶
領域の割当ては浮動的に行なうこと及びデータ格納位置
管理領域を使用したデータの書込み管理に関する説明を
終了する。
合に、書込みの準備が完了するので、処理を終了する。
これで、補助記憶装置の構成、該補助記憶装置を構成す
るフラッシュ・メモリのチップの構成、該フラッシュ・
メモリを構成する最小消去単位領域への物理セクタ番号
の付与の仕方及び論理セクタ番号の付与の仕方、論理セ
クタ番号の付与の仕方に対応した書込み順序及び退避領
域と記憶領域の交代の仕方、書込みデータに対する記憶
領域の割当ては浮動的に行なうこと及びデータ格納位置
管理領域を使用したデータの書込み管理に関する説明を
終了する。
【0253】さて、フラッシュ・メモリではデータの書
込みは、消去されている領域に対してのみ可能である。
従って、データを他の最小消去単位領域に移し換えて退
避領域になる最小消去単位領域の記憶内容は、次に記憶
領域となってデータを書込む時のために消去しておく必
要がある。
込みは、消去されている領域に対してのみ可能である。
従って、データを他の最小消去単位領域に移し換えて退
避領域になる最小消去単位領域の記憶内容は、次に記憶
領域となってデータを書込む時のために消去しておく必
要がある。
【0254】ここで、同一のフラッシュ・メモリのチッ
プにおいて消去と書込みとを同時に行なうことはできな
いので、同一チップ内で消去と書込みを行なわなければ
ならない従来の方式においては書込みと消去がシリアル
な処理になって、書込み処理に遅延が生ずる。
プにおいて消去と書込みとを同時に行なうことはできな
いので、同一チップ内で消去と書込みを行なわなければ
ならない従来の方式においては書込みと消去がシリアル
な処理になって、書込み処理に遅延が生ずる。
【0255】しかし、本発明によれば、或るチップにお
いて退避領域と記憶領域の交代が行なわれて、新たに退
避領域から記憶領域となった最小消去単位領域の全ての
書込み単位領域に書込みが行なわれると次のチップに書
込みが移る。
いて退避領域と記憶領域の交代が行なわれて、新たに退
避領域から記憶領域となった最小消去単位領域の全ての
書込み単位領域に書込みが行なわれると次のチップに書
込みが移る。
【0256】従って、前のチップで新たに退避領域にな
った最小消去単位領域の消去を、書込みが次のチップに
移った時に行なうことができるので、消去動作と書込み
動作とが同一チップで重なることはない。つまり、或る
チップで消去を行なっている時に次のチップで書込みを
行なうことができるので、新たに退避領域になる最小消
去単位領域を消去する動作によって、必要なデータの書
込み動作を遅延させることがなくなる。
った最小消去単位領域の消去を、書込みが次のチップに
移った時に行なうことができるので、消去動作と書込み
動作とが同一チップで重なることはない。つまり、或る
チップで消去を行なっている時に次のチップで書込みを
行なうことができるので、新たに退避領域になる最小消
去単位領域を消去する動作によって、必要なデータの書
込み動作を遅延させることがなくなる。
【0257】即ち、新たなデータの書込み動作が古いデ
ータの消去動作によって遅延させられることがないの
で、通信装置や情報処理装置本来の処理能力を消去動作
によって低下させることはない。
ータの消去動作によって遅延させられることがないの
で、通信装置や情報処理装置本来の処理能力を消去動作
によって低下させることはない。
【0258】更に、次のチップに書込みが移ったタイミ
ングを前のチップ上で新たに退避領域になる最小消去単
位領域を消去するタイミングにすればよいので、新たに
退避領域になった最小消去単位領域の消去タイミングを
消去専用の手段によって作り出す必要はない。
ングを前のチップ上で新たに退避領域になる最小消去単
位領域を消去するタイミングにすればよいので、新たに
退避領域になった最小消去単位領域の消去タイミングを
消去専用の手段によって作り出す必要はない。
【0259】このため、補助記憶装置の管理を簡易にす
ることができる。ここまでにおいて、補助記憶装置の構
成、該補助記憶装置を構成するフラッシュ・メモリのチ
ップの構成、該フラッシュ・メモリを構成する最小消去
単位領域への物理セクタ番号の付与の仕方及び論理セク
タ番号の付与の仕方、論理セクタ番号の付与の仕方に対
応した書込み順序及び退避領域と記憶領域の交代の仕
方、書込みデータに対する記憶領域の割当ては浮動的に
行なうこと、データ格納位置管理領域を使用したデータ
の書込み管理及び退避領域と記憶領域の交代の仕方を含
む、通常の書込み動作に関する説明を終了する。
ることができる。ここまでにおいて、補助記憶装置の構
成、該補助記憶装置を構成するフラッシュ・メモリのチ
ップの構成、該フラッシュ・メモリを構成する最小消去
単位領域への物理セクタ番号の付与の仕方及び論理セク
タ番号の付与の仕方、論理セクタ番号の付与の仕方に対
応した書込み順序及び退避領域と記憶領域の交代の仕
方、書込みデータに対する記憶領域の割当ては浮動的に
行なうこと、データ格納位置管理領域を使用したデータ
の書込み管理及び退避領域と記憶領域の交代の仕方を含
む、通常の書込み動作に関する説明を終了する。
【0260】ところで、フラッシュ・メモリの最小消去
単位領域は書込み消去によって劣化が進むので、或る時
突然書込みができなくなることもある。本発明は、かか
る事態でのフラッシュ・メモリの管理方式も提供する。
単位領域は書込み消去によって劣化が進むので、或る時
突然書込みができなくなることもある。本発明は、かか
る事態でのフラッシュ・メモリの管理方式も提供する。
【0261】図11は、書込み不能な最小消去単位領域
をスキップするメモリ管理を説明する図である。図11
において、1はチップ番号#0のフラッシュ・メモリ、
2はチップ番号#1のフラッシュ・メモリ、3はチップ
番号#2のフラッシュ・メモリで、各々のフラッシュ・
メモリが五の最小消去単位領域によって構成される場合
を示している。
をスキップするメモリ管理を説明する図である。図11
において、1はチップ番号#0のフラッシュ・メモリ、
2はチップ番号#1のフラッシュ・メモリ、3はチップ
番号#2のフラッシュ・メモリで、各々のフラッシュ・
メモリが五の最小消去単位領域によって構成される場合
を示している。
【0262】ここでは、物理セクタ番号#0の最小消去
単位領域が退避領域から論理セクタ番号#30の記憶領
域に変わり、物理セクタ番号#3の最小消去単位領域が
論理セクタ番号#18の記憶領域から退避領域に変わっ
た状態から説明をする。
単位領域が退避領域から論理セクタ番号#30の記憶領
域に変わり、物理セクタ番号#3の最小消去単位領域が
論理セクタ番号#18の記憶領域から退避領域に変わっ
た状態から説明をする。
【0263】そして、次には今まで退避領域になってい
た物理セクタ番号#1の最小消去単位領域に書込みを行
ない、論理セクタ番号#19が付与されている、物理セ
クタ番号#4の最小消去単位領域を新たに退避領域にす
ることになる。従って、物理セクタ番号#1の最小消去
単位領域に対して、次に書込みを行なう最小消去単位領
域の番号として歩進された論理セクタ番号#31が準備
されている。
た物理セクタ番号#1の最小消去単位領域に書込みを行
ない、論理セクタ番号#19が付与されている、物理セ
クタ番号#4の最小消去単位領域を新たに退避領域にす
ることになる。従って、物理セクタ番号#1の最小消去
単位領域に対して、次に書込みを行なう最小消去単位領
域の番号として歩進された論理セクタ番号#31が準備
されている。
【0264】この時、退避領域から記憶領域に変わるべ
き物理セクタ番号#1の最小消去単位領域への書込みが
不能であることが検出されたとする。物理セクタ番号#
1の最小消去単位領域が書込み不能であるから、論理セ
クタ番号#19を付与されている、物理セクタ番号#4
の最小消去単位領域の有効データを物理セクタ番号#1
の最小消去単位領域へ移し変えることはできない。
き物理セクタ番号#1の最小消去単位領域への書込みが
不能であることが検出されたとする。物理セクタ番号#
1の最小消去単位領域が書込み不能であるから、論理セ
クタ番号#19を付与されている、物理セクタ番号#4
の最小消去単位領域の有効データを物理セクタ番号#1
の最小消去単位領域へ移し変えることはできない。
【0265】そこで、論理セクタ番号を更に歩進して#
32として、今迄退避領域であった物理セクタ番号#2
の最小消去単位領域に設定する。そして、論理セクタ番
号#19を付与されていた、物理セクタ番号が#4の最
小消去単位領域から有効データを、新たに論理セクタ番
号#32を付与された、物理セクタ番号が#2の最小消
去単位領域に移し換えて、物理セクタ番号#4の最小消
去単位領域の格納内容を消去して退避領域にする。
32として、今迄退避領域であった物理セクタ番号#2
の最小消去単位領域に設定する。そして、論理セクタ番
号#19を付与されていた、物理セクタ番号が#4の最
小消去単位領域から有効データを、新たに論理セクタ番
号#32を付与された、物理セクタ番号が#2の最小消
去単位領域に移し換えて、物理セクタ番号#4の最小消
去単位領域の格納内容を消去して退避領域にする。
【0266】更に、論理セクタ番号#20を付与されて
いる、物理セクタ番号が#5の最小消去単位領域に格納
されている有効データを新たに論理セクタ番号#32を
付与された、物理セクタ番号が#2の最小消去単位領域
に移し換えて、該論理セクタ番号#20を付与されてい
た、物理セクタ番号が#5の最小消去単位領域を退避領
域にする。
いる、物理セクタ番号が#5の最小消去単位領域に格納
されている有効データを新たに論理セクタ番号#32を
付与された、物理セクタ番号が#2の最小消去単位領域
に移し換えて、該論理セクタ番号#20を付与されてい
た、物理セクタ番号が#5の最小消去単位領域を退避領
域にする。
【0267】そして、論理セクタ番号#32を付与され
た、物理セクタ番号が#2の最小消去単位領域に新たに
データを書込んでゆき、該論理セクタ番号#32を付与
された、物理セクタ番号が#2の最小消去単位領域の全
ての書込み単位領域に書込みが終了したら、現在退避領
域になっている物理セクタ番号#3の最小消去単位領域
に論理セクタ番号#33を付与して記憶領域とし、論理
セクタ番号#21を付与されている、物理セクタ番号が
#6の最小消去単位領域から有効データを移し換えた後
に、該論理セクタ番号#33を付与された、物理セクタ
番号が#3の最小消去単位領域に新たにデータを書込ん
でゆく。
た、物理セクタ番号が#2の最小消去単位領域に新たに
データを書込んでゆき、該論理セクタ番号#32を付与
された、物理セクタ番号が#2の最小消去単位領域の全
ての書込み単位領域に書込みが終了したら、現在退避領
域になっている物理セクタ番号#3の最小消去単位領域
に論理セクタ番号#33を付与して記憶領域とし、論理
セクタ番号#21を付与されている、物理セクタ番号が
#6の最小消去単位領域から有効データを移し換えた後
に、該論理セクタ番号#33を付与された、物理セクタ
番号が#3の最小消去単位領域に新たにデータを書込ん
でゆく。
【0268】以降も、同様な手順で退避領域と記憶領域
を交代させながら書込みを継続してゆき、再び物理セク
タ番号#1の最小消去単位領域に書込みがきた時には、
先の処理と同様に暫定的に論理セクタ番号を歩進して物
理セクタ番号が#1の最小消去単位領域はスキップし、
物理セクタ番号#2の最小消去単位領域に更に歩進した
論理セクタ番号を付与して退避領域から記憶領域として
書込みを継続する。
を交代させながら書込みを継続してゆき、再び物理セク
タ番号#1の最小消去単位領域に書込みがきた時には、
先の処理と同様に暫定的に論理セクタ番号を歩進して物
理セクタ番号が#1の最小消去単位領域はスキップし、
物理セクタ番号#2の最小消去単位領域に更に歩進した
論理セクタ番号を付与して退避領域から記憶領域として
書込みを継続する。
【0269】上記のように論理セクタ番号を付与するこ
とにより、書込み不能な最小消去単位領域にも暫定的に
論理セクタ番号を付与し、正常に書込みを行なうことが
できる最小消去単位領域には書込み不能な最小消去単位
領域がない時と同じ論理セクタ番号を付与する。
とにより、書込み不能な最小消去単位領域にも暫定的に
論理セクタ番号を付与し、正常に書込みを行なうことが
できる最小消去単位領域には書込み不能な最小消去単位
領域がない時と同じ論理セクタ番号を付与する。
【0270】従って、論理セクタ番号付与の処理が単純
化され、中央処理ユニットの処理負荷を軽減できる。と
ころで、書込み不能な最小消去単位領域が発見されたの
で、その位置情報を格納しておく必要がある。それは下
記のようにする。
化され、中央処理ユニットの処理負荷を軽減できる。と
ころで、書込み不能な最小消去単位領域が発見されたの
で、その位置情報を格納しておく必要がある。それは下
記のようにする。
【0271】書込み不能な最小消去単位領域が発見され
た場合、その位置情報に、予め決められた書込み不能な
最小消去単位領域であることを示す固定のデータ番号を
付与して、フラッシュ・メモリ上の書込み単位領域に格
納する。上記の例の場合、論理セクタ番号#19を付与
された、物理セクタ番号が#4の最小消去単位領域に格
納されている有効データを、論理セクタ番号#32を付
与された、物理セクタ番号が#2の最小消去単位領域に
移し換えた後、論理セクタ番号#32を付与された、物
理セクタ番号が#2の最小消去単位領域の中の書込み単
位領域に、該固定のデータ番号を付して書込み不能な最
小消去単位領域の位置情報を格納する。
た場合、その位置情報に、予め決められた書込み不能な
最小消去単位領域であることを示す固定のデータ番号を
付与して、フラッシュ・メモリ上の書込み単位領域に格
納する。上記の例の場合、論理セクタ番号#19を付与
された、物理セクタ番号が#4の最小消去単位領域に格
納されている有効データを、論理セクタ番号#32を付
与された、物理セクタ番号が#2の最小消去単位領域に
移し換えた後、論理セクタ番号#32を付与された、物
理セクタ番号が#2の最小消去単位領域の中の書込み単
位領域に、該固定のデータ番号を付して書込み不能な最
小消去単位領域の位置情報を格納する。
【0272】この後、データ格納位置管理領域の固定デ
ータ番号と等しいアドレスに、書込み不能な最小消去単
位領域の位置情報を格納した最小消去単位領域の論理セ
クタ番号と書込み単位領域の番号を格納する。
ータ番号と等しいアドレスに、書込み不能な最小消去単
位領域の位置情報を格納した最小消去単位領域の論理セ
クタ番号と書込み単位領域の番号を格納する。
【0273】その後、新たに書込み不能な最小消去単位
領域が発見された場合、データ格納位置管理領域の固定
のアドレスを参照すればその位置情報に付与されたデー
タ番号が判るので、先に格納されている書込み不能な最
小消去単位領域の位置情報を読み出してバッファ・メモ
リに転送し、新たに発見された書込み不能な最小消去単
位領域の位置情報を該バッファ・メモリ上に書き加えた
上で、フラッシュ・メモリ上の次に書込みを行なう書込
み単位領域に転送して格納する。
領域が発見された場合、データ格納位置管理領域の固定
のアドレスを参照すればその位置情報に付与されたデー
タ番号が判るので、先に格納されている書込み不能な最
小消去単位領域の位置情報を読み出してバッファ・メモ
リに転送し、新たに発見された書込み不能な最小消去単
位領域の位置情報を該バッファ・メモリ上に書き加えた
上で、フラッシュ・メモリ上の次に書込みを行なう書込
み単位領域に転送して格納する。
【0274】そして、先に説明した如く、先に発見され
た書込み不能な最小消去単位領域の位置情報を格納して
いた書込み単位領域のデータを無効扱いにする。上記の
如く処理することによって、書込み不能な最小消去単位
領域の位置情報を確実に格納できると共に、新たに書込
み不能な最小消去単位領域発見された場合にもその位置
情報を累積して格納することができる。しかも、書込み
不能な最小消去単位領域の位置情報をフラッシュ・メモ
リ上に格納するので、フラッシュ・メモリの管理の信頼
性が高くなる。
た書込み不能な最小消去単位領域の位置情報を格納して
いた書込み単位領域のデータを無効扱いにする。上記の
如く処理することによって、書込み不能な最小消去単位
領域の位置情報を確実に格納できると共に、新たに書込
み不能な最小消去単位領域発見された場合にもその位置
情報を累積して格納することができる。しかも、書込み
不能な最小消去単位領域の位置情報をフラッシュ・メモ
リ上に格納するので、フラッシュ・メモリの管理の信頼
性が高くなる。
【0275】図12は、書込み不能なチップをスキップ
するメモリ管理を説明する図である。図12において、
1はチップ番号#0のフラッシュ・メモリ、2はチップ
番号#1のフラッシュ・メモリ、3はチップ番号#2の
フラッシュ・メモリで、各々のフラッシュ・メモリが五
の最小消去単位領域によって構成される場合を例として
示している。
するメモリ管理を説明する図である。図12において、
1はチップ番号#0のフラッシュ・メモリ、2はチップ
番号#1のフラッシュ・メモリ、3はチップ番号#2の
フラッシュ・メモリで、各々のフラッシュ・メモリが五
の最小消去単位領域によって構成される場合を例として
示している。
【0276】ここでは、物理セクタ番号#0の最小消去
単位領域が退避領域から論理セクタ番号#30の記憶領
域に変わり、物理セクタ番号#3の最小消去単位領域が
論理セクタ番号#18の記憶領域から退避領域に変わる
状態から説明する。
単位領域が退避領域から論理セクタ番号#30の記憶領
域に変わり、物理セクタ番号#3の最小消去単位領域が
論理セクタ番号#18の記憶領域から退避領域に変わる
状態から説明する。
【0277】次には、今迄退避領域になっていた物理セ
クタ番号#1の最小消去単位領域に書込みを行ない、論
理セクタ番号#19を付与されていた、物理セクタ番号
が#4の最小消去単位領域を新たに退避領域にすること
になる。従って、物理セクタ番号が#1の最小消去単位
領域に対して、歩進された論理セクタ番号#31が準備
されている。
クタ番号#1の最小消去単位領域に書込みを行ない、論
理セクタ番号#19を付与されていた、物理セクタ番号
が#4の最小消去単位領域を新たに退避領域にすること
になる。従って、物理セクタ番号が#1の最小消去単位
領域に対して、歩進された論理セクタ番号#31が準備
されている。
【0278】この時、退避領域である物理セクタ番号#
1の最小消去単位領域への書込みが不能であることが検
出されたとする。物理セクタ番号#1の最小消去単位領
域が書込み不能であるから、論理セクタ番号#19を付
与された、物理セクタ番号が#4の最小消去単位領域の
有効データを物理セクタ番号#1の最小消去単位領域へ
移し変えることはできない。
1の最小消去単位領域への書込みが不能であることが検
出されたとする。物理セクタ番号#1の最小消去単位領
域が書込み不能であるから、論理セクタ番号#19を付
与された、物理セクタ番号が#4の最小消去単位領域の
有効データを物理セクタ番号#1の最小消去単位領域へ
移し変えることはできない。
【0279】そこで、論理セクタ番号を更に歩進して論
理セクタ番号#32を物理セクタ番号#2の最小消去単
位領域に付与する。この時、物理セクタ番号#2の最小
消去単位領域も退避領域になっている。
理セクタ番号#32を物理セクタ番号#2の最小消去単
位領域に付与する。この時、物理セクタ番号#2の最小
消去単位領域も退避領域になっている。
【0280】そして、論理セクタ番号#19を付与され
ている、物理セクタ番号が#4の最小消去単位領域から
有効データを論理セクタ番号#32を付与された、物理
セクタ番号が#2の最小消去単位領域に移し換えて、物
理セクタ番号#4の最小消去単位領域の格納内容を消去
して退避領域にする。
ている、物理セクタ番号が#4の最小消去単位領域から
有効データを論理セクタ番号#32を付与された、物理
セクタ番号が#2の最小消去単位領域に移し換えて、物
理セクタ番号#4の最小消去単位領域の格納内容を消去
して退避領域にする。
【0281】更に、論理セクタ番号#20を付与されて
いる、物理セクタ番号が#5の最小消去単位領域に格納
されている有効データを、新たに論理セクタ番号#32
を付与された、物理セクタ番号が#2の最小消去単位領
域に移し換えて、該論理セクタ番号#20が付与されて
いた、物理セクタ番号が#5の最小消去単位領域を退避
領域にする。
いる、物理セクタ番号が#5の最小消去単位領域に格納
されている有効データを、新たに論理セクタ番号#32
を付与された、物理セクタ番号が#2の最小消去単位領
域に移し換えて、該論理セクタ番号#20が付与されて
いた、物理セクタ番号が#5の最小消去単位領域を退避
領域にする。
【0282】その後、論理セクタ番号#32を付与され
た、物理セクタ番号が#2の最小消去単位領域にデータ
を書込んでゆき、該論理セクタ番号#32を付与された
最小消去単位領域の全ての書込み単位領域に書込みが終
了したら、現在退避領域になっている物理セクタ番号#
3の最小消去単位領域に論理セクタ番号#33を付与し
て記憶領域とし、論理セクタ番号#21を付与されてい
る、物理セクタ番号が#6の最小消去単位領域から有効
データを移し換えた後に、該論理セクタ番号#33を付
与された最小消去単位領域にデータを書込んでゆく。
た、物理セクタ番号が#2の最小消去単位領域にデータ
を書込んでゆき、該論理セクタ番号#32を付与された
最小消去単位領域の全ての書込み単位領域に書込みが終
了したら、現在退避領域になっている物理セクタ番号#
3の最小消去単位領域に論理セクタ番号#33を付与し
て記憶領域とし、論理セクタ番号#21を付与されてい
る、物理セクタ番号が#6の最小消去単位領域から有効
データを移し換えた後に、該論理セクタ番号#33を付
与された最小消去単位領域にデータを書込んでゆく。
【0283】該該論理セクタ番号#33を付与された、
物理セクタ番号が#3の最小消去単位領域の全ての書込
み単位領域にデータの書込みを行なった後は、通常は、
現在退避領域になっている物理セクタ番号#4の最小消
去単位領域を記憶領域に変えて該最小消去単位領域にデ
ータを書込んでゆく筈であるが、書込み不能な最小消去
単位領域が生じたチップをスキップする場合には物理セ
クタ番号#4、#7、#10、#13の最小消去単位領
域は全てスキップする。
物理セクタ番号が#3の最小消去単位領域の全ての書込
み単位領域にデータの書込みを行なった後は、通常は、
現在退避領域になっている物理セクタ番号#4の最小消
去単位領域を記憶領域に変えて該最小消去単位領域にデ
ータを書込んでゆく筈であるが、書込み不能な最小消去
単位領域が生じたチップをスキップする場合には物理セ
クタ番号#4、#7、#10、#13の最小消去単位領
域は全てスキップする。
【0284】この場合、スキップの有無にかかわらず物
理セクタ番号#4の最小消去単位領域に付与すべく論理
セクタ番号を一旦#34に歩進する。しかし、物理セク
タ番号#4の最小消去単位領域はスキップすべきである
ので、論理セクタ番号を更に歩進して#35にして、そ
れを物理セクタ番号#5の最小消去単位領域に付与す
る。
理セクタ番号#4の最小消去単位領域に付与すべく論理
セクタ番号を一旦#34に歩進する。しかし、物理セク
タ番号#4の最小消去単位領域はスキップすべきである
ので、論理セクタ番号を更に歩進して#35にして、そ
れを物理セクタ番号#5の最小消去単位領域に付与す
る。
【0285】そして、スキップをする必要がない場合に
は物理セクタ番号#4の最小消去単位領域に有効データ
を移し換えるべき論理セクタ番号#22を付与されてい
る、物理セクタ番号が#7の最小消去単位領域の有効デ
ータを、論理セクタ番号#35を付与された、物理セク
タ番号が#5の最小消去単位領域に移し換える。
は物理セクタ番号#4の最小消去単位領域に有効データ
を移し換えるべき論理セクタ番号#22を付与されてい
る、物理セクタ番号が#7の最小消去単位領域の有効デ
ータを、論理セクタ番号#35を付与された、物理セク
タ番号が#5の最小消去単位領域に移し換える。
【0286】その後、論理セクタ番号#23を付与され
た、物理セクタ番号が#8の最小消去単位領域に格納さ
れている有効データを、論理セクタ番号#35を付与さ
れた最小消去単位領域に移し換えて論理セクタ番号#2
3を付与された最小消去単位領域を退避領域にし、論理
セクタ番号#35の最小消去単位領域の残りの書込み単
位領域に新たにデータを書込んでゆく。
た、物理セクタ番号が#8の最小消去単位領域に格納さ
れている有効データを、論理セクタ番号#35を付与さ
れた最小消去単位領域に移し換えて論理セクタ番号#2
3を付与された最小消去単位領域を退避領域にし、論理
セクタ番号#35の最小消去単位領域の残りの書込み単
位領域に新たにデータを書込んでゆく。
【0287】同様な動作を継続し、論理セクタ番号#2
5を付与された、物理セクタ番号が#10の最小消去単
位領域に格納されている有効データを、新たに論理セク
タ番号#38を付与された、物理セクタ番号が#8の最
小消去単位領域に移し換え、論理セクタ番号#26を付
与されている、物理セクタ番号が#11の最小消去単位
領域に格納されている有効データも、論理セクタ番号#
38を付与された最小消去単位領域に移し換えて、この
時には論理セクタ番号#26を付与されている最小消去
単位領域を退避領域にする。
5を付与された、物理セクタ番号が#10の最小消去単
位領域に格納されている有効データを、新たに論理セク
タ番号#38を付与された、物理セクタ番号が#8の最
小消去単位領域に移し換え、論理セクタ番号#26を付
与されている、物理セクタ番号が#11の最小消去単位
領域に格納されている有効データも、論理セクタ番号#
38を付与された最小消去単位領域に移し換えて、この
時には論理セクタ番号#26を付与されている最小消去
単位領域を退避領域にする。
【0288】最後に、論理セクタ番号#28を付与され
ている、物理セクタ番号が#13の最小消去単位領域に
格納されている有効データを、新たに論理セクタ番号#
41を付与された、物理セクタ番号が#11の最小消去
単位領域に移し換え、次いで、論理セクタ番号#29を
付与されている、物理セクタ番号が#14の最小消去単
位領域に格納されている有効データを、論理セクタ番号
#41を付与された最小消去単位領域に移し換えて、論
理セクタ番号#29を付与されていた最小消去単位領域
を退避領域にする。
ている、物理セクタ番号が#13の最小消去単位領域に
格納されている有効データを、新たに論理セクタ番号#
41を付与された、物理セクタ番号が#11の最小消去
単位領域に移し換え、次いで、論理セクタ番号#29を
付与されている、物理セクタ番号が#14の最小消去単
位領域に格納されている有効データを、論理セクタ番号
#41を付与された最小消去単位領域に移し換えて、論
理セクタ番号#29を付与されていた最小消去単位領域
を退避領域にする。
【0289】そして、この間に、書込み不要とした物理
セクタ番号#4、#7、#10、#13については書込
み不能と同じ扱いにして、それらの位置情報をフラッシ
ュ・メモリ中の記憶領域に順次格納してゆく。
セクタ番号#4、#7、#10、#13については書込
み不能と同じ扱いにして、それらの位置情報をフラッシ
ュ・メモリ中の記憶領域に順次格納してゆく。
【0290】ところで、書込み不能な最小消去単位領域
が発見され、該最小消去単位領域を含むフラッシュ・メ
モリの残余の最小消去単位領域も書込み不能扱いにした
ので、その位置情報を格納しておく必要がある。それは
下記のようにする。
が発見され、該最小消去単位領域を含むフラッシュ・メ
モリの残余の最小消去単位領域も書込み不能扱いにした
ので、その位置情報を格納しておく必要がある。それは
下記のようにする。
【0291】書込み不能な最小消去単位領域が発見され
た場合、その位置情報に予め決められた固定のデータ番
号を付与して、フラッシュ・メモリ上の記憶領域に格納
する。
た場合、その位置情報に予め決められた固定のデータ番
号を付与して、フラッシュ・メモリ上の記憶領域に格納
する。
【0292】この後、データ格納位置管理領域の固定デ
ータ番号と等しいアドレスに書込み不能な最小消去単位
領域の位置情報を格納した最小消去単位領域の論理セク
タ番号と書込み単位領域の番号を格納しておく。
ータ番号と等しいアドレスに書込み不能な最小消去単位
領域の位置情報を格納した最小消去単位領域の論理セク
タ番号と書込み単位領域の番号を格納しておく。
【0293】その後、新たに書込み不能扱いにした最小
消去単位領域に遭遇したら、データ格納位置管理領域の
固定のアドレスからその位置情報に付与されたデータ番
号を知り、先に格納されている書込み不能な最小消去単
位領域の位置情報を読み出してバッファ・メモリに転送
し、該バッファ・メモリ上で新たに書込み不能扱いにし
た最小消去単位領域の位置情報を書き加えた上で、フラ
ッシュ・メモリ上の次に書込みを行なう書込み単位領域
に転送して格納する。
消去単位領域に遭遇したら、データ格納位置管理領域の
固定のアドレスからその位置情報に付与されたデータ番
号を知り、先に格納されている書込み不能な最小消去単
位領域の位置情報を読み出してバッファ・メモリに転送
し、該バッファ・メモリ上で新たに書込み不能扱いにし
た最小消去単位領域の位置情報を書き加えた上で、フラ
ッシュ・メモリ上の次に書込みを行なう書込み単位領域
に転送して格納する。
【0294】そして、先に説明したのと同じように、先
に発見された書込み不能な最小消去単位領域の位置情報
を格納していた書込み単位領域のデータを無効扱いにす
る。上記の如く処理することによって、書込み不能及び
書込み不能扱いにした最小消去単位領域の位置情報を確
実に格納できると共に、新たに書込み不能な最小消去単
位領域発見された場合にもその位置情報を累積して格納
することができる。しかも、書込み不能及び書込み不能
扱いにした最小消去単位領域の位置情報をフラッシュ・
メモリ上に格納するので、フラッシュ・メモリの管理の
信頼性が高くなる。
に発見された書込み不能な最小消去単位領域の位置情報
を格納していた書込み単位領域のデータを無効扱いにす
る。上記の如く処理することによって、書込み不能及び
書込み不能扱いにした最小消去単位領域の位置情報を確
実に格納できると共に、新たに書込み不能な最小消去単
位領域発見された場合にもその位置情報を累積して格納
することができる。しかも、書込み不能及び書込み不能
扱いにした最小消去単位領域の位置情報をフラッシュ・
メモリ上に格納するので、フラッシュ・メモリの管理の
信頼性が高くなる。
【0295】上記の如く処理することによって、書込み
不能な最小消去単位領域が発見された場合、当該最小消
去単位領域をスキップするか、当該最小消去単位領域を
含むフラッシュ・メモリをスキップしてデータを書込ん
でゆくことができる。
不能な最小消去単位領域が発見された場合、当該最小消
去単位領域をスキップするか、当該最小消去単位領域を
含むフラッシュ・メモリをスキップしてデータを書込ん
でゆくことができる。
【0296】しかも、論理セクタ番号はスキップの有無
に関係ないように付与されるので、スキップによって中
央処理ユニットの処理負荷を増加させることはない。
に関係ないように付与されるので、スキップによって中
央処理ユニットの処理負荷を増加させることはない。
【0297】
【発明の効果】以上詳述した如く、本発明により、フラ
ッシュ・メモリの管理方式に格段の進歩を与えることが
できる。
ッシュ・メモリの管理方式に格段の進歩を与えることが
できる。
【0298】即ち、第一の発明によれば、最小消去単位
領域より小さい書込み単位領域毎にデータの書込みを行
なうことができるため、特に一のデータの平均データ量
が少ない時に最小消去単位領域内の記憶密度を向上させ
ることが可能になる。
領域より小さい書込み単位領域毎にデータの書込みを行
なうことができるため、特に一のデータの平均データ量
が少ない時に最小消去単位領域内の記憶密度を向上させ
ることが可能になる。
【0299】又、上記書込み単位領域毎にデータを取り
扱うので、バッファ・メモリとの間のデータの転送に要
する時間を短縮することができる。更に、該管理領域に
格納している情報を参照してデータの格納位置情報や書
込み開始位置情報を知ることができるので、バッファ・
メモリ上でデータが消失するという障害があっても、消
失したデータを復元することが可能になる。
扱うので、バッファ・メモリとの間のデータの転送に要
する時間を短縮することができる。更に、該管理領域に
格納している情報を参照してデータの格納位置情報や書
込み開始位置情報を知ることができるので、バッファ・
メモリ上でデータが消失するという障害があっても、消
失したデータを復元することが可能になる。
【0300】同様に、バッファ・メモリ上の管理データ
が消失しても、該管理領域に格納している情報を参照し
てデータの格納位置情報や書込み開始位置情報を知るこ
とができるので、バッファ・メモリ上で管理データが消
失するという障害があっても、消失した管理データを復
元することが可能になる。
が消失しても、該管理領域に格納している情報を参照し
てデータの格納位置情報や書込み開始位置情報を知るこ
とができるので、バッファ・メモリ上で管理データが消
失するという障害があっても、消失した管理データを復
元することが可能になる。
【0301】第二の発明により、チップ内に退避領域を
設定しているので常にチップ内に使用可能な記憶領域を
確保でき、且つ、退避領域は書込みが進むにつれて交代
するので、各最小消去単位領域の書込み消去回数を平均
化することができる。
設定しているので常にチップ内に使用可能な記憶領域を
確保でき、且つ、退避領域は書込みが進むにつれて交代
するので、各最小消去単位領域の書込み消去回数を平均
化することができる。
【0302】又、上記のように、順番にデータを格納し
てゆく方式であるので、特定の書込み単位領域において
書込み消去回数が規定に達した時に書込み消去回数が少
ない書込み単位領域を検索する必要がなくなる。従っ
て、書込み消去回数が少ない書込み単位領域を検索する
ことによってデータの書込み動作が遅延させられること
がなくなる。
てゆく方式であるので、特定の書込み単位領域において
書込み消去回数が規定に達した時に書込み消去回数が少
ない書込み単位領域を検索する必要がなくなる。従っ
て、書込み消去回数が少ない書込み単位領域を検索する
ことによってデータの書込み動作が遅延させられること
がなくなる。
【0303】第三の発明によれば、特定のデータに対す
る書込み要求の度に当該データを格納している特定の領
域を書込み消去する必要がなくなるので、書込み消去回
数の平均化を図ることが可能になると共に、書込み消去
回数を縮減することが可能になる。
る書込み要求の度に当該データを格納している特定の領
域を書込み消去する必要がなくなるので、書込み消去回
数の平均化を図ることが可能になると共に、書込み消去
回数を縮減することが可能になる。
【0304】第四の発明により、管理領域に設定される
データの書込みの度に歩進する最小消去単位領域の番号
により、当該最小消去単位領域ひいては当該チップにお
いて行なわれた書込み消去の回数が判るので、書込み消
去回数を計数するためだけの機能と計数結果を格納する
ためだけの領域を準備する必要がなくなる。
データの書込みの度に歩進する最小消去単位領域の番号
により、当該最小消去単位領域ひいては当該チップにお
いて行なわれた書込み消去の回数が判るので、書込み消
去回数を計数するためだけの機能と計数結果を格納する
ためだけの領域を準備する必要がなくなる。
【0305】第五の発明により、記憶領域である最小消
去単位領域全てに書込みが終了したチップにおいて消去
を行ない、それとは異なる次のチップで書込みを行なっ
てゆくので、消去動作と書込み動作を全く独立に行なう
ことができる。つまり、データを消去している間書込み
動作を待たせておく必要がないために、通信装置や情報
処理装置本来の処理性能を低下させることがない。
去単位領域全てに書込みが終了したチップにおいて消去
を行ない、それとは異なる次のチップで書込みを行なっ
てゆくので、消去動作と書込み動作を全く独立に行なう
ことができる。つまり、データを消去している間書込み
動作を待たせておく必要がないために、通信装置や情報
処理装置本来の処理性能を低下させることがない。
【0306】第六の発明により、劣化が発見されて書込
み不能となった最小消去単位領域又はチップへの書込み
をスキップしても、正常な最小消去単位領域に付与され
る番号には変化がないので、全ての管理を最小消去単位
領域の劣化の有無とは無関係に行なうことができ、管理
のための中央処理ユニットの負担を軽減できる。
み不能となった最小消去単位領域又はチップへの書込み
をスキップしても、正常な最小消去単位領域に付与され
る番号には変化がないので、全ての管理を最小消去単位
領域の劣化の有無とは無関係に行なうことができ、管理
のための中央処理ユニットの負担を軽減できる。
【0307】第七の発明により、フラッシュ・メモリの
管理を高速にできると共に、フラッシュ・メモリ内に格
納される管理情報との併用によって、フラッシュ・メモ
リの信頼性を向上させることができる。
管理を高速にできると共に、フラッシュ・メモリ内に格
納される管理情報との併用によって、フラッシュ・メモ
リの信頼性を向上させることができる。
【0308】第八の発明により、書込み不能な最小消去
単位領域の位置情報を信頼性よく格納することが可能に
なり、しかも、そのための格納領域を肥大化させること
がない。
単位領域の位置情報を信頼性よく格納することが可能に
なり、しかも、そのための格納領域を肥大化させること
がない。
【0309】又、第九の発明により、簡単な符号によっ
て最小消去単位領域へのデータの書込み状態を把握する
ことができる。
て最小消去単位領域へのデータの書込み状態を把握する
ことができる。
【図1】 本発明の最小消去単位領域の構成。
【図2】 物理セクタ番号と論理セクタ番号のふり方
(その1)。
(その1)。
【図3】 物理セクタ番号と論理セクタ番号のふり方
(その2)。
(その2)。
【図4】 論理セクタ番号領域のビットマップ。
【図5】 データ管理領域のビットマップ。
【図6】 バッファ・メモリの格納内容。
【図7】 退避領域と記憶領域の交代の仕方。
【図8】 書込み動作のフローチャート。
【図9】 退避処理のフローチャート。
【図10】 初期化のフローチャート。
【図11】 書込み不能な最小消去単位領域をスキップ
するメモリ管理。
するメモリ管理。
【図12】 書込み不能なチップをスキップするメモリ
管理。
管理。
【図13】 フラッシュ・メモリの構成。
【図14】 中央演算処理装置の構成。
1 フラッシュ・メモリのチップ 2 フラッシュ・メモリのチップ 3 フラッシュ・メモリのチップ 10 最小消去単位領域 11 最小消去単位領域 12 最小消去単位領域 13 最小消去単位領域 14 最小消去単位領域 101 書込み単位領域 102 書込み単位領域 103 書込み単位領域 104 書込み単位領域
フロントページの続き (72)発明者 森 泰郎 大阪府大阪市中央区城見2丁目2番6号 富士通関西ディジタル・テクノロジ株式会 社内 (72)発明者 北村 耕一 大阪府大阪市中央区城見2丁目2番6号 富士通関西ディジタル・テクノロジ株式会 社内 (72)発明者 中島 亮悦 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内
Claims (9)
- 【請求項1】 フラッシュ・メモリの最小消去単位領域
を任意の大きさの書込み単位領域に分割し、 特定の書込み単位領域を、当該最小消去単位領域の残余
の全ての書込み単位領域を管理する管理領域とし、 当該最小消去単位領域の残余の書込み単位領域をデータ
を格納する記憶領域とすることを特徴とするフラッシュ
・メモリの管理方式。 - 【請求項2】 フラッシュ・メモリの中の一部の最小消
去単位領域を、一時的にデータを格納しない、消去され
た状態の退避領域とし、 該退避領域以外の最小消去単位領域の全てにデータの書
込みを行なった時に、該退避領域になっている最小消去
単位領域と特定の位置関係にある最小消去単位領域を新
たな退避領域にし、 先に退避領域であった最小消去単位領域にデータの書込
みを行なうことを特徴とする請求項1記載のフラッシュ
・メモリの管理方式。 - 【請求項3】 特定のデータに対して特定の記憶領域を
割りつけず、特定のデータに対して特定のデータ番号を
付与し、 該特定のデータに書換え要求が生じた時には、前記管理
領域中の、次に書込みが可能な書込み単位領域を管理す
るデータ管理領域に該特定のデータ番号を登録して当該
データを書込み、 同一データ番号で先に格納されているデータを無効扱い
にすることを特徴とする請求項1記載のフラッシュ・メ
モリの管理方式。 - 【請求項4】 書込みが行なわれる度に、書込みを行な
う最小消去単位領域の認識番号を歩進することを特徴と
する請求項1記載のフラッシュ・メモリの管理方式。 - 【請求項5】 複数のチップよりなるフラッシュ・メモ
リの、特定のチップの書込み可能な最小消去単位領域の
全ての書込単位領域に書込みを行ない、次のチップに書
込み動作が移行するタイミングを、該特定のチップにお
いて新たに退避領域になる最小消去単位領域を消去する
タイミングとすることを特徴とする請求項1記載のフラ
ッシュ・メモリの管理方式。 - 【請求項6】 データの書込みの度に歩進する最小消去
単位領域の認識番号を、劣化が発見されて書込みが不能
な最小消去単位領域にも付与するが如く歩進することを
特徴とする請求項1記載のフラッシュ・メモリの管理方
式。 - 【請求項7】 フラッシュ・メモリに格納するデータに
付与されるデータ番号と重複しないで対応する数をアド
レスとして、当該データ番号のデータを格納するフラッ
シュ・メモリ上の格納位置、次に書込みを行なう最小消
去単位領域の番号及び次に書込みを行なう書込み単位領
域の番号を記憶するバッファ・メモリをフラッシュ・メ
モリの外部に設けることを特徴とする請求項1記載のフ
ラッシュ・メモリの管理方式。 - 【請求項8】 書込みが不能になった最小消去単位領域
の位置情報を、フラッシュ・メモリに格納するデータと
同じ扱いにして、特定のデータ番号を付与して格納する
ことを特徴とする請求項1記載のフラッシュ・メモリの
管理方式。 - 【請求項9】 書込みを行なう最小消去単位領域に付与
される歩進する認識番号、又は、当該最小消去単位領域
におけるデータの書込み状態を表示する符号を前記管理
領域に格納することを特徴とする請求項1記載のフラッ
シュ・メモリの管理方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10256098A JPH1185629A (ja) | 1997-07-15 | 1998-04-14 | フラッシュ・メモリの管理方式 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18948497 | 1997-07-15 | ||
JP9-189484 | 1997-07-15 | ||
JP10256098A JPH1185629A (ja) | 1997-07-15 | 1998-04-14 | フラッシュ・メモリの管理方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1185629A true JPH1185629A (ja) | 1999-03-30 |
Family
ID=26443258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10256098A Pending JPH1185629A (ja) | 1997-07-15 | 1998-04-14 | フラッシュ・メモリの管理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH1185629A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7093063B2 (en) | 2002-12-17 | 2006-08-15 | Oki Electric Industry Co., Ltd. | Data rewriting for flash memory |
JP2008047155A (ja) * | 2007-10-26 | 2008-02-28 | Renesas Technology Corp | 一括消去型不揮発性メモリおよび携帯電話 |
JP2008065646A (ja) * | 2006-09-08 | 2008-03-21 | Toshiba Corp | フラッシュメモリ制御システムとその制御方法 |
JP2009187062A (ja) * | 2008-02-01 | 2009-08-20 | Fujitsu Ltd | 情報処理装置、該情報処理装置で行われるデータ記憶を制御する制御部およびデータ記憶の制御方法 |
US8418256B2 (en) | 2008-06-17 | 2013-04-09 | Panasonic Corporation | Memory control apparatus, content playback apparatus, control method and recording medium |
JP2014135059A (ja) * | 2014-01-21 | 2014-07-24 | Sony Corp | 通信装置、通信方法、及び、無線タグ |
US9196369B2 (en) | 2010-06-10 | 2015-11-24 | Sony Corporation | Communication device and communication method |
-
1998
- 1998-04-14 JP JP10256098A patent/JPH1185629A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7093063B2 (en) | 2002-12-17 | 2006-08-15 | Oki Electric Industry Co., Ltd. | Data rewriting for flash memory |
US7526601B2 (en) | 2002-12-17 | 2009-04-28 | Oki Semiconductor Co., Ltd. | Data rewriting method for flash memory using partial erases |
JP2008065646A (ja) * | 2006-09-08 | 2008-03-21 | Toshiba Corp | フラッシュメモリ制御システムとその制御方法 |
JP2008047155A (ja) * | 2007-10-26 | 2008-02-28 | Renesas Technology Corp | 一括消去型不揮発性メモリおよび携帯電話 |
JP2009187062A (ja) * | 2008-02-01 | 2009-08-20 | Fujitsu Ltd | 情報処理装置、該情報処理装置で行われるデータ記憶を制御する制御部およびデータ記憶の制御方法 |
JP4536785B2 (ja) * | 2008-02-01 | 2010-09-01 | 富士通株式会社 | 情報処理装置、該情報処理装置で行われるデータ記憶を制御する制御部およびデータ記憶の制御方法 |
US8418256B2 (en) | 2008-06-17 | 2013-04-09 | Panasonic Corporation | Memory control apparatus, content playback apparatus, control method and recording medium |
US9196369B2 (en) | 2010-06-10 | 2015-11-24 | Sony Corporation | Communication device and communication method |
JP2014135059A (ja) * | 2014-01-21 | 2014-07-24 | Sony Corp | 通信装置、通信方法、及び、無線タグ |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4772214B2 (ja) | 不揮発性記憶装置及びその書き換え制御方法 | |
US5983312A (en) | Simultaneously writing to and erasing two commonly numbered sectors | |
US5953737A (en) | Method and apparatus for performing erase operations transparent to a solid state storage system | |
US6377500B1 (en) | Memory system with a non-volatile memory, having address translating function | |
US6865658B2 (en) | Nonvolatile data management system using data segments and link information | |
JP4132086B2 (ja) | フラッシュメモリ内のブロックにおける移動セクタ | |
EP0691008B1 (en) | Flash memory mass storage architecture | |
US5388083A (en) | Flash memory mass storage architecture | |
US7237057B2 (en) | Window-based flash memory storage system and management and access methods thereof | |
JP5996838B2 (ja) | メモリリマップ情報を記憶する不揮発性メモリ | |
US6601132B2 (en) | Nonvolatile memory and method of writing data thereto | |
US20040139310A1 (en) | Information processing apparatus, memory management apparatus, memory management method, and information processing method | |
KR20040090418A (ko) | 메모리장치 | |
EP0722585A1 (en) | Flash memory with reduced erasing and overwriting | |
US20140181378A1 (en) | Control device, control method, and program | |
WO2005059966A2 (en) | Rotational use of memory to minimize write cycles | |
JP2000020252A (ja) | 不揮発性半導体メモリを用いた記憶装置 | |
US8527733B2 (en) | Memory system | |
KR20020092261A (ko) | 멀티-플레인 구조의 플래시 메모리 관리 방법 | |
JPH1185629A (ja) | フラッシュ・メモリの管理方式 | |
WO2020039927A1 (ja) | 不揮発性記憶装置、ホスト装置、及びデータ記憶システム | |
JP3670151B2 (ja) | フラッシュメモリのアクセス方法、フラッシュメモリへアクセスするドライバを備えるシステム、および、フラッシュメモリ | |
JP2007304920A (ja) | フラッシュメモリ制御方法 | |
JP2000231483A (ja) | 半導体記録媒体を有するコンピュータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040824 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070314 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070320 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070710 |