TWI706249B - 半導體儲存裝置 - Google Patents

半導體儲存裝置 Download PDF

Info

Publication number
TWI706249B
TWI706249B TW108144904A TW108144904A TWI706249B TW I706249 B TWI706249 B TW I706249B TW 108144904 A TW108144904 A TW 108144904A TW 108144904 A TW108144904 A TW 108144904A TW I706249 B TWI706249 B TW I706249B
Authority
TW
Taiwan
Prior art keywords
block
address information
programming
state
physical
Prior art date
Application number
TW108144904A
Other languages
English (en)
Other versions
TW202036302A (zh
Inventor
服部規男
Original Assignee
華邦電子股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 華邦電子股份有限公司 filed Critical 華邦電子股份有限公司
Application granted granted Critical
Publication of TWI706249B publication Critical patent/TWI706249B/zh
Publication of TW202036302A publication Critical patent/TW202036302A/zh

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/20Initialising; Data preset; Chip identification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/54Arrangements for designing test circuits, e.g. design for test [DFT] tools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information

Abstract

本發明提供一種半導體儲存裝置,能夠實現區塊間的編程/抹除週期數的平滑化。本發明的快閃記憶體包括:反及型的儲存單元陣列;位址轉換表,定義邏輯位址資訊與物理位址資訊的關係;無效區塊表,管理用以識別應抹除區塊的物理位址資訊;空閒區塊表,管理用以識別已抹除的可使用區塊的物理位址資訊;抹除部件,用以抹除區塊;以及控制器。在從外部接收到抹除命令及邏輯位址資訊時,控制器抹除從無效區塊表中所選擇的物理位址資訊區塊,並以使從空閒區塊表中所選擇的物理位址資訊與來自外部的邏輯位址資訊對應的方式改寫位址轉換表。

Description

半導體儲存裝置
本發明涉及一種半導體儲存裝置,且特別涉及一種用以使反及(NAND)型快閃記憶體的區塊間的編程/抹除次數平滑化的耗損平均技術(wear leveling)。
通常,反及型快閃記憶體是在封裝體內包含儲存晶片(memory chip)與用於控制所述儲存晶片的儲存控制器(memory controller)來構成。使儲存控制器負擔儲存晶片的錯誤修正或壞區塊(bad block)的管理等固定的負荷,由此可減輕主機側的電腦的負荷。
例如,專利文獻1的快閃記憶體系統如圖1所示,包括快閃記憶體10與主機設備(host device)40,快閃記憶體10包含儲存控制器20與儲存晶片30。儲存控制器20包括:與主機設備40之間進行資料的轉送的主機介面22,與儲存晶片30之間進行資料的轉送的記憶體介面24,控制資料轉送或儲存晶片的動作的微處理器(MPU),儲存程式或資料的唯讀記憶體(ROM)、隨機存取記憶體(RAM)等。儲存晶片30例如為反及型快閃記憶體的晶片。 [現有技術文獻] [專利文獻]
[專利文獻1]日本專利特開2009-175877號公報 [發明所要解決的問題]
在反及型的快閃記憶體中,以頁面為單位進行讀出及編程,以區塊為單位進行抹除。主機設備在指示所述動作時,將用以讀出、編程、抹除的邏輯位址(logical address)輸出至儲存控制器。儲存控制器參照靜態隨機存取記憶體(SRAM)中保持的轉換表將所接收到的邏輯位址轉換成物理位址,並進行朝儲存單元陣列中的編程。當電源開啟時,從儲存單元陣列(memory cell array)中所準備的區域朝SRAM中載入轉換表。
另外,已知在快閃記憶體中,當編程/抹除的週期數增加,則耐久特性及資料保持特性的劣化變得顯著。可認為這是由於伴隨著編程/抹除的週期數增加,電子被閘極氧化膜捕獲、或閘極氧化膜本身因電子的隧穿而劣化。當朝向特定的區塊的編程/抹除的週期數增加,則最終產生無法使用的區塊,從而儲存單元陣列的利用效率下降。因此,期望儲存單元陣列的各區塊間的編程/抹除的週期數盡可能均勻化。
進而,在快閃記憶體中,將表示當前的區塊的狀態的資訊和所述的邏輯位址/物理位址的轉換表等保持於SRAM中,為了應對突然的斷電,將所述備份資訊保存至儲存單元陣列所確定的區域,例如備用區域。接著,當再次投入電源時,基於從備用區域讀出的資訊而在SRAM中重建轉換表等。但是,朝向備用區域的編程使編程數增加,同時同一頁面上的普通區域有可能因施加編程電壓而被干擾。所述干擾被稱為編程閘極干擾(Program gate disturb,PGD)。編程數的增加和PGD在最差的情況下,導致普通區域的資料劣化。
本發明目的在於提供一種能夠實現在區塊間編程/抹除週期數的平滑化,以及提供一種能夠抑制編程數,並有效利用備用區域的半導體儲存裝置。 [解決問題的技術手段]
本發明的半導體儲存裝置包括:反及型的儲存單元陣列,包含多個區塊;第一保持部件,保持用以將邏輯位址資訊轉換成物理位址資訊的轉換資訊;第二保持部件,保持用以識別應抹除的區塊的物理位址資訊;第三保持部件,保持用以識別基於編程/抹除次數而選擇的已抹除的能使用的區塊的物理位址資訊;抹除部件,抹除所述儲存單元陣列的區塊;以及控制部件,且在從外部接收到抹除命令及邏輯位址資訊時,所述控制部件基於所述轉換資訊將所述邏輯位址轉換成第一物理位址資訊,在由所述第二保持部件所保持的第二物理位址資訊與第一物理位址資訊不一致的情況下,所述控制部件使所述抹除部件抹除相當於第二物理位址資訊的區塊,進而,所述控制部件以由所述第三保持部件所保持的第三物理位址資訊與所述邏輯位址資訊對應的方式更新所述第一保持部件的轉換資訊。
在一種實施方式中,所述控制部件將第一物理位址資訊追加至所述第二保持部件,將第三物理位址資訊從所述第三保持部件刪除。在一種實施方式中,半導體儲存裝置更包括編程部件,所述編程部件用以在所述儲存單元陣列的選擇頁對資料進行編程,所述控制部件使所述編程部件在相當於第三物理位址資訊的區塊的經選擇頁面的備用區域中對所述邏輯位址資訊與表示所述區塊正在使用中的狀態進行編程。在一種實施方式中,所述控制部件使所述編程部件在相當於第一物理位址資訊的區塊的經選擇頁面的備用區域對表示所述區塊成為應抹除的區塊的狀態進行編程。在一種實施方式中,在儲存單元陣列所確定的區域中對與區塊的狀態相關的資訊進行編程,所述控制部件基於與所述狀態相關的資訊來生成由所述第一保持部件、第二保持部件、第三保持部件所保持的資訊。在一種實施方式中,所述控制部件在投入電源時,從所述儲存單元陣列讀出與所述狀態相關的資訊。在一種實施方式中,半導體儲存裝置更包括第四保持部件,所述第四保持部件在進行抹除動作時,對與各區塊的狀態相關的資訊進行保持,所述控制部件在進行編程動作時,在儲存單元陣列的相應的備用區域對與所述第四保持部件所保持的狀態相關的資訊進行編程。在一種實施方式中,所述第四保持部件將與狀態相關的資訊保持在非揮發性記憶體中。 [發明的效果]
根據本發明,可實現儲存單元陣列的區塊的編程/抹除次數的平滑化,改善儲存單元陣列的利用效率。進而,根據本發明,能夠於在備用區域中對與狀態相關的資訊進行編程的情況下,實現編程次數的削減。
接著,參照圖式對本發明的實施方式進行詳細說明。本發明的快閃記憶體包含具有反及串的儲存單元的儲存裝置、及控制儲存裝置的控制器來構成。控制器可以形成在與形成儲存裝置的晶片相同的晶片上,也可以形成在不同的晶片上。另外,當快閃記憶體包含多個晶片時,也能夠以將多個晶片層疊的方式構成。 [實施例]
圖2是表示本發明的實施例的快閃記憶體100的內部構成的圖。本實施例的快閃記憶體100從主機設備接收各種控制信號(命令鎖存致能信號(Command Latch Enable,CLE)、位址鎖存致能信號(Address Latch Enable,ALE)等)、資料、命令等,並根據這些信號等來進行讀出、編程(寫入)、抹除等。另外,快閃記憶體100將表示記憶體的動作狀態的準備(Ready)信號或忙碌(Busy)信號輸出至主機設備中。
快閃記憶體100包括如下構件來構成:儲存單元陣列110,呈行列狀排列有多個儲存單元;輸入輸出緩衝器120,連接於外部輸入輸出端子I/O;位址暫存器130,從輸入輸出緩衝器120接收位址資料;控制器140,從輸入輸出緩衝器120接收命令資料等,來控制各部;字元線選擇電路150,從位址暫存器130接收列位址資訊Ax,並將列位址資訊Ax解碼,基於解碼結果來進行區塊的選擇及字元線的選擇等;頁面緩衝器/感測器電路160,保持從由字元線選擇電路150所選擇的頁面讀出的資料、或保持應在經選擇的頁面進行編程的輸入資料;行選擇電路170,從位址暫存器130接收行位址資訊Ay,並將行位址資訊Ay解碼,基於此解碼結果來選擇頁面緩衝器/感測器電路160內的行位址的資料;以及內部電壓產生電路180,生成資料的讀出、編程及抹除等所需的各種電壓(寫入電壓Vpgm、通過電壓Vpass、讀出通過電壓Vread、抹除電壓Vers等)。
儲存單元陣列110在行方向上具有m個區塊BLK(0)、BLK(1)、…BLK(m-1)。如圖3所示,在一個區塊上,在列方向上排列有n個將多個儲存單元串聯連接的反及串。一個列方向上的儲存單元構成一個頁面(例如,2KB)。一個反及串NU包括:經串聯連接的多個儲存單元MCi(i=0、1、2、3‧‧‧、63),與作為一側的端部的儲存單元MC63的汲極側連接的位元線側選擇晶體管Td、及與儲存單元MC0的源極側連接的源極線側選擇晶體管Ts。位元線側選擇晶體管Td的汲極與在位元線BL0~BLK-1中對應的一個位元線BL連接,源極線側選擇晶體管Ts的源極與共同的源極線SL連接。儲存單元可為儲存一位元的資料者或儲存多位元的資料者的任一者。進而儲存單元陣列可為二維地形成於基板上者或三維地形成於基板上者的任一者。
在儲存單元陣列110的各區塊,即構成區塊的各頁面中分割有使用者使用的普通區域、與用於儲存各種管理資訊等的備用區域。例如,儲存單元陣列110的一個頁面如圖4所示,具有包含扇區0~扇區7的八個扇區的普通區域200、及包含備用SP_0、備用SP_1、備用SP_2、備用SP_3的四個扇區的備用區域210。例如,普通區域200的一個扇區為256位元組(整體為2K位元組)、備用區域210的一個扇區為16位元組(整體為64位元組)。
在備用區域中儲存了識別包含不良記憶元件的壞區塊的資訊212、識別對應於所述區塊的物理區塊位址PBA(Physical Block Address)的邏輯區塊位址LBA(Logical Block Address)的資訊214、與所述區塊的狀態相關的資訊216、及奇偶校驗位(parity bit)218等。與狀態相關的資訊如後所述,例如包含已抹除的區塊(E)、正在使用中的有效的區塊(V)、應抹除的無效的區塊(I)、編程/抹除的次數EW等。
控制器140例如包含微處理器(MPU)、唯讀記憶體(ROM)等,通過執行ROM中保存的軟體程式,來控制快閃記憶體100的讀出、編程及抹除等動作。進而,本實施例的控制器140包含SRAM 142及電阻變化型記憶體(RRAM,電阻式隨機存取記憶體)144,進行SRAM 142及RRAM 144的讀寫控制等。
此處的SRAM 142是包含多個暫存器等的可高速地讀出寫入的揮發性記憶體的總稱。SRAM 142在投入電源時,由控制器140執行通電序列(power-on sequence)時,保持從儲存單元陣列110的特定的區塊的特定頁面、或預先確定的備用區域等載入的資料。控制器140可根據載入至SRAM 142中的資料來製作各種表,並使所製作的表保持於SRAM 142中,或可視需要改寫表。表例如為規定邏輯區塊位址LBA與物理區塊位址PBA的關係的轉換表、表示與儲存單元陣列110的各區塊的狀態相關的資訊的表等。
SRAM 142為揮發性記憶體,因此在斷電的情況下,保持於SRAM 142中的表等資料會喪失。為了與此應對,在改寫SRAM 142中所保持的資料的情況下,將其備份資料編程到儲存單元陣列的備用區域。而且,在再投入電源時,利用從備用區域讀出的資料重建SRAM 142的表等。
RRAM 144是可將資料儲存在可逆且非揮發性的可變電阻元件中的可變電阻型隨機存取記憶體。RRAM 144是與SRAM 142同樣地可快速地讀寫資料,且即便電源喪失,也可以保持資料的非揮發性的記憶體。
RRAM 144可在SRAM 142中作為備份發揮功能。RRAM 144儲存SRAM 142中所保持的資料的一部分,當在SRAM 142的表等中存在變更時,可儲存其變更內容,並使朝向儲存單元陣列的備用區域的編程延期。控制器140可在適宜的時機,將儲存於RRAM 144中的資料編程至儲存單元陣列的備用區域。在一種實施方式中,當在普通區域對資料進行編程時,在備用區域同時對RRAM 144的資料進行編程。由此,可削減編程數,並抑制可在僅於備用區域進行編程時產生的對普通區域進行的編程閘極干擾(PGD)。
在快閃記憶體的讀出動作中,對位元線施加某個正的電壓,對已被選擇的字元線施加某個電壓(例如0V),對非選擇字元線施加通過電壓(例如4.5V),對選擇閘極線SGD、選擇閘極線SGS施加正的電壓(例如4.5V),將位元線側選擇電晶體Td、源極線側選擇電晶體Ts開啟,並將共同源極線SL設為0V。在編程動作中,對已被選擇的字元線施加高電壓的編程電壓(例如,15V~20V),對非選擇的字元線施加中間電位(例如10V),將位元線側選擇電晶體Td開啟,將源極線側選擇電晶體Ts關閉,將對應於資料“0”或資料“1”的電位供給至位元線BL中。在抹除動作中,對區塊內的已被選擇的字元線施加0V,對P型井施加高電壓(例如20V),將浮閘(floating gate)的電子抽出至基板上,由此以區塊為單位抹除資料。
接著,對本實施例的快閃記憶體100的動作進行說明。當對快閃記憶體100投入電源時,控制器140執行通電序列,如圖6所示的儲存單元陣列110的起始區塊的特定頁面中所保存的資料、各區塊的備用區域中所保存的邏輯區塊位址LBA、與狀態有關的資料被載入至SRAM 142中。控制器140基於所載入的資訊,來製作如圖5(A)所示般的位址轉換表、如圖5(B)所示的當前參照表LUT,並使其保持於SRAM 142中。
此處,圖5(B)及圖6的狀態中使用的符號“S”表示系統使用的區塊,“E”表示已抹除且可使用的區塊,“V”表示正在使用中的有效的區塊,“I”表示應抹除的無效的區塊,“BB”表示無法使用的壞區塊。
當在一個區塊內包含(V)與(I)兩個狀態的情況下,使(I)狀態優先,在包含(V)與(E)的情況下,使(V)優先。在包含(BB)與(E)的情況下,使(BB)優先。例如,在圖6所示的儲存單元陣列的物理區塊位址PBA(03h)中,在頁面PPA(00h)對“V”進行編程,在頁面PPA(03h)對“I”進行編程,因“I”優先,故所述區塊被識別為應抹除的無效的區塊。因此,備用區域的邏輯區塊位址LBA(01h)無法用作有效的位址,即,無法反映於圖5(A)的轉換表,且在圖5(B)的當前參照表LUT中反映出“I”。另外,在圖6的物理區塊位址PBA(02h)中,狀態被編程為“BB”,因此在當前參照表LUT中反映成“BB”。
控制器140參照圖5(A)所示的位址轉換表,將從主機設備中輸入的邏輯位址LAD轉換成物理位址PAD。邏輯位址LAD如圖7所示,包含邏輯區塊位址LBA(Logical Block Address)、邏輯頁面位址LPA(Logical Page Address)及邏輯行位址LCA(Logical Column Address)來構成。例如,用於存取快閃記憶體100的列位址為18位元,行位址為12位元。列位址的高位12位元是指定區塊的位址,低位6位元是指定頁面的位址。邏輯頁面位址LPA及邏輯行位址LCA不被轉換而直接構成物理位址。如此,邏輯位址LAD被轉換成用於存取快閃記憶體的物理位址PAD(=PBA+LPA+LCA)。
控制器140可使用圖5(B)所示的當前參照表LUT來管理各區塊的編程/抹除的週期數的平滑化,但在本實施例中,為了縮短區塊的搜索時間而提高其處理速度,生成如圖8(A)~圖8(C)所示般的三個表。
圖8(A)所示的空閒區塊表(FBT)是管理已抹除的區塊且接下來可使用的區塊的表。FBT基於在圖5(B)的當前參照表LUT中,狀態為“E”的區塊及其編程/抹除次數EW來生成。FBT例如保存至按先寫入的物理區塊位址PBA的順序讀出的先入先出(first-in-first-out,FIFO)型的暫存器,此處,先從編程/抹除次數EW少的區塊寫入。編程/抹除次數EW在一個區塊內的各頁面中無需相同。抹除是以區塊為單位進行,因此在各頁面中均勻地反映,編程是以頁面為單位進行,因此在各頁面間編程數不同。本實施例的編程/抹除次數EW是以區塊為單位,即,即便是對區塊內的一個頁面進行編程的情況,編程/抹除次數EW也加上一。
圖8(B)所示的無效區塊表(IBT)是管理接下來應抹除的區塊的表。IBT基於在圖5(B)的當前參照表LUT中,狀態為“I”的區塊及其編程/抹除次數EW來生成。IBT也保存至FIFO型的暫存器,先從編程/抹除次數EW少的頁面寫入。
圖8(C)所示的狀態區塊表(SBT)儲存圖5(B)所示的當前參照表LUT的狀態。SBT利用在圖5(B)的當前參照表LUT中,全部區塊的狀態來生成。SBT保存至RRAM 144中,假設在運行中產生區塊的狀態變更時,保存其變更。
接著,參照圖9、圖10的流程對在快閃記憶體100中抹除區塊時的動作進行說明。儲存單元陣列110設為具有圖6所示的狀態。外部的主機設備輸出抹除命令及表示應抹除的區塊的邏輯區塊位址LBA(01h),快閃記憶體100接收其輸出(S101)。
控制器140參照圖5(A)所示的轉換表,將邏輯區塊位址LBA(01h)轉換成物理區塊位址PBA(07h)。接著,控制器140確定編程/抹除次數少的接下來應抹除的區塊,因此讀出圖8(B)所示的IBT的起始的物理區塊位址PBA(01h)(S103)。
接著,控制器140執行由從IBT讀出的物理區塊位址PBA(01h)確定的區塊的抹除(S104)。此處,對應於由主機設備指示的邏輯區塊位址LBA(01h)的物理區塊位址PBA(07h)與從IBT讀出的物理區塊位址PBA(01h)不一致,因此物理區塊位址PBA(007)的區塊無法抹除,此區塊作為應抹除的無效的區塊(狀態“I”)來管理。響應於控制器140的指示,字元線選擇電路150對物理區塊位址PBA(01h)的選擇區塊的全部字元施加0V,另外對P阱施加抹除電壓。將此時的物理區塊位址PBA(01h)的區塊的狀態示於圖12。物理區塊位址PBA(01h)的備用區域成為已抹除的可使用的狀態E。
接著,為了反映儲存單元陣列110的PBA(01h)的狀態,控制器140將圖5(B)所示的當前參照表LUT的PBA(01h)的狀態從“I”改寫為“E”,且對編程/抹除次數EW加上1而改寫為“2”(S105)。將改寫後的當前參照表LUT示於圖11(B)。用虛線表示經改寫的部分。
接著,控制器140將儲存單元陣列110的物理區塊位址PBA(07h)的頁面(03h)的狀態編程為“I”(S106)。起始頁面的備用區域的狀態中已被編程為“V”,無法使用此區域。因此,使用未使用的頁面(03h)的備用區域。
接著,控制器140為了將儲存單元陣列110的物理區塊位址PBA(07h)的狀態反映於當前參照表LUT,將當前參照表LUT的物理區塊位址PBA(07h)的狀態改寫為“I”(S107)。將所述狀態示於圖11(B)(虛線部分)。
接著,控制器140將物理區塊位址PBA(07h)寫入IBT(S108)。IBT是FIFO型,因此如圖13(B)所示,物理區塊位址PBA(03h)移動至起始的條目#0,且物理區塊位址PBA(07h)被追加至最後的條目#1。
如此,完成與來自主機設備的抹除命令對應的抹除動作後,接著,控制器140從FBT中搜索應分配給邏輯區塊位址LBA(01h)的物理區塊位址PBA。即,控制器140讀出圖8(A)所示的FBT的起始的條目#0的物理區塊位址PBA(08h)(S109)。
接著,控制器140按照從FBT中讀出的物理區塊位址PBA(08h),將儲存單元陣列的PBA(08h)的頁面(00h)的備用區域的邏輯區塊位址LBA改寫為(01h),狀態編程為“V”(S110)。
接著,控制器140在儲存單元陣列的物理區塊位址PBA(08h)中,將所述區塊分配為使用中的有效的區塊,伴隨與此,對當前參照表LUT的內容進行改寫。即,將當前參照表LUT的物理區塊位址PBA(08h)的邏輯區塊位址LBA改寫為(01h),且將狀態從“E”改寫為“V”(S111)。將所述狀態示於圖11(B)(虛線部分)。
接著,控制器140以圖5(A)的轉換表的邏輯區塊位址LBA(01h)對應於物理區塊位址(08h)的方式改寫轉換表(S112)。將所述狀態示於圖11(A)(虛線部分)。
接著,控制器140對FBT追加物理區塊位址,因此從當前參照表LUT中搜索編程/抹除次數EW小、狀態為“E”,且未登記於FBT的物理區塊位址(S113)。在本例中,對物理區塊位址PBA(01h)進行搜索。
接著,控制器140為了將所搜索的物理區塊位址PBA(01h)追加至FBT而進行寫入(S114)。將所述狀態示於圖13(A)(虛線部分)。如此,對邏輯區塊位址LBA(01h)分配編程/抹除次數少的新的物理區塊位址(08h),且將編程/抹除次數少的物理區塊位址(01h)追加至FBT。
根據本實施例,在進行抹除動作時,利用如上所述的演算法來進行區塊的抹除及區塊的使用,由此可使儲存單元陣列內的區塊的編程/抹除次數平滑化,進行區塊間的耗損平均。其結果,可實現快閃記憶體的利用效率的改善。
接著,對本發明的第二實施例進行說明。在所述抹除動作時的流程的步驟S110中,控制器140在儲存單元陣列的物理區塊位址PBA(08h)的頁面(01h)的備用區域,對邏輯區塊位址LBA(01h)與狀態“V”進行編程,但由於此編程,在同一頁面中所允許的最大編程次數會被消耗一次。在本實施例中,為了抹除所述浪費,將圖8(C)所示的用以管理抹除狀態的區塊的狀態的狀態區塊表SBT保存至非揮發性記憶體,並對此進行活用。
如圖8(C)所示,SBT提取當前參照區塊的狀態,示出各物理區塊位址PBA的狀態。控制器140在抹除動作中區塊的狀態變化的情況下,如圖13(C)所示,對SBT進行改寫(虛線部分)。即,物理區塊位址PBA(01h)從應抹除的無效的區塊“I”改寫為已抹除的區塊“E”,物理區塊位址PBA(07h)從使用中的有效的區塊“V”改寫為應抹除的無效的區塊“I”,物理區塊位址PBA(08h)從已抹除的區塊“E”改寫為使用中的有效的區塊“V”。
控制器140對狀態從“E”變更為“V”的物理區塊位址PBA(08h)在抹除動作中不進行編程,在從主機設備接收到對物理區塊位址PBA(08h)的頁面(00h)的編程命令時,同時在備用區域對邏輯區塊位址LBA(01h)與狀態“V”進行編程。由此,物理區塊位址PBA(08h)的頁面(00h)的編程次數消耗一次。在所述編程完成之前的期間,代用非揮發性記憶體的SBT,其後,抹除SBT。再者,在將區塊的狀態變更為“V”的情況下,邏輯區塊位址建立新的對應,由此在SBT中,將邏輯區塊位址LBA一併儲存,邏輯區塊位址LBA也同時被編程到備用區域。
再者,在所述實施例中,使用RRAM作為非揮發性記憶體,但只要和反及型記憶體相比能夠更快速地寫入資料,則除RRAM以外也可使用MRAM(磁性體記憶體)。
對本發明的優選實施方式進行了詳述,但本發明並不限定於特定的實施方式,可在權利要求書記載的本發明的主旨範圍內進行各種變形、變更。
10、100:快閃記憶體 20:儲存控制器 22:主機介面 24:記憶體介面 30:儲存晶片 40:主機設備 110:儲存單元陣列 120:輸入緩衝器 130:位址暫存器 140:控制器 142:靜態隨機存取記憶體 144:電阻變化型記憶體 150:字元線選擇電路 160:頁面緩衝器/感測器電路 170:行選擇電路 180:內部電壓產生電路 200:普通區域 210:備用區域 212、214、216、218:信息 Ax:列位址資訊 Ay:行位址資訊 BLK(0)~BLK(m-1):區塊 LAD:邏輯位址 LBA:邏輯區塊位址 LCA:邏輯行位址 LPA:邏輯頁面位址 MC0~MC63:儲存單元 PAD:物理位址 PBA:物理區塊位址 SL:源極線 SGD、SGS:選擇閘極線 S101~S114:步驟 Td:位元線側選擇電晶體 Ts:源極線側選擇電晶體 Vpgm:寫入電壓 Vpass:通過電壓 Vread:讀出通過電壓 Vers:抹除電壓
圖1是表示現有的半導體記憶體的一例的圖。 圖2是表示本發明的實施例的快閃記憶體的整體構成的圖。 圖3是表示本發明的實施例的儲存單元陣列的區塊內部構成的圖。 圖4是表示本實施例的快閃記憶體的區塊內的構成的圖。 圖5(A)表示SRAM中所保持的位址轉換表的示意圖,圖5(B)表示SRAM中所保持的當前參照表的示意圖。 圖6是示意性地表示儲存單元陣列的各區塊的狀態的示意圖。 圖7是說明將從主機設備輸入的邏輯位址轉換成物理位址的動作的圖。 圖8(A)、圖8(B)及圖8(C)是表示本發明的實施例的空閒區塊表、無效區塊表、狀態區塊表的示意圖。 圖9是表示本發明的實施例的抹除動作的流程的圖。 圖10是表示本發明的實施例的抹除動作的流程的圖。 圖11(A)及圖11(B)是表示在進行抹除動作時經改寫的位址轉換表與當前參照表的示意圖。 圖12是示意性地表示進行抹除動作時的儲存單元陣列的各區塊的狀態的示意圖。 圖13(A)、圖13(B)及圖13(C)是表示進行抹除動作時經改寫的空閒區塊表、無效區塊表、狀態區塊表的示意圖。
100:快閃記憶體 110:儲存單元陣列 120:輸入緩衝器 130:位址暫存器 140:控制器 142:靜態隨機存取記憶體 144:電阻變化型記憶體 150:字元線選擇電路 160:頁面緩衝器/感測器電路 170:行選擇電路 180:內部電壓產生電路 Ax:列位址資訊 Ay:行位址資訊 Vpgm:寫入電壓 Vpass:通過電壓 Vread:讀出通過電壓 Vers:抹除電壓

Claims (10)

  1. 一種半導體儲存裝置,包括: 儲存單元陣列,包含多個區塊; 第一保持部件,保持用以將邏輯位址資訊轉換成物理位址資訊的轉換資訊; 第二保持部件,保持用以識別應抹除的區塊的物理位址資訊; 第三保持部件,保持用以識別基於編程/抹除次數來選擇的已抹除的能使用的區塊的物理位址資訊; 抹除部件,抹除所述儲存單元陣列的區塊;以及 控制部件, 在從外部接收到抹除命令及邏輯位址資訊時,所述控制部件基於所述轉換資訊將所述邏輯位址轉換為第一物理位址資訊, 在由所述第二保持部件所保持的第二物理位址資訊與所述第一物理位址資訊不一致的情況下,所述控制部件使所述抹除部件抹除相當於所述第二物理位址資訊的區塊, 所述控制部件以所述第三保持部件所保持的第三物理位址資訊與所述邏輯位址資訊對應的方式更新所述第一保持部件的轉換資訊。
  2. 如申請專利範圍第1項所述的半導體儲存裝置,其中,所述控制部件將所述第一物理位址資訊追加至所述第二保持部件,將所述第三物理位址資訊從所述第三保持部件刪除。
  3. 如申請專利範圍第1項所述的半導體儲存裝置,其中,所述半導體儲存裝置更包括編程部件,所述編程部件用以在所述儲存單元陣列的選擇頁對資料進行編程, 所述控制部件使所述編程部件在相當於所述第三物理位址資訊的區塊的經選擇頁面的備用區域中對所述邏輯位址資訊與表示所述區塊正在使用中的狀態進行編程。
  4. 如申請專利範圍第3項所述的半導體儲存裝置,其中,所述控制部件使所述編程部件在相當於所述第一物理位址資訊的區塊的經選擇頁面的備用區域中對表示所述區塊成為應抹除的區塊的狀態進行編程。
  5. 如申請專利範圍第1項至第4項中任一項所述的半導體儲存裝置,其中,在儲存單元陣列所確定的區域中對與區塊的狀態相關的資訊進行編程, 所述控制部件基於與所述狀態相關的資訊來生成由所述第一保持部件、第二保持部件、第三保持部件所保持的資訊。
  6. 如申請專利範圍第5項所述的半導體儲存裝置,其中,所述控制部件在投入電源時,從所述儲存單元陣列讀出與所述狀態相關的資訊。
  7. 如申請專利範圍第1項至第4項中任一項所述的半導體儲存裝置,其中,所述半導體儲存裝置更包括第四保持部件,所述第四保持部件在進行抹除動作時,對與各區塊的狀態相關的資訊進行保持, 所述控制部件在進行編程動作時,在儲存單元陣列的相應的備用區域中對與所述第四保持部件所保持的狀態相關的資訊進行編程。
  8. 如申請專利範圍第7項所述的半導體儲存裝置,其中,所述第四保持部件將與狀態相關的資訊保持在非揮發性記憶體中。
  9. 如申請專利範圍第1項所述的半導體儲存裝置,其中,為了反映所述儲存單元陣列的物理區塊位址的狀態,所述控制部件將所述第二保持部件所保持的對應的物理區塊位址的狀態從無效的區塊改寫為已抹除的區塊,且對所述編程/抹除次數加上1。
  10. 如申請專利範圍第1項所述的半導體儲存裝置,其中,所述控制部件搜索所述編程/抹除次數小、狀態為已抹除的區塊,且未登記於所述第三保持部件的物理區塊位址,並且所述控制部件為了將所搜索的物理區塊位址追加至所述第三保持部件而進行寫入。
TW108144904A 2019-03-27 2019-12-09 半導體儲存裝置 TWI706249B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-060533 2019-03-27
JP2019060533A JP6727365B1 (ja) 2019-03-27 2019-03-27 半導体記憶装置

Publications (2)

Publication Number Publication Date
TWI706249B true TWI706249B (zh) 2020-10-01
TW202036302A TW202036302A (zh) 2020-10-01

Family

ID=71663970

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108144904A TWI706249B (zh) 2019-03-27 2019-12-09 半導體儲存裝置

Country Status (5)

Country Link
US (1) US11221945B2 (zh)
JP (1) JP6727365B1 (zh)
KR (1) KR102294042B1 (zh)
CN (1) CN111768808B (zh)
TW (1) TWI706249B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11416405B1 (en) 2020-02-07 2022-08-16 Marvell Asia Pte Ltd System and method for mapping memory addresses to locations in set-associative caches

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6230233B1 (en) * 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US8929143B2 (en) * 2011-08-29 2015-01-06 Hitachi, Ltd. Flash memory module for realizing high reliability
US9189420B2 (en) * 2011-06-24 2015-11-17 Huawei Technologies Co., Ltd. Wear-leveling method, storage device, and information system
US9891838B2 (en) * 2015-03-13 2018-02-13 Samsung Electronics Co., Ltd. Method of operating a memory system having a meta data manager
US20180247948A1 (en) * 2017-02-28 2018-08-30 Toshiba Memory Corporation Memory system and method for controlling nonvolatile memory

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6772274B1 (en) * 2000-09-13 2004-08-03 Lexar Media, Inc. Flash memory system and method implementing LBA to PBA correlation within flash memory array
JP4058322B2 (ja) * 2002-10-07 2008-03-05 株式会社ルネサステクノロジ メモリカード
EP1713085A1 (en) * 2002-10-28 2006-10-18 SanDisk Corporation Automated wear leveling in non-volatile storage systems
US6944063B2 (en) * 2003-01-28 2005-09-13 Sandisk Corporation Non-volatile semiconductor memory with large erase blocks storing cycle counts
WO2005106673A1 (ja) * 2004-04-28 2005-11-10 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶装置及びデータ書込み方法
KR100671625B1 (ko) * 2004-12-28 2007-01-19 주식회사 하이닉스반도체 블록 사이즈를 변경할 수 있는 난드 플래시 메모리 장치
US7509474B2 (en) * 2005-06-08 2009-03-24 Micron Technology, Inc. Robust index storage for non-volatile memory
KR101297283B1 (ko) * 2006-07-10 2013-08-19 삼성전자주식회사 낸드형 셀 스트링을 가지는 비휘발성 기억 장치
JP2009175877A (ja) 2008-01-22 2009-08-06 Toshiba Corp 半導体メモリ
JP2009266258A (ja) * 2008-04-22 2009-11-12 Hitachi Ltd 半導体装置
US20110161560A1 (en) * 2009-12-31 2011-06-30 Hutchison Neil D Erase command caching to improve erase performance on flash memory
JP2012234482A (ja) * 2011-05-09 2012-11-29 Canon Inc 記憶制御装置及びその制御方法、並びにプログラム
JP5619812B2 (ja) * 2012-04-24 2014-11-05 ウィンボンドエレクトロニクス コーポレーション 半導体記憶装置
KR102233808B1 (ko) * 2014-03-14 2021-03-30 삼성전자주식회사 저장 장치 및 그것의 테이블 관리 방법
JP5734492B1 (ja) * 2014-05-08 2015-06-17 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
US10365835B2 (en) * 2014-05-28 2019-07-30 Micron Technology, Inc. Apparatuses and methods for performing write count threshold wear leveling operations
KR101633442B1 (ko) * 2014-10-10 2016-06-24 윈본드 일렉트로닉스 코포레이션 반도체 메모리 장치, 반도체 시스템 및 독출 방법
US9431116B2 (en) 2014-11-19 2016-08-30 Sandisk Technologies Llc Configuration parameter management using a configuration tool
TWI537964B (zh) 2015-04-20 2016-06-11 華邦電子股份有限公司 反及閘快閃記憶體和其操作方法
CN106297881B (zh) 2015-05-27 2020-09-11 旺宏电子股份有限公司 非挥发性存储器的健康管理

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6230233B1 (en) * 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US9189420B2 (en) * 2011-06-24 2015-11-17 Huawei Technologies Co., Ltd. Wear-leveling method, storage device, and information system
US8929143B2 (en) * 2011-08-29 2015-01-06 Hitachi, Ltd. Flash memory module for realizing high reliability
US9891838B2 (en) * 2015-03-13 2018-02-13 Samsung Electronics Co., Ltd. Method of operating a memory system having a meta data manager
US20180247948A1 (en) * 2017-02-28 2018-08-30 Toshiba Memory Corporation Memory system and method for controlling nonvolatile memory

Also Published As

Publication number Publication date
JP6727365B1 (ja) 2020-07-22
CN111768808B (zh) 2022-06-07
US11221945B2 (en) 2022-01-11
US20200310960A1 (en) 2020-10-01
TW202036302A (zh) 2020-10-01
JP2020160871A (ja) 2020-10-01
KR102294042B1 (ko) 2021-08-26
CN111768808A (zh) 2020-10-13
KR20200116019A (ko) 2020-10-08

Similar Documents

Publication Publication Date Title
JP4746598B2 (ja) 半導体記憶装置
TWI665682B (zh) Semiconductor memory device and memory system
US7039775B2 (en) Non-volatile storage device and rewrite control method thereof
US8046525B2 (en) Nonvolatile semiconductor memory device with advanced multi-page program operation
US11262939B2 (en) Memory system, memory controller, and operation method
KR20220013661A (ko) 메모리 시스템, 메모리 장치 및 메모리 장치의 동작 방법
JP2016091569A (ja) Nand型フラッシュメモリのプログラム方法
TWI706249B (zh) 半導體儲存裝置
KR20220001137A (ko) 메모리 시스템, 메모리 장치 및 메모리 장치의 동작 방법
JP5731622B2 (ja) フラッシュメモリ、バッドブロックの管理方法および管理プログラム
TWI721666B (zh) 半導體儲存裝置
JP3672576B2 (ja) 不揮発性半導体メモリ装置
TWI530957B (zh) 快閃記憶體、壞區塊的管理方法及管理程式
JP4661748B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
KR20210071314A (ko) 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법
JP6708762B1 (ja) 半導体記憶装置
JP4304167B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
KR20210113743A (ko) 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법
JP3908238B2 (ja) 不揮発性半導体メモリ装置のデータ書き込み方法
KR20220029903A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
JP4050250B2 (ja) 不揮発性半導体メモリ装置
KR20210155467A (ko) 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법
KR20210054187A (ko) 메모리 시스템, 메모리 장치 및 메모리 시스템의 동작 방법