TWI502594B - 用於快閃儲存裝置之半區塊管理 - Google Patents
用於快閃儲存裝置之半區塊管理 Download PDFInfo
- Publication number
- TWI502594B TWI502594B TW102139227A TW102139227A TWI502594B TW I502594 B TWI502594 B TW I502594B TW 102139227 A TW102139227 A TW 102139227A TW 102139227 A TW102139227 A TW 102139227A TW I502594 B TWI502594 B TW I502594B
- Authority
- TW
- Taiwan
- Prior art keywords
- block
- sub
- erasable
- blocks
- invalid
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
- G11C16/3427—Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本發明係關於記憶體裝置。
快閃記憶體係為一種普遍使用之高容量、非揮發性記憶體(non-volatile memory)。快閃記憶體可用以進行包括區塊抹除、字或位元組編程、分頁編程、字或位元組讀取及分頁讀取之操作。為了一區塊抹除之目的,記憶體之一區塊之大小可以由記憶體陣列之組態所決定,且譬如可能大於一分頁(page)。
很多快閃記憶體技術具有有限的持久性(endurance)。亦即,可靠地儲存資料之能力隨著編程及抹除周期(cycle)數增加超過安全極限而降低。
提供可增加區塊之利用,並減少這種型式之記憶體之區塊抹除次數(block-erase count)之區塊抹除管理方法是有需要的。
一種針對包括有於一陣列中之記憶胞(memory cell)
之可抹除區塊之記憶胞陣列的區塊抹除操作之管理方法係被描述。如以下所提出的,可維持此陣列之對應的可抹除區塊之多個子區塊之狀態資料。狀態資料表示子區塊目前是否可存取(例如,可利用來程式化或讀取)以及子區塊是否失效(例如,不可利用來程式化或讀取)。回應於一抹除一特定可抹除區塊之一選定子區塊之請求,此方法包括基於特定可抹除區塊之另一子區塊或其他子區塊之狀態資料,來更新選定子區塊之狀態資料。又,回應於一抹除一特定可抹除區塊之一選定子區塊中的資料之請求,如果特定可抹除區塊之其他子區塊是失效的,則可發出一抹除命令以抹除特定區塊,否則更新狀態資料以表示選定子區塊是失效的。
本技術之其他實施樣態及優點可在檢閱圖式、詳細說明以及以下之申請專利範圍時獲得瞭解。
100‧‧‧資料處理系統
110‧‧‧應用程式
120‧‧‧磁碟檔案系統
125‧‧‧快閃轉換層
130‧‧‧原生性檔案系統
140‧‧‧記憶體技術裝置檔案
150‧‧‧記憶體/記憶體裝置
210、220、230、235、240‧‧‧步驟
310、315、320、325、330、335‧‧‧可抹除區塊
410‧‧‧電腦系統
412‧‧‧匯流排次系統
414‧‧‧處理器次系統
416‧‧‧網路介面次系統
418‧‧‧通訊網路/電腦網路
420‧‧‧使用者介面輸出裝置
422‧‧‧使用者介面輸入裝置
424‧‧‧儲存次系統
426‧‧‧主機記憶體次系統
428‧‧‧檔案儲存次系統
430‧‧‧主要隨機存取記憶體(RAM)
431‧‧‧快閃記憶體
432‧‧‧唯讀記憶體(ROM)
第1圖係為結合一快閃記憶體之一儲存系統之方塊圖。
第2圖係為一種用於區塊抹除管理之方法之流程圖。
第3A-3F圖顯示譬如用於一區塊抹除管理系統之子區塊操作之狀態改變。
第4圖係為一種包括區塊抹除管理資源之電腦系統之方塊圖。
以下將參考附圖提供本技術之數個實施例之詳細說明。
第1圖係為結合一記憶體(例如一高容量3D NAND快閃記憶體150)之一資料處理系統100之功能層之方塊圖。記憶體可以是其他種類之NAND快閃記憶體、NOR快閃記憶體,且在所顯示之例子中,或者是具有可抹除區塊之任何適當的記憶體裝置。記憶體實體上可被設計成為多個區段(sector),以使每個實體區段成為一個用於被記憶體所支援之區塊抹除操作之最小單元。記憶體之一可抹除區塊可譬如對應至一個或多個實體區段。舉例而言,記憶體之每個實體區段的大小可以是16KB。記憶體150之一可抹除區塊可包括一個實體區段並具有與實體區段相同的16KB大小。記憶體之一可抹除區塊可包括4個實體區段並具有64KB之大小。記憶體之一可抹除區塊可包括8個實體區段並具有128KB之大小。
在用於分頁(page)模式操作之記憶體中,記憶體之每個可抹除區塊可包括多個分頁,且每個分頁可藉由被記憶體所支援之分頁編程及分頁讀取操作而被程式化或讀取。舉例而言,1-Gbit單層單元(single-level-cell,SLC)NAND快閃記憶體裝置可包括每個大小128KB之1K可抹除區塊。每個可抹除區塊可包括每個大小2KB之64個分頁。每個分頁可包括供錯誤校正碼(error correction code,ECC)或其他功能用之額外儲存空間(例如64位元組)。每個可抹除區塊可用對應的額外儲存空間來記錄壞損分頁、
抹除次數或其他資料(例如4KB)。
一種快閃記憶體可用以使記憶體之一分頁可藉由提供一分頁編程或分頁讀取命令,以及對應於此分頁之一位址給記憶體,而被程式化或讀取。又,快閃記憶體可用以使記憶體之每個區塊可藉由提供一區塊抹除命令以及對應於此區塊之一位址給記憶體而被抹除。舉例而言,上述例子1-Gbit SLC NAND快閃記憶體裝置之每個特定分頁可以是可利用一16位元位址來進行編址,而16位元位址之10個最高有效位元係為包括特定分頁之區塊之位址。在這個1-Gbit SLC NAND例子中,一分頁可藉由提供一分頁讀取或頁面編程命令以及對應於此頁面之一16位元位址給1-Gbit SLC NAND快閃記憶體裝置而被程式化或讀取。在這個1-Gbit SLC NAND例子中,一可抹除區塊可藉由提供一區塊抹除命令與對應於可抹除區塊之10個最高有效位元(在16位元位址格式中)給1-Gbit SLC NAND快閃記憶體裝置而被抹除。
系統100包括一個或多個檔案系統,其基於來自一應用程式110之多個請求來儲存、擷取並更新儲存於記憶體150中之資料。於此實施例中之檔案系統包括磁碟檔案系統120,例如檔案配置表(File Allocation Table,FAT)檔案系統、第三延伸檔案系統(Third Extended File System,EXT3)或新技術檔案系統(New Technology File System,NTFS)。於此實施例中之檔案系統亦包括一種為快閃記憶體而設計之原生性(native)檔案系統130,例如日誌式快閃檔案系統版本2(Journaling Flash File System
Version 2,JFFS2)、無排序區塊圖像檔案系統(Unsorted Block Image File System,UBIFS)或又另一種快閃檔案系統(Yet Another Flash File System,YAFFS)。檔案系統120或130經由例如一讀取驅動器(用於分頁讀取操作)、一程式驅動器(用於分頁編程操作)以及一抹除驅動器(用於區塊抹除操作)之裝置驅動器來存取記憶體150。例如一記憶體技術裝置檔案(Memory Technology Device file)140之軟體層可提供一個在裝置驅動器與檔案系統120或130之間的介面。
所述的系統100亦包括一個作為在磁碟檔案系統120與裝置驅動器(或記憶體技術裝置檔案140)之間的介面之快閃轉換層(Flash Translation Layer)125。快閃轉換層125可執行在磁碟檔案系統120之邏輯位址與記憶體150之實體位址之間的位址轉換。快閃轉換層125包括一分配器模組,其定位記憶體150中之實體記憶體空間。快閃轉換層125包括一清潔器模組,其回收(reclaims)記憶體150中之未被使用的實體空間。快閃轉換層125包括一磨損平均器(wear-leveler)模組,其在記憶體150上執行磨損平均(wear leveling)程序。
系統100之多個元件可做出抹除記憶體150之一可抹除區塊之個請求。舉例而言,磨損平均器模組(或原生性檔案系統130)可執行一磨損平均程序,其將儲存於記憶體150之一第一可抹除區塊之分頁中的資料傳輸至記憶體150之一第二可抹除區塊(例如,藉由存取記憶體技術裝置檔案140中之讀取及程式驅動
器)。在傳輸資料之後,磨損平均器模組將此資料之邏輯位址映射至儲存傳輸資料之第二可抹除區塊中的分頁之實體位址,並請求記憶體技術裝置檔案140抹除第一可抹除區塊。舉例而言,分配器模組可藉由請求記憶體技術裝置檔案140抹除可抹除區塊(例如,騰出用於分頁寫入操作之空間)來定位記憶體150之一可抹除區塊。舉例而言,清潔器模組可在記憶體150中確認具有過時資料之一可抹除區塊,並藉由請求記憶體技術裝置檔案140將可抹除區塊抹除來回收可抹除區塊。
系統100中之其他功能可能需要要求抹除一可抹除區塊以完成動作之多個操作。對針對一邏輯位址之某些寫入命令而言,實體位址係被決定,並且一連串的命令係被執行,以將資料寫入實體位址中。一連串的命令可包括多個區塊抹除操作,以釋放用於編程操作之實體位址。又,針對多種理由,一磁碟檔案系統120(經由快閃轉換層125)以及一原生性檔案系統130可對記憶體技術裝置140產生抹除可抹除區塊中的資料之請求。
第2圖係為一種用於記憶胞陣列之區塊抹除管理之方法之流程圖,此記憶胞陣列包括在一陣列中多個記憶胞之多個可抹除區塊。舉例而言,此記憶胞陣列或記憶體陣列可以是一NAND快閃記憶體、一相變記憶體(phase change memory)或具有記憶胞之可抹除區塊之任何適當的記憶體。
記憶體陣列可以是一儲存系統之一部分。舉例而言,記憶體陣列可以是第1圖所示之系統100之記憶體150。一
種用於區塊抹除管理之方法可利用在系統100上執行的軟體來實施。舉例而言,此方法可利用一區塊抹除管理模組作為記憶體技術裝置檔案140之一部分來實施。這種用於區塊抹除管理之方法之實行對檔案系統120或130而言可以是透明的。或者,區塊抹除管理之方法可實作在快閃轉換層125或原生性檔案系統130。用於實施區塊抹除管理之方法之軟體或程式碼可被儲存於一個或多個非暫時性電腦可讀取儲存媒體中,例如一個或多個積體電路、硬式磁碟機、DRAM裝置、快閃記憶體裝置,任何適合的電腦可讀取的非暫時性儲存媒體,或上述之任何適當的組合。舉例而言,用於實施區塊抹除管理之方法之軟體或程式碼可被儲存於存取記憶體150之一計算裝置之一硬式磁碟機中。對另一例而言,用於實施區塊抹除管理之方法之軟體或程式碼可與記憶體裝置150之一個或多個驅動器一起被儲存於記憶體150之一儲存區域中。
於所述的例子中,記憶體技術裝置層140之區塊抹除管理模組包括支援所述之區塊抹除管理程序之狀態資料。狀態資料指示記憶體中之某些或全部可抹除區塊之一區塊抹除狀態。邏輯上,狀態資料將記憶體陣列之每個可抹除區塊分割成為多個子區塊。多個子區塊的大小可以是相等的。舉例而言,一可抹除區塊可包括兩個子區塊,且每個子區塊係為可抹除區塊之一半區塊。對另一例而言,一可抹除區塊可包括四個子區塊,且每個子區塊具有可抹除區塊之25%的大小。
一子區塊之狀態資料可被組織以表示或標記子區塊是否是可存取的,且子區塊是否失效。在一個組態中,針對所述之區塊抹除管理程序之每個可抹除區塊對象,狀態資料可包括「使用中」、「閒置(free)」以及「失效」狀態。於此組態中,如果一子區塊是可存取的並包括儲存的資料(例如,藉由檔案系統,資料被編程入子區塊中之一個或多個分頁),則子區塊之狀態資料指示此子區塊係在使用中。如果一子區塊是可存取的並被抹除(例如,因為最終抹除操作被應用至包括該子區塊之可抹除區塊,所以該子區塊中之分頁尚未藉由檔案系統被編程),則此子區塊之狀態資料指示此子區塊是閒置的。如果一子區塊對檔案系統來說是不可存取的(亦即,已經成為一抹除請求的對象,但此可抹除區塊因為此請求之結果而未被抹除),則此子區塊之狀態資料可指示此子區塊是失效的。儲存於標記為失效之子區塊的資料是無法由檔案系統所存取的。此方法可儲存並維持一表格中之狀態資料。此表格可被儲存於執行實施此方法之軟體之一計算裝置之一本地儲存區(例如,DRAM、硬式磁碟機、固態硬碟)中。又,此表格之副本可儲存於非揮發性記憶體(包括譬如記憶體陣列)中,用於在斷電事件等等之後作為復原使用。
結合記憶體陣列之系統100中的其他元件可產生抹除記憶體陣列之一可抹除區塊之一子區塊之請求。亦即,基於實體位址產生請求之系統之其他元件可用以藉由使用一子區塊作為區塊抹除操作之一管理單元來操作。舉例而言,磨損平均器模
組可將儲存於記憶體150之一第一可抹除區塊之一子區塊中之資料傳輸至另一可抹除區塊,並請求區塊抹除管理模組抹除該第一可抹除區塊之該子區塊。舉例而言,分配器模組可藉由請求區塊抹除管理模組抹除記憶體150之一可抹除區塊之一子區塊來分配(allocate)該子區塊。舉例而言,清潔器模組可藉由請求區塊抹除管理模組來抹除記憶體150之一可抹除區塊之一子區塊,來回收該子區塊。
第2圖係為顯示一區塊抹除管理程序之流程圖,其可在一類似第1圖之系統中被實施。此程序維持記憶體陣列之可抹除區塊之複數個子區塊之狀態資料(步驟210)。回應於抹除一特定可抹除區塊之一選定子區塊中的資料之一請求,此方法基於特定可抹除區塊之另一子區塊或其他子區塊之狀態資料來更新選定子區塊之狀態資料。更特別的是,回應於抹除特定可抹除區塊之選定子區塊中的資料之請求,此方法決定特定可抹除區塊之其他子區塊是否失效(步驟220)。如果特定可抹除區塊之所有其他子區塊目前被標記為失效,則此方法發出一抹除命令以抹除此特定可抹除區塊(步驟230)。然後,可抹除區塊之所有子區塊可被標記為閒置(步驟235)。如果於步驟220中,發現特定可抹除區塊之其他子區塊之至少一者目前是可存取的,則此方法更新狀態資料以指示選定子區塊是失效的(步驟240),且不需執行所請求的區塊抹除。
舉例而言,回應於由磨損平均器模組所產生之抹除
記憶體150之一特定可抹除區塊之一選定子區塊中的資料之一請求,區塊抹除管理模組決定特定可抹除區塊之其他子區塊是否目前是失效的(如記憶體150之狀態資料所指示者)。如果特定可抹除區塊之其他子區塊並非全部是失效的,則區塊抹除管理模組更新狀態資料,以將選定子區塊標記為失效。如果特定可抹除區塊之其他子區塊全部是失效的,則區塊抹除管理模組發出一抹除命令(與一對應的實體位址),以抹除特定可抹除區塊。再者,在發出抹除命令給抹除驅動器以抹除特定可抹除區塊之後,區塊抹除管理模組更新狀態資料,以將特定可抹除區塊之所有子區塊標記為閒置或可存取的。
第3A至3F圖顯示在各種操作的例子中之可抹除區塊之子區塊中之狀態資料之改變。第3A至3F圖所顯示之每個可抹除區塊邏輯上被分為兩個子區塊(子區塊1及子區塊2)。如第3A圖之左側所示,可抹除區塊310之兩個子區塊1及2均被標記為使用中。參考第3A圖,舉例而言,回應於抹除可抹除區塊310之子區塊1之一請求,子區塊1被標記為失效,而子區塊2維持使用中之狀態,如第3A圖之右側所示。因為只有子區塊1被標記為失效,所以子區塊2中之資料仍然是可存取的。舉例而言,一檔案系統(或一位址轉換層)可對可抹除區塊310之子區塊2中的分頁發出分頁讀取或編程請求。
又,於第3B圖中,可抹除區塊315之兩個子區塊1及2最初被標記為使用中。回應於抹除可抹除區塊315之子區塊
2之一請求(如第3B圖之左側所示),因為子區塊1目前是使用中,所以此方法將子區塊2標記為失效。在其子區塊2被標記為失效之後之可抹除區塊315係如第3B圖之右側所示。在子區塊2被標記為失效之後,儲存於可抹除區塊315之子區塊1中的資料仍然是可存取的。
於第3C圖中,在可抹除區塊320中,第一子區塊最初被標記為使用中,而第二子區塊被標記為「閒置」。如第3C圖所顯示的,回應於抹除可抹除區塊320之子區塊1之一請求,因為可抹除區塊320之子區塊2目前被標記為閒置,所以子區塊1被標記為失效,如第3B圖之右側所示。在子區塊1被標記為失效之後,可抹除區塊320之子區塊2仍然是可存取的。
於第3D圖中,在可抹除區塊325中,第二子區塊最初被標記為使用中,而第一子區塊被標記為「閒置」。如第3D圖所示,回應於抹除可抹除區塊325之子區塊2之一請求,因為可抹除區塊325之子區塊1目前被標記為閒置,所以子區塊2被標記為失效,如第3D圖之右側所示。在子區塊2被標記失效之後,可抹除區塊325之子區塊1仍然是可存取的。
如第3E圖之左側所示,可抹除區塊330之子區塊1被標記為使用中,而可抹除區塊330之子區塊2被標記為失效。舉例而言,回應於抹除第3E圖之左側所示之可抹除區塊330之子區塊1之一請求,因為可抹除區塊之另一子區塊(子區塊2)目前是失效的,所以此方法會抹除可抹除區塊330之兩個子區塊1及
2。於此,被標記為失效的子區塊2可以是下列情況所產生的結果:在子區塊1維持在使用中時,子區塊2已成為一請求之將要抹除的對象,如第3B圖中之可抹除區塊315所示者。再者,此方法更新子區塊1及2之狀態資料,並將子區塊1及2標記為閒置。可抹除區塊330在其子區塊1及2被標記為閒置之後,係顯示於第3E圖之右側。
如第3F圖之左側所示,可抹除區塊335之子區塊1被標記為失效,而可抹除區塊335之子區塊2被標記為使用中。回應於抹除第3F圖之左側所示之抹除可抹除區塊335之子區塊2之一請求,此方法抹除可抹除區塊335之子區塊1及2兩者,並將子區塊1及2兩者標記為閒置。子區塊1及2被標記為閒置之後之可抹除區塊335係顯示於第3F圖之右側。
於其他實施例中,當其他子區塊是在使用中時,如果超過一預定數目以上的可抹除區塊之子區塊已成為抹除請求之目標的話,則此方法抹除一整個可抹除區塊(但必須將可抹除區塊上的有效資料複製到其他可閒置的區塊)。舉例而言,此方法可將每個可抹除區塊分為四個子區塊,並維持每個子區塊之狀態資料,如前面所討論的。回應於抹除一特定可抹除區塊之一第一子區塊之一請求,如果特定可抹除區塊之少於兩個其他子區塊目前是失效的,則此方法將第一子區塊標記為失效。如果特定可抹除區塊之至少兩個其他子區塊目前被標記為失效(成為抹除請求之目標的結果),則方法首先將具有有效資料之使用中區塊中的那些
子區塊複製至另一個區塊,然後抹除特定可抹除區塊之所有子區塊並將所有子區塊標記為閒置。
第4圖係為一電腦系統410之方塊圖,電腦系統410可包括第1圖所示之一區塊抹除管理模組。
電腦系統410通常包括一處理器次系統414,其經由匯流排次系統412與一些周邊裝置溝通。這些周邊裝置可包括一儲存次系統424(包括一記憶體次系統426及一檔案儲存次系統428)、使用者介面輸入裝置422、使用者介面輸出裝置420以及一網路介面次系統416。輸入及輸出裝置允許使用者與電腦系統410互動。網路介面次系統416提供一介面給外部網路(包括一介面給通訊網路418),並經由通訊網路418耦接至其他電腦系統中之對應的介面裝置。通訊網路418可包括許多互連的電腦系統及通訊連結(link)。這些通訊連結可能是有線連結、光學連結、無線連結或任何其他用以傳輸資訊的機制,但一般其係為一種IP位址對應(IP-based)之通訊網路。雖然於一實施例中,通訊網路418係為網際網路(Internet),但在其他實施例中,通訊網路418可以是任何適當的電腦網路。
網路介面之實體硬體元件有時被稱為網路介面卡(Network Interface Cards,NIC),雖然它們不需以卡之型式存在:例如它們可以以直接固接至一主機板之上的積體電路(IC)及連接器之型式存在,或以建構在單一積體電路晶片與電腦系統之其他元件上的巨型細胞(macrocell)之型式存在。
使用者介面輸入裝置422可包括一鍵盤、指向裝置(例如一滑鼠、軌跡球、觸控板或繪圖板)、一掃描器、一併入顯示器之觸控螢幕、音頻輸入裝置(例如語音識別系統)、麥克風以及其他型式之輸入裝置。一般而言,用語「輸入裝置」之使用係意圖包括將資訊輸入至電腦系統410中或至電腦網路418上的所有可能型式之裝置及方式。
使用者介面輸出裝置420可包括一顯示器次系統、一印表機、一傳真機或非視覺顯示器(例如音頻輸出裝置)。顯示器次系統可包括一陰極射線管(CRT)、例如為一液晶顯示器(LCD)之一平板裝置、一投影裝置,或用以產生一可見影像之某些其他機制。顯示器次系統亦可提供非視覺顯示器,例如經由音頻輸出裝置。一般而言,用語「輸出裝置」之使用係意圖包括將資訊從電腦系統410輸出至使用者或至另一個機器或電腦系統之所有可能型式之裝置及方式。
儲存次系統424儲存基本程式及資料構成,其提供本發明之某些實施例之功能。舉例而言,實施本發明之某些實施例之功能的各種模組可儲存於儲存次系統424中。舉例而言,用於實施上述區塊抹除管理之方法之區塊抹除管理模組可被儲存於儲存次系統424中。這些軟體模組一般是藉由處理器次系統414而執行。
記憶體次系統426通常包括一些記憶體,包括用於在程式執行期間儲存指令及資料之主隨機存取記憶體
(RAM)430,以及儲存固定指令之唯讀記憶體(ROM)432。記憶體次系統426亦可包括一快閃記憶體431。檔案儲存次系統428為程式及資料檔案提供持久儲存,並可包括一硬式磁碟機、伴隨相關的可移式媒體之軟式磁碟機、一CD ROM光碟機、一光碟機或可移式媒體盒(media cartridge)。實施本發明之某些實施例之功能之資料庫及模組可已被設置於一電腦可讀取媒體(例如一個或多個CD-ROM)上,且可由檔案儲存次系統428所儲存。除此之外,主機記憶體次系統426包括電腦指令,當其由處理器次系統414執行時,係使電腦系統操作或執行所述的功能。如同此處所使用的,敘述成在「主機」或「電腦」中或在其上執行之程序及軟體,係在處理器次系統414上執行,以回應於主機記憶體次系統426(包括任何其他這種指令及資料之本地或遠端儲存區)中之電腦指令及資料。
匯流排次系統412提供一種用於讓電腦系統410之各種元件及次系統如預期地彼此通訊的機制。雖然匯流排次系統412係概要地顯示為單一匯流排,但匯流排次系統之替代實施例可使用多匯流排。
電腦系統410本身可以是各種型式,包括一個人電腦、一可攜式電腦、一工作站、一電腦終端機、一網路電腦、一電視機、一大型電腦(mainframe)、一伺服器群(server farm)或任何其他資料處理系統或使用者裝置。由於電腦及網路之不斷變化的特性,第4圖中所描繪的電腦系統410之說明只是為了說明本發
明之較佳實施例的目的,而作為一特定例子。電腦系統410之很多其他的組態可能具有比第4圖中所繪示之電腦系統更多或更少的元件。
雖然本發明係參考上述之較佳實施例及例子而揭露,但吾人應理解到這些例子係意圖呈現一種說明而非限制的意義。吾人考慮到熟習本項技藝者將輕易想到多種修改及組合,這些修改及組合將落在本發明之精神及以下申請專利範圍之範疇之內。
210、220、230、235、240‧‧‧步驟
Claims (20)
- 一種記憶體之操作方法,包括:針對一記憶胞之陣列,維持多個可抹除區塊之複數個子區塊的狀態資料,該記憶胞之陣列包括在該陣列中之記憶胞之該些可抹除區塊,該狀態資料指示該些子區塊目前是否可存取以及該些子區塊是否失效;及回應於抹除一特定可抹除區塊之一選定子區塊之一請求,基於該特定可抹除區塊之另一子區塊或其他子區塊之該狀態資料來更新該選定子區塊之該狀態資料。
- 如申請專利範圍第1項所述之方法,更包括:如果該狀態資料表示該些特定可抹除區塊之另一子區塊或其他子區塊是失效的,則發佈一抹除命令以抹除該特定可抹除區塊,否則更新該狀態資料以表示該選定子區塊是失效的。
- 如申請專利範圍第2項所述之方法,其中在發佈該抹除命令給該陣列之後,將該特定可抹除區塊之該些子區塊標記為閒置(free)。
- 如申請專利範圍第1項所述之方法,更包括:如果該狀態資料表示該特定可抹除區塊之一預定數目之其他子區塊是失效的,則將來自該特定可抹除區塊中之任何可存取的子區塊之資料複製至一不同的可抹除區塊,並發佈一抹除命令以抹除該特定可抹除區塊,否則更新該狀態資料以表示該選定子區塊是失效的。
- 如申請專利範圍第1項所述之方法,其中該特定可抹除區塊之該複數個子區塊包括一第一子區塊及一第二子區塊,而該請求之該子區塊對象係為該第一子區塊,然後如果該特定可抹除區塊之該第二子區塊目前是可存取的,則將該特定可抹除區塊之該第一子區塊標記為失效;及如果該特定可抹除區塊之該第二子區塊目前被標記為失效,則發佈該抹除命令以抹除該特定可抹除區塊之該第一子區塊與第二子區塊。
- 如申請專利範圍第1項所述之方法,其中該狀態資料表示當該特定可抹除區塊之其他子區塊維持使用中時,如果該特定可抹除區塊之一子區塊已成為一抹除請求之目標,則該特定可抹除區塊之該子區塊是失效的。
- 如申請專利範圍第1項所述之方法,其中如果一子區塊是可存取的且不包括儲存資料,則該子區塊被標記為閒置。
- 如申請專利範圍第1項所述之方法,其中該陣列包括NAND快閃記憶體。
- 如申請專利範圍第1項所述之方法,包括產生抹除多個選定子區塊之多個請求之位址轉換層及磨損平均器(wear-leveler)模組。
- 一種記憶體裝置,包括:一電腦可讀取的非暫時性記憶體儲存軟體,可執行:針對一記憶胞之陣列維持多個可抹除區塊之複數個子區 塊之狀態資料,該記憶胞之陣列包括在該陣列中之記憶胞之該些可抹除區塊,該些狀態資料指示該些子區塊目前是否可存取以及該些子區塊是否失效;及回應於抹除一特定可抹除區塊之一選定子區塊之一請求,基於該特定可抹除區塊之另一子區塊或其他子區塊之該狀態資料來更新該選定子區塊之該狀態資料。
- 如申請專利範圍第10項所述之裝置,其中該軟體可執行:如果該狀態資料表示該些特定可抹除區塊之另一子區塊或其他子區塊是失效的,則發佈一抹除命令以抹除該特定可抹除區塊,否則更新該狀態資料以表示該選定子區塊是失效的。
- 如申請專利範圍第10項所述之裝置,其中如果該狀態資料表示該特定可抹除區塊之一預定數目之其他子區塊是失效的,則該軟體可執行用於將來自該特定可抹除區塊中之任何可存取的子區塊之資料複製至一不同的可抹除區塊,並發佈一抹除命令以抹除該特定可抹除區塊,否則更新該狀態資料以表示該選定子區塊是失效的。
- 如申請專利範圍第10項所述之裝置,其中該特定可抹除區塊之該複數個子區塊包括一第一子區塊及一第二子區塊,而該請求之該子區塊對象係為該第一子區塊,然後;如果該特定可抹除區塊之該第二子區塊目前是可存取的,則該軟體將該特定可抹除區塊之該第一子區塊標記為失效; 及如果該特定可抹除區塊之該第二子區塊目前被標記為失效,則該軟體發佈該抹除命令以抹除該特定可抹除區塊之該第一子區塊與第二子區塊。
- 一種記憶體裝置,包括:一記憶胞之陣列,包括在該陣列中之多個記憶胞之多個可抹除區塊;及一處理器,耦接至該陣列,包括邏輯電路,用於:維持該些可抹除區塊之複數個子區塊之狀態資料,該狀態資料指示該些子區塊目前是否可存取以及該些子區塊是否失效;及回應於抹除一特定可抹除區塊之一選定子區塊之一請求,基於該特定可抹除區塊之另一子區塊或其他子區塊之該狀態資料來更新該選定子區塊之該狀態資料。
- 如申請專利範圍第14項所述之裝置,其中該處理器係被設計成用於:如果該狀態資料表示該些特定可抹除區塊之另一子區塊或其他子區塊是失效的,則發佈一抹除命令以抹除該特定可抹除區塊,否則更新該狀態資料以表示該選定子區塊是失效的。
- 如申請專利範圍第15項所述之裝置,包括在發佈該抹除命令給該陣列之後,將該特定可抹除區塊之該些子區塊標記為閒置。
- 如申請專利範圍第14項所述之裝置,其中該處理器係被設計成用於:如果該狀態資料表示該特定可抹除區塊之一預定數目之其他子區塊是失效的,則將來自該特定可抹除區塊中之任何可存取的子區塊之資料複製至一不同的可抹除區塊,並發佈一抹除命令以抹除該特定可抹除區塊,否則更新該些狀態資料以表示該選定子區塊是失效的。
- 如申請專利範圍第14項所述之裝置,其中該特定可抹除區塊之該複數個子區塊包括一第一子區塊及一第二子區塊,而該請求之該子區塊對象係為該第一子區塊,然後如果該特定可抹除區塊之該第二子區塊目前是可存取的,則該邏輯電路將該特定可抹除區塊之該第一子區塊標記為失效;及如果該特定可抹除區塊之該第二子區塊目前被標記為失效,則該邏輯電路發佈該抹除命令以抹除該特定可抹除區塊之該第一子區塊與第二子區塊。
- 如申請專利範圍第14項所述之裝置,其中:該狀態資料表示當該特定可抹除區塊之其他子區塊維持使用中時,如果該特定可抹除區塊之一子區塊已成為一抹除請求之目標,則該特定可抹除區塊之該子區塊是失效的。
- 如申請專利範圍第14項所述之裝置,其中該陣列包括NAND快閃記憶體。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361811821P | 2013-04-15 | 2013-04-15 | |
US14/018,149 US9558108B2 (en) | 2013-04-15 | 2013-09-04 | Half block management for flash storage devices |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201440059A TW201440059A (zh) | 2014-10-16 |
TWI502594B true TWI502594B (zh) | 2015-10-01 |
Family
ID=51686701
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102139227A TWI502594B (zh) | 2013-04-15 | 2013-10-30 | 用於快閃儲存裝置之半區塊管理 |
TW102142155A TWI518694B (zh) | 2013-04-15 | 2013-11-20 | 可減少記憶體干擾之記憶裝置及其操作方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102142155A TWI518694B (zh) | 2013-04-15 | 2013-11-20 | 可減少記憶體干擾之記憶裝置及其操作方法 |
Country Status (2)
Country | Link |
---|---|
US (2) | US9558108B2 (zh) |
TW (2) | TWI502594B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150160873A1 (en) * | 2013-12-10 | 2015-06-11 | Memory Technologies Llc | Filesystem tuned firmware for storage modules |
TWI560718B (en) * | 2015-03-27 | 2016-12-01 | Silicon Motion Inc | Data storage device and encoding method thereof |
KR20170015760A (ko) * | 2015-07-31 | 2017-02-09 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US9870167B2 (en) | 2015-10-12 | 2018-01-16 | Sandisk Technologies Llc | Systems and methods of storing data |
KR102606490B1 (ko) | 2016-06-30 | 2023-11-30 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 컨트롤러를 포함하는 스토리지 장치 |
KR102614083B1 (ko) | 2016-08-31 | 2023-12-18 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
US10275156B2 (en) | 2016-09-29 | 2019-04-30 | Intel Corporation | Managing solid state drive defect redundancies at sub-block granularity |
US9773567B1 (en) | 2017-02-22 | 2017-09-26 | Qualcomm Incorporated | Reduced silicon-oxide-nitride-oxide-silicon (SONOS) flash memory program disturb |
KR102596407B1 (ko) * | 2018-03-13 | 2023-11-01 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US10734084B2 (en) | 2018-05-31 | 2020-08-04 | Western Digital Technologies, Inc. | Scheme to reduce read disturb for high read intensive blocks in non-volatile memory |
CN109710297B (zh) * | 2019-01-07 | 2022-06-21 | 郑州天迈科技股份有限公司 | 一种设备整体或分模块进行升级和回退方法 |
US20240036729A1 (en) * | 2022-08-01 | 2024-02-01 | Western Digital Technologies, Inc. | Efficient Sub-Block Erasing |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008106778A1 (en) * | 2007-03-07 | 2008-09-12 | Mosaid Technologies Incorporated | Partial block erase architecture for flash memory |
WO2009086404A1 (en) * | 2007-12-27 | 2009-07-09 | Pliant Technology, Inc. | Mass storage controller volatile memory containing metadata related to flash memory storage |
US20110055458A1 (en) * | 2009-09-03 | 2011-03-03 | 248 Solid State, Inc. | Page based management of flash storage |
TW201142990A (en) * | 2010-02-17 | 2011-12-01 | Samsung Electronics Co Ltd | Nonvolatile memory device, operating method thereof, and memory system including the same |
US20120311246A1 (en) * | 2007-05-30 | 2012-12-06 | Mcwilliams Thomas M | System Including a Fine-Grained Memory and a Less-Fine-Grained Memory |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5404485A (en) | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
JPH08137634A (ja) | 1994-11-09 | 1996-05-31 | Mitsubishi Electric Corp | フラッシュディスクカード |
US6732221B2 (en) | 2001-06-01 | 2004-05-04 | M-Systems Flash Disk Pioneers Ltd | Wear leveling of static areas in flash memory |
KR100876084B1 (ko) * | 2007-02-13 | 2008-12-26 | 삼성전자주식회사 | 플래시 저장 장치로 삭제 정보를 전달할 수 있는 컴퓨팅시스템 |
KR20090120205A (ko) * | 2008-05-19 | 2009-11-24 | 삼성전자주식회사 | 플래시 메모리 장치 및 그것의 동작 방법 |
JP2011107851A (ja) * | 2009-11-13 | 2011-06-02 | Toshiba Corp | メモリシステム |
US8531886B2 (en) | 2010-06-10 | 2013-09-10 | Macronix International Co., Ltd. | Hot carrier programming in NAND flash |
US8947939B2 (en) | 2010-09-30 | 2015-02-03 | Macronix International Co., Ltd. | Low voltage programming in NAND flash |
WO2012051600A2 (en) * | 2010-10-15 | 2012-04-19 | Kyquang Son | File system-aware solid-state storage management system |
KR101703106B1 (ko) * | 2011-01-04 | 2017-02-06 | 삼성전자주식회사 | 부분-이레이즈 동작을 수행할 수 있는 비휘발성 메모리 장치와 상기 비휘발성 메모리 장치를 포함하는 장치들 |
US8902657B2 (en) * | 2012-09-07 | 2014-12-02 | Kabushiki Kaisha Toshiba | Semiconductor memory device and controller |
-
2013
- 2013-09-04 US US14/018,149 patent/US9558108B2/en active Active
- 2013-10-22 US US14/060,296 patent/US9025375B2/en active Active
- 2013-10-30 TW TW102139227A patent/TWI502594B/zh active
- 2013-11-20 TW TW102142155A patent/TWI518694B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008106778A1 (en) * | 2007-03-07 | 2008-09-12 | Mosaid Technologies Incorporated | Partial block erase architecture for flash memory |
US20120311246A1 (en) * | 2007-05-30 | 2012-12-06 | Mcwilliams Thomas M | System Including a Fine-Grained Memory and a Less-Fine-Grained Memory |
WO2009086404A1 (en) * | 2007-12-27 | 2009-07-09 | Pliant Technology, Inc. | Mass storage controller volatile memory containing metadata related to flash memory storage |
US20110055458A1 (en) * | 2009-09-03 | 2011-03-03 | 248 Solid State, Inc. | Page based management of flash storage |
TW201142990A (en) * | 2010-02-17 | 2011-12-01 | Samsung Electronics Co Ltd | Nonvolatile memory device, operating method thereof, and memory system including the same |
Also Published As
Publication number | Publication date |
---|---|
US9558108B2 (en) | 2017-01-31 |
US20140307505A1 (en) | 2014-10-16 |
TWI518694B (zh) | 2016-01-21 |
TW201440059A (zh) | 2014-10-16 |
TW201440058A (zh) | 2014-10-16 |
US20140310447A1 (en) | 2014-10-16 |
US9025375B2 (en) | 2015-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI502594B (zh) | 用於快閃儲存裝置之半區塊管理 | |
US11113149B2 (en) | Storage device for processing corrupted metadata and method of operating the same | |
TWI805323B (zh) | 儲存裝置 | |
TWI679537B (zh) | 資料移動方法及儲存控制器 | |
US9378135B2 (en) | Method and system for data storage | |
US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
US9396107B2 (en) | Memory system having memory controller with cache memory and NVRAM and method of operating same | |
TWI480733B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
US20100287217A1 (en) | Host control of background garbage collection in a data storage device | |
JP2018049522A (ja) | メモリシステム及び制御方法 | |
TWI592799B (zh) | 映射表更新方法、記憶體控制電路單元及記憶體儲存裝置 | |
US20150052415A1 (en) | Data storage device, operating method thereof and data processing system including the same | |
US10769018B2 (en) | System and method for handling uncorrectable data errors in high-capacity storage | |
KR20120037786A (ko) | 저장 장치, 그것의 락 모드 관리 방법, 및 그것을 포함하는 메모리 시스템 | |
KR20200020464A (ko) | 데이터 저장 장치 및 그 동작 방법 | |
TWI451439B (zh) | 記憶體儲存裝置、其記憶體控制器與資料寫入方法 | |
US20140013030A1 (en) | Memory storage device, memory controller thereof, and method for writing data thereof | |
EP3926451B1 (en) | Communication of data relocation information by storage device to host to improve system performance | |
KR20210028729A (ko) | 논리적 대 물리적 테이블 프래그먼트들 | |
CN111198825A (zh) | 存储设备和包括存储设备的存储系统 | |
TWI493341B (zh) | 記憶體儲存裝置及其修復方法 | |
TWI651650B (zh) | 記憶體管理方法及使用所述方法的儲存控制器 | |
CN110865945B (zh) | 存储设备的扩展地址空间 | |
JP2012068765A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
TWI728634B (zh) | 在儲存伺服器中進行資料存取管理的方法與裝置 |