的制造品(article of manufacture)。
[0017]還可以將計(jì)算機(jī)程序指令加載到計(jì)算機(jī)、其它可編程數(shù)據(jù)處理設(shè)備或其它裝置上,以使得在該計(jì)算機(jī)、其它可編程數(shù)據(jù)處理設(shè)備或其它裝置上進(jìn)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,使得在計(jì)算機(jī)或其它可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)流程圖和/或框圖塊中所指定的功能/動(dòng)作的處理。
[0018]現(xiàn)在將參考附圖來詳細(xì)說明根據(jù)本發(fā)明的軟件和/或方法所用的可能的硬件和軟件環(huán)境的實(shí)施例。圖1和2共同構(gòu)成示出主機(jī)計(jì)算機(jī)系統(tǒng)102的各部分的功能框圖,其中這些部分包括:主機(jī)計(jì)算機(jī)200 ;處理器集204 ;電源子系統(tǒng)205 ;輸入/輸出(i/o)接口集206 ;易失性存儲(chǔ)器集208 ;非易失性數(shù)據(jù)存儲(chǔ)子系統(tǒng)210 ;顯示裝置212 ;外部裝置集214 ;命令列表(LOC) 231 ;寫高速緩存232 ;非易失性數(shù)據(jù)存儲(chǔ)處理器242 ;非易失性數(shù)據(jù)存儲(chǔ)介質(zhì)244 ;應(yīng)用程序相關(guān)數(shù)據(jù)部分245 ;程序400和電源危險(xiǎn)模塊(“mod”)410?,F(xiàn)在將在以下段落中論述主機(jī)計(jì)算機(jī)子系統(tǒng)102的幾個(gè)部分。
[0019]主機(jī)計(jì)算機(jī)子系統(tǒng)102可以是服務(wù)器、大型機(jī)、筆記本式計(jì)算機(jī)、平板式計(jì)算機(jī)、上網(wǎng)本式計(jì)算機(jī)、個(gè)人計(jì)算機(jī)(PC)、臺(tái)式計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA)、智能電話或任何可編程的電子裝置。程序400是用于創(chuàng)建、管理和控制以下將在本【具體實(shí)施方式】部分的第一實(shí)施例子部分中詳細(xì)論述的特定軟件功能的機(jī)器可讀指令和/或數(shù)據(jù)的集合。
[0020]如圖1所示,將主機(jī)計(jì)算機(jī)子系統(tǒng)102示出為具有多個(gè)雙箭頭的框圖。這些雙箭頭(無單獨(dú)的附圖標(biāo)記)表示提供子系統(tǒng)102的各組件之間的通信的通信組織??梢岳脼榱嗽谙到y(tǒng)內(nèi)的處理器(諸如微處理器、通信和網(wǎng)絡(luò)處理器等)、系統(tǒng)存儲(chǔ)器、外圍裝置和任何其它硬件組件之間傳遞數(shù)據(jù)和/或控制信息所設(shè)計(jì)的任何架構(gòu)來實(shí)現(xiàn)該通信組織。例如,可以利用一個(gè)或多個(gè)總線來至少部分實(shí)現(xiàn)通信組織。
[0021]易失性存儲(chǔ)器208 (在該示例中與處理器204和242分開示出、但可以整體或部分位于這些處理器上)和非易失性數(shù)據(jù)存儲(chǔ)介質(zhì)244是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。通常,存儲(chǔ)器208可以包括任何適當(dāng)?shù)囊资曰蚍且资杂?jì)算機(jī)可讀存儲(chǔ)介質(zhì)。還應(yīng)當(dāng)注意,現(xiàn)在和/或在不久的將來:(i)外部裝置214可能能夠供給子系統(tǒng)102所用的一部分或全部存儲(chǔ)器;以及/或者(ii)位于子系統(tǒng)102的外部的裝置可能能夠提供子系統(tǒng)102所用的存儲(chǔ)器。
[0022]將程序400存儲(chǔ)在持久性存儲(chǔ)器210中,以由一個(gè)或多個(gè)相應(yīng)計(jì)算機(jī)處理器204、242通常經(jīng)由存儲(chǔ)器208的一個(gè)或多個(gè)存儲(chǔ)器來訪問和/或執(zhí)行。在本實(shí)施例中,存儲(chǔ)器208是以下這兩者:(i)有形介質(zhì)軟件存儲(chǔ)裝置;以及(ii)非瞬態(tài)軟件存儲(chǔ)裝置(參見以下的本【具體實(shí)施方式】部分的定義子部分)。
[0023]程序400可以包括機(jī)器可讀且可執(zhí)行指令和/或?qū)嵸|(zhì)數(shù)據(jù)(即,數(shù)據(jù)庫中所存儲(chǔ)的數(shù)據(jù)的類型)這兩者。在該特定實(shí)施例中,非易失性數(shù)據(jù)存儲(chǔ)介質(zhì)244是磁性硬盤驅(qū)動(dòng)器。非易失性數(shù)據(jù)存儲(chǔ)介質(zhì)244可以是可移除的。其它示例包括光學(xué)和磁性盤、U盤(thumbdrive)、閃速驅(qū)動(dòng)器和智能卡。
[0024]I/O接口集206允許與可能從本地以數(shù)據(jù)通信的方式與服務(wù)器計(jì)算機(jī)200相連接的其它裝置進(jìn)行數(shù)據(jù)的輸入和輸出。例如,I/o接口集206提供與外部裝置集214的連接。外部裝置集214通常將包括諸如鍵盤、鍵區(qū)、觸摸屏和/或一些其它適當(dāng)?shù)妮斎胙b置等的裝置。外部裝置集214還可以包括例如U盤、閃速驅(qū)動(dòng)器、智能卡、便攜式光學(xué)或磁性盤和存儲(chǔ)卡等的便攜式計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)??梢詫⒗绯绦?00的用于實(shí)踐本發(fā)明的實(shí)施例的軟件和數(shù)據(jù)存儲(chǔ)在這些便攜式計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上。在這些實(shí)施例中,可以(或可以不)將相關(guān)軟件經(jīng)由I/O接口集206整體或部分加載到非易失性數(shù)據(jù)存儲(chǔ)介質(zhì)244上。I/O接口集206還以數(shù)據(jù)通信的方式與顯示裝置212相連接。
[0025]顯示裝置212提供用以向用戶顯示數(shù)據(jù)的機(jī)構(gòu),并且例如可以是計(jì)算機(jī)監(jiān)視器或智能電話顯示屏。
[0026]這里所述的程序基于在本發(fā)明的特定實(shí)施例中實(shí)現(xiàn)這些程序的應(yīng)用來識(shí)別。然而,應(yīng)當(dāng)理解,這里的任何特殊程序命令法僅是為了方便而使用的,因而本發(fā)明不應(yīng)局限于僅用在這種命名法所識(shí)別和/或暗示的任何特定應(yīng)用中。
[0027]I1.第一實(shí)施例
[0028]首項(xiàng)附注:以下附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。
[0029]圖2示出描述根據(jù)本發(fā)明的方法的流程圖300。圖3示出用于進(jìn)行流程圖300的至少一部分方法步驟的程序400?,F(xiàn)在在廣泛參考(針對(duì)方法步驟塊的)圖2和(針對(duì)軟件塊的)圖3的情況下,通過以下段落來論述該方法和相關(guān)軟件。
[0030]現(xiàn)在參考圖1、2和3,處理從步驟S305開始,其中:(i)發(fā)生主機(jī)計(jì)算機(jī)子系統(tǒng)102的正常操作;以及(ii)正常操作命令列表(LOC)模塊405使LOC 231控制非易失性數(shù)據(jù)存儲(chǔ)處理器242,以將來自易失性存儲(chǔ)器208的寫高速緩存232的數(shù)據(jù)以傳統(tǒng)方式寫入非易失性數(shù)據(jù)存儲(chǔ)子系統(tǒng)210的非易失性存儲(chǔ)介質(zhì)244的應(yīng)用程序相關(guān)數(shù)據(jù)模塊245。換句話說,各種應(yīng)用程序正在主機(jī)計(jì)算機(jī)系統(tǒng)上運(yùn)行,并且這些運(yùn)行生成要保存的數(shù)據(jù),其中該要保存的數(shù)據(jù)在被存儲(chǔ)在非易失性存儲(chǔ)裝置之前,首先被寫入易失性存儲(chǔ)器的寫高速緩存。
[0031]通過控制非易失性數(shù)據(jù)存儲(chǔ)處理器242,LOC控制寫該數(shù)據(jù)的順序、以及控制諸如上述的數(shù)據(jù)完整性任務(wù)等的輔助數(shù)據(jù)存儲(chǔ)操作。在步驟S305中,主機(jī)計(jì)算機(jī)系統(tǒng)正基于來自主電源207的電力運(yùn)行。LOC有時(shí)被稱為“初始LOC”,這是因?yàn)樵揕OC是具有在正常操作期間和出現(xiàn)依照電源危險(xiǎn)模式的任何重新排序之前存在的形式、內(nèi)容和順序(參見以下在本【具體實(shí)施方式】部分的定義子部分中的“L0C順序/重新排序”的定義)的L0C。為了更具體地解釋本實(shí)施例中的兩個(gè)單獨(dú)處理器集204和242的角色:(i)處理器(或處理器集)242對(duì)直接控制非易失性介質(zhì)上的存儲(chǔ)的命令進(jìn)行重新排序;(ii)主處理器集204—般地運(yùn)行計(jì)算機(jī)和用戶界面;(iii)主處理器集204針對(duì)將進(jìn)入非易失性存儲(chǔ)子系統(tǒng)的命令分配正確的優(yōu)先級(jí);以及(iv)主處理器集204沒有對(duì)電源危險(xiǎn)模式中的存儲(chǔ)命令進(jìn)行重新排序,因?yàn)檫@是非易失性子系統(tǒng)的專用處理器(專用處理器集)242的專有功能。
[0032]處理進(jìn)入步驟S310,其中在該步驟S310中,電源系統(tǒng)205的電源危