[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2014016925A - Information processing system, data switching method and program - Google Patents

Information processing system, data switching method and program Download PDF

Info

Publication number
JP2014016925A
JP2014016925A JP2012155370A JP2012155370A JP2014016925A JP 2014016925 A JP2014016925 A JP 2014016925A JP 2012155370 A JP2012155370 A JP 2012155370A JP 2012155370 A JP2012155370 A JP 2012155370A JP 2014016925 A JP2014016925 A JP 2014016925A
Authority
JP
Japan
Prior art keywords
data
storage unit
spare
bit
memory
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
Application number
JP2012155370A
Other languages
Japanese (ja)
Inventor
Takeshi Saito
豪 斉藤
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.)
NEC Saitama Ltd
Original Assignee
NEC Saitama Ltd
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 NEC Saitama Ltd filed Critical NEC Saitama Ltd
Priority to JP2012155370A priority Critical patent/JP2014016925A/en
Publication of JP2014016925A publication Critical patent/JP2014016925A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

PROBLEM TO BE SOLVED: To more properly set determination reference as to whether a hardware failure occurs in an information processing system for switching data when determining that the hardware failure occurs.SOLUTION: A threshold storage part 13 stores a threshold to be used to determine whether to use a preliminary data storage part 12. Thus, determination reference as to whether a hardware failure occurs can be more properly set. For example, a user of an information processing system 1 sets a threshold in data of use having relatively high necessity for performing processing at a high speed so as to make the determination reference as to whether a hardware failure occurs moderate. In addition, the user of the information processing system 1 sets a threshold in data of use having a relatively low necessity for performing processing at a high speed so as to make the determination reference as to whether the hardware failure occurs strict.

Description

本発明は、情報処理システム、データ切替方法およびプログラムに関する。   The present invention relates to an information processing system, a data switching method, and a program.

メモリのデータビットにエラーが発生した場合の対策としてECC(Error Correction Code)が知られている。一般的なECCでは、1ビットの誤りを訂正することができ、また、2ビットの誤りを検出することができる。   ECC (Error Correction Code) is known as a countermeasure when an error occurs in a data bit of a memory. In general ECC, a 1-bit error can be corrected, and a 2-bit error can be detected.

また、特許文献1に記載のメモリ装置では、制御回路はSIMM(Single Inline Memory Module)に固定故障が発生してコピー動作指示信号を受信すると、アドレスデータで指定したSIMMのワードのデータ部とECC部からECC付き対象データを読み出し、エラーチェック/訂正回路でビットエラーを訂正し、このデータの固定故障発生ビットを代替データ選択回路により選択してその値をSIMMの予備部に書き込むコピーサイクルを、SIMMの全てのワードに対して行い、これにより予備部に固定故障発生ビットの正しいデータがコピーされる。これ以降、読み出しアクセスに対しては、SIMMから読み出したECC付き対象データの固定故障発生ビットの値を予備部のデータに置換し、この置換したECC付き対象データをエラーチェック/訂正回路に送る。
これにより、メモリに固定故障が発生してもアクセス処理の信頼性を落とさない、とされている。
In the memory device described in Patent Document 1, when a fixed fault occurs in a SIMM (Single Inline Memory Module) and a copy operation instruction signal is received, the control circuit receives the data portion of the word of the SIMM designated by the address data and the ECC. A copy cycle in which the target data with ECC is read out from the part, the bit error is corrected by the error check / correction circuit, the fixed failure occurrence bit of this data is selected by the alternative data selection circuit, and the value is written in the spare part of the SIMM. This is performed for all the words in the SIMM, whereby the correct data of the fixed failure occurrence bit is copied to the spare part. Thereafter, for read access, the value of the fixed failure occurrence bit of the ECC-added target data read from the SIMM is replaced with the spare part data, and the replaced ECC-added target data is sent to the error check / correction circuit.
Thereby, even if a fixed failure occurs in the memory, the reliability of the access processing is not reduced.

特開平10−021149号公報Japanese Patent Laid-Open No. 10-021149

しかしながら、ECCを用いたメモリにおいて、ハードウェア的な故障が発生した場合、アクセスの度にエラーの検出と訂正が続く状態となる。これにより、メモリコントローラの動作の負荷が通常時よりも高くなり、メモリアクセスの速度が低下するおそれがある。   However, when a hardware failure occurs in a memory using ECC, error detection and correction continue each time access is performed. As a result, the operation load of the memory controller becomes higher than normal, and the memory access speed may be reduced.

また、特許文献1に記載のメモリ装置では、固定故障が発生したか否かの判定は、アクセス元が行うものとして詳しく説明されていない。当該判定について、特許文献1では、アクセス元はリードアクセスに対してエラーチェック/訂正回路から返送されるステータス信号およびエラービット通知信号Fのソフトウェア等による解析により、例えば「1ビットエラーが頻発し、エラーが発生しているビットとそのデータ値が毎回同一である」という条件が成立すれば、SIMMの1ビットに縮退故障等の固定故障が発生していると推定できる、とされている。しかしながら、特許文献1では、1ビットエラーがどの程度の頻度で発生した場合に1ビットエラーが頻発したと判定するかは示されていない。   Further, in the memory device described in Patent Document 1, the determination as to whether or not a fixed failure has occurred is not described in detail as being performed by the access source. With regard to this determination, in Patent Document 1, the access source analyzes the status signal returned from the error check / correction circuit for read access and the error bit notification signal F by software or the like, for example, “1 bit error occurs frequently, If the condition that the error bit and its data value are the same every time is satisfied, it can be estimated that a fixed fault such as a stuck-at fault has occurred in one bit of the SIMM. However, Patent Document 1 does not show how often a 1-bit error occurs and whether or not it is determined that a 1-bit error frequently occurs.

ここで、メモリアクセスの際にエラーが生じた場合、当該エラーがハードウェア的な故障(特許文献1では固定故障)に起因するエラーか否かを正確に判定することは、一般的には困難である。ハードウェア的な故障が発生したか否かの判定基準を厳しくしすぎると、ハードウェア的な故障が発生した場合でもハードウェア的な故障と判定されないおそれがある。すると、アクセスの度にエラーの検出と訂正が続く状態となり、メモリコントローラの動作の負荷が通常時よりも高くなって、メモリアクセスの速度が低下するおそれがある。   Here, when an error occurs during memory access, it is generally difficult to accurately determine whether or not the error is caused by a hardware failure (fixed failure in Patent Document 1). It is. If the criterion for determining whether or not a hardware failure has occurred is too strict, even if a hardware failure occurs, it may not be determined as a hardware failure. Then, error detection and correction continue every time access is performed, and the operation load of the memory controller becomes higher than normal, which may reduce the memory access speed.

一方、ハードウェア的な故障が発生したか否かの判定基準を緩やかにしすぎると、実際にはハードウェア的な故障が発生していないにもかかわらずハードウェア的な故障が発生したと判定されるおそれがある。当該判定にて予備用ビット(特許文献1では予備部のビット)を使ってしまうと、実際にハードウェア的な故障を検出した際に、既に使用可能な予備用ビットが無く対応できないおそれがある。   On the other hand, if the criteria for determining whether or not a hardware failure has occurred is too loose, it is determined that a hardware failure has occurred even though no hardware failure has actually occurred. There is a risk. If a spare bit (a spare part bit in Patent Document 1) is used in this determination, there is a possibility that when a hardware failure is actually detected, there is no spare bit that can be used and it cannot be handled. .

本発明は、上述の課題を解決することのできる情報処理システム、データ切替方法およびプログラムを提供することを目的としている。   An object of the present invention is to provide an information processing system, a data switching method, and a program that can solve the above-described problems.

この発明は上述した課題を解決するためになされたもので、本発明の一態様による情報処理システムは、データを記憶する主データ記憶部と、前記主データ記憶部の記憶領域を区画した区画毎に使用または不使用を設定され、使用との設定にて当該区画におけるデータの一部を前記主データ記憶部に代えて記憶する予備データ記憶部と、前記予備データ記憶部を使用するか否かの判定に用いる閾値を記憶する閾値記憶部と、前記区画毎に、前記閾値を用いて当該区画に応じた前記予備データ記憶部を用いるか否かを判定する予備データ切替判定部と、を具備することを特徴とする。   The present invention has been made to solve the above-described problems, and an information processing system according to an aspect of the present invention includes a main data storage unit that stores data, and a partition that partitions a storage area of the main data storage unit. Whether or not to use the spare data storage unit and the spare data storage unit that stores a part of the data in the partition instead of the main data storage unit in the setting of use. A threshold value storage unit that stores a threshold value used for the determination, and a preliminary data switching determination unit that determines, for each partition, whether to use the backup data storage unit corresponding to the partition using the threshold value. It is characterized by doing.

また、本発明の一態様によるデータ切替方法は、データを記憶する主データ記憶部と、前記主データ記憶部の記憶領域を区画した区画毎に使用または不使用を設定され、使用との設定にて当該区画におけるデータの一部を前記主データ記憶部に代えて記憶する予備データ記憶部と、前記予備データ記憶部を使用するか否かの判定に用いる閾値を記憶する閾値記憶部と、を具備する情報処理システムのデータ切替方法であって、前記区画毎に、前記閾値を用いて当該区画に応じた前記予備データ記憶部を用いるか否かを判定する予備データ切替判定ステップを具備することを特徴とする。   Further, in the data switching method according to one aspect of the present invention, the main data storage unit that stores data and the use or non-use are set for each partition that divides the storage area of the main data storage unit. A spare data storage unit that stores part of the data in the partition instead of the main data storage unit, and a threshold storage unit that stores a threshold value used for determining whether to use the spare data storage unit, A data switching method for an information processing system comprising a preliminary data switching determination step for determining whether to use the preliminary data storage unit corresponding to the partition using the threshold value for each partition. It is characterized by.

