JP2000285001A - 半導体フラッシュメモリ装置及びその制御方法 - Google Patents

半導体フラッシュメモリ装置及びその制御方法

Info

Publication number
JP2000285001A
JP2000285001A JP9406399A JP9406399A JP2000285001A JP 2000285001 A JP2000285001 A JP 2000285001A JP 9406399 A JP9406399 A JP 9406399A JP 9406399 A JP9406399 A JP 9406399A JP 2000285001 A JP2000285001 A JP 2000285001A
Authority
JP
Japan
Prior art keywords
address
flash memory
unit
block
data
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.)
Withdrawn
Application number
JP9406399A
Other languages
English (en)
Inventor
Hiroyuki Yamashita
博行 山下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP9406399A priority Critical patent/JP2000285001A/ja
Publication of JP2000285001A publication Critical patent/JP2000285001A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Static Random-Access Memory (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Read Only Memory (AREA)

Abstract

(57)【要約】 【課題】書き換え回数に制限のある半導体フラッシュメ
モリ装置の書き換え回数の均一化と不良ブロックの代替
えを、少ないワークメモリで安価に実現する方式を提供
するものである。 【解決手段】物理アドレス空間上にデータとブランク領
域を持ち、論理ブロックアドレスに第1の可変パラメー
タでオフセットを与え、且つ、ブランク領域を飛び越え
て連続的にアドレス展開することによって、アドレス変
換を一意的決定するアドレス演算方式において、パワー
オンリセット等の一定周期毎に、可変パラメータを規則
的に更新するとともに、ブランク領域と部分データを交
換する手段を具備し、長期間の使用の中で、すべての論
理ブロックが、物理ブロックを平均的にアクセスことを
特徴とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、不揮発性で、一括
消去可能な半導体フラッシュメモリ装置に関し、特に書
き換え回数に制限があるフラッシュメモリへの書き換え
回数を均一化し、寿命の延長を達成する半導体フラッシ
ュメモリ装置、及びその制御方法に関する。
【0002】
【従来の技術】パーソナルコンピュータやワークステー
ション等のホストコンピュータシステムでは、データ処
理の外部記憶装置に大容量、高速、ビット単価の安いも
のが要求されている。また、ノートタイプのパーソナル
コンピュータ等の携帯型情報端末では、更に、小型軽量
かつ物理的な衝撃に強く、低消費電力が要求されてい
る。
【0003】従来、前記ホストコンピュータ等の外部記
憶装置には、ハードディスク装置(以後HDDと呼ぶ)
やフロッピーディスク装置(以後FDDと呼ぶ)が一般
的に使われてきた。しかしながら、HDDは大容量で、
ビット単価は安いが、容積・重量が大きく、駆動部分を
持っているため、衝撃に弱く、携帯に適さない。他方、
FDDは、容量が小さく、また、動作時には駆動装置が
必要で、そのために消費電力が多いという欠点がある。
【0004】近年、これに変わるものとしてSRAMや
DRAMなどの半導体メモリカードも検討されてきた
が、これらのカードは揮発性であり、データを保持する
ためにバッテリーバックアップが必要である。また、S
RAMカードは、DRAMカードに比べ、集積度があが
らず、ビット単価が高くなる欠点がある。DRAMカー
ドは、ビット単価が安く、大容量であるが、動作時、及
びデータ保持時の消費電力が大きく、携帯機器の外部記
憶装置に不向きである。
【0005】最近ではこれらの外部記憶装置に変わるも
のとしてフラッシュEEPROMを内蔵した半導体フラ
ッシュメモリ装置(フラッシュメモリカードともいう)
が使用されるようになってきた。この半導体フラッシュ
メモリ装置は、不揮発性でかつ、書き換え可能、高集積
・軽量、また、半導体素子で構成され、駆動部分がない
ため対衝撃性にも強く携帯性に富んでいる。データ保持
時は電圧の印加が不要であるため、低消費電力である。
また、フロッピーディスクより大容量である。
【0006】このため、フラッシュEEPROMを使っ
た半導体フラッシュメモリ装置は、ノートタイプのパー
ソナルコンピュータやPDA、電子スチルカメラなどの
携帯機器の外部記憶装置として最適である。しかしなが
ら、フラッシュEEPROMは、書き換え回数の制限と
いう固有の問題がある。
【0007】ところで、ホストコンピュータが外部記憶
装置にアクセスする場合、ホストコンピュータに内蔵さ
れるオペレーションシステムやカードサービス、ソケッ
トサービス等のファイルシステムを経由してアクセスす
る。この場合、半導体フラッシュメモリ装置は、HDD
をエミュレーションするように制御される。また、ホス
トコンピュータシステムがアクセスするアドレスの最小
単位は、セクターと呼ばれ、512バイトのシーケンシ
ャルデータである。このセクターアドレスは、0番地か
ら始まり、外部記憶装置の容量の仕様値までの連続した
アドレスと考えられる。
【0008】現在のHDDのファイルシステムでは、デ
ータをファイルという単位で外部記憶装置に格納してい
る。ファイルは、データ部とファイル管理情報(たとえ
ばFAT(File Allocation Table)やディレクトリ)
に分けてディスク上に格納される。データ部は、それぞ
れのファイル毎に、指定されるセクタアドレスに格納さ
れ、一度にアクセスする容量は、一般に大セクターとな
る。また、アクセス回数は、そのファイルの使用頻度に
依存する。ところが、ファイル管理情報は、HDD全体
のファイルの情報を一括して管理しており、特定のセク
ターアドレスに格納されている。また、前記ファイルへ
のアクセスが発生するたびに、ファイル管理情報が参照
され、それぞれのファイルの発生・消滅が生じる毎に、
このファイル管理情報が書き換えられる。従って、ファ
イル管理情報のデータは、少ないセクタ数であるが、前
記データ部に比べ圧倒的に多いアクセス、及び書き換え
回数が発生することとなる。つまり、ファイル管理情報
は複数のファイルについての管理情報が集中しておかれ
ており、ファイル管理情報(FATやディレクトリ)の
置かれているセクターへのアクセスが集中し、特定のセ
クターの書き換え回数が突出することになる。
【0009】また、個別のファイルのデータ部に関して
も、ファイルの種類によって、また、アプリケーション
によるアクセス形態によって書き換え回数が極端に異な
る場合が多い。一般のプログラムファイル等は、読み出
しが中心に行われ、最後まで書き換えられない場合もあ
る。文書データ等は書換えが頻繁に行われる。また、ワ
ークデータと呼ばれる一時的なデータは、1つのアプリ
ケーションが動作中に頻繁に書き換えられる場合があ
る。このようにファイルの種類や使われ方、属性によっ
て書き換え回数が極端に異なってくる。つまり、ホスト
コンピュータがアクセスするセクタアドレス毎に書き換
え回数が異なってきており、極端に少ないセクターと、
極端に集中するセクターが存在することとなる。この様
に、ホストコンピュータのアクセスするセクターの書換
え回数は、セクタアドレス毎に極端な偏重が見られる。
【0010】一括消去型のフラッシュメモリの書き換え
回数の制限は、半導体技術の進歩によって伸びてきてい
るが、現在のところ仕様上で10万回から100万回程
度である。これを超えて使用すれば、書込み・読み出し
困難になり、そのブロック部分の使用ができなくなる。
一方、これまでの説明の通り、ホストコンピュータが外
部記憶装置へアクセスする場合、各セクターへの書き換
え回数に差が出る。この結果、装置の寿命が、書き換え
回数の多いセクターによって制限されることとなる。
【0011】これを、回避するための概念は、ホストコ
ンピュータがアクセスするセクターアドレス(これを論
理アドレスと呼ぶ)を変換して、フラッシュメモリの実
質的なセクタアドレス(これを物理アドレスと呼ぶ)へ
アクセスする方法である。論理アドレスを物理アドレス
に変換するにあたり、積算されてきているそれぞれの物
理アドレス毎の書き換え回数を参照して、書き換え回数
の少ない物理アドレスへ優先的に書き込みを行う方法で
ある。アドレスの変換方法は、テーブルが用いられてき
た。このテーブルによって、論理アドレスから物理アド
レスに即座に参照可能となる。しかしながら、このテー
ブルは、制御対象となるメモリ容量が多くなるとテーブ
ルが大きくなるという欠点がある。
【0012】以下に、論理アドレスのメモリ空間、物理
アドレスのメモリ空間、アドレス変換の単位、アドレス
変換テーブルの概要、動作の説明をします。
【0013】図6に、ホストコンピュータが指定する論
理セクタとそれに関連する論理ブロックのアドレス空間
を示している。同図に示すように、ホストコンピュータ
が指定するアドレスの基本単位は、512バイトのシー
ケンシャルデータである論理セクターである。この論理
セクターは、先頭セクターから、順番に連続したアドレ
スが割り振られる。また、ホストコンピュータとは直接
関係しないが、便宜的に16セクター毎に、ブロックに
区切られている。この論理ブロックは、同様に先頭ブロ
ックから順に連続したアドレスが割り振られている。こ
のことは、論理セクターのアドレスの5ビット目以上が
論理ブロックアドレスと同一になる。
【0014】図5は、フラッシュメモリ部の物理セクタ
と物理ブロックのアドレス空間を示している。同様に、
フラッシュメモリの最小アドレス単位は、528バイト
のシーケンシャルデータである物理セクタとなる。この
物理セクタは、先頭セクタから、順番に連続したアドレ
スが割り振られている。また、16セクタ毎に、物理ブ
ロックに区切られている。この物理ブロックは、同様に
先頭ブロックから順に連続したアドレスが割り振られて
いる。つまり、物理セクタのアドレスの5ビット目以上
が物理ブロックアドレスと等しいことになる。528バ
イトの物理セクタは、512バイトのデータと16バイ
トの冗長データを含んでいる。512バイトのデータは
論理セクタのデータと同じである。16バイトの冗長デ
ータは、本装置が独自に使用するデータで、ECC(エ
ラー訂正コード)、当該物理ブロックを使用している論
理ブロックのアドレスデータ、当該ブロックの書き換え
回数の積算値、物理セクターまたは物理ブロックの状態
を示すフラグであう。尚、ブロックに関する情報は、ブ
ロック内の先頭セクターの冗長部に書かれているものと
する。また、セクタに関する情報は、それぞれの物理セ
クターの冗長部に書かれているものとする。
【0015】フラッシュメモリの場合、セクターへの書
込みを行う前に、書込みエリアのデータを消去する必要
がある。物理セクタは、書込み・読み出しの基本単位で
あり、物理ブロックは、フラッシュメモリ固有の特性で
ある消去を行う単位である。従って、書込みの単位と消
去の単位が異なることとなる。本従来例では、論理アド
レスを物理アドレスに変換する単位が、ブロックアドレ
スとなっている。したがって、論理ブロックアドレス
が、物理ブロックアドレスへ、変換されるのである。理
由は、消去の単位がブロック単位であること、つまり、
書き換え回数は、消去回数と同一であり、従って、ブロ
ック単位で書き換え回数を管理できることである。また
変換に使われるテーブルのサイズを最適化するために適
当な単位である。
【0016】64MB(メガバイト)の半導体フラッシ
ュメモリ装置の場合、128K個の物理セクタから構成
される。また、ブロックの数は、8K個である。セクタ
ーアドレスは0から128Kまで割り振られ、アドレス
の4ビット目以上がブロックアドレスとなる。
【0017】図12は、従来の実施例を示すブロック図
である。同図に示すように、インタフェース回路1は、
ホストコンピュータ(図示しない)とのインタフェース
プロトコルを実現するための回路であり、ホストコンピ
ュータからの書込みや読み出し等の実効命令(コマン
ド)を格納するコマンドレジスタ、データの授受をバッ
ファするデータレジスタ、ホストが指示するデータのア
ドレスである論理アドレスを一時的に格納する論理アド
レスレジスタ半導体フラッシュメモリ装置の状態やエラ
ーの内容を通知するステータスレジスタ、エラーレジス
タを含んでいる。論理アドレスレジスタは、一般にセク
タレジスタ、ヘッドレジスタ、シリンダーレジスタ等か
ら構成されている。尚、これらのレジスタは図示してい
ない。
【0018】フラッシュメモリ部8は、ファイルやデー
タを不揮発に格納するための、半導体フラッシュメモリ
装置の主要な記憶部分である。
【0019】アドレス変換部20は、ホストコンピュー
タシステムが指定する論理セクターアドレスの5ビット
以上、つまり論理ブロックアドレスを、物理ブロックア
ドレスに変換する部分である。
【0020】テーブル21はアドレス変換テーブル2
7、書き換え回数積算テーブル26、ブロック状態テー
ブル25の3種のテーブルから構成されている。
【0021】制御部7は、マイクロコントローラや相当
のハードウェアーロジックで構成され、ホストコンピュ
ータからアクセス要求があった場合、論理アドレスを物
理アドレスに変換して、フラッシュメモリ部8のデータ
のアクセスを実行する。
【0022】図13に従来実施例のアドレス変換テーブ
ルを、図14に従来実施例のブロック状態テーブルを示
している。本従来例では、ブロック状態テーブルに、書
き換え回数積算テーブルを包含している。
【0023】アドレス変換テーブルは、論理ブロックア
ドレスを物理ブロックアドレスに変換する場合、論理ブ
ロックアドレスから物理ブロックアドレスを参照するテ
ーブルである。アドレス変換テーブルは、すべての論理
ブロックアドレスに渡って、論理ブロックアドレス順に
対応する物理ブロックアドレスの番地が格納されている
表で、揮発性メモリであるDRAMやSRAM等にて構
成されている。動作は、論理ブロックアドレスの番地の
物理ブロックアドレスのデータを読み取り、このアドレ
スにしたがって、フラッシュメモリ部のデータをアクセ
スする。
【0024】ブロックの状態テーブルは、物理ブロック
アドレス順に、上位30ビットに当該ブロックの書き換
え回数の積算値を、下位2ビットに当該ブロックの現在
の状態がフラグで格納されている。本従来例では、書き
換え、つまり、ブロックの消去が発生するたびに書き換
え回数の積算値が+4され、書き換え回数として+1回
される。ブロックの状態は、消去済み、使用中、未消
去、不良ブロックの状態を示す2ビットのフラグで示さ
れている。これを読むことによって、該当ブロックが、
不良ブロックであるか否かの判別ができる。
【0025】上記説明で用いた、アドレス変換テーブル
の各論理ブロックアドレスや、各物理ブロックの状態フ
ラグと書き換え回数は、パワーオンリセット時にフラッ
シュメモリ上の各ブロックの先頭セクタの冗長部から読
み込み、それぞれのテーブル上に展開される。具体的に
は、各ブロックの先頭物理セクタの冗長部に、2バイト
の論理ブロックアドレスデータと、4バイトの物理ブロ
ックの状態データ(書き換え回数と状態フラグ)が格納
されている。テーブルへ展開するため、フラッシュメモ
リ部の全物理ブロックの先頭のセクタを読み込み、冗長
部のデータをテーブルへ展開するのである。ブロックの
消去や新規アドレスへの書込みが発生した場合は、テー
ブルの更新と同時に、フラッシュメモリ部のこれらのブ
ロックの先頭セクタの冗長部へ書き込みを実施する。
【0026】不良ブロックの検出方法は、当該ブロック
への、消去・書込み・読み出し動作を行う時点で検出す
る。一つの具体例として、当該ブロックへの書込み時点
でのリードベリファイである。当該ブロックへ書き込ま
れたデータを再度読み出し、バッファーメモリに残って
いるデータとの比較を行い、不一致であれば何らかのエ
ラーが発生しているものと認識される。他の具体例は、
書込み時に冗長ビットを付加し、読み出し時にそれを検
査してデータの整合性を検査する方法で、ECC(エラ
ー訂正コード)等がこれに相当する。また、フラッシュ
EEPROMチップの製品の中にエラー検出回路等が内
蔵されている場合は、フラッシュEEPROMへの書込
み・消去動作の後に、フラッシュEEPROM内のステ
ータス信号を読み出すことによって該当ブロックの不良
を知ることができる。
【0027】検出された不良ブロックは、ブロックの状
態フラグが、不良ブロックの状態となり、上記説明のブ
ロックの状態テーブル等に保存されている。動作中は、
不良ブロックへのアクセスが禁止される。つまり、論理
ブロックアドレス順にならべられたアドレス変換テーブ
ルへの該当ブロックへの割付を禁止するように制御する
のである。また、フラッシュメモリのブロックの不良
は、前記説明のブロックアドレス単位に切り離しが可能
となっており、他のブロックへの波及が制限されてい
る。
【0028】ここで、従来例におけるテーブルサイズと
ワークメモリサイズを、フラッシュメモリの容量4MB
(メガバイト)と160MB(メガバイト)について見
積もりする。尚、これらのメモリサイズは、半導体フラ
ッシュメモリ装置のメモリ容量に比例する。
【0029】前提条件として、アドレス変換の単位をブ
ロックアドレスとする。1物理ブロックは、16物理セ
クターである。1セクターは512バイトであるため、
4MB(メガバイト)の容量では、500アドレス単位
(500ブロック)、160MB(メガバイト)の容量
では、20000アドレス単位(20000ブロック)
である。アドレス変換テーブルは、1アドレス当たり、
9ビットから14ビット必要になるため、通常のコンピ
ュータが使用する単位では、2バイト、16ビットとな
る。従って、4MBの装置では、1Kバイト、160M
Bの装置では、40Kバイトのアドレス変換テーブルが
必要となる。
【0030】同様に、ブロック状態テーブルは、書き換
え回数の仕様値の100万回を表すために、32ビット
する。従って、4MBの装置の場合、2Kバイト、16
0MBの装置の場合、80Kバイト必要となる。両方の
テーブルを合わせた量が、ワークメモリの容量であり、
それぞれ、3Kバイト、120Kバイトとなる。
【0031】このように、ワークメモリのサイズは、半
導体フラッシュメモリ装置の容量に比例して大きくな
り、それに伴って、消費電力の増大、部品点数の増加、
コストの増大につながる。テーブルを階層化または分割
して、必要な領域のテーブルのみ作成して使用する方法
も考えられるが、制御が複雑になり、階層の移動に伴う
オーバーヘッドも考慮する必要があり、大きなメリット
は得られない。
【0032】
【発明が解決しようとする課題】本発明は、半導体フラ
ッシュメモリ装置に係わり、特に書き換え回数に制限の
ある半導体フラッシュメモリ装置の書き換え回数の均一
化と不良ブロックの代替えを、少ないワークメモリで安
価に実現する方式を提供するものである。
【0033】更なる目的は、管理情報領域のデータ量の
圧縮、管理情報の書き換え回数の低減、その結果、管理
情報を一括管理することを可能とし、パワーオン時の管
理情報のワークメモリへの展開に係わる立ち上げ時間の
短縮が可能となることである。
【0034】
【課題を解決するための手段】本発明の原理について、
図3を参照しながら説明する。
【0035】尚、従来例の説明において説明されたと同
一部分または相当部分については同一符号を付し、本説
明において新たに説明される部分については新しい符号
を付して説明する。
【0036】ホストコンピュータシステム(図示しな
い)に接続して用いられ、ブロック単位で、アドレス可
能なタイプの半導体フラッシュメモリ装置において、電
気的に書き込み・読み出し可能な不揮発性メモリからな
り、管理情報部10、データ部と代替えデータ部13を
内蔵しているフラッシュメモリ部8と、前記ホストコン
ピュータシステムと接続して、データの授受とアクセス
要求を受け取るインタフェース部1と、揮発性のワーク
メモリにて構成され、前記フラッシュメモリ部8のデー
タや、前記ホストコンピュータから受信したデータを一
時的に記憶しておくバッファーメモリ部6と、論理ブロ
ックアドレスに変位を与える第1の可変パラメータと、
ブランク領域の位置を示す第2の可変パラメータを使っ
て、論理ブロックアドレスを物理ブロックアドレスに一
意的に演算して変換するアドレス演算部2と、揮発性の
ワークメモリにて構成され、前記アドレス演算部8に使
用する前記2つの可変パラメータを格納するレジスタ部
3と、揮発性のワークメモリで構成され、不良ブロック
の物理ブロックアドレスとその代替えのブロックアドレ
スを対で格納する不良ブロックのアドレス参照テーブル
5と、前記アドレス演算部2の出力である物理ブロック
アドレスが、不良ブロックであるか否かを前記アドレス
参照テーブル5を使って随時検査し、そのブロックアド
レスが一致した場合は関連する代替えのブロックアドレ
スを出力するアドレス変換部4と、前記フラッシュメモ
リ部8の中の管理情報部10に一括して格納されている
前記2つの可変パラメータと、複数の不良ブロックアド
レス及びそれと対をなす代替えのブロックアドレスを前
記レジスタ部3とアドレス参照テーブル5に展開する手
段と、一定周期に、前記第2の可変パラメータを一定量
減算し、同時に前記フラッシュメモリ13上の一定幅の
データとブランク領域のデータを交換する。また、前記
第2の可変パラメータの値と前記第1の可変パラメータ
の値が一致する場合は、第1の可変パラメータの値をさ
らに一定量加算する。更に、一定周期毎に前記管理情報
部10の管理データを更新する手段と、マイクロコント
ローラや相当のハードウェアーロジックで構成され、ホ
ストコンピュータからアクセス要求があった場合、論理
ブロックアドレスを物理ブロックアドレスに変換して、
前記フラッシュメモリ部8のデータ部13のアクセスを
実行する制御手段7を具備することを特徴とする半導体
フラッシュメモリ装置である。
【0037】
【作用】本発明に係わる半導体フラッシュメモリ装置及
びその制御方法によれば、ホストコンピュータが指定す
る論理ブロックアドレスを2つの可変パラメータで物理
ブロックアドレスに一意的に変換可能である。その結
果、従来例で必要であった、全論理ブロックアドレスに
ついての論理ブロックアドレスー物理ブロックアドレス
変換テーブル及び全物理ブロックアドレス毎の書き換え
回数データテーブルが不要となる。
【0038】逆に追加されるテーブルは不良ブロックア
ドレスと代替えブロックアドレスの対になったアドレス
変換テーブルのみとなり、テーブルの数が1つに削減さ
れる。またそのテーブルサイズは、不良ブロックの数に
依存するため、ワークメモリが大幅に削減される。
【0039】管理情報部は、前記2つの可変パラメータ
とアドレス変換テーブルの2種類になる。前者は、パワ
ーオン時等の一定周期毎の更新であり、後者は、不良ブ
ロックの発生時に更新され、フラッシュメモリ部の管理
情報領域への書換え回数は、フラッシュメモリデータ領
域の書き換え回数制限に比べ十分低い回数に押さえるこ
とができる。
【0040】不良ブロックの発生は、最大で全物理ブロ
ックアドレスの2%前後であり、管理情報のデータ量
は、不良ブロックのアドレスとその代替えアドレスの対
であり、十分少ない量であり、管理情報を不揮発性メモ
リであるフラッシュメモリ部へ一括して待避し、管理す
ることが容易となる。
【0041】従来例では、管理情報がフラッシュメモリ
部の各ブロックの先頭セクタの冗長部に分散されて記憶
されていた。従って、パワーオンリセット時に、フラッ
シュメモリの全データ領域に渡って管理情報を読み取
り、ワークメモリ上のテーブルに展開していた。本発明
では、管理情報は、一括して、単一のブロックに格納さ
れている。従って、パワーオンリセット時に、単一のブ
ロックに格納されている管理情報を読み取り、ワークメ
モリ上に展開することによって、即座に動作可能であ
る。従って、電源投入時の立ち上げ時間が大幅に短縮さ
れることとなる。
【0042】また、ワークメモリの減少に伴い、そのデ
ータ保持の電流を削減される。
【0043】
【発明の実施の形態】以下、図面を参照しながら、本発
明の実施の形態について詳細に説明する。
【0044】図4に本発明の実施例のハードウェアー構
成図が示されている。半導体フラッシュメモリ装置10
0は、ホストコンピュータ(図示しない)の外部記憶装
置の1つとして位置づけられる。
【0045】半導体フラッシュメモリ装置100は、マ
イクロコントローラ60、ワークメモリ70、インタフ
ェース回路50、バッファーメモリ6、メモリコントロ
ーラ80、複数のフラッシュメモリモジュール90から
構成されている。内部バス40は半導体フラッシュメモ
リ装置100内の各部を相互に接続させるための共通信
号伝送路であり、アドレスバス、データバス、コントロ
ールバス等で構成されている。
【0046】インタフェース回路50は、ホストコンピ
ュータとのインタフェースプロトコルを実現するための
回路であり、ホストコンピュータからの書込みや読み出
し等の実行命令(コマンド)を格納するコマンドレジス
タ、データの授受をバッファするデータレジスタ、ホス
トコンピュータが指示するデータのアドレスである論理
アドレスを一時的に格納するアドレスレジスタ(、半導
体フラッシュメモリ装置100の状態やエラーの内容を
通知するステータスレジスタ、エラーレジスタを含んで
いる。これらのレジスタは、前記ホストコンピュータや
マイクロコントローラ60が直接アクセス可能である。
尚、これらのレジスタは図示していない。
【0047】また、インタフェース回路50は、IDE
(Integrated Drive Electro
nics)またはPCMCIA ATA仕様に準拠して
おりホストコンピュータシステムのISAバスまたはP
CMCIAバスに相互接続している。
【0048】マイクロコントローラ60は、半導体フラ
ッシュメモリ装置100全体の制御を行う中央コントロ
ーラです。主な制御は、ホストコンピュータからインタ
フェース回路50に書き込まれたコマンドを読み取り、
フラッシュメモリ90への書込みや、フラッシュメモリ
90からの読み出し等の主要な動作を実行する。尚、マ
イクロコントローラ60は、内蔵するプログラムROM
(図示しない)にしたがって動作している。また、論理
ブロックアドレスから物理ブロックアドレスへの変換に
関する演算と不良ブロックを代替えのブロックアドレス
への変換を実行する。また、後述する本発明の主要な手
段について実行を制御する。具体例として、パワーオン
リセット等の一定周期に、論理ブロックを物理ブロック
に変換する際に使用する2つの可変パラメータの更新と
部分データの移動を制御する。さらに、ブロックの状態
を検査し、不良ブロックが発生した場合は不良ブロック
のアドレス参照テーブルの更新を制御する。制御の詳細
は、以降の実施例の説明を参照してください。
【0049】ワークメモリ70は、DRAMやSRAM
等の不揮発性メモリで構成され、主にマイクロコントロ
ーラ60の作業領域として使われる。また、ワークメモ
リ70には、動作時に、論理ブロックアドレスを物理ブ
ロックアドレスに演算して変換するのに使われるパラメ
ータの一時保管や、不良ブロックのアドレスとその代替
えブロックのアドレスのテーブルを格納している。
【0050】バッファーメモリ6は、SRAMやDRA
M等の揮発性メモリで構成され、ホストコンピュータと
フラッシュメモリ90との間で転送されるデータの一時
格納である。
【0051】メモリコントローラ80は、ロジック回路
等で構成される専用のコントローラであり、フラッシュ
メモリ90へのアクセスを制御する。具体的には、AL
E(アドレスラッチイネーブル)、CLE(コマンドラ
ッチイネーブル)、複数のフラッシュチップを制御する
ためのCS(チップセレクト)信号の制御を行う回路が
組み込まれている。また、フラッシュメモリ90の冗長
部にはECC(エラー訂正コード)が組み込まれてお
り、フラッシュへのセクター単位の書込み時に、このE
CCの生成、読み出し時のECCの検査、エラー判別等
も、このメモリコントローラ80に組み込まれている。
【0052】フラッシュメモリ90は、ファイルやデー
タを不揮発に格納するための、半導体フラッシュメモリ
装置100の主要な記憶部分である。フラッシュメモリ
90は、複数のフラッシュ型EEPROMのチップにて
構成される。64メガバイトのフラッシュメモリカード
(半導体フラッシュメモリ装置の1つの形態)の場合の
容量はこのフラッシュメモリ90の容量をさす。64M
B(メガバイト)の容量では、32メガビットのフラッ
シュEEPROMのチップが16個で構成される。
【0053】また、フラッシュメモリ90は、メモリコ
ントローラ80を介して、マイクロコントローラ60や
ワークメモリ70、バッファーメモリ6、インタフェー
ス回路50に、内部バス40で接続されている。
【0054】図6には、ホストコンピュータが外部記憶
装置、特にHDDをエミュレーションしている場合の論
理的なメモリ空間の構造を模式的に示している。この論
理メモリ空間は、先ず「ブロック」という単位に分けら
れる。各ブロックは、論理メモリ空間上の先頭ブロック
から順に絶対的な論理ブロックアドレスが連続的に割り
振られている。各ブロックは、16個の論理セクタから構
成される。各論理セクタは、論理メモリ空間の先頭セク
タから順に絶対的な論理セクターアドレスが割り振られ
る。一つの論理セクタは512バイトのシーケンシャル
データとなっている。ホストコンピュータシステムは、
論理セクタアドレスによって物理メモリ上のアクセス先
を指定することができる。論理ブロックは、論理アドレ
スを物理アドレスに変換する場合の基本単位である。従
って、論理セクタアドレスの5ビット目以上の上位ビッ
トと論理ブロックのアドレスは一致することとなる。ま
た、論理ブロックという概念は、本装置の制御のための
アドレス体系であり、ホストコンピュータはこれを感知
しない。
【0055】図5には、半導体フラッシュメモリ装置の
物理的なメモリ空間の構造を模式的に示している。この
物理メモリ空間は、論理メモリ空間と同様に、まず、
「ブロック」と言う単位に分けられる。各ブロックに
は、物理メモリ空間上の先頭ブロックから順に、物理ブ
ロックアドレスが連続的に割り振られている。
【0056】各物理ブロックは、16個の物理セクタから
構成されている。また、各物理セクタは、物理ブロック
と同様に、物理メモリ空間上の先頭物理セクタから順
に、物理セクタアドレスが連続的に割り振られている。
つまり、物理セクタアドレスの5ビット目以上のビット
構成と、物理ブロックアドレスのビット構成が同じであ
る。
【0057】本実施例で使われるフラッシュメモリチッ
プは、ブロック単位で消去動作を行い、物理セクタ単位
で書き込み・読み出し動作を行うようになっている。従
って、消去は物理ブロックアドレス、書込み、読み出し
は物理セクタアドレスを指定することとなる。
【0058】1つの物理セクタは528バイト長であ
り、512バイトのデータ部と16バイトの冗長部とい
う2つのフィールドからなる。データ部は、ホストコン
ピュータがアクセスするデータの実体が書き込まれる。
冗長部は、ECC(エラー訂正コード(Error C
orrection Code))が書き込まれる。エ
ラー訂正コードとデータ部を一緒に読み出すことによっ
て、データ部のエラーの有無と1ビット以上のエラー訂
正が可能となる。
【0059】要するに、本実施例では、論理アドレス空
間及び物理アドレス空間を、セクタというアドレスの最
小単位だけでなく、ブロックと言うグループにまとめる
ことによって、メモリ空間を管理している訳である。こ
のような階層的な構造をとることによって、セクターと
いう最小単位での書き込み、読み出しが可能である他
に、物理ブロックの消去が、物理ブロックアドレスを指
定することによって、直接アドレス可能である。また、
フラッシュメモリの書き換え回数は、フラッシュメモリ
の消去の回数と同一であり、ブロックと言う単位は、フ
ラッシュメモリの消去の単位である。従って、フラッシ
ュメモリの書き換え回数の均一化を図るため、論理アド
レスを物理アドレスに変換するアドレス単位ともなって
いる。
【0060】尚、ブロックやセクタというメモリ空間の
階層化方法や、ブロックサイズ、セクターサイズ、及
び、消去単位がブロックサイズであるかセクタサイズで
あるかは、本実施例の設計事項に過ぎず、本発明の要旨
を直接的に限定するものではない。メモリ空間を他の様
式で階層化した場合や各階層の物理サイズが異なる場合
であっても、本発明を好適に実現できる点を理解された
い。
【0061】従来例で説明した通り、ホストコンピュー
タシステムでは、ファイルやデータの入出力は、オペレ
ーティングシステム内のファイルシステムによって制御
される。ファイルシステムによれば、アプリケーション
によるアクセス先が局所に集中する傾向にある。一方、
フラッシュメモリの各物理セクタの書き換え回数は制限
があり、均一化することによって、装置の寿命を伸ばす
ことができる。
【0062】図7に論理メモリ空間を物理メモリ空間に
マッピングする場合の模式図を示している。マッピング
は、ブロックアドレス単位で行われるため、以降の説明
では、アドレスの単位は全てブロックアドレスとする。
同図において、論理ブロックアドレス空間は、ホストコ
ンピュータに開放しているアドレス空間の他に、仮想的
に割り当てる代替えブロックのアドレス空間を連続した
アドレス上に持ち、不良ブロックの代替えを効率的に実
施できる構造である。
【0063】また、物理アドレス空間は、論理アドレス
空間と同一容量のデータ部と代替えデータ部を持ってい
る。その他に特別にブランク領域を持っている。このブ
ランク領域の幅は、単一のブロック、もしくは複数のブ
ロックから構成される。これらの3つの領域は、移動す
るため、物理アドレスが固定されることはない。また、
物理アドレス空間は、論理アドレス空間より、ブランク
領域だけ大きくなる。
【0064】物理ブロックアドレス空間上に、上記説明
以外に管理情報領域がある(図示しない)。管理情報領
域は、物理アドレス空間上の最後尾の単一、または複数
の物理ブロックが使用され、不良ブロックのアドレス変
換テーブルに展開される不良ブラックアドレスと代替え
ブロックアドレスのデータや論理アドレスー物理アドレ
ス変換に使われる2つの可変パラメータ、その他、不良
ブロックの個数や、新規に不良ブロックが発生した場合
に代替えのブロックを充当するための空きの代替えブロ
ックのアドレス位置を示すパラメータが一括して格納さ
れている。
【0065】本発明におけるアドレス変換に係わるマッ
ピングの概念を、図7を使って説明する。同図によれ
ば、論理ブロックアドレスの先頭番地は、物理ブロック
アドレスのスタートアドレス、つまり請求項に述べられ
ている第1の可変パラメータで指定するアドレスに設定
される。また、物理ブロックアドレス上には、一定幅の
ブランク領域が存在する。このブランク領域を指し示す
アドレスがブランクアドレスであり、このアドレスが同
様に請求項に述べられている第2の可変パラメータの値
である。マッピングは、論理ブロックアドレスを、物理
ブロックのスタートアドレス番地から連続して展開する
ものである。途中に、ブランク領域があれば、その領域
を飛び越えて、マッピングするものである。また、物理
ブロックの最大アドレスを超える論理ブロックについて
は、物理ブロックの0番地から連続してマッピングす
る。
【0066】また、同図に示すように、論理ブロックア
ドレスは、ホストコンピュータに開放しているアドレス
領域の他に、使用済みと未使用の2つの代替えブロック
領域が仮想的に設けられている。この領域についても同
様に論理ブロックアドレスを物理ブロックアドレスへマ
ッピングするものとする。新規に発生した不良ブロック
は、未使用の代替えのブロックを示すアドレスの指標位
置から振り当てていくものとする。
【0067】アドレス演算部は、論理ブロックアドレス
を物理ブロックアドレスに演算して変換する部分であ
る。変換は、マイクロコントローラが、論理ブロックア
ドレスを読み込み、演算して出力するものとする。実際
のアドレス演算の模式図を、図8に示している。同図に
示す通り、最初にスタートアドレスとブランクアドレス
の指し示すアドレスの相対位置関係から計算が変わって
くる。スタートアドレスよりブランクアドレスが大きい
場合、スタートアドレスからブランクアドレスまでの領
域は計算式1が適用される。同様に、それ以上のアドレ
スでは計算式2が適用される。また、最大物理ブロック
アドレス以上では、計算式3が適用される。また、スタ
ートアドレスがブランクアドレスより小さい場合も同様
に、同図に示す計算式4、計算式5、計算式6が適用さ
れる。
【0068】ここで スタートアドレス=a ブランクアドレス=b 最大物理ブロックアドレス=z ブランク幅=m 論理ブロックアドレス=x 物理ブロックアドレス=y と仮定するとそれぞれ
の条件と計算式は以下の通りとなる。
【0069】 条件1: (a<b)かつ(x<=(b−a)) 計算式1:y=x+a 条件2: (a<b)かつ((b−a)<x<=(z−
a−z)) 計算式2:y=x+a+m 条件3: (a<b)かつ(x>(z−a−z)) 計算式3:y=x+a+m−z 条件4: (a>b)かつ(x<=(z−a)) 計算式4:y=x+a 条件5: (a>b)かつ((z−a)<x<=(z−
a+b)) 計算式5:y=x+a−z 条件6: (a>b)かつ(x>(z−a+b)) 計算式6:y=x+a−z+m また、マイクロコントローラ等にて論理ブロックアドレ
スを物理ブロックアドレスに演算して変換する場合のフ
ローチャートを図9に示している。この例では、最大6
回の条件判別とアドレス演算を実行している。演算途中
のデータはマイクロコントローラの内部レジスタに保存
され続けることとする。
【0070】アドレス演算のスタートは、論理ブロック
アドレスに、スタートアドレスを加算し、結果を保持し
ます(ステップS201)。
【0071】次に、スタートアドレスとブランクアドレ
スを比較します(ステップS202)。この演算は、事
前に計算しておくことができます。スタートアドレスが
ブランクアドレスより小さい場合は、ステップS203
を実行します。逆に、スタートアドレスがブランクアド
レスより大きい場合はステップS208を実行します。
【0072】ステップS201の計算結果がブランクア
ドレスより小さい場合、物理ブロックアドレスはステッ
プ201の計算結果となります(ステップS207)。
ここで処理が終了。逆に、ステップS201の計算結果
がブランクアドレスより大きい場合は、ステップS20
1の計算結果にブランクの幅を加算し、結果を保存し、
次をステップS205を実行します。
【0073】ステップS204の計算結果が、最大物理
ブロックアドレス以内の場合、物理ブロックアドレスは
ステップS204の結果となります(ステップS20
7)。ここで処理が終了。逆に、ステップS204の計
算結果が最大物理ブロックアドレス以上の場合、物理ブ
ロックアドレスは、ステップS204の計算結果に最大
物理ブロックアドレスが減算された値となります(ステ
ップS206)。ここで処理が終了。
【0074】次に、ステップS208では、ステップS
201の計算結果が最大物理ブロックアドレスより小さ
い場合、物理ブロックアドレスはステップS201の計
算結果となります(ステップS207)。ここで処理が終
了。逆に、ステップS201の計算結果が最大物理ブロ
ックアドレスより大きい場合は、ステップS201の計
算結果に最大物理ブロックアドレスを減算し、結果を保
存し、ステップS210を実行します(ステップS20
9)。
【0075】次のステップS210では、ステップS2
09の計算結果が、ブランクアドレス以内の場合、物理
ブロックアドレスはステップS209の計算結果となり
ます(ステップ207)。ここで処理が終了。逆に、ブ
ランクアドレス以上の場合、物理ブロックアドレスは、
ステップS209の計算結果にブランクの幅が加算され
た値となります(ステップS211)。ここで処理が終
了。
【0076】図10に物理メモリ空間上の論理ブロック
番地のマッピングの推移を説明します。同図では、左か
ら工場出荷時の初期状態、使用中の途中の状態、パワー
オンリセット時等の一定周期に可変パラメータが1回更
新された後の状態が示されている。
【0077】工場出荷時の初期状態では、スタートアド
レスが物理ブロックアドレスの0番地に設定されてい
る。従って、論理ブロックが、物理ブロックの先頭ブロ
ックから順に連続して展開されている。ブランクは、物
理ブロックアドレス空間の最後尾に設置されている。前
記一定周期毎の更新が行われると、ブランクアドレスは
一定幅下降する。同時に、ブランクとブランクアドレス
の直前のデータが交換される。また、ブランクアドレス
とスタートアドレスが一致すると、スタートアドレスが
一定幅増加する。この一定幅は、ブランクの幅と同容量
である。
【0078】同図の真中に、使用中の途中の状態が示さ
れている。併せて、同図の左側に上記途中状態から1回
だけ一定周期毎の可変パラメータが更新された状態が示
されてる。同図に示すように、論理番地32の次にある
ブランクが一定幅だけ下降しており、論理番地32のデ
ータとブランクが交換されることになる。
【0079】このように、ブランクは、一定周期毎に、
一定幅下降し、ブランクアドレスも移動する。ブランク
アドレスが移動して、スタートアドレスと一致した場合
は、スタートアドレスを一定幅上昇させることになる。
ここで、ブランクの移動方向は、下降であるが、上昇と
して制御すれば、ブランクアドレスはそれに伴って上昇
し、ブランクアドレスとスタートアドレスが一致した場
合、スタートアドレスは、逆に下降するように制御して
いく。同図での説明では、ブランクの幅は1ブロックア
ドレスである。
【0080】このように、ブランクアドレスが全物理ブ
ロックアドレス空間を1巡すると、スタートアドレスは
1回更新され、これを繰り返して、スタートアドレス
が、全物理ブロックアドレス空間を1巡することとな
る。この間に、ホストコンピュータからのアクセス要求
にしたがって、フラッシュメモリ上のデータの書換えが
行われていく。
【0081】図10に示される論理番地32に着目して
推移を追ってみると、ブランクアドレスが一巡する間
に、隣の物理ブロックにデータを伴って移動している。
スタートアドレスが一巡する間に、論理ブロックの論理
番地32は、すべての物理ブロックを、一定期間アクセ
スするようになっている。このことは、すべての論理番
地に共通して言えることである。つまり、各物理ブロッ
ク番地は、すべての論理ブロック番地を、一定期間アク
セスしてきたことになり、各論理ブロックの偏重したア
クセス回数を物理ブロック上で均一化したことになる。
【0082】これまでの説明では、論理ブロックアドレ
スを物理ブロックアドレスに一意的に変換し、物理ブロ
ックへの書き換え回数の均一化を説明してきた。ここで
は、物理ブロックが不良となった場合の実施例について
説明する。不良ブロックの検出は、従来例でも説明した
通り、ECC回路による検出、フラッシュチップのステ
ータス信号の読み込みと判別、リードベリファイによっ
て不良ブロックを検出可能である。
【0083】検出された不良ブロックは、それぞれに、
代替えのブロックが割り当てられる。これらの不良の物
理ブロックアドレスと代替えのブロックアドレスは対
で、アドレス参照テーブルに格納される。また、同テー
ブルと同一のデータを保存しているフラッシュメモリ部
の管理情報部のデータを更新する。パワーオンリセット
等で、システムが起動された場合は、フラッシュメモリ
部の管理情報部から、揮発性メモリで構成される不良ブ
ロックのアドレス参照テーブルに戻される。
【0084】ホストコンピュータが、フラッシュメモリ
へアクセスする場合、先ず、論理ブロックアドレスを物
理ブロックアドレスに演算して変換する。次に、この物
理ブロックアドレスを不良ブロックのアドレス参照テー
ブルのすべての不良ブロックのアドレスと比較し、一致
する場合は、テーブルに格納されている代替えのブロッ
クアドレスを使ってアクセスするように制御される。
【0085】この場合、代替えのブロックアドレスは、
仮想領域の論理ブロックアドレスであり、再度、論理ブ
ロックアドレスを物理ブロックアドレスに演算して変換
する。このことにより、代替えのブロックについても、
書き換え回数の均一化が容易に達成されるものである。
【0086】図11に、不良ブロックのアドレス参照テ
ーブルを示している。このドレス参照テーブルは、不良
ブロックのブロックアドレスと代替えのブロックアドレ
スが対で格納されている。また、検索を早くするため、
物理ブロックのアドレス順にソートされている。制御
は、バイナリソート等の手法で、先頭から、不良ブロッ
クのアドレスデータの最後までの間を、高速に検索でき
ます。テーブルのサイズは、不良ブロックの発生量に依
存するが、通常正常ブロックの2%前後である。したが
って、論理アドレスー物理アドレス変換テーブルを作成
するよりテーブルサイズの大幅な縮小が可能となる。
【0087】従来例で示したワークメモリサイズの見積
もりと同一条件での見積もりを実施してみる。ワークメ
モリのサイズは、容量によって変わるため、4MBと1
60MBでワークメモリの容量を見積もりする。
【0088】それぞれのブロックアドレスのサイズは、
500アドレスと20000アドレスとなる。最大の不
良ブロック数は、全ブロックの2%と設計すると、それ
ぞれの不良ブロックアドレステーブルの数は、10ブロ
ックと400ブロックとなる。不良ブロックのアドレス
と、その代替えアドレスはそれぞれ2バイトで構成され
るため、テーブルのサイズは、それぞれ、40バイトと
1600バイトとなる。従来例と比較して、約50分の
1程度に削減されている。これ以外に、不揮発性メモリ
であるフラッシュメモリ部の管理領域に保存すべきデー
タは、第1の可変パラメータと第2の可変パラメータ、
その他に、未使用の代替えブロックの先頭アドレスを示
すポインター、不良ブロック個数を表すパラメータの4
種であり、合わせて8バイト程度である。
【0089】
【発明の効果】上記の説明から明らかなように、従来例
で必要であった、論理アドレスを物理アドレスに変換す
るアドレス変換テーブルや、物理ブロックの書き換え回
数の積算値のテーブルが、単純に2つの可変パラメータ
に置き換わることができ、ワークメモリのサイズが約5
0分の1に削減できる。
【0090】また、不揮発性メモリへの待避が必要な管
理情報の量が大削減され、管理情報のデータの更新は、
パワーオンリセット等の一定周期や、不良ブロックの発
生した時点の限られた時期、回数であるため、フラッシ
ュメモリ上に一括的に管理することが可能となる。それ
に伴って、従来例では、フラッシュメモリ上の冗長部に
分散して格納している管理情報を読み取ることに比べ、
一括管理されている管理情報を指定のブロックから読み
取ることで、パワーオン時の管理情報をワークメモリ上
に展開する時間、つまり初期化に係わる時間の短縮が図
られる。
【0091】また、ワークメモリの削減は、ワークメモ
リのデータ保持に係わる消費電力の低減とワークメモリ
に係わるコストの削減につながってくる。
【図面の簡単な説明】
【図1】本発明に係わる一実施例を示すブロック図。
【図2】本発明に係わる一実施例を示すブロック図。
【図3】本発明に係わる一実施例を示すブロック図。
【図4】本発明に係わる一実施例を示すハードウェアー
構成図。
【図5】本発明に係わる物理的なメモリ空間の説明図。
【図6】本発明に係わる論理的なメモリ空間の説明図。
【図7】本発明に係わるメモリ空間に関し、ブロックア
ドレスのマッピングの説明図。
【図8】本発明に係わるアドレス演算の模式図。
【図9】本発明に係わるアドレス演算のフローチャー
ト。
【図10】本発明に係わる物理ブロック空間上の論理ブ
ロック番地の推移図。
【図11】本発明に係わる不良ブロックのアドレス参照
テーブルの説明図。
【図12】従来の実施例を示すブロック図。
【図13】従来実施例のアドレス変換テーブル図。
【図14】従来実施例の状態テーブル図。
【符号の説明】
1 インタフェース部 2 アドレス演算部 3 レジスタ部 4 アドレス変換部 5 アドレス参照テーブル 6 バッファーメモリ部 7 制御部 8 フラッシュメモリ装置 10 管理情報部 11 データ部 12 代替えエリア 12 データ部+代替えエリア 20 アドレス変換部(従来例) 21 テーブル(従来例) 25 ブロック状態テーブル 26 書き換え回数参照テーブル 27 アドレス参照テーブル 50 インタフェース回路 60 マイクロコントローラ 70 ワークメモリ 80 メモリコントローラ 90 フラッシュメモリ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】ホストコンピュータシステムに接続して用
    いられ、ブロック単位でアドレス可能なタイプの半導体
    フラッシュメモリ装置において、電気的に書込み・読み
    出しが可能な不揮発性メモリからなり、管理情報部、ブ
    ランク領域を含むデータ部、代替えデータ部を内蔵して
    いるフラッシュメモリ部と、前記ホストコンピュータシ
    ステムと接続して、データの授受とアクセス要求を受け
    取るインタフェース部と、揮発性のワークメモリにて構
    成され、前記フラッシュメモリ部のデータや、ホストコ
    ンピュータから受信したデータを一時的に記憶しておく
    バッファーメモリ部と、論理ブロックアドレスを物理ブ
    ロックアドレスに変換する際にアドレスの変位を与える
    第1の可変パラメータと、物理メモリ空間上のブランク
    領域の位置を指し示す第2の可変パラメータを使って、
    論理ブロックアドレスを物理ブロックアドレスに一意的
    に演算して変換するアドレス演算部と、揮発性のワーク
    メモリで構成され、前記アドレス演算部に使用する前記
    2つの可変パラメータを格納するレジスタ部と、マイク
    ロコントローラや相当のハードウェアーロジックで構成
    され、ホストコンピュータからアクセス要求があった場
    合のフラッシュメモリ部のデータのアクセス等、本装置
    の主要な手段を実行する制御部と、前記フラッシュメモ
    リ部の中の管理情報部に一括して格納されている前記2
    つの可変パラメータを揮発性のワークメモリの前記レジ
    スタ部に展開する手段と、一定周期毎に、前記第2の可
    変パラメータを一定量減算し、同時に前記フラッシュメ
    モリ部上の一定幅のデータとブランク領域を交換するこ
    と、及び、前記第2の可変パラメータの値と前記第1の
    可変パラメータの値が一致する場合は、第1の可変パラ
    メータの値を一定量加算し、これら2つの可変パラメー
    タを、前記フラッシュメモリ部の管理情報部に格納する
    手段を具備する半導体フラッシュメモリ装置。
  2. 【請求項2】ホストコンピュータシステムに接続して用
    いられ、ブロック単位でアドレス可能なタイプの半導体
    フラッシュメモリ装置において、電気的に書込み・読み
    出しが可能な不揮発性メモリからなり、管理情報部、ブ
    ランク領域を含むデータ部、代替えデータ部を内蔵して
    いるフラッシュメモリ部と、前記ホストコンピュータシ
    ステムと接続して、データの授受とアクセス要求を受け
    取るインタフェース部と、揮発性のワークメモリにて構
    成され、前記フラッシュメモリ部のデータや、ホストコ
    ンピュータから受信したデータを一時的に記憶しておく
    バッファーメモリ部と、論理ブロックアドレスを物理ブ
    ロックアドレスに変換する際にアドレスの変位を与える
    第1の可変パラメータと、物理メモリ空間上のブランク
    領域の位置を指し示す第2の可変パラメータを使って、
    論理ブロックアドレスを物理ブロックアドレスに一意的
    に演算して変換するアドレス演算部と、揮発性のワーク
    メモリで構成され、前記アドレス演算部に使用する前記
    2つの可変パラメータを格納するレジスタ部と、揮発性
    のワークメモリで構成され、不良ブロック物理アドレス
    とその代替えのブロックアドレスを対で格納するアドレ
    ス参照テーブルと、前記アドレス演算部の出力である物
    理ブロックアドレスが、不良ブロックアドレスであるか
    否かを前記アドレス参照テーブルを使って随時検査し、
    そのブロックアドレスが一致した場合は関連する代替え
    のブロックアドレスを出力するアドレス変換部と、前記
    アドレス演算部の出力である物理ブロックアドレスは、
    前記フラッシュメモリ部のデータ部をアクセスし、前記
    代替えのブロックアドレスは、前記フラッシュメモリ部
    の代替えデータ部をアクセスするアクセス手段と、マイ
    クロコントローラや相当のハードウェアーロジックで構
    成され、ホストコンピュータからアクセス要求があった
    場合のフラッシュメモリ部のデータのアクセス等、本装
    置の主要な手段を実行する制御部と、前記フラッシュメ
    モリ部の中の管理情報部に一括して格納されている前記
    2つの可変パラメータと、複数の不良ブロックアドレス
    及びそれと対をなす代替えブロックアドレスを揮発性の
    ワークメモリの前記レジスタ部と前記アドレス参照テー
    ブルに展開する手段と、一定周期毎に、前記第2の可変
    パラメータを一定量減算し、同時に前記フラッシュメモ
    リ部上の一定幅のデータとブランク領域を交換するこ
    と、及び、前記第2の可変パラメータの値と前記第1の
    可変パラメータの値が一致する場合は、更に第1の可変
    パラメータの値を一定量加算し、これら2つの可変パラ
    メータを、前記フラッシュメモリ部の管理情報部に格納
    する手段を具備する半導体フラッシュメモリ装置。
  3. 【請求項3】ホストコンピュータシステムに接続して用
    いられ、ブロック単位でアドレス可能なタイプの半導体
    フラッシュメモリ装置において、電気的に書込み・読み
    出しが可能な不揮発性メモリからなり、管理情報部と、
    データ部、代替えデータ部及びブランク領域を内蔵して
    いるフラッシュメモリ部と、前記ホストコンピュータシ
    ステムと接続して、データの授受とアクセス要求を受け
    取るインタフェース部と、揮発性のワークメモリにて構
    成され、前記フラッシュメモリ部のデータや、ホストコ
    ンピュータから受信したデータを一時的に記憶しておく
    バッファーメモリ部と、論理ブロックアドレスを物理ブ
    ロックアドレスに変換する際にアドレスの変位を与える
    第1の可変パラメータと、物理メモリ空間上のブランク
    領域の位置を指し示す第2の可変パラメータを使って、
    論理ブロックアドレスを物理ブロックアドレスに一意的
    に演算して変換するアドレス演算部と、揮発性のワーク
    メモリで構成され、前記アドレス演算部に使用する前記
    2つの可変パラメータを格納するレジスタ部と、揮発性
    のワークメモリで構成され、不良ブロック物理アドレス
    とその代替えのブロックアドレスを対で格納するアドレ
    ス参照テーブルと、前記アドレス演算部の出力である物
    理ブロックアドレスが、不良ブロックアドレスであるか
    否かを前記アドレス参照テーブルを使って随時検査し、
    そのブロックアドレスが一致した場合は関連する代替え
    のブロックアドレスを出力するアドレス変換部と、前記
    代替えのブロックアドレスを一時的に格納し、再びアド
    レス演算を行うためにフィードバックするためのアドレ
    スラッチと、マイクロコントローラや相当のハードウェ
    アーロジックで構成され、ホストコンピュータからアク
    セス要求があった場合のフラッシュメモリ部のデータの
    アクセス等、本装置の主要な手段を実行する制御部と、
    前記フラッシュメモリ部の中の管理情報部に一括して格
    納されている前記2つの可変パラメータと、複数の不良
    ブロックアドレス及びそれと対をなす代替えブロックア
    ドレスを揮発性のワークメモリの前記レジスタ部と前記
    アドレス参照テーブルに展開する手段と、一定周期毎
    に、前記第2の可変パラメータを一定量減算し、同時に
    前記フラッシュメモリ部上の一定幅のデータとブランク
    領域を交換すること、及び、前記第2の可変パラメータ
    の値と前記第1の可変パラメータの値が一致する場合
    は、更に第1の可変パラメータの値を一定量加算し、こ
    れら2つの可変パラメータを、前記フラッシュメモリ部
    の管理情報部に格納する手段を具備する半導体フラッシ
    ュメモリ装置。
  4. 【請求項4】前記請求項1,2、3に記載の手段に於い
    て、一定周期毎に、上記第2の可変パラメータを一定量
    加算し、同時に前記フラッシュメモリ部上の一定幅のデ
    ータとブランク領域を交換すること、及び、前記第2の
    可変パラメータの値と前記第1の可変パラメータの値が
    一致する場合は、更に第1の可変パラメータの値を一定
    量減算し、これら2つの可変パラメータを、前記フラッ
    シュメモリ部の管理情報部に格納する手段を具備する半
    導体フラッシュメモリ装置。
  5. 【請求項5】前記請求項2、3記載の不良ブロックの代
    替えを行うアドレス変換部は、不良ブロックの検出手順
    として、当該ブロックのデータを読み出した後、そのブ
    ロックのデータを解析して不良ブロックであることを判
    別して後、ブロックアドレスの一致検出と代替えのブロ
    ックアドレスを出力するようにした、半導体フラッシュ
    メモリ装置及びその制御方法。
JP9406399A 1999-03-31 1999-03-31 半導体フラッシュメモリ装置及びその制御方法 Withdrawn JP2000285001A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9406399A JP2000285001A (ja) 1999-03-31 1999-03-31 半導体フラッシュメモリ装置及びその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9406399A JP2000285001A (ja) 1999-03-31 1999-03-31 半導体フラッシュメモリ装置及びその制御方法

Publications (1)

Publication Number Publication Date
JP2000285001A true JP2000285001A (ja) 2000-10-13

Family

ID=14100080

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9406399A Withdrawn JP2000285001A (ja) 1999-03-31 1999-03-31 半導体フラッシュメモリ装置及びその制御方法

Country Status (1)

Country Link
JP (1) JP2000285001A (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002031661A1 (fr) * 2000-10-13 2002-04-18 Sony Corporation Procede de gestion de donnees pour un dispositif a memoire
JP2006185070A (ja) * 2004-12-27 2006-07-13 Sony Corp 記録装置、アドレス変換装置、記録制御方法および記録制御プログラム
JP2007334935A (ja) * 2006-06-12 2007-12-27 Sony Corp 不揮発性メモリ
JP2008117299A (ja) * 2006-11-07 2008-05-22 Fuji Xerox Co Ltd 記憶媒体制御装置
CN100407337C (zh) * 2003-04-04 2008-07-30 三星电子株式会社 管理闪存中的不良存储块的装置和方法
JP2008251154A (ja) * 2008-04-11 2008-10-16 Renesas Technology Corp 不揮発性半導体記憶装置
JP2008262614A (ja) * 2007-04-10 2008-10-30 Mega Chips Corp 不揮発性半導体記憶装置
JP2009282991A (ja) * 2002-10-28 2009-12-03 Sandisk Corp 不揮発性メモリシステム内での使用不可能なブロック管理
JP2011198409A (ja) * 2010-03-19 2011-10-06 Toshiba Information Systems (Japan) Corp 不揮発性メモリ
US8223563B2 (en) 2002-09-25 2012-07-17 Renesas Electronics Corporation Nonvolatile memory
JP2021525924A (ja) * 2018-05-31 2021-09-27 マイクロン テクノロジー,インク. データの2つの部分を有するメモリのデータの再配置

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002031661A1 (fr) * 2000-10-13 2002-04-18 Sony Corporation Procede de gestion de donnees pour un dispositif a memoire
JP2002123422A (ja) * 2000-10-13 2002-04-26 Sony Corp メモリ装置におけるデータ管理方法
US6889287B2 (en) 2000-10-13 2005-05-03 Sony Corporation Data management method for memory device
US7281090B2 (en) 2000-10-13 2007-10-09 Sony Corporation Data managing method for memory apparatus
US7284090B2 (en) 2000-10-13 2007-10-16 Sony Corporation Data managing method for memory apparatus
US7296119B2 (en) 2000-10-13 2007-11-13 Sony Corporation Data managing method for memory apparatus
US8223563B2 (en) 2002-09-25 2012-07-17 Renesas Electronics Corporation Nonvolatile memory
JP2009282991A (ja) * 2002-10-28 2009-12-03 Sandisk Corp 不揮発性メモリシステム内での使用不可能なブロック管理
CN100407337C (zh) * 2003-04-04 2008-07-30 三星电子株式会社 管理闪存中的不良存储块的装置和方法
JP4586533B2 (ja) * 2004-12-27 2010-11-24 ソニー株式会社 記録装置、アドレス変換装置、記録制御方法および記録制御プログラム
JP2006185070A (ja) * 2004-12-27 2006-07-13 Sony Corp 記録装置、アドレス変換装置、記録制御方法および記録制御プログラム
JP2007334935A (ja) * 2006-06-12 2007-12-27 Sony Corp 不揮発性メモリ
US8732385B2 (en) 2006-06-12 2014-05-20 Sony Corporation Non-volatile memory, controller controlling next access
JP2008117299A (ja) * 2006-11-07 2008-05-22 Fuji Xerox Co Ltd 記憶媒体制御装置
JP2008262614A (ja) * 2007-04-10 2008-10-30 Mega Chips Corp 不揮発性半導体記憶装置
JP2008251154A (ja) * 2008-04-11 2008-10-16 Renesas Technology Corp 不揮発性半導体記憶装置
JP2011198409A (ja) * 2010-03-19 2011-10-06 Toshiba Information Systems (Japan) Corp 不揮発性メモリ
JP2021525924A (ja) * 2018-05-31 2021-09-27 マイクロン テクノロジー,インク. データの2つの部分を有するメモリのデータの再配置

Similar Documents

Publication Publication Date Title
US10761780B2 (en) Memory system
US10915475B2 (en) Methods and apparatus for variable size logical page management based on hot and cold data
US11232041B2 (en) Memory addressing
US7890550B2 (en) Flash memory system and garbage collection method thereof
US8131911B2 (en) Data writing method, and flash storage system and controller using the same
US6587915B1 (en) Flash memory having data blocks, spare blocks, a map block and a header block and a method for controlling the same
KR960004738B1 (ko) 불휘발성 반도체 메모리 장치
KR100389867B1 (ko) 플래시 메모리 관리방법
US7191306B2 (en) Flash memory, and flash memory access method and apparatus
US10061710B2 (en) Storage device
US9021218B2 (en) Data writing method for writing updated data into rewritable non-volatile memory module, and memory controller, and memory storage apparatus using the same
US9058256B2 (en) Data writing method, memory controller and memory storage apparatus
JPH11126488A (ja) フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置
JPH08328762A (ja) 半導体ディスク装置及びそのメモリ管理方法
US9619380B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
CN107590080B (zh) 映射表更新方法、存储器控制电路单元及存储器存储装置
JP2000285001A (ja) 半導体フラッシュメモリ装置及びその制御方法
TW202230110A (zh) 記憶體系統及控制方法
CN112860193B (zh) 整理指令处理方法、存储器控制电路单元与存储装置
JPH07302175A (ja) 半導体ディスク装置
CN114036079A (zh) 映射表压缩方法、***、存储器控制器、固态硬盘及数据读取方法
CN109002265B (zh) 一种数据处理的方法以及相关装置
JP2013196155A (ja) メモリシステム
US10915401B2 (en) Data saving caused by a partial failure of the memory device
KR100982440B1 (ko) 단일 플래시 메모리의 데이터 관리시스템

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060606