專利名稱:Sata主控裝置及sata外圍裝置之間所傳送的損壞控制字元的檢測及修正方法
技術領域:
本發(fā)明是關于序列式進階技術附接(serial advanced technology attachment,SATA)裝置,尤指用來修正因為噪聲干擾而造成損壞的控制字元的方法。
背景技術:
在SATA協(xié)議中,SATA主控裝置與SATA外圍裝置兩者間由信息框結構(Frame Information Structure,F(xiàn)IS)來互相交換信息,其中每一個信息框結構由一些雙字組(Dword)所構成,而這些雙字組則用來供主控裝置與外圍裝置間進行信息傳遞。SATA主控裝置與SATA外圍裝置利用控制字元(primitives)來進行控制以及提供串行傳輸線路的狀態(tài),每一個控制字元亦由一雙字組所構成。除此之外,控制字元也可用來實現(xiàn)主控裝置與外圍裝置之間的聯(lián)機建立程序(handshaking)。
請參照圖1,圖1為SATA協(xié)議中控制字元的字節(jié)內容查閱表10的示意圖。每一個控制字元包含有四字節(jié),分別為第一字節(jié)12、第二字節(jié)14、第三字節(jié)16以及第四字節(jié)18。
請參照圖2,圖2為一主控裝置與一外圍裝置之間發(fā)送一信息框(frame)的一范例的示意圖。主控裝置可以是傳送器100與接收器200的其中的一裝置,而外圍裝置即為傳送器100與接收器200之中的另一裝置。如圖2所示,傳送器100傳送一連串的數據或控制字元102~188至接收器200,而接收器200便響應控制字元202~288并將其傳送到傳送器100。
如圖2所示,一開始時,傳送器100于同步控制字元之后緊接著傳送加擾數據封包(scrambled data packet)102、104至接收器200,請注意,符號“XXXX”代表加擾數據值,用來減少電磁干擾(EMI)的影響,而加擾數據封包102、104并非控制字元。當傳送器100預備開始傳送一信息框給接收器200時,傳送器100輸出一預備傳送(X_RDY)控制字元用以指示傳送器100已經預備好可以傳送負載數據至接收器200,在本范例中,傳送器100送出兩個預備傳送控制字元106、108,并發(fā)出一接續(xù)傳送(CONT)控制字元110以避免重復輸出相同的控制字元,接著輸出一連串的加擾數據封包112~118。傳送器100持續(xù)這個運作直到接收器200響應對應于預備傳送控制字元的一預備接收(R_RDY)控制字元。預備接收控制字元用來指示接收器200已經預備好可以接收負載數據,在本范例中,接收器200送出兩個預備接收控制字元214、216,并發(fā)出一接續(xù)傳送控制字元218,接著輸出一連串的加擾數據封包220~224,直到傳送器100開始傳送所述的信息框。
傳送器100送出一信息框開始(start of frame,SOF)控制字元120至接收器200,用來指示即將開始傳送信息框。之后,傳送器100送出一類別指示標(type indicator)122用以指示即將被傳送到接收器200的信息框結構的類別,接著送出復數個數據封包124~130。當接收器200接收到從傳送器100傳來的數據時,接收器200便依次輸出數據接收中(reception in progress,R_IP)控制字元226、228、接續(xù)傳送控制字元230以及加擾數據232~238至傳送器100。當傳送器100暫時沒有負載數據要被傳送時,便輸出一暫停(HOLD)控制字元,如圖2所示,傳送器100依次輸出暫??刂谱衷?32、134、接續(xù)傳送控制字元136、加擾數據138~142以及另一個暫??刂谱衷?44,另一方面,接收器200會利用暫停響應(hold acknowledge,HOLDA)控制字元240、242來響應已收到暫停控制字元,并接著輸出接續(xù)傳送控制字元244以及加擾數據246~252。
傳送器100完成送出負載數據中的數據封包146~150后,接著送出循環(huán)冗余檢查(cyclic redundancy check,CRC)數據152以及信息框結束(end of frame,EOF)控制字元154。之后,當等待從接收器200所響應的接收狀態(tài)的期間,傳送器100連續(xù)輸出等待結束(wait for frame termination,WTRM)控制字元156~158、接續(xù)傳送控制字元162以及加擾數據164~170。在這個期間,接收器200同時完成接收從傳送器100所傳來的負載數據,并依次輸出數據接收中控制字元254、256、接續(xù)傳送控制字元258以及加擾數據260、262。在接收器200已經完成接收所有的負載數據、循環(huán)冗余檢查(CRC)152以及信息框結束控制字元154,并確認循環(huán)冗余檢查(CRC)沒問題后,接收器200便依次輸出接收正確(R_OK)控制字元264、266、接續(xù)傳送控制字元268以及加擾數據270~278。如果循環(huán)冗余檢查(CRC)發(fā)現(xiàn)有問題,接收器200則輸出接收錯誤(reception error,R_ERR)控制字元。一旦傳送器100接收到接收器200所響應的接收正確控制字元,傳送器100便輸出同步(SYNC)控制字元172、174并接著輸出接續(xù)傳送控制字元176以及加擾數據178~188。當傳送器100處于閑置狀態(tài)時,傳送器100便輸出同步控制字元以讓傳送器100以及接收器200達到同步,此時,接收器200將傳送出同步控制字元280、282、接續(xù)傳送控制字元284以及加擾數據286、288以作為響應。
上述機制用來說明于不具傳送問題時傳送一信息框中的負載數據的情形,然而,噪聲可能干擾控制字元以及數據的傳送,如此一來,將造成傳送器100以及接受器200之間通訊上的問題。舉例來說,如果接收器200無法解碼傳送器所送出的信息框開始控制字元,接收器200將一直持續(xù)的送出預備接收控制字元,但是,傳送器100并不知道接收器200沒有接收到信息框開始控制字元,而持續(xù)送出數據至接收器200直到所述的數據傳送完成才送出等待結束控制字元至接收器200。因為在數據傳送開始時,接收器200從未接收到信息框開始控制字元,因此接收器200將以同步控制字元來響應所述的等待結束控制字元,也因為接收器200并不會送出接收正確或接收錯誤控制字元,所以傳送器100以及接收器200之間的數據傳輸可能在這個時候懸宕(hang)而失敗。
如果噪聲干擾而造成暫??刂谱衷和m憫刂谱衷?、接續(xù)傳送控制字元或信息框結束控制字元損壞時,將會造成另一個潛在的問題。假若這些控制字元受噪聲影響而損壞,如此一來,可能導致錯誤的數據傳送長度,如果循環(huán)冗余檢查或者8位到10位的解碼無法檢驗出這個問題,那么將導致系統(tǒng)運作失敗而死機。
此外,如果噪聲干擾而造成暫??刂谱衷和m憫刂谱衷?、接續(xù)傳送控制字元損壞,傳送器100可能送出太多數據而造成接收器200的先進先出隊列產生數據溢出的情形。由于噪聲是無法完全消除,所以必須有克服因噪聲干擾造成控制字元損壞的方法以解決上述的問題。
發(fā)明內容
鑒于現(xiàn)有技術中存在的問題,本發(fā)明的目的之一在于提供一種一SATA主控裝置以及一SATA外圍裝置之間所傳送的損壞控制字元的修正方法。
在本發(fā)明一實施例中提供一種在一SATA主控裝置以及一SATA外圍裝置之間所傳送的損壞控制字元的修正方法,該方法包含有檢測一損壞控制字元的出現(xiàn);分析一目前狀態(tài)、一先前傳送的控制字元或一先前接收的控制字元;依據所述的目前狀態(tài)、所述的先前傳送的控制字元以及所述的先前接收的控制字元的至少其中之一來選擇至少一候選控制字元;依據所述的候選控制字元以及所述的損壞控制字元來預測所述的損壞控制字元并決定一預測控制字元;以及以所述的預測控制字元取代所述的損壞控制字元。
在本發(fā)明一實施例中提供一種在一SATA主控裝置以及一SATA外圍裝置之間傳送的損壞控制字元的修正方法,該方法包含有檢測一損壞控制字元的出現(xiàn);比較所述的損壞控制字元的字節(jié)內容以及字節(jié)位置與可能控制字元的字節(jié)內容以及字節(jié)位置;依據字節(jié)內容以及字節(jié)位置的一比較結果來預測所述的損壞控制字元并決定一預測控制字元;以及以所述的預測控制字元取代所述的損壞控制字元。
在本發(fā)明一實施例中提供一種在一SATA主控裝置以及一SATA外圍裝置之間傳送的損壞控制字元的修正方法,該方法包含有檢測一損壞控制字元的出現(xiàn);比較所述的損壞控制字元的部分內容與可能控制字元的部分內容;依據一比較結果來預測所述的損壞控制字元并決定一預測控制字元;以及以所述的預測控制字元取代所述的損壞控制字元。
在本發(fā)明一實施例中提供一種在一SATA主控裝置以及一SATA外圍裝置之間傳送的損壞控制字元的修正方法,該方法包含有檢測一損壞控制字元的出現(xiàn);分析三個連續(xù)接收的控制字元;依據所述的三個連續(xù)接收的控制字元來預測所述的損壞控制字元并決定一預測控制字元;以及以所述的預測控制字元取代所述的損壞控制字元。
在本發(fā)明一實施例中提供一種在一SATA主控裝置以及一SATA外圍裝置之間傳送的損壞控制字元的檢測方法,其包含有接收一第一控制字元;于接收所述的第一控制字元之后,緊接地接收一第二控制字元;以及當所述的第二控制字元在所述的SATA主控裝置以及所述的SATA外圍裝置的正常運作期間無法緊接于所述的第一控制字元之后時,判斷所述的第二控制字元為一不正確的控制字元。
本發(fā)明的有益效果在于,提供一種在一序列式進階技術附接主控裝置以及一SATA外圍裝置之間所傳送的損壞控制字元的修正方法,用以解決由于噪聲干擾造成控制字元損壞而降低SATA主控裝置和SATA外圍裝置之間的數據傳輸效率的問題。
圖1為SATA協(xié)議中控制字元的字節(jié)內容的查閱表的示意圖。
圖2為主控裝置與外圍裝置之間發(fā)送一信息框的一范例的示意圖。
圖3為依據本發(fā)明第一實施例所繪的控制字元預測系統(tǒng)的功能方塊圖。
圖4為依據本發(fā)明第二實施例所繪的控制字元預測系統(tǒng)的功能方塊圖。
圖5為依據本發(fā)明第三實施例所繪的控制字元預測系統(tǒng)的功能方塊圖。
圖6為依據本發(fā)明第四實施例所繪的控制字元預測系統(tǒng)的功能方塊圖。
附圖標號
300控制字元預測系統(tǒng)10 查閱表12 第一字節(jié)14 第二字節(jié)16 第三字節(jié)18 第四字節(jié)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、284124、126、128、130、146、148、 數據封包150102、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控制字元預測系統(tǒng)302、322、342、362控制字元解碼電路304、344 延遲電路306、326、346、364控制字元編碼規(guī)則表324 控制邏輯電路具體實施方式
本發(fā)明提供一種在一序列式進階技術附接主控裝置以及一SATA外圍裝置之間所傳送的損壞控制字元(primitives)的修正方法,以下結合附圖對本發(fā)明進行詳細說明。
在說明書及權利要求書當中使用了某些詞匯來指稱特定的元件。所屬領域中具有通常知識者應可理解,硬件制造商可能會用不同的名詞來稱呼同一個元件。本說明書及權利要求書并不以名稱的差異來作為區(qū)分元件的方式,而是以元件在功能上的差異來作為區(qū)分的準則。在通篇說明書及權利要求項當中所提及的“包含”為一開放式的用語,故應解釋成“包含但不限定于”。以外,“耦接”一詞在此包含任何直接及間接的電氣連接手段。因此,若文中描述一第一裝置耦接于一第二裝置,則代表所述的第一裝置可直接電氣連接于所述的第二裝置,或透過其它裝置或連接手段間接地電氣連接至所述的第二裝置。
請注意,由于控制字元在傳送器100以及接收器200之間的傳送會受到噪聲干擾而損壞,所以需要一種方法來預測原始控制字元并修正損壞控制字元使之成為預測控制字元,本說明書提供復數個實施例來預測損壞控制字元的實際值,同時可以合并復數個實施方式來提高預測的精準度。對每一個實施例的說明請同時參照圖1以及圖2。
首先,一些控制字元僅用于特定的傳送狀態(tài)。舉例來說,接收器200會送出一預備接收控制字元到傳送器100,然后接收器200會預期接收一信息框開始控制字元以便開始信息框的傳送,所以,接收器200在送出預備接收控制字元時,可以預測一損壞控制字元為信息框開始控制字元。此外,暫??刂谱衷?、暫停響應控制字元、接續(xù)傳送控制字元以及信息框結束控制字元將僅于數據傳送狀態(tài)或數據接收狀態(tài)中被修正。舉例來說,只有當接收器200在數據接收中狀態(tài)、直接存儲器存取結束(direct memory access terminate,DMAT)狀態(tài)、暫停響應狀態(tài)或暫停狀態(tài)時,才會預期接收信息框結束控制字元,在這些狀態(tài)中,如果可以決定損壞控制字元的最有可能值,那么便可以預測信息框結束控制字元;同理,只有當接收器200處于數據接收中狀態(tài)、直接存儲器存取結束狀態(tài)、暫停響應狀態(tài)、暫停狀態(tài)或當傳送器100處于暫停響應狀態(tài)、暫停狀態(tài)或數據傳送狀態(tài)時,才會預期接收暫??刂谱衷?、暫停響應控制字元以及接續(xù)傳送控制字元。
除了考慮數據傳送以及數據接收的目前狀態(tài)之外,先前所接收的控制字元或之后接收的控制字元也可用來預測損壞控制字元的值??梢苑治鋈齻€、四個或五個連續(xù)控制字元來決定損壞控制字元的識別身份,其中損壞控制字元可以是被分析的連續(xù)控制字元中的一個。
接續(xù)傳送控制字元會由于其所處于的操作狀況而便于被預測出來,如圖2所示,接續(xù)傳送控制字元永遠跟隨于兩個相同的控制字元之后,而且常常后續(xù)會跟隨著加擾數據,由于使用接續(xù)傳送控制字元防止重復傳送相同的控制字元,這種做法會存在遭受電磁干擾的問題。因為接續(xù)傳送控制字元緊跟隨于兩個完全相同的控制字元之后,如此一來,這樣的特定數據類型便會使得接續(xù)傳送控制字元容易被預測,也就是說,如果一損壞控制字元緊跟于兩個完全相同的控制字元之后,這個損壞控制字元便很可能是接續(xù)傳送控制字元,另一方面,如果一接續(xù)傳送控制字元緊跟于兩個控制字元之后,其中一個控制字元被損壞而另一個控制字元并未損壞,則這個損壞控制字元可以被預測是與另一個未損壞的控制字元相同。
如圖1所示,損壞控制字元中一個或多個字節(jié)的內容亦可用來預測該損壞控制字元的實際識別身份。舉例來說,當損壞控制字元中第三字節(jié)或第四字節(jié)具有內容D23.1,則可以預測這個損壞控制字元的識別身份為信息框開始控制字元,除此之外還可以執(zhí)行進一步的檢查以確保預測結果的精確性,也就是說,檢查其它字節(jié)的內容(例如所述的損壞控制字元的第二、第三以及第四字節(jié))以確認這些字節(jié)與其它可能控制位的相對應內容并不相同,此外,每一個損壞控制字元的32或40個位中的片段也可與復數個控制字元中的已知位值作比較以預測所述的損壞控制字元的識別身份。損壞控制字元中一預定數量的位可以與可能的控制字元中一預定數量的位進行比較,舉例來說,如果損壞控制字元的40個位中的23個最低有效位(Least Significant Bit,LSB)包含接續(xù)傳送控制字元的23個最低有效位,那么可以預測這個損壞控制字元為接續(xù)傳送控制字元。
信息框結束控制字元也可利用相同的方法來預測。當損壞控制字元的第一字節(jié)具有內容K28.3、第二字節(jié)具有內容D21.5以及第三字節(jié)或第四字節(jié)具有內容D21.6,則可以預測這個損壞控制字元的識別身份為信息框結束控制字元。也可以執(zhí)行更進一步的檢查來確認所述的損壞控制字元的第三字節(jié)以及第四字節(jié)與其它可能控制字元中相對應的內容不相同。
當損壞控制字元的第一字節(jié)具有內容K28.3、第二字節(jié)具有內容D10.5以及第三字節(jié)或第四字節(jié)具有內容D25.4時,可以預測這個損壞控制字元的識別身份為接續(xù)傳送控制字元。也可以執(zhí)行更進一步的檢查來確認所述的損壞控制字元的第二字節(jié)、第三字節(jié)以及第四字節(jié)與其它可能控制字元相對應的內容不相同。
當損壞控制字元的第一字節(jié)具有內容K28.3、第二字節(jié)具有內容D10.5以及第三字節(jié)或第四字節(jié)具有內容D21.6時,可以預測這個損壞控制字元的識別身份為暫??刂谱衷部梢詧?zhí)行更進一步的檢查來確認所述的損壞控制字元的第三字節(jié)以及第四字節(jié)與其它可能控制字元相對應的內容不相同。
當損壞控制字元的第一字節(jié)具有內容K28.3、第二字節(jié)具有內容D10.5以及第三字節(jié)或第四字節(jié)具有內容D21.4時,可以預測這個損壞控制字元的識別身份為暫停響應控制字元也可以執(zhí)行更進一步的檢查來確認所述的損壞控制字元的第三字節(jié)以及第四字節(jié)與其它可能控制字元相對應的內容不相同。
請參照圖3,圖3為依據本發(fā)明第一實施例所繪的控制字元預測系統(tǒng)300的功能方塊圖。如圖3所示,控制字元預測系統(tǒng)300包含控制字元解碼電路302、延遲電路304以及控制字元編碼規(guī)則表306。控制字元解碼電路302用來接收一連串的控制字元作為輸入信號,在控制字元解碼電路302接收每一個控制字元期間,如果控制字元損壞,控制字元解碼電路302則會預測控制字元的值,并將這個控制字元送到延遲電路304,延遲電路304便加入一控制字元周期的延遲,并且于控制字元解碼電路302接收下一個控制字元時,輸出先前所接收的控制字元至控制字元解碼電路302。此外,控制字元解碼電路302從控制字元編碼規(guī)則表306讀取信息以決定控制字元應所述的要有的實際位以及字節(jié)的數值。而控制字元解碼電路302便利用一個或更多個先前接收的控制字元、目前接收的控制字元以及依據控制字元編碼規(guī)則表306所對應的標準控制字元的數值等信息來預測損壞控制字元的值。
請參照圖4,圖4為依據本發(fā)明第二實施例所繪的控制字元預測系統(tǒng)320的功能方塊圖。如圖4所示,控制字元預測系統(tǒng)320包含控制字元解碼電路322、控制字元編碼規(guī)則表326以及控制邏輯電路324??刂谱衷獯a電路322接收一連串的控制字元來作為輸入信號,并預測控制字元的值以及輸出預測控制字元。其中會復制一份預測控制字元并傳送到控制邏輯電路324,用來不斷追蹤數據傳送以及數據接收的目前狀態(tài)??刂七壿?24將輸出目前狀態(tài)到控制字元解碼電路322,控制字元解碼電路322將利用這些信息連同從控制字元編碼規(guī)則表326所得到的信息來預測損壞控制字元的值。
請參照圖5,圖5為依據本發(fā)明第三實施例所繪的控制字元預測系統(tǒng)340的功能方塊圖。控制字元預測系統(tǒng)340與圖3所示的控制字元預測系統(tǒng)300相似,但有一些小小的差異圖5的延遲電路344具有不同的配置方式。同時輸入所接收的控制字元至延遲電路344以及控制字元解碼電路342,而控制字元解碼電路342也接收先前從延遲電路344所接收的控制字元,且控制字元解碼電路342利用先前所接收的控制字元的信息連同目前接收的控制字元及控制字元編碼規(guī)則表346所讀取的信息來預測損壞控制字元的值。
請參照圖6,圖6為依據本發(fā)明第四實施例所繪的控制字元預測系統(tǒng)360的功能方塊圖。如圖6所示,控制字元預測系統(tǒng)360包含控制字元解碼電路362以及控制字元編碼規(guī)則表364??刂谱衷獯a電路362接收一目前控制字元并且比較所述的目前控制字元的位以及字節(jié)與包含在控制字元編碼規(guī)則表364的標準控制字元值。其中于復數個候選標準控制字元中,會依據最相近的一標準控制字元來預測所述的目前控制字元。而為了能讓損害控制字元在內容上比起其它的候選控制字元更接近一特定候選控制字元,則損壞控制字元與所述的特定候選控制字元之間的海明距離(hamming distance)比起其它的候選控制字元來說最小。海明距離經由對候選控制字元以及損壞控制字元兩者中的位以一個位接一個位的方式來執(zhí)行互斥或(XOR)運算而量測出來。
請注意,損壞控制字元的識別身份的預測并不限定于信息框開始控制字元、暫停控制字元、暫停響應控制字元、接續(xù)傳送控制字元以及信息框結束控制字元,對于其它的控制字元而言,亦可利用與這5個控制字元相同的預測方法來達到預測暨修正所述的損壞控制字元的目的,亦屬本發(fā)明的范疇。然而,這5個控制字元的不正確預測可能導致傳送器100以及接收器200之間的通訊以及數據傳輸停滯或懸宕,所以正確的預測操作是特別的重要。為了得到最好的結果,可以同時使用狀態(tài)信息以及字節(jié)內容的比較來預測損壞控制字元的識別身份,一但確定了損壞控制字元的識別身份,預測控制字元便取代損壞控制字元以排除傳送器100以及接收器200之間的通訊以及數據傳輸的問題。請注意,上述方法適用于SATA規(guī)格或串行附接小型計算機系統(tǒng)接口(Serial-Attached SCSI,SAS)規(guī)格以及其它類似的通訊標準。
除了預測損壞控制字元的識別身份之外,可以由同時分析先前所接收的控制字元以及緊接著該先前所接收的控制字元的目前接收控制字元,檢測不正確的控制字元。舉例來說,如果先前所接收的控制字元為接收正確控制字元而目前所接收的控制字元為接收錯誤控制字元,由于接收錯誤控制字元不會緊隨著接收正確控制字元,那么便可推論目前所接收的控制字元為不正確的控制字元;同理,如果先前所接收的控制字元為預備傳送控制字元而目前所接收的控制字元為等待結束控制字元,由于等待結束控制字元不會緊隨著預備傳送控制字元,那么便可推論目前所接收的控制字元為不正確的控制字元。所以,即使目前所接收的控制字元為有效控制字元并且遵守SATA規(guī)格,仍然可以檢測出不正確的控制字元。
以上所述僅為本發(fā)明的較佳實施例,僅用于說明本發(fā)明,而非用于限定本發(fā)明,凡依本發(fā)明權利要求書所做的均等變化與修飾,皆應屬本發(fā)明的涵蓋范圍。
權利要求
1.一種在一SATA主控裝置以及一SATA外圍裝置之間所傳送的損壞控制字元的修正方法,其特征在于,所述的方法包含有檢測一損壞控制字元的出現(xiàn);分析一目前狀態(tài)、一先前傳送的控制字元或一先前接收的控制字元;依據所述的目前狀態(tài)、所述的先前傳送的控制字元以及所述的先前接收的控制字元中的至少之一來選擇至少一候選控制字元;依據所述的至少一候選控制字元以及所述的損壞控制字元來預測所述的損壞控制字元并決定一預測控制字元;以及以所述的預測控制字元取代所述的損壞控制字元。
2.如權利要求1所述的方法,其特征在于,當所述的損壞控制字元的至少一字節(jié)具有的內容與一特定候選控制字元中一相對應字節(jié)的內容相同時,則預測所述的損壞控制字元的識別身份為所述的特定候選控制字元。
3.如權利要求1所述的方法,其特征在于,當所述的損壞控制字元的N字節(jié)中M字節(jié)具有的內容與一特定候選控制字元中一相對應字節(jié)的內容相同時,則預測所述的損壞控制字元的識別身份為所述的特定候選控制字元。
4.如權利要求3所述的方法,其特征在于,M以及N為整數,且M小于N。
5.如權利要求3所述的方法,其特征在于,M為1、2或3,以及N等于4。
6.如權利要求1所述的方法,其特征在于,當所述的損壞控制字元的片段具有的內容與一特定候選控制字元中一相對應位的內容相同時,則預測所述的損壞控制字元的識別身份為所述的特定候選控制字元。
7.如權利要求1所述的方法,其特征在于,當所述的損壞控制字元在內容上相較于其它候選控制字元更接近于一特定候選控制字元時,則預測所述的損壞控制字元的識別身份為所述的特定候選控制字元。
8.如權利要求7所述的方法,其特征在于,當所述的損壞控制字元在內容上相較于其它候選控制字元更接近于一特定候選控制字元時,所述的損壞控制字元以及所述的特定候選控制字元之間的海明距離相較于所述的損壞控制字元與其它候選控制字元的海明距離而言為最小。
9.如權利要求8所述的方法,其特征在于,所述的海明距離由一個位接著一個位的方式執(zhí)行一互斥或運算來量測。
10.如權利要求1所述的方法,其特征在于,所述的損壞控制字元具有40個位或32個位。
11.如權利要求2所述的方法,其特征在于,所述的特定候選控制字元選自包含一信息框開始控制字元、一信息框結束控制字元、一接續(xù)傳送控制字元、一暫??刂谱衷约耙粫和m憫刂谱衷娜航M。
12.如權利要求2所述的方法,其特征在于,所述的特定候選控制字元為使用于SATA規(guī)格或SAS規(guī)格的控制字元。
13.如權利要求1所述的方法,其特征在于,當所述的目前狀態(tài)為一預備接收狀態(tài)、所述的損壞控制字元的一第三字節(jié)或一第四字節(jié)具有D23.1的內容以及所述的先前傳送控制字元為一預備傳送控制字元時,則預測所述的損壞控制字元的識別身份為一信息框開始控制字元。
14.如權利要求1所述的方法,其特征在于,當分析所述的先前接收控制字元為一預備傳送控制字元以及所述的損壞控制字元的一第三字節(jié)具有D23.1的內容或所述的損壞控制字元的一第四字節(jié)具有D23.1的內容時,則預測所述的損壞控制字元的識別身份為一信息框開始控制字元。
15.如權利要求1所述的方法,其特征在于,當接收數據的所述的目前狀態(tài)指示一數據接收中狀態(tài)、一直接存儲器存取結束狀態(tài)、一暫停狀態(tài)或一暫停響應狀態(tài)且所述的損壞控制字元的一第一字節(jié)具有K28.3的內容、所述的損壞控制字元的一第二字節(jié)具有D23.5的內容以及所述的損壞控制字元的一第三字節(jié)或一第四字節(jié)具有D21.6的內容時,則預測所述的損壞控制字元的識別身份為一信息框結束控制字元。
16.如權利要求1所述的方法,其特征在于,所述的方法另包含有判斷先前所接收的負載數據為數據封包、所述的損壞控制字元的一第一字節(jié)具有K28.3的內容以及所述的損壞控制字元的一第二字節(jié)具有D21.5的內容,以預測所述的損壞控制字元的識別身份為一信息框結束控制字元。
17.如權利要求1所述的方法,其特征在于,當傳送數據或接收數據的所述的目前狀態(tài)指示一數據接收中狀態(tài)、一直接存儲器存取結束狀態(tài)、一暫停狀態(tài)、一暫停響應狀態(tài)或數據傳送狀態(tài),并且所述的損壞控制字元的一第一字節(jié)具有K28.3的內容以及所述的損壞控制字元的一第三字節(jié)或一第四字節(jié)具有D25.4的內容時,則預測所述的損壞控制字元的識別身份為一接續(xù)傳送控制字元。
18.如權利要求1所述的方法,其特征在于,分析數據接受的所述的目前狀態(tài)的步驟另包含有判斷兩個先前接收控制字元為相同的控制字元,所述的損壞控制字元的一第一字節(jié)具有K28.3的內容以及所述的損壞控制字元的一第三字節(jié)或一第四字節(jié)具有D25.4的內容,來預測所述的損壞控制字元的識別身份為一接續(xù)傳送控制字元。
19.如權利要求1所述的方法,其特征在于,所述的方法另包含有判斷所述的損壞控制字元的一第一字節(jié)具有K28.3的內容以及所述的損壞控制字元的一第三字節(jié)或一第四字節(jié)具有D25.4的內容,來預測所述的損壞控制字元的識別身份為一接續(xù)傳送控制字元。
20.如權利要求1所述的方法,其特征在于,當數據傳送或數據接收的所述的目前狀態(tài)指示一數據接收中狀態(tài)、一直接存儲器存取結束狀態(tài)、一暫停狀態(tài)、一暫停響應狀態(tài)或一數據傳送狀態(tài)以及所述的損壞控制字元的一第一字節(jié)具有K28.3的內容、所述的損壞控制字元的一第二字節(jié)具有D10.5的內容以及所述的損壞控制字元的一第三字節(jié)或一第四字節(jié)具有D21.6的內容時,則預測所述的損壞控制字元的識別身份為一暫??刂谱衷?。
21.如權利要求1所述的方法,其特征在于,所述的方法另包含有判斷所述的先前接收控制字元為一暫??刂谱衷约八龅膿p壞控制字元的一第一字節(jié)具有K28.3的內容以及所述的損壞控制字元的一第三字節(jié)或一第四字節(jié)具有D21.6的內容,以預測所述的損壞控制字元的識別身份被預測為一暫??刂谱衷?。
22.如權利要求1所述的方法,其特征在于,當數據響應的所述的現(xiàn)行狀態(tài)指示一數據接收中狀態(tài)、一直接存儲器存取結束狀態(tài)、一暫停狀態(tài)或一暫停響應狀態(tài)、所述的損壞控制字元的一第一字節(jié)具有K28.3的內容、所述的損壞控制字元的一第二字節(jié)具有D10.5的內容以及所述的損壞控制字元的一第三字節(jié)或一第四字節(jié)具有D21.4的內容時,則預測所述的損壞控制字元的識別身份為一暫停響應控制字元。
23.如權利要求1所述的方法,其特征在于,所述的方法另包含有判斷所述的先前接收控制字元為一暫停響應控制字元、所述的損壞控制字元的一第一字節(jié)具有K28.3的內容以及所述的損壞控制字元的一第三字節(jié)或一第四字節(jié)具有D21.4的內容,以預測所述的損壞控制字元的識別身份為一保留承認控制字元。
24.如權利要求1所述的方法,其特征在于,當數據響應的所述的目前狀態(tài)指示一損壞控制字元為在一接續(xù)傳送控制字元之前所接收的兩個控制字元其中之一時,則預測所述的損壞控制字元為所述的兩個控制字元中一未損壞的控制字元。
25.一種在SATA主控裝置以及一SATA外圍裝置之間傳送的損壞控制字元的修正方法,其特征在于,所述的方法包含有檢測一損壞控制字元的出現(xiàn);比較所述的損壞控制字元的字節(jié)內容以及字節(jié)位置與復數個可能控制字元的字節(jié)內容以及字節(jié)位置;依據字節(jié)內容以及字節(jié)位置的一比較結果來預測所述的損壞控制字元的一識別身份以決定一預測控制字元;以及以所述的預測控制字元取代所述的損壞控制字元。
26.如權利要求25所述的方法,其特征在于,所述的可能控制字元為用于SATA規(guī)格或SAS規(guī)格中的控制字元。
27.如權利要求25所述的方法,其特征在于,所述的字節(jié)內容以10位或8位格式來儲存。
28.如權利要求25所述的方法,其特征在于,當所述的損壞控制字元的一第一字節(jié)具有K28.3的內容、所述的損壞控制字元的一第三字節(jié)或一第四字節(jié)具有D23.1的內容以及所述的損壞控制字元的所述的第二、第三以及第四字節(jié)的內容與其它的可能控制字元中相對應的內容不相同時,則預測所述的損壞控制字元的識別身份為一信息框開始控制字元。
29.如權利要求25所述的方法,其特征在于,當所述的損壞控制字元的一第一字節(jié)具有K28.3的內容、所述的損壞控制字元的一第二字節(jié)具有D21.5的內容、所述的損壞控制字元的一第三字節(jié)或一第四字節(jié)具有D21.6的內容以及所述的損壞控制字元的所述的第三、第四字節(jié)的內容與其它的可能控制字元中相對應的內容不相同時,則預測所述的損壞控制字元的識別身份為一信息框結束控制字元。
30.如權利要求25所述的方法,其特征在于,當所述的損壞控制字元的一第一字節(jié)具有K28.3的內容、所述的損壞控制字元的一第三字節(jié)或一第四字節(jié)具有D25.4的內容以及所述的損壞控制字元的所述的第二、第三以及第四字節(jié)的內容與其它的可能控制字元中相對應的內容不相同時,則預測所述的損壞控制字元的識別身份為一接續(xù)傳送控制字元。
31.如權利要求25所述的方法,其特征在于,當所述的損壞控制字元的一第一字節(jié)具有K28.3的內容、所述的損壞控制字元的一第二字節(jié)具有D10.5的內容以及所述的損壞控制字元的一第三字節(jié)或一第四字節(jié)具有D25.4的內容時,則預測所述的損壞控制字元的識別身份為一接續(xù)傳送控制字元,其中所述的損壞控制字元的所述的第三、第四字節(jié)的內容與其它的可能控制字元中相對應的內容不相同。
32.如權利要求25所述的方法,其特征在于,當所述的損壞控制字元的一第一字節(jié)具有K28.3的內容、所述的損壞控制字元的一第二字節(jié)具有D10.5的內容、所述的損壞控制字元的一第三字節(jié)或一第四字節(jié)具有D21.6的內容以及所述的損壞控制字元的所述的第三、第四字節(jié)的內容與其它的可能控制字元中相對應的內容不相同時,則預測所述的損壞控制字元的識別身份為一暫??刂谱衷?。
33.如權利要求25所述的方法,其特征在于,當所述的損壞控制字元的一第一字節(jié)具有K28.3的內容、所述的損壞控制字元的一第二字節(jié)具有D10.5的內容、所述的損壞控制字元的一第三字節(jié)或一第四字節(jié)具有D21.4的內容以及所述的損壞控制字元的所述的第三、第四字節(jié)的內容與其它的可能控制字元中相對應的內容不相同時,則預測所述的損壞控制字元的識別身份為一暫停響應控制字元。
34.一種在一SATA主控裝置以及一SATA外圍裝置之間傳送的損壞控制字元的修正方法,其特征在于,所述的方法包含有檢測一損壞控制字元的出現(xiàn);比較所述的損壞控制字元的部分內容與復數個可能控制字元的部分內容;依據一比較結果來預測所述的損壞控制字元的一識別身份以決定一預測控制字元;以及以所述的預測控制字元取代所述的損壞控制字元。
35.如權利要求34所述的方法,其特征在于,比較所述的損壞控制字元的部分內容與可能控制字元的部分內容的步驟由比較所述的損壞控制字元中一預定數量的位與所述的可能控制字元中一預定數量的位來實現(xiàn)。
36.一種在一SATA主控裝置以及一SATA外圍裝置之間傳送的損壞控制字元的修正方法,其特征在于,所述的方法包含有檢測一損壞控制字元的出現(xiàn);分析三個連續(xù)接收的控制字元;依據所述的三個連續(xù)接收的控制字元來預測所述的損壞控制字元的一識別身份以決定一預測控制字元;以及以所述的預測控制字元取代所述的損壞控制字元。
37.如權利要求36所述的方法,其特征在于,所述的損壞控制字元為所述的三個連續(xù)接收的控制字元的其中之一。
38.如權利要求37所述的方法,其特征在于,所述的方法另包含有分析四或五個連續(xù)接收的控制字元。
39.一種檢測在一SATA主控裝置以及一SATA外圍裝置之間傳送的損壞控制字元的方法,所述的方法包含有接收一第一控制字元;于接收所述的第一控制字元之后,緊接著接收一第二控制字元;以及當所述的第二控制字元在所述的SATA主控裝置以及所述的SATA外圍裝置的正常運作期間無法緊接于所述的第一控制字元之后時,判斷所述的第二控制字元為一不正確的控制字元。
40.如權利要求39所述的方法,其特征在于,所述的第一控制字元為一接收正確控制字元以及所述的第二控制字元為一接收錯誤控制字元。
41.如權利要求39所述的方法,其特征在于,所述的第一控制字元為一預備傳送控制字元以及所述的第二控制字元為一等待結束控制字元。
全文摘要
本發(fā)明提供一種在一序列式進階技術附接主控裝置以及一SATA外圍裝置之間所傳送的損壞控制字元的修正方法,所述的方法包含有檢測一損壞控制字元的出現(xiàn);分析一目前狀態(tài)、一先前傳送的控制字元或一先前接收的控制字元;依據所述的目前狀態(tài)、所述的先前傳送的控制字元以及所述的先前接收的控制字元的至少其中之一來選擇至少一候選控制字元;依據所述的候選控制字元以及所述的損壞控制字元來預測所述的損壞控制字元的一識別身份以決定一預測控制字元;以及以所述的預測控制字元取代所述的損壞控制字元。
文檔編號G06F13/38GK101025704SQ200710084040
公開日2007年8月29日 申請日期2007年2月12日 優(yōu)先權日2006年2月10日
發(fā)明者劉銓, 曾寶慶 申請人:聯(lián)發(fā)科技股份有限公司