JP5356852B2 - Transmission device and broken link repair method - Google Patents

Transmission device and broken link repair method Download PDF

Info

Publication number
JP5356852B2
JP5356852B2 JP2009024946A JP2009024946A JP5356852B2 JP 5356852 B2 JP5356852 B2 JP 5356852B2 JP 2009024946 A JP2009024946 A JP 2009024946A JP 2009024946 A JP2009024946 A JP 2009024946A JP 5356852 B2 JP5356852 B2 JP 5356852B2
Authority
JP
Japan
Prior art keywords
pointer
bit
storage area
address
candidate
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
Application number
JP2009024946A
Other languages
Japanese (ja)
Other versions
JP2010182086A (en
Inventor
孝之 古川
淳悦 古賀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Fujitsu Telecom Networks Ltd
Original Assignee
Fujitsu Ltd
Fujitsu Telecom Networks Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd, Fujitsu Telecom Networks Ltd filed Critical Fujitsu Ltd
Priority to JP2009024946A priority Critical patent/JP5356852B2/en
Publication of JP2010182086A publication Critical patent/JP2010182086A/en
Application granted granted Critical
Publication of JP5356852B2 publication Critical patent/JP5356852B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Description

この発明は、メモリー空間を小さな領域(以下、セグメントと称す)に区切り、複数のセグメントが連鎖するデータ構造のメモリー(以下、チェーンメモリーと称す)における、複数のセグメント間の繋がりが失われるリンク切れを修復するリンク切れ修復方法に関する。特に、この発明は、チェーンメモリーを備えた伝送装置に関する。   In the present invention, a memory space is divided into small areas (hereinafter referred to as segments), and in a data structure memory in which a plurality of segments are chained (hereinafter referred to as a chain memory), the link between the segments is lost. The present invention relates to a broken link repair method. In particular, the present invention relates to a transmission apparatus provided with a chain memory.

従来のバッファメモリ装置は、空き領域チェーンメモリーにアドレスが空き領域の先頭として格納されている空き領域チェーンに対して、新たにアドレスの空き領域が生じた場合、該空き領域チェーンの先頭の前部に、新たに生じた空き領域のアドレスを追加する(例えば、特許文献1参照)。   In the conventional buffer memory device, when a free area of an address is newly generated with respect to a free area chain whose address is stored in the free area chain memory as the head of the free area, the front part of the free area chain In addition, an address of a newly generated free area is added (see, for example, Patent Document 1).

また、従来のチェーンメモリーの監視方法は、チェック対象アドレスを任意に変化させ、また監視対象アドレスを空きアドレスのあるポイントに絞り、一定時間内にチェック対象アドレスが出現することを監視する、ように構成する(例えば、特許文献2参照)。   In addition, the conventional chain memory monitoring method arbitrarily changes the check target address, narrows the monitor target address to a point with a free address, and monitors the occurrence of the check target address within a certain time. (For example, refer patent document 2).

特開2004−280333号公報JP 2004-280333 A 特開2004−72667号公報JP 2004-72667 A

従来のバッファメモリ装置を含め、電子機器内のメモリチップ等は、地上に到達する宇宙線のうち、電荷を持つα線等がメモリセルに衝突した際にメモリセルに蓄えられた電荷量の値を乱してしまうためにメモリエラー(ソフトエラー)が生じることがある。このため、従来のバッファメモリ装置は、格納領域のアドレスポインタの値が、ソフトエラーに起因するビットエラーを起こした場合に、格納領域間の繋がりが失われるリンク切れが生じるという課題があった。   Memory chips in electronic devices, including conventional buffer memory devices, are the values of the amount of charge stored in memory cells when α-rays with charges collide with memory cells among cosmic rays that reach the ground. Memory error (soft error) may occur. For this reason, the conventional buffer memory device has a problem in that when the value of the address pointer in the storage area causes a bit error due to a soft error, the link is broken, and the connection between the storage areas is lost.

また、従来のチェーンメモリーの監視方法は、チェーン異常(アドレス損失)を検出するのであるが、チェーン異常のあるアドレスの次アドレス値を正しい次アドレス値に復元することまでを考慮していない。このため、チェーン異常を検出したチェーンメモリー及び対応する共通メモリーに対しては、メモリー全体を初期化する必要があるなどの課題があった。   Further, the conventional chain memory monitoring method detects a chain abnormality (address loss), but does not take into account the restoration of the next address value of an address having a chain abnormality to a correct next address value. For this reason, there is a problem that the entire memory needs to be initialized for the chain memory in which the chain abnormality is detected and the corresponding common memory.

この発明は、上述のような課題を解決するためになされたもので、複数のセグメント間を連結するポインタに生じたビットエラーを正しい値に復元し、チェーンメモリーのリンク切れを修復することができる伝送装置及びリンク切れ修復方法を提供するものである。   The present invention has been made in order to solve the above-described problems, and can restore a bit error generated in a pointer connecting between a plurality of segments to a correct value and repair a broken link in a chain memory. A transmission apparatus and a link break repair method are provided.

この発明に係る伝送装置は、エラーポインタのビットパターン及び反転パターンの排他的論理和を演算し、真のポインタを含むポインタ候補を算出するポインタ予測部を備えている。また、ポインタ候補が示すポインタ格納領域に格納された前ポインタとエラーポインタが格納されたポインタ格納領域のアドレスとの一致の有無を判定するポインタ検証部を備えている。また、ポインタ検証部による判定結果に基づき、エラーポインタを、一致した前ポインタが格納されるポインタ格納領域のアドレスであるポインタ候補に変換するポインタ復元部を備えている。   The transmission apparatus according to the present invention includes a pointer prediction unit that calculates an exclusive OR of a bit pattern and an inverted pattern of an error pointer and calculates a pointer candidate including a true pointer. In addition, a pointer verification unit that determines whether or not there is a match between the previous pointer stored in the pointer storage area indicated by the pointer candidate and the address of the pointer storage area in which the error pointer is stored is provided. In addition, a pointer restoration unit is provided that converts an error pointer into a pointer candidate that is an address of a pointer storage area in which the matched previous pointer is stored, based on a determination result by the pointer verification unit.

開示の伝送装置は、従来技術のような、チェーン異常の対処方法としてのメモリーの初期化に伴う、当該チェーンに対応するセグメントの格納領域に格納されるデータが消去されることなく、チェーンメモリーのリンク切れを修復することができるという効果を奏する。   With the disclosed transmission device, the data stored in the storage area of the segment corresponding to the chain associated with the initialization of the memory as a method for dealing with the chain abnormality as in the prior art is not erased. There is an effect that the broken link can be repaired.

第1の実施形態に係る伝送装置の特徴部分を示す概略図である。It is the schematic which shows the characterizing part of the transmission apparatus which concerns on 1st Embodiment. 図1に示すメモリー空間を説明するための説明図である。It is explanatory drawing for demonstrating the memory space shown in FIG. 図1に示す反転パターン格納部に格納される反転パターンの一例を示す説明図である。It is explanatory drawing which shows an example of the inversion pattern stored in the inversion pattern storage part shown in FIG. 図1に示す反転パターン格納部に格納される反転パターンの他の例を示す説明図である。It is explanatory drawing which shows the other example of the inversion pattern stored in the inversion pattern storage part shown in FIG. 反転させるビット位置の個数と反転パターンの組み合わせ数との関係を示す対応表である。10 is a correspondence table showing the relationship between the number of bit positions to be inverted and the number of combinations of inversion patterns. 図1に示すポインタ候補格納部に格納されるポインタ候補の一例を示す説明図である。It is explanatory drawing which shows an example of the pointer candidate stored in the pointer candidate storage part shown in FIG. 図1に示すポインタ候補格納部に格納されるポインタ候補の他の例を示す説明図である。It is explanatory drawing which shows the other example of the pointer candidate stored in the pointer candidate storage part shown in FIG. 図1に示す伝送装置における処理手順を示すフローチャートである。It is a flowchart which shows the process sequence in the transmission apparatus shown in FIG. チェーンメモリーのリンク切れを説明するための説明図である。It is explanatory drawing for demonstrating the broken link of a chain memory. 本発明以外のリンク切れの修復方法を説明するための説明図である。It is explanatory drawing for demonstrating the repair method of broken links other than this invention. 図1に示す反転パターン格納部に格納される反転パターンのさらに他の例を示す説明図である。It is explanatory drawing which shows the further another example of the inversion pattern stored in the inversion pattern storage part shown in FIG. 第1の実施形態に係る伝送装置の他の例を示す概略図である。It is the schematic which shows the other example of the transmission apparatus which concerns on 1st Embodiment.

ここで、本発明は多くの異なる形態で実施可能である。したがって、下記の各実施形態の記載内容のみで解釈すべきではない。また、各実施形態の全体を通して同じ要素には同じ符号を付けている。   Here, the present invention can be implemented in many different forms. Therefore, it should not be interpreted only by the description of the following embodiments. In addition, the same reference numerals are given to the same elements throughout the embodiments.

各実施形態では、主に装置について説明するが、いわゆる当業者であれば明らかな通り、本発明はコンピュータで使用可能なプログラム、方法としても実施できる。また、本発明は、ハードウェア、ソフトウェア、又は、ソフトウェア及びハードウェアの実施形態で実施可能である。プログラムは、ハードディスク、CD−ROM、DVD−ROM、光記憶装置又は磁気記憶装置等の任意のコンピュータ可読媒体に記録できる。さらに、プログラムはネットワークを介した他のコンピュータに記録することができる。   In each embodiment, the apparatus will be mainly described. However, as will be apparent to those skilled in the art, the present invention can also be implemented as a program and method usable on a computer. In addition, the present invention can be implemented in hardware, software, or software and hardware embodiments. The program can be recorded on any computer-readable medium such as a hard disk, CD-ROM, DVD-ROM, optical storage device, or magnetic storage device. Furthermore, the program can be recorded on another computer via a network.

(本発明の第1の実施形態)
図1は第1の実施形態に係る伝送装置の特徴部分を示す概略図であり、図2は図1に示すメモリー空間を説明するための説明図である。図3は図1に示す反転パターン格納部に格納される反転パターンの一例を示す説明図であり、図4は図1に示す反転パターン格納部に格納される反転パターンの他の例を示す説明図である。図5は反転させるビット位置の個数と反転パターンの組み合わせ数との関係を示す対応表である。図6は図1に示すポインタ候補格納部に格納されるポインタ候補の一例を示す説明図であり、図7は図1に示すポインタ候補格納部に格納されるポインタ候補の他の例を示す説明図である。図8は図1に示す伝送装置における処理手順を示すフローチャートである。図9はチェーンメモリーのリンク切れを説明するための説明図であり、図10は本発明以外のリンク切れの修復方法を説明するための説明図である。図11は図1に示す反転パターン格納部に格納される反転パターンのさらに他の例を示す説明図である。図12は第1の実施形態に係る伝送装置の他の例を示す概略図である。
(First embodiment of the present invention)
FIG. 1 is a schematic diagram showing a characteristic part of the transmission apparatus according to the first embodiment, and FIG. 2 is an explanatory diagram for explaining the memory space shown in FIG. FIG. 3 is an explanatory diagram showing an example of the inversion pattern stored in the inversion pattern storage unit shown in FIG. 1, and FIG. 4 is an explanation showing another example of the inversion pattern stored in the inversion pattern storage unit shown in FIG. FIG. FIG. 5 is a correspondence table showing the relationship between the number of bit positions to be inverted and the number of combinations of inversion patterns. 6 is an explanatory diagram showing an example of pointer candidates stored in the pointer candidate storage unit shown in FIG. 1, and FIG. 7 is an explanatory diagram showing another example of pointer candidates stored in the pointer candidate storage unit shown in FIG. FIG. FIG. 8 is a flowchart showing a processing procedure in the transmission apparatus shown in FIG. FIG. 9 is an explanatory diagram for explaining a broken link in the chain memory, and FIG. 10 is an explanatory diagram for explaining a method for repairing a broken link other than the present invention. FIG. 11 is an explanatory diagram showing still another example of the inversion pattern stored in the inversion pattern storage unit shown in FIG. FIG. 12 is a schematic diagram illustrating another example of the transmission apparatus according to the first embodiment.

本実施形態においては、ネットワーク上で、ある特定の通信のための帯域を予約し、一定の通信速度を保証する技術(Quality Of Service:QoS)を実装する伝送装置100を例に挙げて説明する。しかしながら、本発明は、メモリー10をチェーンメモリー方式で管理する装置であれば、伝送装置100に限られるものではない。なお、本発明の特徴部分である装置構成以外については、既存の伝送装置100と同様の装置構成及び動作であるために、図示及び説明を省略する。   In the present embodiment, a transmission apparatus 100 that reserves a band for a specific communication on a network and implements a technique (Quality Of Service: QoS) that guarantees a constant communication speed will be described as an example. . However, the present invention is not limited to the transmission device 100 as long as the device manages the memory 10 by the chain memory method. Except for the device configuration which is a characteristic part of the present invention, the device configuration and operation are the same as those of the existing transmission device 100, and thus illustration and description thereof are omitted.

伝送装置100は、図1及び図2に示すように、メモリー10における、物理的なインターフェース(interface:I/F)20が一つであるメモリー空間11を複数のキュー12に割り当てる。この場合に、伝送装置100は、キュー12毎に固定長の格納領域をメモリー空間11に予め確保するとメモリー効率が悪いため、図2に示すように、必要な時(格納する順)に格納領域を確保する動的なメモリー構造としてのチェーンメモリーが使用される。   As shown in FIGS. 1 and 2, the transmission apparatus 100 allocates a memory space 11 having one physical interface (I / F) 20 in the memory 10 to a plurality of queues 12. In this case, if the transmission apparatus 100 reserves a fixed-length storage area for each queue 12 in the memory space 11 beforehand, the memory efficiency is poor. Therefore, as shown in FIG. A chain memory is used as a dynamic memory structure to secure memory.

図2では、1ワード(Word:語)を16ビットとし、65536ワードのメモリー空間11に対して、1ワードのポインタ格納領域11aと3ワードのデータ格納領域11bとからなる4ワード毎に区切られる16384個のセグメントに領域分けした例を示している。   In FIG. 2, one word (Word) is 16 bits, and the memory space 11 of 65536 words is divided into four words each consisting of a pointer storage area 11a of 1 word and a data storage area 11b of 3 words. An example in which the area is divided into 16384 segments is shown.

ポインタ格納領域11aは、任意のセグメントから連結される他のセグメントを特定する情報(アドレス)である次ポインタ及び任意のセグメントを連結する他のセグメントを特定する情報(アドレス)である前ポインタを格納する領域である。また、データ格納領域11bは、キュー12からのデータ(パケット)を格納する領域である。   The pointer storage area 11a stores a next pointer, which is information (address) specifying another segment connected from an arbitrary segment, and a previous pointer, which is information (address) specifying another segment connecting the arbitrary segment. It is an area to do. The data storage area 11b is an area for storing data (packets) from the queue 12.

なお、図2においては、紙面の都合上、各セグメントのデータ格納領域11bが3ワードで図示しており、メモリー効率が75%(ポインタ格納領域:データ格納領域=1:3)であるが、実際のデータ格納領域11bは3ワードよりも遥かに多いワード数である。このため、メモリー空間11に対してポインタ格納領域11aの占める割合は少なく、ポインタによるオーバーヘッドはほとんど生じない。   In FIG. 2, for the sake of space, the data storage area 11b of each segment is illustrated with 3 words and the memory efficiency is 75% (pointer storage area: data storage area = 1: 3). The actual data storage area 11b has a much larger number of words than three words. For this reason, the ratio of the pointer storage area 11a to the memory space 11 is small and almost no overhead is caused by the pointer.

また、図2においては、以下の説明を容易にするために、キュー12の数を2つとし、低優先キュー12a及び高優先キュー12bからのパケットがセグメントにそれぞれ格納される様子を示しているが、実際のキュー12の数は2つよりも遥かに多いキュー数である。   Further, in FIG. 2, in order to facilitate the following explanation, the number of queues 12 is set to two, and packets from the low priority queue 12 a and the high priority queue 12 b are respectively stored in the segments. However, the actual number of queues 12 is much larger than two.

ここで、チェーンメモリーの仕組みについて、図2を用いて説明する。
キュー12にパケットが入力されると、キュー12は、メモリー空間11のセグメントのうち、全てのデータ格納領域11bが空き領域である一のセグメントに対して、データ格納領域11bの容量に合わせて、パケットを分割してそれぞれ格納する。なお、パケットが一のセグメントに納まりきれない場合には、全てのデータ格納領域11bが空き領域である他のセグメントに対して、データ格納領域11bの容量に合わせて、残りのパケットの一部を分配して格納する。この場合に、一のセグメントのポインタ格納領域11aに格納された次ポインタは、他のセグメントのポインタ格納領域11aのアドレスを示す。また、他のセグメントのポインタ格納領域11aに格納された前ポインタは、一のセグメントのポインタ格納領域11aのアドレスを示す。
Here, the mechanism of the chain memory will be described with reference to FIG.
When a packet is input to the queue 12, the queue 12 matches the capacity of the data storage area 11b with respect to one segment in which all the data storage areas 11b are free areas among the segments of the memory space 11. Divide and store each packet. If the packet cannot fit in one segment, all the data storage areas 11b are vacant areas and other segments are left in accordance with the capacity of the data storage area 11b. Distribute and store. In this case, the next pointer stored in the pointer storage area 11a of one segment indicates the address of the pointer storage area 11a of another segment. The previous pointer stored in the pointer storage area 11a of another segment indicates the address of the pointer storage area 11a of one segment.

例えば、低優先キュー12aにパケットAが入力されると、低優先キュー12aは、データ格納領域11bの容量に合わせて、パケットAを5分割して、第1のセグメント及び第2のセグメントのデータ格納領域11bに、パケットAの一部をそれぞれ格納する。   For example, when the packet A is input to the low priority queue 12a, the low priority queue 12a divides the packet A into five according to the capacity of the data storage area 11b, and the data of the first segment and the second segment A part of the packet A is stored in the storage area 11b.

この場合に、第1のセグメントのポインタ格納領域11aに格納された次ポインタは、第2のセグメントのポインタ格納領域11aのアドレス「0x0004番地(16進数)」を示す。また、第2のセグメントのポインタ格納領域11aに格納された前ポインタは、第1のセグメントのポインタ格納領域11aのアドレス「0x0000番地(16進数)」を示す。なお、パケットAは5分割されているために、第2のセグメントのデータ格納領域11bの1つ(アドレス「0x0007番地(16進数)」)は空き領域となる。   In this case, the next pointer stored in the pointer storage area 11a of the first segment indicates the address “address 0x0004 (hexadecimal)” of the pointer storage area 11a of the second segment. The previous pointer stored in the pointer storage area 11a of the second segment indicates the address “0x0000 (hexadecimal)” of the pointer storage area 11a of the first segment. Since packet A is divided into five, one of the data storage areas 11b of the second segment (address “address 0x0007 (hexadecimal number)”) is an empty area.

その後、高優先キュー12bにパケットBが入力されると、高優先キュー12bは、データ格納領域11bの容量に合わせて、パケットBを3分割して、第3のセグメントのデータ格納領域11bに、パケットBの一部をそれぞれ格納する。   After that, when the packet B is input to the high priority queue 12b, the high priority queue 12b divides the packet B into three according to the capacity of the data storage area 11b, and enters the data storage area 11b of the third segment. Each part of packet B is stored.

また、その後、低優先キュー12aにパケットCが入力されると、低優先キュー12aは、データ格納領域11bの容量に合わせて、パケットCを4分割して、第4のセグメント及び第5のセグメントのデータ格納領域11bに、パケットCの一部をそれぞれ格納する。   After that, when the packet C is input to the low priority queue 12a, the low priority queue 12a divides the packet C into four according to the capacity of the data storage area 11b, and the fourth segment and the fifth segment. A part of the packet C is stored in the data storage area 11b.

この場合に、第4のセグメントのポインタ格納領域11aに格納された次ポインタは、第5のセグメントのポインタ格納領域11aのアドレス「0x0010番地(16進数)」を示す。また、第5のセグメントのポインタ格納領域11aに格納された前ポインタは、第4のセグメントのポインタ格納領域11aのアドレス「0x000C番地(16進数)」を示す。なお、パケットCは4分割されているために、第5のセグメントのデータ格納領域11bの2つ(アドレス「0x0012番地(16進数)」、「0x0013番地(16進数)」)は空き領域となる。   In this case, the next pointer stored in the pointer storage area 11a of the fourth segment indicates the address “0x0010 (hexadecimal)” of the pointer storage area 11a of the fifth segment. The previous pointer stored in the pointer storage area 11a of the fifth segment indicates the address “address 0x000C (hexadecimal)” of the pointer storage area 11a of the fourth segment. Since the packet C is divided into four, two of the data storage areas 11b of the fifth segment (address “0x0012 address (hexadecimal number)” and “0x0013 address (hexadecimal number)”) are free areas. .

また、第2のセグメントと第4のセグメントとは、第3のセグメントを跨いで、同じ低優先キュー12aからのパケットを格納しており、ポインタによって連結される。すなわち、第2のセグメントのポインタ格納領域11aに格納された次ポインタは、第4のセグメントのポインタ格納領域11aのアドレス「0x000C番地(16進数)」を示す。また、第4のセグメントのポインタ格納領域11aに格納された前ポインタは、第2のセグメントのポインタ格納領域11aのアドレス「0x0004番地(16進数)」を示す。   Also, the second segment and the fourth segment store packets from the same low priority queue 12a across the third segment, and are linked by a pointer. That is, the next pointer stored in the pointer storage area 11a of the second segment indicates the address “address 0x000C (hexadecimal)” of the pointer storage area 11a of the fourth segment. The previous pointer stored in the pointer storage area 11a of the fourth segment indicates the address “address 0x0004 (hexadecimal)” of the pointer storage area 11a of the second segment.

その後、高優先キュー12bにパケットDが入力されると、高優先キュー12bは、データ格納領域11bの容量に合わせて、パケットDを2分割して、第6のセグメントのデータ格納領域11bに、パケットDの一部をそれぞれ格納する。なお、パケットDは2分割されているために、第6のセグメントのデータ格納領域11bの1つ(アドレス「0x0017番地(16進数)」)は空き領域となる。   Thereafter, when the packet D is input to the high priority queue 12b, the high priority queue 12b divides the packet D into two in accordance with the capacity of the data storage area 11b, and stores it in the data storage area 11b of the sixth segment. A part of the packet D is stored. Since the packet D is divided into two, one of the data storage areas 11b of the sixth segment (address “0x0017 (hexadecimal number)”) is an empty area.

また、その後、低優先キュー12aにパケットEが入力されると、低優先キュー12aは、データ格納領域11bの容量に合わせて、パケットEを3分割して、第7のセグメントのデータ格納領域11bに、パケットEの一部をそれぞれ格納する。   After that, when the packet E is input to the low priority queue 12a, the low priority queue 12a divides the packet E into three according to the capacity of the data storage area 11b, and the data storage area 11b of the seventh segment. Each of a part of the packet E is stored.

この場合に、第5のセグメントと第7のセグメントとは、第6のセグメントを跨いで、同じ低優先キュー12aからのパケットを格納しており、ポインタによって連結される。すなわち、第5のセグメントのポインタ格納領域11aに格納された次ポインタは、第7のセグメントのポインタ格納領域11aのアドレス「0x0018番地(16進数)」を示す。また、第7のセグメントのポインタ格納領域11aに格納された前ポインタは、第5のセグメントのポインタ格納領域11aのアドレス「0x0010番地(16進数)」を示す。   In this case, the fifth segment and the seventh segment straddle the sixth segment, store packets from the same low priority queue 12a, and are linked by a pointer. That is, the next pointer stored in the pointer storage area 11a of the fifth segment indicates the address “0x0018 (hexadecimal)” of the pointer storage area 11a of the seventh segment. The previous pointer stored in the pointer storage area 11a of the seventh segment indicates the address “0x0010 (hexadecimal)” of the pointer storage area 11a of the fifth segment.

このように、同じキュー12に入力されたパケットが格納されるセグメントを対象にして、第1のセグメント、第2のセグメント、第4のセグメント、・・・というように、次ポインタが次のセグメントを指し示すことによって、チェーンメモリーが形成される。   In this way, for the segment storing the packet input to the same queue 12, the first segment, the second segment, the fourth segment,... By pointing to the chain memory, a chain memory is formed.

誤り検出部30は、ポインタのビットパターンに生じたビットエラーを検出するインターフェース20の機能である。なお、以下の説明においては、ビットパターンにビットエラーが生じたポインタ(ビットエラーを含むポインタ)のことを、エラーポインタと称す。   The error detection unit 30 is a function of the interface 20 that detects a bit error generated in the bit pattern of the pointer. In the following description, a pointer where a bit error has occurred in a bit pattern (a pointer including a bit error) is referred to as an error pointer.

また、伝送装置100は、内部の回路間のデータ転送にあたり、メモリー空間11のワード毎にパリティチェックを行なっているのであるが、本実施形態に係る誤り検出部30は、このパリティチェックにより、ポインタにおけるビットエラーを検出する。なお、誤り検出部30は、パリティチェックの他に、各セグメントの最後尾に、巡回冗長検査(Cyclic Redundancy Check:CRC)というコードを付加して、各セグメント全体をチェックする方式を採用することも考えられる。   The transmission apparatus 100 performs a parity check for each word in the memory space 11 when transferring data between internal circuits. The error detection unit 30 according to the present embodiment performs a pointer check using this parity check. Detect bit errors in. In addition to the parity check, the error detection unit 30 may employ a method of checking each segment by adding a code called cyclic redundancy check (CRC) to the end of each segment. Conceivable.

反転パターン格納部40は、後述するポインタ予測部50により、ポインタのビットパターンのうち一及び/又は複数箇所のビットを反転させるビットパターン(以下、反転パターンと称す)を格納するROM(read-only memory)等である。   The inversion pattern storage unit 40 stores a ROM (read-only) that stores a bit pattern (hereinafter referred to as an inversion pattern) that inverts one and / or a plurality of bits of the bit pattern of the pointer by a pointer prediction unit 50 described later. memory).

