TWI741425B - 儲存裝置中順序資料優化之子區域 - Google Patents
儲存裝置中順序資料優化之子區域 Download PDFInfo
- Publication number
- TWI741425B TWI741425B TW108143862A TW108143862A TWI741425B TW I741425 B TWI741425 B TW I741425B TW 108143862 A TW108143862 A TW 108143862A TW 108143862 A TW108143862 A TW 108143862A TW I741425 B TWI741425 B TW I741425B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- granularity
- memory array
- mapping table
- dividing
- Prior art date
Links
Images
Classifications
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本發明揭示設備及方法,包含使用一記憶體控制器來將一記憶體陣列劃分為一第一部分及一第二部分,該第一部分及該第二部分具有非重疊邏輯區塊定址(LBA)範圍。該記憶體控制器為指定用於一第一用途之該記憶體陣列之該第一部分指派一第一邏輯至實體(L2P)映射表條目之一第一粒度,且為指定用於一第二用途之該記憶體陣列之該第二部分指派一第二L2P映射表條目之一第二粒度,其中該第二粒度不等於該第一粒度。該記憶體控制器將該第一粒度及該第二粒度儲存於該記憶體陣列中,且將該第一L2P映射表條目及該第二L2P映射表條目之至少一部分儲存於該記憶體控制器之一L2P快取記憶體中。
Description
記憶體裝置係為一主機系統(例如,一電腦或其他電子裝置)提供資料之電子儲存之半導體電路。記憶體裝置可為揮發性的或非揮發性的。揮發性記憶體需要電力來維護資料,且尤其包含諸如隨機存取記憶體(RAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)或同步動態隨機存取記憶體(SDRAM)之裝置。非揮發性記憶體在不被供電時可保留儲存資料,且尤其包含諸如快閃記憶體、唯讀記憶體(ROM)、電可擦除可程式化ROM (EEPROM)、可擦除可程式化ROM (EPROM)、電阻式可變記憶體(諸如相變隨機存取記憶體(PCRAM)、電阻式隨機存取記憶體(RRAM)或磁阻式隨機存取記憶體(MRAM)之裝置。
主機系統通常包含:一主機處理器;第一數量之主記憶體(例如,通常係揮發性記憶體,諸如DRAM),其用來支援主機處理器;及一或多個儲存系統(例如,通常係非揮發性記憶體,諸如快閃記憶體),其或其等提供額外儲存以保留除主記憶體以外或與主記憶體分離之資料。
一儲存系統(諸如一固態硬碟(SSD))可包含一記憶體控制器及一或多個記憶體裝置,包含數個晶粒或邏輯單元(LUN)。在特定實例中,各晶粒可包含數個記憶體陣列及其上之周邊電路系統,諸如晶粒邏輯或一晶粒處理器。記憶體控制器可包含經組態以透過一通信介面(例如,雙向並列或串列通信介面)與一主機裝置(例如,主機處理器或介面電路系統)進行通信之介面電路系統。記憶體控制器可與記憶體操作或指令(諸如讀取或寫入操作)相關聯地自主機系統接收命令或操作以在記憶體裝置與主機裝置之間傳送資料(例如,使用者資料及相關聯完整性資料,諸如錯誤資料或位址資料等),進行擦除操作以自記憶體裝置擦除資料,執行驅動管理操作(例如,資料遷移、垃圾收集、區塊報廢)等。
實例1係一種儲存系統,其包括:一記憶體陣列;一隨機存取記憶體,其經組態以儲存一或多個邏輯至實體(L2P)映射表之至少一部分;及一記憶體控制器,其中該記憶體控制器經程式化以執行以下操作,包含:將該記憶體陣列劃分為一第一部分及一第二部分,該第一部分及該第二部分具有非重疊邏輯區塊定址(LBA)範圍;為指定用於一第一用途之該記憶體陣列之該第一部分指派一第一L2P映射表條目之一第一粒度;為指定用於一第二用途之該記憶體陣列之該第二部分指派一第二L2P映射表條目之一第二粒度,其中該第二粒度不等於該第一粒度;將該第一粒度及該第二粒度儲存於該記憶體陣列中;及將該第一L2P映射表條目及該第二L2P映射表條目之至少一部分儲存於該隨機存取記憶體中。
在實例2中,如實例1之標的物視情況經組態使得該第一粒度及第二粒度經儲存於該控制器中之一區域表中。
在實例3中,如實例1之標的物視情況經組態使得該第一粒度大於該第二粒度。
在實例4中,如實例1之標的物視情況經組態使得該第二粒度大於該第一粒度。
在實例5中,如實例1至4中任一實例之標的物視情況經組態使得該第一部分及該第二部分係不同記憶體類型。
在實例6中,如實例1至5中任一實例之標的物視情況經組態使得將該記憶體陣列劃分為一第一部分及一第二部分包含在啟動時劃分該記憶體陣列。
在實例7中,如實例1至5中任一實例之標的物視情況經組態使得將該記憶體陣列劃分為一第一部分及一第二部分包含在運行時間期間劃分該記憶體陣列。
在實例8中,如實例1至5中任一實例之標的物視情況經組態使得將該記憶體陣列劃分為一第一部分及一第二部分包含在啟動時劃分該記憶體陣列及在運行時間期間重新劃分該記憶體陣列。
實例9係一種方法,其包括:藉由一記憶體控制器將一記憶體陣列劃分為一第一部分及一第二部分,該第一部分及該第二部分具有非重疊邏輯區塊定址(LBA)範圍;藉由該記憶體控制器為指定用於一第一用途之該記憶體陣列之該第一部分指派一第一邏輯至實體(L2P)映射表條目之一第一粒度;藉由該記憶體控制器為指定用於一第二用途之該記憶體陣列之該第二部分指派一第二L2P映射表條目之一第二粒度,其中該第二粒度不等於該第一粒度;藉由該記憶體控制器將該第一粒度及該第二粒度儲存於該記憶體陣列中;及藉由該記憶體控制器將該第一L2P映射表條目及該第二L2P映射表條目之至少一部分儲存於該記憶體控制器之一L2P快取記憶體中。
在實例10中,如實例9之標的物視情況經組態使得該方法進一步包括:藉由該記憶體控制器劃分該記憶體陣列以包含一第三部分,該第一部分、該第二部分及該第三部分具有非重疊邏輯區塊定址(LBA)範圍;及藉由該記憶體控制器為指定用於一第三用途之該記憶體陣列之該第三部分指派一第三L2P映射表條目之一第三粒度。
在實例11中,如實例10之標的物視情況經組態使得該第三粒度不等於該第一粒度及該第二粒度。
在實例12中,如實例10或11之標的物視情況經組態使得該方法進一步包括:藉由該記憶體控制器將該第三粒度儲存於該記憶體陣列中;及藉由該記憶體控制器將該第三L2P映射表條目之至少一部分儲存於該記憶體控制器之該L2P快取記憶體中。
在實例13中,如實例10至12中任一實例之標的物視情況經組態使得該方法進一步包括:藉由該記憶體控制器劃分該記憶體陣列以包含一第四部分,該第一部分、該第二部分、該第三部分及該第四部分具有非重疊邏輯區塊定址(LBA)範圍;及藉由該記憶體控制器為指定用於一第四用途之該記憶體陣列之該第四部分指派一第四L2P映射表條目之一第四粒度。
在實例14中,如實例13之標的物視情況經組態使得該第四粒度不等於該第一粒度、該第二粒度及該第三粒度。
在實例15中,如實例13或14之標的物視情況經組態使得該方法進一步包括:藉由該記憶體控制器將該第四粒度儲存於該記憶體陣列中;及藉由該記憶體控制器將該第四L2P映射表條目之至少一部分儲存於該記憶體控制器之該L2P快取記憶體中。
實例16係一種提供指令之裝置可讀儲存媒體,該等指令在由一處理器執行時致使該處理器執行以下操作,包括:將一記憶體陣列劃分為一第一部分及一第二部分,該第一部分及該第二部分具有非重疊邏輯區塊定址(LBA)範圍;為指定用於一第一用途之該記憶體陣列之該第一部分指派一第一邏輯至實體(L2P)映射表條目之一第一粒度;為指定用於一第二用途之該記憶體陣列之該第二部分指派一第二L2P映射表條目之一第二粒度,其中該第二粒度不等於該第一粒度;將該第一粒度及該第二粒度儲存於該記憶體陣列中;及將該第一L2P映射表條目及該第二L2P映射表條目之至少一部分儲存於一L2P快取記憶體中。
在實例17中,如實例16之標的物視情況經組態使得該第一部分及該第二部分係不同記憶體類型。
在實例18中,如實例16或17之標的物視情況經組態使得將該記憶體陣列劃分為一第一部分及一第二部分包含在啟動時劃分該記憶體陣列。
在實例19中,如實例16或17之標的物視情況經組態使得將該記憶體陣列劃分為一第一部分及一第二部分包含在運行時間期間劃分該記憶體陣列。
在實例20中,如實例16或17之標的物視情況經組態使得將該記憶體陣列劃分為一第一部分及一第二部分包含在啟動時劃分該記憶體陣列及在運行時間期間重新劃分該記憶體陣列。
實例21係至少一種包含指令之機器可讀媒體,該等指令在由處理電路系統執行時致使該處理電路系統執行操作以實施實例1至20中任一實例。
實例22係一種設備,其包括用來實施實例1至20中任一實例之構件。
實例23係一種系統,其用來實施實例1至20中任一實例。
實例24係一種方法,其用來實施實例1至20中任一實例。
軟體(例如,程式)、指令、作業系統(OS)及其他資料通常經儲存於儲存系統上且由主記憶體存取以供一主機處理器使用。主記憶體(例如,RAM)通常比儲存系統之大多數記憶體裝置(例如,非揮發性,諸如一SSD等)更快、更昂貴且係一不同類型之記憶體裝置(例如,揮發性)。除主記憶體以外,主機系統亦可包含不同層級之揮發性記憶體(諸如一靜態記憶體群組(例如,一快取記憶體,通常係SRAM)),靜態記憶體在特定實例中通常比主記憶體更快,經組態以在接近或超過主機處理器之速度之速度下操作,但密度更低且成本更高。在其他實例中,可取決於所要之主機系統效能及成本而使用或多或少層級或數量之主記憶體或靜態記憶體。
快閃記憶體裝置(諸如SSD)通常包含單電晶體浮動閘極記憶體胞之一或多個群組。兩種常見之快閃記憶體陣列架構包含NAND及NOR架構。記憶體陣列之浮動閘極記憶體胞通常經配置成一矩陣。
藉由使用一快閃記憶體轉換層(FTL)來使用一邏輯至實體(L2P)表將使用者資料區塊(邏輯區塊定址或LBA)映射至實體位址,一NAND儲存裝置之效能嚴重受影響。當前L2P表將四位元組實體位址用於使用者資料之各4 KB塊(chunk),此導致一大映射表無法一次性配合至L2P快取記憶體中。本標的物提供劃分一小部分之儲存裝置且基於分區之指定用途以一不同映射表粒度來操作分區。藉由在一較大粒度下映射一分區,彼分區之隨機讀取效能及順序寫入效能將增加(此係因為在一給定時間更多映射表將配合至快取記憶體中),此將有益於可更快地載入且改良總體使用者體驗之軟體,諸如作業系統。
各項實施例提供將一儲存裝置之一使用者區域劃分為多個LBA範圍,且依一特定使用案例(或經劃分LBA範圍之指定用途)針對各LBA範圍客製化L2P映射表之粒度。在各項實施例中,針對各L2P映射表客製化儲存控制器內之一SRAM以優化各使用案例之效能。因此,本標的物定義至各種LBA範圍之一客製化L2P映射粒度以產生經客製化之隨機寫入及隨機讀取效能,且將各LBA範圍用於指定用途。例如,將一作業系統(O/S)或關鍵應用程式放置於針對隨機讀取效能優化之一區域中以改良啟動時間或載入時間,且將次要或不太具有商業優勢之應用程式放置於一通用區域中。因此,可針對特定指定用途(諸如串流化視訊或載入一O/S)調整分區。
基於NAND快閃記憶體之儲存裝置需要一FTL來將使用者資料區塊(LBA)映射至實體位址。為了有效地支援小主機寫入,一L2P映射表之正常粒度係用於少量主機LBA之單個實體位址實體,通常單個實體位址保存4096個位元組之使用者資料。在針對各4 KB使用者資料塊之4位元組實體位址之情況下,映射表之大小通常相當大。針對大多數裝置,具有一大映射表係禁止性的,且通常一次僅映射表之一小子集在一L2P快取記憶體中之儲存控制器內可用。
在各項實施例中,在隨機寫入操作之效率與L2P快取記憶體之效率之間的映射之粒度中存在一折衷。在一第一實例中,可將一4 KB使用者資料塊(含有一或多個LBA)映射至一4位元組實體位址。在一第二實例中,可將一8 KB使用者資料塊(含有兩倍於4 KB塊多之LBA)映射至一4位元組實體位址。為了在第一實例中執行一4 KB使用者寫入,可直接寫入資料且使用新實體位址更新映射表。為了在第二實例中執行一4 KB使用者寫入,必須自儲存媒體讀取與新寫入資料有關之另一4 KB資料塊,將其接合至新4 KB資料,且接著將使新構建之8 KB塊連同單個條目之一映射表更新一起寫入至記憶體。在第二實例中,該操作係儲存裝置之一讀取-修改-寫入,其效率低於第一實例(其僅係一寫入)。因此,第一實例具有遠好於上述第二實例之一效能。然而,在第二實例中,L2P映射快取記憶體可映射兩倍之空間。對於一32 KB L2P快取記憶體大小,第一實例可針對32 MB之一總映射範圍儲存32768/4=8192個實體位址,該等實體位址之各者指向4 KB。針對第二實例,32 KB快取記憶體足以針對64 MB之一總映射範圍保存8192個實體位址,該等實體位址之各者指向8 KB。
在各項實施例中,本標的物劃分一小部分之儲存系統且以不同映射表粒度操作分區。在一項實施例中,在256 GB之使用者儲存區域可用之情況下,可針對單個4位元組實體位址在一256 KB粒度下映射前16 GB之資料(第一區域),且可針對單個4位元組實體位址使用一4 KB粒度映射剩餘240 GB (第二區域)。以一大粒度映射之儲存系統之第一區域將提供不良隨機寫入效能,此係因為每次小於256 KB之寫入涉及256 KB之一讀取-修改-寫入。依一較小粒度映射之儲存系統之第二區域將提供更好隨機寫入效能,此係因為針對大小低至4 KB之一寫入不存在讀取-修改-寫入損失。在折衷之另一方面,可使用僅256 KB之控制器SRAM快取記憶體((16*1024*1024*1024)/(256*1024))映射第一區域之整個16 GB範圍,而針對第二256 KB區域將僅映射256 MB之使用者區域。雖然第一區域及第二區域兩者提供相同順序讀取及寫入效能,但第一區域將提供卓越隨機讀取效能,此係因為第一區域之整個映射表可一次性駐留於SRAM中。針對第二區域,隨機讀取效能將受影響,此係因為第二區域之讀取使用雙讀取序列,一個讀取用來載入映射表之適當部分以找到與一LBA關聯之實體位址且一第二讀取用來載入資料。
藉由為指定用途指定分區粒度,本標的物將提供一顯著改良之使用者體驗及控制器SRAM映射表資源之一更有效用途。例如,第一區域最佳用於順序寫入,例如將不頻繁地更新之一作業系統及關鍵應用程式之順序載入以及大順序寫入。第一區域將提供改良式讀取效能,使得第一區域中之應用程式將具有卓越載入時間。在各項實施例中,此類型之區域將對行動裝置、汽車裝置或物聯網(IoT)中之O/S有用。行動電話製造商可藉由將專屬應用程式放置於第一區域中,使得其等將勝過在預設情況下將駐留於第二或其他區域中之售後市場應用程式而利用此優勢。第二區域最佳用於正常寫入用途,從而提供使用者已習慣之一典型體驗。
在一些實施例中,亦可藉由將一更快類型之記憶體用於特定分區而在不同速度下操作分區,從而使此等優勢更加明顯。例如,可使用單階胞記憶體(SLC)代替三階胞記憶體(TLC) NAND,或可將3D XPoint類型記憶體用於指定分區。
各項實施例提供在非重疊LBA範圍之區域之一表中定義之一儲存裝置中使用者區域之一或多個區域之定義。藉由使用映射表粒度之特定應用選擇,本標的物用控制器L2P映射SRAM資源交換隨機寫入效能以優化各應用及儲存裝置之使用者區域之各區域之使用者體驗。在各項實施例中,當將一LBA或LBA群組寫入至儲存裝置時,對照區域表檢查LBA以判定LBA之恰當寫入粒度,執行適當讀取-修改-寫入(若有的話),且取決於選定區域之屬性進行適當映射表更新。本標的物亦提供在垃圾收集操作時保留區域屬性。因此,在執行垃圾回收時,將使用該區域之適當映射表塊大小執行讀取及寫入。由於用於L2P映射資料之有限記憶體控制器資源,可針對一特定裝置、一特定使用案例及/或使用模型優化粒度以獲得具市場優勢之效能。
在本標的物之各項實施例中,變動粒度永久地儲存於非揮發性記憶體陣列中。因此,可在一永久操作模式下將多個粒度用於儲存裝置之區域,且可藉由存取記憶體陣列來存取粒度。在各項實施例中,粒度提供不同類別之可組態讀取服務。在各項實施例中,儲存裝置之多個區域可被指派不同粒度。在一項實例中,儲存裝置之兩個區域被指派不同粒度。在另一實例中,儲存裝置之三個區域被指派不同粒度。在不脫離本標的物之範疇之情況下,儲存裝置之其他數目個區域可被指派不同粒度。一些實施例以沒有足夠DRAM來保存整個L2P映射之裝置為目標。
本發明之態樣係關於一種儲存系統,其包含:一記憶體陣列;一隨機存取記憶體,其經組態以儲存一或多個邏輯至實體(L2P)映射表之至少一部分;及一記憶體控制器。該記憶體控制器經程式化以執行以下操作,包含:將該記憶體陣列劃分為一第一部分及一第二部分,該第一部分及該第二部分具有非重疊邏輯區塊定址(LBA)範圍;為指定用於一第一用途之該記憶體陣列之該第一部分指派一第一L2P映射表條目之一第一粒度;為指定用於一第二用途之該記憶體陣列之該第二部分指派一第二L2P映射表條目之一第二粒度,其中該第二粒度不等於該第一粒度;及將該第一L2P映射表條目及該第二L2P映射表條目之至少一部分儲存於該隨機存取記憶體中。
圖1繪示一實例系統(例如,一主機系統) 100,其包含經組態以透過一通信介面(I/F) 115 (例如,雙向並列或串列通信介面)進行通信之一主機裝置105及一儲存系統110。主機裝置105可包含一主機處理器106 (例如,一主機中央處理單元(CPU)或其他處理器或處理裝置)或其他主機電路系統(例如,一記憶體管理單元(MMU)、介面電路系統、評估電路系統107等)。在特定實例中,主機裝置105可包含一主記憶體108 (例如,DRAM等)及視情況一靜態記憶體109,以支援主機處理器106之操作。
儲存系統110可包含一通用快閃儲存(UFS)裝置、一嵌入式MMC (eMMC™)裝置或一或多個其他記憶體裝置。例如,若儲存系統110包含一UFS裝置,則通信介面115可包含一串列雙向介面,諸如在一或多個聯合電子裝置工程委員會(JEDEC)標準(例如,JEDEC標準D223D (JESD223D),統稱為JEDEC UFS主機控制器介面(UFSHCI) 3.0等)中所定義。在另一實例中,若儲存系統110包含一eMMC裝置,則通信介面115可包含數個並列雙向資料線(例如,DAT[7:0])及一或多個命令線,諸如在一或多個JEDEC標準(例如,JEDEC標準D84-B51 (JESD84-A51),統稱為JEDEC eMMC標準5.1等)中所定義。在其他實例中,儲存系統110可包含一或多個其他儲存裝置,或通信介面115可取決於主機裝置105及儲存系統110而包含一或多個其他介面。
儲存系統110可包含一記憶體控制器111、一隨機存取記憶體(或快取記憶體) 113及一非揮發性記憶體112。在一實例中,非揮發性記憶體可包含數個記憶體裝置(例如,晶粒或LUN),諸如一或多個快閃記憶體裝置等,各記憶體裝置在其上包含周邊電路系統且受記憶體控制器111控制。
快閃記憶體裝置通常包含單電晶體、浮動閘極記憶體胞之一或多個群組。兩種常見類型之快閃記憶體陣列架構包含NAND及NOR架構。記憶體陣列之浮動閘極記憶體胞通常經配置成一矩陣。該陣列之一列中之各記憶體胞之閘極經耦合至一存取線(例如,一字線)。在NOR架構中,該陣列之一行中之各記憶體胞之汲極經耦合至一資料線(例如,一位元線)。在NAND架構中,該陣列之一行中之各記憶體胞之汲極以源極至汲極之方式一起串聯耦合於一源極線與一位元線之間。
一NOR、NAND、3D交叉點(Xpoint)、全像RAM (HRAM)、MRAM或一或多個其他架構半導體記憶體陣列中之各記憶體胞可個別地或共同地程式化為一種或數種程式化狀態。單階胞(SLC)可表示在兩種程式化狀態(例如,1或0)之一者下每胞一個位元之資料。多階胞(MLC)可表示在數種程式化狀態(例如2 n
,其中n
係資料之位元數目)下每胞兩個或更多個位元之資料。在特定實例中,MLC可指代可在4種程式化狀態之一者下儲存兩個位元之資料之一記憶體胞。三階胞(TLC)可表示在8種程式化狀態之一者下每胞三個位元之資料。四階胞(QLC)可表示在16種程式化狀態之一者下每胞四個位元之資料。MLC在本文中以其更廣泛背景用來指代可儲存每胞一個以上位元之資料(即,可表示兩種以上程式化狀態)之任何記憶體胞,包含TLC及QLC等。
儲存系統110可包含多媒體卡(MMC)固態儲存裝置(例如,微型安全數位(SD)卡等)。MMC裝置包含與一主機裝置105之數個並列介面(例如,一8位元並列介面),且通常係可自主機裝置移除的組件且係與主機裝置分離之組件。相比之下,嵌入式MMC (eMMC)裝置經附接至一電路板且被視為主機裝置之一組件,其中讀取速度可媲美基於串列ATA (SATA)之SSD裝置。隨著對行動裝置效能之需求不斷增加諸如以完全啟用虛擬實境裝置或擴增實境裝置、利用增加的網路速度等,儲存系統已自並列通信介面變換至串列通信介面。UFS裝置(包含控制器及韌體)使用具有專用讀取/寫入路徑之一低壓差分信令(LVDS)串列介面與一主機裝置進行通信,從而進一步提高一主機裝置與一儲存系統之間的讀取/寫入速度。
在三維(3D)架構半導體儲存裝置技術中,可堆疊垂直浮動閘極或電荷捕獲儲存結構,從而增加一記憶體裝置中之層、實體頁之數目及據此記憶體胞之密度。
資料通常作為小單元任意地儲存於儲存系統上。即使作為單個單元進行存取,仍可以小、隨機4 k至16 k單個檔案讀取接收資料(例如,60%至80%之操作小於16 k)。一使用者及甚至內核應用程式皆難以指示應將資料儲存為一個順序凝聚單元。檔案系統通常經設計以優化空間使用而非順序擷取空間。
記憶體控制器111可自主機裝置105接收指令,且可與非揮發性記憶體112進行通信,諸如以將資料傳送(例如,寫入或擦除)至非揮發性記憶體陣列112之一或多個記憶體胞或自非揮發性記憶體陣列112之一或多個記憶體胞傳送(例如,讀取)資料。記憶體控制器111可尤其包含電路系統或韌體,諸如數個組件或積體電路。例如,記憶體控制器111可包含經組態以控制跨記憶體陣列之存取且在主機裝置105與儲存系統100之間提供一轉換層之一或多個記憶體控制單元、電路或組件。
非揮發性記憶體陣列112 (例如,一3D NAND架構半導體記憶體陣列)可包含配置於例如數個裝置、平面、區塊或實體頁中之數個記憶體胞。作為一個實例,一TLC儲存裝置可包含每頁18,592個位元組(B)之資料、每區塊1536個頁、每平面548個區塊及每裝置4個平面。作為另一實例,一MLC記憶體裝置可包含每頁18,592個位元組(B)之資料、每區塊1024個頁、每平面548個區塊及每裝置4個平面,但一對應TLC記憶體裝置相比,所需寫入時間減半且程式化/擦除(P/E)循環係兩倍。其他實例可包含其他數目或配置。
圖2繪示用於在一儲存系統中提供資料優化之子區域之一實例方法200。方法200包含:在202處,藉由一記憶體控制器將一記憶體陣列劃分為一第一部分及一第二部分,第一部分及第二部分具有非重疊邏輯區塊定址(LBA)範圍;及在204處,藉由記憶體控制器為指定用於一第一用途之記憶體陣列之第一部分指派一第一L2P映射表條目之一第一粒度。方法200進一步包含:在206處,藉由記憶體控制器為指定用於一第二用途之記憶體陣列之第二部分指派一第二L2P映射表條目之一第二粒度,其中第二粒度不等於第一粒度;在208處,藉由記憶體控制器將第一粒度及第二粒度儲存於記憶體陣列中;及在210處,藉由記憶體控制器將第一L2P映射表條目及第二L2P映射表條目之至少一部分儲存於記憶體控制器之一L2P快取記憶體中。
圖3A至圖3D繪示一儲存系統中之映射表區域之實例。在各項實施例中,區域表映射經儲存於記憶體控制器處且用作判定待用於儲存或擷取之區域之粒度之一查找表。在所描繪實施例中,圖3D中之區域4用於O/S或串流化,此係因為此區域將展現卓越讀取效能。圖3A中之區域1將展現更正常效能,且可用於將不具有資料效能需求,諸如O/S或串流化之更小程式或資料。在各項實施例中,一使用者可取決於所要效能及可用性而控制將資料寫入至哪種類型之區域。在各項實施例中,本標的物基於各區域中之經儲存資料之預期工作負載而客製化一儲存系統之資料區域。
圖4繪示一3D NAND架構半導體記憶體陣列400之一實例示意圖,其包含組織成區塊(例如,區塊A 401A、區塊B 401B等)及子區塊(例如,子區塊A0
401A0
、子區塊An
401An
、子區塊B0
401B0
、子區塊Bn
401Bn
等)之數個記憶體胞串(例如,第一至第三A0
記憶體串405A0
至407A0
、第一至第三An
記憶體串405An
至407An
、第一至第三B0
記憶體串405B0
至407B0
、第一至第三Bn
記憶體串405Bn
至407Bn
等)。記憶體陣列400表示通常將在一記憶體裝置之一區塊、裝置或其他單元中發現之更大數目個類似結構之一部分。
各記憶體胞串包含以源極至汲極方式沿Z方向堆疊於一源極線(SRC) 435或一源極側選擇閘極(SGS) (例如,第一至第三A0
SGS 431A0
至433A0
、第一至第三An
SGS 431An
至433An
、第一至第三B0
SGS 431B0
至433B0
、第一至第三Bn
SGS 431Bn
至433Bn
等)與一汲極側選擇閘極(SGD) (例如,第一至第三A0
SGD 426A0
至428A0
、第一至第三An
SGD 426An
至428An
、第一至第三B0
SGD 426B0
至428B0
、第一至第三Bn
SGD 426Bn
至428Bn
等)之間的電荷儲存電晶體(例如,浮動閘極電晶體、電荷捕獲結構等)之數個層。3D記憶體陣列中之各記憶體胞串可沿X方向配置為資料線(例如,位元線(BL) BL0至BL6 420至422),且沿Y方向配置為實體頁。
在一實體頁內,各層表示一記憶體胞列,且各串記憶體胞表示一行。一子區塊可包含一或多個實體頁。一區塊可包含數個子區塊(或實體頁)(例如,128、256、384等)。儘管本文中被繪示為具有兩個區塊,各區塊具有兩個子區塊,各子區塊具有單個實體頁,各實體頁具有三個記憶體胞串,且各串具有8個記憶體胞層,但在其他實例中,記憶體陣列400可包含更多或更少區塊、子區塊、實體頁、記憶體胞串、記憶體胞或層。例如,各記憶體胞串可根據需要包含更多或更少層(例如,16、32、64、128等),以及電荷儲存電晶體上方或下方之半導體材料之一或多個額外層(例如,選擇閘極、資料線等)。例如,一48 GB TLC NAND記憶體裝置可包含每頁18,592個位元組(B) (16,384+2208個位元組)之資料,每區塊1536個頁,每平面548個區塊及每裝置4個或更多個平面。
記憶體陣列400中之各記憶體胞包含耦合至(例如,電或以其他方式可操作地連接至)一存取線(例如,字線(WL) WL00
至WL70
410A至417A、WL01
至WL71
410B至417B等)之一控制閘極(CG),該存取線可根據需要共同跨一特定層或一層之一部分耦合控制閘極(CG)。3D記憶體陣列中之特定層及據此一串中之特定記憶體胞可使用各自存取線來存取或控制。可使用各種選擇線存取選擇閘極群組。例如,可使用一A0
SGD線SGDA0
425A0
存取第一至第三A0
SGD 426A0
至428A0
,可使用一SGD線SGDAn
425An
存取第一至第三SGD 426An
至428An
,可使用一B0
SGD線SGDB0
425B0
存取第一至第三B0
SGD 426B0
至428B0
,且可使用一Bn
SGD線SGDBn
425Bn
存取第一至第三Bn
SGD 426Bn
至428Bn
。可使用一閘極選擇線SGS0
430A存取第一至第三A0
SGS 431A0
至433A0
及第一至第三An
SGS 431An
至433An
,且可使用一閘極選擇線SGS1
430B存取第一至第三B0
SGS 431B0
至433B0
及第一至第三Bn
SGS 431Bn
至433Bn
。
在一實例中,記憶體陣列400可包含半導體材料(例如,多晶矽等)之數個層級,其等經組態以耦合各記憶體胞之控制閘極(CG)或該陣列之一各自層之選擇閘極(或CG或選擇閘極之一部分)。可使用位元線(BL)及選擇閘極等之一組合來存取、選擇或控制該陣列中之記憶體胞之特定串,且可使用一或多個存取線(例如,字線)存取、選擇或控制特定串中之一或多個層處之特定記憶體胞。
在一NAND架構半導體記憶體陣列中,可藉由感測與含有一選定記憶體胞之一特定資料線相關聯之一電流或電壓變動來存取選定記憶體胞之狀態。可使用一或多個驅動器(例如,藉由一控制電路、一或多個處理器、數位邏輯等)存取記憶體陣列400。在一實例中,取決於期望對一特定記憶體胞或記憶體胞組執行之操作類型,一或多個驅動器可藉由將一特定電位驅動至一或多個資料線(例如,位元線BL0至BL2)、存取線(例如,字線WL0至WL7)或選擇閘極來啟動特定記憶體胞或記憶體胞組。
為了將資料程式化或寫入至一記憶體胞,可將一程式化電壓(Vpgm)(例如,一或多個程式化脈衝等)施加至選定字線(例如,WL40
),且因此施加至耦合至選定字線之各記憶體胞之一控制閘極。程式化脈衝可例如在15 V或接近15 V開始,且在特定實例中,可在各程式化脈衝施加期間量值增加。當將程式化電壓施加至選定字線時,可將一電位(諸如一接地電位(例如,Vss))施加至旨在程式化之記憶體胞之資料線(例如,位元線)與基板(及因此源極與汲極之間的通道),從而導致自目標記憶體胞之通道至浮動閘極之一電荷轉移(例如,直接注入或福勒-諾德漢(FN)穿隧等)。
相比之下,可將一導通電壓(Vpass)施加至具有並非旨在程式化之記憶體胞之一或多個字線,或可將一抑制電壓(例如,Vcc)施加至具有並非旨在程式化之記憶體胞之資料線(例如,位元線),例如以抑制電荷自通道轉移至此等非目標記憶體胞之浮動閘極。導通電壓可例如取決於經施加之導通電壓與旨在程式化之一字線之接近度而可變。抑制電壓可包含相對於一接地電位(例如,Vss)之一電源電壓(Vcc),諸如來自一外部電源(source或supply)(例如,一電池、一AC至DC轉換器等)之一電壓。
作為一實例,若將一程式化電壓(例如,15 V或更高)施加至一特定字線(諸如WL40
),則可將一10 V導通電壓施加至一或多個其他字線(諸如WL30
、WL50
等)以抑制非目標記憶體胞之程式化,或保留儲存於並非旨在程式化之此等記憶體胞上之值。隨著一經施加之程式化電壓與非目標記憶體胞之間的距離增加,避免程式化非目標記憶體胞所需之導通電壓可減小。例如,在將一15 V程式化電壓施加至WL40
之情況下,可將一10 V導通電壓施加至WL30
及WL50
,可將一8 V導通電壓施加至WL20
及WL60
,可將一7 V導通電壓施加至WL10
及WL70
等。在其他實例中,導通電壓或字線數目等可更高或更低,或更多或更少。
感測放大器可經耦合至一或多個資料線(例如,第一、第二或第三位元線(BL0至BL2) 420至422),可藉由感測一特定資料線上之一電壓或電流來偵測各自資料線中之各記憶體胞之狀態。
在施加一或多個程式化脈衝(例如,Vpgm)之間,可執行一驗證操作以判定一選定記憶體胞是否已達到其預期程式化狀態。若選定記憶體胞已達到其預期程式化狀態,則其可被抑制進一步程式化。若選定記憶體胞尚未達到其預期程式化狀態,則可施加額外程式化脈衝。若在特定數目個程式化脈衝(例如,一最大數目)之後選定記憶體胞尚未達到其預期程式化狀態,則可將選定記憶體胞或與此選定記憶體胞相關聯之一串、區塊或頁標記為有缺陷。
為了擦除一記憶體胞或一記憶體胞群組(例如,擦除通常以區塊或子區塊執行),可將一擦除電壓(Vers)(例如,通常Vpgm)施加至旨在擦除(例如,使用一或多個位元線、選擇閘極等)之記憶體胞之基板(及因此源極與汲極之間的通道),而目標記憶體胞之字線保持於一電位(諸如一接地電位(例如,Vss)),從而導致自目標記憶體胞之浮動閘極至通道之一電荷轉移(例如,直接注入或福勒-諾德漢(FN)穿隧等)。
圖5繪示一記憶體裝置500之一實例方塊圖,其包含:一記憶體陣列502,其具有複數個記憶體胞504;及一或多個電路或組件,其或其等用來提供與記憶體陣列502之通信或對記憶體陣列502執行一或多個記憶體操作。儘管以單個記憶體陣列502展示,但在其他實例中,在此可包含一或多個額外記憶體陣列、晶粒或LUN。在特定實例中,在具有數個晶粒或LUN之一儲存系統中,記憶體裝置500可表示各晶粒或LUN之電路及組件之一方塊圖。記憶體裝置500可包含一列解碼器512、一行解碼器514、感測放大器520、一頁緩衝器522、一選擇器524、一輸入/輸出(I/O)電路526及一記憶體控制單元530。
記憶體陣列502之記憶體胞504可經配置成區塊,諸如第一502A及第二區塊502B。各區塊可包含子區塊。例如,第一區塊502A可包含第一子區塊502A0
及第二子區塊502An
,且第二區塊502B可包含第一子區塊502B0
及第二子區塊502Bn
。各子區塊可包含數個實體頁,各頁包含數個記憶體胞504。儘管在本文中被繪示為具有兩個區塊,各區塊具有兩個子區塊,且各子區塊具有數個記憶體胞504,但在其他實例中,記憶體陣列502可包含更多或更少區塊、子區塊、記憶體胞等。在其他實例中,記憶體胞504可經配置成數個列、行、頁、子區塊、區塊等,且例如使用存取線506、第一資料線510或一或多個選擇閘極、源極線等來存取。
記憶體控制單元530可根據控制線532上接收之一或多個信號或指令控制記憶體裝置500之記憶體操作,包含例如指示一所要操作(例如,寫入、讀取、擦除等)之一或多個時脈信號或控制信號、或一或多個位址線516上接收之位址信號(A0至AX)。記憶體裝置500外部之一或多個裝置可控制控制線532上之控制信號或位址線516上之位址信號之值。記憶體裝置500外部之裝置之實例可包含但不限於一主機、一記憶體控制器、一處理器、或圖5中未繪示之一或多個電路或組件。
記憶體裝置500可使用存取線506及第一資料線510來將資料傳送(例如,寫入或擦除)至一或多個記憶體胞504或自一或多個記憶體胞504傳送(例如,讀取)資料。列解碼器512及行解碼器514可自位址線516接收位址信號(A0至AX)並進行解碼,可判定待存取哪個記憶體胞504,且可將信號提供至存取線506 (例如,複數個字線(WL0至WLm)之一或多者)或第一資料線510 (例如,複數個位元線(BL0至BLn)之一或多者)之一或多者,諸如上文所描述。
記憶體裝置500可包含經組態以判定記憶體胞504上之(例如,讀取)資料之值或判定待使用第一資料線510寫入至記憶體胞504之資料之值之感測電路系統,諸如感測放大器520。例如,在記憶體胞504之一選定串中,感測放大器520之一或多者可回應於一讀取電流在記憶體陣列502中流動通過選定串至資料線510而讀取選定記憶體胞504中之一邏輯位準。
記憶體裝置500外部之一或多個裝置可使用I/O線(DQ0至DQN) 508、位址線516 (A0至AX)或控制線532與記憶體裝置500進行通信。輸入/輸出(I/O)電路526可使用I/O線508,例如根據控制線532及位址線516來將資料值傳入或傳出記憶體裝置500,例如傳入或傳出頁緩衝器522或記憶體陣列502。頁緩衝器522可在將資料程式化至記憶體陣列502之相關部分中之前儲存自記憶體裝置500外部之一或多個裝置接收之資料,或可在將資料傳輸至記憶體裝置500外部之一或多個裝置之前儲存自記憶體陣列502讀取之資料。
行解碼器514可接收位址信號(A0至AX)且將其等解碼為一或多個行選擇信號(CSEL1至CSELn)。選擇器524 (例如,一選擇電路)可接收行選擇信號(CSEL1至CSELn)且在頁緩衝器522中選擇表示待自記憶體胞504讀取或待程式化至記憶體胞504中之資料值之資料。可使用第二資料線518在頁緩衝器522與I/O電路526之間傳送選定資料。
記憶體控制單元530可自一外部電源(source或supply)(例如,一內部或外部電池、一AC至DC轉換器等)接收正電源信號及負電源信號,諸如一電源電壓(Vcc) 534及一負電源(Vss) 536 (例如,一接地電位)。在特定實例中,記憶體控制單元530可包含用來在內部提供正或負電源信號之一調節器528。
圖6繪示可對其執行本文中所論述之任何一或多種技術(例如,方法)之一實例機器(例如,一主機系統) 600之一方塊圖。在替代實施例中,機器600可作為一獨立裝置操作或可經連接(例如,聯網)至其他機器。在一聯網部署中,機器600可在伺服器-客戶端網路環境中以一伺服器機器、一客戶端機器或兩者之身份操作。在一實例中,機器600可在點對點(P2P)(或其他分佈式)網路環境中充當一對等機器。機器600可為一個人電腦(PC)、一平板PC、一機上盒(STB)、一個人數位助理(PDA)、一行動電話、一網路器具、一IoT裝置、汽車系統或能夠執行指令(順序或以其他方式)之任何機器,該等指令指定彼電腦待採取之動作。此外,雖然僅繪示單個機器,但術語「機器」亦應被理解為包含個別地或共同地執行一指令集(或多個指令集)以執行本文中所論述之任何一或多種方法之機器之任何集合,諸如雲運算、軟體即服務(SaaS)、其他電腦群集組態。
如本文中所描述,實例可包含邏輯、組件、裝置、封裝或機構或可由其等操作。電路系統係在包含硬體(例如,簡單電路、閘極、邏輯等)之有形個體中實施之電路之一集合(例如,組)。電路系統成員資格可能隨時間推移及潛在硬體可變性而靈活變化。電路系統包含可在操作時單獨地或組合地執行特定任務之成員。在一實例中,電路系統之硬體可不變地經設計以實行一特定操作(例如,硬接線)。在一實例中,電路系統之硬體可包含可變地連接之實體組件(例如,執行單元、電晶體、簡單電路等),包含實體地修改(例如,磁性、電、可移動地放置不變質量之粒子等)以對特定操作之指令進行編碼之一電腦可讀媒體。在連接實體組件時,一硬體成分之基礎電效能例如自一絕緣體改變為一導體或反之亦然。該等指令使參與之硬體(例如,執行單元或一載入機構)能夠經由可變連接在硬體中形成電路系統之成員以在操作時實行特定任務之部分。據此,當該裝置正在操作時,電腦可讀媒體通信地耦合至電路系統之其他組件。在一實例中,任何實體組件可用於一個以上電路系統之一個以上成員中。例如,在操作下,執行單元可在一個時間點用於一第一電路系統之一第一電路中且可在一不同時間由第一電路系統中之一第二電路或一第二電路系統中之一第三電路重用。
機器(例如,電腦系統、一主機系統等) 600可包含其中一些或全部可經由一通信介面(例如,一匯流排) 630彼此進行通信之一處理裝置602 (例如,一硬體處理器、一中央處理單元(CPU)、一圖形處理單元(GPU)、一硬體處理器核心或其等任何組合等)、一主記憶體604 (例如,唯讀記憶體(ROM)、動態隨機存取記憶體(DRAM),諸如同步DRAM (SDRAM)或Rambus DRAM (RDRAM)等)、一靜態記憶體606 (例如,靜態隨機存取記憶體(SRAM)等)及一儲存系統618。
處理裝置602可表示一或多個通用處理裝置,諸如一微處理器、一中央處理單元或類似者。更特定而言,處理裝置可為一複雜指令集運算(CISC)微處理器、精簡指令集運算(RISC)微處理器、超長指令字(VLIW)微處理器,或實施其他指令集之一處理器、或實施指令集之一組合之處理器。處理裝置602亦可為一或多個專用處理裝置,諸如一特定應用積體電路(ASIC)、一場可程式化閘陣列(FPGA)、一數位信號處理器(DSP)、網路處理器或類似者。處理裝置602可經組態以執行指令626以執行本文中所論述之操作及步驟。電腦系統600可進一步包含用來透過一網路620進行通信之一網路介面裝置608。
儲存系統618可包含其上儲存有體現本文中所描述之任何一或多種方法或功能之指令626之一或多個集之一機器可讀儲存媒體(亦被稱為電腦可讀媒體)。指令626亦可在由電腦系統600執行其等期間全部或至少部分地駐留於主記憶體604內或處理裝置602內,主記憶體604及處理裝置602亦構成機器可讀儲存媒體。
術語「機器可讀儲存媒體」應被視為包含儲存一或多個指令集之單個媒體或多個媒體,或能夠儲存或編碼一指令集以供機器執行且致使機器執行本發明之任何一或多種方法之任何媒體。據此,術語「機器可讀儲存媒體」應被視為包含但不限於固態記憶體、光學媒體及磁性媒體。在一實例中,一集結型(massed)機器可讀媒體包括具有具不變(例如,靜止)質量之複數個粒子之一機器可讀媒體。據此,集結型機器可讀媒體並非暫時性傳播信號。集結型機器可讀媒體之特定實例可包含:非揮發性記憶體,諸如半導體記憶體裝置(例如,電可程式化唯讀記憶體(EPROM)、電擦除可程式化唯讀記憶體(EEPROM))及快閃記憶體裝置;磁碟,諸如內部硬碟及可移動磁碟;磁光碟;及CD-ROM及DVD-ROM光碟。
機器600可進一步包含一顯示單元、一字母數字輸入裝置(例如,一鍵盤)及一使用者介面(UI)導航裝置(例如,一滑鼠)。在一實例中,顯示單元、輸入裝置或UI導航裝置之一或多者可為一觸控螢幕顯示器。該機器係一信號產生裝置(例如,一揚聲器)或一或多個感測器(諸如一全球定位系統(GPS)感測器、指南針、加速度計或一或多個其他感測器)。機器600可包含一輸出控制器,諸如用來與一或多個周邊裝置(例如,一印表機、讀卡器等)進行通信或控制其等之一串列(例如,通用串列匯流排(USB)、並列、或其他有線或無線(例如,紅外線(IR)、近場通信(NFC)等)連接。
指令626 (例如,軟體、程式、一作業系統(OS)等)或其他資料經儲存於儲存系統618上,可由主記憶體604存取以供處理裝置602使用。主記憶體604 (例如,DRAM)通常係快速的,但為揮發性的,且因此儲存類型不同於儲存系統618 (例如,一SSD),該儲存系統618適於長期儲存,包含處於一「關」狀態時。由一使用者或機器600使用之指令626或資料通常載入於主記憶體604中以供處理裝置602使用。當主記憶體604已滿時,可分配來自儲存系統618之虛擬空間以補充主記憶體604;然而,因為儲存系統618裝置通常慢於主記憶體604,且寫入速度通常係讀取速度之至少兩倍慢,所以虛擬記憶體之使用可歸因於儲存系統延時而極大地降低使用者體驗(與主記憶體604相比,例如DRAM)。此外,將儲存系統618用於虛擬記憶體可極大地降低儲存系統618之可用壽命。
亦可使用一傳輸媒體經由網路介面裝置608利用數個傳送協定(例如,訊框中繼、網際網路協定(IP)、傳輸控制協定(TCP)、使用者資料報協定(UDP)、超文字傳送協定(HTTP)等))之任一者而在一網路620上方傳輸或接收指令624。實例通信網路可尤其包含一區域網路(LAN)、一廣域網路(WAN)、一封包資料網路(例如,網際網路)、行動電話網路(例如,蜂巢式網路)、普通老式電話(POTS)網路及無線資料網路(例如,電氣及電子工程師協會(IEEE) 802.11系列標準,被稱為Wi-Fi®
;IEEE 802.16系列標準,被稱為WiMax®
;IEEE 802.15.4系列標準)、點對點(P2P)網路。在一實例中,網路介面裝置608可包含一或多個實體插孔(例如,乙太網路、同軸或電話插孔)或一或多個天線以連接至網路620。在一實例中,網路介面裝置608可包含用來使用單輸入多輸出(SIMO)、多輸入多輸出(MIMO)或多輸入單輸出(MISO)技術之至少一者進行無線通信之複數個天線。術語「傳輸媒體」應被視為包含能夠儲存、編碼或攜帶由機器600執行之指令之任何無形媒體,且包含用來促進此軟體之通信之數位或類比通信信號或其他無形媒體。
上文詳細描述包含對隨附圖式之參考,該等隨附圖式形成該詳細描述之一部分。該等圖式以繪示方式展示其中可實踐本發明之特定實施例。此等實施例在本文中亦被稱為「實例」。此等實例可包含除所展示或所描述之彼等元件以外之元件。然而,本發明人亦預期其中僅提供所展示或所描述之彼等元件之實例。此外,本發明人亦預期關於一特定實例(或其一或多個態樣)或關於本文中所展示或所描述之其他實例(或其等一或多個態樣)使用所展示或所描述之彼等元件之任何組合或排列(或其一或多個態樣)之實例。
本文件中所引用之所有公開案、專利及專利文件之全部內容如同個別地以引用方式併入般以引用方式併入本文中。在本文件與以引用方式併入之彼等文件之間用法不一致之情況下,(若干)所併入參考文獻中之用法應被視為對本文件之補充;針對不可調和之矛盾,以本文件中之用法為準。
在本文件中,如專利文件中所常見,術語「一」或「一個」用來獨立於「至少一個」或「一或多個」之任何其他例項或用法而包含一或多個。在本文件中,術語「或」用來指代非排他性或,使得「A或B」包含「A而非B」、「B而非A」及「A及B」,除非另有指示。在隨附發明申請專利範圍中,術語「包含」及「其中」用作各自術語「包括」及「其中」之普通英語等效詞。再者,在下文發明申請專利範圍中,術語「包含」及「包括」係開放式的,即,包含除一請求項中此一術語之後列出之元件以外之元件之一系統、裝置、物件或程序應仍被視為落入彼請求項之範疇內。此外,在下文發明申請專利範圍中,術語「第一」、「第二」及「第三」等僅用作標籤,且並非意欲於對其等對象強加數字要求。
在各項實例中,本文中所描述之組件、控制器、處理器、單元、引擎或表可尤其包含儲存於一實體裝置上之實體電路系統或韌體。如本文中所使用,「處理器」意謂任何類型之運算電路,諸如但不限於一微處理器、一微控制器、一圖形處理器、一數位信號處理器(DSP)或任何其他類型之處理器或處理電路,包含一處理器或多核心裝置之群組。
如本文件中所使用,術語「水平」被定義為平行於一基板之習知平面或表面之一平面(諸如一晶圓或晶粒下面之平面),而與基板在任何時間點之實際定向無關。術語「垂直」指代垂直於上文所定義之水平之一方向。相對於習知平面或表面在基板之頂部或暴露表面上而定義介詞,例如「在···上」、「上方」及「下方」,而與基板之定向無關;且同時「在···上」意欲於暗示一個結構相對於該結構位於其「上」之另一結構之一直接接觸(在無相反之一明確指示之情況下);術語「上方」及「下方」明確地意欲於識別結構(或層、特徵等)之一相對放置,其明確地包含但不限於所識別結構之間的直接接觸,除非如此具體識別。類似地,術語「上方」及「下方」不限於水平定向,此係因為一結構可在一參考結構「上方」,前提是其在某個時間點係所論述構造之一最外部分,即使此結構相對於參考結構垂直地而非沿一水平定向延伸。
術語「晶圓」及「基板」在本文中通常用來指代其上形成有積體電路之任何結構,且亦指代在積體電路製造之各個階段期間之此等結構。因此,下文詳細描述不應在一限制意義上進行理解,且各項實施例之範疇僅由隨附發明申請專利範圍連同此等發明申請專利範圍所賦予之等效物之全部範疇來定義。
根據本發明及本文中所描述之各項實施例包含利用記憶體胞之一垂直結構(例如,記憶體胞之NAND串)之記憶體。如本文中所使用,方向形容詞將相對於其上形成有記憶體胞之一基板之一表面而採用(即,一垂直結構將被視為遠離基板表面延伸,垂直結構之一底端將被視為最接近基板表面之端且垂直結構之一頂端將被視為距基板表面最遠之端)。
如本文中所使用,方向形容詞(諸如水平、垂直、法向、平行、垂直等)可指代相對定向,且並非意欲於要求嚴格遵守特定幾何性質,除非另有陳述。例如,如本文中所使用,一垂直結構無需嚴格垂直於一基板之一表面,而是可大體上垂直於基板表面,且可與基板表面一起形成一銳角(例如,60度與120度之間等)。
在本文中所描述之一些實施例中,不同摻雜組態可應用於在此實例中各可由多晶矽形成或至少包含多晶矽之一選擇閘極源極(SGS)、一控制閘極(CG)及一選擇閘極汲極(SGD),因此使得此等層(例如,多晶矽等)在暴露於一蝕刻溶液時可具有不同蝕刻速率。例如,在一3D半導體裝置中形成單片柱之一程序中,SGS及CG可形成凹口,而SGD可保持較少凹入或甚至不凹入。因此,此等摻雜組態可藉由使用一蝕刻溶液(例如,四甲基氫氧化銨(TMCH))來實現選擇性地蝕刻至3D半導體裝置中之不同層(例如,SGS、CG及SGD)中。
如本文中所使用,操作一記憶體胞包含自記憶體胞讀取,寫入至記憶體胞或擦除記憶體胞。將一記憶體胞放置於一所欲狀態之操作在本文中被稱為「程式化」,且可包含寫入至記憶體胞或自記憶體擦除兩者(即,可將記憶體胞程式化為一擦除狀態)。
將理解,當一元件被稱為在另一元件「上」、「連接至」另一元件或與另一元件「耦合」時,其可直接在另一元件上,與另一元件直接連接或耦合,或可存在中介元件。相比之下,當一元件被稱為「直接」在另一元件「上」、「直接連接至」另一元件或與另一元件「直接耦合」時,不存在中介元件或中介層。若兩個元件在圖式中被展示為用一線將其等連接在一起,則兩個元件可耦合或直接耦合,除非另有指示。
本文中所描述之方法實例可至少部分地係機器或電腦實施的。一些實例可包含編碼有指令之一電腦可讀媒體或機器可讀媒體,該等指令可操作以組態一電子裝置以執行如上述實例中所描述之方法。此等方法之一實施方案可包含程式碼,諸如微碼、組合語言碼、一高階語言碼或類似者。此程式碼可包含用於執行各種方法之電腦可讀指令。該程式碼可形成電腦程式產品之部分。此外,可諸如在執行期間或在其他時間將程式碼有形地儲存於一或多個揮發性或非揮發性有形電腦可讀媒體上。此等有形電腦可讀媒體之實例可包含但不限於硬碟、可移除磁碟、可移除光碟(例如,光碟及數位視訊光碟)、磁帶盒、記憶卡或棒、隨機存取記憶體(RAM)、唯讀記憶體(ROM)及類似者。
上文描述意欲為闡釋性且非限制性的。例如,上述實例(或其等之一或多個態樣)可彼此組合使用。在閱讀上文描述之後,諸如可由一般技術者使用其他實施例。提供[摘要]係為了符合37 C.F.R. §1.72(b)以允許讀者快速確定技術發明之性質。提交[摘要]係基於以下理解:其將不用來解釋或限制發明申請專利範圍之範疇或含義。再者,在上文[實施方式]中,可將各種特徵分組在一起以簡化本發明。此不應被解釋為意欲一未主張之揭示特徵對於任何請求項係必不可少的。相反,發明標的物可在於少於一特定之揭示實施例之所有特徵。因此,下文發明申請專利範圍由此被併入[實施方式]中,其中各請求項獨立地作為一單獨實施例,且可預期,此等實施例可以各種組合或排列彼此組合。本發明之範疇應參考隨附發明申請專利範圍連同此等發明申請專利範圍所賦予之等效物之全部範圍來判定。
100:系統
105:主機裝置
106:主機處理器
107:評估電路系統
108:主記憶體
109:靜態記憶體
110:儲存系統
111:記憶體控制器
112:非揮發性記憶體
113:隨機存取記憶體(或快取記憶體)
115:通信介面(I/F)
200:方法
202:操作
204:操作
206:操作
208:操作
210:操作
400:3D NAND架構半導體記憶體陣列
401A:區塊A
401B:區塊B
401A0:子區塊A0
401An:子區塊An
401B0:子區塊B0
401Bn:子區塊Bn
405A0:第一A0記憶體串
406A0:第二A0記憶體串
407A0:第三A0記憶體串
405An:第一An記憶體串
406An:第二An記憶體串
407An:第三An記憶體串
405B0:第一B0記憶體串
406B0:第二B0記憶體串
407B0:第三B0記憶體串
405Bn:第一Bn記憶體串
406Bn:第二Bn記憶體串
407Bn:第三Bn記憶體串
410A:字線(WL) WL00
410B:字線(WL) WL00
411A:字線(WL) WL10
411B:字線(WL) WL10
412A:字線(WL) WL20
412B:字線(WL) WL20
413A:字線(WL) WL30
413B:字線(WL) WL30
414A:字線(WL) WL40
414B:字線(WL) WL40
415A:字線(WL) WL50
415B:字線(WL) WL50
416A:字線(WL) WL60
416B:字線(WL) WL60
417A:字線(WL) WL70
417B:字線(WL) WL70
420:第一位元線(BL) BL0
421:第二位元線(BL) BL1
422:第三位元線(BL) BL2
425A0:A0SGD線SGDA0
426A0:第一A0SGD
427A0:第二A0SGD
428A0:第三A0SGD
425An:AnSGD線SGDAn
426An:第一AnSGD
427An:第二AnSGD
428An:第三AnSGD
425B0:B0SGD線SGDB0
426B0:第一B0SGD
427B0:第二B0SGD
428B0:第三B0SGD
425Bn:BnSGD線SGDBn
426Bn:第一BnSGD
427Bn:第二BnSGD
428Bn:第三BnSGD
430A:閘極選擇線SGS0
430B:閘極選擇線SGS1
431A0:第一A0SGS
432A0:第二A0SGS
433A0:第三A0SGS
431An:第一AnSGS
432An:第二AnSGS
433An:第三AnSGS
431B0:第一B0SGS
432B0:第二B0SGS
433B0:第三B0SGS
431Bn:第一BnSGS
432Bn:第二BnSGS
433Bn:第三BnSGS
435:源極線(SRC)
500:記憶體裝置
502:記憶體陣列
502A:第一區塊
502A0:第一子區塊
502An:第二子區塊
502B:第二區塊
502B0:第一子區塊
502Bn:第二子區塊
504:記憶體胞
506:存取線
508:I/O線
510:第一資料線
512:列解碼器
514:行解碼器
516:位址線
518:第一資料線
520:感測放大器
522:頁緩衝器
524:選擇器
526:輸入/輸出(I/O)電路
528:調節器
530:記憶體控制單元
532:控制線
534:電源電壓(Vcc)
536:負電源(Vss)
600:機器/電腦系統
602:處理裝置
604:主記憶體
606:靜態記憶體
608:網路介面裝置
618:儲存系統
620:網路
626:指令
630:通信介面
在不一定按比例繪製之圖式中,類似數字可在不同視圖中描述類似組件。具有不同字母後綴之類似數字可表示類似組件之不同例項。圖式以實例方式而非限制方式大體上繪示本文件中所論述之各項實施例。
圖1繪示包含一主機裝置及一儲存系統之一實例主機系統。
圖2繪示用於在一儲存系統中提供資料優化之子區域之一實例方法。
圖3A至圖3D繪示一儲存系統中之映射表區域之實例。
圖4繪示一3D NAND架構半導體記憶體陣列之一實例示意圖。
圖5繪示一記憶體模組之一實例方塊圖。
圖6繪示一資訊處置系統之一實例方塊圖。
200:方法
202:操作
204:操作
206:操作
208:操作
210:操作
Claims (20)
- 一種儲存系統,其包括:一記憶體陣列;一隨機存取記憶體,其經組態以儲存一或多個邏輯至實體(L2P)映射表之至少一部分;及一記憶體控制器,其中該記憶體控制器經程式化以執行以下操作,包含:將該記憶體陣列劃分為一第一部分及一第二部分,該第一部分及該第二部分具有非重疊邏輯區塊定址(LBA)範圍;為指定用於一第一用途之該記憶體陣列之該第一部分指派一第一L2P映射表條目之一第一粒度;為指定用於一第二用途之該記憶體陣列之該第二部分指派一第二L2P映射表條目之一第二粒度,其中該第二粒度不等於該第一粒度;將指示該第一粒度及該第二粒度之尺寸之資料儲存於該記憶體陣列中;及將該第一L2P映射表條目及該第二L2P映射表條目之至少一部分儲存於該隨機存取記憶體中。
- 如請求項1之系統,其中指示該第一粒度及第二粒度之尺寸之該資料亦經儲存於該控制器中之一區域表中。
- 如請求項1之系統,其中該第一粒度大於該第二粒度。
- 如請求項1之系統,其中該第二粒度大於該第一粒度。
- 如請求項1之系統,其中該第一部分及該第二部分係不同記憶體類型。
- 如請求項1之系統,其中將該記憶體陣列劃分為該第一部分及該第二部分包含在啟動時劃分該記憶體陣列。
- 如請求項1之系統,其中將該記憶體陣列劃分為該第一部分及該第二部分包含在運行時間期間劃分該記憶體陣列。
- 如請求項1之系統,其中將該記憶體陣列劃分為該第一部分及該第二部分包含在啟動時劃分該記憶體陣列及在運行時間期間重新劃分該記憶體陣列。
- 一種用於記憶體操作之方法,其包括:藉由一記憶體控制器將一記憶體陣列劃分為一第一部分及一第二部分,該第一部分及該第二部分具有非重疊邏輯區塊定址(LBA)範圍;藉由該記憶體控制器為指定用於一第一用途之該記憶體陣列之該第一部分指派一第一邏輯至實體(L2P)映射表條目之一第一粒度;藉由該記憶體控制器為指定用於一第二用途之該記憶體陣列之該第二部分指派一第二L2P映射表條目之一第二粒度,其中該第二粒度不等於 該第一粒度;藉由該記憶體控制器將指示該第一粒度及該第二粒度之尺寸之資料儲存於該記憶體陣列中;及藉由該記憶體控制器將該第一L2P映射表條目及該第二L2P映射表條目之至少一部分儲存於該記憶體控制器之一L2P快取記憶體(L2P cache)中。
- 如請求項9之用於記憶體操作之方法,其進一步包括:藉由該記憶體控制器劃分該記憶體陣列以包含一第三部分,該第一部分、該第二部分及該第三部分具有非重疊邏輯區塊定址(LBA)範圍;及藉由該記憶體控制器為指定用於一第三用途之該記憶體陣列之該第三部分指派一第三L2P映射表條目之一第三粒度。
- 如請求項10之用於記憶體操作之方法,其中該第三粒度不等於該第一粒度及該第二粒度。
- 如請求項10之用於記憶體操作之方法,其進一步包括:藉由該記憶體控制器將該第三粒度儲存於該記憶體陣列中;及藉由該記憶體控制器將該第三L2P映射表條目之至少一部分儲存於該記憶體控制器之該L2P快取記憶體中。
- 如請求項10之用於記憶體操作之方法,其進一步包括:藉由該記憶體控制器劃分該記憶體陣列以包含一第四部分,該第一 部分、該第二部分、該第三部分及該第四部分具有非重疊邏輯區塊定址(LBA)範圍;及藉由該記憶體控制器為指定用於一第四用途之該記憶體陣列之該第四部分指派一第四L2P映射表條目之一第四粒度。
- 如請求項13之用於記憶體操作之方法,其中該第四粒度不等於該第一粒度、該第二粒度及該第三粒度。
- 如請求項13之用於記憶體操作之方法,其進一步包括:藉由該記憶體控制器將該第四粒度儲存於該記憶體陣列中;及藉由該記憶體控制器將該第四L2P映射表條目之至少一部分儲存於該記憶體控制器之該L2P快取記憶體中。
- 一種其上包括指令之非暫時性電腦可讀媒體,該等指令在由一處理器執行時致使該處理器執行以下操作,包括:將一記憶體陣列劃分為一第一部分及一第二部分,該第一部分及該第二部分具有非重疊邏輯區塊定址(LBA)範圍;為指定用於一第一用途之該記憶體陣列之該第一部分指派一第一邏輯至實體(L2P)映射表條目之一第一粒度;為指定用於一第二用途之該記憶體陣列之該第二部分指派一第二L2P映射表條目之一第二粒度,其中該第二粒度不等於該第一粒度;將指示該第一粒度及該第二粒度之尺寸之資料儲存於該記憶體陣列中;及 將該第一L2P映射表條目及該第二L2P映射表條目之至少一部分儲存於一L2P快取記憶體中。
- 如請求項16之電腦可讀媒體,其中該第一部分及該第二部分係不同記憶體類型。
- 如請求項16之電腦可讀媒體,其中將該記憶體陣列劃分為該第一部分及該第二部分包含在啟動時劃分該記憶體陣列。
- 如請求項16之電腦可讀媒體,其中將該記憶體陣列劃分為該第一部分及該第二部分包含在運行時間期間劃分該記憶體陣列。
- 如請求項16之電腦可讀媒體,其中將該記憶體陣列劃分為該第一部分及該第二部分包含在啟動時劃分該記憶體陣列及在運行時間期間重新劃分該記憶體陣列。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/237,134 US10871907B2 (en) | 2018-12-31 | 2018-12-31 | Sequential data optimized sub-regions in storage devices |
US16/237,134 | 2018-12-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202040566A TW202040566A (zh) | 2020-11-01 |
TWI741425B true TWI741425B (zh) | 2021-10-01 |
Family
ID=71121754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108143862A TWI741425B (zh) | 2018-12-31 | 2019-12-02 | 儲存裝置中順序資料優化之子區域 |
Country Status (7)
Country | Link |
---|---|
US (4) | US10871907B2 (zh) |
EP (1) | EP3906466A4 (zh) |
JP (1) | JP2022515541A (zh) |
KR (1) | KR20210099184A (zh) |
CN (1) | CN113396383B (zh) |
TW (1) | TWI741425B (zh) |
WO (1) | WO2020142137A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11755214B2 (en) | 2018-12-31 | 2023-09-12 | Micron Technology, Inc. | Sequential data optimized sub-regions in storage devices |
TWI850095B (zh) * | 2023-09-01 | 2024-07-21 | 日商鎧俠股份有限公司 | 固態儲存裝置及其指令擷取方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112286838B (zh) * | 2019-07-25 | 2024-09-06 | 戴尔产品有限公司 | 存储设备可配置的映射粒度系统 |
KR20210037367A (ko) * | 2019-09-27 | 2021-04-06 | 삼성전자주식회사 | 비휘발성 메모리 장치 |
US11501847B2 (en) | 2019-09-27 | 2022-11-15 | Samsung Electronics Co., Ltd. | Nonvolatile memory device with address re-mapping |
KR20210106757A (ko) * | 2020-02-21 | 2021-08-31 | 에스케이하이닉스 주식회사 | 호스트, 저장 장치 및 이들을 포함하는 컴퓨팅 시스템 |
CN115917507A (zh) * | 2020-06-05 | 2023-04-04 | 美光科技公司 | 对应用程序的存储器性能目标的修整 |
US12118240B2 (en) * | 2020-08-07 | 2024-10-15 | Intel Corporation | Controller and persistent memory shared between multiple storage devices |
US20230297517A1 (en) * | 2022-03-21 | 2023-09-21 | Samsung Electronics Co., Ltd. | Systems and methods for sending a command to a storage device |
US12056045B2 (en) | 2022-06-15 | 2024-08-06 | Western Digital Technologies, Inc. | Scratchpad cache for gaming and IoT hosts |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150095555A1 (en) * | 2013-09-27 | 2015-04-02 | Avalanche Technology, Inc. | Method of thin provisioning in a solid state disk array |
TW201729107A (zh) * | 2015-12-21 | 2017-08-16 | 高通公司 | 用於反及閘型快閃記憶體之邏輯至實體位址表之壓縮快取 |
US20170235488A1 (en) * | 2016-02-11 | 2017-08-17 | SK Hynix Inc. | Window based mapping |
CN109086222A (zh) * | 2018-07-24 | 2018-12-25 | 浪潮电子信息产业股份有限公司 | 固态硬盘的数据恢复方法以及固态硬盘 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020059481A1 (en) * | 1998-12-30 | 2002-05-16 | Patrick O. Nunally | Method and apparatus for a multimedia application specific processor |
US8010740B2 (en) * | 2006-06-08 | 2011-08-30 | Bitmicro Networks, Inc. | Optimizing memory operations in an electronic storage device |
US7783859B2 (en) * | 2007-07-12 | 2010-08-24 | Qnx Software Systems Gmbh & Co. Kg | Processing system implementing variable page size memory organization |
US20100318760A1 (en) * | 2008-01-30 | 2010-12-16 | Hirokazu So | Memory controller, nonvolatile storage device, and nonvolatile storage system |
JP2010198407A (ja) * | 2009-02-26 | 2010-09-09 | Sony Corp | 情報処理装置、およびデータ記録制御方法、並びにプログラム |
US8566507B2 (en) * | 2009-04-08 | 2013-10-22 | Google Inc. | Data storage device capable of recognizing and controlling multiple types of memory chips |
JP5074457B2 (ja) * | 2009-06-04 | 2012-11-14 | 株式会社日立製作所 | 計算機システム、スイッチ切り替え方法及びpciスイッチ |
US9323667B2 (en) * | 2012-04-12 | 2016-04-26 | Violin Memory Inc. | System and method for managing trim operations in a flash memory system using mapping tables and block status tables |
EP2767880A4 (en) * | 2012-12-28 | 2014-12-31 | Huawei Tech Co Ltd | METHOD AND DEVICE FOR STORING DATA |
US9454474B2 (en) * | 2013-03-05 | 2016-09-27 | Western Digital Technologies, Inc. | Methods, devices and systems for two stage power-on map rebuild with free space accounting in a solid state drive |
JP2015056171A (ja) * | 2013-09-13 | 2015-03-23 | 株式会社東芝 | メモリシステムおよび情報処理装置 |
US9543988B2 (en) * | 2014-05-29 | 2017-01-10 | Netapp, Inc. | Adaptively strengthening ECC for solid state cache |
US9916265B2 (en) * | 2014-12-15 | 2018-03-13 | Advanced Micro Device, Inc. | Traffic rate control for inter-class data migration in a multiclass memory system |
US9875189B2 (en) * | 2015-06-12 | 2018-01-23 | Intel Corporation | Supporting secure memory intent |
JP6254986B2 (ja) * | 2015-10-02 | 2017-12-27 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置、アクセスコントローラ、および情報処理方法 |
CN105808378B (zh) * | 2016-02-26 | 2018-10-30 | 华为技术有限公司 | 元数据修复方法及装置 |
CN106547703B (zh) * | 2016-10-08 | 2019-05-14 | 华中科技大学 | 一种基于块组结构的ftl优化方法 |
JP2018160059A (ja) * | 2017-03-22 | 2018-10-11 | 東芝メモリ株式会社 | メモリコントローラ |
US10565123B2 (en) | 2017-04-10 | 2020-02-18 | Western Digital Technologies, Inc. | Hybrid logical to physical address translation for non-volatile storage devices with integrated compute module |
US10949355B2 (en) * | 2018-06-11 | 2021-03-16 | Western Digital Technologies, Inc. | Methods and apparatus for workload based dynamic cache control in SSD |
US10871907B2 (en) | 2018-12-31 | 2020-12-22 | Micron Technology, Inc. | Sequential data optimized sub-regions in storage devices |
-
2018
- 2018-12-31 US US16/237,134 patent/US10871907B2/en active Active
-
2019
- 2019-11-05 EP EP19907025.1A patent/EP3906466A4/en not_active Withdrawn
- 2019-11-05 JP JP2021538202A patent/JP2022515541A/ja active Pending
- 2019-11-05 CN CN201980090715.1A patent/CN113396383B/zh active Active
- 2019-11-05 KR KR1020217024358A patent/KR20210099184A/ko not_active Application Discontinuation
- 2019-11-05 WO PCT/US2019/059837 patent/WO2020142137A1/en unknown
- 2019-12-02 TW TW108143862A patent/TWI741425B/zh active
-
2020
- 2020-12-21 US US17/129,087 patent/US11294585B2/en active Active
-
2022
- 2022-03-23 US US17/702,217 patent/US11755214B2/en active Active
-
2023
- 2023-09-11 US US18/464,630 patent/US20240020033A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150095555A1 (en) * | 2013-09-27 | 2015-04-02 | Avalanche Technology, Inc. | Method of thin provisioning in a solid state disk array |
TW201729107A (zh) * | 2015-12-21 | 2017-08-16 | 高通公司 | 用於反及閘型快閃記憶體之邏輯至實體位址表之壓縮快取 |
US20170235488A1 (en) * | 2016-02-11 | 2017-08-17 | SK Hynix Inc. | Window based mapping |
CN109086222A (zh) * | 2018-07-24 | 2018-12-25 | 浪潮电子信息产业股份有限公司 | 固态硬盘的数据恢复方法以及固态硬盘 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11755214B2 (en) | 2018-12-31 | 2023-09-12 | Micron Technology, Inc. | Sequential data optimized sub-regions in storage devices |
TWI850095B (zh) * | 2023-09-01 | 2024-07-21 | 日商鎧俠股份有限公司 | 固態儲存裝置及其指令擷取方法 |
Also Published As
Publication number | Publication date |
---|---|
US11294585B2 (en) | 2022-04-05 |
US20240020033A1 (en) | 2024-01-18 |
US20210109666A1 (en) | 2021-04-15 |
US20200210080A1 (en) | 2020-07-02 |
KR20210099184A (ko) | 2021-08-11 |
CN113396383A (zh) | 2021-09-14 |
CN113396383B (zh) | 2024-07-23 |
US10871907B2 (en) | 2020-12-22 |
US11755214B2 (en) | 2023-09-12 |
US20220214821A1 (en) | 2022-07-07 |
WO2020142137A1 (en) | 2020-07-09 |
TW202040566A (zh) | 2020-11-01 |
JP2022515541A (ja) | 2022-02-18 |
EP3906466A1 (en) | 2021-11-10 |
EP3906466A4 (en) | 2022-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI741425B (zh) | 儲存裝置中順序資料優化之子區域 | |
TWI685746B (zh) | 單級晶胞快取管理 | |
US11735269B2 (en) | Secure erase for data corruption | |
US11704254B2 (en) | Host side caching security for flash memory | |
WO2019113729A1 (en) | Scheme to improve efficiency of garbage collection in cached flash translation layer | |
TWI696917B (zh) | 用於共同集用區管理之nand記憶體裝置、方法及機器可讀媒體 | |
US10970228B2 (en) | Mapping table compression using a run length encoding algorithm | |
US11609850B2 (en) | Method of operating a memory with dynamically changeable attributes | |
US11163692B2 (en) | Memory constrained translation table management | |
CN113129978B (zh) | 使用奇偶校验增加存储器存取并行性 |