專利名稱:可移除電子電路卡的模塊之間的有效連接的制作方法
技術領域:
本發(fā)明一般涉及可移除電子電路卡的使用和結構,且更特定地涉及單個卡上或個別卡上的卡模塊之間的連接。
背景技術:
越來越盛行的各種可市購的非易失性存儲卡極其小巧且具有不同的機械和/或電接口。實例包括相關多媒體卡(“MMC”)和安全數字(“SD”)存儲卡,其可從本發(fā)明的轉讓人,California,Sunnyvale的SanDisk公司購買到。還有其他符合國際標準化組織(“ISO”)和國際電工委員會(“IEC”)的標準(已廣泛采用的一個實例稱為ISO/IEC 7816標準)的卡。
在“多媒體卡系統(tǒng)技術規(guī)范(The MultiMediaCard System Specification)”中規(guī)定了針對MMC的物理和電氣技術規(guī)范,其中所述規(guī)范由California,Cupertino的多媒體卡協(xié)會(“MMCA”)隨時更新并出版。日期分別為1999年6月、2000年1月和2001年6月的所述技術規(guī)范的2.11版、2.2版和3.1版以引用的方式明確并入本文中。當前可從SanDisk公司購得具有不同單卡存儲容量的MMC產品,最高可達128兆字節(jié)。在SanDisk公司出版的日期為2000年4月的修訂版2“多媒體卡產品指南(MultiMediaCard ProductManual)”中描述了這些產品,所述指南以引用的方式明確并入本文中。在1998年11月4日申請的并轉讓給SanDisk公司的Thomas N.Toombs和Micky Holtzman的第09/185,649和09/186,064號共同待決的專利申請案中還描述了MMC產品的電氣操作的某些方面。在轉讓給SanDisk公司的美國專利第6,040,622號中描述了物理卡結構和其制造方法。這些申請案和專利以引用的方式明確并入本文中。
新的SD卡類似于MMC卡,其尺寸相同,只不過厚度得到增加以容納附加的存儲芯片。這兩者之間的主要差異在于SD卡包括附加的數據觸點,以便能夠在卡與主機之間進行更快的數據傳輸。SD卡的其他觸點和MMC卡的觸點相同,從而使得設計成接受SD卡的插口也能接受MMC卡。以使得設計成接受SD卡的插口也能制造成接受MMC卡的方式來進一步制造SD卡的電氣和功能接口,如2002年2月21日公開的YoramCedar、Micky Holtzman和Yosi Pinto的第02/15020號PCT公開申請案中所描述的,且所述申請案以引用的方式并入本文中。2000年8月17日申請的美國專利申請案第09/641,023號中描述了SD卡的某些方面,所述申請案以引用的方式并入本文中。(SD協(xié)會(SDA)的成員公司可使用SD卡的所述技術規(guī)范。)根據ISO/ICE 7816標準制造的卡具有不同的形狀,在不同的位置具有表面觸點,且具有不同于MMC和SD卡的電氣接口。ISO/IEC 7816標準具有一個通用標題“帶觸點的標識卡-集成電路卡(Identification cards-Integrated Circuit(s)Cards with Contacts)”,且由日期分別為1994到2000年的1到10個部分組成。這一標準(可從Switzerland,Geneva的ISO/IEC得到其副本)以引用的方式明確并入本文中。ISO/IEC 7816卡在某些應用中特別有用,在這些應用中,必須以安全的方式來存儲數據,所以很難或者無法以未授權的方式讀取數據。除了別的應用之外,小型ISO/IEC 7816卡普遍用于手機中。
近來描述了允許具有不同功能性的多個模塊附接到主機的卡。這些卡中包括具有多個模塊的單個卡和這樣的卡其中模塊分布在若干卡之間,但第一卡直接附接到主機,其他卡附接到第一卡而不是直接附接到主機,如2000年9月1日申請的共同待決的美國專利申請案第09/653,062號中描述的,所述申請案以引用的方式并入本文中。舉例來說,所述模塊可包括存儲器模塊和輸入輸出模塊,其中兩種模塊在單個的組合卡中,或其中存儲器卡設計成一端附接到主機且另一端附接到輸入輸出卡。這些多模塊卡需經設計以使得其可與主機一起以快速、有效和便利的方式運作。
發(fā)明內容
因此,簡要且概括地說,本發(fā)明利用一種可移除電子電路卡,其具有并聯連接到卡總線的多個模塊,使得每個模塊可與主機獨立交換命令和數據。根據本發(fā)明的第一方面,這通過控制器對控制器接口來實現,所述模塊可通過所述接口促進其與主機的交互。在第一組實施例中,所述模塊在單個卡上,而在第二組實施例中,所述模塊橫跨多個卡而分布,其中第一卡附接到所述主機,且其他卡附接到所述第一卡,而不是直接附接到主機。在所有這些情況下,主機將多個模塊看作具有單個模塊的單個卡。在本發(fā)明的其他方面中,所述卡能夠以多于一個的協(xié)議與主機進行通信。
根據SD型可移除電子電路卡來描述示范性實施例,其中所述SD型可移除電子電路卡具有帶非易失性大容量存儲存儲器的存儲器模塊和獨立的輸入輸出模塊。每個模塊具有其自身的控制器,每個控制器并聯連接到主卡總線(SD總線),所述控制器可通過所述總線與主機交換命令和數據。通常,每個模塊將具有不同組的合法命令盡管其可能共用某些共同命令,例如重設命令,但每個模塊具有其自身的特定組的命令。為促進控制器對總線的這種并聯連接,本發(fā)明引入一組控制器對控制器線。在示范性實施例中,基于可利用SD或MMC協(xié)議以及SPI協(xié)議的卡,使用三根這樣的線。這些線允許一個控制器指示另一控制器忽視總線上的數據,現在是發(fā)布中斷命令的合適時間,或管理與非法命令相關的標志的設定和清除。其還允許一個控制器向另一控制器指示其經附接和激活,因為本發(fā)明還可在能附其他模塊或不能附其他模塊的多卡實施例中實施。
在單卡實施例中,所有模塊被包含在符合可附接到主機的特定標準的單個卡中。在多卡實施例中,第一卡(例如存儲卡)可附接到主機,但還包括用于附接一個或一個以上附加卡(例如輸入輸出卡)的連接器。在多卡情況下,主卡總線和控制器對控制器接口都會延伸橫跨連接器接口,使得當第二卡附接時,其可以與單卡實施例相同的方式運作。
示范性實施例是針對能以多個協(xié)議(特定為SD或MMC和SPI協(xié)議,盡管可使用其他協(xié)議)與主機進行通信的模塊而描述的??刂破鲗刂破骶€可具有不同的功能,這些功能取決于使用哪種協(xié)議。因為控制器對控制器線允許并聯連接的模塊可如同主機所認為的單個實體一樣操作,所以在SD和MMC協(xié)議中,所有模塊共享共同的相對卡地址(RCA),且在SPI協(xié)議中,所有模塊都響應相同的芯片選擇(CS)信號。
根據結合附圖進行的以下描述,本發(fā)明的其他細節(jié)、特征和優(yōu)勢將變得顯而易見。
圖1a和圖1b說明多個系統(tǒng),其中組合卡實施例和兩卡實施例中分別利用非易失性存儲器模塊和輸入輸出模塊。
圖2展示實例卡和其中插入所述卡的系統(tǒng)插口的針腳分配。
圖3是示范性組合存儲器/輸入輸出卡配置的方框圖。
圖4a是在SPI模式下使用線[A]使I/O控制器指示存儲器控制器忽視主機數據的示意圖。
圖4b是在SPI模式下使用線[A]使存儲器控制器指示I/O控制器忽視主機數據的示意圖。
圖5是針對SPI模式下的線[A]的總線時序圖。
圖6是時序圖符號的表。
圖7是在SD模式下使用線[A]使存儲器控制器向I/O控制器指示有效的中斷周期的示意圖。
圖8是針對SD寬總線模式下的線[A]的總線時序圖。
圖9是在非命令響應周期中使用線[B]向第一卡控制器指示第二卡被附接的示意圖。
圖10a是使用線[B]使I/O控制器向存儲器控制器指示其正在作出響應的示意圖。
圖10b是使用線[B]使存儲器控制器向I/O控制器指示其正在作出響應的示意圖。
圖11是針對線[B]上的感應和驅動周期的總線時序圖。
圖12是一個控制器如何使用線[C]來向另一控制器指示設定非法命令標志的方框圖。
圖13是針對線[C]上的到存儲器控制器的非法命令緊接合法命令的總線時序圖。
圖14是線[C]和線[B]一起使用以控制卡檢測邏輯的總線時序圖。
圖15是示范性總線時序圖的表。
圖16是SD模式下的控制線[A]的時序圖。
圖17是SD模式和SPI模式下的控制線[B,C],SPI模式下的線[A]的時序圖。
圖18是針對SD模式下的線[A]的參數表。
圖19是SD和SPI模式下的線[B,C],SPI模式下的線[A]的參數表。
圖20是針對控制器對控制器接口的針腳描述。
具體實施例方式
參考圖1a,所說明的主機電子系統(tǒng)31包括一插口33,用戶可插入和移除一種或多種類型的市購可移除電子電路卡,例如上文現有技術中所概括的存儲卡。插口33可建構在主機31中或物理上獨立并通過電纜或無線構件連接。主機31可以是臺式機或筆記本形式的個人電腦,其包括可接收這樣的卡的插口33。含有這樣的卡插口的主機系統(tǒng)的其他實例包括各種便攜式電子設備,例如手提電腦、個人信息管理工具、其他個人數字助理(“PDA”)、手機、音樂播放器及其類似物。另外,自動收音機和全球定位系統(tǒng)(“GPS”)接收器也可具有這樣的存儲卡插口。本發(fā)明的改進可應用到包括存儲卡插口的各種主機系統(tǒng)。
在本文所述的實施例中,描述了SD卡,但應了解,本發(fā)明并不限于具有任何特定類型可移除電子電路卡的實施。在圖2中,展示SD卡35和相配插口33的物理配置。SD卡呈矩形形狀,尺寸為24毫米×32毫米,厚度為2.1毫米和1.4毫米厚的沿著卡的較長邊的窄軌道(圖2中未圖示)??衫酶鞣N大小的卡來實施本發(fā)明,但極為有用的卡長度應小于51毫米、寬度應小于40毫米且厚度應小于3毫米。
SD卡35含有9個表面電觸點10-18。觸點13、14和16當插入到主機系統(tǒng)插口33中時連接到電源(VSS、VDD和VSS2)??ㄓ|點15從主機接收時鐘信號(CLK)。觸點12從主機接收命令(CMD)并將響應和狀態(tài)信號發(fā)送回主機。其余觸點10、11、17和18(分別為DAT 2、DAT 3、DAT 0和DAT 1)并聯接收數據以用于存儲在其非易失性存儲器中并從存儲器并聯發(fā)送數據到主機。較少數的數據觸點可選擇使用,例如單個數據觸點17。主機與卡之間的數據傳輸的最大速率受到所使用的并聯數據路徑的數目(和最大時鐘速率)的限制。上文現有技術中描述的MMC卡具有類似的觸點布局和接口,但省略了數據針腳10和18且不使用觸點11,所述觸點11供備用。MMC卡具有相同的尺寸且其操作類似于SD卡,只不過所述卡僅為1.4毫米厚且具有單個數據觸點17???5的觸點通過插口33的各自的針腳20-28連接到其主機系統(tǒng)。2001年8月2日申請的美國專利申請案第09/924,185號中描述了與本發(fā)明相兼容的存儲卡的其他擴展,在此其以引用的方式并入本文中。
本發(fā)明是基于可移除電子電路卡,例如圖1a的實施例的卡35,圖1a除了例如36所指示的存儲器模塊之外還包括輸入輸出模塊37。輸入輸出模塊37可在通信路徑41上直接與某種其他系統(tǒng)39進行通信。通信路徑41可以是無線的(例如通過使用紅外線或射頻信號),或可包括有線連接。如果通過導線,那么卡35包括一外插口以可移除地接收附接到導線的插頭。如果是無線的,那么卡35內可包括一天線,如果利用射頻通信,或紅外線發(fā)射器和檢測器,如果使用紅外線通信。射頻數據通信的新興標準已被公開為藍牙技術規(guī)范,由Wilson和Kronz在兩篇題為“藍牙內第I部分(Inside Bluetooth Part I)”和“藍牙內第II部分(Inside Bluetooth Part II)”的文章中討論的,出現在2000年3月(從第62頁開始)和2000年4月(從第58頁開始)的Dr.Dobb′s Journal的期刊中,所述文章以引用的方式并入本文中。其他無線方案包括基于802.11協(xié)議的方案,例如WiFi和超寬帶(UWB)技術。通信路徑41上的數據的傳輸常常在兩個方向上,但當然可限制在一個方向或針對特定應用的其他方向。
在某些應用中,入射信號41可以不是明確由外部系統(tǒng)39發(fā)起。舉例來說,輸入輸出模塊37可含有集成在卡上的感光器或透鏡以充當相機模塊。在這種情況下,信號41可以是入射輻射,且卡可形成獨立單元,且將不需要通過電纜或天線與除了主機之外的任何實體交互。
在圖1a的示范性實施例中,包括輸入輸出模塊37的組合卡35是基于“現有技術”中所述的SD存儲卡且與其兼容。所述兼容包括機械、電氣、電源、信號發(fā)送和軟件。組合卡35的目的是為移動電子設備提供低功耗的高速數據I/O?;镜哪繕耸遣迦氩蛔R別組合卡的主機中的組合卡將不引起所述設備或其軟件的物理損壞或中斷。在這種情況下,應完全忽視I/O模塊功能性。一旦所述卡被插入識別組合卡的主機,將通過MMC技術規(guī)范2.11版或美國專利申請案第09/641,023號(都以引用的方式并入本文)中所述的一般構件以及某些延展部分來檢測所述卡。在這種狀態(tài)下,組合卡將變得空閑,且汲取少量的功率(平均每秒15mA)。在隨后主機對卡的正常初始化和詢問期間,卡將會將其自身識別為組合卡設備。主機軟件接著將以元組(tuple)(鏈接列表)格式獲得卡信息,并確定卡的I/O功能是否可接受以激活。這個決定將取決于諸如功率要求或適當軟件驅動器的可用性等參數。如果所述卡可接受,那么將允許完全供電并起始I/O和其中構建的功能。在2002年11月21日申請的共同待決的美國專利申請案10/302,009中提供了關于圖1a的示范性實施例的操作的更多詳情,所述申請案以引用的方式并入本文中。
圖1b中顯示本發(fā)明的替代性示范性實施例,其中存儲器模塊和輸入輸出模塊位于單獨的卡上。替代性示范性實施例包括通過添加連接器(例如圖2中36處所指示)來修改存儲卡(例如存儲卡35),經過修改的卡由圖1b中的35’指示。連接器36附接到輸入輸出卡37的相配連接器以將兩個卡以機械和電方式耦合在一起。在這種配置下,盡管第二卡37將在功能性上符合適當的標準,例如實例中的SD或SD IO卡標準,但其不必在機械上符合,從而允許第一卡35’同時用作物理適配器。輸入輸出卡37經由通信路徑41直接與某些其他系統(tǒng)39通信。在2000年9月1日申請的共同待決的美國專利申請案09/653,062中提供關于圖1b的示范性實施例的操作(包括卡對卡附接的機械方面)的更多詳細內容,所述申請案以引用的方式并入上文中。
盡管圖1a和圖1b的示范性實施例以及以下討論的大多數內容是基于兩個模塊,確切地說是一存儲器模塊和一輸入輸出模塊,但更一般來說,可在單卡(如圖1a中)或多卡(如圖1b中)之間分配更多的模塊。然而,在每種情況下,僅有一個卡將附接到主機。舉例來說,圖1a的35可含有多個I/O模塊,或在圖1b中,卡37可含有多個輸入輸出模塊或可具有35’,可附接有多個輸入輸出卡。一般來說,將針對連接到主機的單卡來描述本發(fā)明的各個方面。所述卡自身內部可含有多個模塊(“組合卡”),或具有一個或一個以上的卡,這些卡本身含有通過所述卡連接到主機的模塊。
示范性實施例還可針對以下情況來描述,即卡能通過例如上文并入的美國專利申請案第09/186,064號中描述的復數個協(xié)議與主機通信。詳細來說,這些可以是MMC或SD(MMC技術規(guī)范2.11版或美國專利申請案第09/641,023號中所述的,其兩者以應用的方式并入上文中)協(xié)議和示范性實施例中的SPI協(xié)議。
圖3是針對符合適當的SD卡標準并具有存儲器模塊和輸入輸出模塊的組合卡35的示范性實施例的方框圖。在存儲器模塊中,僅明確顯示了控制器301,且類似地,僅在I/O模塊中顯示控制器303。I/O模塊(其可含有多個I/O功能)在這里被設計成與選定類型的特定卡一起工作,且遵照如上文并入內容的適當技術規(guī)范。同樣,如上所述,所接納的實施例支持SD總線和SPI總線模式,如并入的參考內容中所描述的。331處顯示總線結構,通過這個總線結構,模塊和主機交換數據和命令。確切地說,總線符合SD標準并包括時鐘線CLK、命令線CMD、數據線DAT0-3,和Vdd和Vss處的電源供應線。對于兩卡實施方案,虛線307指示直接連接到主機的存儲卡(35’)與連接到存儲卡的輸入輸出卡(37)之間的邊界部分??偩€331再次延伸穿過兩個卡并連接到兩個控制器。
以下討論的范疇將主要定義帶I/O擴展槽的SD卡的功能特征以及相關電氣和時序問題。在圖3的實施例中,存儲器控制器301和I/O控制器303都連接在相同的總線上以用于與主機通信。因此,每個模塊將能夠分別與主機通信,但主機仍只能看到單個卡。對于示范性協(xié)議,這導致在SD或MMC模式下僅為卡定義單個相對的卡地址(RCA),且在SPI模式下僅單個芯片選擇(CS)信號用于卡,即使卡將含有不止一個單個模塊。為了促進并聯連接到主機的多個模塊的操作同時仍允許主機將其看作單個卡,在兩個控制器之間實施連接333。
示范性連接具有三個控制線A、B和C,控制器可通過這些控制線交換信號以允許模塊挑選出來自主機的哪些命令和數據是針對哪個模塊。因為主機通過相同的相對卡地址(RCA)或芯片選擇(CS)信號來識別兩個模塊,但許多命令僅特定針對一個模塊,所以控制線允許模塊促進這些主機交互。舉例來說,如果主機發(fā)送特定針對I/O模塊的命令并緊接著發(fā)送某些數據,那么存儲器模塊會認為所述命令是非法的。作為替代,控制線333允許I/O控制器303通知存儲器控制器301所述命令并非非法,而是針對I/O模塊的,且存儲器模塊應忽視隨后的數據。在示范性實施例中,假設大多數命令是針對一個模塊或其他模塊,且少數命令是共同共用的。所述共同命令的實例是卡重設命令,關于為卡整體建立RCA的命令,關于CS信號的命令,和允許很大程度上獨立的模塊充當從主機的角度來看是單個卡的其他命令。其他命令對兩種模塊來說也可以是共同的,例如關于模塊之間的DMA類型傳輸的命令,其在專利申請案10/302,009中有進一步描述。
將更詳細地描述接口控制線,從線[A]開始。線[A]在圖3上也被標記為INT_PER_IGNOR_DI且具有雙重功能性,這取決于通信是為SD模式(其中其充當VALIDMEMORY INTERRUPT PERIOD線)或是為SPI模式(其中其充當IGNORE DI INPUTS線)。在SPI模式中,串行發(fā)送數據和命令/響應,在CMD(現在是數據入,或DI)線上入,且在DAT0(現在是數據出,或DO)線上出。因為兩種模塊是并聯連接的,所以兩種模塊都在SD總線331上監(jiān)聽,且發(fā)送到一個模塊的數據/命令可能會被錯誤的模塊解譯。一個控制器使用SPI模式中的線[A]來指示另一控制器忽視DI輸入。默認情況被實施為上拉模式(pull-up mode)。由控制器(IO或存儲器)中一者設定的“0”指示另一控制器忽視DI輸入??刂凭€[A]的理由在于發(fā)送到一個控制器的數據會被另一控制器認為是命令。由于兩種控制器不會同時接收數據,所以從I/O到存儲器和從存儲器到I/O將使用相同的控制線[A]。
圖4a是從I/O控制器指示存儲器控制器忽視DI的實例。I/O控制器接收后面將跟隨著DATA接收的命令,這樣I/O控制器在命令響應的最后一位后開始確立線[A]為零TARI時鐘。I/O控制器會在最后的忙位之后釋放線[A]TABS時鐘(圖5中界定的)。存儲器控制器感測到線[A]上的“低”,且從現在開始,存儲器控制器將忽視DI輸入,直到I/O控制器釋放線[A]為止。
圖4b是存儲器控制器指示I/O控制器忽視DI的實例。存儲器控制器接收后面將跟隨著DATA接收的命令,這樣存儲器控制器在命令響應的最后一位后開始確立線[A]為零TARI時鐘。存儲器控制器會在最后的忙位之后釋放線[A]TABS時鐘。I/O控制器感測到線[A]上的“低”,且從現在開始,I/O控制器將忽視DI輸入,直到存儲器控制器釋放線[A]。圖5中顯示SPI模式中的線[A]總線時序的實例,且在圖6的表1中定義圖的符號。
在SD模式中,線[A]用于將VALID MEMORY INTERRUPT PERIOD信號從存儲器模塊發(fā)送到I/O模塊,如圖7中所示。這個信號指示允許I/O控制器303根據SD總線協(xié)議將中斷發(fā)送到主機,因為如果I/O模塊在不允許的時間在總線331上將中斷發(fā)送到主機,那么這可能會破壞存儲器模塊與主機之間交換的數據。I/O控制器303必須在將中斷發(fā)送到主機之前檢查這根線?!?”指示有效的中斷周期,且“0”指示無效的中斷周期。如在上文并入的各種參考內容中所述的,在SPI和1位(或窄)SD模式中,第8個針腳(DAT1)用作中斷信號。在4位(或寬)SD模式中,第8個針腳(DAT1)用于數據傳輸并用于中斷信號。線[A]用于在4位SD模式中工作時防止在第8個針腳上的總線連接。從存儲器到I/O的線[A]指示具有如下特殊時序1)在1位(窄)SD模式中,線[A]一直為“高”。
2)在4位(寬)SD模式中,在線[A]變?yōu)椤案摺焙?,中斷周期將起始TAIP時鐘。在線[A]變?yōu)椤暗汀焙螅袛嘀芷趯榻K止的TASE時鐘。在前2個時鐘中,I/O控制器將驅動“低”,在第3個時鐘時,I/O控制器將驅動“高”,在第4個時鐘時,I/O控制器將停止驅動中斷信號。
圖8中顯示寬總線SD模式中用于讀取命令的線[A]總線時序。存儲器控制器在4位數據傳輸模式中不支持數據區(qū)塊之間的中斷周期。
線[B]在圖3上也被標記為CMD_RESP_IO_DET,且也具有多于一個的功能性,這取決于設備是在命令響應周期中(其中其充當命令響應指示線)或不在命令響應周期中(其中其充當I/O卡檢測線)。如圖9中所示意性說明,在非命令響應周期期間,存儲器控制器在線[B]上處于輸入模式中,由I/O控制器使用線[B]來指示存在I/O卡。當然,在單個卡的實施例中,I/O模塊當其在相同的卡上時會一直存在;但當模塊在單獨的卡上時(例如圖1b中的37),這允許直接連接到主機(即35’)的卡知道附接了第二卡(即37)。否則,如果在總線331上對命令沒有響應,那么控制器301將不清楚是否缺少卡37,或是否控制器303只是未作響應。I/O卡的控制器303總是驅動線[B]“低”,除了命令的結束位后的一個時鐘之外,直到命令結束之后的數個時鐘為止。這個周期在下文被稱作“響應周期”。在I/O卡沒有連接的情況下,線被上拉。為了消除臨界時序問題,存儲器控制器會在響應周期結束后的幾個時鐘將線[B]視為I/O卡檢測指示。
在命令響應周期期間,一個控制器用線[B]來向另一控制器指示其正在作出響應且另一控制器不需要作出響應。這有助于管理系統(tǒng)總線上的通信,且防止兩個控制器同時作出響應。在命令響應周期期間,線[B]指示在SD模式和SPI模式中都對命令作出響應。在默認情況下,存儲器和I/O控制器將處于輸入模式。通過由控制器之一(I/O或存儲器)驅動線[B]為“低”指示另一控制器驅動控制器正發(fā)送命令響應。在圖10a和圖10b中分別針對I/O控制器303作出響應和存儲器控制器301作出響應示意性顯示這個過程。圖11顯示線[B]上的感測和驅動周期的示范性時序圖。
作為響應過程的一部分,將響應發(fā)送到主機的控制器還清除任何先前設定的錯誤和非法命令標志。線[B]指示另一控制器清除其錯誤和非法命令標志,使得這個知識可由兩個控制器共用。在示范性實施例中,線[B]指示持續(xù)4個時鐘的周期,在命令響應的開始位之前開始半個位(見圖14)。接著在命令的結束位后的2個時鐘周期中,可起始I/O控制器的響應,直到命令結束位后的32個位為止,且在命令結束位后的2個時鐘周期中可起始存儲器控制器的響應,直到命令結束位后的16個位為止。
在下文描述的其他功能性中,線[B]可和線[C]一起使用以控制卡檢測邏輯。
線[C]在圖3上還被標記為ILLEG_CMD,用于SD模式中,且具有雙重功能性。根據SD技術規(guī)范,如果向控制器發(fā)送非法命令,那么在下一命令時,其將指示命令是先前命令,為非法。非法命令標志也設定一標志,使得可在下一(合法)命令時發(fā)送此信息。然而,這個下一命令可能不被引導到相同的模塊,所以這個非法命令信息需要在控制器之間共用。舉例來說,非法命令可以到存儲器模塊,而下一合法命令是到可能不知道前面非法命令的I/O模塊。在圖12中示意性顯示這個過程。(在上文中已針對線[B]描述了此非法命令標志的清除。)更詳細來說,在默認情況下,存儲器和I/O控制器處于輸入模式中。當控制器之一檢測到非法命令接收時,控制器將設定非法命令標志。在非法命令的結束位后,線[C]將被驅動為“低”TCEI時鐘,以發(fā)送信號到另一控制器來設定其非法命令標志。當控制器之一檢測到非法命令接收時,控制器將檢查線[C]如果線[C]為“高”,那么控制器將驅動線[C]為“低”,而如果線[C]為“低”(即,另一控制器已驅動線[C]),那么控制器將不驅動線。
驅動線[C]為“低”的控制器在兩種情形下將停止驅動線[C]1)在發(fā)送對合法命令的響應的處理期間,控制器清除非法命令標志。在接收非法命令后,線[C]被釋放直到響應的開始位后的TCRS時鐘,以發(fā)送非法命令標志被清除的信號。圖13是接收非法命令并開始驅動線[C]為“低”的存儲器控制器的實例。(圖15的表格2中顯示圖13和圖14的示范性總線時序值。)在接收合法命令后,存儲器控制器停止驅動線[C]。接著由接收非法命令后接收合法命令的I/O控制器進行相同的處理。
2)在接收非法命令后,控制器設定非法命令標志并驅動線[C]為“低”。如果由另一控制器接受下一合法命令,那么另一控制器將驅動線[B]為“低”,以向第一控制器發(fā)送信號來清除非法命令和錯誤標志。第一控制器在線[B]的下降沿后的TCBS時鐘將釋放線[C]并清除標志。圖14是接收非法命令并開始驅動線[C]為“低”的存儲器控制器的實例。在由I/O控制器接收合法命令后,I/O控制器開始驅動線[B],且因此存儲器控制器清除錯誤標志并停止驅動線[C]。接著由接收被發(fā)送到I/O控制器的非法命令后的合法命令的存儲器控制器進行相同處理。
在圖16-20中更詳細地描述控制器到控制器連接的電特征。圖16是SD模式下控制線[A]的時序圖,且圖18的表格3提供圖16中的各種參數。圖17是SD模式和SPI模式下控制線[B、C]、SPI模式下線[A]的時序圖,且圖19的表格4提供圖17中的各種參數。圖20提供概括控制器對控制器接口的針腳描述。
盡管針對兩個模塊(具體來說是存儲器模塊和輸入輸出模塊)的情況描述了本發(fā)明的各個方面,但本發(fā)明還可擴充其他數目和類型的模塊,所述模塊的控制器獨立地并聯連接到系統(tǒng)總線,同時對于主機仍似乎是單一的、單個模塊卡。同樣,如上所述,這些模塊可位于單個卡(如圖1a中)中或橫跨多個卡而分布(如圖1b)。在多卡實施例中,系統(tǒng)總線(331,圖3)和控制器對控制器接口(333,圖3)將延伸橫跨卡對卡連接。另外,本發(fā)明還可延伸到在如圖1b的多卡實施例中附接到的卡缺少控制器的情況。例如,如果圖3的卡35’缺少控制器301,那么在卡35中線[A-C]便被設定為Vss。這允許卡35’充當卡37附接到主機的適配器。
在本發(fā)明的另一組方面中,卡系統(tǒng)可以多協(xié)議運作。示范性實施例是針對兩個這樣的協(xié)議描述的,盡管更一般來說,可使用更多協(xié)議或僅單個協(xié)議。示范性協(xié)議是SD或MMC協(xié)議和SPI協(xié)議,在并入本文中的MMC技術規(guī)范2.11版或美國專利申請案第09/641,023號中有更詳細的描述。在這個示范性實施例中,提供各種情況下存儲器控制器的要求和A、B和C控制線的使用的更詳細的描述。還描述了I/O控制器的要求以闡明操作原理。
在SPI模式中,在物理規(guī)格中限定卡將響應所有命令,甚至是非法命令。在組合存儲器/輸入輸出卡中,存儲器控制器將忽視I/O特定的命令。類似地,I/O控制器將忽視存儲器特定的命令。在多卡實施例中,其中沒有連接IO控制器(利用線[B]來檢測),存儲器控制器將不會忽視與I/O相關的命令,相反,如果非法命令將發(fā)送到存儲器控制器的話,其將作出響應。在SPI模式下,在SD物理規(guī)格中限定在確立CS的情況下卡應在DO針腳(DAT0)上驅動“高”。在多模塊情形中,每個控制器將僅當其需要時(即,響應于命令或發(fā)送數據)啟動其自身的DO的輸出,否則其將處于輸入模式。主機將線保持為高,如規(guī)范中所述。從主機的觀點來看,卡/總線繼續(xù)象規(guī)范中針對單個模塊卡而限定的那樣運作。
因為兩種控制器都并聯連接到SD總線,所以發(fā)送到一個控制器的數據可能會被另一控制器理解為命令。如果不使用循環(huán)冗余檢查(CRC)(其在SPI模式下是合法的),這種誤解的可能性會變得更高。(如所述,例如在參考的MMC技術規(guī)范中,在優(yōu)選實施例中,每個在SD總線上傳輸的SD或MMC記號都受CRC位保護,而對于SPI模式,可利用未受保護模式,其啟用和可靠數據鏈接一起建構的系統(tǒng),以便排除需用來實施CRC產生和驗證功能的硬件或固件。)這是在存儲器與IO控制器之間具有控制線[A]的原因。在示范性實施例中,兩種控制器不會在同時接收數據,且從I/O控制器到存儲器和從存儲器控制器到I/O控制器將使用相同的控制線[A]。每一方將在數據接收情況下驅動確立(“低”)線,且上拉電阻器在其他狀態(tài)中將線保持為高。
為了進入SPI模式,即使RESET命令對于存儲器和I/O控制器可能是不同的(例如I/O模塊具有不同于CMD0的重設命令),主機仍會針對I/O和存儲器模塊發(fā)送CMD0+(CS=0)。I/O控制器將進入SPI模式,但不會響應CMDO命令。開啟并關閉循環(huán)冗余檢查(CRC)的命令CRC_ON_OFF將由存儲器控制器響應而不是由I/O控制器響應,因為這對于存儲器來說是合法命令。I/O控制器應識別這個命令并根據命令參數啟動或停用CRC檢查功能。在檢測到命令CRC錯誤(且CRC檢測被啟用)的情況下,接著將在兩種控制器中設定錯誤標志。如果初始化兩種卡,那么兩種卡都會作出響應。僅當來自存儲器控制器的響應未在指定數目的(假如16個)時鐘內出現時,I/O控制器才將會作出響應,在這期間I/O控制器將“監(jiān)聽”線[B]。如果I/O模塊在給定周期期間檢測到來自存儲器控制器的響應,那么其將僅重設其CRC錯誤標志且其自身不會作出響應。類似地,在控制器中有一個控制器檢測到非法命令的情況下,其會以非法命令響應作出響應。
在SD模式下,組合存儲器/輸入輸出卡、存儲器控制器將忽視I/O專用命令。相反,I/O控制器將忽視非I/O命令類的所有命令,除非它們是除了共同命令(例如重設(CMD0)和與相對卡地址(RCA)和芯片選擇(CS)相關的命令)之外的所有控制器共同的命令(第9類)。在沒有連接I/O控制器(利用線[B]來檢測)的情況下,存儲器控制器將不會忽視與I/O相關的命令,換句話說,其將好像非法命令發(fā)送過來一樣作出響應。
存儲器控制器將會響應與建立相對卡地址(RCA)相關的命令(當命令是合法的時)。在這種情況下,I/O控制器將“監(jiān)聽”CMD線上合適的命令響應。如果在固定數目的時鐘內檢測到有效的響應(具有正確的CRC)(且命令對于I/O控制器來說是合法的),則I/O控制器將采納RCA。線[B]會向I/O控制器發(fā)送存儲器控制器正作出響應的信號。
存儲器控制器會響應RCA建立命令(當其是合法時)。在這種情況下,I/O控制器會“監(jiān)聽”CMD線上的命令響應。如果在預定數目的時鐘內檢測到有效的響應(具有正確的CRC)(且命令對于I/O控制器來說是非法的),則I/O控制器不會采納RCA,且不會設定非法命令標志。線[B]會向I/O控制器發(fā)送存儲器控制器正作出響應的信號。
如果存儲器控制器從RCA建立命令的結束位后的允許響應時間內沒有作出響應,且命令對于I/O控制器來說是合法的,那么I/O控制器將作出響應。存儲器控制器將“監(jiān)聽”CMD線上的響應。如果有效的RCA產生,那么I/O控制器會在需要時采納RCA。線[B]會向存儲器控制器發(fā)送I/O控制器正作出響應的信號。如果與此相反,存儲器控制器在允許的響應時間內沒有作出響應,且命令對于I/O控制器來說是非法的,那么I/O控制器不會響應。I/O控制器會設定非法命令標志,且將使用線[C]來向存儲器控制器發(fā)送檢測到非法命令的信號。
針對與芯片選擇(CMD7)相關的命令的處理(所述命令對于所有模塊也是共同的,使得從主機的觀點來看所有模塊充當單個卡)將類似于先前段落中針對用于建立相對卡地址(CMD3)的命令描述的那樣進行處理。
當主機將數據傳輸到存儲器模塊或從存儲器模塊中傳輸數據時,會從I/O模塊中發(fā)出中斷。為了僅允許在有效的周期期間中斷傳輸,存儲器控制器通過線[A]向I/O發(fā)送有效的存儲器中斷周期的信號。中斷周期指示將先于“實際”的中斷周期,從而使得所述周期可以非常精確。這樣做的目的是向存儲器控制器到I/O控制器之間的路徑延遲(通過襯墊延遲、連接器延遲等)提供容差。
當命令具有CRC錯誤時,將在兩個控制器中設定對應的錯誤標志,且兩者都不會作出響應。根據SD技術規(guī)范,對以下命令的響應指示CRC錯誤位和CRC錯誤標志以卡的以下命令響應來響應。CRC標志將在任一以下情況下在給定的控制器中被清除1)控制器利用CRC錯誤作出響應;或2)在響應周期期間,控制器在線[B]上檢測到來自卡中的另一控制器的命令響應指示。
如果由控制器中的一個控制器檢測到非法命令,那么其設定其自身的非法命令標志,且不作出響應。根據SD技術規(guī)范,對以下命令的響應應指示非法命令錯誤。因此,另一控制器將通過使用線[C]也設定其非法標志。非法標志被設定的控制器將利用“0”驅動線[C]。另一控制器將在在線[C]上檢測到改變?yōu)椤?”的情況下設定其非法標志。隨后,兩種控制器如上段中針對CRC錯誤的情況所述的那樣運作。利用卡的以下命令響應來響應非法命令標志。在任一以下情況下清除非法命令標志1)控制器利用非法命令標志作出響應;或2)在響應周期期間,控制器在線[B]上檢測到來自卡中的另一控制器的命令響應指示。每當兩種卡清除其非法命令標志,兩種卡都將其線[C]驅動器設為輸入模式。可如下概括針對每個控制器關于線[C]的一組“規(guī)則”a)在設定其自身的非法標志的情況下確立線[C]為“低”(在接收到非法命令后)。
b)當清除其自身的非法標志時,解除(變?yōu)檩斎肽J?線[C]。
c)如果在線[C]中檢測到非法命令或從“1”改變?yōu)椤?”,那么設定非法標志。
d)如果利用非法命令標志(SD模式下的R1、R5或R6或SPI模式下的R1、R2、R3或R5)作出響應或在響應周期期間在線[B]上檢測到CMD RESPOND,那么清除非法標志。
盡管已針對特定實施例描述了本發(fā)明的各個方面,但應了解,本發(fā)明在附加權利要求書的整個范疇內受到保護。
權利要求
1.一種可連接到一主機系統(tǒng)的電子電路卡,所述卡包含一第一模塊,其包括一第一控制器;一第二模塊,其包括一第二控制器;一總線結構,其并聯連接到所述第一控制器和所述第二控制器,藉此當所述卡連接到所述主機時,可在所述主機與所述第一和第二模塊之間交換數據和命令;和一個或一個以上控制線,其連接在所述第一控制器與所述第二控制器之間以交換信號,藉此所述兩個模塊可獨立地與所述主機進行交互,同時對于所述主機來說好像是一單個單元。
2.根據權利要求1所述的卡,其中所述模塊中的一個模塊是一存儲器模塊。
3.根據權利要求1所述的卡,其中所述模塊中的一個模塊是一輸入輸出模塊。
4.根據權利要求1所述的卡,其中所述卡在功能上和機械上符合SD卡標準、SD IO卡標準,或所述SD卡和SD IO卡標準兩者。
5.根據權利要求4所述的卡,其中所述控制線的數目是三個。
6.根據權利要求1所述的卡,其中所述模塊可以復數個協(xié)議與所述主機進行交互。
7.根據權利要求6所述的卡,其中所述復數個協(xié)議包括SD協(xié)議。
8.根據權利要求6所述的卡,其中所述復數個協(xié)議包括SPI協(xié)議。
9.根據權利要求6所述的卡,其中所述復數個協(xié)議包括MMC協(xié)議。
10.根據權利要求1所述的卡,其中所述總線結構符合所述SD卡和SD IO卡標準。
11.根據權利要求1所述的卡,其中所述命令包括一個或一個以上命令,所述命令可由所述模塊中的一個模塊接受而對其他模塊是不可接受的。
12.根據權利要求1所述的卡,其中當所述卡連接到所述主機時,所述模塊兩者都由相同的相對卡地址識別。
13.根據權利要求1所述的卡,其中所述模塊兩者都響應于相同的芯片選擇信號。
14.根據權利要求1所述的卡,其中所述控制線允許所述控制器中的一個控制器可指示另一控制器忽視所述總線結構上的數據。
15.根據權利要求1所述的卡,其中所述控制線允許所述控制器中的一個控制器可向另一控制器指示一用于發(fā)出一中斷信號的可接受的周期。
16.根據權利要求1所述的卡,其中所述控制線允許所述控制器中的一個控制器可向另一控制器指示一非法命令的接收。
17.根據權利要求16所述的卡,其中所述控制線允許所述控制器中的一個控制器可指示另一控制器清除一非法命令標志。
18.根據權利要求1所述的卡,其中所述控制線允許所述控制器中的一個控制器可指示另一控制器清除一錯誤標志。
19.根據權利要求1所述的卡,其中所述控制線允許所述第二控制器向所述第一控制器指示其連接到所述第一控制器。
20.根據權利要求1所述的卡,其中所述控制線的數目是三個。
21.一種電子電路卡系統(tǒng),其包含一第一卡,其可連接到一主機,所述第一卡包括一第一控制器;一第二卡,其可連接到所述第一卡,所述第二卡包括一第二控制器;一總線結構,當所述第一和第二卡連接時,所述總線結構并聯連接到所述第一控制器和所述第二控制器,藉此當所述卡連接且所述第一卡連接到所述主機時,可在所述主機與所述第一和第二控制器之間交換數據和命令;和一個或一個以上控制線,當所述第一和第二卡連接時,所述控制線連接在所述第一控制器與所述第二控制器之間以交換信號,藉此所述兩個卡可獨立地與所述主機進行交互,同時對于所述主機來說好像是一單個卡。
22.根據權利要求21所述的卡,其中所述卡中的一個卡含有一存儲器模塊。
23.根據權利要求21所述的卡,其中所述卡中的一個卡含有一輸入輸出模塊。
24.根據權利要求21所述的卡,其中所述第一卡在功能上和機械上符合SD卡標準、SD IO卡標準或所述SD卡和SD IO卡標準兩者。
25.根據權利要求24所述的卡,其中所述控制線的數目是三個。
26.根據權利要求21所述的卡,其中所述第二卡在功能上符合所述SD卡標準。
27.根據權利要求21所述的卡,其中所述第二卡在功能上符合所述SD IO卡標準。
28.根據權利要求21所述的卡,其中所述卡可以復數個協(xié)議與所述主機進行交互。
29.根據權利要求28所述的卡,其中所述復數個協(xié)議包括SD協(xié)議。
30.根據權利要求28所述的卡,其中所述復數個協(xié)議包括SPI協(xié)議。
31.根據權利要求28所述的卡,其中所述復數個協(xié)議包括MMC協(xié)議。
32.根據權利要求21所述的卡,其中所述總線結構符合所述SD卡和SD IO卡標準。
33.根據權利要求21所述的卡,其中所述命令包括一個或一個以上命令,所述命令可由所述控制器中的一個控制器接受而對另一控制器是不可接受的。
34.根據權利要求21所述的卡,其中當所述第一卡連接到所述主機且所述第二卡連接到所述第一卡時,所述卡兩者都由相同的相對卡地址識別。
35.根據權利要求21所述的卡,其中所述卡兩者都響應于相同的芯片選擇信號。
36.根據權利要求21所述的卡,其中所述控制線允許所述控制器中的一個控制器可指示另一控制器忽視所述總線結構上的數據。
37.根據權利要求21所述的卡,其中所述控制線允許所述控制器中的一個控制器可向另一控制器指示一用于發(fā)出一中斷信號的可接受周期。
38.根據權利要求21所述的卡,其中所述控制線允許所述控制器中的一個控制器可向另一控制器指示一非法命令的接收。
39.根據權利要求38所述的卡,其中所述控制線允許所述控制器中的一個控制器可指示另一控制器清除一非法命令標志。
40.根據權利要求21所述的卡,其中所述控制線允許所述控制器中的一個控制器可指示另一控制器清除一錯誤標志。
41.根據權利要求21所述的卡,其中所述控制線允許所述第二控制器向所述第一控制器指示其連接到所述第一控制器。
42.根據權利要求21所述的卡,其中所述控制線的數目是三個。
43.一種可連接到一主機系統(tǒng)的第一電子電路卡,所述卡包含一第一模塊,其包括一第一控制器;一連接器,其用于附接一第二電子電路卡,所述第二卡具有一包括一第二控制器的第二模塊;一總線結構,其連接到所述第一控制器和所述連接器以并聯連接所述第二控制器,藉此當所述第一卡連接到所述主機和所述第二卡時,可在所述主機與所述第一和第二模塊之間交換數據和命令;和一個或一個以上控制線,其連接在所述第一控制器與所述連接器之間以連接所述第二控制器來交換信號,藉此所述兩個模塊可獨立地與所述主機進行交互,同時對于所述主機來說好像是一單個單元。
44.根據權利要求43所述的卡,其中所述卡在功能上和機械上符合SD卡標準、SD IO卡標準或所述SD卡和SD IO卡標準兩者。
45.根據權利要求43所述的卡,其中所述控制線的數目是三個。
46.根據權利要求43所述的卡,其中所述卡可以復數個協(xié)議與所述主機進行交互。
47.根據權利要求43所述的卡,其中所述總線結構符合所述SD卡和SD IO卡標準。
48.一種可連接到一第二電子電路卡的第一電子電路卡,所述卡包含一第一模塊,其包括一第一控制器;一連接器,其用于附接所述第二電子電路卡,所述第二卡可連接到一主機系統(tǒng)且具有一包括一第二控制器的第二模塊;一總線結構,其連接到所述第一控制器和所述連接器以并聯連接所述第二控制器,藉此當所述第一卡連接到所述第二卡且所述第二卡連接到所述主機時,可在所述主機與所述第一和第二模塊之間交換數據和命令;和一個或一個以上控制線,其連接在所述第一控制器和所述連接器之間以連接所述第二控制器來交換信號,藉此所述兩個模塊可獨立地與所述主機進行交互,同時對于所述主機來說好像是一單個單元。
49.根據權利要求48所述的卡,其中所述卡在功能上符合SD卡標準、SD IO卡標準或所述SD卡和SD IO卡標準兩者。
50.根據權利要求49所述的卡,其中所述卡在機械上不符合一SD卡標準。
51.根據權利要求48所述的卡,其中所述控制線的數目是三個。
52.根據權利要求48所述的卡,其中所述卡可以復數個協(xié)議與所述主機進行交互。
53.根據權利要求48所述的卡,其中所述總線結構符合所述SD卡和SD IO卡標準。
54.一種系統(tǒng),其包含一主機一第一電子電路卡,其可連接到所述主機系統(tǒng),所述卡包含一包括一第一控制器的第一模塊;一第二模塊,其包括一第二控制器;一總線結構,當所述第一和第二模塊連接到所述主機時,所述總線結構并聯連接到所述第一控制器和所述第二控制器,藉此可在所述主機與所述第一和第二控制器之間交換數據和命令;和一個或一個以上控制線,當所述第一和第二模塊連接到所述主機時,所述控制線連接在所述第一控制器與所述第二控制器之間以交換信號,藉此所述兩個模塊可獨立地與所述主機進行交互,同時對于所述主機來說好像是一單個卡。
55.根據權利要求54所述的系統(tǒng),其中第一電子電路卡進一步包含所述第二模塊。
56.根據權利要求55所述的卡,其中所述第二卡在功能上符合SD卡標準、SD IO卡標準或所述SD卡和SD IO卡標準兩者。
57.根據權利要求E.4所述的卡,其中所述第二卡在機械上不符合一SD卡標準。
58.根據權利要求54所述的系統(tǒng),其進一步包含一包含所述第二模塊的第二電子電路卡,其中所述第二卡通過所述第一卡連接到所述主機,其中所述第二卡通過一連接器連接到所述第一卡。
全文摘要
本發(fā)明揭示一種可移除的電子電路卡,其具有并聯連接到所述卡的總線的多個模塊,以使得每個模塊可與主機獨立交換命令和數據。根據本發(fā)明的第一方面,這將通過控制器至控制器接口來實現,所述模塊可通過所述接口促進其與所述主機的交互。在第一組實施例中,所述模塊在單個卡上,而在第二組實施例中,所述模塊分布在多個卡上,其中第一卡附接到所述主機,而其他卡附接到所述第一卡,而不是直接附接到所述主機。在所有這些情況下,所述主機將所述多個模塊看作具有單個模塊的單個卡。在本發(fā)明的其他方面中,所述卡能夠以多于一個協(xié)議與所述主機進行通信。
文檔編號G06F13/38GK1906625SQ200480040574
公開日2007年1月31日 申請日期2004年11月30日 優(yōu)先權日2003年12月9日
發(fā)明者約西·平托, 阿維阿德·澤爾, 阿米爾·楚里, 阿舍·德魯克 申請人:桑迪士克股份有限公司