TWI795991B - 資料同步方法 - Google Patents

資料同步方法 Download PDF

Info

Publication number
TWI795991B
TWI795991B TW110141801A TW110141801A TWI795991B TW I795991 B TWI795991 B TW I795991B TW 110141801 A TW110141801 A TW 110141801A TW 110141801 A TW110141801 A TW 110141801A TW I795991 B TWI795991 B TW I795991B
Authority
TW
Taiwan
Prior art keywords
main
output module
control unit
management control
sub
Prior art date
Application number
TW110141801A
Other languages
English (en)
Other versions
TW202319928A (zh
Inventor
譚錦鴻
許恆嘉
王健仲
葉育書
林貞吟
Original Assignee
神雲科技股份有限公司
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 神雲科技股份有限公司 filed Critical 神雲科技股份有限公司
Priority to TW110141801A priority Critical patent/TWI795991B/zh
Priority to US18/052,559 priority patent/US20230153255A1/en
Application granted granted Critical
Publication of TWI795991B publication Critical patent/TWI795991B/zh
Publication of TW202319928A publication Critical patent/TW202319928A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Hardware Redundancy (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

一種資料同步方法,包含以下步驟:(A)一主動式輸入輸出模組的一主基板管理控制單元在一主記憶體中建立一主緩衝記憶體,且一被動式輸入輸出模組的一副基板管理控制單元在一副記憶體中建立一副緩衝記憶體;(B)該副基板管理控制單元搜集多筆副感測器資料,並將該等副感測器資料同時儲存至該主緩衝記憶體;(C)該主基板管理控制單元搜集多筆主感測器資料,並根據該等主感測器資料及該等副感測器資料,更新一主狀態資料,且將更新後的該主狀態資料儲存至該副緩衝記憶體;及(D)該副基板管理控制單元根據更新後的該主狀態資料,更新一副狀態資料。

Description

資料同步方法
本發明是有關於一種資料同步方法,特別是指一種適用於同步主動式輸入輸出模組及被動式輸入輸出模組的資料之資料同步方法。
現有伺服器會包括一主動式輸入輸出模組(Active Input/Output Module, Active IOM)及一被動式輸入輸出模組(Passive IOM),該主動式輸入輸出模組與該被動式輸入輸出模組皆會包括多個感測器,例如溫度感測器、電壓感測器、電流感測器等,主動式輸入輸出模組與該被動式輸入輸出模組以積體電路匯流排(Inter-Integrated Circuit, I²C)介面逐一搜集該等感測器資料。該主動式輸入輸出模組與該被動式輸入輸出模組會互相傳送各自搜集到的感測器資料,以同步資料。其中,感測器資料都是放在使用者空間層(User Space Layer)的檔案系統(File System)中,以檔案的格式來存放。
然而,該主動式輸入輸出模組與該被動式輸入輸出模組互相傳送資料時,是採逐筆傳送資料,逐筆傳送資料不僅耗時,且容易在傳送資料時遺失資料。
因此,本發明的目的,即在提供一種能減少同步時間的資料同步方法。
於是,本發明資料同步方法,適用於同步一主動式輸入輸出模組及一被動式輸入輸出模組的資料,該主動式輸入輸出模組包括一主基板管理控制單元及多個電連接該主基板管理控制單元的主感測器,該主基板管理控制單元具有一主記憶體,該被動式輸入輸出模組包括一電連接該主動式輸入輸出模組之該主基板管理控制單元的副基板管理控制單元及多個電連接該副基板管理控制單元的副感測器,該副基板管理控制單元具有一副記憶體,該主記憶體儲存有一相關於該主動式輸入輸出模組及該動式輸入輸出模組的所有感測器的狀態的主狀態資料,該副記憶體儲存有一相關於該主動式輸入輸出模組及該動式輸入輸出模組的所有感測器的狀態的副狀態資料,該資料同步方法包含以下一步驟(A)、一步驟(B)、一步驟(C),及一步驟(D)。
在該步驟(A)中,該主動式輸入輸出模組的該主基板管理控制單元在該主記憶體中建立一主緩衝記憶體,且該被動式輸入輸出模組的該副基板管理控制單元在該副記憶體中建立一格式相同於該主緩衝記憶體的副緩衝記憶體。
在該步驟(B)中,該被動式輸入輸出模組的該副基板管理控制單元搜集多筆相關於該等副感測器運轉數值的副感測器資料,並將該等副感測器資料同時儲存至該主動式輸入輸出模組的該主緩衝記憶體。
在該步驟(C)中,該主動式輸入輸出模組的該主基板管理控制單元搜集多筆相關於該等主感測器運轉數值的主感測器資料,並根據該等主感測器資料及該主緩衝記憶體儲存的該等副感測器資料,更新該主狀態資料,且將更新後的該主狀態資料儲存至該被動式輸入輸出模組的該副緩衝記憶體。
在該步驟(D)中,該被動式輸入輸出模組的該副基板管理控制單元根據該副緩衝記憶體儲存的更新後的該主狀態資料,更新該副狀態資料。
本發明的功效在於:藉由該主基板管理控制單元與該副基板管理控制單元建立該主緩衝記憶體與該副緩衝記憶體,以致該副基板管理控制單元能同時將該等副感測器資料儲存至該主緩衝記憶體,該主基板管理控制單元與該副基板管理控制單元能直接對該主緩衝記憶體進行讀寫,使得讀寫速度比在檔案系統中開啟檔案要快上許多,且該主基板管理控制單元能將更新後的該主狀態資料儲存至該副緩衝記憶體,減少該主基板管理控制單元與該副基板管理控制單元傳輸資料的次數,以達到減少同步時間的技術功效。
在本發明被詳細描述之前,應當注意在以下的說明內容中,類似的元件是以相同的編號來表示。
參閱圖1,繪示了一主動式輸入輸出模組1及一被動式輸入輸出模組2,該主動式輸入輸出模組1及該被動式輸入輸出模組2,兩者互為備援(redundant),該主動式輸入輸出模組1及該被動式輸入輸出模組2被用來實施本發明資料同步方法的一實施例。
該主動式輸入輸出模組1包括一電連接一共享匯流排(share bus) 3的主基板管理控制單元11、多個電連接該主基板管理控制單元11的主感測器12,及多個電連接該共享匯流排3的主共享感測器13。該主基板管理控制單元11具有一主記憶體111,該主記憶體111儲存有一相關於該主動式輸入輸出模組1及該動式輸入輸出模組的所有感測器的狀態的主狀態資料。
該被動式輸入輸出模組2包括一電連接該主動式輸入輸出模組1之該主基板管理控制單元11的副基板管理控制單元21、多個電連接該副基板管理控制單元21的副感測器22,及多個電連接該共享匯流排3的副共享感測器23。該副基板管理控制單元21具有一副記憶體211,該副記憶體211儲存有一相關於該主動式輸入輸出模組1及該動式輸入輸出模組的所有感測器的狀態的副狀態資料。
值得注意的是,在本實施例中,該主動式輸入輸出模組1與該被動式輸入輸出模組2設置於冗餘伺服器系統(redundant server system)中,該主基板管理控制單元11及該副基板管理控制單元21為基板管理控制器(Baseboard Management Controller, BMC),在其他實施方式中該主基板管理控制單元11及該副基板管理控制單元21憶可為SAS擴展器(expander)或容錯式磁碟陣列控制器(RAID controller),該副基板管理控制單元21經由一積體電路匯流排介面與該主基板管理控制單元11電連接,該主狀態資料與該副狀態資料儲存在Linux系統中的使用者空間層(User Space Layer)之系統監視(System Monitor)應用程式中,但不以此為限。在其他實施方式中,該主動式輸入輸出模組1可不包括該等主共享感測器13,且該主動式輸入輸出模組1可不包括副共享感測器23。
參閱圖1及圖2,說明該主動式輸入輸出模組1與該被動式輸入輸出模組2如何執行本發明資料同步方法之該實施例。以下詳細說明該實施例所包含的步驟。
在步驟S401中,該主基板管理控制單元11在該主記憶體111中建立一主緩衝記憶體(Transfer Buffer, TxBuffer),且該副基板管理控制單元21在該副記憶體211中建立一格式相同於該主緩衝記憶體的副緩衝記憶體,即該主緩衝記憶體與該副緩衝記憶體的佈局(layout)相同,故每一種類資料所對應的儲存位置皆相同。
在本實施例中,該主緩衝記憶體為該主基板管理控制單元11在該主記憶體111中的緩衝空間,該副緩衝記憶體為該副基板管理控制單元21在該副記憶體211中的緩衝空間,該主基板管理控制單元11與該副基板管理控制單元21係在Linux系統中的核心驅動層(Kernel Driver Layer)中建立該主緩衝記憶體與該副緩衝記憶體,且該主緩衝記憶體與該副緩衝記憶體為虛擬的揮發性(volatile)的電子抹除式可複寫唯讀記憶體(Electrically-Erasable Programmable Read-Only Memory, EEPROM),但不以此為限。
在步驟S402中,該副基板管理控制單元21搜集多筆相關於該等副感測器22運轉數值的副感測器資料,並將該等副感測器資料儲存至該主緩衝記憶體。
在本實施例中,該副基板管理控制單元21係將該等副感測器資料打包成一資料封包(package),並經由一積體電路匯流排介面將該資料封包儲存至該主動式輸入輸出模組1的主緩衝記憶體,以同時將該等副感測器資料儲存至該主緩衝記憶體,相較於以該積體匯流排電路介面逐一搜集該等感測器資料,具有更高的速度,但不以此為限。
在步驟S403中,該主基板管理控制單元11搜集多筆相關於該等主感測器12運轉數值的主感測器資料、多筆相關於該等主共享感測器13運轉數值的主共享感測器資料,及多筆相關於該等副共享感測器23運轉數值的副共享感測器資料,並根據該等主感測器資料、該主緩衝記憶體儲存的該等副感測器資料、該等主共享感測器資料及該等副共享感測器資料,更新該主狀態資料,且將更新後的該主狀態資料儲存至該被動式輸入輸出模組2的該副緩衝記憶體。
要特別注意的是,在步驟S402中,該副基板管理控制單元21只會搜集該等副感測器資料,不會去搜集該等主感測器資料。這麼做是為了使該主基板管理控制單元11在步驟403搜集所有的感測器資料後,再統一決定所有感測器的狀態,該主基板管理控制單元11及該副基板管理控制單元21的狀態就能保持(近乎)一致。
值得注意的是,在其他該主動式輸入輸出模組1可不包括該等主共享感測器13,且該主動式輸入輸出模組1可不包括副共享感測器23的實施方式中,在步驟S403中,該主基板管理控制單元11僅蒐集該等主感測器資料,並僅根據該等主感測器資料及該主緩衝記憶體儲存的該等副感測器資料,更新該主狀態資料。
要再注意的是,在本實施例中,該主基板管理控制單元11經由該積體電路匯流排介面,將更新後的該主狀態資料儲存至該被動式輸入輸出模組2的該副緩衝記憶體,但不以此為限。
在步驟S404中,該副基板管理控制單元21根據該副緩衝記憶體儲存的更新後的該主狀態資料,更新該副狀態資料。
要特別說明的是,本發明中屬於箱體管理服務(enclosure management service,EMS)的一部分,其中箱體管理服務指的是用来管理實體儲存裝置陣列的軟體工具,可用來管理硬碟機箱的電源、溫度、及風扇運轉等服務。
綜上所述,本發明資料同步方法,藉由該主基板管理控制單元11與該副基板管理控制單元21建立該主緩衝記憶體與該副緩衝記憶體,以致該副基板管理控制單元21能同時將該等副感測器資料儲存至該主緩衝記憶體,該主基板管理控制單元11與該副基板管理控制單元21能直接對該主緩衝記憶體進行讀寫,使得讀寫速度比在檔案系統中開啟檔案要快上許多,且該主基板管理控制單元11能將更新後的該主狀態資料儲存至該副緩衝記憶體,減少該主基板管理控制單元11與該副基板管理控制單元21傳輸資料的次數,以達到減少同步時間的技術功效,故確實能達成本發明的目的。
惟以上所述者,僅為本發明的實施例而已,當不能以此限定本發明實施的範圍,凡是依本發明申請專利範圍及專利說明書內容所作的簡單的等效變化與修飾,皆仍屬本發明專利涵蓋的範圍內。
1:主動式輸入輸出模組 11:主基板管理控制單元 111:主記憶體 12:主感測器 13:主共享感測器 2:被動式輸入輸出模組 21:副基板管理控制單元 211:副記憶體 22:副感測器 23:副共享感測器 3:共享匯流排 S401~S404:步驟
本發明的其他的特徵及功效,將於參照圖式的實施方式中清楚地呈現,其中: 圖1是一方塊圖,說明用以實施本發明資料同步方法的一實施例;及 圖2是一流程圖,說明本發明資料同步方法的該實施例。
S401~S404:步驟

Claims (6)

  1. 一種資料同步方法,適用於同步一主動式輸入輸出模組及一被動式輸入輸出模組的資料,該主動式輸入輸出模組包括一主基板管理控制單元及多個電連接該主基板管理控制單元的主感測器,該主基板管理控制單元具有一主記憶體,該被動式輸入輸出模組包括一電連接該主動式輸入輸出模組之該主基板管理控制單元的副基板管理控制單元及多個電連接該副基板管理控制單元的副感測器,該副基板管理控制單元具有一副記憶體,該主記憶體儲存有一相關於該主動式輸入輸出模組及該動式輸入輸出模組的所有感測器的狀態的主狀態資料,該副記憶體儲存有一相關於該主動式輸入輸出模組及該動式輸入輸出模組的所有感測器的狀態的副狀態資料,該資料同步方法包含以下步驟: (A)該主動式輸入輸出模組的該主基板管理控制單元在該主記憶體中建立一主緩衝記憶體,且該被動式輸入輸出模組的該副基板管理控制單元在該副記憶體中建立一格式相同於該主緩衝記憶體的副緩衝記憶體; (B)該被動式輸入輸出模組的該副基板管理控制單元搜集多筆相關於該等副感測器運轉數值的副感測器資料,並將該等副感測器資料同時儲存至該主動式輸入輸出模組的該主緩衝記憶體; (C)該主動式輸入輸出模組的該主基板管理控制單元搜集多筆相關於該等主感測器運轉數值的主感測器資料,並根據該等主感測器資料及該主緩衝記憶體儲存的該等副感測器資料,更新該主狀態資料,且將更新後的該主狀態資料儲存至該被動式輸入輸出模組的該副緩衝記憶體;及 (D)該被動式輸入輸出模組的該副基板管理控制單元根據該副緩衝記憶體儲存的更新後的該主狀態資料,更新該副狀態資料。
  2. 如請求項1所述的資料同步方法,其中,在步驟(A)中,該主動式輸入輸出模組的的該主緩衝記憶體,及該被動式輸入輸出模組的的該副緩衝記憶體為可通過電子方式多次複寫且為揮發性。
  3. 如請求項1所述的資料同步方法,其中,在步驟(B)中,該被動式輸入輸出模組的該副基板管理控制單元將該等副感測器資料打包成一資料封包,並將該資料封包儲存至該主動式輸入輸出模組的主緩衝記憶體。
  4. 如請求項1所述的資料同步方法,該主動式輸入輸出模組的該主基板管理控制單元電連接一共享匯流排,該共享匯流排電連接多個設置於該主動式輸入輸出模組的主共享感測器,及多個設置於該被動式輸入輸出模組的副共享感測器,其中,在步驟(C)該主動式輸入輸出模組的該主基板管理控制單元還搜集多筆相關於該等主共享感測器運轉數值的主共享感測器資料,及多筆相關於該等副共享感測器運轉數值的副共享感測器資料,且還根據該等主共享感測器資料及該等副共享感測器資料更新該主狀態資料。
  5. 如請求項1所述的資料同步方法,該被動式輸入輸出模組的該副基板管理控制單元經由一積體電路匯流排介面與該主動式輸入輸出模組的該主基板管理控制單元電連接,其中,在步驟(B)中,該被動式輸入輸出模組的該副基板管理控制單元經由該積體電路匯流排介面將該等副感測器資料同時儲存至該主動式輸入輸出模組的該主緩衝記憶體,在步驟(C)中,該主動式輸入輸出模組的該主基板管理控制單元經由該積體電路匯流排介面,將更新後的該主狀態資料儲存至該被動式輸入輸出模組的該副緩衝記憶體。
  6. 如請求項1所述的資料同步方法,其中,在步驟(A)中,該主動式輸入輸出模組的該主基板管理控制單元與該被動式輸入輸出模組的該副基板管理控制單元係在Linux系統中的核心驅動層中建立該主緩衝記憶體與該副緩衝記憶體。
TW110141801A 2021-11-10 2021-11-10 資料同步方法 TWI795991B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW110141801A TWI795991B (zh) 2021-11-10 2021-11-10 資料同步方法
US18/052,559 US20230153255A1 (en) 2021-11-10 2022-11-03 Method of data synchronization and redundant server system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW110141801A TWI795991B (zh) 2021-11-10 2021-11-10 資料同步方法

Publications (2)

Publication Number Publication Date
TWI795991B true TWI795991B (zh) 2023-03-11
TW202319928A TW202319928A (zh) 2023-05-16

Family

ID=86323491

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110141801A TWI795991B (zh) 2021-11-10 2021-11-10 資料同步方法

Country Status (2)

Country Link
US (1) US20230153255A1 (zh)
TW (1) TWI795991B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050271079A1 (en) * 2004-06-02 2005-12-08 Intel Corporation High speed interface systems and methods
TW200821861A (en) * 2006-11-09 2008-05-16 Inventec Corp Method of updating a dual redundant chassis management system
TW201243613A (en) * 2011-04-19 2012-11-01 Hon Hai Prec Ind Co Ltd Data synchronization system and method
TW201511501A (zh) * 2013-09-03 2015-03-16 Wistron Corp 伺服系統及其備援管理方法
CN108173959A (zh) * 2018-01-09 2018-06-15 郑州云海信息技术有限公司 一种集群存储系统
TW202046135A (zh) * 2019-06-10 2020-12-16 神雲科技股份有限公司 資料備援系統

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050271079A1 (en) * 2004-06-02 2005-12-08 Intel Corporation High speed interface systems and methods
TW200821861A (en) * 2006-11-09 2008-05-16 Inventec Corp Method of updating a dual redundant chassis management system
TW201243613A (en) * 2011-04-19 2012-11-01 Hon Hai Prec Ind Co Ltd Data synchronization system and method
TW201511501A (zh) * 2013-09-03 2015-03-16 Wistron Corp 伺服系統及其備援管理方法
CN108173959A (zh) * 2018-01-09 2018-06-15 郑州云海信息技术有限公司 一种集群存储系统
TW202046135A (zh) * 2019-06-10 2020-12-16 神雲科技股份有限公司 資料備援系統

Also Published As

Publication number Publication date
TW202319928A (zh) 2023-05-16
US20230153255A1 (en) 2023-05-18

Similar Documents

Publication Publication Date Title
US20200159425A1 (en) Apparatus, System, and Method for Data Block Usage Information Synchronization for a Non-Volatile Storage Volume
US10503618B2 (en) Modular switched fabric for data storage systems
US8639976B2 (en) Power failure management in components of storage area network
EP3158455B1 (en) Modular switched fabric for data storage systems
CN105706065A (zh) 存储群集
CN101158935B (zh) 南桥系统和方法
US20080201603A1 (en) Correlating hardware devices between local operating system and global management entity
US20220107740A1 (en) Reconfigurable storage system
CN107077438A (zh) 通过通信介质的部分进行通信
CN108153622A (zh) 一种故障处理的方法、装置和设备
CN107408074A (zh) 存储系统架构
US7716440B2 (en) Storage system and management method thereof
US20180081558A1 (en) Asynchronous Discovery of Initiators and Targets in a Storage Fabric
CN105843560B (zh) 一种维护主从式双控软Raid6一致性的方法及系统
JP6652647B2 (ja) ストレージシステム
JP5509176B2 (ja) 計算機システムおよび計算機システムにおけるモジュール引き継ぎ方法
US9378104B2 (en) Mirroring in three-dimensional stacked memory
US20130166840A1 (en) Dynamic hard disk mapping method and server using the same
US20050015658A1 (en) Redundant manager for a storage system
TWI795991B (zh) 資料同步方法
CN109416620B (zh) 存储集群
CN105634635A (zh) 一种共享rtc的方法、装置和系统
US10506042B2 (en) Storage system that includes a plurality of routing circuits and a plurality of node modules connected thereto
CN102457547A (zh) 多控制器的储存区域网络设备的升级方法
CN112231058A (zh) 一种突破numa拓扑限制创建云主机的方法及装置