"第1のデータと第2のデータとを組み合わせたデータの統合パリティデータを生成するエンコーダを具備し、前記エンコーダは、所定の規則性を有する第1の検査行列を使用して前記第1のデータのパリティデータを生成する第1の生成手段と、前記第1の検査行列とは排他的で異なる規則性を有する第2の検査行列を使用して、前記第2のデータのパリティデータを生成する第2の生成手段と、前記第1及び第2の生成手段により生成される各パリティデータを統合した前記統合パリティデータを生成する第3の生成手段とを含む構成である符号化復号化装置。前記統合パリティデータを使用して、前記第1及び第2のデータのそれぞれのエラーを検出するデコーダを有し、前記デコーダは、前記第1の検査行列に基づいて前記第1のデータからエラーを検出し、前記第2の検査行列に基づいて前記第2のデータからエラーを検出するように構成されている請求項1に記載の符号化復号化装置。前記第3の生成手段は、前記第1及び第2の生成手段により生成される各パリティデータを入力として、排他的論理和演算を実行して前記統合パリティデータを算出するロジックモジュールを含む請求項1に記載の符号化復号化装置。請求項1に記載の符号化復号化装置を有するデータ記憶装置であって、前記第1のデータであるユーザデータ、前記第2のデータであるエキストラデータ、及び前記統合パリティデータを記憶する記憶デバイスと、前記記憶デバイスから読み出した前記ユーザデータまたは前記エキストラデータを外部に出力するインターフェースとを具備するデータ記憶装置。請求項2に記載の符号化復号化装置を有するデータ記憶装置であって、前記デコーダは、前記記憶デバイスから読み出された前記ユーザデータ及び前記エキストラデータのそれぞれのエラーを検出し、前記デコーダにより検出される各エラーを訂正するエラー訂正手段を有する請求項4に記載のデータ記憶装置。前記記憶デバイスに対して、前記ユーザデータに前記統合パリティデータを付加したデータを記憶し、前記記憶デバイスに対して、前記エキストラデータを前記ユーザデータとは管理の異なる記憶領域に記憶するように制御する制御手段を含む請求項4に記載のデータ記憶装置。所定の規則性を有する第1の検査行列を使用して第1のデータのパリティデータを生成し、前記第1の検査行列とは排他的で異なる規則性を有する第2の検査行列を使用して、第2のデータのパリティデータを生成し、前記第1及び第2の生成手段により生成される各パリティデータを統合した前記統合パリティデータを生成する符号化復号化方法。前記統合パリティデータを使用して、前記第1及び第2のデータのそれぞれのエラーを検出する場合に、前記第1の検査行列に基づいて前記第1のデータからエラーを検出し、前記第2の検査行列に基づいて前記第2のデータからエラーを検出する請求項7に記載の符号化復号化方法。前記第1及び第2の各パリティデータを入力として、排他的論理和演算を実行して前記統合パリティデータを算出する請求項7に記載の符号化復号化方法。前記第1のデータであるユーザデータ、前記第2のデータであるエキストラデータ、及び前記統合パリティデータを、データ記憶装置の記憶デバイスに記憶する請求項7に記載の符号化復号化方法。前記記憶デバイスから読み出された前記統合パリティデータを使用して、前記ユーザデータ及び前記エキストラデータのそれぞれのエラーを検出する場合に、前記第1の検査行列に基づいて前記ユーザデータからエラーを検出し、前記第2の検査行列に基づいて前記エキストラデータからエラーを検出する請求項8に記載の符号化復号化方法。符号化復号化方法を採用する符号化復号化装置により、データ記憶装置に記憶されるユーザデータに発生するエラーを検出し、かつエラーを訂正することが可能である。ところで、データ記憶装置では、記憶媒体に記憶するデータとして、主データであるユーザデータだけでなく、例えばアドレスデータや各種の管理データなどのユーザデータ以外の関連データ以下、エキストラデータ:extradataと表記するが取り扱われる。エキストラデータについても、符号化復号化装置によりエラー検出訂正処理が行なわれることが望ましい。しかしながら、エキストラデータについて、ユーザデータとは独立に符号化復号化を行なう場合に、符号化復号化装置の処理効率の低下や構成の複雑化を招く可能性が高い。そこで、本発明の目的は、主データと共にエキストラデータについても符号化復号化を実現できる符号化復号化装置を提供することにある。実施形態によれば、符号化復号化装置は、第1のデータと第2のデータとを組み合わせたデータの統合パリティデータを生成するエンコーダを具備する。前記エンコーダは、所定の規則性を有する第1の検査行列を使用して前記第1のデータのパリティデータを生成する第1の生成手段と、第2の生成手段と、第3の生成手段とを含む構成である。前記第2の生成手段は、前記第1の検査行列とは排他的で異なる規則性を有する第2の検査行列を使用して、前記第2のデータのパリティデータを生成する。前記第3の生成手段は、前記第1及び第2の生成手段により生成される各パリティデータを統合した前記統合パリティデータを生成する。以下図面を参照して、実施形態を説明する。[符号化復号化装置の構成]図1は本実施形態の符号化復号化装置の構成を説明するためのブロック図である。図1に示すように、符号化復号化装置10は、エンコーダ11と、デコーダ15と、エラー訂正モジュール16とを有し、例えば1チップの集積回路により構成されている。本実施形態では、符号化復号化装置10は、後述するように、ハードディスクドライブやSSDsolidstatedriveなどのデータ記憶装置に適用する場合について説明する。エンコーダ11は、入力データとして、ユーザデータ100及びエキストラデータextradata200を入力し、ハミングHamming符号化方法による符号化処理を実行する。エンコーダ11は、ユーザデータ用パリティ演算モジュール第1のパリティ演算モジュール12と、エキストラデータ用パリティ演算モジュール第2のパリティ演算モジュール13と、排他的オアゲートexclusiveORgate、XORゲートと表記する14とを有する。図6のフローチャートを参照して、エンコーダ11の符号化処理を説明する。エンコーダ11は、入力データとして、ユーザデータ100及びエキストラデータ200を入力するブロック600。ここで、ユーザデータ100は、例えばホストシステムから転送されて、ストレージモジュール20の記憶媒体に保存される主データである。エキストラデータ200は、ユーザデータ100と関連する付加データであり、例えば論理ブロックアドレスLBAデータや、データ記憶装置のシステム上の管理データなどである。第1のパリティ演算モジュール12は、所定の生成行列generatormatrixを使用して、ユーザデータ100のパリティデータを生成するブロック601。第2のパリティ演算モジュール13は、第1のパリティ演算モジュール12の生成行列とは異なる生成行列を使用して、エキストラデータ200のパリティデータを生成するブロック602。XORゲート14は、第1及び第2のパリティ演算モジュール13,14から出力される各パリティデータを入力とする排他的論理和演算を実行し、統合パリティデータ300を算出するブロック603。即ち、統合パリティデータ300は、ユーザデータ100とエキストラデータ200とを組み合わせたデータのパリティデータである。ストレージモジュール20は、データ記憶装置のメイン要素であり、ユーザデータ100、エキストラデータ200及び統合パリティデータ300を記憶媒体に格納するブロック604。この場合、ストレージモジュール20では、ユーザデータ100の記憶媒体のユーザエリアに格納される。エキストラデータ200は、記憶媒体のシステムエリアに格納される。また、統合パリティデータ300は、ユーザデータ100と共にユーザエリアに格納される。デコーダ15は、ストレージモジュール20からユーザデータ100、エキストラデータ200及び統合パリティデータ300を入力し、生成行列に対応する所定の検査行列checkmatrixまたはその転置行列transposedmatrixを使用して、エラー検出処理を実行する。図7のフローチャートを参照して、デコーダ15の復号化処理およびエラー訂正処理を説明する。デコーダ15は、ストレージモジュール20からユーザデータ100、エキストラデータ200及び統合パリティデータ300を入力するブロック700。デコーダ15は、統合パリティデータ300を使用し、後述する検査行列400に基づいて、ユーザデータ100及びエキストラデータ200のエラーの有無を判定し、エラーを検出するブロック701。デコーダ15は、エラー判定によりエラー検出を示すフラグ151を出力する。さらに、デコーダ15は、シンドロームsyndrome演算を実行する。デコーダ15は、シンドローム演算により、ユーザデータ100及びエキストラデータ200のそれぞれのエラー位置エラーアドレスを示すシンドローム150を生成するブロック702。エラー訂正モジュール16は、デコーダ15からのフラグ151に応じて、デコーダ15からのシンドローム150に基づいてユーザデータ100及びエキストラデータ200に存在するエラーを訂正して出力するブロック703,704。なお、本実施形態では、前記生成行列、それに対応する検査行列、及び検査行列の転置行列のいずれも便宜的に検査行列と呼ぶ。さらに、符号化復号化装置10において、エキストラデータ200の受け渡し処理は、ユーザデータ100と同じデータバスを使用してもよい。この場合、エキストラデータ200を示す信号または内部カウンタを利用することにより、ユーザデータ100とエキストラデータ200とを判別することが必要である。また、エキストラデータ200がユーザデータ100とは異なるデータバスで伝送する場合、第1及び第2のパリティ演算モジュール13,14の並列動作が可能である。また、ユーザデータ100を全て受け渡す前にエキストラデータ200が確定されていれば、ユーザデータ100のパリティ演算中にエキストラデータ200のパリティ計算を完了できる。これにより、ユーザデータ100のパリティ演算終了と共にエキストラデータ200のパリティデータを出力できるため、エキストラデータ200のパリティ演算サイクルは必要ない。データ記憶装置の構成図2及び図3は、本実施形態の符号化復号化装置10を適用し、ストレージモジュール20を含むデータ記憶装置の具体例を説明するための図である。図2は、データ記憶装置としてハードディスクドライブHDDの要部を示すブロック図である。図3は、データ記憶装置としてSSDsolidstatedriveの要部を示すブロック図である。図2に示すように、HDDは大別して、ヘッドディスクアセンブリheaddiskassembly:HDA、ヘッドアンプ集積回路以下、ヘッドアンプIC25と、回路基板26とから構成されている。HDAは、記憶媒体であるディスク21と、ヘッド22を搭載しているアーム23と、ボイスコイルモータVCM24とを有する。ディスク20は、スピンドルモータSPMより回転する。アーム23とVCM24は、アクチュエータを構成している。アクチュエータは、VCM24の駆動により、アーム23に搭載されているヘッド22をディスク20上の指定の位置まで移動制御する。ヘッド22は、リードヘッド素子及びライトヘッド素子を有する。リードヘッド素子は、ディスク20上に記録されているデータを読み出す。ライトヘッド素子は、ディスク20上にデータを書き込む。ヘッドアンプIC25は、リードアンプ及びライトドライバを有する。リードアンプは、リードヘッド素子により読み出されたリード信号を増幅して、リード/ライトR/Wチャネル27に伝送する。一方、ライトドライバは、R/Wチャネル27から出力されるライトデータに応じたライト電流をライトヘッド素子に伝送する。回路基板26は、R/Wチャネル27と、ディスクコントローラ28と、マイクロプロセッサCPU29とを含む。R/Wチャネル27は、リードデータの信号処理を実行するリードチャネルと、ライトデータの信号処理を実行するライトチャネルとを含む。CPU29は、ドライブのメインコントローラであり、ヘッド22の位置決めを行なうサーボ制御及びデータのリード/ライト制御を実行する。ディスクコントローラ28は、ホストシステムとR/Wチャネル27との間のデータ転送を制御するインターフェース制御を実行する。ディスクコントローラ28は、本実施形態の符号化復号化装置10であるモジュールを含む。なお、図1に示すストレージモジュール20は、記憶媒体としてディスク20以外にDRAMからなるバッファメモリも含む。図3に示すように、SSDは大別して、SSDコントローラ30と、フラッシュメモリモジュール31とから構成されている。SSDコントローラ30は、ホストシステムに含まれるホストデバイスインターフェースコントローラ32との間のデータ転送を制御し、かつフラッシュメモリモジュール31に対するデータのリード/ライト制御を実行する。なお、図1に示すストレージモジュール20は、記憶媒体としてフラッシュメモリモジュール31以外にDRAMからなるバッファメモリも含む。[符号化復号化処理]以下、図4から図7を参照して、本実施形態の符号化復号処理を具体的に説明する。図4は、符号化復号化装置10の符号化復号化処理で使用される検査行列転置行列HT400の具体的構成例を示す図である。図4に示すように、本実施形態の検査行列400は、ユーザデータ100に対応する検査行列検査行列A410と、エキストラデータに対応する検査行列検査行列B420と、組織符号の単位行列m1nビット430とから構成されている。これらの検査行列410,420,430は、行列の行成分の全てが排他的であり、1ビット訂正可能なハミング符号の検査行列として構成されている。検査行列A410は、第1のパリティ演算モジュール12により生成されるパリティデータのビット数がpビットとすると、まず行列の右からm列を使ってα=2のm乗個の組み合わせ2m=αビットが昇順または降順に配置される。次に、行列の右からm1列目からp列目までのビットの組み合わせが、行の中の1の数が2個以上となるように設定される。これにより、αビット=2mのユーザデータ100に対する検査行列A410が構成される。一方、検査行列B420は、検査行列A410の規則とは異なり、排他的な構成であり、エキストラデータ200に存在するエラー1ビットのエラーの位置を検出できるように構成されている。即ち、検査行列B420は、αビットのユーザデータ100とは異なるβビットのエキストラデータ200に対応する検査行列である。検査行列B420は、行列の任意の位置にβ個の組み合わせが昇順または降順に配置される。残りの位置には、検査行列A410で設定される行列の行と重複しないように、ビットの組み合わせが配置される。図5は、図4に示す検査行列400を使用してハミング符号化復号化処理を行なう符号化復号化装置10を具体的に実現するためのロジックモジュールの構成を示すブロック図である。図5に示すように、ロジックモジュールは、排他的オアゲートexclusiveORgate、XOR50、アンドゲートANDgate51、フリップフロップ52及びノアゲートNORgate53から構成されている。アンドゲート51は、符号化処理encodingと復号化処理decodingとを切り替えるロジックを構成する。即ち、アンドゲート51は、入力の一方に統合パリティデータ300が入力されて、他方に符号化復号化の一方を指示する信号500が入力される。ロジックモジュールには、入力データとして例えば1クロックにつき64ビットのユーザデータ100及び36ビットのエキストラデータ200が入力される。符号化処理では、アンドゲート51の他方の入力として、エンコードencodingを指示する信号5000が入力される。符号化処理では、複数の33入力XOR及び64入力XORを有する入力側回路の構成が、64ビットのユーザデータ100と検査行列A410とのパリティ演算に相当する。また、複数の18入力XOR、10入力XOR、4入力XOR、及び36入力XORを有する入力側回路の構成が、36ビットのエキストラデータ200と検査行列B420とのパリティ演算に相当する。この符号化処理により、例えば14ビットの統合パリティデータ300が生成される。一方、復号化処理では、アンドゲート51の一方の入力として統合パリティデータ300が入力されて、他方の入力としてデコードdecodingを指示する信号5001が入力される。この復号化処理により、前述のデコーダ15によるシンドローム演算が実行されて、ユーザデータ100及びエキストラデータ200のそれぞれのエラー位置を示すエラーアドレス即ちシンドローム150が生成される。また、ノアゲート53からは、エラー検出を示すフラグ151が出力される。ここで、図4に示すように、本実施形態の検査行列400において、ユーザデータ100に対応する検査行列A410は、行列の右の1ビット目から12ビット目を使って、2のm乗個の組み合わせ2m=αビットが昇順または降順に配置される。また、行列の左からの1ビット目と2ビット目は、行列の右から1ビット目と2ビット目の組み合わせパターンとを合わせて、その4ビット内における1の数が2個となるように配置されている。一方で、エキストラデータ200に対応する検査行列B420は、エキストラデータ200が36ビットの場合に、行列の右からの3ビット目から12ビット目を使って、36個の組み合わせが昇順または降順に配置される。また、行列の左から1ビット目と2ビット目、及び行列の右から1ビット目と2ビット目の組み合わせは、1111のパターンになるように、1の数が4個となるように配置されている。要するに、ユーザデータ100に対応する検査行列A410とエキストラデータ200に対応する検査行列B420とでは、同じ位置の4ビットは異なる組み合わせビットパターンとなるように設定されている。従って、検査行列B420の前記の4ビットの組み合わせは、1111のパターンではなく、1の数が3個となる1110のパターンでもよい。以上のように復号化処理おいて、ユーザデータ100とエキストラデータ200とでは、それぞれで使用される検査行列の4ビットの組み合わせパターンが明確に異なる。従って、シンドローム演算により、ユーザデータ100とエキストラデータ200のいずれかに1ビットのエラーが発生した場合に、当該4ビットの組み合わせパターンに基づいて、いずれのデータのエラーであるかを区別できる。さらに、デコーダ15は、算出したシンドローム150がエラー位置をそのまま示す。従って、ユーザデータ100とエキストラデータ200のどちらにエラーがあっても、シンドローム150からエラー位置エラーアドレスを算出するための演算は必要ない。例えば、エキストラデータ200が36ビットであり、エキストラデータ内に1ビットエラーが発生した場合に、エラーアドレス72の値がそのままエキストラデータ内のエラー位置を示すことになる。以上のように本実施形態の符号化復号化装置であれば、特にデータ記憶装置で取り扱われるユーザデータ100及びエキストラデータ関連データ200のいずれに対しても、符号化復号化処理をほぼ同時に実行することができる。具体的には、符号化処理では、ユーザデータ100及びエキストラデータ200を統合したデータに対応する統合パリティデータを生成することができる。また、復号化処理では、その統合したデータに対するデコードを実行して、ユーザデータ100及びエキストラデータ200のそれぞれに対してエラー検出訂正を行なうことができる。従って、統合したデータに対する1ビット訂正可能なハミング符号化復号化処理を高速に行なうことが可能である。また、ユーザデータ100及びエキストラデータ200のそれぞれに対応するパリティ演算構成を、小規模で簡単なロジックモジュールにより実現できる。これにより、特に1ビット訂正可能なハミング符号化復号化装置として、HDDやSSDなどのデータ記憶装置に組み込み、ユーザデータだけでなく、その関連データであるエキストラデータも同時に保護することが可能となる。なお、本実施形態の符号化復号化装置は、データ記憶装置に適用する場合について説明したが、これに限ることなく例えば無線通信装置などの通信装置にも適用可能である。本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。"