欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

預(yù)處理方法,信息讀/寫方法,輸入/輸出設(shè)備及讀/寫設(shè)備的制作方法

文檔序號(hào):6409287閱讀:401來源:國知局
專利名稱:預(yù)處理方法,信息讀/寫方法,輸入/輸出設(shè)備及讀/寫設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明是關(guān)于對(duì)大容量可寫入記錄介質(zhì)(諸如光盤)進(jìn)行預(yù)處理和向該記錄介質(zhì)寫入信息和從中讀出信息的方法和設(shè)備。
近來,CD—ROM(緊致盤—只讀存貯器)被廣泛地用作信息讀出設(shè)備。以CD—DA(緊致盤—數(shù)字音響)技術(shù)為基礎(chǔ)的CD—ROM具有容量大和費(fèi)用低的優(yōu)點(diǎn)。由于這些特點(diǎn),軟件供應(yīng)商把CD—ROM用作為向大量用戶提供應(yīng)用程序的最合適的介質(zhì)。對(duì)用戶而言,CD—ROM只有讀出或者說再生的功能。因此,必須用其他的信息讀/寫裝置來記錄信息。由于這一原因,已做出很大努力去開發(fā)能向盤中記錄或?qū)懭氪罅啃畔⒉⒛軓谋P中再生或讀出信息的設(shè)備?,F(xiàn)在有根據(jù)所謂橙皮書的標(biāo)準(zhǔn)書實(shí)現(xiàn)標(biāo)準(zhǔn)化的CD—WO(緊致盤—一次寫)和CD—MO(緊致盤—磁光盤)。前者是螺紋(worm)型的,已投入市場(chǎng)。后者是可再寫入型的,正處于實(shí)際應(yīng)用前夕。
一種共同的實(shí)踐是,信息編碼狀態(tài)是在把信息記入記錄介質(zhì)(如各種CD)之前對(duì)信息加上錯(cuò)誤校正碼。一種稱作交叉交錯(cuò)讀—所羅門(Solomon)編碼(CIRC)的錯(cuò)誤校正碼包括對(duì)盤制作階段引起的1或2比特小錯(cuò)誤(稱作隨機(jī)錯(cuò))具有極小校正能力的讀—所羅門編碼以及在預(yù)定規(guī)則下通過將數(shù)據(jù)彌散(稱作交錯(cuò)數(shù)據(jù))將段(burst)錯(cuò)誤轉(zhuǎn)換成隨機(jī)錯(cuò)的手段,這種手段有很好的能力去減小由于灰塵、盤上的缺陷以及控制設(shè)備中的擾動(dòng)所造成的持續(xù)較長時(shí)間的故障(稱作段錯(cuò)誤)。
在未檢驗(yàn)日本專利公告Sho63-81661號(hào)中披露了一種讀/寫信息單元轉(zhuǎn)換方法。在這個(gè)公告中,介質(zhì)讀寫單元的個(gè)數(shù)選定為記錄介質(zhì)上每道(記錄介質(zhì)上的一圈)的扇區(qū)數(shù)。按這種方法,消除了向記錄介質(zhì)或從介質(zhì)傳送信息之前的道等待時(shí)間。從而減小了讀/寫執(zhí)行時(shí)間。
在一個(gè)傳統(tǒng)的讀/寫設(shè)備(如磁盤設(shè)備或磁光盤設(shè)備)中,當(dāng)所用記錄介質(zhì)中沒有記錄信息時(shí),則完成下述程序性工作。當(dāng)從記錄介質(zhì)中正確地讀出介質(zhì)位置信息,而且這一介質(zhì)位置信息正是能夠根據(jù)先前的介質(zhì)位置信息預(yù)測(cè)出來的信息時(shí),便在含有介質(zhì)位置信息的扇區(qū)中寫入隨意的信息。然后,從該扇區(qū)中讀出這一信息。如果先前寫入的信息與讀出的信息相符合,則判定該扇區(qū)是可用的。如果讀出的介質(zhì)位置信息含有錯(cuò)誤,或者當(dāng)先前寫入的信息與讀出信息不相符合時(shí),便判定該扇區(qū)有缺陷和不可用。這一判斷被登錄在記錄介質(zhì)中。在這種情況下,用以代替有缺陷扇區(qū)的替代扇區(qū)也登錄下來,以保持記錄介質(zhì)中扇區(qū)陣列的連續(xù)性(這一工作將稱作“認(rèn)證(certify))。這一“認(rèn)證”過程必須應(yīng)用于所用記錄介質(zhì)的整個(gè)表面?!罢J(rèn)證”過程耗費(fèi)了大量時(shí)間。這一“認(rèn)證”過程必須由用戶在有限時(shí)間內(nèi)完成,對(duì)用戶而言,這是一件惱人的、希望避免的工作。
當(dāng)把“認(rèn)證”過程應(yīng)用于諸如使用CIRC的可寫入CD—MO之類信息讀/寫設(shè)備時(shí),如果發(fā)現(xiàn)在記錄介質(zhì)上有缺陷,那么不僅要去掉包含缺陷的這個(gè)扇區(qū),而且要去掉包含這個(gè)有缺陷扇區(qū)的一個(gè)簇(一組扇區(qū)和在讀/寫設(shè)備中的一個(gè)信息讀/寫單元)。這樣,使用大的簇,則會(huì)引起存貯能力的顯著損失。
在未檢驗(yàn)日本專利公告Sho 63-81661中披露的讀/寫信息單元轉(zhuǎn)換方法是針對(duì)盤狀記錄介質(zhì)的。只有當(dāng)使用的記錄介質(zhì)每圈的扇區(qū)數(shù)為常數(shù)時(shí)才能消除道等待時(shí)間。換句話說,只有對(duì)于這類介質(zhì),才能改善數(shù)據(jù)讀/寫速度。然而,對(duì)于可再寫入的CD而言,希望按簇塊來向記錄介質(zhì)或從記錄介質(zhì)傳送數(shù)據(jù)。從OS的讀/寫單元近似為1個(gè)扇區(qū)這一點(diǎn)來看,必須解決讀/寫單元差別這個(gè)問題。
因此,本發(fā)明的目的是提供一種處理方法和處理設(shè)備,它改進(jìn)大容量記錄介質(zhì)讀/寫速度,特別是對(duì)于可寫入的CD,從而提供靈活的讀/寫操作。本發(fā)明的另一目的是提供一種處理方法和處理設(shè)備,它去掉了耗時(shí)的“認(rèn)證”過程從而減少了用戶的負(fù)擔(dān)。本發(fā)明的另一個(gè)目的是提供一種處理方法和處理設(shè)備,它能在數(shù)據(jù)記錄之前判斷一個(gè)扇區(qū)的可用性,并最大限度地減小記錄介質(zhì)存貯容量損失。本發(fā)明的又一個(gè)目的是提供一種處理方法和處理設(shè)備,即使在象OS中那樣使用小的讀/寫單元時(shí)也能可靠地向具有大讀/寫單元的記錄介質(zhì)以及從這種介質(zhì)傳送數(shù)據(jù)。本發(fā)明的再一個(gè)目的是提供一種處理方法和處理設(shè)備,它適于大容量記錄介質(zhì)的讀/寫操作。
在本發(fā)明中,在判定可讀/可寫記錄介質(zhì)上一個(gè)扇區(qū)作為單元記錄區(qū)是否可用時(shí),檢驗(yàn)讀記錄位置信息和介質(zhì)位置信息的狀態(tài)。更具體地說,要執(zhí)行以下兩個(gè)步驟一個(gè)步驟是讀取在可寫入狀態(tài)寫到該扇區(qū)中的記錄位置信息,其記錄位置信息中帶有錯(cuò)誤校正代碼;另一步驟是讀取事先在記錄介質(zhì)上形成的用以指出扇區(qū)位置的不可編程介質(zhì)位置信息。然后,根據(jù)讀取記錄位置信息的狀態(tài)及讀取介質(zhì)位置信息的狀態(tài)來判定該扇區(qū)是否可用。記錄位置信息和其他信息是在給信息加上具有強(qiáng)校錯(cuò)能力代碼(如交叉交錯(cuò)讀—所羅門編碼)的狀態(tài)下寫入的。因此,如果一個(gè)扇區(qū)有小的缺陷,則在實(shí)用水平上它是可用的。
在判斷一個(gè)扇區(qū)是否可用的步驟中,當(dāng)記錄位置信息為異常讀出,而且介質(zhì)位置信息連續(xù)異常讀出時(shí),則判定該扇區(qū)不可用。就是說,當(dāng)正常讀出記錄位置信息時(shí)判定該扇區(qū)可用,以及當(dāng)讀取介質(zhì)位置信息的連續(xù)異常操作次數(shù)小于整數(shù)n的判定該扇區(qū)可用。反之,當(dāng)讀取介質(zhì)位置信息的連續(xù)異常操作次數(shù)等于或大于整數(shù)n則判定該扇區(qū)不可用。整數(shù)n滿足下列不等式(1)。
{(失效因子)÷(一簇中扇區(qū)個(gè)數(shù))}<(介質(zhì)位置信息錯(cuò)誤發(fā)生率)n…(1)在不等式(1)中,失效因子=(由于缺陷造成的不可用容量)/(記錄介質(zhì)中的總記錄容量)。整數(shù)n最好是滿足不等式(1)的最大整數(shù)。
這種預(yù)處理能通過并發(fā)讀取記錄介質(zhì)中的信息而以高速度實(shí)現(xiàn)。因此,在向/從記錄介質(zhì)傳送信息過程中,每當(dāng)情況需要時(shí)便能夠判定一個(gè)扇區(qū)是否可用。因此,不需要認(rèn)證記錄介質(zhì)。再有,它是根據(jù)剛好在信息被記錄到介質(zhì)中去之前的狀態(tài)來判斷的。這樣,本發(fā)明的預(yù)處理消除了對(duì)于未用過的記錄介質(zhì)的“認(rèn)證”過程。再有,當(dāng)信息實(shí)際記錄到記錄介質(zhì)時(shí),能夠判定該扇區(qū)是否可用。這樣,便實(shí)現(xiàn)了向記錄介質(zhì)中可靠地記錄信息。
本發(fā)明的預(yù)處理方法能用一種輸入/輸出設(shè)備來執(zhí)行,該設(shè)備的組成是讀/寫部分用于以扇區(qū)的各塊作為單元記錄區(qū)向可讀/可寫記錄介質(zhì)中輸入數(shù)據(jù)和從中讀取數(shù)據(jù);代碼調(diào)制部分用于對(duì)數(shù)據(jù)編碼和解碼;以及操作部分用于根據(jù)指示扇區(qū)位置的介質(zhì)位置信息(這一信息是事先寫入記錄介質(zhì)的和不可編程的,它通過讀/寫部分獲得)/的狀態(tài)以及記錄位置信息(它是可以重寫入扇區(qū)并通過代碼調(diào)制部分獲得的)的狀態(tài)來判斷該扇區(qū)是否可用。當(dāng)記錄介質(zhì)是可重寫的光記錄介質(zhì)時(shí),介質(zhì)位置信息是在預(yù)凹槽(pregroove)中的一個(gè)絕對(duì)時(shí)間,而記錄位置信息是在子代碼(subcode)內(nèi)的任何數(shù)據(jù)。由操作部分對(duì)連續(xù)異常讀介質(zhì)位置信息的操作次數(shù)進(jìn)行計(jì)數(shù)。當(dāng)計(jì)數(shù)等于或大于整數(shù)n時(shí),判定該扇區(qū)不可用。
當(dāng)寫入記錄介質(zhì)的數(shù)據(jù)和從中讀出的數(shù)據(jù)是那種為把段錯(cuò)誤轉(zhuǎn)換成隨機(jī)錯(cuò)誤而編碼(scramble)的數(shù)據(jù)時(shí),用于向/從記錄介質(zhì)傳送這類數(shù)據(jù)的讀/寫單元要顯著地大于在OS中讀/寫信息的第二讀/寫單元。因此,希望通過使用能暫時(shí)存貯信息且其容量至少是等于第一讀/寫單元的信息存貯部分,以多個(gè)第二讀/寫單元塊(它小于第一讀/寫單元)來將信息寫入和/或讀出記錄介質(zhì)。在該信息讀/寫方法中,當(dāng)信息被讀出記錄介質(zhì)時(shí),要執(zhí)行下述兩個(gè)步驟一個(gè)步驟是從記錄介質(zhì)中讀出第一讀/寫信息,它由第一讀/寫單元組成,其中包括了相應(yīng)于構(gòu)成第二讀/寫單元的第二讀/寫信息的一個(gè)記錄區(qū),這一讀出過程是按至少一個(gè)第一讀/寫單元的多個(gè)塊進(jìn)行的,用于將讀出的第一讀/寫信息送到信息存貯部分;另一個(gè)步驟是以第二讀/寫單元塊從記錄介質(zhì)中讀出已送入到信息存貯部分的第一讀/寫信息的第二讀寫信息。當(dāng)把信息寫入記錄介質(zhì)時(shí),信息讀/寫方法的組成是上述兩個(gè)讀取步驟;用相應(yīng)于送入信息存貯部分的第一讀/寫信息的一個(gè)位置未取代第二讀/寫信息的步驟;以及按第一讀/寫單元塊將信息存貯部分中的第一讀/寫信息記錄到記錄介質(zhì)中的步驟。這種情況下,當(dāng)把信息寫入記錄介質(zhì)時(shí),是在執(zhí)行若干次替換步驟之后的一個(gè)給定時(shí)間來執(zhí)行記錄步驟的。如果這樣做,便減少了訪問記錄介質(zhì)的操作次數(shù),從而實(shí)現(xiàn)有效和高速的處理。
這種處理最好由具有如下組成的輸入/輸出設(shè)備來執(zhí)行第一輸入/輸出部分用于以至少一個(gè)第一信息讀/寫單元向/從記錄介質(zhì)傳送第一讀/寫信息;第二輸入/輸出部分用于以至少一個(gè)小于第一信息讀/寫單元的第二信息單元向/從記錄介質(zhì)傳送第二讀/寫信息;以及信息存貯部分,它具有至少等于第一讀/寫單元的容量并能暫時(shí)存貯信息,該信息存貯部分最好允許以第二讀/寫單元塊在第一輸入/輸出部分和第二輸入/輸出部分之間傳送第一讀/寫信息。當(dāng)該輸入/輸出設(shè)備結(jié)合到信息讀/寫設(shè)備中去時(shí),第一輸入/輸出部分用作為向/從記錄介質(zhì)傳送第一讀/寫信息的讀/寫部分,而第二輸入/輸出部分用作為通過總線輸入和輸出第二讀/寫信息的通信部分。再有,如果還包括一個(gè)代碼調(diào)制部分用于對(duì)來自信息存貯部分的即將輸入到第一輸入/輸出部分和從中輸出的信息進(jìn)行編碼和解碼,則可進(jìn)一步改善輸入/輸出信息的可靠性。例如,信息可用交叉交錯(cuò)reed-Solomon編碼和解碼。
當(dāng)在信息處理機(jī)(例如一個(gè)主計(jì)算機(jī))中提供了該輸入/輸出設(shè)備時(shí),則通過該輸入/輸出設(shè)備使用包含記錄介質(zhì)的外部存貯設(shè)備,第一輸入/輸出部分允許通過總線向其輸入和從中輸出第一讀/寫信息,而第二輸入/輸出部分向/從操作系統(tǒng)傳送第二讀/寫信息。在許多計(jì)算機(jī)中,該第一和第二輸入/輸出部分可以以操作系統(tǒng)(OS)控制下的設(shè)備驅(qū)動(dòng)器操作的形式來實(shí)現(xiàn)。
如果第一輸入/輸出部分以給定的計(jì)時(shí)輸出第一讀/寫信息,則可有效地完成對(duì)記錄介質(zhì)的訪問,從而改善處理速度。操作系統(tǒng)中的信息處理結(jié)束命令或退出記錄介質(zhì)命令可以用作為這種給定的計(jì)時(shí)。


圖1的示意框圖顯示出根據(jù)本發(fā)明構(gòu)成的信息讀/寫設(shè)備和主機(jī)本身。
圖2(a)到圖2(f)給出圖1所示信息讀/寫設(shè)備和主機(jī)中所處理的數(shù)據(jù)結(jié)構(gòu),其中圖2(a)顯示出一個(gè)信息記錄介質(zhì)上物理簇的地址分配;圖2(b)示出在該物理簇中的數(shù)據(jù)陣列;圖2(c)示出在一個(gè)扇區(qū)中的數(shù)據(jù)陣列;圖2(d)示出在一個(gè)EFM幀(frame)中的數(shù)據(jù)陣列;圖2(e)示出在一個(gè)子代碼中的數(shù)據(jù)陣列;圖2(f)示出子代碼數(shù)據(jù)的內(nèi)容。
圖3(a)到圖3(d)示出當(dāng)向信息記錄介質(zhì)寫入和讀出數(shù)據(jù)時(shí)它是如何被編碼的。
圖4是一個(gè)流程圖,顯示出圖1所示信息讀/寫設(shè)備中實(shí)現(xiàn)的處理過程。
圖5是一解釋性圖,用以解釋信息記錄介質(zhì)上的介質(zhì)位置信息。
圖6是圖1所示信息讀/寫設(shè)備中預(yù)處理過程流程的流程圖。
圖7給出如何使用信息存貯部分來轉(zhuǎn)換數(shù)據(jù)讀/寫單元。
圖8是一流程圖,顯示出利用信息存貯部分來讀和寫具有不同讀/寫單元的信息的處理流程。
圖9是一流程圖,顯示出圖8所示處理過程中處于“數(shù)據(jù)讀”方式時(shí)在處理進(jìn)行過程中如何產(chǎn)生區(qū)域信息(area message)。
圖10給出用信息存貯部分寫和讀有不同讀/寫單元的信息時(shí)的信息流。
圖11給出用信息存貯部分寫和讀有不同讀/寫單元的信息時(shí)的信息流。
圖12給出用信息存貯部分寫和讀有不同讀/寫單元的信息時(shí)的信息流。
圖13(a)和13(b)是時(shí)序圖,顯示出利用信息讀/寫設(shè)備向記錄介質(zhì)寫入信息和從中讀出同一信息的操作,其中圖13(a)顯示出當(dāng)不使用一種ex post facto記錄方法時(shí)的操作,圖13(b)顯示出使用ex post facto記錄方法時(shí)的操作。
圖14是一個(gè)時(shí)序圖,顯示出信息寫入和讀出時(shí)的輸入/輸出操作。
下面將描述一個(gè)使用一個(gè)可再寫入CD作為信息記錄或存貯介質(zhì)的讀/寫設(shè)備以及使用該讀寫設(shè)備作為外部輸入/輸出設(shè)備的一個(gè)計(jì)算機(jī),用以解釋本發(fā)明。設(shè)備概述圖1顯示出一個(gè)信息讀/寫設(shè)備10和一主計(jì)算機(jī)20組合的概貌。信息讀/寫設(shè)備10包括一個(gè)輸入/輸出部分12,它接受CD作為信息記錄或存貯介質(zhì)11,用于向信息記錄介質(zhì)11輸入和從它輸出數(shù)據(jù);以及介質(zhì)控制機(jī)構(gòu)19用于控制記錄介質(zhì)11的轉(zhuǎn)動(dòng)以及光頭定位操作。主計(jì)算機(jī)20含有操作系統(tǒng)(OS)21用于操作計(jì)算機(jī);設(shè)備驅(qū)動(dòng)器23用于從OS21接受數(shù)據(jù)和向信息讀/寫裝置10發(fā)送數(shù)據(jù),從而能控制信息讀/寫設(shè)備10;存貯器22(如RAM)以及在OS21基礎(chǔ)上運(yùn)行的應(yīng)用程序24。主計(jì)算機(jī)20還包括一個(gè)帶有時(shí)鐘功能的計(jì)時(shí)器25。設(shè)備驅(qū)動(dòng)器23、計(jì)時(shí)器25、以及作為存貯器22一部分的設(shè)備/驅(qū)動(dòng)器信息存貯部分26構(gòu)成了計(jì)算機(jī)的輸入/輸出控制部分27。用于輸入/輸出的設(shè)備驅(qū)動(dòng)器的一般性功能是作為由OS管理的文件與由信息讀/寫裝置管理的文件之間相互作用的緩沖器。通常的實(shí)踐是,當(dāng)使用一個(gè)設(shè)備驅(qū)動(dòng)器時(shí),它的性能指標(biāo)對(duì)于每個(gè)信息讀/寫設(shè)備而言是不同的。
主計(jì)算機(jī)20和信息讀/寫設(shè)備10是由總線30(例如SCSI)聯(lián)接的。主計(jì)算機(jī)20和信息讀/寫設(shè)備10分別帶有接口19和29。通過這些接口在主計(jì)算機(jī)和信息讀/寫設(shè)備之間傳送數(shù)據(jù)和控制指令。在信息讀/寫設(shè)備10中包含的輸入/輸出部分12包括通信部分13,它通過介質(zhì)控制機(jī)構(gòu)19從計(jì)算機(jī)接收數(shù)據(jù)和向計(jì)算機(jī)發(fā)送數(shù)據(jù);設(shè)備信息存貯部分14用于暫時(shí)存貯通過通信部分13傳送的數(shù)據(jù);代碼調(diào)制部分15用于將向/從計(jì)算機(jī)傳送的數(shù)據(jù)編碼和解碼成向/從記錄介質(zhì)傳送的數(shù)據(jù);讀/寫部分16用于將編碼的數(shù)據(jù)寫入記錄介質(zhì)11和從中讀出同一數(shù)據(jù);操作部分17用于確定認(rèn)證結(jié)果;以及控制部分18用于控制那些部分。
為向記錄介質(zhì)中寫入數(shù)據(jù),在輸入/輸出部分12中采取如下步驟由代碼調(diào)制部分15把通過與計(jì)算機(jī)通信編輯和形成的存貯于設(shè)備信息存貯部分14中的“代碼調(diào)制前”數(shù)據(jù)轉(zhuǎn)換成使用CIRC編碼的數(shù)據(jù);通過讀/寫部分16把編碼數(shù)據(jù)轉(zhuǎn)換成讀/寫數(shù)據(jù);以及把讀/寫數(shù)據(jù)存貯于記錄介質(zhì)11。為從記錄介質(zhì)中讀出數(shù)據(jù),采取相反的步驟從記錄介質(zhì)11中讀出讀/寫數(shù)據(jù);通過讀/寫部分16恢復(fù)成編碼數(shù)據(jù);由代碼調(diào)制部分15把編碼數(shù)據(jù)調(diào)制和編碼成“代碼調(diào)制前”數(shù)據(jù);將結(jié)果送入主計(jì)算機(jī)20。數(shù)據(jù)結(jié)構(gòu)將參考圖2(a)至圖2(f)來描述要寫入記錄介質(zhì)11和從記錄介質(zhì)11中讀出的讀/寫數(shù)據(jù)的結(jié)構(gòu)。如圖2(a)所示,記錄介質(zhì)11的存貯區(qū)被分段成多個(gè)段區(qū),每個(gè)段區(qū)有一個(gè)簇單元61。在記錄介質(zhì)“中,每個(gè)簇61(包括下文將描述的附加信息)有76k字節(jié)的數(shù)據(jù)量。將被輸入到記錄介質(zhì)和從記錄介質(zhì)輸出的簇將稱作“物理簇(physical clusters)。如圖2(b)所示,一個(gè)物理簇61含有由多個(gè)扇區(qū)71組成的64k字節(jié)的邏輯簇70;位于邏輯簇70之前的數(shù)據(jù)前附加信息62;以及位于邏輯簇70之后的數(shù)據(jù)后附加信息63。數(shù)據(jù)前附加信息62由Link1扇區(qū)64、Rum Inl扇區(qū)65及RunIn2扇區(qū)66組成。數(shù)據(jù)后附加信息63由RunOut1扇區(qū)67、RunOut2扇區(qū)68及Link2扇區(qū)69組成。輸入/輸出部分12使用讀/寫數(shù)據(jù)把邏輯簇70中的一組扇區(qū)71存入記錄介質(zhì)11中,這些讀/寫數(shù)據(jù)是被彌散和陣列化(編碼)于兩個(gè)連續(xù)扇區(qū)的存貯區(qū)中。由于這個(gè)原因,用于雜混編碼(scrample)的扇區(qū)必須位于邏輯簇70的前面和后面,而物理簇61(它包括RunIn1扇區(qū)65、RunIn2扇區(qū)66、RunOut1扇區(qū)67及RunOut2扇區(qū)68)用于完成輸入和輸出。物理簇61還包括Link1扇區(qū)64和Link2扇區(qū)69,它們位于該簇的前面和后面,以便吸收記錄介質(zhì)轉(zhuǎn)速不均勻性以及由讀/寫部分的顫動(dòng)引起的扇區(qū)位置變化。
圖3(a)到3(d)顯示出如何將信息雜混編碼成扇區(qū)形式。假定在雜混編碼實(shí)現(xiàn)之前的一個(gè)扇區(qū)有2352字節(jié),在雜混編碼前的全部數(shù)據(jù)按扇區(qū)m、m+1、m+2、m+3、…順序排列(見圖3(a))。當(dāng)數(shù)據(jù)被雜散編碼時(shí),扇區(qū)m的數(shù)據(jù)被彌散到扇區(qū)m、m+1和m+2(見圖3(b))。扇區(qū)m+1中的數(shù)據(jù)被彌散到扇區(qū)m+1、m+2和m+3(見圖3(c))。結(jié)果,在雜混編碼后的扇區(qū)m含有雜混前全部數(shù)據(jù)的三個(gè)扇區(qū)m、m-1和m-2中的位置(見圖3(d))。其余扇區(qū)以類似方式雜混編碼。將扇區(qū)中的數(shù)據(jù)雜混編碼的結(jié)果是,如果發(fā)生在該扇區(qū)延續(xù)的段錯(cuò)誤,不會(huì)失掉該扇區(qū)中的全部信息,并存在看利用例如CIRC消除錯(cuò)誤的可能性。所以,顯著地改善了向記錄介質(zhì)中寫入和從記錄介質(zhì)中讀出數(shù)據(jù)的可靠性。
當(dāng)只有一個(gè)扇區(qū)地雜混編碼數(shù)據(jù)被輸入和輸出時(shí),被雜混編碼和被記錄的數(shù)據(jù)向/從記錄介質(zhì)的輸入和輸出是不完全的。為了進(jìn)行雜混編碼數(shù)據(jù)的輸入和輸出,必須輸入和輸出該扇區(qū)以及它之前和之后的扇區(qū)。對(duì)于處在邏輯簇70兩端的扇區(qū)也是如此。為雜混編碼邏輯簇70兩端的數(shù)據(jù),需要RunIn1扇區(qū)65和RunIn2扇區(qū)66,以及RunOut1扇區(qū)67和RunOut2扇區(qū)68。這樣,雜混編碼技術(shù)能保證數(shù)據(jù)的可靠性。一個(gè)扇區(qū)中含有它前后扇區(qū)的信息。因此,當(dāng)要從記錄介質(zhì)中讀出的一個(gè)扇區(qū)是扇區(qū)m時(shí),必須讀出含有扇區(qū)m數(shù)據(jù)的三個(gè)扇區(qū)(即扇區(qū)m、扇區(qū)m+1及扇區(qū)m+2)。類似地,當(dāng)要寫入的一個(gè)扇區(qū)是扇區(qū)m時(shí),必須向記錄介質(zhì)中寫入包含扇區(qū)m數(shù)據(jù)的三個(gè)扇區(qū)(即扇區(qū)m,扇區(qū)m+1及扇區(qū)m+2)。如前文所描述的那樣,對(duì)于扇區(qū)m,必須寫入扇區(qū)m-2、m-1及m的信息,對(duì)于扇區(qū)m+1,必須寫入扇區(qū)m-1、m、及m+1的信息。因此,在向/從記錄介質(zhì)11寫入和讀出數(shù)據(jù)時(shí),如上文中所提到的一個(gè)扇區(qū)被作為一個(gè)“數(shù)據(jù)寫入單元”或“塊”來處理,所希望的是以多個(gè)數(shù)據(jù)寫入單元塊來寫和讀數(shù)據(jù)。
回到圖2,邏輯簇70由多個(gè)扇區(qū)71組成。如圖2(c)所示,扇區(qū)71由98個(gè)EFM幀72組成。這里,EFM是“8到14調(diào)制”的縮寫,這是多種調(diào)制之一。在EFM中,8比特的數(shù)據(jù)被轉(zhuǎn)換成14比特的數(shù)據(jù)圖樣。由EFM調(diào)制的一組(EFM幀)信息72(如圖2(d)所示)由用作取樣的同步信號(hào)73、子碼74、及跟隨子碼的一系列帶有奇偶檢驗(yàn)碼76的數(shù)據(jù)75。98個(gè)EFM幀72構(gòu)成一組作為一個(gè)單元(98個(gè)EFM幀)處理。這構(gòu)成了一個(gè)扇區(qū)。
當(dāng)98個(gè)EFM幀72的子碼74組合起來時(shí),便構(gòu)成了如圖2(e)所示結(jié)構(gòu)的整個(gè)子碼。子碼74由控制位75、地址位76、子碼數(shù)據(jù)77、以及CRC(循環(huán)冗余校驗(yàn)碼;用于檢測(cè)子碼數(shù)據(jù)中錯(cuò)誤的循環(huán)代碼)78構(gòu)成。子碼數(shù)據(jù)77(如圖2(f)所示)由道號(hào)79、索引80、道中當(dāng)前位置81、0數(shù)據(jù)82、以及絕對(duì)位置83組成。由CRC78完成對(duì)子碼數(shù)據(jù)77的錯(cuò)誤檢驗(yàn)。由于子碼數(shù)據(jù)被彌散到98個(gè)扇區(qū)71中,它能被可靠地讀出,除非發(fā)生了相當(dāng)大的段錯(cuò)誤。由信息讀/寫設(shè)備進(jìn)行的處理圖4顯示出由信息讀/寫設(shè)備執(zhí)行的處理。在向記錄介質(zhì)寫入數(shù)據(jù)或從記錄介質(zhì)中讀出數(shù)據(jù)時(shí),信息讀/寫設(shè)備10執(zhí)行預(yù)處理過程101和輸入/輸出處理102,以便向記錄介質(zhì)寫入數(shù)據(jù)和從記錄介質(zhì)讀出數(shù)據(jù)以及對(duì)存于記錄介質(zhì)中的數(shù)據(jù)重新編程。預(yù)處理這一過程消除了“認(rèn)證”過程,它用于信息讀/寫設(shè)備,例如磁盤設(shè)備和磁—光盤。傳統(tǒng)的設(shè)備執(zhí)行一個(gè)稱作“認(rèn)證”的過程。這一過程在第一次將信息寫入記錄介質(zhì)之前檢驗(yàn)新記錄介質(zhì)的每個(gè)扇區(qū)看其在信息讀/寫能力方面是否正常。更確切地說,在認(rèn)證過程中,它讀出記錄介質(zhì)上的介質(zhì)位置信息,并判斷是否能確切地讀出介質(zhì)位置信息以及是否能根據(jù)先前的介質(zhì)位置信息預(yù)測(cè)出來。然后,將任意信息寫入含有該介質(zhì)位置信息的扇區(qū),并從扇區(qū)中讀出這同一信息。當(dāng)寫入的信息與所讀出的信息相符合時(shí),確定該扇區(qū)的讀/寫能力是正常的。當(dāng)介質(zhì)位置信息中含有讀出錯(cuò)和/或當(dāng)寫入信息與讀出信息不相符時(shí),則確定該扇區(qū)失效。在這種情況下,該失效扇區(qū)被登錄為記錄介質(zhì)中的失效區(qū)。與此同時(shí),另一個(gè)扇區(qū)替代失效扇區(qū)并被登錄。通過這一登錄過程,即使記錄介質(zhì)含有失效扇區(qū)也能保證讀/寫數(shù)據(jù)時(shí)扇區(qū)的連續(xù)性。這一“認(rèn)證”過程耗費(fèi)大量時(shí)間,因?yàn)樗仨殤?yīng)用于所用記錄介質(zhì)的整個(gè)表面。當(dāng)“認(rèn)證”過程發(fā)現(xiàn)記錄介質(zhì)上的一個(gè)失效扇區(qū)時(shí),不僅要去掉該失效扇區(qū),還必須去掉含有這一扇區(qū)的整個(gè)簇。所以,當(dāng)簇大時(shí),如果發(fā)現(xiàn)一個(gè)失效扇區(qū),記錄介質(zhì)的存貯容量便會(huì)顯著減小。
在本實(shí)施例中,圖1所示信息讀/寫設(shè)備10同時(shí)執(zhí)行查找失效扇區(qū)的預(yù)處理101以及輸入/輸出處理102,如圖4所示。因此,不需要“認(rèn)證”過程??梢栽谛畔⒆x/寫設(shè)備中裝載未用過的記錄介質(zhì)并立即向該記錄介質(zhì)中寫入信息和從記錄介質(zhì)中讀出同一信息。為了使檢查失效過程能與輸入/輸出過程同時(shí)進(jìn)行,本發(fā)明中的預(yù)處理是這樣安排的對(duì)失效扇區(qū)的檢查是根據(jù)記錄位置信息存在與否及介質(zhì)位置信息讀出錯(cuò)的發(fā)生率,從而能可靠地在短時(shí)間內(nèi)抓住記錄介質(zhì)狀態(tài)。更具體地說,信息讀/寫設(shè)備10的輸入/輸出部分12強(qiáng)行通過讀/寫部分16從記錄介質(zhì)11中讀取數(shù)據(jù),并由代碼調(diào)制部分15對(duì)數(shù)據(jù)解碼。根據(jù)解碼的子代碼數(shù)據(jù)77中指示記錄位置的任何信息,確定是否存在記錄位置信息。如上文描述的那樣,子代碼數(shù)據(jù)77被彌散到98個(gè)EFM幀中并使用CRC作錯(cuò)誤檢驗(yàn)。所以,除非發(fā)生相當(dāng)大的段錯(cuò)誤,否則都能可靠地讀出數(shù)據(jù)。由于在EFM幀中必定含有數(shù)據(jù),如果被檢驗(yàn)的存貯區(qū)含有這一記錄位置信息,便確定它是已經(jīng)存貯信息的存貯區(qū)而且該存貯區(qū)可以用于信息讀/寫。在本實(shí)施例的輸入/輸出部分12中,操作部分17使用子代碼數(shù)據(jù)的絕對(duì)位置83來確定是否存在記錄位置信息。如果需要,可以使用其他位置信息,如道號(hào)79或道中當(dāng)前位置81來達(dá)到同一目的。當(dāng)然,還可以不用EFM數(shù)據(jù)而使用任何其他調(diào)制,而且使用與子代碼數(shù)據(jù)可相比較的其他位置信息來檢驗(yàn)記錄位置信息是否存在也是可能的。
介質(zhì)位置信息是在記錄介質(zhì)中直接提供的,以指示記錄介質(zhì)的當(dāng)前位置。在本發(fā)明中,在預(yù)刻槽(pregroove)中的預(yù)刻槽絕對(duì)時(shí)間(ATIP)(見圖5)被用作為介質(zhì)位置信息。這一信息由讀/寫位置16分開,它直接接收記錄介質(zhì)11的數(shù)據(jù)并提供給操作部分17。名詞“預(yù)刻槽”是指槽84,是預(yù)先在記錄介質(zhì)表面刻成的,形狀如同導(dǎo)軌。指示槽84在記錄介質(zhì)11上位置的信息是在制造記錄介質(zhì)11的過程中以ATIP85的形式寫入槽84的。在ATIP85上沒有錯(cuò)誤校正。所以,如果存在段錯(cuò)誤的話,便會(huì)導(dǎo)致讀出記錄介質(zhì)信息錯(cuò)。一個(gè)扇區(qū)記錄一個(gè)ATIP。而在本實(shí)施例中,ATIP85被用作為介質(zhì)位置信息,但任何其他手段也可用作這同一目的,如果事先將其寫入記錄介質(zhì)的話。再有,顯然,可用于本發(fā)明的記錄介質(zhì)不限于圖5所示的環(huán)形記錄介質(zhì)。
在轉(zhuǎn)入描述操作記錄位置信息和介質(zhì)位置信息的方法之前,將參考下表描述記錄位置信息和介質(zhì)位置信息之間的關(guān)系。表1
在準(zhǔn)備表1時(shí),使用了兩類記錄介質(zhì),一類是其中有已記錄或存貯的信息,另一類是在其中沒有記錄或存貯的信息。介質(zhì)位置信息(ATIP)和記錄位置信息(子代碼)被寫入這些記錄介質(zhì)。在表中,有比較地列出了由本發(fā)明以及在傳統(tǒng)的信息讀/寫設(shè)備中執(zhí)行的“認(rèn)證”過程所造成的向介質(zhì)寫信息的狀態(tài)以及對(duì)寫入結(jié)果的評(píng)估。
在本實(shí)施例的信息讀/寫設(shè)備中把預(yù)處理應(yīng)用于存有信息的記錄介質(zhì)時(shí),如果在介質(zhì)位置信息和記錄位置信息二者中都發(fā)生了讀出錯(cuò),則判定該扇區(qū)的信息不能被改正,因而該扇區(qū)被禁止使用。當(dāng)介質(zhì)位置信息和記錄位置信息都不能被讀出時(shí),則判定在存入信息之后記錄介質(zhì)中出現(xiàn)了缺陷和在信息存入或記錄到介質(zhì)中之后在介質(zhì)表面附著了塵埃,結(jié)果在記錄介質(zhì)中存在大的失效區(qū)域。在這種情況下,不能保證當(dāng)數(shù)據(jù)寫入后其被寫入的數(shù)據(jù)能在正常狀態(tài)下被讀出。當(dāng)把“認(rèn)證”過程應(yīng)用到傳統(tǒng)的信息讀/寫設(shè)備時(shí),也會(huì)出現(xiàn)同樣的情況。當(dāng)介質(zhì)位置信息在被讀出時(shí)含有錯(cuò)誤,而記錄位置信息在被讀出時(shí)不含有錯(cuò)誤,則表明在記錄介質(zhì)中有小的缺陷。但所存貯的數(shù)據(jù)通常是可讀出的。在這種情況下,本發(fā)明的預(yù)處理過程和傳統(tǒng)的“認(rèn)證”過程都認(rèn)證它能用于數(shù)據(jù)的讀/寫。
當(dāng)把本實(shí)施例中的信息讀/寫設(shè)備的預(yù)處理應(yīng)用于未寫入信息的記錄介質(zhì)時(shí),在讀出的記錄位置信息中含有一個(gè)讀出錯(cuò),因?yàn)樵撚涗浗橘|(zhì)中沒有被寫入信息。所以,使用寫有介質(zhì)位置信息的記錄介質(zhì)來檢驗(yàn)是否可讀/寫數(shù)據(jù)。當(dāng)從一扇區(qū)不正確地讀出介質(zhì)位置信息時(shí),“認(rèn)證”過程簡單地判定這個(gè)扇區(qū)不能用于數(shù)據(jù)讀/寫。在這種情況下,如前面已提到的那樣,不僅該扇區(qū)要失效,而且包含該失效扇區(qū)的整個(gè)簇都要被去掉。在介質(zhì)位置信息出錯(cuò)率高的介質(zhì)中(對(duì)此下文中將描述),介質(zhì)位置信息讀出錯(cuò)頻繁發(fā)生。因此,在這種介質(zhì)中,被判定為不可能讀/寫的存貯區(qū)特別大。
另一方面,本實(shí)施例的信息讀/寫設(shè)備中,只有當(dāng)介質(zhì)位置信息讀出錯(cuò)在記錄介質(zhì)中的一個(gè)扇區(qū)里連續(xù)發(fā)生預(yù)定次數(shù)時(shí),才判定該扇區(qū)不可用。以這種判斷,含有小缺陷的扇區(qū)被允許用于讀/寫數(shù)據(jù)。如從對(duì)存有信息的記錄介質(zhì)的判斷中所看到的那樣,記錄位置信息的錯(cuò)誤校正能力是相當(dāng)強(qiáng)的。再有,錯(cuò)誤校正也同樣地應(yīng)用于存在記錄介質(zhì)中的其他數(shù)據(jù)。實(shí)際上,向該扇區(qū)中寫入數(shù)據(jù)是可能的。這樣,含有小缺陷的扇區(qū)被允許用于數(shù)據(jù)讀/寫。再有,本實(shí)施例的預(yù)處理根據(jù)介質(zhì)位置信息中連續(xù)發(fā)生讀出錯(cuò)這一事實(shí)來認(rèn)定該扇區(qū)的數(shù)據(jù)讀/寫不穩(wěn)定,也就是該扇區(qū)可能有一大的缺陷。同樣,在本實(shí)施例的預(yù)處理中還判定,這樣的扇區(qū)連同包含該扇區(qū)的簇是不可用的,并由另一個(gè)簇來代替含有失效扇區(qū)的簇。
這就是說,該實(shí)施例的預(yù)處理根據(jù)從記錄介質(zhì)的扇區(qū)中讀取介質(zhì)位置信息連續(xù)失敗的次數(shù)來確定一個(gè)扇區(qū)可用或不可用。由下述不等式(1)來定義讀連續(xù)失敗的次數(shù)n(n整數(shù))。
{失效因子)÷(一個(gè)簇中的扇區(qū)數(shù))}<(介質(zhì)位置信息錯(cuò)誤的發(fā)生率)n…(1)在上述不等式中,失效因子是實(shí)際能夠使用的存貯容量(即除掉失效的存貯容量之后的容量與記錄介質(zhì)的總存貯容量之比。在本實(shí)施例中,由于對(duì)每個(gè)簇讀和寫數(shù)據(jù),所以失效因子是記錄介質(zhì)上不可用簇與可用簇之比。偶而即使只有一個(gè)失效扇區(qū)出現(xiàn)在一個(gè)簇中,含有該失效扇區(qū)的簇也是不可用的。通常,由介質(zhì)供應(yīng)者確定記錄介質(zhì)的規(guī)格。因此,可以使用由介質(zhì)供應(yīng)者指定的失效因子。
介質(zhì)位置信息錯(cuò)誤發(fā)生率是可能發(fā)生介質(zhì)位置信息讀出錯(cuò)的扇區(qū)數(shù)與記錄介質(zhì)上扇區(qū)總數(shù)之比。在本實(shí)施例中,錯(cuò)誤發(fā)生率是ATIP的錯(cuò)誤發(fā)生率,因?yàn)锳TIP被用作為介質(zhì)位置信息,該錯(cuò)誤發(fā)生率近似于0.1。
不等式(1)是根據(jù)下述基本思想導(dǎo)出的。失放扇區(qū)是有大缺陷或各種缺陷集中在一起的一個(gè)存貯區(qū)域。由于這一原因,含有錯(cuò)誤的介質(zhì)位置信息被連續(xù)地從這個(gè)存貯區(qū)中讀出。結(jié)果,介質(zhì)位置信息連續(xù)讀出錯(cuò)的次數(shù)可以用于判斷一個(gè)扇區(qū)可用或不可用。
不等式(1)的左側(cè)是失效因子除以一個(gè)簇中的扇區(qū)個(gè)數(shù),因此它描述了失效扇區(qū)的存在幾率。不等式(1)的右側(cè)描述一個(gè)介質(zhì)位置信息讀出錯(cuò)連續(xù)發(fā)生n次的幾率。因?yàn)樵谠摬坏仁街杏覀?cè)大于左側(cè),如果其介質(zhì)位置信息引起連續(xù)n次讀出錯(cuò)的一個(gè)扇區(qū)被確認(rèn)為是失效扇區(qū),那么就會(huì)成功地認(rèn)出記錄介質(zhì)上的這個(gè)失效扇區(qū)。
最好是選擇滿足不等式(1)的那些n值中的最大值作為整數(shù)n。通過這樣做,可以保證用戶能使用最大的存貯區(qū)。再有,由于不等式(1)中的右側(cè)大于左側(cè),從而可以防止出以下這樣一種不希望的局面,即由于氧化而使記錄介質(zhì)的一個(gè)扇區(qū)中的缺陷隨時(shí)間而增大,以致使缺陷尺寸大到足以使該扇區(qū)損壞到不能被用于數(shù)據(jù)讀/寫的程度。換句話說,在本實(shí)施例的預(yù)處理中,諸如一個(gè)扇區(qū)是否失效這類判斷是在初期階段進(jìn)行的。顯然,滿足不等式(1)的最大值n可以用小于該最大值的n來代替。n值的確定可以在考慮記錄介質(zhì)的壽命和使用該介質(zhì)處的環(huán)境條件等因素的情況下來確定。
表2中給出當(dāng)一個(gè)簇中有不同扇區(qū)數(shù)和不同失效因子的整數(shù)n之值。表2 當(dāng)記錄介質(zhì)總?cè)萘繛?40MB時(shí)的失效容量為便于解釋,表2中給出對(duì)于一個(gè)簇中有n個(gè)扇區(qū)及失效因子都給出了一些具體數(shù)值。然而,n值也可以對(duì)其他取值計(jì)算出來。對(duì)于一簇中扇區(qū)數(shù)=32和失效因子=1%的例子,失效扇區(qū)的存在兒率=30125×10-4。這個(gè)值小于介質(zhì)位置信息讀出錯(cuò)連續(xù)發(fā)生3次的幾率(1×10-3)。因此,如果n=3,它超過了在記錄介質(zhì)上存在失效扇區(qū)的幾率。因此,本發(fā)明能實(shí)現(xiàn)一種有極高可靠性的失效扇區(qū)鑒別方法。
在操作部分17中實(shí)現(xiàn)的過程以圖6所示流程圖的形式加以說明。在步驟105,判斷在讀取一個(gè)預(yù)期扇區(qū)的記錄位置信息(子代碼)時(shí)是否存在錯(cuò)誤。如果正確地讀出了記錄位置信息(子代碼),則在步驟106處確定該扇區(qū)為可用區(qū)域(信息存貯區(qū))。如果在105步判定在讀取一預(yù)期扇區(qū)的記錄位置信息(子代碼)時(shí)存在錯(cuò)誤,則在步驟107確定在為讀取數(shù)據(jù)而訪問介質(zhì)位置信息(ATIP)過程中是否連續(xù)發(fā)生n次或更多次錯(cuò)誤。如果連續(xù)錯(cuò)次數(shù)為(n-1)或更小,則在108步確定在為讀數(shù)而訪問的扇區(qū)中當(dāng)未記錄數(shù)據(jù),但該扇區(qū)是一個(gè)可用區(qū)域(從未被寫入信息的存貯區(qū))。如果在107步確定在為讀數(shù)而訪問介質(zhì)位置信息(ATIP)時(shí)連續(xù)出錯(cuò)n次或更多,則在109步確定該扇區(qū)是失效的和不可用的。上述在操作部分17中進(jìn)行的處理流程可以由軟件技術(shù)或硬件技術(shù)來實(shí)現(xiàn)。
在本實(shí)施例的預(yù)處理過程中,步驟107、108及109中的判斷指出了被訪問扇區(qū)的狀態(tài)。這些判斷每個(gè)以區(qū)域消息(area message)的形式送到輸入/輸出處理102。在輸入/輸出處理102中,響應(yīng)這一消息,從該扇區(qū)中讀出信息或向該扇區(qū)中寫入信息,或者在該扇區(qū)失效的情況下向一替代扇區(qū)寫入信息。
在如本實(shí)施例的信息輸入/輸出設(shè)備中,由于它利用了能夠采用一些對(duì)付段錯(cuò)誤的措施,例如具有高糾錯(cuò)能力的代碼(如CIRC),以及雜混編碼,因此可以由上述預(yù)處理過程容易地對(duì)記錄介質(zhì)的失效扇區(qū)作出判斷。在預(yù)處理中不需要重復(fù)讀/寫操作,而在傳統(tǒng)的“認(rèn)證”過程中必須重復(fù)進(jìn)行讀/寫操作。在這方面而實(shí)現(xiàn)了節(jié)省用戶時(shí)間。再有,本實(shí)施例中的預(yù)處理去掉了失效扇區(qū),從而保證了數(shù)據(jù)讀/寫的可靠性,而同時(shí)又使被認(rèn)為是不可用的扇區(qū)數(shù)目減至最少。由預(yù)處理造成的存貯容量減少小于由“認(rèn)證”過程造成的容量減少。這樣,本發(fā)明成功地提供了高可靠性的信息讀/寫設(shè)備。
在本實(shí)施例中,即使被訪問的扇區(qū)是沒有被寫入信息的扇區(qū),數(shù)據(jù)能被寫入和讀出該扇區(qū)。其原因是由ATIP產(chǎn)生讀出或再生時(shí)鐘信號(hào)。輸入/輸出處理來自主計(jì)算機(jī)20的數(shù)據(jù)被寫入記錄介質(zhì)11,記錄介質(zhì)11正由本實(shí)施例中的信息讀/寫設(shè)備10的輸入/輸出部分12進(jìn)行了如上所述的預(yù)處理。再有,被寫入的數(shù)據(jù)由輸入/輸出部分讀出。在主計(jì)算機(jī)20中,應(yīng)用程序24通過OS21和包括設(shè)備驅(qū)動(dòng)器23的輸入/輸出控制部分27向信息讀/寫設(shè)備10傳送數(shù)據(jù)和接受來自信息讀/寫設(shè)備10的數(shù)據(jù)。在主計(jì)算機(jī)中,應(yīng)用程序24b通過接口(即輸入/輸出控制部分27)而不是通過OS21向信息讀/寫設(shè)備10傳送數(shù)據(jù)和接受來自信息讀/寫設(shè)備10的數(shù)據(jù)。信息讀/寫設(shè)備中的輸入/輸出處理本實(shí)施例中信息讀/寫設(shè)備的輸入/輸出部分12之中,來自主計(jì)算機(jī)的要被寫入或記入記錄介質(zhì)11中的數(shù)據(jù)被通信部分13接收并暫時(shí)存貯在設(shè)備信息存貯部分14而保持?jǐn)?shù)據(jù)格式不變。存于設(shè)備信息存貯部分中的數(shù)據(jù)作為“代碼調(diào)制前”數(shù)據(jù)被送到代碼調(diào)制部分15。接下來,代碼調(diào)制部分15使用CICR將數(shù)據(jù)編碼和調(diào)制成編碼數(shù)據(jù)。編碼數(shù)據(jù)由讀/寫部分16轉(zhuǎn)換成雜混編碼的讀/寫數(shù)據(jù),然后寫入到記錄介質(zhì)11中。在數(shù)據(jù)再生或讀取方式中,采取相反的處理過程。從記錄介質(zhì)11中讀出的讀/寫數(shù)據(jù)在讀/寫部分16中被雜混編碼成編碼數(shù)據(jù)。在代碼調(diào)制部分15中這些編碼數(shù)據(jù)被調(diào)制和解碼,形成可由計(jì)算機(jī)接受的“代碼調(diào)制前”數(shù)據(jù)。其結(jié)果暫時(shí)存放在設(shè)備信息存貯部分14。然后通過通信部分13將存于設(shè)備信息存貯部分14的數(shù)據(jù)傳送到主計(jì)算機(jī)(例如一臺(tái)計(jì)算機(jī))中。
通過這種輸入/輸出途徑,對(duì)數(shù)據(jù)附加了糾錯(cuò)代碼和雜混編碼。于是得到了象在其他計(jì)算機(jī)設(shè)備中那樣的比特(位)出錯(cuò)率為10-12的高可靠性。在從讀/寫部分16向記錄介質(zhì)11寫入數(shù)據(jù)和從記錄介質(zhì)11向讀/寫部分16讀入數(shù)據(jù)時(shí),希望按簇塊處理數(shù)據(jù)。例如,當(dāng)把數(shù)據(jù)實(shí)際上成塊寫入記錄介質(zhì)11時(shí),要成塊寫入的數(shù)據(jù)必須與記錄介質(zhì)同步地連續(xù)寫入記錄介質(zhì)中。因此,下述不等式(2)必須成立。
(從主計(jì)算機(jī)到通訊部分的傳送速率)>(到記錄介質(zhì)的記錄速率)…(2)數(shù)據(jù)從主機(jī)的傳送速率(傳送一預(yù)定長度數(shù)據(jù)所需的時(shí)間)很大程度上依賴于例如在主計(jì)算機(jī)中指定的作業(yè)。當(dāng)數(shù)據(jù)被記錄到信息讀/寫設(shè)備時(shí),并不是在每種情況下總能滿足由不等式(2)規(guī)定的傳輸速率。由于這一原因,在信息讀/寫設(shè)備10中,在讀/寫部分12中使用了能暫時(shí)存放要成塊記錄的數(shù)據(jù)(即至少一簇?cái)?shù)據(jù))的設(shè)備信息存貯部分14。
在本實(shí)施例的信息讀/寫設(shè)備10中,在輸入/輸出部分12中使用了具有大存貯容量的設(shè)備信息存貯部分14。信息讀/寫設(shè)備10接收來自主計(jì)算機(jī)的一簇?cái)?shù)據(jù),作為由設(shè)備信息存貯部分向記錄介質(zhì)11寫入數(shù)據(jù)時(shí)數(shù)據(jù)傳送的“數(shù)據(jù)寫單元”。在完成數(shù)據(jù)接收操作之后,信息讀/寫設(shè)備10開始問記錄介質(zhì)11的數(shù)據(jù)寫操作。由于提供了設(shè)備信息存貯部分14,存于記錄介質(zhì)11中的數(shù)據(jù)能以不依賴于主計(jì)算機(jī)傳送速率的速率再寫入。結(jié)果,實(shí)現(xiàn)了一個(gè)穩(wěn)定的信息讀/寫設(shè)備。
設(shè)備信息存貯部分14可以有二簇或更大的存貯容量。在使用二簇或更大的設(shè)備信息存貯部分14的地方,當(dāng)記錄大于一簇的數(shù)據(jù)時(shí),當(dāng)從主計(jì)算機(jī)的角度觀察時(shí),會(huì)看到進(jìn)一步改善了表觀傳送速率。當(dāng)設(shè)備信息存貯部分14的存貯容量為例如四簇時(shí),設(shè)備信息存貯部分14從主計(jì)算機(jī)接收可多達(dá)四簇的數(shù)據(jù)并將數(shù)據(jù)存放在那里,這不依賴于讀/寫部分16實(shí)際將數(shù)據(jù)寫入記錄介質(zhì)11要用的寫執(zhí)行時(shí)間。當(dāng)設(shè)備信息存貯部分14接受來自主計(jì)算機(jī)的數(shù)據(jù)時(shí),可以向主計(jì)算機(jī)發(fā)一條消息,描述向記錄介質(zhì)寫入數(shù)據(jù)已完成。這樣便完成了主計(jì)算機(jī)和通信部分之間的傳送,OS21或設(shè)備驅(qū)動(dòng)器23,或應(yīng)用程序26b,便從數(shù)據(jù)傳送過程中解脫出去。然后,計(jì)算機(jī)可立即開始實(shí)行下一個(gè)作業(yè)。由于提供的設(shè)備信息存貯部分所具有的存貯容量大于向記錄介質(zhì)11中寫入數(shù)據(jù)時(shí)數(shù)據(jù)傳送的數(shù)據(jù)寫單元,使信息讀/寫設(shè)備能以高速度向計(jì)算機(jī)和從計(jì)算機(jī)傳送數(shù)據(jù)。
一個(gè)可重新編程的存貯器,例如RAM,最適于用作設(shè)備信息存貯部分14。如果需要的話,任何其他可重新編程存貯介質(zhì)都可用于這同一目的。扇區(qū)重寫方法下面將參考圖2(a)至圖2(f)所示數(shù)據(jù)結(jié)構(gòu)及圖7所示設(shè)備信息存貯部分14中扇區(qū)和邏輯簇之間的關(guān)系,以描述扇區(qū)重寫處理過程。扇區(qū)重寫處理是在按數(shù)據(jù)寫入單元塊進(jìn)行簇傳送的地方實(shí)現(xiàn)的。處理流程示于圖8。假設(shè)在記錄介質(zhì)11上第K個(gè)物理簇61(即邏輯簇70)中全部信息的第一扇區(qū)是(k,1)扇區(qū)71。為把信息寫入(k,1)扇區(qū)71,在110步,數(shù)據(jù)以物理簇61的塊為單位從記錄介質(zhì)中讀出,在物理簇61中實(shí)質(zhì)上構(gòu)成數(shù)據(jù)的邏輯簇的全部信息被加載到設(shè)備信息存貯部分14。在下一步112,為了在計(jì)算機(jī)輸出數(shù)據(jù)時(shí)的數(shù)據(jù)傳送,通信部分13從主計(jì)算機(jī)處以數(shù)據(jù)單元塊(例如以一個(gè)扇區(qū)為一個(gè)數(shù)據(jù)單元)為單位接受要被記錄的(k,1)扇區(qū)的數(shù)據(jù)。在步115,由通信部分13接受的(k,1)扇區(qū)的數(shù)據(jù)在設(shè)備信息存貯部分14中發(fā)展成一個(gè)扇區(qū)。在116步,包含一個(gè)被寫扇區(qū)的整個(gè)邏輯簇的信息(它在信息的頭和尾附有附加信息)被寫入記錄介質(zhì)11。在這種情況下,信息被寫入每個(gè)物理簇61。為再生或讀出(k,1)扇區(qū)71,在110和112步,一個(gè)簇的全部信息被讀出記錄介質(zhì)。在113步,實(shí)現(xiàn)執(zhí)行讀出(k,1)扇區(qū)71。在117步,(k,1)扇區(qū)71的信息從設(shè)備信息存貯部分14中讀出,并通過通信部分13以數(shù)據(jù)單元(例如每個(gè)扇區(qū))塊為單位送入主計(jì)算機(jī)20,以把數(shù)據(jù)送入計(jì)算機(jī)。
在如本發(fā)明的輸入/輸出處理中,即使向和從記錄介質(zhì)傳送數(shù)據(jù)的讀/寫單元不同于從主記算機(jī)傳送數(shù)據(jù)的讀/寫單元,也不會(huì)出現(xiàn)問題。因此,在基于該輸入/輸出處理的設(shè)備中,信息讀/寫設(shè)備是可操作的,它同時(shí)與具有不同讀/寫單元的任何主計(jì)算機(jī)兼容。如前所述,當(dāng)向記錄介質(zhì)11輸入數(shù)據(jù)和從記錄介質(zhì)11讀出數(shù)據(jù)時(shí),設(shè)備信息存貯部分14作為有用的存貯部分。由于提供了設(shè)備信息存貯部分14,它允許以數(shù)據(jù)向記錄介質(zhì)傳送和從記錄介質(zhì)傳送的讀/寫單元的若干塊為單位向其中輸入數(shù)據(jù)或從中讀出數(shù)據(jù),從而對(duì)于以雜混編碼記錄設(shè)備(它對(duì)段錯(cuò)誤不敏感)為基礎(chǔ)的記錄介質(zhì)能快速地向其中輸入數(shù)據(jù)和從中輸出數(shù)據(jù)。再有,在向記錄介質(zhì)和從記錄介質(zhì)傳送數(shù)據(jù)的讀/寫單元不同于來自主計(jì)算機(jī)的數(shù)據(jù)的讀/寫單元的情況下,也能保證正常的數(shù)據(jù)讀/寫。再有,如前所述,設(shè)備信息存貯部分14有多種功能。這有助于降低信息讀/寫設(shè)備的成本。
以圖9中流程圖的形式說明了在輸入/輸出處理中如何使用在預(yù)處理中產(chǎn)生的區(qū)信息。下面將更詳細(xì)地描述讀每個(gè)簇?cái)?shù)據(jù)的110步(見圖8)的處理,開始時(shí),在120步檢測(cè)和讀出一個(gè)扇區(qū)數(shù)據(jù)。更確切地說,每次檢測(cè)和讀出2K字節(jié)數(shù)據(jù)。在這種情況下,結(jié)合圖6流程圖所描述的預(yù)處理確定該扇區(qū)可用或不可用,并把確定的結(jié)果作為區(qū)信息發(fā)出。在121步,如果區(qū)信息表明該扇區(qū)是已記錄信息區(qū)(根據(jù)106步的判斷),則控制返回到120步,并重復(fù)這一過程,直至在122步中讀出一個(gè)簇的數(shù)據(jù)為止。如果區(qū)信息表明該扇區(qū)是沒有在其中記錄過數(shù)據(jù)的新區(qū)(根據(jù)108步中的判斷),則該扇區(qū)是一可用區(qū)??刂妻D(zhuǎn)向向下流程以向該部分重寫或?qū)懭胄聰?shù)據(jù)。如果區(qū)信息表明該扇區(qū)是不可用的(根據(jù)109步的判斷),在123步設(shè)置替代簇,并實(shí)行重寫數(shù)據(jù)或?qū)懶聰?shù)據(jù)的處理。當(dāng)要重寫或新寫數(shù)據(jù)時(shí),在本實(shí)施例的信息讀/寫設(shè)備中采用的預(yù)處理將訪問要向其中重寫或?qū)懭霐?shù)據(jù)的扇區(qū),并迅速確定該扇區(qū)是否可用。在此,顯著地改善了讀/寫操作的可靠性而又不會(huì)造成不必要的時(shí)間消耗。用戶能對(duì)沒有在其中記錄過信息的新記錄介質(zhì)進(jìn)行讀/寫處理而不需要進(jìn)行“認(rèn)證”處理。結(jié)果,為用戶提供了特別高效率的工作環(huán)境。計(jì)算機(jī)中的輸入/輸出處理如圖1所示,在主計(jì)算機(jī)20中包括輸入/輸出控制部分27。輸入/輸出控制部分27主要包括設(shè)備驅(qū)動(dòng)器23,并且除了文件緩存功能外還有寫高速貯存(cache)功能。寫高速緩存功能是用于實(shí)現(xiàn)高速文件訪問。在寫數(shù)據(jù)時(shí),數(shù)據(jù)暫存在例如內(nèi)存中。在存貯該數(shù)據(jù)結(jié)束時(shí),向OS21發(fā)出寫結(jié)束信號(hào)。然后,在一個(gè)適當(dāng)時(shí)候,該數(shù)據(jù)被實(shí)際送到信息讀/寫設(shè)備10和記錄在記錄介質(zhì)11中。在本實(shí)施例的輸入/輸出控制部分27中,計(jì)算機(jī)中存貯器22的一部分用于構(gòu)成設(shè)備/驅(qū)動(dòng)器信息存貯部分26。這個(gè)設(shè)備/驅(qū)動(dòng)器信息存貯部分26用作為寫高速緩存。
設(shè)備/驅(qū)動(dòng)器信息存貯部分26與信息讀/寫設(shè)備10中的設(shè)備信息存貯部分14類似,其存貯容量為一個(gè)或二個(gè)或更多個(gè)簇,與向記錄介質(zhì)和從記錄介質(zhì)傳送數(shù)據(jù)的讀/寫單元相對(duì)應(yīng)。如果通過輸入/輸出部分12和設(shè)備驅(qū)動(dòng)器23把按照向/從記錄介質(zhì)11傳送數(shù)據(jù)的讀/寫單元塊發(fā)送的數(shù)據(jù)暫時(shí)存放在計(jì)算機(jī)中的設(shè)備/驅(qū)動(dòng)器信息存貯部分26中,那么讀/寫部分16可以以類似于設(shè)備信息存貯部分14的處理過程來處理數(shù)據(jù)的輸入/輸出。再用,由于設(shè)備驅(qū)動(dòng)器23通過總線30和通信部分13與設(shè)備信息存貯部分14相連,因而在信息讀/寫設(shè)備中的設(shè)備信息存貯部分14可以用作為寫高速緩存。
在設(shè)備驅(qū)動(dòng)器23使用計(jì)算機(jī)中的設(shè)備/驅(qū)動(dòng)器信息存貯部分26作為高速緩存,并且在設(shè)備/驅(qū)動(dòng)器信息存貯部分26和信息讀/寫設(shè)備中的輸入/輸出部分12之間以讀/寫單元塊傳送數(shù)據(jù)的情況下,使用總線30按讀/寫單元塊傳送和接收數(shù)據(jù)。在設(shè)備驅(qū)動(dòng)器23使用信息讀/寫設(shè)備中的設(shè)備信息存貯部分14作為寫高速緩存,而且運(yùn)行應(yīng)用程序24b(它不通過OS21而是直接與信息讀/寫設(shè)備通信)的情況下,則數(shù)據(jù)的傳送或接收是按照OS21或應(yīng)用程24b傳送數(shù)據(jù)的讀/寫單元(例如一個(gè)扇區(qū)為數(shù)據(jù)單元)塊進(jìn)行。讀/寫操作的詳細(xì)過程下面參考圖10至11更詳細(xì)地描述重寫已記錄在記錄介質(zhì)中的數(shù)據(jù)的操作。在重寫記錄介質(zhì)中所記錄內(nèi)容方面,計(jì)算機(jī)中的設(shè)備/驅(qū)動(dòng)器信息存貯部分26和信息讀/寫設(shè)備中的設(shè)備信息存貯部分14有基本相同的功能。在下面的描述中,設(shè)備信息存貯部分14可以就是設(shè)備信息存貯部分14本身,也可以是設(shè)備/驅(qū)動(dòng)器信息存貯部分26。將以O(shè)S管理的數(shù)據(jù)讀/寫單元為基礎(chǔ)來描述重寫處理。同樣的處理相應(yīng)地適用于不使用OS而是直接與信息讀/寫設(shè)備通信的軟件,例如應(yīng)用程序24b。
在圖10所示情況中,由適當(dāng)數(shù)量OS讀/寫單元90構(gòu)成的關(guān)于OS讀/寫信息91的全部信息都包含在一個(gè)介質(zhì)讀/寫單元70的介質(zhì)讀/寫信息97中。在讀/寫部分16和記錄介質(zhì)11之間,數(shù)據(jù)以簇單元61的塊進(jìn)行傳送。為傳送在設(shè)備信息存貯部分14及相似設(shè)備中管理的數(shù)據(jù),其介質(zhì)讀/寫單元可以是沒有雜混編碼的數(shù)據(jù)單元。因此,在以數(shù)據(jù)單元塊傳送數(shù)據(jù)時(shí),其數(shù)據(jù)單元的大小可以是能包含邏輯簇70但不包含數(shù)據(jù)前附加信息62和數(shù)據(jù)后附加信息63(見圖2所示)。
在數(shù)據(jù)再生或數(shù)據(jù)讀方式中,含有OS讀/寫信息91(它能由OS21進(jìn)行讀訪問)的介質(zhì)讀/寫信息通過代碼調(diào)制部分15按介質(zhì)讀/寫單元塊從記錄介質(zhì)11中讀出。從記錄介質(zhì)11中再生或讀出的介質(zhì)讀/寫信息97被存于設(shè)備信息存貯部分14。然后,從操作部分17中存貯的信息中取出要由OS21進(jìn)行讀訪問的OS讀/寫信息91并送到OS21。
在數(shù)據(jù)記錄或數(shù)據(jù)寫方式中,包括OS讀/寫信息91的介質(zhì)讀/寫信息97是通過代碼調(diào)制部分15以介質(zhì)讀/寫單元塊從記錄介質(zhì)中讀出的,所讀出的信息存于設(shè)備信息存貯部分14。然后,從OS21接收OS讀/寫信息并寫入設(shè)備信息存貯部分14中覆蓋介質(zhì)讀/寫信息97。換句話說,是更新介質(zhì)讀/寫信息97。最后,這個(gè)更新的介質(zhì)讀/寫信息97被從設(shè)備信息存貯部分14中讀出,并通過代碼調(diào)制部分15記錄或?qū)懭胗涗浗橘|(zhì)中。
在圖11所示情況中,由適當(dāng)數(shù)量OS讀/寫單元90組成的OS讀/寫信息91的全部信息包含在若干個(gè)介質(zhì)讀/寫單元70中。根據(jù)設(shè)備信息存貯部分14中的存貯器容量,可以有選擇地使用第一種或第二種加載方法,以把包括全部OS讀/寫信息91的多個(gè)介質(zhì)讀/寫單元加載到設(shè)備信息存貯部分14之中。可以根據(jù)設(shè)備信息存貯部分14或其他設(shè)備環(huán)境的存貯容量來選用第一加載方法或第二加載方法。再有,還可以使用第三加載方法,它是第一和第二加載方法之間的折衷,在這種方法中有二個(gè)或更多個(gè)介質(zhì)讀/寫單元70被加載到設(shè)備信息存貯部分14。
在第一加載方法中,在數(shù)據(jù)讀方式,通過代碼調(diào)制部分15從記錄介質(zhì)中讀出介質(zhì)讀/寫信息97的第一介質(zhì)讀/寫單元70a(其中含有被OS21讀訪問的OS讀/寫信息91的第一OS讀/寫單元90a)以及介質(zhì)讀/寫信息97的第二介質(zhì)讀/寫單元70b(其中含有被OS21讀訪問的OS讀/寫信息91的第二OS讀/寫單元90b),然后將其加載到設(shè)備信息存貯部分14。然后,從設(shè)備信息存貯部分14中所存信息中取出被OS21讀訪問的OS讀/寫信息91的第一OS讀/寫單元90a及第二OS讀/寫單元90b并送到OS21。
在數(shù)據(jù)寫方式,通過代碼調(diào)制部分15從記錄介質(zhì)中讀出第一介質(zhì)讀/寫單元70a(其中含有當(dāng)未被重寫的OS讀/寫信息91的第一OS讀/寫單元90a)以及第二介質(zhì)讀/寫單元70b(其中含有尚未被重寫的OS讀/寫信息91的第二OS讀/寫單元90b),并加載到設(shè)備信息存貯部分14。然而,從OS21接收全部要重寫的OS讀/寫信息91,并寫到設(shè)備信息存貯部分14中以更新覆蓋介質(zhì)讀/寫信息97。在這時(shí),為更新而把OS讀/寫信息91的第一OS讀/寫單元90a寫入該信息存貯部分中介質(zhì)讀/寫信息97的第一介質(zhì)讀/寫單元70a的位置。為更新而把OS讀/寫信息91的第二OS讀/寫單元90b寫入該信息存貯部分中介質(zhì)讀/寫信息97的第二介質(zhì)讀/寫單元70b的位置。最后,從設(shè)備信息存貯部分14中讀出更新的介質(zhì)讀/寫信息97,并通過代碼調(diào)制部分15寫入記錄介質(zhì)。
在第二加載方法中,在數(shù)據(jù)讀方式,通過代碼調(diào)制部分15,從記錄介質(zhì)中讀出介質(zhì)讀/寫信息97的第一介質(zhì)讀/寫單元70a(其中含有被OS21讀訪問的OS讀/寫信息91的第一OS讀/寫單元90a),并裝入設(shè)備信息存貯部分14。從存貯在設(shè)備信息存貯部分14中的信息中取出要由OS21讀訪問的OS讀/寫信息91的第一OS讀/寫單元90a,并送回到OS21。然后,通過代碼調(diào)制部分15,從記錄介質(zhì)中讀出介質(zhì)讀/寫信息97的第二介質(zhì)讀/寫單元70b(其中含有被OS 21讀訪問的OS讀/寫信息91的第二OS讀/寫單元90b),并裝入設(shè)備信息存貯部分14。從設(shè)備信息存貯部分14中的信息中取出要由OS21讀訪問的OS讀/寫信息91的第二OS讀/寫單元90a,并送回到OS21中。
在數(shù)據(jù)記錄或?qū)懛绞街?,通過代碼調(diào)制部分15,從記錄介質(zhì)中讀出介質(zhì)讀/寫信息97的第一介質(zhì)讀/寫單元70a(其中含有當(dāng)未被重寫的OS讀/寫信息91的第一OS讀/寫單元90a),并裝入設(shè)備信息存貯部分14。從OS21接收要重寫的OS讀/寫信息91的第一OS讀/寫單元90a,并寫入設(shè)備信息存貯部分14以更新介質(zhì)讀/寫信息97的第一介質(zhì)讀/寫單元70a。然后,從設(shè)備信息存貯部分14讀出更新的介質(zhì)讀/寫信息97的第一介質(zhì)讀/寫單元70a并通過代碼調(diào)制部分15寫入記錄介質(zhì)。然后,通過代碼調(diào)制部分15,從記錄介質(zhì)中讀出介質(zhì)讀/寫信息97的第二介質(zhì)讀/寫單元70b(其中含有尚未被重寫的OS讀/寫信息91的第二OS讀/寫單元90b),并裝入設(shè)備信息存貯部分14。從OS21接收要重寫的OS讀/寫信息91的第二OS讀/寫單元90b,并寫入設(shè)備信息存貯部分14以更新介質(zhì)讀/寫信息97的第二介質(zhì)讀/寫單元70b。從設(shè)備信息存貯部分14取出介質(zhì)讀/寫信息97的更新的第二介質(zhì)讀/寫單元70b,并通過代碼調(diào)制部分15裝入記錄介質(zhì)。
在上述加載方法中,即使向和從記錄介質(zhì)傳送數(shù)據(jù)的讀/寫單元不同于向和從OS傳送數(shù)據(jù)的讀/寫單元,也不會(huì)發(fā)生任何問題。因此,使用任何一個(gè)加載方法的系統(tǒng)接受有不同讀/寫單元的任何類型OS,而且,即使記錄介質(zhì)的規(guī)格不同且其介質(zhì)讀/寫單元變化了,通常也是可以操作的。當(dāng)信息存貯部分的存貯容量有限時(shí),第二加載方法或第一與第二加載方法折衰而成的第三加載方法能有效地運(yùn)行。當(dāng)使用該加載方法時(shí),即使由于制造成本所限而在系統(tǒng)中只有小存貯容量的信息存貯部分或者不能使用信息存貯部分,也能取得類似的有用效果。使用以這些加載方法中任何一個(gè)為基礎(chǔ)的信息讀/寫設(shè)備的用戶能使用該裝置而不對(duì)所用OS的讀/寫單元敏感。在這些方面,能構(gòu)成結(jié)構(gòu)簡單而成本低廉的設(shè)備。
圖12中給出的情況是在寫高速緩存方式操作信息存貯部分,以把任意個(gè)OS讀/寫信息依次記錄到介質(zhì)讀/寫信息97中。在這種情況中,依次接受4個(gè)OS讀/寫信息91a至91d的記錄命令。
當(dāng)從OS21接收到第一個(gè)OS讀/寫信息91a時(shí),通過代碼調(diào)制部分15從記錄介質(zhì)中讀出含有尚未重寫的第一0S讀/寫信息91a的介質(zhì)讀/寫信息97,并將其裝入設(shè)備信息存貯部分14。然后,從OS21接收全部尚未被重寫的第一OS讀/寫信息,并寫入設(shè)備信息存貯部分14,覆蓋介質(zhì)讀/寫信息97,從而使被寫信息97被更新成介質(zhì)讀/寫信息97’。在這一狀態(tài),設(shè)備等待第二個(gè)命令?,F(xiàn)在討論的記錄方法不同于前已敘述的記錄方法,并不采取例如立即從設(shè)備信息存貯部分14讀出被更新的介質(zhì)讀/寫信息97’并記錄到記錄介質(zhì)之中這樣的處理。在本記錄方法中,響應(yīng)下一個(gè)記錄命令的行動(dòng)是檢驗(yàn)該信息是否被記錄到記錄介質(zhì)中。
接下來,從OS21來了第二OS讀/寫信息91b的記錄命令。在這時(shí),含有尚未被重寫的全部第二OS讀/寫信息91b之一部分的介質(zhì)讀/寫信息97’已經(jīng)存于設(shè)備信息存貯部分14之中。因此,不需要通過代碼調(diào)制部分15從記錄介質(zhì)中讀出它。因?yàn)橛筛碌谝籓S讀/寫信息91a所生成的介質(zhì)讀/寫信息97’尚未被寫,所以如果進(jìn)行從記錄介質(zhì)讀出的操作就會(huì)丟失第一OS讀/寫信息。由于這一理由,在這一時(shí)刻,除非是特殊情況,并不進(jìn)行依次重復(fù)的從記錄介質(zhì)中讀出的過程。接下來,全部接收要重寫的第二OS讀/寫信息91b,并寫入設(shè)備信息存貯部分14以覆蓋介質(zhì)讀/寫信息97’,從而使信息97’更新為介質(zhì)讀/寫信息97”。在這一狀態(tài),設(shè)備等待下一個(gè)記錄命令。這樣,象先前接收第一OS讀/寫信息91a的情況那樣,不實(shí)行通過代碼調(diào)制部分15將介質(zhì)讀/寫信息97”記入記錄介質(zhì)的操作。
在響應(yīng)第三OS讀/寫信息91c的記錄命令和第四OS讀/寫信息91d的記錄命令時(shí),實(shí)現(xiàn)類似于接收第二OS讀/寫信息91b的記錄命令時(shí)的處理。
當(dāng)那些基于記錄命令的處理已完成時(shí),設(shè)備信息存貯部分14時(shí)的介質(zhì)讀/寫信息依次被第一OS讀/寫信息91a、第二OS讀/寫信息91b、第三OS讀/寫信息91c、以及第四OS讀/寫信息91d所更新,從而構(gòu)成讀/寫信息97””。對(duì)于介質(zhì)讀/寫信息97””,以時(shí)序(tim-ings)形式取出介質(zhì)讀/寫信息(不同于設(shè)備信息存貯部分14中存貯的介質(zhì)讀寫信息)記錄命令、一個(gè)文件的關(guān)閉、一個(gè)應(yīng)用程度的結(jié)束、預(yù)置延遲時(shí)間、以及其他類似信息。在本說明中將詳細(xì)描述這些時(shí)序。介質(zhì)讀/寫信息97””通過代碼調(diào)制部分15記錄到記錄介質(zhì)中。結(jié)果,在記錄介質(zhì)中含有第一至第四OS讀/寫信息91a至91d的OS讀/寫信息全部被更新。這一記錄方法將被稱作ex post facto記錄方法。
圖13(a)和13(b)以O(shè)S21和設(shè)備信息存貯部分14之間數(shù)據(jù)按時(shí)間流動(dòng)的形式和在設(shè)備信息存貯部分14與代碼調(diào)制部分15之間數(shù)據(jù)按時(shí)間流動(dòng)的形式來表現(xiàn)ex post facto記錄方法。圖13(a)顯示出沒有使用ex post facto記錄方法的數(shù)據(jù)流,圖13(b)是當(dāng)使用它時(shí)的數(shù)據(jù)流。
在圖13(a)中,在時(shí)刻t1,信息讀/寫設(shè)備從OS21收到一個(gè)第一OS讀/寫信息91a的記錄命令,并通過代碼調(diào)制部分15從記錄介質(zhì)讀出相應(yīng)的介質(zhì)讀/寫信息97,再將其裝入設(shè)備信息存貯部分14。在讀出操作結(jié)束時(shí),在時(shí)刻t2,信息讀/寫設(shè)備接收第一OS讀/寫信息91a并寫入設(shè)備信息存貯部分14覆蓋介質(zhì)讀/寫信息,從而使介質(zhì)讀/寫信息被更新為介質(zhì)讀/寫信息97’。當(dāng)在t3時(shí)刻結(jié)束更新操作時(shí),介質(zhì)讀/寫信息97’被讀出設(shè)備信息存貯部分14,并通過代碼調(diào)制部分15寫入記錄介質(zhì)。當(dāng)在t5時(shí)刻結(jié)束記錄操作時(shí),信息讀/寫設(shè)備向OS21發(fā)出一個(gè)記錄結(jié)束消息。在時(shí)刻t7,設(shè)備從OS21收到一個(gè)第二OS讀/寫信息記錄命令,并通過代碼調(diào)制部分15從記錄介質(zhì)中讀出相應(yīng)的介質(zhì)讀/寫信息97’,再將其裝入設(shè)備信息存貯部分14。在讀出操作結(jié)束時(shí),在時(shí)刻t10,第二OS讀/寫信息被接收并寫入設(shè)備信息存貯部分14覆蓋介質(zhì)讀/寫信息,從而使其更新為介質(zhì)讀/寫信息97”。在時(shí)刻t11,更新操作結(jié)束。然后,介質(zhì)讀/寫信息97”從設(shè)備信息存貯部分14中讀出,并通過代碼調(diào)制部分15記錄到記錄介質(zhì)中。在時(shí)刻t14,記錄操作結(jié)束。然后,該設(shè)備向OS21發(fā)出一個(gè)記錄結(jié)束消息。對(duì)第三OS讀/寫信息91c和第四OS讀/寫信息91d相繼實(shí)施類似的處理。在時(shí)刻t23,四個(gè)OS讀/寫信息的內(nèi)容被更新為介質(zhì)讀/寫信息97””,它進(jìn)而被記錄到記錄介質(zhì)。
當(dāng)使用ex post facto記錄方法時(shí),如圖13(b)所示,直到時(shí)刻t3的處理過程都與前一種情況相似。在時(shí)刻t3,在設(shè)備信息存貯部分14中的介質(zhì)讀/寫信息被更新。然后,信息讀/寫設(shè)備立即向OS21發(fā)出一個(gè)記錄結(jié)束消息。在時(shí)刻t4,OS21響應(yīng)這一消息,發(fā)出一個(gè)第二OS讀/寫信息91b的記錄命令。信息讀/寫設(shè)備響應(yīng)這一命令,接收第二OS讀/寫信息并更新介質(zhì)讀/寫信息97,因?yàn)樵谠O(shè)備信息存貯部分14中存在的介質(zhì)讀/寫信息97含有一個(gè)數(shù)據(jù)區(qū)對(duì)應(yīng)于第二OS讀/寫信息91b。在時(shí)刻t6,更新操作結(jié)束。于是,設(shè)備向OS21發(fā)出一個(gè)記錄結(jié)束消息。OS21一接收到這一消息立即在時(shí)刻t8發(fā)出第三OS讀/寫信息91c的記錄命令。對(duì)第三OS讀/寫信息91c和第四OS讀/寫信息91d進(jìn)行類似的處理。在時(shí)刻t13,在設(shè)備信息存貯部分14中的介質(zhì)讀/寫信息97被第一至第四OS讀/寫信息91a至91d更新成介質(zhì)讀/寫信息97””。這樣,當(dāng)使用ex post facto記錄方法時(shí),四個(gè)OS讀/寫信息的更新操作被減半。當(dāng)OS讀/寫信息的個(gè)數(shù)增加時(shí),ex post facto方法的省時(shí)效能就更明顯。再有,要更新的數(shù)據(jù)所在位置彼此靠近的可能性很大。因此,利用ex post fac-to記錄方法減少處理時(shí)間的機(jī)會(huì)是很頻繁的。
OS21在t13時(shí)刻收到一個(gè)記錄結(jié)束消息之后,在預(yù)先確定的時(shí)刻開始對(duì)記錄介質(zhì)的記錄操作。通過記錄操作,被第一至第四OS讀/寫信息更新過的介質(zhì)讀/寫信息通過代碼調(diào)制部分15記錄到記錄介質(zhì)中。
這樣,當(dāng)使用ex post facto記錄方法時(shí),可以略去圖13(a)所示的在記錄信息存貯部分14、代碼調(diào)制部分15和記錄介質(zhì)11中的處理過程,也就是介質(zhì)讀/寫信息97’、97”、97和97””的讀/寫過程。所以,大大減少了更新所用的時(shí)間。這樣,顯著減少了記錄執(zhí)行時(shí)間。當(dāng)來自O(shè)S的記錄命令發(fā)向同一介質(zhì)讀/寫信息時(shí),記錄執(zhí)行時(shí)間顯著減少。當(dāng)介質(zhì)讀/寫單元大時(shí),圖13(a)中讀/寫處理所用時(shí)間與介質(zhì)讀/寫信息大小成正比增加。當(dāng)把ex post facto記錄方法應(yīng)用于具有大的介質(zhì)讀/寫單元的設(shè)備(例如信息讀/寫設(shè)備10),由ex post facto記錄方法產(chǎn)生的處理時(shí)間節(jié)省效果相當(dāng)?shù)卮蟆p少讀/寫命令個(gè)數(shù)導(dǎo)致減少向記錄介質(zhì)中寫信息操作的次數(shù),從而使記錄介質(zhì)可靠性得到改善。
當(dāng)把ex post facto記錄方法應(yīng)用于信息讀/寫設(shè)備時(shí),最好使用足夠大的信息存貯部分以存放幾個(gè)介質(zhì)讀/寫單元。這樣作可以實(shí)現(xiàn)對(duì)來自O(shè)S的讀/寫命令的更快響應(yīng)。
在上述實(shí)施例中,有四個(gè)OS讀/寫信息寫覆蓋同一介質(zhì)讀/寫信息并存貯。當(dāng)有多于四個(gè)OS讀/寫信息寫覆蓋介質(zhì)讀/寫信息并存貯時(shí),則如前所述會(huì)進(jìn)一步增大節(jié)省處理時(shí)間的效果。
如前所述,參考圖10至13所描述的處理效果在信息讀/寫設(shè)備10和主計(jì)算機(jī)20中都能獲得。如果在主計(jì)算機(jī)20中使用設(shè)備/驅(qū)動(dòng)器信息存貯部分26和設(shè)備驅(qū)動(dòng)器23用于更新信息處理,則會(huì)進(jìn)一步改善處理速度。圖14給出使用主計(jì)算機(jī)20中所包含的輸入/輸出控制部分中的設(shè)備驅(qū)動(dòng)器23和設(shè)備/驅(qū)動(dòng)器信息存貯部分26來進(jìn)行更新處理,并且使用上述讀/寫信息單元轉(zhuǎn)換方法和ex post fac-to記錄方法的情況下的數(shù)據(jù)流。圖中以O(shè)S21和設(shè)備驅(qū)動(dòng)器23之間的數(shù)據(jù)流及設(shè)備驅(qū)動(dòng)器23和信息讀/寫設(shè)備10(相應(yīng)于總線30)之間的數(shù)據(jù)流的形式描述了在該設(shè)備中設(shè)備驅(qū)動(dòng)器23的操作。在圖14所示情況中,相繼發(fā)出對(duì)第一至第三OS讀/寫信息91a至91c的三個(gè)記錄命令。
在圖14中,在時(shí)刻31,設(shè)備驅(qū)動(dòng)器23從OS21收到一個(gè)處置起始命令的信息,并認(rèn)出在信息讀/寫設(shè)備10中的要被寫和讀出的信息。然后,在時(shí)刻32,OS21向設(shè)備驅(qū)動(dòng)器23發(fā)出第一OS讀/寫信息91a的記錄命令。一旦接收到第一OS讀/寫信息91a的記錄命令,設(shè)備驅(qū)動(dòng)器23便根據(jù)讀/寫信息單元轉(zhuǎn)換方法進(jìn)行操作。并在時(shí)刻t33向信息讀/寫設(shè)備10發(fā)出相關(guān)介質(zhì)讀/寫信息97的讀命令。信息讀/寫設(shè)備10響應(yīng)這一讀命令,從記錄介質(zhì)中以介質(zhì)讀/寫單元塊讀出介質(zhì)讀/寫信息97。在時(shí)刻t34,該設(shè)備通過總線30將介質(zhì)讀/寫信息97傳送到設(shè)備驅(qū)動(dòng)器23。然后,設(shè)備驅(qū)動(dòng)器23將介質(zhì)讀/寫信息97(含有一個(gè)數(shù)據(jù)區(qū)對(duì)應(yīng)于尚未重寫的第一OS讀/寫信息91a)按照介質(zhì)讀/寫單元狀態(tài)存于設(shè)備/驅(qū)動(dòng)器信息存貯部分26,并在時(shí)刻t35從OS21接收要被重寫的第一OS讀/寫信息91a。然后設(shè)備驅(qū)動(dòng)器將設(shè)備/驅(qū)動(dòng)器信息存貯部分26中的介質(zhì)讀/寫信息97更新為介質(zhì)讀/寫信息97’。在時(shí)刻t36,覆蓋寫和存貯過程結(jié)束,設(shè)備驅(qū)動(dòng)器23向OS21發(fā)出第一寫結(jié)束過程(procedure)。
OS21響應(yīng)這一信息,在時(shí)刻t37向設(shè)備驅(qū)動(dòng)器23發(fā)出第二OS讀/寫信息91b的記錄命令。響應(yīng)這一命令,設(shè)備驅(qū)動(dòng)器23立即從OS21接受第二OS讀/寫信息91b,并在設(shè)備/驅(qū)動(dòng)器信息存貯部分26中實(shí)現(xiàn)覆蓋寫和存貯處理,因?yàn)樵谠O(shè)備/驅(qū)動(dòng)器信息存貯部分26中已經(jīng)存在要重寫的介質(zhì)讀/寫信息97。在時(shí)刻t38,覆蓋寫和存貯過程結(jié)束,設(shè)備驅(qū)動(dòng)器23向OS21發(fā)出第二記錄結(jié)束過程(proce-dure)。
在時(shí)刻t39,從OS21向設(shè)備驅(qū)動(dòng)器23發(fā)出第三OS讀/寫信息91c的記錄命令。響應(yīng)這一命令,設(shè)備驅(qū)動(dòng)器23立即從OS21接收第三OS讀/寫信息91c,因?yàn)樵谠O(shè)備/驅(qū)動(dòng)器信息存貯部分26中已經(jīng)存在要被重寫的相關(guān)介質(zhì)讀/寫信息97。在設(shè)備/驅(qū)動(dòng)器信息存貯部分26中,完成覆蓋寫和存貯過程并產(chǎn)生介質(zhì)讀/寫信息97。在時(shí)刻t40,覆蓋寫和存貯過程結(jié)束,設(shè)備驅(qū)動(dòng)器23向OS21發(fā)出第三記錄結(jié)束過程(procedure)。
其后,OS21知道由全部記錄命令進(jìn)行的操作都已完成,并在時(shí)刻t41向設(shè)備驅(qū)動(dòng)器23發(fā)出信息處置結(jié)束命令。由OS21發(fā)出的這個(gè)信息處結(jié)束命令用于通知設(shè)備驅(qū)動(dòng)器23不必再進(jìn)行信息的讀/寫處理3。在這時(shí),這個(gè)命令用作為把信息記錄到記錄介質(zhì)中的預(yù)定時(shí)刻。在時(shí)刻t31發(fā)出的信息處置起始命令和在時(shí)刻t41發(fā)出的信息處結(jié)束命令都用于主計(jì)算機(jī)20內(nèi)部,不是指向信息讀/寫設(shè)備10。這個(gè)信息處置起始命令和信息處置結(jié)束命令是在起動(dòng)和結(jié)束信息讀/寫過程的時(shí)間位置發(fā)出的。所以,它特別適于信息記錄的計(jì)時(shí)。在時(shí)刻t41,設(shè)備驅(qū)動(dòng)器23接收信息處結(jié)束命令,并在時(shí)刻t42向信息讀/寫設(shè)備10發(fā)出記錄命令,從而將介質(zhì)讀/寫信息寫入記錄介質(zhì)。與此同時(shí),設(shè)備驅(qū)動(dòng)器23通過總線30將存于設(shè)備/驅(qū)動(dòng)器信息存貯部分26中的介質(zhì)讀/寫信息97傳送到信息讀/寫設(shè)備10。一接收到該記錄命令,信息讀/寫設(shè)備10立即接收介質(zhì)讀/寫信息97并將其寫入記錄介質(zhì)。在完成信息記錄時(shí),在時(shí)刻t43,信息讀/寫設(shè)備向設(shè)備驅(qū)動(dòng)器23發(fā)出一個(gè)結(jié)束過程。
如前所述,通過使用主計(jì)算機(jī)存貯器內(nèi)的設(shè)備/驅(qū)動(dòng)器信息存貯部分26,在主計(jì)算機(jī)內(nèi)傳送的信息處置結(jié)束命令可以用作為預(yù)定計(jì)時(shí)。利用這一預(yù)定計(jì)時(shí),可以用ex post facto記錄方法把信息寫入記錄介質(zhì)。由于利用該信息處置命令使信息記錄到記錄介質(zhì)中,當(dāng)信息讀/寫設(shè)備的電源不同于主計(jì)算機(jī)電源時(shí),如果信息讀/寫設(shè)備的電源被關(guān)掉,則主計(jì)算機(jī)中顯示的字符能給出一個(gè)用戶告警。換句話說,保證了好的數(shù)據(jù)保護(hù)。同樣,當(dāng)記錄介質(zhì)被從信息讀/寫設(shè)備移開時(shí),顯示字符也給出用戶告警。利用這一功能,當(dāng)用戶錯(cuò)誤地理解為信息已被存入記錄介質(zhì)于是從信息讀/寫設(shè)備中取走記錄介質(zhì)或關(guān)掉電源開關(guān)時(shí),在主機(jī)中的顯示引起用戶的注意。在看到這一顯示之后,用戶把信息讀/寫設(shè)備恢復(fù)到原來的狀態(tài),并能使用仍然存在于主計(jì)算機(jī)存貯器中的信息。
由于減少了向信息讀/寫設(shè)備發(fā)出的命令個(gè)數(shù),實(shí)現(xiàn)了高速度文件訪問。
盡管在本實(shí)施例中有三個(gè)記錄命令從OS依次發(fā)送給設(shè)備驅(qū)動(dòng)器,但可以依次發(fā)送多于三個(gè)的記錄命令,而且可以以混合方式使用記錄命令和讀命令。
由應(yīng)用程序進(jìn)行的輸入/輸出處理下面將描述圖1所示應(yīng)用程序使用信息讀/寫設(shè)備10向記錄介質(zhì)11輸入數(shù)據(jù)和從記錄介質(zhì)11輸出數(shù)據(jù)的處理過程。該應(yīng)用程序包括通過OS輸入輸出數(shù)據(jù)的應(yīng)用程序24a,以及不通過OS而直接訪問信息讀/寫設(shè)備10并向記錄介質(zhì)輸入數(shù)據(jù)和從記錄介質(zhì)輸出數(shù)據(jù)的應(yīng)用程序24b。
下面描述由應(yīng)用程序24a使用信息讀/寫設(shè)備10向記錄介質(zhì)11寫入數(shù)據(jù)和從記錄介質(zhì)11中讀出數(shù)據(jù)的情形。當(dāng)應(yīng)用程序24a希望使用特定信息,即處于讀數(shù)據(jù)方式時(shí),應(yīng)用程序通過OS21向設(shè)備驅(qū)動(dòng)器23發(fā)出一個(gè)讀命令。響應(yīng)這一命令,設(shè)備驅(qū)動(dòng)器23利用讀/寫信息單元轉(zhuǎn)換方法在設(shè)備/驅(qū)動(dòng)器信息存貯部分26中把OS讀/寫單元轉(zhuǎn)換成介質(zhì)讀/寫單元。結(jié)果,設(shè)備驅(qū)動(dòng)器23向信息讀/寫設(shè)備10發(fā)出一個(gè)讀命令,從而讀出被轉(zhuǎn)換的介質(zhì)讀/寫單元的介質(zhì)讀/寫信息。信息讀/寫設(shè)備10通過通信部分13接收這個(gè)讀命令,控制部分18控制從記錄介質(zhì)11中讀出介質(zhì)讀/寫信息的塊數(shù),并通過通信部分13將讀出的信息送到主計(jì)算機(jī)20中的設(shè)備驅(qū)動(dòng)器23。接下來,設(shè)備驅(qū)動(dòng)器23在設(shè)備/驅(qū)動(dòng)器信息存貯部分26中使用讀/寫信息單元轉(zhuǎn)換方法,把OS讀/寫信息送到OS21。OS21把這一信息送到應(yīng)用程序24a。利用這一處理流程,執(zhí)行了應(yīng)用程序24a的一個(gè)讀命令。
當(dāng)應(yīng)用程序24a希望向記錄介質(zhì)11中存入特定信息,即處于寫數(shù)據(jù)方式時(shí),其信息流(與上述讀過程)相反。通過OS21向設(shè)備驅(qū)動(dòng)器23傳送一個(gè)信息記錄命令及信息。然后,設(shè)備驅(qū)動(dòng)器23通過信息讀/寫設(shè)備10中的通信部分13將信息記錄到記錄介質(zhì)11中,其中使用了利用設(shè)備/驅(qū)動(dòng)器信息存貯部分26的讀/寫信息單元轉(zhuǎn)換方法和ex post facto記錄方法。
應(yīng)用程序24b不通過OS及設(shè)備驅(qū)動(dòng)器,而是直接向記錄介質(zhì)寫入信息和從記錄介質(zhì)中讀出信息。當(dāng)應(yīng)用程序24b希望使用信息,即處于讀數(shù)據(jù)方式時(shí),它向信息讀/寫設(shè)備中的通信部分13發(fā)出一個(gè)信息讀命令。響應(yīng)這一命令,控制部分18使用讀/寫信息單元轉(zhuǎn)換方法(該方法在信息讀/寫設(shè)備的設(shè)備信息存貯部分14中運(yùn)行)將應(yīng)用程序24b的讀/寫單元轉(zhuǎn)換成介質(zhì)讀/寫單元。該讀/寫單元可以是嚴(yán)格等于OS讀/寫單元。應(yīng)用程序24b的程序本身在OS21的控制下運(yùn)行,因此它能知道OS讀/寫單元。當(dāng)應(yīng)用程序24b釋放信該息讀/寫設(shè)備而由另一個(gè)應(yīng)用程序使用該信息讀/寫設(shè)備10時(shí),應(yīng)用程序24b被置于“不可能讀/寫”狀態(tài)。為避免這種情況,最好把讀/寫單元設(shè)置成嚴(yán)格等于OS讀/寫單元。在應(yīng)用程序24b的信息讀/寫單元被轉(zhuǎn)換之后,控制部分18控制其他塊去以介質(zhì)讀/寫單元從記錄介質(zhì)11中讀介質(zhì)讀/寫信息,并將其裝入設(shè)備信息存貯部分14。控制部分18將被讀出的介質(zhì)讀/寫信息97的讀/寫單元轉(zhuǎn)換成應(yīng)用程序24b的信息讀/寫單元,并通過通信部分13,按轉(zhuǎn)換后的讀/寫單元把讀出的信息送到應(yīng)用程序24b,于是結(jié)束讀處理。
當(dāng)應(yīng)用程序24b希望存貯特定信息,即處于寫數(shù)據(jù)方式時(shí),應(yīng)用程序24b直接向信息讀/寫設(shè)備10中的通信部分13發(fā)送一個(gè)信息讀/寫命令。信息讀/寫設(shè)備10中的控制部分18。利用設(shè)備信息存貯部分14中讀/寫信息單元轉(zhuǎn)換方法把應(yīng)用程序24b的讀/寫單元轉(zhuǎn)換成介質(zhì)讀/寫單元,并通過控制其他塊來把信息寫入記錄介質(zhì)11。
如上之所描述的,在信息讀/寫設(shè)備10中,能夠以介質(zhì)讀/寫單元存貯數(shù)據(jù)的設(shè)備信息存貯部分14被包括在輸入/輸出部分12之中。通過提供設(shè)備信息存貯部分14,數(shù)據(jù)讀/寫單元被轉(zhuǎn)換并記錄在設(shè)備信息存貯部分。所以,如果用戶使用的應(yīng)用程序不通過OS和設(shè)備驅(qū)動(dòng)器,而是直接訪問信息讀/寫設(shè)備并向記錄介質(zhì)輸入和從記錄介質(zhì)輸出數(shù)據(jù),則不會(huì)發(fā)生問題,而后能夠使用具有大讀/寫單元的記錄介質(zhì),如可以在高處理速度下使用的可重寫CD盤。在OS控制下被寫入或讀出的數(shù)據(jù),即使信息讀/寫設(shè)備的電源被關(guān)掉或記錄介質(zhì)被從信息讀/寫設(shè)備中取出,這些數(shù)據(jù)也不會(huì)被破壞。換句話說,保證了好的數(shù)據(jù)保護(hù)。當(dāng)不使用OS讀或?qū)憯?shù)據(jù)時(shí),數(shù)據(jù)被留在信息讀/寫設(shè)備的設(shè)備信息存貯部分中。所以,即使把記錄介質(zhì)錯(cuò)誤地從信息讀/寫設(shè)備中取出,數(shù)據(jù)也能被保護(hù)。記錄的計(jì)時(shí)對(duì)不同的介質(zhì)讀/寫信息讀出OS讀/寫信息或發(fā)出記錄命令的時(shí)間點(diǎn),發(fā)出在主計(jì)算機(jī)中使用的信息處理結(jié)束命令的時(shí)間點(diǎn),以及其他類似的時(shí)間點(diǎn),可以用作為利用讀/寫信息單元轉(zhuǎn)換方法和ex post facto記錄方法把在介質(zhì)讀/寫單元中被更新或準(zhǔn)備好的數(shù)據(jù)寫入記錄介質(zhì)的時(shí)刻。下面將要描述的是使用讀/寫信息單元轉(zhuǎn)換方法和ex post facto記錄方法所必須的設(shè)備/驅(qū)動(dòng)器信息存貯部分26要保證/存貯器22中的最小介質(zhì)讀/寫單元的存貯容量,而當(dāng)主計(jì)算機(jī)20啟動(dòng)時(shí)獲得了例如四個(gè)介質(zhì)讀/寫單元用于設(shè)備/驅(qū)動(dòng)器信息存貯部分26,在這種情況下將如何向信息讀/寫設(shè)備10輸入信息和從中讀出信息。
在使用OS21和設(shè)備驅(qū)動(dòng)器23的讀/寫操作與不使用它們的讀/寫操作這兩種情況下都可以使用信息處置結(jié)束命令作為ex postfacto記錄方法中的預(yù)定計(jì)時(shí)。然而,在發(fā)出該信息讀/寫結(jié)束命令之前存在這樣一種情況,即設(shè)備/驅(qū)動(dòng)器信息存貯部分26的整個(gè)存貯區(qū)被沒有記錄在記錄介質(zhì)中的介質(zhì)讀/寫信息充滿,即設(shè)置了“緩沖區(qū)滿”。如果在這種緩沖區(qū)滿狀態(tài)單獨(dú)使用信息讀/寫結(jié)束命令,則對(duì)于不存在于設(shè)備/驅(qū)動(dòng)器信息存貯部分26中的介質(zhì)讀/寫信息的信息讀/寫命令不可能有任何響應(yīng)。因此,在緩沖區(qū)滿狀態(tài)之后,如果從OS收到一個(gè)對(duì)設(shè)備/驅(qū)動(dòng)器信息存貯部分26中不存在的介質(zhì)讀/寫信息的讀/寫命令,則收到讀/寫命令的時(shí)刻(緩沖區(qū)滿計(jì)時(shí))也被用作預(yù)定計(jì)時(shí),并且在設(shè)備/驅(qū)動(dòng)器信息存貯部分26中的介質(zhì)讀/寫信息被記錄。結(jié)果,由被記錄在記錄介質(zhì)中的或被傳送到信息讀/寫設(shè)備10的介質(zhì)讀/寫信息所占據(jù)的設(shè)備/驅(qū)動(dòng)器信息存貯部分26的存貯區(qū)可以被用于存貯要由讀/寫命令從OS21讀出的介質(zhì)讀/寫信息。
信息讀/寫設(shè)備10發(fā)出的退出(eject)命令可用作計(jì)時(shí),于是存于設(shè)備信息存貯部分14或設(shè)備/驅(qū)動(dòng)器信息存貯部分26中的信息被記錄在記錄介質(zhì)中。當(dāng)應(yīng)用程序結(jié)束其操作時(shí),它關(guān)閉在OS控制下的文件。對(duì)多數(shù)應(yīng)用程序都是如此。因此,如果這一命令被用作計(jì)時(shí),則已經(jīng)形成或重寫的數(shù)據(jù)從設(shè)備信息存貯部分14或設(shè)備/驅(qū)動(dòng)器信息存貯部分26中被讀出并記錄到記錄介質(zhì)中。一些應(yīng)用程序并不發(fā)出文件關(guān)閉命令。在這類應(yīng)用程序中,已經(jīng)形成或更新的數(shù)據(jù)被留下來不被記錄。這個(gè)問題可以以這種方式解決,即響應(yīng)退出記錄介質(zhì)的退出命令而將設(shè)備信息存貯部分14或設(shè)備/驅(qū)動(dòng)器信息存貯部分26中的數(shù)據(jù)記錄到記錄介質(zhì)中。通過這樣做,便可以避免應(yīng)用程序運(yùn)行過程中形成或更新的數(shù)據(jù)消失而未被記錄的情況。
在輸入/輸出控制部分27中包括計(jì)時(shí)器25。利用這個(gè)計(jì)時(shí)器,可把預(yù)置延遲時(shí)間作為計(jì)時(shí)寫入記錄介質(zhì)。長時(shí)間不從OS21發(fā)出讀/寫命令和長時(shí)間不發(fā)出信息處置命令的情況很少發(fā)生。然而就保存被記錄數(shù)據(jù)而言,這是很危險(xiǎn)的情況。為避免這種情況,由計(jì)時(shí)器25測(cè)量從OS21接收的讀/寫命令的時(shí)間間隔。當(dāng)在預(yù)置時(shí)間內(nèi)沒有從OS21發(fā)出讀/寫命令時(shí),存于設(shè)備/驅(qū)動(dòng)器信息存貯部分26并且尚未記錄于記錄介質(zhì)中的介質(zhì)讀/寫信息便被傳送到讀/寫設(shè)備10并記錄到記錄介質(zhì)11中。
如果除了信息處置結(jié)束命令外還使用緩中區(qū)滿計(jì)時(shí)和由最后讀/寫操作算起的延遲時(shí)間作為給定的計(jì)時(shí),則會(huì)顯著改善信息讀/寫設(shè)備的穩(wěn)定性和可靠性。
顯然,例如數(shù)據(jù)結(jié)構(gòu)和簇中字節(jié)數(shù)并不限于上文所提到的那樣。在上述實(shí)施例中,信息存貯部分分別包括在信息讀/寫設(shè)備和主計(jì)算機(jī)中。然而,即使信息存貯部分只包含在這二者之一的內(nèi)部,也能象上述那樣平穩(wěn)地轉(zhuǎn)換不同讀/寫單元的信息。
如前所述,在使用本發(fā)明的預(yù)處理的地方,有可能利用記錄介質(zhì)中先前記錄的介質(zhì)位置信息、由強(qiáng)糾錯(cuò)代碼保護(hù)的記錄位置信息、以及利用那些位置信息之間讀出錯(cuò)易發(fā)生性差異來判定一個(gè)扇區(qū)是否可用。再有,通過適當(dāng)選擇記錄介質(zhì)失效因子及介質(zhì)位置信息出錯(cuò)率,可以對(duì)所用記錄介質(zhì)的不可用扇區(qū)發(fā)生量控制到一個(gè)適當(dāng)?shù)臄?shù)量。在使用預(yù)處理的情況下,當(dāng)判定一個(gè)扇區(qū)是否可用的同時(shí)可進(jìn)行處理,而不需要認(rèn)證記錄介質(zhì)。因此,用戶可在一個(gè)好的工作環(huán)境中使用具有大存貯容量的記錄介質(zhì),而不必受耗費(fèi)大量時(shí)間的“認(rèn)證”處理的困擾。
在本發(fā)明中使用了信息存貯部分用于暫時(shí)存貯其讀/寫單元等于或大于記錄介質(zhì)讀/寫單元的信息。由于提供了信息存貯部分,能在信息讀/寫設(shè)備中穩(wěn)定地進(jìn)行讀/寫處理,而不依賴于諸如主計(jì)算機(jī)傳送速率等外部因素。
應(yīng)該理解,在本發(fā)明范圍內(nèi)上述實(shí)施例可被進(jìn)行各種改變、修改和替換。例如,本發(fā)明可用于小型盤(通??s寫為MD),它使用CIRC作為基本結(jié)構(gòu)。
再有,通過使用信息存貯部分,被記錄于記錄介質(zhì)中的數(shù)據(jù)讀/寫單元被容易地轉(zhuǎn)換成例如從OS接收的數(shù)據(jù)讀/寫單元,反之亦然。因此,該設(shè)備能處置來自O(shè)S的所有讀和寫命令。當(dāng)有多個(gè)記錄信息暫存于信息存貯部分然后在給定時(shí)刻進(jìn)行記錄時(shí),會(huì)進(jìn)一步改善處理速度。在一個(gè)設(shè)備中如果讀/寫操作重復(fù)多次,則可以省略這些寫操作的執(zhí)行時(shí)間,從而進(jìn)一步改善了信息記錄速度。
當(dāng)在信息讀/寫設(shè)備外部提供信息存貯部分,例如在主計(jì)算機(jī)中提供時(shí),信息更新速度得到改善。再有,當(dāng)信息讀/寫設(shè)備電源被關(guān)掉或從中取出記錄介質(zhì)時(shí),排除了信息不被記錄的情況。在這方面,在信息讀/寫設(shè)備中獲得了極好的數(shù)據(jù)保護(hù)。當(dāng)把與OS同步的一個(gè)信息處置結(jié)束命令作為把信息記錄到記錄介質(zhì)中的給定計(jì)時(shí)時(shí),可以進(jìn)一步減少記錄執(zhí)行時(shí)間和獲得處理的安全性。
顯然,使用信息存貯部分的處理方法和輸入/輸出設(shè)備除了適用于可重寫CD外也適用于通常的只讀CD。因此,可以用單個(gè)信息讀/寫設(shè)備去驅(qū)動(dòng)可重寫CD和只讀CD。換句話說,用戶可以使用該信息讀/寫設(shè)備而不必?fù)?dān)心所用CD的類型是可重寫CD還是只讀CD。
權(quán)利要求
1.一種預(yù)處理方法,用此方法判定在可讀/可寫的記錄介質(zhì)上的一個(gè)扇區(qū)作為一個(gè)單元記錄區(qū)是可能被使用,該方法包括讀取在可重寫狀態(tài)寫入所述扇區(qū)并帶有糾錯(cuò)代碼的記錄位置信息;讀取事先在所述記錄介質(zhì)上提供的指示所述扇區(qū)位置的不可重寫介質(zhì)位置信息;以及根據(jù)讀所述記錄位置信息狀態(tài)和讀所述介質(zhì)位置信息狀態(tài)的組合,判定所述扇區(qū)是否可用。
2.根據(jù)權(quán)利要求1的預(yù)處理方法,其中所述記錄位置信息包括一個(gè)交叉交錯(cuò)reed-Solomon代碼。
3.根據(jù)權(quán)利要求1的預(yù)處理方法,其中,當(dāng)所述記錄位置信息異常讀出而且所述介質(zhì)位置信息連續(xù)異常讀出時(shí),則判斷所述扇區(qū)是否可用的步驟判定所述扇區(qū)不可用。
4.根據(jù)權(quán)利要求1的預(yù)處理方法,其中,判定所述扇區(qū)是否可用的步驟判定,當(dāng)所述記錄位置信息被正確讀出時(shí)該扇區(qū)是可用的;當(dāng)所述記錄位置信息未被正常讀出但讀所述介質(zhì)位置信息的連續(xù)異常操作次數(shù)少于整數(shù)n的判定該扇區(qū)是可用的;當(dāng)所述記錄位置信息未被正常讀出,而且讀所述介質(zhì)位置信息的連續(xù)異常操作次數(shù)等于或大于整數(shù)n則判定該扇區(qū)是不可用的。這里的整數(shù)n滿足下列不等式(1){(失效因子)÷(一個(gè)簇中扇區(qū)數(shù))}<(介質(zhì)位置信息錯(cuò)誤發(fā)生率)n…(1)這里,失效因子=(失效所致不可用容量)/(所述記錄介質(zhì)總記錄容量)
5.根據(jù)權(quán)利要求4的預(yù)處理方法,其中的整數(shù)n是滿足不等式(1)的整數(shù)中的最大整數(shù)。
6.一種輸入/輸出設(shè)備,包括一個(gè)讀/寫部分,用于以一個(gè)扇區(qū)(作為單元記錄區(qū))的若干塊向可讀/可寫記錄介質(zhì)輸入數(shù)據(jù)和從中讀出數(shù)據(jù);一個(gè)代碼調(diào)制部分,用于對(duì)所述數(shù)據(jù)編碼和解碼;以及一個(gè)操作部分,用于根據(jù)指示所述扇區(qū)位置的介質(zhì)位置信息(它是事先寫入記錄介質(zhì)并且是不可重寫入的,該介質(zhì)位置信息是通過所述讀/寫部分得到的)狀態(tài)以及記錄位置信息(它是在可重寫狀態(tài)寫入所述扇區(qū)并通過所述代碼調(diào)制部分得到的)狀態(tài)來判定所述扇區(qū)是否可用。
7.根據(jù)權(quán)利要求6的輸入/輸出設(shè)備,其中所述代碼調(diào)制部分使用交叉交錯(cuò)reed-Solomon編碼對(duì)所述數(shù)據(jù)編碼和解碼。
8.根據(jù)權(quán)利要求6的輸入/輸出設(shè)備,其中所述記錄介質(zhì)是可重寫光記錄介質(zhì),所述介質(zhì)位置信息是在所述光記錄介質(zhì)上的前槽(pregroove)中的絕對(duì)時(shí)間,所述記錄位置信息是在子代碼中的任何數(shù)據(jù)。
9.根據(jù)權(quán)利要求6的輸入/輸出設(shè)備,其中所述操作部分能對(duì)連續(xù)異常讀所述介質(zhì)位置信息的操作次數(shù)計(jì)數(shù)。
10.根據(jù)權(quán)利要求9的輸入/輸出設(shè)備,其中所述操作部分判定,如果連續(xù)異常讀所述介質(zhì)位置信息的操作次數(shù)等于或大于一個(gè)整數(shù)n,則所述扇區(qū)是不可用的。這里整數(shù)n滿足下述不等式(1){(失效因子)÷(一個(gè)簇中扇區(qū)數(shù))}<(介質(zhì)位置信息錯(cuò)誤發(fā)生率)n…(1)這里,失效因子=(失效而不可用容量)/(所述記錄介質(zhì)的總記錄容量)
11.根據(jù)權(quán)利要求10的輸入/輸出設(shè)備,其中整數(shù)n是滿足不等式(1)的那些整數(shù)中最大的一個(gè)。
12.根據(jù)權(quán)利要求6的輸入/輸出設(shè)備,進(jìn)一步包括一個(gè)信息存貯部分,它具有的存貯容量等于或大于所述記錄介質(zhì)的信息讀/寫單元并能暫時(shí)存貯在編碼之前或解碼之后的所述數(shù)據(jù)。
13.根據(jù)權(quán)利要求12的輸入/輸出設(shè)備,進(jìn)一步包括第一輸入/輸出部分,用于以至少一個(gè)所述信息讀/寫單元在所述信息存貯部分和所述記錄介質(zhì)之間傳送第一讀/寫信息;以及第二輸入/輸出部分,用于以至少一個(gè)小于所述第一信息讀/寫單元的第二信息讀/寫單元在所述信息存貯部分和一個(gè)外輸入/輸出終端之間傳送第二輸入/輸出信息。
14.一個(gè)讀/寫設(shè)備,包括一個(gè)根據(jù)權(quán)利要求6的輸入/輸出設(shè)備;以及一個(gè)控制所述記錄介質(zhì)的機(jī)制。
15.一種信息讀/寫方法,其中,當(dāng)把被雜混編碼從而使段錯(cuò)誤轉(zhuǎn)換成隨機(jī)錯(cuò)誤的數(shù)據(jù)寫入記錄介質(zhì)和從記錄介質(zhì)中讀出時(shí),通過使用能實(shí)現(xiàn)暫時(shí)存貯并具有至少等于所述第一讀/寫單元存貯容量的信息存貯部分,使信息以小于第一讀/寫單元的第二讀/寫單元的塊形式寫入所述記錄介質(zhì)和從記錄介質(zhì)中讀出,當(dāng)所述信息是從所述記錄介質(zhì)中讀出時(shí),所述信息讀/寫方法包括讀出第一讀/寫信息的步驟,該第一讀/寫信息組成所述第一讀/寫單元并包括一個(gè)記錄區(qū),該記錄區(qū)對(duì)應(yīng)于組成所述第二讀/寫單元的第二讀/寫信息,在讀出時(shí)以至少一個(gè)所述第一讀/寫單元的塊形式進(jìn)行,該步驟還包括把所述讀出的第一讀/寫信息演變到所述信息存貯部分;以及以所述第二讀/寫單元的塊的形式讀出演變到所述信息存貯部分的所述第一讀/寫信息的所述第二讀/寫信息的步驟,以及當(dāng)所述信息是寫入所述記錄介質(zhì)時(shí),所述信息讀/寫方法的組成是所述讀出步驟;用所述第二讀/寫信息替代演變到所述信息存貯部分中的所述第一讀/寫信息的相應(yīng)位置的步驟;以及以所述第一讀/寫單元的塊的形式將所述信息存貯部分的所述第一讀/寫信息寫入所述記錄介質(zhì)的步驟。
16.根據(jù)權(quán)利要求15的信息讀/寫方法,其中,當(dāng)所述信息寫入所述記錄介質(zhì)時(shí),是在所述替換步驟執(zhí)行若干次之后的給定時(shí)刻執(zhí)行所述記錄步驟。
17.一種輸入/輸出設(shè)備,包括第一輸入/輸出部分,用于以相應(yīng)于記錄介質(zhì)的至少一個(gè)第一信息讀/寫單元傳送第一讀/寫信息,數(shù)據(jù)被雜混編碼從而將段錯(cuò)誤轉(zhuǎn)換成隨機(jī)錯(cuò)誤;第二輸入/輸出部分,用于以至少一個(gè)小于所述第一信息讀/寫單元的第二信息讀/寫單元來傳送第二讀/寫信息;以及信息存貯部分,它的存貯容量至少等于所述第一讀/寫單元并能暫時(shí)存貯信息,所述信息存貯部分允許以所述第二讀/寫單元的塊的形式在所述第一輸入/輸出部分和所述第二輸入/輸出部分之間傳送所述第一讀/寫信息。
18.根據(jù)權(quán)利要求17的輸入/輸出設(shè)備,其中所述第一輸入/輸出部分向所述記錄介質(zhì)和從所述記錄介質(zhì)傳送所述第一讀/寫信息,而所述第二輸入/輸出部分通過一個(gè)總線輸入和輸出所述第二讀/寫信息。
19.根據(jù)權(quán)利要求18的輸入/輸出設(shè)備,還包括一個(gè)代碼調(diào)制部分用于對(duì)所述第一輸入/輸出部分和所述信息存貯部分之間傳送的信息進(jìn)行編碼和解碼。
20.根據(jù)權(quán)利要求19的輸入/輸出設(shè)備,其中所述代碼調(diào)制部分使用交叉交錯(cuò)reed-Solomon編碼。
21.根據(jù)權(quán)利要求17的輸入/輸出設(shè)備,其中所述第一輸入/輸出部分允許所述第一讀/寫信息通過總線輸入和輸出,所述第二輸入/輸出部分允許所述第二讀/寫信息向操作系統(tǒng)輸入或從操作系統(tǒng)輸出。
22.根據(jù)權(quán)利要求17的輸入/輸出設(shè)備,其中所述記錄介質(zhì)是緊致盤(CD)或可重寫緊致盤。
23.根據(jù)權(quán)利要求17的輸入/輸出設(shè)備,其中所述第一輸入/輸出部分在給定計(jì)時(shí)輸出所述第一讀/寫信息。
24.根據(jù)權(quán)利要求23的輸入/輸出設(shè)備,其中所述給定計(jì)時(shí)是操作系統(tǒng)的信息處置結(jié)束命令。
25.根據(jù)權(quán)利要求23的輸入/輸出設(shè)備,其中所述給定計(jì)時(shí)是退出所述記錄介質(zhì)的命令。
全文摘要
本發(fā)明的信息讀/寫設(shè)備的輸入/輸出部分中包括了一個(gè)操作部分。該操作部分根據(jù)介質(zhì)位置信息和記錄集團(tuán)信息判定一個(gè)扇區(qū)是否可用。在讀/寫部分和通信部分之間插入一個(gè)設(shè)備信息存貯部分。設(shè)備信息存貯部分的存貯容量等于或大于數(shù)據(jù)讀/寫單元。記錄介質(zhì)上的讀/寫信息暫時(shí)送入設(shè)備信息存貯部分,從而使信息以O(shè)S中能處置的讀/寫單元的塊進(jìn)行傳送。
文檔編號(hào)G06F3/06GK1141476SQ95116640
公開日1997年1月29日 申請(qǐng)日期1995年8月22日 優(yōu)先權(quán)日1994年8月22日
發(fā)明者神原義幸, 杉田隆俊 申請(qǐng)人:雅考埃普森株式會(huì)社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
南漳县| 铜鼓县| 湖北省| 名山县| 商洛市| 焦作市| 南京市| 龙胜| 仙桃市| 深州市| 万宁市| 石河子市| 南江县| 阿图什市| 突泉县| 灵川县| 大竹县| 新兴县| 庆安县| 义乌市| 曲阜市| 蒙阴县| 墨玉县| 普宁市| 尤溪县| 石河子市| 绵阳市| 汪清县| 武汉市| 德保县| 辛集市| 随州市| 榆社县| 都昌县| 三原县| 尼勒克县| 江孜县| 宜城市| 岳普湖县| 昭平县| 鲜城|