WO2007099584A1 - エラー検出装置 - Google Patents

エラー検出装置 Download PDF

Info

Publication number
WO2007099584A1
WO2007099584A1 PCT/JP2006/303673 JP2006303673W WO2007099584A1 WO 2007099584 A1 WO2007099584 A1 WO 2007099584A1 JP 2006303673 W JP2006303673 W JP 2006303673W WO 2007099584 A1 WO2007099584 A1 WO 2007099584A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
identification information
read
magic
instruction
Prior art date
Application number
PCT/JP2006/303673
Other languages
English (en)
French (fr)
Inventor
Hideyuki Unno
Original Assignee
Fujitsu Limited
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 Fujitsu Limited filed Critical Fujitsu Limited
Priority to PCT/JP2006/303673 priority Critical patent/WO2007099584A1/ja
Priority to JP2008502571A priority patent/JP4834722B2/ja
Priority to EP06714810A priority patent/EP1990733A4/en
Publication of WO2007099584A1 publication Critical patent/WO2007099584A1/ja
Priority to US12/200,390 priority patent/US8196028B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0763Error or fault detection not based on redundancy by bit configuration check, e.g. of formats or tags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches

Definitions

  • the present invention relates to a technique for detecting an error that occurs in a process of reading data.
  • main memory data is often protected by ECC (Error Correcting Code) because it tends to have a relatively high frequency of errors because a large capacity is required.
  • ECC Error Correcting Code
  • an object of the present invention is to provide a technique for detecting an error in hardware.
  • an error detection apparatus includes a command for reading data from a storage device.
  • An instruction holding means for holding the storage device, a first processing means for acquiring the storage device power data according to the instruction held in the instruction holding means, and generating identification information, and the data acquired from the storage device.
  • the identification information is given to To the second storage means for returning the identification information to the instruction holding means, the read request corresponding to the instruction held in the instruction holding means, and the instruction holding means.
  • the returned identification information is received, the corresponding data is read from the temporary storage device in accordance with the read request, and the identification information given to the read data is compared with the received identification information.
  • an error reporting means for detecting an error when the identification information compared by the comparing means does not match each other and reports the error to the higher rank.
  • identification information corresponding to the command is generated together with the data stored in the temporary storage device and stored in the temporary storage device.
  • the generated identification information is given to an instruction holding unit that holds an instruction.
  • the comparison means compares the identification information given to the instruction holding means with the identification information stored together with the data read from the temporary storage means, and the comparison results, the two identification information matches each other Sends the data. If they do not match, it is detected as an error in hardware.
  • the comparison means may be configured to receive the read request and the identification information returned to the command holding means via the transmission means. Further, the data read from the primary storage device may be transmitted to the transmission destination only when the identification information compared by the comparison means matches each other.
  • the identification information includes, for example, serial numbers in ascending or descending order.
  • FIG. 1 is a block diagram of a CPU chip.
  • FIG. 2 is a diagram showing the configuration of a system bus control unit in more detail.
  • FIG. 3 is a diagram for explaining an operation in a data buffer control unit.
  • FIG. 4 is a diagram for explaining a method of detecting an error using a magic ID.
  • FIG. 5 is a configuration diagram of a data reading unit in the data buffer control unit.
  • FIG. 6A Flow chart showing processing until data writing to the data buffer is started It is a chart.
  • FIG. 6B is a flowchart showing a process of writing data to the data buffer unit.
  • FIG. 7 is a flowchart showing a process for reading data stored in the data buffer unit.
  • FIG. 8 is a configuration diagram of a network control device.
  • FIG. 9 is a diagram showing in more detail the configuration of the data transfer control unit of the network control device.
  • FIG. 1 is a configuration diagram of a CPU chip according to the present embodiment.
  • the CPU chip 1 includes a processor core 2, a cache device 3, and a system bus control unit 4.
  • Processor core 2 is generally composed of two or more processor cores, and generates instructions.
  • the cache device 3 stores data based on instructions from the processor core 2.
  • the system bus control unit 4 reads the data stored in the cache device 3 based on an instruction from the processor core 2 and sends the read data to the system bus. Data read from the cache device 3 is temporarily stored in a buffer in the system nose control unit 4 and sent to the power system bus.
  • FIG. 2 is a diagram showing the configuration of the system bus control unit 4 in more detail.
  • the system bus control unit 4 includes a plurality of command queues 41 (41A to 41D), an arbitration circuit 42, a packet generation unit (packet generator) 43, and a data buffer control unit 44.
  • the command queue 41 is a queue for holding instructions from the processor core 2 and transmitting the held instructions to a target device via the sequential system bus.
  • the command queue 41 is classified according to whether or not the command power from the processor core 2 involves sending data to an external device.
  • the command queues 41A and 41B are commands that do not involve sending data. Assume that command queues 41C and 41D hold with data transmission.
  • the arbitration circuit 42 receives an instruction from the processor core 2 via each command queue, and performs an arbitration process such as whether to execute a V-less instruction preferentially.
  • the packet generator 43 For instructions that involve data transmission, a packet is generated from the instruction received from the arbitration circuit 42 and the data received via the data buffer control unit 44, and the packet is transmitted to the system bus.
  • the data buffer control unit 44 reads the data from the cache device 3 based on the instructions received from the command queues 41C and 41D, and transfers the read data to the packet generation unit 43 at a predetermined timing. At this time, the data having the cache power taken out is first written into the buffer, and when the packet generation unit 43 requests data read at a predetermined timing by the arbitration processing in the arbitration circuit 42, the data is also read out and transferred to the router.
  • the data buffer control unit 44 when the data buffer control unit 44 writes the data read from the cache device 3 to the buffer, it is combined with identification information for identifying the data. Store the data in a buffer. Then, when data in the buffer is read in response to a data read request from the packet generator 43, it is determined whether or not the data read is normal using identification information as a tally code.
  • identification information used to determine whether or not the data reading is normal is indicated as a magic ID (denoted as Magic—ID in the figure). To do.
  • FIG. 3 is a diagram for explaining the operation in the data buffer control unit 44.
  • the data buffer control unit 44 includes a magic ID generation circuit 51.
  • the data buffer control unit 44 stores the data read from the cache device 3 in the buffer and stores the data in the buffer.
  • the process of reading out the received data and transferring it to the packet generator 43 is executed.
  • the read data is temporarily stored in a notch by adding a magic ID together with the ECC previously assigned by the cache device 3.
  • “assigning a magic ID to data” means associating a magic ID with data.
  • the magic ID generation circuit 51 when the data read from the cache is received by the data buffer control unit 44, a magic ID to be assigned to the data is generated and a magic ID is assigned to the read data. While storing it in the buffer The command queues 41C and 41D are notified of information such as the magic ID and the entry number indicating the buffer storage location.
  • the command queues 41C and 41D notified of the entry number and the magic ID pass the information to the packet generation unit 43 via the arbitration circuit 42 described above.
  • the packet generation unit 43 sends a data read request to the data buffer control unit 44 at a predetermined timing according to the instruction from the arbitration circuit 42
  • the packet generation unit 43 also includes the entry number and magic ID in the request. hand over.
  • the data buffer control unit 44 compares the magic ID assigned to the data indicated by the entry number with the magic ID included in the data read request received from the packet generation unit 43. Executes normal processing, that is, processing to read data from the buffer. On the other hand, if they do not match, an abnormality is detected as a read error and notified to processor core 2 and the like.
  • the cause of the error will be described.
  • the CPU chip 1 executes an instruction involving data transmission
  • the instruction and the data transmitted along with the instruction are sent to the system bus via different routes in the data buffer control unit 44 shown in FIG. .
  • the request from the packet generator 43 for reading the data temporarily stored in the noferer is made based on the arbitration processing of the arbitration circuit 42 regardless of the data processing status in the data buffer control unit 44.
  • the data buffer controller 44 releases the buffer data before sending the data, or the buffer data
  • There may be a problem that data different from the data to be referred to is referred to when reading.
  • the occurrence of these problems is detected by comparing the magic ID in the data request with the magic ID stored in the buffer.
  • the error detection method according to this embodiment will be further described.
  • FIG. 4 is a diagram for explaining a method of detecting an error using a magic ID.
  • Figure 4 shows the timing for executing processing in each part of CPU chip 1 when data is sent from CPU chip 1.
  • the command queue 41C requests the data buffer control unit 44 to write the data stored in the cache device 3 into the buffer.
  • the data notifier controller 44 that has received the request returns a response (Ack) to the command queue 41, and further requests the cache device 3 for data based on the information included in the request.
  • one unit of data sent from the CPU chip 1 is 64 bytes
  • the data read from the cache device 3 is divided into 8 parts of the 64 bytes of data to be sent, that is, 8 bytes.
  • both the buffer capacity and the data request to the cache device 3 are for reading data by specifying an offset value every 8 bytes.
  • the data read from the cache device 3 every 8 bytes is sequentially written to the buffer. At this time, the magic ID is added to the data and then sequentially written to the buffer.
  • a predetermined time is required until the cache device 3 starts transferring data to the buffer of the data buffer control unit 44 after the nofer requests data to the cache device 3.
  • the command queue 41 that has received the Ack response from the data buffer control unit 44 passes information indicating the data to be read, such as the received magic ID, to the arbitration circuit 42, and the arbitration circuit 42 receives the information. Pass to packet generator 43.
  • data is requested from the data buffer control unit 44 using information such as a magic ID. That is, the packet generator 43 cannot recognize the waiting time required for data transfer from the cache device 3 to the data buffer control unit 44, and waits for data from the cache device 3 in the data buffer control unit 44. During this time, the packet generator 43 may request data from the data buffer control unit 44.
  • the generated magic ID is assigned to the data.
  • the data requested by the packet generator 43 A read error can be detected by comparing the magic ID assigned to the data to determine whether the data stored in the buffer matches the data.
  • data read from the packet generator 43 is requested after the data is written to the buffer, it is added to the magic ID included in the data request from the packet generator 43 and the data in the referenced buffer. Since the magic ID matches, the normal data transmission process is continued.
  • FIG. 5 is a configuration diagram of a data reading unit in the data buffer control unit 44.
  • the data reading unit includes a data buffer unit 52, a selection circuit 53, and a comparison circuit 54.
  • the data buffer unit 52 is temporary storage means for temporarily storing data read from the cache device 3 when the data is sent to the outside (system bus) of the CPU chip 1.
  • the selection circuit 53 reads the data stored in the data buffer unit 52 based on the information input from the packet generator 43.
  • the comparison circuit 54 compares the magic ID given to the data read by the selection circuit 53 with the magic ID of the data that the packet generator 43 requests to read, and the two magic IDs match each other. At this time, the comparison circuit 54 transmits a permission notice for permitting data transfer to the selection circuit 53, and the selection circuit 53 transfers the read data to the packet generator 43. If the two magic IDs do not match each other, report the error to the top.
  • the magic ID for example, a serial number may be used, or the address of the data buffer unit 52 and a part thereof may be used.
  • other control signal powers such as addresses using pseudo-random numbers may be generated using a hash function. Regardless of which magic ID is used, the above error can be detected by comparing the value stored in the data buffer unit 52 with the value included in the data request received from the packet generator 43. Is done.
  • 64 bytes of data are divided and transferred by 8 bytes.
  • a magic ID common to all of these data may be used. This is because, as described above, the data request from the packet generator 43 includes the entry number and offset of the notifier, and each data of 8 bytes can be identified by the offset. Alternatively, a different magic ID may be generated for each data composed of 8 bytes so that a contradiction between the offset and the magic ID can be detected. Regardless of which method is used, errors caused by data write timing, buffer release timing, or the actual stored buffer entry number and the entry number passed to the packet generator 43 are different. Can be detected.
  • FIG. 6A shows processing until data writing to the data buffer unit 52 is started. It is a flowchart. The process shown in FIG. 6A starts when the command queue 41 receives an instruction accompanying data transmission transmitted from the processor core 2.
  • step S 1 the command queue 41 issues a write request that requests the data buffer control unit 44 to execute data write processing.
  • step S2 the data buffer control unit 44 that has received the issued write request determines whether or not there is an empty buffer (data buffer unit 52). If there is no free space, the process proceeds to step S7, a response (Nack) is returned to the command queue 41 that data cannot be written to the buffer, and the process is terminated.
  • Nack a response
  • step S3 it is determined whether or not the node with the cache device 3 for transmitting the data request is busy. If it is determined to be busy, the process proceeds to step S7, and a Nack response is transmitted to the command queue 41 as described above, and the process is terminated.
  • step S3 If it is determined in step S3 that the bus is not busy! /, The process proceeds to step S4.
  • step S4 it is determined whether there is a high-priority V ⁇ write request that is higher than the write request previously issued in step S1. Higher priority! ⁇ If there is a write request, the process of writing data to the buffer according to the write request issued in step S1 cannot be executed. Return and finish the process.
  • step S5 the number of the write destination data buffer is selected in step S5 to generate a magic ID.
  • the number of the data buffer at the write destination corresponds to the entry number in FIG.
  • step S6 information such as the entry number and magic ID is included in the Ack response and sent to the command queue 41, and the writing process is started.
  • the command queue 41 notifies the packet generator 43 of the received information such as the magic ID via the arbitration circuit 42.
  • FIG. 6B is a flowchart showing a process of writing data to the data buffer unit 52. The process shown in FIG. 6B is executed following the process shown in FIG. 6A.
  • step S8 a data request is transmitted from the data buffer control unit 44 to the cache device 3.
  • 64 bytes are grouped.
  • the data is further divided into 8 parts, and every 8 bytes are read from the cache device 3.
  • step S9 the data buffer control unit 44 waits for the data read from the cache device 3, and in step S10, initializes the variable k indicating the number of the data divided into 8 bytes. To do.
  • the variable k is associated with an offset in the 64-byte data.
  • step SI 1 the kth data received by the data buffer control unit 44! / And the magic ID generated in step S 5 are stored in the kth position of the data buffer unit 52.
  • FIG. 7 is a flowchart showing a process for reading data stored in the data buffer unit 52. The processing shown in FIG. 7 is disclosed at a predetermined timing according to the arbitration processing of the arbitration circuit 42 when the data writing to the data buffer unit 52 shown in FIGS. 6A and 6B is completed.
  • a data read request is transmitted from the packet generator 43 to the data buffer control unit 44.
  • data to be read is stored, the number of the data buffer unit 52, that is, the above entry number, the offset in the entry number indicating the position of each of the divided data stored, and the magic ID. Contains information.
  • the data buffer control unit 44 reads out the 8-byte data stored in the entry number and offset included in the received read request and the magic ID assigned to the data.
  • step S23 the magic ID included in the read request is compared with the magic ID assigned to the data read in step S22, and it is determined whether the two magic IDs match each other. To do. If they match, it is determined that the data read is normal, the process proceeds to step S24, the read data is transmitted to the packet generator 43, and the process ends. If the magic ID included in the read request received from the packet generator 43 does not match the magic ID assigned to the read data, the process proceeds to step S25, and the error is reported to the host device, etc. finish. [0037] As described above, in the CPU chip 1, when data stored in the cache device 3 is transmitted to the system bus, the data transmission command issued from the processor core 2 and the command are transmitted.
  • Data passes through a separate route in the system bus control unit 4. That is, a data transmission command is given to the packet generator 43 via the command queue 41, while data sent according to the command is given to the packet generator 43 via the data buffer control unit 44.
  • the packet generator 43 that has received an instruction from the command queue 41 requests the data buffer control unit 44 for data at a predetermined timing in accordance with the arbitration processing of the arbitration circuit 42.
  • the data buffer The processing status in the control unit 44 cannot be recognized. For this reason, when the packet generator 43 transmits a data request to the data buffer control unit 44, the buffer address included in the data request from the packet generator 43 is not updated and the old data is not updated. !
  • data is stored, when the buffer is already released, or when the address included in the data request is different from the address where the data is actually stored.
  • the data buffer control unit 44 identifies the data in the buffer when requested by the command queue 41 to store the data to be transmitted in the buffer.
  • the magic ID generated when the data read from the cache device 3 is stored in the buffer is assigned, and the assigned magic ID is stored in the buffer together with the data.
  • the packet generator 43 is also notified through the command queue 41 in association with the data to be transmitted and the magic ID.
  • the data buffer control unit 44 compares the magic ID included in the request from the packet generator 43 with the magic ID stored in the buffer.
  • the system bus control unit 4 determines that an error has occurred and performs error processing such as reporting to the upper level.
  • the magic ID is stored in the buffer and the packet generator 4 is connected via the command queue 41. Since the magic ID is transmitted to 3, the error that occurs when the timing of data writing to the buffer and the timing of the data request from the packet generator 43 do not match, the control error in the data buffer control unit 44, etc. It is possible to detect. These errors cannot be detected in the CPU chip 1 in the prior art, but are more powerful errors detected by software or the like, and are effective in error analysis.
  • the above error detection method can be applied to other than the CPU chip 1.
  • a network control device will be described as another example to which the above error detection method is applied.
  • FIG. 8 is a configuration diagram of the network control device.
  • the network control device 10 includes a data reception unit 11, a data transfer control unit 12, and a data transmission unit 13.
  • a network control device 10 shown in FIG. 8 is used in, for example, a communication system, and further transfers data received from a certain device to another device.
  • the data receiving unit 11 receives data transmitted from another device via a data bus or the like.
  • the data transfer control unit 12 includes a data buffer, and uses the magic ID to determine whether there is an error when transferring data received by the data receiving unit 11 to another device. Controls transfer processing and processing when an error occurs.
  • the data transmission unit 13 transmits the data transferred from the data transfer control unit 12 to other devices outside the network control device 10 via the data bus.
  • FIG. 9 is a diagram showing the configuration of the data transfer control unit 12 of the network control device 10 in more detail.
  • the data transfer control unit 12 includes a control command queue 21, a packet generator 22, and a data buffer 23.
  • the control command queue 21 holds a command for transferring data from its own device (network control device 10) to another device. Since the roles of the data buffer 23 and the packet generator 22 are the same as those of the data buffer unit 52 and the packet generator 43 in the CPU chip 1 described above, description thereof is omitted here.
  • data is temporarily stored in the data buffer 23 when the command for transferring data and the data transferred by the command pass through different routes. Generate a magic ID when writing to. Generated The magic ID is attached to the data and written to the buffer, and is also passed in the Ack response to the control command queue 21 that transfers the command.
  • the control command queue 21 passes the received information such as a magic ID to the packet generator 22, and the packet generator 22 makes a data request using the magic ID when reading data from the data buffer 23.
  • the data to be transmitted to other devices is stored in a buffer once before being transmitted, and the data is transferred. Similarly, it is possible to detect errors using magic IDs.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Abstract

 データバッファ制御部44は、キャッシュからデータを読み出すための命令を保持するコマンドキューに保持されている命令に従って、キャッシュからデータを取得し、マジックID生成回路51はマジックIDを生成する。データバッファ制御部44は、キャッシュから取得したデータにマジックIDを付与してデータバッファへ書き込み、そのマジックIDをコマンドキューに返送する。データバッファ制御部44においては、読出し要求およびコマンドキューに返送されたマジックIDを受け取ったときに、その読出し要求に従ってデータバッファから対応するデータを読み出し、読み出したデータに付与されているマジックIDと受け取ったマジックIDとを比較する。パケット生成器は、データバッファ制御部44において比較されるマジックIDが互いに一致しなかった場合には、エラーを検出し、エラーを上位層に報告する。

