CN1864223A - 错误码更正方法与装置 - Google Patents

错误码更正方法与装置 Download PDF

Info

Publication number
CN1864223A
CN1864223A CNA2004800293399A CN200480029339A CN1864223A CN 1864223 A CN1864223 A CN 1864223A CN A2004800293399 A CNA2004800293399 A CN A2004800293399A CN 200480029339 A CN200480029339 A CN 200480029339A CN 1864223 A CN1864223 A CN 1864223A
Authority
CN
China
Prior art keywords
error correction
decoding
error
decoding action
program
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
Application number
CNA2004800293399A
Other languages
English (en)
Other versions
CN100412979C (zh
Inventor
陈庆宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Via Technologies Inc filed Critical Via Technologies Inc
Publication of CN1864223A publication Critical patent/CN1864223A/zh
Application granted granted Critical
Publication of CN100412979C publication Critical patent/CN100412979C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1816Testing
    • G11B2020/183Testing wherein at least one additional attempt is made to read or write the data when a first attempt is unsuccessful
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • G11B2020/1836Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using a Reed Solomon [RS] code

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

本发明为一种应用于错误更正码的方法与装置,该方法包含有第一维第一解码动作、第一维第二解码动作、第二维第一解码动作以及第二维第二解码动作,其中该第一维第二解码动作的容错能力大于该第一维第一解码动作,该第二维第二解码动作的容错能力大于该第二维第一解码动作,而该错误更正方法包含下列步骤:读入一笔待解码数据;以及当连续对该笔待解码数据执行该第一维第一解码动作与该第二维第二解码动作后,尚未能将该笔待解码数据完成解码时,便依据预定流程控制规则来执行该错误更正解码程序中的某一解码动作;在没有进行修正动作时将未修改值加1并切换至另一解码动作;以及当该未修改值到达未修改极限值时,确定错误更正失败发生而停止该错误更正解码程序。

Description

错误码更正方法与装置
相关专利申请案
本发明根据2003年10月8日提出的美国临时专利申请案号60/509,732。
技术领域
本发明是有关于一种解码的流程控制方法以及错误控制装置,且特别是应用于光驱的错误码更正方法及装置,以进行解码流程控制及错误码更正。
背景技术
请参照图1,其所示为DVD(Digital Versatile Disc)光盘片的数据记录流程示意图。一般来说,DVD光盘片60可以记录各式的数字数据10,例如,影像数据(Video)、声音数据(Audio)、文件数据(Data)、或者其它种类的模拟(Analog)数据经过模拟/数字(A/D)转换后生成的数字数据。如图1所示,数字数据10都须经过数据压缩20、数据保密30、错误更正40、以及调制/解调50等步骤来对光盘片进行写入/读取动作。
再详细一点介绍,于记录数字数据10至DVD光盘片60时,数字数据10必须依序经过数据编码(Source Code Encoding)程序22、数据加密(DataEncryption)程序32、错误更正编码(Error Correction Encoding)程序42、以及调制(Modulation)程序52。其中,错误控制编码42程序多利用瑞德-所罗门乘积码(Reed-Solomon Product Code,以下简称RSPC)来进行编码。而调制程序52为进行八转十四调制(Eight-Fourteen Modulation,以下简称EFM)。
反之,当读取DVD光盘片60的内容时,DVD光盘片60的内容必须依序经过解调(Demodulation)程序54、错误更正解码(Error Correction Decoding)程序44、数据解密(Data Decryption)程序34、以及数据解码(Data Decoding)程序24。其中,解调程序54为进行EFM解调。而错误控制解码44程序为利用RSPC来进行解码。
请参照图2(a),其所示为DVD的信息区域(Information Field)示意图。一般来说,DVD的数据格式以区段(Sector)为单位,每一个区段有2064字节(Byte),而一个信息区域70有16个区段,因此,可以形成如图2(a)所示的172字节×192字节的信息区域70。
请参照图2(b),其所示为错误更正码(Error Correction Code,ECC)区块示意图。在执行错误更正编码程序42时,在信息区域60后增加外部校验码(Parity of Outer-Code,PO)区域80,其区域大小为172字节×16字节。接着,在信息区域70与外部校验码区域80旁插入内部校验码(Parity of Inner-Code,PI)区域90,其区域大小为10字节×208字节。因此,错误更正码区块100的大小为182字节×208字节,错误更正码区块100的数据经过EFM调制程序之后,即可记录于DVD光盘片60中。
同理,当读取DVD光盘片的数据时,首先必须经过解调程序,之后,即可于内存中依序填入182字节×208字节的数据以便执行错误更正解码程序。
在错误控制解码程序中,每一列的内部校验码(PI)可用来检测并更正同一列中特定数目字节的错误。举例来说,利用第零列内部校验码B0,172~B0,181可更正B0,0到B0,181间的N个字节错误;如果出现多于N个字节的错误时,就不能更正这些错误。在本例中,理论上运用消除(Erasure)算法时最多可更正10字节的错误,不运用消除算法则最多可更正5字节的错误。利用内部校验码(PI)来进行错误更正即称为内部校验码程序(PI Procedure)。
另外,可使用外部校验码(PO)检测并更正同一列中特定数目字节的错误。举例来说,利用第零行外部校验码B192,0~B207,0可同时校正B0,0到B207,0间的M个字节错误,如果B0,0到B207,0间出现多于M个字节的错误时,就不能更正这些错误。在本例中,理论上运用消除算法最多可更正16字节的错误,而不运用消除算法则最多可更正8字节的错误。而利用所有外部校验码(PO)来进行更正程序即称为外部校验码程序(PO Procedure)。
请参照图3,其所示为公知DVD光驱中的错误控制解码装置,其中包含有数据缓冲区306,用以存储由光盘片上读出的错误更正码区块;另外,在错误码控制解码器310中还包含有错误更正解码流程控制器312,用以控制整个错误更正解码流程;错误更正引擎314,可由多个解码模块所组成,并以一有限状态机器(finite state machine)的循环方式被选定执行,以达到运用不同解码算法进行信息解码的目的,一般至少包含一个PI程序与一个PO程序;以及错误检测引擎316,用以检查目标错误更正区块中的错误。其中该错误更正解码流程控制器312、错误更正引擎314、错误检测引擎316分别可能以逻辑电路实现,亦可能为编程于微处理器中执行的函式。另外,为说明本发明的原理,图中将存储介质(例如:光盘片、硬盘盘片等)与存储装置中其它控制单元统称为存储介质与控制单元304,存储介质与控制通过总线302与主机300交换数据。
当公知的解码动作开始时,存储介质与控制单元304首先会通过总线302将未解码的错误更正码区块传送至数据缓冲区306,成为“目标”错误更正码区块,接着错误更正解码流程控制器312便于初始化动作后,先于错误更正引擎中选定PI程序或者PO程序开始进行解码。假设选择PI程序,错误检测引擎判断数据区块是否通过错误控制并结束错误码控制解码程序;通过错误更正时,代表目标错误更正码区块内的数据有误且不能够以PI程序来完成。之后,错误更正解码流程控制器312判断重试值是否到达重试极限值,在重试值尚未达到重试极限值时,错误更正解码流程控制器将该重试值加1并且进行PO程序。
进行PO程序之后,错误检测引擎对目标错误更正码区块进行错误检测。当通过错误检测时,代表目标错误更正码区块内的数据都正确,也就是目标错误更正码区块的错误都已更正,错误码控制解码器即完成其任务;反之,当目标错误更正码区块未能通过错误检测时,代表目标错误更正码区块内的数据有误且不能够以PO程序来完成。之后,错误更正解码流程控制器312判断重试值是否到达重试极限值,在重试值尚未达到重试极限值时,错误更正解码流程控制器312将该重试值加1并且进行PI程序。当重试值达到重试极限值时,代表经过多次的PO程序以及PI程序都未能够完成错误更正,因此,错误更正解码流程控制器宣告错误更正失败(ECC Failure)。
请参照图4(a),其所示为公知错误更正解码程序中的失败(Failure)判断的流程示意图。在程序开始时先进行解码程序的初始化动作,接着错误更正解码流程控制器于错误更正解码程序中选定PI程序或者PO程序开始进行。如上所述,该错误更正解码程序至少包含一个PI程序与一个PO程序。假设进行PI程序102之后,判断错误更正码区块是否通过错误检测(ErrorDetection)104。当通过错误检测程序104时,代表信息区域内的数据都正确,也就是完成错误更正(Error Correction)114,因此,即可结束错误码控制解码程序;反之,当错误更正码区块未能通过错误检测时,代表有些错误不能够以PI程序进行更正。之后,判断重试值是否到达重试极限值106,在重试值尚未达到重试极限值时,将重试值加1并且进行PO程序108。
在进行PO程序108之后,判断错误更正码区块是否通过错误检测110。当通过错误检测110时,代表信息区域内的数据都正确,也就是通过错误更正114,因此,即可结束错误检测控制解码程序;反之,当错误更正码区块未能通过错误检测时,代表有些需错误不能够以PO程序来完成。之后,判断重试值是否达到重试极限值112,在达到重试极限值之前,在步骤113将重试值加1并且进行PI程序102;当重试值达到重试极限值时,而多次的PO程序以及PI程序都未能够完成错误控制解码程序,即代表错误更正失败116。
在上述错误控制解码程序中,错误更正失败的决定在于重试值是否达到重试极限值。在某些特定情况,例如在信息区域中有(N+1)字节×(M+1)字节这么多的数据是错误的,不论重试多少次错误更正的动作,都不可能完成错误控制解码程序。其目标错误更正码区块仅能够在步骤102、步骤104、步骤106、步骤107、步骤108、步骤110、步骤112、以及步骤113之间不断的重试,直到重试值达到重试极限值之后,才可确定错误更正失败116。因此,若是必须等到重试值达到重试极限值时才能够确定错误更正失败,这个机制会因为执行过多的PO程序与PI程序而浪费系统资源。
另外,由于运用消除算法有较大的容错能力,请参照图4(b),其说明判断错误更正失败的另一已知程序。其与图4(a)的最大不同处在于PO程序与PI程序都各具有两种不同的算法,范例中包含:
(1)、进行消除算法的PO程序401;
(2)、进行消除算法的PI程序402;
(3)、不进行消除算法的PI程序403;以及
(4)、不进行消除算法的PO程序404。
产生解码失败(Decode Failure)时,便根据所产生的解码失败行/列数YNUM来进行判断,而在0<YNUM<=ERA_max(在PI程序中ERA_max为10,在PO程序中ERA_max为16)的条件下,判断此状况适用于进行另外一维度的消除算法,在本例中,当PI程序404得到解码失败,进行位置标示后再跳到(1)、进行消除算法的PO程序401中进行处理。反之,当所产生的解码失败行/列数YNUM大于ERA_max(在PI程序中ERA_max为10,在PO程序中ERA_max为16)时,便判断此状况适用于进行另外一维度的解码程序但不进行消除算法,在本例中即是跳到(3)、不进行消除算法的PI程序403中进行处理。
然而,当连续利用(4)、不进行消除算法的PO程序404与(1)、进行消除算法的PO程序401进行处理都无法有效解出所有的数据时,再次检测YNUM与ERA_max的关系,当0<YNUM<=ERA_max,进入(2)、进行消除算法的PI程序402;反之,如果YNUM>ERA_max,则进入(4)、不进行消除算法的PO程序404。另外,当连续利用(3)、不进行消除算法的PI程序403以及(2)、进行消除算法的PI程序402进行处理后,都无法有效解码所有的数据时,再次比较YNUM与ERA_max的关系,当0<YNUM<=ERA_max时,进入(1)、进行消除算法的PO程序401;当YNUM>ERA_max时,进入(3)、不进行消除算法的PI程序403。
当错误更正码区块在经过相当程序后通过错误检测时,代表目标错误更正码区块内的数据都正确,也就是完成错误更正,这表示错误控制解码程序已完成,将执行后续程序,但在本图中未予以示出。上述流程控制的不足在于可能遗漏部分可能的成功解出所有的数据的机会。请参见图5,其为在一个错误更正码区块中具有解码失败(Decode Failure)字节的分布示例图,其中*代表一个解码失败字节。将此错误更正码区块送入图4(b)所示的判断流程时,假设先进行(4)、不进行消除算法的PO程序404,当产生在某一列上产生有数量大于5但小于10的解码失败字节,引入YNUM以决定下一步将进行哪一程序,在本例中YNUM=8,所以0<YNUM<=ERA_max(在PI程序中ERA_max为10,在PO程序中ERA_max为16),判断此状况适用于进行另外一维度的进行消除算法,在本例中即是在PI程序404中所得到的解码失败字节进行位置标示后再跳到(1)、进行消除算法的PO程序401中进行处理。但是,当解码失败列数已相当接近上限,而且数据中还具有一些无法检测出的解码错误,最后仍然会产生无法完全成功解码的情况发生。但此机制并不会将适当的进行消除算法的PI程序404导入解码流程,将造成流程进入反复执行但无效的解码程序,本发明的目的即在改善公知手段的上述不足。
发明内容
因此,本发明的目的为提出一种错误更正方法及装置,用于检测并更正自存储介质读出的错误更正码区块内的错误,所称错误更正码区块包含内部校验码区块及外部校验码区块,存储介质可以是DVD光盘片或CD-RW光盘片等等。
本发明的第一方面为一种解码方法,当第一维错误更正解码动作或第二维错误更正解码动作内的重试值小于第一边限值,则反复执行该第一维错误更正解码动作以及该第二维错误更正解码动作,否则即视为错误更正失败。如果该第一维解码动作或该第二维解码动作的未修改值小于第二边限值,则反复执行该第一维错误更正解码动作以及该第二维错误更正解码动作,否则即视为错误更正失败。
该第一维错误更正解码动作可包含PI解码动作,而该第二维错误更正解码动作可包含PO解码动作,该第一维错误更正解码动作及该第二维错误更正解码动作还包含随机错误程序(Random Error Process)。
该错误更正方法还包含下列步骤:当检测到解码错误或自存储介质读出的未修正错误,则在PO解码动作之后,进入一进行消除算法的附属PO解码动作。
该错误更正方法还包含下列步骤:当检测到解码错误或自存储介质读出的未修正错误,则在PI解码动作之后,进入一进行消除算法的附属PI解码动作。
附图说明
本发明通过下列附图,得到较佳说明:
图1所示为DVD光盘片的数据记录流程示意图。
图2(a)所示为信息区域示意图。
图2(b)所示为错误更正码区块示意图。
图3所示为公知错误更正解码装置的方块图。
图4(a)、(b)所示为公知手段对于解码失败的判断流程图。
图5为在一个错误更正码区块中具有解码失败字节的分布示例图。
图6所示为本发明错误控制解码装置的方块图。
图7(a)、(b)所示为本发明对于解码失败判断的优选实施例方法的流程示意图。
图8所示为本发明对于解码失败判断的另一优选实施例方法的流程示意图。
图9所示为具有16处错误的错误更正码区块示意图。
图10所示为说明正确解码及不正确解码的范例示意图。
图11所示为本发明执行错误更正程序的另一优选实施例方法的流程示意图。
具体实施方式
本发明可通过下列实施例得到较详细的说明,但是下列有关本发明优选实施例的叙述仅作为说明之用,而非用来限制本发明的公开范围。
请参照图6,其所示为本发明于存储装置中所发展出来的错误控制解码装置。其中包含有数据缓冲区406,用以暂时存储由光盘片上读出的错误更正码区块,以供后续解码之用;另外,在错误控制解码器410中还包含有错误更正解码流程控制器412,用以控制整个错误控制解码流程;错误更正引擎414,可由多个执行不同解码程序的模块所组成并以一有限状态机器(finitestate machine)的循环方式被选定执行,以达到对运用混合编码方法产生的编码进行解码的目的,另外,错误更正引擎414至少包含一个PI程序与一个PO程序,本发明于下列实施例的说明,即是以错误更正引擎414至少包含一个PI程序与一个PO程序为例,以说明本发明的原理,但是本发明的错误更正引擎当然不只限于包含一个PI程序与一个PO程序。错误控制解码装置还包含错误控制解码流程控制器、错误更正引擎414、错误检测引擎416分别可能以逻辑电路实现,亦可能为编程于微处理器中执行的函式。另外,为说明本发明的原理,图中将存储介质(例如:光盘片、硬盘盘片等)与存储装置中其它控制单元统称为存储介质与控制单元404,存储介质与控制通过总线402与主机400交换数据。而本发明除了于错误更正解码流程控制器412中判断重试值之外,还增加了状态记忆单元418以记录错误更正引擎414与错误检测引擎416的执行状态与结果,增加该状态记忆单元418可加速判断错误更正失败。在一实施例中,该状态记忆单元418的功能是用于存储一“未修改值”。
当解码动作开始时,首先会通过总线402将未解码的错误更正码区块由存储介质与控制单元404传送至数据缓冲区406,成为“目标”错误更正码区块,接着错误更正解码流程控制器412便于初始化动作后,先于错误更正引擎中选定PI程序或者PO程序开始进行解码,此时错误更正解码流程控制器412会将此错误更正引擎414初始执行状态记录于状态记忆单元418中,在本发明所说明的实施例中,此动作表示将未修改值重设为0。
完成PI程序之后,错误检测引擎416判断数据区块是否通过错误检测并结束错误码控制解码流程。当通过错误检测时,代表目标错误更正码区块内的数据都已更正完成,也就是完成错误码控制解码程序;反之,当未能通过错误检测引擎416执行的错误检测时,代表有些错误不能够以PI程序来进行更正。之后,错误更正解码流程控制器412记录此结果于状态记忆单元418中,在本发明所说明的实施例中,此动作为判断是否有对该目标错误更正码区块进行变更,若有,则将该未修改值加1。此外,错误控制解码流程控制器412判断重试值是否到达重试极限值,在重试值尚未达到重试极限值时,错误控制解码流程控制器412将该重试值加1并且进行PO程序。
进行PO程序之后,通过错误检测引擎416判断错误更正码区块是否通过错误检测。当通过错误检测时,代表目标错误更正码区块内的数据都正确,这表示目标错误更正码区块的所有错误都已更正,错误码控制解码器已完成其任务;反之,当目标错误更正码区块未能通过错误检测时,代表区块内的数据有误且不能够以PO程序来完成。之后,错误更正解码流程控制器412记录此结果于状态记忆单元418,在本发明所说明的实施例中,此动作为判断是否有对该目标错误更正码区块进行变更,若有,则将该未修改值加1。此外,错误更正解码流程控制器判断重试值是否到达重试极限值,在重试值尚未达到重试极限值时,错误更正解码流程控制器412将该重试值加1并且进行PI程序。当该重试值达到重试极限值时,代表经过多次的PO程序以及PI程序都未能够完全更正错误,因此,错误更正解码流程控制器宣告错误更正失败。
本发明所提出的第一方面强调错误更正解码流程控制器412除了持续监控该重试值外,还监控该状态记忆单元418的状况,以加速判断错误更正失败。当错误更正解码流程控制器412依据该状态记忆单元的记录发现,若错误更正引擎414已连续执行经过一次PO程序与PI程序的循环,且未能对目标错误更正码区块做出任何变更时,错误更正解码流程控制器412即可快速宣告错误更正失败,在本发明所说明的实施例中,错误更正解码流程控制器412的判断是根据该未修改值是否达到预先设定的未修改极限值,该未修改极限值反应出错误更正引擎414执行一次循环的错误更正的次数而定,例如该错误更正引擎414仅有PI程序或PO程序两种执行状态,则可以将该未修改极限值设为2,此时若未修改值达到2,则代表错误更正引擎已连续执行经过一次循环,且未能对目标错误更正码区块做出任何变更。
请参照图7,其所示为本发明错误更正程序中的失败判断的执行方法,其为能改善图4(a)所示的公知手段不足所发展出来的执行方法。本发明除了重试值之外,另外增加了未修改值,以加速判断错误更正失败。
在图7的程序开始时,可先选定PI程序或者PO程序其中之一作为第一步骤,如前所述,该错误更正解码程序至少包含一个PI程序与一个PO程序(亦可细分为进行消除算法的PI程序、PO程序、进行消除算法的PO程序、以及PO程序等四种程序),本发明中将以仅包含一个PI程序与一个PO程序为例以简化说明,但不应以此为限。假设进行PI程序202之后,步骤204判断是否通过错误检测。当通过错误检测204时,代表信息区域(错误更正码区块)内的数据都正确,也就是通过错误更正230,因此,即可结束错误更正解码程序;反之,当未能通过错误检测204时,代表信息区域(错误更正码区块)内的数据至少有一错误且不能够以PI程序来更正。之后,判断重试值是否到达重试极限值或者未修改值达到未修改极限值206,答案是否定时,在步骤208将重试值加1。
步骤210即为判断在PI程序中是否有任何的更正动作。所谓的“更正”动作指在内存中的错误更正码区块至少有一字节有读取之后修改(ReadModify Write)的动作发生。当此步骤210判断至少进行过一次更正动作,则在步骤214中将未修改值设为0;反之,当此步骤210判断没有进行过任何更正动作,则在步骤208中将未修改值加1。
在进行PO程序216之后,步骤218判断是否通过错误检测。当通过错误检测218时,代表信息区域(错误更正码区块)内的数据都正确,也就是通过错误更正230,因此,即可结束错误更正解码程序;反之,当未能通过错误检测218时,代表信息区域(错误更正码区块)内的数据有误且不能够以PO程序来完成。之后,步骤220判断重试值是否到达重试极限值或者未修改值达到未修改极限值。如果判断结果是否定的,在步骤222将重试值加1。反之,如果判断结果是肯定的,即可确定错误更正失败232。
步骤224即为判断在PO程序中是否有任何的更正动作。所谓的“更正”动作指在内存中的错误更正码区块至少有一字节有读取之后修改的动作发生。当步骤224判断至少进行过一次更正动作,则在步骤228中将未修改值设为0;反之,当此步骤224判断没有进行过任何更正动作,则在步骤226中将未修改值加1。接着进行PO程序202。
由于本发明另外增加了未修改值来作为加速错误更正解码程序中的错误更正失败判断。因此当信息区域(错误更正码区块)中有(N+1)字节×(M+1)字节的数据错误时,不论PO程序或者PI程序都不会有任何的更正动作发生。因此,未修改值会持续增加。亦即,我们可以快速判断出错误更正失败。例如,我们可以设定未修改极限值为2,当PI程序以及PO程序各执行一次之后都未有任一字节被修正,即可确定错误更正解码程序的状态为错误更正失败。如此,可以加速错误更正解码速度,以防止公知手段必须不断地执行重试PO程序及PI程序以期成功解码,而造成系统资源的浪费。
另外,为能改善图4(b)所示的公知手段不足,本发明亦发展出如图8所示的错误更正流程控制方法的优选实施例。
在此例中,共有四种错误更正码解码程序,如下所列:
1、步骤801 进行消除算法的PO程序;
2、步骤802 进行消除算法的PI程序;
3、步骤803 PO程序;以及
4、步骤804 PI程序。
在图8的程序流程开始时,可根据事先定义规则,先选定PO程序804或者PI程序803作为第一步骤。
假设选择PI程序804作为本发明的第一步骤,在无法成功解码及更正错误更正码区块的所有错误,因而产生解码错误时,便根据所产生的解码失败行/列数YNUM来进行路径选择判断,进而判断此状况是适用于进行那一种类的PO程序。
在本例中,路径选择判断可于下列条件中择一进行判断:
条件1:
状态一:0<YNUM<=ERA_max(在PI程序中ERA_max为10,在PO程序中ERA_max为16)
状态二:YNUM>ERA_max
条件2:
状态一:0<YNUM<=(ERA_max)-1(在PI程序中ERA_max为10,在PO程序中ERA_max为16)
状态二:YNUM>(ERA_max)-1
条件3:
状态一:1<YNUM<=ERA_max(在PI程序中ERA_max为10,在PO程序中ERA_max为16)
状态二:YNUM>ERA_max-1或YNUM=1
条件4:
状态一:1<YNUM<=(ERA_max)-1(在PI程序中ERA_max为10,在PO程序中ERA_max为16)
状态二:YNUM>(ERA_max)-1或YNUM=1
其中将YNUM的上界与ERA_max的下界进行调整,其目的为针对各种不同的光盘品质进行适当的修正,进而增加容错能力。
如图4(b)所示,当进行完PI程序404后所得到的解码失败行/列数YNUM对应状态一,我们可在PI程序404中所得到的解码失败进行位置标示后,再跳到步骤401的(1)、进行消除算法的PO程序中进行处理;反之,当执行完PI程序404所产生的解码失败行/列数YNUM对应状态二时,便判断此状况适用于进行另外一维度的解码程序但不进行消除算法,在本例中即是跳到步骤403的(3)、不进行消除算法的PO程序中进行处理。
本发明的特征如下:
(A)如果当连续利用(4)、PI程序404与(1)、进行消除算法的PO程序401进行处理都无法有效解出所有的数据时,本发明无条件地进入步骤403的(3)、PO程序。
(B)如果当连续利用(3)、PI程序404以及(2)、进行消除算法的PI程序402进行处理后都无法有效解出所有的数据时,本发明无条件地进入步骤404的(4)、PI程序。
如此一来,即使光盘片有如图5所示的解码失败位分布状态,虽然连续利用(4)、PO程序404与(1)、进行消除算法的PO程序401进行处理都无法有效解出所有的数据,但是利用(3)、PI程序403来进行解码却可顺利解出(因为每一行的解码失败位都不超过8)。
因此,本发明的另一优点为可改变路径选择判断的条件,而且可解码部份公知手段无法成功解码的损坏DVD光盘片。当然,本发明增加的未修改值可加速错误更正失败的判断流程,依据的方法亦可同时运用于图4(b)与图8所示的错误控制解码程序中的失败判断的方法流程示意图。本发明的技术手段可沿用至任何关于以瑞德-所罗门乘积码(Reed-Solomon Product Code,RSPC)来进行编解码的相关应用中。
图9所示为从存储介质中读出的解码错误范例,如图9所示,我们假设汉明距离(Hamming distance)dmin等于16,有十五个消除错误及一个解码错误。图10显示一个正确解码及两个错误解码,其中点a是可检测错误,点B是不可检测错误,而点C是更正解码,我们可于式(1)成立下更正图9的错误。
2×v+f<dmin          式(1)
其中,v是随机错误数目而f是消除错误数目。
根据式(1),2×1+15=17>16=dmin,这表示无解,除了使用进行消除运算的PO程序或者进行消除运算的PI程序,如果存在有解码错误,根据图8,我们可更正如图9所示的十六个错误,这表示有两种可能的程序,如图11所示:
(1)、PI优先
(i)1104 PIR  1101 POE(状态一)1103 POR等等
(ii)1104 PIR 1103 POR(状态二)等等
(2)、PO优先
(i)1103 POR  1102 PIE(状态一)1104 PIR等等
(ii)1103 POR 1104 PIR(状态二)等等
其中,POE为进行消除运算的PO程序(PO and mark erasure),PIE为进行消除运算的PI程序(PI and mark erasure),POR为具有随机错误程序的PO程序(PO processing with random error processing),PIR为具有随机错误程序的PI程序(PI processing with random error processing)。
这样我们会看到两个连续的PO程序或两个连续的PI程序。
通过上述说明,本发明可改善错误更正解码率,此外,当产生解码错误的损坏DVD光盘片不能以公知方法进行解码,我们可通过两个连续的PI或PO程序及交替开启消除功能的方式,可望更正损坏DVD光盘片的解码错误。
综上所述,虽然本发明已以优选实例公开于上,然其并非用以限制本发明,任何本领域的技术人员,在不脱离本发明的精神和范围内,当可做各种的更动与润饰,例如图2(a)、(b)所显示的乘积码通常用于DVD光盘片,但是本发明也适用于其它的乘积码格式,包含CD光盘片的格式,另外,本发明也可应用至其它多维码,而不仅是乘积码,因此本发明的特定实施例仅用于说明而非限制本发明范围,保护范围当视后附的权利要求所界定者为准。

Claims (16)

1.一种错误更正方法,应用于检测并更正自存储介质读出的错误更正码区块内的错误,该错误更正码区块包含内部校验码区块及外部校验码区块,该方法包含:
当第一维错误更正解码动作及第二维错误更正解码动作之一的重试值小于第一边限值,则反复执行该第一维错误更正解码动作及该第二维错误更正解码动作,否则视为错误更正失败,跳出该错误更正方法;以及
当该第一维错误更正解码动作及该第二维错误更正解码动作之一的未修改值小于第二边限值,则反复执行该第一维错误更正解码动作及该第二维错误更正解码动作,否则视为错误更正失败,跳出该错误更正方法。
2.如权利要求1所述的错误更正方法,其中该第一维错误更正解码动作包含内部校验码解码动作,该第二维错误更正解码动作包含外部校验码解码动作。
3.如权利要求2所述的错误更正方法,其中该第一维错误更正解码动作还包含随机错误程序。
4.如权利要求2所述的错误更正方法,其中该第二维错误更正解码动作还包含随机错误程序。
5.如权利要求2所述的错误更正方法,其中该错误更正方法还包含步骤:当检测到解码错误或自该存储介质读出的未修正错误,则在该外部校验码解码动作之后,进入一进行消除算法的附属外部校验码解码动作。
6.如权利要求2所述的错误更正方法,其中该错误更正方法还包含步骤:当检测到解码错误或自该存储介质读出的未修正错误,则在该内部校验码解码动作之后,进入一进行消除算法的附属内部校验码解码动作。
7.如权利要求2所述的错误更正方法,其中该内部校验码解码动作采用瑞德-所罗门乘积码解码方法或交叉插入瑞德-所罗门乘积码解码方法。
8.如权利要求2所述的错误更正方法,其中该外部校验码解码动作采用瑞德-所罗门乘积码解码方法或交叉插入瑞德-所罗门乘积码解码方法。
9.一种错误更正装置,应用于检测并更正自存储介质读出的错误更正码区块内的错误,该错误更正码区块包含内部校验码区块及外部校验码区块,该方法包含:
一反复执行第一维错误更正解码动作及第二维错误更正解码动作的装置,用于当该第一维错误更正解码动作及该第二维错误更正解码动作之一的重试值小于第一边限值时,反复执行该第一维错误更正解码动作及该第二维错误更正解码动作,否则视为错误更正失败,跳出该错误更正方法;以及
另一反复执行该第一维错误更正解码动作及该第二维错误更正解码动作的装置,用于当该第一维错误更正解码动作及该第二维错误更正解码动作之一的未修改值小于第二边限值,反复执行该第一维错误更正解码动作及该第二维错误更正解码动作,否则视为错误更正失败,跳出该错误更正方法。
10.如权利要求9所述的错误更正装置,其中该反复执行该第一维错误更正解码动作及该第二维错误更正解码动作的装置包含内部校验码解码器及外部校验码解码器。
11.如权利要求10所述的错误更正装置,其中该内部校验码解码器还包括随机错误程序执行电路。
12.如权利要求10所述的错误更正装置,其中该外部校验码解码器还包括随机错误程序执行电路。
13.如权利要求10所述的错误更正装置,其中该错误更正装置还包含进行消除算法的附属外部校验码解码动作的执行电路,用于当检测到解码错误或自该存储介质读出的未修正错误,则在该外部校验码解码动作之后,进入一进行消除算法的附属外部校验码解码动作。
14.如权利要求10所述的错误更正装置,其中该错误更正装置还包含进行消除算法的附属内部校验码解码动作的执行电路,用于当检测到解码错误或自该存储介质读出的未修正错误,则在该内部校验码解码动作之后,进入一进行消除算法的附属内部校验码解码动作。
15.如权利要求10所述的错误更正装置,其中该内部校验码解码器为瑞德-所罗门乘积码解码器或交叉插入瑞德-所罗门乘积码解码器。
16.如权利要求10所述的错误更正装置,其中该外部校验码解码器为瑞德-所罗门乘积码解码器或交叉插入瑞德-所罗门乘积码解码器。
CNB2004800293399A 2003-10-08 2004-10-08 错误码更正方法与装置 Expired - Fee Related CN100412979C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US50973203P 2003-10-08 2003-10-08
US60/509,732 2003-10-08

Publications (2)

Publication Number Publication Date
CN1864223A true CN1864223A (zh) 2006-11-15
CN100412979C CN100412979C (zh) 2008-08-20

Family

ID=34421816

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800293399A Expired - Fee Related CN100412979C (zh) 2003-10-08 2004-10-08 错误码更正方法与装置

Country Status (6)

Country Link
US (2) US7356753B2 (zh)
CN (1) CN100412979C (zh)
BR (1) BRPI0415326A (zh)
RU (1) RU2318294C1 (zh)
TW (1) TWI251738B (zh)
WO (1) WO2005034123A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7426682B2 (en) * 2003-03-11 2008-09-16 Via Technologies, Inc. Method of generating error detection codes
TWI251738B (en) * 2003-10-08 2006-03-21 Via Tech Inc Method and apparatus for error code correction
KR100604909B1 (ko) * 2004-10-11 2006-07-28 삼성전자주식회사 가변적인 반복 에러 정정 횟수를 갖는 디지털 신호 처리방법
US7450425B2 (en) 2006-08-30 2008-11-11 Micron Technology, Inc. Non-volatile memory cell read failure reduction
US8006172B2 (en) * 2007-07-10 2011-08-23 Oracle America, Inc. Auxiliary path iterative decoding
US8230316B2 (en) 2008-01-25 2012-07-24 Nevion Usa, Inc. Forward error correction for burst and random packet loss for real-time multi-media communication
US8171377B2 (en) * 2008-01-31 2012-05-01 International Business Machines Corporation System to improve memory reliability and associated methods
JP5309889B2 (ja) * 2008-10-27 2013-10-09 ソニー株式会社 データ処理装置および方法、並びにプログラム
US8922923B2 (en) 2011-03-01 2014-12-30 Seagate Technology Llc Interleaved automatic gain control for asymmetric data signals
US9015549B2 (en) * 2011-04-26 2015-04-21 Seagate Technology Llc Iterating inner and outer codes for data recovery
KR101991437B1 (ko) * 2012-08-30 2019-06-20 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그의 동작방법
US9970155B2 (en) 2013-03-05 2018-05-15 Nike, Inc. Acid dyeing of polyurethane materials
DE102013219088B9 (de) * 2013-09-23 2018-07-19 Infineon Technologies Ag Schaltungsanordnung und Verfahren zur Realisierung von Prüfbitkompaktierung für Cross-Parity-Codes
US9559725B1 (en) * 2013-10-23 2017-01-31 Seagate Technology Llc Multi-strength reed-solomon outer code protection
US9396062B1 (en) 2014-04-04 2016-07-19 Seagate Technology Llc Group based codes for multi-dimensional recording (MDR)
US9584162B1 (en) * 2016-01-05 2017-02-28 International Business Machines Corporation Microcode data recovery strategies for use of iterative decode
US10382065B1 (en) * 2016-11-07 2019-08-13 Seagate Technology Llc Iterative outer code recovery using data from multiple reads
RU210631U1 (ru) * 2021-02-25 2022-04-22 федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет" Модифицированное устройство коррекции ошибок с расширенным набором решающих правил и учетом адаптивного сигнала стирания

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4216540A (en) 1978-11-09 1980-08-05 Control Data Corporation Programmable polynomial generator
US5003539A (en) 1986-04-11 1991-03-26 Ampex Corporation Apparatus and method for encoding and decoding attribute data into error checking symbols of main data
JP2885263B2 (ja) 1993-09-30 1999-04-19 日本ビクター株式会社 符号生成方法
JP3373690B2 (ja) 1994-09-07 2003-02-04 株式会社東芝 ディスク状記録媒体及びディスク装置
JP3339044B2 (ja) 1995-06-28 2002-10-28 日本ビクター株式会社 ディジタル信号記録方法、記録再生方法、記録装置、記録再生装置及び記録媒体
US5745508A (en) 1995-11-13 1998-04-28 Tricord Systems, Inc. Error-detection code
JPH09265730A (ja) 1996-03-27 1997-10-07 Sony Corp データ再生装置、再生方法
US6170073B1 (en) 1996-03-29 2001-01-02 Nokia Mobile Phones (Uk) Limited Method and apparatus for error detection in digital communications
JP3586041B2 (ja) 1996-04-26 2004-11-10 株式会社東芝 記録データ生成方法およびデータ再生装置
US5935268A (en) 1997-06-03 1999-08-10 Bay Networks, Inc. Method and apparatus for generating an error detection code for a modified data packet derived from an original data packet
US5991911A (en) * 1997-11-14 1999-11-23 Cirrus Logic, Inc. Concurrent generation of ECC error syndromes and CRC validation syndromes in a DVD storage device
US6662335B1 (en) 2000-01-25 2003-12-09 Mediatek Inc. Method and apparatus for accessing DVD data
JP2001291344A (ja) * 2000-04-04 2001-10-19 Hitachi Ltd 光ディスク装置およびそのデータ再生方法
US6738943B1 (en) * 2000-05-03 2004-05-18 Zoran Corp. Apparatus and method for counting errors in an optical compact disc storage system
US20010042230A1 (en) 2000-05-10 2001-11-15 Seagate Technology Llc Sector validation for use in ECC engine validation
CN1140901C (zh) 2000-11-21 2004-03-03 扬智科技股份有限公司 软盘的解码系统及其方法
WO2003049308A1 (en) 2001-12-05 2003-06-12 Lg Electronics Inc. Error detection code generating method and error detection code generator
JP4202658B2 (ja) 2002-02-22 2008-12-24 富士通マイクロエレクトロニクス株式会社 データ書き込み装置及びdvdフォーマットデータ生成方法
TWI227869B (en) 2002-11-04 2005-02-11 Mediatek Inc Data coding method and system
JP2003346432A (ja) 2002-05-22 2003-12-05 Internatl Business Mach Corp <Ibm> データ記憶装置およびデータ処理方法
KR100891782B1 (ko) * 2002-06-11 2009-04-07 삼성전자주식회사 고속 데이터 전송 시스템에서 순방향 오류 정정 장치 및방법
US7055082B2 (en) 2002-10-29 2006-05-30 Victor Company Of Japan, Ltd. Information recording and reproducing apparatus
TWI251738B (en) 2003-10-08 2006-03-21 Via Tech Inc Method and apparatus for error code correction

Also Published As

Publication number Publication date
TW200521664A (en) 2005-07-01
RU2318294C1 (ru) 2008-02-27
US20050081132A1 (en) 2005-04-14
US20080229173A1 (en) 2008-09-18
US7356753B2 (en) 2008-04-08
US7730379B2 (en) 2010-06-01
BRPI0415326A (pt) 2006-12-05
WO2005034123A1 (en) 2005-04-14
TWI251738B (en) 2006-03-21
CN100412979C (zh) 2008-08-20

Similar Documents

Publication Publication Date Title
CN1864223A (zh) 错误码更正方法与装置
CN1134782C (zh) 纠错方法和系统
CN1273982C (zh) 光盘复制保护的方法
CN1254819C (zh) 光盘缺陷的管理方法和光盘装置
CN101064162A (zh) 纠错装置、编码器、解码器、方法以及信息存储装置
CN1909092A (zh) 信息记录的方法和装置
CN101067968A (zh) 一种自适应控制闪存接口读写速度的装置和方法
CN1756089A (zh) 多重字符信息的译码方法与装置
CN1169141C (zh) 数字数据记录再现方法及其装置
CN1779838A (zh) 执行可变数量的纠错重复的数字信号处理方法和装置
CN1670853A (zh) 编码装置
CN1229723C (zh) 含代码字的数字光媒体和它的生成方法
CN1933001A (zh) 信息记录再现装置及其数据再现方法,以及其光盘
CN1105387C (zh) 再生装置以及记录再生装置
CN1338744A (zh) 版权保护方法、再现方法、再现装置,记录方法和记录装置
CN1542813A (zh) 检查码产生方法、写入数据产生方法及重复数据写入方法
CN1806247A (zh) 对复制保护光盘的复制
CN1311640C (zh) 在解码交错rs码过程中使用的纠错方法与纠错装置
CN1293562C (zh) 数据读取装置与方法
CN1167222C (zh) 光学海量存储装置与电脑主机间数据传输纠错及检错方法
CN100340066C (zh) 垂直混编方法及垂直取得目标混编字节方法
CN1885423A (zh) 信息处理装置和方法、以及计算机程序
CN1667711A (zh) 光盘装置及光盘
CN1577551A (zh) 光碟装置
CN1655126A (zh) 磁盘容错系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: YUTIAN STOCK CO., LTD.

Free format text: FORMER OWNER: WEISHENG ELECTRONICS CO., LTD.

Effective date: 20080125

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20080125

Address after: Delaware

Applicant after: VIA Tech Inc.

Address before: Taiwan County, Taipei, China

Applicant before: Weisheng Electronic Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080820

Termination date: 20131008