(57)【特許請求の範囲】
【請求項１】
メモリデバイスの一つ以上の入力端子においてインデックス値を受信するステップと、
前記メモリデバイスの第一のレジスタに前記インデックス値を格納するステップであって、前記第一のレジスタは第一のクロックドメインに実装され、前記インデックス値は、前記メモリデバイスの第二のレジスタを識別し、前記第二のレジスタは第二のクロックドメインに実装される、ステップと、
前記インデックス値によって識別された前記第二のレジスタにアクセスするためのコマンドである、書き込みレジスタコマンドもしくは読み出しレジスタコマンドのうちの一つを受信するステップと、
前記書き込みレジスタコマンドを受信したとき、前記メモリデバイスに含まれるデータ書き込みレジスタに格納された情報を、前記第二のレジスタに伝送するステップと、
前記読み出しレジスタコマンドを受信したとき、前記第二のレジスタに格納された情報を、前記データ読み出しレジスタに伝送するステップと、
を含む、
ことを特徴とする方法。
【請求項２】
前記第一のクロックドメインは、前記第二のクロックドメインのクロック周波数よりも大きいクロック周波数で動作する、
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記データ書き込みレジスタおよび前記データ読み出しレジスタは、前記第一のクロックドメインに実装される、
ことを特徴とする請求項１に記載の方法。
【請求項４】
前記第一のレジスタはグループ識別フィールドおよびレジスタ識別フィールドへと分割され、前記グループ識別フィールドに格納されたグループ識別値は、前記第二のクロックドメインに実装された一つ以上のグループのレジスタから前記第二のクロックドメインに実装されたグループのレジスタを識別し、前記レジスタ識別フィールドに格納されたレジスタ識別値は、前記識別されたグループのレジスタから前記第二のレジスタを示す、
ことを特徴とする請求項１に記載の方法。
【請求項５】
前記第一のレジスタは、識別フィールドおよびレジスタタイプフィールドに分割されたインデックスレジスタを含み、前記第二のレジスタはセキュリティレジスタを含み、前記インデックス値は、識別値およびレジスタタイプ値へと分割され、前記識別値は前記セキュリティレジスタに対するポインタを含み、前記コマンドを受信する前記ステップは、書き込みセキュリティレジスタコマンドもしくは読み出しセキュリティレジスタコマンドのうちの一つを受信するステップを含む、
ことを特徴とする請求項１に記載の方法。
【請求項６】
少なくとも部分的に、前記書き込みセキュリティレジスタコマンドを受信する前記ステップに応じて、書き込みデータレジスタに格納された情報を前記セキュリティレジスタに対して書き込むステップと、
少なくとも部分的に、前記読み出しセキュリティレジスタコマンドコードを受信する前記ステップに応じて、前記セキュリティレジスタに格納された情報を前記読み出しデータレジスタに対して伝送するステップと、
をさらに含む、
ことを特徴とする請求項５に記載の方法。
【請求項７】
前記セキュリティレジスタは、保護されたメモリブロックレジスタを含む、
ことを特徴とする請求項６に記載の方法。
【請求項８】
前記メモリデバイスは、ダイナミックランダムアクセスメモリデバイス、ＮＡＮＤフラッシュメモリデバイス、ＮＯＲフラッシュメモリデバイスおよび相変化メモリフラッシュメモリデバイスのうちの一つ以上を含む、
ことを特徴とする請求項１に記載の方法。
【請求項９】
インデックス値およびコマンドコードを受信するための一つ以上の入力端子と、
前記インデックス値を格納するための第一のレジスタであって、前記第一のレジスタは第一のクロックドメインに実装され、前記インデックス値は、第二のクロックドメインに実装された第二のレジスタを識別し、前記コマンドコードは、書き込みレジスタコマンドコードもしくは読み出しレジスタコマンドコードのうちの一つを含む、第一のレジスタと、
少なくとも部分的に、前記コマンドコードの受信に応じて、前記インデックス値によって識別された前記第二のレジスタにアクセスするためのコントローラと、
を含み、
前記コントローラは、少なくとも部分的に、前記書き込みレジスタコマンドコードの実行に応じて、前記識別された第二のレジスタに対して、データ書き込みレジスタに格納された情報を伝送し、
前記コントローラは、さらに、少なくとも部分的に、前記読み出しレジスタコマンドコードの実行に応じて、データ読み出しレジスタに対して、前記識別された第二のレジスタに格納された情報を伝送する、
ことを特徴とする装置。
【請求項１０】
前記第一のクロックドメインは、前記第二のクロックドメインのクロック周波数よりも大きいクロック周波数で動作する、
ことを特徴とする請求項９に記載の装置。
【請求項１１】
前記データ書き込みレジスタおよび前記データ読み出しレジスタは、前記第一のクロックドメインに実装される、
ことを特徴とする請求項９に記載の装置。
【請求項１２】
前記第一のレジスタはグループ識別フィールドおよびレジスタ識別フィールドへと分割され、グループ識別値は、前記第二のクロックドメインに実装された一つ以上のグループのレジスタから前記第二のクロックドメインに実装されたグループのレジスタを識別するために、前記グループ識別フィールドに格納され、レジスタ識別値は、前記識別されたグループのレジスタから前記第二のレジスタを示すために前記レジスタ識別フィールドに格納される、
ことを特徴とする請求項９に記載の装置。
【請求項１３】
前記第一のレジスタは、識別フィールドおよびレジスタタイプフィールドに分割されたインデックスレジスタを含み、前記第二のレジスタはセキュリティレジスタを含み、前記インデックス値は、識別値およびレジスタタイプ値へと分割され、前記識別値は前記セキュリティレジスタに対するポインタを含み、前記コマンドコードは、書き込みセキュリティレジスタコマンドコードもしくは読み出しセキュリティレジスタコマンドコードのうちの一つを含む、
ことを特徴とする請求項９に記載の装置。
【請求項１４】
データ書き込みレジスタと、データ読み出しレジスタと、少なくとも部分的に、前記書き込みセキュリティレジスタコマンドコードの実行に応じて、前記データ書き込みレジスタに格納された情報を前記セキュリティレジスタに対して書き込み、少なくとも部分的に、前記読み出しセキュリティレジスタコマンドコードの実行に応じて、前記セキュリティレジスタに格納された情報を前記データ読み出しレジスタに対して伝送するための前記コントローラと、をさらに含む、
ことを特徴とする請求項１３に記載の装置。
【請求項１５】
前記セキュリティレジスタは、保護されたメモリブロックレジスタを含む、
ことを特徴とする請求項１４に記載の装置。
【請求項１６】
ダイナミックランダムアクセスメモリデバイス、ＮＡＮＤフラッシュメモリデバイス、ＮＯＲフラッシュメモリデバイスおよび相変化メモリフラッシュメモリデバイスのうちの一つ以上を含む、
ことを特徴とする請求項９に記載の装置。
【請求項１７】
プロセッサと、
前記プロセッサに結合されたメモリデバイスであって、
前記プロセッサによって伝送されるインデックス値およびコマンドコードを受信するための一つ以上の入力端子と、
前記インデックス値を格納するための第一のレジスタであって、前記第一のレジスタは第一のクロックドメインに実装され、前記インデックス値は第二のクロックドメインに実装された第二のレジスタを識別し、前記コマンドコードは、書き込みレジスタコマンドコードもしくは読み出しレジスタコマンドコードのうちの一つを含む、第一のレジスタと、
少なくとも部分的に、前記受信したコマンドコードに応じて、前記インデックス値によって識別された前記第二のレジスタにアクセスするためのコントローラと、
を含む、メモリデバイスと、
を含み、
前記コントローラは、少なくとも部分的に、前記書き込みレジスタコマンドコードの実行に応じて、前記識別された第二のレジスタに対して、データ書き込みレジスタに格納された情報を伝送し、
前記コントローラは、さらに、少なくとも部分的に、前記読み出しレジスタコマンドコードの実行に応じて、データ読み出しレジスタに対して、前記識別された第二のレジスタに格納された情報を伝送する、
ことを特徴とするシステム。
【請求項１８】
前記第一のクロックドメインは、前記第二のクロックドメインのクロック周波数よりも大きいクロック周波数で動作する、
ことを特徴とする請求項１７に記載のシステム。
【請求項１９】
前記データ書き込みレジスタおよび前記データ読み出しレジスタは、前記第一のクロックドメインに実装される、
ことを特徴とする請求項１７に記載のシステム。
【請求項２０】
前記第一のレジスタはグループ識別フィールドおよびレジスタ識別フィールドへと分割され、グループ識別値は、前記第二のクロックドメインに実装された一つ以上のグループのレジスタから、前記第二のクロックドメインに実装されたグループのレジスタを識別するために、前記グループ識別フィールドに格納され、レジスタ識別値は、前記識別されたグループのレジスタから前記第二のレジスタを示すために前記レジスタ識別フィールドに格納される、
ことを特徴とする請求項１７に記載のシステム。
【請求項２１】
前記第一のレジスタは、識別フィールドおよびレジスタタイプフィールドに分割されたインデックスレジスタを含み、前記第二のレジスタはセキュリティレジスタを含み、前記インデックス値は、識別値およびレジスタタイプ値へと分割され、前記識別値は前記セキュリティレジスタに対するポインタを含み、前記コマンドコードは、書き込みセキュリティレジスタコマンドコードもしくは読み出しセキュリティレジスタコマンドコードのうちの一つを含む、
ことを特徴とする請求項１７に記載のシステム。
【請求項２２】
前記メモリデバイスは、書き込みデータレジスタと、読み出しデータレジスタと、少なくとも部分的に、前記書き込みセキュリティレジスタコマンドコードの実行に応じて、前記書き込みデータレジスタに格納された情報を前記セキュリティレジスタに対して書き込み、少なくとも部分的に、前記読み出しセキュリティレジスタコマンドコードの実行に応じて、前記セキュリティレジスタに格納された情報を前記読み出しデータレジスタに対して伝送するための前記コントローラと、をさらに含む、
ことを特徴とする請求項２１に記載のシステム。
【請求項２３】
前記セキュリティレジスタは、保護されたメモリブロックを含む、
ことを特徴とする請求項２２に記載のシステム。
【請求項２４】
前記メモリデバイスは、ダイナミックランダムアクセスメモリデバイス、ＮＡＮＤフラッシュメモリデバイス、ＮＯＲフラッシュメモリデバイスおよび相変化メモリフラッシュメモリデバイスのうちの一つ以上を含む、
ことを特徴とする請求項１７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１０年４月３０日に出願された、イタリア特許出願整理番号ＭＩ２０１０Ａ０００７６１に対する優先権を主張する。
【背景技術】
【０００２】
＜背景＞
本明細書で開示された発明は、メモリデバイス内に配置されたアクセシングレジスタに関し、より詳細には、メモリデバイスにおけるレジスタに対するインデックスレジスタアクセスに関する可能性がある。
【０００３】
フラッシュメモリデバイスなどの不揮発性メモリデバイスのタイプを含むメモリデバイスは、広範囲の電子デバイスで使用される可能性がある。特に、フラッシュメモリデバイスは、コンピュータ、デジタルカメラ、携帯電話、携帯情報端末などで使用される可能性がある。メモリデバイスは、種々のタイプの情報を格納するための一つ以上のレジスタを含む可能性がある。レジスタは、例えば、メモリデバイスのシリアルもしくはパラレル入力／出力インターフェイスによって共有されたクロックドメインなど、メモリデバイスにおける比較的高速のクロックドメインに実装されてもよい。
【図面の簡単な説明】
【０００４】
本発明は、本明細書の結論部分で詳細に指摘され、明確に主張される。しかしながら、機構もしくは動作方法の双方に関しては、その目的、特性もしくは利点とともに、以下に添付された図面とともに理解された場合、以下の詳細な説明に対する参照によって最もよく理解することができる。
【図１】コンピューティングプラットフォームの例示的な一実施形態を示す概略ブロック図である。
【図２】不揮発性メモリデバイスの例示的な一実施形態を示す概略ブロック図である。
【図３】例示的なメモリデバイスに対するインデックスレジスタアクセスのためのレジスタ構成の例示的な一実施形態を示す概略ブロック図である。
【図４】例示的なメモリデバイスに対するインデックスレジスタアクセスのためのレジスタ構成の例示的な一実施形態を示す概略ブロック図である。
【図５】例示的なメモリデバイスに対するインデックスレジスタアクセスのためのプロセスの例示的な一実施形態を示すフロー図である。
【０００５】
以下の詳細な説明においては、添付の図面に対する参照がなされる。この参照は、この詳細な説明の一部を形成する。図面を通して類似する参照番号は類似する部分を示し、対応する構成要素もしくは類似する構成要素を示す。説明を簡便かつ明瞭にするために、図面に示された構成要素は、必ずしも一定の縮尺で描かれるとは限らないことを理解されたい。例えば、幾つかの構成要素の寸法は、明瞭性のために、他の構成要素と比較して拡大されてもよい。さらには、他の実施形態が使用されてもよいことを理解されたい。さらには、本発明の範囲を逸脱することなく、構造的もしくは論理的な変更がなされてもよい。例えば、上、下、上部、下部などの方向もしくは言及は、図面の説明を容易にするために使用されるものであって、本発明の用途を限定することを意図するものではないこともまた留意されたい。したがって、以下の詳細な説明は、主張される本発明の範囲もしくはその均等物を限定するものとしてとらえられるべきではない。
【発明を実施するための形態】
【０００６】
＜詳細な説明＞
以下の詳細な説明においては、本発明の十分な理解を提供するために、多数の具体的な詳細事項が説明される。しかしながら、本発明はこれらの具体的な詳細事項なしでも実施されてもよいことを当業者には理解されたい。他の事例においては、本発明を曖昧にすることを避けるために、当業者にとって既知であろう方法、装置もしくはシステムは、詳細には説明されない。
【０００７】
上述されたように、フラッシュメモリデバイスなどの不揮発性メモリデバイスタイプを含むメモリデバイスは、広範囲の電子デバイスにおいて使用される可能性がある。メモリタイプの一例を単に指定すると、フラッシュメモリデバイスなどのメモリデバイスは、コンピュータ、デジタルカメラ、携帯電話、携帯情報端末などで使用される可能性がある。メモリデバイスは、種々のタイプの情報を格納するために一つ以上のレジスタを含んでもよい。レジスタは、メモリデバイスにおいて比較的高周波数のクロックドメインに実装されてもよい。例えば、一つ以上のレジスタは、メモリデバイスのシリアルもしくはパラレル入力／出力インターフェイスによって共有されたクロックドメインに実装されてもよい。しかしながら、メモリデバイスにますます多数のレジスタを組み込むためには、比較的高周波数のクロックドメインにレジスタを実装することにおける、設計もしくは製造上の問題が生じる可能性がある。比較的高周波数のクロックドメインに実装されたレジスタに関連する可能性がある少なくとも幾つかの問題を回避するもしくは軽減しながら、メモリデバイスにより多くのレジスタを組み込むために、本発明に従う実施形態は、インデックスレジスタスキームを使用する可能性がある。インデックスレジスタスキームの例示的な実施形態が本明細書では説明される。
【０００８】
比較的高周波数のクロックドメインにレジスタを実装する上での困難を軽減しながら、メモリデバイスにおける任意の多数のレジスタにアクセスするために、一つ以上の実施形態において、インデックスレジスタ技術が使用されてもよい。インデックスレジスタアクセス技術をサポートする例示的なメモリデバイスは、比較的高周波数のクロックドメインに実装された一つ以上のレジスタを使用してもよい。一つ以上の比較的高周波数のクロックドメインレジスタは、比較的低周波数のクロックドメインに実装された一つ以上のさらなるレジスタに対するアクセスを提供してもよい。本明細書で使用されるような、“比較的高周波数の”クロックドメインは、“高速”クロックドメインとして称され、“比較的低周波数の”クロックドメインは、“低速”クロックドメインとして称される可能性がある。第一のクロックドメインのクロック周波数が第二のクロックドメインのクロック周波数よりも大きい場合には、たとえクロック周波数間の差が比較的小さいものであった場合でも、第一のクロックドメインは、“高速”クロックドメインと考えられ、第二のクロックドメインは、“低速”クロックドメインと考えられてもよい。一実施形態においては、高速クロックドメインは約４００ＭＨｚで動作し、低速クロックドメインは約５０ＭＨｚで動作する可能性がある。しかしながら、これらは単なる例示的なクロック周波数であって、本発明はこの点において、その範囲を限定されることはない。インデックスレジスタアクセススキームの一実施形態を実装するメモリデバイスにおいては、高速クロックドメインにおける第一のレジスタに対して、データ信号もしくは情報を表す信号を書き込み、続いて、低速クロックドメインにおける第二のレジスタに対して、第一のレジスタに格納された情報を伝送することが可能である。別の実施形態においては、複数のレジスタは低速クロックドメインに実装され、高速クロックドメインの第一のレジスタは、低速クロックドメインのいかなる複数のレジスタにアクセスするために使用されてもよい。
【０００９】
低速クロックドメインの一つ以上のレジスタにアクセスするために高速クロックドメインの一つ以上のレジスタを使用することで生じうる一利点は、可能性のある広範囲の目的のうちのいずれに対しても使用することができるような、ますます多数のレジスタを実装する場合に、設計の複雑性もしくは製造コストを軽減することである。高速クロックドメインにより多くのレジスタを実装することは、設計上の問題を引き起こすか、または、結果として製造上の困難もしくは製造コストの増大をもたらす可能性がある。設計上もしくは製造上の問題は、高速クロックドメインに比較的少数のレジスタを実装し、低速クロックドメインにより多数のレジスタを実装することによって、少なくとも部分的には、回避されるか、または軽減される可能性がある。高速クロックドメインにより少ないレジスタを実装することによって、性能上の考慮すべき事項は満足され、低速クロックドメインにさらなるレジスタを実装することによって、より多くの数のレジスタが高速クロックドメインに実装された場合に直面するであろう問題を回避するもしくは軽減しつつ、より多くの数のレジスタを提供する可能性がある。もちろん、本発明はこの点においてその範囲を限定されることはない。
【００１０】
図１は、プロセッサ１１０およびメモリ１３０を含む、コンピューティングプラットフォーム１００の例示的な一実施形態のブロック図である。本実施例に対して、メモリ１３０はフラッシュメモリデバイスを含むが、本発明はこの点においてその範囲を限定されることはない。本実施例に対するメモリ１３０は、パラレル相互接続１２０によってプロセッサ１１０に対して結合されるが、本発明の範囲はこの点において限定されることはない。さらには、一実施形態において、メモリ１３０は、第一のクロックドメインに実装された一つ以上のレジスタ、および第二のクロックドメインに実装された一つ以上のさらなるレジスタを含んでもよい。一実施形態においては、第一のクロックドメインからの一つ以上のレジスタは、第二のクロックドメインからの一つ以上のレジスタにアクセスするために使用されてもよい。また、一実施形態に対して、第一のクロックドメインは比較的高周波数のクロックドメインを含み、第二のクロックドメインは比較的低周波数のクロックドメインを含んでもよい。本発明に従う実施形態は、特定のクロック周波数に限定されることはなく、クロックドメインは、可能性のある非常に広範囲のクロック周波数のうちのいずれかを有する可能性がある。
【００１１】
一実施形態に対して、コンピューティングプラットフォーム１００の構成は、図１に示されるようなインプレース実行（ＸｉＰ）実装を含み、プロセッサ１１０は、ロングタームメモリから直接命令をフェッチしてもよい。本明細書で使用されるように、“インプレース実行”という用語は、その省略である“ＸｉＰ”とともに、例えばフラッシュメモリなどのロングターム記憶デバイスからの命令をフェッチすることが可能なプロセッサに関する。より典型的には、プロセッサは、例えばダイナミックランダムアクセスメモリ（ＤＲＡＭ）などの中間記憶装置からの命令をフェッチする。
【００１２】
本明細書で使用されるように、“コンピューティングプラットフォーム”という用語は、信号の形態でデータを処理するもしくは格納する能力を含むシステムまたはデバイスのことを称する。したがって、本文脈においては、コンピューティングプラットフォームは、ハードウェア、ソフトウェア、ファームウェアもしくはそれらのあらゆる組み合わせを含んでもよい。本明細書に含まれる詳細な説明には、具体的な装置もしくは専用コンピューティングデバイスもしくはプラットフォームのメモリ内に格納されたバイナリデジタル信号に対する動作のアルゴリズムもしくは記号表現に関して示されている部分がある。この特定の明細書の文脈においては、具体的な装置などの用語は、プログラムソフトウェアからの命令に従って特定の動作を実施するためにプログラムされた汎用コンピュータを含む。図１に示されるようなコンピューティングプラットフォームは単なる一実施例であり、本発明の範囲はこの点において限定されることはない。一つ以上の実施形態に対して、コンピューティングプラットフォームは、パーソナルデスクトップもしくはノートブックコンピュータ、高解像度テレビ、デジタル多用途ディスク（ＤＶＤ）プレイヤーもしくはレコーダー、ゲーム機、衛星テレビ受像機、携帯電話、携帯情報端末、携帯オーディオもしくはビデオ再生もしくは記録デバイスなどを含む、広範囲のあらゆるデジタル電子デバイスを含んでもよいが、そのいずれにも限定はされない。さらに、明確に述べられることがなければ、本明細書で記述されたようなプロセスは、フロー図などに関して、全体的にもしくは部分的に、コンピューティングプラットフォームによって実行されるか、または制御されてもよい。本明細書で記述された例示的な実施形態に対して、コンピューティングプラットフォーム１００は、携帯電話もしくはスマートフォンを含んでもよいが、この場合にも同様に、本発明の範囲はそのように限定されることはない。
【００１３】
上述されたように、一実施形態に対して、プロセッサ１１０は、パラレル相互接続１２０によってメモリ１３０に対して結合されてもよい。別の例示的な実施形態においては、相互接続１２０は、シリアル周辺インターフェイス（ＳＰＩ）を含んでもよい。本発明の範囲は、プロセッサとメモリデバイスの間の相互接続のいかなる特定のタイプにも限定はされない。また、プロセッサ１１０はメモリ１３０に直接接続されるものとして図示されているが、本発明の範囲内にある他の実施形態は、プロセッサ１１０をメモリ１３０と間接的に結合してもよい。
【００１４】
前述されたように、メモリ１３０は、例示的な一実施形態に対してフラッシュメモリデバイスを含んでもよい。フラッシュメモリは、電気的に消去可能である、もしくはプログラム可能である能力によって少なくとも部分的には特徴づけられ、ほんの数例を挙げれば、デジタルカメラ、携帯電話、携帯情報端末、携帯ナビゲーションデバイス、携帯音楽プレイヤー、ノートブックコンピュータ、デスクトップコンピュータなどを含む広範囲のタイプの電子デバイスで使用されるがそのいずれにも限定はされない。また、フラッシュメモリデバイスは、パラレルデータインターフェイスもしくはシリアルインターフェイスを含んでもよい。少なくとも幾つかの実施例においては、パラレルインターフェイスは、少なくとも部分的には、入力／出力端子数の増加によって、比較的良好なデータスループットを可能にする可能性がある。一方、シリアルインターフェイスは、少なくとも部分的には、入力／出力端子数の減少によって、コストを軽減する可能性がある。もちろん、本発明はこれらの点においてその範囲を限定されることはない。
【００１５】
本明細書で記述された例示的な実施形態は、フラッシュメモリデバイスを含むものとしてメモリを説明しているが、本発明の範囲はこの点において限定されることはなく、他の実施形態は、他のタイプの揮発性もしくは不揮発性メモリデバイスを使用してもよい。例えば、一つ以上の実施形態は、リードオンリーメモリ（ＲＯＭ）、相変化メモリ（ＰＣＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）などを含んでもよい。また、本発明の範囲は、特定のタイプのフラッシュメモリに限定されることはない。本発明に従う実施形態は、ほんの一例をあげれば、ＮＯＲフラッシュメモリを含んでもよい。
【００１６】
一実施形態に従い、メモリデバイスの一つ以上のレジスタは、メモリデバイスの特定の状態によって表現されるデータ、もしくは情報を表す信号を格納してもよい。例えば、データもしくは情報を表す電子信号は、（例えば、本明細書では、“１”もしくは“０”として個々に称される、１またはゼロの）バイナリ情報としてデータもしくは情報を表すために、メモリデバイスのレジスタの状態に影響を与える、または、変化させることによって、メモリデバイスにおけるレジスタに“格納され”てもよい。特定の実装においては、例えば、データもしくは情報を表す信号を格納するために、レジスタの状態を変化させることは、異なる状態もしくは事物に対するメモリデバイスの変化に相当する可能性がある。
【００１７】
図２は、不揮発性メモリアレイ２５０を含む不揮発性メモリデバイス２００の例示的な一実施形態を示す概略ブロック図である。メモリデバイス２００は、ＮＯＲフラッシュメモリデバイスを含んでもよいが、この場合もやはり、本発明の範囲はこの点において限定されることはない。一つ以上の実施形態に対して、不揮発性メモリ２００は、コントローラ２３０、コントローラ２６０、および入力／出力バッファ２１０を含んでもよい。さらには、一実施形態に対するメモリ２００は、第一のクロックドメイン２０１および第二のクロックドメイン２０２へと分割されてもよい。一実施形態に対して、第一のクロックドメイン２０１は高速クロックドメインを含み、第二のクロックドメイン２０２は低速クロックドメインを含んでもよい。前述されたように、“高速”および“低速”という分類は、クロック周波数に対するいかなる特定値もしくは特定の範囲の値を意味するものではなく、第一のクロックドメイン２０１が第二のクロックドメイン２０２よりも高いクロック周波数で動作するということを意味するものとして意図される。
【００１８】
一つ以上の実施形態に対して、コントローラ２３０は第一のクロックドメイン２０１に配置され、コントローラ２６０は第二のクロックドメイン２０２に配置されてもよい。一実施形態においては、コントローラ２３０は、プロセッサ１１０から一つ以上の制御信号を受信し、一つ以上の内部制御信号を生成して、読み出しおよび／もしくは書き込み動作を含む、あらゆる数の動作を実施する。それによってプロセッサ１１０は、例えば、メモリアレイ２５０内の情報もしくはバンクにアクセスしてもよい。また、コントローラ２３０は、一つ以上の内部制御信号をさらに生成して、一つ以上のレジスタに対するアクセスを実施する。一実施形態においては、コントローラ２３０はコントローラ２６０と通信して、動作を実施する。本明細書で使用されるように、“コントローラ”という用語は、メモリデバイスに関連するコマンドシーケンスの管理もしくは実行に含まれるあらゆる回路もしくは論理を含むものとして意味される。コントローラ２３０もしくはコントローラ２６０は、メモリ２００に関連するあらゆる数の機能を達成するために命令を実行する可能性があるプロセッサを個々にさらに含んでもよい。一実施形態においては、コントローラ２６０は、レジスタ２２２、２２４、２２６、およびレジスタ２４０の間の情報伝送を実施してもよい。さらには、コントローラ２６０は、メモリアレイ２５０に対するアクセスを実施してもよい。もちろん、不揮発性メモリ２００に対して本明細書で記述された実施形態は、単なる実施例であって、本発明は、この点においてその範囲を限定されることはない。
【００１９】
この例示的な実施形態に対する不揮発性メモリ２００は、一つ以上のアドレス、データ、もしくは制御信号を、プロセッサ１１０から相互接続１２０へと受信してもよい。以下により詳細に説明されるように、プロセッサ１１０は、例えば、不揮発性メモリ２００に対するメモリアクセスコマンドを表す一つ以上の信号を送信してもよい。メモリアクセスコマンドは、相互接続１２０を介して伝送され、入力／出力バッファ２１０で受信されるアドレスを含んでもよい。プロセッサ１１０は、メモリアレイ２５０に対するアクセスを要求するある種のソフトウェアエージェントを実行してもよい。例えば、ソフトウェアエージェントは、メモリアレイ２５０のコードバンクに格納された命令から実行されてもよい。プロセッサ１１０は、ソフトウェアエージェントに対する命令をフェッチし、フェッチされた命令をさらに実行してもよい。ソフトウェアエージェントからの一つ以上の命令は、メモリアレイ２５０のデータもしくは情報バンク領域に対する読み出しもしくは書き込みに対する要求を含んでもよい。
【００２０】
また、一実施形態に対して、プロセッサ１１０は、ある種のソフトウェアエージェントを実行してもよい。ソフトウェアエージェントは、第一のクロックドメイン２０１に実装された、インデックスレジスタ２２２、データもしくは情報書き込みレジスタ２２４、または、データもしくは情報読み出しレジスタ２２６に対するアクセスを要求してもよい。ソフトウェアエージェントは、第二のクロックドメイン２０２に実装された複数のレジスタ２４０に対するアクセスをさらに要求してもよい。
【００２１】
図３は、メモリ２００からのインデックスレジスタ２２２、データもしくは情報書き込みレジスタ２２４およびデータもしくは情報読み出しレジスタ２２６を示す概略ブロック図である。図３に示されているように、レジスタ２４０は０からＮ−１の番号がつけられる。図２に示されるように、インデックスレジスタ２２２、書き込みレジスタ２２４および読み出しレジスタ２２６は、第一のクロックドメイン２０１の一部であり、高速クロック信号（ＣＬＫＦＡＳＴ）２１１によってクロック制御される。前述されたように、クロックドメインもしくはクロック信号と関連して使用される“高速”という用語は、いかなる特定のクロック周波数もしくは周波数範囲を意味することを意図されるものではない。むしろ、“高速”という用語は、高速クロックドメインもしくは高速クロック信号が“低速”クロックドメインもしくは低速クロック信号よりも大きいクロック周波数を有することを単に示すことを意図されるものである。同様に、クロック信号もしくはクロックドメインと関連して使用される“低速”という用語は、低速クロックドメインもしくは低速クロック信号が、高速クロックドメインもしくは高速クロック信号よりも小さいクロック周波数を有することを単に示すことを意図されるものである。図２にさらに示されたように、レジスタ２４０は、第二のクロックドメイン２０２の一部であり、低速クロック信号（ＣＬＫＳＬＯＷ）２１２によってクロック制御される。
【００２２】
一実施形態においては、一つ以上のレジスタ２４０は、例えばプロセッサ２１０によって、インデックスレジスタ２２２に対してインデックス値を少なくとも部分的に書き込むことによってアクセスされてもよい。インデックス値は、一つ以上のレジスタ２４０に対するポインタを含んでもよい。一実施形態に対して、一つ以上のレジスタ２４０にアクセスするために、インデックスレジスタ２２２は、一つ以上のセグメントへと分割されて、インデックスレジスタは、其々一つ以上のレジスタ２４０に対する一つ以上のポインタとして機能する可能性がある、一つ以上のインデックス値を格納してもよい。しかしながら、本発明は、この点において、その範囲が限定されることはない。
【００２３】
例示的なレジスタ書き込みコマンドに対して、プロセッサ１１０がレジスタ２４０のうちのレジスタ２に書き込みアクセスを実施する状況を考える。プロセッサ１１０は、書き込みレジスタ２２４へとレジスタ２向けの情報を書き込み、インデックスレジスタ２２へとレジスタ２を識別するインデックス値を書き込んでもよい。一実施形態に対して、コントローラ２６０は、インデックスレジスタ２２２（本実施例に対してはレジスタ２）に格納されたインデックス値によって識別されたレジスタに対して、書き込みレジスタ２２４に格納された情報を送信してもよい。本方法においては、低速クロックドメイン（本実施例においてはレジスタ２）に実装されたレジスタに対する書き込みアクセスは、高速クロックドメイン（本実施例においては、インデックスレジスタ２２２およびデータ書き込みレジスタ２２４）に実装されたレジスタに対する値を書き込むことによって達成されてもよい。性能基準は、高速クロックドメインに配置されたインデックスおよびレジスタに対するレジスタアクセスを許可することによって満たされ、より多数のレジスタはより低速のクロックドメインにおけるレジスタの実装によってサポートされてもよい。したがって、高速レジスタアクセスおよびより多数のレジスタによって生じうる利益が実現される可能性がある。
【００２４】
同様に、例示的なレジスタ読み出しコマンドに対して、プロセッサ１１０がレジスタ２４０のうちのレジスタ１からの読み出しアクセスを実施する状況を考える。プロセッサ１１０は、インデックスレジスタ２２２に対して、レジスタ１を識別するインデックス値を書き込んでもよい。プロセッサ１１０によって発行される読み出しコマンドを実施する一部として、コントローラ２６０は、インデックスレジスタ２２２（本実施例においてはレジスタ１）に格納されたインデックス値によって識別されたレジスタに格納された情報を読み出しレジスタ２２６へと伝送し、読み出しレジスタ２２６に格納された信号情報はプロセッサ１１０へと提供されてもよい。もちろん、これらはレジスタ書き込みもしくは読み出しアクセスの単なる実施例であり、本発明は、この点においてその範囲が限定されることはない。同様に、図３に示されたレジスタの機構および構成は単なる実施例であって、この場合にもやはり、本発明はこの点において、その範囲が限定されることはない。
【００２５】
図４は、例示的な不揮発性メモリデバイス２００に対するインデックスレジスタアクセスのためのレジスタ構成の例示的な一実施形態を示す概略ブロック図である。図４の実施例は、様々な点で、図３に示された実施例とは異なっている。図４においては、レジスタ２４０はＭ個のグループへと分割される。一実施形態においては、個々のグループはＮ個のレジスタを含む。しかしながら、図４の実施例は、Ｍ個のグループに、各々同一数のレジスタを示しているが、本発明は、この点においてその範囲が限定されることはない。一つ以上の他の実施形態においては、個々のグループは異なる数のレジスタを含んでもよい。例えば、グループ１は３個のレジスタを含み、グループ０は２個のレジスタを含んでもよい。しかしながら、これらは単なる実施例であって、本発明はこの点において、その範囲が限定されることはない。
【００２６】
また、図４の実施例に対して、インデックスレジスタ２２２は、２個のフィールドに分割されてもよい。本発明に従う実施形態は、一つ以上のフィールドを含んでもよい。一実施形態においては、インデックスレジスタ２２２は、グループ識別（ＩＤ）フィールド４０１およびレジスタＩＤフィールド４０２を含んでもよい。グループＩＤフィールド４０１は、レジスタ２４０のＭ個のグループ中からグループを識別するためのグループＩＤ値を格納してもよい。一実施形態に対するレジスタＩＤフィールド４０２は、グループＩＤフィールドによって識別されたグループ内の特定のレジスタを識別するためのレジスタＩＤ値を格納してもよい。さらには、図４の実施例は単一のグループＩＤフィールドおよび単一のレジスタＩＤフィールを示しているが、本発明はこの点において、その範囲が限定されることはない。本発明に従うインデックスレジスタの他の実施形態は、一つ以上のグループＩＤフィールドもしくは一つ以上のレジスタＩＤフィールドを含み、一つ以上のグループもしくは一つ以上のレジスタは、インデックスレジスタ２２２などのインデックスレジスタに格納されたインデックス値によって識別されてもよい。さらに、本発明に従う実施形態は、一つ以上のインデックスレジスタを含んでもよい。さらには、他の実施形態は、インデックスレジスタアクセスを広範囲の目的のために使用することを可能にするために、さらなるタイプのフィールドを組み込んでもよい。
【００２７】
一実施形態においては、一つ以上のグループのレジスタは、保護されたメモリのブロックを定義するためのセキュリティ動作において使用されてもよい。種々のメモリ保護スキームの詳細はよく知られているが、書き込みセキュリティレジスタもしくは読み出しセキュリティレジスタコマンドを含むインデックスレジスタアクセススキームの一実施形態は、メモリの一つ以上の保護された領域を提供する上で役割を果たしてもよい。一実施形態においては、高速クロックドメインに実装されたインデックスレジスタは、識別フィールドおよびレジスタタイプフィールドへと分割されてもよい。セキュリティレジスタは、一実施形態に対して、低速クロックドメインに実装されてもよい。また、一実施形態に対して、インデックス値は、識別値およびレジスタタイプ値へと分割されてもよく、識別値は、セキュリティレジスタに対するポインタを含んでもよい。さらには、一実施形態に対して、書き込みセキュリティレジスタコマンドもしくは読み出しセキュリティレジスタコマンドが実施されてもよい。一実施形態に対して、高速クロックドメインに実装された書き込みデータレジスタに格納された情報は、少なくとも部分的に書き込みセキュリティレジスタコマンドコードの受信に応じて、セキュリティレジスタへと書き込まれ、セキュリティレジスタに格納された情報は、少なくとも部分的に読み出しセキュリティレジスタコマンドコードの受信に応じて、読み出しデータレジスタへと送信されてもよい。さらには、一実施形態に対して、セキュリティレジスタは保護されたメモリブロックレジスタを含んでもよい。しかしながら、本発明はそれらの点において、その範囲を限定されることはない。
【００２８】
図５は、例示的なメモリデバイスに対するインデックスレジスタアクセスのためのプロセスの例示的な一実施形態を示すフロー図である。ブロック５１０においては、インデックス値は、メモリデバイスの一つ以上の入力端子において受信されてもよい。本明細書で使用されるように、“入力端子”という用語は、入力専用端子だけでなく入力／出力端子をも含むように意図される。また、一実施形態に対して、メモリデバイスは、相変化メモリ（ＰＣＭ）フラッシュメモリデバイスを含んでもよいが、この場合も同様に、本発明はこの点において限定されることはない。ブロック５２０においては、インデックス値は、メモリデバイスの第一のレジスタに格納されてもよい。第一のレジスタは高速クロックドメインに実装されてもよい。インデックス値は、メモリデバイスの第二のレジスタを識別してもよく、第二のレジスタは、第二のクロックドメインに実装される。一実施形態においては、第一のクロックドメインは、第二のクロックドメインに対するクロック周波数よりも高いクロック周波数で動作してもよい。一実施形態においては、第二のレジスタは第一のレジスタを介してアクセスしてもよい。さらには、一実施形態においては、第一のレジスタは、第二のレジスタの位置を指し示す可能性のあるインデックス値を格納してもよい。ブロック５３０においては、インデックス値によって識別された第二のレジスタにアクセスするためのコマンドが受信されてもよい。この方法においては、システムレベルの視点から、低速クロックドメインに配置された第二のレジスタに対するアクセスは、高速クロックドメインにおけるレジスタに対するアクセスと類似した方法で動作する。また、低速クロックドメインにおけるレジスタから書き込まれる、もしくは読み出される最終値は、書き込みもしくは読み出しレジスタに格納される可能性があるため、一実施形態に対して、デバッギング動作が強化されてもよい。本発明に従う実施形態は、ブロック５１０からブロック５３０のうちの全てか、それ以下、もしくはそれ以上を含んでもよい。また、ブロック５１０からブロック５３０までの順序は単に例示的な順序であり、本発明はこの点において、その範囲が限定されることはない。
【００２９】
本明細書に含まれた詳細な説明のうちの幾つかの部分は、具体的な装置または専用コンピューティングデバイスもしくはプラットフォームのメモリ内に格納されるバイナリデジタル信号における動作のアルゴリズムもしくは記号表現に関して示される。特定の明細書の文脈においては、具体的な装置などの用語は、プログラムソフトウェアからの命令に従って特定の動作を実施するようにプログラムされた汎用コンピュータを含む。アルゴリズムの記述もしくは記号表現は、当業者の仕事の本質を他の当業者へと伝達するために、信号処理もしくは関連技術における当業者によって使用される技術の例である。アルゴリズムが存在し、それは概して、所望の結果へと通じる自己矛盾のない動作順序もしくは類似の信号処理であると考えられる。本文脈においては、動作もしくは処理は、物理量の物理的操作を含む。典型的には、必ずしもそうではないが、このような量は、電気的もしくは磁気的信号の形態をとる可能性があり、格納され、伝送され、結合され、比較されるか、さもなければ操作することが可能である。このような信号に対しては、ビット、データ、値、要素、記号、文字、用語、数字、番号などとして言及されることが、主に慣習であるという理由から時には好都合である。しかしながら、これらのもしくは類似する用語は全て、適切な物理量に関連付けられるべきであり、単なる好都合なラベルであることを理解されたい。具体的に記述されることがなければ、本明細書の説明から明らかであるように、本明細書の説明を通して、“処理”“コンピューティング”“計算”“決定”などの用語を使用することは、専用コンピュータもしくは類似の専用電子コンピューティングデバイスなどの具体的な装置の動作もしくはプロセスを称するものであることを理解されたい。したがって、本明細書の文脈においては、専用コンピュータもしくは類似の専用電子コンピューティングデバイスは、専用コンピュータもしくは類似の専用電子コンピューティングデバイスのメモリ、レジスタ、もしくは他の情報記憶デバイス、伝送デバイス、またはディスプレイデバイスにおいて、典型的には物理的に電子量もしくは磁気量として表される信号を操作すること、もしくは伝送することが可能である。
【００３０】
本明細書を通して、“ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ”もしくは“ａｎ  ｅｍｂｏｄｉｍｅｎｔ”に対する言及は、本発明の少なくとも一つの実施形態に含まれる可能性のある特定の実施形態に関連して記述された特定の特性、構造もしくは特徴を意味する可能性がある。したがって、本明細書を通して種々の箇所における“ｉｎ  ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ”もしくは“ａｎ  ｅｍｂｏｄｉｍｅｎｔ”という表現の使用は、説明された同一の実施形態もしくはいかなる特定の一実施形態に対して言及することを必ずしも意図するものではない。さらには、記述された特定の特性、構造もしくは特徴は、一つ以上の実施形態において、種々の方法で組み合わせられてもよい。もちろん、概して、これらのならびに他の点は、使用される特定の文脈で変化する可能性がある。したがって、説明のうちの特定の文脈もしくはこれらの用語の使用は、その文脈に対して引用される推定に関する有用な指針を提供する可能性がある。
【００３１】
同様に、本明細書で使用されるような“ａｎｄ”および“ｏｒ”という用語は、このような用語が使用される文脈の少なくとも一部に依存すると予想される種々の意味を含んでもよい。典型的には、“ｏｒ”は、Ａ，Ｂ  ｏｒ  Ｃなどのリストを関連付けるために使用される場合には、排他的な意味で使用されるとき、Ａ，Ｂ  ｏｒ  Ｃ を意味するのと同様に、両立的な意味で使用されるときＡ，Ｂ，ａｎｄ  Ｃを意味することを意図される。さらには、本明細書で使用されるような“ｏｎｅ  ｏｒ  ｍｏｒｅ”という用語は、単数形ではあらゆる特性、構造もしくは特徴を説明するために使用されてもよく、または、特性、構造もしくは特徴の幾つかの組み合わせを説明するために使用されてもよい。しかし、これは単なる例示的な例であって、本発明はこの実施例に限定されることはないことに留意されたい。
【００３２】
前述の説明においては、本発明の種々の態様が記述されてきた。説明する目的のため、本発明の理解を提供するためにシステムもしくは構成が説明された。しかしながら、本発明は、これらの具体的な詳細事項がなくても実施されてもよい。他の事例においては、本発明を曖昧にしないように、既知の特性は省略されるか、または簡略化された。本明細書に、ある特性が図示されるか、または記述されてきたが、多数の改変、置換、変形、もしくは均等物は当業者にとって明らかとなるであろう。したがって、添付の請求項は、本発明の真の趣旨の範囲内にある全ての改変もしくは変形を包含することを意図されることを理解されたい。
【図１】
0005500457.tif 000002
【図２】
0005500457.tif 000003
【図３】
0005500457.tif 000004
【図４】
0005500457.tif 000005
【図５】
0005500457.tif 000006