ここで、反転パターンの組み合わせ数は、ポインタのビット幅をnビットとし、ポインタのビットパターンのうち反転させようとするビット位置の個数をm個(ビット)とすると、次式(1)で表わせる。
〔式1〕
(反転パターンの組み合わせ数)=
=()/(m!)
=n!/((n−m)!・m!) ・・・(1)
すなわち、反転パターンは、例えば、ポインタのビット幅を16ビットとし、ポインタのビットパターンのうち一箇所のビットを反転させるビットパターンとしては、図3に示すように、16通りのビットパターンがある。
Here, the number of combinations of inversion patterns is expressed by the following equation (1), where the bit width of the pointer is n bits and the number of bit positions to be inverted in the pointer bit pattern is m (bits). The
[Formula 1]
(Number of combinations of inversion patterns) = n C m
= (N P m) / ( m!)
= N! / ((N−m)! ・ M!) (1)
That is, for example, the inversion pattern has a bit width of 16 bits for the pointer, and there are 16 bit patterns as shown in FIG. 3 as the bit pattern for inverting one bit in the bit pattern of the pointer.

また、反転パターンは、例えば、ポインタのビット幅を16ビットとし、ポインタのビットパターンのうちニ箇所のビットを反転させるビットパターンとしては、図4に示すように、120通りのビットパターンがある。   The inversion pattern has, for example, a pointer bit width of 16 bits, and as a bit pattern for inverting two bits of the pointer bit pattern, there are 120 bit patterns as shown in FIG.

