專利名稱:基于固態(tài)硬盤的系統(tǒng)啟動方法和固態(tài)硬盤的制作方法
技術領域:
本發(fā)明涉及計算機技術領域,尤其涉及一種基于固態(tài)硬盤的系統(tǒng)啟動方法和固態(tài)硬盤。
背景技術:
隨著計算機技術的發(fā)展,固態(tài)硬盤已得到廣泛應用,目前的固態(tài)存儲中,存儲單元是通常是Nand Flash芯片或Nand Flash芯片陣列。由于技術限制,單個Nand Flash的讀寫速度遠遠小于固態(tài)硬盤與計算機之間的通信速度,并且單個Nand Flash的容量也是有限的。因此,一般的固態(tài)硬盤都采用Nand Flash陣列作為存儲的,如圖I所示的系統(tǒng)結構。一般而言,計算機系統(tǒng)的啟動過程一般分為兩階段,第一階段由BIOS先啟動,并對計算機外設進行一些必要的初始化,然后再從硬盤上讀取操作系統(tǒng)(OS)的數據來啟動
OS。由于機械硬盤本身初始化非???,在BOIS運行階段就可以讀取數據,所以使用傳統(tǒng)的機械硬盤要加快開機速度的方法很簡單,只需在BIOS運行階段提前把開機所需數據讀取到硬盤緩存中或直接讀取到計算機內存中。而對于固態(tài)硬盤系統(tǒng),計算機開機時固態(tài)硬盤本身也要進行初始化,其初始化的時間一般都大于BIOS運行的時間,所以使用在傳統(tǒng)機械硬盤上的預讀取方式加快開機速度已經不可行了。綜上可知,現(xiàn)有的固態(tài)硬盤系統(tǒng),在實際使用上顯然存在不便與缺陷,所以有必要加以改進。
發(fā)明內容
針對上述的缺陷,本發(fā)明的目的在于提供一種基于固態(tài)硬盤的系統(tǒng)啟動方法和固態(tài)硬盤,其可以提高系統(tǒng)的數據讀取速度,縮短系統(tǒng)的啟動時間。為了實現(xiàn)上述目的,本發(fā)明提供一種基于固態(tài)硬盤的系統(tǒng)啟動方法,所述固態(tài)硬盤具有若干NAND flash構成的flash陣列,所述方法包括記錄系統(tǒng)啟動時從所述固態(tài)硬盤讀取的啟動數據,以及所述啟動數據的讀取順序;判斷所述啟動數據是否按啟動順序均勻的排列于所述flash陣列,若是,則不作處理,否則所述固態(tài)硬盤在所述系統(tǒng)完成啟動后的空閑時間調整所述啟動數據,使所述啟動數據按啟動順序均勻的排列于所述flash陣列。根據本發(fā)明的基于固態(tài)硬盤的系統(tǒng)啟動方法,所述系統(tǒng)每次從所述固態(tài)硬盤讀取啟動數據時,同時從每個所述NAND flash各讀取一個最小數據單元。根據本發(fā)明的基于固態(tài)硬盤的系統(tǒng)啟動方法,所述記錄系統(tǒng)啟動時從所述固態(tài)硬盤讀取的啟動數據步驟之前包括設置系統(tǒng)啟動完成標識。根據本發(fā)明的基于固態(tài)硬盤的系統(tǒng)啟動方法,所述設置系統(tǒng)啟動完成標識步驟包括預設數據量,當所述系統(tǒng)的數據寫入量達到所述預設數據量時,則判定所述系統(tǒng)啟動完成。
3
根據本發(fā)明的基于固態(tài)硬盤的系統(tǒng)啟動方法,所述記錄系統(tǒng)啟動數據的時間段為從所述系統(tǒng)啟動到所述系統(tǒng)寫入的數據量達到所述預設數據量。本發(fā)明還相應的提供一種固態(tài)硬盤,所述固態(tài)硬盤包括記錄模塊,用于記錄系統(tǒng)啟動時從所述固態(tài)硬盤讀取的啟動數據,以及所述啟動數據的讀取順序;判斷模塊,用于判斷所述啟動數據是否按啟動順序均勻的排列于所述flash陣列,若是,則不作處理,否則將判斷信息發(fā)送至數據調整模塊;數據調整模塊,用于所述固態(tài)硬盤在所述系統(tǒng)完成啟動后的空閑時間調整所述啟動數據,使所述啟動數據按啟動順序均勻的排列于所述flash陣列。根據本發(fā)明的固態(tài)硬盤,所述固態(tài)硬盤還包括設置模塊,用于設置所述系統(tǒng)的啟動完成標識。根據本發(fā)明的固態(tài)硬盤,所述設置模塊預設數據量,當所述系統(tǒng)的數據寫入量達到所述預設數據量時,則判定所述系統(tǒng)啟動完成。根據本發(fā)明的固態(tài)硬盤,所述記錄系統(tǒng)啟動數據的時間段為從所述系統(tǒng)啟動到所述系統(tǒng)寫入的數據量達到所述預設數據量。本發(fā)明通過在系統(tǒng)啟動時記錄系統(tǒng)的啟動數據,并同時記錄這些數據的讀取順序,然后判斷這些啟動數據是否是按啟動順序均勻排列在固態(tài)硬盤的flash陣列上,如果是則不作處理,否則在固態(tài)硬盤空閑時調整所述啟動數據,使其按啟動順序均勻排列于各 flash陣列上,借此,當固態(tài)硬盤系統(tǒng)下一次啟動再讀取所述數據時可以大大提高數據讀取效率,提高系統(tǒng)啟動速度。
圖I是現(xiàn)有技術的固態(tài)硬盤系統(tǒng)的結構示意圖;圖2是本發(fā)明一實施例的固態(tài)硬盤的結構示意圖;圖3是本發(fā)明一實施例的flash陣列的數據排列示意圖;圖4是本發(fā)明的基于固態(tài)硬盤的系統(tǒng)啟動方法的流程圖。
具體實施例方式為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。參見圖2,本發(fā)明提供了一種固態(tài)硬盤,具有若干NAND flash構成的flash陣列, 該固態(tài)硬盤100包括記錄模塊10,用于記錄系統(tǒng)啟動時從固態(tài)硬盤100讀取的啟動數據,以及所述啟動數據的讀取順序。實際應用中,系統(tǒng)啟動需要從硬盤100中按一定順序讀取大量的啟動數據,讀取這些數據的效率直接影響的系統(tǒng)的開啟速度,記錄模塊10在系統(tǒng)啟動時記錄讀取的數據及相應的讀取順序,借此可方便后續(xù)的進一步處理。判斷模塊20,用于判斷啟動數據是否按啟動順序均勻的排列于flash陣列,若是, 則不作處理,否則將判斷信息發(fā)送至數據調整模塊30。結合圖3,由三個NAND Flash顆粒組成固態(tài)儲存陣列,數據I到數據18存儲于陣列中,需要說明的是,每個數據均為Nand Flash 讀取操作的最小單元,一般為Nand Flash的一個page)。本發(fā)明的技術方案是將數據I和數據18按啟動順序均勻排列于各個Flash顆粒,當系統(tǒng)讀每次讀取數據時能夠分別從三個 Flash顆粒中各讀取一個數據單元,比如讀取數據1、5、3,如果判斷模塊20判斷出數據1、5、 3并非均勻排列于Flash顆粒,比如,數據I和5排列于Flash A顆粒,數據3排列于另一個 Flash C顆粒,則系統(tǒng)讀取數據時需要從Flash A顆粒中讀取兩次,使數據讀取效率較慢,此時判斷模塊20將判斷信息發(fā)送至數據調整模塊30,該數據調整模塊30接收到該在系統(tǒng)完成啟動后的空閑時間調整啟動數據。數據調整模塊30,用于調整系統(tǒng)的啟動數據,使所述啟動數據按啟動順序均勻的排列于所述flash陣列。如前所述,假設判斷模塊20判斷出需要讀取的啟動數據I和5都位于Flash A顆粒上,而另一數據3位于Flash C顆粒,則數據調整模塊30在固態(tài)硬盤100 空閑時,將數據5或I調整至Flash B顆粒,借此,當系統(tǒng)啟動讀取數據時可以同時從每個 Flash顆粒讀取一個數據,使系統(tǒng)下一次啟動時,數據的讀取效率達到最大,提高啟動速度。優(yōu)選的是,本發(fā)明的固態(tài)硬盤100還包括設置模塊40,用于設置系統(tǒng)的啟動完成標識。具體應用中,系統(tǒng)每次啟動的時間可能有所差別,設置模塊40通過預設系統(tǒng)啟動完成標識,使系統(tǒng)每次啟動時,記錄模塊10記錄在啟動時間內讀取的啟動數據。固態(tài)硬盤系統(tǒng)在啟動時會大量讀取數據,而很少寫入數據,所以,當系統(tǒng)有大量數據寫入時,系統(tǒng)的啟動即基本完成。在本發(fā)明的一實施例中,固態(tài)硬盤100通過設置模塊40預設一數據量N,在系統(tǒng)啟動過程中,如果檢測到寫入系統(tǒng)的數據量達到N時,則判定系統(tǒng)啟動完成,記錄模塊 10記錄從系統(tǒng)啟動到系統(tǒng)內寫入的數據量達到N時的讀取的數據。本發(fā)明在系統(tǒng)每次啟動時都記錄系統(tǒng)的啟動數據,并進行判斷調整,系統(tǒng)啟動過程中能夠從各個Nand flash上同時取數據。避免從同一個flash讀取多次,而有的flash 則空閑。當系統(tǒng)一次讀取數據時,各個Nand flash取數據的次數盡可能相同,避免了 Nand flash有空閑,借此使系統(tǒng)下次啟動時具有較高的數據讀取速度。圖4是本發(fā)明的基于固態(tài)硬盤的系統(tǒng)啟動方法流程圖,其可以通過如圖2所示的固態(tài)硬盤100實現(xiàn),該方法包括步驟S401,記錄模塊10記錄系統(tǒng)啟動時從固態(tài)硬盤100讀取的啟動數據,以及所述啟動數據的讀取順序。步驟S402,判斷模塊20判斷啟動數據是否按啟動順序均勻的排列于所述flash陣列,若是,則不作處理,否則進入步驟S403。步驟S403,數據調整模塊30在所述系統(tǒng)完成啟動后的空閑時間調整所述啟動數據,使所述啟動數據按啟動順序均勻的排列于所述flash陣列。通過對系統(tǒng)啟動數據的處理調整,使系統(tǒng)下次啟動讀取數據時,可以從每個NAND flash各讀取一個最小數據單元,借此使系統(tǒng)的啟動性能得到大幅的優(yōu)化。優(yōu)選的是,由于固態(tài)硬盤系統(tǒng)每次啟動的時間可能有所差別,本發(fā)明在步驟S401 之前還包括預設系統(tǒng)啟動完成標識,具體的是通過設置模塊40設置一數據量N,系統(tǒng)啟動時當其寫入的數據量過到N時,即判定為系統(tǒng)啟動完成。記錄模塊10也只記錄這個時間段內系統(tǒng)讀取的數據。綜上所述,本發(fā)明通過在系統(tǒng)啟動時記錄系統(tǒng)的啟動數據,并同時記錄這些數據
5的讀取順序,然后判斷這些啟動數據是否是按啟動順序均勻排列在固態(tài)硬盤的flash陣列上,如果是則不作處理,否則在固態(tài)硬盤空閑時調整所述啟動數據,使其按啟動順序均勻排列于各flash陣列上,借此,當固態(tài)硬盤系統(tǒng)下一次啟動再讀取所述數據時可以大大提高數據讀取效率,提高系統(tǒng)啟動速度。當然,本發(fā)明還可有其它多種實施例,在不背離本發(fā)明精神及其實質的情況下,熟悉本領域的技術人員當可根據本發(fā)明作出各種相應的改變和變形,但這些相應的改變和變形都應屬于本發(fā)明所附的權利要求的保護范圍。
權利要求
1.一種基于固態(tài)硬盤的系統(tǒng)啟動方法,所述固態(tài)硬盤具有若干NAND flash構成的 flash陣列,其特征在于,所述方法包括記錄系統(tǒng)啟動時從所述固態(tài)硬盤讀取的啟動數據,以及所述啟動數據的讀取順序;判斷所述啟動數據是否按啟動順序均勻的排列于所述flash陣列,若是,則不作處理, 否則所述固態(tài)硬盤在所述系統(tǒng)完成啟動后的空閑時間調整所述啟動數據,使所述啟動數據按啟動順序均勻的排列于所述flash陣列。
2.根據權利要求I所述的基于固態(tài)硬盤的系統(tǒng)啟動方法,其特征在于,所述系統(tǒng)每次從所述固態(tài)硬盤讀取啟動數據時,同時從每個所述NAND flash各讀取一個最小數據單元。
3.根據權利要求I所述的基于固態(tài)硬盤的系統(tǒng)啟動方法,其特征在于,所述記錄系統(tǒng)啟動時從所述固態(tài)硬盤讀取的啟動數據步驟之前包括設置系統(tǒng)啟動完成標識。
4.根據權利要求3所述的基于固態(tài)硬盤的系統(tǒng)啟動方法,其特征在于,所述設置系統(tǒng)啟動完成標識步驟包括預設數據量,當所述系統(tǒng)的數據寫入量達到所述預設數據量時,則判定所述系統(tǒng)啟動完成。
5.根據權利要求4所述的基于固態(tài)硬盤的系統(tǒng)啟動方法,其特征在于,所述記錄系統(tǒng)啟動數據的時間段為從所述系統(tǒng)啟動到所述系統(tǒng)寫入的數據量達到所述預設數據量。
6.一種固態(tài)硬盤,其特征在于,所述固態(tài)硬盤包括記錄模塊,用于記錄系統(tǒng)啟動時從所述固態(tài)硬盤讀取的啟動數據,以及所述啟動數據的讀取順序;判斷模塊,用于判斷所述啟動數據是否按啟動順序均勻的排列于所述flash陣列,若是,則不作處理,否則將判斷信息發(fā)送至數據調整模塊;數據調整模塊,用于所述固態(tài)硬盤在所述系統(tǒng)完成啟動后的空閑時間調整所述啟動數據,使所述啟動數據按啟動順序均勻的排列于所述flash陣列。
7.根據權利要求6所述的固態(tài)硬盤,其特征在于,所述固態(tài)硬盤還包括設置模塊,用于設置所述系統(tǒng)的啟動完成標識。
8.根據權利要求7所述的固態(tài)硬盤,其特征在于,所述設置模塊預設數據量,當所述系統(tǒng)的數據寫入量達到所述預設數據量時,判定所述系統(tǒng)啟動完成。
9.根據權利要求8所述的固態(tài)硬盤,其特征在于,所述記錄系統(tǒng)啟動數據的時間段為 從所述系統(tǒng)啟動到所述系統(tǒng)寫入的數據量達到所述預設數據量。
全文摘要
本發(fā)明適用于計算機技術領域,提供了一種基于固態(tài)硬盤的系統(tǒng)啟動方法,所述固態(tài)硬盤具有若干NAND flash構成的flash陣列,所述方法包括記錄系統(tǒng)啟動時從所述固態(tài)硬盤讀取的啟動數據,以及所述啟動數據的讀取順序;判斷所述啟動數據是否按啟動順序均勻的排列于所述flash陣列,若是,則不作處理,否則所述固態(tài)硬盤在所述系統(tǒng)完成啟動后的空閑時間調整所述啟動數據,使所述啟動數據按啟動順序均勻的排列于所述flash陣列。本發(fā)明還相應的提供一種實現(xiàn)上述方法的固態(tài)硬盤。借此,本發(fā)明可以縮短固態(tài)硬盤系統(tǒng)的開機時間。
文檔編號G06F9/445GK102609291SQ201210049949
公開日2012年7月25日 申請日期2012年2月29日 優(yōu)先權日2012年2月29日
發(fā)明者何浩 申請人:記憶科技(深圳)有限公司