TWI595415B - 韌體更新控制方法 - Google Patents
韌體更新控制方法 Download PDFInfo
- Publication number
- TWI595415B TWI595415B TW105116815A TW105116815A TWI595415B TW I595415 B TWI595415 B TW I595415B TW 105116815 A TW105116815 A TW 105116815A TW 105116815 A TW105116815 A TW 105116815A TW I595415 B TWI595415 B TW I595415B
- Authority
- TW
- Taiwan
- Prior art keywords
- expanders
- expander
- firmware
- firmware update
- port
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- 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/4411—Configuring for operating with peripheral devices; Loading of device drivers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Description
本發明是有關於一種韌體更新控制方法,特別是指一種用於多個擴展器的韌體更新控制方法。
一種現有的雛菊鏈結(daisy-chaining)儲存系統例如包含一主機及多個儲存裝置。該主機包含一支援如SAS(serial attached SCSI)寬埠(Wide Port)介面的連接模組。該等儲存裝置是以雛菊鏈結方式彼此串聯連接並電連接該主機,且每一儲存裝置包括例如多個硬碟、及兩個支援SAS寬埠介面且電連接該等硬碟的擴展器。每一儲存裝置的該等擴展器係藉由例如兩SAS電纜分別電連接一相鄰儲存裝置的該等擴展器,或電連接該主機的該連接模組。
然而,在此儲存系統中,當該等儲存裝置的該等擴展器需要更新其韌體時,為確保每一擴展器能有效地完成韌體更新,該主機目前所採用的韌體更新方式係在同一時間僅允許該等擴展器其中之一者執行韌體更新,且直到該擴展器完成韌體更新後,才允
許另一擴展器執行韌體更新。如此的韌體更新方式恐需花費較長的時間才能將完成所有擴展器的韌體更新,因而導致較低的韌體更新效率。
由上述可知,目前的韌體更新方式仍有很大的改善空間。
因此,本發明之目的,即在提供一種能夠提升韌體更新效率的韌體更新控制方法。
於是,本發明韌體更新方法係適用於多個彼此串接的擴展器,並藉由一主機來實施。該主機包含一與該等擴展器串接的連接埠,並儲存有該連接埠的狀態資訊。該狀態資訊包含一相關於該等擴展器的狀態旗標、及指示出最近經由該連接埠開始傳送一韌體檔案之時間的起始時間資料。該韌體更新控制方法包含以下步驟:(A)判定該狀態旗標的一旗標值是否為一指示出無任何擴展器處於一韌體更新狀態的第一預定值;(B)當判定出該旗標值為該第一預定值時,允許一所欲的更新韌體檔案至少經由該連接埠被傳送至該等擴展器中的一目標者,以便該目標擴展器藉由執行所接收到的該更新韌體檔案來進
行韌體更新,並以該更新韌體檔案經由該連接埠開始被傳送的時間來更新該起始時間資料,而且以一指示出存在有一處於該韌體更新狀態的擴展器且異於該第一預定值的第二預定值來更新該旗標值;(C)當判定出該旗標值不為該第一預定值時,判定當前時間與該起始時間資料所指示的該傳送時間之間的一時間差是否長於一預定時間期間;及(D)當判定出該時間差係長於該預定時間期間時,允許該更新韌體檔案至少經由該連接埠被傳送至該目標擴展器,並以該更新韌體檔案經由該連接埠開始被傳送的時間來更新該起始時間資料。
本發明之功效在於:該主機可根據對應於該連接埠的該狀態資訊及該等擴展器的實際連接關係,來決定是否允許一所欲的更新韌體檔案被傳送至一目標擴展器,以便該目標擴展器能藉由執行該更新韌體檔案來有效地進行韌體更新。此外,若該主機還配置有其他多個相同如該連接埠的連接埠時,本發明韌體更新控制方法可同時應用在連接至每一連接埠的多個串接擴展器,如此將可顯著提升韌體更新效率,並大幅減少所有擴展器完成韌體更新所需的時間。
100‧‧‧系統
1‧‧‧主機
11‧‧‧連接埠
12‧‧‧連接埠
13‧‧‧連接埠
14‧‧‧連接埠
15‧‧‧處理器
16‧‧‧儲存模組
2‧‧‧電子裝置
21‧‧‧第一擴展器
22‧‧‧第二擴展器
3‧‧‧電子裝置
31‧‧‧第一擴展器
32‧‧‧第二擴展器
4‧‧‧電子裝置
41‧‧‧第一擴展器
42‧‧‧電二擴展器
5‧‧‧電子裝置
51‧‧‧第一擴展器
52‧‧‧第二擴展器
S21-S22‧‧‧步驟
S31-S35‧‧‧步驟
本發明之其他的特徵及功效,將於參照圖式的實施方式中清楚地呈現,其中:圖1是一方塊圖,示例地繪示一用來實施本發明韌體更新控制方法的一實施例之系統;圖2是該實施例的一流程圖;及圖3是一流程圖,詳細說明圖2中步驟S22的相關決定程序。
參閱圖1,繪示了一系統100,該系統100,例如,為一儲存系統,但不以此為限,且用來實施本發明韌體更新控制方法的一實施例,並示例地包含一主機1及四個電子裝置2。值得注意的是,該等電子裝置2的數量並不限於四,亦可為其他更多的數量。
在本實施例中,該主機1示例地包含四個連接埠11,12,13,14、一儲存模組16、及一電連接該等連接埠11,12,13,14與該儲存模組16的處理器15。在其他實施例中,該主機1亦可包含四個以上的連接埠。該等連接埠11,12,13,14各自例如為一具有SAS(serial attached SCSI)介面的寬埠(Wide Port),但不以此為限。該儲存模組16儲存了多筆分別對應於該等連接埠11,12,13,14的狀態資訊,每筆狀態資訊包含一相關於該等連接埠11,12,13,14的一對應者的狀態旗標、及指示出最近經由該等
連接埠11,12,13,14的該對應者開始傳送一韌體檔案之時間(以下被稱為傳送時間)的起始時間資料。
在本實施例中,該等電子裝置2,3,4,5,例如,為儲存裝置,但不以此為限,且各自包含一第一擴展器21/31/41/51、一第二擴展器22/32/42/52、及多個硬碟(未示出)。值得注意的是,該等第一擴展器21,31,41,51與該等第二擴展器22,32,42,52各自電連接該等對應的硬碟且各自被分配有一唯一位址,並且支援SAS介面。該等電子裝置2,3是以例如雛菊鏈結方式彼此串聯連接,更明確地說,該等電子裝置2,3的該等第一擴展器21,31係藉由例如一SAS電纜(未示出)將彼此電連接,該等電子裝置2,3的該等第二擴展器22,32係藉由例如一SAS電纜(未示出)將彼此電連接,而該電子裝置2的該等第一與第二擴展器21,22係藉由兩SAS電纜(未示出)分別電連接該主機1的該等連接埠11,12。同樣地,該等電子裝置4,5亦是以例如雛菊鏈結方式彼此串聯連接,更明確地說,該等電子裝置4,5的該等第一擴展器41,51係藉由例如一SAS電纜(未示出)將彼此電連接,該等電子裝置4,5的該等第二擴展器42,52係藉由例如一SAS電纜(未示出)將彼此電連接,而該電子裝置4的該等第一與第二擴展器41,42係藉由兩SAS電纜(未示出)分別電連接該主機1的該等連接埠13,14。
參閱圖1及圖2,說明該主機1的該處理器15如何執行本發明韌體更新控制方法之該實施例。以下詳細說明該實施例所包含的步驟。
在步驟S21中,該處理器15先接收到一來自該等第一擴展器21,31,41,51與該等第二擴展器22,32,42,52中每一者並且包含其本身所分配之該唯一位址,以及該等第一擴展器21,31,41,51、該等第二擴展器22,32,42,52及該等連接埠11,12,13,14中的至少一其他相鄰者所分配之該唯一位址的連接回覆。舉例而言,該第一擴展器21將含有其本身所分配的該唯一位址、該連接埠11所分配的一唯一位址及該擴展器31所分配的該唯一位址的該連接回覆傳送至該處理器15,而該第一擴展器31將含有其本身所分配的該唯一位址與該第一擴展器21所分配的該唯一位址的該連接回覆。之後,該處理器15根據該等連接回覆獲得該等第一擴展器21,31與該連接埠11的連接關係、該等第二擴展器22,32與該連接埠12的連接關係、該等第一擴展器41,51與該連接埠13的連接關係、及該等第二擴展器42,52與該連接埠14的連接關係。
在步驟S22中,對於該等連接埠11,12,13,14的每一者,該處理器15根據該對應的狀態資訊、一第一預定值以及一預定時間期間,來決定是否允許一所欲的更新韌體檔案至少經由該連
接埠11/12/13/14被傳送至一目標擴展器。此處,該目標擴展器係與該連接埠11/12/13/14連接的該等第一/第二/第一/第二擴展器21,31/22,32/41,51/42,52中的一者。在此實施例中,該第一預定值,例如為0,但不以此為限,係指示出無任何擴展器處於一韌體更新狀態,並且該預定時間期間,例如為3分鐘,但不以此為限。
再參閱圖1及圖3,進一步示例說明步驟S22中對於該連接埠11的相關決定程序,且該決定程序包含以下步驟S31-S35。
在步驟S31中,該處理器15判定該連接埠11所對應的該狀態旗標的一旗標值是否為該第一預定值。若該判定結果為肯定,則該流程進行步驟S32。否則,該流程進行步驟S34。
在步驟S32中,該處理器15允許一所欲的更新韌體檔案至少經由該連接埠11被傳送至該等第一擴展器21,31中的一目標者,以便該目標擴展器藉由執行所接收到的該更新韌體檔案來進行韌體更新。此外,該處理器15以該更新韌體檔案經由該連接埠11開始被傳送的時間來更新該起始時間資料,並以一指示出存在有一處於該韌體更新狀態且異於該第一預定值的第二預定值來更新該旗標值。例如,該第二預定值為1,但不以此為限。值得注意的是,該處理器15係根據步驟S21所獲得的該連接關係來傳送該更新韌體檔案。舉例而言,若該目標擴展器為第一擴展器31時,則該處理
器15根據該等第一擴展器21,31的該連接關係,以不僅經由該連接埠11且還經由該第一擴展器21之方式,將該更新韌體檔案傳送至該第一擴展器31(該目標擴展器)。
另一方面,當該目標擴展器執行完韌體更新後,該目標擴展器會將一指示出韌體更新完成的回覆,經由該連接埠11傳送至該處理器15。
在步驟S33中,該處理器15在接收到來自該目標擴展器的該回覆時,將該旗標值更新為該第一預定值。
在步驟S34中,當該處理器15判定出該旗標值不為該第一預定值時,該處理器15判定當前時間與該起始時間資料所指示的該傳送時間之間的一時間差是否長於該預定時間期間。若該判定結果為肯定,則該流程進行步驟S35。否則,該流程將重複執行步驟S34。
在步驟S35中,該處理器15允許該更新韌體檔案至少經由該連接埠11被傳送至該等擴展器21,31中的該目標擴展器,並以該更新韌體檔案經由該連接埠11開始被傳送的時間來更新該起始時間資料。接著,該流程返回步驟S33。
值得注意的是,該預定時間期間實質上是長於執行韌體更新所需的時間。換言之,理想上,任何擴展器的韌體更新應可在該預定時間期間內執行完畢。因此,步驟34及步驟35存在的目
的係在於,在先前所執行的韌體更新因故在一超過該預定時間期間的期間內仍無法順利完成致使該處理器15因無法執行該先前決定程序中的步驟S33而無法將該旗標值更新為該第一預定值的情況下,該處理器15仍能藉由判定該時間差是否長於該預定時間期間(步驟S34),來有效且正確地判定是否允許該更新韌體檔案被傳送至該目標擴展器,藉此避免因先前韌體更新的執行異常而延宕後續韌體更新的進行。
同樣地,對於該等連接埠12,13,14的相關決定程序,該處理器15可採取多工的方式,在進行該連接埠11的該決定程序時,同時藉由執行如圖3的流程來進行該等連接埠12,13,14的該等決定程序。
綜上所述,利用本發明韌體更新控制方法,該處理器15可在一相對較短的時間期間內完成該等電子裝置2,3,4,5的該等第一擴展器21,31,41,51與該等第二擴展器22,32,42,52的韌體更新。因此,相較於上述習知的韌體更新方式,本發明韌體更新控制方法能達成韌體更新效率的提升,並能大幅減少該等第一及第二擴展器21,22,31,32,41,42,51,52完成韌體更新所需的時間。於是,本發明韌體更新控制方法確實能達成本發明之目的。
惟以上所述者,僅為本發明之實施例而已,當不能以此限定本發明實施之範圍,凡是依本發明申請專利範圍及專利說明書內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。
S31-S35‧‧‧步驟
Claims (3)
- 一種韌體更新控制方法,適用於多個彼此串接的擴展器,並藉由一主機來實施,該主機包含一與該等擴展器串接的連接埠,並儲存有該連接埠的狀態資訊,該狀態資訊包含一相關於該等擴展器的狀態旗標、及指示出最近經由該連接埠開始傳送一韌體檔案之時間的起始時間資料,該韌體更新控制方法包含:(A)判定該狀態旗標的一旗標值是否為一指示出無任何擴展器處於一韌體更新狀態的第一預定值;(B)當判定出該旗標值為該第一預定值時,允許一所欲的更新韌體檔案至少經由該連接埠被傳送至該等擴展器中的一目標者,以便該目標擴展器藉由執行所接收到的該更新韌體檔案來進行韌體更新,並以該更新韌體檔案經由該連接埠開始被傳送的時間來更新該起始時間資料,而且以一指示出存在有一處於該韌體更新狀態的擴展器且異於該第一預定值的第二預定值來更新該旗標值;(C)當判定出該旗標值不為該第一預定值時,判定當前時間與該起始時間資料所指示之時間之間的一時間差是否長於一預定時間期間;及(D)當判定出該時間差係長於該預定時間期間時,允許該更新韌體檔案至少經由該連接埠被傳送至該目標擴展器,並以該更新韌體檔案經由該連接埠開始被傳送的時間來更新該起始時間資料。
- 如請求項1所述的韌體更新控制方法,在步驟(D)之後還包含:(E)當接收到來自該目標擴展器的一指示出韌體更新已完成的回覆時,將該旗標值更新為該第一預定值。
- 如請求項1所述的韌體更新控制方法,該等擴展器的每一者分配有一唯一位址,在步驟(A)之前還包含:(F)在接收到來自每一擴展器且包含其本身所分配的該唯一位址及該等其他擴展器與該連接埠中相鄰於該擴展器的至少一者所分配之唯一位址的連接回覆後,根據該等回覆,獲得該等擴展器與該連接埠彼此的連接關係;其中,在步驟(B)與步驟(D)中,該主機還根據該連接關係,將該更新韌體檔案傳送至該目標擴展器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105116815A TWI595415B (zh) | 2016-05-30 | 2016-05-30 | 韌體更新控制方法 |
US15/472,512 US10394545B2 (en) | 2016-05-30 | 2017-03-29 | Control method of updating firmware |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105116815A TWI595415B (zh) | 2016-05-30 | 2016-05-30 | 韌體更新控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI595415B true TWI595415B (zh) | 2017-08-11 |
TW201741877A TW201741877A (zh) | 2017-12-01 |
Family
ID=60189337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105116815A TWI595415B (zh) | 2016-05-30 | 2016-05-30 | 韌體更新控制方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10394545B2 (zh) |
TW (1) | TWI595415B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11340889B2 (en) * | 2019-02-28 | 2022-05-24 | Hewlett Packard Enterprise Development Lp | Updating firmware images on chained input/output (I/O) modules |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080168244A1 (en) * | 2007-01-05 | 2008-07-10 | Inventec Corporation | Method for updating an image file |
TW200949701A (en) * | 2008-05-29 | 2009-12-01 | Universal Scient Ind Co Ltd | Apparatus and method for hard drive firmware update |
TW201202946A (en) * | 2010-05-12 | 2012-01-16 | Silicon Image Inc | Multi-level port expansion for port multipliers |
TW201418974A (zh) * | 2012-11-07 | 2014-05-16 | Inventec Corp | 磁碟配置方法及伺服器機架系統 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8996769B2 (en) * | 2013-08-06 | 2015-03-31 | Netapp, Inc. | Storage master node |
JP6555096B2 (ja) * | 2015-11-18 | 2019-08-07 | 富士通株式会社 | 情報処理装置およびプログラム更新制御方法 |
-
2016
- 2016-05-30 TW TW105116815A patent/TWI595415B/zh active
-
2017
- 2017-03-29 US US15/472,512 patent/US10394545B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080168244A1 (en) * | 2007-01-05 | 2008-07-10 | Inventec Corporation | Method for updating an image file |
TW200949701A (en) * | 2008-05-29 | 2009-12-01 | Universal Scient Ind Co Ltd | Apparatus and method for hard drive firmware update |
TW201202946A (en) * | 2010-05-12 | 2012-01-16 | Silicon Image Inc | Multi-level port expansion for port multipliers |
TW201418974A (zh) * | 2012-11-07 | 2014-05-16 | Inventec Corp | 磁碟配置方法及伺服器機架系統 |
Also Published As
Publication number | Publication date |
---|---|
US20170344356A1 (en) | 2017-11-30 |
TW201741877A (zh) | 2017-12-01 |
US10394545B2 (en) | 2019-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI393012B (zh) | 具有一致的埠組態之sas控制器 | |
TWI602124B (zh) | 用於風扇轉速控制的基板管理控制器韌體更新方法 | |
CN107066305B (zh) | 用于更新服务器的服务器固件的方法和装置以及服务器 | |
TWI446683B (zh) | 分散式電池管理系統及其標識分配方法 | |
WO2016101718A1 (zh) | 数据补全方法和装置 | |
CN107066300B (zh) | 一种存储设备的固件升级方法和存储设备 | |
TWI590160B (zh) | 韌體更新技術 | |
TW201913369A (zh) | 具有雙韌體儲存空間之伺服器及其韌體更新方法 | |
KR20110076432A (ko) | Can 통신을 이용한 다중 프로그램 업데이트 시스템 및 방법 | |
JP5225163B2 (ja) | データ更新装置、データ更新装置のデータ更新方法およびデータ更新プログラム | |
JP2018190376A (ja) | 管理コントローラによるsas/sataハードディスクドライブ更新 | |
TW201541352A (zh) | 系統管理控制器以及設定檔回復與備份的方法 | |
TWI656764B (zh) | 網路系統及定位sas集束磁碟纜線路由的方法 | |
TW201331883A (zh) | 執行第三人工廠試驗系統及方法 | |
TWI595415B (zh) | 韌體更新控制方法 | |
JP6915569B2 (ja) | 保存装置、通信システム、保存方法及びコンピュータプログラム | |
JP6686459B2 (ja) | 診断装置、診断方法および診断プログラム | |
CN109375953B (zh) | 一种操作系统启动方法及装置 | |
JP2019220128A (ja) | ケーブル接続を特定するネットワークシステム及びケーブルidを認証する方法 | |
JP2012093961A (ja) | 制御装置及び方法、並びにプログラム書込システム | |
TW201327162A (zh) | 硬碟動態映射方法與應用其之伺服器 | |
US20140371533A1 (en) | Endoscope device and endoscope system | |
CN107656744B (zh) | 固件更新控制方法 | |
TWI547873B (zh) | 端點伺服器的控制模組及其韌體更新方法 | |
CN109684153B (zh) | 具有双韧体储存空间的服务器及其韧体更新方法 |