專利名稱:防止固態(tài)硬盤數(shù)據(jù)丟失的方法及其固態(tài)硬盤的制作方法
技術(shù)領域:
本發(fā)明涉及存儲技術(shù)領域,尤其涉及一種防止固態(tài)硬盤數(shù)據(jù)丟失的方法及其固態(tài)硬盤。
背景技術(shù):
NAND Flash(內(nèi)存)的發(fā)展正趨向于擁有更高的密度,所以除了在工藝的不斷更新外,每個CelI也將擁有更多bit數(shù),即MLC(Multi-Level Cell,多層單元)。但由于MLC Flash的固有技術(shù)特性,因為意外掉電而造成的數(shù)據(jù)丟失,一直是SSD(Solid State Disk, 固態(tài)硬盤)技術(shù)發(fā)展中最為棘手的問題,也是最為嚴重的問題。尤其在企業(yè)級產(chǎn)品中,這種錯誤通常是不可接受的。在MLC內(nèi)部,每個cell單元可以代表多個bit值(常見值為2),而這多個bit值是分屬于一個塊內(nèi)的多個頁。即多個頁面實為共享了一組物理的cell單元。在共享一組物理cell的頁面集合的關系為耦合頁面。以兩個耦合頁面為例,序號小的可以稱為低頁面, 反之可以稱為高頁面。在系統(tǒng)意外掉電場景時系統(tǒng)可能正在進行讀或者寫的操作,前者因為并沒有對硬盤本身造成數(shù)據(jù)更改,所以無任何影響。但后者由于正在試圖改變NAND某一組Cell的電荷數(shù)量到預期值。掉電的突然發(fā)生,導致電荷的變化并沒有完成。造成了其耦合頁面內(nèi)容值發(fā)生錯誤。所述現(xiàn)象在系統(tǒng)端表象為異常掉電,導致系統(tǒng)正在寫入的高頁面的耦合低頁面也出現(xiàn)了差錯。從而造成了無法挽回的數(shù)據(jù)丟失。幾乎所有固態(tài)硬盤由于性能要求的考慮,都會對NAND陣列內(nèi)多個NAND頁面進行同時寫入,這種意外掉電則會造成多個高頁面無法正常完成,從而導致多個對應低頁面無法恢復的數(shù)據(jù)丟失。在非掉電模式下的數(shù)據(jù)丟失的場景當正常寫入高頁面操作發(fā)生錯誤時,除了正寫入高頁面的錯誤,其耦合低頁面數(shù)據(jù)也同時丟失了。由于在此時緩存中,早先頁面數(shù)據(jù)由于距離當前寫入點過遠,并且早已經(jīng)正確完成而被釋放了。所以此錯誤也是無法恢復的。RAID (Redundant Array of Independent Disk,獨立冗余磁盤陣列)技術(shù)可以有效恢復屬于一個RAID集合內(nèi)的所有頁面之中的任一個頁面的錯誤?,F(xiàn)在企業(yè)級產(chǎn)品中通用技術(shù)方案大多引入了大電容等外部硬件裝置,來確保寫入同時發(fā)生掉電情況下能依靠電容供電以維持當前寫入的正確結(jié)束。第一種方案存在三大問題首先,大電容由于其固有的衰減特性,在使用一定時間后,其容值會急劇下降,甚至會不足初期的1/5。所以從長期來講此方法用作異常掉電保護并不可靠。其次,由于都采用了 NAND(RS)陣列并行處理的方式,在電容容值也需要選用更加巨大值,通常都會在法拉級別。在當下,法拉級別的電容技術(shù)并不十分成熟,如若再考慮上面第一點的問題,初期容值將是一個很大的問題,甚至無法達到,此外電容器件本身成本,體積也都是無法回避的問題。最后,對于第二場景由于寫入錯誤所引發(fā)的錯誤,電容器件是無能為力的。此外還有另一種常見解決方法,在正常寫入過程中對所有可能會被毀壞的頁再額外再找一個備份同時寫入。當發(fā)生錯誤時從備份中將毀壞的數(shù)據(jù)找回。第二種方案同樣存在一個問題該方案雖然能解決如上所有問題,但不足處是備份與原始值同時寫入,直接造成寫性能被折損,和寫放大增加,導致固態(tài)硬盤壽命縮短。綜上可知,現(xiàn)有的防止數(shù)據(jù)丟失的技術(shù)在實際使用上,顯然存在不便與缺陷,所以有必要加以改進。
發(fā)明內(nèi)容
針對上述的缺陷,本發(fā)明的目的在于提供一種防止固態(tài)硬盤數(shù)據(jù)丟失的方法及其固態(tài)硬盤,以防止固態(tài)硬盤數(shù)據(jù)丟失,提高固態(tài)硬盤的性能。為了實現(xiàn)上述目的,本發(fā)明提供一種防止固態(tài)硬盤數(shù)據(jù)丟失的方法,所述方法包括如下步驟將需要寫入固態(tài)硬盤中的多個耦合物理頁的多個數(shù)據(jù)采用矩陣交叉寫入的方式分別寫入對應的所述多個耦合物理頁;所述多個耦合物理頁分別屬于多個不同的獨立冗余磁盤陣列保護區(qū)域。根據(jù)所述的方法,所述將需要寫入固態(tài)硬盤中的多個耦合物理頁的多個數(shù)據(jù)采用矩陣交叉寫入方式,分別寫入對應的所述多個耦合物理頁的步驟之前包括根據(jù)寫入所述固態(tài)硬盤數(shù)據(jù)的命令,判斷需要寫入所述數(shù)據(jù)的所述固態(tài)硬盤的耦合物理頁的屬性;所述將需要寫入固態(tài)硬盤中的多個耦合物理頁的多個數(shù)據(jù)采用矩陣交叉寫入方式,分別寫入對應的所述多個耦合物理頁的步驟包括根據(jù)所述耦合物理頁的屬性確定所述數(shù)據(jù)寫入所述耦合物理頁的路徑;根據(jù)所述路徑,將所述數(shù)據(jù)寫入所述耦合物理頁;所述耦合物理頁的屬性為耦合高頁面或者耦合低頁面;所述數(shù)據(jù)寫入所述耦合高頁面的路徑與所述數(shù)據(jù)寫入所述耦合低頁面的路徑呈矩陣交叉狀。根據(jù)所述的方法,所述數(shù)據(jù)寫入所述耦合高頁面的路徑為沿水平方向?qū)懭胨鲴詈细唔撁?;所述?shù)據(jù)寫入所述耦合低頁面的路徑為與所述數(shù)據(jù)寫入所述耦合高頁面的路徑呈一定角度的路徑方向?qū)懭胨鲴詈系晚撁?;并且在所述?shù)據(jù)寫入到多個所述耦合物理頁所在的多個數(shù)據(jù)塊組成的矩陣的右下角的耦合物理頁時,返回所述矩陣的左上角的耦合物理頁繼續(xù)寫入所述數(shù)據(jù)。根據(jù)所述的方法,所述根據(jù)寫入所述固態(tài)硬盤數(shù)據(jù)的命令,判斷需要寫入所述數(shù)據(jù)的所述固態(tài)硬盤的耦合物理頁的屬性的步驟包括接收將所述數(shù)據(jù)寫入所述固態(tài)硬盤的耦合物理頁指令;根據(jù)所述指令查找所述耦合物理頁;判斷所述耦合物理頁的屬性;在所述根據(jù)所述路徑寫入所述固態(tài)硬盤數(shù)據(jù)的步驟之后包括在所述耦合低頁面發(fā)生寫入所述數(shù)據(jù)錯誤時,查找到影響所述耦合低頁面發(fā)生寫入所述數(shù)據(jù)錯誤的多個耦合頁面進行獨立冗余磁盤陣列糾錯。根據(jù)所述的方法,所述多個不同的獨立冗余磁盤陣列保護區(qū)域之間只包括一個交
為了實現(xiàn)本發(fā)明的另一發(fā)明目的,本發(fā)明還提供了一種固態(tài)硬盤,包括寫入模塊,用于將需要寫入所述固態(tài)硬盤中的多個耦合物理頁的數(shù)據(jù)采用矩陣交叉寫入方式,分別寫入對應的所述多個耦合物理頁;所述多個耦合物理頁分別屬于多個不同的獨立冗余磁盤陣列保護區(qū)域。根據(jù)所述的固態(tài)硬盤,所述固態(tài)硬盤還包括判斷模塊,用于根據(jù)寫入所述固態(tài)硬盤數(shù)據(jù)的命令,判斷需要寫入的所述固態(tài)硬盤的耦合物理頁的屬性;所述寫入模塊包括路徑確定子模塊,用于根據(jù)所述耦合物理頁的屬性確定所述數(shù)據(jù)寫入所述耦合物理頁的路徑;寫入子模塊,用于根據(jù)所述路徑,將所述數(shù)據(jù)寫入所述耦合物理頁;所述耦合物理頁的屬性為耦合高頁面或者耦合低頁面;所述數(shù)據(jù)寫入所述耦合高頁面的路徑與所述數(shù)據(jù)寫入所述耦合低頁面的路徑呈矩陣交叉狀。根據(jù)所述的固態(tài)硬盤,所述數(shù)據(jù)寫入所述耦合高頁面的路徑為沿水平方向?qū)懭胨鲴詈细唔撁?;所述?shù)據(jù)寫入所述耦合低頁面的路徑為與所述數(shù)據(jù)寫入所述耦合高頁面的路徑呈一定角度寫入所述耦合低頁面;并且在所述數(shù)據(jù)寫入到多個所述耦合物理頁所在的多個數(shù)據(jù)塊組成的矩陣的右下角的耦合物理頁時,返回所述矩陣的左上角的耦合物理頁繼續(xù)寫入所述數(shù)據(jù)。根據(jù)所述的固態(tài)硬盤,所述判斷模塊包括接收子模塊,用于接收將所述數(shù)據(jù)寫入所述固態(tài)硬盤的耦合物理頁指令;查找子模塊,用于根據(jù)所述指令查找所述耦合物理頁;判斷子模塊,用于判斷所述耦合物理頁的屬性;所述固態(tài)硬盤還包括糾錯模塊,用于在所述耦合低頁面發(fā)生寫入所述數(shù)據(jù)錯誤時,查找到影響所述耦合低頁面發(fā)生寫入所述數(shù)據(jù)錯誤的多個耦合頁面進行獨立冗余磁盤陣列糾錯。根據(jù)所述的固態(tài)硬盤,所述多個不同的獨立冗余磁盤陣列保護區(qū)域之間只包括一個交點。本發(fā)明通過將需要寫入固態(tài)硬盤中的多個耦合物理頁的數(shù)據(jù)采用矩陣交叉寫入方式,分別寫入對應的所述多個耦合物理頁;采用矩陣式交叉寫入,始終保證每條獨立冗余磁盤陣列保護集合區(qū)內(nèi)所有頁面的耦合頁都處于各自不同冗余磁盤陣列保護集合區(qū)域內(nèi)。 每個獨立冗余磁盤陣列保護區(qū)域集合內(nèi)的所有頁面的耦合頁面與所述耦合頁面所屬的所有獨立冗余磁盤陣列保護區(qū)域集合至多只有一個交點??梢詫崿F(xiàn)對固態(tài)硬盤的常見由于異常掉電而引起的多個耦合低頁面數(shù)據(jù)丟失;或者由于正常的多個頁面寫入錯誤而引起的多個耦合低頁面數(shù)據(jù)丟失的錯誤進行無代價的糾正恢復;無額外將風險,無需事先進行備份保護,且可以做到寫入固態(tài)硬盤時采用全通道最大有效帶寬,提高了寫入數(shù)據(jù)的效率,并且防止固態(tài)硬盤數(shù)據(jù)丟失,提高了固態(tài)硬盤的性能。
圖
圖
圖
圖
圖
圖
具體實施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。參見圖1,在本發(fā)明的第一實施例中提供了一種固態(tài)硬盤100,包括寫入模塊10,用于將需要寫入固態(tài)硬盤100中的多個耦合物理頁的數(shù)據(jù)采用矩陣交叉寫入方式,分別寫入對應的所述多個耦合物理頁;所述多個耦合物理頁分別屬于多個不同的獨立冗余磁盤陣列保護區(qū)域。在該實例中,固態(tài)硬盤100具有基于RAID特有的保護機制,僅通過對寫入順序做特定的矩陣式安排,即達到有效保護耦合物理頁數(shù)據(jù),保持了固態(tài)硬盤100最高有效寫帶寬。其中多個耦合物理頁的數(shù)據(jù)采用矩陣交叉寫入方式,所要保護的風險區(qū)域采用(x*x) 寫入的矩陣式。并且所述多個耦合物理頁分別屬于多個不同的獨立冗余磁盤陣列保護區(qū)域。進一步的,多個不同的獨立冗余磁盤陣列保護區(qū)域之間最多只包括一個交點。這樣, 在如相互耦合的高低頁面分屬于不同的保護區(qū)時,如果耦合低頁面的數(shù)據(jù)發(fā)生錯誤時,可以通過其他獨立冗余磁盤陣列保護區(qū)域的對應的耦合頁面實現(xiàn)數(shù)據(jù)的恢復,防止固態(tài)硬盤 100的數(shù)據(jù)丟失。參見圖2,在本發(fā)明的第二實施例中,固態(tài)硬盤100還包括判斷模塊20,用于根據(jù)寫入固態(tài)硬盤100數(shù)據(jù)的命令,判斷需要寫入所述數(shù)據(jù)的固態(tài)硬盤100的耦合物理頁的屬性;寫入模塊10包括路徑確定子模塊11,用于根據(jù)所述耦合物理頁的屬性確定所述數(shù)據(jù)寫入所述耦合物理頁的路徑;寫入子模塊12,用于根據(jù)所述路徑,將所述數(shù)據(jù)寫入所述耦合物理頁;所述耦合物理頁的屬性為耦合高頁面或者耦合低頁面;所述數(shù)據(jù)寫入所述耦合高頁面的路徑與所述數(shù)據(jù)寫入所述耦合低頁面的路徑呈矩陣交叉狀。在該實施例中,通過判斷模塊20對將要寫入數(shù)據(jù)的耦合物理頁的屬性進行判斷, 在下一步寫入數(shù)據(jù)時,可以根據(jù)不同的屬性按照不同的預定路徑寫入。例如,耦合高頁面和耦合低頁面的數(shù)據(jù)寫入路徑呈矩陣交叉狀,具體的路徑設置可以根據(jù)不同的耦合高頁面和耦合低頁面的數(shù)量和種類設定。在固態(tài)硬盤100中可以包括很多個耦合高頁面和耦合低頁面,這些頁面數(shù)據(jù)的寫入可以按照多行多列的矩陣寫入方式。參見圖3,在該實施例中,包括X個數(shù)據(jù)塊,具有X個數(shù)據(jù)寫入通道。深灰色頁面為耦合高頁面;淺灰色頁面為耦合低頁面。所述數(shù)據(jù)寫入所述耦合高頁面的路徑為沿水平方
7向?qū)懭胨鲴詈细唔撁?;所述?shù)據(jù)寫入所述耦合低頁面的路徑為與所述數(shù)據(jù)寫入所述耦合高頁面的路徑呈一定角度寫入所述耦合低頁面;所述一定角度可以為45度,具體根據(jù)耦合高頁面和耦合低頁面的總量所設置的矩陣確定。在所述數(shù)據(jù)寫入到多個所述耦合物理頁所在的多個數(shù)據(jù)塊組成的矩陣的右下角的耦合物理頁時,返回所述矩陣的左上角的耦合物理頁繼續(xù)寫入所述數(shù)據(jù)。耦合高頁面的路徑為沿水平方向?qū)懭胨鲴詈细唔撁妫鴶?shù)據(jù)寫入所述耦合低頁面的路徑為與所述數(shù)據(jù)寫入所述耦合高頁面的路徑呈一定角度寫入所述耦合低頁面;則兩者可以分屬于不同的獨立冗余磁盤陣列保護區(qū)域??梢允柜詈系晚撁嬗捎谝馔獍l(fā)生數(shù)據(jù)丟失后,數(shù)據(jù)能夠進行恢復。參見圖4,在本發(fā)明的第三實施例中,判斷模塊20包括接收子模塊21,用于接收將所述數(shù)據(jù)寫入固態(tài)硬盤100的耦合物理頁指令;查找子模塊22,用于根據(jù)所述指令查找所述耦合物理頁;判斷子模塊23,用于判斷所述耦合物理頁的屬性。在該實施例中,通過接收子模塊21接收將所述數(shù)據(jù)寫入固態(tài)硬盤100的耦合物理頁指令,然后查找子模塊22根據(jù)該指令查找需要寫入數(shù)據(jù)的所述耦合物理,判斷子模塊23 則判斷所述耦合物理頁的屬性,如屬于耦合高頁面或者耦合低頁面。固態(tài)硬盤100還包括糾錯模塊30,用于在所述耦合低頁面發(fā)生寫入所述數(shù)據(jù)錯誤時,查找到影響所述耦合低頁面發(fā)生寫入所述數(shù)據(jù)錯誤的多個耦合頁面進行獨立冗余磁盤陣列糾錯。在耦合低頁面發(fā)生寫入所述數(shù)據(jù)錯誤時,糾錯模塊30通過RAID技術(shù)進行數(shù)據(jù)恢復,保證了數(shù)據(jù)的完成性,提高了固態(tài)硬盤100寫入數(shù)據(jù)的性能。參見圖5,本發(fā)明的第四實施例提供了一種防止固態(tài)硬盤數(shù)據(jù)丟失的方法,所述方法包括如下步驟步驟S501中,寫入模塊10將需要寫入固態(tài)硬盤100中的多個耦合物理頁的多個數(shù)據(jù)采用矩陣交叉寫入的方式分別寫入對應的所述多個耦合物理頁;所述多個耦合物理頁分別屬于多個不同的獨立冗余磁盤陣列保護區(qū)域。在該實施例中,利用RAID技術(shù)為防止固態(tài)硬盤100數(shù)據(jù)丟失的基礎,僅改變數(shù)據(jù)寫入時的方式,即能很好地解決一或多個耦合物理頁,如耦合高頁面因意外掉電或者寫入錯誤所引發(fā)的一或多個耦合物理頁,如耦合低頁面數(shù)據(jù)丟失的問題。與現(xiàn)有方案相比,既不增加硬件成本及其復雜電源管理模塊,又不需要犧牲寫入帶寬,對風險區(qū)數(shù)據(jù)進行額外備份,增加寫放大。兼顧了降低成本,降低設計復雜度,保持了最高寫入性能,延長設備壽命以及有效解決了如背景技術(shù)所述的缺陷。步驟S501之前包括判斷模塊20根據(jù)寫入固態(tài)硬盤100數(shù)據(jù)的命令,判斷需要寫入所述數(shù)據(jù)的固態(tài)硬盤100的耦合物理頁的屬性;步驟S501包括路徑確定子模塊11根據(jù)所述耦合物理頁的屬性確定所述數(shù)據(jù)寫入所述耦合物理頁的路徑;所述耦合物理頁的屬性為耦合高頁面或者耦合低頁面;以及寫入子模塊12根據(jù)所述路徑,將所述數(shù)據(jù)寫入所述耦合物理頁;所述數(shù)據(jù)寫入所述耦合高頁面的路徑與所述數(shù)據(jù)寫入所述耦合低頁面的路徑呈矩陣交叉狀。在本發(fā)明的一個實施例中,寫入子模塊12寫入所述數(shù)據(jù)寫入所述耦合高頁面的路徑為沿水平方向?qū)懭胨鲴詈细唔撁?;所述?shù)據(jù)寫入所述耦合低頁面的路徑為與所述數(shù)據(jù)寫入所述耦合高頁面的路徑呈一定角度的路徑方向?qū)懭胨鲴詈系晚撁?;并且在所述?shù)據(jù)寫入到多個所述耦合物理頁所在的多個數(shù)據(jù)塊組成的矩陣的右下角的耦合物理頁時,返回所述矩陣的左上角的耦合物理頁繼續(xù)寫入所述數(shù)據(jù)。參見圖3,該圖中示出一種耦合頁面數(shù)為2的實例,深灰色頁面與淺灰色頁面互為耦合頁面。正常寫入時深灰色頁面按水平方向作為其RAID保護區(qū)。淺灰色頁面按45度斜線方向進行RAID保護。如此遇到矩陣邊際則回歸至通道I繼續(xù)沿45度向下。發(fā)生錯誤時只需依據(jù)錯誤頁,找到其影響的諸頁面,實施RAID糾錯,則可以恢復數(shù)據(jù)。在判斷模塊20根據(jù)寫入固態(tài)硬盤100數(shù)據(jù)的命令,判斷需要寫入所述數(shù)據(jù)的固態(tài)硬盤100的耦合物理頁的屬性的步驟包括接收子模塊21接收將所述數(shù)據(jù)寫入固態(tài)硬盤100的耦合物理頁指令;查找子模塊22根據(jù)所述指令查找所述耦合物理頁;判斷子模塊23判斷所述耦合物理頁的屬性。在寫入子模塊12根據(jù)所述路徑寫入固態(tài)硬盤100數(shù)據(jù)的步驟之后包括糾錯模塊30在所述耦合低頁面發(fā)生寫入所述數(shù)據(jù)錯誤時,查找到影響所述耦合低頁面發(fā)生寫入所述數(shù)據(jù)錯誤的多個耦合頁面進行獨立冗余磁盤陣列糾錯。在該實施例中,采用基于RAID方法實現(xiàn)保護固態(tài)硬盤100中任一個NAND。在當前固態(tài)硬盤業(yè)已成為主流趨勢,并隨NAND工藝的推進變成企業(yè)級產(chǎn)品的必須具備的功能。當任一 NAND顆粒發(fā)生損壞時,固態(tài)硬盤100上的數(shù)據(jù)依然可以完整如初地被恢復。參見圖6,為本發(fā)明提供的一個在發(fā)現(xiàn)數(shù)據(jù)寫入錯誤時,進行獨立冗余磁盤陣列糾錯的實施例,在該實施例中,有兩個互為耦合的頁面,其中若步驟S601中,耦合低頁面發(fā)生錯誤;步驟S602中,轉(zhuǎn)到耦合低頁面的耦合頁I ;步驟S603中,實行耦合頁I的RAID糾錯; 步驟S604中,轉(zhuǎn)到耦合低頁面的耦合頁2 ;步驟S605中,實行耦合頁2的RAID糾錯。綜上所述,本發(fā)明通過將需要寫入固態(tài)硬盤中的多個耦合物理頁的數(shù)據(jù)采用矩陣交叉寫入方式,分別寫入對應的所述多個耦合物理頁;采用矩陣式交叉寫入,始終保證每條獨立冗余磁盤陣列保護集合區(qū)內(nèi)所有頁面的耦合頁都處于各自不同冗余磁盤陣列保護集合區(qū)域內(nèi)。每個獨立冗余磁盤陣列保護區(qū)域集合內(nèi)的所有頁面的耦合頁面與所述耦合頁面所屬的所有獨立冗余磁盤陣列保護區(qū)域集合至多只有一個交點??梢詫崿F(xiàn)對固態(tài)硬盤的常見由于異常掉電而引起的多個耦合低頁面數(shù)據(jù)丟失;或者由于正常的多個頁面寫入錯誤而引起的多個耦合低頁面數(shù)據(jù)丟失的錯誤進行無代價的糾正恢復;無額外將風險,無需事先進行備份保護,且可以做到寫入固態(tài)硬盤時采用全通道最大有效帶寬,提高了寫入數(shù)據(jù)的效率,并且防止固態(tài)硬盤數(shù)據(jù)丟失,提高了固態(tài)硬盤的性能。當然,本發(fā)明還可有其它多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領域的技術(shù)人員當可根據(jù)本發(fā)明作出各種相應的改變和變形,但這些相應的改變和變形都應屬于本發(fā)明所附的權(quán)利要求的保護范圍。
權(quán)利要求
1.一種防止固態(tài)硬盤數(shù)據(jù)丟失的方法,其特征在于,所述方法包括如下步驟將需要寫入固態(tài)硬盤中的多個耦合物理頁的多個數(shù)據(jù)采用矩陣交叉寫入的方式分別寫入對應的所述多個耦合物理頁;所述多個耦合物理頁分別屬于多個不同的獨立冗余磁盤陣列保護區(qū)域。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述將需要寫入固態(tài)硬盤中的多個耦合物理頁的多個數(shù)據(jù)采用矩陣交叉寫入方式,分別寫入對應的所述多個耦合物理頁的步驟之前包括根據(jù)寫入所述固態(tài)硬盤數(shù)據(jù)的命令,判斷需要寫入所述數(shù)據(jù)的所述固態(tài)硬盤的耦合物理頁的屬性;所述將需要寫入固態(tài)硬盤中的多個耦合物理頁的多個數(shù)據(jù)采用矩陣交叉寫入方式,分別寫入對應的所述多個耦合物理頁的步驟包括根據(jù)所述耦合物理頁的屬性確定所述數(shù)據(jù)寫入所述耦合物理頁的路徑;根據(jù)所述路徑,將所述數(shù)據(jù)寫入所述耦合物理頁;所述耦合物理頁的屬性為耦合高頁面或者耦合低頁面;所述數(shù)據(jù)寫入所述耦合高頁面的路徑與所述數(shù)據(jù)寫入所述耦合低頁面的路徑呈矩陣交叉狀。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述數(shù)據(jù)寫入所述耦合高頁面的路徑為沿水平方向?qū)懭胨鲴詈细唔撁?;所述?shù)據(jù)寫入所述耦合低頁面的路徑為與所述數(shù)據(jù)寫入所述耦合高頁面的路徑呈一定角度的路徑方向?qū)懭胨鲴詈系晚撁妫徊⑶以谒鰯?shù)據(jù)寫入到多個所述耦合物理頁所在的多個數(shù)據(jù)塊組成的矩陣的右下角的耦合物理頁時,返回所述矩陣的左上角的耦合物理頁繼續(xù)寫入所述數(shù)據(jù)。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)寫入所述固態(tài)硬盤數(shù)據(jù)的命令, 判斷需要寫入所述數(shù)據(jù)的所述固態(tài)硬盤的耦合物理頁的屬性的步驟包括接收將所述數(shù)據(jù)寫入所述固態(tài)硬盤的耦合物理頁指令;根據(jù)所述指令查找所述耦合物理頁;判斷所述耦合物理頁的屬性;在所述根據(jù)所述路徑寫入所述固態(tài)硬盤數(shù)據(jù)的步驟之后包括在所述耦合低頁面發(fā)生寫入所述數(shù)據(jù)錯誤時,查找到影響所述耦合低頁面發(fā)生寫入所述數(shù)據(jù)錯誤的多個耦合頁面進行獨立冗余磁盤陣列糾錯。
5.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述多個不同的獨立冗余磁盤陣列保護區(qū)域之間只包括一個交點。
6.一種固態(tài)硬盤,其特征在于,包括寫入模塊,用于將需要寫入所述固態(tài)硬盤中的多個耦合物理頁的數(shù)據(jù)采用矩陣交叉寫入方式,分別寫入對應的所述多個耦合物理頁;所述多個耦合物理頁分別屬于多個不同的獨立冗余磁盤陣列保護區(qū)域。
7.根據(jù)權(quán)利要求6所述的固態(tài)硬盤,其特征在于,所述固態(tài)硬盤還包括判斷模塊,用于根據(jù)寫入所述固態(tài)硬盤數(shù)據(jù)的命令,判斷需要寫入的所述固態(tài)硬盤的耦合物理頁的屬性;所述寫入模塊包括路徑確定子模塊,用于根據(jù)所述耦合物理頁的屬性確定所述數(shù)據(jù)寫入所述耦合物理頁的路徑;寫入子模塊,用于根據(jù)所述路徑,將所述數(shù)據(jù)寫入所述耦合物理頁;所述耦合物理頁的屬性為耦合高頁面或者耦合低頁面;所述數(shù)據(jù)寫入所述耦合高頁面的路徑與所述數(shù)據(jù)寫入所述耦合低頁面的路徑呈矩陣交叉狀。
8.根據(jù)權(quán)利要求7所述的固態(tài)硬盤,其特征在于,所述數(shù)據(jù)寫入所述耦合高頁面的路徑為沿水平方向?qū)懭胨鲴詈细唔撁?;所述?shù)據(jù)寫入所述耦合低頁面的路徑為與所述數(shù)據(jù)寫入所述耦合高頁面的路徑呈一定角度寫入所述耦合低頁面;并且在所述數(shù)據(jù)寫入到多個所述耦合物理頁所在的多個數(shù)據(jù)塊組成的矩陣的右下角的耦合物理頁時,返回所述矩陣的左上角的耦合物理頁繼續(xù)寫入所述數(shù)據(jù)。
9.根據(jù)權(quán)利要求7所述的固態(tài)硬盤,其特征在于,所述判斷模塊包括接收子模塊,用于接收將所述數(shù)據(jù)寫入所述固態(tài)硬盤的耦合物理頁指令;查找子模塊,用于根據(jù)所述指令查找所述耦合物理頁;判斷子模塊,用于判斷所述耦合物理頁的屬性;所述固態(tài)硬盤還包括糾錯模塊,用于在所述耦合低頁面發(fā)生寫入所述數(shù)據(jù)錯誤時,查找到影響所述耦合低頁面發(fā)生寫入所述數(shù)據(jù)錯誤的多個耦合頁面進行獨立冗余磁盤陣列糾錯。
10.根據(jù)權(quán)利要求6所述的固態(tài)硬盤,其特征在于,所述多個不同的獨立冗余磁盤陣列保護區(qū)域之間只包括一個交點。
全文摘要
本發(fā)明適用于存儲技術(shù)領域,提供了一種防止固態(tài)硬盤數(shù)據(jù)丟失的方法及其固態(tài)硬盤,所述方法包括如下步驟將需要寫入固態(tài)硬盤中的多個耦合物理頁的多個數(shù)據(jù)采用矩陣交叉寫入的方式分別寫入對應的所述多個耦合物理頁;所述多個耦合物理頁分別屬于多個不同的獨立冗余磁盤陣列保護區(qū)域。借此,本發(fā)明防止了固態(tài)硬盤數(shù)據(jù)丟失,提高固態(tài)硬盤的性能。
文檔編號G06F12/16GK102609370SQ201210025358
公開日2012年7月25日 申請日期2012年2月6日 優(yōu)先權(quán)日2012年2月6日
發(fā)明者劉偉 申請人:記憶科技(深圳)有限公司