Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11604673
  • 博文数量: 8065
  • 博客积分: 10002
  • 博客等级: 中将
  • 技术积分: 96708
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-16 17:06
文章分类

全部博文(8065)

文章存档

2008年(8065)

分类: 服务器与存储

2008-06-08 07:19:43

DVD光盘的数据流程本文是《有多少错误可以忍耐?CD与DVD光盘质量深入探讨》专题的一部分 DVD光盘于1995年设计定型,与CD相比,在设计之初就考虑得很周全,不会再出现不同的扇区结构设计,不同种类的DVD光盘的主要区别体现在逻辑架构的设计上,至于底层的扇区规格则是一样的。 DVD光盘的编码与纠错(图一)
点击查看大图
DVD光盘的数据结构与流程(点击放大)在DVD光盘中,寻址的单位也是一个数据块,而这个块由于包含了ECC数据,因此又被称为ECC块(ECCB,ECC  Block)。DVD所采用的ECC编码与CD-ROM Mode 1、Mode 2-Form 1一样,都是RSPC编码,因此也称为RSPC数据块。从上图中可以发现,DVD的数据流程要比CD简单不少,但内部校验(PI,Parity of Inner-code)与外部校验码(PO,Parity of Outer-code)则是CD光盘中所没有的。同样,由于没有CIRC的校验数据,因此也就不存在C1、C2编码,因此假如哪天听人说什么DVD光盘的C1、C2错误,那就当个笑话听吧。 DVD的一个ECCB包含16个扇区,在进行刻录时,首先要预备一个ECCB的数据(包括RSPC编码),然后将ECC数据与用户数据分割为16个扇区,再经过符合RLL(2,10)标准的EFMplus(8至16编码)调制,形成的信道脉冲进行刻录。 Read.com 推出数据恢复指南教程 数据恢复指南教程 数据恢复故障解析 常用数据恢复方案 硬盘数据恢复教程 数据保护方法 数据恢复软件 专业数据恢复服务指南
  RSPC数据块与扇区结构 DVD的数据以一个RSPC数据块(ECCB)为存储单位,在上文中,我们大概知道了这个数据块由16个扇区的数据+PI/PO校验码组成,在下面这张图中我们能清楚的看到一个ECCB中的数据结构。 DVD光盘的编码与纠错(图二)
点击查看大图
一个RSPC数据块的内部结构(点击放大),字节以行、列(也称字节,Byte)为坐标编号(Br,c),如B192,170就表示该字节的位置是第192行/170列,而不是指第192170个字节从图中可以看出一个ECCB的实际容量为37856字节,而不是我们常说的32KB(32768字节),后者只是真正的用户数据量。那么,它们又是怎么分布到16个扇区中呢? DVD光盘的编码与纠错(图三)
点击查看大图
ECCB分割成16个扇区示意图(点击放大)首先,ECCB中的数据区为192行,每行172个字节(列),而每一行的172字节横向生成一10字节的PI校验码,每一列的192字节纵向则生成一个16字节的PO校验码,最后再给每一行的PO校验码生成10字节的PI校验码,从而构成完整的ECCB。此时的ECCB共有208行/182列,分成16个扇区,则每个扇区为13行/182列,那么是不是前15个扇区为数据+相应的PI校验码,最后一个扇区就是PO和相关的PI数据呢?当然不是,在生成刻录扇区时,16行PO和相应PI码分交错分布于16个扇区之中,具体构成如下图所示。
DVD光盘的编码与纠错(图四)
点击查看大图
16个扇区的具体构成,灰蓝色为PI码,浅绿色为PO码(点击放大)从图中可以看出,16行的PO码和相应的PI码被依次分布在16个扇区中,也就是说ECCB的校验数据是分散在16个扇区中的。由于PI与PO校验码是DVD在读取时的主要纠错手段,因此在PI与PO校验中发现错误的次数与程度就可以被用来评价DVD的刻录质量,而业界也对此做出了相应的规定。 QQRead.com 推出数据恢复指南教程 数据恢复指南教程 数据恢复故障解析 常用数据恢复方案 硬盘数据恢复教程 数据保护方法 数据恢复软件 专业数据恢复服务指南
  DVD有关数据错误标准的业界规定与CD-ROM只规定了C1错误标准一样,DVD其实也只规定了PI错误标准,而没有PO错误标准,原因很简单,PO编码其实也在PI的保护之下,因此只要保证PI的错误率不超过一定的水平就可以了。另外,在DVD的相关规范中,也对不可修复的错误进行了明确的界定,并立下了相关的标准。在DVD-ROM规范中规定:ECCB中某一行假如有一个或更多的字节出现错误,则意味着出现一个PI错误(PIE,PI Error),连续8个ECCB的PI错误不能超过280个。我们可以计算一个,一个ECCB共有208行,8个ECCB则1664行,答应280个PI错误(也就是280行出现错误)则表示错误率为16.8%。 DVD-R/RW的规定与DVD-ROM一样。在DVD+R/RW规范中则有了更为具体的规定:ECCB中某一行假如有一个或更多的字节出现错误,则意味着出现一个PI错误,当一行中的错误字节超过5个时,此时的PI错误则称为PI-uncorrectable(不可修复的PI错误);连续8个ECCB的PI错误不能超过280个(16.8%);一个ECCB中的PI-uncorrectable不能超过4个(1.92%)。 DVD光盘的编码与纠错(图五)
点击查看大图
在DVD光盘规范中,DVD+R/RW对PI错误进行了最具体的规定(点击放大)现在不少相关测试软件中都以DVD+R/RW的规范来制定测试标准。虽然DVD-ROM与DVD-/RW没有定义PI-uncorrectable(在某些软件中定义为PI Failure,简称PIF),但由于它们都是相兼容的设计,所以DVD+R/RW的相关规定也基本适用于其他两个规范。那么,有没有可能出现PO-uncorrectable(POF)呢?在一些DVD测试设备的技术文档中笔者也发现了对POF的一些规定,由于DVD想先进行PI纠错,才进行PO纠错,因此PI被认为是第一层纠错,PO则是第二层纠错,假如出现PIF之后又出现POF,那么意味着该ECCB(注重,不是扇区)是不可修复的(理论上,PO能修复4个字节的错误,但即使有超过5行的PIF,也并不意味着错误的字节会在垂直方向上排成一列,因此PIF即使超出标准很多,仍有可能被PO纠正,不过为了保险起见,一个ECCB中的PIF行数不能超过4个),就像CD光盘上的E32错误一样,也就是说POF的数值应该是0,只要满足这个条件,PO错误(POE,PO Error)就无所谓了。因此,在一些测试软件中,只有PIE和PIF的测试,最多再加上POF的测试,而没有POE的测试。
阅读(1743) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~