原理說明 流程說明 深入探討 優勢說明

論Burn-Proof 技術-燒錄高倍速時代的防護措施
Burn-Proof Technology深入探討

論Burn-Proof 技術-燒錄高倍速時代 的防護措施

在這個不停革新的『十倍速時代』,所有科技都不斷在推陳出新中,燒錄機速度也由二倍速到四倍 速、六倍速、八倍速、十倍速、十二倍速的往前推進,如何避免在高倍速燒錄時因為『Buffer Under Run』現象而燒出『飛盤/杯墊』呢?

讓我們來研究這些燒錄防護措施吧!

什麼是『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功能修正回來了,不會有讀取錯誤的情形發生。

 文/曹乙帆 、陳耀輝
    感謝「旗標科技股份有限公司」同意授權轉載
    全文轉載自 PC 2000/第19期/2001年1月號


Burn-Proof Technology深 入 探 討


高倍速燒錄時代必備的元素-BURN-Proof

光碟燒錄機的進步,無非就是朝向「速度」和「穩定」發展,消費者也期盼 有更快、更穩的燒錄機出現。今年開始廠商陸續推出了12倍速超高速燒錄機,可 說是目前最快速的燒錄機。這麼快的燒錄機,您會不會擔心您電腦的傳送速度趕 不上呢?

加上許多新的燒錄機都改推 IDE/ATAPI 的介面,這樣在做高倍速燒錄時 ,難道不會有問題嗎?

各位都知道,Buffer Under Run 是光碟燒錄的最大夢靨。一般燒錄光碟的問題中,最常碰見的就是Buffer Under Run - 杯墊製造者的頭號公敵。許多初學者 在嘗試燒錄時,最常被 Buffer Under Run 的問題所困擾,就算按照專家的建議, 選購SCSI的燒錄機,燒錄時背景不執行不必要的程式,螢幕保護程式也關掉,但 還是難保不會碰到該死的Buffer Under Run問題!

所以為了克服 Buffer Under Run 的問題,大家都建議將燒錄環境弄得越單純越好:會相衝的燒錄軟體不要同時安裝在同一部電腦上,不要使用螢幕保護程式 ,並將電源管理功能關閉,燒錄時不要讓電腦做其他事情。就這樣,拼了命似的 把電腦弄成最穩定的燒錄平台,但人有失足、馬有失蹄,要是一不小心,還是有發生 Buffer Under Run 的可能。

為求燒錄穩定,尤其在高倍速燒錄時代的來臨,廠商也極力克服這樣的問題 ,終於,在1999年底,由日本CD-R燒錄讀寫頭研發大廠 - Sanyo (三洋) 發表出最新的「Burn-Proof」技術,這個技術就是用來解決燒錄失敗的問題。尤其在燒錄速度要求越來越快的趨勢下,從八寫進展到十二寫,這種技術更顯得格外的重要 。

BURN-Proof 技術向 Buffer Under Run Say Good-Bye!

Burn-Proof,全名就是「Buffer Under RunN-Proof」,這個技術就是用來解 決 Buffer Under Run 的問題。這個技術必須從硬體與軟體上做配合,才能達到燒不死的境界。

你也許會問:為什麼要 BURN-Proof 呢?許多燒錄軟體不是已經提供所謂的L2 快取了嗎 (如DiscJuggler、CDRWIN、Feurio!)? 而且現在燒錄機內建的緩衝區動輒 2MB、4MB、 (Acer 8x4x32 還高到8MB),就算同時跑N個重量級應用軟體,也很少發生 Buffer Under Run 的機率。

當然,現在很多硬體配備非常高檔的電腦,已經提供燒錄的絕佳環境,而燒錄機本身在設計時,就已經將緩衝區加大,提供第一道防護,再加上燒錄軟體的第二層把關,是幾乎不會再發生Buffer Under Run 的機率。新一代高倍速燒錄機 ,為了市場更普及,紛紛推出了IDE 的機種,讓消費者不必再另購SCSI卡,就能 享受燒錄的樂趣。甚至燒錄機的燒錄緩衝區也越加越大,讓燒錄失敗的機會降到最低!

可是以IDE 介面本身為單工機制的能力,無法負荷過重的系統負擔,尤其以即時 (on-the-fly) 燒錄的方式來對拷,同時啟動 CD-ROM 與 CD-R/RW,對IDE 更是嚴苛的考驗,還是有很多人難逃Buffer Under Run 的命運。 在燒錄速度技術有更上一層樓的突破,可是加再多的 Buffer 也不見得能完全脫離 Buffer Under Run 的魔掌,尤其使用IDE 介面來作高倍速燒錄,廠商勢必以其他的方式來解決這樣的問題。終於,BP技術可說是為高倍速燒錄機打了一劑強心針,此時透過BP的幫助,從此就可以 Say Good-Bye to Buffer Under Run 了!


