專利名稱:用于將數(shù)據(jù)寫入快閃存儲設(shè)備的半導(dǎo)體存儲器的裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種包括快閃存儲設(shè)備的半導(dǎo)體存儲器的裝置。特別是,本發(fā) 明涉及一種用于將數(shù)據(jù)寫入該快閃存儲設(shè)備的方法。
背景技術(shù):
信息處理設(shè)備以及近年來的家用電器(例如,電視機(jī)和電冰箱)包括CPU, 并且通過軟件來實(shí)現(xiàn)高級操作控制。這些設(shè)備將用于該操作控制和參數(shù)的(固 件)程序存儲在ROM中。包括快閃存儲設(shè)備的半導(dǎo)體存儲器裝置被普遍用作 這些ROM。此外,這些半導(dǎo)體存儲器裝置被普遍用于諸如筆記本計算機(jī)、個 人數(shù)字助理(PDA)、數(shù)碼相機(jī)、便攜式音頻播放機(jī)和蜂窩電話等便攜式信息 處理設(shè)備(移動設(shè)備)中,作為外部的小型記錄介質(zhì)(比如存儲卡)。尤其針 對這些用途,這些半導(dǎo)體存儲器裝置需要具備大容量、小尺寸??扉W存儲設(shè)備的存儲區(qū)通常被分成多頁,每頁具有固定數(shù)量的存儲單元。 逐頁地執(zhí)行數(shù)據(jù)的寫入和讀取。該存儲區(qū)被進(jìn)一步分成多個塊,每個塊具有固 定數(shù)量的這些頁。在這些塊中的每個塊中共同執(zhí)行數(shù)據(jù)擦除。相應(yīng)地,與RAM 對比,從嚴(yán)格意義上講,無法在該快閃存儲設(shè)備中執(zhí)行數(shù)據(jù)的逐頁重寫。例如,如下所述,常規(guī)半導(dǎo)體存儲器裝置實(shí)現(xiàn)被存儲在快閃存儲設(shè)備的一 些頁中的數(shù)據(jù)的更新(以下被稱作"頁的更新"),以及將新的數(shù)據(jù)寫到空白 頁上(以下被稱作"頁的增加")。圖9展示了通過該常規(guī)半導(dǎo)體存儲器裝 置,來更新或增加快閃存儲器1的一個塊中的頁。 該常規(guī)半導(dǎo)體存儲器裝置包括快閃存儲器1和兩個RAM:保存緩沖器20 和頁緩沖器2??扉W存儲器1被分成一個以上的塊BO、 Bl......。將物理地址分配給這些塊B0、 Bl......中的每個塊。這些塊中的每個塊包括32頁。例如,頭塊(或第一個塊)B0包括頁P(yáng)0、 Pl......和P31,第(n+l)個塊Bn (n》1)包括頁Q0、 Ql......和Q31。這個塊中的頁由該塊的物理地址和該塊中的頁號這一對數(shù)據(jù)來加以識別。例如,這些頁號是從其頂頁開始順次安置在這個塊的 各頁上的序號0-31。保存緩沖器20和頁緩沖器2每個都具備實(shí)質(zhì)上與快閃存 儲器1的一頁的存儲容量相等的存儲容量。主機(jī)將邏輯地址發(fā)送到該半導(dǎo)體存儲器裝置,該邏輯地址指定寫目標(biāo)頁和 將要被寫入的數(shù)據(jù)對象。該半導(dǎo)體存儲器裝置將這些數(shù)據(jù)對象DN存儲在頁緩 沖器2中。另一方面,該半導(dǎo)體存儲器裝置從該邏輯地址中識別快閃存儲器1 中的對應(yīng)的頁。例如,當(dāng)該邏輯地址指定頭塊B0的第(p+l)頁P(yáng)p (0《p《 31)時,該半導(dǎo)體存儲器裝置將該邏輯地址轉(zhuǎn)換成頭塊B0的物理地址和第(p+l) 頁P(yáng)p的頁號p這一對數(shù)據(jù)。該物理地址被識別為作為數(shù)據(jù)傳送源的塊(以下 被稱作"源塊")的物理地址。然后,在快閃存儲器l中,該半導(dǎo)體存儲器裝 置選擇其中還沒有寫入數(shù)據(jù)的一個塊(以下被稱作"空白塊")。例如,該半 導(dǎo)體存儲器裝置選擇作為該空白塊的第(n+l)個塊Bn。第(n+l)個塊Bn的 物理地址被識別為塊的物理地址,源塊B0中所存儲的數(shù)據(jù)被傳送到該塊(以 下被稱作"目的塊")。如下所述,該常規(guī)半導(dǎo)體存儲器裝置將被存儲在源塊B0中的數(shù)據(jù)項(xiàng)傳送 到目的塊Bn。首先,將源塊BO的頂頁P(yáng)O的數(shù)據(jù)項(xiàng)DO讀入保存緩沖器20 (見 圖9中所示的箭頭R0)。接下來,將保存緩沖器20的數(shù)據(jù)項(xiàng)DO寫到目的塊 Bn的頂頁QO上(見圖9中所示的箭頭W0)。然后,將源塊B0的第二頁P(yáng)l 的數(shù)據(jù)項(xiàng)D1讀入保存緩沖器20 (見圖9中所示的箭頭R1)。隨后,將保存緩 沖器20的數(shù)據(jù)項(xiàng)Dl寫到目的塊Bn的第二頁Ql上(見圖9中所示的箭頭Wl )。 將經(jīng)由保存緩沖器20的這種數(shù)據(jù)傳送重復(fù)與該寫目標(biāo)頁(源塊BO的第(p+l) 頁P(yáng)p)的頁號p相同的次數(shù)(p次)。當(dāng)源塊BO的寫目標(biāo)頁(第(p+l)頁) Pp被設(shè)置為數(shù)據(jù)讀取的源頁時,該半導(dǎo)體存儲器裝置為該頁跳過對保存緩沖器 20的數(shù)據(jù)傳送。而將將要被寫入的數(shù)據(jù)對象DN (被存儲在頁緩沖器2中)寫 到目的塊Bn的第(p+l)頁Qp上(見圖9中所示的箭頭Wp)。再次從與源 塊BO的寫目標(biāo)頁P(yáng)p (第(p+2)頁)鄰接的頁開始,重復(fù)經(jīng)由保存緩沖器20 的數(shù)據(jù)傳送。將源塊BO的底頁P(yáng)31的數(shù)據(jù)項(xiàng)D31經(jīng)由保存緩沖器20寫到目的 塊Bn的底頁Q31上(見圖9中所示的箭頭R31和W31)。該半導(dǎo)體存儲器裝 置使對應(yīng)于源塊BO的物理地址的邏輯地址與目的塊Bn的物理地址相一致。與 源塊BO對比,在目的塊Bn中重寫具有頁號p的第(p+l)頁P(yáng)p上的數(shù)據(jù)項(xiàng)。 這樣,該常規(guī)半導(dǎo)體存儲器裝置為快閃存儲器1的一個塊實(shí)現(xiàn)頁的更新和增加。 要求半導(dǎo)體存儲器裝置盡可能地具備大容量和小尺寸。但是,要改進(jìn)這些 快閃存儲設(shè)備的組裝密度并不容易。相應(yīng)地,需要減小除這些快閃存儲設(shè)備以 外的電路部分的尺寸。例如,當(dāng)許多功能部件每個都包括公用電路部件時,這 些公用部件將被并入單一部分。由此,需要減少這些公用部件的數(shù)量。更需要 減小這些半導(dǎo)體存儲器裝置的尺寸,因?yàn)檫@可通過縮減芯片區(qū)來降低生產(chǎn)成 本。如上所述,該常規(guī)半導(dǎo)體存儲器裝置具有兩個RAM—一保存緩沖器和頁 緩沖器。這些RAM共享共同的性質(zhì)_—被用作緩沖存儲器,并具有實(shí)質(zhì)上與 該快閃存儲設(shè)備的一頁的存儲容量相同的存儲容量。相應(yīng)地,強(qiáng)烈需要將該保 存緩沖器和該頁緩沖器集成為一個RAM。但是,如上所述,在該常規(guī)半導(dǎo)體 存儲器裝置所執(zhí)行的頁的更新的過程中,該頁緩沖器必須保存將要被寫入的數(shù) 據(jù)對象,直到該寫目標(biāo)頁被設(shè)置為保存目標(biāo)為止。所以,該頁緩沖器要加倍作 為該保存緩沖器是很困難的。發(fā)明內(nèi)容本發(fā)明的目的是提供一種半導(dǎo)體存儲器裝置,其中,通過將該保存緩沖 器和該頁緩沖器集成為單一RAM,來減小RAM的尺寸,從而實(shí)現(xiàn)小型化。 根據(jù)本發(fā)明的半導(dǎo)體存儲器裝置包括(A) 快閃存儲設(shè)備,它包括一個以上的塊(其中的每個塊包括不止一頁) 和頁偏移量存儲區(qū),這每個塊的頁偏移量被存儲在該頁偏移量存儲區(qū)內(nèi),并且 數(shù)據(jù)是從該空白塊的頂頁開始順次寫入空白塊,(B) 頁緩沖器,其中暫時存儲實(shí)質(zhì)上與這些頁中的一頁的數(shù)據(jù)存儲容量 相同的數(shù)據(jù)量; (C) 地址轉(zhuǎn)換裝置,用于從主機(jī)接收規(guī)定寫目標(biāo)頁的邏輯地址,并用于 將該邏輯地址轉(zhuǎn)換成該寫目標(biāo)頁所屬的塊(以下被稱作"源塊")的物理地址 和該寫目標(biāo)頁的邏輯頁號這一對數(shù)據(jù);以及,(D) 存儲控制裝置,用于(a)讀取該源塊的物理地址和該寫目標(biāo)頁的邏 輯頁號,(b)將這些空白塊之一選作目的塊,(c)根據(jù)該寫目標(biāo)頁的邏輯頁 號來確定該目的塊的頁偏移量,并且,將該頁偏移量寫入該頁偏移量存儲區(qū), 作為該目的塊的頁偏移量,(d)從該頁偏移量存儲區(qū)讀取該源塊的頁偏移量,(e)根據(jù)該源塊的頁偏移量和該寫目標(biāo)頁的邏輯頁號來獲得該寫目標(biāo)頁的物理 頁號,(f)從目的塊的頂頁開始順次將將要被寫入的數(shù)據(jù)對象(從該主機(jī)被傳 送到該頁緩沖器)寫入該目的塊,(g)根據(jù)這些數(shù)據(jù)對象的頁數(shù)和該寫目標(biāo) 頁的物理頁號來獲得該源塊的傳送起始頁的物理頁號,以及(h)經(jīng)由該頁緩 沖器,將該源塊中所存儲的數(shù)據(jù)從該傳送起始頁順序地、循環(huán)地傳送到其中寫 入該數(shù)據(jù)對象的目的塊的頁區(qū)大一頁或后面的頁。這些邏輯頁號是由該主機(jī)分配給該快閃存儲設(shè)備中的各頁的序號。這些物 理頁號是從該頂頁開始順次置于該快閃存儲設(shè)備中的每個塊的各頁上的序號。 塊的頁偏移量意味著這個塊中的邏輯頁順序?qū)ξ锢眄擁樞虻难h(huán)偏離。這個塊 的頁偏移量較佳地等同于這個塊的頂頁的邏輯頁號。根據(jù)本發(fā)明的以上所描述 的半導(dǎo)體存儲器裝置將各個塊的頁偏移量存儲在該快閃存儲設(shè)備中。這里,除 了這些頁偏移量本身以外,實(shí)際存儲的數(shù)據(jù)項(xiàng)可能是特定頁的邏輯頁號。這些 頁偏移量存儲區(qū)較佳的是這各個塊的頂頁的冗余區(qū)。該頁的冗余區(qū)是可獨(dú)立于 該頁的數(shù)據(jù)區(qū)來加以存取的存儲區(qū)。例如,對應(yīng)于該頁的邏輯地址、示出該頁 是否是空白頁的標(biāo)記、示出啟用/禁止使用被寫到該頁上的數(shù)據(jù)(換言之,允許 /禁止該主機(jī)對該頁的存取)的標(biāo)記,以及該數(shù)據(jù)的差錯檢測碼(例如,CRC) 被存儲在該頁的冗余區(qū)中。除了該快閃存儲設(shè)備中的頁偏移量存儲區(qū)以外,還 可能將關(guān)于這些頁偏移量的存儲空間分配給與以上所描述的快閃存儲設(shè)備分 開的非易失存儲器(以下被稱作"頁偏移量存儲裝置")。例如,該頁偏移量 存儲裝置被包括在該存儲器控制裝置中。該頁緩沖器是RAM,最好是SRAM。 將要被寫入的數(shù)據(jù)對象的頁數(shù)意味著用該快閃存儲設(shè)備中的每一頁的數(shù)據(jù)存 儲容量這個單位表達(dá)的數(shù)據(jù)對象的數(shù)量。這些數(shù)據(jù)對象的頁數(shù)等同于其中寫入
這些數(shù)據(jù)對象的目的塊的頁區(qū)的頁數(shù)。在根據(jù)本發(fā)明的以上所描述的半導(dǎo)體存儲器裝置中,該快閃存儲設(shè)備中的 各頁的邏輯頁號可能從這各個塊中的、采用循環(huán)方式的各頁的物理頁號平移形 成。根據(jù)該頁的邏輯頁號和該頁所屬的塊的頁偏移量來計算每頁的物理頁號。 當(dāng)從該主機(jī)接收關(guān)于更新一些頁或在塊中增加新的頁的指令時,根據(jù)本發(fā)明的 以上所描述的半導(dǎo)體存儲器裝置首先將將要被寫入的數(shù)據(jù)對象(從該主機(jī)被傳 送到該頁緩沖器)從目的塊的頂頁開始順次寫入該目的塊。由此,在關(guān)于該源 塊的保存過程開始之前,該頁緩沖器得到釋放。相應(yīng)地,根據(jù)本發(fā)明的以上所 描述的半導(dǎo)體存儲器裝置可以在保存該源塊的時候,將該頁緩沖器用作保存緩 沖器。結(jié)果,根據(jù)本發(fā)明的以上所描述的半導(dǎo)體存儲器裝置所擁有的RAM的尺寸小于常規(guī)裝置的RAM的尺寸。所以,當(dāng)這些快閃存儲設(shè)備的尺寸固定時, 根據(jù)本發(fā)明的以上所描述的半導(dǎo)體存儲器裝置的整體尺寸小于該常規(guī)裝置的 整體尺寸。根據(jù)本發(fā)明的以上所描述的半導(dǎo)體存儲器裝置還可以包括(a)主機(jī)接口,用于接收從該主機(jī)那里被發(fā)出的該寫目標(biāo)頁和該數(shù)據(jù)對象的邏輯地址;以及(b)地址轉(zhuǎn)換表格存儲裝置,用于存儲表現(xiàn)關(guān)于該快閃存儲設(shè)備中的每個塊的邏輯地址與物理地址之間的對應(yīng)性的邏輯/物理地址轉(zhuǎn)換表格,以及用于示 出這些塊中的每個塊是否是該空白塊的標(biāo)記;并且,當(dāng)該頁數(shù)達(dá)到預(yù)定數(shù)量時,或者當(dāng)該主機(jī)通知該數(shù)據(jù)對象的發(fā)送結(jié)束時,以上所描述的存儲器控制裝置可 以計算這些數(shù)據(jù)對象的頁數(shù),并可以開始從該源塊到該目的塊的數(shù)據(jù)傳輸。這 里,該地址轉(zhuǎn)換表格存儲器裝置最好是RAM。該邏輯/物理地址轉(zhuǎn)換表格表現(xiàn) 了被分配給該快閃存儲設(shè)備中的每個塊的邏輯地址與該塊的物理地址之間的 對應(yīng)性。由于該主機(jī)接口不受該存儲器控制裝置的支配,因此,獨(dú)立于該快閃存儲 設(shè)備中的數(shù)據(jù)寫入/讀取來執(zhí)行該主機(jī)與該半導(dǎo)體存儲器裝置之間的數(shù)據(jù)通信。 由此,例如,縮短了用于將數(shù)據(jù)寫入該快閃存儲設(shè)備的該主機(jī)的等待延遲時間。例如,該地址轉(zhuǎn)換裝置掃描該快閃存儲設(shè)備中的各頁的冗余區(qū)。由此,列 出該快閃存儲設(shè)備中的各個塊的邏輯地址。這樣,該地址轉(zhuǎn)換裝置創(chuàng)建了該邏 輯/物理地址轉(zhuǎn)換表格,并且將該表格存入該地址轉(zhuǎn)換表格存儲裝置。當(dāng)將該寫目標(biāo)頁的邏輯地址轉(zhuǎn)換成該源塊的物理地址和該寫目標(biāo)頁的邏輯頁號這一對 數(shù)據(jù)時,該地址轉(zhuǎn)換裝置參考該邏輯/物理地址轉(zhuǎn)換表格。由此,該裝置可以迅 速檢索對應(yīng)于該邏輯地址的物理地址。該地址轉(zhuǎn)換裝置根據(jù)被存儲在這些掃描過的冗余區(qū)中的數(shù)據(jù)項(xiàng),來進(jìn)一步 檢驗(yàn)每個塊是否是空白塊。由此,該裝置確定關(guān)于這各個塊的以上所描述的標(biāo) 記,并且將這些標(biāo)記存入該地址轉(zhuǎn)換表格存儲裝置。當(dāng)將這些空白塊之一選作目的塊時,該存儲控制裝置參考這些以上所描述的標(biāo)記。由此,該裝置可以迅 速確定該目的塊。例如,當(dāng)將要被寫入的數(shù)據(jù)對象(該主機(jī)將它們存儲在該頁緩沖器中)從 該頁緩沖器傳送到該目的塊時,該存儲控制裝置計算該傳送次數(shù)。該主機(jī)可以 (例如)使用預(yù)定命令來通知該半導(dǎo)體存儲器裝置這些數(shù)據(jù)對象的發(fā)送結(jié)束。 在那種情況下,該存儲器控制裝置可以在接收該通知時,從以上所描述的傳送 次數(shù)中檢測到這些數(shù)據(jù)對象的頁數(shù)。同時,該存儲器控制裝置開始從該源塊到 該目的塊的數(shù)據(jù)傳送。作為選擇,該主機(jī)可以在發(fā)送這些數(shù)據(jù)對象之前,將這 些數(shù)據(jù)對象的頁數(shù)通知給該半導(dǎo)體存儲器裝置。在那種情況下,當(dāng)以上所描述 的傳送次數(shù)達(dá)到所通知的頁數(shù)時,該存儲控制部件開始從該源塊到該目的塊的 數(shù)據(jù)傳送。一種將數(shù)據(jù)寫入快閃存儲設(shè)備的方法,該方法將數(shù)據(jù)寫入包括一個以上的 塊(其中的每個塊包括不止一頁)的快閃存儲設(shè)備,并從空白塊的頂頁開始順 次將數(shù)據(jù)寫入該空白塊;該方法包括以下步驟(A) 從主機(jī)接收規(guī)定寫目標(biāo)頁的邏輯地址;(B) 將該邏輯地址轉(zhuǎn)換成源塊的物理地址和該寫目標(biāo)頁的邏輯頁號這一 對數(shù)據(jù);(C) 將這些空白塊之一選作目的塊;(D) 根據(jù)該寫目標(biāo)頁的邏輯頁號來確定該目的塊的頁偏移量,并且,將 該頁偏移量寫入該快閃存儲設(shè)備中的頁偏移量存儲區(qū),作為該目的塊的頁偏移(E) 從該頁偏移量存儲區(qū)讀取該源塊的頁偏移量;(F) 根據(jù)該源塊的頁偏移量和該寫目標(biāo)頁的邏輯頁號,來確定該寫目標(biāo) 頁的物理頁號;(G) 從目標(biāo)塊的頂頁開始順次將將要被寫入的數(shù)據(jù)對象(從該主機(jī)被傳 送到頁緩沖器)寫入該目的塊;以及,(H) 根據(jù)這些數(shù)據(jù)對象的頁數(shù)和該寫目標(biāo)頁的物理頁號來獲得該源塊的 傳送起始頁的物理頁號,并且,經(jīng)由該頁緩沖器,將被存儲在該源塊中的數(shù)據(jù) 從該傳送起始頁順序地、循環(huán)地傳送到其中寫入該數(shù)據(jù)對象的目的塊的頁下一 頁或后面的頁。這里,用類似于以上所描述的方式的一種方式來定義該邏輯頁 號、該物理頁號、該塊的頁偏移量、該頁偏移量存儲區(qū)(或該頁偏移量存儲裝 置)、該頁緩沖器和將要被寫入的數(shù)據(jù)對象的頁數(shù)。在根據(jù)本發(fā)明來寫入數(shù)據(jù)的以上所描述的方法中,該快閃存儲設(shè)備中的各 頁的邏輯頁號可以從這各個塊中的、采用循環(huán)方式的各頁的物理頁號平移形 成。根據(jù)該頁的邏輯頁號和該頁所屬的這個塊的頁偏移量,來計算每頁的物理 頁號。當(dāng)該主機(jī)提供關(guān)于更新一些頁或在塊中增加新的頁的指令時,將要被寫 入的數(shù)據(jù)對象(從該主機(jī)被傳送到該頁緩沖器)首先從目的塊的頂頁開始順次 被寫入該目的塊。由此,在對于該源塊的保存過程開始之前,該頁緩沖器得到 釋放。相應(yīng)地,在保存該源塊的時候,該頁緩沖器可以加倍作為保存緩沖器。 結(jié)果,用于寫入數(shù)據(jù)的上述方法中所要求的RAM尺寸小于該常規(guī)方法的RAM 尺寸。所以,當(dāng)這些快閃存儲設(shè)備的尺寸固定時,半導(dǎo)體存儲器裝置的整體尺 寸小于該常規(guī)裝置的整體尺寸。根據(jù)本發(fā)明來寫入數(shù)據(jù)的方法還可以包括這個步驟當(dāng)該頁數(shù)達(dá)到預(yù)定數(shù) 量時,或者當(dāng)該主機(jī)通知該數(shù)據(jù)對象的發(fā)送結(jié)束時,計算該目的塊(這些數(shù)據(jù) 對象被寫入其中)的頁區(qū)的頁數(shù),并且開始從該源塊到該目的塊的數(shù)據(jù)傳輸。 例如,每當(dāng)該數(shù)據(jù)對象從該頁緩沖器被傳送到該目的塊時,計算該傳送次數(shù)。 該主機(jī)可以(例如)使用預(yù)定命令來通知該半導(dǎo)體存儲器裝置該數(shù)據(jù)對象的 發(fā)送結(jié)束。在那種情況下,在接收該通知時,從以上所描述的該傳送次數(shù)中可 檢測到以上所描述的頁區(qū)的頁數(shù)。此外,在該通知的時候,開始從該源塊到該 目的塊的數(shù)據(jù)傳送。作為選擇,該主機(jī)可以在發(fā)送這些數(shù)據(jù)對象之前,將這些 數(shù)據(jù)對象的頁數(shù)通知給該半導(dǎo)體存儲器裝置。在那種情況下,當(dāng)以上所描述的
該傳送次數(shù)達(dá)到所通知的頁數(shù)時,開始從該源塊到該目的塊的數(shù)據(jù)傳送。在根據(jù)本發(fā)明的以上所描述的半導(dǎo)體存儲器裝置及其寫入數(shù)據(jù)的方法中, 在關(guān)于該源塊的保存過程開始之前,該頁緩沖器得到釋放。相應(yīng)地,在該保存 過程中,該頁緩沖器可以加倍作為保存緩沖器使用。結(jié)果,以上所描述的半導(dǎo)體存儲器裝置所擁有的RAM的尺寸小于常規(guī)裝置的RAM的尺寸。所以,當(dāng) 這些快閃存儲設(shè)備的尺寸固定時,根據(jù)本發(fā)明的以上所描述的半導(dǎo)體存儲器裝 置的整體尺寸小于該常規(guī)裝置的整體尺寸。由于該芯片區(qū)特別小,因此,與這 些常規(guī)裝置的生產(chǎn)成本比較,根據(jù)本發(fā)明的以上所描述的半導(dǎo)體存儲器裝置的 生產(chǎn)成本降得更低。所附權(quán)利要求書中特別陳述了本發(fā)明的新穎的特點(diǎn),但通過以下結(jié)合附圖 的詳細(xì)說明,將會在組織和內(nèi)容方面更好地理解和認(rèn)識本發(fā)明及其其他目標(biāo)和 特點(diǎn)。附圖簡述
圖1是框圖,表現(xiàn)了根據(jù)本發(fā)明的實(shí)施例的半導(dǎo)體存儲器裝置10;圖2是示意圖,表現(xiàn)了根據(jù)本發(fā)明的這個實(shí)施例的快閃存儲器1中的單元 陣列的結(jié)構(gòu)的輪廓;圖3是關(guān)于根據(jù)本發(fā)明的這個實(shí)施例的半導(dǎo)體存儲器裝置10的說明,表 示了存儲器控制器6為將要被寫入的數(shù)據(jù)對象DN8-DN12從主機(jī)H被傳送到頁 緩沖器2而執(zhí)行的、從頁緩沖器2到快閃存儲器1的傳送過程;圖4是關(guān)于根據(jù)本發(fā)明的這個實(shí)施例的半導(dǎo)體存儲器裝置10的說明,表 示了存儲器控制器6在圖3中所示的數(shù)據(jù)傳送過程之后所執(zhí)行的從源塊B0到 目的塊Bn的數(shù)據(jù)傳送過程的前半部分;圖5是關(guān)于根據(jù)本發(fā)明的這個實(shí)施例的半導(dǎo)體存儲器裝置10的說明,表 示了存儲器控制器6在圖3中所示的數(shù)據(jù)傳送過程之后所執(zhí)行的從源塊B0到 目的塊Bn的數(shù)據(jù)傳送過程的后半部分;圖6是由根據(jù)本發(fā)明的這個實(shí)施例的半導(dǎo)體存儲器裝置10來寫入數(shù)據(jù)的 方法的流程圖;塊Bn的傳送(步驟7)的流程圖,它關(guān)于由根據(jù)本發(fā)明的這個實(shí)施例的半導(dǎo)體存儲器裝置IO來寫入數(shù)據(jù)的方法;圖8是從源塊B0到目的塊Bn的數(shù)據(jù)傳送(步驟S8)的流程圖,它關(guān)于 由根據(jù)本發(fā)明的這個實(shí)施例的半導(dǎo)體存儲器裝置IO來寫入數(shù)據(jù)的方法;圖9展示了由常規(guī)半導(dǎo)體存儲器裝置在快閃存儲器1的一個塊中更新或增 加頁。將會認(rèn)識到,部分或所有這些附圖是用于說明的示意表示,并且不一定描 繪所示元件的實(shí)際的相對尺寸或位置。本發(fā)明的最佳執(zhí)行模式下文參考這些附圖描述了本發(fā)明的最佳實(shí)施例。圖1是框圖,表示了根據(jù)本發(fā)明的這個實(shí)施例的半導(dǎo)體存儲器裝置10。半 導(dǎo)體存儲器裝置10通過外部總線7與主機(jī)H連接。這里,例如,主機(jī)H是信 息處理設(shè)備(例如,個人計算機(jī))或移動設(shè)備(例如,PDA和便攜式電話)。 可以在外部或內(nèi)部為主機(jī)H提供半導(dǎo)體存儲器裝置10??扉W存儲器1較佳地是NAND類型的EEPROM(電可擦除可編程ROM)。 圖2是示意圖,表現(xiàn)了快閃存儲器1中的單元陣列的結(jié)構(gòu)的輪廓。該單元陣列 許多的塊B0、 BK B2......的一個群集例如,每個塊包括32頁。例如,頭塊B0包括32頁P(yáng)0-P31。其他的塊B1、 B2......相似。在快閃存儲器l中,只能在逐塊的基礎(chǔ)上全體擦除數(shù)據(jù)項(xiàng)。每頁包括(512+16)列X8個存儲單元的二 維排列。這里,這8個存儲單元用該NAND類型的形式來加以連接,組成一列。 另外,這些存儲單元的512個列組成數(shù)據(jù)區(qū)DA,這些存儲單元的剩余的16個 列組成冗余區(qū)RA。在快閃存儲器1中,逐頁地執(zhí)行數(shù)據(jù)寫入和讀取。這里, 數(shù)據(jù)區(qū)DA和冗余區(qū)RA被獨(dú)立加以存取。例如, 一個存儲單元存儲一個比特 的數(shù)據(jù)。然后,這些存儲單元的一個列存儲8個比特=1個字節(jié)。在該NAND 類型的EEPROM中,這些存儲單元的一個列中所存儲的數(shù)據(jù)項(xiàng)每次作為一個 字來加以發(fā)送或接收。如從以上所描述的結(jié)構(gòu)中所計算的,該單元陣列的數(shù)據(jù) 區(qū)DA具有每一頁512個字節(jié)的存儲容量,或每一塊有512個字節(jié)X32 = 16千 字節(jié)。冗余區(qū)RA存儲該冗余區(qū)所屬的頁的數(shù)據(jù)區(qū)DA中所存儲的數(shù)據(jù)項(xiàng)的各
種屬性。例如,該冗余區(qū)包括與該冗余區(qū)所屬的頁相對應(yīng)的邏輯地址、示出該 頁是否空白的標(biāo)記、示出是否啟用或禁止使用被寫在該頁上的數(shù)據(jù)項(xiàng)(換言之, 允許或禁止由該主機(jī)進(jìn)行存取)的標(biāo)記,以及/或者這些數(shù)據(jù)項(xiàng)的差錯檢測碼(例 如,CRC)。當(dāng)一個塊尺寸或更大尺寸的數(shù)據(jù)流被存入快閃存儲器1時,這些數(shù)據(jù)流從該空白塊的頂頁開始順次被分成各頁,并被寫入這各個頁的數(shù)據(jù)區(qū)DA。特別 是,每個塊中的邏輯頁順序可能按循環(huán)方式從該塊中的物理頁順序平移形成, 如下所述在圖2中,例如,頭塊BO的頂頁(第一頁)PO、第二頁P(yáng)1......第30頁P(yáng)29、第31頁P(yáng)30和最后一頁(第32頁)P31分別存儲數(shù)據(jù)項(xiàng)D2、 D3......D31、 D0和D1。這里,表現(xiàn)頭塊BO的各頁的參考符號P旁邊的數(shù)值指出這各個頁的物理頁號。另外,表現(xiàn)頁P(yáng)0-P31中所存儲的數(shù)據(jù)項(xiàng)的參考符號 D旁邊的數(shù)值指出這各個頁的邏輯頁號。然后,頭塊BO的頁P(yáng)0-P31的每個邏 輯頁號從該物理頁號平移常數(shù)"2"而形成。這些邏輯頁順序與這些物理頁順序之間的循環(huán)偏離通常在各個塊之中有 所變化。塊的這種循環(huán)偏離被稱作"該塊的頁偏移量"。塊的頁偏移量等同于 該塊的頂頁的邏輯頁號。在快閃存儲器l中,這些頁偏移量由這各個塊的頁偏 移量存儲區(qū)中所包括和所存儲的0與31之間的整數(shù)來表示。這里,該頁偏移 量存儲區(qū)是(例如)每個塊的第一頁的冗余區(qū)RA。在圖2中,頭塊BO的頁偏 移量"2"被存儲在頂頁P(yáng)O的冗余區(qū)RA中。此外,該頁偏移量可能被存儲在 除該頂頁以外的各頁之一的冗余區(qū)RA中。在那種情況下,所存儲的數(shù)據(jù)項(xiàng)可 能是該頁的邏輯頁號,而不是該頁偏移量本身。半導(dǎo)體存儲器裝置10可以從 該頁的邏輯頁號與物理頁號之間的偏離中來計算該頁偏移量。主機(jī)接口 3 (見圖1)在外部總線7與內(nèi)部總線8之間轉(zhuǎn)運(yùn)數(shù)據(jù),并且在 半導(dǎo)體存儲器裝置10中的各個功能裝置與主機(jī)H之間實(shí)現(xiàn)數(shù)據(jù)交換。當(dāng)從主 機(jī)H接收關(guān)于快閃存儲器1的數(shù)據(jù)讀出命令時,主機(jī)接口 3為該讀出命令解碼, 并且將規(guī)定讀取目標(biāo)頁的該邏輯地址發(fā)送到地址轉(zhuǎn)換裝置4。主機(jī)接口 3進(jìn)一 步通過外部總線7將將要被讀取的數(shù)據(jù)對象(由存儲器控制器6從快閃存儲器 1傳送到頁緩沖器2)發(fā)送到主機(jī)H。當(dāng)從主機(jī)H接收關(guān)于快閃存儲器1的數(shù) 據(jù)寫命令時,主機(jī)接口 3為該寫命令解碼,并且將規(guī)定該寫目標(biāo)頁的該邏輯地址發(fā)送到地址轉(zhuǎn)換裝置4。主機(jī)接口 3進(jìn)一步通過內(nèi)部總線8將將要被寫入的數(shù)據(jù)對象(從主機(jī)H那里被接收)傳送到頁緩沖器2。頁緩沖器2較佳地是SRAM,并且暫時存儲在主機(jī)接口 3與存儲器控制器 6之間被交換的數(shù)據(jù)項(xiàng)。例如,頁緩沖器2的存儲容量是512個字節(jié),并且實(shí) 質(zhì)上等同于快閃存儲器1中的一頁(的數(shù)據(jù)區(qū)DA)的存儲容量。地址轉(zhuǎn)換部件4從主機(jī)接口 3接收該邏輯地址。在該邏輯地址中,例如, 高位各比特表示快閃存儲器1中的一個塊的邏輯地址(邏輯塊地址),低位各 比特表示該塊中的一頁的邏輯頁號。地址轉(zhuǎn)換裝置4首先將該邏輯地址輸入分 成該邏輯塊地址和該邏輯頁號。地址轉(zhuǎn)換部件4接下來對地址轉(zhuǎn)換表格存儲部 件5進(jìn)行存取。地址轉(zhuǎn)換表格存儲部件5較佳地是RAM,并且存儲邏輯/物理 地址轉(zhuǎn)換表格L。地址轉(zhuǎn)換部件4根據(jù)該邏輯/物理地址轉(zhuǎn)換表格L,將該邏輯 塊地址轉(zhuǎn)換成該對應(yīng)的塊的物理地址。該物理地址和該邏輯頁號這一對數(shù)據(jù)被 發(fā)送到存儲器控制器6。這里,邏輯/物理地址轉(zhuǎn)換表格L使被分配給快閃存儲 器1中的每個啟用的塊的邏輯塊地址與該塊的物理地址相對應(yīng)的表。例如,地 址轉(zhuǎn)換裝置4在半導(dǎo)體存儲器裝置10啟動時掃描快閃存儲器1的各塊的頂頁 的冗余區(qū)RA,從而列出快閃存儲器1中被啟用的各個塊的邏輯塊地址。這樣, 在地址轉(zhuǎn)換表格存儲裝置5中創(chuàng)建并存儲邏輯/物理地址轉(zhuǎn)換表格L。例如,除了邏輯/物理地址轉(zhuǎn)換表格L以外,地址轉(zhuǎn)換表格存儲裝置5還 為快閃存儲器1的每個塊存儲標(biāo)記F,以示出是否會是空白塊。地址轉(zhuǎn)換裝置 4根據(jù)該塊的冗余區(qū)RA中所存儲的數(shù)據(jù)檢驗(yàn)快閃存儲器1中的每個塊以找出 空白塊,并且確定以上所描述的標(biāo)記F。地址轉(zhuǎn)換裝置4進(jìn)一步將標(biāo)記F存入 地址轉(zhuǎn)換表格存儲裝置5。存儲器控制器6根據(jù)該物理地址和該邏輯頁號這一對數(shù)據(jù)(從地址轉(zhuǎn)換裝 置4那里被接收),來識別快閃存儲器1中的一頁。存儲器控制器6為所識別 的這頁執(zhí)行數(shù)據(jù)讀取/寫入。例如,在從主機(jī)H接收讀出命令時,存儲器控制 器6首先從地址轉(zhuǎn)換部件4接收從該讀出命令的目的地址被加以轉(zhuǎn)換的物理地 址,并且識別與快閃存儲器1中的該物理地址相對應(yīng)的塊。存儲器控制器6接 下來從該塊的頂頁的冗余區(qū)讀取該塊的頁偏移量。存儲器控制器6根據(jù)從地址 轉(zhuǎn)換裝置4那里接收的頁偏移量和邏輯頁號,來識別對應(yīng)于該邏輯頁號的物理頁號。存儲器控制器6從快閃存儲器1讀取具有該物理頁號的頁上所存儲的數(shù) 據(jù)項(xiàng),并且將該數(shù)據(jù)項(xiàng)傳送到頁緩沖器2。在從主機(jī)H接收寫命令時,存儲器控制器6將數(shù)據(jù)寫入快閃存儲器1,艮口,在快閃存儲器1的一個塊中更新或增加頁,如下所述圖3-5展示了由存儲器控制器6寫入數(shù)據(jù)的一種方法。圖3表現(xiàn)了從頁緩沖器2到快閃存儲器1的傳 送過程,存儲器控制器6為從主機(jī)H被傳送到頁緩沖器2的、將要被寫入的數(shù) 據(jù)對象DN8-DN12 (參考符號DN旁邊的數(shù)值表示邏輯頁號)執(zhí)行該傳送過程。 這里,讓"8"成為該寫命令的目的地址所指出的寫目標(biāo)頁的邏輯頁號。另外, 假設(shè)數(shù)據(jù)對象DN8-DN12的總數(shù)量實(shí)質(zhì)上等同于快閃存儲器1的五頁的存儲 容量。圖4和圖5分別表現(xiàn)了從源塊B0到目的塊Bn的數(shù)據(jù)傳送過程的前半部 分和后半部分,存儲器控制器6在圖3中所示的數(shù)據(jù)傳送過程之后執(zhí)行該數(shù)據(jù) 傳送過程。存儲器控制器6首先從地址轉(zhuǎn)換部件4接收物理地址。然后,存儲器控制 器6將對應(yīng)于該物理地址的塊識別為快閃存儲器1中的源塊。例如,在圖3-5 中,頭塊(第一個塊)BO被識別為該源塊。存儲器控制器6接下來從源塊B0 的頂頁(第一頁)PO的冗余區(qū)RA讀取源塊BO的頁偏移量"2"。數(shù)據(jù)項(xiàng)DO、 Dl......和D31(參考符號D旁邊的數(shù)值表現(xiàn)存儲這些數(shù)據(jù)項(xiàng)的各頁的邏輯頁號)被存儲在源塊BO的數(shù)據(jù)區(qū)DA中。如圖3所示,在源塊BO中,頁P(yáng)0-P31的 邏輯頁號(參考符號P旁邊的數(shù)值表現(xiàn)這些物理頁號)采用循環(huán)方式從這些物 理頁號平移頁偏移量"2"。這里,頁P(yáng)O、 Pl......和P31可以包括處于被擦除狀態(tài)的頁(或空白頁)。存儲器控制器6進(jìn)一步從地址轉(zhuǎn)換部件4接收該寫目標(biāo)頁的邏輯頁號 "8",并且確定邏輯頁號"8"與源塊BO的頁偏移量"2"之間的差"8-2 =6"。這里,該差的范圍一般是從-31 — 31,包括一31和31。當(dāng)該差不是負(fù)數(shù) 時,存儲器控制器6將該差識別為該寫目標(biāo)頁的物理頁號。當(dāng)以上所描述的差 是負(fù)數(shù)時,存儲器控制器6將每一塊的總頁號(=32)加入該差,并且將該總 和數(shù)識別為該寫目標(biāo)頁的物理頁號。這樣,該寫目標(biāo)頁的物理頁號被確定為0 與31之間或與其相等的整數(shù)。在圖3-5中,源塊B0的第七頁P(yáng)6被識別為該 寫目標(biāo)頁。 存儲器控制器6對地址轉(zhuǎn)換表格存儲裝置5進(jìn)行存取,并且,根據(jù)被存儲在那里的標(biāo)記F,將快閃存儲器1中的空白塊之一選作目的塊。例如,在圖3-5 中,將第(n+l)個塊Bn (n》1)選作該目的塊。目的塊Bn中的32頁Q0、 Ql......和Q31中的任何頁(參考符號Q旁邊的數(shù)值表現(xiàn)物理頁號)都是空白的。
主機(jī)接口 3接收從主機(jī)H被發(fā)送的、將要被寫入的數(shù)據(jù)對象DN8-DN12, 并且逐頁地將這些數(shù)據(jù)對象寫入頁緩沖器2。存儲器控制器6將數(shù)據(jù)對象 ND8-DN12逐頁地從頁緩沖器2傳送到目的塊Bn (見圖3中所示的箭頭)。數(shù) 據(jù)對象DN8-DN12從目的塊Bn的頂頁Q0開始順次被逐頁地寫入。由此,數(shù) 據(jù)對象DN8-DN12被存儲在目的塊Bn的頂頁QO至第五頁Q4的數(shù)據(jù)區(qū)DA中 (見圖3)。存儲器控制器6進(jìn)一步將該寫目標(biāo)頁的邏輯頁號"8"確定為目的 塊Bn的頁偏移量,并且將該頁偏移量寫入目的塊Bn的頂頁QO的冗余區(qū)RA。
每當(dāng)將數(shù)據(jù)對象DN8-DN12從頁緩沖器2傳送到目的塊Bn時,存儲器控 制器6計算該傳送次數(shù)。主機(jī)H使用預(yù)定命令來通知半導(dǎo)體存儲器裝置10:將 要被寫入的數(shù)據(jù)對象的發(fā)送結(jié)束。存儲器控制器6通過主機(jī)接口 3來檢測該命 令。在檢測該命令時,存儲器控制器6根據(jù)以上所描述的傳送次數(shù)來確定數(shù)據(jù) 對象DN8-DN12的存儲區(qū)Q0-Q4的頁數(shù)為"5"。然后,存儲器控制器6進(jìn)一 步開始從源塊BO到目的塊Bn的數(shù)據(jù)傳送。這里,主機(jī)H可以為半導(dǎo)體存儲 器裝置10提供存儲數(shù)據(jù)對象DN8-DN12所要求的頁數(shù)"5"的預(yù)先通知。在那 種情況下,當(dāng)以上所描述的傳送次數(shù)達(dá)到所通知的頁數(shù)"5"時,存儲器控制 器6開始從源塊BO到目的塊Bn的數(shù)據(jù)傳送。
在從源塊BO到目的塊Bn的數(shù)據(jù)傳送(以下被稱作"塊傳送")開始之前, 頁緩沖器2得到釋放。存儲器控制器6使用頁緩沖器2來執(zhí)行該塊傳送,如下 所述(見圖4和圖5):首先,從源塊BO的寫目標(biāo)頁(第七頁)P6計數(shù)的第 五頁(第12頁)P11被識別為該塊傳送的起始頁(以下被稱作"傳送起始頁") (見圖4)。接下來,傳送起始頁P(yáng)ll至最后一頁(第32頁)P31上的數(shù)據(jù)項(xiàng) D13......D31、 DO和Dl被傳送到目的塊Bn,如下所述(見圖4):首先,傳送起始頁P(yáng)ll上的數(shù)據(jù)項(xiàng)D13被讀入頁緩沖器2 (見圖4中所示的箭頭R1)。 另外,頁緩沖器2中的數(shù)據(jù)項(xiàng)D13被寫到目的塊Bn的第六頁Q5上(見圖4
中所示的箭頭W1)。接下來,源塊B0的第13頁P(yáng)12上的數(shù)據(jù)項(xiàng)D14被讀入 頁緩沖器2 (見圖4中所示的箭頭R2)。另外,頁緩沖器2中的數(shù)據(jù)項(xiàng)D14 被寫到目的塊Bn的第七頁Q6上(見圖4中所示的箭頭W2)。經(jīng)由頁緩沖器 2的以上所描述的數(shù)據(jù)傳送被重復(fù)32- (6+5) =21次。結(jié)果,源塊B0的第12 頁P(yáng)ll至最后一頁P(yáng)31上的數(shù)據(jù)項(xiàng)D13、 D14......D31、 D0禾B Dl被傳送至lj目的塊Bn的第六頁Q5至第26頁Q25的數(shù)據(jù)區(qū)DA。存儲器控制器6接下來將頂頁P(yáng)0至就在源塊B0的寫目標(biāo)頁P(yáng)6前面的頁 (第六頁)P5的數(shù)據(jù)項(xiàng)D2、 D3......和D7傳送到目的塊Bn,如下所述(見圖5):首先,源塊B0的頂頁P(yáng)0上的數(shù)據(jù)項(xiàng)D2被讀入頁緩沖器2 (見圖5中所 示的箭頭R26)。另外,數(shù)據(jù)項(xiàng)D2從頁緩沖器2被寫到目的塊Bn的第27頁 Q26上。接下來,源塊B0的第二頁P(yáng)1上的數(shù)據(jù)項(xiàng)D3同樣經(jīng)由頁緩沖器2被 傳送到目的塊Bn的第28頁Q27。經(jīng)由頁緩沖器2的以上所描述的數(shù)據(jù)傳送被 重復(fù)六次。結(jié)果,頂頁P(yáng)O至就在源塊BO的寫目標(biāo)頁P(yáng)6前面的頁(第六頁) P5上的數(shù)據(jù)項(xiàng)D2、 D3......和D7被傳送到目的塊Bn的第27頁Q26至最后一頁Q31的數(shù)據(jù)區(qū)DA。該傳送起始頁的物理頁號等于該寫目標(biāo)頁的物理頁號和將要被寫入的數(shù) 據(jù)對象的存儲區(qū)的頁數(shù)的總和。這里,當(dāng)該總和是每一塊的總頁號(=32)或 更多時,該總和減去該總頁號的值被識別為該傳送起始頁的物理頁號。在那種 情況下,存儲器控制器6用類似于圖5中所示的數(shù)據(jù)傳送的方式來將該傳送起 始頁至就在該寫目標(biāo)頁前面的頁上的數(shù)據(jù)項(xiàng)傳送到目的塊Bn。作為由存儲器控制器6執(zhí)行的以上所描述的數(shù)據(jù)傳送的結(jié)果,與源塊BO 對比,用目的塊Bn中的新的數(shù)據(jù)項(xiàng)DN8-DN12來取代具有邏輯頁號"8" "12" 的各頁上的數(shù)據(jù)項(xiàng)D8-D12 (見圖5)。另外,該邏輯頁順序按循環(huán)方式改變, 并且,該頁偏移量從"2"變成"8"。在該塊傳送完成時,存儲器控制器6禁止使用或全體擦除源塊BO中的數(shù) 據(jù)項(xiàng)。那時,地址轉(zhuǎn)換裝置4更新邏輯/物理地址轉(zhuǎn)換表格L,并且使與源塊 BO的物理地址相對應(yīng)的邏輯地址跟目的塊Bn的物理地址相對應(yīng)。地址轉(zhuǎn)換裝 置4進(jìn)一步重置被存儲在地址轉(zhuǎn)換表格存儲裝置5中的標(biāo)記F,以示出源塊 BO是空白塊。這樣,在快閃存儲器1的一個塊中實(shí)現(xiàn)了頁的更新和增加。
如上所述,從目的塊Bn的頂頁Q0開始并在最后一頁Q31處結(jié)束,存儲 器控制器6將該數(shù)據(jù)從頁緩沖器2寫入目的塊Bn。這個寫入順序等同于常規(guī)裝 置的寫入順序。相應(yīng)地,與這些常規(guī)裝置的配置相同的配置可以被用于將該數(shù) 據(jù)從該頁緩沖器寫入該目的塊。由根據(jù)這個實(shí)施例的半導(dǎo)體存儲器裝置10來寫入數(shù)據(jù)的方法如以下流程 所示的那樣來加以執(zhí)行圖6是由半導(dǎo)體存儲器裝置10來寫入數(shù)據(jù)的方法的 流程圖。<步驟Sl>從主機(jī)H發(fā)出數(shù)據(jù)寫命令。主機(jī)接口 3接收該數(shù)據(jù)寫命令,并將其解碼成 寫目標(biāo)頁的邏輯地址。主機(jī)接口 3進(jìn)一步將該邏輯地址發(fā)送到地址轉(zhuǎn)換裝置4。 <步驟S2〉地址轉(zhuǎn)換裝置4從主機(jī)接口 3接收該邏輯地址。然后,地址轉(zhuǎn)換裝置4參 考邏輯/物理地址轉(zhuǎn)換表格L,并將該邏輯地址轉(zhuǎn)換成源塊BO的物理地址和該 寫目標(biāo)頁的邏輯頁號q (0《q《31)這一對數(shù)據(jù)。地址轉(zhuǎn)換裝置4進(jìn)一步將這 一對數(shù)據(jù)發(fā)送到存儲器控制器6。<步驟S3>根據(jù)標(biāo)記F,存儲器控制器6對地址轉(zhuǎn)換表格存儲裝置5進(jìn)行存取,并將 快閃存儲器1中的空白塊之一Bn選作目的塊。這里,當(dāng)源塊BO是空白塊時, 源塊BO本身可以被選作目的塊Bn。在那種情況下,跳過以下的步驟S8和S9。<步驟S4>存儲器控制器6將從地址轉(zhuǎn)換裝置4那里所接收的邏輯頁號q寫入目的塊 Bn的頂頁QO的冗余區(qū)RA (見圖3)。 <步驟S5>存儲器控制器6從源塊BO的頂頁P(yáng)0的冗余區(qū)RA讀取源塊BO的頁偏移 量p (0《p《31)。 <步驟S6>存儲器控制器6確定該寫目標(biāo)頁的邏輯頁號q與源塊BO的頁偏移量p之 間的差。當(dāng)該差q-p是負(fù)數(shù)(q-p<0)時,該控制器將每一塊的總頁號(=32) 加入該差q-p。 0與31之間的或與其相等的如此獲得的整數(shù)q-p或32+q-p被識 別為該寫目標(biāo)頁的物理頁號r: r=q-p或r=32+q-p。<步驟S7>主機(jī)接口 3從主機(jī)H接收將要被寫入的數(shù)據(jù)對象DN (q)、DN (q+1)......(參考符號DN旁邊的、括弧中的參考符號表現(xiàn)邏輯頁號)。主機(jī)接口3將數(shù)據(jù)對 象DN(q)、 DN(q+l)......逐頁地傳送到頁緩沖器2。主機(jī)接口3進(jìn)一步向存儲器控制器6通知該傳送。關(guān)于來自主機(jī)接口 3的每個通知,存儲器控制器6從 目的塊Bn的頂頁Q0開始順次傳送頁緩沖器2中的數(shù)據(jù)對象DN (q)、 DN (q+1)......圖7是這些傳送的流程圖。子步驟SS71:當(dāng)從主機(jī)接口 3接收以上所描述的傳送的第一個通知時,存 儲器控制器6初初化第一個整數(shù)變量k為0。子步驟SS72:存儲器控制器6將頁緩沖器2中的數(shù)據(jù)項(xiàng)傳送到目的塊Bn 的第(k+l)頁Q(k)的數(shù)據(jù)區(qū)DA (參考符號Q旁邊的、括弧中的參考符號表 示該物理頁號)(見圖3)。子步驟SS73:存儲器控制器6將第一個整數(shù)變量k遞增1。這樣,第一個 整數(shù)變量k指出從頁緩沖器2到目的塊Bn的數(shù)據(jù)對象DN (q)、 DN (q+l)......的傳送次數(shù)。子步驟SS74:當(dāng)結(jié)束發(fā)送數(shù)據(jù)對象DN(q)-DN(q+m-l)時,主機(jī)H發(fā)出 表示該發(fā)送結(jié)束的預(yù)定命令。主機(jī)接口3檢測該命令。存儲器控制器6訪問該 主機(jī)接口 3,并檢驗(yàn)是否檢測到該命令。當(dāng)還沒有檢測到該命令時,從子步驟 SS72開始重復(fù)該過程。當(dāng)檢測到該命令時,該過程進(jìn)行到子步驟SS75。子步驟SS75:當(dāng)檢測該命令時,存儲器控制器6將第一個整數(shù)變量k識別 為數(shù)據(jù)對象DN (q) — DN (q+m-l)的存儲區(qū)Q0 — Q (m-l)的頁數(shù)m (1《m《 32-q)。<步驟S8〉存儲器控制器6開始從源塊B0到目的塊Bn的數(shù)據(jù)傳送(塊傳送)。圖8是該塊傳送的流程圖。子步驟SS81:存儲器控制器6初始化第二個整數(shù)變量i為0。子步驟SS82:存儲器控制器6總計該寫目標(biāo)頁的物理頁號r(見步驟S6)、數(shù)據(jù)對象DN (q) - DN (q+m-l)的存儲區(qū)QO - Q (m-l)的頁數(shù)m,以及第二個整
數(shù)變量i。當(dāng)總和r+m+i小于32 (r+m+i<32)時,該過程進(jìn)行到子步驟SS83。 當(dāng)該總和r+m+i是32或更大(r+m+i》32)時,該過程跳轉(zhuǎn)到子步驟SS85。子步驟SS83:存儲器控制器6經(jīng)由頁緩沖器2將被存儲在源塊B0的第 (r+m+i+l)頁P(yáng) (r+m+i)上的數(shù)據(jù)項(xiàng)D (q+m+i)傳送到目的塊Bn的第(m+i+l ) 頁Q(m+i)(見圖4)。這里,參考符號P和D旁邊的、括弧中的參考符號分 別表現(xiàn)該物理頁號和邏輯頁號。子步驟SS84:存儲器控制器6將第二個整數(shù)變量i遞增1。然后,從子步 驟SS82開始重復(fù)該過程。由于子步驟SS82-SS84的循環(huán),為第二個整數(shù)變量1=0、 1、 2......和31 -(r+m)的每個值重復(fù)子步驟SS83。結(jié)果,源塊B0的第(r+m+l)頁P(yáng) (r+m) 至第32頁(最后一頁)P31的數(shù)據(jù)項(xiàng)D (q+m)、 D (q+m+l)......和D (p-l)被傳送到目的塊Bn的第(m+l)頁Qm至第(32-r)頁Q (31 - r)的數(shù)據(jù)區(qū)DA (見 圖4)。子步驟SS85:存儲器控制器6將第三個整數(shù)變量j的初始值設(shè)置成等于值 r+m+i減去32: j=r+m+i-32。這里,當(dāng)r+m<32時,第三個整數(shù)變量j的初始值 等于0。當(dāng)r+m》32時,第三個整數(shù)變量j的初始值是r+m-32=q+m-p,它等于 或大于0。子步驟SS86:存儲器控制器6將第三個整數(shù)變量j與該寫目標(biāo)頁的物理頁 號r進(jìn)行比較。當(dāng)?shù)谌齻€整數(shù)變量j小于該寫目標(biāo)頁的物理頁號r (j<r)時,該 過程進(jìn)行到子步驟SS87。當(dāng)?shù)谌齻€整數(shù)變量j等于該目標(biāo)頁的物理頁號r (j=r) 時,該過程跳轉(zhuǎn)到步驟S9。子步驟SS87:存儲器控制器6經(jīng)由頁緩沖器2將源塊B0的第(j+l)頁P(yáng) (j)上的數(shù)據(jù)項(xiàng)D(p+j)傳送到目的塊Bn的第(33-r+j)頁Q (32-r+j)(見圖5)。子步驟SS88:存儲器控制器6將第三個整數(shù)變量j遞增1。然后,從子步 驟SS86開始重復(fù)該過程。由于子步驟SS86-SS88的循環(huán),為整數(shù)變量j=0、 1、 2......r-l或j=q+m-p......p-l的每個值重復(fù)子步驟SS87。結(jié)果,源塊BO的第一頁P(yáng)O至第r頁P(yáng) (r-l)的數(shù)據(jù)項(xiàng)D (p)......和D (q-l)被傳送到目的塊Bn的第(33-r)頁Q (32-r)至第32頁(最后一頁)Q31的數(shù)據(jù)區(qū)DA (見圖5)。作為選擇,源塊BO的
第(q+m-p+l)頁P(yáng) (q+m-p)至第r頁P(yáng) (r-l)的數(shù)據(jù)項(xiàng)D (q+m)、......D31、 D0......和D(q-l)還可被傳送到目的塊Bn的第(m+l)頁Qm至第32頁(最后一頁) Q31的數(shù)據(jù)區(qū)DA。 <步驟S9>存儲器控制器6全體擦除或禁止使用源塊B0中的數(shù)據(jù)項(xiàng)。然后,地址轉(zhuǎn) 換部件4更新邏輯/物理地址轉(zhuǎn)換表格L,并且使與源塊BO的物理地址相對應(yīng) 的邏輯地址跟目的塊Bn的物理地址相對應(yīng)。地址轉(zhuǎn)換部件4進(jìn)一步重置被存 儲在地址轉(zhuǎn)換表格存儲裝置5中的標(biāo)記F,以示出源塊BO是空白塊。如上所述,在更新和增加快閃存儲器1的一個塊中的頁時,根據(jù)這個實(shí)施 例的半導(dǎo)體存儲器裝置10將頁緩沖器2用作該原始塊的數(shù)據(jù)項(xiàng)的保存空間, 從而與常規(guī)裝置對比,除頁緩沖器2以外不用包括保存緩沖器。結(jié)果,該半導(dǎo) 體存儲器裝置所擁有的RAM的尺寸小于這些常規(guī)裝置的RAM的尺寸。所以, 可以維持這整個裝置的小尺寸。本發(fā)明在目前的較佳實(shí)施例方面的以上所描述的揭示不會被解釋為意在 起限制作用。毫無疑問,在閱讀該揭示之后,精通本發(fā)明所屬的技術(shù)領(lǐng)域的人 將會明白各種變更和修改。就此推論,這類變更和修改顯然處于本發(fā)明的真實(shí) 的精神和范圍以內(nèi)。另外,將會理解,所附權(quán)利要求書意在包括這些變更和修 改。工業(yè)適用性根據(jù)本發(fā)明的半導(dǎo)體存儲器裝置通過頁緩沖器和保存緩沖器的集成來實(shí) 現(xiàn)小型化。所以,本發(fā)明具有非常高的工業(yè)適用性。
權(quán)利要求
1.一種半導(dǎo)體存儲器裝置,其特征在于,包括快閃存儲設(shè)備,它包括多個塊,其中每個塊包括不止一頁,從頂頁開始依次將數(shù)據(jù)寫入塊中;頁緩沖器,用于存儲從主機(jī)接收到的數(shù)據(jù)以及將要寫入快閃存儲設(shè)備的數(shù)據(jù);地址轉(zhuǎn)換裝置,用于從主機(jī)接收規(guī)定寫目標(biāo)頁的邏輯地址,并將該邏輯地址轉(zhuǎn)換成所述寫目標(biāo)頁所屬的源塊的物理地址和所述寫目標(biāo)頁的邏輯頁號,其中所述源塊是所述多個塊之一;以及,存儲器控制裝置,用于讀取所述源塊的物理地址和所述寫目標(biāo)頁的邏輯頁號;從所述多個塊中選擇目的塊;從頂頁開始依次將存儲在頁緩沖器中的數(shù)據(jù)寫入目標(biāo)塊;將存儲在源塊中的數(shù)據(jù)寫至目標(biāo)塊的頁區(qū)域的下一頁或之后的頁。
2. 如權(quán)利要求1所述的半導(dǎo)體存儲器裝置,其特征在于,存儲器控制裝 置依次且循環(huán)地將存儲在源塊中寫目標(biāo)頁的邏輯頁的下一頁或之后的頁的數(shù) 據(jù)寫入到寫目標(biāo)頁中被寫入的目標(biāo)塊的頁區(qū)域的下一頁或之后的頁。
3. 如權(quán)利要求1所述的半導(dǎo)體存儲器裝置,其特征在于,存儲器控制裝 置在目標(biāo)塊的頂頁中寫入頁偏移量,該頁偏移量是從寫目標(biāo)頁的邏輯頁號和物 理頁號計算得到的。
4. 一種信息系統(tǒng),其特征在于,包括 用于發(fā)送信息的主機(jī);用于接收和存儲所述主機(jī)發(fā)送的信息的半導(dǎo)體存儲器裝置;所述半導(dǎo)體存儲器裝置包括快閃存儲設(shè)備,它包括多個塊,其中每個塊包括不止一頁,從頂頁開 始依次將數(shù)據(jù)寫入塊中;頁緩沖器,用于存儲從主機(jī)接收到的數(shù)據(jù)以及將要寫入快閃存儲設(shè)備的數(shù)據(jù);地址轉(zhuǎn)換裝置,用于從主機(jī)接收規(guī)定寫目標(biāo)頁的邏輯地址,并將該邏 輯地址轉(zhuǎn)換成所述寫目標(biāo)頁所屬的源塊的物理地址和所述寫目標(biāo)頁的邏輯頁 號,其中所述源塊是所述多個塊之一;以及, 存儲器控制裝置,用于讀取所述源塊的物理地址和所述寫目標(biāo)頁的邏輯頁號; 從所述多個塊中選擇目的塊;從頂頁開始依次將存儲在頁緩沖器中的數(shù)據(jù)寫入目標(biāo)塊; 將存儲在源塊中的數(shù)據(jù)寫至目標(biāo)塊的頁區(qū)域的下一頁或之后的頁。
5. 如權(quán)利要求4所述的信息系統(tǒng),其特征在于,存儲器控制裝置依次且 循環(huán)地將存儲在源塊中寫目標(biāo)頁的邏輯頁的下一頁或之后的頁的數(shù)據(jù)寫入到 寫目標(biāo)頁中被寫入的目標(biāo)塊的頁區(qū)域的下一頁或之后的頁。
6. 如權(quán)利要求4所述的信息系統(tǒng),其特征在于,存儲器控制裝置在目標(biāo) 塊的頂頁中寫入頁偏移量,該頁偏移量是從寫目標(biāo)頁的邏輯頁號和物理頁號計 算得到的。
7. —種控制器,用于將頁緩沖器中存儲的數(shù)據(jù)寫入快閃存儲設(shè)備中,所 述快閃存儲設(shè)備包括多個塊,其中每個塊包括不止一頁,從頂頁開始依次將數(shù) 據(jù)寫入塊中,其特征在于,所述控制器包括存儲器控制裝置,用于讀取所述源塊的物理地址和所述寫目標(biāo)頁的邏輯頁號; 從所述多個塊中選擇目的塊;從頂頁開始依次將存儲在頁緩沖器中的數(shù)據(jù)寫入目標(biāo)塊; 將存儲在源塊中的數(shù)據(jù)寫至目標(biāo)塊的頁區(qū)域的下一頁或之后的頁。
8. 如權(quán)利要求7所述的控制器,其特征在于,存儲器控制裝置依次且循 環(huán)地將存儲在源塊中寫目標(biāo)頁的邏輯頁的下一頁或之后的頁的數(shù)據(jù)寫入到寫 目標(biāo)頁中被寫入的目標(biāo)塊的頁區(qū)域的下一頁或之后的頁。
9. 如權(quán)利要求7所述的控制器,其特征在于,存儲器控制裝置在目標(biāo)塊的頂頁中寫入頁偏移量,該頁偏移量是從寫目標(biāo)頁的邏輯頁號和物理頁號計算 得到的。
全文摘要
從寫目標(biāo)頁的邏輯地址中識別源塊(B0)和該寫目標(biāo)頁的邏輯頁號(“8”)。將要被寫入的數(shù)據(jù)對象(DN8、DN9……DN12)(主機(jī)將其存儲在頁緩沖器(2)中)從該頂頁(Q0)開始順次被寫入目的塊(Bn)的各頁(Q0、Q1……Q4)的數(shù)據(jù)區(qū)(DA)。該寫目標(biāo)頁的邏輯頁號(“8”)被寫入該頂頁(Q0)的冗余區(qū)(RA)。根據(jù)該寫目標(biāo)頁的邏輯頁號(“8”)和該源塊(B0)的頁偏移量(“2”),來識別該寫目標(biāo)頁的物理頁號(“6=8-2”)。當(dāng)被該主機(jī)通知這些數(shù)據(jù)對象(DN8……DN12)的發(fā)送結(jié)束時,從以循環(huán)方式位于該寫目標(biāo)頁(P6)后面的這些數(shù)據(jù)對象(DN8……DN12)的頁數(shù)(“5”)的那一頁(P11)開始,該源塊(B0)中的數(shù)據(jù)項(xiàng)(D13……D31、D0、D1……D7)經(jīng)由該頁緩沖器(2)被順序地、循環(huán)地傳送到該目的塊(Bn)中的各頁(Q5、Q6……Q31)。
文檔編號G06F12/00GK101114255SQ20071014722
公開日2008年1月30日 申請日期2003年8月25日 優(yōu)先權(quán)日2002年8月29日
發(fā)明者本多利行, 稻垣善久 申請人:松下電器產(chǎn)業(yè)株式會社