專利名稱:一種混合硬盤的數(shù)據(jù)管理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)存儲(chǔ)技術(shù)領(lǐng)域,特別涉及一種混合硬盤的數(shù)據(jù)管理系統(tǒng)。
技術(shù)背景
磁盤是目前使用最廣泛的外存設(shè)備,其中存儲(chǔ)數(shù)據(jù)的介質(zhì)是磁介質(zhì)。在磁盤中,通過(guò)磁頭的尋道以及盤片的旋轉(zhuǎn)對(duì)數(shù)據(jù)進(jìn)行訪問(wèn)。使用磁介質(zhì)的主要缺點(diǎn)是對(duì)數(shù)據(jù)訪問(wèn)需要磁頭以及盤片的機(jī)械運(yùn)動(dòng),因此隨機(jī)訪問(wèn)性能較差。閃存具有隨機(jī)訪問(wèn)速度快、抗震動(dòng)、能耗低等優(yōu)點(diǎn)。近年來(lái),隨著閃存存儲(chǔ)容量的增加以及價(jià)格的降低,閃存得到了越來(lái)越廣泛的應(yīng)用。在大量桌面計(jì)算機(jī)中,已經(jīng)裝備了以閃存為介質(zhì)的固態(tài)硬盤。然而,閃存的存儲(chǔ)單元只有在擦除后才能寫數(shù)據(jù),因此不能執(zhí)行本地更新操作。此外,閃存的存儲(chǔ)單元擦除次數(shù)也是有限的。另外,對(duì)于順序性的訪問(wèn),閃存的性能不如磁盤。在當(dāng)前的混合硬盤中,很少考慮數(shù)據(jù)如何在兩種介質(zhì)上的合理分布。因此,如何綜合利用磁介質(zhì)和閃存介質(zhì)各自的優(yōu)勢(shì), 避免二者的劣勢(shì),成為重要的問(wèn)題。發(fā)明內(nèi)容
(一)要解決的技術(shù)問(wèn)題
本發(fā)明要解決的技術(shù)問(wèn)題是如何提供一種混合硬盤的數(shù)據(jù)管理系統(tǒng),以充分發(fā)揮磁介質(zhì)和閃存介質(zhì)各自的優(yōu)勢(shì),避免二者的劣勢(shì),從而提高混合硬盤的性能。
( 二 )技術(shù)方案
為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種混合硬盤的數(shù)據(jù)管理系統(tǒng),其包括讀處理模塊、寫處理模塊和數(shù)據(jù)遷移模塊;所述讀處理模塊,用于讀取磁介質(zhì)或者閃存介質(zhì)上的數(shù)據(jù);所述寫處理模塊,用于將數(shù)據(jù)寫到磁介質(zhì)或者閃存介質(zhì);所述數(shù)據(jù)遷移模塊,連接所述讀處理模塊,用于根據(jù)所述讀處理模塊的調(diào)用,將磁介質(zhì)上的數(shù)據(jù)遷移到閃存介質(zhì)。
優(yōu)選地,所述系統(tǒng)還包括地址轉(zhuǎn)換模塊;所述地址轉(zhuǎn)換模塊,連接所述讀處理模塊和寫處理模塊,用于實(shí)現(xiàn)數(shù)據(jù)的邏輯地址到物理地址的轉(zhuǎn)換。
優(yōu)選地,所述地址轉(zhuǎn)換模塊采用B+樹(shù)對(duì)邏輯地址到物理地址的轉(zhuǎn)換信息進(jìn)行管理。
優(yōu)選地,所述B+樹(shù)中葉子節(jié)點(diǎn)記錄的信息包括起始邏輯頁(yè)號(hào)、邏輯頁(yè)數(shù)目、地址,以及最近預(yù)設(shè)值次操作是否都是讀操作。
優(yōu)選地,所述地址信息包括數(shù)據(jù)存儲(chǔ)于閃存介質(zhì)或者磁介質(zhì)的標(biāo)志位;并且,如果數(shù)據(jù)存儲(chǔ)于閃存介質(zhì),所述地址信息還包括閃存介質(zhì)上相應(yīng)的物理頁(yè)號(hào);如果數(shù)據(jù)存儲(chǔ)于磁介質(zhì),所述地址信息還包括磁介質(zhì)上相應(yīng)的物理地址。
優(yōu)選地,所述讀處理模塊讀取磁介質(zhì)上的數(shù)據(jù)時(shí),如果是對(duì)單個(gè)邏輯頁(yè)的讀請(qǐng)求, 并且針對(duì)所述邏輯頁(yè)的最近預(yù)設(shè)值次請(qǐng)求都是讀請(qǐng)求,則所述讀處理模塊調(diào)用所述數(shù)據(jù)遷移模塊將所述邏輯頁(yè)的數(shù)據(jù)遷移到閃存介質(zhì)。
優(yōu)選地,所述預(yù)設(shè)值為5。
優(yōu)選地,所述寫處理模塊,如果執(zhí)行對(duì)單個(gè)邏輯頁(yè)的寫操作,則將所述單個(gè)邏輯頁(yè)的數(shù)據(jù)寫到閃存介質(zhì)上;如果執(zhí)行對(duì)多個(gè)邏輯頁(yè)的寫操作,則將所述多個(gè)邏輯頁(yè)的數(shù)據(jù)寫到磁介質(zhì)上。
優(yōu)選地,所述系統(tǒng)還包括空閑塊分配模塊;所述空閑塊分配模塊連接所述寫處理模塊,用于在所述寫處理模塊對(duì)閃存介質(zhì)執(zhí)行寫操作時(shí),分配相應(yīng)的空閑塊。
優(yōu)選地,所述系統(tǒng)還包括垃圾回收模塊;所述垃圾回收模塊連接所述空閑塊分配模塊,用于在閃存介質(zhì)上空閑塊不足時(shí),回收非空閑塊,以釋放空閑塊。
(三)有益效果
本發(fā)明所述混合硬盤的數(shù)據(jù)管理系統(tǒng),將單個(gè)邏輯頁(yè)的數(shù)據(jù)存儲(chǔ)在閃存介質(zhì)上, 將多個(gè)邏輯頁(yè)的數(shù)據(jù)存儲(chǔ)在磁介質(zhì)上,并且適時(shí)將磁介質(zhì)上訪問(wèn)頻繁的數(shù)據(jù)轉(zhuǎn)移至閃存介質(zhì)上,充分發(fā)揮了閃存介質(zhì)對(duì)單頁(yè)數(shù)據(jù)訪問(wèn)速度快,磁介質(zhì)順序訪問(wèn)性能強(qiáng)的優(yōu)勢(shì),避免了二者的劣勢(shì),從而提高了混合硬盤的性能。
圖1是本發(fā)明實(shí)施例所述的混合硬盤的數(shù)據(jù)管理系統(tǒng)模塊結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的具體實(shí)施方式
作進(jìn)一步詳細(xì)描述。以下實(shí)施例用于說(shuō)明本發(fā)明,但不用來(lái)限制本發(fā)明的范圍。
圖1是本發(fā)明實(shí)施例所述的混合硬盤的數(shù)據(jù)管理系統(tǒng)模塊結(jié)構(gòu)示意圖。如圖1所示,所述系統(tǒng)包括讀處理模塊200、地址轉(zhuǎn)換模塊300、寫處理模塊400、空閑塊分配模塊 500、垃圾回收模塊600和數(shù)據(jù)遷移模塊700。
所述讀處理模塊200,連接磁介質(zhì)100和閃存介質(zhì)800,用于讀取所述磁介質(zhì)100 或者閃存介質(zhì)800上的數(shù)據(jù)。所述地址轉(zhuǎn)換模塊300,連接所述讀處理模塊200和寫處理模塊400,用于實(shí)現(xiàn)數(shù)據(jù)的邏輯地址到物理地址的轉(zhuǎn)換。所述寫處理模塊400,連接所述磁介質(zhì)100,并且通過(guò)所述空閑塊分配模塊500連接所述閃存介質(zhì)800,用于將數(shù)據(jù)寫到所述磁介質(zhì)100或者閃存介質(zhì)800。所述空閑塊分配模塊500,用于在所述寫處理模塊400對(duì)所述閃存介質(zhì)800執(zhí)行寫操作時(shí),分配相應(yīng)的空閑塊(即閃存介質(zhì)上的空閑物理頁(yè)構(gòu)成的空閑物理塊)。所述垃圾回收模塊600,連接所述空閑塊分配模塊500和閃存介質(zhì)800,用于在所述閃存介質(zhì)800上空閑塊不足時(shí),回收非空閑塊(即閃存介質(zhì)包含有有效頁(yè)的物理塊),以釋放空閑塊。所述數(shù)據(jù)遷移模塊700連接所述讀處理模塊200和閃存介質(zhì)800,用于根據(jù)所述讀處理模塊200的調(diào)用,將所述磁介質(zhì)100上的數(shù)據(jù)遷移到所述閃存介質(zhì)800。
對(duì)于所述讀處理模塊200,當(dāng)接收到一個(gè)讀請(qǐng)求時(shí),首先從所述地址轉(zhuǎn)換模塊300 中讀取到數(shù)據(jù)存放的物理地址。根據(jù)物理地址,從所述閃存介質(zhì)800或者磁介質(zhì)100進(jìn)行讀取。如果是讀取所述磁介質(zhì)100上的數(shù)據(jù),并且是對(duì)單個(gè)邏輯頁(yè)的讀請(qǐng)求,同時(shí)對(duì)所述邏輯頁(yè)的最近預(yù)設(shè)值次請(qǐng)求都是讀請(qǐng)求,則使用所述數(shù)據(jù)遷移模塊700將所述邏輯頁(yè)的數(shù)據(jù)轉(zhuǎn)移存儲(chǔ)到所述閃存介質(zhì)800,并在所述地址轉(zhuǎn)換模塊300中更新所述邏輯頁(yè)對(duì)應(yīng)的物理地址。所述預(yù)設(shè)值一般為5。通過(guò)將訪問(wèn)頻繁的單個(gè)邏輯頁(yè)轉(zhuǎn)移到所述閃存介質(zhì)800,可以充分發(fā)揮閃存對(duì)于單頁(yè)數(shù)據(jù)訪問(wèn)速度快的優(yōu)勢(shì)。
對(duì)于所述寫處理模塊400,當(dāng)接收到一個(gè)寫請(qǐng)求時(shí),如果寫請(qǐng)求是對(duì)單個(gè)邏輯頁(yè)的寫操作,則將所述單個(gè)邏輯頁(yè)的數(shù)據(jù)寫到所述閃存介質(zhì)800,并通知所述地址轉(zhuǎn)換模塊300 所述邏輯頁(yè)對(duì)應(yīng)的物理地址;如果所述寫請(qǐng)求是對(duì)多個(gè)邏輯頁(yè)的寫操作,則將所述多個(gè)邏輯頁(yè)的數(shù)據(jù)寫到所述磁介質(zhì)100,并通知所述地址轉(zhuǎn)換模塊300所述多個(gè)邏輯頁(yè)的物理地址。
具體地,當(dāng)所述寫處理模塊400將單個(gè)邏輯頁(yè)的數(shù)據(jù)寫到所述閃存介質(zhì)800時(shí),首先調(diào)用所述空閑塊分配模塊500在所述閃存介質(zhì)800上分配一個(gè)空閑塊,并將所述邏輯頁(yè)的數(shù)據(jù)寫到所述空閑塊。如果當(dāng)前所述閃存介質(zhì)800上空閑塊數(shù)達(dá)到或者低于3,則調(diào)用所述垃圾回收模塊600對(duì)所述閃存介質(zhì)800進(jìn)行整理,從而獲得一些新的空閑塊。
所述垃圾回收模塊600對(duì)所述閃存介質(zhì)800進(jìn)行整理的過(guò)程包括首先調(diào)用所述空閑塊分配模塊500在所述閃存介質(zhì)800上分配一個(gè)第一空閑塊,并選擇一個(gè)有效頁(yè)最少的第一非空閑塊,將所述第一非空閑塊上的有效頁(yè)拷貝到所述第一空閑塊上,并將所述第一非空閑塊擦除;完成上述操作后,如果當(dāng)前空閑塊數(shù)仍然達(dá)到或者低于3,則再選擇一個(gè)有效頁(yè)最少的第二非空閑塊,將所述第二非空閑塊上的有效頁(yè)拷貝到所述第一空閑塊上。 如果拷貝過(guò)程中,所述第一空閑塊上沒(méi)有足夠的空閑頁(yè),則繼續(xù)分配一個(gè)第二空閑塊,用于存放需要拷貝的數(shù)據(jù)。重復(fù)上述過(guò)程,直到所述閃存介質(zhì)800上的空閑塊數(shù)為4。上述過(guò)程完成后,通知所述地址轉(zhuǎn)換模塊300,修改相應(yīng)的邏輯地址到物理地址的映射關(guān)系。
在所述地址轉(zhuǎn)換模塊300中,使用B+樹(shù)對(duì)邏輯地址到物理地址的地址轉(zhuǎn)換信息進(jìn)行管理。B+樹(shù)中葉子節(jié)點(diǎn)記錄的信息包括起始邏輯頁(yè)號(hào)、邏輯頁(yè)數(shù)目、地址,以及最近的 5次操作是否都是讀操作。其中,所述地址信息包括數(shù)據(jù)位于所述閃存介質(zhì)800或者磁介質(zhì)100的標(biāo)志位(比如,該標(biāo)志位為1表示數(shù)據(jù)位于所述閃存介質(zhì)800,該標(biāo)志位為0表示數(shù)據(jù)位于所述磁介質(zhì)100);如果是位于所述閃存介質(zhì)800,則還包含所述閃存介質(zhì)800上相應(yīng)的物理頁(yè)號(hào),并且此時(shí)邏輯頁(yè)數(shù)目信息固定為1 ;如果是位于所述磁介質(zhì)100,則還包含在所述磁介質(zhì)100上的具體物理地址,此時(shí)邏輯頁(yè)數(shù)目信息可能大于1。當(dāng)數(shù)據(jù)遷移發(fā)生時(shí),如果發(fā)生遷移的邏輯頁(yè)所在的葉子節(jié)點(diǎn)的其他邏輯頁(yè)的數(shù)據(jù)仍然位于所述磁介質(zhì)100, 則所述葉子節(jié)點(diǎn)分裂為兩個(gè)葉子節(jié)點(diǎn),B+樹(shù)進(jìn)行相應(yīng)的調(diào)整。當(dāng)所述寫操作處理模塊400 將多個(gè)邏輯頁(yè)寫到磁介質(zhì)100時(shí),如果這些邏輯頁(yè)在B+樹(shù)中有多個(gè)葉子節(jié)點(diǎn)(即這些邏輯頁(yè)中的部分邏輯頁(yè)之前存儲(chǔ)在閃存介質(zhì)100上),則將這些葉子節(jié)點(diǎn)合并成一個(gè),B+樹(shù)進(jìn)行相應(yīng)的調(diào)整。
本發(fā)明實(shí)施例所述混合硬盤的數(shù)據(jù)管理系統(tǒng),將單個(gè)邏輯頁(yè)的數(shù)據(jù)存儲(chǔ)在閃存介質(zhì)上,將多個(gè)邏輯頁(yè)的數(shù)據(jù)存儲(chǔ)在磁介質(zhì)上,并且適時(shí)將磁介質(zhì)上訪問(wèn)頻繁的數(shù)據(jù)遷移至閃存介質(zhì)上,充分發(fā)揮了閃存介質(zhì)對(duì)單頁(yè)數(shù)據(jù)訪問(wèn)速度快,磁介質(zhì)順序訪問(wèn)性能強(qiáng)的優(yōu)勢(shì), 避免了二者的劣勢(shì),從而提高了混合硬盤的性能。
以上實(shí)施方式僅用于說(shuō)明本發(fā)明,而并非對(duì)本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護(hù)范圍應(yīng)由權(quán)利要求限定。
權(quán)利要求
1.一種混合硬盤的數(shù)據(jù)管理系統(tǒng),其特征在于,包括讀處理模塊、寫處理模塊和數(shù)據(jù)遷移模塊;所述讀處理模塊,用于讀取磁介質(zhì)或者閃存介質(zhì)上的數(shù)據(jù);所述寫處理模塊,用于將數(shù)據(jù)寫到磁介質(zhì)或者閃存介質(zhì);所述數(shù)據(jù)遷移模塊,連接所述讀處理模塊,用于根據(jù)所述讀處理模塊的調(diào)用,將磁介質(zhì)上的數(shù)據(jù)遷移到閃存介質(zhì)。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括地址轉(zhuǎn)換模塊;所述地址轉(zhuǎn)換模塊,連接所述讀處理模塊和寫處理模塊,用于實(shí)現(xiàn)數(shù)據(jù)的邏輯地址到物理地址的轉(zhuǎn)換。
3.如權(quán)利要求2所述的系統(tǒng),其特征在于,所述地址轉(zhuǎn)換模塊采用B+樹(shù)對(duì)邏輯地址到物理地址的轉(zhuǎn)換信息進(jìn)行管理。
4.如權(quán)利要求3所述的系統(tǒng),其特征在于,所述B+樹(shù)中葉子節(jié)點(diǎn)記錄的信息包括起始邏輯頁(yè)號(hào)、邏輯頁(yè)數(shù)目、地址,以及最近預(yù)設(shè)值次操作是否都是讀操作。
5.如權(quán)利要求4所述的系統(tǒng),其特征在于,所述地址信息包括數(shù)據(jù)存儲(chǔ)于閃存介質(zhì)或者磁介質(zhì)的標(biāo)志位;并且,如果數(shù)據(jù)存儲(chǔ)于閃存介質(zhì),所述地址信息還包括閃存介質(zhì)上相應(yīng)的物理頁(yè)號(hào);如果數(shù)據(jù)存儲(chǔ)于磁介質(zhì),所述地址信息還包括磁介質(zhì)上相應(yīng)的物理地址。
6.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述讀處理模塊讀取磁介質(zhì)上的數(shù)據(jù)時(shí),如果是對(duì)單個(gè)邏輯頁(yè)的讀請(qǐng)求,并且針對(duì)所述邏輯頁(yè)的最近預(yù)設(shè)值次請(qǐng)求都是讀請(qǐng)求,則所述讀處理模塊調(diào)用所述數(shù)據(jù)遷移模塊將所述邏輯頁(yè)的數(shù)據(jù)遷移到閃存介質(zhì)。
7.如權(quán)利要求4至6之一所述的系統(tǒng),其特征在于,所述預(yù)設(shè)值為5。
8.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述寫處理模塊,如果執(zhí)行對(duì)單個(gè)邏輯頁(yè)的寫操作,則將所述單個(gè)邏輯頁(yè)的數(shù)據(jù)寫到閃存介質(zhì)上;如果執(zhí)行對(duì)多個(gè)邏輯頁(yè)的寫操作,則將所述多個(gè)邏輯頁(yè)的數(shù)據(jù)寫到磁介質(zhì)上。
9.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括空閑塊分配模塊;所述空閑塊分配模塊連接所述寫處理模塊,用于在所述寫處理模塊對(duì)閃存介質(zhì)執(zhí)行寫操作時(shí),分配相應(yīng)的空閑塊。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括垃圾回收模塊;所述垃圾回收模塊連接所述空閑塊分配模塊,用于在閃存介質(zhì)上空閑塊不足時(shí),回收非空閑塊,以釋放空閑塊。
全文摘要
本發(fā)明公開(kāi)了一種混合硬盤的數(shù)據(jù)管理系統(tǒng),涉及數(shù)據(jù)存儲(chǔ)領(lǐng)域。所述系統(tǒng)包括讀處理模塊、寫處理模塊和數(shù)據(jù)遷移模塊;所述讀處理模塊,用于讀取磁介質(zhì)或者閃存介質(zhì)上的數(shù)據(jù);所述寫處理模塊,用于將數(shù)據(jù)寫到磁介質(zhì)或者閃存介質(zhì);所述數(shù)據(jù)遷移模塊,連接所述讀處理模塊,用于根據(jù)所述讀處理模塊的調(diào)用,將磁介質(zhì)上的數(shù)據(jù)遷移到閃存介質(zhì)。所述系統(tǒng),將單個(gè)邏輯頁(yè)的數(shù)據(jù)存儲(chǔ)在閃存介質(zhì)上,將多個(gè)邏輯頁(yè)的數(shù)據(jù)存儲(chǔ)在磁介質(zhì)上,并且適時(shí)將磁介質(zhì)上訪問(wèn)頻繁的數(shù)據(jù)轉(zhuǎn)移至閃存介質(zhì)上,充分發(fā)揮了閃存介質(zhì)對(duì)單頁(yè)數(shù)據(jù)訪問(wèn)速度快,磁介質(zhì)順序訪問(wèn)性能強(qiáng)的優(yōu)勢(shì),避免了二者的劣勢(shì),從而提高了混合硬盤的性能。
文檔編號(hào)G06F3/06GK102520885SQ20111042170
公開(kāi)日2012年6月27日 申請(qǐng)日期2011年12月15日 優(yōu)先權(quán)日2011年12月15日
發(fā)明者廖學(xué)良, 胡事民 申請(qǐng)人:清華大學(xué)