專利名稱:在具有鏈接糾錯碼的磁性記錄通道中不平衡保護編碼的方法和設備的制作方法
技術領域:
本發明涉及編碼系統。具體來說,本發明涉及記錄通道中,如盤驅動器和其他數據存儲系統中的編碼系統。
背景技術:
在數據通訊系統中,數字信息通過一個通道從一個發送器被傳達至一個接收器。“通道”是一個總稱,它可包括許多不同媒介,如記錄媒介、電話線和電磁頻譜。在數據存儲系統中,如磁性盤驅動器,通道包括一個存儲媒介,并且數字信息被發送到存儲媒介,在恢復前存儲一段時間,再傳達至接收器。
一個典型的磁性盤驅動器包括安置在樞軸或主軸上旋轉的一個或幾個硬性盤。每個盤有一個流體動力軸承和傳感器組成的關聯頭,用于與盤表面的通訊。機電傳動器將數據頭在盤表面放射狀地移動用于軌跡尋查操作,并將傳感器直接控制在盤表面的所需軌跡上用于軌跡追蹤操作。驅動控制器依據從主系統接收的命令控制盤驅動器,從而找回來自盤的信息并將信息存儲在盤上。驅動控制器包括各種子系統,如一個用于與主系統通訊的“主界面”,一個用于控制傳動器的“伺服系統”,一個用于在存儲媒介上記錄數據的“寫入通道”,以及一個用于接收來自存儲媒介的已記錄的數據的“讀取通道”。
信息一般存儲在盤表面的同心數據軌跡上。通過傳感器的電流方向受控制,從而在經選擇的數據軌跡內編碼盤表面的磁通量反轉。在一種被稱為不歸零反轉(NRZI)編碼的編碼類型中,數字“1”由在數據軌跡中從一個磁性區域到下一個的一個磁通量反轉來表示,數字“2”由在數據軌跡中從一個磁性區域到下一個的一個磁通量反轉的缺損來表示。
在恢復來自盤的數據中,伺服系統控制機電傳動器,從而數據頭飛過所需數據軌跡,感應存儲在數據軌跡中的流量反轉,并根據那些流量反轉產生一個讀取的信號。所讀取的信號一般是有條件的,隨后,信號被讀取通道解碼以恢復流量反轉所代表的數據。一個典型的讀取通道包括自動獲取控制電路、一個低通路過濾器、一個模擬-數字轉換器或取樣器、一個序列探測器和一個解碼器。
以前一個維特比探測器被用作讀取通道的序列探測器。當探測器的輸入數據由一個信號加上附加白高斯噪音組成以及當使用一個典型的分支公制(向探測器提供的信號中的誤差平方),該維特比探測器是作為一個最大可能性(ML)的序列探測器進行工作。然后,探測到的位序列被傳至解碼器,從而被解碼為原始用戶數據。
所有的通道,包括盤驅動存儲通道,將噪音傳入它們傳達的信號中。為了探測以及有時糾正由通道噪音引起的信號誤差,人們已開發了多個編碼技術。這些編碼技術將由一些數據位形成的用戶數據字轉化成由一些數據位形成的編碼文字。強加在編碼文字中的代碼約束能經設計以避免易于產生錯誤事件的位序列,并能允許探測以及有時糾正從通道接收到的的信號的誤差。
用戶數據位的數目與代碼位的數目的平均比率m/n被稱為是代碼碼的編碼率。一般來說,在一個接收通道中探測和糾正誤差的能力可能隨著編碼率的下降而增加,因為一個低編碼率意味著編碼文字中的多個多余的信息。然而,每個編碼器附加的額外的位增加了通過通道傳送信號所需的時間和能量。
已經提出了幾種類型代碼約束。例如,在一個盤驅動器中,旋轉磁性媒介的主軸電機的旋轉速度隨時間改變。這導致讀取信號電壓脈沖之間的非均勻時間間隔。一個相位鎖定回路(PLL)被用于將讀取記時鐘的相位和頻率鎖定在讀取信號電壓脈沖的相位和頻率。為確保定期更新PLL,可使用一個代碼,該代碼限制讀取信號中的連續的“0”的數目不超過最大數目“k”。這種代碼被稱作含“k”約束的游程長度限制(RLL)碼。“k”值越小,PLL的性能越好。然而,“k”值越小,代碼變得越難實施。
該代碼還可能限制在代碼位流中的連續的“1”的數目以限制符號之間干擾的效應,這種效應是在被傳送信號中的連續轉化互相干擾的時候產生的。這樣的代碼被稱作含“j”約束的最大轉化運行(MTR)碼,其中“j”為通道信號中所允許的連續轉化的最大數目。例如,為避免三個或三個以上連續轉化,可設計含MTR約束的j=2的代碼。雖然MTR碼降低符號之間的干擾,但是它們除去了多個可獲取的編碼文字,使得很難有時不可能用高編碼率實施MTR限制。
一些磁性記錄通道通過使用糾錯碼(ECCs)提供進一步的保護。連續的數據塊(編碼或未編碼)被映射到具有一個數據字段和一個ECC字段的連續的糾錯碼。數據塊被映射到被分割為一些多位ECC符號的數據字段。數據字段中的ECC符號被應用于多項式函數,該函數產生形成ECC字段的被稱為“奇偶位”的附加的多位ECC符號。連接數據字段的附加的ECC符號的數目決定了可被糾正的ECC碼中的ECC符號的數目。例如,通過一個Reed-Solomon型ECC,需要二個附加ECC符號糾正ECC代碼字中的一個符號。具有連接數據字段的ECC字段的24個附加ECC符號的一個ECC碼有能力糾正ECC代碼字中的多達十二個符號的誤差事件。
隨后在讀取通道中使用一個ECC解碼器探測并糾正ECC代碼字中的誤差。對于接收到的ECC代碼字中的與傳送的ECC代碼字中的通信符號不匹配的每個符號,ECC解碼器根據接收到的編碼文字中的其他符號和用于產生附加符號的多項式運行來確定正確的符號。
雖然這些編碼技術在避免某些錯誤事件提供糾正大多數留存的誤差事件的方法,卻很難用高編碼率實施。著限制了代碼的效率和記錄通道的速度。本發明闡明了這些及其他問題,并提供了先前技術之外的優勢。
發明概述本發明的一方面涉及對數據字編碼的一種方法,其中將數據字至少之一的塊映射到一個糾錯碼(ECC)代碼字。ECC代碼字由被邊界隔開的多個多位ECC符號來定義的。依據位模式對邊界的相對位置,約束位模式不出現在ECC代碼字中。
本發明的另一方面涉及一種用于將連續數據字編碼為各自的連續代碼字的編碼器。該編碼器包括一個數據字輸入;一個代碼字輸出;以及一個第一編碼器單元。第一編碼器單元根據第一代碼將數據字輸入收到的每個連續數據字映射到代碼字輸出上的各自的連續代碼字。第一代碼識別每個代碼中的多位糾錯碼(ECC)符號之間的邊界,并對靠近邊界的每個代碼字的位位置比對遠離邊界的每個代碼字的位位置施加不同的代碼約束。
本發明的另一方面是有關包括一個傳感器和一個編碼器的一個盤存儲通道。傳感器能與數據存儲盤通訊。編碼器與傳感器耦合,根據一個代碼將數據編碼為由多位ECC符號形成的連續糾錯碼(ECC)代碼字。依據位模式與多位ECC符號之間邊界的相對位置,該代碼約束位模式不出現在每個ECC代碼字中。然后,編碼器將ECC代碼字作為代碼字流發送到傳感器。
本發明的再一方面是有關包括一個傳感器和一個解碼器的一個盤驅動通道。傳感器能與一個數據存儲盤通訊。解碼器與傳感器耦合,接收來自傳感器的讀取信號并根據一個代碼將讀取信號所表示的連續糾錯碼(ECC)代碼字解碼為連續數據字。每個ECC代碼字包括多個多位ECC符號,依據位模式與多位ECC符號之間邊界的相對位置,該代碼約束在每個ECC代碼字中的位模式。
附圖簡述
圖1為可以實施本發明諸方面的盤驅動器的透視圖。
圖2為按照本發明一個實施例的圖1中所示盤驅動器內一個數據存儲通道的框圖。
圖3-1和圖3-2為表示含有非法NRZ位模式的ECC代碼字部分的框圖,它們被圖2所示的存儲通道所使用的編碼器和解碼器所避免。
圖3-3和圖3-4為表示含有一些合法NRZ位模式的ECC代碼字部分的框圖,它們被圖2所示的存儲通道所使用的編碼器和解碼器所允許。
圖4是一曲線圖,繪制經糾正的位差錯率與具有相連ECC代碼的編碼和未編碼通道的事件差錯率的函數關系。
圖5為根據本發明的一個實施例的框圖,它表示由圖2中所示的第一位電平編碼器執行的編碼過程。
圖6為根據本發明的一個例子的流程圖,描述圖2所示的ECC編碼器和第二位電平編碼器執行的過程。
圖7為描述通過圖2所示的ECC編碼器和位電平編碼器的數據流的流程圖。
圖8為根據本發明的另一個實施例的編碼器電路的框圖。
示例性實施例的詳述圖1為本發明實用的盤驅動器100的透視圖。盤驅動器100包括具有一個基座102和一個頂蓋(未顯示)的外殼。盤驅動器100還包括一個由盤夾108安置在主軸電機(未顯示)上的盤組106。盤組106包括被安置繞中心軸109共同旋轉的多項單個盤。每個盤表面具有一個關聯的盤頭滑動器110,滑動器安置在盤驅動器100上用于與盤表面通訊。在圖1所示的例子中,滑動器110由懸梁112支撐,后者又附著于傳動器116的軌跡連接臂114。圖1所示的傳動器為所知的一種旋轉移動線圈傳動器,它包括一個通常以118表示的音圈電機(VCM)。音圈電機118用其附著頭110繞著軸支點120旋轉傳動器116,使得附著頭110沿著盤內徑124和盤外徑126之間的一個弓形路徑122將頭110定位在所需數據軌道。音圈電機118由位于內部電路128的伺服電子依據頭110和主計算機(未顯示)產生的信號被驅動。
內部電路128中的寫入電路對待存入連續代碼字中的數據編碼,然后將它們預編碼為不歸零反轉(NRZI)形式(或,也可是NRZ形式)并被調制以形成連續的模擬寫入信號。頭110上的寫入傳感器根據模擬寫入信號編碼在盤表面上磁性層內的磁通量反轉。在讀取操作過程中,頭110中的讀取傳感器感應磁通量反轉并產生一個串行模擬讀出信號。模擬讀出信號被轉化成一個串行數字信號,該信號提供給內部電路128內的探測器和解碼器電路,從而產生一個經恢復的數字信號。
圖2為采用本發明的一個通常通訊系統138的框圖。對于圖1的盤驅動器,通訊系統138由頭110、盤106以及電路128內的內部邏輯形成。通訊系統138包括編碼器電路139,編碼器電路包括一個第一位電平編碼器140、一個符號電平糾錯碼(ECC)編碼器、一個復用器148和一個第二位電平編碼器150。位電平編碼器140接收連續數據字142并根據一個代碼將連續數據字編碼成連續數據代碼字143。每個數據字142包含任何數目的位。位的數目越大,編碼器140能達到的編碼率越高。該代碼將連續數據代碼字143約束在一個位水平上以避免具有已知會在通道160中產生某些普遍的誤差事件的位模式的代碼字。
例如,該代碼可包括一個具有一個“k”約束的游程長度限制(RLL)碼。“k”約束限制讀取信號中的連續零的數目不超過最大值“k”。該代碼還可限制一個編碼位流中的連續一的數目從而限制符號間干擾效應,該效應發生在被傳送信號中的連續轉化彼此相互干擾的時候。這樣的代碼被稱作具有“j”約束的最大轉化游程(MTR)碼,其中“j”為通道信號中所允許的連續轉化的最大數目。其他類型代碼可由編碼器140使用以附加到或替代上述的代碼種類。在以下詳述的一個實施例中,根據每一位將在多位ECC符號中的相對位置,該代碼對每個數據代碼字142中的不同位位置施加不同的約束。這需要編碼器140實施的代碼在每一數據代碼字143內確定ECC符號邊界。
編碼器140可包括一個塊編碼器或可被狀態驅動,并且所有的代碼字143經仔細挑選以避免產生普遍的誤差事件的代碼字。編碼器140可通過合并邏輯或具有查詢表的軟件來執行,從而實現每個用戶數據字及其相應代碼字之間的轉換。也可使用其他硬件和軟件執行。
由編碼器140產生的連續數據代碼字143提供給復用器148的一個輸入以及ECC編碼器144,復用器和編碼器一起將數據代碼字143的連續塊(或部分)編碼為復用器148的輸出上的連續ECC代碼字(也稱為ECC塊或部分)149。每個ECC代碼字149包括一個數據字段和一個ECC字段,它們各由一個或多個的多位ECC符號形成。復用器148將每塊數據代碼字143映射到一個相應的ECC代碼字149的數據字段,從而在數據字段中形成一個或多個的ECC符號。
ECC編碼器144依據數據字段中的ECC符號為ECC字段產生附加的ECC符號152。例如,附加的ECC符號可通過將數據字段中的ECC符號應用于一個多項式函數來產生。連接在ECC字段的附加的ECC符號的數目決定了每個ECC代碼字中的可糾正的ECC符號的總數。例如,一個特定ECC可能對ECC代碼字中的每個可糾正的ECC符號需要二個附加ECC符號。可使用任一種ECC,如一個Reed-Solomon ECC。
位電平編碼器150編碼附加ECC符號152并如用編碼器140應用于數據代碼字142一樣應用相似的代碼約束。而且,依據ECC符號中的每一位的相對位置,代碼對不同的位位置施加不同約束。在一個實施例中,每個ECC符號被編碼為一個相應的經編碼的ECC符號146。由于每個附加的ECC符號中的位數目比每個代碼字142中的少,位電平編碼器150的編碼率比位電平編碼器140的編碼率低。在另一個實施例中,多個附加ECC符號被一起編碼為一個相應代碼字。隨后,由此產生的經編碼的ECC符號146提供給復用器148的另一個輸入。
復用器148將數據代碼字143的每個塊映射到一個相應的ECC代碼字149的數據字段并將各個一組附加的經編碼的ECC符號146通過時間復用,復用器的輸入映射到相應的ECC代碼字149的ECC字段。可使用另一個實施例的其他構造和方法將經編碼的ECC符號146與相應的ECC代碼字149的數據字段相連接。
并-串轉換器155接收連續ECC代碼字149,將每個ECC代碼字149轉化成一個串行表示并連接此串行表示,以產生一個ECC代碼字位154的串行流。發送器/預編碼器156接收串行ECC代碼字流154并達到序列要求從而優化用于恢復來自通道的信號的那種探測器。發送器/預編碼器156產生提供給通道160的一個經編碼的寫入信號158。
在盤驅動器100中,通道160包括頭110中的寫入傳感器、盤組以及頭110中的讀取傳感器。經編碼的寫入信號被寫入傳感器存儲在盤表面。在讀取操作過程中,讀取傳感器從盤表面讀取存儲的編碼的信息并將編碼的信息作為一個讀取信號164發送到接收器/探測器162。接收器/探測器162放大并過濾讀取信號164,然后使用幾個所知的探測方法之一恢復來自讀取信號的經編碼信息。舉例來說,接收器/探測器162可使用一個維特比探測器、決策反饋均衡化(DFE)、具有決策反饋的固定遲滯樹狀搜尋(FDTS/DF)或降低的狀態序列探測(RSSE)。接收器/探測器162在放大并過濾來自通道160的信號之后,產生經恢復的代碼字位165的序列以提供給串-并轉換器163。
串-并轉換器163將位組合成ECC代碼字并將ECC代碼字從串行形式轉化成并行形式。連續恢復的ECC代碼字166的長度相應于編碼器139產生的ECC代碼字的長度。然后,串-并轉換器163以并行形式將連續恢復的ECC代碼字166輸出至ECC解碼器和糾正電路168。電路168使用編碼器150使用的編碼規則的反轉,根據ECC代碼字166中的ECC符號和ECC編碼器144使用的多項式函數將ECC字段中的附加ECC符號解碼成原始ECC符號,并且確定任一ECC符號是否含有誤差。只要含有誤差的ECC符號的數目不大于可被電路168糾正的符號的最大數目,原始傳送的ECC符號被恢復。
然后從已恢復的ECC代碼字剝離數據字段,以恢復數據代碼字的原始塊170,隨后提供給解碼器172。位水平解碼器172采用編碼器140使用的編碼規則的反轉將連續數據代碼字170解碼為各自的代碼字174。
如上所述,位電平編碼器140和150向每個ECC符號中的不同位位置提供不等的誤差保護。在一個實施例中,向靠近ECC符號邊界的位位置提供比靠近每個ECC符號中心的位位置更多的誤差保護。這是通過將一組代碼約束應用于每個ECC符號的“外圍”位位置以及將另一組代碼約束應用于每個ECC符號的“內部”位位置來實現的。
這就提供了更大的保護以抵御對ECC編碼器及糾正電路168糾正誤差的能力有巨大影響的誤差事件。編碼器140和150使用的代碼提供了更大的保護以抵御跨越ECC符號的邊界的誤差比不跨越ECC符號的邊界的誤差更大。跨越ECC符號的邊界的誤差事件導致二個連續ECC符號出現誤差。通過避免這些多重符號誤差事件,在每個ECC代碼字中含有誤差的ECC符號的總數減少了,有更大可能電路168能恢復給定ECC代碼字中所有ECC符號。
而且,通過允許某些在“外圍”位位置所不被允許的一些位模式發生在“內部”位位置,由于只有影響ECC符號邊界的位模式受約束,便可保持相對高的編碼率。這樣,就可使用更大的位模式的總數。
通過磁性記錄通道,最為可能的誤差事件是一位和三位的誤差事件。一位誤差事件導致一位ECC符號誤差。三位誤差事件如跨越ECC符號的邊界,導致二個ECC符號誤差。在一個實施例中,編碼器140和150使用一個邊界MTR編碼用于將三位誤差事件從ECC符號的邊界去除。代碼消除了二個NRZ模式(或一個NRZ模式),它們導致在ECC符號邊界具有中間轉化的一個三位。
圖3-1和圖3-2為表示含有非法NRZ位模式的ECC代碼字部分的框圖,編碼器和解碼器避免該非法部分。如上所述,每個ECC代碼字由在數據和ECC字段互相連接的多個多位ECC符號形成。在圖3-1中,ECC代碼字300包含10位ECC符號301和302,它們之間存在邊界303。ECC代碼字300中的每個ECC符號具有可能相互重疊的一個或幾個“外圍”位位置304和一個或幾個“內部”邊界位位置306。由ECC符號301在“外圍”邊界位位置上的“01”以及ECC符號302在“外圍”邊界位位置的“01”形成的NRZ模式產生三個轉化結果,其中中間轉化發生在邊界303。在圖3-2中,ECC代碼字310包含ECC符號311和312,它們之間存在邊界313。與圖3-1所示的類型相似,NRZ模式“1010”產生三個轉化結果,其中中間轉化發生在ECC符號311和312之間的邊界313。這些位模式被編碼器140和150在“外圍”邊界位位置304位模式避免,而在“內部”邊界位位置306被允許。
圖3-3和圖3-4為表示含有一些合法NRZ位模式的ECC代碼字部分的框圖,這部分未被編碼器140和150所避免。在圖3-3中,ECC代碼字320包含ECC符號321和322,它們之間存在邊界323。雖然,NRZ模式“10100”導致三個轉化結果,但中間轉化并不發生在“外圍”位位置304內的邊界313。在圖3-4中,ECC代碼字330包含ECC符號331和332,它們之間存在邊界333。與圖3-3所示的模式相似,NRZ模式“00101”導致三個轉化結果,但中間轉化并不發生在二個ECC符號331和332之間的邊界333。
使用編碼器140和150消除圖3-1和圖3-2所顯示的類型并在解碼器168和172上施加相應約束,除去了ECC符號邊界的二個可能的三位誤差事件以及包括在ECC符號邊界三位的任何更大的誤差事件。同樣的約束沒有施加在發生在單個符號的內部位位置306的三位誤差事件因此在ECC符號的邊界附近的位位置的位差錯率的可能性比ECC符號內的位位置低。
由于必須使用多個代碼位以避免導致三位的所有位模式,消除所有的三位誤差事件的MTR碼,缺點是大編碼率處罰。在本發明的上述實施例中,通過避免在ECC符號的邊界所有的三位誤差事件而非剩余三位誤差事件取得了有效的妥協。由于剩余三位誤差事件被限制在單個的ECC符號,因此有很大可能這些誤差事件可被ECC解碼器糾正。通過在位水平上的MTR碼避免這些誤差不是必需的。由此MTR碼約束被放松,產生可達到的更高的編碼率。
舉例來說,假設通道160(圖2所示)只有三位誤差事件。假設ECC編碼器144形成10位符號并且ECC解碼器168有能力糾正每個ECC代碼字中最多12個ECC符號。編碼器140和150(也為圖2所示)沒有編碼的情況下,取每個ECC代碼字中七個誤差事件超出ECC能力。如果這七個誤差事件都發生在ECC符號邊界,那么14個ECC符號將有誤差,這超出了12個ECC符號的誤差能力。如果每個ECC代碼字使用一個奇偶校驗位,那么取ECC代碼字八個誤差事件超出ECC能力。通過邊界MTR碼(避免在ECC符號邊界的三位誤差事件)以及不奇偶校驗,取ECC代碼字十三個誤差事件超出ECC能力。
圖4繪制了用于具有鏈接ECC代碼的編碼和未編碼通道,Y軸上經糾正的位差錯率與X軸上事件差錯率的函數。Y軸經糾正的位差錯率是不可糾正的ECC代碼字(部分)的數目除以讀取位數目的比率。線條402代表未編碼實例的經糾正的位差錯率,而線條403代表邊界MTR編碼實例的經糾正的位差錯率。邊界MTR編碼實例的未經糾正的ECC代碼字明顯比未編碼實例的少。
圖5為根據本發明的一個實施例的框圖,它表示編碼器140執行的一個編碼程序。在步驟500,編碼器140接收用于編碼的連續m位數據字。在步驟501,編碼器140根據一個代碼將每個連續m位數據字映射到一個各自的連續n位代碼字。該代碼識別在每個代碼字中由ECC編碼器144隨后限定的多位ECC符號之間的邊界,并對每個代碼字中靠近和遠離ECC邊界的位位置施加不同的代碼約束。在步驟502,編碼器140將產生的代碼字輸出至編碼器144。
圖6為根據本發明的一個例子描述編碼器140和150執行的一個程序的流程圖。在步驟600,ECC編碼器144接收來自編碼器140經編碼的數據字的塊。在步驟601,ECC編碼器141將數據字的塊應用于被劃分為多個多位ECC符號的相應的ECC代碼字的數據字段。在步驟601數據字段的ECC符號被應用于一個多項式,該多項式是用于產生與數據字段相連的附加ECC符號。在步驟603,位電平編碼器150根據施加如位電平編碼器140應用的同樣的約束的一個代碼將附加ECC符號映射到經編碼的ECC符號,從而避免ECC符號邊界的三位。在步驟604,經編碼的ECC符號被應用于與數據字段相連的ECC代碼字的數據字段。隨后將產生的經編碼的ECC代碼字輸出至寫入通道的下一階段。
圖7為根據本發明的另一個例子描述編碼器139的數據流的流程圖。編碼器140(圖2所示)將數據字的塊700編碼成一個各自的經編碼的數據字的塊701。經編碼的ECC代碼字的塊701被直接應用于ECC代碼字703的數據字段702。數據字段702被分割成多個多位ECC符號。在另一個實施例中,ECC編碼器144將一個多項式函數應用于經編碼的ECC代碼字的塊,以產生數據字段702的ECC符號。經編碼的數據字的塊701還被應用于多項式704,它產生附加ECC符號705。可使用任何合適的多項式實施所需的糾錯碼。然后編碼器150將附加ECC符號編碼成經編碼的ECC符號706,將其應用于ECC代碼字703的ECC字段708。這是編碼器的“系統性”類型的一個例子。
圖8為根據本發明的另一個實施例的可用于代替在圖2所示的編碼器電路139的一個編碼器電路800的框圖。編碼器電路800包括符號-水平ECC編碼器802、復用器804和位電平編碼器806。連續進入的數據字的塊810被應用于復用器804的第一數據輸入,用于在復用器804的輸出映射到相應的ECC代碼字812的數據字段。而且,每個ECC代碼字的數據字段被分割成如上所述的多個ECC符號。連續數據字的塊810還被應用于根據數據字段中的ECC符號為ECC字段產生附加ECC符號812的ECC編碼器802。例如,可通過將數據字段中的ECC符號應用于一個多項式函數而產生附加ECC符號。然后附加ECC符號被應用于復用器804的第二數據輸入。復用器804將連續一組組附加ECC符號814與連續ECC代碼字812的ECC字段相連。
位電平編碼器806接收每個ECC代碼字812并如圖2中的編碼器140和150應用相似的代碼約束。在一個實施例中,編碼器806是一個將ECC代碼字812中的每個ECC符號編碼成一個相應的經編碼的ECC符號的塊編碼器。而且,該代碼根據ECC符號中的每個位的相對位置對不同的位位置施加不同的約束。由于每個ECC符號中的位數目比每個數據字142中的少(圖2中),編碼電路800的總編碼率比編碼電路139的總編碼率低。在編碼電路139中,每個ECC代碼字的位的大多數為通過位電平編碼器140以較高速率被編碼的數據位。只有少量的位由編碼器150以較低速率在一個ECC符號基礎上被編碼。根據本發明也可使用其他不同編碼方法。
總結來說,本發明的一個方面涉及一種編碼數據字142的方法,其中至少一個數據字142的塊700被映射到一個糾錯碼(ECC)代碼字149,701。被邊界303,313,323,333分開的多個多位ECC符號301,302,311,312,321,322,331,332限定ECC代碼字149,701。根據位模式與邊界303,313,323,333,的相對位置304、306,約束位模式(如圖3-1和圖3-2所示的那些)而不發生在ECC代碼字149,701。
本發明的另一個方面是關于一種用于將連續數據字編碼成各自的連續的數據字的編碼器139。該編碼器包括一個數據字輸入142、一個代碼字輸出143以及一個第一編碼器單元140。第一編碼器單元140根據第一代碼將數據字輸入142收到的每個連續數據字映射到代碼字輸出143上的一個各自的連續的代碼字。第一代碼識別在每個代碼字內多位糾錯碼(ECC)符號301,302,311,312,322,331,332之間的邊界303,313,323,333,并對靠近邊界的每個代碼字的位位置304比對遠離邊界303,313,323,333的每個代碼字的位位置306施加不同的代碼約束。
本發明的另一方面是有關一種包括傳感器110和編碼器139的盤存儲通道138。傳感器110能與數據存儲盤106通訊。編碼器139與傳感器110耦合,用于根據一個代碼將數據142編碼為由多位ECC符號301,302,311,312,322,331,332形成的連續糾錯碼(ECC)代碼字149,701。依據位模式與多位ECC符號之間的邊界303,313,323,333的相對位置304,306,該代碼約束位模式不出現在ECC代碼字149,701中。然后,編碼器139將ECC代碼字149,701作為代碼字流154發送到傳感器110。
本發明的再一方面是有關一種包括傳感器110和解碼器168,172的盤驅動通道138。傳感器110能與數據存儲盤106通訊。解碼器168,172與傳感器110耦合,用于接收來自傳感器110的讀取信號164并根據一個代碼將讀取信號164表示的連續糾錯碼(ECC)代碼字166解碼為連續數據字174。每個ECC代碼字166包括多個多位ECC符號301,302,311,312,322,331,332,依據位模式與多位ECC符號301,302,311,312,322,331,332之間的邊界303,313,323,333的相對位置304,306,該代碼約束ECC代碼字166中的位模式。
可以理解,即使前面已述本發明的各種不同的實施例的眾多特征和優點以及發明的各種不同的實施例的詳細構造和功能,所公開的內容只是描述性的,可在所附權利要求書中的條款的廣義指示的本發明的原則范圍內最大限度地對細節作改變,特別是在構造和部件排列方面修改。例如,可依據通道的特定應用改變特定元件,與此同時基本保持同樣的功能而不偏離本發明的精神和范圍。此外,即使這里所述的實施例涉及用于一個盤驅動系統的讀取和寫入通道,也感激那些本領域中技術熟練的人將本發明的教學應用于其他系統,如通訊系統或其他存儲系統,而不偏離本發明的精神和范圍。并且,在詳細說明和權利要求書中使用的術語“耦合”可包括一個直接連接或通過一個或幾個中間部件的連接。
權利要求
1.一種對數據字編碼的方法,該方法包括步驟(a)將至少一個數據字的塊映射到一個糾錯碼(ECC)代碼字,該代碼字由被邊界分割開的多個多位ECC符號限定;以及(b)根據位模式與邊界的相對位置,約束位模式不出現在ECC代碼字中。
2.如權利要求1所述的方法,其特征在于在步驟(a),每個ECC符號包含多個“內部”位位置和多個“外圍”位位置,“外圍”位位置比“內部”位位置更靠近各自的邊界;以及在步驟(b),約束位模式包含對“外圍”位位置及“內部”位位置施加不同的代碼約束,以避免在“內部”位位置中被允許的所選位模式不出現在“外圍”位位置中。
3.如權利要求1所述的方法,步驟(a)還包括(a)(1)根據一個代碼將每個數據字編碼成一個數據代碼字,此代碼是根據位模式在數據代碼字中的位置相對于在數據代碼字中的位位置,約束位模式不出現在數據字中,所述的數據代碼字中的位位置對應于多位ECC符號之間的邊界;以及(a)(2)將至少一個數據字的塊映射到包括第一組ECC符號的ECC代碼字的數據字段。
4.如權利要求3所述的方法,其中步驟(a)還包括(a)(3)產生由邊界分割開的第二組ECC符號,作為第一組ECC符號的多項式函數。(a)(4)依據位位置與第二組ECC符號的邊界的相對位置,約束位模式不出現在第二組ECC符號中;以及(a)(5)將第二組ECC符號映射到ECC代碼字的ECC字段。
5.如權利要求1中所述的方法,其特征在于位模式包括具有第一與第二二進制狀態之間三個連續轉化的位模式,其中中間一個轉化發生在邊界之一上。
6.一種用于將連續數據字編碼成各自的連續代碼字的編碼器,該編碼器包括一個數據字輸入;一個代碼字輸出;以及一個第一編碼器單元,第一編碼器單元根據第一代碼將數據字輸入收到的每個連續數據字映射到代碼字輸出上的各自的連續代碼字,其中第一代碼識別每個代碼中的多位糾錯碼(ECC)符號之間的邊界,并對靠近邊界的每個代碼字中的位位置與遠離邊界的每個代碼字中的位位置施加不同的代碼約束。
7.如權利要求6所述的編碼器,還包括一個ECC編碼器,它接收來自第一編碼器單元的連續代碼字,將至少一個數據字的塊映射到ECC代碼字的數據字段,并根據該數據字段和一預定的多項式函數將ECC字段銜接在數據字段上,其中,ECC代碼字是由數據字段及ECC字段內的多個多位ECC符號來限定的。
8.如權利要求7所述的編碼器,還包括一個第二ECC編碼器單元,它根據第二代碼將ECC字段內的每個ECC符號映射到一個經編碼的ECC符號,其中,第二代碼識別ECC字段內的經編碼的ECC符號之間的邊界,并對靠近ECC字段中邊界的每個經編碼ECC符號中的位位置與離離ECC字段中邊界的位位置施加不同的代碼約束。
9.如權利要求8所述的編碼器,其中,第一和第二代碼阻止所選的位模式不出現在ECC代碼字中,其中,所選位模式包括具有在第一和第二二進制狀態之間三個連續轉化的位模式,中間一個轉化發生在ECC代碼字中的ECC符號邊界之一上。
10.一種盤驅動存儲通道,包括一個能與數據存儲盤通訊的傳感器;以及與傳感器耦合的編碼裝置,用于根據一個代碼將數據編碼為由多位ECC符號形成的連續糾錯碼(ECC)代碼字,其中,根據位模式與多位ECC符號之間邊界的相對位置該代碼約束位模式不出現在每個ECC代碼字中,并將ECC代碼字作為代碼字流發送到傳感器。
11.一種盤驅動存儲通道,包括一個能與數據存儲盤通訊的傳感器;以及與傳感器耦合的解碼裝置,用于接收來自傳感器的讀取信號并根據一個代碼將讀取信號表示的連續糾錯碼(ECC)代碼字解碼為連續數據字,其中,每個ECC代碼字包括多個多位ECC符號,根據位模式與多位ECC符號之間邊界的相對位置,該代碼約束每個ECC代碼字中的位模式。
全文摘要
本發明提供一種對數據字編碼的編碼器和方法,它將至少一個數據字的塊映射到一個糾錯碼(ECC)代碼字。由多個被邊界分割開的多位ECC符號定義ECC代碼字。根據位模式與邊界的相對位置,限制位模式不出現在ECC代碼字中。
文檔編號H03M13/29GK1383617SQ01801821
公開日2002年12月4日 申請日期2001年6月26日 優先權日2000年6月27日
發明者B·魯布 申請人:西加特技術有限責任公司