Description

エラー検出装置
技術分野
[0001] 本発明は、データを読み出す処理において発生するエラーを検出する技術に関す る。
背景技術
[0002] 高い信頼性を要求される計算機システムにおいては、内部の様々な制御信号や主 記憶データに冗長性を持たせてあり、これを用いて、エラーの発生の迅速な検出ある いはエラーの訂正等を可能とされる。特に、主記憶データについては、大容量を要 求されるが故にエラーの発生頻度が比較的高くなる傾向にあるため、 ECC (Error Co rrecting Code)によって保護することが多い。 ECCを使用すると、通常、 1ビットのエラ 一を訂正することができ、 2ビットまでのエラーの検出が可能とされる。
[0003] しかし、力かるエラー検出機構では、正しくエラー保護された (「Good ECCの」 ) 2 つのデータを取り違えるような制御不良に対しては無力である。すなわち、データの 内容に誤りがない限りは正常とされるので、例えば、データバッファ力 データを取り 出す順序を誤るとか、新しいデータが到着する前にバッファの値を参照してしまう等 の制御ミスがあっても、それを検出することはできな力つた。
[0004] このようなエラーについては、従来の技術においてはハードウェアによる検出が行 えず、プログラムの計算結果の間違いとしてのみ発露することとなる。したがって、こ のようなエラーは障害原因の同定が極めて困難である。
発明の開示
[0005] 本発明は、ハードウェアにおけるエラーを検出する技術を提供することを目的とする 上記課題を解決するために、本発明に係るエラー検出装置は、記憶装置からデー タを読み出すための命令を保持する命令保持手段と、前記命令保持手段に保持さ れている命令に従って前記記憶装置力 データを取得するとともに、識別情報を生 成する第 1の処理手段と、前記記憶装置から取得したデータに前記識別情報を付与 して一時記憶装置へ書き込むとともに、その識別情報を前記命令保持手段に返送す る第 2の処理手段と、前記命令保持手段に保持されている命令に対応する読出し要 求および前記命令保持手段に返送された識別情報を受け取ったときに、その読出し 要求に従って前記一時記憶装置から対応するデータを読み出し、その読み出したデ ータに付与されている識別情報と前記受け取った識別情報とを比較する比較手段と 、前記比較手段により比較される識別情報が互いに一致しな力つた場合にはエラー を検出し、上位に報告するエラー報告手段を備えた構成とする。
[0006] 命令にしたがって所定の送信先にデータを送出する際に、一時記憶装置に格納す るデータとともにその命令に対応する識別情報を生成して一時記憶装置に格納する 。生成された識別情報は、命令を保持する命令保持手段に与えられる。比較手段は 、命令保持手段に与えられた識別情報と、一時記憶手段力 読み出したデータととも に格納されている識別情報とを比較して、比較した結果 2つの識別情報が互いに一 致する場合は、そのデータを送出する。一致しないときは、ハードウェアにおけるエラ 一として検出する。
[0007] 前記比較手段は、前記送信手段を介して前記読出し要求および前記命令保持手 段に返送された識別情報を受け取る構成としてもよい。また、前記比較手段により比 較される識別情報が互いに一致していた場合に限り、前記一次記憶装置から読み出 したデータを送信先へ送信することとしてもよい。前記識別情報は、例えば昇順ある いは降順の通し番号力 構成される。
[0008] 本発明によれば、ハードウェアにおけるデータの送受信処理におけるエラーを検出 することが可能とされる。
図面の簡単な説明
[0009] [図 1]CPUチップの構成図である。
[図 2]システムバス制御部の構成をより詳細に示した図である。
[図 3]データバッファ制御部における動作を説明するための図である。
[図 4]マジック IDを用いてエラーを検出する方法を説明するための図である。
[図 5]データバッファ制御部におけるデータの読み出し部の構成図である。
[図 6A]データバッファ部へのデータの書き込みを開始するまでの処理を示すフロー チャートである。
[図 6B]データバッファ部へのデータの書き込み処理を示すフローチャートである。
[図 7]データバッファ部に格納されているデータの読み出し処理を示すフローチャート である。
[図 8]ネットワーク制御装置の構成図である。
[図 9]ネットワーク制御装置のデータ転送制御部の構成を更に詳しく示した図である。 発明を実施するための最良の形態
[0010] 以下、本発明の好適な実施の形態について、図面を参照しながら詳細に説明する 図 1は、本実施形態に係る CPUチップの構成図である。 CPUチップ 1は、プロセッ サコア 2、キャッシュ装置 3およびシステムバス制御部 4を含む。プロセッサコア 2は、 一般的には 2以上のプロセッサコア力 構成され、命令を生成する。キャッシュ装置 3 は、プロセッサコア 2からの命令に基づいてデータを格納する。システムバス制御部 4 は、プロセッサコア 2からの命令に基づいて、キャッシュ装置 3に格納されているデー タを読み出して、システムバスに対して読み出したデータを送出する。キャッシュ装置 3から読み出したデータは、システムノ ス制御部 4内のバッファに一時的に格納され て力 システムバスに向けて送出される。
[0011] 図 2は、システムバス制御部 4の構成をより詳細に示した図である。システムバス制 御部 4は、複数のコマンドキュー 41 (41A〜41D)、調停回路 42、パケット生成部 (パ ケット生成器) 43およびデータバッファ制御部 44を含んで構成される。
[0012] コマンドキュー 41は、プロセッサコア 2からの命令を保持し、保持している命令を順 次システムバスを介して対象となる装置に対して送信するためのキューである。コマ ンドキュー 41は、プロセッサコア 2からの命令力 外部装置へのデータ送出を伴うか 否かに応じて分類されており、図 2の例においては、コマンドキュー 41Aおよび 41B はデータ送出を伴わない命令を保持し、コマンドキュー 41Cおよび 41Dはデータ送 出を伴う保持すると仮定する。
[0013] 調停回路 42は、各コマンドキューを介してプロセッサコア 2からの命令を受信し、 Vヽ ずれの命令を優先的に実行するか等の調停処理を行う。パケット生成部 43は、デー タ送出を伴う命令については、調停回路 42から受信した命令と、データバッファ制御 部 44を介して受信したデータとからパケットを生成し、システムバスに対してパケット を送出する。
[0014] ここで、データバッファ制御部 44は、コマンドキュー 41C、 41Dから受信した命令に 基づいて、キャッシュ装置 3からデータを読み出して所定のタイミングでパケット生成 部 43に読み出したデータを転送する。このとき、まずキャッシュ力も取り出したデータ をバッファに書き込み、次に調停回路 42における調停処理によって所定のタイミング でパケット生成部 43がデータ読み出しを要求すると、ノ ッファカもデータが読み出さ れて転送される。
[0015] 本実施形態に係る CPUチップ 1にお 、ては、データバッファ制御部 44がキャッシュ 装置 3から読み出したデータをバッファに書き込むときに、そのデータを識別するた めの識別情報と併せてデータをバッファに格納する。そして、パケット生成部 43から のデータ読み出し要求を受けてバッファのデータを読み出すときに、割り符コードとし ての識別情報を用いてデータの読み出しが正常であるか否かを判定する。データの 読み出しが正常である力否かを判定するために使用されるデータの識別情報を、以 下の実施例においては、マジック ID (図中においては Magic— IDと表記)と表記する こととする。
[0016] 図 3は、データバッファ制御部 44における動作を説明するための図である。データ バッファ制御部 44は、マジック ID生成回路 51を備え、キャッシュ装置 3のデータをシ ステムバスに向けて送出するために、キャッシュ装置 3から読み出したデータをバッフ ァに書き込む処理およびバッファに格納されているデータを読み出してパケット生成 器 43に転送する処理を実行する。書き込み処理においては、読み出したデータにキ ャッシュ装置 3によって予め付与されている ECCとともに、更にマジック IDも付与して ノ ッファに一時記憶させる。以下の説明では「マジック IDをデータに付与する」とは、 マジック IDをデータと対応付けることを意味するものとする。
[0017] マジック ID生成回路 51においては、キャッシュから読み出したデータをデータバッ ファ制御部 44において受信すると、そのデータに対して付与するマジック IDを生成 すると共に読み出したデータにマジック IDを付与してノ ッファに格納する一方で、そ のマジック IDおよびバッファの格納先を示すエントリ番号等の情報を、コマンドキュー 41C、 41Dに対して通知する。
[0018] エントリ番号およびマジック IDを通知されたコマンドキュー 41C、 41Dにおいては、 上記の調停回路 42を介して、パケット生成部 43にそれらの情報を渡す。パケット生 成部 43は、調停回路 42からの指示にしたがって、所定のタイミングでデータ読み出 し要求をデータバッファ制御部 44に対して送信するときに、エントリ番号やマジック I Dもその要求に含めて渡す。データバッファ制御部 44においては、エントリ番号が示 すデータに付与されているマジック IDと、パケット生成部 43から受信したデータ読み 出し要求に含まれるマジック IDとを比較して、一致する場合には正常処理、すなわち バッファからデータを読み出す処理を実行する。一方、一致しない場合には、読み出 しエラーとして異常を検出し、プロセッサコア 2等に通知をする。
[0019] ここで、エラーの発生する原因について説明する。 CPUチップ 1は、データ送出を 伴う命令を実行するに際し、その命令と命令に伴い送出されるデータとは、図 3に示 すデータバッファ制御部 44のうち互いに異なるルートを経てシステムバスに送られる 。すなわち、ノ ッファに一時記憶したデータを読み出すパケット生成器 43からの要求 は、データバッファ制御部 44におけるデータの処理状況とは関係なく調停回路 42の 調停処理に基づいてなされる。このため、例えばデータの格納先のエントリ番号と要 求のエントリ番号が一致しない、データを送出するよりも先にデータバッファ制御部 4 4においてバッファのデータを解放してしまう、あるいはバッファのデータを読み出す 際に参照すべきデータと異なるデータを参照してしまう、といった問題が生じ得る。デ ータ要求のマジック IDとバッファに格納されているマジック IDとを比較することにより、 これらの問題が発生したことを検出する。以下、本実施形態に係るエラーの検出する 方法について更に説明する。
[0020] 図 4は、マジック IDを用いてエラーを検出する方法を説明するための図である。図 4 は、 CPUチップ 1からデータを送出するときの、 CPUチップ 1を構成する各部におい て処理を実行するタイミングを示す。
[0021] まず、コマンドキュー 41C (あるいはコマンドキュー 41D)がデータバッファ制御部 4 4に対して、キャッシュ装置 3に格納されているデータをバッファに書き込むよう要求 する。要求を受信したデータノッファ制御部 44は、コマンドキュー 41に対して応答( Ack)を返し、更にキャッシュ装置 3に対し、要求に含まれる情報に基づいてデータを 要求する。実施例においては、 CPUチップ 1から送出されるデータの 1単位を 64バイ トとし、キャッシュ装置 3から読み出すデータについては、送出されるデータの 64バイ トを 8分割したデータ量、すなわち 8バイトを 1単位とする。ここでのバッファ力もキヤッ シュ装置 3へのデータ要求も、 8バイトごとにオフセット値を指定してデータ読み出しを 求めるものである。 8バイトごとキャッシュ装置 3から読み出したデータは、順次バッフ ァに書き込まれる。このとき、上記マジック IDをデータに付与した上で順次バッファに 書き込んでいく。
[0022] ノ ッファがキャッシュ装置 3に対してデータを要求してからキャッシュ装置 3がデータ バッファ制御部 44のバッファに対してデータの転送を開始するまでには所定の時間 を要する。これに対し、データバッファ制御部 44から Ackの応答を受信したコマンド キュー 41は、調停回路 42に対して受信したマジック ID等の読み出すべきデータを 示す情報を渡し、調停回路 42は、その情報をパケット生成器 43に渡す。そして、調 停回路 42が指示するタイミングで、マジック ID等の情報を用いてデータをデータバッ ファ制御部 44に対してデータを要求する。すなわち、パケット生成器 43は、キヤッシ ュ装置 3からデータバッファ制御部 44へのデータの転送に要する待ち時間を認識す ることができず、データバッファ制御部 44においてキャッシュ装置 3からのデータを待 つている間にパケット生成器 43がデータバッファ制御部 44に対してデータを要求す ることがある。
[0023] データバッファ制御部 44においてデータをバッファに書き込むときに、そのデータ に生成したマジック IDを付与する。これにより、データバッファ制御部 44においては 、まだバッファに格納されて 、な 、データにつ 、ての読み出し要求をパケット生成器 43から受信した場合であっても、パケット生成器 43が求めるデータとバッファに格納 されて 、るデータとがー致するか否かを、データに付与されたマジック IDを比較して 判断することにより、読み出しエラーを検出することができる。データをバッファに書き 込んだ後にパケット生成器 43からデータ読み出しを要求された場合は、パケット生成 器 43からのデータ要求に含まれるマジック IDと、参照されるバッファのデータに付与 されたマジック IDとが一致するので、通常のデータ送出処理が継続される。
[0024] 図 5は、データバッファ制御部 44におけるデータの読み出し部の構成図である。デ ータ読み出し部は、データバッファ部 52、選択回路 53および比較回路 54を含む。 データバッファ部 52は、上記の通り、キャッシュ装置 3から読み出したデータを CPU チップ 1の外部(システムバス)に送出するときに一時的に格納しておく仮記憶手段で ある。選択回路 53は、パケット生成器 43から入力された情報に基づいて、データバッ ファ部 52に格納されているデータを読み出す。比較回路 54は、選択回路 53が読み 出したデータに付与されたマジック IDと、パケット生成器 43が読み出しを要求してい るデータについてのマジック IDとを比較し、 2つのマジック IDが互いに一致するとき は、比較回路 54は選択回路 53に対してデータ転送を許可する許可通知を送信し、 選択回路 53は、読み出したデータをパケット生成器 43に転送する。 2つのマジック I Dが互いに一致しな 、ときは、エラーを上位に報告する。
[0025] なお、マジック IDについては、例えば通し番号を用いることとしてもよいし、データバ ッファ部 52のアドレスおよびその一部を用いることとしてもよい。あるいは、擬似乱数 を用いる、アドレス等の他の制御信号力もハッシュ関数を用いて生成することとしても よい。マジック IDとしていずれを用いることとしても、データバッファ部 52に格納され ている値とパケット生成器 43から受信したデータ要求に含まれる値とを比較すること により上記のエラーを検出することが可能とされる。
[0026] また、実施例においては 64バイトのデータを 8バイトずつ分けて転送している力 こ れらのデータ全てに共通するマジック IDを使用することとしてもよい。上記の通り、パ ケット生成器 43からのデータ要求には、ノ ッファのエントリ番号およびオフセットが含 まれており、オフセットによって 8バイトの各データを識別することができるためである。 あるいは、 8バイトから構成されるデータごとに異なるマジック IDを生成し、オフセット とマジック IDとの間の矛盾を検出できるようにしてもよい。いずれを採用しても、デー タの書き込みのタイミングやバッファの解放のタイミング、あるいは実際に格納したバ ッファのエントリ番号とパケット生成器 43に渡したエントリ番号とが食い違うこと等に起 因するエラーを検出することができる。
[0027] 図 6Aは、データバッファ部 52へのデータの書き込みを開始するまでの処理を示す フローチャートである。図 6Aに示す処理は、プロセッサコア 2から送信されたデータ 送出を伴う命令を、コマンドキュー 41において受信したことを契機として開始される。
[0028] まず、ステップ S1で、データバッファ制御部 44に対してデータの書き込み処理を実 行するよう求める書き込み要求を、コマンドキュー 41において発行する。ステップ S2 で、発行された書き込み要求を受信したデータバッファ制御部 44は、ノ ッファ (デー タバッファ部 52)に空きがあるか否かを判定する。空きがない場合は、ステップ S7に 進み、データのバッファへの書き込みが出来な 、旨を応答(Nack)でコマンドキュー 41に返し、処理を終了する。
[0029] 空きがある場合は、ステップ S3に進み、データ要求を送信するためのキャッシュ装 置 3との間のノ スがビジー状態であるか否かを判定する。ビジー状態と判定された場 合は、ステップ S7に進み、上記と同様に Nack応答をコマンドキュー 41に送信して処 理を終了する。
[0030] ステップ S3の判定にお!、てバスがビジー状態ではな!/、と判定されると、ステップ S4 に進む。ステップ S4で、先にステップ S1で発行した書き込み要求よりも優先度の高 Vヽ書き込み要求がな!ヽかを判定する。より優先度の高! ヽ書き込み要求が存在する場 合は、ステップ S1において発行された書き込み要求にしたがってデータをバッファに 書き込む処理については実行できないとして、上記と同様にステップ S 7で Nack応 答を返し、処理を終了する。
[0031] 優先度の高!、書き込み要求が存在しな 、場合は、ステップ S 5で、書き込み先のデ ータバッファの番号を選択し、マジック IDを生成する。ここで、書き込み先のデータバ ッファの番号とは、図 3におけるエントリ番号に相当する。ステップ S6で、エントリ番号 およびマジック ID等の情報を Ack応答に含めてコマンドキュー 41に送信し、書き込 み処理を開始する。コマンドキュー 41は、受信したマジック ID等の情報を、調停回路 42を介してパケット生成器 43に通知する。
[0032] 図 6Bは、データバッファ部 52へのデータの書き込み処理を示すフローチャートで ある。図 6Bに示す処理は、図 6Aの処理に続いて実行される。
まず、ステップ S8で、データバッファ制御部 44からキャッシュ装置 3に対して、デー タ要求が送信される。実施例においては、上記の通り、 64バイトをひとまとまりとする データは更に 8分割され、 8バイトごとキャッシュ装置 3から読み出される。ステップ S9 で、データバッファ制御部 44において、キャッシュ装置 3から読み出したデータを待 ち、ステップ S10で、 8バイトに分割されたデータのうち何番目のデータであるかを示 す変数 kを初期化する。変数 kは、 64バイトのデータにおけるオフセットと対応付けら れている。
[0033] ステップ SI 1で、データバッファ制御部 44にお!/、て受信した k番目のデータとステツ プ S5で生成したマジック IDとを、データバッファ部 52の k番目の位置に格納する。 k 番目のデータをマジック IDとともにバッファに格納する処理が完了すると、ステップ S 12で、 kを 1加算し、変数 kが 8になるまでステップ S11およびステップ S12の処理を 繰り返す。変数 kが 8になると、データの書き込み処理を終了する。
[0034] 図 7は、データバッファ部 52に格納されているデータの読み出し処理を示すフロー チャートである。図 7に示す処理は、図 6Aおよび図 6Bに示すデータバッファ部 52へ のデータの書き込みが完了すると、調停回路 42の調停処理に応じて所定のタイミン グで開示される。
[0035] まず、ステップ S21で、パケット生成器 43からデータバッファ制御部 44に対して、デ ータの読み出し要求が送信される。読み出し要求には、読み出すべきデータが格納 されて 、るデータバッファ部 52の番号すなわち上記のエントリ番号、分割されて格納 されているデータの各々の位置を示すエントリ番号内のオフセット、およびマジック ID の情報を含む。ステップ S22で、データバッファ制御部 44は、受信した読み出し要求 に含まれるエントリ番号およびオフセットに格納されている 8バイトのデータおよびデ ータに付与されているマジック IDを読み出す。
[0036] ステップ S23で、読み出し要求に含まれているマジック IDと、ステップ S22で読み出 したデータに付与されているマジック IDとを比較し、 2つのマジック IDが互いに一致 するか否かを判定する。一致する場合は、データの読み出しを正常と判定して、ステ ップ S24に進み、読み出したデータをパケット生成器 43に送信し、処理を終了する。 パケット生成器 43から受信した読み出し要求に含まれるマジック IDと読み出したデ ータに付与されているマジック IDとが一致しない場合は、ステップ S25に進み、エラ 一を上位装置等に報告し、異常終了する。 [0037] 以上説明したように、 CPUチップ 1においては、キャッシュ装置 3に格納されている データをシステムバスに送出するとき、プロセッサコア 2から発行されたデータ送出の コマンドとそのコマンドにより送出されるデータとは、システムバス制御部 4内において は別個のルートを通る。すなわち、データ送出の命令はコマンドキュー 41を介してパ ケット生成器 43に与えられる一方、命令にしたがって送出されるデータはデータバッ ファ制御部 44を介してパケット生成器 43に与えられる。コマンドキュー 41から命令を 受け取ったパケット生成器 43は、調停回路 42の調停処理に応じて所定のタイミング でデータをデータバッファ制御部 44に対して要求する力 パケット生成器 43におい ては、データバッファ制御部 44における処理状況を認識することはできない。このた め、パケット生成器 43がデータバッファ制御部 44にデータ要求を送信したときに、パ ケット生成器 43からのデータ要求に含まれるバッファのアドレスには、データが更新 されておらずに古!、データが格納されて 、る場合や、すでにそのバッファが解放され て 、る場合、あるいはデータ要求に含まれるアドレスが実際にデータの格納されて ヽ るアドレスと異なる場合も考えられる。
[0038] し力し、これらの場合であっても、データバッファ制御部 44においては、送出すべき データをバッファに格納するようコマンドキュー 41から要求されると、バッファにおい てデータを識別するためのマジック IDを生成し、キャッシュ装置 3から読み出したデ ータをバッファに格納するときに生成したマジック IDを付与し、付与したマジック IDを データと共にバッファに格納する。ここで、マジック IDを生成したときに、コマンドキュ 一 41を介してパケット生成器 43に対しても、送出すべきデータとマジック IDとを対応 付けて通知する。データバッファ制御部 44においては、パケット生成器 43からのデ ータ読み出し要求を受け取ると、パケット生成器 43からの要求に含まれるマジック ID とバッファに格納されて 、るマジック IDとを比較する。
[0039] ノ ッファ力 取り出したマジック IDとデータ要求に含まれるマジック IDとを比較した 結果、一致する場合は従来と同様に対応するデータをバッファから取り出してバケツ ト生成器 43に転送する。 2つのマジック IDがー致しない場合は、システムバス制御部 4において発生したエラーと判断して、上位に報告する等のエラー処理を実行する。
[0040] マジック IDをバッファに格納するとともにコマンドキュー 41を介してパケット生成器 4 3にそのマジック IDを伝えているので、バッファへのデータの書き込みのタイミングと パケット生成器 43からのデータ要求のタイミングが合わずに起こるエラーや、データ ノ ッファ制御部 44内における制御エラー等を検出することが可能とされる。これらの エラーは、従来技術においては CPUチップ 1内で検出することはできず、ソフトウェア 等で検出するよりな力つた類のエラーであり、エラーの解析等に効果を有する。
[0041] 上記のエラーの検出方法は、 CPUチップ 1以外への応用も可能である。以下、上 記のエラーの検出方法を適用した他の例として、ネットワーク制御装置について説明 する。
図 8は、ネットワーク制御装置の構成図である。ネットワーク制御装置 10は、データ 受信部 11、データ転送制御部 12およびデータ送信部 13を含んで構成される。図 8 に示すネットワーク制御装置 10は、例えば通信システムにおいて利用され、ある装置 から受信したデータを更に他の装置に対して転送する。
[0042] データ受信部 11は、他の装置から送信されたデータを、データバス等を介して受 信する。データ転送制御部 12は、データバッファを含み、データ受信部 11において 受信したデータを更に他の装置に対して転送するときに、マジック IDを用いて、エラ 一がないかを判断して、データ転送処理やエラー発生時の処理を制御する。データ 送信部 13は、データ転送制御部 12から転送されたデータを、データバスを介してネ ットワーク制御装置 10の外部の他の装置に対して送信する。
[0043] 図 9は、ネットワーク制御装置 10のデータ転送制御部 12の構成を更に詳しく示した 図である。データ転送制御部 12は、制御コマンドキュー 21、パケット生成器 22およ びデータバッファ 23を含む。
[0044] 制御コマンドキュー 21は、自装置 (ネットワーク制御装置 10)から他の装置に対して データを転送するためのコマンドを保持する。データバッファ 23およびパケット生成 器 22の役割については、上記の CPUチップ 1におけるデータバッファ部 52およびパ ケット生成器 43についてのそれと同様であるので、ここでは説明を割愛する。
[0045] 既に説明した先の実施形態と同様に、本実施形態においても、データを転送する コマンドとコマンドにより転送されるデータとが別のルートを通る場合において、デー タバッファ 23にデータを一時的に書き込む際にマジック IDを生成する。生成された マジック IDは、データに付与されてバッファに書き込まれるとともに、そのコマンドを転 送する制御コマンドキュー 21に対して Ack応答に含めて渡される。制御コマンドキュ 一 21は、受け取ったマジック ID等の情報をパケット生成器 22に渡し、パケット生成器 22は、データバッファ 23のデータを読み出すときにそのマジック IDを用いてデータ 要求する。
図 8および図 9に示すネットワーク制御装置 10においても、他の装置に対して送信 すべきデータについて、送信前に一度バッファに格納して力 転送することから、上 記の CPUチップ 1の場合と同様に、マジック IDを用いてエラーを検出することが可能 とされる。

