JP2008033657A - Memory control device, information processor and memory control method - Google Patents
Memory control device, information processor and memory control method Download PDFInfo
- Publication number
- JP2008033657A JP2008033657A JP2006206703A JP2006206703A JP2008033657A JP 2008033657 A JP2008033657 A JP 2008033657A JP 2006206703 A JP2006206703 A JP 2006206703A JP 2006206703 A JP2006206703 A JP 2006206703A JP 2008033657 A JP2008033657 A JP 2008033657A
- Authority
- JP
- Japan
- Prior art keywords
- value
- write
- byte
- specific
- memory device
- 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.)
- Pending
Links
Images
Abstract
Description
本発明はライトマスク書き込み処理を実行するためのメモリ制御装置および同メモリ制御装置を含む情報処理装置並びにメモリ制御方法に関する。 The present invention relates to a memory control device for executing a write mask writing process, an information processing device including the memory control device, and a memory control method.
従来、バイトイネーブル定義の無いバスを介してメモリを制御する場合には、例えば、次のような方法で、特定のバイト部のみを書き換えるためのイネーブルライトが実行されている。 Conventionally, when a memory is controlled via a bus without a byte enable definition, for example, an enable write for rewriting only a specific byte portion is executed by the following method.
(1)リードモディファイライト
リードモディファイライトは、一度処理ビット幅のデータをすべてメモリデバイスからリードしてからライトすべきバイト部のみの値を書き換え、そして再びライトを行う方法である。この方法では一度データをリードする必要があり、データバスが半二重の場合方向切り替えのためのターンアラウンド時間が必要になり、アクセスタイムが大きくなる。
(1) Read-modify-write Read-modify-write is a method that once reads all data of the processing bit width from the memory device, rewrites the value of only the byte part to be written, and then writes again. In this method, it is necessary to read data once. When the data bus is half-duplex, a turnaround time for switching the direction is required, and the access time is increased.
(2)ライトマスク
ライトマスクは、ライトマスクキーと呼ばれるキーを含むライトマスクコマンドを用いてイネーブルライトを実行する方法である。メモリデバイス内のライト回路には、バイト毎に比較器が付いており、キーの値と書き込みデータ内の個々のバイト部の値とが比較され、キーの値に一致するバイト部の書き込みが禁止される。リードモディファイライトを用いた場合よりも、効率よくイネーブルライトを実行することができる。非特許文献1には、上述のライトマスクをサポートするメモリが開示されている。
しかし、上述のライトマスクを使用してイネーブルライトを実行する場合においては、コントローラ側では、書き込みデータ内のどの有効バイト部とも一致しない値をキーとして使用するために、キーの値を書き込みデータから算出するというキー特定処理を行うことが必要となる。 However, when executing the enable write using the write mask described above, the controller side uses the value of the key from the write data in order to use a value that does not match any valid byte part in the write data as the key. It is necessary to perform a key specifying process of calculating.
例えば、キーが8ビットから構成される場合においては、キーによって表現可能な値は256パターンあるので、キー特定処理では、各有効バイト部のライトデータをデコードして有効バイト部のライトデータ毎にパターンを調べ、256パターンの中からどの有効バイト部においても使用されていないパターンを検出することが必要となる。したがって、キー特定処理のためにコントローラ内の回路が肥大化するという問題が発生する。 For example, when the key is composed of 8 bits, there are 256 patterns that can be represented by the key. Therefore, in the key specifying process, the write data of each valid byte part is decoded and each write data of the valid byte part is decoded. It is necessary to check the pattern and detect a pattern that is not used in any valid byte part from 256 patterns. Therefore, there arises a problem that a circuit in the controller is enlarged for the key specifying process.
本発明は上述の事情を考慮してなされたものであり、書き込みデータからキーを算出するというキー特定処理を行うことなく、イネーブルライト処理を効率よく実行することが可能なメモリ制御装置および情報処理装置並びにメモリ制御方法を提供することを目的とする。 The present invention has been made in consideration of the above circumstances, and a memory control device and information processing capable of efficiently executing enable write processing without performing key specification processing of calculating a key from write data An object is to provide an apparatus and a memory control method.
上述の課題を解決するため、本発明は、ライトマスクコマンドによって指定されるキーの値と書き込みデータ内の個々のバイト部の値とを比較することによって前記キーの値に一致するバイト部の書き込みを禁止するライトマスク機能を有するメモリデバイスを制御するメモリ制御装置であって、特定の第1の値を有するキーを指定するライトマスクコマンドを前記メモリデバイスに送信する処理と、書き込みデータを構成する複数バイト部の中で書き込みを禁止すべき無効バイト部の値を前記特定の第1の値に置き換えた後に前記書き込みデータを前記メモリデバイスに送信する処理とを含む第1のライトマスク書き込みサイクルを実行する手段と、特定の第2の値を有するキーを指定するライトマスクコマンドを前記メモリデバイスに送信する処理と、前記書き込みデータを構成する複数バイト部の中で、書き込みを行うべき有効バイト部であって且つ前記特定の第1の値を有する有効バイト部を除く他の各バイト部の値を前記特定の第2の値に置き換えた後に前記書き込みデータを前記メモリデバイスに送信する処理とを含む第2のライトマスク書き込みサイクルを実行する手段とを具備することを特徴とする。 In order to solve the above-described problem, the present invention writes a byte portion that matches the key value by comparing the value of the key specified by the write mask command with the value of each byte portion in the write data. A memory control apparatus for controlling a memory device having a write mask function for prohibiting the write device, comprising: processing for transmitting a write mask command designating a key having a specific first value to the memory device; and write data A first write mask write cycle including: processing of transmitting the write data to the memory device after replacing a value of an invalid byte portion that should be prohibited from being written in the plurality of byte portions with the specific first value. A means for executing and a write mask command designating a key having a specific second value to said memory device. And a value of each byte part other than a valid byte part that is a valid byte part to be written and has the specific first value among a plurality of byte parts constituting the write data. Means for executing a second write mask write cycle including a process of transmitting the write data to the memory device after the replacement with the specific second value.
本発明によれば、書き込みデータからキーを算出するというキー特定処理を行うことなく、イネーブルライト処理を効率よく実行することが可能となる。 According to the present invention, it is possible to efficiently execute the enable write process without performing the key specifying process of calculating the key from the write data.
以下、図面を参照して、本発明の実施形態を説明する。
図1には、本発明の一実施形態に係るメモリ制御装置を用いた情報処理装置の構成例が示されている。この情報処理装置は、例えば、パーソナルコンピュータ、ワークステーション、サーバコンピュータのような各種コンピュータ、またはAV機器のような電子機器に組み込まれる組み込みシステムとして実現されており、プロセッサ11、メモリコントローラ12、メモリデバイス13、および図示しない他の各種I/Oデバイス等から構成されている。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 shows a configuration example of an information processing apparatus using a memory control apparatus according to an embodiment of the present invention. This information processing apparatus is realized as an embedded system incorporated in various computers such as personal computers, workstations, and server computers, or electronic devices such as AV equipment, and includes a
プロセッサ11は情報処理装置の動作を制御する中央処理装置(CPU)であり、主記憶として機能するメモリデバイス13を用いて各種データ処理を実行する。メモリコントローラ12は本実施形態に係るメモリ制御装置であり、プロセッサ11からの要求に応じてメモリデバイス13を制御して、メモリデバイス13からデータを読み出すためのリードアクセス、およびメモリデバイス13にデータを書き込むためのライトアクセス等を実行する。
The
メモリコントローラ12は、バイトイネーブル信号線が定義されていない、シリアルバスのようなバスを介してメモリデバイス13に接続されている。図1においては、RQバスと称されるコマンド送信用のバスと、DQバスと称されるデータ送受信用のバスとを介して、メモリコントローラ12とメモリデバイス13との間が接続されている場合が示されている。これらRQバスおよびDQバスの各々はシリアルバスである。RQバスおよびDQバスの各々は、複数組例えば16組の差動信号線ペアから構成されている。
The
メモリデバイス13はライトマスクコマンドをサポートするメモリデバイスであり、ライトマスクコマンドによって指定されるキーの値と書き込みデータ内の個々のバイト部の値とを比較することによって前記キーの値に一致するバイト部の書き込みを禁止するというライトマスク機能を有している。
The
特定のバイト部のみを書き換えるためのイネーブルライトを実行する場合、メモリコントローラ12は、連続する2つのライトマスクコマンドを利用して、2回のライトマスク書き込みサイクルを連続して実行するように構成されている。この場合、各ライトマスク書き込みサイクルにおいては、書き込みデータから算出したキーではなく、予め決められた特定値を示すキーが用いられる。以下では、書き込みデータが例えば32バイト長のブロックデータから構成され、キーが例えば8ビットから構成されている場合を想定する。
When executing an enable write for rewriting only a specific byte part, the
1回目のライトマスク書き込みサイクルにおいては、メモリコントローラ12は、特定の第1の値(例えばffh)を示すキーを指定するライトマスクコマンドをRQバスを介してメモリデバイス13に送信する処理と、32バイトから構成される書き込みデータに含まれる各無効バイト部の値を特定の第1の値(例えばffh)に置き換えた後に当該32バイトの書き込みデータをバースト転送によってDQバスを介してメモリデバイス13に送信する処理とを実行する。メモリデバイス13においては、ffhの値を有する各バイト部の書き込みは禁止され、他の値を有するバイト部の書き込みのみが実行される。各バイト部の書き込み位置は、ライトマスクコマンドに含まれるアドレスによって指定される。
In the first write mask write cycle, the
1回目のライトマスク書き込みサイクルでは、無効バイト部のみならず、特定の第1の値を有する有効バイト部の書き込みもマスクされてしまう。このため、特定の第1の値を有する有効バイト部の書き込みを実行するために、2回目のライトマスク書き込みサイクルが実行される。 In the first write mask write cycle, not only the invalid byte part but also the valid byte part having a specific first value is masked. For this reason, the second write mask write cycle is executed in order to execute the writing of the effective byte portion having the specific first value.
2回目のライトマスク書き込みサイクルにおいては、メモリコントローラ12は、上述の第1の値とは異なる特定の第2の値(例えば01h)を示すキーを指定するライトマスクコマンドをRQバスを介してメモリデバイス13に送信する処理と、書き込みデータを構成する32バイトの中で、特定の第1の値を有する有効バイト部を除く他の各バイト部の値を、特定の第1の値(例えば01h)に置き換えた後に当該32バイトの書き込みデータをバースト転送によってDQバスを介してメモリデバイス13に送信する処理とを実行する。この2回目のライトマスク書き込みサイクルによって、1回目のライトマスク書き込みサイクルにおいてマスクされた特定の第1の値を有する有効バイト部の書き込みを実行することができる。
In the second write mask write cycle, the
このように、本実施形態では、書き込みデータから算出したキーではなく、予め決められた特定値を示すキーを用いているので、回路規模の増大を招くキー特定処理を行うことなく、マスクライトコマンドを利用したイネーブルライトを実行することができる。 As described above, in this embodiment, since a key indicating a predetermined specific value is used instead of a key calculated from write data, a mask write command is performed without performing a key specifying process that causes an increase in circuit scale. Enable write using can be executed.
なお、2回目のライトマスク書き込みサイクルは、書き込みデータ内に特定の第1の値を有する有効バイト部が存在する場合にのみ実行すれば良く、特定の第1の値を有する有効バイト部が存在しない場合には、2回目のライトマスク書き込みサイクルの実行を省略することができる。 The second write mask write cycle only needs to be executed when there is a valid byte portion having a specific first value in the write data, and there is a valid byte portion having a specific first value. If not, the execution of the second write mask write cycle can be omitted.
図2は、本実施形態に係るメモリ制御装置を用いた情報処理装置の他の構成例が示されている。 FIG. 2 shows another configuration example of the information processing apparatus using the memory control apparatus according to the present embodiment.
図2においては、メモリコントローラ12はプロセッサ11内にメモリインタフェースとして内蔵されており、プロセッサ11内のコアからの要求に応じてメモリデバイス13をアクセス制御する。他の点は図1と同じである。
In FIG. 2, the
図3には、メモリデバイス13内に設けられた書き込み回路部の構成例が示されている。
FIG. 3 shows a configuration example of a write circuit unit provided in the
上述のライトマスク機能を実行するために、メモリデバイス13内には、1バイト分のメモリセル群単位で、比較回路21とANDゲート回路22とが設けられている。
In order to execute the above-described write mask function, the
各比較回路21は、8ビットのキーの値と対応するバイト部の8ビットのデータとを比較する。不一致の場合にのみ、ライトイネーブル信号が対応するメモリセル群に送られる。これにより、キーの値に一致するデータを含むバイト部の書き込みは禁止され、一致しないバイト部の書き込みのみが実行される。
Each
図4は、本実施形態のイネーブルライト処理のタイミングチャートである。 FIG. 4 is a timing chart of the enable write process of this embodiment.
最初に、メモリコントローラ12は、一回目のライトマスクコマンド(Write Mask)を発行する。このライトマスクコマンド(Write Mask)には、例えば、値がffhの8ビットのキーが含まれている。このライトマスクコマンドは、当該ライトマスクコマンドに含まれるキーの値に一致するバイト部以外の書き込みを指示するコマンドである。ライトマスクコマンドには、書き込みデータの書き込み位置を指定するアドレスデータも含まれている。
First, the
この後、メモリコントローラ12は、32バイトの書き込みデータ(WData)を送信する。この32バイトの書き込みデータにおいては、書き込みを禁止すべき無効バイト部の値はffhに置き換えられている。メモリデバイス13においては、32バイトの書き込みデータ内の個々のバイト部毎にffhとの比較が行われ、ffh以外の値を持つバイト部のみの書き込みが実行される。
Thereafter, the
この後、メモリコントローラ12は、2回目のライトマスクコマンド(Write Mask)を発行する。このライトマスクコマンド(Write Mask)には、例えば、値が01hの8ビットのキーが含まれている。そして、メモリコントローラ12は、32バイトの書き込みデータ(WData)を送信する。この32バイトの書き込みデータにおいては、値がffhの有効バイト部以外の他の各バイト部の値は01hに置き換えられている。メモリデバイス13においては、32バイトの書き込みデータ内の個々のバイト部毎にffhとの比較が行われ、01h以外の値を持つバイト部、つまりffhのバイト部の書き込みが実行される。
Thereafter, the
2回目のライトマスク書き込みサイクルつまり2回目のライトマスクコマンド(Write Mask)の発行およびそれに後続する書き込みデータの送信は、書き込みデータにffhの値を有する有効バイト部が存在することが検出された場合のみ実行される。書き込みデータにffhの値を有する有効バイト部が存在しない場合には2回目のライトマスク書き込みサイクルは実行されない。なお、書き込みデータにffhの値を有する有効バイト部が存在しない場合であっても、例えば、全てのバイト部が01hに置換された書き込みデータを用いて、2回目のライトマスク書き込みサイクルを実行することも可能である。 When the second write mask write cycle, that is, the second write mask command (Write Mask) is issued and the subsequent write data is transmitted, it is detected that the valid byte portion having the value of ffh exists in the write data. Only executed. If there is no valid byte portion having a value of ffh in the write data, the second write mask write cycle is not executed. Even if there is no valid byte part having a value of ffh in the write data, for example, the second write mask write cycle is executed using the write data in which all the byte parts are replaced with 01h. It is also possible.
図5には、1回目のライトマスク書き込みサイクルで用いられるキー値と書き込みデータの例が示されている。 FIG. 5 shows an example of key values and write data used in the first write mask write cycle.
書き込みデータ(WData)は1バイト目のバイト部B1から32バイト目のバイト部B32までの32バイト長のブロックデータから構成されている。今、バイト部B10が書き込みを禁止すべき無効バイト部であり、他の各バイト部は書き込みを行うべき有効バイト部である場合を想定する。 The write data (WData) is composed of 32-byte block data from the first byte part B1 to the 32nd byte part B32. Assume that the byte part B10 is an invalid byte part that should be prohibited from being written and the other byte parts are valid byte parts that should be written.
書き込みデータの各バイト部の有効/無効は、プロセッサ11によって指定される。無効バイト部であるバイト部B10の値(8ビットのデータ)は、メモリコントローラ12によってffhに置き換えられる。
Validity / invalidity of each byte part of the write data is designated by the
もし、有効バイト部B2の値がffhであるならば、無効バイト部B10の書き込みがマスクされるのみならず、有効バイト部B2の書き込みもマスクされることになる。 If the value of the valid byte part B2 is ffh, not only writing of the invalid byte part B10 is masked but also writing of the valid byte part B2 is masked.
図6には、2回目のライトマスク書き込みサイクルで用いられるキー値と書き込みデータの例が示されている。値がffhである有効バイト部B2以外の他の各バイト部B1,B3〜B32の値は、メモリコントローラ12によって01hに置き換えられる。よって、有効バイト部B2の書き込みのみが実行され、他の各バイト部B1,B3〜B32の書き込みはマスクされる。
FIG. 6 shows an example of key values and write data used in the second write mask write cycle. The values of the byte parts B1, B3 to B32 other than the valid byte part B2 whose value is ffh are replaced with 01h by the
次に、図7を参照して、メモリコントローラ12の機能構成の例を説明する。
Next, an example of a functional configuration of the
図7においては、プロセッサ11からの書き込みデータがUWDATとして表記され、メモリコントローラ12からメモリデバイス13に送信される書き込みデータがWDATAとして表記されている。
In FIG. 7, write data from the
メモリコントローラ12は、第1サイクル実行部21と、第2サイクル実行部22と、判定部23とを備えている。
The
第1サイクル実行部21は、固定値ffhを示すキーを含むライトマスクコマンドを用いて、上述の1回目のライトマスク書き込みサイクル(第1のライトマスク書き込みサイクル)を実行する。この場合、書き込みデータUWDATに含まれる各無効バイト部の値はffhに置き換えられ、この置き換え後の書き込みデータUWDATが書き込みデータWDATAとしてメモリデバイス13に送信される。
The first
判定部23は、書き込みデータUWDAT内に、値がffhの有効バイト部が存在するか否かを判定する。書き込みデータUWDAT内にffhの有効バイト部が存在することが判別された場合、第2サイクル実行部22は、固定値01hを示すキーを含むライトマスクコマンドを用いて、上述の2回目のライトマスク書き込みサイクル(第2のライトマスク書き込みサイクル)を実行する。この場合、書き込みデータUWDATに含まれる、値がffhの有効バイト部以外の各バイト部の値は01hに置き換えられ、この置き換え後の書き込みデータUWDATが書き込みデータWDATAとしてメモリデバイス13に送信される。
The
次に、図8および図9のタイミングチャートを参照して、本実施形態のイネーブルライト処理と従来のイネーブルライト処理との違いを説明する。 Next, the difference between the enable write process of the present embodiment and the conventional enable write process will be described with reference to the timing charts of FIGS.
図8はリードモディファイライトのタイミングチャートを示している。上述したように、リードモディファイライトにおいては、リードサイクルを実行した後にそのリードデータの一部を書き換え、その後にライトサイクルを実行することが必要となり、さらにターンアラウンドのための待ち時間も必要となるので、図8に示すように、イネーブルライト処理が完了するまでに多くの時間を要する。 FIG. 8 shows a timing chart of the read modify write. As described above, in read-modify-write, it is necessary to rewrite a part of the read data after executing the read cycle, and then execute the write cycle, and further, a waiting time for turnaround is required. Therefore, as shown in FIG. 8, it takes a long time to complete the enable write process.
図9は従来のライトマスクのタイミングチャートを示している。従来のライトマスクでは、常に一回のライトサイクルのみでイネーブルライト処理を完了することができるのでイネーブルライト処理をリードモディファイライトよりも効率よく実行することができるものの、書き込みデータからキーを算出するというキー特定処理のための回路を設けることが必要となり、これによってメモリコントローラの回路規模の大幅な増大を招くことになる。 FIG. 9 shows a timing chart of a conventional light mask. In the conventional write mask, the enable write process can always be completed with only one write cycle, so the enable write process can be executed more efficiently than the read-modify-write, but the key is calculated from the write data. It is necessary to provide a circuit for the key specifying process, which causes a significant increase in the circuit scale of the memory controller.
これに対し、本実施形態では、リードモディファイライトよりも高速にイネーブルライト処理を実行することができ、また従来のライトマスクとは異なりキー特定処理は不要であるので、回路規模の増大を招くことなく、ライトマスクコマンドを用いたイネーブルライト処理を実行することができる。 On the other hand, in the present embodiment, the enable write process can be executed at a speed higher than that of the read-modify-write, and unlike the conventional write mask, the key specifying process is unnecessary, resulting in an increase in circuit scale. Instead, the enable write process using the write mask command can be executed.
次に、図10を参照して、メモリコントローラ12内に設けられる具体的な回路構成の例について説明する。
Next, an example of a specific circuit configuration provided in the
メモリコントローラ12は、イネーブルライト処理を実行するために、ライトデータ#1出力回路31、ライトデータ#1出力回路32、セレクタ(SEL)33、および32ビットNANDゲート34等を備えている。
The
ライトデータ#1出力回路31は1回目のライトマスク書き込みサイクルで出力すべき書き込みデータを出力する回路であり、プロセッサ11からのバイトイネーブル信号BE[31:0]に基づいて、32バイトの書き込みデータUDATA[255:0]内の無効バイト部を検出し、その無効バイト部の値をffhに置換する。
The write data # 1
ライトデータ#2出力回路32は、2回目のライトマスク書き込みサイクルで出力すべき書き込みデータを出力する回路である。ライトデータ#2出力回路32においては、図示のように、書き込みデータの各バイト部毎に、セレクタ(SEL)41と9ビットNANDゲート42とが設けられている。
The
各9ビットNANDゲート42は、対応するバイト部が有効(BE=1)で且つ対応するバイト部の値がffhである場合は、論理“0”の出力信号を出力し、それ以外の場合は論理“1”の出力信号を出力する。各セレクタ(SEL)41は、対応する9ビットNANDゲート42の出力信号が論理“0”である場合は、01hを選択し、対応する9ビットNANDゲート42の出力信号が論理“1”である場合は、書き込みデータUWDATA[255:0]内の対応するバイト部のデータを選択する。
Each 9-
セレクタ(SEL)33は、タイミング信号SecWriteに従って、1回目のライトマスク書き込みサイクルにおいては、ライトデータ#1出力回路31によって得られる書き込みデータを書き込みデータWDATA[255:0]として選択してメモリデバイス13に送信し、2回目のライトマスク書き込みサイクルにおいては、ライトデータ#2出力回路32によって得られる書き込みデータMWDATA[255:0]を書き込みデータWDATA[255:0]として選択してメモリデバイス13に送信する。
The selector (SEL) 33 selects the write data obtained by the write data # 1
32ビットNANDゲート34は、32個の9ビットNANDゲート42のいずれか1つからの出力信号が“0”である場合、つまり書き込みデータWDATA[255:0]内にffhの有効バイト部が1つ以上含まれている場合に、2回目のライトマスク書き込みサイクルの実行が必要であることを示す論理“1”の信号(WriteFFhneed)を出力する。32個の9ビットNANDゲート42の全ての出力信号が“1”である場合には、WriteFFhneed信号は論理“0”となり、2回目のライトマスク書き込みサイクルの実行は省略される。
In the 32-
次に、図11のフローチャートを参照して、メモリコントローラ12によって実行されるライト制御処理の手順を説明する。
Next, the procedure of the write control process executed by the
このライト制御処理は、イネーブルライトが必要な場合、例えば、メモリコントローラ12がプロセッサ11から無効バイト部を含む書き込みデータを受信した場合等に実行される。書き込みデータが無効バイト部を含むか否かは、プロセッサ11からのバイトイネーブル信号BE[31:0]によって判別することができる。
This write control process is executed when an enable write is necessary, for example, when the
メモリコントローラ12は、まず、ffhをキーとして含むライトマスクコマンドをRQバスを介してメモリデバイス13に送信すると共に(ステップS101)、プロセッサ11からの書き込みデータを構成する32バイトの中で無効バイト部の値をffhに置き換え、その置き換えが実行された書き込みデータをDQバスを介してメモリデバイス13に送信する(ステップS102)。
First, the
次いで、メモリコントローラ12は、プロセッサ11からの書き込みデータに、値がffhの有効バイト部が含まれているか否かを判別する(ステップS103)。
Next, the
もし書き込みデータに値がffhの有効バイト部が含まれているならば(ステップS103のNO)、メモリコントローラ12は、ffhの有効バイト部の書き込みを実行するために、O1hをキーとして含むライトマスクコマンドをRQバスを介してメモリデバイス13に送信すると共に(ステップS104)、プロセッサ11からの書き込みデータを構成する32バイトの中でffhの有効バイト部以外の各バイト部の値を01hに置き換え、その置き換えが実行された書き込みデータをDQバスを介してメモリデバイス13に送信する(ステップS105)。
If the write data includes a valid byte part having a value of ffh (NO in step S103), the
一方、もし書き込みデータに値がffhの有効バイト部が含まれていないならば(ステップS103のNO)、ステップS104,S105の実行は省略され、この時点でイネーブルライトのためのライト制御処理は終了する。 On the other hand, if the write data does not include a valid byte part having a value of ffh (NO in step S103), the execution of steps S104 and S105 is omitted, and the write control process for the enable write ends at this point. To do.
以上のように、本実施形態によれば、2回の連続するライトマスク書き込みサイクルを利用してイネーブルライトが実行されるので、各ライトマスク書き込みサイクルでは、書き込みデータから算出された値ではなく、予め決められた特定の値をキーとして使用することが可能となり、キー特定処理が必要な従来のライトマスク方式に比べ、回路規模を大幅に削減することが可能となる。 As described above, according to the present embodiment, the enable write is executed using two consecutive write mask write cycles. Therefore, in each write mask write cycle, not the value calculated from the write data, A specific value determined in advance can be used as a key, and the circuit scale can be greatly reduced as compared with a conventional write mask method that requires a key specifying process.
また、2回目のライトマスク書き込みサイクルの実行を省略するための機能が設けられているので、1回目のライトマスク書き込みサイクルで使用されるキーと同一の値を有するバイト部が書き込みデータに存在しない場合には、1回のライトマスク書き込みサイクルのみでイネーブルライト処理を完了することができる。 Further, since a function for omitting the execution of the second write mask write cycle is provided, there is no byte portion having the same value as the key used in the first write mask write cycle in the write data. In this case, the enable write process can be completed with only one write mask write cycle.
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。 Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, you may combine a component suitably in different embodiment.
11…プロセッサ、12…メモリコントローラ、13…メモリデバイス、21…第1サイクル実行部、22…第2サイクル実行部、23…判定部、31…ライトデータ#1出力回路、32…ライトデータ#2出力回路、33…セレクタ、34…32bitNANDゲート。
DESCRIPTION OF
Claims (10)
特定の第1の値を有するキーを指定するライトマスクコマンドを前記メモリデバイスに送信する処理と、書き込みデータを構成する複数バイト部の中で書き込みを禁止すべき無効バイト部の値を前記特定の第1の値に置き換えた後に前記書き込みデータを前記メモリデバイスに送信する処理とを含む第1のライトマスク書き込みサイクルを実行する手段と、
特定の第2の値を有するキーを指定するライトマスクコマンドを前記メモリデバイスに送信する処理と、前記書き込みデータを構成する複数バイト部の中で、書き込みを行うべき有効バイト部であって且つ前記特定の第1の値を有する有効バイト部を除く他の各バイト部の値を前記特定の第2の値に置き換えた後に前記書き込みデータを前記メモリデバイスに送信する処理とを含む第2のライトマスク書き込みサイクルを実行する手段とを具備することを特徴とするメモリ制御装置。 Controls a memory device that has a write mask function that prohibits writing of the byte part that matches the key value by comparing the value of the key specified by the write mask command with the value of the individual byte part in the write data. A memory control device,
A process of transmitting a write mask command designating a key having a specific first value to the memory device, and a value of an invalid byte portion that should be prohibited from being written among a plurality of byte portions constituting write data. Means for executing a first write mask write cycle comprising: processing for transmitting the write data to the memory device after replacing with a first value;
A process of transmitting a write mask command designating a key having a specific second value to the memory device, and a valid byte part to be written among a plurality of byte parts constituting the write data, and A process of transmitting the write data to the memory device after replacing the value of each byte part other than the valid byte part having a specific first value with the specific second value. A memory control device comprising: means for executing a mask write cycle.
特定の第1の値を有するキーを指定するライトマスクコマンドを前記メモリデバイスに送信する処理と、書き込みデータを構成する複数バイト部の中で書き込みを禁止すべき無効バイト部の値を前記特定の第1の値に置き換えた後に前記書き込みデータを前記メモリデバイスに送信する処理とを含む第1のライトマスク書き込みサイクルを実行する手段と、
前記書き込みデータに前記特定の第1の値を有する有効バイト部が存在するか否かを判別する手段と、
前記特定の第1の値を有する有効バイト部が存在する場合、特定の第2の値を有するキーを指定するライトマスクコマンドを前記メモリデバイスに送信する処理と、前記書き込みデータに含まれる、前記特定の第1の値を有する有効バイト部以外の他の各バイト部を前記特定の第2の値に置き換えた後に前記書き込みデータを前記メモリデバイスに送信する処理とを含む第2のライトマスク書き込みサイクルを実行する手段とを具備することを特徴とするメモリ制御装置。 Controls a memory device that has a write mask function that prohibits writing of the byte part that matches the key value by comparing the value of the key specified by the write mask command with the value of the individual byte part in the write data. A memory control device,
A process of transmitting a write mask command designating a key having a specific first value to the memory device, and a value of an invalid byte portion that should be prohibited from being written among a plurality of byte portions constituting write data. Means for executing a first write mask write cycle comprising: processing to transmit the write data to the memory device after replacing with a first value;
Means for determining whether or not there is a valid byte part having the specific first value in the write data;
A process of transmitting a write mask command designating a key having a specific second value to the memory device when a valid byte portion having the specific first value exists, and included in the write data, A second write mask write including: processing to transmit the write data to the memory device after replacing each byte portion other than the valid byte portion having the specific first value with the specific second value A memory control device comprising: means for executing a cycle.
ライトマスクコマンドによって指定されるキーの値と書き込みデータ内の個々のバイト部の値とを比較することによって前記キーの値に一致するバイト部の書き込みを禁止するライトマスク機能を有するメモリデバイスと、
前記プロセッサからの要求に応じて前記メモリデバイスを制御するメモリ制御手段であって、特定の第1の値を有するキーを指定するライトマスクコマンドを前記メモリデバイスに送信する処理と、書き込みデータを構成する複数バイト部の中で書き込みを禁止すべき無効バイト部の値を前記特定の第1の値に置き換えた後に前記書き込みデータを前記メモリデバイスに送信する処理とを含む第1のライトマスク書き込みサイクルを実行する手段と、特定の第2の値を有するキーを指定するライトマスクコマンドを前記メモリデバイスに送信する処理と、前記書き込みデータを構成する複数バイト部の中で、書き込みを行うべき有効バイト部であって且つ前記特定の第1の値を有する有効バイト部を除く他の各バイト部の値を前記特定の第2の値に置き換えた後に前記書き込みデータを前記メモリデバイスに送信する処理とを含む第2のライトマスク書き込みサイクルを実行する手段とを含むメモリ制御手段とを具備することを特徴とする情報処理装置。 A processor;
A memory device having a write mask function that prohibits writing of the byte portion that matches the key value by comparing the value of the key specified by the write mask command with the value of the individual byte portion in the write data;
Memory control means for controlling the memory device in response to a request from the processor, comprising processing for transmitting a write mask command designating a key having a specific first value to the memory device, and write data A first write mask write cycle including: a process of transmitting the write data to the memory device after replacing a value of an invalid byte part that should be prohibited from writing in the plurality of byte parts with the specific first value , A process of transmitting a write mask command designating a key having a specific second value to the memory device, and a valid byte to be written in a plurality of bytes constituting the write data And the value of each byte part other than the valid byte part having the specific first value is the specific second value. The information processing apparatus characterized by comprising a memory control means including means for executing a second write mask write cycle including a process of transmitting the write data after replacing the value in the memory device.
ライトマスクコマンドによって指定されるキーの値と書き込みデータ内の個々のバイト部の値とを比較することによって前記キーの値に一致するバイト部の書き込みを禁止するライトマスク機能を有するメモリデバイスと、
前記プロセッサからの要求に応じて前記メモリデバイスを制御するメモリ制御手段であって、特定の第1の値を有するキーを指定するライトマスクコマンドを前記メモリデバイスに送信する処理と、書き込みデータを構成する複数バイト部の中で書き込みを禁止すべき無効バイト部の値を前記特定の第1の値に置き換えた後に前記書き込みデータを前記メモリデバイスに送信する処理とを含む第1のライトマスク書き込みサイクルを実行する手段と、前記書き込みデータに前記特定の第1の値を有する有効バイト部が存在するか否かを判別する手段と、前記特定の第1の値を有する有効バイト部が存在する場合、特定の第2の値を有するキーを指定するライトマスクコマンドを前記メモリデバイスに送信する処理と、前記書き込みデータに含まれる、前記特定の第1の値を有する有効バイト部以外の他の各バイト部を前記特定の第2の値に置き換えた後に前記書き込みデータを前記メモリデバイスに送信する処理とを含む第2のライトマスク書き込みサイクルを実行する手段とを含むメモリ制御手段とを具備することを特徴とする情報処理装置。 A processor;
A memory device having a write mask function that prohibits writing of the byte portion that matches the key value by comparing the value of the key specified by the write mask command with the value of the individual byte portion in the write data;
Memory control means for controlling the memory device in response to a request from the processor, comprising processing for transmitting a write mask command designating a key having a specific first value to the memory device, and write data A first write mask write cycle including: a process of transmitting the write data to the memory device after replacing a value of an invalid byte part that should be prohibited from writing in the plurality of byte parts with the specific first value A means for determining whether or not there is a valid byte part having the specific first value in the write data, and a valid byte part having the specific first value exists. A process of transmitting a write mask command designating a key having a specific second value to the memory device, and including in the write data And a process of transmitting the write data to the memory device after replacing each byte portion other than the valid byte portion having the specific first value with the specific second value. An information processing apparatus comprising: memory control means including means for executing a write mask write cycle.
特定の第1の値を有するキーを指定するライトマスクコマンドを前記メモリデバイスに送信する処理と、書き込みデータを構成する複数バイト部の中で書き込みを禁止すべき無効バイト部の値を前記特定の第1の値に置き換えた後に前記書き込みデータを前記メモリデバイスに送信する処理とを含む第1のライトマスク書き込みサイクルを実行するステップと、
特定の第2の値を有するキーを指定するライトマスクコマンドを前記メモリデバイスに送信する処理と、前記書き込みデータを構成する複数バイト部の中で、書き込みを行うべき有効バイト部であって且つ前記特定の第1の値を有する有効バイト部を除く他の各バイト部の値を前記特定の第2の値に置き換えた後に前記書き込みデータを前記メモリデバイスに送信する処理とを含む第2のライトマスク書き込みサイクルを実行するステップとを具備することを特徴とするメモリ制御方法。 Controls a memory device that has a write mask function that prohibits writing of the byte part that matches the key value by comparing the value of the key specified by the write mask command with the value of the individual byte part in the write data A memory control method,
A process of transmitting a write mask command designating a key having a specific first value to the memory device, and a value of an invalid byte portion that should be prohibited from being written among a plurality of byte portions constituting write data. Performing a first write mask write cycle including processing to transmit the write data to the memory device after replacing with a first value;
A process of transmitting a write mask command designating a key having a specific second value to the memory device, and a valid byte part to be written among a plurality of byte parts constituting the write data, and A process of transmitting the write data to the memory device after replacing the value of each byte part other than the valid byte part having a specific first value with the specific second value. And a step of executing a mask write cycle.
特定の第1の値を有するキーを指定するライトマスクコマンドを前記メモリデバイスに送信する処理と、書き込みデータを構成する複数バイト部の中で書き込みを禁止すべき無効バイト部の値を前記特定の第1の値に置き換えた後に前記書き込みデータを前記メモリデバイスに送信する処理とを含む第1のライトマスク書き込みサイクルを実行するステップと、
前記書き込みデータに前記特定の第1の値を有する有効バイト部が存在するか否かを判別するステップと、
前記特定の第1の値を有する有効バイト部が存在する場合、特定の第2の値を有するキーを指定するライトマスクコマンドを前記メモリデバイスに送信する処理と、前記書き込みデータに含まれる、前記特定の第1の値を有する有効バイト部以外の他の各バイト部を前記特定の第2の値に置き換えた後に前記書き込みデータを前記メモリデバイスに送信する処理とを含む第2のライトマスク書き込みサイクルを実行するステップとを具備することを特徴とするメモリ制御方法。 Controls a memory device that has a write mask function that prohibits writing of the byte part that matches the key value by comparing the value of the key specified by the write mask command with the value of the individual byte part in the write data A memory control method,
A process of transmitting a write mask command designating a key having a specific first value to the memory device, and a value of an invalid byte portion that should be prohibited from being written among a plurality of byte portions constituting write data. Performing a first write mask write cycle including processing to transmit the write data to the memory device after replacing with a first value;
Determining whether there is a valid byte part having the specific first value in the write data;
A process of transmitting a write mask command designating a key having a specific second value to the memory device when a valid byte portion having the specific first value exists, and included in the write data, A second write mask write including: processing to transmit the write data to the memory device after replacing each byte portion other than the valid byte portion having the specific first value with the specific second value And a step of executing a cycle.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006206703A JP2008033657A (en) | 2006-07-28 | 2006-07-28 | Memory control device, information processor and memory control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006206703A JP2008033657A (en) | 2006-07-28 | 2006-07-28 | Memory control device, information processor and memory control method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008033657A true JP2008033657A (en) | 2008-02-14 |
Family
ID=39122994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006206703A Pending JP2008033657A (en) | 2006-07-28 | 2006-07-28 | Memory control device, information processor and memory control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008033657A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7774535B2 (en) | 2008-06-19 | 2010-08-10 | Kabushiki Kaisha Toshiba | Memory system and memory device |
JP2011503753A (en) * | 2007-11-19 | 2011-01-27 | ラムバス・インコーポレーテッド | Scheduling based on turnaround events |
-
2006
- 2006-07-28 JP JP2006206703A patent/JP2008033657A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011503753A (en) * | 2007-11-19 | 2011-01-27 | ラムバス・インコーポレーテッド | Scheduling based on turnaround events |
US7774535B2 (en) | 2008-06-19 | 2010-08-10 | Kabushiki Kaisha Toshiba | Memory system and memory device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5107880B2 (en) | Data transfer processing apparatus and method | |
EP3542276B1 (en) | Flow control in remote direct memory access data communications with mirroring of ring buffers | |
JP5824488B2 (en) | Using completer knowledge about memory region ordering requests to modify transaction attributes | |
KR20170034424A (en) | Memory write management in a computer system | |
US10133497B1 (en) | SPI command censoring method and apparatus | |
JP5856434B2 (en) | Bus connection circuit, semiconductor device, and operation method of bus connection circuit | |
JP2008033657A (en) | Memory control device, information processor and memory control method | |
US8291270B2 (en) | Request processing device, request processing system, and access testing method | |
JP6070600B2 (en) | Microcomputer | |
JP2008140078A (en) | Bus bridge device, information processor, and data transfer control method | |
JP4446968B2 (en) | Data processing device | |
WO2016039198A1 (en) | Access control method, bus system, and semiconductor device | |
JPWO2014115277A1 (en) | Storage apparatus and storage apparatus control method | |
CN111625411A (en) | Semiconductor device and debug system | |
US10261700B1 (en) | Method and apparatus for streaming buffering to accelerate reads | |
WO2012098655A1 (en) | Data writing control device, data writing control method, and information processing device | |
JP5917325B2 (en) | Bridge circuit | |
JP2009271623A (en) | Semiconductor storage device and computer system | |
JP6626216B2 (en) | controller | |
JP2010072888A (en) | Dma transfer control system | |
JP5656589B2 (en) | Data transfer device, data transfer method, and data transfer program | |
JP2007018440A (en) | Architecture verification apparatus | |
JP2010262431A (en) | Access method of and access control device for dual port memory | |
JP6471018B2 (en) | Control device, storage device, memory controller, sub-processor, main processor, and control program | |
JP5439742B2 (en) | System controller, semiconductor device, and interface test method |