(57)【要約】      （修正有）【課題】製造コストを減少し、製品価値が改善された小さい寸法のメモリのための大きい記録容量を有するシリコン記憶媒体を提供する。    【解決手段】メモリと、制御ユニットとを備え、メモリが複数のメモリブロックを含み、メモリブロックのそれぞれは、複数のデータフレームを有し、複数のデータフレームは、先行記述ユニットと複数の圧縮セクタデータとエラーチェックコードを含み、制御ユニットは変換テーブルバッファとアドレスマッピングモジュールとを備え、データを読み書きするためシステムにアクセスするようにしたシリコン記憶媒体を制御する方法であって、先行記述ユニットにアクセスするためのデータフレームを読み込んで変換テーブルを確立し、変換テーブルに従ってメモリブロックにアクセスし、前記メモリブロックから読み出すか、あるいは該メモリブロックに書き込むことを備えているシリコン記録媒体制御方法。  【選択図】    図３
2005322209.tif 000002
【特許請求の範囲】
【請求項１】
メモリと、制御ユニットとを備え、前記メモリが複数のメモリブロックを含み、前記メモリブロックのそれぞれは、複数のデータフレームを有し、前記複数のデータフレームは、先行記述ユニットと複数の圧縮セクタデータとエラ−チェックコードとを含み、前記制御ユニットは、変換テーブルバッファとアドレスマッピングモジュールとを備え、データを読み書きするためシステムにアクセスするようにしたシリコン記憶媒体を制御する方法であって、前記先行記述ユニットにアクセスするためのデータフレームを読み込んで変換テーブルを確立し、前記変換テーブルに従って前記データフレームによって写し出されたメモリブロックにアクセスし、前記メモリブロックから読み出すか、あるいは該メモリブロックに書き込むことを備えているシリコン記憶媒体制御方法。  
【請求項２】
前記先行記述ユニットは、ブロック状態（ＢＳ）と、前記メモリブロックが前記データを最初に記憶するアドレスを示す開始アドレス（ＳＡ）と、前記メモリブロックが記憶するデータの長さを示すデータ長さ（ＤＬ）とを備えている請求項１記載の方法。
【請求項３】
前記先行記述ユニットは、前記制御ユニットが前記データを圧縮/復元するように選択する手順を示すアルゴリズムインジケータ（ＡＩ）と、前記制御ユニットが写し出すことを選択するパラメータテーブルを示すパラメータインジケータ（ＰＩ）とを更に備えている請求項１記載の方法。
【請求項４】
前記変換テーブルを確立する段階は、非使用メモリブロックで変換テーブルを確立すると共に、変換テーブルを使用中メモリブロックで確立し、且つ読み込み/書き込みインデックスに従って前記非使用/使用中変換テーブルを更新することを更に備えている請求項１記載の方法。
【請求項５】
前記非使用変換テーブルを確立するとき、更に、メモリブロックを順次走査し、非使用メモリブロック（ＢＳ＝ＦＦ）を受信し、前記非使用メモリブロックのパラメータが所定値（ＥＭＰＴＹ＝＝ＦＦＦ）に等しいか否かを検出し、そうであれば、前記非使用メモリブロックの前記パラメータおよび最終パラメータの値をシーケンスメモリブロック（ＥＭＰＴＹ＝ＢＡ、ＥＭＰ_ＥＮＤ＝ＢＡ）のアドレスで置換し、且つ前記非使用メモリブロックの前のエントリおよび次のエントリの値を前記所定の値（ＰＥ（ＢＡ）＝ＦＦＦ、ＮＥ（ＢＡ）＝ＦＦＦ）で置換し、前記最終メモリブロックを走査した後、前記値に置換する記録に従って前記非使用変換テーブルを確立することを備えている請求項４記載の方法。
【請求項６】
前記非使用メモリブロックのパラメータが前記所定の値に等しくないとき、前記非使用メモリブロックの最終パラメータの値をシーケンスメモリブロック（ＮＥ（ＥＭＰ_ＥＮＤ）＝ＢＡ、ＥＭＰ_ＥＮＤ＝ＢＡ）のアドレスで置換し、前記非使用メモリブロックの先のエントリおよび次のエントリの値を前記最終のパラメータ（ＰＥ（ＢＡ）＝ＥＭＰ_ＥＮＤ）および前記所定値（ＮＥ（ＢＡ）＝ＦＦＦ）で置換して前記非使用変換テーブルを確立するため前記記録を行うようにした請求項５記載の方法。
【請求項７】
前記使用中変換テーブルを確立するとき、更に、メモリブロックを順次走査し、使用中メモリブロック（ＢＳ＝Ｆ０）を受信し、前記使用中メモリブロックのパラメータが所定値（ＳＴＡＲＴ＝＝ＦＦＦ）に等しいか否かを検出し、そうであれば、前記使用中メモリブロックの前記パラメータおよび最終パラメータの値をシーケンスメモリブロック（ＳＴＡＲＴ＝ＢＡ、ＥＮＤ＝ＢＡ）のアドレスで置換し、且つ前記使用中メモリブロックの先のエントリおよび次のエントリの値を前記所定の値（ＰＥ（ＢＡ）＝ＦＦＦ、ＮＥ（ＢＡ）＝ＦＦＦ）で置換し、前記最終メモリブロックを走査した後、前記値に置換する記録に従って前記使用中変換テーブルを確立することを備えている請求項４記載の方法。
【請求項８】
前記使用中メモリブロックのパラメータが所定の値に等しくないとき、更に、
前記使用中メモリブロック（ＢＡ_ＩＮＳ＝ＳＴＡＲＴ）によって写し出された挿入位置のアドレスを得るため前記使用中メモリブロックによって写し出されたデータフレームの先行記述ユニットを受信し、前記使用中メモリブロックの開始アドレスが前記挿入点の開始アドレスより小さいとき、前記挿入点の前のデータフレームのパラメータが所定値（ＰＥ（ＢＡ_ＩＮＳ）＝ＦＦＦ）であるか否かを判定し、そうであれば、前記使用中メモリブロックのパラメータをシーケンスメモリブロック（ＳＴＡＲＴ＝ＢＡ）のアドレスで置換し、そうでなければ、前記メモリブロックの前記前データフレームを挿入点のもの（ＰＥ（ＢＡ）＝ＰＥ（ＩＮＳ_ＢＡ））で置換し、前記メモリブロックの次のエントリを前記挿入点のアドレス（ＮＥ（ＢＡ）＝ＩＮＳ_ＢＡ）で置換し、且つ前記挿入点の先のエントリをシーケンスメモリブロック（ＰＥ（ＢＡ_ＩＮＳ）＝ＢＡ）のアドレスで置換し、前記使用中メモリブロックの開始アドレスが前記挿入点の開始アドレスより小さくないとき、前記挿入点の次のデータフレームのパラメータが所定値（ＮＥ（ＢＡ_ＩＮＳ）＝ＦＦＦ）であるか否かを判定し、そうでなければ、次の挿入点の開始アドレスを連続して判定し、そうであれば、前記使用中メモリブロックの最終パラメータをシーケンスメモリブロック（ＥＮＤ＝ＢＡ）のアドレスで置換し、前記メモリブロックの前記前データフレームを挿入点と同じもの（ＰＥ（ＢＡ）＝ＰＥ（ＩＮＳ_ＢＡ））で置換し、前記メモリブロックの次のエントリを所定値（ＮＥ（ＢＡ）＝ＦＦＦ）で置換し、且つ前記挿入点の次のエントリをシーケンスメモリブロック（ＮＥ（ＢＡ_ＩＮＳ）＝ＢＡ）のアドレスで置換し、前記最終メモリブロックを走査した後、前記値に置換する記録に従って前記使用中変換テーブルを確立することを備えている請求項７記載の方法。
【請求項９】
前記システムが読み取り指示を送信するとき、更に、前記変換テーブルに従って前記読取指示に対応する前記メモリブロックの前記データによって写し出されたアドレスを検索し、前記写し出されたアドレス受信するかどうかを判定し、受信するなら、前記写し出されたアドレスのデータフレームを読取ってオリジナルデータを復元して前記システムに送り戻し、受信しなければ、所定のデータフレームを前記システムに送信することを備えている請求項１記載の方法。
【請求項１０】
前記システムが書き取り指示を送信するとき、更に、前記変換テーブルに従って前記書き取り指示に対応する前記メモリブロックの前記データによって写し出されたアドレスを検索し、前記写し出されたアドレスを受信するかどうかを判定し、受信するなら、前記写し出されたアドレスのデータフレームを復元して前記システムから送信されたデータと相応する前記データフレームを更新し、前記写し出されたアドレスの前記データフレームにおけるデータを消去して前記更新されたデータフレームを非使用メモリブロックの中に記憶し、前記変換テーブルを更新することを備えている請求項１記載の方法。
【請求項１１】
前記写し出されたアドレスを受信するか否かを判定するとき、受信しない場合、前記システムが書き込みたいデータに相応するデータフレームを構成して非使用メモリブロックに記憶し、且つ前記変換テーブルを更新する請求項１０記載の方法。
【請求項１２】
前記システムによって送信された前記データの開始アドレスおよび長さが前記データフレームを超えたとき、前記システムは、前記データを圧縮し、前記使用中変換テーブルおよび前記開始アドレスを更新する請求項１１記載の方法。     
【請求項１３】
前記データの開始アドレスが前記データフレームを超えたとき、前記データの長さを調節して圧縮し、前記使用中変換テーブルおよび開始アドレスを更新する請求項１１記載の方法。
【請求項１４】
前記データの開始アドレスおよび長さが前記データフレーム内にあるとき、前記システムは、前記データを復元し、該復元したデータおよび前記データを、データフレームを形成するための前記書き込み指示について再圧縮し、前記使用中変換テーブル、前記開始アドレスおよび非使用変換テーブルを更新する請求項１１記載の方法。
【請求項１５】
前記データの長さが前記データフレームを超えたとき、前記長さを調節して前記データを復元し、該復元したデータおよび前記データを、データフレームを形成するための前記書き込み指示について再圧縮し、前記使用中変換テーブル、前記開始アドレスおよび非使用変換テーブルを更新する請求項１１記載の方法。
【請求項１６】
前記データの開始アドレスおよび長さが前記データフレーム超えるばかりでなく超えない場合、前記システムは、他のデータフレームを再形成するため前記データを圧縮し、前記使用中変換テーブルおよび非使用変換テーブルを更新する請求項１１記載の方法。
【請求項１７】
データをシステムに関して読取りおよび書き込むシリコン記憶媒体であって、複数のメモリブロックを有し、各メモリブロックが複数のデータフレームを有するメモリと、制御ユニットとを備え、前記システムと前記制御ユニットとの間をインターフェースで接続するチャンネルとして機能するシステムインターフェースと、データを一時的に記憶する第一のシステムデータバッファと、読取り、書込みおよび消去の工程を実行するマイクロプロセッサと、データを一時的に記憶する第一のメモリデータバッファと、前記制御ユニットと前記複数のメモリとの間にインターフェースで接続するチャンネルとして機能するメモリインターフェースとを更に備えているシリコン記憶媒体。
【請求項１８】
前記制御ユニットは、データ圧縮/復元モジュールを更に備えている請求項１７記載のシリコン記憶媒体。
【請求項１９】
前記制御ユニットは、前記データ圧縮/復元モジュールと前記システムインターフェースおよび前記メモリインターフェースとの間にそれぞれ第二のシステムデータバッファおよび第二のメモリデータバッファを更に備えている請求項１７記載のシリコン記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリコン記憶媒体制御方法およびシリコン記憶媒体に関し、更に詳細にのべると、長さが可変のデータフレームを有するシリコン記憶媒体コントローラに関するものである。
【背景技術】
【０００２】
現在、シリコン記憶媒体としてシリコンチップから作られたメモリを使用することが一般である。多くのシリコン記憶媒体は、情報をメモリに書き込むか、情報をメモリから読み込んでシステムに送信するためにコントローラを介してシステムインターフェースに接続されている。ここで、シリコン記憶媒体は、消費電力が低く、信頼性が高く、容量が大きく、アクセスが速いという特徴のために、デジタルカメラ、デジタルウオークマン、パーソナルデジタルアシスタント（ＰＤＡ）の製品の如き種々の携帯デジタル電子装置に広く応用され、そのビジネスマーケットは現在急速に発達してきている。多くの形式のシリコン記憶媒体、コンパクトフラッシュ（登録商標）カード（ＣＦ）、メモリスティックカード（ＭＳ），安全デジタルカード（ＳＤ）、スマートメデアカード（ＳＭ）等は、オリジナルシリコン記憶媒体から得られる。更に、パーソナルコンピュータの応用分野では、ユニバーサルシリアルバス（ＵＳＢ）を経てインストールされるＵＳＢ携帯デスクは、最近では、きわめて一般的な新製品になってきた。
【０００３】
シリコン記憶媒体として用いられ上述のようにシリコンチップメモリから作られた種々の携帯記憶装置の記憶容量は、その埋め込みメモリの容量によって制限されている。この携帯記憶装置の内部のコントローラは、指示を受け取り従ってメモリ内容にアクセスするためシステムに接続された一つのインターフェースを有しているだけである。このため、携帯記憶装置にとってメモリチップのコストが高くなるので、コストを下げるための大きな課題は、メモリの容量を制限して用いることである。
【０００４】
従来のシリコン記憶媒体コントローラは、最小のメモリユニットとしてのページが読む/書く操作を達成するマッピング方法に従ってオリジナルデータをメモリに直接記録し、ページの余剰領域が論理アドレスマッピングコードおよび訂正コードの情報を記録するように用いられている。一般に、単一のセクタ寸法は、記憶装置によって用いられた最も一般的な容量単位として５２８バイトであり、その寸法もユニットセクタの容量に等しい。更に、単一のページメモリ容量の２０４８バイト以上および余剰領域容量の６４バイトを有する新型のメモリが従来技術に提供されている。しかし、コントローラは、このメモリを制御するのになお同じ技術を用いている。換言すると、データ圧縮/復元機能が単一のページに対応して記録される論理アドレスマッピングコードに導入されていない。
【０００５】
図１Ａを参照すると、従来のシリコン記憶媒体の内部構造のブロック線図が示されている。このシリコン記憶媒体１００は、コントローラ１１０と、一つ又はそれ以上のメモリ１２０とを備えている。コントローラ１１０は、マイクロプロセッサ１１４を備え、このマイクロプロセッサ１１４は、システムインターフェース１１２を介して指示およびデータをシステムと通信して送信し、このシステムインターフェースではシリコン記憶媒体がシステムによってアクセスされる。データがデータバッファ１１６に一時的に記憶された後、このデータは、メモリインターフェース１１８を介してメモリ１２０に書き込まれるか、メモリ１２０から読み出されてデータバッファ１１６に一時的に記憶される。その後、データは、システムインターフェース１１２を介してデータを読むことを要求するシステムに送り戻される。
【０００６】
システムからメモリに送信されたオリジナルデータを記録する工程中、この工程は、また、状態フラグ、エラー訂正コード、論理アドレスの如き関連する制御情報、およびデータメモリブロックの幾つかのデータに属する他の非使用予約スペースを記録する。制御関連情報の各ビットは、以下の如く定義される。
【０００７】
状態フラグ：これは、メモリブロックに記憶されたデータを“消去済み”、“使用中”、又は“不良”で示す。“消去済み”であれば、更新データを記録するようにメモリブロックを用いることができ、次いで、フラグが使用中に変更される。書込み操作中、データを記録するメモリに欠陥があり、データを適正に記録することがもはやできないことが判ったら、ブロックを“不良”として記録する。メモリブロックに“使用中”で記憶されたデータが更新され、他の“消去済み”ブロックに移動された後、メモリブロックは、消去操作によって“消去済み”状態に再設定される。
【０００８】
エラー訂正コード：このエラー訂正コードの幾つかのバイトは、特定のアルゴリズムを用いることによってオリジナルデータから発生される。エラー訂正コードが検出されたら、訂正の手順は、エラーを訂正することから始まり、次いで、訂正データがシステムに送り戻される。マイクロプロセッサがオリジナルデータを記録するためのメモリユニットに生じたエラーを検出したとき、訂正データが移動され他の“消去済み”データブロックに直ちにコピーされ、欠陥データブロックが“不良”として記録される。
【０００９】
論理アドレス：オリジナルデータを写し出す変換テーブルがメモリ構造をスキームする工程に従って形成される。オリジナルデータをメモリに記憶するとき、マイクロプロセッサは適正に計画し、メモリに適した物理的なアドレス方法に適応するメモリを配置して用いなければならない。このため、使用される配置シーケンスとメモリにアクセスするためシステムによって採用された論理アドレスシーケンスとの間に大きな相違が存在する。従って、アドレス変換回路またはアドレス変換工程をコントローラにインストールすることが必要である。変換テーブルは、メモリにおける物理的なアドレスへあるいはこのアドレスからシステムによって与えられた論理アドレスを変換するように用いられる。システムの電力がシャットダウンされた後でも、このような変換関係を維持するために、オリジナルデータおよびその相応する論理アドレスの両方を同時に保存することが必要である。
【００１０】
上述のように、図１Ｂに示されたメモリにおけるデータブロック記録フォーマットを述べるために共通に用いられるＮＡＮＤフラッシュメモリが本明細書に例示される。記憶ユニットとして５２８バイトを有するＮＡＮＤフラッシュメモリを一つの例として以下に述べる。５２８バイトの記憶ユニットの中で、５１２バイトがオリジナルデータを記憶するための記憶スペースとして用いられ、１６バイトの残り（また、制御情報記録領域として知られている）が上述の制御情報を記録するために用いられる。必要な制御情報が記憶された後、制御情報記録領域が、なお、いくらかのスペースを残したままであることが普通である。
【００１１】
図２を参照すると、従来技術によって提供されたシリコン記憶媒体およびそのコントローラの構造は知られている。ここで、データ圧縮機能を有するシリコン記憶媒体２００がコントローラ２１０と少なくとも一つのメモリ２２０とを備えている。コントローラ２１０は、システムとシリコン記憶媒体コントローラとの間のデータ交換チャンネルとして機能するシステムインターフェース２１１と、読取り、書込みおよび消去操作を行うマイクロプロセッサ２１２と、メモリ２２０とシリコン記憶媒体コントローラ２１０との間のデータ交換チャンネルとして機能するメモリインターフェース２１６とを備えている。更に、データ圧縮機能を実行するために、コントローラ２１０は、更に、データ圧縮/復元モジュール２１４を備えている。システムとメモリ２２０との間のデータアクセスを加速するために、コントローラ２１０は、更に、システムで交換されたデータを一時的に記憶する第一のシステムデータバッファ２１３ａおよび第二のシステムデータバッファ２１３ｂ、およびメモリで交換されたデータを一時的に記憶する第一のメモリデータバッファ２１５ａおよび第二のメモリデータバッファ２１６ｂを備えている。これとは別に、単一のシステムデータバッファ２１３ａとメモリデータバッファ２１５ａとがデータを一時的に記憶するバッファとして用いられ、その物理的実施は、設計上の考慮に基づく。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
概略には、従来のシリコン記憶媒体コントローラ構造および従来のデータ記憶構造において、オリジナルデータは、圧縮されることなく、メモリの所定の位置に直接記憶される。この結果、この形式のシリコン記憶媒体の記憶容量を新しいメモリハードウエアを加えることによってのみ改善することができ、圧縮方法は、この形式のメモリカードの記憶容量を増大するのに補助していない。その上、従来のシリコン記憶媒体は、読んだり書いたりするユニットとしてページを用いており、このため、ユニットが小さ過ぎるので、圧縮機構がデータ工程の性能を改善することができなかった。また、変換インジケータおよびエラー検出訂正コードに関連した制御情報が各ページにおける予約された余剰領域に記録されるが、なお、いくらかの有効スペースが存在する。更に、その変換テーブルは、一定のオリジナルデータ長さをメモリページにマップすることによって発生される。換言すると、読み、書き、データ更新および変換テーブル更新を含む全ての操作は、一定のオリジナルデータ長さに基づいて操作される。しかしながら、この形式の一定長さの記憶構造は、圧縮機構を有するシリコン記憶媒体において、データ読み/書き変換を行うのに、現存の変換テーブルを用いることができなかった。
【００１３】
従って、本発明の目的は、上述の如き従来技術の問題点を解消したシリコン記憶媒体制御方法およびシリコン記憶媒体を提供することにある。
【課題を解決するための手段】
【００１４】
上記目的を達成するため、本発明は、大きなアクセスユニット、例えば、データ記録フォーマットおよびデータフレームのためのマッピングモードとしてのメモリブロックを有するシリコン記憶媒体を提供するように設計されている。その上、更にアクセス操作のための変換テーブルを記録するためコントローラによって構成された一つの変換テーブルバッファが設けられている。
【００１５】
更に詳細にのべると、本発明は、シリコン記憶媒体、そのコントローラ、制御方法、データ記録フォーマット、およびそのマッピングモードを構成するように設計されている。ここで、コントローラがデータフレームを更新するとき、変換テーブルバッファに記録された変換テーブルも同時に更新され、変換の関係は、更新されたデータフレームを導く先行記述ユニットに記録される。
【００１６】
本発明は、また、データフレームを迅速に読み、データをシステムに送り戻すかデータを更新するように、対応するメモリブロックアドレスのためにシステムによって提供された読み/書きアクセス指示に従って、変換テーブルバッファにおけるデータ変換コードの検索を加速するように設計されている。その上、コントローラにはアドレスマッピングモジュールが設けられている。
【００１７】
記憶媒体の記憶容量を増大するために、シリコン記憶媒体コントローラには更にデータ圧縮/復元ユニットが設けられ、データは、このデータが記憶される前に圧縮され、記憶媒体から読み出された後に復元される。このため、本発明では、先ず、オリジナルデータによって占められたスペースをデータ圧縮によって減少することができる。データがメモリの計画された位置に記録される前に、“先行記述ユニット”がコントローラによって圧縮されてきたデータの前部に加えられ、“次位データエラ−チェックコード”が“メモリブロック”の記憶容量に近いデータフレームを形成するように、その後部に加えられる。第二に、変換インジケータとエラー検出コードとは、両方とも“メモリブロック”に記憶された“データフレーム”の“先行記述ユニット”に記録される。このため、情報によって占められた各ページの記憶スペースは、更に減少され、従って、システム内の有効情報によって物理的に用いられ得るシリコン記憶媒体の記憶容量の有効スペースを改善することができる。最終的に、変換テーブルは、相応して可変のオリジナルデータ長さから構成される“データフレーム”に基づいて確立される。次いで、読み取り、書き込み、データ更新、変換テーブル更新の全ての操作は、可変のオリジナルデータ長さに相応する“データフレーム”に基づいて操作される。
【００１８】
本発明において、データフレームをメモリの任意の位置に記憶することができる。コントローラは、先行記述ユニットが初期化され走査を行うためにスタートすると、先行記述ユニットに従ってデータフレームおよびオリジナルデータの変換関係を再構成する。メモリの全てのメモリブロックに記憶されたデータフレームを走査するためコントローラが初期化されたとき、“変換テーブル”はこのコントローラによって発生される。変換テーブルが発生された後、システムが書き込み又はデータ更新するとき、この変換テーブルは、連続的に更新され、この結果、変換関係の精度が維持される。“変換テーブル”は、複数の“マッピングエントリ”によって構成され、各マッピングエントリは、メモリにおける一組のメモリブロックの状態を記録する。内蔵変換テーブルバッファの寸法および適応メモリに含まれたメモリブロックの量に基づいて、コントローラは、完成された変換テーブルを一度に発生させるか、システムによって新しくアクセスされたインターバルに基づいて部分的な変換テーブルを発生させるか、あるいはバッファにアクセスする効率を改善するために変換テーブルを特定の範囲の組に分割することによって二つまたはそれ以上の組の部分的な変換テーブルを発生させることができる。
【００１９】
マッピングエントリ内の内容は、対応するメモリブロック状態または記憶されたデータフレームによって示された情報によって記録される。
【００２０】
コントローラが初期化された後、メモリの各メモリブロックに記録されたブロック状態およびデータフレームも先行記述ユニットの両方が先ず読み取られ、次いで、この読まれた情報がマッピングエントリに記録され、この場合、マッピングエントリは変換テーブルに位置してメモリブロックにマップされる。システムアドレスのコントローラリンクをデータフレームおよび上下方向シーケンスにおける記録されたメモリブロックの位置に相応させるように、変換テーブルを2方向シリーズリンクによって実施してもよい。
【００２１】
変換テーブルが確立された後、コントローラは、システムからのアクセス情報を取っていく。システムが読み取り指示を発した後、コントローラは、メモリブロックのアドレスおよび変換テーブルから得られたシステム読み取りアクセスに相応するデータフレームを駆動するため変換テーブルのサーチを行う。適合したデータフレームアドレスが得られた場合、データフレームは、データバッファに読み込まれ、オリジナルデータは、復元された後、システムに送り戻される。適合したデータフレームアドレスが得られなかった場合、所定のフォーマットを有する記録がシステムに直接送り戻される。
【００２２】
他方、システムが読み取り指示を発した後、システム読み取りアクセスに相応するメモリブロックのアドレスおよびデータフレームアドレスを変換テーブルから得ることができるか否かをチェックし、判定するためにコントローラは変換テーブルの検索操作を直ちに行う。相応するデータフレームアドレスが得られたら、このデータフレームはデータバッファに読み取られて復元される。次いで、データフレームは、システムから送信された更新データによって更新され、記録されてなく、メモリブロックによって更新されないデータフレームが得られる。次いで、非更新データフレームを記録するメモリブロックが消去される。上述の操作が行われているとき、変換テーブルは、同期して更新される。相応するデータフレームアドレスが得られない場合、システムから書き込まれたデータは、データフレームを直接発生するように用いられ、非使用メモリブロックによって記録された新形成データフレームが得られる。上記操作が行われているとき、変換テーブルが同期して更新される。
【発明の効果】
【００２３】
概述すると、データフレームをベースとするシリコン記憶媒体において本発明で述べられた変換方法に従って、圧縮オリジナルデータとメモリに記録された復元データフレームとを一体化することによって、シリコン記憶媒体が初期化されたとき、変換テーブルを発生させることができ、また、この変換テーブルは、シリコン記憶媒体がアクセスされたときに更新される。
【００２４】
従来のシリコン記憶媒体コントローラがこれと同様な機構を有しても、従来技術では、オリジナルデータは、直接記録されて記憶され、データが圧縮された後、状態を処理する方法は、なお、従来技術では開示されていない。従って、広く用いられるシリコン記憶媒体を適用するためには、高速非揮発性メモリが、常に、全体の製造コストの大部分を占めている。圧縮/復元方法を本発明で一体にでき、且つシリコン記憶媒体に適用できれば、製造コストを更に減少し、製品価値を改善するように、小さい寸法のメモリのための大きい記録容量を提供する目的を達成することができる。
【００２５】
更に、本発明の工程をコントローラのファームウエアを介して実施してもよい。データアクセスをシステムにおいて加速するためにハードウエア回路でアドレスマッピングモジュールに形成することができ、この結果、コントローラ迅速に検索することができ、且つ更に操作を行うために変換テーブルにマップするシステムによってアクセスされたあて先アドレスの状態を判定することができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の最良の形態を添付図面に示された実施例について詳細に説明する。
【００２７】
尚、添付図面は、本発明の更なる理解を得るために含まれ、明細書に導入されてこの明細書の一部を構成する。図面は、本発明の実施例を示し、明細書と共に本発明の原理を説明するために機能する。
【００２８】
図３を参照すると、本発明の一実施例により、上述の圧縮構造を有するシリコン記憶媒体を支持するために、変換テーブル（変換表あるいは換算表）バッファ３１７がコントローラ３１０に組込まれていることが示されている。ここで、一定のデータ長さ（システムから送信された）と、可変データ長さ（圧縮機構によって発生された）との間のアドレス変換関係を記録するための変換テーブルが、データをアクセスするための変換テーブルバッファ３１７に記憶される（変換テーブルを発生する方法は、後述される）。更に、データサーチを加速するために、アドレスマップモジュール３１８がコントローラ３１０に加えられている。このアドレスマップモジュール３１８は、現在の作動を達成するか、あるいはデータバックをシステムに送信するために、対応するメモリ３２０のメモリブロックアドレスを取得し且つデータフレームを読み取るようにシステムによって供給されたアクセス指示に基づいて用いられる。
【００２９】
シリコン記憶媒体３１０は、メモリ３２０を備え、このメモリ３２０は、複数のメモリブロックによって構成されている。ここで、これらメモリブロックのそれぞれは、特定のデータフレームフォーマットに基づいて定められている。各データフレームに含まれたデータタイプは、システムによって送信されデータコンプレッサ３１４aによって圧縮された一定のデータ長さによって変換された可変のデータ長さである。圧縮データを管理するために、一組の先行記述ユニットがデータフレームのヘッドの前側に配置され、エラーチェックコードがデータフレームの後側に配置される（図４参照）。このような設計によって、各ページにおける制御情報の配置が必要でなく、従って、非使用スペースの利用が改善される。更に、複数の圧縮セクタデータが先行記述ユニットとエラーチェックコードとの間に記録される。
【００３０】
ここで、圧縮データに相応するオリジナルデータスタートアドレスおよびデータ長さが、先行記述ユニットに示され、この先行記述ユニットは、表１に示されたデータフレームを導く。
【００３１】
【表１】
2005322209.tif 000003
【００３２】
圧縮/復元（解凍）機能が本発明のシリコン記憶媒体に必要である場合のみ、アルゴリズムインジケータおよびパラメータインジケータが先行記述ユニットに加えられることが必要であることを留意されたい。更に、先行記述ユニットのフォーマットは、表１に示されたものに必ずしも限定されず、各ビットによって記録されたデータ特性およびデータ長さがオリジナルデータに良好にマップ（表示）することができる限り、これらは、本発明の範囲内である。
【００３３】
先行記述ユニットを読み取ることによって発生される上記変換テーブルは、データフレームを導き、この変換テーブルは、複数のマッピングエントリによって構成されている（図４Ｂ参照）。ここで、変換テーブルは、データフレームに相応するオリジナルデータの容量および記憶位置を判定するように用いられ、且つシステムにおけるリニア連続アドレスおよびシリコン記憶媒体側におけるメモリの非リニアセグメントアドレスのためのアドレス変換モードとして用いられる。
【００３４】
本発明の一実施例において、変換単位に相応しメモリブロックに記憶された先行記述ユニットを参照すると、そのフォーマットおよび意義は、下記の表２に示されている。
【００３５】
【表２】
2005322209.tif 000004
【００３６】
ここで、コントローラ３１０に形成された変換テーブルバッファ３１７の容量および適応メモリ３２０に含まれたメモリブロック量に基づいて、コントローラ３１０は、完成変換テーブルを一度に発生させるか、システムによって新しくアクセスされたインターバルに基づいて部分変換テーブルを発生させるか、あるいは２組又はそれ以上の部分変換テーブルを、それらを特定の範囲のカップルに分割することによって発生させることができる。
【００３７】
特定のシリコン記憶媒体は、詳細に後述され、このシリコン記憶媒体において、システムが初期化された後に読み込まれる基礎データのみを記憶装置が記憶する。従来のＦＡＴ１２ファイルシステムが説明のために本明細書に例示され、この場合に、シリコン記憶媒体に記録されたオリジナルデータは、少なくともマスターブーツ、区分テーブル、区分ブーツセクタ、ル−トディレクトリ、およびファイル割当てテーブルを備えている。例えば、シリコン記憶媒体は、１６ＭＢ（Ｍバイト）メモリであり、各ページは、５２８Ｂ（Ｂバイト）であり、各メモリブロックは、３２ページに等しい１６ＫＢ（Ｋバイト）である。システムリニア連続アドレス方法を用いることによって、上述のオリジナルデータは、２４ＫＢスペースに等しいアドレス０−４７の４８セクタを占めている。その配分は、次の表３に示されている。
【００３８】
【表３】
2005322209.tif 000005
【００３９】
上述の情報が圧縮された後、オリジナルデータアドレス１−２６に情報は記録されず、高圧縮比を達成できるようにその内容の全てに初期値０ｘＦＦが設定される。残りの情報は、オリジナルデータの１１ＫＢに等しい２２セクタを占めるだけである。この結果、上述の初期化オリジナルデータの圧縮によって、容量が１６ＫＢより少ないデータフレームを容易に得ることができることが知られている。
【００４０】
尚、システムが初期化された後、読み込まれる基礎情報を記憶するのに一つのデータフレームのみが必要とされる。ここで、対応するオリジナル開始アドレスは、０であり、データ長さは、４８である。更に、データフレームの先行記述ユニット状態は、次の表４に示されている。
【００４１】
【表４】
2005322209.tif 000006
【００４２】
この表において、ＡＩ，ＰＬは、オリジナルデータ特性に基づくコントローラによって選択された最も適用可能な圧縮に基づいて決まり、それは、０ｘｍｍおよび０ｘｎｎとして表される。
【００４３】
図４Ｂを参照すると、コントローラ３１０が上述の表３に示された先行記述ユニットを走査するとき、シリコン記憶媒体が初期化状態にあるので、アドレスが０である第一メモリブロックがデータフレームを記録するため用いられ、リニア連続オリジナルデータとデータフレームとの関係が図４Ｂに示されている。
【００４４】
“システムリニア連続アドレス”は、シリコン記憶媒体が上述の方法で初期化された後、４８セクタ（ＬＡＢ=０からＬＢＡ=４７まで）のみがその媒体に記憶された有意義な情報を有し、使用中のブロックがダイアグラム（図表）に、塗られたダークカラーによって表示されることを示す。図４Ｂに示された“メモリサイド非リニアセグメントアドレス”は、メモリの内部を示し、ここで、圧縮データは、データフレームを記憶するユニットとしてメモリブロックを用いる方法で記憶される。更に、図４Ｂの“コントローラ内変換テーブル”は、コントローラの内部を示し、ここで、シリコン記憶媒体が初期化された後、システムリニア連続アドレスを記憶サイドセグメントアドレスにリンクするために変換テーブルが発生される。それが第一の使用中メモリブロックであるため、変換ユニットは、これに応じて変換テーブルに発生され、ここに記録された情報は、次の表５に示されている。
【００４５】
【表５】
2005322209.tif 000007
【００４６】
変換テーブルを発生する工程は、以下に詳細に述べられる。
【００４７】
図５を参照すると、コントローラが初期化された（ｓ５０２）後、変換テーブルを発生する工程をフローチャートで示している。先ず、適用メモリの形式および容量が検出され（ｓ５０４）、この場合、先ず、最終のブロックが“最終ブロック”として定義され、次いで、変換テーブルバッファがスキームされて初期化され（ｓ５０６）、メモリブロックＢＡ=０が読み込まれる（ｓ５０８）。次いで、各メモリブロックの先行記述ユニットが読み込まれ（ｓ５１０）、読まれたマークブロック状態が変換ユニットに記録される（ｓ５１２）。尚、メモリブロックが使用中であるか否かが判定される（ｓ５０１）。ブロックが使用中であることが判定されたら、変換ユニットの開始アドレス（ＳＡ）およびデータ長さ（ＤＬ）が記録され（ｓ５１４）、変換テーブルにおける使用中のブロックシリーズリンクが更新され（ｓ５１６）、また変換テーブルにおける非使用ブロックシリーズリンクが更新される（ｓ５１８）。ブロックが使用されていないことが判定されたら、変換テーブルにおける非使用ブロックシリーズリンクが直接更新される（ｓ５１８）。尚、幾つかのブロックが不良であることが判ったら、工程は、メモリブロック状態（ｓ５０１）を判定する段階に戻る。不良ブロックがない場合、次いで、最終ブロックマッチＢＡ=最終ブロックかどうかが決定される（ｓ５０３）。そうであれば、変換テーブルの発生が全体的に終了する（ｓ５２２）。その他、次のメモリブロックＢＡ=ＢＡ+１が走査され、メモリブロックの先行記述ユニットは、ｓ５１０で連続して読み込まれる。
【００４８】
非使用ブロックシリーズリンクテーブルおよび使用中ブロックシリーズリンクテーブルが変換テーブルを発生する際に用いられ、２方向シリーズリンクのデータ構造は、本発明の好ましい実施例に用いられ、この結果、コントローラを対応するシステムアドレスにリンクすることができ、記録メモリブロック位置が開始アドレスから上方向又は下方向シーケンスでスタートする。
【００４９】
これら二つのシリーズリンクテーブルを発生する工程を以下に詳細に述べる。
【００５０】
図４Ｂおよび図６の両方を参照すると、これら図面は、メモリブロックがまだ用いられていないときに、非使用シリーズリンクを更新する工程を概略的に示している。図４Ｂに示された二つのインジケータＥＭＰＴＹおよびＥＭＰ_ＥＮＤが非使用ブロックシリーズリンクテーブルを発生する基準インジケータとして用いられる。先ず、二つのインジケータが初期値に初期化され（例えば、ＦＦＦ）、メモリのブロックアドレス（ＢＡ）は０に設定される（ｓ６０２）。段階ｓ６０１において、非使用メモリブロック（ＢＳ=ＦＦ）があることが判ったら、ＥＭＰＴＹが、初期値かどうかが判定される（例えば、エントリが段階ｓ６０３に示されたＦＦＦであるか否か）。そうであれば、これは第一の検出された非使用メモリブロックであることを意味し、この場合に、二つのインジケータは、現在の非使用ブロック（ＥＭＰＴＹ=ＢＡおよびＥＭＰ_ＥＮＤ=ＢＡ）のアドレスに設定され、ＰＥ（ＢＡ）=ＦＦＦおよびＮＥ（ＢＡ）=ＦＦＦは、ブロックに対応する変換ユニットに同時に記録される（ｓ６０４）。第一の検出非使用ブロックでないことが判ったら、非使用ブロックに対応する変換ユニットも更新され、即ち、ＰＥ（ＢＡ）がＥＭＰ_ＥＮＤに設定され、ＮＥ（ＢＡ）がＦＦＦに設定され、インジケータＥＭＰ_ＥＮＤがメモリブロックアドレス（ＢＡ）を示す（ｓ６０６）。段階ｓ６０４または段階ｓ６０６が実行されたか否かにかかわらず、ブロックが最終のブロックであるか否かが判定される（ｓ６０５）。最終のブロックでない場合、上記段階ｓ６０１に続く段階が次のブロックで実行される。最終のブロックであれば、非使用メモリブロックシリーズリンクテーブルの発生が終了する（ｓ６１０）。
【００５１】
図４Ｂおよび図７の両方を参照すると、これら図面は、メモリブロックが使用中であるとき、使用中シリーズリンクテーブルを更新する工程を示す。図４Ｂに示された二つのインジケータＳＴＡＲＴおよびＥＮＤは、使用中ブロックシリーズリンクテーブルを発生する基準インジケータとして使用される。同様に、二つのインジケータＳＴＡＲＴおよびＥＮＤは、初期値（例えば、ＦＦＦ）に初期化され、メモリのブロックアドレス（ＢＡ）は、０に設定される（ｓ７０２）。変換ユニットが挿入されるシリーズリンクデータ構造の位置は、先ず、データフレームの先行記述ユニットによって記録されたスタートアドレス（ＳＡ）およびデータ長さ（ＤＬ）パラメータに従って検索され、先のエントリ変換ユニットのＮＥインジケータと、次のエントリ変換ユニットのＰＥインジケータとの両方が更新される。更に、前のエントリ変換ユニットのブロックアドレス（ＢＡ）は、現在のエントリ変換ユニットのＮＥインジケータとして登録され、次のエントリ変換ユニットのブロックアドレス（ＢＡ）は、現在のエントリ変換ユニットのＰＥインジケータとして登録される。次いで、使用中ブロックＢＳ=Ｆ０が検出されたか否かが判定される（ｓ７０１）。検出された場合、次いで、第一の検出された使用中ブロックかどうかが判定される（ｓ７０３）。第一の検出使用中ブロックであれば、次の値、ＳＴＡＲＴ=ＢＡ，ＥＮＤ=ＢＡ，ＰＥ（ＢＡ）=ＦＦＦおよびＮＥ（ＢＡ）=ＦＦＦが設定される（ｓ７０４）。第一の検出使用中ブロックでない場合、挿入点を検索する。この場合、挿入点表示インジケータ、ＢＡ_ＩＮＳが変換ユニットとして設定され、これはＳＴＡＲＴインジケータによって示される（ｓ７１０）。挿入前に、非第一タイム検出使用中ブロックのＳＡ値が挿入点インジケータＢＡ_ＩＮＳによって示された値より小さいか否かが判定されなければならない。そうであれば、ＢＡ_ＩＮＳインジケータ値の先の変換ユニットが第一の使用中ブロックであるか否かが判定される（ｓ７０７）。第一の使用中ブロックであれば、ＳＴＡＲＴインジケータは、第一の検出ブロックアドレスに更新され、次いで、変換ユニットがシリーズリンクに挿入される（ｓ７０６）。第一の使用中ブロックでない場合、変換ユニットは、シリーズリンクに直接挿入される（ｓ７０６）。検出された使用中ブロックのＳＡ値が挿入点インジケータＢＡ_ＩＮＳによって示された値より大きいか又は等しいと判定された場合（ｓ７０５）、次いで、ＢＡ_ＩＮＳの次の変換ユニットが最終使用中ブロックか否かが判定される（ｓ７０９）。最終使用中ブロックであれば、ＥＮＤインジケータが更新され、検出使用中ブロックが、最終使用中ブロックとして記録される（ｓ７１４）。次いで、最終使用中ブロックに対応する変換ユニットは、使用中シリーズリンクに挿入される（ｓ７０８）。しかしながら、ＢＡ_ＩＮＳの次の変換ユニットが最終使用中ブロックでないとき、次のＢＡ_ＩＮＳについて、判定する操作が実行される。上述の走査工程が最終ブロックについて実行され、使用中ブロックシリーズリンクテーブルの発生が終了する。
【００５２】
本発明の実施例において、使用中メモリブロックとシステムアドレスとの間に変換関係を生ずるように、変換テーブルが２方向シリーズリンクデータ構造を用いていることが留意されるべきである。コントローラの内蔵バッファ寸法を小さくするか、または、対応するメモリブロックアドレスを検索する性能を改善するために、他のデータ構造を本発明に適用することができる。
【００５３】
図８を参照すると、変換テーブルが発生された後（ｓ９０２）、コントローラがシステムによって形成されたアクセス指示を取るように準備される（ｓ８０４）。このシステムが読み取り指示を発すると、必要なデータのＬＢＡアドレスおよびデータ長さの両方がシリコン記憶媒体に送信される（ｓ８０６）。尚、シリコン記憶媒体のコントローラは、ＳＴＡＲＴインジケータによって示されたメモリブロックアドレスから開始する、変換テーブルにおける対応するデータフレームを検索する（ｓ８０８）。この場合、読み取られるべきデータのスタート位置および長さが、最先のメモリブロックアドレスのスタート位置を越えたとき（ｓ８０１、ｓ８０３）、工程は、圧縮ノード（節）Ｂに入り、初期値が戻され、これは現在メモリにない読み取られるべきデータを示す。しかしながら、データ長さの部分が最先のメモリブロックアドレスのスタート位置を越えたとき（ｓ８０１、ｓ８０３）、このような場合に、初期値の部分および読み取りデータの部分は、システムに送り戻される（ｓ８１０、ｓ８０５、ｓ８１２）。更に、読み取られるべきデータおよびデータブロックのスタートアドレスは、最先のメモリブロックアドレスの開始点およびデータフレーム寸法の範囲内にあるとき（ｓ８０５、ｓ８０７）、データフレームは、圧縮のためのデータバッファに読み取られる（ｓ８１２）。データフレームが圧縮された後、オリジナルデータがシステムに送り戻される（ｓ８１６）。読み取られるべきデータのスタートアドレスが最先のメモリブロックアドレスの開始点にあるが、読み取られるべきデータの部分がデータフレーム寸法の範囲を超えたとき、このような場合に、データ長さの部分は、システムに送り戻され、スタートアドレスは、全ての残りのデータを次の時間に完全に送信するために同時に更新される。上述したものより他の状態のために、換言すると、対応するデータフレームアドレスが得られないとき、初期データフォーマットがシステムに直接送り戻される（ｓ８１８）。
【００５４】
ここで、コントローラがデータフレームを更新する工程にあるとき、変換テーブルバッファも更新され、変換関係が先行記述ユニットに記録される。アドレスマッピングモジュールがオリジナルデータのアドレスを記録し、対応するメモリブロックを得るためにシステムによって形成された読み取りアクセス指示に従って変換テーブルバッファを検索し、対応するメモリブロックからのデータフレームを最終的に読み取る。
【００５５】
図９乃至図１２を参照すると、図９には書き込み操作の主流が概略的に示され、図１０乃至図１２には送信開始点/範囲とデータフレームとの間の異なる関係による工程の二次的流れが概略的に示されている。
【００５６】
図９を参照すると、変換テーブルが発生された後（ｓ９０２）、コントローラは、現在のシステムによって提供されたアクセス指示を受ける準備にある（ｓ９０４）。システムが書き込み指示を発するとき（ｓ９０６）、コントローラは、変換テーブルを検索して、変換テーブルからのシステム読み取りアドレスに相応するメモリブロックアドレスを得ることができるか否かをチェックする（ｓ９０８）。その後、五つの段階ｓ９０１、ｓ９０３、ｓ９０５、ｓ９０９、およびｓ９１１がそれぞれ実行されて書き込まれるべきデータが更新データであるか新しい書き込みデータであるかが判定される。従って、五つの異なる状態が次の通り設定される。
【００５７】
状態Ａ（ｓ９１０）では、変換開始点およびデータ範囲の両方がデータフレーム以上であり、状態Ｂ（ｓ９１２）では、送信開始点がデータフレーム以上であるが、データ範囲はデータフレーム内にあり、状態Ｃ（ｓ９１４）では、送信開始点およびデータ範囲の両方がデータフレーム内にあり、状態Ｄ（ｓ９１６）では、送信データ開始点がデータフレーム内にあるが、データ範囲の部分がデータフレーム以上であり、状態Ｅ（ｓ９２０）では、送信開始点およびデータ範囲の両方がデータフレーム以上であり且つ最終のデータフレームの後になる。これら五つの状態は、以下詳細に説明される。
【００５８】
上述の工程をコントローラのファームウエア実行を介して行うことができることを留意されたい。システムのデータアクセスを加速するために、コントローラが迅速に検索でき、且つ更なる操作のためシステムアクセス対象アドレスと変換テーブルとの間の関係を判定できるように、ハードウエア回路をアドレスマッピングモジュールに一体にすることができる。
【００５９】
図１０乃至図１２に示された五つの異なる状態Ａ、Ｂ，Ｃ，Ｄ，およびＥを以下に述べる。
【００６０】
状態Ａ：図１０を参照すると、前記状態Ａでは、システム書き込み対象アドレスの開始点および送信データ長さの範囲の両方が現在のデータフレーム以上であり、開始アドレスがデータフレームＢＡによって記録されたデータ長さに等しいことが変換テーブルを検索した結果から判る。従って、値、ＥＭＰＴＹは、非使用メモリブロック変換テーブルから直接得られ、新しいデータフレームが記憶され記録される。ＢＡがまさに使用中変換テーブルの開始アドレスＳＴＡＲＴである場合、新しく加えられたデータフレームＮＥＷが使用中変換テーブルの最前端に挿入される。その他、新しく加えられたデータフレームＮＥＷは、使用中変換テーブルＢＡの前部でＰＥ（ＢＡ）の後に挿入され、全ての関連するインジケータが更新される。
【００６１】
状態Ｂ：図１０を参照すると、前記状態Ｂでは、システム書き込み対象アドレスの開始点が現在のデータフレームの後であり、送信データ長さの範囲の部分が現在のデータフレーム内にある。なお、現在のデータフレーム内の送信データの前部を処理する工程は、状態Ａに用いられたものと同じであり、これに対して、その後部は、更に主流によって処理される。
【００６２】
状態Ｃ：図１１を参照すると、前記状態Ｃでは、システム書き込み対象アドレスの開始点および送信データ長さの範囲の両方が現在のデータフレーム内にあることが変換テーブルを検索した結果から判る。従って、相応するメモリブロックＢＡが使用中メモリブロック変換テーブルから直接得られ、データは、読み取られて復元される。オリジナルデータがシステムによって提供されたデータＸＦＲ_長さで更新され、データが再圧縮された後、新しいデータフレームが発生される。次いで、ＥＭＰＴＹの値が非使用メモリブロック変換テーブルから得られ、更新されたデータフレームは、メモリブロックＥＭＰＴＹに記憶され、記録される。ＢＡがまさに使用中変換テーブルの開始アドレスＳＴＡＲＴであれば、新規更新データフレームＮＥＷは、使用中変換テーブルの最前端に挿入される。その他、新規更新データフレームＮＥＷは、使用中変換テーブルＢＡ，ＰＥ（ＢＡ）の後に挿入され、全ての関連するインジケータが更新される。先ず、ＢＡメモリブロックが消去され、次いで、非使用メモリブロック変換テーブルの後端の後に挿入される。
【００６３】
状態Ｄ：図１１を参照すると、前記状態Ｄでは、システム書き込み対象アドレスの開始点が現在のデータフレーム内にあるが、データ送信範囲が相応するデータフレームのオリジナルデータ長さ以上であることが変換テーブルを検索した結果から判る。なお、現在のデータフレーム内の前部および現在のデータフレームを超える後部を処理する工程は、状態Ｃに用いられたものと同じであり、現在のデータフレームを超える後部は、送信開始アドレスStart_LBAおよびデータ送信長さＸＦＲ_長さが逆になった後、主流によって更に処理される。
【００６４】
状態Ｅ：図１２を参照すると、前記状態Ｅでは、システム書き込み対象アドレスの開始点およびデータ送信長さの範囲の両方が現在のデータフレームを超え、開始アドレスが最終データフレームＢＡ（例えば、ＰＥ（ＢＡ）=  =ＦＦＦ）のデータ長さに亘っていることが変換テーブルを検索した結果から判る。従って、値、ＥＭＰＴＹは、非使用メモリブロック変換テーブルから直接得られ、システムによって提供されたオリジナルデータは、新規に加えられたデータフレームＮＥＷに記憶され記録されたデータフレームを発生するため受信される。次いで、新規に加えられたデータフレームＮＥＷは、使用中メモリブロック変換テーブルの後部の後に挿入され、全ての関連するインジケータが更新される。
【００６５】
本発明がその特定の実施例について述べられてきたが、本発明の概念から逸脱することなく、この実施例に変更がなされることが当業者には明らかであろう。従って、本発明の範囲は、上記詳細な説明によってでなく、特許請求の範囲によって限定される。
【図面の簡単な説明】
【００６６】
【図１Ａ】従来のシリコン記憶媒体およびその内部構造の概略線図。
【図１Ｂ】ＮＡＮＤ型フラッシュメモリから作られたメモリにおけるデータブロック記録フォーマットを示す概略線図。
【図２】データ圧縮機能を有する従来のシリコン記憶媒体の概略線図。
【図３】本発明の一実施例に係る変換データベースシリコン記憶媒体およびそのコントローラの概略線図。
【図４Ａ】本発明の一実施例に係るデータフレームフォーマットおよびその先行記述ユニットを示す概略線図。
【図４Ｂ】本発明の一実施例に係る、シリコン記憶媒体が初期化された後の変換関係を示す概略線図。
【図５】本発明の一実施例に係る、変換データフレームベースシリコン記憶媒体が初期化された後、変換テーブルを発生させる工程を示すフローチャート。
【図６】本発明の一実施例に係る、メモリブロックが用いられていないときに、非使用ブロックシリーズリンクテーブルを更新する方法を示すフローチャート。
【図７】本発明の一実施例に係る、メモリブロックが使用中であるときに、新使用中ブロックシリーズリンクテーブルを更新する方法を示すフローチャート。
【図８】本発明の一実施例に係る、データを読み込むシステムのための工程を示すフローチャート。
【図９】本発明の一実施例に係る、データを書き込むシステムのための工程を示すフローチャート。
【図１０】本発明の一実施例に係る、特定の状態におけるデータを書き込むための工程を示すフローチャート。
【図１１】本発明の一実施例に係る、他の特定の状態におけるデータを書き込むための工程を示すフローチャート。
【図１２】本発明の一実施例に係る、更に他の特定の状態におけるデータを書き込むための工程を示すフローチャート。
【符号の説明】
【００６７】
３１０    コントローラ
３１７    変換テーブルバッファ
３１８    アドレスマッピングモジュール
３２０    メモリ
３１４ａ  データ圧縮器
【図１Ａ】
2005322209.tif 000008
【図１Ｂ】
2005322209.tif 000009
【図２】
2005322209.tif 000010
【図３】
2005322209.tif 000011
【図４Ａ】
2005322209.tif 000012
【図４Ｂ】
2005322209.tif 000013
【図５】
2005322209.tif 000014
【図６】
2005322209.tif 000015
【図７】
2005322209.tif 000016
【図８】
2005322209.tif 000017
【図９】
2005322209.tif 000018
【図１０】
2005322209.tif 000019
【図１１】
2005322209.tif 000020
【図１２】
2005322209.tif 000021