(57)【要約】【課題】メモリのソフトエラーに対する耐性を高めること。【解決手段】データ記憶装置において、メモリ２はデータを格納する。入力側遅延回路１は、複数ビットを有する一組のデータを、各ビットのデータに対して全てのビットごとに異なる遅延を与えて、ビットごとに異なるタイミングでメモリ２に入力させる。あるいは、入力側遅延回路１は、複数ビットを有する一組のデータを、各ビットのデータに対して連続する複数ビットずつグループ化した各グループに属するビットごとに異なる遅延を与えて、ビットごとに異なるタイミングでメモリ２に入力させる。出力側遅延回路３は、メモリ２から出力されるデータの各ビットのデータに対してビットごとに入力側遅延回路１とは逆パターンの遅延を与えて、入力側遅延回路１によってビットごとに異なる遅延が与えられる前の元の一組のデータに戻す。【選択図】図１
2014186704.tif 000002
【特許請求の範囲】
【請求項１】
データを格納するメモリと、
複数ビットを有する一組のデータを、前記一組のデータにおける各ビットのデータに対して、全てのビットごとに異なるか、または連続する複数ビットずつグループ化した各グループに属するビットごとに異なる遅延を与えて、ビットごとに異なるタイミングで前記メモリに入力させる入力側遅延回路と、
前記メモリから出力されるデータの各ビットのデータに対してビットごとに前記入力側遅延回路とは逆パターンの遅延を与えて、前記入力側遅延回路によってビットごとに異なる遅延が与えられる前の元の前記一組のデータに戻す出力側遅延回路と、
を備えることを特徴とするデータ記憶装置。
【請求項２】
前記メモリにデータを書き込むための書込アドレス信号が与えられる前記メモリの複数の書込アドレス端子が、前記メモリに前記書込アドレス信号を与える複数の書込アドレス線に、前記書込アドレス端子の最上位ビットから最下位ビットへの並び順が前記書込アドレス線の最上位ビットから最下位ビットへの並び順に対して入れ替えられて、接続されており、
前記メモリからデータを読み出すための読出アドレス信号が与えられる前記メモリの複数の読出アドレス端子が、前記メモリに前記読出アドレス信号を与える複数の読出アドレス線に、前記書込アドレス線に対する前記書込アドレス端子の並び順の入れ替えパターンと同じパターンで入れ替えられて、接続されていることを特徴とする請求項１に記載のデータ記憶装置。
【請求項３】
前記一組のデータは誤り訂正コードを含み、
前記入力側遅延回路に入力される前記一組のデータのうち前記誤り訂正コードを除くデータに対して誤り訂正コードを生成する誤り訂正コード生成回路と、
前記出力側遅延回路から出力される前記一組のデータに対してビットエラーを検出する誤り検出回路と、
前記誤り検出回路によるビットエラーの検出結果に基づいて、前記出力側遅延回路から出力される前記一組のデータに対してビットエラーを訂正する誤り訂正回路と、
を備えることを特徴とする請求項１または２に記載のデータ記憶装置。
【請求項４】
複数ビットを有する一組のデータにおける各ビットのデータに対して、全てのビットごとに異なるか、または連続する複数ビットずつグループ化した各グループに属するビットごとに異なる遅延を与え、
前記遅延によってビットごとに異なるタイミングでメモリに前記一組のデータを入力させて前記メモリに前記一組のデータを書き込み、
前記メモリからデータを読み出し、
前記メモリから出力される前記データの各ビットのデータに対してビットごとに前記入力時とは逆パターンの遅延を与えて、前記メモリから出力されるデータを、前記入力時にビットごとに異なる遅延が与えられる前の元の前記一組のデータに戻すことを特徴とするデータ記憶方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データ記憶装置及びデータ記憶方法に関する。
【背景技術】
【０００２】
半導体集積回路内に高エネルギー中性子、熱中性子またはα粒子などの放射線があたると、データが反転するというソフトエラーが引き起こされることがある（例えば、非特許文献１、２参照）。そこで、従来、同一サイクル内で読み出されるデータを格納するメモリセルを互いに離間するように配置することによって、ソフトエラーが起こっても、同一サイクル内で読み出される複数のビットデータが同時に不良にならないようにした半導体集積回路装置がある（例えば、特許文献１参照）。ところで、フラッシュメモリなどの半導体記憶デバイスにおいて、複数ビットのデータを並び替えて複数個の物理記憶領域に分離して格納することによって、記憶データの信頼性を高める技術がある（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２６８５６０号公報
【特許文献２】特開２００５−２３４８８３号公報
【非特許文献】
【０００４】
【非特許文献１】堀切近史、「ソフト・エラー対策，待ったなし  ＳＲＡＭや論理回路が俎上に」、日経エレクトロニクス、日経ＢＰ社、日本、２００５年７月４日、第９０３号、ｐ．６３−７０
【非特許文献２】戸坂義春、「知っておきたいソフト・エラーの実態  歴史と評価方法，対策まで」、日経エレクトロニクス、日経ＢＰ社、日本、２００５年７月４日、第９０３号、ｐ．１４５−１５６
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、メモリセルを互いに離間させて配置すると、配線遅延が増加して動作速度が低下したり、価格が高くなるという問題点がある。また、ソフトエラー対策として複数ビットのデータを複数個の物理記憶領域に分けて格納する場合、データのビット数分の物理メモリが必要になるため、使用する論理メモリ量が物理メモリの合計よりも小さい場合には、物理メモリに未使用領域が発生するという問題点がある。つまり、ソフトエラー対策として、メモリセルの配置を工夫したり、複数の物理記憶領域を設けても、解決すべき課題が残されている。
【０００６】
メモリのソフトエラーに対する耐性を高めることができるデータ記憶装置及びデータ記憶方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
データ記憶装置は、メモリ、入力側遅延回路及び出力側遅延回路を有する。メモリはデータを格納する。入力側遅延回路は、複数ビットを有する一組のデータを、各ビットのデータに対して全てのビットごとに異なる遅延を与えて、ビットごとに異なるタイミングでメモリに入力させる。あるいは、入力側遅延回路は、複数ビットを有する一組のデータを、各ビットのデータに対して連続する複数ビットずつグループ化した各グループに属するビットごとに異なる遅延を与えて、ビットごとに異なるタイミングでメモリに入力させてもよい。出力側遅延回路は、メモリから出力されるデータの各ビットのデータに対してビットごとに入力側遅延回路とは逆パターンの遅延を与えて、入力側遅延回路によってビットごとに異なる遅延が与えられる前の元の一組のデータに戻す。
【０００８】
データ記憶方法は、データの書き込み時には、複数ビットを有する一組のデータにおける各ビットのデータに対して、全てのビットごとに異なるか、または連続する複数ビットずつグループ化した各グループに属するビットごとに異なる遅延を与える。そして、その遅延によってビットごとに異なるタイミングでメモリに一組のデータを入力させてメモリに一組のデータを書き込む。データの読み出し時には、まず、メモリからデータを読み出す。そして、メモリから出力されるデータの各ビットのデータに対してビットごとに入力時とは逆パターンの遅延を与えて、メモリから出力されるデータを、入力時にビットごとに異なる遅延が与えられる前の元の一組のデータに戻す。
【発明の効果】
【０００９】
このデータ記憶装置及びデータ記憶方法によれば、メモリのソフトエラーに対する耐性を高めることができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態にかかるデータ記憶装置の第１の例を示す図である。
【図２】図２は、図１に示すデータ記憶装置における信号の流れを示す図である。
【図３】図３は、実施の形態にかかるデータ記憶方法の一例を示す図である。
【図４】図４は、実施の形態にかかるデータ記憶装置の第２の例における入力側の構成を示す図である。
【図５】図５は、実施の形態にかかるデータ記憶装置の第２の例における出力側の構成を示す図である。
【図６】図６は、データストリームのデータ構成を模式的に示す図である。
【図７】図７は、図６に示すデータストリームをＦＩＦＣメモリに書き込む際の動作タイミングの一例を示す図である。
【図８】図８は、メモリ内におけるデータの格納イメージの一例を示す図である。
【図９】図９は、メモリからデータを読み出す際の動作タイミングの一例を示す図である。
【図１０】図１０は、実施の形態にかかるデータ記憶装置の第３の例における入力側の構成を示す図である。
【図１１】図１１は、実施の形態にかかるデータ記憶装置の第３の例における出力側の構成を示す図である。
【図１２】図１２は、図１１に示す第３の例のメモリ内におけるデータの格納イメージの一例を示す図である。
【図１３】図１３は、デュアルポートメモリをアドレス制御によってＦＩＦＯとして使用する場合のアドレス線の接続関係の第１の例を示す図である。
【図１４】図１４は、デュアルポートメモリをアドレス制御によってＦＩＦＯとして使用する場合のアドレス線の接続関係の第２の例を示す図である。
【図１５】図１５は、図１４に示すアドレス線の接続関係を有するメモリ内におけるデータの格納イメージの一例を示す図である。
【図１６】図１６は、実施の形態にかかるデータ記憶装置の第１の適用例を示す図である。
【図１７】図１７は、実施の形態にかかるデータ記憶装置の第２の適用例を示す図である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、このデータ記憶装置及びデータ記憶方法の好適な実施の形態を詳細に説明する。以下の各実施例の説明においては、同様の構成要素には同一の符号を付して、重複する説明を省略する。
【００１２】
・データ記憶装置の第１の例
図１は、実施の形態にかかるデータ記憶装置の第１の例を示す図である。図２は、図１に示すデータ記憶装置における信号の流れを示す図である。図１及び図２に示すように、データ記憶装置は、入力側遅延回路１、メモリ２及び出力側遅延回路３を有する。
【００１３】
入力側遅延回路１は、前段の図示しないデータ供給元に接続されている。入力側遅延回路１は、複数ビットを有する一組のデータを、各ビットのデータに対して全てのビットごとに異なる遅延を与えることによって、ビットごとに異なるタイミングでメモリ２に入力させる。あるいは、入力側遅延回路１は、複数ビットを有する一組のデータを、各ビットのデータに対して連続する複数ビットずつグループ化した各グループに属するビットごとに異なる遅延を与えることによって、ビットごとに異なるタイミングでメモリ２に入力させてもよい。
【００１４】
メモリ２は入力側遅延回路１に接続されている。メモリ２は、入力側遅延回路１から出力されるデータを格納する。出力側遅延回路３はメモリ２に接続されている。出力側遅延回路３は、メモリ２から出力されるデータの各ビットのデータに対してビットごとに入力側遅延回路１とは逆パターンの遅延を与えて、入力側遅延回路１によってビットごとに異なる遅延が与えられる前の元の一組のデータに戻す。
【００１５】
・データ記憶方法の一例
図３は、実施の形態にかかるデータ記憶方法の一例を示す図である。図３に示すデータ記憶方法は、図１に示すデータ記憶装置によって実現されてもよい。本実施例では、図３に示すデータ記憶方法が、図１に示すデータ記憶装置によって実現されるとして説明する。
【００１６】
図３に示すように、データ記憶装置に複数ビットを有する一組のデータが入力されると、入力側遅延回路１によって、この一組のデータにおける各ビットのデータに対して、全てのビットごとに異なる遅延が与えられる。あるいは、この一組のデータにおける各ビットのデータに対して、連続する複数ビットずつグループ化した各グループに属するビットごとに異なる遅延が与えられてもよい（ステップＳ１）。
【００１７】
そして、ステップＳ１で与えられる遅延によってビットごとに異なるタイミングでメモリ２に一組のデータが入力されることによって、メモリ２にこの一組のデータが書き込まれる（ステップＳ２）。
【００１８】
データの読み出し時には、まず、メモリ２からデータが読み出される（ステップＳ３）。そして、出力側遅延回路３によって、メモリ２から出力されるデータの各ビットのデータに対してビットごとに入力時とは逆パターンの遅延が与えられる。それによって、メモリ２から出力されるデータが、入力時にビットごとに異なる遅延が与えられる前の元の一組のデータに戻される（ステップＳ４）。
【００１９】
図１に示すデータ記憶装置または図３に示すデータ記憶方法によれば、一組のデータがビットごとに異なるタイミングでメモリ２に書き込まれる。そのため、一組のデータにおいて、メモリ２の同一アドレスのメモリセルに格納されるビット数を１、または一組のデータを入力側遅延回路１によってビットごとに遅延させずに格納する場合よりも少ない数にすることができる。従って、一組のデータにおいて、メモリ２の同一アドレスのメモリセルに格納されるビット数を誤り訂正コードによって訂正可能な数以下にすることができる。このようにすれば、放射線によってメモリ２の同一アドレスの複数のメモリセルに誤りが発生しても、出力側遅延回路３から出力される一組のデータ内での誤り数を誤り訂正コードによって訂正可能な数以下に抑えることができるため、誤りを訂正することができる。つまり、メモリ２のソフトエラーに対する耐性を高めることができる。
【００２０】
図１に示すデータ記憶装置は、時間順に整列され、連続的に与えられ続けるデータストリームを、ＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ）メモリなどのメモリに対してシーケンシャルに書き込み、またはシーケンシャルに読み出す装置に適用することができる。以下に、図１に示すデータ記憶装置は、データストリームをＦＩＦＯメモリに対してシーケンシャルに書き込んでシーケンシャルに読み出す装置に適用する場合について説明する。
【００２１】
・データ記憶装置の第２の例
図４は、実施の形態にかかるデータ記憶装置の第２の例における入力側の構成を示す図である。図５は、実施の形態にかかるデータ記憶装置の第２の例における出力側の構成を示す図である。特に限定しないが、本実施例ではデータストリームのビット幅を例えば８ビットとし、８ビットのデータに対して例えば５ビットの誤り訂正コードを付加するとして説明する。
【００２２】
図４及び図５に示すように、データ記憶装置は、ＦＩＦＯ入力側データ遅延回路１１、ＦＩＦＯメモリ１２、ＦＩＦＯ出力側データ遅延回路１３、誤り訂正コード生成回路１４、誤り訂正回路１５及び誤り検出回路１６を有する。ＦＩＦＯ入力側データ遅延回路１１は入力側遅延回路の一例である。ＦＩＦＯメモリ１２はメモリの一例である。ＦＩＦＯ出力側データ遅延回路１３は出力側遅延回路の一例である。
【００２３】
誤り訂正コード生成回路１４は、前段の図示しない入力データストリームの供給元に接続されている。誤り訂正コード生成回路１４は、入力データストリームと同時に入力される８ビットのデータＤｉ−０〜Ｄｉ−７に対して例えば５ビットの誤り訂正コードＥｉ−０〜Ｅｉ−４を生成する。ＦＩＦＯ入力側データ遅延回路１１に同時に入力される８ビットのデータＤｉ−０〜Ｄｉ−７及び５ビットの誤り訂正コードＥｉ−０〜Ｅｉ−４で一組のデータである。１ビットの誤りを訂正し、２ビットの誤りを検出する拡大ハミング符号（Ｓｉｎｇｌｅ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ−Ｄｏｕｂｌｅ  Ｅｒｒｏｒ  Ｄｅｔｅｃｔｉｎｇ  Ｃｏｄｅ）は、誤り訂正コードの一例である。なお、誤り訂正コードは拡大ハミング符号に限らない。
【００２４】
ＦＩＦＯ入力側データ遅延回路１１は、前段の図示しない入力データストリームの供給元及び誤り訂正コード生成回路１４に接続されている。ＦＩＦＯ入力側データ遅延回路１１は、８ビットのデータＤｉ−０〜Ｄｉ−７及び５ビットの誤り訂正コードＥｉ−０〜Ｅｉ−４に対してビットごとに異なる遅延を与える。一例として、図４に示す例において、ＦＩＦＯ入力側データ遅延回路１１は、８ビットのデータＤｉ−０〜Ｄｉ−７及び５ビットの誤り訂正コードＥｉ−０〜Ｅｉ−４に対してビットごとに異なる段数のフリップフロップＦＦを有する。
【００２５】
例えばデータＤｉ−０に対してはフリップフロップＦＦの段数はゼロである。データＤｉ−１に対してはフリップフロップＦＦが１段設けられている。Ｄｉ−２、Ｄｉ−３、Ｄｉ−４、Ｄｉ−５、Ｄｉ−６及びＤｉ−７のデータに対してはフリップフロップＦＦがそれぞれ２段、３段、４段、５段、６段及び７段設けられている。Ｅｉ−０、Ｅｉ−１、Ｅｉ−２、Ｅｉ−３及びＥｉ−４のデータに対してはフリップフロップＦＦがそれぞれ８段、９段、１０段、１１段及び１２段設けられている。
【００２６】
図４に示す例では、入力データストリームの同時に入力される８ビットのデータＤｉ−０〜Ｄｉ−７のうちＤｉ−０のデータは、遅延なくＦＩＦＯメモリ１２の例えば０番のデータ入力端子に入力データＤｆｉ−０として入力される。Ｄｉ−１のデータは、１サイクル遅れてＦＩＦＯメモリ１２の例えば１番のデータ入力端子に入力データＤｆｉ−１として入力される。Ｄｉ−２、Ｄｉ−３、Ｄｉ−４、Ｄｉ−５、Ｄｉ−６及びＤｉ−７のデータは、それぞれ、２、３、４、５、６及び７サイクル遅れてＦＩＦＯメモリ１２の例えば２番、３番、４番、５番、６番及び７番のデータ入力端子に入力データＤｆｉ−２、Ｄｆｉ−３、Ｄｆｉ−４、Ｄｆｉ−５、Ｄｆｉ−６及びＤｆｉ−７として入力される。
【００２７】
また、入力データストリームの同時に入力される８ビットのデータに対する５ビットの誤り訂正コードＥｉ−０〜Ｅｉ−４のうちＥｉ−０のデータは、８サイクル遅れてＦＩＦＯメモリ１２の例えば８番のデータ入力端子に入力データＥｆｉ−０として入力される。Ｅｉ−１、Ｅｉ−２、Ｅｉ−３及びＥｉ−４のデータは、それぞれ、９、１０、１１及び１２サイクル遅れてＦＩＦＯメモリ１２の例えば９番、１０番、１１番及び１２番のデータ入力端子に入力データＥｆｉ−１、Ｅｆｉ−２、Ｅｆｉ−３及びＥｆｉ−４として入力される。
【００２８】
ＦＩＦＯ出力側データ遅延回路１３はＦＩＦＯメモリ１２に接続されている。ＦＩＦＯ出力側データ遅延回路１３は、ＦＩＦＯメモリ１２から同時に読み出される８ビットのデータＤｆｏ−０〜Ｄｆｏ−７及び５ビットの誤り訂正コードＥｆｏ−０〜Ｅｆｏ−４に対してビットごとにＦＩＦＯ入力側データ遅延回路１１とは逆パターンの遅延を与える。一例として、図５に示す例において、ＦＩＦＯ出力側データ遅延回路１３は、８ビットの出力データＤｆｏ−０〜Ｄｆｏ−７及び５ビットの誤り訂正コードＥｆｏ−０〜Ｅｆｏ−４に対してビットごとに異なる段数のフリップフロップＦＦを有する。
【００２９】
例えば出力データＤｆｏ−０に対しては１２段のフリップフロップＦＦが設けられている。Ｄｆｏ−１、Ｄｆｏ−２、Ｄｆｏ−３、Ｄｆｏ−４、Ｄｆｏ−５、Ｄｆｏ−６及びＤｆｏ−７のデータに対してはフリップフロップＦＦがそれぞれ１１段、１０段、９段、８段、７段、６段及び５段設けられている。Ｅｆｏ−０、Ｅｆｏ−１、Ｅｆｏ−２及びＥｆｏ−３の出力データに対してはフリップフロップＦＦがそれぞれ４段、３段、２段及び１段設けられている。出力データＥｆｏ−４に対してはフリップフロップＦＦの段数はゼロである。
【００３０】
図５に示す例では、ＦＩＦＯメモリ１２から同時に読み出される８ビットの出力データＤｆｏ−０〜Ｄｆｏ−７のうちＤｆｏ−０の出力データは、１２サイクル遅れてＦＩＦＯ出力側データ遅延回路１３から出力データＤｏ−０として出力される。Ｄｆｏ−１、Ｄｆｏ−２、Ｄｆｏ−３、Ｄｆｏ−４、Ｄｆｏ−５、Ｄｆｏ−６及びＤｆｏ−７の出力データは、それぞれ、１１、１０、９、８、７、６及び５サイクル遅れてＦＩＦＯ出力側データ遅延回路１３から出力データＤｏ−１、Ｄｏ−２、Ｄｏ−３、Ｄｏ−４、Ｄｏ−５、Ｄｏ−６及びＤｏ−７として出力される。
【００３１】
また、８ビットの出力データＤｆｏ−０〜Ｄｆｏ−７とともにＦＩＦＯメモリ１２から同時に読み出される５ビットの誤り訂正コードＥｆｏ−０〜Ｅｆｏ−４のうちＥｆｏ−０の出力データは、４サイクル遅れてＦＩＦＯ出力側データ遅延回路１３から出力データＥｏ−０として出力される。Ｅｆｏ−１、Ｅｆｏ−２及びＥｆｏ−３の出力データは、それぞれ、３、２及び１サイクル遅れてＦＩＦＯ出力側データ遅延回路１３から出力データＥｏ−１、Ｅｏ−２及びＥｏ−３として出力される。Ｅｆｏ−４の出力データは、遅延なくＦＩＦＯ出力側データ遅延回路１３から出力データＥｏ−４として出力される。
【００３２】
誤り検出回路１６はＦＩＦＯ出力側データ遅延回路１３に接続されている。誤り検出回路１６は、ＦＩＦＯ出力側データ遅延回路１３から出力される５ビットの誤り訂正コードＥｏ−０〜Ｅｏ−４を用いて、この誤り訂正コードＥｏ−０〜Ｅｏ−４と同時にＦＩＦＯ出力側データ遅延回路１３から出力される８ビットの出力データＤｏ−０〜Ｄｏ−７の誤りを検出する。
【００３３】
誤り訂正回路１５はＦＩＦＯ出力側データ遅延回路１３及び誤り検出回路１６に接続されている。誤り訂正回路１５は、誤り検出回路１６から出力される誤り検出結果に基づいて、ＦＩＦＯ出力側データ遅延回路１３から出力される８ビットの出力データＤｏ−０〜Ｄｏ−７の誤りを訂正し、８ビット幅の出力データストリームを出力する。
【００３４】
図６は、８ビット幅のデータストリーム及び５ビットの誤り訂正コードで一組のデータをなす１３ビット幅のデータストリームのデータ構成を模式的に示す図である。図７は、図６に示すデータストリームをＦＩＦＯメモリに書き込む際の動作タイミングの一例を示す図である。以下の説明においてｎを１以上の整数とする。
【００３５】
図６及び図７の上段に示すように、ＦＩＦＯ入力側データ遅延回路１１には、８ビットのデータＤｎ−０〜Ｄｎ−７及びＤｎ−０〜Ｄｎ−７に対する５ビットの誤り訂正コードＥｎ−０〜Ｅｎ−４が同時に入力される。図７の下段に示すようにＦＩＦＯ入力側データ遅延回路１１に同時に入力されるデータＤｎ−０〜Ｄｎ−７，Ｅｎ−０〜Ｅｎ−４は例えば１サイクルずつ遅れてＦＩＦＯメモリ１２に書き込まれる。ＦＩＦＯメモリ１２に対するデータの書込タイミングが１サイクル遅れると、ＦＩＦＯメモリ書込アドレスが１進む。
【００３６】
従って、例えばＤ１−０、Ｄ１−１、Ｄ１−２、Ｄ１−３、Ｄ１−４、Ｄ１−５、Ｄ１−６及びＤ１−７のデータはＦＩＦＯメモリ書込アドレス０００ｈ、００１ｈ、００２ｈ、００３ｈ、００４ｈ、００５ｈ、００６ｈ及び００７ｈのメモリセルにそれぞれ格納される。また、Ｅ１−０、Ｅ１−１、Ｅ１−２、Ｅ１−３及びＥ１−４のデータはＦＩＦＯメモリ書込アドレス００８ｈ、００９ｈ、００Ａｈ、００Ｂｈ及び００Ｃｈのメモリセルにそれぞれ格納される。
【００３７】
また、例えばＤ２−０、Ｄ２−１、Ｄ２−２、Ｄ２−３、Ｄ２−４、Ｄ２−５、Ｄ２−６及びＤ２−７のデータはＦＩＦＯメモリ書込アドレス００１ｈ、００２ｈ、００３ｈ、００４ｈ、００５ｈ、００６ｈ、００７ｈ及び００８ｈのメモリセルにそれぞれ格納される。また、Ｅ２−０、Ｅ２−１、Ｅ２−２、Ｅ２−３及びＥ２−４のデータはＦＩＦＯメモリ書込アドレス００９ｈ、００Ａｈ、００Ｂｈ、００Ｃｈ及び００Ｄｈのメモリセルにそれぞれ格納される。Ｄ３−０〜Ｄ３−７，Ｅ３−０〜Ｅ３−４以降のデータについても同様に、ＦＩＦＯメモリ書込アドレスが１ずつずれて格納される。
【００３８】
図８は、図６に示すデータストリームを図７に示す動作タイミングでＦＩＦＯメモリに書き込むときのメモリ内におけるデータの格納イメージの一例を示す図である。ＦＩＦＯメモリ１２に対するデータの書込タイミングが１サイクル遅れ、かつＦＩＦＯメモリ書込アドレスが１進むため、メモリ内におけるデータの格納イメージは図８のようになり、１３ビットの一組のデータＤｎ−０〜Ｄｎ−７，Ｅｎ−０〜Ｅｎ−４が斜めに格納される。
【００３９】
図９は、図８に示す格納イメージのデータをＦＩＦＯメモリから読み出す際の動作タイミングの一例を示す図である。図９の上段に示すように、ＦＩＦＯメモリ１２からはＦＩＦＯメモリ読出アドレスによって指定されるデータが読み出される。ＦＩＦＯメモリ１２には、図８に示すように１３ビットの一組のデータＤｎ−０〜Ｄｎ−７，Ｅｎ−０〜Ｅｎ−４が斜めに格納されている。ＦＩＦＯメモリ１２に対するデータの読出タイミングが１サイクル進むと、ＦＩＦＯメモリ読出アドレスが１進む。そのため、Ｄｎ−０〜Ｄｎ−７，Ｅｎ−０〜Ｅｎ−４のデータは例えば１サイクルずつ遅れてＦＩＦＯメモリ１２から読み出される。
【００４０】
従って、例えばＤ１−０、Ｄ１−１、Ｄ１−２、Ｄ１−３、Ｄ１−４、Ｄ１−５、Ｄ１−６及びＤ１−７のデータはＦＩＦＯメモリ読出アドレス００１ｈ、００２ｈ、００３ｈ、００４ｈ、００５ｈ、００６ｈ、００７ｈ及び００８ｈによってそれぞれ例えば１サイクルずつ遅れてＦＩＦＯメモリ１２から読み出される。また、Ｅ１−０、Ｅ１−１、Ｅ１−２、Ｅ１−３及びＥ１−４のデータはＦＩＦＯメモリ読出アドレス００９ｈ、００Ａｈ、００Ｂｈ、００Ｃｈ及び００Ｄｈによってそれぞれ例えば１サイクルずつ遅れてＦＩＦＯメモリ１２から読み出される。
【００４１】
また、例えばＤ２−０、Ｄ２−１、Ｄ２−２、Ｄ２−３、Ｄ２−４、Ｄ２−５、Ｄ２−６及びＤ２−７のデータはＦＩＦＯメモリ読出アドレス００２ｈ、００３ｈ、００４ｈ、００５ｈ、００６ｈ、００７ｈ、００８ｈ及び００９ｈによってそれぞれ例えば１サイクルずつ遅れてＦＩＦＯメモリ１２から読み出される。また、Ｅ２−０、Ｅ２−１、Ｅ２−２、Ｅ２−３及びＥ２−４のデータはＦＩＦＯメモリ読出アドレス００Ａｈ、００Ｂｈ、００Ｃｈ、００Ｄｈ及び００Ｅｈによってそれぞれ例えば１サイクルずつ遅れてＦＩＦＯメモリ１２から読み出される。Ｄ３−０〜Ｄ３−７，Ｅ３−０〜Ｅ３−４以降のデータについても同様に、１サイクルずつ遅れてＦＩＦＯメモリ１２から読み出される。
【００４２】
ＦＩＦＯメモリ１２から１サイクルずつ遅れてＦＩＦＯメモリ１２から読み出されるＤｎ−０〜Ｄｎ−７，Ｅｎ−０〜Ｅｎ−４のデータには、ＦＩＦＯ出力側データ遅延回路１３によってビットごとに、ＦＩＦＯ入力側データ遅延回路１１とは逆パターンの遅延が与えられる。それによって、図９の下段に示すように、ＦＩＦＯメモリ１２から読み出されるＤｎ−０〜Ｄｎ−７，Ｅｎ−０〜Ｅｎ−４のデータは、データＦＩＦＯ入力側データ遅延回路１１に入力される前の元の一組のデータに戻る。
【００４３】
例えばＦＩＦＯメモリ読出アドレス００１ｈで読み出されるＤ１−０のデータは、ＦＩＦＯ出力側データ遅延回路１３の１２段のフリップフロップＦＦによって１２サイクル遅れる。それによって、Ｄ１−０のデータは、ＦＩＦＯメモリ読出アドレス００Ｄｈで読み出されるＥ１−４のデータと同時にＦＩＦＯ出力側データ遅延回路１３から出力される。また、ＦＩＦＯメモリ読出アドレス００２ｈで読み出されるＤ１−１のデータは、ＦＩＦＯ出力側データ遅延回路１３の１１段のフリップフロップＦＦによって１１サイクル遅れる。それによって、Ｄ１−１のデータは、ＦＩＦＯメモリ読出アドレス００Ｄｈで読み出されるＥ１−４のデータと同時にＦＩＦＯ出力側データ遅延回路１３から出力される。Ｄ１−２〜Ｄ１−７，Ｅ１−０〜Ｅ１−３のデータについても同様に、ＦＩＦＯ出力側データ遅延回路１３で遅延されることによってＥ１−４のデータと同時にＦＩＦＯ出力側データ遅延回路１３から出力される。
【００４４】
図４及び図５に示すデータ記憶装置によれば、一組のデータがビットごとに異なるタイミングでＦＩＦＯメモリ１２に書き込まれる。そのため、一組のデータにおいて、ＦＩＦＯメモリ１２の同一アドレスのメモリセルに格納されるビット数を１にすることができる。従って、放射線によってＦＩＦＯメモリ１２の同一アドレスの複数のメモリセルに誤りが発生しても、ＦＩＦＯ出力側データ遅延回路１３から出力される一組のデータ内での誤り数を拡大ハミング符号などの誤り訂正コードによって訂正可能な数以下に抑えることができるため、誤りを訂正することができる。つまり、ＦＩＦＯメモリ１２のソフトエラーに対する耐性を高めることができる。
【００４５】
・データ記憶装置の第３の例
図１０は、実施の形態にかかるデータ記憶装置の第３の例における入力側の構成を示す図である。図１１は、実施の形態にかかるデータ記憶装置の第３の例における出力側の構成を示す図である。特に限定しないが、本実施例ではデータストリームのビット幅を例えば１６ビットとし、１６ビットのデータＤｉ−０〜Ｄｉ−１５に対して例えば６ビットの誤り訂正コードＥｉ−０〜Ｅｉ−５を付加するとして説明する。
【００４６】
図１０に示すように、データ記憶装置の第３の例では、ＦＩＦＯ入力側データ遅延回路１１において、例えばデータＤｉ−０に対してはフリップフロップＦＦの段数はゼロである。Ｄｉ−１、Ｄｉ−２、Ｄｉ−３、Ｄｉ−４、Ｄｉ−５、Ｄｉ−６、Ｄｉ−７、Ｄｉ−８、Ｄｉ−９及びＤｉ−１０のデータに対してはフリップフロップＦＦがそれぞれ１段、２段、３段、４段、５段、６段、７段、８段、９段及び１０段設けられている。
【００４７】
また、データＤｉ−１１に対してはフリップフロップＦＦの段数はゼロである。Ｄｉ−１２、Ｄｉ−１３、Ｄｉ−１４、Ｄｉ−１５、Ｅｉ−０、Ｅｉ−１、Ｅｉ−２、Ｅｉ−３、Ｅｉ−４及びＥｉ−５のデータに対してはフリップフロップＦＦがそれぞれ１段、２段、３段、４段、５段、６段、７段、８段、９段及び１０段設けられている。
【００４８】
図１１に示すように、データ記憶装置の第３の例では、ＦＩＦＯ出力側データ遅延回路１３において、例えばＤｆｏ−０、Ｄｆｏ−１、Ｄｆｏ−２、Ｄｆｏ−３、Ｄｆｏ−４、Ｄｆｏ−５、Ｄｆｏ−６、Ｄｆｏ−７、Ｄｆｏ−８及びＤｆｏ−９のデータに対してはフリップフロップＦＦがそれぞれ１０段、９段、８段、７段、６段、５段、４段、３段、２段及び１段設けられている。データＤｆｏ−１０に対してはフリップフロップＦＦの段数はゼロである。
【００４９】
また、Ｄｆｏ−１１、Ｄｆｏ−１２、Ｄｆｏ−１３、Ｄｆｏ−１４、Ｄｆｏ−１５、Ｅｆｏ−０、Ｅｆｏ−１、Ｅｆｏ−２、Ｅｆｏ−３及びＥｆｏ−４のデータに対してはフリップフロップＦＦがそれぞれ１０段、９段、８段、７段、６段、５段、４段、３段、２段及び１段設けられている。データＥｆｏ−５に対してはフリップフロップＦＦの段数はゼロである。その他の構成及び書き込みや読み出しの動作タイミングについては、図４及び図５に示す第２の例と同様であるため、重複する説明を省略する。
【００５０】
図１２は、図１１に示す第３の例のメモリ内におけるデータの格納イメージの一例を示す図である。図１２に示すように、２２ビットのデータＤｎ−０〜Ｄｎ−１５，Ｅｎ−０〜Ｅｎ−５のうち１１ビットのデータＤｎ−０〜Ｄｎ−１０が斜めに格納され、残りの１１ビットのデータＤｎ−１１〜Ｄｎ−１５，Ｅｎ−０〜Ｅｎ−５が斜めに格納される。非特許文献２には、一回のソフトエラーによるメモリアレイ中のデータ反転は７ビットにも及ぶことが示されている。第３の例では、同一のメモリアドレスのメモリセルには、一組の２２ビットのデータＤｎ−０〜Ｄｎ−１５，Ｅｎ−０〜Ｅｎ−５のうち２ビットのデータが８ビット以上離れて格納される。
【００５１】
従って、図１０及び図１１に示すデータ記憶装置によれば、一組のデータＤｎ−０〜Ｄｎ−１５，Ｅｎ−０〜Ｅｎ−５のうち、ＦＩＦＯメモリ１２の同一のメモリアドレスのメモリセルに格納される２ビットのデータが一回のソフトエラーによって同時にエラーになるのを防ぐことができる。それによって、ソフトエラーが発生しても、ＦＩＦＯ出力側データ遅延回路１３から出力される一組のデータ内での誤り数を誤り訂正コードによって訂正可能な数以下に抑えることができるため、誤りを訂正することができる。つまり、ＦＩＦＯメモリ１２のソフトエラーに対する耐性を高めることができる。
【００５２】
・アドレス線の接続関係の第１の例
図１３は、デュアルポートメモリをアドレス制御によってＦＩＦＯとして使用する場合のアドレス線の接続関係の第１の例を示す図である。図１３に示す第１の例は、図４及び図５に示すデータ記憶装置の第２の例、または図１０及び図１１に示すデータ記憶装置の第３の例におけるアドレス線の接続関係に適用されてもよい。図１３に示す例では、デュアルポートメモリに対する書込アドレス及び読出アドレスの制御を行うことによってデュアルポートメモリをＦＩＦＯとして使用している。本実施例ではメモリ１２のアドレスを表すビット数が８であるとして説明する。
【００５３】
図１３に示すように、メモリ１２においてＡ７、Ａ６、Ａ５、Ａ４、Ａ３、Ａ２、Ａ１及びＡ０の書込アドレス端子は、メモリ１２に書込アドレスを与える例えば基板上のＡ７、Ａ６、Ａ５、Ａ４、Ａ３、Ａ２、Ａ１及びＡ０の書込アドレス線にそれぞれ接続されている。また、メモリ１２においてＡ７、Ａ６、Ａ５、Ａ４、Ａ３、Ａ２、Ａ１及びＡ０の読出アドレス端子は、メモリ１２に読出アドレスを与える例えば基板上のＡ７、Ａ６、Ａ５、Ａ４、Ａ３、Ａ２、Ａ１及びＡ０の読出アドレス線にそれぞれ接続されている。書込アドレス及び読出アドレスにおいて、最上位ビットはＡ７であり、Ａ０は最下位ビットである。
【００５４】
・アドレス線の接続関係の第２の例
図１４は、デュアルポートメモリをアドレス制御によってＦＩＦＯとして使用する場合のアドレス線の接続関係の第２の例を示す図である。図１４に示す第２の例は、図４及び図５に示すデータ記憶装置の第２の例、または図１０及び図１１に示すデータ記憶装置の第３の例におけるアドレス線の接続関係に適用されてもよい。図１４に示す例では、デュアルポートメモリに対する書込アドレス及び読出アドレスの制御を行うことによってデュアルポートメモリをＦＩＦＯとして使用している。本実施例ではメモリ１２のアドレスを表すビット数が８であるとして説明する。
【００５５】
図１４に示すように、メモリ１２においてＡ４、Ａ３、Ａ２、Ａ１及びＡ０の書込アドレス端子は、メモリ１２に書込アドレスを与える例えば基板上のＡ２、Ａ１、Ａ０、Ａ４及びＡ３の書込アドレス線にそれぞれ接続されていてもよい。メモリ１２においてＡ７、Ａ６及びＡ５の書込アドレス端子は、例えば基板上のＡ７、Ａ６及びＡ５の書込アドレス線にそれぞれ接続されていてもよい。つまり、メモリ１２には、基板側におけるＡ１及びＡ０の書込アドレスが基板側におけるＡ４、Ａ３及びＡ２の書込アドレスよりも上位のアドレスとして与えられてもよい。
【００５６】
また、メモリ１２においてＡ４、Ａ３、Ａ２、Ａ１及びＡ０の読出アドレス端子は、メモリ１２に読出アドレスを与える例えば基板上のＡ２、Ａ１、Ａ０、Ａ４及びＡ３の読出アドレス線にそれぞれ接続されていてもよい。メモリ１２においてＡ７、Ａ６及びＡ５の読出アドレス端子は、例えば基板上のＡ７、Ａ６及びＡ５の読出アドレス線にそれぞれ接続されていてもよい。つまり、メモリ１２には、基板側におけるＡ１及びＡ０の読出アドレスが基板側におけるＡ４、Ａ３及びＡ２の読出アドレスよりも上位のアドレスとして与えられてもよい。
【００５７】
図１５は、図４及び図５に示すデータ記憶装置の第２の例において、図１４に示すアドレス線の接続関係を有するメモリ内におけるデータの格納イメージの一例を示す図である。図１５に示すように、一組のデータＤｎ−０〜Ｄｎ−７，Ｅｎ−０〜Ｅｎ−４の各ビットのデータが８アドレスおきにメモリ１２に格納される。例えば、一組のデータＤ１−０〜Ｄ１−７，Ｅ１−０〜Ｅ１−４のうち、Ｄ１−０はメモリ１２の０００ｈ（００００＿００００）のアドレスに格納される。
【００５８】
Ｄ１−１、Ｄ１−２、Ｄ１−３、Ｄ１−４、Ｄ１−５、Ｄ１−６及びＤ１−７はメモリ１２の００８ｈ（００００＿１０００）、０１０ｈ（０００１＿００００）、０１８ｈ（０００１＿１０００）、００１ｈ（００００＿０００１）、００９ｈ（００００＿１００１）、０１１ｈ（０００１＿０００１）及び０１９ｈ（０００１＿１００１）のアドレスにそれぞれ格納される。また、Ｅ１−０、Ｅ１−１、Ｅ１−２、Ｅ１−３及びＥ１−４はメモリ１２の００２ｈ（００００＿００１０）、００Ａｈ（００００＿１０１０）、０１２ｈ（０００１＿００１０）、０１Ａｈ（０００１＿１０１０）及び００３ｈ（００００＿００１１）のアドレスにそれぞれ格納される。
【００５９】
非特許文献２より、一回のソフトエラーによるメモリアレイ中のブロック状のデータ反転は最大で水平方向４ビット×垂直方向４ビット程度であると推測される。例えば図１５に示すデータ格納イメージにおいて、Ｄ１−５のデータに着目する。このＤ１−５を左下の角とし、Ｅ２−０の上のメモリセルを右下の角とし、Ｅ１７−０を右上の角とし、Ｄ２０−５を左上の角とする４ビット×４ビットの範囲には、Ｄ１−５と同じ一組のデータに含まれるデータＤ１−ａまたはＥ１−ｂは格納されていない。ここで、ａは０〜７の整数であり、ｂは０〜４の整数である。
【００６０】
また、Ｄ１−５を左上の角とし、Ｄ１３−５を左下の角とし、Ｅ１０−０を右下の角ととし、Ｅ２−０の上のメモリセルを右上の角とする４ビット×４ビットの範囲には、Ｄ１−５と同じ一組のデータに含まれるデータＤ１−ａまたはＥ１−ｂは格納されていない。また、Ｄ１−５を右上の角とし、Ｄ４−２を左上の角とし、Ｄ１６−２を左下の角とし、Ｄ１３−５を右下の角とする４ビット×４ビットの範囲には、Ｄ１−５と同じ一組のデータに含まれるデータＤ１−ａまたはＥ１−ｂは格納されていない。
【００６１】
また、Ｄ１−５を右下の角とし、Ｄ２０−５を右上の角とし、Ｄ２３−２を左上の角とし、Ｄ４−２を左下の角とする４ビット×４ビットの範囲には、Ｄ１−５と同じ一組のデータに含まれるデータＤ１−ａまたはＥ１−ｂは格納されていない。Ｄ１−５と同じ一組のデータに含まれる他のデータＤ１−０〜Ｄ１−４，Ｄ１−６〜Ｄ１−７，Ｅ１−０〜Ｅ１−４についても同様である。このように、水平方向４ビット×垂直方向４ビットの範囲には、同じ一組のデータに含まれるデータは１ビットしか存在しない。
【００６２】
従って、図１４に示すアドレス線の接続関係によれば、メモリ１２においてブロック状のソフトエラーが起こっても、一組のデータＤｎ−０〜Ｄｎ−７，Ｅｎ−０〜Ｅｎ−４のうち２ビットのデータが同時にエラーになるのを防ぐことができる。それによって、ブロック状のソフトエラーが発生しても、ＦＩＦＯ出力側データ遅延回路１３から出力される一組のデータ内での誤り数を誤り訂正コードによって訂正可能な数以下に抑えることができるため、誤りを訂正することができる。つまり、メモリ１２のソフトエラーに対する耐性を高めることができる。図１０及び図１１に示すデータ記憶装置の第３の例において、図１４に示すアドレス線の接続関係を適用する場合も同様であり、同様の効果が得られる。
【００６３】
・データ記憶装置の第１の適用例
図１６は、実施の形態にかかるデータ記憶装置の第１の適用例を示す図である。図１６に示すように、ディジタル信号処理装置２１においてＦＩＦＯメモリ２６は、伝送路クロックから装置内クロックへとクロックドメインを変更するのに用いられる。ディジタル信号処理装置２１は、光ファイバ２２から入力される光信号を光モジュール２３によって電気のシリアル信号に変換し、シリアルパラレル変換回路２４によってパラレル信号に変換してＦＩＦＯメモリ２６に格納する。
【００６４】
ＦＩＦＯメモリ２６からはディジタル信号処理回路２７へディジタル信号が出力される。ＦＩＦＯメモリ２６への格納時には誤り訂正回路２５によって誤り訂正コードが生成され、ＦＩＦＯメモリ２６からの出力時には誤り訂正コードを用いた誤り検出及び誤り訂正が行われる。ディジタル信号処理装置２１は、ディジタル信号処理回路２７から出力される処理済みのディジタル信号をパラレルシリアル変換回路２８によってシリアル信号に変換し、光モジュール２９によって光信号に変換して、光ファイバ３０へ送出する。
【００６５】
このディジタル信号処理装置２１において、誤り訂正回路２５は実施の形態にかかるデータ記憶装置における誤り訂正コード生成回路、誤り訂正回路及び誤り検出回路を含む。ＦＩＦＯメモリ２６は実施の形態にかかるデータ記憶装置におけるＦＩＦＯメモリを含む。
【００６６】
・データ記憶装置の第２の適用例
図１７は、実施の形態にかかるデータ記憶装置の第２の適用例を示す図である。図１７に示すように、パケットスイッチ装置４１においてＦＩＦＯメモリ４４は、パケットスイッチにおいてＳｔｏｒｅ  Ｆｏｒｗａｒｄ（ストアフォワード）方式によってパケットデータを一時蓄積するのに用いられる。
【００６７】
パケットスイッチ装置４１は、複数の入力ポートから入力されるパケットデータをＦＩＦＯメモリ４４にそれぞれ格納する。その際、エラーチェック４２によってパケットデータのエラーを検出すると、廃棄要求によってＦＩＦＯメモリ４４からパケットデータが廃棄される。ＦＩＦＯメモリ４４からはパケットスイッチ４５へパケットデータが出力される。ＦＩＦＯメモリ４４への格納時には誤り訂正回路４３によって誤り訂正コードが生成され、ＦＩＦＯメモリ４４からの出力時には誤り訂正コードを用いた誤り検出及び誤り訂正が行われる。パケットスイッチ装置４１は、パケットスイッチ４５によって出力ポートを切り替えて、パケットデータを出力する。
【００６８】
このパケットスイッチ装置４１において、誤り訂正回路４３は実施の形態にかかるデータ記憶装置における誤り訂正コード生成回路、誤り訂正回路及び誤り検出回路を含む。ＦＩＦＯメモリ４４は実施の形態にかかるデータ記憶装置におけるＦＩＦＯメモリを含む。
【００６９】
上述した各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００７０】
（付記１）データを格納するメモリと、複数ビットを有する一組のデータを、前記一組のデータにおける各ビットのデータに対して、全てのビットごとに異なるか、または連続する複数ビットずつグループ化した各グループに属するビットごとに異なる遅延を与えて、ビットごとに異なるタイミングで前記メモリに入力させる入力側遅延回路と、前記メモリから出力されるデータの各ビットのデータに対してビットごとに前記入力側遅延回路とは逆パターンの遅延を与えて、前記入力側遅延回路によってビットごとに異なる遅延が与えられる前の元の前記一組のデータに戻す出力側遅延回路と、を備えることを特徴とするデータ記憶装置。
【００７１】
（付記２）前記グループに属するビットの数は８以上であることを特徴とする付記１に記載のデータ記憶装置。
【００７２】
（付記３）前記メモリにデータを書き込むための書込アドレス信号が与えられる前記メモリの複数の書込アドレス端子が、前記メモリに前記書込アドレス信号を与える複数の書込アドレス線に、前記書込アドレス端子の最上位ビットから最下位ビットへの並び順が前記書込アドレス線の最上位ビットから最下位ビットへの並び順に対して入れ替えられて、接続されており、前記メモリからデータを読み出すための読出アドレス信号が与えられる前記メモリの複数の読出アドレス端子が、前記メモリに前記読出アドレス信号を与える複数の読出アドレス線に、前記書込アドレス線に対する前記書込アドレス端子の並び順の入れ替えパターンと同じパターンで入れ替えられて、接続されていることを特徴とする付記１または２に記載のデータ記憶装置。
【００７３】
（付記４）前記書込アドレス端子における最下位ビット、最下位ビットから１番目の下位ビット、最下位ビットから２番目の下位ビット、最下位ビットから３番目の下位ビット及び最下位ビットから４番目の下位ビットが、前記書込アドレス線における最下位ビットから２番目の下位ビット、最下位ビットから３番目の下位ビット、最下位ビットから４番目の下位ビット、最下位ビット及び最下位ビットから１番目の下位ビットにそれぞれ接続されており、前記読出アドレス端子における最下位ビット、最下位ビットから１番目の下位ビット、最下位ビットから２番目の下位ビット、最下位ビットから３番目の下位ビット及び最下位ビットから４番目の下位ビットが、前記読出アドレス線における最下位ビットから２番目の下位ビット、最下位ビットから３番目の下位ビット、最下位ビットから４番目の下位ビット、最下位ビット及び最下位ビットから１番目の下位ビットにそれぞれ接続されていることを特徴とする付記３に記載のデータ記憶装置。
【００７４】
（付記５）前記一組のデータは誤り訂正コードを含み、前記入力側遅延回路に入力される前記一組のデータのうち前記誤り訂正コードを除くデータに対して誤り訂正コードを生成する誤り訂正コード生成回路と、前記出力側遅延回路から出力される前記一組のデータに対してビットエラーを検出する誤り検出回路と、前記誤り検出回路によるビットエラーの検出結果に基づいて、前記出力側遅延回路から出力される前記一組のデータに対してビットエラーを訂正する誤り訂正回路と、を備えることを特徴とする付記１乃至４のいずれか一つに記載のデータ記憶装置。
【００７５】
（付記６）複数ビットを有する一組のデータにおける各ビットのデータに対して、全てのビットごとに異なるか、または連続する複数ビットずつグループ化した各グループに属するビットごとに異なる遅延を与え、前記遅延によってビットごとに異なるタイミングでメモリに前記一組のデータを入力させて前記メモリに前記一組のデータを書き込み、前記メモリからデータを読み出し、前記メモリから出力される前記データの各ビットのデータに対してビットごとに前記入力時とは逆パターンの遅延を与えて、前記メモリから出力されるデータを、前記入力時にビットごとに異なる遅延が与えられる前の元の前記一組のデータに戻すことを特徴とするデータ記憶方法。
【００７６】
（付記７）前記一組のデータは誤り訂正コードを含むことを特徴とする付記６に記載のデータ記憶方法。
【符号の説明】
【００７７】
１  入力側遅延回路
２  メモリ
３  出力側遅延回路
１４  誤り訂正コード生成回路
１５  誤り訂正回路
１６  誤り検出回路
【図１】
2014186704.tif 000003
【図２】
2014186704.tif 000004
【図３】
2014186704.tif 000005
【図４】
2014186704.tif 000006
【図５】
2014186704.tif 000007
【図６】
2014186704.tif 000008
【図７】
2014186704.tif 000009
【図８】
2014186704.tif 000010
【図９】
2014186704.tif 000011
【図１０】
2014186704.tif 000012
【図１１】
2014186704.tif 000013
【図１２】
2014186704.tif 000014
【図１３】
2014186704.tif 000015
【図１４】
2014186704.tif 000016
【図１５】
2014186704.tif 000017
【図１６】
2014186704.tif 000018
【図１７】
2014186704.tif 000019