また、本発明の一態様によるプログラムは、データを記憶する主データ記憶部と、前記主データ記憶部の記憶領域を区画した区画毎に使用または不使用を設定され、使用との設定にて当該区画におけるデータの一部を前記主データ記憶部に代えて記憶する予備データ記憶部と、前記予備データ記憶部を使用するか否かの判定に用いる閾値を記憶する閾値記憶部と、を具備する情報処理システムに、前記区画毎に、前記閾値を用いて当該区画に応じた前記予備データ記憶部を用いるか否かを判定する予備データ切替判定ステップを実行させるためのプログラムである。   Further, the program according to one aspect of the present invention is set to use or non-use for each of the main data storage unit that stores data and the storage area of the main data storage unit. A spare data storage unit that stores part of the data in the partition instead of the main data storage unit; and a threshold storage unit that stores a threshold value used for determining whether to use the spare data storage unit. This is a program for causing an information processing system to execute a preliminary data switching determination step for determining whether or not to use the preliminary data storage unit corresponding to each partition using the threshold value for each partition.

本発明によれば、ハードウェア的な故障が発生したか否かの判定基準を、より適切に設定し得る。   According to the present invention, it is possible to more appropriately set a criterion for determining whether or not a hardware failure has occurred.

本発明の一実施形態における情報処理システムの機能構成を示す概略ブロック図である。It is a schematic block diagram which shows the function structure of the information processing system in one Embodiment of this invention. 同実施形態の、DDRメモリを用いた情報処理システム1におけるデータ信号の切替の例を示す説明図である。It is explanatory drawing which shows the example of switching of the data signal in the information processing system 1 using the DDR memory of the embodiment. 同実施形態におけるDDRメモリを用いた情報処理システムの構成例を示す概略構成図である。It is a schematic block diagram which shows the structural example of the information processing system using the DDR memory in the embodiment. 同実施形態のDDRメモリの記憶領域におけるデータ構成例を示すデータ構成図である。It is a data block diagram which shows the example of a data structure in the storage area of the DDR memory of the embodiment. 同実施形態の、通常時におけるデータ選択部前後のデータ接続を示す説明図である。It is explanatory drawing which shows the data connection before and behind the data selection part in the normal time of the embodiment. 同実施形態におけるレジスタ機能部がデータビット毎のエラーの回数を記憶するエラーカウント値データの構成例を示すデータ構成図である。It is a data block diagram which shows the structural example of the error count value data which the register function part in the embodiment memorize | stores the frequency | count of the error for every data bit. 同実施形態におけるレジスタ機能部が記憶する予備データアサインレジスタのデータ構成例を示すデータ構成図である。It is a data block diagram which shows the data structural example of the reserve data assignment register which the register function part in the embodiment memorize | stores. 同実施形態の、切替後におけるデータ選択部前後のデータ接続を示す説明図である。It is explanatory drawing which shows the data connection before and behind the data selection part after switching of the embodiment. 同実施形態の、切替後のDDRメモリの記憶領域におけるデータ値の例を示す説明図である。It is explanatory drawing which shows the example of the data value in the storage area of the DDR memory after switching of the embodiment. 同実施形態の一変形例における情報処理システムの構成例を示す概略構成図である。It is a schematic block diagram which shows the structural example of the information processing system in the modification of the embodiment.

以下、図面を参照して、本発明の実施の形態について説明する。図1は、本発明の一実施形態における情報処理システムの機能構成を示す概略ブロック図である。同図において、情報処理システム1は、主データ記憶部11と、予備データ記憶部12と、閾値記憶部13と、予備データ切替判定部21とを具備する。
情報処理システム1は、データを記憶する様々な情報処理システムとすることができる。例えば、情報処理システム1は、コンピュータシステム、パソコン(Personal Computer;PC)、または、携帯情報端末(Personal Digital Assistant)であってもよい。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a schematic block diagram showing a functional configuration of an information processing system according to an embodiment of the present invention. In FIG. 1, the information processing system 1 includes a main data storage unit 11, a backup data storage unit 12, a threshold storage unit 13, and a backup data switching determination unit 21.
The information processing system 1 can be various information processing systems that store data. For example, the information processing system 1 may be a computer system, a personal computer (PC), or a portable information terminal (Personal Digital Assistant).

なお、主データ記憶部11と、予備データ記憶部12と、閾値記憶部13と、予備データ切替判定部21とは、単体の装置内に全て含まれていてもよいし、複数の装置に分かれていてもよい。例えば、主データ記憶部11と、予備データ記憶部12と、閾値記憶部13とが、いずれも予備データ切替判定部21を含む情報機器の内蔵する記憶デバイスにて実現されていてもよいし、外付けの記憶デバイスにて実現されていてもよい。   Note that the main data storage unit 11, the backup data storage unit 12, the threshold storage unit 13, and the backup data switching determination unit 21 may all be included in a single device, or may be divided into a plurality of devices. It may be. For example, the main data storage unit 11, the spare data storage unit 12, and the threshold storage unit 13 may all be realized by a storage device built in the information device including the backup data switching determination unit 21. It may be realized by an external storage device.

主データ記憶部11は、例えばコンピュータがアプリケーションプログラムを実行する際に用いるデータなど、直接記憶対象となっているデータ(以下、「主データ」と称する)を記憶する。
予備データ記憶部12は、主データ記憶部11の記憶領域を区画した区画毎に使用または不使用を設定される。そして、予備データ記憶部12は、使用との設定(すなわち、予備データ記憶部12を使用することを示す設定)にて当該区画におけるデータの一部を主データ記憶部11に代えて記憶する。
The main data storage unit 11 stores data to be directly stored (hereinafter referred to as “main data”) such as data used when a computer executes an application program.
The spare data storage unit 12 is set to be used or not used for each partition that partitions the storage area of the main data storage unit 11. Then, the spare data storage unit 12 stores a part of the data in the partition in place of the main data storage unit 11 in the use setting (that is, a setting indicating that the spare data storage unit 12 is used).

閾値記憶部13は、予備データ記憶部12を使用するか否かの判定に用いる閾値を記憶する。
予備データ切替判定部21は、主データ記憶部11の記憶領域を区画した区画毎に、閾値を用いて当該区画に応じた予備データ記憶部12を用いるか否かを判定する。
The threshold storage unit 13 stores a threshold used for determining whether or not to use the spare data storage unit 12.
The spare data switching determination unit 21 determines, for each partition that partitions the storage area of the main data storage unit 11, whether to use the spare data storage unit 12 corresponding to the partition using a threshold value.

このように、閾値記憶部13は、予備データ記憶部12を使用するか否かの判定に用いる閾値を記憶する。これにより、ハードウェア的な故障(以下、「ハード故障」と称する)が発生したか否かの判定基準を、より適切に設定し得る。
例えば、情報処理システム1のユーザは、処理を高速に行う必要性の比較的高い用途のデータに対しては、ハード故障が発生したか否かの判定基準が緩やかになるように閾値を設定しておく。当該閾値に基づいて、ハード故障が発生した場合に、情報処理システム1が、当該故障が発生したビットの記憶部を主データ記憶部11から予備データ記憶部12に切り替えることが期待される。この切替にて、アクセスの度にエラーの検出と訂正が続く状態を回避でき、メモリアクセスの速度の低下を防止し得る。
Thus, the threshold storage unit 13 stores a threshold used for determining whether or not to use the spare data storage unit 12. As a result, it is possible to more appropriately set a criterion for determining whether or not a hardware failure (hereinafter referred to as “hardware failure”) has occurred.
For example, the user of the information processing system 1 sets a threshold value so that a criterion for determining whether or not a hardware failure has occurred is moderate for data for relatively high usage that requires high-speed processing. Keep it. Based on the threshold value, when a hardware failure occurs, the information processing system 1 is expected to switch the storage unit of the bit in which the failure has occurred from the main data storage unit 11 to the spare data storage unit 12. By this switching, it is possible to avoid a state in which error detection and correction continues every time access is performed, and a decrease in memory access speed can be prevented.

また、情報処理システム1のユーザは、処理を高速に行う必要性の比較的低い用途のデータに対しては、ハード故障が発生したか否かの判定基準が厳しくなるように閾値を設定しておく。当該閾値に基づいて予備データ切替判定部21が判定を行うことで、実際にはハード故障が発生していないにもかかわらずハード故障が発生したと判定するおそれを低減させることができる。従って、予備データ切替判定部21が実際にハード故障を検出した際に、既に使用可能な予備用ビットが無く対応できないおそれを低減させることができる。   In addition, the user of the information processing system 1 sets a threshold for data for a use that is relatively less necessary to perform processing at a high speed so that a criterion for determining whether or not a hardware failure has occurred becomes strict. deep. By making the preliminary data switching determination unit 21 perform determination based on the threshold value, it is possible to reduce the risk of determining that a hardware failure has occurred even though a hardware failure has not actually occurred. Therefore, when the spare data switching determination unit 21 actually detects a hardware failure, it is possible to reduce a possibility that there is no spare bit that can be already used and it cannot be handled.

次に、主データ記憶部11や予備データ記憶部12や閾値記憶部13を実現する記憶デバイスとしてDDR(Double Data Rate)メモリを用いた場合を例に、本実施形態についてさらに詳細に説明する。
但し、本発明の適用範囲は、DDRメモリに限らない。ハード故障に起因するエラーと、ハード故障に起因しない一時的なエラー(ソフトエラー)とが発生し得る様々な記憶デバイスに対して本発明を適用し得る。
Next, the present embodiment will be described in more detail by taking as an example a case where a DDR (Double Data Rate) memory is used as a storage device for realizing the main data storage unit 11, the spare data storage unit 12, and the threshold storage unit 13.
However, the application range of the present invention is not limited to the DDR memory. The present invention can be applied to various storage devices in which an error caused by a hardware failure and a temporary error (soft error) not caused by a hardware failure can occur.

図2は、DDRメモリを用いた情報処理システム1におけるデータ信号の切替の例を示す説明図である。同図において、情報処理システム1は、プロセッサ101と、複数のDDRメモリ104とを具備する。プロセッサ101は、プロセッサコア102と、メモリコントローラ103とを具備する。   FIG. 2 is an explanatory diagram showing an example of data signal switching in the information processing system 1 using a DDR memory. In FIG. 1, the information processing system 1 includes a processor 101 and a plurality of DDR memories 104. The processor 101 includes a processor core 102 and a memory controller 103.

