治疗白癜风误区 http://m.39.net/pf/a_4575549.html来源:虎嗅网
这是一张过去的CD,把它插入CD机,就能听到那时的爱情。
光盘是如何存储数据的?怎样提升光盘的容量?
光盘由无色透明的基板、记录层、纯银反射层、保护层、印刷层组成。
记录层的成分,是不同颜色的有机染料,可以使光盘表现出不同的颜色,而光盘的信息,都记录在这层有机染料上。
刻录机通过将激光束聚焦,可以永久性地在记录层以螺旋状轨迹由内而外刻上不同长度的坑,这些「凹坑」和原始的「平地」,就是数据。
在读取时,激光透过半反射棱镜,汇聚在物镜上。物镜将激光聚焦成为极其细小的光斑,照在光盘上,沿着螺旋轨迹前进。
光线被反射后,再次穿过物镜,通过半反射结构的棱镜反射,照在记录光信号的光电二极管上。
「凹坑」的深度为对应激光波长的四分之一。我们可以将照射在涂料上的激光看成两部分,在经过「凹坑」与「平地」的边缘时,其中一束光发生反射的位置变化,导致两束光重新汇合后,产生了半个波长的相位差。
相位差,使得反射后汇聚的两束光振幅相互抵消,亮度变暗。当两束光回到同一水平面上反射,相位差为零,重新变亮。
这种在「凹坑」边缘发生的短暂变暗,会以信号强度跳变的形式被记录。这些跳变,就是光盘中二进制数据里的1,而「凹坑」和「平地」,代表若干个连续的0。
所以,只要用二进制码表达信息,再一一对应地刻在光盘上,就能记录数据吗?答案是不。
计算机常用的字符编码,一个字节包含8位二进制码,共有种排列。但是,现有的技术不允许记录两个连续的1。这是因为,1只能出现在「凹坑」边缘,这就导致了两个1之间,必然有0。
同时,持续读取0也会因为长距离的「凹坑」或「平地」而失去方向,导致光头出轨。受制于这些条件,可用的字符编码远远不足个。于是,数据在写入光盘之前,需要对编码进行调制。常见的调制规则,是EFM(八比十四调制Eight-to-FourteenModulation),将8位编码空间扩展到14位,可以表示个编码。
接下来,规定1不能连续出现,连续的0只能有2~10个。这样就能剔除掉一万多个不能使用的码。
剩下的个可用的14位码可以和原有的个8位码一一对应,使数据能顺利读取。
为了防止相邻编码的1首尾相接,每个编码结尾还要再加入3位「耦合码」,并在读取时忽略掉。
最终,8位字符编码变成了17位,刻在了光盘上。另外,为了防止在读取过程中,盘面的划痕、指纹印导致读取错误。每字节的数据都需要附加一段字节的校验码,可以用于校验并纠正数据产生的错误。
实现纠错的原理,就是我们在「