TW201636861A - 具有經改良的信號完整性之較低功率拌碼技術 - Google Patents

具有經改良的信號完整性之較低功率拌碼技術 Download PDF

Info

Publication number
TW201636861A
TW201636861A TW104139408A TW104139408A TW201636861A TW 201636861 A TW201636861 A TW 201636861A TW 104139408 A TW104139408 A TW 104139408A TW 104139408 A TW104139408 A TW 104139408A TW 201636861 A TW201636861 A TW 201636861A
Authority
TW
Taiwan
Prior art keywords
code
applying
signal
modified
bits
Prior art date
Application number
TW104139408A
Other languages
English (en)
Other versions
TWI579703B (zh
Inventor
怡倫 張
榮漢 黃
克里斯多佛P 莫札克
布萊恩R 麥克法蘭
Original Assignee
英特爾公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 英特爾公司 filed Critical 英特爾公司
Publication of TW201636861A publication Critical patent/TW201636861A/zh
Application granted granted Critical
Publication of TWI579703B publication Critical patent/TWI579703B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Storage Device Security (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Information Transfer Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Communication Control (AREA)

Abstract

一種I/O介面支援拌碼,其中該拌碼可包括該拌碼代碼之非線性拌碼,或該拌碼代碼之動態匯流排反轉,或該拌碼代碼該選定位元之選擇性切換,或此等者之組合。發射裝置包括拌碼器,且接收裝置包括解拌碼器。拌碼器及解拌碼器兩者產生線性反饋拌碼代碼,該線性反饋拌碼代碼藉由應用以上提及技術的一或多種技術來修改。經修改的拌碼代碼可引起少於一半之該等經拌碼的輸出位元相對於先前經拌碼的輸出獲雙態觸變。該拌碼器將經修改的拌碼代碼應用於要發射的信號。該解拌碼器將經修改的拌碼代碼應用於接收信號。

Description

具有經改良的信號完整性之較低功率拌碼技術 發明領域
本發明之實施例總體上係關於裝置間通訊,且更特定而言係關於I/O(輸入/輸出)介面上的具有較低功率及經改良的信號完整性之拌碼。
版權聲明/許可
本專利文獻之揭示內容之部分可能含有受版權保護之材料。版權所有人在專利文獻或專利揭示內容出現在專利商標局的專利檔案或記錄中時不反對任何人對其之複製,但在其他情況下無論如何都保留所有版權權利。版權聲明適用於如以下所描述之所有資料,且在本文所附的隨附圖式中適用,並且適用於以下所描述之任何軟體:版權©2014,英特爾公司,保留所有權利。
發明背景
計算裝置包括許多藉由裝置間介面或連接耦接的積體電路組件。隨著裝置大小減小,軌對軌電壓減小且操作及通訊頻率增加,電磁效應對裝置間通訊具有增加的效應。裝置間通訊之真實世界實行方案常常由於電力供應 雜訊及電磁干擾而遭遇信號完整性問題。拌碼代碼可藉由改變裝置間通訊之位元型樣以減少電磁耦合效應而減少電力供應雜訊及電磁干擾之負面效應。
然而,尤其由於裝置大小持續減小且在行動裝置中得多更多使用,拌碼之功率消耗相對於總體功率預算而言可為顯著的。拌碼傳統上應用代碼來達成自一種傳輸至下一傳輸的大致50%雙態觸變。如將會理解的,頻繁雙態觸變產生比不頻繁雙態觸變顯著更多的動態功率消耗。因此,在應用拌碼與以增加裝置間通訊功率消耗為代價來維持信號完整性的頻繁雙態觸變之間存在緊張關係(tension)。另外,傳統拌碼係基於線性變換,此線性變換可引起非所欲跨道及/或跨循環相關。跨道相關係指相鄰信號線之間的相關。跨循環相關係指連序發射的信號之間的相關。相鄰信號線及/或連序信號之間的相關可導致增加的電磁干擾。
依據本發明之一實施例,係特地提出一種用於信號拌碼之方法,其包含:產生一線性反饋拌碼代碼,該拌碼代碼包括X個位元;應用一第二拌碼操作以選擇性地改變該拌碼代碼之位元以產生一經修改的拌碼代碼,致使相對於一先前經拌碼輸出而言少於一半之該等經拌碼輸出位元被雙態觸變;以及將該經修改的拌碼代碼應用於一偵測信號以供在一主機控制器與一記憶體裝置之間交換來產生一輸出。
100、200、800‧‧‧系統
102‧‧‧主機
110、210‧‧‧主機控制器
112‧‧‧發射器(TX)資料路徑/TX
114‧‧‧接收器(RX)資料路徑/RX
116‧‧‧控制邏輯
120、230‧‧‧記憶體裝置
122‧‧‧TX路徑
124‧‧‧RX路徑
126‧‧‧裝置控制
128‧‧‧儲存媒體
130‧‧‧互連
212、232‧‧‧TX
214、234‧‧‧RX
220、240、940‧‧‧I/O控制器
222、242‧‧‧拌碼器
224、226、244、246‧‧‧組合邏輯/組件
228、248‧‧‧解拌碼器
300‧‧‧處理
302~320、602~620、702~720‧‧‧步驟
400‧‧‧電路/拌碼器
402、502‧‧‧並行LFSR/LFSR
404、504‧‧‧重排序邏輯
406、506‧‧‧重對映邏輯
408、412、508、512‧‧‧正反器
410、510‧‧‧DBI邏輯/DBI
414、514‧‧‧選擇性切換器
416、516‧‧‧代碼產生器
418、518‧‧‧組合器
420、520‧‧‧區塊
500‧‧‧電路/解拌碼器
600‧‧‧信號拌碼過程
700‧‧‧信號去拌碼過程
810‧‧‧匯流排/匯流排系統
820、910‧‧‧處理器
830、960‧‧‧記憶體子系統
832、962‧‧‧記憶體裝置/記憶體
834、964‧‧‧記憶體控制器
836‧‧‧作業系統/OS
838‧‧‧指令
840‧‧‧輸入/輸出(I/O)介面/I/O介面
850‧‧‧網路介面
860‧‧‧內部大容量儲存裝置/儲存器
862‧‧‧代碼或指令及資料
870‧‧‧周邊介面
880、912‧‧‧拌碼邏輯
900‧‧‧裝置
920‧‧‧音訊子系統
930‧‧‧顯示子系統
932‧‧‧顯示介面
950‧‧‧電力管理
970‧‧‧連接性
972‧‧‧蜂巢式連接性
974‧‧‧無線連接性
980‧‧‧周邊連接
982‧‧‧至
984‧‧‧自
以下描述包括對對圖式之論述,該等圖式具有藉助於本發明之實施例的實行方案之實例給出的圖解。應藉由實例之方式而非藉由限制之方式理解圖式。如本文所使用,對一或多個「實施例」之提及將理解為描述包括於本發明之至少一個實行方案中的特定特徵、結構及/或特性。因此,諸如出現在本文中的「在一個實施例中」或「在一替代實施例中」的片語描述本發明之各種實施例及實行方案,且未必全部係指同一實施例。然而,該等片語亦未必為互相排斥的。
圖1為系統之實施例的方塊圖,其中發射裝置及接收裝置兩者皆包括拌碼電路及解拌碼電路。
圖2為系統之實施例的方塊圖,該系統利用經改良的拌碼代碼支援通訊介面之兩端處的拌碼及去拌碼。
圖3為用於利用經改良的拌碼代碼實行拌碼之過程之實施例的流程圖。
圖4為系統之實施例的方塊圖,該系統支援包括非線性拌碼代碼、選擇性應用的DBI及選擇性代碼過濾之拌碼。
圖5為系統之實施例的方塊圖,該系統支援包括非線性拌碼代碼、選擇性應用的DBI及選擇性代碼過濾之去拌碼。
圖6為用於實行拌碼之過程之實施例的流程圖,該過程包括提供非線性拌碼代碼,或選擇性應用的DBI,或 選擇性代碼過濾。
圖7為用於實行去拌碼之過程之實施例的流程圖,該過程包括提供非線性拌碼代碼,或選擇性應用的DBI,或選擇性代碼過濾。
圖8為計算系統之實施例的方塊圖,可於該計算系統中實行利用經改良的拌碼代碼之拌碼。
圖9為行動裝置之實施例的方塊圖,可於該行動裝置中實行利用經改良的拌碼代碼之拌碼。
以下為某些細節及實行方案之描述,包括對圖式之描述,該等圖式可描繪以下所描述之實施例中之一些或全部,並且論述本文呈現之發明性概念之其他潛在實施例或實行方案。
較佳實施例之詳細說明
如本文所述,I/O介面支援基於經改良的拌碼代碼之更穩固及更為功率有效的拌碼。在一個實施例中,拌碼代碼可包括非線性拌碼,或動態匯流排反轉,或選定位元之選擇性切換,或此等者之組合。發射裝置包括拌碼器,且接收裝置包括解拌碼器。拌碼器及解拌碼器兩者產生線性反饋拌碼代碼,該線性反饋拌碼代碼藉由應用以上針對經改良的拌碼代碼所提及的一或多種技術來修改。經修改的拌碼代碼可引起少於一半的經拌碼的輸出位元相對於先前經拌碼的輸出而雙態觸變。拌碼器將經修改的拌碼代碼應用於要發射的信號。解拌碼器將經修改的拌碼代碼應用 於接收信號。
應理解,在發射器處具有拌碼器及在接收器處具有解拌碼器將需要拌碼器及解拌碼器之同步,以確保解拌碼器使用由拌碼器使用的同一或互補代碼來恰當地提取發射信號。在一個實施例中,拌碼器及解拌碼器兩者遵循代碼或代碼產生操作之一型樣或演算法。因此,該拌碼器及解拌碼器自一個代碼同度增量或移動至下一代碼。在一個實施例中,拌碼器及解拌碼器經由其之間的通訊介面上之命令或另一信號來保持同步。在一個實施例中,拌碼器及解拌碼器兩者進行拌碼代碼操作,該等操作可包括非線性拌碼,或動態匯流排反轉(DBI),或選定位元之選擇性切換,或此等者之組合。傳統拌碼僅在資料匯流排上操作。在一個實施例中,如本文所述的拌碼可應用於資料匯流排。如本文所述的拌碼亦可應用於針對記憶體子系統之命令及/或位址資訊。
在一個實施例中,提供拌碼代碼之非線性可改良信號完整性,且減少裝置間互連上的電磁干擾。裝置間互連包括自一個積體電路至另一積體電路的介面。在一個實施例中,積體電路為單獨封裝之部分。在一個實施例中,積體電路為一起整合在多晶片封裝中的單獨晶片之部分。非線性拌碼代碼可減少跨道相關及跨循環相關。DBI之使用可減少用於應用拌碼的功率之量。選擇性切換之使用亦可減少用於應用拌碼的功率之量。DBI可應用於減少自一個循環至下一循環的雙態觸變之數目。因此,將DBI應用於拌碼 代碼可減少拌碼代碼中雙態觸變之數目,相對於不使用DBI的拌碼應用而言降低功率消耗。選擇性切換可自一個循環至下一循環將一或多個訊道或信號線選擇性地保持恆定,從而亦減少雙態觸變之數目,該等雙態觸變將在其他情況下於傳統拌碼代碼產生中發生。此等技術中之任何一或多者可減少雙態觸變之數目,從而允許拌碼代碼在信號線上產生小於50%之雙態觸變率。
本文中之描述提及諸多實例,該等實例包括針對經由互連或經由主機或記憶體控制器與記憶體裝置之間的通訊介面進行交換的拌碼通訊。在一個實施例中,針對I/O(輸入/輸出)介面而非耦接至記憶體裝置之介面來進行本文中之任何實施例所描述的拌碼/解拌碼。因此,拌碼代碼產生可針對裝置間通訊而非針對記憶體裝置來進行。
對記憶體裝置之提及可適用於不同記憶體類型。記憶體裝置通常係指依電性記憶體技術。依電性記憶體為在去往裝置之電力中斷的情況下狀態(及因此儲存於記憶體上之資料)不確定的記憶體。動態依電性記憶體需要再新儲存於裝置上之資料以維持狀態。動態依電性記憶體之一實例包括DRAM(動態隨機存取記憶體)或諸如同步DRAM(SDRAM)的一些變體。如本文所描述之記憶體子系統可與若干記憶體技術相容,該等記憶體技術諸如DDR3(雙重資料速率版本3,2007年6月27日由JEDEC(電子裝置工程設計聯合委員會)進行的原始發佈、當前發佈21)、DDR4(DDR版本4,由JEDEC在2012年9月公佈的初始規 範)、LPDDR3(低電力DDR版本3,JESD209-3B,JEDEC 2013年8月)、LPDDR4(低電力雙重資料速率(LPDDR)版本4,JESD209-4,最初由JEDEC在2014年8月公佈)、WIO2(寬I/O 2(WideIO2),JESD229-2,最初由JEDEC在2014年8月公佈)、HBM(高帶寬記憶體DRAM,JESD235,最初由JEDEC在2013年10月公佈)、DDR5(DDR版本5,當前在JEDEC討論中)、LPDDR5(當前在JEDEC討論中)、WIO3(寬I/O 3,當前在JEDEC討論中)、HBM2(HBM版本2),當前在JEDEC討論中),及/或其他技術,以及基於此類規範之衍生版本或擴展版本的技術。在一個實施例中,除依電性記憶體之外或替代依電性記憶體,對記憶體裝置之提及可指非依電性記憶體裝置,其狀態在去往裝置之電力中斷的情況下為確定的。因此,記憶體裝置亦可包括未來產生的非依電性裝置(諸如三維交叉點記憶體裝置)或其他開發中的非依電性記憶體裝置。如本文所述的記憶體裝置亦可包括快閃記憶體、相變記憶體、自旋力矩記憶體,或其他非依電性記憶體裝置。
圖1為系統之實施例的方塊圖,其中發射裝置及接收裝置兩者皆包括拌碼電路及解拌碼電路。系統100表示系統之一個實例,其中可應用經改良的拌碼代碼產生。系統100可包括記憶體子系統之元件。主機102表示主機系統,其包括主處理器(未具體展示),該主處理器執行用於系統100為其一部分的裝置之主機作業系統。由處理器進行的代碼及操作之執行產生針對儲存於一或多個記憶體裝置 120中之資料的請求。主機控制器110表示主機102處之控制器,該控制器負責產生去往記憶體裝置120之記憶體存取命令以滿足請求。
在一個實施例中,記憶體裝置120為依電性記憶體裝置。在一個實施例中,記憶體裝置120包括非依電性記憶體裝置。在所有記憶體裝置120為非依電性儲存器之狀況下,主機控制器110可稱為儲存控制器,其存取系統100中之持久資料儲存器。在所有記憶體裝置120為依電性儲存器或以類似於依電性儲存器之存取頻率及存取技術來操作的非依電性儲存器之狀況下,主機控制器110可稱為記憶體控制器,其存取經載入用於執行及/或暫時快取系統100內之資料。
主機控制器110經由互連130耦接至記憶體裝置120。主機控制器110控制資訊流入及流出記憶體裝置120。在一個實施例中,主機控制器110係與主機102之一或多個處理核心整合於相同積體電路上。在一個實施例中,主機控制器110為諸如記憶體控制集線器的單獨積體電路之部分。主機控制器110包括發射器(TX)資料路徑112及接收器(RX)資料路徑114。TX 112及RX 114允許主機控制器110由對將要在記憶體裝置120處去拌碼之發射資料拌碼來改良I/O可靠性。
在一個實施例中,控制邏輯116並行地產生多個彼此不相關的偽隨機輸出。TX 112係標記為「拌碼」,指代以下事實:控制邏輯116之元件可在TX信號發射之前將該 TX信號拌碼。以類似方式,RX 114係標記為「去拌碼」,指代以下事實:控制邏輯116之元件可在RX信號獲接收之後將該RX信號去拌碼。拌碼可視為發射之部分。非拌碼可視為接收或接收處理之部分。TX 112及RX 114在主機控制器110處於主機側上操作。在一個實施例中,除拌碼資料匯流排之外,控制邏輯116可使用相同拌碼代碼來將記憶體存取或儲存器存取命令及/或位址連同資料一起拌碼。
在一個實施例中,控制邏輯116使用並行LFSR(線性回饋移位暫存器)與修改LFSR之輸出的重排序及重對映邏輯之組合。在一個實施例中,控制邏輯116使用DBI(動態匯流排反轉)。在一個實施例中,控制邏輯116使用雙態觸變最小化邏輯。將觀察到,記憶體裝置120包括與主機控制器110類似的拌碼邏輯特徵。例如,記憶體裝置120包括RX路徑124,其經標記為「去拌碼」,指代以下事實:記憶體裝置120將自主機控制器110之TX 112接收的經拌碼的信號去拌碼。作為另一實例,記憶體裝置120包括TX路徑122,其經標記為「拌碼」,指代以下事實:記憶體裝置120可將發送至主機控制器110之信號拌碼。裝置控制126表示可進行拌碼操作之邏輯。如本文所使用,拌碼操作可屬類地指代用於拌碼及去拌碼兩者之操作,包括產生拌碼代碼及修改拌碼代碼。
在一個實施例中,控制邏輯116及/或裝置控制126應用非線性拌碼操作來產生拌碼代碼。在一個實施例中,非線性拌碼操作為線性拌碼代碼輸出之位元重對映。 在一個實施例中,控制邏輯116及/或裝置控制126將DBI應用於線性拌碼代碼輸出。在一個實施例中,控制邏輯116及/或裝置控制126應用拌碼代碼之選定位元之選擇性切換。選擇性切換可包括將某些位元或某些訊道自一個輸出循環至下一輸出循環保持恆定,同時根據經修改的拌碼代碼來改變其他位元。應理解,選擇性切換未必意指將選定的所有位元雙態觸變。實情為,經選擇用於應用代碼之一些位元可改變而其他位元可不改變。選擇性係在於以下事實:一些位元或訊道保持恆定而允許對其他位元或訊道之修改,而不管拌碼代碼改變是否雙態觸變該等位元。例如,邏輯可保持某些訊道恆定(例如,偶數訊道)且允許其他訊道(例如,奇數訊道)改變。實例為非限制性的,且可使用訊道之其他組合。在一個實施例中,選擇相等數目之訊道以維持白色頻譜。在一個實施例中,控制邏輯116及/或裝置控制126應用非線性拌碼操作、線性拌碼輸出之選定位元之選擇性切換以及DBI中兩個或兩個以上者的組合。
在藉由利用以上所述的拌碼操作中之一或多者來產生線性代碼並將其修改而產生拌碼代碼之後,控制邏輯116及/或裝置控制126可利用該拌碼代碼處理信號。對發射而言,處理信號可包括將TX信號與拌碼代碼組合以拌碼發射信號。對接收而言,處理信號可包括將RX信號與拌碼代碼組合以解碼或去拌碼接收信號,且自其提取進行所請求操作所必需的資訊。應理解,記憶體裝置120可表示並行組合的多個記憶體裝置。在一個實施例中,在發射時,主 機控制器120可拌碼信號以並行發送至多個記憶體裝置120,該等記憶體裝置各自單獨地將信號去拌碼並解碼。
在一個實施例中,控制邏輯116及/或裝置控制126可選擇性地產生「新」拌碼代碼以用於後續循環,而無需產生新的線性拌碼代碼。控制器可使用相同原始線性拌碼代碼來產生多個經修改的拌碼代碼以用於連序交易。例如,控制器可將不同的另外拌碼操作應用於相同線性拌碼代碼以產生多個獨特代碼,而無需使用產生新的線性拌碼代碼所必需的功率(例如,無需自LFSR產生輸出)。
記憶體裝置120包括儲存媒體128,該儲存媒體表示儲存資料之一或多個儲存陣列或其他記憶體資源。如上所述,記憶體裝置120可為非依電性或依電性記憶體裝置;因此,儲存媒體128可包括依電性或非依電性儲存器。在一個實施例中,儲存媒體128包括依電性及非依電性資源之組合。主機控制器110經由對具有存取命令之特定位置尋址來存取儲存媒體128中之特定記憶體位置。在一個實施例中,裝置控制126將來自經由RX 124自主機控制器110接收的信號之位址及命令資訊解拌碼或去拌碼。
因此,控制邏輯116及裝置控制126可表示兩種控制器,每一種處於互連130之每一側上。利用傳統拌碼,拌碼對記憶體裝置為透明的,該記憶體裝置儲存經拌碼的資料,且隨後將經拌碼的資料返回以在使用之前供記憶體控制器去拌碼。然而,藉由允許記憶體裝置120去拌碼資料,該記憶體裝置亦可獨立地拌碼返回至主機控制器110之資 料,從而可改良相對於信號完整性及電磁干擾之效能,因為裝置控制126可調整對讀取交易特定的拌碼。應理解,儲存並返回經拌碼的資料仍可導致來自記憶體裝置之干擾,此取決於資料受存取及發射出儲存媒體128之次序。
應理解,利用兩種單獨的控制器,系統100將需要確保資訊可在經由互連130發射之前於一側上拌碼,且在接受該資訊後於另一側上去拌碼。經由互連130發射的所有資訊(無論命令、位址抑或資料)均可在發射之前拌碼且在接收後去拌碼。在互連介面之兩側處應用拌碼可抑止雜訊影響互連130上之命令及位址以及資料。
在一個實施例中,特定拌碼操作對系統100作為其一部分之計算裝置之操作狀態或功率狀態而言為特定的。例如,控制邏輯116及裝置控制126可組配來在計算裝置進入用於實行與記憶體裝置120之資料交換的功率狀態及/或以該功率狀態操作時進行拌碼操作,該功率狀態諸如啟動序列,或特定功率狀態,或其他操作模式。
圖2為系統之實施例的方塊圖,該系統利用經改良的拌碼代碼支援通訊介面之兩端處的拌碼及非拌碼。系統200表示一種系統,其中通訊之兩端產生適用於拌碼操作的經改良的拌碼代碼,且可表示根據圖1之系統100的系統之一個實例。對系統200之實例而言特定的是:其可表示記憶體子系統之組件。記憶體子系統實例僅用於說明目的且不為限制。
主機控制器210表示在主機處理器處控制對記憶 體裝置230之存取的控制器。主機控制器210可為儲存器控制器或記憶體控制器。主機控制器210包括表示發射硬體之TX 212,及表示接收硬體之RX 214。發射及接收硬體可包括驅動器、傳訊邏輯、焊盤、跡線及其他硬體組件。記憶體裝置230類似地包括發射硬體TX 232及接收硬體RX 234。
主機控制器210之I/O控制器220及記憶體裝置230之I/O控制器240表示控制各別發射及接收硬體之操作的控制電路及/或其他邏輯。具體例示的為I/O控制器220中之拌碼器222及解拌碼器228,以及I/O控制器240中之拌碼器242及解拌碼器248。拌碼器222及242表示拌碼發射信號(TXSIG)之邏輯。解拌碼器228及248表示去拌碼或解拌碼接收信號(RXSIG)之邏輯。拌碼器及解拌碼器兩者應用拌碼代碼來進行其各別拌碼操作。拌碼代碼可根據本文所述的任何拌碼代碼及經修改的拌碼代碼。在一個實施例中,每一I/O控制器中之拌碼器及解拌碼器兩者皆利用相同硬體邏輯來產生拌碼代碼。在一個實施例中,拌碼器利用與藉由解拌碼器使用來產生拌碼代碼之硬體分離的硬體產生拌碼代碼。雖然系統200並未具體地展示同步機構,但應理解I/O控制器220及240可包括同步機構以確保在一端處用於拌碼發射信號之代碼為在另一端處產生的去拌碼接收信號的相同代碼。此等機構可包括時序邏輯、傳訊邏輯,或一些其他邏輯,或組合。
在一個實施例中,拌碼器222產生拌碼代碼(或自產生該拌碼代碼之硬體邏輯獲得該拌碼代碼),以與將要經 由TX 212輸出的TXSIG組合。在一個實施例中,組合邏輯224為XOR邏輯以將帶有TXSIG的拌碼邏輯輸出進行XOR運算,從而向發射信號提供偽隨機型樣。在一個實施例中,解拌碼器248產生藉由拌碼器222使用的相同拌碼代碼(或自產生該拌碼代碼之硬體邏輯獲得該拌碼代碼),且利用組合邏輯246將拌碼代碼與經由RX 234接收的經拌碼的信號組合。在一個實施例中,組合邏輯246為XOR邏輯以將帶有傳入信號的拌碼邏輯輸出進行XOR運算,從而移除偽隨機型樣並產生去拌碼RXSIG。
當記憶體裝置230將經拌碼的信號發送至主機控制器210時,操作逆向發生。因此,在一個實施例中,拌碼器242產生拌碼代碼(或自產生該拌碼代碼之硬體邏輯獲得該拌碼代碼),以與將要經由TX 232輸出的TXSIG組合。在一個實施例中,組合邏輯244為XOR邏輯以將帶有TXSIG的拌碼邏輯輸出進行XOR運算,從而向發射信號提供偽隨機型樣。在一個實施例中,解拌碼器228產生藉由拌碼器242使用的相同拌碼代碼(或自產生該拌碼代碼之硬體邏輯獲得該拌碼代碼),且利用組合邏輯226將拌碼代碼與經由RX 214接收的經拌碼的信號組合。在一個實施例中,組合邏輯226為XOR邏輯以將帶有傳入信號的拌碼邏輯輸出進行XOR運算,從而移除偽隨機型樣並產生去拌碼RXSIG。
在一個實施例中,I/O控制器220及I/O控制器240產生拌碼代碼,該等拌碼代碼包括非線性態樣(例如,經由信號重排序邏輯及/或重對映邏輯產生),包括藉由拌碼代碼 DBI邏輯反轉的位元,或包括藉由選擇性地切換舊代碼及新代碼所產生的拌碼代碼,或包括此等者之組合。在一個實施例中,I/O控制器220及240產生用於一系列連序循環之拌碼代碼。傳統上,拌碼器將產生用於每一後續循環的新非線性代碼。在一個實施例中,拌碼邏輯自單一非線性代碼產生一系列順序或連序拌碼代碼。因此,拌碼邏輯可自相同非線性起始代碼產生多個不同拌碼代碼。例如,拌碼邏輯可將不同的另外拌碼操作或拌碼代碼修改對相同非線性起始代碼應用多次。
在一個實施例中,I/O控制器220及240可拌碼及去拌碼比拌碼代碼之寬度具有更多位元之信號。因此,考慮M位元寬的拌碼器。拌碼器可拌碼N位元寬的信號,其中N>M。通常,M2/4>M(例如,32^2為2^10,且除以4為2^8,或為256,其大於32)。藉由將拌碼代碼分割成M/2 XOR M/2,系統200可使用較不昂貴拌碼代碼產生器或拌碼器使得利益損失最小。例如,以上實例例示出:32位元拌碼器可用於替換256位元拌碼器。此結果可藉由將匯流排分割且對所有組合進行XOR運算來完成。因此,在一個實施例中,組合邏輯224、226、244及246可包括允許所描述的匯流排分割及組合之機構。在一個實施例中,每一組件224、226、244、246可表示多非XOR或組合邏輯元件。
一般而言,拌碼邏輯可藉由產生拌碼代碼且將其分割成拌碼代碼段之Y個子集之不同組合而產生要應用的拌碼代碼。在一個實施例中,拌碼邏輯可自單一M位元拌 碼代碼產生拌碼代碼之Y個子集或Y個代碼段。應理解,每一段或子集將具有比M個位元更少的位元。拌碼邏輯可隨後選擇性地對選自Y個子集中之每一者的位元之不同組合進行XOR運算,以產生經修改的拌碼代碼。因此,拌碼邏輯可由來自Y個代碼段之位元之經XOR運算選擇的組合產生經修改的拌碼代碼,且將該經修改的拌碼代碼應用於具有超過M個位元之信號。在一個實施例中,Y個子集為相等數目位元之兩種子集。在另一實施例中,M位元代碼可不相等地分割成(M_subset1 XOR M_subset2)之兩組不同組合,且經XOR運算以產生至多M_subset1乘M_subset2個組合。在另一實施例中,M位元代碼可分割成3個或3個以上子集,且來自該等子集之一些或全部的一個位元可一起進行XOR運算,以產生最終拌碼代碼型樣。
圖3為用於利用經改良的拌碼代碼實行拌碼之過程之實施例的流程圖。處理300例示拌碼操作之一個實例,該等拌碼操作可根據本文所述的任何實施例藉由拌碼邏輯來進行。更確切言之,系統200之I/O控制器220及240及系統100之控制邏輯116及裝置控制126可實行該處過程。
在一個實施例中,拌碼器或拌碼代碼產生器接收種子信號302。種子信號可為偽隨機數,其作為用於產生拌碼代碼之產生邏輯之輸入起始點。在一個實施例中,種子信號可為先前的拌碼代碼。在一個實施例中,拌碼器自種子信號產生LFSR拌碼代碼或其他基於線性的拌碼代碼304。拌碼器應用一或多個另外的拌碼操作來選擇性地改變 拌碼代碼之位元306。另外的拌碼操作選擇性地改變位元,且產生經修改的拌碼代碼,其中平均而言少於一半的所得位元相對於先前代碼獲雙態觸變。自一個代碼至下一代碼而言,後續代碼可具有相等數目之雙態觸變。然而,平均而言,雙態觸變位元少於一半。此改變產生藉由拌碼器進行的較低功率使用。與傳統方法對比,此結果設法對每一連序代碼上之一半位元進行雙態觸變。
在一個實施例中,另外的拌碼操作可包括應用非線性拌碼操作。此非線性拌碼操作可包括但不限於:進行拌碼代碼之位元重對映以選擇性地改變一些拌碼代碼位元,將DBI應用於拌碼代碼,應用拌碼代碼之選定位元之選擇性切換,將拌碼代碼之奇數或偶數訊道雙態觸變,或者此等者之組合。在一個實施例中,拌碼器將不同的另外拌碼操作應用於相同LFSR拌碼代碼,以產生不同的連序經修改的拌碼代碼。
對用於發射的產生經修改的拌碼代碼之拌碼器而言,即308之TX分支,拌碼器接收要拌碼及發射的信號310。拌碼器將最終或經修改的拌碼代碼應用於信號312,且將經拌碼的信號發射314。對用於接收處理的產生經修改的拌碼代碼之拌碼器而言,即308之RX分支,拌碼器接收要解拌碼的信號316。拌碼器將最終或經修改的拌碼代碼應用於信號318,且處理所接收的去拌碼信號320。接收裝置可隨後進行藉由接收信號指示的操作。在一個實施例中,TX信號包括用於記憶體或儲存存取命令中之命令及位址 資訊之經拌碼的資訊。因此,去拌碼信號可包括命令或位址資訊。
圖4為系統之實施例的方塊圖,該系統支援包括非線性拌碼代碼、選擇性應用的DBI及選擇性代碼過濾之拌碼。電路400表示實行根據本文所述的任何實施例之拌碼器的邏輯,且可稱為拌碼器400。拌碼器400可為系統200之I/O控制器220及240以及系統100之控制邏輯116及裝置控制126內的邏輯之一個實例。拌碼器400可在處理器裝置內的邏輯中實行。
在一個實施例中,拌碼器400以固定種子(X位元)開始,該固定種子為接收端上之控制器或拌碼器將以之開始的相同種子。在一個實施例中,拌碼器400以自修改拌碼代碼之階段接收的反饋輸出(X位元)開始。在一個實施例中,拌碼器400包括並行LFSR 402,其接收種子值且產生X位元LFSR輸出。LFSR 402可為線性變換區塊,其取X位元輸入且藉由將各種輸入一起進行XOR運算來將該X位元輸入變換成X位元輸出。在一個實施例中,LFSR 402將其輸出提供至重排序邏輯404。重排序邏輯404可將來自LFSR之輸出位元選擇性地重排序以使輸出隨機化,且自X位元輸入產生X位元輸出。在一個實施例中,重排序邏輯404將其輸出提供至重對映邏輯406中。在一個實施例中,重對映邏輯406將非線性變換應用於輸入資料以產生輸出。在一個實施例中,重對映邏輯406利用(X/N)取代框(substitution box),其中X為多個N。每一取代框可取N位元輸入且產生N位元 非線性輸出。重對映邏輯406產生X位元輸出。在一個實施例中,拌碼器400將重對映邏輯406之輸出反饋至並行LFSR 402以作為用於後續拌碼代碼之種子。正反器408表示諸如鎖存器的一或多個邏輯裝置,其可保持供後續使用之資料。正反器408可包括多個層級以將適用於後續代碼但未必是直接後續代碼的資料列隊。
已發現:謹慎地選擇LFSR 402及取代框(S框)組合可達成稱為突崩之性質,其中每一輸出位元取決於每一輸入位元。藉由傳統拌碼器設計使用的較簡單LFSR無法達成突崩。藉由選擇LFSR 402及重對映邏輯406進行的特定操作(例如,選擇S框設計及操作),拌碼器400可最小化訊道與循環之間的相關及差動機率。訊道係指用於傳遞資料之並行信號線。循環係指連序交換(例如,發射、接收)交易。最小化訊道與循環之間的差動機率產生最小化訊道及/或循環之間的相關的更隨機的拌碼代碼。在其他實施例中,可針對除最小化訊道/循環之間的相關之外的標準或替代該此技術的標準來最佳化拌碼器400。因此,不同S框實行方案可組配拌碼邏輯以用於不同的重對映,以改良眾多不同標準中之任何標準,諸如相關、雜訊、時序或針對將要拌碼的I/O介面之其他標準。
在一個實施例中,拌碼器400包括DBI邏輯410以處理拌碼代碼。DBI 410可接收重對映邏輯406之輸出,且將其與先前拌碼循環之拌碼代碼比較。取決於實行方案,在一個實施例中,若雙態觸變的位元之數目大於預定閾 值,則DBI 410任擇地將拌碼代碼位元反轉。因此,DBI 410可藉由減少雙態觸變位元之數目而改良藉由拌碼器400使用的功率。在一個實施例中,拌碼器400包括正反器412,其表示諸如鎖存器或其他邏輯之一或多個邏輯裝置,其可保持供後續使用之資料。在一個實施例中,正反器412將來自DBI 410之輸出反饋至DBI 410以供與後續拌碼代碼比較。因此,拌碼器400可判定新的拌碼代碼是否具有大於閾值之位元數目。應理解,將DBI 410應用於拌碼代碼未必意指DBI指示信號(例如,指示信號是否反轉的DBI位元)需要自發射器發送至接收。DBI 410提供偽隨機代碼,且只需要在鏈路或I/O介面之兩側(亦即,TX側及RX)上為可重複的,而不需要在接收端處「取消」。因此,與DBI在I/O系統中之傳統應用不同,可應用DBI 410而不跨於I/O介面產生或發送指示。
在一個實施例中,拌碼器400包括選擇性切換器414。在一個實施例中,選擇性切換器414以兩種不同的方式接收DBI 410之輸出。如圖所例示,選擇性切換器414可直接耦接來接收DBI 410之輸出,且可經由正反器412耦接來接收DBI 410之輸出。選擇性切換器414允許拌碼器400根據所進行的拌碼操作來切換拌碼代碼之一些訊道或位元,且使一些訊道或位元保持與先前代碼循環相同。正反器412保持並提供先前循環之拌碼代碼。因此,選擇性切換器414可基於如經由邏輯402、404、406及410所產生的拌碼代碼之當前循環或迭代並選擇性地基於先前拌碼代碼來產生輸 出。
例如,在一個實施例中,選擇性切換器414自拌碼代碼之X個位元中選出Y個位元。Y個位元將代入如藉由直接耦接至DBI 410所提供的新代碼上。選擇性切換器基於先前循環拌碼代碼而致使剩餘X減Y個位元(X-Y)維持其位元值。在一個實施例中,選擇性切換器414可在每一循環或每一固定循環數選擇Y個位元之不同群組。當選擇性切換414在每一循環選擇Y個位元之不同群組時,在每一Y/X循環替代每一循環來更新平均輸出。選擇性切換器414可提供拌碼有效性與功率消耗之間的經改良的取捨,同時仍維持用於低dI/dT之恆定切換速率。在一個實施例中,選擇性切換器414選擇穿過X個訊道相等間隔的Y個切換訊道,該等X訊道可在空間上以及時間上散佈切換。因此,選擇性切換器414可產生經拌碼的Y個位元,及針對X個位元之總輸出而言自先前循環保持恆定的X-Y個位元。應理解,Y為小於X之數目,但可大於或小於X/2。
代碼產生器416產生最終拌碼代碼或所得經修改的拌碼代碼。代碼產生器416將經修改的拌碼代碼提供至組合器418,以應用於TX信號來拌碼信號。在一個實施例中,TX信號包括將要拌碼之資料,且位址及/或命令單獨地與TX信號組合。在一個實施例中,TX信號包括除資料資訊之外的命令及/或位址資訊。應理解,此情形中之資料係指將要經由資料匯流排發送的信號,該資料匯流排可與命令/位址(C/A)匯流排分離,該命令/位址(C/A)匯流排提供指示在 記憶體之何位置上進行何種操作的資訊。
TX信號在寬度上為Z個位元,其中Z可為不同於X之數目。X及Z可相等。在一個實施例中,Z大於X,且拌碼器400可利用X位元拌碼代碼拌碼Z位元輸出信號。組合器418產生TX經拌碼的信號(Z位元信號),以經由區塊420所表示的發射硬體輸出。在一個實施例中,拌碼器400應用X位元拌碼代碼來拌碼TX信號之Z個位元,其中Z小於X,或要發射的信號具有比拌碼代碼更少的訊道(Z個訊道<X個訊道)。在一個實施例中,拌碼器400應用X位元拌碼代碼來拌碼TX信號之Z個位元,其中Z大於X,或要發射的信號具有比拌碼代碼更多的訊道(Z個訊道>X個訊道)。例如,組合器418可將X位元拌碼代碼分割成各自具有(X/2)個位元之兩個段,且使用2輸入XOR來產生位元之各種組合。在此實例中,可能拌碼(X/2)2個訊道(例如,16位元代碼可覆蓋64個訊道(16/2=8;8*8=64)。藉由分割拌碼代碼來應用拌碼代碼可減少與用於寬匯流排之拌碼邏輯相關聯的負擔。其他組合顯然可能使用不同數目之訊道,並針對XOR邏輯及/或S框大小或其他重對映邏輯使用不同的大小。
圖5為系統之實施例的方塊圖,該系統支援包括非線性拌碼代碼、選擇性應用的DBI及選擇性代碼過濾之非拌碼。電路500表示實行根據本文所述的任何實施例之解拌碼器的邏輯,且可稱為解拌碼器500。解拌碼器500可為系統200之I/O控制器220及240以及系統100之控制邏輯116及裝置控制126內的邏輯之一個實例。解拌碼器500可在處理 器裝置內的邏輯中實行。
用於產生拌碼代碼之解拌碼器500之邏輯將產生用於拌碼接收資料之相同拌碼代碼。在不產生相同拌碼代碼的情況下,解拌碼器500將在去拌碼接收信號時不成功。因此,用於產生拌碼代碼之解拌碼器500之組件可與拌碼器400之組件相同。
在一個實施例中,解拌碼器500以固定種子(X位元)開始,該固定種子為發射端上之控制器或拌碼器將以之開始的相同種子。在一個實施例中,解拌碼器500以自修改拌碼代碼之階段接收的反饋輸出(X位元)開始產生拌碼代碼。在一個實施例中,解拌碼器500包括並行LFSR 502,其接收種子值且產生X位元LFSR輸出。LFSR 502可為線性變換區塊,其取X位元輸入且藉由將各種輸入一起進行XOR運算來將該X位元輸入變換成X位元輸出。在一個實施例中,LFSR 502將其輸出提供至重排序邏輯504。重排序邏輯504可將來自LFSR之輸出位元選擇性地重排序以使輸出隨機化,且自X位元輸入產生X位元輸出。在一個實施例中,重排序邏輯504將其輸出提供至重對映邏輯506中。在一個實施例中,重對映邏輯506將非線性變換應用於輸入資料以產生輸出。在一個實施例中,重對映邏輯506利用(X/N)取代框,其中X為多個N。每一取代框可取N位元輸入且產生N位元非線性輸出。重對映邏輯506產生X位元輸出。在一個實施例中,解拌碼器500將重對映邏輯506之輸出反饋至並行LFSR 502以作為用於後續拌碼代碼之種子。正反器508 表示諸如鎖存器的一或多個邏輯裝置,其可保持供後續使用之資料。正反器508可包括多個層級以將適用於後續代碼但未必是直接後續代碼的資料列隊。
已發現:謹慎地選擇LFSR 502及取代框(S框)組合可達成稱為突崩之性質,其中每一輸出位元取決於每一輸入位元。藉由傳統拌碼器設計者使用的較簡單LFSR無法達成突崩。藉由選擇LFSR 502及重對映邏輯506進行的特定操作(例如,選擇S框設計及操作),解拌碼器500可最小化訊道與循環之間的相關及差動機率。訊道係指用於傳遞資料之並行信號線。循環係指連序交換(例如,發射、接收)交易。最小化訊道與循環之間的差動機率產生最小化訊道及/或循環之間的相關的更隨機的拌碼代碼。類似於以上參考拌碼器400所描述所需的內容,在其他實施例中,可針對除最小化訊道/循環之間的相關之外的標準或替代該此技術的標準來最佳化解拌碼器500。因此,不同S框實行方案可組配拌碼邏輯以用於不同的重對映,以改良眾多不同標準中之任何標準,諸如相關、雜訊、時序或針對將要拌碼的I/O介面之其他標準。
在一個實施例中,解拌碼器500包括DBI邏輯510以處理拌碼代碼。DBI 510可接收重對映邏輯506之輸出,且將其與先前拌碼循環之拌碼代碼比較。取決於實行方案,在一個實施例中,若雙態觸變的位元之數目大於預定閾值,則DBI 510任擇地將拌碼代碼位元反轉。因此,DBI 510可藉由減少雙態觸變位元之數目而改良藉由解拌碼器 500使用的功率。在一個實施例中,解拌碼器500包括正反器512,其表示諸如鎖存器或其他邏輯之一或多個邏輯裝置,其可保持供後續使用之資料。在一個實施例中,正反器512將來自DBI 510之輸出反饋至DBI 510以供與後續拌碼代碼比較。因此,解拌碼器500可判定新的拌碼代碼是否具有大於閾值之位元數目。
在一個實施例中,解拌碼器500包括選擇性切換器514。在一個實施例中,選擇性切換器514以兩種不同的方式接收DBI 510之輸出。如圖所例示,選擇性切換器514可直接耦接來接收DBI 510之輸出,且可經由正反器512耦接來接收DBI 510之輸出。選擇性切換器514允許解拌碼器500根據所進行的拌碼操作來切換拌碼代碼之一些訊道或位元,且使一些訊道或位元保持與先前代碼循環相同。正反器512保持並提供先前循環之拌碼代碼。因此,選擇性切換器514可基於如經由邏輯502、504、506及510所產生的拌碼代碼之當前循環或迭代並選擇性地基於先前拌碼代碼來產生輸出。
例如,在一個實施例中,選擇性切換器514自拌碼代碼之X個位元中選出Y個位元。Y個位元將代入如藉由直接耦接至DBI 510所提供的新代碼上。選擇性切換器基於先前循環拌碼代碼而致使剩餘X減Y個位元(X-Y)維持其位元值。在一個實施例中,選擇性切換器514可在每一循環或每一固定循環數選擇Y個位元之不同群組。當選擇性切換514在每一循環選擇Y個位元之不同群組時,在每一Y/X循 環替代每一循環來更新平均輸出。選擇性切換器514可提供拌碼有效性與功率消耗之間的經改良的取捨,同時仍維持用於低dI/dT之恆定切換速率。在一個實施例中,選擇性切換器514選擇穿過X個訊道相等間隔的Y個切換訊道,該等X訊道可在空間上以及時間上散佈切換。因此,選擇性切換器514可產生經拌碼的Y個位元,及針對X個位元之總輸出而言自先前循環保持恆定的X-Y個位元。應理解,Y為小於X之數目,但可大於或小於X/2。
代碼產生器516產生最終拌碼代碼或所得經修改的拌碼代碼。代碼產生器516將經修改的拌碼代碼提供至組合器518,以應用於RX信號來去拌碼信號。解拌碼器500經由區塊520所表示的接收硬體來接收RX信號。傳入信號為解拌碼器500接收至組合器518中之接收的經拌碼的信號。組合器518將經修改的拌碼代碼應用於經拌碼的RX信號,以將該經拌碼的RX信號去拌碼成RX信號。在一個實施例中,RX信號僅包括經拌碼的資料,且位址及/或命令未經拌碼。在一個實施例中,RX經拌碼的信號包括除資料資訊之外的命令及/或位址資訊,其全部經拌碼。應理解,此情形中之資料係指將要經由資料匯流排發送的信號,該資料匯流排可與命令/位址(C/A)匯流排分離,該命令/位址(C/A)匯流排提供指示在記憶體之何位置上進行何種操作的資訊。
RX經拌碼的信號及去拌碼RX信號在寬度上為Z個位元,其中Z可為不同於X之數目。X及Z可相等。在一個實施例中,Z大於X,且解拌碼器500可利用X位元拌碼代碼 去拌碼Z位元輸入信號。在一個實施例中,Z小於X,且解拌碼器500可去拌碼Z位元輸入信號,該Z位元輸入信號比拌碼代碼具有較少訊道。組合器518產生RX去拌碼信號(Z位元信號)以在解拌碼器500為其一部分之接收裝置中進行處理。在一個實施例中,解拌碼器500應用X位元拌碼代碼來拌碼RX經拌碼的信號之Z個位元,其中Z大於X,或接收信號具有比拌碼代碼更多的訊道(Z個訊道>X個訊道)。例如,組合器518可將X位元拌碼代碼分割成各自具有(X/2)個位元之兩個段,且使用2輸入XOR來產生位元之各種組合。在此實例中,可能解拌碼(X/2)2個訊道(例如,16位元代碼可覆蓋64個訊道(16/2=8;8 * 8=64)。藉由分割拌碼代碼來應用拌碼代碼可減少與用於寬匯流排之拌碼邏輯相關聯的負擔。其他組合顯然可能使用不同數目之訊道,並針對XOR邏輯及/或S框大小或其他重對映邏輯使用不同的大小。
圖6為用於實行拌碼之過程之實施例的流程圖,該過程包括提供非線性拌碼代碼,或選擇性應用的DBI,或選擇性代碼過濾。信號拌碼過程600可根據本文所述的任何實施例藉由拌碼用於發射之信號的任何拌碼器來執行。拌碼器接收將要發射的信號或TX信號602。拌碼器產生與TX信號組合或應用於TX信號的拌碼代碼。拌碼器藉由產生線性拌碼代碼開始拌碼代碼之產生。在一個實施例中,拌碼器基於種子信號產生X並行LFSR輸出,以產生X位元拌碼代碼604。種子信號可固定信號、輸入信號或反饋信號。
在一個實施例中,拌碼器利用非線性拌碼修改拌碼代碼。若拌碼器將應用非線性拌碼,即606之是分支,則在一個實施例中,拌碼器經由重排序及重對映邏輯來饋送X並行LFSR輸出608。重對映可包括取代框變換。若拌碼器不應用非線性拌碼,即606之否分支,則在610處,拌碼器可轉送拌碼代碼而不應用非線性技術且繼續拌碼代碼產生。
在一個實施例中,拌碼器利用DBI之應用來修改拌碼代碼。若拌碼器應用DBI,即610之是分支,則在一個實施例中,拌碼器將先前循環拌碼代碼與輸出或當前拌碼代碼比較,且若雙態觸變位元之數目超過閾值,則將當前拌碼代碼反轉612。若拌碼器不應用DBI,即610之否分支,則在614處,拌碼器可轉送拌碼代碼而不應用DBI且繼續拌碼代碼產生。
在一個實施例中,拌碼器利用選擇性切換修改拌碼代碼。在一個實施例中,若拌碼器應用選擇性切換,即614之是分支,則拌碼器僅允許X個位元中之Y個位元取更新值。拌碼器將根據先前拌碼代碼而維持其他X-Y個位元處於其值616。若拌碼器不應用選擇性切換,即614之否分支,則在618處,拌碼器可轉送拌碼代碼而不應用選擇性切換且繼續拌碼代碼產生。
在產生拌碼代碼之後,拌碼器將TX信號之Z個位元與最終拌碼代碼之X個位元拌碼618。最終拌碼代碼為藉由關於過程600之606、608、610、612、614、616處描述的 拌碼技術中之一或多者修改的LFSR輸出代碼。包括拌碼器之I/O控制經由互連輸出或發射經拌碼的發射信號之Z個位元620。
圖7為用於實行非拌碼之過程之實施例的流程圖,該過程包括提供非線性拌碼代碼,或選擇性應用的DBI,或選擇性代碼過濾。信號去拌碼過程700可根據本文所述的任何實施例藉由去拌碼用於處理之接收信號的任何解拌碼器來執行。解拌碼器接收將要去拌碼的信號或來自發射器裝置之信號702。解拌碼器產生與RX信號組合或應用於RX信號的拌碼代碼。解拌碼器產生相同拌碼代碼以應用於RX信號,該RX信號藉由拌碼器應用於TX信號。解拌碼器藉由產生線性拌碼代碼開始拌碼代碼之產生。在一個實施例中,解拌碼器基於種子信號產生X並行LFSR輸出,以產生X位元拌碼代碼704。種子信號可固定信號、輸入信號或反饋信號。
在一個實施例中,解拌碼器利用非線性拌碼修改拌碼代碼。若拌碼器將應用非線性拌碼,即706之是分支,則在一個實施例中,解拌碼器經由重排序及重對映邏輯來饋送X並行LFSR輸出708。重對映可包括取代框變換。若解拌碼器不應用非線性拌碼,即706之否分支,則在710處,拌碼器可轉送拌碼代碼而不應用非線性技術且繼續拌碼代碼產生。
在一個實施例中,解拌碼器利用DBI之應用來修改拌碼代碼。若拌碼器應用DBI,即710之是分支,則在一 個實施例中,解拌碼器將先前循環拌碼代碼與輸出或當前拌碼代碼比較,且若雙態觸變位元之數目超過閾值,則將當前拌碼代碼反轉712。若解拌碼器不應用DBI,即710之否分支,則在714處,解拌碼器可轉送拌碼代碼而不應用DBI且繼續拌碼代碼產生。
在一個實施例中,解拌碼器利用選擇性切換修改拌碼代碼。在一個實施例中,若解拌碼器應用選擇性切換,即714之是分支,則解拌碼器僅允許X個位元中之Y個位元取更新值。解拌碼器將根據先前拌碼代碼而維持其他X-Y個位元處於其值716。若解拌碼器不應用選擇性切換,即714之否分支,則在718處,解拌碼器可轉送拌碼代碼而不應用選擇性切換且繼續拌碼代碼產生。
在產生拌碼代碼之後,解拌碼器將RX信號之Z個位元與最終拌碼代碼之X個位元去拌碼718。最終拌碼代碼為藉由關於過程700之706、708、710、712、714、716處描述的拌碼技術中之一或多者修改的LFSR輸出代碼。包括解拌碼器之I/O控制將去拌碼RX信號中提供的通訊解碼或以其他方式解譯。系統可進行藉由接收資訊指示的操作720。
圖8為計算系統之實施例的方塊圖,可於該計算系統中實行利用經改良的拌碼代碼之拌碼。系統800表示根據本文所述的任何實施例之計算裝置,且可為膝上型電腦、桌上型電腦、伺服器、遊戲或娛樂控制系統、掃描器、複製機、印表機、路由或開關裝置,或其他電子裝置。系 統800包括處理器820,該處理器為系統800提供處理、操作管理及指令之執行。處理器820可包括任何類型之微處理器、中央處理單元(CPU)、處理核心或其他處理硬體以為系統800提供處理。處理器820控制系統800之整體操作,且可為或包括一或多個可規劃通用或專用微處理器、數位信號處理器(DSP)、可規劃控制器、特定應用積體電路(ASIC)、可規劃邏輯裝置(PLD),或類似物或此類裝置之組合。
記憶體子系統830表示系統800之主記憶體,且為將要由處理器820執行的代碼或將要在執行常式中使用的資料值提供暫時儲存。記憶體子系統830可包括一或多個記憶體裝置,諸如唯讀記憶體(ROM)、快閃記憶體、一或多個各類隨機存取記憶體(RAM)或其他記憶體裝置,或此類裝置之組合。記憶體子系統830尤其儲存且代管作業系統(OS)836以為系統800中之指令之執行提供軟體平臺。另外,其他指令838經儲存且自記憶體子系統830執行以提供系統800之邏輯及處理。OS 836及指令838藉由處理器820執行。記憶體子系統830包括該記憶體子系統於其中儲存資料、指令、程式或其他項目之記憶體裝置832。在一個實施例中,記憶體子系統包括記憶體控制器834,該記憶體控制器為用以產生命令且將命令發佈至記憶體裝置832之記憶體控制器。將理解,記憶體控制器834可為處理器820之實體部分。
處理器820及記憶體子系統830耦接至匯流排/匯流排系統810。匯流排810為表示藉由適當橋接器、配接器 及/或控制器連接的任何一或多個單獨實體匯流排、通訊線/介面及/或點對點連接的抽象化。因此,匯流排810可包括例如系統匯流排、周邊組件互連(PCI)匯流排、超傳送或工業標準架構(ISA)匯流排、小電腦系統介面(SCSI)匯流排、通用串列匯流排(USB)或電機電子工程師學會(IEEE)標準1394匯流排(通常被稱為「火線」)中之一或多者。匯流排810之匯流排亦可對應於網路介面850中之介面。
系統800亦包括耦接至匯流排810的一或多個輸入/輸出(I/O)介面840、網路介面850、一或多個內部大容量儲存裝置860及周邊介面870。I/O介面840可包括使用者藉以與系統800交互的一或多個介面組件(例如,視訊、音訊及/或文數字介接)。網路介面850為系統800提供經由一或多個網路與遠端裝置(例如,伺服器、其他計算裝置)通訊的能力。網路介面850可包括乙太網路配接器、無線互連組件、USB(通用串列匯流排)或其他以有線或無線標準為基礎的介面或專屬介面。
儲存器860可為或包括用於以非依電性方式儲存大量資料的任何習知媒體,諸如一或多個以磁性、固態或光學為基礎的碟片或組合。儲存器860以恆久狀態保持代碼或指令及資料862(亦即,儘管至系統800的電力中斷亦保持值)。雖然記憶體830為用以將指令提供至處理器820的執行或操作記憶體,但儲存器860可屬類地被視為「記憶體」。鑒於儲存器860為非依電性的,記憶體830可包括依電性記憶體(亦即,若至系統800的電力中斷,則資料之值或狀態 為不確定的)。
周邊介面870可包括以上未具體提及之任何硬體介面。周邊裝置通常涉及相依地連接至系統800的裝置。相依連接為系統800提供軟體及/或硬體平臺所在的連接,操作在該軟體及/或硬體平臺上執行,且使用者與該軟體及/或硬體平臺交互。
在一個實施例中,系統800包括拌碼邏輯880。拌碼邏輯880表示根據本文所述的任何實施例之I/O控制邏輯,用以產生供發射的經拌碼的信號及/或去拌碼接收信號。拌碼邏輯880可為系統800中支援利用拌碼進行裝置間通訊之任何組件之部分。例如,記憶體832可組配來經由支援拌碼之互連與記憶體控制器834通訊。因此,兩種裝置可包括拌碼邏輯880。拌碼邏輯880利用基於線性的技術產生拌碼代碼,且利用一或多種另外的拌碼操作修改代碼。操作可包括但不限於:將非線性技術應用於拌碼代碼,將DBI應用於拌碼代碼,或應用選擇性切換以維持一些代碼與先前相同且更新代碼之其他位元,或此等技術之組合。在每一狀況下,最終拌碼代碼(亦即,經修改的拌碼代碼)可提供相對於先前循環之拌碼代碼而言所產生拌碼代碼之少於50%雙態觸變。
圖9為行動裝置之實施例的方塊圖,可於該行動裝置中實行利用經改良的拌碼代碼之拌碼。裝置900表示行動計算裝置,諸如計算平板電腦、行動電話或智慧型電話、無線允許電子閱讀機、可穿戴式計算裝置或其他行動裝 置。將理解,大體上展示組件中之某些,且在裝置900中未展示此裝置之所有組件。
裝置900包括處理器910,該處理器進行裝置900之主要處理操作。處理器910可包括一或多個實體裝置,諸如微處理器、應用處理器、微控制器、可規劃邏輯裝置或其他處理構件。藉由處理器910進行的處理操作包括操作平臺或作業系統之執行,應用程式及/或裝置功能在該操作平臺或作業系統上執行。處理操作包括與利用人類使用者或利用其他裝置的I/O(輸入/輸出)有關的操作、與電力管理有關的操作及/或與將裝置900連接至另一裝置有關的操作。處理操作亦可包括與音訊I/O及/或顯示器I/O有關的操作。
在一個實施例中,裝置900包括音訊子系統920,該音訊子系統表示硬體(例如,音訊硬體及音訊電路)及軟體(例如,驅動器、編解碼器)組件,該等硬體及軟體組件與提供音訊功能給計算裝置相關聯。音訊功能可包括揚聲器及/或頭戴耳機輸出,以及麥克風輸入。用於此類功能之裝置可整合至裝置900中,或連接至裝置900。在一個實施例中,使用者藉由提供音訊命令來與裝置900交互,該等音訊指令由處理器910接收且處理。
顯示子系統930表示硬體(例如,顯示裝置)及軟體(例如,驅動器)組件,該等硬體及軟體組件為使用者提供視覺及/或觸覺顯示器以與計算裝置交互。顯示子系統930包括顯示介面932,該顯示介面包括用來將顯示提供至使用者之特定螢幕或硬體裝置。在一個實施例中,顯示介面932 包括與處理器910分離的邏輯,以進行與顯示器有關的至少一些處理。在一個實施例中,顯示子系統930包括觸控螢幕裝置,該觸控螢幕裝置將輸出及輸入兩者提供至使用者。在一個實施例中,顯示子系統930包括向使用者提供輸出的高清晰度(HD)顯示器。高清晰度可指代具有大致100PPI(每吋像素數)或更大之像素密度的顯示器,且可包括諸如全HD(例如,1080p)、視網膜顯示器、4K(超高清晰度或UHD)或其他的格式。
I/O控制器940表示有關於與使用者交互之硬體裝置及軟體組件。I/O控制器940可操作來管理硬體,該硬體為音訊子系統920及/或顯示子系統930之部分。另外,I/O控制器940例示用於連接至裝置900的另外裝置之連接點,使用者可經由該裝置與系統交互。例如,可附接至裝置900的裝置可包括麥克風裝置、揚聲器或立體聲系統、視訊系統或其他顯示裝置、鍵盤或小鍵盤裝置,或用於與特定應用程式一起使用的其他I/O裝置,諸如讀卡器或其他裝置。
如以上所提及,I/O控制器940可與音訊子系統920及/或顯示子系統930交互。例如,經由麥克風或其他音訊裝置的輸入可為裝置900之一或多個應用程式或功能提供輸入或命令。另外,可提供音訊輸出而非顯示輸出,或除顯示輸出之外可提供音訊輸出。在另一實例中,若顯示子系統包括觸控螢幕,則顯示裝置亦充當輸入裝置,該輸入裝置可至少部分由I/O控制器940管理。在裝置900上亦可存在額外按鈕或開關以提供由I/O控制器940管理的I/O功 能。
在一個實施例中,I/O控制器940管理裝置,該等裝置諸如加速計、攝影機、光感測器或其他環境感測器、回轉儀、全球定位系統(GPS)或可包括於裝置900中的其他硬體。輸入可為直接使用者交互之部分,且將環境輸入提供至系統以影響該系統之操作(諸如針對雜訊濾波、調整用於亮度偵測之顯示器、施加用於攝影機之閃光或其他特徵)。在一個實施例中,裝置900包括電力管理950,該電力管理管理電池電力使用、電池之充電及與功率節省操作有關的特徵。
記憶體子系統960包括用於儲存裝置900中之資訊的記憶體裝置962。記憶體子系統960可包括非依電性(狀態在去往記憶體裝置的電力中斷的情況下不改變)及/或依電性(狀態在去往記憶體裝置的電力中斷的情況下不確定)記憶體裝置。記憶體960可儲存應用資料、使用者資料、音樂、相片、文件或其他資料,以及與系統900之應用程式及功能之執行有關的系統資料(長期資料或暫時資料)。在一個實施例中,記憶體子系統960包括記憶體控制器964(該記憶體控制器亦可被視為系統900之控制之部分,且可潛在地被視為處理器910之部分)。記憶體控制器964包括用以產生命令且將命令發佈至記憶體裝置962的排程器。
連接性970包括硬體裝置(例如,無線及/或有線連接器及通訊硬體)及軟體組件(例如,驅動器、協定堆疊)以允許裝置900與外部裝置通訊。外部裝置可為單獨的裝 置,諸如其他計算裝置、無線存取點或基地台,以及周邊設備,諸如耳機、印表機或其他裝置。
連接性970可包括多個不同類型之連接性。為概括,裝置900經例示為具有蜂巢式連接性972及無線連接性974。蜂巢式連接性972通常係指藉由無線載波提供的蜂巢式網路連接性,諸如經由GSM(全球行動通訊系統)或變化或衍生物、CDMA(碼分多重存取)或變化或衍生物、TDM(時分多工)或變化或衍生物、LTE(長期演進--亦被稱為「4G」)或其他蜂巢式服務標準提供的連接性。無線連接性974係指並非蜂巢式的無線連接性,且可包括個人區域網路(諸如藍牙)、區域網路(諸如WiFi)及/或廣域網路(諸如WiMax)或其他無線通訊。無線通訊係指藉由經由非固體媒體的調變電磁輻射之使用進行的資料之傳送。有線通訊經由固體通訊媒體發生。
周邊連接980包括硬體介面及連接器,以及軟體組件(例如,驅動器、協定堆疊)以進行周邊連接。將理解,裝置900可為至其他計算裝置的周邊裝置(「至」982),且具有連接至該裝置的周邊裝置(「自」984)。裝置900通常具有「對接」連接器以連接至其他計算裝置,以用於諸如管理(例如,下載及/或上載、改變、同步化)裝置900上之內容的目的。另外,對接連接器可允許裝置900連接至某些周邊設備,該等周邊設備允許裝置900控制輸出至例如視聽或其他系統的內容。
除專屬對接連接器或其他專屬連接硬體之外,裝 置900經由以通用或標準為基礎的連接器進行周邊連接980。通用類型可包括通用串列匯流排(USB)連接器(該通用串列匯流排連接器可包括若干不同硬體介面中任一者)、包括迷你顯示埠(MDP)的顯示埠、高清晰度多媒體介面(HDMI)、火線或其他類型。
在一個實施例中,系統900包括拌碼邏輯912。拌碼邏輯912表示根據本文所述的任何實施例之I/O控制邏輯,用以產生供發射的經拌碼的信號及/或去拌碼接收信號。拌碼邏輯912可為系統900中支援利用拌碼進行裝置間通訊之任何組件之部分。例如,記憶體962可組配來經由支援拌碼之互連與記憶體控制器964通訊。因此,兩種裝置可包括拌碼邏輯912。拌碼邏輯912利用基於線性的技術產生拌碼代碼,且利用一或多種另外的拌碼操作修改代碼。操作可包括但不限於:將非線性技術應用於拌碼代碼,將DBI應用於拌碼代碼,或應用選擇性切換以維持一些代碼與先前相同且更新代碼之其他位元,或此等技術之組合。在每一狀況下,最終拌碼代碼(亦即,經修改的拌碼代碼)可提供用於相對於先前循環之拌碼代碼而言所產生拌碼代碼之少於50%雙態觸變。
在一個態樣中,用於信號拌碼之方法包括:產生線性反饋拌碼代碼,該拌碼代碼包括X個位元;應用第二拌碼操作以選擇性地改變該拌碼代碼之位元以產生經修改的拌碼代碼,從而致使相對於先前經拌碼的輸出而言少於一半之該等經拌碼的輸出位元獲雙態觸變;以及將該經修改 的拌碼代碼應用於偵測信號以供在主機控制器與記憶體裝置之間交換來產生輸出。
在一個實施例中,產生該線性反饋拌碼代碼包含:對信號產生線性回饋移位暫存器(LFSR)代碼。在一個實施例中,應用該第二拌碼操作進一步包含:應用非線性拌碼操作。在一個實施例中,應用非線性拌碼操作包含:進行該拌碼代碼之位元重對映以選擇性地改變X個位元中之一些位元。在一個實施例中,應用該第二拌碼操作進一步包含:將動態匯流排反轉(DBI)應用於該拌碼代碼。在一個實施例中,應用該第二拌碼操作進一步包含:應用該拌碼代碼之選定位元之選擇性切換。在一個實施例中,應用該等選定位元之選擇性切換包含:使該拌碼代碼之偶數或奇數訊道雙態觸變。在一個實施例中,將該第二拌碼操作應用於該拌碼代碼進一步包含:應用非線性拌碼操作、線性拌碼輸出之選定位元之選擇性切換以及DBI中兩個或兩個以上者的組合。在一個實施例中,將該第二拌碼操作應用於該拌碼代碼進一步包含:將一或多種第二拌碼操作連序應用於單一拌碼代碼以產生多個連序經修改的拌碼代碼。在一個實施例中,將該經修改的拌碼代碼應用於偵測信號包含:將該經修改的拌碼代碼應用於包括命令及位址資訊之偵測信號。在一個實施例中,將該經修改的拌碼代碼應用於偵測信號進一步包含:將該X位元拌碼代碼分割成拌碼代碼之N個子集,該等子集各自具有少於X個位元;以及將拌碼代碼之該等N個子集選擇性地應用於多個XOR區 塊以自該等N個子集之位元之選定組合產生經修改的拌碼代碼,以將該經修改的拌碼代碼應用於具有多於X個位元之信號。在一個實施例中,將該X位元拌碼代碼分割成拌碼代碼之N個子集進一步包含:將該X位元拌碼代碼分割成兩個(X/2)位元拌碼代碼,且將該兩個(X/2)位元拌碼代碼應用於多個XOR區塊,以將該拌碼代碼應用於具有多於X個位元之信號。在一個實施例中,將該經修改的拌碼代碼應用於偵測信號進一步包含:將該X位元拌碼代碼分割成多個拌碼代碼段,該等拌碼代碼段各自具有少於X個位元,其中該等拌碼代碼段之至少兩者具有不同數目之位元;以及將該多個拌碼代碼段應用於多個XOR區塊,以將該拌碼代碼應用於該偵測信號。在一個實施例中,將該經修改的拌碼代碼應用於偵測信號進一步包含:將該X位元拌碼代碼分割成拌碼代碼之N個子集,該等子集各自具有少於X個位元;以及將拌碼代碼之該等N個子集選擇性地應用於多個XOR區塊以自該等N個子集之位元之選定組合產生經修改的拌碼代碼,以將該經修改的拌碼代碼應用於具有少於X個位元之信號。在一個實施例中,記憶體裝置包含非依電性記憶體裝置。在一個實施例中,記憶體裝置包含依電性記憶體裝置。在一個實施例中,將該經修改的拌碼代碼應用於偵測信號包含:應用該經修改的拌碼代碼以拌碼在該主機控制器與該記憶體裝置之間發射的信號。在一個實施例中,應用該經修改的拌碼代碼以拌碼要發射的該信號包含:在該主機控制器處應用該經修改的拌碼代碼以拌碼將要並行發射至 耦接至該主機控制器之多個記憶體裝置的該信號。在一個實施例中,將該經修改的拌碼代碼應用於偵測信號包含:應用該經修改的拌碼代碼以去拌碼在該主機控制器與該記憶體裝置之間發射的信號。
在一個態樣中,拌碼器電路包括:線性回饋移位暫存器(LFSR),用以產生X位元拌碼代碼;拌碼邏輯區塊,用以選擇性地雙態觸變該X位元拌碼代碼之位元以產生經修改的拌碼代碼,從而致使相對於先前經拌碼的輸出而言少於一半之該等經拌碼的輸出位元獲雙態觸變;以及信號組合電路,用以應用該經修改的拌碼代碼以拌碼Z位元發射信號來輸出至接收裝置,其中Z等於或大於X。
在一個實施例中,該拌碼邏輯區塊用以應用非線性拌碼操作。在一個實施例中,該拌碼邏輯區塊用以進行該拌碼代碼之位元重對映以選擇性地改變X個位元中之一些。在一個實施例中,該拌碼邏輯區塊用以將動態匯流排反轉(DBI)應用於該拌碼代碼。在一個實施例中,該拌碼邏輯區塊用以應用該拌碼代碼之選定位元之選擇性切換。在一個實施例中,該拌碼邏輯區塊用以使該拌碼代碼之偶數或奇數訊道雙態觸變。在一個實施例中,該拌碼邏輯區塊用以應用非線性拌碼操作、線性拌碼輸出之選定位元之選擇性切換以及DBI中兩個或兩個以上者的組合。在一個實施例中,該拌碼邏輯區塊用以將一或多種第二拌碼操作連序應用於單一拌碼代碼以產生多個連序經修改的拌碼代碼。在一個實施例中,該拌碼邏輯區塊用以將該經修改的拌碼 代碼應用於包括命令及位址資訊之信號。在一個實施例中,其中Z大於X,且其中該信號組合電路用以藉由以下方式應用該經修改的拌碼代碼:將該X位元拌碼代碼分割成拌碼代碼之N個子集,該等子集各自具有少於X個位元;以及將拌碼代碼之該等N個子集選擇性地應用於多個XOR區塊以自該等N個子集之位元之選定組合產生經修改的拌碼代碼,以將該經修改的拌碼代碼應用於具有多於X個位元之信號。在一個實施例中,該信號組合電路用以藉由以下方式應用該經修改的拌碼代碼:將該X位元拌碼代碼分割成兩個(X/2)位元拌碼代碼,且將該兩個(X/2)位元拌碼代碼應用於多個XOR區塊,以將該拌碼代碼應用於具有多於X個位元之信號。在一個實施例中,該信號組合電路用以藉由以下方式應用該經修改的拌碼代碼:將該X位元拌碼代碼分割成多個拌碼代碼段,該等拌碼代碼段各自具有少於X個位元,其中該等拌碼代碼段之至少兩者具有不同數目之位元;以及將該多個拌碼代碼段應用於多個XOR區塊,以將該拌碼代碼應用於該輸出信號。在一個實施例中,其中Z小於X,且其中該信號組合電路用以藉由以下方式應用該經修改的拌碼代碼:將該X位元拌碼代碼分割成拌碼代碼之N個子集,該等子集各自具有少於X個位元;以及將拌碼代碼之該等N個子集選擇性地應用於多個XOR區塊以自該等N個子集之位元之選定組合產生經修改的拌碼代碼,以將該經修改的拌碼代碼應用於具有少於X個位元之信號。在一個實施例中,記憶體裝置包含非依電性記憶體裝置。在一個實施例 中,記憶體裝置包含依電性記憶體裝置。在一個實施例中,該信號組合電路用以應用該經修改的拌碼代碼,包括將該經修改的拌碼代碼應用於在該主機控制器與該記憶體裝置之間發射的信號。在一個實施例中,該信號組合電路用以應用該經修改的拌碼代碼,包括在該主機控制器處應用該經修改的拌碼代碼以拌碼將要並行發射至耦接至該主機控制器之多個記憶體裝置的該信號。在一個實施例中,該信號組合電路用以應用該經修改的拌碼代碼,包括將該經修改的拌碼代碼應用於將要自該記憶體裝置發射至該記憶體控制器的信號。
在一個態樣中,解拌碼器電路包括:線性回饋移位暫存器(LFSR),用以產生X位元拌碼代碼;拌碼邏輯區塊,用以選擇性地雙態觸變該拌碼代碼之位元以產生經修改的拌碼代碼,從而致使相對於先前經拌碼的輸出而言少於一半之該等經拌碼的輸出位元獲雙態觸變;以及信號組合電路,用以應用該經修改的拌碼代碼以去拌碼接收自發射裝置之Z位元接收信號,其中Z等於或大於X。
在一個實施例中,該拌碼邏輯區塊用以應用非線性拌碼操作。在一個實施例中,該拌碼邏輯區塊用以進行該拌碼代碼之位元重對映以選擇性地改變X個位元中之一些。在一個實施例中,該拌碼邏輯區塊用以將動態匯流排反轉(DBI)應用於該拌碼代碼。在一個實施例中,該拌碼邏輯區塊用以應用該拌碼代碼之選定位元之選擇性切換。在一個實施例中,該拌碼邏輯區塊用以使該拌碼代碼之偶數 或奇數訊道雙態觸變。在一個實施例中,該拌碼邏輯區塊用以應用非線性拌碼操作、線性拌碼輸出之選定位元之選擇性切換以及DBI中兩個或兩個以上者的組合。在一個實施例中,該拌碼邏輯區塊用以將一或多種第二拌碼操作連序應用於單一拌碼代碼以產生多個連序經修改的拌碼代碼。在一個實施例中,該拌碼邏輯區塊用以將該經修改的拌碼代碼應用於包括命令及位址資訊之信號。在一個實施例中,其中Z大於X,且其中該信號組合電路用以藉由以下方式應用該經修改的拌碼代碼:將該X位元拌碼代碼分割成拌碼代碼之N個子集,該等子集各自具有少於X個位元;以及將拌碼代碼之該等N個子集選擇性地應用於多個XOR區塊以自該等N個子集之位元之選定組合產生經修改的拌碼代碼,以將該經修改的拌碼代碼應用於具有多於X個位元之信號。在一個實施例中,該信號組合電路用以藉由以下方式應用該經修改的拌碼代碼:將該X位元拌碼代碼分割成兩個(X/2)位元拌碼代碼,且將該兩個(X/2)位元拌碼代碼應用於多個XOR區塊,以將該拌碼代碼應用於具有多於X個位元之信號。在一個實施例中,該信號組合電路用以藉由以下方式應用該經修改的拌碼代碼:將該X位元拌碼代碼分割成多個拌碼代碼段,該等拌碼代碼段各自具有少於X個位元,其中該等拌碼代碼段之至少兩者具有不同數目之位元;以及將該多個拌碼代碼段應用於多個XOR區塊,以將該拌碼代碼應用於該接收信號。在一個實施例中,其中Z小於X,且其中該信號組合電路用以藉由以下方式應用該經修改的拌 碼代碼:將該X位元拌碼代碼分割成拌碼代碼之N個子集,該等子集各自具有少於X個位元;以及將拌碼代碼之該等N個子集選擇性地應用於多個XOR區塊以自該等N個子集之位元之選定組合產生經修改的拌碼代碼,以將該經修改的拌碼代碼應用於具有少於X個位元之信號。在一個實施例中,記憶體裝置包含非依電性記憶體裝置。在一個實施例中,記憶體裝置包含依電性記憶體裝置。在一個實施例中,該信號組合電路用以應用該經修改的拌碼代碼,包括應用該經修改的拌碼代碼以去拌碼在該主機控制器與該記憶體裝置之間交換的接收信號。在一個實施例中,該信號組合電路用以應用該經修改的拌碼代碼,包括在該主機控制器處應用該經修改的拌碼代碼以去拌碼在該記憶體裝置處拌碼的接收信號。在一個實施例中,該信號組合電路用以應用該經修改的拌碼代碼,包括應用該經修改的拌碼代碼以去拌碼在該記憶體裝置處的接收信號。
在一個態樣中,具有記憶體子系統之電子裝置包括記憶體控制器,其具有拌碼器電路,該拌碼器電路包括:線性回饋移位暫存器(LFSR),用以在該記憶體控制器處產生X位元拌碼代碼;拌碼邏輯區塊,用以選擇性地雙態觸變該拌碼代碼之位元以產生經修改的拌碼代碼,從而致使相對於來自該拌碼器電路之先前經拌碼的輸出而言少於一半之該等經拌碼的輸出位元獲雙態觸變;以及信號組合電路,用以應用該經修改的拌碼代碼以拌碼Z位元發射信號來輸出至記憶體裝置,其中Z等於或大於X;輸入/輸出(I/O) 介面,其耦接至該記憶體控制器;以及記憶體裝置,其經由該I/O介面耦接至該記憶體控制器,該記憶體裝置具有包括以下者之拌碼器電路:線性回饋移位暫存器(LFSR),用以在該記憶體裝置處產生X位元拌碼代碼;拌碼邏輯區塊,用以選擇性地雙態觸變該X位元拌碼代碼之位元以產生經修改的拌碼代碼,從而致使相對於先前經拌碼的輸出而言少於一半之該等經拌碼的輸出位元獲雙態觸變;信號組合電路,用以應用該經修改的拌碼代碼以去拌碼接收自該記憶體控制器之該Z位元接收信號;以及觸控螢幕顯示器,其經耦接來基於自該記憶體裝置存取之資料而產生顯示器。參考拌碼器描述的任何實施例可應用於該電子裝置。參考解拌碼器描述的任何實施例可應用於該電子裝置。
在一個態樣中,製品包含其上儲存有內容之電腦可讀儲存媒體,當該內容獲存取時致使計算裝置進行用於信號拌碼之操作,該等操作包括:產生線性反饋拌碼代碼,該拌碼代碼包括X個位元;應用第二拌碼操作以選擇性地改變該拌碼代碼之位元以產生經修改的拌碼代碼,從而致使相對於先前經拌碼的輸出而言少於一半之該等經拌碼的輸出位元獲雙態觸變;以及將該經修改的拌碼代碼應用於偵測信號以供在主機控制器與記憶體裝置之間交換來產生輸出。參考用於信號拌碼之方法描述的任何實施例亦可應用於製品。
在一個態樣中,用於信號拌碼之設備包括:用於產生線性反饋拌碼代碼之手段,該拌碼代碼包括X個位 元;用於應用第二拌碼操作以選擇性地改變該拌碼代碼之位元以產生經修改的拌碼代碼,從而致使相對於先前經拌碼的輸出而言少於一半之該等經拌碼的輸出位元獲雙態觸變之手段;以及用於將該經修改的拌碼代碼應用於偵測信號以供在主機控制器與記憶體裝置之間交換來產生輸出之手段。參考用於信號拌碼之方法描述的任何實施例亦可應用於設備。
如本文所例示之流程圖提供各種過程動作之順序之實例。該等流程圖可指示將要由軟體或韌體常式執行之操作,以及實體操作。在一個實施例中,流程圖可例示有限狀態機器(FSM)之狀態,該有限狀態機器可實行於硬體及/或軟體中。儘管以特定順序或次序展示出,但是除非另有規定,否則可修改動作之次序。因此,所例示實施例應僅作為一實例來理解,且可以不同次序進行過程,且可並行地進行一些動作。另外,在各種實施例中可省略一或多個動作;因此,並非所有動作在每一實施例中皆需要。其他過程流程係可能的。
在本文描述各種操作或功能之程度上,該等操作或功能可經描述或定義為軟體代碼、指令、組態及/或資料。內容可為可直接執行的(「物件」或「可執行」形式)、原始代碼或差分代碼(「差量」或「修補」代碼)。本文所描述之實施例之軟體內容可經由儲存有內容的製品或經由操作通訊介面以經由該通訊介面發送資料之方法來提供。機器可讀儲存媒體可使機器進行所描述之功能或操作,且包 括儲存呈可藉由機器(例如,計算裝置、電子系統等)存取之形式之資訊的任何機構,諸如可記錄/非可記錄媒體(例如,唯讀記憶體(ROM)、隨機存取記憶體(RAM)、磁性碟片儲存媒體、光學儲存媒體、快閃記憶體裝置等)。通訊介面包括介接至硬連線、無線、光學等等媒體之任何者的任何機構,以與諸如記憶體匯流排介面、處理器匯流排介面、網際網路連接、碟片控制器等等之另一裝置通訊。通訊介面可藉由以下方式組配:提供組配參數及/或發送信號來準備通訊介面以提供描述軟體內容之資料信號。通訊介面可經由發送至通訊介面的一或多個命令或信號存取。
本文所描述之各種組件可為用於進行所描述之操作或功能之構件。本文所描述之每一組件包括軟體、硬體或此等軟體、硬體之組合。組件可經實行為軟體模組、硬體模組、專用硬體(例如,應用程式特定的硬體、特定應用積體電路(ASIC)、數位信號處理器(DSP)等)、嵌入式控制器、硬連線電路等。
除了本文描述的以外,可在不脫離所揭示的實施例及本發明之實行方案之範疇的情況下對該等實施例及本發明之實行方案進行各種修改。
因此,本文之例示及實例應理解為例示性的,並且不具有限制性意義。本發明範圍應僅參考以下申請專利範圍來衡量。
100‧‧‧系統
102‧‧‧主機
110‧‧‧主機控制器
112‧‧‧發射器(TX)資料路徑/TX
114‧‧‧接收器(RX)資料路徑/RX
116‧‧‧控制邏輯
120‧‧‧記憶體裝置
122‧‧‧TX路徑
124‧‧‧RX路徑
126‧‧‧裝置控制
128‧‧‧儲存媒體
130‧‧‧互連

Claims (25)

  1. 一種用於信號拌碼之方法,其包含:產生一線性反饋拌碼代碼,該拌碼代碼包括X個位元;應用一第二拌碼操作以選擇性地改變該拌碼代碼之位元以產生一經修改的拌碼代碼,致使相對於一先前經拌碼輸出而言少於一半之該等經拌碼輸出位元被雙態觸變;以及將該經修改的拌碼代碼應用於一偵測信號以供在一主機控制器與一記憶體裝置之間交換來產生一輸出。
  2. 如請求項1之方法,其中產生該線性反饋拌碼代碼包含:對該信號產生一線性回饋移位暫存器(LFSR)代碼。
  3. 如請求項1之方法,其中應用該第二拌碼操作進一步包含:應用一非線性拌碼操作。
  4. 如請求項3之方法,其中應用該非線性拌碼操作包含:進行該拌碼代碼之一位元重對映以選擇性地改變該等X個位元中之一些位元。
  5. 如請求項1之方法,其中應用該第二拌碼操作進一步包含:將動態匯流排反轉(DBI)應用於該拌碼代碼。
  6. 如請求項1之方法,其中應用該第二拌碼操作進一步包含: 應用該拌碼代碼之選定位元的選擇性切換。
  7. 如請求項6之方法,其中應用該等選定位元之選擇性切換包含:將該拌碼代碼之偶數或奇數訊道兩者雙態觸變。
  8. 如請求項1之方法,其中將該第二拌碼操作應用於該拌碼代碼進一步包含:應用一非線性拌碼操作、該線性拌碼輸出之選定位元之選擇性切換以及DBI中兩個或兩個以上的一組合。
  9. 如請求項1之方法,其中將該第二拌碼操作應用於該拌碼代碼進一步包含:將一或多個第二拌碼操作連序地應用於一單一拌碼代碼以產生多個連序經修改的拌碼代碼。
  10. 如請求項1之方法,其中將該經修改的拌碼代碼應用於該偵測信號進一步包含:將該經修改的拌碼代碼應用於包括命令及位址資訊之一偵測信號。
  11. 如請求項1之方法,其中將該經修改的拌碼代碼應用於該偵測信號進一步包含:將該X位元拌碼代碼分割成拌碼代碼之N個子集,該等子集各自具有少於X個位元;以及將拌碼代碼之該等N個子集選擇性地應用於多個XOR區塊以自該等N個子集之位元的選定組合產生一經修改的拌碼代碼,以將該經修改的拌碼代碼應用於具有多於X個位元之一信號。
  12. 如請求項11之方法,其中將該X位元拌碼代碼分割成拌碼代碼之N個子集進一步包含:將該X位元拌碼代碼分割成兩個(X/2)位元拌碼代碼,且將該兩個(X/2)位元拌碼代碼應用於多個XOR區塊,以將該拌碼代碼應用於具有多於X個位元之一信號。
  13. 如請求項1之方法,其中該記憶體裝置包含一非依電性記憶體裝置。
  14. 如請求項1之方法,其中將該經修改的拌碼代碼應用於該偵測信號包含:應用該經修改的拌碼代碼以拌碼用以在該主機控制器與該記憶體裝置之間發射的一信號。
  15. 如請求項14所述之方法,應用該經修改的拌碼代碼以拌碼要發射的該信號包含:在該主機控制器處應用該經修改的拌碼代碼以拌碼要被並行發射至耦接至該主機控制器之多個記憶體裝置的該信號。
  16. 如請求項1之方法,其中將該經修改的拌碼代碼應用於該偵測信號包含:應用該經修改的拌碼代碼以去拌碼在該主機控制器與該記憶體裝置之間所發射的一信號。
  17. 一種拌碼器電路,其包含:一線性回饋移位暫存器(LFSR),其用以產生一X位元拌碼代碼; 一拌碼邏輯區塊,其用以選擇性地雙態觸變該X位元拌碼代碼之位元以產生一經修改的拌碼代碼,致使相對於一先前經拌碼輸出而言少於一半之該等經拌碼輸出位元被雙態觸變;以及一信號組合電路,其用以應用該經修改的拌碼代碼以拌碼一Z位元發射信號來輸出至一接收裝置,其中Z係等於或大於X。
  18. 如請求項17之拌碼器電路,其中該拌碼邏輯區塊係用以將一非線性拌碼操作應用於該拌碼代碼,或將動態匯流排反轉(DBI)應用於該拌碼代碼,或應用該拌碼代碼之選定位元之選擇性切換,或將此等者之一組合應用於該拌碼代碼。
  19. 如請求項17之拌碼器電路,其中Z係大於X,且其中該信號組合電路係用以藉由以下方式應用該經修改的拌碼代碼將該X位元拌碼代碼分割成拌碼代碼之N個子集,該等子集各自具有少於X個位元;以及將拌碼代碼之該等N個子集選擇性地應用於多個XOR區塊以自該等N個子集之位元的選定組合產生一經修改的拌碼代碼,以將該經修改的拌碼代碼應用於具有多於X個位元之一信號。
  20. 一種解拌碼器電路,其包含:一線性回饋移位暫存器(LFSR),其用以產生一X位元拌碼代碼; 一拌碼邏輯區塊,其用以選擇性地雙態觸變該拌碼代碼之位元以產生經修改的拌碼代碼,致使相對於先前經拌碼輸出而言少於一半之該等經拌碼輸出位元被雙態觸變;以及一信號組合電路,其用以應用該經修改的拌碼代碼以去拌碼接收自一發射裝置之一Z位元接收信號,其中Z係等於或大於X。
  21. 如請求項20之解拌碼器電路,其中該拌碼邏輯區塊係用以將一非線性拌碼操作應用於該拌碼代碼,或將動態匯流排反轉(DBI)應用於該拌碼代碼,或應用該拌碼代碼之選定位元之選擇性切換,或將此等者之一組合應用於該拌碼代碼。
  22. 如請求項20之解拌碼器電路,其中Z係大於X,且其中該信號組合電路係用以藉由以下方式應用該經修改的拌碼代碼將該X位元拌碼代碼分割成拌碼代碼之N個子集,該等子集各自具有少於X個位元;以及將拌碼代碼之該等N個子集選擇性地應用於多個XOR區塊以自該等N個子集之位元的選定組合產生一經修改的拌碼代碼,以將該經修改的拌碼代碼應用於具有多於X個位元之一信號。
  23. 一種具有一記憶體子系統之電子裝置,其包含:一記憶體控制器,其具有一拌碼器電路,該拌碼器電路包括 一線性回饋移位暫存器(LFSR),其用以在該記憶體控制器處產生一X位元拌碼代碼;一拌碼邏輯區塊,其用以選擇性地雙態觸變該拌碼代碼之位元以產生一經修改的拌碼代碼,致使相對於來自該拌碼器電路之一先前經拌碼輸出而言少於一半之該等經拌碼輸出位元被雙態觸變;及一信號組合電路,其用以應用該經修改的拌碼代碼以拌碼一Z位元發射信號來輸出至一記憶體裝置,其中Z係等於或大於X;一輸入/輸出(I/O)介面,其耦接至該記憶體控制器;以及一記憶體裝置,其經由該I/O介面耦接至該記憶體控制器,該記憶體裝置具有包括以下之一拌碼器電路:一線性回饋移位暫存器(LFSR),其用以在該記憶體裝置處產生該X位元拌碼代碼;一拌碼邏輯區塊,其用以選擇性地雙態觸變該X位元拌碼代碼之位元以產生一經修改的拌碼代碼,致使相對於一先前經拌碼輸出而言少於一半之該等經拌碼輸出位元被雙態觸變;一信號組合電路,其用以應用該經修改的拌碼代碼以去拌碼接收自該記憶體控制器之該Z位元接收信號;以及一觸控螢幕顯示器,其經耦接來基於自該記憶體裝置所存取之資料而產生一顯示。
  24. 如請求項23之電子裝置,其中該拌碼器電路及該解拌碼器電路兩者之該等拌碼邏輯區塊係用以將一非線性拌碼操作應用於該拌碼代碼,或將動態匯流排反轉(DBI)應用於該拌碼代碼,或應用該拌碼代碼之選定位元之選擇性切換,或將此等者之一組合應用於該拌碼代碼。
  25. 如請求項23之電子裝置,其中該拌碼器電路及該解拌碼器電路兩者之該等拌碼邏輯區塊係用以將一或多個第二拌碼操作連序地應用於一單一拌碼代碼以產生多個連序經修改的拌碼代碼。
TW104139408A 2014-12-27 2015-11-26 具有經改良的信號完整性之較低功率拌碼技術 TWI579703B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/583,623 US9792246B2 (en) 2014-12-27 2014-12-27 Lower-power scrambling with improved signal integrity

Publications (2)

Publication Number Publication Date
TW201636861A true TW201636861A (zh) 2016-10-16
TWI579703B TWI579703B (zh) 2017-04-21

Family

ID=56151335

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104139408A TWI579703B (zh) 2014-12-27 2015-11-26 具有經改良的信號完整性之較低功率拌碼技術

Country Status (6)

Country Link
US (1) US9792246B2 (zh)
EP (1) EP3238345B1 (zh)
KR (1) KR102512361B1 (zh)
CN (1) CN107003963B (zh)
TW (1) TWI579703B (zh)
WO (1) WO2016105783A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10331586B2 (en) * 2015-10-30 2019-06-25 Samsung Electronics Co., Ltd. Nonvolatile memory device for providing fast booting and system including the same
US10373657B2 (en) 2016-08-10 2019-08-06 Micron Technology, Inc. Semiconductor layered device with data bus
CN107547162B (zh) * 2017-09-22 2019-02-26 上海航天测控通信研究所 一种抗空间单粒子翻转的并行加扰方法
KR102452621B1 (ko) * 2018-06-04 2022-10-07 삼성전자주식회사 선형 피드백 쉬프트 레지스터를 이용하여 데이터를 복구하는 장치 및 이를 포함하는 데이터 송수신 시스템
US11797717B2 (en) * 2019-05-21 2023-10-24 Micron Technology, Inc. Bus encryption for non-volatile memories
CN111238463B (zh) * 2020-01-19 2021-10-29 湖北三江航天红峰控制有限公司 一种基于随机序列数字闭环光纤陀螺的调制方法及装置
CN113468518A (zh) * 2020-03-30 2021-10-01 瑞昱半导体股份有限公司 用于针对非易失性存储器进行信息保护的方法和设备
KR102208497B1 (ko) * 2020-07-01 2021-01-27 주식회사 파두 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스
US11782715B2 (en) 2021-01-21 2023-10-10 Semiconductor Components Industries, Llc Methods and apparatus for reordering signals
CN113115113B (zh) * 2021-03-17 2023-05-09 Tcl华星光电技术有限公司 扰码装置及扰码方法
US20220366090A1 (en) * 2021-05-17 2022-11-17 Semiconductor Components Industries, Llc Secure serial bus with automotive applications
US11720516B2 (en) 2021-08-15 2023-08-08 Apple Inc. Methods for data bus inversion
WO2023122445A1 (en) * 2021-12-20 2023-06-29 Nvidia Corporation Techniques for data scrambling on a memory interface
US11836107B2 (en) 2022-03-01 2023-12-05 Apple Inc. Power consumption control based on random bus inversion
US11777770B1 (en) 2022-04-22 2023-10-03 Microsoft Technology Licensing, Llc Dynamic shift in outputs of serial and parallel scramblers and descramblers

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5818832B2 (ja) * 1975-10-02 1983-04-14 パイオニア株式会社 映像信号伝送におけるスクランブル装置
US5412665A (en) 1992-01-10 1995-05-02 International Business Machines Corporation Parallel operation linear feedback shift register
US6389138B1 (en) * 1998-11-12 2002-05-14 Lucent Technologies Inc. Method and apparatus for generating a complex scrambling code sequence
US6240432B1 (en) 1998-12-28 2001-05-29 Vanguard International Semiconductor Corporation Enhanced random number generator
KR100657240B1 (ko) 1999-07-10 2007-01-12 삼성전자주식회사 랜덤 데이터 발생기
US6640236B1 (en) 1999-08-31 2003-10-28 Qualcomm Incorporated Method and apparatus for generating multiple bits of a pseudonoise sequence with each clock pulse by computing the bits in parallel
KR100594042B1 (ko) * 1999-09-22 2006-06-28 삼성전자주식회사 비동기 이동통신시스템의 멀티 스크램블링 코드 생성 장치 및 방법
US6816992B2 (en) 2001-02-28 2004-11-09 Tektronix, Inc. Test generator having a poisson distribution error signal
JP4596686B2 (ja) 2001-06-13 2010-12-08 富士通株式会社 Dpaに対して安全な暗号化
US7194619B2 (en) 2002-03-26 2007-03-20 International Business Machines Corporation Remotely booting devices in a dense server environment without manually installing authentication parameters on the devices to be booted
US7426532B2 (en) 2002-08-27 2008-09-16 Intel Corporation Network of disparate processor-based devices to exchange and display media files
AU2003276792A1 (en) 2002-11-08 2004-06-07 Infineon Technologies Ag A method of error control coding and decoding of messages in a packet-based data transmission system
JP2004361986A (ja) * 2003-04-08 2004-12-24 Sharp Corp スクランブル回路
US7016213B2 (en) 2003-05-13 2006-03-21 Advanced Micro Devices, Inc. Method for initializing a system including a host and plurality of memory modules connected via a serial memory interconnect
US7346817B2 (en) * 2004-08-23 2008-03-18 Micron Technology, Inc. Method and apparatus for generating and detecting initialization patterns for high speed DRAM systems
JP2008513141A (ja) 2004-09-17 2008-05-01 コーディス・ニューロバスキュラー・インコーポレイテッド 動脈瘤または血管を施栓する薄膜金属器具
US7437531B2 (en) 2004-09-30 2008-10-14 Intel Corporation Testing memories
US20060132492A1 (en) 2004-12-17 2006-06-22 Nvidia Corporation Graphics processor with integrated wireless circuits
US7843926B1 (en) 2005-04-05 2010-11-30 Oracle America, Inc. System for providing virtualization of network interfaces at various layers
US20060281425A1 (en) 2005-06-08 2006-12-14 Jungerman Roger L Feed forward spur reduction in mixed signal system
US20090129448A1 (en) * 2006-02-15 2009-05-21 Joshua Lawrence Koslov Apparatus and Method For Generating Scrambling Codes
US8000404B2 (en) * 2006-03-28 2011-08-16 Advanced Micro Devices, Inc. Method and apparatus to reduce the effect of crosstalk in a communications interface
US20070283231A1 (en) * 2006-05-08 2007-12-06 Hoyle David J Multi-Standard Scramble Code Generation Using Galois Field Arithmetic
US7793195B1 (en) 2006-05-11 2010-09-07 Link—A—Media Devices Corporation Incremental generation of polynomials for decoding reed-solomon codes
US8552891B2 (en) * 2006-05-27 2013-10-08 Samsung Electronics Co., Ltd. Method and apparatus for parallel data interfacing using combined coding and recording medium therefor
KR100782327B1 (ko) 2006-05-27 2007-12-06 삼성전자주식회사 반도체 장치 사이의 단일형 병렬데이터 인터페이스 방법,기록매체 및 반도체 장치
CN101098299B (zh) * 2006-06-27 2010-08-18 中兴通讯股份有限公司 一种比特加扰的并行方法及装置
US7486208B2 (en) * 2007-05-16 2009-02-03 International Business Machines Corporation High-rate RLL encoding
US7945050B2 (en) * 2007-09-28 2011-05-17 Intel Corporation Suppressing power supply noise using data scrambling in double data rate memory systems
US8503678B2 (en) 2007-09-28 2013-08-06 Intel Corporation Suppressing power supply noise using data scrambling in double data rate memory systems
US7501963B1 (en) * 2007-10-17 2009-03-10 Micron Technology, Inc. Balanced data bus inversion
US7616133B2 (en) * 2008-01-16 2009-11-10 Micron Technology, Inc. Data bus inversion apparatus, systems, and methods
US20090238069A1 (en) 2008-03-19 2009-09-24 Himax Technologies Limited Device and method for controlling program stream flow
US8154918B2 (en) * 2008-06-30 2012-04-10 Sandisk Il Ltd. Method for page- and block based scrambling in non-volatile memory
US8184034B2 (en) * 2008-07-21 2012-05-22 Cambridge Silicon Radio Limited Code sequence generator
US8261159B1 (en) * 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
KR100991957B1 (ko) * 2009-01-20 2010-11-04 주식회사 팬택 광대역 무선통신시스템에서의 스크램블링 코드 생성 장치 및 그 방법
US9150341B2 (en) * 2009-09-02 2015-10-06 Monosol Rx, Llc Unit assembly and method of making same
US8402349B2 (en) * 2010-12-06 2013-03-19 Apple Inc. Two dimensional data randomization for a memory
US8713379B2 (en) * 2011-02-08 2014-04-29 Diablo Technologies Inc. System and method of interfacing co-processors and input/output devices via a main memory system
US8405529B2 (en) * 2011-03-11 2013-03-26 Taiwan Semiconductor Manufacturing Company, Ltd. Using bus inversion to reduce simultaneous signal switching
US8666068B2 (en) 2011-10-20 2014-03-04 Sandisk Technologies Inc. Method for scrambling shaped data
US8972646B2 (en) 2012-03-30 2015-03-03 Intel Corporation Superspeed inter-chip interface
US8942309B1 (en) * 2012-05-04 2015-01-27 Rambus Inc. Signal output improvement using data inversion and/or swapping
KR20140090761A (ko) * 2013-01-10 2014-07-18 삼성전자주식회사 디스플레이 구동회로 및 디스플레이 구동 회로의 데이터 전송 방법
US9210010B2 (en) 2013-03-15 2015-12-08 Apple, Inc. Methods and apparatus for scrambling symbols over multi-lane serial interfaces
US20140310534A1 (en) * 2013-04-15 2014-10-16 Apple Inc. Data scrambling in memory devices using combined sequences
US9122570B2 (en) * 2013-09-03 2015-09-01 Nanya Technology Corp. Data pattern generation for I/O training and characterization
US9270417B2 (en) * 2013-11-21 2016-02-23 Qualcomm Incorporated Devices and methods for facilitating data inversion to limit both instantaneous current and signal transitions
US9324454B2 (en) 2013-12-30 2016-04-26 Qualcomm Incorporated Data pattern generation for I/O testing of multilevel interfaces
CN103745746A (zh) * 2013-12-31 2014-04-23 华为技术有限公司 数据处理方法、加扰器和存储控制器
JP6325264B2 (ja) * 2014-01-31 2018-05-16 ローム株式会社 シリアルデータの送信回路および受信回路、それらを用いた伝送システム、電子機器、シリアルデータの伝送方法
US9343149B2 (en) * 2014-07-10 2016-05-17 Micron Technology, Inc. Enhancing nucleation in phase-change memory cells

Also Published As

Publication number Publication date
CN107003963B (zh) 2021-03-12
KR102512361B1 (ko) 2023-03-22
WO2016105783A1 (en) 2016-06-30
EP3238345A4 (en) 2018-08-15
US20160188523A1 (en) 2016-06-30
EP3238345A1 (en) 2017-11-01
EP3238345B1 (en) 2021-09-08
TWI579703B (zh) 2017-04-21
CN107003963A (zh) 2017-08-01
US9792246B2 (en) 2017-10-17
KR20170098804A (ko) 2017-08-30

Similar Documents

Publication Publication Date Title
TWI579703B (zh) 具有經改良的信號完整性之較低功率拌碼技術
CN107533525B (zh) 具有独立接口路径的存储器设备的通用管芯实现
CN105279439B (zh) 用于就地执行的存储器的加密方法
US8402349B2 (en) Two dimensional data randomization for a memory
JP5613175B2 (ja) コンテンツ保護ポートの事前認証と認証維持のための方法、装置およびシステム
JP6723999B2 (ja) デバイス間の信号送信のための方法、回路、電子デバイス、プログラム、装置およびコンピュータ可読記憶媒体
US8373708B2 (en) Video processing system, method, and computer program product for encrypting communications between a plurality of graphics processors
TW200811873A (en) Semiconductor devices, a system including semiconductor devices and methods thereof
KR20160076889A (ko) 반도체장치 및 반도체시스템
CN105120184A (zh) 一种基于fpga的高清视频无缝矩阵
TWI705332B (zh) 以互斥或(xor)爲基礎之用於數位相位控制的三角混合技術
CN106062814B (zh) 由图形处理器改进的成组存储器存取效率
US20100026690A1 (en) System, method, and computer program product for synchronizing operation of a first graphics processor and a second graphics processor in order to secure communication therebetween
KR102161735B1 (ko) 펄스폭 변조 데이터 복원 장치 및 이의 구동 방법
CN114840455A (zh) 存储器接口上的数据加扰技术
KR101572738B1 (ko) 애플리케이션-불가지론적 오디오 가속을 위한 시스템, 방법 및 컴퓨터 프로그램 제품
US11064295B2 (en) Scrambling data-port audio in SOUNDWIRE systems
KR100799908B1 (ko) 메모리에 연결된 인터페이스 모듈
KR20230032429A (ko) 메모리 장치 및 메모리 장치의 데이터 암복호화 방법
KR20170008068A (ko) 고속 통신을 위한 인터페이스 회로 및 이를 포함하는 시스템
KR20150113588A (ko) 데이터 처리 장치 및 데이터 처리 시스템