Claims

請求の範囲
[1] 記憶装置からデータを読み出すための命令を保持する命令保持手段と、
前記命令保持手段に保持されている命令に従って前記記憶装置力 データを取 得するとともに、識別情報を生成する第 1の処理手段と、
前記記憶装置から取得したデータに前記識別情報を付与して一時記憶装置へ書 き込むとともに、その識別情報を前記命令保持手段に返送する第 2の処理手段と、 前記命令保持手段に保持されている命令に対応する読出し要求および前記命令 保持手段に返送された識別情報を受け取ったときに、その読出し要求に従って前記 一時記憶装置から対応するデータを読み出し、その読み出したデータに付与されて いる識別情報と前記受け取った識別情報とを比較する比較手段と、
前記読み出し要求に従って前記一時記憶装置から読み出したデータを送信先へ 送信する送信手段と、
前記比較手段により比較される識別情報が互いに一致していた場合の他の場合は 、上位層に対してエラー報告を送信する報告手段、
を有するエラー検出装置。
[2] 前記比較手段は、前記送信手段を介して前記読出し要求および前記命令保持手 段に返送された識別情報を受け取る
ことを特徴とする請求項 1に記載のエラー検出装置。
[3] 前記送信手段は、前記比較手段により比較される識別情報が互いに一致していた 場合に限り、前記一次記憶装置から読み出したデータを送信先へ送信する
ことを特徴とする請求項 1記載のエラー検出装置。
[4] 前記識別情報は、昇順あるいは降順の通し番号から構成される
ことを特徴とする請求項 1記載のエラー検出装置。
[5] 前記識別情報は、擬似乱数から構成される
ことを特徴とする請求項 1記載のエラー検出装置。
[6] 前記識別情報は、ハッシュ関数を用いて生成される
ことを特徴とする請求項 1記載のエラー検出装置。
[7] 前記識別情報は、データの前記一時記憶装置への格納先を示す格納先情報に基 づいて生成される
ことを特徴とする請求項 1記載のエラー検出装置。
[8] 前記命令保持手段、第 1の処理手段、第 2の処理手段、比較手段、送信手段は、 1 つの CPUチップに設けられる
ことを特徴とする請求項 1記載のエラー検出装置。
[9] 前記エラー検出装置は、ネットワークを介して受信したデータを他の装置に対して 転送するネットワーク装置において適用される
ことを特徴とする請求項 1記載のエラー検出装置。
[10] 記憶装置力 データを読み出すための命令を保持し、
前記保持されている命令に従って前記記憶装置力 データを取得するとともに、識 別情報を生成し、
前記記憶装置から取得したデータに前記識別情報を付与して一時記憶装置へ書 き込むとともに、その識別情報を、前記命令を保持する手段に返送し、
前記保持されている命令に対応する読出し要求および前記命令を保持する手段に 返送された識別情報を受け取ったときに、その読出し要求に従って前記一時記憶装 置力 対応するデータを読み出し、その読み出したデータに付与されている識別情 報と前記受け取った識別情報とを比較し、
前記比較手段により比較される識別情報が互いに一致していた場合の他の場合は 、上位層に対してエラー報告を送信する
処理を備えたことを特徴とするエラー検出方法。
PCT/JP2006/303673 2006-02-28 2006-02-28 エラー検出装置 WO2007099584A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/JP2006/303673 WO2007099584A1 (ja) 2006-02-28 2006-02-28 エラー検出装置
JP2008502571A JP4834722B2 (ja) 2006-02-28 2006-02-28 演算処理装置及び演算処理装置の制御方法
EP06714810A EP1990733A4 (en) 2006-02-28 2006-02-28 ERROR DETECTOR
US12/200,390 US8196028B2 (en) 2006-02-28 2008-08-28 Error detection device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2006/303673 WO2007099584A1 (ja) 2006-02-28 2006-02-28 エラー検出装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/200,390 Continuation US8196028B2 (en) 2006-02-28 2008-08-28 Error detection device

