JP3178909B2 - 半導体メモリ装置 - Google Patents

半導体メモリ装置

Info

Publication number
JP3178909B2
JP3178909B2 JP24471392A JP24471392A JP3178909B2 JP 3178909 B2 JP3178909 B2 JP 3178909B2 JP 24471392 A JP24471392 A JP 24471392A JP 24471392 A JP24471392 A JP 24471392A JP 3178909 B2 JP3178909 B2 JP 3178909B2
Authority
JP
Japan
Prior art keywords
data
memory
write
memory block
management table
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP24471392A
Other languages
English (en)
Other versions
JPH05282880A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP24471392A priority Critical patent/JP3178909B2/ja
Publication of JPH05282880A publication Critical patent/JPH05282880A/ja
Priority to US08/481,156 priority patent/US5559956A/en
Priority to US08/670,098 priority patent/US5673383A/en
Application granted granted Critical
Publication of JP3178909B2 publication Critical patent/JP3178909B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/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
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • G11C29/765Masking faults in memories by using spares or by reconfiguring using address translation or modifications in solid state disks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、フラッシュEEPR
OMを記憶素子として使用し、メモリ管理等を行うコン
トローラ機能を備え、ホストシステム側からみれば、フ
ラッシュEEPROMの特質を意識せずに、HDDと同
様な感覚で使用が可能な半導体メモリ装置に関する。
【0002】
【従来の技術】まず、フラッシュEEPROM(一括消
去可能な不揮発性メモリ)について説明する。このフラ
ッシュEEPROMは、書換可能であり、不揮発性であ
ることから、磁気記録分野と近い応用範囲が想定されて
いる半導体素子である。類似のものにEPROMがある
が、これは消去のために紫外線照射を必要とする。ま
た、EEPROMもあるが、これは電気的に消去可能で
ある点はフラッシュEEPROMと同様であるが、消去
がバイト単位に可能な点が異なる。これに対し、フラッ
シュEEPROMはチップ全体あるいは小区分されたブ
ロック単位で消去が行われる。このため、データ消去用
の駆動回路が記憶セル毎には不要となり、1記憶セル当
たり、1トランジスタの構成要素で済む。よって、半導
体記憶素子としては、DRAM,マスクROMと並び、
高密度化が可能である(記憶容量当たりのコストが安く
なる)。
【0003】また、このフラッシュEEPROMは、書
換可能であるが、書換可能回数に制限があり、使用途中
にて書込が次第に困難になり、やがて不能になることが
ある。また、書込・消去は12V,20V等の高電圧を
かけ、浮遊ゲートに電荷を入・出されることにより行わ
れる。書込み時に書込後のセル電位の均一性を得るため
に、各記憶セル毎にベリファイを行いながら、小刻みな
時間分割にて所定電位に達するまで高電圧をかける方法
が一般にとられている。
【0004】ところで、近年、上述したフラッシュEE
PROMを外部記憶として使用するものが提唱されつつ
ある。大枠として、(1)書込情報がファイル形式であ
ることをホストシステム側が意識し、ファイル情報とフ
ァイルの中身とを別な扱いとしてフラッシュEEPRO
Mに書込を行うものと、(2)ホストシステム側には特
に書込情報が何であるかを意識させずにHDDの様な外
部記憶装置として動作するものの2つに大別される。
【0005】また、使用途中にて、フラッシュEEPR
OMの書換回数が限界に達し、書換不能となる場合の備
えがなされていなかった。
【0006】また、半導体を使用しているにも関わら
ず、その装置寸法形状は既存のHDD等に準じていた。
【0007】また、メモリが消耗した等の理由によりメ
モリモジュールの交換が生じることが想定されていない
ため、情報の分離形態として、コントローラ側がメモリ
モジュール側の所持している情報に全て従う、という装
置構成がされていなかった。
【0008】また、ホストシステム側から指定された番
地を、内容の更新が行われる対照テーブルに従い、メモ
リモジュール内の物理番地に変換しアクセスするように
なっていなかった。
【0009】また、データの書込指示があった場合に、
仮に外部記憶装置に記憶されているデータと同じデータ
が書込データであったとしても、そのまま前のデータを
消去した後、再度同じデータの書込が行われていた。
【0010】また、各メモリ物理番地の使用頻度が均一
になるようにデータをスワッピングするようにはなって
いなかった。
【0011】また、データの書込み時にエラーが発生し
た場合に、その番地は使用不能とされていた。
【0012】また、電源電圧仕様が5V以上であった。
【0013】また、データの読出し時の閾値電圧が固定
であった。
【0014】また、データ書込み時の高電圧の設定が固
定であった。
【0015】
【発明が解決しようとする課題】上述したフラッシュE
EPROMを外部記憶として使用する2つの方式におい
て、(1)の方式では、ホストシステムがフラッシュE
EPROMであることを意識し、ファイルの記憶場所を
選択するため、特定の領域にデータの書換が集中しない
ようにすることが可能である。しかしながら、それらを
ホストシステム側の管理下で行うため、それに対応する
ホストシステムを作り上げなければならない、また、そ
れらはファイルを管理するOSと結びついたものでなけ
ればならない等の制約があり、普遍性に欠ける問題があ
った。
【0016】一方、(2)の方式のように、ホストシス
テム側には従来のHDDと同様の扱いを可能とした装置
の場合には、データの書換が行われないファイルを有す
る領域はそのまま書換回数が少ないまま使用され、逆に
特定の領域にはデータの書換が集中する。このため、各
領域の使用頻度が大きく異なり、メモリ素子全体として
寿命が短くなる問題があった。
【0017】また、使用途中にて、フラッシュEEPR
OMの書換回数が限界に達し、書換不能となる場合の備
えがなされておらず、突然の書込不能にユーザが当惑す
る欠点があった。
【0018】また、装置寸法が既存のHDD等にとらわ
れているため、システム実装上、必ずしも最適のものと
なっていない欠点があった。
【0019】また、消耗等の理由によりメモリモジュー
ルの交換が生じることが想定されていないため、情報の
分離形態として、コントローラ側がメモリモジュール側
の所持している情報に全て従う、という装置構成がされ
ておらず、メモリモジュールを交換し、そのまま電源を
立ち上げればあらゆる場合でも済むようにはなっていな
い欠点があった。
【0020】また、ホストシステム側から指定された番
地を内容の更新が行われる対照テーブルに従い、メモリ
モジュール内の物理番地に変換しアクセスすようになっ
ていないため、上記したように書換回数の少ないメモリ
モジュール内の物理番地はいつまで経っても書換回数が
増加せず、また一方で書換回数が多い部分は、書換回数
が急速に増加していき、そこから劣化してしまう問題を
放置せざるを得ない欠点があった。
【0021】また、ホストシステム側が電力消費を避け
るため、外部記憶装置から読出したデータを再び格納
し、休止する場合等に、読出されていたデータがそのま
ま変更なしで書込まれることがある。この際に、外部記
憶装置に記憶されているデータと同じデータのコンペア
をすれば書込みを行わずに済むものであるが、その機能
がないため、無駄に書込をするという欠点があった。
【0022】また、各メモリ物理番地の使用頻度が均一
になるようにデータのスワッピングをするようにはなっ
ていなかったため、上記したように書換回数の少ないメ
モリモジュール内の物理番地はいつまで経っても書換回
数が増加せず、また一方で書換回数が多い部分は、書換
回数が急速に増加していき、そこから劣化してしまう欠
点があった。
【0023】また、データ書込み時にエラーが発生した
場合に、その番地は使用不能とされていたため、メモリ
モジュールの寿命が短くなる欠点があった。
【0024】また、電源電圧仕様が5V以上であるた
め、3V仕様の機器への接続ができない欠点があった。
【0025】また、データ読出し時の閾値電圧が固定で
あるため、読出し時の二値判定のマージンが稼げない等
の欠点があった。
【0026】また、データ書込み時の電圧が固定である
ため、データ書込みが最も生じ易いセルに合わせた設定
にならざるを得ず、データ書込みが初期的に困難なセル
や、使用途中で困難になって来たセルに対する書込所用
時間が長くなる欠点があった。
【0027】また、データの書込みに際し、寿命まで使
用していないにも拘らず、早期に部分的な潜在欠陥が露
呈する等により使用不能となる物理番地が発生する場合
があり、その際のデータ書込みを救えない欠点があっ
た。
【0028】また、メモリモジュールの消耗状態をホス
トシステムに伝える具体的な手段がなく、ホストシステ
ム側でメモリモジュールの寿命が判断できない欠点があ
った。
【0029】また、データ書き込み時にエラーが生じた
場合、そのエラーが生じた記憶領域(メモリモジュール
の物理番地)を救えなかった。このため、メモリモジュ
ールを寿命まで使用していないにも拘らず、使用できな
くなる欠点があった。
【0030】また、メモリモジュールに複数の管理テー
ブルを設け、各管理テーブルのそれぞれがメモリモジュ
ール内の複数の記憶領域を管理する構成とした際、各管
理テーブルの使用頻度に片寄りが生じる欠点があった。
【0031】本発明は上記のような点に鑑みなされたも
ので、基本的にはホストシステム側がフラッシュEEP
ROMであることを意識せずに、通常のアクセス手段で
フラッシュEEPROMをアクセス可能な半導体メモリ
装置を提供することを目的とするものであって、特にそ
のフラッシュEEPROMの特質に鑑み、部分的な劣化
を防止してメモリモジュールの寿命を延ばすことのでき
る半導体メモリ装置を提供することを目的とする。
【0032】
【課題を解決するための手段】上記課題を解決するべ
く、本発明は、所定のブロック単位で区切られた複数の
記憶領域からなるメモリモジュールを備え、上記各記憶
領域に対しデータの書込み/読出しを行う半導体メモリ
装置において、上記各記憶領域のデータの書換回数を記
憶する書換回数記憶手段と、この書換回数記憶手段によ
って記憶された上記書換回数に基づいて、上記各記憶領
域の使用頻度が均一になるように上記各記憶領域間でデ
ータのスワッピングを行うスワッピング制御手段とを具
備したことを特徴とする。
【0033】また、本発明は、所定のブロック単位で区
切られた複数の記憶領域からなるメモリモジュールを備
え、上記各記憶領域に対しデータの書込み/読出しを行
う半導体メモリ装置において、上記各記憶領域のデータ
の書換回数を記憶する書換回数記憶手段と、上記各記憶
領域のうちの任意の記憶領域からなり、上記書換回数記
憶手段によって記憶された上記書換回数の上位部に相当
する粗データを記憶する第1の管理テーブルと、上記各
記憶領域のうちの所定の記憶領域からなり、上記第1の
管理テーブルの物理番地を記憶する第2の管理テーブル
と、データの書込み時に、上記第2の管理テーブルを参
照して上記第1の管理テーブルに記憶された上記書換回
数の粗データを読出し、その粗データに基づいて上記各
記憶領域の使用頻度が均一になるように上記各記憶領域
間でデータのスワッピングを行うスワッピング制御手段
とを具備したことを特徴とする。
【0034】本発明において、上記スワッピング制御手
段は上記各記憶領域間の上記書換回数の粗データの差が
所定値以上になった場合にスワッピングを行うことを特
徴とする。
【0035】さらに、上記スワッピング制御手段は、上
記各記憶領域のうちの任意の記憶領域からなる上記第1
の管理テーブルも含めてスワッピングを行うことを特徴
とする。
【0036】さらに、上記スワッピング制御手段は、上
記第1の管理テーブルの書換回数が他の記憶領域より大
きくなった場合にスワッピングを行い、上記第1の管理
テーブルの書換回数が他の記憶領域より小さくなった場
合には上記第1の管理テーブルをスワッピングの対象か
ら外すことを特徴とする。
【0037】
【作用】本発明によれば、メモリモジュールを構成する
各記憶領域のデータの書換回数に基づいて、上記各記憶
領域の使用頻度が均一になるように上記各記憶領域間で
データのスワッピングが行われる。これにより、部分的
な劣化を防止してメモリモジュールの寿命を延ばすこと
ができる。
【0038】
【実施例】以下、図面を参照して本発明の半導体メモリ
装置を説明する。
【0039】図1はその構成を示すブロック図である。
図1に示すように、本発明の半導体メモリ装置はコント
ローラ部11およびメモリモジュール12からなる。コ
ントローラ部11は、ホストシステム側とデータの送受
信を行うものであって、ここでは装置起動時にメモリモ
ジュール12をアクセスするための情報を吸い上げて装
置構成を行い、ホストシステムからのアクセスに対する
準備をする。一方、メモリモジュール12は、フラッシ
ュEEPROMからなり、コントローラ部11の制御の
下で各種の情報を記憶する。
【0040】コントローラ部11は、I/Fコントロー
ラ13、メモリ管理コントローラ14、RAM15、R
/W制御回路16、ECC処理回路17および電源回路
18からなる。I/Fコントローラ13は、ホストシス
テムとのインタフェース制御を行う。メモリ管理コント
ローラ14は、メモリモジュール12の管理制御を行う
ものであって、ここではRAM15に格納された管理情
報に従って、ホストシステムから指定された論理番地を
実際にメモリモジュール12をアクセスするための物理
番地に変換する処理等を行う。RAM15は、メモリモ
ジュール12の管理情報(制御管理テーブルのコピー、
管理テーブルのコピー)を記憶する。R/W制御回路1
6は、メモリモジュール12に対するデータの書込み/
読出し制御を行うものであって、ここでは書込みベリフ
ァイ処理や電圧可変処理等を行う。ECC処理回路17
は、書込みデータのエラー訂正演算を行う。電源回路1
8は、データの書込み/読出し用の電源を供給する回路
である。図中、Vccは読出電圧であり、Vppは書込/消
去電圧である。
【0041】また、メモリモジュール12は、所定のブ
ロック単位で区切られた複数の記憶領域を有し、この各
記憶領域のそれぞれを制御管理テーブル19、管理テー
ブル20、メモリ本体21として使用している。制御管
理テーブル19は、メモリモジュール12の所定の記憶
領域からなり、図2に示すように管理テーブル20の所
在番地を記憶する。この制御管理テーブル19の物理番
地は固定である。管理テーブル20は、メモリモジュー
ル12の任意の記憶領域からなり、図3に示すようにホ
ストシステムから見た番地とメモリモジュール12内の
メモリ本体21の行先番地との対応表と、そのメモリ本
体21の書換回数の粗データ(書換回数の上位数桁)を
記憶すると共に、自身の書換回数を記憶する。この管理
テーブル20の物理番地は固定ではない。メモリ本体2
1は、図3に示すようにシステムから見たメモリの中身
すなわちシステムから見た番地のデータを記憶する。こ
のメモリ本体21は、任意の番地で複数存在する。ま
た、本発明において、このメモリ本体21には、ホスト
システムによって指定される512バイトの実データが
記憶される。
【0042】このようにして構成される半導体メモリ装
置において、まず、基本的な動作を説明する。
【0043】(a)起動時の動作説明 装置起動時に、メモリモジュール12の管理テーブル2
0内容をコントローラ部11が受取り、装置構成が行わ
れる。この装置構成に関し、コントローラ部11側に保
存されている情報はなく、装置起動時に、接続されてい
るメモリモジュール12内の管理情報に従って装置構成
が行われる。
【0044】すなわち、まず、コントローラ部11内の
メモリ管理コントローラ14は、R/W制御回路16を
通じてメモリモジュール12内の制御管理テーブル19
を読み、この制御管理テーブル19の内容をコントロー
ラ側のRAM15に書込む。次に、メモリ管理コントロ
ーラ14は、制御管理テーブル19に記憶されている管
理テーブル20の所在番地を見て、その管理テーブル2
0の内容をRAM15に書込む。このようにして、コン
トローラ部11側にメモリモジュール12の管理情報が
記憶されることによって、装置構成がなされる。
【0045】(b)リード時の動作説明(ホストがメモ
リモジュールをリードする時) ホストシステムからリード要求があると、コントローラ
部11内のメモリ管理コントローラ14は、RAM15
に記憶された管理テーブル20内にある対応表を参照
し、ホストシステム側で指示された論理番地をメモリモ
ジュール12内の物理番地に変換し、メモリモジュール
12をアクセスする。
【0046】(c)ライト時の動作説明(ホストがメモ
リモジュールにライトする時) ホストシステムからライト要求があると、コントローラ
部11内のメモリ管理コントローラ14は、RAM15
に記憶された管理テーブル20内にある対応表を参照
し、ホストシテスム側で指示された論理番地をメモリモ
ジュール12内の物理番地に変換し、メモリモジュール
12をアクセスする。
【0047】この場合、メモリ管理コントローラ14
は、まず、アクセスされたメモリモジュール12内のメ
モリ本体21を一旦読み込み、そこに付属しているその
番地の書換回数を見る。そして、メモリ管理コントロー
ラ14は、そのときの書換回数に基づいて以下のような
処理を行う。
【0048】すなわち、メモリ本体21の書換回数に1
を加えたときに、2桁上がりが生じない場合(書換回数
が**99以外だった場合)、そのまま、その番地にデ
ータを書込み、その書換回数に1を加える。
【0049】一方、書換回数に1を加えたときに、2桁
上がりが生じる場合は、以下の手順で進める。管理テー
ブル20を参照し、書換対象のメモリ本体21の書換回
数の粗データ(ここでは、メモリ本体21の書換回数の
下2桁を除いたもの)に1を加えた場合に、他の番地の
書換回数の粗データの最も少ないものと比較し、その差
が2未満の場合は、そのまま、もともとの予定通りの番
地に書込み、メモリ本体21に付属している書換回数
と、管理テーブル20の書換回数の粗データに1を加え
ておく。なお、別のケースが有るが、これについては、
後述する(追加1)で説明する。
【0050】また、上記の場合に反し、管理テーブル2
0内の書換回数の粗データの差が2以上になる場合、管
理テーブル20内のデータとして、最も書換回数の粗デ
ータが小さい番地とデータのスワッピングを行う。
【0051】まず、被スワッピング対象の番地のデータ
を引き上げ、もともと今回書込みを行おうとしたメモリ
本体21の物理番地に書込みをし、その番地の書換回数
に1を加えておく。また、今回書込みをしようとしたデ
ータは被スワッピング対象となったメモリ本体21の物
理番地に書込み、その番地の書換回数に1を加えてお
く。そして、管理テーブル20内の情報はホストシステ
ム側から見た番地とメモリモジュール12内の物理番地
との対応表の変更になった部分を書き換え、書換回数の
粗データに被スワッピング対象となった番地について、
もともと今回書込みをしようとした物理番地の更新され
た値(大きな値)を入れておく。一方、スワッピングを
能動的に行ったホスト番地に対する書換回数の粗データ
は、スワッピング前の現状を維持した値を入れておく。
【0052】これは、次回のスワッピング先のサーチの
際に、この番地が書換回数の少ない番地と認識される
と、統計的に書換回数の多い番地としておく意味がなく
なるためである。したがって、ホストシステム側が指定
している番地についてまわる管理テーブル20内の書換
回数の粗データが減少しない設定とするためである。
【0053】(追加1) また、この影響として、被スワッピング対象となった番
地自身の書換回数が次に2桁上がりする場合は、管理テ
ーブル20内の書換回数の粗データが既に大きな値とな
っていて先行している。すなわち、書換回数の精データ
(4桁構成)の下2桁を除いた値より、粗データの値が
大きくなっている。この場合は、書換回数が2桁上がり
する場合に、管理テーブル20内の書換回数の粗データ
と比較し、管理テーブル20内の書換回数の粗データが
更新されるまでは、スワッピング検討のルーチンに入ら
ずに、この番地にデータを書込んで行く。
【0054】(追加2) また、メモリ本体21自身が持つ書換回数のデータとし
て、管理テーブル20の方で書換回数の上位を粗データ
として持っているため、メモリ本体21では書換回数の
下の桁だけ持つようにしても良い。ただし、スワッピン
グの関係上、書換えによって、その書換回数の桁上りが
分かる範囲で持たす必要はある。このような構成によれ
ば、メモリ本体21自身が持つ書換回数のデータ量を少
なくすることができ、その分、他のデータを記憶するこ
とができる。
【0055】(追加3) また、管理テーブル20は1つに限らず、複数存在して
も良い。すなわち、図16に示すように、メモリモジュ
ール12内に複数の管理テーブル20a、20b、20
cを設け、それぞれが複数のメモリ本体21a、21
b、21cを管理する構成であっても良い。ただし、各
管理テーブル20a、20b、20cの対応表(ホスト
番地と物理番地との対応表)に関し、ホスト番地を基準
に物理番地を割り付けると、アクセス頻度の高いホスト
番地を抱えている管理テーブルに対するスワッピングの
頻度が高くなり、その結果、各管理テーブル20a、2
0b、20cの書換頻度に差が生じてしまう問題があ
る。
【0056】そこで、このような問題を解消するため、
複数の管理テーブル20a、20b、20cが存在する
場合には、図17に示すように、物理番地を基準にホス
ト番地を割り付けるようにする。すなわち、各管理テー
ブル20a、20b、20cのそれぞれが持つ対応表に
おいて、物理番地を固定とし、それに対応するホスト番
地を可変とする形式を取る。このような構成により、各
物理番地の使用頻度が均一となるようなスワッピングを
行うことができ、結果として各管理テーブル20a、2
0b、20cの書換頻度を均一化できる。
【0057】なお、装置起動時に、各管理テーブル20
a、20b、20cの内容をコントローラ部11のRA
M15にコピーするが、その際には、各対応表の中身を
ソートしてホスト番地基準とする。これは、コントロー
ラ部11にホストシステムからホスト番地が入力された
際に物理番地基準のままであると、アクセス対象となる
物理番地の検索が困難になるからである。
【0058】ここで、図4および図5を参照して、上述
したスワッピングの動作について具体的に説明する。
【0059】例えば図4に示すように、管理テーブル2
0にホストシステムから見た番地とメモリ本体21の行
先番地との対応表と、そのメモリ本体21の書換回数の
粗データおよび自身の書換回数が記憶されていたとす
る。このとき、「31415番地」のメモリ本体21の
書換回数は「3899」、「58979番地」のメモリ
本体21の書換回数は「3711」である。ここで、ホ
ストシステムによって論理番地として「00312番
地」のメモリ本体21にデータの書込み要求があると、
管理テーブル20内の対応表により、物理番地として
「31415番地」のメモリ本体21がアクセスされ
る。
【0060】この場合、「31415番地」の現在の書
換回数は「3899」であるため、その書換回数に1が
加わると、2桁上がりが生じる。また、管理テーブル2
0における「31415番地」の書換回数の粗データは
「38」であるため、その粗データに1が加わると、
「39」となり、他の番地の書換回数の粗データの最も
少ないもの(ここでは、「58979番地」の粗データ
「37」)と比較すると、その差が2以上になり、「5
8979番地」を被スワッピング対象番地としてスワッ
ピングが行われる。
【0061】これにより、図5に示すように、「314
15番地」と「58979番地」の中身がスワッピング
され、各番地の書換回数が更新される。このときのスワ
ッピングに従って管理テーブル20内の対応表が変更さ
れると共に、書換回数の粗データも変更される。この場
合、「31415番地」に粗データとして「39」がセ
ットされ、「58979番地」に粗データとして「3
8」がセットされる。また、管理テーブル20自身の書
換回数に1が加わる。
【0062】(d)ライト時の動作説明(特別な場合と
して、管理テーブル20のスワッピングを行う場合) 上述したメモリ本体21のスワッピングと同様に、管理
テーブル20もスワッピングすることがある。但し、管
理テーブル20のスワッピングは一方向優先性で、管理
テーブル20の書換回数が大きくなっていく時のみ行
い、メモリ本体21の書換回数が大きくなって行った場
合の被スワッピング対象に管理テーブル20を含めるこ
とはしない。すなわち、スワッピングは常に管理テーブ
ル20を優先して行われ、この管理テーブル20をメモ
リ本体21の都合で被スワッピング対象とはしない。こ
れは、管理テーブル20もメモリ本体21と同等に扱う
と、この管理テーブル20を管理している制御管理テー
ブル19の内容も変更しなくてはならず、影響が大きく
なるからである。
【0063】管理テーブル20のスワッピングは上記同
様メモリ管理コントローラ14の制御の下で以下の手順
で行われる。
【0064】管理テーブル20に書込みを行う際に、管
理テーブル20を一旦読み込み、そこに付属している管
理テーブル20自身の書換回数を見る。ここで、その書
換回数に1を加えたときに、2桁上がりが生じない場合
(書換回数が**99以外だった場合)は、そのまま、
その管理テーブル20にデータを書込み、書換回数に1
を加えておく。
【0065】一方、書換回数に1を加えたときに、2桁
上がりが生じる場合は、以下の手順で進める。管理テー
ブル20を参照し、管理テーブル20自身の書換回数の
下2桁を除いたものに1を加えた場合に、他のメモリ本
体21番地の書換回数の粗データの最も少ないものと比
較する。その結果、管理テーブル20の書換回数の粗デ
ータの多さが2未満の場合は、そのまま、もともとの予
定通りに管理テーブル20の重ね書きをし、管理テーブ
ル自身に付属している書換回数に、1を加えておく。
【0066】また、上記の場合に反し、管理テーブル2
0内の書換回数の粗データの差が2以上になる場合、管
理テーブル20内の書換回数の粗データが最も小さい番
地とスワッピングを行う。なお、このとき、メモリ本体
21同志のスワッピングと競合する場合は、どちらを優
先するかを予め決めておく必要がある。なお、場合によ
っては、被スワッピング対象となる書換回数の粗データ
が小さいメモリ本体21が一つしかなく、一方のみでス
ワッピングが終了し、二重のスワッピングは発生しない
場合も有り得る。
【0067】まず、被スワッピング対象の番地のデータ
を引き上げ、もともと今回書込みを行おうとした管理テ
ーブル20の番地に書込みをし、その書込んだ番地の書
換回数に1を加えておく。この際、その前に、管理テー
ブル20のデータも引き上げておく必要はない。これ
は、コントローラ部11側のRAM15に同一内容が記
憶されているためである。
【0068】一方、今回書き換えをしようとした管理テ
ーブル20のデータは被スワッピング対象となったメモ
リ本体21の物理番地に書込み、その番地の書換回数に
1を加えておく。そして、管理テーブル20内の対応表
の変更になった部分を書き換え、また、書換回数も現状
に合わせ更新しておく。なお、管理テーブル20スワッ
ピングは、管理テーブル20側の一方向優先性でスワッ
プ検討を行うので(管理テーブル20が被スワッピング
対象となることはないので)、管理テーブル20自身の
書換回数(生データの形でしか存在せず、粗データとし
ては存在しない)を多いものに見せかける操作は不要。
また、制御管理テーブル19内の管理テーブル20所在
番地情報も書き換えておく。
【0069】(e)R/W制御の動作説明 「書込制御」 コントローラ部11内のR/W制御回路16は、プログ
ラムベリファイ等のコントロールを行い、書込みを小分
けにして複数回行い、適性に書込みが完了したかを確認
する。
【0070】「ECCに関する書込制御」 この際に、通常のベリファイとは異なり、ECCを前提
としたベリファイとし、部分的に不完全なデータとなっ
ても、ECCにより有効データとなるレベルであればベ
リファイ合格とする。この判定は、実際にECC演算を
行っても良いし、エラーの個数、分布等からECCでデ
ータ再生可能かどうかを判定しても良い。
【0071】すなわち、図6(a)に示すように、R/
W制御回路16は、メモリモジュール12にデータを書
込んだ際(ステップA1)、その書込みデータを読出
し、これをECC処理回路17に出力する(ステップA
2)。ECC処理回路17は、この書込みデータのEC
C演算を行う(ステップA3)。そして、R/W制御回
路16は、このECC演算された書込みデータと元デー
タを比較し(ステップA4)、一致すれば書込み完了と
する。
【0072】また、別の方式として、図6(b)に示す
ように、R/W制御回路16は、メモリモジュール12
にデータを書込んだ際(ステップB1)、その書込みデ
ータを読出し(ステップB2)、元データと比較する
(ステップB3)。そして、R/W制御回路16は、こ
の比較によって得られるエラーの個数、分布等が後にE
CC処理回路17による復活条件を満たしているか否か
をチェックし(ステップB4)、満たしていれば書込み
完了とする。
【0073】このようにベリファイでのデータ完全性を
深追いしないことにより、劣化の進んでいるセルについ
ては、電荷移動量が途中段階までとなり、劣化の進行が
ベリファイを完全にやる場合に対して緩やかとなる。な
お、ベリファイを完全にやる場合、劣化が進んでいるセ
ルについては、書込回数を大きくしないと完了しない。
【0074】「書込電圧シフトに関する書込制御」 また、R/W制御回路16は電源回路18を制御し、書
込ベリファイを繰り返していく過程の中で、セルの書込
み状態に応じて過剰書込みが生じない範囲で徐々に書込
電圧を上げて行き書込を完了させる。
【0075】フラッシュメモリの性質として、データ書
込み時の電荷移動量は印加電圧によって変化する。よっ
て、書込電圧を変えることができれば、書込みが困難な
セルに対しても、より高い電圧で書込むことが有効で、
書込寿命の限界性能を引き出しての使用が可能となる。
また、書込繰り返し時間の合計が短縮されることも期待
できる。
【0076】なお、電圧を上げていくステップとして
は、現状のチップに内蔵されている書込電圧Vpp発生
用の昇圧器のばらつき以下のレベルを一段階として上げ
て行く分には、問題はないと考えられる。
【0077】一方、別の方式として、図7に示すよう
に、セルの書込み状態に応じて書込ベリファイの読み込
み時にデータ読出し時の閾値電圧をシフトし、書込完了
が間近と判断されたセルはそのままの電圧で書込みを続
け、書込完了まで遠いと判断されたセルは高電圧を加え
て書込むようにしても良い。すなわち、図7において、
セルの書込み状態が図中Aで示される状態では通常電圧
で書込み、図中Bで示される状態では、高電圧で書込む
ようにする。
【0078】「読出制御」 通常のデータ読出し時の閾値電圧設定では、うまくデー
タが読出せない場合(ECC処理で、修復不可能なエラ
ーが出る場合等)、閾値電圧をドリフトさせ、読出しを
行う。これによりマージンを救い、3V化を実現する。
この場合、3V外部電源仕様の半導体メモリ装置を実現
するために、読出電圧Vccは3Vのままで、読出しマー
ジンを閾値電圧のシフト制御またはECCとの併用を含
めて稼ぐようにしても良いし、あるいは、内部に昇圧器
を持ち、読出電圧Vccをデータ読出し用に最適値に変換
するようにしても良い。
【0079】一方、データ書込み時には、この機能を前
提とし、書込みレベルの設定を行うことも可能である。
また、この機能で得られる情報を使用したECC演算を
行うことも可能である。すなわち、電圧ドリフトで不安
定になるデータは、誤データの可能性があると判定し、
安定なデータは正しいデータとしてECC演算を行う。
【0080】(f)ECC処理の動作説明 コントローラ部11内のECC処理回路17は、書込み
データにECCの処理を施し、R/W制御回路16に引
き渡す。また、ECC処理回路17は、読出しデータに
ECCの処理を施し、元のデータに復元させる。
【0081】なお、「フラッシュメモリが、書込ベリフ
ァイ時に正常の場合には、リード時にエラーを起こすこ
とがない」との前提に立つと、不特定の箇所のエラーを
訂正するようなECCではなく、ライト時にエラー箇所
が不安定ビットとして分かるため、それに対する補償デ
ータを付加しておく方式も考えられる。
【0082】また、ECCとしてもエラーの符号が一方
向誤表示となるため(消去は完全で書込みが不完全とな
る場合があるので)、一般のECCとは別の効率の良い
演算が使える (g)補足(書換回数の別定義) 上記の説明の中で“書換回数”として扱ってきた事項に
関し、この“書換回数”を“劣化状態”もしくは“書換
回数+劣化状態の関数”として置き換えることもでき
る。この置き換えの選択は、劣化の進行度合いの指標と
して、“書換回数”、“劣化状態”、“書換回数+劣化
状態の関数”のいずれか適当なものを決めれば良い。
【0083】なお、“劣化状態”は、書込み時のエラー
の発生頻度、読出し時電圧ドリフトのエラーの発生頻度
から算出される。また、この指標の使い勝手の問題もあ
る。つまり、書込み時に書込みを進めることによって判
明する指標の場合は、その情報を番地に付属させる際
に、書込み時間をずらした後に書込めば良い。ところ
が、ECCを考えると、この場合には、ECCを追加情
報含めてかけることができなくなる問題がある。また、
読出しで分かる情報については、スワッピングの確認の
ため、書込前に一旦読み込みを行うので、その時に情報
を得れば良い。
【0084】さらに、“劣化状態”のチェックは、書込
みの都度ではなく、例えば100回に1回行うと言うこ
とも可能である。
【0085】次に、上述した内容以外の具体的な実施例
について説明する。
【0086】(h)メモリモジュールの消耗度検出 図8に示すように、コントローラ部11内のメモリ管理
コントローラ14は、消耗度検出回路31を備えてお
り、消耗品であるメモリモジュール12の消耗度をホス
トシステム側、使用者側に知らせる。消耗度検出回路3
1は、管理テーブル20内にある各メモリ本体21の書
換回数の粗データ、書込み時のベリファイ完了までの書
込み繰り返し回数、ベリファイ完了時点でのエラービッ
ト数に基づいて、メモリモジュール12の消耗度を検出
する。上記書込み繰り返し回数は、R/W制御回路16
に設けられているカウンタ32にてカウントされてい
る。上記ベリファイ完了時点でのエラービット数は、R
/W制御回路16に設けられているカウンタ33にてカ
ウントされている。
【0087】(ホストシステムに対する通知) ここで、上記のようにして検出されたメモリモジュール
12の消耗度をホストシステム側に知らせる手段として
は、メモリ管理コントローラ14がホストシステムから
見た特定の番地に、その消耗度を書き込んでおけば良
い。この様子を図9に示す。この例では、特定の番地と
して、トラック11のセクタ5に消耗度が書き込まれて
いる。これにより、ホストシステムが上記特定の番地を
読出すことで、消耗度の情報がホストシステムに伝わる
ことになる。
【0088】また、消耗度をホストシステムに伝える別
の手段として、IDEインタフェースのコマンドレジス
タによって指定されるIdentify Driveを用いる方法があ
る。IDEインタフェースは、本装置とホストシステム
とを接続する特定のインタフェースである。ホストシス
テムは、プログラムI/0によってドライブ内のレジス
タ群にアクセスする。各レジスタは、アドレス信号およ
びチップ選択信号によって選択される。このレジスタ群
の1つであるコマンドレジスタは、ドライブに実行させ
るコマンドを書き込むためのレジスタである。ドライブ
は13種類のコマンドをサポートとしており、その中の
Identify Driveというコマンドはドライブのパラメータ
情報をホストシステムへ転送するためのものである。Id
entify Driveが実行されると、ドライブ内のパラメータ
情報がセクタバッファにセットされる。
【0089】この際、図10に示すように、メモリモジ
ュール12の消耗度を情報をパラメータ情報の1つとし
てセクタバッファに格納するようにしておけば、ホスト
システムはトラック番号およびセクタ番号を意識せず
に、上記消耗度の情報を見ることができる。この場合、
図9のように通常のデータ格納領域に消耗度を書き込む
場合と違って、ユーザからは見えない領域に消耗度を書
き込むことになるため、その情報を破壊することはな
い。また、Identify Driveを利用しているため、インタ
フェースの規格を変えずに、消耗度を読出すことができ
る。
【0090】(使用者に対する通知) また、メモリモジュール12の消耗度をホストシステム
ではなく、直接使用者側に知らせる手段としては、図1
1に示すような方法がある。すなわち、メモリ管理コン
トローラ14が消耗度検出回路31にて検出したメモリ
モジュール12の消耗度に応じた印字信号を印字部34
に出力する。この印字部34は、コントローラ部11に
突出して設けられており、その先端がメモリモジュール
12の表面に設けられた被印字部35に接触している。
印字部34の先端には図示せぬ複数の発熱素子が設けら
れており、被印字部35には図示せぬ感熱紙が設けられ
ている。印字信号を受けた印字部34は、その印字信号
に基づいて発熱素子を発熱し、被印字部35の感熱紙に
対する印字を行う。これにより、使用者はその印字状態
からメモリモジュール12の消耗度を知ることができ
る。
【0091】また、消耗度を直接使用者側に知らせる別
の手段として、音声による方法がある。これは、図12
に示すように、メモリモジュール12にメッセージメモ
リ101を設け、このメッセージメモリ101に寿命限
界をユーザに知らせるための音声情報(ディジタル信
号)を格納しておく。そして、コントローラ部11側で
メモリモジュール12の消耗度状態から寿命限界を判断
した際に、メッセージメモリ101からこの音声情報を
読出し、これを内部に設けられたD/A変換器102を
通じてD/A変換した後、音声出力部103に与える。
音声出力部103は、例えばアンプおよびスピーカから
なり、コントローラ部11からの音声情報を出力する。
【0092】このように、メモリモジュール12内に音
声情報を直接入れておき、必要なときにD/A変換して
外部に出力する。これにより、特別な音声用ICを必要
とせずに寿命限界をユーザに知らせることができ、ユー
ザは寿命限界を把握して、メモリモジュール12の交換
時期を適格に判断できる。
【0093】なお、音声の内容として、例えば装置が突
然喋り出すとユーザが驚くので、ブザー音等を始めに鳴
らすような情報を音声情報に含めたり、ただ喋り出した
のではユーザは何が喋り出しのか分からないため、音源
が半導体メモリ装置であることを自身で名乗るようにし
た情報を音声情報の中に含めたり、故障時等のためにサ
ービスセンターの電話番号等の情報を音声情報に含め
る。また、音声の出し方として、音声情報により警告し
た後でも使用が続く場合に、書き込み動作毎に警告を発
するようにしたり(但し、書き込み間隔が短い場合には
数秒等の一定期間毎に警告を発するようにする)、残り
寿命に応じて内容を変えたり、警告の間隔を変えたりす
る。
【0094】(i)セルフ・コンペア・ライト機能 図13に示すように、コントローラ部11内のメモリ管
理コントローラ14は、比較回路41を備えており、同
一番地に既存データと同一内容の書込みを禁止する。こ
の比較回路41は、ホストシステムからの書込みデータ
と同データの書込み先にあるメモリ本体21内のデータ
とを比較する。
【0095】このような構成において、ホストシステム
から書込み要求があると、メモリ管理コントローラ14
はI/Fコントローラ13を通じて書込みデータおよび
そのデータの書込み先(アドレス)を受る。このとき、
メモリ管理コントローラ14は、書込み対象となったメ
モリモジュール12内のメモリ本体21に既に記憶され
ているデータをR/W制御回路16を介して読出す。そ
して、メモリ管理コントローラ14は、この読出したデ
ータとホストシステムによって指定された書込みデータ
とを比較回路41で比較し、その結果、両データが一致
した場合には、同一内容の書込みということで、その書
込みデータの書込み動作を禁止すると共に、ホストシス
テムには書込みが完了した旨を通知する。一方、両デー
タが一致しない場合には、メモリ管理コントローラ14
は通常通りR/W制御回路16を介して指定番地に対す
るデータの書込みを行う。
【0096】このような同一内容の書込みを禁止する機
能をセルフ・コンペア・ライト機能と呼ぶ。このセルフ
・コンペア・ライト機能を実行するか否かは、ホストシ
ステムからのコマンドまたはスイッチ等によって任意に
選択することができる。
【0097】(j)代替機能 図14に示すように、メモリモジュール12には複数の
代替用ブロック22が用意されており、データの書込み
時に、エラーが生じた場合、そのエラーブロックに代え
て、代替用ブロック22を用いる。すなわち、データの
書込みにてエラーが発生したブロック(読出しでは生じ
ない)は、今迄の“ホストシステムから見た番地”を割
り当てずに、予備として用意しておいていた“物理番
地”と代替する。この際、エラーブロック(“物理番
地”)には、対応する“ホストシステムから見た番地”
がなくなる。
【0098】また、同実施例では、各代替用ブロック2
2のうちの代替順位の遅い代替用ブロック22aに、寿
命限界を知らせるメッセージ情報を格納しておき、代替
領域の残りが少なくなって来た場合、すなわち、メモリ
モジュール12の寿命限界が近付いて来た場合に、この
メッセージ付き代替用ブロック22aから上記メッセー
ジ情報を読出して、ユーザに知らせる。この場合のユー
ザに対する通知方法は、例えば上述した音声による方法
を用いるものとする。すなわち、特別な音声用ICを必
要とせず、内部でメッセージ情報(音声情報)をD/A
変換して外部に出力する。
【0099】また、メッセージ付き代替用ブロック22
aは、そのメッセージ情報を出力した後、通常の代替用
ブロックとして用いるものとする。これにより、メモリ
容量を無駄にせずに、寿命限界をユーザに知らせること
ができる。
【0100】図15は代替処理の動作を説明するための
フローチャートである。
【0101】データを書込む場合、まず、当該ブロック
の内容を消去してから、そこにデータを書込む(ステッ
プA1〜A4)。ここで、データの消去時または書込み
時にエラーが生じた場合(ステップA2またはA4)、
コントローラ部11(メモリ管理コントローラ14)は
当該ブロックに代えて代替用ブロック22を用い、この
代替用ブロック22にデータの着込みを行うようにする
(ステップA6)。具体的には、コントローラ部11が
ホストシステムから見た番地に代替用物理番地を割り当
てて、データの書込みを行う。
【0102】このとき、メッセージ付き代替用ブロック
22aの使用段階であれば(ステップA5)、コントロ
ーラ部11はこのメッセージ付き代替用ブロック22a
に格納されているメッセージ情報を吸い上げ(ステップ
A7)、これを例えば音声出力等によりユーザに伝達す
る(ステップA8)。具体的には、メッセージ付き代替
用ブロック22aの使用段階に来たことで、コントロー
ラ部11は代替領域が少なくなったこと、つまり、メモ
リモジュール12としての寿命に限界が来たことを知
り、その旨を示すメッセージ情報を代替用物理番地から
吸い上げ、これをD/A変換するなどして外部に出力す
る。メッセージ情報が出力されると、コントローラ部1
1はその代替用ブロック22aを用いて上記同様の代替
処理を行い(ステップA9)、ステップA1からの処理
に戻る。
【0103】このように、データ書込み時にエラーが生
じても、代替用ブロック22を用いることで、その際の
データ書込みを救うことができる。また、代替順位の遅
い代替用ブロック22aに寿命限界を知らせるメッセー
ジ情報を格納しておくことで、代替領域の残りが少なく
なって来た場合、すなわち、メモリモジュール12の寿
命限界が近付いて来た場合に、その旨をユーザに知らせ
ることができる。この場合、メッセージ情報の出力後に
代替用ブロック22aを用いて代替処理を行うことで、
メモリ容量を無駄にすることがないなどの効果がある。
【0104】(k)メモリモジュールの形状および着脱
機構 現在、ノートブック型のパーソナルコンピュータの代表
的な厚さは44mm程度である。極端に薄いもので27
mm程度のものがあるが、これを除けば、44mm程度
の厚さが一般的であり、類似のものでも39mm程度の
厚さが最小である。一方、HDDは小型化が進み、1.
8インチのものがあるが、幅のサイズは50.8mmあ
るいは54mm程度である。したがって、1.8インチ
のHDDを想定しても、HDDの幅方向とノートブック
型パーソナルコンピュータの厚み方向を一致させての実
装は不可能である。
【0105】これに対し、本発明の半導体メモリ装置の
場合は、その幅方向とノートブック型パーソナルコンピ
ュータの厚み方向を一致させての実装は可能で、その場
合、市場性を確保するには、現在の類似商品群の中で最
も薄い39mmを想定する必要がある。この場合、半導
体メモリ装置の実装に際し、パーソナルコンピュータ側
では、図18に示すように、片側当り、外殻厚みとして
1.5mm、隙間として0.5mmの計2mm必要であ
り、39mmの厚みに収めるには、半導体メモリ装置の
幅(メモリモジュールの幅)wを39−2−2=35m
m以下に設計する必要がある。このような実装とするこ
とにより、パーソナルコンピュータ側の主基板の面積が
確保されるメリットがある。なお、図中、lは長さ、h
はたかさ(厚さ)を示す。
【0106】図18乃至図20に本発明のメモリモジュ
ールおよび着脱機構の具体的な構成例を示す。図18の
例では、メモリモジュール12を構成する複数のメモリ
チップ51がケース53内に収納されており、フレシキ
ブルケーブル52を介して本発明の半導体メモリ装置を
使用するホストシステム本体54に増設かつ着脱可能に
実装されるようになっている。この場合、メモリモジュ
ール12は、その幅方向とホストシステム本体54の厚
み方向を一致させて直列配列で増設される。
【0107】図19の例では、メモリモジュール12を
構成する複数のメモリチップ51がフレシキブルケーブ
ル52で接続されており、このフレシキブルケーブル5
2およびコネクタ52aによってホストシステム本体5
4に増設かつ着脱可能に実装されるようになっている。
この場合も、上記同様にメモリモジュール12はその幅
方向とホストシステム本体54の厚み方向を一致させて
直列配列で増設される。
【0108】図20の例では、メモリモジュール12を
構成する複数のメモリチップ51がメモリパック55で
接続されており、接触ピン56およびピン受け電極57
を介してホストシステム本体54に増設かつ着脱可能に
実装されるようになっている。この場合も、上記同様に
メモリモジュール12はその幅方向とホストシステム本
体54の厚み方向を一致させて直列配列で増設される
が、その増設に従って言わば受益者負担で装置が大きく
なる。すなわち、この場合には、外付でホストシステム
本体54にメモリモジュール12が増設される構造であ
るため、その増設数に応じてホストシステム全体が大き
くなる。しかし、外付構造であるため、図18または図
19に示すようなメモリモジュール12をホストシステ
ム本体54内に実装するものと比べて、ホストシステム
本体54自体の大きさを小さくすることができる。
【0109】このように、メモリモジュール12を簡単
に増設できるため、必要に応じて容量を増やすことがで
き、また、簡単に着脱できるため、メモリモジュール1
2の消耗状態に応じて交換することができる。
【0110】
【発明の効果】以上のように本発明によれば、ホストシ
ステム側がフラッシュEEPROMであることを意識せ
ずに、通常のアクセス手段でフラッシュEEPROMを
アクセス可能な半導体メモリ装置を実現できると共に、
以下に挙げるような効果が得られる。
【0111】(1)メモリモジュールであるフラッシュ
EEPROMの消耗状態を検出し、その消耗状態をホス
トシステム側またはユーザ側に通知する構成としたた
め、使用途中にて、フラッシュEEPROMの書換回数
が限界に達し、書換不能となる場合に備えることがで
き、突然の書込不能にユーザが当惑することを回避する
ことができる。
【0112】(2)外部から任意に指定される512バ
イトの実データを管理手段の管理の下でフラッシュメモ
リに割り付ける構成としたため、ホストシステム側はフ
ラッシュEEPROMであることを意識せずに、通常の
アクセス手段でフラッシュEEPROMをアクセスする
ことができる。
【0113】(3)メモリモジュールを装置本体に着脱
かつ増設可能に、装置本体の厚み方向に合わせて実装す
る構成としたため、装置寸法が既存のHDD等にとらわ
れずに、システム実装上、最適のものとなる。
【0114】(4)コントローラ部はバックアップなし
のRAMでしかメモリモジュールに関する記憶部を持た
ず、装置起動時にメモリモジュール側のROMからの情
報転送で装置構成をなすようにしたため、メモリモジュ
ールの交換が生じた場合に、コントローラ側がメモリモ
ジュール側の所持している情報に全て従う装置構成によ
り、メモリモジュールを交換しても、そのまま電源を立
ち上げれば済む。
【0115】(5)ホストシステム側から指定された論
理番地をメモリモジュール内の物理番地に変換する構成
としため、特定領域にアクスセが集中することを防止し
て、メモリモジュールにおける各メモリ物理番地(記憶
領域)の使用頻度を均一化できる。
【0116】(6)同一番地に既存データと同一内容の
書込みを禁止する構成としたため、無駄な書込みを防止
して、処理速度の向上を図ることができると共にメモリ
モジュールの寿命を延ばすことができる。
【0117】(7)メモリモジュールにおける各メモリ
物理番地(記憶領域)の使用頻度が均一になるようなデ
ータのスワッピングを行う構成としたため、部分的な劣
化を防止して、メモリモジュールの寿命を延ばすことが
できる。
【0118】(8)データの書込み時にECC等を前提
としたベリファイを行う構成としたため、データ書込み
時にエラーが発生した場合でも、その番地を救済するこ
とができ、その結果、メモリモジュールの寿命を延ばす
ことができる。
【0119】(9)3Vの電源電圧またはデータの読出
しに応じた電圧変換手段によって作る最適な電源電圧で
駆動する構成としたため、3V仕様の機器への接続が可
能となる。
【0120】(10)データ書込み時の電圧を各セルの
書込み状態に応じて可変する構成としため、データ書込
が困難なセルに対しては、より高い電圧で書込むことが
でき、書込寿命の限界性能を引き出しての使用が可能と
なる。
【0121】(11)メモリモジュール内の特定番地、
または特定のインタフェース手段の特定のコマンドを指
定することで、メモリモジュールの消耗状態を示す情報
を読出し、これをホストシステムに与える構成としたた
め、ホストシステム側でメモリモジュールの寿命を判断
できる。
【0122】(12)エラーが生じた記憶領域に代わっ
て代替用記憶領域を使用する構成としたため、寿命まで
使用していないにも拘らず、部分的に使用不能となる記
憶領域(物理番地)が発生した場合であっても、代替処
理により、その際のデータ書込みを救うことができ、結
果的にメモリモジュールを寿命まで使用できる。
【0123】(13)メモリモジュールの各記憶領域の
物理番地を基準にホストシステムの論理番地を割り付け
る構成としたため、メモリモジュールに複数の管理テー
ブルを設け、各管理テーブルのそれぞれがメモリモジュ
ール内の複数の記憶領域を管理する構成とした際でも、
各管理テーブルの使用頻度を均一化できる。
【図面の簡単な説明】
【図1】本発明の一実施例に係る半導体メモリ装置の基
本構成を示すブロック図。
【図2】図1に示される制御管理テーブルの構成を示す
図。
【図3】図1に示される管理テーブルおよびメモリ本体
の構成を示す図。
【図4】本発明のスワッピング動作を説明するための
図。
【図5】本発明のスワッピング動作を説明するための
図。
【図6】本発明のデータ書込み制御動作を説明するため
のフローチャート。
【図7】本発明のセルの書込み状態に応じた電圧制御動
作を説明するための図。
【図8】本発明のメモリモジュールの消耗度検出動作を
説明するためのブロック図。
【図9】本発明のメモリモジュールの消耗度をホストシ
ステムに知らせる方法を説明するための図。
【図10】上記メモリモジュールの消耗度をホストシス
テムに知らせる他の方法を説明するための図。
【図11】本発明のメモリモジュールの消耗度を直接使
用者に知らせる方法を説明するための図。
【図12】上記メモリモジュールの消耗度を直接使用者
に知らせる他の方法を説明するための図。
【図13】本発明のセルフ・コンペア・ライト動作を説
明するためのブロック図。
【図14】本発明の代替処理動作を説明するためのブロ
ック図。
【図15】上記代替処理動作を説明するためのフローチ
ャート。
【図16】本発明の複数の管理テーブルが存在する場合
におけるメモリモジュールの構成を示すブロック図。
【図17】本発明の複数の管理テーブルが存在する場合
における物理番地とホスト番地との対応表の構成を示す
図。
【図18】本発明のメモリモジュールおよびその着脱機
構の構成を示す斜視図。
【図19】本発明の他の実施例に係るメモリモジュール
およびその着脱機構の構成を示す斜視図。
【図20】本発明の他の実施例に係るメモリモジュール
およびその着脱機構の構成を示す斜視図。
【符号の説明】
11…コントローラ部、12…メモリモジュール、13
…I/Fコントローラ、14…メモリ管理コントロー
ラ、15…RAM、16…R/W制御回路、17…EC
C処理回路、18…電源回路、19…制御管理テーブ
ル、20,20a、20b,20c…管理テーブル、2
1,21a,21b,21c…メモリ本体、22…代替
用ブロック、22a…メッセージ付き代替用ブロック、
Vcc…読出電圧、Vpp…書込/消去電圧、31…消耗度
検出回路、32および33…カウンタ、34…印字部、
35…被印字部、41…比較回路、51…メモリチッ
プ、52…フレシキブルケーブル、52a…コネクタ、
53…ケース、54…ホストシステム本体、55…メモ
リパック、56…接触ピン、57…ピン受け電極、10
1…メッセージメモリ、102…D/A変換器、103
…音声出力部。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G11C 16/00 - 16/34 G11C 29/00 G06F 12/16

