發新話題

[轉貼][燒錄]防燒死碟原理

[轉貼][燒錄]防燒死碟原理

什麼是『Buffer Under Run』?

我想大部份使用者在燒錄光碟時,光碟片格式不外乎音樂CD、電腦用的資料片(應用程式/資料等)、VCD電影光碟、CD-I互動式光碟、PhotoCD KODAK定義的相片光碟格式、PlaySation/Sega Satrun等電視遊樂器光碟等等,針對這些格式的光碟進行備份/整理/複製,除了某些資料光碟可以使用DirectCD等封包式寫入(Packet Write)方式燒錄至光碟機,其他所有的燒錄複製方式都可以用『一氣呵成』四個字來形容。

每次燒錄的過程,首先在PCA區(Power Calibration Area,雷射能量校正區)調整最適合的雷射燒錄能量,在PMA區(Program Memory Area,程式記憶區)寫入這次光碟軌Track的開始/結束位置(Multi Session當然有Multi Track,即使沒有Multi Session的光碟片也有一個track),接下來Lead-in(引入)時寫入上一次Session的目錄結構(如果有上個Session的話)以及這次的目錄結構於TOC內,之後才寫入真正的資料,在最後寫入一段Lead-out(引出)區,以便與下次燒錄Session區別(如果還未Finalize化)。

這些過程必需平穩的循序進行,才能燒錄成功,如果在資料區寫入時,負責供應資料來源的硬碟及光碟機速度跟不上,例如硬碟機因為資料分佈過於散亂,硬碟因為讀寫臂移動的機械動作限製造成讀取速度變慢,由於燒錄器是先將要寫入資料從儲存媒體(硬碟/光碟機)讀入主記憶體,再存入燒錄機內部Buffer緩衝記憶體內,如果內部buffer資料量沒辦法保持一定的水準,還逐漸下降的話,一旦內部buffer容量變零,燒錄機讀寫頭沒資料可燒,就會出現Buffer Under Run現象(這時候還沒作Lead-out動作),這張無法讀取的光碟片就會變成飛盤了。

所以早期燒錄的觀念都是:燒錄時請先disable(停止)Screen saver、先對硬碟作重組(defragm-ent)減少碎裂空間、燒錄時不要執行其他應用軟體等預防行為,減少PC在燒錄時因為"分心"而造成Buffer Under Run的情形發生,或是像DiskJugger這類軟體透過劃分一塊記憶體空間,作為燒錄機內建buffer的延伸(類似第2階緩衝區,Level 2 buffer),空間大小由1MB到650MB(如果你系統內安裝有1GB記憶體真的可以這樣作!)可以自由設定,而這些措施都是為預防Buffer Under Run錯誤發生。

但是隨著燒錄速度成倍數發展,從8倍速(1200KB/秒)、10倍速(1500KB/秒)、12倍速(1800KB/秒)到16倍速(2400KB/秒)的燒錄紀錄來說,筆者7200轉的IBM DJNA 9.1GB硬碟,透過Hard Disk Speed Analyser for Win95程式測試,實體傳輸率也只有16600Kb/秒,也就是每秒平均輸出2075KB資料量,一旦遇上Sanyo BP4這款16寫10複寫燒錄機器,如果沒有其他技術幫忙,因Buffer Under Run燒出飛盤的機會相當大。

有鑑於上述『Buffer Under Run』問題,Sanyo這家日系廠商提出對應技術來克服,發表『Burn-Proof』技術;這種技術的原理為何?可以解決什麼難題?那些燒錄機器/燒錄軟體支援?就讓我們來研究看看吧!

『Burn-Proof』技術

開發Burn-Proof技術的目的:就是為避免Buffer Under Run錯誤而設計的,這從名稱上『Burn-proof = Buffer Under RuN-Proof』就能看出其用意。由於CDR/CDRW燒錄時採用CLV(Constant Liner Velocity) 線性定速方式運作,例如最內側開始到最外側都是以8倍、10倍等固定速度寫入,而燒錄器只配置了2-4MB的Buffer記憶體,很容易出現補給不上而Buffer Under Run,如果重新設計燒錄時運作流程,讓Buffer記憶體快要不足時,紀錄下目前位置(Sector),讀寫頭停止功率輸出,等到後續資料再累積到足夠時,從先前紀錄的位置重新燒錄資料,就能避免Buffer Under Run情形發生。

整個『Burn-Proof』工作流程是這樣的:當發生Buffer Under Run錯誤時->停止寫入動作(Stop Writing)->儲存其他寫入資料(Store Write Data)->暫停寫入動作(Pause Data Writing)->直到後續資料累積足夠(Waiting Data)->進行資料同步化(Synchronize) ->移動到上次最後寫入位置(ReTrace)->重新寫入資料(ReWrite Data)。

幕後功臣

這套複雜的流程,必需藉助硬體電路/軔體控制以及燒錄軟體的通力合作才行,例如燒錄機內的微控制晶片就必需監視內建buffer消耗情形,必要時儲存最後寫入位置,控制讀寫頭雷射功率,以及配合PLL(Phrase Lock Loop,鎖相迴路)精確定位上次燒錄停止處,所以這顆控制晶片很重要,Sanyo開發出代號LC898023及LC898093兩顆DSP數位訊號處理晶片掌管重任,這兩顆晶片都是採用208支腳位SQFP封裝方式,其中LC898023支援Ultra SCSI介面;而LC898093則支援IDE的Ultra DMA33介面,提供12倍速燒錄/40倍速讀取的功能。

BURN-Proof品質驗證

在BURN-Proof網站上也有品質測試的資料,Sanyo設計了一個測試環境,每15秒就製造1次Link情形,分別開啟BURN-Proof功能進行燒錄,再用CATS等機器測試這二張CDR片,檢驗C1、C2兩項係數的讀取錯誤率,其中C1、C2兩項係數在早期日本盒裝對國產B級CDR裸片爭論時,就常聽以C1、C2數值高低決定該片讀取率以及品質好壞。這項測試結果顯示:開啟『BURN-Proof』功能後,C1/C2數值都維持在良好水準,代表兩次燒錄間所產生的間隙很小(目前沒辨法作到無接縫,所以會有一個無資料間隙,data gap)。

在BURN-Proof網站FAQ中提到,以12倍速燒錄時這個data gap約為45um,由於CDR/CDRW片每個sector碟區中都有EDC/ECC(Error Detect Code/Error Correction Code)區,例如音樂CD每個容量3224Bytes的Sector中就有784Bytes作為EDC/ECC使用,而資料CD(CD-ROM Mode 1)每個容量3224Bytes的Sector中,除了784Bytes的Level 1 EDC/ECC區外,還有280Bytes的Level 2 EDC/ECC區域,所以這個45um的data gap在讀取時,就會被EDC/ECC功能修正回來了,不會有讀取錯誤的情形發生。


[ 本帖最後由 蔡逸竹 於 2006-8-28 21:33 編輯 ]

TOP

除了會使用燒錄軟體燒錄光碟之外
能多學一些原理還是好的
至少能證明自己的博學多聞

TOP

轉貼][燒錄]防燒死碟原理

轉貼][燒錄]防燒死碟原理
以前常燒壞光碟希望下次別這樣哦很感激提供這種

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。