JPH06214892A - ソリッドステート周辺記憶装置 - Google Patents
ソリッドステート周辺記憶装置Info
- Publication number
- JPH06214892A JPH06214892A JP5308766A JP30876693A JPH06214892A JP H06214892 A JPH06214892 A JP H06214892A JP 5308766 A JP5308766 A JP 5308766A JP 30876693 A JP30876693 A JP 30876693A JP H06214892 A JPH06214892 A JP H06214892A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- data
- sector
- memory device
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
- G11C29/765—Masking faults in memories by using spares or by reconfiguring using address translation or modifications in solid state disks
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/88—Masking faults in memories by using spares or by reconfiguring with partially good memories
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/74—Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
(57)【要約】
【目的】メモリチップの価格がその歩留り(欠陥の逆)
に依存するため一層厳格な無欠陥度を要求すると歩留り
が低くなり、チップ当たりの価格が高くなるという問題
を解決する。 【構成】本ソリッドステート周辺記憶装置はコンピュー
ターから論理セクタ番号(LSN)アドレスを受信して
物理的セクタ番号(PSN)データにマッピングする。
PSNデータアドレスメモリユニットはソリッドステー
ト浮遊ゲート記憶セルからなる。また、マイクロシーケ
ンサーがPSNへのLSNのマッピングの変換オペレー
ションを制御する。PSNへのLSNのマッピングを利
用するが、ユーザーが関与することなくすべて自動的に
メモリユニット内の欠陥セクタはマッピングから除か
れ、新鮮な未使用の無欠陥セクタで置換することができ
る。最後に、上記マイクロシーケンサーは本周辺装置の
信頼性を高めるためのエラー回復ルーチンを有する。
に依存するため一層厳格な無欠陥度を要求すると歩留り
が低くなり、チップ当たりの価格が高くなるという問題
を解決する。 【構成】本ソリッドステート周辺記憶装置はコンピュー
ターから論理セクタ番号(LSN)アドレスを受信して
物理的セクタ番号(PSN)データにマッピングする。
PSNデータアドレスメモリユニットはソリッドステー
ト浮遊ゲート記憶セルからなる。また、マイクロシーケ
ンサーがPSNへのLSNのマッピングの変換オペレー
ションを制御する。PSNへのLSNのマッピングを利
用するが、ユーザーが関与することなくすべて自動的に
メモリユニット内の欠陥セクタはマッピングから除か
れ、新鮮な未使用の無欠陥セクタで置換することができ
る。最後に、上記マイクロシーケンサーは本周辺装置の
信頼性を高めるためのエラー回復ルーチンを有する。
Description
【0001】本出願は、シリコン ストーレッジテクノ
ロジーインコーポレーティッドの1992年著作権にか
かる著作物を示す書証AおよびBを含むマイクロフィッ
シュの付録と共に提出する。これらの付録は書証A(8
5フレームのマイクロフィッシュ一通)と書証B(10
フレームのマイクロフッシュ一通)とからなる。
ロジーインコーポレーティッドの1992年著作権にか
かる著作物を示す書証AおよびBを含むマイクロフィッ
シュの付録と共に提出する。これらの付録は書証A(8
5フレームのマイクロフィッシュ一通)と書証B(10
フレームのマイクロフッシュ一通)とからなる。
【0002】本著作権所有者は米国特許商標庁の出願書
類もしくは記録として見られる本出願書類および本願の
開示に関して何人もファクシミリにより複製をとること
に異議ないが、それ以外は付録の内容のすべての著作権
を保有する。
類もしくは記録として見られる本出願書類および本願の
開示に関して何人もファクシミリにより複製をとること
に異議ないが、それ以外は付録の内容のすべての著作権
を保有する。
【0003】
【産業上の利用分野】本発明は浮遊ゲートソリッドステ
ートセルを記憶媒体として使用する周辺記憶装置に関す
る。さらに特定すると、本発明は、上記の装置および装
置を動作させる方法に関する。
ートセルを記憶媒体として使用する周辺記憶装置に関す
る。さらに特定すると、本発明は、上記の装置および装
置を動作させる方法に関する。
【0004】
【従来の技術】コンピューターの周辺記憶装置は本技術
分野でよく知られている。先行技術による周辺記憶装置
の一つは記憶媒体として磁気媒体を使用する。これはハ
ードディスクドライブ及びフロッピーディスクドライブ
の形で実現されている。ハードディスクドライブは何度
でも消去及び書き込みをすることができる。それらは非
常に大容量の記憶をすることができる。ソリッドステー
トメモリを使った別の型の周辺記憶装置は読み取り専用
メモリ(Read Only Memory, ROM)である。ROMは
一度入力するとその後は読み取りだけができる。ソリッ
ドステートメモリ装置は、電力消費が少ないこととアク
セス時間が短いと言う利点をもつ。しかしながら磁気媒
体と異なり、これら装置は消去して繰り返して入力する
ことができない。
分野でよく知られている。先行技術による周辺記憶装置
の一つは記憶媒体として磁気媒体を使用する。これはハ
ードディスクドライブ及びフロッピーディスクドライブ
の形で実現されている。ハードディスクドライブは何度
でも消去及び書き込みをすることができる。それらは非
常に大容量の記憶をすることができる。ソリッドステー
トメモリを使った別の型の周辺記憶装置は読み取り専用
メモリ(Read Only Memory, ROM)である。ROMは
一度入力するとその後は読み取りだけができる。ソリッ
ドステートメモリ装置は、電力消費が少ないこととアク
セス時間が短いと言う利点をもつ。しかしながら磁気媒
体と異なり、これら装置は消去して繰り返して入力する
ことができない。
【0005】
【発明が解決しようとする課題】最近、集積化の程度が
進み、浮遊ゲートソリッドステートメモリ装置が周辺記
憶装置として使用する提案なされている。浮遊ゲートメ
モリ装置は、電気的に入力しかつ消去することができる
ことにより、ROMメモリの利点である消費電力の低さ
およびアクセスの速さと、磁気媒体の書き込み性能とを
備えた利点とを有する。さらに集積回路の製作寸法が増
大するにともない、一層大きな集積度が達成できる。し
かしながら浮遊ゲートソリッドステートメモリ装置を使
用することの一つの問題は、チップが実質上欠陥なしで
なければならないことである。各メモリチップの価格は
その分止り(欠陥の逆)に依存するので、一層厳格な無
欠陥度を要求すると分止りが低くなり、チップ当たりの
価格が高くなることを意味する。
進み、浮遊ゲートソリッドステートメモリ装置が周辺記
憶装置として使用する提案なされている。浮遊ゲートメ
モリ装置は、電気的に入力しかつ消去することができる
ことにより、ROMメモリの利点である消費電力の低さ
およびアクセスの速さと、磁気媒体の書き込み性能とを
備えた利点とを有する。さらに集積回路の製作寸法が増
大するにともない、一層大きな集積度が達成できる。し
かしながら浮遊ゲートソリッドステートメモリ装置を使
用することの一つの問題は、チップが実質上欠陥なしで
なければならないことである。各メモリチップの価格は
その分止り(欠陥の逆)に依存するので、一層厳格な無
欠陥度を要求すると分止りが低くなり、チップ当たりの
価格が高くなることを意味する。
【0006】ソリッドステートメモリ記憶装置が汎用さ
れるとの期待から、ソリッドステート記憶周辺装置およ
びコンピューターシステム間の電気的および機械的イン
ターフェース条件を設定するPCMCIAという標準が
設けられている。
れるとの期待から、ソリッドステート記憶周辺装置およ
びコンピューターシステム間の電気的および機械的イン
ターフェース条件を設定するPCMCIAという標準が
設けられている。
【0007】
【課題を解決するための手段】コンピューターのインタ
ーフェースをなし、コンピューターから最初にアドレス
信号を受信するソリッドステート記憶装置はその第一ア
ドレス信号を第二のアドレス信号に変換するための変換
テーブルを収容したメモリを有する。この装置はまた、
複数の浮遊ゲート記憶セルを含むソリッドステートメモ
リを有する。この装置はコンピューターからこれらセル
にデータ信号を入力し、又はコンピューターのためにこ
れらセルからデータ信号を取り出すため、前記第二アド
レス信号により複数の浮遊ゲート記憶セルをアドレス指
定するための装置を有する。最後に、本装置は、第二ア
ドレス信号で指定されるメモリ内浮遊ゲート記憶セルが
欠陥である場合には、第一アドレス信号を第三アドレス
信号に変換する変換テーブルに変更する装置を有する。
ーフェースをなし、コンピューターから最初にアドレス
信号を受信するソリッドステート記憶装置はその第一ア
ドレス信号を第二のアドレス信号に変換するための変換
テーブルを収容したメモリを有する。この装置はまた、
複数の浮遊ゲート記憶セルを含むソリッドステートメモ
リを有する。この装置はコンピューターからこれらセル
にデータ信号を入力し、又はコンピューターのためにこ
れらセルからデータ信号を取り出すため、前記第二アド
レス信号により複数の浮遊ゲート記憶セルをアドレス指
定するための装置を有する。最後に、本装置は、第二ア
ドレス信号で指定されるメモリ内浮遊ゲート記憶セルが
欠陥である場合には、第一アドレス信号を第三アドレス
信号に変換する変換テーブルに変更する装置を有する。
【0008】
【実施例】図1には本発明のソリッドステートメモリ記
憶装置10のブロック線図が示してある。装置10は図
2に示すコンピューターシステムに使用する周辺装置で
ある。通常、コンピューターシステム12はデータを収
容し又は取り出すため、メモリ16にアドレス指定する
CPU14を有する。さらに、システム12はハードデ
ィスクドライブ(HDD)、ディスプレー20、及びキ
ーボード等のI/Oユニット22のような周辺装置を含
む。本技術分野でよく知られているように、システム1
2はPC DOSまたはMS DOSオペレーテイング
システムで動作するIBM PC互換システムであり、
CPU14が本発明の装置10をアドレス指定すること
ができるようにするためには、メモリ16中に装置ドラ
イバ24と呼ばれるソフトウェアがロードされなければ
ならない。装置ドライバ24はPC DOSまたはMS
DOSその他類似のオペレーテイングシステムで動作
するIBM PC互換コンピューター12に使用するの
に適しており、そのコピーが書証Aに記載してある。装
置ドライバ24はHDD18から、あるいは後述するよ
うに装置10自身からメモリ16中にロードできる。
憶装置10のブロック線図が示してある。装置10は図
2に示すコンピューターシステムに使用する周辺装置で
ある。通常、コンピューターシステム12はデータを収
容し又は取り出すため、メモリ16にアドレス指定する
CPU14を有する。さらに、システム12はハードデ
ィスクドライブ(HDD)、ディスプレー20、及びキ
ーボード等のI/Oユニット22のような周辺装置を含
む。本技術分野でよく知られているように、システム1
2はPC DOSまたはMS DOSオペレーテイング
システムで動作するIBM PC互換システムであり、
CPU14が本発明の装置10をアドレス指定すること
ができるようにするためには、メモリ16中に装置ドラ
イバ24と呼ばれるソフトウェアがロードされなければ
ならない。装置ドライバ24はPC DOSまたはMS
DOSその他類似のオペレーテイングシステムで動作
するIBM PC互換コンピューター12に使用するの
に適しており、そのコピーが書証Aに記載してある。装
置ドライバ24はHDD18から、あるいは後述するよ
うに装置10自身からメモリ16中にロードできる。
【0009】図1を参照すると、装置10はシステム1
2からデータバス34を介してデータ信号を受信する。
データバス34はデータレジスタ35、論理セクタ番号
(Logical Sector Number, LSN)レジスタ36、命
令(CMD)レジスタ38及びステータス(STS)レ
ジスタ40に与えられる。本実施例では装置10はIB
M PC互換コンピューター12とのインターフェース
をなすので、データバス34は16ビット幅である。デ
ータレジスタ35は16ビットである。LSNレジスタ
36およびCMDレジスタ38はすべて8ビット幅であ
る。STSレジスタ40は1ビットである。
2からデータバス34を介してデータ信号を受信する。
データバス34はデータレジスタ35、論理セクタ番号
(Logical Sector Number, LSN)レジスタ36、命
令(CMD)レジスタ38及びステータス(STS)レ
ジスタ40に与えられる。本実施例では装置10はIB
M PC互換コンピューター12とのインターフェース
をなすので、データバス34は16ビット幅である。デ
ータレジスタ35は16ビットである。LSNレジスタ
36およびCMDレジスタ38はすべて8ビット幅であ
る。STSレジスタ40は1ビットである。
【0010】装置10はまたシステム12からアドレス
バス30を介してアドレス信号を受信する。このアドレ
ス信号はアドレスデコーダ32に与えられる。コマンド
信号42は、STSレジスタ40、CMDレジスタ3
8、LSNレジスタ36、及びデータレジスタ35の一
つにデータ信号をゲート入力すなわちクロックインすべ
くアドレスデコーダ32からこれらのレジスタに与えら
れる。本実施例ではアドレスバス30は3ビット幅であ
る。 14 データレジスタ35は、記憶すべくシステム12から装
置10内に与えられたデータ信号を記憶する二重ポート
レジスタ(dual port register)35である。さらに、
このデータレジスタ35は装置10からのデータ信号が
システム12に与えられるようにバッファの働きをす
る。LSNレジスタ36は、データレジスタ35内のデ
ータが装置10内で記憶されるべき論理セクタ番号を含
む。この論理セクタ番号は装置10からデータが取り出
されるロケーションである。CMDレジスタ38は読み
取り又は書き込みのいずれかの命令すなわち装置10か
らデータを読み取るための命令あるいは装置10へ記憶
するための命令を含む。最後に2ビットからなるSTS
レジスタは、装置10がCMDレジスタ38中に収容さ
れている命令を実行した後で応答ステータスコードを含
むステータスレジスタである。このステータスレジスタ
は準備完了ビット( READY bit)および エラービット
(ERROR bit )を含む。 READY ビットは装置10がC
MDレジスタ38内の命令を完了したこと、及び次の命
令を受ける準備が完了したことを示す。
バス30を介してアドレス信号を受信する。このアドレ
ス信号はアドレスデコーダ32に与えられる。コマンド
信号42は、STSレジスタ40、CMDレジスタ3
8、LSNレジスタ36、及びデータレジスタ35の一
つにデータ信号をゲート入力すなわちクロックインすべ
くアドレスデコーダ32からこれらのレジスタに与えら
れる。本実施例ではアドレスバス30は3ビット幅であ
る。 14 データレジスタ35は、記憶すべくシステム12から装
置10内に与えられたデータ信号を記憶する二重ポート
レジスタ(dual port register)35である。さらに、
このデータレジスタ35は装置10からのデータ信号が
システム12に与えられるようにバッファの働きをす
る。LSNレジスタ36は、データレジスタ35内のデ
ータが装置10内で記憶されるべき論理セクタ番号を含
む。この論理セクタ番号は装置10からデータが取り出
されるロケーションである。CMDレジスタ38は読み
取り又は書き込みのいずれかの命令すなわち装置10か
らデータを読み取るための命令あるいは装置10へ記憶
するための命令を含む。最後に2ビットからなるSTS
レジスタは、装置10がCMDレジスタ38中に収容さ
れている命令を実行した後で応答ステータスコードを含
むステータスレジスタである。このステータスレジスタ
は準備完了ビット( READY bit)および エラービット
(ERROR bit )を含む。 READY ビットは装置10がC
MDレジスタ38内の命令を完了したこと、及び次の命
令を受ける準備が完了したことを示す。
【0011】ERROR ビットは、実行しようとした命令
にエラーが生じたことを示す。
にエラーが生じたことを示す。
【0012】データレジスタ35からのデータは二重ポ
ートSRAM44に与えられる。この二重ポートSRA
M44は二つのポートを有する。その一つはデータレジ
35と通信し、もう一つのポートは多重化されたデータ
/アドレスバス46によるアクセス可能なポートであ
る。バス46は多重化されたデータ信号を載せ、又はア
ドレス信号を載せるバスである。最後に、二重ポートS
RAM44はまた、マイクロシーケンサー50(これに
ついては後述する)から与えられる内部の制御バス48
によってもアクセスできる。
ートSRAM44に与えられる。この二重ポートSRA
M44は二つのポートを有する。その一つはデータレジ
35と通信し、もう一つのポートは多重化されたデータ
/アドレスバス46によるアクセス可能なポートであ
る。バス46は多重化されたデータ信号を載せ、又はア
ドレス信号を載せるバスである。最後に、二重ポートS
RAM44はまた、マイクロシーケンサー50(これに
ついては後述する)から与えられる内部の制御バス48
によってもアクセスできる。
【0013】マイクロシーケンサー50はSTSレジス
タ40内にビットを設定する。加えて、マイクロシーケ
ンサー50はCMDレジスタ38の内容を受信する。L
SNレジスタ36はデータ/アドレスバス46に直接接
続される。マイクロシーケンサー50は、書証Bに記載
してあるマイクロコードを含んだROM52と通信す
る。マイクロシーケンサー50はマイクロアドレスバス
54を介してROM52にマイクロアドレス(microadd
ress)を発行し、マイクロコードバス56を介してRO
M52からマイクロコード指令(microcode instructio
n )を受信する。マイクロシーケンサー50は既に説明
したように、制御バス48を介して複数のユニットであ
るカウンタ60、比較器62、スクラッチパッドレジス
タ64、CRCユニット66、及びECCユニット68
に与える命令を発行する。上記のユニット60- 68は
各々、データ/アドレスバス46に接続されて、このバ
スからデータを受信する。カウンタ60、コンパレータ
比較器62、CRCユニット66、及びECCユニット
68はデータ/アドレスバス46から得たデータ信号に
オペレーションを行なって、その出力をテストバス70
上に与える。このテストバス70はマイクロシーケンサ
ー50に戻される。最後に、マイクロシーケンサー50
は外部制御バス72に制御信号を与える。
タ40内にビットを設定する。加えて、マイクロシーケ
ンサー50はCMDレジスタ38の内容を受信する。L
SNレジスタ36はデータ/アドレスバス46に直接接
続される。マイクロシーケンサー50は、書証Bに記載
してあるマイクロコードを含んだROM52と通信す
る。マイクロシーケンサー50はマイクロアドレスバス
54を介してROM52にマイクロアドレス(microadd
ress)を発行し、マイクロコードバス56を介してRO
M52からマイクロコード指令(microcode instructio
n )を受信する。マイクロシーケンサー50は既に説明
したように、制御バス48を介して複数のユニットであ
るカウンタ60、比較器62、スクラッチパッドレジス
タ64、CRCユニット66、及びECCユニット68
に与える命令を発行する。上記のユニット60- 68は
各々、データ/アドレスバス46に接続されて、このバ
スからデータを受信する。カウンタ60、コンパレータ
比較器62、CRCユニット66、及びECCユニット
68はデータ/アドレスバス46から得たデータ信号に
オペレーションを行なって、その出力をテストバス70
上に与える。このテストバス70はマイクロシーケンサ
ー50に戻される。最後に、マイクロシーケンサー50
は外部制御バス72に制御信号を与える。
【0014】装置10はまたMAP ROM74を含
む。このMAP ROM74には外部制御バス72及び
データ/アドレスバス46が接続される。最後に、外部
制御バス72及びデータ/アドレスバス46は複数のソ
リッドステートメモリ記憶ユニット80(a- n)に与
えられる。メモリユニット80は各々、本願譲受人に譲
渡された米国特許第5, 029, 130に開示された型
の複数浮遊ゲート記憶セルを含んでいる。本実施例では
MAP ROM74はメモリユニット80と同一であ
る。
む。このMAP ROM74には外部制御バス72及び
データ/アドレスバス46が接続される。最後に、外部
制御バス72及びデータ/アドレスバス46は複数のソ
リッドステートメモリ記憶ユニット80(a- n)に与
えられる。メモリユニット80は各々、本願譲受人に譲
渡された米国特許第5, 029, 130に開示された型
の複数浮遊ゲート記憶セルを含んでいる。本実施例では
MAP ROM74はメモリユニット80と同一であ
る。
【0015】図3には装置10のマイクロシーケンサー
50の詳細なブロック回路図が示されている。CMDレ
ジスタ38から出される8ビットは第一のマルチプレク
サ82に与えられる。この第一マルチプレクサマルチプ
レクサ82はまた、関連のスタックカウンタ88を備え
たスタックレジスタ86の出力から8ビットを受信す
る。マルチプレクサ82はまた、インクリメンタ(incr
ementer )84から8ビットを受信する。最後に、マル
チプレクサ82は次マイクロコードプログラムカウンタ
(Next Microcode Program Counter, NEXT_MPC)レジス
タ92からも8ビットを受信する。マルチプレクサ82
はしたがって四組の8ビット入力を受信し、8ビット入
力の一つをその出力として選択する。マルチプレクサ8
2はマイクロ- オプコード復号器(micro-opcode decod
e )94の出力に基づいて切り替えられる。マルチプレ
クサ82には四つの入力があるので、マルチプレクサ8
2の出力として適当な入力を選択するのにはマイクロ-
オプコード復号器94から来る2ビットが必要である。
50の詳細なブロック回路図が示されている。CMDレ
ジスタ38から出される8ビットは第一のマルチプレク
サ82に与えられる。この第一マルチプレクサマルチプ
レクサ82はまた、関連のスタックカウンタ88を備え
たスタックレジスタ86の出力から8ビットを受信す
る。マルチプレクサ82はまた、インクリメンタ(incr
ementer )84から8ビットを受信する。最後に、マル
チプレクサ82は次マイクロコードプログラムカウンタ
(Next Microcode Program Counter, NEXT_MPC)レジス
タ92からも8ビットを受信する。マルチプレクサ82
はしたがって四組の8ビット入力を受信し、8ビット入
力の一つをその出力として選択する。マルチプレクサ8
2はマイクロ- オプコード復号器(micro-opcode decod
e )94の出力に基づいて切り替えられる。マルチプレ
クサ82には四つの入力があるので、マルチプレクサ8
2の出力として適当な入力を選択するのにはマイクロ-
オプコード復号器94から来る2ビットが必要である。
【0016】マルチプレクサ82の出力はマイクロコー
ドプログラムカウンタ90に与えられる。このカウンタ
マイクロコードプログラムカウンタ90は単にこれに入
力された信号を記憶するだけである。マイクロコードプ
ログラムカウンタ90の出力はカウンタ90を1づつ増
分するインクリメンタ84に与えられる。このようにし
てインクリメンタ84の出力は通常、「シーケンス的
な」流れとなり、前述したように、マルチプレクサ82
の入力の一つとして帰還される。カウンタ90の出力は
また、スタックレジスタ86に与えられ、そこに記憶さ
れる。スタック-- トップカウンタ88のアドレスに応
じて、四つのレジスタ86の一つが出力の一つとして選
択され、マルチプレクサ82の入力として入力される。
これは条件分岐フロー-conditional branch flow)又は
条件なしの分岐フロー(unconditional branch flow )
である。最後に、カウンタ90の出力はマイクロコード
ROM52に対するマイクロコードアドレスとして与え
られる。
ドプログラムカウンタ90に与えられる。このカウンタ
マイクロコードプログラムカウンタ90は単にこれに入
力された信号を記憶するだけである。マイクロコードプ
ログラムカウンタ90の出力はカウンタ90を1づつ増
分するインクリメンタ84に与えられる。このようにし
てインクリメンタ84の出力は通常、「シーケンス的
な」流れとなり、前述したように、マルチプレクサ82
の入力の一つとして帰還される。カウンタ90の出力は
また、スタックレジスタ86に与えられ、そこに記憶さ
れる。スタック-- トップカウンタ88のアドレスに応
じて、四つのレジスタ86の一つが出力の一つとして選
択され、マルチプレクサ82の入力として入力される。
これは条件分岐フロー-conditional branch flow)又は
条件なしの分岐フロー(unconditional branch flow )
である。最後に、カウンタ90の出力はマイクロコード
ROM52に対するマイクロコードアドレスとして与え
られる。
【0017】ROM52の各アドレスとして、アドレス
52に記憶されているマイクロコードデータ信号が32
ビットマイクロ指令としてマイクロシーケンサー50中
に入力し戻される。このマイクロコードは32ビットか
らなり、次のフォーマットを有する: xxxaaaabbbbbbbbcccccccccrrrrwwww 一番左の上位三ビット(xxx )からなるオプコード(op
code)は、復号のため、マイクロ- オプコード復号器9
4に入力される。次の連続4ビット(aaaa)は条件マル
チプレクサ(condition multiplexer )96に入力され
る。次の8ビット(bbbbbbbb)はマイクロコードのアド
レスである。これら8ビット(bbbbbbbb)はまた、カウ
ンタ60に入力されるように内部バス48にも与えられ
る。次の9ビット(ccccccccc )は外部バス72を介し
て与えられる。読み取り制御のための4ビット(rrrr)
と書き込み制御のための4ビット(wwww)からなる残り
の8ビットはやはり内部バス48を介して与えられる。
二つのステータスレジスタビットはこれらの8ビットに
共有される。
52に記憶されているマイクロコードデータ信号が32
ビットマイクロ指令としてマイクロシーケンサー50中
に入力し戻される。このマイクロコードは32ビットか
らなり、次のフォーマットを有する: xxxaaaabbbbbbbbcccccccccrrrrwwww 一番左の上位三ビット(xxx )からなるオプコード(op
code)は、復号のため、マイクロ- オプコード復号器9
4に入力される。次の連続4ビット(aaaa)は条件マル
チプレクサ(condition multiplexer )96に入力され
る。次の8ビット(bbbbbbbb)はマイクロコードのアド
レスである。これら8ビット(bbbbbbbb)はまた、カウ
ンタ60に入力されるように内部バス48にも与えられ
る。次の9ビット(ccccccccc )は外部バス72を介し
て与えられる。読み取り制御のための4ビット(rrrr)
と書き込み制御のための4ビット(wwww)からなる残り
の8ビットはやはり内部バス48を介して与えられる。
二つのステータスレジスタビットはこれらの8ビットに
共有される。
【0018】マイクロコードのアドレス指定をするため
の8ビット(bbbbbbbb)は、NEXT_MPCレジスタ92に入
力される。NEXT_MPCレジスタ92の出力は前述したよう
に、マルチプレクサ82の入力に入力し戻される。
の8ビット(bbbbbbbb)は、NEXT_MPCレジスタ92に入
力される。NEXT_MPCレジスタ92の出力は前述したよう
に、マルチプレクサ82の入力に入力し戻される。
【0019】カウンタ60、比較器62、CRCユニッ
ト66、及びECCユニット68から来るテストバス7
0は16ビットを含み、条件マルチプレクサ96に与え
られる。マイクロコードから得られる四つの条件マルチ
プレクサビットは、条件マルチプレクサ96を切り替え
て特定のビットを選択し、それをマイクロ- オプコード
復号器94に送り出すために使用される。
ト66、及びECCユニット68から来るテストバス7
0は16ビットを含み、条件マルチプレクサ96に与え
られる。マイクロコードから得られる四つの条件マルチ
プレクサビットは、条件マルチプレクサ96を切り替え
て特定のビットを選択し、それをマイクロ- オプコード
復号器94に送り出すために使用される。
【0020】本発明の装置10のオペレーションでは、
前述したように本実施例の場合、装置10がIBM P
C互換コンピューター12で動作する。IBM PC互
換コンピューター12で使用される周辺装置についてよ
く知られているように、システム12はアドレスセクタ
を介して周辺装置と通信する。本実施例では一セクタは
連続するデータストリームからなる512バイトであ
る。システム12は、特定のセクタロケーションを同定
するためのアドレスとして論理セクタ番号(Logical Se
ctor Number, LSN)を使用することにより、装置1
0と通信することができる。装置10は次にLSNアド
レスをメモリ80からデータを取り出し、又はシステム
12からこれにデータを書き込むためのメモリユニット
80内のアドレスを探すための物理的セクタ番号(Phys
ical Sector Number, PSN)アドレスに変換しなけれ
ばならない。
前述したように本実施例の場合、装置10がIBM P
C互換コンピューター12で動作する。IBM PC互
換コンピューター12で使用される周辺装置についてよ
く知られているように、システム12はアドレスセクタ
を介して周辺装置と通信する。本実施例では一セクタは
連続するデータストリームからなる512バイトであ
る。システム12は、特定のセクタロケーションを同定
するためのアドレスとして論理セクタ番号(Logical Se
ctor Number, LSN)を使用することにより、装置1
0と通信することができる。装置10は次にLSNアド
レスをメモリ80からデータを取り出し、又はシステム
12からこれにデータを書き込むためのメモリユニット
80内のアドレスを探すための物理的セクタ番号(Phys
ical Sector Number, PSN)アドレスに変換しなけれ
ばならない。
【0021】読み取りオペレーション 装置10が作動するとき、アプリケーション ソフトウ
ェアが装置10からデータを読み取りたいと仮定する
と、アプリケーションソフトウェアはDOSオペレーテ
イングシステムに中断信号を発行する。DOSオペレー
テイングシステムの慣例的な使用法上、よく知られてい
るように、DOSオペレーテイングシステムはある固定
した予定LSN信号をデータバス34に送る。アドレス
バス30上の信号は、データバス34上のデータがLS
Nレジスタ36内に記憶されるように選択される。これ
に続いて、CMDレジスタ38内に記憶される読み取り
命令が続く。システム12は次いで、ループの中で待機
し、装置10がオペレーションを完了したことを示す R
EADY ステータスビットが設定されるまで、周期的にレ
ジスタ40のステータスのポーリングを行なう。
ェアが装置10からデータを読み取りたいと仮定する
と、アプリケーションソフトウェアはDOSオペレーテ
イングシステムに中断信号を発行する。DOSオペレー
テイングシステムの慣例的な使用法上、よく知られてい
るように、DOSオペレーテイングシステムはある固定
した予定LSN信号をデータバス34に送る。アドレス
バス30上の信号は、データバス34上のデータがLS
Nレジスタ36内に記憶されるように選択される。これ
に続いて、CMDレジスタ38内に記憶される読み取り
命令が続く。システム12は次いで、ループの中で待機
し、装置10がオペレーションを完了したことを示す R
EADY ステータスビットが設定されるまで、周期的にレ
ジスタ40のステータスのポーリングを行なう。
【0022】CMDレジスタ38内に読み取り命令を検
出した後、マイクロシーケンサー50は STSレジス
タ40内のREADY ステータスビットを「0」にリセット
する。次いで、LSNレジスタ36内のデータがデータ
アドレスバス46上に与えられる。マイクロシーケンサ
ー50は次いで外部制御バス72を働かせることによ
り、データアドレスバス46上のデータがMAP RO
M74内のアドレス信号として使用されるようにMAP
ROM74をアクティブ化させる。LSNレジスタ3
6により与えられるアドレス信号から、MAP ROM
74はそのアドレスにあるデータを読み取る。これはメ
モリユニット80(a- n)のセクタのアドレスである
PSNアドレスに対応する。このPSNデータは次いで
データ/アドレスバス46上に与えられて、スクラッチ
パッドレジスタ64内に記憶される。
出した後、マイクロシーケンサー50は STSレジス
タ40内のREADY ステータスビットを「0」にリセット
する。次いで、LSNレジスタ36内のデータがデータ
アドレスバス46上に与えられる。マイクロシーケンサ
ー50は次いで外部制御バス72を働かせることによ
り、データアドレスバス46上のデータがMAP RO
M74内のアドレス信号として使用されるようにMAP
ROM74をアクティブ化させる。LSNレジスタ3
6により与えられるアドレス信号から、MAP ROM
74はそのアドレスにあるデータを読み取る。これはメ
モリユニット80(a- n)のセクタのアドレスである
PSNアドレスに対応する。このPSNデータは次いで
データ/アドレスバス46上に与えられて、スクラッチ
パッドレジスタ64内に記憶される。
【0023】次いでマイクロシーケンサー50はスクラ
ッチパッドレジスタ64からのPSNデータをメモリユ
ニット80(a-n)に対するアドレスとして使用する。
PSNデータのアドレスにより特定されたロケーション
はルートレベルのディレクトリに対応する。メモリユニ
ット80(a-n)から得た、ディレクトリデータの詰ま
った一セクタは、次いでSTSレジスタ40を介して読
み取られ、二重ポートSRAM44内に記憶される。エ
ラー検出(後述する)が適用される。エラーが全くなけ
ればマイクロシーケンサー50は次いでSTSレジスタ
40内に READYビットを「1」に設定し、システム12
に対し読み取りオペレーションが完了したことを示す。
システム12は READY ビットのステータスを定期的に
検査する。もしもその READY ビットが「1」に設定さ
れていると、それはシステム12に対して、装置10が
別の命令を受ける準備が完了していることを示す。
ッチパッドレジスタ64からのPSNデータをメモリユ
ニット80(a-n)に対するアドレスとして使用する。
PSNデータのアドレスにより特定されたロケーション
はルートレベルのディレクトリに対応する。メモリユニ
ット80(a-n)から得た、ディレクトリデータの詰ま
った一セクタは、次いでSTSレジスタ40を介して読
み取られ、二重ポートSRAM44内に記憶される。エ
ラー検出(後述する)が適用される。エラーが全くなけ
ればマイクロシーケンサー50は次いでSTSレジスタ
40内に READYビットを「1」に設定し、システム12
に対し読み取りオペレーションが完了したことを示す。
システム12は READY ビットのステータスを定期的に
検査する。もしもその READY ビットが「1」に設定さ
れていると、それはシステム12に対して、装置10が
別の命令を受ける準備が完了していることを示す。
【0024】エラーがあってそれが訂正可能でないと、
STSレジスタ40内のエラービットは「1」に設定さ
れる。最後に、もしもそのエラーが訂正可能であれば、
エラー訂正手順が適用される(これについては後述す
る)。システム12は次いで二重ポートSRAM44か
らデータレジスタ35を介してそのメモリ16にデータ
を取り出す。DOSオペレーションシステムはそのファ
イル名をディレクトリから得られるデータと照合する。
もしもファイル名がディレクトリに発見されるなら、そ
のファイル名にかかるデータはファイルアロケーション
テーブル(File Allocation Table, FAT)中のオフセッ
トを付されたLSNアドレスである。
STSレジスタ40内のエラービットは「1」に設定さ
れる。最後に、もしもそのエラーが訂正可能であれば、
エラー訂正手順が適用される(これについては後述す
る)。システム12は次いで二重ポートSRAM44か
らデータレジスタ35を介してそのメモリ16にデータ
を取り出す。DOSオペレーションシステムはそのファ
イル名をディレクトリから得られるデータと照合する。
もしもファイル名がディレクトリに発見されるなら、そ
のファイル名にかかるデータはファイルアロケーション
テーブル(File Allocation Table, FAT)中のオフセッ
トを付されたLSNアドレスである。
【0025】このFATテーブルは別の固定LSNロケ
ーションに記憶される。このFATテーブルはメモリユ
ニット80(a-n)から同様にして取り出される。ディ
レクトリから得たファイル名にかかわるオフセットLS
Nアドレスに基づいて、DOSは次にセクタ番号(これ
はFATテーブルの開始点とオフセットLSNアドレス
との和に等しい)を計算し、合計のLSN数を求める。
その結果得られたLSN数は次に装置10に送信され
て、LSNレジスタ36内に記憶される。前述したすべ
ての段階を経てもう一つの読み取りオペレーションが行
なわれ、当該LSNアドレスから得たデータのセクタが
取り出される。
ーションに記憶される。このFATテーブルはメモリユ
ニット80(a-n)から同様にして取り出される。ディ
レクトリから得たファイル名にかかわるオフセットLS
Nアドレスに基づいて、DOSは次にセクタ番号(これ
はFATテーブルの開始点とオフセットLSNアドレス
との和に等しい)を計算し、合計のLSN数を求める。
その結果得られたLSN数は次に装置10に送信され
て、LSNレジスタ36内に記憶される。前述したすべ
ての段階を経てもう一つの読み取りオペレーションが行
なわれ、当該LSNアドレスから得たデータのセクタが
取り出される。
【0026】ディレクトリによって決定されるオフセッ
トLSNアドレスはFATテーブルから読み取られ、そ
のオフセットLSNアドレスが最終セクタのLSNアド
レスであるか、あるいはそれが次のセクタのアドレスで
あるかが決定される。もしも当該オフセットロケーショ
ンにおけるFATテーブルの内容がFFFFより小さい
なら、そのオフセットの内容は次のセクタのアドレスで
ある。次のセクタはFATテーブルの開始ロケーション
のLSNを相対LSN値に加えることにより計算され
る。次にそのセクタから得られたデータが、前述したよ
うに取り出される。もしもそのFATテーブルの内容が
FFFFに等しいと、そのセクタが当該ファイルの最終
セクタである。
トLSNアドレスはFATテーブルから読み取られ、そ
のオフセットLSNアドレスが最終セクタのLSNアド
レスであるか、あるいはそれが次のセクタのアドレスで
あるかが決定される。もしも当該オフセットロケーショ
ンにおけるFATテーブルの内容がFFFFより小さい
なら、そのオフセットの内容は次のセクタのアドレスで
ある。次のセクタはFATテーブルの開始ロケーション
のLSNを相対LSN値に加えることにより計算され
る。次にそのセクタから得られたデータが、前述したよ
うに取り出される。もしもそのFATテーブルの内容が
FFFFに等しいと、そのセクタが当該ファイルの最終
セクタである。
【0027】ディレクトリ及びFATの内容並びにLS
Nアドレスに関する上述の事項は、DOS使用法上、従
来よく知られている。
Nアドレスに関する上述の事項は、DOS使用法上、従
来よく知られている。
【0028】書き込みオペレーション 書き込みオペレーションではシステム12はLSNアド
レスをバス34に転送し、LSNレジスタ36中に記憶
させる。その後で、システム12は装置10のデータレ
ジスタ35を介してそのメモリ16から得たデータのセ
クタを二重ポートSRAM44中に転送する。システム
は次いでCMDレジスタ38に WRITE命令を発行する。
システムは、マイクロシーケンサー50がSTSレジス
タ40を変更し、そのオペレーションを完了したことを
示すまで、待機ループに留まる。
レスをバス34に転送し、LSNレジスタ36中に記憶
させる。その後で、システム12は装置10のデータレ
ジスタ35を介してそのメモリ16から得たデータのセ
クタを二重ポートSRAM44中に転送する。システム
は次いでCMDレジスタ38に WRITE命令を発行する。
システムは、マイクロシーケンサー50がSTSレジス
タ40を変更し、そのオペレーションを完了したことを
示すまで、待機ループに留まる。
【0029】次いでマイクロシーケンサー50はCMD
レジスタ38から命令を取り出し、それが書き込み命令
(WRITE )であればSTSレジスタ40内に READY ビ
ット「0」を設定する。マイクロシーケンサー50は次
いでLSNレジスタ36からのアドレスを使ってMAP
ROM74をアドレス指定する。MAP ROM74
から、PSNに対応するデータが読み取られ、レジスタ
64内に記憶される。次に、レジスタ64内に記憶され
ているPSNデータから得たアドレスに基づいてメモリ
ユニット80への入力(プログラム化)が行なわれる。
レジスタ64から得られるPSNデータは最初に、その
アドレスとしてデータ/アドレスバス46を介してメモ
リユニット80に入力される。この後にデータで満たさ
れた一セクタが続く。メモリユニット80の設計に応
じ、バイト単位で、あるいは多重バイト単位で、プログ
ラム化が行なわれる。本実施例ではプログラム化はバイ
ト単位で行なわれる。メモリユニット80中に各バイト
が書き込まれた後、各データは確認検査(verificatio
n)のために読み戻される。これはメモリユニット80
からデータを読み取り、それをデータ/アドレスバス4
6を介して比較器62中に入力することにより達成され
る。比較器62はメモリユニット80内に書き込まれた
データとメモリユニット80の同一アドレスロケーショ
ンから読み出されたデータとを比較する。
レジスタ38から命令を取り出し、それが書き込み命令
(WRITE )であればSTSレジスタ40内に READY ビ
ット「0」を設定する。マイクロシーケンサー50は次
いでLSNレジスタ36からのアドレスを使ってMAP
ROM74をアドレス指定する。MAP ROM74
から、PSNに対応するデータが読み取られ、レジスタ
64内に記憶される。次に、レジスタ64内に記憶され
ているPSNデータから得たアドレスに基づいてメモリ
ユニット80への入力(プログラム化)が行なわれる。
レジスタ64から得られるPSNデータは最初に、その
アドレスとしてデータ/アドレスバス46を介してメモ
リユニット80に入力される。この後にデータで満たさ
れた一セクタが続く。メモリユニット80の設計に応
じ、バイト単位で、あるいは多重バイト単位で、プログ
ラム化が行なわれる。本実施例ではプログラム化はバイ
ト単位で行なわれる。メモリユニット80中に各バイト
が書き込まれた後、各データは確認検査(verificatio
n)のために読み戻される。これはメモリユニット80
からデータを読み取り、それをデータ/アドレスバス4
6を介して比較器62中に入力することにより達成され
る。比較器62はメモリユニット80内に書き込まれた
データとメモリユニット80の同一アドレスロケーショ
ンから読み出されたデータとを比較する。
【0030】もしもその比較によってデータが正しくプ
ログラム化されていれば、次いでマイクロシーケンサー
50は次のバイトに進む。もしもデータが正しく記憶さ
れていないと、マイクロシーケンサー50はさらに多数
のプログラムパルスを使ってそのデータをメモリユニッ
ト80中に書き戻す。多数のプログラムパルスを使うこ
とによって、浮遊ゲート記憶装置では浮遊ゲート上によ
り多量の電荷が与えられることが知られている。これを
行なった後、別の読み取り確認段階が続く。データが正
しくメモリユニット80中に書き込まれると、マイクロ
シーケンサー50は再び次のバイトに進む。エラーが発
見されなければ、マイクロシーケンサー50はSTSレ
ジスタ40内の READY ビットを「1」に設定し、マイ
クロシーケンサー50がそのオペレーションを完了した
ことを示す。エラーが発見されると、マイクロシーケン
サー50はエラー訂正法(後述する)を適用する。
ログラム化されていれば、次いでマイクロシーケンサー
50は次のバイトに進む。もしもデータが正しく記憶さ
れていないと、マイクロシーケンサー50はさらに多数
のプログラムパルスを使ってそのデータをメモリユニッ
ト80中に書き戻す。多数のプログラムパルスを使うこ
とによって、浮遊ゲート記憶装置では浮遊ゲート上によ
り多量の電荷が与えられることが知られている。これを
行なった後、別の読み取り確認段階が続く。データが正
しくメモリユニット80中に書き込まれると、マイクロ
シーケンサー50は再び次のバイトに進む。エラーが発
見されなければ、マイクロシーケンサー50はSTSレ
ジスタ40内の READY ビットを「1」に設定し、マイ
クロシーケンサー50がそのオペレーションを完了した
ことを示す。エラーが発見されると、マイクロシーケン
サー50はエラー訂正法(後述する)を適用する。
【0031】エラー訂正 メモリユニット80の記憶セルは浮遊ゲート型であるの
で、記憶セル内のエラーは減衰して行く浮遊ゲート上の
電荷に起因することがある。この減衰過程は二つの段階
に分けることができる。始めの段階では、浮遊ゲート上
に蓄積された電荷は減衰して行くものの依然としてある
量の電荷を保持することができる。この電荷が記憶した
「1」であるのか、あるいは「0」であるのかを決定す
ることは、感知増幅器を使っても長い時間がかかる。減
衰の第二の段階では、記憶セルの状態が「帯電した」状
態から「放電した」状態に永久的に変化してしまったレ
ベルにまで浮遊ゲート上の電荷が減衰している。この場
合は、永久的なデータエラーが生じている。
で、記憶セル内のエラーは減衰して行く浮遊ゲート上の
電荷に起因することがある。この減衰過程は二つの段階
に分けることができる。始めの段階では、浮遊ゲート上
に蓄積された電荷は減衰して行くものの依然としてある
量の電荷を保持することができる。この電荷が記憶した
「1」であるのか、あるいは「0」であるのかを決定す
ることは、感知増幅器を使っても長い時間がかかる。減
衰の第二の段階では、記憶セルの状態が「帯電した」状
態から「放電した」状態に永久的に変化してしまったレ
ベルにまで浮遊ゲート上の電荷が減衰している。この場
合は、永久的なデータエラーが生じている。
【0032】第一の型のエラーを訂正するため、装置1
0は正規読み取りと遅速読み取りという二つのモードの
読み取りオペレーションを用意している。正規モードの
読み取りでメモリユニット80からのデータ読み取りが
依然としてデータエラーを来たすと、遅速モードで同一
のアドレスが再度読み取られる。この遅速モード読み取
りによって、感知増幅器を長めの時間オン状態にして浮
遊ゲート上に蓄積された低めの電荷量が「1」の電荷レ
ベルであるか、または「0」のレベルであるか、識別可
能となる。
0は正規読み取りと遅速読み取りという二つのモードの
読み取りオペレーションを用意している。正規モードの
読み取りでメモリユニット80からのデータ読み取りが
依然としてデータエラーを来たすと、遅速モードで同一
のアドレスが再度読み取られる。この遅速モード読み取
りによって、感知増幅器を長めの時間オン状態にして浮
遊ゲート上に蓄積された低めの電荷量が「1」の電荷レ
ベルであるか、または「0」のレベルであるか、識別可
能となる。
【0033】第二の型のエラーに関して、各セクタのデ
ータはその関連エラー訂正コード(Error Crrection Co
de, ECC)と共にメモリユニット80中に書き込まれ
る。一実施例ではこのECCは各セクタのデータごとに
88ビットを当てるリード-- ソロモンコード-Reed-Sol
omon code)である。別の実施例では一データセクタに
対するECCがCRCエラー検出法(CRC error detect
ion )を使って符号化される。最後に、図示するもう一
つのECC実施例では冗長ハミングコード(redundant
Hamming code)を使用する。
ータはその関連エラー訂正コード(Error Crrection Co
de, ECC)と共にメモリユニット80中に書き込まれ
る。一実施例ではこのECCは各セクタのデータごとに
88ビットを当てるリード-- ソロモンコード-Reed-Sol
omon code)である。別の実施例では一データセクタに
対するECCがCRCエラー検出法(CRC error detect
ion )を使って符号化される。最後に、図示するもう一
つのECC実施例では冗長ハミングコード(redundant
Hamming code)を使用する。
【0034】各セクタのデータはその関連ECCコード
と共にメモリユニット80中に書き込まれるので、また
状況によってはエラーがいつ生じたのかを検出すること
が可能であるので、装置10はデータにかかるエラーを
訂正すべくデータのオペレーションを行なうことができ
る;このエラー訂正は次の三つの方法でよい。
と共にメモリユニット80中に書き込まれるので、また
状況によってはエラーがいつ生じたのかを検出すること
が可能であるので、装置10はデータにかかるエラーを
訂正すべくデータのオペレーションを行なうことができ
る;このエラー訂正は次の三つの方法でよい。
【0035】1.第一の方法ではメモリユニット80か
らのデータは正規モードで読み取られる。もしもエラー
が消えないなら、そのセクタからのデータは遅速モード
で再度読み取られる。
らのデータは正規モードで読み取られる。もしもエラー
が消えないなら、そのセクタからのデータは遅速モード
で再度読み取られる。
【0036】2.第二の方法では、当該セクタデータは
最初、正規モードで読み取られる。エラーが消えないな
ら、ECC訂正法を使ってセクタデータに訂正を試み
る。その後、エラーが消えないなら、同じセクタのデー
タはECCを適用して遅速モードで読み取られる。
最初、正規モードで読み取られる。エラーが消えないな
ら、ECC訂正法を使ってセクタデータに訂正を試み
る。その後、エラーが消えないなら、同じセクタのデー
タはECCを適用して遅速モードで読み取られる。
【0037】3.最後に、エラー訂正のさらに別の方法
として、データは最初に正規モードで読み取られる。エ
ラーが消えないと、その後に遅速モードで当該セクタデ
ータの再読み取りが行なわれる。エラーが消えないと、
遅速モード読み取ったばかりのデータにECCユニット
68による演算を施し、データ中のエラーを訂正する。
最後に、依然としてエラーが消えないと、そのセクタの
データはECC訂正を施して正規モードで再び読み取
る。
として、データは最初に正規モードで読み取られる。エ
ラーが消えないと、その後に遅速モードで当該セクタデ
ータの再読み取りが行なわれる。エラーが消えないと、
遅速モード読み取ったばかりのデータにECCユニット
68による演算を施し、データ中のエラーを訂正する。
最後に、依然としてエラーが消えないと、そのセクタの
データはECC訂正を施して正規モードで再び読み取
る。
【0038】データのエラー訂正を別にして、メモリユ
ニット80は他の部分よりも頻繁に書き込みが行なわれ
る部分を有するので、各部分を保護するために部分ごと
に異なるエラー回復法が使われる。
ニット80は他の部分よりも頻繁に書き込みが行なわれ
る部分を有するので、各部分を保護するために部分ごと
に異なるエラー回復法が使われる。
【0039】ディレクトリセクタおよびFATセクタと
は共に頻繁に読み出しおよび書き込みが行なわれる(装
置10中に新規ファイルが書き込まれるときに更新され
る)ので、システムの情報を収納するこれらのセクタは
メモリユニット80(a-n)内に冗長的に記憶される。
すなわち、システムデータの各セクトごとに2×512
バイトが記憶される。システムデータのエラー回復には
冗長ハミングコードが適用される。冗長ハミングコード
では一バイトのシステムデータが次の方式にしたがって
四バイトとして記憶される: 1バイトデータ+4ビットハミングコード+4ビット反
転ハミングコード=2バイト(1ユニットA) ユニットAを冗長的に記憶すると、すなわちユニットA
+ユニットBを記憶すると、4バイトとなる。
は共に頻繁に読み出しおよび書き込みが行なわれる(装
置10中に新規ファイルが書き込まれるときに更新され
る)ので、システムの情報を収納するこれらのセクタは
メモリユニット80(a-n)内に冗長的に記憶される。
すなわち、システムデータの各セクトごとに2×512
バイトが記憶される。システムデータのエラー回復には
冗長ハミングコードが適用される。冗長ハミングコード
では一バイトのシステムデータが次の方式にしたがって
四バイトとして記憶される: 1バイトデータ+4ビットハミングコード+4ビット反
転ハミングコード=2バイト(1ユニットA) ユニットAを冗長的に記憶すると、すなわちユニットA
+ユニットBを記憶すると、4バイトとなる。
【0040】システムデータに関するこれら四バイトは
シーケンス順に、すなわちユニットA+ユニットBの形
で、あるいは別個のセクタに分けて、メモリユニット8
0内に記憶される。ハミングコードは単一ビットエラー
を検出してこれを訂正することができるが、2ビットエ
ラーは検出のみができるので、各2バイトユニット(A
又はB)はそれ自身のデータが一ビットのエラーを有す
るのか、二ビットエラーを有するのか、決定することが
できる。したがってシステムデータがメモリユニット8
0から読み戻されたとき、何をもって最良のデータとす
るかを決定するため、次の方法が使用される: ユニットA ユニットA ユニットA 正しい 1ビットのエラー 2ビットのエラー B正しい ユニットA ユニットB ユニットB B1ビットのエラー ユニットA 訂正したA 訂正したB B2ビットのエラー ユニットA 訂正したA 使用不可 ここで各ユニット(A又はB)は、一バイトのシステム
データとそれに続く四ビットのハミングコード及び四ビ
ットの反転ハミングコードとを含む二バイト幅をもつ。
シーケンス順に、すなわちユニットA+ユニットBの形
で、あるいは別個のセクタに分けて、メモリユニット8
0内に記憶される。ハミングコードは単一ビットエラー
を検出してこれを訂正することができるが、2ビットエ
ラーは検出のみができるので、各2バイトユニット(A
又はB)はそれ自身のデータが一ビットのエラーを有す
るのか、二ビットエラーを有するのか、決定することが
できる。したがってシステムデータがメモリユニット8
0から読み戻されたとき、何をもって最良のデータとす
るかを決定するため、次の方法が使用される: ユニットA ユニットA ユニットA 正しい 1ビットのエラー 2ビットのエラー B正しい ユニットA ユニットB ユニットB B1ビットのエラー ユニットA 訂正したA 訂正したB B2ビットのエラー ユニットA 訂正したA 使用不可 ここで各ユニット(A又はB)は、一バイトのシステム
データとそれに続く四ビットのハミングコード及び四ビ
ットの反転ハミングコードとを含む二バイト幅をもつ。
【0041】マイクロシーケンサー50は読み取りオペ
レーションの間、メモリユニット80から各セクタのデ
ータを読み取り、二重ポートSRAM44内に記憶した
後、上記のエラー回復法(データに対するものである
か、又はシステムデータに対する冗長ハミングコードで
あるかにより、ECCあるいはCRCのいずれかであ
る)を適用し、読み取ったばかりのデータにエラーがあ
るか否かを決定する。もしもデータが回復できないと、
マイクロシーケンサー50はSTSレジスタ40内に E
RROR ビットを設定する。しかしそのデータが訂正でき
ると、マイクロシーケンサー50はMAP ROM74
内で新規な未使用のPSNセクタを探す。次いでマイク
ロシーケンサー50は、LSNレジスタ36内に記憶さ
れているLSNセクタアドレスの、新規未使用の新鮮な
PSNデータへの新規マッピングを行なう。このマッピ
ングは本質的に、LSNレジスタ36から得たアドレス
に、MAP ROM74内新規PSN数を記憶すること
である。その後、マイクロシーケンサー50は自動的に
二重ポートSRAM44内のデータを、メモリユニット
80中の新規PSMセクタアドレスに記憶し戻す。
レーションの間、メモリユニット80から各セクタのデ
ータを読み取り、二重ポートSRAM44内に記憶した
後、上記のエラー回復法(データに対するものである
か、又はシステムデータに対する冗長ハミングコードで
あるかにより、ECCあるいはCRCのいずれかであ
る)を適用し、読み取ったばかりのデータにエラーがあ
るか否かを決定する。もしもデータが回復できないと、
マイクロシーケンサー50はSTSレジスタ40内に E
RROR ビットを設定する。しかしそのデータが訂正でき
ると、マイクロシーケンサー50はMAP ROM74
内で新規な未使用のPSNセクタを探す。次いでマイク
ロシーケンサー50は、LSNレジスタ36内に記憶さ
れているLSNセクタアドレスの、新規未使用の新鮮な
PSNデータへの新規マッピングを行なう。このマッピ
ングは本質的に、LSNレジスタ36から得たアドレス
に、MAP ROM74内新規PSN数を記憶すること
である。その後、マイクロシーケンサー50は自動的に
二重ポートSRAM44内のデータを、メモリユニット
80中の新規PSMセクタアドレスに記憶し戻す。
【0042】同様にして書き込みオペレーションの期間
中、各データバイトが二重ポートSRAM44からメモ
リユニット80中に書き込まれ、その後読み出されて二
重ポートSRAM44からのデータと比較する際、 ERR
OR が発見されてマイクロシーケンサー50が既に余分
のプログラム化パルスを与えて一層大きな電荷量を浮遊
ゲートに蓄積する試みをしていたなら、マイクロシーケ
ンサー50はMAPROM74を参照して新規な未使用
PSNセクタを発見する。次いでマイクロシーケンサー
50は同一のデータをその新規な未使用のPSNセクタ
中に再び書き直しを始める。これが終了するとマイクロ
シーケンサー50はLSNレジスタ36からLSNへの
対応(correspondence)を新規PSNセクタに更新す
る。これ以後、LSNへのアクセスを行なうと、マイク
ロシーケンサー50は新規PSNアドレスからデータを
取り出すことができる。
中、各データバイトが二重ポートSRAM44からメモ
リユニット80中に書き込まれ、その後読み出されて二
重ポートSRAM44からのデータと比較する際、 ERR
OR が発見されてマイクロシーケンサー50が既に余分
のプログラム化パルスを与えて一層大きな電荷量を浮遊
ゲートに蓄積する試みをしていたなら、マイクロシーケ
ンサー50はMAPROM74を参照して新規な未使用
PSNセクタを発見する。次いでマイクロシーケンサー
50は同一のデータをその新規な未使用のPSNセクタ
中に再び書き直しを始める。これが終了するとマイクロ
シーケンサー50はLSNレジスタ36からLSNへの
対応(correspondence)を新規PSNセクタに更新す
る。これ以後、LSNへのアクセスを行なうと、マイク
ロシーケンサー50は新規PSNアドレスからデータを
取り出すことができる。
【0043】MAP ROM 本発明に固有な特徴の一つは、MAP ROM74を使
用して各LSNアドレスとPSNアドレスとの間のマッ
ピングを与えることである。MAP ROM74は本実
施例に関する前述の議論に示したように、メモリユニッ
ト80と同一の浮遊がゲート記憶セルメモリで構成する
ことができる。MAP ROM74は各LSN及びPS
N間に一つの割でマッピングエントリ(mapping entry
)を含む。各マッピングエントリは同一のサイズを有
するので、各LSNに対するマッピングエントリを探す
ことは単にLSNに一マッピングエントリ当たりのバイ
ト数を乗ずるだけでよい。これによってメモリユニット
80の初期製造欠陥数(initial manufacturing defec
t)が高いとき又は使用後の不良行置換数(number ofba
d rows replacement)が高くなったときでも、PSNを
同定するにあたり、最高のマッピング速度を与えること
ができる。
用して各LSNアドレスとPSNアドレスとの間のマッ
ピングを与えることである。MAP ROM74は本実
施例に関する前述の議論に示したように、メモリユニッ
ト80と同一の浮遊がゲート記憶セルメモリで構成する
ことができる。MAP ROM74は各LSN及びPS
N間に一つの割でマッピングエントリ(mapping entry
)を含む。各マッピングエントリは同一のサイズを有
するので、各LSNに対するマッピングエントリを探す
ことは単にLSNに一マッピングエントリ当たりのバイ
ト数を乗ずるだけでよい。これによってメモリユニット
80の初期製造欠陥数(initial manufacturing defec
t)が高いとき又は使用後の不良行置換数(number ofba
d rows replacement)が高くなったときでも、PSNを
同定するにあたり、最高のマッピング速度を与えること
ができる。
【0044】マイクロシーケンサー50はエラーが検出
されたときはいつでも、このMAPROM74を使って
メモリユニット80内の欠陥セクタを未使用の良好なセ
クタで置換することができる。 この置換は単にMAP
ROM74変換テーブルを修正するだけで達成するこ
とができる。さらに、前述したように、この変換は状況
によってはユーザーが関与することなく、あるいは知識
がなくても、自動的に行なわれる。各LSNマッピング
エントリは常に良好なPSN内容を指向するからであ
る。システム12にとってメモリユニット80内への記
憶が常に連続的にかつ良好な条件で行なわれる。しかし
装置10において欠陥ある物理的セクタを置換すべき
「良好な」物理的セクタが尽きたときは、装置10は従
来の記憶装置と類似の不連続論理セクタをもつことにな
る。しかしその場合は、装置10は再び連続的論理セク
タを達成できるように再フォーマット化することができ
る。さらに、メモリユニット80は各々、高レベルDO
Sフォーマットオペレーション期間に二つの領域に分割
(partition )することができる。ユーザーがアクセス
することのできるこれら二つの領域は、使用データ(us
age data)を記憶するために正規データセクタが使用さ
れる「正規データ領域(normal data area)」と、欠陥
データセクタが発見されたときにこれを置換するために
使用することができる「保留領域(reserve area)」で
ある。このようにしてユーザーにとって実質的に同一量
のユーザー利用可能データセクタが、常に存在する。
されたときはいつでも、このMAPROM74を使って
メモリユニット80内の欠陥セクタを未使用の良好なセ
クタで置換することができる。 この置換は単にMAP
ROM74変換テーブルを修正するだけで達成するこ
とができる。さらに、前述したように、この変換は状況
によってはユーザーが関与することなく、あるいは知識
がなくても、自動的に行なわれる。各LSNマッピング
エントリは常に良好なPSN内容を指向するからであ
る。システム12にとってメモリユニット80内への記
憶が常に連続的にかつ良好な条件で行なわれる。しかし
装置10において欠陥ある物理的セクタを置換すべき
「良好な」物理的セクタが尽きたときは、装置10は従
来の記憶装置と類似の不連続論理セクタをもつことにな
る。しかしその場合は、装置10は再び連続的論理セク
タを達成できるように再フォーマット化することができ
る。さらに、メモリユニット80は各々、高レベルDO
Sフォーマットオペレーション期間に二つの領域に分割
(partition )することができる。ユーザーがアクセス
することのできるこれら二つの領域は、使用データ(us
age data)を記憶するために正規データセクタが使用さ
れる「正規データ領域(normal data area)」と、欠陥
データセクタが発見されたときにこれを置換するために
使用することができる「保留領域(reserve area)」で
ある。このようにしてユーザーにとって実質的に同一量
のユーザー利用可能データセクタが、常に存在する。
【0045】フォーマット化 よく知られているように、使用に先立って装置10はフ
ォーマットしなければならない。このフォーマット化は
二つのレベルで行なうことができる。すなわち、システ
ムレベルではオペレーテイングシステムから提供される
ルーチンでフォーマット化が行なわれる。さらに、本装
置は「低レベル」でも行なうことができる。
ォーマットしなければならない。このフォーマット化は
二つのレベルで行なうことができる。すなわち、システ
ムレベルではオペレーテイングシステムから提供される
ルーチンでフォーマット化が行なわれる。さらに、本装
置は「低レベル」でも行なうことができる。
【0046】初め、装置10は製造直後にテストとして
フォーマット化される。装置10はとりわけ保存不成功
信頼性(retention failure reliability )がテストさ
れる。メモリユニット80内の記憶セルは各々、その浮
遊ゲート上に電荷を蓄積される。その後、装置10は各
セクタ内の各記憶セルについてベーキング(baking tes
t )試験及び電圧ストレス試験(voltage stress test
)のような製造スクリーニング試験を受ける。電荷が
記憶セルの浮遊ゲート上に保持されないと、あるいは記
憶セルが電圧ストレス試験等の他の製造スクリーニング
試験に合格しないと、そのセクタは「不良」セクタであ
ると考えられる。「不良」セクタにはセクタの各バイト
内に「00」のようなデータパターンが標識として付け
られる。その後、装置10のソフトウェアフォーマット
の期間中にソフトウェアフォーマットプログラムがすべ
てのセクタのバイトを読み取り、もしも大多数の(ある
いは予定の割合の)バイトが「00」というデータパタ
ーンを記憶し、もしくは標識付けされているなら、当該
セクタは「不良」であり、「不良」セクタのアドレスが
MAP ROM74内に記録される。「不良」セクタの
アドレスはもはやそれ以後LSNをPSNにマッピング
するために使用することができない。
フォーマット化される。装置10はとりわけ保存不成功
信頼性(retention failure reliability )がテストさ
れる。メモリユニット80内の記憶セルは各々、その浮
遊ゲート上に電荷を蓄積される。その後、装置10は各
セクタ内の各記憶セルについてベーキング(baking tes
t )試験及び電圧ストレス試験(voltage stress test
)のような製造スクリーニング試験を受ける。電荷が
記憶セルの浮遊ゲート上に保持されないと、あるいは記
憶セルが電圧ストレス試験等の他の製造スクリーニング
試験に合格しないと、そのセクタは「不良」セクタであ
ると考えられる。「不良」セクタにはセクタの各バイト
内に「00」のようなデータパターンが標識として付け
られる。その後、装置10のソフトウェアフォーマット
の期間中にソフトウェアフォーマットプログラムがすべ
てのセクタのバイトを読み取り、もしも大多数の(ある
いは予定の割合の)バイトが「00」というデータパタ
ーンを記憶し、もしくは標識付けされているなら、当該
セクタは「不良」であり、「不良」セクタのアドレスが
MAP ROM74内に記録される。「不良」セクタの
アドレスはもはやそれ以後LSNをPSNにマッピング
するために使用することができない。
【0047】その後の例レベルフォーマットでは、装置
10が使用された後、フォーマット化試験が「非不良」
セクタについて行なわれる。「非不良」セクタはMAP
ROM74内に記憶される際にそのアドレスが「不
良」であるとの標識が付けられていないセクタである。
「00」と言うデータパターンその他の標識は実際のデ
ータでもよいので、メモリユニット80から得られるデ
ータパターンあるいは標識を観ただけではあるセクタが
「不良」であるか又は「非不良」 であるかは決定でき
ない。この決定はMAP ROM74内に記憶されてい
るアドレスを観ることにより行なわれる。各「非不良」
セクタの浮遊ゲート記憶セルは消去される。データはそ
の後、書き込みオペレーションを実行するための次のパ
ラメータを使ってマイクロシーケンサー50により「非
不良」セクタのバイト中に書き込まれる。
10が使用された後、フォーマット化試験が「非不良」
セクタについて行なわれる。「非不良」セクタはMAP
ROM74内に記憶される際にそのアドレスが「不
良」であるとの標識が付けられていないセクタである。
「00」と言うデータパターンその他の標識は実際のデ
ータでもよいので、メモリユニット80から得られるデ
ータパターンあるいは標識を観ただけではあるセクタが
「不良」であるか又は「非不良」 であるかは決定でき
ない。この決定はMAP ROM74内に記憶されてい
るアドレスを観ることにより行なわれる。各「非不良」
セクタの浮遊ゲート記憶セルは消去される。データはそ
の後、書き込みオペレーションを実行するための次のパ
ラメータを使ってマイクロシーケンサー50により「非
不良」セクタのバイト中に書き込まれる。
【0048】1.マイクロシーケンサー50が正規の消
去時間(Elase Time, ET)の使用を強制する。もっと長
い消去時間を使うと、各記憶セルを「1」なる消去状態
にすることができる可能性が高くなり、「1」と感知さ
れ易くなることを意味する。この消去時間はすべてのセ
ルについて同一の効果を有する。
去時間(Elase Time, ET)の使用を強制する。もっと長
い消去時間を使うと、各記憶セルを「1」なる消去状態
にすることができる可能性が高くなり、「1」と感知さ
れ易くなることを意味する。この消去時間はすべてのセ
ルについて同一の効果を有する。
【0049】2.正規書き込み時間はWTである。もっ
と長い書き込み時間を使うと、メモリユニット80内の
各記憶セルが「0」状態と書き込まれる可能性が高くな
り、また「0」と感知され易くなる。しかし「0」状態
はまた、他の隣接の記憶セルを乱し易い。
と長い書き込み時間を使うと、メモリユニット80内の
各記憶セルが「0」状態と書き込まれる可能性が高くな
り、また「0」と感知され易くなる。しかし「0」状態
はまた、他の隣接の記憶セルを乱し易い。
【0050】3.正規の読み取り感度値はRNである。
読み取り感度は感知回路の設計時に設定される。前述し
たように本発明の装置10ではこの感度は感知時間を増
大することにより増大することができる。読み取り感度
を与えるもう一つの可能な値は「RM」で、RNでは各
記憶セルに正規の「0」よりも強く感知される「0」を
書き込むことが必要である。
読み取り感度は感知回路の設計時に設定される。前述し
たように本発明の装置10ではこの感度は感知時間を増
大することにより増大することができる。読み取り感度
を与えるもう一つの可能な値は「RM」で、RNでは各
記憶セルに正規の「0」よりも強く感知される「0」を
書き込むことが必要である。
【0051】4.システム12から与えられるデータパ
ターンは何でもよい。しかしメモリユニット80中に書
き込むときは、特定データパターンがメモリユニット8
0の特定回路設計に依存して他のものよりも書き込みオ
ペレーションで不成功に終わりやすい。特に0F又はF
0が装置10にとって最も敏感なパターンである。装置
10の信頼性を高めるには、正規のET、WT及びRN
値を使ったマイクロシーケンサー50の書き込み不成功
の可能性がセクタ選択後に最小限にとどまることを、
「良好セクタ」選択プロセスが保証できるようにするこ
とである。次に掲げる事項はこの目標を達成するための
達成条件である:試験目標 消去時間 書込み時間 データパターン 読み取り感度 最大ビット での書き込み 1/2*ET 1/2*WT 0 RM 高感度データ パターンでの 書き込み 1/2*ET 1/2*WT 0F 及び F0 RM 乱れデータ パターンでの 書き込み 2*ET 2*WT FF 及び 7F RN 注:データパターン及び時間因子の選択はメモリユニッ
ト80の特性にしたがって変化させるべきものである。 このようにして、製造時以後の低レベルフォーマットで
は、いろいろのデータパターンが反復的に「非不良」セ
クタの各バイト中に書き込まれる。「非不良」セクタの
各バイトから、当該データパターンが読み出され、これ
らのバイト中に書き込まれたデータパターンと比較され
る。もしも比較の結果、読み取ったデータパターンと
「非不良」セクタ中に書き込んだデータパターンとの間
に正しい一致が見られないときは、これらのセクタもま
た「不良」であると考えられるので、これらのセクタの
アドレスはMAP ROM74中に「不良」セクタとし
て追記される。
ターンは何でもよい。しかしメモリユニット80中に書
き込むときは、特定データパターンがメモリユニット8
0の特定回路設計に依存して他のものよりも書き込みオ
ペレーションで不成功に終わりやすい。特に0F又はF
0が装置10にとって最も敏感なパターンである。装置
10の信頼性を高めるには、正規のET、WT及びRN
値を使ったマイクロシーケンサー50の書き込み不成功
の可能性がセクタ選択後に最小限にとどまることを、
「良好セクタ」選択プロセスが保証できるようにするこ
とである。次に掲げる事項はこの目標を達成するための
達成条件である:試験目標 消去時間 書込み時間 データパターン 読み取り感度 最大ビット での書き込み 1/2*ET 1/2*WT 0 RM 高感度データ パターンでの 書き込み 1/2*ET 1/2*WT 0F 及び F0 RM 乱れデータ パターンでの 書き込み 2*ET 2*WT FF 及び 7F RN 注:データパターン及び時間因子の選択はメモリユニッ
ト80の特性にしたがって変化させるべきものである。 このようにして、製造時以後の低レベルフォーマットで
は、いろいろのデータパターンが反復的に「非不良」セ
クタの各バイト中に書き込まれる。「非不良」セクタの
各バイトから、当該データパターンが読み出され、これ
らのバイト中に書き込まれたデータパターンと比較され
る。もしも比較の結果、読み取ったデータパターンと
「非不良」セクタ中に書き込んだデータパターンとの間
に正しい一致が見られないときは、これらのセクタもま
た「不良」であると考えられるので、これらのセクタの
アドレスはMAP ROM74中に「不良」セクタとし
て追記される。
【0052】この代わりに、もしも「非不良」セクタの
各バイトから読み取ったデータパターンがこれらの各バ
イト中に書き込んだデータパターンと正しく一致すれ
ば、その物理的セクタアドレスは、論理セクタアドレス
をマッピングできる利用可能なセクタとして、MAP
ROM74中に記憶される。
各バイトから読み取ったデータパターンがこれらの各バ
イト中に書き込んだデータパターンと正しく一致すれ
ば、その物理的セクタアドレスは、論理セクタアドレス
をマッピングできる利用可能なセクタとして、MAP
ROM74中に記憶される。
【0053】自己立ち上げ可能な記憶装置 既に議論したように、本発明の装置10では、図2に示
すように、メモリ16内の装置ドライバ24でシステム
12が動作するようになっている。装置ドライバ24は
通常、ハードディスクドライブ18又は他の形式の周辺
装置からロードされる。図4には自己保持装置ドライバ
24を備えたEECARDと呼称される本発明の装置の
別の実施例110が示されている。装置110は、その
データポート及びアドレスポートが図1及び2に示した
前述のものとすべて同様の装置10を含む。さらに装置
110はPROM又は浮遊ゲートメモリ記憶装置である
ROM24を含む。メモリ24は装置ドライバ24を含
む。最後に、EECARD110はまた、コントローラ
112を含む。EECARD110はスタートアップ時
に装置ドライバがROM24からコントローラ112を
通してシステム12のメモリ15中にロードされる点で
自己「立ち上げ」型である。その後、コントローラ11
2は、システム12から得たデータ及びアドレスバスが
次いで装置10に指向されるように、切り替えられる。
EECARD110はPCMCIA規格の仕様を満す型
のものでよい。
すように、メモリ16内の装置ドライバ24でシステム
12が動作するようになっている。装置ドライバ24は
通常、ハードディスクドライブ18又は他の形式の周辺
装置からロードされる。図4には自己保持装置ドライバ
24を備えたEECARDと呼称される本発明の装置の
別の実施例110が示されている。装置110は、その
データポート及びアドレスポートが図1及び2に示した
前述のものとすべて同様の装置10を含む。さらに装置
110はPROM又は浮遊ゲートメモリ記憶装置である
ROM24を含む。メモリ24は装置ドライバ24を含
む。最後に、EECARD110はまた、コントローラ
112を含む。EECARD110はスタートアップ時
に装置ドライバがROM24からコントローラ112を
通してシステム12のメモリ15中にロードされる点で
自己「立ち上げ」型である。その後、コントローラ11
2は、システム12から得たデータ及びアドレスバスが
次いで装置10に指向されるように、切り替えられる。
EECARD110はPCMCIA規格の仕様を満す型
のものでよい。
【0054】図5aにはコントローラ112の一実施例
が示してある。図5aに示すこの実施例ではシステム1
2から来るデータは、レジスタ116の内容によって制
御されるマルチプレクサ114に入力される。レジスタ
116内のデータはマルチプレクサ114のオペレーシ
ョンを制御する。一旦メモリ24から装置ドライバがメ
モリ16中にロードされると、データバスが装置10に
直接接続されるように、マルチプレクサ114が切り替
えられる。
が示してある。図5aに示すこの実施例ではシステム1
2から来るデータは、レジスタ116の内容によって制
御されるマルチプレクサ114に入力される。レジスタ
116内のデータはマルチプレクサ114のオペレーシ
ョンを制御する。一旦メモリ24から装置ドライバがメ
モリ16中にロードされると、データバスが装置10に
直接接続されるように、マルチプレクサ114が切り替
えられる。
【0055】図5bには好ましい実施例としてコントロ
ーラ112の別の実施例が示してある。システム12と
の間で交換するデータは再びマルチプレクサ114に入
力される。マルチプレクサ114はメモリ24に接続さ
れると共に装置10に接続される。システム12からの
特定のアドレスラインはマルチプレクサ114に入力さ
れ、マルチプレクサ114を設定するのに使われる。こ
の好ましい実施例ではアドレスA17を使用してマルチ
プレクサ114を選択する。低順位アドレス信号すなわ
ちA0- A16からのアドレス信号は直接にメモリ24
に入力され、このメモリからデータがシステム12上に
読み出されてそのメモリ中に入力される。その後、A1
7を1に設定することにより、高順位アドレスを使用し
て装置10をアドレス指定する。
ーラ112の別の実施例が示してある。システム12と
の間で交換するデータは再びマルチプレクサ114に入
力される。マルチプレクサ114はメモリ24に接続さ
れると共に装置10に接続される。システム12からの
特定のアドレスラインはマルチプレクサ114に入力さ
れ、マルチプレクサ114を設定するのに使われる。こ
の好ましい実施例ではアドレスA17を使用してマルチ
プレクサ114を選択する。低順位アドレス信号すなわ
ちA0- A16からのアドレス信号は直接にメモリ24
に入力され、このメモリからデータがシステム12上に
読み出されてそのメモリ中に入力される。その後、A1
7を1に設定することにより、高順位アドレスを使用し
て装置10をアドレス指定する。
【0056】本発明の装置10又は110ならびにそれ
らのオペレーション方法には多数の利点がある。了解で
きようが、MAP ROM74には上記固有の性質があ
るため、メモリユニット80が100%製造欠陥なしで
ある必要はない。LSNをPSNへマッピングするMA
P ROM74の使用により、何ら損失も犠牲を払うこ
となくメモリユニット80から欠陥セクタをマッピング
対象外に置くことができる。さらにその記憶セルを使用
する際、またそれらの性能が劣化した際はいろいろの回
復方法が自動的に与えられるので、ユーザーにとっては
装置10が最初に使用したときと同様に欠陥なしのまま
に留まる。
らのオペレーション方法には多数の利点がある。了解で
きようが、MAP ROM74には上記固有の性質があ
るため、メモリユニット80が100%製造欠陥なしで
ある必要はない。LSNをPSNへマッピングするMA
P ROM74の使用により、何ら損失も犠牲を払うこ
となくメモリユニット80から欠陥セクタをマッピング
対象外に置くことができる。さらにその記憶セルを使用
する際、またそれらの性能が劣化した際はいろいろの回
復方法が自動的に与えられるので、ユーザーにとっては
装置10が最初に使用したときと同様に欠陥なしのまま
に留まる。
【0057】最後に、メモリユニット80内で冗長記憶
を使用することにより、エラーを受けやすいシステムデ
ータのデータ読み取り確度および記憶信頼性を実質的に
保証することができる。
を使用することにより、エラーを受けやすいシステムデ
ータのデータ読み取り確度および記憶信頼性を実質的に
保証することができる。
【図1】本発明のソリッドステートメモリ記憶装置のブ
ロック線図である。
ロック線図である。
【図2】コンピューター、メモリ、および図1のソリッ
ドステートメモリ装置の接続及びインターフェースを行
なうその他ユニットのブロック線図である。
ドステートメモリ装置の接続及びインターフェースを行
なうその他ユニットのブロック線図である。
【図3】図1に示す周辺記憶装置のマイクロシーケンサ
ー部分の詳細なブロック線図である。
ー部分の詳細なブロック線図である。
【図4】本発明の自己立ち上げ可能なメモリ記憶装置の
ブロック線図である。
ブロック線図である。
【図5】図5a及び5bは、図4のソリッドステートメ
モリ記憶装置のコントローラ部分の別の実施例である。
モリ記憶装置のコントローラ部分の別の実施例である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 チン・エス・ジェンク アメリカ合衆国、カリフォルニア州 95133、サン・ホセ、グローサー・ドライ ブ 2733 (72)発明者 ピン・ワン アメリカ合衆国、カリフォルニア州 95070、サラトガ、メリブルック・ドライ ブ 19932
Claims (16)
- 【請求項1】 第一アドレスを与えるコンピューターの
インターフェースをなすソリッドステート記憶装置であ
って、 該第一アドレス信号を第二アドレス信号に変換する装置
と、 複数の浮遊ゲート記憶セルを含む、データ信号記憶用の
メモリ装置と、 該コンピューターから記憶するためのデータ信号を該メ
モリ装置に入力するため、あるいはデータ信号を該メモ
リ装置から取り出して該コンピューターに与えるため、
該第二アドレス信号を使って該メモリ装置のアドレス指
定をする装置と、 該第二アドレス信号で指定される該メモリ装置内該浮遊
ゲート記憶セルが欠陥であるときは、該第一アドレス信
号を第三アドレス信号に変換するように該変換装置を変
更する装置とを含むソリッドステート記憶装置。 - 【請求項2】 請求項1に記載の装置において該アドレ
ス指定装置がさらに、 該メモリ装置からデータ信号を二つのモードで読み取る
装置にして、その第二モードよりも第一モードにおいて
該アドレス指定された浮遊ゲート記憶セルが長期間感知
される読み取り装置を含むソリッドステート記憶装置。 - 【請求項3】 請求項1に記載の装置において、第一お
よび第二データ信号を記憶する該メモリ装置が該第二ア
ドレス信号で指定される第一複数の浮遊ゲート記憶セル
に該第一データ信号を記憶し、該第一アドレス信号を表
している該第二データ信号を第二複数の浮遊ゲート記憶
セルに冗長的に記憶することを特徴とするソリッドステ
ート記憶装置。 - 【請求項4】 論理セクタ信号を与えるコンピューター
のインターフェースをなすソリッドステート周辺記憶装
置であって、 該論理セクタ信号を物理的セクタ信号に変換する装置
と、 複数の浮遊ゲート記憶セルを含む、データ信号記憶用メ
モリ装置と、 該メモリ装置から二つのモードでデータ信号を読み取る
ため、該物理的セクタ信号を用いて該メモリ装置をアド
レス指定する装置にして、その第二モードよりも第一モ
ードにおいて該アドレス指定された浮遊ゲート記憶セル
が長期間感知されるアドレス指定装置とを含むソリッド
ステート周辺記憶装置。 - 【請求項5】 請求項4に記載の装置にしてさらに、 該物理的セクタ信号で指定される該メモリ装置内の該浮
遊ゲート記憶セルが欠陥であるときは、該論理セクタ信
号を新規物理セクタ信号に変換するように該変換装置を
変更する装置を含む装置。 - 【請求項6】 請求項5に記載の装置において、第一お
よび第二データ信号を記憶する該メモリ装置が該物理的
セクタ信号で指定される第一複数の浮遊ゲート記憶セル
に該第一データ信号を記憶し、該論理セクタ信号を表し
ている該第二データ信号を第二複数の浮遊ゲート記憶セ
ルに冗長的に記憶することを特徴とする装置。 - 【請求項7】 論理セクタ信号を与えるコンピューター
のインターフェースをなすソリッドステート周辺記憶装
置であって、該装置が該論理セクタ信号を物理的セクタ
信号に変換する装置と、 第一及び第二データ信号を記憶するメモリ装置にして、
該メモリ装置が複数の浮遊ゲート記憶セルを含み、該物
理的セクタ信号で指定される第一複数の浮遊ゲート記憶
セルに該第一データ信号を記憶し、該論理セクタ信号を
表す該第二データ信号を第二複数の浮遊ゲート記憶セル
内に冗長的に記憶するようにされたメモリ装置とを含む
ことを特徴とする装置。 - 【請求項8】 コンピューターからソリッドステート周
辺記憶装置にデータ信号を書き込む方法であって、 該コンピューターから該装置に、論理セクタ信号と該デ
ータ信号とを与える段階と、 変換テーブルに基づいて該論理セクタ信号を物理的セク
タアドレス信号に変換する段階と、 該物理的セクタアドレス信号で指定される複数の浮遊ゲ
ート記憶セルを含むメモリ装置中に該データ信号を書き
込む段階と、 該物理的セクタアドレス信号に基づいて該データ信号を
該メモリ装置から読み取る段階と、 該メモリ装置中に書き込まれた該データ信号と、該メモ
リ装置から読み取られた該データ信号とを比較する段階
と、 エラーがあったときは、 該メモリ装置の未使用部分をアドレス指定する新規な物
理的セクタアドレス信号を定める段階と、 該新規物理的セクタアドレス信号に基づいて該メモリ装
置中に該データ信号を書き込む段階と、 該論理セクタ信号と該新規物理的セクタアドレス信号と
の対応を反映させるべく該変換テーブルを更新する段階
とを含むデータ信号書き込み方法。 - 【請求項9】 コンピューターに接続されたソリッドス
テート周辺記憶装置からデータ信号を読み取る方法であ
って、 該コンピューターから該装置に論理セクタ信号を与える
段階と、 変換テーブルに基づいて該論理セクタ信号を物理的セク
タアドレス信号に変換する段階と、 該物理セクタアドレス信号で指定される複数の浮遊ゲー
ト記憶セルを含むメモリ装置から該データ信号を読み取
る段階と、 エラー訂正方法を適用することにより該データ信号が正
しいか否かを決定する段階と、 訂正可能なエラーがあったときは、 該メモリ装置の未使用部分をアドレス指定する新規な物
理的セクタアドレス信号を定める段階と、 該新規物理的セクタアドレス信号があったときに該エラ
ー訂正方法で訂正された該データ信号を該メモリ装置中
に書き込む段階と、 該論理セクタ信号と該新規物理的セクタアドレス信号と
の対応を反映させるべく該変換テーブルを更新する段階
とを含むデータ信号読み取り方法。 - 【請求項10】 命令信号、第一アドレス信号及びデー
タ信号を与えるコンピューターのインターフェースをな
すソリッドステート周辺記憶装置であって、 該命令信号及び該第一アドレス信号を記憶するための第
一レジスタ装置と、 該データ信号を記憶するための第二レジスタ装置と、 複数の浮遊ゲート記憶セルを含み、該第一アドレス信号
を第二アドレス信号に変換するための表を記憶する第一
メモリ装置と第一ポート及び第二ポートの二つのポート
を含む二重ポートメモリ装置にしてその第一ポートが該
第二レジスタ装置と通信するようにされた二重ポートメ
モリ装置と、 複数の浮遊ゲート記憶セルを含み、該データ信号を記憶
する第二メモリ装置と、 該命令信号及び該第一アドレス信号を受信するため、該
第一レジスタ装置に接続されると共に、該第一アドレス
信号を該第二アドレス信号に変換するため該第一メモリ
装置に接続されているシーケンサー装置にして、該シー
ケンサーは、該データ信号を該第二メモリ装置中に記憶
するため、あるいは該第二メモリ装置からデータ信号を
取り出すため、該第二アドレス信号に基づいて該第二メ
モリ装置をアドレス指定する装置と、該記憶したデータ
信号を訂正するとともに該記憶したデータ信号を該二重
ポートメモリ装置の該第二部分に入力する装置とを含む
シーケンサーとを含む装置。 - 【請求項11】 請求項10に記載の装置であって、さ
らに、 該コンピューターを該装置でインターフェースするため
の制御プログラムを記憶するコントローラ装置を含む装
置。 - 【請求項12】 請求項11に記載の装置において、該
コントローラ装置がさらに、該装置のためのドライバソ
フトウェアを記憶するための第三メモリ装置を含むこと
を特徴とする装置。 - 【請求項13】 請求項12に記載の装置において、該
コントローラ装置が、該第三メモリ装置と該第一及び第
二レジスタ装置との間のアクセスを切り替えるための装
置をさらに含むことを特徴とする装置。 - 【請求項14】 コンピューターのインターフェースと
して該コンピューターから論理セクタ信号を受信するた
めのソリッドステート周辺記憶装置のフォーマット化方
法であって、該装置が該論理セクタ信号を物理的セクタ
信号に変換するための第一メモリ装置と複数の物理的セ
クタを備えた第二のメモリ装置とを含み、各該物理セク
タがデータ信号記憶用の複数の浮遊記憶セルを有するよ
うにされている場合のフォーマット方法において、該方
法が各該物理セクタ内の該複数浮遊ゲート記憶セル上に
電荷を蓄積させる段階と、 該複数ゲート記憶セル各々を複数の製造スクリーニング
試験する段階と、 該物理的セクタ内の該複数浮遊ゲート記憶セル各々を読
み取ると共に、該複数の製造スクリーニング試験に合格
しなかった記憶セル(以下、「不良セクタ」と称する)
を有する記憶セクタを決定する段階と、 該不良セクタに標識を付ける段階と、 該装置を読み、該標識の付いているセクタを決定する段
階と、 排除すべき物理的セクタ信号として該標識の付いた該セ
クタのアドレスを該第一メモリ装置に記憶する段階とを
含むフォーマット方法。 - 【請求項15】 請求項14に記載の方法であって、さ
らに排除すべき物理的セクタ信号として該第一メモリ装
置内にアドレスが記憶されていないセクタ(以下、「非
不良」セクタと称する)内の該複数の浮遊ゲート記憶セ
ル中に、いろいろのデータパターンを反復的に書き込む
段階と、 該非不良セクタの該複数浮遊ゲート記憶セルから該デー
タパターンを読み取る段階と、 該非不良セクタ中に書き込んだ該データパターンと該セ
クタから読み取られた該データパターンとを比較する段
階と、 書き込んだデータパターンが読み取られたデータパター
ンに一致しないセクタのアドレスを、排除すべき物理的
セクタ信号として該第一メモリ装置に記憶する段階とを
含む方法。 - 【請求項16】 請求項14に記載の方法であって、さ
らに排除すべき物理的セクタ信号として該第一メモリ装
置内にアドレスが記憶されていないセクタ(以下、「非
不良」セクタと称する)内の該複数の浮遊ゲート記憶セ
ル中に、いろいろのデータパターンを反復的に書き込む
段階と、 該非不良セクタの該複数浮遊ゲート記憶セルから該デー
タパターンを読み取る段階と、 該非不良セクタ中に書き込んだ該データパターンと該セ
クタから読み取られた該データパターンとを比較する段
階と、 書き込んだデータパターンが読み取られたデータパター
ンに一致するセクタのアドレスを、論理セクタ信号にマ
ッピングすべき物理的セクタ信号として該第一メモリ装
置に記憶する段階とを含む方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/977,697 US5359570A (en) | 1992-11-13 | 1992-11-13 | Solid state peripheral storage device |
| US07/977,697 | 1992-11-13 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06214892A true JPH06214892A (ja) | 1994-08-05 |
Family
ID=25525426
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5308766A Pending JPH06214892A (ja) | 1992-11-13 | 1993-11-15 | ソリッドステート周辺記憶装置 |
Country Status (6)
| Country | Link |
|---|---|
| US (3) | US5359570A (ja) |
| EP (1) | EP0597706B1 (ja) |
| JP (1) | JPH06214892A (ja) |
| AT (1) | ATE197196T1 (ja) |
| CA (1) | CA2102659A1 (ja) |
| DE (1) | DE69329590T2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013137771A (ja) * | 2011-12-12 | 2013-07-11 | Apple Inc | データ利用についてのマウント時間の調停 |
Families Citing this family (69)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5504760A (en) * | 1991-03-15 | 1996-04-02 | Sandisk Corporation | Mixed data encoding EEPROM system |
| EP0596198B1 (en) * | 1992-07-10 | 2000-03-29 | Sony Corporation | Flash eprom with erase verification and address scrambling architecture |
| US5359570A (en) * | 1992-11-13 | 1994-10-25 | Silicon Storage Technology, Inc. | Solid state peripheral storage device |
| US5740349A (en) * | 1993-02-19 | 1998-04-14 | Intel Corporation | Method and apparatus for reliably storing defect information in flash disk memories |
| JP2669303B2 (ja) * | 1993-08-03 | 1997-10-27 | 日本電気株式会社 | ビットエラー訂正機能付き半導体メモリ |
| US5479609A (en) * | 1993-08-17 | 1995-12-26 | Silicon Storage Technology, Inc. | Solid state peripheral storage device having redundent mapping memory algorithm |
| DE4329012A1 (de) * | 1993-08-28 | 1995-03-02 | Sel Alcatel Ag | Verfahren und Vorrichtung zur Fehlerprüfung und zur Fehlerkorrektur in Speicherbausteinen |
| JP3215237B2 (ja) * | 1993-10-01 | 2001-10-02 | 富士通株式会社 | 記憶装置および記憶装置の書き込み/消去方法 |
| US5539697A (en) * | 1994-08-03 | 1996-07-23 | Bi-Search Corporation | Method and structure for using defective unrepairable semiconductor memory |
| JPH08101751A (ja) * | 1994-09-30 | 1996-04-16 | Mitsubishi Electric Corp | Pcカード及びpcカードシステム |
| US5537558A (en) * | 1994-10-05 | 1996-07-16 | Halliburton Company | Apparatus and method for communicating multiple devices through one PCMCIA interface |
| US5491660A (en) * | 1994-11-18 | 1996-02-13 | Texas Instruments Incorporated | On-chip operation control for memories |
| TW269021B (en) * | 1994-12-23 | 1996-01-21 | Ibm | Electronic circuit implementing component level disk drive |
| US5596562A (en) * | 1995-01-19 | 1997-01-21 | United Microelectronics Corp. | Controlling method and apparatus for supporting hard disk and/or CD-ROM drives through the PCMCIA interface |
| US5731629A (en) * | 1995-03-10 | 1998-03-24 | Data-Disk Technology, Inc. | Personal memory devices carried by an individual which can be read and written to |
| JPH0954726A (ja) * | 1995-08-18 | 1997-02-25 | Mitsubishi Electric Corp | 記憶装置 |
| JP3604466B2 (ja) * | 1995-09-13 | 2004-12-22 | 株式会社ルネサステクノロジ | フラッシュディスクカード |
| GB2291991A (en) * | 1995-09-27 | 1996-02-07 | Memory Corp Plc | Disk drive emulation with a block-erasable memory |
| IL116220A0 (en) * | 1995-11-30 | 1996-01-31 | Memsys Ltd | Automated process for generating boards from defective chips |
| US5719880A (en) | 1996-09-20 | 1998-02-17 | Texas Instruments Incorporated, A Delaware Corporation | On-chip operation for memories |
| 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 |
| 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 |
| US6360346B1 (en) * | 1997-08-27 | 2002-03-19 | Sony Corporation | Storage unit, method of checking storage unit, reading and writing method |
| JP3233079B2 (ja) | 1997-09-30 | 2001-11-26 | ソニー株式会社 | データ処理システム及びデータ処理方法 |
| US6223271B1 (en) * | 1998-07-15 | 2001-04-24 | Compaq Computer Corp. | System and method for detecting system memory size using ROM based paging tables |
| JP2000122935A (ja) * | 1998-10-20 | 2000-04-28 | Sanyo Electric Co Ltd | 不揮発性メモリのアドレス変換装置 |
| US6260156B1 (en) | 1998-12-04 | 2001-07-10 | Datalight, Inc. | Method and system for managing bad areas in flash memory |
| US6427186B1 (en) * | 1999-03-30 | 2002-07-30 | Frank (Fong-Long) Lin | Memory, interface system and method for mapping logical block numbers to physical sector numbers in a flash memory, using a master index table and a table of physical sector numbers |
| EP1130516A1 (en) * | 2000-03-01 | 2001-09-05 | Hewlett-Packard Company, A Delaware Corporation | Address mapping in solid state storage device |
| JP2002269994A (ja) * | 2001-03-09 | 2002-09-20 | Oki Electric Ind Co Ltd | アナログ半導体メモリの冗長メモリ回路 |
| US6941504B2 (en) * | 2001-11-15 | 2005-09-06 | International Business Machines Corporation | Method and apparatus for test case evaluation using a cyclic redundancy checker |
| GB2391344A (en) * | 2002-07-31 | 2004-02-04 | Hewlett Packard Co | Magnetoresistive solid state storage device and data storage method |
| US20050093572A1 (en) * | 2003-11-03 | 2005-05-05 | Macronix International Co., Ltd. | In-circuit configuration architecture with configuration on initialization function for embedded configurable logic array |
| US20050102573A1 (en) * | 2003-11-03 | 2005-05-12 | Macronix International Co., Ltd. | In-circuit configuration architecture for embedded configurable logic array |
| US20050097499A1 (en) * | 2003-11-03 | 2005-05-05 | Macronix International Co., Ltd. | In-circuit configuration architecture with non-volatile configuration store for embedded configurable logic array |
| KR100526188B1 (ko) | 2003-12-30 | 2005-11-04 | 삼성전자주식회사 | 플래시 메모리의 주소 사상 방법, 사상 정보 관리 방법 및상기 방법을 이용한 플래시 메모리 |
| JP2005353110A (ja) * | 2004-06-08 | 2005-12-22 | Nec Electronics Corp | 不揮発性メモリ装置 |
| US7743233B2 (en) * | 2005-04-05 | 2010-06-22 | Intel Corporation | Sequencer address management |
| US7469368B2 (en) * | 2005-11-29 | 2008-12-23 | Broadcom Corporation | Method and system for a non-volatile memory with multiple bits error correction and detection for improving production yield |
| US8959307B1 (en) | 2007-11-16 | 2015-02-17 | Bitmicro Networks, Inc. | Reduced latency memory read transactions in storage devices |
| 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 |
| US9372755B1 (en) | 2011-10-05 | 2016-06-21 | Bitmicro Networks, Inc. | Adaptive power cycle sequences for data recovery |
| US9043669B1 (en) | 2012-05-18 | 2015-05-26 | Bitmicro Networks, Inc. | Distributed ECC engine for storage media |
| US9423457B2 (en) | 2013-03-14 | 2016-08-23 | Bitmicro Networks, Inc. | Self-test solution for delay locked loops |
| US9430386B2 (en) | 2013-03-15 | 2016-08-30 | Bitmicro Networks, Inc. | Multi-leveled cache management in a hybrid storage system |
| US9916213B1 (en) | 2013-03-15 | 2018-03-13 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
| 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 |
| US9971524B1 (en) | 2013-03-15 | 2018-05-15 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
| US9734067B1 (en) | 2013-03-15 | 2017-08-15 | Bitmicro Networks, Inc. | Write buffering |
| US10489318B1 (en) | 2013-03-15 | 2019-11-26 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
| US9875205B1 (en) | 2013-03-15 | 2018-01-23 | Bitmicro Networks, Inc. | Network of memory systems |
| US9934045B1 (en) | 2013-03-15 | 2018-04-03 | Bitmicro Networks, Inc. | Embedded system boot from a storage device |
| US10120694B2 (en) | 2013-03-15 | 2018-11-06 | Bitmicro Networks, Inc. | Embedded system boot from a storage device |
| 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 |
| US9798688B1 (en) | 2013-03-15 | 2017-10-24 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
| US9720603B1 (en) | 2013-03-15 | 2017-08-01 | Bitmicro Networks, Inc. | IOC to IOC distributed caching architecture |
| US9501436B1 (en) | 2013-03-15 | 2016-11-22 | Bitmicro Networks, Inc. | Multi-level message passing descriptor |
| US9842024B1 (en) | 2013-03-15 | 2017-12-12 | Bitmicro Networks, Inc. | Flash electronic disk with RAID controller |
| US9952991B1 (en) | 2014-04-17 | 2018-04-24 | Bitmicro Networks, Inc. | Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation |
| 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 |
| US10078604B1 (en) | 2014-04-17 | 2018-09-18 | Bitmicro Networks, Inc. | Interrupt coalescing |
| US10042792B1 (en) | 2014-04-17 | 2018-08-07 | Bitmicro Networks, Inc. | Method for transferring and receiving frames across PCI express bus for SSD device |
| US10025736B1 (en) | 2014-04-17 | 2018-07-17 | Bitmicro Networks, Inc. | Exchange message protocol message transmission between two devices |
| US10552050B1 (en) | 2017-04-07 | 2020-02-04 | Bitmicro Llc | Multi-dimensional computer storage system |
Family Cites Families (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4003086A (en) * | 1975-04-28 | 1977-01-11 | Memorex Corporation | Dynamic loop gain alteration for data retrieval |
| US4398248A (en) * | 1980-10-20 | 1983-08-09 | Mcdonnell Douglas Corporation | Adaptive WSI/MNOS solid state memory system |
| US4373179A (en) * | 1978-06-26 | 1983-02-08 | Fujitsu Limited | Dynamic address translation system |
| IT1224062B (it) * | 1979-09-28 | 1990-09-26 | Ates Componenti Elettron | Metodo di programmazione per una memoria a semiconduttore non volatile elettricamente alterabile |
| JPS5764383A (en) * | 1980-10-03 | 1982-04-19 | Toshiba Corp | Address converting method and its device |
| JPS618798A (ja) * | 1984-06-21 | 1986-01-16 | Nec Corp | 不揮発性記憶装置 |
| US4984151A (en) * | 1985-03-01 | 1991-01-08 | Advanced Micro Devices, Inc. | Flexible, next-address generation microprogram sequencer |
| US4939694A (en) * | 1986-11-03 | 1990-07-03 | Hewlett-Packard Company | Defect tolerant self-testing self-repairing memory system |
| US4831573A (en) * | 1987-03-06 | 1989-05-16 | Altera Corporation | Programmable integrated circuit micro-sequencer device |
| US4984149A (en) * | 1987-03-28 | 1991-01-08 | Kabushiki Kaisha Toshiba | Memory access control apparatus |
| EP1031992B1 (en) * | 1989-04-13 | 2006-06-21 | SanDisk Corporation | Flash EEPROM system |
| US5200959A (en) * | 1989-10-17 | 1993-04-06 | Sundisk Corporation | Device and method for defect handling in semi-conductor memory |
| JP2835107B2 (ja) * | 1989-11-16 | 1998-12-14 | 沖電気工業株式会社 | 不揮発性半導体記憶装置のエラー訂正回路及びそのエラー訂正方法 |
| GB2251323B (en) * | 1990-12-31 | 1994-10-12 | Intel Corp | Disk emulation for a non-volatile semiconductor memory |
| GB2251324B (en) * | 1990-12-31 | 1995-05-10 | Intel Corp | File structure for a non-volatile semiconductor memory |
| US5291584A (en) * | 1991-07-23 | 1994-03-01 | Nexcom Technology, Inc. | Methods and apparatus for hard disk emulation |
| TW261687B (ja) * | 1991-11-26 | 1995-11-01 | Hitachi Seisakusyo Kk | |
| JP2738195B2 (ja) * | 1991-12-27 | 1998-04-08 | 日本電気株式会社 | 不揮発性半導体記憶装置 |
| US5347489A (en) * | 1992-04-21 | 1994-09-13 | Intel Corporation | Method and circuitry for preconditioning shorted rows in a nonvolatile semiconductor memory incorporating row redundancy |
| US5341339A (en) * | 1992-10-30 | 1994-08-23 | Intel Corporation | Method for wear leveling in a flash EEPROM memory |
| US5416782A (en) * | 1992-10-30 | 1995-05-16 | Intel Corporation | Method and apparatus for improving data failure rate testing for memory arrays |
| US5337275A (en) * | 1992-10-30 | 1994-08-09 | Intel Corporation | Method for releasing space in flash EEPROM memory array to allow the storage of compressed data |
| US5359570A (en) * | 1992-11-13 | 1994-10-25 | Silicon Storage Technology, Inc. | Solid state peripheral storage device |
| US5388083A (en) * | 1993-03-26 | 1995-02-07 | Cirrus Logic, Inc. | Flash memory mass storage architecture |
| US5349558A (en) * | 1993-08-26 | 1994-09-20 | Advanced Micro Devices, Inc. | Sector-based redundancy architecture |
-
1992
- 1992-11-13 US US07/977,697 patent/US5359570A/en not_active Expired - Lifetime
-
1993
- 1993-11-08 CA CA002102659A patent/CA2102659A1/en not_active Abandoned
- 1993-11-11 AT AT93309021T patent/ATE197196T1/de not_active IP Right Cessation
- 1993-11-11 DE DE69329590T patent/DE69329590T2/de not_active Expired - Fee Related
- 1993-11-11 EP EP93309021A patent/EP0597706B1/en not_active Expired - Lifetime
- 1993-11-15 JP JP5308766A patent/JPH06214892A/ja active Pending
-
1994
- 1994-05-04 US US08/237,682 patent/US5432748A/en not_active Expired - Lifetime
-
1995
- 1995-02-28 US US08/395,841 patent/US5500826A/en not_active Expired - Lifetime
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013137771A (ja) * | 2011-12-12 | 2013-07-11 | Apple Inc | データ利用についてのマウント時間の調停 |
| US8756458B2 (en) | 2011-12-12 | 2014-06-17 | Apple Inc. | Mount-time reconciliation of data availability |
| US9104329B2 (en) | 2011-12-12 | 2015-08-11 | Apple Inc. | Mount-time reconciliation of data availability |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0597706A3 (en) | 1996-06-05 |
| US5432748A (en) | 1995-07-11 |
| DE69329590D1 (de) | 2000-11-30 |
| EP0597706A2 (en) | 1994-05-18 |
| CA2102659A1 (en) | 1994-05-14 |
| US5500826A (en) | 1996-03-19 |
| EP0597706B1 (en) | 2000-10-25 |
| ATE197196T1 (de) | 2000-11-15 |
| US5359570A (en) | 1994-10-25 |
| DE69329590T2 (de) | 2001-06-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0597706B1 (en) | Solid state peripheral storage device | |
| EP0912939B1 (en) | Flash memory card | |
| US7350044B2 (en) | Data move method and apparatus | |
| US6041001A (en) | Method of increasing data reliability of a flash memory device without compromising compatibility | |
| US5787484A (en) | System and method which compares data preread from memory cells to data to be written to the cells | |
| US6601211B1 (en) | Write reduction in flash memory systems through ECC usage | |
| US6754765B1 (en) | Flash memory controller with updateable microcode | |
| US6330688B1 (en) | On chip error correction for devices in a solid state drive | |
| US6119245A (en) | Semiconductor storage device and method of controlling it | |
| JP4165990B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリへのデータの書き込み方法 | |
| US6009497A (en) | Method and apparatus for updating flash memory resident firmware through a standard disk drive interface | |
| JP4668416B2 (ja) | ブート・ブロックへの書き込みアクセスを可能にする時のブート・ブロック・コードの保護 | |
| CN102132354B (zh) | 闪存中的数据的快速低功率读取 | |
| US20020059515A1 (en) | Disk drive and computer | |
| KR930010981A (ko) | 플래시메모리를 사용한 기억장치 | |
| RU2269814C2 (ru) | Способ надежной записи указателя для кольцевой памяти | |
| WO2018040804A1 (zh) | 一种存储器块处理方法、装置和计算机存储介质 | |
| JP2669303B2 (ja) | ビットエラー訂正機能付き半導体メモリ | |
| US6738894B1 (en) | Data processor | |
| US20030084231A1 (en) | Nonvolatile semiconductor storage device with interface functions | |
| JPH0729392A (ja) | 不揮発性半導体メモリおよびそれを使用した半導体ディスク装置 | |
| JPH01171047A (ja) | メモリ素子のチップ交替制御装置 | |
| US5479609A (en) | Solid state peripheral storage device having redundent mapping memory algorithm | |
| JPS62168241A (ja) | マイクロプログラム制御装置 | |
| JPH08138391A (ja) | フラッシュメモリ制御方式 |