專(zhuān)利名稱(chēng):閃存介質(zhì)壞塊處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及半導(dǎo)體存儲(chǔ)器領(lǐng)域,特別涉及一種閃存介質(zhì)壞塊處理方法。
背景技術(shù):
閃存介質(zhì)作為移動(dòng)存儲(chǔ)介質(zhì)已經(jīng)越來(lái)越受到大眾的青睞,而閃存介質(zhì)是
有使用壽命的, 一般情況下,閃存介質(zhì)中的一個(gè)塊(Block)有10000次的擦 寫(xiě)壽命, 一旦到達(dá)10000次的使用壽命或者遇到質(zhì)量不好的塊,就會(huì)出現(xiàn)不穩(wěn) 定或者報(bào)錯(cuò)等問(wèn)題?,F(xiàn)有技術(shù)閃存介質(zhì)的存儲(chǔ)空間劃分為多個(gè)塊, 一個(gè)塊中 有若干個(gè)頁(yè),以頁(yè)為單位寫(xiě)入,以塊為單位擦除。
閃存介質(zhì)在寫(xiě)入時(shí)是不能中斷的,當(dāng)發(fā)現(xiàn)寫(xiě)入出錯(cuò)的頁(yè)后,將應(yīng)該寫(xiě)入 出錯(cuò)的頁(yè)上的數(shù)據(jù)保存至計(jì)算機(jī)的Ram中,并設(shè)置相應(yīng)的標(biāo)志。寫(xiě)入結(jié)束后, 閃存介質(zhì)找到 一個(gè)新塊,將出錯(cuò)的頁(yè)所在的塊上所有正確寫(xiě)入的數(shù)據(jù)連同保 存在計(jì)算機(jī)的Ram中應(yīng)該寫(xiě)入出錯(cuò)的頁(yè)上的數(shù)據(jù), 一同寫(xiě)入新塊中。如果出現(xiàn) 很多個(gè)頁(yè)出錯(cuò),就需要很多的Ram來(lái)臨時(shí)保存數(shù)據(jù),可能會(huì)消耗很多的Ram資 源,增加硬件開(kāi)銷(xiāo)。由此可見(jiàn),現(xiàn)有技術(shù)在處理閃存介質(zhì)塊出錯(cuò)的問(wèn)題上, 不但要占用計(jì)算機(jī)的Ram,而且還會(huì)嚴(yán)重影響閃存介質(zhì)的寫(xiě)入速度。
發(fā)明內(nèi)容
本發(fā)明目的在于提供一種閃存介質(zhì)壞塊處理方法,能夠在不占用硬件的 Ram資源條件下,提高閃存介質(zhì)的恢復(fù)數(shù)據(jù)的效率。
本發(fā)明提供一種閃存介質(zhì)壞塊處理方法,閃存介質(zhì)通過(guò)支持Mass Storge 協(xié)議的USB-SCSI接口與主才幾電連接,包括步驟根據(jù)USB-SCSI接口的Mass Storge協(xié)議,向主機(jī)報(bào)告SCSI層數(shù)據(jù)出錯(cuò)類(lèi)型;選擇新塊;復(fù)制壞塊上所有 數(shù)據(jù)至新塊;更新所述閃存介質(zhì)的邏輯塊與新塊的對(duì)應(yīng)關(guān)系,形成新的邏輯 對(duì)照表。
上述報(bào)告SCSI層數(shù)據(jù)出錯(cuò)類(lèi)型是向主機(jī)發(fā)送設(shè)備沒(méi)有準(zhǔn)備好的出錯(cuò)類(lèi)型。
上述所有數(shù)據(jù)包括寫(xiě)入壞塊出錯(cuò)的數(shù)據(jù)和寫(xiě)入壞塊沒(méi)有出錯(cuò)的數(shù)據(jù)。
本發(fā)明提供的閃存介質(zhì)壞塊處理方法,不占用主機(jī)的Ram資源,快速更換 新塊,提高閃存介質(zhì)的運(yùn)行速度。
圖l是本發(fā)明第 一 實(shí)施例的流程示意圖; 圖2是本發(fā)明第二實(shí)施例的流程示意圖; 圖3是本發(fā)明第三實(shí)施例的流程示意圖。
本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步 說(shuō)明。
具體實(shí)施例方式
參照?qǐng)Dl,示出本發(fā)明第一實(shí)施例的流程示意圖。本發(fā)明閃存介質(zhì)采用邏 輯塊和物理塊對(duì)其進(jìn)行管理,通過(guò)邏輯塊能夠找到物理塊(物理塊以下簡(jiǎn)稱(chēng) 塊)進(jìn)行讀寫(xiě)操作。
閃存介質(zhì)通過(guò)USB-SCSI接口 (USB小型計(jì)算機(jī)系統(tǒng)接口 )與主機(jī)電連接, 本發(fā)明USB-SCSI接口支持Mass Storge協(xié)議(批量存儲(chǔ)協(xié)議)。閃存介質(zhì)上電 寫(xiě)數(shù)據(jù),當(dāng)閃存介質(zhì)發(fā)現(xiàn)頁(yè)寫(xiě)入錯(cuò)誤時(shí),執(zhí)行步驟SIOO,向主機(jī)發(fā)送報(bào)告, 報(bào)告SCSI層數(shù)據(jù)出錯(cuò),錯(cuò)誤類(lèi)型為"設(shè)備沒(méi)有準(zhǔn)備好(DEVICE NOT READY)", 即閃存介質(zhì)中的出錯(cuò)的頁(yè)所在的塊沒(méi)有準(zhǔn)備好。
閃存介質(zhì)發(fā)送"設(shè)備沒(méi)有準(zhǔn)備好"的報(bào)告后執(zhí)行步驟S200,選擇新塊, 在閃存介質(zhì)中選擇一個(gè)沒(méi)有出錯(cuò)的新塊。
執(zhí)行步驟S300,才艮據(jù)USB-SCSI接口的Mass Storge協(xié)議,當(dāng)主機(jī)接收到閃 存介質(zhì)發(fā)送的"設(shè)備沒(méi)有準(zhǔn)備好"的錯(cuò)誤時(shí),主機(jī)重新發(fā)送應(yīng)該寫(xiě)入該塊的 數(shù)據(jù)。該數(shù)據(jù)包括寫(xiě)入壞塊出錯(cuò)的數(shù)據(jù)和寫(xiě)入壞塊沒(méi)有出錯(cuò)的數(shù)據(jù)。閃存介 質(zhì)將接收到的數(shù)據(jù)寫(xiě)入新塊中進(jìn)行保存。
接下來(lái)進(jìn)行步驟S400,新塊寫(xiě)入數(shù)據(jù)后,更新邏輯塊與新塊的對(duì)應(yīng)關(guān)系, 將新塊的物理地址與邏輯塊的邏輯地址相對(duì)應(yīng),形成邏輯對(duì)照表,使主機(jī)在 進(jìn)行讀取數(shù)據(jù)時(shí)能找到新塊的物理地址進(jìn)而找到新塊中保存的數(shù)據(jù)。
參照?qǐng)D2示出了本發(fā)明第二實(shí)施例,在對(duì)閃存介質(zhì)寫(xiě)入數(shù)據(jù)之前,先對(duì)閃 存介質(zhì)進(jìn)行擦除操作。因?yàn)殚W存介質(zhì)在出廠時(shí)或者使用 一定時(shí)期后會(huì)出現(xiàn)壞 塊,,則進(jìn)行擦除操作時(shí)會(huì)出現(xiàn)擦除錯(cuò)誤。此時(shí)閃存介質(zhì)對(duì)出錯(cuò)的塊做舍棄處 理。具體來(lái)說(shuō)包括執(zhí)行步驟SIOOO,選擇一個(gè)新塊;執(zhí)行步驟S2000,更新 邏輯塊與新塊的對(duì)應(yīng)關(guān)系,將新塊的物理地址與邏輯塊的邏輯地址相關(guān)聯(lián), 形成新的邏輯對(duì)照表,使主機(jī)能溝通過(guò)邏輯塊的邏輯地址能找到新塊的物理 地址。施例,閃存介質(zhì)出現(xiàn)讀取出錯(cuò),由于塊出現(xiàn)
錯(cuò)誤,數(shù)據(jù)無(wú)法修復(fù),此時(shí)閃存介質(zhì)執(zhí)行步驟S10000,選擇一個(gè)新塊;執(zhí)行 步驟S20000,復(fù)制出錯(cuò)的塊上的數(shù)據(jù)至新塊,舍棄出錯(cuò)的塊,用新塊代替出 錯(cuò)的塊;執(zhí)行步驟S30000,更新邏輯塊與新塊的對(duì)應(yīng)關(guān)系,將新塊的物理地 址與邏輯塊的邏輯地址相關(guān)聯(lián),形成新的邏輯對(duì)照表,使主機(jī)能夠通過(guò)邏輯 塊的邏輯地址找到新塊的物理地址,進(jìn)而讀fc新塊上保存的數(shù)據(jù)。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專(zhuān)利范圍, 凡是利用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接 或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專(zhuān)利保護(hù)范圍內(nèi)。
權(quán)利要求
1. 一種閃存介質(zhì)壞塊處理方法,閃存介質(zhì)通過(guò)支持Mass Storge協(xié)議的USB-SCSI接口與主機(jī)電連接,包括步驟根據(jù)USB-SCSI接口的Mass Storge協(xié)議,向主機(jī)報(bào)告SCSI層數(shù)據(jù)出錯(cuò)類(lèi)型;選擇新塊;復(fù)制壞塊上所有數(shù)據(jù)至新塊;更新所述閃存介質(zhì)的邏輯塊與新塊的對(duì)應(yīng)關(guān)系,形成新的邏輯對(duì)照表。
2. 根據(jù)權(quán)利要求l所述的閃存介質(zhì)壞塊處理方法,其特征在于,所述報(bào) 告SCS I層數(shù)據(jù)出錯(cuò)類(lèi)型是向主機(jī)發(fā)送設(shè)備沒(méi)有準(zhǔn)備好的出錯(cuò)類(lèi)型。
3. 根據(jù)權(quán)利要求l所述的閃存介質(zhì)壞塊處理方法,其特征在于,所述所 有數(shù)據(jù)包括寫(xiě)入壞塊出錯(cuò)的數(shù)據(jù)和寫(xiě)入壞塊沒(méi)有出錯(cuò)的數(shù)據(jù)。
全文摘要
本發(fā)明提供閃存介質(zhì)壞塊處理方法,閃存介質(zhì)通過(guò)支持Mass Storge協(xié)議的USB-SCSI接口與主機(jī)電連接,包括步驟根據(jù)USB-SCSI接口的Mass Storge協(xié)議,向主機(jī)報(bào)告SCSI層數(shù)據(jù)出錯(cuò)類(lèi)型;選擇新塊;復(fù)制壞塊上所有數(shù)據(jù)至新塊;更新所述閃存介質(zhì)的邏輯塊與新塊的對(duì)應(yīng)關(guān)系,形成新的邏輯對(duì)照表。本發(fā)明閃存介質(zhì)壞塊處理方法,不占用主機(jī)的Ram資源,能夠提高閃存介質(zhì)的運(yùn)行速度。
文檔編號(hào)G06F3/06GK101441552SQ200710187839
公開(kāi)日2009年5月27日 申請(qǐng)日期2007年11月19日 優(yōu)先權(quán)日2007年11月19日
發(fā)明者萬(wàn)紅波 申請(qǐng)人:深圳市朗科科技股份有限公司