TW201907401A - 在一低佇列深度環境中程式化n階nand快閃單元 - Google Patents

在一低佇列深度環境中程式化n階nand快閃單元 Download PDF

Info

Publication number
TW201907401A
TW201907401A TW107115053A TW107115053A TW201907401A TW 201907401 A TW201907401 A TW 201907401A TW 107115053 A TW107115053 A TW 107115053A TW 107115053 A TW107115053 A TW 107115053A TW 201907401 A TW201907401 A TW 201907401A
Authority
TW
Taiwan
Prior art keywords
page
pages
sequence
data
memory
Prior art date
Application number
TW107115053A
Other languages
English (en)
Other versions
TWI689926B (zh
Inventor
梯莫西 L 卡內帕
亞利 唐
史蒂芬 漢那
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 美商司固科技公司
Publication of TW201907401A publication Critical patent/TW201907401A/zh
Application granted granted Critical
Publication of TWI689926B publication Critical patent/TWI689926B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0882Page mode
    • 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/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • 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/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/24Bit-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/26Sensing or reading circuits; Data output circuits
    • 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/7211Wear leveling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Human Computer Interaction (AREA)
  • Read Only Memory (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

用於管理一資料儲存裝置中之資料的方法及設備。在一些實施例中,一非揮發性快取記憶體儲存來自一主機裝置的一頁面序列。一非揮發性主記憶體具有複數個n階單元,該複數個n階單元配置在m個分開的積體電路晶粒上,在程式化及讀取操作期間可使用一相關聯的傳輸電路同時存取各單元,其中m及n係複數數目。一控制電路將來自該頁面序列的第一頁面及第二頁面寫入至在一經選擇的積體電路晶粒上耦合至一共同字線之一經選擇的n階單元組。該第二頁面係藉由包含該頁面序列中之複數個插入頁面之一邏輯位移來與該頁面序列中之該第一頁面分開。該邏輯位移係回應於積體電路晶粒的數目m及與該傳輸電路相關聯之一延遲時間而作出選擇。

Description

在一低佇列深度環境中程式化N階NAND快閃單元
本文中所揭示之各種實施例大致上係關於使用n階NAND快閃記憶體單元之一資料儲存裝置(例如一固態硬碟(SSD))中的資料管理。
根據一些實施例,一非揮發性快取記憶體儲存來自一主機裝置的一頁面序列。一非揮發性主記憶體具有複數個n階單元,其等配置在m個分開的積體電路晶粒上,在程式化及讀取操作期間可使用一相關聯的傳輸電路同時存取各單元,其中m及n係複數數目。一控制電路將來自該頁面序列的第一頁面及第二頁面寫入至在一經選擇的積體電路晶粒上耦合至一共同字線之一經選擇的n階單元組。該第二頁面係藉由包含該頁面序列中之複數個插入頁面之一邏輯位移來與該頁面序列中之該第一頁面分開。該邏輯位移係回應於積體電路晶粒的數目m及與該傳輸電路相關聯之一延遲時間而作出選擇。
可鑑於下列詳細討論及隨附圖式而理解可特性化各種實施例之此等及其他特徵及優點。
100‧‧‧資料儲存裝置
102‧‧‧控制器
104‧‧‧記憶體模組
110‧‧‧資料儲存裝置
112‧‧‧快閃記憶體單元
114‧‧‧位元線
116‧‧‧源極線
118‧‧‧字線
120‧‧‧單階單元(SLC)程式化/SLC
122‧‧‧曲線
124‧‧‧曲線
130‧‧‧多階單元(MLC)程式化
132‧‧‧群體
134‧‧‧群體
136‧‧‧群體
138‧‧‧群體
140‧‧‧三階單元(TLC)程式化
142‧‧‧群體
144‧‧‧群體
146‧‧‧群體
148‧‧‧群體
150‧‧‧群體
152‧‧‧群體
154‧‧‧群體
156‧‧‧群體
160‧‧‧SSD控制器
162‧‧‧資料頁面
164‧‧‧n階快閃記憶體陣列
200‧‧‧SSD資料儲存裝置
202‧‧‧SSD控制器
203‧‧‧本端記憶體
204‧‧‧映射結構
206‧‧‧主機介面(I/F)
208‧‧‧本端揮發性緩衝記憶體
210‧‧‧SLC快取記憶體
212‧‧‧n階快閃記憶體陣列
214‧‧‧晶粒
216‧‧‧傳輸電路
218‧‧‧擦除區塊
220‧‧‧R區塊
222‧‧‧子R區塊
224‧‧‧主機邏輯區塊位址(磁區)
226‧‧‧主機區塊位址(HPA)
228‧‧‧填充項位元
300‧‧‧SSD資料管理常式
302‧‧‧步驟
304‧‧‧步驟
306‧‧‧步驟
308‧‧‧步驟
310‧‧‧步驟
312‧‧‧步驟
314‧‧‧步驟
BL0‧‧‧位元線
BL1‧‧‧位元線
BL2‧‧‧位元線
BL3‧‧‧位元線
SL0‧‧‧源極線
SL1‧‧‧源極線
SL2‧‧‧源極線
SL3‧‧‧源極線
WL0‧‧‧字線
WL1‧‧‧字線
WL2‧‧‧字線
圖1提供根據一些實施例之一例示性資料儲存裝置的一功能區塊表示。
圖2係圖1之裝置之一NAND快閃記憶體陣列之一部分的示意圖。
圖3展示根據一些實施例之使用不同的程式化慣例之在圖2之快閃記憶體單元上的累積電荷分布。
圖4展示根據一些實施例所實行之資料傳輸的一問題情況及一理想情況。
圖5係根據一些實施例之資料儲存裝置的一功能區塊表示。
圖6展示圖5之n階快閃記憶體陣列的態樣。
圖7係一些實施例中之繪示一例示性方式的一區塊序列,其中輸入寫入資料配置到主機區塊位址(HPA)及子R(Sub-R)區塊中。
圖8係一些實施例中之自快取記憶體中的子R區塊將累積資料傳輸至圖4之n階快閃記憶體陣列的一功能表示。
圖9A繪示快取記憶體中之例示性累積資料。
圖9B繪示n階快閃記憶體陣列中可用以容納來自圖8之資料的記憶體位置。
圖10A、圖10B、及圖10C相繼展示一些實施例中之沿著子R區塊邊界自快取記憶體至n階快閃記憶體陣列的資料傳輸。
圖11繪示一廢料收集操作,其重配置N階快閃記憶體陣列中的資料。
圖12係繪示根據一些實施例所實行的步驟之用於一SSD資料管理常式的流程圖。
本揭露大致上係關於一固態硬碟(SSD)資料儲存裝置中的資料管理,該固態硬碟(SSD)資料儲存裝置具有一NAND快閃記憶體陣列,其具有多位元快閃記憶體單元(例如,n階快閃記憶體單元,其中n大於1)。
資料儲存裝置具備一或多個記憶體裝置以儲存及/或檢索電腦化資料。一些固態半導體基記憶體裝置(諸如快閃記憶體)利用電荷傳輸來確立個別記憶體單元中的程式化狀態。
快閃記憶體以快閃記憶體單元之浮閘上之累積電荷的形式儲存資料。記憶體單元可經特性化為nMOSFET(n通道金氧半導體場效電晶體),其具有與各電晶體之一主控制閘電隔離的一浮閘結構。記憶體單元實質上不會在一經抹除狀態中於浮閘上儲存累積電荷,而是在經程式化時儲存增量的累積電荷。程式化操作致使電荷自主通道遷移至浮閘,而擦除操作使電荷自浮閘遷移以重設單元至一基態(經抹除狀態)。
在產業中持續致力於增加半導體記憶體(諸如NAND快閃記憶體裝置)的儲存容量。經組態為單階單元(SLC)之記憶體單元(每單元各儲存單一位元),且傾向於提供較快的資料傳輸率及增強的使用壽命兩者。可藉由程式化單元以儲存多於單一位元來增加資料儲存密度。多階單元(MLC)儲存兩個位元、三階單元(TLC)儲存三個位元、4X 階單元(XLC)儲存四個位元等等。大致上,一單元可使用2N個不同電荷位準來程式化至總共N個位元(例如,儲存兩個位元需要四個位準、儲存三個位元需要八個位準等)。每單元儲存多個位元傾向於減小資料傳輸率並增加單元上的損耗,導致較短的使用壽命。
欲寫入至一快閃記憶體之輸入使用者資料通常配置成稱為頁面的資料分組。各資料頁面具有一經選擇的總位元數,取決於一些因素(包括記憶體的實體構造)。實例頁面長度可係4KB(4096位元組)、8KB、16KB、32KB等。常見的係,配置一NAND快閃記憶體使一些快閃記憶體單元連接至一共同閘控制線(字線)。各資料頁面儲存至連接至相同字線的記憶體單元,其中頁面的單一位元沿著字線儲存至一不同單元。儲存多個位元的記憶體單元常經配置以將一第一資料頁面初始儲存為SLC。寫入至相同單元的一第二資料頁面使該等單元轉變成MLC,寫入至相同單元的一第三頁面使該等單元轉變成TLC等。
雖然可操作以增強一給定裝置的資料儲存容量,程式化一群組多位元快閃記憶體單元(例如,n階單元,其中n大於1)提供一些挑戰。以來自一主機的循序資料磁區(諸如邏輯區塊位址或LBA)直接程式化一n階快閃單元字線將傾向於在一後續讀取操作期間使記憶體的循序讀取性能降級。此係因為一給定邏輯範圍內的相鄰資料的全部將儲存在相同的半導體晶粒上,並使用相同的讀回電路系統(線道或通道)以恢復資料。舉例而言,在將32KB頁面儲存在一TLC集合中的情況中(其中下部、中間、及上部頁面儲存循序LBA),96KB或更 大的資料將儲存在相同字線上之單一記憶體單元集上。此最終可限制可自記憶體復原串流LBA的速率。
因此,本揭露的各種實施例係關於一種用於管理具有n階記憶體單元之一記憶體(例如,但不限於NAND快閃記憶體)中之資料儲存的方法及設備。如下文所解釋,在一些實施例中,一非揮發性快取記憶體(諸如SLC快閃記憶體快取)經組態以儲存複數個自一主機裝置循序接收的資料頁面。
一非揮發性主記憶體經組態以接收自快取記憶體傳輸的經快取頁面。非揮發性主記憶體經組態以包括複數個n階單元,其等配置在m個分開的積體電路晶粒上,在程式化及讀取操作期間可使用一相關聯的傳輸電路同時存取各單元,其中m及n兩者均係複數數目。
一控制電路(諸如SSD控制器)經組態以引導將來自快取之經選擇的非相鄰頁面群組同時寫入至耦合至一共同字線的n階單元。寫入至字線之一第一頁面與一第二頁面之間的一邏輯位移係回應於晶粒的數目m及與傳輸電路相關聯的一延遲時間而作出選擇。以此方式,實質上經儲存至主記憶體的任何頁面集可以一最大平均資料傳輸率在一讀取操作期間復原。
在下列討論中以利用TLC記錄的NAND快閃記憶體陣列作為例示。此僅為說明目的而非限制,因為可使用任何數目的配置,包括但不限於MLC、XLC等;二維(2D)快閃記憶體陣列;三維(3D)快閃記憶體陣列;其他形式的固態半導體非揮發性記憶體(諸如RRAM、 MRAM、STRAM、PLC等);適於每「單元」儲存多個位元的非固態記憶體(例如,採用多個堆疊記錄層的三維磁記錄(3DMR)碟片等)。
各種實施例之此等及其他特徵及態樣將從檢視圖1開始理解,其大致上繪示一例示性資料儲存裝置100。裝置100包括控制器102及記憶體模組104。控制器102提供用於裝置100的頂層控制,並可經組態為一可程式化處理器,其在本端記憶體中具有相關聯的程式設計。額外或替代地,該控制器可採取一以硬體為基礎之控制電路的形式,其具有邏輯閘或其他元件以實行所需的控制器功能。
記憶體模組104可經配置為一或多個非揮發性記憶體元件,包括可旋轉記錄碟片及固態記憶體陣列。雖然圖1中顯示分開的控制器102,但此非必然,由於替代實施例可將任何必要控制器功能直接併入記憶體模組。雖然未受限制,但為了本討論的目的,將設想資料儲存裝置100係一固態硬碟(SSD),其利用一三維(3D)NAND快閃記憶體陣列,該三維NAND快閃記憶體陣列組成該記憶體模組之記憶體容量的至少一些以提供用於一主機裝置(未圖示)之一主資料儲存。可使用其他形式的記憶體。
圖2提供根據一些實施例之圖1之記憶體模組104之一快閃記憶體陣列110之一部分的示意圖。可使用其他組態,因此圖2僅係例示性而非限制。圖2的配置係二維(2D)布局,其類似於一習知的2D NAND組態。設想但非必要地,圖2中的各行代表3D陣列內之一垂直元件堆疊。
快閃記憶體單元112係藉由位元線(BL0至BL3)114、源極線(SL0至SL3)116、及字線(WL0至WL2)118來存取。設想其他選擇電路系統及控制線,但為了清楚之故而未圖示(例如在各行之頂部及底部處的選擇電晶體等)。程式化、讀取、及抹除操作係藉由確證至各別位元線114、源極線116、及字線118的適當電壓來實行。一或多個資料頁面儲存至單元的各列(例如,耦合至一給定字線112的單元112)。為了本實例的目的,設想各頁面係32KB,然而可使用其他大小。
圖3係用於圖2之快閃記憶體單元112之不同的程式化格式的圖示。單階單元(SLC)程式化係表示於120處,並包括兩個各別的單元群體,如藉由廣義的群體曲線122及124所表示者。曲線的形狀及範圍將傾向於實質上的高斯式,然而可基於各種因素而形成其他形式。曲線122代表處於一經抹除或實質上經抹除狀態的快閃記憶體單元,因此在此等單元的浮閘結構上累積小量電荷或無累積電荷。此對應於邏輯1的一邏輯狀態或值(經程式化的值)。曲線124代表已累積足以指示邏輯0之一經程式化狀態之一經選擇量的累積電荷的快閃記憶體單元。可使用其他慣例。
在一快閃記憶體單元之浮閘上累積的電荷傾向於拉升施加至一控制閘(固定至字線)以將單元置於一順向(源極-汲極)導電狀態所需的電壓量。施加一合適的中介閘電壓V1將使裝置100的讀回電路系統能夠辨別單元之經程式化狀態。如將了解的,施加電壓V1將 使群體122中的單元處於一導電狀態,而電壓V1將不足以使群體124中的單元置於一導電狀態。
圖3進一步展示在130處多階單元(MLC)程式化,如分別包括11、10、00、及01的二位元邏輯值(群體132、134、136、及138)。如所屬技術領域中常見的,隨後係依需要以額外的累積電荷來程式化SLC 120,以將兩個SLC分布分成四個MLC分布。若使用一第一資料頁面來程式化SLC,則一第二資料頁面如所示般經程式化在第一頁面的頂部上,其中用於各單元之最高有效位元(MSB)代表第一頁面中之對應位元,且用於各單元之最低有效位元(LSB)代表第二頁面中之對應位元。如前文,可相繼地施加合適的中間電壓(例如(但不限於)電壓V2及V3)以辨別一給定單元的最終經程式化狀態。
於140處表示三階(Triple-level)單元(TLC)程式化(有時亦稱為三階(three-level)單元程式化)。此涉及八個三位元狀態111、110、101、100、000、001、011、及010,如由對應的群體142、144、146、148、150、152、154、及156所提供者。可相繼地施加各種中間電壓(包括但不限於電壓V4及V5)以辨別各種單元的經程式化狀態。
TLC可藉由將一第三資料頁面程式化至一MLC集合上而形成。在TLC的情況中,MSB代表第一頁面,中間有效位元(ISB)代表第二頁面,且LSB代表第三頁面。根據本實施例可使用其他格式,包括4X階單元(XLC),還有四階單元(FLC)等。大致上,由此看來,可見到總數為N的位元可使用2N個不同的累積電荷狀態來儲存在一給定單元中。
固態硬碟(SSD)的一主要優點在於佇列命令至多個裝置以大幅增加任何單一快閃記憶體裝置之總體頻寬的能力。對高速循序讀取尤其如此,其中主機介面之非常高的頻寬可將許多個別且相對緩慢的快閃資料讀取聚集成僅具有一初始延時懲罰之單一的單塊傳輸。隨著在多階快閃記憶體裝置之「單發」程式化問市,控制器有責任確保經程式化至一SSD中之一晶粒陣列的資料頁面係以此一方式格式化,使得任何循序讀取請求自然叫用多個快閃記憶體線道及晶粒來完成傳輸。圖3中的實例繪示一性能損失,若控制器單純將循序資料寫入至一單發快閃記憶體裝置中之一給定字線,將發生此性能損失。
圖3顯示一SSD控制器160(對應於圖1中的控制器102),其提供將不同資料頁面162寫入至一n階快閃記憶體陣列164的頂層控制。在一第一情況(「問題情況」)中,頁面0至2寫入至快閃記憶體陣列164中的相同晶粒M(例如但不限於相同字線)。
在問題情況中,資料隨著在單一快閃記憶體匯流排上自主機裝置所接收而循序寫入至單一快閃記憶體裝置。當主機裝置試圖讀取此相同資料時,由於必須存取各頁面以及以一串列方式將資料傳輸至主機,傳輸將將係緩慢的。舉例而言,若各頁面162的長度係32KB,傳輸率Tr係50μs(例如,用以服務一讀取命令之指定的快閃記憶體陣列讀取延遲時間),快閃記憶體匯流排具有400MT/s的傳輸率(可自陣列164讀取資料的最大速率),而主機介面傳輸率係1GB/s,則最壞情況下用以讀取問題情況資料(頁面0至2)的頻寬BW(輸送量率)可經判定為: BW=3*32KB/((3*(50+32KB/500MT/s)+32KB/1000MB/s)=225MB/s(1)
圖3進一步展示一第二情況(「理想情況」),其中三個頁面X、Y、及Z寫入至陣列164的不同晶粒,因此不同的讀取/寫入電路系統可存取分開的晶粒位置之各者。如前文,資料可隨著自主機裝置所接收而循序寫入,但此次係跨多個線道寫入至多個晶粒。
在一後續的讀取操作期間,將改善讀回性能。如前文,若各頁面係32KB,Tr係50μs,快閃記憶體匯流排傳輸率係400MT/s,而主機介面傳輸率係1GB/s,則最壞情況下用以讀取理想情況資料(頁面X至Z)的頻寬BW可經判定為:BW=3*32KB/((50+32KB/500MT/s)+3*(32KB/1000MB/s)=385MB/s (2)其代表傳輸率優於問題情況增加約70%。
本揭露運作以此使針對經儲存至一n階陣列之循序資料達到近理想的資料讀回傳輸率的方式來分散輸入快取資料。如下文所解釋,此係藉由將輸入快取資料劃分成稱為子R區塊的資料集而實行。子R區塊具有經選擇的頁面邊界,使得來自多個子R區塊之對應的資料頁面寫入至n階陣列中的相同字線。對寫入資料之任何經選擇的子集而言,經寫入至相同字線之不同頁面間的邏輯距離足以得到基本上均勻的讀回率。
圖5係用於大致上對應於圖1中之裝置100之一SSD資料儲存裝置200的功能區塊圖。裝置200包括一SSD控制器202,其 提供用於裝置200的頂層控制。如同控制器100,SSD控制器202可以一些電路組態實現,包括利用本端記憶體203中之對應的可執行指令(韌體FW)之一可程式化處理器。替代地,SSD控制器可實現為一硬體電路等。儲存於本端記憶體中之一映射結構204係由SSD控制器使用以追蹤系統中的資料。
一主機介面(I/F)206提供與一外部主機裝置之通訊路徑。選用地提供本端揮發性緩衝記憶體208以在主機傳輸操作期間暫時地緩衝資料。本端記憶體208可由一或多個記憶體裝置形成,包括DRAM、SRAM等。
一SLC快取記憶體210初始儲存自主機接收的資料。設想SLC快取記憶體210係由一非揮發性快閃記憶體單元集形成,該非揮發性快閃記憶體單元集經組態及操作為如上述之SLC。可使用其他組態。
隨後,在SSD控制器202的引導下,累積於快取記憶體210中的資料傳輸至一n階快閃記憶體陣列212。為本實例的目的,設想n階快閃記憶體陣列之NAND快閃記憶體單元經組態為如上述之TLC,然而此並非限制。
如下文所解釋,資料係在SLC快取記憶體210中於預先定義的邊界處累積及平鋪(tile)為一子R區塊序列。當快取記憶體已滿時,實行一外溢操作,其中SSD控制器202以所需的分隔組織子R區塊,以確保預期的循序讀取性能。
一旦寫入,可使用廢料收集技術來重配置駐留在n階快閃記憶體陣列212中的資料到新位置。以類似方式將廢料收集技術應用至SLC快取記憶體210,且新的子R區塊經形成而具有新近接收自主機的資料。
圖6展示根據一些實施例之圖5之n階快閃記憶體陣列212的態樣。陣列212包括複數m個晶粒214,各晶粒構成組成陣列212之(多個)半導體積體電路之一實體分開部分。展示總共四(4)個晶粒214(晶粒0至3),然而在一給定陣列中可利用任何複數個晶粒。
各晶粒214係藉由一分開的資料存取或傳輸電路216(亦稱為一讀取/寫入/抹除或R/W/E電路)來存取。分開的晶粒214及電路216允許在共同位址上同時實行資料傳輸操作(諸如程式化及讀取)。
各晶粒214進一步展示為併入一些擦除區塊218。雖然各晶粒展示為僅包括總共十二個此類區塊218,然而將理解,各晶粒擁有顯著更多個擦除區塊。各擦除區塊218代表一次可抹除之最小量的記憶體單元(諸如112,圖2)。資料頁面係跨不同字線(記憶體單元列)儲存在各區塊218中。
最終,在圖6中,一R區塊220描繪為跨各別晶粒214之擦除區塊218之經選擇者的一分組。大致上,一R區塊可視為一RAISE區塊(獨立矽元件之冗餘陣列)或一廢料收集單元(GCU),其係分開地分配並作為一單元抹除。各R區塊220大致上具有在一特定R區塊位址處跨整個晶粒陣列之區塊218的全部。一R區塊位址係下列表達式的整數結果: R區塊位址=Int(快閃記憶體區塊位址/快閃記憶體平面大小) (3)
圖7描繪一子R區塊222。各子R區塊(本文亦稱為一間隔區塊)係一相關聯的R區塊220內之整數個擦除區塊218。換言之,一給定的R區塊220劃分成複數個子R區塊222。設想一給定的R區塊220中之子R區塊222的全部將係相同大小(例如構成相同數目個擦除區塊218),但此不一定是必須的。
如圖7中於224處所示,主機資料係使用獨立於裝置200之儲存媒體的一主機層級定址方案以一經選擇的形式接收。一個常見的實例係呈固定大小的邏輯區塊位址LBA(諸如磁區)的形式。可使用其他形式,包括虛擬位址、金鑰區塊位址等。在一些情況下,主機資料LBA將具有一經選擇的均勻大小(諸如512位元組、4096位元組等)。
主機資料係在圖7中的226處經組合為所謂的主機區塊位址或HPA。各HPA構成一資料頁面,其適於藉由圖5之各別的SLC快取記憶體210及n階快閃記憶體陣列212來儲存。如上文所述,在本實例中,設想各HPA的長度將係32KB。在此方案中可見到若干(若非許多的)主機LBA將組合成各HPA。SSD控制器202(圖5)所用的映射結構204維持快閃記憶體過渡層資料結構以使能夠識別一給定的主機LBA之當前位置與狀態。
如圖7所示,來自226的HPA係用以依次地分群各子R區塊222(自HPA 0至HPA N-1)。依需要,填充項位元228可附加在各子R區塊222的結尾處以達成一所欲大小。此可使用在例如壓縮主 機資料時。其他資料亦可併入至各子R區塊中(諸如標頭及/或註腳控制資料、ECC資料等),但為了讓討論清楚已將此省略。
按定義,在每一R區塊的起始處(例如圖7中的HPA 0)存在一HPA邊界,且每一R區塊的起始亦係一子R區塊的起始。同樣地,按定義,在每一R區塊的結尾處(例如圖7中的HPA N-1)存在一HPA邊界,且每一R區塊的結尾亦係一子R區塊的結尾。
欲將主機資料平鋪至快取記憶體210,一新的HPA及子R區塊邊界起始於R區塊的開始處,且任何數目個HPA經平鋪至模數「0」頁面,直到達到預先定義的子R區塊邊界。當接近子R區塊邊界時,SSD控制器將判定在子R區塊中最後已滿的HPA,並接著自最後的HPA填補資料至快閃記憶體平面(晶粒)的結尾。
欲將累積資料自快取記憶體210傳輸(平鋪)至n階快閃記憶體陣列214,一新的HPA及子R區塊邊界起始於用於字線中之各頁面的R區塊的開始處。來自交錯的子R區塊之有效的預壓縮HPA讀取自快取記憶體並傳輸至n階快閃記憶體單元。字線的各頁面具有經回收的子R區塊之一獨特的執行緒,以維持字線中之頁面間的HPA分隔。當接近共同字線子R區塊邊界時,SSD控制器針對子R區塊中的各頁面判定最後已滿的HPA,且如前文,填補資料至快閃記憶體平面(晶粒)的結尾。
當RAISE/檢查(RAISE是Redundant Array of Independent Silicon Elements(獨立矽元件的同位冗餘陣列)的縮寫)碼儲存在快閃記憶體陣列中時,該等碼的位置經追蹤並自含有該區塊的 任何子R區塊刪除。當韌體遭遇一同位檢查區塊時,其應跳過該區塊並繼續進行至下一區塊以持續回收。按定義,RAISE/同位檢查經對準且不含使用者資料的區塊,因此其除了不可回收以外不會影響子R區塊的結構。
圖8大致上繪示此等操作。快取記憶體220中之一經選擇的資料R區塊220包括數個子R區塊222,包括子R區塊0至2。子R區塊222之各者依次地包括編號為HPA 0至2的HPA 226。
如圖8所示,n階快閃記憶體陣列212之不同的字線118(參見圖2)表示為WL0至WL2。子R區塊之各者中的第一HPA 226(HPA 0)寫入至第一字線(WL 0)。即,連接至WL0的記憶體單元經組態為TLC以接收第一、第二、及第三資料頁面。第一資料頁面係來自子R區塊0之HPA 0頁面;第二資料頁面係來自子R區塊1之HPA 0頁面;且第三資料頁面係來自子R區塊2之HPA 0頁面。n階陣列212中的各字線類似地自三個不同的子R區塊接收三個隔開的HPA。
由此,可見到各子R區塊(間隔區塊)222的大小(即,HPA的數目)判定寫入至陣列214中之一給定的n階單元之第一資料頁面與第二資料頁面之間的邏輯距離。
大致上,一R區塊中之子R區塊的最佳數目係支援主機介面之完整的循序讀取性能所需的晶粒及通道執行緒的數目。子R區塊的大小則係晶粒總數除以所需的晶粒及通道執行緒的數目。
用以判定各子R區塊之一合適大小的基本方程式可陳述如下: 晶粒/通道執行緒的數目=主機讀取頻寬/快閃記憶體通道頻寬快閃記憶 體通道頻寬=快閃記憶體平面大小/(Tr+Txfer)Tr=每資料表規格之快閃記憶體陣列讀取延遲
Txfer=傳輸延遲=快閃記憶體平面大小/快閃記憶體通道率每R頁面之子R區塊的數目=晶粒總數/晶粒/通道執行緒的數目。 (4)
由此,可見到邏輯距離(例如,主機磁區的數目/自一個子R區塊中的第一HPA至下一個子R區塊中的第一HPA的LBA)大致上係就晶粒/通道的數目及n通道陣列的讀取延遲回應而判定。亦可利用其他因素,如方程式(4)中所提及者。
已提供圖9A及圖9B以給出前文討論的一簡化實例。圖9A展示已經儲存至圖5之SLC快取記憶體210之HPA的內容。在此簡化實例中,HPA係按十來分組(例如,第一區塊HPA 0指示自HPA 0至HPA 9之前十個HPA的儲存等)。資料係以任何合適的方式儲存在SLC快取中。為了簡化處理,設想快取記憶體210及主記憶體212兩者將共用一共同頁面大小(諸如32KB),然而不一定是必須的。
圖9B展示n階快閃記憶體陣列212的對應態樣。更具體地,第一字線及第二字線112(WL0及WL1)展示為用於總共16個晶粒(晶粒0至F)。代號「E」指示用於經連接至各字線的單元之特殊位元的位置係處於一經抹除狀態,且準備就緒以容納資料。圖9A中的所有資料將跨圖9B中的所有16個晶粒儲存在兩個字線上。
圖10A展示自快取212至n階快閃記憶體陣列214中之各別字線寫入第一資料頁面。各個深色的HPA區塊對應於一不同的子R區塊。隨後,子R區塊之各者標稱地配置於40個HPA邊界上(例如,第一經寫入的子R區塊自HPA 0延伸至HPA 39)。在圖10A中之資料程式化操作的完結時,沿著各別字線之記憶體單元的各者經程式化為SLC。
圖10B展示自快取212至陣列214中之各別字線寫入第二資料頁面。如前文,在經標定的HPA邊界處寫入資料。在圖10B中之資料程式化操作的完結時,陣列214中的記憶體單元現在經程式化為MLC。
圖10C展示自快取212至陣列214中之各別字線寫入第三資料頁面。此將單元程式化為TLC,並充當資料外溢/傳輸程序的完結。此時,儲存經傳輸資料之快取記憶體210的部分可經廢料收集並經重分配用於新的使用者資料。
圖11展示一例示性廢料收集程序,其用以重定位得自圖10C的TLC資料。如所示,可維持資料間隔,但可依需要使用一桶位移(barrel shifting)方法。舉例而言,將注意WL1上的ISB及LSB頁面已位移整數個晶粒(ISB行經向下位移12個晶粒,且LSB行經向下位移8個晶粒)。此可增強損耗均衡及其他效應。
圖12提供用於一SSD資料管理常式300的流程圖,以概括前文的討論。設想該常式係由圖5的SSD 200實行,該SSD經組 態為具有一SLC快閃快取記憶體210及一TLC基NAND快閃記憶體陣列212。可使用其他組態,此因而僅係例示性而非限制。
在步驟302處組態快取及n階主SSD記憶體,隨後定義各種操作參數,包括HPA大小、R區塊大小、及子R區塊大小(邊界)。如上述,子R區塊的大小將判定自一個子R區塊至下一個子R區塊之與第一頁面(HPA)的邏輯分隔,其繼而將建立經寫入至附接至一經選擇字線之一經選擇晶粒上之一經選擇的記憶體單元集之第一頁面與第二頁面之間的邏輯分隔。此間隔應足以實現(至少標稱地)以最大可達成資料傳輸率達成循序資料請求。
其後,在步驟306處,資料累積於快取記憶體中。設想輸入主機資料(諸如LBA)將如上文所討論般循序地分組成HPA。HPA中的資料可重配置或可不重配置成邏輯順序,然而此可依需要執行。舉例而言,可實行一些重新排序的措施,使得LBA 0至1000配置成自0至X之一些對應的HPA集,然而此非必須的。在其他實施例中,不考慮LBA的值,HPA係基於LBA的接收順序而經循序地排序。
此時,將注意在寫入密集的環境中,LBA會持續更新,且較舊的版本在快取中係標記為陳舊。可依需要使用現存的修訂映射技術實行版本追蹤。在一些情況下,一新更換的HPA可經寫入,且一較舊版本經標記為陳舊以容納讀取/修改寫入更新。無論如何,設想SSD控制器所用的管理系統將足夠強健以在任何給定時間識別快取中之資料的最新版本,並可實行資料自快取至陣列中之TLC記憶體單元之有條理的傳輸,同時允許寫入更新等。
決策步驟308判定是否已在快取記憶體中累積足夠數目的子R資料區塊。在一些情況下,一已滿的R區塊將在繼續傳輸前累積。在其他情況下,將累積足夠數目的子R資料區塊以促成跨所有可用的晶粒位置之資料分布。
一旦快取被認為經填充,在步驟310處自快取傳輸資料至主記憶體,如上文於圖9A至圖10C所討論者。將理解,快取被描述為「經填充」不一定意指不可將額外資料儲存至快取,反而是已達到發起至TLC之傳輸所必須的資料量。
其後,持續實行正規資料讀取及寫入操作。初始將藉由SLC快取(或甚至是揮發性記憶體位置,諸如DRAM/SRAM)來評估讀取資料請求,以達成快取命中;否則將使用主記憶體來實行及滿足讀取操作。成功的資料傳輸中所涉及之快取的該部分將經回收並使其準備就緒用於儲存來自主機裝置的新寫入資料。
決策步驟312判定是否應在主記憶體上實行一廢料收集操作;若是肯定,TLC資料可寫入至一新位置,並可實行桶位移及其他合適的資料重配置技術,以增強損耗均衡而不減少各別資料的邏輯距離以維持最佳讀回性能。
須了解的是,儘管上列敘述中已提出本揭露之各種實施例的眾多特徵及優點連同其等之不同者的結構及功能的細節,但此詳細說明僅是闡釋性,且可在細節上、尤其本揭露之原理內之部件之結構及配置方面作出改變,其變化範圍達表述附加之申請專利範圍所用之用語的廣泛通用意義所指示的全範圍。

Claims (20)

  1. 一種資料儲存裝置,其包含:一非揮發性快取記憶體,其經組態以儲存來自一主機裝置的一頁面序列;一非揮發性主記憶體,其包含複數個n階單元,該複數個n階單元經配置在m個分開的積體電路晶粒上,該複數個n階單元各自在程式化及讀取操作期間可使用相關聯的一傳輸電路同時存取,其中m及n係複數數目;及一控制電路,其經組態以引導將來自該頁面序列之第一頁面及第二頁面寫入至在一經選擇的積體電路晶粒上耦合至一共同字線的該等n階單元的一經選擇的組,該第二頁面與該第一頁面在該頁面序列中係藉由一邏輯位移來分開,該邏輯位移包含在該頁面序列中的複數個插入頁面,該邏輯位移回應於積體電路晶粒的該m數目及與該傳輸電路相關聯之一延遲時間而經選擇。
  2. 如請求項1之資料儲存裝置,其中該控制電路進一步經組態以將在該頁面序列中緊接於該第一頁面後之一第三頁面以及在該頁面序列中緊接於該第二頁面後之一第四頁面寫入至在一第二積體電路晶粒上耦合至一共同字線的該等n階單元的一第二組。
  3. 如請求項1之資料儲存裝置,其中該控制電路進一步經組態以將該頁面序列配置成間隔區塊的一對應序列,各間隔區塊包含來自該頁面序列之該等頁面的一不同的子集,在各間隔區塊中之該等頁面的各者具有一頁面位址,且其中該第一頁面係在一第一間隔區塊中之一第一頁 面位址處,且該第二頁面係在一不同的第二間隔區塊中之該第一頁面位址處。
  4. 如請求項3之資料儲存裝置,其中在各間隔區塊中之該等頁面的各者經寫入至該非揮發性主記憶體中之該積體電路晶粒的一不同者。
  5. 如請求項1之資料儲存裝置,其中該非揮發性快取記憶體係一NAND快閃記憶體,其包含複數個單階單元(SLC),該頁面序列經寫入至該複數個單階單元(SLC)。
  6. 如請求項5之資料儲存裝置,其中該非揮發性主記憶體係一n階NAND快閃記憶體,其所具有的該等n階單元包含多階單元(MLC)、三階單元(TLC)、或4X階單元(XLC)之至少一經選擇者。
  7. 如請求項1之資料儲存裝置,其進一步包含一揮發性緩衝器,該揮發性緩衝器經組態以儲存具有一第一位元總數的使用者資料區塊,且其中該控制電路將該等使用者資料區塊之多者組合成該頁面序列中之該等頁面的各者,使得該頁面序列中之該等頁面的各者具有大於該第一位元總數之一第二位元總數。
  8. 如請求項1之資料儲存裝置,其中該控制電路係一固態硬碟(SSD)控制器電路,其包含一可程式化處理器及儲存在一記憶體位置中之相關聯的程式設計。
  9. 如請求項1之資料儲存裝置,其中該頁面序列中之該第一頁面與該第二頁面之間的該邏輯位移進一步回應於與該非揮發性主記憶體相關聯之一記憶體資料傳輸率而經選擇。
  10. 如請求項1之資料儲存裝置,其進一步包含經耦合至該主機裝置之一主機介面(I/F)電路,且該頁面序列中之該第一頁面與該第二頁面之間的該邏輯位移進一步回應於與該主機介面相關聯之一主機資料傳輸率而經選擇。
  11. 一種方法,其包含:在一非揮發性快取記憶體中以一經選擇的順序將自一主機裝置經循序接收的資料區塊儲存為一頁面序列,該頁面序列中的各後續頁面包含不同的複數個經循序接收的該等資料區塊;及自該非揮發性快取記憶體將該頁面序列傳輸至一非揮發性主記憶體,其包含將來自該頁面序列的一第一頁面及一第二頁面寫入至在該非揮發性主記憶體之一經選擇的積體電路晶粒上耦合至一共同字線之該非揮發性主記憶體的n階單元之一經選擇的組,在該頁面序列中該第二頁面與該第一頁面分開一邏輯位移,該邏輯位移包含在該頁面序列中的複數個插入頁面,該邏輯位移回應於該非揮發性主記憶體中之積體電路晶粒的一總複數數目m及與該經選擇的積體電路晶粒相關聯之一傳輸電路相關聯的一延遲時間而經選擇。
  12. 如請求項11之方法,其中該傳輸步驟進一步包含將在該頁面序列中緊接於該第一頁面後之一第三頁面以及在該頁面序列中緊接於該第二頁面後之一第四頁面寫入至在該m個積體電路晶粒之一第二積體電路晶粒上耦合至一共同字線的該等n階單元之一第二組。
  13. 如請求項11之方法,其進一步包含將該頁面序列配置成間隔區塊之一對應序列,各間隔區塊包含來自該頁面序列之該等頁面的一不同的子集,在各間隔區塊中之該等頁面的各者具有一頁面位址,且其中該第一頁面係在一第一間隔區塊中之一第一頁面位址處,且該第二頁面係在一不同的第二間隔區塊中之該第一頁面位址處。
  14. 如請求項13之方法,其中在各間隔區塊中之該等頁面的各者經寫入至該非揮發性主記憶體中之該積體電路晶粒的一不同者。
  15. 如請求項11之方法,其中該非揮發性快取記憶體係一NAND快閃記憶體,其包含複數個單階單元(SLC),該頁面序列經寫入至該複數個單階單元(SLC)。
  16. 如請求項15之方法,其中該非揮發性主記憶體係一n階NAND快閃記憶體,其所具有的該等n階單元包含多階單元(MLC)、三階單元(TLC)、或4X階單元(XLC)之至少一經選擇者。
  17. 如請求項11之方法,其進一步包含在將該等資料區塊傳輸至該非揮發性快取記憶體之前,在一揮發性記憶體緩衝器中將來自該主機裝置的該等資料區塊儲存為該頁面序列,該等資料區塊之各者具有一第一總大小,且該頁面序列中之該等頁面的各者具有一第二總大小,該第二總大小為該第一總大小的一倍數。
  18. 如請求項17之方法,其中該第二總大小係32KB。
  19. 如請求項11之方法,其中該頁面序列中之該第一頁面與該第二頁面之間的該邏輯位移進一步回應於與該非揮發性主記憶體相關聯之一 記憶體資料傳輸率以及與該主機裝置相關聯之一主機資料傳輸率而經選擇。
  20. 如請求項11之方法,其進一步包含隨後在一廢料收集操作期間於該非揮發性主記憶體內將該頁面序列遷移至新位置,同時維持該第一頁面與該第二頁面之間的該邏輯位移。
TW107115053A 2017-05-03 2018-05-03 資料儲存裝置及其操作方法 TWI689926B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/585,429 2017-05-03
US15/585,429 US9905294B1 (en) 2017-05-03 2017-05-03 Writing logically offset pages of data to N-level memory cells coupled to a common word line

Publications (2)

Publication Number Publication Date
TW201907401A true TW201907401A (zh) 2019-02-16
TWI689926B TWI689926B (zh) 2020-04-01

Family

ID=61225806

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107115053A TWI689926B (zh) 2017-05-03 2018-05-03 資料儲存裝置及其操作方法

Country Status (5)

Country Link
US (1) US9905294B1 (zh)
JP (1) JP2018190483A (zh)
KR (1) KR20180122565A (zh)
CN (1) CN108806754B (zh)
TW (1) TWI689926B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11609718B1 (en) * 2017-06-12 2023-03-21 Pure Storage, Inc. Identifying valid data after a storage system recovery
US11593262B1 (en) 2018-04-25 2023-02-28 Seagate Technology Llc Garbage collection command scheduling
US10922014B1 (en) 2018-06-05 2021-02-16 Seagate Technology Llc Die access order variation
US11138069B2 (en) 2018-06-11 2021-10-05 Seagate Technology, Llc Providing additional parity for non-standard sized parity data sets
US10896002B2 (en) 2018-06-29 2021-01-19 Seagate Technology Llc Reverse directory structure in a garbage collection unit (GCU)
US20200183622A1 (en) * 2018-12-07 2020-06-11 Micron Technology, Inc. Memory circuit package with adjustable active channel count
KR20200114481A (ko) * 2019-03-28 2020-10-07 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법
US10956049B2 (en) * 2019-06-12 2021-03-23 International Business Machines Corporation Wear-aware block mode conversion in non-volatile memory
US11294820B2 (en) * 2019-06-28 2022-04-05 Micron Technology, Inc. Management of programming mode transitions to accommodate a constant size of data transfer between a host system and a memory sub-system
US11243711B2 (en) 2020-02-05 2022-02-08 Micron Technology, Inc. Controlling firmware storage density based on temperature detection
US11403228B2 (en) * 2020-02-18 2022-08-02 Micron Technology, Inc. Memory device page program sequence
US11275687B2 (en) * 2020-07-07 2022-03-15 Micron Technology, Inc. Memory cache management based on storage capacity for parallel independent threads

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7210001B2 (en) 1999-03-03 2007-04-24 Adaptec, Inc. Methods of and apparatus for efficient buffer cache utilization
KR100389867B1 (ko) 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
US7085909B2 (en) * 2003-04-29 2006-08-01 International Business Machines Corporation Method, system and computer program product for implementing copy-on-write of a file
WO2005041044A1 (en) * 2003-09-24 2005-05-06 Seagate Technology Llc Multi-level caching in data storage devices
US7549021B2 (en) 2006-02-22 2009-06-16 Seagate Technology Llc Enhanced data integrity using parallel volatile and non-volatile transfer buffers
US7499320B2 (en) * 2007-03-07 2009-03-03 Sandisk Corporation Non-volatile memory with cache page copy
ITMI20071012A1 (it) 2007-05-18 2008-11-19 St Microelectronics Srl Dispositivo di memoria migliorato a veloce programmazione
US7975109B2 (en) * 2007-05-30 2011-07-05 Schooner Information Technology, Inc. System including a fine-grained memory and a less-fine-grained memory
US9201790B2 (en) 2007-10-09 2015-12-01 Seagate Technology Llc System and method of matching data rates
US7984259B1 (en) 2007-12-17 2011-07-19 Netapp, Inc. Reducing load imbalance in a storage system
US8180954B2 (en) 2008-04-15 2012-05-15 SMART Storage Systems, Inc. Flash management using logical page size
US8566508B2 (en) 2009-04-08 2013-10-22 Google Inc. RAID configuration in a flash memory data storage device
US8688894B2 (en) * 2009-09-03 2014-04-01 Pioneer Chip Technology Ltd. Page based management of flash storage
KR101619249B1 (ko) 2009-11-26 2016-05-11 삼성전자주식회사 프로그램 방법
US8301836B2 (en) 2010-02-26 2012-10-30 Red Hat, Inc. Methods for determining alias offset of a cache memory
US8677055B2 (en) 2010-04-12 2014-03-18 Sandisk Enterprises IP LLC Flexible way of specifying storage attributes in a flash memory-based object store
US20120110239A1 (en) * 2010-10-27 2012-05-03 Seagate Technology Llc Causing Related Data to be Written Together to Non-Volatile, Solid State Memory
JP6045567B2 (ja) * 2011-04-26 2016-12-14 シーゲイト テクノロジー エルエルシーSeagate Technology LLC 不揮発性記憶のための可変オーバープロビジョニング
WO2013022915A1 (en) * 2011-08-09 2013-02-14 Lsi Corporation I/o device and computing host interoperation
US9323659B2 (en) 2011-08-12 2016-04-26 Sandisk Enterprise Ip Llc Cache management including solid state device virtualization
CN102541757B (zh) * 2011-11-30 2014-11-05 华为技术有限公司 写缓存方法、缓存同步方法和装置
US8724389B2 (en) 2012-07-26 2014-05-13 Ocz Storage Solutions, Inc. Non-volatile solid state memory-based mass storage device and methods thereof
US9104413B2 (en) * 2012-11-05 2015-08-11 Qualcomm Incorporated System and method for dynamic memory power management
US8526234B1 (en) * 2012-11-16 2013-09-03 Avalanche Technology, Inc. Controller management of memory array of storage device using magnetic random access memory (MRAM)
US9910747B2 (en) 2014-09-12 2018-03-06 International Business Machines Corporation Parallel mirrored copying with write consistency
CN105512048B (zh) * 2014-10-16 2018-11-09 瑞昱半导体股份有限公司 数据配置方法与装置
JP5804584B1 (ja) * 2014-10-30 2015-11-04 ウィンボンド エレクトロニクス コーポレーション Nand型フラッシュメモリのプログラム方法

Also Published As

Publication number Publication date
CN108806754B (zh) 2022-04-05
KR20180122565A (ko) 2018-11-13
JP2018190483A (ja) 2018-11-29
TWI689926B (zh) 2020-04-01
US9905294B1 (en) 2018-02-27
CN108806754A (zh) 2018-11-13

Similar Documents

Publication Publication Date Title
TWI689926B (zh) 資料儲存裝置及其操作方法
CN105739915B (zh) 存储系统中执行的条带重建方法和存储系统
US9471425B2 (en) Data conditioning to improve flash memory reliability
US11287992B2 (en) Controller and storage device including controller and nonvolatile memory devices
TWI602184B (zh) 用於非揮發性記憶體的程式化方法、用於記憶體系統的資料管理方法、用於非揮發性記憶體的資料管理方法、記憶體系統以及用於記憶體系統的控制器
CN113168358B (zh) 具有奇偶校验保护的多个存储器装置
US9182928B2 (en) Lower page only host burst writes
US20130258772A1 (en) Non-Volatile Memory and Method Having a Memory Array with a High-Speed, Short Bit-Line Portion
TW201305817A (zh) 具有分佈在作用單階胞及多階胞記憶體分割區之間的小邏輯群組之非揮發性記憶體及方法
KR20200126563A (ko) 저장 장치, 컨트롤러 및 컨트롤러의 동작 방법
KR20200133716A (ko) 저장 캐시 관리
US11675661B2 (en) Increased memory access parallelism using parity
KR20160050394A (ko) 메모리 시스템 및 상기 메모리 시스템의 동작 방법
KR102680874B1 (ko) 저장 장치, 컨트롤러 및 저장 장치의 동작 방법
US20230143181A1 (en) Write buffer control in managed memory system
CN114489466A (zh) 存储器系统及其操作方法
US11544002B2 (en) Memory system, memory controller and operating method thereof
US9570181B2 (en) Memory system
US11474726B2 (en) Memory system, memory controller, and operation method thereof
US11709610B2 (en) Memory system, memory controller and operating method
US20240143192A1 (en) Memory system and operating method thereof

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees