這是一張過去的 CD,把它插入 CD 機,就能聽到那時的愛情。
光盤是如何存儲數據的?怎樣提升光盤的容量?
光盤由無色透明的基板、記錄層、純銀反射層、保護層、印刷層組成。
記錄層的成分,是不同顏色的有機染料,可以使光盤表現出不同的顏色,而光盤的信息,都記錄在這層有機染料上。
刻錄機通過將激光束聚焦,可以永久性地在記錄層以螺旋狀軌跡由內而外刻上不同長度的坑,這些「凹坑」和原始的「平地」,就是數據。
在讀取時,激光透過半反射稜鏡,匯聚在物鏡上。物鏡將激光聚焦成為極其細小的光斑,照在光盤上,沿着螺旋軌跡前進。
光線被反射後,再次穿過物鏡,通過半反射結構的稜鏡反射,照在記錄光信號的光電二極管上。
「凹坑」的深度為對應激光波長的四分之一。我們可以將照射在塗料上的激光看成兩部分,在經過「凹坑」與「平地」的邊緣時,其中一束光發生反射的位置變化,導致兩束光重新匯合後,產生了半個波長的相位差。
相位差,使得反射後匯聚的兩束光振幅相互抵消,亮度變暗。當兩束光回到同一水平面上反射,相位差為零,重新變亮。
這種在「凹坑」邊緣發生的短暫變暗,會以信號強度跳變的形式被記錄。這些跳變,就是光盤中二進制數據裏的 1,而「凹坑」和「平地」,代表若干個連續的 0。
所以,只要用二進制碼錶達信息,再一一對應地刻在光盤上,就能記錄數據嗎? 答案是不。
計算機常用的字符編碼,一個字節包含 8 位二進制碼,共有 256 種排列。但是,現有的技術不允許記錄兩個連續的 1。這是因為,1 只能出現在「凹坑」邊緣,這就導致了兩個 1 之間,必然有 0。
同時,持續讀取 0 也會因為長距離的「凹坑」或「平地」而失去方向,導致光頭出軌。受制於這些條件,可用的字符編碼遠遠不足 256 個。 於是,數據在寫入光盤之前,需要對編碼進行調製。 常見的調製規則,是 EFM(八比十四調製 Eight-to-Fourteen Modulation),將 8 位編碼空間擴展到 14 位,可以表示 16384 個編碼。
接下來,規定 1 不能連續出現,連續的 0 只能有 2~10 個。這樣就能剔除掉一萬多個不能使用的碼。
剩下的 256 個可用的 14 位碼可以和原有的 256 個 8 位碼一一對應,使數據能順利讀取。
為了防止相鄰編碼的 1 首尾相接,每個編碼結尾還要再加入 3 位「耦合碼」,並在讀取時忽略掉。
最終, 8 位字符編碼變成了 17 位,刻在了光盤上。 另外,為了防止在讀取過程中,盤面的劃痕、指紋印導致讀取錯誤。每 2048 字節的數據都需要附加一段 288 字節的校驗碼,可以用於校驗並糾正數據產生的錯誤。
實現糾錯的原理,就是我們在「二維碼」這期節目中介紹的「裏德-所羅門碼」。
只讀光盤,經過一次寫入之後,數據就不能更改。而可擦寫光盤,則採用如銀銦銻碲合金和鍺銻碲合金等相變材料作為記錄層。
相變材料具有兩種穩定狀態:晶態和非晶態。
在寫入時,射出高功率的射線,使相變材料的温度超過「相變温度」,被照射區域的相變材料由晶態變為非晶態。而用中等功率的激光產生的温度,則可以將非結晶的組織還原成晶態。
具有較高透光率的晶態相當於「平地」,較低透光率的非晶態則相當於「凹坑」。通過不同功率激光的切換,就能實現光盤數據的多次寫入和擦除。
你的當代生活中已經很難見到光盤。
主要原因是光盤的容量太小了,為了在這張直徑 12 cm 的塑料片上增大容量,首先要使用更小的坑道來記錄信息。
為了讀取更小的坑道,需要更短波長的光才能聚焦更小的光斑,單盤容量 25 GB 的藍光光盤,通過使用波長 405 nm 的藍紫色光,將物鏡聚焦的光斑縮小到了 580 nm,已經接近光學極限。
其次,為了節約數據長度,藍光采用的 17PP 調製碼。相比八比十四調製,編碼率從 47.06% 提升到了 66.67%。
另外,還可以在記錄層上疊加記錄層,只要改變激光的焦距,就能讀取各層數據,目前常見的四層藍光光盤將容量擴大到了 100 GB。
更大容量的只讀光盤,只能在數據中心見到,以工業級藍光光盤庫為例,以 12 個 300 GB 只讀藍光光盤組成的盤匣為儲存單位,可以在一個機櫃中實現 1.92 PB 的數據存儲。
光盤能讓數據可靠存儲超過 50 年,廣泛應用於博物館、科研單位等需要長期存儲大量備份歷史數據的機構。
只讀光盤無法被篡改的特性決定了,數據被刻在這些塑料片上,即使過去半個世紀,只要它還能反光,就可以讀取。
那些留在你記憶中的音樂、電影、遊戲,會永遠停在某個角落等你。
正在改變與想要改變世界的人,都在 虎嗅APP