JP3197815B2 - 半導体メモリ装置及びその制御方法 - Google Patents

半導体メモリ装置及びその制御方法

Info

Publication number
JP3197815B2
JP3197815B2 JP09231396A JP9231396A JP3197815B2 JP 3197815 B2 JP3197815 B2 JP 3197815B2 JP 09231396 A JP09231396 A JP 09231396A JP 9231396 A JP9231396 A JP 9231396A JP 3197815 B2 JP3197815 B2 JP 3197815B2
Authority
JP
Japan
Prior art keywords
physical
computer system
logical
unit
host computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP09231396A
Other languages
English (en)
Other versions
JPH09282111A (ja
Inventor
徹 阪倉
好功 坂上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP09231396A priority Critical patent/JP3197815B2/ja
Priority to US08/842,554 priority patent/US5963983A/en
Publication of JPH09282111A publication Critical patent/JPH09282111A/ja
Application granted granted Critical
Publication of JP3197815B2 publication Critical patent/JP3197815B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、フラッシュ・メモ
リ(フラッシュEEPROM:Electrically Erasable
and Programable ROM)のような不揮発性で一括消去式
の半導体メモリを記憶媒体とした半導体メモリ装置及び
その制御方法に係り、特に、セクタ等の所定サイズの記
憶単位でアドレス可能なタイプの半導体メモリ装置及び
その制御方法に関する。更に詳しくは、本発明は、セク
タ等の単位で記憶場所をアドレスするとともに、該不揮
発性の半導体メモリ以外に、論理アドレス(論理セクタ
・アドレス)−物理アドレス(物理セクタ・アドレス)
変換情報を格納するための揮発性のワーク・メモリを持
つようなタイプの半導体メモリ装置及びその制御方法に
関する。
【0002】
【従来の技術】外部記憶装置: 昨今の技術革新に伴い、オフィス内での
使用を前提にしたデスクトップ型や、モーバイル環境で
の使用を考慮したノートブック型など、各種パーソナル
・コンピュータが開発され市販されている。これらコン
ピュータ・システムのアーキテクチャの基本は、CPU
とメモリ(メイン・メモリ)間のアクセス動作である。
すなわち、CPUは、メモリにロードしたプログラムを
実行するとともに、処理結果をメモリ内の作業領域に随
時書き込むことにより、コンピュータ処理を実現する訳
である。ところが、この処理過程において、大量のデー
タやプログラムを蓄積する必要があるため、コンピュー
タ・システムは、メイン・メモリ以外に、外部記憶装置
を持つことが必須となっている。このような外部記憶装
置は、大容量で、且つ容量当りの単価が低いことが望ま
しい。
【0003】外部記憶装置は、今まで、ハード・ディス
ク・ドライブ(HDD)やフロッピー・ディスク・ドラ
イブ(FDD)のような、ディスク状記憶媒体を用いた
ものが主流であった。これらディスク型の外部記憶装置
は、大容量の記憶領域を比較的安価で確保できること
や、ランニング・コストも安いなどの点で非常に優れて
いる。しかし、ディスク上を磁気ヘッドでシークするた
め、駆動装置が比較的大型となり、高度に精密な機構技
術が必要である。このため、信頼性にやや欠け、衝撃に
も弱いという側面がある。
【0004】最近では、これらディスク型記憶装置に代
わって、SRAM(スタティックRAM)やDRAM
(ダイナミックRAM)などの半導体メモリを記憶媒体
とした半導体メモリ装置が検討されている。このような
半導体メモリ装置の利点として、ディスク・アクセスよ
りも高速であること、衝撃に比較的強くモーバイル環境
での使用が期待できること、などが挙げられよう。しか
しながら、SRAMは、セル構造が比較的複雑で集積度
が低く、記憶容量当りの単価が高いという難点がある。
また、DRAMは、SRAMに比し集積度の点では優れ
ているが、記憶保持動作のための電力が必要であり、ラ
ンニング・コストが高くついてしまう。また、DRAM
チップは、常に電力消費を伴うため、商用電源を利用不
能なモーバイル環境への適用は難しい。
【0005】このようなSRAM又はDRAMを記憶媒
体とするタイプの半導体メモリ装置の難点を解消するも
のとして、フラッシュEEPROM(Electrically Era
sable and Programable ROM:以下、「フラッシュ・メ
モリ」ともいう)を記憶媒体にした半導体メモリ装置が
提案されている。フラッシュ・メモリは、既に周知なよ
うに、不揮発性であるが書き替えが可能であり、また、
素子構造が簡単なので集積度を上げ易い。したがって、
フラッシュ・メモリを用いた半導体メモリ装置は、低消
費電力で、小型・軽量で、その上機械的衝撃に強く、モ
ーバイル環境にも適していると言えよう。その反面、フ
ラッシュ・メモリの利用には、書き込みの際には先ず消
去動作が必要であること、消去動作には高電圧(12V
又は20V程度)の印加が必要であること、ページ(又
はブロック)と呼ばれる比較的大きな単位(数KB〜数
百KB)での一括消去しかできないこと、などのトレー
ド・オフを伴う。
【0006】外部記憶装置へのアクセス動作:コンピュ
ータ・システム(以下、「ホスト」ともいう)からHD
Dなどの外部記憶装置へのアクセス(書き込みアクセス
及び読み出しアクセスを含む)は、論理アドレスを指定
することによって行われる。論理アドレスとは、ホスト
側のソフトウェア(OSやアプリケーション)が利用可
能な論理メモリ空間上の位置に過ぎず、物理的な格納場
所そのものを意味しない。そこで、外部記憶装置内で
は、受け取った論理アドレスを自身の物理メモリ空間上
の物理アドレスに変換し、この物理アドレスに従って指
定されたデータの格納場所にアクセスするようになって
いる。
【0007】先述したフラッシュ・メモリを記憶媒体と
する記憶装置は、HDDなどのディスク型記憶装置に代
わるものとして期待されている。しかし、フラッシュ・
メモリは書き込みの前に消去動作が必要であり、しかも
比較的大きな単位でしか消去を行なうことができない。
すなわち、フラッシュ・メモリ型半導体メモリ装置への
アクセス(特に書き込みアクセス)は旧来の外部記憶装
置へのアクセスよりも動作が複雑になのである。このた
め、単純にHDDをフラッシュ・メモリ型記憶装置に置
き換えることはできない。
【0008】現在、フラッシュ・メモリ型記憶装置への
アクセス方式として、以下の2種類が存在する。すなわ
ち、 (1)ホスト側にフラッシュ・メモリ専用のファイル・
システムを導入する方式(例えば、MS−FFS(Flas
h File System)方式やFTL(Flash Translation Lay
er)方式など)。 (2)半導体メモリ装置内でHDDをエミュレーション
するための処理を行ない、ホスト側からはHDDと同様
に使用可能とし、既存のファイル・システムを利用する
方式(例えばPCMCIA ATA(AT Attachment)
方式など)。
【0009】前者によれば、半導体メモリ装置内の構造
は単純になるため、価格面で有利である。その反面、ホ
スト側でのオーバーヘッドの増加や、既存のプログラム
とデバイス・ドライバ間の互換性の問題、異なるデバイ
ス・ドライバ間での互換性の問題などを伴う。これに対
して後者によれば、半導体メモリ装置内の構造は複雑に
なるが、ホスト側は半導体メモリ装置を従来のHDDと
全く同様に扱うことができるので、互換性の問題はな
い。また、記憶容量が増大すれば両方式間の価格差は軽
減される。このため、現在では後者の方式が多く採用さ
れている。
【0010】後者のディスク・エミュレーション方式
は、さらに以下の2種類の大別される。すなわち、 (2−1)物理アドレスと論理アドレスの対応関係を固
定する方式。 (2−2)物理アドレスと論理アドレスの対応関係を可
変とする方式。
【0011】前者の場合、消去単位より少ないセクタ数
について書き込み要求が起こったときには、消去単位中
のデータを一旦読み出して転送用バッファに保持し、消
去を行なった後に書き戻す必要がある。一方、後者の場
合には、論理アドレスと物理アドレスの対応関係を記述
した情報を、フラッシュ・メモリ以外の場所に持つ必要
がある。ここで、これら2方式について、実際のファイ
ル・システムによってフラッシュ・メモリにアクセスす
ることを考慮して、両方式を比較してみる。
【0012】現在のHDD用のファイル・システムで
は、ファイルをデータ部とファイル管理情報部(例えば
FAT(File Allocation Table)やディレクトリ)に
分けてディスク上に格納するようになっている。データ
部へのディスク・アクセスは大セクタ数で少ないアクセ
ス回数によって実行されるが、ファイル管理情報部への
ディスク・アクセスは小セクタ数で多いアクセス回数に
よって実行される。また、ファイル管理情報部には複数
のファイルについての管理情報が集中して置かれている
ため、アクセスが集中する。
【0013】このようなファイル・システムの制御下で
は、前者の(2−1)方式によれば、アクセス毎に消去
が行なわれるため、小セクタ数の書き込みのときには特
に効率が低下する。また、大セクタ数の書き込み動作の
場合であっても、書き込むデータ・サイズが消去単位と
一致しなければ、当然効率が低下する。また、消去動作
中に突発的に電源が遮断されると、転送用バッファ中の
全てのデータ(書き込み対象以外のデータを含む)が失
われてしまう。これに対して後者の(2−2)方式によ
れば、空きセクタが存在する限り、消去動作を行なうこ
となく書き込むことが可能であり、効率的である。
【0014】また、フラッシュ・メモリは一般に消去回
数に上限があるため、フラッシュ・メモリ全体で均一的
に使用するのが長寿命化に必須とされている。前者の
(2−1)方式によれば、ファイル管理情報部の書き替
え回数が必然的に多くなる。この結果、ファイル管理情
報部の消去回数が極端に増大し、フラッシュ・メモリ全
体を均一に使用することは不可能である。これに対して
後者の(2−2)方式によれば、同じ論理アドレスへの
書き込みであっても、異なる物理アドレスを割り当てる
ことによって、均一に使用することが可能である。ま
た、書き込み動作ごとに消去を行なわないため、フラッ
シュ・メモリ全体の消去回数も、(2−1)方式よりも
少なくて済む。したがって、一般には、(2−2)方式
の方が優れていると考えられている。
【0015】以下、(2−2)方式を用いた半導体メモ
リ装置について簡単に説明する。
【0016】図11には、このタイプの半導体メモリ装
置における物理メモリ空間の構造を模式的に示してい
る。同図に示すように、半導体メモリ装置は、複数の物
理セクタから構成されいる。各物理セクタには、物理メ
モリ空間上の先頭セクタから順に、物理セクタ・アドレ
スが連続的に割り振られている。1つの物理セクタは、
528バイト長であり、6バイト長のヘッダ部と、51
2バイト長のデータ部と、10バイト長のECC部とい
う3個のフィールドとからなる。ヘッダ部には、この物
理セクタを現在使用している論理セクタ・アドレスの
他、CRC(cyclicRedunduncy Chech)コードが書き込
まれる。データ部には、アクセス対象となるデータの実
体が書き込まれる。ECC部にはエラー訂正コード(Er
rorCorrection Code)が書き込まれる。ヘッダ部にCR
Cを付加することにより、ヘッダ部を読み出した段階で
エラーの検出が可能となる。また、エラーの修正はセク
タ全部を読み出した段階でECCを用いて行なうことが
できる。
【0017】図11に示すように、フラッシュ・メモリ
内では、アドレスの最小単位である物理セクタごとに論
理アドレスを持つようになっている。その一方で、論理
セクタ・アドレスから物理セクタ・アドレスに変換する
ための情報(セクタ・ロケーション・テーブル(SL
T:Sector Location Table)ともいう)を、フラッシ
ュ・メモリの外にあるワーク・メモリで管理するように
もなっている。図12には、SLTの構成を模式的に示
している。同図に示すように、SLTの各エントリは、
先頭よりアドレス順に各論理セクタに割り当てられ、該
当する論理セクタが現在使用している物理セクタのアド
レスを格納するためのフィールドを含んでいる。例え
ば、論理アドレス#nへのアクセスが要求された場合、
SLTの先頭からn番目のエントリを参照すれば、対応
する物理セクタ・アドレスを取得することができる訳で
ある。
【0018】SLTを格納するためのワーク・メモリに
は、一般には、DRAMのようなビット単位で単純な動
作で書き替えを行える半導体メモリが用いられる。例え
ば、パワー・オン・リセットした時の立ち上げ動作の間
に、フラッシュ・メモリの全物理セクタのヘッダ部をス
キャンして、ワーク・メモリ中に論理アドレス−物理ア
ドレス変換情報(SLT)を作成しておけば、以後のア
クセス動作では、ワーク・メモリを参照すれば瞬時に物
理アドレスを獲得することができる。また、ファイルの
コピーや削除などに伴うSLTの更新も、容易に且つ瞬
時に行うことができる。
【0019】要するに、データやファイルを記憶するた
めのフラッシュ・メモリの他に、位置情報(すなわちS
LT)を管理するためのワーク・メモリを持つことによ
って、位置情報を瞬時に獲得ができ、フラッシュ・メモ
リへのアクセス動作がよりの効率的になる。また、ファ
イルのコピーや削除に伴う位置情報の更新動作も円滑に
行うことができる訳である。
【0020】ワーク・メモリのサイズ データの位置情報としてのSLTのサイズは、メモリ空
間に含まれるセクタ数に比例して増大する。すなわち、
記憶媒体としてのフラッシュ・メモリの記憶容量が大き
くなるほど、SLTのサイズも肥大化し、SLTを格納
するためのワーク・メモリの容量も必然的に拡張する必
要がある。
【0021】例えば、フラッシュ・メモリ自体の容量が
64MBであれば、約500バイトで構成される物理セ
クタを120K個以上を含むことになる。120K個の
物理セクタをアドレスするためには、セクタ・アドレス
は最低17ビット幅を必要とする。コンピュータによる
入出力処理がバイト単位で実行されることを勘案すれ
ば、セクタ・ロケーション・テーブル(SLT)の各エ
ントリは、物理セクタ・アドレスを格納するために最低
3バイト(=24ビット>17ビット)のサイズが必要
ということになる。また、SLTのエントリはメモリ空
間上のセクタ数分だけ必要となる。したがって、SLT
の必要サイズを概略的に計算すれば、360Kバイト
(=120Kエントリ×3バイト)となる。換言すれ
ば、ワーク・メモリは最低でも360Kバイトは必要と
いうことになる。また、記憶媒体そのものであるフラッ
シュ・メモリの容量が将来さらに拡張されれば、これに
伴って、ワーク・メモリの容量も増大させなければなら
ない。巨大容量のワーク・メモリは、当然コスト増とな
り、ひいては半導体メモリ装置のコスト増を招来するこ
とになる。
【0022】また、ワーク・メモリは揮発性であり、そ
の記憶内容は一時的なものに過ぎない。このため、パワ
ー・オン・リセット時には、ワーク・メモリ中にはSL
Tのようなアドレス変換情報は存在していない。このた
め、半導体メモリ装置の立ち上げ動作の1つとして、ワ
ーク・メモリ内にSLTを再び作成しなければならな
い。SLTを作成するには、全物理セクタのヘッダ部を
検索する必要がある(前述)。したがって、記憶媒体そ
のものであるフラッシュ・メモリのサイズが増大し、こ
れに比例してセクタ数が増せば、その分だけSLTの作
成に時間を要し、立ち上げ時間が長期化することにな
る。
【0023】また、ワーク・メモリが増大すれば、その
分だけ余分な記憶保持動作が必要となり、電力消耗を招
く結果となる。
【0024】
【発明が解決しようとする課題】本発明の目的は、フラ
ッシュ・メモリのような不揮発性で一括消去式の半導体
メモリを記憶媒体とした、優れた半導体メモリ装置及び
その制御方法を提供することにある。
【0025】本発明の更なる目的は、セクタ等の所定単
位で記憶場所をアドレスするとともに、該不揮発性の半
導体メモリ以外に、論理アドレス−物理アドレス変換情
報を格納するための揮発性のワーク・メモリを持つタイ
プの、優れた半導体メモリ装置及びその制御方法を提供
することにある。
【0026】本発明の更なる目的は、小容量のワーク・
メモリによっても論理アドレス−物理アドレス変換情報
を好適に管理することができる、優れた半導体メモリ装
置及びその制御方法を提供することにある。
【0027】本発明の更なる目的は、不揮発性の半導体
メモリの外に置かれた揮発性のワーク・メモリに論理ア
ドレス−物理アドレス変換情報を格納するタイプであっ
て、電源投入後の立ち上げ時間が短くて済む、優れた半
導体メモリ装置及びその制御方法を提供することにあ
る。
【0028】本発明の更なる目的は、不揮発性の半導体
メモリの外に置かれた揮発性のワーク・メモリに論理ア
ドレス−物理アドレス変換情報を格納するタイプであっ
て、ワーク・メモリの記憶保持動作に伴う電力消費を抑
えた、優れた半導体メモリ装置及びその制御方法を提供
することにある。
【0029】
【課題を解決するための手段】第1の側面: 本発明は、上記課題を参酌してなされたも
のであり、その第1の側面は、上位コンピュータ・シス
テムと接続して用いられ、一定のセクタ単位でアドレス
可能なタイプの半導体メモリ装置において、(a)電気
的に書き込みが可能な不揮発性メモリからなるデータ記
憶部と、(b)前記上位コンピュータ・システムと接続
して、アクセス要求を受け取るためのインターフェース
部と、(c)揮発性のワーク・メモリと、(d)前記上
位コンピュータ・システムからアクセス要求が起こった
ことに応答して、前記上位コンピュータ・システムから
指定される論理セクタ・アドレスから前記データ記憶部
の物理メモリ空間上の物理セクタ・アドレスに変換する
ためのテーブルを、前記データ記憶部のメモリ空間のう
ち指定されたセクタ・アドレスが属する一部の領域につ
いてのみ作成するための、テーブル作成手段と、(e)
前記テーブルを参照して、該当する物理セクタ・アドレ
スを取得するためのアクセス制御手段と、(f)取得し
た物理セクタ・アドレスに従って前記データ記憶部にア
クセスするためのデータ・アクセス手段と、を具備する
ことを特徴とする半導体メモリ装置である。
【0030】第2の側面:また、本発明の第2の側面
は、上位コンピュータ・システムと接続して用いられ、
一定のセクタ単位でアドレス可能な半導体メモリ装置に
おいて、(a)電気的に書き込みが可能な不揮発性メモ
リからなるデータ記憶部と、(b)前記上位コンピュー
タ・システムと接続して、アクセス要求を受け取るため
のインターフェース部と、(c)揮発性のワーク・メモ
リと、(d)セクタを複数個集めてなるページ単位で、
前記上位コンピュータ・システムからアクセス時に指定
される論理セクタ・アドレスを前記データ記憶部の物理
メモリ空間上の物理セクタ・アドレスに変換するための
第1のテーブルを、前記ワーク・メモリ上に作成するた
めの第1のテーブル作成手段と、(e)ページを複数個
集めてなるユニット単位で、前記上位コンピュータ・シ
ステムによって指定される論理メモリ空間上の論理ペー
ジ番号を前記データ記憶部の物理メモリ空間上の物理ペ
ージ番号に変換するための第2のテーブルを、前記ワー
ク・メモリ上に作成するための第2のテーブル作成手段
と、(f)前記上位コンピュータ・システムからアクセ
ス要求が起こったことに応答して、指定された論理セク
タ・アドレスが属するユニットについての第2のテーブ
ルを参照して、該当する物理ページ番号を取得するため
の第2のアクセス制御手段と、(g)前記上位コンピュ
ータ・システムからアクセス要求が起こったことに応答
して、指定された論理セクタ・アドレスが属する物理ペ
ージについての第1のテーブルを参照して、該当する物
理セクタ・アドレスを取得するための第1のアクセス制
御手段と、(h)取得した物理セクタ・アドレスに従っ
て前記データ記憶部にアクセスするためのデータ・アク
セス手段と、を具備することを特徴とする半導体メモリ
装置である。
【0031】ここで、第2の側面において、前記第1の
テーブル作成手段は、各ユニットの同一ページ・オフセ
ット毎に1つの第1のテーブル記憶領域を用意すること
によって、各ユニットの同一オフセットのページ間で同
一のテーブル記憶領域を共有させる手段を含んでもよ
い。この結果、ワーク・メモリ中の第1のテーブルのた
めの記憶容量は、ユニット内のページ・オフセットの個
数分だけで済む。したがって、メモリ空間全体について
の論理セクタ・アドレス−物理セクタ・アドレス変換テ
ーブルを用意する場合に比し、ワーク・メモリのサイズ
を大幅に節約することができる。
【0032】また、第2の側面において、前記第1のア
クセス制御手段は、さらに、前記コンピュータ・システ
ムによって指定された論理セクタ・アドレスが属するペ
ージについての第1のテーブルが前記ワーク・メモリ中
に存在するかどうかを判断する手段と、該判断結果が否
定的であれば、該当するページについての第1のテーブ
ルの作成を前記第1のテーブル作成手段に対して要求す
る手段とを含んでもよい。
【0033】ワーク・メモリは揮発性のため、半導体メ
モリ装置の立ち上げ時には第1のテーブルは全く用意さ
れていない。また、1つの第1のテーブル記憶領域は、
各ユニットの同一ページ・オフセットを持つページ間で
共用される。このため、ワーク・メモリ中の該当する第
1のテーブル記憶領域には、所望の第1のテーブルが未
だ用意されていないこともある。このような場合、前記
第1のアクセス制御手段は、前記第1のテーブル作成手
段をコールして、該当する第1のテーブルを作成しても
らえばよい訳である。
【0034】また、第1のテーブルは他のページと共用
された所定領域に作成される(すなわち、他のテーブル
が存在する場合には上書きされる)ため、前記第1のテ
ーブル作成手段のコールは付加的な記憶領域を必要とし
ない。
【0035】また、第1のテーブルは、電源投入直後の
立ち上げ動作時ではなく、上位コンピュータ・システム
からのアクセス要求に応答して作成される。このため、
立ち上げ時間は短くて済む。
【0036】また、第2の側面において、前記第2のテ
ーブル作成手段は、各ユニット毎に1つの第2のテーブ
ル記憶領域を用意する手段を含んでもよい。
【0037】また、第2の側面において、前記第2のア
クセス制御手段は、前記コンピュータ・システムによっ
て指定された論理セクタ・アドレスが属するユニット番
号及びユニット内の論理ページ・オフセットを計算する
ための手段を含んでもよい。具体的な計算方法について
は[発明の実施の形態]のB項を参照されたい。
【0038】また、第2の側面において、前記第2のア
クセス制御手段は、さらに、前記コンピュータ・システ
ムによって指定された論理セクタ・アドレスが属するユ
ニットについての第2のテーブルが前記ワーク・メモリ
中に存在するかどうかを判断する手段と、該判断結果が
否定的であれば、該当するユニットについての第2のテ
ーブルの作成を前記第2のテーブル作成手段に対して要
求する手段とを含んでもよい。
【0039】ワーク・メモリは揮発性のため、半導体メ
モリ装置の立ち上げ時には、第2のテーブルは全く用意
されていない。したがって、上位コンピュータ・システ
ムからのアクセス時に、該当する第2のテーブルが存在
しなければ、前記第2のテーブル作成手段をコールし
て、該当する第2のテーブルを作成してもらえばよい訳
である。また、第2のテーブルは、各ユニット毎に用意
されるが、同じテーブル記憶領域を他のユニットと共有
して用いない。このため、一旦作成された第2のテーブ
ルは、ワーク・メモリ中に常駐し、次のアクセス時にも
利用される。
【0040】第3の側面:また、本発明の第3の側面
は、電気的に書き込みが可能な不揮発性メモリからなる
データ記憶部と、上位コンピュータ・システムからアク
セス要求を受け取るためのインターフェース部と、揮発
性のワーク・メモリとを含む、一定のセクタ単位でアド
レス可能なタイプの半導体メモリ装置のための制御方法
において、(a)前記上位コンピュータ・システムから
アクセス要求が起こったことに応答して、前記上位コン
ピュータ・システムから指定される論理セクタ・アドレ
スから前記データ記憶部の物理メモリ空間上の物理セク
タ・アドレスに変換するためのテーブルを、前記データ
記憶部のメモリ空間のうち指定されたセクタ・アドレス
が属する一部の領域についてのみ作成するための、テー
ブル作成段階と、(b)前記テーブルを参照して、該当
する物理セクタ・アドレスを取得するためのアクセス制
御段階と、(c)取得した物理セクタ・アドレスに従っ
て前記データ記憶部にアクセスするためのデータ・アク
セス段階と、を具備することを特徴とする半導体メモリ
装置のための制御方法である。
【0041】第4の側面:また、本発明の第4の側面
は、電気的に書き込みが可能な不揮発性メモリからなる
データ記憶部と、上位コンピュータ・システムからアク
セス要求を受け取るためのインターフェース部と、揮発
性のワーク・メモリとを含む、一定のセクタ単位でアド
レス可能なタイプの半導体メモリ装置のための制御方法
において、(a)前記上位コンピュータ・システムから
アクセス要求が起こったことに応答して、セクタを複数
個集めてなるページ単位で、前記上位コンピュータ・シ
ステムからアクセス時に指定される論理セクタ・アドレ
スを前記データ記憶部の物理メモリ空間上の物理セクタ
・アドレスに変換するための第1のテーブルを、前記ワ
ーク・メモリ上に作成する段階と、(b)前記上位コン
ピュータ・システムからアクセス要求が起こったことに
応答して、ページを複数個集めてなるユニット単位で、
前記上位コンピュータ・システムからアクセス時に指定
される論理セクタ・アドレスが属する論理ページ番号を
前記データ記憶部の物理メモリ空間上の物理ページ番号
に変換するための第2のテーブルを、前記ワーク・メモ
リ上に作成する段階と、(c)前記上位コンピュータ・
システムからアクセス要求が起こったことに応答して、
指定された論理セクタ・アドレスが属するユニットにつ
いての第2のテーブルを参照して、該当する物理ページ
番号を取得する段階と、(d)前記上位コンピュータ・
システムからアクセス要求が起こったことに応答して、
指定された論理セクタ・アドレスが属する物理ページに
ついての第1のテーブルを参照して、該当する物理セク
タ・アドレスを取得する段階と、(e)取得した物理セ
クタ・アドレスに従って前記データ記憶部にアクセスす
る段階と、を具備することを特徴とする半導体メモリ装
置のための制御方法である。
【0042】ここで、第4の側面において、前記(a)
段階では、各ユニットの同一ページ・オフセット毎に1
つの第1のテーブル記憶領域を用意することによって、
各ユニットの同一オフセットのページ間で同一のテーブ
ル記憶領域を共有させてもよい。この結果、ワーク・メ
モリ中の第1のテーブルのための記憶容量は、ユニット
内のページ・オフセットの個数分だけで済む。したがっ
て、メモリ空間全体についての論理セクタ・アドレス−
物理セクタ・アドレス変換テーブルを用意する場合に比
し、ワーク・メモリのサイズを大幅に節約することがで
きる。
【0043】また、第4の側面において、前記(d)段
階は、さらに、前記コンピュータ・システムによって指
定された論理セクタ・アドレスが属するページについて
の第1のテーブルが前記ワーク・メモリ中に存在するか
どうかを判断する段階と、該判断結果が否定的であれ
ば、前記(a)段階にジャンプして、該当するページに
ついての第1のテーブルを作成する段階と、を含んでも
よい。
【0044】ワーク・メモリは揮発性のため、半導体メ
モリ装置の立ち上げ時には第1のテーブルは全く用意さ
れていない。また、1つの第1のテーブル記憶領域は、
各ユニットの同一ページ・オフセットを持つページ間で
共用される。このため、ワーク・メモリ中の該当する第
1のテーブル記憶領域には、所望の第1のテーブルが未
だ用意されていないこともある。このような場合、第1
の前記(a)段階をコールして、該当する第1のテーブ
ルを作成してもらえばよい。
【0045】また、第1のテーブルは所定の共用された
領域に作成される(すなわち、他のテーブルが存在する
場合には上書きされる)ため、前記(a)段階のコール
は付加的な記憶領域を必要としない。
【0046】また、第1のテーブルは、電源投入直後の
立ち上げ動作時ではなく、上位コンピュータ・システム
からのアクセス要求に応答して作成される。このため、
立ち上げ時間は短くて済む。
【0047】また、第4の側面において、前記(b)段
階では、各ユニット毎に1つの第2のテーブル記憶領域
を用意してもよい。具体的な計算方法については[発明
の実施の形態]のB項を参照されたい。
【0048】また、第4の側面において、前記第2のア
クセス制御手段は、前記コンピュータ・システムによっ
て指定された論理セクタ・アドレスが属するユニット番
号及びユニット内の論理ページ・オフセットを計算する
ための段階を含んでもよい。
【0049】また、第4の側面において、前記(c)段
階は、さらに、前記コンピュータ・システムによって指
定された論理セクタ・アドレスが属するユニットについ
ての第2のテーブルが前記ワーク・メモリ中に存在する
かどうかを判断する段階と、該判断結果が否定的であれ
ば、前記(b)段階にジャンプして、該当するユニット
についての第2のテーブルを作成する段階とを含んでも
よい。
【0050】ワーク・メモリは揮発性のため、半導体メ
モリ装置の立ち上げ時には、第2のテーブルは全く用意
されていない。したがって、上位コンピュータ・システ
ムからのアクセス時に、該当する第2のテーブルが存在
しなければ、前記第2のテーブル作成手段をコールし
て、該当する第2のテーブルを作成してもらえばよい訳
である。第2のテーブルは、各ユニット毎に用意される
が、同じテーブル記憶領域を他のユニットと共有して用
いない。このため、一旦作成された第2のテーブルは、
ワーク・メモリ中に常駐し、次のアクセス時にも利用さ
れる。
【0051】
【作用】本発明に係る半導体メモリ装置及びその制御方
法によれば、上位コンピュータ・システムからアクセス
時に指定される論理セクタ・アドレスをデータ記憶部の
物理メモリ空間上の物理セクタ・アドレスに変換するた
めのテーブルを、該メモリ空間全体に亙って作成するこ
とはない。論理アドレス−物理アドレス変換テーブル
は、複数個のセクタの集合であるページ単位で作成する
とともに、該テーブルのための記憶領域は、複数のペー
ジ間で共用される。すなわち、現在のアクセス先に該当
するページに関する変換テーブルは、不要となった変換
テーブルの記憶領域上に上書きして利用される。したが
って、変換テーブルを用意するために必要な記憶容量を
大幅に削減することができ、ひいてはワーク・メモリを
小型化することができる。
【0052】論理アドレス−物理アドレス変換テーブル
は、より具体的には、複数のセクタの集合であるページ
単位で作成され、セクタ・アドレスを変換するための第
1のテーブルと、複数のページの集合であるユニット単
位で作成され、ユニット内のページ・オフセットを変換
するための第2のテーブルとで構成される。これら第1
のテーブル、及び第2のテーブルは、半導体メモリ装置
を立ち上げた時に全て作成するのではなく、上位コンピ
ュータ・システムからのアクセスに応答して、適宜該当
する範囲についてのみ作成するようになっている。した
がって、本発明に係る半導体メモリ装置の立ち上げ動作
時間は、立ち上げ時にメモリ空間全体に亙って変換テー
ブルを作成する従来の装置に比し、はるかに短くて済
む。なお、第1のテーブル、及び第2のテーブルは、
[発明の実施の形態]の項における「セクタ・ロケーシ
ョン・テーブル(SLT)」及び「ユニット情報テーブ
ル(UIT)」にそれぞれ該当する。
【0053】また、揮発性のワーク・メモリのサイズを
小型化できる結果として、その記憶保持動作に要する消
費電力を小さくすることもできる。
【0054】本発明のさらに他の目的、特徴や利点は、
後述する本発明の実施例や添付する図面に基づくより詳
細な説明によって明らかになるであろう。
【0055】
【発明の実施の形態】以下、図面を参照しながら本発明
の実施例を詳解する。
【0056】A.半導体メモリ装置のハードウェア構成 図1には、本発明を好適に実施することができる半導体
メモリ装置100のハードウェア構成を概略的に示して
いる。該装置100は、例えば、上位コンピュータ・シ
ステム(図示しない)に外付けされる外部記憶装置の1
つとして位置付けられている。
【0057】同図に示すように、半導体メモリ装置10
0は、マイクロプロセッサ10と、インターフェース回
路20と、バッファ・メモリ30と、ワーク・メモリ4
0と、フラッシュ・メモリ50と、メモリ・コントロー
ラ60と、内部バス70とで構成される。
【0058】内部バス70は、装置100内の各部を相
互接続させるための共通信号伝送路であり、アドレス・
バス、データ・バス、コントロール・バスなどで構成さ
れる。
【0059】インターフェース回路20は、上位コンピ
ュータ・システムとのインターフェース・プロトコルを
実現するための回路であり、実行する処理(例えば書き
込みアクセスか読み出しアクセスか)を指定するための
コマンド・レジスタ、データ・アクセスのための論理ア
ドレス(論理セクタ・アドレス)を設定するためのアド
レス・レジスタ、データの書き込み/読み出しを行うた
めのデータ・レジスタ、装置100内での処理の実行結
果を上位コンピュータ・システムに通知するためのステ
ータス・レジスタなど、各種レジスタ(図示しない)を
含んでいる。インターフェース回路20は、IDE(In
tegrated Drive Electronics)又はPCMCIA AT
A仕様に準拠しており、上位コンピュータ・システム側
に装備されたバス(システム・バスとしてのISA1)
ス、又はPCMCIAバス/CardBus:図示しな
い)と相互接続している。上位コンピュータシステム
は、例えばI/Oアクセスなどによって、インターフェ
ース回路20内の各レジスタにアクセスすることができ
る。
【0060】マイクロプロセッサ10は、装置100全
体の動作(フラッシュ・メモリ50への書き込み/読み
出し動作を含む)を制御するための中央コントローラで
あり、内蔵ROM(図示しない)又はフラッシュ・メモ
リ50内の特定領域に格納されたプログラム・コードに
従って動作するようになっている。例えば上位コンピュ
ータ・システムから装置100に対してアクセス要求が
発行された場合、マイクロプロセッサ10は、インター
フェース回路20内の各レジスタの内容を読むことによ
って、コマンドの内容やアクセス先の論理アドレスを取
得するとともに、ワーク・メモリ40内の論理アドレス
−物理アドレス変換情報に従って物理アドレスを取得し
て、フラッシュ・メモリ50への物理的なアクセスを行
うようになっている。[特許請求の範囲]の欄でクレー
ム発明の構成要素の多くは、このマイクロプロセッサ1
0がプログラム・コードを実行するという形態で提供さ
れるが、詳細は後続のD項を参照されたい。
【0061】ワーク・メモリ40は、DRAMなどの揮
発性メモリで構成され、主にマイクロプロセッサ10の
作業領域として用いられる。ワーク・メモリ40には、
上位コンピュータ・システムから指定された論理アドレ
スをフラッシュ・メモリ50における物理メモリ空間上
の実際のアドレスである物理アドレスに変換するための
論理アドレス−物理アドレス変換情報が格納される。本
実施例では、論理アドレス−物理アドレス変換情報は、
ユニット情報テーブル(UIT:Unit Information Tab
le)とセクタ・ロケーション・テーブル(SLT)とい
う2種類のテーブルを用いて管理されるようになってい
る。ワーク・メモリ40は揮発性であり、装置100の
パワー・オン・リセット後には記憶内容は存在しない。
論理アドレス−物理アドレス変換情報は、上位コンピュ
ータ・システムからのアクセス要求に応答して、適宜作
成されるようになっている。ユニット情報テーブルとセ
クタ・ロケーション・テーブルの詳細な構造については
C項を、その作成手順についてはD項を、それぞれ参照
されたい。
【0062】バッファ・メモリ30は、上位コンピュー
タ・システムとフラッシュ・メモリ50との間で転送さ
れるデータを一時格納するためのものである。
【0063】メモリ・コントローラ60は、物理アドレ
スに基づいたフラッシュ・メモリ50へのアクセス動作
を可能ならしめるための専用コントローラである。
【0064】フラッシュ・メモリ50は、ファイルやデ
ータを格納するための、半導体メモリ装置100中の記
憶媒体の実体である。。フラッシュ・メモリ50は、例
えば1個当り32Mビットのメモリ・モジュールで構成
される。すなわち、32MBのフラッシュ・メモリは8
個のメモリ・モジュール群で構成され、64MBのフラ
ッシュ・メモリは16個のメモリ・モジュール群で構成
される。通常、半導体メモリ装置100の記憶容量を言
うときには、フラッシュ・メモリ50の記憶容量のこと
を意味し、バッファ・メモリ30やワーク・メモリ40
のそれを含まない。また、装置100のメモリ空間を言
うときは、フラッシュ・メモリ50のメモリ空間のみを
意味し、バッファ・メモリ30やワーク・メモリ40の
それを含まない。以下、本実施例では、装置100のメ
モリ容量は64MBとして説明することにする。
【0065】半導体メモリ装置100は、例えばPCM
CIA/JEIDA2)が策定した電気的・機械的仕様に
準拠したPCカード・タイプのものでもよい。また、半
導体メモリ装置100を装着可能な上位コンピュータ・
システムの例としては、日本アイ・ビー・エム(株)が
市販する"IBM ThinkPad 760C/CD"
("ThinkPad"は米IBM社の商標)や"IBM
PC750"などが挙げられよう。
【0066】《注釈》 1)ISA…Industry Standard Architecture。 2)PCMCIA…PCメモリ・カード国際協会(Pers
onal Computer Memory Card International Associatio
n)。 JEIDA…日本電子工業振興協会(japanElectronic
Industry Development Association)。
【0067】B.半導体メモリの構成 物理メモリ空間: 図2には、半導体メモリ装置100の
物理的なメモリ空間の構造を模式的に示している。この
物理メモリ空間は、フラッシュ・メモリ50の記憶領域
を1次元的に表現したものであり、物理的な位置関係は
これと一義的に対応する。
【0068】この物理メモリ空間は、まず、「ユニッ
ト」という単位に分けられる。1ユニットは約1MBか
らなるので、フラッシュ・メモリ50の記憶容量が64
MBであれば、そのメモリ空間は64ユニットで構成さ
れることになる。同図に示すように、各ユニットには、
物理メモリ空間上の先頭ユニットから順に、#0から#
63までのユニット番号が連続的に割り振られている。
【0069】各ユニットは、64個の物理ページで構成
される。各物理ページには、ユニットの先頭ページから
順に、#0から#63までの物理ページ・オフセットが
連続的に割り振られている。本実施例では、物理ページ
単位で消去動作を行うようになっている。
【0070】さらに、各物理ページは、32個の物理セ
クタで構成される。各物理セクタには、物理メモリ空間
上の先頭セクタから順に、物理セクタ・アドレスが連続
的に割り振られている。1つの物理セクタは、528バ
イトのサイズを持っている。また、各ページの先頭セク
タから順に、#0から#31までの各物理セクタに対し
て物理セクタ・オフセットが連続的に割り振られてい
る。
【0071】各物理ページの先頭セクタ、すなわち第0
物理セクタは、ページの管理情報を格納するための「ペ
ージ制御セクタ」として用いられ、ファイルやデータの
書き込みには利用できない。ページ制御セクタには、そ
の物理ページを現在使用している論理ページのページ番
号(後述)や、順序番号3)、その他の制御情報4)が書き
込まれる。
【0072】また、物理ページ内の残りの第1〜第31
物理セクタは、ファイルやデータを格納するための「デ
ータ・セクタ」として用いられる。各データ・セクタ
は、6バイト長のヘッダ部と、512バイト長のデータ
部と、10バイト長のECC部という3個のフィールド
で構成される。ヘッダ部には、この物理セクタを現在使
用している論理セクタのアドレスの他、CRC(cyclic
Redunduncy Chech)コードが書き込まれる。データ部
には、アクセス対象となるデータの実体が書き込まれ
る。ECC部にはエラー訂正コード(ErrorCorrection
Code)が書き込まれる。
【0073】要するに、本実施例では、セクタというア
ドレスの最小単位だけでなく、ユニットというグルー
プ、及びページというサブ・グループにまとめることに
よって、メモリ空間を管理している訳である。このよう
な階層的構造を採ることによって、各物理セクタを絶対
的な物理セクタ・アドレスによって指定できる他、ユニ
ット番号と、ユニット内の物理ページ・オフセット、物
理ペーシ内のセクタ・オフセットによって相対的に指定
することもできる。
【0074】なお、ユニット、ページ、セクタ、という
メモリ空間の階層化方法や、ユニット・サイズ、ページ
・サイズ、セクタ・サイズは、本実施例の設計事項に過
ぎず、本発明の要旨を直接的に限定するものではない。
メモリ空間を他の様式で階層化した場合や、各階層の物
理サイズが異なる場合であっても、本発明を好適に実現
できる点を理解されたい。
【0075】《注釈》 3)順序番号とは、ある論理ページが同時に2個以上の
物理ページを使用している場合において、物理ページ中
にデータが書き込まれた順序(すなわち物理ページ中の
データの新しさ)を識別するための番号であり、大きな
順序番号はデータが新しいことを意味する。なお、論理
ページが同時に2個以上の物理ページを使用することを
認める理由は、書き込み動作の度に不要ページの消去を
行う必要をなくし、以てパフォーマンスを向上させるた
めである。例えば米IBM社が市販する半導体メモリ装
置"IBM Solid State File"は、1
つの論理ページが同時に2個の物理ページを使用するこ
とを許している。但し、2個の物理ページの同時使用
は、本発明の要旨と直接関連しないので、これ以上の説
明はしない。 4)ページ制御セクタに書き込まれるその他の制御情報
には、消去回数や、不良セクタ情報が含まれる。消去回
数は、各物理セクタの寿命を均一化するために用いられ
る。また、不良セクタ情報は、物理ページ内の不良セク
タを特定するために用いられる。
【0076】論理メモリ空間:一方、図3には、半導体
メモリ装置100の論理的なメモリ空間の構造を模式的
に示している。
【0077】この論理メモリ空間上では、先頭セクタか
ら順に、絶対的な論理セクタ・アドレスが連続的に割り
当てられている。上位コンピュータ・システムは、論理
セクタ・アドレスによって物理メモリ上のアクセス先を
指定することができる。
【0078】論理メモリ空間は、先頭より31個の論理
セクタ毎に、論理ページとして分割される。論理ページ
のセクタ・サイズが物理ページのそれよりも1セクタだ
け少ないのは、データの格納に利用できないページ制御
セクタ(前述)を除いたためである。
【0079】各論理ページには、論理メモリ空間上の先
頭ページから順に与えられる絶対論理ページ番号(図3
中、括弧で囲まれた番号)以外に、ユニット番号と、ユ
ニット内での論理ページ・オフセットが割り振られる
(割り振り方法については次パラグラフ参照のこと。そ
の効用については次々パラグラフ参照のこと。)。な
お、本明細書で言うユニットとは、物理メモリ空間上の
「ユニット」と一義であり、「物理ユニット」や「論理
ユニット」という区別はない。各ユニットに割り振られ
た物理ページの組や論理ページの組は固定的であり、使
用中にユニット間でページを入れ替えることはない。書
き込み動作のときなどに、論理ページは使用する物理ペ
ージをユニット内で変更することはあるが、他のユニッ
トの物理ページを使用することは禁止されている。
【0080】本実施例では、各論理ページは、論理メモ
リ空間上の先頭ページから順に、1ページ毎に各ユニッ
トに配られる。すなわち、まず、先頭の論理ページより
順に、ユニット#0,ユニット#1,ユニット#2…と
いう具合に、各ユニット内の先頭ページに順次割り当て
られる。そして、第63番目の論理ページが最後のユニ
ット#63の先頭ページ#0に割り当てられると、再
び、第64番目のページから順に、ユニット#0,ユニ
ット#1,ユニット#2…という具合に、各ユニット内
のページ#1に順次割り当てられる。図4には、それぞ
れのユニットに各論理ページをマッピングした様子を模
式的に示している。図示のように、ユニット#iには、
絶対論理ページ番号が(i−1),(i−1)+64,
(i−1)+64×2,…,(i−1)+64×61と
いう、合計62個の論理ページが割り振られることにな
る(但し、iは0〜63の整数)。なお、ユニット内の
論理ページ数が物理ページ数よりも2個だけ少ないの
は、最大2つの論理ページが同時に2つの物理ページを
使用することを許すためである。但し、2以上の物理ペ
ージの同時使用は、本発明の要旨と直接関連しないの
で、これ以上の説明はしない。
【0081】上位コンピュータ・システムでは、ファイ
ルやデータの入出力は、例えば、オペレーティング・シ
ステム(OS)内のファイル・システム(FS)によっ
て制御される。FSに依れば、一般に、アプリケーショ
ンによるアクセス先が局所に集中する傾向にある。一
方、フラッシュ・メモリの各物理セクタの寿命は消去回
数で決まるので、特定領域にアクセスが集中するような
使用方法は効率的でない。図3及び図4に示すような論
理ページのマッピング方法によれば、論理メモリ空間上
は絶対論理ページ番号順に連続的に配列している各論理
ページを別々のユニットに割り振ることができる。この
結果、論理メモリ空間上は連続的に存在する論理ページ
が、物理メモリ空間上(すなわちフラッシュ・メモリ上
の実際の格納位置)は離散して存在することになる。例
えば絶対論理ページ番号がそれぞれ#0と#1の各論理
ページは、論理メモリ空間上は隣同士であるが、前者は
ユニット#0にマッピングされ、後者はユニット#1に
マッピングされており、必然的に物理メモリ空間上は隔
てられている。すなわち、FSが意識しなくても、フラ
ッシュ・メモリの物理メモリ空間を、均一且つ効率的
に、使用することができるのである。
【0082】図3及び図4に示すような様式で論理メモ
リ空間をマッピングした場合、ある論理セクタ・アドレ
スに対応するユニット番号やユニット内の論理ページ・
オフセットは、次のようにして計算することができる。
すなわち、論理セクタ・アドレスを31で割ったときの
商が絶対論理ページ番号に該当し、その余りがページ内
の論理セクタ・オフセットである(但し、31は、論理
ページのセクタ・サイズ)。また、求まった絶対論理ペ
ージ番号をユニット数(本実施例では64)で割ったと
きの商が論理ページ・オフセットであり、その余りがユ
ニット番号となる。例えば、絶対論理セクタ・アドレス
#61は、61を31で割った商1が絶対論理ページ番
号、その余り30が論理セクタ・オフセットであり、商
1をさらにユニット数64で割った商0が論理ページ・
オフセット、その余り1がユニット番号となる。また、
論理セクタ・アドレス#10000は、10000を3
1で割った商322が絶対論理ページ番号、その余り1
8が論理セクタ・オフセットであり、商322をさらに
ユニット数64で割った商5が論理ページ・オフセッ
ト、その余り2がユニット番号となる。
【0083】C.半導体メモリのアクセス管理 ワーク・メモリ40には、上位コンピュータ・システム
がアクセス先を指定するための論理アドレスをフラッシ
ュ・メモリ50におけるメモリ上の実際のアドレスであ
る物理アドレスに変換するための論理アドレス−物理ア
ドレス変換情報が格納される。本実施例では、論理アド
レス−物理アドレス変換情報は、ユニット情報テーブル
と、セクタ・ロケーション・テーブル(SLT)という
2種類のテーブルを用いて管理されるようになってい
る。
【0084】但し、ワーク・メモリ40は揮発性メモリ
であり(前述)、ワーク・メモリ40中のUITやSL
Tは一時的に格納されているに過ぎない。半導体メモリ
装置100のパワー・オフとともに、テーブルの内容は
失われてしまう。このため、本実施例では、UITやS
LTは、半導体メモリ装置100をパワー・オン・リセ
ットした後でフラッシュ・メモリ50へのアクセス要求
などのために必要となったときに、適宜作成されるよう
になっている。以下、UIT及びSLTのデータ構造に
ついて説明する。UITとSLTの作成手順の詳細につ
いては、後続のD項を参照されたい。
【0085】ユニット情報テーブル:ユニット情報テー
ブル(UIT)は、ユニット単位でアドレス変換情報を
概略的に管理するためのものであり、ワーク・メモリ4
0にはユニットの個数分だけUITが用意される。図5
には、ワーク・メモリ40中のUIT記憶領域、及びそ
の内部構成を模式的に示している。
【0086】1つのUITは、ユニット管理情報と、論
理ページ情報と、物理ページ情報とで構成される。
【0087】ユニット管理情報とは、ユニットを構成す
る各論理ページと物理ページとの対応表が既に作成され
ているか(すなわち、論理ページ情報内の各エントリに
物理ページが書き込まれているか:後述)を示すための
フラグで構成される。対応するページについての論理ペ
ージ/物理ページ対応表が既に作成されていれば、該フ
ラグはセットされる。本実施例では、「論理ページ/物
理ページ対応表」は、論理ページ情報テーブル(次パラ
グラフ参照)の一部として与えられる。該テーブルの各
エントリに、各論理ページが現在使用中の物理ページ番
号が書き込まれているときには、対応表が作成されてい
るとみなされる。
【0088】論理ページ情報とは、ユニット内の各論理
ページを管理するためのテーブルである。論理ページ情
報は、ユニット内の論理ページの個数分、すなわち62
個のエントリで構成され、ユニット内の各論理ページに
対して各1個のエントリが割り当てられる。各エントリ
は、SLTフラグと、物理ページ・フィールドで構成さ
れる。
【0089】SLTフラグは、エントリに対応する論理
ページのSLTが、ワーク・メモリ40中に現在用意さ
れているかどうかを示すために用いられる。すなわち、
現在SLT記憶領域を使用中の論理ページについてはS
LTフラグがセットされ、SLT記憶領域の使用を他の
ユニットの同一ページ・オフセットの論理ページに譲っ
たときにはSLTフラグがリセットされる。
【0090】物理ページ・フィールドは、エントリに対
応する論理ページが現在使用中の物理ページの物理ペー
ジ・オフセットを書き込むためのフィールドである。論
理ページが同時に2個の物理ページを使用することを許
す場合には、同図のように、物理ページ・フィールドを
2個(物理ページAフィールド、及び物理ページBフィ
ールド)だけ設ければよい。
【0091】なお、論理ページ情報テーブルにおいて、
論理ページ・オフセットの順にエントリを割り当てるよ
うにすれば、各エントリの先頭の論理ページ・オフセッ
トを書き込むためのフィールドを省略することが可能で
ある。
【0092】物理ページ情報とは、ユニット内の各物理
ページを管理するためのテーブルである。物理ページ情
報は、ユニット内の物理ページの個数分、すなわち64
個のエントリで構成され、ユニット内の各物理ページに
対して各1個のエントリが割り当てられている。各エン
トリは、物理ページ中の有効セクタ数(すなわち有効な
データが書き込まれているセクタの数)、空セクタ数
(すなわち現在未使用のセクタの数)、及び順序番号
(前述)の各々を格納するためのフィールドを含んでい
る。なお、各エントリの先頭の物理ページ・オフセット
を書き込むためのフィールドは、物理ページ・オフセッ
トの順にエントリを割り当てることによって、省略可能
である。物理ページ情報は、物理ページの書き込み/消
去動作を行う際に参照されるが、本発明を実現するに当
たっては直接関係しないので、これ以上説明しない。
【0093】セクタ・ロケーション・テーブル:セクタ
・ロケーション・テーブル(SLT)は、論理セクタ・
アドレスから物理セクタ・アドレスに変換するための変
換表である。本実施例では、論理ページ単位で1つのS
LTが作成されるようになっている。また、ワーク・メ
モリ40中の各SLT記憶領域は、各ユニットの同一の
論理ページ・オフセットを持つページの間で共有して使
用される。例えば、第2番目のSLT領域は、各ユニッ
トの論理ページ・オフセット#2にマッピングされたペ
ージの間で共用される。ユニット#2の論理ページ・オ
フセット#2にアクセスが起こったときには、これが第
2番目のSLT領域を使用する。その後、他のユニット
の論理ページ・オフセット#2にアクセスが起こったと
きには、第2番目のSLTの内容を新しい論理ページの
ものに更新してから使用される。この結果、ユニット内
の論理ページの個数に相当する62個分のSLTしか用
意しなくて済む。
【0094】図6には、ワーク・メモリ40中のSLT
記憶領域、及びその内部構成を模式的に示している。図
示の通り、ワーク・メモリ40には、62個のSLTが
用意されている。第n番目のSLT領域は各ユニットの
論理ページ・オフセット#nの論理ページによって共用
される。
【0095】1つのSLTは、論理ページ内の論理セク
タの個数分、すなわち31個のエントリを含んでいる。
同図中のSLTの左フィールドは、論理セクタ・オフセ
ットの順にエントリを割り当てることによって省略可能
である。SLTの右フィールドには、該当する論理セク
タが現在使用中の物理セクタ・アドレスが書き込まれる
ようになっている。
【0096】なお、本実施例では、各ユニットの同一の
論理ページ・オフセットを持つページ間で1つのSLT
領域を共有するようにしたが、SLT領域を共有する単
位はこれに限定する必要は必ずもない。例えば、ユニッ
ト内の各論理ページ間で1つのSLT領域を共有しても
よい。また、論理メモリ空間の全ての論理ページが単一
のSLT領域を共有するようにしてもよい。1つのSL
T領域を共有する論理ページの個数が大きくなれば、そ
れに比例して、SLT領域が占める記憶容量は節約され
る。但し、記憶容量を節約した分だけSLTの内容を更
新する機会が増大するため、アクセス・スピードとはト
レードオフの関係にある。半導体メモリ装置100の設
計者は、このトレードオフに留意してSLT領域の共有
単位を決定すればよい。
【0097】D.半導体メモリ装置へのアクセス・オペ
レーション 前項までで、本発明を具現するための半導体メモリ装置
100のハードウェア構成を説明してきた。本項では、
該装置100の動作とともに本発明の作用について説明
することにする。この項で説明する動作の大部分は、マ
イクロプロセッサ10が内蔵プログラム・コードを実行
するという形態で実現される。
【0098】図7には、上位コンピュータ・システムか
ら半導体メモリ装置100に対してアクセス要求(書き
込みアクセス及び読み出しアクセスの双方を含む)が生
じたときの、半導体メモリ装置100内で行われる概略
的な処理手順を、フローチャート化して示している。
【0099】アクセス動作は、例えば、上位コンピュー
タ・システムが、インターフェース回路20内の各レジ
スタにコマンドとアクセス先を指定する論理セクタ・ア
ドレスを書き込むことによって、開始する。
【0100】マイクロプロセッサ10は、論理セクタ・
アドレスを読み取ると、これに対応するユニット番号や
ユニット内の論理ページ・オフセットを、所定の計算方
式に従って求める(ステップ10)。B項で説明したよ
うなメモリ空間構造を採用している場合、論理セクタ・
アドレスを31で割ったときの商が絶対論理ページ番号
に該当し、その余りがページ内の論理セクタ・オフセッ
トとなる。また、求まった絶対論理ページ番号をさらに
ユニット数(本実施例では64)で割ったときの商が論
理ページ・オフセットであり、その余りがユニット番号
となる。例えば、論理セクタ・アドレス#61は、61
を31で割った商1が絶対論理ページ番号、その余り3
0が論理セクタ・オフセットであり、商1をさらにユニ
ット数64で割った商0が論理ページ・オフセット、そ
の余り1がユニット番号となる。また、論理セクタ・ア
ドレス#10000は、10000を31で割った商3
22が絶対論理ページ番号、その余り18が論理セクタ
・オフセットであり、商322をさらにユニット数64
で割った商5が論理ページ・オフセット、その余り2が
ユニット番号となる。
【0101】次いで、判断ステップS20では、アクセ
ス先となった論理セクタが属するユニットについての論
理ページと物理ページの対応表が既にワーク・メモリ4
0に作成されているかどうかを判断する。該判断は、ワ
ーク・メモリ40中の該当するUITのユニット管理情
報フラグがセットされているかを参照することによって
行われる。例えば、論理セクタ・アドレス#61の場
合、UIT#1のフラグを参照すればよい。該判断ステ
ップの結果が肯定的であれば、そのまま次ステップS3
0に進む。一方、該判断ステップの結果が否定的であれ
ば、「対応表作成ルーチン」にジャンプして、対応表を
作成してから、次ステップS30に進む。対応表作成ル
ーチンの詳細については、後に詳解する。
【0102】次いで、判断ステップS30では、アクセ
ス先となった論理セクタが属する論理ページについての
SLTが既にワーク・メモリ40中に作成されているか
どうかを判断する。該判断は、UIT内の論理ページ情
報テーブルの該当するエントリのSLTフラグを参照す
ることによって行われる。例えば、論理セクタ・アドレ
ス#61の場合、論理ページ・オフセットは#0なの
で、論理ページ情報テーブルのエントリ#0中のSLT
フラグを参照すればよい。該判断ステップの結果が肯定
的であれば、そのまま次ステップS40に進む。一方、
該判断ステップの結果が否定的であれば、「SLT作成
ルーチン」にジャンプして、該当ページのSLTを作成
してから、次ステップS40に進む。SLT作成ルーチ
ンの詳細については、後に詳解する。
【0103】ステップS40では、アクセス先となった
論理セクタが属する論理ページについてのSLTを参照
して、対応する物理セクタ・アドレスを取得する。例え
ば、論理セクタ・アドレス#61の場合、論理ページ・
オフセットは#0で、ページ内のセクタ・オフセットは
#30なので、ワーク・メモリ40中のSLT#0のエ
ントリ#30を参照すれば、物理セクタ・アドレスを取
得することができる。マイクロプロセッサ10は、取得
した物理アドレスに基づいて、メモリ・コントローラ6
0を経由して、フラッシュ・メモリ40中の所望の物理
セクタにアクセスすることができる。そして、セクタ・
データは、バッファ・メモリ30に一旦蓄えられた後に
転送される。
【0104】なお、物理ページ情報やSLTエントリの
取得は、書き込み時も読み出し時も略同一の動作によっ
て行なわれる。但し、要求されたアクセス動作が書き込
みアクセスであり、ある論理ページが使用する物理ペー
ジが変動したとき、あるいは物理ページの消去動作を伴
ったときには、UIT中の論理ページ情報や物理ページ
情報は適宜アップデートされる。
【0105】論理ページ/物理ページ対応表作成ルーチ
ン:前述の判断ステップS20において、該当するユニ
ットについての論理ページと物理ページの対応表が未だ
作成されていないと判断されたときには、このルーチン
にジャンプする。該ルーチンの目的は、アクセス先とな
った論理セクタが属するユニットについての論理ページ
/物理ページ対応表を完成させることにある。
【0106】図8には、該ルーチンの処理手順をフロー
チャート化して示している。
【0107】まず、ステップS100では、変数Nを初
期値0に設定する。Nはユニット中の物理ページ・オフ
セットを意味する。
【0108】ステップS102では、物理ページ・オフ
セット#Nに係る物理ページの先頭セクタであるページ
制御セクタ(前述)にアクセスして、この物理ページを
現在使用中の論理ページの論理ページ・オフセットと、
この物理ページの順序番号を取得する。以下、論理ペー
ジ・オフセットを#nとして説明する。
【0109】次いで、ステップS104では、UIT内
の物理ページ情報テーブルの第Nエントリに順序番号を
書き込む。順序番号は、1つの論理ページが同時に2つ
の物理ページを使用することを許すために用いられてい
る(前述)。
【0110】次いで、判断ステップS106では、論理
ページ情報テーブルのエントリ#nを参照して、この論
理ページが現在使用している物理ページの物理ページ・
オフセットが物理ページAフィールドに登録されている
かどうかを判断する。未だ登録されていなければ、該エ
ントリの物理ページAフィールドに物理ページ・オフセ
ット#Nを書き込んで、登録を行う(ステップS10
8)。
【0111】一方、既に登録済みであれば、物理ページ
Aフィールドに登録済みの物理ページ・オフセットと物
理ページ・オフセット#Nそれぞれの順序番号を大小比
較する(ステップS110)。そして、順序番号の大き
い方の物理ページ・オフセットを物理ページAフィール
ドに、他方の物理ページ・オフセットを物理ページBフ
ィールドに、それぞれ登録する(ステップS112及び
114)。このような操作は、順序番号が大きい物理ペ
ージの方が新しいセクタ・データを含むことを意味する
ので、物理ページAフィールドに登録してアクセスの優
先権を与えるためである。なお、ページ制御セクタから
取得した順序番号は、例えば、物理ページ情報テーブル
の該当するエントリにも書き込まれる。
【0112】ステップS106〜S114の目的は、要
するに、論理ページが現在使用中の物理ページの物理ペ
ージ・オフセットを、論理ページ情報テーブルの対応エ
ントリ中に登録することにある。1つの論理ページが同
時に2つの物理ページを使用することを許さず、したが
って、順序番号を処理する必要のない場合には、ステッ
プS106〜S114は、物理ページ・オフセット#N
を論理ページ情報テーブルのエントリ#nに書き込む、
という単純な処理で置き換えることができる。
【0113】次いで、ステップS116では、変数Nを
1だけインクリメントする。そして、ステップS118
では、Nを64と大小比較する。Nが64未満であれ
ば、ユニット中に未処理の物理ページが残されているこ
とを意味するので、ステップS102に復帰して、上記
と同様の処理を繰り返す。一方、Nが64に到達してい
れば、ユニット中の全ての物理ページを論理ページ情報
テーブル中に登録したことを意味するので、このルーチ
ンを終了させる。
【0114】SLT作成ルーチン:前述の判断ステップ
S30において、該当する論理ページについてのSLT
が存在しないと判断されたときには、このルーチンにジ
ャンプする。該ルーチンの目的は、アクセス先となった
論理セクタが属する論理ページについてのSLT(すな
わち論理アドレス/物理アドレス変換表)を作成するこ
とにある。
【0115】図9には、該ルーチンの処理をフローチャ
ート化して示している。
【0116】本実施例では、1つのSLT記憶領域は、
各ユニットの同一の論理ページ・オフセットを持つペー
ジの間で共有されており、新たにSLTを作成するとき
には、既存のSLTの内容の喪失を伴う。そこで、アク
セス先となった論理ページと同一の論理ページ・オフセ
ットを持つ他のユニットの論理ページについては、SL
T領域の使用が認められていないことを示すべく、他の
UITの論理ページ情報テーブルの対応エントリのSL
Tフラグをリセットする(ステップS200)。また、
SLT作成に係るUITの論理ページについては、論理
ページ情報テーブルの対応エントリのSLTフラグをセ
ットする。
【0117】次いで、ステップS202では、アクセス
先の論理ページが使用するSLT領域を初期化する。
【0118】次いで、判断ステップS204では、アク
セス先の論理ページが現在使用している物理ページが唯
1つかどうかを判断する。該判断は、論理ページ情報テ
ーブル中の該当エントリを参照して、物理ページBフィ
ールドに2番目の物理ページが登録されているかどうか
を調べることによって行われる。
【0119】アクセス先の論理ページが1つの物理ペー
ジしか使用していない場合、ステップS206におい
て、該物理ページについてSLTの作成が行われる。S
LTの作成は、後述の「SLT作成サブ・ルーチン」に
従って行われる。
【0120】一方、アクセス先の論理ページが2つの物
理ページを使用している場合には、まず順序番号の大き
い物理ページについてSLTの作成を行い(ステップS
208)、次いで、順序番号の小さい物理ページについ
てSLTの作成を行う(ステップS210)。順序番号
の大きい順にSLTの作成を行うのは、有効なセクタ・
データを持つ物理セクタに対して優先してSLTのエン
トリを与えるためである。なお、ステップS208及び
S210は、ステップS206と同様のサブ・ルーチン
(後述)に従って行われる。
【0121】なお、1つの論理ページが同時に2つの物
理ページを使用することが許されていない場合には、判
断ステップS204、及びその他方の分岐ステップS2
08,S210は必要がない。
【0122】SLT作成サブ・ルーチン:図10には、
セクタ・ロケーション・テーブル作成のサブ・ルーチン
の処理手順をフローチャート化して示している。
【0123】まず、ステップS300では、変数Mを初
期値31に設定する。Mは物理ページ内の物理セクタ・
オフセットを意味する。Mの初期値として物理ページ内
のセクタ数31を用いることにより、物理ページ内の最
後尾の物理セクタより順にSLTへの登録が行われる。
これは、物理ページ内では先頭の物理セクタ(但し、ペ
ージ制御セクタを除く)より順にデータの書き込みを行
う方式を採用している関係上、物理セクタ・アドレスの
大きい方に有効なデータが存在する、という性質に依拠
するに過ぎない。
【0124】ユニット#K内の物理ページ・オフセット
#Nについて処理をしているのであれば、物理ペーシ内
の物理セクタ・オフセット#Mの物理セクタ・アドレス
は、K×64+N×32+Mとなる。判断ステップS3
02では、この物理セクタが空セクタか、すなわちいず
れかの論理セクタによって使用中かどうかを判断する。
空セクタかどうかは、物理セクタのヘッダ部にアクセス
して、論理セクタ・アドレスが書き込まれているかどう
かによって判別することができる。
【0125】セクタ・オフセットMに係る物理セクタが
空セクタであれば、ステップS304に進んで、この物
理ページの空セクタ数を1だけインクリメントしてか
ら、判断ステップS312に進む。
【0126】一方、セクタ・オフセット#Mに係る物理
セクタが空セクタでない、すなわち、ヘッダ部に論理セ
クタ・アドレスが書き込まれていれば、次いで、判断ス
テップS306に進む。判断ステップS306では、こ
の論理セクタ・アドレスに該当するSLTエントリが空
かどうかを判別する。
【0127】1つの論理セクタに対して同時に2つの物
理セクタの使用を許すような場合には、有効データを持
つ(すなわち、より大きな物理セクタ・アドレスを持
つ)物理セクタが既に登録されていて、SLTエントリ
が空でないという状況が起こり得る。この場合には、判
断ステップS306の分岐NOに進むことによって次ス
テップS308及び次々ステップS310をスキップし
て、SLTエントリへの登録を省略する。
【0128】一方、論理セクタ・アドレスに該当するS
LTエントリが未だ空の場合には、次ステップにおい
て、このSLTエントリに物理ページ内の物理セクタ・
オフセット#Mを登録する。または、物理セクタ・アド
レスの代わりに、物理セクタ・アドレスの絶対値(K×
64+N×32+M)を登録してもよい。絶対的な物理
セクタ・アドレスを登録すれば、アドレス変換がスムー
スになりアクセス・スピードは向上する。但し、オフセ
ットよりも絶対アドレスの方がビット幅が大きいので、
その分だけSLTの容量が増すことになる。
【0129】次いで、ステップS310では、この物理
ページの有効セクタ数を1だけインクリメントする。
【0130】次いで、判断ステップS312では、Mが
0に到達したかどうかを判断する。M=0であれば、物
理ページ中の最後の物理セクタを処理し終えたことを意
味するので、該サブ・ルーチンを終了する。一方、M>
0であれば、未処理の物理セクタが物理ページ中に残っ
ていることを意味するので、Mを1だけデクリメントし
て(ステップS314)、ステップS302に復帰し、
上記と同様の処理を繰り返す。
【0131】なお、このサブ・ルーチンにおける有効セ
クタ数や空セクタ数の通算(ステップS304,S31
0)は、UIT中の物理ページ情報テーブルの該当エン
トリに書き込む目的で行われるものであり、本発明の実
現と直接的に関連するものではない。
【0132】この項では、ユニット情報テーブル(UI
T)やセクタ・ロケーション・テーブル(SLT)は、
必要な箇所だけ作成されるのであり、全ての論理セクタ
についてエントリを持つアドレス変換表を用意しない、
という点に特に留意されたい。また、UITやSLT
は、フラッシュ・メモリ50へのアクセスが起こったと
きなど、必要なときに作成するのであり、半導体メモリ
装置100の立ち上げ時には作成しない、という点に留
意されたい。SLTは、常にメモリ空間上の一部のペー
ジ分しか用意されないことになるが、プログラムの実行
における「局所性の原理(Principle of Locality)」
を考量すれば、SLTの作成のためのオーバーヘッドの
影響は少なく、充分なパフォーマンスを上げることが期
待できる。
【0133】E.本発明によるワーク・メモリの容量節
約効果 この項では、論理アドレス−物理アドレス変換のために
必要な情報のサイズを試算することによって、本発明お
けるワーク・メモリ40の記憶容量の節約効果を考察し
てみる。
【0134】まず、本発明に従った場合、論理アドレス
−物理アドレス変換情報は、ユニット情報テーブル(U
IT)とセクタ・ロケーション・テーブル(SLT)と
いう2種類のテーブルを用いて管理されている。
【0135】UITはメモリ空間上のユニットの総数、
すなわち64個用意される。各UITは、ユニット管理
情報、論理ページ情報、物理ページ情報からなる。ユニ
ット管理情報は単なるフラグに過ぎないので1バイトで
足りる。また、論理ページ情報は、ユニット内の論理ペ
ージの個数、すなわち62個のエントリを持ち、各エン
トリは、SLTフラグと、2つの物理ページ・フィール
ドからなる。ユニット中の物理ページの個数は64個
(すなわち6ビット幅)なので、物理ページ・フィール
ドは1バイトあれば物理ページ・オフセットをアドレス
可能である。また、SLTフラグは、一方の物理ページ
・フィールドの余ったビットを利用すればよい。各エン
トリは2バイトで構成されるので、論理ページ情報には
124(=62エントリ×2倍と)バイトあればよい。
また、物理ページ情報は、ユニット内の物理ページの個
数、すなわち64個のエントリを持ち、各エントリは、
有効セクタ数、空セクタ数、及び順序番号からなる。有
効セクタ数、空セクタ数、及び順序番号はそれぞれ1バ
イト用意されていれば充分であり、各エントリのサイズ
は3バイトとなる。物理ページ情報には、192(=6
4エントリ×3倍と)バイトあればよいことになる。し
たがって、1つのUITのサイズは317(=1+12
4+192)バイトであり、UIT記憶領域全体では、
20,288(=317×64)バイトあればよい。
【0136】また、SLTは、ユニット内の論理ページ
の個数、すなわち62個用意される。各SLTは、ペー
ジ内の論理セクタの個数、すなわち31個のエントリを
持っている。1ページ内のデータ・セクタ数は31個
(すなわち5ビット幅)なので、各SLTエントリは1
バイトあれば物理セクタ・オフセットをアドレス可能で
ある。このため、各SLTのサイズは31バイト(=3
1エントリ×1バイト)であり、SLT領域全体では
1,922(=62×31)バイトあればよい。
【0137】したがって、本実施例で論理アドレス−物
理アドレス変換情報のために必要な記憶容量は、SLT
記憶領域とUIT記憶領域の合計である、22,210
(=20,288+1,922)バイトで充分である。
【0138】一方、[従来の技術]の項で示した従来技
術の場合、論理アドレス−物理アドレス変換情報は、図
12に示すように、全ての論理セクタについてエントリ
を持つ単一のセクタ・ロケーション・テーブル(SL
T)を用意する必要がある。
【0139】SLT中の各エントリのサイズは、物理セ
クタのアドレス・ビット幅以上を要する。例えば物理メ
モリ空間のサイズ、フラッシュ・メモリ50のサイズが
64MBの場合、約130K個のセクタを含むため、ア
ドレス・ビット幅は17ビット以上を要する。マイクロ
プロセッサ10がバイト単位でデータの入出力処理を行
うことを勘案すれば、SLTエントリのサイズは3バイ
ト(=24ビット>17ビット)を要する。論理セクタ
数(=123,008個)分だけSLTを要するため、
SLT全体の必要サイズは、369,024(=12
3,008セクタ×3バイト)バイトになる。
【0140】したがって、本発明によれば、ワーク・メ
モリ40中でアドレス変換情報に要する容量は、約6%
(=22,210/369,024)程度に低減される
ことになる。
【0141】F.追補 以上、特定の実施例を参照しながら、本発明について詳
解してきた。しかしながら、本発明の要旨を逸脱しない
範囲で当業者が該実施例の修正や代用を成し得ることは
自明である。すなわち、例示という形態で本発明を開示
してきたのであり、限定的に解釈されるべきではない。
本発明の要旨を判断するためには、冒頭に記載した特許
請求の範囲の欄を参酌すべきである。
【0142】
【発明の効果】以上詳記したように、本発明によれば、
小容量のワーク・メモリによっても論理アドレス−物理
アドレス変換情報を好適に管理することができる、優れ
た半導体メモリ装置及びその制御方法を提供することが
できる。
【図面の簡単な説明】
【図1】図1は、本発明を好適に実施することができる
半導体メモリ装置100のハードウェア構成を概略的に
示した図である。
【図2】図2は、半導体メモリ装置100の物理的なメ
モリ空間の構造を模式的に示した図である。
【図3】図3は、半導体メモリ装置100の論理的なメ
モリ空間の構造を模式的に示した図である。
【図4】図4は、それぞれのユニットに各論理ページを
マッピングした様子を模式的に示した図である。
【図5】図5は、ワーク・メモリ40中のユニット情報
テーブル(UIT)記憶領域、及びその構成を模式的に
示した図である。
【図6】図6には、ワーク・メモリ40中のセクタ・ロ
ケーション・テーブル(SLT)記憶領域、及びその内
部構成を模式的に示した図である。
【図7】図7は、上位コンピュータ・システムから半導
体メモリ装置100に対してアクセス要求(リード・ア
クセス及びライト・アクセスの双方を含む)が生じたと
きの、半導体メモリ装置100内で行われる処理手順
を、フローチャート化して示した図である。
【図8】図8は、論理ページ情報作成ルーチンの処理手
順をフローチャート化して示した図である。
【図9】図9は、セクタ・ロケーション・テーブル作成
ルーチンの処理手順をフローチャート化して示した図で
ある。
【図10】図10は、セクタ・ロケーション・テーブル
作成のサブ・ルーチンの処理手順をフローチャート化し
て示した図である。
【図11】図11は、フラッシュ・メモリ・タイプの半
導体メモリ装置のデータ構造を模式的に示した図であ
る。
【図12】図12は、位置情報としてのSLT(セクタ
・ロケーション・テーブル)の構造を模式的に示した図
である。
【符号の説明】
10…マイクロプロセッサ、20…インターフェース回
路、30…バッファ・メモリ、40…ワーク・メモリ、
50…フラッシュ・メモリ、60…メモリ・コントロー
ラ、70…内部バス、100…半導体メモリ装置。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 坂上 好功 神奈川県大和市下鶴間1623番地14 日本 アイ・ビー・エム株式会社 大和事業所 内 (56)参考文献 特開 平7−28741(JP,A) 特開 平7−219720(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 3/08 G06F 12/02

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】上位コンピュータ・システムと接続して用
    いられ、一定のセクタ単位でアドレス可能な半導体メモ
    リ装置において、 (a)電気的に書き込みが可能な不揮発性メモリからな
    るデータ記憶部と、 (b)前記上位コンピュータ・システムと接続して、ア
    クセス要求を受け取るためのインターフェース部と、 (c)揮発性のワーク・メモリと、 (d)セクタを複数個集めてなるページ単位で、前記上
    位コンピュータ・システムからアクセス時に指定される
    論理セクタ・アドレスを前記データ記憶部の物理メモリ
    空間上の物理セクタ・アドレスに変換するための第1の
    テーブルを、前記ワーク・メモリ上に作成するための第
    1のテーブル作成手段と、 (e)ページを複数個集めてなるユニット単位で、前記
    上位コンピュータ・システムによって指定される論理メ
    モリ空間上の論理ページ番号を前記データ記憶部の物理
    メモリ空間上の物理ページ番号に変換するための第2の
    テーブルを、前記ワーク・メモリ上に作成するための第
    2のテーブル作成手段と、 (f)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、指定された論理セクタ・
    アドレスが属するユニットについての第2のテーブルを
    参照して、該当する物理ページ番号を取得するための第
    2のアクセス制御手段と、 (g)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、指定された論理セクタ・
    アドレスが属する物理ページについての第1のテーブル
    を参照して、該当する物理セクタ・アドレスを取得する
    ための第1のアクセス制御手段と、 (h)取得した物理セクタ・アドレスに従って前記デー
    タ記憶部にアクセスするためのデータ・アクセス手段
    と、 を具備し、前記第1のテーブル作成手段は、各ユニット
    の同一ページ・オフセット毎に1つの第1のテーブル記
    憶領域を用意することによって、各ユニットの同一オフ
    セットのページ間で同一のテーブル記憶領域を共有させ
    る手段を含む、ことを特徴とする半導体メモリ装置。
  2. 【請求項2】上位コンピュータ・システムと接続して用
    いられ、一定のセクタ単位でアドレス可能な半導体メモ
    リ装置において、 (a)電気的に書き込みが可能な不揮発性メモリからな
    るデータ記憶部と、 (b)前記上位コンピュータ・システムと接続して、ア
    クセス要求を受け取るためのインターフェース部と、 (c)揮発性のワーク・メモリと、 (d)セクタを複数個集めてなるページ単位で、前記上
    位コンピュータ・システムからアクセス時に指定される
    論理セクタ・アドレスを前記データ記憶部の物理メモリ
    空間上の物理セクタ・アドレスに変換するための第1の
    テーブルを、前記ワーク・メモリ上に作成するための第
    1のテーブル作成手段と、 (e)ページを複数個集めてなるユニット単位で、前記
    上位コンピュータ・システムによって指定される論理メ
    モリ空間上の論理ページ番号を前記データ記憶部の物理
    メモリ空間上の物理ページ番号に変換するための第2の
    テーブルを、前記ワーク・メモリ上に作成するための第
    2のテーブル作成手段と、 (f)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、指定された論理セクタ・
    アドレスが属するユニットについての第2のテーブルを
    参照して、該当する物理ページ番号を取得するための第
    2のアクセス制御手段と、 (g)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、指定された論理セクタ・
    アドレスが属する物理ページについての第1のテーブル
    を参照して、該当する物理セクタ・アドレスを取得する
    ための第1のアクセス制御手段と、 (h)取得した物理セクタ・アドレスに従って前記デー
    タ記憶部にアクセスするためのデータ・アクセス手段
    と、 を具備し、前記第1のアクセス制御手段は、さらに、 前記コンピュータ・システムによって指定された論理セ
    クタ・アドレスが属するページについての第1のテーブ
    ルが前記ワーク・メモリ中に存在するかどうかを判断す
    る手段と、 該判断結果が否定的であれば、該当するページについて
    の第1のテーブルの作成を前記第1のテーブル作成手段
    に対して要求する手段と、 を含むことを特徴とする半導体メモリ装置。
  3. 【請求項3】上位コンピュータ・システムと接続して用
    いられ、一定のセクタ単位でアドレス可能な半導体メモ
    リ装置において、 (a)電気的に書き込みが可能な不揮発性メモリからな
    るデータ記憶部と、 (b)前記上位コンピュータ・システムと接続して、ア
    クセス要求を受け取るためのインターフェース部と、 (c)揮発性のワーク・メモリと、 (d)セクタを複数個集めてなるページ単位で、前記上
    位コンピュータ・システムからアクセス時に指定される
    論理セクタ・アドレスを前記データ記憶部の物理メモリ
    空間上の物理セクタ・アドレスに変換するための第1の
    テーブルを、前記ワーク・メモリ上に作成するための第
    1のテーブル作成手段と、 (e)ページを複数個集めてなるユニット単位で、前記
    上位コンピュータ・システムによって指定される論理メ
    モリ空間上の論理ページ番号を前記データ記憶部の物理
    メモリ空間上の物理ページ番号に変換するための第2の
    テーブルを、前記ワーク・メモリ上に作成するための第
    2のテーブル作成手段と、 (f)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、指定された論理セクタ・
    アドレスが属するユニットについての第2のテーブルを
    参照して、該当する物理ページ番号を取得するための第
    2のアクセス制御手段と、 (g)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、指定された論理セクタ・
    アドレスが属する物理ページについての第1のテーブル
    を参照して、該当する物理セクタ・アドレスを取得する
    ための第1のアクセス制御手段と、 (h)取得した物理セクタ・アドレスに従って前記デー
    タ記憶部にアクセスするためのデータ・アクセス手段
    と、 を具備し、前記第2のテーブル作成手段は、各ユニット
    毎に1つの第2のテーブル記憶領域を用意する手段を含
    むことを特徴とする半導体メモリ装置。
  4. 【請求項4】上位コンピュータ・システムと接続して用
    いられ、一定のセクタ単位でアドレス可能な半導体メモ
    リ装置において、 (a)電気的に書き込みが可能な不揮発性メモリからな
    るデータ記憶部と、 (b)前記上位コンピュータ・システムと接続して、ア
    クセス要求を受け取るためのインターフェース部と、 (c)揮発性のワーク・メモリと、 (d)セクタを複数個集めてなるページ単位で、前記上
    位コンピュータ・システムからアクセス時に指定される
    論理セクタ・アドレスを前記データ記憶部の物理メモリ
    空間上の物理セクタ・アドレスに変換するための第1の
    テーブルを、前記ワーク・メモリ上に作成するための第
    1のテーブル作成手段と、 (e)ページを複数個集めてなるユニット単位で、前記
    上位コンピュータ・システムによって指定される論理メ
    モリ空間上の論理ページ番号を前記データ記憶部の物理
    メモリ空間上の物理ページ番号に変換するための第2の
    テーブルを、前記ワーク・メモリ上に作成するための第
    2のテーブル作成手段と、 (f)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、指定された論理セクタ・
    アドレスが属するユニットについての第2のテーブルを
    参照して、該当する物理ページ番号を取得するための第
    2のアクセス制御手段と、 (g)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、指定された論理セクタ・
    アドレスが属する物理ページについての第1のテーブル
    を参照して、該当する物理セクタ・アドレスを取得する
    ための第1のアクセス制御手段と、 (h)取得した物理セクタ・アドレスに従って前記デー
    タ記憶部にアクセスするためのデータ・アクセス手段
    と、 を具備し、前記第2のアクセス制御手段は、前記コンピ
    ュータ・システムによって指定された論理セクタ・アド
    レスが属するユニット番号及びユニット内の論理ページ
    ・オフセットを計算するための手段を含むことを特徴と
    する半導体メモリ装置。
  5. 【請求項5】上位コンピュータ・システムと接続して用
    いられ、一定のセクタ単位でアドレス可能な半導体メモ
    リ装置において、 (a)電気的に書き込みが可能な不揮発性メモリからな
    るデータ記憶部と、 (b)前記上位コンピュータ・システムと接続して、ア
    クセス要求を受け取るためのインターフェース部と、 (c)揮発性のワーク・メモリと、 (d)セクタを複数個集めてなるページ単位で、前記上
    位コンピュータ・システムからアクセス時に指定される
    論理セクタ・アドレスを前記データ記憶部の物理メモリ
    空間上の物理セクタ・アドレスに変換するための第1の
    テーブルを、前記ワーク・メモリ上に作成するための第
    1のテーブル作成手段と、 (e)ページを複数個集めてなるユニット単位で、前記
    上位コンピュータ・システムによって指定される論理メ
    モリ空間上の論理ページ番号を前記データ記憶部の物理
    メモリ空間上の物理ページ番号に変換するための第2の
    テーブルを、前記ワーク・メモリ上に作成するための第
    2のテーブル作成手段と、 (f)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、指定された論理セクタ・
    アドレスが属するユニットについての第2のテーブルを
    参照して、該当する物理ページ番号を取得するための第
    2のアクセス制御手段と、 (g)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、指定された論理セクタ・
    アドレスが属する物理ページについての第1のテーブル
    を参照して、該当する物理セクタ・アドレスを取得する
    ための第1のアクセス制御手段と、 (h)取得した物理セクタ・アドレスに従って前記デー
    タ記憶部にアクセスするためのデータ・アクセス手段
    と、 を具備し、前記第2のアクセス制御手段は、さらに、 前記コンピュータ・システムによって指定された論理セ
    クタ・アドレスが属するユニットについての第2のテー
    ブルが前記ワーク・メモリ中に存在するかどうかを判断
    する手段と、 該判断結果が否定的であれば、該当するユニットについ
    ての第2のテーブルの作成を前記第2のテーブル作成手
    段に対して要求する手段と、 を含むことを特徴とする半導体メモリ装置。
  6. 【請求項6】電気的に書き込みが可能な不揮発性メモリ
    からなるデータ記憶部と、上位コンピュータ・システム
    からアクセス要求を受け取るためのインターフェース部
    と、揮発性のワーク・メモリとを含む、一定のセクタ単
    位でアドレス可能なタイプの半導体メモリ装置のための
    制御方法において、 (a)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、セクタを複数個集めてな
    るページ単位で、前記上位コンピュータ・システムから
    アクセス時に指定される論理セクタ・アドレスを前記デ
    ータ記憶部の物理メモリ空間上の物理セクタ・アドレス
    に変換するための第1のテーブルを、前記ワーク・メモ
    リ上に作成する段階と、 (b)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、ページを複数個集めてな
    るユニット単位で、前記上位コンピュータ・システムか
    らアクセス時に指定される論理セクタ・アドレスが属す
    る論理ページ番号を前記データ記憶部の物理メモリ空間
    上の物理ページ番号に変換するための第2のテーブル
    を、前記ワーク・メモリ上に作成する段階と、 (c)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、指定された論理セクタ・
    アドレスが属するユニットについての第2のテーブルを
    参照して、該当する物理ページ番号を取得する段階と、 (d)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、指定された論理セクタ・
    アドレスが属する物理ページについての第1のテーブル
    を参照して、該当する物理セクタ・アドレスを取得する
    段階と、 (e)取得した物理セクタ・アドレスに従って前記デー
    タ記憶部にアクセスする段階と、 を具備し、前記(a)段階では、各ユニットの同一ペー
    ジ・オフセット毎に1つの第1のテーブル記憶領域を用
    意することによって、各ユニットの同一オフセットのペ
    ージ間で同一のテーブル記憶領域を共有させる、ことを
    特徴とする半導体メモリ装置のための制御方法。
  7. 【請求項7】電気的に書き込みが可能な不揮発性メモリ
    からなるデータ記憶部と、上位コンピュータ・システム
    からアクセス要求を受け取るためのインターフェース部
    と、揮発性のワーク・メモリとを含む、一定のセクタ単
    位でアドレス可能なタイプの半導体メモリ装置のための
    制御方法において、 (a)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、セクタを複数個集めてな
    るページ単位で、前記上位コンピュータ・システムから
    アクセス時に指定される論理セクタ・アドレスを前記デ
    ータ記憶部の物理メモリ空間上の物理セクタ・アドレス
    に変換するための第1のテーブルを、前記ワーク・メモ
    リ上に作成する段階と、 (b)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、ページを複数個集めてな
    るユニット単位で、前記上位コンピュータ・システムか
    らアクセス時に指定される論理セクタ・アドレスが属す
    る論理ページ番号を前記データ記憶部の物理メモリ空間
    上の物理ページ番号に変換するための第2のテーブル
    を、前記ワーク・メモリ上に作成する段階と、 (c)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、指定された論理セクタ・
    アドレスが属するユニットについての第2のテーブルを
    参照して、該当する物理ページ番号を取得する段階と、 (d)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、指定された論理セクタ・
    アドレスが属する物理ページについての第1のテーブル
    を参照して、該当する物理セクタ・アドレスを取得する
    段階と、 (e)取得した物理セクタ・アドレスに従って前記デー
    タ記憶部にアクセスする段階と、 を具備し、前記(d)段階は、さらに、 前記コンピュータ・システムによって指定された論理セ
    クタ・アドレスが属するページについての第1のテーブ
    ルが前記ワーク・メモリ中に存在するかどうかを判断す
    る段階と、 該判断結果が否定的であれば、前記(a)段階にジャン
    プして、該当するページについての第1のテーブルを作
    成する段階と、 を含むことを特徴とする半導体メモリ装置のための制御
    方法。
  8. 【請求項8】電気的に書き込みが可能な不揮発性メモリ
    からなるデータ記憶部と、上位コンピュータ・システム
    からアクセス要求を受け取るためのインターフェース部
    と、揮発性のワーク・メモリとを含む、一定のセクタ単
    位でアドレス可能なタイプの半導体メモリ装置のための
    制御方法において、 (a)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、セクタを複数個集めてな
    るページ単位で、前記上位コンピュータ・システムから
    アクセス時に指定される論理セクタ・アドレスを前記デ
    ータ記憶部の物理メモリ空間上の物理セクタ・アドレス
    に変換するための第1のテーブルを、前記ワーク・メモ
    リ上に作成する段階と、 (b)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、ページを複数個集めてな
    るユニット単位で、前記上位コンピュータ・システムか
    らアクセス時に指定される論理セクタ・アドレスが属す
    る論理ページ番号を前記データ記憶部の物理メモリ空間
    上の物理ページ番号に変換するための第2のテーブル
    を、前記ワーク・メモリ上に作成する段階と、 (c)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、指定された論理セクタ・
    アドレスが属するユニットについての第2のテーブルを
    参照して、該当する物理ページ番号を取得する段階と、 (d)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、指定された論理セクタ・
    アドレスが属する物理ページについての第1のテーブル
    を参照して、該当する物理セクタ・アドレスを取得する
    段階と、 (e)取得した物理セクタ・アドレスに従って前記デー
    タ記憶部にアクセスする段階と、 を具備し、前記(b)段階では、各ユニット毎に1つの
    第2のテーブル記憶領域を用意する、ことを特徴とする
    半導体メモリ装置のための制御方法。
  9. 【請求項9】電気的に書き込みが可能な不揮発性メモリ
    からなるデータ記憶部と、上位コンピュータ・システム
    からアクセス要求を受け取るためのインターフェース部
    と、揮発性のワーク・メモリとを含む、一定のセクタ単
    位でアドレス可能なタイプの半導体メモリ装置のための
    制御方法において、 (a)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、セクタを複数個集めてな
    るページ単位で、前記上位コンピュータ・システムから
    アクセス時に指定される論理セクタ・アドレスを前記デ
    ータ記憶部の物理メモリ空間上の物理セクタ・アドレス
    に変換するための第1のテーブルを、前記ワーク・メモ
    リ上に作成する段階と、 (b)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、ページを複数個集めてな
    るユニット単位で、前記上位コンピュータ・システムか
    らアクセス時に指定される論理セクタ・アドレスが属す
    る論理ページ番号を前記データ記憶部の物理メモリ空間
    上の物理ページ番号に変換するための第2のテーブル
    を、前記ワーク・メモリ上に作成する段階と、 (c)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、指定された論理セクタ・
    アドレスが属するユニットについての第2のテーブルを
    参照して、該当する物理ページ番号を取得する段階と、 (d)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、指定された論理セクタ・
    アドレスが属する物理ページについての第1のテーブル
    を参照して、該当する物理セクタ・アドレスを取得する
    段階と、 (e)取得した物理セクタ・アドレスに従って前記デー
    タ記憶部にアクセスする段階と、 を具備し、前記(c)段階は、前記コンピュータ・シス
    テムによって指定された論理セクタ・アドレスが属する
    ユニット番号及びユニット内の論理ページ・オフセット
    を計算するための段階を含む、ことを特徴とする半導体
    メモリ装置のための制御方法。
  10. 【請求項10】電気的に書き込みが可能な不揮発性メモ
    リからなるデータ記憶部と、上位コンピュータ・システ
    ムからアクセス要求を受け取るためのインターフェース
    部と、揮発性のワーク・メモリとを含む、一定のセクタ
    単位でアドレス可能なタイプの半導体メモリ装置のため
    の制御方法において、 (a)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、セクタを複数個集めてな
    るページ単位で、前記上位コンピュータ・システムから
    アクセス時に指定される論理セクタ・アドレスを前記デ
    ータ記憶部の物理メモリ空間上の物理セクタ・アドレス
    に変換するための第1のテーブルを、前記ワーク・メモ
    リ上に作成する段階と、 (b)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、ページを複数個集めてな
    るユニット単位で、前記上位コンピュータ・システムか
    らアクセス時に指定される論理セクタ・アドレスが属す
    る論理ページ番号を前記データ記憶部の物理メモリ空間
    上の物理ページ番号に変換するための第2のテーブル
    を、前記ワーク・メモリ上に作成する段階と、 (c)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、指定された論理セクタ・
    アドレスが属するユニットについての第2のテーブルを
    参照して、該当する物理ページ番号を取得する段階と、 (d)前記上位コンピュータ・システムからアクセス要
    求が起こったことに応答して、指定された論理セクタ・
    アドレスが属する物理ページについての第1のテーブル
    を参照して、該当する物理セクタ・アドレスを取得する
    段階と、 (e)取得した物理セクタ・アドレスに従って前記デー
    タ記憶部にアクセスする段階と、 を具備し、前記(c)段階は、さらに、 前記コンピュータ・システムによって指定された論理セ
    クタ・アドレスが属するユニットについての第2のテー
    ブルが前記ワーク・メモリ中に存在するかどうかを判断
    する段階と、 該判断結果が否定的であれば、前記(b)段階にジャン
    プして、該当するユニットについての第2のテーブルを
    作成する段階と、 を含むことを特徴とする半導体メモリ装置のための制御
    方法。
JP09231396A 1996-04-15 1996-04-15 半導体メモリ装置及びその制御方法 Expired - Fee Related JP3197815B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP09231396A JP3197815B2 (ja) 1996-04-15 1996-04-15 半導体メモリ装置及びその制御方法
US08/842,554 US5963983A (en) 1996-04-15 1997-04-15 Method and apparatus for dynamically creating conversion tables to access a semiconductor memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09231396A JP3197815B2 (ja) 1996-04-15 1996-04-15 半導体メモリ装置及びその制御方法

Publications (2)

Publication Number Publication Date
JPH09282111A JPH09282111A (ja) 1997-10-31
JP3197815B2 true JP3197815B2 (ja) 2001-08-13

Family

ID=14050919

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09231396A Expired - Fee Related JP3197815B2 (ja) 1996-04-15 1996-04-15 半導体メモリ装置及びその制御方法

Country Status (2)

Country Link
US (1) US5963983A (ja)
JP (1) JP3197815B2 (ja)

Families Citing this family (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6347051B2 (en) 1991-11-26 2002-02-12 Hitachi, Ltd. Storage device employing a flash memory
JP4079506B2 (ja) 1997-08-08 2008-04-23 株式会社東芝 不揮発性半導体メモリシステムの制御方法
JPH11203191A (ja) * 1997-11-13 1999-07-30 Seiko Epson Corp 不揮発性記憶装置、不揮発性記憶装置の制御方法、および、不揮発性記憶装置を制御するプログラムを記録した情報記録媒体
WO1999031592A1 (fr) 1997-12-16 1999-06-24 Tdk Corporation Systeme de memoire flash
CN1249586C (zh) 1997-12-22 2006-04-05 Tdk株式会社 闪速存储器系统
JP3544476B2 (ja) 1998-09-11 2004-07-21 富士通株式会社 メモリ管理テーブル作成方法
US6148354A (en) 1999-04-05 2000-11-14 M-Systems Flash Disk Pioneers Ltd. Architecture for a universal serial bus-based PC flash disk
US7660941B2 (en) * 2003-09-10 2010-02-09 Super Talent Electronics, Inc. Two-level RAM lookup table for block and page allocation and wear-leveling in limited-write flash-memories
WO2001043404A1 (fr) * 1999-12-10 2001-06-14 Ntt Docomo, Inc. Terminal de communication mobile et lecteur d'informations de carte
US6424975B1 (en) 2000-01-07 2002-07-23 Trg Products, Inc. FAT file system in palm OS computer
US6430672B1 (en) * 2000-07-17 2002-08-06 International Business Machines Corporation Method for performing address mapping using two lookup tables
US7058788B2 (en) * 2001-02-23 2006-06-06 Falconstor Software, Inc. Dynamic allocation of computer memory
US6804746B2 (en) * 2001-03-01 2004-10-12 Sony Corporation Method and system for optimizing data storage and retrieval by an audio/video file system using hierarchical file allocation table
US6779045B2 (en) * 2001-03-21 2004-08-17 Intel Corporation System and apparatus for increasing the number of operations per transmission for a media management system
US6938144B2 (en) 2001-03-22 2005-08-30 Matsushita Electric Industrial Co., Ltd. Address conversion unit for memory device
US7024532B2 (en) * 2001-08-09 2006-04-04 Matsushita Electric Industrial Co., Ltd. File management method, and memory card and terminal apparatus that make use of the method
JP2003076605A (ja) 2001-08-31 2003-03-14 Mitsubishi Electric Corp ブロック消去型不揮発メモリを搭載した半導体記憶装置とそのデータの書込み・読出し方法
TWI240861B (en) * 2002-01-11 2005-10-01 Integrated Circuit Solution In Data access method and architecture of flash memory
TW200302966A (en) * 2002-01-29 2003-08-16 Matsushita Electric Ind Co Ltd Memory device, data processing method and data processing program
US6839826B2 (en) 2002-02-06 2005-01-04 Sandisk Corporation Memory device with pointer structure to map logical to physical addresses
JP2004062554A (ja) * 2002-07-30 2004-02-26 Oki Electric Ind Co Ltd フラッシュメモリの管理方法
WO2004021191A1 (ja) 2002-08-29 2004-03-11 Matsushita Electric Industrial Co., Ltd. 半導体メモリ装置、及び、フラッシュメモリへのデータ書き込み方法
US7478248B2 (en) * 2002-11-27 2009-01-13 M-Systems Flash Disk Pioneers, Ltd. Apparatus and method for securing data on a portable storage device
US8112574B2 (en) * 2004-02-26 2012-02-07 Super Talent Electronics, Inc. Swappable sets of partial-mapping tables in a flash-memory system with a command queue for combining flash writes
US7139864B2 (en) * 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
US7409623B2 (en) * 2004-11-04 2008-08-05 Sigmatel, Inc. System and method of reading non-volatile computer memory
KR100706242B1 (ko) 2005-02-07 2007-04-11 삼성전자주식회사 메모리 시스템 및 그것의 런 단위 어드레스 매핑 테이블 구성 방법
KR100684942B1 (ko) * 2005-02-07 2007-02-20 삼성전자주식회사 복수의 사상 기법들을 채용한 적응형 플래시 메모리 제어장치 및 그것을 포함한 플래시 메모리 시스템
WO2006093304A1 (en) * 2005-03-01 2006-09-08 Tokyo Electron Device Limited Storage device, memory block managing method, and program
US7512864B2 (en) * 2005-09-30 2009-03-31 Josef Zeevi System and method of accessing non-volatile computer memory
US7644251B2 (en) 2005-12-19 2010-01-05 Sigmatel, Inc. Non-volatile solid-state memory controller
KR100781517B1 (ko) * 2006-02-16 2007-12-03 삼성전자주식회사 비휘발성 메모리의 맵핑 정보 관리 장치 및 방법
KR100843133B1 (ko) * 2006-09-20 2008-07-02 삼성전자주식회사 플래시 메모리에서 매핑 정보 재구성을 위한 장치 및 방법
DE102006049537A1 (de) * 2006-10-20 2008-04-24 Robert Bosch Gmbh Speichermedium mit Speicherzellen, Verfahren zum Adressieren von Speicherzellen auf dem Speichermedium und Vorrichtung zum Aufzeichnen und Wiedergeben von Daten in/von Speicherzellen auf dem Speichermedium
WO2008077285A1 (en) * 2006-12-27 2008-07-03 Intel Corporation Method of managing data on a non-volatile memory
KR20080072159A (ko) * 2007-02-01 2008-08-06 엘지전자 주식회사 파일 관리 방법 및 데이터 기록장치
WO2008150927A2 (en) * 2007-05-30 2008-12-11 Schooner Information Technology System including a fine-grained memory and a less-fine-grained memory
US7975109B2 (en) * 2007-05-30 2011-07-05 Schooner Information Technology, Inc. System including a fine-grained memory and a less-fine-grained memory
US8732386B2 (en) * 2008-03-20 2014-05-20 Sandisk Enterprise IP LLC. Sharing data fabric for coherent-distributed caching of multi-node shared-distributed flash memory
US8229945B2 (en) 2008-03-20 2012-07-24 Schooner Information Technology, Inc. Scalable database management software on a cluster of nodes using a shared-distributed flash memory
US8695087B2 (en) * 2008-04-04 2014-04-08 Sandisk Il Ltd. Access control for a memory device
US8028123B2 (en) * 2008-04-15 2011-09-27 SMART Modular Technologies (AZ) , Inc. Circular wear leveling
US8180954B2 (en) * 2008-04-15 2012-05-15 SMART Storage Systems, Inc. Flash management using logical page size
WO2009129338A2 (en) * 2008-04-15 2009-10-22 Adtron, Inc. Flash management using sequential techniques
US8185778B2 (en) * 2008-04-15 2012-05-22 SMART Storage Systems, Inc. Flash management using separate metadata storage
US20090259806A1 (en) * 2008-04-15 2009-10-15 Adtron, Inc. Flash management using bad page tracking and high defect flash memory
US8566505B2 (en) * 2008-04-15 2013-10-22 SMART Storage Systems, Inc. Flash management using sequential techniques
FR2933803B1 (fr) * 2008-07-08 2010-09-24 Thales Sa Dispositif et procede de sauvegarde de donnees sur des supports de memoire non volatile, de type flash nand, destines a des calculateurs embarques
US20100070733A1 (en) * 2008-09-18 2010-03-18 Seagate Technology Llc System and method of allocating memory locations
US8838876B2 (en) 2008-10-13 2014-09-16 Micron Technology, Inc. Translation layer in a solid state storage device
US8688894B2 (en) * 2009-09-03 2014-04-01 Pioneer Chip Technology Ltd. Page based management of flash storage
TWI433157B (zh) * 2009-09-04 2014-04-01 Silicon Motion Inc 存取快閃記憶體的方法以及相關之記憶裝置
JP5525605B2 (ja) * 2009-11-04 2014-06-18 株式会社日立製作所 フラッシュメモリモジュール
JP5534852B2 (ja) * 2010-02-17 2014-07-02 三菱電機株式会社 半導体ディスク装置
US9396104B1 (en) * 2010-03-22 2016-07-19 Seagate Technology, Llc Accessing compressed data of varying-sized quanta in non-volatile memory
US8868487B2 (en) 2010-04-12 2014-10-21 Sandisk Enterprise Ip Llc Event processing in a flash memory-based object store
US9047351B2 (en) 2010-04-12 2015-06-02 Sandisk Enterprise Ip Llc Cluster of processing nodes with distributed global flash memory using commodity server technology
US9164554B2 (en) 2010-04-12 2015-10-20 Sandisk Enterprise Ip Llc Non-volatile solid-state storage system supporting high bandwidth and random access
US8725951B2 (en) 2010-04-12 2014-05-13 Sandisk Enterprise Ip Llc Efficient flash memory-based object store
US8856593B2 (en) 2010-04-12 2014-10-07 Sandisk Enterprise Ip Llc Failure recovery using consensus replication in a distributed flash memory system
US8954385B2 (en) 2010-06-28 2015-02-10 Sandisk Enterprise Ip Llc Efficient recovery of transactional data stores
US20110320910A1 (en) * 2010-06-29 2011-12-29 Yi-Chun Liu Storage management method and storage system
US8694733B2 (en) 2011-01-03 2014-04-08 Sandisk Enterprise Ip Llc Slave consistency in a synchronous replication environment
US8909851B2 (en) 2011-02-08 2014-12-09 SMART Storage Systems, Inc. Storage control system with change logging mechanism and method of operation thereof
JP5295286B2 (ja) * 2011-02-23 2013-09-18 株式会社日立製作所 記憶装置およびそれを搭載した計算機
US8874515B2 (en) 2011-04-11 2014-10-28 Sandisk Enterprise Ip Llc Low level object version tracking using non-volatile memory write generations
US9176739B2 (en) 2011-08-05 2015-11-03 Cisco Technology, Inc. System and method for checking run-time consistency for sequentially and non-sequentially fetched instructions
US9323659B2 (en) * 2011-08-12 2016-04-26 Sandisk Enterprise Ip Llc Cache management including solid state device virtualization
US9098399B2 (en) 2011-08-31 2015-08-04 SMART Storage Systems, Inc. Electronic system with storage management mechanism and method of operation thereof
US9021319B2 (en) 2011-09-02 2015-04-28 SMART Storage Systems, Inc. Non-volatile memory management system with load leveling and method of operation thereof
US9021231B2 (en) 2011-09-02 2015-04-28 SMART Storage Systems, Inc. Storage control system with write amplification control mechanism and method of operation thereof
US9063844B2 (en) 2011-09-02 2015-06-23 SMART Storage Systems, Inc. Non-volatile memory management system with time measure mechanism and method of operation thereof
WO2013101050A1 (en) 2011-12-29 2013-07-04 Intel Corporation Multi-level memory with direct access
US9239781B2 (en) 2012-02-07 2016-01-19 SMART Storage Systems, Inc. Storage control system with erase block mechanism and method of operation thereof
US9135064B2 (en) 2012-03-07 2015-09-15 Sandisk Enterprise Ip Llc Fine grained adaptive throttling of background processes
JP5597666B2 (ja) * 2012-03-26 2014-10-01 株式会社東芝 半導体記憶装置、情報処理システムおよび制御方法
US9298252B2 (en) 2012-04-17 2016-03-29 SMART Storage Systems, Inc. Storage control system with power down mechanism and method of operation thereof
US8949689B2 (en) 2012-06-11 2015-02-03 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US10282286B2 (en) * 2012-09-14 2019-05-07 Micron Technology, Inc. Address mapping using a data unit type that is variable
US9671962B2 (en) 2012-11-30 2017-06-06 Sandisk Technologies Llc Storage control system with data management mechanism of parity and method of operation thereof
JP6005533B2 (ja) 2013-01-17 2016-10-12 株式会社東芝 記憶装置および記憶方法
US9123445B2 (en) 2013-01-22 2015-09-01 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9329928B2 (en) 2013-02-20 2016-05-03 Sandisk Enterprise IP LLC. Bandwidth optimization in a non-volatile memory system
US20160011782A1 (en) * 2013-02-27 2016-01-14 Hitachi, Ltd. Semiconductor storage
US9470720B2 (en) 2013-03-08 2016-10-18 Sandisk Technologies Llc Test system with localized heating and method of manufacture thereof
US9043780B2 (en) 2013-03-27 2015-05-26 SMART Storage Systems, Inc. Electronic system with system modification control mechanism and method of operation thereof
US9543025B2 (en) 2013-04-11 2017-01-10 Sandisk Technologies Llc Storage control system with power-off time estimation mechanism and method of operation thereof
CN104182349A (zh) * 2013-05-27 2014-12-03 联想(北京)有限公司 一种信息处理方法及电子设备
US9313874B2 (en) 2013-06-19 2016-04-12 SMART Storage Systems, Inc. Electronic system with heat extraction and method of manufacture thereof
US9367353B1 (en) 2013-06-25 2016-06-14 Sandisk Technologies Inc. Storage control system with power throttling mechanism and method of operation thereof
US9244519B1 (en) 2013-06-25 2016-01-26 Smart Storage Systems. Inc. Storage system with data transfer rate adjustment for power throttling
US9146850B2 (en) 2013-08-01 2015-09-29 SMART Storage Systems, Inc. Data storage system with dynamic read threshold mechanism and method of operation thereof
US9361222B2 (en) 2013-08-07 2016-06-07 SMART Storage Systems, Inc. Electronic system with storage drive life estimation mechanism and method of operation thereof
US9448946B2 (en) 2013-08-07 2016-09-20 Sandisk Technologies Llc Data storage system with stale data mechanism and method of operation thereof
US9431113B2 (en) 2013-08-07 2016-08-30 Sandisk Technologies Llc Data storage system with dynamic erase block grouping mechanism and method of operation thereof
US9152555B2 (en) 2013-11-15 2015-10-06 Sandisk Enterprise IP LLC. Data management with modular erase in a data storage system
CN104951244B (zh) * 2014-03-31 2018-04-27 伊姆西公司 用于存取数据的方法和设备
US8976609B1 (en) 2014-06-16 2015-03-10 Sandisk Enterprise Ip Llc Low-test memory stack for non-volatile storage
US9653184B2 (en) 2014-06-16 2017-05-16 Sandisk Technologies Llc Non-volatile memory module with physical-to-physical address remapping
US9613715B2 (en) 2014-06-16 2017-04-04 Sandisk Technologies Llc Low-test memory stack for non-volatile storage
JP6412820B2 (ja) * 2015-03-31 2018-10-24 株式会社メガチップス 記憶システム、制御装置、メモリ制御装置、記憶装置、上位装置、制御プログラム及びデータ読み出し方法
CN108845959B (zh) * 2018-06-25 2023-06-23 联想(北京)有限公司 一种内存数据处理方法、装置和电子设备
CN112115067A (zh) 2019-06-21 2020-12-22 慧荣科技股份有限公司 闪存物理资源集合管理装置及方法及计算机可读取存储介质
US11036594B1 (en) 2019-07-25 2021-06-15 Jetstream Software Inc. Disaster recovery systems and methods with low recovery point objectives
US11429522B2 (en) * 2020-10-09 2022-08-30 Western Digital Technologies, Inc. Storage delta compression

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5113512A (en) * 1988-06-21 1992-05-12 Matsushita Electric Industrial Co., Ltd. System for managing a storage medium reducing physical space needed
JP2582487B2 (ja) * 1991-07-12 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 半導体メモリを用いた外部記憶システム及びその制御方法
JP3328321B2 (ja) * 1992-06-22 2002-09-24 株式会社日立製作所 半導体記憶装置
US5822784A (en) * 1993-03-19 1998-10-13 Intel Corporation Mechanism supporting execute in place read only memory applications located on removable computer cards
JP3371044B2 (ja) * 1994-12-28 2003-01-27 株式会社日立製作所 ディスクアレイのための領域割り当て方法およびディスクアレイアクセス方法
JP3706167B2 (ja) * 1995-02-16 2005-10-12 株式会社ルネサステクノロジ 半導体ディスク装置
US5666560A (en) * 1995-08-03 1997-09-09 International Business Machines Corporation Storage method and hierarchical padding structure for direct access storage device (DASD) data compression
JP3604466B2 (ja) * 1995-09-13 2004-12-22 株式会社ルネサステクノロジ フラッシュディスクカード

Also Published As

Publication number Publication date
JPH09282111A (ja) 1997-10-31
US5963983A (en) 1999-10-05

Similar Documents

Publication Publication Date Title
JP3197815B2 (ja) 半導体メモリ装置及びその制御方法
US11636032B2 (en) Memory system, data storage device, user device and data management method thereof
JP4611024B2 (ja) ブロック内のページをグループ化する方法及び装置
US6477616B1 (en) Storage device, storage system, memory management method, recording medium, and computer data signal
US7802054B2 (en) Apparatus and methods using invalidity indicators for buffered memory
US8533391B2 (en) Storage device and user device including the same
KR100526879B1 (ko) 플래쉬 파일 시스템
US7853772B2 (en) Method for managing partitions in a storage device
KR100980309B1 (ko) 호스트 디바이스 및 메모리 시스템
KR100439507B1 (ko) 고 용량 플래시 메모리 카드 시스템에서의 데이터 운영 방법
KR100441587B1 (ko) 블록 얼라인먼트 기능을 갖는 반도체 기억 장치
US5717886A (en) Semiconductor disk device and memory management method
US8307172B2 (en) Memory system including memory controller and separately formatted nonvolatile memory to avoid “copy-involving write” during updating file data in the memory
JPH0778766B2 (ja) ランダム・アクセス可能かつ書換え可能メモリを用いる外部記憶装置におけるプログラム直接実行の制御方法および装置
US20090282187A1 (en) Flash memory device capable of preventing read disturbance
JPH09185551A (ja) 半導体記憶装置
JP3421581B2 (ja) 不揮発性半導体メモリを用いた記憶装置
JP2004295865A (ja) 自動ブーティングシステム及び自動ブーティング方法
KR101747791B1 (ko) 메모리 시스템 및 데이터 저장 장치 그리고 그것의 데이터 관리 방법
JP2012113789A (ja) ハードディスクドライブ装置およびその処理装置
JPH1063551A (ja) 情報処理装置
CN115168317B (zh) 一种lsm树存储引擎构建方法和系统
JP2000181784A (ja) 書き換え可能な不揮発性記憶装置
JP2008217208A (ja) 記憶装置およびコンピュータシステム、並びに記憶装置の管理方法
US20040213070A1 (en) Method of recording and reproducing information

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees