專利名稱::快速啟動裝置及方法
技術領域:
:本發明涉及一種快速啟動裝置及其方法,更特別的是本發明涉及一種使用外接式的NAND快閃存儲器的其中一個預定分區來快速啟動計算機的開機裝置。
背景技術:
:傳統上,計算機的開機啟動程序與操作系統通常是存放在計算機的硬盤中。當使用者啟動計算機時,BIOS(kisicinput-outputsystem)會進行開機自我測試(POST)以檢查與確認系統存儲器的大小以及起始系統總線以及特定周邊裝置。在開機自我測試完成后,若是BIOS發現有可以啟動的裝置,如硬盤的話,BIOS會將程序的執行轉移給主啟動記錄(masterbootrecord,MBR)所包含的機械碼指令。主啟動記錄位于主要磁盤(primarydisk)的第0個磁柱的第0個磁頭的第一個磁區,其為一個512個byte的啟動磁區。主啟動記錄包含一啟動載入程序(bootloader),其大小約為440至446個byte。除此之外,主啟動記錄會包含磁盤的主要分區(primarypartition)的分區表(partitiontable),其具有64個byte。分區表包含至少四個分區的記錄,像起始、結束磁柱的信息、分區類型及分區是否有設定啟動(Active)旗標。主啟動記錄也包含一個2個byte的簽名檢查碼,主要是讓啟動載入程序來檢查主啟動記錄磁區的正確性。啟動載入程序碼便是根據分區表中設定有啟動旗標的那個分區,來載入該分區的啟動磁區(bootsector),以完成后續的開機作業并載入操作系統。如本領域技術人員所熟知,硬盤屬于一種電機驅動的機械式儲存裝置,需要步進電機(st印permotor)與直流電機(DCmotor)來分別驅動其讀寫頭(R/Whead)與主軸(spindle)0由于需要等待電機啟動時間(spin-uptime)來讀取數據,并且硬盤中的數據都是分散而需要循序讀取/寫入,若是直接以硬盤來啟動計算機,啟動程序將會是緩慢且沒有效率的。為了加速計算機的啟動程序,目前有一些方案可以達到這些目的。請參見圖1,其為公知技術中計算機的啟動裝置的示意圖。如圖1所示,計算機100包含一中央處理器(CPU)102、一系統存儲器110,以及一視頻控制器(VGAcontroller)108,其連接至且通過一北橋芯片組(northbridgechipset)106與一系統總線(systembus)112溝通。系統總線106可為一PCI總線或一PCIExpress總線所組成。計算機100還包含一南橋芯片組(southbridgechipset)114,其控制周邊裝置與儲存裝置之間的通信。計算機100還包含一固態磁盤機(solidstatedisk,SSD)104,連接至該南橋芯片組114以儲存數據。固態磁盤機104因為不需要電機啟動以及沒有讀寫頭便可以加速隨機存取的優點,而能夠作為快速開機用的開機磁盤。然而,固態磁盤機因為價格昂貴以及儲存容量低的因素,而無法廣泛運用。因此申請人提出一種快速開機裝置及方法,其利用一外接NAND快閃存儲器中的一個預定分區作為快速開機分區來加速計算機的開機程序。
發明內容本發明的一目的在于提供一種快速開機裝置,其利用一外接的存儲器用以有效率且可靠的方式來快速啟動一計算機。本發明的主要實施方式包含一種快速啟動裝置,用以啟動一計算機,該計算機具有一主要磁盤以及一系統存儲器,該快速啟動裝置包含一外接存儲器,經由一周邊接口連接至該計算機,且具有一預定分區,該預定分區包含用來啟動該計算機的啟動文件,其中該主要磁盤包含一操作系統,該操作系統具有一核心以及硬件裝置驅動程序,且該核心具有一輸入/輸出管理員而該硬件裝置驅動程序包含該外接存儲器的驅動程序,該輸入/輸出管理員組態設定為在該計算機的啟動階段根據一系統輸入/輸出請求驅使該外接存儲器的驅動程序讀取該外接存儲器,判斷該預定分區是否包含用來啟動該計算機的啟動文件,并且在判斷該預定分區包含用來啟動該計算機的啟動文件時,由該硬件裝置驅動程序將該啟動文件載入系統存儲器中執行,借此啟動該計算機。本發明的次要實施方式包含一種快速啟動方法,用以啟動一計算機,該計算機具有一外接存儲器、一主要磁盤以及一系統存儲器,該主要磁盤包含一操作系統并且該操作系統具有一核心以及硬件裝置驅動程序,其中該核心具有一輸入/輸出管理員且該硬件裝置驅動程序包含該外接存儲器的驅動程序,該快速啟動方法包含下列步驟(I)將該操作系統的核心載入該系統存儲器中執行;(II)將該主要磁盤的驅動程序載入系統存儲器中執行以起始該硬盤;(III)發出一系統輸入/輸出請求至該輸入/輸出管理員;(IV)根據該系統輸入/輸出請求,由該I/O管理員驅使該外接存儲器的驅動程序讀取該外接存儲器,以判斷該外接存儲器是否包含用來啟動該計算機的啟動文件;以及(V)若判斷該外接存儲器包含用來啟動該計算機的啟動文件,將該啟動文件載入該系統存儲器中執行以啟動該計算機。本發明提出一種快速啟動裝置及方法,用以快速啟動計算機。本發明將一外接NAND快閃存儲器的其中一個隱藏分區中設置為用來啟動計算機的預定分區,包含用來啟動計算機所需要的啟動文件。并且在計算機的啟動階段,由硬盤中的操作系統的核心經由系統I/O請求的觸發來檢查外接NAND快閃存儲器的隱藏預定分區是否包含用來啟動計算機所需要的啟動文件。若外接NAND快閃存儲器的隱藏預定分區包含用來啟動計算機所需要的啟動文件,則將隱藏預定分區所包含的啟動文件載入計算機的系統存儲器中執行以啟動計算機。由于外接式NAND快閃存儲器具有能夠快速啟動計算機的優點且價格低廉,本發明的快速啟動裝置能夠有效率且可靠地迅速啟動計算機的運行。圖1為代表公知技術中計算機的啟動裝置的示意圖;圖2為代表本發明的啟動裝置的一較佳實施例的系統方框圖;圖3為代表操作系統的架構示意圖;圖4為解說本發明的啟動方法的步驟的流程圖;圖5顯示圖2的啟動裝置實現于一外接的USB儲存裝置中的一較佳實施方式;圖6顯示圖2的啟動裝置實現于一外接的USB鍵盤集線器中的一較佳實施方式;以及4圖7顯示圖2的啟動裝置實現于一外接的USB鼠標集線器中的一較佳實施方式。上述附圖中的附圖標記說明如下100,2OO計算機102,202中央處理器106,208北橋芯片組112,210系統總線110,204系統存儲器108,206視頻控制器114,212南橋芯片組104固態磁盤機214硬盤216BI0S存儲器21操作系統220高速周邊接口218外接NAND快閃存儲器218a快速啟動分區21數據儲存分區218c硬件裝置驅動程序218d系統組態文件218e動態聯結程序庫218f執行文件304使用者應用程序306殼308圖形使用者接口302系統呼叫服務300核心300aI/O管理員310硬件裝置驅動程序310a外接NAND快閃存儲器218的驅動程序312硬件500外接的USB儲存裝置502,504USB連接端口508USB主機控制器514USB纜線600外接的USB鍵盤集線器602,604USB連接端口608USB主機控制器614USB纜線606集線器芯片610鍵盤控制器612USB接口700外接的USB鼠標集線器702,704USB連接端口708USB主機控制器714USB纜線706集線器芯片710鍵盤控制器712USB接口具體實施例方式圖2為顯示本發明的啟動裝置的一較佳實施例的系統方框圖。如圖2所示,一計算機系統200包含一中央處理器202、一系統存儲器204,以及一視頻控制器206,其連接至且通過一北橋芯片組208與一系統總線210溝通。系統總線210可為一PCI總線或一PCIExpress總線所組成。計算機200還包含一南橋芯片組212,其控制周邊裝置與儲存裝置之間的通信。計算機200還包含一硬盤214連接至該南橋芯片組212以儲存數據,其中硬盤214存儲一操作系統(operatingsystem)214a,例如Microsoft公司所開發的Windows操作系統,以供使用者操作計算機200。計算機200還包含一BIOS存儲器216,其連接至該南橋芯片組212且包含BIOS程序碼,用以辨識、測試與起始系統存儲器204、視頻控制器206、硬盤214及其他硬件。計算機200可通過一高速周邊接口220與一外接NAND快閃存儲器218相連接。該高速周邊接口220連接于南橋芯片組212與外接NAND快閃存儲器218之間,作為計算機200與外接NAND快閃存儲器218之間的通信管道。高速周邊接口220可為一eSATA接口、一USB3.0接口、一無線USB(wirelessUSB)接口、一IEEE1394接口或一PCIe接口。然而高速周邊接口220的詳細型式不限于如上所述。在本實施例中,外接NAND快閃存儲器218還包含兩個分區,其中一個分區指定為數據儲存分區218b,用以儲存數據,以及一個快速啟動分區218a,其為一隱藏的分區。該快速啟動分區218a包含啟動計算機200所需要的啟動文件(bootfiles),包含硬件裝置驅動程序(devicedriver)218c、系統組態文件(configurationfiles)218d、動態連接程序庫(dynamiclinklibrary)218e及執行文件(executablefiles)218f。快速啟動分區218a的啟動文件(218c-218f)為可供操作系統21在計算機啟動階段經過1/0程序處理來將啟動文件(218c-218f)載入系統存儲器204中來執行以加速計算機的啟動作業。至于快速啟動分區218a的啟動文件的載入程序,將在底下詳細說明。請參照圖2與圖3,其中圖3為操作系統21的架構示意圖。如圖3所示,操作系統21作用為提供使用者控制硬件運行與管理軟件資源的程序。操作系統21—般包含裝置驅動程序310,位于操作系統21的最底層以直接控制和監視硬件312。在本實施例中,裝置驅動程序310包含外接NAND存儲器218的驅動程序310a,此外,操作系統21尚包含一核心(kernel)300,其為操作系統21的基礎構件,其可在使用者模式下處理使用者應用程序30、殼(shell)306及圖形使用者接口(⑶I)308的程序與程序庫,而在核心模式下執行一般與硬件相關的程序與管理功能。在核心300中包含一個1/0管理員(1/0manager)300a,其可在使用者模式下接收系統呼叫服務302所傳來的系統I/O請求(systemI/Orequest)并且將系統I/O請求轉譯成系統I/O請求封包,并且將系統I/O請求封包傳送到硬件裝置驅動程序來對硬件進行讀寫。此外,I/O管理員300a可以與硬件裝置驅動程序組合,以直接對硬件進行讀寫。因此在本實施例中,I/O管理員300a可以與外接NAND快閃存儲器218的驅動程序310a組合來讀取外接NAND存儲器218。在本實施例中,在計算機啟動階段時,由使用者應用程序30、殼306或圖形使用者接口308通過系統呼叫服務302發出系統I/O請求至I/O管理員300a,以要求I/O管理員300a驅使驅動程序310a讀取外接NAND快閃存儲器218的快速啟動分區218a內的數據,借此判斷計算機200啟動所需要載入的硬件裝置驅動程序218c、系統組態文件218d、動態連接程序庫218e及執行文件218f是否位于外接NAND快閃存儲器218的快速啟動分區218a內。若是判斷結果為計算機200啟動所需要載入的啟動文件位于外接NAND快閃存儲器218的快速啟動分區218a內,驅動程序310a便可將快速啟動分區218a內的啟動文件載入系統存儲器204中來執行,以加快計算機200的啟動速度。請參照圖2與圖4,其中圖4為解說本發明的啟動方法的步驟的流程圖。圖4的啟動方法的步驟將說明如下。由步驟400開始,BIOS會完成開機自我測試于步驟402中。接下來,BIOS會將程序的執行轉移到主啟動記錄(MBR)來執行啟動載入程序(bootloader),如步驟404所示。接下來,啟動載入程序會將操作系統核心300載入系統存儲器204中執行,如步驟406所示。接下來,硬盤214及高速周邊接口220的驅動程序會被載入系統存儲器204中執行以起始硬盤214及高速周邊接口220,如步驟408所示。接下來,發出通過系統呼叫服務302由使用者應用程序30、殼306或圖形使用者接口308發出系統1/0請求至1/0管理員300a,如步驟410所示。1/0管理員300a根據系統1/0請求驅使外接NAND快閃存儲器的驅動程序310a來讀取外接NAND快閃存儲器218的數據,如步驟412所示。在步驟414中,會判斷快速啟動分區218a中是否有啟動文件。若快速啟動分區218a中有啟動文件,則繼續進行步驟416將快速啟動分區218a中的啟動文件(218c_218f)載入系統存儲器204中執行。若快速啟動分區218a中沒有啟動文件,則繼續進行步驟418將硬盤214中的操作系統21中的啟動文件載入系統存儲器204中執行。當在步驟416中或步驟418中啟動文件載入系統存儲器204中執行完成后,開機步驟便完成,如步驟420所示。程序結束于步驟422。請參照圖2與圖5,其中圖5顯示圖2的外接NAND快閃存儲器218實現于一外接的USB儲存裝置500中的一較佳實施方式。須注意的是相同的元件編號會指向相同的元件。在圖5中,計算機200的一USB連接端口502通過一USB纜線514,連接至外接USB儲存裝置500中的USB連接端口504。外接USB儲存裝置500還包含一USB主機控制器508,連接至USB連接端口504用以處理計算機200通過USB連接端口502傳送過來的讀寫命令以及數據信號。USB主機控制器508連接至NAND快閃存儲器218,用以根據計算機200所傳送過來的讀寫命令與數據信號,對NAND快閃存儲器218的數據儲存分區218b與快速啟動分區218a進行數據讀取。因此在圖5的實施方式中,外接的USB儲存裝置500可以同時當作開機磁盤以及數據儲存磁盤來使用。請參照圖2與圖6,其中圖6顯示圖2的外接NAND快閃存儲器218實現于一外接的USB鍵盤集線器(keyboardhub)600中的一較佳實施方式。在圖6中,USB連接端口602、USB纜線614、USB連接端口604、USB主機控制器608及NAND快閃存儲器218,與圖5相對應的元件USB連接端口502、USB纜線514、USB連接端口504、USB主機控制器508及NAND快閃存儲器218具有相似的功能與電路結構,在此不再贅述。在圖6中,一集線器芯片(hubchip)606連接至USB連接端口604以擴展外接USB裝置600的周邊連接性能。集線器芯片606通過USB接口612,分別連接至USB主機控制器608及鍵盤控制器610。鍵盤控制器610用來控制鍵盤輸入的信號轉換。因此在圖6的實施方式中,外接的USB鍵盤集線器600不僅可以當作鍵盤以及集線器來使用,更可以同時當作開機磁盤來使用,借此增加使用上的便利性。請參照圖2與圖7,其中圖7顯示圖2的外接NAND快閃存儲器218實現于一外接的USB鼠標集線器(mousehub)700中的一較佳實施方式。在圖7中,USB連接端口702、USB纜線714、USB連接端口704、USB主機控制器708、集線器芯片706、USB接口712及NAND快閃存儲器218,與圖6相對應的元件USB連接端口602、USB纜線614、USB連接端口604、USB主機控制器608、集線器芯片606、USB接口612及NAND快閃存儲器218具有相似的功能與電路結構,在此不再贅述。在圖7中,集線器芯片706通過USB接口712,分別連接至USB主機控制器708及鼠標控制器710。鼠標控制器710用來控制鼠標輸入的信號轉換。因此在圖7的實施方式中,外接的USB鼠標集線器700不僅可以當作鼠標以及集線器來使用,更可以同時當作開機磁盤來使用,借此增加使用上的便利性。須注意的是本發明的外接NAND快閃存儲器218可以設置在任何一種外接周邊裝置中,而非為上述實施方式所限制。總合來說,本發明提出一種快速啟動裝置及方法,用以快速啟動計算機。本發明將一外接NAND快閃存儲器的其中一個隱藏分區中設置為用來啟動計算機的預定分區,包含用來啟動計算機所需要的啟動文件。并且在計算機的啟動階段,由硬盤中的操作系統的核心經由系統I/O請求的觸發來檢查外接NAND快閃存儲器的隱藏預定分區是否包含用來啟動計算機所需要的啟動文件。若外接NAND快閃存儲器的隱藏預定分區包含用來啟動計算機所需要的啟動文件,則將隱藏預定分區所包含的啟動文件載入計算機的系統存儲器中執行以啟動計算機。由于外接式NAND快閃存儲器具有能夠快速啟動計算機的優點且價格低廉,本發明的快速啟動裝置能夠有效率且可靠地迅速啟動計算機的運行。本發明得由本領域技術人員任施匠思而為諸般修飾,都不脫如附權利要求所欲保護的范圍。權利要求1.一種快速啟動裝置,用以啟動一計算機,該計算機具有一主要磁盤以及一系統存儲器,該快速啟動裝置包含一外接存儲器,經由一周邊接口連接至該計算機,且具有一預定分區,該預定分區包含用來啟動該計算機的啟動文件;其中該主要磁盤包含一操作系統,該操作系統具有一核心以及硬件裝置驅動程序,且該核心具有一輸入/輸出管理員且該硬件裝置驅動程序包含該外接存儲器的一驅動程序,該輸入/輸出管理員組態設定為在該計算機的啟動階段接收一系統輸入/輸出請求,并根據該系統輸入/輸出請求驅使該外接存儲器的驅動程序判斷該預定分區是否包含用來啟動該計算機的啟動文件,并且在判斷該預定分區包含用來啟動該計算機的啟動文件時,由該外接存儲器的驅動程序將該啟動文件載入系統存儲器中執行,借此啟動該計算機。2.如權利要求1所述的快速啟動裝置,其中該主要磁盤為一硬盤。3.如權利要求1所述的快速啟動裝置,其中該周邊接口為一USB3.0接口、一eSATA接口、一無線USB接口、一IEEE1394接口或一PCIExpress接口。4.如權利要求1所述的快速啟動裝置,其中該外接存儲器為一NAND快閃存儲器。5.如權利要求4所述的快速啟動裝置,其中該NAND快閃存儲器設置于一周邊裝置中。6.如權利要求5所述的快速啟動裝置,其中該周邊裝置為一儲存裝置。7.如權利要求5所述的快速啟動裝置,其中該周邊裝置為一鍵盤集線器。8.如權利要求5所述的快速啟動裝置,其中該周邊裝置為一鼠標集線器。9.一種快速啟動方法,用以啟動一計算機,該計算機具有一外接存儲器、一主要磁盤以及一系統存儲器,該主要磁盤包含一操作系統并且該操作系統具有一核心以及硬件裝置驅動程序,其中該核心具有一輸入/輸出管理員且該硬件裝置驅動程序包含該外接存儲器的驅動程序,該快速啟動方法包含下列步驟將該操作系統的核心載入該系統存儲器中執行;將該主要磁盤的驅動程序載入系統存儲器中執行以起始該硬盤;發出一系統輸入/輸出請求至該輸入/輸出管理員;根據該系統輸入/輸出請求,由該I/O管理員驅使該外接存儲器的驅動程序對該外接存儲器進行讀取,判斷該外接存儲器是否包含用來啟動該計算機的啟動文件;以及若判斷該外接存儲器包含用來啟動該計算機的啟動文件,將該啟動文件載入該系統存儲器中執行以啟動該計算機。10.如權利要求9所述的快速啟動方法,還包含下列步驟若判斷該外接存儲器并未包含用來啟動該計算機的啟動文件,將該操作系統所包含的啟動文件載入該系統存儲器中執行以啟動該計算機。11.如權利要求9所述的快速啟動方法,其中該啟動文件儲存于該外接存儲器的一預定分區中。全文摘要本發明揭示一種快速啟動裝置及其啟動方法,其將一外接NAND快閃存儲器的其中一個隱藏分區設置為用來啟動計算機的預定分區,且該分區包含用來啟動計算機所需要的啟動文件。在計算機的啟動階段,由硬盤中的操作系統的核心與外接NAND快閃存儲器的驅動程序經由系統I/O請求的觸發來檢查外接NAND快閃存儲器的隱藏預定分區是否包含用來啟動計算機所需要的啟動文件。若外接NAND快閃存儲器的隱藏預定分區包含用來啟動計算機所需要的啟動文件,則將隱藏預定分區所包含的啟動文件載入計算機的系統存儲器中執行,以啟動計算機。本發明能夠有效率且可靠地迅速啟動計算機的運行。文檔編號G06F9/445GK102236567SQ201010170980公開日2011年11月9日申請日期2010年4月30日優先權日2010年4月30日發明者劉名哲,李俊昌,龔榮華申請人:宇瞻科技股份有限公司