[發明專利]數據讀寫方法及應用該方法的磁盤陣列系統有效
| 申請號: | 200910243591.4 | 申請日: | 2009-12-25 |
| 公開(公告)號: | CN101840310A | 公開(公告)日: | 2010-09-22 |
| 發明(設計)人: | 雷偉 | 申請(專利權)人: | 創新科存儲技術有限公司;創新科軟件技術(深圳)有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06 |
| 代理公司: | 北京德琦知識產權代理有限公司 11018 | 代理人: | 謝安昆;宋志強 |
| 地址: | 100083 北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據 讀寫 方法 應用 磁盤陣列 系統 | ||
技術領域
本發明涉及計算機存儲技術領域,尤其涉及一種數據讀寫方法及使用該方法的磁盤陣列系統。
背景技術
目前,磁盤陣列系統可按照前端主機接口來劃分,分為光纖通道(FibreChannel,FC)磁盤陣列,互聯網小型計算機系統接口(Internet?Small?ComputerSystem?Interface,iSCSI)磁盤陣列,串行SCSI(Serial?Attached?SCSI,SAS)磁盤陣列,及Infiniband磁盤陣列。
FC/iSCSI/SAS/Infiniband磁盤陣列系統的結構主要由前端協議驅動層,卷管理層,緩存層(Cache)和獨立冗余磁盤陣列(Redundant?Array?of?IndependentDisks,RAID)層組成。如圖1至3分別示出了現有技術中的三種磁盤陣列系統結構圖。以圖1為例,對讀寫命令的處理流程描述如下:根據前端主機接口的不同,讀寫命令經過主機端不同傳輸協議的封裝,進入磁盤陣列系統,由前端協議驅動層101對數據包/幀進行解析,提取讀寫命令交由卷管理層102;卷管理層102根據讀寫命令操作的卷進行分類,并將命令交由緩存層103處理;緩存層103判斷讀寫命令對應的數據塊在緩存中是否命中,如命中,則直接執行該讀寫命令對應的操作,并將操作結果返回前端協議驅動層101;否則交由RAID層104處理,由RAID層104調用相關的物理設備105執行操作。操作結果依次返回前端協議驅動層101。無論是以上哪種方式返回的操作結果,前端協議驅動層101將操作結果及數據按照協議進行封裝,并發送至主機端。
其中,數據塊在緩存層中的處理分為三部分:
1、查找:即查找數據塊是否在緩存區內;
2、命中處理:數據塊在緩存區內,則直接返回操作結果;
3、不命中處理:數據塊不在緩存區內,則以緩存塊的大小為單位,分配緩存空間,若為讀操作或是數據塊小于緩存塊的寫操作,則通過RAID讀取磁盤中最新數據到緩存塊中,再執行對應的讀/寫操作;否則直接將數據塊寫入緩存區。
圖2及圖3所示磁盤陣列系統中各個層的連接方式與圖1大體相同,只是圖2中的緩存層203與前端協議驅動層201之間的數據與命令的交互都要經由卷管理層202實現;而圖3中卷管理層303在緩存層302的下層,前端協議驅動層301對數據包/幀進行解析提取讀寫命令后,首先將讀寫命令交給緩存層302進行處理,如果命中直接將操作結果返回前端協議驅動層301,如果未命中再交給卷管理層303;卷管理層102根據讀寫命令操作的卷進行分類,并將命令發送至RAID層304,后續處理則與前述情況類似。
主機端對磁盤陣列系統的讀寫,其總時間主要包括主機端和磁盤陣列系統之間的數據塊傳輸時間(T1)和磁盤陣列系統對讀寫命令的處理時間(T2)。在數據庫等小數據塊操作居多的應用中,小數據塊的傳輸時間(即T1)很短,磁盤陣列系統對小數據塊的處理時間(即T2)占總時間的比例較大,故降低小數據塊的處理時間極為重要。結合圖1所對應的流程,如果數據塊在緩存層均未命中,則每個讀寫命令都需要經過從前端協議驅動層到緩存層,甚至到RAID層,再回到前端協議驅動層的過程。
根據數據塊在緩存層中的流程處理,當數據塊大小小于緩存塊大小的讀寫命令操作完成后,當在一定時間范圍內對同一緩存塊進行操作時,都還需要進行對同一緩存塊的查找和命中操作。如對應用中大小為512B的順序操作,此時磁盤陣列系統中的緩存塊大小為64KB,則有連續128個命令都在訪問同一個緩存塊。隨著緩存介質容量性價比越來越高,磁盤陣列系統中的緩存容量也越來越大,對同一查找算法而言,數據塊在緩存區的查找時間會越來越長。對于小數據塊操作而言,無疑緩存區的查找時間占磁盤陣列系統處理時間較大,即對于小數據塊操作而言,緩存區的查找時間占操作總時間的比例較大。
發明內容
有鑒于此,本發明的目的在于,提出一種數據讀寫方法,可以提高連續對磁盤陣列系統中的同一個緩存數據塊操作時的讀寫速度。
本發明實施例提出的一種數據讀寫方法,該方法應用于包含前端協議驅動層、卷管理層以及緩存層的磁盤陣列系統,在磁盤陣列系統中設置虛擬緩存層,所述虛擬緩存層在前端協議驅動層之下,且在緩存層之上,虛擬緩存層中存儲緩存層中的一個緩存塊地址;該方法包括如下步驟:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于創新科存儲技術有限公司;創新科軟件技術(深圳)有限公司,未經創新科存儲技術有限公司;創新科軟件技術(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910243591.4/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





