JPH05282880A - 半導体ディスク装置 - Google Patents

半導体ディスク装置

Info

Publication number
JPH05282880A
JPH05282880A JP24471392A JP24471392A JPH05282880A JP H05282880 A JPH05282880 A JP H05282880A JP 24471392 A JP24471392 A JP 24471392A JP 24471392 A JP24471392 A JP 24471392A JP H05282880 A JPH05282880 A JP H05282880A
Authority
JP
Japan
Prior art keywords
data
memory module
disk device
semiconductor disk
writing
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.)
Granted
Application number
JP24471392A
Other languages
English (en)
Other versions
JP3178909B2 (ja
Inventor
Hiroshi Sukegawa
博 助川
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

Abstract

(57)【要約】 【目的】ホストシステム側がフラッシュEEPROMで
あることを意識せずに、通常のアクセス手段でフラッシ
ュEEPROMをアクセス可能な半導体ディスク装置を
実現する。 【構成】コントローラ部11およびメモリモジュール1
2からなる半導体ディスク装置において、コントローラ
部11内のメモリ管理コントローラ14はR/W制御回
路16を通じてメモリモジュール12内の制御管理テー
ブル19を読み、その内容をコントローラ側のRAM1
5に書込むと共に、制御管理テーブル19に記憶されて
いる管理テーブル20の所在番地を見て、その管理テー
ブル20の内容をRAM15に書込む。これにより、コ
ントローラ部11側にメモリモジュール12の管理情報
が記憶されることによって装置構成がなされる。

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

Claims (29)

    【特許請求の範囲】
  1. 【請求項1】 消耗品であるメモリモジュールを備え、
    このメモリモジュールに対しデータの書込み/読出しを
    行う半導体ディスク装置において、 上記メモリモジュールの消耗状態を検出する消耗状態検
    出手段と、 この消耗状態検出手段によって検出された上記メモリモ
    ジュールの消耗状態を通知する通知手段とを具備したこ
    とを特徴とする半導体ディスク装置。
  2. 【請求項2】 上記メモリモジュールは、フラッシュメ
    モリからなることを特徴とする請求項1記載の半導体デ
    ィスク装置。
  3. 【請求項3】 フラッシュメモリをメモリ素子として使
    用し、データの書込み/読出しを行う半導体ディスク装
    置において、 外部から任意に指定される512バイトの実データを上
    記フラッシュメモリに対してどのように割り付けるかを
    管理する管理手段を備えたことを特徴とする半導体ディ
    スク装置。
  4. 【請求項4】 上記管理手段は、上記フラッシュメモリ
    の物理番地を管理する管理テーブルを有し、この管理テ
    ーブルに従って外部から任意に指定される512バイト
    の実データを内部的にスワッピングしながら上記フラッ
    シュメモリに割り付けることを特徴とする請求項3記載
    の半導体ディスク装置。
  5. 【請求項5】 メモリモジュールを備え、このメモリモ
    ジュールに対しデータの書込み/読出しを行う半導体デ
    ィスク装置において、 上記メモリモジュールは装置本体に対して着脱かつ増設
    可能な機構を具備したことを特徴とする半導体ディスク
    装置。
  6. 【請求項6】 上記機構は、上記メモリモジュールを上
    記装置本体に対して直列配列で増設可能なことを特徴と
    する請求項5記載の半導体ディスク装置。
  7. 【請求項7】 メモリモジュールを備え、このメモリモ
    ジュールに対しデータの書込み/読出しを行う半導体デ
    ィスク装置において、 装置本体の一片の寸法が上記装置本体を実装するホスト
    システム本体の厚み方向の寸法以下であることを特徴と
    する半導体ディスク装置。
  8. 【請求項8】 上記寸法は、35mm以下であることを
    特徴とする請求項7記載の半導体ディスク装置。
  9. 【請求項9】 ホストシステム側とデータの送受信を行
    うコントローラ部、およびこのコントローラ部の制御の
    下で各種の情報を記憶するメモリモジュールからなる半
    導体ディスク装置において、 上記メモリモジュールは自身を管理するための管理情報
    を有し、上記コントローラ部は装置起動時に上記管理情
    報を上記メモリモジュールから得て上記メモリモジュー
    ルに対するデータの書込み/読出しを行うことを特徴と
    する半導体ディスク装置。
  10. 【請求項10】 ホストシステム側とデータの送受信を
    行うコントローラ部、およびこのコントローラ部の制御
    の下で各種の情報を記憶するメモリモジュールからなる
    半導体ディスク装置において、 上記メモリモジュールは自身を管理するための管理情報
    を有し、上記コントローラ部は上記ホストシステムから
    指定された論理番地を上記管理情報に従って実際に上記
    メモリモジュールをアクセスするための物理番地に変換
    してデータの書込み/読出しを行うことを特徴とする半
    導体ディスク装置。
  11. 【請求項11】 ホストシステム側とデータの送受信を
    行うコントローラ部、およびこのコントローラ部の制御
    の下で各種の情報を記憶するメモリモジュールからなる
    半導体ディスク装置において、 上記コントローラ部は上記ホストシステムから同一番地
    に既存データと同一内容のデータを上記メモリモジュー
    ルに書込む命令が来た場合に、その書込みを禁止する制
    御モードを備えたことを特徴とする半導体ディスク装
    置。
  12. 【請求項12】 上記コントローラ部は、上記制御モー
    ドを実行するか否を選択するための選択手段を備えたこ
    とを特徴とする請求項11記載の半導体ディスク装置。
  13. 【請求項13】 所定のブロック単位で区切られた複数
    の記憶領域からなるメモリモジュールを備え、上記各記
    憶領域に対しデータの書込み/読出しを行う半導体ディ
    スク装置において、 上記各記憶領域のデータの書換回数を記憶する書換回数
    記憶手段と、 この書換回数記憶手段によって記憶された上記書換回数
    に基づいて、上記各記憶領域の使用頻度が均一になるよ
    うに上記各記憶領域間でデータのスワッピングを行うス
    ワッピング制御手段とを具備したことを特徴とする半導
    体ディスク装置。
  14. 【請求項14】 所定のブロック単位で区切られた複数
    の記憶領域からなるメモリモジュールを備え、上記各記
    憶領域に対しデータの書込み/読出しを行う半導体ディ
    スク装置において、 上記各記憶領域のデータの書換回数を記憶する書換回数
    記憶手段と、 上記各記憶領域のうちの任意の記憶領域からなり、上記
    書換回数記憶手段によって記憶された上記書換回数の粗
    データを記憶する第1の管理テーブルと、 上記各記憶領域のうちの所定の記憶領域からなり、上記
    第1の管理テーブルの物理番地を記憶する第2の管理テ
    ーブルと、 データの書込み時に、上記第2の管理テーブルを参照し
    て第1の管理テーブルに記憶された上記書換回数の粗デ
    ータを読出し、その粗データに基づいて上記各記憶領域
    の使用頻度が均一になるように上記各記憶領域間でデー
    タのスワッピングを行うスワッピング制御手段とを具備
    したことを特徴とする半導体ディスク装置。
  15. 【請求項15】 上記スワッピング制御手段は、上記各
    記憶領域間の上記書換回数の粗データの差が所定値以上
    になった場合にスワッピングを行うことを特徴とする請
    求項14記載の半導体ディスク装置。
  16. 【請求項16】 上記スワッピング制御手段は、上記各
    記憶領域のうちの任意の記憶領域からなる上記第1の管
    理テーブルも含めてスワッピングを行うことを特徴とす
    る請求項14記載の半導体ディスク装置。
  17. 【請求項17】 上記スワッピング制御手段は、上記第
    1の管理テーブルの書換回数が他の記憶領域より大きく
    なった場合にスワッピングを行い、上記第1の管理テー
    ブルの書換回数が他の記憶領域より小さくなった場合に
    は上記第1の管理テーブルをスワッピングの対象から外
    すことを特徴とする請求項16記載の半導体ディスク装
    置。
  18. 【請求項18】 メモリモジュールを備え、このメモリ
    モジュールに対しデータの書込み/読出しを行う半導体
    ディスク装置において、 データの書込み時に、書込結果データに対しエラー訂正
    演算を行うエラー訂正演算手段と、 このエラー訂正演算手段によって演算された書込みデー
    タと元データを比較するデータ比較手段と、 このデータ比較手段の結果に基づいて上記メモリモジュ
    ールに対するデータの書込みを制御する書込み制御手段
    とを具備したことを特徴とする半導体ディスク装置。
  19. 【請求項19】 メモリモジュールを備え、このメモリ
    モジュールに対しデータの書込み/読出しを行う半導体
    ディスク装置において、 データの書込み時に、その書込み結果データと元データ
    を比較するデータ比較手段と、 このデータ比較手段の結果に基づいて上記書込みデータ
    がエラー訂正演算によって再生可能か否かを判定する再
    生判定手段と、 この再生判定手段の結果に基づいて上記メモリモジュー
    ルに対するデータの書込みを制御する書込み制御手段と
    を具備したことを特徴とする半導体ディスク装置。
  20. 【請求項20】 メモリモジュールを備え、このメモリ
    モジュールに対しデータの書込み/読出しを行う半導体
    ディスク装置において、 3Vの電源電圧でデータの書込み/読出しを行うことを
    特徴とする半導体ディスク装置。
  21. 【請求項21】 メモリモジュールを備え、このメモリ
    モジュールに対しデータの書込み/読出しを行う半導体
    ディスク装置において、 電源電圧をデータの読出しに応じた最適な値に変換する
    電圧変換手段を具備し、この電圧変換手段によって変換
    された電源電圧でデータの読出しを行うことを特徴とす
    る半導体ディスク装置。
  22. 【請求項22】 メモリモジュールを備え、このメモリ
    モジュールに対しデータの書込み/読出しを行う半導体
    ディスク装置において、 データの書込み時に、そのセルの書込み状態を検出する
    書込み状態検出手段と、 この書込み状態検出手段によって検出された上記セルの
    書込み状態に応じて書込み電圧を過剰書込みが生じない
    範囲でシフト制御する電圧制御手段とを具備したことを
    特徴とする半導体ディスク装置。
  23. 【請求項23】 メモリモジュールを備え、このメモリ
    モジュールに対しデータの書込み/読出しを行う半導体
    ディスク装置において、 データの読出し時に、そのセルの書込み状態を検出する
    書込み状態検出手段と、 この書込み状態検出手段によって検出された上記セルの
    書込み状態に応じてデータの読出し時の閾値電圧をシフ
    ト制御する電圧制御手段とを具備したことを特徴とする
    半導体ディスク装置。
  24. 【請求項24】 ホストシステム側とデータの送受信を
    行うコントローラ部、およびこのコントローラ部の制御
    の下で各種の情報を記憶するメモリモジュールからなる
    半導体ディスク装置において、 上記メモリモジュールの消耗状態を検出する消耗状態検
    出手段と、 この消耗状態検出手段によって検出された上記消耗状態
    を示す情報を上記ホストシステムから見た上記メモリモ
    ジュール内の特定番地に格納する情報格納手段とを具備
    し、 上記ホストシステムは上記特定番地を指定することで、
    上記消耗状態を示す情報を得ることを特徴とする半導体
    ディスク装置。
  25. 【請求項25】 ホストシステム側とデータの送受信を
    行うコントローラ部、およびこのコントローラ部の制御
    の下で各種の情報を記憶するメモリモジュールからなる
    半導体ディスク装置において、 上記メモリモジュールの消耗状態を検出する消耗状態検
    出手段と、 上記ホストシステムと上記コントローラ部とを接続する
    特定のインタフェース手段と、 上記消耗状態検出手段によって検出された上記消耗状態
    を示す情報を上記インタフェース手段の持つ特定のコマ
    ンドで定められる上記メモリモジュール内の特定領域に
    格納する情報格納手段とを具備し、 上記ホストシステムは上記特定のコマンドを指定するこ
    とで、上記消耗状態を示す情報を得ることを特徴とする
    半導体ディスク装置。
  26. 【請求項26】 所定のブロック単位で区切られた複数
    の記憶領域からなるメモリモジュールを備え、上記各記
    憶領域に対しデータの書込み/読出しを行う半導体ディ
    スク装置において、 上記メモリモジュールに複数の代替用記憶領域を設定
    し、データの書込み時にエラーが生じた場合に、そのエ
    ラーが生じた記憶領域に代わって上記各代替用記憶領域
    を順に使用する代替手段を具備したことを特徴とする半
    導体ディスク装置。
  27. 【請求項27】 上記各代替用記憶領域のうちの代替順
    位の遅い代替用記憶領域に上記メモリモジュールの寿命
    限界を示すメッセージ情報を格納しておき、当該代替用
    記憶領域の使用時に上記メッセージ情報を読出し、外部
    に出力するメッセージ出力手段を具備したことを特徴と
    する請求項26記載の半導体ディスク装置。
  28. 【請求項28】 上記代替手段は、上記メッセージ出力
    手段によって上記メッセージ情報を出力した後の代替用
    記憶領域をその他の上記各代替用記憶領域と同様に扱っ
    て代替処理を行うことを特徴とする請求項27記載の半
    導体ディスク装置。
  29. 【請求項29】 所定のブロック単位で区切られた複数
    の記憶領域からなるメモリモジュールを備え、上記各記
    憶領域に対しデータの書込み/読出しを行う半導体ディ
    スク装置において、 上記メモリモジュールは上記各記憶領域を管理するため
    の複数の管理テーブルを有し、この各管理テーブルには
    上記各記憶領域の物理番地を基準にホストシステムの論
    理番地を割り付けた対応表が設定されていることを特徴
    とする半導体ディスク装置。
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 true JPH05282880A (ja) 1993-10-29
JP3178909B2 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)

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06124596A (ja) * 1991-11-28 1994-05-06 Hitachi Ltd フラッシュメモリを使用した記憶装置
JPH07153285A (ja) * 1993-11-29 1995-06-16 Sansei Denshi Japan Kk 不揮発性フラッシュメモリの制御方法とその装置
JPH07244992A (ja) * 1994-03-02 1995-09-19 Oki Electric Ind Co Ltd 半導体記憶装置とメモリ制御方法
JPH08137763A (ja) * 1994-11-04 1996-05-31 Fujitsu Ltd フラッシュメモリ制御装置
JPH08137634A (ja) * 1994-11-09 1996-05-31 Mitsubishi Electric Corp フラッシュディスクカード
JPH08510072A (ja) * 1993-03-08 1996-10-22 エム−システムズ・リミテッド フラッシュファイルシステム
JPH10124381A (ja) * 1996-10-21 1998-05-15 Mitsubishi Electric Corp 半導体記憶装置
JP2000020252A (ja) * 1998-06-29 2000-01-21 Hitachi Ltd 不揮発性半導体メモリを用いた記憶装置
US6092221A (en) * 1997-08-27 2000-07-18 Oki Electric Industry Co., Ltd. Method for calculating remaining life of semiconductor disk device
US6581132B1 (en) 1997-12-16 2003-06-17 Tdk Corporation Flash memory system including a memory manager for managing data
US6591329B1 (en) 1997-12-22 2003-07-08 Tdk Corporation Flash memory system for restoring an internal memory after a reset event
JP2003203016A (ja) * 1991-11-28 2003-07-18 Hitachi Ltd 記憶装置
JP2004151939A (ja) * 2002-10-30 2004-05-27 Matsushita Electric Ind Co Ltd 記憶装置
WO2004097650A1 (ja) * 2003-04-25 2004-11-11 Matsushita Electric Industrial Co., Ltd. データ記録装置
JP2005056394A (ja) * 2003-07-18 2005-03-03 Toshiba Corp 記憶装置及びメモリカード
JP3680142B2 (ja) * 1997-12-05 2005-08-10 東京エレクトロンデバイス株式会社 記憶装置及びアクセス方法
JP2005258493A (ja) * 2004-03-09 2005-09-22 Buffalo Inc 外部記憶装置
US7366042B2 (en) 2004-06-21 2008-04-29 Kabushiki Kaisha Toshiba Defective column(s) in a memory device/card is/are skipped while serial data programming is performed
JP2008304973A (ja) * 2007-06-05 2008-12-18 Daiwa Industries Ltd データ記録装置及びデータ記録方法とこのデータ記録装置を搭載した保冷庫
JP2009531747A (ja) * 2006-03-31 2009-09-03 モスエイド テクノロジーズ インコーポレイテッド フラッシュメモリシステムコントロールスキーム
WO2010038736A1 (ja) * 2008-10-01 2010-04-08 株式会社日立製作所 半導体装置
JP2010086523A (ja) * 2008-10-01 2010-04-15 Samsung Electronics Co Ltd セキュアメモリインターフェース
US8166231B2 (en) 2006-08-08 2012-04-24 Panasonic Corporation Memory controller, nonvolatile memory device, access device, and nonvolatile memory system
US8375160B2 (en) 2007-11-14 2013-02-12 Panasonic Corporation Memory controller, nonvolatile storage module, access module and nonvolatile storage system
JP2014116753A (ja) * 2012-12-07 2014-06-26 Mega Chips Corp データ処理装置及び制御プログラム並びにデータ処理装置の動作方法
US8867269B2 (en) 2012-02-10 2014-10-21 Kabushiki Kaisha Toshiba Semiconductor memory device
US8929140B2 (en) 2009-11-06 2015-01-06 Kabushiki Kaisha Toshiba Memory system in which a read level is changed based on standing time and at least one of a read, write or erase count
JP2015038698A (ja) * 2013-08-19 2015-02-26 富士通株式会社 半導体記憶装置および半導体記憶装置の制御方法
WO2015097956A1 (en) * 2013-12-24 2015-07-02 International Business Machines Corporation Extending useful life of a non-volatile memory by health grading
WO2015155824A1 (ja) * 2014-04-07 2015-10-15 株式会社日立製作所 ストレージシステム
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
US9639462B2 (en) 2013-12-13 2017-05-02 International Business Machines Corporation Device for selecting a level for at least one read voltage
US9704570B2 (en) 2013-09-13 2017-07-11 Kabushiki Kaisha Toshiba Semiconductor memory device and memory system
US9990279B2 (en) 2014-12-23 2018-06-05 International Business Machines Corporation Page-level health equalization
US10339048B2 (en) 2014-12-23 2019-07-02 International Business Machines Corporation Endurance enhancement scheme using memory re-evaluation
US10365859B2 (en) 2014-10-21 2019-07-30 International Business Machines Corporation Storage array management employing a merged background management process

Families Citing this family (124)

* 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
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 松下電送システム株式会社 メモリ管理装置とこれを用いたファクシミリ装置
JP3999822B2 (ja) * 1993-12-28 2007-10-31 株式会社東芝 記憶システム
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 ディスク装置及び同装置におけるモニター値保存制御方法
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 半導体ディスク装置
US5956268A (en) * 1997-02-12 1999-09-21 Hyundai Electronics America 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 소니 가부시끼 가이샤 데이터관리장치,데이터관리방법및기억매체
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
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
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
JP3616487B2 (ja) * 1997-11-21 2005-02-02 アルプス電気株式会社 ディスクアレイ装置
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
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 記憶装置
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制御装置
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
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 記憶装置、制御方法及びプログラム
CN101346704B (zh) * 2005-12-22 2011-10-05 Nxp股份有限公司 具有可擦除块单元的存储器和定位具有指针信息地块的联结指针链
US7562285B2 (en) 2006-01-11 2009-07-14 Rambus Inc. Unidirectional error code transfer for a bidirectional data link
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
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 삼성전자주식회사 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법
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
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
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
US8464131B2 (en) * 2008-06-23 2013-06-11 Ramot At Tel Aviv University Ltd. Reading a flash memory by constrained decoding
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
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 中国科学院计算技术研究所 一种消息式内存访问装置及其访问方法
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
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
US9734067B1 (en) 2013-03-15 2017-08-15 Bitmicro Networks, Inc. Write buffering
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
US9842024B1 (en) 2013-03-15 2017-12-12 Bitmicro Networks, Inc. Flash electronic disk with RAID controller
US9971524B1 (en) 2013-03-15 2018-05-15 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
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
US9720603B1 (en) 2013-03-15 2017-08-01 Bitmicro Networks, Inc. IOC to IOC distributed caching architecture
US9430386B2 (en) 2013-03-15 2016-08-30 Bitmicro Networks, Inc. Multi-leveled cache management in a hybrid storage system
US9798688B1 (en) 2013-03-15 2017-10-24 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9916213B1 (en) 2013-03-15 2018-03-13 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9934045B1 (en) 2013-03-15 2018-04-03 Bitmicro Networks, Inc. Embedded system boot from a storage device
US9875205B1 (en) 2013-03-15 2018-01-23 Bitmicro Networks, Inc. Network of memory systems
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
US9501436B1 (en) 2013-03-15 2016-11-22 Bitmicro Networks, Inc. Multi-level message passing descriptor
US10073731B2 (en) * 2013-11-27 2018-09-11 Intel Corporation Error correction in memory
US10078604B1 (en) 2014-04-17 2018-09-18 Bitmicro Networks, Inc. Interrupt coalescing
US9952991B1 (en) 2014-04-17 2018-04-24 Bitmicro Networks, Inc. Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation
US10042792B1 (en) 2014-04-17 2018-08-07 Bitmicro Networks, Inc. Method for transferring and receiving frames across PCI express bus for SSD device
US10055150B1 (en) 2014-04-17 2018-08-21 Bitmicro Networks, Inc. Writing volatile scattered memory metadata to flash device
US9811461B1 (en) 2014-04-17 2017-11-07 Bitmicro Networks, Inc. Data storage system
US10025736B1 (en) 2014-04-17 2018-07-17 Bitmicro Networks, Inc. Exchange message protocol message transmission between two devices
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
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
CN111819547A (zh) 2018-03-26 2020-10-23 拉姆伯斯公司 命令/地址通道错误检测
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
DE69033438T2 (de) * 1989-04-13 2000-07-06 Sandisk Corp Austausch von fehlerhaften Speicherzellen einer EEprommatritze
US5172338B1 (en) * 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
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

Cited By (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003203016A (ja) * 1991-11-28 2003-07-18 Hitachi Ltd 記憶装置
JPH06124596A (ja) * 1991-11-28 1994-05-06 Hitachi Ltd フラッシュメモリを使用した記憶装置
JPH08510072A (ja) * 1993-03-08 1996-10-22 エム−システムズ・リミテッド フラッシュファイルシステム
JP2003085037A (ja) * 1993-03-08 2003-03-20 M-Systems Ltd メモリ管理方法
JPH07153285A (ja) * 1993-11-29 1995-06-16 Sansei Denshi Japan Kk 不揮発性フラッシュメモリの制御方法とその装置
JPH07244992A (ja) * 1994-03-02 1995-09-19 Oki Electric Ind Co Ltd 半導体記憶装置とメモリ制御方法
JPH08137763A (ja) * 1994-11-04 1996-05-31 Fujitsu Ltd フラッシュメモリ制御装置
JPH08137634A (ja) * 1994-11-09 1996-05-31 Mitsubishi Electric Corp フラッシュディスクカード
JPH10124381A (ja) * 1996-10-21 1998-05-15 Mitsubishi Electric Corp 半導体記憶装置
US6092221A (en) * 1997-08-27 2000-07-18 Oki Electric Industry Co., Ltd. Method for calculating remaining life of semiconductor disk device
JP3680142B2 (ja) * 1997-12-05 2005-08-10 東京エレクトロンデバイス株式会社 記憶装置及びアクセス方法
US6581132B1 (en) 1997-12-16 2003-06-17 Tdk Corporation Flash memory system including a memory manager for managing data
US6591329B1 (en) 1997-12-22 2003-07-08 Tdk Corporation Flash memory system for restoring an internal memory after a reset event
JP2000020252A (ja) * 1998-06-29 2000-01-21 Hitachi Ltd 不揮発性半導体メモリを用いた記憶装置
JP2004151939A (ja) * 2002-10-30 2004-05-27 Matsushita Electric Ind Co Ltd 記憶装置
WO2004097650A1 (ja) * 2003-04-25 2004-11-11 Matsushita Electric Industrial Co., Ltd. データ記録装置
JP2005056394A (ja) * 2003-07-18 2005-03-03 Toshiba Corp 記憶装置及びメモリカード
US7502970B2 (en) 2003-07-18 2009-03-10 Kabushiki Kaisha Toshiba Memory device and memory card
JP2005258493A (ja) * 2004-03-09 2005-09-22 Buffalo Inc 外部記憶装置
US7366042B2 (en) 2004-06-21 2008-04-29 Kabushiki Kaisha Toshiba Defective column(s) in a memory device/card is/are skipped while serial data programming is performed
JP2009531747A (ja) * 2006-03-31 2009-09-03 モスエイド テクノロジーズ インコーポレイテッド フラッシュメモリシステムコントロールスキーム
US8452915B2 (en) 2006-08-08 2013-05-28 Panasonic Corporation Memory controller, nonvolatile memory device, access device, and nonvolatile memory system
US8166231B2 (en) 2006-08-08 2012-04-24 Panasonic Corporation Memory controller, nonvolatile memory device, access device, and nonvolatile memory system
JP4660855B2 (ja) * 2007-06-05 2011-03-30 大和冷機工業株式会社 データ記録装置及びデータ記録方法とこのデータ記録装置を搭載した保冷庫
JP2008304973A (ja) * 2007-06-05 2008-12-18 Daiwa Industries Ltd データ記録装置及びデータ記録方法とこのデータ記録装置を搭載した保冷庫
US8375160B2 (en) 2007-11-14 2013-02-12 Panasonic Corporation Memory controller, nonvolatile storage module, access module and nonvolatile storage system
WO2010038736A1 (ja) * 2008-10-01 2010-04-08 株式会社日立製作所 半導体装置
JP2010086523A (ja) * 2008-10-01 2010-04-15 Samsung Electronics Co Ltd セキュアメモリインターフェース
JP2013137861A (ja) * 2008-10-01 2013-07-11 Hitachi Ltd 半導体装置
JP5272013B2 (ja) * 2008-10-01 2013-08-28 株式会社日立製作所 半導体装置
US9524786B2 (en) 2009-11-06 2016-12-20 Kabushiki Kaisha Toshiba Memory system changing a memory cell read voltage upon detecting a memory cell read error
US9767913B2 (en) 2009-11-06 2017-09-19 Toshiba Memory Corporation Memory system performing read of nonvolatile semiconductor memory device
US8929140B2 (en) 2009-11-06 2015-01-06 Kabushiki Kaisha Toshiba Memory system in which a read level is changed based on standing time and at least one of a read, write or erase count
US11475962B2 (en) 2009-11-06 2022-10-18 Kioxia Corporation Memory system performing read operation with read voltage
US10916312B2 (en) 2009-11-06 2021-02-09 Toshiba Memory Corporation Memory system performing read of nonvolatile semiconductor memory device
US10373692B2 (en) 2009-11-06 2019-08-06 Toshiba Memory Corporation Memory system performing read of nonvolatile semiconductor memory device
US10020063B2 (en) 2009-11-06 2018-07-10 Toshiba Memory Corporation Memory system performing read of nonvolatile semiconductor memory device
US8867269B2 (en) 2012-02-10 2014-10-21 Kabushiki Kaisha Toshiba Semiconductor memory device
JP2014116753A (ja) * 2012-12-07 2014-06-26 Mega Chips Corp データ処理装置及び制御プログラム並びにデータ処理装置の動作方法
JP2015038698A (ja) * 2013-08-19 2015-02-26 富士通株式会社 半導体記憶装置および半導体記憶装置の制御方法
US9704570B2 (en) 2013-09-13 2017-07-11 Kabushiki Kaisha Toshiba Semiconductor memory device and memory system
US9911499B2 (en) 2013-09-13 2018-03-06 Toshiba Memory Corporation Semiconductor memory device and memory system
US9639462B2 (en) 2013-12-13 2017-05-02 International Business Machines Corporation Device for selecting a level for at least one read voltage
WO2015097956A1 (en) * 2013-12-24 2015-07-02 International Business Machines Corporation Extending useful life of a non-volatile memory by health grading
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 株式会社日立製作所 ストレージシステム
US10365859B2 (en) 2014-10-21 2019-07-30 International Business Machines Corporation Storage array management employing a merged background management process
US10372519B2 (en) 2014-10-21 2019-08-06 International Business Machines Corporation Detecting error count deviations for non-volatile memory blocks for advanced non-volatile memory block management
US10963327B2 (en) 2014-10-21 2021-03-30 International Business Machines Corporation Detecting error count deviations for non-volatile memory blocks for advanced non-volatile memory block management
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
US11176036B2 (en) 2014-12-23 2021-11-16 International Business Machines Corporation Endurance enhancement scheme using memory re-evaluation

Also Published As

Publication number Publication date
JP3178909B2 (ja) 2001-06-25
US5673383A (en) 1997-09-30
US5559956A (en) 1996-09-24

Similar Documents

Publication Publication Date Title
JPH05282880A (ja) 半導体ディスク装置
US11194654B2 (en) Method and apparatus for a volume management system in a non-volatile memory device
JP4129381B2 (ja) 不揮発性半導体記憶装置
JP4429685B2 (ja) 不揮発性メモリシステム内のエラー訂正コードのためのハイブリッド実装
KR101004876B1 (ko) 비휘발성 메모리 시스템에서 사용하기 위한 전원 관리 블록
US8452913B2 (en) Semiconductor memory device and method of processing data for erase operation of semiconductor memory device
US9037782B2 (en) Method of programming memory cells and reading data, memory controller and memory storage apparatus using the same
US6865658B2 (en) Nonvolatile data management system using data segments and link information
US20100023675A1 (en) Wear leveling method, and storage system and controller using the same
JP4287222B2 (ja) 不揮発性半導体記憶装置
US20070245069A1 (en) Storage Device, Memory Management Method and Program
US20110264842A1 (en) Memory controller, nonvolatile memory device, access device, and nonvolatile memory system
KR20040080928A (ko) 정보 처리 장치, 메모리 관리 장치, 메모리 관리 방법, 및정보 처리 방법
JP2010267290A (ja) 共通論理ブロックに関連付けられている物理ブロックを解決するための方法および装置
JPH10320984A (ja) 記憶装置
WO2007083449A1 (ja) 不揮発性記憶装置、不揮発性記憶システム、及び不揮発性記憶装置の不良管理方法
US8589620B2 (en) Data writing method, memory controller, and memory storage apparatus
JP2008251154A (ja) 不揮発性半導体記憶装置
JP4655034B2 (ja) メモリコントローラ及びフラッシュメモリシステム並びにフラッシュメモリの制御方法
JP2004326523A (ja) 書き換え可能な不揮発性メモリを備えた記憶装置及び記憶装置用不揮発性メモリの制御方法
JP2005018490A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム
JP2005292925A (ja) メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法
US11687444B2 (en) Data managing method. memory controlling circuit unit and memory storage device
JP2007156846A (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