数据读取装置与方法
技术领域
本发明有关于一种用于储存装置的数据读取装置与方法,尤指在光电系统中,经由标志记录所读取数据扇区的正确性的数据读取装置与方法。
背景技术
光盘储存装置(optical disc storage device)近年来一直是广为使用的计算机外设设备,其技术与相关规格也不断有所进展。这其中,数字视频光盘(digital video disc,简称DVD)作为新一代光盘储存规格的主流已是相当明显的趋势,其应用也日趋广泛。在对DVD读取速度要求日益提升的情况下,如何同时加强数据读取的正确性,并兼顾一理想的价格/性能比,就成为非常重要的课题。
以下先对DVD的数据储存方式做个简要说明。首先,DVD以2064个字节组成一数据扇区(data sector),其格式如图1所示。图1中,该数据扇区包含12列,每一列为172字节长,内容依序包含4字节的ID、2字节的ID错误检测码IED(ID Error Detection)、6字节的版权处理信息CPR_MAI(Copyright Management Information)、2048个字节的主要数据D0到D2047,以及4字节的错误检测码EDC(Error Detection Code)。其中,EDC是以循环冗余码校验(Cyclic Redundancy Check,CRC)的方式进行编码,用于检测此数据扇区的正确性。
其次,为提供数据更好的保护,DVD将16个数据扇区,以RSPC(ReedSolomon Product Code,即里德-所罗门乘积码)的编码方式,组成一数据块(data block),如图2所示。图2中,该数据块包含了16个扇区,共192(=12×16)列、172行的数据,再加上由RSPC编码方式所产生的PO与PI。其中,PO为外码奇偶校验(outer-code parity)数据,是以每一行为单位逐行产生,长度为16字节;PI为内码奇偶校验(inner-code parity)数据,则以包含PO数据在内共208(=192+16)列的每一列为单位逐列产生,长度为10字节。此处整个数据块(B0,0到B207,181)作为一错误更正码(error correctioncode,ECC)块来处理,PO与PI即是错误更正码,用于数据错误的修正。
在现有的DVD技术中,是采用如图3的架构来进行数据读取。图3中,DVD盘片310上的数据,由读取头311读取后,依序经过模拟信号处理器312、8-16解调器(又称EFMPLUS解调器,其中EFM是指Eight to FourteenModulation,而EFMPLUS在EFM基础上改进的编码方式)314的处理,成为列数据315,再由存储器控制器320通过列数据接口316将其存入存储器321中。当存储器321中的数据可构成一ECC数据块时,RSPC解码器317即经由存储器控制器320存取存储器321中的数据块,执行PO与PI数据的解码,进而更正错误的数据。接着,错误检测码处理器318读取该数据块内的数据扇区,并计算每一扇区的错误检测码。若错误检测码皆正确,即经由主机接口319将主要数据传送至主机322。因此,在读取一DVD数据块的过程中,会先进行该数据块的对应PO与PI数据的解码及错误的更正,再验证每一数据扇区的错误检测码,以确保所读取数据的正确性。
若发现16个错误检测码中有任何一个不正确,则有两种常用的处理方法。第一种是利用原已读取的数据块,重新执行整个解码与验证的过程,直至所有错误检测码皆为正确为止。第二种方法则是从DVD上重新读取该数据块,再加以解码与验证,若仍有错误则再次重新读取,如此反复进行,直到所有错误检测码皆为正确为止。前述的现有DVD技术有两项主要缺点,一为存储器321的存取次数过多;二为其修正数据错误时,是采用重新读取及解码整个数据块的方式。这两种方法都会严重影响DVD的数据读取速率及性能。
台湾第88121259号专利,名称为“DVD数据读取装置及方法”,即针对前述现有技术问题提出改进。请参阅图4,其为该专利所提出的改良装置的方块图。如图4所示,其主要通过特殊的硬件设计,在通过读取头411从盘片410读取数据,并经由模拟信号处理器412、8-16解调器414处理产生列数据415后,先由列数据接口及第一次内码奇偶校验解码器416、错误检测码产生器417与列数据缓冲区418进行PI数据的解码,及产生每一数据扇区的错误检测码,接着才存至存储器421中,如此即避免了前述现有技术于解码PI数据与计算错误检测码时都必须存取存储器所造成的负担。其次,再经由错误检测码档案422、错误检测码处理器424与RSPC解码器426的设计,于进行PO数据解码及错误更正的同时,利用错误更正结果来修改先前所产生的错误检测码。最后,若所有错误检测码都正确,则将所读取数据经由主机接口428传送给主机430。另外,若错误检测码并非完全正确,而导致需重复读取数据块时,该专利还提供一种数据读取方法,可将要重读的数据块中,已验证为正确的数据扇区跳过不读,藉以提高数据读取的效率。虽然该专利可对前述现有技术的问题加以改进,但就如图4的架构所示,其需要额外的硬件与较复杂的电路结构,于是不仅提高芯片设计的困难度,更增加芯片的面积与成本。
有鉴于此,本发明的着眼点即在于提出一种改良的数据读取装置与方法,不但能简化图4所示的架构,而且可具备同等的数据读取性能。
发明内容
本发明的主要目的在于提供一种数据读取装置与方法,用于对一储存装置的读取作业。此储存装置包含复数个数据块,每一数据块包含复数个数据扇区以及一错误更正码,用以对数据块进行错误更正,每一数据扇区则包含一错误检测码,用于检测数据扇区的正确性。本发明的数据读取装置包含一读取单元以及一相耦接的错误更正码解码器。读取单元可从储存装置读取一数据块,而错误更正码解码器则利用此数据块的错误更正码对此数据块进行解码及错误更正。此数据读取装置还包含一错误检测码处理器,耦接至错误更正码解码器,用以计算此数据块的每一数据扇区的错误检测码。此数据读取装置还包含一标志缓存器,以储存此数据块的每一数据扇区的一相关标志,此相关标志可用以显示相关数据扇区的错误检测码的正确性。
在本发明较佳实施例的方法中,当相关标志指出所对应的错误检测码错误时,包含该错误检测码的数据扇区将被重新读取;另一方面,当数据扇区的错误检测码正确时,即使错误更正码指出该数据扇区包含错误数据时,仍跳过该数据扇区而不对该数据扇区执行重新读取的操作。
在本发明较佳实施例中的相关标志,可由一大小为一位的储存单位来实施。
本发明的技术方案是这样实现的:
一种应用于光电系统中的数据读取装置,其特征在于包含:一错误更正码解码器,利用一数据块(Block)的错误更正码(error correction code,ECC)以对该数据块进行解码及错误更正;一错误检测码处理器,耦接至该错误更正码解码器,用以计算该数据块的每一数据扇区(Sector)的错误检测码(errordetection code,EDC),以判断相应的数据扇区是否正确,并将判断结果表示为相关标志;以及一标志缓存器,耦接至该错误检测码处理器,用以储存每一该数据扇区的相关标志。
其中当该相关标志指示该数据扇区的该错误检测码错误时,重新读取该错误数据扇区。
其中当该数据扇区正确时,可于重新读取该数据块时跳过该正确的数据扇区。
其中当该数据扇区的该错误检测码指出该数据扇区是正确数据扇区、且该错误更正码指出该数据扇区发生错误时,仍跳过该数据扇区而不对该正确数据扇区进行错误更正。
其中每个该相关标志的大小为一位。
本发明还提供了一种应用于光电系统中的数据读取方法,其特征在于,包含:
利用一数据块(Block)的错误更正码(error correction code,ECC),以对该数据块进行解码及错误更正,其中该数据块包含复数个数据扇区;
计算每个该数据块所包含的数据扇区(Sector)的错误检测码(errordetection code,EDC),以判断相应的数据扇区是否正确,并将判断结果表示为相关标志;
储存对应每个该错误检测码的相关标志,其中每个该相关标志对应至一个该数据扇区;以及
当该相关标志指出对应的该数据扇区所包含的该错误检测码有错误时,重新读取该数据块。
其中上述重新读取该数据块的步骤,包含重新读取该错误的数据扇区的步骤。
其中上述重新读取该数据块的步骤,包含当该数据扇区的该相关标志指示该数据扇区的该错误检测码正确时,跳过该正确数据扇区的步骤。
其中当该数据扇区的该错误检测码指出该数据扇区正确时,跳过该数据扇区错误而不更正该数据扇区的错误。
其中该相关标志的大小为一位。
附图说明
图1为DVD数据扇区格式的示意图
图2为DVD数据块格式的示意图
图3为现有的DVD数据读取架构的方块图
图4为一改良的DVD数据读取架构的方块图
图5为本发明的数据读取装置的较佳实施例方块图
图6为本发明较佳实施例用于DVD数据读取的硬件架构方块图
其中,附图标记说明如下:
310 盘片 311 读取头
312 模拟信号处理器 314 8-16解调器
315 列数据 316 列数据接口
317 RSPC解码器 318 错误检测码处理器
319 主机接口 320 存储器控制器
321 存储器 322 主机
410 盘片 411 读取头
412 模拟信号处理器 414 8-16解调器
415 列数据
416 列数据接口及第一次内码奇偶校验解码器
417 错误检测码产生器 418 列数据缓冲区
420 存储器控制器 421 存储器
422 错误检测码档案 424 错误检测码处理器
426 RSPC解码器 428 主机接口
430 主机
50 数据读取装置 51 读取单元
52 错误更正码解码器 53 错误检测码处理器
54 标志缓存器 55 储存装置
610 DVD盘片 611 读取头
612 模拟信号处理器 614 8-16解调器
615 列数据 616 列数据接口
617 列数据缓冲器
618 第一次内码奇偶校验解码器
619 RSPC解码器 620 存储器控制器
621 存储器 628 主机接口
630 主机
具体实施方式
现配合附图对本发明做进一步说明。
本节将以DVD为例,详述本发明的数据读取装置的实施方式。必须强调,本发明的实施并不限于DVD。任何储存装置,若其包含复数个数据块,每一数据块包含复数个数据扇区及一错误更正码,可用以对整个数据块进行错误更正,且每一数据扇区另包含一错误检测码,用于检测数据扇区的正确性,只要具有如上的数据储存与错误修正方式,皆可运用本发明来执行数据读取的操作。
图5为本发明的数据读取装置的较佳实施例方块图。如图5所示,数据读取装置50包含一读取单元51以及一相耦接的错误更正码解码器52。读取单元51可从储存装置55读取一数据块,而错误更正码解码器52则利用此数据块的错误更正码对此数据块进行解码及错误更正。数据读取装置50还包含一错误检测码处理器53,耦接至错误更正码解码器52,用以计算此数据块的每一数据扇区的错误检测码。数据读取装置50还包含一标志缓存器54,以储存此数据块的每一数据扇区的一相关标志,此相关标志可用以显示相关数据扇区的错误检测码的正确性。
本发明经由标志缓存器54的设计,相对于现有技术而言,可有效降低所需的硬件组件与空间。具体而言,当数据读取装置50因为所读取的数据块包含有错误的数据扇区,而必须重新读取此数据块时,即可利用标志缓存器54所存相关标志值的指示,进而跳过正确的数据扇区不读,一方面减少重复读取的时间,另一方面还可保护原本正确的数据扇区。
如前文所述,DVD是以2064个字节组成格式如图1的数据扇区,其中包含4字节的错误检测码,用以检测数据扇区的正确性。此外,DVD更进一步以RSPC编码方式,将16个数据扇区组成如图2所示的ECC数据块,其包含由RSPC编码方式所产生的PO与PI数据,用于数据错误的更正。因而,可运用图5的数据读取装置50,来提升DVD数据读取的效率。
图6为本发明较佳实施例用于DVD数据读取的硬件架构方块图。图6中,储存装置是一DVD盘片610。读取单元51包含读取头611、模拟信号处理器612及8-16解调器614,可从盘片610读取数据,并转换为以字节为单位的列数据615。读取单元51还包含列数据接口616及列数据缓冲器617,可将EFMPLUS解调器614所产生的列数据615先行缓冲,作为后续解码与错误更正使用。
如图6所示,错误更正码解码器52包含第一次内码奇偶校验解码器618与RSPC解码器619。当列数据缓冲器617所储存的数据可组成一组PI数据时,即送入第一次内码奇偶校验解码器618进行内码奇偶校验解码,所得的一组内码解码数据,则经由图6架构中的存储器控制器620,储存到存储器621中。另一方面,若所得的内码解码数据是产生错误检测码所需的数据时,则同时将此内码解码数据送至图6的错误检测码处理器53,用以计算此内码解码数据所在的数据扇区的错误检测码。当一完整数据扇区存到存储器621时,错误检测码处理器53也计算出此数据扇区的错误检测码,以判断此数据扇区是否正确,并将判断结果以标志形式(例如以一位的标志,并以逻辑1/逻辑0代表一数据扇区的正确/错误状态)存到标志缓存器54中,供后续使用。
在读取单元51读完一个完整数据块,并经上述初步处理过程而存至存储器621后,RSPC解码器619就通过存储器控制器620从存储器621读取任一组PO数据,进行外码奇偶校验解码,并于发现错误时就进行更正,随后将更正结果回存至存储器621。并且,若此PO数据所属数据扇区的错误检测码是错误的(可由标志缓存器54所存的相关标志来判断),则也将此更正结果送入错误检测码处理器53,以再次进行错误检测码的计算。当完成一完整数据扇区的外码奇偶校验解码时,错误检测码处理器53也计算出此数据扇区的错误检测码,来判断此数据扇区是否正确,并以判断结果来决定标志缓存器54的对应标志的标志值。此处必须注意,若RSPC解码器619在进行外码奇偶校验解码时,于某数据扇区内发现错误,且此数据扇区的错误检测码是正确的,应放弃此次解码结果,以避免修改到原本已经正确的数据。
在RSPC解码器619解码了所有的PO数据后,即检查标志缓存器54中,所储存的标志是否显示所有的数据扇区皆为正确。若是,则图6的主机接口628即通过存储器控制器620,将存储器621中的数据块传给主机630。
最后要强调的是,本发明可应用于具有读取数据能力的光电系统,诸如只读光驱(CD-ROM drive)、只读式数字视频光驱(DVD-ROM drive)、DVD播放机(DVD player)、DVD±RW(DVD+ReWritable)碟机等系统中,用以确保所读取数据的正确性。
以上所述仅为详细说明本发明的较佳实施例,而非用以限制本发明的范围。本领域技术人员可依照该实施例做一些等效变化及调整,但仍然不失本发明的要义,即不脱离本发明的精神和范围,因此,本发明的保护范围以本申请的权利要求书要求保护的范围为准。