JP6104065B2 - 複数のブロックの書き込み制御を用いるメモリ・システム、装置、および方法 - Google Patents

複数のブロックの書き込み制御を用いるメモリ・システム、装置、および方法 Download PDF

Info

Publication number
JP6104065B2
JP6104065B2 JP2013126292A JP2013126292A JP6104065B2 JP 6104065 B2 JP6104065 B2 JP 6104065B2 JP 2013126292 A JP2013126292 A JP 2013126292A JP 2013126292 A JP2013126292 A JP 2013126292A JP 6104065 B2 JP6104065 B2 JP 6104065B2
Authority
JP
Japan
Prior art keywords
memory
block
bwe
signal
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013126292A
Other languages
English (en)
Other versions
JP2014026645A (ja
Inventor
田中 正浩
正浩 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2014026645A publication Critical patent/JP2014026645A/ja
Application granted granted Critical
Publication of JP6104065B2 publication Critical patent/JP6104065B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本明細書で開示する主題は、状態データ(state data)の保存に関し、さらに具体的には、メモリ・ブロックが状態データを保存するよう構成された、複数のメモリ・ブロックを有するメモリ・モジュール用いて状態データを保存することに関する。
プロセッサ、メモリ・コントローラ、ソフトウェア、またはデータ・コンピューティングにおける他のエレメントが展開されるときには、エラーが生じるのが普通である。エラーは見付けるのが困難なことがあり、いくつかの時点でデータを保存しておくと役立つことが多い。各々の時点を「状態(state)」ということができる。状態データは、不具合の生じる前に、様々な時点でレジスタのコンテンツ、メモリのコンテンツなどを確定しておくのに極めて有用であり得る。状態データの検査によって、何がエラーの原因だったかを発見できることがある。
メモリ・ブロック中に反映された状態データを、デバッギングに、または、さまざまな時点において、メモリ中に何が包含されていたかの来歴が役立ち得る他の処理に使うことができるようにする。
状態をトレースするための装置を開示する。一つの実施形態において、本装置は、複数のメモリ・ブロックを有するメモリ・モジュールと、複数のメモリ・ブロックの一つ以上のアドレス・ラインを復号するアドレス復号モジュールとを含む。アドレス復号モジュールのアドレス出力は、複数のメモリ・ブロックの各メモリ・ブロックに対応する。BWEモジュールは、複数のメモリ・ブロックの各メモリ・ブロックに対応するブロック書き込みイネーブル(「BWE」:block write enable)信号を含む。各BWE信号は、ブロック書き込みイネーブル状態とブロック書き込みディスエーブル状態とを有する。通常使用モードにおいてブロック書き込みイネーブル制御(「BWEC」:block write enable control)信号を受信するのに応じて、MUXモジュールは、アドレス復号モジュールの対応するアドレス出力を、複数のメモリ・ブロックの各メモリ・ブロックの書き込みイネーブル入力端に送る。状態トレース・モードにおいてBWEC信号を受信するのに応じて、MUXモジュールは、対応するBWE信号を、複数のメモリ・ブロックの各メモリ・ブロックの書き込みイネーブル入力端に送る。
一つの実施形態において、本装置はBWEシーケンス・モジュールを含み、該モジュールは、第一状態がブロック書き込みイネーブル状態の各BWE信号を含み、最終状態がブロック書き込みディスエーブル状態の各BWE信号を含み、各中間状態で、BWE信号が一つずつブロック書き込みイネーブル状態からブロック書き込みディスエーブル状態に移行されるように、各BWE信号を順々にブロック書き込みイネーブル状態からブロック書き込みディスエーブル状態に変更する。別の実施形態において、本装置は、ブロック書き込みイネーブル状態のBWE信号を有する各メモリ・ブロックに第一データを書き込み、BWEシーケンス・モジュールが、あるメモリ・ブロックに対するBWE信号をブロック書き込みイネーブル状態からブロック書き込みディスエーブル状態に変更した後に、ブロック書き込みイネーブル状態のBWE信号を有する各メモリ・ブロックに第二データを書き込む、データ更新モジュールを含む。さらなる実施形態において、データ更新モジュールは、BWEシーケンス・モジュールが一つのBWE信号をブロック書き込みイネーブル状態からブロック書き込みディスエーブル状態に変更するごとに、その後ブロック書き込みイネーブル状態のBWE信号を有する各メモリ・ブロックに追加データを書き込む。
一つの実施形態において、本装置は、トレース・モード・トリガ・モジュールを含み、該モジュールは、BWEシーケンス・モジュールがBWE信号を変更するに先立って、状態トレース・モードのBWEC信号をアサートし、複数のメモリ・ブロックのあるメモリ・ブロックに対応する各BWE信号を書き込みイネーブル状態に設定し、複数のメモリ・ブロックの各メモリ・ブロックをリセットする。別の実施形態において、BWECが通常使用モードにあって、BWEC信号が第一状態にあり、一つ以上のアドレス・ラインが、複数のメモリ・ブロックの、あるメモリ・ブロックを選択したとき、データは、そのメモリ・ブロックに書き込まれ、該データは複数のメモリ・ブロックの残りのメモリ・ブロックには書き込まれない。別の実施形態において、BWEC信号が状態トレース・モードにあるとき、データは、ブロック書き込みイネーブル状態のBWE信号を有する、複数のメモリ・ブロックの各メモリ・ブロックに書き込まれ、データは、書き込みディスエーブル状態のBWE信号を有する、複数のメモリ・ブロックの各メモリ・ブロックには書き込まれない。
一つの実施形態において、MUXモジュールは、複数のメモリ・ブロックの各メモリ・ブロックに対する、2つの入力端と1つの出力端とを具える一つ以上のマルチプレクサ(MUX:multiplexer)を含む。一つの入力はBWE信号であり、一つの入力はアドレス復号モジュールのアドレス出力であり、出力端は、メモリ・ブロックの書き込みイネーブル入力端につながっている。別の実施形態において、アドレス復号モジュールはアドレス・デコーダを含む。アドレス・デコーダは、入力として一つ以上のアドレス・ラインを受信し複数のメモリ・ブロックの各メモリ・ブロックに対応する信号を出力する、ディスクリート・ハードウェアを含む。一つ以上のアドレス・ラインの各状態は、複数のメモリ・ブロックの一つを選択する。別の実施形態において、BWEモジュールはBWEレジスタを含む。BWEレジスタは、各BWE信号に対応するビットを有するハードウェア・レジスタを含む。
状態データをトレースするためのシステムは、メモリ・モジュールに対するデータ読み取りおよび書き込みを制御するメモリ・コントローラを含む。メモリ・モジュールは複数のメモリ・ブロックを含む。メモリ・コントローラは、複数のメモリ・ブロックの一つ以上のアドレス・ラインを復号するアドレス復号モジュールを含む。アドレス復号モジュールのアドレス出力は、複数のメモリ・ブロックの各メモリ・ブロックに対応する。メモリ・コントローラは、複数のメモリ・ブロックの各メモリ・ブロックに対応するブロック書き込みイネーブル(「BWE」)信号を有する、BWEモジュールを含む。各BWE信号は、ブロック書き込みイネーブル状態とブロック書き込みディスエーブル状態とを有する。
メモリ・コントローラは、複数のメモリ・ブロックの各メモリ・ブロックの書き込みイネーブル入力端に、通常使用モードにおいてブロック書き込みイネーブル制御(「BWEC」)信号を受信するのに応じアドレス復号モジュールの対応するアドレス出力を、または状態トレース・モードにおいてBWEC信号を受信するのに応じ対応するBWE信号を送る、MUXモジュールを含む。一つの実施形態において、本システムはメモリ・モジュールを含む。別の実施形態において、本システムは、メモリ・モジュールを制御し、メモリ・モジュールからデータを読み取り、メモリ・モジュールにデータを書き込む、プロセッサを含む。別の実施形態において、本システムは、該プロセッサによって制御されるコンピュータを含む。
状態をトレースする方法を開示する。本方法は、アドレス復号モジュールを用い、複数のメモリ・ブロックの一つ以上のアドレス・ラインを復号するステップを含む。アドレス復号モジュールのアドレス出力は、複数のメモリ・ブロックの各メモリ・ブロックに対応する。本方法は、複数のメモリ・ブロックの各メモリ・ブロックに対応するブロック書き込みイネーブル(「BWE」)信号を受信するステップを含む。各BWE信号は、ブロック書き込みイネーブル状態とブロック書き込みディスエーブル状態とを有する。本方法は、複数のメモリ・ブロックの各メモリ・ブロックの書き込みイネーブル入力端に、通常使用モードにおいてブロック書き込みイネーブル制御(「BWEC」)信号を受信するのに応じてアドレス復号モジュールの対応するアドレス出力、および状態トレース・モードにおいてBWEC信号を受信するのに応じて対応するBWE信号、のうちの一つを送るステップを含む。
一つの実施形態において、本方法は、BWEC信号が状態トレース・モードにあるとき、第一状態がブロック書き込みイネーブル状態の各BWE信号を含み、最終状態がブロック書き込みディスエーブル状態の各BWE信号を含み、各中間状態で、BWE信号が一つずつブロック書き込みイネーブル状態からブロック書き込みディスエーブル状態に移行されるように、各BWE信号を順々にブロック書き込みイネーブル状態からブロック書き込みディスエーブル状態に変更するステップを含む。別の実施形態において、本方法は、メモリ・ブロックの書き込みイネーブル入力端にブロック書き込みイネーブル状態のBWE信号を有する各メモリ・ブロックに対し、データを書き込むステップを含む。各メモリ・ブロックは、複数のメモリ・ブロックのブロックであり、ブロック書き込みイネーブル状態のBWE信号を有するメモリ・ブロックの各々に同一のデータが書き込まれる。
さらなる実施形態において、本方法は、ブロック書き込みイネーブル状態のBWE信号を有する各メモリ・ブロック中に追加データを書き込む一回以上のインスタンスを含み、ブロック書き込みイネーブル状態のBWE信号を有するメモリ・ブロックへデータを書き込む各インスタンスの間で、一つのBWE信号がブロック書き込みイネーブル状態からブロック書き込みディスエーブル状態に移行し、追加データが書き込まれる場合、ブロック書き込みイネーブル状態のBWE信号を有するメモリ・ブロックの各々に同一の追加データが書き込まれる。別の実施形態において、本方法は、BWECが通常使用モードにあるとき、一つ以上のアドレス・ラインが、複数のメモリ・ブロックの、あるメモリ・ブロックに対応するアドレスをアサートするのに応じ、データをそのメモリ・ブロック中に書き込むステップを含む。データが書き込まれるメモリ・ブロックとは異なるアドレスを有する、複数のメモリ・ブロックのメモリ・ブロックにはそのデータは書き込まれない。
状態データをトレースするための別の装置を開示する。本装置は、複数のメモリ・ブロックを有するメモリと、通常使用モードまたは状態トレース・モードにあるブロック書き込みイネーブル制御(「BWEC」)信号とを含む。本装置は、複数のメモリ・ブロックの一つ以上のアドレス・ラインを復号し、アドレス・デコーダのアドレス出力に応じて、アドレス出力に対応するアドレスを選択する、該アドレス・デコーダを含む。アドレス・デコーダのアドレス出力は、複数のメモリ・ブロックの各メモリ・ブロックに対応する。本装置は、複数のメモリ・ブロックの各メモリ・ブロックに対応するブロック書き込みイネーブル(「BWE」)信号を含む。各BWE信号は、ブロック書き込みイネーブル状態とブロック書き込みディスエーブル状態とを有する。
本装置は2つ以上のマルチプレクサ(MUX)を含む。各MUXは、BWEC信号に応じて入力を選択し、この選択した入力を複数のメモリ・ブロックの各メモリ・ブロックの書き込みイネーブル入力端に送る。各MUXへの入力は、アドレス・デコーダの対応するアドレス出力、および対応するBWE信号を含む。各MUXは、通常使用モードにあるBWEC信号に応じてアドレス・デコーダの対応するアドレス出力を選択し、各MUXは、状態トレース・モードにあるBWEC信号に応じて対応するBWE信号を選択する。
一つの実施形態において、本装置は、各BWE信号に対応するビットを有するBWEレジスタを含む。このBWEレジスタのビットの状態が、対応するBWE信号を制御する。別の実施形態において、本装置は、BWEシーケンス・モジュールを含み、該モジュールは、BWEC信号が状態トレース・モードにある間、複数のメモリ・ブロックがリセットされるとき、各BWE信号をブロック書き込みイネーブル状態に設定し、データが複数のメモリ・ブロックの各メモリ・ブロックに書き込まれた後、第一BWE信号をブロック書き込みイネーブル状態からブロック書き込みディスエーブル状態に変更する。各メモリ・ブロックに書き込まれたデータは同一のデータを含む。BWEシーケンス・モジュールは、ブロック書き込みイネーブル状態のBWE信号を有する、複数のメモリ・ブロックの各メモリ・ブロックに追加データが書き込まれた後、第二BWE信号を、順々にブロック書き込みイネーブル状態からブロック書き込みディスエーブル状態に変更する。各メモリ・ブロックに書き込まれる追加データは同一の追加データである。
BWEシーケンス・モジュールは、ブロック書き込みイネーブル状態のBWE信号を有する、複数のメモリ・ブロックの各メモリ・ブロックに追加データの各セットが書き込まれた後、BWE信号が全てブロック書き込みディスエーブル状態になるまで、順々にBWE信号をブロック書き込みイネーブル状態からブロック書き込みディスエーブル状態に変更し続ける。これも同様に、各メモリ・ブロックに書き込まれる追加データは同一の追加データである。メモリ・ブロックに書き込まれたデータは、そのメモリ・ブロックに対するBWE信号がブロック書き込みディスエーブル状態に変更された後は保存され、これらのメモリ・ブロックはデータ状態のシーケンスを表す。
一つの実施形態において、複数のメモリ・ブロックの一つ以上のアドレス・ラインは、複数のメモリ・ブロックのアドレス・ラインのセットのサブセットである。アドレス・ラインのセットは、複数のメモリ・ブロック中のメモリ位置をアドレス指定し、アドレス・ラインのサブセットは、アドレス・ラインのセットの最上位ビット群に相当する。アドレス・ラインのサブセットは、複数のメモリ・ブロックのメモリ・ブロックを選択するために十分なものである。一つの実施形態において、本装置は、BWEC信号を通常使用モードに設定する通常使用モジュールを含む。通常使用モードにおいて、MUXは、アドレス・デコーダを、複数のメモリ・ブロックの書き込みイネーブル入力端に接続する。通常使用モジュールは、複数のメモリ・ブロックを、汎用データのストレージのために使うことを可能にする。
さらに、状態データをトレースするための別の装置も開示する。本装置は、複数のメモリ・ブロックを具えるメモリ・モジュールと、複数のメモリ・ブロックの一つ以上のアドレス・ラインを復号するアドレス復号モジュールとを含む。アドレス復号モジュールのアドレス出力は、複数のメモリ・ブロックの各メモリ・ブロックに対応する。BWEモジュールは、複数のメモリ・ブロックの各メモリ・ブロックに対応するブロック書き込みイネーブル(「BWE」)信号含む。各BWE信号は、ブロック書き込みイネーブル状態とブロック書き込みディスエーブル状態とを有する。通常使用モードにおいてブロック書き込みイネーブル制御(「BWEC」)信号を受信するのに応じ、MUXモジュールは、アドレス復号モジュールの対応するアドレス出力を、複数のメモリ・ブロックの各メモリ・ブロックの書き込みイネーブル入力端に送る。状態トレース・モードにおいてBWEC信号を受信するのに応じ、MUXモジュールは、対応するBWE信号を、複数のメモリ・ブロックの各メモリ・ブロックの書き込みイネーブル入力端に送る。
本装置はBWEシーケンス・モジュールを含み、該モジュールは、第一状態がブロック書き込みイネーブル状態の各BWE信号を含み、最終状態がブロック書き込みディスエーブル状態の各BWE信号を含み、各中間状態で、BWE信号が一つずつブロック書き込みイネーブル状態からブロック書き込みディスエーブル状態に移行されるように、各BWE信号を順々にブロック書き込みイネーブル状態からブロック書き込みディスエーブル状態に変更する。本装置は、ブロック書き込みイネーブル状態のBWE信号を有する各メモリ・ブロックに第一データを書き込み、BWEシーケンス・モジュールがあるメモリ・ブロックに対するBWE信号をブロック書き込みイネーブル状態からブロック書き込みディスエーブル状態に変更した後に、ブロック書き込みイネーブル状態のBWE信号を有する各メモリ・ブロックに第二データを書き込む、データ更新モジュールを含む。データ更新モジュールは、BWEシーケンス・モジュールがBWE信号をブロック書き込みイネーブル状態からブロック書き込みディスエーブル状態に変更するごとに、その後ブロック書き込みイネーブル状態のBWE信号を有する各メモリ・ブロックに追加データを書き込む。
本発明の諸実施形態の利点が容易に理解できるように、上記で簡単に説明した諸実施形態のさらに詳しい説明を、添付の図面に示された具体的な諸実施形態を参照しながら提示する。これらの図面が単に一部の実施形態を示すものであり、従って範囲を限定するものでないことを理解した上で、これらの実施形態を、添付の図面を使い、さらなる具体性および詳細さをもって記述、説明する。
本発明による、メモリ・ブロックを使って状態データを追跡するためのシステムの一つの実施形態を示す概略ブロック図である。 本発明による、メモリ・ブロックを使って状態データを追跡するための装置の一つの実施形態を示す概略ブロック図である。 本発明による、メモリ・ブロックを使って状態データを追跡するための装置の別の実施形態を示す概略ブロック図である。 本発明による、メモリ・ブロックを使って状態データを追跡するための装置の特定の実施形態を示す概略ブロック図の第一部分である。 本発明による、メモリ・ブロックを使って状態データを追跡するための装置の特定の実施形態を示す概略ブロック図の第二部分である。 本発明による、メモリ・ブロックを使って状態データを追跡するための装置に対する真理値表である。 本発明による、メモリ・ブロックを使って状態データを追跡するための装置の例示的なタイミング図である。 本発明による、メモリ・ブロックを使って状態データを追跡する方法の一つの実施形態を示す概略フローチャート図である。 本発明による、メモリ・ブロックを使って状態データを追跡する方法の別の実施形態を示す概略フローチャート図である。
本明細書全体を通して、「一つの実施形態(one embodiment)」、「ある実施形態(an embodiment)」、または類似の用語の言及は、その実施形態に関連して記述された特定の機能、構造または特性が、少なくとも一つの実施形態に含まれていることを意味する。従って、本明細書全体を通して、語句「一つの実施形態において」、「ある実施形態において」、および類似の語句は、必然ではないが、全て同じ実施形態を言及し得るが、特段の指定がある場合を除き「一つ以上だが全てではない実施形態」を意味する。用語「含む(including)」、「包含する(comprising)」、「有する(having)」およびこれらの変形は、特段の指定がある場合を除き「含むが限定はされない」ことを意味する。列挙された諸項目は、特段の指定がある場合を除き、それら項目のどれかがまたは全部が相互に排他的もしくは両立的またはその両方であることを暗示するものではない。また、用語「ある(a、an)」および「該(the)」は、特段の指定がある場合を除き「一つ以上」のことを言う。
さらに、述べられた、諸実施形態の機能、利点、および特徴は任意の適切な仕方で組み合わせることが可能である。当業者は、個別の実施形態の一つ以上の特定の機能がなくても、これら諸実施形態が実施可能なことを認識できよう。他の例では、全ての実施形態中には示されていないかもしれないさらなる特徴および利点を特定の実施形態中に認識することができよう。
諸実施形態のこれらの特徴および利点は、以下の説明および添付の請求項からさらに十分に明確になろう、あるいは以下に述べる実施形態を実践することによって知ることができよう。当業者ならよく理解できようが、本発明の態様は、システム、方法、もしくはコンピュータ・プログラム製品またはこれらの組み合わせとして具現することができる。従って、本発明の態様は、全体がハードウェアの実施形態、全体がソフトウェアの実施形態(ファームウエア、常駐ソフトウェア、マイクロコードなどを含む)、あるいは、一般に本明細書では全て「回路」、「モジュール」、または「システム」といわれこともある、ソフトウェアおよびハードウェア態様を組み合わせた実施形態の形を取ることができる。さらに、本発明の一つ以上の態様は、コンピュータ可読プログラム・コードが中に具体化されている一つ以上のコンピュータ可読媒体(群)中に具現されたコンピュータ・プログラム製品の形を取ることもできる。
本明細書に述べる機能ユニットの多くは、それらの実装上の独立性をより具体的に際立たせるために、モジュールとして名付けられている。例えば、あるモジュールは、カスタムVLSI回路またはゲート・アレイ、ロジック・チップ、トランジスタなど市販の半導体、あるいは他のディスクリート部品を包含する、ハードウェア回路として実装することができる。また、あるモジュールは、フィールド・プログラム可能ゲート・アレイ、プログラム可能アレイ・ロジック、プログラム可能ロジック・デバイスなどのプログラム可能ハードウエア・デバイス中に実装することができる。
また、諸モジュールは、さまざまな種類のプロセッサによって実行されるソフトウェア中に実装することも可能である。コンピュータ可読プログラム・コードのある特定のモジュールには、例を挙げれば、例えばオブジェクト、プロシージャ、またはファンクションとして編成が可能な、コンピュータ命令の一つ以上の物理的または論理的ブロックを含めることができる。ただし、特定のモジュールの実行可能ファイル群を物理的に一緒に配置しておく必要はなく、これらファイルには、論理的に結合されたときに当該モジュールを含みそのモジュールの所定の目的を達成する、異なる場所に格納された異種の命令群を含めることができる。
実際上、コンピュータ可読プログラム・コードのモジュールは、単一または多数の命令とすることができ、いくつかの異なるコード・セグメントに亘り、相異なるプログラムの間に、およびいくつかのメモリ・デバイスにまたがって、分散することが可能である。同様に、本明細書では、オペレーショナル・データも、モジュール内で識別、明確化することができ、任意の適切なフォームに具現し、任意の適切なデータ構造内に編成することができる。このオペレーショナル・データは、単一のデータ・セットとして集めること、または相異なるストレージ・デバイスへの分散を含めて異なった場所に亘って分散することができ、少なくとも部分的に、システムまたはネットワーク上の単なる電子信号として存在させることが可能である。モジュールまたはモジュールの部分がソフトウェアに実装される場合、そのコンピュータ可読プログラム・コードを、一つ以上のコンピュータ可読媒体に格納するかもしくは伝送するかまたはその両方を行うことができる。
コンピュータ可読媒体は、コンピュータ可読プログラム・コードを格納する有形のコンピュータ可読ストレージ媒体とすることができる。コンピュータ可読ストレージ媒体は、例えば、以下に限らないが、電子的、磁気的、光学的、電磁気的、赤外的、ホログラフィック的、マイクロメカニカル的、または半導体の、システム、装置、もしくはデバイス、あるいはこれらの任意の適切な組み合わせとすることができる。
コンピュータ可読ストレージ媒体のさらに具体的な例には、以下に限らないが、携帯型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read−only memory)、消去可能プログラム可能読み取り専用メモリ(EPROM(erasable programmable read−only memory)またはフラッシュ・メモリ)、携帯型コンパクト・ディスク読み取り専用メモリ(CD−ROM:compact disc read−only memory)、デジタル多用途ディスク(DVD:digital versatile disc)、光ストレージ・デバイス、磁気ストレージ・デバイス、ホログラフィック・ストレージ媒体、マイクロメカニカル・ストレージ・デバイス、または前述の任意の適切な組み合わせが含まれよう。本文書の文脈において、コンピュータ可読ストレージ媒体は、命令実行システム、装置、またはデバイスによって、もしくはこれらに関連させて、あるいはその両方で使用するためのコンピュータ可読プログラム・コードを、包含もしくは格納またはその両方が可能な任意の有形媒体とすることができる。
また、このコンピュータ可読媒体をコンピュータ可読信号媒体とすることもできる。コンピュータ可読信号媒体は、例えばベースバンド中にまたは搬送波の一部として具現されたコンピュータ可読のプログラム・コードを中に有する、伝播データ信号を含み得る。かかる伝播信号は、以下に限らないが、電気的、電磁気的、磁気的、光学的なものまたはこれらの任意の適切な組み合わせを含め、さまざまな形態の任意の形を取ることができる。コンピュータ可読信号媒体は、コンピュータ可読ストレージ媒体ではない、命令実行システム、装置、またはデバイスによってまたはこれらに関連させて使用するためのコンピュータ可読プログラム・コードを通信、伝播、または伝送が可能な任意のコンピュータ可読媒体であり得る。コンピュータ可読信号媒体上に具現されたプログラム可読プログラム・コードは、以下に限らないが、有線、光ファイバ、無線周波数(RF:Radio Frequency)など、または前述の任意の適した組み合わせを含め、任意の適切な媒体を用いて送信することができる。
一つの実施形態において、コンピュータ可読媒体には、一つ以上のコンピュータ可読ストレージ媒体と、一つ以上のコンピュータ可読信号媒体との組み合わせを含めることができる。例えば、コンピュータ可読プログラム・コードを、プロセッサに実行させるため、光ファイバ・ケーブルを介して電磁信号として伝播すること、これをRAMストレージ・デバイスに格納することの両方が可能である。コンピュータ・プログラム製品を共用し、柔軟で自動化された仕方で複数の顧客に同時にサービスすることができる。このコンピュータ・プログラム製品を、ほとんどカスタム化不要のスケーラブルなものに標準化し、従量課金モデルのオンデマンドによる処理能力を提供することができよう。
該コンピュータ・プログラム製品を、一つ以上のサーバからアクセス可能な共用ファイル・システムに格納することができる。このコンピュータ・プログラム製品を、データと、アクセスされるサーバ上の中央演算処理装置(CPU:Central Processor Unit)の単位の使用要求を処理するサーバと、を含むトランザクションを介して実行することができる。CPU単位は、サーバの中央処理装置上の、分、秒、時間などの時間の単位とすることができよう。さらに、アクセスされたサーバは、CPU単位を要する他のサーバに要求を行うこともできよう。このCPU単位は、使用量の測定法の一つを表した単なる例である。使用量の他の測定法には、以下に限らないが、ネットワーク処理情報量、メモリ使用量、ストレージ使用量、パケット伝送数、完了トランザクション数などが含まれよう。
さらに、前述の諸実施形態の機能、構造、または特徴は任意の適切な仕方で組み合わせることができる。諸実施形態の徹底した理解を提供するため、以下の説明において、プログラミング、ソフトウェア・モジュール、ユーザ選択、ハードウェア・モジュール、ハードウェア回路、ハードウェア・チップなど数多くの具体的詳細が提示される。しかしながら、当業者は、これら具体的詳細の一つ以上が無くても、または他の方法、コンポーネント、材料などを使っても、諸実施形態が実施可能であることを認識できよう。他の例では、実施形態の態様が曖昧になるのを避けるため、周知の構造、材料、またはオペレーションは提示も説明もしない。
以下に、本発明の実施形態による方法、装置、システム、およびコンピュータ・プログラム製品の概略フローチャート図もしくは概略ブロック図またはこれらの両方を参照しながら、諸実施形態の態様を説明する。当然ながら、概略フローチャート図もしくは概略ブロック図またはその両方の各ブロック、および概略フローチャート図もしくは概略ブロック図またはその両方の中のブロック群の組み合わせは、ハードウェアもしくはコンピュータ可読プログラム・コードまたはその両方によって実装することができる。
図面中の概略フローチャート図もしくは概略ブロック図またはその両方は、本発明のさまざまな実施形態による、装置、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、およびオペレーションを示す。この点に関し、概略フローチャート図もしくは概略ブロック図またはその両方中の各ブロックは、規定の論理機能(群)を実装するためのプログラム・コードの実行可能命令を一つ以上含む、モジュール、セグメント、ハードウェアまたはコードの部分を表し得る。
図面中の概略フローチャート図もしくは概略ブロック図またはその両方は、可能な実装のアーキテクチャ、機能、およびオペレーションを示す。また、一部の別の実装においては、ブロック中に記載された機能が、図に記載された順序を外れて行われ得ることに留意すべきである。例えば、連続して示された2つのブロックが、関与する機能によって実際にはほぼ同時に実行されることがあり、時にはこれらのブロックが逆の順序で実行されることもあり得る。さまざまな矢印形および線形が、フローチャートもしくはブロック図またはその両方の中で用いられることがあるが、これらは、対応する実施形態の範囲を制限すると理解すべきでない。実際上は、一部の矢印または他のコネクタが、示された実施形態の例示的な論理フローを示すためだけに使われていることがある。
例えば、矢印は、示された実施形態の列挙されたステップの間の、特定されない持続時間の待機または監視の期間を示し得る。さらに、ブロック図もしくはフローチャート図またはその両方の各ブロック、およびブロック図もしくはフローチャート図またはその両方中のブロック群の組み合わせは、規定された機能または動作を実施する、専用のハードウェア・ベースのシステム、または専用のハードウェアとコンピュータ可読プログラム・コードとの組み合わせによって実装可能なことにも留意する。
各図中のエレメントの説明に先行の図のエレメントを引用することがある。全ての図において、同じ番号は、同じエレメントの別の実施形態も含め、同じエレメントを表す。
図1は、本発明による、メモリ・ブロックを使って状態データを追跡するためのシステム100の一つの実施形態を示す概略ブロック図である。一つの実施形態において、システム100は、メモリ・コントローラ104中の状態トレース装置102と、メモリ・モジュール106と、プロセッサ108と、コンピュータ110とを含み、これらについては下記で説明する。
システム100は、状態トレース装置102を含み、これについては他の図においてさらなる詳細を説明する。一つの実施形態において、状態トレース装置102は、メモリ・コントローラ104の一部である。メモリ・コントローラ104は、当技術分野では周知のものであり、通常、メモリ・モジュール106などのメモリへのデータの出し入れを制御する。一つの実施形態において、メモリ・コントローラ104は、プロセッサ108につながれており、プロセッサ108から命令を受信することができる。メモリ・コントローラ104は、例えばノースブリッジの一部として、プロセッサ108から分離することができ、あるいはプロセッサ108上のダイとすることもできる。メモリ・コントローラ104は、おそらくは、論理ブロック・アドレス(「LBA」:logical block address)の形、または、アドレスおよびオフセット、アドレス範囲などがデータ読み取りまたは書き込みのコマンドと一緒に受信される、他の低レベルのコマンドの形で、読み取りおよび書き込み命令を受信することができる。他の実施形態において、メモリ・コントローラ104が、データがアドレス以外のものによって識別されるオブジェクト要求など、より高次のコマンドを受信できるようにすることが可能である。例えば、データは論理的識別子を使って識別することができ、メモリ・コントローラ104には、論理的識別子と実際のメモリ位置とのマッピングを含めることができる。
一つの実施形態において、メモリ・コントローラ104は、直接メモリアクセス(「DMA」:direct memory access)処理または遠隔DMA(「RDMA」:remote DMA)処理に対応し、データをデータ・ストレージの場所からメモリに直接転送する能力を有する。メモリ・コントローラ104には、データの書き込みおよび読み取りのために特定のデータの場所にアクセスするための、メモリ・モジュール106などのメモリへのアドレス・ラインおよびデータ・ラインを含めることができる。一つの実施形態において、メモリ・ブロックへのブロック書き込みイネーブル入力が、そのメモリ・ブロックにデータを書き込むかどうかの制御をする。例えば、ある特定のアドレスが選択されて、メモリ・コントローラ104がブロック書き込みイネーブル(「BWE」)信号をアサートすると、データ・ライン上に存在するデータを当該アドレスに対応するメモリ位置に書き込むことができる。この書き込みは、一般的な書き込みコマンドに応じて行うことができ、あるいは状態トレース・アクティビティの一部とすることも可能で、これについては後記でさらに詳細に説明する。
一つの実施形態において、システム100は、複数のメモリ・ブロックを含むメモリ・モジュール106を含む。各メモリ・ブロックは別々にアクセスすることができる。例えば、システム100がある特定の数のアドレス・ラインを含んでいる場合、上位アドレス・ビットに対応する一つ以上のアドレス・ラインによって、個別のメモリ・ブロック群を選択することが可能である。簡単な例として、アドレスが8ビットを包含する場合、2つの上位ビットに対応する2つのアドレス・ラインを使って、メモリ・モジュール106中の4つのメモリ・ブロックを選択することができる。2つのアドレス・ライン上の論理「00」の番地は第一メモリ・ブロックにアクセスすることができ、2つのアドレス・ライン上の「01」の番地は第二メモリ・ブロックにアクセスすることができ、2つのアドレス・ライン上の「10」の番地は第三メモリ・ブロックにアクセスすることができ、2つのアドレス・ライン上の「11」の番地は第四メモリ・ブロックにアクセスすることができる。残り6つの低位レベルのアドレス・ラインによって、4つのメモリ・ブロックの各々の中のメモリ位置を選択することができる。
メモリ・モジュール106は、メモリ・コントローラ104によって制御されるメモリの全部または一部であり得る。例えば、メモリ・コントローラ104は、いくつかのメモリを制御することができ、その場合、メモリ・モジュール106のメモリ・ブロックを、状態トレース装置102のためにも使えるように制御することができよう。
プロセッサ108は、一般的なマイクロプロセッサとすることも、専用の状態マシンとすることも、フィールド・プログラム可能ゲート・アレイ、プログラム可能アレイ・ロジック、プログラム可能ロジック・デバイスなど、プログラム可能ハードウエア・デバイスとすることも、または類似のものとすることも可能である。プロセッサ108、およびシステム100の他のコンポーネントは、特定用途向け集積回路(「ASIC」:application specific integrated circuit)などの一部とすることが可能である。コンピュータ110は、メインフレーム・コンピュータ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、スマート・フォン、タブレット・コンピュータ、ワークステーション、またはメモリを具えた任意の他のデバイスとすることができる。当業者は、状態トレース装置102が使用可能な、他のメモリ・コントローラ、メモリ・モジュール106、プロセッサ108、およびコンピュータ110(または類似デバイス)を認識できよう。
図2は、本発明による、メモリ・ブロックを使って状態データを追跡するための装置200の一つの実施形態を示す概略ブロック図である。一つの実施形態において、装置200は、メモリ・モジュール206を有する状態トレース装置102と、アドレス復号モジュール202と、BWEモジュール204と、MUXモジュール206とを含み、これらについては後記で説明する。示された実施形態において、メモリ・モジュール106が状態トレース装置102の内部に示されていることに留意する。他の実施形態では、状態トレース装置102の外部にメモリ・モジュール106を配置することができる。メモリ・モジュール106は、図1に示されたメモリ・モジュール106と同様のものとすることができる。
一つの実施形態において、状態トレース装置102は、メモリ・モジュール106中の複数のメモリ・ブロックの一つ以上のアドレス・ラインを復号するアドレス復号モジュール202を含む。アドレス復号モジュール202のアドレス出力は、メモリ・モジュール106中の複数のメモリ・ブロックの各メモリ・ブロックに対応する。例えば、メモリ・モジュール106が4つのメモリ・ブロックを含む場合、2つのアドレス・ラインを使ってこれら4つのメモリ・ブロックの各々を選択することが可能である。アドレス復号モジュール202には、各メモリ・ブロックに対し一つずつ4つのアドレス出力を含めることができる。2つのメモリ・ブロックを有するメモリ・モジュール106には、一つのアドレス・ラインを使ってアクセスすることが可能なので、2ブロックのメモリ・モジュール106に対するアドレス復号モジュール202は1つのアドレス・ラインを受信すればよい。8つのメモリ・ブロックを有するメモリ・モジュール106には、3つのアドレス・ラインを使ってアクセスが可能であり、従って、8ブロックのメモリ・モジュール106に対するアドレス復号モジュール202は、3つのアドレス・ラインに接続すればよい。
本発明の一つの態様において、メモリ・モジュール106は、通常使用モードにおいて一般データのストレージに用いることができ、状態トレース・モードでは、メモリ・モジュール106のメモリ・ブロックを状態データの格納に使うことができる。メモリ・モジュール106中に格納可能な状態の数が、状態トレース・モードにおいて利用可能なメモリの量に影響することに留意する。例えば、4つの状態が格納される場合、一つの状態データを格納するために利用可能なメモリ・モジュール106中のメモリ量は、メモリ・モジュール106が一般データのストレージに使われる場合の容量の4分の1である。8つの状態が格納される場合、一つの状態データを格納するために利用可能なメモリ・モジュール106中のメモリ量は、メモリ・モジュール106が一般データのストレージに使われる場合の容量の8分の1となる。状態トレース装置102のこのメモリ量の低減特性は、後記の各種実施形態の説明を通してさらに容易に理解できよう。
一つの実施形態において、状態トレース装置102は、メモリ・モジュール106中の複数のメモリ・ブロックの各メモリ・ブロックに対応するブロック書き込みイネーブル(「BWE」)信号を含むBWEモジュール204、を含む。各BWE信号は、ブロック書き込みイネーブル状態とブロック書き込みディスエーブル状態とを有する。一つの実施形態において、ブロック書き込みイネーブル状態は論理「1」であり、ブロック書き込みディスエーブル状態は論理「0」である。BWE信号を使って、状態トレース・モードにおいて、メモリ・ブロックに前に書き込まれたデータを保存するため、そのメモリ・ブロックへの書き込みを無効にすることができ、しかして、BWE信号がブロック書き込みイネーブル状態からブロック書き込みディスエーブル状態に移行した直前の時点におけるデータの状態を保存することができる。
メモリ・モジュール106がリセットされる場合、通常、BWEモジュール204のBWE信号はブロック書き込みイネーブル状態にあるか、または特定の実施形態では、論理「0」状態である。このとき、メモリ・モジュール106へのデータの書き込みが可能になり、メモリ・モジュール106中の複数のメモリ・ブロックの各メモリ・ブロックに同一のデータが書き込まれる。一つの実施形態において、あるメモリ・ブロックに対するBWE信号がブロック書き込みディスエーブル状態、論理「1」に移行し、次回のデータがメモリ・モジュール106のメモリ・ブロックに書き込まれるとき、ブロック書き込みディスエーブル状態のBWE信号を有するそのメモリ・ブロックは、前回のデータ上へのデータ上書きをさせないようにし、しかして前のデータが保護される。
一つの実施形態において、BWEモジュール204はBWEレジスタを含む。BWEレジスタは、各BWE信号がBWEレジスタ中のビットに対応する、ハードウェア・レジスタとすることができる。例えば、特定のビット・パターンをBWEレジスタに格納することによって、BWE信号を制御することが可能である。ある特定の実施形態が4つのメモリ・ブロックを有するメモリ・モジュール106を含む場合、BWEレジスタは4ビットを有することになる。BWEレジスタに「1000」が格納される場合、この第一BWE信号は、対応する第一メモリ・ブロックのデータの書き込みを禁止し、残りのBWE信号は論理「0」として、これにより残りのメモリ・ブロックのデータの書き込みを可能にする命令となり得る。
一つの実施形態において、状態トレース装置102はMUXモジュール206を含む。MUXモジュール206は、メモリ・モジュール106の各メモリ・ブロックに対する、少なくとも一つの出力端と2つの入力端とを有する。ブロック書き込みイネーブル制御(「BWEC」)信号が、例えば論理「0」の、状態トレース・モードにある場合、MUXモジュール206は、BWE信号をMUXモジュール206の出力端に接続し、この出力端はメモリ・モジュール106のメモリ・ブロックの書き込みイネーブル入力端に接続されている。BWEモジュール204の各BWE信号は、別々のMUX出力端に接続されており、従って、各BWE信号は一つのメモリ・ブロックの書き込みイネーブル信号入力端に入力される。BWEC信号が状態トレース・モードにある場合、BWE信号は、どのメモリ・ブロックがデータを書き込むために利用可能かを制御する。BWEC信号は、MUXモジュール206の各MUXの制御入力端に接続することができる。一つの実施形態において、MUXモジュール206はMUX群の集合体である。別の実施形態では、MUXモジュール206は、各出力端がBWEC信号に基づいて少なくとも2つの入力端を選択することが可能な複数の出力端を有する、一つのMUXを有することができる。
BWEC信号が通常使用モード(例えば、論理「1」)にある場合、MUXモジュール206は、アドレス復号モジュール202のアドレス出力端をMUXの出力端に接続し、MUX出力端はメモリ・ブロックの書き込みイネーブル入力端に接続されている。一つの実施形態において、各アドレス復号モジュール202の各アドレス出力端は、メモリ・モジュール106の対応するメモリ・ブロックに接続している。通常使用モードにおいて、データがある特定のアドレスに書き込まれる場合、アドレス復号モジュール202へのアドレス・ラインが、選択されたアドレスに対応する、メモリ・モジュール106のメモリ・ブロックへのデータの書き込みを可能にすることになる。一つの実施形態において、BWEC信号は、レジスタ中のビットに対応している。例えば、このビットは、BWEレジスタの部分とすることができ、ここで、いくつかのビットがBWE信号群に対応し、一つのビットが当該BWEC信号に対応する。別の実施形態において、BWEC信号は別々のレジスタに対応させることができ、あるいは、BWEC信号を、何らかの他のレジスタの部分であるビットとすることも可能である。
図3は、本発明による、メモリ・ブロックを使って状態データを追跡するための装置300の別の実施形態を示す概略ブロック図である。一つの実施形態において、装置300は、アドレス復号モジュール202と、BWEモジュール204と、MUXモジュール206とを有する状態トレース装置102を含み、これらは、図2の装置200に関連して説明したものとほぼ同様である。示された実施形態中の状態トレース装置102内にはメモリ・モジュール106は含まれておらず、該モジュールを状態トレース装置102の外部に設けることが可能である。さまざまな実施形態において、装置300は、BWEシーケンス・モジュール302と、データ更新モジュール304と、トレース・モード・トリガ・モジュール306とを含み、これらについては後記で説明する。
一つの実施形態において、状態トレース装置102は、各BWE信号を、順々にブロック書き込みイネーブル状態からブロック書き込みディスエーブル状態に変更するBWEシーケンス・モジュール302を含む。一つの実施形態において、第一状態がブロック書き込みイネーブル状態の各BWE信号を含むことができ、最終状態がブロック書き込みディスエーブル状態の各BWE信号を含むことができ、各中間状態で、BWE信号が一つずつブロック書き込みイネーブル状態からブロック書き込みディスエーブル状態に移行される。簡単な例として、メモリ・モジュール106が4つのメモリ・ブロックを含む場合、BWEシーケンス・モジュール302は、各々が論理「0」(すなわち「0000」)を有するようにBWE信号を初期化することができる。BWEシーケンス・モジュール302は、BWE信号に、「1000」への第一移行、「1100」への第二移行、「1110」への第三移行、および「1111」への第四移行をさせることができる。
別の実施形態において、状態トレース装置102は、ブロック書き込みイネーブル状態のBWE信号を有する各メモリ・ブロックに第一データを書き込む、データ更新モジュール304を含む。また、データ更新モジュール304は、BWEシーケンス・モジュール302があるメモリ・ブロックに対してブロック書き込みイネーブル状態をブロック書き込みディスエーブル状態に変更した後で、ブロック書き込みイネーブル状態のBWE信号を有する各メモリ・ブロックに、第二データを書き込む。以降、データ更新モジュール304は、BWEシーケンス・モジュール302が、あるBWA信号をブロック書き込みイネーブル状態からブロック書き込みディスエーブル状態に変更するごとに、その後ブロック書き込みイネーブル状態のBWE信号を有する各メモリ・ブロックに追加データを書き込むことができる。状態トレース・モードにおいて、メモリ・モジュール106のメモリ・ブロックにデータが書き込まれるとき、各メモリ・ブロックに同一のデータが書き込まれる。
BWEシーケンス・モジュール302とデータ更新モジュール304とは、各メモリ・ブロックがデータの状態を表せるように、各データ書き込みの後で協働してBWE信号を変更することができる。言い換えれば、各メモリ・ブロックには、ある特定の時間に書き込まれたデータを含めることができる。状態データは、デバッグ作業過程のさまざまな時点で、メモリのコンテンツを判定するため使用することができる。
一つの実施形態において、状態トレース装置102はトレース・モード・トリガ・モジュール306を含み、該モジュールは、BWEシーケンス・モジュール302が、状態トレース・モードでBWEC信号をアサートして、メモリ・モジュール106のメモリ・ブロックに対応する各BWE信号を書き込みイネーブル状態に設定するため信号を変更するのに先立って作動し、さらに、メモリ・モジュール106の各メモリ・ブロックをリセットする。一つの実施形態において、トレース・モード・トリガ・モジュール306は、メモリ・ブロック中の各メモリ位置にデータを書き込んで、メモリ・ブロックをリセットすることができる。例えば、トレース・モード・トリガ・モジュール306は、メモリ・ブロック中の各メモリ位置に全て0または全て1を書き込むことができる。別の実施形態において、トレース・モード・トリガ・モジュール306は、メモリ・ブロック、BWE信号、または他のエレメントを、状態トレース・モードに対して準備するために別のステップもしくは追加のステップまたはその両方を取る。
図4および図5はそれぞれ、本発明による、メモリ・ブロックを使って状態データを追跡するための装置400の特定の実施形態を示す概略ブロック図の、第一部分および第二部分である。図4は、メモリ・ブロック0(402)、メモリ・ブロック1(404)、メモリ・ブロック2(406)、およびメモリ・ブロック3(408)を有するメモリ・モジュール106のある特定の実施形態を示す。各メモリ・ブロック402〜408は、ブロック書き込みイネーブル入力端(「BWEN」)、アドレス入力端(「A」)、およびデータ入力端(「D」)を含む。データ入力端およびアドレス入力端の各々に対し単一のラインが示されているが、当業者は、この単一のラインが複数のアドレス・ラインおよびデータ・ラインを表し得ることに気付いていよう。一つの実施形態において、各メモリ・ブロック402〜408は、BWEN入力端が低のときデータを書き込むことができる。示されたメモリ・コントローラ104は簡略化されており、図5にさらなる詳細が示されている状態トレース装置102を含む。メモリ・コントローラ104上のデータ・ポートおよびアドレス・ポートは、通常、メモリ・モジュール106へのデータ伝送の制御に使用される。メモリ・ブロック402〜408への各BWEN入力端は、状態トレース装置102への別々の接続を含み、これらはBWEN0、BWEN1、BWEN2、およびBWEN3と表記されている。図5では、BWEN信号がさらに明確にされている。
図5は、図4の状態トレース装置に合致する状態トレース装置102を含む。この状態トレース装置102は、状態トレース装置102の一つの実施形態を含み、これには、図2および図3の装置200、300に関連して説明したものとほぼ同様なモジュール群202、204、206、302、304、306を含めることができる。示された実施形態において、アドレス復号モジュール202は、アドレス・ラインA0およびA1を復号するための、さまざまな反転入力端を有するNANDゲートを含む。入力として2つのアドレス・ラインを使って、最大4つのアドレス位置を選択することが可能で、各アドレス位置を一つのメモリ・ブロック(例、402)に対応させることができる。例えば、示された論理回路に基づけば、A0が論理「0」でA1が論理「0」のとき、アドレス復号モジュール202の最上部のNANDゲートは論理「0」の出力を有し、他のNANDゲートは論理「1」の出力を有する。
該状態トレース装置102は、4つのBWE信号、BWE0、BWE1、BWE2、およびBWE3に対応する4つのビットを具えたBWEレジスタ410を有するBWEモジュール204を含む。BWEレジスタ410のコンテンツが変わると、BWE信号が変化する。一つの実施形態において、状態トレース装置102は、BWECレジスタ412を含み、BWECレジスタ412の変更によりBWEC信号が変わる。一つの実施形態において、状態トレース装置102は、BWEシーケンス・モジュール302と、データ更新モジュール304と、トレース・モード・トリガ・モジュール306とを含み、これらは、BWEレジスタ410、BWECレジスタ412、およびタイミングに作用する。例えば、トレース・モード・トリガ・モジュール306は、BWEレジスタ410を「0000」に、BWECレジスタ412を「0」に設定して、メモリ・ブロック402〜408をリセットすることができる。BWEシーケンス・モジュール302は、BWEレジスタ410のコンテンツを順々に変更することができる。データは、BWEシーケンス・モジュール302が、データ更新とデータ更新との間にBWEレジスタ410を変更するように、データ更新モジュール304によって書き込むことができる。
一つの実施形態において、状態トレース装置102は、4つのMUXを有するMUXモジュール206を含む。各MUXは、BWE信号に接続された入力端と、アドレス復号モジュール202の出力端に接続された入力端とを有する。また、各MUXは、図示のように、図4中のメモリ・モジュール106のメモリ・ブロック402〜408に接続する、BWEN信号である出力端を有する。図6は、図4および図5の装置400に対応する真理値表である。BWECが低(すなわち論理「0」)のとき、アドレス・ラインA0、A1は無視され、BWE信号の状態が、メモリ・ブロック402〜408のBWEN入力端に出力される。BWECが高(すなわち論理「1」)のときは、BWE信号が無視される。また、BWECが高のときは、A0、A1を復号して得られた値が適切なBWEN信号端に出力され、適切なメモリ・ブロック402〜408がデータ書き込みイネーブルとなる。例えば、BWECが高でA0およびA1が低の場合、BWEN0は低であり、しかして、データのメモリ・ブロック0(402)への書き込みを有効にし、BWEN1、BWEN2、およびBWEN3は高であり、従って他のメモリ・ブロック404〜408へのデータ書き込みは無効となる。
図7は,本発明による、メモリ・ブロックを使って状態データを追跡するための装置の例示的なタイミング図600である。一つの実施形態において、例600は、図4および図5の装置400に対応する。この例において、時間T0の前は、BWECレジスタ412およびBWEレジスタ410は全てリセットされており、従って各ビットは低である。時間T0の後、メモリ・ブロック402〜408のコンテンツが全て「00」になるように、メモリ・ブロック0〜3(402〜408)にデータが書き込まれる。一つの実施形態において、トレース・モード・トリガ・モジュール306は、メモリ・ブロックと、BWECレジスタ412およびBWEレジスタ410のコンテンツとをリセットする。
時間T1の後、「AA」が、各メモリ・ブロック402〜408の位置0、1、2、および3に書き込まれる。全4つのメモリ・ブロック402〜408は、この時点において最新の状態データを含む。一つの実施形態において、データ更新モジュール304がメモリ・ブロック402〜408にデータを書き込む。時間T2の前に、BWE0が高に変更される。時間T2の後、メモリ・ブロック1、2、および3(404、406、408)のメモリ位置2および3に、「BB」が書き込まれる。時間T3の前に、BWE1が高に変更され、BWE0は高のままである。これは、メモリ・ブロック1(404)への書き込みを無効にする。時間T3の後、メモリ・ブロック2、および3(406、408)の位置1および2に、「CC」が書き込まれる。メモリ・ブロック0および1(402、404)は変わらず、しかして時間T3前の状態データが保たれる。
時間T4の前に、BWE2が高に変更され、この間BWE0およびBWE1は高のままである。BWE3は低に留まる。メモリ・ブロック0、1、および2(402、404、406)への書き込みは無効化され、従って、メモリ・ブロック3(408)だけが書き込みのため利用可能である。時間T4の後、メモリ・ブロック3(408)中のメモリ位置2および3に「DD」が書き込まれる。この時点で、メモリ・ブロック3(408)は時間T4後の最新のデータ状態を反映し、メモリ・ブロック2(406)は時間T3後のデータ状態を反映し、メモリ・ブロック1(404)は時間T2後のデータ状態を反映し、メモリ・ブロック0(402)は時間T1後のデータ状態を反映している。メモリ・ブロック402〜408中に反映された状態データは、デバッギングに、または、さまざまな時点において、メモリ中に何が包含されていたかの来歴が役立ち得る他の処理に使うことができる。
なお、提示された例600は、順次に変更されるデータを示しているが、他の実施形態においては、BWE信号の変更と変更との間に、データが一回以上変更されることがある。さらに、他の諸実施形態は、メモリ・モジュール106中に4つより多いまたは少ないメモリ・ブロックを含み得る。他の諸実施形態において、メモリ・モジュール106は、プロセッサ108にアクセスされる、またはメモリ・コントローラ104に制御されるメモリの一部とすることもまたは全部とすることも可能である。提示された例600では、簡明化のため少数のビットだけが変更されているが、当業者は、メモリ・ブロックが、64ビット、128ビットなどもっと多くのビットを有し得ること、および一つのメモリ・ブロックが多くのアドレス可能メモリ位置を有し得ることに気付いていよう。他の諸実施形態では、メモリ・ブロックを小さくすることができ、レジスタ・データを反映することが可能である。当業者は、状態トレース装置102と、複数のメモリ・ブロックを有するメモリ・モジュール106を使った他の構成を用いることができることに気付いていよう。
図8は、本発明による、メモリ・ブロックを使って状態データを追跡する方法700の一つの実施形態を示す概略フローチャート図である。方法700が開始され、複数のメモリ・ブロックの一つ以上のアドレス・ラインを復号する702。アドレス出力は、複数のメモリ・ブロックの各メモリ・ブロックに対応している。一つの実施形態において、アドレス復号モジュール202は、アドレス・ラインを復号し702、各メモリ・ブロックに対応するアドレス出力は、アドレス復号モジュール202のアドレス出力である。
方法700は、複数のメモリ・ブロックの各メモリ・ブロックに対応するBWE信号を受信する704。各BWE信号は、ブロック書き込みイネーブル状態とブロック書き込みディスエーブル状態とを有する。一つの実施形態において、BWEモジュール204はBWE信号群を含み、該モジュールにはBWEレジスタ410を含めることができる。方法700は、BWEC信号の状態を判定する706。方法700が、BWEC信号は状態トレース・モードにあると判定した706場合、方法700は、各メモリ・ブロックに対応するBWE信号を当該メモリ・ブロックのブロック書き込みイネーブル入力端に送って708、方法700は終了する。方法700が、BWEC信号は通常使用モードにあると判定した706場合、方法700は、アドレス・デコーダの出力を対応するメモリ・ブロックのブロック書き込みイネーブル入力端に送って710、方法700は終了する。一つの実施形態において、MUXモジュール206は、BWEC信号が状態トレース・モードまたは通常使用モードのいずれにあるのかを判定し706、メモリ・ブロックに、BWE信号を送る708か、またはアドレス・デコーダの出力を送る710。
図9は、本発明による、メモリ・ブロックを使って状態データを追跡する方法800の別の実施形態を示す概略フローチャート図である。方法800が開始され、BWEC信号が状態トレース・モードにあることを判定する802。一つの実施形態において、MUXモジュール206は、BWEC信号が状態トレース・モードにあることを判定する802。方法800は、メモリ・ブロックおよびBWEレジスタをリセットする804。一つの実施形態において、トレース・モード・トリガ・モジュール306が、BWEレジスタおよびメモリ・ブロックをリセットする804。
方法800は、メモリ・ブロックにデータを書き込み806、一つのBWE信号を変更する808。一つの実施形態において、BWE信号が、ブロック書き込みイネーブル状態からブロック書き込みディスエーブル状態に変わる808。例えば、BWE信号が、論理「0」から論理「1」に変わる808。データ更新モジュール304がメモリ・ブロックにデータを書き込む806ことができ、BWEシーケンス・モジュール302はBWE信号を変更する808ことができる。方法800は、変更対象となるさらなるBWE信号があるかどうかを判定する810。例えば、4つのBWE信号があり、第一BWE信号(例、BWE0)が変更された808場合、方法800は、さらなる変更対象のBWE信号があると判定する810ことができる。
方法800が、さらなる変更対象のBWE信号があると判定した810場合、方法800は戻って、ブロック書き込みイネーブル状態のBWE信号を有するメモリ・ブロックに追加データを書き込む806。方法800が、変更対象のBWE信号はもうないと判定した810場合、方法800は、メモリ・ブロック中に格納された状態データを評価して812、方法800は終了する。一つの実施形態において、さらなる変更対象のBWE信号があるかどうかはBWEシーケンス・モジュール302が判定する810。
これら諸実施形態は、他の具体的な形態で実践することが可能である。説明した諸実施形態は、あらゆる点で、単なる例示的かつ非限定的なものと見なすべきである。従って、本発明の範囲は、前述の説明よりもむしろ添付の請求項によって示される。これら請求項と等価の意図および範囲内に入る全ての変更は、請求項の範囲内に包含されるべきものである。
100 システム
102 状態トレース装置
104 メモリ・コントローラ
106 メモリ・モジュール
108 プロセッサ
110 コンピュータ

