技術(shù)背景
本發(fā)明的實(shí)施例大體上涉及設(shè)備間的通信,并且更具體地涉及具有低功率和改進(jìn)的信號完整性的在i/o(輸入/輸出)接口上的加擾。
版權(quán)聲明/許可
本專利文獻(xiàn)的公開內(nèi)容的部分可以包含受到版權(quán)保護(hù)的材料。版權(quán)所有者不得反對由專利文獻(xiàn)中的任何人進(jìn)行的復(fù)制、或如在專利和商標(biāo)局專利文件中或記錄中出現(xiàn)的專利公開內(nèi)容,但是在任何其它方面都保留所有版權(quán)。版權(quán)聲明適用于如下所述的所有數(shù)據(jù)、和在此適用于本文的附圖中、以及適用于如下所述的任何軟件:版權(quán)所有
背景技術(shù):
計算設(shè)備包括由設(shè)備間的接口或連接耦合的許多集成電路部件。隨著設(shè)備尺寸減小、軌對軌電壓減小、以及操作和通信頻率增大,電磁效應(yīng)增大了對設(shè)備間的通信的影響。設(shè)備間的通信的實(shí)際的實(shí)現(xiàn)經(jīng)常經(jīng)受由電源噪聲和電磁干擾引起的信號完整性問題。擾碼可以通過改變設(shè)備間的通信的比特模式來降低電源噪聲和電磁干擾的負(fù)面影響,以降低電磁耦合效應(yīng)。
然而,特別是隨著設(shè)備尺寸繼續(xù)減小并且在移動設(shè)備中發(fā)現(xiàn)了更多的用途,擾碼的功耗可以顯著的與總功率預(yù)算相關(guān)。傳統(tǒng)地,加擾應(yīng)用代碼以實(shí)現(xiàn)從一個傳輸?shù)较乱粋€傳輸?shù)拇蠹s50%的切換。將會理解的是,比起不頻繁的切換,頻繁的切換產(chǎn)生更顯著地動態(tài)的功耗。由此,在應(yīng)用加擾與頻繁切換之間存在矛盾,以增加設(shè)備間的通信功率消耗為代價來維持信號完整性。另外,傳統(tǒng)的加擾是基于線性變換的,這可以引起不想要的跨線(cross-lane)和/或跨周期(cross-cycle)校正??缇€校正指的是相鄰的信號線路之間的校正??缰芷谛U傅氖沁B續(xù)發(fā)送的信號之間的校正。相鄰的信號線路和/或連續(xù)的信號之間的校正可以導(dǎo)致增大的電磁干擾。
附圖說明
以下描述包括具有通過本發(fā)明的實(shí)施例的實(shí)現(xiàn)的示例給出的圖示的圖的討論。附圖應(yīng)當(dāng)以示例而非限制的方式來理解。如本文中所使用的,對一個或多個“實(shí)施例”的引用將被理解為描述被包括在本發(fā)明的至少一個實(shí)現(xiàn)中的特定的特征、結(jié)構(gòu)和/或特性。由此,本文中出現(xiàn)的諸如“在一個實(shí)施例中”或“在替代的實(shí)施例中”的短語描述了本發(fā)明的多種實(shí)施例和實(shí)現(xiàn),并且不一定全部指的是相同的實(shí)施例。然而,它們也不一定是相互排斥的。
圖1是其中發(fā)送和接收設(shè)備包括加擾和解擾電路的系統(tǒng)的實(shí)施例的方框圖。
圖2是利用改進(jìn)的擾碼在通信接口的兩端支持加擾和解擾的系統(tǒng)的實(shí)施例的方框圖。
圖3是用于利用改進(jìn)的擾碼實(shí)現(xiàn)加擾的過程的實(shí)施例的流程圖。
圖4是支持包括非線性擾碼、選擇性應(yīng)用dbi、以及選擇性代碼過濾的加擾的系統(tǒng)的實(shí)施例的方框圖。
圖5是支持包括非線性擾碼、選擇性應(yīng)用dbi、以及選擇性代碼過濾的解擾的系統(tǒng)的實(shí)施例的方框圖。
圖6是用于實(shí)現(xiàn)包括提供非線性擾碼、或選擇性應(yīng)用dbi、或選擇性代碼過濾的加擾的處理器的實(shí)施例的流程圖。
圖7是用于實(shí)現(xiàn)包括提供非線性擾碼、或選擇性應(yīng)用dbi、或選擇性代碼過濾的解擾的過程的實(shí)施例的流程圖。
圖8是其中可以實(shí)現(xiàn)利用改進(jìn)的擾碼進(jìn)行加擾的計算系統(tǒng)的實(shí)施例的方框圖。
圖9是其中可以實(shí)現(xiàn)利用改進(jìn)的擾碼進(jìn)行加擾的移動設(shè)備的實(shí)施例的方框圖。
以下某些細(xì)節(jié)和實(shí)現(xiàn)的描述包括了可以描繪下面所述實(shí)施例中的一些或全部的附圖的描述,以及討論了本文中呈現(xiàn)的
技術(shù)實(shí)現(xiàn)要素:
的其它潛在的實(shí)施例或?qū)崿F(xiàn)。
具體實(shí)施方式
如本文中所描述的,i/o接口基于改進(jìn)的擾碼支持更魯棒并且功率更高效的加擾。在一個實(shí)施例中,擾碼可以包括非線性加擾、或動態(tài)總線倒置、或選擇的比特的選擇性切換、或其組合。發(fā)送設(shè)備包括加擾器并且接收設(shè)備包括解擾器。擾碼器和解擾器兩者生成通過應(yīng)用用于改進(jìn)的擾碼的上述技術(shù)中的一個或多個來修改的線性反饋擾碼。修改的擾碼可以使得少于加擾的輸出比特的一半的比特關(guān)于先前加擾的輸出被切換。加擾器將修改的擾碼應(yīng)用到將要發(fā)送的信號。解擾器將將修改的擾碼應(yīng)用到接收的信號。
將會理解的是,在發(fā)射機(jī)處具有加擾器并且在接收機(jī)處具有解擾器將會需要加擾器和解擾器的同步以確保解擾器使用加擾器所使用的相同或互補(bǔ)的代碼從而適當(dāng)?shù)靥崛“l(fā)送的信號。在一個實(shí)施例中,加擾器和解擾器兩者遵從代碼或代碼生成操作的模式或算法。由此,他們可以從一個代碼同時增加或移動到下一個代碼。在一個實(shí)施例中,加擾器和解擾器通過它們之間的通信接口經(jīng)由命令或額外的信號來保持同步。在一個實(shí)施例中,加擾器和解擾器兩者執(zhí)行擾碼操作,擾碼操作可以包括非線性加擾、或動態(tài)總線倒置(dbi)、或選擇的比特的選擇性切換、或其組合。傳統(tǒng)的加擾僅在數(shù)據(jù)總線上操作。在一個實(shí)施例中,如本文中所描述的加擾可以被應(yīng)用到數(shù)據(jù)總線。如本文中所描述的加擾也可以被應(yīng)用到命令和/或存儲器子系統(tǒng)的地址信息。
在一個實(shí)施例中,在擾碼中提供非線性可以改進(jìn)信號完整性并且減少設(shè)備間的互連上的電磁干擾。設(shè)備間的互連包括從一個集成電路到另一個的接口。在一個實(shí)施例中,集成電路是獨(dú)立的封裝的部分。在一個實(shí)施例中,集成電路是多芯片封裝中的集成在一起的獨(dú)立的芯片的部分。非線性擾碼可以減少跨線校正和跨周期校正。dbi的使用可以減少用于應(yīng)用加擾的功率的量。選擇性切換的使用也可以減少用于應(yīng)用加擾的功率的量??梢詰?yīng)用dbi以減少從一個周期到下一個周期的切換的數(shù)量。由此,將dbi應(yīng)用到擾碼可以減少擾碼中的切換的數(shù)量,減少與不使用dbi的加擾的應(yīng)用相關(guān)的功耗。選擇性切換可以選擇地保持一個或多個通道或信號線路從一個周期到下一個周期是連續(xù)的,選擇性切換也可以減少另外會在傳統(tǒng)的擾碼生成中發(fā)生的切換的數(shù)量。這些技術(shù)中的任何一個或多個可以減少切換的數(shù)量,其使擾碼能夠在信號線路上產(chǎn)生小于50%的切換率。
本文中的描述參考了包括通過主機(jī)或存儲器控制器與存儲器設(shè)備之間的互連或通信接口上進(jìn)行交換的加擾通信的示例。在一個實(shí)施例中,執(zhí)行本文中的任何實(shí)施例中描述的加擾/解擾以用于i/o(輸入/輸出)接口而不是耦合到存儲器設(shè)備的接口。由此,可以執(zhí)行擾碼生成以用于設(shè)備間的通信而不是用于存儲器設(shè)備。
對存儲器設(shè)備的引用可以應(yīng)用到不同的存儲器類型。存儲器設(shè)備通常指的是易失性存儲器技術(shù)。易失性存儲器是如果設(shè)備的電力被中斷,則其狀態(tài)(并且因此存儲在其上的數(shù)據(jù))是不確定的存儲器。動態(tài)易失性存儲器要求刷新存儲在設(shè)備中的數(shù)據(jù)以維持狀態(tài)。動態(tài)易失性存儲器的一個示例包括dram(動態(tài)隨機(jī)存取存儲器)、或一些變型例如同步dram(sdram)。如本文中描述的存儲器子系統(tǒng)可以與很多存儲技術(shù)兼容,例如ddr3(3代雙倍數(shù)據(jù)傳輸率,由jedec(電子工程設(shè)計發(fā)展聯(lián)合協(xié)會)在2007年6月27日原始發(fā)行,當(dāng)前發(fā)行21版)、ddr4(4代ddr,初始的說明書由jedec在2012年9月發(fā)布)、lpddr3(3代低功率ddr,jesd209-3b,2013年8月由jedec)、lpddr4(4代低功率雙倍數(shù)據(jù)傳輸率(lpddr),jesd209-4,由jedec在2014年8月原始發(fā)布)、wio2(widei/o2(wideio2),jesd229-2,由jedec在2014年8月原始發(fā)布)、hbm(廣泛的高頻寬記憶體dram,jesd235,由jedec在2013年10月原始發(fā)布)、ddr5(5代ddr,當(dāng)前jedec正在討論中)、lpddr5(當(dāng)前jedec正在討論中)、wio3(widei/o3,當(dāng)前jedec正在討論中)、hbm2(2代hbm,當(dāng)前jedec正在討論中)、和/或其它、以及基于這樣的規(guī)格的衍生物或延伸的技術(shù)。除了易失性存儲器之外或可替代易失性存儲器,在一個實(shí)施例中,對存儲器設(shè)備的引用可以指的是非易失性存儲器設(shè)備,其狀態(tài)是確定的,即使設(shè)備的電力被中斷。由此,存儲器設(shè)備也可以包括未來一代非易失性設(shè)備,例如,三維交叉點(diǎn)存儲器設(shè)備、或其它正開發(fā)的非易失性存儲器設(shè)備。本文中描述的存儲器設(shè)備也可以包括閃存、相變存儲器、自旋轉(zhuǎn)矩存儲器、或其它非易失性存儲器設(shè)備。
圖1是其中發(fā)送和接收設(shè)備兩者包括加擾和解擾電路的系統(tǒng)的實(shí)施例的方框圖。系統(tǒng)100表示其中可以應(yīng)用改進(jìn)的擾碼生成的系統(tǒng)的一個示例。系統(tǒng)100可以包括存儲器子系統(tǒng)的元件。主機(jī)102表示包括主處理器(未詳細(xì)地顯示)的主機(jī)系統(tǒng),該主處理器執(zhí)行系統(tǒng)100是其部分的設(shè)備的主機(jī)操作系統(tǒng)。處理器對代碼和操作的執(zhí)行創(chuàng)建了針對存儲在一個或多個存儲器設(shè)備120上的數(shù)據(jù)的請求。主機(jī)控制器110表示主機(jī)102上的控制器,其負(fù)責(zé)生成對存儲器設(shè)備120的存儲器訪問命令以滿足請求。
在一個實(shí)施例中,存儲器設(shè)備120是易失性存儲器設(shè)備。在一個實(shí)施例中,存儲器設(shè)備120包括非易失性存儲器設(shè)備。在存儲器設(shè)備120中的所有存儲器設(shè)備都是非易失性存儲裝置的情況下,主機(jī)控制器110可以被稱為存儲控件,其訪問系統(tǒng)100中的持久性數(shù)據(jù)存儲裝置。在存儲器設(shè)備120中的所有存儲器設(shè)備都是易失性存儲裝置,或以訪問頻率操作并且具有與易失性存儲裝置類似的訪問技術(shù)的非易失性存儲裝置的情況下,主機(jī)控制器110可以被稱為存儲器控制器,其訪問被加載以用于執(zhí)行的代碼和/或系統(tǒng)100內(nèi)的暫時或緩存的數(shù)據(jù)。
主機(jī)控制器110經(jīng)由互連130耦合到存儲器設(shè)備120。主機(jī)控制器110控制信息流進(jìn)入存儲器設(shè)備120或離開存儲器設(shè)備120。在一個實(shí)施例中,主機(jī)控制器110被集成到與主機(jī)102的一個或多個處理內(nèi)核相同的集成電路上。在一個實(shí)施例中,主機(jī)控制器110是獨(dú)立的集成電路的部分,例如,存儲器控制器集線器。主機(jī)控制器110包括發(fā)送(tx)數(shù)據(jù)通路112和接收(rx)數(shù)據(jù)通路114。tx112和rx114使主機(jī)控制器110能夠通過在存儲器設(shè)備120處對被解擾的發(fā)送的數(shù)據(jù)進(jìn)行加擾來改進(jìn)i/o可靠性。
在一個實(shí)施例中,控制邏輯116并行地生成彼此不關(guān)聯(lián)的多個偽隨機(jī)輸出。tx112被標(biāo)注為“加擾”,其指的是控制邏輯116的元件可以在發(fā)送tx信號之前對tx信號進(jìn)行加擾的事實(shí)。以類似的方式,rx114被標(biāo)注為“解擾”,其指的是控制邏輯116的元件可以在rx信號被接收之后解擾rx信號的事實(shí)。加擾可以被認(rèn)為是發(fā)送的部分。解擾可以被認(rèn)為是接收或接收過程的部分。tx112和rx114在主機(jī)控制器110的主機(jī)一側(cè)上操作。在一個實(shí)施例中,除了加擾數(shù)據(jù)總線,控制邏輯116可以使用相同的擾碼來對存儲器訪問或存儲裝置訪問命令和/或地址、以及數(shù)據(jù)進(jìn)行加擾。
在一個實(shí)施例中,控制邏輯116使用并行的lfsr(線性反饋移位寄存器)以及修改lfsr的輸出的重排序和重映射邏輯的組合。在一個實(shí)施例中,控制邏輯116使用dbi(動態(tài)總線倒置)。在一個實(shí)施例中,控制邏輯116使用切換最小化邏輯。將會看到存儲器設(shè)備120包括與主機(jī)控制器110類似的加擾邏輯特征。例如,存儲器設(shè)備120包括標(biāo)注為“解擾”的rx通路124,其指的是存儲器設(shè)備120解擾從主機(jī)控制器110的tx122接收的加擾的信號的事實(shí)。如另一個示例,存儲器設(shè)備120包括標(biāo)注為“加擾”的tx通路122,其指的是存儲器設(shè)備120可以對發(fā)送到主機(jī)控制器110的信號進(jìn)行加擾的事實(shí)。設(shè)備控件126表示可以執(zhí)行加擾操作的邏輯。如本文中所使用的,加擾操作一般可以指的是用于加擾和解擾兩者的操作,包括生成擾碼和修改擾碼。
在一個實(shí)施例中,控制邏輯116和/或設(shè)備控件126應(yīng)用非線性加擾操作來生成擾碼。在一個實(shí)施例中,非線性加擾操作是線性擾碼輸出的比特重映射。在一個實(shí)施例中,控制邏輯116和/或設(shè)備控件126將dbi應(yīng)用到線性擾碼輸出。在一個實(shí)施例中,控制邏輯116和/或設(shè)備控件126應(yīng)用擾碼的選擇的比特的選擇性切換。選擇性切換可以包括保持某些比特或某些通道從輸出的一個周期到下一個周期是連續(xù)的,而依據(jù)修改的擾碼改變其它比特。將會理解的是選擇性切換不一定表示切換選擇的所有比特。而是,針對應(yīng)用代碼所選擇的一些比特可以改變而其它可以不改變。選擇性實(shí)際上是比特或通道中的一些保持連續(xù),而對于其它比特或通道允許修改,無論擾碼改變是否對比特進(jìn)行切換。例如,邏輯可以保持某些通道(例如,偶數(shù)的通道)是連續(xù)的并且允許其它通道(例如,奇數(shù)的通道)改變。示例是非限制性的,并且可以使用通道的其它組合。在一個實(shí)施例中,選擇相同數(shù)量的通道以維持白色頻譜。在一個實(shí)施例中,控制邏輯116和/或設(shè)備控件126應(yīng)用非線性加擾操作、線性加擾的輸出的選擇的比特的選擇性切換、以及dbi中的兩個或更多個的組合。
在通過生成線性代碼并且以上述加擾操作中的一個或多個來修改它從而生成擾碼之后,控制邏輯116和/或設(shè)備控件126可以處理具有擾碼的信號。對于發(fā)送,處理該信號可以包括將tx信號與擾碼進(jìn)行組合來對發(fā)送信號進(jìn)行加擾。對于接收,處理該信號可以包括將rx信號與擾碼進(jìn)行組合來對接收的信號進(jìn)行解碼或解擾,并且從中提取執(zhí)行所請求的操作所需要的信息。將會理解的是,存儲器設(shè)備120可以表示并行組合的多個存儲器設(shè)備。在一個實(shí)施例中,關(guān)于發(fā)送,主機(jī)控制器120可以對并行地發(fā)送到多個存儲器設(shè)備120的信號進(jìn)行加擾,存儲器設(shè)備120將各自獨(dú)立地對信號進(jìn)行解擾和解碼。
在一個實(shí)施例中,控制邏輯116和/或設(shè)備控件126可以選擇地生成用于后續(xù)的周期的“新的”擾碼,而不必生成新的線性擾碼。控制器可以使用相同的原始線性擾碼以生成用于連續(xù)事務(wù)的多個修改的擾碼。例如,控制器可以對相同的線性擾碼應(yīng)用不同的額外的加擾操作以生成多個唯一的代碼,而不必使用生成新的線性擾碼需要的功率(例如,不必從lfsr生成輸出)。
存儲器設(shè)備120包括存儲介質(zhì)128,存儲介質(zhì)128表示一個或多個存儲陣列或存儲數(shù)據(jù)的其它存儲器資源。如上所述,存儲器設(shè)備120可以是非易失性或易失性存儲器設(shè)備;由此,存儲介質(zhì)128可以包括易失性或非易失性存儲裝置。在一個實(shí)施例中,存儲介質(zhì)128包括易失性和非易失性資源的組合。主機(jī)控制器110經(jīng)由利用訪問命令來尋址指定的位置從而訪問存儲介質(zhì)128中的指定的存儲器位置。在一個實(shí)施例中,設(shè)備控件126對來自信號的地址和命令信息進(jìn)行去擾或解擾,該信號是經(jīng)由rx124從主機(jī)控制器110所接收的。
由此,控制邏輯116和設(shè)備控件126可以表示兩個控制器,互連130的每側(cè)均有一個。對于傳統(tǒng)加擾,加擾對存儲加擾的數(shù)據(jù)的存儲器設(shè)備而言是透明的,并且然后在使用之前,將存儲器控制器的加擾的數(shù)據(jù)返回為解擾的。然而,通過使存儲器設(shè)備120能夠解擾數(shù)據(jù),也可以獨(dú)立地對正返回到主機(jī)控制器110的信號進(jìn)行加擾,這可以改進(jìn)與信號完整性和電磁干擾相關(guān)的性能,這是因?yàn)樵O(shè)備控件126可以調(diào)節(jié)特定于讀取事務(wù)的加擾。將會理解的是,存儲和返回加擾的數(shù)據(jù)還可以取決于數(shù)據(jù)被訪問并且從存儲介質(zhì)128被發(fā)送的順序,從而產(chǎn)生來自存儲器設(shè)備一側(cè)的干擾。
將會理解的是,使用兩個獨(dú)立的控制器,系統(tǒng)100將需要確保信息可以在通過互連130發(fā)送之前,在一側(cè)被加擾,并且當(dāng)接收它時在另一側(cè)被解擾。通過互連130發(fā)送的所有信息,無論是命令、地址或數(shù)據(jù)都可以在發(fā)送前被加擾并且在接收時被解擾。在互聯(lián)接口兩側(cè)處的對加擾的應(yīng)用可以抑制噪聲從而不影響互連130上的命令和地址以及數(shù)據(jù)。
在一個實(shí)施例中,特定的加擾操作對于系統(tǒng)100是其部分的計算設(shè)備的操作狀態(tài)或功率狀態(tài)是特定的。例如,控制邏輯116和設(shè)備控件126可以被配置為當(dāng)計算設(shè)備進(jìn)入和/或操作在用于實(shí)現(xiàn)與存儲器設(shè)備120的數(shù)據(jù)交換(例如,引導(dǎo)順序)的功率狀態(tài)下、或特定的功率狀態(tài)、或其它操作模式下,執(zhí)行加擾操作。
圖2是支持利用改進(jìn)的擾碼在通信接口的兩端處加擾和解擾的系統(tǒng)的實(shí)施例的方框圖。系統(tǒng)200表示其中通信的兩端生成改進(jìn)的擾碼用于加擾操作的系統(tǒng),并且可以表示依據(jù)圖1的系統(tǒng)100的系統(tǒng)的一個示例。特定于系統(tǒng)200的示例是它可以表示存儲器子系統(tǒng)的部件。存儲器子系統(tǒng)示例僅用于說明而非限制。
主機(jī)控制器210表示在主機(jī)處理器處控制對存儲器設(shè)備203的存取的控制器。主機(jī)控制器210可以是存儲控制器或存儲器控制器。主機(jī)控制器210包括表示發(fā)送硬件的tx212,和表示接收硬件的rx214。發(fā)送和接收硬件可以包括驅(qū)動器、信號邏輯、焊盤、跡線和其它硬件部件。存儲器設(shè)備230類似地包括發(fā)送硬件tx232和接收硬件rx234。
主機(jī)控制器210的i/o控制器220和存儲器設(shè)備230的i/o控制器240表示用于控制相應(yīng)的發(fā)送和接收硬件的操作的控制電路和/或其它邏輯。具體地示出了i/o控制器220中的加擾器222和解擾器228,以及i/o控制器240中的加擾器242和解擾器248。加擾器222和242表示對發(fā)送信號(txsig)進(jìn)行加擾的邏輯。解擾器228和248表示對接收信號(rxsig)進(jìn)行解擾或去擾的邏輯。加擾器和解擾器應(yīng)用擾碼以執(zhí)行它們相應(yīng)的加擾操作。擾碼可以是依據(jù)本文中描述的任何擾碼和修改的擾碼的。在一個實(shí)施例中,每個i/o控制器中的加擾器和解擾器兩者利用相同的硬件邏輯以生成擾碼。在一個實(shí)施例中,加擾器利用與由解擾器所使用以生成擾碼的硬件分離的硬件來生成擾碼。而系統(tǒng)200未詳細(xì)地顯示同步機(jī)制,將會理解的是i/o控制器220和240可以包括同步機(jī)制以確保用于在一端對發(fā)送信號進(jìn)行加擾的代碼與在另一端對接收的信號進(jìn)行解擾而生成的代碼是相同的。這樣的機(jī)制可以包括時序邏輯、信號邏輯、或其它邏輯或組合。
在一個實(shí)施例中,加擾器222生成(或從用于生成的硬件邏輯獲得)擾碼以與txsig進(jìn)行組合從而經(jīng)由tx212被輸出。在一個實(shí)施例中,組合邏輯224是xor邏輯,其用于對加擾邏輯與txsig的輸出進(jìn)行xor(異或)從而向發(fā)送的信號提供偽隨機(jī)模式。在一個實(shí)施例中,解擾器248生成(或從生成的硬件邏輯獲得)與加擾器222所使用的相同的擾碼,并且利用經(jīng)由rx234所接收的加擾的信號將擾碼與組合邏輯246進(jìn)行組合。在一個實(shí)施例中,組合邏輯246是xor邏輯,其用于對加擾邏輯與輸入信號的輸出進(jìn)行xor從而移除偽隨機(jī)模式并且生成解擾的rxsig。
當(dāng)存儲器設(shè)備230將加擾的信號發(fā)送到主機(jī)控制器210時,操作以相反的形式發(fā)生。由此,在一個實(shí)施例中,加擾器242生成(或從生成的硬件邏輯獲得)擾碼以與txsig進(jìn)行組合從而經(jīng)由tx232被輸出。在一個實(shí)施例中,組合邏輯244是xor邏輯,其用于對加擾邏輯與txsig的輸出進(jìn)行xor從而向發(fā)送的信號提供偽隨機(jī)模式。在一個實(shí)施例中,解擾器228生成(或從生成的硬件獲得)與加擾器242所使用的相同的擾碼,并且利用經(jīng)由rx214所接收的加擾的信號來將擾碼與組合邏輯226進(jìn)行組合。在一個實(shí)施例中,組合邏輯226是xor邏輯,其用于對加擾邏輯與輸入信號的輸出進(jìn)行xor從而移除偽隨機(jī)模式并且生成解擾的rxsig。
在一個實(shí)施例中,i/o控制器220和i/o控制器240生成擾碼,該擾碼包括非線性方面(例如,經(jīng)由信號重排序邏輯和/或重映射邏輯)、包括由擾碼dbi邏輯倒置的比特,或包括通過選擇性地將舊的代碼和新的代碼進(jìn)行交換所生成的擾碼、或包括他們的組合。在一個實(shí)施例中,i/o控制器220和240生成用于一系列連續(xù)周期的擾碼。傳統(tǒng)地,加擾器可以生成用于每個后續(xù)的周期的新的非線性代碼。在一個實(shí)施例中,加擾邏輯根據(jù)單個非線性代碼來生成擾碼的序列或連續(xù)系列。由此,加擾邏輯可以根據(jù)相同的非線性起始代碼來生成多個不同的擾碼。例如,加擾邏輯可以多次將不同的額外的加擾操作或擾碼修改應(yīng)用到相同的非線性起始代碼。
在一個實(shí)施例中,i/o控制器220和240可以對比擾碼的寬度具有更多比特的信號進(jìn)行加擾和解擾。由此,考慮m比特寬的加擾器。加擾器可以對n比特寬的信號進(jìn)行加擾,其中n>m。通常m2/4>m(例如,32^2是2^10,并且除以4是2^8或256,256是大于32的)。通過將擾碼劃分為m/2xorm/2,系統(tǒng)200可以使用具有最小的效益損失的不昂貴的擾碼生成器或加擾器。例如,以上示例示出了32比特的加擾器可以用于替換256比特的加擾器。這樣的結(jié)果可以通過劃分總線和對所有組合進(jìn)行xor來實(shí)現(xiàn)。由此,在一個實(shí)施例中,組合邏輯224、226、244和246可以包括使總線能夠進(jìn)行所述劃分和組合的機(jī)制。在一個實(shí)施例中,每個部件224、226、244和246可以表示多個xor或組合邏輯元件。
通常,加擾邏輯可以通過生成擾碼并且將其劃分為擾碼段的y個子集的不同組合來生成擾碼來應(yīng)用。在一個實(shí)施例中,加擾邏輯可以從單個m比特的擾碼中生成擾碼的y個子集或y個代碼段。將會理解的是,每段或每個子集將具有少于m比特的比特。然后,加擾邏輯可以選擇性地對從y個子集中的每一個中選擇的比特的不同組合進(jìn)行xor,以創(chuàng)建修改的擾碼。由此,加擾邏輯可以根據(jù)對來自y個代碼段的比特的選擇的組合進(jìn)行xor來生成修改的擾碼,并且將修改的擾碼應(yīng)用到具有多于m比特的信號。在一個實(shí)施例中,y個子集是比特數(shù)量相等的兩個子集。在另一個實(shí)施例中,m比特的代碼可以被不均等地劃分為(m_子集1xorm_子集2)的不同組合中的兩組,并且可對m比特的代碼進(jìn)行xor以創(chuàng)建多達(dá)m_子集1乘以m_子集2的組合。在另一個實(shí)施例中,m比特的代碼可以被劃分為3個或更多個子集,并且來自子集中的一些或全部的一個比特可以被xor在一起以創(chuàng)建最終的擾碼模式。
圖3是用于利用改進(jìn)的擾碼實(shí)現(xiàn)加擾的過程的實(shí)施例的流程圖。過程300示出了可以由加擾邏輯依據(jù)本文中所述的任何實(shí)施例來執(zhí)行的加擾操作的一個示例。更具體地,系統(tǒng)200的i/o控制器220和240以及系統(tǒng)100的控制邏輯116和設(shè)備控件126可以實(shí)現(xiàn)該過程。
在一個實(shí)施例中,加擾器或擾碼生成器接收種子信號,302。種子信號可以是偽隨機(jī)數(shù),作為用于生成擾碼的生成邏輯的輸入起始部分。在一個實(shí)施例中,種子信號可以是先前的擾碼。在一個實(shí)施例中,加擾器根據(jù)種子信號來生成lfsr擾碼或其它基于線性的擾碼,304。加擾器應(yīng)用一個或多個額外的加擾操作以選擇性地改變擾碼的比特,306。額外的加擾操作選擇性地改變比特,并且產(chǎn)生修改的擾碼,其中比得到的比特的一半少的比特相對于先前的代碼被切換。可以是這樣的:從一個代碼到下一個代碼,后續(xù)的代碼具有相等數(shù)量的切換。然而,平均,切換的比特少于一半。這樣的改變引起加擾器的較低功率使用。這樣的結(jié)果與試圖切換每個連續(xù)代碼上的一半比特的傳統(tǒng)方法形成對照。
在一個實(shí)施例中,傳統(tǒng)的加擾操作可以包括應(yīng)用非線性加擾操作。這樣的非線性加擾操作可以包括但不限于:執(zhí)行擾碼的比特重映射以選擇性地改變擾碼比特中的一些,將dbi應(yīng)用到擾碼,應(yīng)用擾碼的選擇的比特的選擇性轉(zhuǎn)換,切換擾碼的偶數(shù)通道或奇數(shù)通道、或其組合。在一個實(shí)施例中,加擾器對相同的lfsr擾碼應(yīng)用不同的額外加擾操作以創(chuàng)建不同的連續(xù)的修改的擾碼。
針對生成修改的擾碼以用于發(fā)送的加擾器,308tx分支,加擾器接收信號以用于加擾和發(fā)送,310。加擾器將最終的或修改的擾碼應(yīng)用到信號,312,并且發(fā)送加擾的信號,314。針對生成修改的擾碼以用于接收過程的加擾器,308rx分支,加擾器接收信號以用于解擾,316。加擾器將最終的或修改的擾碼應(yīng)用到信號,318,并且處理接收的解擾的信號,320。然后,接收設(shè)備可以執(zhí)行由接收的信號所指示的操作。在一個實(shí)施例中,tx信號包括用于存儲器或存儲裝置存取命令中的命令和地址信息的加擾信息。由此,解擾的信號可以包括命令或地址信息。
圖4是支持包括非線性擾碼、選擇性應(yīng)用dbi、以及選擇性代碼過濾的加擾的系統(tǒng)的實(shí)施例的方框圖。電路400表示依據(jù)本文中描述的任何實(shí)施例來實(shí)現(xiàn)加擾器的邏輯,并且可以被稱為加擾器400。加擾器400可以是在系統(tǒng)200的i/o控制器220和240以及系統(tǒng)100的控制邏輯116和設(shè)備控件126的邏輯的一個示例。加擾器400可以被實(shí)現(xiàn)在處理器設(shè)備內(nèi)的邏輯中。
在一個實(shí)施例中,加擾器400以固定的種子(x個比特)為起始,其是與接收端上的控制器或加擾器以其為起始的種子相同的種子。在一個實(shí)施例中,加擾器400以從修改擾碼的階段所接收的反饋輸出(x個比特)為起始。在一個實(shí)施例中,加擾器400包括并行的lfsr402,其接收種子值并且生成x個比特的lfsr輸出。lfsr402可以是線性變換塊,其獲取x個比特的輸入并且通過將多種輸入xor在一起將x個比特的輸入變換為x個比特的輸出。在一個實(shí)施例中,lsfr402將其輸出提供到重排序邏輯404。重排序邏輯404可以選擇性地對來自lfsr的輸出比特重排序,從而對輸出進(jìn)行隨機(jī)化,并且根據(jù)x個比特的輸入生成x個比特的輸出。在一個實(shí)施例中,重排序邏輯404將其輸出提供到重映射邏輯406。在一個實(shí)施例中,重映射邏輯406將非線性變換應(yīng)用到輸入數(shù)據(jù)以生成輸出。在一個實(shí)施例中,重映射邏輯406利用(x/n)置換盒,其中x是n的倍數(shù)。每個置換盒可以獲取n比特的輸入并且產(chǎn)生n比特的非線性輸出。重映射邏輯406生成x個比特的輸出。在一個實(shí)施例中,加擾器400將重映射邏輯406的輸出饋送回到并行的lfsr402作為用于后續(xù)的擾碼的種子。觸發(fā)器(flop)408表示一個或多個邏輯設(shè)備,例如可以保持?jǐn)?shù)據(jù)以用于后續(xù)使用的鎖存器。觸發(fā)器408可以包括多個級別來使用于后續(xù)的代碼中的數(shù)據(jù)入隊,但是不一定是緊隨后續(xù)的代碼。
已經(jīng)發(fā)現(xiàn)了:仔細(xì)地選擇lfsr402和置換盒(s-box)組合可以實(shí)現(xiàn)被稱為電子雪崩(avalanche)的屬性,其中每一個輸出比特取決于每一個輸入比特。由傳統(tǒng)的加擾器設(shè)計所使用的較簡單的lfsr不能實(shí)現(xiàn)電子雪崩。通過對由lfsr402和重映射邏輯406執(zhí)行的指定操作的選擇(例如,選擇s-box設(shè)計和操作),加擾器400可以對通道和周期之間的校正和差分概率進(jìn)行最小化。通道指的是用于傳輸數(shù)據(jù)的并行信號線路。周期指的是連續(xù)的交換(例如,發(fā)送,接收)事務(wù)。對通道和周期之間的差分概率進(jìn)行最小化產(chǎn)生了更多使通道和/或周期之間的校正最小化的更隨機(jī)的擾碼。在其它實(shí)施例中,除使通道/周期之間的校正最小化之外或替代使通道/周期之間的校正最小化,加擾器400可以針對標(biāo)準(zhǔn)進(jìn)行優(yōu)化。由此,不同s-box實(shí)現(xiàn)可以配置加擾邏輯以用于改進(jìn)很多不同標(biāo)準(zhǔn)(例如,校正、噪聲、定時、或用于要被加擾的i/o接口的其它標(biāo)準(zhǔn))中的任何一個的不同的重映射。
在一個實(shí)施例中,加擾器400包括用于處理擾碼的dbi邏輯410。dbi410可以接收重映射邏輯406的輸出并且將其與先前的加擾周期的擾碼進(jìn)行比較。取決于實(shí)現(xiàn),在一個實(shí)施例中,如果切換的比特的數(shù)量大于預(yù)定閾值,則dbi410可選地倒置擾碼比特。由此,dbi410可以通過減少切換的比特的數(shù)量來改進(jìn)加擾器400使用的功率。在一個實(shí)施例中,加擾器400包括觸發(fā)器412,其表示一個或多個邏輯設(shè)備,例如鎖存器或可以保持?jǐn)?shù)據(jù)以用于后續(xù)使用的其它邏輯。在一個實(shí)施例中,觸發(fā)器412將來自dbi410的輸出饋送回到dbi410以用于與后續(xù)的擾碼的比較。由此,加擾器400可以確定新的擾碼是否具有大于閾值的比特的數(shù)量。將會理解的是,將dbi410應(yīng)用到擾碼不一定表示dbi指示信號(例如,指示信號是否被倒置的dbi比特)需要從發(fā)射機(jī)發(fā)送到接收機(jī)。dbi410提供了偽隨機(jī)碼,并且僅需要在鏈接或i/o接口的兩側(cè)(例如,tx和rx)是可重復(fù)的,并且在接收端處不需要是“未完成”。由此,不像在i/o系統(tǒng)中的dbi的傳統(tǒng)的應(yīng)用,dbi410可以被應(yīng)用而不跨過i/o接口生成或發(fā)送指示。
在一個實(shí)施例中,加擾器400包括選擇性切換414。在一個實(shí)施例中,選擇性切換414以兩種不同方式接收dbi410的輸出。如示出的,選擇性切換414可以被耦合以直接接收dbi410的輸出,并且可以被耦合以經(jīng)由觸發(fā)器412接收dbi410的輸出。選擇性切換414使加擾器400能夠依據(jù)執(zhí)行的加擾操作來切換通道或擾碼的比特中的一些,并且能夠保留通道或比特中的一些與代碼先前的周期中的一些相同。觸發(fā)器412保持并且提供先前周期的擾碼。由此,選擇性切換414可以基于經(jīng)由邏輯402、404、406和410所生成的擾碼的當(dāng)前周期或迭代并且選擇性地基于先前的擾碼,來生成輸出。
例如,在一個實(shí)施例中,選擇性轉(zhuǎn)換414從擾碼的x個比特中選擇y個比特。y個比特將取如由直接耦合到dbi410所提供的新的代碼。選擇性轉(zhuǎn)換使得剩余的x減y個比特(x-y)基于先前的周期擾碼來維持它們的比特值。在一個實(shí)施例中,選擇性轉(zhuǎn)換414每一個周期或每固定數(shù)量的周期可以選擇y個比特的不同組。當(dāng)選擇性轉(zhuǎn)換414每一個周期選擇y個比特的不同組時,每y/x周期而不是每一個周期來更新平均輸出。選擇性切換414可以提供加擾效率與功耗之間的改進(jìn)的權(quán)衡,而依舊維持針對低di/dt的恒定的轉(zhuǎn)換率。在一個實(shí)施例中,選擇性轉(zhuǎn)換414選擇通過x通道均勻地被隔開的y轉(zhuǎn)換通道,其可以在空間中也可以在時間上傳播轉(zhuǎn)換。由此,選擇性轉(zhuǎn)換414可以生成加擾的y個比特和根據(jù)先前的周期保持恒定的x-y個比特以用于x個比特的總輸出。將會理解的是y是小于x的數(shù)量,但是可以大于或小于x/2。
代碼生成器416生成最終的擾碼或所得到的修改的擾碼。代碼生成器416將修改的擾碼提供到組合器418以應(yīng)用到tx信號從而對信號進(jìn)行加擾。在一個實(shí)施例中,tx信號包括分別與tx信號進(jìn)行組合的要被加擾的數(shù)據(jù)、和地址和/或命令。在一個實(shí)施例中,tx信號除數(shù)據(jù)信息以外包括命令和/或地址信息。將會理解的是,在上下文中,數(shù)據(jù)指的是通過數(shù)據(jù)總線被發(fā)送的信號,其可以與提供指示什么操作在存儲器的什么位置進(jìn)行的信息的命令/地址(c/a)總線分離。
tx信號的寬度是z個比特,其中z可以是不同于x的數(shù)字。x和z可以是相等的。在一個實(shí)施例中,z是大于x的,并且加擾器400可以利用x個比特的擾碼對z個比特的輸出信號進(jìn)行加擾。組合器418生成tx加擾的信號(z個比特的信號)以在由方框420表示的傳輸硬件上輸出。在一個實(shí)施例中,加擾器400應(yīng)用x個比特的擾碼應(yīng)用來對tx信號的z個比特進(jìn)行加擾,其中z小于x,或?qū)σl(fā)送的具有少于擾碼的通道(z個通道<x個通道)的信號進(jìn)行加擾。在一個實(shí)施例中,加擾器400應(yīng)用x個比特的擾碼來對tx信號的z個比特進(jìn)行加擾,其中z大于x,或?qū)σl(fā)送的具有多于擾碼的通道(z個通道>x個通道)的信號進(jìn)行加擾。例如,組合器418可以將x個比特的擾碼劃分為兩個各自是(x/2)比特的段,并且采用2輸入xor以創(chuàng)建比特的多種組合。在這樣的示例中,可能對(x/2)2條通道(例如,16比特的代碼可以覆蓋64條通道(16/2=8;8*8=64))進(jìn)行加擾。通過劃分?jǐn)_碼來應(yīng)用擾碼可以減少與用于寬總線的加擾邏輯相關(guān)聯(lián)的開銷。使用不同數(shù)量的通道、和不同尺寸的xor邏輯和/或用于其它重映射邏輯的s-box尺寸的其它組合顯然是可能的。
圖5是支持包括非線性擾碼、選擇性應(yīng)用dbi、以及選擇性代碼過濾的解擾的系統(tǒng)的實(shí)施例的方框圖。電路500表示依據(jù)本文中描述的任何實(shí)施例來實(shí)現(xiàn)解擾器的邏輯,并且可以被稱為解擾器500。解擾器500可以是在系統(tǒng)200的控制器220和240以及系統(tǒng)100的控制邏輯116和設(shè)備控件126內(nèi)的邏輯的一個示例。解擾器500可以被實(shí)現(xiàn)在處理器設(shè)備內(nèi)的邏輯中。
解擾器500的用于生成擾碼的邏輯將會生成用于對接收數(shù)據(jù)進(jìn)行加擾的相同的擾碼。在不生成相同擾碼的情況下,解擾器500不會成功地解擾接收的信號。由此,解擾器500的用于生成擾碼的部件可以與加擾器400的部件相同。
在一個實(shí)施例中,解擾器500以固定的種子(x個比特)為起始,所述固定的種子是與發(fā)送端上的控制器或加擾器將會以其為起始的種子相同的種子。在一個實(shí)施例中,解擾器500以利用從修改擾碼的階段接收的反饋輸出(x個比特)生成擾碼為起始。在一個實(shí)施例中,解擾器500包括接收種子值的并行的lfsr502,并且生成x個比特的lfsr輸出。lfsr502可以是獲取x個比特的輸入并且通過將多種輸入xor在一起來將其變換為x個比特的輸出的線性變換塊。在一個實(shí)施例中,lfsr502將其輸出提供到重排序邏輯504。重排序邏輯504可以選擇性地對來自lfsr的輸出比特重排序來對輸出進(jìn)行隨機(jī)化,并且根據(jù)x個比特的輸入來生成x個比特的輸出。在一個實(shí)施例中,重排序邏輯504將其輸出提供到重映射邏輯506。在一個實(shí)施例中,重映射邏輯506將非線性變換應(yīng)用到輸入數(shù)據(jù)以生成輸出。在一個實(shí)施例中,重映射邏輯506利用(x/n)個置換盒,其中x是n的倍數(shù)。每個置換盒可以獲取n比特的輸出并產(chǎn)生n個比特的非線性輸出。重映射邏輯506生成x個比特的輸出。在一個實(shí)施例中,解擾器500將重映射邏輯506的輸出饋送回到并行的lfsr502作為用于后續(xù)的擾碼的種子。觸發(fā)器508表示一個或多個邏輯設(shè)備例如,可以保持?jǐn)?shù)據(jù)以用于后續(xù)使用的鎖存器。觸發(fā)器508可以包括多個級別將用于后續(xù)的代碼中的數(shù)據(jù)入隊,但不一定是緊隨其后的代碼。
已經(jīng)發(fā)現(xiàn)了:仔細(xì)地選擇lfsr502和置換盒(s-box)組合可以實(shí)現(xiàn)被稱為電子雪崩的屬性,其中每一個輸出比特取決于每一個輸入比特。通過傳統(tǒng)的加擾器設(shè)計所使用的較簡單的lfsr不能實(shí)現(xiàn)電子雪崩。通過對由lfsr502和重映射邏輯506執(zhí)行的指定操作的選擇(例如,選擇s-box設(shè)計和操作),解擾器500可以對通道和周期之間的校正和差分概率進(jìn)行最小化。通道指的是用于傳輸數(shù)據(jù)的并行的信號線路。周期指的是連續(xù)的交換(例如,發(fā)送、接收)傳輸。對通道和周期之間的差分概率進(jìn)行最小化產(chǎn)生了使通道和/或周期之間的校正最小化的更隨機(jī)的擾碼。類似于參照加擾器400以上所描述的內(nèi)容,在其它實(shí)施例中,除使通道/周期之間的校正最小化之外或替代使通道/周期之間的校正最小化,解擾器500可以針對標(biāo)準(zhǔn)進(jìn)行優(yōu)化。由此,不同的s-box實(shí)現(xiàn)可以配置加擾邏輯以用于改進(jìn)很多不同標(biāo)準(zhǔn)(例如,校正、噪聲、定時、或用于要被加擾的i/o接口的其它標(biāo)準(zhǔn))中的任何一個的不同的重映射。
在一個實(shí)施例中,解擾器500包括用于處理擾碼的dbi邏輯。dbi510可以接收重映射邏輯506的輸出并且將其與先前的加擾周期的擾碼進(jìn)行比較。取決于實(shí)現(xiàn),在一個實(shí)施例中,如果切換的比特的數(shù)量大于預(yù)定閾值,則dbi510可選地倒置擾碼比特。由此,dbi510可以通過減少切換的比特的數(shù)量來改進(jìn)解擾器500使用的功率。在一個實(shí)施例中,解擾器500包括觸發(fā)器512,其表示一個或多個邏輯設(shè)備,例如鎖存器或可以保持?jǐn)?shù)據(jù)以用于后續(xù)使用的其它邏輯。在一個實(shí)施例中,觸發(fā)器512將來自dbi510的輸出饋送回到dbi510以用于與后續(xù)的擾碼的比較。由此,解擾器500可以確定新的擾碼是否具有大于閾值的比特的數(shù)量。
在一個實(shí)施例中,解擾器500包括選擇性轉(zhuǎn)換514。在一個實(shí)施例中,選擇性轉(zhuǎn)換514以兩種不同方式接收dbi510的輸出。如所示,選擇性轉(zhuǎn)換514可以被耦合以直接接收dbi510的輸出,并且可以被耦合以經(jīng)由觸發(fā)器512接收dbi510的輸出。選擇性轉(zhuǎn)換514使解擾器500能夠依據(jù)所執(zhí)行的加擾操作來轉(zhuǎn)換擾碼的通道或比特中的一些,并且能夠保留通道或比特中的一些與代碼的先前的周期的通道或比特中的一些相同。觸發(fā)器512保持并且提供先前周期的擾碼。由此,選擇性轉(zhuǎn)換514可以基于經(jīng)由邏輯502、504、506和510所生成的擾碼的當(dāng)前周期或迭代并且選擇性地基于先前的擾碼,來生成輸出。
例如,在一個實(shí)施例中,選擇性轉(zhuǎn)換514從擾碼的x個比特中選擇y個比特。y個比特將取由直接耦合到dbi510所提供的新的代碼。選擇性轉(zhuǎn)換使得剩余的x減y個比特(x-y)基于先前的周期擾碼來維持它們的比特值。在一個實(shí)施例中,選擇性轉(zhuǎn)換在每一個周期或每固定數(shù)量的周期可以選擇y個比特的不同組。當(dāng)選擇性轉(zhuǎn)換514每一個周期選擇y個比特的不同組時,平均輸出在每y/x周期而不是每一個周期來更新。選擇性轉(zhuǎn)換514可以提供加擾效率與功耗之間的改進(jìn)的權(quán)衡,而依舊維持針對低di/dt的恒定的轉(zhuǎn)換率。在一個實(shí)施例中,選擇性轉(zhuǎn)換514選擇通過x個通道均勻地被隔開的y個轉(zhuǎn)換通道,其可以在空間中也可以在時間上傳播轉(zhuǎn)換。由此,選擇性轉(zhuǎn)換514可以生成加擾的y個比特和從先前的周期保持恒定的x-y個比特以用于x個比特的總輸出。將會理解的是y是小于x的數(shù)字,但是可以大于或小于x/2。
代碼生成器516生成最終的擾碼或所得到的修改的擾碼。代碼生成器516將修改的擾碼提供到組合器518以應(yīng)用到rx信號從而對信號進(jìn)行解擾。解擾器500經(jīng)由塊520表示的接收硬件來接收rx信號。輸入信號是接收的加擾的信號,解擾器505將該信號接收到組合器518。組合器518將修改的擾碼應(yīng)用到加擾的rx信號以用于將其解擾為rx信號。在一個實(shí)施例中,rx信號僅包括加擾的數(shù)據(jù)、和未加擾的地址和/或命令。在一個實(shí)施例中,rx加擾的信號除數(shù)據(jù)信息以外包括命令和/或地址信息,所有均是加擾的。將會理解的是,在上下文中,數(shù)據(jù)指的是通過數(shù)據(jù)總線要被發(fā)送的信號,所述數(shù)據(jù)總線可以與提供指示什么操作在存儲器的什么位置執(zhí)行的信息的命令/地址(c/a)總線分離。
rx加擾的信號和解擾的rx信號的寬度都是z個比特,其中z可以是不同于x的數(shù)字。x和z可以是相等的。在一個實(shí)施例中,z是大于x的,并且解擾器500可以利用x個比特的擾碼對z個比特的輸入信號進(jìn)行解擾。在一個實(shí)施例中,z是小于x的,并且解擾器500對具有比擾碼更少的通道的z個比特的輸入信號進(jìn)行解擾。組合器518生成rx解擾的信號(z個比特的信號)以用于在解擾器500是其部分的接收設(shè)備中處理。在一個實(shí)施例中,解擾器500應(yīng)用x個比特的擾碼來對rx加擾的信號的z個比特進(jìn)行加擾,其中z大于x,或?qū)哂卸嘤跀_碼的通道(z通道>x通道)的接收的信號進(jìn)行加擾。例如,組合器418可以將x個比特的擾碼劃分為兩個各自是(x/2)比特的段,并且采用2輸入xor以創(chuàng)建比特的多種組合。在這樣的示例中,可能對(x/2)2條通道(例如,16比特的代碼可以覆蓋64條通道(16/2=8;8*8=64))進(jìn)行解擾。通過劃分?jǐn)_碼來應(yīng)用擾碼可以減少與用于寬的總線的加擾邏輯相關(guān)聯(lián)的開銷。使用不同數(shù)量的通道、和不同尺寸的xor邏輯和/或用于其它重映射邏輯的s-box尺寸的其它組合顯然是可能的。
圖6是用于實(shí)現(xiàn)包括提供非線性擾碼、或選擇性應(yīng)用dbi、或選擇性代碼過濾的加擾的過程的實(shí)施例的流程圖。依據(jù)本文中描述的任何實(shí)施例,信號加擾過程600可以由對用于發(fā)送的信號進(jìn)行加擾的任何加擾器來執(zhí)行。加擾器接收要被發(fā)送的信號或tx信號,602。加擾器生成擾碼以用于與tx信號進(jìn)行組合或?qū)⑸傻臄_碼應(yīng)用到tx信號。加擾器通過生成線性擾碼來開始擾碼的生成。在一個實(shí)施例中,加擾器基于種子信號來生成x個并行的lfsr輸出,從而得到x個比特的擾碼,604。種子信號可以是固定信號、輸入信號或反饋信號。
在一個實(shí)施例中,加擾器利用非線性加擾來修改擾碼。在一個實(shí)施例中,如果加擾器將要應(yīng)用非線性加擾,606yes分支,則加擾器通過重排列和重映射邏輯來饋送x個并行的lfsr輸出,608。重映射可以包括置換盒變換。如果加擾器將不應(yīng)用非線性加擾,606no分支,則加擾器可以轉(zhuǎn)發(fā)擾碼而無需非線性技術(shù)的應(yīng)用并且在610繼續(xù)擾碼生成。
在一個實(shí)施例中,加擾器利用dbi的應(yīng)用來修改擾碼。在一個實(shí)施例中,如果加擾器將應(yīng)用dbi,610yes分支,則加擾器將先前的周期擾碼與輸出或當(dāng)前的擾碼進(jìn)行比較,并且如果切換的比特的數(shù)量超過閾值,則倒置當(dāng)前擾碼輸出,612。如果加擾器將不應(yīng)用dbi,610no分支,加擾器可以轉(zhuǎn)發(fā)擾碼而無需dbi的應(yīng)用并且在614繼續(xù)擾碼生成。
在一個實(shí)施例中,加擾器以選擇性轉(zhuǎn)換來修改擾碼。在一個實(shí)施例中,如果加擾器將應(yīng)用選擇性轉(zhuǎn)換,614yes分支,則加擾器僅允許x個比特中的y個比特采用更新的值。加擾器將依據(jù)先前的擾碼將其它x-y個比特維持在他們的值,616。如果加擾器將不應(yīng)用選擇性轉(zhuǎn)換,614no分支,則加擾器可以轉(zhuǎn)發(fā)擾碼而無需應(yīng)用選擇性轉(zhuǎn)換并且在618繼續(xù)擾碼生成。
在生成擾碼之后,加擾器以最終的擾碼的x個比特來對tx信號的z個比特進(jìn)行加擾,618。最終的擾碼是由關(guān)于過程600在606、608、610、612、614、616處描述的加擾技術(shù)中的一個或多個所修改的lfsr輸出代碼。包括加擾器輸出的i/o控制通過互連發(fā)送加擾的發(fā)送信號的z個比特,620。
圖7是用于實(shí)現(xiàn)包括提供非線性擾碼、或選擇性應(yīng)用dbi、或選擇性代碼過濾的解擾的過程的實(shí)施例的流程圖。依據(jù)本文中描述的任何實(shí)施例,信號解擾過程700可以由對接收的信號進(jìn)行解擾以用于處理的任何解擾器來執(zhí)行。解擾器從發(fā)射機(jī)設(shè)備接收要被解擾的信號或rx信號,702。解擾器生成擾碼以用于與rx信號進(jìn)行組合或?qū)⑵鋺?yīng)用到rx信號。解擾器生成相同的擾碼以應(yīng)用到rx信號,該rx信號是由擾碼器應(yīng)用到tx信號的。解擾器通過生成線性擾碼來開始擾碼的生成。在一個實(shí)施例中,解擾器基于種子信號生成x個并行的lfsr輸出,以產(chǎn)生x個比特的擾碼,704。種子信號可以是固定信號、輸入信號或反饋信號。
在一個實(shí)施例中,解擾器以非線性加擾來修改擾碼。在一個實(shí)施例中,如果解擾器將應(yīng)用非線性加擾,706yes分支,則解擾器通過重排列和重映射邏輯來饋送x個并行的lfsr輸出,708。重映射可以包括置換盒變換。如果解擾器將不應(yīng)用非線性加擾,706no分支,則加擾器可以轉(zhuǎn)發(fā)擾碼而無需非線性技術(shù)的應(yīng)用并且在710繼續(xù)擾碼生成。
在一個實(shí)施例中,解擾器以dbi的應(yīng)用來修改擾碼。在一個實(shí)施例中該,如果解擾器將應(yīng)用dbi,710yes分支,則解擾器將對先前的周期擾碼與輸出或當(dāng)前擾碼進(jìn)行比較,并且如果切換的比特的數(shù)量超過閾值,則倒置當(dāng)前的擾碼輸出,712。如果解擾器將不應(yīng)用dbi,710no分支,則解擾器可以轉(zhuǎn)發(fā)擾碼而無需dbi的應(yīng)用并且在714繼續(xù)擾碼生成。
在一個實(shí)施例中,解擾器以選擇性轉(zhuǎn)換來修改擾碼。在一個實(shí)施例中,如果解擾器將應(yīng)用選擇性轉(zhuǎn)換,714yes分支,則解擾器僅允許x個比特中的y個比特采取更新的值。解擾器依據(jù)先前的擾碼將其它x-y個比特維持在他們的值,716。如果解擾器將不應(yīng)用選擇性轉(zhuǎn)換,714no分支,則解擾器可以轉(zhuǎn)發(fā)擾碼而無需選擇性轉(zhuǎn)換的應(yīng)用并且在718繼續(xù)擾碼生成。
在生成擾碼之后,解擾器以最終的擾碼的x個比特來解擾rx信號的z個比特,718。最終的擾碼是由關(guān)于過程700在706、708、710、712、714、716處描述的加擾技術(shù)中的一個或多個所修改的lfsr輸出代碼。包括解擾器對提供在解擾的rx信號中的通信進(jìn)行解碼或另外解釋。
圖8是其中利用改進(jìn)的擾碼實(shí)現(xiàn)加擾的計算系統(tǒng)的實(shí)施例的方框圖。系統(tǒng)800表示依據(jù)本文中描述的任何實(shí)施例的計算設(shè)備,并且可以是膝上型計算機(jī)、桌上型計算機(jī)、服務(wù)器、游戲或娛樂控制系統(tǒng)、掃描儀、復(fù)印機(jī)、打印機(jī)、路由或開關(guān)設(shè)備、或其它電子設(shè)備。系統(tǒng)800包括處理器820,其提供用于系統(tǒng)800的指令的處理、操作管理以及執(zhí)行。處理器820可以包括以下中的任何類型:微處理器、中央處理單元(cpu)、處理核、或提供用于系統(tǒng)800的處理的其它處理硬件。處理器820控制系統(tǒng)800的總操作,并且可以是或包括一個或多個可編程通用或?qū)S梦⑻幚砥?、?shù)字信號處理器(dsp)、可編程控制器、專用集成電路(asic)、可編程邏輯設(shè)備(pld)、或相似物、或這樣的設(shè)備的組合。
存儲器子系統(tǒng)830表示系統(tǒng)800的主存儲器,并且提供用于由處理器820所執(zhí)行的代碼或在執(zhí)行例程中使用的數(shù)據(jù)值的暫時性存儲。存儲器子系統(tǒng)830可以包括一個或多個存儲器設(shè)備例如,只讀存儲器(rom)、閃速存儲器、隨機(jī)存取存儲器(ram)中的一種或多種、或其它存儲器設(shè)備、或這樣的設(shè)備的組合。存儲器子系統(tǒng)830存儲并且此外托管操作系統(tǒng)(os)836以提供軟件平臺從而用于系統(tǒng)800中的指令的執(zhí)行。另外,其它指令838存儲在存儲器子系統(tǒng)830并且從存儲器子系統(tǒng)830中被執(zhí)行以提供系統(tǒng)800的邏輯和處理。os836和指令838由處理器820執(zhí)行。存儲器子系統(tǒng)830包括其中存儲了數(shù)據(jù)、指令、程序或其它項(xiàng)目的存儲器設(shè)備832。在一個實(shí)施例中,存儲器子系統(tǒng)包括存儲器控制器834,其是用于生成并且向存儲器設(shè)備832發(fā)出命令的存儲器控制器。將理解的是,存儲器控制器834可以是處理器820的物理部分。
處理器820和存儲器子系統(tǒng)830耦合到總線/總線系統(tǒng)810??偩€810是表示由適當(dāng)?shù)臉蚪悠?、適配器和/或控制器連接的任何一個或多個獨(dú)立的物理總線、通信線路/接口和/或點(diǎn)對點(diǎn)連接的抽象。因此,總線810可以包括例如以下中的一個或多個:系統(tǒng)總線、外圍部件互連標(biāo)準(zhǔn)(pci)總線、超傳輸或工業(yè)標(biāo)準(zhǔn)架構(gòu)(isa)總線、小型計算機(jī)系統(tǒng)接口(scsi)總線、通用串行總線(usb)、或電氣與電子工程師協(xié)會(ieee)標(biāo)準(zhǔn)1394總線(統(tǒng)稱為“火線”)??偩€810中的總線也可以與網(wǎng)絡(luò)接口850中的接口相對應(yīng)。
系統(tǒng)800也包括耦合到總線810的一個或多個輸入/輸出(i/o)接口840、網(wǎng)絡(luò)接口850、一個或多個內(nèi)部大容量存儲設(shè)備860以及外圍部件接口870。i/o接口840可以包括一個或多個接口部件,通過該接口部件用戶與系統(tǒng)800進(jìn)行交互(例如,視頻、音頻和/或字母數(shù)字接口)。網(wǎng)絡(luò)接口850向系統(tǒng)800提供通過一個或多個網(wǎng)絡(luò)與遠(yuǎn)程設(shè)備(例如,服務(wù)器、其它計算設(shè)備)通信的能力。網(wǎng)絡(luò)接口850可以包括以太網(wǎng)適配器、無線互聯(lián)部件、usb(通用串行總線)或其它基于有線或無線的標(biāo)準(zhǔn)或?qū)俚慕涌凇?/p>
存儲裝置860可以是或包括用于以非易失的方式存儲大量數(shù)據(jù)的任何傳統(tǒng)的介質(zhì),例如,一個或多個磁性、固態(tài)或基于光學(xué)的磁盤或組合。存儲裝置860以持續(xù)的狀態(tài)來保持(即,值被保留,即使系統(tǒng)800的電力中斷)代碼或指令和數(shù)據(jù)862。存儲裝置860通??梢员徽J(rèn)為是“存儲器”,盡管存儲器830是執(zhí)行或操作存儲器以向存儲器提供指令。盡管存儲裝置860是非易失性的,但是存儲器830可以包括易失性存儲器(即,如果系統(tǒng)800的電力中斷,則數(shù)據(jù)的值或狀態(tài)是不確定的)。
外圍部件接口870可以包括以上沒有具體說明的任何硬件接口。外圍部件通常指的是依賴性地連接到系統(tǒng)800的設(shè)備。依賴連接是其中系統(tǒng)800提供在其上執(zhí)行操作并且用戶與其交互的軟件和/或硬件平臺。
在一個實(shí)施例中,系統(tǒng)800包括加擾邏輯880。加擾邏輯880表示依據(jù)本文中描述的任何實(shí)施例的i/o控制器邏輯,其生成用于發(fā)送的加擾的信號并且/或?qū)邮盏男盘栠M(jìn)行解擾。加擾邏輯880可以是系統(tǒng)800的支持利用加擾的設(shè)備間通信的部件中的任何的部分。例如,存儲器832可以被配置為經(jīng)由支持加擾的互連來與存儲器控制器834進(jìn)行通信。由此,兩個設(shè)備可以包括加擾邏輯880。加擾邏輯880利用基于線性的技術(shù)來生成擾碼,并且以一個或多個額外的加擾操作來修改該代碼。操作可以包括但不限于:將非線性技術(shù)應(yīng)用到擾碼、將dbi應(yīng)用到擾碼、或應(yīng)用選擇性轉(zhuǎn)換以維持與代碼中的一些代碼與先前的代碼相同并且更新代碼的其它比特、或其組合。在每個情況中,最終的擾碼(即,修改的擾碼)可以提供少于50%的相對于先前周期的擾碼所生成的擾碼的切換。
圖9是其中利用可以實(shí)現(xiàn)改進(jìn)的擾碼進(jìn)行加擾的移動設(shè)備的實(shí)施例的方框圖。設(shè)備900表示移動計算設(shè)備,例如,計算平板、移動電話或智能電話、支持無線的電子閱讀器、可穿戴計算設(shè)備、或其它移動設(shè)備。將理解的是,通常顯示某些部件,而不是這種設(shè)備的所有部件都在裝置900中顯示。
設(shè)備900包括處理器910,其執(zhí)行設(shè)備900的主處理操作。處理器910可以包括一個或多個物理設(shè)備,例如,微處理器、應(yīng)用處理器、微控制器、可編程邏輯設(shè)備、或其它處理單元。由處理器910執(zhí)行的處理操作包括在其上執(zhí)行應(yīng)用設(shè)備功能和/或設(shè)備功能的操作平臺或操作系統(tǒng)的執(zhí)行。處理操作包括與人類用戶或其它設(shè)備的i/o(輸入/輸出)相關(guān)的操作、與功率管理相關(guān)的操作、和/或與將設(shè)備900連接到另一個設(shè)備相關(guān)的操作。處理操作也可以包括與音頻i/o和/或顯示i/o相關(guān)的操作。
在一個實(shí)施例中,設(shè)備900包括音頻子系統(tǒng)920,其表示與向計算設(shè)備提供音頻功能相關(guān)聯(lián)的硬件(例如,音頻硬件和音頻電路)和軟件(例如,驅(qū)動器、編碼譯碼器)部件。音頻功能可以包括揚(yáng)聲器和/或耳機(jī)輸出,以及麥克風(fēng)輸入。用于這樣的功能的設(shè)備可以集成到設(shè)備900內(nèi),或連接到設(shè)備900。在一個實(shí)施例中,通過提供由處理器910接收或處理的音頻命令,用戶與設(shè)備900進(jìn)行交互。
顯示子系統(tǒng)930表示向用戶提供視覺的和/或觸覺的顯示以與計算設(shè)備進(jìn)行交互的硬件(例如,顯示設(shè)備)和軟件(例如,驅(qū)動器)部件。顯示子系統(tǒng)930包括顯示接口932,其包括用于向用戶提供顯示的特定的屏幕或硬件設(shè)備。在一個實(shí)施例中,顯示接口932包括從處理器910分離的用于執(zhí)行與顯示相關(guān)的至少一些處理的邏輯。在一個實(shí)施例中,顯示子系統(tǒng)930包括向用戶提供輸出和輸入的觸摸屏設(shè)備。在一個實(shí)施例中,顯示子系統(tǒng)930包括向用戶提供輸出的高清晰度(hd)顯示器。高清晰度可以指的是具有大約100ppi(像素每英寸)或更高的像素密度的顯示器,并且可以包括諸如全高清晰度(例如,1080p)、視網(wǎng)膜顯示器、4k(超高清晰度或uhd)或其它的格式。
i/o控制器940表示與用戶的交互相關(guān)的硬件設(shè)備和軟件部件。i/o控制器940可以操作以管理是音頻子系統(tǒng)920和/或顯示子系統(tǒng)930的一部分的硬件。另外,i/o控制器940示出了連接到設(shè)備900的額外的設(shè)備的連接點(diǎn),用戶可以通過該連接點(diǎn)與系統(tǒng)進(jìn)行交互。例如,可以附接到設(shè)備900的設(shè)備可以包括麥克風(fēng)設(shè)備、揚(yáng)聲器或立體聲系統(tǒng)、視頻系統(tǒng)或其它顯示設(shè)備、鍵盤或按鍵設(shè)備、或與指定應(yīng)用(例如,讀卡器或其它設(shè)備)一起使用的其它i/o設(shè)備。
如上所述,i/o控制器940可以與音頻子系統(tǒng)920和/或顯示子系統(tǒng)930進(jìn)行交互。例如,通過麥克風(fēng)或其它音頻設(shè)備的輸入可以向設(shè)備900的一個或多個應(yīng)用或功能提供輸入或命令。另外,可以提供音頻輸出而不是顯示輸出,或除了顯示輸出以外可以提供音頻輸出。在另一示例中,如果顯示子系統(tǒng)包括觸摸屏,則顯示設(shè)備也起到輸入設(shè)備的作用,其至少部分地可以由i/o控制器940來管理。也可以在設(shè)備900上存在額外的按鈕或開關(guān)以提供由i/o控制器940管理的i/o功能。
在一個實(shí)施例中,i/o控制器940管理諸如加速度計、照相機(jī)、光傳感器或其它環(huán)境傳感器、陀螺儀、全球定位系統(tǒng)(gps)、或可以被包含在設(shè)備900中的其它硬件等的設(shè)備。輸入可以是直接用戶交互,以及向系統(tǒng)提供環(huán)境輸入以影響其操作(例如,針對噪聲的過濾、針對亮度檢測而調(diào)整顯示器、向攝像機(jī)應(yīng)用閃光燈、或其它特征)的部分。在一個實(shí)施例中,設(shè)備900包括管理電池電源使用、電池充電以及與省電操作相關(guān)的特征的電源管理950。
存儲器子系統(tǒng)960包括用于將信息存儲在設(shè)備900中的存儲器設(shè)備962。存儲器子系統(tǒng)960可以包括非易失性(如果存儲器設(shè)備的電源被中斷,則狀態(tài)不改變)和/或易失性(如果存儲器設(shè)備的電源被中斷,則狀態(tài)是不確定的)存儲設(shè)備。存儲器960可以存儲應(yīng)用數(shù)據(jù)、用戶數(shù)據(jù)、音樂、照片、文檔或其它數(shù)據(jù)、以及與系統(tǒng)900的應(yīng)用和功能的執(zhí)行相關(guān)的系統(tǒng)數(shù)據(jù)(無論是長期的或臨時的)。在一個實(shí)施例中,存儲器子系統(tǒng)960包括存儲器控制器964(其也可以被認(rèn)為是系統(tǒng)900的控件的部分,并且可以潛在地被認(rèn)為是處理器910的部分)。存儲器控制器964包括用于生成命令并且將命令發(fā)出到存儲器設(shè)備962的調(diào)度程序。
連通性970包括硬件設(shè)備(例如,無線和/或有線連接器和通信硬件)和軟件部件(例如,驅(qū)動器、協(xié)議棧),以使設(shè)備900能夠與外部設(shè)備進(jìn)行通信。外部設(shè)備可以是諸如其它計算設(shè)備、無線接入點(diǎn)、或基站的單獨(dú)的設(shè)備、以及諸如耳機(jī)、打印機(jī)或其它設(shè)備的外圍設(shè)備等。
連通性970可以包括多個不同類型的連通性。概括而言,裝置900被示出有蜂窩連通性972和無線連通性974。蜂窩連通性972通常指的是無線載波提供的例如經(jīng)由以下所提供的蜂窩網(wǎng)絡(luò)連通性:gsm(全球移動通信系統(tǒng))或變形或衍生物、cdma(碼分多址)或變形或衍生物、tdm(時分復(fù)用)或變形或衍生物、lte(長期演進(jìn),也稱為“4g”)、或其它蜂窩服務(wù)標(biāo)準(zhǔn)。無線連通性974指的是非蜂窩的無線連接并且可以包括個域網(wǎng)(例如,藍(lán)牙)、局域網(wǎng)(例如,wifi)和/或廣域網(wǎng)(例如,wimax)、或其它無線通信。無線通信指的是通過使用調(diào)制的電磁輻射通過非固體介質(zhì)來傳輸數(shù)據(jù)。有線通信通過固體通信介質(zhì)發(fā)生。
外圍連接980包括硬件接口和連接器,以及軟件部件(例如,驅(qū)動器、協(xié)議棧)以用于進(jìn)行外圍連接。將會理解的是,設(shè)備900可以是到其它計算設(shè)備(“接出”982)的外圍設(shè)備,并且具有連接到它(“接入”984)的外圍設(shè)備。設(shè)備900通常具有“對接”連接器以連接到其它計算設(shè)備從而用于例如管理(例如,下載和/或上傳、改變、同步)設(shè)備900上的內(nèi)容的目的。另外,對接連接器可以允許設(shè)備900連接到某些外圍設(shè)備,所述某些外圍設(shè)備允許設(shè)備900控制內(nèi)容輸出例如到視聽或其它系統(tǒng)。
除了專屬對接連接器或其它專屬連接硬件之外,設(shè)備900可以經(jīng)由通用或基于標(biāo)準(zhǔn)的連接器來進(jìn)行外圍連接980。通用的類型可以包括通用串行總線(usb)連接器(其可以包括許多不同硬件接口中的任何一個)、顯示端口包括微型顯示端口(mdp)、高清晰度多媒體接口(hdmi)、火線或其它類型。
在一個實(shí)施例中,系統(tǒng)900包括加擾邏輯912。加擾邏輯912表示依據(jù)本文中描述的任何實(shí)施例的i/o控制器邏輯以生成用于發(fā)送的加擾信號和/或解擾接收的信號。加擾邏輯912可以是系統(tǒng)900的支持具有加擾的設(shè)備間通信的部件中的任何一個的部分。例如,存儲器962可以被配置為經(jīng)由支持加擾的互連與存儲器控制器964進(jìn)行通信。由此,兩個設(shè)備都可以包括加擾邏輯912。加擾邏輯912利用基于線性的技術(shù)生成擾碼,并且利用一個或多個額外的加擾操作來修改該代碼。這些操作可以包括但不限于將非線性技術(shù)應(yīng)用到擾碼、將dbi應(yīng)用到擾碼、或應(yīng)用選擇性轉(zhuǎn)換以維持代碼中的一些代碼與先前的代碼相同并且更新代碼的其它比特、或其組合。在每種情況下,最終的擾碼(即,修改的擾碼)可以提供少于50%的相對于先前周期的擾碼所生成的擾碼的切換。
在一方面,一種用于信號加擾的方法包括:生成線性反饋擾碼,所述擾碼包括x個比特;應(yīng)用第二加擾操作以選擇性地改變所述擾碼的比特從而生成修改的擾碼,所述修改的擾碼使得少于加擾的輸出比特的一半的比特相對于先前加擾的輸出被切換;以及將所述修改的擾碼應(yīng)用到檢測的信號以用于在主機(jī)控制器和存儲器設(shè)備之間進(jìn)行交換從而生成輸出。
在一個實(shí)施例中,生成所述線性反饋擾碼包括:生成線性反饋移位寄存器(lfsr)代碼以用于所述信號。在一個實(shí)施例中,應(yīng)用所述第二加擾操作進(jìn)一步包括:應(yīng)用非線性加擾操作。在一個實(shí)施例中,應(yīng)用非線性加擾操作包括:應(yīng)用所述非線性加擾操作包括:執(zhí)行所述擾碼的比特重映射以選擇性地改變所述x個比特中的一些。在一個實(shí)施例中,應(yīng)用所述第二加擾操作進(jìn)一步包括:將動態(tài)總線倒置(dbi)應(yīng)用到所述擾碼。在一個實(shí)施例中,應(yīng)用所述第二加擾操作進(jìn)一步包括:應(yīng)用所述擾碼的選擇的比特的選擇性轉(zhuǎn)換。在一個實(shí)施例中,應(yīng)用所述選擇的比特的選擇性轉(zhuǎn)換包括:切換所述擾碼的偶數(shù)通道或奇數(shù)通道。在一個實(shí)施例中,將所述第二加擾操作應(yīng)用到所述擾碼進(jìn)一步包括:應(yīng)用非線性加擾操作、所述線性加擾輸出的選擇的比特的選擇性轉(zhuǎn)換以及dbi中的兩個或更多個的組合。在一個實(shí)施例中,將所述第二加擾操作應(yīng)用到所述擾碼進(jìn)一步包括:將一個或多個第二加擾操作連續(xù)地應(yīng)用到單個擾碼以生成多個連續(xù)的修改的擾碼。在一個實(shí)施例中,將所述修改的擾碼應(yīng)用到所述檢測的信號包括:將所述修改的擾碼應(yīng)用到包括命令和地址信息的檢測的信號。在一個實(shí)施例中,將所述修改的擾碼應(yīng)用到所述檢測的信號進(jìn)一步包括:將所述x個比特的擾碼劃分為擾碼的n個子集,所述擾碼的每個子集具有少于x個比特的比特,并且選擇性地將所述擾碼的n個子集應(yīng)用到多個xor塊以根據(jù)所述n個子集的比特的選擇的組合來生成修改的擾碼,從而將所述修改的擾碼應(yīng)用到具有多于x個比特的信號。在一個實(shí)施例中,將所述x個比特的擾碼劃分為擾碼的n個子集進(jìn)一步包括:將所述x個比特的擾碼劃分為兩個(x/2)比特的擾碼,并將所述兩個(x/2)比特的擾碼應(yīng)用到多個xor塊以將所述擾碼應(yīng)用到具有多于x個比特的信號。在一個實(shí)施例中,將所述修改的擾碼應(yīng)用到所述檢測的信號進(jìn)一步包括:將所述x個比特的擾碼劃分為多個擾碼段,所述每個擾碼段具有少于x個比特的比特,其中所述擾碼段中的至少兩個具有不同數(shù)量的比特,并且將所述多個擾碼段應(yīng)用到多個xor塊以將所述擾碼應(yīng)用到所述檢測的信號。在一個實(shí)施例中,將所述修改的擾碼應(yīng)用到所述檢測的信號進(jìn)一步包括:將所述x個比特的擾碼劃分為擾碼的n個子集,所述擾碼的每個子集具有少于x個比特的比特,并且選擇性地將所述擾碼的n個子集應(yīng)用到多個xor塊以根據(jù)所述n個子集的比特的選擇的組合來生成修改的擾碼,從而將所述修改的擾碼應(yīng)用到具有少于x個比特的信號。在一個實(shí)施例中,所述存儲器設(shè)備包括非易失性存儲器設(shè)備。在一個實(shí)施例中,所述存儲器設(shè)備包括易失性存儲器設(shè)備。在一個實(shí)施例中,將所述修改的擾碼應(yīng)用到所述檢測的信號包括:應(yīng)用所述修改的擾碼來對要在所述主機(jī)控制器與所述存儲器設(shè)備之間發(fā)送的信號進(jìn)行加擾。在一個實(shí)施例中,應(yīng)用所述修改的擾碼來對用于發(fā)送的所述信號進(jìn)行加擾包括:在所述主機(jī)控制器處應(yīng)用所述修改的擾碼來對要被并行地發(fā)送到耦合到所述主機(jī)控制器的多個存儲器設(shè)備的所述信號進(jìn)行加擾。在一個實(shí)施例中,將所述修改的擾碼應(yīng)用到所述檢測的信號包括:應(yīng)用所述修改的擾碼來對在所述主機(jī)控制器與所述存儲器設(shè)備之間發(fā)送的信號進(jìn)行解擾。
在一方面,一種加擾器電路包括:線性反饋移位寄存器(lfsr),其用于生成x個比特的擾碼;加擾邏輯塊,其用于選擇性地切換所述x個比特的擾碼以生成修改的擾碼,所述修改的擾碼使得少于所述加擾的輸出比特一半的比特相對于先前加擾的輸出被切換;以及信號組合電路,其用于應(yīng)用所述修改的擾碼來對z個比特的發(fā)送信號進(jìn)行加擾從而輸出到接收設(shè)備,其中z等于或大于x。
在一個實(shí)施例中,所述加擾邏輯塊應(yīng)用非線性加擾操作。在一個實(shí)施例中,所述加擾邏輯塊執(zhí)行所述擾碼的比特重映射以選擇性地改變所述x個比特中的一些。在一個實(shí)施例中,所述加擾邏輯塊將動態(tài)總線倒置(dbi)應(yīng)用到所述擾碼。在一個實(shí)施例中,所述加擾邏輯塊應(yīng)用所述擾碼的選擇比特的選擇性轉(zhuǎn)換。在一個實(shí)施例中,所述加擾邏輯塊切換所述擾碼的偶數(shù)通道或奇數(shù)通道。在一個實(shí)施例中,所述加擾邏輯塊應(yīng)用非線性加擾操作、線性加擾輸出的選擇的比特的選擇性轉(zhuǎn)換以及dbi中的兩個或更多個的組合。在一個實(shí)施例中,所述加擾邏輯塊連續(xù)地將一個或多個第二加擾操作應(yīng)用到單個擾碼,以生成多個連續(xù)的修改的擾碼。在一個實(shí)施例中,所述加擾邏輯塊將所述修改的擾碼應(yīng)用到包括命令和地址信息的信號。在一個實(shí)施例中,其中z大于x,并且其中所述信號組合電路通過以下來應(yīng)用修改的擾碼:將所述x個比特的擾碼劃分為擾碼的n個子集,所述每個子集具有少于x的比特,并且選擇性地將所述擾碼的n個子集應(yīng)用到多個xor塊以根據(jù)所述n個子集的比特的選擇的組合來生成修改的擾碼,從而將所述修改的擾碼應(yīng)用到具有多于x個比特的信號。在一個實(shí)施例中,所述信號組合電路通過以下來應(yīng)用修改的擾碼:將所述x個比特的擾碼劃分為兩個(x/2)比特的擾碼,并且將所述兩個(x/2)比特的擾碼應(yīng)用到多個xor塊以將所述擾碼應(yīng)用到具有多于x個比特的信號。在一個實(shí)施例中,所述信號組合電路通過以下來應(yīng)用修改的擾碼:將所述x個比特的擾碼劃分為多個擾碼段,所述每段具有少于x的比特,其中所述擾碼段中的至少兩個具有不同數(shù)量的比特,并且將所述多個擾碼段應(yīng)用到多個xor塊,以將所述擾碼應(yīng)用到所述輸出信號。在一個實(shí)施例中,其中z小于x,并且其中所述信號組合電路通過以下來應(yīng)用修改的擾碼:將所述x個比特的擾碼劃分為擾碼的n個子集,所述每個子集具有少于x的比特,并且選擇性地將所述擾碼的n個子集應(yīng)用到多個xor塊,以根據(jù)所述n個子集的比特的選擇的組合來生成修改的擾碼,從而將所述修改的擾碼應(yīng)用到具有少于x個比特的信號。在一個實(shí)施例中,所述存儲器設(shè)備包括非易失性存儲器設(shè)備。在一個實(shí)施例中,所述存儲器設(shè)備包括易失性存儲器設(shè)備。在一個實(shí)施例中,所述信號組合電路應(yīng)用所述修改的擾碼包括:應(yīng)用所述修改的擾碼來對要在所述主機(jī)控制器與所述存儲器設(shè)備之間發(fā)送的信號進(jìn)行加擾。在一個實(shí)施例中,所述信號組合電路應(yīng)用所述修改的擾碼包括:在所述主機(jī)控制器處應(yīng)用所述修改的擾碼,來對并行地被發(fā)送到耦合到所述主機(jī)控制器的多個存儲器設(shè)備的所述信號進(jìn)行加擾。在一個實(shí)施例中,所述信號組合電路應(yīng)用所述修改的擾碼包括:應(yīng)用所述修改的擾碼來對從所述存儲器設(shè)備被發(fā)送到所述存儲器控制器的信號進(jìn)行加擾。
在一方面,一種解擾器電路包括:線性反饋移位寄存器(lfsr),其用于生成x個比特的擾碼;加擾邏輯塊,其用于選擇性地切換所述擾碼的比特以生成修改的擾碼,所述修改的擾碼使得少于所述加擾輸出比特的一半的比特相對于先前加擾的輸出被切換;以及信號組合電路,其用于應(yīng)用所述修改的擾碼來對從發(fā)送設(shè)備接收的z個比特的接收信號進(jìn)行解擾,其中z等于或大于x。
在一個實(shí)施例中,所述加擾邏輯塊應(yīng)用非線性加擾操作。在一個實(shí)施例中,所述加擾邏輯塊執(zhí)行所述擾碼的比特重映射以選擇性地改變所述x個比特中的一些。在一個實(shí)施例中,所述加擾邏輯塊將動態(tài)總線倒置(dbi)應(yīng)用到所述擾碼。在一個實(shí)施例中,所述加擾邏輯塊應(yīng)用所述擾碼的選擇比特的選擇性轉(zhuǎn)換。在一個實(shí)施例中,所述加擾邏輯塊切換所述擾碼的偶數(shù)通道或奇數(shù)通道。在一個實(shí)施例中,所述加擾邏輯塊應(yīng)用非線性加擾操作、線性加擾輸出的選擇的比特的選擇性轉(zhuǎn)換以及dbi中的兩個或更多個的組合。在一個實(shí)施例中,所述加擾邏輯塊連續(xù)地將一個或多個第二加擾操作應(yīng)用到單個擾碼,以生成多個連續(xù)的修改的擾碼。在一個實(shí)施例中,所述加擾邏輯塊將所述修改的擾碼應(yīng)用到包括命令和地址信息的信號。在一個實(shí)施例中,其中z大于x,并且其中所述信號組合電路通過以下來應(yīng)用修改的擾碼:將所述x個比特的擾碼劃分為擾碼的n個子集,所述每個子集具有少于x的比特,并且選擇性地將所述擾碼的n個子集應(yīng)用到多個xor塊以根據(jù)所述n個子集的比特的選擇的組合來生成修改的擾碼,從而將所述修改的擾碼應(yīng)用到具有多于x個比特的信號。在一個實(shí)施例中,所述信號組合電路通過以下來應(yīng)用修改的擾碼:將所述x個比特的擾碼劃分為兩個(x/2)比特的擾碼,并且將所述兩個(x/2)比特的擾碼應(yīng)用到多個xor塊以將所述擾碼應(yīng)用到具有多于x個比特的信號。在一個實(shí)施例中,所述信號組合電路通過以下來應(yīng)用修改的擾碼:將所述x個比特的擾碼劃分為多個擾碼段,所述每段具有少于x的比特,其中所述擾碼段中的至少兩個具有不同數(shù)量的比特,并且將所述多個擾碼段應(yīng)用到多個xor塊,以將所述擾碼應(yīng)用到所述接收的信號。在一個實(shí)施例中,其中z小于x,并且其中所述信號組合電路通過以下來應(yīng)用修改的擾碼:將所述x個比特的擾碼劃分為擾碼的n個子集,所述每個子集具有少于x的比特,并且選擇性地將所述擾碼的n個子集應(yīng)用到多個xor塊,以根據(jù)所述n個子集的比特的選擇的組合來生成修改的擾碼,從而將所述修改的擾碼應(yīng)用到具有少于x個比特的信號。在一個實(shí)施例中,所述存儲器設(shè)備包括非易失性存儲器設(shè)備。在一個實(shí)施例中,所述存儲器設(shè)備包括易失性存儲器設(shè)備。在一個實(shí)施例中,所述信號組合電路應(yīng)用所述修改的擾碼包括:應(yīng)用所述修改的擾碼來對所接收的在所述主機(jī)控制器與所述存儲器設(shè)備之間交換的信號進(jìn)行解擾。在一個實(shí)施例中,所述信號組合電路應(yīng)用所述修改的擾碼包括:在所述主機(jī)控制器處應(yīng)用所述修改的擾碼,來對所接收的在所述存儲器設(shè)備處被加擾的信號進(jìn)行解擾。在一個實(shí)施例中,所述信號組合電路應(yīng)用所述修改的擾碼包括:應(yīng)用所述修改的擾碼來對在所述存儲器設(shè)備處所接收的信號進(jìn)行解擾。
在一方面,一種具有存儲器子系統(tǒng)的電子設(shè)備包括:存儲器控制器,其具有加擾器電路,所述加擾器電路包括:線性反饋移位寄存器(lfsr),其用于在所述存儲器控制器處生成x個比特的擾碼;加擾邏輯塊,其用于選擇性地切換所述擾碼的比特以生成修改的擾碼,所述修改的擾碼使得少于加擾的輸出比特的一半的比特相對于來自所述加擾器電路的先前加擾的輸出被切換;以及信號組合電路,其用于應(yīng)用所述修改的擾碼來對z個比特的發(fā)送信號進(jìn)行加擾以輸出到存儲器設(shè)備,其中z等于或大于x;輸入/輸出(i/o)接口,其耦合到所述存儲器控制器;以及存儲器設(shè)備,其通過所述i/o接口耦合到所述存儲器控制器,所述存儲器設(shè)備具有加擾器電路,所述加擾器電路包括:線性反饋移位寄存器(lfsr),其用于在所述存儲器設(shè)備處生成所述x個比特的擾碼;加擾邏輯塊,其用于選擇性地切換所述x個比特的擾碼的比特以生成修改的擾碼,所述修改的擾碼使得少于所述加擾的輸出比特的一半的比特相對于先前加擾的輸出被切換;信號組合電路,其用于應(yīng)用所述修改的擾碼來對從所述存儲器控制器接收的所述z個比特的接收信號進(jìn)行解擾;以及觸摸屏顯示器,其被耦合以基于從所述存儲器設(shè)備所存取的數(shù)據(jù)來生成顯示。參考加擾器描述的任何實(shí)施例可以應(yīng)用到電子設(shè)備。參考解擾器描述的任何實(shí)施例可以應(yīng)用到電子設(shè)備。
在一方面,制品包括:具有在其上存儲的內(nèi)容的計算機(jī)可讀存儲介質(zhì),其被訪問時使得計算設(shè)備執(zhí)行用于信號加擾的操作,包括:生成線性反饋擾碼,所述擾碼包括x個比特;應(yīng)用第二加擾操作以選擇性地改變所述擾碼的比特以生成修改的擾碼,所述修改的擾碼使得少于加擾的輸出比特的一半的比特相對于先前加擾的輸出被切換;并且將所述修改的擾碼應(yīng)用到檢測的信號以用于在主機(jī)控制器和存儲器設(shè)備之間進(jìn)行交換從而生成輸出。參考用于信號加擾的方法描述的任何實(shí)施例也可以應(yīng)用到所述制品。
在一方面,一種用于信號加擾的裝置,包括:用于生成線性反饋擾碼的單元,所述線性反饋擾碼包括x個比特;用于應(yīng)用第二加擾操作以選擇性地改變所述擾碼的比特從而生成修改的擾碼的單元,所述修改的擾碼使得少于所述加擾的輸出比特的一半的比特相對于先前加擾的輸出被切換;以及用于將所述修改的擾碼應(yīng)用到檢測的信號以用于在主機(jī)控制器和存儲器設(shè)備之間進(jìn)行交換從而生成輸出的單元。參考用于所述信號加擾的方法描述的任何實(shí)施例也可應(yīng)用到所述裝置。
如本文中所示的流程圖提供了多種處理動作的序列的示例。流程圖可以指示由軟件或固件例程執(zhí)行的操作以及物理操作。在一個實(shí)施例中,流程圖可以示出有限狀態(tài)機(jī)(fsm)的狀態(tài),其可以以硬件和/或軟件的方式被實(shí)現(xiàn)。盡管以特定的序列或順序被顯示,除非另有說明,否則可以修改動作的順序。由此,所示出的實(shí)施例僅應(yīng)該被理解為示例,并且可以以不同的順序執(zhí)行過程,并且可以并行地執(zhí)行一些動作。另外,在多種實(shí)施例中可以省略一個或多個動作;由此,在每個實(shí)施例中并不需要所有動作。其它過程流程是可能的。
至于在本文中描述的多種操作或功能,它們可以被描述或定義為軟件代碼、指令、配置和/或數(shù)據(jù)。內(nèi)容可以是直接可執(zhí)行文件(“對象”或“可執(zhí)行”形式)、源代碼或差分代碼(“delta”或“patch”代碼)。本文中描述的實(shí)施例的軟件內(nèi)容可以經(jīng)由其上存儲有內(nèi)容的制品來提供,或經(jīng)由操作通信接口以經(jīng)由通信接口發(fā)送數(shù)據(jù)的方法來提供。機(jī)器可讀存儲介質(zhì)可以使得機(jī)器執(zhí)行所述功能或操作,并且包括以機(jī)器(例如,計算設(shè)備、電子系統(tǒng)等)可訪問形式存儲信息的任何機(jī)制,例如,可記錄/不可記錄的介質(zhì)(例如,只讀存儲器(rom)、隨機(jī)存取存儲器(ram)、磁盤存儲介質(zhì)、光學(xué)存儲介質(zhì)、閃存設(shè)備等)。通信接口包括連接到硬連線、無線、光學(xué)等介質(zhì)中的任何一種以與另一設(shè)備進(jìn)行通信的任何機(jī)制,例如,存儲器總線接口、處理器總線接口、因特網(wǎng)連接、磁盤控制器等??梢酝ㄟ^提供配置參數(shù)和/或發(fā)送信號以準(zhǔn)備通信接口從而提供描述軟件內(nèi)容的數(shù)據(jù)信號來配置通信接口??梢越?jīng)由發(fā)送到通信接口的一個或多個命令或信號,來訪問通信接口。
本文中描述的多種部件可以是用于執(zhí)行所述的操作或功能的單元。本文中描述的每個部件包括軟件、硬件或其組合。部件可以被實(shí)現(xiàn)為軟件模塊、硬件模塊、專用硬件(例如,應(yīng)用專用硬件、專用集成電路(asic)、數(shù)字信號處理器(dsp)等)、嵌入式控制器、硬連線電路系統(tǒng)等。
除了本文中描述的內(nèi)容之外,可以對本發(fā)明所公開的實(shí)施例和實(shí)現(xiàn)進(jìn)行多種修改,而不脫離其范圍。因此,本文中的說明和示例應(yīng)當(dāng)被解釋為說明性的而不是限制性的含義。本發(fā)明的范圍應(yīng)當(dāng)僅通過參考以下權(quán)利要求來判定。