以下で説明するDDRメモリを用いた情報処理システム1では、プロセッサ101からDDRメモリ104へのバスにおいて、データ幅が32ビット、付随するECCが4ビットとなっている。但し、本発明は、プロセッサとメモリとの間のバスのデータ幅や、エラー訂正ビットの種類やビット数に依存しない。従って、プロセッサ101からDDRメモリ104へのバスのデータ幅は32ビットに限らない。また、ECCのビット数は4ビットに限らないし、ECC以外のエラー訂正手段を用いるようにしてもよい。   In the information processing system 1 using the DDR memory described below, the data width is 32 bits and the accompanying ECC is 4 bits on the bus from the processor 101 to the DDR memory 104. However, the present invention does not depend on the data width of the bus between the processor and the memory, the type of error correction bits, and the number of bits. Therefore, the data width of the bus from the processor 101 to the DDR memory 104 is not limited to 32 bits. The number of ECC bits is not limited to 4 bits, and error correction means other than ECC may be used.

図2では、プロセッサ101とDDRメモリ104との間の接続において、主データの信号DATA[7−0]〜DATA[31−24]およびデータストローブ(Data Strobe)信号DQS0〜DQS3や、ECCのデータ信号ECC_DATA[3−0]およびデータストローブ信号ECC_DQSといった通常のデータ信号の接続に加えて、予備用のデータ信号(RSB_DATA[3−0] 212)の接続が示されている。
なお、[]にてビット位置を示している。例えば「[7−0]」は、7番目のビットから0番目のビットまでの一連のビットを示す。
In FIG. 2, in the connection between the processor 101 and the DDR memory 104, main data signals DATA [7-0] to DATA [31-24], data strobe signals DQS0 to DQS3, and ECC data In addition to connection of normal data signals such as the signal ECC_DATA [3-0] and the data strobe signal ECC_DQS, connection of a spare data signal (RSB_DATA [3-0] 212) is shown.
Note that [] indicates a bit position. For example, “[7-0]” indicates a series of bits from the 7th bit to the 0th bit.

特定のデータビットでエラーが発生した場合に当該データビットに対するアクセスを予備用のデータ信号に切り替える機能をメモリコントローラ103が具備することで、ハード故障による継続的なエラーの発生を抑制することができる。
例えば、設計に起因して特定ビットで波形品質が悪くエラーが発生する場合に、当該エラーの頻発を回避することができる。
Since the memory controller 103 has a function of switching access to a data bit to a spare data signal when an error occurs in a specific data bit, it is possible to suppress the occurrence of a continuous error due to a hardware failure. .
For example, when the waveform quality is low and an error occurs at a specific bit due to the design, frequent occurrence of the error can be avoided.

設計に起因するエラーとして、例えば、プロセッサとDDRメモリ間のプリント基板上の配線に起因して、特定のデータビットでの信号波形の品質が悪く、装置としての環境条件下における温度変化やデバイスの特性バラつきにより発生するエラーが考えられる。
かかるエラーを回避するために、プリント基板の設計など、環境変化やデバイスの特性バラつきに十分耐性のあるハードウェアを設計することが考えられる。しかし、高容量化による多分岐接続、低電圧化や高速化が求められるDDRメモリにおいて、設計段階でエラーを予見することは非常に困難である。
As an error caused by the design, for example, due to wiring on the printed circuit board between the processor and the DDR memory, the quality of the signal waveform at a specific data bit is poor, the temperature change under the environmental conditions as the device and the device Errors that occur due to characteristic variations are considered.
In order to avoid such errors, it is conceivable to design hardware that is sufficiently resistant to environmental changes and device characteristic variations, such as printed circuit board design. However, it is very difficult to foresee errors at the design stage in a DDR memory that requires multi-branch connection due to high capacity, low voltage and high speed.

これに対し、図2に示すように、エラーが発生したデータビットを未使用とし、予備データへ切替を行うことで継続してエラーが発生する状態を回避して、安定したメモリアクセスを実現することができる。従って、予備データの範囲で再設計や修理の必要なしにエラー状態を回避することができ、この点において、製造時や設計時のリスクを低減できる。   On the other hand, as shown in FIG. 2, a data bit in which an error has occurred is not used and switching to spare data avoids a state in which an error continuously occurs, thereby realizing stable memory access. be able to. Therefore, it is possible to avoid an error state without the need for redesign or repair within the range of the preliminary data, and in this respect, the risk at the time of manufacture or design can be reduced.

図3は、DDRメモリを用いた情報処理システム1の構成例を示す概略構成図である。同図において、情報処理システム1は、プロセッサ101と、複数のDDRメモリ104とを具備する。プロセッサ101は、プロセッサコア102と、メモリコントローラ103とを具備する。メモリコントローラ103は、データ送受信部201と、アクセス制御部202と、レジスタ機能部203と、ECC機能部204と、内部バス変換部205と、データ選択部206とを具備する。   FIG. 3 is a schematic configuration diagram illustrating a configuration example of the information processing system 1 using a DDR memory. In FIG. 1, the information processing system 1 includes a processor 101 and a plurality of DDR memories 104. The processor 101 includes a processor core 102 and a memory controller 103. The memory controller 103 includes a data transmission / reception unit 201, an access control unit 202, a register function unit 203, an ECC function unit 204, an internal bus conversion unit 205, and a data selection unit 206.

プロセッサ101は、情報機器(例えば、コンピュータ、電気機器または情報通信機器等)の中において、ソフトウェアを動作させるハードウェアである。
ここで、本発明はプロセッサの種類に依存せず、様々なプロセッサに本発明を適用可能である。例えば、プロセッサ101は、CPU(Central Processing Unit、中央処理装置)であってもよいし、NPU(Network Processing Unit、ネットワークプロセッサ。ネットワークカードに搭載されたプロセッサ)であってもよい。あるいは、プロセッサ101は、DSP(Digital Signal Processor、デジタル信号処理に特化したマイクロプロセッサ)であってもよい。あるいは、プロセッサ101は、FPGA(Field-Programmable Gate Array、製造後に購入者や設計者が構成を設定可能な集積回路)のビルドインプロセッサであってもよい。
The processor 101 is hardware that operates software in an information device (for example, a computer, an electric device, an information communication device, or the like).
Here, the present invention does not depend on the type of processor, and the present invention can be applied to various processors. For example, the processor 101 may be a CPU (Central Processing Unit) or an NPU (Network Processing Unit, a processor installed in a network card). Alternatively, the processor 101 may be a DSP (Digital Signal Processor, a microprocessor specialized in digital signal processing). Alternatively, the processor 101 may be a built-in processor of an FPGA (Field-Programmable Gate Array, an integrated circuit whose configuration can be set by a purchaser or designer after manufacture).

プロセッサコア102は、ソフトウェアを動作させる演算装置であり、プログラムの命令を解釈し実行する機能を有する。
メモリコントローラ103は、プロセッサ101が動作するための命令やデータを格納する周辺メモリ(例えばDDRメモリ104)とのインタフェースを担う。
The processor core 102 is an arithmetic device that operates software, and has a function of interpreting and executing program instructions.
The memory controller 103 serves as an interface with a peripheral memory (for example, the DDR memory 104) that stores instructions and data for the processor 101 to operate.

DDRメモリ104は、プロセッサ101の周辺において、プロセッサ101が動作するための命令やデータを格納する役割を担う不揮発性のメモリである。DDRメモリ104として、例えば、DDR2 SDRAM(Double-Data-Rate2 Synchronous Dynamic Random Access Memory)を用いてもよい。あるいは、DDRメモリ104として、DDR3 SDRAM(Double-Data-Rate3 Synchronous Dynamic Random Access Memory)を用いてもよい。   The DDR memory 104 is a non-volatile memory that plays a role of storing instructions and data for operating the processor 101 around the processor 101. As the DDR memory 104, for example, a DDR2 SDRAM (Double-Data-Rate2 Synchronous Dynamic Random Access Memory) may be used. Alternatively, a DDR3 SDRAM (Double-Data-Rate 3 Synchronous Dynamic Random Access Memory) may be used as the DDR memory 104.

データ送受信部201は、データ信号の送受信を行う機能部である。一般にDDRメモリのインタフェースでは、データはDQS信号(データストローブ(Data Strobe)信号)を基準に処理される。データ送受信部201は、接続されるメモリの構成や仕様に合わせてドライブ能力やDQSに対するデータの入出力タイミングを調整する。そして、データ送受信部201は、DDRメモリ104に対するデータおよびDQS信号の出力と、DDRメモリ104から入力されたデータを、DQS信号を基準にラッチする役割を担う。   The data transmitting / receiving unit 201 is a functional unit that transmits and receives data signals. In general, in a DDR memory interface, data is processed based on a DQS signal (data strobe signal). The data transmitting / receiving unit 201 adjusts the drive capability and the data input / output timing for the DQS in accordance with the configuration and specifications of the connected memory. The data transmission / reception unit 201 plays a role of latching data and DQS signal output to the DDR memory 104 and data input from the DDR memory 104 with reference to the DQS signal.

アクセス制御部202は、接続されるメモリの構成や仕様に合わせてアクセスの制御タイミングを調整し、DDRメモリ104への、制御信号や、アドレス信号や、クロック信号の送出を担う機能部である。
レジスタ機能部203は、メモリコントローラ103における制御レジスタである。レジスタ機能部203は、データ送受信部201とアクセス制御部202とに対してメモリの仕様に合わせたアクセスタイミングやドライブ能力などを設定するレジスタや、ECC機能部204のエラー検出状態の確認用のレジスタを有する。さらに、レジスタ機能部203は、データ選択部206がエラーの発生したデータビットの切替制御を行うための設定レジスタを有する。レジスタ制御部の各レジスタの制御は、例えばプロセッサコア102が行う。
The access control unit 202 is a functional unit that adjusts the access control timing in accordance with the configuration and specifications of the connected memory and is responsible for sending control signals, address signals, and clock signals to the DDR memory 104.
The register function unit 203 is a control register in the memory controller 103. The register function unit 203 is a register that sets access timing, drive capability, and the like according to the memory specifications for the data transmitting / receiving unit 201 and the access control unit 202, and a register for checking the error detection state of the ECC function unit 204. Have Further, the register function unit 203 includes a setting register for the data selection unit 206 to perform switching control of data bits in which an error has occurred. For example, the processor core 102 controls each register of the register control unit.

ECC機能部204は、主データにECCを付加してメモリに格納することで、主データのエラーを検出して、自動修復する機能を担う。ECC機能部204は、データ読み込み時に、読み込んだデータから算出したコードと、元のコード(メモリに格納されたコード)とを照合することで、エラーを検出し、1ビットエラーに対しては訂正を行う。   The ECC function unit 204 has a function of detecting an error in the main data and automatically repairing it by adding the ECC to the main data and storing it in the memory. When the data is read, the ECC function unit 204 detects an error by comparing the code calculated from the read data with the original code (code stored in the memory), and corrects the 1-bit error. I do.

内部バス変換部205は、プロセッサコア102とメモリコントローラ103との間の内部バス210のデータ送受信を行う機能部である。内部バス変換部205は、内部バス210を介してのプロセッサコア102からメモリコントローラ103へのアクセスに対してライトデータを取得する。また、内部バス変換部205は、DDRメモリ104からのリードデータを、内部バス210を介してプロセッサコア102へ送出する。
データ選択部206は、ECC機能部204が検出するエラーの発生状況に従い、エラー検出されたビットへのアクセスを予備データビットに切り替える。
The internal bus conversion unit 205 is a functional unit that performs data transmission / reception of the internal bus 210 between the processor core 102 and the memory controller 103. The internal bus conversion unit 205 acquires write data for access from the processor core 102 to the memory controller 103 via the internal bus 210. Further, the internal bus conversion unit 205 sends the read data from the DDR memory 104 to the processor core 102 via the internal bus 210.
The data selection unit 206 switches the access to the bit in which the error is detected to the spare data bit according to the error occurrence state detected by the ECC function unit 204.

図3に示す構成では、データバス幅64ビット(DATA[63−0])、付随するECCが8ビット(ECC[7−0])となっている。また、DDRメモリ104のデータ幅を16ビットとなっており、ECC用を含む5個のメモリで1つのバンクにおける1領域を構成している。具体的には、DDR#1〜DDR#4と、ECC&予備用DDR#1とでバンク0における1領域を構成し、64ビットの主データを記憶する。また、DDR#5〜DDR#8と、ECC&予備用DDR#2とでバンク1における1領域を構成し、64ビットの主データを記憶する。   In the configuration shown in FIG. 3, the data bus width is 64 bits (DATA [63-0]), and the accompanying ECC is 8 bits (ECC [7-0]). Further, the data width of the DDR memory 104 is 16 bits, and one area in one bank is constituted by five memories including those for ECC. Specifically, DDR # 1 to DDR # 4 and ECC & spare DDR # 1 constitute one area in bank 0 and store 64-bit main data. Also, DDR # 5 to DDR # 8 and ECC & spare DDR # 2 form one area in bank 1 and store 64-bit main data.

但し、本発明の適用範囲は、図3に示すものに限らない。例えば、データバス幅や、ECCのビット数や、DDRメモリのデータ幅は、図3に示すものに限らず、従って、1つのバンクの1領域を構成するDDRメモリ104の数は図3に示す5個に限らない。また、情報処理システム1におけるバンク数は図3に示す2つに限らず3つ以上であってもよい。   However, the scope of application of the present invention is not limited to that shown in FIG. For example, the data bus width, the number of ECC bits, and the data width of the DDR memory are not limited to those shown in FIG. 3. Accordingly, the number of DDR memories 104 constituting one area of one bank is shown in FIG. It is not limited to five. Further, the number of banks in the information processing system 1 is not limited to two shown in FIG. 3 and may be three or more.

図3に示す構成では、メモリコントローラ103とDDRメモリ104との間の一般的な接続に対して、データ信号が拡張されている。具体的には、バンクにおける1領域毎に、主データ64ビットに対して、8ビットのデータ信号(RSB_DATA[3−0]およびFLG_DATA[3−0])が追加されている。
この追加ビット数は、DDRメモリ104においてデータがバイト(8ビット)単位で1レーンとして扱われるためであり、1レーンに対して1つのDQS信号が対となり、レーン内の8ビットのデータはこのDQSを基準に送受信される。拡張したデータ信号の基準用としてDQS信号(RSB_DQS 211)が追加されている。
In the configuration shown in FIG. 3, the data signal is extended with respect to a general connection between the memory controller 103 and the DDR memory 104. Specifically, 8-bit data signals (RSB_DATA [3-0] and FLG_DATA [3-0]) are added to 64 bits of main data for each area in the bank.
This additional number of bits is because data is handled as one lane in byte (8 bits) units in the DDR memory 104. One DQS signal is paired for each lane, and the 8-bit data in the lane is Transmission / reception is performed based on DQS. A DQS signal (RSB_DQS 211) is added as a reference for the expanded data signal.

拡張されたデータ信号8ビットのうち4ビットは、エラーが発生した場合の切替用(冗長用)として使用する予備データ信号RSB_DATA[3−0]となっている。また、残りの4ビットは、アクセスされたアドレス領域においてRSB_DATA[3−0]が使用されているか否かを示すためのフラグ信号FLG_DATA[3−0]となっている。   Of the 8 extended data signals, 4 bits are reserved data signals RSB_DATA [3-0] used for switching (redundancy) when an error occurs. The remaining 4 bits are a flag signal FLG_DATA [3-0] for indicating whether or not RSB_DATA [3-0] is used in the accessed address area.

なお、図3に示す構成において、主データを記憶するDDR#1〜DDR#8は、本発明における主データ記憶部の一例に該当する。また、予備用のデータRSB_DATA[3−0]を記憶するECC&予備用DDR#1は、本発明における予備データ記憶部の一例に該当する。
また、レジスタ機能部203は、予備用のデータRSB_DATA[3−0]を用いるか否かの判定に用いる閾値を記憶しており、このレジスタ機能部203は、本発明における閾値記憶部の一例に該当する。
In the configuration shown in FIG. 3, DDR # 1 to DDR # 8 storing main data correspond to an example of a main data storage unit in the present invention. The ECC & spare DDR # 1 for storing spare data RSB_DATA [3-0] corresponds to an example of a spare data storage unit in the present invention.
The register function unit 203 stores a threshold value used for determining whether or not to use the spare data RSB_DATA [3-0]. The register function unit 203 is an example of the threshold value storage unit in the present invention. Applicable.

また、データ選択部206は、上述したように、ECC機能部204が検出するエラーの発生状況に従い、エラー検出されたビットへのアクセスを予備データビットに切り替える。すなわち、データ選択部206は、予備用のデータRSB_DATA[3−0]を用いるか否かの判定を行う機能部であり、本発明における予備データ切替判定部の一例に該当する。
また、5つのDDRメモリ104で構成する各バンクにおける1領域は、本発明における主データ記憶部の記憶領域の区画の一例に該当する。
Further, as described above, the data selection unit 206 switches the access to the bit in which the error is detected to the spare data bit in accordance with the occurrence state of the error detected by the ECC function unit 204. That is, the data selection unit 206 is a functional unit that determines whether or not to use the spare data RSB_DATA [3-0], and corresponds to an example of the spare data switching determination unit in the present invention.
Further, one area in each bank constituted by the five DDR memories 104 corresponds to an example of a partition of the storage area of the main data storage unit in the present invention.

次に、図3に示すDDRメモリを用いた情報処理システム1の動作について説明する。
メモリコントローラ103は、DDRメモリ104に対するイニシャルシーケンスにおいて、主データのデータビットやECCのデータビットのタイミング調整や初期化に加えて、拡張されたデータビットに対してもタイミング調整および初期化を行う。
Next, the operation of the information processing system 1 using the DDR memory shown in FIG. 3 will be described.
In the initial sequence for the DDR memory 104, the memory controller 103 performs timing adjustment and initialization for the extended data bits in addition to timing adjustment and initialization of the data bits of the main data and the ECC data bits.

まず、通常時(エラー発生のない状態)における情報処理システム1の動作について説明する。
通常時において、データ選択部206は、ライト(Write、メモリへの書込)時、リード(Read、メモリからの読出)時共に、拡張されたデータビットを使用しない。
プロセッサコア102からDDRメモリ104へのライトアクセス時、データ選択部206は、内部バス変換部205からのデータ(SEL_DATA[63−0] 209)を通常データ(DEF_DATA[63−0] 208)としてECC機能部に入力する。ECC機能部204は、通常データのECCを算出し、算出されたECC8ビットと通常データ64ビットをデータ送受信部201に入力する。
First, the operation of the information processing system 1 in a normal time (a state where no error occurs) will be described.
In a normal state, the data selection unit 206 does not use the extended data bits at the time of writing (Write, writing to the memory) and at the time of reading (Read, reading from the memory).
At the time of write access from the processor core 102 to the DDR memory 104, the data selection unit 206 performs ECC using the data (SEL_DATA [63-0] 209) from the internal bus conversion unit 205 as normal data (DEF_DATA [63-0] 208). Enter in the function section. The ECC function unit 204 calculates the ECC of normal data, and inputs the calculated ECC 8 bits and normal data 64 bits to the data transmitting / receiving unit 201.

このタイミングにおいて、プロセッサコアが指定したメモリのアドレス領域に対して、アクセス制御部202が制御信号でライトコマンドを入力し、データ送受信部201がデータ64ビットとECCデータ8ビットとDQS信号とをメモリに入力する。メモリに入力されたデータは、指定のアドレス領域に格納される。この時、拡張されたデータビットに対しては、RSB_DQSに合わせてALL−Zeroデータ(全ビット0のデータ)が出力され、DDRメモリ104に格納される。   At this timing, the access control unit 202 inputs a write command with a control signal to the memory address area designated by the processor core, and the data transmitting / receiving unit 201 stores the data of 64 bits, ECC data of 8 bits, and the DQS signal. To enter. Data input to the memory is stored in a specified address area. At this time, for the extended data bits, ALL-Zero data (data of all bits 0) is output in accordance with RSB_DQS and stored in the DDR memory 104.

