TW201621544A - 電腦裝置及其電源管理方法 - Google Patents
電腦裝置及其電源管理方法 Download PDFInfo
- Publication number
- TW201621544A TW201621544A TW103142614A TW103142614A TW201621544A TW 201621544 A TW201621544 A TW 201621544A TW 103142614 A TW103142614 A TW 103142614A TW 103142614 A TW103142614 A TW 103142614A TW 201621544 A TW201621544 A TW 201621544A
- Authority
- TW
- Taiwan
- Prior art keywords
- access
- predetermined program
- processor
- power management
- timer
- Prior art date
Links
Landscapes
- Power Sources (AREA)
Abstract
一種電腦裝置及其電源管理方法。此電腦裝置包括主機控制器介面控制器及處理器。主機控制器介面控制器控制電腦裝置的儲存裝置。處理器耦接主機控制器介面控制器。處理器判斷預定程式是否進行存取動作。當預定程式進行存取動作時,處理器延遲主機控制器介面控制器與儲存裝置之間的連結的進入睡眠計時器,其中當進入睡眠計時器到期時,處理器控制主機控制器介面控制器與儲存裝置之間的連結進入省電模式。
Description
本發明是有關於一種電源管理方法,且特別是有關於一種控制主機控制器介面(host controller interface)與儲存裝置之間連結的電腦裝置及其電源管理方法。
電源管理對於電腦裝置(例如,個人電腦、筆記型電腦、伺服器等)是相當重要的功能,因此如何能針對電腦元件及周邊設備的運作狀況,以及有效調降非使用中設備的用電量,或者提高電池使用效率、延長電池使用壽命,對於電源管理來說尤其關鍵。
另一方面,電腦裝置通常會透過進階主機控制器介面(Advanced Host Controller Interface;AHCI)來對序列先進技術附件(serial advanced technology attachment;SATA)介面的儲存裝置(例如,光碟裝置、硬碟等)進行控制,而現今電腦裝置架構中已有針對各種電源使用狀態來調整AHCI的電源管理模式,
並藉以在省電與效能之間取得平衡。例如,依據電源交流(alternating current;AC)、直流(direct current;DC)而提供使用者三個階層的設定。或者,動態儲存加速器(dynamic storage accelerator)可依據DC、AC及中央處理器(Central Processing Unit;CPU)的C狀態(C-State)來調整。然而,上述兩種調整方法並無法同時採用,且其第一種調整方式需要透過手動調整,而第二種調整方式僅是映射CPU的C-State,並不符合使用者需求。有鑑於此,有需要提出一種有效率且符合使用者需求的電源管理方法。
本發明提供一種電腦裝置及其電源管理方法,其依據預定程式的存取動作的進行與否,來延遲主機控制器介面與儲存裝置之間連結進入省電模式的時間,從而提供符合使用者需求的電源管理方法。
本發明提出一種電源管理方法,適用於電腦裝置。此電源管理方法包括下列步驟。判斷預定程式是否進行存取動作。當預定程式進行存取動作時,延遲電腦裝置的主機控制器介面與儲存裝置之間的連結的進入睡眠計時器,其中當進入睡眠計時器到期時,控制主機控制器介面與儲存裝置之間的連結進入省電模式。
本發明提出一種電腦裝置,此電腦裝置包括主機控制器介面控制器及處理器。主機控制器介面控制器控制電腦裝置的儲
存裝置。處理器耦接主機控制器介面控制器。處理器判斷預定程式是否進行存取動作,且當預定程式進行存取動作時,處理器延遲主機控制器介面控制器與儲存裝置之間的連結的進入睡眠計時器,其中當進入睡眠計時器到期時,處理器控制主機控制器介面控制器與儲存裝置之間的連結進入省電模式。
基於上述,本發明的電腦裝置及其電源管理方法係監控預定程式是否進行存取動作,並據以延遲主機控制器介面與儲存裝置之間連結的進入睡眠計時器。藉此,預定程式經由主機控制器介面存取儲存裝置時,本發明實施例便能延長主機控制器介面與儲存裝置之間連結處於活動(active)狀態的電源管理模式的時間,進而加速儲存裝置的處理效能。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
10‧‧‧電腦裝置
110‧‧‧儲存裝置
130‧‧‧主機控制器介面控制器
150‧‧‧處理器
S210~S230、S310~S390‧‧‧步驟
圖1是依據本發明一實施例說明一種電腦裝置的方塊圖。
圖2是依據本發明一實施例說明一種電腦裝置的電源管理方法的流程圖。
圖3是依據本發明一實施例的電源管理方法的流程範例。
主動連結電源管理(Aggressive Link Power Management;ALPM)是一種用於電腦裝置中的儲存裝置(例如,固態硬碟(solid-state disk;SSD)或其他序列先進技術附件(serial advanced technology attachment;SATA)硬碟)的電源管理協定。在啟動主動連結電源管理功能後,在SATA連結閒置的過程中可進入省電模式(例如,部份(partial)狀態或睡眠(slumber)狀態),以節省電源。而此SATA連結的佇列中有輸入/輸出(Input/Output;I/O)需求時,ALPM便將此SATA連線返回活動(active)電源狀態(例如,活動狀態),以使系統或程式能對儲存裝置以高效能模式存取。上述部份狀態及睡眠狀態都搭配著各自的進入睡眠計時器(例如,部份計時器及睡眠計時器),當進入睡眠計時器到期時,SATA連結便會進入省電模式。據此,本發明實施例便是藉由延遲進入睡眠計時器,以使預定程式能繼續在高效能模式下存取儲存裝置。
圖1是依據本發明一實施例說明一種電腦裝置的方塊圖。請參照圖1,電腦裝置10包括儲存裝置110、主機控制器介面控制器130及處理器150。電腦裝置10可以是個人電腦、筆記型電腦、伺服器等電子裝置。
儲存裝置110可以是固態硬碟(SSD)、硬碟(Hard Disk Drive;HDD)裝置、混合硬碟(Hybrid Hard Drive;HHD)、光碟機(opticaldisc drive)等儲存媒介。在本實施例中,儲存裝置110具備序列先進技術連接(SATA)傳輸介面。在另一些實施例中,
儲存裝置110具備週邊裝置連接快遞(Peripheral Component Interconnection Express;PCIe)傳輸介面。
主機控制器介面控制器130例如是進階主機控制器介面(Advanced Host Controller Interface;AHCI)控制器或具備AHCI功能的主機匯流排配接器(Host Bus Adapter;HBA)。主機控制器介面控制器130可作為配接卡形式、內嵌或整合於晶片組(例如,平台控制集線器(Platform Controller Hub;PCH)、南橋、北橋、處理器150或其組合)中,本發明不加以限制。在本實施例中,主機控制器介面控制器130可控制儲存裝置110。例如,存取控制、電源管理等。
處理單元150可以是中央處理器(Central Processing Unit;CPU),或是其他可程式化之一般用途或特殊用途的微處理器(Microprocessor)、數位信號處理器(DSP)、可程式化控制器、特殊應用積體電路(Application Specific Integrated Circuit;ASIC)、系統單晶片(system on chip;SoC)或其他類似元件或上述元件的組合。處理單元150耦接於主機控制器介面控制器130。在本實施例中,處理單元150用以處理本實施例之電腦裝置10所有作業。
值得一提的是,本發明實施例的儲存裝置110、主機控制器介面控制器130及處理單元150支援主動連結電源管理(ALPM)的主機啟動電源管理(Host Initiated Power Management;HIPM)及裝置啟動電源管理(Device Initiated Power Management;
DIPM)。例如,HBA能力(Capabilities)的支援主動連結電源管理(Supports Aggressive Link Power Management;SALP)設為1、具備睡眠狀態能力(Slumber State Capable;SSC)設為1或具備部份狀態能力(Partial State Capable;PSC)設為1。或者,儲存裝置110的識別裝置(identity device)的字(word)79,位元(bit)9設為1表示裝置支援主機啟動介面電源管理的接收(receipt of host initiated interface PM)、word 78,bit 3設為1表示裝置支援啟動介面電源管理以及word 79,bit 3設為1表示已致能裝置啟動介面電源管理。以下將舉實施例詳細說明本發明的電源管理方法。
圖2是依據本發明一實施例說明一種電腦裝置10的電源管理方法的流程圖。請參照圖2,本實施例的電源管理方法適用於圖1的電腦裝置10。下文中,將搭電腦裝置10中的各項元件及裝置說明本發明實施例所述之電源管理方法。本方法的各個流程可依照實施情形而隨之調整,且並不僅限於此。
在步驟S210中,處理器150判斷預定程式是否進行存取動作。在一實施例中,處理器150透過資源監視器取得進行存取動作的運作程式,且判斷運作程式是否為預定程式。具體而言,例如是Windows作業系統(operating system;OS)的資源監視器或OSX作業系統的活動監視器等都能監控當前的運作程式的資源使用狀態(例如,處理器150、記憶體、儲存裝置110、網路及整體能源使用),處理器150便能夠過資源監視器而得知運作程式中的何者對儲存裝置110發出存取要求或正進行寫入或讀取等存取
動作。接著,處理器150將進行存取動作的運作程式與預定程式進行比對,以判斷此運作程式是否為欲加速的預定程式。
需說明的是,上述預定程式可以是提供管理軟體來讓使用者選擇的,亦可以是製造商事前預先設定的,更可以經由安裝驅動程式、軟體或更改系統登錄檔(registry)等方式新增、修改或刪除預定程式,本發明不加以限制。
接著,在步驟S230中,當預定程式進行存取動作時,處理器150延遲主機控制器介面控制器130與儲存裝置110之間的連結的進入睡眠計時器,其中當進入睡眠計時器到期時,處理器150控制主機控制器介面控制器130與儲存裝置110之間的連結進入省電模式。在一實施例中,處理器150將儲存裝置110的裝置端電源管理功能關閉,且增加進入睡眠計時器的設定值。
舉例而言,主動連結電源管理(ALPM)的主機端電源管理功能包括主機啟動電源管理(HIPM),而裝置端電源管理功能包括裝置啟動電源管理(DIPM)。由於DIPM的計時器是由儲存裝置110的韌體(firmware)控制,無法直接透過處理器150來變動,若將DIPM維持致能(enable)則恐對存取儲存裝置110的加速效果造成影響。因此,處理器150便先將DIPM關閉。例如,在Windows作業系統中,將登錄檔路徑HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\amdsbs\Settings\CAM的EnableDIPM設定為0,或將HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ia
Stor\Parameters\中對應port的LPM、LPMDSTATE及DIPM設定為0,更可利用驅動程式(例如,Intel Rapid Storage Technology提供的驅動程式)、軟體或對儲存裝置110傳送指令來關閉DIPM。需說明的是,應用本發明實施例者,可依據作業系統、儲存裝置110及主機控制器介面控制器130的規格來對設定DIPM,本發明不加以限制。
另一方面,主動連結電源管理(ALPM)提供三種電源管理狀態來設定主機控制器介面控制器130,此三種電源管理狀態包括活動狀態、部份狀態及睡眠狀態。而屬於省電模式的部份狀態及睡眠狀態分別具有對應的進入睡眠計時器,例如是部份計時器及睡眠計時器。當部份計時器到期時,處理器150會讓主機控制器介面控制器130與儲存裝置110之間連結進入部份狀態。而當睡眠計時器到期時,處理器150會讓主機控制器介面控制器130與儲存裝置110之間連結進入睡眠狀態。在此範例中,處理器150可分別增加部份計時器及睡眠計時器的設定值,例如,調整至3秒、5秒等,以使主機控制器介面控制器130與儲存裝置110之間連結在此時間內處於活動狀態。藉此,預定程式例如是三維高畫質遊戲程式在場景切換過程中,對儲存裝置110存取大量的圖檔,遊戲程式便無須擔心主機控制器介面控制器130與儲存裝置110之間連結進入省電模式而造成大量存取要求排列等待的現象。
需說明的是,處理器150可透過驅動程式、軟體、修改登錄檔或對儲存裝置110傳送指令(例如,延遲傳送PMREQ_P
及PMREQ_S指令)等方式來延遲進入睡眠計時器,本發明不加以限制。此外,在另一些實施例中,處理器150亦可調整主機控制器介面控制器130與儲存裝置110之間連結自部份狀態或睡眠狀態切換至活動狀態的時間(例如,自部份狀態切換至活動狀態的預設時間為10毫秒(μs),處理器150可將此時間縮短至例如1毫秒、0.2毫秒等;或者,自睡眠狀態切換至活動狀態的預設時間為10微秒(ms),處理器150可將此時間縮短至例如1微秒、0.5微秒等)。
此外,在關閉裝置端電源管理功能且增加進入睡眠計時器的設定值後,在一實施例中,處理器150更啟動存取閒置計時器,判斷預定程式在存取閒置計時器到期時是否進行存取動作,且若預定程式在存取閒置計時器到期時未進行存取動作,則處理器150還原進入睡眠計時器的設定值。例如,存取閒置計時器的設定值為5秒,若5秒時預定程式並未繼續進行存取動作,處理器150便會將例如是部份計時器及睡眠計時器的設定值恢復至延遲前的設定值。處理器150例如是在步驟S230延遲進入睡眠計時器前先記錄睡眠計時器的設定值,以方便還原至先前紀錄的設定值。設定進入睡眠計時器的設定值的詳細步驟可參照前述延遲進入睡眠計時器的說明,於此不再贅述。
在另一些實施例中,若預定程式在存取閒置計時器到期前仍進行存取動作,則處理器150例如是重置存取閒置計時器或將存取閒置計時器延長至特定時間(例如,2秒、3秒等),待下
次存取閒置計時器到期時再繼續判斷預定程式是否進行存取動作,以決定將進入睡眠計時器的設定值還原。
需說明的是,部份的預定程式需要主機控制器介面控制器130與儲存裝置110之間連結處於活動狀態的時間不盡相同。例如,部份預定程式需要加速的時間可能僅有在啟動初期(例如,5秒內等),或者使用者欲使部份預定程式在執行期間都能加速。因此,在另一實施例中,處理器150更可依據發生存取動作的預定程式決定存取閒置計時器的設定值。例如,A程式的存取閒置計時器的設定值為10秒,B程式的存取閒置計時器的設定值為10秒為5秒。電腦裝置10可提供軟體或程式讓使用者調整存取閒置計時器的設定值,或者製造商可先行設定對應預定程式的存取閒置計時器的設定值,本發明不加以限制。
圖3是依據本發明一實施例的電源管理方法的流程範例。處理器150藉由資源監視器自運作程式中偵測預定程式(步驟S310)。當處理器150判斷進行存取動作的運作程式為預定程式時,處理器150便進行儲存裝置110加速程序(步驟S330)。處理器150可先關閉DIPM功能,增加HIPM的部份計時器及睡眠計時器的設定值,再啟動存取閒置計時器(步驟S350)。接著,處理器150透過主機控制器介面控制器130的驅動程式(例如,AHCI驅動程式)完成設定(步驟S360)。另一方面,若進行存取動作的運作程式不為預定程式(步驟S370),則處理器150便透過一般的儲存類驅動程式(storage class driver)(步驟S380)下達資料存取
要求(步驟S390)(例如,小計算機系統介面要求區塊(Small Computer System Interface request block;SRB))。接著,處理器150透過主機控制器介面控制器130的驅動程式對儲存裝置110傳送例如是ATA指令(步驟S360)。
另一方面,前述實施例僅針對SATA傳輸介面的儲存裝置110進行電源管理,本發明實施例亦可應用在PCIe傳輸介面的儲存裝置110。例如,處理器150判斷預定程式進行存取動作後,便調整SSD控制器與NAND記憶體晶片之間的內部傳輸頻寬,或者透過直接調整非揮發性記憶體快遞(nonvolatile memory express;NVMe)基礎的控制器所提供數種電源模式(例如,Ls0、L1等階層)。
綜上所述,本發明實施例的處理器可在判斷預定程式進行存取動作後,延遲主機控制器介面與儲存裝置之間連結的電源管理狀態所對應的進入睡眠計時器。藉此,預定程式對儲存裝置進行存取時,便能使主機控制器介面與儲存裝置之間連結具有較長的時間處於活動狀態,以讓預定程式的存取動作運行在高效能模式,進而貼近使用者對儲存裝置加速的需求。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
S210~S230‧‧‧步驟
Claims (10)
- 一種電源管理方法,適用於一電腦裝置,包括:判斷至少一預定程式是否進行一存取動作;以及當該至少一預定程式進行該存取動作時,延遲該電腦裝置的一主機控制器介面與一儲存裝置之間的一連結的一進入睡眠計時器,其中當該進入睡眠計時器到期時,控制該主機控制器介面與該儲存裝置之間的該連結進入一省電模式。
- 如申請專利範圍第1項所述的電源管理方法,其中當該至少一預定程式進行該存取動作時,延遲該電腦裝置的該主機控制器介面與該儲存裝置之間的該連結的該進入睡眠計時器的步驟包括:將該儲存裝置的一裝置端電源管理功能關閉;以及增加該進入睡眠計時器的設定值。
- 如申請專利範圍第1項所述的電源管理方法,其中當該至少一預定程式進行該存取動作時,延遲該電腦裝置的該主機控制器介面與該儲存裝置之間的該連結的該進入睡眠計時器之後,更包括:啟動一存取閒置計時器;判斷該至少一預定程式在該存取閒置計時器到期時是否進行該存取動作;若該至少一預定程式在該存取閒置計時器到期時未進行該存取動作,則還原該進入睡眠計時器的設定值。
- 如申請專利範圍第3項所述的電源管理方法,其中啟動該存取閒置計時器之前,更包括:依據發生存取動作的該至少一預定程式決定該存取閒置計時器的設定值。
- 如申請專利範圍第1項所述的電源管理方法,其中判斷該至少一預定程式是否進行該存取動作的步驟包括:透過一資源監視器取得進行該存取動作的一運作程式;以及判斷該運作程式是否為該至少一預定程式。
- 一種電腦裝置,包括:一主機控制器介面控制器,控制該電腦裝置的一儲存裝置;以及一處理器,耦接該主機控制器介面控制器,其中該處理器判斷至少一預定程式是否進行一存取動作,且當該至少一預定程式進行該存取動作時,該處理器延遲該主機控制器介面控制器與該儲存裝置之間的一連結的一進入睡眠計時器,其中當該進入睡眠計時器到期時,該處理器控制該主機控制器介面控制器與該儲存裝置之間的該連結進入一省電模式。
- 如申請專利範圍第6項所述的電腦裝置,其中該處理器將該儲存裝置的一裝置端電源管理功能關閉,且增加該進入睡眠計時器的設定值。
- 如申請專利範圍第6項所述的電腦裝置,其中該處理器啟動一存取閒置計時器,判斷該至少一預定程式在該存取閒置計時 器到期時是否進行該存取動作,且若該至少一預定程式在該存取閒置計時器到期時未進行該存取動作,則該處理器還原該進入睡眠計時器的設定值。
- 如申請專利範圍第8項所述的電腦裝置,其中該處理器依據發生存取動作的該至少一預定程式決定該存取閒置計時器的設定值。
- 如申請專利範圍第6項所述的電腦裝置,其中該處理器透過一資源監視器取得進行該存取動作的一運作程式,且判斷該運作程式是否為該至少一預定程式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103142614A TW201621544A (zh) | 2014-12-08 | 2014-12-08 | 電腦裝置及其電源管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103142614A TW201621544A (zh) | 2014-12-08 | 2014-12-08 | 電腦裝置及其電源管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201621544A true TW201621544A (zh) | 2016-06-16 |
Family
ID=56755452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103142614A TW201621544A (zh) | 2014-12-08 | 2014-12-08 | 電腦裝置及其電源管理方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TW201621544A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107888753A (zh) * | 2016-09-30 | 2018-04-06 | 中兴通讯股份有限公司 | 一种移动终端的控制方法、装置及移动终端 |
CN108415547A (zh) * | 2017-02-10 | 2018-08-17 | 宏碁股份有限公司 | 电子装置及其电源管理方法 |
-
2014
- 2014-12-08 TW TW103142614A patent/TW201621544A/zh unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107888753A (zh) * | 2016-09-30 | 2018-04-06 | 中兴通讯股份有限公司 | 一种移动终端的控制方法、装置及移动终端 |
CN108415547A (zh) * | 2017-02-10 | 2018-08-17 | 宏碁股份有限公司 | 电子装置及其电源管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI410789B (zh) | 單晶片系統及用於其之方法 | |
JP5730999B2 (ja) | ストレージドライブの管理 | |
KR20180121531A (ko) | 최적의 퍼포먼스 및 전력 절약을 위한 적응적 주변 컴포넌트 상호접속 익스프레스 링크 하위상태 개시 | |
US20060288243A1 (en) | Automatically controlling processor mode of multi-core processor | |
KR101642240B1 (ko) | 주변 디바이스에 대한 효율적인 저전력 종료 시퀀스 | |
US20110093728A1 (en) | Computer system and control method thereof | |
JP2016058071A (ja) | Bios性能プロファイルを自動的に設定するシステムおよび方法 | |
US20160062780A1 (en) | Pausing virtual machine based on idle state | |
KR101707096B1 (ko) | 일반 호스트 기반 제어기 레이턴시 방법 및 장치 | |
US9477255B2 (en) | Systems and methods for suspending idle devices based on idle policies for the devices | |
US9729335B2 (en) | Method for remotely accessing data and local apparatus using the method | |
WO2018059220A1 (zh) | 一种应用控制方法、装置及终端 | |
US20210048863A1 (en) | System and Method for Controlling a Power-On Sequence and Power Throttling using Power Brake | |
TW201621544A (zh) | 電腦裝置及其電源管理方法 | |
TW202028999A (zh) | 傳輸介面電路 | |
US10645166B2 (en) | Network interface card | |
US10931121B2 (en) | Controlling battery utilization using discharge pattern when system is powered off | |
TWI770516B (zh) | 操作頻率調整方法及電腦程式產品及裝置 | |
TW202009698A (zh) | 操作頻率調整方法及電腦程式產品及裝置 | |
US11366673B1 (en) | Managing transitioning of computing system to power-on state from standby-power state | |
US10997046B2 (en) | Integrity check staging | |
JP2012038156A (ja) | ネットワーク装置、ネットワーク装置の省電力方法、及びプログラム | |
WO2024093491A1 (zh) | 一种性能调控方法及电子设备 | |
TW201828291A (zh) | 電子裝置及其電源管理方法 | |
US10104619B2 (en) | Retrieval of a command from a management server |