TWI543543B - 使用高速串列連結之記憶體系統之編碼系統 - Google Patents

使用高速串列連結之記憶體系統之編碼系統 Download PDF

Info

Publication number
TWI543543B
TWI543543B TW098133895A TW98133895A TWI543543B TW I543543 B TWI543543 B TW I543543B TW 098133895 A TW098133895 A TW 098133895A TW 98133895 A TW98133895 A TW 98133895A TW I543543 B TWI543543 B TW I543543B
Authority
TW
Taiwan
Prior art keywords
block
encoding
code
coding
bit
Prior art date
Application number
TW098133895A
Other languages
English (en)
Other versions
TW201018097A (en
Inventor
李承鐘
沈大允
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 TW201018097A publication Critical patent/TW201018097A/zh
Application granted granted Critical
Publication of TWI543543B publication Critical patent/TWI543543B/zh

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • H03M5/14Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
    • H03M5/145Conversion to or from block codes or representations thereof
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • H03M5/14Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

使用高速串列連結之記憶體系統之編碼系統
本發明之實施例大體上關於網路及資料傳輸之領域,特別關於一種用於使用高速串列連結的記憶體系統之編碼系統。
在數據資料傳輸中,數據資料傳輸編碼(編碼/解碼)是很常見的。舉例來說,擴充卡介面(PC expansion card interface,簡稱PCIe)及串列硬碟存取(serialized hard disk access,簡稱SATA)技術係利用一位元組導向直流平衡連串長度8B/10B編碼(可參閱於美國專利公告第4,486,739號;使用16B/20B的例子亦可參閱於美國專利公告第5,663,724號及第6,617,984號)。此編碼係由聯合電子設備工程委員會(Joint Electron Device Engineering Council,簡稱JEDEC)所統一標準。傳統的編碼技術有兩個特性:確保連串長度低於5;及提供直流平衡輸出。
關於8B/10B的第一特性,最大連串長度特性對於縮小由類比物理層所導致的位元錯誤而言是重要的,其中類比物理層係助於偵測在一串列線的資料改變並試圖去發現一最佳探測位置以縮小位元錯誤。然而,如果此串列資料的改變較預期的小,物理層將具有很少的資訊可以去決定此探測位置因而導致增加位元錯誤的可能性。再者,最大允許距離可依據連串長度及循環訊號等所決定。關於第二特性,如果一串列線以一交流耦合(AC-coupling)所實行時,直流平衡輸出是重要的。大多數的高速串列連結技術以不同導線為基礎,且資料則藉由測量兩條導線的差異來感測。為了增加相容性,少數的訊號改變傳送至具有限制直流成分的目的地。此技術稱為交流耦合。雖然其在實施端僅具有很少的效能,但其為一輸入限制:在一段時間間隔中,「0」的數量和「1」的數量是平衡的。當此編碼符合此要求,則視同為直流平衡。8B/10B編碼提供如此好的特性;然而,卻明顯的增加了等待時間。例如:每一位元組可利用此8B/10B編碼來編碼,但每一編碼必須使先前的結果都符合直流平衡的要求以致於計算過程的增加。8B/10B編碼技術的高等待時間導致低記憶體性能,也因此,在很多情況下不值得使用,特別是在行動裝置的例子。於設計行動裝置時,記憶體性能是考量上的一必需要件。
然而,串列埠記憶體技術(Serial Port Memory Technology,簡稱SPMT)不同於傳統記憶體技術在於其在記憶體區使用高速串列連結技術。當直流平衡非必要時,使用串列埠記憶體技術縮短等待時間(latency)則是必須的。因此,亟需一種可提供低等待時間且於編碼時不需任何記憶體資源合併來改良記憶體性能的資料傳輸編碼系統。
提供一方法、裝置及系統係使用高速串列連結以應用於記憶體系統中的一編碼系統之一實施例。舉例而言,利用一17位元/20位元(17B/20B)編碼系統。此17B/20B編碼系統具有一17位元/20位元編碼器,係作為一編碼器/解碼器以編碼/解碼記憶體中的一17B/20B編碼。本說明書全文中僅使用17B/20B編碼系統作為例子來說明係為了達到簡潔及清楚之目的。但需考慮並注意到本發明之編碼系統技術之實施例係可應用於任何數值之編碼系統,例如,可被擴大應用於大於17B/20B之一編碼系統。於一實施例中,一編碼系統被應用於使用高速串列連結之一記憶體系統,且此編碼系統確保一連串長度不會超過一定義數值,例如「5」。同樣地,使用等於或小於「5」的連串長度於本說明書中係作為一範例,一實施例亦可決定或預定最大連串長度為任何數值並使編碼系統可以確保不會超過此最大連串長度。
於一實施例中,一裝置包含一編碼器。此編碼器用以接收一輸入串流,係包含一第一碼區塊及一第二碼區塊,分割此第一碼區塊為複數個第一小碼區塊,並分割此第二碼區塊為複數個第二小碼區塊,及執行編碼一記憶體,其係使用至少一串列線連結以傳輸,其中此編碼包含編碼第一碼區塊中的第一小碼區塊及第二碼區塊中的第二小碼區塊,其中執行此第一及第二碼區塊的編碼以維持一最大連串長度。
於一實施例中,一系統包含一編碼電路以接收一輸入串流,係包含一第一碼區塊及一第二碼區塊,分割此第一碼區塊為複數個第一小碼區塊,及分割此第二碼區塊為複數個第二小碼區塊,並執行編碼一記憶體,其係使用至少一串列線連結以傳輸,其中此編碼包含編碼第一碼區塊中的第一小碼區塊及第二碼區塊的第二小碼區塊,其中執行此第一及第二碼區塊的編碼以維持一最大連串長度。
於一實施例中,一方法包含接收一輸入串流,係包含一第一碼區塊及一第二碼區塊,分割此第一碼區塊為複數個第一小碼區塊,及分割此第二碼區塊為複數個第二小碼區塊,並執行編碼一記憶體,其係使用至少一串列線連結以傳輸,其中此編碼包含編碼第一碼區塊的第一小碼區塊和第二碼區塊的第二小碼區塊,其中執行此第一及第二碼區塊的編碼以維持一最大連串長度。
本發明的實施方式以實施例來說明,但並不以此限制,且在對應的圖式中相似的元件會相似的元件符號來表示。
本發明之實施方式廣泛地應用於使用高速串列連結之記憶體系統之一編碼系統。
在此,「網路」或「傳輸網路」係指一互連網路以傳輸各裝置間的數位媒體內容(包含音樂、聲音/影像、遊戲、照片等)。一娛樂網路可包含一個人的娛樂網路,例如於一家庭中之一網路、一企業設定之一網路、或任何其他裝置及/或組合之一網路。於一網路中,一些網路裝置可為媒體內容之一來源,例如一數位電視調諧器、有線電視機上盒、視頻儲存伺服器、及其他來源裝置。其它裝置可播放或使用媒體內容,例如一數位電視、家庭劇院系統、音響裝置、遊戲系統、及其他裝置。再者,一些裝置可被預期來儲存或轉換媒體內容,例如影音儲存伺服器。一些裝置可執行多種媒體功能。於一些實施例中,這些網路裝置可被共同置於在一單一區域網路上。於其他實施例中,這些網路裝置可被橫貫多個網路區段,例如穿通於區域網路之間。此娛樂網路可包含多數個資料編碼和加密程序。
串列埠記憶體技術不同於傳統記憶體技術(例如動態隨機存取記憶體(DRAM))在於其於記憶體區中使用高速串列線技術。當直流平衡非必要時,使用串列埠記憶體技術縮短等待時間則是必須的。例如,提供一直流耦合連結(等同抵制直流平衡)且記憶體在焊接後依舊附著於電路板上,因此直流平衡編碼就不是必要的。再者,於串列埠記憶體技術中,因為串列線相對於一傳統的動態隨機存取記憶體介面來說用很多循環使記憶體性能在等待時間的部分變得更靈敏。因此,順序和複雜的編碼系統,例如8B/10B編碼,就不適合於串列埠記憶體技術,因為其最終會戲劇性地增加硬碟的等待時間。
考量串列埠記憶體技術為一新記憶體介面結構,動態隨機存取記憶體晶片最初目標係應用於一串列介面結構以相對於一平行介面構造,如同常見於現行的記憶體技術。串列埠記憶體技術通常於一記憶體區中使用一高速串列連結技術,以提供低功率並將連接一主機與一記憶體間的接腳計數減少等優點。然而,如果記憶體頻寬要求高於一高速串列線所能支撐時(例如:複數個Gbps),則必須使用複數個串列線。因此,當一主機同時傳送大量的數據資料(例如:讀取資料、寫入資料),記憶體則需提供具有足夠的頻寬來使這些大量的數據資料透過複數個串列線或串列頻道通過其中。
提供一方法、裝置和系統應用於一17位元/20位元編碼系統,係包含一17位元/20位元編碼器/解碼器以編碼/解碼記憶體之一17位元/20位元編碼。於一實施例中,一裝置包含提供一17B/20B編碼器。此17B/20B編碼器用以接收一輸入串流,係包含一17B碼區塊和一20B碼區塊,分割此17B碼區塊為複數個第一碼區塊,及分割此20B碼區塊為複數個第二碼區塊,並利用至少一串列線來執行傳輸以將記憶體之編碼17B置入於20B,其中編碼包含編碼此17B碼區塊之第一碼區塊和20B碼區塊之第二碼區塊,其中執行第一及第二碼區塊的編碼以維持於一最大連串長度。此記憶體的編碼與一指令的編碼係並存執行,其中此編碼包含編碼或解碼,其中此指令的編碼選擇可使此指令不需通過一解碼器來執行解碼。再者,執行第一碼區塊合併進入於第二碼區塊以形成一被編碼的17B/20B碼區塊,其中此編碼可應用於動態隨機存取記憶體、靜態隨機存取記憶體(SRAM)、唯讀記憶體(ROM)、及快閃記憶體等。
本發明的實施例提供一17B/20B編碼系統係具有一連串長度等於或小於5位元並將17位元編碼置入於20位元空間中,反之亦然。這個技術是可以相容於不同系統中的,例如一串列埠記憶體技術、動態隨機存取記憶體、光纖等。於一實施例中,提供一額外位元(第17位元)作為一指令位元以涵蓋一指令來指示指令/資料沿著一16位元資料有效負載以提供一17B/20B之一實施例,因此,此硬碟執行簡單並較容易於實施即使電路是手製(例如:甚至是動態隨機存取記憶體的例子),達到最小等待時間。於一實施例中,17B/20B編碼係用於執行不同資料傳輸的編碼要求的任何數值及儲存系統並縮短或甚至移除等待時間以達到系統最優化。
第一圖顯示應用串列埠記憶體技術指令編碼的17B/20B編碼系統100之一實施例。此實施例中的17/20B編碼系統100提供17/20B編碼之19個串列埠記憶體技術指令102(例如SYNC、SYNC2、MRR、MRW、PDX等)置入於17位元編碼。此17位元編碼域104被分為指令集合,如次子指令(SubSubCMD)106、子指令(SubCMD)110、指令(CMD)112、記憶體組108、及二指令類型集合114、116反應是否為一指令(C)116或一活動指令(ACT)114以區別指令的類型。一ACT指令114(位元15)因為其包含一長位址係為一特殊處理指令。列102(可被視為第18位元)列出這些指令的名稱。
依據一指令102之一指令類型,任何位元122的數值可被用於識別此指令102。舉例而言,以指令WDAT 106作為例子,位元16(C),係為區域104中的第17位元,並用以辨別具有一「1」108,及其他16位元「0-15」來使用為高位元組110和低位元組112。同樣地,於指令ACT 114之例子中,位元15(ACT),係為區域104中的第16位元,並用以辨別具有一「1」116,位元16依舊維持為「0」,當其他15位元(位元0-14)包含下排118。再者,於指令PDX 120的例子中,全部17位元(位元0-16)都用來辨識此指令。
說明實施例中之17B/20B編碼系統100應用於編碼(編碼)區域104之17位元及指令之20位元(具有19個指令102)的一映像,係包含一單一位元116以指示指令或資料且16位元用以涵蓋對應的資料有效負載。編碼系統100更提供等於或少於「5」之一連串長度來縮短等待時間並簡化硬碟實行以致使編碼系統100可實行於不同記憶體系統/架構中,例如動態隨機存取記憶體,甚至當電路為手製。連串長度係為參照於「0」和「1」的順序數值。舉例而言,一序列為「100011」,因為連續包含三個零所以具有一連串長度為「3」。同樣地,序列「10101」則因為並無連續的「0」或「1」的排列,所以具有一連串長度為「1」。
第二圖顯示17B編碼和20B編碼置入於一17B/20B編碼系統之一實施例。於所示實施例中,17B/20B編碼200於此17B/20B編碼分割後係為平行運算。雖然此17B編碼202和20B編碼204可被分為任何形式的數值,在所示實施例中,舉例而言,此17B編碼202分為三個區塊,分別為5位元206、6位元208、及6位元210,而此20B編碼204分為三個區塊,分別為6位元212、7位元214、及7位元216。此17B編碼202的三區塊206-210係置入於20B碼204的區塊212-216中。
如圖所示,17B編碼202中之5B 206係置入於20B編碼204中之6B 212,同樣地,6B 208係置入於7B 214及6B 210係置入於7B 216。這些置入區塊接著被合併於17B編碼202及20B編碼204中。這個過程會於稍後描述於第三A~B圖中作為參考。於一實施例中,於分割17B編碼202和20B編碼204至其對應區塊206-216之後,17B/20B編碼200係平行計算。此區塊206-216被合併並用以傳輸,但其可分離並平行設置。
第三A圖係顯示一過程用以分割一17B/20B編碼中之一17B編碼302之一實施例。於一實施例中,此17B編碼302於處理模塊304中被分割為三個代碼區,分別為一個5B編碼及二個6B編碼。於處理模塊306中,此17B編碼302之5編碼被置入於此17B/20B編碼中之一20B編碼之6B編碼中。同樣地,於處理模塊308中,此17B編碼302之6B編寫碼被置入於此20B編碼之7B編碼中,且於處理模塊310中,此17B編碼302之6B編碼被置入於此20編碼之7B編碼中。於處理模塊312中,此17B編碼302的三個分割代碼區與20B中之三個分割代碼區合併以形成此17B/20B編碼314。
第三B圖係顯示一過程用以分割一17B/20B編碼中之一20B編碼352之一實施例。於一實施例中,此20B編碼352於處理模塊354中被分割為三個碼區,分別為一6B碼及二個7B碼。於處理模塊356中,17B/20B編碼之一17B編碼中的此5B編碼被置入於20編碼352之6B編碼中。同樣地,於處理模塊358中,17B編碼中之6B編碼被置入於20B編碼中之7B編碼中,並於處理模塊360中,17B編碼中之6B編碼被置入於20B編碼中之7B編碼中。於處理模塊362中,此20B編碼352之三個被分割區塊與17B編碼的三個被分割區塊合併以形成17B/20B編碼364。於決策模塊366中,依據是否於任一模塊中有偵測出一錯誤來做一決定。如果有錯誤被偵測出,則此錯誤被擲出(thrown)370。如果沒有,則此17B/20B碼360被視為有效的。
第四A~B圖係顯示於維持最大連串長度要求時一17B/20B編碼系統之5B/6B區400,450之實施例。一傳輸碼(例如17B/20B傳輸碼)的一特徵係為最大連串長度。為滿足此特徵,每一區塊被設計以滿足此特徵。此特徵也符合於此碼的鄰近區塊之邊界。舉例而言,令此運算為平行運算,可應用下列的狀況:(1)維持每一區塊的最大連串長度為「5」或低於「5」;(2)維持此連串長度從首標(header)開始的計算不要超過「2」;且連串長度相對從尾部(tail)開始的計算不要超過「3」。使用此第二和第三狀況,此連串長度特徵同時符合於區塊邊界和指令邊界。此區塊編碼可係以「重複碼(repeating code)」為基礎,重複碼係為一基本傳輸碼並用以比較每一位元於此「重複碼」中的重複部分,於目標空間中有一位元用以重複。當連串長度特性從頭到尾的每一區塊都存在,一適當的位置用以重複碼為一6位元輸出碼區塊的第三位元位置或是一7位元輸出碼區塊的中央第四位元。如果一輸出區塊碼符合這三個連串長度特性,則其接著被提供以作為一有效的輸出。如果不是,一碼區塊會使用新演繹法再次排列,例如一轉換中心位元。
舉例而言,請參閱第四A圖,係顯示17B編碼的5B區402與20B編碼的6B區404之排列400。第四A圖顯示一基本規則以複製中心位元420,422。如圖所示,位元A 406置入於位元A 416,同樣地,位元B 408、D 412及E 414分別置入於位元B 418、D 424及E 426。如上所述,此中間位元C 410利用此「重複碼」技術置入於中間位元C 420,422。換句話說,此6位元輸出區域404的中心位元C 410被複製或 重複兩次則如同C 420和C 422。
現在,請參閱第四B圖,係顯示17B編碼之5B區452與20B編碼之6B區域454的排列450。第四B圖顯示一例外規則,係用於當基本規則的結果違反至少一連串長度要求時(例如:連串長度為「5」,首標連串長度為「2」及尾端連串長度為「3」)。如圖所示,位元A 456置入於位元A 466,同樣地,位元B 458、D 462及E 464則分別置入於位元B 468、D 474及E 476。如上所述,此中間位元C 460係利用「複製碼」技術被置於中間位元C’470和C 472。換句話說,此6位元輸出區域454的中間位元以C 460複製或重複兩次並置入於C’470和C 472。當B 468為一標的係可為一「0」或一「1」時,B 418為一目標參照為一「0」。同樣地,當C’470和D 474為標的且個別包含一「0」或一「1」時,C 420和D 424為標的則個別包含一「0」。
第五圖顯示一17B/20B編碼系統之一5B/6B區域排列之一編碼表500之一實施例。所示實施例提供一編碼表500用於一5B/6B排列,其中維持一最大連串長度為「5」、一最大首標連串長度為「2」及一最大尾端連串長度為「3」。此三列包含5位元序列的一第一列502、6位元輸出序列藉由利用重複碼技術重複第一列502的每一5B序列的第三位元之6位元序列的一第二列504、及一第三列506,此第三列506具有第二列504中所選擇的序列並當必須滿足至少一連串長度的要求時要求此第三數元的一轉換(例如:從0到1或從1到0)。
於所示實施例中,序列508(00000)被置入於序列510(000000),係具有重複序列508的第三位元「0」。現在,序列510(000000)中此六個「連續不斷」的零違反最大連串長度「5」,最大首標連串長度「2」及尾端最大連串長度「3」。為了矯正這些違例,序列510的第三位元「0」轉換為「1」以提供序列512(001000),係滿足三個要求中的整體連串長度等於或小於「5」(例如:不論是「0」或「1」都被紀錄連續超過五次)、最大首標連串長度等於或小於「2」(例如:前兩個連續為「0」)、及尾端連串長度等於或小於「3」(例如:最後三個連續為「0」)。於所示的實施例中,三十二排中的十四排514-540有類似於至少一連串長度的違例且其被以此修正方法來矯正以置入於第三列506中。
舉例而言,以排520作為例子,序列542(00011)被提供於序列544(000011),係具有被複製的第三位元為「0」。於這個例子中,序列544(000011)符合連串長度為「5」的要求,即其沒有超過「5」的連續「0」或「1」的排列;同樣地,符合尾端連串長度為「3」的要求,即其尾端只有兩個連續的「1」。然而,序列544(000011)中,其違反了首標為「2」的要求,因為其首標具有連續四個「0」。將序列544的第三數元「0」轉換為「1」以形成在第三列506中的序列546(001011),如此則會滿足首標為「2」的要求,因為於首標只有兩個「0」。為了簡化,其他類似的排516-518及522-540就不再贅述,其係與排514及520應用相似的技術。
當仔細地觀察表500會發現要求重置的編碼之序列(例如:排514-540)可被分為兩個組合:其不是從「000」或「111」開始就是「000」或「111」結束。這些狀況可符合分離地或並存地依據這些編碼所給予的序列。不幸地,兩序列形式「00111」和「11000」的輸出於應用上述之例外規則時會發生彼此抵觸輸出。舉例而言,另一規則可被用以處理這些奇怪的例子。然而,所有規則係包含描述如上之例外規則,及編碼技術可被以下列之方程式來敘述:
5B至6B編碼
6B至5B解碼
第六A~B圖係顯示當維持最大連串長度的要求時,一17B/20B編碼系統的6B/7B區排列600及650之實施例。為了簡化,細節請參閱第四A~B圖之相關描述,在此不再贅述。第六A圖請參閱第四A圖中5B/6B編碼排列之相關描述,重複的基本規則應用並將區碼604中第三位元C 622和624置入區碼602的第三位元C 610。如圖所示,位元A 606置入位元A 618,同樣地,位元B 608、D 612、E 614及F 616則分別置入於位元B 620、D 626、E628及F 630。
現在請參閱第六B圖,係顯示當基本規則的結果違反至少一連串長度要求(例如:連串長度為「5」、首標連串長度為「2」及尾端連串長度為「3」)時的一例外規則。如圖所示,位元A 656置入於位元A 668,同樣地,位元B 658、D 662、E 664及F666分別置入於位元B 670、D 676、E 678及F680。如上所述,中間位元C 660利用「重複碼」技術置入於中間位元C 672和C”674。換句話說,此7B碼輸出區域654的中間位元被複製或重複兩次如C 672、C”674置入6B碼輸出區域652的C 660。再者,當B’670為一標的可為一「0」或一「1」時,B 620為一標的為一「0」。同樣地,C 672、C”674及E 678為標的,並個別包含一「0」或一「1」。
第七圖係顯示一17B/20B編碼系統之一6B/7B區排列之一編碼表700之一實施例。為了簡化,很多結構已經於第五圖中描述過了,在此不再贅述。所示的實施例提供當維持一最大連串長度為「5」、一最大首標連串長度為「2」及一最大尾端連串長度為「3」時,用於一6B/7B排列的一編碼表700。此三列包含5位元序列的一第一列702、藉由利用重複碼技術重覆第一列502的每一5位元序列的第三位元之6位元輸出序列的一第二列704、及一第三列706係具有當必須滿足至少一連串長度要求所要求第三數元的一轉換(例如從「0」到「1」或「1」到「0」)之第二列504中所選擇的序列。於所示的實施例中,四十二排中的二十二排714-756需要此第三列706以滿足連串長度的要求。
舉例而言,編碼序列708(000001)置入於編碼序列710(000001)係具有重複序列708的第三位元「0」。現在,編碼序列710(0000001)的「連續不斷」的六個零違反最大連串長度為「5」及最大首標連串長度為「2」的要求。然而,序列710的尾端之最後的數元為「1」,所以尾端最大連串長度為「3」的要求是滿足的。為了矯正其他兩個連串長度的違例,將序列710的第三位元「0」轉換為「1」提供置入第三列706的序列712(0010001),則滿足此三個要求,分別為整體連串長度等於或小於「5」(例如:不為「0」或「1」都不能被紀錄超過連續五次)、首標連串長度等於或小於「2」(例如:前二個連續的「0」)、及尾端連串長度等於或小於「3」(例如:最後的數元為「1」)。
請參閱第五圖,編碼技術和所應用的例外規則係滿足連串長度的要求可藉由下列方程式來歸納:
6B至7B編碼
7B至6B解碼
第八圖係顯示用於17B/20B編碼/解碼的一過程之一實施例。於一實施例中,於處理模塊802中,17B及20B編碼序列被分割為複數個序列,例如一17B編碼序列被分為5B、6B及6B編碼序列,同時一20B編碼序列被分為6B、7B及7B編碼序列。於處理模塊804中,此17B編碼序列的三個編碼序列被置入20B編碼序列的三個編碼序列中。需注意的是此編碼序列的分割係可被運用於任何尺寸、數列或形式之任何數值,例如在此提供三個小編碼序列或與被置入如此編碼序列之其他編碼序列作為範例,但本發明的實施例並不以此範圍為限制。
於處理模塊806中,應用至少一縮短等待時間技術以縮短或最小化等待時間。舉例而言,請參閱第十圖,在此碼區中同時執行指令解碼及此17B/20B編碼及其複數個編碼序列的解碼。再者,執行多種過程以確保滿足連串長度的要求808。這些過程之描述請參閱第四A~B圖、第五圖、第六A~B圖及第七圖之相關敘述。於處理模塊810中,對是否符合整體最大連串長度為5位元的要求作一決定。如果不是,則置入於處理模塊812(例如藉由轉換此碼序列之一數元)。如果是,則過程繼續進入決策模塊814,其中對最大首標連串長度為2位元之要求是否符合作一決定。如果不是,則符合處理模塊816之要求(例如藉由轉換碼序列的一數元)。如果是,則過程繼續至決策模塊818,其中對最大尾端連串長度為三位元的要求是否符合作一決定。如果不是,則符合處理模塊820的要求(例如藉由轉換碼序列的一數元)。如果是,則符合全部連串長度的要求,於處理模塊822中可提供一17B/20B編碼序列。
第九圖係顯示一編碼指令表900之一實施例。於一實施例中,隱藏等待時間就如同利用17B/20B編碼技術之表900的結果來達成預解碼以隱藏等待時間。藉由使用17B/20B編碼技術的效益來預編碼以隱藏等待時間亦可達成。表900所示的實施例包含一串列埠記憶體技術指令編碼如定義於一20位元域902。提供這些十九串列埠記憶體技術指令904於一20位元碼空間或域902。於一實施例中,5B/6B和6B/7B編碼方案或序列為基礎於此「碼重複」技術,例如重複此編碼序列的中間位元,此編碼序列可具有一特性以維持其首標位元和尾端位元。利用此特性允許以執行解碼指令於此解碼過程的較早階段以提供一效益。此指令位元包含指令(C)906係表示第二十個位元,係為一動作指令(ACT)908,被提供於位元18(係表示第十九個位元)。另外少數位元14-17表示此CMD集合910和所有指令可被在此解碼以改善6位元。任何其他編碼序列分割(例如:第二碼序列、第三碼序列),舉例而言,每一6位元可具有一未固定集合,例如記憶體組914(佔據位元5-8)。為了每一指令的解碼之仔細選擇,一碼可被作為另一集合,例如SubCMD 914(佔據位元9-13)或SubSubCMD 916(佔據位元0-3),係固定於一輸出空間,並獨立於組合值。不同狀態下,於一實施例中,指令解碼可被執行於一20位元域902以致於預編碼中隱藏等待時間。
第十A圖係顯示用於序列轉換碼解碼和指令解碼之一傳統過程。如圖所示,於此傳統過程中,代碼解碼與指令解碼依序被執行。舉例而言,接收20B中之一指令1002。於處理模塊1004中,執行20B/16B編碼之編碼解碼。共花費約2奈秒(ns)之時間。接著,於一16B域中執行指令解碼並花費另外一2ns的時間。最後,此代碼和指令之解碼資訊1008被提供並通過此記憶體磁心1010增加另外1ns也因此總共花費了5ns。
第十B圖係顯示用以平行轉換編碼解碼和指令解碼之過程之一實施例。於一實施例中,於一20B域中之編碼與指令平行且並存的解碼(同時具有相同的邏輯狀態以解碼)以提供於預編碼中隱藏等待時間。於所示的實施例中,整體過程執行需3ns,相較於傳統過程快了2ns或40%(第十A圖)。因此,縮短了等待時間達40%。如圖所示,接收於20B中的一指令1052。於處理模塊1054中,此指令接著於一20B域空間1056被解碼且並存或平行於20B/17B編碼之解碼。此過程共花費2ns。一旦此解碼被執行,此解碼資訊1058被收集和通過記憶體磁心1060,此額外多出1ns,也因此總共必須花費3ns來平行執行指令及代碼解碼。此平行解碼用於17B/20B轉換碼系統,於一實施例中,減少此總共等待時間中的2ns且增加速度達40%。此時間轉換1062可用以比較傳統過程的速度(第十A圖)與一較快、增強且有效率的過程之一實施例的速度。
第十一圖為本發明之一實施例可被實行於一電腦系統的示意圖。電腦系統1100包含一系統匯流排1120用以傳送資訊、及一處理器1110耦合於匯排流1120用以處理資訊。對應於一實施例,處理器1110係用廣泛地微處理器之一來實行。然而對本領域中具有通常知識者而言應可輕易得知亦可使用其他處理器來實行。
電腦系統1100更包含一隨機存取記憶體(RAM)或其他動態儲存裝置1125(在此為主要記憶體),耦合於匯排流1120用以儲存資訊和指令以藉由處理器1110來執行。主要記憶體1125也可用於儲存暫時變數或於處理器1110執行指令時的其他中間資訊。電腦系統1100也可包含一唯讀記憶體或其他靜態儲存裝置1126,耦合於匯排流1120用以儲存靜態資訊和應用於處理器1110的指令。
一資料儲存裝置1125如一磁碟或光碟,且其對應驅動亦可被耦合於電腦系統1100以儲存資訊和指令。電腦系統1100也可被耦合於一第二輸入/輸出(I/O)匯排流1150,藉由一I/O介面1130。複數個I/O裝置可被耦合於I/O匯排流1150,包含一顯示裝置1124、一輸入裝置(例如:一文數輸入裝置1123和/或一游標控制裝置1122),此通訊裝置1121係用以透過外部數據網路來存取其他電腦(伺服器或客戶端)。此通訊裝置1121可包含一數據機、一網路介面卡、或其他已知的介面裝置,例如一些用於耦接乙太網、標記環、或其他類型的網路。電腦系統1100包含一網路電腦裝置、一行動電話、一個人數位助理(PDA)等,但不限於此。
電腦系統1100可互相連接於一客戶端/伺服器網路系統。一網路可包含一局部區域網路(LAN)、廣域網路(WAN)、大都會區域網路(MAN)、企業內部網路、網際網路等。如同敘述於本說明書中的其他部分,任何數量的網路裝置可以連接於一埠倍增器來串接並於一網路中形成一網路架構。需說明的是任何數量的裝置皆可連接以通過此網路。一裝置可轉換資料串流,例如串流媒體資料,並藉由標準協定和非標準協定的一數值以傳至網路系統中的其他裝置,其中包含描述於本說明書中的協定。
如上所描述,為了達到說明的目的,敘述於前面的一些具體的細節係提供以對本發明作一完整的說明。然而,必須暸解的是對本領域中具有通常知識者而言並不需使用前文中所敘述的所有具體的細節就可實施本發明。於其他例子中,已知結構和裝置被以模塊圖的形式來表示,其可為說明組合中的中間結構,此些組合雖未提及於此,但其係可具有額外的輸入或輸出。
本發明之不同實施例可包含不同的過程。這些過程可藉由硬碟元件來實行、或於電腦程式或機械可執行指令中所實施,係可被用於導致一普通目的或特殊目的之處理器或邏輯電路編程這些指令以執行這個過程。或者,此過程可藉由合併硬碟及軟體來執行。
描述於本說明書中至少一模組、組合或元件,例如其中連接於一埠倍增器之增強機器的一實施例係可包含硬體、軟體、及/或其結合。於一範例中,其中一模組包含軟體,此軟體資料、指令、及/或組態可藉由一機械/電子裝置/硬碟之製造物的一物品所提供。製造物的一物品可包含一機械可存取/可讀取媒介具有內容以提供指令、資料等。此內容可導致一電子裝置,例如描述於此的一文件管理器、一磁碟、或一磁碟控制器,去執行多種運作或執行過程。
本發明的不同實施例的部分可以如一電腦程式產品被提供,係可包含一電腦可讀取媒體具有儲存其中電腦程式指令,係可被用於程式化一電腦(或其他電子裝置)以執行對應於本發明之實施例的一過程。此電腦可讀取媒介可包含軟碟、光碟、唯讀光碟(CD-ROM)、磁光碟、唯讀記憶體、隨機存取記憶體、可抹除可程式唯讀記憶體(EPROM)、電子可抹除可程式唯讀記憶體(EEPROM)、動態隨機存取記憶體、靜態隨機存取記憶體(SRAM)、磁卡或光卡、快閃記憶體、或其他媒體/機械可讀取媒介適合用以儲存電子指令。再者,本發明亦可如一電腦程式產品被下載,其中此程式可從一遠端電腦被轉換至一請求電腦。
本發明之方法係描述其主要基本形式,因此如果於過程中增加或刪減此方法、且資訊可被增加或刪減於所描述的訊息中係仍涵蓋於本發明之範疇中。需理解本領域中具有通常知識者係可修改或改編,因此提供於此之特定實施例不應用以限制本發明。本發明之實施例的範疇不應以特定的範例來限定,而應以下述之申請專利範圍的敘述為準。
如果敘述一元件「A」耦合或連接元件「B」,元件A可被直接耦合於元件B、或元件A非直接耦合於元件B,例如,藉由元件C來達成。當說明書或申請專利範圍敘述一組合、特性、結構、過程或特徵A「造成」一組合、特性、結構、過程或特徵B,係指「A」至少一部份造成「B」,但其有至少一其他組合、特性、結構、過程或特徵係促使造成「B」。如果說明書指出此一組合、特性、結構、過程或特徵「可」被包含,則特殊的組合、特性、結構、過程或特徵不需要被包含。如果說明書或申請專利範圍提及「一」元件,並非意指所描述的元件只有一個。
一實施例為本發明的一實施方式或範例。說明書中所提及的「一實施例」、「一些實施例」或「其他實施例」意指描述一特定特性、結構、或特徵被包含於至少一些實施例中,但並不是所有的實施例都需要。「一實施例」、「一些實施例」的不同部分為並未於一些實施例係為不必要。需明瞭在前所述之本發明的實施例的敘述,不同結構有時被集合於一單一實施例、圖式或其敘述中係用以合理化此揭露為目的並助於了解本發明之至少一不同方面。然而,所揭露的方法不是用以反映所請求保護的發明敘述於每一請求項中需要更多結構之一潛在部分,而,之後的申請專利範圍反映發明的方面少於敘述於先前實施例中所有結構。因此,以此申請專利範圍連結於此說明且每一請求項表示本發明之一分離的實施例。
100...17B/20B編碼系統
102...串列埠記憶體技術指令
104...17位元編碼域
106...子子指令
108...記憶體組
110...子指令
112...指令
114,116...指令類型集合
118...下排
120...指令PDX
122...位元
200,314,352,364...17B/20B編碼
202...17B編碼
204...20B編碼
206...5位元
208,210,212...6位元
214,216...7位元
302...17B編碼
304~312...處理模塊
354~362...處理模塊
366...決策模塊
368...有效
370...錯誤
400,450...5B/6B區排列
402,452...17B編碼之5B區
404,454...20B編碼之6B區
406,416,456,466...位元A
408,418,458,468...位元B
410,460,470...中間位元C
420,422...中心位元
472...位元C’
412,424,462...位元D
414,426,464,476...位元E
474...位元D’
500...編碼表
502...第一列
504...第二列
506...第三列
508-512,542-546...序列
514-540...排
600,650...6B/7B區排列
602,604,652,654...區碼
606,618,656,668...位元A
608,620,658,670...位元B
610,622,624,660,672...位元C
674...位元C’’
612,626,662,676...位元D
614,628,664,678...位元E
616,630,666,680...位元F
700...編碼表
702...第一列
704...第二列
706...第三列
708-714...序列
716-756...排
802-806,810,812,816,820,822...處理模塊
808...過程
814,820...決策模塊
900...17B/20B編碼技術表
902...20位元域
904...串列埠記憶體技術指令
906...指令
908...動作指令
910...指令集合
912...子指令
914...記憶體組
916...子子指令
1002,1052...接收20B中之一指令
1004,1006,1054,1056...處理模組
1008,1058...解碼資訊
1010,1060...數據傳至記憶體磁心
1062...時間轉換
1100...電腦系統
1110...處理器
1120...匯排流
1121...傳輸裝置
1122...游標控制裝置
1123...輸入裝置
1124...顯示裝置
1125...儲存單元裝置
1126...唯讀記憶體
1130...輸入/輸出介面
1150...輸入/輸出匯排流
第一圖係顯示應用串列埠記憶體技術指令編碼的17B/20B編碼系統之一實施例。
第二圖係顯示17B編碼及20B編碼置入一17B/20B編碼系統之一實施例。
第三A圖係顯示分割17B/20B編碼中的17B編碼之一過程之一實施例。
第三B圖係顯示分割17B/20B編碼中的20B編碼的一過程之一實施例。
第四A~B圖係顯示於維持最大連串長度要求時之一17B/20B編碼系統中之5B/6B區塊排列之實施例。
第五圖係顯示一17B/20B編碼系統中之一5B/6B區塊排列之一編碼表之一實施例。
第六A~B圖係顯示於維持最大連串長度要求時之一17B/20B編碼系統中之6B/7B區塊排列之實施例。
第七圖係顯示一17B/20B編碼系統之一6B/7B區塊排列之一編碼表之一實施例。
第八圖係顯示用於17B/20B編碼/解碼之一過程之一實施例。
第九圖係顯示一於預編碼所隱藏之等待時間之表格之一實施例。
第十A圖係顯示用於依序轉變編碼解碼及指令解碼之一傳統過程。
第十B圖係顯示用於同步轉變編碼解碼及指令解碼的一過程之一實施例。
第十一圖係顯示一電腦系統係應用本發明之一實施例所執行。
100...17B/20B編碼系統
102...串列埠記憶體技術指令
104...17位元編碼域
106...子子指令
108...記憶體組
110...子指令
112...指令
114,116...指令類型集合
118...下排
120...指令PDX
122...位元

Claims (17)

  1. 一種編碼之方法,其包含:接收一編碼序列;分割該編碼序列為複數個第一編碼區塊,每一該複數個編碼區塊包含複數個位元;及將該第一編碼區塊編碼為中間編碼區塊以具有大於該第一編碼區塊之長度,當保留該第一編碼區塊之其他編碼時,藉由重複該第一編碼區塊之中間位元,及若該中間編碼區塊之一最大連串長度超過一預定之長度,藉由轉換該中間編碼區塊之一或多個位元以產生一第二編碼區塊。
  2. 如請求項第1項所述之編碼之方法,其中該第一編碼區塊包含一5位元區塊及二6位元區塊。
  3. 如請求項第2項所述之編碼之方法,其中該第二編碼區塊包含一6位元區塊及二7位元區塊。
  4. 如請求項第3項所述之編碼之方法,其中同時執行該第二編碼區塊相關之一指令之解碼與該第二編碼區塊成該第一編碼區塊之解碼。
  5. 如請求項第1項所述之編碼之方法,其中該最大連串長度係從一群組所選擇,該群組由一最大整體連串長度、一最大首標連串長度、及一最大尾端連串長度所組成。
  6. 如請求項第1項所述之編碼之方法,更包含合併該第二編 碼區塊以形成一編碼後序列。
  7. 一種編碼系統,其包含:一編碼電路用以接收一編碼序列,該編碼電路設置以分割該編碼序列為複數個第一編碼;及將該第一編碼區塊編碼為一中間編碼區塊以具有大於該第一編碼區塊之長度,當保留該第一編碼區塊之其他編碼時,藉由重複該第一編碼區塊之中間位元,及若該中間編碼區塊之一最大連串長度超過一預定之長度,藉由轉換該中間編碼區塊之一或多個位元以產生一第二編碼區塊。
  8. 如請求項第7項所述之編碼系統,其中該第一編碼區塊包含一5位元區塊及二6位元區塊。
  9. 如請求項第8項所述之編碼系統,其中該第二編碼區塊包含一6位元區塊及二7位元區塊。
  10. 如請求項第7項所述之編碼系統,其中同時執行該第二編碼區塊相關之一指令之解碼與該第二編碼區塊成該第一編碼區塊之解碼。
  11. 如請求項第7項所述之編碼系統,該最大連串長度係從一群組所選擇,該群組由一最大整體連串長度、一最大首標連串長度、及一最大尾端連串長度。
  12. 如請求項第7項所述之編碼系統,其中該編碼電路更設置以合併於該第二編碼區塊以形成一編碼後序列。
  13. 一種編碼裝置,係包含一編碼器,該編碼器設置以:接收一編碼序列;分割該編碼序列為複數個第一編碼區塊,每一該複數個第一編碼區塊包含複數個位元;及將該第一編碼區塊編碼為中間編碼區塊以具有大於該第一編碼區塊之長度,當保留該第一編碼區塊之其他編碼時,藉由重複該第一編碼區塊之一中間位元,及若該中間編碼區塊之一最大連串長度超過一預定之長度,藉由轉換該中間編碼區塊之一或多個位元以產生一第二編碼區塊。
  14. 如請求項第13項所述之編碼裝置,其中該第一編碼區塊包含一5位元區塊及二6位元區塊。
  15. 如請求項第14項所述之編碼裝置,其中該第二編碼區塊包含一6位元區塊及二7位元區塊。
  16. 如請求項第13項所述之編碼裝置,其中同時執行該第二編碼區塊相關之一指令之解碼與該第二編碼區塊成該第一編碼區塊之解碼。
  17. 如請求項第13項所述之編碼裝置,該最大連串長度係從一群組所選擇,該群組由一最大整體連串長度、一最大首標連串長度、及一最大尾端連串長度。
TW098133895A 2008-10-29 2009-10-06 使用高速串列連結之記憶體系統之編碼系統 TWI543543B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/260,972 US7777652B2 (en) 2008-10-29 2008-10-29 Coding system for memory systems employing high-speed serial links

Publications (2)

Publication Number Publication Date
TW201018097A TW201018097A (en) 2010-05-01
TWI543543B true TWI543543B (zh) 2016-07-21

Family

ID=41259832

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098133895A TWI543543B (zh) 2008-10-29 2009-10-06 使用高速串列連結之記憶體系統之編碼系統

Country Status (7)

Country Link
US (2) US7777652B2 (zh)
EP (1) EP2359481A2 (zh)
JP (2) JP2012507935A (zh)
KR (1) KR101483535B1 (zh)
CN (1) CN102484482B (zh)
TW (1) TWI543543B (zh)
WO (1) WO2010053638A2 (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008070191A2 (en) 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for a reconfigurable baseboard management controller
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US8443134B2 (en) 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US8706968B2 (en) 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
WO2011031899A2 (en) * 2009-09-09 2011-03-17 Fusion-Io, Inc. Apparatus, system, and method for power reduction in a storage device
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
US8972627B2 (en) 2009-09-09 2015-03-03 Fusion-Io, Inc. Apparatus, system, and method for managing operations for data storage media
US9021158B2 (en) 2009-09-09 2015-04-28 SanDisk Technologies, Inc. Program suspend/resume for memory
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
KR101796116B1 (ko) 2010-10-20 2017-11-10 삼성전자 주식회사 반도체 장치, 이를 포함하는 메모리 모듈, 메모리 시스템 및 그 동작방법
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
WO2012082792A2 (en) 2010-12-13 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for auto-commit memory
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
WO2012106362A2 (en) 2011-01-31 2012-08-09 Fusion-Io, Inc. Apparatus, system, and method for managing eviction of data
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
WO2013158014A2 (en) * 2012-04-17 2013-10-24 Telefonaktiebolaget L M Ericsson (Publ) Generating and receiving a training sequence
US9666244B2 (en) 2014-03-01 2017-05-30 Fusion-Io, Inc. Dividing a storage procedure
US9621907B2 (en) 2014-08-15 2017-04-11 Lattice Semiconductor Corporation System and method for transcoding data
US9933950B2 (en) 2015-01-16 2018-04-03 Sandisk Technologies Llc Storage operation interrupt
US9883539B2 (en) 2015-03-18 2018-01-30 Lattice Semiconductor Corporation Embedding low-speed communications in a high speed wireless tunneling system
US10091026B2 (en) 2015-03-18 2018-10-02 Lattice Semiconductor Corporation Full duplex radio in wireless tunneling system
US10111269B2 (en) 2015-03-18 2018-10-23 Lattice Semiconductor Corporation Multi-gigabit wireless tunneling system
CN105847077B (zh) * 2016-03-17 2019-03-08 华为技术有限公司 一种检测多路串行数据冲突的方法及装置、设备

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4591839A (en) * 1982-05-20 1986-05-27 Gulf & Western Manufacturing Company System for detecting low liquid level and probe therefor
US4486739A (en) * 1982-06-30 1984-12-04 International Business Machines Corporation Byte oriented DC balanced (0,4) 8B/10B partitioned block transmission code
AU618680B2 (en) * 1989-07-17 1992-01-02 Digital Equipment Corporation Data and forward error control coding techniques for digital signals
JPH05300377A (ja) * 1992-04-20 1993-11-12 Fujitsu Ltd 画像データ変換処理装置
US5351047A (en) * 1992-09-21 1994-09-27 Laboratory Automation, Inc. Data decoding method and apparatus
JP3617074B2 (ja) * 1994-06-30 2005-02-02 ソニー株式会社 データ変調装置およびデータ復調装置
SG87129A1 (en) * 1999-07-12 2002-03-19 Ibm Data encoding systems
JP3552632B2 (ja) * 2000-02-28 2004-08-11 日本電信電話株式会社 符号化装置
JP3535074B2 (ja) * 2000-04-20 2004-06-07 日本電信電話株式会社 制御情報の符号化方法及び復号化方法と制御情報の送信器及び受信器
JP2002261619A (ja) * 2001-02-28 2002-09-13 Toshiba Corp データ符号化方法、データ符号化装置及び記憶媒体
JP2002313034A (ja) * 2001-04-16 2002-10-25 Ricoh Co Ltd デジタル復調装置
US6614369B1 (en) * 2002-03-05 2003-09-02 International Business Machines Corporation DC balanced 7B/8B, 9B/10B, and partitioned DC balanced 12B/14B, 17B/20B, and 16B/18B transmission codes
JP2006074075A (ja) * 2004-08-31 2006-03-16 Canon Inc 差動シリアル・ディジタル出力a/d変換手段および撮像装置
JP2006286084A (ja) * 2005-03-31 2006-10-19 Fujitsu Ltd 符号器、復号器および符号化方法
US7599396B2 (en) * 2005-07-11 2009-10-06 Magnalynx, Inc. Method of encoding and synchronizing a serial interface
US7728746B2 (en) * 2005-11-22 2010-06-01 Intel Corporation Signal transition feature based coding for serial link
US7970215B2 (en) * 2007-03-30 2011-06-28 Intel Corporation Automatic generation of compact code tables

Also Published As

Publication number Publication date
US7777652B2 (en) 2010-08-17
JP2012507935A (ja) 2012-03-29
CN102484482B (zh) 2015-12-02
TW201018097A (en) 2010-05-01
KR101483535B1 (ko) 2015-01-16
WO2010053638A2 (en) 2010-05-14
US7978099B2 (en) 2011-07-12
KR20110090972A (ko) 2011-08-10
CN102484482A (zh) 2012-05-30
JP5875205B2 (ja) 2016-03-02
JP2015136136A (ja) 2015-07-27
US20100295711A1 (en) 2010-11-25
US20100102999A1 (en) 2010-04-29
EP2359481A2 (en) 2011-08-24

Similar Documents

Publication Publication Date Title
TWI543543B (zh) 使用高速串列連結之記憶體系統之編碼系統
JP2834388B2 (ja) データパイプライン装置及びデータエンコーディング方法
CZ300954B6 (cs) Zarízení a zpusob pro kódování digitálního informacního signálu, zarízení pro dekódování a nosic záznamu
US10230392B2 (en) Techniques for parallel data decompression
US6741191B2 (en) Huffman decoding method and apparatus
US6809665B2 (en) Apparatus and method for decoding variable length code
US20060250286A1 (en) Encoder and decoder using run-length-limited code
US11245914B2 (en) Method and system for hybrid video coding
WO2006046925A1 (en) Method and system for encoding and decoding information with modulation constraints and error control
KR20220054651A (ko) 다중 심볼 디코더
WO2020186535A1 (zh) 点云属性编码方法和装置以及点云属性解码方法和装置
TW586273B (en) Methods and devices for converting as well as decoding a stream of data bits, and record carrier
US9014259B2 (en) Apparatus and method for sequentially parsing bitstreams based on removal of emulation prevention byte
WO2020259400A1 (zh) 编码方法、装置、存储介质及计算机设备
US20100023708A1 (en) Variable-length code (vlc) bitstream parsing in a multi-core processor with buffer overlap regions
JP2008199100A (ja) 可変長符号復号装置
US20140223136A1 (en) Lookup Tables Utilizing Read Only Memory and Combinational Logic
JP2004056417A (ja) 復号装置および復号方法
JP3991348B2 (ja) 符号化装置および方法、復号装置および方法、並びに記録媒体
TWI384377B (zh) 資料編碼及解碼方法
JP2010258927A (ja) 符号データ処理装置、方法及びプログラム
WO2020258189A1 (zh) 编码方法、编码器和编码系统
JP2794719B2 (ja) 符号変換装置
KR101270633B1 (ko) 복수 호프만 테이블을 적용하여 고속 처리가 가능한 멀티미디어용 호프만 디코딩 방법 및 장치
JP2008041238A (ja) 直流成分を制御できるエンコーディング及びデコーティング方法、及びそれを遂行するデータ処理装置。