(57)【特許請求の範囲】
【請求項１】
ホストコンピュータシステムに対してデータの不揮発的な格納と、パスワードの検査、暗号化、または解読を提供する装置であって、
少なくとも１つの不揮発性メモリデバイスを含み、上記ホストコンピュータシステムから受信した階層メモリ構造制御命令に応答して上記ホストコンピュータシステムからの情報を格納し、検索する不揮発性メモリシステムと、
上記ホストコンピュータシステムから第１の制御プログラムを受信し、上記ホストコンピュータシステムからの第１の命令に応答して上記第１の制御プログラムを呼出すプログラマブルコントローラと、
を備え、上記第１の制御プログラムは上記パスワードの検査、暗号化、または解読を行うために上記不揮発性メモリシステム内に格納されている上記情報を操作し、上記不揮発性メモリシステム及び上記プログラマブルコントローラが一緒になって階層メモリ構造を実現しており、パスワードの検査、暗号化、または解読のためのキーデータが、上記階層メモリ構造制御命令を介してはアクセス不能であり且つ上記プログラムコントローラがアクセス可能である上記不揮発性メモリシステムの領域に格納されていることを特徴とする装置。
【請求項２】
上記第１の制御プログラムの即時結果を格納するためのＲＡＭデバイスを更に備えている請求項１に記載の装置。
【請求項３】
上記不揮発性メモリシステムは、上記第１の制御プログラムを格納するようになっている請求項１に記載の装置。
【請求項４】
上記不揮発性メモリシステム及び上記プログラマブルコントローラを、上記ホストコンピュータシステムに結合するホストインタフェースを更に備えている請求項１に記載の装置。
【請求項５】
上記プログラマブルコントローラの変更不能な第２の制御プログラムを格納するためのＲＯＭデバイスを更に備えている請求項１に記載の装置。
【請求項６】
上記不揮発性メモリシステムに結合され、上記不揮発性メモリシステム内に格納されている情報に誤り訂正コードを適用し、上記不揮発性メモリシステムから検索された情報から上記誤り訂正コードを除去し、それによって誤りを検出し、訂正するようになっている誤り訂正コーディングシステムを更に備えている請求項１に記載の装置。
【請求項７】
上記誤り訂正コーディングシステムは、上記ホストコンピュータシステムによってプログラム可能である請求項６に記載の装置。
【請求項８】
上記プログラマブルコントローラと共に動作するディジタル信号プロセッサを更に備えている請求項１に記載の装置。
【請求項９】
上記ディジタル信号プロセッサは、上記ホストコンピュータシステムによってプログラム可能である請求項８に記載の装置。
【請求項１０】
上記プログラマブルコントローラから独立し、上記プログラマブルコントローラと共に動作するプログラマブル成分を更に備えている請求項１に記載の装置。
【請求項１１】
上記プログラマブル成分は、圧縮及び圧縮解除を支援するためにビットパッキング及びアンパッキングを遂行するように最適化されている請求項１０に記載の装置。
【請求項１２】
上記プログラマブル成分は、暗号化及び解読を支援するようになっている請求項１０に記載の装置。
【請求項１３】
上記装置の外部のシステムと情報を交換するための付加的なインタフェース成分を更に備えている請求項１に記載の装置。
【請求項１４】
上記ホストコンピュータシステムの制御の下にデータを処理するように相互接続されている請求項１３に記載の複数の装置。
【請求項１５】
上記プログラマブルコントローラからアクセス可能な連想メモリ成分を更に備えている請求項１に記載の装置。
【請求項１６】
上記不揮発性メモリシステムは、ハードディスクドライブからなる請求項１に記載の装置。
【請求項１７】
上記不揮発性メモリシステムは、不揮発性ソリッドステートメモリデバイスからなる請求項１に記載の装置。
【請求項１８】
上記不揮発性メモリシステムは、光ディスクドライブからなる請求項１に記載の装置。
【請求項１９】
上記不揮発性メモリシステムは、書き込み可能ＣＤ−ＲＯＭからなる請求項１に記載の装置。
【請求項２０】
上記ホストコンピュータは第２の命令を発行し、上記プログラマブルコントローラに上記第１の制御プログラムの一部であるデータを受信させる請求項１に記載の装置。
【請求項２１】
上記ホストコンピュータは、第３の命令を発行して上記第１の制御プログラムのためのデータの受信を開始させる請求項２０に記載の装置。
【請求項２２】
上記プログラマブルコントローラ及び不揮発性メモリシステムと物理的に統合され、システムメモリの一部として上記ホストコンピュータシステムからアクセス可能な補助メモリシステム、を更に備えている請求項１に記載の装置。
【請求項２３】
上記補助メモリシステムは、不揮発性メモリからなる請求項２２に記載の装置。
【請求項２４】
システムメモリの一部としてアクセス可能な上記メモリシステム内に格納されているデータに対して誤りコーディングを適用するようになっている誤り制御コーディング回路を更に備えている請求項２３に記載の装置。
【請求項２５】
上記メモリシステムと上記ホストコンピュータシステムとの間に挿入され、上記ホストコンピュータシステムのメモリアクセス性能を最適化するキャッシュ、
を更に備えている請求項２３に記載の装置。
【請求項２６】
ホストコンピュータシステムにおいて、データを不揮発的に格納し、パスワードの検査、暗号化、または解読を高速で処理するための装置であって、
複数のユニット
を備え、上記各ユニットは、
少なくとも１つの不揮発性メモリデバイスを含み、階層メモリ構造制御命令に応答して情報を格納し、検索する不揮発性メモリシステムと、
外部から構成できる制御プログラムを操作し、上記ホストコンピュータシステムからの命令に応答して上記制御プログラムを呼出すプログラマブルコントローラと、
を備え、上記制御プログラムは上記パスワードの検査、暗号化、または解読を行うために上記不揮発性メモリシステム内に格納されている上記情報を操作し、上記プログラマブルコントローラ及び上記不揮発性メモリシステムが一緒になって階層メモリ構造を実現し、
上記各ユニットは、上記複数のユニットの他のユニットと情報を交換するためのインタフェースシステムを更に備え、
上記複数のユニットは、上記格納された情報を同時に操作するように上記ホストコンピュータシステムからプログラム可能であり、
パスワードの検査、暗号化、または解読のためのキーデータが、上記階層メモリ構造制御命令を介してはアクセス不能であり且つ上記プログラムコントローラがアクセス可能である上記不揮発性メモリシステムの領域に格納されていることを特徴とする装置。
【請求項２７】
上記各ユニットは、上記プログラマブルコントローラから独立していて上記プログラマブルコントローラと共に動作するプログラマブル成分を更に備えている請求項２６に記載の装置。
【請求項２８】
上記プログラマブル成分は、圧縮及び圧縮解除を支援するためにビットパッキング及びアンパッキングを遂行するように最適化されている請求項２７に記載の装置。
【請求項２９】
上記プログラマブル成分は、暗号化を支援するようになっている請求項２７に記載の装置。
【請求項３０】
上記プログラマブル成分は、ディジタル信号処理回路からなる請求項２７に記載の装置。
【請求項３１】
上記複数の各ユニットは、連想メモリを更に備えている請求項２６に記載の装置。
【請求項３２】
ホストコンピュータシステムであって、
ホストＣＰＵと、
ホストバスと、
上記ホストコンピュータシステムに対してデータの不揮発的な格納と、パスワードの検査、暗号化、または解読とを提供する装置と、
少なくとも１つの不揮発性メモリデバイスを含み、上記ホストコンピュータシステムから受信した階層メモリ構造制御命令に応答して上記ホストコンピュータシステムからの情報を格納し、検索する不揮発性メモリシステムと、
上記ホストバスを介して上記ホストコンピュータシステムから受信した第１の制御プログラムを操作し、上記ホストＣＰＵからの命令に応答して上記第１の制御プログラムを呼出すプログラマブルコントローラと、
を備え、上記第１の制御プログラムは上記パスワードの検査、暗号化、または解読を行うために上記不揮発性メモリシステム内に格納されている上記情報を操作し、上記不揮発性メモリシステム及び上記プログラマブルコントローラが一緒になって階層メモリ構造を実現しており、パスワードの検査、暗号化、または解読のためのキーデータが、上記階層メモリ構造制御命令を介して上記ホストコンピュータはアクセス不能であり且つ上記プログラムコントローラがアクセス可能である上記不揮発性メモリシステムの領域に格納されていることを特徴とするホストコンピュータシステム。
【請求項３３】
上記ホストコンピュータシステムは、パーソナルディジタル支援装置である請求項３２に記載のホストコンピュータシステム。
【請求項３４】
上記キーは、上記ホストバスからアクセス不能である請求項３２に記載のホストコンピュータシステム。
【請求項３５】
無線電話機ユニットであって、
無線ネットワークを介してデータを送受信するためのＲＦトランシーバと、
入力オーディオ信号を収集するマイクロホンと、
出力オーディオ信号に応答してオーディオを出力するスピーカと、
上記マイクロホン及び上記スピーカを介して電話機動作を実現するために、上記入力オーディオ信号を受信して上記出力オーディオ信号を生成し、変調された出力信号を上記ＲＦトランシーバに供給し、上記ＲＦトランシーバから変調された入力信号を受信する無線電話機制御回路と、
少なくとも１つの不揮発性メモリデバイスを含み、上記無線電話機制御回路から受信した命令に応答して上記無線電話機制御回路からの情報を格納し、検索する不揮発性メモリシステムと、
上記無線電話機制御回路から受信した第１の制御プログラムを操作し、上記無線電話機制御回路からの命令に応答して上記第１の制御プログラムを呼出すプログラマブルコントローラと、
を備え、上記第１の制御プログラムは上記不揮発性メモリシステム内に格納される上記情報を操作し、上記不揮発性メモリシステム及び上記プログラマブルコントローラが一緒になって階層メモリ構造を実現しており、上記不揮発性メモリシステムは、電話番号データの暗号化、電話番号データの解読、音声データの暗号化、音声データの解読、及びパスワードの検査の少なくとも1つのためのキーを格納するようになっており、上記キーは、上記無線電話機制御回路からアクセス不能であることを特徴とする無線電話機ユニット。
【請求項３６】
ディジタル動画カメラユニットであって、
動画データを収集するためのＣＣＤアレイと、
上記動画データを受入れ、上記動画データをバスインタフェースへ中継するカメラ制御回路と、
上記バスインタフェースを介して上記カメラ制御回路に結合されている複数のユニットからなる記憶システムと、
を備え、上記各ユニットは、
少なくとも１つの不揮発性メモリデバイスを含み、階層メモリ構造制御命令に応答して情報を格納し、検索する不揮発性メモリシステムと、
外部から構成できる制御プログラムを操作し、上記カメラ制御回路からの命令に応答して上記制御プログラムを呼出すプログラマブル成分と、
を備え、上記制御プログラムは上記不揮発性メモリシステム内に格納されている上記情報を操作し、上記プログラマブル成分及び上記不揮発性メモリシステムが一緒になって階層メモリ構造を実現し、
上記各ユニットは、上記複数のユニットの中の他のユニットと情報を交換するためのインタフェースシステムを更に備え、
上記複数のユニットは、上記格納された情報を同時に操作するようになっており、上記不揮発性メモリシステムが、パスワードを介してアクセス可能な暗号化されたデータを格納しており、パスワードを検査するためのキーには、上記階層メモリ制御命令を介して記憶システムの外部からアクセスすることができないことを特徴とするディジタル動画カメラユニット。
【請求項３７】
上記記憶システムは、取り外し可能である請求項３６に記載のディジタル動画カメラユニット。
【請求項３８】
上記プログラマブル成分は、上記動画データをＭＰＥＧ圧縮計画に従って圧縮するように動作する請求項３７に記載のディジタル動画カメラユニット。
【請求項３９】
上記プログラマブル成分は、プログラマブルコントローラからなる請求項３７に記載のディジタル動画カメラユニット。
【請求項４０】
上記プログラマブル成分は、ディジタル信号処理回路からなる請求項３７に記載のディジタル動画カメラユニット。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は不揮発性メモリシステムに関し、より詳しくは、不揮発性メモリを操作するプログラマブルコントローラを有する階層的に編成された統合不揮発性メモリシステムに関する。
【０００２】
【従来の技術】
コンピュータの新しいマルチメディア応用は、処理能力及びメモリ容量の両方に関してシステム性能に大きい要求を課している。例えば、ＪＰＥＧ及びＭＰＥＧ圧縮及び圧縮解除を実現するには、１Ｄ及び２Ｄ離散コサイン変換及び逆離散コサイン変換が必要である。ウェーブレット圧縮は、いろいろなディジタルフィルタリング動作を必要とする。フラクタル圧縮は潜在的に、フィルタリング及び大量の探索動作の両方を要求する。イメージ強調もディジタルフィルタリングを必要とする。これらの動作の全ては、大量のデータに対して遂行すべき大量の計算及び／または比較が必要である。
一つの解決法は、単に、これらのタスクをコンピュータシステムのＣＰＵに割当てることである。このようにすると、マルチメディアの性能はＣＰＵの速さ、及びメモリへのアクセスの速さによって制限される。もしコンピュータシステムが他のタスクを同時に走らせていれば、これらの他のタスクもゆっくりと遂行されることになる。
【０００３】
別の解決法は、補助的なハードウェアを準備することである。例えば、マルチメディアタスクに専用のディジタル信号処理回路及びメモリを含む付加的なボードをコンピュータシステムに実装することができる。しかしながら、このアプローチはかなりな費用を付加し、更に付加されたメモリはコンピュータシステム内で既に使用可能である資源を複製する。
同様な問題が、システムの機密保護によっても提起される。コンピュータへのアクセスの制御及び／またはコンピュータによって格納及び／または伝送されるデータの秘密の保護には、暗号化及び解読（暗号解除）を実現する必要がある。暗号化及び解読は、コンピュータの処理能力の更に別の潜在的な流出を意味している。更に、暗号化及び解読キー情報は、典型的には保護することが困難なコンピュータのハードドライブ上に格納されている。
【０００４】
【発明の概要】
本発明は、ハードウェアを僅かに付加するだけで、需要応用に対する性能を付加したコンピュータシステムを提供する。一実施例では、ホストコンピュータシステムのためのスレーブデバイスは、埋込み型プログラマブルコントローラと、不揮発性メモリ、ローカルＲＡＭ、及びインタフェースロジックとを組合わせてなる。ホストコンピュータシステムはスレーブデバイスを、あたかも、ファイルを格納し、検索できる普通のディスクドライブのような階層メモリであるかのように取扱う。更に、ホストコンピュータシステムは、イメージ処理及び／またはデータ圧縮を含む格納された情報に対する動作を遂行するために、コントローラをプログラムすることができる。不揮発性メモリは、ディスクドライブ、光ディスク、書き込み可能なＣＤ−ＲＯＭ、及び／または不揮発性ソリッドステートメモリを含むことができる。
【０００５】
本発明の第１の面によれば、不揮発的にデータを格納し、データの付加的な処理をホストコンピュータシステムに対して提供する装置は、少なくとも１つの不揮発性メモリデバイスを含んでいる。この不揮発性メモリシステムは階層メモリ構造を含み、ホストコンピュータシステムから受信した階層メモリ構造制御命令（コマンド）に応答して、ホストコンピュータシステムからの情報を格納し、検索する。装置は、プログラマブルコントローラを更に含む。プログラマブルコントローラは、ホストコンピュータシステムから受信した制御プログラムに従って動作する。プログラマブルコントローラは、ホストコンピュータシステムからの１つまたはそれ以上の命令に応答して制御プログラムを呼出す。これらの命令は、不揮発性メモリシステム内に格納されている情報をプログラマブルコントローラに操作させる。
【０００６】
本発明の第２の面によれば、ホストコンピュータシステムにおいて非揮発的にデータを格納し、データを高速処理する装置は、複数のユニットを含む。各ユニットは、少なくとも１つの不揮発性メモリデバイスを含む不揮発性メモリシステムを含んでいる。不揮発性メモリシステムは階層メモリ構造を実現し、階層メモリ構造制御命令に応答して情報を格納し、検索する。各ユニットは、プログラマブルコントローラを更に含んでいる。プログラマブルコントローラは、外部から構成できる制御プログラムを操作し、そしてホストコンピュータシステムからの命令に応答して制御プログラムを呼出す。制御プログラムは、不揮発性メモリシステム内に格納されている情報を操作する。各ユニットは、複数のユニットの中の他のユニットと情報を交換するためのインタフェースシステムを更に含んでいる。複数のユニットは、格納された情報を同時に操作するようにホストコンピュータシステムからプログラム可能である。
【０００７】
本発明の本質及び長所は、以下の添付図面に基づく詳細な説明から更に理解されよう。
【０００８】
【実施例】
図１は、本発明を組み込むのに適当なホストコンピュータシステム１０を示している。ホストコンピュータシステム１０は、中央プロセッサ１４、システムメモリ１６（典型的にはＲＡＭ）、及び入力／出力（Ｉ／Ｏ）コントローラ１８のような主要サブシステム、ディスプレイアダプタ２６を介してディスプレイスクリーン２４、シリアルポート２８及び３０、キーボード３２、フロッピーディスク３８を受入れるように動作するフロッピーディスクドライブ３６、及びＣＤ−ＲＯＭ  ４２を受入れるように動作するＣＤ−ＲＯＭ再生装置４０のような外部デバイスを相互接続するバス１２を含んでいる。シリアルポート２８を介して接続されているマウス４６、シリアルポート３０を介して接続されているネットワークインタフェース４８のような他の多くのデバイスを接続することができる。バス１２は、一緒に動作できる、または動作できない信号成分を含むことができる。バス１２は、メモリアクセス、Ｉ／Ｏアクセス等のような特定目的のための構成要素バスに分割することができる。
【０００９】
本発明の一実施例によれば、ホストコンピュータシステム１０には特別な記憶システム５０が組み込まれ、この記憶システム５０には不揮発性メモリ及びそのメモリの内容に対して動作を遂行するプログラム可能な処理が組み込まれている。記憶システム５０の１つの機能は、ＩＤＥコントローラまたはＳＣＳＩコントローラのようなディスクコントローラと、ハードディスクドライブとの組合わせの代りをすることである。ホストコンピュータシステム１０にとって、記憶システム５０は、階層メモリ制御命令を受信し、それに応答してファイルをディレクトリ構造内に格納し、格納されたファイルを検索することができる階層メモリシステムのように見える。本発明によれば、記憶システム５０は、他の命令に応答して格納された情報に対するデータ処理動作を遂行するようにプログラムすることが可能である。
【００１０】
図２は、本発明の一実施例による記憶システム５０の特定構成を示している。記憶システム５０は、ホストインタフェース２０２、埋込み型プログラマブルコントローラ２０４、内部ＲＡＭ  ２０６、内部ＲＯＭ  ２０８、１つまたはそれ以上の内部ＤＳＰ回路２１０、１つまたはそれ以上の内部コーダ回路２１２、及び１つまたはそれ以上の連想（もしくは、内容アドレス）メモリ（ＣＡＭ）ユニット２１４を含む。記憶システム５０は更に、誤り訂正コーディング（ＥＣＣ）ユニット２１６、不揮発性メモリインタフェース２１８、及び複数の不揮発性メモリデバイス２２０を含む。ホストインタフェースは、内部バス構造２２２によって埋込み型プログラマブルコントローラ２０４、内部ＲＡＭ  ２０６、内部ＲＯＭ  ２０８、ディジタル信号処理（ＤＳＰ）回路２１０、コーダ回路２１２、ＣＡＭ  ２１２に接続されている。勿論、これらの構成要素の多くは、本発明により省略することができる。
【００１１】
記憶システム５０は、印刷回路ボード、マルチチップモジュール、または単一の集積回路として物理的に実現することができる。図２に示す個々の回路は、独立した集積回路であることができる。より大規模に集積すれば、複数の構成要素を単一の集積回路内に組合わせることができる。
ホストインタフェース２０２は、コンピュータシステム１０のバス１２と対話する。バス１２は、例えばＰＣＩバスであることができる。ホストインタフェース２０２は、ＰＣＩバスと対話するように実装されよう。部分的に、ホストコンピュータシステム１０は、記憶システム５０があたかもＳＣＳＩまたはＩＤＥコントローラの指令の下に動作する階層メモリ構造であるかのように、記憶システム５０と対話する。データ格納及び検索のためのホストシステム１０とホストインタフェース２０２との間の対話に関しては、1995年に Addison Wesley から刊行された Messmer著“The Indispensable PC Hardware Book”第２刊の 731-838頁に説明されているので参照されたい。
【００１２】
埋込み型プログラマブルコントローラ２０４は、ホストシステム１０から受信した格納及び検索命令を解釈し、格納されるデータ、及び検索されたデータの流れをホストインタフェース２０２と不揮発性メモリインタフェース２１８との間に導く。埋込み型プログラマブルコントローラ２０４は、英国ケンブリッジの ARM Limitedから入手可能な ARM-7 TDMI であることが好ましい。ホストインタフェース２０２と不揮発性メモリインタフェース２１８との間のデータ経路内に、誤り訂正コーディングユニット２１６が挿入されている。誤り訂正コーディングユニット２１６は、不揮発性メモリデバイス２２０上に格納されているデータに対して誤り訂正コードを適用する。検索されたデータに対しては、誤り訂正コーディングユニット２１６は誤りを調べ、誤りを訂正し、そしてコードを除去する。誤り訂正コーディングユニット２１６は、ホストインタフェース２０２を介してプログラムすることができる。
【００１３】
不揮発性メモリデバイス２２０は、ＭＳ−ＤＯＳセクタを助けるように内部で最適化された４ＭＢまたはそれより大きいフラッシュメモリデバイスであることが好ましい。代替実施例では、ハードディスクドライブ、または書き込み可能光ドライブを不揮発性メモリとして使用する。不揮発性メモリインタフェース２２０は、データ、アドレス、及び制御信号が不揮発性メモリデバイス２２０と対話する必要がある場合には何時でも生成されるように特殊化されている。埋込み型プログラマブルコントローラ２０４は、制御プログラムに従って動作する。この制御プログラムの一部分はＲＯＭ ２０８内に存在していて、容易に変更することはできない。別の部分はホストコンピュータシステム１０によって変更することができ、不揮発性メモリデバイス２２０内と、コントローラ２０４の内部メモリ内とに存在している。ＲＯＭ ２０８内に存在する部分は、基本的なコントローラ動作及びファイル格納及び検索を処理する。ファイル格納及び検索は、ニューヨーク州ニューヨークの米国規格協会（ＡＮＳＩ）から入手可能のＡＴＡディスク制御仕様 ANSI-X3-221-1994 によって指定されているように処理することが好ましい。
【００１４】
ＡＴＡインタフェース命令セットの拡張セットは、少なくとも「埋込み型コントローラの内部メモリへ書き込め」、「埋込み型コントローラメモリを実行せよ」、「埋込み型コントローラ書き込みメモリポインタをリセットせよ」を含むことが好ましい。ホストコンピュータシステム１０が埋込み型コントローラ２０４を構成するようになっている場合、それは先ず「埋込み型コントローラ書き込みメモリポインタをリセットせよ」を呼出す。次いで、コントローラの内部メモリに制御プログラムをロードするのに必要な回数だけ「埋込み型コントローラの内部メモリへ書き込め」を呼出す。プログラムがロードされた後、ホストコンピュータシステムは「埋込み型コントローラメモリを実行せよ」命令を発行することによって制御プログラムを呼出すことができる。
【００１５】
ＡＴＡインタフェース命令セットのさらなる拡張は、限定するものではないが、「新しい内部ファイルを開け」、「内部セクタに書き込め」、「内部セクタを読み出せ」、「内部ファイルを閉じよ」、「内部ファイルを実行せよ」、内部実行を終了せよ」、及び「内部ファイルを隠せ」を含むことができる。参照されたファイルのファイルセクタは不揮発性メモリシステム２２０内に格納される。制御プログラムの変更可能な部分は、不揮発性メモリシステム２２０内に格納された情報に対する動作を遂行する。
この制御プログラムを変更することによってホストコンピュータシステム１０は、ＣＰＵ  １４から独立したいろいろな機能を記憶システム５０に遂行させるように構成することができる。例えば、記憶システム５０は不揮発性メモリシステム２２０内に書き込まれた画像データに対してＪＰＥＧまたはＭＰＥＧを遂行することができる。記憶システム５０は、例えばＣＣＤアレイの欠陥を修正し、または収集したＮＴＳＣフレーム内の雑音を抑圧して解像力を改善するためのイメージ強調アルゴリズムを実現することもできる。
【００１６】
本発明の一実施例によれば、他の回路を埋込み型プログラマブルコントローラ２０４と共働させることができる。例えば、もし含まれていれば、１つまたは複数のディジタル信号処理回路２１０は、ディジタル信号処理動作を助けることができる。これらの動作は、ＪＰＥＧ及びＭＰＥＧに使用される離散コサイン変換（ＤＣＴ）及び逆離散コサイン変換（ＩＤＣＴ）のような１Ｄ及び２Ｄ線形変換の計算を含むことができる。ウェーブレットをベースとする圧縮のような他の圧縮計画を支援するために、他の１Ｄ及び２Ｄフィルタをプログラムすることができる。１つまたは複数のディジタル信号処理回路２１０は、１Ｄ及び２Ｄフィルタからのデータを粗くする量子化動作を遂行することもできる。１つまたは複数のディジタル信号処理回路２１０は、イリノイ州シャウムバークの Motorola から入手可能な Motorola 56000 シリーズ、またはカリフォルニア州サンタクララの DSP Group, Inc.によって開発された Oak DSPコアのような１つまたはそれ以上の成分であることができる。１つまたは複数のディジタル信号処理回路２１０のための制御プログラムは、ホストコンピュータシステム１０によって変更し、不揮発性メモリデバイス２２０内に格納することもできる。
【００１７】
もし１つまたは複数のコーダ２１２が含まれていれば、それらは画像圧縮及び圧縮解除のために必要な他の動作を助けることができる。例えば、１つまたは複数のコーダ２１２は、１つまたは複数のディジタル信号処理回路２１０によって実現されている２Ｄ  ＤＣＴまたは２Ｄフィルタの出力の結果のランレングス符号化を遂行することができる。１つまたは複数のコーダ２１２は、圧縮またはランレングス符号化を支援するためのビットパッキング、及び圧縮解除を支援するためのアンパッキング動作を遂行することもできる。１つまたは複数のコーダ２１２は、ＪＰＥＧ及びＭＰＥＧ計画を支援するためのハフマンエンコーディング及びデコーディングを遂行することもできる。
ウェーブレット及びフラクタル圧縮／圧縮解除は、１つまたは複数のＤＳＰ回路２１０、１つまたは複数のコーダ２１２、及び１つまたは複数のＣＡＭ  ２１４によって支援することができる。フラクタル画像圧縮及び圧縮解除は、繰り返しパターンを探索するために１つまたは複数のＣＡＭ  ２１４を使用する。フラクタル画像圧縮及び圧縮解除のさらなる詳細に関しては、1996年１月の Dr. Dobb's Journal に所載の D.R. McGregorらの “Faster Fractal Compression" 、SIGGRAPH '92 Course Notes に所載の Y.Fisher の “Fractal Image Compression"、1994年９月の Proceedings of the SPIE, Visual Communications and Image Processingに所載の Y.Fisher らの “Fractal ( Self-VQ ) Encoding of Video Sequences"、1993年 A.K. Peters Ltd. 刊 Barnsley らの “Fractal Image Compression"、及び 1991 年11月12日 Barnsley らの米国特許第 5,065,447号を参照されたい。
【００１８】
記憶システム５０は、暗号化及び解読の機密保護をも強調する。ホストコンピュータシステム１０によるアクセスを制御するための、または記憶システム５０上のデータを暗号化及び解読のための、パスワード（合言葉）データは、不揮発性メモリシステム２２０内に維持することができる。パスワードデータは、ユーザによって入力されたパスワードを解読するための単方向キーデータを含むことができる。埋込み型プログラマブルコントローラ２０４は、この単方向キーデータに対する外部検索を防止するように動作して機密保護を強調する。ユーザが始めにホストコンピュータシステム１０上で走る応用ソフトウェアを使用してパスワードを選択した時、埋込み型プログラマブルコントローラ２０４は、このパスワードを解読するのに使用されるキーデータにこのパスワードを翻訳し、それを不揮発性メモリシステム２２０の私的メモリ領域内に格納する。この私的領域には、パスワード解読のために埋込み型プログラマブルコントローラ２０４だけがアクセス可能であり、ＡＴＡ階層メモリ制御命令を介してアクセスすることはできない。このようなパスワードは、不揮発性メモリシステム２２０上の（パスワードを使用しない場合には）隠しファイルへのアクセス、または不揮発性メモリシステム２２０上に格納されているデータを暗号化または解読するためのキーへのアクセスを制御するために、ホストコンピュータシステム１０上の若干の応用がアクセスできるように使用することができる。暗号化及び解読は、１つまたは複数のコーダ２１２によって支援することができる。
【００１９】
高度に処理が集中するタスクに適応させるために、図２に示すように多重記憶システムをアレイに組合わせて高速処理させることができる。このような配列はＭＰＥＧ、ウェーブレット、及びフラクタル圧縮または圧縮解除に最適である。この構成を設けるために、記憶システム５０は、この目的のための１つまたはそれ以上の他のインタフェース２２４を含むことができる。格納または検索すべき情報、及び制御プログラム情報はＮ個の、好ましくは４つまたはそれ以上のポートＣＯＭ１、ＣＯＭ２、ＣＯＭ３、ＣＯＭ４等を通過することができる。ホストインタフェース２０２は、ホストバス１２の代わりに、他の記憶システムとのインタフェーシングのために使用することもできる。
図３は記憶システム５０の拡張を示しており、この実施例ではコンピュータがアクセスできるメモリ２２６が記憶システム５０と物理的に統合されている。図３には、図２に示す構成要素の一部分だけを示してあるが、図３のどの構成要素も、コンピュータがアクセスできるメモリ２２６と物理的に統合されている記憶システム５０と共に含まれ得ることは理解されよう。コンピュータがアクセスできるメモリ２２６は、バス１２の一部分を形成することができるホストシステムメモリバス２２８に接続されている。コンピュータがアクセスできるメモリ２２６はシステムメモリ１６内で動作し、揮発性及び不揮発性メモリ回路の一方または両方を含むことができる。ホストバス１２は、コンピュータメモリアクセス信号に対して無関係の、そして現在活動状態の信号を含むことができ、それによって記憶システム５０内のデータ処理要素は、データ圧縮（イメージ圧縮を含む）、圧縮解除、暗号化、解読、または他の高速データ処理要求を支援するために、これらの信号に対して独立的に、そして同時に動作するか、またはこれらの信号を伝送することができる。
【００２０】
更に、コンピュータがアクセスできるメモリ２２６とホストシステムメモリバス２２８との間に、キャッシュ２３０及び別の誤り訂正コーディングユニット２３２が挿入されている。キャッシュ２３０は、ホストシステム１０のためにシステムメモリアクセス性能を最適化するものであり、不揮発性メモリ応用にとって特に貴重である。誤り訂正コーディングユニット２３２は、コンピュータがアクセスできるメモリ２２６の信頼性及び寿命予測（平均故障間隔として知られている）を改善する。
図４は、多数の記憶システム５０及び大域バスコントローラ３０２を含むアレイ構成３００を示している。当業者には公知の大域バスコントローラ３０２は、ホストバス１２への直接インタフェースとして働く。大域バスコントローラ３０２は、格納する情報、制御プログラム情報、格納及び検索命令、処理命令を特定の記憶システム５０に導く。大域バスコントローラ３０２は、検索された情報を記憶システム５０から受信し、それをホストバス１２上へ送る。格納及び検索の目的の場合、ホストシステムは、ＳＣＳＩまたはＩＤＥハードディスクコントローラが使用するような普通の格納及び検索命令で、大域バスコントローラ３０２と対話する。これらの命令は、特別な処理動作を要求するための付加的な命令で増補される。
【００２１】
命令、制御プログラム情報、及び格納及び検索される情報を分配するために、２Ｄ・２分木（バイナリ・ツリー）通信ネットワークが多数の記憶システム５０を相互接続している。図４に、 16 の記憶システム５０を有する特定の構成を示す。記憶システム５０を相互接続するために、いろいろなＣＯＭポート及びホストインタフェースが使用されている。各記憶システム５０毎の制御プログラムの部分が、総合ネットワークを構成するための必要接続性を与えることに関連している。多くのイメージ圧縮計画においては、各記憶システム５０はあるイメージのストリップ、またはストリップのグループに関連する処理を遂行する。ネットワークは円環体（トーラス）通信格子として知られる、「縁ユニットが対応する縁ユニットに回り込んでいる２次元最も近い近傍」通信計画も組込んでいる。
【００２２】
図５は、図４の多重記憶システム構成のＭＰＥＧ圧縮応用において、記憶システム５０のサブユニットがどのように機能的に相互接続されているのかを示している。いろいろなサブユニットが、ＭＰＥＧ圧縮に必要な機能を遂行する。大域バス入力画素データ４０２は、大域バスコントローラ３０２から直接、または１つまたはそれ以上の他の記憶システム５０を介して到来する。走査線ブロック入力バッファ４０４は、ＲＡＭ  ２０６で実現されている。２Ｄ離散コサイン変換エンジン・量子化装置４０６は画素データを変換し、その結果を、補償フィードバック入力４０８を介して印加される量子化制御情報、及び大域バスコントローラ３０２から受信した他の量子化制御情報に従って量子化する。その結果が量子化されたブロックＤＣＴ係数データであり、これはブロックＤＣＴ係数バッファ４１０（これもＲＡＭ  ２０６によって実現されている）内に格納される。
【００２３】
ＭＰＥＧ圧縮計画は、前後フレームにおける画素の類似性と、前後フレームにおける差が固定された背景に対する１つまたはそれ以上の対象の運動からなるという事実とを利用している。従って、ＤＣＴ係数の最終ブロックを、最終ブロックＤＣＴ係数バッファ４１２（これもＲＡＭ  ２０６によって実現されている）内に格納すると有用である。更に、運動は、異なる記憶システムによって処理される近傍画素領域から対象をインポートすることを含み得るから、入力ライン４１４は、１つまたはそれ以上のＣＯＭポートまたはホストインタフェース２０２に接続されている。同様に近傍ＤＣＴブロックバッファ４１６（これもＲＡＭ  ２０６によって実現されている）は、１つまたはそれ以上の他の記憶システム５０からＤＣＴ係数を受ける。運動検出回路４１８は、現ＤＣＴ係数と先行ＤＣＴ係数との差に基づいて運動データを生成することができる。運動検出回路４１８は、１つまたは複数のＤＳＰ回路２１０及び／または１つまたはそれ以上のＣＡＭユニット２１４によって実現することができる。運動検出回路４１８は、先行フレームとの差を特徴付ける特別な差フレームのためのデータを生成する。
【００２４】
論理回路４１９は、現フレームのＤＣＴ係数データと差データとを切り替え、また当業者には公知のようにＩフレーム、Ｂフレーム、及びＰフレーム内へのＭＰＥＧデータの最終グルーピングを制御するためのデータを生成する。論理回路４１９は、補償フィードバック入力４０８のための量子化制御データの一部分をも生成する。ビットパッキング回路４２０はフレームを組立て、それらを不揮発性書き込みバッファ及び／または出力バッファ（ＲＡＭ  ２０６によって実現されている）に書き込む。パケットデータは、これらのバッファから不揮発性メモリシステム２２０に書き込まれる。
記憶システム５０は、ユーザが構成できる暗号化能力を有する不揮発性メモリ回路を実現する。例えば、記憶システム５０は電話番号ディレクトリを暗号化された形状で格納することができ、これはパスワードを入力しない限り解読することはできない。パスワードを検査するためのキーは不揮発性メモリシステム２２０内に格納され、検索したり、変更したりすることはできない。パスワードの代わりに、音声サンプルまたは親指の指紋を分析してアクセスを与えることもできる。この場合も、音声サンプルまたは親指の指紋を検査するためのキーには、記憶システム５０の外部からアクセスすることはできない。検査、暗号化、及び／または解読のための処理は、記憶システム５０内のいろいろな処理成分、特に１つまたは複数のコーダ２１２によって遂行させることができる。
【００２５】
図１に示すホストコンピュータシステムは、記憶システム５０の１つの応用にしか過ぎない。他のデバイスも、記憶システム５０の特色を利用することができる。図６は、ホストコンピュータシステムの一種として動作するディジタル携帯電話機５００の機能要素を示している。マイクロホン５０２は、ユーザの音声を入力アナログオーディオ信号に変換する。Ａ／Ｄ変換器５０４は、この入力アナログオーディオ信号を入力ディジタルオーディオ信号に変換する。同様に、Ｄ／Ａ変換器５０６は、出力ディジタルオーディオ信号を出力アナログオーディオ信号に変換してスピーカ５０８に供給する。スペクトラム拡散エンコーダ／デコーダ・制御／インタフェース５１０は、電話機の制御機能を遂行して公衆無線電話ネットワークとの対話を制御し、受信したスペクトラム拡散信号をデコードし、そしてエンコードされたスペクトラム拡散信号を生成する。ＬＣＤディスプレイ５１２は、ユーザインタフェース情報を表示する。キーパッド５１４によってユーザは、電話機５００の動作を制御することができる。
【００２６】
ＩＦ変調器／復調器５１６は、中間周波数（ＩＦ）において変調及び復調を遂行する。ＲＦトランシーバ５１８は、ＩＦ信号をアンテナ５２０から公衆無線ネットワークへ送信するために割当てられた周波数に変換する。更に、ＲＦトランシーバ５１８は、アンテナ５２０から信号を受信し、それをＩＦに変換してＩＦ変調器／復調器５１６に復調させる。
不揮発性メモリシステム２２０内に格納されている別のアクセス不能な暗号化及び解読キーを使用して音声信号を暗号化し、解読して無線通信の機密保護を強調することができる。保護された音声伝送を呼出すには、典型的には、パスワードの入力、または親指の指紋または音声サンプルの分析も必要とする。音声信号の暗号化及び解読は、記憶システム５０内のいろいろな処理成分によって遂行される。機密保護を付加するために、記憶システム５０を携帯電話機５００から分離不能にすることができる。
【００２７】
図７は、記憶システム５０に対するホストコンピュータシステムとして動作するディジタル動画カメラユニット６００を示している。ディジタル動画カメラユニット６００は、イメージを検出し、このイメージを電気信号に変換するためのＣＣＤアレイ６０２を含んでいる。ＬＣＤディスプレイ６０４はユーザインタフェースを表示する。ユーザは、キーパッド６０６を介してディジタル動画カメラユニット６００を制御する。内部制御・インタフェース回路６０８には、ＣＣＤインタフェース６１０、ＬＣＤインタフェース６１２、ヒューマン入力インタフェース６１４、及び大域バスコントローラ３０２が組み込まれている。本発明の一実施例によれば、取り外し可能なカード６１８には、図４に示す記憶システム５０のアレイと、大域バスコントローラ３０２に接続するためのインタフェース６２０とを組み込んである。取り外し可能なカード６１８は、ＣＣＤアレイ６０２によって収集された動画データを格納し、図５を参照して説明したように、動画に対してＭＰＥＧ圧縮を遂行して格納容量を増加させる。取り外し可能なカード６１８は、収集した動画データを再生するために再生装置（図示してない）内へ挿入することができる。そのようにすると、取り外し可能なカード６１８内の処理成分はＭＰＥＧ圧縮解除を遂行することができる。
【００２８】
図８は、１つまたはそれ以上の記憶システム５０に対するホストコンピュータシステムとして動作するパーソナルディジタル支援装置７００を示している。ＬＣＤスクリーン７０２は、ユーザインタフェースを表示する。ユーザは、キーパッド７０４、またはスタイラスのような他のさまざまな周辺装置７０６を使用することによって、データを入力し、パーソナルディジタル支援装置７００を制御することができる。中間結果及び制御情報はＲＡＭ  ７０８内に格納される。パーソナルディジタル支援制御／インタフェース７１０は、パーソナルディジタル支援装置７００の基本プロセッサとして動作する。データ及びソフトウェアを長期間格納する場合には、パーソナルディジタル支援装置７００は１つまたはそれ以上の記憶システム５０を使用する。図８には、記憶システム５０の１つが取り外し可能であるものとして示されている。ユーザ機密保護のために、１つまたはそれ以上の記憶システム５０は、ユーザパスワードを介してアクセス可能な暗号化されたデータを格納することができる。前述したように、パスワードを検査するためのキーには、記憶システム５０の外側からアクセスすることはできない。パスワードが用いられなければ、暗号化されたファイルが存在していても見ることはできない。
【００２９】
以上に、本発明を特定の例示実施例に関して説明した。しかしながら、特許請求の範囲に記載した本発明の広義の思想及び範囲から逸脱することなく、種々の変更及び変化を考案できることは明白である。当業者には多くのこれらの変化または変更が容易に明白であろう。従って、本明細書及び添付図面は単なる例示に過ぎず、本発明を限定するものではない。本発明は特許請求の範囲によってのみ限定されるものである。
【図面の簡単な説明】
【図１】本発明を組み込むのに適するコンピュータシステムを示す図である。
【図２】本発明の一実施例に従って、図１のコンピュータシステム内に実装するために階層格納及び補助処理を組合わせた記憶システムを示す図である。
【図３】本発明の一実施例に従って、図１のホストシステムのシステムメモリの一部としてアクセスすることができるコンピュータがアクセスできるメモリで増補された図２の記憶システムを示す図である。
【図４】本発明の一実施例に従って、図２及び３の一方に類似の記憶システムのネットワークを示す図である。
【図５】本発明の一実施例に従って、図２及び３の一方に類似の記憶システムのサブユニットを、図４の多重記憶システム構成のＭＰＥＧ圧縮応用内にどのように機能的に相互接続するかを示す図である。
【図６】本発明の一実施例に従って、図２及び３の記憶システムに対するホストコンピュータシステムとして動作するディジタル携帯電話機の機能要素を示す図である。
【図７】本発明の一実施例に従って、図２及び３の記憶システムに対するホストコンピュータシステムとして動作するディジタル動画カメラユニットを示す図である。
【図８】本発明の一実施例に従って、図２及び３の記憶システムに対するホストコンピュータシステムとして動作するパーソナルディジタル支援装置を示す図である。
【符号の説明】
１０  ホストコンピュータシステム
１２  バス
１４  中央プロセッサ
１６  システムメモリ
１８  Ｉ／Ｏコントローラ
２４  ディスプレイスクリーン
２６  ディスプレイアダプタ
２８、３０  シリアルポート
３２  キーボード
３６  フロッピーディスクドライブ
３８  フロッピーディスク
４０  ＣＤ−ＲＯＭ再生装置
４２  ＣＤ−ＲＯＭ
４６  マウス
４８  ネットワークインタフェース
５０  記憶システム
２０２  ホストインタフェース
２０４  埋込み型プログラマブルコントローラ
２０６  内部ＲＡＭ
２０８  内部ＲＯＭ
２１０  内部ＤＳＰ回路
２１２  内部コーダ
２１４  連想メモリ（ＣＡＭ）ユニット
２１６  誤り訂正コーディングユニット
２１８  不揮発性メモリインタフェース
２２０  不揮発性メモリデバイス
２２４  インタフェース
２２６  コンピュータがアクセスできるメモリ
２２８  ホストシステムメモリバス
２３０  キャッシュ
２３２  誤り訂正コーディングユニット
３００  アレイ構成
３０２  大域バスコントローラ
４０２  大域バス入力画素データ
４０４  走査線ブロック入力バッファ
４０６  ２Ｄ離散コサイン変換量子化装置
４０８  補償フィードバック入力
４１０  ブロックＤＣＴ係数バッファ
４１２  最終ブロックＤＣＴ係数バッファ
４１４  入力ライン
４１６  近傍ＤＣＴブロックバッファ
４１８  運動検出回路
４１９  論理回路
５００  ディジタル携帯電話機
５０２  マイクロホン
５０４  Ａ／Ｄ変換器
５０６  Ｄ／Ａ変換器
５０８  スピーカ
５１０  スペクトラム拡散エンコーダ／デコーダ・制御／インタフェース
５１２  ＬＣＤディスプレイ
５１４  キーパッド
５１６  ＩＦ変調器／復調器
５１８  ＲＦトランシーバ
５２０  アンテナ
６００  ディジタル動画カメラユニット
６０２  ＣＣＤアレイ
６０４  ＬＣＤディスプレイ
６０６  キーパッド
６０８  内部制御・インタフェース回路
６１０  ＣＣＤインタフェース
６１２  ＬＣＤインタフェース
６１４  ヒューマン入力インタフェース
６１８  取り外し可能なカード
６２０  インタフェース
７００  パーソナルディジタル支援装置
７０２  ＬＣＤスクリーン
７０４  キーパッド
７０６  周辺装置
７０８  ＲＡＭ
７１０  パーソナルディジタル支援制御／インタフェース
【図１】
0003773630.tif 000002
【図２】
0003773630.tif 000003
【図３】
0003773630.tif 000004
【図４】
0003773630.tif 000005
【図５】
0003773630.tif 000006
【図６】
0003773630.tif 000007
【図７】
0003773630.tif 000008
【図８】
0003773630.tif 000009