TWI328162B - Methods of detecting and correcting corrupted primitives between a sata host and a sata device - Google Patents
Methods of detecting and correcting corrupted primitives between a sata host and a sata device Download PDFInfo
- Publication number
- TWI328162B TWI328162B TW096104787A TW96104787A TWI328162B TW I328162 B TWI328162 B TW I328162B TW 096104787 A TW096104787 A TW 096104787A TW 96104787 A TW96104787 A TW 96104787A TW I328162 B TWI328162 B TW I328162B
- Authority
- TW
- Taiwan
- Prior art keywords
- control
- control character
- character
- damage
- content
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Information Transfer Between Computers (AREA)
- Hardware Redundancy (AREA)
Description
1328162 九、發明說明: « 【發明所屬之技術領域】 本發明係關於序列式進階技術附接(serjal advanced techn〇l〇gy attachment,SATA)裝置,尤指用來修正因為雜訊干擾而造成損壞 之控制字元的方法。 【先前技術】 在SATA協定中,SATA主控裝置與SATA週邊裝置兩者間係 藉由資訊框結構(Frame Information Structure,FIS)來互相交換資 汛,其中每一個資訊框結構係由一些雙字組(Dw〇rd)所構成,而 這些雙子組則用以供主控裝置與週邊裝置間進行資訊傳遞之用。 SATA主控I置與SATA週邊裝懿_控财絲餅控制以及 提供串列傳輸線路的狀態,每一個控制字元亦由一雙字組所構 成。除此之外,控制字元也可用來實現主控裝置與週邊裝置之間 的連線建立程序(handshaking)。 請參照第1圖’第1 _^SATA協定巾控制字元之位元組内 谷查閱表10的示賴。每—健制字元包含有四位元組分別為 第-位70組1.2、第二位元組14、第三位元組16以及第四位元組 18 〇 請參照第2圖’第2圖顯示一主控裝置與一週邊裝置之間發送 Λ框(frame)之-$以刺不意圖。主控裝置可以是傳送器應與 6 1328162 接收器200的其中之-裝置,而週邊裝置即為傳送器繼與接收 器200之中的另一裝置。如第2圖所示,傳送器1〇〇傳送一連串 的資料或控制字元102〜188至接收器,而接收器便回應控 制子元202〜288並將其傳送到傳送器。 如第2圖所示,-開始時,傳送器励於同步控制字元之後緊 接著傳送加擾㈣封包(sei*amb丨eddatapaeket:) 1Q2、1()4至_ 器200 ’ 5月/主思,符5虎χχχχ”代表加擾資料值,係用來減少電 磁干擾(ΕΜΙ)的影響,而加擾龍封包⑽、1()4並非控制字元。 當傳送器100預備開始傳送一訊框給接收器200時傳送器】 輸出-預備傳送(X—RDY)控制料用以指示傳送器㈣已經預 備好可以傳送負載資料至接收器綱,在本範例中,傳送器1〇〇 送出兩個預備傳送控制字元106、108,並發出—接續傳送(c〇nt) 控制字元110以避免重複輸出相同的控制字元,接著輸出一連串 的加擾資料封包112〜118。傳送器100持續這個運作直到接收器 2〇〇回應對應於預備傳送控制字元的一預備接收(RJlDY)控制 子元。預備接收控制字元係用來指示接收器2〇〇已經預備好可以 接收負載資料’在本範例中,接收器2〇〇送出兩個預備接收控制 字兀214、216,並發出一接續傳送控制字元218,接著輸出一連 串的加擾資料封包220〜224,直到傳送器1〇〇開始傳送該訊框。 傳送器100送出一说框開始(start of frame,SOF)控制字元 120至接收器2〇〇,用來指示即將開始傳送訊框。之後,傳送器 7 1328162 ’ 送出—類職標(typeindieatG〇 122肋指示即將被傳送到接收 器200之-貝说框結構的類別,接著送出複數個資料封包I%〜no。 S接收器200接收到從傳送器1〇〇傳來的資料時,接收器2〇〇便 依次輸出資料接收中(reception in progress,R_IP )控制字元226、 228、接續傳送控制字元230以及加擾資料232〜238至傳送器1〇〇。 當傳送器10〇暫時沒有負載資料要被傳送時,便輸出一暫停 . (H0LD)控制字元’如第2圖所示,傳送器1〇〇依次輸出暫停控 鲁 制字元132、134、接續傳送控制字元136、加擾資料138〜142以 及另一個暫停控制字元144,另一方面,接收器2〇〇會利用暫停回 應(hold acknowledge ’ HOLDA)控制字元240、242來回應已收 到暫停控制字元,並接著輸出接續傳送控制字元244以及加擾資 料 246〜252 〇 傳送器100完成送出負載資料中的資料封包146〜150後,接著 送出循環冗餘檢查(cyclic redundancy check,CRC)資料152以 及訊框結束(end of frame,EOF)控制字元154。之後,當等待從 接收器200所回應之接收狀態的期間,傳送器1〇〇連續輸出等待 結束(wait for frame termination,WTRM)控制字元 156 〜158、接 續傳送控制字元162以及加擾資料164〜170。在這個期間,接收器 2〇〇同時完成接收從傳送器100所傳來的負載資料,並依次輸出資 料接收中控制字元254、256、接續傳送控制字元258以及加擾資 料260、262。在接收器200已經完成接收所有的負载資料、循環 冗餘檢查(CRC) 152以及訊框結束控制字元154,並確認循環冗 8 1328162 , 餘檢查(CRC)沒問題後,接收器200便依次輪出接收正確(R 〇κ) • 控制字元264、266、接續傳送控制字元268以及加擾資料 WO〜278。如果循環冗餘檢查(CRC)發現有問題,接收器則 輸出接收錯誤(receptionerror,R_ERR)控制字元。一旦傳送器 1〇〇接收到接收器200所回應之接收正確控制字元,傳送器1〇〇° -便,同步(SYNC)控制字元172、174並接著輸出接續傳送控 . 制字兀176以及加擾資料178〜188。當傳送器1〇〇處於閒置狀態 • 時,傳送器100便輸出同步控制字元以讓傳送器1〇〇以及接收器 200達到同步’此時,接收器2〇〇將傳送出同步控制字元28〇、282、 接續傳送控制字元284以及加擾資料286、288以作為回應。 上述機制s尤明係於不具傳送問題時傳送一訊框中的負載資料 的情形,然而,雜訊可能干擾控制字元以及資料的傳送,如此一 來,將造成傳送器100以及接受器2〇〇之間通訊上的問題。舉例 # 來說,如果接收器200無法解碼傳送器所送出的訊框開始控制字 元,接收器200將一直持續的送出預備接收控制字元,但是,傳 送窃100並不知道接收器200沒有接收到訊框開始控制字元,而 持續送出資料至接收器200直到該資料傳送完成才送出等待結束 控制字元至接收器200。因為在資料傳送開始時,接收器2〇〇從未 接收到訊框開始控制字元,因此接收器2〇〇將以同步控制字元來 回應該等能束鋪字元,也目為接㈣並不會送紐收正 . 確或接收錯誤控制字元,所以傳送器100以及接收器200之間的 .資料傳輸可能在這個時候懸宕而失敗。 9 如果雜訊干擾而造成暫停控制字元、暫停回應控制字元、接續 傳送控财元或酿結束控财元_時,財造成另—個潛在 的問題。假若這些㈣字元受雜訊影響祕壞,如此—來,可能 導致錯誤的資料傳送長度,如果循環冗餘檢查或者8位元到10位 元的解碼無法檢驗出這個問題,那麼將導致系統運作失敗而當機。 此外,如果雜訊干擾而造成暫停控制字元、暫停回應控制字 元、接續傳送控制料損壞,傳送器〗⑻可能送出太多資料而造 成接收器200的先進先时雕生:㈣溢㈣情心由於雜訊是 無法完全猶’所㈣須有克關雜訊干擾造成㈣字元損壞的 方法以解決上述之問題。 【發明内容】 本發明的目的之一係在於提供一種一 SATA主控裝置以及一 SATA週找置之p摘傳送之損壞控辦元的修正方法。 在本發明一實施例中揭露一種在一 SATA主控裝置以及一 SATA週邊裝置之騎傳送之損壞控财狀修正松,該方法包 含有:侧-損壞控制字元之出現;分析一目前狀態、一先前傳 送之控制字元或-先前接收之控制字元;依據該目前狀態、該先 前傳送之控制字元以及該先前接收之控制字元的至少其中之一來 選擇至少一候選控制字元;依據該候選控制字元以及該損壞控制 子元來預測該損壞控制字元並決定一預測控制字元;以及以該預 測控制字it取代簡魅制字元。 在本發明一實施例中揭露一種在一 SATA主控裝置以及一 SATA週邊裝置之間傳狀損壞控制料之絲方法,該方法包含 有·偵測一損壞控制字元之出現;比較該損壞控制字元之位元組 内容以及位元組位置與可能控制字元之位元組内容以及位元組位 置,依據位7L組内容以及位元組位置之一比較結果來預測該損壞 控制字7L並決定-侧控制字元;以及减鋼控制料取代該 損壞控制字元。 在本發明一實施例中揭露一種在一 s ATA主控裝置以及一 SATA週邊裝置之間傳送之損壞控制字元之修正方法,該方法包含 有:偵測一損壞控制字元之出現;比較該損壞控制字元之部分内 容與可能控制字元之部分内容;依據一比較結果來預測該損壞控 制字元並決定一預測控制字元;以及以該預測控制字元取代該損 壞控制字元。 在本發明一實施例中揭露一種在一 SATA主控裝置以及一 SATA週邊裝置之間傳送之損壞控制字元之修正方法,該方法包含 有:偵測一損壞控制字元之出現;分析三個連續接收之控制字元; 依據該三個連續接收之控制字元來預測該損壞控制字元並決定一 預測控制字元;以及以該預測控制字元取代該損壞控制字元。 SATA週邊裝置種在—SATA主控裝置以及一 接收一第^顺法,其包含有: H制.、接收δ亥第一控制字元之後,緊接地接收 第-控制Μ,以及當該第二控制字 ==置之正常運作期間無法緊接於該第:元 後時,侧㈣她控制字元。 【實施方式】 在41及後續的申請專利細當巾伽了㈣詞彙來指稱 ==件_。所屬領域中具有通常知識者射理解,硬體製造商 專:|二=的名巧來稱呼同一個元件。本說明書及後續的申請 广、’以名稱的差異來作為區分元件的方式,而是以元件 力月b上的差異來作為區分的準則。在通篇說明書及後續的請求 項田中所提朗包含」係為_開放式的用語,故應解釋成「包 3不限定於」卩外’「粞接」一詞在此係包含任何直接及間接 的電氣連接手段。因此,若文中描述—第—裝置雛於—第二裝 置則代表。亥第-裳置可直接電氣連接於該第二裝置,或透過旦 他裝置或連接手朗接地f氣連接至該第二裝置。 /、 °月庄思,由於控制字元在傳送器1〇〇以及接收器2〇〇之間的傳 送會受_針_鏡,咖f要—種綠來酬絲控制字 元並修正損壞控制子元使之成為預測控制?元,本制書揭露複 數個實施例來酬親控制字元的實際值,同時可以合併複數個 12 1328162 實施方式來提向預測之精準度。對每一個實施例之說明請同時參 照第1圖以及第2圖。 首先’一些控制字元僅用於特定的傳送狀態。舉例來說,接收 器200會送出一預備接收控制字元到傳送器1〇〇,然後接收器2〇〇 會預期接收一訊框開始控制字元以便開始訊框的傳送,所以,接 收器200在送出預備接收控制字元時,可以預測一損壞控制字元 φ 係為訊框開始控制字元。此外,暫停控制字元、暫停回應控制字 元、接續傳送控制字元以及訊框結束控制字元將僅於資料傳送狀 態或資料接收狀態中被修正。舉例來說,只有當接收器2〇〇在資 料接收中狀態、直接兄憶體存取結束(direct memory access terminate,DMAT)狀態、暫停回應狀態或暫停狀態時,才會預期 接收訊框結束控制字元,在這些狀態中,如果可以決定損壞控制 字元的最有可能值,那麼便可以預測訊框結束控制字元;同理, • 只有當接收器200處於資料接收中狀態、直接記憶體存取結束狀 態、暫停回應狀態、暫停狀態或當傳送器100處於暫停回應狀態、 暫停狀態或資料傳送狀態時,才會預期接收暫停控制字元、暫停 回應控制字元以及接續傳送控制字元。 除了考慮資料傳送以及資料接收的目前狀態之外,先前所接收 的控制字元或之後接收的控制字元也可用來預測損壞控制字元的 . 值6可以分析三個、四個或五個連續控制字元來決定損壞控制字 • 元的識別身份,其中損壞控制字元可以是被分析的連續控制字元 13 1328162 * 中的一個。 ’ 接續傳送控制字元會由於其所處於的操作狀況而便於被預 :出來’如第2圖卿’接續傳馳财元永魏峡兩個相同 =控制字元之後,而且常常後續會賴著加_料,由於使用接 ^傳送控制字元防止4複傳送相_控制字元,這種做法會存在 遭受電磁干擾的問題。因為接續傳送控制字元係緊跟隨於兩個完 •全相同的控制字元之後,如此一來,這樣的特定資料型樣便會使 得接續傳送㈣字元容碰_,纽是說,如果—觸控制字 疋緊跟於兩個完全相同的控财元之後,這個損壞控制字元便很 可能是接續傳送㈣字元,另—方面,如果—接續傳送控制字元 係緊跟著兩健制字元之後,其巾—個蝴字元被損壞而另一個 控制字元並未損壞,則這個損壞控制字元可以被預測是與另一個 未損壞的控制字元相同》 _ 如第1圖所不’損壞控制字元中一個或多個位元組的内容亦可 用來預測該觸㈣字元的實際_身份。舉例來說,當損壞控 制字元中第三位元組或第四位元組具有内容〇231,則可以預測這 個損壞控辨元的識別雜為贿開健游元,除此之外還可 以執行進一步的檢查以讀保預測結果的精確性,也就是說,檢查 其他位元組的内容(例如該損壞控制字元的第二、第三以及第四位 元,卫)以確吻這些位元組與其他可能控制位元的相對應内容並不相 同,此外,每一個損壞控制字元的32或40個位元中的片段也可 14:. 1328162 與複數個控制字元中的已知位元值作比較以預測該損壞控制字元 的識別身份。損壞控制字元中一預定數量的位元可以與可能的控 制字元中一預定數量的位元進行比較,舉例來說,如果損壞控= 字元之40個位元中的23個最低有效位元(Uast Significant β^, LSB)包含接續傳送控制字元的23個最低有效位元,那麼可以預測 這個損壞控制字元為接續傳送控制字元。 訊框結束控制字元也可利用相同的方法來預測。當損壞控制字 元的第一位元組具有内容K28.3、第二位元組具有内容D2i 5以及 第三位元組或第四位元組具有内容D21.6,則可以預測這個損壞控 制字元的識別身份為訊框結束控制字元。也可以執行更進一步的 檢查來確認該損壞控制字元的第三位元組以及第四位元組與其他 可能控制字元中相對應的内容不相同。 當損壞控制字元的第一位元組具有内容K28 3、第二位元組具 有内容D10.5以及第三位元組或第四位元組具有内容D25 4時, 可以預測這個損壞控制字元的識別身份為接續傳送控制字元。也 可以執行更進一步的檢查來確認該損壞控制字元的第二位元組、 第二位元組以及第四位元組與其他可能控制字元相對應的内容不 相同。 當損壞控制字元的第一位元組具有内容K28.3、第二位元組具 有内谷D10.5以及第二位元組或第四位元組具有内容D2i 6時, 15 1328162 • 可以預測這個損壞控制字元的識別身份為暫停控制字元也可以執 行更進-步驗絲確認賴壞㈣字元的第三位元組以及第四 位元組與其他可能控制字元相對應的内容不相同。 當損壞控制字元的第一位元組具有内容K28 3、第二位元組具 有内容D10.5以及第三位元組或第四位元組具有内容〇214時, • 可以預測這個損壞控制字元的識別身份為暫停回應控制字元也可 ' 减行更進一步的檢查來確認該損壞控制字元的第三位元組以及 第四位元組與其他可能控制字元相對應的内容不相同。 請參照第3圖’第3圖為依據本發明第一實施例所繪之控制字 元預測系統300的功能方塊圖。如第3圖所示,控制字元預測系 統300包含控制字元解碼電路3〇2、延遲電路3〇4 u及控制字元編 碼規則表306。控制字元解碼電路3〇2係用來接收一連串的控制字 元作為輸入訊號’在控制字元解碼電路3〇2接收每一個控制字元 #期間,如果控制字元損壞,控制字元解碼電路3〇2則會預測控制 • 料的值,並將這個控制字it送到延遲電路3G4,延遲電路304 便加入控制子元週期的延遲,並且於控制字元解碼電路弧接 收下-個控制字元時’輸出先前所接收之㈣字元至控制字元解 碼電,302 jit外’控制字元解碼電路3〇2從控制字元編碼規則表 306讀取貝以決疋控制字元應該要有的實際位元以及位元組的 •數值—而控制字7C解碼電路3()2便利用一個或更多個先前接收之 .控制字元目刖接收之控制字元以及依據控制字元編碼規則表3⑽ 丄: 所對應之‘準控制字①的數值等資訊來損雜制字元的值。 -月參照第4圖’第4 11為依據本發明第二實施例所繪之控制字 元預測系統320的功能方塊圖。如第4圖所示,控制字元預測系 統320包含控制字元解碼電路322、控制字元編碼規則表 326以及 控制邏輯電路324。控制字元解碼電路322係接收一連串的控制字 凡來作為輸入訊號,並預測控制字元的值以及輸出預測控制字 元。其中會複製一份預測控制字元並傳送到控制邏輯電路似,用 來不斷追㈣料傳送以及資料接收的目前狀態。控綱輯似將 輸出目别狀態到控制字元解碼電路322,控制字元解碼電路322 將利用這些資訊連同從控制字元編碼規則表326所得到的資訊來 預測損壞控制字元的值。 請參照第5圖,第5圖為依據本發明第三實施例所繪之控制字 元預測系統340的功能方塊圖。控制字元預測系統34〇與第3圖 所示之控制字元預測系統300相似,但有一些小小的差異:第5 圖的延遲電路344係具有不同的配置方式。同時輸入所接收的控 制字元至延遲電路344以及控制字元解碼電路342,而控制字元解 碼電路342也接收先前從延遲電路344所接收的控制字元,且控 制字元解碼電路342係利用先前所接收之控制字元的資訊連同目 前接收之控制字元及控制字元編碼規則表346所讀取之資訊來預 測損壞控制字元的值。 17 _ °月第6圖’第6圖為依據本發明第四實施例所纟會之控制字 元預測系統360的功能方塊圖。如第6圖所示,控制字元預^系 統包含控制字元解碼電路362以及控制字元編碼規則表取。 ,制字元解碼電路362接收一目前控制字元並且比較該目前控制 予疋的位dx及位元域包含在控财元編碼關表说的標準 控齡it值。其中於複數健選鮮控制字元中,會依據最相近 =一標準控制字元來删該目前㈣字元。而為了能讓損害控制 字元在内容上比起其他的候選控制字元更接近—特定候選控制字 元,則損壞控制字元與該特定候選控制字元之間的漢明距離 (hammingdistance)比趄其他的候選控制字元來說最小。漢明距 離係經由對候選控制字元以及損壞控财元兩者中的位元以一個 位元接一個位元的方式來執行互斥或(x〇R)運算而量測出來。 請注意,損壞控制字元的識別身份的預測並不限定於訊框開始 控制字元、暫停控制字元、暫停回應控制字元、接續傳送控制字 元以及訊框結束控制字元,對於其他的控制字元而言,亦可利用 與這5個控制字元相同的預測方法來達到預測暨修正該損壞控制 字元的目的,亦屬本發明之範疇。然而,這5個控制字元的不正 確預測可能導致傳送器1〇〇以及接收器200之間的通訊以及資料 傳輸停滯或懸宕,所以正確的預測操作是特別的重要。為了得到 最好的結果,可以同時使用狀態資訊以及位元組内容的比較來預 剩損壞控制字元的識別身份,一但確定了損壞控制字元的識別身 份,預測控制字元便取代損壞控制字元以排除傳送器1〇〇以及接 1328162 * 收器200之間的通訊以及資料傳輸的問題。請注意,上述方法適 用於SATA規格或串列附接小型電腦系統介面(Serial Attaehed SCSI,SAS)規格以及其他類似的通訊標準。 除了預測損壞控制字元的識別身份之外,可以藉由同時分析先 前所接收之控制字元以及緊接著該先前所接收之控制字元的目前 接收控制字元,偵測不正確的控制字元。舉例來說,如果先前所 φ 接收之控制子元為接收正確控制字元而目前所接收之控制字元為 接收錯誤控制字元,由於接收錯誤控制字元不會緊隨著接收正確 控制字元,職便可推論目前所減之控游元係林正確的控 制字70 ;伽,如果先前所接收之控财元為賴傳送控制字元 而目引所接收之控制子元為等待結束控制字元,由於等待結束控 制字元=會緊隨著預備傳送控制字元,那麼便可推論目前所接^ 之控制字元係為不正__字元。所以,即使目前所接收之控 制字元為有效控制字元並且遵守SAm規格,仍然可以偵測出不 ’正確的控制字元。 、所述僅為本發明之較佳實施例,凡依本發明申請專利範 圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。 【圖式簡單說明】 第2 = ^不SATA協定中控制字元之位元組内紅查閱表的示意圖。 係顯示主控裝置與週奴置之間發送-_之-範例的示練 19 1328162 第3圖為依據本發明第一實施例所纟會之控制字元預測系統的功能方塊圖。 第4圖為依據本發明第二實施例所繪之控制字元預測系統的功能方塊圖。 第5圖為依據本發明第三實施例所繪之控制字元預測系統的功能方塊圖。 第ό圖為依據本發明第四實施例所繪之控制字元預測系統的功能方塊圖。 【主要元件符號說明】 300 控制字元預測系統 10 查閱表 12 第一位元組 14 第二位元組 16 第三位元組 18 第四位元組 100 傳送器 200 接收器 106、108、110、120、122、 控制字元 132、134、136、144、152、 154、156、158、160、162、 172、174、176、214、216、 218、226、228、230、240、 242、244、254、256、258、 264、266、268、280、282、 284 124、126、128、130、146、 資料封包 20 1328162
148 > 150 102、104、112、114、116、118、 加擾資料 138、140、142、164、166、 168、170、178、180、182、 184、186、188、202、204、 206、208、210、212、220、 222、224、232、234、236、 238、246、248、250、252、 260、262、270、272、274、 276、278、286、288 300、320、340、360 控制字元預測系統 302、322、342、362 控制字元解碼電路 304、344 延遲電路 306、326、346、364 控制字元編碼規則表 324 控制邏輯電路 21
Claims (1)
1328162 十、申請專利範圍: 1·一種在一 SATA主控裝置以及一 SATA週邊裝置之間所傳送之損 壞控制字元之修正方法,該方法包含有: 偵測一損壞控制字元之出現; 分析一目前狀態、一先前傳送之控制字元或一先前接收之控制 字元; 依據该目前狀態、該先前傳送之控制字元以及該先前接收之控 制予元中的至少之一來選擇至少一候選控制字元; 依據該至少一候選控制字元以及該損壞控制字元來預測該損 壞控制字元並決定一預測控制字元;以及 以該預測控制字元取代該損壞控制字元。 2. 如申請專利範圍第1項所述之方法,其中當該損壞控制字元之 至少一位元組具有的内容與一特定候選控制字元中一相對應 位疋組的内容相同時,則預測該損壞控制字元之識別身份為 該特定候選控制字元。 3. 如申請專利範圍第1項所述之方法,其中當該損壞控制字元之 N位元組中M位元組具有的内容與_特定㈣控制字元中一 相對應位元組的内容相同時,則預測該損壞控制字元之識別 身份為該特定候選控制字元。 4. 如申°月專利辜巴圍第3項所述之方法,其中Μ以及N係為整數, 22 1328162 且Μ小於N。 5. 如申請專利範圍第3項所述之方法,其中M係為1、2戋3, 以及N係等於4。 6. 如申請專利範圍第1項所述之方法,其中當該損壞控制字元之 片段具有的内容與一特定候選控制字元中一相對應位元的内 容相同時,則預測該損壞控制字元之識別身份為該特定候選 控制字元。 7·如申請翻範圍第!項所述之方法,其中壞控制字元係 在内谷上相較於其他候選控制字元更接近於—特定候選控制 子元時,則預測該損壞控制字元之識別身份為該特定候選控 制字元。 、二 8. 如申請專利範圍第7項所述之方法,其中當該損壞控制字元係 在内各上相較於其他候選控制字元更接近於一特定候選控制 字元時’销壞控制字元以及該特定候選控制字元之間的漢 明距離相較於該損壞控辨元與其他魏控制字元之漢明距 離而言係為最小。 9. 如申請專利範圍第8項所述之方法,其中該漢赃離係藉由一 個位元接著一個位元的方式執行一互斥或運算(x〇r)來量 23 1328162 測。 壞控制字元係具 10‘如申請專利範圍第1項所述之方法,其中該損 有40個位元或32個位元。 11.如申請專利範圍第2項所述 ^ 料其中该特定候選控制字 疋係選自包含-訊框開始控制料、—訊框結束控制字元、 回應控制 一接續傳送控制字元、-暫停控制字元以及一暫停 字元之群組。 12. 如申請糊範_2_敎綠,射鱗賴馳制字元 係為使用於SATA規格或SAS規格之控制字元。 13. 如申請專利範圍第i項所述之方法,其中當該目前狀態係為一 預備接收狀態、該損壞控制字元之一第三位元組或一第四位 元組具有D23.1之内容以及該先前傳送控制字元係為一預備 傳送控制字元時,則預測該損壞控制字元之識別身份為一訊 框開始控制字元。 14.如申請專利範圍第1項所述之方法,其中當分析該先前接收控 制字元係為一預備傳送控制字元以及該損壞控制字元之一第 三位元組具有D23.1之内容或該損壞控制字元之一第四位元 組具有D23.1之内容時,則預測該損壞控制字元之識別身份 24 1328162 為一訊框開始控制字元。 15. 如申請專利範圍第1項所述之方法,其中當接收資料之該目前 狀〜、制曰示-:貝料接收中狀態、一直接記憶體存取結束狀 態、-暫停狀態或-暫停回應狀態且該損壞控制字元之一第 -位元组具有微3之内容、該損壞控制料之—第二位元 M具有D23.5之内糾損壞_字元之-第三位元組或 • _第四位讀具有D21.6之内容時,則侧賴壞控制字元 之識別身份為一訊框結束控制字元。 16. 如申請專利範圍第】項所述之方法,另包含有: 判斷先前所接收之負載資料為資料封包、該損壞控制字元之一 第一位το組具有K28.3之内容以及該損壞控制字元之一第 -位το組料DM.5之崎,㈣繼娜_字元之識 別身份係為一訊框結束控制字元。 如申請專利範圍第〗項所述之方法,其中當傳送資料或接收資 料之該目前狀祕指示—資料接收中狀態…直接記憶體存 取結束狀態、-暫停狀態、一暫停回應狀態或資料傳送狀態, 並且該損制字元之—第—位元組具有跳3之内容以及 該知壞控制字7L之-第三位元組或一第四位元組具有D25 4 .之内料,則預繼損壞控制字元之識別身份為—接續傳送 控制字元。 25 1328162 .18_如申請專利範圍第1項所述之方法,,其中分析資料接受之該目 前狀態之步驟另包含有: 判斷兩個先刚接收控制字元係為相同的控制字元,該損壞控制 字το之-第-位το組具有K28.3之内容以及該損壞控制字 元之一第二位元組或一第四位元組具有D25 4之内容,來 . 預測該損壞控制字元之識別身份為一接續傳送控制字元。 φ 19.如申請專利範圍第1項所述之方法,另包含有: 判斷該損壞控制字元之一第一位元組具有K28 3之内容以及該 損壞控,子元之一第二位元組或一第四位元組具有 D25.4 之内容,來預測該損壞控制字元之識別身份為一接續傳送 控制字元。 20. 如申請專利範圍第1項所述之方法,其中當資料傳送或資料接 收之該目前狀態係指示一資料接收中狀態、一直接記憶體存 _ 轉絲||、-暫停狀態、_暫細應狀態或―資料傳送狀 態以及該損壞控制字元之一第一位元組具有Κ28.3之内容、 該損壞控制字元之一第二位元組具有D1〇5之内容以及該損 壞控制字元之一第三位元組或一第四位元組具有D216之内 容時,則預測該損壞控制字元之識別身份為一暫停控制字元。 21. 如申請專利範圍第1項所述之方法,另包含有: 判斷該先前接收控制字元係為一暫停控制字元以及該損壞控制 26 1328162 字元之一第一位元組具有K28·?之内容以及該損壞控制字 元之一第三位元組或一第四位元組具有D21.6之内容,以 預測該損壞控制字元之識別身份係被預測為一暫停控制字 元。 22. 如申請專利範圍第丨項所述之方法,其中當資料回應之該現行 狀態係指示一資料接收中狀態、一直接記憶體存取結束狀 態、一暫停狀態或一暫停回應狀態、該損壞控制字元之一第 一位元組具有K28.3之内容、鵁損壞控制字元之一第二位元 組具有D10.5之内容以及該損壞控制字元之一第三位元組或 一第四位元組具有D21.4之内容時,則預測該損壞控制字元 之識別身份為一暫停回應控制字元。 23. 如申請專利範圍第丨項所述之方法,另包含有: 判斷該先前接收控制字元係為一暫停回應控制字元、該損壞控 制字元之一第一位元組具有Κ28 3之内容以及該損壞控制 字元之一第三位元組或一第四位元組具有D214之内容, 以預測該損壞控制字元之識別身份為一保留承認控制字 元。 24.如申凊專利涵第i項所述之方法,其中當資料回應之該目前 狀態指示-損壞控制字元為在__接續傳送控制字元之前所接 收之兩個控制字疋其中之一時,則預測該損壞控制字元為該 27 兩個控制字元中一未損壞的控制字元。 » 25. -種在SATA i控褒置以及一 SATA週邊裝置之間傳送之損壞 控制.予元义修正方法,該方法包含有: 偵測一損壞控制字元之出現; 比較該損壞控财元之位元朗容以及位元組位置與複數可 能控制字元之位元組内容以及位元組位置; 依據位元_容以及位元組位置之—比較結果來_該損壞 控制字兀之一識別身份以決定一預測控制字元;以及 以該預測控制字元取代該損壞控制字元。 26·如申5月專利範圍帛25項所述之方法,其中該可能控制字元係 為用於SATA規格或SAS規格中之控制字元。 27.如申請專利範圍第25項所述之方法,其中該位元組内容係以 10位元或8位元格式来儲存。 28.如申請專利範圍帛25項所述之方法,其中當該損壞控制字元 之第—位元組具有K28.3之内容、該損壞控制字元之一第 二位元組或—第四位元組具有D23.1之内容以及該損壞控制 予元之邊第二、第三以及第四位元組之内容與其他的可能控 子元中相對應的内容不相同時則預測該損壞控制字元之 哉別身份為一訊框開始控制字元。 28 1328162 29. 如申請專利範圍第25項所述之方法,其中當該損壞控制字元 之一第一位元組具有K28.3之内容、該損壞控制字元之一第 二位元組具有D21.5之内容、該損壞控制字元之一第三位元 組或一第四位元組具有D21.6之内容以及該損壞控制字元之 該第三、第四位元組之内容與其他的可能控制字元中相對應 的内容不相同時,則預測該損壞控制字元之識別身份為一訊 框結束控制字元。 30. 如申睛專利範圍第25項所述之方法,其中當該損壞控制字元 之一第一位元組具有K28.3之内容、該損壞控制字元之一第 三位元組或一第四位元組具有D25.4之内容以及該損壞控制 字元之該第二、第三以及第四位元組之内容與其他的可能控 制字元中相對應的内容不相同時,則預測該損壞控制字元之 識別身份為一接續傳送控制字元。 31. 如申請專利範圍第25項所述之方法,其中當該損壞控制字元 之一第一位元組具有K28.3之内容、該損壞控制字元之一第 二位元組具有D10.5之内容以及該損壞控制字元之一第三位 元組或一第四位元組具有D25.4之内容時,則預測該損壞控 制字元之識別身份為一接續傳送控制字元,其中該損壞控制 字元之該第三、第四位元組之内容與其他的可能控制字元中 相對應的内容不相同。 29 32·如申請專利範圍第25項所述之方法,其中當該損壞控制字元 -第位7C組具有K28.3之内容、該損壞控制字元之一第 位7G、、且具有D10.5之内容、該損壞控制字元之一第三位元 :且或一第四位凡組具有D216之内容以及該損壞控制字元之 第一第四位;t組之内容與其他的可能控制字元中相對應 的内容不相同時,則預測該損壞控制字元之識別身份為一暫 停控制字元。 订如申請專利範圍第25項所述之方法,其中當該損壞控制字元 ^第-侃組具有K28.3之内容、該損壞控制字元之一第 一位7L組具# D10.5之内容、該損壞控制字元之一第三位元 級或-第四位元組具有肌4之内容以及該損壞控制字元之 該第三、第雜故之内容與其他的可能控制字元中相對應 的内容不相_,則預測該損壞控制字元之識別身份為 停回應控制字元。 34. -種在一 SATA主控裝置以及一8篇週邊裝置之間傳送之損 壞控制字元之修正方法,該方法包含有: 貝 偵測一損壞控制字元之出現; 比較該損壞控制字元之部分内容與複數可能控制字 邵分 内容; 依據一比較結果來預測該損壞控制字元之一識別身份以決定 一預測控制字元;以及 、 30 1328162 * 以該預測控制字元取代該損壞控制字元。 35.如申請專利範圍帛Μ項所述之方法,其中比較該損壞控制字 元之。P分内容與可能控制字元之部分内容之步驟係藉由比較 該損壞控制字元中-預定數量之位元_可能控制字元中一 預定數量之位元來實現。 # 3’°·,在一 SATA主控裝置以及一 SATA週邊裝置之間傳送之損 壞控制字元之修正方法,該方法包含有: 偵測一損壞控制字元之出現; 分析三個連續接收之控制字元; 依據該三個連續接收之控制字元來預測該損壞控制字元之一 識別身份以決定一預測控制字元;以及 以該預測控制字元取代該損壞控制字元。 _ 37,如申請專利制第36項所述之方法,其中該損壞控制字元係 為該三個連續接收之控制字元的其中之一。 38. 如申請專利範圍第37項所述之方法,另包含有: 分析四或五個連續接收之控制字元。 39. -種偵測在-SATA主控裝置以及一 SATA週邊裝置之間傳送 •之損壞控制字元之方法,該方法包含有: 31 接收—第一控制字元; =收該第一控制字元之後緊接祕收一第沐制字元·,以及 k第一控制干元在該SATA主控裝置以及該SATA週邊裝置 之正吊運作期間無法緊接於該第一控制字元之後時,判斷 °亥第一控制字元係一不正確的控制字元。 如申π專利_第%項所述之方法,其中該第—控制字元係 -接收正確控制字元以及該第二控制字元係 一接收錯誤控制 字元。 41·如申明專利域第39項所述之方法,其中該第-控制字元係 -預備傳触财元以及該第二控制字元係一特結束控制 字元。 十一、囷式: 32
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US76677106P | 2006-02-10 | 2006-02-10 | |
| US11/456,077 US7634692B2 (en) | 2006-02-10 | 2006-07-06 | SATA primitive prediction and correction |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW200745839A TW200745839A (en) | 2007-12-16 |
| TWI328162B true TWI328162B (en) | 2010-08-01 |
Family
ID=38368545
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW096104787A TWI328162B (en) | 2006-02-10 | 2007-02-09 | Methods of detecting and correcting corrupted primitives between a sata host and a sata device |
Country Status (3)
| Country | Link |
|---|---|
| US (2) | US7634692B2 (zh) |
| CN (2) | CN101882096B (zh) |
| TW (1) | TWI328162B (zh) |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7634692B2 (en) * | 2006-02-10 | 2009-12-15 | Mediatek Inc. | SATA primitive prediction and correction |
| US7747796B1 (en) * | 2007-12-20 | 2010-06-29 | Nvidia Corporation | Control data transfer rates for a serial ATA device by throttling values to control insertion of align primitives in data stream over serial ATA connection |
| US7827320B1 (en) | 2008-03-28 | 2010-11-02 | Western Digital Technologies, Inc. | Serial ATA device implementing intra-command processing by detecting XRDY primitive while in the XRDY state |
| US8856390B1 (en) | 2008-03-28 | 2014-10-07 | Western Digital Technologies, Inc. | Using device control field to implement non-disruptive notification of an ATA device |
| US8261156B2 (en) * | 2008-09-11 | 2012-09-04 | Lsi Corporation | Methods and apparatuses for correcting errors in data streams |
| US10795797B2 (en) * | 2011-11-25 | 2020-10-06 | Nxp Usa, Inc. | Controller, SATA system and method of operation therefor |
| US9632711B1 (en) | 2014-04-07 | 2017-04-25 | Western Digital Technologies, Inc. | Processing flush requests by utilizing storage system write notifications |
| US9645752B1 (en) | 2014-04-07 | 2017-05-09 | Western Digital Technologies, Inc. | Identification of data committed to non-volatile memory by use of notification commands |
| EP3160049A1 (en) * | 2015-10-19 | 2017-04-26 | Thomson Licensing | Data processing method and device for recovering valid code words from a corrupted code word sequence |
| CN106354686B (zh) * | 2016-08-22 | 2019-03-26 | 广州慧睿思通信息科技有限公司 | 一种基于fpga的sata接口数据流控制器及控制方法 |
Family Cites Families (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB9614561D0 (en) * | 1996-07-11 | 1996-09-04 | 4Links Ltd | Communication system with improved code |
| US6343367B1 (en) * | 1999-03-29 | 2002-01-29 | Maxtor Corporation | Error correction system for five or more errors |
| US6763477B1 (en) * | 2000-07-31 | 2004-07-13 | Hewlett-Packard Development Company, L.P. | Method and apparatus for transmitting and receiving data using a self clocking link protocol |
| US7257163B2 (en) * | 2001-09-12 | 2007-08-14 | Silicon Image, Inc. | Method and system for reducing inter-symbol interference effects in transmission over a serial link with mapping of each word in a cluster of received words to a single transmitted word |
| WO2003032497A1 (fr) * | 2001-10-03 | 2003-04-17 | Sony Corporation | Procede de codage et de decodage |
| DE10214700B4 (de) | 2002-04-03 | 2006-02-23 | Advanced Micro Devices, Inc., Sunnyvale | Kombinierter ATA/SATA-Controller als integrierter Schaltkreischip und dazugehöriges Verfahren zum Betreiben |
| US6983338B2 (en) | 2003-04-01 | 2006-01-03 | Dell Products L.P. | Coupling device for connectors wherein coupling device comprises multiplexer unit for selectiving first mode for SATA channel and second mode that establishes loop back function |
| US7523235B2 (en) * | 2003-06-11 | 2009-04-21 | Lsi Corporation | Serial Advanced Technology Attachment (SATA) switch |
| US7350126B2 (en) * | 2003-06-23 | 2008-03-25 | International Business Machines Corporation | Method for constructing erasure correcting codes whose implementation requires only exclusive ORs |
| KR100523488B1 (ko) * | 2003-07-15 | 2005-10-24 | 한국전자통신연구원 | Mb810 인코더/디코더, 듀얼 모드 인코더/디코더, 및mb810 코드 생성 방법 |
| TWI233067B (en) | 2003-12-22 | 2005-05-21 | Lycom Technology Inc | Method for displaying the status of external storage device using SATA and the apparatus thereof |
| TWI269968B (en) * | 2004-04-22 | 2007-01-01 | Mediatek Inc | Method for processing the noise in the SATA |
| TWI242716B (en) * | 2004-04-30 | 2005-11-01 | Mediatek Inc | Method for processing interference of noise |
| US7865803B2 (en) * | 2004-04-30 | 2011-01-04 | Mediatek Inc. | Method for processing noise interference in data accessing device with serial advanced technology attachment (SATA) interface |
| TWI252471B (en) | 2004-04-30 | 2006-04-01 | Mediatek Inc | Method and circuit for reducing SATA data transmission errors by adjusting the period of sending align primitive |
| US7676613B2 (en) * | 2004-08-03 | 2010-03-09 | Lsi Corporation | Methods and structure for assuring correct data order in SATA transmissions over a SAS wide port |
| US7634692B2 (en) * | 2006-02-10 | 2009-12-15 | Mediatek Inc. | SATA primitive prediction and correction |
| US7650540B2 (en) * | 2006-07-21 | 2010-01-19 | Intel Corporation | Detecting and differentiating SATA loopback modes |
-
2006
- 2006-07-06 US US11/456,077 patent/US7634692B2/en active Active
-
2007
- 2007-02-09 TW TW096104787A patent/TWI328162B/zh not_active IP Right Cessation
- 2007-02-12 CN CN201010225259.8A patent/CN101882096B/zh not_active Expired - Fee Related
- 2007-02-12 CN CN2007100840409A patent/CN101025704B/zh not_active Expired - Fee Related
-
2009
- 2009-11-03 US US12/611,926 patent/US8281189B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| US20100050018A1 (en) | 2010-02-25 |
| CN101882096B (zh) | 2016-02-17 |
| CN101025704A (zh) | 2007-08-29 |
| US20070189619A1 (en) | 2007-08-16 |
| CN101025704B (zh) | 2010-09-01 |
| CN101882096A (zh) | 2010-11-10 |
| TW200745839A (en) | 2007-12-16 |
| US7634692B2 (en) | 2009-12-15 |
| US8281189B2 (en) | 2012-10-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI328162B (en) | Methods of detecting and correcting corrupted primitives between a sata host and a sata device | |
| USRE44487E1 (en) | Command packet packing to mitigate CRC overhead | |
| US8185680B2 (en) | Method for changing ownership of a bus between master/slave devices | |
| KR101001074B1 (ko) | 버스 상에 데이터를 전송하기 위한 방법 | |
| CN100416532C (zh) | 用于优化pci-express通信的系统 | |
| CN101123485B (zh) | iSCSI报文处理方法和装置、错误恢复方法和装置 | |
| US7436777B2 (en) | Failed link training | |
| US20010034799A1 (en) | Packet transmission/reception processor | |
| TW200535603A (en) | Method for processing the noise in the sata | |
| JP2001223726A (ja) | 多重通信方法、多重通信装置および多重通信システム | |
| JP3996928B2 (ja) | 破損データを処理する方法 | |
| US7363402B2 (en) | Data communications architecture employing parallel SERDES channels | |
| US8473801B2 (en) | Method for increasing efficiency of transferring packet of isochronous transfer type and device thereof | |
| US6693905B1 (en) | Data exchange unit | |
| US7143208B2 (en) | Communication device, host apparatus, and communication method | |
| US7606253B2 (en) | Successful transactions | |
| US7310762B2 (en) | Detection of errors | |
| US20050154968A1 (en) | Detection of errors | |
| JP2002358177A (ja) | 画像形成装置、該装置のシリアル通信方法および該方法をコンピュータに実行させるプログラム並びに該プログラムを記録した記録媒体 | |
| US8085836B2 (en) | Robustness improvement for bandwidth limited communication system | |
| WO2006118711A1 (en) | Encoding of client-aborted messages in the frame check sequence | |
| WO2022086798A1 (en) | Repeated in sequence packet transmission for checksum comparison | |
| CN119739663A (zh) | 串行外围接口通信系统和方法 | |
| JP2000059460A (ja) | データ通信方法及びデータ通信装置 | |
| JPH09282273A (ja) | データ転送方法及び通信制御装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | Annulment or lapse of patent due to non-payment of fees |