Publications (1)

Publication Number Publication Date
WO2007099584A1 true WO2007099584A1 (ja) 2007-09-07

Family

ID=38458707

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/303673 WO2007099584A1 (ja) 2006-02-28 2006-02-28 エラー検出装置

Country Status (4)

Country Link
US (1) US8196028B2 (ja)
EP (1) EP1990733A4 (ja)
JP (1) JP4834722B2 (ja)
WO (1) WO2007099584A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8176406B2 (en) * 2008-03-19 2012-05-08 International Business Machines Corporation Hard error detection
US8942543B1 (en) * 2010-10-06 2015-01-27 Verint Video Solutions Inc. Systems, methods, and software for improved video data recovery effectiveness
FR2994001B1 (fr) 2012-07-30 2015-05-29 Airbus Operations Sas Procede de surveillance de l'execution coordonnee de taches sequencees par une carte electronique comportant au moins deux processeurs synchronises sur deux horloges differentes
FR2994000B1 (fr) * 2012-07-30 2015-06-05 Airbus Operations Sas Procede de surveillance de l'execution coordonnee de taches sequencees par une carte electronique comportant au moins deux processeurs synchronises sur une meme horloge
US9164792B2 (en) * 2014-01-06 2015-10-20 International Business Machines Corporation Executing a gather operation on a parallel computer that includes a plurality of compute nodes
US10706005B2 (en) * 2017-12-08 2020-07-07 Vmware, Inc. File system interface for remote direct memory access

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55105719A (en) * 1979-02-09 1980-08-13 Hitachi Ltd Buffer device
JPS61208134A (ja) * 1985-03-12 1986-09-16 Nec Corp 情報処理装置におけるエラ−検出方式
JPH1145213A (ja) * 1997-07-25 1999-02-16 Nec Corp Fifoメモリ監視方法及び回路
JPH11212759A (ja) * 1998-01-26 1999-08-06 Nec Ibaraki Ltd データバッファ制御異常検出方法および回路

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5629950A (en) * 1992-04-24 1997-05-13 Digital Equipment Corporation Fault management scheme for a cache memory
US5488691A (en) * 1993-11-17 1996-01-30 International Business Machines Corporation Memory card, computer system and method of operation for differentiating the use of read-modify-write cycles in operating and initializaiton modes
US5630048A (en) * 1994-05-19 1997-05-13 La Joie; Leslie T. Diagnostic system for run-time monitoring of computer operations
US6009542A (en) * 1998-03-31 1999-12-28 Quantum Corporation Method for preventing transfer of data to corrupt addresses
EP1215577B1 (en) * 2000-08-21 2012-02-22 Texas Instruments Incorporated Fault management and recovery based on task-ID
DE10234933A1 (de) * 2002-07-31 2004-03-18 Advanced Micro Devices, Inc., Sunnyvale Pufferung von Non-Posted-Lesebefehlen und Antworten
US7457872B2 (en) * 2003-10-15 2008-11-25 Microsoft Corporation On-line service/application monitoring and reporting system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55105719A (en) * 1979-02-09 1980-08-13 Hitachi Ltd Buffer device
JPS61208134A (ja) * 1985-03-12 1986-09-16 Nec Corp 情報処理装置におけるエラ−検出方式
JPH1145213A (ja) * 1997-07-25 1999-02-16 Nec Corp Fifoメモリ監視方法及び回路
JPH11212759A (ja) * 1998-01-26 1999-08-06 Nec Ibaraki Ltd データバッファ制御異常検出方法および回路

