[發明專利]基于SATA控制器的RAID數據塊拆分、組裝方法無效
| 申請號: | 201110082905.4 | 申請日: | 2011-04-02 |
| 公開(公告)號: | CN102169419A | 公開(公告)日: | 2011-08-31 |
| 發明(設計)人: | 張慶敏;張衡;胡剛;宋君 | 申請(專利權)人: | 無錫眾志和達存儲技術有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06;G06F13/28 |
| 代理公司: | 江蘇英特東華律師事務所 32229 | 代理人: | 邵鋆 |
| 地址: | 214000 江蘇省無錫市新區*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 sata 控制器 raid 數據 拆分 組裝 方法 | ||
技術領域
本發明涉及計算機存儲技術,特別是涉及一種基于SATA控制器,實現在RAID系統中對數據塊的拆分和組裝方法。
背景技術
SATA(?Serial?Advanced?Technology?Attachment)是一種高速串行總線,是廣泛應用的磁盤接口協議之一。SATA具有傳輸速度快,支持熱插拔,執行效率高等優勢。SATA采用點對點的方式連接,一端稱為SATA控制器(SATA?Host),另一端稱為SATA設備(SATA?Device)。SATA控制器有兩種模式:IDE模式和AHCI模式。現在常用的是AHCI(Advanced?Host?Controller?Interface)模式,能夠提供高效的數據傳輸方式,支持NCQ(原生命令隊列,Native?Comand?Quening)技術,Auto?Activate?for?DMA(DMA自激活)技術等等。
SATA控制器的AHCI模式,對單塊磁盤讀寫,及多塊磁盤讀寫提供了高效的數據傳輸方式。如今,在存儲系統中往往需要將多塊磁盤綁定,作為一個整體并行使用,獲得更高的磁盤訪問速度(例如:RAID)。在現有技術中,通過軟件將多塊綁定的磁盤作為一個虛擬磁盤。對于虛擬磁盤的主要操作為讀和寫:例如一個數據塊寫入虛擬磁盤,需要將數據塊分成多個小的數據塊分別交給對應的SATA控制器寫入物理磁盤。過程中需要進行數據拆分,對于讀虛擬磁盤,同樣需要進行數據組裝。
但是,由于單個SATA控制器只負責單個磁盤訪問,多個磁盤間沒有聯系,所以傳統的SATA控制器無法完成對數據的拆分和組裝。這樣,數據的拆分與組裝只能由軟件完成,需要額外的數據緩存,多次內存拷貝。這一過程中增加了數據處理的復雜度,消耗了大量的軟硬件資源,勢必影響整體性能。
發明內容
本發明的目的是針對背景技術所述的現有技術的不足,發明一種基于SATA控制的,能夠對多塊磁盤綁定成的虛擬磁盤(RAID系統)的數據塊進行拆分、組裝的方法,以期提高存儲系統的整體性能。
使用本發明方法的SATA控制器,含有物理層,鏈路層,傳輸層,其中,傳輸層與系統總線連接,采用AHCI模式,具體包括以下幾個模塊組成:
鏈路層接口模塊、總線接口模塊、?讀DMA模塊、寫DMA模塊、寄存器、端口控制模塊、錯誤處理模塊。
本發明方法包括寫數據的拆分和讀數據的組裝兩部分:
首先設定三個變量:
1.標識綁定磁盤個數,記作disk_num;
2.數據塊拆分與組裝的基本單位,記作block_size;
3.起始偏移,記作offset;
基于上述設定,寫磁盤數據塊過程中的拆分方法是:
端口控制模塊從內存中讀出寫磁盤相關操作描述符寫入寄存器模塊,描述符中包含上述三個變量;寫DMA模塊從寄存器中取出數據起始地址(data_base_addr)及上述三個變量。讀DMA模塊從內存的數據塊起始地址與起始偏移之和的(data_base_addr+offset)位置開始取數,取數長度為數據塊拆分與組裝的基本單位(block_size),然后按一個序列規則從內存地址依次取數。該規則是:每次取數地址為上次取數地址再加上綁定磁盤個數與基本單位的乘積(data_base_addr+offset+(disk_num×block_size)),取數長度不變,直到取數地址超出這次寫操作結尾地址范圍。
讀磁盤的數據塊組裝過程:
端口控制模塊從內存中讀出讀磁盤相關操作描述符寫入寄存器模塊,描述符中包含上述三個變量。讀DMA模塊從寄存器中取出數據起始地址及三個變量,從磁盤中讀出長度為基本單位(block_size)的數據,寫入內存的data_base_addr+offset位置,第二次讀取數據寫入內存data_base_addr+offset+(disk_num×block_size)位置。往后依次,每次寫入內存地址為上次地址加上?disk_num×block_size,長度不變,直到地址超出這次讀操作結尾地址范圍。
優選的默認數據塊拆分與組裝的基本單位是512字節。
本發明的有益效果是:實現SATA控制器在讀寫數據的時候同時完成對數據塊拆分和組裝,應用于RAID等多磁盤存儲系統,能提高整體性能。
附圖說明
圖1,本發明的SATA控制器的傳輸層的結構圖;
圖2,本發明實施例一的工作過程示意圖;
圖3,本發明帶有校驗盤的實施例二的工作過程示意圖。
具體實施方式
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于無錫眾志和達存儲技術有限公司,未經無錫眾志和達存儲技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110082905.4/2.html,轉載請聲明來源鉆瓜專利網。





