本發(fā)明屬于通訊技術(shù)領(lǐng)域,涉及一種NAND閃存壞塊重復利用方法及裝置,特別涉及一種基于擴序列的NAND閃存壞塊重復利用方法及裝置,可用于U盤和固態(tài)硬盤等存儲設(shè)備。
背景技術(shù):
閃存(Flash)是一種非揮發(fā)性的半導體存儲芯片,具有體積小、功耗低、不易受物理破壞的優(yōu)點,是移動數(shù)碼產(chǎn)品的理想存儲介質(zhì)。
Flash存儲器按照內(nèi)部架構(gòu)和具體實現(xiàn)技術(shù)可以分為AND、NAND、NOR和DiNOR等幾種,目前以NAND閃存為主流存儲器。NAND閃存具有容量大、體積小、功耗低、隨機讀寫性能好、性價比高等優(yōu)點,從而得到了廣泛應用。NAND閃存從架構(gòu)上來說又分為三種:SLC(Single Level Cell)、MLC(Multi Level Cell)以及TLC(Triple Level Cell),由于MLC架構(gòu)的NAND閃存在速度、壽命以及價格等方面的綜合優(yōu)勢,得到了業(yè)界的普遍采用。NAND閃存技術(shù)中的基本存儲單元為“頁”,若干頁組成一個塊,塊容量等于頁容量與塊內(nèi)頁數(shù)的乘積,不同閃存的塊內(nèi)頁數(shù)不盡相同,通常為16頁~512頁。閃存的編程以頁為單位,在寫之前必須先擦除;閃存的擦除則以塊為單位,NAND閃存是由多個塊串行排列組成。NAND閃存是一種順序讀取的設(shè)備,它僅用8或16比特的I/O端口就可以存取按頁為單位的數(shù)據(jù)。NAND閃存在讀和擦寫連續(xù)大容量文件時,速度優(yōu)勢明顯,但隨機存取時速度比較慢,因為它不能按字節(jié)寫。NAND閃存容易產(chǎn)生壞塊,壞塊損壞的物理機制一般是頁中某些比特位不能被編程,通常是1不能被編程為0,它發(fā)生比特錯誤是離散獨立的。如果一頁中的不能被編程比特數(shù)超過了該芯片設(shè)定的ECC最大校驗能力時,就會被稱為“壞塊”而被拋棄。比如鎂光公司的MT29F512G08芯片,它的ECC校驗能力為1100字節(jié)糾錯40比特,即當每1100字節(jié)中的錯誤比特數(shù)超過40時,這個塊就會被認定為壞塊而不被使用,造成了大量的浪費。
目前對壞塊的處理方法主要分為兩種,分別是替換法和重復利用法。
替換法是指在設(shè)計時,用一個控制器管理壞塊,當向壞塊存取數(shù)據(jù)時,控制器即將數(shù)據(jù)轉(zhuǎn)移到預定備用替換區(qū)域,以保證數(shù)據(jù)安全完整。例如中國專利申請,授權(quán)公告號為CN103593301B,公開了一種壞塊管理方法及系統(tǒng),包括操作系統(tǒng)執(zhí)行從目標地址的讀取數(shù)據(jù),監(jiān)控到從該目標地址讀取的數(shù)據(jù)并與原始寫入的數(shù)據(jù)相對比后不一致;將該目標地址指向的存儲區(qū)域設(shè)置為壞塊區(qū)域,并建立與該壞塊區(qū)域?qū)奶鎿Q區(qū)域;將要存儲的數(shù)據(jù)寫入到所述替換區(qū)域中。此方法雖然可以保證數(shù)據(jù)的正確存儲,但是在實現(xiàn)過程中完全拋棄了仍舊擁有大多數(shù)正常存儲單元的壞塊,造成存儲空間的浪費。
重復利用法是指通過相關(guān)算法或工具對壞塊進行利用。例如中國專利申請,授權(quán)公告號為CN101859604B,公開了一種閃存壞塊的利用方法,該方法首先借助量產(chǎn)工具軟件掃描閃存,發(fā)現(xiàn)其中的壞塊并記錄在閃存控制器內(nèi);再對量產(chǎn)工具軟件掃描發(fā)現(xiàn)的閃存壞塊根據(jù)事先設(shè)定的“可供利用”之篩選條件再次掃描,符合篩選條件的所述壞塊被標記并記錄在閃存控制器內(nèi),等待使用;不符合篩選條件的壞塊則標記為真正的壞塊被記錄在閃存控制器內(nèi),不再使用;重復所述掃描和標記過程直到所有閃存壞塊都被標記和記錄;最后將閃存中符合“可供利用”之篩選條件的壞塊放在替換區(qū)等待使用。該發(fā)明可以利用那些只是對某些數(shù)據(jù)敏感的壞塊,也就是壞塊中特殊的很小一部分,而對剩下占大多數(shù)的普通壞塊還只能是棄之不用。這在閃存容量不斷增加的情況下,浪費的閃存空間就會越來越大??梢姡F(xiàn)有技術(shù)利用閃存壞塊的適應性很差,并不能適應于所有壞塊,找到一種可以無限制的對閃存壞塊進行利用的方法顯得尤為重要。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)存在的缺陷,提出了一種基于擴序列的NAND閃存壞塊重復利用方法及裝置,旨在提高壞塊的利用率,改善壞塊重復利用的適應性差的問題,延長NAND閃存的使用壽命。
為了實現(xiàn)上述目的,本發(fā)明采取的技術(shù)方案為:
基于擴序列的NAND閃存壞塊重復利用方法,包括以下步驟:
(1)數(shù)據(jù)獲取模塊獲得外部存儲設(shè)備中將要寫入壞塊的數(shù)據(jù),得到原始測試數(shù)據(jù);
(2)設(shè)置擴序列碼的初始長度L為3,判決門限P為2,其中L=2n-1,P=L-n+1,n為擴序列碼的階數(shù),且n≥2;
(3)擴序列模塊利用擴序列碼,對原始測試數(shù)據(jù)進行擴序列,得到擴序列后數(shù)據(jù);
(4)數(shù)據(jù)寫入模塊將擴序列后數(shù)據(jù)寫入NAND閃存的壞塊中;
(5)數(shù)據(jù)讀出模塊讀出NAND閃存壞塊中的數(shù)據(jù),得到待解擴數(shù)據(jù);
(6)解擴模塊利用擴序列碼對待解擴數(shù)據(jù)進行解擴處理,得到解擴后數(shù)據(jù);
(7)數(shù)據(jù)恢復模塊依據(jù)判決門限P對每L比特數(shù)據(jù)依次進行判決,得到恢復數(shù)據(jù);
(8)數(shù)據(jù)檢測模塊將恢復數(shù)據(jù)和原始測試數(shù)據(jù)進行比對,并判斷該兩種數(shù)據(jù)是否一致,若是,則實現(xiàn)了壞塊重復利用,結(jié)束;若否,則將n改為n+1,執(zhí)行步驟3。
上述基于擴序列的NAND閃存壞塊重復利用方法,步驟1中所述的獲得外部存儲設(shè)備中將要寫入壞塊的數(shù)據(jù),是由直接內(nèi)存訪問方式獲得的。
上述基于擴序列的NAND閃存壞塊重復利用方法,步驟3中所述的擴序列后數(shù)據(jù),是通過原始測試數(shù)據(jù)與擴序列碼進行按位異或處理得到的,步驟6中所述的解擴后數(shù)據(jù),是通過待解擴數(shù)據(jù)與擴序列碼進行按位異或處理得到的。
上述基于擴序列的NAND閃存壞塊重復利用方法,所述壞塊,是指超出閃存控制器ECC糾錯范圍的閃存塊。
上述基于擴序列的NAND閃存壞塊重復利用方法,步驟1~步驟8,均是基于FPGA實現(xiàn)的。
上述基于擴序列的NAND閃存壞塊重復利用方法,步驟7中所述的對每L比特數(shù)據(jù)依次進行判決,其判決方法為,每L比特數(shù)據(jù)中若有P個或大于P個的1,則恢復數(shù)據(jù)為1,若有P個或大于P個的0,則恢復數(shù)據(jù)為0。
上述基于擴序列的NAND閃存壞塊重復利用方法,步驟8中所述的將恢復數(shù)據(jù)和原始測試數(shù)據(jù)進行比對,是指將恢復數(shù)據(jù)和原始測試數(shù)據(jù)進行按位異或處理,并對處理結(jié)果進行分析實現(xiàn)的。
一種基于擴序列的NAND閃存壞塊重復利用裝置,其特征在于,包括數(shù)據(jù)獲取模塊、擴序列模塊、數(shù)據(jù)寫入模塊、數(shù)據(jù)讀出模塊、解擴模塊、數(shù)據(jù)恢復模塊和檢測模塊,其中,
數(shù)據(jù)獲取模塊,用于獲取外部存儲設(shè)備中的原始測試數(shù)據(jù);
擴序列模塊,用于通過長度為L的擴序列碼對將要寫入壞塊的數(shù)據(jù)進行擴序列;
數(shù)據(jù)寫入模塊,用于將擴序列后數(shù)據(jù)寫入到相應NAND閃存壞塊中;
數(shù)據(jù)讀出模塊,用于讀出壞塊中的擴序列后數(shù)據(jù);
解擴模塊,用于對從壞塊中讀出的數(shù)據(jù)通過同樣長度為L的擴序列碼進行解擴處理;
數(shù)據(jù)恢復模塊,用于將解擴后的數(shù)據(jù)進行數(shù)據(jù)恢復;
數(shù)據(jù)檢測模塊,用于檢測恢復數(shù)據(jù)和原始測試數(shù)據(jù)是否一致。
本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點。
本發(fā)明由于在NAND閃存中存在壞塊不能被利用的情況下,通過將寫入NAND閃存壞塊的數(shù)據(jù)進行擴序列后再寫入,經(jīng)過后續(xù)的解擴處理和數(shù)據(jù)恢復,理論上可以實現(xiàn)對所有超過閃存控制器ECC校驗能力的NAND閃存壞塊重復利用,擴展了NAND閃存的可用存儲容量,增大了NAND閃存的寫入數(shù)據(jù)量,與現(xiàn)有技術(shù)相比,提高了閃存壞塊的利用率,改善了壞塊重復利用的適應性差的問題,從而減少了NAND閃存擦除的次數(shù),進而延長了NAND閃存的使用壽命。
附圖說明
圖1為本發(fā)明基于擴序列的NAND閃存壞塊重復利用方法的實現(xiàn)流程框圖;
圖2為本發(fā)明基于擴序列的NAND閃存壞塊重復利用裝置的結(jié)構(gòu)示意圖;
圖3為圖2實施例中n=2時的擴序列模塊及數(shù)據(jù)寫入模塊的工作示意圖;
圖4為圖2實施例中n=2時的解擴模塊和數(shù)據(jù)恢復模塊工作示意圖;
圖5為圖2實施例中數(shù)據(jù)檢測模塊工作原理示意圖。
具體實施方式
以下結(jié)合附圖和實施例,對本發(fā)明作進一步詳細說明;
參照圖1,一種基于擴序列的NAND閃存壞塊重復利用方法,包括以下步驟:
步驟S10,獲得原始測試數(shù)據(jù);
本實施例中NAND閃存芯片采用鎂光公司的MT29F512G08,該芯片每頁為16K+1216字節(jié),每個塊由512頁組成,大小為8192K+608K字節(jié),芯片總?cè)萘繛?12Gb。
本實施例中,獲得原始測試數(shù)據(jù)是指,獲取外部存儲設(shè)備中將要寫入壞塊的數(shù)據(jù),截取一段,作為原始測試數(shù)據(jù);由于本實施例中用的閃存每頁大小為16K,所以選擇截取(16/L)K字節(jié)的數(shù)據(jù)作為原始測試數(shù)據(jù),這樣當擴序列碼長度為L時,經(jīng)過擴序列處理后,要寫入數(shù)據(jù)變成16K,正好一頁,方便數(shù)據(jù)寫入。
本實施例中,外部存儲設(shè)備為具有存儲空間的電子設(shè)備如臺式機。具體地,可通過PCI-e接口通過直接內(nèi)存訪問的方式將臺式機中存儲的數(shù)據(jù)傳輸至FPGA的緩存中;直接內(nèi)存訪問是指外部設(shè)備不通過CPU而直接與系統(tǒng)內(nèi)存交換數(shù)據(jù),數(shù)據(jù)讀取速度快,效率高;
步驟S11,設(shè)置初始擴序列碼長度L和判決門限P;
本實施例中,將初始擴序列碼長度L設(shè)置為3,判決門限P設(shè)置為2,其中擴序列碼長度L=2n-1,判決門限P=L-n+1,n≥2;長度為3的擴序列碼采用110序列,此擴序列碼為2階偽隨機碼,長度為5的擴序列碼采用10011序列,此碼為3階偽隨機碼的截短碼;將初始擴序列碼長度L設(shè)置為3判決門限P設(shè)置為2,是因為這樣既可以解決壞塊中離散單比特錯誤也可以最大效率的增加寫入數(shù)據(jù)量;當擴序列碼長度為3時,壞塊的有效寫入數(shù)據(jù)量變?yōu)樵級膲K大小的三分之一,同理當擴序列碼長度為L時,壞塊的有效寫入數(shù)據(jù)量變?yōu)樵級膲K大小的L分之一;擴序列碼采用偽隨機序列是因為偽隨機序列有良好的隨機性和平衡性;
步驟S12,對原始測試數(shù)據(jù)用長度為L的擴序列碼進行擴序列處理;
本實施例中,擴序列處理為原始測試數(shù)據(jù)與擴序列碼進行按位異或運算;
本實施例中,擴序列處理的具體工作模式參考圖3上半部分;
步驟S13,將擴序列后的數(shù)據(jù)寫入NAND閃存的壞塊中;
本實施例中所述壞塊是指超出ECC校驗能力的NAND閃存壞塊,至于壞塊是不是對哪些數(shù)據(jù)敏感本發(fā)明沒有限制;ECC(Error Correcting Code)是一種數(shù)據(jù)檢錯糾錯算法,通過增加冗余數(shù)據(jù)的方式對存儲數(shù)據(jù)進行編譯碼,用來解決NAND閃存中存在少量比特翻轉(zhuǎn)的問題;超過ECC校驗能力是指,每個閃存控制器的ECC校驗都有最大糾錯能力,如本實施例中的ECC糾錯能力就是每1100字節(jié)糾錯40比特,即當1100字節(jié)中的錯誤比特數(shù)超過40時,這個塊就被認定為壞塊;
本實施例中數(shù)據(jù)寫入是通過FPGA實現(xiàn)NAND閃存接口寫入時序,將擴序列后的數(shù)據(jù)寫入NAND閃存的壞塊中。需要注意的是,在數(shù)據(jù)寫入之前應當對該壞塊進行擦除,保持壞塊中的正常比特為全1狀態(tài),如圖3第四行所示;本實施例中塊擦除操作需要3個地址周期,首先由FPGA發(fā)送塊擦除第一個命令字60H,然后發(fā)送3個周期的需要擦除的塊地址,最后發(fā)送塊擦除的第二個命令字D0H;數(shù)據(jù)寫入操作需要5個地址周期,首先由FPGA發(fā)送數(shù)據(jù)寫入第一個命令字80H,然后發(fā)送5個周期的塊內(nèi)地址,接著發(fā)送16K待寫入數(shù)據(jù),最后發(fā)送數(shù)據(jù)寫入的第二個命令字10H;
本實施例中,數(shù)據(jù)寫入的具體工作模式參考圖3下半部分;
步驟S14,將數(shù)據(jù)從該壞塊讀出,得到待解擴數(shù)據(jù);
本實施例中數(shù)據(jù)讀出是通過FPGA實現(xiàn)NAND閃存接口讀出時序,將數(shù)據(jù)從NAND閃存的壞塊中讀出;本實施例中數(shù)據(jù)讀出操作需要5個地址周期,首先由FPGA發(fā)送數(shù)據(jù)讀出的第一個命令字00H,然后發(fā)送5個地址周期的塊內(nèi)地址,最后發(fā)送數(shù)據(jù)讀出的第二個命令字30H;
步驟S15,將待解擴數(shù)據(jù)用擴序列碼進行解擴處理;
本實施例中,解擴處理是將待解擴的數(shù)據(jù)與原擴序列碼進行按位異或處理;
本實施例中,解擴處理的具體工作模式參考圖4上半部分;
步驟S16,將解擴后的數(shù)據(jù)進行數(shù)據(jù)恢復;
本實施例中,擴序列碼長度L為3,判決門限P為2,數(shù)據(jù)恢復的具體工作模式參考圖4下半部分;
步驟S17,檢測恢復數(shù)據(jù)和原始測試數(shù)據(jù)是否一致;
本實施例中,數(shù)據(jù)檢測是通過將原數(shù)據(jù)和恢復數(shù)據(jù)進行按位異或運算,結(jié)果中若有1出現(xiàn)則說明恢復數(shù)據(jù)和原始測試數(shù)據(jù)不完全相同,說明此擴序列方法的容錯能力還不能用來對壞塊重復利用,需要換一個容錯能力更大的擴序列方法;若沒有1出現(xiàn),則說明數(shù)據(jù)讀寫正確,此擴序列方案的容錯能力可以對壞塊進行重復利用;
本實施例中,數(shù)據(jù)檢測的具體工作模式參考圖5;
本實施例中,數(shù)據(jù)檢測采用的是將原始測試數(shù)據(jù)與恢復數(shù)據(jù)進行按位異或處理,通過分析處理結(jié)果得到檢測結(jié)果;應當知道通過原始測試數(shù)據(jù)與恢復數(shù)據(jù)相減也可以達到同樣功能,為了達到數(shù)據(jù)檢測采用其他類似操作也在本發(fā)明的保護范圍內(nèi);
步驟S18,將與擴序列碼長度L和判決門限P對應的n改為n+1;
本實施例中,當步驟S17存在問題時,說明NAND閃存壞塊中有連續(xù)2比特錯誤,初始情況下的擴序列方法不能規(guī)避連續(xù)2比特錯誤,應將擴序列長度增大,并更改相應的判決門限值,使其容錯能力更強。當n為2時,此NAND閃存壞塊重復利用方法的容錯能力為1比特,容錯能力具體表現(xiàn)為L-P,隨著n的增加,容錯能力也在增加;
參照圖2,一種基于擴序列的NAND閃存壞塊重復利用裝置,包括數(shù)據(jù)獲取模塊B100、擴序列模塊B101、數(shù)據(jù)寫入模塊B102、數(shù)據(jù)讀出模塊B103、解擴模塊B104、數(shù)據(jù)恢復模塊B105和數(shù)據(jù)檢測模塊B106;其中各個模塊是有序連接在一起,相互連接順序不能顛倒和替換;
數(shù)據(jù)獲取模塊B100,用于獲取外部存儲設(shè)備中將要寫入壞塊的數(shù)據(jù);
本實施例中,F(xiàn)PGA通過PCI-e接口用直接內(nèi)存訪問的方式將臺式機中存儲的數(shù)據(jù)傳輸至FPGA的數(shù)據(jù)寄存器中;
擴序列模塊B101,對從外部存儲設(shè)備中獲取的數(shù)據(jù)用長度為L的擴序列碼進行擴序列處理;
擴序列是指通過利用序列通過相應運算將原始數(shù)據(jù)擴長的操作,本實施例中,擴序列處理為源數(shù)據(jù)與擴序列碼進行按位異或運算;
數(shù)據(jù)寫入模塊B102,用于將擴序列后的數(shù)據(jù)寫入NAND閃存的壞塊中;
數(shù)據(jù)寫入模塊是指通過某種工具按照芯片的相應時序要求,將數(shù)據(jù)寫入到存儲單元中;本實施例中數(shù)據(jù)寫入是通過FPGA實現(xiàn)NAND閃存接口寫入時序,將擴序列后的數(shù)據(jù)寫入NAND閃存的壞塊中。需要注意的是,在數(shù)據(jù)寫入之前應當對該壞塊進行擦除,保持壞塊中的正常存儲單元為全1狀態(tài);
數(shù)據(jù)讀出模塊B103,將寫入的數(shù)據(jù)從該壞塊中讀出;
數(shù)據(jù)讀出模塊是指通過某種工具按照芯片的相應時序要求,將數(shù)據(jù)從存儲單元中讀出;本實施例中數(shù)據(jù)讀出是通過FPGA實現(xiàn)NAND閃存接口讀出時序,將數(shù)據(jù)從NAND閃存的壞塊中讀出。
解擴模塊B104,用于將待解擴數(shù)據(jù)用同樣長度為L的擴序列碼進行解擴處理;
數(shù)據(jù)解擴操作和數(shù)據(jù)擴序列操作用的算法相同,用的擴序列也相同;本實施例中,解擴處理是將待解擴的數(shù)據(jù)與原擴序列碼進行按位異或處理;
數(shù)據(jù)恢復模塊B105,用于將解擴后的數(shù)據(jù)進行數(shù)據(jù)恢復;
數(shù)據(jù)恢復是指通過某種恢復標準對原數(shù)據(jù)進行判決,得到恢復數(shù)據(jù);本實施例中,當擴序列碼長度L為3,判決門限P為2時,數(shù)據(jù)恢復即依次對每3比特數(shù)據(jù)進行判決,若有2個或2個以上1出現(xiàn),則恢復原始數(shù)據(jù)為1;若有2個或2個以上0出現(xiàn),則恢復原始數(shù)據(jù)為0;
數(shù)據(jù)檢測模塊B106,檢測恢復數(shù)據(jù)和原始測試數(shù)據(jù)是否一致;
數(shù)據(jù)檢測是指通過相關(guān)運算,分析運算結(jié)果得出判斷結(jié)果;本實施例中,數(shù)據(jù)比對是通過將原數(shù)據(jù)和恢復出來的數(shù)據(jù)進行按位異或處理,結(jié)果中若有1出現(xiàn)則說明恢復數(shù)據(jù)和原始數(shù)據(jù)不完全相同,說明此擴序列方案的容錯能力還不能用來處理這個壞塊,需要換一個容錯能力更大的擴序列方案;若沒有1出現(xiàn),則說明數(shù)據(jù)讀寫正確;
本實施例中,當B106檢測出問題時,說明NAND閃存中有連續(xù)2比特錯誤,初始情況下的擴序列模式不能規(guī)避連續(xù)2比特錯誤,應將擴序列碼長度增大,并更改相應的判決門限值,使其容錯能力增強;
參照圖3,為圖2實施例中n=2時的擴序列模塊及數(shù)據(jù)寫入模塊的工作示意圖,其中;
第一行代表原始測試數(shù)據(jù),本實施例中,將外部存儲設(shè)備中獲得的數(shù)據(jù)截取16/3K大小的一段作為原始測試數(shù)據(jù);
第二行代表擴序列碼長度L為3的擴序列碼,本實施例中選用110序列作為初始擴序列碼;
第三行為原始測試數(shù)據(jù)與擴序列碼進行按位異或處理后得到的擴序列后的數(shù)據(jù),其中原始測試數(shù)據(jù)為16/3K大小,擴序列碼長度L為3,所以得到的擴序列后數(shù)據(jù)大小為16K,正好是本實施例中閃存一頁的大??;
第四行模擬了NAND閃存中的存儲單元,其中每個方框代表一個存儲單元,粗體方框表示不能被編程的錯誤比特;
第五行是擴序列后數(shù)據(jù)寫入壞塊中的狀態(tài),可見除了錯誤比特其他正常存儲單元的數(shù)據(jù)因為數(shù)據(jù)寫入而改變;
參照圖4,為圖2實施例中n=2時的解擴模塊和數(shù)據(jù)恢復模塊工作示意圖,其中;
第一行表示從壞塊中讀出的待解擴數(shù)據(jù);
第二行表示數(shù)據(jù)擴序列操作時用的初始擴序列碼;
第三行表示待解擴數(shù)據(jù)與擴序列碼進行按位異或操作后得到的解擴后數(shù)據(jù);
第四行表示數(shù)據(jù)恢復后的恢復數(shù)據(jù),對第三行中的解擴后數(shù)據(jù),每3比特數(shù)據(jù)進行判決,如果有2個或2個以上為1,則恢復數(shù)據(jù)為1。如果有2個或2個以上數(shù)據(jù)為0,則恢復數(shù)據(jù)為0,得到的恢復數(shù)據(jù)的大小為解擴后數(shù)據(jù)的三分之一;
參照圖5,為圖2實施例中數(shù)據(jù)檢測模塊工作原理示意圖,其中;
第一行表示原始測試數(shù)據(jù);
第二行表示經(jīng)過數(shù)據(jù)恢復得到的恢復數(shù)據(jù);
第三行表示原始測試數(shù)據(jù)和恢復數(shù)據(jù)進行按位異或后得到的檢測結(jié)果,顯示全0則表示原始測試數(shù)據(jù)與恢復數(shù)據(jù)完全相同,證明對壞塊的讀寫完全正確,若檢測結(jié)果中有1出現(xiàn),則表示數(shù)據(jù)讀寫出現(xiàn)問題;
以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的保護范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所做的等效結(jié)構(gòu)和等效流程變換,或直接或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的保護范圍內(nèi)。