TWI644209B - 記憶體管理 - Google Patents
記憶體管理 Download PDFInfo
- Publication number
- TWI644209B TWI644209B TW106129529A TW106129529A TWI644209B TW I644209 B TWI644209 B TW I644209B TW 106129529 A TW106129529 A TW 106129529A TW 106129529 A TW106129529 A TW 106129529A TW I644209 B TWI644209 B TW I644209B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory array
- memory
- data
- management unit
- write
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0608—Saving storage space on 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
-
- 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/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- 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/0647—Migration mechanisms
-
- 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/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/06—Address interface arrangements, e.g. address buffers
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)
- Quality & Reliability (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本發明包含關於混合式記憶體管理之設備及方法。一實例設備可包含:一第一記憶體陣列;數個第二記憶體陣列;及一控制器,其經耦合至該第一記憶體陣列及該數個第二記憶體陣列,該控制器經組態以:執行一寫入操作,其中該寫入操作之執行在由一寫入游標指示之一位置處開始寫入資料至該第一記憶體陣列;及在完成該寫入操作之執行之後,放置該寫入游標於該第一記憶體陣列中之一經更新位置處,其中該經更新位置係在該第一記憶體陣列中之下一可用位置。
Description
本發明大體上係關於記憶體裝置,且更特定言之,係關於用於記憶體管理之設備及方法。
記憶體裝置通常提供為電腦或其他電子裝置中之內部、半導體、積體電路。存在諸多不同類型之記憶體,包含揮發性記憶體及非揮發性記憶體。揮發性記憶體可需要電力以維持其資料且包含隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)及同步動態隨機存取記憶體(SDRAM)等。非揮發性記憶體可藉由在不被供電時保持所儲存之資料來提供持久性資料且可包含NAND快閃記憶體、NOR快閃記憶體、唯讀記憶體(ROM)、電可擦除可程式化唯讀記憶體(EEPROM)、可擦除可程式化ROM(EPROM)及電阻可變記憶體(諸如,相變隨機存取記憶體(PCRAM)、電阻性隨機存取記憶體(RRAM)及磁阻性隨機存取記憶體(MRAM))等等。 記憶體亦用作範圍廣泛的電子應用之揮發性及非揮發性資料儲存器。非揮發性記憶體可用於(例如)個人電腦、可攜式記憶體棒、數位相機、蜂巢式電話、可攜式音樂播放機(諸如MP3播放機)、電影播放機及其他電子裝置。記憶體單元可配置成多個陣列,其中該等陣列用於記憶體裝置中。
本發明包含關於混合式記憶體管理之設備及方法。一實例設備可包含一第一記憶體陣列;數個第二記憶體陣列;及一控制器,其經耦合至該第一記憶體陣列及該數個第二記憶體陣列,該控制器經組態以:執行一寫入操作,其中該寫入操作之執行在由一寫入游標指示之一位置處開始寫入資料至該第一記憶體陣列;及在完成該寫入操作之執行之後放置該寫入游標於該第一記憶體陣列中之一經更新位置處,其中該經更新位置係在該第一記憶體陣列中之下一可用位置。 在數個實施例中,可對包含一第一記憶體陣列及數個第二記憶體陣列之一記憶體裝置執行一寫入操作。該記憶體裝置可為一混合式記憶體裝置,其中該第一記憶體陣列可為一儲存類別記憶體,且該數個第二記憶體陣列可為一不同類型之記憶體,諸如NAND快閃記憶體。該寫入操作可包含寫入資料至該第一記憶體陣列及/或該數個第二記憶體陣列。可回應於經儲存於該第一記憶體陣列中之一資料量係低於一臨限量而寫入該資料至該第一記憶體陣列。 在數個實施例中,可基於指示其中一寫入操作將開始之一位置之一寫入游標而寫入對一第一記憶體陣列執行之寫入操作。該寫入游標之位置可基於在該寫入陣列中之數個管理單元之狀態,其中各管理單元可具有有效、無效、自由或不使用之一狀態。該寫入游標之位置可經更新,且被放置於在各寫入操作之後具有一自由狀態的下一管理單元處。例如,該等管理單元可為基於其等實體位置依一循序順序的指定位址,且該等管理單元基於其等位址,通過依一循序順序迭代以判定該等管理單元的狀態,且放置該寫入游標於一經更新位置處。 在數個實施例中,讀取操作可包含針對一第一記憶體陣列中的資料來判定管理單元樣式干擾位準及一原始位元錯誤率(RBER)。當該管理單元樣式干擾位準係高於一臨限值或該原始位元錯誤率(RBER)係高於一臨限值時,可執行一移動操作,以移動該資料至該第一記憶體陣列中之一新的位置。當該RBER係高於一臨限值時,可移動該資料至一新的位置,因為一錯誤校正(ECC)操作在讀取來自其原始位置之資料時不能夠校正錯誤。當該管理單元樣式干擾位準係高於一臨限值時,可移動該資料至一新的位置,因為在讀取來自其中鄰近管理單元已經程式化至少一特定次數之一位置的資料時,錯誤可能更可能發生。 在本發明之以下實施方式中,參考形成本發明之一部分且其中藉由繪示展示本發明之一或多個實施例可如何被實踐之隨附圖式。足夠詳細描述此等實施例以使一般技術者實踐本發明之實施例,且應理解,可在不脫離本發明之範疇之情況下,利用其他實施例且做出程序、電及/或結構改變。 如本文中所使用,諸如「X」、「Y」、「N」、「M」等之標示符(尤其關於圖式中之元件符號)指示:可包含如此指定之數個特定特徵。亦應瞭解,本文中所使用之術語僅係為了描述特定實施例之目的,且不意欲限制。如本文中所使用,單數形式「一」、「一個」及「該」可包含單數及複數個參照物兩者,除非內容另有清楚指示。另外,「數個」、「至少一個」及「一或多個」(例如數個記憶體陣列)可係指一或多個記憶體陣列,而「複數個」意欲係指此等事物之一個以上。而且,貫穿本申請案所使用之字「可」係以一允許意義(即,具有可能性以、能夠)而非以一強制意義(即,必須)使用。術語「包含」及其變體意謂「包含,但不限於」。若適合於背景內容,術語「經耦合」意謂直接或間接經實體連接或接近命令及/或資料及命令及/或資料之移動(傳輸)。若適合於背景內容,術語「資料」及「資料值」在本文中可互換使用,且可具有相同意義。 本文中之圖式遵循一編號慣例,其中第一數字對應於圖式編號,且其餘數字識別圖式中之一元件或組件。可藉由使用類似數字來識別不同圖之間的類似元件或組件。舉例而言,108可指涉圖1中之元件「08」,且一類似元件可在圖2中指涉為208。應瞭解,可添加、交換及/或消除本文中在各種實施例中所展示之元件,以便提供本發明之若干額外實施例。此外,圖中所提供元件之比例及/或相對尺度意欲繪示本發明之某些實施例,而不應被視為意指限制。 圖1係根據本發明之數個實施例之呈包含一記憶體裝置106之一計算系統100之形式之一設備的一方塊圖。如本文中所使用,一「設備」可係指(但不限於)各種結構或結構之組合之任何者,諸如,例如,一(若干)電路、一(若干)晶粒、一(若干)模組、一(若干)裝置或一(若干)系統。在數個實施例中,計算系統100可包含數個記憶體裝置。在圖1中所繪示之實施例中,記憶體裝置106可包含一第一記憶體類型(例如一第一記憶體陣列110)及一第二記憶體類型(例如數個第二記憶體陣列112-1、…、112-N)。記憶體裝置106可為一混合式記憶體裝置,其中記憶體裝置106包含第一記憶體陣列110,其係不同於數個第二記憶體陣列112-1、…、112-N之一類型之記憶體。第一記憶體陣列110可為儲存類別記憶體(SCM),其可為一非揮發性記憶體,其充當用於記憶體裝置106之主要記憶體,因為其具有快於數個第二記憶體陣列112-1、…、112-N之存取時間。第一記憶體陣列110可為在其他類型之非揮發性記憶體當中之相變記憶體(PCM)、自旋扭矩轉移(SST)記憶體、鐵電(FRAM)及/或電阻式(RRAM)。數個第二記憶體陣列112-1、…、112-N可充當用於記憶體裝置106之一資料儲存(例如儲存記憶體)且可為在其他類型之記憶體當中之NAND快閃記憶體。例如,數個第二記憶體陣列112-1、…、112-N可為RAM、ROM、DRAM、SDRAM、PCRAM、RRAM及快閃記憶體等。 如圖1中所繪示,主機102可經由介面104而耦合至記憶體裝置106。主機102及記憶體裝置106可在介面104上通信(例如發送命令及/或資料)。主機102可為在其他主機系統當中之一膝上型電腦、個人電腦、數位相機、數位記錄及播放裝置、行動電話、PDA、記憶卡讀取器、介面中心,且可包含一記憶體存取裝置,例如,一處理器。一般技術者將瞭解,「一處理器」可意指一或多個處理器,諸如一平行處理系統、數個協同處理器等。 記憶體裝置106包含用以與主機102及第一記憶體陣列110及數個第二記憶體陣列112-1、…、112-N通信之控制器108。控制器108可發送命令以對第一記憶體陣列110及數個第二記憶體陣列112-1、…、112-N執行操作。控制器108可與第一記憶體陣列110及數個第二記憶體陣列112-1、…、112-N通信以在其他操作當中讀取、寫入、移動及/或擦除資料。控制器108可控制在記憶體裝置106上之數個資料流動。例如,控制器108可控制寫入資料至第一記憶體陣列110、寫入資料至數個第二記憶體陣列112-1、…、112-N、自第一記憶體陣列110讀取資料、自數個第二記憶體陣列112-1、…、112-N讀取資料、移動資料自第一記憶體陣列110至數個第二記憶體陣列112-1、…、112-N且移動資料自數個第二記憶體陣列112-1、…、112-N至第一記憶體陣列110。 主機102包含用以與記憶體裝置106通信之一主機控制器。該主機控制器可經由介面104發送命令至記憶體裝置106。該主機控制器可與記憶體裝置106及/或記憶體裝置106上之控制器108通信以在其他操作當中讀取、寫入及擦除資料。 記憶體裝置106上之控制器108及/或主機102上之該主機控制器可包含控制電路(例如硬體、韌體及/或軟體)。在一或多個實施例中,記憶體裝置106上之控制器108及/或主機102上之該主機控制器可包含控制電路,其可為經耦合至包含一實體介面之一印刷電路板的一專用積體電路(ASIC)。同樣地,記憶體裝置106及主機102可包含揮發性及/或非揮發性記憶體之一緩衝器及數個暫存器。 圖2係根據本發明之數個實施例之一控制器208之一方塊圖。控制器208可與一主機(例如圖1中之主機102)及/或記憶體陣列(例如圖1中之第一記憶體陣列110及/數個第二記憶體陣列112-1、…、112-N)通信以讀取、寫入、移動及/或擦除資料至該主機或記憶體陣列及/或自該主機或記憶體陣列讀取、寫入、移動及/或擦除資料。控制器208包含前端管理器220、資料及媒體管理器230及後端管理器240。 前端管理器220可自一主機接收命令且解譯彼等命令。前端管理器220可執行與該等命令相關聯之資料之邏輯位址之一轉譯。 資料及媒體管理器230可進一步處理自一主機接收之命令。資料及媒體管理器230可包含資料管理器排程器232、媒體轉譯層(MTL)伺服器234及媒體轉譯層(MTL)管理器236。資料管理排程器232可判定將何時執行自一主機接收之該等命令之各者。MTL伺服器234可包含數個應用程式設計介面(API)指令集合以提供功能性至MTL管理器236。MTL伺服器234可包含API指令以在其他伺服器當中執行邏輯位址至實體位址轉譯、讀取來自記憶體陣列之資料及/或寫入資料至記憶體陣列。 MTL管理器236可包含表格管理器238-1、讀取管理器238-2、負載管理器238-3、寫入管理器238-4、清空管理器238-5及清除管理器238-6以對該等記憶體陣列執行操作。 表格管理器238-1可提供邏輯位址至實體位址映射用於經儲存於該等記憶體陣列中之資料。由表格管理器238-1管理之該資訊可經儲存於該等記憶體陣列中。表格管理器238-1可產生並儲存經儲存於該等記憶體陣列中之一邏輯至實體表格以定位資料。該邏輯至實體表格可包含一位元於該邏輯位址至實體位址映射中,該邏輯位址至實體位址映射指示該資料是否經儲存於該第一類型之記憶體中及/或該第二類型之記憶體陣列中。表格管理器238-1亦可產生並儲存邏輯至實體指標以定位資料於該等記憶體陣列中。 讀取管理器238-2可藉由定位資料於該等記憶體陣列中且致使與讀取命令相關聯之資料至該主機之轉移而執行該等讀取命令。讀取管理器238-2亦可判定自一第二類型之記憶體陣列讀取之資料是否應保持於適當位置中及/或被移動至該記憶體裝置中之一第一類型之記憶體陣列。若讀取管理器238-2判定資料應自一第一類型之記憶體陣列移動至一第二類型之記憶體陣列,則讀取管理器238-2通知負載管理器238-3執行此操作。 負載管理器238-4可執行移動資料自一第二類型之記憶體陣列(例如NAND)至一第一類型之記憶體陣列(例如SCM)。負載管理器238-4可移動該資料至該第一類型之記憶體陣列且使該第二類型之記憶體陣列中之該資料之原始版本無效。 寫入管理器238-4可藉由路由與寫入命令相關聯之資料至該第一類型之記憶體陣列及/或該第二類型之記憶體陣列而執行寫入命令。寫入管理器238-4可基於數個準則判定是否寫入資料至該第一類型之記憶體陣列、該第二類型之記憶體陣列或兩者。該數個準則可在其他準則當中包含被寫入之該資料之大小、該等記憶體陣列中之可用空間量及/或資料被寫入至該等記憶體陣列之頻率。 清空管理器238-5可執行移動資料自一第一類型之記憶體陣列(例如SCM)至一第二類型之記憶體陣列(例如NAND)。清空管理器238-5可基於數個準則移動資料。該等準則可為(例如)該第一類型之記憶體陣列已達到一容量臨限值。清空管理器238-5可移動資料至該第二類型之記憶體陣列且使該第一類型之記憶體陣列中之該資料之原始版本無效。 清除管理器238-6可執行移動資料自該第一類型之記憶體陣列(例如SCM)中之一第一位置至該第一類型之記憶體陣列中之一第二位置。清除管理器238-6可移動資料作為一磨損位準量測操作,使得該第一類型之記憶體陣列中之特定實體位置不比其他實體位置更頻繁寫入。清除管理器238-6可執行寫入一管理單元之各位元至各管理單元上之一特定邏輯狀態,該特定邏輯狀態具有一無效狀態。在數個實施例中,清除管理器238-6可包含程式化一管理單元之各位元至一邏輯狀態,該邏輯狀態比另一邏輯狀態使用更多功率及/或具有一更高延遲,使得當一前台操作(例如,例如一寫入操作)經執行時,該前台操作不必程式化記憶體單元至該邏輯狀態,該邏輯狀態比另一邏輯狀態使用更多功率及/或具有一更高延遲。 圖3係繪示根據本發明之數個實施例之對一記憶體裝置執行之數個操作350之一功能圖。寫入操作352可經執行於一記憶體裝置上且可包含寫入資料至一記憶體裝置上之一第一記憶體陣列及/或數個第二記憶體陣列。寫入操作352可包含基於該第一記憶體陣列上之可用自由空間量而寫入資料至該第一記憶體陣列。若在該第一記憶體陣列上存在足夠可用自由空間,則寫入操作寫入該資料至該第一記憶體陣列及該數個第二記憶體陣列。若在該第一記憶體陣列上不存在足夠可用自由空間,則寫入操作352僅寫入該資料至該數個第二記憶體陣列。 在數個實施例中,寫入操作352可包含基於一寫入游標之一位置而寫入資料。該寫入游標可指示一寫入操作將在何處開始。該寫入游標可在各寫入操作之後經更新至其中該下一自由管理單元經定位之一記憶體陣列中之一新位置。寫入操作352可為一前台操作,其中前台操作在自一主機接收一請求之後經執行。寫入操作352可為一後台操作,其由該資料管理器(諸如,例如圖2中之負載管理器238-3及/或清空管理器238-5)啟始。 清除操作356可經執行於一記憶體裝置上且可包含寫入一管理單元之各位元至一特定邏輯狀態。清除操作356可經執行於具有一無效狀態之各管理單元上。清除操作356可為一後台操作,其中後台操作經執行而無其他操作(例如前台操作)經執行。例如一後台操作可經執行於一記憶體裝置之一特定區域上,而無其他操作(諸如前台操作)經執行於其中該後台操作經執行之該特定區域處(例如一區塊、一分區、記憶體裝置等)。另一操作(諸如前台操作)可經執行於除其中該前台操作經執行同時該後台操作經執行之該特定區域外的一區域處(例如另一區塊、另一分區及/或另一裝置)。前台操作可具有高於後台操作之優先權,使得當一主機請求一記憶體裝置執行一操作時,後台問題不降低一記憶體裝置之效能或延遲。在數個實施例中,清除操作356可包含程式化一管理單元之各位元至一邏輯狀態,該邏輯狀態比另一邏輯狀態使用更多功率及/或具有一更高延遲。由於清除操作356可為一後台操作,所以程式化該等記憶體單元至比另一邏輯狀態使用更多功率及/或具有一更高延遲的一邏輯狀態自一主機方面來看不影響該記憶體裝置之效能。在清除操作356之後,已經清除之一管理單元之狀態可自由。該經清除管理單元可接著藉由僅程式化需要自在清除操作356期間該等記憶體胞經程式化至其之該特定邏輯狀態改變之該等記憶體胞而程式化。例如,若清除操作356程式化一管理單元之各位元至邏輯狀態0,則一寫入操作僅需要程式化期望在邏輯狀態1處之該等記憶體胞。若清除操作356程式化一管理單元之各位元至邏輯狀態1,則一寫入操作僅需要程式化期望在邏輯狀態0處之該等記憶體胞。 讀取操作354可經執行於一記憶體裝置上,且可包含針對該資料判定一管理單元樣式干擾位準及/或一原始位元錯誤率(RBER)。讀取操作354亦可包含基於該類型之記憶體陣列及該記憶體陣列中之該類型的記憶體胞(諸如,例如經程式化以包含2個、3個或4個位元之記憶體胞)來設定讀取信號臨限值。該管理單元樣式干擾位準可係與一管理單元已由正程式化之一鄰近管理單元干擾多少次相關聯。一旦該管理單元樣式干擾位準已達到一臨限值,則一移動操作358可被執行以移動該資料至一記憶體陣列中之一新的位置。亦可當針對一記憶體單元之該RBER係高於一臨限值(例如存在比可由一錯誤校正(ECC)操作校正更多之錯誤)時,執行移動操作358。讀取操作354可包含當該RBER及該管理單元樣式干擾位準係低於其等各自臨限值時,自該記憶體裝置輸出資料至該主機。移動操作358亦可被實施以當一寫入操作已經執行於一鄰近管理單元至少一臨限次數時,移動資料至一新的位置。移動操作358可為一後台操作,其中後台操作經執行於無其他操作(諸如前台操作)經執行於其中該後台操作經執行之該特定區域上。 圖4A及圖4B繪示根據本發明之數個實施例之一第一管理單元及一第二管理單元。圖4A繪示一第一管理單元460 (例如大管理單元),其包含主機資料462、後設資料464,及錯誤校正(ECC)資料466。第一管理單元460包含主機資料462,其具有與自一主機接收之資料之一邏輯關聯。圖4B繪示一第二管理單元461 (例如小管理單元),其包含MTL後設資料468、後設資料464,及錯誤校正(ECC)資料466。MTL後設資料468可包含邏輯至實體表格用於經儲存於該記憶體裝置中的資料(例如主機資料462)。 一管理單元係經儲存於一陣列中之一群組之記憶體胞中之一特定量資料,其在操作期間一起被管理。一管理單元之大小可基於經儲存於該管理單元中之資料的類型及/或對該管理單元執行之操作的類型而改變。例如,一第一管理單元460 (例如大管理單元)可包含4KB之資料,且可儲存來自一主機之資料,而一第二管理單元461 (例如小管理單元)可包含64B之資料,且可儲存與該第一管理單元中之該資料相關聯之一邏輯至實體表格。各管理單元可具有與其相關聯之一狀態。例如,各管理單元可具有有效、無效、自由或不使用之一狀態。一有效管理單元包含最近版本資料。一無效管理單元包含並非該資料之最近版本的資料。一「不使用」管理單元為一特定原因而不用以儲存資料,諸如該管理單元不再能夠可靠地儲存資料。一自由管理單元包含在一重設狀態中且準備經程式化(例如寫入至)的記憶體胞。例如,一重設狀態可為其中管理單元之所有記憶體胞被程式化至一特定邏輯狀態(例如,例如邏輯狀態0或邏輯狀態1)。 圖5A及圖5B繪示根據本發明之數個實施例之數個管理單元。在圖5A及圖5B中,該記憶體陣列包含管理單元570、…、570-7,諸如,例如與圖4A及圖4B相關聯描述之該等管理單元。在圖5A中,管理單元570-0及570-1具有一有效狀態且一寫入游標(由粗體輪廓線指示)經定位於管理單元570-2處,因為管理單元570-2係第一可用自由管理單元。一寫入操作可藉由在管理單元570-2處開始寫入資料至該記憶體陣列而執行,歸因於該寫入游標經定位於管理單元570-2處。該寫入操作可寫入資料至管理單元570-2及570-3。例如,該操作可相繼寫入資料至管理單元,該等管理單元係可用自由管理單元。圖5B繪示在完成上文與圖5A相關聯所描述之寫入操作之後在管理單元570-6處之寫入游標之經更新位置。當放置該寫入游標於管理單元570-6之該經更新位置時,管理單元570-4跳過,因為其具有一有效狀態且管理單元570-5跳過,因為其具有一不使用狀態。因此,該寫入游標之該經更新位置係在管理單元570-6處,因為管理單元570-6係在管理單元570-3之後之下一可用管理單元,其係最後寫入操作結束之處。 儘管已在本文中繪示及描述特定實施例,但一般技術者將暸解,經計算以達成相同結果之一配置可取代展示之特定實施例。本發明旨在涵蓋本發明之各種實施例之調適或變化。應理解,已以一闡釋性方式而非一限制性方式做出上述描述。熟習此項技術者在檢視上述描述後將明白未在本文中特別描述之上述實施例之組合及其他實施例。本發明之各種實施例之範疇包含其中使用上文結構及方法之其他應用。因此,應參考隨附申請專利範圍連同涵括此等申請專利範圍之等效物之全部範圍判定本發明之各種實施例之範疇。 在前述實施方式中,出於流線化本發明之目的,各種特徵共同分組於一單一實施例中。本發明之此方法不應解釋為反映本發明之所揭示實施例必須使用多於在每一請求項中明確敘述之特徵之一意圖。實情係,如以下申請專利範圍反映,發明標的物可存在少於一單一所揭示實施例之所有特徵。因此,以下申請專利範圍以此方式併入實施方式中,其中每一請求項可單獨作為一獨立實施例。
100‧‧‧計算系統
102‧‧‧主機
104‧‧‧介面
106‧‧‧記憶體裝置
108‧‧‧控制器
110‧‧‧第一記憶體陣列
112-1‧‧‧第二記憶體陣列
112-N‧‧‧第二記憶體陣列
208‧‧‧控制器
220‧‧‧前端管理器
230‧‧‧資料及媒體管理器
232‧‧‧資料管理器排程器
234‧‧‧媒體轉譯層(MTL)伺服器
236‧‧‧媒體轉譯層(MTL)管理器
238-1‧‧‧表格管理器
238-2‧‧‧讀取管理器
238-3‧‧‧負載管理器
238-4‧‧‧寫入管理器
238-5‧‧‧清空管理器
238-6‧‧‧清除管理器
240‧‧‧後端管理器
350‧‧‧操作
352‧‧‧寫入操作
354‧‧‧讀取操作
356‧‧‧清除操作
358‧‧‧移動操作
460‧‧‧第一管理單元
461‧‧‧第二管理單元
462‧‧‧主機資料
464‧‧‧後設資料
466‧‧‧錯誤校正(ECC)資料
468‧‧‧MTL後設資料
570-0至570-7‧‧‧管理單元
圖1係根據本發明之數個實施例之呈包含一記憶體裝置之一計算系統之形式之一設備的一方塊圖。 圖2係根據本發明之數個實施例之一控制器之一方塊圖。 圖3係繪示根據本發明之數個實施例之對一記憶體裝置執行之數個操作的一功能圖。 圖4A及圖4B繪示根據本發明之數個實施例之一第一管理單元及一第二管理單元。 圖5A及圖5B繪示根據本發明之數個實施例之數個管理單元。
Claims (20)
- 一種設備,其包括: 一第一記憶體陣列; 數個第二記憶體陣列;及 一控制器,其經耦合至該第一記憶體陣列及該數個第二記憶體陣列,該控制器經組態以: 執行一寫入操作,其中該寫入操作之執行在由一寫入游標指示之一位置處開始寫入資料至該第一記憶體陣列;及 在完成該寫入操作之執行之後,放置該寫入游標於該第一記憶體陣列中之一經更新位置處,其中該經更新位置係在該第一記憶體陣列中之下一可用位置。
- 如請求項1之設備,其中該寫入操作之執行亦寫入該資料至該數個第二陣列。
- 如請求項1之設備,其中該寫入操作係一前台操作,其藉由該設備在接收一請求之後完成。
- 如請求項1之設備,其中該第一記憶體陣列包含數個管理單元,其等係循序指定位址,且其中基於該指定位址及該寫入游標之該位置而循序寫入資料至該數個管理單元。
- 如請求項1至4中任一項之設備,其中該控制器經組態以執行另一寫入操作,且其中該另一寫入操作之執行在由該寫入游標指示之該經更新位置處開始寫入資料至該第一記憶體陣列。
- 如請求項1至4中任一項之設備,其中該寫入游標藉由跳過數個管理單元而被放置於該經更新位置處,該等數個管理單元經指示為有效、無效或不使用,以在該第一記憶體陣列中找到下一自由管理單元。
- 如請求項1至4中任一項之設備,其中該寫入操作之執行包含在數個自由管理單元中循序繼續寫入該資料至該第一記憶體陣列,直至該寫入操作基於該數個自由管理單元之位址而完成為止。
- 一種設備,其包括: 一第一記憶體陣列; 數個第二記憶體陣列;及 一控制器,其經耦合至該第一記憶體陣列及至該數個第二記憶體陣列,且經組態以: 藉由調整數個管理單元自一無效狀態至一自由狀態而對該數個管理單元執行一清除操作,該數個管理單元係在該第一記憶體陣列中之一無效狀態中。
- 如請求項8之設備,其中該數個管理單元經程式化至一特定邏輯狀態以放置該數個管理單元於該自由狀態中。
- 如請求項8至9中任一項之設備,其中該清除操作係一後台操作,其在該設備不對其中該清除操作正執行之一特定區域執行前台操作時,由該設備執行。
- 一種設備,其包括: 一第一記憶體陣列; 數個第二記憶體陣列;及 一控制器,其經耦合至該第一記憶體陣列且至該數個第二記憶體陣列,且經組態以: 基於一讀取管理單元樣式來設定數個讀取信號; 使用該數個讀取信號對該第一記憶體陣列中之一管理單元處的資料執行一讀取操作,以針對該資料判定一管理單元樣式干擾位準及/或一原始位元錯誤率(RBER); 回應於該RBER係低於一第一臨限值及/或該管理單元樣式干擾位準係低於一第二臨限值,輸出該資料至一主機;及 回應於該RBER係高於該第一臨限值及/或該管理單元樣式干擾位準係高於該第二臨限值,對該資料執行一移動操作。
- 如請求項11之設備,其中該管理單元樣式干擾位準係基於一鄰近管理單元已經程式化的次數。
- 如請求項11之設備,其中該移動操作藉由寫入該資料至在該第一記憶體陣列中自由之一新的管理單元來重新定位該資料。
- 如請求項11至13中任一項之設備,其中該控制器經組態以回應於該RBER係高於該第一臨限值及/或該管理單元樣式干擾位準係高於該第二臨限值,而指示該管理單元係無效的。
- 一種用於管理記憶體之方法,其包括: 在由一寫入游標指示之一第一記憶體陣列中之一位置處,開始執行一寫入操作,其中該寫入游標係在一管理單元處,其係在一自由狀態中;及 在完成該寫入操作之後,放置該寫入游標於該第一記憶體陣列中之一經更新位置處。
- 如請求項15之方法,其中放置該寫入游標於該經更新位置處包含定位下一自由管理單元於該第一記憶體陣列中。
- 如請求項15之方法,其中放置該寫入游標於該經更新位置處包含跳過數個管理單元,該等數個管理單元係在一有效、無效或不使用狀態中。
- 如請求項15至17中任一項之方法,其中該方法包含藉由放置該數個管理單元於一自由狀態中來對該數個管理單元執行一清除操作,該數個管理單元係在該第一記憶體陣列中之一無效狀態中。
- 一種用於管理記憶體之方法,其包括: 針對一第一記憶體陣列中之一管理單元處的資料,判定一管理單元樣式干擾位準及/或一原始位元錯誤率(RBER);及 回應於該RBER係低於一第一臨限值及/或該管理單元樣式干擾位準係低於一第二臨限值,輸出該資料至一主機。
- 如請求項19之方法,其中該方法進一步包含回應於RBER係高於該第一臨限值及/或該管理單元樣式干擾位準係高於該第二臨限值,對該資料執行一移動操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/345,862 | 2016-11-08 | ||
US15/345,862 US10261876B2 (en) | 2016-11-08 | 2016-11-08 | Memory management |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201818251A TW201818251A (zh) | 2018-05-16 |
TWI644209B true TWI644209B (zh) | 2018-12-11 |
Family
ID=62065661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106129529A TWI644209B (zh) | 2016-11-08 | 2017-08-30 | 記憶體管理 |
Country Status (6)
Country | Link |
---|---|
US (3) | US10261876B2 (zh) |
EP (1) | EP3520106B1 (zh) |
KR (1) | KR102240261B1 (zh) |
CN (1) | CN109937449A (zh) |
TW (1) | TWI644209B (zh) |
WO (1) | WO2018089083A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10261876B2 (en) | 2016-11-08 | 2019-04-16 | Micron Technology, Inc. | Memory management |
US10916324B2 (en) | 2018-09-11 | 2021-02-09 | Micron Technology, Inc. | Data state synchronization involving memory cells having an inverted data state written thereto |
US11169747B2 (en) | 2018-10-30 | 2021-11-09 | Micron Technology, Inc. | Relocating data to low latency memory |
US10942662B2 (en) * | 2018-11-30 | 2021-03-09 | International Business Machines Corporation | Relocating and/or re-programming blocks of storage space based on calibration frequency and resource utilization |
US11106521B2 (en) | 2019-08-19 | 2021-08-31 | Micron Technology, Inc. | Fatal error logging in a memory device |
CN111258507A (zh) * | 2020-02-11 | 2020-06-09 | 上海威固信息技术股份有限公司 | 一种提高3d ct tlc nand闪存存储设备可靠性的方法 |
US11626182B2 (en) | 2021-08-04 | 2023-04-11 | Micron Technology, Inc. | Selective power-on scrub of memory units |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201135746A (en) * | 2009-12-30 | 2011-10-16 | Sandisk Corp | Method and controller for performing a copy-back operation |
TW201225100A (en) * | 2010-07-13 | 2012-06-16 | Sandisk Technologies Inc | Dynamic optimization of back-end memory system interface |
TW201235843A (en) * | 2011-02-02 | 2012-09-01 | Micron Technology Inc | Control arrangements and methods for accessing block oriented nonvolatile memory |
TW201245960A (en) * | 2011-05-06 | 2012-11-16 | Genesys Logic Inc | Flash memory system and managing and collection methods for flash memory with invalid page information thereof |
CN104008773A (zh) * | 2013-02-27 | 2014-08-27 | 希捷科技有限公司 | 用于可变电阻存储器单元的ecc管理 |
TW201443904A (zh) * | 2013-02-10 | 2014-11-16 | Lsi Corp | 以保持漂移歷史為基礎之非揮發性記憶體讀取臨限最佳化 |
TW201510724A (zh) * | 2013-09-11 | 2015-03-16 | Skymedi Corp | 非揮發性儲存裝置及其資料寫入方法 |
US20150347228A1 (en) * | 2014-05-30 | 2015-12-03 | Sandisk Technologies Inc. | Method and apparatus for relocating data in non-volatile memory |
Family Cites Families (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5604518A (en) * | 1994-03-30 | 1997-02-18 | International Business Machines Corporation | Memory structure with multiple integrated memory array portions |
US6170066B1 (en) * | 1995-09-29 | 2001-01-02 | Intel Corporation | Power-off recovery management for sector based flash media managers |
JPH1069420A (ja) * | 1996-08-29 | 1998-03-10 | Sony Corp | 情報記録装置、情報記録再生装置、情報記録方法および情報再生方法 |
US6411546B1 (en) * | 1997-03-31 | 2002-06-25 | Lexar Media, Inc. | Nonvolatile memory using flexible erasing methods and method and system for using same |
UA52828C2 (uk) * | 1998-06-24 | 2003-01-15 | Інфінеон Текнолоджіз Аг | Електронний запам'ятовуючий пристрій |
US6363008B1 (en) * | 2000-02-17 | 2002-03-26 | Multi Level Memory Technology | Multi-bit-cell non-volatile memory with maximized data capacity |
JP4058322B2 (ja) * | 2002-10-07 | 2008-03-05 | 株式会社ルネサステクノロジ | メモリカード |
DE60316171T2 (de) * | 2002-10-28 | 2008-05-29 | SanDisk Corp., Milpitas | Automatischer abnutzungsausgleich in einem nicht-flüchtigen speichersystem |
US7139866B2 (en) | 2002-12-30 | 2006-11-21 | Micron Technology, Inc. | CAM with automatic writing to the next free address |
US20050055495A1 (en) | 2003-09-05 | 2005-03-10 | Nokia Corporation | Memory wear leveling |
US7012835B2 (en) * | 2003-10-03 | 2006-03-14 | Sandisk Corporation | Flash memory data correction and scrub techniques |
WO2005066793A2 (en) * | 2003-12-30 | 2005-07-21 | Sandisk Corporation | Non-volatile memory and method with non-sequential update block management |
KR100504401B1 (ko) * | 2005-02-01 | 2005-07-28 | 주식회사 하이스마텍 | 비휘발성 메모리의 제어 방법 및 시스템 |
KR100684887B1 (ko) * | 2005-02-04 | 2007-02-20 | 삼성전자주식회사 | 플래시 메모리를 포함한 데이터 저장 장치 및 그것의 머지방법 |
US7877539B2 (en) * | 2005-02-16 | 2011-01-25 | Sandisk Corporation | Direct data file storage in flash memories |
US7523381B2 (en) | 2005-09-01 | 2009-04-21 | Micron Technology, Inc. | Non-volatile memory with error detection |
JP2009519555A (ja) * | 2005-12-13 | 2009-05-14 | サンディスク コーポレイション | 論理アドレス形ファイル記憶 |
US20080140918A1 (en) | 2006-12-11 | 2008-06-12 | Pantas Sutardja | Hybrid non-volatile solid state memory system |
US8209461B2 (en) * | 2006-12-26 | 2012-06-26 | Sandisk Technologies Inc. | Configuration of host LBA interface with flash memory |
US20090013148A1 (en) * | 2007-07-03 | 2009-01-08 | Micron Technology, Inc. | Block addressing for parallel memory arrays |
US8850102B2 (en) | 2007-08-23 | 2014-09-30 | Nokia Corporation | Flash memory with small data programming capability |
JP2009252255A (ja) * | 2008-04-01 | 2009-10-29 | Renesas Technology Corp | 不揮発性半導体記憶装置 |
US20090259819A1 (en) | 2008-04-09 | 2009-10-15 | Skymedi Corporation | Method of wear leveling for non-volatile memory |
JP5188328B2 (ja) * | 2008-08-29 | 2013-04-24 | 株式会社日立製作所 | 半導体装置 |
US20100169708A1 (en) | 2008-12-29 | 2010-07-01 | John Rudelic | Method and apparatus to profile ram memory objects for displacment with nonvolatile memory |
KR101042197B1 (ko) * | 2008-12-30 | 2011-06-20 | (주)인디링스 | 메모리 컨트롤러 및 메모리 관리 방법 |
US8392687B2 (en) * | 2009-01-21 | 2013-03-05 | Micron Technology, Inc. | Solid state memory formatting |
KR101070511B1 (ko) * | 2009-03-20 | 2011-10-05 | (주)인디링스 | Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법 |
KR20140059102A (ko) * | 2009-06-10 | 2014-05-15 | 마이크론 테크놀로지, 인크. | 메모리 어레이들에서 감소된 읽기 지연시간에 대한 메모리 작업들의 서스펜션 |
US20110167197A1 (en) | 2010-01-05 | 2011-07-07 | Mark Leinwander | Nonvolatile Storage with Disparate Memory Types |
WO2011099963A1 (en) * | 2010-02-10 | 2011-08-18 | Hewlett-Packard Development Company, L.P. | Identifying a location containing invalid data in a storage media |
US8949506B2 (en) | 2010-07-30 | 2015-02-03 | Apple Inc. | Initiating wear leveling for a non-volatile memory |
US8356153B2 (en) | 2010-11-19 | 2013-01-15 | International Business Machines Corporation | Adaptive wear leveling via monitoring the properties of memory reference stream |
US9223511B2 (en) * | 2011-04-08 | 2015-12-29 | Micron Technology, Inc. | Data deduplication |
US9298606B2 (en) | 2011-09-30 | 2016-03-29 | Intel Corporation | Statistical wear leveling for non-volatile system memory |
KR20130040486A (ko) * | 2011-10-14 | 2013-04-24 | 삼성전자주식회사 | 저장 장치 및 그것을 이용하는 사용자 장치 |
CN104115132B (zh) | 2011-12-22 | 2018-02-06 | 英特尔公司 | 借助于存储器通道关闭的功率节约 |
US20130219105A1 (en) | 2012-02-16 | 2013-08-22 | Micron Technology, Inc. | Method, device and system for caching for non-volatile memory device |
TWI475385B (zh) * | 2012-03-14 | 2015-03-01 | Phison Electronics Corp | 程式化記憶胞與資料讀取方法、記憶體控制器與儲存裝置 |
US9021275B1 (en) | 2012-03-30 | 2015-04-28 | Emc Corporation | Method and apparatus to exercise and manage a related set of power managed storage devices |
US9645917B2 (en) * | 2012-05-22 | 2017-05-09 | Netapp, Inc. | Specializing I/O access patterns for flash storage |
US20140129758A1 (en) | 2012-11-06 | 2014-05-08 | Spansion Llc | Wear leveling in flash memory devices with trim commands |
US9081666B2 (en) | 2013-02-15 | 2015-07-14 | Seagate Technology Llc | Non-volatile memory channel control using a general purpose programmable processor in combination with a low level programmable sequencer |
US9324438B2 (en) * | 2013-08-05 | 2016-04-26 | Jonker Llc | Method of operating incrementally programmable non-volatile memory |
US9236133B2 (en) * | 2013-12-13 | 2016-01-12 | Micron Technology, Inc. | Adjusted read for partially programmed block |
WO2015145636A1 (ja) * | 2014-03-26 | 2015-10-01 | 株式会社日立製作所 | ストレージシステム |
US9361182B2 (en) * | 2014-05-20 | 2016-06-07 | Transcend Information, Inc. | Method for read disturbance management in non-volatile memory devices |
US9627072B2 (en) * | 2014-11-25 | 2017-04-18 | Macronix International Co., Ltd. | Variant operation sequences for multibit memory |
JP6139807B2 (ja) * | 2014-12-04 | 2017-05-31 | 株式会社東芝 | ストレージ装置、ストレージ装置の制御方法、及びプログラムを記憶するコンピュータ読み取り可能な不揮発性記憶媒体 |
KR102275710B1 (ko) * | 2015-02-02 | 2021-07-09 | 삼성전자주식회사 | 오버-라이트가 가능한 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작방법 |
US9842059B2 (en) * | 2016-04-14 | 2017-12-12 | Western Digital Technologies, Inc. | Wear leveling in storage devices |
US10261876B2 (en) * | 2016-11-08 | 2019-04-16 | Micron Technology, Inc. | Memory management |
US10430085B2 (en) * | 2016-11-08 | 2019-10-01 | Micron Technology, Inc. | Memory operations on data |
-
2016
- 2016-11-08 US US15/345,862 patent/US10261876B2/en active Active
-
2017
- 2017-08-28 EP EP17869668.8A patent/EP3520106B1/en active Active
- 2017-08-28 CN CN201780068351.8A patent/CN109937449A/zh active Pending
- 2017-08-28 KR KR1020197014722A patent/KR102240261B1/ko active IP Right Grant
- 2017-08-28 WO PCT/US2017/048800 patent/WO2018089083A1/en unknown
- 2017-08-30 TW TW106129529A patent/TWI644209B/zh active
-
2018
- 2018-12-10 US US16/214,701 patent/US10956290B2/en active Active
-
2021
- 2021-03-19 US US17/206,881 patent/US11550678B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201135746A (en) * | 2009-12-30 | 2011-10-16 | Sandisk Corp | Method and controller for performing a copy-back operation |
TW201225100A (en) * | 2010-07-13 | 2012-06-16 | Sandisk Technologies Inc | Dynamic optimization of back-end memory system interface |
TW201235843A (en) * | 2011-02-02 | 2012-09-01 | Micron Technology Inc | Control arrangements and methods for accessing block oriented nonvolatile memory |
TW201245960A (en) * | 2011-05-06 | 2012-11-16 | Genesys Logic Inc | Flash memory system and managing and collection methods for flash memory with invalid page information thereof |
TW201443904A (zh) * | 2013-02-10 | 2014-11-16 | Lsi Corp | 以保持漂移歷史為基礎之非揮發性記憶體讀取臨限最佳化 |
CN104008773A (zh) * | 2013-02-27 | 2014-08-27 | 希捷科技有限公司 | 用于可变电阻存储器单元的ecc管理 |
TW201510724A (zh) * | 2013-09-11 | 2015-03-16 | Skymedi Corp | 非揮發性儲存裝置及其資料寫入方法 |
US20150347228A1 (en) * | 2014-05-30 | 2015-12-03 | Sandisk Technologies Inc. | Method and apparatus for relocating data in non-volatile memory |
Also Published As
Publication number | Publication date |
---|---|
EP3520106A1 (en) | 2019-08-07 |
TW201818251A (zh) | 2018-05-16 |
KR20190058714A (ko) | 2019-05-29 |
US11550678B2 (en) | 2023-01-10 |
US10956290B2 (en) | 2021-03-23 |
CN109937449A (zh) | 2019-06-25 |
EP3520106A4 (en) | 2019-10-09 |
US10261876B2 (en) | 2019-04-16 |
US20210208988A1 (en) | 2021-07-08 |
KR102240261B1 (ko) | 2021-04-15 |
US20180129575A1 (en) | 2018-05-10 |
WO2018089083A1 (en) | 2018-05-17 |
US20190108108A1 (en) | 2019-04-11 |
EP3520106B1 (en) | 2021-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI644209B (zh) | 記憶體管理 | |
KR102569783B1 (ko) | 비순차적 구역 네임스페이스들 | |
US8793429B1 (en) | Solid-state drive with reduced power up time | |
US11886710B2 (en) | Memory operations on data | |
US9195579B2 (en) | Page replacement method and memory system using the same | |
TW201005526A (en) | Memory system | |
US9535611B2 (en) | Cache memory for hybrid disk drives | |
US11334272B2 (en) | Memory system and operating method thereof | |
US11537305B1 (en) | Dissimilar write prioritization in ZNS devices | |
US20240211168A1 (en) | Source address memory managment | |
US11556276B2 (en) | Memory system and operating method thereof | |
US20240241642A1 (en) | Storage device including non-volatile memory device and operating method of storage device | |
CN111949197A (zh) | 一种3d tlc闪存存储器及其数据写入方法和装置 |