本發(fā)明的實施例通常與存儲器子系統(tǒng)相關,并且更具體地涉及實現(xiàn)反轉以維持1到0的可編程目標比率的動態(tài)總線反轉實現(xiàn)。
版權聲明/許可
本專利文獻的公開的部分可以包含受版權保護的材料。版權所有者不反對任何人對如專利商標局專利文件或記錄中所示的專利文獻或專利公開進行復制,但以其他方式保留所有版權。版權聲明適用于如下所述以及附圖中的所有數(shù)據(jù),以及適用于下述任何軟件:版權所有
背景技術:
芯片間通信提供計算系統(tǒng)的組件之間的信令。發(fā)送設備向接收設備發(fā)送信號或位模式。傳統(tǒng)上已經(jīng)使用數(shù)據(jù)總線反轉來最小化通過數(shù)據(jù)總線傳送的1或者0的數(shù)量??偩€反轉是指在傳輸之前在總線上反轉每一位。這種反轉的總線伴隨著指示總線已被反轉的位或信號,這允許接收設備適當?shù)亟忉屗邮盏臄?shù)據(jù)。這種概念已經(jīng)進一步擴展到除了數(shù)據(jù)總線之外的總線,并且在本文中將一般性地稱為動態(tài)總線反轉(dbi),其可以包括包含一個或多個總線的任何信號線集合或信號線組。如上所述,dbi已被用于反轉信號線組,以最小化具有指定邏輯電平的位數(shù)。例如,如果發(fā)送設備試圖使發(fā)送的1的數(shù)量最小化,則對于1比0多的信號線組,發(fā)送設備可以反轉信號線并產(chǎn)生反轉指示。對于試圖使0的數(shù)量最小化的發(fā)送設備,可以相反地實現(xiàn)。
dbi的擴展使用包括使信號線組中的信號的切換最小化。在這種使用中,發(fā)送設備可以確定輸出位模式是否將切換比保持相同的信號線更多的信號線,而不是確定是否存在更多的1或0并且反轉信號線組以使所需的邏輯狀態(tài)最小化。因此,如果輸出位模式與將發(fā)送與先前的發(fā)送相同的邏輯值的信號線相比具有從0到1或1到0的更多的轉換,則發(fā)送設備可以反轉總線并產(chǎn)生反轉指示。這種操作可以減少用于連續(xù)發(fā)送的信號線組中的切換數(shù)量。
然而,隨著在傳送速度增加的同時功率消耗考慮在具有較低電壓和更緊密的功率預算的現(xiàn)代電子設備中的重要性增加,芯片間通信中的dc(直流)平衡成為感興趣的性能因素。dbi僅查看兩個連續(xù)的發(fā)送,基于前一個事務確定在當前事務中發(fā)送的內(nèi)容。根據(jù)傳送的信號,dbi實際上會降低信號線組上的直流平衡。例如,考慮8位總線,其中發(fā)送設備尋求最小化1的數(shù)量。如果多于4位是1,則發(fā)送設備將反轉總線并且發(fā)送超過4個0。在任一種情況下,總線上都沒有dc平衡。
附圖說明
以下描述包括具有通過本發(fā)明的實施例的實現(xiàn)方式的示例給出的圖示的圖的討論。附圖應當以示例而非限制的方式來理解。如本文所使用的,對一個或多個“實施例”的引用將被理解為描述包括在本發(fā)明的至少一個實現(xiàn)中的特定特征、結構和/或特性。因此,本文出現(xiàn)的諸如“在一個實施例中”或“在替代實施例中”的短語描述了本發(fā)明的各種實施例和實現(xiàn)方式,并不一定全部涉及相同的實施例。但是,它們也不一定相互排斥。
圖1是執(zhí)行動態(tài)總線反轉以保持1和0的目標比率的系統(tǒng)的實施例的框圖。
圖2是實現(xiàn)動態(tài)總線反轉以保持i/o接口上的期望的dc偏移的系統(tǒng)的實施例的框圖。
圖3是動態(tài)總線反轉邏輯的實施例的框圖。
圖4是行為模擬的實施例的表示,行為模擬將使用動態(tài)總線反轉以保持1和0的目標比率的系統(tǒng)的輸出噪聲與不使用動態(tài)總線反轉的系統(tǒng)的輸出噪聲相比較。
圖5是用于實現(xiàn)可編程動態(tài)總線反轉的過程的實施例的流程圖。
圖6是可以實現(xiàn)可編程動態(tài)總線反轉的計算系統(tǒng)的實施例的框圖。
圖7是可以實現(xiàn)可編程動態(tài)總線反轉的移動設備的實施例的框圖。
下面是包括附圖的描述的某些細節(jié)和實現(xiàn)的描述,其可以描繪下面描述的一些或全部實施例,以及討論本文呈現(xiàn)的發(fā)明概念的其他潛在實施例或實現(xiàn)。
具體實施方式
如這里所描述的,系統(tǒng)采用動態(tài)總線反轉(dbi)來實現(xiàn)在一段時間內(nèi)跨越一組信號線的期望的1與0的比率。該比率可以是針對設備預先配置的和/或在系統(tǒng)中動態(tài)地設置的可編程級別。為了使用dbi來實現(xiàn)期望的1和0的比率,發(fā)送設備識別要發(fā)送或輸出的信號的非反轉版本(“非反轉信號”)中1和0的數(shù)量和/或比率,以及信號的反轉版本(“反轉信號”)中的1和0的數(shù)量和/或比率。發(fā)送設備可以計算非反轉信號或反轉信號中的1和0的比率是否提供更接近目標比率的計算的平均比率。目標比率表示可以通過預先配置發(fā)送設備和/或動態(tài)地配置設備來進行操作來設置的期望比率。發(fā)送設備發(fā)送實現(xiàn)更接近目標比率的計算的平均比率的信號。如果將非反轉信號的比率與計算的平均比率相加提供更接近目標比率的平均比率,則發(fā)送設備發(fā)送該信號而不產(chǎn)生反轉指示。如果將反轉信號的比率與計算的平均比率相加提供更接近目標比率的平均比率,則發(fā)送設備發(fā)送反轉信號并產(chǎn)生反轉指示。
應當理解,實現(xiàn)期望的1和0的比率可以是任何期望的比率。具有不是一比一的1和0的特定比率有優(yōu)點。在一個實施例中,所期望的比率是一比一,或相等數(shù)目的1和0。可以考慮相等數(shù)量的1和0來在芯片間接口上實現(xiàn)dc(直流)平衡。如本文所使用的,接口是指用于允許一個芯片或一個設備與另一個芯片或另一個設備通信的機制。該接口可以是指與設備間通信相關的硬件和/或軟件組件。例如,接口通常包括用于通過信號線或其他傳輸線路發(fā)送和接收的驅動器和/或收發(fā)器。接口可以包括引腳或球狀物或其他互連機制。另外,設備包括控制器或其他邏輯,用于確定何種信號要在何種引腳上發(fā)送、什么時候使用和/或正在交換信號的其他因素。
在一個實施例中,這樣的控制器可以計算或以其他方式確定dbi以實現(xiàn)1和0的期望比率。例如,控制器可以針對與dbi信號相關聯(lián)的總線或信號線組計算并維持1和0的凈比。控制器可以維持該比率作為每個周期的信號線的凈dc平衡歷史,并增加dbi控制以影響比率,從而影響dc平衡。在一個實施例中,控制器或其他邏輯維持已經(jīng)發(fā)送的(1的凈數(shù)減去0的凈數(shù))的有符號計數(shù)。應當理解的是,計算可以替代地執(zhí)行為0的凈數(shù)減去1的凈數(shù)。在一個實施例中,控制器或邏輯可以控制dbi位以最小化計算的有符號計數(shù)的絕對值。在一個實施例中,控制器或邏輯可以控制dbi位以將計算的有符號計數(shù)的絕對值與可編程的目標值的方差最小化。在一個實施例中,發(fā)送設備被預編程有目標值。在一個實施例中,發(fā)送設備基于來自主機設備的命令或信號來對目標值編程。在一個實施例中,主機設備對目標值進行編程。目標值可以基于電源管理子系統(tǒng)或其他控制邏輯進行編程。
應當理解,使用dbi來維持1和0的比率并不一定與為了其他目的應用dbi相互排斥。例如,在一個實施例中,如果系統(tǒng)具有目標凈誤差(或目標凈符號計數(shù)),并且給定周期內(nèi)的凈誤差對于dbi的任一值都較小,則邏輯可以替代地計算dbi以減少切換數(shù)量并節(jié)省電力。可以利用使用dbi來實現(xiàn)1和0的比率并執(zhí)行傳統(tǒng)的dbi功能的其他示例。
應當理解,隨著芯片間通信速度的增加而傳輸功率下降,高頻噪聲會使信令降級。dc平衡芯片間信令可以降低高頻噪聲并且提高信號質量。在一個實施例中,系統(tǒng)可以使用加權方法來應用dbi。例如,當確定是否反轉輸出信號時,負責信號傳輸?shù)钠峡刂破骺梢钥紤]1和0的比率以及特定邏輯值的數(shù)量(或切換次數(shù))。在這種實現(xiàn)中,控制器可以應用采用dbi的加權算法用于兩個目的。
例如,控制器可以確定在以下任何情況下應用dbi來反轉信號組。在一個實施例中,如果1和0的數(shù)量之間的差值低于閾值或處于預定范圍內(nèi),則控制器僅確定是否應用dbi來實現(xiàn)1和0的比率,否則應用dbi來最小化特定的邏輯值的數(shù)量。相反地,在一個實施例中,如果1和0的數(shù)量之間的差值低于閾值或處于預定范圍內(nèi),則控制器僅確定是否應用dbi來最小化特定邏輯值的數(shù)量,否則應用dbi實現(xiàn)1和0的比率。在一個實施例中,控制器確定是否應用dbi來實現(xiàn)多個連續(xù)輸出事務的1和0的比率,然后應用dbi來最小化特定邏輯值的數(shù)量,然后對于多個連續(xù)輸出事務重復該序列。在這種實現(xiàn)中,用于應用dbi以實現(xiàn)1和0的比率的事務的數(shù)量不一定等于用于應用dbi以最小化特定邏輯值的數(shù)量的事務的數(shù)量,盡管它們可以是相等??梢岳斫?,也可以考慮其他的。
在一個實施例中,可以在一系列連續(xù)輸出事務(例如n個事務)上并行計算dbi,而不是一次僅查看一個事務的更常見的串行實現(xiàn)。傳統(tǒng)的dbi僅對dbi進行單個事務評估,并且一次對單個事務實現(xiàn)或不實現(xiàn)dbi。本文描述的可以實現(xiàn)目標比率的dbi可以一次確定多個事務的dbi。通過查看多個事務,dbi可以進一步降低功率,同時改進dc平衡。例如,dbi決策引擎可以計算dbi以實現(xiàn)每n個事務的目標比率,并且對n-1個事務中的每個在它們之間在逐個事務的基礎上執(zhí)行傳統(tǒng)的dbi。在一個實施例中,可以使發(fā)送數(shù)據(jù)可用(例如,緩沖)為n條并行線,其中dbi邏輯可以查看未來的事務,這可以改進在多個不同類型的dbi之間進行交換的決策(例如,實現(xiàn)目標比率和減少1的數(shù)量)。因此,在一個實施例中,可以對一系列事務進行與1和0的目標比率相關的計算,而對于每個輸出事務,仍然可以執(zhí)行其他形式的dbi。
發(fā)送設備通過一次查看多個事務來執(zhí)行dbi。因此,發(fā)送設備保存多個連續(xù)發(fā)送的歷史以應用dbi,以隨時間推移實現(xiàn)1和0的目標比率。在一個實施例中,發(fā)送設備將歷史記錄保存在累加器中。應當理解,可以使用其他存儲邏輯來保存dbi的歷史。在一個實施例中,發(fā)送設備分別保存不同的信號線組的dbi。在一個實施例中,在存儲器設備中,存儲器控制器可以保存不同的通道、不同的設備或不同的等級的dbi。例如,假設具有多個等級的存儲器子系統(tǒng)。利用單一的累加或歷史回路,一個等級可以沿正方向斜坡偏離目標比率,而另一個等級可以沿負方向斜坡偏離目標比率,但整體而言,子系統(tǒng)似乎可以達到目標比率。對于不同級別使用不同累加器,存儲器控制器可以將dbi分別應用于不同的等級,以單獨實現(xiàn)每個等級的目標比率。因此,例如,假設等級0和等級1,存儲器控制器可以使用累加器0和累加器1來分別監(jiān)視目標比率。當發(fā)送到等級0時,存儲器控制器可以將歷史記錄保存在累加器0中。類似地,當發(fā)送到等級1時,存儲器控制器可以將歷史記錄保存在累加器1中。這樣的概念可以擴展到任意數(shù)量的等級,或者擴展到通道、設備或其他粒度的控制。
在一個實施例中,歷史邏輯或累加器可以是“泄漏桶式”累加器。泄漏桶式累加器只能持續(xù)一段時間的信息。通過泄漏錯誤信息或被保存為歷史的其他信息,累加器不會無限期地持續(xù)錯誤,但發(fā)送設備將歷史保存為滑動窗口。例如,考慮具有vtt端接的存儲器設備,其中存儲器設備具有xmhz的帶寬。在這樣一個例子中,存儲器控制器可以保存大約為xmhz歷史價值的滑動窗口。因此,存儲器控制器可以以與存儲器設備的帶寬相似的速率泄漏或丟棄錯誤信息。一般來說,發(fā)送設備可以使用與接收設備的帶寬在帶寬上相似的、但不一定是完全相同的帶寬的泄漏累加器。
在一個實施例中,芯片間通信發(fā)生在存儲器設備和主機之間。主機可以是存儲器控制器。存儲器控制器可以是獨立設備或集成到處理器中。存儲器控制器可以是具有處理器的同一芯片的一部分。存儲器控制器與存儲器設備接口并且產(chǎn)生對應于訪問由中央處理器、圖形處理器和/或其他處理單元進行操作所請求的數(shù)據(jù)的需要的存儲器訪問命令。在一個實施例中,芯片間通信發(fā)生在計算系統(tǒng)或計算設備中的任何兩個設備之間。因此,這里的描述可以同樣適用于未具體識別的存儲器技術,并且還可以應用于共享能夠反轉的公共總線的任何類型的設備的設備間通信。根據(jù)本文所述的任何實施例的芯片間通信可以應用于共享可反轉的一組信號線的兩個設備之間的任何單端接口。單端接口測量信號對電壓軌或參考電壓。差分接口參照相關線路上的信號補碼傳送信號。
對存儲器設備的引用可以應用于不同的存儲器類型。存儲器設備通常指易失性存儲器技術。易失性存儲器是其狀態(tài)(以及因此存儲在其上的數(shù)據(jù))在設備電源中斷的情況下是不確定的存儲器。動態(tài)易失性存儲器需要刷新存儲在設備中的數(shù)據(jù)來維持狀態(tài)。動態(tài)易失性存儲器的一個示例包括dram(動態(tài)隨機存取存儲器)或某些變體,例如同步dram(sdram)。如本文所述的存儲器子系統(tǒng)可以與許多存儲器技術兼容,許多存儲器技術例如ddr3(雙數(shù)據(jù)速率版本3,2007年6月27日由jedec(聯(lián)合電子設備工程委員會)發(fā)布,目前是版本21)、ddr4(ddr版本4,由jedec于2012年9月發(fā)布的初始規(guī)范)、lpddr3(低功耗ddr版本3,jesd209-3b,jedec于2013年8月發(fā)布)、lpddr4(lpddr版本4,jesd209-4,最初由jedec于2014年8月發(fā)布)、wio2(寬i/o2(wideio2),jesd229-2,最初由jedec于2014年8月發(fā)布)、ddr5(ddr版本5,目前由jedec討論)、lpddr5(目前由jedec討論)和/或其他,以及基于這些規(guī)范的衍生或擴展的技術。
對存儲器設備的引用可以應用于不同的存儲器類型。存儲器設備通常指易失性存儲器技術。易失性存儲器是其狀態(tài)(以及因此存儲在其上的數(shù)據(jù))在設備電源中斷的情況下是不確定的存儲器。動態(tài)易失性存儲器需要刷新存儲在設備中的數(shù)據(jù)來維持狀態(tài)。動態(tài)易失性存儲器的一個示例包括dram(動態(tài)隨機存取存儲器)或某些變體,例如同步dram(sdram)。本文描述的存儲器子系統(tǒng)可以與許多存儲器技術兼容,許多存儲器技術例如由2014年8月由jedec(聯(lián)合電子設備工程委員會)最初發(fā)布的lpddr4(低功率雙數(shù)據(jù)速率(lpddr)版本4,jesd209-4)),和/或其他,以及基于此類規(guī)范的衍生或擴展的技術。存儲器包括多個存儲器等級。在一個實施例中,存儲器子系統(tǒng)發(fā)出多個命令以執(zhí)行單個存儲器存取操作。在一個實施例中,每個命令是多循環(huán)命令。
圖1是執(zhí)行動態(tài)總線反轉以保持1和0的目標比率的系統(tǒng)的實施例的框圖。系統(tǒng)100表示參與設備間通信的存儲器子系統(tǒng)的組件。也就是說,存儲器控制器110和存儲器設備120通過包括信號線130的輸入/輸出(i/o)接口進行通信。雖然具體表示存儲器子系統(tǒng),但是可以理解,通過一組信號線通信和具有伴隨的反轉信號的任何設備可以執(zhí)行本文所討論的設備間通信。此外,還將理解的是,下面的描述是指存儲器控制器110將dbi應用于發(fā)送到存儲器設備120的信號的實施例。在一個實施例中,存儲器設備120可以對發(fā)送到存儲器控制器110的信號應用dbi。因此,系統(tǒng)100是一個示例,其可以表示兩個設備參與設備間通信的多個配置中的任何一個,動態(tài)地應用dbi以實現(xiàn)通信中的1和0的目標比率。
存儲器控制器110的接口112表示存儲器控制器處的硬件連接,使其能夠與外部設備進行接口。類似地,存儲器設備120的接口122表示存儲器設備處的硬件連接,使其能夠與外部設備進行接口。在系統(tǒng)100中,接口112和122使得存儲器設備110能夠通過信號線130與存儲器設備120通信。信號線130表示互連兩個設備的跡線或導線。接口112和122可以包括與信號線130接口的引腳、球狀物、焊盤和/或其他硬件。接口112和122由分別在存儲器控制器110和存儲器設備120上操作的邏輯控制。該邏輯可以包括硬件、軟件(即固件)或組合。該邏輯控制信號線的定時和驅動,以跨接口發(fā)送和接收數(shù)字信號(參考接口112、接口122和信號線130的全部)。
應當理解,接口112和122還可以包括未具體示出的其它信號線組。存儲器控制器110和存儲器設備120之間的連接可以包括不是可以被反轉的信號線組的一部分的一個或多個信號線。在一個實施例中,信號線130包括信號線的單個總線(例如,數(shù)據(jù)總線)。在一個實施例中,信號線130跨越信號線的多個總線。在一個實施例中,信號線130包括總線和在一起全部被反轉的一個或多個其它信號線。有多種組合,這將取決于兩個設備之間互連的架構和系統(tǒng)配置。因此,系統(tǒng)100中描繪的僅僅是為了說明,而不是限制。
作為操作流程的一個實施例,考慮存儲器控制器110從主機或主機處理器接收一個或多個請求。主機處理器可以包括中央處理單元,其根據(jù)主機操作系統(tǒng)和/或在系統(tǒng)100是其一部分的計算設備上執(zhí)行的應用來執(zhí)行指令。主機處理器可以包括圖形處理單元或其他控制器,其生成對來自存儲器設備120的數(shù)據(jù)的請求。存儲器控制器110包括輸入緩沖器114或其它緩沖器或高速緩存機制,以接收對來自存儲器設備120的數(shù)據(jù)的請求。輸入緩沖器114表示可以在存儲器控制器110中使用的任何類型的緩沖器,并且將不在本文中具體描述。輸入緩沖器114使存儲器控制器110能夠接收來自主機的請求,并且適當?shù)厥拐埱蟪鲫犚园l(fā)送到存儲器設備120。
在一個實施例中,存儲器控制器110包括dbi116,其表示使存儲器控制器110能夠實現(xiàn)動態(tài)總線反轉的硬件和/或軟件邏輯。dbi116至少包括用于確定何時反轉通過信號線130發(fā)送的信號的控制邏輯、觸發(fā)信號線的反轉的控制邏輯、以及當信號線130被反轉時觸發(fā)dbi信號132的控制機構。在一個實施例中,dbi116可被編程有1和0的不同的目標比率。例如,在一種情況下,dbi116可以具有50%的目標比率或1和0的一比一比率。這樣的比率對于在高速通信的情況下實現(xiàn)平衡的dc偏移和降低高頻噪聲是有用的。在一種情況下,dbi可以具有不同的比率,其可以被描述為百分比(意味著一個邏輯狀態(tài)(1或0)與信號中的總位數(shù)的百分比)或一些其他表示,一比一、二對一、四對五或其他。應當理解,在0以外的dc偏移在某些共模場景中是有用的,其可以用不同于50%的目標比率來實現(xiàn)。
在一個實施例中,dbi116是用dbi計算器修改的常規(guī)dbi引擎,dbi計算器嘗試實現(xiàn)0與1或1和0的特定比率。在一個實施例中,dbi116的控制邏輯可以實現(xiàn)嘗試實現(xiàn)1和0的編程或指定比率(可以被稱為高頻平衡)的組合,以及實現(xiàn)常規(guī)dbi,其通常試圖降低功耗。因此,應用dbi來實現(xiàn)1和0的目標比率可以實現(xiàn)高頻平衡,并且應用傳統(tǒng)的dbi可以實現(xiàn)功率控制。如本文所述,dbi116可以僅實現(xiàn)高頻平衡,或除了實現(xiàn)功率控制之外實現(xiàn)高頻平衡。兩種機構的應用可以根據(jù)本文所述的任何實施例。
在一個實施例中,存儲器控制器110包括累加器118,以保存通過信號線130發(fā)送的1和0的運行凈計數(shù)。應當理解,可以使用另一個緩沖機制來代替累加器電路。累加器電路可以提供累加信息,以允許具有極小邏輯要求的運行凈剩。在一個實施例中,累加器118是dbi116的一部分(例如專用內(nèi)部電路)。在一個實施例中,累加器118表示用于保存信號線130的1和0的運行總和的多個累加器設備。在一個實施例中,累加器118保持通過接口傳送的1和0的運行凈符號差。
在一個實施例中,接口112和122可以包括分別被控制用于反轉的多個信號線組。因此,例如,除了控制組130中的信號線的反轉的信號線130和相關聯(lián)的dbi信號132之外,還可以存在附加信號線組,附加信號線組的每個具有相關聯(lián)的dbi信號。在這種配置中,dbi116和/或累加器118可以被復制用于其他信號線組和相關聯(lián)的dbi信號。在一個實施例中,dbi116可以包括寄存器或其他存儲設備用于存儲一組信號線的dbi信息,并且可以重新使用其他信號線組的dbi邏輯116和/或累加器118。在一個實施例中,無論是使用復制的dbi邏輯116還是使用信號dbi引擎,對多組信號線進行分時復用控制,可以將不同的目標比率應用于兩個設備之間的同一接口上的不同信號線。
dbi116可以識別要發(fā)送的信號中的1和0的數(shù)量。在一個實施例中,dbi116識別信號的非反轉版本(例如,“非反轉信號”)和信號的反轉版本(例如,“反轉信號”)中的1和0的數(shù)量。dbi116可以計算在反轉信號和非反轉信號中的1和0的數(shù)量之間的差異(在執(zhí)行數(shù)學邏輯計算時通常稱為“誤差”)。在一個實施例中,dbi116基于這樣的計算來確定是否非反轉信號或反轉信號(基于1和0的數(shù)量)將計算的平均比率或運行總和(例如,如上所述的運行凈剩)移動得更接近目標比率。計算的平均比率參照累加器118或替代邏輯來確定。在一個實施例中,dbi116將計算的非反轉信號和反轉信號的值進行比較,以確定哪個信號將計算的平均值移動得更接近目標值。然后,dbi116可以觸發(fā)將計算的平均比率移動得更接近目標比率的信號的傳輸。當反轉信號將計算的平均比率移動得更接近目標比率時,dbi116將通過dbi信號132觸發(fā)dbi指示。
在一個實施例中,存儲器設備120包括odt(片內(nèi)端子)124和解碼器126。解碼器126表示在存儲器設備處的接收邏輯,其對由存儲器控制器110通過信號線130發(fā)送的信號進行采樣或讀取。解碼器126解碼或解釋在信號線130上表示的信號,以基于信號線130的特定信號中的命令和/或地址信息來確定應該執(zhí)行何種操作。因此,解碼器126可以采樣dbi信號132的邏輯狀態(tài)(其可以通過高或低邏輯電平指示反轉,取決于實現(xiàn)方式),并且確定是否正確地讀取所接收到的信號線130上的信號的值,或者是否在解碼之前或作為解碼的部分反轉接收的信號。
odt124表示存儲器設備120處的這樣的邏輯:端接信號線130,以避免反射并改進經(jīng)由信號線130接收的信號的信號質量。odt被很好地理解,本文將不詳細討論。在一個實施例中,odt124以vtt或中軌端子處端接信號線路130中的一個或多個。中軌端子將被理解為在高壓軌(例如,vdd或針對通信設定的值)和低壓軌(例如vss)之間。更具體地說,中軌端子可以在輸出高電壓和輸出低電壓之間的中間(分別可以是除了vdd和vss之外)。在一個實施例中,vtt可以被理解為使輸出驅動器的上拉腿和下拉腿中的電流相等的電壓點。應用vtt端接可以改進傳統(tǒng)上存在于高速連接中的功率消耗和某些信令問題(例如,改進必須足夠努力驅動信號線以實現(xiàn)從一個軌到另一個軌的干凈信號的電容效應)。vtt可以向獨立于端子強度的接收器提供良好控制的、固定參考電壓或vref電平。然而,vtt端接可以引入可以由dbi加劇的dc平衡問題。如本文所述,dbi116可以實現(xiàn)將dc偏移平衡到vtt端接的等效值的1和0的比率。這種平衡可以允許更簡單和更便宜的調節(jié)器電路設計。
圖2是實現(xiàn)動態(tài)總線反轉以在i/o接口上維持期望的dc偏移的系統(tǒng)的實施例的框圖。系統(tǒng)200表示可以在本文描述的任何設備間通信系統(tǒng)(例如,在圖1的系統(tǒng)100中)中實現(xiàn)的存儲器設備。在一個實施例中,存儲器設備210表示接收和解碼受制于dbi的應用的信號的設備。在一個實施例中,存儲器設備210表示生成并發(fā)送受制于dbi的應用的信號的設備。
存儲器設備210包括i/o220,其表示存儲器設備210可以通過其發(fā)送和/或接收信號的i/o接口。存儲器設備210經(jīng)由信號線230連接到諸如存儲器控制器的外部設備。信號線230表示受制于dbi的應用的一組信號線。單獨的dbi指示信號在系統(tǒng)200中未示出,并且可以被理解為是信號線230的一部分。信號線230具有相關聯(lián)的dbi指示信號以指示信號何時被反轉。
存儲器設備210包括dbi邏輯240。在一個實施例中,dbi邏輯240類似于系統(tǒng)100的dbi邏輯116,并且可以根據(jù)參考dbi116所描述的任何內(nèi)容起作用。因此,在一個實施例中,存儲器設備120將dbi實現(xiàn)為發(fā)送設備。例如,當存儲器設備210從相關聯(lián)的存儲器控制器(未具體示出)接收到命令時,存儲器檢索數(shù)據(jù)并將數(shù)據(jù)發(fā)送到請求控制器。在一個實施例中,dbi240表示使存儲器設備210能夠基于dbi指示信號對信號線230進行解碼的邏輯。因此,存儲器設備210可以正確地訪問存儲器元件(未具體示出)并執(zhí)行存儲器控制器發(fā)送的命令。
在一個實施例中,存儲器設備210包括odt250,其使存儲器能夠實現(xiàn)信號線230的動態(tài)端接。在一個實施例中,odt250端接信號線230至vtt。如與i/o220相關聯(lián)的的i/o眼222所示,vtt是vdd和vss之間的電壓電平,其中vdd和vss表示通過信號線230交換(發(fā)送或接收)的信號的高電壓軌,并且不一定等同于系統(tǒng)vdd和系統(tǒng)vss。在一個實施例中,vtt位于vdd和vss之間的中間位置。然而,應該理解的是,vtt可以位于vdd和vss之間的不在它們中間的某處。
在一個具體應用中,目前正在進行討論以確定如何在提高lpddr5和/或ddr5技術的數(shù)據(jù)速率的同時提供更高的功率效率。作為在存儲器子系統(tǒng)中提高功率效率的一種可能性,已經(jīng)討論了存儲器設備上基于vtt的片上端接?;趘tt的端接可以將端接功率降低雙倍,并且使功率更加獨立于端接強度。
然而,應當理解,odt端接于由調節(jié)器270和電源280表示的電源和/或調節(jié)器。電源280被示出在存儲器設備210的外部,指示在存儲器設備外部產(chǎn)生電力并且電力被提供給存儲器設備210。在一個實施例中,調節(jié)器270在存儲器設備210內(nèi)。因此,調節(jié)器270從電源280接收電力供給并產(chǎn)生用于i/o220的操作的參考和/或軌電壓。在現(xiàn)代主機系統(tǒng)(例如,處理器系統(tǒng),其通常包括與處理器一起集成在公共芯片上的存儲器控制器)中使用的調節(jié)器可以是高帶寬、非線性調節(jié)器。這種調節(jié)器可能需要高速晶體管并且可以具有重要的設計和制造約束。通常不可能通過用于產(chǎn)生存儲器設備210的工藝和技術來達到這種調節(jié)器的要求。通過控制通過信號線230的通信的dc平衡,可以減小基于vtt的dl/dt,從而允許更簡單、較低帶寬的調節(jié)器設計。
因此,在一個實施例中,dbi240在相關聯(lián)的存儲器控制器的末端或在存儲器設備210中或兩者表示實現(xiàn)1和0的目標比率的dbi的應用。達到給定容差內(nèi)的目標比率可以提供所需的dc平衡以輸出數(shù)據(jù)。可以理解,dbi240將嘗試達到目標比率,但是不斷準確地維持目標比率可能不切實際。因此,連同目標或期望的比率一起,系統(tǒng)200可以允許距目標比率的容差或接受的偏差。dbi240將dbi應用于待通過i/o220輸出的信號以維持期望的dc平衡,這樣可以平衡進入和離開vtt節(jié)點(或被i/o端接的節(jié)點)的期望凈電流。
如上所述,dbi240可以跟蹤通過i/o220發(fā)送的1和/或0的凈數(shù)。dbi240可以計算dbi位或dbi指示信號以將凈數(shù)保存為盡可能接近目標。在一個實施例中,目標為零。因此,隨著調節(jié)器270產(chǎn)生vtt電壓或提供vtt節(jié)點,vtt電壓調節(jié)可以提供具有比實現(xiàn)期望性能所需的更低帶寬和電流的dc電源值。在這種實現(xiàn)中,調節(jié)器270可以以相對適量的局部開封(噪聲濾波電容耦合)來減小vtt節(jié)點上的噪聲。
存儲器設備210包括i/o驅動器260,其表示用于驅動i/o220上的輸出或通過信號線230發(fā)送的控制邏輯。i/o驅動器260包括產(chǎn)生信號的所需位值或邏輯值并驅動i/o以在i/o接口的接收端產(chǎn)生所需的邏輯值的電路。i/o驅動器260和odt250一起工作以通過i/o220發(fā)送和接收數(shù)據(jù)。
圖3是動態(tài)總線反轉邏輯的實施例的框圖。電路300表示用于實現(xiàn)1和0的所需比率的dbi引擎的一個實施例。在一個實施例中,示出了電路300,其被配置為實現(xiàn)一比一或50%的比率。然而,可以修改電路300以實現(xiàn)不同的比率。
電路300接收數(shù)據(jù)310。數(shù)據(jù)310表示要在與電路300的邏輯相關聯(lián)的一組信號線上輸出的數(shù)據(jù)。在一個實施例中,數(shù)據(jù)310包括2n位的數(shù)據(jù)。該數(shù)量可以是不同的,并且不一定是二進制數(shù),但是當使用二進制數(shù)時,邏輯可能更簡單。在一個實施例中,在信號線的實際數(shù)量是非二進制數(shù)的程度上,電路300可以對數(shù)據(jù)310進行操作,就好像有2n個信號線一樣,并且用適當?shù)倪壿嬛?例如,用0)對未使用的信號線進行位填充。在一個實施例中,電路300根據(jù)數(shù)據(jù)310產(chǎn)生逐位和320,逐位和320可以是具有n+1位的數(shù)字。位和322表示逐位和邏輯320的輸出。
在一個實施例中,電路300在加法器340和加法器350處接收位和322。加法器340計算凈值或運行計算的平均值減去位和(凈值332-位和322)加2n-1的值。在一個實施例中,加法器340計算反轉信號(被反轉的信號)的凈差。加法器350計算凈值加上位和(凈值332+位和322)減2n-1的值。在一個實施例中,加法器350計算與非反轉信號的凈值的差。添加或減去2n-1等價于將值歸一化為中間軌,例如,在使用vtt的配置中,邏輯嘗試將運行凈值保存盡可能接近vtt的“零”。應當理解,加法器340和350可以是可編程的并且被配置為根據(jù)實現(xiàn)電路300的系統(tǒng)的配置來應用不同的歸一化值,或者根本不應用。
計數(shù)dbi342表示與反轉信號的目標(例如,50%或某個其他目標)的差異或誤差的帶符號計數(shù)。計數(shù)無dbi352表示與非反轉信號的目標的差異或誤差的帶符號計數(shù)。在一個實施例中,電路300確定計數(shù)342和計數(shù)352是否表示更靠近期望目標的值。在一個實施例中,絕對值邏輯362在帶符號計數(shù)352上產(chǎn)生絕對值。在一個實施例中,絕對值邏輯364在帶符號計數(shù)354上產(chǎn)生絕對值。在一個實施例中,邏輯370可以確定計數(shù)352的絕對值是否大于計數(shù)342的絕對值。確定的輸出可以用于在邏輯380處計算dbi數(shù)據(jù)382。輸出還可以充當dbi信號372,dbi信號372是由電路300產(chǎn)生的dbi指示。
在一個實施例中,邏輯370的輸出還可以用作多路復用電路的選擇控制,該多路復用電路將所選計數(shù)添與凈計數(shù)相加。因此,如果要使用dbi,則多路復用器可以將已計算的運行平均加上帶符號計數(shù)342,并且如果dbi不用于信號,則將帶符號計數(shù)352與計算的運行平均相加。多路復用器將選擇的計數(shù)饋送到殘差計數(shù)330或等效的計數(shù)器塊。剩余計數(shù)330維持運行凈值332,其在電路300中的計算中使用以確定是否在后續(xù)事務中使用dbi。因此,以前的凈值用于進行計算,然后將計算的計數(shù)與凈值相加以進行后續(xù)計算。
圖4是行為模擬的實施例的表示,其將使用動態(tài)總線反轉來保持1和0的目標比率的系統(tǒng)的輸出噪聲與不使用動態(tài)總線反轉來保持1和0的目標比率的系統(tǒng)的輸出噪聲相比較。圖400示出了兩種情況下的存儲器接口的模擬結果:在第一種情況下,在接口上沒有應用dbi,在第二種情況下,僅應用dbi來實現(xiàn)1和0的目標比率。不模擬dbi的混合應用的用例,其中dbi至少在一些時間上被應用以實現(xiàn)1和0的目標比率,以及至少一些時間來減少特定邏輯電平的傳輸或減少邏輯轉換。
在圖400中,中間灰色區(qū)域表示用于設備間接口的vtt調節(jié)器的行為。具體來說,隨著時間的推移,電壓尖峰表示由加擾總線測試產(chǎn)生的不同隨機數(shù)據(jù)模式的輸出噪聲。將觀察到,情況410在調節(jié)器輸出上具有比情況420高得多的噪聲。應當理解,為了比較的目的,情況420將重疊在圖400中的情況420上。因此,情況410的中間由于被情況420遮蔽而不可見。在情況420中,應用dbi以實現(xiàn)1和0的目標比率。具體來說,情況420試圖實現(xiàn)1和0的一比一比率。將觀察到,標稱dc電壓電平約為550mv,高頻噪聲相對較安靜。觀察在情況420下,dbi的應用實現(xiàn)1和0的一比一的比率導致大約9mv的均方根(rms)噪聲值。在情況410中,沒有dbi被應用于通過接口的傳輸。高頻噪聲貢獻由較暗的噪聲尖峰表示。應當理解,圖400表示覆蓋在情況410上的情況420。在情況410中,標稱dc電壓電平仍為550mv,但是噪聲的rms為32mv,或比情況420下多三倍。
在圖400所示的模擬中,針對情況410(無dbi)模擬的調節(jié)器是響應時間<2ns的高帶寬調節(jié)器。對于情況420(dbi實現(xiàn)1和0之間的凈零差),調節(jié)器只需要提供dc值,并且需要有效的零帶寬。除了調節(jié)器的不同之處,情況410和420的模擬使用在驅動器數(shù)量、電流和開封方面相同的模型。因此,情況420相對于情況410將噪聲降低超過3倍,并且以明顯更簡單的調節(jié)器設計來實現(xiàn)。
如前所述,1和0的目標比率是可編程的。這種可編程性對于不同的用例場景是有用的。例如,在lpddr4的情況下,dram或存儲器設備發(fā)送器將共模限制在大約200mv以下。在這種情況下,可以對dbi引擎進行編程以實現(xiàn)達到所需共模dc偏移的1和0的比率。在一個實施例中,dbi計算引擎可以包括用于將1和0的任意比率的編程為目標的偏移量。因此,雖然通常可以以50%的比率實現(xiàn)vtt端接的最大功率效率,但是,可能存在對于目標比率期望是其它比率的許多考慮和許多實現(xiàn)。
圖5是用于實現(xiàn)可編程動態(tài)總線反轉的過程的實施例的流程圖。過程500描述了應用dbi來實現(xiàn)1和0的比率。在一個實施例中,控制實體配置dbi引擎502的1和0的目標比率??刂茖嶓w可以是可以基于設備內(nèi)的操作條件動態(tài)地改變的主機系統(tǒng)??刂茖嶓w可以是基于被測系統(tǒng)的性能來配置目標比率的測試系統(tǒng)。控制實體可以是基于其中放置與dbi引擎相關聯(lián)的設備間通信接口的系統(tǒng)的架構和設置來對設備編程用于操作的配置系統(tǒng)。
在一個實施例中,可以參考共享設備間通信接口的兩個設備的發(fā)送設備的操作來理解過程500。在一個實施例中,可以參考存儲器控制器設備向存儲器設備或dram發(fā)送命令的操作來理解過程500。在一個實施例中,存儲器設備可以采用與向存儲器控制器發(fā)送數(shù)據(jù)相似或相同的流程。在一個實施例中,非存儲器i/o接口可以以類似的方式操作,如本領域技術人員將理解的。因此,該示例是非限制性的。在一個實施例中,存儲器控制器可以從主機504接收存儲器訪問請求。由主機執(zhí)行的操作系統(tǒng)或應用基于其執(zhí)行生成對數(shù)據(jù)的請求。存儲器控制器可以產(chǎn)生命令信號來實現(xiàn)數(shù)據(jù)訪問請求506。
在一個實施例中,存儲器控制器包括至少部分地取決于實現(xiàn)1和0的目標比率來執(zhí)行dbi計算的dbi引擎或dbi邏輯。因此,dbi邏輯可以識別用于非反轉信號和信號的反轉版本508的1和/或0的數(shù)量。參考的信號是由存儲器控制器輸出到存儲器設備來指示請求的信號或位組合。信號是指通過與dbi邏輯和dbi指示信號相關聯(lián)的一組信號線發(fā)送的所有位。
在一個實施例中,dbi邏輯基于非反轉信號510中的1和0的比率來計算的平均比率。在一個實施例中,dbi邏輯基于反轉信號512中的1和0的比率來計算的平均比率。在一個實施例中,dbi邏輯確定非反轉信號或反轉信號中的比率是否提供最接近目標比率514的計算的平均值。提供最接近目標比率的計算的平均值可包括將計算的平均比率移動得更接近目標比率和/或維持計算的平均值更接近目標比率。
在一個實施例中,確定非反轉或反轉信號的比率是否提供更接近目標比率的計算的平均比率包括在累加器中保存1和0的運行差。在一個實施例中,運行差是帶符號的值。在一個實施例中,目標比率是一比一的比率。在一個實施例中,目標比率不是一比一。在一個實施例中,接收設備采用vtt端接,并且目標比率被配置為實現(xiàn)相對于vtt端接的dc平衡。
在一個實施例中,如果非反轉信號中的1和0的數(shù)量或比率提供了更接近于目標比率的計算比率,則在一個實施例中,516非反轉分支,dbi邏輯可以產(chǎn)生負dbi指示。負dbi指示可以簡單地不是dbi指示。負dbi指示可以是指示dbi不應用于信號線組的邏輯值輸出。發(fā)送設備然后發(fā)送非反轉信號而不將信號518反轉。在一個實施例中,如果非反轉信號中的1和0的數(shù)量或比率提供了接近目標比率的計算比率,則在一個實施例中,516反轉分支,dbi邏輯產(chǎn)生肯定的反轉指示符520。這種肯定的反轉指示符向接收設備發(fā)送相關的信號線組已被反轉的信號。然后,發(fā)送設備反轉信號并將反轉信號發(fā)送到接收設備522。
圖6是可以實現(xiàn)可編程的動態(tài)總線反轉的計算系統(tǒng)的實施例的框圖。系統(tǒng)600表示根據(jù)本文描述的任何實施例的計算設備,并且可以是膝上型計算機、臺式計算機、服務器、游戲或娛樂控制系統(tǒng)、掃描儀、復印機、打印機、路由或交換設備或其他電子設備。系統(tǒng)600包括處理器620,其提供用于系統(tǒng)600的指令的處理、操作管理和執(zhí)行。處理器620可以包括任何類型的微處理器、中央處理單元(cpu)、處理核或其他處理硬件,以提供用于系統(tǒng)600的處理。處理器620控制系統(tǒng)600的整體操作,并且可以是或包括一個或多個可編程通用或專用微處理器、數(shù)字信號處理器(dsp)、可編程控制器、專用集成電路(asic)、可編程邏輯器件(pld)等,或這些設備的組合。
存儲器子系統(tǒng)630表示系統(tǒng)600的主存儲器,并且提供用于處理器620執(zhí)行的代碼的臨時存儲,或者提供用于執(zhí)行例程的數(shù)據(jù)值的臨時存儲。存儲器子系統(tǒng)630可以包括一個或多個存儲器設備,諸如只讀存儲器(rom)、閃速存儲器、一個或多個不同種類的隨機存取存儲器(ram)或其他存儲器設備,或這些設備的組合。存儲器子系統(tǒng)630存儲并托管操作系統(tǒng)(os)636以及其它以提供用于在系統(tǒng)600中執(zhí)行指令的軟件平臺。另外,存儲器子系統(tǒng)630中存儲并執(zhí)行其他指令638以提供系統(tǒng)600的邏輯和處理。os636和指令638由處理器620執(zhí)行。存儲器子系統(tǒng)630包括其中存儲數(shù)據(jù)、指令、程序或其它項目的存儲器設備632。在一個實施例中,存儲器子系統(tǒng)包括存儲器控制器634,存儲器控制器634是用于生成命令并向存儲器設備632發(fā)出命令的存儲器控制器。應當理解,存儲器控制器634可以是處理器620的物理部分。
處理器620和存儲器子系統(tǒng)630耦合到總線/總線系統(tǒng)610。總線610是代表通過適當?shù)臉蚪悠?、適配器和/或控制器連接的任何一個或多個單獨的物理總線、通信線路/接口和/或點到點連接的抽象。因此,總線610可以包括例如系統(tǒng)總線、外圍組件互連(pci)總線、超傳輸或工業(yè)標準架構(isa)總線、小型計算機系統(tǒng)接口(scsi)總線、通用串行總線(usb)或電氣和電子工程師協(xié)會(ieee)標準1394總線(通常稱為“火線”)中的一種或多種。總線610的總線也可以對應于網(wǎng)絡接口650中的接口。
系統(tǒng)600還包括耦合到總線610的一個或多個輸入/輸出(i/o)接口640、網(wǎng)絡接口650、一個或多個內(nèi)部大容量存儲設備660和外圍部件接口670。i/o接口640可以包括用戶與系統(tǒng)600交互的一個或多個接口組件(例如,視頻、音頻和/或字母數(shù)字接口)。網(wǎng)絡接口650為系統(tǒng)600提供通過一個或多個網(wǎng)絡與遠程設備(例如,服務器、其他計算設備)進行通信的能力。網(wǎng)絡接口650可以包括以太網(wǎng)適配器、無線互連組件、usb(通用串行總線)或其他有線或無線標準或專有接口。
存儲660可以是或包括用于以非易失性方式存儲大量數(shù)據(jù)的任何常規(guī)介質,例如一個或多個磁性、固態(tài)或基于光的盤或組合。存儲660將代碼或指令和數(shù)據(jù)662保持在持續(xù)狀態(tài)(即,即使系統(tǒng)600的電力中斷,該值也被保留)。盡管存儲器630是執(zhí)行或操作存儲器以向處理器620提供指令,但是存儲660可以被統(tǒng)稱為“存儲器”。而存儲660是非易失性的,存儲器630可以包括易失性存儲器(即,如果系統(tǒng)600的電力中斷,則數(shù)據(jù)的值或狀態(tài)是不確定的)。
外圍部件接口670可以包括上面沒有具體提到的任何硬件接口。外圍部件通常是指相關地連接到系統(tǒng)600的設備。相關連接是系統(tǒng)600提供操作在其上執(zhí)行且用戶與之交互的軟件和/或硬件平臺的連接。
在一個實施例中,存儲器子系統(tǒng)630和/或任何其他子系統(tǒng)(例如,處理器620、i/o接口640和/或其它子系統(tǒng))包括受制于dbi的應用的設備間i/o接口。dbi邏輯可以是可編程的,如由可編程dbi680表示的,以在i/o接口的傳輸中實現(xiàn)1和0的期望比率。這樣的可編程dbi包括用于存儲先前傳輸?shù)臍v史和可編程目標比率的機制(例如,用于存儲計算的平均比率的累加器或寄存器)。在確定是否將dbi應用于要發(fā)送的信號時,dbi邏輯或dbi計算考慮目標比率和先前計算的比率。如果非反轉信號提供接近目標比率的計算比率,則發(fā)送設備發(fā)送非反轉信號。如果反轉信號提供接近目標比率的計算比率,則發(fā)送設備將dbi應用于信號并發(fā)送反轉信號。
圖7是其中可以實現(xiàn)可編程動態(tài)總線反轉的移動設備的實施例的框圖。設備700表示諸如計算平板電腦、移動電話或智能電話、有無線能力的電子閱讀器、可穿戴計算設備或其他移動設備的移動計算設備。將會理解,一般示出某些部件,而不是在設備700中示出這種設備的所有組件。
設備700包括執(zhí)行設備700的主要處理操作的處理器710。處理器710可以包括一個或多個物理設備,例如微處理器、應用處理器、微控制器、可編程邏輯器件或其他處理模塊。由處理器710執(zhí)行的處理操作包括在其上執(zhí)行應用和/或設備功能的操作平臺或操作系統(tǒng)的執(zhí)行。處理操作包括與人類用戶或與其他設備的i/o(輸入/輸出)有關的操作、與電力管理有關的操作、和/或與將設備700連接到另一設備相關的操作。處理操作還可以包括與音頻i/o和/或顯示i/o相關的操作。
在一個實施例中,設備700包括音頻子系統(tǒng)720,其表示與向計算設備提供音頻功能相關聯(lián)的硬件(例如,音頻硬件和音頻電路)和軟件(例如,驅動器、編解碼器)組件。音頻功能可以包括揚聲器和/或耳機輸出以及麥克風輸入。用于這種功能的設備可以集成到設備700中,或者連接到設備700。在一個實施例中,用戶通過提供由處理器710接收和處理的音頻命令來與設備700交互。
顯示子系統(tǒng)730表示提供視覺和/或觸覺顯示以便用戶與計算設備交互的硬件(例如,顯示設備)和軟件(例如,驅動器)組件。顯示子系統(tǒng)730包括顯示接口732,其包括用于向用戶提供顯示的特定屏幕或硬件設備。在一個實施例中,顯示接口732包括與處理器710分開的執(zhí)行與顯示有關的至少一些處理的邏輯。在一個實施例中,顯示子系統(tǒng)730包括向用戶提供輸出和輸入的觸摸屏設備。在一個實施例中,顯示子系統(tǒng)730包括向用戶提供輸出的高清(hd)顯示器。高分辨率可以指具有大約100ppi(每英寸像素)或更大的像素密度的顯示器,并且可以包括諸如全hd(例如,1080p),視網(wǎng)膜顯示器、4k(超高清或uhd)或其他的格式。
i/o控制器740表示與同用戶進行交互相關的硬件設備和軟件組件。i/o控制器740可以操作以管理作為音頻子系統(tǒng)720和/或顯示子系統(tǒng)730的一部分的硬件。另外,i/o控制器740示出了連接到設備700的附加設備的連接點,用戶可以通過該附加設備與系統(tǒng)交互。例如,可以附接到設備700的設備可以包括麥克風設備、揚聲器或立體聲系統(tǒng)、視頻系統(tǒng)或其他顯示設備、鍵盤或鍵盤設備或用于特定應用的其他i/o設備,例如讀卡器或其他設備。
如上所述,i/o控制器740可以與音頻子系統(tǒng)720和/或顯示子系統(tǒng)730進行交互。例如,通過麥克風或其他音頻設備的輸入可以提供用于設備700的一個或多個應用或功能的輸入或命令。另外,可以提供音頻輸出,而不是顯示輸出或作為顯示輸出的附加。在另一示例中,如果顯示子系統(tǒng)包括觸摸屏,則顯示設備還充當輸入設備,其可以至少部分地由i/o控制器740管理。還可以在設備700上提供額外的按鈕或開關以提供由i/o控制器740管理的i/o功能。
在一個實施例中,i/o控制器740管理諸如加速度計、照相機、光傳感器或其他環(huán)境傳感器、陀螺儀、全球定位系統(tǒng)(gps)或可包括在設備700中的其他硬件的設備。輸入可以作為直接用戶交互的一部分,以及為系統(tǒng)提供環(huán)境輸入以影響其操作(例如,對噪聲進行濾波、調整用于亮度檢測的顯示、應用相機的閃光燈,或其他特征)。在一個實施例中,設備700包括管理電池電量使用、電池充電以及與節(jié)電操作相關的功能的電源管理750。
存儲器子系統(tǒng)760包括用于存儲設備700中的信息的存儲器設備762。存儲器子系統(tǒng)760可以包括非易失性(如果存儲器設備的電力被中斷,則狀態(tài)不改變)和/或易失性(如果存儲器設備的電力中斷則狀態(tài)是不確定的)的存儲器設備。存儲器760可以存儲與系統(tǒng)700的應用和功能的執(zhí)行相關的應用數(shù)據(jù)、用戶數(shù)據(jù)、音樂、照片、文檔或其他數(shù)據(jù)以及系統(tǒng)數(shù)據(jù)(無論是長期的還是臨時的)。在一個實施例中,存儲器子系統(tǒng)760包括存儲器控制器764(其也可以被認為是系統(tǒng)700的控制的一部分,并且可能被認為是處理器710的一部分)。存儲器控制器764包括用于生成命令并向存儲器設備762發(fā)出命令的調度器。
連接770包括硬件設備(例如,無線和/或有線連接器和通信硬件)和軟件組件(例如,驅動程序、協(xié)議棧),以使設備700能夠與外部設備進行通信。外部設備可以是諸如其他計算設備、無線接入點或基站的單獨的設備,以及諸如耳機、打印機或其他設備的外圍部件。
連接770可以包括多種不同類型的連接。為了概括,設備700被示出為具有蜂窩連接772和無線連接774。蜂窩連接772一般地指無線載波提供的蜂窩網(wǎng)絡連接,例如通過gsm(全球移動通信系統(tǒng))或變體或衍生物、cdma(碼分多址訪問)或變體或衍生物、tdm(時分復用)或變體或衍生物、lte(長期演進-也稱為“4g”)或其他蜂窩服務標準所提供的。無線連接774指的是不是蜂窩的無線連接,并且可以包括個域網(wǎng)絡(例如藍牙)、局域網(wǎng)(例如wifi)和/或廣域網(wǎng)(例如wimax)或其他無線通信。無線通信是指通過使用調制電磁輻射通過非固體介質傳輸數(shù)據(jù)。有線通信通過固體通信介質發(fā)生。
外圍部件連接780包括硬件接口和連接器以及用于進行外圍部件連接的軟件組件(例如,驅動程序、協(xié)議棧)。應當理解,設備700可以是至其他計算設備(“至”782)的外圍設備,以及具有連接到其的外圍設備(“從”784))。設備700通常具有連接到其他計算設備的“對接”連接器,用于例如管理(例如,下載和/或上傳、改變、同步)設備700上的內(nèi)容。另外,對接連接器可以允許設備700連接到允許設備700控制例如到視聽或其他系統(tǒng)的內(nèi)容輸出的某些外圍部件。
除了專有對接連接器或其他專有連接硬件之外,設備700可以通過公共或基于標準的連接器來實現(xiàn)外圍部件連接780。通用類型可以包括通用串行總線(usb)連接器(可以包括多個不同硬件接口中的任意一個)、包括迷你顯示端口(minidisplayport)(mdp)的顯示端口(displayport)、高清多媒體接口(hdmi)、火線(firewire)或其他類型。
在一個實施例中,存儲器子系統(tǒng)760和/或任何其他子系統(tǒng)(例如,處理器710、顯示子系統(tǒng)730、外圍部件連接780和/或其它子系統(tǒng))包括受制于dbi的應用的設備間i/o接口。dbi邏輯可以由可編程dbi766表示,以在i/o接口的傳輸中實現(xiàn)1和0的期望比率。這樣的可編程dbi包括用于存儲先前傳輸?shù)臍v史和可編程目標比率的機制(例如,用于存儲計算的平均比率的累加器或寄存器)。在確定是否將dbi應用于要發(fā)送的信號時,dbi邏輯或dbi計算考慮目標比率和先前計算的比率。如果非反轉信號提供更接近目標比率的計算比率,則發(fā)送設備發(fā)送非反轉信號。如果反轉信號提供更接近目標比率的計算比率,則發(fā)送設備將dbi應用于信號并發(fā)送反轉信號。
在一個方面,一種用于設備間信號傳輸?shù)姆椒òǎ航邮找ㄟ^輸入/輸出(i/o)接口傳輸?shù)男盘?;識別信號的非反轉版本(“非反轉信號”)中的1和0的比率以及信號的反轉版本(“反轉信號”)中的1和0的比率;確定非反轉信號中的1和0的比率或反轉信號中的1和0的比率是否提供了更接近與1或0的目標比率的1和0的計算的平均比率;并且當非反轉信號中的1和0的比率提供更接近目標比率的計算的平均比率時,通過i/o接口發(fā)送非反轉信號;或者當反轉信號中的1和0的比率提供更接近目標比率的計算的平均比率時,通過i/o接口發(fā)送反轉信號,包括產(chǎn)生反轉指示信號。
在一個實施例中,確定還包括在累加器中保存1和0的運行凈符號差。在一個實施例中,目標比率是一比一的,并且其中所述確定包括確定所述非反轉信號或所述反轉信號是否提供更接近0的凈差的計算的平均比率。在一個實施例中,目標比率不是一比一,并且其中所述確定包括確定所述非反轉信號還是所述反轉信號提供更接近凈差的計算的平均比率以達到所述目標比率。在一個實施例中,保存運行凈符號差包括為不同等級保存單獨的運行網(wǎng)絡凈符號差。在一個實施例中,保存運行凈符號差包括為不同的設備保存單獨的運行凈符號差。在一個實施例中,i/o接口具有vtt端接,其中i/o接口的信號線端接于上電壓電源軌和下電壓電源軌之間的電壓。在一個實施例中,還包括計算目標比率以實現(xiàn)跨i/o接口的dc(直流)平衡的目標電平。在一個實施例中,還包括將確定在非反轉信號中的1和0的比率或反轉信號中的1和0的比率是否提供更接近目標比率的1和0的計算的平均比率選擇性地應用于動態(tài)總線反轉實現(xiàn)。在一個實施例中,所述選擇性應用還包括:在確定所述非反轉信號或所述反轉信號是否提供更接近目標比率的計算的平均比率以及發(fā)送提供更接近目標比率的計算的平均比率的信號之間選擇性地切換;以及實現(xiàn)動態(tài)總線反轉,以減少輸出信號上的多個切換的數(shù)量或減少發(fā)送的1的數(shù)量。在一個實施例中,選擇性切換還包括:應用動態(tài)總線反轉以提供更接近于目標比率的計算的平均比率,除非所述非反轉、反轉信號中的1和0的比率在預定范圍內(nèi);否則,應用動態(tài)總線反轉來減少輸出信號上的切換次數(shù)或減少發(fā)送的1的數(shù)量。在一個實施例中,接收要發(fā)送的信號包括接收一系列連續(xù)輸出事務的多個信號之一;并且其中識別1和0的比率包括識別所述一系列連續(xù)輸出事務中的比率;并且其中確定所述非反轉信號或反轉信號中的所述1和0的比率是否提供更接近所述目標比率的所述計算的平均比率,包括確定所述一個接收信號中的1和0的比率是否提供更接近連續(xù)輸出事務系列的目標比率的所述計算的平均比率。
在一個方面,包括耦合用于通信的發(fā)送設備和接收設備的電路包括:通過輸入/輸出(i/o)接口將發(fā)送設備耦合到接收設備的硬件連接器;用于接收要通過i/o接口發(fā)送到接收設備的信號的緩沖器;以及用于以下操作的邏輯:識別信號的非反轉版本(“非反轉信號”)中的1和0的比率以及信號的反轉版本(“反轉信號”)中的1和0的比率;確定非反轉信號中的1和0的比率或者反轉信號中的1和0的比率是否提供了更接近1或0的目標比率的1和0的計算的平均比率;并且當非反轉信號中的1和0的比率提供更接近目標比率的計算的平均比率時,通過i/o接口發(fā)送非反轉信號;或者當反轉信號中的1和0的比率提供接近目標比率的計算的平均比率時,通過i/o接口發(fā)射反轉信號,包括產(chǎn)生反轉指示信號。
在一個實施例中,所述電路還包括:累加器,用于維持經(jīng)由所述接口發(fā)送的1和0的運行凈符號差。在一個實施例中,確定邏輯還包括用于將運行凈符號差與在非反轉信號和反轉信號中的1和0的差進行比較的邏輯。在一個實施例中,目標比率是一比一的,并且其中用于確定的邏輯包括用于計算所述非反轉信號或所述反轉信號是否提供更接近零的凈差的計算的平均比率。在一個實施例中,目標比率不是一比一,并且其中用于確定的邏輯包括用于計算非反轉信號或反轉信號是否提供更接近凈差的計算的平均比率以達到目標比率的邏輯。在一個實施例中,累加器包括多個累加器中的一個,每個累加器中的一個用于保存不同等級的運行凈符號差。在一個實施例中,累加器包括多個累加器中的一個,每個累加器中的一個用于保存不同的設備的運行凈符號差。在一個實施例中,i/o接口具有vtt端接,其中i/o接口的信號線端接于上電壓電源軌和下電壓電源軌之間的電壓。在一個實施例中,還包括用于計算目標比率以實現(xiàn)跨i/o接口的dc(直流)平衡的目標電平的邏輯。在一個實施例中,邏輯包括動態(tài)總線反轉邏輯。在一個實施例中,邏輯選擇性地在確定非反轉信號或反轉信號是否提供更接近目標比率的1和0的計算的平均比率與發(fā)送提供更接近目標比率的計算的平均比率的信號之間進行切換;并實現(xiàn)動態(tài)總線反轉,以減少輸出信號上的切換數(shù)量或減少發(fā)送的1的數(shù)量。在一個實施例中,邏輯是進一步應用動態(tài)總線反轉以提供更接近目標比率的計算的平均比率,除非非反轉和反轉信號中的1和0的比率在預定范圍內(nèi);否則,應用動態(tài)總線反轉來減少輸出信號上的切換數(shù)量或減少發(fā)送的1的數(shù)量。在一個實施例中,該信號包括一系列連續(xù)輸出事務的多個信號之一;并且其中所述邏輯用于識別所述一系列連續(xù)輸出事務的比率;并且其中所述邏輯是針對所述一系列連續(xù)輸出事務確定哪個比率提供更接近所述目標比率的計算的平均比率。
在一個方面,一種具有存儲器子系統(tǒng)的電子設備,包括:存儲器設備;耦合到存儲器設備的輸入/輸出(i/o)接口;以及存儲器控制器,其通過所述i/o接口耦合到所述存儲器設備,所述存儲器控制器包括緩沖器,用于接收要通過所述i/o接口發(fā)送到所述存儲器設備的信號;以及用于以下操作的邏輯:識別信號的非反轉版本(“非反轉信號”)中的1和0的比率以及信號的反轉版本(“反轉信號”)中的1和0的比率;確定非反轉信號中的1和0的比率或者反轉信號中的1和0的比率是否提供了更接近1或0的目標比率的1和0的計算的平均比率;并且當非反轉信號中的1和0的比率提供更接近目標比率的計算的平均比率時,通過i/o接口發(fā)送非反轉信號;或者當反轉信號中的1和0的比率提供更接近目標比率的計算的平均比率時,通過i/o接口發(fā)送反轉信號,包括產(chǎn)生反轉指示信號;以及觸摸屏顯示器,其被耦合以基于從所述存儲器設備訪問的數(shù)據(jù)來生成顯示。關于包括耦合用于通信的發(fā)送設備和接收設備的電路所描述的任何實施例也可以應用于該電子設備。
一方面,一種制品包括其上存儲有內(nèi)容的計算機可讀存儲介質,其在被訪問時使得計算設備執(zhí)行用于設備間信號傳輸?shù)牟僮?,包括:接收要通過輸入/輸出(i/o)接口發(fā)送的信號;識別信號的非反轉版本(“非反轉信號”)中的1和0的比率以及信號的反轉版本(“反轉信號”)中的1和0的比率;確定非反轉信號中的1和0的比率或反轉信號中的1和0的比率是否提供了更接近1或0的目標比率的1和0的計算的平均比率;并且當非反轉信號中的1和0的比率提供更接近目標比率的計算的平均比率時,通過i/o接口發(fā)送非反轉信號;或者當反轉信號中的1和0的比率提供更接近目標比率的計算的平均比率時,通過i/o接口發(fā)送反轉信號,包括產(chǎn)生反轉指示信號。關于設備間信號傳輸?shù)姆椒ㄋ枋龅娜魏螌嵤├部梢詰糜谠撝破贰?/p>
在一個方面,一種用于設備間信號傳輸?shù)难b置,包括:用于接收要通過輸入/輸出(i/o)接口發(fā)送的信號的單元;用于識別信號的非反轉版本(“非反轉信號”)中的1和0的比率以及信號的反轉版本(“反轉信號”)中的1和0的比率的單元;用于確定非反轉信號中的1和0的比率或反轉信號中的1和0的比率是否提供更接近于1或0的目標比率的1和0的計算的平均比率的單元;以及用于當非反轉信號中的1和0的比率提供更接近目標比率的計算的平均比率時通過i/o接口發(fā)送非反轉信號;或者當反轉信號中的1和0的比率提供更接近目標比率的計算的平均比率時,通過i/o接口發(fā)送反轉信號,包括產(chǎn)生反轉指示信號的單元。關于設備間信號傳輸?shù)姆椒ㄋ枋龅娜魏螌嵤├部蓱糜谠撗b置。
本文所示的流程圖提供了各種處理動作的序列的示例。流程圖可以指示要由軟件或固件例程執(zhí)行的操作以及物理操作。在一個實施例中,流程圖可以說明可以在硬件和/或軟件中實現(xiàn)的有限狀態(tài)機(fsm)的狀態(tài)。盡管以特定的序列或順序示出,但除非另有說明,可以修改動作的順序。因此,所示出的實施例僅應被理解為示例,并且可以以不同的順序執(zhí)行該過程,并且可以并行地執(zhí)行一些動作。另外,在各種實施例中可以省略一個或多個動作;因此,不是在每個實施例中都需要所有動作。其他工藝流程是可能的。
在本文中描述的各種操作或功能的程度上,它們可被描述或定義為軟件代碼、指令、配置和/或數(shù)據(jù)。內(nèi)容可以是直接可執(zhí)行程序(“對象”或“可執(zhí)行程序”形式)、源代碼或差異代碼(“delta”或“補丁(patch)”代碼)。本文描述的實施例的軟件內(nèi)容可以經(jīng)由其上存儲有內(nèi)容的制品提供,或者經(jīng)由操作通信接口以經(jīng)由通信接口發(fā)送數(shù)據(jù)的方法來提供。機器可讀存儲介質可以使機器執(zhí)行所描述的功能或操作,并且包括以機器(例如,計算設備、電子系統(tǒng)等)可訪問的形式存儲信息的任何機制,諸如可記錄/可記錄介質(例如,只讀存儲器(rom)、隨機存取存儲器(ram)、磁盤存儲介質、光存儲介質,閃存設備等)。通信接口包括與硬連線、無線、光學等介質中的任何一種接口以與另一設備通信的任何機制,例如,存儲器總線接口、處理器總線接口、因特網(wǎng)連接、磁盤控制器等??梢酝ㄟ^提供配置參數(shù)和/或發(fā)送信號以準備通信接口來提供描述軟件內(nèi)容的數(shù)據(jù)信號來配置通信接口。可以通過發(fā)送到通信接口的一個或多個命令或信號來訪問通信接口。
本文描述的各種組件可以是用于執(zhí)行所描述的操作或功能的單元。本文描述的每個組件包括軟件、硬件或其組合。這些組件可以實現(xiàn)為軟件模塊、硬件模塊、專用硬件(例如,專用硬件、專用集成電路(asic)、數(shù)字信號處理器(dsp)等)、嵌入式控制器,硬連線電路等。
除了本文所描述的內(nèi)容之外,可以在不脫離本發(fā)明的范圍的情況下對所公開的實施例和實施方式進行各種修改。因此,這里的說明和示例應當被解釋為說明性的而不是限制性的。本發(fā)明的范圍應僅通過參考下面的權利要求來度量。