JPH10200418A - 誤り訂正方法、誤り訂正装置、データ読み出し装置、及び、データマッピング方法 - Google Patents
誤り訂正方法、誤り訂正装置、データ読み出し装置、及び、データマッピング方法Info
- Publication number
- JPH10200418A JPH10200418A JP9149514A JP14951497A JPH10200418A JP H10200418 A JPH10200418 A JP H10200418A JP 9149514 A JP9149514 A JP 9149514A JP 14951497 A JP14951497 A JP 14951497A JP H10200418 A JPH10200418 A JP H10200418A
- Authority
- JP
- Japan
- Prior art keywords
- data
- error correction
- row
- column
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1806—Pulse code modulation systems for audio signals
- G11B20/1809—Pulse code modulation systems for audio signals by interleaving
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
の高速化を図ることができる誤り訂正方法を提供する。 【解決手段】DVD24から読み出したデータを格納す
る外部バッファメモリ27のデータバス幅を複数バイト
に拡張する。その外部バッファメモリ27には、複数の
列インタリーブと複数の行インタリーブよりなる二次元
配列されたブロックデータ31が格納される。コントロ
ーラ25は、外部バッファメモリ27に格納された1つ
のブロックデータ31を、その外部バッファメモリ27
のデータバス幅に対応した複数の列インタリーブ毎に読
み出す。そして、コントローラ25は、読み出したデー
タバス幅分の列インタリーブを並列に演算してシンドロ
ームを生成し、読み出した各列インタリーブに対して誤
り訂正を行う。
Description
訂正装置、データ読み出し装置、及び、データマッピン
グ方法に関する。
憶容量の大容量化に伴い、そのデータ読みとり時間の高
速化も要求されている。特に、データ読みとりの際、そ
の処理時間の長い誤り訂正処理装置においては、その処
理時間の短縮化が要求されている。そのため、処理時間
の短縮化を図る上で、誤り訂正処理におけるデータを格
納するバッファメモリに対するアクセスの高速化を図る
必要がある。
は、そのデータの読み出し時等に発生する誤りを訂正す
るために誤り訂正符号(ECC:Error Correcting Code) が
予め付加されている。例えば、図19に示すように、記
録媒体に格納された1つのブロックデータ11は、デー
タ部12と誤り訂正符号13,14とから構成されてい
る。誤り訂正符号13は、データ部12の各列毎に演算
されて付加されている。誤り訂正符号14は、データ部
12と誤り訂正符号13の各行毎に演算されて付加され
ている。
を行うコントローラには、ブロックデータ11の誤りを
訂正する誤り訂正回路が備えられる。誤り訂正回路は、
先ず、データ部12及び誤り訂正符号13,14に基づ
いて、各行のデータを1バイト毎に読み出して順次演算
し、その演算結果に基づいて各行のデータに発生する誤
りを訂正する。その後、誤り訂正回路は、データ部12
及び誤り訂正符号13に基づいて、各列のデータを1バ
イト毎に読み出して順次演算し、その演算結果に基づい
て各列のデータに発生する誤りを訂正する。
び誤り訂正符号13,14の全てのデータが必要であ
り、誤り訂正回路には大容量のバッファメモリが接続さ
れる。誤り訂正回路は、バッファメモリに格納されたデ
ータを読み出して誤り訂正処理を行い、その処理結果で
ある訂正データをバッファメモリに格納する。そして、
バッファメモリに格納された誤り訂正後のデータは、ホ
ストコンピュータ等の外部機器に出力される。
ホストコンピュータの処理速度の高速化に伴い、記憶装
置に対するデータの読み出し/書き込み速度の高速化が
要求されている。例えば、光ディスク等の記録装置で
は、記録媒体である光ディスクを基準の速度の2倍以
上、例えば、4倍の速度で回転制御し、読み出し速度の
高速化が図られる。
クセスにより、読み出し速度の高速化が難しい場合があ
る。即ち、バッファメモリには、ブロックデータ11の
各行毎にデータの読み出しと、訂正データの書き込みが
繰り返し行われる。即ち、外部バッファメモリに対して
多くのアクセスが行われるため、アクセス速度を高速化
することが難しく、誤り訂正処理を高速化することがで
きない。
れたものであって、その目的は、データのアクセス時間
を短くして読み出し時間の高速化を図ることができる誤
り訂正方法を提供することにある。
み出し時間の高速化を図ることができる誤り訂正装置、
及び、データ読み出し装置を提供することにある。更
に、誤り訂正処理におけるデータのアクセス時間の短縮
をはかることができるデータマッピング方法を提供する
ことにある。
するため、請求項1に記載の発明は、二次元配列され、
縦方向と横方向のそれぞれに誤り訂正符号が付加された
ブロックデータに対して、ブロックデータの各列毎に誤
り訂正を行う列誤り訂正と、ブロックデータの各行毎に
誤り訂正処理を行う行誤り訂正とを行う誤り訂正方法に
おいて、複数の列又は行に対する誤り訂正を並列に行う
ようにした。
列され、縦方向と横方向のそれぞれに誤り訂正符号が付
加されたブロックデータに対して、ブロックデータの各
列毎に誤り訂正を行う列誤り訂正と、ブロックデータの
各行毎に誤り訂正処理を行う行誤り訂正とを行う誤り訂
正方法において、各行又は列の複数のデータを並列に演
算し、各行又は列に対する誤り訂正を行うようにした。
に記載の誤り訂正方法において、前記ブロックデータ
は、前記複数の行又は列に対応したデータバス幅のメモ
リに格納され、複数の行又は列から前記メモリのデータ
バス幅の整数倍のデータを一度に読み出し、その読み出
した複数の行又は列のデータを並列に演算して各行又は
列毎に誤り訂正を行うようにした。
に記載の誤り訂正方法において、前記ブロックデータ
は、前記複数の符号語に対応したデータバス幅のメモリ
に格納され、各行又は列からメモリのデータバス幅の整
数倍のデータを一度に読み出し、その読み出した複数の
データを並列に演算して各行又は列毎に誤り訂正を行う
ようにした。
又は4に記載の誤り訂正方法において、前記メモリに
は、各列又は各行に対する誤り訂正後のブロックデータ
が格納され、該メモリから複数の行又は列のデータ、又
は各行又は列の複数のデータを順次読み出して各行又は
列毎に誤り訂正を行うようにした。
乃至5のうちの何れか1項に記載の誤り訂正方法におい
て、前記ブロックデータは、記録媒体にインタリーブさ
れて記憶され、前記メモリには、各列又は各行に対する
誤り訂正後に並び替えて格納するようにした。
乃至6のうちの何れか1項に記載の誤り訂正方法におい
て、前記各行,各列をそれぞれ符号語として扱い、符号
語全体から各行・各列に対するシンドロームを演算し、
シンドロームを基に各行,各列に対する誤りを訂正する
ようにした。
列され、縦方向と横方向のそれぞれに誤り訂正符号が付
加されて外部に接続されたメモリに格納されたブロック
データに対して、ブロックデータの各列毎に誤り訂正を
行う列誤り訂正と、ブロックデータの各行毎に誤り訂正
処理を行う行誤り訂正とを行う誤り訂正回路を備えた誤
り訂正装置において、前記誤り訂正回路は、複数の列又
は行に対する誤り訂正を並列に行うようにした。
列され、縦方向と横方向のそれぞれに誤り訂正符号が付
加されて外部に接続されたメモリに格納されたブロック
データに対して、ブロックデータの各列毎に誤り訂正を
行う列誤り訂正と、ブロックデータの各行毎に誤り訂正
処理を行う行誤り訂正とを行う誤り訂正回路を備えた誤
り訂正装置において、前記誤り訂正回路は、各行又は列
の複数のデータを並列に演算し、各行又は列に対する誤
り訂正を行うようにした。
8に記載の誤り訂正装置において、前記メモリは、複数
の行又は列に対応したデータバス幅に設定され、前記誤
り訂正回路は、前記メモリに格納された前記ブロックデ
ータの複数の行又は列から前記メモリのデータバス幅の
整数倍のデータを一度に読み出し、その読み出した複数
の行又は列のデータを並列に演算して各行又は列毎に誤
り訂正を行うようにした。
9に記載の誤り訂正装置において、前記メモリは、前記
複数の行又は列に対応したデータバス幅に設定され、前
記誤り訂正回路は、前記メモリに格納された前記ブロッ
クデータの各行又は列から前記メモリのデータバス幅の
整数倍のデータを一度に読み出し、その読み出した複数
のデータを並列に演算して各行又は列毎に誤り訂正を行
うようにした。
10又は11に記載の誤り訂正装置において、前記誤り
訂正回路は、各列に対する誤り訂正処理を行う列誤り訂
正回路と、各行に対する誤り訂正処理を行う行誤り訂正
回路とから構成され、前記メモリに行誤り訂正回路によ
る誤り訂正後のブロックデータを格納するとともに、前
記メモリに格納されたデータを一度にそのメモリにデー
タバス幅の整数倍の数毎に順次読み出して前記列誤り訂
正回路に出力するメモリ制御回路部を備えた。
12に記載の誤り訂正装置において、前記ブロックデー
タは、記録媒体にインタリーブされて記憶され、前記行
誤り訂正回路は、記録媒体から読み出されたデータに対
して誤り訂正し、訂正後のブロックデータを前記メモリ
制御部に出力し、前記メモリ制御部は、訂正後のデータ
を並び替えてメモリに記憶するようにした。
8乃至13にのうちの何れか1項記載の誤り訂正装置に
おいて、前記列誤り訂正回路及び行誤り訂正回路は、そ
れぞれ前記各行,各列を符号語として扱い、符号語全体
から各行・各列に対するシンドロームを演算し、シンド
ロームを基に各行,各列に対する誤りを訂正するように
した。
8乃至14のうちの何れか1項に記載の誤り訂正装置に
おいて、前記列誤り訂正回路は、訂正後の各列のデータ
を前記メモリに格納し、その各列に対する誤り訂正後の
データを前記メモリのデータバス幅の整数倍のデータ数
毎に読み出し、各行毎に誤り訂正処理を行う第2の行誤
り訂正回路を備えた。
8乃至15のうちの何れか1項に記載の誤り訂正装置に
おいて、前記メモリは、限られた範囲内に格納されたデ
ータに対するアクセスが、範囲を超えたアクセスよりも
高速に行われる物であり、前記メモリ制御部は、前記デ
ータバス幅分の各列のデータ及び複数の行のデータを前
記メモリの同一範囲内に格納するようにした。
体から読み出したデータを読み出すデータ読み出し装置
であって、前記読み出されたデータに対して誤り訂正を
行う請求項8乃至16のうちの何れか1項に記載の誤り
訂正装置と、前記誤り訂正装置により処理される複数の
行又は列に対応したデータバス幅に設定され、ブロック
データを記憶するメモリとを備えた。
た範囲内に格納されたデータに対するアクセスが、範囲
を超えたアクセスよりも高速に行われる記憶装置に対し
て、各行及び各列に対して誤り訂正記号が付加されたブ
ロックデータを各列又は各行単位でアクセスし、各列の
複数のデータを同時に演算して各列毎に誤り訂正を行
い、複数の行のデータを並列に演算して各行毎に誤り訂
正を行う誤り訂正装置におけるデータマッピング方法で
あって、前記記憶装置のデータバス幅を、各列毎に同時
に演算されるデータ数、又は、並列に演算される複数の
行のデータ数の整数倍に設定し、前記データバス幅分の
各列のデータ及び複数の行のデータを前記記憶装置の同
一範囲内に格納するようにした。
内に格納されたデータに対するアクセスが、範囲を超え
たアクセスよりも高速に行われる記憶装置に対して、各
行及び各列に対して誤り訂正記号が付加されたブロック
データを各列又は各行単位でアクセスし、各行の複数の
データを同時に演算して各行毎に誤り訂正を行い、複数
の列のデータを並列に演算して各列毎に誤り訂正を行う
誤り訂正装置におけるデータマッピング方法であって、
前記記憶装置のデータバス幅を、各行毎に同時に演算さ
れるデータ数、又は、並列に演算される複数の列のデー
タ数の整数倍に設定し、前記データバス幅分の各行のデ
ータ及び複数の列のデータを前記記憶装置の同一範囲内
に格納するようにした。
よれば、二次元配列され、縦方向と横方向のそれぞれに
誤り訂正符号が付加されたブロックデータの複数の列又
は行に対する誤り訂正が並列に行われる。
次元配列され、縦方向と横方向のそれぞれに誤り訂正符
号が付加されたブロックデータの各行又は列の複数のデ
ータが並列に演算され、各行又は列に対する誤り訂正が
行われる。
ロックデータは、複数の行又は列に対応したデータバス
幅のメモリに格納され、複数の行又は列からメモリのデ
ータバス幅の整数倍のデータが一度に読み出され、その
読み出された複数の行又は列のデータが並列に演算され
て各行又は列毎に誤り訂正が行われる。
ロックデータは、複数の符号語に対応したデータバス幅
のメモリに格納され、各行又は列からメモリのデータバ
ス幅の整数倍のデータが一度に読み出され、その読み出
された複数のデータが並列に演算されて各行又は列毎に
誤り訂正が行われる。
モリには、各列又は各行に対する誤り訂正後のブロック
データが格納され、そのメモリから複数の行又は列のデ
ータ、又は各行又は列の複数のデータが順次読み出され
て各行又は列毎に誤り訂正が行われる。
ロックデータは、記録媒体にインタリーブされて記憶さ
れ、メモリには、各列又は各行に対する誤り訂正後に並
び替えて格納される。
行,各列がそれぞれ符号語として扱われ、符号語全体か
ら各行・各列に対するシンドロームが演算され、シンド
ロームを基に各行,各列に対する誤りが訂正される。
次元配列され、縦方向と横方向のそれぞれに誤り訂正符
号が付加されて外部に接続されたメモリに格納されたブ
ロックデータに対して、複数の列又は行に対する誤り訂
正を並列に行う誤り訂正回路が備えられる。
次元配列され、縦方向と横方向のそれぞれに誤り訂正符
号が付加されて外部に接続されたメモリに格納されたブ
ロックデータに対して、各行又は列の複数のデータを並
列に演算し、各行又は列に対する誤り訂正を行う誤り訂
正回路が備えられる。
メモリは、複数の行又は列に対応したデータバス幅に設
定され、誤り訂正回路は、メモリに格納されたブロック
データの複数の行又は列からメモリのデータバス幅の整
数倍のデータが一度に読み出され、その読み出された複
数の行又は列のデータが並列に演算されて各行又は列毎
に誤り訂正が行われる。
メモリは、複数の行又は列に対応したデータバス幅に設
定され、誤り訂正回路は、メモリに格納されたブロック
データの各行又は列からメモリのデータバス幅の整数倍
のデータが一度に読み出され、その読み出された複数の
データが並列に演算されて各行又は列毎に誤り訂正が行
われる。
誤り訂正回路は、各列に対する誤り訂正処理を行う列誤
り訂正回路と、各行に対する誤り訂正処理を行う行誤り
訂正回路とから構成され、メモリには、行誤り訂正回路
による誤り訂正後のブロックデータが格納される。メモ
リ制御回路は、メモリに格納されたデータが一度にその
メモリにデータバス幅の整数倍の数毎に順次読み出して
列誤り訂正回路に出力する。
ブロックデータは、記録媒体にインタリーブされて記憶
され、行誤り訂正回路は、記録媒体から読み出されたデ
ータに対して誤り訂正し、訂正後のブロックデータをメ
モリ制御部に出力し、メモリ制御部は、訂正後のデータ
を並び替えてメモリに記憶する。
列誤り訂正回路及び行誤り訂正回路は、それぞれ各行,
各列を符号語として扱い、符号語全体から各行・各列に
対するシンドロームを演算し、シンドロームを基に各
行,各列に対する誤りを訂正する。
列誤り訂正回路は、訂正後の各列のデータをメモリに格
納し、その各列に対する誤り訂正後のデータをメモリの
データバス幅の整数倍のデータ数毎に読み出し、各行毎
に誤り訂正処理を行う第2の行誤り訂正回路を備える。
メモリは、限られた範囲内に格納されたデータに対する
アクセスが、範囲を超えたアクセスよりも高速に行われ
る物であり、メモリ制御部は、データバス幅分の各列の
データ及び複数の行のデータをメモリの同一範囲内に格
納する。
記録媒体から読み出されたデータに対して誤り訂正が行
われる。メモリは、誤り訂正処理される複数の行又は列
に対応したデータバス幅に設定され、ブロックデータが
記憶される。
限られた範囲内に格納されたデータに対するアクセス
が、範囲を超えたアクセスよりも高速に行われる記憶装
置に対して、各行及び各列に対して誤り訂正記号が付加
されたブロックデータが各列又は各行単位でアクセスさ
れ、各列の複数のデータが同時に演算されて各列毎に誤
り訂正が行われる。その記憶装置のデータバス幅が、各
列毎に同時に演算されるデータ数、又は、並列に演算さ
れる複数の行のデータ数の整数倍に設定され、データバ
ス幅分の各列のデータ及び複数の行のデータが記憶装置
の同一範囲内に格納される。
限られた範囲内に格納されたデータに対するアクセス
が、範囲を超えたアクセスよりも高速に行われる記憶装
置に対して、各行及び各列に対して誤り訂正記号が付加
されたブロックデータが各列又は各行単位でアクセスさ
れ、各行の複数のデータが同時に演算されて各行毎に誤
り訂正が行われる。その記憶装置のデータバス幅が、各
行毎に同時に演算されるデータ数、又は、並列に演算さ
れる複数の列のデータ数の整数倍に設定され、データバ
ス幅分の各行のデータ及び複数の列のデータを記憶装置
の同一範囲内に格納される。
態を図1〜図10に従って説明する。
1は、ATAPI(AT attachment packet interface)等
の所定のインターフェースを介してコンピュータ22に
接続されている。また、光ディスク制御装置21は、イ
ンターフェースを介して光ディスク駆動装置23に接続
されている。
てのデジタルビデオディスク(DVD:Digital Video
Disk)24を所定の速度で回転駆動するとともに、DV
D24に記録されたデータを図示しない光ピックアップ
により読み出す。そして、光ディスク駆動装置23は、
読み出しデータを光ディスク制御装置21に出力する。
ントローラ25、マイクロプロセッサ26、記憶装置と
しての外部バッファメモリ27、インターフェース回路
28、及び、入出力駆動回路29を備える。
トローラという)25は、光ディスク駆動装置23への
命令送信及びステータス受領と、光ディスクからの読み
出しフォーマット解読及びエラー訂正と、光ディスク駆
動装置23と外部バッファメモリ27との間のデータ転
送と、インターフェース回路28と外部バッファメモリ
27との間のデータ転送等の各処理を行う。
駆動装置23から出力される読み出しデータが入出力駆
動回路29を介して入力される。コントローラ25は、
入力されるデータに誤り訂正等の処理を施して外部バッ
ファメモリ27に格納する。そして、コントローラ25
は、マイクロプロセッサ26の命令に基づいて、バッフ
ァメモリに格納したデータをインターフェース回路28
を介して外部機器としてのコンピュータ22に転送す
る。
ついて説明する。記録媒体としてデジタルビデオディス
ク(DVD:Digital Video Disk)等の光ディスクにお
いては、記憶容量が膨大な上、ディスクの製造時の欠陥
等や、ディスクの表面に付着した汚れ等によって、読み
出したデータの誤り発生率が非常に高い。そのため、図
8に示すように、DVD24に記録された1つのブロッ
クデータ31には、情報記号(データ部分)32、第1
誤り訂正符号(第1ECC部分)33、及び、第2誤り
訂正符号(第2ECC部分)34が格納される。
16個)のデータセクタ35により構成される。図9に
示すように、各データセクタ35は、4バイトの識別デ
ータID、2バイトのID誤り検出符号IEC、6バイ
トの予約領域RSV、2048バイト(2Kバイト)の
データDATA、及び、4バイトの誤り検出符号EDC
とから構成される。即ち、データセクタ35は、206
4バイトのデータから構成され、データ部分32は、約
33Kバイト(33024バイト=2064バイト×1
6セクタ)のデータから構成される。
ータは、所定の行数及び列数(本実施形態では、192
行×172列)の二次元配列に並べられる。ここで、デ
ータ部分32を構成する各データを、列方向(図8にお
いて縦方向)の座標値x(0≦x≦191)と、行方向
(図8において横方向)の座標値y(0≦y≦171)
とを用いてデータB(x,y) として表すものとする。する
と、データ部分32は、データB(0,0) 〜データB(19
1,171) により構成される。
ータに基づいて演算された第1ECC部分33が付加さ
れている。第1ECC部分33は、所定の誤り訂正符号
(例えば、リード・ソロモン符号(Reed-Solomon code)
)よりなり、各列のデータ数に対応して、所定のバイ
ト数(本実施形態では16バイト)の誤り訂正符号が演
算され付加されている。第1ECC部分33を構成する
各符号を、データ部分32と同様に、列方向の座標値x
(192≦x≦207)と、行方向の座標値y(0≦y
≦171)とを用いてデータB(x,y) として表すものと
する。すると、第1ECC部分33の各符号(データ)
は、データB(192,0)〜B(207,171) により構成され
る。
ータB(192,0) 〜B(207,0) は、データ部分32の1列
目のデータB(0,0) 〜B(191,0) に基づいて演算され、
付加されている。同様に、第1ECC部分33の2列目
のデータB(192,1) 〜B(207,1) から172列目のデー
タB(192,171) 〜B(207,171) は、それぞれデータ部分
32の2列目のデータB(0,1) 〜B(191,1) から172
列目のデータB(0,171) 〜B(191,171) のデータに基づ
いて演算され、付加されている。
33には、各行毎のデータに基づいて演算された第2E
CC部分34が付加されている。第2ECC部分34
は、所定の誤り訂正符号(リード・ソロモン符号)より
なり、各行のデータ数に対応した所定のバイト数(本実
施形態では10バイト)の誤り訂正符号が演算され付加
されている。第2ECC部分34を構成する各符号を、
データ部分32,第1ECC部分33と同様に、列方向
の座標値x(0≦x≦207)と、行方向の座標値y
(172≦y≦181)とを用いてデータB(x,y) とし
て表すものとする。すると、第2ECC部分34の各符
号(データ)は、データB(0,172)〜B(207,181) によ
り構成される。
ータB(0,172) 〜B(0,181) は、データ部分32の1行
目のデータB(0,0) 〜B(0,171) に基づいて演算され、
付加されている。同様に、第2ECC部分34の2行目
のデータB(1,172) 〜B(1,181) から192行目のデー
タB(191,172) 〜B(191,181) は、それぞれデータ部分
32の2行目のデータB(1,0) 〜B(1,171) から192
行列目のデータB(191,0) 〜B(191,171) のデータに基
づいて演算され、付加されている。
データB(192,172) 〜B(192,181)から208列目のデ
ータB(207,172) 〜B(207,181) は、それぞれ第1EC
C部分33の193列目のデータB(192,0) 〜B(192,1
71) から208列目のデータB(207,0) 〜B(207,171)
のデータに基づいて演算され、付加されている。
は、先ず、1つのブロックデータ31の各行のデータに
対して誤り訂正処理を行い、その後、各列のデータに対
して誤り訂正処理を行う。即ち、コントローラ25は、
データ部分32、第1ECC部分33、及び、第2EC
C部分34を1つの二次元配列として扱う。
された1つのブロックデータ31の各行をそれぞれ符号
語として扱う。配列の1つの行、即ち、1つの符号語を
1インタリーブという。
り訂正処理を行う。先ず、コントローラ25は、インタ
リーブ毎に符号語全体からシンドロームを求める。次
に、コントローラ25は、シンドロームを基に、誤りの
位置多項式と数値多項式を求める。この時の方法として
は、例えば、ユークリッド互除アルゴリズムが用いられ
る。
項式及び誤り数値多項式を基に、誤り位置及び誤り数値
を求め、該当する位置のデータの誤りを訂正する。即
ち、符号語の何番目のデータがどのように誤っているか
を求めるわけである。この時の方法としては、たとえ
は、チェンのアルゴリズム(チェンサーチ)が用いられ
る。
れた1つのブロックデータ31の各列をそれぞれ符号語
(インタリーブ)として扱う。そして、コントローラ2
5は、前記の各行のインタリーブと同様に、各列のイン
タリーブ毎に誤り訂正処理を行う。即ち、コントローラ
25は、各列のインタリーブ毎に符号語全体からシンド
ロームを求め、そのシンドロームを基に符号語の誤り位
置及び誤り数値を求めて誤りを訂正する。
ックデータ31の各行と各列をそれぞれ符号語(インタ
リーブ)として扱い、各インタリーブ毎に誤り訂正処理
を行う。ここで、符号語として扱う各行と各列を互いに
区別するため、以下、符号語として扱う各列を列インタ
リーブといい、符号語として扱う各行を行インタリーブ
という。
データ31は、208行の行インタリーブH0〜H20
7で表される。行インタリーブH0は、1行目のデータ
B(0,0) 〜B(0,181) により構成される。同様に、行イ
ンタリーブH1〜H207は、2行目のデータB(1,0)
〜B(1,181) から208行目のデータB(207,0) 〜B(2
07,181) により構成される。
2列の列インタリーブV0〜V182で表される。列イ
ンタリーブV0は、1列目のデータB(0,0) 〜B(207,
0) により構成される。同様に、列インタリーブV1〜
V207は、2列目のデータB(0,1) 〜B(207,1) から
208列目のデータB(0,181) 〜B(207,181) により構
成される。
のブロックデータ31に対して誤り訂正処理を行う場合
に、先ず、各行インタリーブH0〜H207に対して誤
り訂正処理を行う。その後、コントローラ25は、各列
インタリーブV0〜V171に対して誤り訂正処理を行
う。
実際には、データ部分32と第1ECC部分33とがそ
れぞれ所定数に分割されるとともにインターリーブさ
れ、図1に示されるDVD24に格納される。図10に
示すように、1つのブロックデータ31のデータ部分3
2は、複数の部分(本実施形態では16個)に分割さ
れ、各部分には、それぞれ第1ECC部分33が分割さ
れインタリーブされている。そして、分割された1つの
部分とインタリーブされた第1ECC部分33の列によ
り1つの記録セクタ(1クラスタ)が構成される。
個のクラスタC0〜C15から構成される。各クラスタ
C0〜C15は、それぞれデータ部分32のうちの分割
された12行分のデータと、第1ECC部分33のうち
の分割された1行分のデータとから構成される。
0〜H11と、インタリーブされた行インタリーブH1
92とから構成され、DVD24に格納されている。そ
して、クラスタC15は、行インタリーブH180〜H
191と、インタリーブされた行インタリーブH207
とから構成され、DVD24に格納されている。従っ
て、DVD24に格納されたデータは、クラスタC0か
ら順次読み出される。即ち、クラスタC0において、図
10に示すように、先ず1行目(図10において1番上
の行)の行インタリーブH0から12行目の行インタリ
ーブH11が読み出されると、次に13行目にインタリ
ーブされた行インタリーブH192が読み出され、クラ
スタC0の読み出しが終了し、次のクラスタC1が読み
出される。尚、クラスタC1〜C15における読み出し
の順番は、クラスタC0と同じであるため、説明を省略
する。
ブH0〜H11,H192は、その読み出された順番で
コントローラ25に入力される。コントロ−ラ25は、
入力される行インタリーブH0〜H11,H19毎にシ
ンドロームを生成し、その生成したシンドロームデータ
に基づいて各行インタリーブH0〜H11,H192に
対する誤り訂正処理を行う。そして、コントローラ25
は、誤り訂正した各行インタリーブH0〜H11,H1
92を一旦外部バッファメモリ27に格納する。外部バ
ッファメモリ27は、複数のブロックデータ31を格納
することができる。
ブH0を入力し、その行インタリーブH0に対する誤り
訂正処理を行う。その誤り訂正処理において、コントロ
ーラ25は、行インタリーブH0のシンドロームを生成
し、そのシンドロームに基づいて行インタリーブH0の
誤り訂正を行う。そして、コントローラ25は、訂正処
理後の行インタリーブH0を外部バッファメモリ27に
一旦格納する。
ブH1〜H11,H192を順次入力し、各行インタリ
ーブH1〜H11,H192毎にシンドロームを生成
し、誤り訂正処理を行い、訂正後の各行インタリーブH
1〜H11,H192を外部バッファメモリ27に一旦
格納する。そして、訂正後の行インタリーブH192を
外部バッファメモリ27に格納すると、コントローラ2
5は、次にクラスタC1の各行インタリーブを順に入力
する。コントローラ25は、クラスタC0と同様にクラ
スタC1の各行インタリーブに対する誤り訂正処理を行
った後、訂正後の各行インタリーブを外部バッファメモ
リ27に一旦格納する。更に、コントローラ25は、ク
ラスタC2〜C15の行インタリーブを順に入力し、各
行インタリーブに対して誤り訂正処理を行った後、訂正
後の各行インタリーブを外部バッファメモリ27に一旦
格納する。
ブされた各行の並び替えを同時に行う。例えば、クラス
タC0の各行インタリーブH0〜H11,H192に対
して、コントローラ25は、外部バッファメモリ27に
対して、クラスタC0の行インタリーブH0〜H11を
1行目から12行目となるように格納する。そして、コ
ントローラ25は、行インタリーブH192を193行
目となるように外部バッファメモリ27に格納する。
のデータ、即ち、行インタリーブH0〜H207を外部
バッファメモリ27に一旦格納すると、コントローラ2
5は、次に、列インタリーブV0〜V181に対する誤
り訂正処理を行う。即ち、コントローラ25は、外部バ
ッファメモリに格納された1つのブロックデータ31の
列インタリーブV0〜V181を読み出す。そして、コ
ントローラ25は、読み出した各列インタリーブV0〜
V181のシンドロームを生成し、そのシンドロームに
基づいて各列インタリーブV0〜V181に対する誤り
訂正処理を行う。
ァメモリ27のデータバス幅に対応した複数の列インタ
リーブに対するシンドロームの生成を並列に行う。各列
インタリーブV0〜V181の各データB(0,0) 〜B(2
07,0) からB(0,181) 〜B(207,181) はそれぞれ1バイ
ト(8ビット)よりなる。従って、外部バッファメモリ
27のデータバス幅は、複数バイト(8ビットの整数
倍)に設定されている。
0〜V181のうちの複数の列インタリーブから1バイ
トずつ、合計複数バイトのデータを入力する。そして、
コントローラ25は、読み出したデータを各列インタリ
ーブ毎に演算して各列に対するシンドロームを平行して
生成する。
バス幅が2バイト(16ビット=8ビット×2)に設定
されている場合について説明する。この場合、コントロ
ーラ25は、2つの列インタリーブ、例えば、列インタ
リーブV0,V1から1バイトずつ、即ち、図8におい
て横方向のデータB(0,0) とデータB(0,1) とを読み出
す。次に、コントローラ25は、列インタリーブV0,
V1からそれぞれデータB(1,0) ,B(1,1) を読み出
す。同様に、列インタリーブV0,V1からそれぞれデ
ータB(2,0) 〜B(207,0) ,B(2,1) 〜B(207,1) を読
み出す。
データB(0,0) ,B(0,1) ,B(1,0) ,B(1,1) ,〜,
B(207,0) ,B(207,1) を各列インタリーブV0,V1
毎、即ち、データB(0,0) 〜B(207,0) を演算して列イ
ンタリーブV0に対応するシンドロームと、データB
(0,1) 〜B(207,1) を演算して列インタリーブV1に対
応するシンドロームとを生成する。
クデータ31を、外部バッファメモリ27のデータバス
幅に対応した数だけ列方向に読み出す。従って、コント
ローラ25は、列インタリーブV0〜V181に対して
誤り訂正処理を行う場合、各列インタリーブV0〜V1
81毎にデータを読み出す場合に比べて外部バッファメ
モリ27から読み出す回数、即ち、外部バッファメモリ
27に対するアクセス回数が少なくなる。
バス幅が2バイトの場合、アクセス回数は従来の1/2
になり、データバス幅が4バイトの場合、アクセス回数
は従来の1/4になる。その結果、コントローラ25か
ら列インタリーブに対する誤り訂正処理におけるアクセ
ス回数が少なくなった分、外部バッファメモリ27に対
するアクセスの負荷が少なくなる。また、列インタリー
ブに対する誤り訂正処理におけるアクセス回数が少なく
なった分、他からのアクセス、行インタリーブに対する
誤り訂正後のデータ格納や、図1中のコンピュータ22
等の外部機器へのデータの読み出しのためのアクセス回
数を増やす、即ち、処理の高速化を図ることができる。
従って詳述する。コントローラ25は、信号処理部4
1、復調回路部42、誤り訂正回路部43、及び、バッ
ファメモリ制御部44を備える。
出されたデータが順次入力される。信号処理部41は、
入力されるデータをデジタルデータに変換するととも
に、変換したデジタルデータに同期したクロック信号C
LKを生成する。そして、信号処理部41は、変換した
デジタルデータを復調回路部42に出力し、生成したク
ロック信号CLKを復調回路部42,誤り訂正回路部4
3等に出力する。
力されるクロック信号CLKに同期して動作し、所定の
方式、例えば、EFMplus(Eight-to-Fourteen Modulat
ionplus) 方式等により信号処理部41から入力される
データを復調する。そして、復調回路部42は、復調後
のデータを誤り訂正回路部43に出力する。
生成部(PIsyd部)45、PI誤り訂正部(PIe
cc部)46、POシンドローム生成部(POsyd
部)47、PO誤り訂正部(POecc部)48により
構成される。PIsyd部45及びPIecc部46
は、図8に示されるブロックデータ31の各行インタリ
ーブH0〜H207に対する誤り訂正を行うために設け
られ、行誤り訂正回路49を構成している。
は、図8に示されるブロックデータ31の各列インタリ
ーブV0〜V181に対する誤り訂正を行うために設け
られ、列誤り訂正回路50を構成している。
インタリーブH0〜H207に対して、各行インタリー
ブ毎にシンドロームを生成するために設けられている。
尚、各行インタリーブH0〜H207に対する処理は同
じであるため、ここでは、行インタリーブH0に対する
処理のみを説明し、行インタリーブH1〜H207に対
する処理の説明を省略する。
生成するシンドロームのデータ数に対応した複数のシン
ドローム演算器51を備える。各シンドローム演算器5
1は、それぞれ排他的論理和回路(以下、EOR回路と
いう)52、8ビットのフリップフロップ回路(以下、
単にFFという)53、及び、乗算回路(G.MUL)
54により構成される。
には、それぞれガロア体よりなる乗数が予め設定されて
いる。各乗算回路54に設定される乗数は、それぞれ異
なる値であり、生成するシンドロームに基づいて設定さ
れている。
51には、信号処理部42により生成され出力されるク
ロック信号CLKに同期して行インタリーブH0のデー
タB(0,0) 〜B(0,181) が順次入力される。即ち、各シ
ンドローム演算器51には、その時々において同じデー
タ(例えば、データB(0,0) )が入力される。
ロック信号CLKに同期動作し、順次入力されるデータ
B(0,0) 〜B(0,181) に基づいてシンドロームを生成す
る。即ち、PIsyd部45は、各行インタリーブH0
〜H207を順次入力する。そして、PIsyd部45
は、各行インタリーブH0〜H207毎にシンドローム
を生成する。
て生成されたシンドロームを基に、各行インタリーブH
0〜H207の誤りを訂正するために設けられている。
PIecc部46には、1つの行インタリーブ分に対応
した容量の内部バッファメモリ46aが備えられる。P
Iecc部46には、各行インタリーブH0〜H207
が順次入力され、各行インタリーブH0〜H207は、
順次内部バッファメモリ46aに格納される。
45から各行インタリーブH0〜H207にそれぞれ対
応するシンドロームを順次入力する。PIecc部46
は、入力したシンドロームを基に、誤りの位置多項式と
数値多項式とを求める。その演算には、例えば、ユーク
リッド互除アルゴリズムが用いられる。
式及び誤り数値多項式を基に、誤り位置及び誤り数値を
求める。その演算には、例えばチェンのアルゴリズム
(チェンサーチ)が用いられる。
置及び誤り数値を基に、内部バッファメモリ46aに格
納された各行インタリーブH0〜H207の誤りを訂正
する。そして、PIecc部46は、訂正後の各行イン
タリーブH0〜H207を、バッファメモリ制御部44
へ出力する。
部46と、後述するPOsyd部47,POecc部4
8,及び,インタフェース回路28からの指令に基づい
て、外部バッファメモリ27に対するデータの書き込み
・読み出しを制御するために設けられている。
44には、調停回路61、アドレス発生回路62、及
び、データパス切替回路63が備えられる。調停回路6
1は、その時々において、データの読み出し又は書き込
みのためのパスを設定するために設けられている。パス
とは、データを読み出し・書き込む経路であって、本実
施形態では、PIecc部46からデータを書き込むパ
ス、POsyd部47及びPOecc部48からデータ
を読み出すパス、POecc部48からデータを書き込
むパス、及び、インタフェース回路28からデータを読
み出すパスとがある。調停回路61は、DVD24から
データを読み出すその時々において、1つのパスのみを
許容する。そして、調停回路61は、許容したパスに対
応した読み出し・書き込みのための制御信号RD/WR
を外部バッファメモリ27に出力する。
より許容されたパスの回路部46〜38,28から入力
されるデータ又は指令に基づいて、書き込み・読み出す
対象となるデータに対応した外部バッファメモリ27の
アドレス信号を発生させる。そして、アドレス発生回路
62は、発生させたアドレス信号を外部バッファメモリ
27に出力する。データパス切替回路63は、調停回路
61により許容されたパスに対して外部バッファメモリ
27のデータバスを接続するために設けられている。
Iecc部46から各行インタリーブH0〜H208を
外部バッファメモリ27に書き込む。また、バッファメ
モリ制御部44は、POsyd部47及びPOecc部
48からの指令に基づいて、外部バッファメモリ27に
格納された図8に示されるブロックデータ31の各列イ
ンタリーブV0〜V181を読み出し、POsyd部4
7及びPOecc部48へそれぞれ出力する。
ァメモリ27に各行インタリーブH0〜H207を書き
込む場合、バッファメモリ制御部44の調停回路61は
PIecc部46のパスを許容する。アドレス発生回路
62は、各行インタリーブH0〜H207に対応したア
ドレスを発生させ、外部バッファメモリ27に出力す
る。そして、データパス切替回路63は、PIecc部
46から入力される各行インタリーブH0〜H207を
外部バッファメモリ27に出力し、各行インタリーブH
0〜H20は、外部バッファメモリ27の所定のアドレ
スに書き込まれる。
リーブH0〜H207、即ち、1つのブロックデータ3
1が格納されると、POsyd部47及びPOecc部
48は、バッファメモリ制御部44に対して読み出し指
令を出力する。このPOsyd部47及びPOecc部
48が指令を出すタイミングは、図1に示されるマイク
ロプロセッサ26により制御される。
ンタリーブH0〜H207毎の誤り訂正処理を終了する
度に、マイクロプロセッサ26に終了を示す信号を出力
する。そして、マイクロプロセッサ26は、その信号に
基づいて次の列インタリーブV0〜V181に対する誤
り訂正処理を行うべく、POsyd部47及びPOec
c部48に信号を出力する。すると、POsyd部47
及びPOecc部48は、バッファメモリ制御部44に
対して指令を出力し、列インタリーブV0〜V181の
データを入力するわけである。
cc部48について説明する。POsyd部47は、図
8に示される各列インタリーブV0〜V181に対し
て、各列インタリーブ毎にシンドロームを生成するため
に設けられている。また、POsyd部47は、外部バ
ッファメモリ27のデータバス幅に対応した数の列イン
タリーブに対するシンドロームの生成を並列に行う。
インタリーブのデータが順次入力される。例えば、図8
に示されるブロックデータ31を入力する場合、POs
yd部47には、先ず、列インタリーブV0のデータB
(0,0) 〜B(207,0) と、列インタリーブV1のデータB
(0,1) 〜B(207,1) が外部バッファメモリ27のデータ
バス幅に対応した2バイトのデータが並列に入力され
る。
7には、先ず、列インタリーブV0のデータB(0,0)
と、列インタリーブV1のデータB(0,1) とが入力さ
れ、次に、データB(1,0) とデータB(1,1) とが入力さ
れる。そして、列インタリーブV0,V1の全てのデー
タが入力されると、POsyd部47には、次に、列イ
ンタリーブV2,V3の各データが並列に入力される。
外部バッファメモリ27のデータバス幅に対応した数
(本実施形態では2つ)のシンドローム生成回路71,
72を備える。両シンドローム生成回路71,72に
は、それぞれ生成するシンドロームのデータ数に対応し
た複数のシンドローム演算器73を備える。各シンドロ
ーム演算器73は、それぞれ排他的論理和回路(以下、
EOR回路という)74、8ビットのフリップフロップ
回路(以下、単にFFという)75、及び、乗算回路
(G.MUL)76により構成される。
には、それぞれガロア体よりなる乗数が予め設定されて
いる。各乗算回路76に設定される乗数は、それぞれ異
なる値であり、生成するシンドロームに基づいて設定さ
れている。
ム演算器73には、信号処理部42により生成され出力
されるクロック信号CLKに同期して列インタリーブV
0のデータB(0,0) 〜B(207,0) が順次入力される。即
ち、各シンドローム演算器73には、その時々において
同じデータ(例えば、データB(0,0) )が入力される。
そして、各シンドローム演算器73は、クロック信号C
LKに同期動作し、入力されるデータB(0,0) 〜B(20
7,0) に基づいてシンドロームを生成する。
ム演算器73には、信号処理部42により生成され出力
されるクロック信号CLKに同期して列インタリーブV
1のデータB(0,1) 〜B(207,1) が順次入力される。即
ち、各シンドローム演算器73には、その時々において
同じデータ(例えば、データB(0,0) )が入力される。
そして、各シンドローム演算器73は、クロック信号C
LKに同期動作し、入力されるデータB(0,1) 〜B(20
7,1) に基づいてシンドロームを生成する。
ブV2〜V181に対して列インタリーブV0,V1に
対する処理と同じ処理を行うため、詳細な説明を省略す
る。即ち、POsyd部47は、各列インタリーブV0
〜V181を2つの列インタリーブ毎に順次入力する。
そして、POsyd部47は、入力した2つの列インタ
リーブ毎のシンドロームを並列に生成する。
syd部47にて生成された各列インターリーブ毎のシ
ンドロームを基に、各列インタリーブV0〜V181の
誤りを訂正するために設けられている。POecc部4
8は、誤り位置及び誤り数値のペアを1インタリーブ当
たりの訂正可能な誤り個数分格納できる容量をもつ内部
バッファメモリ48aを備える。
部47にて生成された1つの列インタリーブに対するシ
ンドロームを入力する。POecc部48は、入力した
シンドロームを基に、そのシンドロームの列インタリー
ブに対する誤りの位置多項式と数値多項式とを求める。
その演算には、例えば、ユークリッド互除アルゴリズム
が用いられる。
式及び誤り数値多項式を基に、誤り位置及び誤り数値を
求める。その演算には、例えばチェンのアルゴリズム
(チェンサーチ)が用いられる。
置及び誤り数値のペアを内部バッファメモリ48aに格
納し、対応する行インタリーブの内、誤り位置に該当す
る外部バッファメモリ27上のデータを読み取って誤り
数値と互いにEORを取ったデータを内部バッファメモ
リ48aに書き戻す。そして、POecc部48は、内
部バッファメモリ48aに保持している誤り位置に対応
する外部バッファメモリ27のアドレスに、EORを取
ったデータをバッファメモリ制御部44を介して外部バ
ッファメモリ27に格納し、1つの列インタリーブに対
する誤り訂正処理を終了する。
81に対して誤り訂正処理が終了すると、インタフェー
ス回路28は、バッファメモリ制御部44に対して読み
出し指令を出力する。このインタフェース回路35が指
令を出すタイミングは、前記したPOsyd部47及び
POecc部48が指令を出すタイミングと同様であっ
て、図1に示されるマイクロプロセッサ22により制御
される。
ース回路28からの指令に基づいて、外部バッファメモ
リ27に格納された1つのブロックデータ31のうち、
データ部分32を順次読み出し、インタフェース回路2
8に出力する。インタフェース回路35は、入力される
データ部分32の各データを、所定のフォーマットにて
インタフェースを介してコンピュータ22へ順次出力す
る。
ば、以下の効果を奏する。 (1)DVD24から読み出したデータを格納する外部
バッファメモリ27のデータバス幅を複数バイトに拡張
する。その外部バッファメモリ27には、複数の行イン
タリーブH0〜H207と複数の列インタリーブV0〜
V181よりなる二次元配列されたブロックデータ31
が格納される。コントローラ25は、外部バッファメモ
リ27に格納された1つのブロックデータ31を、その
外部バッファメモリ27のデータバス幅に対応した複数
の列インタリーブ毎に読み出す。そして、コントローラ
25は、読み出したデータバス幅分の列インタリーブを
並列に演算してシンドロームを生成し、読み出した各列
インタリーブに対して誤り訂正を行うようにした。
度に外部バッファメモリ27から読み出す列数で割った
値の数だけ列方向に読み出す。従って、コントローラ2
5は、列インタリーブV0〜V181に対して誤り訂正
処理を行う場合、各列インタリーブV0〜V181毎に
データを読み出す場合に比べて外部バッファメモリ27
から読み出す回数、即ち、外部バッファメモリに対する
アクセス回数が少なくなる。そのため、アクセス回数が
少なくなる分、外部バッファメモリ27に対するアクセ
スを高速化することができるとともに、シンドロームの
生成をDVD24からデータを読み出し処理時間を高速
化することができる。
から読み出されたブロックデータ31の各行インタリー
ブH0〜H207に対して誤り訂正処理を行う行誤り訂
正回路49が備えられる。行誤り訂正回路49は、DV
D24から読み出された行インタリーブH0〜H207
を順次入力するとともに、各行インタリーブH0〜H2
07毎に演算したシンドロームを基に、各行インタリー
ブH0〜H207に対して誤り訂正処理を行う。そし
て、行誤り訂正回路49は、訂正後の各行インタリーブ
H0〜H207を順次外部バッファメモリ27に格納す
るようにした。
7に対して誤り訂正処理を行うとともに外部バッファメ
モリ27に格納するので、誤り訂正処理を高速化するこ
とができ、DVD24からの読み出しの高速化を行うこ
とができる。
から読み出されたブロックデータ31の各列インタリー
ブV0〜V182に対して誤り訂正処理を行うPOsy
d部47及びPOecc部48が備えられる。POsy
d部47は、2つのシンドローム生成回路71,72を
備える。各シンドローム生成回路71,72には、それ
ぞれ異なる列インタリーブのデータが入力され、各行イ
ンタリーブに対するシンドロームがそれぞれ演算され出
力される。
ータバス幅に対応して読み出した複数の列インタリーブ
に対応するシンドロームを並列に演算することができ、
誤り訂正処理の高速化を行うことができる。
た第二実施形態を図11〜図13に従って説明する。
尚、説明の便宜上、第一実施形態と同様の構成について
は同一の符号を付してその説明を一部省略する。
ーラ(以下、単にコントローラという)81には、信号
処理部41、復調回路部42、誤り訂正回路82、バッ
ファメモリ制御部83、及び、インタフェース回路28
(図示略)が備えられる。誤り訂正回路82には、第1
PIシンドローム生成部(第1PIsyd部)45、第
1PI誤り訂正部(第1PIecc部)46、POシン
ドローム生成部(POsyd部)47、及び、PO誤り
訂正部(POecc部)48と、第2PIシンドローム
生成部(第2PIsyd部)84及び第2PI誤り訂正
部(第2PIecc部)85とが備えられる。
48、84,85、及び、インタフェース回路28から
の指令に基づいて、外部バッファメモリ27に対するデ
ータの書き込み・読み出しを制御するために設けられて
いる。
部85は、列誤り訂正回路50(POsyd部47及び
POecc部48)により訂正され外部バッファメモリ
27に格納されたデータに対して、再び各行インタリー
ブに対する誤り訂正を行うために設けられている。即
ち、第1PIsyd部45及び第1PIecc部46は
第1の行誤り訂正回路49を構成し、第2PIsyd部
84及び第2PIecc部85は第2の行誤り訂正回路
86を構成している。
各行インタリーブH0〜H207に対して、各行インタ
リーブ毎にシンドロームを生成するために設けられてい
る。また、第2PIsyd部84は、外部バッファメモ
リ27のデータバス幅に対応した数のデータを並列に演
算し、シンドロームを生成する。
バス幅が2バイトの場合、第2PIsyd部84には、
外部バッファメモリ27から各行インタリーブH0〜H
207の各データが2バイトずつ入力される。即ち、図
13に示すように、第2PIsyd部84には、先ず、
行インタリーブH0のデータB(0,0) ,B(0,1) が入力
され、次にデータB(0,2) ,B(0,3) が入力される。そ
して、行インタリーブH0のデータB(0,206) ,B(0,2
07) が入力されると、第2PIsyd部84には、次の
行インタリーブH1のデータが2バイトずつ入力され
る。
4は、生成するシンドロームのデータ数に対応した複数
のシンドローム演算器91を備える。各シンドローム演
算器91は、それぞれ2つの排他的論理和回路(以下、
EOR回路という)92,93、2つの乗算回路(G.
MUL)94,95、及び、8ビットのフリップフロッ
プ回路(以下、単にFFという)96を備える。
体よりなる同じ値の乗数が予め設定されている。その乗
数は、各シンドローム演算器91毎に異なる値であっ
て、生成するシンドロームに基づいて設定されている。
FF96には、行インタリーブH0の演算の開始時にお
いて「0」が設定される。
部42により生成され出力されるクロック信号CLKに
同期して行インタリーブH0のデータB(0,0) 〜B(0,1
81)が2バイトずつ順次入力される。例えば、図8の行
インタリーブH0に対する演算を行う場合、各シンドロ
ーム演算器91には、図13に示すように、先ず、デー
タB(0,0) とデータB(0,1) とが入力される。そして、
次のクロックでは、各シンドローム演算器91には、デ
ータB(0,2) とデータB(0,3) とが入力される。
ック信号CLKに同期動作し、順次入力される2バイト
を同時に演算する。即ち、シンドローム演算器91のE
OR回路92は行インタリーブH0のデータB(0,0) が
入力され、EOR回路93は行インタリーブH0のデー
タB(0,1) が入力される。
ブH0のデータB(0,2) と、FF96にラッチされたデ
ータの乗算回路95による演算結果(この時は「0」)
が入力される。また、EOR回路93は次の行インタリ
ーブH0のデータB(0,3) と、乗算回路94から出力さ
れたデータB(0,1) の演算結果とが入力される。
,B(0,2) ,・・・,B(0,180) の演算を順次行い、
乗算回路95は、データB(0,1) ,B(0,3) ,・・・,
B(0,181) の演算を順次行う。そして、2つのEOR回
路92,93の演算は同時に行われる。また、2つの乗
算回路94,95の演算は同時に行われる。
ファメモリ27のデータバス幅に対応した数のデータを
入力する。例えば、外部バッファメモリ27のデータバ
ス幅が2バイトの場合、第2PIsyd部84は、各行
インタリーブH0〜H207の各データを2バイトずつ
読み出し、その読み出した2バイトのデータを同時に演
算する。そして、第2PIsyd部84は、1つの行イ
ンタリーブの全てのデータを読み出して演算し、各行イ
ンタリーブに対するシンドロームを生成する。
ファメモリ27に対するアクセス回数は、各行インタリ
ーブH0〜H207の各データを1バイトずつ読み出す
ためのアクセス回数の半分となる。
ブH0〜H207の誤りを訂正するために設けられてい
る。第2PIecc部85は、第2PIsyd部84か
ら各行インタリーブH0〜H207にそれぞれ対応する
シンドロームを順次入力する。第2PIecc部85
は、入力したシンドロームを基に、誤りの位置多項式と
数値多項式とを求める。その演算には、例えば、ユーク
リッド互除アルゴリズムが用いられる。
多項式及び誤り数値多項式を基に、誤り位置及び誤り数
値を求める。その演算には、例えばチェンのアルゴリズ
ム(チェンサーチ)が用いられる。
り位置及び誤り数値のペアを内部バッファメモリ85a
に格納し、対応する行インタリーブの内、誤り位置に対
応する外部バッファメモリ27上のデータを読み取って
誤り数値と互いにEORを取ったデータを内部バッファ
メモリ85aに書き戻す。そして、第2PIecc部8
5は、内部バッファメモリ85aが保持している誤り位
置に対応する外部バッファメモリ27のアドレスに、E
ORを取ったデータを、バッファメモリ制御部83を介
して外部バッファメモリ27に格納し、1つの行インタ
リーブに対する誤り訂正処理を終了する。
07に対して誤り訂正処理が終了すると、インタフェー
ス回路28は、バッファメモリ制御部83に対して読み
出し指令を出力する。このインタフェース回路35が指
令を出すタイミングは、第一実施形態と同様であり、図
1に示されるマイクロプロセッサ22により制御され
る。
ース回路28からの指令に基づいて、外部バッファメモ
リ27に格納された1つのブロックデータ31のうち、
データ部分32を順次読み出し、インタフェース回路2
8に出力する。インタフェース回路35は、入力される
データ部分32の各データを、所定のフォーマットにて
インタフェースを介してコンピュータ22へ順次出力す
る。
ば、以下の効果を奏する。 (1)上記第一実施形態の(1) 〜(3) と同じ効果を奏す
る。 (2)更に、コントローラ82には、外部バッファメモ
リ27に格納されたブロックデータ31に対して、各行
インタリーブH0〜H207毎に再び誤り訂正処理を行
う第2PIsyd部84及び第2PIecc部85を備
える。第2PIsyd部84は、複数バイトを同時に演
算するシンドローム生成回路91を備え、外部バッファ
メモリ27のデータバス幅に対応した複数のデータを並
列に演算してシンドロームを生成するようした。
み出す回数、即ち、外部バッファメモリ27に対するア
クセス回数が少なくなる。そのため、アクセス回数が少
なくなる分、外部バッファメモリ27に対するアクセス
を高速化することができるとともに、DVD24からデ
ータを読み出し処理時間を高速化することができる。
た第三実施形態を図14に従って説明する。尚、説明の
便宜上、第一実施形態と同様の構成については同一の符
号を付してその説明を一部省略する。
と異なる点は、光ディスクコントローラに備えられたバ
ッファメモリ制御部の動作だけであるので同一の符号を
用いて、図14に従ってバッファメモリ制御部44の動
作についてのみ詳述する。
モリ27は、複数のブロックデータ31を格納するのに
十分な記憶容量のDRAM(Dynamic Random Access Mem
ory)よりなり、ある限られたアドレス範囲(同一ペー
ジ)内では高速にアクセスできる、所謂高速ページモー
ドを備えている。そして、バッファメモリ制御部44
は、その高速ページモードを用いて外部バッファメモリ
27に対してデータの読み出し及び書き込みを行う。
したパスに対して1度に複数バイト(例えば、16バイ
ト=8ワード(1ワードは2バイト))のデータをアク
セス(読み出し・書き込み)するものとする。即ち、P
Iecc部47から出力される各行インタリーブH0〜
H207(図8参照)、POsyd部47及びPOec
c部48に入出力される列インタリーブV0〜V181
(図8参照)、インタフェース回路28に出力されるデ
ータ部分32(図8参照)は、それぞれ16バイト毎に
外部バッファメモリ27にアクセスされる。
4は外部バッファメモリ27に対して、PIecc部4
6からブロックデータ31の書き込み動作、POsyd
部47へのブロックデータ31の読み出し動作、POe
cc部48からブロックデータ31の書き込み動作、及
び、インタフェース回路28へのブロックデータ31の
読み出し動作を並列に行うことができる。
2は、PIecc部46と、POsyd部47及びPO
ecc部48とに対して1度に入出力を行う数のデータ
を、外部バッファメモリ27の同一ページ内に格納する
ように、各データに対するアドレスを発生させる。例え
ば、PIecc部46は、図8に示される各行インタリ
ーブH0〜H207を順次出力する。従って、図1に示
される外部バッファメモリ27には、1度に16バイト
のデータ、即ち、図8に示される行インタリーブH0の
データB(0,0) 〜B(0,15)が格納される。
48は、2つの列インタリーブ毎に外部バッファメモリ
27からデータを読み出す。従って、外部バッファメモ
リ27からは、1度に8ワード(=16バイト)のデー
タ、即ち、列インタリーブV0,V1のデータB(0,0)
,B(0,1) ,B(1,0) ,B(1,1) ,B(2,0) ,B(2,1)
,B(3,0) ,B(3,1) が読み出される。
タリーブH0のデータB(0,0) 〜B(0,15)と、列インタ
リーブV0,V1のデータB(0,0) ,B(0,1) 〜B(3,
0) ,B(3,1) とを外部バッファメモリ27の1ページ
に格納するように各データに対するアドレスを発生させ
る。
レス「0」(0h)から順に格納する場合を、図14に従っ
て説明する。尚、外部バッファメモリ27の1ページ
は、256バイトに設定されているものとする。
ぞれ先頭の16バイトずつが外部バッファメモリ27の
アドレス「0」(0h)から順に並べて格納される。従っ
て、外部バッファメモリ27には、先ず、行インタリー
ブH0のデータB(0,0) 〜B(0,15)がアドレス「0」(0
h)〜「15」(0Fh) に格納される。以下、アドレスを1
6進表現にて表すものとする。
ンタリーブH1のデータB(0,0) 〜B(0,15)がアドレス
(10h) 〜(1Fh) に格納される。そして、行インタリーブ
H207のデータB(207,0) 〜B(207,15)がアドレス(C
F0h)〜(CFFh)に格納される。続いて、各行インタリーブ
H0〜H207の次の16バイトが順に並べて格納され
る。即ち、行インタリーブH0のデータB(0,16)〜B
(0,31)がアドレス(D00h)〜(D0Fh)に格納される。
タリーブH0〜H207のデータを、外部バッファメモ
リ27に対してアクセスする複数バイト(本実施形態で
は16バイト)毎に折り返したアドレスを発生させ、そ
のアドレスに各行インタリーブH0〜H207がそれぞ
れ格納される。そして、外部バッファメモリ27の1ペ
ージを256バイトとする。すると、外部バッファメモ
リ27の1ページ目、即ちアドレス(0h)〜(FFh) には、
行インタリーブH0のデータB(0,0) 〜B(0,15)から行
インタリーブH15のデータB(15,0)〜B(15,15) まで
が格納される。そして、1度に格納される16バイトの
データに対するアドレスは、256バイト以内であるた
め、外部バッファメモリ27のロウアドレスは変化しな
い。尚、行インタリーブH0〜H15の他のデータ、及
び、他の行インタリーブH16〜H207に対しても同
様であるため、説明を省略する。
アドレスを変更することなくデータを外部バッファメモ
リ27に対してアクセスすることができる。従って、図
7に示されるバッファメモリ制御部44は、PIsyd
部46から出力される各行インタリーブH0〜H207
を、高速ページモードを用いて外部バッファメモリ27
に格納することができる。
に格納されたデータB(0,0) 〜B(0,15)からデータB(1
5,0)〜B(15,15) は、列インタリーブV0〜V15の先
頭の16バイトである。そして、図2に示されるPOs
yd部47及びPOecc部48に対して1度に出力さ
れる列インタリーブV0,V1のデータB(0,0) ,B
(0,1) 〜B(3,0) ,B(3,1) は外部バッファメモリ27
の1ページ内に格納されている。尚、列インタリーブV
0,V1の他のデータ、及び、他の列インタリーブV2
〜V181に対しても同様であるため、説明を省略す
る。
御部44は、POsyd部47及びPOecc部48に
出力する列インタリーブV0〜V181を、高速ページ
モードを用いて外部バッファメモリ27から読み出すこ
とができる。
モリ27に各データB(0,0) 〜B(207,181) を格納した
場合、図2に示されるPOsyd部47及びPOecc
部48において、列インタリーブV0〜V181を順次
読み出す場合に、1つの行インタリーブ毎、又は3つ以
上の行インタリーブ毎にデータを読み出す場合にも有効
である。この場合にも、POsyd部47及びPOec
c部48は、1度に複数バイト(本実施形態では16バ
イト)のデータをアクセスする。
ージ目には、各列インタリーブV0〜V15の先頭の1
6バイトのデータB(0,0) 〜B(15,0)からデータB(0,1
5)〜B(15,15) が格納されている。即ち、1つの列イン
タリーブV0を読み出す場合、1度にアクセスされる1
6バイトのデータB(0,0) 〜B(15,0)は、外部バッファ
メモリ27の1ページ内に格納されている。従って、図
2に示されるバッファメモリ制御部44は、高速ページ
モードを用いて外部バッファメモリ27からデータを読
み出すことができる。
6,0)〜B(207,0) 、及び、他の列インタリーブV1〜V
181に対しても同様であるため、説明を省略する。ま
た、3つ以上の列インタリーブ毎にデータを読み出す場
合も同様であるため、説明を省略する。
るデータに対して単純にアドレスを発生させて外部バッ
ファメモリ27に格納する場合、図2に示すように、外
部バッファメモリ27には、各行インタリーブのデータ
が先頭アドレスから順次格納される。この時、外部バッ
ファメモリ27には、行インタリーブの各データが連続
したアドレスに格納される。従って、各行インタリーブ
H0〜H207を1度に複数バイトづつ格納する場合に
は、高速ページモードを使用することができる。
81の各データのアドレスは不連続であり、なお且つ、
1ページ分のアドレスを越えている。例えば、列インタ
リーブV0の先頭のデータB(0,0) はアドレス(0h)に格
納され、次のデータB(1,0)は、アドレス(0B6h)(「1
82」番地)に、データB(2,0) は、アドレス(16Ch)
(「364」番地)に格納される。
(0,0) 〜B(207,0) は、「182」番地毎に格納され
る。従って、列インタリーブV0を1度に複数バイト読
み出す場合、アドレスは必ず1ページを越えるため、ロ
ウアドレスとコラムアドレスとを各データ毎に発生させ
る必要があるため処理が複雑になるとともに、高速ペー
ジモードを使用することができない。
メモリ27に図8に示されるブロックデータ31を格納
した場合、1ページ内に各行インタリーブH0〜H20
7のデータが16バイト格納されるとともに、各列イン
タリーブV0〜V181のデータが16バイト格納され
ている。従って、バッファメモリ制御部44は、外部バ
ッファメモリ27に対して、図2に示されるPIecc
部46から行インタリーブH0〜H27の書き込み、P
Osyd部47及びPOecc部48への列インタリー
ブV0〜V181の読み出しの双方において、高速ペー
ジモードを使用することができる。その結果、各データ
に対してロウアドレスとコラムアドレスとをそれぞれ発
生させてアクセスする通常のアクセスモードに比べて、
外部バッファメモリ27に対するアクセスが高速化す
る。
ば、以下の効果を奏する。 (1)外部バッファメモリ27は、複数のブロックデー
タ31を格納するのに十分な容量のDRAM(Dynamic R
andom Access Memory)よりなり、高速ページモードでの
読み出し及び書き込み動作が可能なものとする。アドレ
ス発生回路62は、PIecc部46と、POsyd部
47及びPOecc部48とに対して1度に入出力を行
う数のデータを、外部バッファメモリ27の1ページ内
に格納するように、各データに対するアドレスを発生さ
せる。
外部バッファメモリ27に対して1度に複数バイトアク
セスする場合に、各行インタリーブH0〜H207と各
列インタリーブV0〜V181との双方に高速ページモ
ードを用いて外部バッファメモリ27からデータを読み
出すことができる。従って、外部バッファメモリ27に
対するアクセスを通常のアクセスモードに比べて高速化
することができ、処理時間の高速化を図ることができ
る。
したパスに対して1度に複数バイトのデータをアクセス
するものとする。そして、バッファメモリ制御部44
は、PIecc部47から出力される各行インタリーブ
H0〜H207、POsyd部47及びPOecc部4
8に入出力される列インタリーブV0〜V181、イン
タフェース回路28に出力されるデータ部分32を、そ
れぞれ16バイト毎に外部バッファメモリ27にアクセ
スするようにした。
タリーブH0〜H207の書き込みと、1つ前に外部バ
ッファメモリ2に記憶されたブロックデータ31の各列
インタリーブV0〜V181の読み出し及び書き込み、
及び、更に1つ前に外部バッファメモリ27に記憶され
たブロックデータ31のデータ部分32の読み出しを同
時に行うことができる。
態様で実施してもよい。 ○上記各実施形態において、外部バッファメモリ27の
データバス幅を3バイト以上の任意のバイト数に適宜変
更する。そして、図15に示すように、POsyd部1
01には、変更したバイト数に対応した数のシンドロー
ム生成回路71a〜71nを備え、1度に複数バイト
(図15においてnバイト)を並列に演算してシンドロ
ームを生成する。
第2PIsyd部84に備えられる各シンドローム生成
回路91の構成を変更する。例えば、外部バッファメモ
リ27のデータバス幅を3バイトに変更した場合、図1
6に示すように、各シンドローム生成回路111をそれ
ぞれ3バイトに対応した3つの排他的論理和回路(EO
R回路)112a〜112c、3つの乗算回路(G.M
UL)113a〜113c、及び、8ビットのフリップ
フロップ回路(FF)114により構成する。即ち、外
部バッファメモリ27のデータバス幅をnバイトとした
場合、n個のEOR回路112a〜112n、乗算回路
113a〜113n、及び、FF114により各シンド
ローム生成回路を構成する。
27のデータバス幅に対応してアクセスの回数を減らす
ことができるので、外部バッファメモリ27に対するア
クセスを高速化することができる。
メモリ27からPOsyd部47にデータを読み出す場
合に、外部バッファメモリ27から1度に複数回データ
バス幅分のデータを読み出すようにしても良い。
ァメモリ27に格納するデータの配列を適宜変更して実
施する。例えば、図17及び図18に示すように、2つ
の行インタリーブを1組として、各組をそれぞれ1度に
アクセスするデータバス幅で折り返して外部バッファメ
モリ27に記憶する。
(0,0) と列インタリーブV1のデータB(0,1) )を1組
とし、1度にアクセスするデータバス幅(16バイト)
で折り返し、外部バッファメモリ27に記憶する。この
ように配列した場合にも、外部バッファメモリ27の1
ページ(256バイト)内に行インタリーブと列インタ
リーブとのそれぞれに対して、1度にアクセスするデー
タが格納されるので、高速ページモードを利用してアク
セスすることができ、アクセス時間を短縮することがで
きる。
ての外部バッファメモリ27はある限られた範囲(例え
ばページ)内に格納されたデータに対するアクセスが、
範囲を越えるアドレスに対するアクセスよりも高速に行
える物ならばどの様な物を用いて実施しても良い。例え
ば、高速ページモードを備えたDRAM以外に、EDO
モードDRAM,SDRAM等を用いて実施してもよ
い。
に示されるブロックデータ31のバイト数、二次元配列
の行数及び列数、等を適宜変更して実施する。 ○上記各実施形態において、DVD24から読み出した
データを先ず外部バッファメモリ27に並べ直して格納
する。コントローラ25は、外部バッファメモリ27か
ら行インタリーブH0〜H207を順次読み出して誤り
訂正処理を行い、その訂正後に列インタリーブV0〜V
181を順次読み出して誤り訂正処理を行うようにす
る。
ブと列インタリーブとを入れ替える。即ち、データ部分
(情報記号)32の各行に対して第1ECC部分(第1
誤り訂正符号)を付加した後、各列に対して第2ECC
部分(第2誤り訂正符号)を付加する。そして、コント
ローラ25は、先ず各列インターリーブに対して誤り訂
正処理を行った後、各行インタリーブに対して誤り訂正
処理を行うようにする。
てDVDに限らず、LD(Laser Disc),CD(Compact D
isc),CD−ROM(CD-Read Only Memory) ,MD(Min
i Disc) ,DVD−ROM(DVD-Read Only Memory)等の
他の光ディスクや、その他の記録媒体から読み出すデー
タを訂正する場合について活用してもよい。また、本発
明の光ディスク制御装置21は、各記録媒体に対してデ
ータの読み出し及び書き込みを行う装置に用いて実施し
てもよい。
ローラ25は、訂正後のデータを外部機器としてのコン
ピュータ22に出力するようにしたが、他の外部機器、
例えば、画像データを表示するための画像処理装置等に
出力するようにしても良い。
として、リード・ソロモン符号に代えて、ファイア符
号、BCH符号(Bose-Chaudhuri-Hocquenghem code) 、
ハミング符号(Hamming code)、サイクリック符号(cycli
c code) 、ゴーレイ符号(Golaycode)等を用いて実施し
てもよい。
リ制御部44のアドレス発生回路62を、誤り訂正回路
43、インタフェース回路28側に備えて実施する。P
Iecc部46、POsyd部47、POecc部4
8、及び、インタフェース回路28は、それぞれ必要と
するデータのアドレスをバッファメモリ制御部に出力す
るようにする。この構成によれば、バッファメモリ制御
部44においてアドレスを発生させる必要がないため、
バッファメモリ制御部44の負荷を減少させることがで
きる。
記載の発明によれば、データのアクセス時間を短くして
読み出し時間の高速化を図ることが可能な誤り訂正方法
を提供することができる。
れば、データのアクセス時間を短くして読み出し時間の
高速化を図ることが可能な誤り訂正装置を提供すること
ができる。
データのアクセス時間を短くして読み出し時間の高速化
を図ることが可能なデータ読み出し装置を提供すること
にある。
よれば、誤り訂正処理におけるデータのアクセス時間の
短縮を図ることが可能なデータマッピング方法を提供す
ることができる。
ロック図。
説明図。
説明図。
説明図。
ブロック図。
を示す説明図。
図。
図。
図。
説明図。
御部 31 ブロックデータ 32 データ部分 33 誤り訂正符号としての第1誤り訂正符号 34 誤り訂正符号としての第2誤り訂正符号 49 行誤り訂正回路 50 列誤り訂正回路
Claims (19)
- 【請求項1】 二次元配列され、縦方向と横方向のそれ
ぞれに誤り訂正符号が付加されたブロックデータに対し
て、ブロックデータの各列毎に誤り訂正を行う列誤り訂
正と、ブロックデータの各行毎に誤り訂正処理を行う行
誤り訂正とを行う誤り訂正方法において、 複数の列又は行に対する誤り訂正を並列に行うようにし
た誤り訂正方法。 - 【請求項2】 二次元配列され、縦方向と横方向のそれ
ぞれに誤り訂正符号が付加されたブロックデータに対し
て、ブロックデータの各列毎に誤り訂正を行う列誤り訂
正と、ブロックデータの各行毎に誤り訂正処理を行う行
誤り訂正とを行う誤り訂正方法において、 各行又は列の複数のデータを並列に演算し、各行又は列
に対する誤り訂正を行うようにした誤り訂正方法。 - 【請求項3】 前記ブロックデータは、前記複数の行又
は列に対応したデータバス幅のメモリに格納され、複数
の行又は列から前記メモリのデータバス幅の整数倍のデ
ータを一度に読み出し、その読み出した複数の行又は列
のデータを並列に演算して各行又は列毎に誤り訂正を行
うようにした請求項1に記載の誤り訂正方法。 - 【請求項4】 前記ブロックデータは、前記複数の符号
語に対応したデータバス幅のメモリに格納され、各行又
は列からメモリのデータバス幅の整数倍のデータを一度
に読み出し、その読み出した複数のデータを並列に演算
して各行又は列毎に誤り訂正を行うようにした請求項2
に記載の誤り訂正方法。 - 【請求項5】 前記メモリには、各列又は各行に対する
誤り訂正後のブロックデータが格納され、該メモリから
複数の行又は列のデータ、又は各行又は列の複数のデー
タを順次読み出して各行又は列毎に誤り訂正を行うよう
にした請求項3又は4に記載の誤り訂正方法。 - 【請求項6】 前記ブロックデータは、記録媒体にイン
タリーブされて記憶され、前記メモリには、各列又は各
行に対する誤り訂正後に並び替えて格納するようにした
請求項3乃至5のうちの何れか1項に記載の誤り訂正方
法。 - 【請求項7】 前記各行,各列をそれぞれ符号語として
扱い、符号語全体から各行・各列に対するシンドローム
を演算し、シンドロームを基に各行,各列に対する誤り
を訂正するようにした請求項1乃至6のうちの何れか1
項に記載の誤り訂正方法。 - 【請求項8】 二次元配列され、縦方向と横方向のそれ
ぞれに誤り訂正符号が付加されて外部に接続されたメモ
リに格納されたブロックデータに対して、ブロックデー
タの各列毎に誤り訂正を行う列誤り訂正と、ブロックデ
ータの各行毎に誤り訂正処理を行う行誤り訂正とを行う
誤り訂正回路を備えた誤り訂正装置において、 前記誤り訂正回路は、複数の列又は行に対する誤り訂正
を並列に行うようにした誤り訂正装置。 - 【請求項9】 二次元配列され、縦方向と横方向のそれ
ぞれに誤り訂正符号が付加されて外部に接続されたメモ
リに格納されたブロックデータに対して、ブロックデー
タの各列毎に誤り訂正を行う列誤り訂正と、ブロックデ
ータの各行毎に誤り訂正処理を行う行誤り訂正とを行う
誤り訂正回路を備えた誤り訂正装置において、 前記誤り訂正回路は、各行又は列の複数のデータを並列
に演算し、各行又は列に対する誤り訂正を行うようにし
た誤り訂正装置。 - 【請求項10】 前記メモリは、複数の行又は列に対応
したデータバス幅に設定され、 前記誤り訂正回路は、前記メモリに格納された前記ブロ
ックデータの複数の行又は列から前記メモリのデータバ
ス幅の整数倍のデータを一度に読み出し、その読み出し
た複数の行又は列のデータを並列に演算して各行又は列
毎に誤り訂正を行うようにした請求項8に記載の誤り訂
正装置。 - 【請求項11】 前記メモリは、前記複数の行又は列に
対応したデータバス幅に設定され、 前記誤り訂正回路は、前記メモリに格納された前記ブロ
ックデータの各行又は列から前記メモリのデータバス幅
の整数倍のデータを一度に読み出し、その読み出した複
数のデータを並列に演算して各行又は列毎に誤り訂正を
行うようにした請求項9に記載の誤り訂正装置。 - 【請求項12】 前記誤り訂正回路は、各列に対する誤
り訂正処理を行う列誤り訂正回路と、各行に対する誤り
訂正処理を行う行誤り訂正回路とから構成され、 前記メモリに行誤り訂正回路による誤り訂正後のブロッ
クデータを格納するとともに、前記メモリに格納された
データを一度にそのメモリにデータバス幅の整数倍の数
毎に順次読み出して前記列誤り訂正回路に出力するメモ
リ制御回路部を備えた請求項10又は11に記載の誤り
訂正装置。 - 【請求項13】 前記ブロックデータは、記録媒体にイ
ンタリーブされて記憶され、 前記行誤り訂正回路は、記録媒体から読み出されたデー
タに対して誤り訂正し、訂正後のブロックデータを前記
メモリ制御部に出力し、 前記メモリ制御部は、訂正後のデータを並び替えてメモ
リに記憶するようにした請求項12に記載の誤り訂正装
置。 - 【請求項14】 前記列誤り訂正回路及び行誤り訂正回
路は、それぞれ前記各行,各列を符号語として扱い、符
号語全体から各行・各列に対するシンドロームを演算
し、シンドロームを基に各行,各列に対する誤りを訂正
するようにした請求項8乃至13のうちの何れか1項に
記載の誤り訂正装置。 - 【請求項15】 前記列誤り訂正回路は、訂正後の各列
のデータを前記メモリに格納し、 その各列に対する誤り訂正後のデータを前記メモリのデ
ータバス幅の整数倍のデータ数毎に読み出し、各行毎に
誤り訂正処理を行う第2の行誤り訂正回路を備えた請求
項8乃至14のうちの何れか1項に記載の誤り訂正装
置。 - 【請求項16】 前記メモリは、限られた範囲内に格納
されたデータに対するアクセスが、範囲を超えたアクセ
スよりも高速に行われる物であり、 前記メモリ制御部は、前記データバス幅分の各列のデー
タ及び複数の行のデータを前記メモリの同一範囲内に格
納するようにした請求項8乃至15のうちの何れか1項
に記載の誤り訂正装置。 - 【請求項17】 記録媒体から読み出したデータを読み
出すデータ読み出し装置であって、 前記読み出されたデータに対して誤り訂正を行う請求項
8乃至16のうちの何れか1項に記載の誤り訂正装置
と、 前記誤り訂正装置により処理される複数の行又は列に対
応したデータバス幅に設定され、ブロックデータを記憶
するメモリとを備えたデータ読み出し装置。 - 【請求項18】 限られた範囲内に格納されたデータに
対するアクセスが、範囲を超えたアクセスよりも高速に
行われる記憶装置に対して、各行及び各列に対して誤り
訂正記号が付加されたブロックデータを各列又は各行単
位でアクセスし、各列の複数のデータを同時に演算して
各列毎に誤り訂正を行い、複数の行のデータを並列に演
算して各行毎に誤り訂正を行う誤り訂正装置におけるデ
ータマッピング方法であって、 前記記憶装置のデータバス幅を、各列毎に同時に演算さ
れるデータ数、又は、並列に演算される複数の行のデー
タ数の整数倍に設定し、 前記データバス幅分の各列のデータ及び複数の行のデー
タを前記記憶装置の同一範囲内に格納するようにした誤
り訂正装置のデータマッピング方法。 - 【請求項19】 限られた範囲内に格納されたデータに
対するアクセスが、範囲を超えたアクセスよりも高速に
行われる記憶装置に対して、各行及び各列に対して誤り
訂正記号が付加されたブロックデータを各列又は各行単
位でアクセスし、各行の複数のデータを同時に演算して
各行毎に誤り訂正を行い、複数の列のデータを並列に演
算して各列毎に誤り訂正を行う誤り訂正装置におけるデ
ータマッピング方法であって、 前記記憶装置のデータバス幅を、各行毎に同時に演算さ
れるデータ数、又は、並列に演算される複数の列のデー
タ数の整数倍に設定し、 前記データバス幅分の各行のデータ及び複数の列のデー
タを前記記憶装置の同一範囲内に格納するようにした誤
り訂正装置のデータマッピング方法。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP14951497A JP3863252B2 (ja) | 1996-11-15 | 1997-06-06 | 誤り訂正方法、誤り訂正装置、データ読み出し装置、及び、データマッピング方法 |
| US08/929,063 US6158038A (en) | 1996-11-15 | 1997-09-15 | Method and apparatus for correcting data errors |
| KR1019970059951A KR100415136B1 (ko) | 1996-11-15 | 1997-11-14 | 에러정정방법,에러정정장치,데이터판독장치,및데이터맵핑방법 |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP30497896 | 1996-11-15 | ||
| JP8-304978 | 1996-11-15 | ||
| JP14951497A JP3863252B2 (ja) | 1996-11-15 | 1997-06-06 | 誤り訂正方法、誤り訂正装置、データ読み出し装置、及び、データマッピング方法 |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JPH10200418A true JPH10200418A (ja) | 1998-07-31 |
| JPH10200418A5 JPH10200418A5 (ja) | 2005-04-14 |
| JP3863252B2 JP3863252B2 (ja) | 2006-12-27 |
Family
ID=26479376
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP14951497A Expired - Lifetime JP3863252B2 (ja) | 1996-11-15 | 1997-06-06 | 誤り訂正方法、誤り訂正装置、データ読み出し装置、及び、データマッピング方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US6158038A (ja) |
| JP (1) | JP3863252B2 (ja) |
| KR (1) | KR100415136B1 (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002244925A (ja) * | 2001-02-19 | 2002-08-30 | Sony Corp | 半導体回路およびデータ処理方法 |
| KR100598300B1 (ko) * | 2000-02-14 | 2006-07-07 | 엘지전자 주식회사 | 차세대 고밀도 기록 매체를 위한 디지털 데이터의 오류정정 부호화 방법 |
| KR100682243B1 (ko) | 2004-12-02 | 2007-02-15 | 주식회사 대우일렉트로닉스 | 3차원 리드-솔로몬 코드의 오류정정 방법 |
| US8141057B2 (en) | 2001-02-16 | 2012-03-20 | Sony Corporation | Data processing apparatus and associated method |
Families Citing this family (36)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3530388B2 (ja) * | 1998-07-22 | 2004-05-24 | 三洋電機株式会社 | 符号誤り訂正装置 |
| JP3531494B2 (ja) * | 1998-10-05 | 2004-05-31 | 株式会社日立製作所 | 投写型画像ディスプレイ装置及びそれに用いるスクリーン |
| US6581178B1 (en) * | 1999-02-15 | 2003-06-17 | Nec Corporation | Error correction coding/decoding method and apparatus |
| JP2000244332A (ja) * | 1999-02-19 | 2000-09-08 | Matsushita Electric Ind Co Ltd | データ誤り訂正装置 |
| CN1286275C (zh) | 1999-11-24 | 2006-11-22 | 三洋电机株式会社 | 纠错装置 |
| TW455870B (en) * | 1999-12-09 | 2001-09-21 | Acer Labs Inc | Memory mapping method |
| KR100654017B1 (ko) * | 1999-12-09 | 2006-12-04 | 엘지전자 주식회사 | 디지털 데이터의 에러정정 방법 |
| KR100589814B1 (ko) * | 1999-12-09 | 2006-06-14 | 엘지전자 주식회사 | 디지털 데이터의 에러정정 방법 |
| KR100685360B1 (ko) * | 2000-01-31 | 2007-02-22 | 산요덴키가부시키가이샤 | 회로 규모를 억제하며 고속의 오류 정정을 행하는 것이 가능한 오류 정정 장치 및 복호 장치 |
| US6651208B1 (en) * | 2000-04-04 | 2003-11-18 | Mosel Vitelic Corporation | Method and system for multiple column syndrome generation |
| JP2001291344A (ja) * | 2000-04-04 | 2001-10-19 | Hitachi Ltd | 光ディスク装置およびそのデータ再生方法 |
| JP2002074862A (ja) * | 2000-08-25 | 2002-03-15 | Toshiba Corp | データ処理方法及び装置及び記録媒体及び再生方法及び装置 |
| JP2002074854A (ja) * | 2000-08-31 | 2002-03-15 | Nec Corp | ディジタルデータ記録伝送方法およびその装置 |
| GB0031436D0 (en) * | 2000-12-22 | 2001-02-07 | Koninkl Philips Electronics Nv | Method and apparatus for data reproduction |
| JP3954803B2 (ja) * | 2001-03-22 | 2007-08-08 | 三洋電機株式会社 | エラー訂正装置 |
| US8656246B2 (en) * | 2001-04-16 | 2014-02-18 | Qualcomm Incorporated | Method and an apparatus for use of codes in multicast transmission |
| KR100425294B1 (ko) * | 2001-04-20 | 2004-03-30 | 삼성전자주식회사 | 광 정보저장매체, 및 그 데이터 기록장치 |
| KR100739669B1 (ko) * | 2001-04-20 | 2007-07-13 | 삼성전자주식회사 | 광 정보저장 매체, 데이터 기록장치 및 데이터 기록방법 |
| US7159165B2 (en) * | 2001-04-20 | 2007-01-02 | Samsung Electronics Co., Ltd. | Optical recording medium, data recording or reproducing apparatus and data recording or reproducing method used by the data recording or reproducing apparatus |
| US6981198B2 (en) * | 2001-04-26 | 2005-12-27 | Storage Technology Corporation | Dynamic error correction code shortening |
| US6910174B2 (en) * | 2001-06-01 | 2005-06-21 | Dphi Acquisitions, Inc. | Error correction code block format |
| US7177658B2 (en) * | 2002-05-06 | 2007-02-13 | Qualcomm, Incorporated | Multi-media broadcast and multicast service (MBMS) in a wireless communications system |
| US7415658B2 (en) | 2003-09-10 | 2008-08-19 | Intel Corporation | Forward error correction mapping and de-mapping techniques |
| US7389468B2 (en) * | 2004-09-20 | 2008-06-17 | International Business Machines Corporation | Writing and reading of data in probe-based data storage devices |
| US20050180332A1 (en) * | 2004-02-13 | 2005-08-18 | Broadcom Corporation | Low latency interleaving and deinterleaving |
| JP2006004560A (ja) * | 2004-06-18 | 2006-01-05 | Elpida Memory Inc | 半導体記憶装置及びその誤り訂正方法 |
| US7395488B2 (en) * | 2004-12-29 | 2008-07-01 | Zoran Corporation | System and method for efficient use of memory device bandwidth |
| TWI282087B (en) * | 2005-11-24 | 2007-06-01 | Realtek Semiconductor Corp | Decoding device in optical disc drive and related decoding method thereof |
| JP2008204544A (ja) * | 2007-02-20 | 2008-09-04 | Fujitsu Ltd | 誤り訂正装置及びデータ読み出し装置 |
| US8196004B1 (en) * | 2007-03-27 | 2012-06-05 | Marvell International Ltd. | Fast erasure decoding for product code columns |
| US20100169742A1 (en) * | 2008-12-29 | 2010-07-01 | Texas Instruments Incorporated | Flash memory soft error recovery |
| US9252815B2 (en) * | 2013-12-16 | 2016-02-02 | International Business Machines Corporation | Extension of product codes with applications to tape and parallel channels |
| KR102333140B1 (ko) | 2017-08-18 | 2021-12-02 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
| KR20190030923A (ko) | 2017-09-15 | 2019-03-25 | 에스케이하이닉스 주식회사 | 에러 정정 회로, 그것의 동작 방법 및 그것을 포함하는 데이터 저장 장치 |
| US11538546B2 (en) * | 2019-12-16 | 2022-12-27 | Micron Technology, Inc. | Data compression for global column repair |
| KR20250049892A (ko) | 2023-10-05 | 2025-04-14 | 에스케이하이닉스 주식회사 | 에러체크스크럽동작을 수행하는 반도체시스템 |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US34100A (en) * | 1862-01-07 | Improved step-ladder | ||
| US4769818A (en) * | 1984-05-30 | 1988-09-06 | Canadian Patents And Development Limited-Societe Canadienne Des Brevets Et D'exploitation Limitee | Method and apparatus for coding digital data to permit correction of one or two incorrect data packets (bytes) |
| USRE34100E (en) | 1987-01-12 | 1992-10-13 | Seagate Technology, Inc. | Data error correction system |
| JP2605271B2 (ja) * | 1987-02-10 | 1997-04-30 | ソニー株式会社 | エラー訂正及びチエツク装置 |
| US5068855A (en) * | 1988-07-18 | 1991-11-26 | Canon Kabushiki Kaisha | Error correcting method and apparatus |
| JP2554743B2 (ja) * | 1989-05-19 | 1996-11-13 | シャープ株式会社 | 再生のための誤り訂正装置 |
| EP0523969B1 (en) * | 1991-07-18 | 1997-12-29 | Canon Kabushiki Kaisha | Error correction encoding and decoding system |
| WO1993004432A2 (en) * | 1991-08-16 | 1993-03-04 | Multichip Technology | High-performance dynamic memory system |
| JP3154607B2 (ja) * | 1993-12-28 | 2001-04-09 | 三菱電機株式会社 | 誤り訂正復号装置及び誤り訂正復号方法 |
| JPH07262031A (ja) * | 1994-03-17 | 1995-10-13 | Toshiba Corp | 誤り訂正符号化装置および誤り訂正符号化方法 |
| JPH08204583A (ja) * | 1995-01-20 | 1996-08-09 | Sanyo Electric Co Ltd | ディジタル信号の処理方法および処理装置 |
-
1997
- 1997-06-06 JP JP14951497A patent/JP3863252B2/ja not_active Expired - Lifetime
- 1997-09-15 US US08/929,063 patent/US6158038A/en not_active Expired - Lifetime
- 1997-11-14 KR KR1019970059951A patent/KR100415136B1/ko not_active Expired - Fee Related
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100598300B1 (ko) * | 2000-02-14 | 2006-07-07 | 엘지전자 주식회사 | 차세대 고밀도 기록 매체를 위한 디지털 데이터의 오류정정 부호화 방법 |
| US8141057B2 (en) | 2001-02-16 | 2012-03-20 | Sony Corporation | Data processing apparatus and associated method |
| JP2002244925A (ja) * | 2001-02-19 | 2002-08-30 | Sony Corp | 半導体回路およびデータ処理方法 |
| KR100682243B1 (ko) | 2004-12-02 | 2007-02-15 | 주식회사 대우일렉트로닉스 | 3차원 리드-솔로몬 코드의 오류정정 방법 |
Also Published As
| Publication number | Publication date |
|---|---|
| US6158038A (en) | 2000-12-05 |
| JP3863252B2 (ja) | 2006-12-27 |
| KR100415136B1 (ko) | 2004-04-29 |
| KR19980042418A (ko) | 1998-08-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3863252B2 (ja) | 誤り訂正方法、誤り訂正装置、データ読み出し装置、及び、データマッピング方法 | |
| US6158040A (en) | Rotated data-aligmnent in wade embedded DRAM for page-mode column ECC in a DVD controller | |
| US6363511B1 (en) | Device and method for decoding data streams from storage media | |
| US6279135B1 (en) | On-the-fly row-syndrome generation for DVD controller ECC | |
| CN101473308A (zh) | 非易失性存储器纠错系统和方法 | |
| JPH11249920A (ja) | 符号語データを記憶するデータバッファを用いるeccシステムおよび誤りシンドロームを記憶するシンドロームバッファ | |
| JPS63197123A (ja) | エラ−訂正及びチエツク装置 | |
| KR20010080966A (ko) | 에러 정정 및 검출용 신호 프로세서 | |
| US6061760A (en) | Controller circuit apparatus for CD-ROM drives | |
| JP2000165259A (ja) | データ復号処理装置および方法 | |
| US6687860B1 (en) | Data transfer device and data transfer method | |
| KR100738170B1 (ko) | 오류 정정 장치 | |
| JPH11112358A (ja) | データの誤り訂正方法及び誤り訂正装置 | |
| US7624330B2 (en) | Unified memory architecture for recording applications | |
| JP3272308B2 (ja) | 誤り訂正システム、誤り訂正方法および誤り訂正機能を有するデータ記憶システム | |
| JP2004206798A (ja) | 光ディスク装置のエンコードデータ符号回路 | |
| KR100509137B1 (ko) | 에러 정정 장치 | |
| US6697921B1 (en) | Signal processor providing an increased memory access rate | |
| KR20250107039A (ko) | 에러 정정 회로, 메모리 시스템 및 에러 정정 방법 | |
| US5761220A (en) | Minimum latency asynchronous data path controller in a digital recording system | |
| JP2605270B2 (ja) | エラー訂正及びチエツク装置 | |
| JP2000137651A (ja) | データ誤り訂正装置およびその方法 | |
| US20080201619A1 (en) | Error correcting device, error correcting method and disk system | |
| JP3609714B2 (ja) | 誤り訂正装置 | |
| JP3342422B2 (ja) | 誤り訂正方法およびその装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040604 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040604 |
|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20050830 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060623 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060704 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060707 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060904 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060926 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060928 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091006 Year of fee payment: 3 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091006 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101006 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101006 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111006 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111006 Year of fee payment: 5 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111006 Year of fee payment: 5 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111006 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121006 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121006 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131006 Year of fee payment: 7 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| EXPY | Cancellation because of completion of term |