一種存儲設備壞塊的處理方法、裝置及存儲設備的制造方法
【技術領域】
[0001]本發明涉及通信終端領域,尤其涉及一種存儲設備壞塊的處理方法、裝置及存儲設備。
【背景技術】
[0002]隨著網絡通信技術的發展,對存儲設備存儲性能的要求也越來也高。比如存儲設備SSD(英文全稱為:Solid State Device/Solid State Drive,中文全稱為:固態硬盤)的存儲性能通過其生命周期內的1PS (英文全稱為:Input/output Operat1ns Per Second,中文全稱為:每秒進行讀寫操作的次數)穩定性體現,1PS越穩定則SSD的存儲性能越好,即用戶使用SSD的體驗也越好。現有技術通過超供技術來提高SSD生命周期內的1PS穩定性。
[0003]超供技術包括:將SSD中的一部分空間,用于存儲用戶數據,即用戶數據區;另一部分空間作為超供空間,該超供空間是用戶不可見的存儲空間,用于為用戶數據提供緩存空間,SSD中超供空間的存在能夠改善SSD性能、10(英文全稱為:Input output,中文全稱為:輸入輸出)一致性,并且能夠提高SSD壽命。存儲設備的超供空間的大小與放大系數成反比,而放大系數反映的是存儲設備穩態特性,放大系數越大說明1PS穩定性越差,所以超供空間的大小直接決定了 SSD的存儲性能。
[0004]但是通過上述超供技術的使用,只能在SSD使用初期獲得較高的1PS穩定性,而在SSD整個生命周期內隨著時間的推移,該SSD的用戶數據區內的壞塊會不斷增加,通過超供技術在保持隨存儲用戶數據的空間不變的同時,用超供空間中的塊來替換用戶數據區的壞塊,并將用戶數據區的壞塊隔離,這就必將導致SSD的超供空間減少,與之對應的放大系數增大,從而1PS穩定性降低。所以使用超供技術,隨著時間的推移同樣存在1PS穩定性惡化的問題。
【發明內容】
[0005]本發明的實施例提供一種存儲設備壞塊的處理方法、裝置及存儲設備,用于解決存儲設備的使用過程中,1PS穩定性差的問題。
[0006]第一方面,本發明的實施例提供一種存儲設備壞塊的處理方法,所述方法應用于存儲設備,所述存儲設備配置有:用戶數據區、超供區、預留區,所述用戶數據區用于存儲用戶數據,所述超供區用于為所述用戶數據提供緩存,所述預留區包括預留塊;
[0007]所述方法包括:
[0008]當所述用戶數據區出現壞塊時,
[0009]檢測所述壞塊的壞塊類型,所述壞塊類型包括:讀寫壞塊和擦失敗壞塊;在所述預留區中為所述壞塊申請替換預留塊,所述替換預留塊與所述壞塊大小相同;
[0010]按照所述壞塊的壞塊類型,用所述替換預留塊替換所述壞塊。
[0011]結合第一方面,在第一方面的第一種可能實現方式中,當所述壞塊的壞塊類型為所述讀寫壞塊時,所述用所述替換預留塊替換所述壞塊包括:
[0012]將所述壞塊中的數據寫入所述替換預留塊,并將所述替換預留塊的標記修改為所述壞塊的標記;
[0013]將所述壞塊的標記修改為隔離標記。
[0014]結合第一方面、第一方面的第一種可能實現方式,在第一方面的第二種可能實現方式中,所述壞塊為存儲有效數據的健康塊,所述壞塊的標記為健康標記,所述健康標記用于表示所述壞塊的健康等級,所述健康塊為所述存儲設備中塊類型的一種。
[0015]結合第一方面,在第一方面的第三種可能實現方式中,當所述壞塊的壞塊類型為所述擦失敗壞塊時,所述用所述替換預留塊替換所述壞塊包括:
[0016]將所述替換預留塊的標記修改為空白標記;
[0017]將所述壞塊的標記修改為隔離標記。
[0018]結合第一方面、第一方面的第三種可能實現方式,在第一方面的第四種可能實現方式中,所述壞塊為待回收塊。
[0019]結合第一方面、第一方面的第一種可能實現方式、第一方面的第二種可能實現方式、第一方面的第三種可能實現方式、第一方面的第四種可能實現方式中的任意一種或幾種,在第一方面的第五種可能實現方式中,所述超供區在所述存儲設備使用中保持存儲空間不變,所述預留區根據所述存儲設備在使用中產生的壞塊數量決定存儲空間。
[0020]第二方面,本發明的實施例提供一種存儲設備壞塊的處理裝置,所述裝置應用于存儲設備,所述存儲設備配置有:用戶數據區、超供區、預留區,所述用戶數據區用于存儲用戶數據,所述超供區用于為所述用戶數據提供緩存,所述預留區包括預留塊;
[0021]所述裝置包括:
[0022]檢測單元,用于當所述用戶數據區出現壞塊時,檢測所述壞塊的壞塊類型,所述壞塊類型包括:讀寫壞塊和擦失敗壞塊;
[0023]申請單元,用于在所述預留區中為所述壞塊申請替換預留塊,所述替換預留塊與所述壞塊大小相同;
[0024]替換單元,用于按照所述檢測單元檢測出的所述壞塊的壞塊類型,用所述申請單元申請到的所述替換預留塊替換所述壞塊。
[0025]結合第二方面,在第二方面的第一種可能實現方式中,當所述檢測單元檢測到所述壞塊所屬的壞塊類型為所述讀寫壞塊時,所述替換單元包括:
[0026]數據寫入模塊,用于將所述壞塊中的數據寫入所述替換預留塊;
[0027]第一修改模塊,用于修改申請到的所述替換預留塊的標記為所述壞塊的標記;還用于將所述壞塊的標記替換為所述隔離標記。
[0028]結合第二方面、第二方面的第一種可能實現方式,在第二方面的第二種可能實現方式中,所述壞塊為存儲有效數據的健康塊,所述壞塊的標記為健康標記,所述健康標記用于表示所述壞塊的健康等級,所述健康塊為所述存儲設備中塊類型的一種。
[0029]結合第二方面,在第二方面的第三種可能實現方式中,當所述檢測單元檢測到所述壞塊所屬的壞塊類型為所述擦失敗壞塊時,所述替換單元包括:
[0030]第二修改模塊,用于將申請到的所述替換預留塊的標記修改為空白標記;還用于將所述壞塊的標記修改為所述隔離標記。
[0031]結合第二方面、第二方面的第三種可能實現方式,在第二方面的第四種可能實現方式中,所述壞塊為待回收塊。
[0032]結合第二方面、第二方面的第一種可能實現方式、第二方面的第二種可能實現方式、第二方面的第三種可能實現方式、第二方面的第四種可能實現方式中的任意一種或幾種,在第二方面的第五種可能實現方式中,所述超供區在所述存儲設備使用中保持存儲空間不變,所述預留區根據所述存儲設備在使用中產生的壞塊數量決定存儲空間。
[0033]第三方面,本發明的實施例提供一種存儲設備,所述存儲設備包括存儲器和處理器,所述存儲器中配置有:用戶數據區、超供區、預留區,所述用戶數據區用于存儲用戶數據,所述超供區用于為所述用戶數據提供緩存,所述預留區包括預留塊;
[0034]所述處理器,用于與所述存儲器耦合,用于控制程序指令的執行,具體用于當所述用戶數據區出現壞塊時,檢測所述壞塊的壞塊類型;在所述預留區中為所述壞塊申請替換預留塊;按照所述壞塊的壞塊類型,用所述替換預留塊替換所述壞塊;
[0035]所述壞塊類型包括:讀寫壞塊和擦失敗壞塊,所述替換預留塊與所述壞塊大小相同。
[0036]結合第三方面,在第三方面的第一種可能實現方式中,所述處理器還用于,當所述壞塊的壞塊類型為所述讀寫壞塊時,將所述壞塊中的數據寫入所述替換預留塊,并將所述替換預留塊的標記修改為所述壞塊的標記;將所述壞塊的標記修改為隔離標記。
[0037]結合第三方面、第三方面的第一種可能實現方式,在第三方面的第二種可能實現方式中,所述壞塊為存儲有效數據的健康塊,所述壞塊的標記為健康標記,所述健康標記用于表示所述壞塊的健康等級,所述健康塊為所述存儲設備中塊類型的一種。
[0038]結合第三方面、第三方面的第一種可能實現方式、第三方面的第二種可能實現方式,在第三方面的第三種可能實現方式中,所述處理器還用于,所述處理器還用于,當所述壞塊的壞塊類型為所述擦失敗壞塊時,