TW201426544A - 電子系統及開機管理方法 - Google Patents

電子系統及開機管理方法 Download PDF

Info

Publication number
TW201426544A
TW201426544A TW101149556A TW101149556A TW201426544A TW 201426544 A TW201426544 A TW 201426544A TW 101149556 A TW101149556 A TW 101149556A TW 101149556 A TW101149556 A TW 101149556A TW 201426544 A TW201426544 A TW 201426544A
Authority
TW
Taiwan
Prior art keywords
memory
processor
boot
booting
counting
Prior art date
Application number
TW101149556A
Other languages
English (en)
Inventor
Rui-Chun Chen
shu-wu Luo
Original Assignee
Ene Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ene Technology Inc filed Critical Ene Technology Inc
Priority to TW101149556A priority Critical patent/TW201426544A/zh
Priority to US13/936,717 priority patent/US20140181492A1/en
Publication of TW201426544A publication Critical patent/TW201426544A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

一種電子系統,包含:一第一記憶體;一第二記憶體;一記憶體控制器,用以電連接該第一記憶體和該第二記憶體;一處理器,受該記憶體控制器控制而接取該第一記憶體或該第二記憶體;其中,該處理器受外部控制產生一開機要求訊息,該記憶體控制器根據該開機要求訊息使該處理器從該第一記憶體讀取一第一開機程式並執行,該處理器進而根據執行結果選擇性地產生一個代表開機成功的完善訊息;該記憶體控制器根據該開機要求訊息與該完善訊息的至少一者,決定是否使該處理器改成從該第二記憶體讀取一第二開機程式,作為開機的執行依據。

Description

