(57)【要約】【課題】少なくとも複数の周辺装置と結合する光記憶システム。【解決手段】前記光記憶システムは、光記憶媒体に保存されたデータを読み出すデータ読込みサブシステムと、前記読み出されたデータに基づいて、出力データを生成するデータプロセスサブシステムと、前記周辺装置の１つに前記出力データを転送する複数のピンと、を有する。前記出力データは、データ情報およびアドレス情報を含む。前記データ情報および前記アドレス情報を含む前記出力データを転送するのに使われるピンの数は、パラレルに転送される前記出力データのビット数を表すパラレルビット数に基づいて構成可能である。前記データ情報および前記アドレス情報は同じピンを介して転送される。 【選択図】  図１
2006268814.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの周辺装置と結合する光記憶システムであって、
光記憶媒体に保存されたデータを読み出すデータ読込みサブシステムと、
前記読み出されたデータに基づいて、データ情報およびアドレス情報を含む出力データを生成するデータプロセスサブシステムと、
前記データ情報および前記アドレス情報を含む前記出力データを転送するのに使われるピンの数が、パラレルに転送される前記出力データのビット数を表すパラレルビット数に基づいて構成可能であるとともに、前記データ情報および前記アドレス情報は同じピンを介して転送される、前記出力データを前記周辺装置に転送する複数のピンと、を有することを特徴とする少なくとも１つの周辺装置と結合する光記憶システム。
【請求項２】
請求項１に記載のシステムにおいて、前記データプロセスサブシステムが、さらに、前記パラレルビット数を決定するインタフェースコントローラを有することを特徴とするシステム。
【請求項３】
請求項２に記載のシステムにおいて、前記パラレルビット数が、出力データを転送する相手となる周辺装置に基づいて決定されることを特徴とするシステム。
【請求項４】
請求項３に記載のシステムにおいて、前記インタフェースコントローラが、さらに、
前記アドレス情報を復号化して、出力するアドレスデコーダと、
前記復号化されたアドレス情報に基づいて、前記出力データを転送する相手となる周辺装置を決定し、前記出力データを転送する相手となる周辺装置に基づいて、前記パラレルビット数を決定する制御レジスタと、
前記データ情報を保存する出力バッファと、
前記データ情報および前記アドレス情報に基づいて、前記出力データを生成するインタフェースエンコーダと、を有することを特徴とするシステム。
【請求項５】
請求項４に記載のシステムにおいて、前記インタフェースエンコーダが、さらに、前記出力データを、前記パラレルビット数に基づいて、前記パラレルビット数と同数の複数のサブデータの組に分割することを特徴とするシステム。
【請求項６】
請求項５に記載のシステムにおいて、前記出力データが、シリアル周辺装置インタフェース（ＳＰＩ）規格と互換性があることを特徴とするシステム。
【請求項７】
請求項６に記載のシステムにおいて、前記出力データが、さらに、少なくともコマンドデータと、アドレスデータと、複数のデータブロックと、を含み、前記サブデータの各組が、さらに、少なくとも前記コマンドデータの一部と、前記アドレスデータの一部と、前記データブロックの一部と、を含むことを特徴とするシステム。
【請求項８】
請求項６に記載のシステムにおいて、前記出力データが、さらに、ダミーデータサイクルを含み、前記サブデータの各組が、さらに、サブダミーデータサイクルを含み、前記サブダミーデータサイクルは、前記出力データを転送する相手となる周辺装置に基づいて決定されることを特徴とするシステム。
【請求項９】
請求項８に記載のシステムにおいて、前記サブダミーデータサイクルが、前記出力データと前記出力データを受け取った後に前記周辺装置によって返送されたデータとを比較した結果に基づいて、構成可能であることを特徴とするシステム。
【請求項１０】
請求項１に記載のシステムにおいて、前記ピンが、前記周辺装置からの入力データの受信用であり、および、パラレルに受信される前記入力データのビット数を、前記パラレルビット数に基づいて決定することを特徴とするシステム。
【請求項１１】
請求項１０に記載のシステムにおいて、データプロセスサブシステムが、さらに、前記入力データを受け取るデータコレクタと、前記入力データを保存する入力バッファと、を有することを特徴とするシステム。
【請求項１２】
請求項１に記載のシステムにおいて、光記憶システムと結合できる前記周辺装置の１つが、フラッシュメモリであることを特徴とするシステム。
【請求項１３】
光記憶システムと、インタフェースによって前記光記憶システムと結合される周辺装置との間のデータを転送する方法であって、
光記憶媒体に保存されたデータを読み出し、
前記読み出されたデータに基づいて、データ情報およびアドレス情報を含む出力データを生成し、
前記出力データを周辺装置に転送し、そこにおいて、前記アドレス情報および前記データ情報を含む前記出力データを転送するのに使われるピンの数が、パラレルに転送される前記出力データのビット数を表すパラレルビット数に基づいて構成可能であるとともに、前記アドレス情報および前記データ情報は同じピンを介して転送されること、を特徴とする光記憶システムと、インタフェースによって前記光記憶システムと結合される周辺装置との間のデータを転送する方法。
【請求項１４】
請求項１３に記載の方法において、前記方法が、さらに、前記パラレルビット数を決定することを特徴とする方法。
【請求項１５】
請求項１４に記載の方法において、前記出力データの生成が、さらに
前記アドレス情報を復号化し、
前記復号化されたアドレス情報に基づいて、前記出力データを転送する相手となる周辺装置を決定し、
前記出力データを転送する相手となる周辺装置に基づいて、前記パラレルビット数を決定し、
前記データ情報を保存し、
前記データ情報および前記アドレス情報に基づいて、前記出力データを生成することを特徴とする方法。
【請求項１６】
請求項１５に記載の方法において、前記出力データの生成が、さらに、前記出力データを、前記パラレルビット数に基づいて、前記パラレルビット数と同数の複数のサブデータの組に分割することを特徴とする方法。
【請求項１７】
請求項１６に記載の方法において、前記出力データが、シリアル周辺装置インタフェース（ＳＰＩ）規格と互換性があり、
生成には、少なくともコマンドデータと、アドレスデータと、複数のデータブロックと、を有するように前記出力データを生成することを含むことを特徴とする方法。
【請求項１８】
請求項１７に記載の方法において、前記出力データの生成が、さらに、
前記コマンドデータを複数のサブコマンドデータに分割し、
前記アドレスデータを複数のサブアドレスデータに分割し、
前記データブロックを複数のサブデータブロックに分割し、
前記サブコマンドデータの１つ、前記サブアドレスデータの１つ、および前記サブデータブロックの少なくとも１つに基づいて、各サブデータセットを生成することを特徴とする方法。
【請求項１９】
請求項１７に記載の方法において、前記出力データの生成が、さらに、前記パラレルビット数に基づいてダミーデータサイクルを決定し、各サブデータセットが、決定されたダミーデータサイクルの少なくとも１つを含むことを特徴とする方法。
【請求項２０】
請求項１９に記載の方法において、前記ダミーデータサイクルが、少なくとも１つのデータビットを含み、前記ダミーデータサイクルの前記データビットをゼロに設定することを特徴とする方法。
【請求項２１】
請求項１９に記載の方法において、さらに、
前記出力データと前記出力データを受け取った後に前記周辺装置によって返送されたデータとを比較し、
比較結果に基づいて、前記ダミーデータサイクルを構成することを特徴とする方法。
【請求項２２】
請求項１４に記載の方法において、前記パラレルビット数の決定が、さらに、
ネゴシエーション信号を前記周辺装置に送り、前記周辺装置に前記パラレルビット数を知らせ、
前記周辺装置から返送された確認応答信号を受け取った後に、前記出力データを前記周辺装置に転送し、前記確認応答信号により、前記光記憶システムに、前記周辺装置は前記出力データを受け取る準備ができていることを知らせることができることを特徴とする方法。
【請求項２３】
請求項２２に記載の方法において、前記出力データの生成が、さらに、
前記アドレス情報を復号化し、
前記復号化されたアドレス情報に基づいて、前記出力データを転送する相手となる前記周辺装置を決定し、
前記パラレルビット数を決定し、
前記データ情報を保存し、および
前記データ情報および前記アドレス情報に基づいて、前記出力データを生成することを特徴とする方法。
【請求項２４】
請求項２３に記載の方法において、前記出力データの生成が、さらに、前記出力データを、前記パラレルビット数に基づいて、前記パラレルビット数と同数の複数のサブデータの組に分割することを特徴とする方法。
【請求項２５】
請求項２４に記載の方法において、前記出力データが、シリアル周辺装置インタフェース（ＳＰＩ）規格と互換性があり、前記出力データは、少なくともコマンドデータと、アドレスデータと、複数のデータブロックと、を含むことを特徴とする方法。
【請求項２６】
請求項２５に記載の方法において、前記出力データの生成が、さらに、
前記コマンドデータを複数のサブコマンドデータに分割し、
前記アドレスデータを複数のサブアドレスデータに分割し、
前記データブロックを複数のサブデータブロックに分割し、
前記サブコマンドデータの１つ、前記サブアドレスデータの１つ、および前記サブデータブロックの少なくとも１つに基づいて、各サブデータセットを生成することを特徴とする方法。
【請求項２７】
請求項１３に記載の方法において、さらに、
前記周辺装置から入力データを受け取り、前記パラレルビット数に基づいて、パラレルに受信された前記入力データのビット数を決定し、
前記入力データを保存することを特徴とする方法。
【請求項２８】
光記憶媒体に保存されたデータを読み出すデータ読込みサブシステムと、
前記読み出されたデータに基づいて、出力データを生成するデータプロセスサブシステムと、
データ情報およびアドレス情報を含む前記出力データを転送するのに使われるピンの数が、パラレルに転送される前記出力データのビット数を表すパラレルビット数に基づいて構成可能であるとともに、前記データ情報および前記アドレス情報は同じピンを介して出力される、前記出力データを前記周辺装置に転送する複数のピンと、を有するフラッシュメモリと結合する光記憶システムであって、
前記フラッシュメモリは、
データを保存するメモリセルアレイと、
前記フラッシュメモリを制御するメモリインタフェースコントローラと、を有することを特徴とするフラッシュメモリと結合する光記憶システム。
【請求項２９】
請求項２８に記載のシステムにおいて、前記メモリインタフェースコントローラが、さらに、
前記出力データの第１の部分を保存する入力バッファと、
前記出力データの第２の部分を受け取るシフタと、
前記出力データの前記第１および前記第２の部分を組み合わせ、前記出力データの前記組み合わされた部分を前記入力バッファに保存する多重化デバイスと、および
前記全体の出力データが受信された後に、前記出力データを復号化し、前記出力データに基づいて前記フラッシュメモリを制御するインタフェースデコーダと、を有することを特徴とするシステム。
【請求項３０】
請求項２８に記載のシステムにおいて、前記フラッシュメモリの前記メモリセルアレイが、さらに、ワンタイムプログラム（ＯＴＰ）を保存するワンタイムプログラム部を有することを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、光記憶システムに関し、さらに詳しくは、データを転送するインタフェースを有する光記憶システムに関する。
【背景技術】
【０００２】
デジタルビデオディスク（ＤＶＤ）システムなどの光記憶システムは、前記光記憶システムを動作させるために、ディスク、および／または、ソフトウェアプログラムから読み出されたデータを保存するためのスタンドアロンメモリデバイスを必要とする。そのような光記憶システムでは、データ、コマンド、および他の情報を前記スタンドアロンメモリデバイスに転送するとともに、前記スタンドアロンメモリデバイスからデータ、コマンド、および他の情報を受け取るインタフェースが必要となる。さらに光記憶システムは、前記光記憶システムと前記スタンドアロンメモリデバイスの間で、データ、コマンド、および他の情報を転送するインタフェースを制御するインタフェースコントローラを必要とする。光記憶システムのインタフェースは、スタンドアロンメモリデバイスのインタフェースと互換性がなければならない。
【０００３】
いくつかのメモリデバイス構造体が当技術分野で公知である。一般的なメモリデバイス構造体の一つにフラッシュメモリがあり、フラッシュメモリは不揮発性であり、容易に更新することができる。従来のほとんどのフラッシュメモリは、データおよびコマンドをパラレルに転送するパラレルインタフェースを有する。パラレルインタフェースを有するフラッシュメモリが光記憶システムにおいて用いられる場合、データ、コマンド、および他の情報をパラレルに転送するために、光記憶システムの制御チップとフラッシュメモリを含むチップの両方は、多数のピンを必要とする。パラレルデータ転送オペレーションをサポートするためには、多数のピンが必要であり、一般に、光記憶システムの全費用を増加させる。例えば、よりピン数の多いパッケージは、一般に、よりピン数の少ないパッケージよりも費用がかかり、概して、より製造欠陥を起こしやすい。さらに、よりピン数の多いパッケージは、プリント基板（ＰＣＢ）上により大きい表面積を必要とする。
【０００４】
ピンの必要数を減少させるために、従来のパラレルインタフェースに代わり、ＳＰＩ（シリアル周辺装置インタフェース）インタフェースおよびＬＰＣ（低ピン数）インタフェースが導入されてきた。したがって、ＳＰＩインタフェースまたはＬＰＣインタフェースのどちらかを有するフラッシュメモリが、光記憶システムにおいてより有用である。ＳＰＩインタフェースは、同期シリアル通信用に４本のピン、すなわち、ＤＩ、ＤＯ、ＳＣＫ、およびＣＥピンを用いる。ＤＩおよびＤＯピンは、それぞれ、データをフラッシュメモリへ転送、および、データをフラッシュメモリから転送するためのピンである。ＳＣＫピンは、フラッシュメモリのデータ転送オペレーションを同期させるクロック信号を送受信するためのピンである。データは、ＳＣＬＫ信号の立ち上がりエッジで、シリアルに、フラッシュメモリに取り込まれ、ＳＣＬＫ信号の立ち下がりエッジで、シリアルに、フラッシュメモリから取り出される。その結果、データがシリアルに転送されるので、ＳＰＩインタフェースを有するフラッシュメモリの必要とするピン数を軽減できる。しかしながら、フラッシュメモリを用いる光記憶システムの稼働率は、シリアルデータ転送によって制限される。このことは、光記憶システムが、より高い稼働率を要求する場合には望ましくない。
【０００５】
ＬＰＣインタフェースは、データおよびコマンドを転送する４本のデータピンを有する。データを転送するために、２本の代わりに４本のデータピンがあるため、ＬＰＣインタフェースを有するフラッシュメモリの動作性能は、ＳＰＩインタフェースを有するフラッシュメモリより速い。しかしながら、ＬＰＣインタフェースは、読出しおよび書込みなどの限定的なインタフェースオペレーションのみを提供する。ブロック消去やチップ消去などの、光記憶システムで一般的に用いられる、いくつかの特定のオペレーションは、ＬＰＣインタフェースではサポートされない。したがって、ＬＰＣインタフェースを有するフラッシュメモリデバイスは、光記憶システム用には適さない。
【０００６】
このように、当技術分野には、データを転送するインタフェースを有する光記憶システムに対する一般的なニーズがあり、満足できる稼働率を達成しつつ、必要とするピン数およびパッケージングのコストを低減することが求められている。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、選択可能なパラレルビット数に基づいてデータを転送するインタフェースを有する光記憶システムに関し、関連技術が有する制限および短所によって生じる１つ以上の問題を取り除く。
【課題を解決するための手段】
【０００８】
本発明によれば、少なくとも複数の周辺装置と結合する光記憶システムが提供される。前記光記憶システムは、光記憶媒体に保存されたデータを読み出すデータ読込みサブシステムと、前記読み出されたデータに基づいて出力データを生成するデータプロセスサブシステムと、前記出力データを周辺装置に転送する複数のピンと、からなる。前記出力データは、データ情報およびアドレス情報を含む。前記データ情報および前記アドレス情報を含む前記出力データを転送するのに使われる多数のピンは、パラレルに転送される前記出力データのビット数を表すパラレルビット数に基づいて、構成可能である。前記データ情報および前記アドレス情報は、同じピンを介して転送される。
【０００９】
また本発明によれば、光記憶システムと、インタフェースによって前記光記憶システムと結合された周辺装置との間で、データを転送する方法が提供される。前記方法は、光記憶媒体に保存されたデータを読み出すことと、前記読み出されたデータに基づいて出力データを生成することと、前記出力データを周辺装置に転送することと、からなる。前記出力データは、データ情報およびアドレス情報を含む。前記アドレス情報および前記データ情報を含む前記出力データを転送するのに使われる多数のピンは、パラレルに転送される前記出力データのビット数を表すパラレルビット数に基づいて、構成可能である。前記アドレス情報および前記データ情報は、同じピンを介して転送される。
【００１０】
さらに、本発明の一実施例によれば、フラッシュメモリと結合する光記憶システムが提供される。前記光記憶システムは、光記憶媒体に保存されたデータを読み出すデータ読込みサブシステムと、前記読み出されたデータに基づいて出力データを生成するデータプロセスサブシステムと、前記出力データを周辺装置に転送する複数のピンと、からなる。前記出力データは、データ情報およびアドレス情報を含む。前記アドレス情報および前記データ情報を含む前記出力データを転送するのに使われる多数のピンは、パラレルに転送される前記出力データのビット数を表すパラレルビット数に基づいて、構成可能である。前記アドレス情報および前記データ情報は、同じピンを介して転送される。前記フラッシュメモリは、さらに、データを保存するメモリセルアレイと、前記フラッシュメモリを制御するメモリインタフェースコントローラと、からなる。
【発明の効果】
【００１１】
本発明の付加的な特徴および利点は、一部は以下の記述において詳しく説明され、その記述によって明白となるであろう。また本発明の実施方法によって理解されるであろう。本発明の特徴および利点は、添付クレームにおいて特に示された構成要素および組み合わせによって理解され、実現されるであろう。
【００１２】
以上の概説および以下の詳述の両方は、ただ模範例として、説明に役立つものとしてのみ示されるものであり、クレームとして本発明を制限するものではない。
【００１３】
本明細書に組み込まれ、本明細書の一部を構成する添付図面は、本発明のいくつかの実施例を図解し、前記記述と共に本発明の原理について説明するのに役立つ。
【発明を実施するための最良の形態】
【００１４】
添付図面において図解される本発明の実施例について詳細に説明する。同じか、または類似の部品を示す場合、添付図面全体を介して可能な限り同じ参照番号を用いる。
【００１５】
図１は、両者の間に結合されたインタフェース１７０を有する本発明の実施例の光記憶システム１００およびフラッシュメモリ１５０を例示する図である。光記憶システム１００およびフラッシュメモリ１５０は、データを転送するデータバス（ＤＱ［０…ｎ］）１７２と、制御コマンド（ＣＥ＿Ｂ）を転送するコマンドバス１７４と、シリアルクロック信号（ＳＣＫ）を転送するシリアルクロックバス１７６と、からなるインタフェース１７０で結合される。光記憶システム１００は、モータ１１０と、ディスク１１４を回転させるモータ１１０を制御するサーボ制御装置１１２と、ディスク１１４に保存されたデータにアクセスするとともに、アクセスによって得られたデータをＭＣＵ（マイクロコントローラユニット）１１８に送るピックアップレーザヘッダ１１６と、を有する。ＭＣＵ１１８は、アクセスによって得られたデータを処理して、アクセスによって得られたデータに基づいて、アドレス情報（ＡＤＤＲ）およびデータ情報（ＤＡＴＡ）を生成する。さらに、光記憶システム１００は、アドレス情報（ＡＤＤＲ）、および、ＭＣＵ１１８から送られたデータ情報（ＤＡＴＡ）を受け取り、処理し、処理されたアドレス情報および処理されたデータ情報に基づいて出力データを生成するインタフェースコントローラ１２０を備える。フラッシュメモリ１５０は光記憶システム１００と結合され、ディスク１１４から読込まれたデータを保存する。本実施例では、インタフェースコントローラ１２０によって生成された出力データは、フラッシュメモリ１５０に転送される。
【００１６】
図２は、図１のインタフェースコントローラ１２０の詳細を例示する図である。本実施例では、インタフェースコントローラ１２０はチップの中にパッケージされた集積回路（ＩＣ）である。チップは、インタフェース１７０のコマンドバス１７４と結合されるコマンドピン２２２と、インタフェース１７０のシリアルクロックバス１７６と結合されるクロック信号ピン２２０と、それぞれデータバス（ＤＱ［０…ｎ］）１７２と結合される入出力データピン２２４〜２３２と、を備える。さらに、インタフェースコントローラ１２０は、アドレスデコーダ２０２と、制御レジスタ２０４と、インタフェースエンコーダ２０６と、光記憶システム１００からデータを出力する出力バッファ２０８と、を備える。また、インタフェースコントローラ１２０は、データコレクタ２１０と、光記憶システム１００にデータを入力する入力バッファ２１２と、を備える。さらに、インタフェースコントローラ１２０は、２つの多重化（ＭＵＸ）デバイス２１４および２１６を備え、光記憶システム１００から出力され、または、光記憶システム１００に入力されるデータを制御する。ＭＣＵ１１８が、アドレス情報（ＡＤＤＲ）およびデータ情報（ＤＡＴＡ）をインタフェースコントローラ１２０に送ると、アドレス情報（ＡＤＤＲ）は、アドレスデコーダ２０２に受信され、データ情報（ＤＡＴＡ）は、ＭＵＸ２１４の制御の下で出力バッファ２０８に受信される。アドレスデコーダ２０２は、アドレス情報（ＡＤＤＲ）を復号化して、復号化されたアドレス情報（ＡＤＤＲ）を制御レジスタ２０４に送る。制御レジスタ２０４は、復号化されたアドレス情報（ＡＤＤＲ）に基づいて、出力データを送る相手となる周辺装置を決定し、光記憶システム１００から選択された周辺装置へパラレルに転送される出力データのビット数を表すパラレルビット数を決定する。本実施例では、パラレルビット数を決定する際に、出力データを送る相手となる周辺装置に基づいて決定することができる。その後、制御レジスタ２０４は、パラレルビット数を表す起動信号を、インタフェースエンコーダ２０６に送信する。その一方で、出力バッファ２０８は、ＭＣＵ１１８からデータ情報（ＤＡＴＡ）を受け取り、そのデータ情報（ＤＡＴＡ）をインタフェースエンコーダ２０６に送る。復号化されたアドレス情報（ＡＤＤＲ）がフラッシュメモリ１５０のアドレスに一致すると、インタフェースエンコーダ２０６は、コマンドピン２２２とコマンドバス１７４を介して、メモリアクセス要求をフラッシュメモリ１５０に送る。さらに、インタフェースエンコーダ２０６は、アドレス情報（ＡＤＤＲ）、データ情報（ＤＡＴＡ）、およびパラレルビット数に基づいて、出力データを生成する。出力データを生成すると、インタフェースエンコーダ２０６は、入出力データピン２２４〜２３２および対応するデータバス（ＤＱ［０…ｎ］）１７２を介して、アドレス情報（ＡＤＤＲ）およびデータ情報（ＤＡＴＡ）を含む出力データをフラッシュメモリ１５０に送る。出力データを送るために使われる入出力データピン２２４〜２３２の数は、パラレルビット数に基づいて決定される。アドレス情報およびデータ情報は、出力データを送るために使われた同じ入出力データピン２２４〜２３２を介して送られる。また、インタフェースエンコーダ２０６は、出力データが送受信されているときに、クロック信号ピン２２０を介して、シリアルクロック信号（ＳＣＫ）をシリアルクロックバス１７６へ出力できる。
【００１７】
上に説明された実施例では、パラレルビット数は、出力データを送る相手となる周辺装置に基づいて決定される。しかしながら、本発明はそのように制限されない。本発明の別の実施例では、インタフェースコントローラ１２０がパラレルビット数を決定することができる。そして、インタフェースエンコーダ２０６は、出力データを送る相手となる周辺装置に対して、出力データを送る前に、まずネゴシエーション信号を送る。ネゴシエーション信号は、決定されたパラレルビット数がどのくらいであるかを周辺装置に知らせる。ネゴシエーション信号を受け取った後に、周辺装置は、確認応答信号を送り返し、インタフェースコントローラ１２０に対して、周辺装置が出力データを受け取る準備ができていることを知らせる。確認応答信号を受け取った後に、インタフェースエンコーダ２０６は出力データの転送を開始する。
【００１８】
図３は、選択可能なパラレルビット数でデータを送受信するインタフェース３００で結合された、本発明の実施例の光記憶システム１００およびその周辺装置を例示する図である。図３のインタフェース３００は、一般に、図１に示すデータバス１７２と、コマンドバス１７４と、シリアルクロックバス１７６と、からなるインタフェース１７０に対応する。本実施例のインタフェースコントローラ１２０は、アドレス情報（ＡＤＤＲ）に基づいて選択された周辺装置の１つにデータを出力する。出力データは、パラレルビット数に基づいて、シリアルに、または、パラレルに複数のビットとして転送される。
【００１９】
図３に示すように、同じインタフェース３００によって、光記憶システム１００を、フラッシュメモリデバイス３０２、リードオンリーメモリ（ＲＯＭ）デバイス３０４、汎用の入出力制御装置（ＧＰＩＯ）３０６、およびパラレルポートコントローラ３０８などの複数の周辺装置と結合できる。光記憶システム１００に結合される周辺装置のデータ転送要件、および／または、稼働率は種々異なる。そのような状況では、パラレルビット数が構成可能であれば、データ転送性能を最適化できる。例えば、出力データを、ＧＰＩＯコントローラ３０６などのシリアルインタフェースを有する周辺装置に送るとき、インタフェースコントローラ１２０のインタフェースエンコーダ２０６は、出力データをＧＰＩＯコントローラ３０６にシリアルに送る。また、インタフェースコントローラ１２０は、出力データとともにシリアルクロック信号（ＳＣＫ）１７６を出力する。その結果、入出力データピン２２４〜２３２の内の１つだけが、出力データをシリアルに送るために用いられる。この場合、パラレルビット数は１である。
【００２０】
出力データを、データの複数のビットをパラレルに送受信または受信可能なインタフェースを有する周辺装置に送るとき、インタフェースコントローラ１２０のインタフェースエンコーダ２０６は、出力データを周辺装置にパラレルに送る。入出力データピン２２４〜２３２の内の２つ以上が、出力データをパラレルに送るために用いられる。出力データをパラレルに送るために用いられる入出力データピン２２４〜２３２の数は、出力データを受け取る周辺装置の能力に基づいて決定される。さらに、図３において、例えば、出力データを、４ビットデータをパラレルに受け取ることができるインタフェースデコーダを有するパラレルポートコントローラ３０８に送るとき、出力データの４ビットすべてが、データ転送の間、インタフェース３００によってインタフェースコントローラ１２０からパラレルポートコントローラ３０８にパラレルに送受信される。この場合、パラレルビット数は４である。
【００２１】
本実施例では、パラレルビット数を１、２、４、または８に設定できる。言い換えれば、ビット数が１のときには、インタフェースコントローラ１２０は出力データをシリアルに送ることができ、また、出力データを他の周辺装置に送るとき、２、４、または８ビットの出力データをパラレルに送ることができる。図４、図５、図６、および図７は、それぞれパラレルビット数１、２、４、および８に対応する本発明の実施例の出力データのデータ転送構成を例示するタイムチャートである。本実施例では、光記憶システム１００のインタフェースコントローラ１２０は、ＳＰＩインタフェースと互換性があるため、出力データのデータ転送構成は、ＳＰＩインタフェース規格と互換性がある。
【００２２】
図４において、パラレルビット数が１のとき、データ転送構成はＳＰＩインタフェース規格で定義されるデータ転送構成と実質的に同じであり、そのデータ転送構成は、８ビットのコマンドデータ（ＣＭＤ０〜ＣＭＤ７）と、２４ビットのアドレスデータ（ＡＤＲ０〜ＡＤＲ２３）と、それぞれが８ビットデータ（ＤＡ０〜ＤＡ７）からなるｎ＋１個のデータブロックと、を含むシリアル出力データからなる。シリアルデータは、ただ１つだけの入出力データピン、例えば、２２４によってシリアルに出力される。その結果、入出力データピン２２４、すなわちＤＱ０、と結合されたただ１つのデータバスが使用され、シリアルデータをシリアルに出力する。その間、他のデータバス（ＤＱ１〜ＤＱ７）はアイドリング状態に保たれている。シリアル出力データに加えて、さらにデータ転送構成には、光記憶システム１００の動作と、シリアル出力データを送る相手となる周辺装置の動作とを同期させるシリアルクロック信号（ＳＣＫ）と、データ転送を可能にするイネーブルコマンド（ＣＥ＿Ｂ）と、が含まれる。シリアルクロック信号（ＳＣＫ）は、クロック信号ピン２２０によってシリアルクロックバス１７６に送られ、イネーブルコマンド（ＣＥ＿Ｂ）は、コマンドピン２２２によってコマンドバス１７４に送られる。
【００２３】
図５において、パラレルビット数が２のとき、インタフェースエンコーダ２０６は出力データを２組のサブデータに分割する。例えば、図５について説明すると、２組のサブデータの各組は、４ビットのサブコマンドデータ（例えば、バスＤＱ０のＣＭＤ６、ＣＭＤ４、ＣＭＤ２、ＣＭＤ０）と、１２ビットのサブアドレスデータ（例えば、バスＤＱ０のＡＤＲ２２、ＡＤＲ２０、ＡＤＲ１８、…、ＡＤＲ０）と、それぞれが４ビットのサブデータ（例えば、バスＤＱ０のＤＡ６、ＤＡ４、ＤＡ２、ＤＡ０）からなるｎ＋１個のデータブロックと、からなる。２つの入出力データピン２２４および２２６は、それぞれ、２組のサブデータを転送するために使われ、その間、他の入出力データピンはアイドリング状態に保たれている。その結果、出力データの２ビットすべてがデータ転送中パラレルに転送される。出力データに加えて、さらにデータ転送構成には、図５に示すように、光記憶システム１００の動作と、出力データを送る相手となる周辺装置の動作とを同期させるシリアルクロック信号（ＳＣＫ）と、データ転送を可能にするイネーブルコマンド（ＣＥ＿Ｂ）と、が含まれる。シリアルクロック信号（ＳＣＫ）は、クロック信号ピン２２０によってシリアルクロックバス１７６に送られ、イネーブルコマンド（ＣＥ＿Ｂ）は、コマンドピン２２２によってコマンドバス１７４に送られる。
【００２４】
図６において、パラレルビット数が４のとき、インタフェースエンコーダ２０６は出力データを４組のサブデータに分割する。例えば、図６について説明すると、サブデータの各組は、２ビットのサブコマンドデータ（例えば、バスＤＱ０のＣＭＤ４、ＣＭＤ０）と、６ビットのサブアドレスデータ（例えば、バスＤＱ０のＡＤＲ２０、ＡＤＲ１６、…、ＡＤＲ０）と、それぞれが２ビットのサブデータ（例えば、バスＤＱ０のＤＡ４、ＤＡ０）からなるｎ＋１個のデータブロックと、からなる。４つの入出力データピン２２４、２２６、２２８、および２３０は、それぞれ、４組のサブデータを出力するために使われ、その間、他の入出力データピンはアイドリング状態に保たれている。その結果、出力データの４ビットすべてがデータ転送中パラレルに転送される。出力データに加えて、さらにデータ転送構成には、図６に示すように、光記憶システム１００の動作と、出力データを送る相手となる周辺装置の動作とを同期させるシリアルクロック信号（ＳＣＫ）と、データ転送を可能にするイネーブルコマンド（ＣＥ＿Ｂ）と、が含まれる。シリアルクロック信号（ＳＣＫ）は、クロック信号ピン２２０によってシリアルクロックバス１７６に送られ、イネーブルコマンド（ＣＥ＿Ｂ）は、コマンドピン２２２によってコマンドバス１７４に送られる。
【００２５】
図７において、パラレルビット数が８のとき、インタフェースエンコーダ２０６は出力データを８組のサブデータに分割する。例えば、図７について説明すると、サブデータの各組は、１ビットのサブコマンドデータ（例えば、バスＤＱ０のＣＭＤ０）と、３ビットのサブアドレスデータ（例えば、バスＤＱ０のＡＤＲ１６、ＡＤＲ８、ＡＤＲ０）と、それぞれが１ビットのサブデータ（例えば、バスＤＱ０のＤＡ０）からなるｎ＋１個のデータブロックと、からなる。８つの入出力データピン２２４、２２６、２２８、２３０などは、それぞれ、８組のサブデータを出力するために使われる。その結果、出力データの８ビットすべてがデータ転送中パラレルに転送される。出力データに加えて、さらにデータ転送構成には、図７に示すように、光記憶システム１００の動作と、出力データを送る相手となる周辺装置の動作とを同期させるシリアルクロック信号（ＳＣＫ）と、データ転送を可能にするイネーブルコマンド（ＣＥ＿Ｂ）と、が含まれる。シリアルクロック信号（ＳＣＫ）は、クロック信号ピン２２０によってシリアルクロックバス１７６に送られ、イネーブルコマンド（ＣＥ＿Ｂ）は、コマンドピン２２２によってコマンドバス１７４に送られる。
【００２６】
図８Ａは、従来のＳＰＩインタフェース規格と互換性があるデータ転送構成を図解するタイムチャートである。図８Ａは、シリアルクロック信号（ＳＣＫ）およびシリアル出力データの一部だけを図解したものであり、一般的に、図４に関して先に説明されたシリアルクロック信号（ＳＣＫ）およびシリアル出力データ（ＤＱ０）に対応する。図４にあるイネーブルコマンド（ＣＥ＿Ｂ）は、簡略化のために図８Ａでは示していない。従来のＳＰＩインタフェース規格によれば、データブロックの先頭の８ビット、すなわち、データバイト０は、あらかじめゼロと決められており、後続のｎ個のデータブロック、すなわち、データバイト（１〜ｎ）は、送られる実際のデータを表すように定められている。この条件では、光記憶システムが出力データを周辺装置にシリアルに送るとき、周辺装置が実際のデータを受け取る時間は、８クロックサイクルだけ遅れる。この８クロックサイクルの遅延はダミーデータサイクルと呼ばれる。ダミーデータサイクルの目的は、実際のデータを受け取る時間を遅らせることであり、それによって、たとえ光記憶システムの稼働率が高くても、周辺装置が実際のデータを正しく受け取るようにするためである。
【００２７】
図８Ｂは、構成可能なダミーデータサイクルを有する本発明の実施例のデータ転送構成を例示する図である。本実施例では、出力データを送る相手となる周辺装置に基づいて、ダミーデータサイクルを決定することができる。インタフェースエンコーダ２０６は、出力データを生成する間に、アドレス情報（ＡＤＤＲ）およびデータ情報（ＤＡＴＡ）に基づいて、ダミーデータサイクルを決定する。出力データは、出力データの複数のビットがパラレルに転送されるように送受信される。そして、実際のデータ、すなわち、後続のデータブロック、を受け取る際のダミーデータサイクルによる時間遅れは、８クロックサイクルより少なくできる。
【００２８】
例えば、図８Ｂにおいて、パラレルビット数が４のとき、データ転送構成は、４組のサブデータＤＱ０、ＤＱ１、ＤＱ２、およびＤＱ３、ならびに、シリアルクロック信号（ＳＣＫ）を含み、一般的に、図６に関して先に説明された４組のサブデータおよびシリアルクロック信号（ＳＣＫ）に対応する。図６にあるイネーブルコマンド（ＣＥ＿Ｂ）は、簡略化のために図８Ｂでは示していない。図８Ｂに示す実施例では、インタフェースエンコーダ２０６は、４組のサブデータ、すなわち、ＤＱ０、ＤＱ１、ＤＱ２、およびＤＱ３を送る相手となる周辺装置に基づいて、構成可能なダミーデータサイクルを６クロックサイクルであると決定する。決定されたダミーデータサイクルに基づいて、出力データのデータブロックの最初の２４ビット、すなわち、データバイト０〜２を、ゼロであるとあらかじめ決定することによって実行され、パラレルビット数に基づいて、出力データを４組のサブデータに分割する。この条件では、各組のサブデータの最初の６つのデータビット、（例えば、サブデータＤＱ０の中のデータバイト０、データバイト１、データバイト２に対応するＤＡＴＡ４、ＤＡＴＡ０）がゼロであるように設定されるので、実際のデータを表す後続のデータブロックの転送の時間遅れは、ほんの６クロックサイクルである。本実施例のダミーデータサイクルは、４組のサブデータを送る相手となる周辺装置に基づいて決定されるため、周辺装置で実際のデータを受け取る際の時間遅れは、従来のダミーデータサイクルによって与えられる従来の時間遅れより少なくできる。
【００２９】
ダミーデータサイクルの決定後、インタフェースコントローラ１２０は、周辺装置にコマンドを送り、ダミーデータサイクルの時間周期およびデータ転送用に決定されたパラレルビット数を知らせる。このコマンドに呼応して、周辺装置は光記憶システム１００に出力データを返送し、それによって、インタフェースコントローラ１２０が、元の出力データと返送された出力データを比較することによりダミーデータサイクルの時間周期が適切であるかどうかをチェックし、必要に応じて、比較の結果に基づいてダミーデータサイクルの時間周期を再構成できるようにする。
【００３０】
図９は、インタフェースコントローラ９０２およびメモリセルアレイ９０４からなる本発明の実施例のフラッシュメモリ９００を例示する図である。本実施例では、光記憶システム１００は、アドレス情報（ＡＤＤＲ）と、あらかじめ決められたパラレル出力ビット数、すなわち、１、２、４、または８、の中の１つを有するデータ情報（ＤＡＴＡ）と、を含む出力データをフラッシュメモリ９００に転送できる。フラッシュメモリ９００は、多様なパラレルビット数に対応して、光記憶システム１００から出力された出力データを受け取る多様なモードを有する。
【００３１】
インタフェースコントローラ９０２は、シフタ９０６と、多重化回路９０８と、入力バッファ９１０と、インタフェースデコーダ９１２と、からなる。例えば、パラレルビット数が４のとき、すなわち、出力データの４ビットすべてがデータ転送中パラレルに送受信されるとき、データ情報の内、先に受信されて入力バッファ９１０に保存された一部のデータ情報が、受信されたパラレルビット数に基づき、シフタ９０６によって４ビットだけシフトされる。新たに転送された４ビットデータは、先に受信されたデータ部と組み合わされ、その後、組み合わされたデータ部は、多重化回路９０８を介して入力バッファ９１０に保存される。次のクロックサイクルにおいて、次なる４ビットがパラレルに転送され、入力バッファ９１０に保存されたデータ部が検索されて、新たに転送された４ビットデータと組み合わされ、組み合わされたばかりのデータ部となり、その後、入力バッファ９１０に保存される。このように、出力データのすべてのデータビットが転送されると、入力バッファ９１０は、全体の出力データを保存する。そして、入力バッファ９１０は、インタフェースデコーダ９１２に全体の出力データを出力する。インタフェースデコーダ９１２は、全体の出力データを復号化して、復号化された出力データに基づいて、フラッシュ９００の動作を制御する。例えば、復号化されたコマンドデータに基づいて、インタフェースデコーダ９１２は、復号化されたアドレスデータによって割り当てられたメモリセルアレイ９０４の中の特定のメモリセルに、復号化されたデータバイトを書き込むことができ、また、復号化されたアドレスデータによって割り当てられたメモリセルアレイ９０４の中の特定のメモリセルから、特定のデータ、および／または、コマンドを読み出すことができる。
【００３２】
図１０は、ワンタイムプログラムを保存するように構成された、本発明の別の実施例の図９のフラッシュメモリ９００を例示する図である。いくつかの光記憶システムは、ワンタイムプログラム（ＯＴＰ）と呼ばれる光記憶システム１００を動作させる特定のプログラムを保存する特別のメモリデバイスを用いる。ＯＴＰを保存するメモリデバイスは、一度書き込むことができるだけである。ＯＴＰを保存するメモリデバイスは、光記憶システム１００から読み出されたＯＴＰが書き込まれると、メモリデバイスを書き直すことができず、それによってＯＴＰを保存するメモリデバイスにＯＴＰを保持する。本実施例では、フラッシュメモリ９００のメモリセルアレイ９０４は、さらに、ＯＴＰを保存するＯＴＰ部１００２を有する。ＯＴＰ部１００２が光記憶システム１００から出力されたデータによって書き込まれた後に、ＯＴＰ部１００２を書き直すことができないようにインタフェースデコーダ９１２の動作を設定することによって、上で開示された方法を用いてＯＴＰをメモリセルアレイ９０４のＯＴＰ部１００２に書き込むことができ、ＯＴＰ部１００２を書き直すことができなくなる。このように、光記憶システム１００は、ＯＴＰを保存する特別なライトワンスメモリデバイスを使う必要はない。
【００３３】
再び図２について説明する。本実施例の光記憶システム１００のインタフェースコントローラ１２０を、多様なパラレルビット数を有する入力データを受け取るように改造することも可能である。インタフェースコントローラ１２０は、入力データを収集するデータコレクタ２１０と、入力データを保存する入力バッファ２１２と、を有する。例えば、入力データのパラレルビット数が４のとき、すなわち、入力データの４ビットすべてが、データバスＤＱ［０…ｎ］１７２の中の４つを介して光記憶システム１００にパラレルに入力されるとき、データコレクタ２１０は、データ受信中の各クロックサイクル毎に、先に受信された入力データ部を新たに受信された４ビットの入力データと組み合わせる。データコレクタ２１０で全体の入力データを受け取ると、全体の入力データを入力バッファ２１２に移す。その後、ＭＵＸ２１４の制御の下で、全体の入力データは、入力バッファ２１２からＭＣＵ１１８に移され、さらなる処理を行なうことができる。本実施例では、入力データは、光記憶システム１００と結合された、図１のフラッシュメモリ１５０などの周辺装置の１つによって送信される。さらに、入力データは、光記憶システム１００に入力され、入力データの１つまたは複数のビットが、パラレルビット数に基づいてパラレルに転送される。パラレルビット数は、１つの周辺装置から光記憶システム１００へパラレルに転送される入力データのビット数である。
【００３４】
本明細書に開示された本発明の明細事項および実施方法を考慮すれば、本発明の他の実施例は当業者にとって明らかであろう。明細事項および実施例は、模範例としてのみ、みなされるべきものであり、以下のクレームで開示される本発明の本当の範囲および精神を表すものである。
【図面の簡単な説明】
【００３５】
【図１】両者の間にインタフェースを有する本発明の実施例の光記憶システムおよびフラッシュメモリを例示する図である。
【図２】図１のインタフェースコントローラを例示する図である。
【図３】本発明の実施例の図１の光記憶システム、および、データを送受信するコモンインタフェースによって結合された関連周辺装置を例示する図である。
【図４】種々のパラレル出力ビット数の本発明の実施例のデータ転送構成を例示するタイムチャートである。
【図５】種々のパラレル出力ビット数の本発明の実施例のデータ転送構成を例示するタイムチャートである。
【図６】種々のパラレル出力ビット数の本発明の実施例のデータ転送構成を例示するタイムチャートである。
【図７】種々のパラレル出力ビット数の本発明の実施例のデータ転送構成を例示するタイムチャートである。
【図８Ａ】ダミーデータサイクルを有する従来のデータ転送構成を例示するタイムチャートである。
【図８Ｂ】構成可能なダミーデータサイクルを有する本発明の実施例のデータ転送構成を例示する図である。
【図９】インタフェースコントローラおよびフラッシュメモリセルアレイを有する本発明の実施例のフラッシュメモリを例示する図である。
【図１０】ワンタイムプログラムを保存するように構成された図９のフラッシュメモリを例示する図である。
【符号の説明】
【００３６】
１００       光記憶システム
１１０       モータ
１１２       サーボ制御装置
１１４       ディスク
１１６       ピックアップレーザヘッダ
１２０       インタフェースコントローラ
１５０       フラッシュメモリ
１７０       インタフェース
１７２       データバス
１７４       コマンドバス
１７６       シリアルクロックバス
２０２       アドレスデコーダ
２０４       制御レジスタ
２０６       インタフェースエンコーダ
２０８       出力バッファ
２１０       データコレクタ
２１２       入力バッファ
２１４       デバイス
２２０       クロック信号ピン
２２２       コマンドピン
２２４       入出力データピン
３００       インタフェース
３０２       フラッシュメモリデバイス
３０４       デバイス
３０６       コントローラ
３０８       パラレルポートコントローラ
９００       フラッシュメモリ
９０２       インタフェースコントローラ
９０４       メモリセルアレイ
９０６       シフタ
９０８       多重化回路
９１０       入力バッファ
９１２       インタフェースデコーダ
【図１】
2006268814.tif 000003
【図２】
2006268814.tif 000004
【図３】
2006268814.tif 000005
【図４】
2006268814.tif 000006
【図５】
2006268814.tif 000007
【図６】
2006268814.tif 000008
【図７】
2006268814.tif 000009
【図８Ａ】
2006268814.tif 000010
【図８Ｂ】
2006268814.tif 000011
【図９】
2006268814.tif 000012
【図１０】
2006268814.tif 000013