專利名稱:針對故障狀態的自主總線重新配置的制作方法
技術領域:
總體上講,本發明涉及一種具有通過信號總線耦接的部件的電子系統。更具體地講,本發明涉及一種信號總線中的一個或多個信號導線上具有故障的信號總線。
背景技術:
一般情況下,電子系統包括通過信號導線互連的多個電子單元。通常,這些由銅、鋁或其它這樣的材料形成的信號導線為導電路徑。此外,光纖也可以傳導信號。
例如,半導體芯片驅動和接收電耦接到使用引線接合或倒裝(flip)芯片技術模塊上的信號導線的信號。通常,還使用銅管腳、焊柱或其它手段把這些模塊耦接到印刷線路板(PWB)信號導線。PWB上的信號導線把各個模塊彼此連接,并且把信號傳送至PWB的邊緣連接器或電纜連接器。PWB邊緣連接器和電纜連接器用于使用背板或電纜把一個PWB與另一個PWB互相連接。即使是在半導體芯片中,極細的電導線也能夠在芯片上的電路和邏輯單元之間傳送信號。
把一組邏輯上相關的信號導線稱為信號總線。例如,通過信號總線把處理器芯片連接于存儲器控制芯片,所述信號總線具有規定數目的信號導線,數據基本上并行地在這些信號導線上流動。即,如果使用8位總線把處理器芯片耦接到存儲器控制,則處理器芯片基本上同時發送8位(一個字節)的數據,信號總線的每一信號導線上一位。例如,處理器芯片一次一個字節地把地址發送到該實例的存儲器控制芯片上,并且一次一個字節地從存儲器控制芯片接收返回的數據。
經濟和物理的因素限制了可用于互連電子元件的信號導線的數目。例如,模塊和卡之間的每一互連,成本大約為一美分。對價格高度敏感的電子單元上的大量互連是不合理的。而且,當把眾多的部件安裝在PWB上時,大量的互連在PWB中強加了額外的布線層,提高了PWB的成本。當使用眾多的互連時,電子單元之間的電纜連接變得十分昂貴,并且較厚,從可靠性角度而言,眾多的電纜導線很難加以處理,成本很高,而且十分麻煩。在一定程度上,不僅成本變高、不可靠,而且物理上也不可能添加更多的互連。
通常,一個電子單元必須把數據塊發送到另一個電子單元。數據塊常常是相當大的。例如,在某些現代計算機系統中的高速緩沖器行是64字節或者128字節長。如果把該塊(即高速緩沖器行)在8字節的信號總線上發送,則分別需要8或16個總線周期(節拍)完成該傳遞。在許多應用中,在具有更少信號導線的信號總線上傳遞更大的數據塊。
今天的電子系統被希望可靠地操作。商務運作所依賴的商用計算機系統的故障時間可能導致難以估量的銷售金錢損失。另外,這樣的故障時間還可能傷害客戶,使他們轉向競爭對手。許多商用系統被指望每周7天、每天24小時(即連續地)運行。導致高峰使用運行中斷的無法預料的故障是非常嚴重的問題。通常,如果發生故障,這樣的商用系統的用戶也希望連續的操作,即使是性能略有下降。然后,用戶可以計劃在更方便的時候糾正故障。軍事系統也嚴重依賴電子系統,而且更傾向于被粗魯地使用和面對惡劣的環境。在作戰環境下,對于用戶來說,電子系統的總故障很可能會導致嚴重的后果。在作戰情況下,備用件(新的電纜、新的PWB等)可能是無法得到的。因此,在許多軍事應用中,以略下降的性能繼續運作是人們更加希望的。
信號總線具有一個或多個與信號總線相關的信號導線,典型的,信號總線具有8的倍數條信號導線。通常,單個的額外信號導線帶有奇偶性校驗位。例如,具有8條信號導線的信號總線還具有帶有奇偶性校驗的第九(奇偶性校驗)條信號導線。發送單元上的奇偶性校驗生成器產生關于奇偶性校驗的邏輯值,以致總線上邏輯“1”的數目總為奇數(或者,在另一個實施例中,總為偶數)。接收單元上的奇偶性校驗檢驗器檢驗所接收的邏輯“1”的數目(即“奇”數或“偶”數)是否為所期望的。這樣的奇偶性校驗生成/檢驗系統可以檢測信號總線上的單個故障,但不能糾正故障。當檢測到奇偶性校驗錯誤時,信號總線不再能夠用于傳輸數據。可以使用額外的信號導線實現“錯誤糾正代碼”(ECC),在許多應用中,ECC可以糾正單個故障并檢測兩個故障。ECC的使用導致了與額外信號導線相關的額外開銷。循環冗余碼(CRC)還使用用于發現和解決傳輸數據過程中的錯誤的另一種技術。
許多現代的電子系統具有執行“連線測試”規程的能力,以確定信號總線中的故障細節。例如,第一電子單元驅動信號導線上的邏輯“1”和“0”的預先確定的模式。通過信號導線耦接到第一電子單元的第二電子單元從信號導線接收數據,并且把所接收的模式與預先確定的模式進行比較。如果所接收的模式與預先確定的模式不同,則信號導線、驅動器或者接收器出現故障。這樣的路徑將使具有或不具有奇偶性校驗的信號總線不可使用。即使使用具有單個錯誤糾正和雙錯誤檢測的ECC的信號總線,也難以保證,因為ECC總線中的另一個故障將使甚至ECC總線不可使用。兩條信號導線中的故障還將使甚至具有單個位糾正的ECC的信號總線不可使用。
發明內容
根據第一方面,提供了一種方法,用于在具有“K”條信號導線的信號總線上,把“J”位的數據塊從第一電子單元發送到第二電子單元,其中,0~“K-1”條信號導線出現故障,該方法包括步驟識別信號總線中故障和無故障信號導線;使用由識別信號總線中故障和無故障信號導線的步驟所發現的信息,設置第一電子單元中和第二電子單元中信號導線的故障狀態;確定信號總線中的故障信號導線的數目“F”;確定信號總線中無故障信號導線的數目“K-F”;以及使用“J/(K-F)”個節拍(beat),如果存在余數則再加上一個額外的節拍,在“K-F”條無故障信號導線上發送“J”位的數據塊。
在優選的實施例中,該方法包括從第一電子單元上的“J”位的數據塊中選擇“K-F”位的位組;使用信號總線中“K-F”條無故障信號導線,使用信號總線的節拍,從第一電子單元向第二電子單元發送“K-F”位的位組;重復以上的步驟,直至發送了所有“K-F”位的組;以及使用某些或全部“K-F”條無故障信號導線,使用信號總線的額外的節拍,把第一電子單元上的“J”位的數據塊的任何剩余的位發送到第二電子單元。
優選地提供一種允許具有故障信號導線的信號總線以略降低的性能加以操作的方法與裝置。
在優選的實施例中,發送步驟還包括步驟從“J”位的數據塊中選擇“K”位的數據組;使用“K-F”條無故障的導線,在節拍上發送“K”位數據組的“K-F”位;存儲由于信號總線中的“F”條故障導線而不能在該節拍上發送的“K”位組中的“F”位;重復以上三個步驟,直至已經選擇了“J”位的數據塊的所有“J”位;以及使用一個或更多的“K-F”條無故障信號導線,在一個或多個額外的節拍上發送所存儲的“F”位。
在優選的實施例中,存儲“F”位的步驟還包括把“F”位中的至少一位移位到移位寄存器的第一端點的步驟。
在優選的實施例中,還包括把移位寄存器的至少一位發送到無故障信號導線的步驟。
在優選的實施例中,還包括移動移位寄存器中的特定的位,以調整該特定的位,用于耦接到無故障信號導線的步驟。
在優選的實施例中,還包括步驟在第二電子單元中,對于“J/(K-F)”個節拍,每一個節拍存儲“K-F”位;以及如果“J/(K-F)”產生余數,則在額外的節拍中,存儲剩余的位。
本發明優選地提供這樣的方法與裝置允許具有通過信號總線耦接到第二電子單元的第一電子單元的電子系統連續地、但不降級的操作,其中信號總線中的信號導線有故障。對信號總線中的無故障信號導線優選地加以識別,而且第一電子單元優選地利用所有無故障信號導線,使用最小數目的節拍(總線周期)以完成傳輸,把傳輸序列中的數據塊發送到第二電子單元。把第一電子單元優選地設計成在具有“K”條信號導線的信號總線上發送具有“J”位的數據塊。第二電子單元優選地接收該數據塊。例如,電子系統使用“連線測試”或其它機制識別信號總線中的故障和無故障信號導線,并且優選地把一條或多條故障信號導線的標識存儲在第一電子單元和第二電子單元中。根據優選的實施例,“F”是信號總線中故障導線的數目。第一電子單元優選地使用故障信號導線的標識以改變其傳輸,在剩余的“K-F”條信號導線上發送“J”位的塊作為傳輸序列,使用一個或多個額外的節拍完成該傳輸。第二電子單元優選地使用故障信號導線的標識,根據該傳輸序列,在無故障的“K-F”條信號導線上接收“J”位的塊。
在實施例中,在需要在含有“K”條信號導線的信號總線上傳輸包括有“J”位的數據塊的電子系統中,當無信號導線出現故障時,在傳輸序列中使用“J/K”個總線周期(節拍)以完成傳送。當信號總線中的“F”條信號導線發生故障時,傳輸序列所需要的節拍的數目為“J/(K-F)”,如果除法留下余數,則再加上一個額外的節拍。
在具有含“K”條信號導線的信號總線的實施例中,“F” 條信號導線發生故障,傳輸序列每節拍從包含“J”位數據的數據塊中選擇“K”位。對于“J/K”個節拍中的每一個,發送“K-F”位,并且對于隨后的傳輸每節拍存儲F位。使用“J(K-F)-J/K”個額外的節拍(如果除法留下余數,則再加上一個節拍)發送來自在“J/K”個節拍期間未加以發送的每一節拍的所存儲的位。
在具有含“K”條信號導線的信號總線的實施例中,“F”條信號導線發生故障,傳輸序列從包含“J”位的數據的第一電子單元中的數據塊中每節拍選擇“K-F”位。對于J/(K-F)個節拍中的每一個發送“K-F”位。如果除法留下余數,則使用一個額外的節拍。
根據另一方面,提供了一種用于把“J”位的數據塊從第一電子單元發送到第二電子單元的裝置,包括第一數據塊,位于第一電子單元中,含有用于傳輸的“J”位;存儲器,位于第二電子單元中,能夠容納具有“J”位的第二數據塊;信號總線,具有“K”條把第一電子單元耦接到第二電子單元的信號導線,所述信號總線具有“F”條故障信號導線和“K-F”條無故障信號導線;診斷單元,耦接到第一電子單元和第二電子單元,能夠識別信號總線上的“F”條故障信號導線和“K-F”條無故障信號導線,并且把故障標識信息存儲在第一電子單元中和第二電子單元中;以及驅動定序器,位于第一電子單元中,其響應于故障標識信息,使用“J/(K-F)”個節拍,如果存在余數,則加上額外的節拍,僅使用“K-F”條無故障的導線。發送“J”位數據。
在優選的實施例中,通過一次選擇“K”位的組而選擇第一數據塊。
在一個優選的實施例中,驅動定序器能夠一次從第一數據塊中選擇“K-F”位,并且把所選的“K-F”位驅動于信號總線的“K-F”條無故障信號導線上,如果“J/(K-F)”具有余數,則驅動定序器還能夠選擇附加節拍的比“K-F”位少的位。
在優選的實施例中,驅動定序器還包括能夠被禁止的驅動器;其中,驅動定序器將耦接到故障信號導線的驅動器禁止。
在優選的實施例中,第二電子單元還包括耦接到信號總線和診斷單元的接收定序器,該接收定序器能夠一次把“K-F”位存儲于第二數據塊中,從信號總線的“K-F”條無故障信號導線中接收該“K-F”位,如果“J/(K-F)”具有余數,則該接收定序器還能夠存儲比“K-F”位少的位。
根據另一個方面,提供了一種用于在信號總線上把數據塊從第一電子單元發送到第二電子單元的方法,包括步驟識別信號總線中的無故障信號導線;以及使用傳輸序列,把數據塊從第一電子單元發送到第二電子單元,所述傳輸序列利用信號總線中的所有無故障信號導線;其中,所述傳輸序列使用最小數目的節拍以完成數據塊的傳輸。
在優選的實施例中,以上段落所描述的方法還包括步驟識別信號總線中的故障信號導線;以及把耦接到故障信號導線的驅動器切換為高阻抗狀態。
在優選的實施例中,在加電序列期間,識別無故障信號導線。
在優選的實施例中,作為奇偶性校驗錯誤、錯誤糾正代碼錯誤、或循環冗余檢查錯誤的結果,通過所執行的連線測試識別無故障信號導線。
現在,將僅以舉例的方式,并參照下列附圖,描述本發明的實施例。
然而,應該加以注意的是,附圖僅說明了本發明的典型的實施例,因此,不應將它們視為對本發明范圍的限制,就本發明而言,也可接納其它同等有效的實施例。
圖1根據優選的實施例,示出了由信號總線所耦接的具有雙電子單元的高級方框圖。每一個電子單元具有用于數據塊的存儲器。在信號總線的一個信號導線上示出了示例性的故障。
圖2A和2B(根據優選的實施例)分別對于無故障的信號總線和故障信號導線的信號總線示出了每一節拍上所發送的數據的時序圖和描述。
圖3根據優選的實施例,示出了驅動信號總線上的數據塊的電子單元的詳細的方框圖。示出了驅動定序器的擴展的方框圖。
圖4根據優選的實施例,示出了當在具有故障信號導線的信號總線上發送數據的節拍時,圖3中所描述的驅動位寄存器塊的內容。
圖5根據優選的實施例,示出了電子單元的擴展的方框圖,所述電子單元接收由驅動電子單元在具有故障信號導線的信號總線上發送的數據塊。
圖6根據優選的實施例,示出了圖5中所描述的分配器塊的一位(one-bit)部分的細節。
圖7示出了本發明的第二實施例的高級方框圖。經由具有故障信號導線的信號總線,驅動電子單元(該示例性的圖中的驅動芯片)耦接到第二電子單元(該示例性的圖中的接收芯片)。根據是否識別出故障信號導線,從將被發送的數據塊中選擇不同大小的數據組。
圖8A和8B根據本發明的實施例,示出了正常數據傳輸(即沒有識別出故障信號導線)的時序圖,以及當已識別出故障信號導線時的數據傳輸的時序圖。
圖9根據第二實施例,示出了圖7中所描述的驅動器控制塊的詳細的方框圖。
圖10根據第二實施例,示出了圖7中所描述的接收器控制塊的詳細的方框圖。
圖11根據第二實施例,示出了把正確的數據鎖存于圖7中所描述的接收寄存器的特定位中的控制邏輯的詳細的方框圖。
圖12是本發明的實施例中所公開的方法的高級流程圖。
圖13是根據本發明的實施例示出了圖12的流程圖的框304的詳細擴展的流程圖。
圖14是根據本發明的實施例示出了圖12的流程圖的框304的詳細的可選擴展的流程圖。
具體實施例方式
優選地提供了這樣的方法與裝置允許具有通過信號總線耦接到第二電子單元的第一電子單元的電子系統的連續地、但不降級的操作,其中信號總線中的信號導線有故障。對信號總線中的無故障信號導線加以識別,而且第一電子單元利用所有無故障信號導線,使用最小數目的節拍(總線周期)以完成傳輸,把傳輸序列中的數據塊發送到第二電子單元。把第一電子單元設計成能夠在具有“K”條信號導線的信號總線上發送具有“J”位的數據塊。第二電子單元接收所述數據塊。電子系統使用“連線測試”或其它機制識別信號總線中的故障信號導線,并且把故障信號導線的標識存儲在第一電子單元和第二電子單元中。故障信號導線的數目為“F”。第一電子單元使用故障信號導線的標識改變其傳輸,在無故障的“K-F”條信號導線上發送“J”位的塊,使用一個或多個額外的節拍完成該傳輸。第二電子單元使用故障信號導線的標識,以在無故障的“K-F”條信號導線上接收“J”位的塊。總體上講,盡管“F”可以是最高為“K-1”的任何數目,但為了簡單起見,在以下的示例中假設單個故障。此外,為了簡單起見,以下的示例假設采用在其上傳送64位的數據塊的8位的信號總線。
圖1示出了總體被表示為100的電子系統的高級方框圖。電子系統100包括第一電子單元1,以下將其稱為芯片1,以及第二電子單元5,以下將其稱為芯片5。電子單元1和電子單元5可以為任何電子部件,包括但不局限于半導體芯片、模塊、印刷線路板(PWB)、或電子封裝件。為了加以解釋,把“芯片”用于提供具體的示例。芯片1包括第一數據塊10,必須使用定義了在每一節拍(總線周期)上將加以發送的許多位以及完成這一傳輸需要多少個節拍的傳輸序列,把第一數據塊10驅動至芯片5,在該處,所述第一數據塊10將被存儲在第二數據塊50中。在成功的傳遞之后,第二數據塊50與啟動傳輸之前的第一數據塊10相同。通常,把第一數據塊10和第二數據塊50存儲在每一芯片上的一個或多個寄存器中,但也可以將它們存儲在任何形式的存儲器中,諸如高速緩沖存儲器或其它存儲器。在信號總線95上把來自第一數據塊10的數據從芯片1傳遞至芯片5。圖1的示例中的第一數據塊包含8個字節(即64位)。在圖1中,把信號總線95示出為具有8條信號導線。由于先前所討論的經濟和物理方面的考慮,信號總線通常“較窄”(即,具有相當少的信號導線),比加以傳遞的數據塊中的位的數目要窄得多。盡管出于示例的目的,把信號總線95示出為具有8條信號導線,但也可以考慮更寬或更窄的信號總線,而且信號總線還可以包含奇偶性校驗、或者錯誤糾正代碼信號導線。在信號導線上不存在故障(包括驅動器或接收器故障)的情況下,使用8個信號總線周期(節拍)把第一數據塊10中的所有數據傳遞于芯片5。在每一節拍期間發送8位(一個字節)的信息的選擇組。選擇組是從用于傳送至驅動信號總線95的驅動器的輸入端的第一數據塊10(或者從以下將討論的其它存儲器)中所選擇的位組。在本例中,按預先確定的次序,依次順序地從數據塊10中選擇字節0~7,如圖1中的10A~10H所示,并且在信號總線95上一次一個字節地發送它們。芯片5接收每一個字節,并且將每一字節存儲在第二數據塊50的字節0~7中,如50A~50H所示。
盡管把第一數據塊10和第二數據塊50示出為具有一個字節寬的總線,該總線把第一數據塊10和第二數據塊50的數據的每一個字節分別耦接到驅動定序器11和接收定序器51,但也可以考慮其它的實現。在一個實施例(未示出)中,例如,第一數據塊50為移位寄存器,其中,一次把數據移位8位,并且僅把該移位寄存器的單個的字節耦接到驅動定序器11。在另一個實施例(未示出)中,第一數據塊10為8位寄存器的寄存器棧;該寄存器棧具有能夠對棧中的任何一個寄存器進行尋址的相關聯的3位地址。在芯片5中,對于第二數據塊50,考慮了類似的實施例。
圖1中示出了信號總線95的信號導線之一中的故障96。故障96把信號總線部分95B與信號總線部分95B′分開。故障96可以為信號導線的不連續,或斷開,有時將其稱為“開路”。故障96也可能是與電源的不希望的連接。無論在哪種情況下,由部分95B和部分95B′組成的信號導線都不能夠可靠地發送信息。然而,故障96也可以是信號總線95上兩個信號之間的短路,于是信號總線95將具有兩個故障,而本例假設僅具有單個的故障。除這些示例性的圖中所示的邏輯框外,還需要額外的邏輯框以容納兩個故障。然而,如本領域技術人員將欣賞的,額外的邏輯類似于所示出的邏輯,。
在系統停止或響應奇偶性校驗檢查、CRC、或ECC錯誤的“連線測試”期間,對故障進行識別,并且將其存儲在診斷單元98中。經由信號導線91和信號導線92,進行通報故障的通信。信號導線91和92可以為單個的信號導線,也可以為具有多條信號導線的總線。診斷單元98為任何一種檢查電子系統的故障的單元。例如,在IBM iSeries計算機中,把診斷單元稱為“服務處理器”。
圖2A示出了當信號總線95不具有故障時,在第一數據塊10中的正常數據的傳遞期間所執行的傳輸序列。在第一節拍期間,傳遞字節0。在第二節拍期間,傳送字節1。在第八節拍上,傳遞最后的字節,字節7。
圖2B示出了當信號總線95中的信號導線之一具有故障時,在信號總線95上完成第一數據塊10中的數據傳遞的傳輸序列。為了示例性的目的,由于該故障,信號總線95的信號導線“Z”上的位不能得以傳遞。芯片1的驅動定序器11知道該故障,但為數據傳遞的前8個節拍中的每一個選擇一個字節的選擇組(在本例中)。這類似于無故障存在時的操作。圖2B表明不傳遞每一節拍的位“Z”。(例如,字節0而不是位“Z”意味著由于信號導線“Z”上的故障96,在節拍1期間,把字節0傳送至驅動器的數據輸入端,但不傳遞字節0的位“Z”。有利的是,把位“Z”的驅動器置于非導通狀態(通常將其稱為“禁止的”或“三穩態(tristate)的”),因為所識別的故障可能是短路,并且如果故障為到地電源的短路,而且特定位為邏輯“1”,則將會耗散大量的電能。驅動定序器11(參見圖1)存儲在前8個節拍期間不發送的8位,并對于每一節拍存儲位“Z”。在第九節拍期間,把包括所存儲的8個“Z”位的選擇組傳送至驅動器。傳遞這些“Z”位中的7個“Z”位。由于故障,在第九節拍上不傳遞第八個“Z”位。然后使用信號總線95中的無故障信號導線,在第十節拍上傳遞第八個“Z”位。
第一數據塊10中的位的數目(64位)以及信號總線95中的信號導線的數目(8條)僅為示例值,可以考慮任何大小的數據塊和總線中任何數目的信號導線。而且,在某些電子系統中,數據塊可以為可變的,在數據塊的數據部分的傳輸之前具有所發送的“報頭”,報頭包括關于將加以發送的塊的大小的信息。為了進行這一討論,將把報頭視為數據塊的一部分。
圖3示出了芯片1,并附有驅動定序器11的詳細的方框圖。把驅動多路復用器20耦接到第一數據塊10的8個字節中的每一個上,并且可以把第一數據塊10的8個字節中的任何一個選擇為驅動多路復用器20的輸出。也可以通過耦接35而把驅動多路復用器20耦接到驅動位寄存器27。通過信號30把驅動節拍控制器23耦接到驅動多路復用器20,所述信號30決定了驅動多路復用器20將選擇9個字節(即來自第一數據塊10的8個字節和來自驅動位寄存器27的1個字節)中的哪一個字節。把所選擇的字節耦接到驅動器24的數據輸入端。也把所選擇的字節耦接到驅動選擇21。來自驅動節拍控制器23的信號34告訴驅動選擇21信號總線95中的哪一條信號導線有故障。如以上所解釋的,由于信號總線95中的信號導線上的故障96,所以必須將所選擇的當前字節中的位存儲在驅動位寄存器27中,以用于后面的傳輸。把所選擇的位耦接到驅動位寄存器27,并且將其存儲于驅動位寄存器27中,由來自驅動節拍控制器23的信號32對所述驅動位寄存器27加以控制。有利的是,驅動位寄存器27為移位寄存器,但也可以考慮其它的實施例。在8個節拍之后,驅動位寄存器27包含全部因故障96而不能加以傳輸的8位(來自字節0~7的每個的1位)。在第九節拍上,在驅動節拍控制器23的控制下,由驅動多路復用器20通過信號30,選擇驅動位寄存器27中的8位。再次在信號總線95上發送這8位中的7位。由于故障96,1位仍不能加以發送。驅動節拍控制器23經由耦接32進一步用信號通知驅動位寄存器27把驅動位寄存器27中的位加以“旋轉(rotate)”。在圖3中,信號33把驅動位寄存器27的第一端耦接到驅動位寄存器27的第二端。在旋轉期間,把驅動位寄存器27的最右側的7位左移1位的位置,并且把最左側的位旋轉為變成最右側的位。在第十節拍期間,在驅動節拍控制器23的控制下,由驅動多路復用器20再次選擇驅動位寄存器27的目前所旋轉的內容。再次在信號總線95上發送7位,而且因本例的故障96,1位不能加以發送。然而,由于驅動位寄存器27上的旋轉操作,在第九節拍上沒有被發送的位被驅動到不同的信號導線上,并在第十節拍上被成功發送。如果把電子系統設計成支持多于一個的故障信號導線,則復制驅動位寄存器27(未示出),以容納不能夠在特定節拍上加以傳遞的額外的位,而且把驅動選擇21設計成從驅動多路復用器20的輸出中選擇額外的位,并且把額外的位存儲在驅動位寄存器27的副本中。盡管出于示例的目的描述了驅動位寄存器27中的“旋轉”操作,但也可考慮適合于移動對于第十節拍不可加以傳輸而被傳送至無故障信號導線的位的驅動寄存器27中的位的任何預先確定的移動。在另一個實施例(未示出)中,驅動多路復用器20具有耦接到驅動位寄存器27的第九輸入位,如以上所描述的,但另外還具有耦接到驅動位寄存器27的位的第十輸入字節,具有以預定次序耦接到驅動多路復用器20的驅動位寄存器27的位,這不同于驅動位寄存器27的第九字節耦接。驅動節拍控制器23將控制驅動多路復用器20選擇第九節拍期間的第九輸入字節耦接和第十節拍期間的第十輸入字節耦接。
圖4示出了每一節拍之前驅動位寄存器27的內容。位“Z”為將不在具有故障的信號總線95中的信號導線上加以驅動的數據的位。在節拍1之前,沒有已經移位于驅動位寄存器27中的位。在節拍1期間,把字節0的位“Z”移位于驅動位寄存器27的最右位的位置中。在節拍2期間,把字節1的位“Z”移位于驅動位寄存器27的最右位的位置中。在節拍8(如圖4中預9節拍所示)之后,把關于每一字節的位“Z”存儲在驅動位寄存器27中。如先前所描述的,在第九節拍期間,由驅動多路復用器20選擇這8位。在第九節拍之后,如先前所描述的,在驅動位寄存器27上進行旋轉操作,并且在圖4中,把關于第十節拍所選擇的數據示出為“預節拍10”。所有“Z”位保留在驅動位寄存器27中,但都被旋轉了一位的位置,并因此將對它們加以傳送,以由驅動器24在信號總線95上的不同的信號導線上加以驅動。從而,在第十節拍上成功地傳遞不能夠在第九節拍上加以傳遞的“Z”位。
圖5示出了芯片5的擴展的方框圖。接收定序器51包含適合于接收信號總線95上的信號的接收器60。接收定序器51還具有接收器節拍控制器61,通過信號92把接收器節拍控制器61耦接到先前所描述的診斷單元98。診斷單元98告訴接收器節拍控制器61信號總線95中的信號導線是否有發生故障的,如果有的話。
通過信號55(其可以包含多個信號),把分配器63耦接到內部總線56上的接收器60和接收器節拍控制器61。分配器63能夠把接收器60輸出的信號分配到第二數據塊50中的適當的位。在不存在故障的情況下,在8個節拍(在本例中)的每一節拍期間,分配器63簡單地把一個字節的數據從內部總線56移至第二數據塊50的適當的字節。當信號導線“Z”上存在故障96(根據以上的討論)上時,需要在兩個額外的節拍(在本例中)。在第九節拍期間,內部總線56具有7個有效位和1個無效位。在第九節拍上,把內部總線56上的8位中的每一位驅動至第二數據塊50的字節中的每一個(即字節0~7)的相應的“第Z個”位。在第九節拍之后,第二數據塊50包含63個有效位和1個無效位。在第十節拍期間,內部總線56再次具有7個有效位和1個無效位。有效位中的6個為在第九節拍期間成功寫入第二數據塊50中的簡單數據。在第十節拍期間,把第七有效位導向(direct)包含第二數據塊50中余下的無效位的字節的“第Z個”位。例如,如果在信號總線95的位2上存在故障96,則在第十節拍上寫入第二數據塊50中的位為字節2的位2;然而,對于該寫入的數據來自信號總線95的位3,因為已在驅動位寄存器27中將所傳輸的數據旋轉了一位,如以上所解釋的。
圖6更詳細地示出了對于分配器63的一位執行分配功能的邏輯63A的示例性的集合。在所示出的例子中,寄存器位70是第二數據塊50的一位;字節“M”的位“N”。把寄存器位70的數據輸入端D耦接到選擇器72,所述選擇器72對于任何小于10的節拍選擇“rcvr位N”,即內部總線56的“第N個”位。在第十節拍上,在傳輸之前,選擇“rcvr位N(旋轉過的)”,以說明由驅動位寄存器27所執行的數據的旋轉。輸入端C上的信號對寄存器位70的數據輸入端D上的數據記時。“CLK”是系統時鐘,根據圖6中所示的邏輯表達式而被選通。當激活CLK以及確認(assert)了“節拍M”時,寄存器位70將接收時鐘。例如,在第二節拍上,將對字節2的所有位記時。如果信號總線95上的位“N”出現故障,則在第九節拍期間寄存器位70也將接收時鐘(在CLK激活期間)。例如,如果信號總線95的位2出現故障,以及寄存器位70為第二數據塊50中的任何字節的位2,則將對寄存器位70記時。如果這是必須被寫入第二數據塊50的最后的一位,則在第十節拍期間,也將對寄存器位70記時(在CLK激活期間)。繼續其中信號總線95的位2出現故障的例子,如果寄存器位70表示字節2的位2,則寄存器位70將在第十周期上接收時鐘。分配器63接收關于信號總線95上的哪一位發生故障(如果有的話)以及當前節拍是什么的信息。
圖7示出了本發明的另一個實施例。這該實施例也提供了繼續電子系統的操作的能力,所述電子系統在信號總線中的信號導線上具有故障,實際上,該實施例在無故障和有故障操作的情況下使用了與先前的實施例相同的周期數目。在選擇的方式方面,該實施例有所不同,以下將對此加以解釋。圖7的實施例示出了與圖1的診斷單元98相同的診斷單元298,其能夠識別信號總線上的故障,并且能夠把故障的標識傳遞于第一電子單元和第二電子單元。
芯片201(如以上所述,為了示例性地目的而使用“芯片”,事實上,芯片201可以為模塊、PWB、電子封裝、或者任何其它的電子單元)需要把第一數據塊201傳遞于芯片205中的第二數據塊250。如同驅動芯片201,接收芯片205旨在表示任何電子單元。在圖7所示的例子中,第一數據塊201具有64位(0~63),第二數據塊250具有64位(0~63)。第一數據塊201和第二數據塊250可以物理地駐留在一個或多個寄存器、高速緩沖存儲器、移位寄存器或者任何其它的存儲機制中。信號總線295具有8位。把包括第一部分295B和第二部分295B′的信號導線示出為具有故障296。故障296可以為開路或短路,其中每一種類型的故障都使信號導線無法操作。如同圖1的故障96,故障296可以是信號總線295的信號導線之間的短路,但為了簡單起見,本例討論了信號故障。信號NEN是“不使能”信號,通常將其用于邏輯地禁止(三穩態)信號總線295上的驅動器。盡管是可選的,但還是將其示出以解釋如何將其與其它信號邏輯地相組合,以禁止整個信號總線295上的所有驅動器,或者僅禁止耦接到具有故障的信號導線的單個的驅動器。
在不存在故障296的情況下,驅動定序器211在內部總線SEL8A(0~7)上從第一數據塊201中一次選擇8位的“無故障選擇組”,并且對于8個節拍中的每一個基本上并行地驅動這8位。接收定序器251從每一個節拍中接收數據的8位,并且在SEL8B(0~7)上把這8位傳遞于第二數據塊250中的適當的位。如以前一樣,診斷單元298分別經由信號291和292向驅動定序器211和接收定序器251通知信號導線中故障296的存在及其標識。
如果故障296存在,則驅動定序器211在內部總線SEL7A(0~6)上從第一數據塊201中一次(在本例中為節拍1~9)選擇7位的“故障選擇組”,并且在信號總線295的7條無故障信號導線上傳遞7個所選擇的位。然后,接收定序器251在SEL7B(0~6)上每個節拍接收這7位,并且把它們傳遞于第二數據塊250。在第十節拍(在本例中)上,選擇最后一位,在本例中為位63,并且在不具有故障的信號導線上將其加以發送,而且把最后一位存儲在第二數據塊250的正確的位中。圖8A和8B示出了當無故障存在時的8個節拍和所發送的數據,以及當故障存在時的10個節拍和在每一節拍期間所發送的位。
圖9示出了驅動定序器211的示例性的實施例。位故障寄存器259具有8位,每一位相應于信號總線295中的信號導線。如果信號導線具有故障,則把位故障寄存器259中的相應的位設置為邏輯“1”;否則把相應的位設置為邏輯“0”。因此,BF(0)=“1”意味著信號總線295的位0上存在故障。一連串的OR門產生以具有邏輯“1”的位故障寄存器259中的位開始的邏輯“1”。例如,如果BF(3)=“1”,則F0、F1=F2為“0”,但F3、F4、F5、F6以及BITFAULT為“1”。
如果BIT FAULT=“1”,則存在故障,而且數據傳遞(在本例中)將由10個節拍組成,前9個節拍的每一個中的7位,以及第十節拍中的1位。
如果BIT FAULT=“0”,則選擇器AA0~AA7從總線SEL8A(0~7)中選擇數據。如果BIT FAULT=1,則選擇器AA0~AA7從SEL7A(0~6)中選擇數據,盡管可以對某些或全部這樣的位進行移位,如馬上將加以描述的。選擇器A0~A5提供把SEL7A(0~6)的所有位移位至無故障信號導線的機制。
例如,假設BUS(0),其為信號總線295的信號導線位(0),已被識別為具有故障(該故障可能包括BUS(0)的驅動器、信號導線、以及接收器電路)。BUS(0)的驅動器具有使能輸入端E,如果輸入端E處于邏輯“0”,則其禁止該驅動器。當BUS(0)具有故障時,BF(0)=“1”。BF(0)是到NOR A0的輸入;BF(0)=“1”確保將BUS(0)的驅動器的禁止。F0控制選擇器A0;F0=“1”選擇選擇器A0中的SEL7A(0),通過選擇器AA1,把選擇器A0耦接到BUS(1)的驅動器的數據輸入端D。相類似,把SEL7A(1)傳送至BUS(2)的驅動器的輸入端D;把SEL7A(2)傳送至BUS(3)的驅動器的輸入端D,等等。把SEL7A(6)直接傳送至SELAA7,并且在BUS(7)上對SEL7A(6)加以驅動。以這種方式,旁路BUS(0),并且在無故障信號導線BUS(1~7)上驅動SEL7A的7位。
作為第二個例子,但更加簡潔,如果BUS(4)上存在故障,則傳送SEL7A(0),并且在BUS(0)上驅動SEL7A(0);在BUS(1)上驅動SEL7A(1);在BUS(2)上驅動SEL7A(2);在BUS(3)上驅動SEL7A(3)。在BUS(5)上驅動SEL7A(4);在BUS(6)上驅動SEL7A(5);在BUS(7)上驅動SEL7A(6)。BF(4)禁止BUS(4)的驅動器。再次,在無故障信號導線上傳送SEL7A的7位。
可以通過確認NEN=“1”而完全禁止信號總線295,NEN=“1”是關于NOR A0~A7的確認信號,確保了所有8個驅動器上使能的輸入端上的邏輯“0”。NEN是當設計人員希望能夠邏輯地禁止信號總線295上的所有驅動器時所使用的可選的信號。
本領域技術人員將會意識到,盡管為了簡單起見,所示出的詳細的邏輯僅支持單個的故障信號導線,但也可以把額外的選擇組(例如,分別容納兩或三條有故障信號導線的“SEL6A”、“SEL5A”)耦接到額外的選擇器,以在當“F”變大時,傳送較少的信號導線。
圖10示出了接收定序器251的實施例。接收位故障寄存器260包括與位故障寄存器259相同的位模式,每一位相應于信號總線295中的信號導線。在信號292上從診斷單元298加載接收位故障寄存器260。再次提供如所描述的一連串OR門,以產生邏輯“1”,所述邏輯“1”中包括并跟隨接收位故障寄存器260中的邏輯“1”位。例如,如果RBF(0)=“1”,則RF0、RF1、RF2、RF3、RF4、RF5、RF6以及RECEIVE BIT FAULT均為“1”。
接收器B0~B7分別接收BUS(0~7),并且分別輸出SEL8B(0~7)。如果信號導線上存在故障,則僅發送7位(在7個無故障信號導線上),并且必須把這7位適當地從SEL8B(0~7)映射至SEL7B(0~6)。該映射有效地相應于由驅動定序器211所進行的映射,以把7位轉向(steer)信號總線295的7個無故障信號導線。
RF0~RF7和選擇器B0~B6提供該映射。如果RBF(0)=“1”(表示信號總線295的信號導線位“0”中的故障),則RF0=“1”,而且控制選擇器B0以對于輸出選擇SEL8B(1)為SEL7B(0)。相類似,使用信號RF1、RF2、RF3、RF4、RF5以及RF6,把SEL8B(2)驅動至SEL7B(1);把SEL8B(3)驅動至SEL7B(2);把SEL8B(4)驅動至SEL7B(3);把SEL8B(5)驅動至SEL7B(4);把SEL8B(6)驅動至SEL7B(5);以及把SEL8B(7)驅動至SEL7B(6)。相類似,如果BUS(6)有故障,則把BUS(0~5)傳送至SEL7B(0~5),以及把BUS(7)傳送至SEL7B(6)。
在所設計來容納更多的單個故障信號導線的實施例(未示出)中,使用額外的選擇器和OR,其中額外的選擇器用于把信號從無故障信號導線傳送至具有耦接到第二數據塊250的較少信號的信號組,例如,如以上所描述的,在實施例中容納兩個故障信號,(使用以上的命令約定),要求信號的“SEL6B”集合以及信號的SEL7B集合。
圖11示出了用于將所接收的適當的位選通于接收寄存器250的正確的位的詳細邏輯的實施例。來自診斷單元298的信號292包括節拍編號。在可選的實施例(未示出)中,接收定序器251自己統計節拍。組譯碼278使用節拍編號和接收位故障(圖10的接收位故障寄存器260)產生8位的“en 8-bitgroup”的字,對于每一節拍使能其的每一位,以控制當無故障存在于信號總線295中時,對于具體節拍,必須從SEL8B接收數據的接收器寄存器250中的8位的時鐘。組譯碼278也輸出10位的字,“en 7-bit group”,對于當故障存在于信號總線295的信號導線上時所發生的10個節拍中的每一個,使能其中的一位。把寄存器位272的數據輸入端(接收寄存器250中的特定的位“X”)耦接到選擇器270,當RECEIVE BIT FAULT=“1”時,選擇器270選擇總線SEL7B的位“M”,當RECEIVE BIT FAULT=“0”時,選擇總線SEL8B的位“N”。例如,把SEL7B(0)耦接到接收寄存器250的位0、6、13、55以及64。把SEL7B(1)耦接到位1、7、14...56。把SEL8B(0)耦接到位0、7、15、56。
AND門271接收第一輸入端上的系統時鐘CLK。把AND門271的第二輸入端耦接到由如圖10中所示而產生的RECEIVE BIT FAULT所控制的選擇器277。如果存在故障,則RECEIVE BIT FAULT=“1”,選擇器277將選擇“EN 7-BIT GROUP(A)”,其中“A”為10位的字的位,施加于寄存器位272位于其中的第二數據塊250的特定的7位組的“EN 7-BIT GROUP”274。例如,第二數據塊250的位0~6位于由節拍1發送的所傳遞的7位的位組中,且在第一節拍期間EN 7-BIT GROUP的位0將為“1”,以對那7個寄存器位使能時鐘。注意,(在本例中)當對于第十節拍的“EN 7-BIT GROUP”中的位為“1”時,僅影響接收器寄存器250的一個寄存器位(即位63)。
如以上所討論的,在實施例中,容納了額外的故障信號導線。例如,如果準備容納兩個故障信號導線,則組譯碼278必須使能6位的組以及7位的組和8位的組。選擇器270必須具有對于適當的“SEL6B”位的另一個輸入端,并且選擇器277必須容納對于適當的“EN 6-BIT GROUP”位的第三輸入端,如本領域技術人員將會意識到的。
圖12示出了傳輸序列方法300的高級流程圖,所述傳輸序列方法300允許在信號總線上把數據塊從第一電子單元傳遞于第二電子單元,信號總線可以具有故障信號導線。該方法開始于框301。在框302中,診斷單元確定信號總線中故障和無故障信號導線。第一電子單元經由信號總線、使用利用了所有無故障信號導線的傳輸序列、使用最小數目的節拍,把第一數據塊傳遞于第二電子單元。第一電子單元必須把“J”位的數據塊發送到“K”位的信號總線的第二電子單元。“F”為診斷單元所識別的故障信號導線的數目。如果“F”=0,則沒有識別出故障。本發明優選地考慮到最多為“K-1”的故障數目。在框303中,診斷單元在第一(驅動)電子單元中和第二(接收)電子單元中設置故障狀態。在框304中,在信號總線中的無故障信號導線上使用用于完成該傳遞的足夠的總線周期(節拍)發送“J”位的數據塊。第二電子單元在無故障信號導線上接收“J”位的數據塊。框305結束該方法。有利的是,禁止耦接到故障信號導線的驅動器。
圖13示出了方法320的流程圖,其為方法300的框304的實施例。該方法開始于框321。在框322中,初始化節拍計數。在框323中,選擇一個字節的數據。所選擇的位的數目為將在其上傳遞數據塊的信號總線中的全部信號導線的數目,此處使用“字節”是為了示例性的目的,假設了一個字節寬的信號總線。為了示例性的目的,假設了64位的數據塊,但本發明優選地不局限于64位的數據塊。為了簡單起見,假設了單個故障信號導線,但也可以假設最多為“K-1”的任何數目的故障位,如以上所解釋的。在框324中,存儲用于在故障信號導線上發送的所選擇的字節的位。有利的是,把該位存儲在移位寄存器中,而且移位寄存器可以具有其響應于控制信號所旋轉的位。在框325中,把所選擇的字節傳送至驅動器的數據輸入端,并且在信號總線上對其加以驅動。故障信號導線不能夠發送被傳送至耦接到故障信號導線的驅動器的數據輸入端的位,而且,有利的是,禁止(也稱為三穩態的,或者將其切換為高阻抗狀態)驅動器,以防止在故障為短路的情況下流動的可能的高電流。在將驅動器禁止的情況下,“高阻抗”意味著驅動器的輸出至少為高于被驅動的傳輸線的阻抗大小的一個量級,而且通常為幾百千歐姆,甚至數兆歐姆。在框326中,作出檢查以了解是否已經完成正常(不存在故障信號導線)傳輸所需的節拍數目。如果沒有完成,則框342遞增節拍計數,并且將控制傳遞于框323。如果已經達到了正常的節拍計數,則框327檢查是否已識別出故障。如果沒有識別出故障,則傳輸已經完成。如果識別出了故障,則框328選擇所存儲的位的字節(在本例中,為將在8位的總線上發送的64位的數據塊,并假設單個的故障,從而導致8個所存儲的位),并且把它們傳送至信號總線的驅動器的數據輸入端。在另一個節拍上發送8位中的7位,如以上所解釋的。框329旋轉所存儲的數據中的位,使得可以把所有位移至不同的、預先確定的位置。所先前所解釋的,有利的是,所存儲的位位于能夠位旋轉的移位寄存器中,其中把所有位移動一個位置,并且把一端上的位旋轉至另一端上的第一位的位置。在框340中,再次選擇所存儲的位,而且把它們傳送至信號總線上的驅動器的數據輸入端,并在最后的節拍上對它們加以驅動。此時,把不能夠在先前總線節拍上發送的位導向不同的驅動器,并且在無故障信號導線上成功地被驅動。第二(接收)電子單元知道故障信號導線,并將所述第二(接收)電子單元設計成知道當故障信號導線存在時所使用的傳輸協議,而且能夠適當地把所發送的位移入第二電子單元中的存儲器的正確的位的位置。
圖14示出了圖12的框304的第二實施例。在信號總線上把數據塊從第一電子單元傳遞于第二電子單元的方法開始于框361。在框362中,對節拍計數進行初始化,根據將加以傳遞的位的總數目和信號總線中可用的無故障信號導線的數目確定所需的節拍的數目。在框363中,選擇來自將加以傳遞的塊中的數據組,該組的大小等于信號總線中無故障信號導線的數目。在框364中,由第一電子單元在無故障信號導線上把所選擇的數據組發送到第二電子單元。框365確定是否已完成了最后一個節拍;如果沒有完成,則框366遞增位計數器,并且把控制傳遞于框363。如果已經完成最后一個節拍,則把控制傳遞于框367,框367完成該方法。
盡管以上的描述對于的是本發明的實施例,但可以在不背離本發明的基本范圍的情況下,設計本發明的其它的和進一步的實施例,本發明的范圍由以下權利要求加以確定。
權利要求
1.一種方法,用于在具有“K”條信號導線的信號總線上,把“J”位的數據塊從第一電子單元發送到第二電子單元,其中,0~“K-1”條信號導線出現故障,該方法包括步驟識別信號總線中的故障和無故障信號導線;使用由識別信號總線中故障和無故障信號導線的步驟所發現的信息,設置第一電子單元中和第二電子單元中信號導線的故障狀態;確定信號總線中的故障信號導線的數目“F”;確定信號總線中無故障信號導線的數目“K-F”;以及使用“J/(K-F)”個節拍,如果存在余數的話還加上額外的節拍,在“K-F”條無故障信號導線上發送“J”位的數據塊。
2.根據權利要求1所述的方法,所述發送步驟還包括步驟從“J”位的數據塊中選擇“K”位的數據組;使用“K-F”條無故障導線,在一個節拍上發送“K”位的數據組的“K-F”位;存儲由于信號總線中“F”條故障導線而不能在該節拍上發送的“K”位的組中的“F”位;重復以上三個步驟,直至已經選擇了“J”位的數據塊的所有“J”位;以及使用一個或更多的“K-F”條無故障信號導線,在一個或多個額外的節拍上發送所存儲的“F”位。
3.根據權利要求2所述的方法,所述存儲“F”位的步驟還包括把“F”位中的至少一位移位到移位寄存器的第一端點的步驟。
4.根據權利要求3所述的方法,還包括把移位寄存器的至少一位發送到無故障信號導線的步驟。
5.根據權利要求4所述的方法,還包括移動移位寄存器中的特定的位,以調整該特定的位,以耦接到無故障信號導線的步驟。
6.根據權利要求2所述的方法,還包括步驟在第二電子單元中,對于“J/(K-F)”個節拍,每一個節拍存儲“K-F”位;以及如果“J/(K-F)”產生余數,則在額外的節拍中存儲剩余的位。
7.根據權利要求1所述的方法,還包括步驟從第一電子單元上的“J”位的數據塊中選擇“K-F”位的位組;使用信號總線中“K-F”條無故障信號導線,使用信號總線的節拍,從第一電子單元到第二電子單元發送“K-F”位的位組;重復以上的步驟,直至發送了所有“K-F”位組;以及使用某些或全部“K-F”條無故障信號導線,使用信號總線的額外的節拍,把第一電子單元上的“J”位的數據塊的任何剩余的位發送到第二電子單元。
8.一種裝置,用于把“J”位的數據塊從第一電子單元發送到第二電子單元,包括第一數據塊,位于第一電子單元中,含有用于發送的“J”位;存儲器,位于第二電子單元中,能夠容納具有“J”位的第二數據塊;信號總線,具有“K”條把第一電子單元耦接到第二電子單元的信號導線,該信號總線具有“F”條故障信號導線和“K-F”條無故障信號導線;診斷單元,耦接到第一電子單元和第二電子單元,能夠識別信號總線上的“F”條故障信號導線和“K-F”條無故障信號導線,并且把故障標識信息存儲在第一電子單元中和第二電子單元中;以及驅動定序器,位于第一電子單元中,其響應于故障標識信息,使用“J/(K-F)”個節拍,如果存在余數,則加上額外的節拍,僅使用“K-F”條無故障的導線發送“J”位的數據。
9.根據權利要求8所述的裝置,可以通過一次選擇“K”位的組而選擇第一數據塊。
10.根據權利要求8所述的裝置,所述驅動定序器能夠一次從第一數據塊中選擇“K-F”位,并且把“K-F”個所選的位驅動于信號總線的“K-F”條無故障信號導線上,如果“J/(K-F)”具有余數,則驅動定序器對于額外的節拍還能夠選擇比“K-F”位少的位。
11.根據權利要求10所述的裝置,所述驅動定序器還包括能夠被禁止的驅動器;其中,所述驅動定序器禁止被耦接到故障信號導線的驅動器。
12.根據權利要求10所述的裝置,所述第二電子單元還包括耦接到信號總線和診斷單元的接收定序器,該接收定序器能夠一次把“K-F”位存儲于第二數據塊中,即存儲從信號總線的”K-F”條無故障信號導線中所接收的“K-F”位,如果“J/(K-F”)具有余數,則該接收定序器還能夠存儲比“K-F”位少的位。
13.一種方法,用于在信號總線上把數據塊從第一電子單元發送到第二電子單元,包括步驟識別信號總線中的無故障信號導線;以及使用傳輸序列把數據塊從第一電子單元發送到第二電子單元,該傳輸序列利用了信號總線中的所有無故障信號導線;其中,所述傳輸序列使用最小數目的節拍以完成數據塊的傳輸。
14.根據權利要求13所述的方法,其中,在加電序列期間,識別無故障信號導線。
15.根據權利要求13所述的方法,其中,作為奇偶性校驗錯誤、錯誤糾正代碼錯誤、或循環冗余校驗錯誤的結果,通過所執行的連線測試識別無故障信號導線。
16.根據權利要求13所述的方法,還包括步驟識別信號總線中的故障信號導線;以及把耦接到故障信號導線的驅動器切換為高阻抗狀態。
全文摘要
公開了一種允許具有在信號導線有故障的信號總線的電子系統以降低的性能加以操作的方法與裝置。在信號總線上把數據塊從第一電子單元傳遞至第二電子單元。傳輸序列使用所有無故障信號導線,使用完成傳輸所需的最小數目的節拍發送數據塊。
文檔編號G06F11/00GK1849589SQ200480026196
公開日2006年10月18日 申請日期2004年9月10日 優先權日2003年9月11日
發明者約翰·M·博肯哈根, 勞拉·M·宗布倫南 申請人:國際商業機器公司