電子系統及開機管理方法
本發明是有關於一種電子系統,特別是指一種電子系統使用的開機管理方法。
一般電子系統都需要先成功開機後,才得以執行應用程式,所述電子系統例如是電腦、手機或個人數位助理(personal digital assistant,PDA)。
常見的開機方式是先藉由電子系統的處理器從一快閃記憶體(flash memory)中讀取一個開機程式,然後再由處理器執行該開機程式。在讀出的開機程式為完好的情況下,通常電子系統都能順利開機。不過,如果快閃記憶體的磁區有損毀,或是快閃記憶體所記錄的開機程式程式碼異常,處理器極可能不能有效執行開機程式,而導致電子系統無法成功開機。
因此,本發明之目的,即在提供一種電子系統及開機管理方法,可有效提高開機成功機率。
於是,本發明開機管理方法,包含以下步驟:(A)使用一處理器,讀取一個記錄於一第一記憶體的第一開機程式,或讀取一個記錄於一第二記憶體的第二開機程式;(B)使用一記憶體控制器,決定該處理器讀取該第一開機程式或該第二開機程式;其中,該處理器受外部控制產生一開機要求訊息,該記憶體控制器根據該開機要求訊息使該處理 器從該第一記憶體讀取該第一開機程式並執行,該處理器進而根據執行結果選擇性地產生一個代表開機成功的完善訊息;該記憶體控制器根據該開機要求訊息與該完善訊息的至少一者,決定是否使該處理器改成從該第二記憶體讀取該第二開機程式,作為開機的執行依據。
而本發明電子系統,包含:一第一記憶體,用以記錄一第一開機程式;一第二記憶體,用以記錄一第二開機程式;一記憶體控制器,用以電連接該第一記憶體和該第二記憶體;一處理器,受該記憶體控制器控制而接取該第一記憶體或該第二記憶體;其中,該處理器受外部控制產生一開機要求訊息,該記憶體控制器根據該開機要求訊息使該處理器從該第一記憶體讀取該第一開機程式並執行,該處理器進而根據執行結果選擇性地產生一個代表開機成功的完善訊息;該記憶體控制器根據該開機要求訊息與該完善訊息的至少一者,決定是否使該處理器改成從該第二記憶體讀取該第二開機程式,作為開機的執行依據。
有關本發明之前述及其他技術內容、特點與功效,在以下配合參考圖式之二個較佳實施例的詳細說明中,將可清楚的呈現。
在本發明被詳細描述之前,要注意的是,在以下的說明內容中,類似的元件是以相同的編號來表示。
第一較佳實施例
參閱圖1,本發明電子系統100之第一較佳實施例包含 一時脈產生器1、一處理器2,以及分別與處理器2電連接的一傳輸埠3和一記憶體控制器4。並且,電子系統100還包含分別電連接記憶體控制器4的一第一記憶體5和一第二記憶體6。
較佳地,本例的電子系統100是電腦、手機、個人數位助理(personal digital assistant,PDA),或其他使用前需先開機的電子系統。第一記憶體5和第二記憶體6是以快閃記憶體(flash memory)來實現,但其他應用不以此為限,也可以是EEPROM(Electrically-Erasable Programmable Read-Only Memory,電子式可清除程式化唯讀記憶體),或其他形式的記憶體。而傳輸埠3是電子系統100的輸入輸出埠,例如:用以電連接一外部電源鍵91的介面、用以電連接一鍵盤92的介面、用以電連接一顯示器93的介面。
第一記憶體5記錄有一第一開機程式和多個應用程式,第二記憶體6記錄有一第二開機程式和多個應用程式。時脈產生器1用以提供一個具有多個脈衝的時脈信號,做為電子系統100的操作依據。傳輸埠3接收一外部信號,並傳送給處理器2。處理器2根據該外部信號來讀取記錄於該等記憶體5、6的程式並執行,且將執行結果透過傳輸埠3傳送出去。例如,當外部電源鍵91被按壓,處理器2會受外部信號進行開機程式的讀取與執行,並透過顯示器93呈現執行結果。
較特別地,本例的處理器2是受記憶體控制器4控制選擇接取第一記憶體5來讀取程式,或是接取第二記憶體6 來讀取程式。且記憶體控制器4具有一管理器41,以及分別電連接管理器41的一計數器42、一第一介面單元43和一第二介面單元44。而本發明電子系統100所執行的開機管理方法之較佳實施例包含如圖2的以下步驟。
步驟81:處理器2接收傳輸埠3傳來的一個要求執行開機程序的外部信號,而將一開機要求訊息載入一資料流,並將該資料流傳送給管理器41。
步驟82:管理器41分析該資料流而得到一個對應開機要求訊息的訊息後,使狀態信號從第一狀態準位轉為第二狀態準位,並使處理器2經由第一介面單元43從第一記憶體5讀取第一開機程式。
請注意,之後,如果處理器2執行讀出的第一開機程式而成功開機,處理器2將產生一個代表開機成功的完善訊息並將該完善訊息載入該資料流。且管理器41從資料流中分析出一個對應於完善訊息的訊息時,會使狀態信號從第二狀態準位切回第一狀態準位。狀態信號的準位切換可參考圖3。
步驟83:計數器42在時脈信號的目前脈衝上升緣,如果判斷出狀態信號處於第二狀態準位,則使一計數信號增加計數且使流程繼續步驟84,否則停止計數信號計數且跳到步驟85。
步驟84:管理器41在時脈信號的目前脈衝上升緣,如果檢視出計數信號>一計數門檻,流程跳到步驟86,否則流程於時脈信號的下一脈衝上升緣回到步驟83。
請注意,步驟83~84是根據時脈信號的同一個脈衝上升緣進行的,而再次執行步驟83則是根據時脈信號的下一個脈衝上升緣進行。
步驟85:處理器2維持以第一開機程式來執行開機。
步驟86:管理器41使處理器2經由第二介面單元44從第二記憶體6讀取第二開機程式,以重新開機。
假設計數門檻=8。在圖3的範例中,當管理器41發現狀態信號於前一脈衝上升緣處於第二狀態準位,且於目前脈衝上升緣處於第一狀態準位,則計數器42停止計數,且處理器2維持以第一開機程式來執行開機。
在圖4的範例中,當管理器41發現狀態信號於時脈信號的前一脈衝上升緣和目前脈衝上升緣都處於第二狀態準位,且計數信號於目前脈衝上升緣初次>計數門檻,則處理器2改成讀取該第二記憶體6的第二開機程式以重新開機,且計數器42根據目前脈衝上升緣和隨後脈衝上升緣持續計數。
因此,本較佳實施例在無法成功執行第一開機程式時,仍可以選用第二開機程式來開機。反觀習知技術,如果從快閃記憶體讀出的開機程式有誤,電子系統就無法順利開機。兩相比較,本較佳實施例的開機成功機率明顯提升。
而且,在第一開機程式能被成功執行的情況下,本例逕以第一開機程式進行開機,符合系統快速開機的期望。另一方面,即使第一開機程式不能被成功執行,本例也能 在短時間內改成根據第二開機程式開機。
特別說明的是,本實施例中,第一記憶體5是指收到開機要求訊息後,處理器2預設賴以開機的記憶體;第二記憶體6是指讀出的第一開機程式無法被成功執行時,處理器2用來開機的備用記憶體。又,以哪一個記憶體當作第一記憶體5,可以根據記憶體的儲存品質、存放空間、讀寫速度或其他特性來決定,或由使用者指定。
假如第一記憶體5的儲存品質和存放空間都優於第二記憶體6,在處理器2因為無法成功執行第一開機程式而改成從第二記憶體6讀取第二開機程式來開機後,處理器2也可以將第二開機程式複製到第一記憶體5來形成新的第一開機程式。然後,記憶體控制器4使處理器2改成讀取新的第一開機程式作為重新開機的依據,如此處理器2可因為透過品質較佳的記憶體接取所需程式,而有較好的執行效率。
值得注意的是,本例中,狀態信號的第一狀態準位低於第二狀態準位,但其他應用不以此為限,只要能讓計數器42辨識出兩準位差異即可。而,計數器42調整計數信號的時間不必侷限於時脈信號的脈衝上升緣,也可以是脈衝下降緣,或同時參考脈衝上升緣和下降緣,甚至是參考脈衝的特定電壓準位。
又,本例的處理器2是使用暫存器(register)設定方式來表現資料流,即資料流具有多個位址以及多個分別匹配於該等位址的資料。例如:以位址Ox24代表存放開機要求訊 息的位址,使匹配資料為1時代表要求開機,使匹配資料為0時代表沒有要求開機。又例如:以位址Ox26代表存放完善訊息的位址,使匹配資料為1時代表開機執行成功,使匹配資料為0時代表開機失敗。當然,在另一態樣中,處理器2也可以不傳送該資料流,而直接將開機要求訊息和完善訊息傳送給管理器41。
小結上述,第一較佳實施例中,收到開機要求訊息後,處理器2是先根據第一開機程式執行開機,管理器41使狀態信號處於第二狀態準位,計數器42因此增加計數信號的計數。一旦計數信號於時脈信號的目前脈衝上升緣初次大於計數門檻,管理器41就改成使處理器2根據第二開機程式來開機,此時狀態信號維持第二狀態準位,計數器42因而根據目前脈衝上升緣和隨後脈衝上升緣持續計數信號的計數。
請注意,如果計數信號大於計數門檻之後,管理器41才從資料流中分析出對應於完善訊息的訊息,仍維持使處理器2改成根據第二開機程式來開機。另一方面,如果計數信號大於計數門檻之前,管理器41就分析出對應於完善訊息的訊息,管理器41會使狀態信號切到第一狀態準位,計數器42因而於時脈信號的下一脈衝上升緣停止計數,並使處理器2維持以第一開機程式來開機。
第二較佳實施例
參閱圖5,相較於第一較佳實施例,第二較佳實施例的不同點在於:一旦計數信號於時脈信號的目前脈衝上升緣 初次大於計數門檻,管理器41改成使處理器2根據第二開機程式來開機,並且管理器41更使狀態信號切到第一狀態準位,計數器42因而於時脈信號的下一脈衝上升緣停止計數信號的計數。
此外,雖然前述是說明電子系統100包含有第一記憶體5和第二記憶體6,但其他應用中,這兩個記憶體的至少一個可以獨立出於電子系統100。甚者,電子系統100可以搭配使用更多個具有開機程式的記憶體,使開機成功機率更高。
又,雖然前述說明計數器42是以每次增加1的遞增方式來計數,但在其他應用中,每次遞增量也可以是其他值。甚者,計數器42可以改為以遞減方式計數,且步驟84是判斷出計數信號小於一特定計數門檻,才進行步驟86。
值得注意的是,前述說明當管理器41從資料流分析出對應於完善訊息的訊息,管理器41會使狀態信號切到第一狀態準位。但在另一實施態樣中,也可以在處理器2產生該完善訊息後,由處理器2來將狀態信號切到第一狀態準位。
綜上所述,前述較佳實施例中,即使第一開機程式不能被成功執行,處理器2也會儘快改成根據第二開機程式開機,因而能有效控制開機時間,且只要兩個開機程式的至少一個是完好的,電子系統100就能順利開機,開機成功機率明顯優於習知,故確實能達成本發明之目的。
惟以上所述者,僅為本發明之較佳實施例而已,當不 能以此限定本發明實施之範圍,即大凡依本發明申請專利範圍及發明說明內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。
100‧‧‧電子系統
44‧‧‧第二介面單元
1‧‧‧時脈產生器
5‧‧‧第一記憶體
2‧‧‧處理器
6‧‧‧第二記憶體
3‧‧‧傳輸埠
81~86‧‧‧步驟
4‧‧‧記憶體控制器
91‧‧‧電源鍵
41‧‧‧管理器
92‧‧‧鍵盤
42‧‧‧計數器
93‧‧‧顯示器
43‧‧‧第一介面單元
圖1是一方塊圖,說明本發明電子系統之第一較佳實施例;圖2是一流程圖,說明開機管理方法的較佳實施例;圖3是一時序圖,說明第一較佳實施例中,第一開機程式被成功執行的情況;圖4是一時序圖,說明第一較佳實施例中,第一開機程式不能被成功執行的情況;及圖5是一時序圖,說明第二較佳實施例中,第一開機程式不能被成功執行的情況。
100‧‧‧電子系統
1‧‧‧時脈產生器
2‧‧‧處理器
3‧‧‧傳輸埠
4‧‧‧記憶體控制器
41‧‧‧管理器
42‧‧‧計數器
43‧‧‧第一介面單元
44‧‧‧第二介面單元
5‧‧‧第一記憶體
6‧‧‧第二記憶體
91‧‧‧電源鍵
92‧‧‧鍵盤
93‧‧‧顯示器

Claims (10)

  1. 一種開機管理方法,包含以下步驟:(A)使用一處理器,讀取一個記錄於一第一記憶體的第一開機程式,或讀取一個記錄於一第二記憶體的第二開機程式;(B)使用一記憶體控制器,決定該處理器讀取該第一開機程式或該第二開機程式;其中,該處理器受外部控制產生一開機要求訊息,該記憶體控制器根據該開機要求訊息使該處理器從該第一記憶體讀取該第一開機程式並執行,該處理器進而根據執行結果選擇性地產生一個代表開機成功的完善訊息;該記憶體控制器根據該開機要求訊息與該完善訊息的至少一者,決定是否使該處理器改成從該第二記憶體讀取該第二開機程式,作為開機的執行依據。
  2. 如請求項1所述的開機管理方法,其中,步驟(B)包括以下子步驟:(b-1)該記憶體控制器在得到一個對應於該開機要求訊息的訊息時,開始一計數信號的計數,其中是以遞增方式來計數;及(b-2)該記憶體控制器檢測出該計數信號大於該計數門檻,就使該處理器改成讀取該第二記憶體的第二開機程式。
  3. 如請求項2所述的開機管理方法,其中,步驟(B)更包括 以下子步驟:該記憶體控制器在得到對應於該開機要求訊息的訊息時,使一狀態信號從一第一狀態準位切換到一第二狀態準位,且在得到一個對應於該完善訊息的訊息或檢測出該計數信號大於該計數門檻時,使該狀態信號從該第二狀態準位切回該第一狀態準位,其中該第一狀態準位不同於該第二狀態準位;且該記憶體控制器在該狀態信號從該第二狀態準位切回該第一狀態準位後,停止該計數信號的計數。
  4. 如請求項2所述的開機管理方法,其中,步驟(B)更包括以下子步驟:該記憶體控制器在檢測出該計數信號未達該計數門檻前就得到一個對應於該完善訊息的訊息,會停止該計數信號的計數。
  5. 如請求項1所述的開機管理方法,更包含以下步驟:(C)該處理器執行該第二開機程式而開機成功後,使用讀出的該第二開機程式,更新記錄於該第一記憶體的第一開機程式;及(D)該記憶體控制器使該處理器改成從該第一記憶體讀取更新後的該第一開機程式並據以重新開機。
  6. 一種電子系統,包含:一第一記憶體,用以記錄一第一開機程式;一第二記憶體,用以記錄一第二開機程式;一記憶體控制器,用以電連接該第一記憶體和該第 二記憶體;一處理器,受該記憶體控制器控制而接取該第一記憶體或該第二記憶體;其中,該處理器受外部控制產生一開機要求訊息,該記憶體控制器根據該開機要求訊息使該處理器從該第一記憶體讀取該第一開機程式並執行,該處理器進而根據執行結果選擇性地產生一個代表開機成功的完善訊息;該記憶體控制器根據該開機要求訊息與該完善訊息的至少一者,決定是否使該處理器改成從該第二記憶體讀取該第二開機程式,作為開機的執行依據。
  7. 如請求項6所述的電子系統,其中,該記憶體控制器包括一計數器和一管理器;該計數器在得到一個對應於該開機要求訊息的訊息時,開始一計數信號的計數,其中該計數器是以遞增方式來計數;當該管理器檢測出該計數信號大於該計數門檻,使該處理器改成讀取該第二記憶體的第二開機程式。
  8. 如請求項7所述的電子系統,其中,該管理器在得到對應於該開機要求訊息的訊息時,使一狀態信號從一第一狀態準位切換到一第二狀態準位,且在得到一個對應於該完善訊息的訊息或檢測出該計數信號大於該計數門檻時,使該狀態信號從該第二狀態準位切回該第一狀態準位,其中該第一狀態準位不同於 該第二狀態準位;且該計數器會在該狀態信號從該第二狀態準位切回該第一狀態準位後,停止該計數信號的計數。
  9. 如請求項7所述的電子系統,其中,在該管理器檢測出該計數信號未達該計數門檻前就得到一個對應於該完善訊息的訊息,該計數器會停止該計數信號的計數。
  10. 如請求項6所述的電子系統,其中,該處理器在執行該第二開機程式而開機成功的情況下,使用讀出的該第二開機程式來更新記錄於該第一記憶體的第一開機程式,該記憶體控制器進而使該處理器改成從該第一記憶體讀取更新後的該第一開機程式並據以重新開機。
TW101149556A 2012-12-24 2012-12-24 電子系統及開機管理方法 TW201426544A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW101149556A TW201426544A (zh) 2012-12-24 2012-12-24 電子系統及開機管理方法
US13/936,717 US20140181492A1 (en) 2012-12-24 2013-07-08 Method of booting an electronic system and an electronic system applying the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW101149556A TW201426544A (zh) 2012-12-24 2012-12-24 電子系統及開機管理方法

Publications (1)

Publication Number Publication Date
TW201426544A true TW201426544A (zh) 2014-07-01

Family

ID=50976113

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101149556A TW201426544A (zh) 2012-12-24 2012-12-24 電子系統及開機管理方法

Country Status (2)

Country Link
US (1) US20140181492A1 (zh)
TW (1) TW201426544A (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5875558B2 (ja) * 2013-08-28 2016-03-02 京セラドキュメントソリューションズ株式会社 情報処理装置
US10191811B2 (en) * 2015-08-13 2019-01-29 Quanta Computer Inc. Dual boot computer system
US10534619B2 (en) * 2016-02-26 2020-01-14 Smart Modular Technologies, Inc. Memory management system with multiple boot devices and method of operation thereof

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421792B1 (en) * 1998-12-03 2002-07-16 International Business Machines Corporation Data processing system and method for automatic recovery from an unsuccessful boot
US6948099B1 (en) * 1999-07-30 2005-09-20 Intel Corporation Re-loading operating systems
US6754855B1 (en) * 1999-12-01 2004-06-22 Microsoft Corporation Automated recovery of computer appliances
US7523350B2 (en) * 2005-04-01 2009-04-21 Dot Hill Systems Corporation Timer-based apparatus and method for fault-tolerant booting of a storage controller
US8590040B2 (en) * 2010-12-22 2013-11-19 Intel Corporation Runtime platform firmware verification

Also Published As

Publication number Publication date
US20140181492A1 (en) 2014-06-26

Similar Documents

Publication Publication Date Title
EP3355223B1 (en) Unlock method and mobile terminal
US11003438B2 (en) Method and device for incremental upgrade
TWI787334B (zh) 用於在異構記憶體環境內進行引導的系統和方法
TWI483188B (zh) 能設定開機參數的電子裝置及設定方法
US8230211B2 (en) Method for setting basic input/output system
KR20150103376A (ko) 플랫폼 부트 펌웨어에 대한 신뢰의 연속성
CN108984219B (zh) 内存参数配置方法及电子设备
WO2021233363A1 (zh) 计算设备及其bios更新方法和介质
TWI743395B (zh) 透過遠端工具程式更新靭體的方法、電腦系統以及非暫態電腦可讀取媒體
CN112506745B (zh) 内存温度读取方法、装置及计算机可读存储介质
US20130111199A1 (en) Information processing apparatus, method of switching between startup modes of information processing apparatus, and recording medium
US10296730B2 (en) Systems and methods for automatic generation and retrieval of an information handling system password
EP2645239A1 (en) Electronic apparatus and booting method
TW201426544A (zh) 電子系統及開機管理方法
US7849300B2 (en) Method for changing booting sources of a computer system and a related backup/restore method thereof
CN112667442B (zh) 基于非易失内存器件启动系统的控制方法、装置及设备
US20120317404A1 (en) Firmware Flashing Method and Related Computer System
WO2022194068A1 (zh) 闪存配置方法、装置、电子设备和存储介质
JP5489278B2 (ja) 情報処理装置及びその起動方法
TWI482004B (zh) 系統開機失敗之處理裝置及處理方法
WO2023279875A1 (zh) Bootloader启动流程的监控方法、装置、嵌入式设备及存储介质
US8954717B2 (en) System capable of booting through a universal serial bus device and method thereof
TW201416979A (zh) 開機加速方法與電腦系統裝置
US10853085B2 (en) Adjustable performance boot system
CN111399921A (zh) 一种服务器开机logo的切换方法、装置及设备