BURN-Proof 的原理說明

為什麼 BURN-Proof 可以終結掉 Buffer Under Run 的問題呢?以下就是BP技術的原理。

一般來說,我們要製作音樂光碟 (CD-DA格式) 或資料光碟 (CD-ROM格式) , 可以將要預先作好(premaster) 成ISO檔、RAW檔,或者線上即時 (on-the-fly) 燒 錄。這個要寫入的資料必須「持續」且「不間斷」地從電腦上的記憶體傳送到燒 錄機本身,可是當你燒錄過程中,執行了一個程式、上了網、聽了MP3 歌曲、啟動了螢幕保護程式等等,這個資料流的傳送過程就會受到影響。或者來源資料有瑕疵,在讀取時發生讀取錯誤,電腦嘗試重讀而Delay 。這時資料流就容易中斷 ,造成燒錄緩衝區的資料掏空,這樣就是我們常說著名的 Buffer Under Run了。

至於 BURN-Proof 技術,就是讓光碟燒錄機能更天衣無縫地燒錄資料。它在資料流供應中斷時,會在最後的燒錄點暫停下來,與下一個起始燒錄點的距離極其相近,此時雷射頭是不動的,靜靜的等電腦恢復供應資料。不像一 般燒錄機那樣只會對電腦說「Don't stop」,燒錄作業無法暫時中斷,連等一下 電腦都不肯。

圖 支援BP燒錄機遇到電腦忙碌時,可暫停燒錄作業,等電腦恢復後,燒錄作業就繼續進行 等到電腦處理其他事情完畢,資料流也恢復供應時,BP燒錄機的雷射頭就繼續開動,繼續進行尚未完成的燒錄作業,直到燒錄完畢為止。


深入剖析BURN-Proof

也許讀者們會有些疑惑,燒錄到一半怎麼可能說停就停,難道不會影響燒錄品質嗎?音樂CD不會產生爆音嗎?... 這些問題相信讀者跟我一樣也想知道,為了更清楚地敘述出 BURN-Proof 的運作原理 ,在光碟機一級大廠 - Plextor 的網站上有更詳細的解說,以下就是 Plextor 對 BURN-Proof 的剖析:

一般情形下,燒錄機將資料燒錄到光碟片的情形。此時在燒錄機裡面的 2MB Buffer 經由電腦陸續傳送資料進來,平時應該都是維持在「滿載」的情況 。Buffer裡面所擺的資料有同步用資料、主資料 (Main data)、以及子通道資料 。其中主資料的部份有2352 Bytes ,資料類型可包含:

CD-DA 的2352,或:
CD-ROM Mode 1 的 Sync+Header+2048 Data+EDC+ECC=2352,或:
CD-ROM XA/Mode 2 的 Sync+Header+SubHeader+2324 Data (EDC) + ECC = 2352

子通道 (Sub-channels) 的資料有98 Bytes,可擺放CD-i、CD+G、Karaoke CD、CD-Text 所需要的額外資料。

以Raw 模式來燒錄的話,一個光碟磁區(Frame或Sector) 的主資料加子通道資料總共是2450Bytes ,加上同步用資料的話,假設共要佔掉大約 2.5K,以 2MB Buffer 的容量就可以放入約2048K/2.5K=819 個磁區的資料,即10.92 秒的資料 (1x),所以用10X的燒錄速度來消耗,Buffer 只能維持一秒的燒錄量。

所以在正式進行燒錄前,Buffer 內的資料要先填滿,且要隨時維持在滿載的情形,以確保隨時都有資料可以燒錄。

如果電腦速度過慢、執行太多軟體、存取網路資料、或傳送介面不穩定... 等影響I/O 傳輸的行為太頻繁,這時資料的持續供應勢必受阻,Buffer 內的資料很快就會消耗完畢。如果電腦無法馬上恢復供應資料的話,Buffer 內的資料就會用罄,然後發生 Buffer Under Run 的問題,燒出壞片。

要是運用 BURN-Proof 技術,它就能偵測到Buffer內資料是否用完,而決定是否要繼續燒錄。以Plextor 的 PX-W1210TA 這部新推出的 BURN-Proof 燒錄機來說, 它在偵測Buffer內的資料量少於總容量的10% 時,就會暫停燒錄的動作。也就是 說,以2MB 的Buffer,只要資料低於200KB ,燒錄動作就馬上暫停,此時燒錄機雷射讀寫頭是停止的狀態。

等到燒錄資料恢復供應後,Buffer 內又填滿資料時,燒錄動作就馬上繼續進 行。燒錄機的BURN-Proof 電路會自己搜尋上一個成功燒錄的磁區位置 (由Sync-0 、Sync-1來決定) ,並準確定位下一個要寫入磁區的位置,繼續作業。由於燒錄過程中斷,燒錄下來的紋路軌跡也勢必無法連接,留下空隙。不過在橘皮書裡面的定義中,兩個磁區的空隙不能大於100μm,也就是這中間的距離不要超過 0.01 公分,是可以被容許的,可以正常讀取。

以Plextor PX-W1210TA 的 BURN-Proof 技術,這個空隙只會在 40μm (0.004公分) 以內,絕對符合橘皮書裡面的規範。這個資料空隙可透過 EDC/ECC 來修正,所以這種片子就跟一般沒空隙的燒錄片一樣,不會有讀不出來、挑片的疑慮,所以使用 BURN-Proof 技術的燒錄機,可以放一百個心。

那麼如果當機 、碰到停電、或者突然拔掉IDE 線,BURN-Proof 還能發揮作用 嗎?答案是:不行!BURN-Proof 只保資料中斷,但可不保停電喔!只要IDE 裝置供電失常,下次恢復供電後,就會自動重置(reset) ,這時 Buffer 裡面的資料早就不見了,你燒到一半的燒錄片也就報銷了!

還有燒錄軟體本身有Bug 、電腦系統不穩 (如超頻)、燒錄機本身的韌體沒寫 好、或者燒錄片太差,也不能保證使用 BURN-Proof 技術後,燒錄出來的片子沒有問題。也就是說 BURN-Proof 主要就是避免意外情形發生,如果電腦有上述的潛在性問題,這時不管有沒有用 BURN-Proof,燒出來片子的品質也是令人堪慮的。


BURN-Proof 高載重實戰測試

為了測試 BURN-Proof在燒錄時,確實發揮作用,筆者以系統高載重的方式, 來測試BURN-Proof 燒錄機的能耐。以下是筆者的測試平台:


CPU Pentium III-500 (FCPGA,256K 全速快取) 以100x5運作
主機板 微星MS-6309 (VIA 694x晶片組)
記憶體 NEC VC-133 VCSDRAM 128MB (以133MHz運作)
硬碟機 Seagate Barracuda 13.5GB (ATA-66)
顯示卡 ATI Rage LT Pro AGP (4MB SDRAM)
音效卡 Sound Blaster 64 PCI
網路卡 Realtek RTL8139A (100 Mbit/s)
燒錄機 Plextor PX-W1210TA (12x10x32, IDE, Burn-Proof)


筆者只選中階等級的測試平台,以測試 Plextor 燒錄機啟用 BURN-Proof 的燒 錄品質與燒錄速度。

第一個測試是 High-loading Write,在系統高載重的情況下,筆者嘗試把電腦搞成在最忙碌的情況下,利用Nero燒錄整整650MB 的資料,看是否能正常燒錄過關。筆者在背景執行非常多的軟體,如圖所示:

●執行WinAmp,在背景聽MP3 檔案
●利用WinGoGo 這套日本人所寫的最快速、可支援 MMX、SSE、3DNow!、Enhanced 3DNow! 指令
 集的 MP3 Encoder , 來作超複雜的 .WAV→.MP3 運算轉換。