図4は、DDRメモリ104の記憶領域におけるデータ構成例を示すデータ構成図である。同図では、情報処理システム1がバンク毎に複数領域分のDDRメモリ104を具備する場合の例を示している。図3で説明したDDR#1〜DDR#4およびECC&予備用DDR#1の場合と同様、1つの領域は5つのDDRメモリにて構成される。   FIG. 4 is a data configuration diagram showing a data configuration example in the storage area of the DDR memory 104. In the figure, an example in which the information processing system 1 includes a plurality of DDR memories 104 for each bank is shown. As in the case of DDR # 1 to DDR # 4 and ECC & spare DDR # 1 described in FIG. 3, one area is composed of five DDR memories.

CS0のバンクの領域Aを指定してライトされた通常データ64ビットは、データを扱うDDR#1〜4にそれぞれ格納される。ECCデータ8ビットは、ECC予備用DDR#1に格納され、同メモリが扱う拡張データの領域にはALL−Zeroが格納される。
プロセッサコア102からメモリへのリードアクセス時、アクセス制御部202がDDRメモリ104に対してリードコマンドを入力する。DDRメモリ104は、メモリコントローラ103に対して、データ64ビットとECC8ビットと拡張データ8ビット(RSB_DATA[3−0]およびFLG_DATA[3−0])と各データに対となるDQSを入力する。
The 64-bit normal data written by designating the bank A area of CS0 is stored in DDR # 1 to DDR # 4 that handle data. The ECC data 8 bits are stored in the ECC spare DDR # 1, and ALL-Zero is stored in the extended data area handled by the memory.
At the time of read access from the processor core 102 to the memory, the access control unit 202 inputs a read command to the DDR memory 104. The DDR memory 104 inputs 64 bits of data, 8 bits of ECC, 8 bits of extension data (RSB_DATA [3-0] and FLG_DATA [3-0]) and DQS paired with each data to the memory controller 103.

メモリコントローラ103のデータ送受信部201は、DQSを基準にデータ64ビットとECCデータ8ビットと拡張データ8ビットとをラッチして、ECC機能部204に入力する。ECC機能部204は、拡張データ8ビットのフラグデータ(FLG[3−0] 214)の値を確認する。前述したように、通常時にはフラグデータに0(Zero)が格納されている。   The data transmission / reception unit 201 of the memory controller 103 latches 64 bits of data, 8 bits of ECC data, and 8 bits of extension data based on DQS and inputs them to the ECC function unit 204. The ECC function unit 204 checks the value of the extension data 8-bit flag data (FLG [3-0] 214). As described above, 0 (Zero) is stored in the flag data at the normal time.

フラグデータが0(Zero)の場合、ECC機能部204は、通常データ64ビットに対してECC算出を行い、DDRメモリ104からリードされたECCデータ8ビットと比較を行う。通常時(エラーがない状態)においては、比較したECCは一致し、ECC機能部は、訂正なくデータ64ビットと拡張データ8ビット(RSB[3−0]、FLG[3−0])とをデータ選択部206に入力する。   When the flag data is 0 (Zero), the ECC function unit 204 performs ECC calculation on 64 bits of normal data and compares it with 8 bits of ECC data read from the DDR memory 104. In the normal state (the state where there is no error), the compared ECCs match each other, and the ECC function unit outputs 64 bits of data and 8 bits of extended data (RSB [3-0], FLG [3-0]) without correction. The data is input to the data selection unit 206.

データ選択部206は、ECC機能部204と同じく入力された拡張データ8ビットのフラグデータ(FLG[3−0] 214)の値を確認する。フラグデータが0の場合、予備データ(RSB[3−0] 207)の使用がないことを示している。そこで、データ選択部206は、データ64ビットを内部バス変換部205に入力する。内部バス変換部は、データ選択部206からのデータ64ビット(SEL_DATA[63−0])をプロセッサコア102へ出力する。   The data selection unit 206 confirms the value of the extension data 8-bit flag data (FLG [3-0] 214) input in the same manner as the ECC function unit 204. When the flag data is 0, it indicates that the spare data (RSB [3-0] 207) is not used. Therefore, the data selection unit 206 inputs 64 bits of data to the internal bus conversion unit 205. The internal bus conversion unit outputs the 64-bit data (SEL_DATA [63-0]) from the data selection unit 206 to the processor core 102.

上記の通り、通常時(エラー発生のない状態)においては、プロセッサコア102からのデータ(主データ)64ビットがDDRメモリ104の記憶領域にライトされ、また、主データ64ビットがプロセッサ101にリードされる。この通常時は、内部の論理的なデータ64ビットとDDRメモリに対する物理的なデータ64ビットとが一致した状態である。   As described above, 64 bits of data (main data) from the processor core 102 are written to the storage area of the DDR memory 104 and 64 bits of main data are read to the processor 101 during normal operation (the state where no error occurs). Is done. In this normal time, the internal logical data 64 bits coincide with the physical data 64 bits for the DDR memory.

図5は、通常時におけるデータ選択部206前後のデータ接続を示す説明図である。通常時は、同図に示すようにDATA[63−0]が主データの格納領域として用いられ、予備データRSB_DATA[3−0]とフラグデータFLG_DATA[3−0]の値は0になっている。   FIG. 5 is an explanatory diagram showing data connections before and after the data selection unit 206 in a normal state. Normally, as shown in the figure, DATA [63-0] is used as a main data storage area, and the values of spare data RSB_DATA [3-0] and flag data FLG_DATA [3-0] are 0. Yes.

次に、エラー発生時の情報処理システム1の動作について説明する。
ライト時にDDRメモリ104が記憶した主データ64ビットのうち1ビットが誤っていた場合、また、リード時にデータ送受信部201がリードしたデータのうち1ビットが誤っていた場合、いずれもリード時において、ECC機能部204がエラーを検出する。
ECC機能部204は、ECC機能部204自らが主データ64ビットから算出したECCと、DDRメモリ104からリードしたECCデータとに不一致が発生することでエラーを検出する。ECCデータの不一致ビットから誤りを起こしているビットを特定することが可能であり、ECC機能部204は、誤りビットの訂正を行う。
Next, the operation of the information processing system 1 when an error occurs will be described.
When one bit out of 64 bits of main data stored in the DDR memory 104 at the time of writing is incorrect, or when one bit out of the data read by the data transmitting / receiving unit 201 at the time of reading is incorrect, The ECC function unit 204 detects an error.
The ECC function unit 204 detects an error when a mismatch occurs between the ECC calculated by the ECC function unit 204 itself from 64-bit main data and the ECC data read from the DDR memory 104. It is possible to identify a bit causing an error from the mismatched bits of the ECC data, and the ECC function unit 204 corrects the error bit.

また、レジスタ機能部203は、エラーを起こしたデータビットを予備データに切り替えるか否かの判定のために、各データビットで発生したエラーの回数を記憶するためのエラー発生回数レジスタを有する。
図6は、レジスタ機能部203がデータビット毎のエラーの回数を記憶するエラーカウント値データの構成例を示すデータ構成図である。同図に示すように、レジスタ機能部203は、バンクの領域毎に、データ64ビットの各ビットについてエラーの回数(エラーカウント値)を記憶している。各エラーカウント値の初期値は0に設定されている。
何れかのビットにエラーが発生した場合、該当するビットのエラーカウント値をインクリメントする(値に1を加える)。
Further, the register function unit 203 has an error occurrence count register for storing the number of errors that have occurred in each data bit in order to determine whether or not to switch the data bit in which an error has occurred to spare data.
FIG. 6 is a data configuration diagram illustrating a configuration example of error count value data in which the register function unit 203 stores the number of errors for each data bit. As shown in the figure, the register function unit 203 stores the number of errors (error count value) for each of the 64 bits of data for each bank area. The initial value of each error count value is set to zero.
When an error occurs in any of the bits, the error count value of the corresponding bit is incremented (1 is added to the value).

なお、レジスタ機能部203がエラーをカウントする単位は領域毎に限らない。例えば、レジスタ機能部203が、エラーが発生したビットをバンク毎に切替可能とするために、バンク毎に各ビットのエラー発生回数をカウントするようにしてもよい。この場合、レジスタ機能部203は、バンク数分×ビット数分のレジスタを有し、バンク毎かつビット毎にエラー発生回数をカウントする。   Note that the unit in which the register function unit 203 counts errors is not limited to each region. For example, the register function unit 203 may count the number of error occurrences of each bit for each bank so that the bit in which the error has occurred can be switched for each bank. In this case, the register function unit 203 has registers for the number of banks × the number of bits, and counts the number of error occurrences for each bank and for each bit.

また、レジスタ機能部203には、エラーが発生したデータビットへのアクセスを予備データに切り替えるか否か判断する閾値を記憶するためのエラー閾値レジスタを有する。
あるビットでのエラー発生回数がエラー閾値レジスタに設定された値を超えた場合、データ選択部206は、予備データへの切替動作を行う。ユーザは、エラー閾値レジスタの値を変更することで、予備データへの切替を行うエラー発生回数を任意に変更できる。
Further, the register function unit 203 has an error threshold register for storing a threshold value for determining whether or not to switch access to a data bit in which an error has occurred to spare data.
When the number of error occurrences at a certain bit exceeds the value set in the error threshold register, the data selection unit 206 performs a switching operation to spare data. The user can arbitrarily change the number of error occurrences for switching to spare data by changing the value of the error threshold register.

