亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種時鐘同步方法和系統(tǒng)的制作方法

文檔序號:7662000閱讀:110來源:國知局
專利名稱:一種時鐘同步方法和系統(tǒng)的制作方法
技術領域
本發(fā)明涉及通信技術領域,特別是涉及一種多處理裝置系統(tǒng)的時鐘同步 方法和系統(tǒng)。
背景技術
隨著處理系統(tǒng)規(guī)模的不斷發(fā)展,在系統(tǒng)中包含業(yè)務模塊的數(shù)量也越來越 多,例如業(yè)務處理模塊、主控模塊等,通常這些業(yè)務模塊都擁有獨立的時鐘 單元,為上述業(yè)務模塊單獨提供時鐘。由于各個業(yè)務模塊所采用的時鐘均來 自其模塊內部,因此常常會產(chǎn)生業(yè)務模塊之間時鐘不同步的問題。然而在一 些比較重要的場合,比如數(shù)據(jù)存儲系統(tǒng),系統(tǒng)中的信息數(shù)據(jù)是對時間特性非 常敏感性的,例如數(shù)據(jù)本身的生效時間、數(shù)據(jù)間的相對時間等數(shù)據(jù),如果各 個業(yè)務模塊之間的時鐘不能夠同步,將會對上述數(shù)據(jù)的記錄和保存造成混亂。 因此系統(tǒng)必須采用 一種有效的方法來保證多個業(yè)務單元間的時鐘同步,保證 不同業(yè)務模塊之間數(shù)據(jù)時間的相對性?,F(xiàn)有技術中通常采用在系統(tǒng)中設置一個統(tǒng)一的系統(tǒng)時鐘源,該系統(tǒng)時鐘 源為所有業(yè)務模塊提供時鐘,從而保證各個業(yè)務模塊時鐘的一致性。如圖1 所示,為現(xiàn)有技術中采用統(tǒng)一系統(tǒng)時鐘源的多模塊系統(tǒng)架構圖。圖1中每個Node均為一個獨立的處理單元,可以擁有獨立的時鐘單元,MCA (Manage Control Adapter,管理控制適配器)為整個系統(tǒng)的管理;f莫塊,用于實現(xiàn)對整個 系統(tǒng)的管理,并由MCA產(chǎn)生統(tǒng)一的系統(tǒng)時鐘源為各個業(yè)務模塊提供時鐘。由 MCA1和MCA2分別生成時鐘1和時鐘2,然后分別連接到整個系統(tǒng)的所有 Node上,對于所有的Node來說,時鐘1和時鐘2均是本地模塊的輸入時鐘, 系統(tǒng)通過管理協(xié)商,決定采用其中一個作為整個系統(tǒng)的主時鐘,另外一個作 為備份時鐘,當主時鐘出現(xiàn)故障時,由備份時鐘保證系統(tǒng)的同步,如果主、 備時鐘均出現(xiàn)故障,則每個Node才可以采用本地時鐘單元的時鐘。 在使用上述方法時,至少存在如下問題現(xiàn)有4支術中的系統(tǒng)時鐘對 MCA的依賴性非常大,當系統(tǒng)中有多個業(yè)務模塊時,為了保持系統(tǒng)時鐘一 致性,需要配套至少一個MCA模塊。2、現(xiàn)有技術中在有多個MCA為系 統(tǒng)提供時鐘時,需要采用軟件協(xié)商的方式確定主時鐘,特別是在主時鐘出 現(xiàn)故障時也需要通過采用軟件協(xié)商從備用時鐘中挑選主時鐘,因為軟件協(xié) 商需要上報系統(tǒng)處理器進行處理,因此從系統(tǒng)時鐘故障到系統(tǒng)時間恢復需 要較長時間,從而導致因此產(chǎn)生的時間延遲不可忽略。發(fā)明內容本發(fā)明提供一種時鐘同步方法和系統(tǒng),以實現(xiàn)包括多個處理裝置的系 統(tǒng)中的時鐘同步。為達到上述目的,本發(fā)明提供一種時鐘同步方法,用于包括多個處理裝 置的網(wǎng)絡存儲控制系統(tǒng)中不同裝置間的時鐘同步,包括如下步驟所述網(wǎng)絡存儲控制系統(tǒng)的多個處理裝置使用其中一個處理裝置的本地時 鐘作為同步時鐘源進行時鐘同步;;險測到所述同步時鐘源無效時,從其他所述處理裝置選擇另一處理裝置 的本地時鐘作為新的同步時鐘源。其中,所述4企測到同步時鐘源無效的方法具體為在預先設定的時間內,檢測到所述同步時鐘源的時鐘信號狀態(tài)始終無變化。其中,所述在預先設定的時間內同步時鐘源的時鐘信號狀態(tài)始終無變化 的方法具體為所述處理裝置在本地運行一定時器,所述定時器的設定時間大于所述同 步時鐘源的時鐘信號的半周期,小于所述同步時鐘源的時鐘信號的一個周期;所述同步時鐘源的時鐘信號的信號狀態(tài)發(fā)生變化時,所述定時器清零; 所述定時器到達所述設定時間時,判斷為所述同步時鐘源的時鐘信號狀態(tài)無 變化,所述同步時鐘源無效。其中,所述^"測到同步時鐘源無效時,其他所述處理裝置通過仲裁輸出 的方法,選擇另 一處理裝置的本地時鐘作為新的同步時鐘源。其中,所述其他處理裝置通過仲裁輸出選擇另一處理裝置的本地時鐘作為新的同步時鐘源的步驟具體包括檢測到所述同步時鐘源無效的每一處理裝置,輸出本地時鐘用于驅動所 述同步時鐘源;所述每一處理裝置在輸出本地時鐘后,判斷以所述本地時鐘驅動所述同 步時鐘源是否成功;所述每一處理裝置在所述判斷結果為驅動成功時,繼續(xù)輸出本地時鐘用 于驅動所述同步時鐘源;否則停止輸出本地時鐘并獲取所述同步時鐘源。其中,所述判斷以本地時鐘驅動所述同步時鐘源的時鐘信號是否成功的 方法具體為檢測到本地時鐘信號的上升沿時,檢測所述同步時鐘源的信號狀態(tài)是否 為高,若為高則判斷為驅動成功,否則判斷為驅動失敗。其中,所述多個處理裝置使用其中一個處理裝置的本地時鐘作為同步時 鐘源進行時鐘同步的步驟后還包括所述多個處理裝置實時或定時對本地時鐘進行自檢,發(fā)現(xiàn)本地時鐘無效 時,正在以本地時鐘驅動所述同步時鐘源的處理裝置停止輸出本地時鐘;其 他處理裝置不輸出本地無效時鐘用于驅動所述同步時鐘源。本發(fā)明還提供一種時鐘同步方法,用于包括多個處理裝置的網(wǎng)絡存儲控 制系統(tǒng)中任一處理裝置與其他處理裝置間的時鐘同步,包括如下步驟檢測同步時鐘源是否有效;所述同步時鐘源有效時,獲取所述同步時鐘源用于與其他處理裝置間的 時鐘同步;所述同步時鐘源無效時,輸出本地時鐘用于驅動所述同步時鐘源,并判 斷以所述本地時鐘驅動所述同步時鐘源是否成功;若成功則繼續(xù)輸出本地時 鐘用于驅動所述同步時鐘源;否則停止輸出本地時鐘并獲取所述同步時鐘源。其中,所述檢測同步時鐘源是否有效的方法具體為在預先設定的時間內,所述同步時鐘源的時鐘信號狀態(tài)交替變化時,所
述同步時鐘源有效,否則所述同步時鐘源無效。本發(fā)明還提供一種時鐘同步系統(tǒng),用于包括多個處理裝置的網(wǎng)絡存儲控制系統(tǒng)中,不同裝置間的時鐘同步,包括第一處理裝置,用于使用其本地時鐘作為同步時鐘源進行所述系統(tǒng)中不同裝置間的時鐘同步;至少一個其他處理裝置,^r測到所述第一處理裝置的同步時鐘源無效時, 通過仲裁輸出選擇另一處理裝置的本地時鐘作為新的同步時鐘源。其中,所述第一處理裝置和其他裝置進一步包括本地時鐘單元,用于生成本地時鐘并向處理單元發(fā)送,以在需要時以 所述本地時鐘驅動系統(tǒng)的同步時鐘源;處理單元,用于在發(fā)現(xiàn)系統(tǒng)的同步時鐘有效時,通知接口單元讀入同 步時鐘,并發(fā)送到同步時鐘單元用于時鐘的同步;在發(fā)現(xiàn)系統(tǒng)的同步時鐘 無效時,將所述本地時鐘單元產(chǎn)生的本地時鐘向接口單元輸出用于驅動系 統(tǒng)的同步時鐘源;判斷驅動失敗時,中斷所述本地時鐘的輸出,否則繼續(xù) 輸出本地時鐘;接口單元,用于接收到所述處理單元發(fā)送的本地時鐘時,以所述本地 時鐘驅動系統(tǒng)的同步時鐘源;并獲取同步時鐘發(fā)送到所述處理單元,用于 驅動本地同步時鐘;同步時鐘單元,用于接收所述處理單元發(fā)送的同步時鐘,進行時間的 同步。其中,所述處理單元進一步包括同步時鐘檢測子單元,用于檢測所述接口單元獲取的系統(tǒng)的同步時鐘地時鐘,否則通知輸出子單元;輸出子單元,用于在所述同步時鐘檢測子單元判斷系統(tǒng)的同步時鐘無 效時,將所述本地時鐘單元產(chǎn)生的本地時鐘向所述接口單元發(fā)送用于驅動 系統(tǒng)的同步時鐘源;驅動判決子單元,用于將所述本地時鐘發(fā)送到所述接口單元用于嘗試
驅動系統(tǒng)的同步時鐘源時,判斷所述驅動是否成功,若失敗則中斷所述本
地時鐘的輸出;否則繼續(xù)輸出本地時鐘。
其中,所述同步時鐘檢測子單元進一步包括
定時器模塊,用于對所述同步時鐘源的時鐘信號的信號狀態(tài)進行計時, 所述定時器的設定時間大于所述同步時鐘源的時鐘信號的半周期,小于所述 同步時鐘源的時鐘信號的一個周期;到達所述設定時間時,判斷為所述同步 時鐘源無效; 、
同步時鐘源狀態(tài)檢測模塊,用于檢測到所述同步時鐘源的時鐘信號的信 號狀態(tài)發(fā)生變化時,將所述定時器模塊中的定時器清零。
其中,所述驅動判決子單元進一步包括
本地信號檢測模塊,用于在所述輸出子單元使用本地時鐘驅動系統(tǒng)的 同步時鐘源時,檢測本地時鐘信號的上升沿并通知所述驅動判決模塊;
驅動判決模塊,用于所述本地信號檢測模塊檢測到本地時鐘信號的上升 沿時,檢測所述同步時鐘源的信號狀態(tài)是否為高,若為高則判斷為驅動成功, 否則判斷為驅動失敗。
其中,所述第一處理裝置和其他裝置還包括
自斗企單元,與所述處理單元和接口單元連接,用于對所述處理單元向 所述接口單元發(fā)送的本地時鐘進行自檢,發(fā)現(xiàn)所述本地時鐘無效時,停止 將所述本地時鐘輸出到所述接口單元,以避免所述無效的本地時鐘去驅動 同步時鐘源。
其中,所述自檢單元進一步包括
自檢定時器子單元,用于對所述本地時鐘信號的信號狀態(tài)進行計時,所 述定時器的設定時間大于所述本地時鐘信號的半周期,小于所述本地時鐘信 號的一個周期;到達所述設定時間時,判斷為所述本地時鐘無效;
本地時鐘狀態(tài)檢測子單元,用于檢測到所述本地時鐘信號的信號狀態(tài)發(fā) 生變化時,將所述自檢定時器模塊中的定時器清零。
本發(fā)明的技術方案具有以下優(yōu)點
采用硬件檢測方法檢測系統(tǒng)同步時鐘的有效性,實現(xiàn)了時鐘源的仲裁,
方法簡單且實時性好。另外,在檢測到系統(tǒng)時鐘出現(xiàn)故障時,通過硬件仲裁 的方法選取其中 一個處理單元內部的時鐘作為主時鐘源為整個系統(tǒng)提供同步 時鐘,從故障中恢復所需的時間很短。