Claims (20)

    (57)【特許請求の範囲】
  1. 【請求項1】 所定のブロック単位で区切られた複数の
    記憶領域からなるメモリモジュールを備え、上記各記憶
    領域に対しデータの書込み/読出しを行う半導体メモリ
    装置において、 上記各記憶領域のデータの書換回数を記憶する書換回数
    記憶手段と、 この書換回数記憶手段によって記憶された上記書換回数
    に基づいて、上記各記憶領域の使用頻度が均一になるよ
    うに上記各記憶領域間でデータのスワッピングを行うス
    ワッピング制御手段とを具備したことを特徴とする半導
    体メモリ装置。
  2. 【請求項2】 所定のブロック単位で区切られた複数の
    記憶領域からなるメモリモジュールを備え、上記各記憶
    領域に対しデータの書込み/読出しを行う半導体メモリ
    装置において、 上記各記憶領域のデータの書換回数を記憶する書換回数
    記憶手段と、 上記各記憶領域のうちの任意の記憶領域からなり、上記
    書換回数記憶手段によって記憶された上記書換回数の上
    位部に相当する粗データを記憶する第1の管理テーブル
    と、 上記各記憶領域のうちの所定の記憶領域からなり、上記
    第1の管理テーブルの物理番地を記憶する第2の管理テ
    ーブルと、 データの書込み時に、上記第2の管理テーブルを参照し
    て上記第1の管理テーブルに記憶された上記書換回数の
    粗データを読出し、その粗データに基づいて上記各記憶
    領域の使用頻度が均一になるように上記各記憶領域間で
    データのスワッピングを行うスワッピング制御手段とを
    具備したことを特徴とする半導体メモリ装置。
  3. 【請求項3】 上記スワッピング制御手段は、上記各記
    憶領域間の上記書換回数の粗データの差が所定値以上に
    なった場合にスワッピングを行うことを特徴とする請求
    項2記載の半導体メモリ装置。
  4. 【請求項4】 上記スワッピング制御手段は、上記各記
    憶領域のうちの任意の記憶領域からなる上記第1の管理
    テーブルも含めてスワッピングを行うことを特徴とする
    請求項2記載の半導体メモリ装置。
  5. 【請求項5】 上記スワッピング制御手段は、上記第1
    の管理テーブルの書換回数が他の記憶領域より大きくな
    った場合にスワッピングを行い、上記第1の管理テーブ
    ルの書換回数が他の記憶領域より小さくなった場合には
    上記第1の管理テーブルをスワッピングの対象から外す
    ことを特徴とする請求項4記載の半導体メモリ装置。
  6. 【請求項6】 複数のメモリブロック手段がブロック単
    位で一括消去可能なフラッシュEEPROMからなり、
    当該複数のメモリブロック手段を有するフラッシュメモ
    リモジュールを備えた半導体メモリ装置であって、 上記各メモリブロック手段のデータが書き換えられる度
    に増加する書換回数を格納するための書換回数記憶手段
    と、 第1のメモリブロック手段および第2のメモリブロック
    手段を有し、上記第1のメモリブロック手段は、上記第
    2のメモリブロック手段を除く上記各メモリブロック手
    段のアドレス位置を対応付けするための管理テーブルお
    よび上記書換回数記憶手段に格納された書換回数に従っ
    た書込み頻度データを格納し、かつ、変更可能に配置さ
    れており、上記第2のメモリブロック手段は、上記第1
    のメモリブロック手段に格納された上記管理テーブルの
    アドレスを格納するように構成されているメモリ管理手
    段と、 ホストシステムによりアクセスされた論理アドレスを、
    上記管理テーブルに基づいてアクセスされる上記各メモ
    リブロック手段から1つのメモリブロック手段を指定す
    るための物理アドレスに変換し、上記指定されたメモリ
    ブロック手段に対して当該物理アドレスのデータを読出
    し、または指定のデータを書き込むように制御するメモ
    リ制御手段と、 上記ホストシステムから上記物理アドレスに対してデー
    タを書き込むライトアクセス要求があるとき、上記物理
    アドレスで指定されたメモリブロック手段の上記書込み
    頻度データが所定値より大きい場合には、当該メモリブ
    ロック手段を書込み頻度が相対的に低い値のメモリブロ
    ック手段にスワップするスワッピング制御手段とを具備
    したことを特徴とする半導体メモリ装置。
  7. 【請求項7】 上記メモリ制御手段は、上記第1のメモ
    リブロック手段から上記管理テーブルを読出して、当該
    管理テーブルをRAMに格納するコピーメモリ手段を含
    むメモリアクセス手段を有し、さらに、上記第1のメモ
    リブロック手段の上記管理テーブルが更新されたときに
    上記RAMに格納された当該管理テーブルを更新する手
    段を備えていることを特徴とする請求項6記載の半導体
    メモリ装置。
  8. 【請求項8】 上記メモリ制御手段がホストシステムか
    らのアドレスに応じて指定されたメモリブロック手段に
    第1のデータを書き込むときに、当該メモリブロック手
    段から第2のデータを読出し、当該第2のデータと上記
    第1のデータとを比較する比較手段と、 上記比較手段の比較結果が一致している場合に、上記メ
    モリ制御手段による上記第1のデータの書き込み動作を
    禁止する手段とを具備したことを特徴とする請求項6記
    載の半導体メモリ装置。
  9. 【請求項9】 複数のメモリブロック手段がブロック単
    位で一括消去可能で且つ書き換え可能な不揮発性メモリ
    からなり、当該複数のメモリブロック手段を有するフラ
    ッシュメモリモジュールを備えた半導体メモリ装置であ
    って、 上記各メモリブロック手段のデータが書き換えられる度
    に増加する書換回数を格納し、上記各メモリブロック手
    段に設けられた記憶エリアにより構成されたメモリ手段
    と、 上記メモリ手段の上記各メモリブロック手段のアドレス
    位置を対応付けするための管理テーブルおよび上記書換
    回数の上位部に相当する書込み頻度データを格納するメ
    モリ管理手段と、 ホストシステムによりアクセスされた論理アドレスを、
    上記メモリ管理手段の上記管理テーブルに基づいてアク
    セスされる上記各メモリブロック手段から1つのメモリ
    ブロック手段を指定するための物理アドレスに変換し、
    上記指定されたメモリブロック手段に対して当該物理ア
    ドレスのデータを読出し、または指定のデータを書き込
    むように制御するメモリ制御手段と、 上記ホストシステムから上記物理アドレスに対してデー
    タを書き込むライトアクセス要求があるとき、上記物理
    アドレスで指定されたメモリブロック手段の上記書込み
    頻度データが所定値より大きい場合には、当該メモリブ
    ロック手段を書込み頻度が相対的に低い値のメモリブロ
    ック手段にスワップするスワッピング制御手段とを具備
    したことを特徴とする半導体メモリ装置。
  10. 【請求項10】 上記メモリ制御手段は、上記メモリブ
    ロック手段からデータが読出されるリードモード時に、
    当該読出されたデータのエラーチェックおよびエラー訂
    正を実行するECC回路を含むことを特徴とする請求項
    9記載の半導体メモリ装置。
  11. 【請求項11】 上記メモリ制御手段は、上記メモリブ
    ロック手段にデータを書き込むライトモード時に上記E
    CC回路を使用して、ライトベリファイ処理を実行する
    手段を有することを特徴とする請求項10記載の半導体
    メモリ装置。
  12. 【請求項12】 上記メモリ制御手段は、ライトモード
    時に書き込まれた第1のデータを読出し、この第1のデ
    ータとホストシステムから供給された第2のデータとを
    比較し、上記比較結果が一致であればエラーが存在しな
    いと判定し、上記比較結果が不一致であれば上記第1の
    データのエラービットまたはエラー分布に基づいてリー
    ドモードでの上記ECC回路による上記第2のデータへ
    の回復が可能であるか否かを判定し、上記回復が可能で
    あれば上記第1のデータにはエラーが存在しないと判定
    するようにライトベリファイ処理を実行することを特徴
    とする請求項9記載の半導体メモリ装置。
  13. 【請求項13】 上記メモリ制御手段は、ライトモード
    時に書き込まれた第1のデータを上記ECC回路に供給
    し、上記ECC回路で処理された上記第1のデータとホ
    ストシステムから供給された第2のデータとを比較し、
    上記比較結果が一致であれば書込み動作を終了し、上記
    比較結果が不一致であれば他の書込み動作を行うように
    ライトベリファイ処理を実行することを特徴とする請求
    項12記載の半導体メモリ装置。
  14. 【請求項14】 上記メモリ制御手段のリード/ライト
    制御により上記各メモリブロック手段にデータが書き込
    まれるライトモード時に、上記各メモリブロック手段に
    対して所定の書き込み電圧を供給する電源供給制御手段
    を有し、 上記電源供給制御手段は、上記ライトベリファイ処理時
    に上記第1のデータと上記第2のデータとの比較結果が
    不一致の場合に、所定の範囲内で上記書き込み電圧のレ
    ベルを上昇させるように電源電圧の制御を実行する手段
    を有し、 上記メモリ制御手段は、上記比較結果が不一致の場合に
    他の書込み動作を実行する手段を有することを特徴とす
    る請求項13記載の半導体メモリ装置。
  15. 【請求項15】 上記メモリ制御手段によるライトベリ
    ファイ処理の期間で、書込み動作が完了するまでに繰り
    返された書込み繰り返し回数をカウントする第1のカウ
    ント手段と、 上記比較結果が不一致のときに、上記第1のデータに発
    生するエラービット数をカウントする第2のカウント手
    段と、 上記第1および第2のカウント手段の各カウント値に基
    づいて、上記メモリブロック手段を構成する不揮発性メ
    モリの使用状態を判定する判定手段とを有することを特
    徴とする請求項13記載の半導体メモリ装置。
  16. 【請求項16】 上記メモリ制御手段のリード/ライト
    制御により上記各メモリブロック手段にデータが書き込
    まれるライトモード時に、上記各メモリブロック手段に
    対して所定の書き込み電圧を供給する電源供給制御手段
    を有し、 上記電源供給制御手段は、上記メモリ制御手段がライト
    ベリファイ処理時にデータにはエラーが存在していると
    判定したときには、所定の範囲内で上記書き込み電圧の
    レベルを上昇させるように電源電圧の制御を実行するこ
    とを特徴とする請求項12記載の半導体メモリ装置。
  17. 【請求項17】 上記メモリ制御手段によるライトベリ
    ファイ処理時に、上記メモリブロック手段にエラーが発
    生したときに、当該メモリブロック手段と交換するため
    の代替メモリブロック手段と、 ホストシステムにより指定されたアドレスに応じた上記
    メモリブロック手段の代わりに上記代替メモリブロック
    手段に指定されたデータを書き込むライト制御手段とを
    有することを特徴とする請求項12記載の半導体メモリ
    装置。
  18. 【請求項18】 上記代替メモリブロック手段が使用さ
    れているとき、エラーが発生したメモリブロック手段の
    管理テーブルのアドレスを上記代替メモリブロック手段
    のアドレスに変更する変更手段を有することを特徴とす
    る請求項17記載の半導体メモリ装置。
  19. 【請求項19】 上記メモリ管理手段の書込み頻度デー
    タを読出し、当該書込み頻度データに基づいて上記各メ
    モリブロック手段の使用状態を判定する判定手段を有す
    ることを特徴とする請求項9記載の半導体メモリ装置。
  20. 【請求項20】 複数の第1のメモリブロックを含むデ
    ータエリアおよび少なくとも1つの第2のメモリブロッ
    クを含む管理エリアを有し、当該各第1のメモリブロッ
    クが書換回数を記憶しており、当該管理エリアが上記各
    第1のメモリブロックの書き込み頻度を示す書込み頻度
    データを格納するように構成されたフラッシュEEPR
    OMモジュールと、 上記フラッシュEEPROMモジュールのリード/ライ
    ト動作等のアクセスを制御し、上記各第1のメモリブロ
    ックの中の第1ブロックに格納された上記書換回数を当
    該第1のブロックに対してライト動作の要求があったと
    きに加算し、かつ上記書換回数が所定値と同一になった
    ときに当該第1のブロックのみに対応する上記書込み頻
    度データを更新する制御手段と、 書込み頻度が相対的に低い値の上記第1のメモリブロッ
    クから第2のブロックを選択し、かつ上記第1のブロッ
    クの上記書換回数を加算した後の上記書込み頻度データ
    が所定値より大きい場合には、上記選択した第2のブロ
    ックを上記第1のブロックとスワップするスワップピン
    グ制御手段とを具備したことを特徴とする半導体メモリ
    装置。
