一種NAND flash的訪問方法和裝置制造方法
【專利摘要】本發(fā)明提供了一種NAND flash的訪問方法和裝置。所述方法包括:描所述NAND flash中的壞塊,并記錄所述NAND flash中壞塊的地址;接收對所述NAND flash的操作,將所述操作所訪問的所述NAND flash中數據存儲塊的地址與記錄的壞塊的地址進行匹配;若記錄的壞塊的地址中包含所述操作所訪問的存儲塊的地址,則返回表示所述操作所訪問的存儲塊為壞塊的信息。本發(fā)明可以避免NAND flash使用中出現壞塊標志被擦掉,造成寫操作的混亂和不穩(wěn)定的問題。
【專利說明】—種NAND flash的訪問方法和裝置
【技術領域】
[0001]本發(fā)明涉及存儲【技術領域】,特別是涉及一種NAND flash的訪問方法和裝置。
【背景技術】
[0002]根據實現的技術架構的不同,閃存芯片可以分為NOR flash,NAND flash和DINORflash等幾種類型。相比于其他幾種類型的閃存,NAND flash能提供極高的單元密度,可以達到高存儲密度,并且寫入和擦除的速度也很快,因此,它是實現大容量數據存儲器的理想數據存儲介質。
[0003]由于制造工藝和成本原因,任何廠家的NAND flash在出廠時就含有壞塊(即無效塊,invalid block),因此,NAND flash在出廠時需要對壞塊進行標記,標記方法有多種,例如,將壞塊第一個頁(page)的空閑區(qū)域(spare area)的第6個byte標記為不等于Oxff的值,又如,將整頁的值都標記為O。
[0004]當用戶訪問NAND flash,對一個塊做寫操作之前,通過判斷塊的第6個byte是否為Oxff,如果是就證明不是壞塊,可以對塊進行先擦除再寫入數據,反之,若是壞塊就不能執(zhí)行寫操作。由此可見,NAND flash在使用上存在著風險,傳統(tǒng)設計中的壞塊標志在做擦寫操作時都可以改變的,萬一誤操作,將壞塊標志擦掉,壞塊標志將不復存在,寫入的信息可能丟失,造成寫操作的混亂和不穩(wěn)定。
【發(fā)明內容】
[0005]本發(fā)明提供一種NAND flash的訪問方法和一種NAND flash的訪問裝置,以避免NAND flash使用中出現壞塊標志被擦掉,造成寫操作的混亂和不穩(wěn)定的問題。
[0006]本發(fā)明提供了一種NAND flash的訪問方法,包括:
[0007]掃描所述NAND flash中的壞塊,并記錄所述NAND flash中壞塊的地址;
[0008]接收對所述NAND flash的操作,將所述操作所訪問的所述NAND flash中數據存儲塊的地址與記錄的壞塊的地址進行匹配;
[0009]若記錄的壞塊的地址中包含所述操作所訪問的存儲塊的地址,則返回表示所述操作所訪問的存儲塊為壞塊的信息。
[0010]優(yōu)選地,所述掃描所述NAND flash中的壞塊的步驟包括:
[0011]掃描所述NAND flash中所包含的各個數據存儲塊,找出第一個頁的空閑區(qū)域的第6個比特標記為預設值的數據存儲塊作為壞塊。
[0012]優(yōu)選地,所述記錄所述NAND flash中壞塊的地址的步驟包括:
[0013]將所述NAND flash中壞塊的地址保存到預置的壞塊地址表中;
[0014]將所述壞塊地址表固化到所述NAND flash的存儲陣列中。
[0015]優(yōu)選地,所述方法還包括:
[0016]在所述NAND flash的存儲陣列中讀取所述壞塊地址表,并存放在所述NAND flash的寄存器中;
[0017]所述將所述操作所訪問所述NAND flash的存儲塊的地址與記錄的壞塊的地址進行匹配的步驟包括:
[0018]讀取保存在所述NAND flash的寄存器中的壞塊地址表;
[0019]將所述操作所訪問的所述NAND flash的存儲塊的地址與所述壞塊地址表中壞塊的地址進行匹配。
[0020]優(yōu)選地,所述返回表示所述操作所訪問的存儲塊為壞塊的信息的步驟包括:
[0021]若所述操作為寫操作,則不執(zhí)行所述寫操作,并返回寫操作失敗的標志作為表示所述操作所訪問的存儲塊為壞塊的信息;
[0022]若所述操作為讀操作,則不執(zhí)行所述寫操作,將所述NAND flash緩存中的值修改為預設值,讀取并返回所述緩存中的預設值作為表示所述操作所訪問的存儲塊為壞塊的信肩、O
[0023]優(yōu)選地,所述預設值為不等于Oxff的值。
[0024]本發(fā)明還提供了一種NAND flash的訪問裝置,包括:
[0025]壞塊掃描模塊,用于掃描所述NAND flash中的壞塊;
[0026]地址記錄模塊,用于記錄所述NAND flash中壞塊的地址;
[0027]操作接收模塊,用于接收對所述NAND flash的操作;
[0028]地址匹配模塊,用于將所述操作所訪問的所述NAND flash中數據存儲塊的地址與記錄的壞塊的地址進行匹配;
[0029]信息返回模塊,用于若記錄的壞塊的地址中包含所述操作所訪問的存儲塊的地址,則返回表示所述操作所訪問的存儲塊為壞塊的信息。
[0030]優(yōu)選地,所述壞塊掃描模塊包括:
[0031]壞塊查找子模塊,用于掃描所述NAND flash中所包含的各個數據存儲塊,找出第一個頁的空閑區(qū)域的第6個比特標記為預設值的數據存儲塊作為壞塊。
[0032]優(yōu)選地,所述地址記錄模塊包括:
[0033]地址保存子模塊,用于將所述NAND flash中壞塊的地址保存到預置的壞塊地址表中;
[0034]地址固化子模塊,用于將所述壞塊地址表固化到所述NAND flash的存儲陣列中。
[0035]優(yōu)選地,所述裝置還包括:
[0036]地址表存放模塊,用于在所述NAND flash的存儲陣列中讀取所述壞塊地址表,并存放在所述NAND flash的寄存器中;
[0037]所述地址匹配模塊包括:
[0038]地址表讀取子模塊,用于讀取保存在所述NAND flash的寄存器中的壞塊地址表;
[0039]地址表匹配子模塊,用于將所述操作所訪問的所述NAND flash的存儲塊的地址與所述壞塊地址表中壞塊的地址進行匹配。
[0040]優(yōu)選地,所述信息返回模塊包括:
[0041]寫操作信息返回子模塊,用于若所述操作為寫操作,則不執(zhí)行所述寫操作,并返回寫操作失敗的標志作為表示所述操作所訪問的存儲塊為壞塊的信息;
[0042]讀操作信息返回子模塊,用于若所述操作為讀操作,則不執(zhí)行所述寫操作,將所述NAND flash緩存中的值修改為預設值,讀取并返回所述緩存中的預設值作為表示所述操作所訪問的存儲塊為壞塊的信息。
[0043]優(yōu)選地,所述預設值為不等于Oxff的值。
[0044]與現有技術相比,本發(fā)明包括以下優(yōu)點:
[0045]依據本發(fā)明實施例,預先記錄NAND flash中壞塊的地址,在對NAND flash進行操作時,通過將操作的地址與記錄的壞塊的地址進行匹配確定為針對壞塊的操作后,返回壞塊的提示,從而可以避免現有技術中對訪問的塊進行判斷,可能存在誤操作將壞塊標志擦掉,造成寫操作的混亂和不穩(wěn)定的問題,并且可以不啟動內部讀寫電路,節(jié)省了功耗,又減少了 NAND flash內部busy的時間。
【專利附圖】
【附圖說明】
[0046]圖1是本發(fā)明實施例一所述的一種NAND flash的訪問方法的流程圖;
[0047]圖2是本發(fā)明實施例二所述的一種NAND flash的訪問方法的流程圖;
[0048]圖3是本發(fā)明實施例一所述的一種NAND flash的訪問裝置的結構框圖;
[0049]圖4是本發(fā)明實施例二所述的一種NAND flash的訪問裝置的結構框圖;
[0050]圖5是本發(fā)明實施例中對NAND flash進行掃描的流程圖;
[0051]圖6是本發(fā)明實施例中對NAND flash進行讀操作的流程圖。
【具體實施方式】
[0052]為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結合附圖和【具體實施方式】對本發(fā)明作進一步詳細的說明。
[0053]參考圖1,示出了本發(fā)明的一種NAND flash的訪問方法實施例1的流程圖,具體可以包括以下步驟:
[0054]步驟101、掃描所述NAND flash中的壞塊,并記錄所述NAND flash中壞塊的地址。
[0055]一個NAND flash由很多個塊(Block)組成,每個塊里面又包含了很多頁(Page)。本發(fā)明實施例中,首先對NAND flash中所包含的各個塊進行掃描,找出其中的壞塊,并記錄下壞塊的地址。
[0056]本發(fā)明實施例中,所述掃描所述NAND flash中的壞塊的步驟可以包括:
[0057]子步驟S11、掃描所述NAND flash中所包含的各個數據存儲塊,找出第一個頁的空閑區(qū)域的第6個比特標記為預設值的數據存儲塊作為壞塊。
[0058]NAND flash每個塊中所包含的頁,每一頁包含兩個區(qū):main (主)區(qū)和spare (空閑)區(qū),main區(qū)用于存儲正常的數據,spare區(qū)用于存儲其他附加信息,如塊好壞的標記、塊的邏輯地址、頁內數據的ECC校驗等。不同廠家的NAND flash標記壞塊的方式不同,例如,當采用將NAND flash的壞塊的第一個頁的空閑區(qū)的第6個比特標記為一個特定的預設值的方式時,可以在對NAND flash中的各個塊(即各個數據存儲塊)進行掃描時,若判斷該塊的第一個頁的空閑區(qū)域的第6個比特為預設值,則可以確定該塊為壞塊。在具體的實現中,所述預設值可以為不等于Oxff的值。在具體的實現中,針對不同的標記壞塊的方式,可以按照相應的方法找出壞塊。
[0059]步驟102、接收對所述NAND flash的操作,將所述操作所訪問的所述NAND flash中數據存儲塊的地址與記錄的壞塊的地址進行匹配。
[0060]預先記錄了 NAND flash中各個壞塊的地址后,在接收到對NAND flash的操作時,在執(zhí)行操作前,先將該操作所訪問的NAND flash中塊的地址與預先記錄的地址進行匹配,即在記錄的壞塊的地址中查找是否有該操作所訪問的地址。
[0061]對所述NAND flash的操作包括讀操作和寫操作,對NAND flash數據的寫入,是需要用電去擦除/寫入的,因此,寫操作也即是編程操作。由于NAND flash以頁為單位進行讀寫,以塊為單位進行擦除。因此,對NAND flash的讀操作的地址為NAND flash的頁的地址,對NAND flash的寫操作的地址為NAND flash的塊的地址。在將對NAND flash的操作的地址與預先記錄的壞塊地址進行匹配時,若為寫操作,則將寫操作的塊地址與壞塊的地址進行匹配,若為讀操作,則將讀操作的頁地址所屬的塊地址與壞塊的地址進行匹配。
[0062]步驟103、若記錄的壞塊的地址中包含所述操作所訪問的存儲塊的地址,則返回表示所述操作所訪問的存儲塊為壞塊的信息。
[0063]本發(fā)明實施例中,若記錄的壞塊的地址中不包含所述操作所訪問的存儲塊的地址,則直接執(zhí)行該操作。若確定對NAND flash的操作的地址為壞塊的地址,不執(zhí)行該操作,而是返回表示所訪問的存儲塊為壞塊的信息,從而可以避免現有技術中對訪問的塊進行判斷,可能存在誤操作將壞塊標志擦掉,造成寫操作的混亂和不穩(wěn)定的問題。
[0064]具體而言,所述返回表示所述操作所訪問的存儲塊為壞塊的信息的步驟包括:
[0065]子步驟S21、若所述操作為寫操作,則不執(zhí)行所述寫操作,并返回寫操作失敗的標志作為表示所述操作所訪問的存儲塊為壞塊的信息;
[0066]子步驟S22、若所述操作為讀操作,則不執(zhí)行所述寫操作,將所述NAND flash緩存中的值修改為預設值,讀取并返回所述緩存中的預設值作為表示所述操作所訪問的存儲塊為壞塊的信息。
[0067]本發(fā)明實施例中,當所述操作為寫操作時,若訪問的地址與某個壞塊地址匹配,此時不去做真正的寫操作,而直接返回寫失敗標志,從而不需要啟動內部寫操作電路。當所述操作為讀操作時,由于讀操作沒有相應的失敗標志,需要通過臨時在緩存寫入一個值,讀取該值并返回,具體而言,若訪問的地址與某個壞塊地址匹配,不做內部真正的讀操作,而是將NAND flash的緩存(cache)的值直接清成預設值,這樣用戶讀取頁內部標記的壞塊標記位置處的數據時,得到的只是緩存內的值,不需要啟動內部的讀電路,即節(jié)省了功耗,又減少了內部busy的時間。
[0068]參考圖2,示出了本發(fā)明的一種NAND flash的訪問方法實施例2的流程圖,具體可以包括以下步驟:
[0069]步驟201、掃描所述NAND flash中的壞塊。
[0070]步驟202、將所述NAND flash中壞塊的地址保存到預置的壞塊地址表中。
[0071]步驟203、將所述壞塊地址表固化到所述NAND flash的存儲陣列中。
[0072]與上個實施例不同的是,本實施例中,在掃描NAND flash中的壞塊后,可以將壞塊的地址保存到預置的一個壞塊地址表中,并進一步對壞塊地址表進行保存,優(yōu)選地,可以將壞塊地址表固化到所述NAND flash的存儲陣列(NAND array)中。
[0073]步驟204、在所述NAND flash的存儲陣列中讀取所述壞塊地址表,并存放在所述NAND flash的寄存器中。
[0074]由于每顆芯片的壞塊位置和壞塊個數差別比較大,故出廠后在用戶使用過程中需要動態(tài)匹配地址,所以每次芯片上電后必須將壞塊地址讀出。相應的,本實施例中,可以在執(zhí)行操作前,讀取NAND flash的存儲陣列中的壞塊地址表,在優(yōu)選的實施例中,可以將壞塊地址表存放到寄存器中,以避免操作的時候從存儲陣列中“多次的讀取”會存在損壞存儲陣列的可能。
[0075]步驟205、接收對所述NAND flash的操作。
[0076]步驟206、讀取保存在所述NAND flash的寄存器中的壞塊地址表。
[0077]本實施例中,在接收到對NAND flash的操作后,在寄存器中讀取壞塊地址表,需要說明的是,在具體的實現中,在所述NAND flash的存儲陣列中讀取所述壞塊地址表的步驟可以在接收到對NAND flash的操作之后讀取,也可以在接收到對NAND flash的操作之前讀取,也可以在NAND flash每次上電后讀取出來,在接收對所述NAND flash的操作直接使用,本發(fā)明對此并不做限制。
[0078]步驟207、將所述操作所訪問的所述NAND flash的存儲塊的地址與所述壞塊地址表中壞塊的地址進行匹配。
[0079]步驟208、若記錄的壞塊的地址中包含所述操作所訪問的存儲塊的地址,則返回表示所述操作所訪問的存儲塊為壞塊的信息。
[0080]為使本領域技術人員更好的理解本發(fā)明,以下給出本發(fā)明實施例NAND flash的訪問的具體流程:
[0081]如圖5給出了本發(fā)明實施例中對NAND flash進行掃描的流程圖,可以按照NANDflash所包含的塊的順序,一個個進行掃描,針對每個塊進行判斷,若是壞塊,則將該塊的地址進行保存,若不是壞塊,則繼續(xù)掃描下一個塊,直至各個塊均掃描過后,壞塊掃描結束。
[0082]如圖6給出了本發(fā)明實施例中對NAND flash進行讀操作的流程圖。
[0083]在NAND flash上電后讀取預存的壞塊地址,并在接收到對NAND flash的讀操作后,將讀操作所訪問的NAND flash的塊地址與預存的壞塊地址進行匹配,若是,即在預存的壞塊地址中找到讀操作所訪問的地址,則將NANDflash的cache清為預設值(例如不等于Oxff的值),再讀取該預設值返回,若否,即在預存的壞塊地址中未找到讀操作所訪問的地址,則直接按照讀操作所訪問的地址讀取相應的數據并返回。
[0084]綜上,依據本發(fā)明實施例,預先記錄NAND flash中壞塊的地址,在對NAND flash進行操作時,通過將操作的地址與記錄的壞塊的地址進行匹配確定為針對壞塊的操作后,返回壞塊的提示,從而可以避免現有技術中對訪問的塊進行判斷,可能存在誤操作將壞塊標志擦掉,造成寫操作的混亂和不穩(wěn)定的問題,并且可以不啟動內部讀寫電路,節(jié)省了功耗,又減少了 NAND flash內部busy的時間。
[0085]對于方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據本發(fā)明,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
[0086]參考圖3,示出了本發(fā)明的一種NAND flash的訪問裝置實施例1的結構框圖,該裝置可以包括以下模塊:
[0087]壞塊掃描模塊301,用于掃描所述NAND flash中的壞塊;
[0088]地址記錄模塊302,用于記錄所述NAND flash中壞塊的地址;
[0089]操作接收模塊303,用于接收對所述NAND flash的操作;
[0090]地址匹配模塊304,用于將所述操作所訪問的所述NAND flash中數據存儲塊的地址與記錄的壞塊的地址進行匹配;
[0091]信息返回模塊305,用于若記錄的壞塊的地址中包含所述操作所訪問的存儲塊的地址,則返回表示所述操作所訪問的存儲塊為壞塊的信息。
[0092]本發(fā)明實施例中,所述壞塊掃描模塊可以包括:
[0093]壞塊查找子模塊,用于掃描所述NAND flash中所包含的各個數據存儲塊,找出第一個頁的空閑區(qū)域的第6個比特標記為預設值的數據存儲塊作為壞塊。
[0094]本發(fā)明實施例中,所述信息返回模塊可以包括:
[0095]寫操作信息返回子模塊,用于若所述操作為寫操作,則不執(zhí)行所述寫操作,并返回寫操作失敗的標志作為表示所述操作所訪問的存儲塊為壞塊的信息;
[0096]讀操作信息返回子模塊,用于若所述操作為讀操作,則不執(zhí)行所述寫操作,將所述NAND flash緩存中的值修改為預設值,讀取并返回所述緩存中的預設值作為表示所述操作所訪問的存儲塊為壞塊的信息。
[0097]本發(fā)明實施例中,所述預設值可以為不等于Oxff的值。
[0098]依據本發(fā)明實施例,預先記錄NAND flash中壞塊的地址,在對NAND flash進行操作時,通過將操作的地址與記錄的壞塊的地址進行匹配確定為針對壞塊的操作后,返回壞塊的提示,從而可以避免現有技術中對訪問的塊進行判斷,可能存在誤操作將壞塊標志擦掉,造成寫操作的混亂和不穩(wěn)定的問題,并且可以不啟動內部讀寫電路,節(jié)省了功耗,又減少了 NAND flash內部busy的時間。
[0099]參考圖4,示出了本發(fā)明的一種NAND flash的訪問裝置實施例2的結構框圖,該裝置可以包括以下模塊:
[0100]壞塊掃描模塊401,用于掃描所述NAND flash中的壞塊;
[0101]地址記錄模塊402,用于記錄所述NAND flash中壞塊的地址;
[0102]操作接收模塊403,用于接收對所述NAND flash的操作;
[0103]地址匹配模塊404,用于將所述操作所訪問的所述NAND flash中數據存儲塊的地址與記錄的壞塊的地址進行匹配;
[0104]信息返回模塊405,用于若記錄的壞塊的地址中包含所述操作所訪問的存儲塊的地址,則返回表示所述操作所訪問的存儲塊為壞塊的信息。
[0105]與上個實施例不同的是,本實施例中,所述地址記錄模塊402可以包括:
[0106]地址保存子模塊4021,用于將所述NAND flash中壞塊的地址保存到預置的壞塊地址表中;
[0107]地址固化子模塊4022,用于將所述壞塊地址表固化到所述NAND flash的存儲陣列中。
[0108]與上個實施例不同的是,本實施例中,所述裝置還包括:
[0109]地址表存放模塊406,用于在所述NAND flash的存儲陣列中讀取所述壞塊地址表,并存放在所述NAND flash的寄存器中。
[0110]相應的,所述地址匹配模塊404進一步包括:
[0111]地址表讀取子模塊4041,用于讀取保存在所述NAND flash的寄存器中的壞塊地址表;
[0112]地址表匹配子模塊4042,用于將所述操作所訪問的所述NAND flash的存儲塊的地址與所述壞塊地址表中壞塊的地址進行匹配。
[0113]依據本發(fā)明實施例,預先記錄NAND flash中壞塊的地址,在對NAND flash進行操作時,通過將操作的地址與記錄的壞塊的地址進行匹配確定為針對壞塊的操作后,返回壞塊的提示,從而可以避免現有技術中對訪問的塊進行判斷,可能存在誤操作將壞塊標志擦掉,造成寫操作的混亂和不穩(wěn)定的問題,并且可以不啟動內部讀寫電路,節(jié)省了功耗,又減少了 NAND flash內部busy的時間。
[0114]由于裝置實施例基本相應于前述圖1-2所示的方法實施例,故本實施例的描述中未詳盡之處,可以參見前述實施例中的相關說明,在此就不贅述了。
[0115]本發(fā)明可用于眾多通用或專用的計算系統(tǒng)環(huán)境或配置中。例如:個人計算機、服務器計算機、手持設備或便攜式設備、平板型設備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、置頂盒、可編程的消費電子設備、網絡PC、小型計算機、大型計算機、包括以上任何系統(tǒng)或設備的分布式計算環(huán)境等等。
[0116]本發(fā)明可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務或實現特定抽象數據類型的例程、程序、對象、組件、數據結構等等。也可以在分布式計算環(huán)境中實踐本發(fā)明,在這些分布式計算環(huán)境中,由通過通信網絡而被連接的遠程處理設備來執(zhí)行任務。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設備在內的本地和遠程計算機存儲介質中。
[0117]在本文中,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括要素的過程、方法、物品或者設備中還存在另外的相同要素。
[0118]以上對本發(fā)明所提供的一種NAND flash的訪問方法,以及,一種NAND flash的訪問裝置進行了詳細介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發(fā)明的思想,在【具體實施方式】及應用范圍上均會有改變之處,綜上,本說明書內容不應理解為對本發(fā)明的限制。
【權利要求】
1.一種NAND flash的訪問方法,其特征在于,包括: 掃描所述NAND flash中的壞塊,并記錄所述NAND flash中壞塊的地址; 接收對所述NAND flash的操作,將所述操作所訪問的所述NAND flash中數據存儲塊的地址與記錄的壞塊的地址進行匹配; 若記錄的壞塊的地址中包含所述操作所訪問的存儲塊的地址,則返回表示所述操作所訪問的存儲塊為壞塊的信息。
2.根據權利要求1所述的方法,其特征在于,所述掃描所述NANDflash中的壞塊的步驟包括: 掃描所述NAND flash中所包含的各個數據存儲塊,找出第一個頁的空閑區(qū)域的第6個比特標記為預設值的數據存儲塊作為壞塊。
3.根據權利要求1所述的方法,其特征在于,所述記錄所述NANDflash中壞塊的地址的步驟包括: 將所述NAND flash中壞塊的地址保存到預置的壞塊地址表中; 將所述壞塊地址表固化到所述NAND flash的存儲陣列中。
4.根據權利要求3所述的方法,其特征在于,還包括: 在所述NAND flash的存儲陣列中讀取所述壞塊地址表,并存放在所述NAND flash的寄存器中; 所述將所述操作所訪問所述NAND flash的存儲塊的地址與記錄的壞塊的地址進行匹配的步驟包括: 讀取保存在所述NAND flash的寄存器中的壞塊地址表; 將所述操作所訪問的所述NAND flash的存儲塊的地址與所述壞塊地址表中壞塊的地址進行匹配。
5.根據權利要求1所述的方法,其特征在于,所述返回表示所述操作所訪問的存儲塊為壞塊的信息的步驟包括: 若所述操作為寫操作,則不執(zhí)行所述寫操作,并返回寫操作失敗的標志作為表示所述操作所訪問的存儲塊為壞塊的信息; 若所述操作為讀操作,則不執(zhí)行所述寫操作,將所述NAND flash緩存中的值修改為預設值,讀取并返回所述緩存中的預設值作為表示所述操作所訪問的存儲塊為壞塊的信息。
6.根據權利要求4或5所述的方法,其特征在于,所述預設值為不等于OxfT的值。
7.一種NAND flash的訪問裝置,其特征在于,包括: 壞塊掃描模塊,用于掃描所述NAND flash中的壞塊; 地址記錄模塊,用于記錄所述NAND flash中壞塊的地址; 操作接收模塊,用于接收對所述NAND flash的操作; 地址匹配模塊,用于將所述操作所訪問的所述NAND flash中數據存儲塊的地址與記錄的壞塊的地址進行匹配; 信息返回模塊,用于若記錄的壞塊的地址中包含所述操作所訪問的存儲塊的地址,則返回表示所述操作所訪問的存儲塊為壞塊的信息。
8.根據權利要求7所述的裝置,其特征在于,所述壞塊掃描模塊包括: 壞塊查找子模塊,用于掃描所述NAND flash中所包含的各個數據存儲塊,找出第一個頁的空閑區(qū)域的第6個比特標記為預設值的數據存儲塊作為壞塊。
9.根據權利要求7所述的裝置,其特征在于,所述地址記錄模塊包括: 地址保存子模塊,用于將所述NAND flash中壞塊的地址保存到預置的壞塊地址表中; 地址固化子模塊,用于將所述壞塊地址表固化到所述NAND flash的存儲陣列中。
10.根據權利要求9所述的裝置,其特征在于,還包括: 地址表存放模塊,用于在所述NAND flash的存儲陣列中讀取所述壞塊地址表,并存放在所述NAND flash的寄存器中; 所述地址匹配模塊包括: 地址表讀取子模塊,用于讀取保存在所述NAND flash的寄存器中的壞塊地址表; 地址表匹配子模塊,用于將所述操作所訪問的所述NAND flash的存儲塊的地址與所述壞塊地址表中壞塊的地址進行匹配。
11.根據權利要求7所述的裝置,其特征在于,所述信息返回模塊包括: 寫操作信息返回子模塊,用于若所述操作為寫操作,則不執(zhí)行所述寫操作,并返回寫操作失敗的標志作為表示所述操作所訪問的存儲塊為壞塊的信息; 讀操作信息返回子模塊,用于若所述操作為讀操作,則不執(zhí)行所述寫操作,將所述NANDflash緩存中的值修改為預設值,讀取并返回所述緩存中的預設值作為表示所述操作所訪問的存儲塊為壞塊的信息。
12.根據權利要求10或11所述的裝置,其特征在于,所述預設值為不等于OxfT的值。
【文檔編號】G06F12/02GK104461750SQ201310451851
【公開日】2015年3月25日 申請日期:2013年9月25日 優(yōu)先權日:2013年9月25日
【發(fā)明者】蘇志強, 劉會娟 申請人:北京兆易創(chuàng)新科技股份有限公司