專利名稱:用于通信接口的位反轉(zhuǎn)的制作方法
用于通信接口的位反轉(zhuǎn)
背景技術:
選擇性數(shù)據(jù)位反轉(zhuǎn)(bit inversion)可以在各種情況下降低功耗。通常,功耗通過減少迫使默認電壓電平到另一狀態(tài)(高或低)的出現(xiàn)而降低的。例如,選擇性位反轉(zhuǎn)可以被用于降低在易失性存儲器中存儲數(shù)據(jù)的功耗。選擇性位反轉(zhuǎn)也可以被用于降低在通信接口上傳送數(shù)據(jù)的功耗。為了正確地解釋反轉(zhuǎn)的位和/或恢復原始數(shù)據(jù),需要提供關于位反轉(zhuǎn)的出現(xiàn)的通知。例如,可以將管腳以及相應的邏輯添加到電子組件中,以便當出現(xiàn)位反轉(zhuǎn)時發(fā)信號通知。不幸的是,添加這種管腳令人不快地增加利用位反轉(zhuǎn)技術的成本。
為了詳細描述本發(fā)明的示例實施例,現(xiàn)在將參照附圖,附圖中 圖IA圖示了根據(jù)各個實施例的系統(tǒng);
圖IB圖示了根據(jù)各個實施例的另一個系統(tǒng); 圖2圖示了根據(jù)各個實施例的通信分組; 圖3A和圖;3B圖示了根據(jù)各個實施例的通信分組群; 圖4圖示了根據(jù)各個實施例的方法;以及圖5圖示了根據(jù)各個實施例的計算機系統(tǒng)。注釋和術語
貫穿以下的描述和權利要求使用特定的術語來指代特定的系統(tǒng)組件。如本領域技術人員將理解的,計算機公司可以通過不同的名稱來指代組件。本文獻不意在在名稱不同、但功能相同的組件之間進行區(qū)分。在以下的討論中并且在權利要求中,以開放式的方式使用術語“包括”和“包含”,并且由此它們應當被解釋為指“包括,但不限于…”。而且,術語“耦合” 或“耦接”意在指間接、直接、光、或者無線電連接。由此,如果第一設備與第二設備耦合,則該連接可以是通過直接電連接、通過經(jīng)由其它設備和連接的間接電連接、通過光電連接、或者通過無線電連接。術語“系統(tǒng)”指代兩個或者更多個硬件和/或軟件組件的集合,并且可以被用于指代一個或多個電子設備或者其子系統(tǒng)。另外,術語“軟件”包括任何能夠在處理器上運行的可執(zhí)行代碼,無論用于存儲軟件的介質(zhì)如何。由此,存儲在非易失性存儲器中的并且有時被稱作“嵌入式固件”的代碼被包括在軟件的定義內(nèi)。
具體實施例方式以下的討論針對本發(fā)明的各個實施例。盡管這些實施例中的一個或多個可能是優(yōu)選的,但是所公開的實施例不應當被解釋或者另外用作限制公開(包括權利要求書)的范圍。另外,本領域技術人員將理解以下的描述具有廣泛的應用,并且任何實施例的討論僅意為該實施例的示例,而不意在暗示公開(包括權利要求書)的范圍限于該實施例。這里公開的實施例針對用于位反轉(zhuǎn)的方法和系統(tǒng)。在至少一些實施例中,通信分組包括與通信分組的反轉(zhuǎn)的位和/或至少一個后續(xù)的通信分組的反轉(zhuǎn)的位相關聯(lián)的位反轉(zhuǎn)指示符。接收通信分組的組件被配置為檢查(通信分組的預定位置中的)位反轉(zhuǎn)指示符并且相應地處理反轉(zhuǎn)的位。圖IA圖示了根據(jù)各實施例的系統(tǒng)100A。在系統(tǒng)100A中,第一組件120經(jīng)由通信接口 130耦合到第二組件140。例如,在一些實施例中,第一組件120是處理器,并且第二組件140是動態(tài)隨機存取存儲器(DRAM)。在替代實施例中,第一組件120是發(fā)射器(或收發(fā)器),并且第二組件140是接收器(或收發(fā)器)。第一和第二組件組群的其它示例包括、但不限于與存儲器設備配對的存儲器控制器、與I/O設備配對的輸入/輸出(I/O)總線控制器、 與終端設備配對的鏈接發(fā)起器、以及與鏈接發(fā)起器配對的鏈接應答器。如所示的,第一組件120包括通信分組邏輯124以及位反轉(zhuǎn)邏輯128。通信分組邏輯IM準備要從第一組件120傳送到第二組件140的通信分組。作為示例,如果第一組件 120對應于處理器,并且第二組件140對應于DRAM,則通信分組可以對應于寫入分組。作為另一示例,如果第一組件120對應于發(fā)射器,并且第二組件140對應于接收器,則通信分組可以對應于管理或者數(shù)據(jù)查詢、探聽或者目錄更新。位反轉(zhuǎn)邏輯1 接收通信分組(或者有關通信分組的信息),并且確定位反轉(zhuǎn)是否適當。例如,位反轉(zhuǎn)適當性可以基于位反轉(zhuǎn)是否降低功耗、是否增強信號完整性、是否增加安全性、和/或是否降低誤差概率。如果位反轉(zhuǎn)不適當,則通信分組在沒有位反轉(zhuǎn)且沒有位反轉(zhuǎn)指示符的情況下被從第一組件120傳送到第二組件140??商娲?,通信分組可以與發(fā)信號通知位反轉(zhuǎn)未被使用的位反轉(zhuǎn)指示符一起傳送。如果位反轉(zhuǎn)是適當?shù)?,則位反轉(zhuǎn)邏輯1 通過反轉(zhuǎn)位來修改通信分組,或者指引通信分組邏輯IM通過基于預定算法反轉(zhuǎn)位來修改通信分組。實施例不限于任何特定的位反轉(zhuǎn)算法,因為存在許多可以使用的現(xiàn)在已知或者將來開發(fā)的算法。位反轉(zhuǎn)邏輯1 還導致相應的位反轉(zhuǎn)指示符包括在通信分組內(nèi)。例如,在一些實施例中,具有反轉(zhuǎn)位的每個通信分組可以包括其自身的位反轉(zhuǎn)指示符。另外或者可替代地,通信分組可以包括用于至少一個后續(xù)的通信分組的位反轉(zhuǎn)指示符。如所示的,第二組件140包括分組解釋邏輯142以支持解釋和處理經(jīng)由通信接口 130接收的通信分組。根據(jù)各實施例,分組解釋邏輯142針對位反轉(zhuǎn)指示符的存在和/或值而檢查所接收的通信分組。在檢測到存在位反轉(zhuǎn)指示符時,分組解釋邏輯142操作以基于所使用的位反轉(zhuǎn)算法來解釋和/或恢復相應的反轉(zhuǎn)的位。可替代地,在檢測到預定的位反轉(zhuǎn)指示符值時,分組解釋邏輯142操作以基于所使用的位反轉(zhuǎn)算法來解釋和/或恢復相應的反轉(zhuǎn)的位。圖IB圖示了根據(jù)各實施例的另一個系統(tǒng)100B。在圖IB中,通信分組邏輯124包括流水線(pipeline)126。換言之,準備和傳送通信分組的過程包含若干個處理階段。通過訪問流水線126,位反轉(zhuǎn)邏輯1 接收在經(jīng)過若干循環(huán)之前將不傳送的通信分組(或者關于通信分組的信息)。相應地,位反轉(zhuǎn)邏輯1 可以確定位反轉(zhuǎn)對于流水線中待定的通信分組來說是否適當。作為示例,如果流水線126具有十個階段,則位反轉(zhuǎn)邏輯1 可以確定位反轉(zhuǎn)對于流水線中高達閾值數(shù)目(在此示例中十是可能的最高的量)通信分組來說是否適當。再一次,如果位反轉(zhuǎn)是適當?shù)?,則位反轉(zhuǎn)邏輯1 通過反轉(zhuǎn)位來修改通信分組,或者指引通信分組邏輯IM通過反轉(zhuǎn)位來修改通信分組。位反轉(zhuǎn)邏輯1 還導致相應的位反轉(zhuǎn)指示符包括在通信分組內(nèi)。如之前所描述的,每個通信分組可以具有其自身的位反轉(zhuǎn)指示符和/或用于至少一個后續(xù)的通信分組的位反轉(zhuǎn)指示符。圖2圖示了根據(jù)各實施例的通信分組200A。如所示的,通信分組200A包括具有未反轉(zhuǎn)的位的第一段(section) 202以及具有反轉(zhuǎn)的位的第二段204 (由斜條表示)。第一段 202包括與第二段204相關聯(lián)的位反轉(zhuǎn)指示符206。換言之,位反轉(zhuǎn)指示符206用于發(fā)信號通知第二段204具有反轉(zhuǎn)的位。在至少一些實施例中,第一段202對應于通信分組200A的命令字段的至少一部分。例如,命令字段可以指示寫入操作、管理操作、探聽操作、目錄更新操作、或者其它命令。 在這種實施例中,第二段204對應于命令字段、數(shù)據(jù)字段和/或地址字段的部分。通常,第二段204可以是位反轉(zhuǎn)指示符206之后的、并且允許第二組件140有足夠的時間來解釋位反轉(zhuǎn)指示符206以及配置其自身以處理反轉(zhuǎn)的位而非未反轉(zhuǎn)的位的任何段。圖3A圖示了根據(jù)各實施例的通信分組組群300A。在圖3A中,通信分組組群300A 包括通信分組200A,其后是至少一個后續(xù)的通信分組200B。如所示的,至少一個后續(xù)的通信分組200B具有由通信分組200A的位反轉(zhuǎn)指示符206發(fā)信號通知的反轉(zhuǎn)的位。根據(jù)各實施例,后續(xù)的通信分組200B可以包括具有未反轉(zhuǎn)的位的第一段202B以及具有反轉(zhuǎn)的位的第二段204B。然而,其它后續(xù)的通信分組的實施例可以變化。例如,一些后續(xù)的通信分組可能不具有反轉(zhuǎn)的位,或者全都是反轉(zhuǎn)的位。而且,反轉(zhuǎn)的位的放置可以變化(例如第一段 202B可以具有反轉(zhuǎn)的位并且第二段204B可以具有未反轉(zhuǎn)的位)。通常,應當將位反轉(zhuǎn)信令的復雜程度最小化以便利處理要求和/或?qū)⑽环崔D(zhuǎn)指示符206放置到通信分組中。例如,許多通信協(xié)議當前不使用命令字段中的所有位和/或定義通常不使用的特殊用途位。這種位可以(各自或者一起)被用作位反轉(zhuǎn)指示符206。在這些實施例中,第一段202內(nèi)位反轉(zhuǎn)指示符206的位置對應于未被使用的一個或多個可用位。 取決于命令字段中可用位的數(shù)目以及所期望的細節(jié)的量,位反轉(zhuǎn)信令可以是簡單的或者復雜的。位反轉(zhuǎn)信令的簡單示例可以利用單個位。如果位被斷言(assert),則同一通信分組或者后續(xù)的通信分組的預定段將被解釋(例如由第二組件140)為具有反轉(zhuǎn)的位。位反轉(zhuǎn)信令的復雜示例可以利用四個位(位0-3)。作為示例,位0發(fā)信號通知位反轉(zhuǎn)的存在(或者不存在),位1-3發(fā)信號通知三個通信分組中的哪一個在預定的段(例如數(shù)據(jù)字段)中具有反轉(zhuǎn)的位(例如當前的通信分組和兩個后續(xù)的通信分組)。作為另一示例,位0發(fā)信號通知位反轉(zhuǎn)的存在,并且位1-3發(fā)信號通知通信分組中的哪些預定字段(例如命令字段、地址字段、 或者數(shù)據(jù)字段的部分)是反轉(zhuǎn)的。在對所使用的位的數(shù)目沒有限制的情況下,或在對位反轉(zhuǎn)指示符的放置沒有限制的情況下其它實施例是可能的。圖;3B圖示了根據(jù)各實施例的通信分組組300B。如所示的,通信分組組群300B包括通信分組200C,其后是至少一個后續(xù)的通信分組200B。在圖;3B中,通信分組200C包括位反轉(zhuǎn)指示符206,但不具有反轉(zhuǎn)的位。然而,至少一個后續(xù)的通信分組200B具有由通信分組200C的位反轉(zhuǎn)指示符206發(fā)信號通知的反轉(zhuǎn)的位。如之前所討論的,后續(xù)的通信分組 200B的實施例變化。如所示的,后續(xù)的通信分組200B可以具有具有未反轉(zhuǎn)的位的第一段 202B以及具有反轉(zhuǎn)的位的第二段204B。位反轉(zhuǎn)信令也可以變化并且可以基于命令字段中的可用位,如之前針對圖3A所討論的。根據(jù)各實施例,選擇性位反轉(zhuǎn)可以用于通過減少迫使通信接口 130的默認電壓電平到另一個狀態(tài)(高或低)的出現(xiàn)來降低在通信接口 130上傳送數(shù)據(jù)的功耗。圖4圖示了根據(jù)各實施例的方法400。如所示的,方法400在框402處開始并且通過選擇性地反轉(zhuǎn)用于在通信接口上傳送的通信分組的位而繼續(xù)(框404)。在框406處,在所述通信分組和之前的通信分組中的至少一個中提供相關聯(lián)的位反轉(zhuǎn)標識符,并且方法400在框408處結(jié)束。作為示例,提供相關聯(lián)的位反轉(zhuǎn)標識符(如在框406中)可以包括準備具有位反轉(zhuǎn)標識符的通信分組命令字段。根據(jù)一些實施例,方法400也可以包括確定位反轉(zhuǎn)信令所需的時間長度是否小于預定的閾值,如果是,則在具有反轉(zhuǎn)的位的通信分組中提供相關聯(lián)的位反轉(zhuǎn)標識符。如果位反轉(zhuǎn)信令所需的時間長度大于預定的閾值,則方法400包含在之前的通信分組中提供相關聯(lián)的位反轉(zhuǎn)標識符。方法400還包括分析流水線中的信息,并且基于所述信息確定是否反轉(zhuǎn)通信分組的位。在一些情況下,方法400包含分析流水線中的信息并且基于所述信息確定反轉(zhuǎn)多個通信分組中的位。在這種情況下,位反轉(zhuǎn)標識符與多個通信分組相關聯(lián)。在不對其它實施例進行限制的情況下,上述組件和方法可以在通用計算機或者服務器上實施。圖5圖示了根據(jù)各實施例的計算機系統(tǒng)500。計算機系統(tǒng)500包括處理器502。 應當理解處理器502可以是諸如例如微處理器、微控制器、中央處理器單元(CPU)、主處理單元(MPU)、數(shù)字信號處理器(DSP)、高級精簡指令集計算(RISC)機、(ARM)處理器等之類的各種處理器中的至少一個。處理器502執(zhí)行可以在處理器502的主存儲器中(例如在隨機存取存儲器(RAM)508內(nèi))和/或處理器502的板上存儲器內(nèi)存在的代碼指令。RAM 508可以對應于動態(tài)RAM (DRAM)、同步動態(tài)RAM (SDRAM)、和/或任何其它類型的RAM器件。處理器502在需要時還與輔助存儲裝置504以及只讀存儲器(ROM) 506通信。為了便利與其它設備的通信,處理器502耦合到輸入/輸出(I/O)接口 510以及網(wǎng)絡接口 512。作為示例,I/O接口 510可被用于與諸如鍵盤、觸摸板、按鈕、小鍵盤、開關、撥號盤、鼠標、軌跡球、讀卡器、液晶顯示器(IXD)、打印機、觸摸屏顯示器、發(fā)光二極管(LED) 或者其它設備之類的設備對接。同時,網(wǎng)絡接口 512可以支持介質(zhì)接入控制器(MAC)層功能以及物理(PHY)層功能。網(wǎng)絡接口 512支持有線和/或無線通信。輔助存儲裝置504典型地包括一個或者多個磁盤或磁帶驅(qū)動器,并且用于數(shù)據(jù)的非易失性存儲裝置,并且在RAM 508不足夠大以保持所有的工作數(shù)據(jù)的情況下用作溢出數(shù)據(jù)存儲設備。輔助存儲裝置504可以用于存儲當被選擇用于執(zhí)行時被載入RAM508中的程序。ROM 506用于存儲指令,并且或許用于存儲在程序執(zhí)行期間被讀取的數(shù)據(jù)。ROM 506是非易失性存儲器設備,其相對于輔助存儲裝置504的較大的存儲器容量典型地具有較小的存儲器容量。ROM 508用于存儲非易失性數(shù)據(jù),并且或許用于存儲指令。對于ROM 506和 RAM 508兩者進行存取典型地快于對于輔助存儲裝置504進行存取。根據(jù)各實施例,計算機系統(tǒng)500實施圖1的至少一個組件(例如第一組件120、第二組件140、或兩者)。例如,圖1的第一組件120可以代表處理器502,并且圖1的第二組件140可以代表RAM 508。在替代實施例中,圖1的第一組件120和第二組件140代表發(fā)射器、接收器、收發(fā)器、或者網(wǎng)絡接口 512的其它PHY層組件。上述討論意在例示本發(fā)明的原理和各個實施例。對于本領域技術人員來說,一旦上述公開被完全理解,許多變化和修改將變得顯而易見。意在隨后的權利要求被解釋為包括所有這種變化和修改。
權利要求
1.一種系統(tǒng),包括第一組件;第二組件;以及所述第一組件與所述第二組件之間的通信接口,其中從所述第一組件傳送到所述第二組件的通信分組包括位反轉(zhuǎn)標識符。
2.如權利要求1所述的系統(tǒng),其中所述位反轉(zhuǎn)標識符位于所述通信分組的第一段中, 并且指示對于所述通信分組的第二段的位反轉(zhuǎn)。
3.如權利要求2所述的系統(tǒng),其中所述第一段包括命令字段的第一部分,并且所述第二段包括所述命令字段的第二部分。
4.如權利要求2所述的系統(tǒng),其中所述第一段包括命令字段,并且所述第二段包括地址字段和數(shù)據(jù)字段中的至少一個。
5.如權利要求1所述的系統(tǒng),其中所述位反轉(zhuǎn)標識符指示對于至少一個后續(xù)的通信分組的位反轉(zhuǎn)。
6.如權利要求1所述的系統(tǒng),其中所述位反轉(zhuǎn)標識符指示對于通信分組以及至少一個后續(xù)的通信分組的至少一部分的位反轉(zhuǎn)。
7.如權利要求1所述的系統(tǒng),其中第二組件包括動態(tài)隨機存取存儲器(DRAM),并且所述通信分組包括寫入分組。
8.一種裝置,包括接收組件,其被適配為從源組件接收通信分組,其中具有位反轉(zhuǎn)指示符的至少一個通信分組被從源組件傳送到接收組件,其中所述接收組件被選擇性地配置為將預定的通信分組段解釋為具有基于位反轉(zhuǎn)指示符反轉(zhuǎn)的位。
9.如權利要求8所述的裝置,其中所述預定的通信分組段是具有位反轉(zhuǎn)指示符的通信分組的一部分。
10.一種方法,包括選擇性地反轉(zhuǎn)用于在通信接口上傳送的通信分組的位;以及在所述通信分組以及之前的通信分組中的至少一個中提供相關聯(lián)的位反轉(zhuǎn)標識符。
11.如權利要求10所述的方法,其中提供相關聯(lián)的位反轉(zhuǎn)標識符包括準備具有位反轉(zhuǎn)標識符的通信分組命令字段。
12.如權利要求10所述的方法,還包括確定用于位反轉(zhuǎn)信令的時間段是否小于預定閾值,并且如果是的話,在所述通信分組中提供相關聯(lián)的位反轉(zhuǎn)標識符。
13.如權利要求10所述的方法,還包括確定用于位反轉(zhuǎn)信令的時間段是否大于預定閾值,并且如果是的話,在流水線內(nèi)的之前的通信分組中提供相關聯(lián)的位反轉(zhuǎn)標識符。
14.如權利要求10所述的方法,還包括分析流水線中的信息,并且基于所述信息確定是否反轉(zhuǎn)通信分組的位。
15.如權利要求10所述的方法,還包括分析流水線中的信息,并且基于所述信息確定反轉(zhuǎn)多個通信分組中的位,其中所述位反轉(zhuǎn)標識符與多個通信分組相關聯(lián)。
全文摘要
根據(jù)各實施例,系統(tǒng)包括第一組件和第二組件。該系統(tǒng)還包括所述第一組件與所述第二組件之間的通信接口。從所述第一組件傳送到所述第二組件的通信分組包括位反轉(zhuǎn)標識符。
文檔編號H04L25/49GK102204199SQ200880131789
公開日2011年9月28日 申請日期2008年10月30日 優(yōu)先權日2008年10月30日
發(fā)明者S·塔瓦萊 申請人:惠普開發(fā)有限公司