TWI678619B - 包含動態超區塊之記憶體裝置及相關方法與電子系統 - Google Patents
包含動態超區塊之記憶體裝置及相關方法與電子系統 Download PDFInfo
- Publication number
- TWI678619B TWI678619B TW106110361A TW106110361A TWI678619B TW I678619 B TWI678619 B TW I678619B TW 106110361 A TW106110361 A TW 106110361A TW 106110361 A TW106110361 A TW 106110361A TW I678619 B TWI678619 B TW I678619B
- Authority
- TW
- Taiwan
- Prior art keywords
- physical
- memory
- superblock
- channel
- physical block
- 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
- 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/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- 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/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- 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/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/7204—Capacity control, e.g. partitioning, end-of-life degradation
-
- 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
-
- 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/7208—Multiple device management, e.g. distributing data over multiple flash devices
Abstract
一種記憶體裝置包含:一記憶體陣列,其具有非揮發性記憶體胞元;及一記憶體控制器,其經組態以在每一廢棄項目收集程序期間至少部分地基於該記憶體陣列之每一實體區塊中存在之一有效資料量來動態地建構一超區塊。另一記憶體裝置包含記憶體胞元之實體區塊及一記憶體控制器,該記憶體控制器經組態以在每次針對該等實體區塊發生廢棄項目收集時不管任何實體區塊是否被判定為不良皆動態地建構一新的超區塊。本發明亦闡述用於管理一記憶體裝置之操作之額外方法與相關電子系統。
Description
在各種實施例中,本發明一般而言係關於記憶體裝置管理領域。更具體而言,本發明係關於包含建構用於廢棄項目收集之動態超區塊之快閃記憶體轉譯層之記憶體裝置,且係關於相關方法與電子系統。
非揮發性記憶體通常用於諸如在消費型電子裝置內大容量儲存資料(例如,音樂、視訊、相片及其他資料)。快閃記憶體(例如,NAND快閃記憶體)由於其低功率消耗及優越效能而作為在行動消費型電子器件內使用之非揮發性儲存裝置變得普遍存在。 在非揮發性記憶體之操作期間,由於寫入新的資料並保持舊的資料不被抹除,因此可需要建立自由空間。用以建立自由空間之記憶體程序通常需要將有效資料重新定位至記憶體陣列之不同部分中以便較有效地將記憶體陣列用於隨後寫入操作。習用系統維持映射至記憶體陣列內之實體區塊之虛擬區塊,且在每次需要自由空間時通常在記憶體裝置之韌體內靜態地建構此等虛擬區塊。此靜態建構可在抹除與可連結至不同虛擬區塊之其他區塊相比具有比需要被重新定位量大之有效資料的區塊時導致對資料之重新定位之較不高效管理。
本申請案主張於2016年3月29日針對「MEMORY DEVICES INCLUDING DYNAMIC SUPERBLOCKS, AND RELATED METHODS AND ELECTRONIC SYSTEMS」提出申請之美國專利申請案第15/084,187號之申請日期之優先權。 由此包含之圖解說明不意指係任何特定系統、記憶體裝置、架構或程序之實際視圖,而僅僅係經採用以闡述本文中之實施例之理想化表示。為便於以下說明,各圖之間共用之元件及特徵可保持相同數字標示,惟除在大多數情況下元件符號以在其上介紹或最充分地闡述元件之圖式之編號開始。另外,各圖中所圖解說明之元件本質上係示意性的,且可不闡述存取資料所必需之關於一記憶體陣列之實體佈局及建構及/或所有步驟之諸多細節,此乃因其將為熟習此項技術者所理解。 本發明闡述記憶體裝置(例如,包含劃分成若干區塊之記憶體陣列)以及相關操作方法與電子系統。在某些實施例中,一記憶體裝置包括具有非揮發性記憶體胞元之一記憶體陣列及以可操作方式耦合至該記憶體陣列之一記憶體控制器。記憶體控制器經組態以在每一廢棄項目收集程序期間至少部分地基於記憶體陣列之每一實體區塊中存在之一有效資料量來動態建構一超區塊。記憶體控制器可包含經組態以執行該記憶體控制器之廢棄項目收集及位址映射之一快閃記憶體轉譯層且可跨越多個通道(例如,一第一通道、一第二通道等)管理晶粒。在某些實施例中,可藉由以下操作建構一超區塊:自具有該第一通道之一最低有效資料量之該第一晶粒或該第二晶粒選擇一實體區塊;及自具有該第二通道之一最低有效資料量之該第三晶粒或該第四晶粒選擇另一實體區塊。在某些實施例中,可藉由以下操作來建構超區塊:自該第一晶粒或該第二晶粒中之一或多者選擇多個實體區塊,及自該第三晶粒或該第四晶粒中之一或多者選擇多個實體區塊。亦可針對每一廢棄項目收集程序至少部分地基於在一給出廢棄項目收集程序期間需要被清除之實體區塊之數目來動態選擇超區塊之大小。舉例而言,可在一第一廢棄項目收集程序期間根據一第一規則集合來建構一第一超區塊,且可在一第二廢棄項目收集程序期間根據一第二規則集合來建構一第二超區塊。 如本文中所使用,除非內容脈絡另外明確指示,否則單數形式「一(a/an)」及「該(the)」意欲亦包含複數形式。 如本文中所使用,「及/或」包含相關聯所列舉物項中之一或多者之任何及所有組合。 如本文中所使用,術語「經組態」係指以一預定方式促進結構及設備中之一或多者之操作之至少一個結構及至少一個設備中之一或多者的一大小、形狀、材料組成物及配置。 如本文中所使用,片語「耦合至」係指結構以操作方式彼此耦合,諸如透過一直接電阻連接件或透過一間接連接件(例如,經由另一結構)電連接。 如本文中所使用,「廢棄項目收集」係指對一記憶體裝置執行之一程序,該程序包含自不良資料(亦即,無效資料)復原良好資料(亦即,有效資料),及將有效資料重新散佈回至記憶體陣列之可用實體區塊之一集區中。 如本文中所使用,一「超區塊」係實體區塊之一虛擬(亦即,邏輯)組合。可由記憶體控制器來管理將一實體區塊集合連結為一超區塊。 圖1係根據本發明之實施例之一記憶體裝置100之一示意性方塊圖。記憶體裝置100包含以可操作方式與一記憶體陣列120耦合之一記憶體控制器110。記憶體陣列120可包含可寫入至記憶體控制器110、自記憶體控制器110讀取及/或由於受記憶體控制器110控制而抹除之非揮發性儲存器記憶體。可在一或多個實體晶粒(例如,多個積體電路)上方實體地建構記憶體陣列120,且每一實體晶粒(亦稱為「晶粒」或「半導體晶粒」)可包含包括固定數目個頁之固定數目個實體資料區塊(亦稱為「實體區塊」或「區塊」)。用於一讀取/寫入操作之基礎單位通常係一頁。用於抹除操作之基礎單位通常係一區塊。作為一實例,一晶粒可包含4個區塊,每一區塊可包含32個頁,且每一頁可包含512個位元組。實體晶粒亦可在記憶體陣列120中保留用於替換或備用區域之空間。當然,對晶粒之一數目、區塊大小或其他能力量測之任何特定參考應理解為一實例。本發明之實施例包含具有各種不同組態及能力之記憶體陣列。舉例而言,一區塊之記憶體胞元可組態為單層胞元(SLC)及/或多層胞元(MLC)。 作為非限制性實例,記憶體陣列120可組態為非揮發性記憶體,諸如NAND快閃記憶體、NOR快閃記憶體、可抹除可程式化唯讀記憶體(EPROM)、電可抹除可程式化唯讀記憶體(EEPROM)、鐵電RAM (FRAM)、磁阻式RAM (MRAM)或其他適合非揮發性記憶體技術或其任何組合。記憶體裝置100可併入一嵌入式多媒體控制器(亦稱為「嵌入式MMC」或「eMMC」)、固態磁碟機(SSD)、通用快閃儲存(UFS)裝置及/或利用如本文中所論述之非揮發性記憶體之其他裝置內。 記憶體控制器110可經組態以控制記憶體陣列120之操作,包含發出讀取、寫入及/或抹除之命令。另外,記憶體控制器110可經組態以維持記憶體陣列120之一邏輯映射以用於執行操作。邏輯映射可包含頁層級映射、區塊層級映射及/或混合層級映射。在操作期間,記憶體陣列120可監測記憶體陣列120之不同實體區塊內之資料之狀態以判定是否需要自由空間及/或是否應將有效資料移動至不同實體區塊來改良操作效率。 記憶體控制器110可經組態以執行在此項技術中通常稱為「廢棄項目收集」之一功能。如上文所闡述,廢棄項目收集包含將不良資料(亦即,無效資料)與良好資料(亦即,有效資料)分離且復原良好資料,及將有效資料重新散佈回至記憶體陣列120之可用實體區塊之集區中。在廢棄項目收集期間,記憶體控制器110可一次在一個以上實體區塊上操作。實體區塊之此虛擬(亦即,邏輯)組合係稱為一超區塊。習用地,超區塊係靜態的使得在每次發生廢棄項目收集時將相同實體區塊係建構(例如,彼此連結)為相同超區塊。偶爾地,若一實體區塊變得有缺陷,則可形成新的超區塊;然而,本發明之實施例包含在每次針對該等實體區塊發生廢棄項目收集時不管任何實體區塊是否被判定為不良皆動態地建構一新的超區塊。而是,經建立以建構一超區塊之實體區塊之組合可至少部分地基於實體區塊中之每一者中之有效資料之量。下文將關於圖3A至圖3E及圖4論述此程序之額外細節。 圖2展示用於圖1之記憶體控制器110之一軟體架構之一示意性方塊圖。記憶體控制器110可經組態以在與記憶體陣列120通信時執行且管理一或多個應用程式(經由應用程式層202)、檔案系統(經由檔案系統層204)及轉譯(經由快閃記憶體轉譯層(FTL) 206)。應用程式層202為由記憶體控制器110運行之應用程式提供高位階服務。檔案系統層204發出各自具有一邏輯區段編號之一系列讀取或寫入命令以自記憶體陣列中之特定位址讀取資料或將資料寫入至記憶體陣列中之特定位址。FTL 206亦可模擬記憶體陣列120之實體區塊之功能性,自記憶體陣列120隱藏抹除操作及寫入前抹除特性之存在。 FTL 206可經組態以執行各種功能,該各種功能中之至少兩者包含位址轉譯及廢棄項目收集。位址轉譯功能包含FTL 206執行邏輯至實體位址映射(亦即,將一邏輯系統位階位址映射至一實體記憶體位址)。舉例而言,FTL 206可將由檔案系統層204發出之邏輯區段編號轉換成記憶體陣列120之一真實實體區段編號(例如,在FTL 206中藉由一映射演算法)。此映射可包含FTL 206維持來自上部軟體層之虛擬位址之一映射表與記憶體陣列120上之實體位址對應。FTL 206亦可維持在本文中稱為一「超區塊」之多個實體區塊之一虛擬映射。因此,超區塊係藉由FTL 206之區塊管理單元以邏輯方式分群在一起之實體區塊。 廢棄項目收集功能包含將無效資料(亦即,「不良」資料)與有效資料(亦即,「良好」資料)分離且復原有效資料,及將有效資料重新散佈至可用實體區塊之集區中並抹除無效資料來釋放空間以用於發生額外寫入。可出於平行讀取/寫入資料以及出於廢棄項目收集之目的而維持超區塊。如本文中所論述,出於讀取/寫入目的而使用之超區塊可與用於廢棄項目收集之超區塊不同。特定而言,可在每次發生廢棄項目收集時不管在讀取/寫入期間是否使用超區塊之建構皆動態地建構用於廢棄項目收集之超區塊。在廢棄項目收集之每一例項下,可基於記憶體陣列120之每一實體區塊中之一有效資料量來建構動態超區塊使得當資料在其被抹除之前經重新定位時可降低內部資料移動之數目。 圖3A至圖3E係出於圖解說明由FTL 206 (圖2)執行之廢棄項目收集程序之目的之圖1之記憶體陣列120之經簡化示意性方塊圖。對於功能性之比較,圖3A展示使用靜態超區塊之一習用廢棄項目收集程序,且圖3B展示根據本發明之一實施例之使用動態超區塊之一廢棄項目收集程序。 圖3A至圖3C展示具有複數個區塊(區塊1、2)之晶粒301、302、303、304。晶粒301、302、303、304係由兩個通道(通道1、2)管理。一通道可係記憶體控制器110內之一硬體單元,該硬體單元使記憶體控制器110能夠同時與一晶粒集合通信。舉例而言,第一通道(通道1)管理第一晶粒(晶粒1) 301及第二晶粒 (晶粒2) 302,而第二通道(通道2)管理第三晶粒(晶粒3) 303及第四晶粒(晶粒4) 304。每一晶粒301、302、303、304包含其頁中儲存有資料之多個區塊(區塊1、2)。有效資料之單元係在括號中之區塊(例如,(8)、(6)等)內指示。為簡單起見本文中闡述兩個通道;然而,應認識到通道之任何數目皆預期為本發明之實施例。同樣地,應理解,為簡單起見本文中闡述每通道兩個晶粒及每晶粒兩個區塊,但應理解晶粒及區塊之任何數目皆預期為本發明之實施例。 特別地參考圖3A,FTL 206可跨越不同通道維持靜態超區塊。每一超區塊可具有邏輯地連結至來自一不同通道之另一晶粒之另一實體區塊之至少一個實體區塊。舉例而言,第一靜態超區塊(靜態超區塊1)可邏輯地連結來自第一晶粒301之第一區塊與第三晶粒303之第一區塊,第二靜態超區塊(靜態超區塊2)可邏輯地連結來自第一晶粒301之第二區塊與第三晶粒303之第二區塊,第三靜態超區塊(靜態超區塊3)可邏輯地連結來自第二晶粒302之第一區塊與第四晶粒304之第一區塊,且第四靜態超區塊(靜態超區塊4)可邏輯地連結來自第二晶粒302之第二區塊及第四晶粒304之第二區塊。在某些情形中,若一實體區塊變得有缺陷且不再被記憶體陣列120使用則可重新定義超區塊。然而,只要實體區塊保持可用,每當發生廢棄項目收集時此等超區塊便將由於其靜態本質而被如此定義。另外,此等超區塊亦可係在平行讀取及寫入操作期間使用之相同超區塊。 在廢棄項目收集期間,FTL 206可選擇一靜態超區塊來清理其實體區塊。在某些習用方法中,FTL 206可選擇其實體區塊當中組合有最小有效資料量之靜態超區塊以便清除最多區塊同時移動最小有效資料量。在圖3B中所展示實例中,第一靜態超區塊具有24個有效資料單元,第二靜態超區塊具有18個有效資料單元,第三靜態超區塊具有12個有效資料單元,第四靜態超區塊具有20個有效資料單元。因此,在某些習用方法中,在廢棄項目收集期間FTL 206將選擇第三靜態超區塊來清理第二晶粒之第一區塊及第四晶粒之第一區塊。FTL 206然後將移動12個有效資料單元至另一實體區塊,且然後自其實體區塊抹除資料。若彼程序清除了足夠自由空間,則廢棄項目收集程序將停止;然而,若需要更多自由空間,則FTL 206將選擇另一超區塊(例如,靜態超區塊2)以將其有效資料移動至另一實體區塊且自其實體區塊抹除資料。 特別地參考圖3B,在每次發生廢棄項目收集時FTL 206可跨越不同通道建構動態超區塊。每一超區塊可具有邏輯地連結至來自一不同通道之另一晶粒之另一實體區塊之至少一個實體區塊。在廢棄項目收集期間,FTL 206可建構一動態超區塊來清理一實體區塊集合。FTL 206可藉由自第一通道選擇一實體區塊、自第二通道選擇另一實體區塊以及自額外通道(若有的話)選擇實體區塊來建構每一新的動態超區塊。 FTL 206可基於每一晶粒之每一實體區塊中之有效資料之量來建構每一新的動態超區塊。舉例而言,可自每一通道選擇具有最小有效資料量之實體區塊。在圖3B中所展示之實例中,FTL 206可搜尋第一通道之晶粒301、302且選擇第一晶粒301之區塊2,此乃因(6)係跨越第一通道之實體區塊之最低有效資料。FTL 206亦可搜尋第二通道之晶粒303、304且選擇第四晶粒304之區塊1,此乃因(2)係跨越第二通道之實體區塊之最低有效資料。FTL 206然後將移動8個有效資料單元至另一實體區塊,且然後抹除動態超區塊中使用之實體區塊。若彼程序清除了足夠自由空間,則廢棄項目收集程序可結束;然而,若需要更多自由空間,則FTL 206可建構另一動態超區塊(例如,第一晶粒301之區塊1及第四晶粒304之區塊2)以將其有效資料移動至另一實體區塊且自其實體區塊抹除資料。由於圖3B之廢棄項目收集程序,與用於圖3A之廢棄項目收集程序之12個有效資料單元相比而言,僅需要移動8個有效資料單元來清除一超區塊。因此,與習用方法相比可降低在廢棄項目收集期間需要被重新定位之資料之量。 特別地參考圖3C,FTL 206可針對一廢棄項目收集程序藉由自每一通道之每一實體晶粒選擇一實體區塊來建構一新的動態超區塊。舉例而言,新的動態超區塊可包含來自第一晶粒301之一實體區塊、來自第二晶粒302之一實體區塊、來自第三晶粒303之一實體區塊、來自第四晶粒304之一實體區塊以及來自額外晶粒(若有的話)之實體區塊。FTL 206可基於每一晶粒之每一實體區塊中之有效資料之量來建構每一新的動態超區塊。舉例而言,可自每一晶粒選擇具有最小有效資料量之實體區塊。在圖3C中所展示之實例中,FTL 206可搜尋晶粒301、302、303、304且選擇第一晶粒301之區塊2,此乃因(6)係第一晶粒301之最低有效資料;選擇第二晶粒302之區塊1,此乃因(10)係第二晶粒302之最低有效資料;第三晶粒303之區塊2,此乃因(12)係第三晶粒303之最低有效資料及第四晶粒304之區塊2,此乃因(2)係第四晶粒304之最低有效資料。 特別地參考圖3D,在某些實施例中,FTL 206可針對一廢棄項目收集程序藉由自相同實體晶粒選擇多個實體區塊來建構一新的動態超區塊。舉例而言,新的動態超區塊可包含來自第一晶粒301之兩個實體區塊及來自第四晶粒304之兩個實體區塊。如同其他實施例,FTL 206可基於每一晶粒之每一實體區塊中之有效資料之量來建構新的動態超區塊。舉例而言,可自每一晶粒選擇具有最小有效資料量之實體區塊。在圖3D中所展示之實例中,FTL 206可搜尋晶粒301、302且選擇第一晶粒301之區塊4,此乃因(4)係第一通道之晶粒301、302之最低有效資料;並且選擇第一晶粒301之區塊2,此乃因(6)係第一通道之晶粒301、302之第二最低有效資料。另外,FTL 206可搜尋晶粒303、304且選擇第四晶粒304之區塊1,此乃因(2)係第二通道之晶粒303、304之最低有效資料,並且選擇第四晶粒304之區塊4,此乃因(4)係第二通道之晶粒303、304之第二最低有效資料。 區塊與晶粒之額外組合亦預期為本發明之實施例,該等額外組合可部分地取決於經動態地建構之超區塊之大小。舉例而言,建構用以包含六個實體區塊之一動態超區塊可致使FTL 206添加第二晶粒302之區塊3及第三晶粒303之區塊3,此乃因其具有每一各別通道(例如,參見圖3E)之第二最低有效資料。在某些實施例中,FTL 206可經組態以建構包含來自僅一單個通道內之晶粒之實體區塊之一超區塊。換言之,在搜尋晶粒301、302、303、304時,可不會限制FTL 206自兩個通道選擇區塊。因此,可藉由連結僅來自通道2中之晶粒之實體區塊來建構一動態超區塊,若此種情況發生的話則針對具有四個實體區塊之一大小之一動態超區塊通道2包含具有四個最低有效資料之區塊。 圖4係圖解說明根據本發明之一實施例之用於針對一記憶體裝置執行一廢棄項目收集操作之一方法之一流程圖400。在操作410處,記憶體控制器(例如,經由用於FTL之韌體)可判定需要清理以釋放記憶體陣列之某些實體區塊中之空間。可起始廢棄項目收集,且在每次執行廢棄項目收集時可建構一動態超區塊。 在操作420處,記憶體控制器(例如,經由用於FTL之韌體)可在由一第一通道管理之實體區塊中搜尋以判定由第一通道管理之每一晶粒之每一實體區塊之有效資料之量。 在操作430處,記憶體控制器(例如,經由用於FTL之韌體)可在由一第二通道支援之實體區塊中搜尋以判定由第二通道支援之每一晶粒之每一實體區塊之有效資料之量。若存在額外通道,則可類似地搜尋額外區塊。 在操作440處,可建構動態超區塊,該動態超區塊包含至少部分地基於實體區塊中之每一者中之有效資料之量而連結在一起之一實體區塊集合。在某些實施例中,建構該動態超區塊包含連結該第一通道之至少一個實體區塊與該第二通道之至少一個實體區塊。作為一實例,可利用選自第一通道(操作420)及/或第二通道(操作430)以及任何額外通道之區塊來建構動態超區塊。在某些實施例中,可選擇來自第一通道之具有最小有效資料量之實體區塊,且可選擇來自第二通道之具有最小量有效資料之實體區塊。在某些實施例中,可選擇來自同一通道之多個實體區塊。在不同實施例中,來自同一通道之多個實體區塊可或可不在相同晶粒上。 在操作450處,可將有效資料自由超區塊定義之實體區塊移動(亦即,重新定位)至記憶體陣列中之另一實體區塊內之可用空間。在操作460處,可抹除由超區塊定義之實體區塊中之資料。 在於操作460處抹除實體區塊之後,然後韌體可將新的資料寫入至新的可用空間中。韌體可根據應用程式層及檔案系統層之操作繼續讀取、寫入及/或抹除資料直至FTL判定需要額外自由空間且需要廢棄項目收集為止。可然後相應地建構一新的動態超區塊,該新的動態超區塊可取決於含於每一實體區塊內之有效資料而包含不同實體區塊,以使晶粒繼續且然後在下一次需要清理時進行相同操作。 在某些實施例中,在開始(例如,操作410)處當判定需要自由空間時可判定新的動態超區塊之大小。舉例而言,可判定針對一第一廢棄項目收集程序需要具有四個實體區塊之一超區塊。因此,可採用用於建構具有四個實體區塊之一超區塊之規則。在另一例項中,可判定針對一第二廢棄項目收集程序需要具有六個實體區塊之一超區塊。因此,可採用用於建構具有六個實體區塊之一超區塊之規則。因此,可取決於一給出廢棄項目收集操作所需要之超區塊之大小而採用用於建構不同超區塊之不同規則集合。 圖5係根據本發明之一實施例之一電子系統500之一示意性方塊圖。電子系統500包含以可操作方式與一記憶體裝置520、一或多個輸入裝置530及一或多個輸出裝置540耦合之一處理器510。電子系統500可係一消費型電子裝置,諸如一桌上型電腦、一膝上型電腦、一平板電腦、一電子讀取器、一智慧型電話或其他類型之通信裝置以及併入非揮發性儲存器之任何類型之運算系統。 如上文所論述,記憶體裝置520可經組態以針對如上文所論述之一廢棄項目收集程序動態地產生超區塊。記憶體控制器(包含FTL)可與記憶體裝置520 (例如,與記憶體陣列之實體晶粒相同之晶片或電路板)整合。在某些實施例中,記憶體控制器(包含FTL)可與經組態以控制電子系統500之其他特徵(例如,運行作業系統)之處理器510整合。 額外非限制性實施例包含: 實施例1。一種記憶體裝置,其包括:一記憶體陣列,其具有非揮發性記憶體胞元;及一記憶體控制器,其以可操作方式耦合至該記憶體陣列,該記憶體控制器經組態以至少部分地基於該記憶體陣列之每一實體區塊中存在之一有效資料量來動態地建構用於至少一個廢棄項目收集程序之一超區塊。 實施例2。如實施例1之記憶體裝置,其中該記憶體控制器包含經組態以執行該記憶體控制器之該廢棄項目收集及位址映射之一快閃記憶體轉譯層。 實施例3。如實施例1或實施例2之記憶體裝置,其中該記憶體陣列包含具有不同實體資料區塊之晶粒。 實施例4。如實施例3之記憶體裝置,其中該等晶粒包含: 一第一晶粒及一第二晶粒,其由該記憶體控制器之一第一通道管理;及 一第三晶粒及一第四晶粒,其由該記憶體控制器之一第二通道管理。 實施例5。如實施例4之記憶體裝置,其中該記憶體控制器經組態以藉由以下操作建構該超區塊:自該第一通道之該第一晶粒或該第二晶粒選擇具有一最低有效資料量之一實體區塊;及自該第二通道之該第三晶粒或該第四晶粒選擇具有一最低有效資料量之另一實體區塊。 實施例6。如實施例4之記憶體裝置,其中該記憶體控制器經組態以藉由以下操作來建構該超區塊:自該第一晶粒或該第二晶粒中之一或多者選擇多個實體區塊,及自該第三晶粒或該第四晶粒中之一或多者選擇多個實體區塊。 實施例7。如實施例1至6中任一項之記憶體裝置,其中該記憶體控制器進一步經組態以至少部分地基於在一給出廢棄項目收集程序期間需要被清除之實體區塊之一數目來動態地判定用於該至少一個廢棄項目收集程序之該超區塊之一大小。 實施例8。如實施例7之記憶體裝置,其中該記憶體控制器經組態以在一第一廢棄項目收集程序期間根據一第一規則集合來建構一第一超區塊,且在一第二廢棄項目收集程序期間根據一第二規則集合來建構一第二超區塊。 實施例9。如實施例1至8中任一項之記憶體裝置,其中該記憶體陣列之該等非揮發性記憶體胞元係組態為NAND快閃記憶體、NOR快閃記憶體、可抹除可程式化唯讀記憶體(EPROM)、電可抹除可程式化唯讀記憶體(EEPROM)、鐵電RAM (FRAM)或磁阻式RAM (MRAM)中之至少一者。 實施例10。一種記憶體裝置,其包括:記憶體胞元之實體區塊;及一記憶體控制器,其經組態以在每次針對該等實體區塊發生廢棄項目收集時不管任何實體區塊是否被判定為不良皆動態地建構一新的超區塊。 實施例11。如實施例10之記憶體裝置,其中該記憶體控制器經組態以執行具有一應用程式層、一檔案系統層及一轉譯層之韌體。 實施例12。如實施例11之記憶體裝置,其中該轉譯層包含經組態以建構該新的超區塊且執行該廢棄項目收集之一快閃記憶體轉譯層(FTL)。 實施例13。如實施例12之記憶體裝置,其中該FTL經組態以回應於判定具有一最小有效資料總量之一實體區塊集合而建構該新的超區塊。 實施例14。如實施例13之記憶體裝置,其中該實體區塊集合包含來自係由該記憶體控制器管理之一通道之部分之一晶粒的至少一個實體區塊,及來自係由該記憶體控制器管理之另一通道之部分之一額外晶粒的至少一個額外實體區塊。 實施例15。如實施例13或實施例14之記憶體裝置,其中該實體區塊集合包含來自包括該等記憶體胞元之不同晶粒之實體區塊。 實施例16。如實施例13至15中任一項之記憶體裝置,其中該實體區塊集合包含來自包括該等記憶體胞元之一共用晶粒之實體區塊。 實施例17。一種用於管理一記憶體裝置之操作之方法,該方法包括:針對劃分成若干實體資料區塊之一記憶體陣列起始一廢棄項目收集程序;判定該等實體資料區塊之一有效資料量;及至少部分地基於該記憶體陣列之該等實體資料區塊之該有效資料量來建構一動態超區塊。 實施例18。如實施例17之方法,其進一步包括:移動經選擇以用於該動態超區塊之建構之實體區塊之有效資料;及抹除經選擇以用於該動態超區塊之建構之該等實體區塊。 實施例19。如實施例17或實施例18之方法,其中起始該廢棄項目收集程序包含:將該動態超區塊之該等實體區塊之有效資料與無效資料分離且復原有效資料;將該有效資料重新散佈至該動態超區塊之外的可用實體區塊之一集區中;及抹除該動態超區塊之該等實體區塊來釋放其中之空間以用於發生額外寫入。 實施例20。如實施例17至19中任一項之方法,其中判定該等實體資料區塊之該有效資料量包含:在由一第一通道管理之每一晶粒之實體區塊中搜尋以判定該第一通道之每一實體區塊之有效資料;及在由一第二通道管理之每一晶粒之實體區塊中搜尋以判定該第二通道之每一實體區塊之有效資料。 實施例21。如實施例20之方法,其中建構該動態超區塊包含:連結該第一通道之至少一個實體區塊與該第二通道之至少一個實體區塊。 實施例22。如實施例21之方法,其中連結該第一通道之至少一個實體區塊與該第二通道之至少一個實體區塊包含:在該第一通道之該等實體區塊當中選擇具有最小有效資料量的該第一通道之該至少一個實體區塊;及在該第二通道之該等實體區塊當中選擇具有最小有效資料量的該第二通道之該至少一個實體區塊。 實施例23。一種電子系統,其包括:一記憶體裝置,其包含具有實體區塊之晶粒,該記憶體裝置經組態以連結一第一實體區塊集合以回應於一第一廢棄項目收集程序而動態地建構一第一超區塊,且連結一第二實體區塊集合以回應於一第二廢棄項目收集程序而動態地建構一第二超區塊。 實施例24。如實施例23之電子系統,其進一步包括一嵌入式多媒體控制器(eMMC)、一固態磁碟機(SSD)或包含該記憶體裝置之一通用快閃儲存(UFS)裝置中之至少一者。 實施例25。如實施例23或實施例24之電子系統,其進一步包括至少一個處理器、至少一個輸入裝置及至少一個輸出裝置。 雖然本發明易於發生各種修改及替代形式,但已在圖式中以實例方式展示且已在本文中詳細闡述具體實施例。然而,本發明不限制於所揭示之特定形式。相反地,本發明涵蓋歸屬於以下隨附申請專利範圍及其合法等效形式之範疇內之所有修改、等效形式及替代形式。
100‧‧‧記憶體裝置
110‧‧‧記憶體控制器
120‧‧‧記憶體陣列
202‧‧‧應用程式層
204‧‧‧檔案系統層
206‧‧‧快閃記憶體轉譯層
301‧‧‧晶粒/第一晶粒
302‧‧‧晶粒/第二晶粒
303‧‧‧晶粒/第三晶粒
304‧‧‧晶粒/第四晶粒
500‧‧‧電子系統
510‧‧‧處理器
520‧‧‧記憶體裝置
530‧‧‧輸入裝置
540‧‧‧輸出裝置
圖1係根據本發明之實施例之一記憶體裝置之一示意性方塊圖。 圖2展示用於圖1之記憶體控制器之一軟體架構之一示意性方塊圖。 圖3A至圖3E係出於圖解說明廢棄項目收集程序之目的之圖1之記憶體陣列之經簡化示意性方塊圖。 圖4係圖解說明根據本發明之一實施例之用於針對一記憶體裝置執行一廢棄項目收集操作之一方法之一流程圖。 圖5係根據本發明之一實施例之一電子系統之一示意性方塊圖。
Claims (20)
- 一種記憶體裝置,其包括:一記憶體陣列,其具有非揮發性記憶體胞元;及一記憶體控制器,其以可操作方式耦合至該記憶體陣列,該記憶體控制器經組態以不同於將多個超區塊建構為用於讀取及寫入資料之方式之一方式且至少部分地基於該記憶體陣列之每一實體區塊中存在之一有效資料量而非基於判定無效實體區塊(bad physical blocks)來動態地建構用於至少一個廢棄項目收集程序之一超區塊,該記憶體控制器經組態以藉由自由該記憶體控制器之一第一通道所管理之一第一數目之晶粒之其中一者選擇具有針對該第一通道之一最低有效資料量之一實體區塊及自由該記憶體控制器之一第二通道所管理之一第二數目之晶粒之其中一者選擇具有針對該第二通道之一最低有效資料量之另一實體區塊來動態地建構該超區塊。
- 如請求項1之記憶體裝置,其中該記憶體控制器包含經組態以執行該記憶體控制器之該廢棄項目收集及位址映射之一快閃記憶體轉譯層。
- 如請求項1之記憶體裝置,其中該記憶體控制器進一步經組態以藉由以下操作來建構該超區塊:自該第一數目之晶粒中之一或多者選擇多個實體區塊,及自該第二數目之晶粒中之一或多者選擇多個實體區塊。
- 如請求項1或請求項2之記憶體裝置,其中該記憶體控制器進一步經組態以至少部分地基於在一給出廢棄項目收集程序期間需要被清除之實體區塊之一數目來動態地判定用於該至少一個廢棄項目收集程序之該超區塊之一大小。
- 如請求項4之記憶體裝置,其中該記憶體控制器經組態以在一第一廢棄項目收集程序期間根據一第一規則集合來建構一第一超區塊,且在一第二廢棄項目收集程序期間根據一第二規則集合來建構一第二超區塊。
- 如請求項1或請求項2之記憶體裝置,其中該記憶體陣列之該等非揮發性記憶體胞元係組態為NAND快閃記憶體、NOR快閃記憶體、可抹除可程式化唯讀記憶體(EPROM)、電可抹除可程式化唯讀記憶體(EEPROM)、鐵電RAM(FRAM)或磁阻式RAM(MRAM)中之至少一者。
- 一種記憶體裝置,其包括:記憶體胞元之實體區塊;及一記憶體控制器,其經組態以在每次針對該等實體區塊發生廢棄項目收集時不管任何實體區塊是否被判定為不良皆使用來自不同晶粒之經動態建構之一實體區塊集合來建構一新的超區塊,且不同於在讀取及寫入期間內所使用之超區塊之建構,該實體區塊集合包含來自一晶粒之至少一實體區塊及來自一另一晶粒之至少一另一實體區塊,該至少一實體區塊係由該記憶體控制器所管理之一通道之一部分,該至少一另一實體區塊係由該記憶體控制器所管理之另一通道之一部分。
- 如請求項7之記憶體裝置,其中該記憶體控制器經組態以執行具有一應用程式層、一檔案系統層及一轉譯層之韌體。
- 如請求項8之記憶體裝置,其中該轉譯層包含經組態以建構該新的超區塊且執行該廢棄項目收集之一快閃記憶體轉譯層(FTL)。
- 如請求項9之記憶體裝置,其中該FTL經組態以回應於判定包含一最小有效資料總量之該至少一實體區塊及該至少一另一實體區塊而建構該新的超區塊。
- 如請求項7之記憶體裝置,其中該至少一實體區塊包含來自包括該等記憶體胞元之不同晶粒之至少一些實體區塊。
- 如請求項7之記憶體裝置,其中該至少一實體區塊包含來自包括該等記憶體胞元之一共用晶粒之至少一些實體區塊。
- 一種用於管理一記憶體裝置之操作之方法,該方法包括:針對劃分成若干實體資料區塊之一記憶體陣列起始一廢棄項目收集程序;判定該等實體資料區塊之一有效資料量;及經由連結用於一第一通道之一第一數目之晶粒之各者之至少一個實體區塊與用於一第二通道之一第二數目之晶粒之各者之至少一個實體區塊而建構一動態超區塊,該動態超區塊經建構為不同於在讀取及寫入期間內所使用之超區塊之建構,且該動態超區塊係在建構用於該廢棄項目收集程序之一動態超區塊時至少部分地基於該記憶體陣列之該等實體資料區塊之該有效資料量且不回應於實體區塊為無效之一判定而建構。
- 如請求項13之方法,其進一步包括:移動經選擇以用於建構該動態超區塊之實體區塊之有效資料;及抹除經選擇以用於建構該動態超區塊之該等實體區塊。
- 如請求項13或請求項14之方法,其中起始該廢棄項目收集程序包含:將該動態超區塊之該等實體區塊之有效資料與無效資料分離且復原有效資料;將該有效資料重新散佈至該動態超區塊之外的可用實體區塊之一集區中;及抹除該動態超區塊之該等實體區塊來釋放其中之空間以用於發生額外寫入。
- 如請求項13或請求項14之方法,其中判定該等實體資料區塊之該有效資料量包含:在由該第一通道管理之每一晶粒之實體區塊中搜尋以判定該第一通道之每一實體區塊之有效資料;及在由該第二通道管理之每一晶粒之實體區塊中搜尋以判定該第二通道之每一實體區塊之有效資料。
- 如請求項13之方法,其中連結用於該第一通道之該第一數目之晶粒之各者之至少一個實體區塊與用於該第二通道之該第二數目之晶粒之各者之至少一個實體區塊包含:在該第一通道之該等實體區塊當中選擇用於該第一通道之該第一數目之晶粒之各者之具有一最小有效資料量之該至少一個實體區塊;及在該第二通道之該等實體區塊當中選擇用於該第二通道之該第一數目之晶粒之各者之具有一最小有效資料量之該至少一個實體區塊。
- 一種電子系統,其包括:一記憶體裝置,其包含具有實體區塊之晶粒,該記憶體裝置經組態以連結經由一第一通道所管理之來自至少二個不同晶粒之一第一實體區塊集合以回應於一第一廢棄項目收集程序而在該第一廢棄項目收集程序之前及之後以不同於用於讀取及寫入資料之多個超區塊之建構之一方式動態地建構一第一超區塊,且連結經由一第二通道所管理之來自至少二個不同晶粒連結一第二實體區塊集合以回應於一第二廢棄項目收集程序而在該第二廢棄項目收集程序之前及之後以不同於用於讀取及寫入資料之多個超區塊之建構之一方式動態地建構一第二超區塊。
- 如請求項18之電子系統,其進一步包括一嵌入式多媒體控制器(eMMC)、一固態磁碟機(SSD)或包含該記憶體裝置之一通用快閃儲存(UFS)裝置中之至少一者。
- 如請求項18或請求項19之電子系統,其進一步包括至少一個處理器、至少一個輸入裝置及至少一個輸出裝置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/084,187 US10540274B2 (en) | 2016-03-29 | 2016-03-29 | Memory devices including dynamic superblocks, and related methods and electronic systems |
US15/084,187 | 2016-03-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201737094A TW201737094A (zh) | 2017-10-16 |
TWI678619B true TWI678619B (zh) | 2019-12-01 |
Family
ID=59959898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106110361A TWI678619B (zh) | 2016-03-29 | 2017-03-28 | 包含動態超區塊之記憶體裝置及相關方法與電子系統 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10540274B2 (zh) |
EP (1) | EP3436954A4 (zh) |
KR (1) | KR102143086B1 (zh) |
CN (1) | CN109074310A (zh) |
TW (1) | TWI678619B (zh) |
WO (1) | WO2017172293A1 (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10223022B2 (en) * | 2017-01-27 | 2019-03-05 | Western Digital Technologies, Inc. | System and method for implementing super word line zones in a memory device |
US10331374B2 (en) * | 2017-06-30 | 2019-06-25 | Oracle International Corporation | High-performance writable snapshots in data storage systems |
KR102447602B1 (ko) * | 2017-10-25 | 2022-09-26 | 삼성전자주식회사 | 메모리 장치 및 그 동적 가비지 컬렉션 방법 |
US10372355B2 (en) | 2017-12-29 | 2019-08-06 | Micron Technology, Inc. | Managing partial superblocks in a NAND device |
KR20190086174A (ko) * | 2018-01-12 | 2019-07-22 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR102611566B1 (ko) | 2018-07-06 | 2023-12-07 | 삼성전자주식회사 | 솔리드 스테이트 드라이브 및 그의 메모리 할당 방법 |
KR102585883B1 (ko) * | 2018-09-18 | 2023-10-10 | 에스케이하이닉스 주식회사 | 메모리 시스템의 동작 방법 및 메모리 시스템 |
US11386002B2 (en) * | 2018-10-04 | 2022-07-12 | ScaleFlux, Inc. | Enhancing solid-state storage device speed performance through stream-aware garbage collection |
KR20200071282A (ko) * | 2018-12-11 | 2020-06-19 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20200114009A (ko) * | 2019-03-27 | 2020-10-07 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
US10921986B2 (en) * | 2019-05-14 | 2021-02-16 | Oracle International Corporation | Efficient space management for high performance writable snapshots |
KR20200132171A (ko) * | 2019-05-15 | 2020-11-25 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 메모리 장치 |
KR20210012329A (ko) * | 2019-07-24 | 2021-02-03 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20210017181A (ko) * | 2019-08-07 | 2021-02-17 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 동작 방법 |
KR20210017481A (ko) | 2019-08-08 | 2021-02-17 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작방법 |
CN111078137B (zh) * | 2019-11-07 | 2021-07-06 | 深圳市金泰克半导体有限公司 | 清理存储空间的方法 |
US11262928B2 (en) * | 2020-06-12 | 2022-03-01 | Western Digital Technologies, Inc. | Storage system and method for enabling partial defragmentation prior to reading in burst mode |
TW202213084A (zh) | 2020-09-28 | 2022-04-01 | 韓商愛思開海力士有限公司 | 儲存裝置、儲存裝置的控制方法及記錄媒體 |
US11630592B2 (en) * | 2020-11-12 | 2023-04-18 | Western Digital Technologies, Inc. | Data storage device database management architecture |
KR20220111485A (ko) * | 2021-02-02 | 2022-08-09 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
US11561713B2 (en) * | 2021-03-11 | 2023-01-24 | Western Digital Technologies, Inc. | Simplified high capacity die and block management |
US11625189B2 (en) * | 2021-06-28 | 2023-04-11 | Western Digital Technologies, Inc. | Systems and methods for fragmentation management in host buffers |
US20230061800A1 (en) * | 2021-09-01 | 2023-03-02 | Micron Technology, Inc. | Dynamic superblock construction |
CN113867642B (zh) * | 2021-09-29 | 2023-08-04 | 杭州海康存储科技有限公司 | 数据处理方法、装置及存储设备 |
US11687263B2 (en) | 2021-12-01 | 2023-06-27 | Western Digital Technologies, Inc. | Full die recovery in ZNS SSD |
CN114333941B (zh) * | 2021-12-15 | 2023-11-10 | 西安紫光国芯半导体有限公司 | 三维堆叠的存储芯片、数据读写方法以及电子设备 |
CN114442936B (zh) * | 2021-12-29 | 2024-03-08 | 山东云海国创云计算装备产业创新中心有限公司 | 一种闪存转换层的块管理方法、装置、设备及存储介质 |
US11853203B1 (en) | 2022-06-23 | 2023-12-26 | Western Digital Technologies, Inc. | Systems and methods with variable size super blocks in zoned namespace devices |
CN116610596B (zh) * | 2023-07-19 | 2023-10-03 | 合肥康芯威存储技术有限公司 | 一种存储器件及其数据处理方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080109590A1 (en) * | 2006-11-03 | 2008-05-08 | Samsung Electronics Co., Ltd. | Flash memory system and garbage collection method thereof |
CN102243613A (zh) * | 2010-05-12 | 2011-11-16 | 西部数据技术公司 | 管理固态存储器中垃圾收集的系统和方法 |
US20120047409A1 (en) * | 2010-08-23 | 2012-02-23 | Apple Inc. | Systems and methods for generating dynamic super blocks |
TWI370969B (en) * | 2008-07-09 | 2012-08-21 | Phison Electronics Corp | Data accessing method, and storage system and controller using the same |
US8769190B1 (en) * | 2010-09-15 | 2014-07-01 | Western Digital Technologies, Inc. | System and method for reducing contentions in solid-state memory access |
US20150324282A1 (en) * | 2014-05-06 | 2015-11-12 | Western Digital Technologies, Inc. | Solid-state memory corruption mitigation |
US20150370701A1 (en) * | 2014-06-19 | 2015-12-24 | Sandisk Enterprise Ip Llc | Sub-Block Garbage Collection |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007081598A2 (en) | 2005-10-27 | 2007-07-19 | Sandisk Corporation | Adaptive handling data writes in non-volatile memories |
US9396103B2 (en) * | 2007-06-08 | 2016-07-19 | Sandisk Technologies Llc | Method and system for storage address re-mapping for a memory device |
KR100962186B1 (ko) * | 2008-12-22 | 2010-06-10 | 한국과학기술원 | 초저전력 스토리지 시스템 및 그의 데이터 관리방법 |
US8688894B2 (en) * | 2009-09-03 | 2014-04-01 | Pioneer Chip Technology Ltd. | Page based management of flash storage |
US8677203B1 (en) | 2010-01-11 | 2014-03-18 | Apple Inc. | Redundant data storage schemes for multi-die memory systems |
TW201203020A (en) * | 2010-07-05 | 2012-01-16 | Yomore Technology Co Ltd | Input device and control method thereof |
US8892981B2 (en) * | 2010-09-30 | 2014-11-18 | Apple Inc. | Data recovery using outer codewords stored in volatile memory |
US20120117303A1 (en) | 2010-11-04 | 2012-05-10 | Numonyx B.V. | Metadata storage associated with flash translation layer |
US20150212937A1 (en) | 2012-09-06 | 2015-07-30 | Pi-Coral, Inc. | Storage translation layer |
US9032177B2 (en) | 2012-12-04 | 2015-05-12 | HGST Netherlands B.V. | Host read command return reordering based on time estimation of flash read command completion |
TWI525625B (zh) * | 2013-12-09 | 2016-03-11 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 |
US9747298B2 (en) | 2014-05-02 | 2017-08-29 | Vmware, Inc. | Inline garbage collection for log-structured file systems |
US9632705B2 (en) * | 2014-12-17 | 2017-04-25 | Sandisk Technologies Llc | System and method for adaptive memory layers in a memory device |
US10180805B2 (en) * | 2015-03-25 | 2019-01-15 | SK Hynix Inc. | Memory system and operating method thereof |
US10055168B2 (en) * | 2015-08-31 | 2018-08-21 | SK Hynix Inc. | Delaying hot block garbage collection with adaptation |
US10102119B2 (en) * | 2015-10-30 | 2018-10-16 | Sandisk Technologies Llc | Garbage collection based on queued and/or selected write commands |
US10002073B2 (en) * | 2015-11-06 | 2018-06-19 | SK Hynix Inc. | Selective data recycling in non-volatile memory |
KR20170091832A (ko) * | 2016-02-01 | 2017-08-10 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
-
2016
- 2016-03-29 US US15/084,187 patent/US10540274B2/en active Active
-
2017
- 2017-03-07 CN CN201780026708.6A patent/CN109074310A/zh active Pending
- 2017-03-07 EP EP17776259.8A patent/EP3436954A4/en not_active Withdrawn
- 2017-03-07 WO PCT/US2017/021071 patent/WO2017172293A1/en active Application Filing
- 2017-03-07 KR KR1020187031144A patent/KR102143086B1/ko active IP Right Grant
- 2017-03-28 TW TW106110361A patent/TWI678619B/zh active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080109590A1 (en) * | 2006-11-03 | 2008-05-08 | Samsung Electronics Co., Ltd. | Flash memory system and garbage collection method thereof |
TWI370969B (en) * | 2008-07-09 | 2012-08-21 | Phison Electronics Corp | Data accessing method, and storage system and controller using the same |
CN102243613A (zh) * | 2010-05-12 | 2011-11-16 | 西部数据技术公司 | 管理固态存储器中垃圾收集的系统和方法 |
US20120047409A1 (en) * | 2010-08-23 | 2012-02-23 | Apple Inc. | Systems and methods for generating dynamic super blocks |
US8769190B1 (en) * | 2010-09-15 | 2014-07-01 | Western Digital Technologies, Inc. | System and method for reducing contentions in solid-state memory access |
US20150324282A1 (en) * | 2014-05-06 | 2015-11-12 | Western Digital Technologies, Inc. | Solid-state memory corruption mitigation |
US20150370701A1 (en) * | 2014-06-19 | 2015-12-24 | Sandisk Enterprise Ip Llc | Sub-Block Garbage Collection |
Also Published As
Publication number | Publication date |
---|---|
US10540274B2 (en) | 2020-01-21 |
WO2017172293A1 (en) | 2017-10-05 |
EP3436954A4 (en) | 2019-11-13 |
KR102143086B1 (ko) | 2020-08-11 |
EP3436954A1 (en) | 2019-02-06 |
US20170286286A1 (en) | 2017-10-05 |
KR20180121794A (ko) | 2018-11-08 |
TW201737094A (zh) | 2017-10-16 |
CN109074310A (zh) | 2018-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI678619B (zh) | 包含動態超區塊之記憶體裝置及相關方法與電子系統 | |
US11243878B2 (en) | Simultaneous garbage collection of multiple source blocks | |
TWI647702B (zh) | 記憶體控制器、記憶體系統及於一記憶體中管理資料配置的方法 | |
US8606987B2 (en) | Data writing method for flash memory and controller using the same | |
US9128618B2 (en) | Non-volatile memory controller processing new request before completing current operation, system including same, and method | |
US8001317B2 (en) | Data writing method for non-volatile memory and controller using the same | |
US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
US8452940B2 (en) | Optimized memory management for random and sequential data writing | |
US10802733B2 (en) | Methods and apparatus for configuring storage tiers within SSDs | |
US20160062885A1 (en) | Garbage collection method for nonvolatile memory device | |
KR20170113013A (ko) | 멀티-웨어 스마트 솔리드 스테이트 드라이브 | |
US9058256B2 (en) | Data writing method, memory controller and memory storage apparatus | |
TWI501243B (zh) | 資料寫入方法、記憶體儲存裝置、記憶體控制電路單元 | |
US20140281158A1 (en) | File differentiation based on data block identification | |
CN107590080B (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
TWI571882B (zh) | 平均磨損方法、記憶體控制電路單元及記憶體儲存裝置 | |
US8074128B2 (en) | Block management and replacement method, flash memory storage system and controller using the same | |
TWI437569B (zh) | 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 | |
CN112015329A (zh) | 存储系统及其操作方法 | |
TW202036300A (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
Yong et al. | Design and implementation of virtual stream management for NAND flash-based storage | |
CN104657083A (zh) | 数据写入方法、存储器储存装置、存储器控制电路单元 | |
US20200379897A1 (en) | Systems and methods for managing an artificially limited logical space of non-volatile memory | |
KR20160119607A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
TW202314471A (zh) | 儲存裝置及其操作方法 |