(57)【要約】【課題】  オール“０”またはオール“１”のビット列を生じさせる異常を簡易に検出可能にすること。【解決手段】  実施形態によれば、誤り検出符号化回路は、第１計算部と、第２計算部と、生成部とを具備する。第１計算部は、既定長のビット列についての第１パリティビットを計算する。第２計算部は、上記ビット列についての第１パリティビットとは逆極性の第２パリティビットを計算する。生成部は、上記第１パリティビットと第２パリティビットとを上記ビット列に付与して符号化ビット列を生成する。【選択図】  図３
2016046547.tif 000002
【特許請求の範囲】
【請求項１】
既定長のビット列についての第１パリティビットを計算する第１計算部と、
前記ビット列についての前記第１パリティビットとは逆極性の第２パリティビットを計算する第２計算部と、
前記第１パリティビットと前記第２パリティビットとを前記ビット列に付与して符号化ビット列を生成する生成部とを具備することを特徴とする、誤り検出符号化回路。
【請求項２】
前記生成部は、
前記ビット列の既定位置に前記第２パリティビットを多重する多重部と、
前記既定位置に前記第２パリティビットを多重されたビット列に前記第１パリティビットを付与するパリティ付与部とを備えることを特徴とする、請求項１に記載の誤り検出符号化回路。
【請求項３】
前記既定位置のビットはＭＳＢ（Most Significant Bit）およびＬＳＢ（Least Significant Bit）のいずれか一方であることを特徴とする、請求項２に記載の誤り検出符号化回路。
【請求項４】
送信装置と、前記送信装置から送信されたデータを受信する受信装置とを具備し、
前記送信装置は、
既定長のビット列についての第１パリティビットを計算する第１計算部と、
前記ビット列についての前記第１パリティビットとは逆極性の第２パリティビットを計算する第２計算部と、
前記第１パリティビットと前記第２パリティビットとを前記ビット列に付与して符号化ビット列を生成する生成部と
前記符号化ビット列を前記受信装置に送信する送信部とを備え、
前記受信装置は、
前記送信装置から送信されたビット列を受信する受信部と、
前記受信された既定長のビット列の全てのビットが０又は１であれば、障害の発生を判定する判定部を備えることを特徴とする、データ伝送システム。
【請求項５】
データを記録媒体に記録する記録装置と、前記記録媒体に記録された前記データを読み出す再生装置とを具備し、
前記記録装置は、
既定長のビット列についての第１パリティビットを計算する第１計算部と、
前記ビット列についての前記第１パリティビットとは逆極性の第２パリティビットを計算する第２計算部と、
前記第１パリティビットと前記第２パリティビットとを前記ビット列に付与して符号化ビット列を生成する生成部と
前記符号化ビット列を前記記録媒体に記録する記録部とを備え、
前記再生装置は、
前記記録媒体に記録されたビット列を読み出す読み出し部と、
前記読み出された前記既定長のビット列の全てのビットが０又は１であれば、障害の発生を判定する判定部を備えることを特徴とする、データ記録システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、パリティチェックなどの誤り検出方式を適用可能な、誤り検出符号化回路、データ伝送システムおよびデータ記録システムに関する。
【背景技術】
【０００２】
情報処理分野においてデータの信頼性（エラーがないこと）を検証することは重要である。そこで、データを伝送したり記録したりする前に予めデータに検査コードを付与（add）し、この検査コードを用いてデータの信頼性を検査する技術が知られている。この種の技術はデータの伝送路への送信、伝送路からの受信、あるいはデータの記録メディアへのライト、メディアからのリードの際などに用いられる。要求される信頼性の強度に応じて、チェックサム、パリティ、ＣＲＣ（Cyclic Redundancy Check）などの検査コードが用いられる。
【０００３】
パリティは簡易な検査コードとして知られ広く用いられている。例えば７ビット（bit）のデータに１ビットのパリティを付与して８ビット（１byte）の符号化ビット列が生成される。パリティには偶数パリティと奇数パリティとがある。偶数パリティは８ビットのビット加算値（或いは値が“１”のビット数）が偶数になるようにパリティビットを付与する方式である。奇数パリティは８ビットのビット加算値（或いは値が“１”のビット数）が奇数になるようにパリティビット（１ビットパリティ）を付与する方式である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２１６０４６号公報
【特許文献２】特開２００５−１４１３３２号公報
【特許文献３】特開平１０−２２２３８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
強い衝撃などで基板に搭載されたメモリ素子が破損したり、パッケージが基板から剥離したりすることがある。このような異常な状態は全損と称され、正しいデータを全く読み出せなくなることがある。全損を生じるとリードデータはオール“０”（ａｌｌ“０”）またはオール“１”（ａｌｌ“１”）のいずれかに張り付く（fix）ことが多い。
【０００６】
ところで、オール“０”型の全損を生じた場合、奇数パリティではエラーを検出することができない。同様に、オール“１”型の全損を生じると偶数パリティではエラーを検出できない。このように、１ビットパリティ方式は回路規模を縮小できるが検出できるエラーパターンが少ないので、エラー検出の強度は低い。
【０００７】
水平パリティ方式が知られている。水平パリティ方式は、複数のデータを一組としてビット方向に偶数パリティを付与し、データ方向に奇数パリティを付与することで２ビット以上の誤りを検出できるようにする方式である。この方式で用いられるパリティビットはＢＣＣ（Block Check Character）と称される。
【０００８】
しかし水平パリティ方式は１ビットパリティ方式に比べると２倍以上大きな回路規模を要する。回路規模を拡大することなく全損を検出可能な技術が要望されている。
【０００９】
目的は、オール“０”またはオール“１”のビット列を生じさせる異常を簡易に検出可能な誤り検出符号化回路、データ伝送システムおよびデータ記録システムを提供することにある。
【課題を解決するための手段】
【００１０】
実施形態によれば、誤り検出符号化回路は、第１計算部と、第２計算部と、生成部とを具備する。第１計算部は、既定長のビット列についての第１パリティビットを計算する。第２計算部は、上記ビット列についての第１パリティビットとは逆極性の第２パリティビットを計算する。生成部は、上記第１パリティビットと第２パリティビットとを上記ビット列に付与して符号化ビット列を生成する。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施形態に係るデータ伝送システムの一例を示す図である。
【図２】図２は、実施形態に係るデータ記録システムの一例を示す図である。
【図３】図３は、誤り検出符号化部２０の一例を示す機能ブロック図である。
【図４】図４は、第１の実施形態における誤り検出符号化部２０の作用の一例を示すタイミングチャートである。
【図５】図５は、誤り検出復号部１００における処理の一例を説明するための図である。
【図６】図６は、符号化ビット列の一例を示す模式図である。
【図７】図７は、比較のため既存の誤り検出符号化回路の一例を示す機能ブロック図である。
【図８】図８は、図７に示される回路の動作を説明するためのタイミングチャートである。
【図９】図９は、実施形態における誤り検出符号化部２０を簡易的に示すタイミングチャートである。
【図１０】図１０は、第２の実施形態における誤り検出符号化部２０の作用の一例を示すタイミングチャートである。
【図１１】図１１は、誤り検出復号部１００における処理の他の例を説明するための図である。
【図１２】図１２は、符号化ビット列の他の例を示す模式図である。
【発明を実施するための形態】
【００１２】
実施形態に係る誤り検出符号化回路、データ伝送システムおよびデータ記録システムは、典型的には、無線または有線でデータを送受信可能なデータ伝送システム、記録媒体に情報を書き込み／記録媒体からデータを読み出し可能なデータ記録システムなどに適用される。
【００１３】
図１は、実施形態に係るデータ伝送システムの一例を示す図である。図１に示されるデータ伝送システムは、誤り検出符号化部２０、送信部３０、受信部４０および誤り検出復号部１００を含む。
【００１４】
誤り検出符号化部２０は、実施形態に係るパリティ符号を用いてユーザデータ１０を符号化し、符号化ビット列を生成する。送信部３０は、誤り検出符号化部２０からの符号化ビット列に変調、デジタル−アナログ変換、アップコンバート、フィルタリング、電力増幅などの各種処理を施し、アンテナ（或いは、図示しない信号線）を介して信号を出力する。この信号は、符号化ビット列を搬送する。
【００１５】
受信部４０は、アンテナ（或いは、図示しない信号線）を介して送信部３０からの信号を受信する。受信部４０は、受信した信号に低雑音増幅、フィルタリング、ダウンコンバート、アナログ−デジタル変換、復調などの各種処理を施して符号化ビット列５０を再生する。誤り検出復号部１００は、上記パリティ符号を用いて符号化ビット列５０を復号し、ユーザデータ６０を得る。
【００１６】
図２は、実施形態に係るデータ記録システムの一例を示す図である。図２に示されるデータ記録システムは、誤り検出符号化部２０、記録部７０、再生部８０および誤り検出復号部１００を含む。以下、図２において図１と異なる部分についてだけ説明する。
【００１７】
誤り検出符号化部２０は、実施形態に係るパリティ符号を用いてユーザデータ１０を符号化し、符号化ビット列を生成する。記録部７０は、誤り検出符号化部２０からの符号化ビット列を記録媒体９０に記録する。再生部８０は、記録媒体９０に記録された符号化ビット列５０を再生する。誤り検出復号部１００は、上記パリティ符号を用いて符号化ビット列５０を復号し、ユーザデータ６０を得る。
【００１８】
ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、フラッシュメモリ、ＳＤＲＡＭ（Synchronous Dynamic RAM）などの半導体メモリ、あるいはＥＰＲＯＭ（Erasable Programmable ROM）、ＥＰＲＯＭ（Electrically Erasable Programmable ROM）などの不揮発性メモリが記録媒体９０の一例として挙げられる。このほかハードディスクなどの磁気記録装置や、光磁気ディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）、ブルーレイ（登録商標）ディスク（Blu-ray（登録商標） Disc）なども記録媒体９０の一例である。
【００１９】
図３は、誤り検出符号化部２０の一例を示す機能ブロック図である。ユーザデータ１０は偶数パリティ演算部１、奇数パリティ演算部２およびパリティ付与部４に入力される。偶数パリティ演算部１はユーザデータ１０のうち既定長（実施形態では７ビットとする）のビット列についての、１ビットの偶数パリティ（第１パリティビット）を計算する。計算された偶数パリティ（PARITY）はパリティ付与部４に渡される。
【００２０】
奇数パリティ演算部２は、上記７ビットのビット列についての、１ビットの奇数パリティ（第２パリティビット）を計算する。つまり奇数パリティ演算部２は、偶数パリティ演算部１により計算される偶数パリティとは逆極性である、奇数パリティを計算する。なお、偶数パリティ演算部１の出力に接続される反転回路（インバータ）により奇数パリティ演算部２を代替することもできる。奇数パリティ＝ＮＯＴ（偶数パリティ）という関係があるからである。
【００２１】
奇数パリティ演算部２の出力は多重部（MUX）３に入力される。多重部３は、上記７ビットのビット列の既定位置（実施形態ではＭＳＢ（Most Significant Bit）とする）に、奇数パリティ演算部２で計算された奇数パリティビットを多重する。つまり多重部３は、上記７ビットのビット列のうち既定位置のビットを、奇数パリティ演算部２で計算された奇数パリティビットに置換するともいえる。この、ＭＳＢに奇数パリティを多重されたビット列（置換DATAと表記する）は、パリティ付与部４に入力される。
【００２２】
パリティ付与部４は、置換DATAに、偶数パリティ演算部１により計算された偶数パリティ（PARITY）を付与して符号化ビット列（置換DATA＋PARITY）を生成する。この符号化ビット列は送信部３０により伝送路に送出されたり、記録部７０により記録媒体９０に記録されたりする。伝送路へのデータ送信フォーマット、および記録媒体への記録フォーマットはどのようなものも適用可能である。次に、上記構成を基礎として複数の実施形態を説明する。
【００２３】
［第１の実施形態］
図４は、誤り検出符号化部２０の作用の一例を示すタイミングチャートである。図４には、パリティの付与されたデータフレーム（符号化ビット列）がクロック（ＣＬＫ）カウントの増加に伴って次々に生成されていくことが示される。１クロックサイクルを１タイムスロットとする。また、全てのフレームには第１パリティ（1st PARITY）としての偶数パリティが付与される。
【００２４】
第１の実施形態では、第２パリティ（2nd PARITY）としての奇数パリティを、ＭＳＢの１ビットと入れ替える。つまりＭＳＢの位置に奇数パリティを多重する。第１パリティが偶数であるので、置換すべきビットの値は「０」が対象となる。つまり図４（ａ）においてＭＳＢ＝“０”のデータは当該ＭＳＢが奇数パリティと置き換えられる。具体的にはＭＳＢ＝“１”に置換される。
【００２５】
図４（ａ）各タイムスロットのＭＳＢをルールに従って置換すると図４（ｂ）に示される符号化ビット列が得られる。なお、ＭＳＢ＝“１”のデータについては見かけ上の変化がないが、ＭＳＢに１が多重される点では同様である
図５は、誤り検出復号部１００における処理の一例を説明するための図である。受信した符号化ビット列のうち通常データ（ＭＳＢを置換されていないデータ）については第１パリティ（偶数パリティ）によるチェックがＯＫとなる。一方、置換データ（ＭＳＢを置換されたデータ）についてはＭＳＢが本来のビットから置き換えられているので第１パリティによるチェックがエラー（ERROR）となり、第２パリティ（奇数パリティ）がＯＫになる。そこでＭＳＢを本来のビットに戻す（つまりＭＳＢ＝“１”に戻す）ことで第１パリティによるチェックもＯＫとなり、本来のビット列（データ）を再生することが可能になる。つまりエラーチェックの機能が損なわれることはない。
【００２６】
以上の過程で、符号化ビット列にオール“０”またはオール“１”が生じることは原理的に有り得ない。図６を参照してこのことを説明する。
【００２７】
図６は、符号化ビット列の一例を示す模式図である。図６においては８ビットのビット列を処理の対象とする。  
図６において、ユーザデータの状態でオール“０”であるビット列の第１パリティは０であり、第２パリティは１である。よってこのビット列のＭＳＢが０から１に置換されるので、符号化ビット列はＭＳＢからカウントして“１００００００００”になる。従ってオール“０”が伝送（あるいはリード／ライト）されることはない。これは、データ外部（オーバーヘッド）に付与される第１パリティとは逆極性の第２パリティを伝送データ内に含める、という、実施形態における技術思想により初めて可能になる事項である。
【００２８】
また図６において、ユーザデータの状態でオール“１”であるビット列の第１パリティは０である。このビット列においてはＭＳＢが既に１なので（つまり第１パリティと逆極性なので）ＭＳＢは見かけ上、変化しない。よって符号化ビット列はＭＳＢからカウントして“１１１１１１１１０”になり、その結果、オール“１”が伝送（あるいはリード／ライト）されることはない。
【００２９】
以上の説明から分かるように、仮に、受信再生時にオール“０”またはオール“１”が検出されると、有り得ないことが生じたことになる。よって、異常な状態（全損）が生じたことを即、結論付けることができる。この結果に基づいてアラートを発生させたり、警告画面に表示したりするようにしても良い。
【００３０】
図７は、比較のため既存の誤り検出符号化回路の一例を示す機能ブロック図である。例えばｎビットのビット列がｍ個発生するごとに偶数パリティと奇数パリティとを切り替える（交番）ことにより、信号の全断を検出する回路が知られている。
【００３１】
この種の回路においては図８のタイミングチャートに示されるように、タイムスロット（クロックサイクル）毎に送られてくるデータ単位にパリティの偶奇極性を切り替える必要がある。このため、少なくとも「タイムスロット毎に偶奇を切り替える制御回路」が必要になる。つまり図８のSEL信号を発生させる偶奇切り替え制御回路５である。
【００３２】
さらに「偶奇の切り替えの開始を定期的にリセットする回路」あるいは「リセットするタイムスロットを検出する回路」も必要になる。つまり図８のSYNC信号を発生させる開始タイムスロット管理回路６である。このように既存の技術には回路規模が増大するというデメリットがある。
【００３３】
これに対し実施形態によれば、図９に示されるように一つのタイムスロット（クロックサイクル）ごとに、伝送するビット列に偶奇両方のパリティを付与するようにしている。従って動作タイミングとしてクロックだけを用いればよいので図７に示されるような偶奇切り替え制御回路５も開始タイムスロット管理回路６も不要である。よって、回路規模を大幅に縮小することが可能になる。
【００３４】
しかも既存の技術では、伝送またはライト／リードの対象になる符号化ビット列にオール“０”またはオール“１”の生じる余地が、依然として残る。従ってオール“０”またはオール“１”が受信側またはデータ読み出し側で検出された場合に、即座に断線又は全損と判断することができない。これに対し実施形態によれば、オール“０”またはオール“１”が検出されることにより全損の生じたことを即座に検知することができる。
【００３５】
さらに実施形態では、第２パリティを、ビット列中の既定位置に多重するようにしている。従って第２パリティを付与することでオーバヘッドが増えたりしないので、伝送帯域や記録媒体容量が増加することもない。
【００３６】
以上をまとめると実施形態では、同じタイムスロット（タイミング）のデータに通常のパリティ（第１パリティ）を付与し、かつ、第１パリティと極性が逆の第２パリティを、データ内の或る１ビットと置換するようにしている。これにより、置換データ＋第１パリティからなるデータパターン（符号化ビット列）にオール“０”またはオール“１”が生じないようにできる。従ってオール“０”またはオール“１”を受信した場合には、データの伝送路断線や記録媒体全損などが起きたことを即時に判断することができる。
【００３７】
これらのことから、オール“０”またはオール“１”のビット列を生じさせる異常を簡易に検出可能な誤り検出符号化回路、データ伝送システムおよびデータ記録システムを提供することが可能になる。
【００３８】
［第２の実施形態］
図１０は、第２の実施形態における誤り検出符号化部２０の作用の一例を示すタイミングチャートである。図１０〜図１２においては図４〜図６と異なる点だけを説明する。第２の実施形態では第１の実施形態とは逆に、第１パリティを奇数パリティとする。
【００３９】
第２の実施形態では、第２パリティ（2nd PARITY）としての偶数パリティをＭＳＢの１ビットに多重（ＭＳＢと置換）する。第１パリティが奇数であるので、置換すべきビットの値は「１」が対象となる。つまり図１０（ａ）においてＭＳＢ＝“１”のデータは当該ＭＳＢが偶数パリティと置き換えられる。具体的にはＭＳＢ＝“０”に置換される。図１０（ａ）の各タイムスロットのＭＳＢをルールに従って置換すると図１０（ｂ）に示される符号化ビット列が得られる。
【００４０】
図１１は、誤り検出復号部１００における処理の他の例を説明するための図である。受信した符号化ビット列のうち通常データについては第１パリティ（奇数パリティ）によるチェックがＯＫとなる。一方、置換データについてはＭＳＢが本来のビットから置き換えられているので第１パリティによるチェックがエラー（ERROR）となり、第２パリティ（偶数パリティ）がＯＫになる。そこでＭＳＢを本来のビットに戻す（つまりＭＳＢ＝“１”に戻す）ことで第１パリティによるチェックもＯＫとなり、本来のビット列（データ）を再生することが可能になる。
【００４１】
以上の過程においても、図１２に示されるように符号化ビット列にオール“０”またはオール“１”が生じることは無い。図１２において、オール“０”のビット列の第１パリティは１であり、第２パリティは０である。つまりこのビット列のＭＳＢは０なので、このＭＳＢを第２パリティの０で置換しても見かけ上、変わらない。よって符号化ビット列はＭＳＢからカウントして“００００００００１”になるので、オール“０”が伝送（あるいはリード／ライト）されることはない。
【００４２】
一方、図１２において、ユーザデータの状態でオール“１”であるビット列の第１パリティも１であり、第２パリティは０である。よってこのビット列のＭＳＢが１から０に置換されるので、符号化ビット列はＭＳＢからカウントして“０１１１１１１１１”になる。従ってオール“１”が伝送（あるいはリード／ライト）されることはない。  
以上のように第２の実施形態によっても、第１の実施形態と同様の効果を得ることができる。
【００４３】
なお本発明は上記実施の形態に限定されるものではない。例えば実施形態では処理対象のビット列を７ビットあるいは８ビットとしたが、もちろんこれらのビット長に限られるものではない。また上記の説明におけるＭＳＢ（Most Significant Bit）をＬＳＢ（Least Significant Bit）と読み替えても全く同じ議論が成り立つ。さらにＭＳＢやＬＳＢに限らず、要するにビット列中の予め定められた位置（ビット）に第２パリティビットを多重すればよい。
【００４４】
また、図３では偶数パリティを計算する偶数パリティ演算部１と、奇数パリティを計算する奇数パリティ演算部２とを備える構成を示した。実施形態に係る構成は必ずしもこれに限定されない。例えば奇数パリティ演算部２を削除し、偶数パリティ演算部１で計算された偶数パリティを反転して多重部（MUX）３に入力する反転器（インバータ）を設けるようにしても全く同じ作用を奏する。このようにすれば構成のさらなる簡易化を期待できる。
【００４５】
本発明のいくつかの実施形態を説明したが、これらの実施形態は例として提示するものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００４６】
１…偶数パリティ演算部、２…奇数パリティ演算部、３…多重部、４…パリティ付与部、５…偶奇切り替え制御回路、６…開始タイムスロット管理回路、１０…ユーザデータ、２０…誤り検出符号化部、３０…送信部、４０…受信部、５０…符号化ビット列、６０…ユーザデータ、７０…記録部、８０…再生部、９０…記録媒体、１００…誤り検出復号器。
【図１】
2016046547.tif 000003
【図２】
2016046547.tif 000004
【図３】
2016046547.tif 000005
【図４】
2016046547.tif 000006
【図５】
2016046547.tif 000007
【図６】
2016046547.tif 000008
【図７】
2016046547.tif 000009
【図８】
2016046547.tif 000010
【図９】
2016046547.tif 000011
【図１０】
2016046547.tif 000012
【図１１】
2016046547.tif 000013
【図１２】
2016046547.tif 000014