JP24471392A 1992-01-10 1992-09-14 半導体メモリ装置 Expired - Lifetime JP3178909B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP24471392A JP3178909B2 (ja) 1992-01-10 1992-09-14 半導体メモリ装置
US08/481,156 US5559956A (en) 1992-01-10 1995-06-07 Storage system with a flash memory module
US08/670,098 US5673383A (en) 1992-01-10 1996-06-25 Storage system with a flash memory module

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP4-3368 1992-01-10
JP336892 1992-01-10
JP24471392A JP3178909B2 (ja) 1992-01-10 1992-09-14 半導体メモリ装置

Publications (2)

Publication Number Publication Date
JPH05282880A JPH05282880A (ja) 1993-10-29
JP3178909B2 true JP3178909B2 (ja) 2001-06-25

Family

ID=26336929

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24471392A Expired - Lifetime JP3178909B2 (ja) 1992-01-10 1992-09-14 半導体メモリ装置

Country Status (2)

Country Link
US (2) US5559956A (ja)
JP (1) JP3178909B2 (ja)

Families Citing this family (160)

* 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
JP3587204B2 (ja) * 1991-11-28 2004-11-10 株式会社日立製作所 記憶装置
JP3407317B2 (ja) * 1991-11-28 2003-05-19 株式会社日立製作所 フラッシュメモリを使用した記憶装置
US5404485A (en) * 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US5682497A (en) * 1993-09-28 1997-10-28 Intel Corporation Managing file structures for a flash memory file system in a computer
JP2938732B2 (ja) * 1993-11-10 1999-08-25 松下電送システム株式会社 メモリ管理装置とこれを用いたファクシミリ装置
JPH07153285A (ja) * 1993-11-29 1995-06-16 Sansei Denshi Japan Kk 不揮発性フラッシュメモリの制御方法とその装置
JP3999822B2 (ja) * 1993-12-28 2007-10-31 株式会社東芝 記憶システム
JP3539752B2 (ja) * 1994-03-02 2004-07-07 沖電気工業株式会社 半導体記憶装置とメモリ制御方法
JPH08137763A (ja) * 1994-11-04 1996-05-31 Fujitsu Ltd フラッシュメモリ制御装置
JPH08137634A (ja) * 1994-11-09 1996-05-31 Mitsubishi Electric Corp フラッシュディスクカード
JP3464836B2 (ja) * 1995-01-19 2003-11-10 富士通株式会社 記憶装置のメモリ管理装置
US5867641A (en) * 1995-10-27 1999-02-02 Scm Microsystems (U.S.) Inc. Flash translation layer cleanup system and method
US5987478A (en) * 1995-10-31 1999-11-16 Intel Corporation Virtual small block file manager for flash memory array
JPH09185551A (ja) * 1996-01-08 1997-07-15 Mitsubishi Electric Corp 半導体記憶装置
JP3615299B2 (ja) * 1996-03-29 2005-02-02 三洋電機株式会社 書換え可能romの記憶方法及び記憶装置
US5774647A (en) * 1996-05-15 1998-06-30 Hewlett-Packard Company Management of memory modules
JPH1011878A (ja) * 1996-06-28 1998-01-16 Toshiba Corp ディスク装置及び同装置におけるモニター値保存制御方法
JPH10124381A (ja) * 1996-10-21 1998-05-15 Mitsubishi Electric Corp 半導体記憶装置
US6038680A (en) * 1996-12-11 2000-03-14 Compaq Computer Corporation Failover memory for a computer system
JPH10207726A (ja) * 1997-01-23 1998-08-07 Oki Electric Ind Co Ltd 半導体ディスク装置
WO1998035344A2 (en) * 1997-02-12 1998-08-13 Hyundai Electronics America, Inc. A nonvolatile memory structure
US5787039A (en) * 1997-03-06 1998-07-28 Macronix International Co., Ltd. Low current floating gate programming with bit-by-bit verification
KR100513814B1 (ko) * 1997-06-20 2005-12-16 소니 가부시끼 가이샤 데이터관리장치,데이터관리방법및기억매체
US5956743A (en) * 1997-08-25 1999-09-21 Bit Microsystems, Inc. Transparent management at host interface of flash-memory overhead-bytes using flash-specific DMA having programmable processor-interrupt of high-level operations
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
US5822251A (en) * 1997-08-25 1998-10-13 Bit Microsystems, Inc. Expandable flash-memory mass-storage using shared buddy lines and intermediate flash-bus between device-specific buffers and flash-intelligent DMA controllers
JP3557511B2 (ja) * 1997-08-27 2004-08-25 沖電気工業株式会社 半導体ディスク装置の寿命算出方法
JP3616487B2 (ja) * 1997-11-21 2005-02-02 アルプス電気株式会社 ディスクアレイ装置
US6477632B1 (en) * 1997-12-05 2002-11-05 Tokyo Electron Device Limited Storage device and accessing method
WO1999031592A1 (fr) 1997-12-16 1999-06-24 Tdk Corporation Systeme de memoire flash
WO1999032977A1 (fr) 1997-12-22 1999-07-01 Tdk Corporation Systeme de memoire flash
JP3663043B2 (ja) * 1997-12-25 2005-06-22 三洋電機株式会社 マイクロコンピュータの書き込み終了の判別方法
US6182239B1 (en) * 1998-02-06 2001-01-30 Stmicroelectronics, Inc. Fault-tolerant codes for multi-level memories
JP4228407B2 (ja) * 1998-03-04 2009-02-25 ソニー株式会社 情報記録装置及び情報記録方法
US6038636A (en) * 1998-04-27 2000-03-14 Lexmark International, Inc. Method and apparatus for reclaiming and defragmenting a flash memory device
JP3421581B2 (ja) * 1998-06-29 2003-06-30 株式会社日立製作所 不揮発性半導体メモリを用いた記憶装置
EP1027653B1 (de) * 1998-09-04 2004-09-15 Hyperstone AG Zugriffssteuerung eines speichers beschränkter löschhäufigkeit
JP2000105723A (ja) * 1998-09-29 2000-04-11 Fujitsu Ltd メモリの空き管理装置
US7702831B2 (en) * 2000-01-06 2010-04-20 Super Talent Electronics, Inc. Flash memory controller for electronic data flash card
JP3937214B2 (ja) 1999-09-17 2007-06-27 株式会社ルネサステクノロジ エラー訂正回数を記録する記憶装置
US20060161725A1 (en) * 2005-01-20 2006-07-20 Lee Charles C Multiple function flash memory system
JP2001202281A (ja) * 2000-01-19 2001-07-27 Sony Corp 記録方法及び装置、転送方法及び装置、再生方法及び装置、記録媒体
US6426893B1 (en) 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
US7113432B2 (en) * 2000-09-14 2006-09-26 Sandisk Corporation Compressed event counting technique and application to a flash memory system
US6684289B1 (en) 2000-11-22 2004-01-27 Sandisk Corporation Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory
FR2823896B1 (fr) * 2001-04-23 2003-10-24 E Bourgeois Ets Simulateur de vol adapte a une famille d'aeronefs
JP2002351689A (ja) * 2001-05-30 2002-12-06 Nec Corp データ転送システム
US6711663B2 (en) * 2001-11-15 2004-03-23 Key Technology Corporation Algorithm of flash memory capable of quickly building table and preventing improper operation and control system thereof
US6704852B2 (en) * 2001-11-16 2004-03-09 Key Technology Corporation Control device applicable to flash memory card and method for building partial lookup table
KR100439507B1 (ko) * 2002-03-18 2004-07-09 삼성전기주식회사 고 용량 플래시 메모리 카드 시스템에서의 데이터 운영 방법
US7203886B2 (en) * 2002-03-27 2007-04-10 Intel Corporation Detecting and correcting corrupted memory cells in a memory
JP2004133677A (ja) * 2002-10-10 2004-04-30 Renesas Technology Corp 記憶装置
JP3694501B2 (ja) * 2002-10-30 2005-09-14 松下電器産業株式会社 記憶装置
EP1563401B1 (en) * 2002-11-05 2006-11-22 Koninklijke Philips Electronics N.V. Data processing apparatus with address redirection in response to periodic address patterns
CN1742519B (zh) * 2003-01-28 2010-06-16 株式会社半导体能源研究所 发光元件及其制作方法
JP4073799B2 (ja) * 2003-02-07 2008-04-09 株式会社ルネサステクノロジ メモリシステム
JP4550439B2 (ja) * 2003-02-28 2010-09-22 東芝メモリシステムズ株式会社 Ecc制御装置
WO2004097650A1 (ja) * 2003-04-25 2004-11-11 Matsushita Electric Industrial Co., Ltd. データ記録装置
JP2005056394A (ja) * 2003-07-18 2005-03-03 Toshiba Corp 記憶装置及びメモリカード
US8706990B2 (en) 2003-10-28 2014-04-22 Sandisk Technologies Inc. Adaptive internal table backup for non-volatile memory system
US7881133B2 (en) * 2003-11-11 2011-02-01 Samsung Electronics Co., Ltd. Method of managing a flash memory and the flash memory
KR100719380B1 (ko) * 2006-03-31 2007-05-18 삼성전자주식회사 향상된 신뢰성 특성을 갖는 다치 플래시 메모리 장치 및그것을 포함한 메모리 시스템
JP3892851B2 (ja) * 2004-02-04 2007-03-14 株式会社東芝 メモリカード及び半導体装置
US20080147964A1 (en) * 2004-02-26 2008-06-19 Chow David Q Using various flash memory cells to build usb data flash cards with multiple partitions and autorun function
WO2005081647A2 (en) * 2004-03-02 2005-09-09 Hismartech Co., Ltd. Method, system and a computer-readable recording medium for controlling storage of data in memory and system therefor
JP2005258493A (ja) * 2004-03-09 2005-09-22 Buffalo Inc 外部記憶装置
JP4256307B2 (ja) 2004-06-21 2009-04-22 株式会社東芝 メモリカード
JP4209820B2 (ja) 2004-07-15 2009-01-14 株式会社ハギワラシスコム メモリカードシステム及び該メモリカードシステムで使用されるライトワンス型メモリカード、ホストシステムと半導体記憶デバイスとからなるシステム
JP2006048783A (ja) * 2004-08-02 2006-02-16 Renesas Technology Corp 不揮発性メモリおよびメモリカード
US9459960B2 (en) * 2005-06-03 2016-10-04 Rambus Inc. Controller device for use with electrically erasable programmable memory chip with error detection and retry modes of operation
US7831882B2 (en) * 2005-06-03 2010-11-09 Rambus Inc. Memory system with error detection and retry modes of operation
US7509474B2 (en) * 2005-06-08 2009-03-24 Micron Technology, Inc. Robust index storage for non-volatile memory
US8819088B2 (en) * 2005-07-14 2014-08-26 International Business Machines Corporation Implementing storage management functions using a data store system
JP2007122831A (ja) * 2005-10-31 2007-05-17 Fujitsu Ltd 記憶装置、制御方法及びプログラム
EP1966699A2 (en) * 2005-12-22 2008-09-10 Nxp B.V. Memory with block-erasable locations and a linked chain of pointers to locate blocks with pointer information
US7562285B2 (en) * 2006-01-11 2009-07-14 Rambus Inc. Unidirectional error code transfer for a bidirectional data link
ES2498096T3 (es) * 2006-03-31 2014-09-24 Mosaid Technologies Incorporated Esquema de control de sistema de memoria Flash
US7441069B2 (en) * 2006-04-13 2008-10-21 Intel Corporation Default instruction to hide nonvolatile memory core initialization latency
US20070271495A1 (en) * 2006-05-18 2007-11-22 Ian Shaeffer System to detect and identify errors in control information, read data and/or write data
US8352805B2 (en) 2006-05-18 2013-01-08 Rambus Inc. Memory error detection
US8166231B2 (en) 2006-08-08 2012-04-24 Panasonic Corporation Memory controller, nonvolatile memory device, access device, and nonvolatile memory system
TW200814088A (en) * 2006-09-05 2008-03-16 Genesys Logic Inc Method for increasing read/write lifespan of flash memory
KR100877609B1 (ko) * 2007-01-29 2009-01-09 삼성전자주식회사 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법
JP4660855B2 (ja) * 2007-06-05 2011-03-30 大和冷機工業株式会社 データ記録装置及びデータ記録方法とこのデータ記録装置を搭載した保冷庫
US7593284B2 (en) * 2007-10-17 2009-09-22 Unity Semiconductor Corporation Memory emulation using resistivity-sensitive memory
TWI362044B (en) * 2007-11-09 2012-04-11 Transcend Information Inc Storage apparatus and method for accessing data and for managing memory block
WO2009063614A1 (ja) 2007-11-14 2009-05-22 Panasonic Corporation メモリコントローラ、不揮発性記憶モジュール、アクセスモジュール、及び不揮発性記憶システム
US8959307B1 (en) 2007-11-16 2015-02-17 Bitmicro Networks, Inc. Reduced latency memory read transactions in storage devices
US20090271564A1 (en) * 2008-04-25 2009-10-29 Hitachi, Ltd. Storage system
US8719670B1 (en) * 2008-05-07 2014-05-06 Sk Hynix Memory Solutions Inc. Coding architecture for multi-level NAND flash memory with stuck cells
US8464131B2 (en) * 2008-06-23 2013-06-11 Ramot At Tel Aviv University Ltd. Reading a flash memory by constrained decoding
US8458563B2 (en) * 2008-06-23 2013-06-04 Ramot At Tel Aviv University Ltd. Reading a flash memory by joint decoding and cell voltage distribution tracking
WO2010038736A1 (ja) * 2008-10-01 2010-04-08 株式会社日立製作所 半導体装置
KR101537018B1 (ko) * 2008-10-01 2015-07-17 삼성전자주식회사 보안 메모리 인터페이스, 이를 포함하는 시스템 및 스마트카드
KR101042197B1 (ko) 2008-12-30 2011-06-20 (주)인디링스 메모리 컨트롤러 및 메모리 관리 방법
US20100199060A1 (en) * 2009-02-04 2010-08-05 Panasonic Corporation Memory controller, nonvolatile memory module, access module, and nonvolatile memory system
US8665601B1 (en) 2009-09-04 2014-03-04 Bitmicro Networks, Inc. Solid state drive with improved enclosure assembly
US9135190B1 (en) 2009-09-04 2015-09-15 Bitmicro Networks, Inc. Multi-profile memory controller for computing devices
US8447908B2 (en) 2009-09-07 2013-05-21 Bitmicro Networks, Inc. Multilevel memory bus system for solid-state mass storage
US8560804B2 (en) 2009-09-14 2013-10-15 Bitmicro Networks, Inc. Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device
FR2951577A1 (fr) * 2009-10-20 2011-04-22 St Microelectronics Rousset Dispositif pour fournir une haute tension d'effacement programmation a un circuit integre
EP2317519A1 (fr) * 2009-10-20 2011-05-04 STMicroelectronics Rousset SAS Circuit intégré comprenant une borne non dédié de réception d'une haute tension d'effacement programmation
JP5349256B2 (ja) 2009-11-06 2013-11-20 株式会社東芝 メモリシステム
JP2011203916A (ja) * 2010-03-25 2011-10-13 Toshiba Corp メモリコントローラ、および半導体記憶装置
US20120317377A1 (en) * 2011-06-09 2012-12-13 Alexander Palay Dual flash translation layer
US9372755B1 (en) 2011-10-05 2016-06-21 Bitmicro Networks, Inc. Adaptive power cycle sequences for data recovery
CN102609378B (zh) * 2012-01-18 2016-03-30 中国科学院计算技术研究所 一种消息式内存访问装置及其访问方法
JP2013164888A (ja) 2012-02-10 2013-08-22 Toshiba Corp 半導体記憶装置
JP5929456B2 (ja) * 2012-04-17 2016-06-08 ソニー株式会社 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法
US9043669B1 (en) 2012-05-18 2015-05-26 Bitmicro Networks, Inc. Distributed ECC engine for storage media
JP2014116753A (ja) * 2012-12-07 2014-06-26 Mega Chips Corp データ処理装置及び制御プログラム並びにデータ処理装置の動作方法
US9098428B2 (en) 2012-12-11 2015-08-04 Sandisk Technologies Inc. Data recovery on cluster failures and ECC enhancements with code word interleaving
US9423457B2 (en) 2013-03-14 2016-08-23 Bitmicro Networks, Inc. Self-test solution for delay locked loops
US9934045B1 (en) 2013-03-15 2018-04-03 Bitmicro Networks, Inc. Embedded system boot from a storage device
US9916213B1 (en) 2013-03-15 2018-03-13 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9875205B1 (en) 2013-03-15 2018-01-23 Bitmicro Networks, Inc. Network of memory systems
US9720603B1 (en) 2013-03-15 2017-08-01 Bitmicro Networks, Inc. IOC to IOC distributed caching architecture
US9842024B1 (en) 2013-03-15 2017-12-12 Bitmicro Networks, Inc. Flash electronic disk with RAID controller
US9400617B2 (en) 2013-03-15 2016-07-26 Bitmicro Networks, Inc. Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained
US9971524B1 (en) 2013-03-15 2018-05-15 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
US9798688B1 (en) 2013-03-15 2017-10-24 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9734067B1 (en) 2013-03-15 2017-08-15 Bitmicro Networks, Inc. Write buffering
US9501436B1 (en) 2013-03-15 2016-11-22 Bitmicro Networks, Inc. Multi-level message passing descriptor
US9430386B2 (en) 2013-03-15 2016-08-30 Bitmicro Networks, Inc. Multi-leveled cache management in a hybrid storage system
US9672178B1 (en) 2013-03-15 2017-06-06 Bitmicro Networks, Inc. Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system
US10489318B1 (en) 2013-03-15 2019-11-26 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
US10120694B2 (en) 2013-03-15 2018-11-06 Bitmicro Networks, Inc. Embedded system boot from a storage device
JP6213040B2 (ja) * 2013-08-19 2017-10-18 富士通株式会社 半導体記憶装置および半導体記憶装置の制御方法
JPWO2015037159A1 (ja) 2013-09-13 2017-03-02 株式会社東芝 半導体記憶装置及びメモリシステム
US10073731B2 (en) * 2013-11-27 2018-09-11 Intel Corporation Error correction in memory
GB201322075D0 (en) 2013-12-13 2014-01-29 Ibm Device for selecting a level for at least one read voltage
US9558107B2 (en) * 2013-12-24 2017-01-31 International Business Machines Corporation Extending useful life of a non-volatile memory by health grading
WO2015155824A1 (ja) * 2014-04-07 2015-10-15 株式会社日立製作所 ストレージシステム
US10025736B1 (en) 2014-04-17 2018-07-17 Bitmicro Networks, Inc. Exchange message protocol message transmission between two devices
US10055150B1 (en) 2014-04-17 2018-08-21 Bitmicro Networks, Inc. Writing volatile scattered memory metadata to flash device
US9952991B1 (en) 2014-04-17 2018-04-24 Bitmicro Networks, Inc. Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation
US9811461B1 (en) 2014-04-17 2017-11-07 Bitmicro Networks, Inc. Data storage system
US10042792B1 (en) 2014-04-17 2018-08-07 Bitmicro Networks, Inc. Method for transferring and receiving frames across PCI express bus for SSD device
US10078604B1 (en) 2014-04-17 2018-09-18 Bitmicro Networks, Inc. Interrupt coalescing
US9892033B1 (en) * 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US10002044B2 (en) 2014-08-19 2018-06-19 Samsung Electronics Co., Ltd. Memory devices and modules
US10002043B2 (en) * 2014-08-19 2018-06-19 Samsung Electronics Co., Ltd. Memory devices and modules
US10365859B2 (en) 2014-10-21 2019-07-30 International Business Machines Corporation Storage array management employing a merged background management process
US9563373B2 (en) 2014-10-21 2017-02-07 International Business Machines Corporation Detecting error count deviations for non-volatile memory blocks for advanced non-volatile memory block management
US10339048B2 (en) 2014-12-23 2019-07-02 International Business Machines Corporation Endurance enhancement scheme using memory re-evaluation
US9990279B2 (en) 2014-12-23 2018-06-05 International Business Machines Corporation Page-level health equalization
US10055267B2 (en) 2015-03-04 2018-08-21 Sandisk Technologies Llc Block management scheme to handle cluster failures in non-volatile memory
US9916091B2 (en) 2015-07-13 2018-03-13 Samsung Electronics Co., Ltd. Memory system architecture
EP3571530A4 (en) * 2017-01-23 2020-08-12 Shenzhen Xpectvision Technology Co., Ltd. RADIATION DETECTOR WITH DYNAMICALLY ALLOCATED MEMORY FOR PARTICLE COUNTING
JP6862951B2 (ja) * 2017-03-15 2021-04-21 富士通株式会社 メモリ制御装置、情報処理装置およびメモリ制御方法
US10552050B1 (en) 2017-04-07 2020-02-04 Bitmicro Llc Multi-dimensional computer storage system
US10296738B2 (en) 2017-05-03 2019-05-21 Nuvoton Technology Corporation Secure integrated-circuit state management
US10769064B1 (en) 2017-12-20 2020-09-08 Pliops Ltd Method for retrieving key value pairs and groups of key value pairs
US11210166B1 (en) * 2017-12-22 2021-12-28 Pliops Ltd. Efficient redundancy management in key-value NAND flash storage
US10860249B2 (en) 2017-12-25 2020-12-08 Pliops Ltd. Solid state disk (SSD) controller and database
EP3776207B1 (en) 2018-03-26 2023-08-09 Rambus Inc. Command/address channel error detection
US11070229B1 (en) 2019-05-19 2021-07-20 Pliops Codeword generator
US11257543B2 (en) * 2019-06-25 2022-02-22 Stmicroelectronics International N.V. Memory management device, system and method
US11360667B2 (en) 2019-09-09 2022-06-14 Stmicroelectronics S.R.L. Tagged memory operated at lower vmin in error tolerant system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58215794A (ja) * 1982-06-08 1983-12-15 Toshiba Corp 不揮発性メモリ装置
US4752871A (en) * 1985-09-30 1988-06-21 Motorola, Inc. Single-chip microcomputer having a program register for controlling two EEPROM arrays
US5053990A (en) * 1988-02-17 1991-10-01 Intel Corporation Program/erase selection for flash memory
US5268870A (en) * 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
US5172338B1 (en) * 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
EP0935255A2 (en) * 1989-04-13 1999-08-11 SanDisk Corporation Flash EEPROM system
US5210854A (en) * 1989-06-14 1993-05-11 Digital Equipment Corporation System for updating program stored in eeprom by storing new version into new location and updating second transfer vector to contain starting address of new version
US5200959A (en) * 1989-10-17 1993-04-06 Sundisk Corporation Device and method for defect handling in semi-conductor memory
US5303198A (en) * 1990-09-28 1994-04-12 Fuji Photo Film Co., Ltd. Method of recording data in memory card having EEPROM and memory card system using the same
US5155835A (en) * 1990-11-19 1992-10-13 Storage Technology Corporation Multilevel, hierarchical, dynamically mapped data storage subsystem
US5270979A (en) * 1991-03-15 1993-12-14 Sundisk Corporation Method for optimum erasing of EEPROM
US5263003A (en) * 1991-11-12 1993-11-16 Allen-Bradley Company, Inc. Flash memory circuit and method of operation

Also Published As

Publication number Publication date
JPH05282880A (ja) 1993-10-29
US5673383A (en) 1997-09-30
US5559956A (en) 1996-09-24

Similar Documents

Publication Publication Date Title
JP3178909B2 (ja) 半導体メモリ装置
US10552311B2 (en) Recovery for non-volatile memory after power loss
US6865658B2 (en) Nonvolatile data management system using data segments and link information
US8775771B2 (en) Block management method for a flash memory and flash memory controller and storage system using the same
JP4079506B2 (ja) 不揮発性半導体メモリシステムの制御方法
JP4472010B2 (ja) 記憶装置
EP0977121B1 (en) Non-volatile memory, recording apparatus and recording method
JP4129381B2 (ja) 不揮発性半導体記憶装置
KR100871027B1 (ko) 데이터 기록 장치 및 플래시 메모리에 대한 데이터 기입방법
US8086787B2 (en) Wear leveling method, and storage system and controller using the same
US8352672B2 (en) Memory system with nonvolatile memory
JPH10320984A (ja) 記憶装置
JP2007293917A (ja) メモリシステムの制御方法
KR100932801B1 (ko) 메모리 관리 방법, 메모리 장치 및 컴퓨터 판독 가능 저장매체
JP2005222202A (ja) 不揮発性記憶装置のデータ保護方法
JP4513786B2 (ja) メモリコントローラ、メモリシステム及びメモリ制御方法
JP3808842B2 (ja) 書き換え可能な不揮発性メモリを備えた記憶装置及び記憶装置用不揮発性メモリの制御方法
JP4655034B2 (ja) メモリコントローラ及びフラッシュメモリシステム並びにフラッシュメモリの制御方法
KR100654343B1 (ko) 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법
JP2005292925A (ja) メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP4000124B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP3934659B1 (ja) メモリコントローラ及びフラッシュメモリシステム
JP4332108B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2006048227A (ja) メモリ装置、メモリ装置の制御方法およびデータ処理システム
JP4366283B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080413

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090413

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100413

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100413

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110413

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130413

Year of fee payment: 12

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130413

Year of fee payment: 12