次に、情報処理システム1が予備データへの切替を行う動作について説明する。
例として、バンク0(CS0のバンク)の領域A(DDR#1〜#4およびECC&予備用DDR#1にて構成する領域)に対するアクセスにおいてデータビット31でのエラー発生回数が閾値を超えた場合について説明する。ECC機能部204は、データビット31のアクセスが予備データに切り替えられたことを示すため、レジスタ機能部203のデータ切替フラグレジスタに対して値の設定を行う。
Next, an operation in which the information processing system 1 performs switching to spare data will be described.
As an example, when the number of error occurrences in the data bit 31 exceeds the threshold in the access to the area A (area constituted by DDR # 1 to # 4 and ECC & spare DDR # 1) of the bank 0 (CS0 bank) Will be described. The ECC function unit 204 sets a value in the data switching flag register of the register function unit 203 to indicate that the access of the data bit 31 has been switched to spare data.

図7は、レジスタ機能部203が記憶する予備データアサインレジスタのデータ構成例を示すデータ構成図である。
レジスタ機能部203は、バンクの領域毎、かつ、予備データ4ビットの各々に対して、切替元となるデータビットの値を示すレジスタとして予備データアサインレジスタを有する。また、レジスタ機能部203は、予備データが有効となったことを示すためのレジスタとして、予備データイネーブルレジスタを有する。
FIG. 7 is a data configuration diagram illustrating a data configuration example of the spare data assignment register stored in the register function unit 203.
The register function unit 203 has a spare data assignment register as a register indicating the value of the data bit to be switched for each bank area and for each of the spare data 4 bits. The register function unit 203 has a spare data enable register as a register for indicating that the spare data is valid.

この予備データイネーブルレジスタは、バンクの領域毎、かつ、予備データ4ビットの各々に対して設けられているフラグである。当該レジスタ(イネーブルビット)の初期値は、該当する予備データの切替が無いことを示す0に設定されている。イネーブルビットに1を設定することで、該当する予備データの切替が有効となったことを示す。   The spare data enable register is a flag provided for each bank area and for each of 4 bits of spare data. The initial value of the register (enable bit) is set to 0 indicating that the corresponding spare data is not switched. Setting the enable bit to 1 indicates that the corresponding spare data switching has become effective.

バンク0(CS0)の領域Aのデータビット31でエラー発生回数が閾値レジスタの値を超えた例では、ECC機能部204は、バンク0の領域Aに対応する予備データ#0アサインレジスタに31(0x1F)を設定する。また、ECC機能部204は、バンク0の領域Aに対応する予備データイネーブルレジスタの予備データ0(RSB[0] 207)のイネーブルビットに1を設定する。
予備データイネーブルレジスタに1が設定されることで、メモリコントローラ103は、以降のアクセスにおける内部の論理的なデータビット31に対するCS0のバンクのメモリの物理的な接続を予備データ0に切り替える。
In the example in which the number of error occurrences exceeds the value of the threshold register in the data bit 31 of the area A of the bank 0 (CS0), the ECC function unit 204 stores 31 (in the spare data # 0 assign register corresponding to the area A of the bank 0. 0x1F). Further, the ECC function unit 204 sets 1 to the enable bit of the spare data 0 (RSB [0] 207) of the spare data enable register corresponding to the area A of the bank 0.
By setting 1 in the spare data enable register, the memory controller 103 switches the physical connection of the memory in the bank of CS0 to the spare logical data 0 with respect to the internal logical data bit 31 in the subsequent access.

切替後のライト動作とリード動作について、説明する。
プロセッサコア102からDDRメモリ104へのライトアクセス時、データ選択部206は、レジスタ機能部203の予備データイネーブルレジスタと予備データアサインレジスタの状態を確認する。そして、データ選択部206は、内部バス変換部205からのデータ(SEL_DATA[63−0] 209)におけるデータビット31の値を予備データ0に代入してECC機能部に入力する。
それ以外のデータビットについては、通常データ(DATA[63−32:30−0] 208)としてECC機能部に入力する。また、アクセス対象となるメモリのエリアに対して予備データ0が有効となっていることを示す情報として、フラグデータ0(FLG[0] 214)の値を1として、ECC機能部に入力する。
The write operation and read operation after switching will be described.
At the time of write access from the processor core 102 to the DDR memory 104, the data selection unit 206 checks the status of the spare data enable register and the spare data assignment register of the register function unit 203. Then, the data selection unit 206 substitutes the value of the data bit 31 in the data (SEL_DATA [63-0] 209) from the internal bus conversion unit 205 into the preliminary data 0 and inputs it to the ECC function unit.
The other data bits are input as normal data (DATA [63-32: 30-0] 208) to the ECC function unit. Further, as information indicating that spare data 0 is valid for the memory area to be accessed, the value of flag data 0 (FLG [0] 214) is set to 1 and input to the ECC function unit.

図8は、切替後におけるデータ選択部206前後のデータ接続を示す説明図である。
ECC機能部204は、データ選択部206と同様にレジスタ機能部203の予備データイネーブルレジスタと予備データアサインレジスタの状態を確認する。そして、ECC機能部204は、データビット31の代わりに予備データ0を使用してECCの算出を行い、算出したECCデータ8ビットをデータ送受信部201に入力する。データ送受信部201は、通常データ64ビットと、予備データ4ビット(RSB_DATA[3−0] 212)と、フラグデータ(FLG_DATA[3−0] 213)とをDDRメモリ104に入力する。DDRメモリ104に入力された各データは、指定のアドレス領域に格納される。
FIG. 8 is an explanatory diagram showing data connections before and after the data selection unit 206 after switching.
The ECC function unit 204 checks the statuses of the spare data enable register and the spare data assignment register of the register function unit 203 as with the data selection unit 206. Then, the ECC function unit 204 calculates the ECC using the spare data 0 instead of the data bit 31 and inputs the calculated ECC data 8 bits to the data transmitting / receiving unit 201. The data transmitting / receiving unit 201 inputs 64 bits of normal data, 4 bits of spare data (RSB_DATA [3-0] 212), and flag data (FLG_DATA [3-0] 213) to the DDR memory 104. Each data input to the DDR memory 104 is stored in a designated address area.

図9は、切替後のDDRメモリ104の記憶領域におけるデータ値の例を示す説明図である。
同図の領域Bには、データビット31を予備データ0に切り替えた例を示している。データビット31のデータが予備データ0を扱うビットRSB_DATA[0]に格納されている。また、予備データ0に対応するフラグFLG_DATA[0]の値として、予備データが使用されていることを示す値1が格納されている。
他のデータビットでのエラー発生回数が閾値を超えた場合には、残りの予備データ1〜3を同様の手順で使用する。
FIG. 9 is an explanatory diagram showing an example of data values in the storage area of the DDR memory 104 after switching.
In the area B of FIG. 8, an example in which the data bit 31 is switched to the spare data 0 is shown. Data of data bit 31 is stored in bit RSB_DATA [0] that handles spare data 0. Further, a value 1 indicating that spare data is used is stored as the value of the flag FLG_DATA [0] corresponding to the spare data 0.
When the number of error occurrences in other data bits exceeds the threshold value, the remaining spare data 1 to 3 are used in the same procedure.

図9の領域Cには、データビット31に加えてデータビット48にて予備データを使用した場合の例を示している。前述の通り、バンクの領域毎にエラー発生時の予備データへの切替を制御可能であり、領域Cでは、領域Dと別のデータビットに予備データを割り当て可能である。
また、領域Eには、データビット17が予備データに切り替えられた場合の例を示している。
In the area C of FIG. 9, an example in which spare data is used in the data bit 48 in addition to the data bit 31 is shown. As described above, switching to spare data when an error occurs can be controlled for each bank area. In area C, spare data can be assigned to a data bit different from area D.
In the area E, an example in which the data bit 17 is switched to spare data is shown.

プロセッサコア102からDDRメモリ104へのリードアクセス時、メモリコントローラ103は、リードした領域のデータに予備データが使用されているかどうかを判別する。前述の通り、エラー発生状況に応じて予備データへの切替を行うため、DDRメモリ104には、領域毎に通常のデータ64ビットが使用されている箇所と、予備データに切り替わりが発生した箇所とが混在する。そして、レジスタ機能部203は、予備データイネーブルレジスタのフラグデータにて、当該判別のための値を記憶している。   At the time of read access from the processor core 102 to the DDR memory 104, the memory controller 103 determines whether spare data is used for the data in the read area. As described above, in order to switch to spare data in accordance with the error occurrence status, the DDR memory 104 includes a portion where normal data 64 bits are used for each region, a portion where switching to the spare data has occurred, and Are mixed. The register function unit 203 stores a value for the determination in the flag data of the spare data enable register.

メモリコントローラ103がレジスタ機能部203の予備データイネーブルレジスタから読み出したフラグデータの値が0の場合、通常データのみ使用されていることを示しており、その処理は前述の通りである。
一方、読み出したフラグデータに1が設定されていた場合、予備データが使用されていることを示している。この場合、ECC機能部204は、レジスタ機能部203の予備データアサインレジスタの値にて、予備データがどのデータビットのものかを確認する。そして、ECC機能部204は、予備データを使用したデータ64ビットに対してECC算出を行い、DDRメモリ104からリードされたECCデータ8ビットと比較を行う。また、データ選択部206は、予備データの値を対応するデータビットの値としたデータ64ビット(SEL_DATA[63−0] 209)にて、内部バス変換部205とのデータのやり取りを行う。
When the value of the flag data read from the spare data enable register of the register function unit 203 by the memory controller 103 is 0, it indicates that only normal data is used, and the processing is as described above.
On the other hand, when 1 is set in the read flag data, it indicates that spare data is used. In this case, the ECC function unit 204 confirms which data bit the spare data is based on the value of the spare data assignment register of the register function unit 203. Then, the ECC function unit 204 performs ECC calculation on the 64-bit data using the spare data, and compares it with the 8-bit ECC data read from the DDR memory 104. Further, the data selection unit 206 exchanges data with the internal bus conversion unit 205 using data 64 bits (SEL_DATA [63-0] 209) in which the value of the spare data is the value of the corresponding data bit.

以上の手順により、情報処理システム1では、DDRメモリ104へのアクセスにおいて、あるビットに閾値以上のエラーが発生した場合に、エラーの発生したデータビットを予備データに切り替える。これにより、同一ビットでエラーが頻発する状態を回避し得る。
また、レジスタ機能部203の予備データ切替用のレジスタについて、プロセッサコア102から設定変更可能である。例えば、製造不良などの原因で、あるデータビットの接続が切れていることが判明している場合、ユーザがソフトウェアのパラメータを予め設定しておくなどして起動時にレジスタを初期設定する。これにより、メモリアクセスの初期段階から不良を回避することができる。
With the above procedure, in the information processing system 1, when an error exceeding a threshold value occurs in a certain bit in accessing the DDR memory 104, the data bit in which the error has occurred is switched to spare data. As a result, it is possible to avoid a state where errors frequently occur with the same bit.
The setting for the spare data switching register of the register function unit 203 can be changed from the processor core 102. For example, if it is known that a certain data bit is disconnected due to a manufacturing defect or the like, the user initializes the register at the time of startup by setting software parameters in advance. Thereby, defects can be avoided from the initial stage of memory access.

なお、以上では、メモリのデータバスが64ビット、接続されるメモリのデータ幅が16ビットの場合について説明したが、上述したように、本発明の適用範囲はこれに限らない。メモリバス32ビットやデータ幅8ビットのメモリ、さらにバンク数の多い構成の場合にも、上記の例と同様に本発明を適用可能である。
また、以上では、ECC機能部204がデータ64ビットに対してECCを行う場合について説明したが、ECC機能部204が、拡張されたデータに対してもECCによるエラー訂正ないしエラー検出を行うようにしてもよい。
In the above, the case where the data bus of the memory is 64 bits and the data width of the connected memory is 16 bits has been described. However, as described above, the scope of application of the present invention is not limited to this. The present invention can also be applied to a memory having a memory bus of 32 bits, a data width of 8 bits, and a configuration having a large number of banks, as in the above example.
In the above description, the ECC function unit 204 performs ECC on 64-bit data. However, the ECC function unit 204 performs error correction or error detection by ECC for expanded data. May be.

以上のように、情報処理システム1では、エラーが発生したデータビットを未使用とし、予備データへ切替を行うことで、エラーが頻発する状態を回避して、安定したメモリアクセスの状態を確保し得る。これにより、複数ビットでの同時エラー(マルチビットエラー)の発生や、メモリアクセスへのエラーによる負荷(速度低下)を防止でき、プロセッサを実装する装置の動作が阻害されるリスクを低減することが出来る。   As described above, in the information processing system 1, the data bit in which an error has occurred is not used and is switched to spare data, thereby avoiding a state in which errors frequently occur and ensuring a stable memory access state. obtain. This can prevent the occurrence of simultaneous errors (multi-bit errors) in multiple bits and the load (speed reduction) due to errors in memory access, and reduce the risk of hindering the operation of the device mounting the processor. I can do it.

また、設計や製造時に、あるビットで波形品質の劣化や接続不良によるエラーが発生しても、予備データの範囲で再設計や修理の必要なしにエラー状態を回避することが出来る。
また、既存のメモリインタフェースを用いて、信号追加とメモリコントローラへの機能追加にて本発明を適用することが可能である。従って、メモリの多重化によるメモリ数の増加や周辺回路の追加の必要無しに本発明を適用することが出来る。
Further, even if an error due to waveform quality degradation or connection failure occurs in a certain bit during design or manufacturing, an error state can be avoided without requiring redesign or repair within the range of spare data.
In addition, the present invention can be applied by adding signals and adding functions to the memory controller using an existing memory interface. Therefore, the present invention can be applied without increasing the number of memories due to memory multiplexing and without the need for additional peripheral circuits.

また、レジスタ機能部203が、予備データを使用するか否かの判定に用いる閾値を記憶しておくことで、図1を参照して説明したように、ハード故障が発生したか否かの判定基準を、より適切に設定し得る。
例えば、情報処理システム1のユーザは、処理を高速に行う必要性の比較的高い用途のデータに対しては、ハード故障が発生したか否かの判定基準が緩やかになるように閾値を設定しておく。ハード故障が発生した場合に、情報処理システム1は、当該閾値に基づいて、当該故障が発生したビットの記憶場所を、主データを記憶するDDRメモリ104(DDR#1〜DDR#8)から、予備データを記憶するDDRメモリ104(ECC&予備用DDR#1〜ECC&予備用DDR#2)に切り替える。この切替にて、アクセスの度にエラーの検出と訂正が続く状態を回避でき、メモリアクセスの速度の低下を防止し得る。
Further, the register function unit 203 stores a threshold value used for determining whether or not to use spare data, thereby determining whether or not a hardware failure has occurred as described with reference to FIG. The criteria can be set more appropriately.
For example, the user of the information processing system 1 sets a threshold value so that a criterion for determining whether or not a hardware failure has occurred is moderate for data for relatively high usage that requires high-speed processing. Keep it. When a hardware failure occurs, the information processing system 1 determines, based on the threshold, the storage location of the bit where the failure has occurred from the DDR memory 104 (DDR # 1 to DDR # 8) that stores the main data. Switching to the DDR memory 104 (ECC & spare DDR # 1 to ECC & spare DDR # 2) for storing spare data. By this switching, it is possible to avoid a state in which error detection and correction continues every time access is performed, and a decrease in memory access speed can be prevented.

また、情報処理システム1のユーザは、処理を高速に行う必要性の比較的低い用途のデータに対しては、ハード故障が発生したか否かの判定基準が厳しくなるように閾値を設定しておく。当該閾値に基づいて情報処理システム1(特に、データ選択部206)がデータの切替を行うことで、実際にはハード故障が発生していないにもかかわらずハード故障が発生したと判定するおそれを低減させることができる。従って、情報処理システム1が実際にハード故障を検出した際に、既に使用可能な予備用ビットが無く対応できないおそれを低減させることができる。   In addition, the user of the information processing system 1 sets a threshold for data for a use that is relatively less necessary to perform processing at a high speed so that a criterion for determining whether or not a hardware failure has occurred becomes strict. deep. The information processing system 1 (particularly, the data selection unit 206) may switch data based on the threshold value, and may determine that a hardware failure has occurred even though no hardware failure has actually occurred. Can be reduced. Therefore, when the information processing system 1 actually detects a hardware failure, it is possible to reduce a possibility that there is no spare bit that can be already used and it cannot be handled.

また、レジスタ機能部203が、DDRメモリ104の記憶領域の区間毎(バンクの領域毎)に、予備データを使用するか否かの判定に用いる閾値を記憶しておく。そして、情報処理システム1(特に、データ選択部206)は、区画毎に、当該区画に応じた閾値を用いて、当該区画に応じた、予備データを記憶するDDRメモリ104(ECC&予備用DDR#1〜ECC&予備用DDR#2)を用いるか否かを判定する。
これにより、DDRメモリ104が複数のアプリケーションプログラムに対応するデータを記憶している場合など、処理を高速に行う必要性の異なるデータを記憶している場合でも、処理を高速に行う必要性に応じてデータ毎に、ハード故障が発生したか否かの判定基準を、より適切に設定し得る。
In addition, the register function unit 203 stores a threshold value used for determining whether to use spare data for each section of the storage area of the DDR memory 104 (for each bank area). Then, the information processing system 1 (particularly, the data selection unit 206) uses, for each partition, a threshold corresponding to the partition, and stores DDR memory 104 (ECC & spare DDR #) corresponding to the partition. 1 to ECC & spare DDR # 2) is determined.
As a result, even when the DDR memory 104 stores data corresponding to a plurality of application programs, even when storing data having different needs for processing at a high speed, according to the necessity of performing the processing at a high speed. Thus, it is possible to more appropriately set a criterion for determining whether or not a hardware failure has occurred for each data.

なお、レジスタ機能部203は、不揮発性の記憶デバイスを用いて実現されていてもよいし、揮発性の記憶デバイスを用いて実現されていてもよい。レジスタ機能部203が揮発性の記憶デバイスを用いて実現されている場合、不揮発性のメモリを用いてビットエラーの切替を管理するようにしてもよい。これにより、情報処理システム1の再起動が発生するケースにおいて、起動後速やかに予備データへの切替を行うことができ、エラーの頻発を防止できる。また、情報処理システム1の再起動時に、既に発生しているハード故障に応じて予備データへの切替を行う前に新たなハード故障が発生し、ECCでのエラー訂正不可能となって情報処理システム1の動作を維持できなくなる事態を防止し得る。   Note that the register function unit 203 may be realized using a non-volatile storage device, or may be realized using a volatile storage device. When the register function unit 203 is realized using a volatile storage device, switching of bit errors may be managed using a nonvolatile memory. As a result, in a case where the information processing system 1 is restarted, it is possible to switch to the preliminary data immediately after the startup, and it is possible to prevent frequent errors. In addition, when the information processing system 1 is restarted, a new hardware failure occurs before switching to spare data in accordance with a hardware failure that has already occurred. A situation in which the operation of the system 1 cannot be maintained can be prevented.

図10は、本実施形態の一変形例における情報処理システムの構成例を示す概略構成図である。同図において、情報処理システム2は、プロセッサ301と、複数のDDRメモリ104と、不揮発性メモリ702とを具備する。プロセッサ301は、プロセッサコア102と、メモリコントローラ103とを具備する。メモリコントローラ103は、データ送受信部201と、アクセス制御部202と、レジスタ機能部203と、ECC機能部204と、内部バス変換部205と、データ選択部206と、不揮発性メモリコントローラ701とを具備する。
同図において、図1の各部に対応して同様の機能を有する部分には、同一の符号(102〜104、201〜206)を付し、説明を省略する。
FIG. 10 is a schematic configuration diagram illustrating a configuration example of an information processing system according to a modification of the present embodiment. In FIG. 1, the information processing system 2 includes a processor 301, a plurality of DDR memories 104, and a nonvolatile memory 702. The processor 301 includes a processor core 102 and a memory controller 103. The memory controller 103 includes a data transmission / reception unit 201, an access control unit 202, a register function unit 203, an ECC function unit 204, an internal bus conversion unit 205, a data selection unit 206, and a nonvolatile memory controller 701. To do.
In the figure, portions having the same functions corresponding to the respective portions in FIG. 1 are denoted by the same reference numerals (102 to 104, 201 to 206), and description thereof is omitted.

不揮発性メモリ702は、プロセッサコア102が動作するために必要なプログラムや設定を格納するメモリである。特に、不揮発性メモリ702は、ビットエラーの切替のためのデータを記憶する。
不揮発性メモリコントローラ701は、プロセッサコア102と、不揮発性メモリ702とのインタフェースを担うことで、不揮発性メモリ702を用いてビットエラーの切替を管理する。不揮発性メモリコントローラ701は、例えば、情報処理システム1が具備するROM(Read Only Memory)コントローラを機能拡張することで実現される。
The nonvolatile memory 702 is a memory that stores programs and settings necessary for the processor core 102 to operate. In particular, the nonvolatile memory 702 stores data for bit error switching.
The nonvolatile memory controller 701 serves as an interface between the processor core 102 and the nonvolatile memory 702, and manages the switching of bit errors using the nonvolatile memory 702. The nonvolatile memory controller 701 is realized by, for example, extending the function of a ROM (Read Only Memory) controller included in the information processing system 1.

シングルビットエラーの発生時、プロセッサコア102は、不揮発性メモリコントローラ701を介して、不揮発性メモリ702にエラーの発生状況を格納する。
情報処理システム2の再起動時において、プロセッサコア102が不揮発性メモリ702から再起動前のエラー発生情報をリードし、エラーの発生していたビットを予備データに切り替える設定をメモリコントローラ103に対して行う。これにより、再起動後に同一ビットでエラーが発生することを防止し得る。
When a single bit error occurs, the processor core 102 stores the error occurrence status in the nonvolatile memory 702 via the nonvolatile memory controller 701.
When the information processing system 2 is restarted, the processor core 102 reads the error occurrence information before the restart from the nonvolatile memory 702 and sets the setting for switching the bit in which the error has occurred to the spare data to the memory controller 103. Do. Thereby, it is possible to prevent an error from occurring at the same bit after the restart.

なお、予備データ切替判定部21や、プロセッサ101や、プロセッサ301の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することで各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
Note that a program for realizing all or part of the functions of the spare data switching determination unit 21, the processor 101, and the processor 301 is recorded on a computer-readable recording medium, and the program recorded on the recording medium is recorded. The processing of each unit may be performed by being read and executed by a computer system. Here, the “computer system” includes an OS and hardware such as peripheral devices.
Further, the “computer system” includes a homepage providing environment (or display environment) if a WWW system is used.
The “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM and a CD-ROM, and a hard disk incorporated in a computer system. Furthermore, the “computer-readable recording medium” dynamically holds a program for a short time like a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line. In this case, a volatile memory in a computer system serving as a server or a client in that case, and a program that holds a program for a certain period of time are also included. The program may be a program for realizing a part of the functions described above, and may be a program capable of realizing the functions described above in combination with a program already recorded in a computer system.

以上、本発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。   The embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and includes design changes and the like without departing from the gist of the present invention.

1 情報処理システム
11 主データ記憶部
12 予備データ記憶部
13 閾値記憶部
21 予備データ切替判定部
101、301 プロセッサ
102 プロセッサコア
103 メモリコントローラ
104 DDRメモリ
201 データ送受信部
202 アクセス制御部
203 レジスタ機能部
204 ECC機能部
205 内部バス変換部
206 データ選択部
701 不揮発性メモリコントローラ
702 不揮発性メモリ
DESCRIPTION OF SYMBOLS 1 Information processing system 11 Main data memory | storage part 12 Reserve data memory | storage part 13 Threshold value memory | storage part 21 Reserve data switching determination part 101, 301 Processor 102 Processor core 103 Memory controller 104 DDR memory 201 Data transmission / reception part 202 Access control part 203 Register function part 204 ECC function unit 205 Internal bus conversion unit 206 Data selection unit 701 Non-volatile memory controller 702 Non-volatile memory

Claims (4)

データを記憶する主データ記憶部と、
前記主データ記憶部の記憶領域を区画した区画毎に使用または不使用を設定され、使用との設定にて当該区画におけるデータの一部を前記主データ記憶部に代えて記憶する予備データ記憶部と、
前記予備データ記憶部を使用するか否かの判定に用いる閾値を記憶する閾値記憶部と、
前記区画毎に、前記閾値を用いて当該区画に応じた前記予備データ記憶部を用いるか否かを判定する予備データ切替判定部と、
を具備することを特徴とする情報処理システム。
A main data storage unit for storing data;
Preliminary data storage unit that is set to be used or not used for each partition that partitions the storage area of the main data storage unit, and stores a part of the data in the partition in place of the main data storage unit in the setting of use When,
A threshold value storage unit for storing a threshold value used for determining whether to use the preliminary data storage unit;
For each partition, a preliminary data switching determination unit that determines whether to use the preliminary data storage unit corresponding to the partition using the threshold value;
An information processing system comprising:
前記閾値記憶部は、前記区画毎に前記閾値を記憶し、
前記予備データ切替判定部は、前記区画毎に、当該区画に応じた前記閾値を用いて、当該区画に応じた前記予備データ記憶部を用いるか否かを判定する、
ことを特徴とする請求項1に記載の情報処理システム。
The threshold storage unit stores the threshold for each partition,
The spare data switching determination unit determines, for each partition, whether to use the spare data storage unit corresponding to the partition using the threshold value corresponding to the partition.
The information processing system according to claim 1.
データを記憶する主データ記憶部と、
前記主データ記憶部の記憶領域を区画した区画毎に使用または不使用を設定され、使用との設定にて当該区画におけるデータの一部を前記主データ記憶部に代えて記憶する予備データ記憶部と、
前記予備データ記憶部を使用するか否かの判定に用いる閾値を記憶する閾値記憶部と、
を具備する情報処理システムのデータ切替方法であって、
前記区画毎に、前記閾値を用いて当該区画に応じた前記予備データ記憶部を用いるか否かを判定する予備データ切替判定ステップを具備することを特徴とするデータ切替方法。
A main data storage unit for storing data;
Preliminary data storage unit that is set to be used or not used for each partition that partitions the storage area of the main data storage unit, and stores a part of the data in the partition in place of the main data storage unit in the setting of use When,
A threshold value storage unit for storing a threshold value used for determining whether to use the preliminary data storage unit;
A data switching method for an information processing system comprising:
A data switching method, comprising: a preliminary data switching determination step for determining whether to use the preliminary data storage unit corresponding to the partition using the threshold value for each partition.
データを記憶する主データ記憶部と、
前記主データ記憶部の記憶領域を区画した区画毎に使用または不使用を設定され、使用との設定にて当該区画におけるデータの一部を前記主データ記憶部に代えて記憶する予備データ記憶部と、
前記予備データ記憶部を使用するか否かの判定に用いる閾値を記憶する閾値記憶部と、
を具備する情報処理システムに、
前記区画毎に、前記閾値を用いて当該区画に応じた前記予備データ記憶部を用いるか否かを判定する予備データ切替判定ステップを実行させるためのプログラム。
A main data storage unit for storing data;
Preliminary data storage unit that is set to be used or not used for each partition that partitions the storage area of the main data storage unit, and stores a part of the data in the partition in place of the main data storage unit in the setting of use When,
A threshold value storage unit for storing a threshold value used for determining whether to use the preliminary data storage unit;
In an information processing system comprising
A program for executing a preliminary data switching determination step for determining whether or not to use the preliminary data storage unit corresponding to the partition by using the threshold value for each partition.
JP2012155370A 2012-07-11 2012-07-11 Information processing system, data switching method and program Pending JP2014016925A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012155370A JP2014016925A (en) 2012-07-11 2012-07-11 Information processing system, data switching method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012155370A JP2014016925A (en) 2012-07-11 2012-07-11 Information processing system, data switching method and program

Publications (1)

Publication Number Publication Date
JP2014016925A true JP2014016925A (en) 2014-01-30

Family

ID=50111521

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012155370A Pending JP2014016925A (en) 2012-07-11 2012-07-11 Information processing system, data switching method and program

Country Status (1)

Country Link
JP (1) JP2014016925A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016066236A (en) * 2014-09-25 2016-04-28 日立オートモティブシステムズ株式会社 Built-in control device
US10067813B2 (en) 2014-11-21 2018-09-04 Samsung Electronics Co., Ltd. Method of analyzing a fault of an electronic system
US11521933B2 (en) 2018-04-18 2022-12-06 Fuji Electric Co., Ltd. Current flow between a plurality of semiconductor chips

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016066236A (en) * 2014-09-25 2016-04-28 日立オートモティブシステムズ株式会社 Built-in control device
US10067813B2 (en) 2014-11-21 2018-09-04 Samsung Electronics Co., Ltd. Method of analyzing a fault of an electronic system
US11521933B2 (en) 2018-04-18 2022-12-06 Fuji Electric Co., Ltd. Current flow between a plurality of semiconductor chips

Similar Documents

Publication Publication Date Title
US8732532B2 (en) Memory controller and information processing system for failure inspection
US8589763B2 (en) Cache memory system
US8103920B2 (en) Memory system configured by using a nonvolatile semiconductor memory
CN106463179B (en) Utilize the methods, devices and systems of Memory Controller processing error in data event
US7107493B2 (en) System and method for testing for memory errors in a computer system
KR20180080683A (en) Method of correcting error in a memory
JP2005242797A (en) Error correction circuit
JP2015154417A (en) programmable circuit device, configuration information repair method
JP2014016925A (en) Information processing system, data switching method and program
US9037948B2 (en) Error correction for memory systems
US20210311889A1 (en) Memory device and associated flash memory controller
JP5174603B2 (en) Memory error correction method, error detection method, and controller using the same
WO2012046343A1 (en) Memory module redundancy method, storage processing device, and data processing device
US9043655B2 (en) Apparatus and control method
JP2006512630A (en) Memory subsystem including error correction
JP3556649B2 (en) Memory abnormal operation detection circuit, integrated circuit, and abnormal operation detection method
WO2013132806A1 (en) Nonvolatile logic integrated circuit and nonvolatile register error bit correction method
JP2015001774A (en) Semiconductor integrated circuit and processing method thereof
JP6108478B2 (en) Computer device, address translation device, and program
JP2013143733A (en) Programmable apparatus
JP6645467B2 (en) Microcomputer
US20140136910A1 (en) Data communication apparatus and control method
JP6003735B2 (en) DIMM simulated fault generation method and DIMM simulated fault generation apparatus
JP5888419B2 (en) Data processing apparatus, processor, and operation history recording method
TW202109545A (en) Memory apparatus and data accessing method thereof