错误检测码产生方法和对多个区段产生错误检测码的方法技术

技术编号:3063264 阅读:233 留言:0更新日期:2012-04-11 18:40
一种错误检测码产生方法。首先当由主机读取主要数据时,根据一取代数据以及主数据而产生第一错误检测码。接下来,当写入数据区段时产生主数据的区块数据讯息,并根据此一区块数据讯息以及此时主数据用另一取代数据而产生第二错误检测码。最后,对第一错误检测码与第二错误检测码执行逻辑运算以得到最终错误检测码。

【技术实现步骤摘要】

本专利技术涉及一种错误检测码产生方法,特别是有关于一种产生DVD光盘的错误检测码产生方法。
技术介绍
图1、图2及图3表示数据写入至光盘的格式化以及其错误修正程序(error correcting process)。DVD的错误修正程序。如图1所示,记录在DVD的信息的实体架构包括多个数据区段20。由起始位置开始,一个数据区段20依序包括此数据区段20的起始位置的识别信息(ID)21、用以修正在识别信息21的识别信息错误检测码(IDE)22、储备数据(RSV)23、主数据(DATA)24、被记录的构成数据以及用来检测识别信息21、识别信息错误检测码22、储备数据23以及主数据24错误的错误检测码(EDC)25。被记录的数据包括依序排列的多个数据区段20。图2表示在藉由多个数据区段(如图所示一个数据区段标示为20)以建立ECC(error correction code)区块30的编码程序。如图所示,当藉由16个数据区段建立一个ECC区块30时,每一个包含ID、IED、RSV、DATA以及EDC总共2064位的数据区段首先被划分成12个数据列并以数组的形式排列,其中,每一个数据列包括172字节(byte)。而第一数据列以ID、IED以及RSV开始,其后接有160字节的数据;而下10个数据列则分别包含有172字节的数据;最后一个数据列则包含有168字节的数据并后接4字节的EDC。对于每一数据列而言,具有10字节的ECC内码(inner-code Parity,PI)31被加在数据列的末端,以构成一个修正区块34,如图2右侧所示。在此阶段,ECC内码31所加入的修正区块34沿着Y轴方向排列成12列。在这之后,以16个数据区段来重复此程序。因此,可以获得192(=12×16)列的修正区块34。接下来,沿着Y轴方向,以每一字节来将192列的修正区块34分割,使得修正区块34分别沿着Y轴方向排列。然后,16个ECC外码(outer-codeparity,PO)32被加入每一垂直分割的数据行。这里需注意,ECC内码32也被加入至修正区块34中的部分ECC内码31。根据上述的程序,产生了包括16个数据区段的ECC区块30,如图2所示。此时,包含在一个ECC区块30内的信息总量,以下列式子表示(172+10)字节×(192+16)列=37856字节其中的数据24由下列式子表示2048字节×16=32768字节在图2的ECC区块30中,由16个数据区段排列成192列,每一列172字节,而此192列每个分别还有10字节的内码PI附加其后,因此形成182行,此外还有另外16列每列16位的外码PO附加其后。因此,形成了一208列每列182字节的ECC区块30。在此ECC区块30中,每一个字节以Bi,j来表示(其中i为列数,j为行数)。例如,B1,0是指示位在第1列及第0行,B190,170是指示位在列190及行170。因此,i从0至207,j从172至181的Bi,j为内码31;而i从192至207,j从0至171的Bi,j为外码32。修正区块34连续地记录于一光盘片中。ECC区块30包括内码PI 31及外码PO 32,如第1B的右侧所示,图2中沿着X轴方向排列的数据由内码PI 31所修正,且沿着Y轴方向排列的数据由外码32所修正。因此,可以实现沿着ECC区块30内的两轴来执行错误修正。更具体的说明,例如,假使包括外码31而一共具有182 byte且连续地记录至光盘片的某些修正区块43,因光盘的物理性损伤而被破坏时,以Y轴方向而言,在一行中只有一个与外码32相关的字节数据遗失。因此,藉由使用在每一行的外码32来完成错误修正,既使是一个修正区块34完全地被破坏,也能够正确地由损坏位置来重制信息。图3是说明实际记录一包含于ECC区块30的数据区段20的方法。在图3中,以Bi,j所指示的数据对应至图2中右侧的数据。在图3中,记录数据区段20的时间上的程序,是藉由编码器来执行。当记录ECC区块30至一光盘片中时,首先,ECC区块30中的修正区块34沿着X轴方向形成一列,如图3的最上层所示,且ECC区块30接着被分散以分割成16个记录区段40(如图3的第二上层)。此时,一个记录区段40具有2366字节(=37856字节/16),是包含数据区段20、外码PO 31及内码PI 32的总字节。然而,数据区段20内的识别信息21(参阅图1)为在每一记录区段40的起始位置。记录区段40被划分成多个数据节41且标头H附加于每一数据节41,其中,每一数据节41包括数据及具有91字节。接着,藉由将具有多对数据节41及标头H的记录区段40由8位调制为16位,使得由一个数据节41产生一个同步帧42。此时,一个同步帧42是由标头H’及数据节43所组成(如图3的中层所示)。更进一步地,一个同步帧42的数据量如下式所表示91字节×8×(16/8)=1456字节然后,数据是以连续同步帧42的方式写入光盘。此时,一个纪录区段40包括26个同步帧42。使用所披露的实体格式以储存至一光盘片,当重制数据时,执行8至16解调器及结合(图3),以有效执行错误修正来重制原本的ECC区块30,以实现正确地重制数据。如上所述,错误检测码EDC为一4字节的检查码附加于先前2060字节(包括ID、IED、RSV的12个字节的区段数据讯息以及2048字节的主数据(maindata))的数据之后,用以检查区段数据讯息以及主数据是否有错误。若以位(bit)为单位考虑数据区段,则最高有效位MSB(most significant bit)为ID的第一个字节的第一个位,而最低有效位LSB(least significant bit)则为EDC最后一个字节的最后一位。因此MSB即为b16511,而LSB即为b0。而EDC的每一个位即可写成EDC(x)=Σi=310bixi=I(x)mod{g(x)}]]>whereI(x)=Σi=3216511bixi----Eq.(1)]]>g(x)=x32+x31+x4+1图4是表示传统光盘的编码流程。首先,自主机读取2048字节的主数据,并将主数据写入至DRAM中(步骤S1)。接着,产生2字节的识别信息错误检测码(IDE)以修正在4字节的识别信息(ID)的错误(步骤S2)。然后,产生了代表著作权的6字节储备数据(RSV)(步骤S3)。接下来,上述识别信息(ID)、识别信息错误检测码(IDE)、储备数据(RSV)以及主要数据是储存至DRAM中(步骤S4)。接下来,由DRAM读取上述识别信息(ID)、识别信息错误检测码(IDE)、储备数据(RSV)以及主数据(步骤S5)。根据上述识别信息(ID)、识别信息错误检测码(IDE)、储备数据(RSV)以及主数据计算出4字节的错误检测码(EDC)(步骤S6)。然而,用以产生错误检测码(EDC)的信息,包括识别信息(ID)、识别信息错误检测码(IDE)、储备数据(RSV)以及主数据,总共为2060字节。因此,在产生错误检测码(EDC)时,大量的数据传送于光驱驱动IC以及数据缓存器(DRAM)之间,造成DRAM频宽的浪费。因此,使用传统错误检测码(EDC)本文档来自技高网...

