JP5314516B2 - Storage device and packet relay device - Google Patents
Storage device and packet relay device Download PDFInfo
- Publication number
- JP5314516B2 JP5314516B2 JP2009156347A JP2009156347A JP5314516B2 JP 5314516 B2 JP5314516 B2 JP 5314516B2 JP 2009156347 A JP2009156347 A JP 2009156347A JP 2009156347 A JP2009156347 A JP 2009156347A JP 5314516 B2 JP5314516 B2 JP 5314516B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- read
- pointer address
- unit
- clk
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 claims description 86
- 230000000630 rising effect Effects 0.000 claims description 83
- 238000001514 detection method Methods 0.000 claims description 45
- 230000001360 synchronised effect Effects 0.000 claims description 4
- 238000000034 method Methods 0.000 description 36
- 239000002131 composite material Substances 0.000 description 16
- 238000010586 diagram Methods 0.000 description 16
- 102100040862 Dual specificity protein kinase CLK1 Human genes 0.000 description 10
- 238000012546 transfer Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 101000749294 Homo sapiens Dual specificity protein kinase CLK1 Proteins 0.000 description 7
- 101100113692 Caenorhabditis elegans clk-2 gene Proteins 0.000 description 4
- 102100040844 Dual specificity protein kinase CLK2 Human genes 0.000 description 3
- 102100040856 Dual specificity protein kinase CLK3 Human genes 0.000 description 3
- 101000749291 Homo sapiens Dual specificity protein kinase CLK2 Proteins 0.000 description 3
- 101000749304 Homo sapiens Dual specificity protein kinase CLK3 Proteins 0.000 description 3
- 102100040858 Dual specificity protein kinase CLK4 Human genes 0.000 description 2
- 101000749298 Homo sapiens Dual specificity protein kinase CLK4 Proteins 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Description
この発明は、記憶装置およびパケット中継装置に関する。 The present invention relates to a storage device and a packet relay device.
従来より、コンピュータで扱われるデータ量の増大により、メモリに対する書き込み処理や読み出し処理などの動作の高速化が進められている。特に、ネットワーク上でデータの中継を行うパケット中継装置では、近年のデータ転送量の急激な増大に伴い、メモリに対して正確な動作を高速で実行することが求められている。 Conventionally, due to an increase in the amount of data handled by a computer, the speed of operations such as write processing and read processing on a memory has been increased. In particular, a packet relay apparatus that relays data on a network is required to perform an accurate operation on a memory at a high speed with a rapid increase in data transfer amount in recent years.
パケット中継装置は、データ転送時に、パケットに含まれる送信先情報に基づいて、データを送信先へ転送する装置であり、送信先にデータを転送するまでの間、受信したデータを一時的にメモリに保存する。そして、パケット中継装置は、メモリからデータを順次読み出し、読み出したデータを送信先情報に対応する送信先に転送する。 The packet relay device is a device that transfers data to a transmission destination based on transmission destination information included in the packet at the time of data transfer, and temporarily stores received data until the data is transferred to the transmission destination. Save to. Then, the packet relay device sequentially reads data from the memory and transfers the read data to the transmission destination corresponding to the transmission destination information.
ここで、メモリからのデータ読み出しに際して、部品故障やソフトエラーなどに起因する読み出しエラーが発生する場合がある。そこで、近年、発生した読み出しエラーに対応するために、様々な技術が知られている。 Here, when data is read from the memory, a read error due to a component failure or a soft error may occur. Therefore, various techniques are known in recent years for dealing with read errors that have occurred.
例えば、データの読み出しエラーを修正する技術としては、ECC(Error Correcting Code)回路を用いた技術がある。ECC回路を有するパケット中継装置は、図7に示すように、入力されたデータに対してECCを付加し、ECCを付加したデータをメモリに書き込む。そして、パケット中継装置は、メモリから読み出したデータのエラーをチェックし、エラーが検出された場合、検出されたエラーを修正し、修正したデータを出力する。なお、図7は、ECC回路を用いたエラー修正を説明するための図である。 For example, as a technique for correcting a data read error, there is a technique using an ECC (Error Correcting Code) circuit. As shown in FIG. 7, the packet relay apparatus having the ECC circuit adds ECC to the input data and writes the data with the ECC added to the memory. Then, the packet relay apparatus checks an error in the data read from the memory, and when an error is detected, corrects the detected error and outputs the corrected data. FIG. 7 is a diagram for explaining error correction using an ECC circuit.
しかしながら、上記したECC回路を用いてエラーを修正する技術では、1bitのエラーは修正することができるが、2bit以上のエラーは修正することができない。したがって、パケットをセグメント化して管理するパケット中継装置では、2bit以上のエラーが発生し、修正できない状況に陥った場合、エラー発生以降のパケットの組み立て順序が分からなくなり、継続動作が不可能になる。 However, in the technique of correcting an error using the above-described ECC circuit, a 1-bit error can be corrected, but an error of 2 bits or more cannot be corrected. Accordingly, in a packet relay apparatus that manages packets by segmenting them, when an error of 2 bits or more occurs and the situation cannot be corrected, the assembly order of the packets after the occurrence of the error is not known, and the continuous operation becomes impossible.
そこで、2bit以上のエラーが発生した場合であっても対応可能である記憶装置として、メモリを二重化することにより、データを二重に記憶する記憶装置が知られている(例えば、特許文献1参照)。具体的には、データを二重に記憶する記憶装置は、図8に示すように、メモリに0面および1面の2つの記憶領域を設け、0面および1面のそれぞれに同一のデータを書き込む。そして、記憶装置は、読み出し制御部によって2つの記憶領域からデータを読み出す際に、まず、セレクタによってどちらか一方の領域を選択し、選択した領域からデータを読み出し、FF(flip flop)を介してエラーチェックを行う。そして、エラーが検出されなかった場合、読み出し制御部は、FFに保持していたデータを出力する。 Therefore, as a storage device that can handle even when an error of 2 bits or more occurs, a storage device that stores data in duplicate by duplicating the memory is known (for example, see Patent Document 1). ). Specifically, as shown in FIG. 8, in the storage device that stores data twice, the memory has two storage areas of 0 and 1 planes, and the same data is stored on each of the 0 and 1 planes. Write. When reading data from the two storage areas by the read control unit, the storage device first selects one of the areas by the selector, reads the data from the selected area, and passes through the FF (flip flop). Perform error checking. If no error is detected, the read control unit outputs the data held in the FF.
一方、エラーが検出された場合、読み出し制御部は、再度、他方の領域からデータを読み出し、上述した処理を実行した後、データを出力する。なお、図8は、メモリの二重化を説明するための図である。 On the other hand, when an error is detected, the read control unit reads data from the other area again, executes the above-described processing, and then outputs the data. FIG. 8 is a diagram for explaining memory duplication.
ところで、上記したデータを二重に記憶する技術では、エラーが検出された場合、再度データを読み出す処理が必要になるので、高速動作が困難となる。具体的には、読み出し制御部は、処理を同期させるための信号であるCLK(Clock)信号の立ち上がり周期に合わせて、メモリに対して読み出しアドレスを順次入力する。例えば、読み出し制御部は、図9に示すように、CLK1の立ち上がりに合わせて、0面からデータを読み出すための読み出しアドレスである0面アドレス1を入力する。また、読み出し制御部は、図9に示すように、CLK2や3などの立ち上がりに合わせて、0面アドレス2〜1面アドレス2をメモリに対して順次入力する。
By the way, with the above-described technique for storing data twice, when an error is detected, it is necessary to perform a process of reading data again, so that high-speed operation becomes difficult. Specifically, the read control unit sequentially inputs read addresses to the memory in accordance with a rising cycle of a CLK (Clock) signal that is a signal for synchronizing processing. For example, as shown in FIG. 9, the read control unit inputs a 0-
そして、入力された読み出しアドレスに対応するデータが、読み出しアドレスの入力が行われたCLKの次のCLKの立ち上がりに合わせて、メモリから出力される。例えば、図9に示すように、0面アドレス1に対応する0面data1が、CLK2の立ち上がりに合わせて、メモリの0面から出力される。また、図9に示すように、0面アドレス2〜1面アドレス2に対応する0面data2〜1面data2が、CLK3や4などの立ち上がりに合わせて、メモリから順次出力される。
Then, data corresponding to the input read address is output from the memory in synchronization with the rising edge of CLK next to the CLK to which the read address is input. For example, as shown in FIG. 9, the 0 plane data1 corresponding to the 0
そののち、読み出し制御部は、データの出力が行われたCLKの次のCLKの立ち上がりに合わせて、データのパリティエラーをチェックする。例えば、読み出し制御部は、図9に示すように、CLK3の立ち上がりに合わせて、0面data1のパリティエラーをチェックする。また、読み出し制御部は、図9に示すように、CLK4や5の立ち上がりに合わせて、各データのパリティエラーを順次チェックする。 After that, the read control unit checks the parity error of the data in synchronization with the rising edge of the next CLK after the data is output. For example, as shown in FIG. 9, the read control unit checks the parity error of the 0 plane data1 at the rising edge of CLK3. Further, as shown in FIG. 9, the read control unit sequentially checks the parity error of each data in accordance with the rising edge of CLK4 or 5.
すなわち、読み出し制御部がメモリからデータを読み出し、読み出したデータのパリティエラーのチェックが終了するまでには、CLK2周期分の時間が必要である。なお、図9は、二重化したメモリからのデータ読み出しを説明するためのタイムチャートであり、図中に示したPTYは、パリティを示している。 That is, it takes a period of two CLK cycles until the read control unit reads data from the memory and the parity error check of the read data is completed. FIG. 9 is a time chart for explaining data reading from the duplicated memory, and PTY shown in the drawing indicates parity.
ここで、パリティエラーのチェックにおいて、エラーが検出された場合、読み出し制御部は、パリティエラーのチェックを行ったCLKの次のCLKの立ち上がりに合わせて、もう一方の記憶領域に対して読み出しアドレスを入力する。例えば、0面アドレス2に対応する0面data2にエラーが検出された場合、読み出し制御部は、図9に示すように、CLK5の立ち上がりに合わせて、1面に記憶されているデータを読み出すための読み出しアドレスである1面アドレス2を入力する。そして、上述したように、データの出力およびパリティエラーのチェックが、CLKの立ち上がり周期に合わせて実行される。
Here, when an error is detected in the parity error check, the read control unit assigns a read address to the other storage area in synchronization with the rising edge of the next CLK after the parity error check. input. For example, when an error is detected in the 0
したがって、一方の記憶領域から読み出したデータにパリティエラーが検出された後、他方の記憶領域からデータを読み出し、読み出したデータのパリティエラーのチェックが終了するまでにCLK3周期分の時間が必要となる。 Therefore, after a parity error is detected in the data read from one storage area, it takes time for three CLK cycles until the data is read from the other storage area and the parity error check of the read data is completed. .
すなわち、上記した従来の技術では、正確な読み出し処理を高速で行うことができないという課題があった。なお、パケット中継装置のみならず、正確な動作を高速で行うことが求められる装置が有する記憶装置であるならば、上述したように、正確な読み出し処理を高速で行うことができないという同様の課題があった。 That is, the above-described conventional technique has a problem that accurate read processing cannot be performed at high speed. In addition, if the storage device is not only a packet relay device but also a device that is required to perform an accurate operation at a high speed, as described above, the same problem that an accurate read process cannot be performed at a high speed. was there.
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、正確な読み出し処理を高速で行うことが可能となる記憶装置およびパケット中継装置を提供することを目的とする。 Accordingly, the present invention has been made to solve the above-described problems of the prior art, and an object thereof is to provide a storage device and a packet relay device capable of performing accurate read processing at high speed. .
上述した課題を解決し、目的を達成するため、この装置は、記憶部が、第一の領域および第二の領域それぞれにデータを記憶する。そして、データ読み出し処理部が、第一のクロック信号の立ち上がり周期に同調して前記第一の領域に記憶されているデータを読み出すとともに、当該第一のクロック信号と立ち上がり間隔が同一である第二のクロック信号の立ち上がり周期に同調して前記第二の領域に記憶されているデータを読み出す。そして、検出部が、前記データ読み出し処理部によって読み出されたデータそれぞれのパリティエラーの有無を検出し、データ出力部が、前記検出部による検出結果に基づいて、パリティエラーが検出されなかったデータを所定の出力部に出力することを要件とする。 In order to solve the above-described problems and achieve the object, in this apparatus, the storage unit stores data in each of the first area and the second area. The data read processing unit reads out the data stored in the first area in synchronization with the rising cycle of the first clock signal, and the rising interval is the same as that of the first clock signal. The data stored in the second area is read in synchronization with the rising cycle of the clock signal. The detection unit detects the presence / absence of a parity error in each of the data read by the data read processing unit, and the data output unit detects the data in which no parity error is detected based on the detection result by the detection unit. Is output to a predetermined output unit.
開示の装置は、正確な読み出し処理を高速で行うことが可能となる。 The disclosed apparatus can perform accurate reading processing at high speed.
以下に添付図面を参照して、本願の開示する記憶装置およびパケット中継装置の実施例を詳細に説明する。なお、以下では、本願の開示する記憶装置が組み込まれたパケット中継装置を実施例として説明する。 Exemplary embodiments of a storage device and a packet relay device disclosed in the present application will be described below in detail with reference to the accompanying drawings. In the following, a packet relay device incorporating a storage device disclosed in the present application will be described as an example.
[実施例1におけるパケット中継装置の概要および特徴]
まず最初に、図1−1および図1−2を用いて、実施例1におけるパケット中継装置の概要および特徴を説明する。図1−1は、実施例1におけるパケット中継装置の概要を説明するための図であり、図1−2は実施例1におけるパケット中継装置の特徴を説明するための図である。
[Outline and Features of Packet Relay Device in Embodiment 1]
First, the outline and features of the packet relay apparatus according to the first embodiment will be described with reference to FIGS. 1-1 and 1-2. 1-1 is a diagram for explaining an outline of the packet relay device according to the first embodiment, and FIG. 1-2 is a diagram for explaining features of the packet relay device according to the first embodiment.
実施例1におけるパケット中継装置は、パケットデータ(以下、データと記す)に含まれる送信先情報に基づいて、データを送信先へ転送する装置であり、CLK(Clock)信号に同期して、データ転送における各種処理を実行することを概要とする。 The packet relay apparatus according to the first embodiment is an apparatus that transfers data to a transmission destination based on transmission destination information included in packet data (hereinafter referred to as data), and is synchronized with a CLK (Clock) signal. The outline is to execute various processes in the transfer.
具体的には、実施例1におけるパケット中継装置は、図1−1の(A)に示すように、データ転送における各種処理をCLKの立ち上がりに合わせて実行するパケット処理部を有する。パケット処理部は、図1−1の(A)に示すように、CLKの立ち上がりに合わせて、入力されたデータをメモリに書き込む「書き込み処理部」と、CLKの立ち上がりに合わせて、メモリに書き込まれたデータを読み出して出力する「読み出し処理部」とを有する。 Specifically, as illustrated in FIG. 1-1A, the packet relay apparatus according to the first embodiment includes a packet processing unit that executes various processes in data transfer at the rising edge of CLK. As shown in FIG. 1-1A, the packet processing unit writes “input processing data” to the memory at the rising edge of CLK, and writes it to the memory at the rising edge of CLK. A “read processing unit” that reads and outputs the read data.
ここで、実施例1におけるパケット中継装置には、図1−1の(A)に示すように、0面と1面との2つの記憶領域を有するメモリが組み込まれている。例えば、実施例1におけるパケット中継装置には、DDR(Double Data Rate)メモリが組み込まれている。 Here, as shown in FIG. 1-1A, the packet relay apparatus according to the first embodiment incorporates a memory having two storage areas of the 0-plane and the 1-plane. For example, the packet relay apparatus according to the first embodiment incorporates a DDR (Double Data Rate) memory.
書き込み処理部は、CLKの立ち上がりに合わせて、入力されたデータを0面と1面とにそれぞれ書き込む。 The write processing unit writes the input data to the 0th and 1st planes at the rising edge of CLK.
また、読み出し処理部は、CLKの立ち上がりに合わせて、0面と1面とからデータをそれぞれ読み出す。 Further, the read processing unit reads data from the 0th and 1st planes at the rising edge of CLK, respectively.
そして、読み出し処理部は、CLKの立ち上がりに合わせて、0面および1面それぞれから読み出したデータのパリティエラーをチェックし、パリティエラーが検出されなかったデータを出力する。 Then, the read processing unit checks the parity error of the data read from each of the 0th and 1st planes at the rising edge of CLK, and outputs data for which no parity error has been detected.
なお、パケット処理部は、図1−1の(B)に示すように、同一の時間間隔で立ち上がるCLK(CLK1、CLK2、CLK3、CLK4およびCLK5)に合わせて書き込み処理、読み出し処理、パリティエラー検出処理、出力処理を実行する。 The packet processing unit performs write processing, read processing, and parity error detection in synchronization with CLK (CLK1, CLK2, CLK3, CLK4, and CLK5) rising at the same time interval, as shown in FIG. Execute processing and output processing.
ここで、実施例1におけるパケット中継装置は、正確な読み出し処理を高速で行うことが可能となることに主たる特徴がある。この主たる特徴について簡単に説明すると、実施例1におけるパケット中継装置は、図1−2の(A)に示すように、通常のCLK(通常CLK)とともに、通常CLKを反転させた反転CLKを用いて、データ転送における各種処理を実行する。すなわち、実施例1におけるパケット中継装置は、反転CLKの立ち上がりに合わせることにより、通常CLKの立ち下がりに同期して処理を実行することとなる。 Here, the packet relay apparatus according to the first embodiment is mainly characterized in that accurate read processing can be performed at high speed. Briefly explaining this main feature, the packet relay apparatus according to the first embodiment uses the normal CLK (normal CLK) and the inverted CLK obtained by inverting the normal CLK, as shown in FIG. Various processes in data transfer are executed. That is, the packet relay apparatus according to the first embodiment executes processing in synchronization with the falling edge of the normal CLK by matching the rising edge of the inverted CLK.
まず、書き込み処理部は、入力されたデータのbit列(以下、通常データと記す)を反転した反転データを生成する。例えば、書き込み処理部は、図1−2の(A)に示すように、通常データ「bit列:11010」が入力された場合、反転データ「bit列:00101」を生成する。 First, the write processing unit generates inverted data obtained by inverting a bit string of input data (hereinafter referred to as normal data). For example, as illustrated in FIG. 1A, when the normal data “bit string: 11010” is input, the write processing unit generates inverted data “bit string: 00101”.
そして、書き込み処理部は、通常CLKの立ち上がりに合わせて0面に通常データを書き込み、反転CLKの立ち上がりに合わせて1面に反転データを書き込む。なお、0面と1面とには、同一のアドレスが割り当てられている。例えば、書き込み処理部は、図1−2の(A)に示す通常CLK1の立ち上がりに合わせて通常データ「bit列:11010」の最初の「1」をメモリの0面に書き込む。そして、書き込み処理部は、反転CLK1の立ち上がりに合わせて反転データ「bit列:00101」の最初の「0」をメモリの1面に書き込む。すなわち、書き込み処理部は、CLK1周期分の時間で2つのデータを0面および1面それぞれに書き込む。 Then, the write processing unit writes normal data on the 0 side in accordance with the rising edge of the normal CLK, and writes the inverted data on the 1 side in accordance with the rising edge of the inverted CLK. The same address is assigned to the 0th and 1st surfaces. For example, the write processing unit writes the first “1” of the normal data “bit string: 11010” to the 0th surface of the memory in synchronization with the rising edge of the normal CLK1 shown in FIG. Then, the write processing unit writes the first “0” of the inverted data “bit string: 00101” to one surface of the memory in synchronization with the rising edge of the inverted CLK1. In other words, the write processing unit writes two data on the 0th and 1st surfaces in a time corresponding to one CLK cycle.
同様に、書き込み処理部は、通常CLK2〜5の立ち上がりに合わせて残りの通常データ「1010」を順次0面に書き込み、反転CLK2〜5の立ち上がりに合わせて残りの反転データ「0101」を順次1面に書き込む。これにより、書き込み処理部は、図1−2の(A)に示すように、通常データと反転データとを合成した合成データのbit列「1010011001」を同一アドレスが割り当てられた2つの記憶領域に分離して書き込む。
Similarly, the write processing unit sequentially writes the remaining normal data “1010” on the 0 plane in accordance with the rising edges of the
読み出し処理部は、同一アドレスが割り当てられた2つの記憶領域に分離して格納されている合成データを読み出す。具体的には、読み出し処理部は、通常CLKの立ち上がりに合わせてメモリの0面から通常データを読み出し、反転CLKの立ち上がりに合わせて、メモリの1面から反転データを読み出す。 The read processing unit reads the composite data stored separately in the two storage areas to which the same address is assigned. Specifically, the read processing unit reads the normal data from the 0th surface of the memory at the rising edge of the normal CLK, and reads the inverted data from the 1st surface of the memory at the rising edge of the inverted CLK.
例えば、読み出し処理部は、同一アドレスが割り当てられたメモリの0面および1面に分離して格納している合成データ「bit列:1010011001」を読み出す場合、図1−2の(B)に示すように、通常CLK1〜5の立ち上がりに合わせて、合成データの通常データを0面から順次読み出す。また、読み出し処理部は、図1−2の(B)に示すように、反転CLK1〜5の立ち上がりに合わせて、合成データの反転データを1面から順次読み出す。 For example, when the read processing unit reads the composite data “bit string: 101001001” stored separately on the 0th and 1st surfaces of the memory to which the same address is assigned, the read processing unit is illustrated in FIG. As described above, the normal data of the composite data is sequentially read from the 0 plane in synchronization with the rising edges of the normal CLK1 to CLK5. Further, as illustrated in FIG. 1-2B, the read processing unit sequentially reads the inverted data of the composite data from one surface in accordance with the rise of the inversion CLK1 to CLK5.
そして、読み出し処理部は、読み出したデータに予め付与されているパリティビットを用いてパリティエラーのチェックを実行する。例えば、読み出し処理部は、図1−2の(B)に示すように、メモリの0面から読み出した0面読み出しデータのパリティエラーを通常CLK2〜6の立ち上がりに合わせて順次チェックする。 Then, the read processing unit performs a parity error check using a parity bit previously assigned to the read data. For example, as shown in FIG. 1-2B, the read processing unit sequentially checks the parity error of the 0-plane read data read from the 0-plane of the memory in accordance with the rising edge of the normal CLK 2-6.
また、読み出し処理部は、メモリの1面から読み出したデータについては、bit列を反転させたのち、パリティエラーをチェックする。例えば、パケット処理部は、図1−2の(B)に示すように、メモリの1面から読み出した1面読み出しデータ「bit列:00101」を反転させた「bit列:11010」のパリティエラーを反転CLK2〜6の立ち上がりに合わせて、チェックする。 The read processing unit checks the parity error for the data read from one surface of the memory after inverting the bit string. For example, the packet processing unit, as shown in FIG. 1-2B, shows a parity error of “bit string: 11010” obtained by inverting one-side read data “bit string: 00101” read from one face of the memory. Is checked at the rising edge of inversion CLK2-6.
そして、パケット処理部は、0面読み出しデータと1面読み出しデータとを比較して、エラーが発生したbitを正常なbitに切り替えたデータを所定の出力部に出力する。例えば、仮に、図1−2の(B)に示すように、通常CLK5のパリティエラーのチェックにおいて、0面読み出しデータの4番目のbitが「1」から「0」になったことによりパリティエラーが検出されたとする。また、図1−2の(B)に示すように、反転CLK5のパリティエラーのチェックにおいて、パリティエラーが検出されなかったとする。 Then, the packet processing unit compares the 0-plane read data and the 1-plane read data, and outputs data in which the bit in which the error has occurred is switched to a normal bit to a predetermined output unit. For example, as shown in FIG. 1-2B, a parity error is caused by the fact that the fourth bit of the 0-plane read data is changed from “1” to “0” in the parity error check of normal CLK5. Is detected. Further, as shown in FIG. 1-2B, it is assumed that no parity error is detected in the parity error check of the inverted CLK5.
上記した場合、パケット処理部は、図1−2の(B)に示すように、通常CLK6の立ち上がりに合わせて、0面読み出しデータ「bit列:11000」の4番目の「0」を1面読み出しデータ「bit列:11010」の4番目の「1」に切り替える。そして、パケット処理部は、エラーが発生したbitを正常なbitに切り替えた出力データ「bit列:11010」を所定の出力部に出力する。 In the above case, as shown in FIG. 1-2 (B), the packet processing unit normally sets the fourth “0” of the 0-plane read data “bit string: 11000” in synchronization with the rising edge of CLK6. The read data “bit string: 11010” is switched to the fourth “1”. Then, the packet processing unit outputs the output data “bit string: 11010” obtained by switching the bit in which the error has occurred to a normal bit to a predetermined output unit.
なお、パケット処理部は、「0面読み出しデータ:正常、1面読み出しデータ:正常」、「0面読み出しデータ:正常、1面読み出しデータ:エラー」および「0面読み出しデータ:エラー、1面読み出しデータ:エラー」の場合、0面読み出しデータを所定の出力部に出力する。また、上記したように、パケット処理部は、「0面読み出しデータ:エラー、1面読み出しデータ:正常」の場合、1面読み出しデータを所定の出力部に出力する。 Note that the packet processing unit includes “0-side read data: normal, 1-side read data: normal”, “0-side read data: normal, 1-side read data: error” and “0-side read data: error, 1-side read”. In the case of “data: error”, the 0-plane read data is output to a predetermined output unit. Further, as described above, the packet processing unit outputs the one-side read data to the predetermined output unit when “0-side read data: error, one-side read data: normal”.
また、パケット処理部は、パリティエラーチェック後のデータの切り替えを通常CLKの立ち上がりに合わせて実行する。 The packet processing unit executes data switching after the parity error check in accordance with the rising edge of the normal CLK.
このようなことから、実施例1におけるパケット中継装置は、CLK1周期分の時間で、エラーが検出されたbitを正常なbitに切り替えることができ、上記した主たる特徴の通り、正確な読み出し処理を高速で行うことが可能となる。 For this reason, the packet relay apparatus according to the first embodiment can switch a bit in which an error is detected to a normal bit in a time corresponding to one CLK cycle, and performs an accurate read process as described above. It can be performed at high speed.
[実施例1におけるパケット中継装置の構成]
次に、図2を用いて、実施例1におけるパケット中継装置の構成を説明する。図2は、実施例1におけるパケット中継装置の構成を説明するためのブロック図である。
[Configuration of Packet Relay Device in First Embodiment]
Next, the configuration of the packet relay apparatus according to the first embodiment will be described with reference to FIG. FIG. 2 is a block diagram for explaining the configuration of the packet relay apparatus according to the first embodiment.
図2に示すように、実施例1におけるパケット中継装置10は、メモリ20と、パケット処理部30と、入力用I/F40と、出力用I/F41とを有する。
As illustrated in FIG. 2, the
入力用I/F40は、図示しないネットワークを介して入力されたパケットデータ(以下、データと記す)をパケット処理部30に出力する。
The input I /
出力用I/F41は、パケット処理部30が出力したデータを、図示しないネットワークを介して接続されている送信先に出力する。
The output I /
メモリ20は、入力用I/F40を介して入力されたデータを記憶し、特に本実施例に密接に関連するものとしては、図2に示すように、0面21と、1面22との2つの記憶領域を有する。ここで、0面と1面には、同一アドレスが割り振られている。
The
0面21は、入力用I/F40を介して入力されたデータのbit列(以下、通常データと記す)を記憶する。
The 0
1面22は、後述するパケット処理部30によって通常データが反転された反転データを記憶する。
The
パケット処理部30は、データ転送における各種処理を実行し、特に本実施例に密接に関係するものとしては、書き込み処理部50と、読み出し処理部60とを有する。
The
書き込み処理部50は、入力用I/F40を介して入力されたデータをメモリ20に対して書き込む処理を実行し、特に本実施例に密接に関係するものとしては、CLK発生部51と、CLK反転部52と、入力データ反転部53と、セレクタ54とを有する。
The
CLK発生部51は、パケット処理部30における各種処理を同期させるための信号であるCLK(以下、通常CLKと記す)を発生する。例えば、CLK発生部51は、図1−2の(A)に示す通常CLKを発生する。
The
CLK反転部52は、CLK発生部51が発生した通常CLKを反転し、通常CLKを反転CLKに変換する。例えば、CLK反転部52は、図1−2の(A)に示すように、通常CLKを反転して、反転CLKに変換する。
The
入力データ反転部53は、入力用I/F40を介して入力された通常データのbit列を反転させた反転データを生成し、生成した反転データを後述するセレクタ54に送信する。例えば、通常データ「bit列:11010」が入力された場合、入力データ反転部53は、反転データ「bit列:00101」を生成し(図1−2の(A)参照)、生成した反転データ「bit列:00101」を後述するセレクタ54に送信する。
The input
セレクタ54は、入力用I/F40を介して入力された通常データと、入力データ反転部53から受信した反転データとを合成した合成データを、同一アドレスが割り当てられたメモリ20の0面21および1面22に分離して格納する。具体的には、セレクタ54は、合成データの通常データを通常CLKの立ち上がりに合わせて0面21に格納し、合成データの反転データを反転CLKの立ち上がりに合わせて1面22に格納する。
The
例えば、通常データ「bit列:11010」および反転データ「bit列:00101」を受信した場合、セレクタ54は、通常データと反転データとを合成データ「bit列:1010011001」に合成する(図1−2の(A)参照)。そして、セレクタ54は、CLK発生部51が発生させた通常CLKの立ち上がりに合わせて、合成データの通常データをメモリ20の0面21に格納する。例えば、セレクタ54は、通常CLK1〜5の立ち上がりに合わせて、合成データ「bit列:1010011001」の通常データ「bit列:11010」を順次0面21に格納する(図1−2の(A)参照)。
For example, when the normal data “bit string: 11010” and the inverted data “bit string: 00101” are received, the
また、セレクタ54は、CLK反転部52によって通常CLKが反転された反転CLKの立ち上がりに合わせて、合成データの反転データをメモリ20の1面22に格納する。例えば、セレクタ54は、反転CLK1〜5の立ち上がりに合わせて、合成データ「bit列:1010011001」の反転データ「bit列:00101」を順次1面22に格納する(図1−2の(A)参照)。
Further, the
読み出し処理部60は、0面21および1面22によって分離して記憶された合成データを読み出す読み出し処理を実行し、特に本実施例に密接に関係するものとしては、FF(flip flop)61と、FF62と、1面データ反転部63と、0面検出部64と、1面検出部65と、FF66と、FF67と、セレクタ制御部68と、セレクタ69とを有する。
The
なお、FF61、FF62、FF66およびFF67は、1bitの情報を一時的に保持することができる論理回路であり、読み出し処理部が読み出し処理を実行する際の各種処理をCLKの立ち上がりに同期して行うことを制御する。 Note that FF61, FF62, FF66, and FF67 are logic circuits that can temporarily hold 1-bit information, and perform various processes when the read processing unit executes the read process in synchronization with the rising edge of CLK. To control that.
FF61は、通常CLKの立ち上がりに合わせて、0面21から合成データの通常データを読み出す。例えば、FF61は、通常CLK1〜5の立ち上がりに合わせて、通常データ「bit列:11010」を0面21から順次読み出す(図1−2の(B)参照)。
The
そして、FF61は、読み出し処理を行った次の通常CLKの立ち上がりに合わせて、0面21から読み出した0面読み出しデータを、後述する0面検出部64およびFF66に順次送信する。例えば、FF61は、通常CLKの2〜6の立ち上がりに合わせて、0面読み出しデータ「bit列:11010」を後述する0面検出部64およびFF66に順次送信する(図1−2の(B)参照)。
Then, the
1面データ反転部63は、FF62が読み出した反転データのbit列を、FF62に取り込まれる前に反転させる。例えば、FF62が1面22から「bit列:00101」を読み出した場合、1面データ反転部63は、「bit列:00101」を反転して「bit列:11010」とする。
The one-side
FF62は、反転CLKの立ち上がりに合わせて、1面22から合成データの反転データを読み出す。例えば、FF62は、反転CLK1〜5の立ち上がりに合わせて、合成データの反転データ「bit列:00101」を1面22から順次読み出す(図1−2の(B)参照)。
The FF 62 reads the inverted data of the composite data from the
そして、FF62は、読み出し処理を行った次のCLKの立ち上がりに合わせて、1面22から読み出し、1面データ反転部63によって反転された1面読み出しデータを、後述する1面検出部65およびFF67に送信する。例えば、FF62は、反転CLKの2〜6の立ち上がりに合わせて、一面読み出しデータ「bit列:11010」を後述する1面検出部65およびFF67に順次送信する(図1−2の(B)参照)。
Then, the FF 62 reads the one-side read data read from the
0面検出部64は、FF61から受信した0面読み出しデータに予め付与されたパリティビットを用いてパリティエラーをチェックし、チェック結果を後述するセレクタ制御部68に送信する。例えば、0面検出部64は、0面読み出しデータ「bit列:11010」のパリティエラーをチェックし、チェック結果をセレクタ制御部68に送信する。
The 0-
1面検出部65は、FF62から受信した1面読み出しデータに予め付与されたパリティビットを用いてパリティエラーをチェックし、チェック結果を後述するセレクタ制御部68に送信する。例えば、1面検出部65は、1面読み出しデータ「bit列:11010」のパリティエラーをチェックし、チェック結果を後述するセレクタ制御部68に送信する。
The single-
FF66は、パリティエラーのチェックが実行された通常CLKの次の通常CLKの立ち上がりに合わせて、FF61から受信した0面読み出しデータを、後述するセレクタ69に順次送信する。例えば、FF66は、通常CLKの3〜7の立ち上がりに合わせて、0面読み出しデータ「bit列:11010」を後述するセレクタ69に順次送信する(図1−2の(B)参照)。
The
FF67は、パリティエラーのチェックが実行された反転CLKの次の反転CLKの立ち上がりに合わせて、FF62から受信した1面読み出しデータを、後述するセレクタ69に順次送信する。例えば、FF67は、通常CLKの3〜7の立ち上がりに合わせて、1面読み出しデータ「bit列:11010」を後述するセレクタ69に順次送信する(図1−2の(B)参照)。
The
セレクタ制御部68は、0面検出部64および1面検出部65から受信したチェック結果に基づいて、パリティエラーが検出されなかったデータを、後述するセレクタ69が取り込むように制御する。具体的には、セレクタ制御部68は、図3に示すように、0面読み出しデータのチェック結果が「正常」であり、1面読み出しデータのチェック結果が「正常」であった場合、0面読み出しデータを出力データとして取り込むようにセレクタ69を制御する。
Based on the check results received from the 0-
また、セレクタ制御部68は、図3に示すように、「0面:エラー、1面:正常」であった場合、または、「0面:正常、1面:エラー」であった場合、それぞれ正常であった「1面」または「0面」のデータを出力データとして取り込むようにセレクタ69を制御する。
Further, as shown in FIG. 3, the
また、セレクタ制御部68は、図3に示すように、「0面」および「1面」が共に「エラー」であった場合、「0面」のデータを出力データとして取り込むようにセレクタ69を制御するとともに、エラー信号を出力用I/F41に出力する。
In addition, as shown in FIG. 3, when both “0” and “1” are “errors”, the
例えば、図1−2の(B)に示す通常CLK5のパリティエラーのチェックにおいて、0面21から読み出した読み出しデータの4番目のbitが「1」から「0」になったことによりエラーが検出されたとする。また、図1−2の(B)に示すように、反転CLK5のパリティエラーのチェックにおいて、パリティエラーが検出されなかったとする。上記した場合、セレクタ制御部68は、図1−2の(B)に示すように、通常CLK6の立ち上がりに合わせて、FF66から送信された0面読み出しデータ「bit列:11000」の4番目の「0」を取り込まないようにセレクタ69を制御する。そして、セレクタ制御部68は、FF67から送信された1面読み出しデータ「bit列:11010」の4番目の「1」を出力データとして取り込むようにセレクタ69を制御する。
For example, in the normal CLK5 parity error check shown in FIG. 1-2B, an error is detected when the fourth bit of the read data read from the 0
セレクタ69は、FF66またはFF67から取り込んだ出力データを、出力用I/F41に出力する。例えば、セレクタ69は、出力データ「bit列:11010」を、出力用I/F41に出力する。
The
[実施例1におけるパケット中継装置による処理の手順]
次に、図4および図5を用いて、実施例1におけるパケット中継装置による処理を説明する。図4は、実施例1におけるパケット中継装置による書き込み処理の手順を説明するための図であり、図5は、実施例1におけるパケット中継装置による読み出し処理の手順を説明するための図である。
[Processing Procedure by Packet Relay Device in First Embodiment]
Next, processing performed by the packet relay apparatus according to the first embodiment will be described with reference to FIGS. 4 and 5. FIG. 4 is a diagram for explaining the procedure of the writing process by the packet relay device in the first embodiment, and FIG. 5 is a diagram for explaining the procedure of the reading process by the packet relay device in the first embodiment.
[実施例1におけるパケット中継装置による書き込み処理の手順]
図4に示すように、実施例1におけるパケット中継装置10は、入力用I/F40を介してパケットデータ(データ)が入力されると(ステップS101肯定)、入力データ反転部53は、入力されたデータを反転した反転データを生成する(ステップS102)。
[Procedure for Write Processing by Packet Relay Device in Embodiment 1]
As shown in FIG. 4, when packet data (data) is input to the
そして、セレクタ54は、入力用I/F40を介して入力された通常データと入力データ反転部53によって生成された反転データとを合成する(ステップS103)。
Then, the
そののち、セレクタ54は、CLK発生部51によって発生された通常CLKの立ち上がりに合わせて、通常データと反転データとを合成した合成データの通常データをメモリ20の0面21に格納する(ステップS104)。
After that, the
さらに、セレクタ54は、CLK反転部52によって変換された反転CLKの立ち上がりに合わせて、合成データの反転データをメモリ20の1面22に格納し(ステップS105)、未格納bitが残っているか否かの判定を行う(ステップS106)。
Further, the
ここで、未格納bitが残っていた場合(ステップS106肯定)、セレクタ54は、ステップS104に戻って、通常CLKの立ち上がりに合わせて、合成データの通常データを0面21に格納する。
Here, when an unstored bit remains (Yes at Step S106), the
一方、未格納bitがない場合(ステップS106否定)、セレクタ54は、処理を終了する。
On the other hand, when there is no unstored bit (No at Step S106), the
[実施例1におけるパケット中継装置による読み出し処理の手順]
図5に示すように、実施例1におけるパケット中継装置10は、所定の読み出し時期になった場合(ステップS201肯定)、FF61は、通常CLKの立ち上がりに合わせて、合成データの通常データを0面21から読み出す(ステップS202)。例えば、実施例1におけるパケット中継装置は、書き込み処理によりデータがメモリ20に格納された場合、FF61は、データが格納された次の通常CLKの立ち上がりに合わせて、合成データの通常データを0面21から読み出す。
[Procedure for Read Processing by Packet Relay Device in Embodiment 1]
As illustrated in FIG. 5, when the
そして、FF62は、反転CLKの立ち上がりに合わせて、合成データの反転データを1面22から読み出す(ステップS203)。ここで、1面データ反転部63は、FF62によって読み出された反転データを、FF62に取り込まれる前に反転する(ステップS204)。
Then, the FF 62 reads the inverted data of the composite data from the
そして、0面検出部64は、FF61が読み出し処理を行った通常CLKの次の通常CLKの立ち上がりに合わせて、0面読み出しデータのパリティエラーのチェックをする(ステップS205)。
Then, the 0-
また、1面検出部65は、FF62が読み出し処理を行った反転CLKの次の反転CLKの立ち上がりに合わせて、1面読み出しデータのパリティエラーのチェックをする(ステップS206)。
Further, the single-
そののち、セレクタ制御部68は、0面検出部64および1面検出部65によって実行されたパリティエラーのチェック結果に基づいて、パリティチェックを行ったCLKの次のCLKの立ち上がりに合わせて、出力データを決定する(ステップS207)。具体的には、セレクタ制御部68は、図3に示すように、0面読み出しデータのチェック結果が「正常」であり、1面読み出しデータのチェック結果が「正常」であった場合、0面読み出しデータを出力データとして決定する。
After that, the
また、セレクタ制御部68は、図3に示すように、「0面:エラー、1面:正常」であった場合、または、「0面:正常、1面:エラー」であった場合、それぞれ正常であった「1面」または「0面」のデータを出力データとして決定する。
Further, as shown in FIG. 3, the
また、セレクタ制御部68は、図3に示すように、「0面」および「1面」が共に「エラー」であった場合、「0面」のデータを出力データとして決定する。なお、セレクタ制御部68は、「0面」および「1面」が共に「エラー」であった場合、エラー信号を出力用I/F41に出力する。
Further, as shown in FIG. 3, when both “0” and “1” are “error”, the
そして、セレクタ制御部68は、上記した方法に基づいて決定した出力データをセレクタ69に取り込ませる。
Then, the
そののち、セレクタ69は、取り込んだ出力データを出力用I/F41に出力する(ステップS208)。
After that, the
なお、上記した手順は、読み出しデータのすべてのbitに対して順次実行される。 The above-described procedure is sequentially executed for all the bits of the read data.
[実施例1の効果]
上記したように、実施例1によれば、メモリ20の0面21および1面22は、それぞれにデータを記憶する。そして、読み出し処理部60は、通常CLKの立ち上がりに同期して0面21に記憶されているデータを読み出すとともに、通常CLKと立ち上がり周期が同一であるCLKの立ち上がりに同期して1面22に記憶されているデータを読み出す。そして、0面検出部64は、0面21から読み出された0面読み出しデータのパリティエラーをチェックし、1面検出部65は、1面22から読み出された1面読み出しデータのパリティエラーをチェックする。そして、セレクタ制御部68は、0面検出部64および1面検出部65のパリティエラーのチェック結果に基づいて、パリティエラーが検出されなかったデータをセレクタ69に取り込ませる。従って、エラー検出後の再読み出しが不要となり、エラーが検出されたすべてのbitを、エラー検出後CLK1周期分の時間で正常なbitに切り替えることができ、正確な読み出し処理を高速で行うことが可能となる。
[Effect of Example 1]
As described above, according to the first embodiment, the 0
また、実施例1によれば、読み出し処理部60は、通常CLKの立ち上がりに同期して0面21に記憶されているデータを読み出すとともに、通常CLKを反転した反転CLKの立ち上がりに同期して1面22に記憶されているデータを読み出す。従って、CLK1周期分の時間で2回の処理を実行することができ、正確な読み出し処理をより高速で行うことが可能となる。
Further, according to the first embodiment, the
また、実施例1によれば、メモリ20の0面21および1面22は、同一のアドレスが割り当てられている。従って、同一CLKの立ち上がりおよび立ち下がりに合わせて、2つの記憶領域にアクセスすることができ、短時間で2つのデータを読み出すことが可能となる。
Further, according to the first embodiment, the same address is assigned to the 0
また、実施例1によれば、書き込み処理部50は、通常CLKの立ち上がりに同期して通常データを0面21に書き込むとともに、反転CLKの立ち上がりに同期して反転データを1面22に書き込む。そして、1面データ反転部63は、1面検出部65によるパリティエラーのチェックの前に、1面読み出しデータを反転させ、1面検出部65は、1面データ反転部63によって反転された1面読み出しデータのパリティエラーをチェックする。そして、セレクタ制御部68は、0面検出部64および1面検出部65のパリティエラーのチェック結果に基づいて、パリティエラーが検出されなかったデータをセレクタ69に取り込ませる。従って、メモリの内部故障などによって発生するようなbitの固定状態をエラーとして判断することができ、管理者に対して即座に装置の異常を通知することが可能となる。
Further, according to the first embodiment, the
さて、これまで実施例1について説明したが、上述した実施例1以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、種々の異なる実施例を(1)〜(3)に区分けして説明する。 Although the first embodiment has been described above, the present invention may be implemented in various different forms other than the first embodiment described above. Therefore, in the following, various different embodiments will be described by being divided into (1) to (3).
(1)対象データ
上記した例では、書き込み処理および読み出し処理が行われるデータとして、パケットデータを用いる場合について説明したが、本実施例はこれに限定するものではなく、例えば、パケットデータをチェーン管理するためのポインタアドレスを用いる場合であってもよい。以下に、変形例としてポインタアドレスの一例を記す。なお。ポインタアドレスとしては、メモリにおけるデータの位置情報や格納したデータと連続するデータの位置情報などがある。
(1) Target data In the above-described example, the case where packet data is used as data to be written and read is described. However, the present embodiment is not limited to this. For example, packet data is chain-managed. It is also possible to use a pointer address for this purpose. Hereinafter, an example of a pointer address will be described as a modification. Note that. The pointer address includes data position information in memory and position information of data that is continuous with stored data.
例えば、本願が開示する記憶装置の対象データとして、図6に示すように、通常データ「bit列:11010」および反転データ「bit列:00101」を格納したポインタアドレス「00000000000010100」を用いる場合であってもよい。 For example, as shown in FIG. 6, a pointer address “00000000000010100” storing normal data “bit string: 11010” and inverted data “bit string: 00101” is used as target data of the storage device disclosed in the present application. May be.
すなわち、ポインタアドレス「00000000000010100」と、ポインタアドレスを反転させた反転ポインタアドレス「11111111111101011」とをメモリに二重で格納する場合であってもよい。 That is, the pointer address “00000000000010100” and the inverted pointer address “11111111111101011” obtained by inverting the pointer address may be stored twice in the memory.
これによっても、例えば、データを読み出すごとに必要となるポインタアドレスの読み出しにおいてエラーが検出された場合でも、エラーが検出されたすべてのbitを、エラー検出後CLK1周期分の時間で正常なbitに切り替えることができ、データを廃棄することなく、パケット中継装置を運用することができる。 Also by this, for example, even when an error is detected in the reading of the pointer address required every time data is read, all the bits in which the error is detected are set to normal bits in the time corresponding to one CLK period after the error is detected. The packet relay apparatus can be operated without discarding data.
また、ポインタアドレスの上位側アドレスのように、bitがほとんど変化しないbit列におけるパリティエラーを検出することができ、正常なbit列か、あるいは、部品故障やデータの滞留によるbitの固定状態であるのかを判断することができる。 Further, a parity error can be detected in a bit string in which the bit hardly changes like the upper address of the pointer address, and the bit error is a normal bit string or the bit is fixed due to a component failure or data retention. Can be determined.
(2)実施形態
上記した例では、本願の開示する記憶装置をパケット中継装置に組み込んだ場合について説明したが、本実施例はこれに限定されるものではなく、例えば、科学演算を実行する科学演算装置などに本願の開示する記憶装置を組み込んだ場合であってもよい。
(2) Embodiments In the above-described example, the case where the storage device disclosed in the present application is incorporated in a packet relay device has been described. However, the present embodiment is not limited to this example. The case where the storage device disclosed in the present application is incorporated in an arithmetic device or the like may be used.
(3)システム構成等
また、上記の実施例において説明した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に更新することができる。例えば、実施例1におけるセレクタ制御部68による出力データの決定において、0面読み出しデータおよび1面読み出しデータがともにエラーであった場合、1面読み出しデータを出力データとしてもよい。
(3) System Configuration, etc. Further, the processing procedure described in the above embodiment, specific names, information including various data and parameters can be arbitrarily updated unless otherwise specified. For example, in the determination of output data by the
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示された構成要素と同一であることを要しない。すなわち、各処理部および各記憶部の分散・統合の具体的形態(例えば、図2の形態)は図示のものとは限られない。例えば、入力データ反転部53がセレクタ54に内蔵される場合であってもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
Each component of each illustrated device is functionally conceptual and does not necessarily need to be the same as the physically illustrated component. That is, the specific form (for example, the form of FIG. 2) of the distribution / integration of each processing unit and each storage unit is not limited to that shown in the drawing. For example, the input
以上の本実施例を含む実施形態に関し、更に以下の付記を開示する。 Regarding the embodiment including the above-described embodiment, the following additional notes are disclosed.
(付記1)第一の領域および第二の領域それぞれにデータを記憶する記憶部と、
第一のクロック信号の立ち上がり周期に同調して前記第一の領域に記憶されているデータを読み出すとともに、当該第一のクロック信号と立ち上がり間隔が同一である第二のクロック信号の立ち上がり周期に同調して前記第二の領域に記憶されているデータを読み出すデータ読み出し処理部と、
前記データ読み出し処理部によって読み出されたデータそれぞれのパリティエラーの有無を検出する検出部と、
前記検出部による検出結果に基づいて、パリティエラーが検出されなかったデータを所定の出力部に出力するデータ出力部と
を有したことを特徴とする記憶装置。
(Supplementary Note 1) A storage unit that stores data in each of the first area and the second area;
The data stored in the first area is read in synchronization with the rising cycle of the first clock signal, and is also synchronized with the rising cycle of the second clock signal having the same rising interval as the first clock signal. And a data read processing unit for reading data stored in the second area,
A detection unit for detecting the presence or absence of a parity error for each of the data read by the data read processing unit;
And a data output unit that outputs data on which no parity error has been detected to a predetermined output unit based on a detection result of the detection unit.
(付記2)前記第二のクロック信号は、前記第一のクロック信号が反転されたクロック信号であることを特徴とする付記1に記載の記憶装置。
(Supplementary note 2) The storage device according to
(付記3)前記第一の領域および前記第二の領域は、同一のアドレスが割り当てられていることを特徴とする付記1または2に記載の記憶装置。
(Supplementary note 3) The storage device according to
(付記4)前記データを、前記第一のクロック信号の立ち上がり周期に同調して前記第一の領域に書き込むとともに、当該データを反転させたデータを前記第二のクロック信号の立ち上がり周期に同調して前記第二の領域に書き込むデータ書き込み処理部と、
前記パリティエラーの有無を検出する前に、前記データ読み出し処理部によって前記第二の領域から読み出されたデータを反転させる反転部とをさらに有し、
前記検出部は、前記データ読み出し処理部によって前記第一の領域から読み出されたデータと、前記データ読み出し処理部によって前記第二の領域から読み出されたのちに前記反転部によって反転されたデータとを前記パリティエラーの有無の検出対象とし、
前記データ出力部は、前記検出部によりパリティエラーが検出されなかった検出対象データを所定の出力部に出力することを特徴とする付記1〜3のいずれか一つに記載の記憶装置。
(Supplementary Note 4) The data is written in the first area in synchronization with the rising cycle of the first clock signal, and the inverted data is synchronized with the rising cycle of the second clock signal. A data write processing unit for writing to the second area,
An inversion unit that inverts data read from the second area by the data read processing unit before detecting the presence or absence of the parity error;
The detection unit includes data read from the first area by the data read processing unit and data inverted by the inversion unit after being read from the second area by the data read processing unit. And the detection target of the presence or absence of the parity error,
The storage device according to any one of
(付記5)第一の領域および第二の領域それぞれにパケットデータを記憶する記憶部と、
第一のクロック信号の立ち上がり周期に同調して前記第一の領域に記憶されているパケットデータを読み出すとともに、当該第一のクロック信号と立ち上がり間隔が同一である第二のクロック信号の立ち上がり周期に同調して前記第二の領域に記憶されているパケットデータを読み出すデータ読み出し処理部と、
前記データ読み出し処理部によって読み出されたパケットデータそれぞれのパリティエラーの有無を検出する検出部と、
前記検出部による検出結果に基づいて、パリティエラーが検出されなかったパケットデータを所定の出力部に出力するデータ出力部と
を有したことを特徴とするパケット中継装置。
(Supplementary Note 5) A storage unit that stores packet data in each of the first area and the second area;
The packet data stored in the first area is read in synchronization with the rising cycle of the first clock signal, and at the rising cycle of the second clock signal having the same rising interval as the first clock signal. A data read processing unit that reads packet data stored in the second area in synchronization with each other;
A detection unit for detecting the presence or absence of a parity error in each packet data read by the data read processing unit;
A packet relay apparatus comprising: a data output unit that outputs packet data for which no parity error has been detected to a predetermined output unit based on a detection result by the detection unit.
10 パケット中継装置
20 メモリ
21 0面
22 1面
30 パケット処理部
40 入力用I/F
41 出力用I/F
50 書き込み処理部
51 CLK発生部
52 CLK反転部
53 入力データ反転部
54 セレクタ
60 読み出し処理部
61 FF
62 FF
63 1面データ反転部
64 0面検出部
65 1面検出部
66 FF
67 FF
68 セレクタ制御部
69 セレクタ
10
41 Output I / F
50
60
62 FF
63 1-plane
67 FF
68
Claims (3)
第一のクロック信号の立ち上がり周期に同調して前記第一の領域に記憶されている前記ポインタアドレスを読み出すとともに、当該第一のクロック信号と立ち上がり間隔が同一である第二のクロック信号の立ち上がり周期に同調して前記第二の領域に記憶されている前記ポインタアドレスを読み出すポインタアドレス読み出し処理部と、
前記ポインタアドレス読み出し処理部によって読み出されたポインタアドレスそれぞれのパリティエラーの有無を検出する検出部と、
前記検出部による検出結果に基づいて、パリティエラーが検出されなかったポインタアドレスを所定の出力部に出力するポインタアドレス出力部と
を有したことを特徴とする記憶装置。 A storage unit that stores pointer addresses for chain management of packet data in each of the first area and the second area;
Reads the pointer address stored in the first area in synchronization with the rising cycle of the first clock signal and rises the second clock signal having the same rising interval as the first clock signal. a pointer address read processing unit for reading the pointer address stored in the second region is tuned to,
A detection unit for detecting the presence or absence of a parity error of each pointer address read by the pointer address read processing unit;
On the basis of the detection result by the detection unit, memory device parity error is characterized in that and a pointer address output section for outputting a pointer address that was not detected in the predetermined output unit.
前記パリティエラーの有無を検出する前に、前記ポインタアドレス読み出し処理部によって前記第二の領域から読み出されたポインタアドレスを反転させる反転部とをさらに有し、
前記検出部は、前記ポインタアドレス読み出し処理部によって前記第一の領域から読み出されたポインタアドレスと、前記ポインタアドレス読み出し処理部によって前記第二の領域から読み出されたのちに前記反転部によって反転されたポインタアドレスとを前記パリティエラーの有無の検出対象とし、
前記ポインタアドレス出力部は、前記検出部によりパリティエラーが検出されなかった検出対象のポインタアドレスを所定の出力部に出力することを特徴とする請求項1に記載の記憶装置。 The pointer address is written in the first area in synchronization with the rising cycle of the first clock signal, and the pointer address obtained by inverting the pointer address is synchronized with the rising cycle of the second clock signal. A pointer address write processing unit for writing to the second area;
An inversion unit that inverts the pointer address read from the second area by the pointer address read processing unit before detecting the presence or absence of the parity error;
Wherein the detection unit includes a pointer address read from said first region by said pointer address read processing section, inverted by the inverting unit to then read out from said second region by said pointer address read processing unit And the detected pointer address as a detection target of the presence or absence of the parity error,
It said pointer address output unit, a storage device according to claim 1, characterized in that the output pointer address to be detected a parity error is not detected by the detecting unit to a predetermined output unit.
第一のクロック信号の立ち上がり周期に同調して前記第一の領域に記憶されている前記ポインタアドレスを読み出すとともに、当該第一のクロック信号と立ち上がり間隔が同一である第二のクロック信号の立ち上がり周期に同調して前記第二の領域に記憶されている前記ポインタアドレスを読み出すポインタアドレス読み出し処理部と、
前記ポインタアドレス読み出し処理部によって読み出されたポインタアドレスそれぞれのパリティエラーの有無を検出する検出部と、
前記検出部による検出結果に基づいて、パリティエラーが検出されなかったポインタアドレスを所定の出力部に出力するポインタアドレス出力部と
を有したことを特徴とするパケット中継装置。 A storage unit that stores pointer addresses for chain management of packet data in each of the first area and the second area;
Reads the pointer address stored in the first area in synchronization with the rising cycle of the first clock signal and rises the second clock signal having the same rising interval as the first clock signal. a pointer address read processing unit for reading the pointer address stored in the second region is tuned to,
A detection unit for detecting the presence or absence of a parity error of each pointer address read by the pointer address read processing unit;
On the basis of the detection result by the detection unit, the packet relay apparatus, characterized in that a parity error had a pointer address output section for outputting a pointer address that was not detected in the predetermined output unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009156347A JP5314516B2 (en) | 2009-06-30 | 2009-06-30 | Storage device and packet relay device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009156347A JP5314516B2 (en) | 2009-06-30 | 2009-06-30 | Storage device and packet relay device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011015096A JP2011015096A (en) | 2011-01-20 |
JP5314516B2 true JP5314516B2 (en) | 2013-10-16 |
Family
ID=43593567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009156347A Expired - Fee Related JP5314516B2 (en) | 2009-06-30 | 2009-06-30 | Storage device and packet relay device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5314516B2 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01142960A (en) * | 1987-11-30 | 1989-06-05 | Toshiba Corp | Semiconductor external auxiliary memory device |
JPH04130543A (en) * | 1990-09-20 | 1992-05-01 | Fujitsu General Ltd | Control circuit for memory |
JP3436974B2 (en) * | 1994-06-27 | 2003-08-18 | 三菱電機株式会社 | Redundant memory system |
JP2003273902A (en) * | 2002-03-15 | 2003-09-26 | Hitachi Ltd | Packet communication equipment and method for switching line of packet communication network |
US7130229B2 (en) * | 2002-11-08 | 2006-10-31 | Intel Corporation | Interleaved mirrored memory systems |
-
2009
- 2009-06-30 JP JP2009156347A patent/JP5314516B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011015096A (en) | 2011-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI462108B (en) | Circuit and method for testing multi-device systems | |
KR100837802B1 (en) | Semiconductor Memory Apparatus with Error Detection of Data Input and Output | |
JP5010271B2 (en) | Error correction code generation method and memory control device | |
JP4962060B2 (en) | Parity error recovery circuit | |
KR20150094112A (en) | Semiconductor Memory Apparatus and Operating Method Thereof | |
US20120221903A1 (en) | Testing method, non-transitory, computer readable storage medium and testing apparatus | |
JP5314516B2 (en) | Storage device and packet relay device | |
JP5213061B2 (en) | Mirroring control device, mirroring control circuit, mirroring control method and program thereof | |
JP2010102565A (en) | Duplex controller | |
US8539306B2 (en) | Data processing circuit and data processing method | |
JP2011054221A (en) | Storage device and electronic device | |
JP4292477B2 (en) | Duplex processor unit | |
US7337247B2 (en) | Buffer and method of diagnosing buffer failure | |
JP7485877B2 (en) | Information processing system, processing method, and program | |
JP4921216B2 (en) | Memory control circuit, storage system, information processing apparatus, and memory control method | |
JP4869911B2 (en) | Logic BIST circuit and modulo circuit | |
JP6358122B2 (en) | Microcomputer | |
JPH10340596A (en) | Data storage device and semiconductor memory | |
JP2010140140A (en) | Cache memory control circuit, cache memory device, and cache memory control method | |
RU99624U1 (en) | STORAGE AND TRANSFER OF INFORMATION | |
JP2000099410A (en) | Memory control circuit and information processor | |
JP2011257211A (en) | Signal observation device and signal observation method | |
JP2010140132A (en) | Memory system and memory controller | |
JPH0520215A (en) | Information processor | |
JP2012146167A (en) | Memory error pattern recording system, memory module and memory error pattern recording method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120118 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120924 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130219 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130419 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130702 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130705 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313115 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |