JP2016148964A - Calculating device, calculation method, and protection device - Google Patents
Calculating device, calculation method, and protection device Download PDFInfo
- Publication number
- JP2016148964A JP2016148964A JP2015024884A JP2015024884A JP2016148964A JP 2016148964 A JP2016148964 A JP 2016148964A JP 2015024884 A JP2015024884 A JP 2015024884A JP 2015024884 A JP2015024884 A JP 2015024884A JP 2016148964 A JP2016148964 A JP 2016148964A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- cache
- access
- main memory
- address
- 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
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
Description
本発明は計算装置、計算方法、及び保安装置に関する。 The present invention relates to a calculation device, a calculation method, and a security device.
情報処理装置に搭載されるメモリでは、データを格納しているうちに、ソフトエラーなどによりデータが誤った値となってしまう場合がある。このエラー訂正を通常のアクセスとは独立して行うのがメモリパトロールである。メモリパトロールではOSやCPUリソースを使用しないため、簡易かつ高速にデータのエラー検出および訂正を行うことが可能である。近年ではより早期にデータのエラー検出および訂正を行い、データの信頼性を高く保つため、特開2014−59821号公報(特許文献1)に記載の技術がある。この公報には、「CPUと、複数のメモリブロックからなるメモリと、周期的に前記メモリブロックの誤り検出および誤り訂正を行うメモリパトロール手段と、メモリパトロールの実行を制御するメモリパトロール制御手段と、前記CPUから前記メモリブロックへのアクセス回数をカウントするアクセス頻度算出手段とを備え、前記アクセス回数が所定値を超えた場合に当該メモリブロックに対する前記メモリパトロールの回数を減らす。」という記載がある。 In a memory mounted on an information processing apparatus, data may become an incorrect value due to a soft error or the like while data is being stored. Memory patrol performs this error correction independently of normal access. Since memory patrol does not use OS or CPU resources, it is possible to detect and correct data errors easily and at high speed. In recent years, there is a technique described in Japanese Patent Application Laid-Open No. 2014-59821 (Patent Document 1) in order to detect and correct data errors earlier and maintain high data reliability. In this publication, “a CPU, a memory composed of a plurality of memory blocks, a memory patrol unit that periodically detects and corrects errors in the memory block, a memory patrol control unit that controls execution of the memory patrol, And an access frequency calculation unit that counts the number of accesses from the CPU to the memory block, and reduces the number of memory patrols for the memory block when the number of accesses exceeds a predetermined value.
特許文献1では、データの書換えが頻繁に行われるメモリブロックではエラーの発生確率が低いという事実に基づいている。すなわちCPUからのアクセスが多いメモリブロックではエラーの発生が少ないため、メモリパトロールを省略することが可能である。省略によりメモリパトロールとCPUによるアクセスとの競合する確率が低くなる。また、省略で浮いたリソースをエラー発生確率の高い(アクセスの少ない)メモリブロックに対するメモリパトロール強化に使うことができる。その結果データの信頼性が向上することになる。
しかし、特許文献1の技術では、メモリパトロール対象の各メモリブロックの大きさの決定に二点の問題点が生じる。
一点目は、メモリブロックの大きさを必要以上に大きく設定すると、メモリブロックの中でデータの書換え頻度が少ないビットとデータの書換え頻度が多いビットが生まれてしまうということである。
二点目は、メモリブロックの大きさを必要以上に小さく設定することによって、アクセス頻度算出手段のメモリブロック番号とアクセス頻度を記憶および算出のためのハードウェア量が多くなってしまうということである。
そこで、本発明では、より簡便なメモリ検査が可能な計算装置、計算方法及び保安装置を提供する。特に、メモリのエラー発生確率の高い範囲をメモリ検査することで、さらにデータの信頼性を向上させることができる。
Patent Document 1 is based on the fact that an error occurrence probability is low in a memory block in which data is frequently rewritten. That is, memory patrols can be omitted because there are few errors in memory blocks that are frequently accessed from the CPU. Omission reduces the probability of competing memory patrol and access by the CPU. In addition, the resources that are floated by omission can be used for memory patrol strengthening for memory blocks with a high error occurrence probability (low access). As a result, the reliability of the data is improved.
However, in the technique of Patent Document 1, there are two problems in determining the size of each memory block subject to memory patrol.
The first point is that if the size of the memory block is set larger than necessary, a bit having a low data rewrite frequency and a bit having a high data rewrite frequency are generated in the memory block.
The second point is that setting the memory block size smaller than necessary increases the amount of hardware for storing and calculating the memory block number and access frequency of the access frequency calculation means. .
Therefore, the present invention provides a calculation device, a calculation method, and a security device capable of simpler memory inspection. In particular, the reliability of data can be further improved by performing a memory test on a range where the error occurrence probability of the memory is high.
上記課題を解決するために、代表的な本発明の計算装置の一つは、アクセス要求を出力するCPUと、アクセス要求に対応するデータをCPUに出力するキャッシュメモリと、キャッシュメモリからアクセス要求を受信し、アクセス要求に対応するデータをキャッシュメモリに出力するメインメモリと、メインメモリを検査するアクセス制御部と、キャッシュメモリが所定期間内にアクセスしたアドレスを記録するキャッシュアクセス範囲記憶部と、アクセス制御部にメインメモリの検査対象範囲を出力するメインメモリ検査対象アドレス決定部であって、キャッシュアクセス範囲記憶部に記録された所定期間内にアクセスされたアドレスを検査対象範囲から省略するメインメモリ検査対象アドレス決定部と、を有する。 In order to solve the above problems, one of the representative computing devices of the present invention includes a CPU that outputs an access request, a cache memory that outputs data corresponding to the access request to the CPU, and an access request from the cache memory. A main memory that receives and outputs data corresponding to the access request to the cache memory, an access control unit that inspects the main memory, a cache access range storage unit that records addresses accessed by the cache memory within a predetermined period, and an access A main memory test target address determination unit for outputting a main memory test target range to the control unit, wherein an address accessed in a predetermined period recorded in the cache access range storage unit is omitted from the test target range. A target address determination unit.
本発明によれば、より簡便なメモリ検査が可能な計算装置、計算方法、及び保安装置を提供できる。 According to the present invention, it is possible to provide a calculation device, a calculation method, and a security device that can perform a simpler memory test.
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。 Problems, configurations, and effects other than those described above will be clarified by the following description of embodiments.
以下、実施例を図面を用いて説明する。 Hereinafter, examples will be described with reference to the drawings.
本発明は、メインメモリのメモリ検査(メモリパトロール)を行う範囲のうち、リード要求によってキャッシュメモリに読み出された領域は、しばらく読み出しの行われていない領域よりもメモリ故障が起きにくいことに着目し、領域によってメモリ検査を適宜省略し、メモリ検査の効率化、或いはメモリの信頼性向上を図るものである。例えば、鉄道用の保安装置に適用すれば、信頼性を担保しつつ、メモリ検査を効率化することができる。 The present invention focuses on the fact that the area read into the cache memory by the read request is less likely to cause a memory failure than the area that has not been read for a while, within the range in which the memory check (memory patrol) of the main memory is performed. However, the memory inspection is appropriately omitted depending on the region, thereby improving the efficiency of the memory inspection or improving the reliability of the memory. For example, if it is applied to a railway security device, the memory inspection can be made more efficient while ensuring reliability.
図1は、本発明の一実施例である高効率なメモリ検査を行う計算装置のブロック図である。
計算装置100は、CPU101とキャッシュメモリ102、メインメモリ103、誤り検出機能付きアクセス制御部104、キャッシュアクセス範囲記憶部105、メインメモリ検査対象アドレス決定部106を有する。
FIG. 1 is a block diagram of a computing device that performs high-efficiency memory inspection according to an embodiment of the present invention.
The
次に、各装置または部の処理を説明する。
CPU101は、キャッシュメモリ102にアクセス要求(以下、アクセス要求とは、リード要求もしくはライト要求のことであり、リード要求はリード指示、アドレスを含む信号であり、ライト要求はライト指示、アドレス、データを含む信号とする。)を出力し、アクセス要求がリード要求の場合、キャッシュメモリ102からリード要求に対するデータの入力を受ける。誤り検出機能付きアクセス制御部104からエラー検知の入力を受けると割り込み処理をする。
キャッシュメモリ102は、CPU101からアクセス要求の入力を受けると、アクセス要求の中のアドレスとキャッシュメモリ102に記憶されているアドレスを比較する。
アクセス要求の中のアドレスとキャッシュメモリ102に記憶されているアドレスの比較が一致かつアクセス要求がリード要求ならば、CPU101にリード要求に対するデータを出力する。
アクセス要求の中のアドレスとキャッシュメモリ102に記憶されているアドレスの比較が不一致ならば、誤り検出機能付きアクセス制御部104にアクセス要求を出力する。上述の比較が不一致かつアクセス要求がリード要求の場合、キャッシュアクセス範囲記憶部105にリード要求の中のリード指示とアドレスを出力する。そして、誤り検出機能付きアクセス制御部104からリード要求に対するデータの入力を受け、CPU101にリード要求に対するデータを出力する。
アクセス要求の中のアドレスとキャッシュメモリ102に記憶されているアドレスの比較が一致不一致にかかわらず、アクセス要求がライト要求ならば、アクセス要求の中のアドレスとデータを記憶し、適時、誤り検出機能付きアクセス制御部104に出力する。
Next, processing of each device or unit will be described.
The CPU 101 requests access to the cache memory 102 (hereinafter, the access request is a read request or a write request, the read request is a signal including a read instruction and an address, and the write request is a signal including a write instruction, an address, and data. When the access request is a read request, the
When the
If the comparison between the address in the access request and the address stored in the
If the comparison between the address in the access request and the address stored in the
Regardless of whether the comparison between the address in the access request and the address stored in the
キャッシュアクセス範囲記憶部105は、キャッシュメモリ102からリード要求の中のリード指示の入力を受けると、リード要求の中のアドレスを記憶する。リード要求の中のアドレスを記憶するための記憶領域がなくなると、最も過去に記憶されたリード要求の中のアドレスの記憶領域からリード要求の中のアドレスを上書きしていく。メインメモリ検査対象アドレス決定部106からメインメモリ検査対象候補アドレスの入力を受けると、メインメモリ検査対象候補アドレスがキャッシュアクセス範囲記憶部105に記憶されているアドレスからキャッシュメモリ102が誤り検出機能付きアクセス制御部104から入力を受けるリード要求に対するデータのデータ長(例えばキャッシュラインサイズ)内に該当するか検索する。該当ならば、メインメモリ検査対象アドレス決定部106に該当を意味する信号を出力する。非該当ならば、メインメモリ検査対象アドレス決定部106に非該当を意味する信号を出力する。
When the cache access
メインメモリ検査対象アドレス決定部106は、キャッシュアクセス範囲記憶部105にメインメモリ検査対象候補アドレスを出力すると、キャッシュアクセス範囲記憶部105から該当を意味する信号もしくは非該当を意味する信号の入力を受ける。該当を意味する信号ならば、キャッシュアクセス範囲記憶部105に次のメインメモリ検査対象候補アドレスを出力する。非該当を意味する信号ならば、誤り検出機能付きアクセス制御部104にメインメモリ検査対象アドレスを出力する。
When the main memory inspection target
誤り検出機能付きアクセス制御部104は、キャッシュメモリ102からアクセス要求の入力を受けると、メインメモリ103にアクセス要求を出力する。アクセス要求がリード要求ならば、メインメモリ103からリード要求に対するデータの入力を受け、キャッシュメモリ102にリード要求に対するデータを出力する。また、メインメモリ検査対象アドレス決定部106からメインメモリ検査対象アドレスの入力を受けると、メインメモリ103にリード要求を出力する。メインメモリ103からリード要求に対するデータの入力を受け、リード要求に対するデータを検査する。データに誤りがあることを検出すると、CPU101にエラー検知を出力する。本発明においては、誤り検出機能付きアクセス制御部104は、メモリ検出を行う主体としてのアクセス制御部として機能していればよい。
When the
メインメモリ103は、誤り検出機能付きアクセス制御部104からアクセス要求の入力を受けると、アクセス要求がリード要求ならば、誤り検出機能付きアクセス制御部104にリード要求に対するデータを出力する。アクセス要求がライト要求ならば、メインメモリ検査用の符号をライト要求の中のデータに付加して記憶する。誤り検出機能付きアクセス制御部104からリード要求の入力を受けると、誤り検出機能付きアクセス制御部104にリード要求に対するデータを出力する。
When the access request is input from the
次に、図2、図3を用いて、高効率なメモリ検査方法について更に具体的に説明する。
図2は、メインメモリ103内のメモリ検査対象範囲200の求め方を示すイメージである。最初のメモリ検査位置202から最後のメモリ検査位置203まで順にメモリ検査を行う。本発明では、メモリ検査対象外範囲201の検査を省略し、スキップすることで、より簡便なメモリ検査を可能とする。メモリ検査対象範囲200の対象とする範囲は、メインメモリの全領域としてもよいし、メモリの領域の大きさに応じて、領域を適宜ブロックに区切ってもよい。
Next, the highly efficient memory inspection method will be described more specifically with reference to FIGS.
FIG. 2 is an image showing how to obtain the memory
図3は、本実施例でのメモリ検査のフローチャートを示す。
ステップ300:メモリ検査開始する。
ステップ301:ポインタを最初のアドレスにする。図2であればポインタを最初のメモリ検査位置202にすることに当たる。
ステップ302:ポインタが示すアドレスがメモリ検査対象範囲かを調べる。図2であればメモリ検査対象外範囲201に入っていないかを調べることに当たる。YESであれば、ステップ303へ、NOであればステップ304へ進む。
ステップ303:メモリ検査する。
ステップ304:ポインタが最後のアドレスを示していないかを調べる。図2であれば最後のメモリ検査位置203を示していないかを調べるに当たる。YESであれば、ステップ305へ、NOであればステップ301へ進む。
ステップ305:ポインタを次のアドレスにする。図2であればポインタを次アドレスへの移動204にすることに当たる。その後、ステップ302へ進む。
FIG. 3 shows a flowchart of memory inspection in this embodiment.
Step 300: Start memory test.
Step 301: Set the pointer to the first address. In FIG. 2, this corresponds to setting the pointer to the first
Step 302: Check whether the address indicated by the pointer is in the memory inspection target range. In FIG. 2, it corresponds to checking whether or not the
Step 303: Memory check.
Step 304: Check whether the pointer indicates the last address. In FIG. 2, it is checked whether the last
Step 305: Set the pointer to the next address. In FIG. 2, this corresponds to moving the
次にキャッシュアクセス範囲記憶部の容量の算出式を示す。最大メモリ検査対象外率は、
キャッシュアクセス範囲記憶部の容量の兼ね合いで決まる。
〔キャッシュアクセス範囲記憶部の容量〕=
〔格納アドレス件数〕×〔アドレス長〕=
〔メモリ検査対象範囲〕×〔最大メモリ検査対象外率〕÷〔キャッシュメモリ102が誤り検出機能付きアクセス制御部104から入力を受けるデータ長〕×〔アドレス長〕
なお、メモリ検査を行うごとにメモリ検査対象外範囲201をスキップしても良いし、メモリ検査対象範囲200を全て検査する第1の検査と、上述のようにメモリ検査対象外範囲201を省略する第2の検査を選択して実施してもよい。より信頼度が求められる場合は、第1の検査の頻度を多くすれば良いし、より効率を重視する場合には第2の頻度を多く設定すれば良い。
Next, a formula for calculating the capacity of the cache access range storage unit is shown. The maximum memory inspection exclusion rate is
It depends on the capacity of the cache access range storage unit.
[Capacity of cache access range storage] =
[Number of stored addresses] x [address length] =
[Memory inspection target range] × [Maximum memory inspection target nonexistence rate] ÷ [Data length received by
Note that the memory inspection
次に、図4、図5を用いて、図1のキャッシュアクセス範囲記憶部105を説明する。
例として図4に示すとおりキャッシュアクセス範囲記憶部105の記憶領域400があり、アドレスを三つまで記憶する領域をもつとする。最初に受けたアドレスは記憶領域401へ、二番目に受けたアドレスは記憶領域402へ、三番目に受けたアドレスは記憶領域403へと、記憶領域401、記憶領域402、記憶領域403の順番で記憶される。記憶領域401、記憶領域402、記憶領域403がすべて記憶済みの場合、次に受けたアドレスは、記憶領域401に上書きされる。つまり、記憶領域401、記憶領域402、記憶領域403、記憶領域401、記憶領域402、記憶領域403の順番で受けたアドレスを上書きし続ける。
Next, the cache access
As an example, it is assumed that there is a
図5は、メインメモリ検査対象候補アドレス503が、キャッシュアクセス範囲記憶部105の記憶領域500に記憶されているアドレスを含むキャッシュメモリ102が誤り検出機能付きアクセス制御部104から入力を受けるデータ長の範囲に該当するかを高速で検索する方法を示す。
比較部501はメインメモリ検査対象候補アドレス503の入力とキャッシュアクセス範囲記憶部105の記憶領域500のアドレスの入力を受ける。そして、メインメモリ検査対象候補アドレス503がキャッシュアクセス範囲記憶部105の記憶領域500のアドレスを含むキャッシュメモリ102が誤り検出機能付きアクセス制御部104から入力を受けるデータ長の範囲に該当するかを比較する。
該当であれば、論理和502に該当を出力する。非該当であれば、論理和502に非該当を出力する。論理和502は複数の比較部501から該当もしくは非該当の入力を受ける。一つでも該当の入力を受けると、論理和502は該当を出力し、キャッシュアクセス範囲記憶部105はメインメモリ検査対象アドレス決定部106に該当を出力する。全て非該当であると、論理和502は非該当を出力し、キャッシュアクセス範囲記憶部105はメインメモリ検査対象アドレス決定部106に非該当を出力する。
以上のようなキャッシュメモリ102が誤り検出機能付きアクセス制御部104に出力するリード要求の中のアドレスから前記リード要求に対するデータのデータ長を直近メモリ検査の対象外とするメモリ検査方法を用いることで、より簡便で正確なメモリ検査対象の決定が実現できる。メモリのエラー発生確率が高い範囲に絞ってメモリ検査することが可能であり、早期にエラー検知することで、よりデータの信頼性を向上させることができる。
本実施例では、キャッシュアクセス範囲記憶部105の記憶領域が三つで説明したが、記憶領域の数はキャッシュアクセス範囲記憶部105の容量に応じて定めればよく、直近の所定期間内にキャッシュアクセス範囲記憶部105に記録されたアドレスの該当・非該当を検出すればよい。また、記憶領域が三つの場合は、直近3つ分のリード要求があった領域のメモリ検査を省略可能として説明したが、記憶領域401〜403の各々が、更に何番目の入力を受けたアドレスかを保持しておけば、3つの記憶領域のうち、直近1番目、または2番目までに入力を受けたアドレスだけを対象にしてメモリ検査を省略してもよい。
FIG. 5 shows the data length that the
The
If applicable, output corresponding to the
By using such a memory inspection method that excludes the data length of data corresponding to the read request from the address in the read request output from the
In this embodiment, the three storage areas of the cache access
図6は、本発明の一実施例である高効率なメモリ検査を行う計算装置にキャッシュアクセス範囲記憶部の初期化タイマーを追加したブロック図である。キャッシュアクセス範囲記憶部の初期化タイマーを追加した計算装置600は、CPU601とキャッシュメモリ602、メインメモリ603、誤り検出機能付きアクセス制御部604、キャッシュアクセス範囲記憶部605、メインメモリ検査対象アドレス決定部606、初期化タイマー607を有する。
FIG. 6 is a block diagram in which an initialization timer of a cache access range storage unit is added to a computing device that performs high-efficiency memory checking according to an embodiment of the present invention. A
次に実施例1との差分を説明する。初期化タイマー607は時刻を計測する。一定の時間が経過すると、キャッシュアクセス範囲記憶部605に初期化要求を出力する。キャッシュアクセス範囲記憶部605は初期化タイマー607から初期化要求の入力を受けると、図4のキャッシュアクセス範囲記憶部の記憶領域400をすべて初期化する。
Next, differences from the first embodiment will be described. The
以上のような、定期的にキャッシュアクセス範囲記憶部の記憶領域400を初期化することで、キャッシュアクセス範囲記憶部の記憶領域400の記憶情報が古く、メモリ検査が必要な範囲をメモリ検査対象外範囲としてしまうことを解決することができる。
By periodically initializing the
図7は、本発明の一実施例である高効率なメモリ検査方法とデータ照合機能を有した計算装置のブロック図である。 FIG. 7 is a block diagram of a computing device having a highly efficient memory inspection method and data collation function according to an embodiment of the present invention.
高効率なメモリ検査方法とデータ照合機能を有した計算装置700は、CPU701とキャッシュメモリ702、メインメモリ703、アクセス制御部704、キャッシュアクセス範囲記憶部705、メインメモリ検査対象アドレス決定部706、CPU707、キャッシュメモリ708、メインメモリ709、アクセス制御部710、データ比較部711を有する。
A
次に、各装置または部の入出力を説明する。
CPU701は、キャッシュメモリ702と、CPU707は、キャッシュメモリ708と、アクセス要求またはその応答を入出力し、CPU701とCPU707は、データ比較部711からエラー検知の入力を受ける。
キャッシュメモリ702は、CPU701、アクセス制御部704と、キャッシュメモリ708は、CPU707、アクセス制御部710と、アクセス要求またはその応答を入出力し、キャッシュメモリ702は、キャッシュアクセス範囲記憶部705にリード要求の中のリード指示とアドレスを出力する。以下、図7では、キャッシュメモリ702からキャッシュアクセス範囲記憶部705に出力する例を示すが、キャッシュメモリ708からキャッシュアクセス範囲記憶部705に出力してもよい。
キャッシュアクセス範囲記憶部705は、メインメモリ検査対象アドレス決定部706と検索対象または検索結果を入出力し、キャッシュメモリ702からリード要求の中のリード指示とアドレスの入力を受ける。
メインメモリ検査対象アドレス決定部706は、キャッシュアクセス範囲記憶部705と検索対象または検索結果を入出力し、アクセス制御部704とアクセス制御部710にメインメモリ検査対象アドレスを出力する。
アクセス制御部704は、キャッシュメモリ702、データ比較部711と、アクセス制御部710は、キャッシュメモリ708、データ比較部711と、アクセス要求またはその応答を入出力し、メインメモリ検査対象アドレス決定部706からメインメモリ検査対象アドレスの入力を受ける。
データ比較部711は、アクセス制御部704、アクセス制御部710、メインメモリ703、メインメモリ709と、アクセス要求またはその応答を入出力し、CPU701とCPU707にエラー検知を出力する。
メインメモリ703とメインメモリ709は、データ比較部711とアクセス要求またはその応答を入出力する。
Next, input / output of each device or unit will be described.
The
The
The cache access
The main memory test target
The
The
The
次に、各装置または部の処理を説明する。ここで、CPU707はCPU701と、キャッシュメモリ708はキャッシュメモリ702と、メインメモリ709はメインメモリ703と、アクセス制御部710はアクセス制御部704と同様の動きをし、違いがある場合には明記する。
Next, processing of each device or unit will be described. Here, the
CPU701は、キャッシュメモリ702にアクセス要求を出力し、アクセス要求がリード要求の場合、CPU701は、キャッシュメモリ702からリード要求に対するデータの入力を受ける。CPU701は、データ比較部711からエラー検知の入力を受けると割り込み処理をする。
The
キャッシュメモリ702は、CPU701からアクセス要求の入力を受けると、アクセス要求の中のアドレスとキャッシュメモリ702に記憶されているアドレスを比較する。アクセス要求の中のアドレスとキャッシュメモリ702に記憶されているアドレスの比較が一致かつアクセス要求がリード要求ならば、キャッシュメモリ702は、CPU701にリード要求に対するデータを出力する。アクセス要求の中のアドレスとキャッシュメモリ702に記憶されているアドレスの比較が不一致かつリード要求ならば、アクセス制御部705にリード要求を出力し、キャッシュメモリ702のみキャッシュアクセス範囲記憶部705にリード要求の中のリード指示とアドレスを出力する。そしてアクセス制御部705からリード要求に対するデータの入力を受け、CPU701にリード要求に対するデータを出力する。アクセス要求の中のアドレスとキャッシュメモリ702に記憶されているアドレスの比較が一致不一致にかかわらず、アクセス要求がライト要求ならば、ライト要求のアドレスとデータを記憶し、適時、アクセス制御部703に出力する。
When the
キャッシュアクセス範囲記憶部705は、キャッシュメモリ702からアクセス要求の中のリード指示とライト指示の入力を受けると、アクセス要求の中のアドレスを記憶する。アクセス要求の中のアドレスを記憶するための記憶領域がなくなると、最も過去に記憶されたアクセス要求の中のアドレスの記憶領域からアクセス要求の中のアドレスを上書きしていく。メインメモリ検査対象アドレス決定部706からメインメモリ検査対象候補アドレスの入力を受けると、メインメモリ検査対象候補アドレスがキャッシュアクセス範囲記憶部705に記憶されているアドレスからキャッシュメモリ702がアクセス制御部705から入力を受けるリード要求に対するデータ(またはアクセス制御部705に出力するライト要求の中のデータ)のデータ長(例えばキャッシュラインサイズ)内に該当するか検索する。該当ならば、メインメモリ検査対象アドレス決定部206に該当を意味する信号を出力する。非該当ならば、メインメモリ検査対象アドレス決定部206に非該当を意味する信号を出力する。
When receiving a read instruction and a write instruction in the access request from the
メインメモリ検査対象アドレス決定部706は、キャッシュアクセス範囲記憶部705にメインメモリ検査対象候補アドレスを出力すると、キャッシュアクセス範囲記憶部705から該当を意味する信号もしくは非該当を意味する信号の入力を受ける。該当を意味する信号ならば、キャッシュアクセス範囲記憶部705に次のメインメモリ検査対象候補アドレスを出力する。非該当を意味する信号ならば、アクセス制御部704とアクセス制御部710にメインメモリ検査対象アドレスを出力する。
When the main memory test target
アクセス制御部704は、キャッシュメモリ702からアクセス要求の入力を受けると、データ比較部711にアクセス要求を出力する。アクセス要求がリード要求ならば、データ比較部711からリード要求に対するデータの入力を受け、キャッシュメモリ702にリード要求に対するデータを出力する。また、メインメモリ検査対象アドレス決定部706からメインメモリ検査対象アドレスの入力を受けると、データ比較部711にリード要求を出力し、データ比較部711からリード要求に対するデータの入力を受ける。
When the
データ比較部711は、アクセス制御部704とアクセス制御部710からアクセス要求の入力を受ける。アクセス要求がリード要求ならば、メインメモリ703にアクセス制御部704からのリード要求を出力し、メインメモリ703からアクセス制御部704からのリード要求に対するデータの入力を受け、メインメモリ709にアクセス制御部710からのリード要求を出力し、メインメモリ709からアクセス制御部710からのリード要求に対するデータの入力を受ける。
そして、アクセス制御部704からのリード要求に対するデータとアクセス制御部710からのリード要求に対するデータを比較する。一致ならば、アクセス制御部704にアクセス制御部704からのリード要求に対するデータを出力し、アクセス制御部710にアクセス制御部710からのリード要求に対するデータを出力する。不一致ならば、CPU701とCPU707にエラー検知を出力する。アクセス要求がライト要求ならば、アクセス制御部704からのライト要求の中のデータとアクセス制御部710からのライト要求の中のデータを比較する。一致ならば、アクセス制御部704からのライト要求の中のデータをメインメモリ703に出力し、アクセス制御部710からのライト要求の中のデータをメインメモリ709に出力する。不一致ならば、CPU701とCPU707にエラー検知を出力する。
The
Then, the data for the read request from the
メインメモリ703は、データ比較部711からアクセス要求の入力を受ける。アクセス要求がリード要求ならば、データ比較部711にリード要求に対するデータを出力する。アクセス要求がライト要求ならば、ライト要求の中のデータを記憶する。
図2、図3を用いた高効率なメモリ検査方法の説明や図4、図5を用いた図1のキャッシュアクセス範囲記憶部105を説明は実施例1と同様である。
The
The description of the highly efficient memory inspection method using FIGS. 2 and 3 and the description of the cache access
以上のような、データ照合機能を有した計算装置を用いることで、キャッシュメモリ702がアクセス制御部704に出力するリード要求の中のアドレスからリード要求に対するデータのデータ長分だけでなく、ライト要求の中のアドレスからライト要求の中のデータのデータ長分も、直近メモリ検査の対象外とすることができる。その他効果は実施例1と同等である。
By using the computing device having the data collation function as described above, not only the data length of the data for the read request from the address in the read request output from the
101…CPU、102…キャッシュメモリ、103…メインメモリ、104…誤り検出機能付きアクセス制御部、105…キャッシュアクセス範囲記憶部、106…メインメモリ検査対象アドレス決定部、201…メモリ検査対象外範囲、202…最初のメモリ検査位置、203…最後のメモリ検査位置、204…次アドレスへの移動、400…キャッシュアクセス範囲記憶部の記憶領域、401…記憶領域、402…記憶領域、403…記憶領域、500…キャッシュアクセス範囲記憶部の記憶領域、501…比較部、502…論理和、601…CPU、602…キャッシュメモリ、603…メインメモリ、604…誤り検出機能付きアクセス制御部、605…キャッシュアクセス範囲記憶部、606…メインメモリ検査対象アドレス決定部、607…初期化タイマー、701…CPU、702…キャッシュメモリ、703…メインメモリ、704…アクセス制御部、705…キャッシュアクセス範囲記憶部、706…メインメモリ検査対象アドレス決定部、707…CPU、708…キャッシュメモリ、709…メインメモリ、710…アクセス制御部、711…データ比較部。
DESCRIPTION OF SYMBOLS 101 ... CPU, 102 ... Cache memory, 103 ... Main memory, 104 ... Access control unit with error detection function, 105 ... Cache access range storage unit, 106 ... Main memory test target address determination unit, 201 ... Memory test target non-target range, 202 ... First memory test position, 203 ... Last memory test position, 204 ... Move to next address, 400 ... Storage area of cache access range storage unit, 401 ... Storage area, 402 ... Storage area, 403 ... Storage area, 500 ... Storage area of cache access range storage unit, 501 ... Comparison unit, 502 ... OR, 601 ... CPU, 602 ... Cache memory, 603 ... Main memory, 604 ... Access control unit with error detection function, 605 ... Cache access range Storage unit, 606... Main memory inspection
Claims (6)
前記アクセス要求に対応するデータを前記CPUに出力するキャッシュメモリと、
前記キャッシュメモリから前記アクセス要求を受信し、前記アクセス要求に対応するデータを前記キャッシュメモリに出力するメインメモリと、
前記メインメモリを検査するアクセス制御部と、
前記キャッシュメモリが所定期間内にアクセスしたアドレスを記録するキャッシュアクセス範囲記憶部と、
前記アクセス制御部に前記メインメモリの検査対象範囲を出力するメインメモリ検査対象アドレス決定部であって、前記キャッシュアクセス範囲記憶部に記録された前記所定期間内にアクセスされたアドレスを前記検査対象範囲から省略する前記メインメモリ検査対象アドレス決定部と、
を有する計算装置。 A CPU that outputs an access request;
A cache memory that outputs data corresponding to the access request to the CPU;
A main memory that receives the access request from the cache memory and outputs data corresponding to the access request to the cache memory;
An access control unit for inspecting the main memory;
A cache access range storage unit for recording addresses accessed by the cache memory within a predetermined period;
A main memory test target address determination unit that outputs a test target range of the main memory to the access control unit, wherein an address accessed within the predetermined period recorded in the cache access range storage unit is the test target range. The main memory inspection target address determination unit omitted from,
A computing device.
前記キャッシュアクセス範囲記憶部は、所定の個数の前記アドレスを記録し、前記キャッシュメモリが前記所定の個数を超えてアクセスした場合は、前記所定の個数のアドレスのうち、より過去に記録された前記アドレスから上書きして記録する計算装置。 The computing device according to claim 1,
The cache access range storage unit records a predetermined number of the addresses, and when the cache memory is accessed beyond the predetermined number, the predetermined number of addresses recorded in the past A computing device that overwrites and records addresses.
前記アクセス制御部は、
前記メインメモリの検査対象範囲を全て検査する第1の検査と、
前記検査対象範囲のうち、前記メインメモリ検査対象アドレス決定部により前記所定期間内にアクセスされたアドレスを省略して検査する第2の検査と、
を行う計算装置。 The computing device according to claim 1,
The access control unit
A first inspection for inspecting the entire inspection target range of the main memory;
A second test in which the address accessed by the main memory test target address determination unit within the predetermined period is omitted from the test target range;
A computing device that performs.
一定の時間が経過すると、前記キャッシュアクセス範囲記憶部に対して、前記記録されたアドレスを初期化するための初期化要求を出力する初期化タイマーを備える計算装置。 The computing device according to claim 1, further comprising:
A computing device comprising an initialization timer for outputting an initialization request for initializing the recorded address to the cache access range storage unit when a certain time has elapsed.
前記アクセス要求に対応するデータを前記CPUに出力するキャッシュメモリと、
前記キャッシュメモリから前記アクセス要求を受信し、前記アクセス要求に対応するデータを前記キャッシュメモリに出力するメインメモリと、
前記メインメモリを検査するアクセス制御部と、
前記キャッシュメモリが所定期間内にアクセスしたアドレスを記録するキャッシュアクセス範囲記憶部と、を有し、
前記メインメモリの検査対象範囲を検査する際に、前記キャッシュアクセス範囲記憶部に記録された前記所定期間内にアクセスされたアドレスか否かを検知し、前記所定期間内にアクセスされたアドレスである場合は、検査を省略する計算方法。 A CPU that outputs an access request;
A cache memory that outputs data corresponding to the access request to the CPU;
A main memory that receives the access request from the cache memory and outputs data corresponding to the access request to the cache memory;
An access control unit for inspecting the main memory;
A cache access range storage unit for recording addresses accessed by the cache memory within a predetermined period,
When inspecting the inspection target range of the main memory, it is detected whether the address is accessed within the predetermined period recorded in the cache access range storage unit, and is an address accessed within the predetermined period. If the calculation method omits the inspection.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015024884A JP2016148964A (en) | 2015-02-12 | 2015-02-12 | Calculating device, calculation method, and protection device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015024884A JP2016148964A (en) | 2015-02-12 | 2015-02-12 | Calculating device, calculation method, and protection device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016148964A true JP2016148964A (en) | 2016-08-18 |
Family
ID=56688415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015024884A Pending JP2016148964A (en) | 2015-02-12 | 2015-02-12 | Calculating device, calculation method, and protection device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016148964A (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04354040A (en) * | 1991-05-31 | 1992-12-08 | Nec Corp | Circuit for preventing storage of single event upset error |
JP2002259229A (en) * | 2001-02-28 | 2002-09-13 | Hitachi Ltd | System for correcting memory data error |
JP2007207039A (en) * | 2006-02-02 | 2007-08-16 | Matsushita Electric Ind Co Ltd | Memory system and memory access control method |
WO2012172645A1 (en) * | 2011-06-14 | 2012-12-20 | 富士通株式会社 | Memory control device and control method |
JP2014059821A (en) * | 2012-09-19 | 2014-04-03 | Nec Computertechno Ltd | Memory patrol control method |
-
2015
- 2015-02-12 JP JP2015024884A patent/JP2016148964A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04354040A (en) * | 1991-05-31 | 1992-12-08 | Nec Corp | Circuit for preventing storage of single event upset error |
JP2002259229A (en) * | 2001-02-28 | 2002-09-13 | Hitachi Ltd | System for correcting memory data error |
JP2007207039A (en) * | 2006-02-02 | 2007-08-16 | Matsushita Electric Ind Co Ltd | Memory system and memory access control method |
WO2012172645A1 (en) * | 2011-06-14 | 2012-12-20 | 富士通株式会社 | Memory control device and control method |
JP2014059821A (en) * | 2012-09-19 | 2014-04-03 | Nec Computertechno Ltd | Memory patrol control method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11777705B2 (en) | Techniques for preventing memory timing attacks | |
US20200090760A1 (en) | Data storage systems and methods for improved recovery after a write abort event | |
US10203883B2 (en) | Performance optimization of read functions in a memory system | |
US20150074367A1 (en) | Method and apparatus for faulty memory utilization | |
US11017875B2 (en) | Tracking address ranges for computer memory errors | |
US11080135B2 (en) | Methods and apparatus to perform error detection and/or correction in a memory device | |
US10971246B2 (en) | Performing error correction in computer memory | |
JP6102515B2 (en) | Information processing apparatus, control circuit, control program, and control method | |
JP2013117840A (en) | Memory access control device and method | |
JP7308025B2 (en) | Integrated circuit device and storage device | |
US8245110B2 (en) | Error correcting code generation method and memory control apparatus | |
US10338999B2 (en) | Confirming memory marks indicating an error in computer memory | |
US8667325B2 (en) | Method, apparatus and system for providing memory sparing information | |
US20160350199A1 (en) | Predictive in-field memory repair scheme | |
US20150154082A1 (en) | Provisioning memory in a memory system for mirroring | |
US8873327B2 (en) | Semiconductor device and operating method thereof | |
CN113470725B (en) | Method and device for testing dynamic random access memory | |
CN115858211A (en) | Method and device for processing machine check errors | |
JP2016148964A (en) | Calculating device, calculation method, and protection device | |
US20130117493A1 (en) | Reliable Memory Mapping In A Computing System | |
US10176043B2 (en) | Memory controller | |
US10754566B2 (en) | Data storage device and data storage method | |
US20240168653A1 (en) | Memory system adaptive to health condition, and memory controller for memory system and operating method of the memory system | |
CN117687895A (en) | Pseudo lockstep execution across CPU cores |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20170110 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20170112 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180118 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180809 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180828 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181026 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20190129 |