テープドライブにおいてデータ及びヘッダの保護を統合するための方法であって、行及び列に編成されたデータ配列を提供することと、前記列について列ECCパリティを計算することと、前記列ECCパリティを含むように前記列を拡張することと、前記列が拡張されたデータ配列の各行にヘッダを付加することと、前記結合された行及びヘッダについて行ECCパリティを計算することと、前記行ECCパリティを含むように前記行を拡張することと、を含む方法。前記データ配列は、配列の形式に編成されたサブデータセットSDSである、請求項1に記載の方法。前記列ECCパリティは、リードソロモンパリティを含む、請求項1又は請求項2に記載の方法。前記行ECCパリティは、リードソロモンパリティを含む、請求項1から請求項3までのいずれかに記載の方法。前記行は、L個のインターリーブされたデータワードを含む、前記請求項のいずれかに記載の方法。前記Lは、2及び4の一方に等しい、請求項5に記載の方法。前記行ECCパリティを含むように前記行を拡張することは、前記ヘッダを付加する前の前記行について計算された行ECCパリティを更新することを含む、前記請求項のいずれかに記載の方法。テープドライブにおいてデータ及びヘッダの保護を統合するための装置であって、行及び列に編成されたデータ配列を受け取る入力と、前記列について列ECCパリティを計算し、前記列ECCパリティを含むように前記列を拡張する、列誤り訂正符号ECC符号器と、前記データ配列の各行にヘッダを付加するマルチプレクサと、前記結合された行及びヘッダについて行ECCパリティを計算し、前記行ECCパリティを含むように前記行を拡張する、行ECC符号器と、を備える装置。前記データ配列は、配列の形式に編成されたサブデータセットSDSである、請求項8に記載の装置。前記列ECCパリティは、リードソロモンパリティを含む、請求項8又は請求項9に記載の装置。前記行ECCパリティは、リードソロモンパリティを含む、請求項8から請求項10までのいずれかに記載の装置。前記行は、L個のインターリーブされたデータワードを含む、請求項8から請求項11までのいずれかに記載の装置。前記Lは、2及び4の一方に等しい、請求項12に記載の装置。前記行ECC符号器は、前記ヘッダを付加する前の前記行について計算された行ECCパリティを更新するように構成された、請求項8から請求項13までのいずれかに記載の装置。コンピュータシステムにロードされ、そこで実行されるときに、前記コンピュータシステムに、請求項1から請求項7までのいずれかに記載の方法の全てのステップを実行させる、コンピュータ可読媒体上に格納されたコンピュータプログラムコードを含むコンピュータプログラム。以上を鑑みると、必要とされるのは、現在又は将来のテープ記憶フォーマットにおけるヘッダをより効果的に保護するための装置及び方法である。より具体的には、書き換えの柔軟性の制限を招くことなくデータ及びヘッダの両方に十分な保護を与える、データ及びヘッダについての誤り訂正符号を生成する装置及び方法が必要とされる。そのような装置及び方法は、記憶フォーマットの効率を保ちながら、こうした保護を理想的に提供することになる。したがって、本発明は、第1の態様において、テープドライブにおいてデータ及びヘッダの保護を統合するための方法であって、行及び列に編成されたデータ配列を提供することと、列について列ECCパリティを計算することと、列ECCパリティを含むように列を拡張することと、列が拡張されたデータ配列の各行にヘッダを付加することと、結合された行及びヘッダについて行ECCパリティを計算することと、行ECCパリティを含むように行を拡張することと、を含む方法を提供する。好ましくは、データ配列は、配列の形式に編成されたサブデータセットSDSである。好ましくは、列ECCパリティは、リードソロモンパリティを含む。好ましくは、行ECCパリティは、リードソロモンパリティを含む。好ましくは、行は、L個のインターリーブされたデータワードを含む。好ましくは、Lは、2及び4の一方に等しい。好ましくは、行ECCパリティを含むように行を拡張することは、ヘッダを付加する前の行について計算された行ECCパリティを更新することを含む。第2の態様において、テープドライブにおいてデータ及びヘッダの保護を統合するための装置であって、行及び列に編成されたデータ配列を受け取る入力と、列について列ECCパリティを計算し、列ECCパリティを含むように列を拡張する、列誤り訂正符号ECC符号器と、データ配列の各行にヘッダを付加するマルチプレクサと、結合された行及びヘッダについて行ECCパリティを計算し、行ECCパリティを含むように行を拡張する、行ECC符号器と、を備える装置が提供される。好ましくは、データ配列は、配列の形式に編成されたサブデータセットSDSである。好ましくは、列ECCパリティは、リードソロモンパリティを含む。好ましくは、行ECCパリティは、リードソロモンパリティを含む。好ましくは、行は、L個のインターリーブされたデータワードを含む。好ましくは、Lは、2及び4の一方に等しい。好ましくは、行ECC符号器は、ヘッダを付加する前の行について計算された行ECCパリティを更新するように構成される。好ましくは、テープドライブにおいてデータ及びヘッダの保護を統合するための方法であって、行及び列に編成されたデータの配列を受け取ることと、配列の中のデータの各行についてヘッダを含むように配列を拡張することと、配列の中のデータについて2次元の誤り訂正符号ECCによる保護を与えることと、配列の中のヘッダについて1次元のECCによる保護を与えることと、を含む方法を提供することができる。好ましくは、データの配列は、配列の形式に編成されたサブデータセットSDSである。好ましくは、データについて2次元の誤り訂正符号ECCによる保護を与えることは、データの行及び列の両方についてECCパリティを提供することを含む。好ましくは、ECCパリティは、リードソロモンパリティを含む。好ましくは、配列の中のヘッダについて1次元のECCによる保護を与えることは、ヘッダの行及び列の一方についてECCパリティを提供することを含む。好ましくは、ECCパリティは、リードソロモンパリティを含む。さらに好ましくは、テープドライブにおいてデータ及びヘッダの保護を統合するための装置であって、行及び列に編成されたデータの配列を受け取る入力と、配列の中のデータの各行についてヘッダを含むように配列を拡張するマルチプレクサと、配列の中のデータについて2次元の誤り訂正符号ECCによる保護と配列の中のヘッダについて1次元のECCによる保護とを与える少なくとも1つの符号器と、を備える装置を提供することができる。好ましくは、データの配列は、配列の形式に編成されたサブデータセットSDSである。好ましくは、少なくとも1つの符号器は、データの行及び列の両方についてECCパリティを提供する。好ましくは、少なくとも1つの符号器は、ヘッダの行及び列の一方についてECCパリティを提供する。第3の態様において、コンピュータシステムにロードされ、そこで実行されるときに、コンピュータシステムに、第1の態様に係る方法の全てのステップを実行させる、コンピュータ可読媒体上に格納されたコンピュータプログラムコードを含むコンピュータプログラムを提供する。上述のことに合致するように、テープドライブにおいてデータ及びヘッダの保護を統合するための方法が本明細書において開示される。1つの実施形態においては、そのような方法は、行及び列に編成されたデータ配列を提供することを含む。次いで、本方法は、列について列ECCパリティを生成し、その列ECCパリティをデータ配列に付加する。次いで、本方法は、1つ又は複数のヘッダを、列が拡張されたデータ配列の各行に付加する。次いで、本方法は、結合された行及びヘッダについて行ECCパリティを生成し、その行ECCパリティを含むようにデータ配列を拡張する。対応する装置もまた、本明細書に開示される。本発明の別の実施形態において、テープドライブにおいてデータ及びヘッダの保護を統合するための方法は、行及び列に編成されたデータの配列を受け取ることを含む。配列は、配列の中のデータの各行について1つ又は複数のヘッダを含むように拡張される。本方法は、配列の中のデータについて2次元の誤り訂正符号ECCによる保護と、配列の中のヘッダについて1次元のECCによる保護とを与える。対応する装置もまた、本明細書に開示される。ここで、本発明の好ましい実施形態を、添付の図面を参照して、例示のみの目的で説明する。ここで図中に一般的に記載され、図示されるような本発明の構成要素は、広範な様々に異なる構成で配置され、設計することが可能であることは、容易に理解されるであろう。したがって、図面に表されるような本発明の実施形態の以下のより詳細な説明は、特許請求される本発明の範囲を限定することを意図するものではなく、単に、本発明による現時点で企図される実施形態の特定の例を表したものに過ぎない。以下、説明する実施形態は、図面を参照することで最も良く理解され、図面全体を通じて同様の部分は同様の符号で指示される。当業者には理解されるように、本発明は、装置、システム、方法、又はコンピュータプログラム製品として具体化することができる。さらに、本発明は、ハードウェアの実施形態、ハードウェアを動作させるように構成されたソフトウェアの実施形態ファームウェア、常駐ソフトウェア、マイクロコード等を含む、又はソフトウェアの要素とハードウェアの要素とを組み合わせた実施形態の形態をとることができる。これらの実施形態の各々は、1つ又は複数のモジュール又はブロックとして表現することができる。さらに、本発明は、内部に格納されたコンピュータ使用可能プログラムコードを有する表現のいずれかの有形媒体として具体化された、コンピュータ可読ストレージ媒体の形態をとることができる。1つ又は複数のコンピュータ使用可能ストレージ媒体又はコンピュータ可読ストレージ媒体の任意の組み合わせを、コンピュータプログラム製品を格納するために用いることができる。コンピュータ使用可能ストレージ媒体又はコンピュータ可読ストレージ媒体は、例えば、電子的、磁気的、光学的、電磁気的、赤外線又は半導体のシステム、装置又はデバイスとすることができるが、これらに限定されるものではない。コンピュータ可読ストレージ媒体のより具体的な例非網羅的なリストとして、以下のもの、即ち、1つ又は複数の配線を有する電気的接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリRAM、読み出し専用メモリROM、消去可能なプログラム可能読み出し専用メモリEPROM又はフラッシュメモリ、光ファイバ、ポータブルコンパクトディスク読み出し専用メモリCDROM、光記憶装置、又は磁気記憶装置が挙げられる。本明細書の文脈において、コンピュータ使用可能ストレージ媒体又はコンピュータ可読ストレージ媒体は、命令実行システム、装置若しくはデバイスによって又はそれらとの関連で使用するためのプログラムを収容し、格納し又は搬送することが可能な、任意の媒体とすることができる。本発明の動作を実行するためのコンピュータプログラムコードは、Java、SmallTalk、C等のようなオブジェクト指向型プログラミング言語、及び、Cプログラミング言語又は同様のプログラミング言語のような従来の手続き型プログラミング言語を含む、1つ又は複数のプログラミング言語の任意の組み合わせで記述することができる。本発明を実装するためのコンピュータプログラムコードは、アセンブリ言語のような低級プログラミング言語で記述することもできる。本発明は、以下において、本発明の実施形態による方法、装置、システム、及びコンピュータプログラム製品のフローチャート図及び/又はブロック図を参照して説明することができる。フローチャート図及び/又はブロック図の各ブロック、並びにフローチャート図及び/又はブロック図内のブロックの組み合わせは、コンピュータプログラム命令又はコードによって実装することができることが理解されるであろう。これらのコンピュータプログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えて、マシンを製造し、その結果、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実装する手段を作り出すようにすることができる。コンピュータプログラム命令を、コンピュータ又は他のプログラム可能データ処理装置を特定の方式で機能させるように指示することができるコンピュータ可読ストレージ媒体内に格納し、その結果、そのコンピュータ可読ストレージ媒体内に格納された命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実装する命令手段を含む製品を製造するようにすることもできる。コンピュータプログラム命令を、コンピュータ又は他のプログラム可能データ処理装置上にロードして、コンピュータ又は他のプログラム可能データ処理装置上で実行される一連の動作ステップによりコンピュータ実施のプロセスを生成し、その結果、コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実行するプロセスをもたらすようにすることもできる。図1を参照すると、データ配列即ちサブデータセットSDSについて、ECCパリティを生成する1つの従来技術の方法が示される。図2及び図3は、図1の方法を用いてどのようにECCパリティ情報が生成され、データ配列に付加されるかを示す。図1に示されるように、ECC符号器100が、行及び列を含む配列102に編成されたSDSに作用する。SDSの中のデータ102を保護するために、ECC符号器100は、図2に示されるように、配列102の各行についてECCパリティ104を生成し、そのECCパリティ104を配列102に付加する。同様に、ECC符号器100は、行ECCパリティ104の各列を含む配列102の各列についてECCパリティ106を生成し、そのECCパリティ106を配列102に付加する。第1のステップで行ECCパリティ104を生成し、第2のステップで列ECCパリティ106を生成するか、第1のステップで列ECCパリティ106を生成し、第2のステップで行ECCパリティ104を生成するかにかかわらず、符号化されたデータ配列が同じになることは、当業者には周知である。ECCパリティ104及び106が生成され、配列102に付加されると、マルチプレクサ110が、1つ又は複数のヘッダ108を、拡張されたSDS配列102の各行に付加する。これらのヘッダ108は、配列102列ECCパリティ106及び行ECCパリティ104を含むの各行に関連するアドレス指定情報及び他のメタデータを含む。これらのヘッダ108は、巡回冗長検査CRCのような誤り検出符号を含むことができるが、典型的には誤り訂正符号によって保護されない。誤り検出符号は、ヘッダ108における誤りを検出するために用いることができるが、誤りを訂正するためには十分ではない。ヘッダ108が破損して修復できない場合には、そのヘッダ108によって参照されるデータ102列ECCパリティ106及び行ECCパリティ104を含むの全部又は一部が失われることがある。図4を参照すると、データ配列102列ECCパリティ106及び行ECCパリティ104を含むに付加されたヘッダ108についてECCパリティを生成して格納する1つの従来技術の方法が示される。この例では、上述のように、ECC符号器100がECCパリティを生成してデータ配列102に付加する。しかし、別個のECC符号器200がヘッダ108について別個のECCパリティを生成して、そのECCパリティをヘッダ108に付加する。次いで、ヘッダ108及びECCパリティは、データ配列102列ECCパリティ106及び行ECCパリティ104を含むの行に付加することができる。誤り訂正符号を生成してヘッダ108に格納することは、効果的ではあるが、ヘッダ108のサイズを著しく増大させ、記憶フォーマットの効率を望ましくないほど低下させることがある。図5を参照すると、種々の従来技術のテープドライブにおけるデータの流れ300を示す高次ブロック図が示される。図示されるように、CRCモジュール302が、可変長のデータのブロックをホストデバイスから受け取る。CRCモジュール302は、これらのブロックにCRC情報を加えることができる。次いで、圧縮モジュール304がブロックを圧縮することができ、暗号化モジュール306が必要に応じてブロックを暗号化することができる。次いで、データのブロックは、サブデータセットに分解され、ECC符号器100に渡すことができる。ECC符号器100は、データ配列102の各行及びデータ配列102の各列について、ECCパリティ104及びECCパリティ106を生成し、そのECCパリティ104及びECCパリティ106を配列102に付加することができる。ECCパリティ104及びECCパリティ106が配列102に付加されると、マルチプレクサ110が、ヘッダ108をデータ配列102列ECCパリティ106及び行ECCパリティ104を含むの行に付加することができる。ヘッダ108は、CRCのような誤り検出符号を含むことができる。次いで、テープレイアウトモジュール308が、データ配列102、ECCパリティ104、ECCパリティ106、及びヘッダ108を、磁気テープ上に、異なるトラックに渡って異なる順序で割り当てることができる。次いで、そのデータの並びは、データに対して追加のシグナル処理を行うランダマイザ310で処理することができる。次いで、ランレングス符号器312が、情報のスペクトルを磁気記録により適したものとなるように変形することができる。次いで、マルチプレクサ314が、その情報に、可変周波数発振器VFO又は同期文字等のような同期情報を多重化して、読み出すときに同期を取ることが可能となるようにすることができる。次いで、結果として得られるデータは、書き込みドライバ図示せずに送ることができ、書き込みドライバは、記録ヘッドエレメントに電流を流して磁束を発生させ、それによって磁気記録媒体にデータを書き込むようにすることができる。一般的に、マルチプレクサ110より右側にある各ブロック又はモジュールは、データが磁気記録により適したものとなるように、データをさまざまに変形させるものである。図6を参照すると、データ及びヘッダの保護を統合するデータの流れ400を示す高次ブロック図が示される。図示されるように、CRCモジュール302がホストデバイスから可変長のブロックを受け取って、CRC情報をこれらのブロックに加える。圧縮モジュール304がブロックを圧縮することができ、暗号化モジュール306が必要に応じてブロックを暗号化することができる。次いで、データのブロックは、サブデータセットに分解され、列ECC符号器112に渡すことができる。次いで、列ECC符号器112は、データ配列102の各列についてECCパリティ106を生成し、そのECCパリティ106を配列102に付加することができる。列ECCパリティ106が生成され、配列102に付加されると、マルチプレクサ110が、ヘッダ108を配列102の行に付加する。次いで、拡張された配列102は、配列102の各列について行ECCパリティを生成する行ECC符号器114に渡すことができる。列ECC符号器112及び行ECC符号器114の機能及び利点については、図7及び図8との関連でより詳細に説明する。データ102及びヘッダ108についてECCパリティ情報が生成されると、テープレイアウトモジュール308、ランダマイザ310、ランレングス符号器312、及びマルチプレクサ314が、ECC符号化されたデータが磁気記録により適したものとなるように、ECC符号化されたデータを前述の方法で変形させることができる。図7を参照すると、SDSデータ102及びヘッダ108の両方を保護するためのECCパリティを生成する方法の1つの実施形態が示される。図8は、図7の方法を用いてどのようにECCパリティ情報が生成され、SDSデータ配列102に付加されるかを示す。前述した通り、列ECC符号器112は、データ配列102を受け取ると、図8に示されるように、配列102の各列についてECCパリティ106を生成し、そのECCパリティ106を配列102に付加する。次いで、マルチプレクサ110は、ヘッダ108を配列102列ECCパリティ106を含むの行に付加する。ヘッダ108の位置は任意であり、これは、ヘッダ108を、各行の先頭に、各行の末尾に、各行にインターリーブして、等のように配置することができることを意味する。次いで、拡張された配列102即ち、SDSデータ102、ヘッダ108、及び列ECCパリティ106は、行ECC符号器114に渡すことができ、行ECC符号器114は、SDSデータ102、列ECCパリティ106、及びヘッダ108を含む各行についてECCパリティ104を生成し、そのECCパリティ104を拡張された配列102に付加することができる。したがって、行ECC符号器114は、結合されたSDSデータ102、列ECCパリティ106及びヘッダ108について、行ECCパリティ104を生成する。これによって、本質的に、SDSデータ102について2次元の保護が与えられ即ち、行ECCパリティ104及び列ECCパリティ106の両方を与えることによって、同時に、行ECCパリティ104のみを与えることによってヘッダ108について1次元の保護が与えられる。この技術は、フォーマットの効率を保ちつつ、ヘッダ108についての十分な保護をもたらす。例えば、SDSデータ102及びヘッダ108が上述の方法で保護されていると仮定する。SDSデータ102、行ECCパリティ104、列ECCパリティ106、及びヘッダ108がテープに書き込まれ、readwhilewriteの過程でヘッダ108に誤りが検出された場合には、データ102及びヘッダ108は、磁気媒体に再書込みされることがある。しかし、ヘッダ108は、その中に含まれるアドレス指定及びメタデータを更新するために、再書込みの実施に先立って変更されることが必要な場合がある。他方、データ102は、変更されないままの場合がある。ヘッダ108は、1次元のECCパリティで保護されている即ち、行ECCパリティ104によって保護されているため、行ECCパリティ104及び列ECCパリティ106の両方を再計算する必要性これは、集中的な計算を要し、フォーマットの効率を著しく低下させる可能性があるとは対照的に、更新されたヘッダ108について行ECCパリティ104を再計算するだけで十分である。さらに、ヘッダ108が変化した行について行ECCパリティ104を再計算するだけで十分である。したがって、1次元のECC保護でヘッダ108を保護することによって、フォーマットの効率を依然として保ちながら、ヘッダ108の適切な保護がもたらされる。幾つかの実施形態においては、SDS配列102の各行がインターリーブされたデータワードで構成できることに留意すべきである。例として、SDS配列102の各列は、各々が234バイトである4つのインターリーブされたデータワードを含み、各行が936バイトの長さのものとすることができる。データワードは、バイトごとに、又は他の適切な基準で、インターリーブすることができる。同様に、行ECCパリティ104及び行に関連するヘッダ108もまた、インターリーブすることができる。例えば、各々が3バイトである4つのインターリーブされたヘッダ108行のデータワードごとに1つを配列102の各行に関連付けて、ヘッダ108の各行を12バイトの長さとすることができる。ヘッダ108は、バイトごとに、又は他の適切な基準で、インターリーブすることができる。同様に、各々が12バイトである4つのインターリーブされた行ECCパリティ符号104行のデータワードごとに1つを配列102の各行に関連付けて、ECCパリティ符号104の各行を48バイトの長さとすることができる。行ECCパリティ符号104は、バイトごとに、又は他の適切な基準で、インターリーブすることができる。以上で与えられた数値を用いれば、各行ヘッダ108、SDSデータ102、及び行ECCパリティ104を含むは、996バイトの長さとなる。これらの数値は、例示のみの目的で与えられたものであり、これに限定することを意図するものではない。また、全ての実施形態において、必ずしもインターリーブを用いる必要はない。本発明者は、上で与えられた数値即ち、各データワードについて234バイト、各ヘッダ108について3バイト、及び、各行ECCパリティ104について12バイトを用いて、結合されたヘッダ108及びデータワード102のうちの5バイトまでは、12バイトの行ECCパリティ104を用いて訂正することができることを見出した。さらに、12バイトの行ECCパリティ104を用いて、ヘッダ108の3バイトの全てを訂正することができる。データがインターリーブされている場合には、訂正失敗の確率を減らすために誤り訂正能力のうち1バイトの余力が用いられると仮定すると、12個までの連続するインターリーブしたバイトを訂正することができる。要するに、ヘッダ及びデータの保護を統合することは、ヘッダ108及びデータ102をECCパリティで独立して保護することよりも著しく効率的である。図9を参照すると、SDSデータ102及びヘッダ108の両方を保護するためのECCパリティを生成する1つの代替的な実施形態が示される。図10及び図11は、図9の方法を用いてどのようにECCパリティ情報が生成され、データ配列102に付加されるかを示す。この実施形態では、SDS配列102を受け取ると、行ECC符号器114が、図10に示されるように、SDSデータ102について行ECCパリティ104を生成し、それを配列102に付加する。次いで、列ECC符号器112が、図10に更に示されるように、SDS配列102行ECCパリティ104を含むの各列についてECCパリティ106を生成し、そのECCパリティ106を配列102に付加する。次いで、マルチプレクサ110は、図11に示されるように、ヘッダ108を行に付加することができる。次いで、拡張された配列102即ち、SDSデータ102、ヘッダ108、及び列ECCパリティ106は、この時点ではヘッダ108を含んでいる各行について行ECCパリティ104を更新するために、同一の又は異なる行ECC符号器116に渡すことができる。このように、SDSデータ102について2次元のECC保護を与えることができ、ヘッダ108について1次元のECC保護を与えることができる。この技術を用いることの1つの潜在的な利点は、図1の方法を実装するために用いられるような従来のECC符号化ハードウェアをより容易に使用できることである。図12を参照すると、SDSデータ102及びヘッダ108の両方を保護するためのECCパリティを生成する方法の更に別の実施形態が示される。図13及び図14は、図12の方法を用いてどのようにECCパリティ情報が生成され、SDS配列102に付加されるかを示す。この実施形態では、サブデータセット102を受け取ると、列ECC符号器112が、図13に示されるように、SDS配列102の各列についてECCパリティ106を生成し、そのECCパリティ106を配列102に付加する。次いで、行ECC符号器114が、図13に更に示されるように、SDS配列102及び、列ECCパリティ106について行ECCパリティ104を生成し、その行ECCパリティ104を配列102に付加する。次いで、マルチプレクサ110が、図14に示されるように、ヘッダ108を行に付加することができる。次いで、拡張された配列102即ち、SDSデータ102、ヘッダ108、及び列ECCパリティ106は、この時点ではヘッダ108を含んでいる各行について行ECCパリティ104を更新するために、同一の行ECC符号器116又は異なる行ECC符号器116のいずれかに渡すことができる。このように、SDSデータ102について2次元のECC保護を与えることができ、ヘッダ108について1次元のECC保護を与えることができる。図15を参照すると、結合されたSDSデータ102及びヘッダ108について行ECCパリティ104を計算するための符号器回路800の1つの実施形態が示される。より具体的には、符号器回路800は、結合されたSDSデータ102及びヘッダ108についてリードソロモンECCパリティ104を計算するように構成される。図示されるように、符号器回路800は、この例においては12個のレジスタ802R0、R1、...、R11として示されるである多数のレジスタ802を含み、レジスタの各々は、1バイトのデータのようなシンボルを格納する。レジスタ802は、フィードバックを伴って連続的に接続される。符号器回路800は、図示されるような方法で、レジスタ802と情報をやりとりする11個の乗算器804各々は、αのn乗として表現されているを更に含む。乗算器804の各々は、入力値にある定数αnを乗算する。その積は、レジスタの値と加算され、次のレジスタに格納される。図示された実施例において、回路800は、234バイトのデータワード及び3バイトのヘッダ108について12バイトのリードソロモンパリティ104を生成するものと仮定する。リードソロモンパリティ104を生成するために、レジスタ802の値は、初めに0に設定される。次いで、データワード及びヘッダのバイトは、入力線806を通して1バイトごとに順番に符号器回路800に送られる。全てのバイトが入力線806に送られると、レジスタ802は、12バイトのリードソロモンパリティ104を格納することになる。図9及び図12との関連で説明したようにSDS配列102の行がヘッダ108を伴って更新されたときなどに、リードソロモンパリティ104を更新するために、以前のリードソロモンパリティ104がレジスタ802に単にロードされる。次いで、新たに加えられたヘッダ108のバイトは、入力線806を通して1バイトごとに順番に符号器回路800に送られる。ヘッダ108の全てのバイト又はヘッダ108の一部例えば、12バイトのヘッダの中の3バイトが入力線806に送られると、レジスタ802は、更新された12バイトのリードソロモンパリティ104を格納することになる。同様の符号化機構を用いて、符号化されたSDSの行における他のインターリーブに関連したリードソロモンパリティを更新することができる。図面内のフローチャート及びブロック図は、本発明の種々の実施形態によるシステム、方法及びコンピュータ使用可能媒体の可能な実装のアーキテクチャ、機能及び動作を示す。この点に関して、フローチャート又はブロック図内の各ブロックは、1つ又は複数の特定の論理機能を実行するための1つ又は複数の実行可能命令を含むモジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替的な実装においては、ブロック内に記された機能は、図中に記された順序とは異なる順序で行われる場合があることにも留意すべきである。例えば、連続して示された2つのブロックが、関与する機能に応じて、実際には実質的に同時に実行されることもあり、これらのブロックが、ときには逆の順序で実行されることもある。また、ブロック図及び/又はフローチャート図の各ブロック、並びに、ブロック図及び/又はフローチャート図のブロックの組み合わせは、特定の機能又は動作を実行する専用ハードウェアをベースとするシステム、又は、専用ハードウェアとコンピュータ命令との組み合わせによって、実装できることにも留意されたい。