專利名稱:檢測存儲裝置接口的方法及設備的制作方法
背景計算機系統繼續變得越來越緊湊,同時還變得越來越有能力,以及這至少部分受到繼續執行不斷增加的各種功能的計算機系統的各組件的推動。明確地說,計算機系統的集成電路(IC)繼續被設計成結合越來越多的特征和選項,以便提供給在其中使用了這些IC的計算機系統的制造商。
對于IC以及IC附加到其中的計算機系統電路板的制造商的一個反復出現的問題是提供對于為了特征和選項的日益增長的數量而必須提供給IC的信號引腳的不斷增加的數量的支持。引腳的不斷增加的數量要求可提供越來越多引腳的越來越昂貴的IC封裝。此外,為了緊湊性以及保持短的內部導體長度,這些更昂貴的IC封裝通常以越來越密集的集中度設置這些更大數量的引腳,從而要求電路板上的導電跡線和焊盤(或其它導電焊料位置)越來越密集的布置,從而增加電路板成本。既然向IC封裝添加更多引腳增加了成本和復雜度,希望找到限制給定IC要求的引腳數量的方式。
限制引腳數量的一種常見方式是在功能和引腳數量之間進行折衷,這通常導致限制了給定IC所執行的功能,并且可能將部分功能放入不同的IC,這可能增加給定電子設備中的IC數量。但是,計算機系統的設計和構建的一個經常性目標是通過減少包括IC在內的計算機系統中所使用的組件的整體數量,來降低成本以及增加可靠性。
附圖簡介通過以下詳細描述,本領域的技術人員將會非常清楚本發明的目的、特征和優點,附圖包括
圖1是采用計算機系統的一個實施例的框圖。
圖2是提供多路復用總線的邏輯的一個實施例的框圖。
圖3是提供多路復用總線的邏輯的一個實施例的更具體的框圖。
圖4是提供多路復用總線的邏輯的另一個實施例的更具體的框圖。
圖5是一個實施例的流程圖。
圖6是另一個實施例的流程圖。
詳細說明為便于說明,以下描述中提出了大量細節,以便透徹地理解本發明。但是,本領域的技術人員非常清楚,為了實施本發明,這些具體的細節不是必需的。
本發明的實施例涉及通過把兩個總線接口功能的大部分多路復用到IC的相同引腳、從而避免必需分配原本采用完全獨立的引腳集合來支持兩個總線所需的更大數量的引腳,把對于兩個不同總線接口的支持結合到IC中。雖然以下論述集中在對于非易失性存儲裝置的總線接口上,但本領域的技術人員會理解,以下要求其權益的本發明可為了支持用于多個目的中任一個的兩個或兩個以上總線來實施。同樣,雖然以下論述集中在計算機系統內的IC上,但本領域的技術人員會理解,以下要求其權益的本發明可結合具有支持與多個總線連接的電子組件的其它電子設備來實施。
圖1是采用計算機系統的一個實施例的框圖。計算機系統100至少部分包括中央處理器(CPU)110、前端總線(FSB)112、北橋邏輯120、鏈接總線122、南橋邏輯124、存儲系統130、圖形控制器150、高級圖形端口(AGP)總線152、顯示器154、外圍總線連接器160、外圍總線162、存儲控制器170、存儲驅動器172、存儲介質174、多路復用總線142以及非易失性存儲裝置140a和140b中的一個或兩個。
CPU 110、FSB 112、北橋邏輯120和存儲系統130組成能夠運行機器可讀指令的計算機系統100的一種形式的核心。CPU 110經由FSB 112耦合到北橋邏輯120,并執行支持CPU 110的各種功能,其中包括控制CPU 110并為CPU 110提供對北橋邏輯120也耦合到的存儲系統130的訪問。在各種實施例中,CPU 110可能是各種類型的CPU中的任一種,其中包括能夠執行眾所周知及使用的“x86”指令集的至少一部分的CPU,以及在其它各種實施例中,可能有一個以上CPU。在各種實施例中,存儲系統130可能是各種類型的隨機存取存儲器(RAM)中的任一種,其中包括快速頁面模式(FPM)、擴展數據輸出(EDO)、單數據率(SDR)或雙數據率(DDR)形式的同步動態RAM(SDRAM)、采用RAMBUSTM接口的各種技術的RAM等等。
圖形控制器150、AGP總線152和顯示器154組成能夠為計算機系統100的用戶提供可視用戶界面的一種形式的顯示系統。AGP總線152是將北橋邏輯120耦合到圖形控制器150的高速并行總線,以及在各種實施例中,北橋邏輯120配置成提供圖形控制器150與存儲系統130之間的極少等待時間數據通路。圖形控制器150還耦合到顯示器154,并控制顯示器154提供可視圖像。
經由鏈接總線122耦合到北橋邏輯120的南橋邏輯124可提供多路復用總線142以及可用來耦合其它裝置以便對計算機系統100添加功能性的外圍總線162中的一種或兩種。外圍總線162是比多路復用總線142更高速及更通用的總線,并且設計成支持能夠支持和更充分利用外圍總線162所提供的大量功能的更復雜裝置的耦合。多路復用總線142是比外圍總線162更低速及更簡單的總線,并且設計成支持附加較小復雜度的裝置,從而允許各種形式的更簡易I/O端口邏輯、存儲裝置、定時器等等被添加以擴充計算機系統100的功能性。
在各種實施例中,其它裝置可直接耦合到外圍總線162,以及在各種實施例中,外圍總線162可采用一個或多個連接器160來實現,從而提供可用來將其它裝置可拆卸地耦合到外圍總線162的方式。在各種實施例中,外圍總線162可設計成符合在計算機設計領域已經成為“標準化”的各種眾所周知形式的總線中的任一種,例如擴展工業標準體系結構(EISA)、Micro ChannelTM體系結構(MCA)、外設部件互連(PCI)、PCI-X等。
在各種實施例中,可通過外圍總線162和/或總線連接器160(以及通過各種其它形式的耦合中的任一種)耦合到計算機系統100的裝置是存儲控制器170,它又耦合存儲驅動器172。存儲控制器170提供控制可用來訪問存儲介質174所攜帶的數據和/或指令的存儲驅動器172的邏輯。實際上,在一些實施例中,存儲介質174攜帶機器可訪問指令,它們由CPU 110運行以便使CPU 110確定是否存在非易失性存儲裝置140a和140b中的一種或兩種,下面將進行描述。存儲介質174可以是本領域的技術人員會理解的各種類型和技術中的任一種,其中包括CD或DVD ROM、磁或光盤、磁光盤、磁帶、半導體存儲器、紙張或其它材料上的字符或穿孔等。
當計算機系統100首次加電或者初始化(例如通過“復位”計算機系統100等)時,通常是讓CPU 110嘗試查找初始指令(有時不同地稱作“固件”、“ROM代碼”、“基本輸入/輸出系統”即“BIOS”),從而在預定的存儲地址運行。一般還將這類初始指令存儲在非易失性存儲裝置、如非易失性存儲裝置140a或140b的任一個中。如圖1所示,非易失性存儲裝置140a或140b的任一個可經由多路復用總線142耦合到南橋邏輯124,但是,又如圖1所示,非易失性存儲裝置140a和140b中的每個具有不同的接口。具體來說,非易失性存儲裝置140a具有“A類型”接口,而非易失性存儲裝置140b具有“B類型”接口。在許多可能的不同實施例中,在A類型與B類型接口之間可能存在許多可能的具體差異中的任一種。這些差異可能是在于定時、字節的字節序(endian)排列、集電極開路對三態信令、命令協議、并行對串行數據傳輸等等。如圖1所示,南橋邏輯124提供單個多路復用總線142,它配置成適應A或B類型接口中的任一種,從而允許非易失性存儲裝置140a或140b中任一種通過多路復用總線142和南橋邏輯124與計算機系統100配合使用。
為了允許裝置與不同接口、如非易失性存儲裝置140a和140b的接口類型A和B的連接,南橋邏輯124包括查詢耦合到多路復用總線142的裝置以便識別那些裝置所使用的接口類型以及執行與那些裝置中找到的不同接口的總線事務處理的接口邏輯。多路復用總線142和這個接口邏輯設計成支持不同接口,其方式主要是將支持不同接口所需的信號復用到南橋邏輯124的引腳,使得有一個南橋邏輯124的引腳子集耦合到一個以上不同接口,從而允許多個不同接口得到支持而無需使用來自南橋邏輯124的附加引腳為各個不同接口提供完全獨立的引腳集合。具體來說,構成多路復用總線142的南橋邏輯124的引腳子集耦合到非易失性存儲裝置140a和140b的兩種接口類型A和B,使得南橋邏輯124的附加引腳沒有用于提供接口類型A和B的完全獨立接口。
在各種實施例中,多路復用總線142可配置成同時適應接口類型A和B,從而允許具有A類型接口的裝置以及具有B類型接口的裝置同時耦合到總線142。或者,多路復用總線142可配置成支持接口類型A和B中的任一個,但不會同時支持具有類型A接口的裝置以及具有類型B接口的裝置的連接。另外,雖然為了簡潔起見而在圖1中未示出,但多路復用總線142的部分實施例可配置成支持執行不同于存儲指令的功能的裝置,例如除了支持非易失性存儲裝置140a和140b中的一種或兩種的耦合之外,還為計算機系統100提供鍵盤、鼠標、打印機、調制解調器、紅外收發信機等的接口的裝置。
雖然已經通過諸如各種IC之間的功能的分配、總線的布局和類型、以及各種組件的數量之類的各種具體細節說明和描述了計算機系統100,但本領域的技術人員將會知道,計算機系統100只是計算機系統的大量可能的體系結構和實現的一個實例。計算機系統100只是計算機系統的一個特定實現,以及本領域的技術人員非常清楚,計算機系統的這類細節與以下要求其權益的本發明的精神和范圍無關。
圖2是提供總線接口的邏輯的一個實施例的框圖。邏輯裝置210是較大電子設備、如計算機系統的一個組件。具體來說,邏輯裝置210在計算機系統的部分實施例中可能是南橋邏輯裝置或者是一個或多個總線耦合到的計算機系統的其它組件。邏輯裝置210至少部分由多路復用總線接口214組成,邏輯裝置210通過它經由總線多路復用總線232分別向非易失性存儲裝置240a和240b的A類型接口244a和B類型接口244b中的一個或兩個發送和從其接收信號。
多路復用總線232包括公共信號線236,可在全部三個多路復用總線接口214、A類型接口244a和B類型接口244b(分別在240a和240b中)之間共用;協調信號238a,多路復用總線接口214通過它來協調多路復用總線接口214與A類型接口244a之間的總線活動;以及協調信號238b,多路復用總線接口214通過它來協調多路復用總線接口214與B類型接口244b之間的總線活動。實質上,多路復用總線接口214提供多路復用總線、即多路復用總線232,它結合來自A類型接口244a設計成耦合到其中的總線類型A以及B類型接口244b設計成耦合到其中的總線類型B的信號和功能性,它設法將總線類型A以及B的信號的至少一部分復用到可由A類型接口244a和B類型接口244b共用的信號線的公共集合,它經由協調信號238a和238b來協調信號線的公共集合上的多路復用活動。
來自總線類型A的哪個信號(甚至哪些信號)被用作協調信號238a取決于總線類型A的信號和協議的特性。例如,如果總線類型A的協議是這樣的,使得在給定芯片選擇或另一個控制輸入為無效時要求被設計成與總線類型A配合工作的接口使多個信號呈現三態,則那個控制輸入可用作協調信號238a。或者,如果總線類型A的協議是這樣的,使得當時鐘輸入中的一定數量的時鐘脈沖出現而沒有在其它信號線上發生某種特定形式的活動時要求被設計成與總線類型A配合工作的接口使多個信號呈現三態,則那個時鐘輸入可用作協調信號238a。類似的實例也可應用于協調信號238b。同樣,如果被設計成與總線類型A配合工作的接口在接口未參與總線活動時通常使它的多個信號呈現三態,而設計成與總線類型B配合工作的接口則采用設計成綁定到集電極開路總線的多個信號,則仍然有可能復用總線類型A的多個可呈三態信號與總線類型B的多個集電極開路信號,只要適當的上拉和/或下拉電阻根據需要用來使這種復用成為可能。
本領域的技術人員會知道,圖2中所示的在以下意義上經過一些簡化根據各個信號的電特性以及它們被預計對于總線類型A和B為有效及無效的時間,可能不僅僅是協調信號238a和238b只將多路復用總線接口214耦合到A類型接口244a和B類型接口244b其中的一個或另一個。這還由以下可能性所引起總線類型A和B不是均要求使用相同數量的信號線,因此,A類型接口244a或者B類型接口244b的任一個與另一個相比,可能讓略多數量的信號被耦合到多路復用總線接口214。
圖3是提供總線接口的邏輯的一個實施例的更詳細的框圖,說明更具體的信號詳細情況。與圖2的邏輯裝置210相似,邏輯裝置310是較大電子設備、如計算機系統的一個組件,以及在計算機系統的部分實施例中可能是南橋邏輯裝置或者是一個或多個總線耦合到的計算機系統的其它組件。邏輯裝置310至少部分由提供能夠支持串行外圍接口(SPI)以及低引腳數(LPC)總線的協議和定時的多路復用總線332的多路復用總線接口314組成。多路復用接口通過多路復用總線332分別向非易失性存儲裝置340a和340b的SPI接口344a和LPC接口344b中的一個或兩個發送及從其接收信號。通過以下論述將變得很清楚,多路復用總線接口314和多路復用總線332必須容許LPC裝置以及SPI裝置在必要時同時到多路復用總線332的耦合。
多路復用總線接口314提供總線332,它具有允許設計成與眾所周知的SPI或LPC總線中任一個接口的裝置被耦合到總線332的特性。SPI由Motorola,Inc.提出,并且已經在微控制器應用中廣泛地用于包括EEPROM、DSP和LED數字顯示驅動器在內的多種類型的裝置的連接。對于達到20Mbps的當前數據率以及將數據率增加到25Mbps的業界的當前論題,SPI被看作是長期慣用的I2C總線的后繼方案。LPC由Intel Corporation提出,并且已經在個人計算機應用中廣泛地用于包括向用戶接口裝置提供接口的閃速ROM和I/O控制器芯片在內的多種類型的裝置的連接。具有當前高達16.5MB/秒的數據率,LPC廣泛地用作諸如ISA之類的總線的替代者,諸如ISA之類的總線提供了相當的數據率但要求更多信號,因而要求構成個人計算機組成部分的IC上的更多引腳。
在組成多路復用總線332的信號中,-CS 338a和LFRAME#338b是多路復用總線接口314用來協調多路復用總線接口314與SPI接口344a和LPC接口344b中每個之間的總線活動的協調信號。了解SPI總線的技術人員會知道,-CS 338a是SPI總線的“芯片選擇”信號,以及當其-CS輸入被驅動為無效(即高電平)時,從屬設備(例如非易失性存儲裝置340a)的其它信號呈現三態并被這種從屬設備的接口(例如SPI接口344a)忽略。了解LPC總線的技術人員會知道,LFRAME#338b是對LPC總線上的地址、命令和數據的有效傳遞的起始和結束“組幀”的信號,以及當其LFRAME#輸入被驅動為無效(即高電平)時,外圍設備(例如非易失性存儲裝置340b)的其它信號呈現三態并被這種外圍設備的接口(例如LPC接口344b)忽略。多路復用總線接口314采用-CS 338a和LFRAME#338b分別選擇非易失性存儲裝置340a和340b中的一個或另一個來參與總線活動,以及防止非易失性存儲裝置340a與340b之間的總線沖突。
采用-CS 338a和LFRAME#338b用作協調信號,其余信號組成非協調信號336的集合。在非協調信號336中所描繪的是路由到SPI接口344a和LPC接口344b的復位信號。LPC接口明確提供復位信號(稱作LRESET#),以便每當LPC總線所在的計算機系統的其它組件也被復位時,將復位信號傳送給連接到LPC總線的裝置。但是,本領域的技術人員會知道,可以設想,連接到LPC總線的特別簡單的裝置、如非易失性存儲裝置340b可能不需要復位信號。SPI接口沒有明確提供任何形式的復位信號,但是,可以設想,連接到LPC總線的復雜裝置(可能比非易失性存儲裝置340a更復雜的裝置)可能需要復位信號。多路復用總線接口314的各種可能的實施例可能或者可能不向連接到多路復用總線332的裝置提供復位信號。同樣,多路復用總線接口314和多路復用總線332所在的計算機系統或其它電子設備的各種可能的實施例可能具有從其中可提供復位信號的其它邏輯或另一個總線,來代替提供它的多路復用總線接口314。
在非協調信號336中還表示了路由到SPI接口344a和LPC接口344b的時鐘信號。SPI和LPC總線都需要時鐘信號(在SPI中稱作SCK或SCLK,以及在LPC中稱作LCLK)來同步兩種總線上的地址、命令和數據的傳遞。根據非易失性存儲裝置340a和340b中每個的數據率的特定要求以及多路復用總線接口314的特定設計,可能采用同一個時鐘信號來同步多路復用總線332上的SPI和LPC類型的總線活動。具體來說,雖然SPI當前支持達到20MHz的時鐘(盡管當前已經提出25MHz作為新的最大時鐘速率),但在部分實施例中,也許非易失性存儲裝置340a無法以充分利用這種時鐘的速率來傳遞數據。類似地,在部分實施例中,也許非易失性存儲裝置340b無法以充分利用LPC當前所支持的最大33MHz時鐘的速率來傳遞數據。在部分實施例中,時鐘信號的這種共享可能需要將多路復用總線接口314的邏輯設計成能夠提供變化頻率的時鐘,由此時鐘信號將根據所發生的總線活動的類型而在兩個不同頻率(例如SPI的當前20MHz與LPC的當前33MHz)之間交換。在其它實施例中,公共時鐘頻率被選取并用于SPI和LPC類型的總線活動(例如SPI的25MHz可能的將來最大時鐘速率),因而這兩種類型的總線活動中的至少一個或另一個被同步到比那種類型的總線活動可能的最大值更慢的時鐘。否則,在其它實施例中,可能希望通過向非易失性存儲裝置340a以及340b提供獨立的時鐘信號,來優化LPC以及SPI裝置的數據傳輸速率,以及保持多路復用總線接口314的設計的某種程度的簡單性。
非協調信號336還被描繪為包括LAD0至LAD3,它們組成信號的并行雙向半字節寬集合,地址、命令和數據通過它們在LPC總線上傳遞。如圖所示,LAD2和LAD3已經與MISO和MOSI復用,它們組成地址、命令和數據用來在SPI總線上傳遞的主機輸入從機輸出以及主機輸出從機輸入單向串行信號,從而產生多路復用LAD2/MOSI和LAD3/MISO信號。本領域的技術人員易于理解,可采取復用這些LPC和SPI傳輸信號的其它形式,在其中創建這類信號的不同組合,而沒有背離以下要求其權益的本發明的精神和范圍。
確定LPC和/或SPI裝置是否存在的步驟可通過在多路復用總線432上執行一個或多個操作以便查詢LPC和/或SPI裝置的存在的多路復用總線接口414來完成。在不同實施例中,多路復用總線接口414可嘗試執行一個或多個讀取操作,首先采用LPC或SPI協議中的任一個,以及在無法得到響應時,再采用兩個協議中的另一個。與LFRAME#信號338b分離的-CS信號338a的提供允許嘗試的讀取操作被執行,從而查找具有兩個接口之一的裝置,而沒有來自具有兩個接口中另一個的裝置的干擾。
圖4是提供總線接口的邏輯的另一個實施例的更詳細的框圖,說明更具體的信號詳細情況。與圖2和圖3的邏輯裝置210、310相似,邏輯裝置410是較大電子設備、如計算機系統的一個組件,以及在計算機系統的部分實施例中可能是南橋邏輯裝置或者是一個或多個總線耦合到其中的計算機系統的其它組件。與邏輯裝置310相似,邏輯裝置410至少部分由多路復用總線接口414組成,邏輯裝置410通過它經由總線多路復用總線432僅分別對非易失性存儲裝置340a和340b的SPI接口344a和LPC接口344b中的一個或另一個發送和從其接收信號。與可容許LPC裝置以及SPI裝置同時到多路復用總線332的耦合的多路復用總線接口314和多路復用總線332不同,多路復用總線接口414和多路復用總線432必須容許在任一時刻只有LPC或SPI裝置中的一個或另一個到多路復用總線432的耦合。
圖3的多路復用總線332與多路復用總線432之間的主要差別是LPC總線的LFRAME#信號復用到與SPI總線的-CS信號相同的信號線上,從而創建LFRAME#/-CS信號438。這消除了對于邏輯裝置410提供附加引腳以允許這兩個信號處于分開的信號線上的需要,但這導致前面所述的結果多路復用總線432可接納LPC裝置或者SPI裝置,但不能同時接納兩者。確定是連接LPC裝置還是SPI裝置、從而確定多路復用總線432應當由多路復用總線接口414作為LPC總線還是作為SPI總線來控制的步驟可由多路復用總線接口414在多路復用總線432上執行一個或多個操作以查詢LPC和/或SPI裝置的存在來完成。
在一個實施例中,多路復用總線接口414嘗試采用LFRAME#/-CS信號438以及非協調信號436中的時鐘、LAD2/MOSI和LAD3/MISO信號經由SPI總線協議和定時來執行一個或多個讀取操作。如果SPI裝置(例如具有其SPI接口444a的非易失性存儲裝置440a)存在,則多路復用總線接口414應當經由LAD3/MISO信號從那個SPI裝置接收某種形式的數據、命令等的一個或多個字節。假定LPC總線要求LAD0至LAD3信號具有上拉電阻,則沒有存在的SPI裝置應當引起多路復用總線接口414對于來自LAD3/MISO的每位上全部1的接收。但是,為了進一步確保不存在SPI裝置,在一些實施例中,認為可能希望使LAD3/MISO的上拉電阻可轉換,使得LAD3/MISO可能受到下拉以及嘗試的讀取操作重復進行。如果沒有存在SPI裝置,則結果應當是由多路復用總線接口414對來自LAD3/MISO的每位上的全0的接收。如果找到SPI裝置,則多路復用總線432隨后作為SPI總線工作。但是,如果沒有找到SPI裝置,則在各種可能的實施例中,可假定LPC裝置的存在,或者可利用LPC協議在多路復用總線432上執行讀取或其它操作,來確認LPC裝置的存在。
在一個實施例中,多路復用總線接口414嘗試采用LFRAME#/-CS信號438以及非協調信號436中的所有信號經由LPC總線協議和定時來執行一個或多個讀取操作。但是,作為對于導致多路復用總線接口414與SPI裝置之間可能存在的可能短路的預防措施,多路復用總線接口414可設計成利用上拉或下拉電阻實際驅動LAD3/MISO(甚至可能只是利用LPC標準已經對LAD3信號要求的上拉電阻)。另外,為了確保可能存在的SPI裝置能夠作出正確響應,在一些實施例中,時鐘信號可能以20MHz或更低的時鐘速率、而不是接近LPC所提供的33MHz最大值的時鐘速率來驅動。如果LPC裝置(例如具有其SPI接口444b的非易失性存儲裝置440b)存在,則多路復用總線接口414應當通過LAD0、LAD1、LAD2/MOSI和LAD3/MISO從LPC裝置接收有效的SYNC字節。如果SPI裝置存在,則多路復用總線接口414應當經由LAD3/MISO信號從那個SPI裝置接收某種形式的數據、命令等的一個或多個字節。如果沒有裝置存在,以及LAD0至LAD3信號上LPC所要求的正常上拉電阻被保持,則多路復用總線接口414應當只是通過LAD0、LAD1、LAD2/MOSI和LAD3/MISO接收全1。
本領域的技術人員易于理解,測試SPI或LPC裝置是否存在的其它實施例是可行的。測試這類裝置的一些可能的方法可經過選擇,利用其中安裝了邏輯裝置410的計算機系統或電子設備的設計方面的知識什么信號實際上經由邏輯裝置410耦合到的電路板從多路復用總線接口414可供給定LPC或SPI裝置使用。例如,如果已知在LPC裝置存在時復位信號僅被路由到LPC裝置而不是到SPI裝置,則復位信號可通過多路復用總線接口414來處理,以便確保在進行SPI裝置的存在的測試時使可能存在的任何LPC裝置不提供響應,或者在已知只有SPI裝置接收復位信號時則相反。
雖然圖2、圖3和圖4的多路復用總線接口214、314和414分別被描繪為已經集成到或者以其它方式“嵌入”其它所述邏輯裝置以便提供那些其它邏輯裝置與所述多路復用總線之間的訪問,但本領域的技術人員會理解,多路復用總線接口214、314和/或414可在各種可能實施例的任一個中實現為獨立裝置。具體來說,本領域的技術人員會知道,多路復用總線接口214、314和414可將對伴隨多路復用總線的訪問從另一個或其它總線那邊提供給其它裝置,而沒有背離以下要求其權益的本發明的精神和范圍。此外,本領域的技術人員易于理解,在各種實施例中,多路復用總線接口214、314和414可自發地經由內部微控制器、內部CPU、硬連線邏輯、可編程邏輯等或者在多路復用總線接口214、314和/或414外部的另一裝置、例如計算機系統的CPU或其中以某種方式結合了多路復用總線接口214、314和/或414的另一種電子設備的控制下,來確定伴隨多路復用總線上具有各種類型接口的各種裝置是否存在。另外,在多路復用總線接口214、314和/或414通過運行指令的內部CPU、微控制器或類似的處理裝置確定伴隨多路復用總線上具有各種類型接口的各種裝置是否存在的實施例中,被運行以執行裝置是否存在的確定的機器可訪問指令可從例如圖1的存儲介質174之類的介質中讀取。
圖5是一個實施例的流程圖。確定具有總線類型A的接口的裝置是否連接到能夠支持具有總線類型A的接口的裝置或者具有總線類型B的接口的裝置的多路復用總線的工作從510開始,具體步驟是將總線類型A的協調信號(例如圖2的協調信號238a)驅動為有效。在512,利用總線類型A協議嘗試執行某種形式的總線活動,如讀取操作。如果在514接收到來自具有總線類型A接口的裝置的響應,則可在520假設多路復用總線上不存在具有裝置類型B接口的裝置,或者可在540開始對于具有總線類型B接口的裝置的測試。否則,如果在514沒有接收到來自具有總線類型A接口的裝置的響應,則可在530假設存在具有總線類型B接口的裝置,或者可在540開始測試多路復用總線上具有總線類型B接口的裝置是否存在。如果要進行對于多路復用總線上具有總線類型B接口的裝置的測試,則在510被驅動為有效的總線類型A的相同協調信號在540被驅動為無效。在542,總線類型B的協調信號(例如圖2的協調信號238b)被驅動為有效。在544,嘗試利用總線類型B協議來執行某種形式的總線活動,之后在546當存在這種裝置時則從多路復用總線那里接收具有總線類型B接口的裝置的響應。
圖6是另一個實施例的流程圖。確定具有總線類型A的接口的裝置是否連接到能夠支持具有總線類型A的接口的裝置或者具有總線類型B的接口的裝置(但不能同時支持兩種類型)的多路復用總線的工作從612開始,具體步驟是,嘗試利用總線類型A協議來執行某種形式的總線活動,如讀取操作。如果從多路復用總線那里接收到來自具有總線類型A接口的裝置的響應,則查找裝置的工作可在614結束。但是,如果沒有接收到來自具有總線類型A接口的裝置的響應,則在這個實施例的一些變體中,可在622作出假設具有總線類型B的接口的裝置一定存在。或者,在這個實施例的另一些變體中,可進行查找具有總線類型B接口的裝置的工作,具體步驟是,在632嘗試利用總線類型B協議來執行某種形式的總線活動,之后在634當存在這種裝置時,從多路復用總線那里接收來自具有總線類型B接口的裝置的響應。
已經結合優選實施例對本發明進行了描述。顯然,通過以上描述,本領域的技術人員將會十分清楚大量替代、修改、變更和使用。本領域的技術人員會理解,可實施本發明以支持具有各種可能的總線接口的各種類型的電子設備,并且不限于具有LPC或者SPI總線的接口的非易失性存儲裝置。本領域的技術人員還會理解,可實施本發明以支持不同于計算機系統的電子設備,例如音頻/視頻娛樂裝置、車載控制器裝置、電子電路控制的設備等。
權利要求
1.一種設備,包括多路復用總線接口;多路復用總線,耦合到所述多路復用總線接口并由其控制,其中所述多路復用總線包括多個公共信號線,采用支持關于具有第一總線類型接口的裝置和具有第二總線類型接口的裝置其中任一個的活動的協議和定時來傳遞地址、命令和數據;以及第一裝置,耦合到所述多路復用總線并具有第一總線類型接口。
2.如權利要求1所述的設備,其特征在于,還包括耦合到所述多路復用總線并具有第二總線類型接口的第二裝置,其中所述多路復用總線還包括第一協調信號線,用于在采用支持關于具有第一類型總線接口的裝置的活動的協議和定時的傳遞過程中向所述第一裝置發信號;以及第二協調信號線,用于在采用支持關于具有第二類型總線接口的裝置的活動的協議和定時的傳遞過程中向所述第二裝置發信號。
3.如權利要求2所述的設備,其特征在于,所述多個公共信號線之中的一個公共信號線將所述多路復用總線接口所提供的具有時鐘速率的時鐘輸出傳遞給所述第一和第二裝置,所述時鐘速率在采用支持具有第一總線類型接口的裝置的協議和定時針對所述第一裝置的傳遞過程中的第一時鐘速率與采用支持具有第二總線類型接口的裝置的協議和定時針對所述第二裝置的傳遞過程中的第二時鐘速率之間轉換。
4.如權利要求1所述的設備,其特征在于,所述多路復用總線還包括協調信號線,用于在采用支持具有第一總線類型接口的裝置或者具有第二總線類型接口的裝置的協議和定時的傳遞過程中,向具有第一總線類型接口的裝置和具有第二總線類型接口的裝置其中任一個發信號。
5.如權利要求1所述的設備,其特征在于,支持具有第一總線類型接口的裝置的所述協議和定時支持通過所述公共信號線之一的串行數據傳遞,以及支持具有第二總線類型接口的裝置的所述協議和定時支持通過多個所述公共信號線的并行數據傳遞。
6.一種計算機系統,包括CPU;存儲系統;耦合到所述CPU以及所述存儲系統的支持邏輯;多路復用總線接口,耦合到所述支持邏輯并可由執行指令的所述CPU控制;多路復用總線,耦合到所述多路復用總線接口并由其控制;其中所述多路復用總線包括多個公共信號線,用于采用支持關于具有第一總線類型接口的裝置和具有第二總線類型接口的裝置其中任一個的活動的協議和定時來傳遞地址、命令和數據;以及第一裝置,耦合到所述多路復用總線,其中所述第一裝置是具有第一總線類型接口并存儲由所述CPU執行的多個指令的非易失性存儲裝置。
7.如權利要求6所述的計算機系統,其特征在于,還包括耦合到所述多路復用總線并具有第二總線類型接口的第二裝置,其中所述第二裝置為I/O裝置,以及其中所述多路復用總線還包括第一協調信號線,用于在采用支持關于具有第一類型總線接口的裝置的活動的協議和定時的傳遞過程中向所述第一裝置發信號;以及第二協調信號線,用于在采用支持關于具有第二類型總線接口的裝置的活動的協議和定時的傳遞過程中向所述第二裝置發信號。
8.如權利要求7所述的計算機系統,其特征在于,所述多個公共信號線之中的一個公共信號線將所述多路復用總線接口所提供的具有時鐘速率的時鐘輸出傳遞給所述第一和第二裝置,所述時鐘速率在采用支持具有第一總線類型接口的裝置的協議和定時針對所述第一裝置的傳遞過程中的第一時鐘速率與采用支持具有第二總線類型接口的裝置的協議和定時針對所述第二裝置的傳遞過程中的第二時鐘速率之間轉換。
9.如權利要求7所述的計算機系統,其特征在于,所述CPU能夠執行指令,使所述CPU控制所述多路復用總線接口來測試所述多路復用總線上具有所述第一總線類型接口的裝置的存在,使所述第一裝置被檢測,以及所述CPU執行指令,使所述CPU控制所述多路復用總線接口來測試所述多路復用總線上具有所述第二總線類型接口的裝置的存在,使所述第二裝置被檢測。
10.如權利要求7所述的計算機系統,其特征在于,所述多路復用總線接口能夠執行指令,使所述多路復用總線接口測試所述多路復用總線上具有所述第一總線類型接口的裝置的存在,使所述第一裝置被檢測,所述多路復用總線接口測試所述多路復用總線上具有所述第二總線類型接口的裝置的存在,使所述第二裝置被檢測,以及所述多路復用總線接口能夠為所述CPU提供所述第一和第二裝置都被檢測的指示。
11.如權利要求7所述的計算機系統,其特征在于,支持具有第一總線類型接口的裝置的所述協議和定時支持通過所述公共信號線之一的串行數據傳遞,以及支持具有第二總線類型接口的裝置的所述協議和定時支持通過多個所述公共信號線的并行數據傳遞。
12.如權利要求6所述的計算機系統,其特征在于,所述多路復用總線還包括協調信號線,用于在采用支持具有第一總線類型接口的裝置或者具有第二總線類型接口的裝置的協議和定時的傳遞過程中,向具有第一總線類型接口的裝置和具有第二總線類型接口的裝置其中任一個發信號。
13.如權利要求12所述的計算機系統,其特征在于,所述CPU能夠執行指令,使所述CPU控制所述多路復用總線接口來測試所述多路復用總線上具有所述第一總線類型接口的裝置的存在,使所述第一裝置被檢測。
14.一種方法,包括將多路復用總線的第一協調信號線驅動為有效,從而向具有可能耦合到所述多路復用總線的第一總線類型接口的裝置發信號;嘗試利用適合支持通過具有第一總線類型接口的裝置在所述多路復用總線的多個公共信號線上傳遞地址、命令和數據的協議和定時在所述多路復用總線上執行第一形式的活動;如果沒有裝置對所述第一形式的活動作出響應,則將所述多路復用總線的所述第一協調信號線驅動為無效;如果沒有裝置對所述第一形式的活動作出響應,則將所述多路復用總線的第二協調信號線驅動為有效,從而向具有可能耦合到所述多路復用總線的第二總線類型接口的裝置發信號;以及如果沒有裝置對所述第一形式的活動作出響應,則嘗試利用適合支持通過具有第二總線類型接口的裝置在所述多路復用總線的所述多個公共信號線上傳遞地址、命令和數據的協議和定時在所述多路復用總線上執行第二形式的活動。
15.如權利要求14所述的方法,其特征在于,嘗試執行所述第一形式的活動還包括將所述多個公共信號線的時鐘信號線設置為第一時鐘速率,以及嘗試執行所述第二形式的活動還包括將所述時鐘信號線設置為第二時鐘速率。
16.如權利要求14所述的方法,其特征在于,嘗試在所述多路復用總線上執行所述第一形式的活動還包括在所述多個公共信號線之中的單個公共信號線上串行傳遞數據,以及嘗試在所述多路復用總線上執行所述第二形式的活動還包括在所述多個公共信號線之中的至少兩個公共信號線上并行傳遞數據。
17.如權利要求14所述的方法,其特征在于,嘗試在所述多路復用總線上執行第一形式的活動還包括在所述多個公共信號線之中的至少兩個公共信號線上并行傳遞數據,以及嘗試在所述多路復用總線上執行所述第二形式的活動還包括在所述多個公共信號線之中的單個公共信號線上串行傳遞數據。
18.一種機器可訪問介質,包括代碼,這些代碼由電子設備中的處理器執行時,使所述電子設備將多路復用總線的第一協調信號線驅動為有效,從而向具有可能耦合到所述多路復用總線的第一總線類型接口的裝置發信號;嘗試利用適合支持通過具有第一總線類型接口的裝置在所述多路復用總線的多個公共信號線上傳遞地址、命令和數據的協議和定時在所述多路復用總線上執行第一形式的活動;如果沒有裝置對所述第一形式的活動作出響應,則將所述多路復用總線的所述第一協調信號線驅動為無效;如果沒有裝置對所述第一形式的活動作出響應,則將所述多路復用總線的第二協調信號線驅動為有效,從而向具有可能耦合到所述多路復用總線的第二總線類型接口的裝置發信號;以及如果沒有裝置對所述第一形式的活動作出響應,則嘗試利用適合支持通過具有第二總線類型接口的裝置在所述多路復用總線的所述多個公共信號線上傳遞地址、命令和數據的協議和定時在所述多路復用總線上執行第二形式的活動。
19.如權利要求18所述的機器可訪問介質,其特征在于還使所述處理器如果具有第一總線類型接口的第一裝置響應所述第一形式的總線活動,則從所述第一裝置讀取指令;以及如果具有第二總線類型接口的第二裝置響應所述第二形式的總線活動,則從所述第二裝置讀取指令。
20.如權利要求18所述的機器可訪問介質,其特征在于還使所述處理器在嘗試在所述多路復用總線上執行所述第一形式的活動的過程中,將所述多個公共信號線之中的時鐘信號線設置為第一時鐘速率;以及在嘗試在所述多路復用總線上執行所述第二形式的活動的過程中,將所述時鐘信號線設置為第二時鐘速率。
全文摘要
用于提供支持具有第一總線類型接口的裝置與具有第二總線類型接口的裝置中任一種的耦合的多路復用總線的設備及方法,其中,多路復用總線至少部分由多個公共信號線構成,它們可耦合到任一種類型的裝置,并且可用于采用任一種總線的協議和定時來執行傳遞。
文檔編號G06F13/42GK1764912SQ200480008144
公開日2006年4月26日 申請日期2004年2月11日 優先權日2003年3月28日
發明者D·波伊斯納 申請人:英特爾公司