向/從光記錄介質寫入或再生數據的方法
2023-10-26 21:29:02 1
專利名稱:向/從光記錄介質寫入或再生數據的方法
技術領域:
本發明涉及光記錄介質,並且尤其涉及用於向/從光記錄介質寫入或再生數據的方法。
背景技術:
光記錄介質包括只讀存儲器(ROM)、一次性寫入多次讀出存儲器(WORM)和允許反覆寫入的可重寫存儲器。ROM類型的光記錄介質還包括緻密盤只讀存儲器(CD-ROM)和數字多媒體盤只讀存儲器(DVD-ROM)。WORM類型的光記錄介質還包括可記錄的緻密盤(CD-R)和可記錄的數字多媒體盤(DVD-R)。可重寫類型的光記錄介質還包括可重寫緻密盤(CD-RW)和可重寫的數字多媒體盤(DVD-RW,DVD-RAM和DVD+RW)。
對於可重寫光記錄介質,信息向可重寫光記錄介質的反覆記錄和從光記錄介質的反覆回放改變了被形成用來在光碟上寫入數據的記錄層的初始混合比率。這種變化會惡化光記錄介質性能,引起數據信息的記錄/回放(R/P)中的錯誤。光碟的惡化區形成了光記錄介質的格式化、寫入和回放中的缺陷區。而且,可重寫光記錄介質中的缺陷區也可能由表面上的刮傷、製造中的灰塵和缺陷而引起。
為防止數據向/從由上述任何原因形成的缺陷區的R/P,需要管理缺陷區。因此,在光記錄介質的引入區和引出區設置用於管理光記錄介質的缺陷區的缺陷管理區(DMA),如圖1所示。而且,數據區按組來管理,每一組都包括用於實際記錄數據的用戶區和用於在用戶區出現缺陷的情況下使用的備用區。
典型地,一個盤(例如DVD-RAM)有4個DMA,兩個在引入區,兩個在引出區。由於管理缺陷區是重要的,同一數據被保存在所有的四個DMA中以進行數據保護。各個DMA包括兩個塊共32個扇區,每個塊由16個扇區構成。各個DMA的第一塊(DDS/PDL塊)包括盤定義結構(DDS)和主要缺陷列表(PDL),並且第二塊(SDL塊)包括次要缺陷列表(SDL)。
尤其,PDL代表主要缺陷數據存儲區,SDL代表次要缺陷數據存儲區。PDL存儲在製造期間產生的及在格式化如初始化或再初始化期間識別出的所有缺陷扇區的項。各個項包括相應於缺陷扇區的扇區序號和項類型。
另一方面,SDL以塊來布置並且保存初始化後產生的缺陷區或在初始化期間不能進入PDL的缺陷區的項。SDL的各個項包括一個存儲具有缺陷扇區的塊的第一扇區的扇區序號的區,及一個保存備用塊的第一扇區的扇區序號的區。數據區中的缺陷區(即缺陷扇區或缺陷塊)分別通過滑移替代(slipping replacement)或線性替代(linearreplacement)來用新的扇區或塊替代。
當缺陷區或扇區列入PDL時使用滑移替代。如圖2A所示,如果對應於用戶區中的扇區的缺陷扇區m和n被記錄在PDL中,這種缺陷扇區被下一個可利用的扇區來替代。通過用隨後的扇區來替代缺陷扇區,數據被寫入正常扇區。結果,數據被寫入的用戶區滑移並佔據與缺陷扇區同等數量的備用區。
當缺陷區或塊被記錄在SDL中時使用線性替代。如圖2B所示,如果對應於用戶區或備用區中的扇區的缺陷扇區m和n被記錄在SDL上,這種缺陷塊被備用區中的正常塊來替代,並且要被記錄在缺陷塊中的數據被記錄在分配的備用區。為達到這種替代,指定給缺陷塊的物理扇區序號(PSN)保留下來,而邏輯扇區序號(LSN)與要被記錄的數據一起被移動到替代塊。線性替代對數據的非實時處理是有效的。
圖3是光碟記錄/回放裝置涉及寫入操作的部分視圖。光碟R/P裝置包括把數據寫入到光碟並從光碟回收的光拾取器;傳遞或移動光拾取器的拾取器控制器;處理並把輸入數據傳送到光拾取器或者接收並處理經光拾取器再現的數據的數據處理器;控制各部的接口和微處理器(micom)。
而且主機可以連接於光碟R/P裝置的接口以在二者之間傳送命令和數據。這種主機可以是任何一種個人計算機並管理光碟記錄/回放(R/P)裝置。
參考圖3,當提供要被寫入的數據時,主機向裝置提供寫入命令用於數據向/從光記錄介質的R/P。寫入命令包括指定寫入位置的邏輯塊地址(LBA)和告知數據大小的傳送長度。然後主機把要被寫入的數據提供到用於向/從光記錄介質R/P數據的裝置。一接收到數據,用於數據的R/P的裝置從指定LBA開始寫入數據。此時,R/P裝置利用表示光記錄介質上的缺陷的PDL和SDL,不在缺陷區上寫入數據。
即,在PDL上列出的物理扇區在寫入期間被跳過。如圖4A所示,在SDL上列出的物理塊sb1kA和sb1kB在寫入時用指定給備用區的替代塊sb1kC和sb1kD替代。而且在數據寫入或回放期間,如果存在沒有列在SDL上的缺陷塊或存在發生錯誤的可能性很高的塊,該塊被視為缺陷塊。從而,在備用區中定位替代塊,缺陷塊的數據被再次寫入替代塊,並且缺陷塊的第一扇區序號和替代塊的第一扇區序號被列在SDL項中。
參考圖4A,對於文件1,代表具有以通用盤格式(UDF)文件形式寫入上面的文件信息的信息控制塊(ICB)中的開始位置和文件大小的部分的概念上的表達在圖4B中表示出來。當文件1從位置「A」開始時,文件1中的缺陷塊sb1kB用備用區的備用塊sb1kD替代。因此邏輯扇區的數目保留,對於文件1的扇區大小是「N」。
為了通過用在備用區指定的替代塊替代列在SDL上的缺陷塊來寫入數據,光拾取器必須被移動到備用區並被返回到用戶區。但是,移動和返回所需時間周期會干擾實時記錄。因此,提出許多用於實時記錄的缺陷區管理方法。一種是跳過方法,其中在使用SDL時不執行線性替代,但遇到的缺陷塊的數據被寫入缺陷塊後面的好的塊上,象滑移替代一樣。結果,由於光拾取器不需要在光拾取器每次碰到缺陷塊時都移動到備用區,實時記錄中的光拾取器的移動時間可被減少。
此時,缺陷塊保留LSN和PSN。但是,從主機看,光碟中的邏輯扇區的數目是固定的。因此,從主機看,跳過引起了LSN的損失,其等於跳過的塊的數目,因為即使數據不被寫在缺陷塊上,LSN也被分配給跳過的缺陷區。例如,即使100個扇區的數據被傳送來用於從主機寫入,如果在該區中有一個缺陷塊,那麼僅84個扇區被寫入(1塊=16個扇區)。
因此,對於圖4C中的文件1,大小可表示為UDF文件系統的ICB中的N或N-L,如圖4D所示。L代表文件1被寫入的區中被跳過的缺陷扇區的數目。如圖4C所示,文件1的數據從位置「A」被寫入「M」個扇區,直到遇到缺陷塊。缺陷塊被跳過,文件1被繼續寫入。但是,由於缺陷塊sb1kB保留LSN而不把數據寫在缺陷塊sb1kB上,在主機發出命令把數據寫入N個扇區上時,光碟R/P裝置僅把數據寫入N-L個扇區,因為缺陷塊sb1kB的LSN不能使用。
隨後,如果文件1大小是用N來代表,如圖4D中的第一種情況,實際文件大小和寫入文件大小不同,引起文件管理器管理文件中出現問題。另一方面,如果文件1大小是用N-L來代表,如第二種情況,則發生LSN的不一致。例如,如果文件3是在圖4C中的文件2被擦除後新寫入的,主機的文件管理器將產生命令來從C-L位置開始寫入文件3的數據,這裡L是帶有缺陷的扇區的數目。結果原來寫入的文件1的數據將被破壞。因此,當實時數據根據前述方法被寫入時,文件管理器可在文件管理中出錯。
而且,不能使用在實時記錄期間由缺陷區保留的LSN,並且不能記錄相應於這些LSN的數據量。因此,實際上造成盤容量的降低。這是因為響應於來自主機的寫入命令,數據被寫入固定的單元而不管在數據被寫入的區中是否存在缺陷塊或缺陷扇區。
發明內容
因此,根據本發明的一方面,提供一種用於向/從具有控制器的光記錄介質寫入或再生數據的方法,所述光記錄介質包括用於管理缺陷區的缺陷管理區,所述方法包括確定將要寫入的數據是否是實時數據;當將要寫入的數據是實時數據時,將列在缺陷管理區上的關於缺陷區的信息發送至控制器,以便響應在寫入實時數據之前請求所述關於缺陷區的信息的控制信號,寫入實時數據;基於關於缺陷區的信息,產生寫入命令,使得不向將要寫入的所述實時數據分配缺陷區;和響應所述寫入命令,將實時數據寫入到光記錄介質上。
本發明的另一方面提供了一種用於向/從具有控制器的光記錄介質寫入或再生數據的方法,所述光記錄介質包括用於管理缺陷區的缺陷管理區,所述方法包括確定將要寫入的數據是否是實時數據;當將要寫入的數據是實時數據時,將列在缺陷管理區上的關於缺陷區的信息發送至控制器,以便響應在寫入實時數據之前請求所述關於缺陷區的信息的控制信號,寫入實時數據;基於關於缺陷區的信息,產生寫入命令,使得所述實時數據不被寫入在缺陷區上;響應所述寫入命令,將實時數據寫入到光記錄介質上;在響應寫入命令的數據寫入期間,跳過新遇到的缺陷塊;和將數據寫入新遇到的缺陷塊後面的下一個好塊上。
本發明的另一方面提供了一種用於向/從具有控制器的光記錄介質寫入或再生數據的方法,所述光記錄介質包括用於管理缺陷區的缺陷管理區,所述方法包括確定將要寫入的數據是否是實時數據;當將要寫入的數據是實時數據時,將列在缺陷管理區上的關於缺陷區的信息發送至控制器,以便響應請求所述關於缺陷區的信息的控制信號,寫入實時數據;基於關於缺陷區的信息,產生寫入命令,使得所述實時數據不被寫入在缺陷區上;響應所述寫入命令,將實時數據寫入到光記錄介質上;和在響應寫入命令的數據寫入期間,數據像原來一樣寫入在新遇到的缺陷塊上。
本發明的另一方面提供了一種用於向/從具有控制器的光記錄介質寫入或再生數據的方法,所述光記錄介質包括用於管理缺陷區的缺陷管理區,所述方法包括確定將要寫入的數據是否是實時數據;當將要寫入的數據是實時數據時,將列在缺陷管理區上的關於缺陷區的信息發送至控制器,以便響應請求所述關於缺陷區的信息的控制信號,寫入實時數據;基於關於缺陷區的信息,產生寫入命令,使得所述實時數據不被寫入在缺陷區上;響應所述寫入命令,將實時數據寫入到光記錄介質上;和在響應寫入命令的數據寫入期間,執行下列操作之一像原來一樣在新遇到的缺陷塊上寫入數據,或跳過新遇到的缺陷塊。
本發明的另外的優點、目的和特徵將部分地在下面的描述中提出,並且其它部分對本領域技術人員而言在閱讀下面的描述後會變得更明顯,或者可從本發明的實踐中領會。本發明的目的和優點由後附權利要求來實現和達到。
本發明將參考下面的附圖來具體描述,其中相同的序號表示相同的部件,這裡圖1是相關技術中可重寫光碟的結構;圖2A是相關技術中的滑移替代;圖2B是相關技術中的線性替代;圖3是相關技術中在光碟上R/P數據的裝置的框圖;圖4A是在使用SDL時通過線性替代來在光碟上寫入數據時的狀態;圖4B用於圖4A所示的文件的UDF文件系統的寫入狀態的概念表示;圖4C是在使用SDL時通過跳過來在光碟上寫入數據時的狀態;圖4D是用於圖4C所示的文件的UDF文件系統的寫入狀態的概念表示;圖5是表示根據本發明的第一實施例用於向/從光記錄介質實時R/P數據的方法和用於管理文件的方法中跳過新遇到的缺陷塊的流程圖;圖6A是在新遇到的缺陷塊在圖5中被跳過後一旦完成寫入命令時關於缺陷塊的信息就被提供給主機的狀態;圖6B是把光碟上的缺陷信息返回圖5中的主機的要求讀出數據的結構;圖6C是用於圖6A所示的文件的UDF文件系統的寫入狀態的概念表示;圖7是表示根據本發明的第一實施例用於向/從光記錄介質實時R/P數據的方法和用於管理文件的方法中跳過新遇到的缺陷塊的另一個流程圖;圖8A是在圖7中遇到新的缺陷塊時寫入命令結束並且關於缺陷塊的信息被提供給主機的狀態;圖8B是把光碟上的缺陷信息返回圖7中的主機的要求讀出數據的結構;圖9是表示根據本發明的第一實施例用於向/從光記錄介質實時R/P數據的方法和用於管理文件的方法中象原來一樣在新遇到的缺陷塊上寫入的流程圖;圖10A是數據通過圖9中的實時記錄數據的方法被寫入的狀態;圖10B表示在圖10A所示的文件上UDF文件系統的寫入狀態的概念表示;圖11是根據本發明的第二優選實施例用於向/從光記錄介質實時R/P數據的方法和用於管理文件的方法;圖12是數據通過實時記錄數據的方法被寫入的狀態。
具體實施例方式
將具體參考附圖中本發明的優選實施例進行說明。
在本發明的第一實施例中,如果提供用於實時寫入的數據,主機提前提供要求關於缺陷區的信息的信號給向/從光碟進行數據R/P的裝置。主機利用從R/P裝置返回的關於缺陷區的信息產生寫入命令來寫入數據。在本發明的第二實施例中,如果提供用於實時寫入的數據,主機提前提供用於實時記錄的命令。然後當從R/P裝置返回在對應於該命令的塊內關於缺陷區的信息時,主機提供新的寫入命令來寫入數據。
本發明還包括處理在數據寫入期間新遇到的缺陷塊的方法。在一個方法中,缺陷塊被跳過並且數據被寫入在缺陷塊後面的好塊上。另一個方法是,如果遇到新的缺陷塊就結束寫入命令並且從主機接收新的寫入命令來繼續數據的寫入。而且還有一個方法是,象原來一樣在缺陷塊上寫入數據。這些處理新遇到的缺陷塊的方法可應用於本發明的第一和第二實施例。第一和第二實施例將在下面解釋。
第一實施例圖5是表示根據本發明的第一優選實施例用於向/從光記錄介質實時R/P數據的方法和用於管理文件的方法的流程圖。
當提供用於實時記錄的數據時(步驟501),在主機提供寫入命令之前,主機給向/從光碟R/P數據的裝置提供要求關於盤的缺陷區的信息的控制信號(步驟502)。作為輔助信號,要求關於缺陷區的信息的控制信號可以以類似地方式被提供給用於返回PDL信息的命令類型,也可以不被提供。
一接收到來自主機的控制信號,R/P裝置返回關於列在DMA上的缺陷區的信息(步驟503)。被返回主機的關於缺陷區的信息可以是列在SDL和PDL上的缺陷塊和缺陷扇區的位置信息,或是列在SDL上的缺陷塊的位置信息。如圖6A所示,塊sb1kA和sb1kB是列在SDL中的缺陷塊並且這些缺陷塊的位置信息被微計算機返回主機。
微計算機可把列在SDL上的缺陷塊的第一扇區的PSN轉換為LSN以用作缺陷塊的位置信息。在這種情況下,返回主機的LSN和15個隨後的扇區被確定為是有缺陷的。而且,通過設置預定的信號,在主機提供預定的信號給R/P裝置時,關於缺陷區的信息可被返回主機,即使不執行實時寫入。
主機參考返回的關於缺陷區的信息和現存的文件結構產生寫入命令。寫入命令與實時數據一起被傳送給R/P裝置(步驟504和505)。即主機產生寫入命令從而數據不被寫入列在SDL上的缺陷區上,也不被寫入新遇到的缺陷區上。
參考圖6A作為示例,如果響應於來自主機的請求,關於盤的缺陷區的信息在位置「A」被返回主機,主機獲知缺陷區。因此,主機把相關的數據與用於在從位置「A」開始的接下來的M個扇區中寫入數據的命令一起提供給R/P裝置。然後R/P裝置如寫入命令所指示的一樣從位置「A」開始寫入數據(步驟506)。此時,寫入命令可以是提前指示數據要被寫入的位置的命令或者是包括要被指定的位置的寫入命令。
如果找到具有高的錯誤可能性的缺陷塊,即使缺陷塊不列在SDL上,該新的缺陷塊可被跳過並且數據將被寫在缺陷塊之後的好塊上。另一種情況是,如圖8A所示,寫入命令在一發現新的缺陷塊時被終止,將從主機接收新的寫入命令以寫入數據。最後,在一發現新的缺陷時,數據也可與原來一樣被簡單地寫在新的缺陷塊上,如圖10A所示。
例如,假設形成新的EEC塊的時間周期是足夠的,當遇到新的缺陷塊,尤其是帶有物理標識(PID)錯誤的缺陷塊時,該塊可被跳過而不在那裡寫入數據,如圖6A和8A所示。但是,如果形成新的EEC塊的時間周期是不足夠的,數據將被與原來一樣寫入在缺陷塊上,如圖10A所示。
圖5和6表示跳過新遇到的缺陷塊和在新遇到的缺陷塊後面的好塊上寫入數據的示例。具體地說,如果在寫入命令指定的位置處寫入數據期間遇到新的缺陷塊(步驟507),微計算機跳過該塊並且把數據寫入在跳過的塊之後的下一個可利用的好塊上(步驟508)。此後,微計算機確定來自主機的寫入命令是否已經被終止(步驟509)。如果寫入命令未被終止,在寫入命令指定的位置寫入數據的同時,處理返回步驟506以進行檢查缺陷塊的處理。如果寫入命令被終止,在寫入命令期間被跳過的缺陷塊的信息被返回主機(步驟510)。在步驟510,如果沒有缺陷塊,代表好的狀態的信息被返回主機。
而且,通過預定的協議或信號,而不是通過命令,在寫入數據期間主機可要求寫入的當前狀態。從而,一產生信號,R/P裝置將提供所要求的信息給主機。如果沒有協議,在完成寫入命令後,關於寫入的信息被提供給主機。
在各種方法之一中關於缺陷塊的信息可被返回主機。在一種方法中,利用如圖6B所示的要求讀出數據返回該信息。當完成寫入命令時,微計算機把命令執行報告返回主機。此時,通過把該信息記錄到要求讀出數據的輔助區將關於被跳過的缺陷塊的信息返回。
例如,R/P裝置根據來自主機的寫入命令通過跳過方法把數據實時寫入,如圖6A所示,直到寫入命令終止。此時,R/P裝置把代表錯誤等存在的檢查狀態(CHECK CONDITION Status)提供給主機。一接收到檢查狀態,主機把要求讀出命令傳送給R/P裝置以要求錯誤代碼。從而R/P裝置把要求讀出數據返回到主機,如圖6B所示。
即,關於跳過的缺陷塊的信息從要求讀出數據的附加區中的第15個字節開始被寫入並被返回主機。這種可能性是因為要求讀出數據的字節長度可變化並且由於信息的附加引起的附加長度可被寫入在第7位元組附加讀出長度上。因此,本發明利用但是保持現有的要求讀出數據來返回關於缺陷區的信息。
由於每次寫入命令終止時R/P裝置把關於在執行命令期間被跳過的缺陷塊的信息返回主機,跳過的塊的數目改變。因此,從第15位元組開始,該信息可以以3或4位元組為單元被寫入在要求讀出數據上。而且寫入在要求讀出數據上的關於各個缺陷塊的信息包括跳過的塊中第一扇區的LSN。如果在執行一個寫入命令期間發現兩個缺陷塊,兩個LSN被寫入在要求讀出數據的附加區並被返回主機。然後主機把返回主機的LSN和此後的15個扇區當作有缺陷的。
參考圖5,在R/P裝置提供報告給主機後,作出文件的寫入是否完成的判定(步驟511)。如果寫入未完成,處理繼續到步驟504,並且提供新的寫入命令來完成文件的寫入。
如圖6A所示,如果第二個寫入命令在位置「B」開始,主機已經獲知關於列在SDL上的缺陷塊sb1kA和sb1kB的信息。因此,主機提供寫入命令使得數據不被寫入在缺陷扇區sb1kA和sb1kB上。例如,將對從位置「D」開始並且不包括缺陷塊sb1kA的P個扇區寫入數據的寫入命令與要被寫入的數據一起提供。此時,寫入命令可以是用於從位置「D」開始對P個扇區寫入數據的命令或用於從現有文件的任何空閒區開始寫入數據的命令。但是,寫入命令不包括缺陷區,導致由於缺陷區引起的寫入命令的分段。
因此,主機必須產生和提供很多寫入命令來完成一個文件的寫入。但是,即使寫入命令被缺陷區分割,本發明可容易地與現有系統組合而無需明顯的變化。每次寫入命令根據前述的處理被完成,微計算機提供命令執行報告給主機。這些報告的大多數包括代表好的狀態的信息,因為寫入命令排除了缺陷區從主機來提供。
一完成文件的寫入,如圖6C所示,主機參考關於被返回的缺陷區的位置信息寫入一個ICB,代表光碟上UDF文件系統中文件的開始位置和大小(步驟512)。如果以圖6A中的文件1為示例,文件1從位置「A」開始被寫入H個扇區,這裡遇到一個新的缺陷塊。新的缺陷塊被跳過並且文件1從位置「G」開始被寫入T個扇區。在從位置「D」對文件1寫入P個扇區並通過提前提供關於列在SDL上的缺陷塊sb1kA和sb1kB的信息而從位置「E」開始的對文件1的U個扇區的寫入後完成文件1的寫入。
最終,文件1的ICB被分為具有開始位置「A」和大小H的子文件、具有開始位置「G」和大小T的子文件、具有開始位置「D」和大小P的子文件和具有開始位置「E」和大小U的子文件。即在文件1的寫入區中出現的缺陷區sb1kA、sb1kB和sb1kE不被寫入在ICB上。結果不會產生寫入文件的大小與實際文件的大小之間的不一致和由於缺陷區引起的LSN的不一致。結果由於這種不一致而使文件管理器出現的錯誤也被排除。
而且,這種ICB可在保持現有UDF文件系統的同時來產生。即使在現有系統中,一個文件通常通過移向空閒區而不是連續地被寫入,導致文件的分段。類似地,ICB簡單地把一個文件分段。本發明把缺陷區當作生成ICB時的區的移動引起的跳過區,從而與現有文件系統不產生衝突。而且,由於缺陷區保持LSN而不被寫入ICB上,在寫入期間可通過線性替代使用缺陷區。通過用備用區中的備用塊來替代寫入期間遇到的缺陷塊,線性替代允許使用盤的整個用戶區。從而盤的使用效率提高。由於主機在進行實時記錄控制時盤結構是未知的狀態中接收關於盤的缺陷的信息,主機上的負載可被減小。
圖7是表示通過響應於寫入命令在寫入期間跳過未列在SDL上的新遇到的缺陷塊向/從光介質實時R/P數據的另一個方法的流程圖。由於與圖5中的步驟501到506相同,關於步驟601到606的解釋將被省略。
參考圖8A,當在寫入命令指定的位置寫入數據期間遇到帶有高錯誤發生可能性的缺陷塊時(步驟607),微計算機強迫停止寫入命令並把關於缺陷塊的信息返回主機(步驟608)。一接收到關於缺陷塊的信息,主機提供新的命令從而數據可從缺陷塊之後的下一個好塊開始被寫入(步驟609)。一接收到新的寫入命令,R/P裝置在命令指定的位置即在好塊上寫入數據。
關於缺陷區的信息可以以各種方法被提供給主機,一種方法是通過利用要求讀出數據,如圖8B所示。例如R/P裝置繼續從位置「A」開始寫入H個扇區的實時數據,如圖8A所示,直到遇到缺陷塊sb1kE。此時,裝置把檢查狀態(CHECK CONDITION Status)返回主機。一接收到檢查狀態,主機傳送要求讀出命令給R/P裝置以要求錯誤代碼。從而R/P裝置把要求讀出數據返回主機,如圖6B所示。
要求讀出數據具有15個字節,其中第8、第9、第10和第11位元組被保留用於缺陷信息的傳送。由於R/P裝置在每次遇到缺陷塊時停止寫入命令並把關於缺陷區的信息返回主機,缺陷信息被寫入在要求讀出數據的保留的第8到第11位元組上並被返回主機。
例如,數據根據寫入命令被記錄其上的扇區序號(寫入的扇區序號)可被寫入在第8和第9位元組上,並且連續的缺陷扇區序號可別寫入在第10和第11位元組上。連續的缺陷扇區序號被返回以防止主機產生和提供在同樣連續的缺陷扇區上寫入數據的命令。如果在寫入期間遇到缺陷可能性高的塊,微計算機把寫入的扇區序號和缺陷塊的16個扇區當作連續的缺陷扇區序號並把它返回主機。這是因為如果缺陷扇區在寫入期間被遇到,缺陷扇區所屬的整個塊被視為有缺陷的並被列在SDL上。
從微計算機一接收到帶有在其上被寫入的缺陷信息的要求讀出數據,主機參考寫入的扇區序號和缺陷扇區序號提供新的寫入命令。具體地說,利用來自微計算機的缺陷信息,新的寫入命令包括缺陷扇區或塊之後的下一個好塊的第一扇區序號的LBA。因此,從主機一接收到新的寫入命令,R/P裝置中的微計算機繼續從指定位置即缺陷塊之後的好塊開始寫入數據。
每次在向光碟上寫入數據期間遇到缺陷區時,R/P裝置和主機重複前述的處理。如果來自主機的寫入命令正常結束(步驟610),即如果在執行寫入命令期間沒有遇到缺陷塊,微計算機把好的狀態返回主機(步驟611)。通過預定的協議或信號而不是命令,主機可要求數據寫入期間的寫入的當前狀態。從而一產生信號,R/P裝置將提供要求的信息給主機。如果沒有協議,在寫入命令終止後微計算機把關於寫入的缺陷信息提供給主機。
當一個文件的寫入完成後(步驟612),參考在R/P裝置中光碟上提供的缺陷信息,主機寫出ICB,代表UDF文件系統中文件的開始位置和大小(步驟613)。圖8A所示的文件1的ICB示例如圖6C所示被寫出。即微計算機從位置「A」開始寫入H個扇區的文件1,此處遇到一個缺陷塊。然後微計算機停止寫入命令,把缺陷信息返回主機,從主機接收新的寫入命令,並繼續從位置「G」開始寫入T個扇區的文件1的數據。文件1的寫入在從位置「D」對文件1寫入P個扇區、並通過提前提供關於列在SDL上的缺陷塊sb1kA和sb1kB的信息而從位置「E」開始的對文件1的U個扇區的寫入後完成。
最終,文件1的ICB被分為具有開始位置「A」和大小H的子文件、具有開始位置「G」和大小T的子文件、具有開始位置「D」和大小P的子文件和具有開始位置「E」和大小U的子文件。即在文件1的寫入區中出現的缺陷區sb1kA、sb1kB和sb1kE不被寫入在ICB上。結果是不產生寫入文件的大小與實際文件的大小之間的不一致和由於缺陷區引起的LSN的不一致。結果是由於這種不一致而使文件管理器出現的錯誤也被排除。
圖9是表示在響應於寫入命令寫入期間一遇到沒有列在SDL中的缺陷塊時通過與原來一樣在缺陷塊上寫入的向/從光記錄介質實時R/P數據的另一種方法的流程圖。由於與圖5中的步驟501到505相同,關於步驟701到705的解釋將被省略。
根據該方法,即使在寫入命令指定的位置寫入數據期間遇到錯誤可能性高的缺陷塊,數據可象原來一樣簡單地被寫入在缺陷塊上(步驟706)。如圖10A所示,數據繼續象原來一樣被寫入在新遇到的缺陷塊上,直到終止執行來自主機的寫入命令。因此,當在寫入數據「M」個扇區後終止寫入命令時(步驟507),R/P裝置把好的狀態的命令執行報告提供給主機(步驟508)。儘管好的狀態被返回主機,微計算機增加關於SDL中的缺陷塊的在下一個寫入期間要被返回主機的信息。
類似於先前的方法,通過預定的協議或信號,而不是命令,主機可要求寫入數據期間的寫入的當前狀態。因此一產生信號,R/P裝置將提供要求的信息給主機。如果沒有協議,在執行寫入命令之後,微計算機提供關於寫入的缺陷信息給主機。
如果用戶要求或文件寫入沒有完成,主機繼續產生並提供寫入命令。由於圖10A的缺陷塊sb1kA和sb1kB被列在SDL上,產生寫入命令使得數據不被寫入在缺陷塊sb1kA和sb1kB上。例如主機可產生寫入命令以從不包括缺陷塊sb1kA的位置「D」寫入P個扇區的數據,並把寫入命令與相關數據一起傳送給R/P裝置。寫入命令可以是對從位置「D」開始的P個扇區來寫入數據的命令或是用於從現有文件的任何空閒區開始寫入數據的命令。但是,寫入命令不包括缺陷區,導致由於缺陷區引起的寫入命令的分段。
每次寫入命令結束時微計算機提供命令執行報告給主機。這些命令執行報告的大多數代表好的狀態,因為寫入命令從主機產生時排除了缺陷區。
一完成文件的寫入(步驟709),如圖6C所示,主機參考關於被返回的缺陷區的位置信息寫入一個ICB,代表光碟上UDF文件系統中文件的開始位置和大小(步驟710)。與相關技術中的不考慮缺陷區而以「N」或「N-L」代表文件的大小不同,本發明中,如果缺陷塊被列在SDL上,代表文件大小的扇區數目被缺陷塊分開地寫入。如果在兩個或多個連續寫入命令內沒有缺陷塊列在SDL上,這些連續的寫入命令被視為是連續的。相應於這些連續的寫入命令的扇區被增加來作為連續寫入命令被寫入。
圖10A所示的扇區Q、R和S是這種連續寫入命令的示例。如果以圖10A中的文件1作為示例,文件1的ICB通過被分為具有開始位置「A」和大小M的子文件、具有開始位置「D」和大小P的子文件和具有開始位置「E」和大小Q+R+S的子文件而被寫入。在文件1的寫入區中出現的缺陷區sb1kA和sb1kB不被寫入在ICB上。圖10B表示圖10A的文件1的ICB。結果是不會產生寫入文件的大小與實際文件的大小之間的不一致和由於缺陷區引起的LSN的不一致。結果是由於這種不一致而使文件管理器出現的錯誤也被排除。
第二實施例圖11是本發明的第二實施例,其中在SDL上列出的缺陷塊被返回主機,並且如果產生實時數據,主機產生和傳送實時寫入命令給R/P裝置。一接收到寫入命令,R/P裝置在寫入數據之前確定寫入命令指定的寫入區中的SDL上列出的缺陷塊的存在。如果缺陷塊存在,R/P裝置把缺陷塊的位置信息返回主機,並接收來自主機的新的寫入命令以寫入數據。文件系統以返回的缺陷塊為單位而被管理。
當提供要被實時寫入的數據時,主機把要被寫入在光碟上的數據與用於控制實時記錄的命令一起提供給R/P裝置(步驟801)。為了管理文件,在把數據在寫入命令所指定的位置處寫入之前,R/P裝置檢查列在SDL上的缺陷塊的存在(步驟802)。如果至少一個缺陷塊被列在SDL上,缺陷塊的位置信息被返回主機(步驟803)。
例如參考圖12,用於寫入文件1的數據的實時寫入命令從位置「A」開始有N1個扇區。微計算機檢查列在N1個扇區中SDL上的任何缺陷塊的存在。當塊sb1kA和sb1kB列在SDL上時,微計算機把關於這些缺陷塊的位置信息返回主機。儘管位置信息可通過各種方法被返回,在優選實施例中,缺陷塊的位置信息利用參考圖6B或8B解釋的要求讀出數據被提供給主機。
即如圖12所示,一接收到用於從位置「A」開始的N1個扇區上寫入數據的實時寫入命令,R/P裝置中的微計算機檢查在N1個扇區中的SDL上列出的缺陷塊的存在。如果缺陷塊存在,裝置把檢查狀態(CHECK CONDITION Status)返回主機。一接收到檢查狀態,主機提供要求讀出命令給R/P裝置來要求錯誤代碼。從而R/P裝置象圖6B或8B所示一樣把要求讀出數據返回主機。R/P裝置可以如圖8B所示的一樣返回N1個扇區的第一缺陷塊sb1kA的位置信息或返回如圖6B所示的寫入命令指定的區內的所有缺陷塊sb1kA和sb1kB的位置信息。
因此,從微計算機一接收到具有缺陷塊位置信息的要求讀出數據,主機產生新的寫入命令,即,使得數據不被寫入缺陷塊上的命令。新的寫入命令被傳送到R/P裝置(步驟804)。寫入命令可以是用於從位置「D」開始對P個扇區寫入數據的命令或用於從現有文件的任何空閒區開始寫入數據的命令。由於主機可對一個文件提供很多寫入命令,用於一個文件的寫入命令可被分割。
如果新的寫入命令是用於從位置「A」開始對M個扇區寫入數據的命令,如圖12所示,R/P裝置開始從位置「A」寫入數據(步驟805)。如果遇到沒有列在SDL上的新的缺陷塊如sb1kE,參考第一實施例解釋的方法將類似地可用於第二實施例。因此,新遇到的缺陷塊可如圖5和7所示被跳過,或者數據可象圖9所示一樣被寫入在缺陷塊上。
當完成了寫入命令時,即數據被寫入M個扇區(步驟806),微計算機給主機提供命令執行報告(步驟807)。而且通過預定的協議或信號,而不是命令,主機可要求數據寫入期間的寫入的當前狀態。從而,一產生信號,R/P裝置將提供要求的信息給主機。如果沒有協議,在寫入命令的執行結束後,R/P裝置提供關於寫入的缺陷信息給主機。
以圖12的文件1為示例,在完成在M個扇區上寫入數據的寫入命令後,一個文件的寫入未完成。因此主機繼續提供寫入命令給R/P裝置。因為主機具有關於列SDL上的缺陷塊sb1kA和sb1kB的信息,主機提供新的寫入命令使得數據不被寫入在缺陷塊sb1kA和sb1kB上。即,提供用於從位置「D」開始對P個扇區寫入數據的命令。如果在寫入命令中沒有缺陷塊,象R扇區和S扇區一樣,每次寫入命令完成時,好的狀態將被返回主機。
根據前述的處理寫入文件一完成(步驟808),如圖10B所示,主機參考返回的缺陷塊的位置信息寫入代表光碟上的UDF文件系統中文件的開始位置和大小的ICB(步驟809)。圖12中的文件1的ICB通過被分為具有開始位置「A」和大小M的子文件、具有開始位置「D」和大小P的子文件和具有開始位置「E」和大小Q+R+S的子文件而被寫入。在文件1的寫入區中的缺陷區sb1kA和sb1kB不被寫入在ICB上。如果遇到並跳過新的缺陷塊sb1kE,新的缺陷塊sb1kE也不被寫入在ICB上。
結果是不會產生寫入文件的大小與實際文件的大小之間的不一致和由於缺陷區引起的LSN的不一致。結果,由於這種不一致而使文件管理器出現的錯誤也被排除。而且在保留現有UDF文件系統的同時可產生這種ICB。即使在現有的系統中,一個文件通常通過移向空閒區而不是連續地被寫入,導致文件的分段。類似地,ICB簡單地把一個文件分段。本發明把缺陷區當作生成ICB時的區的移動引起的跳過區,從而與現有文件系統不產生衝突。而且,由於缺陷區保持LSN而不被寫入ICB上,在寫入期間可通過線性替代使用缺陷區。通過用備用區中的備用塊來替代寫入期間遇到的缺陷塊,線性替代允許使用盤的整個用戶區。從而盤的使用效率提高。由於主機在進行實時記錄控制時盤結構是未知的狀態中接收關於盤的缺陷的信息,主機上的負載可被減小。
本發明參考主機和用於向/從光碟記錄/回放數據的裝置進行了描述。當僅提供R/P裝置而沒有主機時,如盤播放器,R/P裝置中的微計算機直接控制上述過程。因此,具有DMA上寫入的關於缺陷區的信息,R/P裝置中的微計算機讀出關於缺陷塊的信息和關於當前文件結構的信息以提供寫入命令。即,寫入命令在實時記錄期間將數據寫入當前文件結構而不將數據寫入缺陷區。在這種情況下,該命令可與提供給主機的命令不同。
ICB寫出也由微計算機來進行,這裡代表文件大小的扇區數目被缺陷塊分開地寫入,並且對兩個或多個連續寫入命令增加寫入命令中的扇區數目,如圖10B所示。另一方面,在從光碟回放數據期間,主機或盤播放器參考前述文件結構提供讀出命令,從而數據將不從缺陷區被讀出。
總之,根據本發明用於向/從光記錄介質實時R/P數據的方法和用於管理其文件的方法具有如下的優點。由於在提供實時數據時主機通過提供信號給R/P裝置來要求關於缺陷區的信息使得控制數據寫入,主機可提供寫入命令使得基於從R/P裝置返回的關於缺陷區的信息,數據不被寫入在缺陷區。另一種情況是,由於主機通過提供寫入命令給R/P裝置來控制數據寫入,R/P裝置對其響應返回關於缺陷區的信息,主機可提供一寫入命令使得基於從R/P裝置返回的關於缺陷區的信息,數據不被寫入在缺陷區上。
而且在進行實時記錄時,不會發生實際文件大小與寫入文件大小的不同或LSN的不一致。由於缺陷區保持為ICB上的空閒區,同時缺陷區保持LSN,通過允許在下一個線性替代中使用缺陷區而提高了效率。而且,由於ICB通過把缺陷區當作通過移動而引起的跳過區而被寫入,不會與現有文件系統發生衝突,從而保持與現有UDF文件系統的可互換性。最後,由於在實時記錄控制期間,主機在盤結構未知的狀態中接收缺陷信息,主機的負載可被減小。
前述的實施例僅是示例並不構成對發明的限制。本發明的教導可容易地被應用於其它類型的裝置。本發明的描述意在示例本發明,而不限制權利要求的範圍。對本領域技術人員而言顯然可進行許多替代、修改和變化。
權利要求
1.一種用於向/從具有控制器的光記錄介質寫入或再生數據的方法,所述光記錄介質包括用於管理缺陷區的缺陷管理區,所述方法包括確定將要寫入的數據是否是實時數據;當將要寫入的數據是實時數據時,將列在缺陷管理區上的關於缺陷區的信息發送至控制器,以便響應於在寫入實時數據之前請求所述關於缺陷區的信息的控制信號,寫入實時數據;基於關於缺陷區的信息,產生寫入命令,使得不向將要寫入的所述實時數據分配缺陷區;和響應所述寫入命令,將實時數據寫入到光記錄介質上。
2.如權利要求1的方法,其中關於缺陷區的信息是列在缺陷管理區的次要缺陷列表上的缺陷塊的位置信息。
3.如權利要求2的方法,其中,關於缺陷區的信息是次要缺陷列表中列出的各個缺陷塊的第一扇區序號。
4.如權利要求2的方法,其中關於缺陷區的信息像原來一樣保留邏輯扇區序號。
5.如權利要求1的方法,其中關於缺陷區的信息是列在主要缺陷列表和次要缺陷列表上的缺陷塊的位置信息,所述主要缺陷列表和次要缺陷列表包含於缺陷管理區中。
6.如權利要求1的方法,進一步包括一旦完成實時數據記錄,就參考關於缺陷區的信息寫入關於文件結構的信息。
7.如權利要求1的方法,其中根據缺陷塊的信息生成的寫入命令是新的寫入命令。
8.如權利要求7的方法,進一步包括在響應於實時寫入命令或新的寫入命令之一的數據寫入期間,跳過新遇到的缺陷塊;和將數據寫入新遇到的缺陷塊後面的下一個好塊上。
9.如權利要求7的方法,進一步包括一旦新遇到缺陷塊,就終止實時寫入命令或新的寫入命令之一,並響應已終止的實時寫入命令或新的寫入命令之一,在數據寫入期間發送關於新遇到的缺陷塊的信息;和根據關於新遇到的缺陷塊的信息,生成第二個新的寫入命令。
10.一種用於向/從具有控制器的光記錄介質寫入或再生數據的方法,所述光記錄介質包括用於管理缺陷區的缺陷管理區,所述方法包括確定將要寫入的數據是否是實時數據;當將要寫入的數據是實時數據時,將列在缺陷管理區上的關於缺陷區的信息發送至控制器,以便響應在寫入實時數據之前請求所述關於缺陷區的信息的控制信號,寫入實時數據;基於關於缺陷區的信息,產生寫入命令,使得所述實時數據不被寫入在缺陷區上;響應所述寫入命令,將實時數據寫入到光記錄介質上;在響應寫入命令的數據寫入期間,跳過新遇到的缺陷塊;和將數據寫入新遇到的缺陷塊後面的下一個好塊上。
11.如權利要求10的方法,進一步包括一旦寫入命令終止,就向控制器發送關於跳過的缺陷塊的信息。
12.如權利要求10的方法,進一步包括在響應寫入命令的數據寫入期間,一旦新遇到缺陷塊就結束寫入命令,並且發送關於新遇到的缺陷塊的信息;和根據新遇到的缺陷塊的信息,生成新的寫入命令.
13.如權利要求12的方法,其中關於新遇到的缺陷塊的信息是寫入扇區序號和連續的缺陷扇區序號。
14.如權利要求10的方法,進一步包括在響應寫入命令的數據寫入期間,數據像原來一樣寫入在新的缺陷塊上。
15.如權利要求14的方法,其中基於關於缺陷區的信息,對於一文件寫出的信息控制塊被缺陷區分開,並且缺陷區沒有被寫在信息控制塊上。
16.如權利要求15的方法,其中如果缺陷塊處於由實時寫入命令指定的位置,則返回關於缺陷區的信息。
17.如權利要求15的方法,進一步包括在響應實時寫入命令或新的寫入命令之一的數據寫入期間,數據像原來一樣寫入在新的缺陷塊上。
18.一種用於向/從具有控制器的光記錄介質寫入或再生數據的方法,所述光記錄介質包括用於管理缺陷區的缺陷管理區,所述方法包括確定將要寫入的數據是否是實時數據;當將要寫入的數據是實時數據時,將列在缺陷管理區上的關於缺陷區的信息發送至控制器,以便響應請求所述關於缺陷區的信息的控制信號,寫入實時數據;基於關於缺陷區的信息,產生寫入命令,使得所述實時數據不被寫入在缺陷區上;響應所述寫入命令,將實時數據寫入到光記錄介質上;和在響應寫入命令的數據寫入期間,數據像原來一樣寫入在新遇到的缺陷塊上。
19.如權利要求18的方法,進一步包括一旦寫入命令結束,就向控制器發送關於新遇到的缺陷塊的信息。
20.如權利要求18的方法,進一步包括在響應寫入命令的數據寫入期間,一旦新遇到缺陷塊就結束寫入命令,並且發送關於新遇到的缺陷塊的信息;和根據新遇到的缺陷塊的信息,生成新的寫入命令。
21.如權利要求20的方法,其中關於新遇到的缺陷塊的信息是寫入扇區序號和連續的缺陷扇區序號。
22.如權利要求18的方法,基於關於缺陷區的信息,對於一文件寫出的信息控制塊被缺陷區分開,並且缺陷區沒有被寫在信息控制塊上。
23.如權利要求22的方法,其中如果缺陷塊處於由實時寫入命令指定的位置,則返回關於缺陷區的信息。
24.如權利要求18的方法,其中關於缺陷區的信息像原來一樣保留邏輯扇區序號。
25.一種用於向/從具有控制器的光記錄介質寫入或再生數據的方法,所述光記錄介質包括用於管理缺陷區的缺陷管理區,所述方法包括確定將要寫入的數據是否是實時數據;當將要寫入的數據是實時數據時,將列在缺陷管理區上的關於缺陷區的信息發送至控制器,以便響應請求所述關於缺陷區的信息的控制信號,寫入實時數據;基於關於缺陷區的信息,產生寫入命令,使得所述實時數據不被寫入在缺陷區上;響應所述寫入命令,將實時數據寫入到光記錄介質上;和在響應寫入命令的數據寫入期間,執行下列操作之一像原來一樣在新遇到的缺陷塊上寫入數據,或跳過新遇到的缺陷塊。
26.如權利要求25的方法,進一步包括如果在執行步驟中跳過新遇到的缺陷塊,則把數據寫入在新遇到的缺陷塊後面的下一個好塊上。
全文摘要
公開了一種用於向光記錄介質實時記錄數據並從光記錄介質實時回放數據的方法及管理其文件的方法。在本發明中,主機通過在提供寫入命令之前提供要求關於缺陷區的信息的信號給用於向/從光記錄介質記錄/回放數據的裝置來控制實時數據的寫入。因此,基於返回的關於缺陷區的信息產生寫入命令,使得數據不被寫在缺陷區上。另一種情況是,可首先提供寫入命令給用於向/從光碟記錄/回放數據的裝置,該裝置則返回關於缺陷區的信息。從而基於返回的關於缺陷區的信息,主機產生並提供新的寫入命令,使得數據不被寫入在缺陷區上。
文檔編號G11B20/18GK1482613SQ0314243
公開日2004年3月17日 申請日期1999年7月15日 優先權日1998年7月29日
發明者樸容澈, 鄭圭和, 申種仁 申請人:Lg電子株式會社