两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

數(shù)據(jù)傳輸裝置和數(shù)據(jù)記錄裝置及數(shù)據(jù)傳輸方法和數(shù)據(jù)記錄方法

文檔序號(hào):7531930閱讀:355來源:國知局
專利名稱:數(shù)據(jù)傳輸裝置和數(shù)據(jù)記錄裝置及數(shù)據(jù)傳輸方法和數(shù)據(jù)記錄方法
技術(shù)領(lǐng)域
本發(fā)明涉及在例如存儲(chǔ)器間、通信設(shè)備(包括計(jì)算機(jī))終端間、信息處理機(jī)間、或者主機(jī)與外部存儲(chǔ)裝置間,用非損失型的數(shù)據(jù)壓縮方法傳輸已壓縮的數(shù)據(jù)的數(shù)據(jù)傳輸裝置和數(shù)據(jù)傳輸方法。
本發(fā)明還涉及將來自外部的傳輸數(shù)據(jù)以非損失型的數(shù)據(jù)壓縮方式進(jìn)行數(shù)據(jù)壓縮,并將此已壓縮了的數(shù)據(jù)記錄到記錄介質(zhì)上的數(shù)據(jù)記錄裝置和數(shù)據(jù)記錄方法,例如對(duì)磁盤進(jìn)行信息數(shù)據(jù)的記錄重放的磁盤裝置(硬磁盤驅(qū)動(dòng)器、軟磁盤驅(qū)動(dòng)器等)、或者涉及對(duì)可寫入的光盤(磁光盤、相變化盤等)進(jìn)行記錄重放的光盤驅(qū)動(dòng)器等,特別是作為通過接口總線與主機(jī)連接的外部存儲(chǔ)裝置使用的適用的數(shù)據(jù)記錄裝置和數(shù)據(jù)記錄方法。
通常,計(jì)算機(jī)是用CPU(中央處理裝置)通過存儲(chǔ)控制裝置讀出存儲(chǔ)在主存儲(chǔ)裝置中的程序指令,并執(zhí)行該程序指令,進(jìn)行各種數(shù)據(jù)處理和控制的。
此程序指令是進(jìn)行數(shù)據(jù)處理等的程序(算法)的單位(步驟),程序通常是由多步驟的程序指令構(gòu)成。
在記錄程序指令的數(shù)不多的小規(guī)模程序,只進(jìn)行簡單處理的計(jì)算機(jī)的場合,采用將程序等預(yù)先記錄在裝于計(jì)算機(jī)內(nèi)的ROM等上的方式,而像現(xiàn)在這樣,在用一臺(tái)計(jì)算機(jī)進(jìn)行多數(shù)據(jù)處理、控制的場合,就需要有用以存儲(chǔ)許多程序、有大規(guī)模數(shù)據(jù)長度的數(shù)據(jù)的其它存儲(chǔ)裝置。
因此,迄今為止,都采用使用磁盤的硬磁盤驅(qū)動(dòng)器、使用光磁盤等可寫入光盤的光盤驅(qū)動(dòng)器以及使用半導(dǎo)體存儲(chǔ)器的大容量型等輔助存儲(chǔ)裝置,由于通過接口總線連接輔助存儲(chǔ)裝置和計(jì)算機(jī),可將大容量的程序和數(shù)據(jù)存儲(chǔ)在輔助存儲(chǔ)裝置中。所以,按照來自適當(dāng)?shù)腛S(操作系統(tǒng))或應(yīng)用程序所選擇的啟動(dòng)、讀出請(qǐng)求,把存儲(chǔ)在輔助存儲(chǔ)裝置中的程序和數(shù)據(jù)讀到主存儲(chǔ)裝置上,進(jìn)行多數(shù)據(jù)處理和控制。
因而目前存在外部存儲(chǔ)裝置大容量化的傾向,已出現(xiàn)了用以增加磁盤和光盤記錄容量的各種技術(shù)。
特別是由于近年來多媒體的興起,相對(duì)上述外部存儲(chǔ)裝置的存儲(chǔ)容量呈增加的趨勢,軟件等所需要的信息量,例如程序本身的容量和程序處理的數(shù)據(jù)容量也增加,因而數(shù)據(jù)壓縮技術(shù)的重要性有提高的傾向。
上述數(shù)據(jù)壓縮技術(shù)中,特別是無數(shù)據(jù)損失的非損失型的數(shù)據(jù)壓縮技術(shù)(當(dāng)然有熵編碼或無損耗編碼),在以下兩點(diǎn)已引起重視在將數(shù)據(jù)存儲(chǔ)在外部存儲(chǔ)裝置中時(shí)有外觀上能使容量變大的效果;在傳輸數(shù)據(jù)時(shí)有能更有效地使用通信線路的效果。
用此非損失型的數(shù)據(jù)壓縮技術(shù)進(jìn)行數(shù)據(jù)壓縮的方式是通過使數(shù)據(jù)中所包含的冗余部分減少來進(jìn)行數(shù)據(jù)壓縮的方式,該已壓縮的數(shù)據(jù)一旦解壓縮后,能完全重現(xiàn)壓縮前的數(shù)據(jù),具有無信息損失的性質(zhì)。
但在具有上述這樣性質(zhì)的非損失型的數(shù)據(jù)壓縮技術(shù)中,其數(shù)據(jù)壓縮時(shí)的壓縮率(壓縮前數(shù)據(jù)的數(shù)據(jù)長/壓縮后數(shù)據(jù)的數(shù)據(jù)長)隨所壓縮的數(shù)據(jù)內(nèi)容而不同,具有直到被壓縮的數(shù)據(jù)全部壓縮完之前不會(huì)知道其壓縮率的性質(zhì)。
例如,對(duì)冗余度非常大的2值的位·標(biāo)志·數(shù)據(jù)等,有時(shí)具有5或5以上高的壓縮率,相反,對(duì)已經(jīng)用某種方式進(jìn)行過數(shù)據(jù)壓縮的數(shù)據(jù),如果要進(jìn)一步用這種非損失型的數(shù)據(jù)壓縮技術(shù)進(jìn)行數(shù)據(jù)壓縮,在大多數(shù)情況下還具有數(shù)據(jù)解壓縮后難以使用的性質(zhì)。
還有,用低的壓縮率壓縮數(shù)據(jù)時(shí),例如,壓縮后的數(shù)據(jù)只為壓縮前的原來的數(shù)據(jù)的99%大小時(shí),盡管確實(shí)進(jìn)行了數(shù)據(jù)壓縮,但由于壓縮前后的數(shù)據(jù)長度幾乎不變,所以沒有壓縮所帶來的優(yōu)點(diǎn)。
例如,將數(shù)據(jù)存儲(chǔ)到進(jìn)行隨機(jī)存取的光盤、磁盤等的外部存儲(chǔ)裝置時(shí),在以使外觀上的存儲(chǔ)容量變大為目的進(jìn)行數(shù)據(jù)壓縮的情況下,在這些外部存儲(chǔ)裝置,用固定長度的數(shù)據(jù),例如用512字節(jié)的存貯塊單位進(jìn)行存儲(chǔ)。因而,在存儲(chǔ)1K字節(jié)的數(shù)據(jù)時(shí),要分兩個(gè)存貯塊進(jìn)行存儲(chǔ)。
對(duì)此1K字節(jié)的數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮,如壓縮后的數(shù)據(jù)長度在512字節(jié)以下,此壓縮后的數(shù)據(jù)在盤上占有的存儲(chǔ)區(qū)域的大小變成1個(gè)存貯塊因而在這時(shí)數(shù)據(jù)在盤上占有區(qū)域的大小成為未進(jìn)行數(shù)據(jù)壓縮時(shí)的一半,因進(jìn)行了數(shù)據(jù)壓縮而帶來好處。
但是當(dāng)壓縮后的數(shù)據(jù)長度大于512字節(jié)時(shí),數(shù)據(jù)雖被壓縮,但實(shí)際上上述壓縮后的數(shù)據(jù)在盤上占有的存儲(chǔ)區(qū)域的大小變成2個(gè)存貯塊,與未進(jìn)行數(shù)據(jù)壓縮時(shí)相同。
因而在這種情況下,數(shù)據(jù)壓縮需要的時(shí)間(由于也有要解壓縮數(shù)據(jù)的情況,所以記為總的數(shù)據(jù)壓縮/解壓縮所需要的時(shí)間),以及CPU和數(shù)據(jù)壓縮專用的硬件等要消耗電功率,因而會(huì)因數(shù)據(jù)壓縮使系統(tǒng)的整體性能變壞。而且這時(shí)從外部存儲(chǔ)裝置讀出壓縮后的數(shù)據(jù)并傳輸?shù)接?jì)算機(jī)時(shí),由于數(shù)據(jù)需要解壓縮,因而產(chǎn)生白白浪費(fèi)解壓縮數(shù)據(jù)所需時(shí)間的問題。
而且即使應(yīng)用將已被壓縮的數(shù)據(jù)分成固定長度的單元進(jìn)行傳輸?shù)耐ㄐ盘幚頃r(shí),也有壓縮前數(shù)據(jù)占有的單元數(shù)與壓縮后數(shù)據(jù)占有的單元數(shù)相同的情況,系統(tǒng)的綜合性能提高受到限制。
又例如,為縮短計(jì)算機(jī)與外部存儲(chǔ)裝置間數(shù)據(jù)傳輸?shù)臅r(shí)間,在以更有效地使用通信線路為目的進(jìn)行非損失型的數(shù)據(jù)壓縮時(shí),如圖43所示,與未進(jìn)行數(shù)據(jù)壓縮來傳輸數(shù)據(jù)時(shí)的傳輸時(shí)間tA1相比,傳輸進(jìn)行了數(shù)據(jù)壓縮的數(shù)據(jù)時(shí)的傳輸時(shí)間tAC1變短。
在進(jìn)行數(shù)據(jù)壓縮時(shí),實(shí)際的數(shù)據(jù)傳輸時(shí)間tC1,特別是數(shù)據(jù)壓縮/解壓縮長所需要的時(shí)間tB1重新成為必要,由于實(shí)際上壓縮了所傳輸?shù)臄?shù)據(jù),外觀上的數(shù)據(jù)長度變小。因而總的來看,由于進(jìn)行數(shù)據(jù)壓縮使傳輸時(shí)間縮短。在此,如上所述,為了縮短傳輸時(shí)間,有必要高速進(jìn)行數(shù)據(jù)壓縮,使上述數(shù)據(jù)壓縮/解壓縮所需要的時(shí)間tB1變短。
而且,且低壓縮率進(jìn)行數(shù)據(jù)壓縮時(shí)如圖44所示,由于實(shí)際的數(shù)據(jù)傳送時(shí)間不怎么縮短,數(shù)據(jù)壓縮/解壓縮所需要的時(shí)間tB2要重新加到其上,結(jié)果,傳送進(jìn)行過數(shù)據(jù)壓縮的數(shù)據(jù)時(shí)的傳輸時(shí)間tAC2,比不進(jìn)行數(shù)據(jù)壓縮傳送數(shù)據(jù)時(shí)的傳輸時(shí)間tA2更長。
在這種情況下即使進(jìn)行數(shù)據(jù)壓縮,也得不到任何好處,相反,由于進(jìn)行數(shù)據(jù)壓縮,還會(huì)使系統(tǒng)整體的性能變壞。
另一方面,在主機(jī)與外部存儲(chǔ)裝置間傳輸數(shù)據(jù)時(shí),可使主機(jī)具有上述非損失型數(shù)據(jù)壓縮功能。然而,在多臺(tái)外部存儲(chǔ)裝置與主機(jī)連接的系統(tǒng)中,當(dāng)從主機(jī)將不同的數(shù)據(jù)傳送到多臺(tái)外部存儲(chǔ)裝置中時(shí),由于壓縮數(shù)據(jù)需要很長的計(jì)算時(shí)間,向全部外部存儲(chǔ)裝置傳輸完數(shù)據(jù)需要相當(dāng)長的時(shí)間。
換言之,將不同的數(shù)據(jù)傳送到多臺(tái)外部存儲(chǔ)裝置時(shí),存在主機(jī)的控制已被數(shù)據(jù)壓縮處理所占有,不能進(jìn)行其它處理這樣的缺點(diǎn)。
當(dāng)然,只有與有數(shù)據(jù)壓縮功能的主機(jī)連接的外部存儲(chǔ)裝置外觀上的數(shù)據(jù)記錄容量變大。即,只有與有數(shù)據(jù)壓縮功能的主機(jī)連接的外部存儲(chǔ)裝置得到數(shù)據(jù)壓縮的好處。還存在有記錄了壓縮數(shù)據(jù)的磁盤的外部存儲(chǔ)裝置只能用有解壓縮功能的主機(jī)進(jìn)行重放這樣的缺點(diǎn)。
因此,將數(shù)據(jù)壓縮功能賦予外部存儲(chǔ)裝置,用各個(gè)外部存儲(chǔ)裝置進(jìn)行壓縮處理,能削減用主機(jī)壓縮處理所費(fèi)的時(shí)間,即使用不具有數(shù)據(jù)壓縮功能的主機(jī),也有用外部存儲(chǔ)裝置進(jìn)行數(shù)據(jù)壓縮的好處,即,能使外觀上的數(shù)據(jù)存儲(chǔ)容量變大,因而能處理種各種各樣的程序和數(shù)據(jù)。
可是,作為附加到外部存儲(chǔ)裝置的壓縮功能,不是在將模擬信號(hào)進(jìn)行了數(shù)字變換的音頻數(shù)據(jù)和圖象數(shù)據(jù)等數(shù)字?jǐn)?shù)據(jù)場合所采用的有數(shù)據(jù)損失的壓縮技術(shù),例如不是利用公知的離散余弦變換技術(shù)的壓縮技術(shù),進(jìn)行解壓縮處理時(shí),在采用確實(shí)具有與輸入數(shù)據(jù)相同的數(shù)據(jù)的非損失的數(shù)據(jù)壓縮技術(shù),例如公知的哈夫曼編碼技術(shù)或者LWZ(Lempel-Ziv and Welch)編碼技術(shù)的場合,隨著供給壓縮率的數(shù)據(jù)內(nèi)容(例如,在該數(shù)據(jù)中,使用相同用語、相同表現(xiàn)等到何種程度)的不同而不同,不是固定的。
具體地說,用非損失的數(shù)據(jù)壓縮技術(shù)將壓縮前的數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮時(shí),使作為壓縮率所期待的值(下文簡記為期望壓縮率)設(shè)為2進(jìn)行說明時(shí),將由主機(jī)傳輸?shù)哪硞€(gè)有一定數(shù)據(jù)長度的1邏輯存貯塊部分的數(shù)據(jù)用外部存儲(chǔ)裝置進(jìn)行數(shù)據(jù)壓縮時(shí),如數(shù)據(jù)壓縮像所期待那樣工作,即如用與所期待壓縮率相同的壓縮率進(jìn)行數(shù)據(jù)壓縮的話,經(jīng)數(shù)據(jù)壓縮后的數(shù)據(jù)長度成為1邏輯存貯塊的1/2大小的1物理存貯塊的大小。這里是把2物理存貯塊=1邏輯存貯塊來處理。
也就是說,物理容量為500MB(兆字節(jié))的光盤,從主機(jī)看來,其外觀容量成為1GB(千兆字節(jié))。但是像上述那樣,采用非損失的壓縮技術(shù)作為壓縮技術(shù)時(shí),經(jīng)數(shù)據(jù)壓縮后的數(shù)據(jù)容量由于常常不限于壓縮前的數(shù)據(jù)長度的1/2或其以下,所以1邏輯存貯塊部分的傳輸數(shù)據(jù)往往容納不到1物理存貯塊。
考慮到與數(shù)據(jù)壓縮相反,具備將數(shù)據(jù)解壓縮的可能性時(shí),也存在1邏輯存貯塊部分的數(shù)據(jù)解壓縮后變成跨越三個(gè)以上的物理存貯塊的數(shù)據(jù)的情況。這是實(shí)際壓縮率不到1時(shí)產(chǎn)生的現(xiàn)象。
因而這時(shí)雖然試圖通過數(shù)據(jù)壓縮增加外觀容量等來提高性能,但是結(jié)果反使性能變壞。即,盡管壓縮數(shù)據(jù),該數(shù)據(jù)在光盤上所占的物理容量未變成1邏輯存貯塊部分的容量,或者變成在其以上,但是當(dāng)讀出時(shí),解壓縮所壓縮的數(shù)據(jù)需要時(shí)間,雖然進(jìn)行過壓縮處理,但在光盤上占有的空間僅與未壓縮的情況相同,在讀出時(shí)要花費(fèi)用以解壓縮的時(shí)間,并無優(yōu)點(diǎn)。存在發(fā)生這樣不良情況的可能性。
而且在磁盤、光盤中,由于隨機(jī)地進(jìn)行記錄和重放,例如如上所述,將跨越2個(gè)以上的物理存貯塊的壓縮后的數(shù)據(jù)記錄到光盤上時(shí),就成為以物理存貯塊為單位的隨機(jī)記錄。
這時(shí),例如跨越2個(gè)以上的物理存貯塊部分的相互關(guān)連的某些壓縮后的數(shù)據(jù),在磁盤和光盤上,也存在以物理存貯塊為單位,分割成在空間上分離開的各個(gè)位置進(jìn)行記錄的情況。這在向已記錄有數(shù)據(jù)的磁盤、光盤上隨機(jī)地記錄數(shù)據(jù)時(shí)是明顯的。在這樣情況下讀出磁盤、光盤上的數(shù)據(jù)時(shí),對(duì)上述相互關(guān)連的某些壓縮后的數(shù)據(jù)進(jìn)行檢索處理要花費(fèi)時(shí)間,結(jié)果,有使存取時(shí)間變長的可能。
本發(fā)明是為了解決上述課題,提供一種能按照未進(jìn)行數(shù)據(jù)壓縮的壓縮前的數(shù)據(jù)長及進(jìn)行過數(shù)據(jù)壓縮后的壓縮數(shù)據(jù)的數(shù)據(jù)長和設(shè)定條件,通過傳輸壓縮前數(shù)據(jù)與壓縮數(shù)據(jù)中任何一種數(shù)據(jù)來提高總的系統(tǒng)性能的數(shù)據(jù)傳輸裝置和數(shù)據(jù)傳輸方法。
本發(fā)明的另一目的是提供一種對(duì)記錄在記錄介質(zhì)上的數(shù)據(jù)中,進(jìn)行數(shù)據(jù)壓縮的實(shí)際壓縮率滿足一定條件的記錄數(shù)據(jù)不必進(jìn)行解壓縮處理,便能使從記錄介質(zhì)讀出數(shù)據(jù)的速度大幅度提高的數(shù)據(jù)記錄裝置和數(shù)據(jù)記錄方法。
而且,本發(fā)明的又一目的是提供一種能避免將2個(gè)以上的物理存貯塊部分的數(shù)據(jù)以物理存貯塊單位記錄在分離的物理位置上,而記錄在與連續(xù)的2個(gè)以上的物理存貯塊相當(dāng)?shù)膮^(qū)域,從而能有效地縮短進(jìn)行數(shù)據(jù)讀出時(shí)的查找時(shí)間的數(shù)據(jù)記錄裝置和數(shù)據(jù)記錄方法。
本發(fā)明的數(shù)據(jù)傳輸裝置是由以下各部分而構(gòu)成保持壓縮前數(shù)據(jù)的壓縮前數(shù)據(jù)保持裝置;將用上述壓縮前數(shù)據(jù)保持裝置保持的上述壓縮前數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮處理的數(shù)據(jù)壓縮處理裝置;保持來自上述數(shù)據(jù)壓縮處理裝置的壓縮數(shù)據(jù)的壓縮數(shù)據(jù)保持裝置;按照上述壓縮前數(shù)據(jù)和上述壓縮數(shù)據(jù)的各數(shù)據(jù)長與設(shè)定條件判斷應(yīng)傳輸?shù)臄?shù)據(jù)的判斷裝置;按照來自上述判斷裝置的判斷結(jié)果,在用上述壓縮前數(shù)據(jù)保持裝置保持的壓縮前數(shù)據(jù)和用壓縮數(shù)據(jù)保持裝置保持的壓縮數(shù)據(jù)中,傳輸任何一種數(shù)據(jù)的數(shù)據(jù)傳輸裝置。
因此,首先用壓縮前數(shù)據(jù)保持裝置保持的壓縮前數(shù)據(jù)在數(shù)據(jù)壓縮處理裝置中被壓縮,并作為壓縮數(shù)據(jù)被保持在壓縮數(shù)據(jù)保持裝置中。
隨后在判斷裝置中,按照上述壓縮前數(shù)據(jù)與上述壓縮數(shù)據(jù)的各數(shù)據(jù)長和設(shè)定條件,判斷應(yīng)傳輸?shù)臄?shù)據(jù),按照此判斷結(jié)果,由數(shù)據(jù)傳輸裝置傳輸壓縮前數(shù)據(jù)與壓縮數(shù)據(jù)中任何一種數(shù)據(jù)。
例如,滿足上述設(shè)定條件時(shí)傳輸壓縮數(shù)據(jù),未滿足上述設(shè)定條件時(shí)傳輸壓縮前數(shù)據(jù)。
結(jié)果,能防止壓縮數(shù)據(jù)在數(shù)據(jù)傳輸端的存儲(chǔ)區(qū)上占有大小與壓縮前數(shù)據(jù)在存儲(chǔ)區(qū)占有的大小大體相同這樣的現(xiàn)象,從而能避免在數(shù)據(jù)傳輸端進(jìn)行無用的解壓縮處理這種不良情況。
這里,作為用上述判斷裝置進(jìn)行的判斷處理可以是,按照作為壓縮前數(shù)據(jù)的數(shù)據(jù)長與壓縮數(shù)據(jù)的數(shù)據(jù)長之差的實(shí)際差值和規(guī)定的設(shè)定差值來進(jìn)行,當(dāng)上述實(shí)際差值大于上述設(shè)定差值時(shí)輸出表示傳輸壓縮數(shù)據(jù)的判斷結(jié)果,當(dāng)上述實(shí)際差值小于上述設(shè)定差值時(shí)輸出表示傳輸壓縮前數(shù)據(jù)的判斷結(jié)果。
作為用上述判斷裝置的判斷處理,也可以是,按照作為壓縮前數(shù)據(jù)的數(shù)據(jù)長對(duì)壓縮數(shù)據(jù)的數(shù)據(jù)長的比率的實(shí)際壓縮率和規(guī)定的設(shè)定壓縮率來進(jìn)行,上述實(shí)際壓縮率大于上述設(shè)定壓縮率時(shí),輸出表示傳送壓縮數(shù)據(jù)的判斷結(jié)果,上述實(shí)際壓縮率小于上述設(shè)定壓縮率時(shí),輸出表示傳送壓縮前數(shù)據(jù)的判斷結(jié)果。
而且作為用上述判斷裝置的判斷處理,還可以是,作為壓縮前數(shù)據(jù)的數(shù)據(jù)長與壓縮數(shù)據(jù)的數(shù)據(jù)長之差的實(shí)際差值大于規(guī)定的設(shè)定差值,并且作為壓縮前數(shù)據(jù)的數(shù)據(jù)長對(duì)壓縮數(shù)據(jù)的數(shù)據(jù)長的比率的實(shí)際壓縮率也大于規(guī)定的設(shè)定壓縮率時(shí),輸出表示傳輸壓縮數(shù)據(jù)的判斷結(jié)果,除此外的情況可以輸出表示傳輸壓縮前數(shù)據(jù)的判斷結(jié)果。按照這種判斷處理,在以下場合有效。
例如,實(shí)際差值大于設(shè)定差值時(shí),考慮到傳輸壓縮數(shù)據(jù)這樣結(jié)構(gòu)的情況,使設(shè)定差值為例如512字節(jié)時(shí),在壓縮前數(shù)據(jù)有2K字節(jié)的數(shù)據(jù)長的情況下,通過數(shù)據(jù)壓縮使壓縮數(shù)據(jù)的數(shù)據(jù)長小于1.5K字節(jié)時(shí),傳輸壓縮數(shù)據(jù)。
同樣,在壓縮前數(shù)據(jù)有1M字節(jié)(1000K字節(jié))的數(shù)據(jù)長的情況下,通過數(shù)據(jù)壓縮使壓縮數(shù)據(jù)的數(shù)據(jù)長在999.5K字節(jié)以下時(shí),傳輸壓縮數(shù)據(jù)。
這時(shí),壓縮前數(shù)據(jù)(數(shù)據(jù)長=1000K字節(jié))與上述壓縮數(shù)據(jù)(數(shù)據(jù)長=999.5K字節(jié))的比率(實(shí)際壓縮率)是約1.0005,通過壓縮處理削去的數(shù)據(jù)長(與差值相當(dāng))與壓縮前數(shù)據(jù)的數(shù)據(jù)長的百分比僅是0.05%,由此壓縮率看,壓縮數(shù)據(jù)的數(shù)據(jù)長與壓縮前數(shù)據(jù)的數(shù)據(jù)長幾乎無變化。
這里,只比較實(shí)際差值與設(shè)定差值來判斷應(yīng)傳輸壓縮數(shù)據(jù)還是應(yīng)傳輸壓縮前數(shù)據(jù)的情況,如實(shí)際差值在設(shè)定差值以上,即使像上述這樣是數(shù)據(jù)長幾乎與壓縮前數(shù)據(jù)長相同的壓縮數(shù)據(jù),也傳輸該壓縮數(shù)據(jù)。結(jié)果,在數(shù)據(jù)傳輸端,上述壓縮數(shù)據(jù)也要用不少時(shí)間進(jìn)行解壓縮處理,時(shí)間白白浪費(fèi)。
但是,如按照上述判斷處理,像上述那樣,由于實(shí)際差值在設(shè)定差值以上,而且實(shí)際壓縮率也在設(shè)定壓縮率以上時(shí),才開始傳輸壓縮數(shù)據(jù),所以,即使實(shí)際差值在設(shè)定差值以上,如實(shí)際壓縮率未達(dá)到設(shè)定壓縮率也不傳輸壓縮數(shù)據(jù)。而是代之以傳輸壓縮前數(shù)據(jù)。這時(shí),由于在數(shù)據(jù)傳輸端不進(jìn)行需要處理時(shí)間的解壓縮處理,所以不發(fā)生時(shí)間的浪費(fèi)。據(jù)此,能更進(jìn)一步提高總系統(tǒng)的性能。
而且,作為在上述判斷裝置的判斷處理,可以是,作為實(shí)際壓縮率的上述壓縮前數(shù)據(jù)的數(shù)據(jù)長對(duì)壓縮數(shù)據(jù)的數(shù)據(jù)長的比率,判斷此實(shí)際壓縮率滿足預(yù)先設(shè)定的二個(gè)條件中任一個(gè)條件,在上述實(shí)際壓縮率滿足一個(gè)條件時(shí),輸出表示傳輸壓縮前數(shù)據(jù)的判斷結(jié)果,上述實(shí)際壓縮率滿足另一條件時(shí),可以輸出表示傳輸壓縮數(shù)據(jù)的判斷結(jié)果。
這時(shí),將壓縮前數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮時(shí),使作為壓縮率所期望的值設(shè)為期望壓縮率β時(shí),能使上述一個(gè)條件為0<實(shí)際壓縮率ε<β(β-1),另一條件為實(shí)際壓縮率ε≥β(β-1)還可以設(shè)置用以將上述設(shè)定壓縮率或上述設(shè)定差值以及上述設(shè)定壓縮率和上述設(shè)定差值變更為任意值的設(shè)定值變更裝置。這時(shí),能將在出廠階段的設(shè)定差值和設(shè)定壓縮率變更為用操作者(用戶)建立的系統(tǒng)(硬件和軟件)在邏輯上或?qū)嶋H上求出的設(shè)定差值和設(shè)定壓縮率。結(jié)果,能用最適合于操作者(用戶)建立的系統(tǒng)的數(shù)據(jù)壓縮條件來壓縮數(shù)據(jù),從而能提高文件管理的質(zhì)量。這會(huì)使系統(tǒng)的綜合性能提高。
其次,為達(dá)到上述目的,本發(fā)明的數(shù)據(jù)傳輸裝置通過設(shè)置以下各部分而構(gòu)成保持壓縮前數(shù)據(jù)的壓縮前數(shù)據(jù)保持裝置;將用上述壓縮前數(shù)據(jù)保持裝置保持的數(shù)據(jù)以設(shè)定的數(shù)據(jù)長單位進(jìn)行數(shù)據(jù)壓縮處理的數(shù)據(jù)壓縮處理裝置;保持來自上述數(shù)據(jù)壓縮處理裝置的壓縮數(shù)據(jù)的壓縮數(shù)據(jù)保持裝置;按照用上述數(shù)據(jù)壓縮處理裝置對(duì)一部分壓縮前數(shù)據(jù)進(jìn)行壓縮處理得到的一部分壓縮數(shù)據(jù)的數(shù)據(jù)長和上述一部分壓縮前數(shù)據(jù)的數(shù)據(jù)長以及設(shè)定條件,判斷應(yīng)傳送的數(shù)據(jù)的判斷裝置;按照來自上述判斷裝置的判斷結(jié)果,傳輸用上述壓縮前數(shù)據(jù)保持裝置保持的壓縮前數(shù)據(jù)與用壓縮數(shù)據(jù)保持裝置保持的壓縮數(shù)據(jù)中的任何一種數(shù)據(jù)的數(shù)據(jù)傳輸裝置。
由此,首先用壓縮前數(shù)據(jù)保持裝置保持的壓縮前數(shù)據(jù)在數(shù)據(jù)壓縮處理裝置中被用設(shè)定的數(shù)據(jù)長單位進(jìn)行數(shù)據(jù)壓縮,并作為順序壓縮數(shù)據(jù)保持在壓縮數(shù)據(jù)保持裝置。
而且在判斷裝置中,按照用上述數(shù)據(jù)壓縮處理裝置對(duì)一部分壓縮前數(shù)據(jù)進(jìn)行壓縮處理得到的一部分壓縮數(shù)據(jù)的數(shù)據(jù)長和上述一部分壓縮前數(shù)據(jù)的數(shù)據(jù)長以及設(shè)定條件,判斷應(yīng)傳送的數(shù)據(jù),按照此判斷結(jié)果,從數(shù)據(jù)傳輸裝置傳輸壓縮前數(shù)據(jù)和壓縮數(shù)據(jù)中的任何一種數(shù)據(jù)。
例如,滿足上述設(shè)定條件時(shí),傳送壓縮數(shù)據(jù),未滿足上述條件時(shí)傳送壓縮前數(shù)據(jù)。
結(jié)果,能防止出現(xiàn)壓縮數(shù)據(jù)在數(shù)據(jù)傳輸端中存儲(chǔ)區(qū)上占有的大小與壓縮前數(shù)據(jù)在存儲(chǔ)區(qū)上占有的大小大體相同這樣的現(xiàn)像,從而能避免在數(shù)據(jù)傳輸端進(jìn)行無用的解壓縮處理這樣的不良情況。
特別是在這種結(jié)構(gòu)中,不是對(duì)壓縮前數(shù)據(jù)全部進(jìn)行數(shù)據(jù)壓縮,按照對(duì)壓縮前數(shù)據(jù)的一部分進(jìn)行數(shù)據(jù)壓縮得到的一部分壓縮數(shù)據(jù)的數(shù)據(jù)長和上述一部分壓縮前數(shù)據(jù)的數(shù)據(jù)長以及設(shè)定條件,判斷應(yīng)傳輸數(shù)據(jù)應(yīng)該作為壓縮數(shù)據(jù)還是應(yīng)該作為壓縮前數(shù)據(jù),從而能縮短用于數(shù)據(jù)壓縮的時(shí)間。
而且在上述結(jié)構(gòu)中還可以設(shè)置順序刪除被上述數(shù)據(jù)壓縮處理裝置壓縮處理過的壓縮前數(shù)據(jù)的數(shù)據(jù)刪除裝置。這時(shí)能使壓縮前數(shù)據(jù)保持裝置的利用率提高,從而能避免例如,因容量溢出導(dǎo)致的系統(tǒng)停止等。
作為用上述判斷裝置進(jìn)行的判斷處理,還可以是,預(yù)測壓縮率是上述一部分壓縮前數(shù)據(jù)的數(shù)據(jù)長對(duì)上述一部分壓縮數(shù)據(jù)的數(shù)據(jù)長的比率,按照此予測壓縮率和規(guī)定的設(shè)定壓縮率來進(jìn)行判斷處理,上述預(yù)測壓縮率大于上述設(shè)定壓縮率時(shí)輸出表示傳輸壓縮數(shù)據(jù)的判斷結(jié)果,上述預(yù)測壓縮率小于上述設(shè)定壓縮率時(shí)輸出表示傳送壓縮前數(shù)據(jù)的判斷結(jié)果。
用上述判斷裝置的判斷結(jié)果表示傳送壓縮前數(shù)據(jù)時(shí),可以停止對(duì)向上述一部分壓縮前數(shù)據(jù)進(jìn)行過壓縮處理以后的壓縮前數(shù)據(jù)用數(shù)據(jù)壓縮處理裝置進(jìn)行的壓縮處理。這時(shí),判斷應(yīng)傳輸?shù)臄?shù)據(jù)是壓縮前數(shù)據(jù)時(shí),由于對(duì)其后的壓縮前數(shù)據(jù)不進(jìn)行數(shù)據(jù)壓縮處理,能縮短整體的處理時(shí)間(從將壓縮前數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮處理階段到傳輸壓縮前數(shù)據(jù)或壓縮數(shù)據(jù)的時(shí)間)。
也可以設(shè)置對(duì)上述預(yù)測壓縮率進(jìn)行與數(shù)據(jù)種類相應(yīng)的加權(quán)的加權(quán)裝置。這時(shí),不管壓縮前數(shù)據(jù)的種類如何,都能使預(yù)測壓縮率與預(yù)想的最終壓縮率間的誤差減小,能提高綜合的系統(tǒng)性能。
還可以設(shè)置用以將上述設(shè)定壓縮率變更為任意值的設(shè)定值變更裝置。這時(shí),能將出廠階段的設(shè)定壓縮率變更為用操作者(用戶)建立的系統(tǒng)(硬件和軟件)在邏輯上或?qū)嶒?yàn)上求出的設(shè)定壓縮率。結(jié)果,能用最合適于操作者(用戶)建立的系統(tǒng)的數(shù)據(jù)壓縮條件壓縮數(shù)據(jù),能提高文件管理的質(zhì)量。這就有助于系統(tǒng)綜合性能的提高。
其次,為達(dá)到上述目的,本發(fā)明的數(shù)據(jù)記錄裝置設(shè)置如下各部分構(gòu)成對(duì)記錄介質(zhì)進(jìn)行數(shù)據(jù)記錄的數(shù)據(jù)記錄裝置;對(duì)輸入數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮處理的數(shù)據(jù)壓縮處理裝置;保持未對(duì)上述輸入數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮處理的壓縮前數(shù)據(jù)和來自上述數(shù)據(jù)壓縮處理裝置的壓縮數(shù)據(jù)的數(shù)據(jù)保持裝置;按照上述壓縮前數(shù)據(jù)及上述壓縮數(shù)據(jù)的各數(shù)據(jù)長和設(shè)定條件判斷應(yīng)輸出的數(shù)據(jù)的判斷裝置;按照來自上述判斷裝置的判斷結(jié)果,將用上述數(shù)據(jù)保持裝置保持的壓縮前數(shù)據(jù)和壓縮數(shù)據(jù)中的任何一種數(shù)據(jù)輸出到上述記錄裝置的數(shù)據(jù)輸出裝置。
據(jù)此,首先,用數(shù)據(jù)保持裝置保持的壓縮前數(shù)據(jù)在數(shù)據(jù)壓縮處理裝置中被進(jìn)行數(shù)據(jù)壓縮,作為壓縮數(shù)據(jù)保持在數(shù)據(jù)保持裝置。
于是,在判斷裝置中,按照上述壓縮前數(shù)據(jù)與上述壓縮數(shù)據(jù)的各數(shù)據(jù)長和設(shè)定條件,判斷應(yīng)輸出的數(shù)據(jù),按照此判斷結(jié)果,從數(shù)據(jù)傳輸裝置將壓縮前數(shù)據(jù)和壓縮數(shù)據(jù)中任何一種數(shù)據(jù),通過數(shù)據(jù)輸出裝置輸出到數(shù)據(jù)記錄裝置,所輸出的壓縮前數(shù)據(jù)或壓縮數(shù)據(jù)被記錄在記錄介質(zhì)上。
例如,滿足上述設(shè)定條件時(shí),在記錄介質(zhì)上記錄壓縮數(shù)據(jù),未滿足上述設(shè)定條件時(shí),在記錄介質(zhì)上記錄壓縮前數(shù)據(jù)。
結(jié)果,能防止產(chǎn)生壓縮數(shù)據(jù)在數(shù)據(jù)傳輸端占有的存儲(chǔ)區(qū)上的大小與壓縮前數(shù)據(jù)在存儲(chǔ)區(qū)上占有的大小大體相同這樣的現(xiàn)象,能避免從記錄介質(zhì)上讀出時(shí)進(jìn)行無用的解壓縮處理這樣的不利情況。
即,在記錄在記錄介質(zhì)的數(shù)據(jù)中,對(duì)數(shù)據(jù)壓縮產(chǎn)生的實(shí)際壓縮率不滿足設(shè)定條件的記錄數(shù)據(jù)不必進(jìn)行解壓縮處理,能大幅度地提高從記錄媒體上讀出數(shù)據(jù)的速度。
這里作為用上述判斷裝置進(jìn)行的判斷處理,是按照作為壓縮前數(shù)據(jù)的數(shù)據(jù)長與壓縮數(shù)據(jù)的數(shù)據(jù)長之差的實(shí)際差值和規(guī)定的設(shè)定差值來進(jìn)行,上述實(shí)際差值大于上述設(shè)定差值時(shí),將表示輸出壓縮數(shù)據(jù)的判斷結(jié)果輸出到數(shù)據(jù)輸出裝置,上述實(shí)際差值小于上述設(shè)定差值時(shí),將表示輸出壓縮前數(shù)據(jù)的判斷結(jié)果輸出到數(shù)據(jù)輸出裝置。這時(shí),實(shí)際差值大于上述設(shè)定差值時(shí)在記錄介質(zhì)上記錄壓縮數(shù)據(jù),上述實(shí)際差值小于上述設(shè)定差值時(shí),在記錄介質(zhì)上記錄壓縮前數(shù)據(jù)。
作為在上述判斷裝置的判斷處理,按照作為壓縮前數(shù)據(jù)的數(shù)據(jù)長對(duì)壓縮數(shù)據(jù)的數(shù)據(jù)長的比率的實(shí)際壓縮率和規(guī)定的設(shè)定壓縮率來進(jìn)行,上述實(shí)際壓縮率大于上述設(shè)定壓縮率時(shí)向數(shù)據(jù)輸出裝置輸出表示輸出壓縮數(shù)據(jù)的判斷結(jié)果,上述實(shí)際壓縮率小于上述設(shè)定壓縮率時(shí),向數(shù)據(jù)輸出裝置輸出表示輸出壓縮前數(shù)據(jù)的判斷結(jié)果。這時(shí),上述實(shí)際壓縮率大于上述設(shè)定壓縮率時(shí),在記錄介質(zhì)上記錄壓縮數(shù)據(jù),上述實(shí)際壓縮率小于上述設(shè)定壓縮率時(shí),在記錄介質(zhì)上記錄壓縮前數(shù)據(jù)。
作為在上述判斷裝置的判斷處理,當(dāng)作為壓縮前數(shù)據(jù)的數(shù)據(jù)長與壓縮數(shù)據(jù)的數(shù)據(jù)長之差的實(shí)際差值大于規(guī)定的設(shè)定差值,而且,作為壓縮前數(shù)據(jù)的數(shù)據(jù)長對(duì)壓縮數(shù)據(jù)的數(shù)據(jù)長的比率的實(shí)際壓縮率大于設(shè)定壓縮率時(shí),將表示輸出壓縮數(shù)據(jù)的判斷結(jié)果輸出到數(shù)據(jù)輸出裝置,在此外的情況,將表示輸出壓縮前數(shù)據(jù)的判斷結(jié)果輸出到數(shù)據(jù)輸出裝置。這時(shí),上述實(shí)際差值在規(guī)定的設(shè)定差值以上,而且,上述實(shí)際壓縮率也在規(guī)定的設(shè)定壓縮率以上時(shí),在記錄介質(zhì)上記錄壓縮數(shù)據(jù),在此處的情況,在記錄介質(zhì)上記錄壓縮前數(shù)據(jù)。
作為用上述判斷裝置的判斷處理,判斷作為上述壓縮前數(shù)據(jù)的數(shù)據(jù)長對(duì)壓縮數(shù)據(jù)的數(shù)據(jù)長之比率的實(shí)際壓縮率滿足預(yù)定的兩個(gè)條件中的任一個(gè)條件,上述實(shí)際壓縮率滿足一種條件時(shí)將表示輸出壓縮前數(shù)據(jù)的判斷結(jié)果輸出到數(shù)據(jù)輸出裝置,上述實(shí)際壓縮率滿足其它條件時(shí)將表示輸出壓縮數(shù)據(jù)的判斷結(jié)果輸出到數(shù)據(jù)輸出裝置。這時(shí),上述實(shí)際壓縮率滿足一種條件時(shí)在記錄介質(zhì)上記錄壓縮前數(shù)據(jù),上述實(shí)際壓縮率滿足其他條件時(shí)在記錄介質(zhì)上記錄壓縮數(shù)據(jù)。
作為上述二個(gè)條件,在對(duì)壓縮前數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮時(shí),壓縮率所期望的值設(shè)為期望壓縮率β時(shí),能使上述一個(gè)條件為0<實(shí)際壓縮率ε<β(β-1),另一條件為實(shí)際壓縮率ε≥β(β-1)。
這時(shí),首先,輸入數(shù)據(jù)被用數(shù)據(jù)壓縮處理裝置進(jìn)行數(shù)據(jù)壓縮,作為壓縮數(shù)據(jù)保持在數(shù)據(jù)保持裝置,對(duì)上述輸入數(shù)據(jù)未實(shí)施數(shù)據(jù)壓縮處理的數(shù)據(jù)作為壓縮前數(shù)據(jù)保持在數(shù)據(jù)保持裝置。而且用判斷裝置判斷數(shù)據(jù)壓縮裝置的實(shí)際壓縮率ε與預(yù)測壓縮率β的關(guān)系,若這種判斷裝置的判斷結(jié)果是ε≥β/(β-1)時(shí),即實(shí)質(zhì)上壓縮數(shù)據(jù)的數(shù)據(jù)長比傳輸數(shù)據(jù)的數(shù)據(jù)長更小時(shí),借助數(shù)據(jù)輸出裝置,壓縮數(shù)據(jù)通過數(shù)據(jù)輸出裝置輸出到數(shù)據(jù)記錄裝置。因此,借助數(shù)據(jù)記錄裝置,壓縮數(shù)據(jù)被記錄在記錄介質(zhì)上。
另一方面,若判斷裝置的判斷結(jié)果是0<ε<β/(β-1)時(shí),即,實(shí)質(zhì)上壓縮數(shù)據(jù)的數(shù)據(jù)長與輸入數(shù)據(jù)的數(shù)據(jù)長相同或更大時(shí),通過數(shù)據(jù)輸出裝置,將壓縮前數(shù)據(jù)輸出到數(shù)據(jù)記錄裝置。由此,借助數(shù)據(jù)記錄裝置將壓縮前數(shù)據(jù)記錄到記錄介質(zhì)上。
這樣,在上述結(jié)構(gòu)的數(shù)據(jù)記錄裝置中,實(shí)質(zhì)上壓縮數(shù)據(jù)的數(shù)據(jù)長與輸入數(shù)據(jù)的數(shù)據(jù)長相同或更大時(shí),由于對(duì)輸入數(shù)據(jù)未實(shí)施數(shù)據(jù)壓縮的原始數(shù)據(jù)(即壓縮前數(shù)據(jù))記錄在記錄介提上,在讀出該數(shù)據(jù)時(shí),不必進(jìn)行其后的解壓縮處理,能大幅度地提高從記錄介質(zhì)進(jìn)行數(shù)據(jù)讀出的速度。
在本發(fā)明的數(shù)據(jù)記錄裝置中,以用上述輸入數(shù)據(jù)的數(shù)據(jù)長決定的單位邏輯存貯塊為基準(zhǔn),將在上述輸入數(shù)據(jù)中所定義的地址作為邏輯地址,用數(shù)據(jù)壓縮處理裝置以與上述預(yù)測壓縮率β相同的實(shí)際壓縮率ε對(duì)上述輸入數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮處理,將由壓縮處理后的壓縮數(shù)據(jù)的數(shù)據(jù)長決定的單位物理存貯塊作為基準(zhǔn),將由在上述記錄介質(zhì)上記錄上述壓縮數(shù)據(jù)時(shí)的地址分配而定義的地址作為物理地址時(shí),指定與上述輸入數(shù)據(jù)有關(guān)的壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)的寫入物理地址,將上述壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)輸出到上述數(shù)據(jù)記錄裝置,這樣來構(gòu)成上述數(shù)據(jù)輸出裝置。這時(shí)進(jìn)行以下的工作。
即,首先用數(shù)據(jù)壓縮處理裝置將1物理存貯塊部分的輸入數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮,作為1物理存貯塊部分或2個(gè)以上的物理存貯塊部分的壓縮數(shù)據(jù)保持在數(shù)據(jù)保持裝置,再將對(duì)輸入數(shù)據(jù)未實(shí)施壓縮處理的數(shù)據(jù)作為1邏輯存貯塊部分的壓縮前數(shù)據(jù)保持在數(shù)據(jù)保持裝置。
隨后用判斷裝置判斷數(shù)據(jù)壓縮處理裝置的實(shí)際壓縮率ε與預(yù)測壓縮率β的關(guān)系,此判斷裝置的判斷結(jié)果是ε≥β/(β-1)時(shí),即實(shí)質(zhì)上壓縮數(shù)據(jù)的尺寸(物理存貯塊數(shù))比輸入數(shù)據(jù)的尺寸(構(gòu)成1邏輯存貯塊的物理存貯塊數(shù))小時(shí),借助數(shù)據(jù)輸出裝置,指定寫入物理地址并向數(shù)據(jù)記錄裝置輸出上述壓縮數(shù)據(jù)。據(jù)此,借助數(shù)據(jù)記錄裝置將壓縮數(shù)據(jù)記錄在記錄介質(zhì)中與該寫入物理地址對(duì)應(yīng)的區(qū)域。
判斷裝置的判斷結(jié)果是0<ε<β/(β-1)時(shí),即實(shí)質(zhì)上壓縮數(shù)據(jù)的尺寸(物理存貯塊數(shù))與輸入數(shù)據(jù)的尺寸(構(gòu)成1邏輯存貯塊的物理存貯塊數(shù))相同或更大時(shí),借助數(shù)據(jù)輸出裝置,指定寫入物理地址,并將壓縮前數(shù)據(jù)輸出到數(shù)據(jù)記錄裝置。據(jù)此,用數(shù)據(jù)記錄裝置將壓縮前數(shù)據(jù)記錄到記錄介質(zhì)上的與該寫入物理地址對(duì)應(yīng)的區(qū)域。
這時(shí),實(shí)質(zhì)上壓縮數(shù)據(jù)的尺寸(物理存貯塊數(shù))與輸入數(shù)據(jù)的尺寸(構(gòu)成1邏輯存貯塊的物理存貯塊數(shù))相同或更大時(shí),由于對(duì)輸入數(shù)據(jù)不實(shí)施數(shù)據(jù)壓縮的原始數(shù)據(jù)(壓縮前數(shù)據(jù))記錄在記錄介質(zhì)上,所以在讀出該數(shù)據(jù)時(shí),不必進(jìn)行其后的解壓縮處理,能大幅度地提高從記錄介質(zhì)上讀出數(shù)據(jù)的速度。
本發(fā)明的數(shù)據(jù)記錄裝置,在上述結(jié)構(gòu)中,分配對(duì)應(yīng)表對(duì)應(yīng)著上述輸入數(shù)據(jù)的讀出邏輯地址,和與該輸入數(shù)據(jù)有關(guān)的壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)的寫入物理地址,并設(shè)置將所說的分配對(duì)應(yīng)表記錄到記錄介質(zhì)上的規(guī)定區(qū)域的記錄裝置。
據(jù)此,數(shù)據(jù)輸出裝置按照用判斷裝置判斷的判斷結(jié)果有選擇地將壓縮數(shù)據(jù)或壓縮前數(shù)據(jù),指定寫入物理地址,輸出到數(shù)據(jù)記錄裝置時(shí),此輸出裝置,參照與該輸入數(shù)據(jù)的讀出邏輯地址對(duì)應(yīng)的寫入物理地址,進(jìn)而指定該參照的寫入物理地址,從分配對(duì)應(yīng)表輸出壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)。
這時(shí),在數(shù)據(jù)輸出裝置,由于用分配對(duì)應(yīng)表能很容易地確認(rèn)在外部(例如主機(jī))處理的邏輯地址與在數(shù)據(jù)記錄裝置處理的物理地址的對(duì)應(yīng)關(guān)系,連接在外部的主機(jī)不必管記錄介質(zhì)的物理地址,只用邏輯地址就能對(duì)數(shù)據(jù)記錄裝置進(jìn)行數(shù)據(jù)的存取。
本發(fā)明的數(shù)據(jù)記錄裝置在上述結(jié)構(gòu)中,按照記錄在上述分配對(duì)應(yīng)表上的物理地址,設(shè)置表制作裝置而構(gòu)成,所說的表制作裝置用以制作將上述記錄介質(zhì)的數(shù)據(jù)狀態(tài)記錄以物理存貯塊單位作為比特信息展開而構(gòu)成的狀態(tài)記錄表。
據(jù)此,用數(shù)據(jù)輸出裝置將壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)指定寫入物理地址,輸出到數(shù)據(jù)記錄裝置時(shí),能參照用表制作裝置制成的記錄狀況表的比特信息求出物理地址。
這時(shí),由于能以單純的I/O的比特單位掌握其記錄狀況,所以能比參照直接記錄在分配對(duì)應(yīng)表上的物理地址尋找寫入物理地址更能縮短該檢索時(shí)間,而且,與從數(shù)據(jù)上有復(fù)雜的比特結(jié)構(gòu)的物理地址掌握該記錄狀況的情況相比,能縮短在程序調(diào)試、系統(tǒng)維護(hù)等方面所花費(fèi)的時(shí)間。
本發(fā)明的數(shù)據(jù)記錄裝置在上述結(jié)構(gòu)中,具備以物理存貯塊單位檢索記錄介質(zhì)上的實(shí)質(zhì)上未記錄區(qū)并檢測該未記錄區(qū)的物理地址的個(gè)別區(qū)域檢索裝置,指定用個(gè)別區(qū)域檢索裝置檢出的未記錄區(qū)域的物理地址,將壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)輸出到數(shù)據(jù)記錄裝置,這樣來構(gòu)成數(shù)據(jù)輸出裝置。
據(jù)此,首先用個(gè)別區(qū)域檢索裝置以物理存貯塊單位檢索記錄介質(zhì)的實(shí)質(zhì)上未記錄的區(qū)域并檢測出該未記錄區(qū)的物理地址。
隨后借助數(shù)據(jù)輸出裝置,指定用個(gè)別區(qū)域檢索裝置檢出的物理地址作為寫入物理地址,將壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)輸出到數(shù)據(jù)記錄裝置。據(jù)此,用數(shù)據(jù)記錄裝置,在記錄介質(zhì)上的與該寫入物理地址對(duì)應(yīng)的區(qū)域上記錄壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)。
這時(shí),在單位物理存貯塊部分的未記錄區(qū)域上隨機(jī)記錄壓縮數(shù)據(jù)或壓縮前數(shù)據(jù),特別是在有單位物理存貯塊部分的尺寸的壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)的記錄中是有利的。在跨越2個(gè)以上的物理存貯塊的壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)的場合,存在記錄到以物理存貯塊單位分離的物理位置上的情況。
本發(fā)明的數(shù)據(jù)記錄裝置在上述結(jié)構(gòu)中,當(dāng)數(shù)據(jù)壓縮處理裝置的實(shí)際壓縮率ε小于予測壓縮率β,而且所得到的壓縮數(shù)據(jù)跨越2個(gè)以上的物理存貯塊時(shí),設(shè)置以連續(xù)的2個(gè)以上的物理存貯塊單位檢索記錄介質(zhì)上的實(shí)質(zhì)上未記錄區(qū)域并檢測示出該未記錄區(qū)的物理地址的連續(xù)區(qū)檢索裝置,指定用連續(xù)區(qū)檢索裝置檢出的未記錄區(qū)的物理地址,將壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)輸出到數(shù)據(jù)記錄裝置,這樣構(gòu)成數(shù)據(jù)輸出裝置。
據(jù)此,首先用連續(xù)區(qū)檢索裝置以兩個(gè)以上的物理存貯塊單位檢索記錄介質(zhì)上的實(shí)質(zhì)上成為未記錄區(qū)的區(qū)域,并檢出該未記錄區(qū)的物理地址。
然后,借助數(shù)據(jù)輸出裝置,指定用連續(xù)區(qū)檢索裝置檢出的物理地址作為寫入物理地址,向數(shù)據(jù)記錄裝置輸出跨越2個(gè)以上物理存貯塊的壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)。據(jù)此,用數(shù)據(jù)記錄裝置將壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)記錄在記錄介質(zhì)上的與該寫入物理地址對(duì)應(yīng)的連續(xù)的區(qū)域上。
這時(shí),就成為跨越2個(gè)以上的物理存貯塊的壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)記錄在連續(xù)的未記錄區(qū)域上,而不會(huì)是跨越2個(gè)以上物理存貯塊的壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)以物理存貯塊單位記錄在分離的物理位置上,能有效地縮短讀出時(shí)的查找時(shí)間。
在本發(fā)明的數(shù)據(jù)記錄裝置中,像下述這樣來構(gòu)成該數(shù)據(jù)記錄裝置所用的分配對(duì)應(yīng)表,它配置有第一登錄區(qū)和第二登錄區(qū),其中第一登錄區(qū)與讀出邏輯地址對(duì)應(yīng)地記錄輸入數(shù)據(jù)的讀出邏輯地址和與該輸入數(shù)據(jù)有關(guān)的壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)的物理存貯塊單位的寫入物理地址;第二登錄區(qū),用以在壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)跨越2個(gè)以上的物理存貯塊時(shí),除該前頭的物理存貯塊外,記錄各物理存貯塊的物理地址作為連接地址,在第二登錄區(qū)中與最終物理存貯塊對(duì)應(yīng)的區(qū)域上記錄無連接地址的信息和表示在記錄介質(zhì)上記錄的數(shù)據(jù)是壓縮數(shù)據(jù)還是壓縮前數(shù)據(jù)的判斷數(shù)據(jù)。
在本發(fā)明的數(shù)據(jù)記錄裝置中,按數(shù)據(jù)壓縮處理裝置的實(shí)際壓縮率ε與預(yù)測壓縮率β的關(guān)系,有選擇地將壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)記錄在記錄介質(zhì)上,這時(shí),重新需要用以區(qū)別壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)的信息。
而且在此發(fā)明中,由于在分配對(duì)應(yīng)表的第二登錄區(qū)中與最終物理存貯塊對(duì)應(yīng)的區(qū)域上,合并無連接地址的信息,記錄用以區(qū)別壓縮處理或非壓縮處理的判斷數(shù)據(jù),所以不必在記錄介質(zhì)上重新確保用以登錄此判斷數(shù)據(jù)的區(qū)域,能避免數(shù)據(jù)記錄容量縮小這樣的問題。
本發(fā)明的數(shù)據(jù)傳輸裝置和數(shù)據(jù)記錄裝置,不限于以下所示的實(shí)施例,當(dāng)然能采用不超出本發(fā)明的要旨的各種結(jié)構(gòu)。
下面,關(guān)于本發(fā)明的數(shù)據(jù)傳輸方法是按照所保持的壓縮前數(shù)據(jù)與對(duì)該壓縮前數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮處理得到的壓縮數(shù)據(jù)的各數(shù)據(jù)長和設(shè)定條件,判斷應(yīng)傳輸?shù)臄?shù)據(jù),按照此判斷結(jié)果,傳送上述壓縮前數(shù)據(jù)和上述壓縮數(shù)據(jù)中任何一種數(shù)據(jù)。
例如,滿足上述設(shè)定條件時(shí),傳送壓縮數(shù)據(jù),未滿足上述設(shè)定條件時(shí)傳送壓縮前數(shù)據(jù)。
結(jié)果,能防止出現(xiàn)壓縮數(shù)據(jù)在數(shù)據(jù)傳輸端的存儲(chǔ)區(qū)上占有的大小與壓縮前數(shù)據(jù)在存儲(chǔ)區(qū)上占有的大小大體相同這樣的現(xiàn)象,可以避免在數(shù)據(jù)傳輸端進(jìn)行無用的解壓縮處理這樣不良情況。
這里,上述判斷也可是按照作為壓縮前數(shù)據(jù)的數(shù)據(jù)長與壓縮數(shù)據(jù)的數(shù)據(jù)長之差的實(shí)際差值及規(guī)定的設(shè)定差值來進(jìn)行,上述實(shí)際差值大于上述設(shè)定差值時(shí)傳輸壓縮數(shù)據(jù),上述實(shí)際差值小于上述設(shè)定差值時(shí)傳輸壓縮前數(shù)據(jù)。
上述判斷還可以是按照作為壓縮前數(shù)據(jù)的數(shù)據(jù)長對(duì)壓縮數(shù)據(jù)的數(shù)據(jù)長的比率的實(shí)際壓縮率和規(guī)定的設(shè)定壓縮率來進(jìn)行,上述實(shí)際壓縮率大于上述設(shè)定壓縮率時(shí)傳輸壓縮數(shù)據(jù),上述實(shí)際壓縮率小于上述設(shè)定壓縮率時(shí)傳輸壓縮前數(shù)據(jù)。
在上述數(shù)據(jù)傳輸方法中,還可以是,當(dāng)上述判斷結(jié)果是作為上述壓縮前數(shù)據(jù)的數(shù)據(jù)長與壓縮數(shù)據(jù)的數(shù)據(jù)長之差的實(shí)際差值大于規(guī)定的設(shè)定差值而且作為壓縮前數(shù)據(jù)的數(shù)據(jù)長對(duì)壓縮數(shù)據(jù)的數(shù)據(jù)長之比率的實(shí)際壓縮率也大于規(guī)定的設(shè)定壓縮率時(shí),傳輸壓縮數(shù)據(jù),除此以外的情況傳輸壓縮前數(shù)據(jù)。
這時(shí),即使實(shí)際差值大于設(shè)定差值,而實(shí)際壓縮率小于設(shè)定壓縮率時(shí),即如果其數(shù)據(jù)長與壓縮前數(shù)據(jù)長幾乎不變的話,則不傳輸壓縮數(shù)據(jù),而是傳輸壓縮前數(shù)據(jù)。這時(shí),在數(shù)據(jù)傳輸端由于不進(jìn)行需要處理時(shí)間的解壓縮處理,所以不發(fā)生時(shí)間的浪費(fèi)。因此,能更進(jìn)一步提高系統(tǒng)綜合的性能。
而且,上述判斷還可以是,按作為上述壓縮前數(shù)據(jù)的數(shù)據(jù)長對(duì)壓縮數(shù)據(jù)的數(shù)據(jù)長的比率的實(shí)際壓縮率滿足預(yù)先設(shè)定的2個(gè)條件中的任一個(gè)條件來進(jìn)行,上述實(shí)際壓縮率滿足一個(gè)條件時(shí)傳輸壓縮前數(shù)據(jù),上述實(shí)際壓縮率滿足另一條件時(shí)傳輸壓縮數(shù)據(jù)。
這時(shí),作為上述2個(gè)條件,當(dāng)將壓縮前數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮,將壓縮率所期望的值設(shè)為期望壓縮率β時(shí),能使上述一個(gè)條件為0<實(shí)際壓縮率ε<β(β-1),上述另一條件為實(shí)際壓縮率ε≥β(β-1)。
可以將上述設(shè)定壓縮率或上述設(shè)定差值以及上述設(shè)定壓縮率和上述設(shè)定差值變更到任意值。這時(shí)能將出廠階段的設(shè)定差值和設(shè)定壓縮率變更成用操作者(用戶)所建立的系統(tǒng)(硬件和軟件)在邏輯上或?qū)嶒?yàn)上求出的設(shè)定差值和設(shè)定壓縮率。結(jié)果,能用對(duì)操作者(用戶)所建立的系統(tǒng)最適合的壓縮條件壓縮數(shù)據(jù),從而能提高文件管理質(zhì)量。這有助于提高系統(tǒng)的綜合性能。
本發(fā)明的數(shù)據(jù)傳輸方法,按照對(duì)所操作的壓縮前數(shù)據(jù)中的一部分壓縮前數(shù)據(jù)進(jìn)行壓縮處理得到的一部分壓縮數(shù)據(jù)的數(shù)據(jù)長和上述一部分壓縮前數(shù)據(jù)的數(shù)據(jù)長以及設(shè)定條件,判斷應(yīng)傳輸?shù)臄?shù)據(jù),按照此判斷結(jié)果,傳輸上述壓縮前數(shù)據(jù)與壓縮數(shù)據(jù)中的任一種數(shù)據(jù)。
例如,滿足上述設(shè)定條件時(shí),傳輸壓縮數(shù)據(jù),未滿足上述設(shè)定條件時(shí),傳輸壓縮前數(shù)據(jù)。
結(jié)果,能防止出現(xiàn)壓縮數(shù)據(jù)在數(shù)據(jù)傳送端的存儲(chǔ)區(qū)上占有的大小與壓縮前數(shù)據(jù)在存儲(chǔ)區(qū)上占有的大小大體相同這樣的現(xiàn)象,從而能避免在數(shù)據(jù)傳送端進(jìn)行無用的解壓縮處理這樣的不良情況。
在此方法中,由于不是對(duì)壓縮前數(shù)據(jù)全部進(jìn)行數(shù)據(jù)壓縮,而是按照將壓縮前數(shù)據(jù)的一部分進(jìn)行數(shù)據(jù)壓縮得到的一部分壓縮數(shù)據(jù)的數(shù)據(jù)長和上述一部分壓縮前數(shù)據(jù)的數(shù)據(jù)長以及設(shè)定條件,判斷應(yīng)傳送的數(shù)據(jù)應(yīng)是壓縮數(shù)據(jù)還應(yīng)是壓縮前數(shù)據(jù),所以能縮短數(shù)據(jù)壓縮所花費(fèi)的時(shí)間。
而且在上述方法中,可以按順序刪除按上述數(shù)據(jù)壓縮處理進(jìn)行過壓縮處理的壓縮前數(shù)據(jù)。這時(shí)能提高壓縮前數(shù)據(jù)保持裝置的利用效率,能避免例如因容量溢出導(dǎo)致系統(tǒng)停止等。
作為上述判斷,是按照作為上述一部分壓縮前數(shù)據(jù)的數(shù)據(jù)長對(duì)上述一部分壓縮數(shù)據(jù)的數(shù)據(jù)長的比率的預(yù)測壓縮率和規(guī)定的設(shè)定壓縮率來進(jìn)行,上述預(yù)測壓縮率大于上述設(shè)定壓縮率時(shí)傳送壓縮數(shù)據(jù),上述預(yù)測壓縮率小于上述設(shè)定壓縮率時(shí)傳送壓縮前數(shù)據(jù)。
上述判斷結(jié)果表示傳輸壓縮前數(shù)據(jù)時(shí),可以對(duì)已向上述一部分壓縮前數(shù)據(jù)進(jìn)行過壓縮處理以后的壓縮前數(shù)據(jù)不進(jìn)行壓縮處理。這時(shí),由于對(duì)已判斷應(yīng)傳送的數(shù)據(jù)為壓縮前數(shù)據(jù)時(shí)刻后的壓縮前數(shù)據(jù)不進(jìn)行數(shù)據(jù)壓縮處理,能縮短整體的處理時(shí)間(從對(duì)壓縮前數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮處理階段到傳輸壓縮前數(shù)據(jù)或壓縮數(shù)據(jù)的時(shí)間)。
可以對(duì)上述預(yù)測壓縮率進(jìn)行與數(shù)據(jù)種類對(duì)應(yīng)的加權(quán)。這時(shí),不管壓縮前數(shù)據(jù)的種類是什么,都能使預(yù)測壓縮率與預(yù)想的最終壓縮率間的誤差變小,從而能提高系統(tǒng)的綜合性能。
可以將上述設(shè)定壓縮率變更為任意值。這時(shí),能將出廠階段的設(shè)定壓縮率變更為用操作者(用戶)建立的系統(tǒng)(硬件或軟件)在邏輯上或?qū)嶒?yàn)上求出的設(shè)定壓縮率。結(jié)果,能用對(duì)操作者(用戶)建立的系統(tǒng)最適當(dāng)?shù)臄?shù)據(jù)壓縮條件壓縮數(shù)據(jù),從而能提高文件管理的質(zhì)量。這有助于系統(tǒng)綜合性能的提高。
其次,本發(fā)明的數(shù)據(jù)記錄方法,按照對(duì)輸入數(shù)據(jù)不進(jìn)行數(shù)據(jù)壓縮處理的壓縮前數(shù)據(jù)與對(duì)上述輸入數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮處理所得到的壓縮數(shù)據(jù)的各數(shù)據(jù)長和設(shè)定條件,判斷應(yīng)記錄的數(shù)據(jù),按照此判斷結(jié)果,將壓縮前數(shù)據(jù)與壓縮數(shù)據(jù)中的任一種數(shù)據(jù)記錄到記錄介質(zhì)上。
例如,滿足上述設(shè)定條件時(shí),在記錄介質(zhì)上記錄壓縮數(shù)據(jù),未滿足上述設(shè)定條件時(shí),在記錄介質(zhì)上記錄壓縮前數(shù)據(jù)。
結(jié)果,能防止出現(xiàn)壓縮數(shù)據(jù)在數(shù)據(jù)傳輸端的存儲(chǔ)區(qū)上占有的大小與壓縮前數(shù)據(jù)在存儲(chǔ)區(qū)上占有的大小大體相同的這樣的現(xiàn)象,從而能避免從記錄介質(zhì)上讀出數(shù)據(jù)時(shí)進(jìn)行無用的解壓縮處理這樣不良情況。
即,在記錄于記錄介質(zhì)上的數(shù)據(jù)中,對(duì)進(jìn)行數(shù)據(jù)壓縮的實(shí)際壓縮率不滿足設(shè)定條件的記錄數(shù)據(jù)可以不必進(jìn)行解壓縮處理,所以能大幅度提高從記錄介質(zhì)上讀出數(shù)據(jù)的速度。
這里,作為在上述判斷裝置的判斷處理,是按照作為壓縮前數(shù)據(jù)的數(shù)據(jù)長與壓縮數(shù)據(jù)的數(shù)據(jù)長之差的實(shí)際差值和規(guī)定的設(shè)定差值來進(jìn)行,上述實(shí)際差值大于上述設(shè)定差值時(shí),將表示輸出壓縮數(shù)據(jù)的判斷結(jié)果輸出到數(shù)據(jù)輸出裝置,上述實(shí)際差值小于上述設(shè)定差值時(shí),將表示輸出壓壓縮前數(shù)據(jù)的判斷結(jié)果輸出到數(shù)據(jù)輸出裝置。這時(shí),實(shí)際差值大于上述設(shè)定差值,在記錄介質(zhì)上記錄壓縮數(shù)據(jù),上述實(shí)際差值小于上述設(shè)定差值時(shí),在記錄介質(zhì)上記錄壓縮前數(shù)據(jù)。
上述判斷也可以是按照作為壓縮前數(shù)據(jù)的數(shù)據(jù)長與壓縮數(shù)據(jù)的數(shù)據(jù)長之差的實(shí)際差值和規(guī)定的設(shè)定差值來進(jìn)行,上述實(shí)際差值大于上述設(shè)定差值時(shí)記錄壓縮數(shù)據(jù),上述實(shí)際差值小于上述設(shè)定差值時(shí)記錄壓縮前數(shù)據(jù)。
而且,上述判斷還可以是,按照作為壓縮前數(shù)據(jù)的數(shù)據(jù)長對(duì)壓縮數(shù)據(jù)的數(shù)據(jù)長的比率的實(shí)際壓縮率和規(guī)定的設(shè)定壓縮率來進(jìn)行,上述實(shí)際壓縮率大于上述設(shè)定壓縮率時(shí)記錄壓縮數(shù)據(jù),上述實(shí)際壓縮率小于上述設(shè)定壓縮率時(shí)記錄壓縮前數(shù)據(jù)。
上述判斷結(jié)果還可以是,當(dāng)作為壓縮前數(shù)據(jù)的數(shù)據(jù)長與壓縮數(shù)據(jù)的數(shù)據(jù)長之差的實(shí)際差值大于規(guī)定的設(shè)定差值,而且作為壓縮前數(shù)據(jù)的數(shù)據(jù)長對(duì)壓縮數(shù)據(jù)的數(shù)據(jù)長的比率的實(shí)際壓縮率也大于規(guī)定的設(shè)定壓縮率時(shí),記錄壓縮數(shù)據(jù),在除此之外的情況記錄壓縮前數(shù)據(jù)。
而且,上述判斷還可以是,按照作為上述壓縮前數(shù)據(jù)的數(shù)據(jù)長對(duì)壓縮數(shù)據(jù)的數(shù)據(jù)長的比率的實(shí)際壓縮率在預(yù)先設(shè)定的二個(gè)條件中滿足任一個(gè)條件來進(jìn)行,上述實(shí)際壓縮率滿足一個(gè)條件時(shí)記錄壓縮前數(shù)據(jù),上述實(shí)際壓縮率滿足另一條件時(shí)記錄壓縮數(shù)據(jù)。
作為上述二個(gè)條件,當(dāng)將壓縮前數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮時(shí)把壓縮率所期望的值設(shè)為期望壓縮率β時(shí),能使上述一個(gè)條件為0<實(shí)際壓縮率ε<β(β-1),上述另一條件為實(shí)際壓縮率ε≥β(β-1)。這時(shí),當(dāng)實(shí)質(zhì)上壓縮數(shù)據(jù)的數(shù)據(jù)長與輸入數(shù)據(jù)的數(shù)據(jù)長相同或更大時(shí),由于在記錄介質(zhì)上記錄未對(duì)輸入數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮的原始數(shù)據(jù)(即壓縮前數(shù)據(jù)),所以在讀出該數(shù)據(jù)時(shí),不必進(jìn)行其后的解壓縮處理,從而能大幅度地提高從記錄介質(zhì)上讀出數(shù)據(jù)的速度。
在本發(fā)明的數(shù)據(jù)記錄方法中,以在上述方法中用上述輸入數(shù)據(jù)的數(shù)據(jù)長決定的單位邏輯存貯塊為基準(zhǔn),將在上述輸入數(shù)據(jù)中定義的地址作為邏輯地址,將上述輸入數(shù)據(jù)用與上述預(yù)測壓縮率β相同的實(shí)際壓縮率ε進(jìn)行數(shù)據(jù)壓縮處理,將用進(jìn)行過數(shù)據(jù)壓縮處理后的壓縮數(shù)據(jù)的數(shù)據(jù)長決定的單位物理存貯塊作為基準(zhǔn),作為在上述記錄介質(zhì)上記錄上述壓縮數(shù)據(jù)時(shí)的地址分配表定義的地址作為物理地址時(shí),指定與上述輸入數(shù)據(jù)有關(guān)的壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)的寫入物理地址,記錄上述壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)。
這時(shí),當(dāng)實(shí)質(zhì)上壓縮數(shù)據(jù)的尺寸(物理存貯塊數(shù))與輸入數(shù)據(jù)的尺寸(構(gòu)成1邏輯存貯塊的物理存貯塊數(shù))相同或更大時(shí),由于在記錄介質(zhì)上記錄未對(duì)輸入數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮的原始數(shù)據(jù)(壓縮前數(shù)據(jù)),所以當(dāng)讀出該數(shù)據(jù)時(shí),不必進(jìn)行其后的解壓縮處理,能大幅度提高從記錄介質(zhì)上讀出數(shù)據(jù)的速度。
本發(fā)明的數(shù)據(jù)記錄方法是將在上述方法中與上述輸入數(shù)據(jù)的讀出邏輯地址,和與該輸入數(shù)據(jù)有關(guān)的壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)的寫入物理地址對(duì)應(yīng)的分配對(duì)應(yīng)表記錄到記錄介質(zhì)的規(guī)定區(qū)域。
這時(shí),由于用分配對(duì)應(yīng)表能很容易地確認(rèn)邏輯地址與物理地址的對(duì)應(yīng)關(guān)系,所以與外部連接的例如主機(jī)即使不過問記錄介質(zhì)的物理地址只用邏輯地址也能進(jìn)行數(shù)據(jù)的存取。
本發(fā)明的數(shù)據(jù)記錄方法,在上述方法中,按照記錄在上述分配對(duì)應(yīng)表上的物理地址,制成將上述記錄介質(zhì)的數(shù)據(jù)狀態(tài)記錄以物理存貯塊單位作為比特信息展開而構(gòu)成的狀態(tài)記錄表。
這時(shí),由于能以單純的I/O比特單位掌握該記錄狀況,能比參照直接記錄在分配對(duì)應(yīng)表上的物理地址查找物理地址更縮短其檢索時(shí)間,而且,與從在數(shù)據(jù)上有復(fù)雜的比特結(jié)構(gòu)的物理地址來掌握該記錄狀況的情況相比,能使花費(fèi)在程序調(diào)試、系統(tǒng)維護(hù)等的時(shí)間縮短。
本發(fā)明的數(shù)據(jù)記錄方法,在上述方法中,以物理存貯塊單位檢索上述記錄介質(zhì)上的實(shí)質(zhì)上成為未記錄區(qū)的區(qū)域,檢測出該未記錄區(qū)的物理地址,指定此已檢出的上述未記錄區(qū)的物理地址,記錄上述壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)。
這時(shí),將壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)隨機(jī)地記錄在單位物理存貯塊部分的任意未記錄區(qū)上,特別是在有單位的物理存貯塊部分尺寸的壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)的記錄中是有利的。在跨過2個(gè)以上的物理存貯塊的壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)的場合,存在記錄在以物理存貯塊單位分離開的物理位置上的情況。
本發(fā)明的數(shù)據(jù)記錄方法,在上述方法中,上述實(shí)際壓縮率小于預(yù)測壓縮率而且所得到的壓縮數(shù)據(jù)跨越2個(gè)以上的物理存貯塊時(shí),以連續(xù)的上述2個(gè)以上的物理存貯塊單位檢索上述記錄介質(zhì)上的實(shí)質(zhì)上成為未記錄區(qū)的區(qū)域,檢測出該未記錄區(qū)的物理地址,指定此已檢出的上述未記錄區(qū)的物理地址,記錄上述壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)。
這時(shí),跨越2個(gè)以上的物理存貯塊的壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)就記錄在連續(xù)的未記錄區(qū)上,跨越2個(gè)以上的物理存貯塊的壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)不會(huì)記錄在以物理存貯塊單位分離的物理位置上,因而能有效地縮短讀出數(shù)據(jù)時(shí)的查找時(shí)間。
在本發(fā)明的數(shù)據(jù)記錄方法中,使在該數(shù)據(jù)記錄方法中所用的上述分配對(duì)應(yīng)表有第一登錄區(qū)和第二登錄區(qū),其中第一登錄區(qū),用以與上述讀出邏輯地址對(duì)應(yīng)地記錄上述輸入數(shù)據(jù)的上述讀出邏輯地址和與上述輸入數(shù)據(jù)有關(guān)的壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)的物理存貯塊單位的寫入物理地址;第二登錄區(qū),用以在上述壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)跨越2個(gè)以上的物理塊時(shí),除其前頭的物理存貯塊外,各物理存貯塊的物理地址,分別作為連接地址記錄,將無連接地址的信息和表示記錄在上述記錄介質(zhì)上的數(shù)據(jù)是壓縮數(shù)據(jù)還是壓縮前數(shù)據(jù)的判斷數(shù)據(jù)登錄在上述第二登錄區(qū)中與最終物理存貯塊對(duì)應(yīng)的區(qū)域上。
在本發(fā)明的數(shù)據(jù)記錄方法中,按數(shù)據(jù)壓縮處理的實(shí)際壓縮率ε與預(yù)測壓縮率β的關(guān)系,有選擇地將壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)記錄到記錄介質(zhì)上,這時(shí),重新需要用以區(qū)別壓縮數(shù)據(jù)和壓縮前數(shù)據(jù)的信息。
而且,在此發(fā)明中,由于合并無連接地址的信息,將用以區(qū)別壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)的判斷數(shù)據(jù)登錄在分配對(duì)應(yīng)表的第二登錄區(qū)中與最終物理存貯塊對(duì)應(yīng)的區(qū)域,所以不必在記錄介質(zhì)上重新確保用以記錄此判斷數(shù)據(jù)的區(qū)域,能避免使記錄容量縮小這樣的問題。
本發(fā)明的數(shù)據(jù)傳輸方法和數(shù)據(jù)記錄方法不限于以下所示的實(shí)施例,只要不超出本發(fā)明的要旨,當(dāng)然能夠采用各種結(jié)構(gòu)。


圖1是概括地表示本發(fā)明的數(shù)據(jù)傳輸裝置的使用狀態(tài)的方框圖;圖2是表示本發(fā)明的數(shù)據(jù)傳輸裝置的第一使用狀態(tài)的方框圖;圖3是表示本發(fā)明的數(shù)據(jù)傳輸裝置的第二使用狀態(tài)的方框圖;圖4是表示本發(fā)明的數(shù)據(jù)傳輸裝置的第三使用狀態(tài)的方框圖;圖5是表示本發(fā)明的數(shù)據(jù)傳輸裝置的第四使用狀態(tài)的方框圖;圖6是表示本發(fā)明的數(shù)據(jù)傳輸裝置的第五使用狀態(tài)的方框圖;圖7是表示本發(fā)明的數(shù)據(jù)傳輸裝置的第六使用狀態(tài)的方框圖;圖8是表示本發(fā)明的數(shù)據(jù)傳輸裝置的實(shí)施例硬件結(jié)構(gòu)的方框圖;圖9是在本發(fā)明的數(shù)據(jù)傳輸裝置實(shí)施例中,表示在進(jìn)行第一處理操作的實(shí)施例(以下簡記為第一實(shí)施例的數(shù)據(jù)傳輸裝置)中其數(shù)據(jù)處理裝置的數(shù)據(jù)處理操作的功能方框圖;圖10是表示在第一實(shí)施例的數(shù)據(jù)傳輸裝置中的數(shù)據(jù)處理裝置的處理操作的流程圖(其一);圖11是表示在第一實(shí)施例是數(shù)據(jù)傳輸裝置中的數(shù)據(jù)處理裝置的處理操作的流程圖(其二);圖12是在本發(fā)明的數(shù)據(jù)傳輸裝置的實(shí)施例中,表示在進(jìn)行第二處理操作的實(shí)施例(以下簡記為第二實(shí)施例的數(shù)據(jù)傳輸裝置)中其數(shù)據(jù)處理裝置的處理操作的功能方框圖;圖13是表示在第二實(shí)施例的數(shù)據(jù)傳輸裝置中其數(shù)據(jù)處理裝置的處理操作的流程圖(其一);圖14是表示在第二實(shí)施例的數(shù)據(jù)傳輸裝置中的數(shù)據(jù)處理裝置的處理操作的流程圖(其二);圖15是在第二實(shí)施例的數(shù)據(jù)傳輸裝置的數(shù)據(jù)處理裝置中,表示預(yù)測壓縮率運(yùn)算處理裝置的處理操作的功能方框圖;圖16是在第二實(shí)施例的數(shù)據(jù)傳輸裝置的數(shù)據(jù)處理裝置中,表示預(yù)測壓縮率運(yùn)算處理裝置的處理操作的流程圖;圖17是在第二實(shí)施例的數(shù)據(jù)傳輸裝置的數(shù)據(jù)處理裝置中,表示數(shù)據(jù)壓縮處理裝置的處理操作的功能方框圖;圖18是在第二實(shí)施例的數(shù)據(jù)傳輸裝置的數(shù)據(jù)處理裝置中,表示數(shù)據(jù)壓縮處理裝置的處理操作的流程圖;圖19是在本發(fā)明的數(shù)據(jù)傳輸裝置的實(shí)施例中,表示編入進(jìn)行第三處理操作的實(shí)施例(以下簡記為第三實(shí)施例的數(shù)據(jù)處理裝置)的外部存儲(chǔ)裝置(以下簡記為實(shí)施例的外部存儲(chǔ)裝置)的結(jié)構(gòu)的方框圖;圖20是表示第三實(shí)施例的數(shù)據(jù)處理裝置的硬件結(jié)構(gòu)的方框圖;圖21是表示裝在實(shí)施例的外部存儲(chǔ)裝置中的磁光盤的記錄格式的一個(gè)例子的說明圖;圖22是在記錄在磁光盤的屬性數(shù)據(jù)記錄區(qū)域的屬性數(shù)據(jù)中,用字節(jié)結(jié)構(gòu)表示DDS段的內(nèi)容的說明圖;圖23是在記錄在磁光盤的屬性數(shù)據(jù)記錄區(qū)域的屬性數(shù)據(jù)中,表示DDS段的內(nèi)容、特別是對(duì)應(yīng)分配表(文件分配表)的內(nèi)容的說明圖;圖24是表示在第三實(shí)施例的數(shù)據(jù)處理裝置的處理操作的功能方框圖;圖25是表示在第三實(shí)施例的數(shù)據(jù)處理裝置中的數(shù)據(jù)處理裝置的處理操作的流程圖。
圖26是在第三實(shí)施例的數(shù)據(jù)處理裝置的數(shù)據(jù)處理單元中,表示狀態(tài)記錄表制作裝置的處理操作的流程圖。
圖27是表示用狀態(tài)記錄表制作裝置制成的狀況記錄表的內(nèi)容的說明圖。
圖28是在第三實(shí)施例的數(shù)據(jù)處理裝置的數(shù)據(jù)處理單元中,表示請(qǐng)求處理裝置的處理操作的流程圖。
圖29是在第三實(shí)施例的數(shù)據(jù)處理裝置的請(qǐng)求處理裝置中,表示初始化處理裝置的處理操作的功能方框圖。
圖30是在第三實(shí)施例的數(shù)據(jù)處理裝置的請(qǐng)求處理裝置中,表示初始化處理裝置的處理操作的流程圖。
圖31是在第三實(shí)施例的數(shù)據(jù)處理裝置的初始化處理裝置中,表示屬性數(shù)據(jù)寫入處理裝置的處理操作的流程圖。
圖32是在第三實(shí)施例的數(shù)據(jù)處理裝置的請(qǐng)求處理裝置中,表示寫入處理裝置的處理操作的功能方框圖。
圖33是在第三實(shí)施例的數(shù)據(jù)處理裝置的請(qǐng)求處理裝置中,表示寫入處理裝置的處理操作的流程圖。
圖34是在第三實(shí)施例的數(shù)據(jù)處理裝置的寫入處理裝置中,表示FAT(文件分配表)制作裝置的處理操作的流程圖(其一)。
圖35是在第三實(shí)施例的數(shù)據(jù)處理裝置的寫入處理裝置中,表示FAT制作裝置的處理操作的流程圖(其二)。
圖36是在第三實(shí)施例的數(shù)據(jù)處理裝置的FAT制作裝置中,表示地址存儲(chǔ)處理裝置的處理操作的流程圖。
圖37是在第三實(shí)施例的數(shù)據(jù)處理裝置的寫入處理裝置中,表示數(shù)據(jù)輸出裝置的處理操作的流程圖。
圖38是在第三實(shí)施例的數(shù)據(jù)處理裝置的請(qǐng)求處理裝置中,表示讀出處理裝置的處理操作的功能方框圖。
圖39是在第三實(shí)施例的數(shù)據(jù)處理裝置的請(qǐng)求處理裝置中,表示讀出處理裝置的處理操作的流程圖。
圖40是在第三實(shí)施例的數(shù)據(jù)處理裝置的請(qǐng)求處理裝置中,表示數(shù)據(jù)刪除處理裝置的處理操作的功能方框圖。
圖41是在第三實(shí)施例的數(shù)據(jù)處理裝置的請(qǐng)求處理裝置中,表示數(shù)據(jù)刪除處理裝置的處理操作的流程圖。
圖42是對(duì)應(yīng)著磁光盤上的物理上的未記錄數(shù)據(jù)記錄容量的減少而使預(yù)測壓縮率β變小的表示其外觀上的邏輯數(shù)據(jù)記錄容量的特性圖。
圖43是用來說明用非損失的數(shù)據(jù)壓縮技術(shù)進(jìn)行數(shù)據(jù)壓縮的數(shù)據(jù)傳送時(shí)間圖。
圖44是用以說明用低壓縮率進(jìn)行數(shù)據(jù)壓縮的數(shù)據(jù)傳送時(shí)間圖。
下面將參照?qǐng)D1-圖42說明本發(fā)明的數(shù)據(jù)傳輸裝置的優(yōu)選實(shí)施例。
此實(shí)施例的數(shù)據(jù)傳輸裝置1,如圖1所示插入并連接數(shù)據(jù)輸出源2與數(shù)據(jù)輸出端3之間構(gòu)成,上述數(shù)據(jù)輸出源2與數(shù)據(jù)輸出端3,包括諸如通過模擬電路系統(tǒng)對(duì)所輸入的模擬信號(hào)或數(shù)字?jǐn)?shù)據(jù)進(jìn)行信號(hào)處理,或者通過數(shù)字電路進(jìn)行數(shù)據(jù)處理,或者用帶CPU的計(jì)算機(jī)按照預(yù)定的處理步驟(程序)進(jìn)行數(shù)據(jù)處理并通過已知的接口電路供給傳輸線(由金屬線、光纖構(gòu)成)的數(shù)據(jù)處理系統(tǒng)。
數(shù)據(jù)輸出源2和數(shù)據(jù)輸出端3除上述以外,在作為分別安裝在印刷電路板上的1片LSI時(shí),或作為通信設(shè)備和內(nèi)部有存儲(chǔ)介質(zhì)(半導(dǎo)體存儲(chǔ)器等大容量型存儲(chǔ)器、光盤等圓盤形記錄介質(zhì))的外部存儲(chǔ)裝置時(shí),也包括集中管理處理數(shù)據(jù)的主機(jī)。
現(xiàn)在按照?qǐng)D2-圖7說明上述數(shù)據(jù)傳輸裝置1的一些使用狀態(tài)的具體例子。
首先,圖2所示的例子是按照來自控制器12的控制,通過數(shù)據(jù)傳輸裝置1進(jìn)行在一個(gè)存儲(chǔ)器11內(nèi)在邏輯上分成的多個(gè)文件間的數(shù)據(jù)傳輸(數(shù)據(jù)讀出和寫入)的例子。
具體地說,按此使用狀態(tài)的結(jié)構(gòu),是通過數(shù)據(jù)總線13連接存儲(chǔ)器11和數(shù)據(jù)傳輸裝置1,通過控制總線14和數(shù)據(jù)總線15連接控制器12和數(shù)據(jù)傳輸裝置1,通過存儲(chǔ)用控制總線16和地址總線17連接存儲(chǔ)器11和控制器12,通過接口總線19連接控制器12和鍵盤等鍵輸入裝置18來構(gòu)成。
例如,通過操作鍵輸入裝置18,輸入數(shù)據(jù)輸出源的文件名和數(shù)據(jù)輸出端的文件名,從控制器12對(duì)數(shù)據(jù)傳輸裝置1傳送數(shù)據(jù)傳送請(qǐng)求指令,同時(shí)向存儲(chǔ)器11輸出與上述已輸入的數(shù)據(jù)輸出源的文件名對(duì)應(yīng)的地址和讀出允許信號(hào)。
據(jù)此,數(shù)據(jù)從存儲(chǔ)器11的輸出源文件通過數(shù)據(jù)總線13傳送到數(shù)據(jù)傳輸裝置1。數(shù)據(jù)傳輸裝置1像下面將詳細(xì)說明的那樣,將從存儲(chǔ)器11傳送的數(shù)據(jù)進(jìn)行壓縮處理或不進(jìn)行壓縮處理傳送到存儲(chǔ)器11。這時(shí),在再傳送之前,先從數(shù)據(jù)傳輸裝置1向控制器12輸出傳送請(qǐng)求信號(hào)。控制器12按照來自數(shù)據(jù)傳輸裝置1的發(fā)送請(qǐng)求信號(hào)的輸入,向存儲(chǔ)11輸出與上述已輸入的數(shù)據(jù)輸出端的文件名對(duì)應(yīng)的地址和寫入允許信號(hào)。
因此,從數(shù)據(jù)傳輸裝置1輸出的壓縮數(shù)據(jù)或未壓縮數(shù)據(jù)(為方便記為非壓縮數(shù)據(jù))通過數(shù)據(jù)總線13供給存儲(chǔ)器11,并寫入上述數(shù)據(jù)輸出端的文件。
下面圖3所示的例子,是例如在二個(gè)存儲(chǔ)器21和22中,按照來自控制器12的控制信號(hào),通過數(shù)據(jù)存儲(chǔ)裝置1,進(jìn)行在一個(gè)存儲(chǔ)器21內(nèi)邏輯分開的多個(gè)文件和在另一存儲(chǔ)器22內(nèi)邏輯分開的多個(gè)文件之間的數(shù)據(jù)傳輸(數(shù)據(jù)的讀出和寫入)的例子。
具體地說,按照這種使用狀態(tài)的結(jié)構(gòu)是這樣構(gòu)成的,即分別通過數(shù)據(jù)總線23和24使用存儲(chǔ)器21和22分別與數(shù)據(jù)傳輸裝置1連接,通過控制總線14和數(shù)據(jù)總線15使控制器12與數(shù)據(jù)傳輸裝置1連接,通過存儲(chǔ)器用控制總線25、26和地址總線27、28使各存儲(chǔ)器21和22與控制器12連接,通過接口總線19使控制器12與鍵輸入裝置18連接。
例如,通過操作鍵輸入裝置18,輸入數(shù)據(jù)輸出源存儲(chǔ)器21的設(shè)備號(hào)與文件名,以及數(shù)據(jù)輸出端的存儲(chǔ)器22的設(shè)備號(hào)與文件名,從控制器12向數(shù)據(jù)傳輸裝置1傳送數(shù)據(jù)發(fā)送請(qǐng)求指令,同時(shí)分別通過地址總線27和控制總線25,向與上述已輸入的輸出源設(shè)備號(hào)對(duì)應(yīng)的存儲(chǔ)器21,輸出與當(dāng)前文件名對(duì)應(yīng)的地址和讀出允許信號(hào)。
由此,通過數(shù)據(jù)總線23數(shù)據(jù)從數(shù)據(jù)輸出源存儲(chǔ)器21中的該文件,傳送到數(shù)據(jù)傳輸裝置1。數(shù)據(jù)傳輸裝置1將從該存儲(chǔ)器21傳送的數(shù)據(jù)進(jìn)行壓縮處理或不進(jìn)行壓縮處理,再發(fā)送到數(shù)據(jù)輸出端的存儲(chǔ)器22。這時(shí),在向數(shù)據(jù)輸出端的存儲(chǔ)器22發(fā)送之前,先從數(shù)據(jù)傳輸裝置向控制器12輸出發(fā)送請(qǐng)求信號(hào)。控制器12按照來自數(shù)據(jù)傳輸裝置1的發(fā)送請(qǐng)求信號(hào)的輸入,向與上述已輸入的數(shù)據(jù)輸出端的設(shè)備號(hào)對(duì)應(yīng)的存儲(chǔ)器22,通過地址總線28和控制總線26,輸出與成為當(dāng)前文件名相對(duì)應(yīng)的地址和寫入允許信號(hào)。
因此,從數(shù)據(jù)傳輸裝置1輸出的壓縮數(shù)據(jù)或非壓縮數(shù)據(jù)通過數(shù)據(jù)總線24提供給數(shù)據(jù)輸出端的存儲(chǔ)器22,并寫入該輸出端的文件。
圖4所示的例子是數(shù)據(jù)傳輸裝置1插入連接在二個(gè)通信設(shè)備(包括計(jì)算機(jī)終端裝置)31與32之間作為其中繼裝置,按照來自控制器12的控制信號(hào),通過數(shù)據(jù)傳輸裝置1進(jìn)行各通信設(shè)備31和32之間的數(shù)據(jù)傳輸?shù)膶?shí)例。而且各通信設(shè)備31和32具有將提供給數(shù)據(jù)輸入/輸出端子上的通信數(shù)據(jù)分別存儲(chǔ)到存儲(chǔ)器3 3和34的功能。
具體說來,這種使用狀態(tài)的結(jié)構(gòu)是這樣構(gòu)成的,即通過各自的數(shù)據(jù)通信線(包括網(wǎng)絡(luò)通信網(wǎng))35使各通信設(shè)備31和32與數(shù)據(jù)傳輸裝置1連接,通過控制總線14和數(shù)據(jù)總線15使控制器12與數(shù)據(jù)傳輸裝置1連接,通過各自的控制電纜36和37使各通信設(shè)備31和32與控制器12連接,通過接口總線19使控制器12與鍵輸入裝置18連接。
例如,通過操作鍵輸入裝置18,輸入數(shù)據(jù)輸出源通信設(shè)備31的設(shè)備號(hào)和數(shù)據(jù)輸出端的通信設(shè)備32的設(shè)備號(hào),從控制器12向數(shù)據(jù)傳輸裝置1傳送數(shù)據(jù)發(fā)送請(qǐng)求指令,同時(shí)通過控制電纜36向與上述已輸入的數(shù)據(jù)輸出源設(shè)備號(hào)對(duì)應(yīng)的通信設(shè)備31輸出數(shù)據(jù)輸出請(qǐng)求信號(hào)。
因此,存儲(chǔ)在設(shè)在輸出源通信設(shè)備31內(nèi)的存儲(chǔ)器33中的通信數(shù)據(jù),通過數(shù)據(jù)通信通路35,傳送到數(shù)據(jù)傳輸裝置1。數(shù)據(jù)傳輸裝置1將從該通信設(shè)備31傳送的數(shù)據(jù)進(jìn)行壓縮處理或不進(jìn)行壓縮處理,再通過數(shù)據(jù)通信通路35傳送到數(shù)據(jù)輸出端的通信設(shè)備32。這時(shí),在向數(shù)據(jù)輸出端的通信設(shè)備32傳送之前,先從數(shù)據(jù)傳輸裝置1向控制器12輸出發(fā)送請(qǐng)求信號(hào)??刂破?2按照來自數(shù)據(jù)傳輸裝置1的發(fā)送請(qǐng)求信號(hào)的輸入,向與上述已輸入的數(shù)據(jù)輸出端的設(shè)備號(hào)對(duì)應(yīng)的通信設(shè)備32通過控制電纜37輸出數(shù)據(jù)存儲(chǔ)請(qǐng)求信號(hào)。
因此,從數(shù)據(jù)傳輸裝置1輸出的壓縮數(shù)據(jù)或非壓縮數(shù)據(jù)通過數(shù)據(jù)通信通路35提供給輸出端的通信設(shè)備32,并存儲(chǔ)到設(shè)在該通信設(shè)備32內(nèi)的存儲(chǔ)器34中。
圖5所示的例子,是在一塊印刷電路板內(nèi),將數(shù)據(jù)傳輸裝置1插入連接在二個(gè)微處理器41和42之間,按照來自控制器12的控制信號(hào),通過數(shù)據(jù)傳輸裝置1進(jìn)行各微處理器41和42之間的數(shù)據(jù)傳送的例子。各微處理器41和42有將供給數(shù)據(jù)輸入、輸出端的處理數(shù)據(jù)存儲(chǔ)到各自的存儲(chǔ)器43和44的功能。
具體地,用這種使用狀態(tài)的結(jié)構(gòu)是這樣構(gòu)成的,即通過各自的數(shù)據(jù)總線45和46使各微處理器41和42與數(shù)據(jù)傳輸裝置1連接,通過控制總線14和數(shù)據(jù)總線15使控制器12與數(shù)據(jù)傳輸裝置1連接,分別通過控制總線47和48使各微處理器41和42與控制器12連接,通過接口總線19使控制器12與鍵輸入裝置18連接。
例如,通過操作鍵輸入裝置18,輸入數(shù)據(jù)輸出源微處理器41的設(shè)備號(hào)和數(shù)據(jù)輸出端的微處理器42的設(shè)備號(hào),從控制器12向數(shù)據(jù)傳送裝置1傳送數(shù)據(jù)發(fā)送請(qǐng)求指令,同時(shí)通過控制總線47向與上述已輸入的數(shù)據(jù)輸出源的設(shè)備號(hào)對(duì)應(yīng)的微處理器41輸出數(shù)據(jù)輸出請(qǐng)求信號(hào)。
因此,在輸出源的微處理器41內(nèi),存儲(chǔ)在通過總線49連接的存儲(chǔ)器43中的數(shù)據(jù)通過數(shù)據(jù)總線45傳送到數(shù)據(jù)傳輸裝置1。數(shù)據(jù)傳輸裝置1將由該微處理器41傳輸?shù)臄?shù)據(jù)進(jìn)行壓縮處理或不進(jìn)行壓縮處理,再發(fā)送到數(shù)據(jù)輸出端的微處理器42。這時(shí),在向數(shù)據(jù)輸出端的微處理器42發(fā)送數(shù)據(jù)之前,先從數(shù)據(jù)傳輸裝置1向控制器12輸出發(fā)送請(qǐng)求信號(hào)??刂破?2按照來自數(shù)據(jù)傳輸裝置1的發(fā)送請(qǐng)求信號(hào)的輸入,向與上述已輸入的輸出端的設(shè)備號(hào)對(duì)應(yīng)的微處理器42輸出數(shù)據(jù)存儲(chǔ)請(qǐng)求信號(hào)。
因此,由數(shù)據(jù)傳輸裝置1輸出的壓縮數(shù)據(jù)或非壓縮數(shù)據(jù)通過數(shù)據(jù)總線46供給輸出端的微處理器42,并存儲(chǔ)到通過總線50與該微處理器42連接的存儲(chǔ)器44中。
圖6所示的例子是例如利用數(shù)據(jù)傳輸裝置1,對(duì)主機(jī)51與外部存儲(chǔ)裝置52之間的數(shù)據(jù)傳輸?shù)慕Y(jié)構(gòu),這時(shí)是將上述數(shù)據(jù)傳輸裝置1作為數(shù)據(jù)處理裝置組裝在主機(jī)51內(nèi)的實(shí)例。
具體地說,用這種使用形態(tài)的結(jié)構(gòu)是這樣構(gòu)成的,即通過數(shù)據(jù)總線、控制總線以及輸入輸出口54,使主機(jī)51內(nèi)的CPU53與數(shù)據(jù)傳輸裝置1連接,通過接口總線55使數(shù)據(jù)傳輸裝置1與外部存儲(chǔ)裝置52連接。
例如,通過操作與主機(jī)51連接的鍵輸入裝置18,輸入在數(shù)據(jù)輸出源主機(jī)51內(nèi)的數(shù)據(jù)RAM56分開的文件(原文件、可執(zhí)行文件等)的文件名和數(shù)據(jù)輸出端的外部存儲(chǔ)裝置52的設(shè)備號(hào),從主機(jī)51內(nèi)的CPU53向數(shù)據(jù)傳輸裝置1傳送數(shù)據(jù)發(fā)送請(qǐng)求指令,同時(shí)通過地址總線和控制總線向數(shù)據(jù)RAM56輸出與上述已輸入的文件名對(duì)應(yīng)的地址和讀出允許信號(hào)。
由此,數(shù)據(jù)從在輸出源數(shù)據(jù)RAM 56中的文件,通過數(shù)據(jù)總線和輸入輸出口54傳送到數(shù)據(jù)傳輸裝置1。數(shù)據(jù)傳輸裝置1將由該數(shù)據(jù)RAM56發(fā)送的數(shù)據(jù)進(jìn)行壓縮處理或不進(jìn)行壓縮處理,再通過接口總線55發(fā)送到與上述已輸入數(shù)據(jù)的數(shù)據(jù)輸出端的設(shè)備號(hào)對(duì)應(yīng)的外部存儲(chǔ)裝置52。這時(shí),在向外部存儲(chǔ)裝置52發(fā)送之前,先由數(shù)據(jù)傳輸裝置1向主機(jī)51的CPU53輸出發(fā)送請(qǐng)求信號(hào)。主機(jī)51按照來自數(shù)據(jù)傳輸裝置1的發(fā)送請(qǐng)求信號(hào)的輸入,向與上述已輸入的數(shù)據(jù)輸出端的設(shè)備號(hào)對(duì)應(yīng)的外部存儲(chǔ)裝置52,輸出數(shù)據(jù)存儲(chǔ)請(qǐng)求信號(hào)。
因此,由數(shù)據(jù)傳輸裝置1輸出的壓縮數(shù)據(jù)或非壓縮數(shù)通過接口總線55提供給輸出端的外部存儲(chǔ)裝置52,并存儲(chǔ)到裝在該外部存儲(chǔ)裝置52內(nèi)的記錄介質(zhì)(光盤、磁盤、半導(dǎo)體存儲(chǔ)器等)上。
圖7所示的例子是在例如主機(jī)51與外部存儲(chǔ)裝置52之間的數(shù)據(jù)傳輸中利用上述數(shù)據(jù)傳輸裝置1,這時(shí)是將上述數(shù)據(jù)傳輸裝置1作為數(shù)據(jù)處理裝置裝在外部存儲(chǔ)裝置52內(nèi)的實(shí)例。此例的具體結(jié)構(gòu)及工作將在后面詳細(xì)說明。
下面將按照?qǐng)D8-圖18說明適用于上述圖2-圖7所示例子的數(shù)據(jù)傳輸裝置1的具體結(jié)構(gòu)及其處理操作。并且在對(duì)圖8-圖18的說明中,圖2中所示的存儲(chǔ)器11內(nèi)的各文件、圖3中所示的存儲(chǔ)器21與22、圖4中所示的通信設(shè)備31和32、圖5中所示的微處理器41與42、以及圖6中所示的主機(jī)51與外部存儲(chǔ)裝置52,分別統(tǒng)稱為如圖1所示記為數(shù)據(jù)輸出源2和數(shù)據(jù)輸出端3。
首先,數(shù)據(jù)處理裝置1的硬件結(jié)構(gòu)如圖8所示是由如下各部分構(gòu)成存儲(chǔ)各種程序的程序ROM61;預(yù)先記錄各種數(shù)據(jù)的ROM62;從上述程序ROM61讀出的,為程序運(yùn)行用的RAM63;存儲(chǔ)來自數(shù)據(jù)輸出源2的數(shù)據(jù)、來自控制器12的控制信號(hào)、鍵輸入數(shù)據(jù)(來自鍵輸入裝置18的數(shù)據(jù))、以及用各種程序進(jìn)行數(shù)據(jù)處理的數(shù)據(jù)等的數(shù)據(jù)RAM64;向外部電路(數(shù)據(jù)輸出源2、數(shù)據(jù)輸出端3和控制器12等)進(jìn)行數(shù)據(jù)的輸入輸出的輸入口65和輸出口66;將存儲(chǔ)在數(shù)據(jù)RAM64中的數(shù)據(jù)進(jìn)行壓縮處理并存儲(chǔ)到數(shù)據(jù)RAM64的規(guī)定區(qū)域的數(shù)據(jù)壓縮電路67;分別控制這些電路的CPU(控制裝置和邏輯運(yùn)算裝置)68。
上述數(shù)據(jù)壓縮電路67是利用緩沖存儲(chǔ)器69對(duì)使所供給的數(shù)據(jù)進(jìn)行無數(shù)據(jù)損失即非損失型的數(shù)據(jù)壓縮的電路,例如由微計(jì)算機(jī)等構(gòu)成。并且,由于數(shù)據(jù)壓縮電路67的非損失數(shù)據(jù)壓縮技術(shù)本身與此發(fā)明無直接關(guān)系,不再詳細(xì)說明,例如可以使用按LZW結(jié)構(gòu)的壓縮技術(shù)。簡單地說明按此LZW法的壓縮技術(shù),它是利用將輸入文字(數(shù)據(jù))列,例如在公知的例子中將“RINTINTIN,”變換成代碼的變換表的方式。
即方法為,讀出輸入字符串并預(yù)先登錄到詞典(以下也稱為基本變換表)上,例如將26個(gè)字母文字變換成代碼(進(jìn)行編碼),將未登錄到此基本變換表的的字符串制作新的詞典(以下也稱為編制變換表),一邊更新并利用此編制變換表一邊壓縮輸入文字列,同時(shí)在解壓縮時(shí),換言之即在譯碼時(shí)一邊由壓縮文字列制作編制變換表一邊解壓縮文字。
所以,上述各種電路構(gòu)成是通過由CPU68引出的數(shù)據(jù)總線DB進(jìn)行各電路間的數(shù)據(jù)的交接,特別是通過由CPU68引出的控制總線(圖中未繪出)分別用CPU68進(jìn)行控制來形成的。
來自控制器12的鍵輸入數(shù)據(jù)、控制信號(hào)以及來自數(shù)據(jù)輸出源2的輸出數(shù)據(jù)通過輸入口65提供給數(shù)據(jù)總線BD。
存儲(chǔ)在數(shù)據(jù)RAM64的并向數(shù)據(jù)輸出端3傳送的數(shù)據(jù)(壓縮數(shù)據(jù)或非壓縮數(shù)據(jù))通過輸出口66提供給數(shù)據(jù)輸出端3,存儲(chǔ)在數(shù)據(jù)RAM64的并向控制器12傳送的請(qǐng)求信號(hào)等通過輸出口66供給控制器12。
而且,此數(shù)據(jù)傳輸裝置1在用數(shù)據(jù)壓縮電路67壓縮由數(shù)據(jù)輸出源2發(fā)送的數(shù)據(jù)時(shí),其壓縮率,或者壓縮前的數(shù)據(jù)(以后簡記為壓縮前數(shù)據(jù)。此壓縮前數(shù)據(jù)與以前出現(xiàn)的非壓縮數(shù)據(jù)意義相同)的數(shù)據(jù)長度與壓縮后的數(shù)據(jù)(以后簡記為壓縮數(shù)據(jù))的數(shù)據(jù)長度的差值在規(guī)定值以上時(shí)將壓縮數(shù)據(jù)發(fā)送到數(shù)據(jù)輸出端3,上述壓縮率或上述差值未達(dá)到規(guī)定值時(shí),將壓縮前數(shù)據(jù)傳送到數(shù)據(jù)輸出端3。
例如,在對(duì)以固定長512字節(jié)的存貯塊單位存儲(chǔ)數(shù)據(jù)的光盤、磁盤等進(jìn)行隨機(jī)存取的外部存儲(chǔ)裝置中存儲(chǔ)數(shù)據(jù)時(shí),在向此數(shù)據(jù)傳輸裝置1輸入1K字節(jié)的非壓縮數(shù)據(jù)的情況下,如果非壓縮數(shù)據(jù)的數(shù)據(jù)長與壓縮數(shù)據(jù)的數(shù)據(jù)長的差值在512字節(jié)以上,則有能節(jié)約盤上的空間的效果。
因而在這樣的情況下,求出非壓縮數(shù)據(jù)的數(shù)據(jù)長與壓縮數(shù)據(jù)的數(shù)據(jù)長的差值,判斷該差值(實(shí)際差值)是否在規(guī)定值以上例如是否在512字節(jié)以上,如上述實(shí)際差值在512字節(jié)以上就將壓縮數(shù)據(jù)輸出到外部存儲(chǔ)裝置,如上述實(shí)際差值不足512字節(jié),就將非壓縮數(shù)據(jù)輸出到外部存儲(chǔ)裝置。
當(dāng)以縮短主機(jī)51與例如上述外部存儲(chǔ)裝置52之間的數(shù)據(jù)發(fā)送時(shí)間為目的時(shí),求出非壓縮數(shù)據(jù)的數(shù)據(jù)長對(duì)壓縮數(shù)據(jù)的數(shù)據(jù)長的比率(實(shí)際壓縮率)。即,由于數(shù)據(jù)壓縮/解壓縮所需的時(shí)間不是固定的,它隨數(shù)據(jù)的大小而不同,這種情況下不能像上述那樣用非壓縮數(shù)據(jù)與壓縮數(shù)據(jù)的實(shí)際差值進(jìn)行判斷,而是用實(shí)際壓縮率進(jìn)行判斷。
而且,判斷該所求得的實(shí)際壓縮率是否在預(yù)先從理論上或?qū)嶒?yàn)上求出的壓縮率(設(shè)定壓縮率)以上,如上述實(shí)際壓縮率在該設(shè)定壓縮率以上,就向外部存儲(chǔ)裝置52輸出壓縮數(shù)據(jù),如上述實(shí)際壓縮率未達(dá)到設(shè)定壓縮率就向外部存儲(chǔ)裝置52輸出非壓縮數(shù)據(jù)。
在上述非壓縮數(shù)據(jù)與壓縮數(shù)據(jù)中,判斷對(duì)下面的處理(在上述例子中是向外部存儲(chǔ)裝置輸出的處理)使用哪種數(shù)據(jù)在此判斷所用的上述這樣的設(shè)定差值、設(shè)定壓縮率的具體值當(dāng)然隨使用壓縮數(shù)據(jù)的體制而不同。例如數(shù)據(jù)壓縮/解壓縮所需的時(shí)間隨硬件或軟件而不同,所以上述設(shè)定差值、設(shè)定壓縮率的具體數(shù)值也隨硬件或軟件而不同。
因此,在此數(shù)據(jù)處理裝置1中,能預(yù)先按規(guī)格決定上述設(shè)定差值和設(shè)定壓縮率的具體值,然后,想變更上述設(shè)定差值和設(shè)定壓縮率的具體值時(shí),操作者(用戶)任何時(shí)候都能使用與控制器12連接的鍵輸入裝置18來變更。
更具體地,按照?qǐng)D9-圖18的功能方框圖和流程圖說明關(guān)于上述數(shù)據(jù)傳輸裝置1的處理工作的二個(gè)例子。按照?qǐng)D9-圖11對(duì)進(jìn)行上述處理操作的一種實(shí)例的數(shù)據(jù)傳輸裝置(以下記為第一實(shí)施例的數(shù)據(jù)傳輸裝置)進(jìn)行說明。
首先,此第一實(shí)施例的數(shù)據(jù)傳輸裝置1,在圖10所示的步驟S1中,在接通電源的同時(shí)進(jìn)行初始化操作,例如數(shù)據(jù)傳輸裝置1內(nèi)的系統(tǒng)校驗(yàn)、存儲(chǔ)器校驗(yàn)和設(shè)定等。
然后,在步驟S2中,從程序ROM61讀出數(shù)據(jù)處理裝置71(數(shù)據(jù)處理程序?qū)碜詳?shù)據(jù)輸出源2的數(shù)據(jù)進(jìn)行壓縮處理或不進(jìn)行壓縮處理,輸出到數(shù)據(jù)輸出端3的裝置參照?qǐng)D9)并寫入操作用RAM63,同時(shí)在該程序的操作中,為暫存所產(chǎn)生的數(shù)據(jù),在操作RAM63中為在構(gòu)成上述程序的各分程序間的參數(shù)的交接等使用的操作區(qū)域分配空間。
在數(shù)據(jù)RAM64上分別分配為存儲(chǔ)來自數(shù)據(jù)輸出源2的壓縮前數(shù)據(jù)的壓縮前數(shù)據(jù)存儲(chǔ)區(qū)、存儲(chǔ)來自數(shù)據(jù)壓縮電路67的壓縮數(shù)據(jù)的壓縮數(shù)據(jù)存儲(chǔ)區(qū)、存儲(chǔ)來自數(shù)據(jù)ROM62的各種固定數(shù)據(jù)的固定數(shù)據(jù)存儲(chǔ)區(qū)。
固定數(shù)據(jù)存儲(chǔ)區(qū)有存儲(chǔ)預(yù)先按規(guī)格設(shè)定的差值(設(shè)定差值α)的差值存儲(chǔ)區(qū),和存儲(chǔ)預(yù)先按規(guī)格設(shè)定的壓縮率(設(shè)定壓縮率β)的壓縮率存儲(chǔ)區(qū)。按上述設(shè)定差值α和設(shè)定壓縮率β的規(guī)格決定的值是例如512字和4/3。
在此步驟S2中,除上述程序的發(fā)送處理外,還進(jìn)行從數(shù)據(jù)ROM62讀出各種固定數(shù)據(jù)并存儲(chǔ)到固定數(shù)據(jù)存儲(chǔ)區(qū)這樣的處理。這時(shí),記錄在數(shù)據(jù)ROM62中的設(shè)定差值α和設(shè)定壓縮率β分別存儲(chǔ)到差值存儲(chǔ)區(qū)和壓縮率存儲(chǔ)區(qū)。由于設(shè)定差值α是字節(jié)單位的值(自然數(shù)),所以作為定點(diǎn)數(shù)據(jù)存儲(chǔ);由于設(shè)定壓縮率β是實(shí)數(shù)值,所以作為浮點(diǎn)數(shù)據(jù)存儲(chǔ)。
在上述操作用RAM63讀出的數(shù)據(jù)的處理程序71如圖9所示,由以下各部分構(gòu)成進(jìn)行各種判斷的判斷裝置72;接收通過輸入口65從控制器12輸入的鍵輸入數(shù)據(jù)并存儲(chǔ)到數(shù)據(jù)RAM64的規(guī)定的存儲(chǔ)區(qū)的鍵輸入數(shù)據(jù)接收裝置73;接收從數(shù)據(jù)輸出源2通過輸入口65輸入的壓縮前數(shù)據(jù)并存儲(chǔ)到數(shù)據(jù)RAM64的壓縮前數(shù)據(jù)存儲(chǔ)區(qū)的壓縮前數(shù)據(jù)接收裝置74;接收從數(shù)據(jù)壓縮電路67輸出的壓縮數(shù)據(jù)并存儲(chǔ)到數(shù)據(jù)RAM64的壓縮數(shù)據(jù)存儲(chǔ)區(qū)的壓縮數(shù)據(jù)存儲(chǔ)裝置75;按照壓縮前數(shù)據(jù)的數(shù)據(jù)長與壓縮數(shù)據(jù)的數(shù)據(jù)長分別運(yùn)算實(shí)際差值與實(shí)際壓縮率的差值。壓縮率計(jì)算裝置76;通過輸出口66向控制器12輸出發(fā)送請(qǐng)求信號(hào)的發(fā)送請(qǐng)求信號(hào)輸出裝置77;編制用以將壓縮前數(shù)據(jù)或壓縮數(shù)據(jù)發(fā)送到數(shù)據(jù)輸出端3的發(fā)送請(qǐng)求數(shù)據(jù)的發(fā)送請(qǐng)求數(shù)據(jù)制作裝置78;用以將已制成的發(fā)送請(qǐng)求數(shù)據(jù)通過輸出口66輸出到數(shù)據(jù)輸出端3的發(fā)送請(qǐng)求數(shù)據(jù)輸出裝置79;向控制器12輸出與信息有關(guān)的信息代碼的信息輸出裝置80。
而且,首先,此數(shù)據(jù)處理程序71在圖10的步驟S3中,通過判斷裝置72進(jìn)行是否有來自控制器12的發(fā)送請(qǐng)求的判斷。這種判斷是按是否有從控制器12輸出的發(fā)送請(qǐng)求指令的輸入中斷來進(jìn)行。在該步驟S3中,直到輸入來自控制器12的上述傳送請(qǐng)求指令為止,反復(fù)進(jìn)行。即等待發(fā)送請(qǐng)求。
有發(fā)送請(qǐng)求時(shí),進(jìn)到下一步驟S4,通過判斷裝置72進(jìn)行是否有鍵輸入的判斷。這種判斷是按照表示有來自控制器12的鍵輸入中斷的信息信號(hào)的輸入來進(jìn)行。
此信息信號(hào)是按照通過操作者操作鍵盤等鍵輸入裝置18產(chǎn)生的鍵輸入中斷,從控制器12輸出的,特別是操作者一邊看著在與控制器12連接的圖中未示出的監(jiān)測器裝置(CTR、液晶顯示器等)的畫面上顯示的設(shè)定程序菜單,一邊操作鍵輸入裝置18,通過輸入文件名、設(shè)備號(hào)、差值和壓縮率等,將上述信息信號(hào)從控制器12輸出。
有鍵輸入時(shí)進(jìn)到下面的步驟S5,通過鍵輸入數(shù)據(jù)接收裝置73,經(jīng)輸入口65接收由控制器12傳送的鍵輸入數(shù)據(jù),將所接收的該鍵輸入數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)RAM 64的固定數(shù)據(jù)存儲(chǔ)區(qū)。具體地說,上述鍵輸入數(shù)據(jù)由于與操作者通過操作輸入的差值或壓縮率有關(guān),如果鍵輸入數(shù)據(jù)與差值有關(guān),則將此鍵輸入數(shù)據(jù)存儲(chǔ)到固定數(shù)據(jù)存儲(chǔ)區(qū)中的差值存儲(chǔ)區(qū)中,如果鍵輸入數(shù)據(jù)與壓縮率有關(guān),則將此鍵輸入數(shù)據(jù)存儲(chǔ)到固定數(shù)據(jù)存儲(chǔ)區(qū)中的壓縮率存儲(chǔ)區(qū)中。
通過這種處理,在步驟S2中已從數(shù)據(jù)ROM62讀出的設(shè)定差值α或設(shè)定壓縮率β就會(huì)由鍵輸入的設(shè)定差值α或設(shè)定壓縮率β被改寫。
下面在步驟S6中,通過壓縮前數(shù)據(jù)接收裝置74,經(jīng)輸入口65接收來自數(shù)據(jù)輸出源2的壓縮前數(shù)據(jù),進(jìn)而將所接收的該壓縮前數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)RAM 64的壓縮前數(shù)據(jù)存儲(chǔ)區(qū)。通常在數(shù)據(jù)的傳送中,是將包括該數(shù)據(jù)種類、數(shù)據(jù)長度等信息的首標(biāo)附加到傳輸?shù)臄?shù)據(jù)的先頭部分來進(jìn)行。因而,在此步驟S6中,除了存儲(chǔ)上述壓縮前數(shù)據(jù)外,還包括在首標(biāo)中的壓縮前數(shù)據(jù)的數(shù)據(jù)長有關(guān)的數(shù)據(jù)存儲(chǔ)在第一寄存器R1中(在用于數(shù)據(jù)處理程序71的各種寄存器中作為第一工作用寄存器而說明的寄存器)。
下面在步驟7中,將存儲(chǔ)在上述數(shù)據(jù)RAM64的壓縮前數(shù)據(jù)存儲(chǔ)區(qū)的壓縮前數(shù)據(jù)輸出到數(shù)據(jù)壓縮電路67。數(shù)據(jù)壓縮電路67對(duì)所輸入的壓縮前數(shù)據(jù)使用緩沖存儲(chǔ)器69進(jìn)行非損失的數(shù)據(jù)壓縮處理(步驟S8)。
下面在步驟S9中,通過壓縮數(shù)據(jù)存儲(chǔ)裝置75,讀出從上述數(shù)據(jù)壓縮電路67輸出的壓縮數(shù)據(jù)并存儲(chǔ)到數(shù)據(jù)RAM64的壓縮數(shù)據(jù)存儲(chǔ)區(qū)。這時(shí),例如按字節(jié)數(shù)計(jì)算從壓縮數(shù)據(jù)開頭到壓縮數(shù)據(jù)末尾的字節(jié)數(shù),將此計(jì)數(shù)結(jié)果作為壓縮數(shù)據(jù)的數(shù)據(jù)長度存儲(chǔ)到第二寄存器R2(用于數(shù)據(jù)處理程序71的各種寄存器中,作為第二工作用寄存器R2說明的寄存器)。
下面在步驟S10中,通過差值壓縮率計(jì)算裝置76,根據(jù)壓縮前數(shù)據(jù)的數(shù)據(jù)長與壓縮數(shù)據(jù)的數(shù)據(jù)長分別計(jì)算實(shí)際差值和實(shí)際壓縮率。實(shí)際差值的計(jì)算是通過從存儲(chǔ)在第一寄存器R1的壓縮前數(shù)據(jù)的數(shù)據(jù)長減去存儲(chǔ)在第二寄存器R2的壓縮數(shù)據(jù)的數(shù)據(jù)長來進(jìn)行,此減法值作為實(shí)際差值存儲(chǔ)在第三寄存器R3(用于數(shù)據(jù)處理程序71的各種寄存器中,作為第三工作用寄存器R3來說明的寄存器)。而實(shí)際壓縮率的計(jì)算是通過用存儲(chǔ)在第一寄存器R1的壓縮前數(shù)據(jù)的數(shù)據(jù)長除以存儲(chǔ)在第二寄存器R2的壓縮數(shù)據(jù)的數(shù)據(jù)長來進(jìn)行的,此除法值(例如浮點(diǎn)數(shù)據(jù))作為實(shí)際壓縮率存儲(chǔ)在第四寄存器R4(用于數(shù)據(jù)處理程序的各種存貯器中,作為第四工作用寄存器R4來說明的寄存器)。
下面在圖11的步驟S11中,通過判斷裝置72,判斷上述實(shí)際差值是否在設(shè)定差值α以上。這種判斷是根據(jù)存儲(chǔ)在第三寄存器R3的實(shí)際差值與存儲(chǔ)在差值存儲(chǔ)區(qū)的設(shè)定差值α來進(jìn)行。
上述實(shí)際差值在設(shè)定差值α以上時(shí),進(jìn)入下一個(gè)步驟S12,通過判斷裝置72,這次判斷上述實(shí)際壓縮率是否在設(shè)定壓縮率β以上。這一判斷是根據(jù)存儲(chǔ)在第四寄存器R4的實(shí)際壓縮率與存儲(chǔ)在壓縮率存儲(chǔ)區(qū)的設(shè)定差值α來進(jìn)行。
上述實(shí)際壓縮率在設(shè)定壓縮率β以上時(shí),進(jìn)入下一步驟S13,通過傳送請(qǐng)求數(shù)據(jù)制作裝置78,制成壓縮數(shù)據(jù)的發(fā)送請(qǐng)求數(shù)據(jù)。具體地說,此發(fā)送請(qǐng)求數(shù)據(jù)在例如數(shù)據(jù)RAM64上分配的程序工作區(qū)的規(guī)定的數(shù)組變數(shù)區(qū)(傳送請(qǐng)求數(shù)據(jù)區(qū))上形成,例如由首標(biāo)部與數(shù)據(jù)部構(gòu)成。而且,此請(qǐng)求發(fā)送數(shù)據(jù)制作裝置78將表示壓縮數(shù)據(jù)的識(shí)別代碼和存儲(chǔ)在第二寄存器R2的壓縮數(shù)據(jù)的數(shù)據(jù)長記錄在首標(biāo)部,通過附加壓縮數(shù)據(jù)作為數(shù)據(jù)部,制成壓縮數(shù)據(jù)用的發(fā)送請(qǐng)求數(shù)據(jù)。
下面在步驟S14中,通過信息輸出裝置80,經(jīng)輸出口66向控制器12輸出表示數(shù)據(jù)被壓縮的信息代碼(也可以是表示上述壓縮數(shù)據(jù)的識(shí)別代碼)??刂破?2按照來自數(shù)據(jù)傳輸裝置1的上述信息代碼的輸入,將表示數(shù)據(jù)被壓縮的信息數(shù)據(jù)輸出到監(jiān)測器裝置。因此,在監(jiān)測器裝置的畫面上顯示例如“數(shù)據(jù)已被壓縮”這樣的信息。
另一方面,在上述步驟S11中,判斷實(shí)際差值比設(shè)定差值α更小時(shí),或者在上述步驟S12中,判斷實(shí)際壓縮率比設(shè)定壓縮率β更小時(shí),進(jìn)入步驟S15,通過發(fā)送請(qǐng)求數(shù)據(jù)制作裝置78,制成壓縮前數(shù)據(jù)用的發(fā)送請(qǐng)求數(shù)據(jù)。此發(fā)送請(qǐng)求數(shù)據(jù)在分配在數(shù)據(jù)RAM 64中的上述發(fā)送請(qǐng)求數(shù)據(jù)區(qū)上形成,具體來說,記錄在首標(biāo)部表示壓縮前數(shù)據(jù)的識(shí)別代碼與存儲(chǔ)在第一寄存器R,的壓縮前數(shù)據(jù)的數(shù)據(jù)長,通過附加壓縮前數(shù)據(jù)作為數(shù)據(jù)部,制成壓縮數(shù)據(jù)用的發(fā)送請(qǐng)求數(shù)據(jù)。
下面在步驟S16中,通過信息輸出裝置80,經(jīng)輸出口66將表示數(shù)據(jù)未被壓縮的信息代碼(也可以是表示上述壓縮前數(shù)據(jù)的識(shí)別代碼)輸出到控制器12??刂破?2按照來自數(shù)據(jù)傳輸裝置1的上述信息代碼的輸入,將表示數(shù)據(jù)未被壓縮的信息數(shù)據(jù)輸出到監(jiān)測器裝置。因此,在監(jiān)測器裝置的畫面上顯示例如“數(shù)據(jù)未被壓縮”這樣的信息。
在用上述步驟S14或步驟S16的處理已結(jié)束的階段進(jìn)入下面的步驟S17,通過發(fā)送請(qǐng)求信號(hào)輸出裝置77,經(jīng)輸出口66將發(fā)送請(qǐng)求信號(hào)輸出到控制器12。這時(shí),控制器12向數(shù)據(jù)輸出端3輸出用以接收從數(shù)據(jù)傳輸裝置1發(fā)送的數(shù)據(jù)輸入的控制信號(hào)(寫入允許信號(hào)、數(shù)據(jù)存儲(chǔ)請(qǐng)求信號(hào)等)。因此,數(shù)據(jù)輸出端3進(jìn)入等待來自數(shù)據(jù)傳輸裝置1的數(shù)據(jù)輸入狀態(tài)。
下面在步驟18中,通過發(fā)送請(qǐng)求數(shù)據(jù)輸出裝置,經(jīng)輸出口66將存儲(chǔ)在數(shù)據(jù)RAM64的上述發(fā)送請(qǐng)求數(shù)據(jù)區(qū)的壓縮數(shù)據(jù)用的或壓縮前數(shù)據(jù)用的傳送請(qǐng)求數(shù)據(jù)輸出到數(shù)據(jù)輸出端3。
這時(shí),在通過像數(shù)據(jù)通信線等這樣不安全而會(huì)出現(xiàn)傳輸錯(cuò)誤的傳輸路徑向數(shù)據(jù)輸出端3輸出數(shù)據(jù)時(shí),在上述發(fā)送請(qǐng)求數(shù)據(jù)輸出裝置79中,將錯(cuò)誤校正符號(hào)附加到上述傳送請(qǐng)求數(shù)據(jù)并輸出該傳送請(qǐng)求數(shù)據(jù)。
下面在步驟S19中,通過判斷裝置72判斷是否有程序結(jié)束請(qǐng)求。這種判斷按是否有電源OFF等結(jié)束請(qǐng)求中斷發(fā)生來進(jìn)行。
而且,在此步驟S19中,無上述結(jié)束請(qǐng)求時(shí),回到步驟S3,等待來自數(shù)據(jù)輸出源2的下一個(gè)發(fā)送請(qǐng)求,有上述結(jié)束請(qǐng)求時(shí),就結(jié)束此數(shù)據(jù)處理程序71。
如此,在上述第一實(shí)施例的數(shù)據(jù)傳輸裝置1中,按照實(shí)際差值與設(shè)定差值α的比較或者實(shí)際壓縮率與設(shè)定壓縮率β的比較來判斷將發(fā)送到數(shù)據(jù)輸出端3的數(shù)據(jù)應(yīng)是壓縮數(shù)據(jù)或者應(yīng)是壓縮前數(shù)據(jù),由于根據(jù)此判斷結(jié)果將壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)發(fā)送到數(shù)據(jù)輸出端3,能防止進(jìn)行壓縮的數(shù)據(jù)在數(shù)據(jù)輸出端3上占有的在存儲(chǔ)區(qū)上的大小與不進(jìn)行壓縮的數(shù)據(jù)在存儲(chǔ)區(qū)上占有的大小大體相同這樣的現(xiàn)象,能避免在數(shù)據(jù)輸出端3進(jìn)行無用的解壓縮處理這樣的不適當(dāng)?shù)那闆r。
由于借助鍵輸入能自由變更上述設(shè)定差值α和設(shè)定壓縮率β,所以用操作者(用戶)建成的系統(tǒng)(硬件和軟件)能將在出廠階段的設(shè)定差值α和設(shè)定壓縮率β變更為從理論上或通過實(shí)驗(yàn)推論出的設(shè)定差值α和設(shè)定壓縮率β。其結(jié)果是,能用最適合于操作者(用戶)建成的系統(tǒng)的數(shù)據(jù)壓縮條件來壓縮數(shù)據(jù),從而能提高文件管理的質(zhì)量。這有利于總系統(tǒng)性能的提高。
在上述步驟S14和S16中,由于在監(jiān)測器畫面上顯示數(shù)據(jù)被壓縮或未被壓縮的信息,所以用戶能一目了然地確認(rèn)所要求的數(shù)據(jù)(文件)實(shí)際上是否壓縮,所以操作性提高。
如上述步驟S11和步驟S12所示,實(shí)際差值在設(shè)定差值α以上,而且實(shí)際壓縮在設(shè)定壓縮率β以上時(shí),最初為傳輸壓縮數(shù)據(jù)而建成了用邏輯積的判斷程序,在以下的情況變得有效。
例如,實(shí)際差值在設(shè)定差值α以上時(shí),在考慮到將壓縮數(shù)據(jù)傳送到數(shù)據(jù)輸出端3這樣的程序的情況,使設(shè)定差值例如為512字節(jié)時(shí),在由數(shù)據(jù)輸出源2供給的壓縮前的數(shù)據(jù)有2K字節(jié)數(shù)據(jù)長情況下,在通過數(shù)據(jù)壓縮使壓縮數(shù)據(jù)的數(shù)據(jù)長變成1.5K字節(jié)以下時(shí),將壓縮數(shù)據(jù)發(fā)送到數(shù)據(jù)輸出端3。
同樣,在數(shù)據(jù)輸出源2供給的壓縮前的1M字節(jié)(1000K字節(jié))的數(shù)據(jù)長的情況下,通過數(shù)據(jù)壓縮使壓縮的數(shù)據(jù)長成為999.5K字節(jié)以下時(shí),將壓縮數(shù)據(jù)傳送到數(shù)據(jù)輸出端3。
這時(shí),壓縮前數(shù)據(jù)(數(shù)據(jù)長=1000K字節(jié))對(duì)上述壓縮數(shù)據(jù)(數(shù)據(jù)長=999.5K字節(jié))的比率(實(shí)際壓縮率)約是1.0005,通過壓縮處理削去的數(shù)據(jù)長(相當(dāng)于差值)對(duì)壓縮前數(shù)據(jù)的數(shù)據(jù)長的百分率僅為0.05%,在達(dá)到此壓縮率時(shí),壓縮數(shù)據(jù)的數(shù)據(jù)長幾乎與壓縮前數(shù)據(jù)的數(shù)據(jù)長一樣。
這里是只比較實(shí)際差值與設(shè)定差值α來判斷應(yīng)傳送壓縮數(shù)據(jù)還是應(yīng)傳送壓縮前數(shù)據(jù)的情況,如實(shí)際差值高于設(shè)定差值α,通過壓縮處理而削去的數(shù)據(jù)長(相當(dāng)于差值)對(duì)壓縮前數(shù)據(jù)的數(shù)據(jù)長的百分率如上述那樣例如是0.05%,即使是數(shù)據(jù)長與壓縮數(shù)據(jù)幾乎不變的數(shù)據(jù),也將該數(shù)據(jù)傳送到數(shù)據(jù)輸出端3。結(jié)果,在數(shù)據(jù)輸出端3,上述壓縮數(shù)據(jù)的解壓縮處理就要花費(fèi)不少時(shí)間,導(dǎo)致時(shí)間浪費(fèi)。
但是在上述本實(shí)施例的數(shù)據(jù)傳輸裝置1中,如上所述,由于實(shí)際差值高于設(shè)定差值α而且實(shí)際壓縮率也高于設(shè)定壓縮率β時(shí),才開始發(fā)送壓縮數(shù)據(jù),所以即使實(shí)際差值高于設(shè)定差值α,如實(shí)際壓縮率未達(dá)到設(shè)定壓縮率β,就不發(fā)送壓縮數(shù)據(jù),而改為發(fā)送壓縮前數(shù)據(jù)。這時(shí),由于在數(shù)據(jù)輸出端3不進(jìn)行需要處理時(shí)間的解壓縮處理,所以無時(shí)間的浪費(fèi)。由此,能更進(jìn)一步提高系統(tǒng)的綜合性能。
下面將根據(jù)圖12-圖18對(duì)進(jìn)行處理操作的其它實(shí)例的數(shù)據(jù)傳輸裝置(以下記為第二實(shí)施例的數(shù)據(jù)傳輸裝置)進(jìn)行說明。
首先,此第二實(shí)施例的數(shù)據(jù)傳輸裝置1在圖13所示的步驟S101中,在接通電源的同時(shí)進(jìn)行初始化操作,例如數(shù)據(jù)傳輸裝置1內(nèi)的系統(tǒng)校驗(yàn)、存儲(chǔ)器校驗(yàn)和設(shè)定等。
然后,在步驟S102中,從程序ROM61讀出數(shù)據(jù)處理裝置91(數(shù)據(jù)處理程序?qū)碜詳?shù)據(jù)輸出源的數(shù)據(jù)進(jìn)行壓縮處理或不進(jìn)行壓縮處理輸出到數(shù)據(jù)輸出端的裝置,對(duì)照?qǐng)D12),并寫入操作用ROM63,同時(shí)在此程序91的工作中生成的數(shù)據(jù)被暫時(shí)保存,在操作用RAM63中為用于構(gòu)成上述程序的各子程序間的參數(shù)的交換等的工作區(qū)分配空間。
在數(shù)據(jù)RAM6中,分配以下存貯區(qū),即存儲(chǔ)來自數(shù)據(jù)輸出源2的壓縮前數(shù)據(jù)的壓縮前數(shù)據(jù)存儲(chǔ)區(qū)、存儲(chǔ)來自數(shù)據(jù)壓縮電路67的壓縮數(shù)據(jù)的壓縮數(shù)據(jù)存儲(chǔ)區(qū)、存儲(chǔ)來自數(shù)據(jù)ROM62的各種固定數(shù)據(jù)的固定數(shù)據(jù)存儲(chǔ)區(qū)。固定數(shù)據(jù)存儲(chǔ)區(qū)包括存儲(chǔ)預(yù)先按規(guī)格設(shè)定的壓縮率(設(shè)定壓縮率β)的壓縮率存儲(chǔ)區(qū)、存儲(chǔ)供一次數(shù)據(jù)壓縮的壓縮前數(shù)據(jù)的數(shù)據(jù)長(壓縮前數(shù)據(jù)讀出尺寸A)的壓縮前數(shù)據(jù)讀出尺寸存儲(chǔ)區(qū)、存儲(chǔ)為求得預(yù)測壓縮率所必須的處理循環(huán)的次數(shù)B(以后簡記為預(yù)定循環(huán)次數(shù)B)的預(yù)定循環(huán)次數(shù)存儲(chǔ)區(qū)。
上述壓縮前數(shù)據(jù)讀出尺寸A是預(yù)先按規(guī)格決定,例如對(duì)數(shù)據(jù)RAM分配的寫入保護(hù)的單位長(在本例是2K字節(jié))。對(duì)此數(shù)據(jù)RAM64的寫入保護(hù)是以由OS數(shù)據(jù)管理程序以例如2K字節(jié)為單位對(duì)要將禁止寫入對(duì)象的數(shù)據(jù)(在本例中相當(dāng)壓縮前數(shù)據(jù))存儲(chǔ)到數(shù)據(jù)RAM64的某存儲(chǔ)區(qū)時(shí)設(shè)置的機(jī)制,由此,禁止對(duì)設(shè)置寫入保護(hù)的存儲(chǔ)區(qū)寫入數(shù)據(jù)。
此寫入保護(hù),按照來自O(shè)S的上述數(shù)據(jù)處理程序91的數(shù)據(jù)取消請(qǐng)求,例如以2K字節(jié)單位寫入保護(hù)取消,可以對(duì)取消該寫入保護(hù)的存儲(chǔ)區(qū)寫入數(shù)據(jù)。因而,其它的程序等能將取消寫入保護(hù)的存儲(chǔ)區(qū)作為作業(yè)區(qū)或作為數(shù)據(jù)存儲(chǔ)區(qū)來利用。
而且,在此第二實(shí)施例的數(shù)據(jù)傳輸裝置1中,在對(duì)全部壓縮前數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮前,預(yù)先將例如10K字節(jié)的壓縮前數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮,將用此數(shù)據(jù)壓縮得到的實(shí)際壓縮率(以后記為預(yù)測壓縮率)看做對(duì)全部壓縮前數(shù)據(jù)的實(shí)際壓縮率,按照此預(yù)測壓縮率決定應(yīng)發(fā)送壓縮數(shù)據(jù)還是應(yīng)發(fā)送壓縮前數(shù)據(jù)。
回到圖13的流程圖進(jìn)行說明,在上述步驟S102中,進(jìn)而從數(shù)據(jù)ROM62中讀出各種固定數(shù)據(jù)并存儲(chǔ)到固定數(shù)據(jù)存儲(chǔ)區(qū)。這時(shí),登錄在數(shù)據(jù)ROM62的設(shè)定壓縮率β存儲(chǔ)到壓縮率存儲(chǔ)區(qū)。由于此設(shè)定壓縮率是實(shí)數(shù)值,例如可作為浮點(diǎn)數(shù)據(jù)存儲(chǔ)。
記錄在數(shù)據(jù)ROM64中的壓縮前數(shù)據(jù)讀出尺寸A與預(yù)定循環(huán)次數(shù)B分別存儲(chǔ)在壓縮前數(shù)據(jù)讀出尺寸存儲(chǔ)區(qū)和預(yù)定循環(huán)次數(shù)存儲(chǔ)區(qū)。
在上述操作用RAM63讀出的數(shù)據(jù)處理程序91如圖12所示由如下各部分構(gòu)成進(jìn)行各種判斷的判斷裝置92;讀出通過輸入口65從控制器12輸入的鍵輸入數(shù)據(jù)并存儲(chǔ)到數(shù)據(jù)RAM的預(yù)定的存儲(chǔ)區(qū)的鍵輸入數(shù)據(jù)接收裝置93;接收通過輸入口65從數(shù)據(jù)輸出源2輸入的壓縮前數(shù)據(jù)并存儲(chǔ)到數(shù)據(jù)RAM64的壓縮前數(shù)據(jù)存儲(chǔ)區(qū)的壓縮前數(shù)據(jù)接收裝置94;將壓縮前數(shù)據(jù)的一部分(例如10K字節(jié)部分的數(shù)據(jù))進(jìn)行數(shù)據(jù)壓縮求出預(yù)測壓縮率的預(yù)測壓縮率計(jì)算處理裝置95;當(dāng)預(yù)測壓縮率滿足規(guī)定條件時(shí),將壓縮前數(shù)據(jù)全部進(jìn)行數(shù)據(jù)壓縮處理,而且取消經(jīng)壓縮處理過的壓縮前數(shù)據(jù)的數(shù)據(jù)壓縮處理裝置96;通過輸出口66向控制器12輸出傳送請(qǐng)求信號(hào)的傳送請(qǐng)求信號(hào)輸出裝置97;制作用以使壓縮前數(shù)據(jù)或壓縮數(shù)據(jù)發(fā)送到數(shù)據(jù)輸出端3的發(fā)送請(qǐng)求數(shù)據(jù)的發(fā)送請(qǐng)求數(shù)據(jù)制作裝置98;用以通過輸出口66將所制成的發(fā)送請(qǐng)求數(shù)據(jù)輸出到數(shù)據(jù)輸出端3的發(fā)送請(qǐng)求數(shù)據(jù)輸出裝置99;向控制器12輸出與信息有關(guān)的信息代碼的信息輸出裝置100。
而且,首先此數(shù)據(jù)處理程序91,在圖13的步驟S103中,通過判斷裝置92,進(jìn)行是否有來自控制器12的發(fā)送請(qǐng)求的判斷。這種判斷是按是否有從控制器12輸出的發(fā)送請(qǐng)求指令的輸入中斷來進(jìn)行。在此步驟103中,直到輸入來自控制器12的上述發(fā)送請(qǐng)求指令為止,反復(fù)進(jìn)行。即等待發(fā)送請(qǐng)求。
有發(fā)送請(qǐng)求時(shí),進(jìn)入下一步驟S104,通過判斷裝置92,進(jìn)行判斷是否有鍵輸入。這種判斷是按照表示是否有來自控制器12的鍵輸入中斷的信息信號(hào)的輸入來進(jìn)行。
此信息信號(hào)是由操作者操作鍵盤等鍵輸入裝置18而產(chǎn)生的鍵輸入中斷由控制器12輸出,特別是通過操作者一邊看著在與控制器12連接的圖中未示出的監(jiān)示器裝置(CRT、液晶顯示器等)的畫面上顯示的設(shè)定程序菜單一邊操作鍵輸入裝置18,輸入文件名、設(shè)備號(hào)和壓縮率等,由控制器12輸出上述信息信號(hào)。
有鍵輸入時(shí)進(jìn)入下一步驟S105,通過鍵輸入數(shù)據(jù)接收裝置93,經(jīng)輸入口61讀出由控制器12傳送的鍵輸入數(shù)據(jù),將已讀出的該鍵輸入數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)RAM64的固定數(shù)據(jù)存儲(chǔ)區(qū)。具體地說,上述鍵輸入數(shù)據(jù)因與操作者通過鍵輸入操作輸入的壓縮率有關(guān),將鍵輸入數(shù)據(jù)存儲(chǔ)到固定數(shù)據(jù)存儲(chǔ)區(qū)的壓縮率存儲(chǔ)區(qū)。
通過這種處理,在步驟S102從數(shù)據(jù)ROM62讀出的設(shè)定壓縮率β改寫為由鍵輸入的設(shè)定壓縮率β。
下面在步驟S106中,通過壓縮前數(shù)據(jù)接收裝置94,經(jīng)輸入口65讀出來自數(shù)據(jù)輸出源2的壓縮前數(shù)據(jù),進(jìn)而將該已讀出的壓縮前數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)RAM64的壓縮前數(shù)據(jù)存儲(chǔ)區(qū)。通常,在數(shù)據(jù)的傳輸中,是將包括該數(shù)據(jù)的種類、數(shù)據(jù)長等信息的首標(biāo)附加到所傳輸?shù)臄?shù)據(jù)的先頭部分來進(jìn)行。
因而,在此步驟S106中,除了存儲(chǔ)上述壓縮前數(shù)據(jù)外,將與包括在首標(biāo)中的壓縮前數(shù)據(jù)的數(shù)據(jù)長有關(guān)的數(shù)據(jù)存儲(chǔ)到第一寄存器R1。而且由于此已讀出的壓縮前數(shù)據(jù)是寫入禁止對(duì)象的數(shù)據(jù),借助OS的數(shù)據(jù)管理程序,對(duì)該壓縮前數(shù)據(jù)存儲(chǔ)區(qū)設(shè)置寫入保護(hù)。因此,禁止向上述壓縮前數(shù)據(jù)存儲(chǔ)區(qū)寫入數(shù)據(jù)。
下面在步驟S107中,進(jìn)入預(yù)測壓縮率計(jì)算處理裝置95(預(yù)測壓縮率計(jì)算處理子程序)。
此預(yù)測壓縮率計(jì)算處理裝置95如圖15所示,由以下多部分構(gòu)成進(jìn)行處理程序的次數(shù)判斷的判斷裝置101;從壓縮前數(shù)據(jù)存儲(chǔ)區(qū)讀出用壓縮前數(shù)據(jù)讀出尺寸A表示壓縮前數(shù)據(jù)的每一數(shù)據(jù)長的壓縮前數(shù)據(jù)讀出裝置102;讀出從數(shù)據(jù)壓縮電路67輸出的壓縮數(shù)據(jù)并存儲(chǔ)到數(shù)據(jù)RAM64的壓縮數(shù)據(jù)存儲(chǔ)區(qū)的壓縮數(shù)據(jù)存儲(chǔ)裝置103;計(jì)算用以將壓縮數(shù)據(jù)存儲(chǔ)到壓縮數(shù)據(jù)存儲(chǔ)區(qū)的存儲(chǔ)地址的存儲(chǔ)地址計(jì)算裝置104;用壓縮前數(shù)據(jù)讀出尺寸A表示的數(shù)據(jù)長(以下簡記為A字節(jié))對(duì)壓縮前數(shù)據(jù)計(jì)算實(shí)際壓縮率的壓縮率計(jì)算裝置105;按照用此壓縮率計(jì)算裝置105計(jì)算的實(shí)際壓縮率對(duì)全部壓縮前數(shù)據(jù)計(jì)算預(yù)測壓縮率的預(yù)測壓縮率計(jì)算裝置106。
而且,此預(yù)測壓縮率計(jì)算處理裝置95(預(yù)測壓縮率運(yùn)算處理子程序)如圖16所示,首先在步驟S201中,使各種參數(shù)初始化。具體地說,在此數(shù)據(jù)處理程序71所用的各種寄存器中,將初始值“0”分別存儲(chǔ)到稱為變址寄存器i的寄存器(以后簡記為變址寄存器i),和第二寄存器R2、第三寄存器R3、和第四寄存器R4。
下面在步驟S202中,通過壓縮前數(shù)據(jù)讀出裝置102,從壓縮前數(shù)據(jù)存儲(chǔ)的前頭以A字節(jié)讀出由使A字節(jié)乘以變址寄存器i的值所決定的第i×A字節(jié)的壓縮前數(shù)據(jù)。在最初的循環(huán)中,從壓縮前數(shù)據(jù)存儲(chǔ)區(qū)的第0字節(jié)讀出A字節(jié)部分(例如2K字節(jié)部分)的壓縮前數(shù)據(jù)。
下面在步驟S203中,將上述已讀出的A字節(jié)部分的壓縮前數(shù)據(jù)輸出到數(shù)據(jù)壓縮電路67。數(shù)據(jù)壓縮電路67使用緩沖存儲(chǔ)器69對(duì)已輸入的A字節(jié)部分的壓縮前數(shù)據(jù)進(jìn)行非損失的數(shù)據(jù)壓縮處理(步驟S204)。這時(shí),與第一實(shí)施例的數(shù)據(jù)傳輸裝置1的情況不同,在此第二實(shí)施例中,不必將全部壓縮前數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮,可以只將A字節(jié)部分(例如2K字節(jié)部分)的壓縮前數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮,所以能使緩沖存儲(chǔ)器69的尺寸減少。
下面在步驟S205中,通過壓縮數(shù)據(jù)存儲(chǔ)裝置103,讀出從上述數(shù)據(jù)壓縮電路67輸出的壓縮數(shù)據(jù),并存儲(chǔ)到數(shù)據(jù)RAM64的壓縮數(shù)據(jù)存儲(chǔ)區(qū)中與第三寄存器R對(duì)應(yīng)的第N(N為整數(shù))字節(jié)(地址)中。在最初的程序中,由于第三寄存器R3的值成為“0”,上述壓縮數(shù)據(jù)由壓縮數(shù)據(jù)存儲(chǔ)區(qū)的第0字節(jié)(最前面地址)存儲(chǔ)。這時(shí),計(jì)數(shù)例如從壓縮數(shù)據(jù)最前面到壓縮數(shù)據(jù)末尾(數(shù)據(jù)結(jié)尾)的字節(jié)數(shù),將該計(jì)數(shù)結(jié)果作為壓縮數(shù)據(jù)的數(shù)據(jù)長存儲(chǔ)到第二寄存器R2。
下面在步驟206中,通過存儲(chǔ)地址計(jì)算裝置204,計(jì)算壓縮數(shù)據(jù)存儲(chǔ)區(qū)中的應(yīng)存儲(chǔ)下次壓縮數(shù)據(jù)的區(qū)域的地址。這種計(jì)算是通過將第三寄存器R3的值(現(xiàn)在的存儲(chǔ)地址)與第二寄存器R2的值(現(xiàn)在的壓縮數(shù)據(jù)的數(shù)據(jù)長)相加,并將此相加值存儲(chǔ)到第三寄存器R3來進(jìn)行。
下面在步驟S207中,通過壓縮率計(jì)算裝置105,求出對(duì)這次的2K字節(jié)部分的壓縮前數(shù)據(jù)的實(shí)際壓縮率,采取與上次壓縮率的積累。這種計(jì)算是通過用第二寄存器R2的值去除A字節(jié),將此除法值(浮點(diǎn)數(shù)據(jù))與第四寄存器R4的值(上次的壓縮率)相加,再將此相加值再次存儲(chǔ)到第四寄存器R4來進(jìn)行。
下面在步驟S208中,將變址寄存器i的值加1。
下面在步驟S209中,通過判斷裝置101,判斷處理循環(huán)次數(shù)是否達(dá)到求預(yù)測壓縮率所必須的預(yù)定循環(huán)次數(shù)B。這種判斷是按變址寄存器i的值是否變成存儲(chǔ)在預(yù)定循環(huán)次數(shù)存儲(chǔ)區(qū)的預(yù)定循環(huán)次數(shù)B以上來進(jìn)行。
處理循環(huán)次數(shù)達(dá)到預(yù)定循環(huán)次數(shù)B時(shí),再進(jìn)入步驟S202,進(jìn)行該步驟S202以下的處理。例如以A字節(jié)為2K字節(jié),為求預(yù)測壓縮率所必須的壓縮前數(shù)據(jù)的數(shù)據(jù)長為10K字節(jié)時(shí),預(yù)定循環(huán)次數(shù)B成為5。此值預(yù)先按規(guī)格決定。
而且在上述步驟S209中,當(dāng)處理循環(huán)次數(shù)(變址寄存器i的值)達(dá)到預(yù)定循環(huán)次數(shù)B時(shí),進(jìn)入下一步驟210,通過預(yù)測壓縮率計(jì)算裝置106求出本次的預(yù)測壓縮率。這種計(jì)算是通過用預(yù)定循環(huán)次數(shù)B除以存儲(chǔ)在第四寄存器R4的處理循環(huán)次數(shù)部分的實(shí)際壓縮率的累積值,并將此除法值存儲(chǔ)到第四寄存器R4來進(jìn)行。
然而,從數(shù)據(jù)源2發(fā)送的壓縮前數(shù)據(jù),例如除了正文數(shù)據(jù)外,位圖映象數(shù)據(jù)、執(zhí)行文件這樣,有數(shù)據(jù)屬性不同的情況。如壓縮前數(shù)據(jù)例如同樣是正文數(shù)據(jù),即使如上所述用規(guī)定循環(huán)次數(shù)B除以實(shí)際壓縮率的累積值求出預(yù)測壓縮率,此預(yù)測壓縮率與實(shí)際上對(duì)全部壓縮前數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮所得到的實(shí)際壓縮率的誤差也很小。
然而,從數(shù)據(jù)輸出源發(fā)送的壓縮前數(shù)據(jù)除了上述正文數(shù)據(jù)之外,在位圖映象數(shù)據(jù)、執(zhí)行文件等屬性不同的數(shù)據(jù)時(shí),對(duì)這些數(shù)據(jù)一律采用上述計(jì)算方法后,可能會(huì)使預(yù)想的最終壓縮率的誤差變大。
因而,在此第二實(shí)施例中,準(zhǔn)備與數(shù)據(jù)的種類相應(yīng)的字式的加權(quán)系數(shù)C(這可通過預(yù)先記錄到數(shù)據(jù)ROM62中來)進(jìn)行,參照在由數(shù)據(jù)源2發(fā)送的壓縮前數(shù)據(jù)的包頭中所包括的數(shù)據(jù)種類,將與該數(shù)據(jù)種類相應(yīng)的加權(quán)系數(shù)C乘以上述除法值作為預(yù)測壓縮率。
由此,不管從數(shù)據(jù)輸出源2發(fā)送的數(shù)據(jù)種類如何,對(duì)預(yù)測壓縮率都能使其預(yù)想的最終壓縮率的誤差減小,能使總系統(tǒng)的性能提高。
在上述步驟S210的預(yù)測壓縮率計(jì)算處理結(jié)束階段,此預(yù)測壓縮率計(jì)算處理裝置95(預(yù)測壓縮率計(jì)算處理子程序)也結(jié)束工作。
下面回到圖13所示的主程序,在下一步驟S108中,通過判斷裝置92,判斷預(yù)測壓縮率是否有效。這種判斷是按第四寄存器R4的值(預(yù)測壓縮率)是否在存儲(chǔ)在設(shè)定壓縮率存儲(chǔ)區(qū)的設(shè)定壓縮率β以上來進(jìn)行。
如預(yù)測壓縮率在設(shè)定壓縮率β以上,進(jìn)入下一步驟S109,進(jìn)入數(shù)據(jù)壓縮處理裝置96(數(shù)據(jù)壓縮處理子程序)。
此數(shù)據(jù)壓縮處理裝置96,如圖17所示,由以下各部分構(gòu)成用以判斷對(duì)全部壓縮數(shù)據(jù)的數(shù)據(jù)壓縮處理是否結(jié)束的判斷裝置111;從壓縮前數(shù)據(jù)存儲(chǔ)區(qū)分別按A字節(jié)讀出壓縮前數(shù)據(jù)的壓縮前數(shù)據(jù)讀出裝置112;讀出從數(shù)據(jù)壓縮電路67輸出的壓縮數(shù)據(jù)并存儲(chǔ)到數(shù)據(jù)RAM64的壓縮數(shù)據(jù)存儲(chǔ)區(qū)的壓縮數(shù)據(jù)存儲(chǔ)裝置113;計(jì)算用以將壓縮數(shù)據(jù)存儲(chǔ)到壓縮數(shù)據(jù)存儲(chǔ)區(qū)的存儲(chǔ)地址的存儲(chǔ)地址計(jì)算裝置114;從該地址以要求大小刪除存儲(chǔ)在壓縮前數(shù)據(jù)存儲(chǔ)區(qū)的壓縮前數(shù)據(jù)的壓縮前數(shù)據(jù)刪除裝置115。
而且,此數(shù)據(jù)壓縮處理裝置96(數(shù)據(jù)壓縮處理子程序),如圖18所示,首先在步驟S301中進(jìn)行壓縮前數(shù)據(jù)的讀出點(diǎn)的補(bǔ)正。具體說來,將預(yù)定的循環(huán)次數(shù)B存儲(chǔ)到變址寄存器i。
下面在步驟S302中,通過壓縮前數(shù)據(jù)刪除裝置115,刪除存儲(chǔ)在壓縮前數(shù)據(jù)存儲(chǔ)區(qū)的壓縮前數(shù)據(jù)中的,用上述預(yù)測壓縮率計(jì)算處理裝置95預(yù)先進(jìn)行過數(shù)據(jù)壓縮處理的壓縮前數(shù)據(jù)。這種刪除處理是通過向OS輸出以存儲(chǔ)刪除對(duì)象數(shù)據(jù)的區(qū)域的前面地址與刪除的數(shù)據(jù)大小為參數(shù)的刪除指令來進(jìn)行。這時(shí)的前面地址是數(shù)據(jù)RAM94上的壓縮前數(shù)據(jù)存儲(chǔ)區(qū)的前面地址,刪除的數(shù)據(jù)大小是將A字節(jié)乘以變址寄存器i的值所得到的值。
通過這種刪除指令的輸出執(zhí)行OS的數(shù)據(jù)管理程序,因此,在壓縮前數(shù)據(jù)存儲(chǔ)區(qū)中,取消由在參數(shù)中包含的前面地址和刪除的數(shù)據(jù)尺寸決定的區(qū)域的寫入保護(hù)。例如為求出預(yù)測壓縮率而使用10K字節(jié)部分的壓縮前數(shù)據(jù)時(shí),取消存儲(chǔ)其使用的10K字節(jié)部分的壓縮前數(shù)據(jù)的區(qū)域中的寫入保護(hù)。
結(jié)果,其它的程序等能將取消了寫入保護(hù)的此10K字節(jié)部分的存儲(chǔ)區(qū)作為作業(yè)區(qū)或作為數(shù)據(jù)存儲(chǔ)區(qū)來利用。
下面在步驟S303中,通過壓縮前數(shù)據(jù)讀出裝置112,從壓縮前數(shù)據(jù)存儲(chǔ)區(qū)的前面以A字節(jié)讀出由變址寄存器i的值乘以A字節(jié)決定的第i×A字節(jié)的壓縮前數(shù)據(jù)。
求預(yù)測壓縮率時(shí),預(yù)先使用10K字節(jié)的壓縮前數(shù)據(jù)時(shí),由于變址寄存器i的值成為5,壓縮前數(shù)據(jù)讀出尺寸A成為2K字節(jié),在此最初的循環(huán)中,從壓縮前數(shù)據(jù)存儲(chǔ)區(qū)的第10K字節(jié)讀出A字節(jié)部分(在此例中是2K字節(jié)部分)的壓縮前數(shù)據(jù)。
下面在步驟S304中,將上述已讀出的A字節(jié)部分的壓縮前數(shù)據(jù)輸出到數(shù)據(jù)壓縮電路67。數(shù)據(jù)壓縮電路67,用緩沖存儲(chǔ)器69對(duì)所輸入的A字節(jié)部分的壓縮前數(shù)據(jù)進(jìn)行非損失的數(shù)據(jù)壓縮處理(步驟S305)。
下面在步驟S306中,通過壓縮數(shù)據(jù)存儲(chǔ)裝置113,讀出從上述數(shù)據(jù)壓縮電路67輸出的壓縮數(shù)據(jù)并存儲(chǔ)到數(shù)據(jù)RAM64的壓縮數(shù)據(jù)存儲(chǔ)區(qū)中的與第三寄存器R3的值對(duì)應(yīng)的第N(N為整數(shù))字節(jié)(地址)。在最初的循環(huán)中,由于第三寄存器R3的值成為與求預(yù)測壓縮率時(shí)的壓縮數(shù)據(jù)的尺寸對(duì)應(yīng)的值,上述壓縮數(shù)據(jù)由壓縮數(shù)據(jù)存儲(chǔ)區(qū)中的,在求預(yù)測壓縮率時(shí)所存儲(chǔ)的壓縮數(shù)據(jù)占有的區(qū)域的下一個(gè)字節(jié)(前面地址)來存儲(chǔ)。這時(shí),計(jì)數(shù)從壓縮數(shù)據(jù)開頭到壓縮數(shù)據(jù)結(jié)尾(數(shù)據(jù)結(jié)尾)的字節(jié)數(shù),將此計(jì)數(shù)結(jié)果作為壓縮數(shù)據(jù)的數(shù)據(jù)長存儲(chǔ)到第二寄存器R2。
下面在步驟S307中,通過存儲(chǔ)地址計(jì)算裝置114,計(jì)算在壓縮數(shù)據(jù)存儲(chǔ)區(qū)中,應(yīng)存儲(chǔ)下一次的壓縮數(shù)據(jù)的區(qū)域的地址。這種計(jì)算是通過將第三寄存器R3的值(現(xiàn)在的存儲(chǔ)地址)與第二寄存器R2的值(現(xiàn)在的壓縮數(shù)據(jù)的數(shù)據(jù)長)相加,并將此相加值存儲(chǔ)到第三寄存器R3來進(jìn)行。
下面在步驟S308中,通過壓縮前數(shù)據(jù)刪除裝置115,存儲(chǔ)在壓縮前數(shù)據(jù)存儲(chǔ)區(qū)的壓縮前數(shù)據(jù)中的數(shù)據(jù),用步驟S303讀出,用步驟305刪除被壓縮處理過的壓縮前數(shù)據(jù)。即,從由A字節(jié)乘以變址寄存器i的值所決定的字節(jié)(第i×A字節(jié))刪除A字節(jié)部分。
這種刪除處理與上述步驟S302的情況相同,是通過向OS輸出以存儲(chǔ)刪除對(duì)象的數(shù)據(jù)的區(qū)域的前面的地址(壓縮前數(shù)據(jù)存儲(chǔ)區(qū)的第i×A字節(jié))與刪除的數(shù)據(jù)尺寸(A字節(jié))為參數(shù)的刪除指令來進(jìn)行。
按照此刪除指令的輸出,執(zhí)行OS的數(shù)據(jù)管理程序,由此,在壓縮前數(shù)據(jù)存儲(chǔ)區(qū)中取消由在參數(shù)中所包含的前面地址(第i×A字節(jié))與刪除的數(shù)據(jù)尺寸(A字節(jié))決定的區(qū)域的寫入保護(hù)。
結(jié)果,其它的程序等能將取消寫入保護(hù)的此A字節(jié)部分的存儲(chǔ)區(qū)作為工作區(qū)或作為數(shù)據(jù)存儲(chǔ)區(qū)來利用。
下面在步驟S309中,將變址寄存器i的值加1。
下面在步驟S310中,通過判斷裝置111來判斷是否對(duì)全部壓縮前數(shù)據(jù)進(jìn)行了數(shù)據(jù)壓縮。這種判斷是用由A字節(jié)乘以變址寄存器i的值所得到的值(即進(jìn)行過數(shù)據(jù)壓縮處理的壓縮前的數(shù)據(jù)長)是否在存儲(chǔ)到第一寄存器R1的全部壓縮前數(shù)據(jù)的數(shù)據(jù)長以上來進(jìn)行判斷。
判斷出對(duì)全部壓縮前數(shù)據(jù)未進(jìn)行數(shù)據(jù)壓縮時(shí),再次回到步驟S303,進(jìn)行該步驟S303以后的處理,判斷對(duì)全部壓縮前數(shù)據(jù)已進(jìn)行過數(shù)據(jù)壓縮時(shí),結(jié)束此數(shù)據(jù)壓縮處理裝置96(數(shù)據(jù)壓縮處理子程序)的工作。
下面回到圖13的主程序,在下一步驟S110中,通過圖12所示的發(fā)送請(qǐng)求數(shù)據(jù)制作裝置98,制成壓縮數(shù)據(jù)用的發(fā)送請(qǐng)求數(shù)據(jù)。具體地說,此發(fā)送請(qǐng)求數(shù)據(jù)制作在數(shù)據(jù)RAM64上分配的程序作業(yè)區(qū)的規(guī)定的數(shù)組變數(shù)區(qū)(發(fā)送請(qǐng)求數(shù)據(jù)區(qū))上,例如由首標(biāo)部和數(shù)據(jù)部構(gòu)成。而且此請(qǐng)求發(fā)送數(shù)據(jù)制作裝置98,在首標(biāo)部上記錄表示壓縮數(shù)據(jù)的識(shí)別代碼和存儲(chǔ)在第二寄存器R2上的壓縮數(shù)據(jù)的數(shù)據(jù)長,通過附加壓縮數(shù)據(jù)制成壓縮數(shù)據(jù)用的發(fā)送請(qǐng)求數(shù)據(jù)作為數(shù)據(jù)部。
下面在步驟S111中,通過信息輸出裝置100,經(jīng)輸出口66向控制器12輸出表示數(shù)據(jù)已被壓縮的信息代碼(也可以是表示上述壓縮數(shù)據(jù)的識(shí)別代碼)??刂破靼凑諄碜詳?shù)據(jù)傳輸裝置1的上述信息代碼的輸入,將表示數(shù)據(jù)已被壓縮的信息數(shù)據(jù)輸出到監(jiān)示器裝置上。由此,在監(jiān)示器裝置的畫面上顯示出例如“數(shù)據(jù)已被壓縮”這樣的信息。
另一方面,在上述步驟S108中,判斷預(yù)測壓縮率未達(dá)到設(shè)定壓縮率β時(shí),進(jìn)入步驟S112,通過發(fā)送請(qǐng)求數(shù)據(jù)制作裝置98,制成壓縮前數(shù)據(jù)用的發(fā)送請(qǐng)求數(shù)據(jù)。此發(fā)送請(qǐng)求數(shù)據(jù)在數(shù)據(jù)RAM64分配的上述發(fā)送請(qǐng)求數(shù)據(jù)區(qū)上制成,具體地說,將表示壓縮前數(shù)據(jù)的識(shí)別代碼與存儲(chǔ)在第一寄存器R1上的壓縮前數(shù)據(jù)的數(shù)據(jù)長記錄在首標(biāo)部,通過附加壓縮數(shù)據(jù)制成壓縮數(shù)據(jù)用的發(fā)送請(qǐng)求數(shù)據(jù)作為數(shù)據(jù)部。
下面在步驟S313中,通過信息輸出裝置100,經(jīng)輸出口66將表示數(shù)據(jù)未被壓縮的信息代碼(也可以是表示上述壓縮前數(shù)據(jù)的識(shí)別代碼)輸出到控制器12??刂破?2按照來自數(shù)據(jù)傳輸裝置1的上述信息代碼的輸入,將表示數(shù)據(jù)未被壓縮的信息數(shù)據(jù)輸出到監(jiān)示器裝置上。由此,在監(jiān)示器裝置的畫面上顯示出例如“數(shù)據(jù)未被壓縮”這樣的信息。
在上述步驟S111或步驟S113的處理結(jié)束階段,進(jìn)入圖14所示的步驟S114,通過發(fā)送請(qǐng)求信號(hào)輸出裝置97,經(jīng)輸出口66向控制器12輸出發(fā)送請(qǐng)求信號(hào)。這時(shí),控制器12對(duì)數(shù)據(jù)輸出端3輸出用以接收由數(shù)據(jù)傳輸裝置1發(fā)送的輸入數(shù)據(jù)的控制信號(hào)(寫入允許信號(hào)、數(shù)據(jù)存儲(chǔ)請(qǐng)求信號(hào)等)。因此,數(shù)據(jù)輸出端3成為等待來自數(shù)據(jù)傳輸裝置1的輸入數(shù)據(jù)的狀態(tài)。
下面在步驟S115中,通過發(fā)送請(qǐng)求數(shù)據(jù)輸出裝置99,經(jīng)輸出口66將存儲(chǔ)在數(shù)據(jù)RAM64的上述發(fā)送請(qǐng)求數(shù)據(jù)區(qū)的壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)用的發(fā)送請(qǐng)求數(shù)據(jù)輸出到數(shù)據(jù)輸出端3。
這時(shí),在向數(shù)據(jù)輸出端3像數(shù)據(jù)通道等那樣經(jīng)可能發(fā)生傳輸錯(cuò)誤的傳輸路徑輸出數(shù)據(jù)時(shí),在上述發(fā)送請(qǐng)求數(shù)據(jù)輸出裝置99中,將錯(cuò)誤校正代碼附加到上述發(fā)送請(qǐng)求數(shù)據(jù)上,輸出該發(fā)送請(qǐng)求數(shù)據(jù)。
下面在步驟S116中,通過判斷裝置92,判斷是否有程序結(jié)束請(qǐng)求。這種判斷是以是否產(chǎn)生電源OFF等的結(jié)束請(qǐng)求中斷來進(jìn)行判斷的。
而且在此步驟S116中,無上述結(jié)束請(qǐng)求時(shí)回到步驟S103,成為等待來自數(shù)據(jù)輸出源2的下一個(gè)發(fā)送請(qǐng)求的狀態(tài),有上述結(jié)束請(qǐng)求時(shí),結(jié)束此數(shù)據(jù)處理程序91。
由此,在上述第二實(shí)施例的數(shù)據(jù)傳輸裝置1中,與上述第一實(shí)施例的數(shù)據(jù)傳輸裝置1相同,按照預(yù)測壓縮率與設(shè)定壓縮率β的比較,判斷應(yīng)發(fā)送到數(shù)據(jù)輸出端3的數(shù)據(jù)應(yīng)作為壓縮數(shù)據(jù)還是應(yīng)作為壓縮前數(shù)據(jù),由于是按照此判斷結(jié)果,將壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)發(fā)送到數(shù)據(jù)輸出端3,所以能防止出現(xiàn)進(jìn)行了數(shù)據(jù)壓縮的數(shù)據(jù)在數(shù)據(jù)輸出端3占有的存儲(chǔ)區(qū)域的大小與未進(jìn)行數(shù)據(jù)壓縮的數(shù)據(jù)在存儲(chǔ)區(qū)域上占有的大小大體相同這樣的現(xiàn)象,從而能避免在數(shù)據(jù)輸出端3進(jìn)行無效的解壓縮處理這樣的不希望出現(xiàn)的情況。
特別是,不必對(duì)壓縮前數(shù)據(jù)都進(jìn)行數(shù)據(jù)壓縮,根據(jù)對(duì)用壓縮前數(shù)據(jù)的一部分,在本例中用A字節(jié)×預(yù)定循環(huán)次數(shù)B求出其尺寸的壓縮前數(shù)據(jù)(例如10K字節(jié)的壓縮前數(shù)據(jù))進(jìn)行數(shù)據(jù)壓縮而求得的預(yù)測壓縮率,判斷要發(fā)送到數(shù)據(jù)輸出端3的數(shù)據(jù)應(yīng)作為壓縮數(shù)據(jù)還是應(yīng)作為壓縮前數(shù)據(jù),進(jìn)而當(dāng)判斷要發(fā)送到數(shù)據(jù)輸出端3的數(shù)據(jù)是壓縮前數(shù)據(jù)時(shí),由于對(duì)其后的壓縮前數(shù)據(jù)不進(jìn)行數(shù)據(jù)壓縮處理,所以能縮短整體的處理時(shí)間(從讀出來自數(shù)據(jù)輸出源2的壓縮前數(shù)據(jù)的階段到將數(shù)據(jù)發(fā)送到數(shù)據(jù)輸出端3的時(shí)間)。
在數(shù)據(jù)壓縮處理裝置96的步驟S302和步驟S308中,因順次刪除已進(jìn)行過數(shù)據(jù)壓縮的壓縮前數(shù)據(jù)并取消其寫入保護(hù),所以能提高數(shù)據(jù)RAM64的利用率,避免因容量溢出造成的系統(tǒng)的停止等。
不必向數(shù)據(jù)壓縮電路67發(fā)送全部壓縮前數(shù)據(jù),由于只發(fā)送各A字節(jié)部分進(jìn)行數(shù)據(jù)壓縮處理,所以數(shù)據(jù)壓縮電路62配備的,用于數(shù)據(jù)壓縮處理的緩沖存儲(chǔ)器69的容量能減小,能使系統(tǒng)整體的電路結(jié)構(gòu)小型化。
在預(yù)測壓縮率計(jì)算處理裝置95的步驟S210中,由于是與從數(shù)據(jù)輸出源2傳送的數(shù)據(jù)種類相應(yīng)地進(jìn)行加權(quán)求得預(yù)測壓縮率,所以不管從數(shù)據(jù)輸出源2發(fā)送的數(shù)據(jù)種類如何,對(duì)預(yù)測壓縮率,都能使其與預(yù)想的最終壓縮率的誤差減少,能提高系統(tǒng)的綜合性能。
在上述第一實(shí)施例的數(shù)據(jù)傳輸裝置1和第二實(shí)施例的數(shù)據(jù)傳輸裝置1中,能完全適用于使用非損失型的數(shù)據(jù)壓縮的系統(tǒng)。
在數(shù)據(jù)壓縮時(shí),有按文件單位進(jìn)行數(shù)據(jù)壓縮,或者按將文件劃分為固定長的信息組的信息組單位進(jìn)行數(shù)據(jù)壓縮的情況,任何一種情況也都能適用于上述第一實(shí)施例的數(shù)據(jù)傳輸裝置1和第二實(shí)施例的數(shù)據(jù)傳輸裝置1。
下面將參照?qǐng)D19-圖42對(duì)適用于上述圖7所示的使用形態(tài)的第三實(shí)施例的數(shù)據(jù)傳輸裝置1進(jìn)行說明。
此第三實(shí)施例的數(shù)據(jù)傳輸裝置1裝設(shè)在主機(jī)51的外部存儲(chǔ)裝置52內(nèi),具有作為該外部存儲(chǔ)裝置52中的數(shù)據(jù)處理裝置1的功能。因而在以下的說明中將此第三實(shí)施例的數(shù)據(jù)傳輸裝置1記為第三實(shí)施例的數(shù)據(jù)處理裝置1。
裝有此第三實(shí)施例的數(shù)據(jù)傳輸裝置1的上述外部存儲(chǔ)裝置52,例如是由以磁光盤為記錄介質(zhì)的盤用記錄重放裝置構(gòu)成,更詳細(xì)地如圖19所示,它包括圖中未示出的盒架,其內(nèi)部插入可自由旋轉(zhuǎn)地收存與磁場調(diào)制方式對(duì)應(yīng)的磁光盤D的磁盤盒(圖中未示出);旋轉(zhuǎn)驅(qū)動(dòng)插入此盒架的上述磁盤盒中的磁光盤的主軸馬達(dá)151;對(duì)此磁光盤進(jìn)行信息信號(hào)重放的光拾波器152;對(duì)用上述主軸馬達(dá)151旋轉(zhuǎn)驅(qū)動(dòng)的磁光盤D施加記錄用磁場,使磁光盤D的垂直磁化膜(記錄層)中的被來自光拾波器152的激光L照射的部分(超過居里點(diǎn)溫度的部分)與記錄信號(hào)對(duì)應(yīng)地磁化的記錄用磁場發(fā)生裝置(內(nèi)部有勵(lì)磁線圈構(gòu)成)153。在此圖19中,為避免圖面復(fù)雜,省略上述磁盤盒。
上述盒架,在其內(nèi)部設(shè)置有使上述磁盤盒的光閥(圖中未示出)開閉的圖中未示出的公知的光閥開關(guān)機(jī)構(gòu)。
因而,通過將上述磁盤盒插入上述盒架,借助上述光閥開關(guān)機(jī)構(gòu)打開光閥,在此光閥成為完全打開狀態(tài)的位置,即在磁盤盒完全插入盒架的位置,磁盤盒向外部存儲(chǔ)裝置52內(nèi)的安裝就結(jié)束了。
主軸馬達(dá)151設(shè)置在與已被安裝的磁盤盒的中央部分對(duì)應(yīng)的下方位置處,例如借助步進(jìn)馬達(dá)和以旋轉(zhuǎn)-直線運(yùn)動(dòng)變換機(jī)構(gòu)為主體的已知的主軸馬達(dá)用的上下移動(dòng)機(jī)構(gòu)(圖中未繪出),可沿上下方向,即沿磁盤盒的接離方向自由移動(dòng)。帶磁鐵的轉(zhuǎn)盤154設(shè)置在此主軸馬達(dá)的馬達(dá)軸的上端。
此主軸馬達(dá)151,已安裝上述磁盤盒,借助上述主軸馬達(dá)用上下移動(dòng)機(jī)構(gòu)向上方移動(dòng),由于這種移動(dòng),轉(zhuǎn)盤154通過磁盤盒內(nèi)側(cè)開口部進(jìn)入磁盤盒內(nèi)。這時(shí),由于磁鐵的吸引,轉(zhuǎn)盤154的上面與磁盤盒內(nèi)的磁光盤D的中心轂一起相互保持緊密接觸,在磁盤盒內(nèi)的磁光盤D裝在主軸馬達(dá)151上。
光拾波器152設(shè)置在上述磁盤盒中的在外部存儲(chǔ)裝置52內(nèi)部露出的內(nèi)側(cè)開口部的下方位置處。此光拾波器152例如能借助線性馬達(dá)和以導(dǎo)向軸為主體的已知光拾波器用滑動(dòng)機(jī)構(gòu)155,沿磁盤盒中的磁光盤D的徑向自由移動(dòng)。
在此光拾波器152上配置用以將來自激光光源的光束L聚光到磁光盤D的記錄層上的圖中未示出的物鏡。此物鏡借助二維調(diào)節(jié)器156,分別僅僅沿磁光盤D的接離方向和磁光盤D的徑向移動(dòng)。此二維調(diào)節(jié)器156例如由聚焦線圈、跟蹤線圖及磁鐵組成的磁路構(gòu)成。
記錄用磁場發(fā)生裝置153設(shè)置在磁盤盒中的在外部存儲(chǔ)裝置52內(nèi)部露出的上側(cè)開口部的上方位置處。此記錄用磁場發(fā)生裝置153借助例如步進(jìn)馬達(dá)和以旋轉(zhuǎn)-直線運(yùn)動(dòng)變換機(jī)構(gòu)為主體的已知的上下移動(dòng)機(jī)構(gòu)(未示出),沿上下方向,即對(duì)磁盤盒的上側(cè)開口部接離方向能自由移動(dòng)。而且此記錄用磁場發(fā)生裝置153借助圖中未示出的連動(dòng)機(jī)構(gòu)與光拾波器152連動(dòng)并沿磁光盤的徑向移動(dòng)。
此外部存儲(chǔ)裝置52的電路系統(tǒng)如圖19所示包括調(diào)別電路161、磁場發(fā)生裝置驅(qū)動(dòng)電路162、計(jì)算電路163、解調(diào)電路164、伺服控制器165和控制這些電路的系統(tǒng)控制器166,進(jìn)而在本實(shí)施例中,此第三實(shí)施例的數(shù)據(jù)處理裝置1經(jīng)接口電路167與上述系統(tǒng)控制器166連接而構(gòu)成。
此數(shù)據(jù)處理裝置1對(duì)設(shè)置在外部的主機(jī)51,通過接口總線(例如SCSI總線)和接口電路168配線連接以進(jìn)行數(shù)據(jù)發(fā)送。
調(diào)制電路161是這樣一種電路,它對(duì)由系統(tǒng)控制器166傳送的記錄數(shù)據(jù)進(jìn)行錯(cuò)誤修正等編碼處理,變換成記錄信息數(shù)據(jù),進(jìn)而將此已變換的數(shù)據(jù)再變換成On-Off數(shù)據(jù),作為開關(guān)信號(hào)輸出。
磁場發(fā)生裝置驅(qū)動(dòng)電路162是按照來自調(diào)制電路161的開關(guān)信號(hào),使流向記錄用磁場發(fā)生裝置153內(nèi)的勵(lì)磁線圈的供給電流沿正方向和負(fù)方向切換的電路。
具體地說,通過使勵(lì)磁線圈沿正方向流過電流,使磁光盤D的記錄層中的,因用來自光拾波器152的激光照射而使溫度超過居里點(diǎn)的部分沿例如正方向磁化,而通過使勵(lì)磁線圈沿負(fù)方向流過電流。上述部分則沿例如負(fù)方向磁化。
而且其后,由于照射由光拾波器152產(chǎn)生的重放用的激光L,通過用裝在光拾波器152內(nèi)的例如由pn結(jié)光電二極管組成的光檢波器檢測出用沿正方向磁化的部分或沿負(fù)方向磁化的部分調(diào)制的反射光束中的克爾旋轉(zhuǎn)角(力-回轉(zhuǎn)角),能得到記錄在磁光盤上的磁化信息的重放信號(hào)。
伺服控制器165其內(nèi)部裝有聚焦伺服電路、循跡伺服電路、主軸伺服電路以及對(duì)作為各種移動(dòng)機(jī)構(gòu)驅(qū)動(dòng)源的馬達(dá)進(jìn)行伺服控制的馬達(dá)用伺服電路等,這些各種伺服電路分別輸入來自系統(tǒng)控制器166的與伺服控制有關(guān)的數(shù)據(jù)(伺服增益等)、驅(qū)動(dòng)信號(hào)等伺服驅(qū)動(dòng)控制信號(hào)、來自計(jì)算電路163的伺服用計(jì)算信號(hào)。
上述主軸伺服電路是按照來自系統(tǒng)控制器的伺服驅(qū)動(dòng)控制信號(hào)驅(qū)動(dòng)主軸馬達(dá)151,以CLV(常線速Constant Linear Verocity)方式或CAV(常角速Constant Angular Verocity)方式旋轉(zhuǎn)驅(qū)動(dòng)裝在轉(zhuǎn)盤154上的磁光盤的電路。上述伺服驅(qū)動(dòng)控制信號(hào),如磁光盤是例如取樣伺服方式的磁盤,是按照將伴隨著在伺服區(qū)與伺服位一起形成的時(shí)鐘位的檢出而產(chǎn)生脈沖信號(hào),用例如PLL倍增(分頻)而得到的時(shí)鐘信號(hào)而制成。
上述聚焦伺服電路是這樣一種電路,它按照來自計(jì)算電路163的聚焦錯(cuò)誤信號(hào),具體地說是在磁光盤D上形成鏡面,用運(yùn)算電路163對(duì)與伴隨著向該鏡面進(jìn)行激光照射所產(chǎn)生的來自該鏡面的反射光量對(duì)應(yīng)的檢出信號(hào)進(jìn)行規(guī)定的運(yùn)算,按照所得到的信號(hào),通過驅(qū)動(dòng)控制光拾波器152的上述二維調(diào)節(jié)器156,使物鏡沿磁光盤D的接離方向移動(dòng),進(jìn)行該焦點(diǎn)調(diào)整。
上述循跡伺服電路是這樣一種電路,它按照來自運(yùn)算電路163的循跡錯(cuò)誤信號(hào),具體地說是按照用運(yùn)算電路163對(duì)伴隨著在磁光盤D形成的伺服區(qū)內(nèi)的伺服位的檢測而生成的檢測信號(hào)進(jìn)行規(guī)定的運(yùn)算所得到的信號(hào),通過驅(qū)動(dòng)控制光拾波器152的上述二維調(diào)節(jié)器156,使物鏡沿磁光盤D的徑向移動(dòng),進(jìn)行該循跡調(diào)整。
解調(diào)電路164是這樣一種電路,它將來自運(yùn)算電路163的重放信號(hào),具體地說是將通過對(duì)與記錄在磁光盤D的記錄層上的磁化信息相應(yīng)地進(jìn)行了調(diào)制的反射光和P偏光成分與S偏光成分進(jìn)行規(guī)定的運(yùn)算所得到的信號(hào)變換成數(shù)字?jǐn)?shù)據(jù),進(jìn)而再對(duì)附加到此已變換的數(shù)字?jǐn)?shù)據(jù)上的錯(cuò)誤校驗(yàn)等編碼處理進(jìn)行譯碼處理,作為重放數(shù)據(jù)輸出。來自此解調(diào)電路164的重放數(shù)據(jù)供給系統(tǒng)控制器166。
供給此系統(tǒng)控制器166的上述重放數(shù)據(jù)通過接口電路167和接口總線(例如SCSI總線)供給數(shù)據(jù)處理裝置1。在供給系統(tǒng)控制器166的重放數(shù)據(jù)中,地址數(shù)據(jù)用于主軸馬達(dá)151的旋轉(zhuǎn)控制、查找工作時(shí)的光拾波器152的掃描位置的控制等。
下面將參照?qǐng)D20-圖42對(duì)第三實(shí)施例的數(shù)據(jù)處理裝置1的結(jié)構(gòu)進(jìn)行說明。首先,此數(shù)據(jù)處理裝置1的硬件結(jié)構(gòu)如圖20所示是由以下部分構(gòu)成存儲(chǔ)各種程序的程序ROM171;預(yù)先記錄各種固定數(shù)據(jù)的數(shù)據(jù)ROM172;作為從上述程序ROM171讀出的程序的操作用而使用的動(dòng)作用RAM173;存儲(chǔ)來自系統(tǒng)控制器166的重放數(shù)據(jù)、來自主機(jī)51的記錄用數(shù)據(jù)和按程序進(jìn)行數(shù)據(jù)加工的數(shù)據(jù)等的數(shù)據(jù)RAM174;對(duì)外部電路進(jìn)行數(shù)據(jù)的輸入輸出的輸入口175和輸出口176;使用專用的緩沖存儲(chǔ)器對(duì)存儲(chǔ)在數(shù)據(jù)RAM174的數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮處理的數(shù)據(jù)壓縮電路178;使用專用的緩沖存儲(chǔ)器179對(duì)存儲(chǔ)在數(shù)據(jù)RAM24中的數(shù)據(jù)進(jìn)行數(shù)據(jù)解壓縮處理的數(shù)據(jù)解壓縮電路180;控制這些電路的CPU(控制裝置和邏輯運(yùn)算裝置)181。
上述數(shù)據(jù)壓縮電路178和數(shù)據(jù)解壓縮電路180是無數(shù)據(jù)損失的,即,使用非損失的數(shù)據(jù)壓縮技術(shù)的電路,例如由微計(jì)算機(jī)等構(gòu)成。數(shù)據(jù)壓縮電路178和數(shù)據(jù)解壓縮電路180的非損失的數(shù)據(jù)壓縮技術(shù)本身由于與本發(fā)明無直接關(guān)系,在此不再詳述,可以使用在上述第一實(shí)施例和第二實(shí)施例的數(shù)據(jù)傳輸裝置1采用的例如借助LZW法的壓縮技術(shù)。
而且通過從CPU181引出的數(shù)據(jù)總線DB進(jìn)行各電路間數(shù)據(jù)的交換,上述各種電路通過從CPU181引出的控制總線(圖中未示出)分別用CPU181進(jìn)行控制這樣來構(gòu)成。
從主機(jī)51通過接口總線與接口電路168輸入的記錄用數(shù)據(jù)和從系統(tǒng)控制器166通過接口總線與接口電路167輸入的應(yīng)答數(shù)據(jù),通過輸入口175供給數(shù)據(jù)總線DB。
存儲(chǔ)在數(shù)據(jù)RAM174的輸向主機(jī)51的重放數(shù)據(jù)等,通過輸出口176,經(jīng)接口總線和接口電路168供給主機(jī)51,存儲(chǔ)在數(shù)據(jù)RAM174的輸向系統(tǒng)控制器166的各種驅(qū)動(dòng)請(qǐng)求信號(hào)與記錄用數(shù)據(jù)(壓縮數(shù)據(jù)或非壓縮數(shù)據(jù))等,通過輸出口176,經(jīng)接口總線與接口電路167供給系統(tǒng)供制器166。
下面在以此第三實(shí)施例的數(shù)據(jù)處理裝置1的工作為主體說明上述外部存儲(chǔ)裝置52的工作時(shí),參照?qǐng)D21對(duì)裝在此外部存儲(chǔ)裝置52上的磁光盤D的格式進(jìn)行說明后,此磁光盤D從半徑方向外側(cè)(最外周側(cè))向半徑方向內(nèi)側(cè)(最內(nèi)周側(cè))存在磁道編號(hào)(磁道地址)“0”-“9999”的一萬個(gè)磁道。即存在磁道0-磁道9999。
磁道0-磁道2和磁道9948-磁道9999是用外部存儲(chǔ)裝置52的數(shù)據(jù)處理裝置1與系統(tǒng)控制器166管理的磁道。其中,磁道9948-磁道9999如下面說明那樣是交替區(qū)AE,磁道0-磁道2和磁道9997-磁道9999是外部存儲(chǔ)裝置52的數(shù)據(jù)處理裝置1與系統(tǒng)控制器166管理的驅(qū)動(dòng)區(qū)DE,剩下的磁道3-磁道9947是用戶區(qū)UE。
驅(qū)動(dòng)區(qū)DE最好記錄非壓縮數(shù)據(jù)。這是因?yàn)閷?duì)讀出或?qū)懭氲忍幚淼拇嫒「咚倩?。在用戶區(qū)UE和交替區(qū)AE,按情況有選擇地記錄用數(shù)據(jù)壓縮電路178進(jìn)行壓縮處理的壓縮數(shù)據(jù)或未進(jìn)行壓縮處理的非壓縮數(shù)據(jù)。對(duì)此將在下面詳細(xì)說明。
各磁道有物理段號(hào)為“0”-“24”的段(按照需要當(dāng)從物理段0-24或前后關(guān)系就能明白其意義時(shí),也簡稱為段0-24。也可稱為段地址)。一段的存儲(chǔ)容量(數(shù)據(jù)記錄容量)是2048B(字節(jié))。
而且,連接此外部存儲(chǔ)裝置的主機(jī)51用例如100個(gè)段單位記錄或讀出數(shù)據(jù)。在此意義上,將上述主機(jī)51的一次存取處理數(shù)據(jù)的一部分作為一存貯塊時(shí),此存貯塊的數(shù)據(jù)長用段換算時(shí)是100段,用字節(jié)數(shù)換算時(shí),在上述例子中成為100×2KB=200KB。
在此實(shí)施例中,主機(jī)51如上述那樣,用由100個(gè)段組成的200KB的一存貯塊為單位管理(即處理)數(shù)據(jù),具體地說,主機(jī)51將用戶區(qū)UE的磁道3的段0作為一存貯塊的數(shù)據(jù)前頭地址0來管理,以后,將每100段,即每一存貯塊各自的前頭地址作為段地址100、200……,按順序進(jìn)行管理。
然而實(shí)際上由于有記錄在用戶區(qū)UE上的數(shù)據(jù)成為壓縮數(shù)據(jù)的情況,主機(jī)51管理的一存貯塊數(shù)據(jù)段地址與磁光盤D上的段地址并非一一對(duì)應(yīng)。意思是,主機(jī)51管理的段地址可以認(rèn)為是不限于磁光盤D等的記錄介質(zhì)的記錄格式的邏輯段地址(邏輯段地址),外部存儲(chǔ)裝置52的數(shù)據(jù)處理裝置1管理的段地址可認(rèn)為是限于實(shí)際磁光盤D的記錄格式的物理上的段地址(物理段地址)。
因而在以后的說明中,將主機(jī)51管理的段地址記為邏輯段地址,將數(shù)據(jù)處理裝置1管理的段地址記為物理段地址。
而且將能用主機(jī)51管理的一存貯塊的數(shù)據(jù)記為一邏輯存貯塊的數(shù)據(jù),將能用數(shù)據(jù)處理裝置管理的一存貯塊數(shù)據(jù)記為一物理存貯塊數(shù)據(jù)。作為一個(gè)例子,使在數(shù)據(jù)壓縮電路178的期待壓縮率β為例如2時(shí),在一邏輯存貯塊數(shù)據(jù)長為例如100段的情況下,一物理存貯塊數(shù)據(jù)長成為50段。
因此在此實(shí)施例中,為了容易管理壓縮前的一存貯塊數(shù)據(jù)的邏輯段地址與壓縮后的一存貯塊數(shù)據(jù)的物理段地址的對(duì)應(yīng)關(guān)系,而使用分配對(duì)應(yīng)表(文件分配表)FAT。此表的構(gòu)成將在下面詳細(xì)說明。
邏輯段地址與物理段地址都成為將用戶區(qū)UE的前頭段作為0的相對(duì)段地址。當(dāng)然,在物理段地址中,也可以作為以磁道0的前頭段為0的絕對(duì)段地址來定義,由于地址計(jì)算變復(fù)雜,與邏輯段地址同樣,使用相對(duì)段地址在計(jì)算上是有利的。
在此實(shí)施例中,如上所述,以一物理存貯塊的段數(shù)為50,此值能例如根據(jù)要求的不同可自由變更,一物理存貯塊的段數(shù)也可以為1。這種情況下使期待壓縮率例如為2時(shí),一邏輯存貯塊的段數(shù)成為2。
再回到圖21的說明,磁道0的段0是記錄此磁光盤的屬性(ID、初始化結(jié)束等信息和文件分配表FAT等)的DDS(磁盤定義結(jié)構(gòu)塊)段#0,磁道0的段1是記錄磁盤保證時(shí)的故障段信息的PDL(初始故障表)段#0。
磁道0的段2是記錄在磁盤保證時(shí)以后的,例如在寫入和校驗(yàn)時(shí)的故障段信息的SDL(補(bǔ)充的故障表)段#0。記錄在這些DDS段#0、PDL段#0、和SDL段#0上的數(shù)據(jù)總稱之為屬性數(shù)據(jù),記錄此屬性數(shù)據(jù)的區(qū)域(DDS段#0、PDL段#0和SDL段#0)總稱之為屬性數(shù)據(jù)記錄區(qū)。
在磁道1的段12、段13和段14的DDS段#1、PDL段#2和SDL段#1,在磁道9997的段0、段1和段2的DDS段2、PDL段#2、SDL段#3,以及在磁道9998的段12、段13和段14的DDS段#3、PDL段#3和SDL段#3,分別記錄與記錄在上述磁道0的段0、段1和段2中的DDS段#0、PDL段#0和SDL段#0上的屬性數(shù)據(jù)相同的數(shù)據(jù),全部作為備用段的功能。
下面參照?qǐng)D22對(duì)磁道0的DDS段#0的內(nèi)容進(jìn)行說明,字節(jié)編號(hào)0和1前面的2字節(jié)是其內(nèi)容表示DDS段的ID(識(shí)別P),在該2字節(jié)上記錄“OABCD的16進(jìn)表示”。字節(jié)編號(hào)2與2047等是備用(未定義),記錄“00”。在號(hào)碼3字節(jié)上記錄是否進(jìn)行磁盤保證,在已結(jié)束時(shí)記錄“01”,在還未進(jìn)行時(shí)記錄“02”。因而,在下述的磁盤保證操作(初始化操作)結(jié)束時(shí)刻,DDS段#0的3號(hào)字節(jié)的記錄數(shù)據(jù)從“02”改寫為“01”。
在用字節(jié)編號(hào)P、P+1……P+Q表示的區(qū)域上,配備文件分配表FAT,用以相對(duì)應(yīng)地記錄從主機(jī)51接收的在壓縮前的1邏輯存貯塊數(shù)據(jù)的邏輯段地址,和記錄在磁光盤D的用戶區(qū)UE和交替區(qū)AE的壓縮后的1物理存貯塊數(shù)據(jù)的物理段地址。向此文件分配表FAT記錄數(shù)據(jù)像上述那樣用非壓縮數(shù)據(jù)記錄。
此文件分配表FAT如圖23所示,1個(gè)記錄長成為15字節(jié),是排列有此15字節(jié)長的數(shù)據(jù)存儲(chǔ)容量的多個(gè)記錄而構(gòu)成,各記錄的內(nèi)容,其前半的6字節(jié)是表示在主機(jī)51的數(shù)據(jù)管理信息,最初的3字節(jié)是存儲(chǔ)1邏輯存貯塊數(shù)據(jù)的前頭邏輯段地址的區(qū)域(前頭邏輯段地址存儲(chǔ)區(qū))a,下面的3字節(jié)是存儲(chǔ)該1邏輯存貯塊數(shù)據(jù)最終邏輯段地址的區(qū)域(最終邏輯段地址存儲(chǔ)區(qū))b。
后半的9字節(jié)是表示在磁光盤D上的數(shù)據(jù)管理信息,最初的3字節(jié)是存儲(chǔ)1物理存貯塊數(shù)據(jù)的前頭物理段地址的區(qū)域(前頭物理段地址存儲(chǔ)區(qū))c,下面的3字節(jié)是存儲(chǔ)該1物理存貯塊數(shù)據(jù)的最終物理段地址的區(qū)域(最終物理段地址存儲(chǔ)區(qū))d,再下面的3字節(jié)是存儲(chǔ)連接地址(物理段地址)的區(qū)域(連接地址存儲(chǔ)區(qū))e。各記錄的內(nèi)容在初始狀態(tài)都為0。
在此文件分配表FAT的一個(gè)記錄上,原則上存儲(chǔ)與一邏輯存貯塊數(shù)據(jù)的邏輯段地址對(duì)應(yīng)的一物理存貯塊數(shù)據(jù)的物理段地址。即,在能用規(guī)定那樣的期望壓縮率β壓縮1邏輯存貯塊數(shù)據(jù)的情況中,1邏輯存貯塊數(shù)據(jù)的段尺寸就成為用1物理存貯塊數(shù)據(jù)的段尺寸壓縮,例如使期望壓縮率為α?xí)r,有100段的1邏輯存貯塊的數(shù)據(jù)成為50段的物理存貯塊的數(shù)據(jù)。
然而在非損失的壓縮處理技術(shù)中,不一定限制在能用上述期望壓縮率壓縮1邏輯存貯塊的數(shù)據(jù)。按照構(gòu)成1邏輯存貯塊的數(shù)據(jù)內(nèi)容,也存在成為比期望壓縮率β更低的壓縮率的情況。這時(shí),1物理存貯塊的數(shù)據(jù)長變成超過50段。因而在本實(shí)施例中,為了使超過規(guī)定段(在此例中是50段)的物理存貯塊的數(shù)據(jù)與邏輯存貯塊的數(shù)據(jù)對(duì)應(yīng),記錄超過50段部分的數(shù)據(jù)的前頭物理段地址存儲(chǔ)在連接地址存儲(chǔ)區(qū)e作為連接地址。
與此連接地址存儲(chǔ)的同時(shí),該連接地址存儲(chǔ)在上述記錄的下一個(gè)記錄的前頭物理段地址存儲(chǔ)區(qū)c,記錄超過此50段的數(shù)據(jù)的物理存貯塊的最終物理段地址存儲(chǔ)在最終物理段地址存儲(chǔ)區(qū)d。這時(shí),在該記錄的前頭邏輯段地址存儲(chǔ)區(qū)a和最終邏輯段地址存儲(chǔ)區(qū)b上分別存放“0”。
由此,在與和1邏輯字組對(duì)應(yīng)的多個(gè)物理塊的最終字組對(duì)應(yīng)的記錄的連接地址存儲(chǔ)區(qū)e上存儲(chǔ)“FFFF00”或“FFFF01”。
這里作為具體例子,以在數(shù)據(jù)壓縮電路178的期望壓縮率β為2、1邏輯存貯塊的數(shù)據(jù)長為100段、1物理存貯塊的數(shù)據(jù)長為50段的情況為例,將在下面說明此第三實(shí)施例的數(shù)據(jù)處理裝置1的工作原理。
首先,將供給數(shù)據(jù)處理裝置1的來自主機(jī)51的1邏輯存貯塊數(shù)據(jù)用數(shù)據(jù)壓縮電路178壓縮時(shí),當(dāng)用此壓縮得到的壓縮數(shù)據(jù)的數(shù)據(jù)長在50段以下時(shí),該實(shí)際壓縮率ε成為2以上,就能將1邏輯存貯塊數(shù)據(jù)收存在1物理存貯塊中。
這時(shí),在文件分配表FAT的該記錄上,與前頭邏輯段地址對(duì)應(yīng),上述1物理存貯塊前頭物理段地址存儲(chǔ)在前頭物理段地址存儲(chǔ)區(qū)c上,該1物理存貯塊的最終物理段地址存儲(chǔ)在最終物理段地址存儲(chǔ)區(qū)d上,其次,表示連接地址不存在而且表示在此物理存貯塊記錄壓縮數(shù)據(jù)的信息,即“FFFF01”存儲(chǔ)在連接地址存儲(chǔ)區(qū)e(參照?qǐng)D23中記錄2的內(nèi)容)。
另一方面,在用數(shù)據(jù)壓縮電路178進(jìn)行壓縮處理得到的壓縮數(shù)據(jù)的數(shù)據(jù)長比50段更大時(shí),其實(shí)際壓縮率ε變成比期望壓縮率β=2更小,不能將1邏輯存貯塊的數(shù)據(jù)放入1物理存貯塊中,結(jié)果就要用2個(gè)物理存貯塊,即變成與1邏輯存貯塊相同的數(shù)據(jù)長。
因而,在這種情況下,記錄到磁光盤的該物理段地址上時(shí),代替記錄壓縮數(shù)據(jù),直接記錄由主機(jī)19供給的數(shù)據(jù)(非壓縮數(shù)據(jù))。
這時(shí),在文件文配表FAT的該記錄上,與前頭邏輯段地址對(duì)應(yīng),最初的1物理存貯塊的前頭物理段地址存儲(chǔ)在前頭物理段地址存儲(chǔ)區(qū)c中,該1物理存貯塊的最終物理段地址存儲(chǔ)在最終物理段地址存儲(chǔ)區(qū)d中,下一個(gè)1物理存貯塊的前頭物理段地址存儲(chǔ)在連接地址存儲(chǔ)區(qū)e中。
因此,在下一個(gè)記錄上,“0”分別存儲(chǔ)在前頭邏輯段地址存儲(chǔ)區(qū)a及最終邏輯段地址存儲(chǔ)區(qū)b中,下一個(gè)1物理存貯塊的前頭物理段地址(與連接地址相同)存儲(chǔ)在前頭物理段地址存儲(chǔ)區(qū)c中,該下一個(gè)1物理存貯塊的最終物理段地址存儲(chǔ)在最終物理段地址存儲(chǔ)區(qū)d中,其次表示連接地址不存在,而且表示在這一系列的物理存貯塊上記錄非壓縮數(shù)據(jù)的信息,即“FFFF00”存儲(chǔ)在連接地址存儲(chǔ)區(qū)e中(參照?qǐng)D23中記錄0和記錄1的內(nèi)容)。
如這樣,在用物理存貯塊單位時(shí),作為結(jié)果,與其將有與1邏輯存貯塊相同數(shù)據(jù)長的壓縮數(shù)據(jù)記錄到磁光盤D上不如記錄非壓縮數(shù)據(jù),由于以后不必進(jìn)行解壓縮處理等多余的處理,能提高在磁光盤D-數(shù)據(jù)處理裝置1-主機(jī)51的存取速度(發(fā)送速度)。
這即使在設(shè)定期望壓縮率比2更大時(shí)也一樣,作為一個(gè)例子使期待壓縮率為3的情況下,實(shí)際壓縮率為3/2以上時(shí),將壓縮數(shù)據(jù)記錄到相應(yīng)的物理段地址上,在實(shí)際壓縮率小于3/2時(shí),將非壓縮數(shù)據(jù)記錄到相應(yīng)的物理段地址上。
具體地說,實(shí)際壓縮率大于3時(shí),壓縮1邏輯存貯塊數(shù)據(jù)并收在1物理存貯塊內(nèi),實(shí)際壓縮率ε在3/2≤ε<3時(shí),由于變成壓縮1邏輯存貯塊的數(shù)據(jù)存放在2個(gè)物理存貯塊內(nèi),所以這時(shí)分別記錄壓縮數(shù)據(jù)。而且實(shí)際壓縮率ε在ε<3/2時(shí),雖然壓縮1邏輯存貯塊的數(shù)據(jù),但是由于會(huì)占有作為與1邏輯存貯塊相同數(shù)據(jù)長的3物理存貯塊,這時(shí)記錄非壓縮數(shù)據(jù)。
下面參照?qǐng)D24-圖42所示的各功能存貯塊和流程圖說明上述數(shù)據(jù)處理裝置1的上述處理操作的具體實(shí)例。
首先,在圖25所示的步驟S401中,在接通電源時(shí)進(jìn)行初始操作,例如數(shù)據(jù)處理裝置1內(nèi)的系統(tǒng)校驗(yàn)、存儲(chǔ)器校驗(yàn)和設(shè)定等。
然后,在步驟S402中,從程序ROM171讀出數(shù)據(jù)處理裝置(數(shù)據(jù)處理程序壓縮處理來自主機(jī)51的數(shù)據(jù)并供給系統(tǒng)控制器166,而且解壓縮處理來自系統(tǒng)控制器166的重放數(shù)據(jù)并發(fā)送到主機(jī)51的裝置201(參照?qǐng)D24),在操作用RAM173寫入的同時(shí),為臨時(shí)保存在此程序201的工作中生成的數(shù)據(jù),在操作用RAM173中在為進(jìn)行構(gòu)成上述程序201的各程序間的參數(shù)交操等所用的作業(yè)區(qū)域被分配。
而且在數(shù)據(jù)RAM174上分別分配存儲(chǔ)1物理存貯塊的初始化數(shù)據(jù)的初始化數(shù)據(jù)存儲(chǔ)區(qū);用以存儲(chǔ)來自系統(tǒng)控制器166的數(shù)據(jù),特別是磁光盤D的屬性數(shù)據(jù)的屬性數(shù)據(jù)存儲(chǔ)區(qū);用以存儲(chǔ)來自主機(jī)51的1邏輯存貯塊(例如100段)部分的非壓縮數(shù)據(jù)的邏輯存貯塊數(shù)據(jù)存儲(chǔ)區(qū);用以存儲(chǔ)壓縮處理1邏輯存貯塊部分的非壓縮數(shù)據(jù)后的壓縮數(shù)據(jù)的壓縮數(shù)據(jù)存儲(chǔ)區(qū);用以存儲(chǔ)來自系統(tǒng)控制器166的數(shù)據(jù),特別是來自用戶區(qū)UE(或者交替區(qū)AE)的數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)區(qū);用以存儲(chǔ)解壓縮處理后的數(shù)據(jù)的解壓縮數(shù)據(jù)存儲(chǔ)區(qū);用單純的比特串列表示物理存貯塊單位輸向磁光盤的記錄狀態(tài)的記錄狀態(tài)表占有區(qū)(下面為方便將此占有區(qū)記為記錄狀態(tài)表)。
在上述操作用RAM173讀出的數(shù)據(jù)處理程序201,如圖24所示,它包括進(jìn)行各種判斷的判斷裝置202;用以制成表示用戶區(qū)UE的記錄狀態(tài)的記錄狀態(tài)表的記錄狀態(tài)表制作裝置203;應(yīng)來自主機(jī)51的請(qǐng)求進(jìn)行處理的請(qǐng)求處理裝置204;按照來自主機(jī)51的磁盤讀出請(qǐng)求,執(zhí)行從此外部存儲(chǔ)裝置52讀出磁光盤D的請(qǐng)求的磁盤讀出請(qǐng)求裝置205;接收從系統(tǒng)控制器166通過接口電路167,由輸入口175供給的屬性數(shù)據(jù)的屬性數(shù)據(jù)讀出裝置206。
上述記錄狀態(tài)表制作裝置203包括進(jìn)行各種判斷的判斷裝置207;在構(gòu)成記錄狀態(tài)表的比特串列中,計(jì)算與從文件分配表FAT讀出的物理段地址對(duì)應(yīng)的位地址的位地址計(jì)算裝置208;在上述記錄狀態(tài)表中,將“1”置位在與用上述位地址計(jì)算裝置208求得的位地址對(duì)應(yīng)的位地址上的置位處理裝置209。
上述請(qǐng)求處理裝置204包括進(jìn)行各種判斷的判斷裝置210,和進(jìn)行與來自主機(jī)51的各種請(qǐng)求相應(yīng)的處理的各種處理裝置111。此各種處理裝置211的內(nèi)容包括對(duì)磁光盤D進(jìn)行保證處理(初始化處理)的初始化處理裝置301(參照?qǐng)D29);將存儲(chǔ)在數(shù)據(jù)RAM174上的壓縮數(shù)據(jù)存儲(chǔ)區(qū)的壓縮數(shù)據(jù)或存儲(chǔ)在邏輯存貯塊數(shù)據(jù)存儲(chǔ)區(qū)的非壓縮數(shù)據(jù)發(fā)送到系統(tǒng)控制器166的寫入處理裝置401(參照?qǐng)D32);將記錄在磁光盤D的用戶區(qū)UE(或交替區(qū)AE)的數(shù)據(jù)以物理存貯塊為單位讀出的讀出處理裝置501(參照?qǐng)D38);以邏輯存貯塊單位刪除記錄在磁光盤D的用戶區(qū)UE上的數(shù)據(jù)的刪除處理裝置601(參照?qǐng)D40)。
而且,在此數(shù)據(jù)處理程序201中,首先在圖25的步驟S403中,通過判斷裝置202,進(jìn)行是否裝有磁盤盒的判斷。這種判斷按照來自傳感器的檢測信號(hào)的輸入來進(jìn)行,所說的傳感器用以從光學(xué)上檢知磁盤盒裝在盒架上。
安裝磁盤盒,收存在其內(nèi)部的磁光盤D用主軸馬達(dá)151以例如CAV方式或CLV方式旋轉(zhuǎn)驅(qū)動(dòng)后,進(jìn)入下一程序S404,通過屬性數(shù)據(jù)讀出裝置206,向系統(tǒng)控制器166輸出屬性數(shù)據(jù)的讀出請(qǐng)求。在此讀出請(qǐng)求中包括作為參數(shù)磁光盤D的屬性數(shù)據(jù)記錄區(qū)的前頭物理段地址與讀出段尺寸。
系統(tǒng)控制器166,按照來自數(shù)據(jù)處理裝置1中的屬性數(shù)據(jù)讀出裝置206的屬性數(shù)據(jù)讀出請(qǐng)求的輸入,驅(qū)動(dòng)并控制光拾波器用滑動(dòng)機(jī)構(gòu)155,將光拾波器152傳送到與磁道0對(duì)應(yīng)的位置。在此處,光拾波器152對(duì)磁道0的記錄層照射有重放用的輸出的激光L,光學(xué)地重放記錄在屬性數(shù)據(jù)記錄區(qū)的屬性數(shù)據(jù),并作為重放信號(hào)輸出。來自光拾波器152的重放信號(hào)用解調(diào)電路164變換為重放數(shù)據(jù)供給系統(tǒng)控制器166。供給系統(tǒng)控制166的重放信號(hào)原樣通過接口電路167供給數(shù)據(jù)處理裝置1。
供給數(shù)據(jù)處理裝置1的上述重放數(shù)據(jù)通過輸入口175和屬性數(shù)據(jù)讀出裝置206存儲(chǔ)到數(shù)據(jù)RAM174的屬性數(shù)據(jù)存儲(chǔ)區(qū)。通過此一系列的操作,屬性數(shù)據(jù)的讀出處理就結(jié)束了。
下面在步驟S405中,通過判斷裝置202,進(jìn)行在上述讀出處理中,是否發(fā)生了錯(cuò)誤的判斷。產(chǎn)生錯(cuò)誤時(shí),重新回到步驟S404,這次進(jìn)行記錄在磁道1的屬性數(shù)據(jù)記錄區(qū)(DDS段#1、PDL段#1和SDL段#1)的屬性數(shù)據(jù)的讀出請(qǐng)求。
由此,即使在來自此磁道1的屬性數(shù)據(jù)記錄區(qū)的屬性數(shù)據(jù)的讀出處理中發(fā)生錯(cuò)誤時(shí),也進(jìn)行記錄在磁道9997的屬性數(shù)據(jù)記錄區(qū)(DDS段#2、PDL段#2和SDL段#2)的屬性數(shù)據(jù)的讀出請(qǐng)求。
即使在此讀出處理中發(fā)生錯(cuò)誤時(shí),也實(shí)施記錄在磁道9998的屬性數(shù)據(jù)記錄區(qū)(DDS段#3、PDL段#3、和SDL段#3)的屬性數(shù)據(jù)的讀出請(qǐng)求。
在對(duì)全部的屬性數(shù)據(jù)記錄區(qū)的讀出處理中發(fā)生錯(cuò)誤時(shí),磁盤不可使用,將向操作者傳達(dá)該情況的信息發(fā)送到主機(jī)51,在例如與此主機(jī)51連接的CRT、液晶顯示器裝置等顯示裝置上顯示表明“磁盤不可使用”的信息,將現(xiàn)在裝著磁光盤不能使用這一信息通知操作者。
對(duì)全部屬性數(shù)據(jù)記錄區(qū)的讀出處理都成為錯(cuò)誤的情況是很罕見的,通常借助對(duì)最初的磁道0的屬性數(shù)據(jù)記錄區(qū)的讀出處理來讀出屬性數(shù)據(jù)。
下面在步驟S406中,通過判斷裝置202,判斷現(xiàn)在裝著的磁光盤D是否結(jié)束初始化。這種判斷以在存儲(chǔ)在屬性數(shù)據(jù)存儲(chǔ)區(qū)的屬性數(shù)據(jù)中的第三字節(jié)的數(shù)據(jù)是“01”或“02”進(jìn)行。如在該數(shù)據(jù)為“01”初始化結(jié)束,就進(jìn)入下一步驟S407,進(jìn)入記錄狀態(tài)表制作裝置203的記錄狀態(tài)表制作子程序。
此子程序如圖26所示,首先在步驟S501中,將變址寄存器i初始化。即將初始值“0”存儲(chǔ)到變址寄存器i。
下面在步驟S502中,選擇存儲(chǔ)在屬性數(shù)據(jù)存儲(chǔ)區(qū)的屬性數(shù)據(jù)中的,與文件分配表FAT的變址寄存器i的值對(duì)應(yīng)的記錄。
下面在步驟S503中,通過判斷裝置207判斷該記錄有效還是無效。這種判斷是通過前頭物理段地址及最終物理段地址是否分別存儲(chǔ)在上述已選擇的記錄的前頭段地址存儲(chǔ)區(qū)C和最終物理段地址存儲(chǔ)區(qū)d來進(jìn)行。前頭和最終物理段地址分別存儲(chǔ)在前頭和最終物理段地址存儲(chǔ)區(qū)c和d,當(dāng)判斷該記錄有效時(shí),推進(jìn)到下一步驟S504,通過位地址計(jì)算裝置208,計(jì)算物理段地址是否與構(gòu)成記錄狀態(tài)表的比特序列中的哪個(gè)位地址b對(duì)應(yīng)。此位地址b的計(jì)算,在S、I物理存貯塊的段數(shù)為m時(shí)可用b=s/m得到物理段地址。
下面在步驟S505中,通過位設(shè)定處理裝置209,在構(gòu)成記錄狀態(tài)表的比特串列中,將“1”置位到與用上述位地址計(jì)算裝置208得到的位地址b對(duì)應(yīng)的位地址。即進(jìn)行置位處理。
下面在步驟S506中,變址寄存器i的內(nèi)容加1。在上述步驟S503中,在上述已選擇的記錄的前頭及最終物理段地址存儲(chǔ)區(qū)c和d都不存在前頭和最終物理段地址(例如都成為“0”),當(dāng)判斷該記錄無效時(shí),直接進(jìn)到步驟S506,變址寄存器i的內(nèi)容加1。
下面在步驟S507中,通過判斷裝置207,判斷檢索是否結(jié)束。這種判斷是以變址寄存器i的值是否與文件分配表FAT的最終記錄數(shù)N相同來進(jìn)行。變址寄存器i的值,當(dāng)小于最終記錄數(shù)N時(shí),重新回到步驟S502,選擇文件分配表FAT的下一個(gè)記錄。
由此,在變址寄存器i的值成為最終記錄數(shù)N以上時(shí),此記錄狀態(tài)表制作子程序結(jié)束。在此子程序結(jié)束了的階段,與記錄在記錄狀態(tài)表中的文件分配表FAT上的物理磁道的物理段地址對(duì)應(yīng)的位,全都置位到“1”。在構(gòu)成記錄狀態(tài)表的比特串列中,表示在與成為“0”的位對(duì)應(yīng)的物理段地址上未記錄壓縮數(shù)據(jù)或非壓縮數(shù)據(jù)。
按照例如圖23的文件分配表FAT的具體內(nèi)容說明上述記錄狀態(tài)表制作子程序的處理操作后,文件分配表的第0記錄、第一記錄和第二記錄的各物理段地址分別成為2000,2050和5000,在此例中,由于1物理存貯塊的段數(shù)例如為50段,與上述各物理段地址對(duì)應(yīng)的位地址分別成為第40位、第41位和第100位。結(jié)果如圖27所示,在構(gòu)成記錄狀態(tài)表的比特串列中,分別將“1”置位到第40位、第41位和第50位。
回到圖25的主程序,在上述步驟S406中,現(xiàn)在裝著的磁光盤D初始化未結(jié)束時(shí),進(jìn)到步驟S408,向主機(jī)51發(fā)送要進(jìn)行初始化的信息數(shù)據(jù)。由此,在與主機(jī)51連接的顯示裝置上顯示表示“請(qǐng)進(jìn)行初始化”的信息,將現(xiàn)在裝著的磁光盤D初始化未結(jié)束的信息通知操作者。這時(shí)不制作記錄狀態(tài)表。
下面在步驟S409中,等待來自主機(jī)51的請(qǐng)求。有來自主機(jī)51的請(qǐng)求時(shí),進(jìn)到下一步驟S410,進(jìn)入請(qǐng)求處理裝置204的請(qǐng)求處理子程序。
此子程序,如圖28所示,首先在步驟S601中,通過判斷裝置210,判斷是否有初始化請(qǐng)求。如來自主機(jī)51的請(qǐng)求是初始化請(qǐng)求,進(jìn)到下一步驟S602,進(jìn)入圖29所示的初始化處理裝置301(初始化處理子程序)。
在此,此初始化處理裝置201,如圖29所示,包括進(jìn)行各種判斷的判斷裝置302;為了用交替區(qū)AE的段取代用戶區(qū)UE的讀出錯(cuò)誤對(duì)象的段,在屬性數(shù)據(jù)中的PLD段#0上制成段地址對(duì)照表的PDL數(shù)據(jù)制作裝置303;制作用以將從數(shù)據(jù)ROM172讀出的初始化數(shù)據(jù)以物理存貯塊為單位記錄到磁光盤D上的請(qǐng)求數(shù)據(jù)的寫入請(qǐng)求數(shù)據(jù)制作裝置304;將用此寫入請(qǐng)求數(shù)據(jù)制作裝置304制成的寫入請(qǐng)求數(shù)據(jù)輸出到系統(tǒng)控制器166的寫入請(qǐng)求裝置305;制作用以將記錄在磁光盤D上的初始化數(shù)據(jù)以物理段為單位讀出的請(qǐng)求數(shù)據(jù)的讀出請(qǐng)求數(shù)據(jù)制作裝置306;將用此讀出請(qǐng)求數(shù)據(jù)制作裝置306制成的讀出請(qǐng)求數(shù)據(jù)輸出到系統(tǒng)控制器166的讀出請(qǐng)求裝置307;對(duì)系統(tǒng)控制器166實(shí)施用以將已制作更新的屬性數(shù)據(jù)記錄到磁道0、1、9997、9998的屬性數(shù)據(jù)記錄區(qū)的請(qǐng)求的屬性數(shù)據(jù)寫入裝置308。此屬性數(shù)據(jù)寫入裝置308如下所述,除了此初始化處理裝置301外,還有寫入處理裝置401和刪除處理裝置601。
而且,此初始化處理裝置,即初始化處理子程序,如圖30所示,首先在步驟S701中,從數(shù)據(jù)ROM172讀出1物理存貯塊的初始化數(shù)據(jù)(非壓縮數(shù)據(jù)),在下一步驟S702中,將上述已讀出的初始化數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)RAM174的初始化數(shù)據(jù)存儲(chǔ)區(qū)。
下面在步驟S703中,將變址寄存器i和K初始化。即將初值“0”存儲(chǔ)到變址寄存器i和k。
下面在步驟S704中,通過寫入請(qǐng)求數(shù)據(jù)判斷裝置304,制成用以將初始化數(shù)據(jù)記錄到磁光盤D上的寫入請(qǐng)求數(shù)據(jù)。具體地說,在記錄表示寫入請(qǐng)求的識(shí)別代碼、寫入前頭段地址和寫數(shù)據(jù)長的段上,附加寫入數(shù)據(jù)(初始化數(shù)據(jù)),制成寫入請(qǐng)求數(shù)據(jù)。
這時(shí),作為寫入前頭段地址來記錄絕對(duì)段地址。即,將用戶區(qū)的前頭段數(shù)(3磁道×磁道內(nèi)的段數(shù)(25)=75段)加到將變址寄存器i的值與1物理存貯塊的段數(shù)m相乘所得的值而得到的絕對(duì)段地址記錄在首標(biāo)上作為寫入前頭段地址,進(jìn)而將1物理存貯塊的段數(shù)m記錄在首標(biāo)上作為寫入數(shù)據(jù)長。
下面在步驟S705中,通過寫入請(qǐng)求裝置305,將上述寫入請(qǐng)求數(shù)據(jù)經(jīng)接口電路167發(fā)送到系統(tǒng)控制器166。
系統(tǒng)控制器166按照來自數(shù)據(jù)處理裝置1的寫入請(qǐng)求數(shù)據(jù)的輸入,從該寫入請(qǐng)求數(shù)據(jù)的首標(biāo)取出寫入前頭段地址之后,控制驅(qū)動(dòng)光拾波器用的滑動(dòng)機(jī)構(gòu)155并將光拾波器152搬送到與上述絕對(duì)段地址對(duì)應(yīng)的磁道位置。
然后,系統(tǒng)控制器166將所供給的寫入數(shù)據(jù)(初始化數(shù)據(jù))輸出到調(diào)制電路161。調(diào)制電路161將錯(cuò)誤校驗(yàn)碼附加到所供給的寫入數(shù)據(jù)后,變換成雙值化信號(hào)并供給磁場發(fā)生裝置驅(qū)動(dòng)電路162。由此磁場發(fā)生裝置驅(qū)動(dòng)電路162與所供給的二值信號(hào)對(duì)應(yīng),將勵(lì)磁電流轉(zhuǎn)換為正方向或負(fù)方向,從記錄用磁場發(fā)生裝置153產(chǎn)生與二值信號(hào)對(duì)應(yīng)的正方向或負(fù)方向的外部磁場。這時(shí),光拾波器152在檢出該上述前頭地址的階段由該光拾波器152照射有記錄用輸出的激光L,通過使該被照射處的磁化方向沿外部磁場方向,從該前頭地址記錄與1物理存貯塊相當(dāng)?shù)亩尾糠帧⒊跏蓟瘮?shù)據(jù)作為磁化信息。
下面在步驟S706中,將變址寄存器j初始化。即,將初值“0”存儲(chǔ)到變址寄存器j。
下面在步驟S707中,通過讀出請(qǐng)求數(shù)據(jù)制作裝置306,制成用以以段單位讀出在上述步驟S705中記錄在磁光盤D上的初始化數(shù)據(jù)的讀出請(qǐng)求數(shù)據(jù)。具體地說,制成記錄了表示讀出請(qǐng)求的識(shí)別代碼、讀出前頭段地址和讀出數(shù)據(jù)長的讀出請(qǐng)求數(shù)據(jù)。這時(shí),記錄絕對(duì)段地址作為讀出先頭段地址。即,將使用區(qū)的前頭段數(shù)(3磁道×磁道內(nèi)的段數(shù)(25)=75段)加到變址寄存器j的值得到的絕對(duì)段地址作為前頭段地址記錄,進(jìn)而記錄1物理存貯塊作為讀出數(shù)據(jù)長。
下面在步驟708中,通過讀出請(qǐng)求裝置307,將上述讀出請(qǐng)求數(shù)據(jù)經(jīng)接口電路167發(fā)送到系統(tǒng)控制器166。
系統(tǒng)控制器166按照來自數(shù)據(jù)處理裝置1的讀出請(qǐng)求數(shù)據(jù)的輸入,從該讀出請(qǐng)求數(shù)據(jù)取出讀出前頭段地址之后,控制驅(qū)動(dòng)光拾波器用的滑動(dòng)機(jī)構(gòu)155,將光拾波器152搬送到與上述絕對(duì)段地址對(duì)應(yīng)的磁道位置。
然后,光拾波器152在檢測該上述前頭段地址階段,由光拾波器152照射有重放用輸出的激光L,光學(xué)地重放記錄在該段上的初始化數(shù)據(jù)并作為重放信號(hào)輸出。來自光拾波器152的重放信號(hào),用解調(diào)電路164變換成重放數(shù)據(jù)并供給系統(tǒng)控制器166。供給系統(tǒng)控制器166的重放數(shù)據(jù)原樣通過接口電路167供給數(shù)據(jù)處理裝置1。
這時(shí),因任何原因而未進(jìn)行用上述光拾波器152的讀出時(shí),由系統(tǒng)控制器166將讀出錯(cuò)誤信號(hào)輸出到數(shù)據(jù)處理裝置1以代替重放數(shù)據(jù)。
下面在步驟S309中,通過判斷裝置302,進(jìn)行是否輸入讀出錯(cuò)誤信號(hào)的判斷。當(dāng)輸入了讀出錯(cuò)誤信號(hào)時(shí),就推進(jìn)到下一步驟S710,通過PDL數(shù)據(jù)制作裝置303,制成PDL數(shù)據(jù)。
此PDL數(shù)據(jù)是在存儲(chǔ)在屬性數(shù)據(jù)存儲(chǔ)區(qū)的屬性數(shù)據(jù)中應(yīng)存儲(chǔ)在PDL段#0的數(shù)據(jù)。即,PDL段#0是用以存儲(chǔ)用戶區(qū)UE的錯(cuò)誤段(缺陷段)信息的區(qū)域,在此例中存儲(chǔ)對(duì)照表,所說的對(duì)照表存儲(chǔ)成為在用戶區(qū)UE的讀出錯(cuò)誤對(duì)象的物理段地址和使應(yīng)記錄在此物理段地址上的數(shù)據(jù)退避(記錄)到交替區(qū)時(shí)的該交替區(qū)的物理段地址。
具體地說,此對(duì)照表由排列多個(gè)有6字節(jié)的數(shù)據(jù)存儲(chǔ)容量的記錄構(gòu)成,各記錄在前頭3字節(jié)存儲(chǔ)成為在用戶區(qū)的讀出錯(cuò)誤對(duì)象的物理段地址,在下面的三字節(jié)存儲(chǔ)交替區(qū)的物理段地址。
而且在此步驟S710中,在與上述對(duì)照表中的變址寄存器K的值對(duì)應(yīng)的記錄中,存儲(chǔ)成為讀出錯(cuò)誤的用戶區(qū)UE的物理地址(=變址寄存器j的值×1物理存貯塊的段數(shù)據(jù)m),和替換區(qū)的物理段地址(=變址寄存器K的值)。
下面在步驟711中,使指標(biāo)寄存器K的值加1。并且在下一步驟712中,使變址寄存器j的值加1。
下面在步驟713中,通過判斷裝置302,進(jìn)行對(duì)本次所記錄的1物理存貯塊的初始化數(shù)據(jù)的段單位的讀出是否結(jié)束的判斷。這種判斷是以變址寄存器j的值是否在1物理存貯塊的段數(shù)m以上來進(jìn)行。變址寄存器j的值小于上述段數(shù)m時(shí),回到上述步驟S707,讀出下一段的初始化數(shù)據(jù)。
本次所記錄的1物理字節(jié)部分的初始化數(shù)據(jù)的讀出全部完了時(shí),推進(jìn)到下一步驟S714,通過判斷裝置302,進(jìn)行初始化數(shù)據(jù)是否記錄在用戶區(qū)UE的全部段上的判斷。這種判斷是以變址寄存器i的值是否在用戶區(qū)UE的物理存貯塊的數(shù)M以上來進(jìn)行。變址寄存器i的值小于物理存貯塊數(shù)M時(shí),回到上述步驟S704,對(duì)下一個(gè)物理存貯塊記錄初始化數(shù)據(jù),進(jìn)而進(jìn)行該初始化數(shù)據(jù)的段單位的讀出。
上述變址寄存器i的值大于上述物理存貯塊數(shù)M時(shí),推進(jìn)到下一步驟S715,在存儲(chǔ)在屬性數(shù)據(jù)存儲(chǔ)區(qū)的屬性數(shù)據(jù)中,將DDS段#0的第3字節(jié)的數(shù)據(jù)(“02”)改寫為表示保證結(jié)束的1字節(jié)數(shù)據(jù),即“01”。
下面在步驟S716中,進(jìn)入屬性數(shù)據(jù)寫入處理裝置308的屬性數(shù)據(jù)寫入處理子程序。此子程序如圖31所示,首先在步驟S801中制成用以將存儲(chǔ)在屬性數(shù)據(jù)存儲(chǔ)區(qū)的屬性數(shù)據(jù)寫入磁光盤D的磁道0的段0-段2中的寫入請(qǐng)求數(shù)據(jù)。具體地說,將3段的屬性數(shù)據(jù)附加到記錄有表示寫入請(qǐng)求的識(shí)別代碼、寫入前頭段地址和寫入數(shù)據(jù)長的首標(biāo)中,制成寫入請(qǐng)求數(shù)據(jù)。這時(shí),在首標(biāo)上記錄0作為寫入前頭段地址,進(jìn)而在首標(biāo)上登記段數(shù)=3作為寫入數(shù)據(jù)長。
下面在步驟S802中,將上述寫入請(qǐng)求數(shù)據(jù)通過接口電路167發(fā)送到系統(tǒng)控制器166。
系統(tǒng)控制器166按照來自數(shù)據(jù)處理裝置1的寫入請(qǐng)求,控制伺服控制器165和各種機(jī)構(gòu),通過記錄用磁場發(fā)生裝置153,將數(shù)據(jù)記錄到磁光盤D的磁道0的段0-段2上。
下面在步驟S803中,制成用以將存儲(chǔ)在屬性數(shù)據(jù)存儲(chǔ)區(qū)的屬性數(shù)據(jù)寫入在磁光盤D的磁道1中的段12-段14上的寫入請(qǐng)求數(shù)據(jù)。具體地說,作為寫入前頭段地址將12,作為寫入數(shù)據(jù)長將段數(shù)=3分別記錄到首標(biāo)上,進(jìn)而附加段部分的屬性數(shù)據(jù)制成寫入請(qǐng)求數(shù)據(jù)。
下面在步驟S804中,將上述寫入請(qǐng)求數(shù)據(jù)通過接口電路167發(fā)送到系統(tǒng)控制器166。
系統(tǒng)控制器166,按照來自數(shù)據(jù)處理裝置1的寫入請(qǐng)求,控制伺服控制器165和各種機(jī)構(gòu),通過記錄用磁場發(fā)生裝置153,將屬性數(shù)據(jù)記錄到磁光盤D的磁道1的段12-段14上。
下面在步驟S805中,制成用以將存儲(chǔ)在屬性數(shù)據(jù)存儲(chǔ)區(qū)的屬性數(shù)據(jù)寫入磁光盤D的磁道9997的段0-段2的寫入請(qǐng)求數(shù)據(jù)。具體地說,作為寫入前頭段地址將9997×25=249925作為寫入數(shù)據(jù)長將段數(shù)=3分別記錄在首標(biāo),進(jìn)而附加3段的屬性數(shù)據(jù)制成寫入請(qǐng)求數(shù)據(jù)。
下面在步驟S806中,將上述寫入請(qǐng)求數(shù)據(jù)通過接口電路167傳送到系統(tǒng)控制器166。
系統(tǒng)控制器166按照來自數(shù)據(jù)處理裝置1的寫入請(qǐng)求,控制伺服控制器165和各種機(jī)構(gòu),通過記錄用磁場發(fā)生裝置153將屬性數(shù)據(jù)記錄到磁光盤D的磁道9997的段0-段2上。
下面在步驟S807中,制成用以將存儲(chǔ)在屬性數(shù)據(jù)存儲(chǔ)區(qū)的屬性數(shù)據(jù)寫入磁光盤D的磁道9998的段12-段14上的寫入請(qǐng)求數(shù)據(jù)。具體地說,作為寫入前頭段地址將9998×25+12=249962,作為寫入數(shù)據(jù)長將段數(shù)=3分別記錄在首標(biāo)上,進(jìn)而附加3段部分的屬性數(shù)據(jù)制成寫入請(qǐng)求數(shù)據(jù)。
下面在步驟S808中,將上述寫入請(qǐng)求數(shù)據(jù)通過接口電路167發(fā)送到系統(tǒng)控制器166。
系統(tǒng)控制器166按照來自數(shù)據(jù)處理裝置1的寫入請(qǐng)求,控制伺服控制器165和各種機(jī)構(gòu),通過記錄用磁場發(fā)生裝置153,將屬性數(shù)據(jù)記錄到磁光盤D的磁道9998的段12-段14中。
在此時(shí),上述屬性數(shù)據(jù)寫入處理子程序結(jié)束,進(jìn)而該主程序的初始化處理子程序也結(jié)束。
下面在圖28所示的請(qǐng)求處理子程序的步驟S601中,判斷無初始化請(qǐng)求時(shí),推進(jìn)到步驟S603,通過判斷裝置210,本次判斷是否是寫入請(qǐng)求。
在來自主機(jī)51的請(qǐng)求是寫入請(qǐng)求時(shí),推進(jìn)到下一步驟S604,進(jìn)入寫入處理裝置401的寫入處理子程序。
這里,上述寫入處理裝置401如圖32所示,除了上述屬性數(shù)據(jù)寫入裝置308外,還包括進(jìn)行各種判斷的判斷裝置402;制作更新文件分配表FAT的FAT制作裝置403;對(duì)系統(tǒng)控制器166實(shí)行用以將壓縮數(shù)據(jù)或非壓縮數(shù)據(jù)記錄到磁光盤D的用戶區(qū)UE的相對(duì)應(yīng)的物理存貯塊上的請(qǐng)求的數(shù)據(jù)輸出裝置404;通過接口電路168從主機(jī)51接收由輸入口175供給的寫入請(qǐng)求數(shù)據(jù)并存儲(chǔ)到數(shù)據(jù)RAM174的預(yù)定存儲(chǔ)區(qū)的數(shù)據(jù)接收裝置405;讀出由數(shù)據(jù)壓縮電路178輸出的壓縮數(shù)據(jù)并存儲(chǔ)到數(shù)據(jù)RAM174的壓縮數(shù)據(jù)存儲(chǔ)區(qū)的壓縮數(shù)據(jù)存儲(chǔ)裝置406;按照壓縮前數(shù)據(jù)的數(shù)據(jù)長和壓縮數(shù)據(jù)的數(shù)據(jù)長計(jì)算實(shí)際壓縮率的壓縮率計(jì)算裝置407。
上述FAT制作裝置303包括將與邏輯段地址對(duì)應(yīng)的物理段地址等地址信息存儲(chǔ)到已存儲(chǔ)于屬性數(shù)據(jù)存儲(chǔ)區(qū)中的文件分配表FAT的相當(dāng)?shù)挠涗浿械牡刂反鎯?chǔ)處理裝置408;以1物理存貯塊單位隨機(jī)記錄壓縮數(shù)據(jù)或非壓縮數(shù)據(jù),檢索該記錄狀態(tài)表上的位信息的隨機(jī)個(gè)別記錄用檢索裝置409;將2以上的連續(xù)壓縮數(shù)據(jù)或非壓縮數(shù)據(jù)記錄在連續(xù)的物理段地址上,檢索此狀態(tài)記錄表上的位信息的隨機(jī)連續(xù)記錄用檢索裝置410;在無記錄壓縮數(shù)據(jù)或非壓縮數(shù)據(jù)的區(qū)時(shí)進(jìn)行錯(cuò)誤處理的錯(cuò)誤處理裝置411。
數(shù)據(jù)輸出裝置404包括制作用以以物理存貯塊單位將壓縮數(shù)據(jù)或非壓縮數(shù)據(jù)記錄到磁光盤D上的請(qǐng)求數(shù)據(jù)的寫入請(qǐng)求數(shù)據(jù)制作裝置412;將用此寫入請(qǐng)求數(shù)據(jù)制作裝置412制成的寫入請(qǐng)求數(shù)據(jù)輸出到系統(tǒng)控制器166的寫入請(qǐng)求裝置413。
并且,此寫入處理裝置401,即寫入處理子程序,如圖33所示,首先在步驟S901中,通過判斷裝置402,判斷裝在此外部存儲(chǔ)裝置52中的磁光盤D是否結(jié)束初始化。這種判斷是以存儲(chǔ)在屬性數(shù)據(jù)存儲(chǔ)區(qū)的屬性數(shù)據(jù)的第3字節(jié)的1字節(jié)數(shù)據(jù)是否是“01”來進(jìn)行。
上述1字節(jié)數(shù)據(jù)為“01”,表示初始化結(jié)束時(shí),推進(jìn)到下一步驟S902,通過數(shù)據(jù)接收裝置405,接收從主機(jī)51通過輸入口175供給的寫入請(qǐng)求數(shù)據(jù)。此寫入請(qǐng)求數(shù)據(jù)成為在包括表示寫入請(qǐng)求的識(shí)別代碼、寫入前頭段地址(前頭邏輯段地址)、寫入數(shù)據(jù)長(在此例是100段)的首標(biāo)上附加1邏輯存貯塊(100段)的寫入用數(shù)據(jù)的內(nèi)容。
下面在步驟S903中,將上述接收的寫入請(qǐng)求數(shù)據(jù)存儲(chǔ)到分配在數(shù)據(jù)RAM174上的邏輯存貯塊數(shù)據(jù)存儲(chǔ)區(qū),進(jìn)而將與在首標(biāo)中所包括的寫入用數(shù)據(jù)的數(shù)據(jù)長有關(guān)的數(shù)據(jù)存儲(chǔ)到第三寄存器R3。
下面在步驟S904中,在存儲(chǔ)在上述邏輯存貯塊數(shù)據(jù)存儲(chǔ)區(qū)的寫入請(qǐng)求數(shù)據(jù)中,將1邏輯存貯塊(100段)的寫入用數(shù)據(jù)輸出到數(shù)據(jù)壓縮電路178。數(shù)據(jù)壓縮電路178對(duì)已輸入的寫入用數(shù)據(jù),使用緩沖存儲(chǔ)器177進(jìn)行非損失的數(shù)據(jù)壓縮處理(步驟S905)。
下面在步驟S906中,通過數(shù)據(jù)壓縮存儲(chǔ)裝置406,讀出從上述數(shù)據(jù)壓縮電路178輸出的壓縮數(shù)據(jù)并存儲(chǔ)到數(shù)據(jù)RAM174的壓縮數(shù)據(jù)存儲(chǔ)區(qū)。這時(shí)計(jì)數(shù)從壓縮數(shù)據(jù)的前頭到壓縮數(shù)據(jù)的末尾的字節(jié)數(shù),將其計(jì)算結(jié)果存儲(chǔ)到第四寄存器R4作為壓縮數(shù)據(jù)的數(shù)據(jù)長。
下面在步驟S907中,通過壓縮率計(jì)算裝置407,按照寫入用數(shù)據(jù)的數(shù)據(jù)長和壓縮數(shù)據(jù)的數(shù)據(jù)長計(jì)算實(shí)際壓縮率ε。這種計(jì)算是通過用存儲(chǔ)在第四寄存器R4上的壓縮數(shù)據(jù)的數(shù)據(jù)長除以存儲(chǔ)在第三寄存器R3上的寫入用數(shù)據(jù)的數(shù)據(jù)長來進(jìn)行,此除法值存儲(chǔ)到第五寄存器R5作為實(shí)際壓縮率。
下面在步驟S908中,通過判斷裝置402,判斷這次是原樣使用由主機(jī)51發(fā)送的數(shù)據(jù)還是使用壓縮數(shù)據(jù)。這種判斷是按存儲(chǔ)在第五寄存器R5上的實(shí)際壓縮率ε是否滿足0<ε<β/(β-1)(β為期望壓縮率)來進(jìn)行。這是因?yàn)楫?dāng)實(shí)際壓縮率ε滿足0<ε<β/(β-1)時(shí),由壓縮數(shù)據(jù)的數(shù)據(jù)長,特別是由物理存貯塊的數(shù)據(jù)決定的數(shù)據(jù)長實(shí)質(zhì)上與由1邏輯存貯塊決定的數(shù)據(jù)長相同或者在其以上。這時(shí)由以下的步驟可知,變成將來自主機(jī)51的寫入用數(shù)據(jù)(非壓縮數(shù)據(jù))記錄到磁光盤D上來代替壓縮數(shù)據(jù)。
而且,在上述步驟S908中,判斷實(shí)際壓縮率ε滿足0<ε<β/(β-1)時(shí),推進(jìn)到下一步驟S909,制作非壓縮處理用的參數(shù)。具體地說,將表示非壓縮處理的“0”存儲(chǔ)到第一寄存器R1,將期望壓縮率ε存儲(chǔ)到第二寄存器R2。
另一方面,在上述步驟S908中,判斷實(shí)際壓縮率ε大于β/(β-1)時(shí),推進(jìn)到下一步驟S910,制成壓縮處理用的參數(shù)。具體地說,將表示壓縮處理的“1”存儲(chǔ)到第一寄存器R1,將用實(shí)際壓縮率ε去除期待壓縮率β所得到的值(β/ε)存儲(chǔ)到第二寄存器R2。
下面在步驟S911中,進(jìn)入FAT制作裝置403的FAT制作子程序。此子程序如圖34所示,首先在步驟SA01中,在數(shù)據(jù)RAM174上確保用以制作本次的文件分配表的表數(shù)據(jù)存儲(chǔ)區(qū)。
下面在步驟SA02中,分別使變址寄存器j和P初始化。即,分別將初值“0”存儲(chǔ)到變址寄存器j和P。
下面在步驟SA03中,進(jìn)入隨機(jī)連續(xù)記錄用檢索裝置410的隨機(jī)連續(xù)記錄用檢索程序。此程序,首先在該步驟SA03中,以在記錄狀態(tài)表中的變址寄存器j的值為前頭位,取出用第二寄存器R2內(nèi)的值表示的比特串列數(shù)據(jù)(以下記為比特串列數(shù)據(jù))。
下面在步驟SA04中,判斷上述比特串列數(shù)據(jù)的內(nèi)容是否是0。在此,當(dāng)位串?dāng)?shù)據(jù)的內(nèi)容是0時(shí),即,不存在用以記錄已壓縮來自主機(jī)51的邏輯存貯塊的數(shù)據(jù)的數(shù)據(jù)或就這樣未壓縮的寫入用數(shù)據(jù)的區(qū)域時(shí),推進(jìn)到下一步驟SA05,這次進(jìn)入隨機(jī)個(gè)別記錄用檢索裝置409的隨機(jī)個(gè)別記錄用檢索程序。此程序在該步驟SA05中,判斷該比特串列第0位是否是0。
如上述比特串列數(shù)據(jù)的第0位是0時(shí),成為與判斷在與該比特序列數(shù)據(jù)的第0位對(duì)應(yīng)的物理段地址上能記錄1物理存貯塊部分的數(shù)據(jù)等效,將現(xiàn)在的檢索位地址即變址寄存器j的值存儲(chǔ)到與確保在數(shù)據(jù)RAM174的規(guī)定區(qū)域的位地址存儲(chǔ)區(qū)的變址寄存器P的值對(duì)應(yīng)的記錄中。
下面在步驟SA07中,將變址寄存器P的值加1,在下一步驟SA08中,將變址寄存器j的值加1。
另一方面在上述步驟SA05中,當(dāng)比特串列數(shù)據(jù)的第“0”位是“1”時(shí),不向位地址存儲(chǔ)區(qū)進(jìn)行檢索位地址的存儲(chǔ),直接進(jìn)入步驟SA08,使變址寄存器j的值加1。
下面在步驟SA09中,通過判斷裝置402判斷檢索是否結(jié)束。這種判斷是按變址寄存器j的值,從檢索對(duì)象最終位數(shù)即第二寄存器R2內(nèi)的值減去1的值,是否是從記錄狀態(tài)表的最終位數(shù)扣除3的值來進(jìn)行。
當(dāng)變址寄存器j的值小于檢索對(duì)象最終位數(shù)B時(shí),回到上述步驟SA03,進(jìn)行該步驟SA03以后的處理,即對(duì)下一比特串列數(shù)據(jù)的判斷處理。
而且,一邊每次更新1位一邊對(duì)有一定比特串列的比特串列數(shù)據(jù)進(jìn)行判斷處理的結(jié)果,當(dāng)不檢索內(nèi)容為0的比特串列數(shù)據(jù)時(shí),進(jìn)入圖35的步驟SA10。
在此步驟SA10中,判斷存儲(chǔ)在位地址存儲(chǔ)區(qū)的地址是否以記錄本次壓縮數(shù)據(jù)或非壓縮數(shù)據(jù)所必須的物理存貯塊存儲(chǔ)。這種判斷以變址寄存器P的值是否大于第二寄存器R2內(nèi)的值來進(jìn)行。
變址寄存器的值大于第二寄存器R2內(nèi)的值時(shí),存儲(chǔ)在位地址存儲(chǔ)區(qū)的位地址規(guī)定以記錄本次壓縮數(shù)據(jù)或非壓縮數(shù)據(jù)所必須的物理存貯塊存儲(chǔ),進(jìn)入下一步驟SA11,將變址寄存器K初始化。即將初值“0”存儲(chǔ)到變址寄存器K。
下面在步驟SA12中,將存儲(chǔ)在與位地址存儲(chǔ)區(qū)的變址寄存器K的值對(duì)應(yīng)的記錄中的位地址存儲(chǔ)到變址寄存器j。
而且在下一步驟SA13中,進(jìn)入地址存儲(chǔ)處理裝置408的地址存儲(chǔ)處理子程序。此子程序如圖36所示,首先在步驟SB01中,在構(gòu)成記錄狀態(tài)表的比特串列中,將與變址寄存器j的值(位地址)對(duì)應(yīng)的位置位到“1”。即進(jìn)行置位處理。
下面步驟SB02中,按照變址寄存器j的值(位地址)計(jì)算物理段地址。物理段地址通過將1物理存貯塊的段數(shù)m乘以上述位地址j而求得。
下面在步驟SB03中,判斷現(xiàn)在的變址寄存器K的值是否是0。即由此判斷應(yīng)存儲(chǔ)在表數(shù)據(jù)存儲(chǔ)區(qū)的各種數(shù)據(jù)是否存儲(chǔ)在該第0記錄的區(qū)域。變址寄存器j的值是0時(shí),進(jìn)入下一步驟SB04,制成應(yīng)存儲(chǔ)在表數(shù)據(jù)存儲(chǔ)區(qū)的第0記錄的數(shù)據(jù)。
具體地說,取出包含在來自主機(jī)51的寫入請(qǐng)求數(shù)據(jù)內(nèi)的前頭邏輯段地址,存儲(chǔ)到第0記錄的前頭3字節(jié)區(qū)(即前頭邏輯段地址存儲(chǔ)區(qū)a),將1邏輯存貯塊的段數(shù)(例如100)加到上述前頭邏輯段地址所得的值作為最終邏輯段地址,存儲(chǔ)到下面的3字節(jié)區(qū)(即最終邏輯段地址存儲(chǔ)區(qū)b)。
而且將在上述步驟SB02中求得的物理段地址存儲(chǔ)到下面的3字節(jié)區(qū)(即前頭物理段地址存儲(chǔ)區(qū)c),將1物理存貯塊的段數(shù)m(例如50)加到該物理段地址所得的值作為最終物理段地址存儲(chǔ)到下面3字節(jié)區(qū)(即最終物理段地址存儲(chǔ)區(qū)d),此子程序就結(jié)束。
另一方面,在上述步驟SB03中,判斷變址寄存器K的值是0時(shí),進(jìn)入步驟SB05,制成應(yīng)存儲(chǔ)在表數(shù)據(jù)存儲(chǔ)區(qū)的第1記錄以后的數(shù)據(jù)。具體地說,在表數(shù)據(jù)存儲(chǔ)區(qū)中,將“0”存儲(chǔ)到第K記錄的前頭3字節(jié)區(qū)(即前頭邏輯段地址存儲(chǔ)區(qū)a),將“0”存儲(chǔ)到下面3字節(jié)區(qū)(即最終邏輯段地址存儲(chǔ)區(qū)b)。
而且將在上述步驟SB03中求得的物理段字節(jié)存儲(chǔ)到下面的3字節(jié)區(qū)(即前頭物理段地址存儲(chǔ)區(qū)c),將1物理存貯塊的段數(shù)(例如50)加到該物理段地址所得到的值作為最終物理段地址,存儲(chǔ)到下面的3字節(jié)區(qū)(即最終邏輯段地址存儲(chǔ)區(qū)d)。進(jìn)而將上述物理段地址存儲(chǔ)到該記錄的前一個(gè)記錄即第(K-1)記錄的連接地址存儲(chǔ)區(qū),此子程序結(jié)束。
下面回到圖35的FAT制作子程序(其二),在下一步驟SA14中,將變址寄存器K的值加1更新。
下面在步驟SA15中,判斷變址寄存器K的值是否在第二寄存器R2內(nèi)的值以上。在此如變址寄存器K的值小于第2寄存器R2內(nèi)的值,回到上述步驟SA12,按照存儲(chǔ)在位地址存儲(chǔ)區(qū)的下面的記錄中的位地址,將所需要的數(shù)據(jù)存儲(chǔ)到表數(shù)據(jù)存儲(chǔ)區(qū)。
在上述步驟SA15中,在變址寄存器K的值變成大于第二寄存器R2內(nèi)的值的階段,此隨機(jī)個(gè)別記錄用檢索程序(用隨機(jī)個(gè)別記錄用檢索裝置409的處理程序)結(jié)束,進(jìn)入下一步驟SA16。在此步驟SA16中,通過判斷裝置402,判斷這次應(yīng)記錄在磁光盤D上的數(shù)據(jù)是否是非壓縮數(shù)據(jù)。這種判斷是以第1寄存器R1內(nèi)的值是否是“0”來進(jìn)行。
第1寄存器R1內(nèi)的值是“0”時(shí),進(jìn)入下一步驟SA17,將3字節(jié)數(shù)據(jù)“FFFF00”存儲(chǔ)到用上述地址存儲(chǔ)處理子程序制成的在表數(shù)據(jù)存儲(chǔ)區(qū)的最終記錄的連接地址存儲(chǔ)區(qū)e。另一方面,在第1寄存器R,內(nèi)的值是1,本次應(yīng)記錄在磁光盤D上的數(shù)據(jù)是壓縮數(shù)據(jù)時(shí),進(jìn)入步驟SA18,將3字節(jié)數(shù)據(jù)“FFFF01”存儲(chǔ)到用上述地址存儲(chǔ)處理子程序制成的在表數(shù)據(jù)存儲(chǔ)區(qū)的最終記錄的連接地址存儲(chǔ)區(qū)e。在此階段,此FAT制作子程序結(jié)束。
另一方面,在圖34的上述步驟SA04中,判斷比特串列數(shù)據(jù)是0時(shí),即判斷有用以記錄來自主機(jī)51的邏輯存貯塊部分的壓縮了數(shù)據(jù)的數(shù)據(jù)或者就這樣將未壓縮的寫入用數(shù)據(jù)的1個(gè)區(qū)域或連續(xù)區(qū)域時(shí),在維持隨機(jī)連續(xù)記錄用檢索程序(用隨機(jī)連續(xù)記錄用檢索裝置410的處理程序)的狀態(tài),進(jìn)入步驟SA19,使變址寄存器K初始化。即將初值“0”存儲(chǔ)到變址寄存器K。
下面在步驟SA20中,進(jìn)入地址存儲(chǔ)處理子程序。此子程序由于與在圖36所示的處理相同,其詳細(xì)說明省略,在此子程序中,在構(gòu)成記錄狀態(tài)表的比特串列中,與變址寄存器j的值(位地址)對(duì)應(yīng)的物理段地址等規(guī)定的地址存儲(chǔ)到與表數(shù)據(jù)存儲(chǔ)區(qū)的變址寄存器K的值對(duì)應(yīng)的相應(yīng)記錄中。
下面在步驟SA21中,判斷變址寄存器K的值是否大于第二寄存器R2內(nèi)的值。在此,如變址寄存器K的值小于第二寄存器R2內(nèi)的值,就回到上述步驟SA20,進(jìn)行該步驟SA20以后的處理,與下面的位有關(guān)的物理段地址等規(guī)定的地址存儲(chǔ)到與表數(shù)據(jù)存儲(chǔ)區(qū)的變址寄存器K的值對(duì)應(yīng)的相應(yīng)記錄中。
在上述步驟SA22中,變址寄存器K的值大于第二寄存器R2內(nèi)的值時(shí),此隨機(jī)連續(xù)記錄用檢索程序(用隨機(jī)連續(xù)記錄用檢索裝置410的處理程序)結(jié)束,進(jìn)到上述步驟SA16,進(jìn)行上述步驟SA16以后的處理,此子程序結(jié)束。
在上述步驟SA10中,變址寄存器P的值小于第二寄存器R2內(nèi)的值時(shí),存儲(chǔ)在位地址存儲(chǔ)區(qū)的位地址,不以記錄這次的壓縮數(shù)據(jù)或非壓縮數(shù)據(jù)所必須的物理存貯塊存儲(chǔ),即在光盤D上沒有用以記錄能由主機(jī)51傳送的寫入用數(shù)據(jù)的區(qū)域,進(jìn)入下一步驟SA23,通過錯(cuò)誤處理裝置411,進(jìn)行規(guī)定的錯(cuò)誤處理后,強(qiáng)制結(jié)束用圖33表示的寫入處理子程序。
作為上述錯(cuò)誤處理的具體例子,有將用以向操作者傳達(dá)不可記錄的信息的信息發(fā)送到主機(jī)51,例如在與此主機(jī)51連接的顯示裝置上顯示表示“不可記錄”的信息,將在現(xiàn)在裝著的磁光盤D上不能記錄新數(shù)據(jù)通知操作者等處理。
下面回到圖33的寫入處理子程序,在下一步驟S912中,進(jìn)入數(shù)據(jù)輸出裝置404的數(shù)據(jù)輸出子程序。此子程序如圖37所示,首先在步驟SC01中,使指標(biāo)寄存器i初始化。即將初值“0”存儲(chǔ)到變址寄存器i。
下面在步驟SC02中,選擇表數(shù)據(jù)存儲(chǔ)區(qū)的第i記錄。下面在步驟SC03中,通過判斷裝置402,判斷這次應(yīng)記錄在磁光盤上的數(shù)據(jù)是否是壓縮數(shù)據(jù)。這種判斷以第一寄存器R1內(nèi)的值是否是“1”來進(jìn)行。
第1寄存器R1內(nèi)的值是“1”時(shí),進(jìn)入下一步驟SC04中,從壓縮數(shù)據(jù)存儲(chǔ)區(qū)取出1物理存貯塊部分(m段部分)的壓縮數(shù)據(jù)。另一方面,第一寄存器R1內(nèi)的值為0時(shí),進(jìn)入步驟SC05,從邏輯存貯塊數(shù)據(jù)存儲(chǔ)區(qū)取出1物理存貯塊部分(m段部分)的寫入用數(shù)據(jù)(非壓縮數(shù)據(jù))。
下面在步驟SC06中,通過寫入請(qǐng)求數(shù)據(jù)制作裝置412,制作用以將壓縮數(shù)據(jù)或非壓縮數(shù)據(jù)記錄到磁光盤D上的寫入請(qǐng)求數(shù)據(jù)。具體地說,在記錄有表示寫入請(qǐng)求的識(shí)別代碼、寫入前頭段地址和寫入數(shù)據(jù)長的首標(biāo)上,附加1物理存貯塊部分的壓縮數(shù)據(jù)或非壓縮數(shù)據(jù),制成寫入請(qǐng)求數(shù)據(jù)。
這時(shí),記錄絕對(duì)段地址作為寫入前頭段地址。即,將用戶區(qū)UE的前頭段數(shù)(3磁道×磁道內(nèi)的段數(shù)(25)=75段)加到存儲(chǔ)在在上述步驟SC02中選擇的第i記錄的前頭物理段地址存儲(chǔ)區(qū)C的物理段地址上得到的絕對(duì)段地址記錄到首標(biāo)上作為寫入前頭段地址,進(jìn)而將1物理存貯塊的段數(shù)m記錄在首標(biāo)上作為寫入數(shù)據(jù)長。
下面在步驟SC07中,通過寫入請(qǐng)求裝置413將上述寫入請(qǐng)求數(shù)據(jù)經(jīng)接口電路167發(fā)送到系統(tǒng)控制器166。
系統(tǒng)控制器166按照來自數(shù)據(jù)處理裝置1的寫入請(qǐng)求數(shù)據(jù)的輸入,控制伺服控制器165和各種機(jī)構(gòu),通過記錄用磁場發(fā)生裝置153,在磁光盤D中,從用在寫入請(qǐng)求數(shù)據(jù)中所包括的寫入前頭段地址表示的地址,記錄1物理存貯塊部分(m段部分)的壓縮數(shù)據(jù)或非壓縮數(shù)據(jù)。
下面在步驟SC08中,通過判斷裝置402,判斷是否存在連接地址。這種判斷是以在用上述步驟SC02選擇的第i記錄的連接地址存儲(chǔ)區(qū)e是否有連接地址來進(jìn)行。有連接地址時(shí)進(jìn)行下一步驟SC09,使變址寄存器i的值加1,然后回到步驟SC02,選擇表數(shù)據(jù)存儲(chǔ)區(qū)的下個(gè)記錄。由此,在磁光盤D中,從存儲(chǔ)在此已選擇的記錄的前頭物理段地址存儲(chǔ)區(qū)C的物理段地址的絕對(duì)段地址(即寫入前頭段地址),記錄1物理存貯塊的壓縮數(shù)據(jù)或非壓縮數(shù)據(jù)。
這種處理,在步驟SC08中,在判斷在上述所選擇的記錄的連接地址存儲(chǔ)區(qū)e上不存在連接地址后進(jìn)行,在判斷連接地址不存在時(shí),此數(shù)據(jù)輸出處理子程序結(jié)束。
下面回到圖33所示的寫入處理子程序,在下一步驟S913中,將存儲(chǔ)在表數(shù)據(jù)存儲(chǔ)區(qū)的各種數(shù)據(jù),在存儲(chǔ)在數(shù)據(jù)RAM174的屬性數(shù)據(jù)存儲(chǔ)區(qū)的屬性數(shù)據(jù)中,存儲(chǔ)到文件分配表FAT的空白的記錄中。
下面在步驟S914中,進(jìn)入屬性數(shù)據(jù)寫入處理裝置308的屬性數(shù)據(jù)寫入處理子程序。由于此子程序與圖31所示的處理相同,在此不另詳細(xì)說明,用此子程序,存儲(chǔ)在數(shù)據(jù)RAM174的屬性數(shù)據(jù)存儲(chǔ)區(qū)的已更新制成的3段部分的屬性數(shù)據(jù),記錄在磁光盤的磁道0的段0-段2,磁道1的段12-段14、磁道9997的段0-段2、和磁道9998的段12-段14中。
在上述屬性數(shù)據(jù)寫入處理子程序結(jié)束時(shí),此寫入處理子程序也結(jié)束。
用上述步驟S901判斷現(xiàn)在裝著的磁光盤的初始化未完成時(shí),與圖25的主程序中的步驟S408同樣,向主機(jī)51傳送盡快初始化的信息數(shù)據(jù)。因此使與主機(jī)連接的顯示裝置上顯示表明“請(qǐng)進(jìn)行初始化”的信息,通知操作者現(xiàn)在裝著的磁光盤D的初始化未完成。
下面在圖28所示的請(qǐng)求處理子程序的步驟S603中,判斷無寫入請(qǐng)求時(shí),進(jìn)入步驟S605,通過判斷裝置210,判斷本次是否是讀出請(qǐng)求。
來自主機(jī)51的請(qǐng)求是讀出請(qǐng)求時(shí),進(jìn)入下一步驟S606,進(jìn)入讀出處理裝置501的讀出處理子程序。
在此,上述讀出處理裝置501如圖38所示,它包括進(jìn)行各種判斷的判斷裝置502;接收從主機(jī)51通過接口電路168由輸入口175供給的讀出請(qǐng)求數(shù)據(jù)的數(shù)據(jù)接收裝置503;磁光盤D中,制作用以從與來自主機(jī)51的邏輯段地址對(duì)應(yīng)的物理段地址,以物理存貯塊為單位讀出壓縮數(shù)據(jù)或非壓縮數(shù)據(jù)的請(qǐng)求數(shù)據(jù)的讀出請(qǐng)求數(shù)據(jù)制作裝置504;將用此讀出請(qǐng)求數(shù)據(jù)制作裝置504制成的讀出請(qǐng)求數(shù)據(jù)輸出到系統(tǒng)控制器166的讀出請(qǐng)求裝置505;將由數(shù)據(jù)解壓縮電路輸出的解壓縮數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)RAM的規(guī)定的存儲(chǔ)區(qū)的解壓縮數(shù)據(jù)存儲(chǔ)裝置506;將對(duì)從磁光盤D讀出的數(shù)據(jù)進(jìn)行了解壓縮處理后的數(shù)據(jù)或未進(jìn)行解壓縮處理的數(shù)據(jù)發(fā)送到主機(jī)51的發(fā)送請(qǐng)求裝置507;在無與來自主機(jī)51的邏輯段地址對(duì)應(yīng)的物理段地址時(shí)進(jìn)行錯(cuò)誤處理的錯(cuò)誤處理裝置508。
而且此讀出處理裝置501即讀出處理子程序如圖39所示,首先在步驟SD01中,通過判斷裝置502,判斷裝在此外部存儲(chǔ)裝置52中的磁光盤D是否完成初始化。這種判斷以存儲(chǔ)在屬性數(shù)據(jù)存儲(chǔ)區(qū)的屬性數(shù)據(jù)的第3字節(jié)的1字節(jié)數(shù)據(jù)是否是“01”來進(jìn)行。
上述1字節(jié)數(shù)據(jù)是“01”表示完成初始化時(shí),進(jìn)入下一步驟SD02,通過數(shù)據(jù)接收裝置503,接收由主機(jī)51傳送的讀出請(qǐng)求數(shù)據(jù)。此讀出請(qǐng)求數(shù)據(jù)成為包括表示讀出請(qǐng)求的識(shí)別代碼、讀出前頭段地址(前頭邏輯段地址)和讀出數(shù)據(jù)長(在此例中是100段)的內(nèi)容。
下面在步驟SD03中,使變址寄存器i初始化。即將初值“0”存儲(chǔ)到變址寄存器i。
下面在步驟SD04中,在存儲(chǔ)在數(shù)據(jù)RAM174的屬性數(shù)據(jù)存儲(chǔ)區(qū)的屬性數(shù)據(jù)中,選擇與文件分配表FAT的變址寄存器i的值對(duì)應(yīng)的記錄。
下面在步驟SD05中,通過判斷裝置502,判斷存儲(chǔ)在上述所選擇的記錄的前頭邏輯段地址存儲(chǔ)區(qū)a的邏輯段地址與用上述步驟SD02讀出的邏輯段地址是否相同。
判斷“不一致”時(shí),進(jìn)入下一步驟SD06,使變址寄存器i的值加1。下面在步驟SD07中,通過判斷裝置502,判斷檢索是否結(jié)束。這種判斷是以變址寄存器i的值是否與文件分配表FAT的最終記錄數(shù)N相同來進(jìn)行。變址寄存器i的值小于最終記錄數(shù)N時(shí),重新回到步驟SD04,選擇文件分配表FAT的下一記錄,進(jìn)而判斷在此所選擇的記錄的前頭邏輯段地址存儲(chǔ)區(qū)a是否存儲(chǔ)該地址。這種處理進(jìn)行到檢索到相應(yīng)地址,或者,在變址寄存器i的值成為大于最終記錄數(shù)N也未檢索到該地址時(shí),進(jìn)入步驟SD08,通過錯(cuò)誤處理裝置508,進(jìn)行錯(cuò)誤處理并結(jié)束此讀出處理子程序。
作為上述錯(cuò)誤處理的具體例子,有例如將向操作者傳達(dá)不可讀出的消息的信息發(fā)送到主機(jī)51、在與此主機(jī)51連接的顯示裝置上顯示出表示“不可讀出”的信息、通知操作者不能從現(xiàn)在裝著的磁光盤讀出數(shù)據(jù)等處理。
另一方面,在上述步驟SD05中,當(dāng)檢索到該地址時(shí),進(jìn)入步驟SD09,通過讀出請(qǐng)求數(shù)據(jù)制作裝置504,在磁光盤D中,制成用以從與邏輯段地址對(duì)應(yīng)的地址讀出1物理存貯塊部分的數(shù)據(jù)的讀出請(qǐng)求數(shù)據(jù)。具體地說,制成記錄有表示讀出請(qǐng)求的識(shí)別代碼、讀出前頭段地址、和讀出數(shù)據(jù)長的讀出請(qǐng)求數(shù)據(jù)。
這時(shí),記錄絕對(duì)段地址作為讀出前頭段地址。即,在文件分配表FAT中,記錄將用戶區(qū)UE的前頭段數(shù)(3磁道×磁道內(nèi)的段數(shù)(25)=75段)加到存儲(chǔ)在所選擇的記錄的前頭段地址存儲(chǔ)區(qū)C中的物理段地址上所得到的絕對(duì)段地址,作為讀出前頭段地址,進(jìn)而記錄1物理存貯塊的段數(shù)m作為讀出數(shù)據(jù)長。
下面在步驟SD10中,通過讀出請(qǐng)求裝置505,將上述讀出請(qǐng)求數(shù)據(jù)通過接口電路167發(fā)送到系統(tǒng)控制器166。
系統(tǒng)控制器166按照來自數(shù)據(jù)處理裝置1的讀出請(qǐng)求數(shù)據(jù),控制伺服控制器165和各種機(jī)構(gòu),通過光拾波器152在磁光盤D中,從用在讀出請(qǐng)求數(shù)據(jù)中所包括的讀出前頭段地址表示的地址讀出1物理存貯塊(m個(gè)段)的壓縮數(shù)據(jù)或非壓縮數(shù)據(jù),進(jìn)而將此所讀出的1物理存貯塊的數(shù)據(jù)通過接口電路167供給數(shù)據(jù)處理裝置1。
而且,此讀出處理子程序,在下一步驟SD11中,將由系統(tǒng)控制器166傳送的1物理存貯塊的讀出數(shù)據(jù)存儲(chǔ)到分配在數(shù)據(jù)RAM174的數(shù)據(jù)存儲(chǔ)區(qū)。
下面在步驟SD12中,通過判斷裝置502,判斷是否有連接地址。這種判斷是以在用上述步驟SD04選擇的記錄的連接地址存儲(chǔ)區(qū)e中是否存儲(chǔ)連接地址來進(jìn)行。有連接地址時(shí)進(jìn)入下一步驟SD13,選擇下一記錄后,回到步驟SD09,進(jìn)行該步驟SD09以后的處理。即,在磁光盤D中,從存儲(chǔ)在用上述步驟SD13選擇的記錄的前頭物理段地址存儲(chǔ)區(qū)的物理段地址讀出1物理存貯塊的數(shù)據(jù),存儲(chǔ)到分配在數(shù)據(jù)RAM174的數(shù)據(jù)存儲(chǔ)區(qū)的空的區(qū)域。
這種處理,在上述步驟SD12中,在判斷在上述所選擇的記錄的連接地址存儲(chǔ)區(qū)e不存在連接地址后進(jìn)行。
而且,在上述步驟SD12中,判斷不存在連接地址時(shí),進(jìn)入下一步驟SD14,通過判斷裝置502,判斷本次讀出的數(shù)據(jù)是否是壓縮數(shù)據(jù)。這種判斷是按在存儲(chǔ)在所選擇的最終記錄的連接地址存儲(chǔ)區(qū)e的3字節(jié)數(shù)據(jù)中,最后的1字節(jié)數(shù)據(jù)是否是“01”來進(jìn)行。
上述1字節(jié)數(shù)據(jù)是“01”時(shí),進(jìn)入下一步驟SD15,將存儲(chǔ)在上述數(shù)據(jù)存儲(chǔ)區(qū)的讀出數(shù)據(jù)輸出到數(shù)據(jù)解壓縮電路180。數(shù)據(jù)解壓縮電路180對(duì)所輸入的讀出數(shù)據(jù),用緩沖存儲(chǔ)器179進(jìn)行非損失的數(shù)據(jù)解壓縮處理(步驟SD16)。
下面在步驟SD17中,通過解壓縮數(shù)據(jù)存儲(chǔ)裝置506,將用上述數(shù)據(jù)解壓縮電路180進(jìn)行解壓縮處理后的解壓縮數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)RAM174的解壓縮數(shù)據(jù)存儲(chǔ)區(qū)。
下面在步驟18中,通過發(fā)送請(qǐng)求裝置507,對(duì)主機(jī)51進(jìn)行解壓縮數(shù)據(jù)的發(fā)送請(qǐng)求。具體地說,在記錄有表示發(fā)送請(qǐng)求的識(shí)別代碼、發(fā)送前頭段地址和發(fā)送數(shù)據(jù)長的首標(biāo)上附加解壓縮數(shù)據(jù)制成發(fā)送請(qǐng)求數(shù)據(jù)。
這時(shí),作為發(fā)送目的前頭段地址,記錄存儲(chǔ)在用上述步驟SD04選擇的文件分配表FAT的記錄的前頭邏輯段地址存儲(chǔ)區(qū)a的邏輯段地址,進(jìn)而記錄1邏輯塊的段數(shù)作為發(fā)送數(shù)據(jù)長。
而且,將上述制成的發(fā)送請(qǐng)求數(shù)據(jù)通過接口電路168發(fā)送到主機(jī)51,此讀出處理子程序就結(jié)束。主機(jī)51按照來自數(shù)據(jù)處理裝置1的發(fā)送請(qǐng)求數(shù)據(jù)的輸入,從發(fā)送請(qǐng)求數(shù)據(jù)的首標(biāo)取出發(fā)送目的的前頭段地址后,在主機(jī)51內(nèi),將解壓縮數(shù)據(jù)存儲(chǔ)到與通過數(shù)據(jù)總線連接的數(shù)據(jù)RAM的上述發(fā)送目的的前頭段地址對(duì)應(yīng)的地址中。
另一方面,在上述步驟SD14中,判斷上述1字節(jié)數(shù)據(jù)是“00”時(shí),進(jìn)入步驟SD19,通過發(fā)送請(qǐng)求裝置507,對(duì)主機(jī)51進(jìn)行非解壓縮數(shù)據(jù)(能從系統(tǒng)控制器直接傳送的數(shù)據(jù))的解壓縮請(qǐng)求。具體地說,在記錄有表示發(fā)送請(qǐng)求的識(shí)別代碼、發(fā)送目的前頭段地址和發(fā)送數(shù)據(jù)長的首標(biāo)上附加非解壓縮數(shù)據(jù)(在步驟SD11中,通過數(shù)據(jù)接收裝置503,存儲(chǔ)在數(shù)據(jù)RAM174的數(shù)據(jù)存儲(chǔ)區(qū)的來自系統(tǒng)控制器166的數(shù)據(jù))制成發(fā)送請(qǐng)求數(shù)據(jù)。
這時(shí),作為傳送目的前頭段地址、記錄存儲(chǔ)在用上述步驟SD04選擇的文件分配表FAT的記錄的前頭邏輯段地址存儲(chǔ)區(qū)a中的邏輯段地址,進(jìn)而記錄1邏輯存貯塊的段數(shù)作為發(fā)送數(shù)據(jù)長。
將上述制成的發(fā)送請(qǐng)求數(shù)據(jù)通過接口電路168發(fā)送到主機(jī)51,結(jié)束此讀出處理子程序。主機(jī)51按照來自數(shù)據(jù)處理裝置1的發(fā)送請(qǐng)求數(shù)據(jù)的輸入,從發(fā)送請(qǐng)求數(shù)據(jù)的首標(biāo)取出發(fā)送目的的前頭段地址后,在主機(jī)51內(nèi),將上述非解壓縮數(shù)據(jù)存儲(chǔ)到通過圖中未繪出的數(shù)據(jù)總線連接的數(shù)據(jù)RAM(未圖示)的與上述發(fā)送目的前頭段地址對(duì)應(yīng)的地址上。
在上述步驟SD01中,判斷現(xiàn)在裝著的磁光盤D未完成初始化時(shí),與圖7的主程序中的步驟S8同樣,向主機(jī)19發(fā)送盡快初始化的信息數(shù)據(jù)。由此,在與主機(jī)19連接的顯示裝置上顯示出表示“請(qǐng)進(jìn)行初始化”的信息,通知操作者現(xiàn)在裝著的磁光盤D初始化未完成。
下面在圖28所示的請(qǐng)求處理子程序的步驟S605中,判斷出讀出請(qǐng)求時(shí),進(jìn)入步驟S607,通過判斷裝置210(參照?qǐng)D24),判斷本次是否是數(shù)據(jù)刪除請(qǐng)求。
來自主機(jī)51的請(qǐng)求是數(shù)據(jù)刪除請(qǐng)求時(shí),進(jìn)入下一步驟S608,進(jìn)入數(shù)據(jù)刪除處理裝置601的刪除處理子程序。
在此,上述數(shù)據(jù)刪除處理裝置601如圖40所示,除了上述屬性數(shù)據(jù)寫入裝置308(參照?qǐng)D29)之外,還包括進(jìn)行各種判斷的判斷裝置602;用以接收從主機(jī)51通過接口電路168由輸入口175供給的數(shù)去刪除請(qǐng)求數(shù)據(jù)的數(shù)據(jù)接收裝置603;計(jì)算在與來自主機(jī)51的邏輯段地址對(duì)應(yīng)的物理段地址的記錄狀態(tài)表上的位地址的位地址計(jì)算裝置604;使與文件分配表FAT的上述邏輯段地址對(duì)應(yīng)的記錄初始化的記錄初始化裝置605;在沒有與邏輯段地址對(duì)應(yīng)的物理段地址時(shí)進(jìn)行錯(cuò)誤處理的錯(cuò)誤處理裝置606。
而且此數(shù)據(jù)刪除處理裝置601即數(shù)據(jù)刪除處理子程序如圖41所示,首先在步驟SE01中,通過判斷裝置602,判斷裝在此外部存儲(chǔ)裝置52上的磁光盤D是否完成初始化。這種判斷以存儲(chǔ)在屬性數(shù)據(jù)存儲(chǔ)區(qū)的屬性數(shù)據(jù)的第3字節(jié)的1字節(jié)數(shù)據(jù)是否是“01”來進(jìn)行。
上述1字節(jié)數(shù)據(jù)是“01”表示初始化完成時(shí),進(jìn)入下一步驟SE02,通過數(shù)據(jù)接收裝置603,讀出由主機(jī)51傳送的數(shù)據(jù)刪除請(qǐng)求數(shù)據(jù)。此數(shù)據(jù)刪除請(qǐng)求數(shù)據(jù)其內(nèi)容包括表示數(shù)據(jù)刪除請(qǐng)求的識(shí)別代碼、數(shù)據(jù)刪除前頭段地址(前頭邏輯段地址)和刪除數(shù)據(jù)長(在此例中是100段)。
下面在步驟SE03中,使變址寄存器i初始化。即,將初值“0”存儲(chǔ)到變址寄存器i。
下面在步驟SE04中,在存儲(chǔ)在數(shù)據(jù)RAM174的屬性數(shù)據(jù)存儲(chǔ)區(qū)的屬性數(shù)據(jù)中,選擇與文件分配表FAT的變址寄存器i的值對(duì)應(yīng)的記錄。
下面在步驟SE05中,通過判斷裝置602,判斷存儲(chǔ)在上述所選擇的記錄的前頭邏輯段地址存儲(chǔ)區(qū)a的邏輯段地址是否與在上述步驟SE02接收的邏輯段地址相同。
判斷為“不一致”時(shí),進(jìn)入下一步驟SE06,使變址寄存器i的值加1。下面在步驟SE07中,通過判斷裝置602,判斷檢索是否結(jié)束。這種判斷是按變址寄存器i的值與文件分配表FAT的最終記錄數(shù)N是否相同來進(jìn)行。變址寄存器i的值小于最終記錄數(shù)N時(shí),重新回到步驟SE04,選擇文件分配表FAT的下一個(gè)記錄,進(jìn)而判斷在此所選擇的記錄的前頭邏輯段地址存儲(chǔ)區(qū)a是否存儲(chǔ)該地址。這種處理進(jìn)行到檢索到該地址。在變址寄存器i的值達(dá)最終記錄數(shù)N以上也未檢索到該地址時(shí),進(jìn)入步驟SE08,通過數(shù)據(jù)處理裝置606,進(jìn)行錯(cuò)誤處理,結(jié)束此讀出處理子程序。
作為上述錯(cuò)誤處理的具體例子有如下的處理將用以向操作者傳達(dá)數(shù)據(jù)不能刪除的信息發(fā)送到主機(jī)51、例如在與此主機(jī)51連接的顯示裝置上顯示表示“數(shù)據(jù)不能刪除”的信息,通知操作者對(duì)現(xiàn)在裝著的磁光盤D不存在數(shù)據(jù)刪除對(duì)象數(shù)據(jù)。
另一方面,在上述步驟SE05中,檢索該地址時(shí),進(jìn)入步驟SE09,通過位地址計(jì)算裝置604,從上述所選擇的記錄的前頭物理段地址存儲(chǔ)區(qū)已取出物理段地址,在構(gòu)成記錄狀態(tài)表的比特串列中,計(jì)算此物理段地址是否與哪個(gè)位地址b對(duì)應(yīng)。此位地址b的計(jì)算,在物理段地址為S,1物理存貯塊的段數(shù)為m時(shí),能用b=s/m得到。
下面在步驟SE10中,在構(gòu)成記錄狀態(tài)表的比特串列中,將與用上述位地址計(jì)算裝置604得到的位地址b對(duì)應(yīng)的位置位到“0”。即進(jìn)行復(fù)位處理。
下面在步驟SE11中,通過判斷裝置602,判斷是否有連接地址。這種判斷以連接地址是否存儲(chǔ)在用上述步驟SE04選擇的記錄的連接地址存儲(chǔ)區(qū)來進(jìn)行。有連接地址時(shí),進(jìn)入下一步驟SE12選擇下一個(gè)記錄后,用下一步驟SE13,通過記錄初始化裝置605,使前記錄初始化。即,將“0”存儲(chǔ)到該前記錄。
其后,回到步驟SE09,進(jìn)行該步驟SE09以后的處理。即,從用步驟SE12選擇的記錄的前頭物理段地址存儲(chǔ)區(qū)C取出物理段地址,計(jì)算與此物理段地址對(duì)應(yīng)的記錄狀態(tài)表的位地址,在構(gòu)成記錄狀態(tài)表的比特串列中,使與通過上述位地址計(jì)算得到的位地址b對(duì)應(yīng)的位置位到“0”。
這種處理,在上述步驟SE11中,進(jìn)行到判斷在上述選擇的記錄的連接地址存儲(chǔ)區(qū)e不存在連接地址。而且,在上述步驟SE11中,判斷連接地址不存在時(shí),進(jìn)入下一步驟SE14,通過記錄初始化裝置605,使現(xiàn)在所選擇的記錄初始化。即將“0”存儲(chǔ)到該記錄。
下面在步驟SE15中,進(jìn)入屬性數(shù)據(jù)寫入處理裝置308的屬性數(shù)據(jù)寫入處理子程序。此子程序與圖31所示的處理相同,在此不另詳細(xì)說明,在此子程序,將存儲(chǔ)在數(shù)據(jù)RAM 174的屬性數(shù)據(jù)存儲(chǔ)區(qū)的已更新制成的3段的屬性數(shù)據(jù)記錄到磁光盤D的磁道0的段0-段2、磁道1的段12-段14、磁道9997的段0-段2和磁道9998的段12-段14。
在上述屬性數(shù)據(jù)寫入數(shù)據(jù)子程序結(jié)束階段,此數(shù)據(jù)刪除處理子程序也結(jié)束。
在上述步驟SE01中,判斷現(xiàn)在裝著的磁光盤D未完成初始化時(shí),與圖25的主程序中的步驟S408同樣,向主機(jī)51發(fā)送請(qǐng)求初始化的信息數(shù)據(jù)。因此,在與主機(jī)51連接的顯示裝置上顯示表明“請(qǐng)進(jìn)行初始化”的信息,通知操作者現(xiàn)在裝著的磁光盤D未完成初始化。
下面在圖28所示的請(qǐng)求處理子程序的步驟S607中,判斷無數(shù)據(jù)刪除請(qǐng)求時(shí),進(jìn)入步驟S609,此外還進(jìn)行與來自主機(jī)51的請(qǐng)求對(duì)應(yīng)的處理。
回到圖25的主程序,在下一步驟S411中,通過判斷裝置202,判斷是否輸入磁盤取出請(qǐng)求。這種判斷是以是否通過輸入口175供給與對(duì)連接在主機(jī)51的鍵盤等鍵輸入裝置提出的磁盤取出請(qǐng)求對(duì)應(yīng)的指令輸入,或者供給通過操作設(shè)置在外部存儲(chǔ)裝置52的外殼上的操作面板中的磁盤取出鍵而產(chǎn)生的內(nèi)部中斷信號(hào)來進(jìn)行。
判斷不供給上述內(nèi)部中斷信號(hào),無磁盤取出請(qǐng)求時(shí),回到步驟S409,等待來自主機(jī)51的下一個(gè)處理請(qǐng)求。另一方面,判斷供給上述內(nèi)部中斷信號(hào),有磁盤取出請(qǐng)求時(shí),進(jìn)入下一步驟S412,通過磁盤取出請(qǐng)求裝置205,經(jīng)輸出口176和接口電路167,將磁盤取出請(qǐng)求信號(hào)輸出到系統(tǒng)控制器166。
系統(tǒng)控制器166按照來自數(shù)據(jù)處理裝置1的磁盤取出請(qǐng)求信號(hào)的輸入,控制外部存儲(chǔ)裝置52內(nèi)的磁盤加載機(jī)構(gòu),將裝在主軸馬達(dá)151的轉(zhuǎn)盤154上的磁光盤D搬送到取出口(與插入口共用),即搬送到操作者與將磁光盤D取出到外部的位置。在此階段,磁光盤D的取出處理結(jié)束。
下面在步驟S413中,通過判斷裝置202,判斷是否有程序結(jié)束請(qǐng)求。這種判斷是按是否產(chǎn)生電源OFF等的結(jié)束請(qǐng)求中斷來進(jìn)行。
并且,在此步驟S413中,無上述結(jié)束請(qǐng)求時(shí),回到步驟S403,成為等待安裝下一個(gè)磁光盤,有上述結(jié)束請(qǐng)求時(shí),結(jié)束此數(shù)據(jù)處理程序201。
下面對(duì)在此第三實(shí)施例的數(shù)據(jù)處理裝置中所附加的其它優(yōu)選的二種功能進(jìn)行說明。
首先,最初的功能是用以將磁光盤D上剩余的數(shù)據(jù)記錄容量通知主機(jī)51的功能。
具體地說,從主機(jī)51向數(shù)據(jù)處理裝置1輸入用以確認(rèn)磁光盤D上的剩余數(shù)據(jù)記錄容量的讀出容量請(qǐng)求指令時(shí),通常,CPU181通過從預(yù)先知道的用戶區(qū)的全部數(shù)據(jù)記錄尺寸[例如作為預(yù)知位,可由預(yù)先記錄在磁光盤D上的適當(dāng)區(qū)域的數(shù)據(jù)(用戶區(qū)UE的磁道數(shù)與每個(gè)磁道的段數(shù))算出來],參照存儲(chǔ)在數(shù)據(jù)RAM 174的屬性數(shù)據(jù)存儲(chǔ)區(qū)的文件分配表FAT的磁光盤上的數(shù)據(jù)管理信息減去使用過的物理段地址,能算出剩余的即未記錄的物理數(shù)據(jù)記錄容量(X[KB],以下記為XKB)。
然后,進(jìn)行期望壓縮率β×剩余的物理數(shù)據(jù)記錄容量X=剩余邏輯數(shù)據(jù)記錄容量Y的計(jì)算,將計(jì)算結(jié)果為剩余邏輯數(shù)據(jù)記錄容量Y=β·X[KB]通知主機(jī)51。
因此,主機(jī)51現(xiàn)在知道能最大限度地將此剩余的邏輯數(shù)據(jù)記錄容量Y部分的數(shù)據(jù)記錄到磁光盤D上。
但是,在非損失型的數(shù)據(jù)壓縮技術(shù)中,數(shù)據(jù)壓縮的實(shí)際壓縮率ε并非一定,由于只有壓縮后才能弄清楚正確的實(shí)際壓縮率,所以在以(β·X=Y(jié))管理磁光盤D上的剩余數(shù)據(jù)記錄容量時(shí),在主機(jī)51將例如與剩余最大限度的壓縮前數(shù)據(jù)Y相同容量(相同數(shù)據(jù)長)的數(shù)據(jù)發(fā)送到數(shù)據(jù)處理裝置時(shí),在此數(shù)據(jù)的實(shí)際壓縮率ε未達(dá)到期望壓縮率β時(shí),就會(huì)發(fā)生不能將壓縮能被發(fā)送的壓縮前數(shù)據(jù)的數(shù)據(jù)或者就這樣非壓縮的全部數(shù)據(jù)記錄到磁光盤D上這樣的情況。
因此,為了避免發(fā)生上述情況,在實(shí)際壓縮率ε小于期望壓縮率β的場合,當(dāng)壓縮后數(shù)據(jù)的數(shù)據(jù)長大于剩余的物理數(shù)據(jù)記錄容量X時(shí),將用以記錄壓縮后溢出的數(shù)據(jù)的特別記錄區(qū)預(yù)先設(shè)置在磁光盤D上。此特別記錄區(qū)例如從用戶區(qū)UE的最后磁道9947的段24回到100段之前的區(qū)作為記錄區(qū)。此100段部分,在數(shù)據(jù)處理裝置的CPU中,當(dāng)計(jì)算時(shí),從剩余的物理數(shù)據(jù)記錄容量X,減去剩余的邏輯數(shù)據(jù)記錄容量Y。此100段部分的區(qū)域在主機(jī)51是隱蔽的記錄區(qū)(容量)。
通常,替換區(qū)AE即使在全部使用用戶區(qū)UE時(shí),由于完全按有余量來設(shè)計(jì)該區(qū)域,所以也可以將上述隱蔽的記錄區(qū)作為交替區(qū)AE。如果這樣,就不會(huì)使用戶區(qū)UE的記錄容量變小。
作為用以避免不能將壓縮了能發(fā)送的壓縮前數(shù)據(jù)Y的數(shù)據(jù)或者全部就這樣非壓縮的數(shù)據(jù)記錄到磁光盤D上這樣情況的其它技術(shù),在從主機(jī)51輸入讀出容量請(qǐng)求指令時(shí),與磁光盤D上的物理的未記錄數(shù)據(jù)記錄容量的減少對(duì)應(yīng),也可以將使預(yù)期壓縮率β減少的表面上的邏輯數(shù)據(jù)記錄容量報(bào)告主機(jī)51。
圖42對(duì)其進(jìn)行了說明,物理的未記錄數(shù)據(jù)容量Y從最大記錄容量到一定值,其期望壓縮率β為β=2,從該一定值向物理的未記錄數(shù)據(jù)容量0,期望壓縮率β慢慢減少。例如,物理未記錄數(shù)據(jù)容量Y剩余10MB時(shí),希望向主機(jī)19報(bào)告剩余20MB,只剩余1MB時(shí),報(bào)告剩余1.5MB。如果這樣的話,在從主機(jī)51傳送剩余的未記錄數(shù)據(jù)容量Y的最大限度數(shù)據(jù)時(shí),也能使壓縮后的數(shù)據(jù)從磁光盤D上的可能記錄區(qū)溢出的概率減少。
期望壓縮率β的值,存儲(chǔ)壓縮所計(jì)算的實(shí)際壓縮率ε,在下次存取時(shí),當(dāng)然可以置換成此所存儲(chǔ)的實(shí)際壓縮率ε。在此意義上,即使對(duì)期望壓縮率β也可控制以便在記錄到磁光盤的DDS段中將其更新。
下面,其它的功能是對(duì)磁光盤D,將以1物理存貯塊單位隨機(jī)記錄的相互關(guān)連的數(shù)據(jù)排列更換成以1物理存貯塊單位連續(xù)的數(shù)據(jù)的功能。
在上述例子中,在寫入處理裝置(寫入處理子程序)401,特別是在圖34-圖35所示的步驟SA05-步驟SA15有關(guān)的處理程序(即,用隨機(jī)個(gè)別記錄用檢索裝置409的處理程序)中,用數(shù)據(jù)壓縮電路178壓縮處理1邏輯存貯塊的數(shù)據(jù)時(shí),在成為2以上物理存貯塊部分的壓縮數(shù)據(jù)的場合,未發(fā)現(xiàn)用以記錄此壓縮數(shù)據(jù)或記錄未進(jìn)行壓縮處理的非壓縮數(shù)據(jù)的連續(xù)區(qū)域(所得到的物理存貯塊部分的連續(xù)的區(qū)域)時(shí),還以1物理存貯塊單位隨機(jī)記錄在未被記錄的物理段地址上。
即,在磁光盤D的相互分離的位置上分割相互關(guān)連的數(shù)據(jù)進(jìn)行記錄。然而,在這種情況,當(dāng)讀出來自磁光盤D上的數(shù)據(jù)時(shí),尋道要花費(fèi)時(shí)間,結(jié)果,產(chǎn)生存取時(shí)間變長這樣的問題。
因此,在本實(shí)施例中,不是用數(shù)據(jù)處理裝置201中的請(qǐng)求處理裝置204進(jìn)行轉(zhuǎn)移處理,當(dāng)無來自主機(jī)51的存取請(qǐng)求時(shí),編入定期或不定期地例如由OS起動(dòng)的排列更換程序。下面對(duì)此程序的功能簡單地進(jìn)行說明。
現(xiàn)在,假定在邏輯段地址4900-4999表示的1邏輯存貯塊部分的寫入用數(shù)據(jù),在磁光盤D上分割成從該物理段地址2000開始的50段部分的非壓縮數(shù)據(jù),和從物理段地址3560開始的50段部分的非壓縮數(shù)據(jù)進(jìn)行記錄時(shí),這種程序,在無來自主機(jī)51的存取請(qǐng)求時(shí),參照文件分配表FAT,就這樣進(jìn)行被分割、記錄的存貯塊數(shù)據(jù)記錄位置的整理。
具體地說,例如在物理段地址2050-2099為空時(shí),物理段地址3561-4110的壓縮數(shù)據(jù)移到該地址。而且該非壓縮數(shù)據(jù)的100段部分(2000-2049的50段部分與3560-4109的50段部分的總合)也可以完全移到其它的數(shù)據(jù)記錄位置。
如果這樣的話,當(dāng)有來自主機(jī)51的1邏輯存貯塊的數(shù)據(jù)讀出請(qǐng)求時(shí),由于與該邏輯存貯塊數(shù)據(jù)對(duì)應(yīng)的2個(gè)物理存貯塊的數(shù)據(jù)會(huì)連續(xù)記錄在磁光盤D上,能避免為讀出時(shí)的查找花費(fèi)多余時(shí)間這樣的不良情況,可使存取時(shí)間大幅度縮短。
似這樣,在裝入上述外部存儲(chǔ)裝置52內(nèi)的第三實(shí)施例的數(shù)據(jù)處理裝置(數(shù)據(jù)傳輸裝置)1中,首先在數(shù)據(jù)處理裝置201中,檢索記錄在磁光盤D的屬性數(shù)據(jù)記錄區(qū)的屬性數(shù)據(jù),特別是檢索從文件分配表FAT記錄在用戶區(qū)UE上的物理存貯塊的數(shù)據(jù)記錄狀態(tài),由于對(duì)1物理存貯塊制成1位(1/0=記錄完成/未記錄)的記錄狀態(tài)表,在有來自主機(jī)51的數(shù)據(jù)寫入請(qǐng)求時(shí),在寫入處理裝置(寫入處理子程序)401中,檢索構(gòu)成上述記錄狀態(tài)表的比特串列的各位的狀態(tài),決定記錄到哪個(gè)物理段地址,比直接檢索存儲(chǔ)在文件分配表FAT的前頭物理段地址存儲(chǔ)區(qū)C的物理段地址更能縮短檢索時(shí)間,并且,由于能以單純的1/0的位單位掌握該記錄狀態(tài),比從在數(shù)據(jù)上有復(fù)雜的位構(gòu)成的物理段地址掌握該記錄狀態(tài)時(shí),能縮短程序調(diào)試、系統(tǒng)維修等花費(fèi)的時(shí)間。
在此第三實(shí)施例中,在寫入處理裝置401中,當(dāng)用數(shù)據(jù)壓縮電路178壓縮來自主機(jī)51的1邏輯存貯塊的數(shù)據(jù)時(shí),用此壓縮得到的壓縮數(shù)據(jù)的數(shù)據(jù)長變成小于1物理存貯塊的段數(shù),其實(shí)際壓縮率ε大于β/(β-1)時(shí),用壓縮電路178壓縮處理后的壓縮數(shù)據(jù)記錄在磁光盤D上,上述實(shí)際壓縮率ε滿足0<ε<β/(β-1)時(shí),即,用數(shù)據(jù)壓縮電路178壓縮處理得到的壓縮數(shù)據(jù)的數(shù)據(jù)長(物理存貯塊數(shù))實(shí)質(zhì)上等于或大于1邏輯存貯塊時(shí),由于記錄從主機(jī)51直接供給的數(shù)據(jù)(非壓縮數(shù)據(jù)),在記錄在磁光盤D上的數(shù)據(jù)中,對(duì)實(shí)際壓縮率ε滿足0<ε<β/(β-1)的記錄數(shù)據(jù)不需要進(jìn)行解壓縮處理,所以能大幅度提高從磁光盤D上的數(shù)據(jù)讀出速度,能提高外部存儲(chǔ)裝置的性能。
在上述處理中,重新需要用以區(qū)別已壓縮處理的數(shù)據(jù)與未壓縮處理的數(shù)據(jù)的信息,在此實(shí)施例中,由于合并了無連接地址的信息,將用以區(qū)別壓縮處理或非壓縮處理的判斷數(shù)據(jù)存儲(chǔ)到文件分配表FAT的連接地址存儲(chǔ)區(qū)e,所以不必重新保證用以記錄此判斷數(shù)據(jù)的存儲(chǔ)區(qū)在磁光盤D上,能回避數(shù)據(jù)記錄容量縮小這樣問題。
在此實(shí)施例中,當(dāng)將跨越2個(gè)以上的物理存貯塊的數(shù)據(jù)記錄在寫入處理裝置401時(shí),由于設(shè)置了檢索用以記錄此2個(gè)以上的物理存貯塊的連續(xù)的記錄區(qū)域并記錄在文件分配表FAT上的隨機(jī)連續(xù)記錄用檢索裝置,就不會(huì)有上述2個(gè)以上的物理存貯塊的數(shù)據(jù)以物理存貯塊單位記錄在物理的分離的位置上的情況,所以能有效地縮短數(shù)據(jù)讀出時(shí)的尋道時(shí)間。
在上述實(shí)施例中,示出適用于能改寫的磁光(MO)盤的例子,此外當(dāng)然也適用作為磁盤的硬盤。在適用于補(bǔ)寫型只1次寫入的WORM磁盤時(shí),能進(jìn)行完全移到別的數(shù)據(jù)的記錄位置的處理,由于進(jìn)行這種處理后數(shù)據(jù)的記錄容量的剩余變小,通常不進(jìn)行這種處理(也可以進(jìn)行),將文件分配表FAT記錄到磁光盤D上的技術(shù)也能適用。
權(quán)利要求
1.一種數(shù)據(jù)傳輸裝置,其特征在于它包括保持壓縮前數(shù)據(jù)的壓縮前數(shù)據(jù)保持裝置;對(duì)用上述壓縮前數(shù)據(jù)保持裝置保持的上述壓縮前數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮處理的數(shù)據(jù)壓縮處理裝置;保持來自上述數(shù)據(jù)壓縮處理裝置的壓縮數(shù)據(jù)的壓縮數(shù)據(jù)保持裝置;按照上述壓縮前數(shù)據(jù)與上述壓縮數(shù)據(jù)的各數(shù)據(jù)長和設(shè)定條件判斷應(yīng)傳送的數(shù)據(jù)的判斷裝置;按照來自上述判斷裝置的判斷結(jié)果,傳送用上述壓縮前數(shù)據(jù)保持裝置保持的壓縮前數(shù)據(jù)和用上述壓縮數(shù)據(jù)保持裝置保持的壓縮數(shù)據(jù)中任一種數(shù)據(jù)的數(shù)據(jù)傳送裝置。
2.權(quán)利要求1所說的數(shù)據(jù)傳輸裝置,其特征在于上述判斷裝置按照作為壓縮前數(shù)據(jù)的數(shù)據(jù)長與壓縮數(shù)據(jù)的數(shù)據(jù)長之差的實(shí)際差值和規(guī)定的設(shè)定差值進(jìn)行判斷處理,上述實(shí)際差值大于上述設(shè)定差值時(shí)輸出表示傳送壓縮數(shù)據(jù)的判斷結(jié)果,上述實(shí)際差值小于上述設(shè)定差值時(shí)輸出表示傳送壓縮前數(shù)據(jù)的判斷結(jié)果。
3.權(quán)利要求1所說的數(shù)據(jù)傳輸裝置,其特征在于上述判斷裝置按照作為壓縮前數(shù)據(jù)的數(shù)據(jù)長對(duì)壓縮數(shù)據(jù)的數(shù)據(jù)長的比率的實(shí)際壓縮率和規(guī)定的設(shè)定壓縮率進(jìn)行判斷處理,上述實(shí)際壓縮率大于上述設(shè)定壓縮率時(shí),輸出表示傳送壓縮數(shù)據(jù)的判斷結(jié)果,上述實(shí)際壓縮率小于上述設(shè)定壓縮率時(shí),輸出表示傳送壓縮前數(shù)據(jù)的判斷結(jié)果。
4.權(quán)利要求1所說的數(shù)據(jù)傳輸裝置,其特征在于作為壓縮前數(shù)據(jù)的數(shù)據(jù)長與壓縮數(shù)據(jù)的數(shù)據(jù)長之差的實(shí)際差值大于規(guī)定的設(shè)定差值而且作為壓縮前數(shù)據(jù)的數(shù)據(jù)長對(duì)壓縮數(shù)據(jù)的數(shù)據(jù)長的比率的實(shí)際壓縮率也大于規(guī)定的設(shè)定壓縮率時(shí),輸出表示傳送壓縮數(shù)據(jù)的判斷結(jié)果,除此之外的情況輸出表示傳送壓縮前數(shù)據(jù)的判斷結(jié)果。
5.權(quán)利要求1所說的數(shù)據(jù)傳輸裝置,其特征在于上述判斷裝置判斷作為上述壓縮前數(shù)據(jù)的數(shù)據(jù)長對(duì)壓縮數(shù)據(jù)的數(shù)據(jù)長的比率的實(shí)際壓縮率滿足預(yù)先設(shè)定的2個(gè)條件中的任一個(gè)條件,上述實(shí)際壓縮率滿足一個(gè)條件時(shí)輸出表示傳送壓縮數(shù)據(jù)的判斷結(jié)果,上述實(shí)際壓縮率滿足另一個(gè)條件時(shí)輸出表示傳送壓縮前數(shù)據(jù)的判斷結(jié)果。
6.權(quán)利要求5所說的數(shù)據(jù)傳輸裝置,其特征在于對(duì)壓縮前數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮時(shí),使壓縮率所期望的值設(shè)為期望壓縮率β時(shí),上述的一個(gè)條件是0<實(shí)際壓縮率ε<β(β-1),上述另一個(gè)條件是實(shí)際壓縮率ε≥β(β-1)。
7.權(quán)利要求2所說的數(shù)據(jù)傳輸裝置,其特征在于設(shè)置用以將上述設(shè)定壓縮率或上述設(shè)定差值以及上述設(shè)定壓縮率和上述設(shè)定差值變更為任意值的設(shè)定值變更裝置。
8.權(quán)利要求1所說的數(shù)據(jù)傳輸裝置,其特征在于上述壓縮前數(shù)據(jù)是由外部供給的數(shù)據(jù)。
9.權(quán)利要求1所說的數(shù)據(jù)傳輸裝置,其特征在于上述數(shù)據(jù)傳送裝置將上述壓縮前數(shù)據(jù)或上述壓縮數(shù)據(jù)傳送到對(duì)記錄介質(zhì)進(jìn)行數(shù)據(jù)記錄的數(shù)據(jù)記錄裝置上。
10.一種數(shù)據(jù)傳輸裝置,其特征在于它包括保持壓縮前數(shù)據(jù)的壓縮前數(shù)據(jù)保持裝置;將用上述壓縮前數(shù)據(jù)保持裝置保持的上述壓縮前數(shù)據(jù),用規(guī)定的數(shù)據(jù)長單位進(jìn)行數(shù)據(jù)壓縮處理的數(shù)據(jù)壓縮處理裝置;保持來自上述數(shù)據(jù)壓縮處理裝置的壓縮數(shù)據(jù)的壓縮數(shù)據(jù)保持裝置;按照用上述數(shù)據(jù)壓縮處理裝置對(duì)一部分壓縮前數(shù)據(jù)進(jìn)行壓縮處理得到的一部分壓縮數(shù)據(jù)的數(shù)據(jù)長和上述一部分壓縮前數(shù)據(jù)的數(shù)據(jù)長以及設(shè)定條件,判斷應(yīng)傳送的數(shù)據(jù)判斷裝置;按照來自上述判斷裝置的判斷結(jié)果,傳送用上述壓縮前數(shù)據(jù)保持裝置保持的壓縮前數(shù)據(jù)和用上述壓縮數(shù)據(jù)保持裝置保持的壓縮數(shù)據(jù)中任一種數(shù)據(jù)的數(shù)據(jù)傳送裝置。
11.權(quán)利要求10所說的數(shù)據(jù)傳輸裝置,其特征在于設(shè)置有順序刪除用上述數(shù)據(jù)壓縮處理裝置壓縮處理過的壓縮前數(shù)據(jù)的數(shù)據(jù)刪除裝置。
12.權(quán)利要求10所說的數(shù)據(jù)傳輸裝置,其特征在于上述判斷裝置按照作為上述一部分壓縮前數(shù)據(jù)的數(shù)據(jù)長對(duì)上述一部分壓縮數(shù)據(jù)的數(shù)據(jù)長的比率的預(yù)測壓縮率和規(guī)定的設(shè)定壓縮率,進(jìn)行上述判斷處理;上述預(yù)測壓縮率大于上述設(shè)定壓縮率時(shí)輸出表示傳送壓縮數(shù)據(jù)的判斷結(jié)果;上述預(yù)測壓縮率小于上述設(shè)定壓縮率時(shí)輸出表示傳送壓縮前數(shù)據(jù)的判斷結(jié)果。
13.權(quán)利要求10所說的數(shù)據(jù)傳輸裝置,其特征在于數(shù)據(jù)壓縮處理裝置,當(dāng)上述判斷裝置的判斷結(jié)果表示傳送壓縮前數(shù)據(jù)時(shí),對(duì)上述一部分壓縮前數(shù)據(jù)進(jìn)行壓縮處理時(shí)刻以后的壓縮數(shù)據(jù)停止壓縮處理。
14.權(quán)利要求12所說的數(shù)據(jù)傳輸裝置,其特征在于設(shè)置有對(duì)上述預(yù)測壓縮率進(jìn)行與數(shù)據(jù)種類對(duì)應(yīng)的加權(quán)的加權(quán)裝置。
15.權(quán)利要求12所說的數(shù)據(jù)傳輸裝置,其特征在于設(shè)置用以將上述設(shè)定壓縮率變更為任意值的設(shè)定值變更裝置。
16.權(quán)利要求10所說的數(shù)據(jù)傳輸裝置,其特征在于上述壓縮前數(shù)據(jù)是由外部供給的數(shù)據(jù)。
17.權(quán)利要求10所說的數(shù)據(jù)傳輸裝置,其特征在于上述數(shù)據(jù)傳送裝置將上述壓縮前數(shù)據(jù)或上述壓縮數(shù)據(jù)傳送到對(duì)記錄介質(zhì)進(jìn)行數(shù)據(jù)記錄的數(shù)據(jù)記錄裝置上。
18.一種數(shù)據(jù)記錄裝置,其特征在于它包括對(duì)記錄介質(zhì)進(jìn)行數(shù)據(jù)記錄的數(shù)據(jù)記錄單元;對(duì)輸入數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮處理的數(shù)據(jù)壓縮處理裝置;保持未對(duì)上述輸入數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮處理的壓縮前數(shù)據(jù)和來自上述數(shù)據(jù)壓縮處理裝置的壓縮數(shù)據(jù)的數(shù)據(jù)保持裝置;按照上述壓縮前數(shù)據(jù)與上述壓縮數(shù)據(jù)的各數(shù)據(jù)長和設(shè)定條件判斷應(yīng)傳送的數(shù)據(jù)的判斷裝置;按照來自上述判斷裝置的判斷結(jié)果,將用上述數(shù)據(jù)保持裝置保持的壓縮前數(shù)據(jù)和壓縮數(shù)據(jù)中任一種數(shù)據(jù)輸出到上述記錄裝置的數(shù)據(jù)輸出裝置。
19.權(quán)利要求18所說的數(shù)據(jù)記錄裝置,其特征在于上述判斷裝置按照作為壓縮前數(shù)據(jù)的數(shù)據(jù)長與壓縮數(shù)據(jù)的數(shù)據(jù)長之差的實(shí)際差值和規(guī)定的設(shè)定差值進(jìn)行上述判斷處理;上述實(shí)際差值大于上述設(shè)定差值時(shí)輸出表示傳送壓縮數(shù)據(jù)的判斷結(jié)果;上述實(shí)際差值小于上述設(shè)定差值時(shí)輸出表示傳送壓縮前數(shù)據(jù)的判斷結(jié)果。
20.權(quán)利要求18所說的數(shù)據(jù)記錄裝置,其特征在于上述判斷裝置按照作為壓縮前數(shù)據(jù)的數(shù)據(jù)長對(duì)壓縮數(shù)據(jù)的數(shù)據(jù)長的比率的實(shí)際壓縮率和規(guī)定的設(shè)定壓縮率進(jìn)行上述判斷處理;上述實(shí)際壓縮率大于上述設(shè)定壓縮率時(shí)輸出表示傳送壓縮數(shù)據(jù)的判斷結(jié)果;上述實(shí)際壓縮率小于上述設(shè)定壓縮率時(shí)輸出表示傳送壓縮前數(shù)據(jù)的判斷結(jié)果。
21.權(quán)利要求18所說的數(shù)據(jù)記錄裝置,其特征在于上述判斷裝置在作為壓縮前數(shù)據(jù)的數(shù)據(jù)長與壓縮數(shù)據(jù)的數(shù)據(jù)長之差的實(shí)際差值大于規(guī)定的設(shè)定差值而且作為壓縮前數(shù)據(jù)的數(shù)據(jù)長對(duì)壓縮數(shù)據(jù)的數(shù)據(jù)長的比率的實(shí)際壓縮率也大于規(guī)定的設(shè)定壓縮率時(shí),輸出表示傳送壓縮數(shù)據(jù)的判斷結(jié)果,除此以外的情況輸出表示傳送壓縮前數(shù)據(jù)的判斷結(jié)果。
22.權(quán)利要求18所說的數(shù)據(jù)記錄裝置,其特征在于上述判斷裝置判斷作為上述壓縮前數(shù)據(jù)的數(shù)據(jù)長對(duì)壓縮數(shù)據(jù)的數(shù)據(jù)長的比率的實(shí)際壓縮率滿足預(yù)先設(shè)定的2個(gè)條件中的任一個(gè)條件,上述實(shí)際壓縮率滿足一個(gè)條件時(shí)輸出表示傳送壓縮前數(shù)據(jù)的判斷結(jié)果,上述實(shí)際壓縮率滿足另一個(gè)條件時(shí)輸出表示傳送壓縮數(shù)據(jù)的判斷結(jié)果。
23.權(quán)利要求22所說的數(shù)據(jù)記錄裝置,其特征在于將壓縮前數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮時(shí)壓縮率所期望的值設(shè)為期望壓縮率β時(shí),上述一個(gè)條件是0<實(shí)際壓縮率ε<β(β-1),上述另一條件是實(shí)際壓縮率ε≥β(β-1)。
24.權(quán)利要求23所說的數(shù)據(jù)記錄裝置,其特征在于將用輸入數(shù)據(jù)的數(shù)據(jù)長決定的單位邏輯存貯塊作為基準(zhǔn),以在上述輸入數(shù)據(jù)中定義的地址為邏輯地址;用上述數(shù)據(jù)壓縮處理裝置以與上述預(yù)測壓縮率β相同的實(shí)際壓縮率對(duì)上述輸入數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮處理,將由進(jìn)行數(shù)據(jù)壓縮處理后的壓縮數(shù)據(jù)的數(shù)據(jù)長決定的單位物理存貯塊作為基準(zhǔn),作為在上述記錄介質(zhì)上記錄上述壓縮數(shù)據(jù)時(shí)的地址分配,將由此定義的地址作為物理地址時(shí),上述數(shù)據(jù)輸出裝置指定與上述輸入數(shù)據(jù)有關(guān)的壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)的寫入物理地址,將上述壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)輸出到上述數(shù)據(jù)記錄裝置。
25.權(quán)利要求24所說的數(shù)據(jù)記錄裝置,其特征在于分配對(duì)應(yīng)表使輸入數(shù)據(jù)的讀出邏輯地址和與該輸入數(shù)據(jù)有關(guān)的壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)的寫入物理地址對(duì)應(yīng);設(shè)置有將此分配對(duì)應(yīng)表記錄到記錄介質(zhì)的規(guī)定區(qū)域的記錄裝置。
26.權(quán)利要求25所說的數(shù)據(jù)記錄裝置,其特征在于設(shè)置有按照登錄在上述分配對(duì)應(yīng)表上的物理地址制作狀態(tài)記錄表的表制作裝置,所說的狀態(tài)記錄表是將上述記錄介質(zhì)上的數(shù)據(jù)狀態(tài)記錄以物理存貯塊單位作為比特信息展開而構(gòu)成。
27.權(quán)利要求26所說的數(shù)據(jù)記錄裝置,其特征在于上述表制作裝置設(shè)置有按照單位物理存貯塊計(jì)算出與登錄在上述分配對(duì)應(yīng)表上的物理地址對(duì)應(yīng)的比特的比特計(jì)算裝置;對(duì)構(gòu)成上述狀態(tài)記錄表的比特串列中用上述比特計(jì)算裝置算出的比特進(jìn)行置位處理的置位處理裝置。
28.權(quán)利要求24所說的數(shù)據(jù)記錄裝置,其特征在于設(shè)置有以物理存貯塊單位檢索上述記錄介質(zhì)上的實(shí)質(zhì)上成為未記錄區(qū)的區(qū)域并檢測出該未記錄區(qū)的物理地址的個(gè)別區(qū)檢索裝置;上述數(shù)據(jù)輸出裝置指定用上述個(gè)別區(qū)檢索裝置檢出的上述未記錄區(qū)的物理地址,將上述壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)輸出到上述數(shù)據(jù)記錄裝置。
29.權(quán)利要求28所說的數(shù)據(jù)記錄裝置,其特征在于上述個(gè)別區(qū)檢索裝置按照用上述制作裝置制成的上述狀態(tài)記錄表的比特信息檢測出上述未記錄區(qū)的物理地址。
30.權(quán)利要求24所說的數(shù)據(jù)記錄裝置,其特征在于設(shè)置有在上述數(shù)據(jù)壓縮處理裝置的實(shí)際壓縮率小于預(yù)測壓縮率而且所得到的壓縮數(shù)據(jù)跨越2個(gè)以上的物理存貯塊時(shí),以連續(xù)的上述2個(gè)以上的物理存貯塊單位檢索上述記錄介質(zhì)上的實(shí)質(zhì)上成為未記錄區(qū)的區(qū)域并檢測出該未記錄區(qū)的物理地址的連續(xù)區(qū)檢索裝置;上述數(shù)據(jù)輸出裝置指定用上述連續(xù)區(qū)檢索裝置檢出的上述未記錄區(qū)的物理地址,將上述壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)輸出到上述數(shù)據(jù)記錄裝置。
31.權(quán)利要求30所說的數(shù)據(jù)記錄裝置,其特征在于上述連續(xù)區(qū)檢索裝置按照與用上述表制作裝置制成的上述狀態(tài)記錄表中2個(gè)以上的物理存貯塊對(duì)應(yīng)的比特串列信息檢出上述未記錄區(qū)的物理地址。
32.權(quán)利要求25所說的數(shù)據(jù)記錄裝置,其特征在于上述分配對(duì)應(yīng)表設(shè)有第一登錄區(qū),用以與上述讀出邏輯地址對(duì)應(yīng)地登錄上述輸入數(shù)據(jù)的上述讀出邏輯地址,和與上述輸入地址有關(guān)的壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)的物理存貯塊單位的寫入物理地址;第二登錄區(qū),用以在上述壓縮數(shù)據(jù)或上述壓縮前數(shù)據(jù)跨越2個(gè)以上的物理存貯塊時(shí)除其前頭的物理存貯塊外各物理存貯塊的物理地址,分別作為連接地址登錄,將無連接地址的信息和表示記錄在上述記錄介質(zhì)上的數(shù)據(jù)是壓縮數(shù)據(jù)還是壓縮前數(shù)據(jù)的判斷數(shù)據(jù)登錄在上述第二登錄區(qū)中與最終物理存貯塊對(duì)應(yīng)的區(qū)域上。
33.一種數(shù)據(jù)傳輸方法,其特征在于按照所保持的壓縮前數(shù)據(jù)與對(duì)該壓縮前數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮處理得到的壓縮數(shù)據(jù)的各數(shù)據(jù)長和設(shè)定條件來判斷應(yīng)傳送的數(shù)據(jù),按照此判斷結(jié)果傳送上述壓縮前數(shù)據(jù)或上述壓縮數(shù)據(jù)中任一種數(shù)據(jù)。
34.權(quán)利要求33所說的數(shù)據(jù)傳輸方法,其特征在于上述判斷按照作為壓縮前數(shù)據(jù)的數(shù)據(jù)長與壓縮數(shù)據(jù)的數(shù)據(jù)長之差的實(shí)際差值和規(guī)定的設(shè)定差值來進(jìn)行,上述實(shí)際差值大于上述設(shè)定差值時(shí)傳送壓縮數(shù)據(jù),上述實(shí)際差值小于上述設(shè)定差值時(shí)傳送壓縮前數(shù)據(jù)。
35.權(quán)利要求33所說的數(shù)據(jù)傳輸方法,其特征在于上述判斷按照作為壓縮前數(shù)據(jù)的數(shù)據(jù)長對(duì)壓縮數(shù)據(jù)的數(shù)據(jù)長的比率的實(shí)際壓縮率和規(guī)定的設(shè)定壓縮率來進(jìn)行,上述實(shí)際壓縮率大于上述設(shè)定壓縮率時(shí)傳送壓縮數(shù)據(jù),上述實(shí)際壓縮率小于上述設(shè)定壓縮率時(shí)傳送壓縮前數(shù)據(jù)。
36.權(quán)利要求33所說的數(shù)據(jù)傳輸方法,其特征在于當(dāng)上述判斷結(jié)果是作為上述壓縮前數(shù)據(jù)的數(shù)據(jù)長與壓縮數(shù)據(jù)的數(shù)據(jù)長之差的實(shí)際差值大于規(guī)定的設(shè)定差值而且作為壓縮前數(shù)據(jù)的數(shù)據(jù)長對(duì)壓縮數(shù)據(jù)的數(shù)據(jù)長的比率的實(shí)際壓縮率也大于規(guī)定的設(shè)定壓縮率時(shí),傳送壓縮數(shù)據(jù),除此以外的場合傳送壓縮前數(shù)據(jù)。
37.權(quán)利要求33所說的數(shù)據(jù)傳輸方法,其特征在于上述判斷按作為上述壓縮前數(shù)據(jù)的數(shù)據(jù)長對(duì)壓縮數(shù)據(jù)的數(shù)據(jù)長的比率的實(shí)際壓縮率滿足預(yù)先規(guī)定的2個(gè)條件中的任一個(gè)條件來進(jìn)行,上述實(shí)際壓縮率滿足一個(gè)條件時(shí)傳送壓縮前數(shù)據(jù),上述實(shí)際壓縮率滿足另一個(gè)條件時(shí)傳送壓縮數(shù)據(jù)。
38.權(quán)利要求37所說的數(shù)據(jù)傳輸方法,其特征在于當(dāng)將壓縮前數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮時(shí)壓縮率所期望的值設(shè)為期望壓縮率β時(shí),上述一個(gè)條件是0<實(shí)際壓縮率ε<β(β-1),上述另一條件是實(shí)際壓縮率ε≥β(β-1)。
39.權(quán)利要求34所說的數(shù)據(jù)傳輸方法,其特征在于上述設(shè)定壓縮率或上述設(shè)定差值以及上述設(shè)定壓縮率和上述設(shè)定差值能變更為任意值。
40.權(quán)利要求33所說的數(shù)據(jù)傳輸方法,其特征在于上述壓縮前數(shù)據(jù)是由外部供給的數(shù)據(jù)。
41.權(quán)利要求33所說的數(shù)據(jù)傳輸方法,其特征在于將上述壓縮前數(shù)據(jù)或上述壓縮數(shù)據(jù)傳送到對(duì)上述記錄介質(zhì)進(jìn)行數(shù)據(jù)記錄的數(shù)據(jù)記錄裝置上。
42.一種數(shù)據(jù)傳輸方法,其特征在于按照對(duì)所保持的壓縮前數(shù)據(jù)中一部分壓縮前數(shù)據(jù)進(jìn)行壓縮處理得到的一部分壓縮數(shù)據(jù)的數(shù)據(jù)長和上述一部分壓縮前數(shù)據(jù)的數(shù)據(jù)長以及設(shè)定條件,判斷應(yīng)傳送的數(shù)據(jù),按照此判斷結(jié)果傳送上述壓縮前數(shù)據(jù)和壓縮數(shù)據(jù)中的任一種數(shù)據(jù)。
43.權(quán)利要求42所說的數(shù)據(jù)傳輸方法,其特征在于按順序刪除按上述數(shù)據(jù)壓縮處理方式進(jìn)行過數(shù)據(jù)壓縮處理的壓縮前數(shù)據(jù)。
44.權(quán)利要求42所說的數(shù)據(jù)傳輸方法,其特征在于上述判斷按照作為上述一部分壓縮前數(shù)據(jù)的數(shù)據(jù)長對(duì)上述一部分壓縮數(shù)據(jù)的數(shù)據(jù)長的比率的預(yù)測壓縮率和規(guī)定的設(shè)定壓縮率來進(jìn)行,上述預(yù)測壓縮率大于上述設(shè)定壓縮率時(shí)傳送壓縮數(shù)據(jù),上述預(yù)測壓縮率小于上述設(shè)定壓縮率時(shí)傳送壓縮前數(shù)據(jù)。
45.權(quán)利要求42所說的數(shù)據(jù)傳輸方法,其特征在于上述判斷結(jié)果表示傳送壓縮前數(shù)據(jù)時(shí),對(duì)上述一部分壓縮前數(shù)據(jù)進(jìn)行壓縮處理時(shí)刻以后的壓縮前數(shù)據(jù)不再進(jìn)行壓縮處理。
46.權(quán)利要求44所說的數(shù)據(jù)傳輸方法,其特征在于對(duì)上述預(yù)測壓縮率進(jìn)行與數(shù)據(jù)種類對(duì)應(yīng)的加權(quán)。
47.權(quán)利要求44所說的數(shù)據(jù)傳輸方法,其特征在于上述設(shè)定壓縮率能變更為任意值。
48.權(quán)利要求42所說的數(shù)據(jù)傳輸方法,其特征在于上述壓縮前數(shù)據(jù)是由外部供給的數(shù)據(jù)。
49.權(quán)利要求42所說的數(shù)據(jù)傳輸方法,其特征在于將上述壓縮前數(shù)據(jù)或上述壓縮數(shù)據(jù)傳送到對(duì)記錄介質(zhì)進(jìn)行數(shù)據(jù)記錄的數(shù)據(jù)記錄裝置上。
50.一種數(shù)據(jù)記錄方法,其特征在于按照未對(duì)輸入數(shù)據(jù)進(jìn)行壓縮處理的壓縮前數(shù)據(jù)與對(duì)上述輸入數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮處理得到的壓縮數(shù)據(jù)的各數(shù)據(jù)長和設(shè)定條件,判斷應(yīng)記錄的數(shù)據(jù),按照此判斷結(jié)果,將壓縮前數(shù)據(jù)和壓縮數(shù)據(jù)中的任一種數(shù)據(jù)記錄到記錄介質(zhì)上。
51.權(quán)利要求50所說的數(shù)據(jù)記錄方法,其特征在于上述判斷按照作為壓縮前數(shù)據(jù)的數(shù)據(jù)長與壓縮數(shù)據(jù)的數(shù)據(jù)長之差的實(shí)際差值和規(guī)定的設(shè)定差值來進(jìn)行,上述實(shí)際差值大于上述設(shè)定差值時(shí)記錄壓縮數(shù)據(jù),上述實(shí)際差值小于上述設(shè)定差值時(shí)記錄壓縮前數(shù)據(jù)。
52.權(quán)利要求50所說的數(shù)據(jù)記錄方法,其特征在于上述判斷按照作為壓縮前數(shù)據(jù)的數(shù)據(jù)長對(duì)壓縮數(shù)據(jù)的數(shù)據(jù)長的比率的實(shí)際壓縮率和規(guī)定的設(shè)定壓縮率來進(jìn)行,上述實(shí)際壓縮率大于上述設(shè)定壓縮率時(shí)記錄壓縮數(shù)據(jù),上述實(shí)際壓縮率小于上述設(shè)定壓縮率時(shí)記錄壓縮前數(shù)據(jù)。
53.權(quán)利要求50所說的數(shù)據(jù)記錄方法,其特征在于當(dāng)上述判斷結(jié)果是作為壓縮前數(shù)據(jù)的數(shù)據(jù)長與壓縮數(shù)據(jù)的數(shù)據(jù)長之差的實(shí)際差值大于規(guī)定的設(shè)定差值而且作為壓縮前數(shù)據(jù)的數(shù)據(jù)長對(duì)壓縮數(shù)據(jù)的數(shù)據(jù)長的比率的實(shí)際壓縮率也大于規(guī)定的設(shè)定壓縮率時(shí),記錄壓縮數(shù)據(jù),除此以外的場合記錄壓縮前數(shù)據(jù)。
54.權(quán)利要求50所說的數(shù)據(jù)記錄方法,其特征在于上述判斷按照作為上述壓縮前數(shù)據(jù)的數(shù)據(jù)長對(duì)壓縮數(shù)據(jù)的數(shù)據(jù)長的比率的實(shí)際壓縮率滿足預(yù)定的2個(gè)條件中任一個(gè)條件來進(jìn)行,上述實(shí)際壓縮率滿足一個(gè)條件時(shí)記錄壓縮前數(shù)據(jù),上述實(shí)際壓縮率滿足另一個(gè)條件時(shí)記錄壓縮數(shù)據(jù)。
55.權(quán)利要求54所說的數(shù)據(jù)記錄方法,其特征在于將壓縮前數(shù)據(jù)進(jìn)行數(shù)據(jù)壓時(shí)壓縮率所期望的值設(shè)為期待壓縮率β時(shí),上述一個(gè)條件是0<實(shí)際壓縮率ε<β(β-1),上述另一個(gè)條件是實(shí)際壓縮率ε≥β(β-1)。
56.權(quán)利要求55所說的數(shù)據(jù)記錄方法,其特征在于由上述輸入數(shù)據(jù)的數(shù)據(jù)長決定的單位邏輯存貯塊作為基準(zhǔn),在上述輸入數(shù)據(jù)中所定義的地址作為邏輯地址,以與上述預(yù)測壓縮率ε相同的實(shí)際壓縮率ε對(duì)上述輸入數(shù)據(jù)進(jìn)入數(shù)據(jù)壓縮處理,把由進(jìn)行數(shù)據(jù)壓縮處理后的壓縮數(shù)據(jù)的數(shù)據(jù)長決定的單位物理存貯塊作為基準(zhǔn),將以在上述記錄介質(zhì)上記錄上述壓縮數(shù)據(jù)時(shí)的地址分配來定義的地址作為物理地址時(shí),指定與上述輸入數(shù)據(jù)有關(guān)的壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)的寫入物理地址,記錄上述壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)。
57.權(quán)利要求56所說的數(shù)據(jù)記錄方法,其特征在于將分配對(duì)應(yīng)表記錄在記錄介質(zhì)的規(guī)定區(qū)域上,所說的分配對(duì)應(yīng)表對(duì)應(yīng)上述輸入數(shù)據(jù)的讀出邏輯地址和與該輸入數(shù)據(jù)有關(guān)的壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)的寫入物理地址。
58.權(quán)利要求57所說的數(shù)據(jù)記錄方法,其特征在于按照登錄在上述分配對(duì)應(yīng)表上的物理地址制成狀態(tài)記錄表,所說的狀態(tài)記錄表是將上述記錄介質(zhì)的數(shù)據(jù)狀態(tài)記錄以物理存貯塊單位作為比特信息展開而構(gòu)成。
59.權(quán)利要求58所說的數(shù)據(jù)記錄方法,其特征在于按照單位邏輯存貯塊算出與登錄在上述分配對(duì)應(yīng)表上的物理地址對(duì)應(yīng)的比特,對(duì)構(gòu)成上述狀態(tài)記錄表的比特串列中的上述已算出的比特進(jìn)行置位處理。
60.權(quán)利要求56所說的數(shù)據(jù)記錄方法,其特征在于以物理存貯塊單位檢索上述記錄介質(zhì)上的實(shí)質(zhì)上成為未記錄區(qū)的區(qū)域,檢出該未記錄區(qū)的物理地址,指定此已檢出的上述未記錄區(qū)的物理地址,記錄上述壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)。
61.權(quán)利要求60所說的數(shù)據(jù)記錄方法,其特征在于按照上述狀態(tài)記錄表的比特信息檢測出上述未記錄區(qū)的物理地址。
62.權(quán)利要求56所說的數(shù)據(jù)記錄方法,其特征在于當(dāng)上述實(shí)際壓縮率小于預(yù)測壓縮率而且所得到的壓縮數(shù)據(jù)跨越2個(gè)以上的物理存貯塊時(shí),以連續(xù)的上述2個(gè)以上的物理存貯塊單位檢索上述記錄介質(zhì)上的實(shí)質(zhì)上成為未記錄區(qū)的區(qū)域,檢測出該未記錄區(qū)的物理地址,指定此已檢出的上述未記錄區(qū)的物理地址,記錄上述壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)。
63.權(quán)利要求62所說的數(shù)據(jù)記錄方法,其特征在于按照上述狀態(tài)記錄表中與上述2個(gè)以上的物理存貯塊對(duì)應(yīng)的比特串列信息,檢測出上述未記錄區(qū)的物理地址。
64.權(quán)利要求57所說的數(shù)據(jù)記錄方法,其特征在于上述分配對(duì)應(yīng)表有第一登錄區(qū)和第二登錄區(qū),其中所述第一登錄區(qū)用以與上述讀出邏輯地址對(duì)應(yīng)地登錄上述輸入數(shù)據(jù)的上述讀出邏輯地址,和與上述輸入數(shù)據(jù)有關(guān)的壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)的物理存貯塊單位的寫入物理地址;所述第二登錄區(qū),用以當(dāng)上述壓縮數(shù)據(jù)或壓縮前數(shù)據(jù)跨越2個(gè)以上的物理存貯塊時(shí)登錄除其前頭物理存貯塊外各物理存貯塊的物理地址,分別作為連接地址;在上述第二登錄區(qū)中與最終物理存貯塊對(duì)應(yīng)的區(qū)域上登錄無連接地址的信息和表示記錄在上述記錄介質(zhì)上的數(shù)據(jù)是壓縮數(shù)據(jù)還是壓縮前數(shù)據(jù)的判斷數(shù)據(jù)。
全文摘要
在本發(fā)明的數(shù)據(jù)傳輸裝置,按照壓縮前數(shù)據(jù)的數(shù)據(jù)長和壓縮數(shù)據(jù)的數(shù)據(jù)長,分別運(yùn)算實(shí)際差值和實(shí)際壓縮率。當(dāng)實(shí)際差值大于設(shè)定差值α而且實(shí)際壓縮率也大于設(shè)定壓縮率β時(shí),通過數(shù)據(jù)輸出裝置79向數(shù)據(jù)輸出端3傳輸壓縮數(shù)據(jù),除此以外的場合向輸出端3傳輸壓縮前數(shù)據(jù)。防止進(jìn)行數(shù)據(jù)壓縮的數(shù)據(jù)與未壓縮的數(shù)據(jù)在存儲(chǔ)區(qū)上占有的空間大體相同等現(xiàn)象,避免在數(shù)據(jù)輸出端3上進(jìn)行無用的解壓縮處理。
文檔編號(hào)H03M7/48GK1127558SQ9519033
公開日1996年7月24日 申請(qǐng)日期1995年4月21日 優(yōu)先權(quán)日1994年4月22日
發(fā)明者川島哲司, 豬口達(dá)也 申請(qǐng)人:索尼公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
汉阴县| 安达市| 临清市| 安丘市| 普宁市| 崇仁县| 玉田县| 普宁市| 望城县| 南漳县| 北安市| 金堂县| 吉林市| 青神县| 朝阳市| 吴川市| 繁峙县| 惠来县| 南部县| 财经| 阿鲁科尔沁旗| 特克斯县| 大同市| 恩平市| 临夏市| 永川市| 榆社县| 高台县| 外汇| 平昌县| 双鸭山市| 锦州市| 开阳县| 毕节市| 漾濞| 门头沟区| 丰镇市| 阿尔山市| 榆树市| 武隆县| 始兴县|