●利用GetRight在背景,透過InternetShare 去抓一個超大的檔案!
●打開MS-DOS模式,在背景Compile 一套超大的程式。
●進入Internet Explorer ,到一個非常操CPU 的Java網站。這是一個利用 Java所模擬之1980年代的大
 型電玩 - PacMan (小精靈) ,目前沒有音效。
 (這個Java網站也可以測試出Java VM 的 Performance ,如果你也想測試你的Web Browser 的Java能
  耐,到http://web.utanet.at/nkehrer/ 看看。)

除了執行上述的程式,筆者還在別台電腦透過網路上的芳鄰,連線到這部電腦,做大量的硬碟存取,而且還在這部電腦不時地執行一些Windows 的程式,然後關閉程式,讓硬碟、網路卡、CPU 都累得半死,徹底讓系統滿載。從畫面右下方的System Monitor中,可看到Kernel Processor Usage幾乎是100%,一刻不得閒!

結果呢,居然燒錄成功了!為了證實 Burn-Proof 有發揮作用,筆者特地在做 一次沒有打開 Burn-Proof 的測試,沒多久後,就出現 Buffer Under Run 了。可見 BURN-Proof 在系統超忙碌的狀態下,還是能成功地完成燒錄任務!以10X燒錄, 花了8 分36秒。

至於燒錄所需時間會比原來慢多少,第二個測試就是 BURN-Proof 在正常狀態 下燒錄,要花多少時間。燒錄的內容跟上述的一樣!

系統負荷量少了之後,燒錄作業很快就完成,在10X下燒錄,花了8 分10秒 ,這是正常燒錄時所需要的時間。而上述的高負荷情況,只晚了正常燒錄時間將 近半分鐘而已!平均燒錄速度約為9.5X。

至於燒錄品質,利用檔案比較工具 (筆者是利用Windiff 以檔案方式一一比 較) 發現兩片的檔案內容完全一樣!由此可知在高負荷的系統下燒錄,品質無須 堪慮!


BURN-Proof 燒錄品質驗證

第二個測試,就是利用CloneCD 來複製一片含有CD-Text 的音樂光碟,在讀取選項方面,打開了Read SubChannel Data from Audio Tracks,利用 Plextor 燒錄機先讀進整張光碟的內容。

測試3 :測試CloneCD對拷音樂CD的品質,此為讀取選項設定


在寫入選項中,打開了Burn Proof ,並指定 Don't Repair SubChannel Data ,以12X 的速度、RAW DAO 寫入模式,燒錄最原始的燒錄資料。

此為寫入選項設定

然後分別寫入兩張光碟,第一片以正常的方式寫入,不打擾燒錄的過程。第 二片則在燒錄過程中,頻頻故意按 Ctrl-Alt-Del 鈕暫停整個Windows 的執行 (此時會出現 Close Program 的視窗,可強迫關閉執行中的程式) ,確定燒錄機的燒 錄動作停止後 (原先橘色的燒錄指示燈變成綠色的狀態) ,再按 Cance l鈕恢復整個燒錄過程。再整個寫入過程中,筆者先先後後按了不下幾十次,故意中斷執行 、再執行,讓燒錄機在光碟中留下不少的 Data-gap,試圖影響燒錄品質,看看這 片有點殘缺不堪的音樂CD是否會有爆音的情況!

這兩片光碟若只是純粹用聽的來辨別,可能不公允,且聲音的品質也無法在雜誌上呈現出來。筆者的作法是,利用 CD DAE 這套程式將兩片音樂光碟的內容全部抓下來,抓取的選項設定抓兩次 (一次抓取、一次比對) ,這樣做是為了確保 每個音軌在每次抓出來的資料是完全相同的,沒有任何 Error 。因為有些光碟機 兩次抓出來的結果都不一樣!以至於影響到音樂播放。

利用CD DAE 0.2 將音軌抓取出來

在抓取過程中,兩片音樂CD的全部音軌都抓取下來後,發現都沒有錯誤!可 見Plextor PX-W1210TA 的 Digital Audio Extraction 功能非常完美,利用它來抓音軌絕對沒有音質失真的問題!

再以檔案比對程式進行比對。比對的結果真的令筆者感到非常驚訝!居然全 部正確耶!可見BURN-Proof 在燒錄過程中,不管有多少干擾動作,不管暫停多少 次燒錄動作,都還能確保資料完全相同。測試結果筆者只能說一句話:BURN-Proof 果然犀利!

兩邊.WAV檔案比較,居然完全相同!




■ 結論

經過這麼多天的反覆測試,發現 BURN-Proof 的燒錄機,燒出來的片子就跟一 般光碟片一樣,可以正常讀取,沒有挑片的問題!不過這只是在 Plextor 這部燒 錄機的測試結果,至於其他BP燒錄機是否也是同樣的完美情況,在筆者還沒有測 試過之前,不敢妄下定論。

總之 BURN-Proof 技術,對整體燒錄品質有向上提升的幫助。相信不久的將來,碰到、問到 Buffer Under Run 問題 的人將越來越少,燒錄失敗的問題也會越來越少。

BURN-Proof 技術還可以應用到許多領域,像現在你可以在線上聽音樂 (或看影片) 時,順便將資料直接燒到光碟片做備份。或者在視訊會議中,開完會後, 報告也寫好 (燒好)了!未來甚至內建燒錄機的數位相機、數位攝影機,在拍完、 錄完後,燒好光碟就可以拿去應用或出版了呢!就讓我們期待那一天的來臨!

  責任編輯 /倪達洸
    文/陳兆宏
    感謝「旗標科技股份有限公司」同意授權轉載
    全文轉載自 Run PC /第79期/2000年8月號


[返回上頁]

普傑實業股份有限公司 --- 光碟事業部門
台北縣新店市寶橋路 235 巷 131 號 8-1 樓
電話:(02)8919-1510 傳真:(02)8919-1553
e-mail: service@plextor.com.tw