TWI571738B - 儲存裝置、加快啟動程序的方法與儲存控制器 - Google Patents
儲存裝置、加快啟動程序的方法與儲存控制器 Download PDFInfo
- Publication number
- TWI571738B TWI571738B TW104126310A TW104126310A TWI571738B TW I571738 B TWI571738 B TW I571738B TW 104126310 A TW104126310 A TW 104126310A TW 104126310 A TW104126310 A TW 104126310A TW I571738 B TWI571738 B TW I571738B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- physical address
- startup
- volatile
- boot
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
Description
本案是關於改善啟動程序的技術,尤其是關於儲存裝置、加快啟動程序的方法與儲存控制器。
隨著電子裝置普及,終端使用者對於裝置之即時使用的需求日益強烈,相關產業通常藉由加快資料的存取速度來滿足此需求。
以電腦系統為例,電腦系統之即時使用的瓶頸通常在於開機、重新啟動、進入操作模式或類似的操作。更詳細地來說,於關機或是進入低功耗待機模式前,電腦系統通常會將大部分的裝置關閉並將資料儲存於儲存裝置內;而於開機時或進入操作模式前,電腦系統則會將儲存於儲存裝置內的資料讀出;因此,開機、重新啟動或進入操作模式的過程將需要一定程度的資料搬移,才能讓使用者即時使用電腦系統,若上述過程所花費之時間(後稱啟動時間)過長,將會直接影響到終端使用者對於即時使用的體驗。目前減少啟動時間的手段有幾種:其一,簡化基本輸入輸出系統(BIOS)中需要初始化之裝置的初始化程序;其二,透過均一化之驅動程序來減少作業系統中例外操作所引起的等待時間;其三,使用快閃記憶體儲存裝置取代傳統的機械式硬碟。
然而,由於電腦系統與儲存裝置所採用的資料定址方式不同,因此電腦系統所下達的資料存取指令仍需由儲存裝置控制器進行處理後,才能存取儲存裝置中的對應資料,其中,存取過程所需的時間為資料存取操作的響應時間,此響應時間占用相當比例的啟動時間,而目前技術未能針對此響應時間來加快啟動程序。
鑑於先前技術之不足,本案之一目的在於提供儲存裝置、加快啟動程序的方法與儲存控制器,以改善先前技術。
本案揭露一種儲存裝置,其一實施例包含一非揮發性儲存媒體、一揮發性快取記憶體與一儲存控制器。所述非揮發性儲存媒體儲存有啟動資料,能夠基於一啟動資料讀取指令輸出該啟動資料。所述儲存控制器能夠藉由執行下列步驟將該啟動資料儲存於該揮發性快取記憶體:讀取一啟動資料表,該啟動資料表包含該啟動資料所關聯的非實體位址;依據該啟動資料表產生該啟動資料讀取指令,該啟動資料讀取指令指示該啟動資料所關聯的該非揮發性儲存媒體的實體位址;將該非揮發性儲存媒體所輸出的該啟動資料儲存於該揮發性快取記憶體;以及將該啟動資料所關聯的非實體位址連結至該揮發性快取記憶體中該啟動資料所關聯的快取位址。
本案另揭露一種儲存控制器,該儲存控制器能夠藉由執行下列步驟將啟動資料儲存至一揮發性快取記憶體:讀取一啟動資料表,該啟動資料表包含該啟動資料所關聯的非實體位址;依據該啟動資料表產生一啟動資料讀取指令,該啟動資料讀取指令指示該啟動資料所關聯的一非揮發性儲存媒體的實體位址;透過該啟動資料讀取指令從該非揮發性儲存媒體讀取該啟動資料,從而將該啟動資料儲存於該揮發性快取記憶體;以及將該啟動資料所關聯的非實體位址連結至該揮發性快取記憶體中該啟動資料所關聯的快取位址。
在一些實施例中,產生啟動資料讀取指令之步驟包含:依據該啟動資料表查詢一位址轉換表以產生該啟動資料讀取指令;或依據該啟動資料表執行一位址轉換運算以產生該啟動資料讀取指令。
本案亦揭露一種能夠加快啟動程序的方法,其一實施例包含下列步驟:於啟動後,執行一裝置初始化程序;完成該裝置初始化程序後,讀取一啟動資料表,該啟動資料表包含啟動資料所關聯的非實體位址;依據該啟動資料表產生一啟動資料讀取指令,該啟動資料讀取指令指示該啟動資料所關聯的一非揮發性儲存媒體的實體位址;透過該啟動資料讀取指令從該非揮發性儲存媒體讀取該啟動資料並將該啟動資料儲存於一揮發性快取記憶體;以及將該啟動資料所關聯的非實體位址連結至該揮發性快取記憶體中該啟動資料所關聯的快取位址。
有關本案的特徵、實作與功效,茲配合圖式作較佳實施例詳細說明如下。
以下說明內容之用語係參照本技術領域之習慣用語,如本說明書對部分用語有加以說明或定義,該部分用語之解釋係以本說明書之說明或定義為準。
本案之揭露內容包含能夠加快啟動程序的裝置、方法與系統,可應用於桌上型或可攜式電子主機。本案之裝置與系統的部分元件單獨而言可能為已知元件,在不影響發明之充分揭露與可實施性的前提下,以下說明對於個別已知元件的細節將予以節略。另外,本案之方法可以是軟體及/或韌體之形式,可藉由本案之裝置或其等效裝置來執行。
一般來說,主機之啟動流程依序包含下列步驟:電源供應;主機內部電路初始化;基本輸入輸出系統(BIOS)初始化與檢測硬體;儲存裝置完成初始化並與主機形成邏輯連結;主機載入作業系統並向儲存裝置下達主機指令以要求啟動資料;以及儲存裝置依據主機指令進行位址轉換再據以提供資料給主機。因此,啟動資料一般是於主機要求後才載入,而本案是於BIOS初始化與檢測硬體時即將啟動資料儲存至快取記憶體,以在主機要求啟動資料時迅速地從快取記憶體提供資料,藉以加速啟動程序。
進一步而言,以電腦系統為例,目前電腦系統是藉由邏輯區塊位址(Logical Block Address, LBA)來對儲存裝置(例如固態硬碟)的資料進行定址,其中,儲存裝置包含非揮發性儲存媒體,由於不同的非揮發性儲存媒體會有不同的讀寫次數限制及定址方式,因此儲存裝置會基於非揮發性儲存媒體的類型與製作技術而有對應的定址計算方式,使得儲存裝置在依據LBA進行資料存取操作時須先做位址轉換,以將電腦系統所認知的LBA轉換為儲存裝置中資料的實體位址。然而,若每次資料存取操作都進行位址轉換(尤其考慮到某些資料常常被存取),資料存取性能會降低,為解決此問題,會將資料的實體位址與LBA的對應關係存為一實體至邏輯位址轉換表(Physical to Logical Address Mapping Table),以避免儲存裝置於每次資料存取操作都須重建位址對應關係而造成延時,值得注意的是,此張表會依電腦系統之運作與軟硬體之變更而更新。本案之儲存裝置可進一步依一位址轉換表(例如前述實體至邏輯位址轉換表)以及一啟動資料表提前載入啟動資料至快取記憶體,其中,啟動資料表是用以描述啟動資料的內容(細節如第2圖所示)。
一般而言,有許多種方式可建立啟動資料表,包含: (1)透過軟體建立啟動資料表:主機或儲存裝置可透過應用程式或儲存裝置之驅動程式來建立啟動資料表。更具體地說,在每次系統啟動後,主機或儲存裝置可透過程式以近期最少使用(Least Recently Used, LRU)演算法或類似演算法來記錄前複數筆主機的輸入與輸出操作,從而建立及/或更新啟動資料表。 (2)透過韌體建立啟動資料表:儲存裝置可透過韌體來建立啟動資料表。更具體地說,在每次系統啟動後,儲存裝置可透過韌體以LRU演算法或類似演算法來記錄前複數筆主機的輸入與輸出操作,從而建立或更新啟動資料表。 (3)手動建立啟動資料表:使用者可依系統特性或需求直接建立啟動資料表。
而更新啟動資料表之流程的一非限制性實施例如圖1所示,包含下列步驟: 步驟S110:主機之作業系統要求資料。 步驟S120:驅動程式(例如快速儲存技術(Rapid Storage Technology)之驅動程式)進行呼叫。 步驟S130:搜索一啟動資料表。 步驟S140:依據該資料之非實體位址判斷該資料是否為熱門資料,若是,進入步驟S150;若為冷門資料,進入步驟S160。 步驟S150:經由該非實體位址與啟動資料表的後設資料(metadata)從快取記憶體裡取得該資料,並將該資料之非實體位址對應的追蹤頻率記錄或更新於該啟動資料表中。 步驟S160:記錄該資料之非實體位址與追蹤頻率於該啟動資料表中。 步驟S162:判斷該非實體位址之索取頻率是否超出一門檻,若非實體位址之索取頻率超出門檻,進入步驟S164,反之,進入步驟S166。 步驟S164:記錄該非實體位址於該啟動資料表以將該資料視為熱門資料,同時據以更新該啟動資料表的後設資料。 步驟S166:承步驟S164或步驟S162,從非快取儲存空間取得該資料。 步驟S170:承步驟S150或步驟S166,直接記憶體存取器(Direct Memory Access,)輸出該資料給主機之系統記憶體。 步驟S180:若無其他輸入輸出需求即進入閒置狀態。 通常而言,如圖2所示,啟動資料表200至少包含邏輯區塊位址210與資料長度220等資訊,當然啟動資料表200可進一步包含LRU演算法或其它演算法所推得的命中率(hit ratio)等參數。值得注意的是,本案可依據啟動資料表及位址轉換表(例如前述實體至邏輯位址轉換表)來提前載入啟動資料,但不限制位址轉換表以及啟動資料表的取得方式、格式與內容等。
參閱圖3,其是本案之儲存裝置之一實施例的示意圖。如圖3所示,儲存裝置300包含非揮發性儲存媒體310、揮發性快取記憶體320以及一儲存控制器330。
非揮發性儲存媒體310儲存有啟動資料,並能夠基於一啟動資料讀取指令輸出啟動資料。舉例而言,若非揮發性儲存媒體310為快閃記憶體,儲存控制器330會對非揮發性儲存媒體310(即快閃記憶體)下達啟動資料讀取指令,藉以依據快閃記憶體之定址方式來讀取啟動資料;若非揮發性儲存媒體310為機械式硬碟之儲存磁區,儲存控制器330會對該機械式硬碟下達啟動資料讀取指令以依據磁柱、磁頭與磁區(cylinders-heads-sectors, CHS)之定址方式來讀取資料。
揮發性快取記憶體320可例如是動態或靜態隨機存取記憶體(DRAM或SRAM),可內建於儲存裝置300中,也可獨立於儲存裝置300之外,當揮發性快取記憶體320獨立於儲存裝置300外時,儲存裝置300可藉由協定或驅動程式來取得該揮發性快取記憶體320之支配權。
儲存控制器330與非揮發儲存媒體310通常屬於同一儲存裝置300,像是固態硬碟裝置、機械式硬碟裝置、混合式硬碟裝置或光儲存裝置。在一些實施例中,儲存控制器330與非揮發儲存媒體310可為分別兩裝置,像是網路附加儲存(Network Attached Storage, NAS)系統。
儲存控制器330能藉由執行如圖4的步驟以儲存非揮發性儲存媒體310內的啟動資料於揮發性快取記憶體320。 步驟S410:讀取一啟動資料表200,啟動資料表200包含啟動資料所關聯的非實體位址(例如LBA)。啟動資料表是儲存裝置300所邏輯連接的主機或儲存控制器330於先前運作時(即本次啟動前的正常運作時)所產生,可儲存於非揮發性儲存媒體310中,或儲存於其它在啟動過程中可及早完成初始化作業以提供資料的儲存媒體中。 步驟S420:依據啟動資料表產生啟動資料讀取指令,啟動資料讀取指令指示啟動資料所關聯的非揮發性儲存媒體310的實體位址。舉例而言,本步驟可藉由下列方式來產生啟動資料讀取指令:依據該啟動資料表查詢一位址轉換表(例如實體至邏輯位址轉換表)以產生該啟動資料讀取指令;或依據該啟動資料表執行一位址轉換運算(例如實體至邏輯位址轉換運算)以產生該啟動資料讀取指令。 步驟S430:儲存由非揮發性儲存媒體310依據啟動資料讀取指令所輸出的啟動資料於揮發性快取記憶體320。 步驟S440:將啟動資料所關聯的非實體位址連結至揮發性快取記憶體320中啟動資料所關聯的快取位址。
承上所述,在將啟動資料儲存於快取記憶體320後,儲存控制器330能回應主機之要求來提供該啟動資料或其它資料。更具體地說,如圖5所示,儲存控制器330可進一步執行下列步驟: 步驟S510:於完成步驟S440後,接收一主機讀取要求。 步驟S520:判斷主機讀取要求所指示的非實體位址是否連結至該啟動資料所關聯的該快取位址,若判斷結果為是,依據該啟動資料所關聯的快取位址讀取並輸出該啟動資料; 步驟S530:若該主機讀取要求所指示的非實體位址未連結至該啟動資料所關聯的快取位址,從非揮發性儲存媒體310讀取並輸出對應該主機讀取要求所指示的非實體位址的資料。更具體地說,步驟S530之一實施例包含下列步驟:依據該主機讀取要求所指示的非實體位址產生一資料讀取指令,該資料讀取指令指示非揮發性儲存媒體310的至少一實體位址;將非揮發性儲存媒體310中對應該至少一實體位址的儲存資料儲存於揮發性快取記憶體320;輸出該儲存資料;以及將該主機讀取要求所指示的非實體位址連結至揮發性快取記憶體320中該儲存資料所關聯的快取位址。
參閱圖6,其是本發明之儲存控制器之一實施例的示意圖。相較於圖3之實施例,圖6包含儲存控制器330,但不包含非揮發性儲存媒體310與揮發性快取記憶體330(其於圖6中以虛線表示)。圖6之儲存控制器330同樣能執行前述步驟S410至步驟S440,也能選擇性地執行步驟S510至步驟S530,相關說明已如前述。
除前揭裝置外,本案也揭露一種加快啟動程序的方法,可由儲存控制器330或其等效裝置來執行,其一實施例如圖7所示,包含下列步驟: 步驟S710:於啟動後(例如獲得電源供應或重新啟動後),執行裝置初始化程序。 步驟S720:完成裝置初始化程序後,讀取啟動資料表,該啟動資料表包含啟動資料所關聯的非實體位址。啟動資料表可儲存於前揭非揮發性儲存媒體310中。 步驟S730:依據該啟動資料表產生一啟動資料讀取指令,該啟動資料讀取指令指示該啟動資料所關聯的一非揮發性儲存媒體的實體位址。本步驟可藉由下列方式來產生啟動資料讀取指令:依據該啟動資料表查詢一位址轉換表以產生該啟動資料讀取指令;或依據該啟動資料表執行一位址轉換運算以產生該啟動資料讀取指令。 步驟S740:透過該啟動資料讀取指令從該非揮發性儲存媒體讀取該啟動資料並將該啟動資料儲存於一揮發性快取記憶體。 步驟S750:將該啟動資料所關聯的非實體位址連結至該揮發性快取記憶體中該啟動資料所關聯的快取位址。
本案也揭露一種加快啟動程序的系統,其一實施例如圖8所示,系統800包含主機810、傳輸介面820、非揮發性儲存媒體830、揮發性快取記憶體840以及儲存控制器850。
主機810是可運行作業系統的裝置,用來於啟動後提出主機讀取要求。傳輸介面820耦接主機810,用來傳輸該主機讀取要求與啟動資料,包含完成傳輸所需要的相關電路。非揮發性儲存媒體830可例如是前揭之非揮發性儲存媒體310,儲存有該啟動資料,於接收該主機讀取要求前,非揮發性儲存媒體830用來基於一啟動資料讀取指令輸出該啟動資料。儲存控制器850可例如是前揭儲存控制器330,耦接傳輸介面820,能夠藉由執行下列步驟將啟動資料經由傳輸介面820輸出至主機810:讀取啟動資料表200;依據啟動資料表200產生啟動資料讀取指令,啟動資料讀取指令指示該啟動資料所關聯的非揮發性儲存媒體830的實體位址;將非揮發性儲存媒體830依據該啟動資料讀取指令所輸出的啟動資料儲存於揮發性快取記憶體840;將該啟動資料所關聯的非實體位址連結至揮發性快取記憶體830中所關聯的快取位址,值得注意的是,本步驟與上述各步驟是執行於接收主機讀取要求前;以及依據主機讀取要求所關聯的非實體位址輸出揮發性快取記憶體840中啟動資料的至少一部分至主機810。在一些實施例中,於主機810完成載入作業系統前,儲存控制器850即將非揮發性儲存媒體830的啟動資料儲存於揮發性快取記憶體840。
類似前述,儲存控制器850能夠進一步執行下列步驟:判斷該主機讀取要求所指示的非實體位址是否連結至啟動資料所關聯的快取位址;以及若該主機讀取要求所指示的非實體位址中的一未預存位址未連結至啟動資料所關聯的快取位址,從非揮發性儲存媒體830讀取並輸出對應該未預存位址的資料。上述讀取並輸出對應該未預存位址的資料的步驟之一實施例包含:依據該未預存位址產生一資料讀取指令,該資料讀取指令指示非揮發性儲存媒體830的至少一實體位址;將非揮發性儲存媒體830中對應該至少一實體位址的儲存資料儲存於揮發性快取記憶體840;輸出該儲存資料至主機810;以及將該未預存位址連結至揮發性快取記憶體840中該儲存資料所關聯的快取位址。
綜上所述,本案之裝置、方法與系統能夠加快啟動程序,避免資料存取操作的響應時間拖累啟動速度,且具有低實施成本與高應用性等特點。
雖然本案之實施例如上所述,然而該些實施例並非用來限定本案,本技術領域具有通常知識者可依據本案之明示或隱含之內容對本案之技術特徵施以變化,凡此種種變化均可能屬於本案所尋求之專利保護範疇,換言之,本案之專利保護範圍須視本說明書之申請專利範圍所界定者為準。
S110~S180 步驟 200 啟動資料表 210 邏輯區塊位址 220 資料長度 300 儲存裝置 310 非揮發性儲存媒體 320 揮發性快取記憶體 330 儲存控制器 S410~S440 步驟 S510~S530 步驟 S710~S750 步驟 800 能夠加快啟動程序的系統 810 主機 820 傳輸介面 830 非揮發性儲存媒體 840 揮發性快取記憶體 850 儲存控制器
〔圖1〕為建立啟動資料表之流程之一實施例的示意圖; 〔圖2〕為啟動資料表之一實施例的示意圖; 〔圖3〕為本案之儲存裝置之一實施例的示意圖; 〔圖4〕為圖3之儲存控制器所執行之步驟之一實施例的示意圖; 〔圖5〕為圖3之儲存控制器所執行之步驟之另一實施例的示意圖; 〔圖6〕為本案之儲存控制器之一實施例的示意圖; 〔圖7〕為本案之能夠加快啟動程序的方法之一實施例的示意圖;以及 〔圖8〕為本案之能夠加快啟動程序的系統之一實施例的示意圖。
300 儲存裝置 310 非揮發性儲存媒體 320 揮發性快取記憶體 330 儲存控制器 200 啟動資料表
Claims (10)
- 一種儲存裝置,包含: 一非揮發性儲存媒體,儲存有啟動資料,能夠基於一啟動資料讀取指令輸出該啟動資料; 一揮發性快取記憶體;以及 一儲存控制器,能夠藉由執行下列步驟將該啟動資料儲存於該揮發性快取記憶體: 讀取一啟動資料表,該啟動資料表包含該啟動資料所關聯的非實體位址; 依據該啟動資料表產生該啟動資料讀取指令,該啟動資料讀取指令指示該啟動資料所關聯的該非揮發性儲存媒體的實體位址(physical address); 將該非揮發性儲存媒體所輸出的該啟動資料儲存於該揮發性快取記憶體;以及 將該啟動資料所關聯的非實體位址連結至該揮發性快取記憶體中該啟動資料所關聯的快取位址。
- 如申請專利範圍第1項所述之儲存裝置,其中該儲存控制器能夠進一步執行下列步驟: 將該啟動資料所關聯的非實體位址連結至該揮發性快取記憶體中該啟動資料所關聯的快取位址後,接收一主機讀取要求; 若該主機讀取要求所指示的非實體位址連結至該啟動資料所關聯的快取位址,依據該啟動資料所關聯的快取位址讀取並輸出該啟動資料的至少一部分;以及 若該主機讀取要求所指示的非實體位址未連結至該啟動資料所關聯的快取位址,從該非揮發性儲存媒體讀取並輸出對應該主機讀取要求所指示的非實體位址的資料。
- 如申請專利範圍第2項所述之儲存裝置,其中讀取並輸出對應該主機讀取要求所指示的非實體位址的資料的步驟包含: 依據該主機讀取要求所指示的非實體位址產生一資料讀取指令,該資料讀取指令指示該非揮發性儲存媒體的至少一實體位址; 將該非揮發性儲存媒體中對應該至少一實體位址的儲存資料儲存於該揮發性快取記憶體; 輸出該儲存資料;以及 將該主機讀取要求所指示的非實體位址連結至該揮發性快取記憶體中該儲存資料所關聯的快取位址。
- 一種加快啟動程序的方法,包含: 於啟動後,執行一裝置初始化程序; 完成該裝置初始化程序後,讀取一啟動資料表,該啟動資料表包含啟動資料所關聯的非實體位址; 依據該啟動資料表產生一啟動資料讀取指令,該啟動資料讀取指令指示該啟動資料所關聯的一非揮發性儲存媒體的實體位址; 透過該啟動資料讀取指令從該非揮發性儲存媒體讀取該啟動資料並將該啟動資料儲存於一揮發性快取記憶體;以及 將該啟動資料所關聯的非實體位址連結至該揮發性快取記憶體中該啟動資料所關聯的快取位址。
- 如申請專利範圍第4項所述之加快啟動程序的方法,進一步包含: 將該啟動資料所關聯的非實體位址連結至該揮發性快取記憶體中該啟動資料所關聯的快取位址後,接收一主機讀取要求; 若該主機讀取要求所指示的非實體位址連結至該啟動資料所關聯的快取位址,依據該啟動資料所關聯的快取位址讀取並輸出該啟動資料的至少一部分;以及 若該主機讀取要求所指示的非實體位址未連結至該啟動資料所關聯的快取位址,從該非揮發性儲存媒體讀取並輸出對應該主機讀取要求所指示的非實體位址的資料。
- 如申請專利範圍第5項所述之加快啟動程序的方法,其中讀取並輸出對應該主機讀取要求所指示的非實體位址的資料的步驟包含: 依據該主機讀取要求所指示的非實體位址產生一資料讀取指令,該資料讀取指令指示該非揮發性儲存媒體的至少一實體位址; 將該非揮發性儲存媒體中對應該至少一實體位址的儲存資料儲存於該揮發性快取記憶體; 輸出該儲存資料;以及 將該主機讀取要求所指示的非實體位址連結至該揮發性快取記憶體中該儲存資料所關聯的快取位址。
- 一種儲存控制器,包含: 一儲存控制器,能夠藉由執行下列步驟將啟動資料儲存至一揮發性快取記憶體: 讀取一啟動資料表,該啟動資料表包含該啟動資料所關聯的非實體位址; 依據該啟動資料表產生一啟動資料讀取指令,該啟動資料讀取指令指示該啟動資料所關聯的一非揮發性儲存媒體的實體位址; 透過該啟動資料讀取指令從該非揮發性儲存媒體讀取該啟動資料,從而將該啟動資料儲存於該揮發性快取記憶體;以及 將該啟動資料所關聯的非實體位址連結至該揮發性快取記憶體中該啟動資料所關聯的快取位址。
- 如申請專利範圍第7項所述之儲存控制器,其中該儲存控制器能夠進一步執行下列步驟: 將該啟動資料所關聯的非實體位址連結至該啟動資料所關聯的快取位址後,接收一主機讀取要求; 若該主機讀取要求所指示的非實體位址連結至該啟動資料所關聯的快取位址,依據該啟動資料所關聯的快取位址讀取並輸出該啟動資料的至少一部分;以及 若該主機讀取要求所指示的非實體位址未連結至該啟動資料所關聯的快取位址,從該非揮發性儲存媒體讀取並輸出對應該主機讀取要求所指示的非實體位址的資料。
- 如申請專利範圍第8項所述之儲存控制器,其中讀取並輸出對應該主機讀取要求所指示的非實體位址的資料的步驟包含: 依據該主機讀取要求所指示的非實體位址產生一資料讀取指令,該資料讀取指令指示該非揮發性儲存媒體的至少一實體位址; 將該非揮發性儲存媒體中對應該至少一實體位址的儲存資料儲存於該揮發性快取記憶體; 輸出該儲存資料;以及 將該主機讀取要求所指示的非實體位址連結至該揮發性快取記憶體中該儲存資料所關聯的快取位址。
- 如申請專利範圍第7項所述之儲存控制器,其中該啟動資料表是由一主機或該儲存控制器於先前運作時所產生。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104126310A TWI571738B (zh) | 2015-08-13 | 2015-08-13 | 儲存裝置、加快啟動程序的方法與儲存控制器 |
US15/217,831 US10025598B2 (en) | 2015-08-13 | 2016-07-22 | Storage device, booting procedure acceleration method and storage controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104126310A TWI571738B (zh) | 2015-08-13 | 2015-08-13 | 儲存裝置、加快啟動程序的方法與儲存控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201706852A TW201706852A (zh) | 2017-02-16 |
TWI571738B true TWI571738B (zh) | 2017-02-21 |
Family
ID=57995519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104126310A TWI571738B (zh) | 2015-08-13 | 2015-08-13 | 儲存裝置、加快啟動程序的方法與儲存控制器 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10025598B2 (zh) |
TW (1) | TWI571738B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI731515B (zh) * | 2019-12-17 | 2021-06-21 | 宏碁股份有限公司 | 電腦系統及用於儲存裝置的開機控制方法 |
TWI764178B (zh) * | 2020-06-19 | 2022-05-11 | 大陸商北京集創北方科技股份有限公司 | 提高觸控晶片的啟動速度的方法及利用其之觸控顯示裝置和手持裝置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109284129B (zh) * | 2017-07-21 | 2022-12-20 | 瑞昱半导体股份有限公司 | 用于处理器的资料存取装置与方法 |
CN114911412A (zh) * | 2021-02-09 | 2022-08-16 | 荣耀终端有限公司 | 一种数据读写方法和混合型存储器 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7073054B2 (en) * | 2002-01-03 | 2006-07-04 | Samsung Electronics Co., Ltd. | Computer system and method for booting up the same |
US7165137B2 (en) * | 2001-08-06 | 2007-01-16 | Sandisk Corporation | System and method for booting from a non-volatile application and file storage device |
TW200815970A (en) * | 2006-09-27 | 2008-04-01 | Efortune Technology Corp | Storage and boot technology with NAND flash in embedded systems |
US7372735B2 (en) * | 2001-11-22 | 2008-05-13 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device |
TWI378384B (en) * | 2008-10-15 | 2012-12-01 | Phison Electronics Corp | Mother board system, storage device for booting up thereof and connector |
TWI454935B (zh) * | 2010-04-19 | 2014-10-01 | Apple Inc | 自非本端儲存器安全地啟動及組態一子系統 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7373491B2 (en) * | 2002-02-27 | 2008-05-13 | Rockwell Automation Technologies, Inc. | Processor with versatile external memory interface |
US6968450B1 (en) * | 2002-06-01 | 2005-11-22 | Western Digital Technologies, Inc. | Disk drive caching initial host requested data in non-volatile semiconductor memory to reduce start-up time of a host computer |
US7607000B1 (en) * | 2003-05-13 | 2009-10-20 | Apple Inc. | Method for booting an operating system |
US20070038850A1 (en) * | 2005-08-10 | 2007-02-15 | Matthews Jeanna N | System boot and resume time reduction method |
US7669044B2 (en) * | 2006-09-29 | 2010-02-23 | Microsoft Corporation | Accelerated system boot |
US9542318B2 (en) * | 2015-01-22 | 2017-01-10 | Infinidat Ltd. | Temporary cache memory eviction |
-
2015
- 2015-08-13 TW TW104126310A patent/TWI571738B/zh active
-
2016
- 2016-07-22 US US15/217,831 patent/US10025598B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7165137B2 (en) * | 2001-08-06 | 2007-01-16 | Sandisk Corporation | System and method for booting from a non-volatile application and file storage device |
US7372735B2 (en) * | 2001-11-22 | 2008-05-13 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device |
US7073054B2 (en) * | 2002-01-03 | 2006-07-04 | Samsung Electronics Co., Ltd. | Computer system and method for booting up the same |
TW200815970A (en) * | 2006-09-27 | 2008-04-01 | Efortune Technology Corp | Storage and boot technology with NAND flash in embedded systems |
TWI378384B (en) * | 2008-10-15 | 2012-12-01 | Phison Electronics Corp | Mother board system, storage device for booting up thereof and connector |
TWI454935B (zh) * | 2010-04-19 | 2014-10-01 | Apple Inc | 自非本端儲存器安全地啟動及組態一子系統 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI731515B (zh) * | 2019-12-17 | 2021-06-21 | 宏碁股份有限公司 | 電腦系統及用於儲存裝置的開機控制方法 |
TWI764178B (zh) * | 2020-06-19 | 2022-05-11 | 大陸商北京集創北方科技股份有限公司 | 提高觸控晶片的啟動速度的方法及利用其之觸控顯示裝置和手持裝置 |
Also Published As
Publication number | Publication date |
---|---|
TW201706852A (zh) | 2017-02-16 |
US20170046169A1 (en) | 2017-02-16 |
US10025598B2 (en) | 2018-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7979631B2 (en) | Method of prefetching data in hard disk drive, recording medium including program to execute the method, and apparatus to perform the method | |
US7783793B2 (en) | Handling DMA operations during a page copy | |
KR102423713B1 (ko) | 가상 어드레스를 물리적 어드레스로 번역을 수행하기 위해 입력-출력 메모리 관리 유닛내 다수의 메모리 소자들 사용 | |
TWI571738B (zh) | 儲存裝置、加快啟動程序的方法與儲存控制器 | |
TWI492055B (zh) | 具資料擱置狀態之系統快取記憶體及最佳化系統快取記憶體之方法 | |
JP2007183961A (ja) | ハードディスクドライブキャッシュメモリ及び再生デバイス | |
TW201011524A (en) | Method and controller for power management | |
US20180018095A1 (en) | Method of operating storage device and method of operating data processing system including the device | |
US20080229040A1 (en) | Network storage system, management method therefor, and control program product therefor | |
US7996648B2 (en) | Coupled symbiotic operating systems | |
JP2021517307A (ja) | ハイブリッドメモリシステム | |
US20120060023A1 (en) | Methods for booting an operating system using non-volatile memory | |
US6304951B1 (en) | Data processing system and method for generating virtual memory descriptors including pretranslated physical addresses | |
CN110597742A (zh) | 用于具有持久系统存储器的计算机系统的改进存储模型 | |
TW201423596A (zh) | 用於更快速開機之釘選開機資料 | |
US9904622B2 (en) | Control method for non-volatile memory and associated computer system | |
US9934100B2 (en) | Method of controlling memory swap operation and data processing system using same | |
JP5587654B2 (ja) | 電子装置及びそのブーティング方法 | |
US10635601B2 (en) | Flash memory devices and prefetch methods thereof | |
US20100268921A1 (en) | Data collection prefetch device and methods thereof | |
US20100228895A1 (en) | Data transfer apparatus, system and method using the same | |
JP2017084128A (ja) | 演算処理装置及びそのリセット方法 | |
US7363428B2 (en) | Microprocessor with hot routine memory and method of operation | |
JP2015158902A (ja) | メモリおよびコントローラを備える装置およびデータ記憶装置を備える装置 | |
US11940917B2 (en) | System and method for network interface controller based distributed cache |