Also Published As

Publication number Publication date
EP1990733A4 (en) 2009-12-02
EP1990733A1 (en) 2008-11-12
US8196028B2 (en) 2012-06-05
US20080320376A1 (en) 2008-12-25
JPWO2007099584A1 (ja) 2009-07-16
JP4834722B2 (ja) 2011-12-14

Similar Documents

Publication Publication Date Title
US9134913B2 (en) Methods and structure for improved processing of I/O requests in fast path circuits of a storage controller in a clustered storage system
JP4917175B2 (ja) I/o動作の状態を判別するコンピュータ・プログラム、装置、及び方法
US8032793B2 (en) Method of controlling information processing system, information processing system, direct memory access control device and program
US7823008B2 (en) Maintaining consistency in a remote copy data storage system
WO2007099584A1 (ja) エラー検出装置
US7143206B2 (en) Method for controlling data transfer unit having channel control unit, storage device control unit, and DMA processor
US11561922B2 (en) Communication apparatus, communication method, program, and communication system
JP2010092336A (ja) ストレージシステム及び通信方法
US20060265523A1 (en) Data transfer circuit and data transfer method
JP4894854B2 (ja) データ送信装置、データ送受信システム及びデータ送受信システムの制御方法
US8433952B2 (en) Memory access control device, memory access control method and memory access control program
JP5381109B2 (ja) 通信装置及びその制御プログラム
JP5836229B2 (ja) ストリーム処理装置、サーバ、及び、ストリーム処理方法
JP2010033188A (ja) 送信経路選択装置、データ送信システム、コンピュータ装置および送信経路選択方法
US8392621B2 (en) Managing dataflow in a temporary memory
JP3683831B2 (ja) データ処理システムにおけるチャネル回復のためのチェックポイント指定方法、装置およびプログラム記録媒体
US7028227B2 (en) Communication control program, recording medium carrying communication control program, communication control method, and data processing apparatus
US20060107004A1 (en) Recovery from failure in data storage systems
EP3945407A1 (en) Systems and methods for processing copy commands
WO2022247422A1 (zh) 资源队列管理接口的验证方法、电子设备、存储介质
JP4102769B2 (ja) 情報処理システム、その故障箇所特定方法、情報処理装置
JP4864755B2 (ja) データ処理システム及び診断方法
WO2010061482A1 (ja) 試験装置、シリアル伝送システム、プログラム、および、記録媒体
US20060106957A1 (en) Method and system for performance enhancement in a polled data storage environment
WO2012108023A1 (ja) 情報処理装置、情報処理システム及びデータ転送方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase

Ref document number: 2008502571

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2006714810

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE