(57)【特許請求の範囲】
【請求項１】
コンピュータシステムのメモリデバイスで実行される方法であって、
前記コンピュータシステムが、メモリボリュームの識別子が存在しない状態になったこと、前記メモリボリュームの識別子が無効になったこと、前記メモリボリュームの識別子が未決定である状態になったこと、または、前記メモリボリュームの識別子が前記コンピュータシステムの前回の電源オン状態から持続していない状態になったことを示す、初期化イベントを検出する段階と、
前記初期化イベントを検出する段階の後に、コマンド情報を受信する段階と、
前記メモリボリュームに識別子が割り当てられる旨を、受信した前記コマンド情報が特定しているか否かを判断する段階と、
前記メモリボリュームに識別子が割り当てられる旨を、前記受信したコマンド情報が特定していると判断する場合、前記メモリボリュームに対応付けるべく識別子の値を格納する段階であって、前記識別子の値は、前記初期化イベントを検出する段階の後で前記メモリデバイスが受信する情報に基づいて決まる段階と、
前記メモリボリュームに識別子が割り当てられる旨を、前記受信したコマンド情報が特定していないと判断する場合、前記メモリボリュームに対応付けるべくデフォルトの識別子の値を格納する段階と
を備え、
前記メモリデバイスは、スイッチ及び複数のセルアレイを含む相変化メモリセルと、前記識別子を決定する設定ロジックとを有する、
方法。
【請求項２】
前記コマンド情報は、前記初期化イベントを検出する段階の後、メモリコントローラから前記メモリデバイスが最も早く受信するコマンドに含まれている請求項１に記載の方法。
【請求項３】
前記メモリデバイスは、集積回路チップ（ＩＣチップ）を含み、
前記メモリボリュームは、前記ＩＣチップのメモリロケーションに対応する請求項１又は２に記載の方法。
【請求項４】
前記コマンド情報に少なくとも部分的に基づいて、メモリボリューム識別子割り当ての受信が別のメモリデバイスに許可されている旨を示す信号を送信する段階をさらに備える請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記初期化イベントは、前記メモリデバイスを含むコンピュータシステムの電力状態の移行を含む請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記デフォルトの識別子の値は、前記メモリボリュームに対応付けられるべく格納され、
前記方法はさらに、
前記コマンド情報に応じて前記メモリボリュームへのアクセスを実行する段階を備える請求項１から５のいずれか一項に記載の方法。
【請求項７】
前記メモリボリュームへのアクセスを実行する段階は、ブート処理命令を取得する請求項６に記載の方法。
【請求項８】
チップ選択信号を受信する段階をさらに備え、
前記メモリボリュームに識別子が割り当てられる旨を、受信した前記コマンド情報が特定しているか否かを判断する段階は、受信した前記チップ選択信号に部分的に基づいて実行される請求項１から７のいずれか一項に記載の方法。
【請求項９】
コンピュータシステムが、メモリボリュームの識別子が存在しない状態になったこと、前記メモリボリュームの識別子が無効になったこと、前記メモリボリュームの識別子が未決定である状態になったこと、または、前記メモリボリュームの識別子が前記コンピュータシステムの前回の電源オン状態から持続していない状態になったことを示す、初期化イベントを検出し、前記メモリボリュームの識別子を決定する設定ロジックと、
前記設定ロジックに結合されているコマンド入力と、
スイッチ及び複数のセルアレイを含む相変化メモリセルと、
を備えるメモリデバイスであって、
前記コマンド入力は、前記初期化イベントが前記設定ロジックによって検出された後にコマンド情報を受信し、
前記設定ロジックはさらに、前記メモリボリュームに前記識別子が割り当てられる旨を、受信した前記コマンド情報が特定しているか否かを判断し、
前記メモリボリュームに識別子が割り当てられる旨を、前記受信したコマンド情報が特定していると判断する場合、前記設定ロジックは、前記メモリボリュームに対応付けるべく識別子の値を格納し、前記識別子の値は、前記設定ロジックが前記初期化イベントを検出した後で前記メモリデバイスが受信する情報に基づいて決まり、
前記メモリボリュームに識別子が割り当てられる旨を、前記受信したコマンド情報が特定していないと判断する場合、前記設定ロジックは、前記メモリボリュームに対応付けるべくデフォルトの識別子の値を格納するメモリデバイス。
【請求項１０】
前記コマンド情報は、前記設定ロジックが前記初期化イベントを検出した後、メモリコントローラから前記メモリデバイスが最も早く受信するコマンドに含まれている請求項９に記載のメモリデバイス。
【請求項１１】
前記メモリデバイスは、集積回路チップ（ＩＣチップ）を含み、
前記メモリボリュームは、前記ＩＣチップのメモリロケーションに対応する請求項９又は１０に記載のメモリデバイス。
【請求項１２】
前記コマンド情報に少なくとも部分的に基づいて、メモリボリューム識別子割り当ての受信が別のメモリデバイスに許可されている旨を示す信号を送信する出力をさらに備える請求項９から１１のいずれか一項に記載のメモリデバイス。
【請求項１３】
前記設定ロジックが前記初期化イベントを検出することは、前記設定ロジックが前記メモリデバイスを含むコンピュータシステムの電力状態の移行を検出することを含む請求項９から１２のいずれか一項に記載のメモリデバイス。
【請求項１４】
コマンドバスと、
前記コマンドバスを介してコマンド情報を供給するメモリコントローラと、
前記コマンドバスを介して前記メモリコントローラに結合されているメモリデバイスと
を備えるシステムであって、
前記メモリデバイスは、
前記システムが、メモリボリュームの識別子が存在しない状態になったこと、前記メモリボリュームの識別子が無効になったこと、前記メモリボリュームの識別子が未決定である状態になったこと、または、前記メモリボリュームの識別子が前記システムの前回の電源オン状態から持続していない状態になったことを示す、初期化イベントを検出し、前記メモリボリュームの識別子を決定する設定ロジックと、
前記設定ロジックに結合されているコマンド入力と、
スイッチ及び複数のセルアレイを含む相変化メモリセルと、
を有し、
前記コマンド入力は、前記設定ロジックが前記初期化イベントを検出した後に前記コマンド情報を受信し、
前記設定ロジックはさらに、前記メモリボリュームに識別子が割り当てられる旨を、受信した前記コマンド情報が特定しているか否かを判断し、
前記メモリボリュームに識別子が割り当てられる旨を、前記受信したコマンド情報が特定していると判断する場合、前記設定ロジックは、前記メモリボリュームに対応付けるべく識別子の値を格納し、
前記識別子の値は、前記設定ロジックが前記初期化イベントを検出した後で前記メモリデバイスが受信する情報に基づいて決まり、
前記メモリボリュームに識別子が割り当てられる旨を、前記受信したコマンド情報が特定していないと判断する場合、前記設定ロジックは、前記メモリボリュームに対応付けるべくデフォルトの識別子の値を格納する
システム。
【請求項１５】
前記コマンド情報は、前記設定ロジックが前記初期化イベントを検出した後、メモリコントローラから前記メモリデバイスが最も早く受信するコマンドに含まれている請求項１４に記載のシステム。
【請求項１６】
前記メモリデバイスは、集積回路チップ（ＩＣチップ）を含み、
前記メモリボリュームは、前記ＩＣチップのメモリロケーションに対応する請求項１４又は１５に記載のシステム。
【請求項１７】
前記メモリデバイスは、前記コマンド情報に少なくとも部分的に基づいて、メモリボリューム識別子割り当ての受信が別のメモリデバイスに許可されている旨を示す信号を送信する出力をさらに備える請求項１４から１６のいずれか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は概して、メモリデバイスの動作に関する。特定の実施形態は特に、メモリのボリュームに対する識別子を決定する方法に関する。
【背景技術】
【０００２】
コンピュータシステムアーキテクチャでは通常、メモリの複数のボリュームが、例えば、メモリコントローラに結合されている１以上の信号線を共有する。例えば、通常のメモリシステムは、メモリコントローラと、当該メモリコントローラに結合されている複数のメモリデバイスのそれぞれとの間でやり取りを行うための１以上のバス、例えば、アドレスバス、データバス、および／または、コマンドバスを含む。
【０００３】
このようなメモリシステムは、メモリの複数のボリュームをそれぞれ区別するメカニズム、例えば、一の特定の信号のやり取りが、他のメモリボリュームへのアクセスではなく、一のメモリボリュームへのアクセスに関するように区別するメカニズムを持つ。例えば、このようなメモリデバイスのチップ選択（またはチップイネーブル）入力は、このように区別するべく、メモリコントローラによってさまざまな方法で指定されるとしてよい。
【０００４】
一部の従来のメモリシステムでは、メモリコントローラは、それぞれのメモリボリュームに対して異なるボリュームアドレスを割り当てる。そして、メモリコントローラは、通信に含めて、または、通信と共に、例えば、当該通信に対処する（または当該通信を無視する）メモリデバイスがどれであるかを示すべく、１以上のボリュームアドレスを送信するとしてよい。現在の技術では、このようなボリュームアドレスの割り当ては、コンピュータシステムの設定の一環として、例えば、システムブートアップ中またはシステムブートアップに応じて実行される。
【０００５】
このようなコンピュータシステムにおいて動作するように、メモリデバイスは、例えばメモリコントローラからメモリデバイスに送信されるメモリボリューム識別子の割り当てが実行されるまで待機する設定ステージを実施するように設計されている。しかし、このような設定ステージによると、このようなメモリデバイスは、少なくとも「瞬時オン」のプラットフォーム、および／または、プラットフォーム動作がメモリ機能に関して時間制約を持つ他のアプリケーションでの利用に関して制限される。
【図面の簡単な説明】
【０００６】
本発明のさまざまな実施形態は、本発明を限定するためではなく一例として、添付図面において図示されている。添付図面は以下の通りである。
【図１】実施形態に係る、メモリボリューム識別子を決定するコンピュータシステムの構成要素を示すブロック図である。
【図２】実施形態に係る、メモリデバイスの構成要素を示すブロック図である。
【図３】実施形態に係る、メモリボリューム識別子を決定するコンピュータシステムの構成要素を示すブロック図である。
【図４】実施形態に係る、メモリボリューム識別子を決定するコンピュータシステムの構成要素を示すブロック図である。
【図５】実施形態に係る、メモリボリューム識別子を決定する方法の構成要素を示すフローチャートである。
【図６】実施形態に係る、ソリッドステートドライブの構成要素を示すブロック図である。
【発明を実施するための形態】
【０００７】
本明細書で説明する実施形態は、メモリデバイスに対応付けられているメモリボリュームの識別子を決定する方法およびメカニズムを提供する。ある実施形態によると、メモリデバイスは、コンピュータシステムにおける処理のためのロジックを備えるとしてよい。例えば、当該メモリデバイスは、１以上のコマンドバス信号線によってメモリコントローラに結合されている。このようなメモリデバイスは、コンピュータシステムの特定の状態に対応する初期化イベントを検出するロジックを含むとしてよい。コンピュータシステムの状態は、ある実施形態によると、メモリのボリュームに対して識別子を割り当てる必要性に対応付けられているとしてよい。
【０００８】
このような初期化イベントを検出した後、メモリデバイスは、例えば、コンピュータシステムのメモリコントローラからコマンド情報を受信するとしてよい。メモリデバイスは、受信したコマンド情報がメモリの一のボリュームに識別子が割り当てられると特定しているか否かを判断するロジックを含むとしてよい。受信したコマンド情報がメモリのボリュームには識別子が割り当てられると特定していると判断される場合、メモリデバイスは、メモリの当該ボリュームと対応付けるために識別子の値を格納するとしてよい。この識別子の値は、初期化イベントを検出した後にメモリデバイスが受信する情報に基づいて決まる。逆に、受信したコマンド情報がメモリのボリュームに識別子が割り当てられると特定していないと判断される場合、メモリデバイスは、メモリの当該ボリュームと対応付けるべく、デフォルトの識別子の値を格納するとしてよい。
【０００９】
このようなデフォルトの識別子の値の格納は、例えば、初期化イベントの後に受信したコマンド情報に応じて行われるが、実際のデフォルトの識別子の値は、特定の実施形態では、初期化イベントを検出した後にメモリデバイスが受信する情報とは無関係であるとしてよい。
【００１０】
初期化イベントを検出した後に受信する識別子の値、または、デフォルトの識別子の値を格納するためのさまざまな技術を提供することによって、特定の実施形態では、メモリデバイスをさまざまな利用事例に、および／または、さまざまなコンピュータアーキテクチャに適用することができる。
【００１１】
図１は、ある実施形態に係る、メモリボリュームの識別子を決定するコンピュータシステム１００の選択構成要素を示す図である。コンピュータシステム１００は、例えば、デスクトップコンピュータ、ラップトップコンピュータ、手持ち式またはその他の携帯可能型のコンピュータ、例えば、タブレット、携帯情報端末（ＰＤＡ）、スマートフォン、メッセージングデバイス、デジタル音楽プレーヤ、デジタルカメラ、または、情報を処理、格納、送信および／または受信可能なその他の同様のシステムを備えるとしてよい。
【００１２】
コンピュータシステム１００は、メモリコントローラ１２０と、インターコネクト１１０を介してメモリコントローラ１２０に結合されているメモリ１３０とを備えるとしてよい。ある実施形態によると、メモリコントローラ１２０は、例えば、メモリ１３０との間でのデータのやり取りを制御する制御ロジックを有するとしてよい。例えば、メモリコントローラハブ（ＭＣＨ）の制御ロジックを有するとしてよい。
【００１３】
メモリ１３０は、１以上のデバイス、例えば、データの読み書きが可能なセルアレイを含む不揮発性メモリデバイス等のさまざまな組み合わせを含むとしてよい。一実施形態によると、メモリ１３０は、相変化メモリ（例えば、ＰＣＭ、ＰＣＭＳ（相変化メモリおよびスイッチ）またはＭＬＣ  ＰＣＭ（マルチレベルセルＰＣＭ））のセル等の、不揮発性メモリセル（不図示）であるデバイス、または、当該不揮発性メモリセルを含むデバイスである。
【００１４】
基本的な相変化メモリ（ＰＣＭ）セルは、カルコゲニドガラス素子、例えば、ゲルマニウム−アンチモン−テルル（ＧｅＳｂＴｅ）の合金またはＧＳＴを含む。従来のＰＣＭデバイスと同様に、メモリ１３０は、ある実施形態によると、ＰＣＭセルのそれぞれのカルコゲニドガラス素子を結晶状態およびアモルファス状態のどちらかに切り替えることで、データをＰＣＭセルに格納するとしてよい。
【００１５】
ＰＣＭＳは、スイッチと、多層構造または積層状のＰＣＭセルアレイとを有する。例えば、ＰＣＭセルのクロスポイントアレイに、オボニックしきい値スイッチ（ＯＴＳ）を重ねる。このように、ＰＣＭＳは、ＰＣＭアレイの複数の層を一のダイにおいて積層または重ねることができる。積層型のＰＣＭはさらに、垂直集積化メモリセルとも呼ばれるとしてよい。ＰＣＭのアレイを層状化または積層できることで、メモリ密度を高めつつＰＣＭの性能特性を維持できるスケーラビリティが得られる。相変化フィーチャまたは相変化製品を含む実施形態を本明細書で説明するが、基本的なＰＣＭ、ＰＣＭＳ、ＭＬＣ  ＰＣＭ等のいずれかまたは全てにも適用を拡大するとしてよい。
【００１６】
相変化メモリ（ＰＣＭまたはＰＣＭＳ）等を含む技術での革新は、揮発性メモリと同等に近いアクセス速度、例えば、リード速度のストレージを実現することを目的とする。ＰＣＭＳ等の新たな相変化技術の利点は、不揮発性ストレージおよび一部の揮発性メモリ（例えば、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）の変形）のどちらの代わりとしても利用可能である点である。ＰＣＭＳを利用することで、メモリおよび／またはストレージの利用に関する前提条件、例えば、速度およびアクセスメカニズムに関する仮定条件の多くが変わるであろう。
【００１７】
相変化技術におけるＰＣＭＳおよび他の近年の革新は、コンピュータシステムアーキテクチャを幾つかの点において変化させることができる。例えば、ＰＣＭＳデバイスの１以上のバンクは、回転式プラッタ技術の代わりにハードドライブとして利用することができ、または、不揮発性ストレージのためにＮＡＮＤ技術を利用する代わりにソリッドステートドライブ（ＳＳＤ）として利用することができる。スマートフォンまたはタブレットデバイス等のモバイルデバイスでは、ＰＣＭＳデバイスは、既存のメモリバスに設けることができ、メモリコントローラのみを本明細書に記載するようなコントローラに変更する。本明細書で説明するように、スマートフォンまたはタブレットの例として用いられるようなコントローラは、メモリ機能およびストレージアクセス機能の一方または両方を実現するようにコントローラが設定（例えば、プログラミング）され得る。このように、一実施形態によると、ＰＣＭＳは、コントローラロジックを変更して、ＲＡＭの代わりにＰＣＭＳデバイスをプラットフォームへ集積化させることで、既存のモバイルプラットフォームで利用することができる。したがって、特定の実施形態によると、メモリ１３０は、例えば、メモリコントローラ１２０と共に、コンピュータシステム１００のソリッドステートドライブ（ＳＳＤ）として動作するとしてよい。
【００１８】
このように、ＰＣＭＳには、揮発性メモリが既に利用された不揮発性ストレージを持つという利点がある。システムでははるかに多くの量のメモリを利用することができ、システム用のストレージおよびメモリの両方として機能し得る。不揮発性ストレージアクセスのレイテンシは、従来の揮発性メモリと同等（例えば、ＰＣＭＳの場合、約１０ｍｓから数十ナノ秒）まで大幅に小さくなるさらに、不揮発性ストレージアクセスに関連付けられる利用電力は、揮発性メモリで現在実施しているように、メモリをリフレッシュすることなく、大幅に低減される。どちらの要因も、ＰＣＭＳ等の相変化技術を実現しているデバイスの省電力化に貢献する。
【００１９】
特定の実施形態は、メモリデバイスで利用される不揮発性格納媒体の種類について限定されない。例えば、メモリ１３０は、これに代えて、または、これに加えて、データを格納するべく１以上のナノワイヤベースの電荷トラップセルを含むとしてよい。このようなセルは、例えば、自己整合型のシリコンナノワイヤをインサイチュで、例えば、ＳＯＮＯＳ（半導体−酸化物−窒化物−酸化物−半導体）層状構造上に成長させることで製造されるとしてよい。このようなセルは、例えば、約２０ナノメートルの直径のシリコンナノワイヤの周囲を、電荷を蓄積する誘電体材料の薄層で取り囲んでいるとしてよい。ナノワイヤを利用する不揮発性ストレージを実現する方法は、さまざまなものが登場し始めている。
【００２０】
インターコネクト１１０は、メモリコントローラ１２０とメモリ１３０とを互いにさまざまな方法で結合するべく、および／または、コンピュータシステム１００の他の構成要素を互いにさまざまな方法で結合するべく、１以上のバス、制御線、電源面、電圧配線、ビア等のさまざまな組み合わせのいずれかを含むとしてよい。本発明を限定するのではなく例示を目的として、コンピュータシステム１００は、互いに、および／または、メモリコントローラ１２０およびメモリ１３０の一方または両方との間で情報をさまざまな方法でやり取りするべく、インターコネクト１１０の１以上のそれぞれのチャネルを介してさまざまな方法で結合される処理部１４０、Ｉ／Ｏデバイス１５０（例えば、キーボード、ディスプレイ等）および／またはネットワークインターフェース１７０を備えるとしてよい。
【００２１】
処理部１４０は、例えば、１以上のプロセッサコア、例えば、１以上のマイクロプロセッサ、デジタルシグナルプロセッサ、マイクロコントローラ等を含むとしてよい。Ｉ／Ｏデバイス１５０は、ユーザとの間でデータの送受信を行うべく、例えば、メモリ１３０との間で当該データをやり取りするべく、利用されるとしてよい。ネットワークインターフェース１７０は、例えば、コンピュータシステム１００と、コンピュータシステム１００に結合されているネットワーク（不図示）との間の通信について、１以上の有線チャネルおよび／または無線チャネルを操作する回路ロジックのさまざまな組み合わせのいずれかを含むとしてよい。本発明を制限するのではなく例示を目的として、ネットワークインターフェース１７０は、ネットワークインターフェースカード（ＮＩＣ）、アンテナ、または、ダイポールアンテナ等の無線送受信機の１以上を含むとしてよい。しかし、本発明の範囲はこれに限定されない。ある実施形態によると、コンピュータシステム１００の電池１６０は、１以上の構成要素にさまざまな方法で電力を供給するべく結合されるとしてよい。
【００２２】
メモリコントローラ１２０およびメモリ１３０に結合されているコンピュータシステム１００の構成要素、および、コンピュータシステム１００の構成要素の相対的な設定は一例に過ぎないことに留意されたい。コンピューティング分野の当業者であれば、本明細書の記載内容から、構成要素のさまざまな追加または異なる組み合わせのいずれか、および／または、構成要素のさまざまな追加または異なる設定のいずれかを利用してコンピュータシステムにおいてさまざまな実施形態を実施し得ることに想到するであろう。例えば、コンピュータシステム１００の１以上の構成要素は、特定の実施形態によると、一の集積回路（ＩＣ）チップおよび／または複数のＩＣチップを含むパッケージに組み込まれるとしてよい。
【００２３】
ある実施形態によると、メモリデバイス１３０は、固有の識別子に対応付けられる、メモリのボリュームを含む。本明細書で用いる場合、「メモリのボリューム」（または「メモリボリューム」または単に「ボリューム」）は、１以上のアドレス指定可能なメモリロケーションから構成されるメモリロケーション群を意味する。メモリボリュームは、例えば、メモリ１３０における全てのアドレス指定可能なメモリロケーションを含むとしてよい。これに代えて、メモリボリュームは、メモリ１３０における一部のアドレス指定可能なメモリロケーションのみを含むとしてよい。本発明を限定するのではなく例示を目的として、メモリボリュームは、メモリ１３０の一のＩＣチップに含まれるアドレス指定可能なメモリロケーションのみを含むとしてよい。例えば、全てのメモリセルまたはその一部を含むとしてよい。特定の実施形態によると、メモリボリュームは、メモリ１３０のマルチチップメモリパッケージにおいて一部のＩＣチップに含まれるアドレス指定可能なメモリロケーションのみを含むとしてよい。
【００２４】
ある実施形態によると、メモリボリュームの識別子（または、単に「メモリボリューム識別子」）は、当該メモリボリューム内のメモリロケーションのアドレスとは別であり、例えば、アドレスに加えて生成される。メモリボリューム識別子は、メモリ１３０に対して、例えば、アドレス情報が他のメモリボリュームにおけるロケーションをアドレス指定するのではなく、特定のメモリボリュームにおけるロケーションを他のアドレス情報がアドレス指定すると特定するとしてよい。したがって、メモリボリューム識別子は、特定の実施形態によると、ボリュームアドレスを含むとしてよい。
【００２５】
ある実施形態によると、メモリ１３０は、複数のメモリボリュームを含む。各メモリボリュームは、対応するボリューム固有識別子に対応付けられる。ある実施形態によると、メモリ１３０の２つのメモリボリュームは、メモリコントローラ１２０との通信について１以上の信号線を共有する。メモリ１３０は、１以上の共有されている信号線の信号が複数のメモリボリュームのうち特定の１つのボリュームに関連するか否かを識別するべく、メモリボリューム識別子を決定するロジックを備えるとしてよい。本発明を限定するのではなく一例として、メモリ１３０は、初期化イベントを示す何らかの指標の後に、メモリコントローラ１２０が供給する信号に基づきメモリボリューム識別子を決定するロジックを備えるとしてよい。例えば、初期化イベントは、メモリボリューム識別子を割り当てる必要性、または、決定する必要性に対応付けられている。
【００２６】
図２は、実施形態に係る、メモリボリューム識別子を決定するメモリデバイス２００の選択構成要素を示す図である。メモリデバイス２００は、例えば、コンピュータシステム１００のフィーチャの一部または全てを含むシステムにおいて動作可能であるとしてよい。本発明を限定するのではなく一例として挙げると、メモリ１３０のようなメモリは、メモリデバイス２００のフィーチャの一部または全てを有するデバイスを備えるとしてよい。特定の実施形態の一部の側面を図示するべく、メモリデバイス２００のフィーチャは、上記のようなコンピュータシステムで動作するものとして本明細書で説明する。
【００２７】
メモリデバイス２００は、コンピュータシステムでやり取りされるデータを格納するメモリセル２８０を有するとしてよい。メモリセル２８０は、例えば、ＰＣＭセルを含むとしてよいが、特定の実施形態はこれに限定されない。ある実施形態によると、メモリデバイス２００は、メモリセル２８０とのデータのやり取りを制御するメモリコントローラに結合されているとしてよい。本発明を限定するのではなく一例として挙げると、メモリデバイス２００は、メモリデバイス２００がメモリコントローラコマンドを受信するためのコマンドバス入力２４０、メモリデバイス２００がアドレス情報をやり取りするためのアドレスバス入出力（Ｉ／Ｏ）２５０、および、メモリデバイス２００がアドレス情報に対応するデータをやり取りするためのデータバスＩ／Ｏ２６０のうち１以上を有するとしてよい。コマンドバス入力２４０、アドレスバスＩ／Ｏ２５０およびデータバスＩ／Ｏ２６０は単に一例にすぎず、特定の実施形態に限定されないことに留意されたい。例えば、コマンドバス入力２４０、アドレスバスＩ／Ｏ２５０、および、データバスＩ／Ｏ２６０の一部または全ては、一のＩ／Ｏに組み合わせるとしてもよい。例えば、一の共通のアドレス／データ／コマンドバスをメモリコントローラに結合するとしてもよい。
【００２８】
メモリセル２８０は、メモリボリュームの一部である１以上のアドレス指定可能ロケーションを含むとしてよい。例えば、メモリボリュームには、メモリボリューム識別子２３０が対応付けられる。メモリデバイス２００は、メモリボリュームにおける１以上のアドレス指定可能ロケーションへのアクセスを実施するインターフェースロジック２７０を含むとしてよい。本発明に限定されることなく一例を挙げると、インターフェースロジック２７０は、リード、ライト、リフレッシュ、および／または、メモリボリュームのロケーションにさまざまな方法でアクセスするその他の同様の動作のうち１以上を実行するとしてよい。
【００２９】
メモリボリュームへのこのようなアクセスは、例えば、コマンド、アドレス、データ、および／または、メモリデバイス２００がメモリコントローラから受信する他の同様の信号のうち１以上に少なくとも部分的に基づいて行われるとしてよい。インターフェースロジック２７０の動作は、こういったコマンド、アドレス、データおよび／または他の信号が、対象であるメモリボリュームにアクセスすることを目的としているか否かに基づいて決まるとしてよい。例えば、メモリボリュームへのアクセスは、インターフェースロジック２７０が当該メモリボリュームを特定する信号を受信することを条件にするとしてよい。このようなアクセスを容易にするべく、インターフェースロジック２７０は、ボリューム識別子２３０を受信するか、または、ボリューム識別子２３０を決定するとしてよい。続いて発行されるメモリボリュームへのアクセスを求める要求は、当該要求をボリューム識別子２３０に対応付けるターゲットボリューム情報等の情報を含むとしてよい。
【００３０】
メモリデバイス２００は、ボリューム識別子２３０を決定する設定ロジック２２０を含むとしてよい。ある実施形態によると、設定ロジック２２０がボリューム識別子２３０を決定する処理は、コンピュータシステムの初期化イベントに応じて、または、初期化イベントの一環として生成される情報２１０をメモリデバイス２００が検出することに応じて行われるとしてよい。初期化イベントは、その結果として、メモリボリュームと識別子の値とを対応付けるための設定（例えば、再設定）をメモリデバイス２００が必要とするというコンピュータシステムの状態に移行させるとしてもよいし、この状態に対応するとしてもよい。
【００３１】
情報２１０は、例えば、供給電圧レベルおよび／または別の電圧特性、しきい値へ移行していること、または、しきい値を超えることを含むとしてよい。これに代えて、または、これに加えて、情報２１０は、メモリデバイス２００への電力供給が中断された後で最初の場合にはアサートされているチップ選択信号を含むとしてよい。ある実施形態によると、専用信号（例えば、ＲＥＳＥＴ信号）は、初期化イベントが発生したこと、または、初期イベントが発生することを特定または指定するとしてよい。ある実施形態によると、インバンドＲＥＳＥＴまたは他のコマンドは、現在有効な識別子または決定済みの識別子を持たないメモリデバイスにブロードキャストされ、初期化イベントが発生したこと、または、初期化イベントが発生することを特定または指定するとしてよい。
【００３２】
初期化イベントは、例えば、コンピュータシステムの電力状態の移行を含むとしてよい。本発明を限定するのではなく一例として挙げると、初期化イベントは、起動、ウェイク状態への移行、または、その他の電力状態イベントを含むとしてよい。初期化イベントでは、例えば、メモリボリュームの識別子は、無効であるか、未決定であるか、または、コンピュータシステムの前回の電源オン状態（例えば、ウェイク状態）から継続していない。
【００３３】
本明細書で説明するように、設定ロジック２２０は、メモリコントローラがメモリデバイス２００に送信したコマンド情報に基づいて、ボリューム識別子２３０を決定するとしてよい。例えば、設定ロジック２２０は、ボリューム識別子２３０を選択的に、メモリデバイス２００に送信された値に、または、メモリデバイス２００内で生成された値に設定するとしてよい。ある実施形態によると、ボリューム識別子２３０の設定を選択的に行うことは、メモリデバイス２００で受信したコマンド情報に基づいて行われるとしてよい。設定ロジック２２０は、例えば、インターフェースロジック２７０を介して、または、コマンドバスインターフェース２４０から直接、このようなコマンド情報を検出するために結合されているとしてよい。
【００３４】
図３は、ある実施形態に係る、メモリボリューム識別子を決定するシステム３００の選択構成要素を示す図である。システム３００は、例えば、コンピュータシステム１００のメモリシステム等のメモリシステムを含むとしてよい。ある実施形態によると、システム３００は、コンピュータハードウェアプラットフォーム内で動作するべく、ソリッドステートドライブデバイスを含むか、または、当該ソリッドステートドライブデバイス内に存在する。
【００３５】
システム３００は、複数のメモリデバイスに結合されているメモリコントローラ３１０を含むとしてよい。複数のメモリデバイスの一例として、メモリデバイス３２０ａ、３２０ｂを示す。ある実施形態によると、メモリコントローラ３１０の機能はメモリコントローラ１２０の機能に、メモリデバイス３２０ａ、３２０ｂの機能はメモリ１３０の機能に対応する。これに加えて、または、これに代えて、メモリデバイス３２０ａ、３２０ｂのうち１以上は、例えば、メモリデバイス２００のフィーチャの一部または全てを含むとしてよい。システム３００の特定のフィーチャはメモリデバイス３２０ａ、３２０ｂに関連付けて本明細書で説明するが、本明細書の内容はメモリコントローラに結合されているさまざまな１以上の追加または別のメモリデバイスのいずれかにも適用されるべく拡張され得ると理解されたい。
【００３６】
ある実施形態によると、システム３００は、メモリコントローラ３１０とのやり取りを実行するべくメモリデバイス３２０ａ、３２０ｂが共有する１以上の信号線を含む。本発明を限定することなく一例として挙げると、システム３００は、１以上のバスを含むとしてよい。例えば、メモリコントローラ３１０と、メモリデバイス３２０ａ、３２０ｂのうち一方または両方との間でアドレス、コマンド、データおよび／または他の信号をさまざまな方法でやり取りするべく、アドレスバス３３０、コマンドバス３４０およびデータバス３５０のうち１以上を含むとしてよい。これに加えて、または、これに代えて、チップ選択線３２５は、メモリコントローラ３１０と、メモリデバイス３２０ａ、３２０ｂの一方または両方との間でチップ選択信号（またはチップイネーブル信号）をさまざまな方法でやり取りするとしてよい。例えば、チップ選択信号は、１以上の他の信号がメモリデバイス３２０ａ、３２０ｂのうち一方または両方における少なくとも一部のロジックで評価されることを、さまざまな方法で少なくとも部分的に示す。アドレスバス３３０、コマンドバス３４０、データバス３５０およびチップ選択線３２５は、特定の実施形態に限定されず、さまざまな実施形態によると、さまざまな１以上の追加または別の信号線のいずれかが、メモリデバイス３２０ａ、３２０ｂによって共有され得ると理解されたい。
【００３７】
ある実施形態によると、メモリデバイス３２０ａ、３２０ｂは、１以上のメモリボリュームを含むとしてよい。メモリコントローラ３１０からの所与の信号が、例えば、他のメモリボリュームへのアクセスを実行するためでなく、特定のメモリボリュームへのアクセスを実施するための信号であるか否かを区別するべく、メモリデバイス３２０ａ、３２０ｂの一方または両方は、１以上のメモリボリューム識別子を決定するロジックを含むとしてよい。
【００３８】
本発明を限定するのではなく一例として挙げると、メモリデバイス３２０ａは、初期化イベントの情報に応じて、メモリボリューム識別子を決定するとしてよい。ある実施形態によると、メモリデバイス３２０ａは、メモリデバイス３２０ａが初期化イベントの情報を検出した後、例えば、コマンドバス３４０を介して、メモリデバイス３２０ａに供給されるコマンド情報に基づいてメモリボリューム識別子を決定するとしてよい。
【００３９】
ある実施形態によると、システム３００のボリューム識別子は、メモリデバイス３２０、３２０ｂを含む複数のデバイスから成るデイジーチェーン構成に沿って順番に決定されるとしてよい。例えば、デイジーチェーン構成に含まれる一連のデバイスは、ボリューム識別子割り当ての受信が許可されている第１のデバイスを含むとしてよい。第１のデバイスは、一連のデバイスのうち第２のデバイスはボリューム識別子割り当てを受信しない旨を示す信号を送信するとしてよい。第２のデバイスは、次のデバイスに対して、ボリューム識別子割り当てを受信しない旨を伝達するとしてよく、この繰り返しとなる。第１のデバイスがボリューム識別子割り当てを受信した後、一連のデバイスのうち第２のデバイスには、ボリューム識別子割り当ての受信が許可されている旨が、第１のデバイスから伝えられるとしてよい。第２のデバイスは、ボリューム識別子割り当てを受信した後、ボリューム識別子割り当ての受信が許可されている旨を任意の次のデバイスに伝えるとしてよく、この繰り返しとなる。
【００４０】
本発明を限定することなく一例として挙げると、メモリデバイス３２０ａ、３２０ｂを含む複数のデバイスはそれぞれ、デイジーチェーンの複数のデバイスに互いにさまざまな方法で接合されている対応する信号入力（Ｓｉｎ）ピンおよび信号出力（Ｓｏｕｔ）ピン（ピンに代えて、パッド、ボール等でもよい）を含むとしてよい。複数のデバイスが全てイネーブルされている旨をチップ選択線３２５が示す場合、例えば、少なくとも一部の理由として、メモリデバイス３２０ａはＳｉｎ入力に供給される信号によってボリューム識別子割り当てを受信しないように設定されていないので、メモリデバイス３２０ａは、メモリコントローラ３１０からボリューム識別子割り当てを受け取る準備があるとしてよい。メモリデバイス３２０ａは、ボリューム識別子割り当てを受け取ることは許可されていても実際に受け取る前は、自身のＳｏｕｔ出力からメモリデバイス３２０ｂのＳｉｎ入力へと、メモリデバイス３２０ｂがボリューム識別子割り当てを受け取らないように阻止する信号を送信するとしてよい。これに代えて、メモリデバイス３２０ｂはさらに、自身のＳｏｕｔ出力から、任意の次のダウンストリームデバイス（不図示）がボリューム識別子割り当てを受け取らないように信号を送信するとしてよく、以下同様である。
【００４１】
メモリデバイス３２０ａは、ボリューム識別子を決定することに応じて、自身のＳｏｕｔを介して、メモリデバイス３２０ｂがボリューム識別子割り当ての受信を許可されている旨を伝達するとしてよい。メモリデバイス３２０ｂは、続いてボリューム識別子割り当てを受け取って、自身のＳｏｕｔを介して、次のデバイスがボリューム識別子割り当ての受信を許可されている旨を伝えるとしてよく、以下同様である。ある実施形態によると、Ｓｉｎ信号およびＳｏｕｔ信号は、例えば、「オープンＮＡＮＤフラッシュインターフェース３．０の仕様（オープンＮＡＮＤフラッシュインターフェースワーキンググループ、２０１１年３月１５日）」に記載のＥＮｏピンおよびＥＮｉピンの機能と同様の機能を実現するとしてよい。
【００４２】
別の実施形態によると、メモリコントローラ３１０は、複数のチップ選択信号を含む一のマルチチップメモリデバイスに結合されているとしてよい。このようなマルチチップメモリデバイスは、マルチチップメモリデバイスの２以上のＩＣメモリチップが共有する一のバスインターフェースを含むとしてよい。
【００４３】
図４は、別の実施形態に係る、メモリボリューム識別子を決定するシステム４００の選択構成要素を示す図である。システム４００は、例えば、コンピュータシステム１００のメモリシステム等のメモリシステムを含むとしてよい。ある実施形態によると、システム４００は、コンピュータハードウェアプラットフォームで動作するべく、ソリッドステートドライブデバイスを含むか、または、ソリッドステートドライブデバイス内に存在する。
【００４４】
システム４００は、１以上のメモリデバイスに結合されているメモリコントローラ４１０を備えるとしてよい。メモリデバイスの例として、メモリデバイス４２０ａ、４２０ｂを図示している。各メモリデバイスは、信号線４２５ａ、４２５ｂ等の専用チップ選択信号線を介して結合されている。ある実施形態によると、メモリコントローラ４１０の機能はメモリコントローラ１２０の機能に対応し、メモリデバイス４２０ａ、４２０ｂの機能はメモリ１３０の機能に対応するこれに加えて、または、これに代えて、メモリデバイス４２０ａ、４２０ｂのうち１以上は、例えば、メモリデバイス２００のフィーチャのうち一部または全てを含むとしてよい。システム４００の所定のフィーチャは本明細書ではメモリデバイス４２０ａ、４２０ｂに関連付けて説明されるが、本明細書の記載内容はメモリコントローラに結合されているさまざまな１以上の追加または別のメモリデバイスのいずれかに適用されるよう拡張され得ると理解されたい。
【００４５】
特定の実施形態はこれに限定されないが、システム４００は、メモリコントローラ４１０とのやり取りを実行するべく複数のメモリデバイスが共有している１以上の信号線を含むとしてよい。本発明を限定することなく一例として挙げると、システム４００は、１以上のバスを含むとしてよい。例えば、メモリコントローラ４１０と、メモリデバイス４２０ａ、４２０ｂのうち一方または両方との間でアドレス、コマンド、データおよび／または他の信号をさまざまな方法でやり取りするべく、アドレスバス４３０、コマンドバス４４０およびデータバス４５０のうち１以上を含むとしてよい。アドレスバス４３０、コマンドバス４４０およびデータバス４５０は、特定の実施形態に限定されず、さまざまな実施形態によると、さまざまな１以上の追加または別の信号線のいずれかが、メモリデバイス４２０ａ、４２０ｂによって共有され得ると理解されたい。
【００４６】
ある実施形態によると、メモリデバイス４２０ａ、４２０ｂは、１以上のメモリボリュームを含むとしてよい。専用チップ選択線４２５ａ、４２５ｂが設けられているので、複数の異なるメモリデバイス４２０ａ、４２０ｂのメモリボリュームへの伝達は、チップ選択信号のみに基づいて区別することができる。例えば、メモリコントローラ４１０は、アドレスバス４３０、コマンドバス４４０およびデータバス４５０の一部または全てに関する情報を提供し、当該情報を受信および評価するべくメモリデバイス４２０ａ、４２０ｂのうち１つのみを選択的にイネーブルするとしてよい。このような実施形態では、メモリコントローラは、メモリデバイス４２０ａ、４２０ｂに対してメモリボリュームの識別子を提供する必要はない。チップ選択のみで、一のメモリボリュームへのアクセスに関する通信と、別のメモリボリュームへのアクセスに関する通信とを区別することができる。
【００４７】
複数の異なるプラットフォームで利用できるように、特定の実施形態は、システム３００またはシステム４００で動作可能であるメモリデバイスを含む。本発明を限定するのではなく一例として挙げると、メモリデバイス４２０ａは、メモリデバイス４２０ａ内のロケーションを含むメモリボリュームに対応付けられる識別子を送信するメモリコントローラ４１０が無くても動作するようメモリデバイス４２０ａ自身を設定するロジックを含むとしてよい。
【００４８】
図５は、ある実施形態に係る、メモリのボリュームの識別子を決定する方法５００の選択構成要素を示す図である。方法５００は、例えば、システム１００のフィーチャの一部または全てを備えるシステムにおいてメモリボリュームの識別子を決定するべく実行されるとしてよい。ある実施形態によると、方法５００は、例えば、設定ロジック２２０等のロジックによってメモリデバイスで実行される。
【００４９】
方法５００は、５１０において、コンピュータシステムのメモリデバイスがコンピュータシステムの初期化イベントを検出することを含むとしてよい。初期化イベントは、例えば、メモリデバイスのメモリボリュームの識別子が利用不可能であるコンピュータシステムの状態に対応付けられているとしてよい。本発明を限定することなく一例として挙げると、メモリデバイスは、コンピュータシステムがメモリボリュームの識別子が存在しない状態になった、メモリボリュームの識別子が無効である状態になった、メモリボリュームの識別子が未決定である状態になった、メモリボリュームの識別子がコンピュータシステムの前回の電源オン状態（例えば、ウェイク状態）から持続していない状態になった等の旨を示す１以上の信号を受信するとしてよい。初期化イベントの情報は、例えば、コンピュータシステムの供給電圧がしきい値を超えること、メモリデバイスへの電力供給が中断された後チップ選択線が最初にアサートされること等のうち１以上を含むとしてよい。さまざまな実施形態によると、さまざまな追加または別の初期化イベントの情報のいずれかが５１０で検出され得ると理解されたい。
【００５０】
初期化を検出することに基づき、方法５００は、５２０において、メモリデバイスにおいてコマンドが受信されているかどうかの検出処理を開始するとしてよい。本発明を限定することなく一例として挙げると、方法５００は、例えば、メモリデバイスを制御するべく結合されているメモリコントローラから１以上のコマンド信号が受信されているか否かを時折ポーリングするループを開始するとしてよい。ある実施形態によると、５２０においてポーリングの対象となるコマンドは、メモリデバイスが初期化イベントを検出したのでメモリコントローラからメモリデバイスに供給されるべき第１のコマンドである。方法５００には図示されていないが、一以上の条件のさまざまな組み合わせのいずれかがこのような判断ステップを開始および／または継続するための前提と理解されたい。例えば、判断ステップの実行は、チップ選択線がメモリコントローラによってアサートされていることを条件にするとしてよい。これに代えて、または、これに加えて、この判断ステップの実行は、例えば、メモリデバイスのＳｉｎ入力を介して、メモリデバイスが別のメモリデバイスからこのような判断ステップを阻止する何らかの信号を受信しないことを条件にするとしてよい。これに代えて、または、これに加えて、一以上のタイムアウト、ループカウント限界値、エラー対処メカニズム等は、５２０においてコマンド受信の検出を継続するか否か、および／または、どのように継続するかを特徴付けるとしてよい。
【００５１】
５２０においてコマンドを検出することに基づき、方法５００は、５３０において、メモリボリュームへの識別子の割り当てをコマンドが特定しているか否かを判断するとしてよい。このコマンドは、例えば、メモリコントローラが、メモリデバイスに、メモリボリュームに対応付けられるべき識別子の値を送信することに対応付けられているとしてよい。このコマンドは、例えば、外部から供給される識別子の値とメモリボリュームとを対応付ける設定を実行するよう、メモリデバイスに指示するとしてよい。例えば、この指示は、ＯＮＦＩ３．０仕様のＳｅｔ  Ｆｅａｔｕｒｅコマンドと同様に行われるとしてよい。
【００５２】
これに代えて、コマンドは、識別子のメモリボリュームへの割り当てとは無関係の処理のみを特定しているとしてもよい。本発明を限定することなく一例として挙げると、このようなコマンドは、リード、ライト、消去、リフレッシュ、または、メモリボリューム識別子の割り当てを本質的に含んでいないその他の同様の処理を特定しているとしてよい。例えば、このようなコマンドは、メモリボリュームの識別子以外のメモリデバイスの１以上のフィーチャのみを設定するとしてよい。
【００５３】
コマンドがメモリボリューム識別子の割り当てを特定していると判断される場合、方法５００は、５４０において、メモリボリュームと、メモリデバイスの外部のエージェント、例えば、メモリコントローラから供給された識別子の値とを対応付けるとしてよい。例えば、このような識別子の値は、５２０で評価されたコマンドに含まれているとしてもよいし、当該コマンドに対応付けられているとしてもよい。ある実施形態によると、メモリボリュームと識別子の値とを対応付ける処理は、一のメモリボリュームへのアクセスを他のメモリボリュームへのアクセスとを区別する際に参照するべく後にアクセスできるよう、メモリデバイスが当該値を１以上のレジスタに格納する処理を含むとしてよい。５４０におけるメモリボリュームと識別子の値とを対応付ける処理は、例えば、メモリデバイスを、少なくとも部分的に、システム３００等のメモリシステムにおいて動作するように設定するとしてよい。
【００５４】
コマンドはメモリボリューム識別子の割り当てを特定していないと判断される場合、方法５００は、５５０において、メモリボリュームと、例えば、５１０で初期化イベントを検出する前にメモリデバイスが持つデフォルト値（例えば、０×０）とを対応付けるとしてよい。ある実施形態によると、メモリボリュームと識別子の値とを対応付ける処理は、一のメモリボリュームへのアクセスを他のメモリボリュームへのアクセスとを区別する際に参照するべく後にアクセスできるよう、メモリデバイスが当該値を１以上のレジスタに格納する処理を含むとしてよい。デフォルト値は、例えば、既に決定され、合意された独自のデフォルトおよび／または産業基準に基づいたデフォルトを含むとしてよい。デフォルトの識別子の値とメモリボリュームとを対応付ける処理は受信したコマンドの評価に基づいて行われるが、デフォルト値自体は、ある実施形態によると、コマンドに含まれるどの情報とも無関係であるとしてよい。例えば、デフォルト値は、メモリデバイスで利用可能であるとしてもよいし、または、５２０でコマンドが評価される前に、メモリデバイス内で生成可能であるとしてもよい。５５０においてメモリボリュームとデフォルトの識別子の値とを対応付ける処理は、例えば、少なくとも部分的に、システム２００等のメモリシステムで動作するようにメモリデバイスを設定するとしてよい。
【００５５】
図６は、ソリッドステートドライブ６００の実施形態を示すブロック図である。ソリッドステートドライブ（「ソリッドステートディスク」とも呼ばれる）は、格納媒体として、ソリッドステートメモリとも呼ばれる半導体メモリを利用する。半導体メモリは、比較するとハードドライブよりも強固であり、振動、ほこり、湿度および突然の速度変化から受ける影響がはるかに小さいという利点を持つ。半導体メモリはさらに、格納容量が同様の場合、通常のハードドライブよりも必要とする電力が少ない傾向にある。
【００５６】
ソリッドステートドライブ６００は、不揮発性メモリ６２０を制御するためのソリッドステートドライブコントローラ６１０を有するとしてよい。ある実施形態によると、ソリッドステートドライブコントローラ６１０は、メモリコントローラ１２０のフィーチャの一部または全てを含む。これに代えて、または、これに加えて、ソリッドステートドライブコントローラ６１０は、メモリコントローラ３１０および／またはメモリコントローラ４１０のフィーチャの一部または全てを含むとしてよい。不揮発性メモリ６２０は、不揮発性メモリセル、例えば、相変化メモリセルのアレイを含むとしてよい。ある実施形態によると、不揮発性メモリ６２０は、メモリ１３０のフィーチャの一部または全てを含む。これに代えて、または、これに加えて、不揮発性メモリ６２０は、例えば、メモリデバイス３２０ａ、３２０ｂの構成にしたがって、または、メモリデバイス４２０ａ、４２０ｂの構成にしたがって、互いに結合されている複数のコンポーネントメモリデバイスを含むとしてよい。ソリッドステートドライブ６００は、ホストインターフェース６０５を介してホストコントローラと通信するとしてよい。ソリッドステートドライブコントローラ６１０は、不揮発性メモリ６２０のリード、ライトおよび消去を制御するとしてよい。
【００５７】
メモリデバイスを動作させる方法およびアーキテクチャを本明細書で説明している。上記では、説明を目的として、特定の実施形態について十分に説明するべく、具体的且つ詳細な内容を数多く記載した。しかし、上記の具体的且つ詳細な内容を利用することなく特定の実施形態を実施し得ることは当業者には明らかであろう。また、構造およびデバイスは、説明が曖昧にならないように、ブロック図の形式で図示している。
【００５８】
本明細書で「一実施形態」または「実施形態」という場合、当該実施形態に関連付けて説明する特定のフィーチャ、構造または特性が本発明の少なくとも一の実施形態に含まれていることを意味する。「一実施形態において」という表現は本明細書において何度も登場するが、必ずしも全てが同じ実施形態を意味するものではない。
【００５９】
本明細書の詳細な説明の一部では、コンピュータメモリ内のデータビットに対する演算を表す記号およびアルゴリズムを用いた。このようなアルゴリズムによる説明および記載は、コンピューティング分野の当業者が研究内容を同分野の当業者に伝える際に最も効率的な手段である。アルゴリズムは、本明細書において、および、一般的に、所望の結果を導き出すための矛盾しない一連のステップと考えられている。ステップは、物理量を物理的に走査することを必要とする。必須ではないが、通常、このような物理量は、格納、転送、結合、比較および操作が可能な電気信号または磁気信号の形態を取る。場合によっては、主に一般的に利用することを理由として、このような信号をビット、値、エレメント、シンボル、文字、項、数字等と呼ぶことが便利であることが分かっている。
【００６０】
しかし、上記および同様の用語はすべて適切な物理量に対応付けられるものであって、これらの量に適用される便利な名称に過ぎないことを心に留めていただきたい。本明細書から明らかであるが、特に明記していない限り、明細書において、「処理」または「算出」または「計算」または「判断」または「表示」等の用語を用いた説明は、コンピュータシステムのレジスタおよびメモリ内の物理量（電気量）で表現されるデータを操作および変換して、同様にコンピュータシステムのメモリまたはレジスタまたは他の同様の情報ストレージ、送信デバイスまたは表示デバイスにおける物理量として表現される他のデータを生成するコンピュータシステムまたは同様の電子コンピューティングデバイスの動作およびプロセスを意味すると考えられる。
【００６１】
特定の実施形態はさらに、本明細書で説明した処理を実行する装置に関する。当該装置は特に、必要な目的を実現するために構成されているとしてよく、または、コンピュータに格納されているコンピュータプログラムによって選択的にアクティブ化または再構成される汎用コンピュータを含むとしてもよい。このようなコンピュータプログラムは、これらに限定されないが、任意の種類のディスク、例えば、フロッピー（登録商標）ディスク、光ディスク、ＣＤ−ＲＯＭおよび光磁気ディスク、リードオンリーメモリ（ＲＯＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）等のランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カードまたは光カード、または、電子命令を格納するのに適しており、コンピュータシステムバスに結合されている任意の種類の媒体等のコンピュータ可読格納媒体に格納されているとしてよい。
【００６２】
本明細書で説明するアルゴリズムおよびディスプレイは、任意の特定のコンピュータまたは他の装置に本質的に関連しているものではない。本明細書の教示内容に応じたプログラムと共に、さまざまな汎用システムを利用するとしてよい。または、より専門性の高い装置を必要な方法のステップを実行するように構成することが便利な場合もある。こういったさまざまなシステムについて必要な構造は、本明細書の記載内容から明らかである。また、特定の実施形態は任意の特定のプログラミング言語に基づいて説明していない。さまざまなプログラミング言語を用いて本明細書に記載した実施形態の教示内容を実現し得ることに想到するであろう。
【００６３】
本明細書の記載内容以外に、開示した実施形態およびその実施例をその範囲から逸脱することなくさまざまな点で変形し得る。このため、本明細書の説明および例は、限定的ではなく例示を目的としたものと解釈されたい。本発明の範囲は、請求項にのみ基づいて定めるべきである。
【図１】
0005901759.tif 000002
【図２】
0005901759.tif 000003
【図３】
0005901759.tif 000004
【図４】
0005901759.tif 000005
【図５】
0005901759.tif 000006
【図６】
0005901759.tif 000007