專利名稱:盤控制裝置以及數據傳輸控制方法
技術領域:
本發明涉及一種對主計算機和盤驅動裝置之間的數據傳輸進行控制的盤 控制裝置。
技術背景近年來,存儲器合并導致的TCO的削減以及數據的戰略性應用等大規模 存儲的重要性正不斷提高。隨著合并的發展,在存儲裝置中需要更高的可擴展 性,如端口數量的增加、容量的增大、性能和功能的提高等。另一方面,降低市售存儲器硬件價格的要求非常強烈。存儲器的容量單價 以每年20%的速度下降,為了實現該趨勢,需要降低包括存儲裝置的結構體 系在內的整個系統的成本。作為同時實現存儲裝置的高可擴展性和低成本的一個解決方法,提出了集 群(cluster)連接多個盤控制裝置的集群型盤控制裝置。在集群型盤控制裝置 中,可以通過連接多個盤控制裝置來顯著提高可擴展性。此外,通過準備滿足 用戶所需數量的盤控制裝置,可以除去無用的硬件資源,并可以降低成本。因 此,通過使用集群型盤控制裝置可以在提高可擴展性的同時降低成本。關于上述背景技術(集群型盤控制裝置),例如在專利文獻l中進行了記述。在集群型盤控制裝置這樣的大規模系統中,同時執行由多個用戶要求的多 個工作。這些工作通過部分地共用或者獨占系統內的硬件資源來進行必要的處 理。特別是作為典型硬件資源的存儲器,在空間 時間上被分割來進行管理, 將分割而得的區域分配給需要的處理。因此,重點是如何管理存儲器資源,以 便不與其他工作發生干擾,即如何保護存儲器區域。為了保護在存儲器中存儲的數據,正廣泛采用頁表虛擬存儲方法。在頁表 虛擬存儲方法中,對每個邏輯存儲器地址空間定義物理存儲器地址空間和訪問 (access)屬性(可否訪問、可否READ、可否WRITE等),即使多個工作共
用相同的遝輯地址空間,物理硬件資源也不會重疊。而且,通過對每個地址空 間設定訪問限制來排除不恰當的訪問。
在頁表方式中,對每個處理器(工作)設置頁表來變換地址。通常,大多
設置用于高速變換地址的高速緩存機構(例如TLB)。關于以頁表方式進行的 存儲器保護的一個例子,在專利文獻2中進行了記述。
專利文獻1特開2005 -228245號公凈艮
專利文獻2特開2003 _ 242030號公報
發明內容
基于集群方式的大規模盤控制裝置具備高速緩存部、通道部以及處理器部 等多個結構。在各個結構中分別具備高速緩沖存儲器、通道存儲器以及處理器 存儲器,為了執行基本的IO處理,需要在這些多個存儲器之間傳輸數據。例 如,在處理器控制通道部時,在處理器存儲器和通道存儲器之間傳輸數據。此 外,在從通道部將數據取入高速緩存部時,從通道存儲器向高速緩沖存儲器傳 輸數據。
現有的頁表方式規定特定的工作(執行特定工作的處理器)是否可以訪問 特定的區域,但不提供針對在多個存儲器區域之間的數據傳輸來保護存儲器的 機構。即,在現有的方法中,由于在盤控制裝置中的多個存儲器之間進行數據 傳輸,因此無法保護在存儲器中存儲的數據。
此外,在集群方式的大規模盤控制裝置中,為了提高整個系統的可用性, 需要提高盤控制裝置集群之間的獨立性。即,在跨越集群之間的存儲器間數據 傳輸中,特別需要切實地保護存儲器中存儲的數據,來防止某個集群的故障影 響到其他的集群。
關于這一點,現有技術也不提供在集群之間傳輸數據時,對存儲器進行保 護的特殊機構,無法對集群方式的盤控制裝置的存儲器中存儲的數據進行保 護。
本發明的目的在于,改善上述現有技術的缺點,對盤控制裝置集群內以及 盤控制裝置集群間的存儲器之間的數據傳輸提供存儲器保護機構,提高盤控制 裝置的可靠性。
本發明的一個具有代表性的例子如下所示。即,對主計算機和盤驅動器之 間的數據傳輸進行控制的盤控制裝置,其特征在于,具備具有通道存儲器的 通道部、具有高速緩沖存儲器的高速緩存部、以及控制部,在所述通道存儲器 和所述高速緩沖存儲器之間通過數據包傳輸數據,在傳輸所述數據包時,所述控制部對所述傳輸的數據包的包頭(header)信息的一致性進行驗證,來決定 是否允許該傳輸。根據本發明的盤控制裝置,在盤控制裝置內部傳輸數據包時,驗證數據包 包頭信息的一致性,僅傳輸被確認了一致性的數據包,由此可以防止不恰當的 傳輸。
圖l是表示第一實施方式的盤控制裝置的結構的方框圖。圖2表示第一實施方式的盤控制裝置的內部網絡地址空間。圖3表示在第一實施方式的盤控制裝置中使用的內部網絡數據包的結構。圖4是表示第一實施方式的盤控制裝置的存儲器間數據傳輸的順序圖。圖5是表示第一實施方式的盤控制裝置的存儲器間數據傳輸的順序圖。圖6是表示第一實施方式的訪問控制機構的結構的方框圖。圖7表示第 一 實施方式的盤控制裝置的傳輸制約條件的定義例。圖8是表示第一實施方式的訪問控制機構的動作的流程圖。圖9是表示第二實施方式的盤控制裝置的結構的方框圖。圖IO是表示第二實施方式的盤控制裝置的存儲器間數據傳輸的順序圖。圖11是表示第二實施方式的盤控制裝置的存儲器間數據傳輸的順序圖。圖12是表示第三實施方式的盤控制裝置的概略結構的方框圖。圖13是表示第三實施方式的盤控制裝置的詳細結構的方框圖。圖14是第三實施方式的集群內數據傳輸處理的順序圖。圖15是第三實施方式的集群間數據傳輸處理的順序圖。圖16A表示第四實施方式的分割而得的存儲器區域。圖16B表示第四實施方式的分割而得的存儲器區域。圖16C表示第四實施方式的分割而得的存儲器區域。圖17A表示第四實施方式的分割而得的存儲器區域。圖17B表示第四實施方式的分割而得的存儲器區域。
圖17C表示第四實施方式的分割而得的存儲器區域。 符號說明
10、 11盤控制裝置集群;20盤驅動器;30主計算機;100、 101前端部 (FEPK); 110、 111集線器(LR); 115、 116 DMA控制器;120通道存儲 器(HM); 130、 131協議控制芯片(PCV); 140主計算機連接端口; 150訪 問控制機構;200后端部(BEPK); 210集線器(LR); 220通道存儲器(HM); 230協議控制芯片(PCV); 240盤驅動器連接端口; 250訪問控制機構;300、 301處理器部(MPPK); 310、 311存儲器控制器(MC); 315、 316DMA控 制器;320處理器存儲器(LM); 330、 331微處理器(MP); 350訪問控制 機構;400、 401高速緩存部(CMPK); 410、 411高速緩沖存儲器控制器 (CMC); 420高速緩沖存儲器(CM); 450訪問控制機構;500、 501開關 部(SWPK); 510、 511開關(SW); 540集群間連接端口; 550、 551開關 訪問控制機構;700地址解碼電路(ADDRESS DECODE); 710地址區域表 (REGIONTABLE); 720命令解碼電路(CMDDECODE ); 730 —致性檢查 電路(CONSISTENCYCHECK)
具體實施例方式
下面,參照附圖對本發明的實施方式進行說明。 (第一實施方式)
圖l表示第一實施方式的盤控制裝置(一個集群)的結構。 盤控制裝置集群10具備具有主計算機連接端口 140的前端部(FEPK) 100、具有盤驅動器連接端口 240的后端部(BEPK) 200、處理器部(MPPK) 300、高速緩存部(CMPK) 400以及開關部(SWPK) 500。
前端部100具備控制通道協議的協議控制芯片(PCV) 130、對協議控 制芯片130所使用的數據等進行存儲的通道存儲器(HM) 120、用于與其他 組件通信的集線器(LR) 110、以及對來自通道存儲器120的數據傳輸進行控 制的DMA控制器(DMAC) 115。例如圖12所示,前端部100與主計算機30 連接。
后端部200具備控制通道協議的協議控制芯片(PCV) 230、對協議控 制芯片230所使用的數據等進行存儲的通道存儲器(HM) 220、用于與其他
組件通信的集線器(LR) 210、以及對來自通道存儲器220的數據傳輸進行控 制的DMA控制器(DMAC)215。例如圖12所示,后端部200與盤驅動器20 連接。
處理器部300具備處理器(MP) 330、對處理器330所使用的數據等進 行存儲的處理器存儲器(LM)320、用于與其他組件通信的存儲器控制器(MC) 310、以及對來自處理器存儲器320的數據傳輸進行控制的DMA控制器 (DMAC ) 315。高速緩存部400具備高速緩沖存儲器(CM) 420以及用于 與其他組件通信的存儲器控制器(CMC) 410。
開關部500具備連接前端部100、后端部200、處理器部300以及高速緩 存部400的開關(SW) 510。此外,開關510具備用于連接其他集群的集群間 連接端口 540。而且,開關510具備對存儲器間數據傳輸進行保護的開關訪問 控制機構550。
在盤控制裝置集群10內,連接前端部100、后端部200、處理器部300以 及高速緩存部400的內部網絡由開關510構成。通過內部網絡,這些結構以及 各部所具備的存儲器經由開關510相連。為了在內部網絡中唯一地確定存儲器 空間,將各部的存儲器地址空間映射到內部網絡地址空間中。圖2表示被映射
后的存儲器地址。對多個通道存儲器120、處理器存儲器320、高速緩沖存儲 器420分配了內部網絡的唯一的地址。因此,通過指定內部網絡的地址,可以 在其對象所屬的集群內,包含其他構成部分地唯一指定存儲器區域。
圖3表示在第一實施方式的內部網絡的傳輸中使用的數據包的結構。 數據包600包含包頭(header) 601和載荷(payload) 602。包頭601包含 命令610、傳輸源地址611、第一傳輸目的地地址612、第二傳輸目的地地址 613、數據長614、數據包順序管理信息615以及包頭檢查碼616。在載荷中包 含數據620、數據檢查碼621。
在盤控制裝置的IO處理動作中,使用上述內部網絡數據包,在通道存儲 器120、處理器存儲器320以及高速緩沖存儲器420之間傳輸數據。例如,在 把來自主計算機的WRITE數據暫時存儲(緩沖)到前端部100的通道存儲器 120之后,傳輸給高速緩沖存儲器420。并且在恰當的定時,在將數據從高速 緩沖存儲器420傳輸到后端部200的通道存儲器220后,將傳輸的數據寫入盤
驅動器20中。此外,為了對前端部100以及后端部200的通道進行控制,處 理器330在通道存儲器120、 220和處理器存儲器320之間傳輸數據。在本實施方式的盤控制裝置中,在這些存儲器之間傳輸數據時,使用內部 網絡數據包的命令610、傳輸源地址611以及傳輸目的地地址612、 613來檢 查是否可以執行該數據傳輸。僅在允許數據傳輸時執行傳輸,當不允許時,作 為錯誤而中斷傳輸。接下來,參照圖4以及圖5,對通過第一實施方式的開關訪問控制機構550 進行的存儲器間數據傳輸保護的動作進行說明。圖4是在第一實施方式中從通道存儲器(HM)向兩個高速緩沖存儲器 (CM1、 CM2)進行存儲器間數據傳輸時的、通過開關510進行的數據傳輸 保護的順序圖。當處理器(MP) 330對前端部100啟動DMA傳輸時(1401),從通道存 儲器(HM) 120經由開關(SW) 510對兩個高速緩沖存儲器(CM1、 CM2) 420傳輸數據包(1402)。此外,雖然省略了圖示,但在DMA傳輸啟動(1401) 之前,在處理器存儲器320上生成DMA傳輸所需的DMA傳輸用參數,并將 生成的參數從處理器存儲器320傳輸給通道存儲器120 (參照圖14的1201、 1202)。在對高速緩沖存儲器420傳輸數據包時,在開關510中對數據包的包頭 601進行分析,取得傳輸命令、傳輸源存儲器地址以及傳輸目的地存儲器地址。 而且,根據得到的傳輸源存儲器地址以及傳輸目的地存儲器地址,取得傳輸源 存儲器地址的區域屬性以及傳輸目的地存儲器地址的區域屬性。在圖4所示的 例子中,傳輸命令是高速緩存雙重WRITE。而且,開關訪問控制機構550判定傳輸命令、傳輸源地址以及傳輸目的地 地址是否為正確的組合,來決定是否執行傳輸1404、 1405 ( 1403)。即,判定 傳輸源地址是否包含在允許基于高速緩存雙重WRITE命令的數據傳輸的區域 中,以及判定傳輸目的地地址是否包含在允許基于高速緩存雙重WRITE命令 的數據傳輸的區域中。此外應該注意,在該傳輸處理中,對應該通過開關510傳輸的數據進行了 復制。因此,僅由開關510執行一次訪問檢查即可。
圖5是在第一實施方式中從高速緩沖存儲器(CM1 )向另一個高速緩沖存 儲器(CM2)進行存儲器間數據傳輸時的、通過開關510進行的數據傳輸保護 的順序圖。當處理器(MP) 330對前端部IOO啟動DMA傳輸時(1601),通過對高 速援存部400傳輸復制命令,來執行用于開始數據傳輸的控制(1602、 1603)。 此外,雖然省略了圖示,但在DMA傳輸啟動(1401)之前,在處理器存儲器 320上生成DMA傳輸所需的DMA傳輸用參數,并將生成的參數從處理器存 儲器320傳輸給通道存儲器120 (參照圖14的1201 、 1202 )。當高速緩沖存儲器(CM1 )接收到復制命令時,在CM1和CM2之間經 由開關(SW) 510開始存儲器間數據傳輸(1604)。此時,在位于存儲器傳輸 路徑上的開關510中,與上述相同地對數據包包頭601進行分析,取得傳輸命 令(高速緩存間COPY)、傳輸源存儲器地址(CM1)的區域屬性、以及傳輸 目的地存儲器地址(CM2 )的區域屬性。而且,開關訪問控制機構550判定傳 輸命令、傳輸源地址以及傳輸目的地地址是否為正確的組合,來決定是否執行 傳輸1606( 1605 )。即,判定傳輸源地址是否包含在允許基于高速緩存間COPY 命令的數據傳輸的區域中,以及判定傳輸目的地地址是否包含在允許基于高速 緩存間COPY命令的數據傳輸的區域中。圖6表示第一實施方式的開關訪問控制機構550的結構。 開關訪問控制機構550具備對地址進行分析的地址解碼電路700 (ADDRESS DECODE )、保存存儲器地址和區域屬性的關系的地址區域表710 (REGIONTABLE )、對命令進行分析的命令解碼電路720 (CMDDECODE) 以及驗證命令及地址的一致性的一致性檢查電路730 (CONSISTENCY CHECK )。地址解碼電路700對傳輸源地址611、第一傳輸目的地地址612以及第二 傳輸目的地地址613進行分析,通過參照地址區域表710來確定這些地址所屬 的區域,并確定各區域的屬性(REGION# )。 一致性檢查電路730對已確定 的區域的屬性之間的一致性進行-驗證,輸出地址的一致性的結果。例如,當所 述傳輸源的區域的屬性與所述傳輸目的地的區域的屬性一致時,判定兩者匹 配,允許數據傳輸。
此外,命令解碼電路720對傳輸命令610進行分析。 一致性檢查電路730 對由地址解碼電路700確定的各區域的屬性與命令的一致性進行驗證,輸出命 令的一致性的結果。
此外,可以將一致性檢查電路730分成命令一致性檢查電路和地址一致性 才全查電路來構成。此時,命令一致性纟企查電路4企查命令與地址的一致性,地址 一致性檢查電路才企查傳輸源地址與傳輸目的地地址的一致性。如此,可以分散 處理一致性檢查處理,可以使處理高速化。
此外,在本實施方式中,開關訪問控制機構550由硬件來實現,但也可以 由處理器執行的軟件來實現。
圖7表示第一實施方式的傳輸制約條件的定義例。該傳輸制約條件保存在 一致性檢查電路730中,但只要可以由一致性檢查電路730參照,就不對其保 存場所進行限定。
在圖7所示的傳輸制約條件的定義例中,在集群內的從通道存儲器向處理 器存儲器的數據傳輸中,僅允許控制區域間的數據傳輸。此外,在集群內的從 高速緩沖存儲器向高速緩沖存儲器的傳輸中,僅允許數據區域間的數據傳輸。 如此,通過設置傳輸制約條件,可以防止非法的傳輸來保護存儲在存儲器中的 數據,并且可以提高盤控制裝置的可靠性。
此外,在圖7中還表示了集群間傳輸的傳輸制約條件,集群間的傳輸制約 條件將在后面的第三實施方式中進行記述。
圖8是第一實施方式的開關訪問控制機構550的動作的流程圖。
開關訪問控制機構550通過命令解碼電路720對傳輸命令進行解碼,并通 過地址解碼電路700對傳輸源地址以及傳輸目的地地址進行解碼。然后,確定 由傳輸源地址以及傳輸目的地地址指定的各區域的屬性(810)。之后,由一致 性檢查電路730判定傳輸源區域的屬性和傳輸目的地區域的屬性是否一致 (820)。在兩個區域的屬性不一致的情況下作為錯誤。
另一方面,在兩個區域的屬性一致時,由一致性檢查電路730判定是集群 內傳輸還是集群間傳輸(850 )。根據命令是集群內傳輸命令還是集群間傳輸命 令來進行該判定。
結果,如果是集群內傳輸,則判定是否滿足集群內傳輸制約條件(830)。
在不滿足集群內傳輸制約條件的情況下作為錯誤,在滿足集群內傳輸制約條件 的情況下允許數據傳輸。另一方面,如果是集群間傳輸,則判定是否滿足集群間傳輸制約條件(840)。在不滿足集群間傳輸制約條件的情況下作為錯誤,在滿足集群間傳輸制約條件的情況下允許數據傳輸。如上所述,根據第一實施方式的盤控制裝置,通過訪問控制機構,在經由 內部網絡傳輸數據包時,對數據包包頭信息的一致性進行驗證,僅傳輸驗證了 一致性的數據包,由此可以防止不恰當的傳輸,可以提高盤控制裝置的可靠性。特別是通過在開關510中設置開關訪問控制機構550,可以在開關部對數據包 包頭信息的一致性進行驗證。即,因為只通過開關部執行訪問控制,所以可以 集中地對存儲器間數據傳輸進行驗證,可以降低盤控制裝置的成本。此外,根據第一實施方式的盤控制裝置,根據數據包的傳輸源地址以及傳 輸目的地地址來確定數據包的傳輸源區域的屬性以及傳輸目的地區域的屬性。 而且,根據數據包傳輸命令和傳輸目的地以及傳輸源區域的屬性來決定是否允 許傳輸,由此可以僅通過傳輸的數據包中包含的信息來判定是否可以傳輸數據 包。并且,根據第一實施方式的盤控制裝置,可以根據傳輸源的區域屬性、傳 輸目的地的區域屬性與數據包傳輸命令之間的關系,對規定了是否允許傳輸的 傳輸制約條件進行保存。并且,通過參照傳輸制約條件,并且僅執行被允許的 傳輸,可以實現更加優良的存儲器保護機構。 (第二實施方式)圖9表示第二實施方式的盤控制裝置(一個集群)的結構。在圖9所示的第二實施方式的盤控制裝置集群10中,高速緩沖存儲器控 制器410具備高速緩沖存儲器訪問控制機構450。同樣地,集線器110以及210 分別具備通道存儲器訪問控制機構150以及250,處理器存儲器控制器310具 備處理器存儲器訪問控制機構350。接下來,參照圖10以及圖11對通過第二實施方式的高速緩沖存儲器訪問 控制機構450進行的存儲器間數據傳輸保護的動作進行說明。圖10是在第二實施方式中從通道存儲器(HM)向兩個高速緩沖存儲器 (CM1、 CM2)進行存儲器間數據傳輸時的、通過高速緩沖存儲器訪問控制
機構450進行的數據傳輸保護的順序圖。
當處理器(MP ) 330對前端部100啟動DMA傳輸時(1501),從通道存 儲器(HM) 120經由開關(SW) 510對兩個高速緩沖存儲器(CM1、 CM2) 傳輸數據包(1502)。此外,雖然省略了圖示,但在DMA傳輸啟動(1501) 之前,在處理器存儲器320上生成DMA傳輸所需的DMA傳輸用參數,并將 生成的參數從處理器存儲器320傳輸給通道存儲器120 (參照圖14的1201、 1202 )。
在對高速緩沖存儲器420傳輸數據包時,在各高速緩沖存儲器中對數據包 的包頭601進行分析,取得傳輸命令、傳輸源存儲器地址以及傳輸目的地存儲 器地址(CM1或CM2)。而且,根據得到的傳輸源存儲器地址以及傳輸目的 地存儲器地址,取得傳輸源存儲器地址的區域屬性以及傳輸目的地存儲器地址 的區域屬性。在圖10所示的例子中,傳輸命令是高速緩存雙重WRITE。
而且,CM1的高速緩沖存儲器訪問控制機構450判定傳輸命令、傳輸源 地址以及傳輸目的地地址是否為正確的組合,來決定是否執行傳輸1503 (1504)。即,判定傳輸源地址是否包含在允許基于高速緩存雙重WRITE命 令的數據傳輸的區域中,以及判定傳輸目的地地址是否包含在允許基于高速緩 存雙重WRITE命令的數據傳輸的區域中。
結果,當判斷為允許傳輸時,存儲器控制器410把從開關510傳輸的數據 (1503 )寫入高速緩沖存儲器420中。另一方面,當判斷為不允許傳輸時,不 將從開關510傳輸的數據(1503 )寫入高速緩沖存儲器420中,而將其丟棄。
同樣地,CM2的高速緩沖存儲器訪問控制機構450判定傳輸命令、傳輸 源地址以及傳輸目的地地址是否為正確的組合,來決定是否執行傳輸1505 (1506)。
結果,當判斷為允許傳輸時,存儲器控制器410把從開關510傳輸的數據 (1505 )寫入高速緩沖存儲器420中。另一方面,當判斷為不允許傳輸時,不 將從開關510傳輸的數據(1505 )寫入高速緩沖存儲器420中,而將其丟棄。 此外,在由一方的高速緩沖存儲器訪問控制機構450判斷為不允許傳輸 時,可以不寫入高速緩沖存儲器(CM1 ) 420以及高速緩沖存儲器(CM2) 420 中,而將其丟棄。即,在由雙方的高速緩沖存儲器訪問控制機構450允許傳輸
時,對高速緩沖存儲器(CM1 ) 420以及高速緩沖存儲器(CM2) 420執行雙 重WRITE。圖11是在第二實施方式中從高速緩沖存儲器(CM1)向另一個高速緩沖 存儲器(CM2)進行存儲器間數據傳輸時的、通過高速緩沖存儲器訪問控制機 構450進行的數據傳輸保護的順序圖。當處理器(MP) 330對前端部IOO啟動DMA傳輸時(1701),通過對高 速緩存部400傳輸復制命令,來執行用于開始數據傳輸的控制(1702、 1703)。 此外,雖然省略了圖示,但在DMA傳輸啟動(1701)之前,在處理器存儲器 320上生成DMA傳輸所需的DMA傳輸用參數,并將生成的參數從處理器存 儲器320傳輸給通道存儲器120 (參照圖14的1201、 1202)。當高速緩沖存儲器(CM1)接收到復制命令時,在CM1和CM2之間經 由開關(SW) 510開始存儲器間數據傳輸(1703)。此時,在傳輸目的地高速 緩沖存儲器(CM2)的高速緩沖存儲器訪問控制機構450中,與上述相同地對 數據包包頭601進行分析,取得傳輸命令(高速緩存間COPY)、傳輸源存儲 器地址(CM1)的區域屬性、以及傳輸目的地存儲器地址(CM2)的區域屬 性。而且,開關訪問控制機構550判定傳輸命令、傳輸源地址以及傳輸目的地 地址是否為正確的組合,來決定是否執行傳輸1660 ( 1704、 1705)。即,判定 傳輸源地址是否包含在允許基于高速緩存間COPY命令的數據傳輸的區域中, 以及判定傳輸目的地地址是否包含在允許基于高速緩存間COPY命令的數據 傳輸的區域中。結果,當判斷為允許傳輸時,存儲器控制器410把從開關510傳輸的數據 (1705)寫入高速緩沖存儲器420中。另一方面,當判斷為不允許傳輸時,不 將從開關510傳輸的數據(1705 )寫入高速緩沖存儲器420中,而將其丟棄。 如上所述,根據第二實施方式的盤控制裝置,可以在存儲器間數據傳輸中 保護存儲器。此外,設置有傳輸目的地存儲器的存儲器訪問控制機構(例如高 速緩沖存儲器控制器410的高速緩沖存儲器訪問控制機構450)。由此,在通 道部、高速緩存部以及處理器部的某一個中,通過驗證數據包包頭信息的一致 性,可以分散地保護存儲器間的數據傳輸。特別是通過寫入數據的存儲器的存 儲器訪問控制機構來檢查是否允許進行傳輸,所以可以在寫入存儲器之前進行
檢查,可以實現更高的可靠性。
此外,在第二實施方式的盤控制裝置中,在傳輸目的地的存儲器所具備的 存儲器訪問控制機構中驗證數據傳輸的一致性,但也可以在傳輸源的存儲器所 具備的存儲器訪問控制機構中驗證數據傳輸的一致性。此時,可以在進行需要 較高可靠性的數據傳輸時,在傳輸目的地的存儲器訪問控制機構中驗證數據傳 輸的一致性,在進行通常可靠性便已足夠的數據傳輸時,在傳輸源的存儲器訪 問控制機構中驗^〖正數據傳輸的一致性。
此外,還可以混合采用所述第一實施方式和第二實施方式。即,開關部
500具備開關訪問控制機構550,高速緩存部400具備高速緩沖存儲器訪問控 制機構450,前端部100具備通道存儲器訪問控制機構150,后端部200具備 通道存儲器訪問控制機構250,處理器部300具備處理器存儲器訪問控制機構 350。此外,各存儲器訪問控制機構可以是一個或者多個。
而且,還可以由開關訪問控制機構550以及數據傳輸目的地的存儲器的存 儲器訪問控制機構雙方來檢查是否允許傳輸。
此外,還可以按照命令的種類以及/或者數據的傳輸目的地,由開關訪問 控制機構550以及數據傳輸目的地的存儲器的存儲器訪問控制機構的某一個 來檢查是否允許傳輸。例如,在向高速緩存部傳輸數據時,由高速緩沖存儲器 訪問控制機構450來檢查是否允許傳輸,在向其他部分傳輸數據時,由開關訪 問控制機構550檢查是否允許傳輸。 (第三實施方式)
圖12表示第三實施方式的包含多個集群的盤控制裝置的結構。
盤控制裝置集群10具備與主計算機(HOST) 30連接的前端部(FE PK) 100、與盤驅動器裝置20連接的后端部(BE PK) 200、處理器部(MP PK) 300、高速緩存部(CMPK) 400以及開關部(SWPK) 500。盤控制裝置集群 10、 11之間通過各自的開關部500相連。開關部500具備開關訪問控制機構 550。
如圖13所示,第三實施方式的盤控制裝置在存儲器之間(從通道存儲器 121、 122到高速緩沖存儲器321、 322等)設有用于傳輸數據的DMA控制器 115、 116、 315、 316。
在第三實施方式的盤控制裝置中,開關訪問控制機構550檢查是否可以在 存儲器之間傳輸數據。僅在允許數據傳輸時執行傳輸,在不允許時作為錯誤而 中斷傳輸。因此,即使在集群之間傳輸數據時,也可以對存儲器中存儲的數據 進行保護。圖14是第三實施方式的使用了 DMA的集群內數據傳輸處理的順序圖。為了啟動通道存儲器用DMA控制器115,需要向該DMA控制器115通 知DMA參數。因此,處理器330在處理器存儲器320上生成DMA傳輸用參 數,來啟動處理器存儲器用DMA控制器315 (1201)。而且,處理器存儲器用 DMA控制器315經由開關510將處理器存儲器320中存儲的DMA傳輸用參 數傳輸給通道存儲器120 ( 1202 )。之后,處理器330啟動通道存儲器用DMA控制器115 ( 1204)。而且,通 道存儲器用DMA控制器115使用已傳輸的DMA參數列表,將通道存儲器120 中存儲的數據經由開關510傳輸給高速緩沖存儲器420 ( 1205 )。因此,執行從處理器存儲器320向通道存儲器120的參數傳輸(1202 )、 從通道存儲器120向高速緩沖存儲器420的數據傳輸(1205 )這兩個DMA傳 輸。無論在哪個數據傳輸中,都通過開關510的開關訪問控制機構550來驗證 該數據傳輸的有效性(1203、 1206),因此可以在數據傳輸時對存儲器中存儲 的數據進行保護。圖15是第三實施方式的使用了 DMA的集群間數據傳輸處理的順序圖。 圖15表示從集群1的高速緩沖存儲器(CM1) 421向集群2的處理器存儲器 (LM2)323傳輸了數據時的動作流程。此外,集群間的數據傳輸僅允許READ 模式。首先,為了啟動數據的DMA傳輸,集群1的處理器(MP1 ) 330請求集 群2的處理器(MP2 )331執行從集群1的高速緩沖存儲器(CM1 )421的READ 傳輸。因此,處理器330在處理器存儲器321上生成控制信息,啟動處理器存 儲器用DMA控制器315 ( 1301 )。然后,處理器存儲器用DMA控制器315將 處理器存儲器(LM1 ) 321中存儲的控制信息經由開關(SW1 ) 510以及開關 (SW2) 511傳輸給處理器存儲器(LM2) 323 ( 1302、 1303、 1304)。而且, 處理器(MP1 ) 330通過處理器間通知,請求處理器(MP2) 331對傳輸的控
制信息進行處理。
因此,處理器(MP2) 331啟動處理器存^f諸器用DMA控制器316 ( 1306)。 然后,處理器存儲器用DMA控制器316將存儲在處理器存儲器(LM2) 323 中的控制信息中所包含的DMA傳輸用參數傳輸給通道存儲器120 ( 1307)。
之后,處理器(MP2) 331啟動通道存儲器用DMA控制器116 ( 1308)。 然后,通道存儲器用DMA控制器116使用已傳輸的DMA參數列表,對集群 1的高速緩沖存儲器(CM1 ) 421發送READ命令(1309),并將集群1的高 速緩沖存儲器421中存儲的數據經由開關(SW1) 510以及開關(SW2) 511 傳輸給處理器存儲器323 ( 1310)。
無論在哪個數據傳輸中,都通過開關510、 511的開關訪問控制機構550、 551來驗證該數據傳輸的有效性(1311、 1312、 1313),因此可以在數據傳輸 時對存儲器中存儲的數據進行保護。
從作為數據傳輸目的地的集群2看來,因為是自身集群的DMA控制器取 得其他集群的數據的處理,所以稱為READ模式。通過READ模式在集群間 傳輸數據,由此不在其他集群的存儲器區域中寫入數據。因此,可以不向其他 集群的存儲器寫入數據而保護在存儲器中存儲的數據。
接下來,對第三實施方式的數據傳輸制約條件進行說明。
圖7中還表示了集群間傳輸的傳輸制約條件。在該定義例中,關于集群間 傳輸,僅允許處理器存儲器間的傳輸、從高速緩沖存儲器向通道存儲器的傳輸、 以及從高速緩沖存儲器向處理器存儲器的數據傳輸。而且,關于來自高速緩沖 存儲器的數據傳輸,僅允許READ模式。
如上所述,根據第三實施方式的盤控制裝置,開關訪問控制機構550驗證 是否可以執行集群間數據傳輸,僅對確認了一致性的數據包進行傳輸,所以可 以防止不恰當的傳輸。由此,可以保護集群間數據傳輸和存儲器間數據傳輸時 的數據,保護存儲在存儲器中的數據,并且可以提高盤控制裝置的可靠性。
此外,根據第三實施方式的盤控制裝置,在盤控制裝置集群之間的數據包 傳輸中,僅在屬于傳輸目的地集群的DMA控制器啟動了傳輸時,允許執行該 傳輸,由此不在其他集群的存儲器區域中寫入數據。因此,可以保護在其他集 群的存儲中存儲的數據,可以提高模塊間的獨立性,并可以提高集群結構的盤
控制裝置的可靠性。 (第四實施方式)
接下來,使用所述圖13來說明本發明第四實施方式。
在圖13所示的盤控制裝置中,集群1的通道存儲器120被分割為通道存 儲器數據區域121和通道存儲器控制區域122。此外,集群l的處理器存儲器 320被分割為處理器存儲器數據區域321和處理器存儲器控制區域322。此外, 集群1的高速緩沖存儲器420被分割為高速緩沖存儲器數據區域421和高速緩 沖存儲器控制區域422。同樣地,集群2的通道存儲器被分割為通道存儲器數 據區域123和通道存儲器控制區域124。此外,集群2的處理器存儲器被分割 為處理器存儲器數據區域323和處理器存儲器控制區域324。此外,集群2的 高速緩沖存儲器被分割為高速緩沖存儲器數據區域423和高速緩沖存儲器控 制區域424。
圖16A C表示進一步細分后的存儲器區域。
如圖16A所示,通道存儲器被分割為數據區域和控制區域,而且針對每 個連接端口,將分割而得的各個區域又進行了分割。此外,作為全部連接端口 可以共用的區域而i殳置了共用區域。
同樣地,如圖16B所示,處理器存儲器被分割為數據區域和控制區域, 而且針對負責處理的每個處理器,將分割而得的各個區域又進行了分割。此外, 作為此處理器部所具備的全部處理器可以共用的區域而設置了處理器部共用 區域。
同樣地,如圖16C所示,高速緩沖存儲器被分割為數據區域和控制區域。 對這些區域分配了在全部模塊的全部存儲器區域中不重復的唯一 內部網 絡地址空間。因此,可以通過識別內部網絡地址來確定包含該地址的區域。由 此,訪問控制機構可以對存儲器間數據傳輸的有效性進行驗證,來保護在存儲 器中存儲的數據,并且可以提高盤控制裝置的可靠性。
圖17A C表示進一步細分后的存儲器區域的變形例。 如圖17A所示,通道存儲器被分割為數據區域和控制區域,而且針對每 個連接端口以及負責處理的每個處理器,將分割而得的各個區域又進行了分 割。此外,作為全部連接端口可以共用的區域而設置了組件共用區域,并且還
針對負責處理的每個處理器將組件共用區域進行了分割。如圖17B所示,處理器存儲器被分割為數據區域和控制區域,而且針對負責處理的每個處理器以及每個連接端口 ,將分割而得的各個區域又進行了分 割。此外,作為此處理器部中具備的全部處理器可以共用的區域而設置了處理 器部共用區域,并且還針對每個連接端口,將處理器部共用區域進行了分割。如圖17C所示,高速緩沖存儲器被分割為數據區域和控制區域,而且針 對負責處理的每個處理器,將分割而得的各個區域又進行了分割。如上所述,根據第四實施方式的盤控制裝置,分配了在全部構成部分的全 部存儲器區域中不重復的唯一的內部網絡地址。因此,可以通過如此細分存儲 器區域來更加詳細地確定包含內部網絡地址的區域的屬性。因此,訪問控制機 構更加詳細地確定存儲器區域的屬性,由此可以更加切實地保護在存儲器中存 儲的數據,并且可以提高盤控制裝置的可靠性。特別地,通過將存儲器區域分割為存儲來自主計算機的數據的數據區域、 和存儲用于控制盤控制裝置內的動作的數據的控制區域,可以更加切實地保護 用戶數據使其不受到故障的影響。而且,通過根據與主計算機的連接端口、以及對該數據包傳輸進行控制的 處理器來分割所述數據區域和所述控制區域,可以更加切實地保護用戶數據。
權利要求
1.一種盤控制裝置,對主計算機和盤驅動器之間的數據傳輸進行控制,其特征在于,具備具有通道存儲器的通道部、和具有高速緩沖存儲器的高速緩存部,在所述通道存儲器和所述高速緩沖存儲器之間通過數據包傳輸數據,具備在傳輸所述數據包時,通過對所述傳輸的數據包的包頭信息的一致性進行驗證,來決定是否允許該傳輸的控制部。
2. 根據權利要求1所述的盤控制裝置,其特征在于, 所述盤控制裝置還具有將所述通道部以及所述高速緩存部連接來形成內部網絡的開關部,所述開關部經由所述內部網絡,在所述通道存儲器與所述高速緩沖存儲器 之間傳輸數據包,所述開關部具備所述控制部,由此在傳輸所述數據包時,對所述傳輸的數 據包的包頭信息的一致性進行驗_汪。
3. 根據權利要求1所述的盤控制裝置,其特征在于, 所述通道部以及所述高速緩存部的至少一個具備所述控制部,由此在傳輸所述數據包時,對所述傳輸的數據包的包頭信息的一致性進行驗證。
4. 根據權利要求1所述的盤控制裝置,其特征在于, 所述盤控制裝置還具備與其他盤控制裝置連接的開關部, 所述開關部在與所述其他盤控制裝置之間傳輸所述數據包,所述開關部具有所述控制部,由此在所述盤控制裝置之間傳輸所述數據包 時,對所述傳輸的數據包的包頭信息的一致性進行驗證。
5. 根據權利要求4所述的盤控制裝置,其特征在于,所述通道部以及所述控制部的至少 一個具備啟動所述數據包傳輸的DMA 控制器,在所述盤控制裝置之間傳輸數據包時,所述控制部,在通過所述傳輸目的 地盤控制裝置所具備的DMA控制器啟動傳輸時允許該傳輸,在通過所述傳輸 源盤控制裝置所具備的DMA控制器啟動傳輸時不允許該傳輸。
6. 根據權利要求l所述的盤控制裝置,其特征在于,所述通道部以及所述控制部的至少一個具備用于啟動所述數據包傳輸的 DMA控制器。
7. 根據權利要求1所述的盤控制裝置,其特征在于, 所述各個存儲器的存儲區域被分割為存儲從所述主計算機發送的數據的數據區域、和存儲用于控制所述盤控制裝置內的操作的數據的控制區域,在傳輸所述數據包時,所述控制部根據所述傳輸的數據包的包頭信息,對 所述傳輸源的存儲器區域和所述傳輸目的地的存儲器區域的一致性進行驗證。
8. 根據權利要求7所述的盤控制裝置,其特征在于, 所述盤控制裝置還具備控制所述數據的傳輸的處理器, 所述數據區域以及所述控制區域被進一步分割為由與所述主計算機的連接端口所使用的區域、以及由控制該數據包的傳輸的處理器所使用的區域,在傳輸所述數據包時,所述控制部根據所述傳輸的數據包的包頭信息,對 所述傳輸源的存儲器區域和所述傳輸目的地的存儲器區域的 一致性進行4^i正。
9. 根據權利要求1所述的盤控制裝置,其特征在于, 所述控制部根據所述數據包的傳輸源地址以及傳輸目的地地址,來確定所述數據包的傳輸源的存儲器區域的屬性、以及所述傳輸目的地的存儲器區域的 屬性,所述控制部根據所述數據包的傳輸命令和所述已確定的區域的屬性,來決 定是否允許該傳輸。
10. 根據權利要求9所述的盤控制裝置,其特征在于, 在所述傳輸源的區域的屬性與所述傳輸目的地的區域的屬性一致的情況下,所述控制部允許所述傳輸。
11. 才艮據權利要求9所述的盤控制裝置,其特征在于, 所述盤控制裝置保持傳輸條件,所述傳輸條件根據所述傳輸源的區域的屬性、所述傳輸目的地的區域的屬性、以及所述數據包傳輸的傳輸命令之間的關 系,決定是否允許傳輸,所述控制部參照所述傳輸條件,在由所述參照的傳輸條件允許的情況下允 許傳輸。
12. —種對主計算機與盤驅動器之間的數據傳輸進行控制的盤控制裝置 中的數據傳輸控制方法,其特征在于,所述盤控制裝置具備具有通道存儲器的通道部、和具有高速緩沖存儲器 的高速緩存部,所述數據傳輸控制方法,在所述通道存儲器和所述高速緩沖存儲器之間通 過數據包傳輸數據時,通過對所述傳輸的數據包的包頭信息的一致性進行驗 證,來決定是否允許該傳輸,當決定允許所述傳輸時,傳輸數據包。
13. 根據權利要求12所述的數據傳輸控制方法,其特征在于, 所述盤控制裝置還與其他盤控制裝置連接,所述數據傳輸控制方法,在所述盤控制裝置之間傳輸數據包時,對所述傳 輸的數據包的包頭信息的一致性進行驗證。
14. 根據權利要求13所述的數據傳輸控制方法,其特征在于, 所述通道部以及所述處理器部的至少一個具備啟動所述數據包傳輸的DMA控制器,所述數據傳輸控制方法,在所述盤控制裝置之間傳輸數據包時,在通過所 述傳輸目的地盤控制裝置所具備的DMA控制器啟動傳輸時允許該傳輸,在通 過所述傳輸源盤控制裝置所具備的DMA控制器啟動傳輸時不允許該傳輸。
15. 根據權利要求12所述的數據傳輸控制方法,其特征在于, 所述各個存儲器的存儲區域被分割為存儲從所述主計算機發送的數據的數據區域、和存儲用于控制所述盤控制裝置內的操作的數據的控制區域,所述數據傳輸控制方法,在傳輸所述數據包時,#4居所述傳輸的數據包的 包頭信息,對所述傳輸源的存儲器區域和所述傳輸目的地的存儲器區域的一致 性進4f驗i正。
16. 根據權利要求15所述的數據傳輸控制方法,其特征在于, 所述盤控制裝置還具備控制所述數據的傳輸的處理器, 所述數據區域以及所述控制區域被進一步分割為由與所述主計算機的連接端口所使用的區域、以及由控制該數據包的傳輸的處理器所使用的區域,所述數據傳輸控制方法,在傳輸所述數據包時,根據所述傳輸的數據包的包頭信息,對所述傳輸源的存儲器區域和所述傳輸目的地的存儲器區域的一致 性進行驗證。
17. 根據權利要求12所述的數據傳輸控制方法,其特征在于, 根據所述數據包的傳輸源地址以及傳輸目的地地址,來確定所述數據包的傳輸源的存儲器區域的屬性以及所述傳輸目的地的存儲器區域的屬性,根據所述數據包的傳輸命令和所述已確定的區域的屬性,來決定是否允許 該傳輸。
18. 根據權利要求17所述的數據傳輸控制方法,其特征在于, 在所述傳輸源的區域的屬性與所述傳輸目的地的區域的屬性一致的情況下,允許所述傳輸。
19. 根據權利要求17所述的數據傳輸控制方法,其特征在于, 所述盤控制裝置保持傳輸條件,所述傳輸條件根據所述傳輸源的區域的屬性、所述傳輸目的地的區域的屬性、以及所述數據包傳輸的傳輸命令之間的關 系,決定是否允許傳輸,所述數據傳輸控制方法參照所述傳輸條件,在由所述參照的傳輸條件允許 的情況下允許傳輸。
全文摘要
本發明提供一種對盤控制裝置內的存儲器間數據傳輸進行數據保護的機構。一種對主計算機和盤驅動器之間的數據傳輸進行控制的盤控制裝置,其具備具有通道存儲器的通道部、以及具有高速緩沖存儲器的高速緩存部,在所述通道存儲器和所述高速緩沖存儲器之間通過數據包傳輸數據,具備在傳輸所述數據包時通過驗證所述傳輸數據包的包頭信息的一致性來決定是否允許該傳輸的控制部。
文檔編號G06F13/28GK101154203SQ200710104898
公開日2008年4月2日 申請日期2007年5月24日 優先權日2006年9月26日
發明者細谷睦 申請人:株式會社日立制作所