(57)【要約】【課題】連続するデータから算出した誤り訂正符号を付加する場合に比べて、エラー訂正能力を向上するとともに、伝送帯域を有効利用することができるデータ伝送装置、データ送信装置、データ受信装置及びデータ伝送システムを提供する。【解決手段】データ伝送装置１は、要求に応じたパケットを生成するパケットエンコーダ１１と、生成されたパケットからフレームを順次形成し、これに水平ＥＥＣ及び対角ＥＣＣを付加してＥＣＣフレームを生成するＥＣＣフレームエンコーダ１２と、ＥＣＣフレームを伝送路を介して送信するトランスミッタ１３と、伝送路を介してＥＣＣフレームを受信するレシーバ１４と、水平ＥＣＣ及び対角ＥＣＣに基づいてＥＣＣフレームの誤り検出及び訂正を行うＥＣＣフレームデコーダ１５と、ＥＣＣフレームから水平ＥＣＣ及び対角ＥＣＣを除去してパケットを抽出するパケットデコーダ１６とを備える。【選択図】図２
2009065255.tif 000002
【特許請求の範囲】
【請求項１】
複数のブロックにより構成されたフレームを順次形成するフレーム形成部と、
前記フレーム形成部により形成された前記フレームに含まれる複数の前記ブロックから水平誤り訂正符号を算出し、この算出した前記水平誤り訂正符号を前記フレームに付加する水平誤り訂正符号付加部と、
前記フレーム形成部により順次形成された複数の前記フレームを時系列的に並列に配置したとき、複数の前記フレームに含まれる複数の前記ブロックのうち斜め方向に位置する複数の前記ブロックから対角誤り訂正符号を算出し、この算出した前記対角誤り訂正符号を前記水平誤り訂正符号が付加された前記フレームに付加する対角誤り訂正符号付加部と、
前記フレームに前記水平誤り訂正符号及び前記対角誤り訂正符号が付加された誤り訂正符号付きフレームを伝送路を介して送信する送信部と、
前記伝送路を介して前記誤り訂正符号付きフレームを受信する受信部と、
前記受信部により受信された前記誤り訂正符号付きフレームに対して、前記水平誤り訂正符号及び対角誤り訂正符号に基づいて誤り検出及び訂正を行う誤り検出訂正部とを備えたデータ伝送装置。
【請求項２】
要求に応じたパケットを生成するパケット生成部と、
前記パケット生成部により生成された前記パケットを複数のブロックに分割し、この分割した複数の前記ブロックにより構成されたフレームを順次形成するフレーム形成部と、
前記フレーム形成部により形成された前記フレームに含まれる複数の前記ブロックから水平誤り訂正符号を算出し、この算出した前記水平誤り訂正符号を前記フレームに付加する水平誤り訂正符号付加部と、
前記フレーム形成部により順次形成された複数の前記フレームを時系列的に並列に配置したとき、複数の前記フレームに含まれる複数の前記ブロックのうち斜め方向に位置する複数の前記ブロックから対角誤り訂正符号を算出し、この算出した前記対角誤り訂正符号を前記水平誤り訂正符号が付加された前記フレームに付加する対角誤り訂正符号付加部と、
前記フレームに前記水平誤り訂正符号及び前記対角誤り訂正符号が付加された誤り訂正符号付きフレームを伝送路を介して送信する送信部と、
前記伝送路を介して前記誤り訂正符号付きフレームを受信する受信部と、
前記受信部により受信された前記誤り訂正符号付きフレームに対して、前記水平誤り訂正符号及び対角誤り訂正符号に基づいて誤り検出及び訂正を行う誤り検出訂正部と、
前記誤り検出及び訂正が行われた前記誤り訂正符号付きフレームから前記水平誤り訂正符号及び前記対角誤り訂正符号を除去して前記パケットを抽出するパケット抽出部とを備えたデータ伝送装置。
【請求項３】
前記誤り検出訂正部は、前記誤り訂正符号付きフレームに対して、前記水平誤り訂正符号による誤り検出及び訂正を行い、訂正不可能な誤りが検出されたとき、前記水平誤り訂正符号による前記誤り検出及び訂正が行われた前記誤り訂正符号付きフレームに対して、前記対角誤り訂正符号による誤り検出及び訂正を行う請求項１又は２に記載のデータ伝送装置。
【請求項４】
前記誤り検出訂正部は、前記誤り訂正符号付きフレームに対して、前記対角誤り訂正符号による誤り検出及び訂正を行い、訂正不可能な誤りが検出されたとき、前記対角誤り訂正符号による前記誤り検出及び訂正が行われた前記誤り訂正符号付きフレームに対して、前記水平誤り訂正符号による誤り検出及び訂正を行う請求項１又は２に記載のデータ伝送装置。
【請求項５】
所定のビット数からなるｎ個のブロックにより構成されたｎ個のフレームを形成するフレーム形成部と、
前記フレーム形成部により形成されたｎ個のうちｋ番目の前記フレームに含まれるｎ個の前記ブロック｛Ｂ１（ｋ），Ｂ２（ｋ），…，Ｂｎ（ｋ）｝から水平誤り訂正符号ＥＣＣＨ（ｋ）を算出し、この算出した前記水平誤り訂正符号ＥＣＣＨ（ｋ）をｋ番目の前記フレームに付加する水平誤り訂正符号付加部と、
前記フレーム形成部により形成された（ｋ−ｎ＋１）番目からｋ番目までのｎ個の前記フレームに含まれる前記ブロックのうちｎ個の前記ブロック｛Ｂ１（ｋ−ｎ＋１），Ｂ２（ｋ−ｎ＋２），…，Ｂｎ（ｋ）｝から対角誤り訂正符号ＥＣＣＤ（ｋ）を算出し、この算出した前記対角誤り訂正符号ＥＣＣＤ（ｋ）を前記水平誤り訂正符号ＥＣＣＨ（ｋ）が付加されたｋ番目の前記フレームに付加する対角誤り訂正符号付加部と、
ｎ個の前記フレームに前記水平誤り訂正符号及び前記対角誤り訂正符号が付加された誤り訂正符号付きフレームを伝送路を介して送信する送信部と、
前記伝送路を介して前記誤り訂正符号付きフレームを受信する受信部と、
前記受信部により受信された（ｋ−ｎ＋１）番目の前記誤り訂正符号付きフレームに対して、（ｋ−ｎ＋１）番目の前記誤り訂正符号付きフレームに含まれる前記水平誤り訂正符号ＥＣＣＨ（ｋ−ｎ＋１）と、（ｋ−ｎ＋１）番目からｋ番目までのｎ個の前記誤り訂正符号付きフレームに含まれるｎ個の前記対角誤り訂正符号｛ＥＣＣＤ（ｋ−ｎ＋１），ＥＣＣＤ（ｋ−ｎ＋２），…，ＥＣＣＤ（ｋ）｝とに基づいて誤り検出及び訂正を行う誤り検出訂正部とを備えたデータ伝送装置。
【請求項６】
前記誤り検出訂正部は、（ｋ−ｎ＋１）番目の前記誤り訂正符号付きフレームに対して、前記水平誤り訂正符号ＥＣＣＨ（ｋ−ｎ＋１）による誤り検出及び訂正を行い、検出した誤りビット数が１以下であるとき、その検出した誤りビット数を上位装置に通知し、検出した誤りビット数が２以上であるとき、前記誤り訂正符号付きフレームに対して、ｎ個の前記対角誤り訂正符号｛ＥＣＣＤ（ｋ−ｎ＋１）、ＥＣＣＤ（ｋ−ｎ＋２）、…、ＥＣＣＤ（ｋ）｝による誤り検出及び訂正を行い、ｎ個の前記対角誤り訂正符号により検出されたｎ個の誤りビット数のうち最大の誤りビット数を前記上位装置に通知する請求項５に記載のデータ伝送装置。
【請求項７】
複数のブロックにより構成されたフレームを順次形成するフレーム形成部と、
前記フレーム形成部により形成された前記フレームに含まれる複数の前記ブロックから水平誤り訂正符号を算出し、この算出した前記水平誤り訂正符号を前記フレームに付加する水平誤り訂正符号付加部と、
前記フレーム形成部により順次形成された複数の前記フレームを時系列的に並列に配置したとき、複数の前記フレームに含まれる複数の前記ブロックのうち斜め方向に位置する複数の前記ブロックから対角誤り訂正符号を算出し、この算出した前記対角誤り訂正符号を前記水平誤り訂正符号が付加された前記フレームに付加する対角誤り訂正符号付加部と、
前記フレームに前記水平誤り訂正符号及び前記対角誤り訂正符号が付加された誤り訂正符号付きフレームを伝送路を介して送信する送信部とを備えたデータ送信装置。
【請求項８】
複数のブロックにより構成されたフレームに、前記フレームに含まれる複数の前記ブロックから算出された水平誤り訂正符号と、複数の前記フレームを時系列的に並列に配置したとき複数の前記フレームに含まれる複数の前記ブロックのうち斜め方向に位置する複数の前記ブロックから算出された対角誤り訂正符号とが付加された誤り訂正符号付きフレームを受信する受信部と、
前記伝送路を介して前記誤り訂正符号付きフレームを受信する受信部と、
前記受信部により受信された前記誤り訂正符号付きフレームに対して、前記水平誤り訂正符号及び対角誤り訂正符号に基づいて誤り検出及び訂正を行う誤り検出訂正部とを備えたデータ受信装置。
【請求項９】
複数のブロックにより構成されたフレームを順次形成するフレーム形成部と、
前記フレーム形成部により形成された前記フレームに含まれる複数の前記ブロックから水平誤り訂正符号を算出し、この算出した前記水平誤り訂正符号を前記フレームに付加する水平誤り訂正符号付加部と、
前記フレーム形成部により順次形成された複数の前記フレームを時系列的に並列に配置したとき、複数の前記フレームに含まれる複数の前記ブロックのうち斜め方向に位置する複数の前記ブロックから対角誤り訂正符号を算出し、この算出した前記対角誤り訂正符号を前記水平誤り訂正符号が付加された前記フレームに付加する対角誤り訂正符号付加部と、
前記フレームに前記水平誤り訂正符号及び前記対角誤り訂正符号が付加された誤り訂正符号付きフレームを伝送路を介して送信する送信部と、
前記送信部に接続され、前記誤り訂正符号付きフレームを伝送する伝送路と、
前記伝送路を介して前記誤り訂正符号付きフレームを受信する受信部と、
前記受信部により受信された前記誤り訂正符号付きフレームに対して、前記水平誤り訂正符号及び対角誤り訂正符号に基づいて誤り検出及び訂正を行う誤り検出訂正部とを備えたデータ伝送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ伝送装置、データ送信装置、データ受信装置及びデータ伝送システムに関する。
【背景技術】
【０００２】
送信するデータにパケット誤り訂正符号及びブロック誤り訂正符号を付加して送信するパケットベース通信システムが提案されている（例えば、特許文献１参照。）。
【０００３】
このパケットベース通信システムによれば、固定長のパケットにパケット誤り訂正符号を付加し、パケット誤り訂正符号が付加された複数のパケットからなるブロックにブロック誤り訂正符号を付加して送信する。そして、ブロック誤り訂正符号によりブロックにおける誤りが訂正され、各パケット誤り訂正符号によりブロックに含まれる各パケットにおける誤りが訂正される。
【特許文献１】特表２００５−５１２３５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、連続するデータから算出した誤り訂正符号を付加する場合に比べて、エラー訂正能力を向上するとともに、伝送帯域を有効利用することができるデータ伝送装置、データ送信装置、データ受信装置及びデータ伝送システムを提供することにある。
【課題を解決するための手段】
【０００５】
本発明は、上記目的を達成するため、以下のデータ伝送装置、データ送信装置、データ受信装置及びデータ伝送システムを提供する。
【０００６】
［１］複数のブロックにより構成されたフレームを順次形成するフレーム形成部と、前記フレーム形成部により形成された前記フレームに含まれる複数の前記ブロックから水平誤り訂正符号を算出し、この算出した前記水平誤り訂正符号を前記フレームに付加する水平誤り訂正符号付加部と、前記フレーム形成部により順次形成された複数の前記フレームを時系列的に並列に配置したとき、複数の前記フレームに含まれる複数の前記ブロックのうち斜め方向に位置する複数の前記ブロックから対角誤り訂正符号を算出し、この算出した前記対角誤り訂正符号を前記水平誤り訂正符号が付加された前記フレームに付加する対角誤り訂正符号付加部と、前記フレームに前記水平誤り訂正符号及び前記対角誤り訂正符号が付加された誤り訂正符号付きフレームを伝送路を介して送信する送信部と、前記伝送路を介して前記誤り訂正符号付きフレームを受信する受信部と、前記受信部により受信された前記誤り訂正符号付きフレームに対して、前記水平誤り訂正符号及び対角誤り訂正符号に基づいて誤り検出及び訂正を行う誤り検出訂正部とを備えたデータ伝送装置。
【０００７】
［２］要求に応じたパケットを生成するパケット生成部と、前記パケット生成部により生成された前記パケットを複数のブロックに分割し、この分割した複数の前記ブロックにより構成されたフレームを順次形成するフレーム形成部と、前記フレーム形成部により形成された前記フレームに含まれる複数の前記ブロックから水平誤り訂正符号を算出し、この算出した前記水平誤り訂正符号を前記フレームに付加する水平誤り訂正符号付加部と、前記フレーム形成部により順次形成された複数の前記フレームを時系列的に並列に配置したとき、複数の前記フレームに含まれる複数の前記ブロックのうち斜め方向に位置する複数の前記ブロックから対角誤り訂正符号を算出し、この算出した前記対角誤り訂正符号を前記水平誤り訂正符号が付加された前記フレームに付加する対角誤り訂正符号付加部と、前記フレームに前記水平誤り訂正符号及び前記対角誤り訂正符号が付加された誤り訂正符号付きフレームを伝送路を介して送信する送信部と、前記伝送路を介して前記誤り訂正符号付きフレームを受信する受信部と、前記受信部により受信された前記誤り訂正符号付きフレームに対して、前記水平誤り訂正符号及び対角誤り訂正符号に基づいて誤り検出及び訂正を行う誤り検出訂正部と、前記誤り検出及び訂正が行われた前記誤り訂正符号付きフレームから前記水平誤り訂正符号及び前記対角誤り訂正符号を除去して前記パケットを抽出するパケット抽出部とを備えたデータ伝送装置。
【０００８】
［３］前記誤り検出訂正部は、前記誤り訂正符号付きフレームに対して、前記水平誤り訂正符号による誤り検出及び訂正を行い、訂正不可能な誤りが検出されたとき、前記水平誤り訂正符号による前記誤り検出及び訂正が行われた前記誤り訂正符号付きフレームに対して、前記対角誤り訂正符号による誤り検出及び訂正を行う前記［１］又は［２］に記載のデータ伝送装置。
【０００９】
［４］前記誤り検出訂正部は、前記誤り訂正符号付きフレームに対して、前記対角誤り訂正符号による誤り検出及び訂正を行い、訂正不可能な誤りが検出されたとき、前記対角誤り訂正符号による前記誤り検出及び訂正が行われた前記誤り訂正符号付きフレームに対して、前記水平誤り訂正符号による誤り検出及び訂正を行う前記［１］又は［２］に記載のデータ伝送装置。
【００１０】
［５］所定のビット数からなるｎ個のブロックにより構成されたｎ個のフレームを形成するフレーム形成部と、前記フレーム形成部により形成されたｎ個のうちｋ番目の前記フレームに含まれるｎ個の前記ブロック｛Ｂ１（ｋ），Ｂ２（ｋ），…，Ｂｎ（ｋ）｝から水平誤り訂正符号ＥＣＣＨ（ｋ）を算出し、この算出した前記水平誤り訂正符号ＥＣＣＨ（ｋ）をｋ番目の前記フレームに付加する水平誤り訂正符号付加部と、前記フレーム形成部により形成された（ｋ−ｎ＋１）番目からｋ番目までのｎ個の前記フレームに含まれる前記ブロックのうちｎ個の前記ブロック｛Ｂ１（ｋ−ｎ＋１），Ｂ２（ｋ−ｎ＋２），…，Ｂｎ（ｋ）｝から対角誤り訂正符号ＥＣＣＤ（ｋ）を算出し、この算出した前記対角誤り訂正符号ＥＣＣＤ（ｋ）を前記水平誤り訂正符号ＥＣＣＨ（ｋ）が付加されたｋ番目の前記フレームに付加する対角誤り訂正符号付加部と、ｎ個の前記フレームに前記水平誤り訂正符号及び前記対角誤り訂正符号が付加された誤り訂正符号付きフレームを伝送路を介して送信する送信部と、前記伝送路を介して前記誤り訂正符号付きフレームを受信する受信部と、前記受信部により受信された（ｋ−ｎ＋１）番目の前記誤り訂正符号付きフレームに対して、（ｋ−ｎ＋１）番目の前記誤り訂正符号付きフレームに含まれる前記水平誤り訂正符号ＥＣＣＨ（ｋ−ｎ＋１）と、（ｋ−ｎ＋１）番目からｋ番目までのｎ個の前記誤り訂正符号付きフレームに含まれるｎ個の前記対角誤り訂正符号｛ＥＣＣＤ（ｋ−ｎ＋１），ＥＣＣＤ（ｋ−ｎ＋２），…，ＥＣＣＤ（ｋ）｝とに基づいて誤り検出及び訂正を行う誤り検出訂正部とを備えたデータ伝送装置。
【００１１】
［６］前記誤り検出訂正部は、（ｋ−ｎ＋１）番目の前記誤り訂正符号付きフレームに対して、前記水平誤り訂正符号ＥＣＣＨ（ｋ−ｎ＋１）による誤り検出及び訂正を行い、検出した誤りビット数が１以下であるとき、その検出した誤りビット数を上位装置に通知し、検出した誤りビット数が２以上であるとき、前記誤り訂正符号付きフレームに対して、ｎ個の前記対角誤り訂正符号｛ＥＣＣＤ（ｋ−ｎ＋１）、ＥＣＣＤ（ｋ−ｎ＋２）、…、ＥＣＣＤ（ｋ）｝による誤り検出及び訂正を行い、ｎ個の前記対角誤り訂正符号により検出されたｎ個の誤りビット数のうち最大の誤りビット数を前記上位装置に通知する前記［５］に記載のデータ伝送装置。
【００１２】
［７］複数のブロックにより構成されたフレームを順次形成するフレーム形成部と、前記フレーム形成部により形成された前記フレームに含まれる複数の前記ブロックから水平誤り訂正符号を算出し、この算出した前記水平誤り訂正符号を前記フレームに付加する水平誤り訂正符号付加部と、前記フレーム形成部により順次形成された複数の前記フレームを時系列的に並列に配置したとき、複数の前記フレームに含まれる複数の前記ブロックのうち斜め方向に位置する複数の前記ブロックから対角誤り訂正符号を算出し、この算出した前記対角誤り訂正符号を前記水平誤り訂正符号が付加された前記フレームに付加する対角誤り訂正符号付加部と、前記フレームに前記水平誤り訂正符号及び前記対角誤り訂正符号が付加された誤り訂正符号付きフレームを伝送路を介して送信する送信部とを備えたデータ送信装置。
【００１３】
［８］複数のブロックにより構成されたフレームに、前記フレームに含まれる複数の前記ブロックから算出された水平誤り訂正符号と、複数の前記フレームを時系列的に並列に配置したとき複数の前記フレームに含まれる複数の前記ブロックのうち斜め方向に位置する複数の前記ブロックから算出された対角誤り訂正符号とが付加された誤り訂正符号付きフレームを受信する受信部と、前記伝送路を介して前記誤り訂正符号付きフレームを受信する受信部と、前記受信部により受信された前記誤り訂正符号付きフレームに対して、前記水平誤り訂正符号及び対角誤り訂正符号に基づいて誤り検出及び訂正を行う誤り検出訂正部とを備えたデータ受信装置。
【００１４】
［９］複数のブロックにより構成されたフレームを順次形成するフレーム形成部と、前記フレーム形成部により形成された前記フレームに含まれる複数の前記ブロックから水平誤り訂正符号を算出し、この算出した前記水平誤り訂正符号を前記フレームに付加する水平誤り訂正符号付加部と、前記フレーム形成部により順次形成された複数の前記フレームを時系列的に並列に配置したとき、複数の前記フレームに含まれる複数の前記ブロックのうち斜め方向に位置する複数の前記ブロックから対角誤り訂正符号を算出し、この算出した前記対角誤り訂正符号を前記水平誤り訂正符号が付加された前記フレームに付加する対角誤り訂正符号付加部と、前記フレームに前記水平誤り訂正符号及び前記対角誤り訂正符号が付加された誤り訂正符号付きフレームを伝送路を介して送信する送信部と、前記送信部に接続され、前記誤り訂正符号付きフレームを伝送する伝送路と、前記伝送路を介して前記誤り訂正符号付きフレームを受信する受信部と、前記受信部により受信された前記誤り訂正符号付きフレームに対して、前記水平誤り訂正符号及び対角誤り訂正符号に基づいて誤り検出及び訂正を行う誤り検出訂正部とを備えたデータ伝送システム。
【発明の効果】
【００１５】
請求項１に係るデータ伝送装置によれば、連続するデータから算出した誤り訂正符号を付加する場合に比べて、データ伝送におけるエラー訂正能力を向上するとともに、伝送帯域を有効利用することができる。
【００１６】
請求項２に係るデータ伝送装置によれば、連続するデータから算出した誤り訂正符号を付加する場合に比べて、データ伝送におけるエラー訂正能力を向上するとともに、伝送帯域を有効利用することができる。
【００１７】
請求項３に係るデータ伝送装置によれば、水平誤り訂正符号により訂正不可能な誤りが検出されても、対角誤り訂正符号により訂正できる場合がある。
【００１８】
請求項４に係るデータ伝送装置によれば、対角誤り訂正符号により訂正不可能な誤りが検出されても、水平誤り訂正符号により訂正できる場合がある。
【００１９】
請求項５に係るデータ伝送装置によれば、本構成を有していない場合に比較して、水平誤り訂正符号付加部、対角誤り訂正符号付加部及び誤り検出訂正部の構成を簡略化することができる。
【００２０】
請求項６に係るデータ伝送装置によれば、１つのフレームに対して検出されたデータ伝送の誤りビット数を上位装置に通知することができる。
【００２１】
請求項７に係るデータ送信装置によれば、連続するデータから算出した誤り訂正符号を付加する場合に比べて、データ伝送におけるエラー訂正能力を向上するとともに、伝送帯域を有効利用することができる。
【００２２】
請求項８に係るデータ受信装置によれば、連続するデータから算出した誤り訂正符号を付加する場合に比べて、データ伝送におけるエラー訂正能力を向上するとともに、伝送帯域を有効利用することができる。
【００２３】
請求項９に係るデータ伝送システムによれば、連続するデータから算出した誤り訂正符号を付加する場合に比べて、データ伝送におけるエラー訂正能力を向上するとともに、伝送帯域を有効利用することができる。
【発明を実施するための最良の形態】
【００２４】
本発明のデータ伝送装置、データ送信装置、データ受信装置及びデータ伝送システムを適用したストレージシステムについて説明する。
【００２５】
（ストレージシステムの構成）
図１は、本発明の実施の形態に係るストレージシステムの概略構成の一例を示す全体図である。このストレージシステム１００は、ホストコンピュータ１０１と、半導体ディスク装置１０２とから構成されている。
【００２６】
半導体ディスク装置１０２は、ホストコンピュータ１０１に接続されたホストバスインタフェース（Ｉ／Ｆ）２と、ホストバスＩ／Ｆ２にＰＣＩ  Ｅｘｐｒｅｓｓ（登録商標）等のシリアル伝送路３によって接続されたメモリコントローラ４と、データが格納される半導体メモリ５とを備える。
【００２７】
ホストバスＩ／Ｆ２及びメモリコントローラ４は、それぞれに設けられた高速シリアル伝送技術を応用したデータ伝送装置１により接続されている。データ伝送装置１は、データ送信装置とデータ受信装置とから構成され、ホストバスＩ／Ｆ２及びメモリコントローラ４の一方のデータ送信装置と、シリアル伝送路３と、一方のデータ受信装置とからデータ伝送システム１０を構成している。
【００２８】
ホストバスＩ／Ｆ２は、ホストコンピュータ１０１から発行されたコマンドを解釈して、データ伝送装置１を介してメモリコントローラ４に半導体メモリ５にアクセスするよう指示をする。また、ホストバスＩ／Ｆ２は、メモリコントローラ４からアクセス結果が返されると、ホストコンピュータ１０１に処理が終了したことを通知し、ホストコンピュータ１０１から発行されたコマンドに応じて、データを返信する。
【００２９】
メモリコントローラ４は、ホストバスＩ／Ｆ２からの指示を受けると、半導体メモリ５にアクセスし、その結果を再びデータ伝送装置１を介してホストバスＩ／Ｆ２に返す。
【００３０】
（データ伝送装置の構成）
図２は、ホストバスＩ／Ｆ２に設けられたデータ伝送装置１の概略構成の一例を示すブロック図である。メモリコントローラ４に設けられたデータ伝送装置１も、図２と同様に構成されているので、その説明を省略する。データ伝送装置１は、前述したようにデータ送信装置１ａと、データ受信装置１ｂとから構成されている。
【００３１】
データ送信装置１ａは、ホストバスＩ／Ｆ２を制御する制御部２０からの要求に応じたパケットを生成するパケットエンコーダ（パケット生成部）１１と、生成されたパケットに誤り訂正符号（Error Correcting Code、以下「ＥＣＣ」と略す。）を付加したＥＣＣフレーム（誤り訂正符号付きフレーム）を生成するＥＣＣフレームエンコーダ１２と、ＥＣＣフレームをパラレルデータからシリアルデータに変換して送出するトランスミッタ（送信部）１３とを備える。
【００３２】
データ受信装置１ｂは、受信したＥＣＣフレームをシリアルデータからパラレルデータに変換するレシーバ（受信部）１４と、ＥＣＣに基づいてエラー検出及び訂正を行うＥＣＣフレームデコーダ１５と、ＥＣＣフレームからパケットを抽出するパケットデコーダ（パケット抽出部）１６とを備える。
【００３３】
（ＥＣＣフレームエンコーダ）
ＥＣＣフレームエンコーダ１２は、固定長フレーム形成部１２０、８Ｂ１０Ｂ符号化部１２１、水平ＥＣＣ付加部１２２、対角ＥＣＣ付加部１２３及び送信フレーム記憶部１２４を備える。
【００３４】
送信フレーム記憶部１２４には、ＥＣＣフレームエンコーダ１２により生成された複数のＥＣＣフレームが時系列的に記憶されている。
【００３５】
固定長フレーム形成部１２０は、パケットエンコーダ１１によって生成されたパケットを分割またはダミーデータの付加により、複数のブロックにより構成された所定の長さのフレーム（固定長フレームという。）を順次形成する。ここで、例えば、固定長フレームの長さを６４ビット、１つのブロックの長さを８ビットとすると、固定長フレームは、８つのブロックにより構成される。
【００３６】
８Ｂ１０Ｂ符号化部１２１は、固定長フレーム形成部１２０によって形成された、例えば、６４ビットの固定長フレームを８Ｂ１０Ｂ変換によるエンコード処理（ＤＣバランス変換）を行い、８０ビットの固定長フレームを形成する。なお、８Ｂ１０Ｂによるエンコード処理の他に、４Ｂ５Ｂ変換、６４Ｂ６６Ｂ変換等のＤＣバランス変換を用いてもよい。
【００３７】
水平ＥＣＣ付加部１２２は、８Ｂ１０Ｂ符号化部１２１によるエンコード処理が行われた固定長フレームに含まれる複数のブロックから水平ＥＣＣを算出し、その水平ＥＣＣを固定長フレームに付加する。
【００３８】
対角ＥＣＣ付加部１２３は、８Ｂ１０Ｂ符号化部１２１によるエンコード処理が行われた固定長フレームと、送信フレーム記憶部１２４により記憶されている複数のＥＣＣフレームとを時系列的に並列に配置したとき、複数の固定長フレームに含まれる複数のブロックのうち斜め方向に位置する複数のブロックから対角ＥＣＣを算出し、その対角ＥＣＣを水平ＥＣＣが付加された固定長フレームに付加する。
【００３９】
なお、水平ＥＣＣ付加部１２２及び対角ＥＣＣ付加部１２３により付加される水平ＥＣＣ及び対角ＥＣＣには、例えば、ハミング符号、マンチェスタ符号、リードソロモン符号等の公知の誤り訂正符号を用いることができる。
【００４０】
（ＥＣＣフレームデコーダ）
ＥＣＣフレームデコーダ１５は、レシーバ１４からのパラレルデータからＥＣＣフレームを受信し、そのＥＣＣフレームに含まれる水平ＥＣＣ及び対角ＥＣＣに基づいてＥＣＣエラー検出／訂正を行うＥＣＣエラー検出／訂正部１５０と、ＥＣＣフレームから水平ＥＣＣ及び対角ＥＣＣを除去するＥＣＣ除去部１５１と、水平ＥＣＣ及び対角ＥＣＣが除去された固定長フレームに対して１０Ｂ８Ｂによるデコード処理を行う１０Ｂ８Ｂ復号化部１５２と、受信した複数のＥＣＣフレームを記憶する受信フレーム記憶部１５３とを備える。
【００４１】
（パケットの構成）
次に、パケットエンコーダ１１が生成するパケットについて図３、図４を参照して説明する。
【００４２】
図３は、パケットエンコーダ１１が生成するパケットの構成例を示す図である。パケット２００は全て「パケット構成」に例示するように、１バイトのＳＯＰ（Start of Packet）で始まり、それにパケット本体が続き、１バイトのＥＯＰ（End of Packet）で終わる構成をとる。ＳＯＰ及びＥＯＰは、送信前に８Ｂ１０Ｂ変換によるエンコード処理が行われ、特定のＫキャラクタに変換されるため、受信側で容易にパケットを抽出できるように構成されている。
【００４３】
パケット本体は、ホストコンピュータ１０１から発行されたコマンド及びパケットを送信する送信元に応じて、メモリライトリクエスト、メモリライトコンプリーション、メモリリードリクエスト、メモリリードコンプリーションのいずれかのタイプをとる。
【００４４】
メモリライトリクエストは、ホストバスＩ／Ｆ２が、ホストコンピュータ１０１から書き込み要求を受け取った際に、ホストバスＩ／Ｆ２から発行されるパケットである。
【００４５】
メモリライトコンプリーションは、メモリコントローラ４が、ホストバスＩ／Ｆ２からメモリライトリクエストを受け取った場合に、メモリライトリクエストのアドレスフィールドで指定されたアドレスへ、データフィールドに格納されたデータを書き込んだ後、処理の完了を通知するために、メモリコントローラ４から発行されるパケットである。
【００４６】
メモリリードリクエストは、ホストバスＩ／Ｆ２が、ホストコンピュータ１０１から読み出し要求を受け取った際に、ホストバスＩ／Ｆ２から発行されるパケットである。
【００４７】
メモリリードコンプリーションは、メモリコントローラ４が、ホストバスＩ／Ｆ２からメモリライトリクエストを受け取った場合に、半導体メモリ５から、メモリリードリクエストのアドレスフィールドで指定されたアドレスのデータを読み出した後、処理が完了したことを通知すると共に、読み出したデータをデータフィールドに格納して、メモリコントローラ４から発行されるパケットである。
【００４８】
ヘッダは、４ビットのタイプと、４ビットのコンプリーションステータスとを合わせた１バイトで構成される。なお、コンプリーションステータスは、メモリライトコンプリーション及びメモリリードコンプリーションのヘッダの場合のみ有効であり、データ送受が正常に行われたかどうかを判定するために用いられる。
【００４９】
コンプリーションステータスは、予約フィールド、Ｃフィールド及びＵフィールドからなる。Ｕフィールドは、致命的なエラーを示し、ホストコンピュータ１０１にこのままでは処理が継続できないことを通知する。Ｃフィールドは、訂正可能なエラーを検出したことをホストコンピュータ１０１に通知する。
【００５０】
図４は、パケットのヘッダに含まれるタイプの意味と２進符号の割り当てを例示する。メモリライトリクエスト、メモリライトコンプリーション、メモリリードリクエスト、メモリリードコンプリーションには、それぞれ２進符号の（1000)、(1100)、(0000)、(0100)が割り当てられる。
【００５１】
（ストレージシステムの全体の動作）
次に、ストレージシステム１００の全体の動作を説明する。ホストコンピュータ１０１が、半導体ディスク装置１０２に対してコマンドを発行すると、ホストバスＩ／Ｆ２は、ホストコンピュータ１０１からのコマンドを解釈し、データ伝送装置１を介してメモリコントローラ４に対して半導体メモリ５にアクセスするよう指示をする。
【００５２】
メモリコントローラ４は、その指示を受けると、半導体メモリ５にアクセスし、その結果を再びデータ伝送装置１を介してホストバスＩ／Ｆ２に返す。ホストバスＩ／Ｆ２は、メモリコントローラ４からアクセス結果が返されると、ホストコンピュータ１０１に処理が終了したことを通知し、ホストコンピュータ１０１から発行されたコマンドに応じて、データを返信する。
【００５３】
（データ伝送装置の全体の動作）
（１）送信側の処理動作
次に、データ伝送装置１の送信側（データ送信装置１ａ）の処理動作を図５〜図９を参照して説明する。図５は、シリアル伝送前のＥＣＣフレームエンコーダ１２における符号化の流れの一例を示す図である。
【００５４】
データ伝送装置１のパケットエンコーダ１１は、ホストバスＩ／Ｆ２を制御する制御部２０からの要求に応じたパケットを生成する。
【００５５】
ＥＣＣフレームエンコーダ１２の固定長フレーム形成部１２０は、パケットエンコーダ１１によって生成されたパケットを分割またはダミーデータの付加により、図５（ａ）に例示するように、例えば、６４ビットの固定長フレーム２０１を形成する。
【００５６】
６４ビットの固定長フレーム２０１は、送信すべきパケットの有無に関わらず、一定の周期で構成され送出される。このとき、送信すべきパケットがない場合は、ＮＯＰシンボル（受信側で無視されるシンボル）を詰めて、６４ビットを構成する。送信すべきパケットがある場合は、これを含んだ６４ビットを構成する。なお、１つのパケットのサイズが６４ビットを超える場合は、最初の６４ビットまでを処理した後、次のタイミングで残りのパケットにおける次の６４ビットまでを処理する。
【００５７】
８Ｂ１０Ｂ符号化部１２１は、固定長フレームを８Ｂ１０Ｂ変換によるエンコード処理を行い、図５（ｂ）に例示するように、８０ビットの固定長フレーム２０２を形成する。この時、ＳＯＰ、ＥＯＰ、ＮＯＰなどの特殊なシンボルは、それぞれ対応するＫキャラクタに変換される。その特殊シンボルとＫキャラクタの対応関係を図６に例示する。
【００５８】
次に、水平ＥＣＣ付加部１２２は、８Ｂ１０Ｂ変換によるエンコード処理が行われた８０ビットのフレームに水平ＥＣＣ２０４を付加する。また、対角ＥＣＣ付加部１２３は、水平ＥＣＣ２０４が付加されたフレームにさらに対角ＥＣＣ２０５を付加し、図５（ｃ）に例示するように、ＥＣＣフレーム２０３を生成する。なお、水平ＥＣＣ２０４及び対角ＥＣＣ２０５の算出方法の詳細については後述する。
【００５９】
図７は、固定長フレームに付加される水平ＥＣＣ２０４及び対角ＥＣＣ２０５の一例を示す図である。水平ＥＣＣ２０４及び対角ＥＣＣ２０５は、８Ｂ１０Ｂ変換によるエンコード処理の対象とはならないため、ＤＣバランスを考慮して反転した８ビットを合わせて追加する。さらに、それぞれの８ビットに、図７に例示するような２ビットを追加し、これらを全て合わせた１２０ビットを、以下「ＥＣＣフレーム」という。
【００６０】
次に、水平ＥＣＣ２０４及び対角ＥＣＣ２０５の算出方法について、図８を参照して説明する。図８は、複数のＥＣＣフレームを時系列的に並列に配置した状態の一例を示す図である。ＥＣＣフレーム（ｋ）は、時刻（ｋ）に生成されたＥＣＣフレームを表し、８つのブロックＢ１（ｋ）〜Ｂ７（ｋ）は、ＥＣＣフレーム（ｋ）に含まれる８０ビットの固定長フレームを１０ビット毎に８つのブロックに分割した場合の各ブロックを表す。また、ＥＣＣＨ（ｋ）、ＥＣＣＤ（ｋ）は、ＥＣＣフレーム（ｋ）に含まれる水平ＥＣＣ２０４及び対角ＥＣＣ２０５をそれぞれ表す。
【００６１】
また、時刻（ｋ）における送信フレーム記憶部１２４には、送信済みのＥＣＣフレームとして、時刻（ｋ）からブロックの分割数から１を減じた時刻分、すなわち、時刻（ｋ−７）のＥＣＣフレーム（ｋ−７）から時刻（ｋ−１）のＥＣＣフレーム（ｋ−１）までの計７つのＥＣＣフレームが記憶されている。
【００６２】
そして、水平ＥＣＣ付加部１２２は、ＥＣＣフレーム（ｋ）に含まれる複数のブロック、すなわち、図８に例示する水平ＥＣＣ算出範囲２１０に含まれる８つのブロック｛Ｂ１（ｋ）、Ｂ２（ｋ）、…、Ｂ８（ｋ）｝から水平ＥＣＣ２０４であるＥＣＣＨ（ｋ）を算出し、そのＥＣＣＨ（ｋ）をＥＣＣフレーム（ｋ）に付加する。
【００６３】
次に、対角ＥＣＣ付加部１２３は、時系列的に並列に配置された８つのＥＣＣフレーム（ｋ−７）〜ＥＣＣフレーム（ｋ）に含まれる複数のブロックのうち斜め方向に位置する複数のブロック、すなわち、図８に例示する対角ＥＣＣ算出範囲２１１Ａに含まれる８つのブロック｛Ｂ１（ｋ−７）、Ｂ２（ｋ−６）、…、Ｂ８（ｋ）｝から対角ＥＣＣ２０５であるＥＣＣＤ（ｋ）を算出し、そのＥＣＣＤ（ｋ）をＥＣＣＨ（ｋ）が付加されたＥＣＣフレーム（ｋ）に付加する。また、時刻（ｋ＋７）においては、対角ＥＣＣ付加部１２３は、図８に例示する対角ＥＣＣ算出範囲２１１Ｂに含まれる８つのブロックから対角ＥＣＣ２０５を算出する。
【００６４】
なお、上記の例では、対角ＥＣＣ付加部１２３は、対角ＥＣＣ２０５を算出する際に左上から右下に対角ＥＣＣ算出範囲を定めたが、例えば、右上から左下に対角ＥＣＣ算出範囲を定めてもよい。また、上記の例では、１０ビットを１つのブロックとしたが、例えば、２０ビットを１つのブロックとしてもよいし、これらに限られない。なお、２０ビットを１つのブロックとした場合には、時系列的に並列に配置された４つのフレームにおいて、斜め方向に位置する４つのブロックを対角ＥＣＣ算出範囲とすればよい。
【００６５】
図９は、パケットが埋め込まれた複数のＥＣＣフレームの一例を示す図である。図９は、図８におけるＥＣＣフレームの各ブロックＢ１〜Ｂ８に対して、図３に例示するパケット構成に基づくパケットが実際に埋め込まれており、Ａ１〜Ａ４は、それぞれ１バイトのアドレスを表し、Ｄ１〜Ｄ２５６は、それぞれ１バイトのデータを表す。また、ＥＣＣフレーム（ｔ）は、時刻（ｔ）に生成されたＥＣＣフレームを表す。
【００６６】
ＥＣＣフレームには、ＥＣＣフレーム（ｔ）からＥＣＣフレーム（ｔ＋１）のように、１つのパケットの内容が２つのＥＣＣフレームに渡る場合もあり、ＥＣＣフレーム（ｔ＋１）のように、１つのＥＣＣフレームに複数のパケットの一部が含まれる場合もある。また、ＥＣＣフレーム（ｔ＋３）、ＥＣＣフレーム（ｔ＋ｋ）、及びＥＣＣフレーム（ｔ＋ｋ＋３５）のように、パケットが含まれない場合もある。ＥＣＣフレーム（ｔ＋ｋ＋１）、ＥＣＣフレーム（ｔ＋ｋ＋２）、ＥＣＣフレーム（ｔ＋ｋ＋３３）及びＥＣＣフレーム（ｔ＋ｋ＋３４）のように、１つのパケットが複数のＥＣＣフレームに渡る場合もある。
【００６７】
次に、ＥＣＣフレームエンコーダ１２は、生成したＥＣＣフレーム２０３を、図５（ｄ）に例示する出力データ２０６のように、２０ビットずつ６回に分けてクロック毎にトランスミッタ１３に送る。
【００６８】
また、ＥＣＣフレームエンコーダ１２は、生成したＥＣＣフレーム２０３を送信フレーム記憶部１２４に送り、送信フレーム記憶部１２４には、ＥＣＣフレーム２０３が時系列的に記憶される。なお、送信フレーム記憶部１２４に記憶されたＥＣＣフレームのうち対角ＥＣＣ２０５を算出する際に不要となったＥＣＣフレームは、順次消去してもよい。
【００６９】
そして、トランスミッタ１３は、ＥＣＣフレームエンコーダ１２から送られた２０ビットのデータをパラレル／シリアル変換し、順次伝送路に出力する。
【００７０】
（２）受信側の処理動作
次に、シリアル伝送後のデータ伝送装置１の受信側（データ受信装置１ｂ）における復号処理について説明する。
【００７１】
レシーバ１４は、伝送路から入力されたシリアルデータを、シリアル／パラレル変換し、２０ビットのパラレルデータとしてクロック毎にＥＣＣフレームデコーダ１５に送る。
【００７２】
ＥＣＣフレームデコーダ１５のＥＣＣエラー検出／訂正部１５０は、２０ビットのパラレルデータを受け取ると、それを６サイクル分まとめて１２０ビットとし、これを１つのＥＣＣフレームとして、受信フレーム記憶部１５３に時系列的に記憶する。
【００７３】
次に、ＥＣＣエラー検出／訂正部１５０は、ＥＣＣフレームに含まれる水平ＥＣＣ２０４及対角ＥＣＣ２０５に基づいてエラー検出／訂正を行う。
【００７４】
具体的には、ＥＣＣエラー検出／訂正部１５０は、時刻（ｋ）に送信されたＥＣＣフレーム（ｋ）の受信を完了すると、そのＥＣＣフレーム（ｋ）を受信フレーム記憶部１５３に記憶する。そして、ＥＣＣエラー検出／訂正部１５０は、受信フレーム記憶部１５３から時刻（ｋ−７）に受信されたＥＣＣフレーム（ｋ−７）を取得し、そのＥＣＣフレーム（ｋ−７）に対してエラー検出／訂正を行う。
【００７５】
すなわち、ＥＣＣエラー検出／訂正部１５０は、ＥＣＣフレーム（ｋ−７）に含まれる水平ＥＣＣ２０４であるＥＣＣＨ（ｋ−７）により、ブロック｛Ｂ１（ｋ−７）、Ｂ２（ｋ−７）、…、Ｂ８（ｋ−７）｝からなる固定長フレーム２０２に対してエラー検出を行う。
【００７６】
そして、水平ＥＣＣ２０４により検出された水平エラー検出ビット数をＥｒｒＨ（ｋ−７）とすると、ＥＣＣエラー検出／訂正部１５０は、ＥｒｒＨ（ｋ−７）が「０」、すなわち、エラーを検出しなかった場合には、そのＥＣＣフレーム（ｋ−７）をＥＣＣ除去部１５１に送る。
【００７７】
また、ＥＣＣエラー検出／訂正部１５０が、ＥｒｒＨ（ｋ−７）が「１」、すなわち、訂正可能なエラーを検出した場合には、その検出したエラーを水平ＥＣＣ２０４により訂正し、その訂正した後のＥＣＣフレーム（ｋ−７）をＥＣＣ除去部１５１に送る。
【００７８】
一方、ＥＣＣエラー検出／訂正部１５０が、ＥｒｒＨ（ｋ−７）が「２以上」、すなわち、訂正不可能なエラーを検出した場合には、ＥＣＣフレーム（ｋ−７）の他に、ＥＣＣフレーム（ｋ−６）〜ＥＣＣフレーム（ｋ）を受信フレーム記憶部１５３から取得する。
【００７９】
そして、ＥＣＣエラー検出／訂正部１５０は、それら８つのＥＣＣフレーム（ｋ−７）〜ＥＣＣフレーム（ｋ）にそれぞれ含まれる８つの対角ＥＣＣ２０５である｛ＥＣＣＤ（ｋ−７）、ＥＣＣＤ（ｋ−６）、…、ＥＣＣＤ（ｋ）｝により、対応する対角ＥＣＣ算出範囲に対してそれぞれエラー検出を行う。
【００８０】
上記の８つの対角ＥＣＣ２０５により検出された対角エラー検出ビット数をそれぞれ｛ＥｒｒＤ（ｋ−７），ＥｒｒＤ（ｋ−６），…，ＥｒｒＤ（ｋ）｝とすると、ＥＣＣエラー検出／訂正部１５０は、対角エラー検出ビット数のうち「１」である対角ＥＣＣ算出範囲に対してエラー訂正を行う。
【００８１】
次に、対角ＥＣＣ２０５によりエラー訂正が行われた後のＥＣＣフレーム（ｋ−７）を対角訂正済みＥＣＣフレーム（ｋ−７）とすると、ＥＣＣエラー検出／訂正部１５０は、対角訂正済みＥＣＣフレーム（ｋ−７）に対して、水平ＥＣＣ２０４であるＥＣＣＨ（ｋ−７）により再度エラー検出を行う。
【００８２】
そして、ＥＣＣエラー検出／訂正部１５０は、水平ＥＣＣ２０４による再度のエラー検出を行った結果、エラーを検出しなかった場合には、対角訂正済みＥＣＣフレーム（ｋ−７）をＥＣＣ除去部１５１に送る。
【００８３】
また、ＥＣＣエラー検出／訂正部１５０が、水平ＥＣＣ２０４による再度のエラー検出を行った結果、訂正可能なエラーを検出した場合には、対角訂正済みＥＣＣフレーム（ｋ−７）に対して、さらに水平ＥＣＣ２０４によりエラー訂正を行い、その水平ＥＣＣ２０４によりエラー訂正が行われた後の水平対角訂正済みＥＣＣフレーム（ｋ−７）をＥＣＣ除去部１５１に送る。
【００８４】
一方、ＥＣＣエラー検出／訂正部１５０が、水平ＥＣＣ２０４による再度のエラー検出を行った結果、訂正不可能なエラーを検出した場合には、８つの対角ＥＣＣ２０５により検出されたエラービット数｛ＥｒｒＤ（ｋ−７），ＥｒｒＤ（ｋ−６），…，ＥｒｒＤ（ｋ）｝のうち最大のエラービット数を制御部２０に通知する。
【００８５】
なお、上記の例では、ＥＣＣエラー検出／訂正部１５０は、水平ＥＣＣ２０４によるエラー検出／訂正を行った後に対角ＥＣＣ２０５によるエラー検出／訂正を行ったが、その逆に、対角ＥＣＣ２０５によるエラー検出／訂正を行った後に水平ＥＣＣ２０４によるエラー検出／訂正を行ってもよい。また、水平ＥＣＣ２０４及び対角ＥＣＣ２０５によるエラー検出／訂正を交互に複数回行ってもよい。
【００８６】
また、上記の例では、ＥＣＣエラー検出／訂正部１５０は、１つのフレーム（ｋ−７）に対して、１つの水平ＥＣＣ｛ＥＣＣＨ（ｋ）｝と８つの対角ＥＣＣ｛ＥＣＣＤ（ｋ−７）、ＥＣＣＤ（ｋ−６）、…、ＥＣＣＤ（ｋ）｝とに基づいて、エラー検出／訂正を行ったが、例えば、８つのフレーム（ｋ−７）〜フレーム（ｋ）に対して、８つの水平ＥＣＣ｛ＥＣＣＨ（ｋ−７）、ＥＣＣＨ（ｋ−６）、…、ＥＣＣＨ（ｋ）｝と８つの対角ＥＣＣ｛ＥＣＣＤ（ｋ−７）、ＥＣＣＤ（ｋ−６）、…、ＥＣＣＤ（ｋ）｝とに基づいて、エラー検出／訂正をまとめて行うようにしてもよい。
【００８７】
その後、ＥＣＣ除去部１５１は、ＥＣＣエラー検出／訂正部１５０から送られたＥＣＣフレームから水平ＥＣＣ２０４及び対角ＥＣＣ２０５を除去し、ＥＣＣフレーム２０３は、８０ビットの固定長フレーム２０２となる。
【００８８】
次に、１０Ｂ８Ｂ復号化部１５２は、８０ビットの固定長フレーム２０２に対して、１０Ｂ８Ｂ変換によるデコード処理を施し、６４ビットの固定長フレーム２０１を復元する。
【００８９】
そして、ＥＣＣフレームデコーダ１５は、復元された６４ビットの各８ビットのうちＮＯＰを示す８ビットを削除し、残りのデータをパケットデコーダ１６に送る。
【００９０】
パケットデコーダ１６は、ＥＣＣフレームデコーダ１５からのデータを受け取り、そのデータに含まれるＳＯＰ及びＥＯＰを検出することにより、１つのパケットを抽出する。
【００９１】
そして、パケットデコーダ１６は、抽出したパケットのタイプに応じて、制御部２０を介してホストコンピュータ１０１に処理が終了したことを通知し、そのパケットに含まれるデータを返信する。
【００９２】
以上のようにして、データ伝送装置１は、水平ＥＣＣ２０４及び対角ＥＣＣ２０５に基づいてエラー検出／訂正を行うことにより、例えば、データ伝送装置１において１ビットの伝送エラーが発生する確立を「１０−１２」と仮定すると、水平ＥＣＣ２０４及び対角ＥＣＣ２０５により２ビットのエラーが検出される確率ＰＥＣＣＨ、ＰＥＣＣＤは、以下の（式Ａ）、（式Ｂ）によりそれぞれ求められる。
【００９３】
ＰＥＣＣＨ  ＝１０-１２×１０-１２×１２０Ｃ２≒７×１０-２１            ・・・（式Ａ）
ＰＥＣＣＤ  ＝１０-１２×１０-１２×１２０Ｃ２≒７×１０-２１            ・・・（式Ｂ）
【００９４】
そして、１つのＥＣＣフレームにおいて、水平ＥＣＣ２０４により２ビットのエラーが検出され、かつ８つの対角ＥＣＣ２０５のうちいずれかの対角ＥＣＣ２０５により２ビットのエラーが検出される確率、すなわち、データ伝送装置１において訂正不可能な伝送エラーが発生する確率Ｐは、以下の（式Ｃ）により求められる。
【００９５】
Ｐ  ＝ＰＥＣＣＨ×(１−（１―ＰＥＣＣＤ）８)
＝７×１０−２１×(１−（１―７×１０−２１）８)≒１０−４０    ・・・（式Ｃ）
【００９６】
［他の実施の形態］
なお、本発明は、上記実施の形態に限定されず、本発明の趣旨を逸脱しない範囲内で種々な変形が可能である。また、本発明の趣旨を逸脱しない範囲内で上記実施の形態の構成要素を任意に組み合わせることができる。
【図面の簡単な説明】
【００９７】
【図１】図１は、本発明の実施の形態に係るストレージシステムの概略構成の一例を示す全体図である。
【図２】図２は、ホストバスＩ／Ｆに設けられたデータ伝送装置の概略構成の一例を示すブロック図である。
【図３】図３は、パケットエンコーダが生成するパケットの構成例を示す図である。
【図４】図４は、パケットのヘッダに含まれるタイプの意味と２進符号の割り当ての一例を示す図である。
【図５】図５は、シリアル伝送前のＥＣＣフレームエンコーダにおける符号化の流れの一例を示す図である。
【図６】図６は、特殊シンボルとＫキャラクタの対応の一例を示す図である。
【図７】図７は、水平ＥＣＣ付加部及び対角ＥＣＣ付加部により付加されるＥＣＣの一例を示す図である。
【図８】図８は、水平ＥＣＣ及び対角ＥＣＣの算出範囲の一例を示す図である。
【図９】図９は、パケットが埋め込まれた複数のＥＣＣフレームの一例を示す図である。
【符号の説明】
【００９８】
１  データ伝送装置
１ａ  データ送信装置
１ｂ  データ受信装置
２  ホストバスＩ／Ｆ
３  シリアル伝送路
４  メモリコントローラ
５  半導体メモリ
１０  データ伝送システム
１１  パケットエンコーダ
１２  ＥＣＣフレームエンコーダ
１３  トランスミッタ
１４  レシーバ
１５  ＥＣＣフレームデコーダ
１６  パケットデコーダ
２０  制御部
１００  ストレージシステム
１０１  ホストコンピュータ
１０２  半導体ディスク装置
１２０  固定長フレーム形成部
１２１  ８Ｂ１０Ｂ符号化部
１２２  水平ＥＣＣ付加部
１２３  対角ＥＣＣ付加部
１２４  送信フレーム記憶部
１５０  ＥＣＣエラー検出／訂正部
１５１  ＥＣＣ除去部
１５２  １０Ｂ８Ｂ復号化部
１５３  受信フレーム記憶部
２００  パケット
２０１，２０２  固定長フレーム
２０３  ＥＣＣフレーム
２０４  水平ＥＣＣ
２０５  対角ＥＣＣ
２０６  出力データ
２１０  水平ＥＣＣ算出範囲
２１１Ａ，２１１Ｂ  対角ＥＣＣ算出範囲
【図１】
2009065255.tif 000003
【図２】
2009065255.tif 000004
【図３】
2009065255.tif 000005
【図４】
2009065255.tif 000006
【図５】
2009065255.tif 000007
【図６】
2009065255.tif 000008
【図７】
2009065255.tif 000009
【図８】
2009065255.tif 000010
【図９】
2009065255.tif 000011