圖1是現(xiàn)有技術中采用統(tǒng)一系統(tǒng)時鐘源的多模塊系統(tǒng)架構圖2是本發(fā)明中各Node的時鐘同步系統(tǒng)架構示意圖3是本發(fā)明中Node啟動時的時鐘同步方法流程圖4是本發(fā)明中Node對時鐘clk進行實時信號監(jiān)控的方法流程圖6是本發(fā)明中的應用場景中時鐘同步方法流程圖; 圖7是本發(fā)明中的處理裝置的結構示意圖; 圖8是本發(fā)明中的處理裝置的另一結構示意圖。
具體實施例方式
下面結合附圖和實施例,對本發(fā)明的具體實施方式
作進一步詳細描述 本發(fā)明中,無需MCA進行網(wǎng)絡存儲控制系統(tǒng)時鐘時間的同步管理,各 個Node都使用同一個時鐘clk,該時鐘clk是由各個Node中的某一個Node 輸出的。同時每個Node也擁有獨立的本地時鐘單元。對于^f吏用本地的時 鐘輸出時鐘elk用于系統(tǒng)同步的Node來說,時鐘clk既是輸出信號,也是 輸入信號。對于其他使用時鐘elk的Node來說,時鐘elk只是輸入信號。 Node對于其他使用本發(fā)明中各Node的時鐘同步系統(tǒng)架構如圖2所示。
因各個Node的結構以及處理邏輯相同,因此以下只具體的描述一個 Node的時鐘同步處理方法。其中,以時鐘clk表示系統(tǒng)公用的同步時鐘信 號,以local—elk表示該Node本地的時鐘信號。需要說明的是,對于每一 個Node,其內部一般有高頻和低頻兩種時鐘信號,高頻時鐘信號一般用來 計數(shù),低頻信號一般用來作為本地的時鐘信號local—clk。 一般情況下,各 個Node內部的低頻時鐘的頻率彼此相同,高頻時鐘的頻率也彼此相同,
而系統(tǒng)公用的時鐘信號clk也是低頻信號。
以下首先對Node啟動時的時鐘同步方法進行描述。如圖3所示,包 括如下步驟
步驟s301、 Node啟動時,判斷時鐘elk是否已經(jīng)有效,有效時進行步 驟s305,否則繼續(xù)步驟s302。
Node啟動時,系統(tǒng)的同步時鐘clk可能已經(jīng)有效存在,即已經(jīng)由某一 其他Node的本地時鐘所驅動,因此需要首先對時鐘elk的有效性進行判斷。 時鐘clk在無信號時,會處于常高狀態(tài),因此,clk判斷的標準可以為在 預定的時間內檢測到時鐘clk的上升沿或下降沿時,認為時鐘clk有效,否 則認為時鐘clk無效。該無效的原因可能為系統(tǒng)重啟后暫無其他Node 對時鐘clk進行驅動;或目前正在驅動時鐘clk的Node出現(xiàn)故障。
步驟s302、使用本地時鐘local—clk作為輸出,驅動時鐘clk。
沖全測到時鐘clk無效時,輸出本地時鐘local—clk驅動時鐘clk。
步驟s303、判斷clk和local—clk是否同步釋放,是則進行步驟s304, 否則進行步驟s305。
使用本地鐘local—clk驅動時鐘clk后,檢測clk和local—clk是否同步 釋放,同步釋放的檢測標準為同時出現(xiàn)上升沿和下降沿。若同步釋放, 則說明由本地時鐘local—clk對時鐘clk的驅動已經(jīng)成功,否則驅動失敗。 驅動失敗的原因可能為其他Node正在對同步時鐘clk進行驅動。
步驟s304、繼續(xù)由本地時鐘驅動輸出并進行步驟s306。
步驟s305、放棄本地時鐘輸出并進行步驟s306。
驅動失敗時,方丈棄本地時鐘輸出。
步驟s306、從背板時鐘信號線上取用時鐘作為同步時鐘并結束。 所有的Node都與背板上的傳輸時鐘clk的信號線相連,從該信號線上
獲取信號作為時鐘clk進行時間同步。當時鐘clk由本地的1ocaLclk驅動
時,時鐘clk即本地的local—clk。
Node獲得了時鐘clk后,還需要對該時鐘clk進行實時信號監(jiān)控,以
便在時鐘clk有故障發(fā)生時,能夠及時發(fā)現(xiàn)并根據(jù)預設的邏輯進入仲裁輸
出。而對于使用本地時鐘local_clk驅動時鐘elk的Node,在本地時鐘 local—elk發(fā)生故障時,該Node會根據(jù)本身的自檢機制停止以本地時鐘 local—elk驅動時鐘clk。對于該自檢機制,將在下文進行詳細描述。Node 對時鐘clk進行實時信號監(jiān)控的步驟如圖4所示,包括如下步驟 步驟s401 、檢測到時鐘elk的信號邊沿。
檢測到時鐘clk的信號邊沿時,說明時鐘clk的信號有效。因此,每一 次檢測到時鐘clk的信號邊沿,都直接重新開始本監(jiān)控流程。
步驟s402、將計數(shù)器Counter清零,記錄當前時鐘elk的狀態(tài)s0。
該計數(shù)器Counter的值是通過Node的本地高頻時鐘進行計數(shù)的,記錄 的當前時鐘的狀態(tài)s0為0或1 。
步驟s403、以自身高頻時鐘進行計數(shù)。
可以以每一次上升沿或下降沿作為一次計數(shù),也即每經(jīng)過一個高頻時 鐘的周期,計數(shù)加1。
步驟s404、判斷計數(shù)是否超過預設值,未超過時返回上一步驟s403, 超過時進行步驟s405。
該預設的門限值與本地高頻時鐘及本地低頻時鐘(即local—elk)的關 系有關,具體的,考慮到時鐘信號的占空比一般為50%,因此該預設值可 以設置為1/2個本地低頻時鐘周期和1個本地低頻時鐘周期之間,即經(jīng)過 該門限值的時間后,時鐘elk的狀態(tài)應該發(fā)生變化。以高頻時鐘的頻率是 低頻時鐘的1000倍為例,該計數(shù)器可以設置在500 ~ 1000之間,即1/2個 本地低頻時鐘周期和1個本地低頻時鐘周期之間。
步驟s405、獲取時鐘elk的當前狀態(tài),判斷時鐘elk的當前狀態(tài)是否 與sO相同。相同時進行步驟s406,否則進行步驟s402。
若相同,說明經(jīng)過了該預設值的時間后,時鐘clk的狀態(tài)未發(fā)生變化, 可以判斷為時鐘clk出現(xiàn)了故障。
步驟s406、判斷時鐘elk出現(xiàn)故障。
步驟s407、進入仲裁輸出流程。
出現(xiàn)故障時,Node上執(zhí)行的仲裁輸出流程如圖5所示,包括以下步驟
步驟s501、檢測到時鐘elk出現(xiàn)故障。
步驟s502、以本地時鐘local—elk作為時鐘elk輸出。
在以本地時鐘local—elk作為時鐘elk豐t出時,還需要對本地時鐘
local一clk預先進行自檢,自檢通過時才可以將本地時鐘local—elk作為時鐘
clk輸出,該自檢的機制將在下文進行詳細描述。
步驟s503、判斷本地時鐘local—elk是否出現(xiàn)上升沿,若出現(xiàn)則進行步
驟s504,否則重復本步驟直至檢測到上升沿,以進行步驟s504。
等待本地時鐘local_clk的上升沿,作為驅動時鐘clk是否成功的條件。 步驟s504、讀取時鐘clk的狀態(tài)。
步驟s505、判斷時鐘clk的狀態(tài)是否為高,不是則進行步驟s506,否 則進行步驟s507。
檢測到本地時鐘local—elk的上升沿后,若時鐘elk的狀態(tài)也為高,說 明本地時鐘local—clk對時鐘elk的驅動成功;若時鐘elk的狀態(tài)不為高, 說明其他Node正在嘗試驅動clk,因此放棄驅動。需要說明的是,在有的 Node對時鐘clk的驅動為高、有的Node對時鐘elk的驅動為低的情況下, 時鐘clk的信號為低。
步驟s506、撤銷以本地local—elk驅動時鐘clk,從背纟反時鐘信號線上 取用時鐘elk作為同步時鐘并結束。
步驟s507、持續(xù)以本地時鐘local—elk作為時鐘clk輸出并結束。
上述各步驟中,涉及到了 Node對于本地時鐘local_dk進行自檢的過 程,自4全的目的在于,當Node以本地時鐘local—elk驅動所有Node用于同 步時間的時鐘clk時,若發(fā)現(xiàn)本地時鐘local—elk出現(xiàn)故障,即停止對時鐘 clk的驅動;或當發(fā)現(xiàn)本地時鐘local—elk出現(xiàn)故障時,不嘗試用該出現(xiàn)故 障的本地時鐘local—elk去驅動所有Node用于同步時間的時鐘clk。該自檢 機制的實現(xiàn)方法很多,如將本地時鐘local—elk經(jīng)過RC電路變換后,與預 設的參考電壓進行比較,高于該參考電壓時即為local—clk正常,否則判斷 為該local—elk出現(xiàn)故障。
以下通過一個具體的應用場景,描述本發(fā)明的實施方式。
假設系統(tǒng)中包括NodeO、 Node 1以及Node2三個處理單元。其中,以 Node0的本地時鐘local—clk0 (圖中未畫出)作為系統(tǒng)時鐘elk的驅動源給 所有Node提供時鐘信號。對于該NodeO來講,local—clkO為輸出信號,同 時也是本地同步時間elk的輸入;而Nodel和Node2均處于備份狀態(tài),elk (即local—clkO)是輸入信號,用該信號作為本地Node同步時間elk的輸 入,這樣4呆i正整個系統(tǒng)的時鐘同步。其中Nodel和Node2在"f吏用clk信號 的同時,實時監(jiān)控該clk信號,以便當elk出現(xiàn)時進行仲裁,切換系統(tǒng)時鐘 源。以下假設NodeO、 Nodel以及Node2中所使用的本地時鐘local—clkO、 本地時鐘local—clkl和本地時鐘local—clk2的頻率均為33KHz,而內部用于 計數(shù)的高頻時鐘為33MHz。
如圖6所示,Nodel和Node2正常運行時,分別在本地使用33MHz 時鐘對33KHz的時鐘clk進行釆樣,clk的占空比一般要求在50%左右, 這樣可以設置計數(shù)器counter的預設值為3/4的時鐘clk周期,這樣3/4的 時鐘clk周期大概為750個33MHz的脈沖,也即counter的超時值為750, 該計數(shù)器在檢測到上升沿或下降沿時初始化為0,然后以高頻時鐘33MHz 作為計數(shù)單位,當clk正常運行時,按照上述步驟s401至步驟s407,每一 次counter到達750前都能發(fā)現(xiàn)clk的狀態(tài)發(fā)生變化,時鐘源正常,無需切 換,因此把counter清零。因此Nodel和Node2不會檢測到時鐘clk出現(xiàn) 故障。
當NodeO的時鐘驅動源local—clkO出現(xiàn)故障時(圖中未畫出),使得 clk無信號,處于常高狀態(tài)。如圖6所示,在clk的上升沿或者下降沿,如 圖中的A點都會使Node的counter計數(shù)器清零,如果clk正常,則在B點 應該出現(xiàn)如虛線所示的下降沿,但是實際上并沒有,也即clk出現(xiàn)故障, 計數(shù)器沒有被正常清零。當Nodel和Node2計數(shù)器計數(shù)到750,如圖中C 點,而且clk沒有變化,則認為時鐘源出現(xiàn)故障,所有檢測到該故障的Node 均把自身的內部33KHz信號當作時鐘源輸出。由于Nodel和Node2的本 地時鐘local—clkl和local—clk2存在時間差異,因此在C點,clk信號被Node 1 的本地時4t local—clkl驅動為0;隨后,Node2的本地時鐘local—clk2的信
號也為低,因此Node2也驅動clk為0。在D點,Nodel的本地時鐘local—clkl 出現(xiàn)上升沿時,Nodel試圖把elk驅動為高,但是由于Node2的本地時鐘 local—clk2還在驅動為低,因此Nodel 4僉測到clk仍然為低,說明還有別的 Node在驅動clk,因此Nodel放棄驅動。同樣,Node2的本地時鐘local—clk2 出現(xiàn)上升沿時,Node2試圖把clk驅動為高,讀取clk信號后發(fā)現(xiàn)clk信號 確實為高,因此確認clk確實受Node2的本地時鐘local—clk2驅動,這樣 就實現(xiàn)了對同步時鐘clk的輸出仲裁。整個系統(tǒng)的最后由Node2的33K本 地時鐘local—clkl作為時鐘源;如果還有更多的Node時,仲裁方法不變, 也即把clk信號拉低并最后釋放的Node勝出。
通過以上描述的方法,采用硬件檢測方法檢測系統(tǒng)同步時鐘的有效性, 實現(xiàn)了時鐘源的仲裁,方法簡單且實時性好。另外,在檢測到系統(tǒng)時鐘出現(xiàn) 故障時,通過^5更件仲裁的方法選取其中 一個處理單元內部的時鐘作為主時鐘 源為整個系統(tǒng)提供同步時鐘,從故障中恢復所需的時間很短。
本發(fā)明還提供一種處理裝置,應用于包括多個處理裝置的網(wǎng)絡存儲控制 系統(tǒng)中,安裝在每一裝置上用于不同裝置間的時間同步。
其結構如圖7所示,包括本地時鐘單元10、處理單元20、自沖企單元 30、接口單元40和同步時鐘單元50。
其中,本地時鐘單元10,用于生成本地時鐘local—clk并向處理單元 20發(fā)送,用于在需要時以該本地時鐘local_clk驅動系統(tǒng)的同步時鐘dk。
處理單元20,用于在發(fā)現(xiàn)系統(tǒng)的同步時鐘clk有效時,通知接口單元 40讀入背板時鐘信號線的同步時鐘clk,并發(fā)送到同步時鐘單元50用于時 鐘的同步。另外,還用于在發(fā)現(xiàn)系統(tǒng)的同步時鐘clk無效時,將本地時鐘 單元10產(chǎn)生的本地時鐘loca1—clk輸出到自檢單元30,通過自檢后嘗試驅 動系統(tǒng)的同步時鐘clk。判斷驅動失敗時,中斷向自檢單元30發(fā)送本地時 鐘單元10產(chǎn)生的本地時鐘local—clk;否則繼續(xù)將本地時鐘單元10產(chǎn)生的 本地時鐘local—clk輸出到自檢單元30。
自檢單元30,用于對處理單元20發(fā)送的由本地時鐘單元10生成的本 地時鐘local—clk進行自檢,發(fā)現(xiàn)故障時,若正以本地時鐘local—clk驅動同
步時間的時鐘clk,則停止對時鐘clk的驅動;另外,發(fā)現(xiàn)故障時,不將本 地時鐘local—elk輸出到接口單元40,避免嘗試用該出現(xiàn)故障的本地時鐘 1ocaLclk去驅動時鐘clk。該自4企單元30進一步包括自檢定時器子單元 31,用于對本地時鐘信號local—clk的信號狀態(tài)進行計時,定時器的設定時間 大于本地時鐘信號local—elk的半周期,小于本地時鐘信號local—elk的一個周 期;到達設定時間時,判斷為所述本地時鐘local—elk無效;本地時鐘狀態(tài)檢 測子單元32,用于檢測到本地時鐘信號local—elk的信號狀態(tài)發(fā)生變化時,將 自檢定時器子單元31中的定時器清零。即在半周期時應檢測到信號 local一clk的交替變化,此時將自檢定時器子單元31清零,若沒有變化則會 導致自檢定時器子單元31到達預設值,判斷為本地時鐘信號local—elk無效。 接口單元40,用于接收到自^r單元30發(fā)送的由本地時鐘單元10生成 的本地時鐘local—elk時,嘗試用該本地時鐘local—elk去驅動時鐘clk,另 外,從背板時鐘信號線獲取時鐘clk并發(fā)送到處理單元20,用于驅動本地 同步時鐘。同步時鐘單元50,用于接收處理單元20發(fā)送的時鐘clk,作為同步時 鐘進行時間的同步。其中,處理單元20進一步包括同步時鐘4全測子單元21、輸出子單元 22和驅動判決子單元23。同步時鐘檢測子單元21,用于檢測接口單元40向處理單元20發(fā)送的 時鐘clk是否有效,若有效則中斷向自檢單元30發(fā)送本地時鐘單元10產(chǎn) 生的本地時鐘local一clk,否則通知輸出子單元22。同步時鐘;險測子單元21 進一步包括定時器模塊211,用于對同步時鐘源clk的信號狀態(tài)進行計時, 定時器的設定時間大于同步時鐘源clk的時鐘信號的半周期,小于同步時鐘源 clk的時鐘信號的一個周期;到達設定時間時,判斷為同步時鐘源clk無效; 同步時鐘源狀態(tài)檢測模塊212,用于檢測到同步時鐘源clk的時鐘信號的信號 狀態(tài)發(fā)生變化時,將定時器模塊211中的定時器清零,即在半周期時應檢 測到信號的交替變化,此時將定時器模塊211清零,若沒有變化則會導致 定時器模塊211到達預設值,判斷為同步時鐘源clk無效。 輸出子單元22,用于在同步時鐘檢測子單元21判斷時鐘clk無效或出 現(xiàn)故障時,將本地時鐘單元IO產(chǎn)生的本地時鐘local—elk向自檢單元30發(fā) 送,用于通過自檢后嘗試驅動系統(tǒng)的同步時鐘clk。驅動判決子單元23,用于當本單元將本地時鐘單元IO產(chǎn)生的本地時 鐘local—elk發(fā)送到自檢單元30用于嘗試驅動系統(tǒng)的同步時鐘elk時,判斷 驅動是否成功,若驅動失敗則中斷向自檢單元30發(fā)送本地時鐘單元10產(chǎn) 生的本地時鐘local—elk;否則繼續(xù)將本地時鐘單元10產(chǎn)生的本地時鐘 local—elk輸出到自檢單元30。驅動判決子單元23進一步包括本地信號 檢測模塊231,用于在輸出子單元22使用本地時鐘local_clk驅動系統(tǒng)的同 步時鐘源elk時,檢測本地時鐘信號的上升沿local一clk并在檢測到時通知驅 動判決模塊232;驅動判決模塊232,用于當本地信號檢測模塊231檢測到 本地時鐘信號local—elk的上升沿時,檢測同步時鐘源elk的信號狀態(tài)是否為 高,若為高則判斷為驅動成功,否則判斷為驅動失敗。驅動失敗的原因可能 為其他裝置正在嘗試以本地時鐘信號驅動時鐘源。本發(fā)明中處理裝置的一具體實現(xiàn)方式如圖8所示。其中,本地時鐘單元10生成local一clk并發(fā)送到處理單元20,處理單元 將該local—elk發(fā)送到自4企單元30和控制單元52,控制單元52在接口 B的輸 入為0時將local—elk輸出到漏極輸出(OD)單元53。其中,接口 B的輸入 是由OR單元51控制的。具體的,當處理單元20判斷需要向接口單元發(fā)送 local一clk時,通過接口 A向OR單元51發(fā)送代表0的低電平信號,本地時鐘 單元10生成local—elk經(jīng)過自檢單元30的檢測后,自檢單元30判斷l(xiāng)ocal—elk 無故障時,向OR單元51發(fā)送代表0的低電平信號,只有OR單元51的兩個 輸入都為低電平時,OR單元51才向控制單元52的接口 B發(fā)送代表0的低電 平信號,控制單元52打開,將local—elk通過OD單元53向接口單元40發(fā)送。 當處理單元20判斷使用local—elk驅動elk失敗時,將接口 A輸出的信號調整 為代表1的高電平信號,或自檢單元30發(fā)現(xiàn)local—elk存在故障、輸出代表1 的高電平信號時,控制單元52關閉,停止local—elk的輸出。而接口單元40 將接收到的elk通過處理單元20發(fā)送到同步時鐘單元50用于時鐘同步。
本發(fā)明還提供一種網(wǎng)絡存儲控制系統(tǒng),包括若干上述圖7或圖8所描述的處理裝置。其中存在一個第一處理裝置,使用其本地時鐘作為同步時鐘源 進行系統(tǒng)中不同裝置間的時鐘同步。該存在至少一個其他處理裝置,;險測到 上述第一處理裝置的同步時鐘源無效時,通過仲裁輸出選擇另 一處理裝置的本地時鐘作為新的同步時鐘源。對于各處理裝置的結構,與上述圖7或圖8 所描述的結構完全相同,在此不進^f亍重復描述。通過以上描述的裝置和系統(tǒng),采用硬件檢測系統(tǒng)同步時鐘的有效性,實 現(xiàn)了時鐘源的仲裁。另外,在4企測到系統(tǒng)時鐘出現(xiàn)故障時,通過/更件仲裁的 方法選取其中 一個處理單元內部的時鐘作為主時鐘源為整個系統(tǒng)提供同步時 鐘,從故障中恢復所需的時間很短。以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術領域的 普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進 和潤飾,這些改進和潤飾也應^L為本發(fā)明的保護范圍。
權利要求
1、一種時鐘同步方法,用于包括多個處理裝置的網(wǎng)絡存儲控制系統(tǒng)中不同裝置間的時鐘同步,其特征在于,包括如下步驟所述網(wǎng)絡存儲控制系統(tǒng)的多個處理裝置使用其中一個處理裝置的本地時鐘作為同步時鐘源進行時鐘同步;檢測到所述同步時鐘源無效時,從其他所述處理裝置選擇另一處理裝置的本地時鐘作為新的同步時鐘源。
2、 如權利要求1所述時鐘同步方法,其特征在于,所述檢測到同步時鐘 源無效的方法具體為在預先設定的時間內,檢測到所述同步時鐘源的時鐘信號狀態(tài)始終無變化。
3、 如權利要求2所述時鐘同步方法,其特征在于,所述在預先設定的時 間內同步時鐘源的時鐘信號狀態(tài)始終無變化的方法具體為所述處理裝置在本地運行一定時器,所述定時器的設定時間大于所述同 步時鐘源的時鐘信號的半周期,小于所述同步時鐘源的時鐘信號的一個周期;所述同步時鐘源的時鐘信號的信號狀態(tài)發(fā)生變化時,所述定時器清零; 所述定時器到達所述設定時間時,判斷為所述同步時鐘源的時鐘信號狀態(tài)無 變化,所述同步時鐘源無效。
4、 如權利要求1所述時鐘同步方法,其特征在于,所述一企測到同步時鐘 源無效時,其他所述處理裝置通過仲裁輸出的方法,選擇另一處理裝置的本 地時鐘作為新的同步時鐘源。
5、 如權利要求4所述時鐘同步方法,其特征在于,所述其他處理裝置通 過仲裁輸出選擇另 一處理裝置的本地時鐘作為新的同步時鐘源的步驟具體包 括..檢測到所述同步時鐘源無效的每一處理裝置,輸出本地時鐘用于驅動所 述同步時鐘源;所述每一處理裝置在輸出本地時鐘后,判斷以所述本地時鐘驅動所述同 步時鐘源是否成功;所述每一處理裝置在所述判斷結果為驅動成功時,繼續(xù)輸出本地時鐘用于驅動所述同步時鐘源;否則停止輸出本地時鐘并獲取所述同步時鐘源。
6、 如權利要求5所述時鐘同步方法,其特征在于,所述判斷以本地時鐘 驅動所述同步時鐘源的時鐘信號是否成功的方法具體為檢測到本地時鐘信號的上升沿時,檢測所述同步時鐘源的信號狀態(tài)是否 為高,若為高則判斷為驅動成功,否則判斷為驅動失敗。
7、 如權利要求1所述時鐘同步方法,其特征在于,所述多個處理裝置使 用其中一個處理裝置的本地時鐘作為同步時鐘源進行時鐘同步的步驟后還包括所述多個處理裝置實時或定時對本地時鐘進行自檢,發(fā)現(xiàn)本地時鐘無效 時,正在以本地時鐘驅動所述同步時鐘源的處理裝置停止輸出本地時鐘;其 他處理裝置不輸出本地無效時鐘用于驅動所述同步時鐘源。
8、 一種時鐘同步方法,用于包括多個處理裝置的網(wǎng)絡存儲控制系統(tǒng)中任 一處理裝置與其他處理裝置間的時鐘同步,其特征在于,包括如下步驟檢測同步時鐘源是否有效;所述同步時鐘源有效時,獲取所述同步時鐘源用于與其他處理裝置間的 時鐘同步;所述同步時鐘源無效時,輸出本地時鐘用于驅動所述同步時鐘源,并判 斷以所述本地時鐘驅動所述同步時鐘源是否成功;若成功則繼續(xù)輸出本地時 鐘用于驅動所述同步時鐘源;否則停止輸出本地時鐘并獲取所述同步時鐘源。
9、 如權利要求8所述時鐘同步方法,所述才企測同步時鐘源是否有效的方 法具體為在預先設定的時間內,所述同步時鐘源的時鐘信號狀態(tài)交替變化時,所 述同步時鐘源有效,否則所述同步時鐘源無效。
10、 一種時鐘同步系統(tǒng),用于包括多個處理裝置的網(wǎng)絡存儲控制系統(tǒng)中, 不同裝置間的時鐘同步,其特征在于,包括第一處理裝置,用于使用其本地時鐘作為同步時鐘源進行所述系統(tǒng)中不 同裝置間的時鐘同步;其他處理裝置,檢測到所述第一處理裝置的同步時鐘源無效時,通過仲 裁輸出選擇一處理裝置的本地時鐘作為新的同步時鐘源。
11、 如權利要求IO所述時鐘同步系統(tǒng),其特征在于,所述第一處理裝置和其他裝置進一步包括本地時鐘單元,用于生成本地時鐘并向處理單元發(fā)送,以在需要時以 所述本地時鐘驅動系統(tǒng)的同步時鐘源;處理單元,用于在發(fā)現(xiàn)系統(tǒng)的同步時鐘有效時,通知接口單元讀入同 步時鐘,并發(fā)送到同步時鐘單元用于時鐘的同步;在發(fā)現(xiàn)系統(tǒng)的同步時鐘 無效時,將所述本地時鐘單元產(chǎn)生的本地時鐘向接口單元輸出用于驅動系 統(tǒng)的同步時鐘源;判斷驅動失敗時,中斷所述本地時鐘的輸出,否則繼續(xù) 輸出本地時鐘;接口單元,用于接收到所述處理單元發(fā)送的本地時鐘時,以所述本地 時鐘驅動系統(tǒng)的同步時鐘源;并獲取同步時鐘發(fā)送到所述處理單元,用于 驅動本地同步時鐘;同步時鐘單元,用于接收所述處理單元發(fā)送的同步時鐘,進行時間的 同步。
12、 如權利要求11所述時鐘同步系統(tǒng),其特征在于,所述處理單元進 一步包括同步時鐘檢測子單元,用于檢測所述接口單元獲取的系統(tǒng)的同步時鐘 是否有效,若有效則中斷向所述接口單元發(fā)送所述本地時鐘單元產(chǎn)生的本 地時鐘,否則通知輸出子單元;輸出子單元,用于在所述同步時鐘檢測子單元判斷系統(tǒng)的同步時鐘無 效時,將所述本地時鐘單元產(chǎn)生的本地時鐘向所述接口單元發(fā)送用于驅動 系統(tǒng)的同步時鐘源;驅動判決子單元,用于將所述本地時鐘發(fā)送到所述接口單元用于嘗試 驅動系統(tǒng)的同步時鐘源時,判斷所述驅動是否成功,若失敗則中斷所述本 地時鐘的輸出;否則繼續(xù)輸出本地時鐘。
13、 如權利要求12所述時鐘同步系統(tǒng),其特征在于,所述同步時鐘檢 測子單元進一步包括定時器模塊,用于對所述同步時鐘源的時鐘信號的信號狀態(tài)進行計時, 所述定時器的設定時間大于所述同步時鐘源的時鐘信號的半周期,小于所述 同步時鐘源的時鐘信號的一個周期;到達所述^:定時間時,判斷為所述同步 時鐘源無效;同步時鐘源狀態(tài)檢測模塊,用于檢測到所述同步時鐘源的時鐘信號的信 號狀態(tài)發(fā)生變化時,將所述定時器模塊中的定時器清零。'
14、 如權利要求12所述時鐘同步系統(tǒng),其特征在于,所述驅動判決子 單元進一步包括本地信號檢測模塊,用于在所述輸出子單元使用本地時鐘驅動系統(tǒng)的 同步時鐘源時,檢測本地時鐘信號的上升沿并通知所述驅動判決模塊;驅動判決模塊,用于所述本地信號檢測模塊檢測到本地時鐘信號的上升 沿時,檢測所述同步時鐘源的信號狀態(tài)是否為高,若為高則判斷為驅動成功, 否則判斷為驅動失敗。
15、 如權利要求11所述時鐘同步系統(tǒng),其特征在于,所述第一處理裝 置和其他裝置還包括自檢單元,與所述處理單元和接口單元連接,用于對所述處理單元向 所述接口單元發(fā)送的本地時鐘進行自4企,發(fā)現(xiàn)所述本地時鐘無效時,停止 將所述本地時鐘輸出到所述接口單元,以避免所述無效的本地時鐘去驅動 同步時鐘源。
16、 如權利要求15所述時鐘同步系統(tǒng),其特征在于,所述自檢單元進 一步包括自檢定時器子單元,用于對所述本地時鐘信號的信號狀態(tài)進行計時,所 述定時器的設定時間大于所述本地時鐘信號的半周期,小于所述本地時鐘信 號的一個周期;到達所述設定時間時,判斷為所述本地時鐘無效;本地時鐘狀態(tài)檢測子單元,用于檢測到所述本地時鐘信號的信號狀態(tài)發(fā) 生變化時,將所述自檢定時器模塊中的定時器清零。
全文摘要
本發(fā)明公開了一種時鐘同步方法,用于包括多個處理裝置的網(wǎng)絡存儲控制系統(tǒng)中不同裝置間的時鐘同步,包括如下步驟網(wǎng)絡存儲控制系統(tǒng)的多個處理裝置使用其中一個處理裝置的本地時鐘作為同步時鐘源進行時鐘同步;檢測到同步時鐘源無效時,其他處理裝置選擇另一處理裝置的本地時鐘作為新的同步時鐘源。本發(fā)明還公開了一種時鐘同步系統(tǒng)。通過使用本發(fā)明,實現(xiàn)了對系統(tǒng)同步時鐘的有效性的檢測和對時鐘源的仲裁,方法簡單且實時性好。另外,在檢測到系統(tǒng)時鐘出現(xiàn)故障時,通過硬件仲裁的方法選取其中一個處理單元內部的時鐘作為主時鐘源為整個系統(tǒng)提供同步時鐘,從故障中恢復所需的時間很短。
文檔編號H04L12/26GK101119192SQ20071015447
公開日2008年2月6日 申請日期2007年9月11日 優(yōu)先權日2007年9月11日
發(fā)明者劉介良, 輝 安, 賴守鋒 申請人:杭州華三通信技術有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1