專利名稱:用于存儲裝置測試的ldpc碼糾錯能力調節的制作方法
技術領域:
總的來說,本發明涉及在某些測試條件下測試存儲裝置。更具體地,本發明涉及調節LDPC碼的糾錯能力以使得能夠漸進地確定存儲裝置的扇區故障率。
背景技術:
在許多存儲裝置中,通常以連續的塊將數據寫入到所述裝置和從所述裝置取回數據。在盤驅動器中,讀/寫通道執行這樣的讀取和寫入。讀/寫通道利用某些檢測算法改善對寫入到硬盤和從硬盤讀取的數據的檢測。例如,如PRML(利用最大似然性檢測的部分響應信令)的算法增加了從硬盤讀取的數據的信噪比(SNR),這增加了數據將被正確地讀取的可能性。由于更加可能正確檢測數據,因此這些算法可以允許增加盤上的面積密度 (areal densities) ( S卩,硬盤上可存儲比特數目增加)。然而,由于數據誤差可以隨著面積密度的增加而增加,因此使用誤差控制編碼來改善檢測算法的性能。通常,里德-所羅門碼 (RS碼)提供了這樣的糾錯能力。在讀取期間發生的數據錯誤的數目(即,扇區故障率或SFR)通常與讀取信號的 SNR相符。較低的SNR導致較大的錯誤率。較高的SNR導致較低的錯誤率。讀取信號的SNR 由于盤驅動器隨時間的劣化、組成、和功率而具有某些限制。因此,利用RS碼糾正所導致的數據錯誤。盤驅動器制造商通常對于滿足預期盤驅動器由于硬盤劣化而承受的最大錯誤率所需的最大校正水平建立“T = 20”的碼等級(code level)。T = 20的碼等級對于40比特的數據要求20比特的碼。在制造處理過程期間,盤驅動器被測試以確保驅動器對于給定的SNR滿足某些必須的錯誤率等級。由于這些硬盤是新的,因此與老化的硬盤相比它們很可能遇到較少的錯誤。然而,由于制造處理過程中的不一致性,某些新的盤將經歷數目不可接受的錯誤。為了確保對于某些SNR盤滿足可接受的SFR而不需通過完全的T = 20糾錯恢復,碼等級被“回撥”到T = 5。目前,隨著技術進步面積密度和處理能力增加,盤驅動器制造商在尋求采用其它的碼。目前實現的一種碼被稱作低密度奇偶校驗(LDPC)碼。LDPC碼相對復雜,并因此是計算密集的。例如,與RS碼相比,LDPC碼以更大的連續的數據塊糾正錯誤,并因此要求更多的計算。由于處理能力隨著時間已經顯著增長,因此,與RS碼相比,LDPC碼通常能夠糾正更多的錯誤,并且看起來在糾錯方面要成為顯然的繼任者。然而,LDPC碼并不具有RS碼的用以確保制造的測試驅動器滿足某些必須的最低等級的SFR的“回撥”能力。因此,如果要在存儲裝置中使用LDPC碼,則出于測試目的需降低LDPC糾錯的等級。
發明內容
本發明通過提供用于調節低密度奇偶校驗糾錯碼的糾錯能力的方法和結構,來解決上述的以及其它問題,從而促進了本領域的當今技術的發展。例如,存儲裝置通常要求在遞送客戶之前進行測試。以前,如上所述的,通過將編碼的數據的RS碼回撥來測試存儲裝置。由于在存儲裝置中出現LDPC碼,因此LDPC的糾錯能力基本上處在“滿幅(full scale) ”,要求計算密集地完全使用LDPC同時放棄建立新近制造的存儲裝置的SFR的能力。 在一個實施例中,一種系統通過提供適于對LDPC編碼的數據解碼的解碼器克服了這些限制。檢測器通信地耦接到所述解碼器,并且該檢測器適于在解碼器解碼之前估計數據中的比特值。所述檢測器進一步適于基于比特值估計改變比特值,以降低所述低密度奇偶校驗糾錯碼的糾錯能力。本發明的另一方面涉及一種測試盤驅動器的方法,包括以LDPC碼編碼數據和將編碼的數據存儲在所述盤驅動器上。所述方法進一步包括從所述盤驅動器讀取所述編碼的數據;估計所述編碼的數據中的比特值;以及基于比特值估計改變所述編碼的數據中的比特值中的一部分。所述方法還包括響應于對所述比特值的所述部分的改變,根據所述低密度奇偶校驗碼解碼所述編碼的數據,以確定所述盤驅動器中的扇區故障率。本發明的另一方面涉及一種適于測試盤驅動器的系統。所述系統包括寫入模塊, 所述寫入模塊適于以LDPC碼對數據編碼以及將編碼的數據寫入到所述盤驅動器。所述系統還包括讀取模塊,其適于從所述盤驅動器讀取所述編碼的數據;估計所述編碼的數據中的比特值;以及基于比特值估計改變所述比特值中的一部分。所述改變的比特值降低了所述低密度奇偶校驗碼的糾錯能力,以確定所述盤驅動器的扇區故障率。
圖1是用于調節LDPC碼的糾錯能力的示例性系統。圖2是示出了對于多種LDPC糾錯調節的SFR分析的圖。圖3是結合盤驅動器實現的圖1的系統的一個示例。圖4是用于測試存儲裝置的方法的示例性流程圖。
具體實施例方式圖1-4以及下面的說明描述了本發明的具體的示例性實施例,以教導本領域技術人員如何制造和使用本發明。出于教導發明原理的目的,本發明的某些常規方面已經被簡化或省略。本領域技術人員將理解,源自這些實施例的各種變化,其都落在本發明的范圍內。本領域技術人員將理解,下面描述的特征可以以多種方式組合來形成本發明的多種變型。因此,本發明并不限于下面描述的具體實施例,而是僅由權利要求及其等同物決定。圖1是用于調節LDPC碼的糾錯能力的示例性系統10。在該實施例中,系統10包括LDPC解碼器12,LDPC解碼器12適于解碼LDPC編碼的數據。LDPC碼是這樣的碼對于給定的調制及碼率,其在被解碼時逼近信道容量的理論界限或“香農限”。也即,香農限可以被視為要在具有特定的SNR的通信信道中使用的、實現通過所述通信信道的無錯誤傳輸的數據率(data rate)。LDPC編碼的數據可以是通過產生包括多個碼元(symbol)的信號而編碼的,所述碼元每一個都具有公共碼率并且被映射到單一調制。也即,LDPC編碼的調制信號的碼元具有相同碼率和相同調制頻率。一旦被編碼,數據隨后可以存儲在存儲系統(諸如,盤驅動器系統)中。在從所述存儲系統讀取數據時,LDPC解碼器12可以基于給定的LDPC碼的二部圖(bipartite graph)對數據解碼,所述圖包括比特節點和檢查節點。與接收到的碼元相關聯的同相/正交(I/Q)值被與碼元節點相關聯,并且該碼元節點被與相應的比特節點相關聯。 然后對于相應碼元的單獨的比特計算比特量度(Bit metrics),并且將這些比特量度提供到給定的LDPC碼的二部圖的比特節點。在LDPC編碼的信號的迭代解碼期間,計算、適當地更新并在比特節點和檢查節點之間來回通信與互聯比特節點和檢查節點的邊緣對應的邊緣信息。被采用的比特量度值通常是在迭代解碼處理中重復使用的固定值。由于LDPC碼的結構,解碼器12并不是可容易配置來改變糾錯能力的。也即,解碼器12被以這樣的方式配置來根據用來對數據編碼的相同LDPC碼來解碼數據。因此,解碼器12的糾錯能力通常是靜態的,不同于可縮放的RS碼。如所述的,制造商通常期望通過 “回撥”碼的糾錯能力以逼近存儲裝置的與制造處理過程相關聯的預期故障率來測試存儲裝置。由于解碼器12通常不能容易地調節糾錯能力,因此系統10配置有檢測器11,檢測器 11適于在解碼器12解碼之前估計數據中的比特值。檢測器11在解碼器12解碼之前基于比特值估計改變比特值,以降低LDPC糾錯碼的糾錯能力。為了說明起見,在解碼器12接收到具有錯誤比特的有效碼字(例如,劣化到它們不可識別的程度)時,解碼器12將這些比特視為從碼字丟失。解碼器12通過利用LDPC碼的糾錯能力糾正該比特來做出響應。系統10通過使檢測器11在解碼器12解碼之前糾正所述丟失的比特或者其一部分,從而不需要解碼器12糾正這些比特,來“壓制”該糾錯能力。 通過使檢測器11操作在預定的比特間隔上,解碼器12的糾錯能力實質上可以被“回撥”。通過調節檢測器11糾正比特的數據間隔,系統10能夠分析存儲系統中的多種信噪比的SFR。例如,圖2是示出了對于多種LDPC糾錯調節的SFR分析的圖。y軸41示出了存儲裝置的SFR。y軸41的SFR以每LDPC碼字的碼元(即,10比特)錯誤來表示。χ軸42 示出了以分貝表示的讀取信號(即,LDPC編碼的數據)的SNR。“步階(st印)” 43-48中的每一個示出了檢測器11執行的比特間隔檢查。出于說明的目的,當檢測器在LDPC編碼的數據中每50個比特進行糾正時(S卩,步階48),SFR隨著SNR增加而降低;然而,如在步階43中所示,在允許LDPC解碼器12解碼 LDPC編碼的數據中的每一比特時,也是如此,只是以較不顯著的比率。通過去除糾正LDPC 編碼的數據中的每一比特的能力,技術人員可以能夠以與上面所述的RS碼回撥類似的方式來確定所制造的存儲裝置對于給定的SNR是否滿足某一必須的最低SFR等級。因此,在通過從存儲裝置讀取數據并以特定的比特間隔糾正比特來測試存儲裝置時,可以使用所確定的SFR來驗證存儲裝置合格以供客戶使用。在一個實施例中,檢測器11采用軟輸出維特比(Viterbi)算法(SOVA)。SOVA不同于經典的維特比算法之處在于其利用修改的路徑量度,這考慮了輸入碼元已知的可能性并產生指示判決的可靠性的軟輸出。例如,檢測器11可以以特定的比特間隔估計對數似然比(LLI ),來以該比特間隔建立比特值。在檢測到可能的錯誤時,檢測器11可以估計該比特是一還是零。然而,本發明的檢測意圖并不限于S0VA,因為也可以使用其它的檢測算法來估計特定的接收比特的概率。圖3表示具有采用圖1的系統10的讀/寫通道74的盤驅動器70的框圖。在該實施例中,讀/寫頭72操作設置為與磁盤71相鄰,以將數據從主機裝置76磁性地記錄(即, 寫入)到磁盤71上。讀/寫頭72還感測磁盤71上的磁通量反轉(reversal),以從磁盤71讀取并傳輸數據到主機裝置76。為了寫入數據到磁盤71上,主機裝置76向控制器75 提供數據信號以及要將該數據信號寫入在磁盤上的位置(例如,磁盤71的扇區地址)。控制器75指引讀/寫頭72移動到適當位置中,并將數據信號傳輸到讀/寫通道74。讀/寫通道74對該數據信號LDPC編碼,并將其轉換為模擬信號。讀/寫通道74將該模擬信號傳輸到放大器73以供放大。然后放大器73將放大的模擬信號傳輸到讀/寫頭72。讀/寫頭 72將表示該數據信號的磁通量反轉施加到磁盤71上。讀/寫通道74可以通過峰值檢測、 PRML編碼、或類似物來控制所述磁通量反轉。通常,為了從磁盤71讀取數據,主機裝置76將位置標識符或磁盤71的扇區地址提供到盤驅動器70。控制器10接收該位置標識符并確定盤71上數據的物理位置。控制器 75指引一個或更多個讀/寫頭72移動到與讀/寫頭72相鄰地旋轉的磁盤71上數據的適當設置中。隨著磁盤71的旋轉,讀/寫頭72感測磁盤71上通量反轉的存在或不存在。讀 /寫頭響應于通量反轉產生模擬信號。讀/寫頭72將該模擬信號傳輸到放大器73,放大器 73放大該模擬信號并將其傳遞到讀/寫通道74。讀/寫通道74通過峰值檢測、PRML解碼或類似物將放大的模擬信號解碼成二進制數字數據信號。讀/寫通道74將該數據信號傳輸到控制器75,控制器75隨后將該數據信號傳輸到主機裝置76。在該實施例中,讀/寫通道74包括圖1的系統10以便降低用來對數據信號原始編碼的LDPC碼的糾錯能力。也即,在從磁盤71讀取數據時,系統10檢測LDPC碼字中的丟失比特,并在它們被LDPC解碼器(例如,LDPC解碼器12)解碼之前糾正它們。由于丟失比特已經被糾正,因此系統10繞過(bypass)這些比特的LDPC解碼,從而降低了 LDPC解碼器的效能。盡管就結合盤驅動器70實現的系統10進行了示出和說明,然而本發明意圖并不限于此。而是,系統10可以實現在任何采用LDPC碼的、其中期望使LDPC碼的糾錯能力“回撥”的裝置中。例如,可以使用LDPC碼來編碼用于存儲在閃存存儲器裝置上的數據。因此, 在制造商希望在遞送客戶之前測試閃存存儲器裝置的SFR時,可以以類似的方式將LDPC碼糾錯能力回撥。本發明意圖也不限于具有讀/寫通道74的實現方式。例如,系統10可以在幾乎任何要求回撥LDPC碼的糾錯能力的裝置中實現為硬件、軟件、固件、或其組合。就此而言,系統10可以結合控制器75或甚至主機裝置76實現。圖4是用于測試存儲裝置的方法80的示例性流程圖。在該實施例中,在處理元81 中,數據首先被用LDPC碼編碼,然后在處理元82中,用存儲裝置存儲編碼的數據。所述存儲裝置可以是任何能夠存儲數字數據的存儲裝置,諸如盤驅動器、閃存存儲器驅動器、光學驅動器(例如,CD-ROM)等。更特別地,在采用LDPC碼以用于數據存儲在技術上可行的情況下,可以使用任何存儲裝置。在處理元83中,從所述存儲裝置讀取LDPC編碼的數據。在一個特定實施例中,盤驅動器中的讀取頭可以檢測盤驅動器的磁盤上的磁通量反轉來形成模擬信號,該模擬信號隨后被轉換為數字信號(即,數字數據)。然后,在解碼LDPC編碼的數據之前,在處理元84 中,估計數據中的比特值。例如,檢測器可以周期性地分析讀取數據流中的比特以確定數據中可能的錯誤。更特別地,所述檢測器可以是SOVA檢測器,其以特定的比特間隔估計LLR 以建立在該比特間隔的比特值。在檢測到可能的錯誤時,檢測器可以估計該比特是一還是零。因此,當在該比特間隔處檢測到這些可能的錯誤時,在處理元85中,檢測器可以基于比特值估計改變比特值的一部分。之后,在處理元86中,可以根據LDPC碼解碼數據。例如, LDPC解碼器可以根據用來對數據編碼的LDPC碼解碼數據。由于先前通過檢測器估計并糾正了多種錯誤,從而LDPC碼的糾錯能力被降低或“回撥”。在處理元87中,解碼器可以在對LDPC編碼的數據解碼的同時確定存儲裝置的 SFR0例如,即使利用數據中的通過檢測器估計并糾正了的某些比特錯誤,在讀取數據中也仍很可能出現錯誤。解碼器可以累計關于在LDPC解碼處理期間糾正的錯誤的數目相對于總的讀取數據的統計數據。因此,解碼器可以確定讀取數據中的誤比特率(bit error rate)或SFR。通常,由于檢測器在解碼器解碼之前糾正一部分讀取數據,因此SFR很可能減小。然而,相對新的裝置中的SFR很可能是相當低的。因此,將LDPC糾錯能力縮放回 (scaling back)允許技術人員觀察通常與制造不一致性相關聯的SFR。就此而言,方法80 可以在處理元88中通過確定SFR是否大于閾值來繼續進行。如果是的話,在處理元89中, 可以將該存儲裝置從生產中移除(例如,以用于重新整修、銷毀等)。否則,在處理元90中, 存儲裝置可以被準備就緒以供遞送客戶。盡管已經在附圖和前述的說明中示例說明并描述了本發明,但是這些示例說明和描述被認為是示例性的,而不是限制性的。已經示出和說明了本發明的一個實施例以及一些變型。期望對所有落在本發明的精神內的改變和修改進行保護。本領域技術人員將理解源自上述實施例的各種變型其都落在本發明的范圍內。因此,本發明并不限于上面討論的具體示例和圖示,而是僅由下面的權利要求及其等同物限定。
權利要求
1.一種用于調節低密度奇偶校驗糾錯碼的糾錯能力的系統(10),其特征在于,該系統包括解碼器(12),其適于解碼數據,其中所述數據被利用所述低密度奇偶校驗糾錯碼編碼;以及檢測器(11),其通信地耦接到所述解碼器,并且適于在所述解碼器解碼之前估計所述數據中的比特值,其中所述檢測器進一步適于基于比特值估計來改變比特值,以降低所述低密度奇偶校驗糾錯碼的糾錯能力。
2.如權利要求1所述的系統,其中所述檢測器包括軟輸出維特比算法。
3.如權利要求1所述的系統,其中所述解碼器和所述檢測器被配置在盤驅動器(70)的讀取模塊(74)內,并且其中被降低的糾錯能力與所述盤驅動器的制造處理過程中的扇區故障率相關聯。
4.如權利要求1所述的系統,其中所述檢測器進一步適于在所述比特值估計期間建立對數似然比。
5.如權利要求1所述的系統,其中所述解碼器進一步適于響應于對所述數據的解碼分析存儲裝置的扇區故障率。
6.如權利要求1所述的系統,其中所述檢測器進一步適于估計所述數據中的預定的比特間隔上的比特值。
7.—種測試盤驅動器的方法(80),其特征在于,所述方法包括以低密度奇偶校驗碼對數據編碼(81);將編碼的數據存儲(8 在所述盤驅動器上;從所述盤驅動器讀取(8 所述編碼的數據;估計(84)所述編碼的數據中的比特值;基于比特值估計改變(邪)所述編碼的數據中的比特值中的一部分;以及響應于對所述比特值的所述部分的改變,根據所述低密度奇偶校驗碼解碼(86)所述編碼的數據,以確定所述盤驅動器中的扇區故障率。
8.如權利要求7所述的方法,其中估計數據中的比特值包括對所述數據中的重復數目的比特執行所述估計或者對所估計的比特執行軟輸出維特比算法以建立對數似然比。
9.如權利要求7所述的方法,其中改變數據中的所述比特值的一部分包括降低所述低密度奇偶校驗碼的糾錯能力,其中被降低的糾錯能力與盤驅動器制造處理過程中的扇區故障率相關聯。
10.一種適于測試盤驅動器(70)的系統(10),其特征在于,所述系統包括寫入模塊(74),其適于以低密度奇偶校驗碼編碼數據以及將編碼的數據寫入到所述盤驅動器;以及讀取模塊(74),其適于從所述盤驅動器讀取所述編碼的數據、估計所述編碼的數據中的比特值、以及基于所述比特值估計改變所述比特值中的一部分,其中所改變的比特值降低所述低密度奇偶校驗碼的糾錯能力以確定所述盤驅動器的扇區故障率,其中所述讀取模塊包括解碼器(12),其適于解碼所述編碼的數據;以及檢測器(11),其通信地耦接到所述解碼器并適于在所述解碼器解碼之前利用軟輸出維特比算法估計所述編碼數據中的比特值。
全文摘要
本發明涉及用于存儲裝置測試的LDPC碼糾錯能力調節。這里提供了用于調節LDPC糾錯碼的糾錯能力的方法和結構。例如,一個實施例的系統包括解碼器,其適于解碼已經以LDPC糾錯碼編碼的數據。所述系統還包括檢測器,其通信地耦接到所述解碼器并適于在所述解碼器解碼之前估計數據中的比特值。所述檢測器進一步適于基于比特值估計改變比特值,以降低LDPC糾錯碼的糾錯能力。糾錯能力中的降低是可調節的以使得可以漸進地分析存儲裝置的扇區故障率。
文檔編號H03M13/00GK102227876SQ200980147644
公開日2011年10月26日 申請日期2009年3月13日 優先權日2009年1月16日
發明者R·勞舍梅爾, 宋宏偉 申請人:Lsi公司