專利名稱:半導體存儲器件和使用其的數(shù)據(jù)管理方法
半導體存儲器件和使用其的數(shù)據(jù)管理方法技術(shù)領(lǐng)域制器的半導體存儲器件和使用半導體;儲器件的數(shù)據(jù)管^方法。 \ 背景技術(shù)作為電可重寫的非易失性半導體存儲器(EEPR0M)之一,人們知道NAND 型閃速存儲器。NAND型閃速存儲器單位單元面積比NOR型小,大容量化是 容易的。此外,以單元為單位進行的讀取/寫入速度,雖然與NOR型相比較 慢,但是,采用加大在單元陣列和頁緩沖器之間同時進行讀取/寫入的單元 范圍(物理上的頁長)的辦法,高速的讀取/寫入實質(zhì)上是可實現(xiàn)的。靈活利用這樣的特征,就可以把NAND型閃速存儲器用作以文件存儲 器、存儲卡為代表的各種記錄媒介物。在存儲卡等中,采用把非易失性存儲器和存儲控制器封裝起來、借助 于從主機供給的指令和邏輯地址,就可以進行對非易失性存儲器的讀取/ 寫入的控制。例如,人們提出了采用從主機提供邏輯地址和區(qū)段數(shù)的辦法, 進行多個扇區(qū)的數(shù)據(jù)的讀取的方案(參看特開2006-155335號公報)。另一方面,在NAND型閃速存儲器中,可以以128KB、 256KB這樣的存 儲塊為單位進行數(shù)據(jù)的擦除。為此,在發(fā)生了對已經(jīng)寫入完畢的存儲單元 進行的重寫指令的情況下,或者,在要擦除存儲塊的一部分的數(shù)據(jù)的情況 下,就必須先暫時把含有該存儲單元的存儲塊的別的存儲單元的數(shù)據(jù)復(fù)制 到另外的存儲塊內(nèi)之后,再擦除存儲塊整體進行再寫入或追加寫入等。為此,以往,在初始化時在所有存儲塊之中把除去了任意地已分配給 用戶塊和系統(tǒng)塊的存儲塊后的剩余部分登記為空閑塊(free block),在 發(fā)生了對用戶塊的追加寫入、部分擦除的情況下,就從所登記的空閑塊中
調(diào)用新的寫入塊,以進行復(fù)制和il^寫入等,使該寫入塊與該用戶塊進行 置換,不再需要的用戶塊,就作為空閑塊進行再登記。被再登記為空閑塊 的存儲塊, 一攬子地被擦除而變成為用于接下來的使用的等待狀態(tài)。若采用這樣的寫入控制,雖然在各個存儲單元都要求同 一可靠性的情況下沒有問題,但是,例如就像多值數(shù)據(jù)存儲區(qū)域和2值數(shù)據(jù)存儲區(qū)域那 樣,具有要求級別不同的多個存儲區(qū)域的情況下,在多個存儲區(qū)域中,就 會產(chǎn)生使用塊的混雜,存在著NAND單元的可靠性降低的問題。發(fā)明內(nèi)容在本發(fā)明的一個方式中,半導體存儲器件,其特征在于具備具有 包括能存儲需要不同的特性的存儲區(qū)域的多種數(shù)據(jù)的存儲單元的多個存儲 塊的存儲部;和具有把上述各個存儲塊作為擦除單位來管理上述存儲部、行上述存儲:的重寫時,執(zhí)行對該存儲塊和預(yù)先所登記的空閑塊進行置換 的處理的存儲控制器;上述存儲控制器,以使得向上述存儲部的各個存儲 塊和空閑塊內(nèi)存儲在重寫后也與重寫前為同一種類的數(shù)據(jù)的方式,對存儲 在存儲部內(nèi)的數(shù)據(jù)的種類進行管理。在本發(fā)明的另一方式中,半導體存儲器件,其特征在于具備具有 包括能以需要不同特性的存儲區(qū)域的多種寫入、讀取方式存儲數(shù)據(jù)的存儲 單元的多個存儲塊的存儲部;和具有把上述各個存儲塊作為擦除單位來管 理上述存儲部、把上述存儲部的邏輯地址變換成特定上述存儲塊的物理地 址的功能,在進行上述存儲塊的重寫時,執(zhí)行對該存儲塊和預(yù)先所登記的 空閑塊進行置換的處理的存儲控制器,上述存儲控制器,以使得向上述存 儲部的各個存儲塊和空閑塊以重寫后也與重寫前相同的寫入、讀取方式存 儲的方式,對存儲在上述存儲部內(nèi)的數(shù)據(jù)的種類進行管理。在本發(fā)明的另一方式中,數(shù)據(jù)管理方法中,使用具備具有包括能存 儲需要不同特性的存儲區(qū)域的多種數(shù)據(jù)的存儲單元的多個存儲塊的存儲 部;和具有把上述各個存儲塊作為擦除單位來管理上述存儲部、把上述存 儲部的邏輯地址變換成特定上述存儲塊的物理地址的功能,在進行上述存
儲塊的重寫時,執(zhí)行對該存儲塊和預(yù)先所登記的空閑塊進行置換的處理的存儲控制器的半導體存儲器件的數(shù)據(jù)管理方法,其特征在于在上述存儲 控制器中,以使得向上述存儲部的各個存儲塊和空閑塊內(nèi)存儲在重寫后也 與重寫前為同一種類的數(shù)據(jù)的方式,對存儲在上述存儲部內(nèi)的數(shù)據(jù)的種類 進行管理。
圖1示出了本發(fā)明的一個實施方式的LBA-NAND存儲系統(tǒng)的構(gòu)成。 圖2示出了同上的LBA-NAND存儲器的存儲單元陣列的構(gòu)成。 圖3示出了同上的LBA-NAND存儲器的數(shù)據(jù)存儲區(qū)域。 圖4示出了同上的LBA-NAND存儲器的各種數(shù)據(jù)存儲量的例子。 圖5示出了同上的LBA-MND存儲器的存儲塊構(gòu)成和對各個區(qū)域的分配 的一個例子。圖6概念性地示出了邏輯地址空間與NAND塊地址之間的關(guān)系。 圖7概念性地示出了邏輯地址空間與NAND塊地址之間的關(guān)系的另 一個 例子。圖8概略地示出了實施方式1的LBA-NAND存儲器的塊管理。 圖9概略地示出了實施方式2的LBA-MND存儲器的塊管理。 圖10的時間圖示出了同上的LB A-MND存儲器的2值數(shù)據(jù)存儲區(qū)域SDA 的建立過程。圖11示出了同上的LBA-NAND存儲器的數(shù)據(jù)存儲區(qū)域設(shè)定例。
具體實施方式
以下,邊參看圖面邊詳細地對本發(fā)明的半導體存儲器件的實施方式進 行說明。半導體存儲器的構(gòu)成圖1的框圖示出了本實施方式的半導體存儲器。本實施方式的半導體存儲器,構(gòu)成借助于例如一個或多個MND閃速存 儲器21和控制其讀取/寫入的存儲控制器22 —體地封裝起來的存儲器組件。由于搭載的所有的閃速存儲器21可用一個存儲控制器22作為邏輯存 儲器進行控制,故以下將之叫做邏輯塊地址(Logic Block Address)NAND 閃速存儲器(以下,簡稱為LBA-NAND存儲器)。搭載在LBA-NAND存儲器20上的MND閃速存儲器21,由1個或多個存 儲器芯片構(gòu)成。在圖1中,雖然示出的是N個存儲器芯片chipl、…chipN, 但是,即便是在該情況下,也可以用一個存儲控制器22進行控制。最大搭 栽存儲器芯片數(shù),要由調(diào)整器的電流能力、與別的要素之間的關(guān)系確定。存儲控制器22,是具有用來在其與閃速存儲器21之間進行數(shù)據(jù)傳 送的MND閃速接口 23,用來在其與主器件之間進行數(shù)據(jù)傳送的主接口 25, 暫時保持讀取/寫入數(shù)據(jù)等的緩沖RAM26,進行數(shù)據(jù)傳送控制的MPU24,用 于NAND閃速存儲器21內(nèi)的固件(FW)的讀取/寫入的順序控制等的硬件順序 控制器(sequencer) 27的單個芯片控制器。另夕卜,NAND閃速存儲器21和存儲控制器22,是單芯片或是別的芯片, 對于該LBA-NAND存儲器20來說是非本質(zhì)的。圖2示出了圖1的MND閃速存儲器21的存儲器芯核(core)部的單 元陣列構(gòu)成。存儲器單元陣列1,被構(gòu)成為把將多個電可重寫的非易失性存儲單元 (在圖的例子中是32個存儲單元)M0 M31串聯(lián)連接起來的NAND單元組件 (cell unit) (MND串)NU排列起來。MND單元組件NU的一端通過選擇門控晶體管SI連接到位線BLo、 BLe 上,另一端則通過選擇門控晶體管S2連接到共用源線CELSRC上。存儲單 元M0-M31的控制柵分別連接到字線WL0-WU1上,選擇門控晶體管S1、 S2 的柵則連接到選擇門控線SGD、 SGS上。排列于字線方向上的NAND單元組件的集合,構(gòu)成將成為數(shù)據(jù)擦除的最 小單位的存儲塊,如圖所示,在位線的方向上配置多個存儲塊 BLK0-BLKn-1。在位線BLo、 BLe的一端一側(cè),配置用來進行單元數(shù)據(jù)的讀取和寫入 的讀取方丈大器電路3,在字線的一端一側(cè),配置進行字線和選擇門控線的 選棒驅(qū)動的行譯碼器2。在圖2中,示出的是借助于位線選擇電路選擇性
地把相鄰的偶數(shù)號位線BLe和奇數(shù)號位線BLo連接到讀取放大器3的各個 讀取放大器SA上的情況。在像上述那樣地構(gòu)成的LBA-MND存儲器20中,指令、地址(邏輯地址) 和數(shù)據(jù)以及芯片使能信號/CE、寫入使能信號/WE、讀取使能信號/RE、準備 就緒/忙信號RY/BY等的外部控制信號,向主機I/F25輸入。在主機I/F25 中,把指令、控制信號分配給MPU24和硬件順序控制器27,并把地址和數(shù) 據(jù)存放在緩沖RAM26內(nèi)。從外部輸入進來的邏輯地址,在NAND閃速I/F23中,被變換成NAND 閃速存儲器21的物理地址。此外,在基于各種控制信號的硬件順序控制器 27的控制下,執(zhí)行數(shù)據(jù)的傳送控制和寫入/擦除/讀取的順序控制。變換后 的物理地址,通過NAND閃速存儲器21內(nèi)的地址寄存器被傳送給#^碼器 2、列譯碼器(未圖示)。寫入數(shù)據(jù),通過I/0控制電路等被裝載到讀取放大 器電路3內(nèi),讀取數(shù)據(jù)則通過I/0控制電路等向外部輸出。存儲區(qū)域圖3示出了本實施方式的LBA-MND存儲器的存儲區(qū)域的細節(jié)。 本實施方式的LBA-NAND存儲器20,具有可借助于指令進行存取的轉(zhuǎn) 換的多個數(shù)據(jù)區(qū)域(邏輯塊存取區(qū)域)。具體地說,在本實施方式中,具有 根據(jù)用途和數(shù)據(jù)的可靠性劃分的2個或3個的數(shù)據(jù)存儲區(qū)域。在圖3(a)所示的標準操作模式中,每一者皆具有存儲特性不同的信息 的2個數(shù)據(jù)存儲區(qū)域。 一個區(qū)域是4吏用SLC(單層單元)的2值數(shù)據(jù)存儲區(qū) 域SDA (SLC數(shù)據(jù)區(qū)域),另 一個區(qū)域是使用MLC (多層單元)的多值數(shù)據(jù)存 儲區(qū)域MDA (MLC數(shù)據(jù)區(qū)域)。2值數(shù)據(jù)存儲區(qū)域SDA適合于存儲文件系統(tǒng)或 網(wǎng)絡(luò)通信的記錄數(shù)據(jù)等,多值數(shù)據(jù)存儲區(qū)域MDA適合于存儲音樂、圖像、 各種應(yīng)用程序等。在圖3(b)所示的備選通電模式中,除去存儲上述特性不同的信息的2 個數(shù)據(jù)存儲區(qū)域SDA、 MDA之外,還要在存儲區(qū)域的起始設(shè)置存儲引導碼的 引導碼塊。在這2個模式中,2值數(shù)據(jù)存儲區(qū)域SDA和多值數(shù)據(jù)存儲區(qū)域MDA的 邊界,可借助于指令的指示任意地進行變更。例如,在使用也可以把MLC(4值)用作SLC (2值)的存儲單元陣列、把全部存儲區(qū)域都用作MLC的情況下 的存儲容量為4GB的存儲器中,如圖4所示,在分別把2值數(shù)據(jù)存儲區(qū)域 SM的存儲容量設(shè)定為0MB、 50MB、 500MB及1GB的情況下,多值數(shù)據(jù)存儲 區(qū)域MDA的存儲容量就將分別變成為4GB、 3. 9GB、 3GB和2GB。 存儲塊管理的實施方式1其次,邊參看圖面邊對本發(fā)明的實施方式1的半導體存儲器件的存儲 塊的管理進行詳細說明。圖5示出了作為存儲部的2平面(plane )構(gòu)成的NAND閃速存儲器21 的存儲塊構(gòu)成。存儲器芯片0~N,分別通過平面0、 l,具有把塊序號 0x0000 ~ Ox 07FF(其中,0x表明是16進制)作為物理;也址附加上去的多個 存儲塊。存儲控制器22,根據(jù)上邊所說的SDA、 MDA邊界設(shè)定指令,在初 始化處理時,把例如由塊序號0x0000 ~ 0x00FF和塊序號0x400 ~ 0x4FF的 存儲塊構(gòu)成的存儲區(qū)域分配成SDA,把由塊序號0x0100 ~0x 03FF和塊序 號0x500 ~ 0x7FF的存儲塊構(gòu)成的存儲區(qū)域分配成MDA。具體地說,如圖6所示,把邏輯地址空間50分割成SDA區(qū)域51和MDA 區(qū)域52,制作成邏輯/物理地址變換表(以下,簡稱為"L/P表,,)60。該對應(yīng)的表。在該例子中,把從邏輯地址"0x0000"到"Ox 27FF"分配給 SDA區(qū)域51, le^邏輯地址"0x2800" ~ "0x 3FFF"連續(xù)地分配給MDA 區(qū)域52。然后,把與各個邏輯地址對應(yīng)的物理地址登記到L/P表60中。 另外,在圖6中,為了使說明簡單起見,在SDA區(qū)域51和MDA區(qū)域52中, 邏輯地址和物理地址變成了 1對1的關(guān)系,但是,實際上,例如假定把128KB 分配給用SDA區(qū)域51的一個邏輯地址特定的1個存儲塊,由于在以MDA(例 如4值)區(qū)域52的一個邏輯地址特定的1個存儲塊中可以存儲其一倍的 256KB,故在MDA區(qū)域52中,對于1個存儲塊的地址范圍,相對于SDA區(qū) 域51的地址范圍就需要設(shè)定成2倍。為了使處理更為簡化起見,例如如圖 7所示,L/P表60自身就登記為都是MDA區(qū)域52,在SDA區(qū)域51被進行 存取時,就或者是把其邏輯地址換算成2倍來參照L/P表60,或者(雖然 未圖示)用SDA區(qū)域51換算來登記L/P表60,在MDA區(qū)域52被進行存取
時,只要把地址變成為1/2后再參照L/P表60即可。SDA區(qū)域51和MDA區(qū)域52的分割并不限定于2。例如,在MDA包括4 值、8值、16值等的MLC的情況下,也可以分割成與之對應(yīng)的個數(shù)的MDA 區(qū)域。這些邏輯地址空間50,如上所述,可借助于指令任意地確定。登記于L/P表60內(nèi)的存儲塊,就變成為擦除的單位。在NAND型閃速 存儲器中,在進行數(shù)據(jù)的重寫的情況下,或者在重寫存儲塊的一部分的數(shù) 據(jù)的情況下,由于必須暫時擦除存儲塊整體然后再次寫入,故對于同一塊 中的不進行重寫的數(shù)據(jù)來說,就需要預(yù)先在塊擦除之前暫時復(fù)制到別的存 儲塊內(nèi)。為了簡化這樣的處理,存儲控制器22,在進行初始化工作時,與上邊 所說的L/P表60同時地,制作圖8所示的那樣的把一部分的存儲塊登記成 空閑塊的空閑塊表(以下,叫做FB表)61。登記于該FB表61內(nèi)的空閑塊, 從L/P表60中去掉。然而, 一般地說相對于SLC的寫/擦限度為幾十萬次,MLC的寫/擦限 度為幾萬次。這是因為在MLC的情況下,向1個存儲單元進行的寫入工作, 必須進行用來進行多次的閾值移動的電壓施加,而且,施加電壓也較高的 緣故。因此,如果反復(fù)進行或者把作為SLC使用的塊用作MLC,或者,反 過來把作為MLC使用的存儲塊用作SLC,則單元的性能就要劣化,確保存 儲器整體的可靠性就變得困難起來。特別是如果把作為MLC使用的塊用作 SLC,則就不能確保用SLC所保證的寫/擦次數(shù)。于是,采用防止上述那樣的塊的單元用途的混雜的辦法,提高存儲器 整體的可靠性。在本發(fā)明的實施方式l中,存儲控制器22,如圖5所示,在確定了分 別分配給SDA區(qū)域和MDA區(qū)域的塊的范圍后,從各個區(qū)域分別選擇每者各 幾%的存儲塊,將之登記為空閑塊。然后,判斷根據(jù)邏輯地址應(yīng)該進行存取 的區(qū)域究竟是SDA區(qū)域還是MDA區(qū)域,空閑塊的選擇,也要根據(jù)存儲塊序 號判斷究竟是包括在哪一個區(qū)域內(nèi)的空閑塊,再選擇與各個區(qū)域?qū)?yīng)的空 閑塊。借助于此,結(jié)果就變成為包括在SDA區(qū)域內(nèi)的存儲塊和空閑塊,僅 僅能以SDA區(qū)域使用,包括在MDA區(qū)域內(nèi)的存儲塊和空閑塊,僅僅能以MDA
區(qū)域使用,就可以消除單元用途混雜的問題。作為其結(jié)果,就會提高存儲 器整體的可靠性。以下,邊參看圖面邊詳細地對上邊所說的實施方式1的塊管理的方法 進行說明。圖8概略性地示出了本發(fā)明的實施方式1的LBA-MND存儲器的存儲塊 管理。首先,存儲控制器22,借助于來自外部的指令,把邏輯地址空間50 分割成MDA區(qū)域52和SDA區(qū)域51。其次,存儲控制器22,在初始化時,如圖5所示,確定芯片O-N的 存儲器構(gòu)成,確定各個存儲塊要在哪個區(qū)域使用。同時,存儲控制器22, 還要制作L/P表60和FB表61。在向NAND閃速存儲器21進行數(shù)據(jù)寫入時,可參照L/P表60。例如, 在要向SDA區(qū)域51的邏輯地址"0x0002"寫入2值數(shù)據(jù)的情況下,就可以 參照L/P表60,向?qū)?yīng)的塊地址"芯片0,塊序號0x0002"(以下,省略 "芯片"和"塊序號"的表述)的存儲塊寫入2值數(shù)據(jù)。同樣,在要向MDA 區(qū)域52的邏輯地址"0x2801"寫入多值數(shù)據(jù)的情況下,就可以參照L/P 表60,向?qū)?yīng)的塊地址"0, 0x0101"的存儲塊內(nèi)寫入多值數(shù)據(jù)。對于對 登記在L/P表60內(nèi)的存儲塊的最初的寫入,要反復(fù)進行以上那樣的工作。相對于此,在從外部輸入了對已經(jīng)寫入了數(shù)據(jù)的存儲塊的追加寫入、 部分擦除等的重寫指令時,就可以把作為重寫對象的存儲塊和空閑塊進行 置換。例如,在SDA區(qū)域51的數(shù)據(jù)寫入完畢的邏輯地址"0x0002"內(nèi)發(fā)生了 寫入的情況下,存儲控制器22,就根據(jù)FB表61參照應(yīng)當使用的新的塊。 這時,存儲控制器22,就根據(jù)指令判斷應(yīng)進行寫入的數(shù)據(jù)是2值數(shù)據(jù),確 認塊地址是包括在圖5所示的SDA區(qū)域內(nèi)的存儲塊,對于包括在SDA區(qū)域 內(nèi)的空閑塊,例如要選擇塊地址"0, 0x0030"的空閑塊。接著,從FB表 61內(nèi)調(diào)用塊地址"0, 0x0030"的空閑塊,與L/P表60的發(fā)生了寫的塊地 址為"0, 0x0002"的存儲塊進行交換。具體地說,先讀取"0, 0x0002" 的存儲塊的內(nèi)容,置換其一部分的發(fā)生了寫的部分,寫入到塊地址"0,0x0030"的空閑塊內(nèi)。然后,擦除"0, 0x0002"的存儲塊的內(nèi)容,從L/P 表60刪除該已擦除的存儲塊,加到FB表61的隊列的最后部,并使新寫入 了數(shù)據(jù)的"0, 0x0030"的空閑塊與L/P表60的邏輯地址"0x0002"相關(guān) 聯(lián)。在FB表61中,隊列的位次僅僅提升1位。同樣,在MDA區(qū)域52的數(shù)據(jù)寫入完畢的邏輯地址"0x2801"中發(fā)生了 寫入的情況下,就要從FB表61參照應(yīng)使用的新的塊。這時,存儲控制器 22,就要根據(jù)指令判斷應(yīng)寫入的數(shù)據(jù)是多值數(shù)據(jù),確認塊地址是包括在圖 5所示的MDA區(qū)域內(nèi)的存儲塊,選擇包括在MDA區(qū)域內(nèi)的空閑塊,例如, 選擇塊地址為"N, 0x03FE"的空閑塊。然后,從FB表61調(diào)用塊地址"N, 0x03FE",與L/P表60的發(fā)生了寫的"0, 0x0101"存儲塊進行交換。具 體地說,先讀取"0, 0x0101"的存儲塊的內(nèi)容,置換其一部分的發(fā)生了寫 的部分,寫入到塊地址"N, 0x03FE"的空閑塊內(nèi)。然后,擦除"0, 0x0101" 的存儲塊的內(nèi)容,從L/P表60中刪除該已擦除的存儲塊,加到FB表61 的隊列的最后部,并使新寫入了數(shù)據(jù)的"N, 0x03FE"的空閑塊與L/P表 60的邏輯地址"0x0101"相關(guān)聯(lián)。在FB表61中,隊列的位次僅僅提升l 位。在塊的重寫時,每一次都要執(zhí)行以上的工作。倘采用上邊所說的實施方式1,由于先把芯片內(nèi)的所有的塊地址都分 配給SDA區(qū)域或MDA區(qū)域,再根據(jù)空閑塊的塊地址對究竟把該空閑塊用作 2值數(shù)據(jù)存儲用還是用作多值數(shù)據(jù)存儲用進行管理,故可以防止1個塊在2 值數(shù)據(jù)和多值數(shù)據(jù)中混雜地使用。作為其結(jié)果,可以提高半導體存儲器件 的可靠性。存儲塊管理的實施方式2接著,邊參看圖面邊詳細地對本發(fā)明的實施方式2的半導體存儲器件 的存儲塊的管理進行說明。圖9概略性地示出了本發(fā)明的實施方式2的LBA-NAND存儲器的存儲塊 管理。實施方式2,在獨立地形成2值數(shù)據(jù)存儲用空閑塊表(以下,叫做"SD A 用FB表")70和多值數(shù)據(jù)存儲用空閑塊表(以下,叫做"MDA用FB表")71 而與NAND閃速存儲器的芯片內(nèi)的塊地址無關(guān)這一點上,與上述實施方式1
不同。即便是采用實施方式2,也可以防止塊的單元用途的混雜,可以提 高半導體存儲器的可靠性。在圖9中,對于那些與圖8所示的實施方式1 相同的要素,賦予同一標號,省略其說明。在實施方式2中,在初始化時,與L/P表60同時,獨立地形成SDA 用FB表70和MDA用FB表71。作為要登記在這些FB表70、 71內(nèi)的空閑 塊,把全部存儲塊的幾y。不登記于L/P表60內(nèi)地進行分配。另外,要登記 于這些SDA用FB表70和MDA用FB表71內(nèi)的空閑塊,沒有必要遵從圖5 所示的存儲塊的劃分。以下,把MDA用FB表71為1個的情況作為代表例 子進行說明,但是,并不限于該例子,例如,也可以設(shè)置多個與4值、8 值、16值等對應(yīng)的MDA用FB表。SDA用FB表70,是用來參照未使用的2值數(shù)據(jù)存儲用塊的表。向SDA 用FB表70內(nèi),輸入了 SDA用的空閑塊地址。暫時輸入到SDA用FB表70 內(nèi)的塊,然后,與SDA區(qū)域51的存儲塊置換,因此不會用作多值數(shù)據(jù)存儲 用的塊。MDA用FB表71,是用來參照未使用的多值數(shù)據(jù)存儲用塊的表。向MDA 用FB表71內(nèi),輸入了 MDA用的空閑塊地址。暫時輸入到MM用FB表71 內(nèi)的塊,然后,被用作多值數(shù)據(jù)存儲用的塊,而不會用作2值數(shù)據(jù)存儲用 的塊。接著,詳細地對實施方式2的LBA-NAND存儲器的塊管理的方法進行說明。首先,存儲控制器22,借助于來自外部的指令,把邏輯地址空間50 分割成MDA區(qū)域52和SDA區(qū)域51,例如,把從邏輯地址"0x0000"到"0x 27FF"分配給SDA區(qū)域51,把從邏輯地址"0x2800 ~ 0x 3FFF,,分配給MDA 區(qū)域52。邏輯地址的分配方法,并不限于此。其次,存儲控制器22,與實施方式l同樣,在初始化時,形成L/P表 60,參照L/P表60把SDA區(qū)域51和MDA區(qū)域52的邏輯地址變換成物理地 址。借助于此,就可以進行由外部器件進行的對NAND閃速存儲器21的各 個單元的存取。向MND閃速存儲器21的各個單元內(nèi),寫入2值或多值數(shù)據(jù)中的任何
一方。例如,向SDA區(qū)域51的與邏輯地址"0x0002"對應(yīng)的塊地址"0, 0x0002"內(nèi)寫入2值數(shù)據(jù)。同樣,向MDA區(qū)域52的與邏輯地址"0x2801" 對應(yīng)的塊地址"0, 0x0101"內(nèi),寫入多值數(shù)據(jù)。對于對已登記在L/P表 60內(nèi)的存儲塊的最初的寫入來說,要反復(fù)進行以上那樣的工作。相對于此,在從外部輸入了對已經(jīng)寫入了數(shù)據(jù)的存儲塊的追加寫入、 部分擦除等的重寫指令時,就可以把作為重寫對象的存儲塊和空閑塊進行 置換。例如,在SDA區(qū)域51的數(shù)據(jù)寫入完畢的邏輯地址"0x0002"內(nèi)發(fā)生了 寫入的情況下,存儲控制器22,就根據(jù)指令判斷應(yīng)進行寫入的數(shù)據(jù)是2值 數(shù)據(jù),根據(jù)SDA用FB表70來參照應(yīng)當使用的新的塊,例如,選擇塊地址 "0, 0x0030"的空閑塊。然后,從SDA用FB表70內(nèi)調(diào)用所選擇的塊地址 為"0, 0x0030"的空閑塊,與L/P表60的發(fā)生了寫的塊地址為"0, 0x0002" 的存儲塊進行交換。然后,從L/P表60中刪除塊地址為"0, 0x0002"的 存儲塊,加到SDA用FB表70的隊列的最后部,并使新寫入了數(shù)據(jù)的"0, 0x0030"的空閑塊與L/P表60的邏輯地址"0x0002"相關(guān)聯(lián)。在SDA用 FB表70中,空閑塊地址的隊列的位次僅僅提升l位。同樣,在MDA區(qū)域52的數(shù)據(jù)寫入完畢的邏輯地址"0x2801"中發(fā)生了 寫入的情況下,存儲控制器22,就要根據(jù)指令判斷應(yīng)進行寫入的數(shù)據(jù)是多 值數(shù)據(jù),并利用MDA用FB表71參照應(yīng)使用的新的塊,例如,選擇塊地址 為"0, 0x0212"的空閑塊。然后,從MDA用FB表71調(diào)用所選擇的塊地址 "0, 0x0212"的空閑塊,與L/P表60的發(fā)生了寫的"0, 0x0101"的存儲 塊進行交換。然后,從L/P表60刪除塊地址"0, 0x0101"的存儲塊,加 到MDA用FB表71的隊列的最后部,并使新寫入了數(shù)據(jù)的"0, 0x0212"的 空閑塊與L/P表60的邏輯地址"0x2801"相關(guān)聯(lián)。在MDA用FB表71中, 空閑塊地址的隊列的位次僅僅提升1位。在2值數(shù)據(jù)的寫時,每一次都要執(zhí)行以上的工作。倘采用實施方式2,由于獨立地形成2值用的FB表和多值用的FB表, 并在寫時確認究竟參照哪一個表,故就可以防止塊的單元用途的混雜。作 為其結(jié)果,可以提高半導體存儲器件的可靠性。 另夕卜,上邊所說的實施方式1和2的塊管理,雖然是作為NAND閃速存 儲器21的外部的存儲控制器22的控制進行的說明,但是,也可以借助于 NAND閃速存儲器21的內(nèi)部的未圖示的存儲控制器的控制(固件)執(zhí)行。 圖IO是從外部提供的2值數(shù)據(jù)存儲區(qū)域SDA的建立的時序圖。 在這里,CLE表示指令閂鎖使能,CE表示芯片使能,WE表示寫入使能, ALE表示地址閂鎖使能,RE表示讀取使能,RY/BY表示準備就緒/忙的各控 制信號。在指令輸入的定時,讀入讀取SDA指令"00h,,,接著,用地址閂 鎖的5個周期,依次輸入建立SDA指令"A5h"和分配單元I", 2nd, 3、 4th。分配單元,例如如圖11所示,指定2值數(shù)據(jù)存儲區(qū)域SDA的邊界位置。 借助于此,由于可以在存儲控制器22中設(shè)定SDA和MDA之間的邊界區(qū)域, 故以后的邏輯地址和物理地址的變換處理,就可以根據(jù)所設(shè)定的邊界區(qū)域 執(zhí)行。另外,本發(fā)明并不限定于上邊所說的實施方式。例如,在上述實施方 式中,雖然把LBA-NAND型的存儲器作為例子進行說明,但是,作為NAND型閃速存儲器單體的內(nèi)部的存儲器管理也可以應(yīng)用本發(fā)明,這是不言而喻 的。此外,可以應(yīng)用本發(fā)明的存儲器,并不限定于作為閃速存儲器使用 NAND型的存儲器,在使用NOR型等別的形式的存儲器的情況下,也可以在 進行同樣的存儲管理的情況下使用。
權(quán)利要求
1. 一種半導體存儲器件,其特征在于,具備具有多個存儲塊的存儲部,上述存儲塊包括能存儲需要不同特性的存儲區(qū)域的多種數(shù)據(jù)的存儲單元,和存儲控制器,其具有把上述各個存儲塊作為擦除單位來管理上述存儲部、把上述存儲部的邏輯地址變換成特定上述存儲塊的物理地址的功能,在進行上述存儲塊的重寫時,執(zhí)行對該存儲塊和預(yù)先所登記的空閑塊進行置換的處理,上述存儲控制器,以使得向上述存儲部的各個存儲塊和空閑塊內(nèi)存儲在重寫后也與重寫前為同一種類的數(shù)據(jù)的方式,對存儲在上述存儲部內(nèi)的數(shù)據(jù)的種類進行管理。
2. 根據(jù)權(quán)利要求1所述的半導體存儲器件,其特征在于 上述存儲控制器,形成有限定上述存儲部的邏輯地址和與該邏輯地址
3.根據(jù)權(quán)利要求2所述的半導體存儲器件,其;特征在于'' 上述存儲控制器,設(shè)定上述存儲部的存儲區(qū)域與分配給各個存儲區(qū)域 的存儲塊之間的對應(yīng)關(guān)系,根據(jù)該對應(yīng)關(guān)系來管理存儲在上述存儲部內(nèi)的 數(shù)據(jù)的種類。
4. 根據(jù)權(quán)利要求3所述的半導體存儲器件,其特征在于 上述存儲控制器,把上述存儲部的一部分的存儲塊作為空閑塊登記在空閑塊表內(nèi),在發(fā)生了上述存儲部的已經(jīng)寫入的存儲塊的重寫時,根據(jù)上 述存儲區(qū)域和分配給存儲區(qū)域的存儲塊之間的對應(yīng)關(guān)系,使包括在與該發(fā) 生了重寫的存儲塊為同一存儲區(qū)域內(nèi)的空閑塊,與上述發(fā)生了重寫的塊進 行置換。
5. 根據(jù)權(quán)利要求3所述的半導體存儲器件,其特征在于 上述存儲控制器,在把上述存儲部的一部分的存儲塊作為空閑塊登記于按各個存儲區(qū)域的每一個存儲區(qū)域所設(shè)置的空閑塊表內(nèi)、在發(fā)生了上述 存儲部的已經(jīng)寫入的存儲塊的重寫時,從與存儲在該發(fā)生了重寫的存儲塊 內(nèi)的數(shù)據(jù)為同一種類的空閑塊表調(diào)用空閑塊,將其與上述發(fā)生了重寫的存 儲塊進行置換。
6. 根據(jù)^又利要求1所述的半導體存儲器件,其特征在于在上述數(shù)據(jù) 的種類中,包括2值數(shù)據(jù)和多值數(shù)據(jù)。
7. 根據(jù)權(quán)利要求1所述的半導體存儲器件,其特征在于上述存儲部, 具有存儲引導碼的引導碼塊。
8. 根據(jù)權(quán)利要求1所述的半導體存儲器件,其特征在于上述存儲部, 包括NAND型閃速存儲器或N0R型閃速存儲器。
9. 一種半導體存儲器件,其特征在于,具備存儲部,其具有多個存儲塊,該存儲塊包括能以需要不同特性的存儲 區(qū)域的多種寫入、讀取方式存儲數(shù)據(jù)的存儲單元,和存儲控制部,其具有把上述各個存儲塊作為擦除單位來管理上述存儲在進行上述存儲塊的重寫時,執(zhí)行對該存儲塊和預(yù)先所登記的空閑塊進行 置換的處理,上述存儲控制器,以使得向上述存儲部的各個存儲塊和空閑塊內(nèi)以在 重寫后也與重寫前相同的寫入、讀取方式進行存儲的方式,對存儲在上述 存儲部內(nèi)的數(shù)據(jù)的種類進行管理。
10. 根據(jù)權(quán)利要求9所述的半導體存儲器件,其特征在于 上述存儲控制器,形成限定上述存儲部的邏輯地址和與該邏輯地址對應(yīng)的上述存儲塊的物理地址之間的對應(yīng)關(guān)系的邏輯/物理地址變換表,參照 該邏輯/物理地址變換表來管理存儲在上述存儲部內(nèi)的數(shù)據(jù)的種類。
11. 根據(jù)權(quán)利要求10所述的半導體存儲器件,其特征在于 上述存儲控制器,設(shè)定上述存儲部的存儲區(qū)域與分配給各個存儲區(qū)域的存儲塊之間的對應(yīng)關(guān)系,根據(jù)該對應(yīng)關(guān)系來管理存儲在上述存儲部內(nèi)的 數(shù)據(jù)的種類。
12. 根據(jù)權(quán)利要求ll所述的半導體存儲器件,其特征在于 上述存儲控制器,把上述存儲部的一部分的存儲塊作為空閑塊登記在 工閑塊表內(nèi),在發(fā)生了上述存儲部的已經(jīng)寫入的存儲塊的重寫時,根據(jù)上 述存儲區(qū)域和分配給存儲區(qū)域的存儲塊之間的對應(yīng)關(guān)系,使包括在與該發(fā) 生了重寫的存儲塊為同一存儲區(qū)域內(nèi)的空閑塊,與上述發(fā)生了重寫的塊進 行置換。
13. 根據(jù)權(quán)利要求11所述的半導體存儲器件,其特征在于 上述存儲控制器,在把上述存儲部的一部分的存儲塊作為空閑塊登記于按各個存儲區(qū)域的每一個存儲區(qū)域所設(shè)置的空閑塊表內(nèi)、在發(fā)生了上述 存儲部的已經(jīng)寫入的存儲塊的重寫時,從與存儲在該發(fā)生了重寫的存儲塊 內(nèi)的數(shù)據(jù)為同 一種類的空閑塊表調(diào)用空閑塊,將其與上述發(fā)生了重寫的存 儲塊進行置換。
14. 根據(jù)權(quán)利要求9所述的半導體存儲器件,其特征在于在上述數(shù)據(jù) 的種類中,包括2值數(shù)據(jù)和多值數(shù)據(jù)。
15. —種使用半導體存儲器件的數(shù)據(jù)管理方法,該半導體存儲器件具備存儲部,其具有多個存儲塊,該存儲塊包括能存儲需要不同特性的存 儲區(qū)域的多種數(shù)據(jù)的存儲單元,和存儲控制部,其具有把上述各個存儲塊作為擦除單位來管理上述存儲在進行上述存儲塊的重寫時,執(zhí)行對該存儲塊與預(yù)先所登記的空閑塊進行 置換的處理,該數(shù)據(jù)管理方法的特征在于在上述存儲控制器中,以使得向上迷存儲部的各個存儲塊和空閑塊內(nèi) 存儲在重寫后也與重寫前為同 一種類的數(shù)據(jù)的方式,對存儲在上述存儲部 內(nèi)的數(shù)據(jù)的種類進行管理。
16. 根據(jù)權(quán)利要求15所述的數(shù)據(jù)管理方法,其特征在于用上述存儲控制器,形成限定上述存儲部的邏輯地址和與該邏輯地址照i邏輯;物理地址變換表來管理存儲2上述、存儲部內(nèi)的數(shù)據(jù)的種類。
17. 根據(jù)權(quán)利要求16所述的數(shù)據(jù)管理方法,其特征在于 用上述存儲控制器,設(shè)定上述存儲部的存儲區(qū)域與分配給各個存儲區(qū) 域的存儲塊之間的對應(yīng)關(guān)系,根據(jù)該對應(yīng)關(guān)系來管理存儲在上述存儲部內(nèi) 的數(shù)據(jù)的種類。
18. 根據(jù)權(quán)利要求17所述的數(shù)據(jù)管理方法,其特征在于用上述存儲控制器,把上述存儲部的一部分的存儲塊作為空閑塊登記 在空閑塊表內(nèi),在發(fā)生了上述存儲部的已經(jīng)寫入的存儲塊的重寫時,根據(jù) 上述存儲區(qū)域和分配給存儲區(qū)域的存儲塊之間的對應(yīng)關(guān)系,使包括在與該 發(fā)生了重寫的存儲塊為同一存儲區(qū)域內(nèi)的空閑塊,與上述發(fā)生了重寫的塊 進行置換。
19. 根據(jù)權(quán)利要求17所述的數(shù)據(jù)管理方法,其特征在于用上述存儲控制器,把上述存儲部的一部分的存儲塊作為空閑塊登記 于按各個存儲區(qū)域的每一個存儲區(qū)域所設(shè)置的空閑塊表內(nèi),在發(fā)生了上述 存儲部的已經(jīng)寫入的存儲塊的重寫時,從與存儲在該發(fā)生了重寫的存儲塊 內(nèi)的數(shù)據(jù)為同一種類的空閑塊表調(diào)用空閑塊,將其與上述發(fā)生了重寫的存 儲塊進行置換。
20. 根據(jù)權(quán)利要求15所述的數(shù)據(jù)管理方法,其特征在于在上述數(shù)據(jù) 的種類中,包括2值數(shù)據(jù)和多值數(shù)據(jù)。
全文摘要
本發(fā)明提供一種半導體存儲器件和使用其的數(shù)據(jù)管理辦法,該半導體存儲器件具備具有多個存儲塊的存儲部,該存儲塊包括能存儲需要不同特性的存儲區(qū)域的多種數(shù)據(jù)的存儲單元;和存儲控制器,具有把上述各個存儲塊作為擦除單位來管理上述存儲部、把上述存儲部的邏輯地址變換成特定上述存儲塊的物理地址的功能,在進行上述存儲塊的重寫時,執(zhí)行對該存儲塊和預(yù)先所登記的空閑塊進行置換的處理;該存儲控制器,以使得向上述存儲部的各個存儲塊和空閑塊內(nèi)存儲在重寫后也與重寫前為同一種類的數(shù)據(jù)的方式,對存儲在上述存儲部內(nèi)的數(shù)據(jù)的種類進行管理。
文檔編號G11C16/06GK101399081SQ20081014981
公開日2009年4月1日 申請日期2008年9月27日 優(yōu)先權(quán)日2007年9月28日
發(fā)明者大石宏治, 栗山光, 畑中幸二郎 申請人:株式會社東芝