專利名稱::雙儲存裝置的電腦系統的數據記錄存取控制裝置及方法
技術領域:
:本發明是關于一種保護數據記錄的控制裝置,其置于一電腦系統的儲存裝置與數據處理裝置之間,用以保護儲存于該儲存裝置中的數據記錄,使得該數據記錄不致遭到不當的修改、刪除或損害。電腦系統若經未授權的更改,可能造成個人或企業用戶在生產力、營收以及利潤上的損失。企業內多人共用的電腦系統中,各電腦機器有相同的設定較利于維護和使用。若是各電腦使用者任意地更改各使用端的設定,將會導致系統內的各使用端之間不相容、不同使用端人機界面的不一致以及電腦運作的不穩定等問題,不但加重系統維護人員的工作負擔,更可能損及企業或個人生產力。在某些情況下,必須允許合法使用者更新數據,且提供該儲存裝置正確設定值的備份。如此,使用者可以籍由新增、刪除或更改該儲存裝置中的數據內容來改變電腦的組態設定,當使用者對數據的更動導致電腦運作發生問題時,能夠利用先前電腦組態的備份,將電腦恢復成被更動前的正確記錄狀態。目前,市面上已有許多用以防止硬盤上的數據記錄被不當更改的工具,這些數據記錄保護的工具中,有些是以軟件為手段,有些則結合了軟硬件。使用軟件手段來保護數據記錄的系統,大多數是籍由阻止使用者讀取或寫入硬盤中的數據,來達到保護數據記錄的目的。當使用者下達寫入數據指令時,數據被載入到一特定的記憶空間中,而不會被寫入硬盤內,因此不會更動硬盤中的數據記錄內容。當使用者欲讀取該筆寫入數據時,是由該特定記憶空間中讀取,而不由硬盤中讀取。當使用者關機或重開機時,儲存于前述特定數據空間而沒有載入硬盤的數據記錄,都會消失。上述方法有一明顯缺點。這些軟件所提供的數據保護手段很容易被破解,所以并不能防范電腦病毒之類的惡意入侵程序。由于這類軟件無法將前述特定記憶空間隱藏,使得惡意入侵程序可能只要利用低階的輸入輸出指令,就可以讀寫該記憶空間中的數據,并且進一步修改硬盤里的數據。此外,保護數據記錄的軟件,通常是設計在特定平臺上運作,所以易產生與作業系統和處理器的相容性問題。結合軟硬件的數據保護手段,通常包含一軟件程序和一卡式元件,利用周邊零件連接界面(PCI)或其他延伸插槽將該卡式元件和電腦連結。該軟件部分是用以設定卡式元件,攔截數據存取指令,并將之傳送到卡式元件中的處理器作處理。這種數據保護手段,亦無法其在隱藏硬盤中使用的記憶區塊,因此如同上述的軟件手段,易被惡意程序探知并加以破解。因此本發明人有鑒于此,經過不斷研究測試后始有本發明的產生,以提供一用以保護數據記錄的控制裝置,使得能夠不受作業系統或處理器的相容性限制,同時不容易被惡意入侵的人員或軟件破解。本發明的另一目的是提供一用以保護數據的保護電路。為達成本發明上述目的,本發明提供一種用于雙重儲存裝置的電腦系統的數據記錄存取控制裝置(以下簡稱控制裝置),其連結于一電腦系統的一第一儲存裝置、一第二儲存裝置與一處理器之間,使得可以控制該儲存裝置中數據記錄的存取,包括一第一連結單元,其為一控制器處理器界面,并籍由一控制器處理器數據總線連結該控制裝置與該處理器,使得數據能在該控制裝置與該處理器之間傳送;一第二連結單元,其為一控制器儲存器界面,并籍由一第一控制器儲存器數據總線將該控制裝置與該第一儲存裝置連接,使得數據能在該控制裝置與該第一儲存裝置之間傳送;一第三連結單元,其為一控制器儲存器界面,并籍由一第二控制器儲存器數據總線將該控制裝置與該第二儲存裝置連結,使得數據能在該控制裝置與該第二儲存裝置之間傳送;一信號處理單元。其是介于該控制器處理器界面與該第一控制器儲存器界面、該第二控制器儲存器界面之間,用以執行一保護數據儲存記錄的方法,其是依據各儲存裝置的不同設定,使得欲加以防護的數據的存取動作能夠受到該控制裝置的控管。為使熟悉該技術的人士了解本發明的目的、特征及功效,籍由下述具體實施例,并配合圖式,對本發明詳加說明。圖2顯示依據本發明實施例的數據保護程序流程圖。主要元件編號100電腦系統(computingsystem)200主機板(mainboard)210處理器(processor)220處理器儲存器界面(processor-storageinterface)230控制器處理器數據總線(controller-processordatabus)300控制裝置(controller)310控制器處理器界面(controller-processorinterface)320信號處理器(signalprocessor)330控制器儲存裝置界面(processor-storageinterface)340微處理器(micro-processor)350隨機存取記憶體(randomaccessmemory,RAM)360只讀記憶體(EPROM)370控制器只讀數據總線(Controller-readonlydatabus)380控制器映射儲存器界面(controller-shadowinterface)390控制器映射數據總線(Controller-shadowdatabus)400只讀數據儲存裝置(readonlystoragedevice)410只讀儲存裝置界面(readonlystoragedeviceinterface)460只讀區(readonlyzone)470數據儲存區塊(datablock)480只讀數據儲存區塊(readonlydatablock)500映射數據儲存裝置(shadowstoragedevice)510映射儲存裝置界面(shadowstoragedeviceinterface)540管理區(adminzone)560映射數據儲存區(shadowstoragespace)570數據出區塊(datablock)580映射數據儲存區塊(shadowdatablock)582管理數據儲存區塊(admindatablock)590位置表(locationtable)595組態表(configurationtable)主要方法步驟編號300數據保護程序302進入數據保護模式303初始化映射數據儲存裝置304初始化位置表306接收數據讀取或數據寫入指令308判斷接收指令的種類312判斷指定讀取的數據是否儲存于映射數據儲存裝置314將欲讀取的數據傳送至處理器320從映射數據儲存區塊中將欲讀取數據載入處理器342將指定寫入數據載入映射數據儲存裝置圖1顯示一電腦系統100,其結合一依據本發明第一實施例的控制裝置300。其中該電腦系統100包含一處理器210及一只讀數據儲存裝置500。電腦系統100是可以為任何需要將軟件或數據儲存于一儲存裝置的裝置。例如電腦系統100為一般個人電腦,而處理器210為控制該電腦的微處理器,只讀數據儲存裝置400可以為一硬盤機或其他儲存裝置。或者電腦系統100可以為一游戲控制操作臺,而處理器210為一微處理器,其用以運作該游戲控制操作臺以及其所連結的只讀數據儲存裝置400及映射數據儲存裝置500。控制裝置300包括第一連結單元,其是為一控制器處理器界面310,并籍由一控制器處理器數據總線230連結儲存器防火墻控制裝置300與處理器210;第二連結單元,其是為一控制儲存器界面330,并籍由一控制器儲存器數據總線370連結控制裝置300與只讀儲存裝置400;第三連結單元,其是為一控制器映射儲存器界面380,并籍由一第二控制器儲存器數據總線390將控制裝置300與儲存裝置500連結;信號處理單元320,其是介于該控制器處理器界面310與該控制器儲存界面330之間,并與一微處理器340連結,微處理器340則與一隨機存取記憶體350及一用以儲存程序碼的非揮發性記憶體360連結。處理器210是經由一控制器處理器數據總線230與控制裝置300上的控制器處理器界面310連結。處理器210發出的數據讀取指令及數據寫入指令能夠經由控制器處理器數據總線230傳送到儲存器防火墻控制裝置300。只讀數據儲存裝置400包含一儲存裝置界面410,其經由一控制器儲存裝置數據總線370與儲存器防火墻控制裝置300上的控制器儲存裝置界面330連結。控制裝置300能依據處理器210發出的數據讀取寫入指令,經由控制器儲存裝置數據總線370,將指定存取數據自數據儲存裝置400中存取。控制裝置300能依據處理器210發出的數據讀取寫入指令,經由控制器儲存裝置數據總線390,將指定存取數據自映射數據儲存裝置500中存取。在一較理想的情況下,控制器處理器界面310和只讀數據儲存裝置400的儲存裝置界面410以及映射數據儲存裝置500的儲存裝置界面510相同。如此,控制裝置300可以安裝于處理器210和只讀數據儲存裝置400、映射數據儲存裝置500之間。數據儲存裝置400包含一只讀數據儲存區域460,其是分割為復數個數據儲存區塊470。其作為防護數據儲存區塊480。數據儲存裝置500包含一只讀數據儲存區域560,其是分割為復數個數據儲存區塊570,其是分為映射數據儲存區塊580及管理數據區塊582。在一較理想狀況下,數據儲存裝置400中的防護數據儲存區塊480和數據儲存裝置500中映射數據儲存區塊580的區塊數目相同,使得每一個防護數據儲存區塊480能與一個映射數據儲存區塊580相對應。管理區540包含一位置表590及一組態表595。位置表590包含每一映射數據儲存區塊580的位置,其是用以標示存有有效數據的映射數據儲存區塊580。每一映射數據儲存區塊580中數據記錄的有效性,在位置表590中是以一位元記錄表示。當位元記錄為1時,表示該映射數據儲存區塊中的數據記錄為有效,當位元記錄為0時,表示該映射儲存區塊不含有有效數據。若某一映射數據儲存區塊的該位元記錄為1,則該控制器將從數據儲存裝置400中讀取數據記錄。若某一映射數據儲存區塊的該位元記錄為0,則控制器將從數據儲存裝置400中讀取數據記錄。組態表595用以記錄各儲存區域的組態、參數大小等。以下敘述電腦系統100的一實施例。該實施例包含一可用于一般辦公室環境的電腦系統,其是使用MicrosoftWindowsTM的作業系統。該電腦系統的處理器210為一微處理器,其是用以執行軟件及控制周邊裝置。該電腦系統的數據儲存裝置為一個IDE型的硬盤機,其是由一連結于該硬盤機與該處理器之間的IDE控制器所控制。在此實施例中,儲存器防火墻控制裝置300是連結于該IDE控制器和該硬盤機之間,且該控制裝置對該IDE控制器為透通的(transparent)。該IDE控制器和硬盤機之間的數據流通狀況,如同兩者直接連結,而無該控制裝置存在一樣。實際上,控制裝置300會將映射硬盤機對該IDE控制器隱藏,將控制裝置300的運作說明如下。控制裝置300控制兩個硬盤的運作,其一為只讀硬盤400,其二為映射硬盤500。只讀硬盤儲存區塊470是屬只讀區塊480。映射硬盤500的數據儲存區塊570是屬映射區塊580。另外,儲存區塊570中屬于管理區440者,是為管理數據儲存區塊582。只讀硬盤400中記錄有系統管理者欲加以保護的防護數據,使其不能被更改或刪除。在電腦系統100新開始每一個運作段落時,控制裝置300均將映射硬盤500視為未使用,此時位置表590將每一映射數據區塊580的有效值設定為0,表示該映射數據區塊不含有有效數據。當處理器210傳達一數據寫入命令以增刪或修改只讀硬盤400中的數據記錄時,該指定寫入數據不會記錄在只讀硬盤400內,而會載入映射硬盤500中與防護數據儲存區塊480相對應的影射數據區塊580中,并更新管理區540中位置表590的記錄,將該映射數據區塊580的數據記錄為有效。當處理器210下達對某一防護數據檔案的讀取命令時,控制裝置300從只讀硬盤400中一或復數個防護數據儲存區塊480中讀取該防護數據,并傳送給處理器210。被更改過的數據記錄將會傳送給控制裝置300,并儲存數據儲存裝置400中。然該更改過的數據記錄被當作映射數據,記載于映射硬盤500中,并更新管理區540的位置表590的記錄,將該映射數據區塊的數據記錄為有效。由于電腦系統100在每一個運作段落開始時,會將映射硬盤500視為空置未用,因此在該運作段落開始前所有的數據更改內容,都不會被保留。在只讀硬盤400內的原始數據記錄,則被視為是最新的數據記錄內容。圖2顯示方法300,其是為控制裝置300一般運作的方式。由處理器210所發出的指令中,欲將先前存入數據儲存裝置400的數據記錄加以讀取者,稱之為讀取指令,而該讀取標的數據稱之為指定讀取數據;欲將數據載入者,稱之為寫入指令,而該寫入標的稱之為指定寫入數據。方法300始于步驟302,其為控制裝置300進入數據保護模式。當電腦系統100開始一新的運作段落時,控制裝置300會自動進入數據保護模式。電腦系統的新運作段落,通常是以電腦開機或重開機為開始。方法300接著進入步驟303,其是為控制裝置300將映射硬盤500初始化。控制裝置300將管理區540的位置表590的每一位元記錄為0,表示所有映射數據儲存區塊580都不含有有效數據。步驟303是用以將電腦系統100在前一運作段落所載入映射硬盤500中的草稿數據,都加以去除。為避免起始過程耗費太多時間,實際上,控制裝置300并未逐筆刪除每一映射數據儲存區塊580內的數據記錄。而且這種逐筆刪除的動作也是不必要的。由于在管理區540的位置表590中每一數據區塊的記錄均不為有效,控制裝置300會對該運作段落開始前已儲存于映射數據儲存區塊580內的數據記錄視而不見。方法300接著進入步驟304。在此步驟中,控制裝置300將管理區540的位置表590初始化。方法300接著回到步驟306,控制裝置300接收處理器210下達的數據存取指令。方法300接著進行步驟308,如果步驟306中接收數據讀取指令,則進行步驟310,否則進行步驟340。步驟310是為審視所接收的該數據讀取指令,若其指定讀取標的位于映射硬盤500中,進行步驟330,否則進行步驟312。步驟312是為儲存器防火墻控制裝置300查閱管理區540的位置表590,以確定處理器210指定讀取的數據是否位于映射硬盤500中,若是則進行步驟320,否則進行步驟314。方法300接著進行步驟314,其是從只讀硬盤400中讀取該指定數據并傳送到處理器210。方法300接著回到步驟306,等候處理器210下達一個指令。步驟320是為控制裝置300處理一讀取指令,其指定讀取標的是為一已存于映射硬盤500中的數據記錄。該指定讀取的映射數據是以于下述步驟342中,依據處理器210所傳達的數據寫入指令,將指定寫入數據寫入映射硬盤500中。制器裝置300確定指定讀取數據所在的映射數據儲存區塊580。將之讀取并傳送到處理器210。方法300接著回到步驟306。等候處理器下達下一個讀取指令,步驟340是為控制裝置300處理一寫入指令,該指令寫入數據將載入映射硬盤500中,并進入步驟342。步驟342是為控制裝置300確定指定讀取數據應載入的映射數據儲存區塊580。控制裝置300亦更新管理區540中位置表590的內容,將該寫入數據的映射數據儲存區塊580標示為有效的數據區塊。方法300接著回到步驟306,等候處理器下達下一個指令。在數據保護模式下,控制裝置300不會將任何數據寫入只讀硬盤400中。因此,只讀硬盤400在最后一次更新其內容后,會一直保有同樣的數據內容。在電腦系統100的一運作段落中,使用者欲對防護數據進行的任何存取或修改,都會在步驟342中,以映射數據的形式載入影射硬盤500中。就處理器210而言,其是可以傳達一般的數據存取指令,且該指令可以以一般方式完成。不過,當電腦系統100新開始一運作段落時,籍由步驟303的進行,在數據保護模式下所做的所有數據更動將不存在。上述實施狀態是針對一IDE硬盤機。本發明亦可以與其他儲存裝置配合使用,例如ISA、ATA、EIDE、SCSI及其他種類硬盤機。此外,本發明亦適用于其他數據儲存裝置,包括固態記憶裝置如磁性記憶裝置、快閃記憶卡、PC卡等。雖然本發明已以數個較佳實施例公開如上,然其并非用以限定本發明,任何熟悉此技術者,在不脫離本發明的精神和范圍內,當可作各種的更動與潤飾,凡所做的各種更動與潤飾皆在本發明后附之權利要求的范圍內。權利要求1.一種用于雙儲存裝置的電腦系統的數據記錄存取控制裝置,其連結于一電腦系統的一第一儲存裝置、第二儲存裝置與一處理器之間,使得可以控制該儲存裝置中數據記錄的存取,其包括一第一連結單元,其是為一控制器處理器界面,并籍由一控制器處理器數據總線連結該控制裝置與該處理器,使得數據能在該控制裝置與該處理器之間傳送;一第二連結單元,其是為一控制器儲存器界面,并籍由一第一控制器數據總線將該控制裝置與該第一儲存裝置連接,使得數據能在該控制裝置與該第一儲存裝置之間傳送;一第三連結單元,其是為一控制器儲存器界面,并籍由一第二控制器儲存器數據總線將該控制裝置與該第二儲存裝置連結,使得數據能在該控制裝置與該第二儲存裝置之間傳送;一信號處理單元,其是介于該控制器處理器界面與該第一控制器儲存器界面、該第二控制器儲存器界面之間,用以控制該儲存裝置的數據存取。2.如權利要求1所述的用于雙儲存裝置的電腦系統的數據記錄存取控制裝置,該第一儲存裝置是為一只讀儲存裝置,用以儲存欲防護的只讀數據。3.如權利要求1所述的用于雙儲存裝置的電腦系統的數據記錄存取控制裝置,該第二儲存裝置是為一映射儲存裝置,用以儲存該欲防護數據的映射數據。4.如權利要求3所述的用于雙儲存裝置的電腦系統的數據記錄存取控制裝置,其中映射儲存裝置包含一映射數據儲存區,其是由復數個映射數據儲存區塊所構成。5.如權利要求3所述的用于雙儲存裝置的電腦系統的數據記錄存取控制裝置,其中該映射儲存裝置包含一管理數據儲存區,其是由復數個管理數據儲存區塊所構成。6.如權利要求5所述的用于雙儲存裝置的電腦系統的數據記錄存取控制裝置,其中該管理數據儲存區包含一位置表,其包含每一映射數據儲存區塊的位置,用以標示存有有效數據的映射數據儲存區塊。7.如權利要求5所述的用于雙儲存裝置的電腦系統的數據記錄存取控制裝置,其中該管理數據儲存區包含一組態表,其用以記錄各儲存區域的組態設定信息。8.如權利要求1所述的用于雙儲存裝置的電腦系統的數據記錄存取控制裝置,其中該信號處理單元是連結一微處理器,該微處理器則與一隨機存取記憶體及一用以儲存程序碼的非揮發性記憶體連結。9.一種保護儲存裝置上數據記錄的方法,適用于一電腦系統,其中該電腦系統至少包含一第一儲存裝置、一第二儲存裝置、一處理器及一控制裝置,其中該第一儲存裝置為一只讀數據儲存裝置,用以儲存防護數據,該第二儲存裝置為一映射數據儲存裝置,用以儲存該防護數據對應的映射數據及該映射數據的管理信息,該方法包括A.使該控制裝置進入數據保護模式;B.初始化映射數據儲存裝置;C.初始化一位置表,其是用以記錄該管理信息;D.接收數據讀取或數據寫入指令;E.判斷接收指令種類,若該指令為數據讀取指令,則進行步驟(F),否則進行步驟(H);F.判斷數據讀取指令中指定數據的防護類型,若為一防護數據,則進行步驟(G),否則進行步驟(I);G.將欲讀取的防護數據傳送至該處理器;H.將指定寫入數據載入映射數據儲存裝置;I.讀取指定的映射數據并傳送至該處理器;全文摘要本發明提供一種用于雙儲存裝置的電腦系統的數據記錄存取控制裝置,其連結于一電腦系統的一第一儲存裝置、一第二儲存裝置與一處理器之間,使得可以控制該儲存裝置中數據記錄的存取,包括一第一連結單元,一第二連結單元,一第三連結單元,一信號處理單元,其介于該控制器處理器界面與該第一控制器儲存器界面、該第二控制器儲存器界面之間,用以執行一保護數據儲存記錄的方法,其依據各儲存裝置的不同設定,使得欲加以防護的數據的存取動作能夠受到該控制裝置的控管。文檔編號G06F12/06GK1444143SQ02107179公開日2003年9月24日申請日期2002年3月13日優先權日2002年3月13日發明者郭昭正申請人:六舜實業股份有限公司