【技术保护点】
一种数据区段错误检测码产生方法,其中该数据区段包含有区段数据讯息以及主数据,包括有:     根据该区段数据讯号以及该主数据产生一第一错误检测码,其中该区段数据讯号以一第一取代数据代入;    根据该区段数据讯号产生一第二错误检测码;以及    对该第一错误检测码以及该第二修正码以及一修正常数执行一逻辑运算以产生该错误检测码,其中该修正常数由该第一取代数据以及该第二取代数据产生;    其中当产生该第二错误检测码时,该主数据以零代入。

【技术特征摘要】
US 2003-3-11 60/453,1941.一种数据区段错误检测码产生方法,其中该数据区段包含有区段数据讯息以及主数据,包括有根据该区段数据讯号以及该主数据产生一第一错误检测码,其中该区段数据讯号以一第一取代数据代入;根据该区段数据讯号产生一第二错误检测码;以及对该第一错误检测码以及该第二修正码以及一修正常数执行一逻辑运算以产生该错误检测码,其中该修正常数由该第一取代数据以及该第二取代数据产生;其中当产生该第二错误检测码时,该主数据以零代入。2.如权利要求1所述的数据区段错误检测码产生方法,其中当该主数据从一主机读取时,产生该第一错误检测码。3.如权利要求1所述的数据区段错误检测码产生方法,其中该逻辑运算为异或运算。4.如权利要求1所述的数据区段错误检测码产生方法,其中提供一表达式用以当计算该第二错误检测码时跳过计算该主数据。5.如权利要求1所述的数据区段错误检测码产生方法,其中当该第一取代数据以零代入时,则不对该修正常数执行该逻辑运算。6.一种对多个数据区段分别产生错误检测码的方法,其中该多个数据区段包含有个别的区段数据讯息以及相同的主数据,包括有根据相同的该主数据...

【专利技术属性】
技术研发人员:彭炯颖陈庆宇
申请(专利权)人:威盛电子股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1