一種硬盤內數據高性能存儲方法
【專利摘要】本發明提供一種硬盤內數據高性能存儲方法,其具體存儲步驟為:將硬盤盤片最外側的部分區域設置為高速存儲區,將剩余區域設置為一般存儲區;將硬盤的邏輯地址完全映射到一般存儲區的物理地址上;硬盤完成數據讀取和寫入,并對硬盤邏輯地址的訪問次數進行統計;定期地將訪問頻繁的一般存儲區中的數據復制到高速存儲區中,并建立邏輯地址到高速存儲區物理地址的映射關系,后續對邏輯地址的訪問從高速存儲區的對應地址進行。該一種硬盤內數據高性能存儲方法和現有技術相比,可以提高對硬盤內數據的讀取和寫入速度,實用性強,易于推廣。
【專利說明】一種硬盤內數據高性能存儲方法
【技術領域】
[0001]本發明涉及計算機數據存儲【技術領域】,具體的說是一種提高硬盤的數據讀取和寫入性能的硬盤內數據高性能存儲方法。
【背景技術】
[0002]隨著計算機數據處理能力的不斷增強,計算機對數據存儲系統的性能需求也在不斷提高,對硬盤的性能要求也越來越高。
[0003]在一般的數據存儲環境中,不同的數據的訪問頻率有較大區別,且高訪問頻率數據和低訪問頻率數據交錯存儲在一起。在硬盤內部,磁頭臂需要跨越大量存儲低訪問頻率數據的磁道以訪問存儲高訪問頻率數據的磁道,這增大了磁頭臂的尋道時間。
[0004]目前市場上的硬盤一般采用了分區記錄密度技術,硬盤盤片外邊緣區域具有較高的存儲密度。且硬盤的主軸電機以恒定角速度旋轉,使得硬盤盤片外邊緣區域具有較高的線速度。所以硬盤盤片外邊緣區域比硬盤盤片中其它區域具有更高的傳輸速度和更低的尋道時間。但傳統的硬盤中沒有利用這一物理特性。
【發明內容】
[0005]本發明的技術任務是解決現有技術的不足,提供一種提高硬盤的數據讀取和寫入性能的管理網絡進行配置的方法。
[0006]本發明的技術方案是按以下方式實現的,該一種硬盤內數據高性能存儲方法,其具體存儲步驟為:
一、將硬盤盤片最外側的部分區域設置為高速存儲區,將剩余區域設置為一般存儲
區;
二、將硬盤的邏輯地址完全映射到一般存儲區的物理地址上;
三、硬盤完成數據讀取和寫入,并對硬盤邏輯地址的訪問次數進行統計;
四、定期地將訪問頻繁的一般存儲區中的數據復制到高速存儲區中,并建立邏輯地址到高速存儲區物理地址的映射關系,后續對邏輯地址的訪問從高速存儲區的對應地址進行,在高速存儲區容量用盡后,高速存儲區內訪問次數較少的數據被復制回一般存儲區,并刪除對應的映射關系;
已映射到高速存儲區內邏輯地址的訪問次數根據數據衰老系數不斷減小。
[0007]所述步驟一的詳細過程為:根據預先設定的高速存儲區容量,從硬盤盤片最外側磁道開始將對應容量部分設置為高速存儲區,其余容量部分設置為一般存儲區,硬盤對上層系統提供的邏輯地址的容量等于一般存儲區物理地址的容量,邏輯地址對應的一般存儲區物理地址可以通過邏輯地址加偏移量獲得,該偏移量是高速高速存儲區的容量。
[0008]所述保存硬盤邏輯地址的訪問次數信息的為統計信息表,該統計信息表以數據在硬盤上的邏輯地址為鍵,還能夠保存是否已進入映射表的信息,該統計信息表是一個有序表,按照訪問次數從大到小排序;硬盤邏輯地址對應的高速存儲區物理地址保存在映射表中,該映射表以數據在硬盤上的邏輯地址為鍵。
[0009]所述步驟三的詳細過程為:根據讀取請求的邏輯地址,從統計信息表中讀取此邏輯地址的映射表狀態,并更新統計信息表中的對應的訪問次數:如果此邏輯地址的映射表狀態為假,則直接從對應的一般存儲區物理地址處讀取數據;如果此邏輯地址的映射表狀態為真,則在映射表中查找對應的高速存儲區物理地址,并從對應的高速存儲區物理地址處讀取數據。
[0010]所述步驟四中執行復制操作的詳細步驟為:
1)讀取映射表中的每一個邏輯地址,并在統計信息表中將其對應的訪問次數除以數據衰老系數Fa (Fa ^ I);
2)遍歷統計信息表中的每一項,對于每一項:
3)判斷映射表狀態,如果映射表狀態為真,不再進行后續判斷,繼續讀取統計信息表中的下一項;
4)如果映射表狀態為假,繼續判斷高速存儲區是否還有剩余空間:
a、如果高速存儲區有剩余空間,則獲取一個空閑的高速存儲區物理地址,將當前項的邏輯地址和所獲取的高速存儲區物理地址添加入映射表,并將統計信息表中邏輯地址對應的映射表狀態設置為真;
將當前項的一般存儲區物理地址處的數據復制到高速存儲區物理地址處;
繼續讀取統計信息表中的下一項;
b、如果高速存儲區沒有剩余`空間,則在統計信息表中獲取映射表狀態為真且訪問次數最小的邏輯地址AddrMin ;
判斷當前項的訪問次數是否大于AddrMin的訪問次數;
a)如果當前項的訪問次數大于AddrMin的訪問次數,則復制AddrMin高速存儲區物理地址處的數據到其對應的一般存儲區物理地址處,并從映射表中刪除AddrMin的映射信息;
獲取一個空閑的高速存儲區物理地址,將當前項的邏輯地址和所獲取的高速存儲區物理地址添加入映射表,并將統計信息表中邏輯地址對應的映射表狀態設置為真;
將當前項的一般存儲區物理地址處的數據復制到高速存儲區物理地址處;
繼續讀取統計信息表中的下一項;
b)如果當前項的訪問次數小于AddrMin的訪問次數,則終止對統計信息表的遍歷。
[0011]本發明與現有技術相比所產生的有益效果是:
本發明的一種硬盤內數據高性能存儲方法可以提高對硬盤內數據的讀取和寫入速度,且所述方法不需要對現有硬盤的硬件結構做出改變,可以運行在硬盤的嵌入式控制系統中,也可以運行在其所連接的上層系統中,所述方法可以通過調整高速存儲區域的容量、數據復制的時間間隔、數據衰老系數等參數對不同的應用場景進行適配,實用性強,適用范圍廣泛,易于推廣。
【專利附圖】
【附圖說明】
[0012]附圖1為本發明中統計信息表的示意圖。
[0013]附圖2為本發明中映射表的示意圖。[0014]附圖3為本發明中數據讀寫訪問流程圖。
[0015]附圖4為本發明中數據復制流程圖。
【具體實施方式】
[0016]下面結合附圖對本發明的一種硬盤內數據高性能存儲方法作以下詳細說明。
[0017]本發明提供一種硬盤內數據高性能存儲方法,其具體存儲步驟為:
一、將硬盤盤片最外側的部分區域設置為高速存儲區,將剩余區域設置為一般存儲
區;
二、將硬盤的邏輯地址完全映射到一般存儲區的物理地址上;
三、硬盤完成數據讀取和寫入,并對硬盤邏輯地址的訪問次數進行統計; 四、定期地將訪問頻繁的一般存儲區中的數據復制到高速存儲區中,并建立邏輯地址到高速存儲區物理地址的映射關系,后續對邏輯地址的訪問從高速存儲區的對應地址進行,在高速存儲區容量用盡后,高速存儲區內訪問次數較少的數據被復制回一般存儲區,并刪除對應的映射關系;
已映射到高速存儲區內邏輯地址的訪問次數根據數據衰老系數不斷減小。
[0018]這里的高速存儲區域的容量、數據復制的周期、數據衰老系數都可以調整。
[0019]所述步驟一的詳細過程為:根據預先設定的高速存儲區容量,從硬盤盤片最外側磁道開始將對應容量部分設置為高速存儲區,其余容量部分設置為一般存儲區,硬盤對上層系統提供的邏輯地址的容量等于一般存儲區物理地址的容量,邏輯地址對應的一般存儲區物理地址可以通過邏輯地址加偏移量獲得,該偏移量是高速高速存儲區的容量。
[0020]如附圖1、圖2所示,本發明包含兩個數據表。
[0021]統計信息表以數據在硬盤上的邏輯地址為鍵,保存此邏輯地址的訪問次數、是否已進入映射表等信息。統計信息表是一個有序表,按照訪問次數從大到小排序。
[0022]映射表以數據在硬盤上的邏輯地址為鍵,保存此邏輯地址對應的高速存儲區地址。
[0023]如附圖3所示,所述步驟三的詳細過程為:
在數據讀取和寫入時:
根據讀取請求的邏輯地址,從統計信息表中讀取此邏輯地址的映射表狀態,并更新統計信息表中的對應的訪問次數。
[0024]如果此邏輯地址的映射表狀態為假,則直接從對應的一般存儲區物理地址處讀取數據。
[0025]如果此邏輯地址的映射表狀態為真,則在映射表中查找對應的高速存儲區物理地址,并從對應的高速存儲區物理地址處讀取數據。
[0026]如附圖4所示,所述步驟四中執行復制操作的詳細步驟為:
當系統運行時間或硬盤訪問次數滿足一個預先設定的值后,會觸發對數據的復制操作。
[0027]在執行復制操作時: 讀取映射表中的每一個邏輯地址,并在統計信息表中將其對應的訪問次數除以數據衰老系數Fa (Fa≥I)。[0028]遍歷統計信息表中的每一項,對于每一項:
判斷映射表狀態,如果映射表狀態為真,不再進行后續判斷,繼續讀取統計信息表中的下一項。
[0029]如果映射表狀態為假,繼續判斷高速存儲區是否還有剩余空間。
[0030]如果高速存儲區有剩余空間,則獲取一個空閑的高速存儲區物理地址,將當前項的邏輯地址和所獲取的高速存儲區物理地址添加入映射表,并將統計信息表中邏輯地址對應的映射表狀態設置為真。
[0031]將當前項的一般存儲區物理地址處的數據復制到高速存儲區物理地址處。
[0032]繼續讀取統計信息表中的下一項。
[0033]如果高速存儲區沒有剩余空間,則在統計信息表中獲取映射表狀態為真且訪問次數最小的邏輯地址AddrMin。
[0034]判斷當前項的訪問次數是否大于AddrMin的訪問次數。
[0035]如果當前項的訪問次數大于AddrMin的訪問次數,則復制AddrMin高速存儲區物理地址處的數據到其對應的一般存儲區物理地址處,并從映射表中刪除AddrMin的映射信
肩、O
[0036]獲取一個空閑的高速存儲區物理地址,將當前項的邏輯地址和所獲取的高速存儲區物理地址添加入映射表,并將統計信息表中邏輯地址對應的映射表狀態設置為真。
[0037]將當前項的一般存儲區物理地址處的數據復制到高速存儲區物理地址處。
[0038]繼續讀取統計信息表中的下一項。
[0039]如果當前項的訪問次數小于AddrMin的訪問次數,則終止對統計信息表的遍歷。
[0040]以上所述僅為本發明的實施例而已,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
【權利要求】
1.一種硬盤內數據高性能存儲方法,其特征在于其具體存儲步驟為: 一、將硬盤盤片最外側的部分區域設置為高速存儲區,將剩余區域設置為一般存儲區; 二、將硬盤的邏輯地址完全映射到一般存儲區的物理地址上; 三、硬盤完成數據讀取和寫入,并對硬盤邏輯地址的訪問次數進行統計; 四、定期地將訪問頻繁的一般存儲區中的數據復制到高速存儲區中,并建立邏輯地址到高速存儲區物理地址的映射關系,后續對邏輯地址的訪問從高速存儲區的對應地址進行,在高速存儲區容量用盡后,高速存儲區內訪問次數較少的數據被復制回一般存儲區,并刪除對應的映射關系; 已映射到高速存儲區內邏輯地址的訪問次數根據數據衰老系數不斷減小。
2.根據權利要求1所述的一種硬盤內數據高性能存儲方法,其特征在于:所述步驟一的詳細過程為:根據預先設定的高速存儲區容量,從硬盤盤片最外側磁道開始將對應容量部分設置為高速存儲區,其余容量部分設置為一般存儲區,硬盤對上層系統提供的邏輯地址的容量等于一般存儲區物理地址的容量,邏輯地址對應的一般存儲區物理地址可以通過邏輯地址加偏移量獲得,該偏移量是高速高速存儲區的容量。
3.根據權利要求1所述的一種硬盤內數據高性能存儲方法,其特征在于:所述保存硬盤邏輯地址的訪問次數信息的為統計信息表,該統計信息表以數據在硬盤上的邏輯地址為鍵,還能夠保存是否已進入映射表的信息,該統計信息表是一個有序表,按照訪問次數從大到小排序;硬盤邏輯地址對應的高速存儲區物理地址保存在映射表中,該映射表以數據在硬盤上的邏輯地址為鍵。
4.根據權利要求3所述的一種硬盤內數據高性能存儲方法,其特征在于:所述步驟三的詳細過程為:根據讀取請求的邏輯地址,從統計信息表中讀取此邏輯地址的映射表狀態,并更新統計信息表中的對應的訪問次數:如果此邏輯地址的映射表狀態為假,則直接從對應的一般存儲區物理地址處讀取數據;如果此邏輯地址的映射表狀態為真,則在映射表中查找對應的高速存儲區物理地址,并從對應的高速存儲區物理地址處讀取數據。
5.根據權利要求3或4所述的一種硬盤內數據高性能存儲方法,其特征在于:所述步驟四中執行復制操作的詳細步驟為: 1)讀取映射表中的每一個邏輯地址,并在統計信息表中將其對應的訪問次數除以數據衰老系數Fa (Fa ^ I); 2)遍歷統計信息表中的每一項,對于每一項: 3)判斷映射表狀態,如果映射表狀態為真,不再進行后續判斷,繼續讀取統計信息表中的下一項; 4)如果映射表狀態為假,繼續判斷高速存儲區是否還有剩余空間: a、如果高速存儲區有剩余空間,則獲取一個空閑的高速存儲區物理地址,將當前項的邏輯地址和所獲取的高速存儲區物理地址添加入映射表,并將統計信息表中邏輯地址對應的映射表狀態設置為真; 將當前項的一般存儲區物理地址處的數據復制到高速存儲區物理地址處; 繼續讀取統計信息表中的下一項; b、如果高速存儲區沒有剩余空間,則在統計信息表中獲取映射表狀態為真且訪問次數最小的邏輯地址AddrMin ; 判斷當前項的訪問次數是否大于AddrMin的訪問次數; a)如果當前項的訪問次數大于AddrMin的訪問次數,則復制AddrMin高速存儲區物理地址處的數據到其對應的一般存儲區物理地址處,并從映射表中刪除AddrMin的映射信息; 獲取一個空閑的高速存儲區物理地址,將當前項的邏輯地址和所獲取的高速存儲區物理地址添加入映射表,并將統計信息表中邏輯地址對應的映射表狀態設置為真; 將當前項的一般存儲區物理地址處的數據復制到高速存儲區物理地址處; 繼續讀取統計信息表中的下一項; b)如果當前項的訪問次 數小于AddrMin的訪問次數,則終止對統計信息表的遍歷。
【文檔編號】G06F12/06GK103605482SQ201310587504
【公開日】2014年2月26日 申請日期:2013年11月21日 優先權日:2013年11月21日
【發明者】徐旸, 溫源, 張宇 申請人:浪潮電子信息產業股份有限公司