このように、反転パターンは、図5に示すように、ポインタのビット幅や、ポインタのビットパターンのうち反転させようとするビット位置の個数に対応して、反転パターンの組み合わせ数が異なる。特に、反転パターンの組み合わせ数は、反転させようとするビット位置の個数がポインタのビット幅(ビット数)の半分以下において個数が増加するにつれて増加する傾向にあり、半分を超えてからは個数が増加するにつれて減少する傾向にある。   Thus, as shown in FIG. 5, the number of combinations of inversion patterns differs in the inversion pattern corresponding to the bit width of the pointer and the number of bit positions to be inverted in the bit pattern of the pointer. In particular, the number of combinations of inversion patterns tends to increase as the number of bit positions to be inverted is less than half the bit width (number of bits) of the pointer and the number increases. It tends to decrease as it increases.

これに対し、反転パターン格納部40は、反転パターンの組み合わせの全ての反転パターンを格納することにより、エラーポインタの全てのビット位置におけるビットエラーに対応することができるのであるが、その分、ROM等のメモリー容量が必要となる。   On the other hand, the inversion pattern storage unit 40 can cope with bit errors at all the bit positions of the error pointer by storing all inversion patterns of combinations of inversion patterns. Memory capacity such as is required.

このため、伝送装置100は、設計思想に応じて、エラーポインタの修復を可能とするビット数を設定し、反転パターン格納部40に必要最低限の反転パターンを格納することが好ましい。例えば、ポインタのビット幅を16ビットとし、ポインタのビットパターンのうち反転させようとするビット位置を一箇所及びニ箇所とした場合に、反転パターン格納部40は、図3及び図4に示すように、16通り及び120通りの全136通りの反転パターンを格納することになる。   For this reason, it is preferable that the transmission apparatus 100 sets the number of bits that enables the error pointer to be repaired according to the design concept, and stores the minimum necessary inversion pattern in the inversion pattern storage unit 40. For example, when the bit width of the pointer is 16 bits and the bit position to be reversed in the pointer bit pattern is one place and two places, the reverse pattern storage unit 40 is as shown in FIGS. In addition, a total of 136 inversion patterns of 16 patterns and 120 patterns are stored.

ポインタ予測部50は、エラーポインタのビットパターン及び反転パターンの排他的論理和(XOR)を演算し、当該エラーポインタに対して、真のポインタを含むポインタの候補(以下、ポインタ候補と称す)を算出する回路である。   The pointer prediction unit 50 calculates an exclusive OR (XOR) of the bit pattern and the inverted pattern of the error pointer, and a pointer candidate including a true pointer with respect to the error pointer (hereinafter referred to as a pointer candidate). It is a circuit to calculate.

また、ポインタ候補格納部60は、ポインタ予測部50により算出されたポインタ候補を格納するRAM(random-access memory)等である。
ここで、ポインタ候補は、エラーポインタのビットパターンと反転パターンとに基づき、次式(2)で表わせる。
〔式2〕
(ポインタ候補)=(エラーポインタのビットパターン)XOR(反転パターン)・・・(2)
すなわち、ポインタ予測部50は、例えば、エラーポインタの値が「0x0010番地(16進数)」であり、反転パターンが図3に示すビットパターンである場合には、図6に示すように、16通りのポインタ候補を算出し、ポインタ候補格納部60に格納する。
The pointer candidate storage unit 60 is a RAM (random-access memory) or the like that stores pointer candidates calculated by the pointer prediction unit 50.
Here, the pointer candidate can be expressed by the following equation (2) based on the bit pattern and the inverted pattern of the error pointer.
[Formula 2]
(Pointer candidate) = (bit pattern of error pointer) XOR (inverted pattern) (2)
That is, for example, when the value of the error pointer is “0x0010 address (hexadecimal number)” and the inversion pattern is the bit pattern shown in FIG. 3, the pointer prediction unit 50 has 16 patterns as shown in FIG. 6. The pointer candidates are calculated and stored in the pointer candidate storage unit 60.

また、ポインタ予測部50は、例えば、エラーポインタの値が「0x0010番地(16進数)」であり、反転パターンが図4に示すビットパターンである場合には、図7に示すように、120通りのポインタ候補を算出し、ポインタ候補格納部60に格納する。   Further, for example, when the value of the error pointer is “0x0010 address (hexadecimal number)” and the inversion pattern is the bit pattern shown in FIG. 4, the pointer prediction unit 50 has 120 patterns as shown in FIG. 7. The pointer candidates are calculated and stored in the pointer candidate storage unit 60.

ポインタ検証部70は、複数のポインタ候補のうち一のポインタ候補を選択し、当該一のポインタ候補が示すポインタ格納領域11aのアドレスを特定する。また、ポインタ検証部70は、特定したアドレス(以下、予測アドレスと称す)のポインタ格納領域11aに格納された前ポインタ(以下、関連ポインタと称す)とエラーポインタが格納されたポインタ格納領域11aのアドレスとの一致の有無を判定する回路である。   The pointer verification unit 70 selects one pointer candidate from the plurality of pointer candidates, and specifies the address of the pointer storage area 11a indicated by the one pointer candidate. The pointer verification unit 70 also stores the previous pointer (hereinafter referred to as a related pointer) stored in the pointer storage area 11a at the specified address (hereinafter referred to as a predicted address) and the pointer storage area 11a in which an error pointer is stored. This circuit determines whether or not there is a match with an address.

ポインタ復元部80は、ポインタ検証部70により一致ありと判定した場合に、エラーポインタを、一致した関連ポインタが格納されるポインタ格納領域11aのアドレス(予測アドレス)であるポインタ候補に変換する。   When the pointer restoration unit 80 determines that there is a match by the pointer verification unit 70, the pointer restoration unit 80 converts the error pointer into a pointer candidate that is an address (predicted address) of the pointer storage area 11a in which the matched related pointer is stored.

次に、本実施形態に係る伝送装置100による処理手順について、図8を用いて説明する。なお、以下の説明においては、図2に示す第5のセグメントにおける次ポインタのビットパターンにビットエラーが生じ、連結すべき第7のセグメントにおけるポインタ格納領域11aのアドレスが不明な場合を想定して説明する。また、エラーポインタの値は、「0x0010番地(16進数)」であるものとして説明する。   Next, a processing procedure performed by the transmission apparatus 100 according to the present embodiment will be described with reference to FIG. In the following description, it is assumed that a bit error occurs in the bit pattern of the next pointer in the fifth segment shown in FIG. 2 and the address of the pointer storage area 11a in the seventh segment to be linked is unknown. explain. The error pointer value is assumed to be “0x0010 address (hexadecimal number)”.

まず、誤り検出部30は、パリティチェックを行ない、ポインタのビットパターンに生じたビットエラーを検出した場合に(ステップS1)、ポインタにビットエラーが生じたことをポインタ予測部50に通知する(ステップS2)。この場合に、ポインタ予測部50は、エラーポインタの値(ここでは、「0x0010番地(16進数)」の2進数)と、当該エラーポインタが格納されたポインタ格納領域11aのアドレス(ここでは、「0x0010番地(16進数)」の2進数)が入力される。   First, the error detection unit 30 performs a parity check and, when detecting a bit error occurring in the pointer bit pattern (step S1), notifies the pointer prediction unit 50 that a bit error has occurred in the pointer (step S1). S2). In this case, the pointer prediction unit 50 determines the value of the error pointer (here, binary number “0x0010 (hexadecimal)”) and the address of the pointer storage area 11a in which the error pointer is stored (here, “ 0x0010 address (hexadecimal number) ") is input.

ポインタ予測部50は、ポインタに生じたビットエラーのビット位置を一箇所(ビットエラー数を1)と仮定して(ステップS3)、反転パターン格納部40から対応する反転パターン(ここでは、図3に示す反転パターン)を読み出す(ステップS4)。   The pointer predicting unit 50 assumes that the bit position of the bit error that has occurred in the pointer is one place (the number of bit errors is 1) (step S3), and the corresponding inversion pattern (here, FIG. 3) from the inversion pattern storage unit 40. Are read (step S4).

そして、ポインタ予測部50は、エラーポインタのビットパターン(ここでは、図6に示すエラーポインタ)及び反転パターン(ここでは、図3に示す反転パターン)の排他的論理和を演算し、ポインタ候補(ここでは、図6に示すポインタ候補)を算出する。   Then, the pointer predicting unit 50 calculates the exclusive OR of the bit pattern of the error pointer (here, the error pointer shown in FIG. 6) and the inverted pattern (here, the inverted pattern shown in FIG. 3), and obtains the pointer candidate ( Here, the pointer candidates shown in FIG. 6 are calculated.

そして、ポインタ予測部50は、算出したポインタ候補のリストを作成し(ステップS5)、ポインタ候補リストをポインタ候補格納部60に書き込む(ステップS6)。また、ポインタ予測部50は、エラーポインタに対する真のポインタがポインタ候補リストに含まれているかの検証の指令を、ポインタ検証部70に出力する(ステップS7)。この場合に、ポインタ検証部70は、エラーポインタが格納されたポインタ格納領域11aのアドレス(ここでは、「0x0010番地(16進数)」の2進数)が入力される。   The pointer prediction unit 50 then creates a list of calculated pointer candidates (step S5), and writes the pointer candidate list to the pointer candidate storage unit 60 (step S6). Further, the pointer prediction unit 50 outputs to the pointer verification unit 70 a command for verifying whether the true pointer for the error pointer is included in the pointer candidate list (step S7). In this case, the pointer verification unit 70 receives the address of the pointer storage area 11a where the error pointer is stored (here, the binary number “0x0010 (hexadecimal)”).

ポインタ検証部70は、ポインタ候補格納部60に格納されたポインタ候補(ここでは、図6に示す16通りのポインタ候補)のうち、一のポインタ候補(ここでは、第1行目(第0ビット反転)のポインタ候補)を選択する(ステップS8)。また、ポインタ検証部70は、当該一のポインタ候補(ここでは、第1行目のポインタ候補)が示すポインタ格納領域11aのアドレス(ここでは、「0x0011番地(16進数)」)を特定する。   The pointer verification unit 70 selects one pointer candidate (here, the first row (0th bit) from among the pointer candidates (here, the 16 pointer candidates shown in FIG. 6) stored in the pointer candidate storage unit 60. Invert) pointer candidate) is selected (step S8). In addition, the pointer verification unit 70 specifies the address (here, “0x0011 (hexadecimal number)”) of the pointer storage area 11a indicated by the one pointer candidate (here, the pointer candidate in the first row).

そして、ポインタ検証部70は、インターフェース20を介して、特定した予測アドレスのポインタ格納領域11aに格納された前ポインタ(関連ポインタ)を参照する。また、ポインタ検証部70は、関連ポインタとエラーポインタが格納されたポインタ格納領域11aのアドレスとの一致の有無を判定する(ステップS9)。なお、ここでは、予測アドレス「0x0011番地(16進数)」に対応するメモリー空間11がデータ格納領域11bであるために、ポインタ検証部70は、関連ポインタを参照することができず、一致なしと判定する。   Then, the pointer verification unit 70 refers to the previous pointer (related pointer) stored in the pointer storage area 11a of the identified predicted address via the interface 20. Further, the pointer verification unit 70 determines whether there is a match between the address of the pointer storage area 11a in which the related pointer and the error pointer are stored (step S9). Here, since the memory space 11 corresponding to the predicted address “0x0011 address (hexadecimal number)” is the data storage area 11b, the pointer verification unit 70 cannot refer to the related pointer and there is no match. judge.

ステップS9において、一致なしと判断した場合には、ポインタ検証部70は、ポインタ候補格納部60に格納された全てのポインタ候補に対して、検証を完了したか否か(他のポインタ候補の有無)を判断する(ステップS10)。   If it is determined in step S9 that there is no match, the pointer verification unit 70 determines whether or not verification has been completed for all pointer candidates stored in the pointer candidate storage unit 60 (the presence or absence of other pointer candidates). ) Is determined (step S10).

ステップS10において、他のポインタ候補が存在しないと判断した場合には、ポインタ検証部70は、新規のポインタ候補リストの作成の指令を、ポインタ予測部50に出力する(ステップS11)。   If it is determined in step S10 that no other pointer candidate exists, the pointer verification unit 70 outputs a command for creating a new pointer candidate list to the pointer prediction unit 50 (step S11).

ポインタ予測部50は、ポインタ検証に使用した現ポインタ候補リストを作成するうえで対象にしたビットエラー数に対して、1を加算して(ステップS12)、前述したステップS4に戻る。なお、現ポインタ候補リストを作成するうえで対象にしたビットエラー数が1である場合には、ビットエラー数を2とし、ステップS4において、ポインタ予測部50は、図4に示す反転パターンを反転パターン格納部40から読み出すことになる。また、ステップS5において、ポインタ予測部50は、図7に示すエラーポインタ及び図4に示す反転パターンの排他的論理和を演算し、図7に示すポインタ候補を算出して、新規のポインタ候補リストを作成することになる。
また、ステップS10において、他のポインタ候補が存在すると判断した場合には、前述したステップS8に戻る。
The pointer prediction unit 50 adds 1 to the number of bit errors targeted when creating the current pointer candidate list used for pointer verification (step S12), and returns to step S4 described above. When the number of bit errors targeted for creating the current pointer candidate list is 1, the number of bit errors is set to 2, and in step S4, the pointer prediction unit 50 inverts the inversion pattern shown in FIG. The data is read from the pattern storage unit 40. In step S5, the pointer predicting unit 50 calculates the exclusive OR of the error pointer shown in FIG. 7 and the inverted pattern shown in FIG. 4, calculates the pointer candidate shown in FIG. 7, and creates a new pointer candidate list. Will be created.
If it is determined in step S10 that another pointer candidate exists, the process returns to step S8 described above.

なお、ここでは、図6に示す16通りのポインタ候補のうち、第1行目のポインタ候補を検証したものであり、他のポインタ候補(ここでは、第2行目から第16行目までのポインタ候補)が存在するために、ステップS8に戻ることになる。この場合に、ステップS8では、ポインタ検証部70が、検証した現ポインタ候補をインクリメントして、ポインタ候補格納部60に格納された次のポインタ候補(ここでは、第2行目のポインタ候補)を選択する。   Here, of the 16 pointer candidates shown in FIG. 6, the pointer candidate on the first row is verified, and other pointer candidates (here, from the second row to the 16th row). Since there is a pointer candidate), the process returns to step S8. In this case, in step S8, the pointer verification unit 70 increments the verified current pointer candidate, and the next pointer candidate (here, the second row pointer candidate) stored in the pointer candidate storage unit 60 is obtained. select.

以下、ポインタ検証は、関連ポインタとエラーポインタが格納されたポインタ格納領域11aのアドレスとが一致するまで、又は他のポインタ候補が無くなるまで、ステップS8、ステップS9及びステップS10を繰り返すことになる。   Hereinafter, the pointer verification repeats step S8, step S9, and step S10 until the address of the pointer storage area 11a in which the related pointer and the error pointer are stored matches or there is no other pointer candidate.

具体的には、図2において、図6に示す第2行目(第1ビット反転)のポインタ候補が示す予測アドレスが「0x0012番地(16進数)」の場合には、関連ポインタを参照することができず、ポインタ検証部70が一致なしと判定する。   Specifically, in FIG. 2, when the predicted address indicated by the pointer candidate in the second row (first bit inversion) shown in FIG. 6 is “address 0x0012 (hexadecimal)”, refer to the related pointer. The pointer verification unit 70 determines that there is no match.

また、図2において、図6に示す第3行目(第2ビット反転)のポインタ候補が示す予測アドレスが「0x0014番地(16進数)」の場合には、ポインタ検証部70は、関連ポインタとして「0x000B番地(16進数)」を参照する。しかし、関連ポインタ「0x000B番地(16進数)」とエラーポインタが格納されたポインタ格納領域11aのアドレス「0x0010番地(16進数)」とが不一致のため、ポインタ検証部70は、一致なしと判定することになる。   In FIG. 2, when the predicted address indicated by the pointer candidate in the third row (second bit inversion) shown in FIG. 6 is “0x0014 address (hexadecimal)”, the pointer verification unit 70 displays the related pointer as Refer to “0x000B address (hexadecimal number)”. However, since the related pointer “0x000B address (hexadecimal)” does not match the address “0x0010 address (hexadecimal)” of the pointer storage area 11a in which the error pointer is stored, the pointer verification unit 70 determines that there is no match. It will be.

また、図2において、図6に示す第4行目(第3ビット反転)のポインタ候補が示す予測アドレスが「0x0018番地(16進数)」の場合には、ポインタ検証部70は、関連ポインタとして「0x0010番地(16進数)」を参照する。この場合には、関連ポインタ「0x0010番地(16進数)」とエラーポインタが格納されたポインタ格納領域11aのアドレス「0x0010番地(16進数)」とが一致するため、ポインタ検証部70は、一致ありと判定することになる。   In FIG. 2, when the predicted address indicated by the pointer candidate in the fourth row (third bit inversion) shown in FIG. 6 is “0x0018 address (hexadecimal)”, the pointer verification unit 70 displays the related pointer as Refer to “0x0010 address (hexadecimal number)”. In this case, since the related pointer “0x0010 (hexadecimal)” matches the address “0x0010 (hexadecimal)” of the pointer storage area 11a in which the error pointer is stored, the pointer verification unit 70 matches. It will be determined.

そして、前述したステップS9において、一致ありと判断した場合には、ポインタ検証部70は、関連ポインタとエラーポインタが格納されたポインタ格納領域11aのアドレスとが一致したことを、ポインタ復元部80に通知する(ステップS13)。この場合に、ポインタ復元部80は、一致した関連ポインタが格納されるポインタ格納領域11aのアドレスであるポインタ候補(ここでは、「0x0018番地(16進数)」の2進数)が入力される。また、ポインタ復元部80は、エラーポインタが格納されたポインタ格納領域11aのアドレス(ここでは、「0x0010番地(16進数)」の2進数)が入力される。   If it is determined in step S9 that there is a match, the pointer verification unit 70 informs the pointer restoration unit 80 that the address of the pointer storage area 11a in which the related pointer and the error pointer are stored matches. Notification is made (step S13). In this case, the pointer restoring unit 80 receives a pointer candidate (in this case, a binary number of “address 0x0018 (hexadecimal number))” that is the address of the pointer storage area 11a in which the matched pointer is stored. The pointer restoring unit 80 receives the address of the pointer storage area 11a in which the error pointer is stored (here, the binary number “0x0010 (hexadecimal number)”).

ポインタ復元部80は、ポインタ検証部70から入力された、ポインタ格納領域11aのアドレス(ここでは、「0x0010番地(16進数)」)に基づき、メモリー空間11における該当場所を特定する。また、ポインタ復元部80は、該当場所に格納されるエラーポインタ(ここでは、「0x0010番地(16進数)」)を、一致した関連ポインタのポインタ格納領域11aのアドレスであるポインタ候補(ここでは、「0x0018番地(16進数)」)に変換する(ステップS14)。そして、エラーポインタから真のポインタへの復元を完了する。   The pointer restoration unit 80 specifies a corresponding place in the memory space 11 based on the address (here, “0x0010 address (hexadecimal number)”) of the pointer storage area 11 a input from the pointer verification unit 70. Further, the pointer restoring unit 80 converts the error pointer (here, “0x0010 (hexadecimal number)”) stored in the corresponding location into a pointer candidate (here, the address of the pointer storage area 11a of the associated pointer that matches. "0x0018 address (hexadecimal number)") (step S14). Then, the restoration from the error pointer to the true pointer is completed.

以上のように、本実施形態に係る伝送装置100は、複数のセグメント間を連結するポインタに生じたビットエラーを正しい値に復元し、チェーンメモリーのリンク切れを修復することができるという作用効果を奏する。特に、伝送装置100は、図9に示すように、リンク切れを検出したチェーンにおける、データ格納領域11bに格納されたパケットを破棄する(装置によっては、他のキューのチェーンを含めてメモリー全体を初期化する)ことなく、リンク切れを修復できる。   As described above, the transmission apparatus 100 according to the present embodiment has the operational effect that the bit error generated in the pointer connecting the plurality of segments can be restored to the correct value, and the broken link of the chain memory can be repaired. Play. In particular, as shown in FIG. 9, the transmission apparatus 100 discards the packet stored in the data storage area 11b in the chain in which the broken link is detected (depending on the apparatus, the entire memory including the chain of other queues may be deleted). It is possible to repair broken links without initializing.

また、本実施形態に係る伝送装置100は、従来の装置と比較して、チェーンメモリーのリンク切れを修復するために必要な処理時間が短時間であり、処理が高速であるという作用効果を奏する。   In addition, the transmission apparatus 100 according to the present embodiment has an operational effect that the processing time necessary for repairing the broken link of the chain memory is shorter and the processing is faster than the conventional apparatus. .

具体的には、従来の装置において、メモリー全体を初期化するために要する処理時間は、全ワード数と1ワードあたりの書き込み時間との乗算時間(初期化時間=(全ワード数)×(1ワードあたりのライト時間))が必要である。例えば、メモリーに対して1ワードのリード又はライトに100ナノ秒を要する場合には、64kワード(ポインタのアドレスのビット幅が16ビットとなる)のメモリー空間11に対して、約6554マイクロ秒の処理時間が必要である。   Specifically, in the conventional apparatus, the processing time required to initialize the entire memory is the multiplication time of the total number of words and the writing time per word (initialization time = (total number of words) × (1 Write time per word)) is required. For example, if it takes 100 nanoseconds to read or write a word to the memory, about 6554 microseconds is required for the memory space 11 of 64k words (the bit width of the pointer address is 16 bits). Processing time is required.

これに対し、本実施形態に係る伝送装置100は、16ビットのポインタアドレスにおけるニ箇所のビットエラーを救済する場合のポインタ候補数が、136通り(16通りと120通りの和)であり、メモリー10に対して最大136回のリードでよいことなる。   On the other hand, in the transmission apparatus 100 according to the present embodiment, the number of pointer candidates in the case where two bit errors at the 16-bit pointer address are remedied is 136 (the sum of 16 and 120), and the memory This means that a maximum of 136 leads for 10 is sufficient.

すなわち、伝送装置100は、ポインタ検証部70による一のポインタ候補の検証時間を、従来装置によるメモリーリードに要する時間(100ナノ秒)のニ倍の200ナノ秒としても、最大(全てのポインタ候補を検証した場合)で27.2マイクロ秒しか掛からない。このため、本実施形態に係る伝送装置100は、従来の装置による初期化のみの処理時間(約6554マイクロ秒)と比較しても、処理が高速であることがわかる。   That is, the transmission apparatus 100 sets the maximum (all pointer candidates) even if the verification time of one pointer candidate by the pointer verification unit 70 is 200 nanoseconds, which is twice the time required for memory reading by the conventional apparatus (100 nanoseconds). It takes only 27.2 microseconds. For this reason, it can be seen that the transmission apparatus 100 according to the present embodiment is high-speed even when compared with the processing time (about 6554 microseconds) of only the initialization by the conventional apparatus.

また、本実施形態に係る伝送装置100は、チェーンメモリーのリンク切れを修復するために必要な処理時間が、チェーンメモリーの長さに依存しないものである。これに対し、図10に示すように、双方向ポインタの構成を有するメモリー10は、チェーンメモリーのテール(Tail)から前ポインタを順に参照して遡ることにより、リンク切れを起こしているポインタを格納するポインタ格納領域10aに辿りつくことができる。しかしながら、この方法では、チェーンメモリーの長さが極端に長い場合に、リンク切れを起こしているポインタを格納するポインタ格納領域10aに辿りつくまでに、長時間を要することになる。   Further, in the transmission apparatus 100 according to the present embodiment, the processing time required for repairing the broken link of the chain memory does not depend on the length of the chain memory. On the other hand, as shown in FIG. 10, the memory 10 having the configuration of the bidirectional pointer stores the pointer causing the broken link by referring back to the previous pointer sequentially from the tail of the chain memory. The pointer storage area 10a can be reached. However, in this method, when the length of the chain memory is extremely long, it takes a long time to reach the pointer storage area 10a for storing the pointer causing the broken link.

例えば、16Mワードのメモリー空間11を、16ワード単位に1M(100万)個のセグメントに分割し、ビットエラーを検出した時点で、チェーンメモリーの長さが2万個のセグメントを占有していた場合を想定する。この場合に、図10に示すように、チェーンメモリーのテールから遡る方法では、19999回のメモリーリードと判定処理とが必要となる。   For example, the memory space 11 of 16M words is divided into 1M (1 million) segments in units of 16 words, and when a bit error is detected, the length of the chain memory occupies 20,000 segments. Assume a case. In this case, as shown in FIG. 10, the method of going back from the tail of the chain memory requires 19999 times of memory read and determination processing.

これに対し、本実施形態に係る伝送装置100は、図5(c)に示すように、ニ箇所のビットエラーを救済する場合のポインタ候補数が、300通り(24通りと276通りの和)であり、メモリー10に対して最大300回のリードと判定処理とでよいことなる。   On the other hand, as shown in FIG. 5C, the transmission apparatus 100 according to the present embodiment has 300 pointer candidates (the sum of 24 and 276) when relieving bit errors in two places. Therefore, it is sufficient to read the memory 10 up to 300 times and perform the determination process.

また、本実施形態に係る伝送装置100は、例えば、ECC(error check and correct:エラー訂正機能)付きのメモリーのようなメモリーリソースを必要とせず、複雑な符号理論を用いていないために、簡単なロジックにて実現が可能である。   In addition, the transmission apparatus 100 according to the present embodiment does not require a memory resource such as a memory with ECC (error check and correct: error correction function), and does not use a complicated code theory. It can be realized with simple logic.

特に、ECC付きメモリーは、一箇所のビットエラーに対して検出及び訂正することができ、二箇所のビットエラーに対してビットエラーを検出することができる(訂正はできない)が、三箇所以上のビットエラーに対して検出及び訂正することができない。これに対し、本実施形態に係る伝送装置100は、複数箇所のビットエラーに対して、対応する反転パターンを反転パターン格納部40に格納しておけば、訂正可能な個数に制限はないという作用効果を奏する。   In particular, a memory with ECC can detect and correct a bit error at one place, and can detect a bit error at two places (cannot be corrected), but it can be detected at three or more places. Bit errors cannot be detected and corrected. On the other hand, the transmission apparatus 100 according to the present embodiment has an effect that there is no limit to the number that can be corrected if the corresponding inversion patterns are stored in the inversion pattern storage unit 40 for bit errors at a plurality of locations. There is an effect.

なお、本実施形態に係る伝送装置100は、図3及び図4に示す全136通りの反転パターンを反転パターン格納部40に格納する例を示したが、図3に示す16通りの反転パターンと共に、図11に示す各16通りの反転パターンを適宜組み合わせて格納してもよい。   The transmission apparatus 100 according to the present embodiment has shown an example in which all 136 inversion patterns shown in FIGS. 3 and 4 are stored in the inversion pattern storage unit 40. However, together with the 16 inversion patterns shown in FIG. Each of the 16 inversion patterns shown in FIG. 11 may be stored in appropriate combination.

なお、図11(a)に示す反転パターンは、図3に示す反転パターンに対してビットを反転させるビット位置の上位にあるビットに対しても反転させるビットパターンを示している。また、図11(b)に示す反転パターンは、図3に示す反転パターンに対してビットを反転させるビット位置の下位にあるビットに対しても反転させるビットパターンを示している。また、図11(c)に示す反転パターンは、図3に示す反転パターンに対してビットを反転させるビット位置の上位及び下位にあるビットに対しても反転させるビットパターンを示している。   Note that the inversion pattern shown in FIG. 11A is a bit pattern that inverts the bit at the upper bit position where the bit is inverted with respect to the inversion pattern shown in FIG. In addition, the inversion pattern shown in FIG. 11B is a bit pattern that inverts the bit at the lower position of the bit position that inverts the bit with respect to the inversion pattern shown in FIG. In addition, the inversion pattern shown in FIG. 11C shows a bit pattern that inverts the upper and lower bits of the bit position that inverts the bit with respect to the inversion pattern shown in FIG.

これにより、宇宙線によるメモリエラーが隣り合うビットで生じる可能性が高い場合を想定し、反転パターン格納部40に格納する反転パターン数を抑制しつつ、真のポインタとなるポインタ候補を算出するための反転パターンが格納される確率を高めることができる。   As a result, assuming that there is a high possibility that a memory error due to cosmic rays will occur in adjacent bits, the number of inversion patterns stored in the inversion pattern storage unit 40 is suppressed, and pointer candidates that are true pointers are calculated. It is possible to increase the probability that the inverted pattern is stored.

また、本実施形態に係る伝送装置100は、ポインタ検証部70が、ポインタ候補リストに基づき、真のポインタを導出していたが、このポインタ候補リストには、真のポインタに明らかに該当しない、検証不要なデータ格納領域11bのアドレスも含まれている。そこで、データ格納領域11bのアドレスをポインタ候補リストに含まないようにすることが好ましい。   In the transmission apparatus 100 according to the present embodiment, the pointer verification unit 70 derives a true pointer based on the pointer candidate list. However, the pointer candidate list does not clearly correspond to the true pointer. The address of the data storage area 11b that does not require verification is also included. Therefore, it is preferable not to include the address of the data storage area 11b in the pointer candidate list.

すなわち、各セグメントが2のn乗のワードで構成されている場合に、ビット位置の第0ビットから第n−1ビットの値が1であるポインタ候補は、ポインタ格納領域11aのアドレスに該当しないため、ポインタ予測部50が、このポインタ候補を削除することが好ましい。   That is, when each segment is composed of 2 to the nth power word, a pointer candidate whose value from the 0th bit to the (n-1) th bit is 1 does not correspond to the address of the pointer storage area 11a. Therefore, it is preferable that the pointer prediction unit 50 deletes this pointer candidate.

例えば、各セグメントが4ワードで構成されている場合に、ビット位置の第0ビット及び/又は第1ビットの値が1であるポインタ候補は、ポインタ格納領域11aのアドレスに該当しないため、ポインタ予測部50が、このポインタ候補を削除することが好ましい。具体的には、図6において、第1行目(第0ビット反転)及び第2行目(第1ビット反転)のポインタ候補を削除し、図7において、第1行目(第1ビット反転、第0ビット反転)から第29行目(第15ビット反転、第1ビット反転)までのポインタ候補を削除する。   For example, when each segment is composed of 4 words, a pointer candidate whose 0th bit and / or 1st bit value is 1 does not correspond to the address of the pointer storage area 11a. It is preferable that the part 50 deletes this pointer candidate. Specifically, in FIG. 6, the pointer candidates in the first row (0th bit inversion) and the second row (first bit inversion) are deleted, and in FIG. 7, the first row (first bit inversion) is deleted. , 0th bit inversion) to 29th line (15th bit inversion, 1st bit inversion) are deleted.

また、本実施形態に係る伝送装置100は、予め、反転パターン格納部40に反転パターンを格納しているが、図12に示すように、反転パターン格納部40の替わりに、反転パターン生成部90を備える構成としてもよい。   In addition, the transmission apparatus 100 according to the present embodiment stores inversion patterns in the inversion pattern storage unit 40 in advance, but instead of the inversion pattern storage unit 40, as shown in FIG. It is good also as a structure provided with.

反転パターン生成部90は、ポインタ予測部50からの指令(ビットエラー数)に基づき、既存の組み合わせ生成アルゴリズム等(「M.Beeler, R.W Gosper and R.Schroeppel」等による)を用いて、対応する反転パターンを生成し、ポインタ予測部50に出力する。これにより、反転パターン生成部90は、反転パターン格納部40に予め格納する反転パターンに対する伝送装置100の設計思想に応じた制限が無く、エラーポイントのビットエラー数に対して、柔軟に対応することができるという作用効果を奏する。   The inversion pattern generation unit 90 responds by using an existing combination generation algorithm or the like (according to “M. Beeler, RW Gosper and R. Schroeppel”, etc.) based on a command (number of bit errors) from the pointer prediction unit 50. A reverse pattern is generated and output to the pointer prediction unit 50. Thereby, the inversion pattern generation unit 90 can flexibly cope with the number of bit errors at the error point without any restriction according to the design concept of the transmission apparatus 100 with respect to the inversion pattern stored in the inversion pattern storage unit 40 in advance. There is an effect of being able to.

[付記] 以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1) メモリー空間が複数のセグメントに領域分けされ、任意のセグメントから連結される他のセグメントを特定する情報である次ポインタ及び前記任意のセグメントを連結する他のセグメントを特定する情報である前ポインタを格納するポインタ格納領域、並びにデータを格納するデータ格納領域を各セグメントに有するチェーンメモリーと、前記次ポインタに生じたビットエラーを検出する誤り検出部と、前記ビットエラーが生じた次ポインタのビットパターンと前記ビットエラーの候補となる一又は複数箇所のビットを反転させるビットパターンとの排他的論理和を演算し、真の次ポインタを含む次ポインタ候補を算出するポインタ予測部と、前記次ポインタ候補のうち一の次ポインタ候補を選択し、当該一の次ポインタ候補が示す前記ポインタ格納領域のアドレスを特定すると共に、当該アドレスの前記ポインタ格納領域に格納された前ポインタが示す前記ポインタ格納領域のアドレスと前記ビットエラーが生じた次ポインタが格納された前記ポインタ格納領域のアドレスとの一致の有無を判定するポインタ検証部と、前記ポインタ検証部により一致ありと判定した場合に、前記ビットエラーが生じた次ポインタを、前記一致した前ポインタが格納されるポインタ格納領域のアドレスである前記次ポインタ候補に変換するポインタ復元部と、を備えている伝送装置。
[Appendix] The following appendices are further disclosed with respect to the embodiment including the above examples.
(Additional remark 1) The memory space is divided into a plurality of segments, and is information specifying a next pointer that is information specifying other segments connected from an arbitrary segment and other segments connecting the arbitrary segments. A pointer storage area for storing a previous pointer, a chain memory having a data storage area for storing data in each segment, an error detection unit for detecting a bit error occurring in the next pointer, and a next pointer in which the bit error has occurred A pointer prediction unit that calculates an exclusive OR of the bit pattern of the bit error and a bit pattern that inverts one or more bits that are candidates for the bit error, and calculates a next pointer candidate including a true next pointer; Select one next pointer candidate from the next pointer candidates, and the one next pointer candidate is displayed. The pointer storage area that specifies the address of the pointer storage area and stores the address of the pointer storage area indicated by the previous pointer stored in the pointer storage area of the address and the next pointer in which the bit error has occurred A pointer verification unit that determines whether or not there is a match with the address, and a pointer storage area that stores the next pointer in which the bit error has occurred when the pointer verification unit determines that there is a match. A pointer restoration unit that converts the pointer into a next pointer candidate that is an address of

(付記2) 前記次ポインタのうちビットエラーの候補となる一及び/又は複数箇所のビットを反転させるビットパターンを格納する反転パターン格納部を備えていることを特徴とする伝送装置。 (Additional remark 2) The transmission apparatus characterized by including the inversion pattern storage part which stores the bit pattern which inverts the bit of one and / or several places used as the candidate of a bit error among the said next pointers.

(付記3) 前記次ポインタのうちビットエラーの候補となる一及び/又は複数箇所のビットを反転させるビットパターンを生成する反転パターン生成部を備えていることを特徴とする伝送装置。 (Additional remark 3) The transmission apparatus characterized by including the inversion pattern production | generation part which produces | generates the bit pattern which inverts the bit of one and / or several places used as the candidate of a bit error among the said next pointers.

(付記4) 前記反転パターン格納部が、前記次ポインタのビットパターンのうち一箇所のビットを反転させるビットパターンと、当該ビットパターンに対して前記ビットを反転させるビット位置の上位及び/又は下位にあるビットを反転させるビットパターンとを格納していることを特徴とする伝送装置。 (Additional remark 4) The said inversion pattern storage part in the bit pattern which inverts the bit of one place among the bit patterns of the said next pointer, and the high-order and / or low-order of the bit position which inverts the said bit with respect to the said bit pattern A transmission apparatus storing a bit pattern for inverting a certain bit.

(付記5) 前記反転パターン格納部が、前記次ポインタの一箇所のビットを反転させるビットパターンと、前記次ポインタの二箇所のビットを反転させるビットパターンとからなる反転パターンを格納していることを特徴とする伝送装置。 (Additional remark 5) The said inversion pattern storage part stores the inversion pattern which consists of the bit pattern which inverts the bit of one place of the said next pointer, and the bit pattern which inverts the bit of two places of the said next pointer. A transmission device characterized by the above.

(付記6) 前記各セグメントが2のn乗のワードで構成されている場合に、前記ポインタ予測部が、前記次ポインタ候補のうち、ビット位置の第0ビットから第n−1ビットまでの値が1であるポインタ候補を削除することを特徴とする伝送装置。 (Additional remark 6) When each said segment is comprised by the word of the 2nd power, the said pointer prediction part is a value from the 0th bit of a bit position to the n-1th bit among the said next pointer candidates. A transmission apparatus characterized in that a pointer candidate having a value of 1 is deleted.

(付記7) メモリー空間が複数のセグメントに領域分けされ、任意のセグメントから連結される他のセグメントを特定する次ポインタ及び前記任意のセグメントを連結する他のセグメントを特定する前ポインタを格納するポインタ格納領域、並びにデータを格納するデータ格納領域を各セグメントに有するチェーンメモリーのリンク切れ修復方法であって、前記次ポインタに生じたビットエラーを検出する誤り検出ステップと、前記ビットエラーが生じた次ポインタのビットパターンと前記ビットエラーの候補となる一又は複数箇所のビットを反転させるビットパターンとの排他的論理和を演算し、真の次ポインタを含む次ポインタ候補を算出するポインタ予測ステップと、前記次ポインタ候補のうち一の次ポインタ候補を選択し、当該一の次ポインタ候補が示す前記ポインタ格納領域のアドレスを特定すると共に、当該アドレスの前記ポインタ格納領域に格納された前ポインタが示す前記ポインタ格納領域のアドレスと前記ビットエラーが生じた次ポインタが格納された前記ポインタ格納領域のアドレスとの一致の有無を判定するポインタ検証ステップと、前記ポインタ検証ステップにより一致ありと判定した場合に、前記ビットエラーが生じた次ポインタを、前記一致した前ポインタが格納されるポインタ格納領域のアドレスである前記次ポインタ候補に変換するポインタ復元ステップと、を有することを特徴とするリンク切れ修復方法。 (Supplementary note 7) A memory space is divided into a plurality of segments, and a pointer that stores a next pointer that specifies another segment connected from an arbitrary segment and a previous pointer that specifies another segment connecting the arbitrary segment A method of repairing a broken link in a chain memory having a storage area and a data storage area for storing data in each segment, an error detection step for detecting a bit error occurring in the next pointer, and a next in which the bit error has occurred A pointer prediction step of calculating an exclusive OR of a bit pattern of a pointer and a bit pattern that inverts one or a plurality of bits as candidates for the bit error, and calculating a next pointer candidate including a true next pointer; One next pointer candidate is selected from the next pointer candidates, and the one next pointer candidate is selected. The address of the pointer storage area indicated by the next pointer candidate is specified, and the address of the pointer storage area indicated by the previous pointer stored in the pointer storage area of the address and the next pointer in which the bit error has occurred are stored When the pointer verification step determines whether or not there is a match with the address of the pointer storage area, and when the pointer verification step determines that there is a match, the next pointer in which the bit error has occurred is stored as the matched previous pointer. And a pointer restoration step for converting the pointer into a next pointer candidate that is an address of a pointer storage area.

(付記8) 前記次ポインタの一及び/又は複数箇所のビットを反転させるビットパターンを生成する反転パターン生成ステップを有することを特徴とするリンク切れ修復方法。 (Additional remark 8) The link broken repair method characterized by having the inversion pattern production | generation step which produces | generates the bit pattern which inverts the bit of one and / or several places of the said next pointer.

(付記9) 前記ポインタ検証ステップにより一致なしと判定した場合に、前記ポインタ検証ステップが、前記次ポインタ候補のうち他の次ポインタ候補を選択し、当該他の次ポインタ候補が示す前記ポインタ格納領域のアドレスを特定すると共に、当該アドレスの前記ポインタ格納領域に格納された前ポインタが示す前記ポインタ格納領域のアドレスと前記ビットエラーが生じた次ポインタが格納された前記ポインタ格納領域のアドレスとの一致の有無を判定するステップを有することを特徴とするリンク切れ修復方法。 (Supplementary Note 9) When the pointer verification step determines that there is no match, the pointer verification step selects another next pointer candidate from the next pointer candidates, and the pointer storage area indicated by the other next pointer candidate The address of the pointer storage area indicated by the previous pointer stored in the pointer storage area of the address matches the address of the pointer storage area in which the next pointer in which the bit error has occurred is stored. A method for repairing a broken link, comprising the step of determining the presence or absence of a link.

(付記10) 前記反転パターン生成ステップが、前記次ポインタの一箇所のビットを反転させるビットパターンを生成するステップを有することを特徴とするリンク切れ修復方法。 (Additional remark 10) The said inversion pattern production | generation step has a step which produces | generates the bit pattern which inverts the bit of one place of the said next pointer, The broken link repair method characterized by the above-mentioned.

(付記11) 前記ポインタ検証ステップにより、前記次ポインタ候補の全ての次ポインタ候補において一致なしと判定した場合に、前記反転パターン生成ステップが、前記次ポインタの二箇所のビットを反転させるビットパターンを生成するステップを有することを特徴とするリンク切れ修復方法。 (Supplementary Note 11) When the pointer verification step determines that there is no match in all the next pointer candidates of the next pointer candidate, the inversion pattern generation step generates a bit pattern that inverts the two bits of the next pointer. A method for repairing broken links, comprising the step of generating.

10 メモリー
10a ポインタ格納領域
11 メモリー空間
11a ポインタ格納領域
11b データ格納領域
12 キュー
12a 低優先キュー
12b 高優先キュー
20 インターフェース
30 誤り検出部
40 反転パターン格納部
50 ポインタ予測部
60 ポインタ候補格納部
70 ポインタ検証部
80 ポインタ復元部
90 反転パターン生成部
100 伝送装置
10 memory 10a pointer storage area 11 memory space 11a pointer storage area 11b data storage area 12 queue 12a low priority queue 12b high priority queue 20 interface 30 error detection unit 40 reverse pattern storage unit 50 pointer prediction unit 60 pointer candidate storage unit 70 pointer verification Unit 80 pointer restoration unit 90 inversion pattern generation unit 100 transmission device

Claims (6)

メモリー空間が複数のセグメントに領域分けされ、任意のセグメントから連結される他のセグメントを特定する情報である次ポインタ及び前記任意のセグメントを連結する他のセグメントを特定する情報である前ポインタを格納するポインタ格納領域、並びにデータを格納するデータ格納領域を各セグメントに有するチェーンメモリーと、
前記次ポインタに生じたビットエラーを検出する誤り検出部と、
前記ビットエラーが生じた次ポインタのビットパターンと前記ビットエラーの候補となる一又は複数箇所のビットを反転させるビットパターンとの排他的論理和を演算し、真の次ポインタを含む次ポインタ候補を算出するポインタ予測部と、
前記次ポインタ候補のうち一の次ポインタ候補を選択し、当該一の次ポインタ候補が示す前記ポインタ格納領域のアドレスを特定すると共に、当該アドレスの前記ポインタ格納領域に格納された前ポインタが示す前記ポインタ格納領域のアドレスと前記ビットエラーが生じた次ポインタが格納された前記ポインタ格納領域のアドレスとの一致の有無を判定するポインタ検証部と、
前記ポインタ検証部により一致ありと判定した場合に、前記ビットエラーが生じた次ポインタを、前記一致した前ポインタが格納されるポインタ格納領域のアドレスである前記次ポインタ候補に変換するポインタ復元部と、
を備えている伝送装置。
The memory space is divided into a plurality of segments, and a next pointer that is information for specifying other segments connected from an arbitrary segment and a previous pointer that is information for specifying other segments connecting the arbitrary segments are stored. A chain storage memory in each segment having a pointer storage area for storing data and a data storage area for storing data;
An error detection unit for detecting a bit error generated in the next pointer;
Calculate the exclusive OR of the bit pattern of the next pointer in which the bit error has occurred and the bit pattern that inverts one or more bits that are candidates for the bit error, and the next pointer candidate including the true next pointer is calculated. A pointer prediction unit to calculate,
One next pointer candidate is selected from the next pointer candidates, the address of the pointer storage area indicated by the one next pointer candidate is specified, and the previous pointer stored in the pointer storage area of the address indicates A pointer verification unit that determines whether there is a match between the address of the pointer storage area and the address of the pointer storage area in which the next pointer in which the bit error has occurred is stored;
A pointer restoration unit that converts the next pointer in which the bit error has occurred into the next pointer candidate that is an address of a pointer storage area in which the matched previous pointer is stored when the pointer verification unit determines that there is a match; ,
A transmission device comprising:
前記請求項1に記載の伝送装置において、
前記次ポインタのうちビットエラーの候補となる一及び/又は複数箇所のビットを反転させるビットパターンを格納する反転パターン格納部を備えていることを特徴とする伝送装置。
The transmission apparatus according to claim 1, wherein
A transmission apparatus comprising: an inversion pattern storage unit for storing a bit pattern for inverting one and / or a plurality of bits that are candidates for bit errors in the next pointer.
前記請求項1に記載の伝送装置において、
前記次ポインタのうちビットエラーの候補となる一及び/又は複数箇所のビットを反転させるビットパターンを生成する反転パターン生成部を備えていることを特徴とする伝送装置。
The transmission apparatus according to claim 1, wherein
A transmission apparatus, comprising: an inversion pattern generation unit that generates a bit pattern for inverting one and / or a plurality of bits that are candidates for a bit error in the next pointer.
前記請求項2に記載の伝送装置において、
前記反転パターン格納部が、前記次ポインタのビットパターンのうち一箇所のビットを反転させるビットパターンと、当該ビットパターンに対して前記ビットを反転させるビット位置の上位及び/又は下位にあるビットを反転させるビットパターンとを格納していることを特徴とする伝送装置。
The transmission apparatus according to claim 2, wherein
The inversion pattern storage unit inverts a bit pattern that inverts one bit in the bit pattern of the next pointer, and a bit at a higher position and / or a lower position of a bit position that inverts the bit with respect to the bit pattern. And a bit pattern to be stored.
前記請求項1乃至4のいずれかに記載の伝送装置において、
前記各セグメントが2のn乗のワードで構成されている場合に、前記ポインタ予測部が、前記次ポインタ候補のうち、ビット位置の第0ビットから第n−1ビットまでの値が1であるポインタ候補を削除することを特徴とする伝送装置。
In the transmission apparatus according to any one of claims 1 to 4,
When each segment is composed of 2 n words, the pointer prediction unit has a value of 0 from the 0th bit to the (n−1) th bit in the next pointer candidate. A transmission apparatus that deletes pointer candidates.
メモリー空間が複数のセグメントに領域分けされ、任意のセグメントから連結される他のセグメントを特定する次ポインタ及び前記任意のセグメントを連結する他のセグメントを特定する前ポインタを格納するポインタ格納領域、並びにデータを格納するデータ格納領域を各セグメントに有するチェーンメモリーのリンク切れ修復方法であって、
前記次ポインタに生じたビットエラーを検出する誤り検出ステップと、
前記ビットエラーが生じた次ポインタのビットパターンと前記ビットエラーの候補となる一又は複数箇所のビットを反転させるビットパターンとの排他的論理和を演算し、真の次ポインタを含む次ポインタ候補を算出するポインタ予測ステップと、
前記次ポインタ候補のうち一の次ポインタ候補を選択し、当該一の次ポインタ候補が示す前記ポインタ格納領域のアドレスを特定すると共に、当該アドレスの前記ポインタ格納領域に格納された前ポインタが示す前記ポインタ格納領域のアドレスと前記ビットエラーが生じた次ポインタが格納された前記ポインタ格納領域のアドレスとの一致の有無を判定するポインタ検証ステップと、
前記ポインタ検証ステップにより一致ありと判定した場合に、前記ビットエラーが生じた次ポインタを、前記一致した前ポインタが格納されるポインタ格納領域のアドレスである前記次ポインタ候補に変換するポインタ復元ステップと、
を有することを特徴とするリンク切れ修復方法。
A memory area divided into a plurality of segments, a pointer storage area for storing a next pointer that specifies another segment connected from an arbitrary segment, a previous pointer that specifies another segment connecting the arbitrary segment, and A method for repairing a broken link in a chain memory having a data storage area for storing data in each segment,
An error detection step of detecting a bit error occurring in the next pointer;
Calculate the exclusive OR of the bit pattern of the next pointer in which the bit error has occurred and the bit pattern that inverts one or more bits that are candidates for the bit error, and the next pointer candidate including the true next pointer is calculated. A pointer prediction step to calculate,
One next pointer candidate is selected from the next pointer candidates, the address of the pointer storage area indicated by the one next pointer candidate is specified, and the previous pointer stored in the pointer storage area of the address indicates A pointer verification step for determining whether there is a match between the address of the pointer storage area and the address of the pointer storage area in which the next pointer in which the bit error has occurred is stored;
A pointer restoration step of converting the next pointer in which the bit error has occurred into the next pointer candidate that is an address of a pointer storage area in which the matched previous pointer is stored when it is determined that there is a match in the pointer verification step; ,
A method for repairing broken links, comprising:
JP2009024946A 2009-02-05 2009-02-05 Transmission device and broken link repair method Expired - Fee Related JP5356852B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009024946A JP5356852B2 (en) 2009-02-05 2009-02-05 Transmission device and broken link repair method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009024946A JP5356852B2 (en) 2009-02-05 2009-02-05 Transmission device and broken link repair method

Publications (2)

Publication Number Publication Date
JP2010182086A JP2010182086A (en) 2010-08-19
JP5356852B2 true JP5356852B2 (en) 2013-12-04

Family

ID=42763642

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009024946A Expired - Fee Related JP5356852B2 (en) 2009-02-05 2009-02-05 Transmission device and broken link repair method

Country Status (1)

Country Link
JP (1) JP5356852B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01251230A (en) * 1988-03-31 1989-10-06 Toshiba Corp Program converting system
JPH0895867A (en) * 1994-09-28 1996-04-12 Fuji Facom Corp Method for managing storage area of control arithmetic unit
JP2002175211A (en) * 2000-12-07 2002-06-21 Sharp Corp System and method for controlling data
JP2004348451A (en) * 2003-05-22 2004-12-09 Fujitsu Ltd Circuit for checking link of pointer

Also Published As

Publication number Publication date
JP2010182086A (en) 2010-08-19

Similar Documents

Publication Publication Date Title
US9317362B2 (en) Method and system to improve the performance and/or reliability of a solid-state drive
JP4036338B2 (en) Method and apparatus for correcting and detecting multiple spotty byte errors in a byte with a limited number of error bytes
JP3234130B2 (en) Error correction code decoding method and circuit using this method
US8880980B1 (en) System and method for expeditious transfer of data from source to destination in error corrected manner
EP1828899B1 (en) Method and system for syndrome generation and data recovery
KR101801075B1 (en) Method, apparatus, and system for reading and writing data
KR102143353B1 (en) An apparatus and method for correcting errors in data accessed from a memory device
KR20090028507A (en) Non-volatile memory error correction system and method
US8719659B2 (en) Storage apparatus and fault diagnosis method
JPS6115238A (en) Correction of errors
CN101615145A (en) A kind of method and apparatus that improves reliability of data caching of memorizer
US20150089328A1 (en) Flex Erasure Coding of Controllers of Primary Hard Disk Drives Controller
US8738990B2 (en) Cyclic redundancy check generation via distributed time multiplexed linear feedback shift registers
CN102096558A (en) Data storage method and device
US3218612A (en) Data transfer system
JP5356852B2 (en) Transmission device and broken link repair method
JP2009259113A (en) Nonvolatile memory management device
JP2009238256A (en) Semiconductor memory device
CN111464258B (en) Data verification method, device, computing equipment and medium
US9400715B1 (en) System and method for interconnecting storage elements
KR20190132237A (en) Memory system and operation method of memory system
CN110431531B (en) Storage controller, data processing chip and data processing method
JP2020135391A (en) Memory system
CN114691414A (en) Check block generation method and data recovery method
US20160048422A1 (en) Error detection device and error detection method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110902

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: 20130820

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130829

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