Claims (25)

  1. 複数のメモリ・ブロックを含むメモリ・モジュールと、
    前記複数のメモリ・ブロックの一つ以上のアドレス・ラインを復号するアドレス復号モジュールであって、前記アドレス復号モジュールのアドレス出力は、前記複数のメモリ・ブロックの各メモリ・ブロックに対応する、前記アドレス復号モジュールと、
    前記複数のメモリ・ブロックの各メモリ・ブロックに対応するブロック書き込みイネーブル(「BWE」)信号を含むBWEモジュールであって、各BWE信号は、ブロック書き込みイネーブル状態とブロック書き込みディスエーブル状態とを有する、前記BWEモジュールと、
    前記複数のメモリ・ブロックの各メモリ・ブロックの書き込みイネーブル入力端に、
    通常使用モードにおいてブロック書き込みイネーブル制御(「BWEC」)信号を受信するのに応じて前記アドレス復号モジュールの対応するアドレス出力、および
    状態トレース・モードにおいて前記BWEC信号を受信するのに応じて対応するBWE信号、
    のうちの一つを送るMUXモジュールと、
    を含む装置。
  2. 第一状態が前記ブロック書き込みイネーブル状態の各BWE信号を含み、最終状態が前記ブロック書き込みディスエーブル状態の各BWE信号を含み、各中間状態で、BWE信号が一つずつ前記ブロック書き込みイネーブル状態から前記ブロック書き込みディスエーブル状態に移行されるように、各BWE信号を順々に前記ブロック書き込みイネーブル状態から前記ブロック書き込みディスエーブル状態に変更する、BWEシーケンス・モジュールをさらに含む、請求項1に記載の装置。
  3. 前記ブロック書き込みイネーブル状態のBWE信号を有する各メモリ・ブロックに第一データを書き込み、前記BWEシーケンス・モジュールが、あるメモリ・ブロックに対するBWE信号を前記ブロック書き込みイネーブル状態から前記ブロック書き込みディスエーブル状態に変更した後に、前記ブロック書き込みイネーブル状態のBWE信号を有する各メモリ・ブロックに第二データを書き込む、データ更新モジュールをさらに含む、請求項2に記載の装置。
  4. 前記データ更新モジュールが、前記BWEシーケンス・モジュールがあるBWE信号を前記ブロック書き込みイネーブル状態から前記ブロック書き込みディスエーブル状態に変更するごとに、その後前記ブロック書き込みイネーブル状態のBWE信号を有する各メモリ・ブロックに追加データを書き込む、請求項3に記載の装置。
  5. 前記BWEシーケンス・モジュールがBWE信号を変更するに先立って、
    前記状態トレース・モードの前記BWEC信号をアサートし、
    前記複数のメモリ・ブロックのメモリ・ブロックに対応する各BWE信号を書き込みイネーブル状態に設定し、
    前記複数のメモリ・ブロックの各メモリ・ブロックをリセットする、
    トレース・モード・トリガ・モジュールをさらに含む、請求項2に記載の装置。
  6. 前記BWECが前記通常使用モードにあって、前記BWEC信号が第一状態にあり、前記一つ以上のアドレス・ラインが、複数のメモリ・ブロックの、あるメモリ・ブロックを選択したとき、データは前記メモリ・ブロックに書き込まれ、前記データは前記複数のメモリ・ブロックの残りのメモリ・ブロックには書き込まれない、請求項1に記載の装置。
  7. 前記BWEC信号が前記状態トレース・モードにあるとき、データは、前記ブロック書き込みイネーブル状態のBWE信号を有する、前記複数のメモリ・ブロックの各メモリ・ブロックに書き込まれ、データは、前記書き込みディスエーブル状態のBWE信号を有する、前記複数のメモリ・ブロックの各メモリ・ブロックには書き込まれない、請求項1に記載の装置。
  8. 前記MUXモジュールは、前記複数のメモリ・ブロックの各メモリ・ブロックに対する、2つの入力端と1つの出力端とを具える一つ以上のマルチプレクサ(MUX)を含み、一つの入力はBWE信号であり、一つの入力は前記アドレス復号モジュールのアドレス出力であり、前記出力端は、メモリ・ブロックの前記書き込みイネーブル入力端につながれている、請求項1に記載の装置。
  9. 前記アドレス復号モジュールはアドレス・デコーダを含み、前記アドレス・デコーダは、入力として前記一つ以上のアドレス・ラインを受信し前記複数のメモリ・ブロックの各メモリ・ブロックに対応する信号を出力する、ディスクリート・ハードウェアを含み、前記一つ以上のアドレス・ラインの各状態は、前記複数のメモリ・ブロックの一つを選択する、請求項1に記載の装置。
  10. 前記BWEモジュールはBWEレジスタを含み、前記BWEレジスタは、各BWE信号に対応するビットを有するハードウェア・レジスタを含む、請求項1に記載の装置。
  11. メモリ・モジュールに対するデータ読み取りおよび書き込みを制御するメモリ・コントローラであって、前記メモリ・モジュールは、複数のメモリ・ブロックを含み、前記メモリ・コントローラは、
    前記複数のメモリ・ブロックの一つ以上のアドレス・ラインを復号するアドレス復号モジュールであって、前記アドレス復号モジュールのアドレス出力は、前記複数のメモリ・ブロックの各メモリ・ブロックに対応する、前記アドレス復号モジュールと、
    前記複数のメモリ・ブロックの各メモリ・ブロックに対応するブロック書き込みイネーブル(「BWE」)信号を含むBWEモジュールであって、各BWE信号は、ブロック書き込みイネーブル状態とブロック書き込みディスエーブル状態とを有する、前記BWEモジュールと、
    前記複数のメモリ・ブロックの各メモリ・ブロックの書き込みイネーブル入力端に、通常使用モードにおいてブロック書き込みイネーブル制御(「BWEC」)信号を受信するのに応じて前記アドレス復号モジュールの対応するアドレス出力、および状態トレース・モードにおいて前記BWEC信号を受信するのに応じて対応するBWE信号、のうちの一つを送るMUXモジュールと、
    を含む、
    前記メモリ・コントローラを含むシステム。
  12. 前記メモリ・モジュールをさらに含む、請求項11に記載のシステム。
  13. 前記メモリ・モジュールを制御し、前記メモリ・モジュールからデータを読み取り、前記メモリ・モジュールにデータを書き込むプロセッサをさらに含む、請求項11に記載のシステム。
  14. コンピュータをさらに含み、前記コンピュータは前記プロセッサによって制御される、請求項13に記載のシステム。
  15. 状態をトレースする方法であって、
    アドレス復号モジュールを用い、複数のメモリ・ブロックの一つ以上のアドレス・ラインを復号するステップであって、前記アドレス復号モジュールのアドレス出力は、前記複数のメモリ・ブロックの各メモリ・ブロックに対応する、前記復号するステップと、
    前記複数のメモリ・ブロックの各メモリ・ブロックに対応するブロック書き込みイネーブル(「BWE」)信号を受信するステップであって、各BWE信号は、ブロック書き込みイネーブル状態とブロック書き込みディスエーブル状態とを有する、前記受信するステップと、
    前記複数のメモリ・ブロックの各メモリ・ブロックの書き込みイネーブル入力端に、
    通常使用モードにおいてブロック書き込みイネーブル制御(「BWEC」)信号を受信するのに応じてアドレス復号モジュールの対応するアドレス出力、および
    状態トレース・モードにおいてBWEC信号を受信するのに応じて対応するBWE信号、
    のうちの一つを送るステップと、
    を含む方法。
  16. 前記BWEC信号が前記状態トレース・モードを含むとき、第一状態が前記ブロック書き込みイネーブル状態の各BWE信号を含み、最終状態が前記ブロック書き込みディスエーブル状態の各BWE信号を含み、各中間状態で、BWE信号が一つずつ前記ブロック書き込みイネーブル状態から前記ブロック書き込みディスエーブル状態に移行されるように、各BWE信号を順々に前記ブロック書き込みイネーブル状態から前記ブロック書き込みディスエーブル状態に変更するステップをさらに含む、請求項15に記載の方法。
  17. 前記メモリ・ブロックの前記書き込みイネーブル入力端に前記ブロック書き込みイネーブル状態のBWE信号を有する、各メモリ・ブロックに対しデータを書き込むステップであって、各メモリ・ブロックは、前記複数のメモリ・ブロックのブロックを含み、前記ブロック書き込みイネーブル状態のBWE信号を有する前記メモリ・ブロックの各々に同一のデータが書き込まれる、前記書き込むステップをさらに含む、請求項16に記載の方法。
  18. 前記ブロック書き込みイネーブル状態のBWE信号を有する各メモリ・ブロック中に追加データを書き込む一回以上のインスタンスをさらに含み、前記ブロック書き込みイネーブル状態のBWE信号を有する前記メモリ・ブロックへのデータ書き込みの各回のインスタンスの間で、一つのBWE信号が前記ブロック書き込みイネーブル状態からブロック書き込みディスエーブル状態に移行し、追加データが書き込まれるとき、前記ブロック書き込みイネーブル状態のBWE信号を有する前記メモリ・ブロックの各々に同一の追加データが書き込まれる、請求項17に記載の方法。
  19. 前記BWECが前記通常使用モードを含むとき、前記一つ以上のアドレス・ラインが、前記複数のメモリ・ブロックのあるメモリ・ブロックに対応するアドレスをアサートするのに応じ、データを前記メモリ・ブロック中に書き込むステップをさらに含み、データが書き込まれる前記メモリ・ブロックとは異なるアドレスを有する、前記複数のメモリ・ブロックの前記メモリ・ブロックには前記データは書き込まれない、請求項15に記載の方法。
  20. 複数のメモリ・ブロックを含むメモリと、
    通常使用モードおよび状態トレース・モードのうちの一つにある、ブロック書き込みイネーブル制御(「BWEC」)信号と、
    前記複数のメモリ・ブロックの一つ以上のアドレス・ラインを復号し、アドレス・デコーダのアドレス出力に応じて、前記アドレス出力に対応するアドレスを選択する、前記アドレス・デコーダであって、前記アドレス・デコーダの前記アドレス出力は、前記複数のメモリ・ブロックの各メモリ・ブロックに対応する、前記アドレス・デコーダと、
    前記複数のメモリ・ブロックの各メモリ・ブロックに対応するブロック書き込みイネーブル(「BWE」)信号であって、各BWE信号は、ブロック書き込みイネーブル状態とブロック書き込みディスエーブル状態とを有する、前記BWE信号と、
    2つ以上のマルチプレクサ(「MUX」)であって、各MUXが前記BWEC信号に応じて入力を選択し、前記選択した入力を前記複数のメモリ・ブロックの各メモリ・ブロックの書き込みイネーブル入力端に送り、各MUXへの前記入力は、前記アドレス・デコーダの対応するアドレス出力、および対応するBWE信号を含み、各MUXは、通常使用モードにある前記BWEC信号に応じて前記アドレス・デコーダの前記対応するアドレス出力を選択し、各MUXは、状態トレース・モードにある前記BWEC信号に応じて前記対応するBWE信号を選択する、前記2つ以上のMUXと、
    を含む装置。
  21. 各BWE信号に対応するビットを含むBWEレジスタをさらに含み、前記BWEレジスタのビットの状態が対応するBWE信号を制御する、請求項20に記載の装置。
  22. 前記BWEC信号が前記状態トレース・モードにある間、
    前記複数のメモリ・ブロックがリセットされるとき、各BWE信号を前記ブロック書き込みイネーブル状態に設定し、
    データが前記複数のメモリ・ブロックの各メモリ・ブロックに書き込まれた後、第一BWE信号を前記ブロック書き込みイネーブル状態から前記ブロック書き込みディスエーブル状態に変更し、各メモリ・ブロックに書き込まれた前記データは同一のデータを含み、
    前記ブロック書き込みイネーブル状態のBWE信号を有する、前記複数のメモリ・ブロックの各メモリ・ブロックに追加データが書き込まれた後、第二BWE信号を、順々に前記ブロック書き込みイネーブル状態から前記ブロック書き込みディスエーブル状態に変更し、各メモリ・ブロックに書き込まれた前記追加データは同一の追加データを含み、
    前記ブロック書き込みイネーブル状態のBWE信号を有する、前記複数のメモリ・ブロックの各メモリ・ブロックに追加データの各セットが書き込まれた後、前記BWE信号が全て前記ブロック書き込みディスエーブル状態になるまで、前記BWE信号を順々にブロック書き込みイネーブル状態から前記ブロック書き込みディスエーブル状態に変更し続け、各メモリ・ブロックに書き込まれた前記追加データは同一の追加データを含む、
    BWEシーケンス・モジュールをさらに含み、
    メモリ・ブロックに書き込まれたデータは、前記メモリ・ブロックに対する前記BWE信号が前記ブロック書き込みディスエーブル状態に変更された後は保存され、メモリ・ブロック群はデータ状態のシーケンスを表す、
    請求項20に記載の装置。
  23. 前記複数のメモリ・ブロックの前記一つ以上のアドレス・ラインは、前記複数のメモリ・ブロックへのアドレス・ラインのセットのサブセットを含み、前記アドレス・ラインのセットは、前記複数のメモリ・ブロック中のメモリ位置をアドレス指定し、前記アドレス・ラインのサブセットは、前記アドレス・ラインのセットの最上位ビット群に対応し、前記アドレス・ラインのサブセットは、前記複数のメモリ・ブロックのメモリ・ブロックを選定するために十分なものである、請求項20に記載の装置。
  24. 前記BWEC信号を前記通常使用モードに設定する通常使用モジュールをさらに含み、前記MUXは、前記アドレス・デコーダを、前記複数のメモリ・ブロックの前記書き込みイネーブル入力端に接続し、前記通常使用モジュールは、前記複数のメモリ・ブロックを、汎用データのストレージのために使うことを可能にする、請求項20に記載の装置。
  25. 複数のメモリ・ブロックを含むメモリ・モジュールと、
    前記複数のメモリ・ブロックの一つ以上のアドレス・ラインを復号するアドレス復号モジュールであって、前記アドレス復号モジュールのアドレス出力は、前記複数のメモリ・ブロックの各メモリ・ブロックに対応する、前記アドレス復号モジュールと、
    前記複数のメモリ・ブロックの各メモリ・ブロックに対応するブロック書き込みイネーブル(「BWE」)信号を含むBWEモジュールであって、各BWE信号は、ブロック書き込みイネーブル状態とブロック書き込みディスエーブル状態とを有する、前記BWEモジュールと、
    前記複数のメモリ・ブロックの各メモリ・ブロックの書き込みイネーブル入力端に、
    通常使用モードにおいてブロック書き込みイネーブル制御(「BWEC」)信号を受信するのに応じて前記アドレス復号モジュールの対応するアドレス出力、および
    状態トレース・モードにおいて前記BWEC信号を受信するのに応じて対応するBWE信号、
    のうちの一つを送るMUXモジュールと、
    第一状態が前記ブロック書き込みイネーブル状態の各BWE信号を含み、最終状態が前記ブロック書き込みディスエーブル状態の各BWE信号を含み、各中間状態で、BWE信号が一つずつ前記ブロック書き込みイネーブル状態から前記ブロック書き込みディスエーブル状態に移行されるように、各BWE信号を順々に前記ブロック書き込みイネーブル状態から前記ブロック書き込みディスエーブル状態に変更するBWEシーケンス・モジュールと、
    前記ブロック書き込みイネーブル状態のBWE信号を有する各メモリ・ブロックに第一データを書き込み、前記BWEシーケンス・モジュールが、あるメモリ・ブロックに対するBWE信号を前記ブロック書き込みイネーブル状態から前記ブロック書き込みディスエーブル状態に変更した後に、前記ブロック書き込みイネーブル状態のBWE信号を有する各メモリ・ブロックに第二データを書き込むデータ更新モジュールであって、前記データ更新モジュールは、前記BWEシーケンス・モジュールがあるBWE信号を前記ブロック書き込みイネーブル状態から前記ブロック書き込みディスエーブル状態に変更するごとに、その後前記ブロック書き込みイネーブル状態のBWE信号を有する各メモリ・ブロックに追加データを書き込む、前記データ更新モジュールと、
    を含む装置。
JP2013126292A 2012-07-26 2013-06-17 複数のブロックの書き込み制御を用いるメモリ・システム、装置、および方法 Expired - Fee Related JP6104065B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/559,414 US9098628B2 (en) 2012-07-26 2012-07-26 Memory system with multiple block write control to control state data
US13/559414 2012-07-26

Publications (2)

Publication Number Publication Date
JP2014026645A JP2014026645A (ja) 2014-02-06
JP6104065B2 true JP6104065B2 (ja) 2017-03-29

Family

ID=49996092

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013126292A Expired - Fee Related JP6104065B2 (ja) 2012-07-26 2013-06-17 複数のブロックの書き込み制御を用いるメモリ・システム、装置、および方法

Country Status (2)

Country Link
US (1) US9098628B2 (ja)
JP (1) JP6104065B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9588834B1 (en) * 2013-03-28 2017-03-07 Juniper Networks, Inc. Methods and apparatus for improved fault analysis

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01106143A (ja) * 1987-10-19 1989-04-24 Hitachi Ltd リアルタイムトレース装置
JPH0535943A (ja) 1991-01-21 1993-02-12 Oki Electric Ind Co Ltd 券発行システム
JP2636107B2 (ja) 1991-12-12 1997-07-30 工業技術院長 デバッグ支援装置
JPH0798668A (ja) 1993-09-29 1995-04-11 Nec Field Service Ltd 情報処理装置の障害情報格納方式
JPH07281929A (ja) 1994-04-06 1995-10-27 Oki Electric Ind Co Ltd トレース情報収集装置
JP3491379B2 (ja) 1995-04-11 2004-01-26 富士ゼロックス株式会社 情報処理装置及びトレース情報格納方法
JPH0926918A (ja) 1995-07-10 1997-01-28 Toshiba Corp メモリシステム及びそのメモリ制御装置
JP4413306B2 (ja) 1999-03-23 2010-02-10 株式会社東芝 半導体記憶装置
JP2000339189A (ja) 1999-05-28 2000-12-08 Nec Microcomputer Technology Ltd 不正なメモリアクセスを検出する方法、デバッグ装置および記録媒体
JP2001175509A (ja) 1999-12-17 2001-06-29 Hitachi Ltd トレース情報管理方法
JP2001202270A (ja) * 2000-01-21 2001-07-27 Mitsubishi Electric Corp 内部バストレース機能付プロセッサ
JP3699890B2 (ja) 2000-08-30 2005-09-28 シャープ株式会社 不揮発性半導体記憶装置
US6961875B2 (en) * 2001-03-22 2005-11-01 International Business Machines Corporation Method and apparatus for capturing event traces for debug and analysis
JP2006018705A (ja) 2004-07-05 2006-01-19 Fujitsu Ltd メモリアクセストレースシステムおよびメモリアクセストレース方法
JP2007206912A (ja) 2006-02-01 2007-08-16 Alaxala Networks Corp トレースメモリの有効利用方式

Also Published As

Publication number Publication date
US20140032859A1 (en) 2014-01-30
US9098628B2 (en) 2015-08-04
JP2014026645A (ja) 2014-02-06

Similar Documents

Publication Publication Date Title
TWI607308B (zh) 用於基於記憶體資料判定比較資訊之設備、系統與方法
US10002085B2 (en) Peripheral component interconnect (PCI) device and system including the PCI
US10445088B2 (en) System boot code clone
US7406560B2 (en) Using multiple non-volatile memory devices to store data in a computer system
US10372446B2 (en) Technology to dynamically modulate memory device read granularity
US10866736B2 (en) Memory controller and data processing circuit with improved system efficiency
US11194486B2 (en) Storage data sanitization
US10636506B2 (en) Methods for testing a storage unit and apparatuses using the same
JP2006195990A (ja) 半導体ディスク制御装置
US10656833B2 (en) Hybrid memory drives, computer system, and related method for operating a multi-mode hybrid drive
US20210109762A1 (en) Multi-die and multi-core computing platform and booting method for the same
KR101254646B1 (ko) 솔리드 스테이트 드라이브 테스터에서 스토리지 인터페이스장치
US10338998B2 (en) Methods for priority writes in an SSD (solid state disk) system and apparatuses using the same
EP3462321B1 (en) Techniques to perform memory indirection for memory architectures
US9990311B2 (en) Peripheral interface circuit
US9904622B2 (en) Control method for non-volatile memory and associated computer system
US20150199201A1 (en) Memory system operating method providing hardware initialization
JP6104065B2 (ja) 複数のブロックの書き込み制御を用いるメモリ・システム、装置、および方法
US11392470B2 (en) Information handling system to allow system boot when an amount of installed memory exceeds processor limit
US20140047290A1 (en) Error generating apparatus for solid state drive tester
US20100262763A1 (en) Data access method employed in multi-channel flash memory system and data access apparatus thereof
US10795771B2 (en) Information handling system with reduced data loss in block mode
US11372781B2 (en) Programmable chip enable for switching and selecting functions to reduce data loading and increase throughput
US20240004579A1 (en) Computational storage device, and computational storage system and electronic system including the same
KR20110041613A (ko) Dram 인터페이스와 공유 메모리 영역을 통한 비휘발성 메모리 장치와 자기 기록 매체에 접근할 수 있는 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160524

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170228

R150 Certificate of patent or registration of utility model

Ref document number: 6104065

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees