国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于ide/ata數據傳輸的實時數據加密/解密系統及方法

      文檔序號:7596425閱讀:206來源:國知局
      專利名稱:用于ide/ata數據傳輸的實時數據加密/解密系統及方法
      技術領域
      本發(fā)明涉及資料加密/解密,特別是一種用于IDE/ATA數據傳輸的實時數據加密/解密系統。
      背景技術
      整合驅動電子裝置(Integrated Drive Electronics,簡稱IDE)為用于計算機主機板總線與磁盤儲存裝置之間的標準電子接口。已采用IDE當作美國國家標準協會(American National Standards Institute,簡稱ANSI)的標準,藉此關于IDE的ANSI設計為先進技術附件(Advacnced Technology Attachment,簡稱ATA)。IDE/ATA也稱為計算機或主裝置將資料轉移到資料儲存裝置,或是從資料儲存裝置將數據傳輸到計算機或主裝置的電子協議。IDE中所使用的數據傳輸方法有二種程序化輸入/輸出(Programmed Input/Output,簡稱PIO)及直接內存存取(Direct Memory Access,簡稱DMA)。在PIO模式中,數據傳輸是藉由主裝置或處理器來激活及進行。在DMA模式中,數據傳輸是藉由用于主裝置與資料儲存裝置之間的交握的訊號來控制。
      當私密的資料被存取于無法保證其可控制的儲存媒體中時,資料加密及解密會產生保護資料免于未授權存取的機制。資料可藉由將從主裝置傳送到資料儲存裝置時的資料加密,以及在主裝置請求后,從資料儲存裝置擷取時的儲存資料解密,而進行密碼保護。
      在傳統的資料傳遞(relay)方法中,資料是經由IDE橋接器,或串接于主機與資料儲存裝置之間的接口來傳輸。此種型式的數據傳輸傳統上需要IDE接口來實施可支持用于資料緩沖/資料流控制的IDE接口的每側的完整ATA協議的IDE控制器。在IDE/ATA數據傳輸的期間,IDE接口同時扮演了具有資料儲存裝置的虛擬主裝置的角色,以及具有主裝置的虛擬資料儲存裝置的角色。此資料傳遞方法的問題是IDE接口需要實施大資料緩沖器,來維持資料流控制。這樣的大資料緩沖器是使用昂貴的靜態(tài)隨機存取內存(staticrandom-access memory,簡稱SRAM)宏或類似組件,而通常會實施于IDE特定應用集成電路(application specific integrated circuit,簡稱ASIC)上,這會導致芯片的制造成本很高。

      發(fā)明內容
      本發(fā)明一般是針對一種資料密碼系統,包括至少一個密碼接口,操作時耦接于至少一個主裝置與至少一個資料儲存裝置之間,并且用以在此主裝置與此資料儲存裝置之間的IDE/ATA數據傳輸期間,進行實時數據加密及解密,而不會影響整體的數據傳輸效率。
      在本發(fā)明的一實施例中,一種用于IDE/ATA數據傳輸介入的密碼接口包括支持部分ATA協議的第一IDE控制器,以及支持部分ATA協議的第二IDE控制器。第二IDE控制器操作時耦接至第一IDE控制器。在IDE/ATA數據傳輸期間,當資料正于至少一個主裝置與至少一個資料儲存裝置之間傳輸時,第一IDE控制器及第二IDE控制器是用以傳送此主裝置的至少一個主IDE控制器,與此資料儲存裝置的至少一個資料儲存IDE控制器之間的IDE/ATA資料流控制訊號。此主IDE控制器及此資料儲存IDE控制器中的每一個是支持完整ATA協議。
      在本發(fā)明的另一實施例中,一種用于IDE/ATA數據傳輸介入的密碼接口包括支持部分ATA協議的第一IDE控制器,以及支持部分ATA協議的第二IDE控制器。第二IDE控制器操作時耦接至第一IDE控制器。在IDE/ATA數據傳輸期間,若資料未于至少一個主裝置與至少一個資料儲存裝置之間傳輸時,第一IDE控制器及第二IDE控制器是用以使此主裝置的至少一個主IDE控制器,與此資料儲存裝置的至少一個資料儲存IDE控制器之間的IDE/ATA資料流控制訊號的延遲傳送。此主IDE控制器及此資料儲存IDE控制器中的每一個是支持完整ATA協議。
      在本發(fā)明的又另實施例中,一種在主裝置與資料儲存裝置之間的IDE/ATA數據傳輸期間,用于資料的密碼運算的方法包括下列步驟擷取此主裝置與此資料儲存裝置之間的至少一個IDE/ATA數據傳輸;當資料正于此主裝置與此資料儲存裝置之間傳輸時,會傳送此主裝置與此資料儲存裝置之間的IDE/ATA資料流控制訊號;同時,當上述的資料未于此主裝置與此資料儲存裝置之間傳輸,則會使此主裝置與此資料儲存裝置之間的IDE/ATA資料流控制訊號的延遲傳送;以及對數據進行如同透明不存在地實時密碼運算。
      從本發(fā)明的附圖及以下的詳細說明中,本發(fā)明的這些及其它目的將會變得更加清楚。


      當配合附圖閱讀時,本發(fā)明會從以下的詳細說明中,而更加明白。要強調的是,根據一般習慣,附圖的各種特性不是按比例排列。反之,為了清楚起見,各種特性的大小可任意擴展或減小。在說明書及整個附圖中,相似標號是代表相似特性,其中圖1是用于IDE/ATA數據傳輸的實時數據加密/解密系統的概要方塊圖;圖2是高速直接內存存取(UDMA)/Multi-word DMA資料輸出傳輸的概圖;圖3是UDMA/Multi-word DMA資料輸入傳輸的概圖;圖4是程序化輸入/輸出(PIO)資料輸出傳輸的概圖;圖5是PIO資料輸入傳輸的概圖;圖6是一般地顯示圖1的實時數據加密/解密系統的一實施例;圖7是一般地繪示在IDE/ATA數據傳輸的期間,用于實時數據加密/解密的方法的流程圖;圖8是一般地繪示在UDMA/Multi-word DMA數據傳輸的期間,用于實時數據加密/解密的方法的流程圖;以及圖9是一般地繪示在PIO數據傳輸的期間,用于實時數據加密/解密的方法的流程圖。
      附圖標記說明8實時數據加密/解密系統;10密碼接口;12,14IDE控制器;16主裝置;18資料儲存裝置;20,22大資料緩沖器;24密碼引擎;26小輸入資料緩沖器;28小輸出資料緩沖器;30主裝置側的IDE控制器;32資料儲存裝置側的IDE控制器。
      具體實施例方式
      本發(fā)明的一些實施例是配合圖1到9進行詳細地說明的。本發(fā)明的額外實施例、特性及/或優(yōu)點將會從具體的說明中變成更加清楚,或通過實施本發(fā)明而學習得知。
      圖1是用于IDE/ATA數據傳輸的實時數據加密/解密系統8的概要方塊圖。實時數據加密/解密系統8包括密碼接口10,工作時耦接于主裝置16的IDE控制器12與資料儲存裝置18的IDE控制器14之間。密碼接口10是用以在主裝置16與資料儲存裝置18之間的IDE/ATA數據傳輸期間,進行如同透明不存在地實時數據加密/解密,而不會使整體數據傳輸效率產生不利的影響。
      IDE控制器12支持標準完整-ATA協議,并且包括用于資料流控制的傳統的大資料緩沖器20。IDE控制器14也支持標準完整-ATA協議,并且包括用于資料流控制的傳統的大資料緩沖器22。一般而言,主裝置16可為桌上型或筆記型計算機、微處理器、路由器、適配卡、或可產生資料的任何其它裝置,而資料儲存裝置18可為磁盤驅動器、磁帶機、軟盤、光驅、磁性光驅、數字錄像機、閃存卡、PCMCIA卡、或用于擷取為目的的可儲存資料的任何其它裝置。
      在本發(fā)明的一實施例中,密碼接口10將擷取主裝置16與資料儲存裝置18之間的IDE/ATA數據傳輸,以及經由密碼(cipher)引擎24(其工作時耦接于小輸入資料緩沖器26與小輸出資料緩沖器28之間,如圖1中的一般性顯示)的如同透明不存在地加密/解密資料。在主裝置16與資料儲存裝置18之間的IDE/ATA數據傳輸期間,密碼接口10的密碼引擎24會使用各種已知的密碼算法(如資料加密標準(Data Encryption Standard,簡稱DES)、三重DES(TripleDES,簡稱TDES)、或先進加密標準(Advanced Encryption Standard,簡稱AES)),來加密/解密許多標準管線階層(Pipeline Stages)中的資料。密碼引擎及/或密碼算法的其它型式也可用來實施本發(fā)明。
      在本發(fā)明的另一實施例中,當資料正于主裝置16與資料儲存裝置18之間傳輸時,密碼接口10將IDE/ATA資料流控制訊號從主裝置16,經由主裝置側的IDE控制器30,以及資料儲存裝置側的IDE控制器32而直接傳遞/傳送至資料儲存裝置18,而且反的亦然。IDE控制器30,32中的每一個是用以支持部分ATA協議,如圖1中的一般性繪示。如圖1中的一般性顯示,密碼接口10是藉由擷取經由主裝置側的IDE控制器30的主IDE/ATA資料流控制訊號,以及重新產生經由資料儲存裝置側的IDE控制器32的用于資料儲存裝置18的這些控制訊號,而將IDE/ATA資料流控制訊號從主裝置16傳送到資料儲存裝置18。
      同樣地,密碼接口10是藉由擷取經由資料儲存裝置側的IDE控制器32的資料儲存裝置的IDE/ATA資料流控制訊號,以及重新產生經由主裝置側的IDE控制器30的這些控制訊號,而將IDE/ATA資料流控制訊號從資料儲存裝置18傳送到主裝置16。在主裝置16與資料儲存裝置18之間的IDE/ATA數據傳輸期間,結合密碼引擎24的IDE控制器30,32中的部分ATA協議的達成使密碼接口10能實時的將資料進行顯明的加密/解密。密碼接口10是配置用來以至少與主裝置16與資料儲存裝置18一樣快的速度,來處理資料,以致于不會損害整體的數據傳輸效率。
      在本發(fā)明的又另一實施例中,若資料未于主裝置16與資料儲存裝置18之間傳輸時,密碼接口10使從主裝置16至資料儲存裝置18的IDE/ATA資料流控制訊號的延遲傳送,而且反之亦然,如在此于底下配合圖7的步驟148及152所做的一般性說明。
      從IDE控制器12、14的功能觀點來看,IDE/ATA數據傳輸直接在主裝置16與資料儲存裝置18之間進行,而不會有任何的密碼接口10介入。因此,密碼接口10不需包含如大資料緩沖器及完整ATA協議支持的傳統的資料緩沖/資料流控制能力,如傳統上于此技術中所實施的。此外,不需要將主裝置與資料儲存裝置之間的IDE/ATA數據傳輸分成二個獨立的數據傳輸,如在主裝置16與密碼接口10之間,以及在密碼接口10與資料儲存裝置18之間。IDE控制器12,14中的每一個是負責處理IDE/ATA數據傳輸期間的資料緩沖/資料流控制。密碼接口10一般是用來當作“傳送者”,或在IDE/ATA數據傳輸期間,當作主裝置16與資料儲存裝置18之間的與IDE/ATA兼容的資料流動控制訊號傳送橋接器。密碼接口10的IDE控制器30,32只需要將用以進行密碼數據處理所需的那些ATA命令解譯即可。
      如圖1中的進一步繪示,主裝置16可經由密碼接口10(其會經由小輸入資料緩沖器26、密碼引擎24、以及小輸出資料緩沖器28而實時的將進來的資料進行如同透明不存在地加密)將資料儲存于資料儲存裝置18中。主裝置16可經由密碼接口10(其會經由小輸入資料緩沖器26、密碼引擎24、以及小輸出資料緩沖器28而實時的將相同資料進行如同透明不存在地解密),而從資料儲存裝置18中讀取儲存的加密資料。
      在本發(fā)明的另一實施例中,密碼接口10是實施為特定應用集成電路(application specific integrated circuit,簡稱ASIC)。小輸入資料緩沖器26及小輸出資料緩沖器28(其用來保持密碼引擎24的管線階層(Pipeline Stages)的資料)是使用栓鎖器或緩存器來實施。此種實施方式可避免使用昂貴的靜態(tài)隨機存取內存(static random access memory,簡稱SRAM)宏或類似組件。密碼接口10的其它實施方式可使用如符合本發(fā)明的意含的精神及范圍的其它的實施方式。
      圖2是高速直接內存存取(UDMA)/多重字組DMA(Multi-word DMA),(以下分別稱為(UDMA)及(Multi-word DMA)),其資料輸出傳輸的概圖。UDMA為傳輸硬盤機,經由計算機總線至計算機的隨機存取內存(RAM)之間的資料的協議。UDMA協議在ATA數據傳輸期間,是以爆發(fā)模式(burst mode)來傳輸資料,并且會使用循環(huán)冗余檢查(CRC)來保護資料。資料爆發(fā)模式(Databurst mode)包括資料爆發(fā)初始(Data burst Initialization)、資料爆發(fā)暫停(Databurst Pausing)、以及資料爆發(fā)停止(Data burst Termination)程序。在一例中,UDMA/Multi-word DMA資料輸出傳輸可定義為從主裝置16至資料儲存裝置18的UDMA/Multi-word DMA數據傳輸。在另一例中,UDMA/Multi-wordDMA資料輸出傳輸可定義為從資料儲存裝置18至主裝置16的UDMA/Multi-word DMA數據傳輸。
      在資料爆發(fā)初始程序開始之前,密碼接口10會讀取如數據傳輸模式、數據傳輸大小、以及類似事物的必要IDE/ATA數據傳輸參數,用以根據這些參數,來準備主裝置16與資料儲存裝置18之間的UDMA/Multi-word DMA數據傳輸,如圖2的步驟50中的概要顯示。
      在UDMA/Multi-word DMA資料輸出傳輸(其包含許多資料爆發(fā))開始時,密碼接口10先與主裝置16,來進行爆發(fā)初始程序,而激活數據傳輸,并且引導進來的資料,經由小輸入緩沖器26(顯示于圖1中)而送到密碼引擎24(顯示于圖1中)。在進來的資料進行加密,并且傳輸到小輸出資料緩沖器28(顯示于圖1中)的后,密碼接口10再與資料儲存裝置18,來進行爆發(fā)初始程序,并且將加密的資料傳送至資料儲存裝置18,如圖2的步驟52中的概要顯示。
      在資料爆發(fā)的傳送期間,若主裝置16或資料儲存裝置18由于資料流控制問題,而需使數據傳輸暫停,則密碼接口10會立即傳送主裝置16與資料儲存裝置18之間的對應的數據傳輸暫停命令/響應訊號,而能使數據傳輸產生暫停,如圖2的步驟58中的概要顯示。因此,在UDMA/Multi-word DMA資料輸出傳輸的期間,密碼接口10完全不會影響資料流控制。反而,密碼接口10會分別經由IDE控制器30(顯示于圖1中)及密碼引擎24(顯示于圖1中),而如同透明不存在地介入傳送資料流控制訊號及進行資料加密。
      如圖2的步驟54中的概要顯示,若主裝置16或資料儲存裝置18需使傳送中的資料爆發(fā)停止,則密碼接口10會立即傳送主裝置16與資料儲存裝置18之間的對應的數據傳輸停止命令/響應訊號,而能使數據傳輸停止。
      在爆發(fā)停止程序的期間,IDE控制器12(顯示于圖1中)會將來自于明文(plain text)資料中所計算的CRC值,傳送到IDE控制器30(顯示于圖1中),用以在每次資料爆發(fā)的末期進行錯誤檢查。密碼接口10的IDE控制器32(顯示于圖1中)會將來自于密文(cipher text)資料中所計算的CRC值,傳送到資料儲存裝置18,用以在每次資料爆發(fā)的末期進行錯誤檢查。若傳送的密文的CRC值錯誤,則在數據傳輸停止的后,資料儲存裝置18會藉由CRC錯誤狀態(tài)位,而將問題回報給主裝置16,而不會由密碼接口10采取額外的動作。
      若傳送的明文的CRC值錯誤,則密碼接口10會將CRC錯誤傳送到資料儲存裝置18,以藉由在最后一個資料爆發(fā)停止程序的期間,將預定的錯誤CRC值傳送到資料儲存裝置18,而告知資料儲存裝置18CRC錯誤。最后一個資料爆發(fā)停止程序是一般顯示為圖2中的步驟60。
      如圖2的步驟62中的概要顯示,當數據傳輸已完成時,資料儲存裝置18會傳送對應的ATA信息至主裝置16,以告知主裝置16數據傳輸已完成。
      圖3是UDMA/Multi-word DMA資料輸入傳輸的概圖。在一例中,UDMA/Multi-word DMA資料輸入傳輸可定義為從資料儲存裝置18至主裝置16的UDMA/Multi-word DMA數據傳輸。在另一例中,UDMA/Multi-wordDMA資料輸入傳輸可定義為從主裝置16至資料儲存裝置18的UDMA/Multi-word DMA數據傳輸。
      如步驟70中的概要顯示,密碼接口10會擷取如數據傳輸模式、數據傳輸大小、以及類似事物的必要IDE/ATA數據傳輸參數,用以根據這些參數,來準備資料儲存裝置18與主裝置16之間的UDMA/Multi-word DMA數據傳輸。密碼接口10是以資料儲存裝置18,來進行爆發(fā)初始程序,而激活數據傳輸,并且引導加密資料,,經由小輸入緩沖器26(顯示于圖l中)而送到密碼引擎24(顯示于圖1中),以進行解密。在進來的資料進行解密,并且傳輸到小輸出資料緩沖器28(顯示于圖1中)的后,密碼接口10是以主裝置16,來進行爆發(fā)初始程序,并且將解密的資料傳送至主裝置16,如圖3的步驟72中的概要顯示。
      在資料爆發(fā)的傳送期間,若資料儲存裝置18或主裝置16由于資料流控制問題,而需使數據傳輸暫停,則密碼接口10會立即傳送資料儲存裝置18與主裝置16之間的對應的數據傳輸暫停命令/響應訊號,而能使數據傳輸產生暫停,如圖3的步驟78中的概要顯示。因此,在UDMA/Multi-word DMA資料輸入傳輸的期間,密碼接口10完全不會影響資料流控制。反而,密碼接口10會分別經由IDE控制器32(顯示于圖1中)及密碼引擎24,而在UDMA/Multi-word DMA資料輸入傳輸的期間,如同透明不存在地介入傳送資料流控制訊號及進行資料解密。
      若資料儲存裝置18或主裝置16需使傳送中的資料爆發(fā)停止,則密碼接口10會立即傳送資料儲存裝置18與主裝置16之間的對應的數據傳輸停止命令/響應訊號,而能使數據傳輸停止,如圖3的步驟74中的概要顯示。
      在步驟80中,密碼接口10先與資料儲存裝置18來進行最后一個爆發(fā)停止程序。密碼引擎24會將最后剩下的資料解密,并且將最后剩下的資料傳送到小輸出資料緩沖器28。密碼接口10是以主裝置16來進行爆發(fā)停止程序。若CRC錯誤發(fā)生于數據傳輸的資料儲存裝置側,則因為在資料轉移停止的后,資料儲存裝置18會立即藉由CRC錯誤狀態(tài)位,而將此錯誤回報給主裝置16,所以密碼接口10不會采取特別動作。
      若CRC錯誤發(fā)生于數據傳輸的主裝置側,則因為資料儲存裝置側的數據傳輸已停止,所以密碼接口10不會將此錯誤傳送到資料儲存裝置18。如步驟82中的概要顯示,為了解決此問題,密碼接口10會藉由將CRC錯誤狀態(tài)位致能為“真”,來修改ATA信息,以告知主裝置16,已由資料儲存裝置18已經偵測到CRC錯誤,藉此主裝置16可采取正確的動作,如重新傳送資料。
      圖4是從主裝置16至資料儲存裝置18的PIO資料輸出傳輸的概圖。在PIO模式中,數據傳輸是藉由主裝置(如微處理器)來激活及進行。資料流控制包括讀取及寫入資料觸發(fā)(strobe),其是藉由主中央處理單元(CPU)或主ATA適配卡而發(fā)送到資料儲存裝置。在一例中,PIO資料輸出傳輸可定義為從主裝置16至資料儲存裝置18的PIO數據傳輸。在另一例中,PIO資料輸出傳輸可定義為從資料儲存裝置18至主裝置16的PIO數據傳輸。
      開始時,密碼接口10會擷取如數據傳輸模式、數據傳輸大小、以及類似事物的必要IDE/ATA數據傳輸參數,用以根據這些參數,來準備主裝置16與資料儲存裝置18之間的PIO資料輸出傳輸,如圖4的步驟100中的概要顯示。主裝置16會產生寫入觸發(fā),而將資料傳送到密碼接口10。密碼接口10會引導送進來的資料,經由小輸入資料緩沖器26(顯示于圖1中),而送到密碼引擎24(顯示于圖1中),以進行加密。密碼接口10的IDE控制器30(顯示于圖1中)經由IDE控制器32(顯示于圖1中)而傳送到資料儲存裝置18的IDE控制器14(顯示于圖1中)的這些寫入觸發(fā)的延遲傳送,直到送進來的資料已加密,并且準備好傳送到資料儲存裝置18,如圖4的步驟102中的一般顯示。
      如圖4的步驟104中的一般繪示,當加密資料準備好傳送到資料儲存裝置18時,在數據傳輸的其余持續(xù)期間,密碼接口10的IDE控制器30(顯示于圖1中)會將寫入觸發(fā)直接傳送至資料儲存裝置18的IDE控制器14(顯示于圖1中)。在完成主裝置16側的數據傳輸的后,密碼接口10會立即產生寫入觸發(fā),并且同樣地完成資料儲存裝置18側的數據傳輸,如圖4的步驟106中的一般顯示。
      圖5是從資料儲存裝置18至主裝置16的PIO資料輸入傳輸的概圖。在一例中,PIO資料輸入傳輸可定義為從資料儲存裝置18至主裝置16的PIO數據傳輸。在另一例中,PIO資料輸入傳輸可定義為從主裝置16至資料儲存裝置18的PIO數據傳輸。
      開始時,密碼接口10會擷取如數據傳輸模式、數據傳輸大小、以及類似事物的必要IDE/ATA數據傳輸參數,用以根據這些參數,來準備資料儲存裝置18與主裝置16之間的PIO資料輸入傳輸,如圖5的步驟110中的一般顯示。密碼接口10會產生用于IDE控制器32(顯示于圖1中)的讀取觸發(fā),而開始從資料儲存裝置18中擷取資料。資料儲存裝置18是藉由將加密資料經由小輸入資料緩沖器26(顯示于圖1中),而傳送到密碼接口10的密碼引擎24,以進行解密來響應。密碼接口10會持續(xù)產生讀取觸發(fā),如圖5的步驟112中的一般繪示,直到解密資料準備好經由小輸出資料緩沖器28(顯示于圖1中),而傳送到主裝置16。
      如圖5的步驟114中的一般顯示,主裝置16會產生讀取觸發(fā),以擷取來自于密碼接口10的解密資料。在數據傳輸的其余持續(xù)期間,主裝置所產生的讀取觸發(fā)會經由IDE控制器30(顯示于圖1中)、IDE控制器32及IDE控制器14(顯示于圖1中),而直接傳送到資料儲存裝置18。
      如圖5的步驟116中的一般繪示,在完成資料儲存裝置側的數據傳輸的后,密碼接口10的IDE控制器30會停止傳送主裝置側所產生的讀取觸發(fā),而主裝置16會持續(xù)從密碼接口10中,讀取其余送進來的解密資料。
      PIO資料輸入及資料輸出傳輸于密碼接口10的二側的資料的總體速率實質上是相同的,藉此可避免由于密碼接口10的每側的觸發(fā)周期的問題,以解決傳統上需要密碼接口10的資料流控制支持的問題。
      PIO數據傳輸的開始及最終部分不會遇到資料流控制問題,即使在數據傳輸的這些相當短的部分,未傳送資料觸發(fā)。原因的一是因為這些數據傳輸部分是相當短的。另一種原因是因為主裝置16與密碼接口10之間的獨自數據傳輸不需要資料流控制。密碼接口10與資料儲存裝置18之間的獨自數據傳輸也不需要資料流控制。一般而言,當密碼接口10的二側所傳輸的資料數量有問題時,會需要密碼接口10的資料流控制,但是因為這些相當短的開始/最終數據傳輸部分只會發(fā)生于主裝置側或資料儲存裝置側,所以通常不需要密碼接口10的資料流控制。
      圖6是一般地顯示圖1的實時數據加密/解密系統8的一實施例。特別而言,在偵測出小輸出資料緩沖器28已滿后,密碼接口10的密碼引擎24立即停止資料加密/解密。特別而言,所有管線密碼階層(Pipeline ciphering stages)會立即停止數據處理,而不會再接受來自于小輸入資料緩沖器26的資料。存在于密碼管線(Ciphering stages)中的任何數據不會再傳送到后面的階層。整個密碼運作會出現“凍結”,直到密碼引擎24偵測到小輸出資料緩沖器28不再是滿的。此時,密碼引擎24會恢復數據處理,并且每個密碼管線階層(Pipeline ciphering stages)會從先前停止處繼續(xù)運作。本領域熟練技術人員將了解到,此密碼組成可簡化電路,且因此可簡化數據處理,以及降低制造成本。
      圖7是一般地繪示在IDE/ATA數據傳輸的期間,用于實時數據加密/解密的方法的流程圖。在圖7的步驟140中,ATA信息是經由密碼接口10(顯示于圖1中),而在主裝置16與資料儲存裝置18之間進行交換。密碼接口10會擷取必要的ATA參數、接收送進來的資料、處理資料、以及將處理過的資料分別傳送至資料儲存裝置18,或主裝置16。在一例中,數據處理可稱為數據加密,在另一例中,數據處理可稱為數據解密。
      在步驟142中,密碼接口10會分別從主裝置16或資料儲存裝置18中,接收資料流控制訊號。在步驟144中,密碼接口10判斷所有資料是否已進行處理。若所有資料已進行處理,則主裝置16會經由IDE控制器12(顯示于圖1中)、IDE控制器30(顯示于圖1中)、以及IDE控制器32(顯示于圖1中),來檢查或讀取資料儲存裝置18的狀態(tài)(如圖7的步驟146中的一般顯示),并且會使數據傳輸停止。若所有資料尚未進行處理,則密碼接口10判斷資料是否正于主裝置16與資料儲存裝置18之間傳輸,如圖7的步驟148中的一般顯示。
      在步驟150中,若資料正在傳輸,則密碼接口10立即將接收到的資料流控制訊號,從主裝置16傳送至資料儲存裝置18,或反之亦然。在步驟152中,若資料未傳輸,則密碼接口10接收到的資料流控制訊號的傳送及重新產生延遲。實時數據加密/解密周期會持續(xù)下去,如方向箭號154的一般顯示。
      圖8是一般地繪示在UDMA/Multi-word DMA數據傳輸的期間,用于實時數據加密/解密的方法的流程圖。在步驟160中,ATA信息是經由密碼接口10,而在主裝置16與資料儲存裝置18之間進行交換。密碼接口10會擷取必要的ATA參數、以主裝置16(顯示于圖1中)及資料儲存裝置18(顯示于圖1中)來激活資料爆發(fā)、接收送進來的資料、處理資料、以及將處理過的資料分別傳送至資料儲存裝置18,或主裝置16。在第一例中,數據處理可稱為數據加密,在另一例中,數據處理可稱為數據解密。
      在步驟162中,密碼接口10會分別從主裝置16或資料儲存裝置18中,接收資料流控制訊號。在步驟164中,密碼接口10判斷是否已分別從主裝置16或資料儲存裝置18中,接收到停止控制訊號。若已接收到停止控制訊號,則密碼接口10判斷數據傳輸是否已結束,如步驟168中的一般顯示。若數據傳輸已結束,密碼接口10會分別以主裝置16或資料儲存裝置18,來進行資料爆發(fā)停止程序,如步驟170中的一般顯示。
      在步驟172中,在UDMA/Multi-word DMA資料輸出傳輸的情況中,密碼接口10將ATA信息從資料儲存裝置18傳送至主裝置16,并且會使數據傳輸停止。在UDMA/Multi-word DMA資料輸入傳輸的情況中,密碼接口10將修改的ATA信息從資料儲存裝置18傳送至主裝置16,并且會使數據傳輸停止。
      若尚未接收到停止控制訊號,則密碼接口10立即將接收到的資料流控制訊號,分別從主裝置16傳送至資料儲存裝置18,或從資料儲存裝置18傳送至主裝置16,如圖8的步驟168中的一般顯示。同樣地,若數據傳輸尚未結束,則密碼接口10立即將接收到的資料流控制訊號,分別從主裝置16傳送至資料儲存裝置18,或從資料儲存裝置18傳送至主裝置16,如圖8的步驟168中的一般顯示。實時數據加密/解密周期會持續(xù)下去,如方向箭號174的一般顯示。
      圖9是一般地繪示在PIO數據傳輸的期間,用于實時數據加密/解密的方法的流程圖。在步驟180中,ATA信息是經由密碼接口10(顯示于圖1中),而在主裝置16(顯示于圖1中)與資料儲存裝置18(顯示于圖1中)之間進行交換。密碼接口10會擷取必要的ATA參數。
      在步驟182中,密碼接口10會接收送進來的初始資料,并且處理初始資料。在PIO資料輸出傳輸的情況中,密碼接口10使主裝置所產生的寫入觸發(fā)的延遲傳送。在PIO資料輸入傳輸的情況中,密碼接口10產生讀取觸發(fā)。
      在步驟184中,密碼接口10會接收送進來的資料,并且處理送進來的資料。再者,在PIO資料輸出傳輸的情況中,密碼接口10將主裝置所產生的寫入觸發(fā)從主裝置16傳送到資料儲存裝置18。在PIO資料輸入傳輸的情況中,密碼接口10將主裝置所產生的讀取觸發(fā)從主裝置16傳送到資料儲存裝置18。
      在步驟186中,密碼接口10判斷數據傳輸是否已結束。若數據傳輸尚未結束,則實時數據加密/解密周期會持續(xù),如方向箭號190的一般顯示。若數據傳輸已結束,則在PIO資料輸出傳輸的情況中,密碼接口10產生寫入觸發(fā),如步驟188中的一般顯示,并且會將相同的事情附加于儲存裝置側的數據傳輸,如以上在此配合圖4的步驟106所述,并且會使數據傳輸程序停止。如圖9的步驟188中的進一步的顯示,在PIO資料輸入傳輸的情況中,密碼接口10不會傳送主裝置所產生的讀取觸發(fā),并且會使數據傳輸程序停止。
      雖然本發(fā)明已在各種特定實施例方面進行說明,但是本領域熟練技術人員將了解到,在權利要求的精神及范圍內,可進行修改,來實施本發(fā)明。此外,如一實施例的部分所顯示或說明的特性可用于另一實施例中,而產生又另一實施例,以致于特性不受限于上述的特定實施例。因此,意含的是,只要這樣的實施例及變化位于后附的權利要求及其等效的范圍內,則本發(fā)明可涵蓋所有這樣的實施例及變化。
      權利要求
      1.一種資料密碼系統,包括至少一個密碼接口,操作時耦接于至少一個主裝置與至少一個資料儲存裝置之間,并且用以在該至少一個主裝置與該至少一個資料儲存裝置之間的IDE/ATA數據傳輸期間,進行實時數據加密及解密,而不會影響整體的數據傳輸效率。
      2.一種資料密碼系統,包括至少一個密碼接口,操作時耦接于至少一個主裝置與至少一個資料儲存裝置之間,并且用以在該至少一個主裝置與該至少一個資料儲存裝置之間的IDE/ATA數據傳輸期間,進行實時數據加密,而不會影響整體的數據傳輸效率。
      3.一種資料密碼系統,包括至少一個密碼接口,操作時耦接于至少一個主裝置與至少一個資料儲存裝置之間,并且用以在該至少一個主裝置與該至少一個資料儲存裝置之間的IDE/ATA數據傳輸期間,進行實時數據解密,而不會影響整體的數據傳輸效率。
      4.一種資料密碼系統,包括至少一個密碼接口,操作時耦接于至少一個主裝置與至少一個資料儲存裝置之間,該至少一個密碼接口是用以擷取該至少一個主裝置與該至少一個資料儲存裝置之間的至少一個IDE/ATA數據傳輸,并且對該至少一個擷取的IDE/ATA數據傳輸,會如同透明不存在地進行實時數據密碼處理。
      5.一種資料密碼系統,包括至少一個主裝置;至少一個資料儲存裝置;以及至少一個密碼接口,操作時耦接于該至少一個主裝置與該至少一個資料儲存裝置之間,并且在該至少一個主裝置與該至少一個資料儲存裝置之間的IDE/ATA數據傳輸期間,當資料正傳輸時,用以傳送該至少一個主裝置與該至少一個資料儲存裝置之間的IDE/ATA資料流控制訊號。
      6.一種資料密碼系統,包括至少一個主裝置;至少一個資料儲存裝置;以及至少一個密碼接口,操作時耦接于該至少一個主裝置與該至少一個資料儲存裝置之間,并且在該至少一個主裝置與該至少一個資料儲存裝置之間的IDE/ATA數據傳輸期間,若資料未傳輸,則用以使該至少一個主裝置與該至少一個資料儲存裝置之間的IDE/ATA資料流控制訊號的延遲傳送。
      7.一種用于IDE/ATA數據傳輸介入的密碼接口,該密碼接口包括一第一IDE控制器,支持部分ATA協議,一第二IDE控制器,支持部分ATA協議,該第二IDE控制器操作時耦接至該第一IDE控制器,在IDE/ATA數據傳輸期間,當資料正于至少一個主裝置與至少一個資料儲存裝置之間傳輸時,該第一IDE控制器及該第二IDE控制器是用以傳送該至少一個主裝置的至少一個主IDE控制器,與該至少一個資料儲存裝置的至少一個資料儲存IDE控制器之間的IDE/ATA資料流控制訊號,該至少一個主IDE控制器及該至少一個資料儲存IDE控制器中的每一個支持完整ATA協議。
      8.一種用于IDE/ATA數據傳輸介入的密碼接口,該密碼接口包括一第一IDE控制器,支持部分ATA協議,一第二IDE控制器,支持部分ATA協議,該第二IDE控制器操作時耦接至該第一IDE控制器,在IDE/ATA數據傳輸期間,若資料未于至少一個主裝置與至少一個資料儲存裝置之間傳輸時,該第一IDE控制器及該第二IDE控制器是用以使該至少一個主裝置的至少一個主IDE控制器,與該至少一個資料儲存裝置的至少一個資料儲存IDE控制器之間的IDE/ATA資料流控制訊號的延遲傳送,該至少一個主IDE控制器及該至少一個資料儲存IDE控制器中的每一個是支持完整ATA協議。
      9.如權利要求第7項的密碼接口,還包括至少一個密碼引擎,用以在該至少一個主裝置與該至少一個資料儲存裝置之間的IDE/ATA數據傳輸期間,結合該第一IDE控制器及該第二IDE控制器,而如同透明不存在地進行實時密碼數據處理。
      10.如權利要求第8項的密碼接口,還包括至少一個密碼引擎,用以在該至少一個主裝置與該至少一個資料儲存裝置之間的IDE/ATA數據傳輸期間,結合該第一IDE控制器及該第二IDE控制器,而如同透明不存在地進行實時密碼數據處理。
      11.如權利要求第9項的密碼接口,其中該至少一個密碼引擎運作上是耦接于至少一個小輸入資料緩沖器與至少一個小輸出資料緩沖器之間。
      12.如權利要求第10項的密碼接口,其中該至少一個密碼引擎操作時耦接于至少一個小輸入資料緩沖器與至少一個小輸出資料緩沖器之間。
      13.如權利要求第11項的密碼接口,其中該至少一個主IDE控制器包括至少一個大資料緩沖器。
      14.如權利要求第11項的密碼接口,其中該至少一個資料儲存IDE控制器包括至少一個大資料緩沖器。
      15.如權利要求第12項的密碼接口,其中該至少一個主IDE控制器包括至少一個大資料緩沖器。
      16.如權利要求第12項的密碼接口,其中該至少一個資料儲存IDE控制器包括至少一個大資料緩沖器。
      17.如權利要求第11項的密碼接口,其中在偵測出該至少一個小輸出資料緩沖器已滿時,該至少一個密碼引擎使密碼數據處理停止。
      18.一種用于IDE/ATA數據傳輸介入的密碼接口,該密碼接口包括一第一IDE控制器,支持部分ATA協議,一第二IDE控制器,支持部分ATA協議,該第二IDE控制器操作時耦接至該第一IDE控制器,在UDMA/Multi-word DMA數據傳輸期間,當資料正于至少一個主裝置與至少一個資料儲存裝置之間傳輸時,該第一IDE控制器及該第二IDE控制器是用以傳送該至少一個主裝置的至少一個主IDE控制器,與該至少一個資料儲存裝置的至少一個資料儲存IDE控制器之間的資料流控制訊號,該至少一個主IDE控制器及該至少一個資料儲存IDE控制器中的每一個是支持完整ATA協議。
      19.一種用于IDE/ATA數據傳輸介入的密碼接口,該密碼接口包括一第一IDE控制器,支持部分ATA協議,一第二IDE控制器,支持部分ATA協議,該第二IDE控制器操作時耦接至該第一IDE控制器,在UDMA/Multi-word DMA數據傳輸期間,若資料未于至少一個主裝置與至少一個資料儲存裝置之間傳輸時,該第一IDE控制器及該第二IDE控制器是用以使該至少一個主裝置的至少一個主IDE控制器,與該至少一個資料儲存裝置的至少一個資料儲存IDE控制器之間的資料流控制訊號的延遲傳送,該至少一個主IDE控制器及該至少一個資料儲存IDE控制器中的每一個是支持完整ATA協議。
      20.一種用于IDE/ATA數據傳輸介入的密碼接口,該密碼接口包括一第一IDE控制器,支持部分ATA協議,一第二IDE控制器,支持部分ATA協議,該第二IDE控制器操作時耦接至該第一IDE控制器,在PIO數據傳輸期間,當資料正于至少一個主裝置與至少一個資料儲存裝置之間傳輸時,該第一IDE控制器及該第二IDE控制器是用以傳送該至少一個主裝置的至少一個主IDE控制器,與該至少一個資料儲存裝置的至少一個資料儲存IDE控制器之間的資料流控制訊號,該至少一個主IDE控制器及該至少一個資料儲存IDE控制器中的每一個是支持完整ATA協議。
      21.一種用于IDE/ATA數據傳輸介入的密碼接口,該密碼接口包括一第一IDE控制器,支持部分ATA協議,一第二IDE控制器,支持部分ATA協議,該第二IDE控制器操作時耦接至該第一IDE控制器,在PIO數據傳輸期間,若資料未于至少一個主裝置與至少一個資料儲存裝置之間傳輸時,該第一IDE控制器及該第二IDE控制器是用以使該至少一個主裝置的至少一個主IDE控制器,與該至少一個資料儲存裝置的至少一個資料儲存IDE控制器之間的資料流控制訊號的延遲傳送,該至少一個主IDE控制器及該至少一個資料儲存IDE控制器中的每一個是支持完整ATA協議。
      22.一種在主裝置與資料儲存裝置之間的IDE/ATA數據傳輸期間,用于資料的密碼運算的方法,該方法包括下列步驟擷取該主裝置與該資料儲存裝置之間的至少一個IDE/ATA數據傳輸;當資料正于該主裝置與該資料儲存裝置之間傳輸時,傳送該主裝置與該資料儲存裝置之間的IDE/ATA資料流控制訊號;若資料未于該主裝置與該資料儲存裝置之間傳輸,則會使該主裝置與該資料儲存裝置之間的IDE/ATA資料流控制訊號的延遲傳送;以及對數據進行如同透明不存在地實時密碼運算。
      23.一種在主裝置與資料儲存裝置之間的IDE/ATA數據傳輸期間的介入方法,該方法包括下列步驟接收IDE/ATA資料流控制訊號;判斷是否接收到停止控制訊號;以及若未接收到停止控制訊號,則會立即傳送該主裝置與該資料儲存裝置之間的接收到的IDE/ATA資料流控制訊號。
      24.如權利要求第23項的方法,還包括下列步驟判斷數據傳輸是否完成;以及若數據傳輸未完成,則會立即傳送該主裝置與該資料儲存裝置之間的接收到的IDE/ATA資料流控制訊號。
      25.一種在主裝置與資料儲存裝置之間的IDE/ATA數據傳輸期間的介入方法,該方法包括下列步驟處理送進來的資料;將主裝置所產生的寫入觸發(fā)從該主裝置傳送至該資料儲存裝置;判斷數據傳輸是否完成;以及產生對應的寫入觸發(fā),而從該主裝置傳送至該資料儲存裝置。
      26.一種在主裝置與資料儲存裝置之間的IDE/ATA數據傳輸期間的介入方法,該方法包括下列步驟處理送進來的資料;將主裝置所產生的讀取觸發(fā)從該主裝置傳送至該資料儲存裝置;判斷數據傳輸是否完成;以及主裝置所產生的讀取觸發(fā)不會從該主裝置傳送至該資料儲存裝置。
      全文摘要
      本發(fā)明公開了一種資料資料加密/解密系統,包括密碼接口,操作時耦接于主裝置與資料儲存裝置之間。此主裝置及此資料儲存裝置分別包括可支持完整ATA協議的IDE控制器。此密碼接口包括主裝置側的IDE控制器及資料儲存裝置側的IDE控制器,每個控制器會支持部分ATA協議。此密碼接口還包括密碼引擎,用以在此主裝置與此資料儲存裝置之間的IDE/ATA數據傳輸期間,與主裝置側的IDE控制器及資料儲存裝置側的IDE控制器結合,而如同透明不存在地進行實時數據密碼運算。
      文檔編號H04L29/08GK1735006SQ20041007037
      公開日2006年2月15日 申請日期2004年8月3日 優(yōu)先權日2004年8月3日
      發(fā)明者萬述寧, 石志忠, 莊逸堯, 邱伯文 申請人:伊諾瓦科技股份有限公司
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1