TW201248405A - Selective data storage in LSB and MSB pages - Google Patents
Selective data storage in LSB and MSB pages Download PDFInfo
- Publication number
- TW201248405A TW201248405A TW101117261A TW101117261A TW201248405A TW 201248405 A TW201248405 A TW 201248405A TW 101117261 A TW101117261 A TW 101117261A TW 101117261 A TW101117261 A TW 101117261A TW 201248405 A TW201248405 A TW 201248405A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- memory
- access
- data items
- storage
- Prior art date
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 10
- 238000000034 method Methods 0.000 claims abstract description 35
- 239000000872 buffer Substances 0.000 claims description 13
- 238000007906 compression Methods 0.000 claims description 13
- 230000006835 compression Effects 0.000 claims description 10
- 239000000463 material Substances 0.000 claims description 10
- 238000007726 management method Methods 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 7
- 238000012544 monitoring process Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 5
- 239000007787 solid Substances 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 235000007516 Chrysanthemum Nutrition 0.000 description 1
- 244000189548 Chrysanthemum x morifolium Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- 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
-
- 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
- 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
- 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
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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
- 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
-
- 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
- G06F2212/1024—Latency reduction
-
- 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/7202—Allocation control and policies
-
- 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/7207—Details relating to flash memory management management of metadata or control data
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)
- Computer Security & Cryptography (AREA)
- Read Only Memory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
Description
201248405 六、發明說明: 【發明所屬之技術領域】 本發明大致上係關於記憶體系統,且特定言之係關於用 於多位階記憶體裝置中之資料儲存之方法及系統。 此申請案主張2011年5月15日申請之美國臨時專利申請 案第61/486,284號之權利,該案内容係以引用方式併入本 文。 【先前技術】 已知各種技術在此項技術中係用來根據資料之使用模式 在s己憶體中儲存該資料。例如,内容以引用方式併入本文 之美國專利申請公開案第2〇〇9/〇〇49234號描述一種將資料 儲存於包含第一記憶體層及第二記憶體層之一固態記憶體 中之一儲存方案。實行一第一評估以判定所接收資料係熱 資料或冷資料。將被評估為熱資料之所接收資料儲存在該 第一記憶體層中,且將被評估為冷資料之所接收資料儲存 在該第二記憶體層+。進一步言之,實行一第二評估以判 定儲存於該第-記憶體層中之資料係熱資料或冷資料。將 接者在該第二評估期間,皮評估為冷資料之資料自豸第一記 憶體層遷移至該第二記憶體層。 二· 實例’内容以引用方式併入本文之美國專利申 «月么開案第2〇11/〇〇1〇489號描述一種用於管理—快閃記憶 體二之複數個邏輯區塊之-邏輯區塊管理方法。該方法 〇 3提供-快閃記憶體控制器,及將該等邏輯區塊分組為 複數個邏輯區,甘士 & " 其中每一邏輯區塊映射至該等邏輯區之一 164263.doc 201248405 者。該方法亦包含對每—邏輯區塊計數—使 =據該等使用計數值動態地調整該等邏與邏= …之映射關係。因此,該邏輯區塊:= 同機制來寫入資料用模式並使用不 能。 Λ增加該快閃記憶體儲存裝置之效 【發明内容】 :文描述之本發明之一實施例提供一種用於資料儲存之 方法。該方法包含提供一記憶體 ΜΑ λ 〇隐體包含多個記愔 體胞群組,且經組態以同時 夕個。己隐 第一儲存組態儲存第一資料及使用 存取時間之一 間之-第二存取時間之一==長於該第-存取時 得該等群組之各者中之每存態儲存第二資料,使 少-位元及該第—資::一=體胞儲存該第-資料之至 示一貧料之一或多個位元。 該記憶體中進行儲存。將該 二^項以在 存取類別及-正常存取類別。使用兮類為一快速 儲存組態將該正tT取Hi?f己Γ中,且❹該第二 中。 類別中之資料項儲存於該記憶體 在—些實施例中,使用钤货 ^ 包含將該等資料項儲存儲存組態儲存該等資料項 頁中,且使㈣第二:憶體之最低有效位元⑽) 資料項儲存於該記憶體該等資料項包含將該等 又琅同有效位元(MSB)頁中。 在一所揭示實施例中,分類該等資料項包含將用一第一 164263.doc 201248405 存取頻轉取之頻繁存取之資料項分類在該快速存取 中’及將用小於該第-存取頻率之—第二存取頻率存取之 極少存取之資料項分類在該正常存取類別中。在另一實施 例中,分類該等資料項包含將管理資料分類在該快速存取 類別中,及將使用者資料分類在該正常存取類別令。 在另-實施例中,分類該等資料項包含將各自映射至該 記憶體之第-數目個實體頁之第一資料項分類在該快速存 取類別中,及將各自映射至第二數目個實體頁之第二資料 項分類在該正常存取類別中。 在一些實施射,分類料資料項包含應賴等資料項 至該快速存取類別及該正常存取類別之—預定義固定分 類。在-替代性實施例中,自一主機接受該等資料項,且 分類該等資料項包含自該主機接收該等資料項至該快速存 取類別及該正常存取類別之—分類。進_步替代地,分類 料項包含藉由監視應用於該等資料項之記憶體存取 ^作適應性地料料資㈣至該料存取_及該正常 存取類別之一分類。 在-些實施例中,儲存該等f料項包含在―第一緩衝器 :::屬於該快速存取類別之資料項、在一第二緩衝器中 ::於該正常存取類別之資料項’及分別使用該第一儲 Ϊ二二該第二儲存組態儲存該第一緩衝器及該第二緩衝 器中暫存之資料項。 體中,儲存該等資料項包含執行將來自該記憶 體之-或多個源區塊之資料複製至該記憶體之一或多個目 164263.doc 201248405 標區塊之一壓縮程序,使得使用該第一儲存組態將屬於該 快速存取類別之資料項儲存在該等目標區塊中,且使用該 第二儲存組態將屬於該正常存取類別之資料項儲存在該^ 目標區塊中》 執行該壓縮程序可包含指派各自等級給該記憶體之多個 區塊,使得一區塊之等級指示儲存於該區塊中之資料項之 一存取頻率·,及基於該等等級選擇候選區塊以用作源區 塊》此外或替代地,執行該壓縮程序可包含指派各自等級 給該記憶體之多個區塊’使得一區塊之等級指示儲存於該 區塊中之資料項至該快速存取類別及該正常存取類別之: 分類與用於將該資料儲存於該區塊中之實際儲存組態之間 之一匹配,及基於該等等級選擇候選區塊以用作該等源區 塊。 ° 除此之外,根據本發明之一實施例提供用於資料儲存之 設備,該設備包含-介面及儲存電路。該介面經耦合以與 包含多個記憶體胞群組之-記憶體通信,且經組態以同時 使用具有-第-存取❹m儲存組g儲存第一資料 及使用具有長於該第一存取時間之一第二存取時間之一第 二儲存組態儲存第二資料,使得該等群組之各者中之每一 位元及該第二資料之一 記憶體胞容納該第一資料之至少 或多個位元。該儲存電路經組態以接受f料項以在該記憶 體中進行儲存、將該等所接受資料項分類為—快速存取類 別及-正常存取類別、使用該第—儲存組態將該快速存取 類別中之資料項儲存在該記憶體中,且使用該第二儲存组 164263.doc 201248405 態將該正常存取類別中之資料項儲存在該記憶體中。 根據本發明之-實施例,亦提供用於資料儲存之設備, U 備包s s己憶體及儲存電路。該記憶體包含多個圮情 體胞群組’ i經組態以同時使用具有一第-存取時間之: 第一儲存組態儲存第—資料及使用具有長於該第—存取時 一第二存取時間之一第二儲存組態儲存第二資料,使 得該等群組之各者中之每一記憶體胞容納該第一資料之至 少一位it及該第二資料之-或多個m健存電路經組 態以接受資料項以在該記憶體巾進行儲存、將該等所接受 資料項分類為一快速存取類別及一正常存取類別、使用該 第-儲存組態將該快速存取類別中之資料項儲存在該記憶 體中,且使用該第二儲存組態將該正常存取類別中之資料 項儲存在該記憶體中。 【實施方式】 將自本發明之實施例之下列實施方式以及圖式更完全地 理解本發明。 概述 多位階記憶體胞(MLC)記憶體裝置包括多個記憶體胞, 每一 S己憶體胞容納兩個或兩個以上資料位元。不同的MLC 位元通常具有不同的存取時間。例如,在一典型的2位元/ 記憶體胞MLC快閃記憶體裝置中,記憶體胞群組可各自容 納具有一快速存取時間之一最低有效位元(LSB)頁及具有 一較長存取時間之一最高有效位元(MSB)頁。該LSB頁及 該MSB頁有時候分別稱為「下頁」及「上頁」。 164263.doc 201248405 下文描述之本發明之實_提供用於將f
記憶體裝置中之改良方法另έL 及系統。所揭示技術將該MLC記 似,:-能夠使用兩種不同儲存組態(_正常儲存組態及 一快速儲存組態)儲存資料。例 閉#艘世甚士 』如在2位以記憶體胞快 裝置中,該快速儲存組態包括LSB頁中之健存, 且該正常儲存組態包括該裝置之MSB頁中之儲存。 將接受以進行儲存之資料 正常存取類別,即,分類為=存取類別及-項及應運用一正常存取時二=快速存取時間储存之 …針… 貝中)儲存别者資料項’且使用該正 吊儲存組態(例如’在該等職頁中)儲存後者資料項。在 一例示性實施射,該快速料組態係⑽ =稱為「熱」)資料項,而該正常儲存組態係用於= 極>、存取(通常稱為「冷」)資料項。藉由將 配資料之使㈣率,可大㈣小記龍之平均存取時^ ^該等所揭示技術中,相同的記憶體胞群組係用於用快 速存取時間及正常存取時間二者進行料:記憶體 記憶體胞使用該快速儲存組態容納儲存至少一位元且使用 :正常儲存組態容納儲存至少-位元。在-典型的實例
中’將兩種類型的資料涵M ㈣(快速存取時間及正常存取時間) : MLC快閃記憶體裝置之相同擦除區塊之不同頁 原則上可使㈣於提供快速存取時間及正常存取時間之 兩種不同的記憶體類型(❹’一咖裝置及一㈣裝 I64263.doc s 201248405 置),但是此種解法古、1 — 醉决方法無效且不靈活。該 與傳統MLC解決方法相 所揭不技術 財命心八 比改良儲存效能、簡化記憶體並使 儲存空間之分配霤任α ^ m此“ 取時間及正常存取時間進 订子 、^該等所揭示技術於相同言己憶體裝置中、兄
用不同儲存組態。 i T A 系統描述 圖Η系示意地圖解根據本發明之一實施例之—固態硬碟 (SSD)24之方塊圖。SSD 24代表—主機樹堵存資料。主 機28可包括(例如)一企業儲存系統(包括多個咖叫中之 -主機處理器'諸如一筆記型電腦或膝上型電腦之計算裝 置中之一主機處理器或任何其他合適的主機。 SSD 24包括代表主機28將資料儲存在一或多個非揮發性 記憶體裝置32中之一 SSD控制器36。SSD控制器刊包括用 於與主機28通信之一主機介面4〇、用於與記憶體裝置^通 信之一記憶體介面44及管理該SSD控制器之操作之一處理 器48。SSD控制器36進一步包括一内部記憶體,在本實例 中’該内部記憶體係一動態隨機存取記憶體(DRAm)52。 在本實例中’記憶體裝置32包括多位階記憶體胞 (MLC)NAND快閃記憶體裝置或晶粒。每一記憶體裝置32 包括配置在擦除區塊(稱為記憶體區塊或為簡潔起見僅稱 為區塊)中之多個記憶體胞。以一單一擦除命令一起擦除 每一區塊之記憶體胞。 每一區塊包括一起寫入並讀取之多個記憶體胞群組。取 決於憶體裝置架構,每一記憶體胞群組可包括(例如)一給 164263.doc *10· 201248405 定區塊之一完整列、一給定區塊之某一列中之奇數階記憶 體胞、一給定列之某一列中之偶數階記憶體胞或以一單一 命令讀取並寫入之任何其他合適的記憶體胞群組。 在本實例中’記憶體裝置32包括2位元/記憶體胞裝置。 在此等裝置中,每一記憶體胞容納兩個資料位元,通常稱 為最低有效位元(LSB)及最高有效位元(MSB)。每一記憶體 胞群組容納兩頁一儲存於該群組中之記憶體胞之LSB中之
一 LSB頁及健存於該群組之記憶體胞之MSB中之一 MSB 頁。 每一 s己憶體裝置32支援單獨的lSB及MSB讀取及寫入命 令。通常,LSB讀取及寫入命令顯著快於MSB讀取及寫入 命令。換s之,對LSB頁之存取時間顯著快於對MSB頁之 存取時間。術語「存取時間」在本文係用以指代讀取及/ 或寫入延時時間。㉟常自SSD控制器與記憶體裝置之間之 介面上提供讀取或寫人命令之時間直到該介面上提供回應 之時間來量測該等讀取及寫人延時時間。在—例示性記憶 裝置中在下列表格中給定LSB存取時間及存取時 間:
______ 2毫秒 —實施例中,SSD控制器36自主機28接受資料項以 =憶體裝置32巾進行儲存1咖㈣隸據某-分類 '將該等資料項分類為一快速存取類別及一正常存取類 164263.doc s 201248405 別。該SSD控制器將該快速存取類別中之資料項儲存在記 憶體裝置32之LSB頁中,且將該正常存取類別中之資料項 儲存在記憶體裝置32之MSB頁中。 在圖1之實施例中,自主機28接受每一資料項連同一各 自邏輯位址。該SSD控制器根據某一邏輯至實體位址映射 將該等邏輯位址轉譯為記憶體裝置32中之各自實體儲存位 置(例如,實體頁),且將每一資料項儲存在適當的實體儲 存位置中。在下列描述中,該等資料項及其等各自邏輯位 址在本文稱為邏輯區塊位址(LBA)。然而,在替代性實施 例中,可使用任何其他合適類型的資料項及定址方案。 SSD控制器36包括將所接受LBA分類為快速存取及正常 存取之一分類單元56。接著在不同緩衝器(在本實例中, 先進先出(FIFO)記憶體)中暫存屬於不同類別之LBA。將屬 於正常存取類別之LBA(例如,應運用正常讀取延時時間 讀取之LBA)提供給一 MSB寫入FIFO 60,且將屬於快速存 取類別之LBA(例如,應運用快速讀取延時時間讀取之 LBA)提供給一 LSB寫入FIFO 64。SSD控制器36將MSB寫入 FIFO 60中暫存之LBA儲存在記憶體裝置32之MSB頁中, 且將LSB寫入FIFO 64中暫存之LBA儲存在記憶體裝置之 LSB頁中。 圖1之SSD及SSD控制器組態係例示性組態,該等组態僅 僅係為使概念清楚之目的而予以展示。在替代性實施例 中,可使用任何其他合適的SSD及SSD控制器組態。例 如,本文描述之實施例主要指代容納LSB頁及MSB頁之2 164263.doc -12· 201248405 位元/記憶體胞記憶體 裝置32可包枯灰 、置。在替代性實施例中,記憶體 任何合適的頁憶體群組具Μ何合適的儲存密度及 3位元/記憶體胞二任何其他合適類型的記憶體’例如, 體。 凡记憶體胞或5位元/記憶體胞記憶 ’甘代地,記恃體# 用快速存取時間另I 括在相同記憶體胞中混 的記恃i 正*存取時間儲存組態之任何其他合適 " 群組。在一些實施例中,記怜體可支援具;# $ 同存取時間之τ 了支援具有不 料項八類A Μ 個儲存組態,且因此可將所接受資 類為較高數目種類別。例如,在儲存三個或三個以 記憶體胞之-MLC記憶體中,快逮存取類別可對 ^門)^頁’且正常存取類別可對應於全部其他(較高延時 _為清楚起見已自圖式省略並非理解本發明之原理所需之 兀件在圖1中所示之例示性組態中,記憶體裝置32及 SSD控制器36實施為不同的積體電路⑽。然而,在替代 性實施例令,記憶體裝置及SSD控制器可整合於一單一多 曰曰片封裝(MCP)或晶片上系統(s〇c)中之不同半導體晶粒 上,且可藉由内部匯流排互連。進一步替代地,一些或全 apSSD電路可配置在其上安置一或多個記憶體裝置之相同 晶粒上。進一步替代地,SSD控制器之一些或全部功能可 實施於軟體中且藉由主機28予以實行。在一些實施例中, 可在相同晶粒上或在相同裝置封裝中之不同晶粒上製作主 機28及SSD控制器36。
S I64263.doc -13- 201248405 SSD控制器36之一些或全部功能可實施於硬體中。替代 地’可使用執行合適軟體之一或多個微處理器或硬體元件 與軟體元件之一組合來實施SSD控制器之元件,例如,處 理器48或分類單元56。在一些實施例中,處理器48包括用 軟體程式化以實行本文描述之功能之一通用處理器》可經 由(例如)一網路將軟體以電子形式下載至處理器,或替代 地或此外’可在諸如磁性記憶體、光學記憶體或電子記憶 體之非暫時性有形媒體上提供及/或儲存該軟體。可與記 憶體裝置32中之一些電路組合之SSD控制器電路在本文稱 為實行所揭示技術之錯存電路。 在最低有效位元及最高有效位元頁中之選擇性資料儲存 在各種實施例中,SSD控制器36中之分類單元56可使用 不同的分類準則將所接受LBA分類為正常存取及快速存取 類別。在一實施例中,單元56將頻繁存取(例如,讀取)之 LBA分類在快速存取類別中且將極少存取之lba分類在正 常存取類财。當主機隨後存取各種LBA時,A量減小總 體平均存取時間。
你伞門又T —— Μ讲π」/人 從7仔取」並未1 指任何特定或絕對存取頻率,而係暗指存取頻率之間之一 =對關係i言之’可㈣何合適方式將資料項分類為菊 繁存取及極少存取’使得頻繁存取資料項之存取頻率高灰 較少存取資料項之存取頻率。 、 在另-實施例中,單元56將管理資料(例如,關鍵資卡 及/或控制資料)分類在快速存取類別中且將其他資料(令 164263.doc 201248405 如,使用者資料)分類在正常存取類別中。此準則通常假 定頻繁存取管理資料。進一步替代地,單元56可根據任何 其他合適的分類準則或準則組合來分類所接受資料。 圖2係示意地圖解根據本發明之一實施例用於SSD 24中 之資料儲存之一方法之一流程圖。該方法開始於在一輸入 步驟70處SSD控制器36經由主機介面40自主機28接受LBA 以進行儲存。 在一分類步驟74處,SSD控制器中之分類單元56分類所 接受LBA。單元56將LBA分類為用小的存取時間存取之一 快速類別的LBA(例如,頻繁讀取之LBA)及用正常的存取 時間存取之一正常類別的LBA(例如,極少讀取之LBA)。 單元56將快速存取類別中之LBA提供給LSB寫入FIFO 64且 將正常存取類別中之LBA提供給MSB寫入FIFO 60中。 在一 LSB儲存步驟78處,SSD控制器36將LSB寫入FIFO 64中暫存之LBA(例如,頻繁讀取之LBA)儲存在記憶體裝 置32之LSB頁中。在一MSB儲存步驟82處,SSD控制器將 MSB寫入FIFO 60中暫存之LB A(例如,極少讀取之LBA)儲 存在記憶體裝置之MSB頁中。 在一些實施例中,SSD控制器藉由自LSB寫入FIFO讀取 一輸入項及自MSB寫入FIFO讀取一輸入項來程式化一給定 的記憶體胞群組(例如,一給定區塊中之一列),且分別將 該等輸入項儲存在該記憶體胞群組之LSB頁及MSB頁中。 若該等寫入FIFO之一者為空,則SSD控制器可將來自另一 寫入FIFO之兩個輸入項儲存在該記憶體胞群組之LSB頁及 164263.doc -15- 201248405 MSB頁中。 接著該方法迴圈回到上文步驟70,其中SSD自主機接受 後續LBA。 在一些實施例中’固定LBA至正常存取類別及快速存取 類別之分類,即,不隨時間變化之一預組態分類。例如, 可用頻繁存取之LB A之範圍及極少存取之LB A之其他範圍 預組態單元56’且基於此等範圍分類所接受LBA。此實施 方案相對簡單且可與(例如)儲存預定義LBA範圍(例如, LBA空間之下端)中之管理資料(頻繁存取之資料)之作業系 統一起使用。 在其他實施例中’ SSD控制器36可藉由主機28經由該 SSD控制器36與該主機28之間之介面通知分類。例如,該 主機可指示該SSD控制器頻繁存取LBA範圍及極少存取 LBA範圍。此種類的指示可事先提供給該SSD控制器,或 連同經發送以在SSD中進行儲存之每一 LBA—起提供給該 SSD控制器。 一些儲存協定支援使主機能夠提供此等指示給SSD之命 令。在一些實施例中,主機28及SSD控制器36使用以(例 如)「NVM Express」(2011年7月I2日修訂i.〇b,以引用方 式併入本文)規定之NVM Express協定通信。該NVM Express協定規定由主機使用以指示邏輯區塊之範圍之屬性 之一資料組管理(DSM)命令《該等屬性可包括(例如)讀取 或寫入資料之頻率及/或對該資料之請求之存取延時時 間β參見(例如)上文列舉之NVM Express說明書之章節6.6 164263.doc 201248405 及6.8及圖1 2 1。 在一些實施例中,單元56基於DSM命令中提供之屬性分 類所接受LBA。在一個人電腦應用中,例如,主機可使用 該DSM命令以規定LBA範圍用作該電腦之休眠空間。單元 56可藉由將LBA儲存於LSB頁中之此範圍中來最佳化此 LB A範圍以進行快速讀出。此技術自休眠減小該電腦喚醒 時間。 與固定分類相比,基於主機通知之分類之實施亦相對簡 單且靈活性更高。此實施方案亦可有利於(例如)作業系統 將官理資料儲存在預定義LBA範圍中(例如,在LBA空間之 低端處)。 在替代性實施例中’無論來自主機之通知為何,SSD 24 之處理器48亦適應性且自主地判定LBA之分類。通常,處 理器48追蹤對各種LBA實行之記憶體存取(例如,讀出)操 作之統計,且因此定義分類。例如,處理器48可應用用於 自動地區分頻繁存取LBA與極少存取LBA之任何合適的技 術,且因此接著將LBA映射至快速存取類別及正常存取類 另J在一些實施例中,此功能性係嵌入在處理器48中實施 之决閃β己憶體轉譯層(FTL)中。此動態映射可與上文描述 之固定或主機辅助方法組合。 在—些實施例中,處理器48對每一LBA或LBA範圍維持 :各自讀取計數器,且自該LBA或LBA範圍按每一次讀取 '累加該°十數器。該等計數器可具有任何所要數目個位 70,即,任何所要解析度或大小。在一實施例中,每一計
S 164263.doc 201248405 數器具有一單一位元(例如,「〇」=未讀取之LB A,「1」= 讀取之LB A) »在一實施例中,將每一 lb A(或範圍)之計數 器儲存作為邏輯至實體位址映射中該LBA(或範圍)之輸入 項之部分。可將包含該等計數器之邏輯至實體位址映射儲 存在(例如)DRAM 52中。 在此等實施例中’處理器48基於LB A之讀取計數器值來 分類該等LBA。例如’處理器48可將計數器值超過某一臨 限值之LB A分類在快速存取類別中,且將計數器值低於該 臨限值之LB A分類在正常存取類別中。因此,頻繁存取之 LBA將會被儲存在LSB頁中,且極少存取之LBA將會被儲 存在MSB頁中。 區塊壓縮期間LSB頁及MSB頁中之儲存 在一典型的快閃記憶體中,將資料依頁單位寫入至記憶 體裝置32中,但對整個記憶體區塊應用擦除。將資料僅寫 入至經擦除頁中,且因此不可就地更新資料。更新資料涉 及將所更新資料寫人至另—實體儲存位置;將該資料之先 前版本標記為無效;及動態更新邏輯至實體位置映射。 由於上述特性,記憶體裝置32之記憶體區塊逐漸積累無 效資料頁’該等無效資料頁之更新版本已被儲存在其他實 體儲存位置中。為減小無效頁之數目,ssd控制器%之處 理器48實仃一壓縮或「廢棄項目收集」程序。此背景程序 '擇《多個《•己憶體區塊(稱為源區塊)用於虔縮、將來自 所:擇源區塊之有效資料複製至-或多個其他區塊(稱為 目標區塊)中之其他儲存位置’且接著擦除該等源區塊。 164263.doc 201248405 接著該等所擦除區塊備妥待後續程式化β 在一些實施例中,SSD控制器36(例如,處理器48及/或 單元56)將屬於快速存取類別之資料儲存在lsb頁中且將屬 於正常存取類別之資料儲存在MSB頁中作為壓縮程序之部 分。例如,當使用上文描述之讀取計數器時,處理器判最 初重設該等讀取計數器。在資料讀出期間,處理器“累加 k 各種LBA之讀取計數器。 當實行區塊壓縮時(當將來自一或多個源區塊之頁複製 至一或多個目標區塊時),處理器48將屬於具有高計數器 值之LBA之頁複製至目標區塊中之咖頁,且將屬於具有 低計數器值之LBA之頁複製至目標區塊中之MSB:f。在複 製該等頁後’可重設該等讀取計數器。 此外,在-些實施例中,處理器48指派―各自讀出等級 給每一區塊,該讀出等級指示: 讀取區塊令之資料之頻率(例如,頻繁/極少);及㈤ 對該區塊中LSB頁及MSB頁之資料分配與分類準則之間 之匹配度(例如,該區塊中該等LSB頁真正儲存頻繁讀取 之資料及該等MSB頁真正儲存極少讀取之資料之程 度)。 一區塊之讀出等級可被定義為(例如)來自該區塊之㈣ 頁之讀出操作之總次數減去來自該區塊之msb頁之讀出操 作之總次數。替代地,可使用滿足上述指導原則之任何其 他合適的讀出等級定義。在此等實施例中,處理⑽在選 擇候選區塊用於壓縮時給具有低等級之區塊指派高優先 164263.doc •19- 201248405 權基於等級之準則可與其他選擇準則(諸如「坑洞」之 數目(無效資料之區域)或該區塊中無效頁之數目)組合。 圖3係不意地圖解根據本發明之一實施例用於記憶體區 塊壓縮之一方法之一流程圖。該方法開始於一候選選擇步 驟90處SSD控制器36之處理器48選擇一源區塊用於壓縮。 如上解釋,處理器48可基於(例如)指派給該區塊之讀出等 級選擇源區塊。 處理器48將來自所選擇源區塊之有效頁複製至一目標區 塊。為減小讀出延時時間’在一 LSB複製步驟94處,該處 理器將屬於快速存取類別之源區塊頁複製至該目標區塊中 之LSB頁。在一MSB複製步驟98處,將屬於正常存取類別 之源區塊頁複製至該目標區塊中之MSB頁。接著在一擦除 步驟102處,處理器48擦除該源區塊。 上述實例指代將來自一單一源區塊之資料複製至一單一 目標區塊。然而,一般而言,該壓縮程序可將來自任何所 要數目個源區塊之資料聯合地複製至任何所要數目個目標 區塊。增加源區塊之數目可改良壓縮效率。 考慮(例如)一對區塊,一區塊包括一高百分比之頻繁讀 取之頁’且另一區域僅包括一小百分比之頻繁讀取之頁。 聯合地壓縮該兩個區塊之效率通常將遠大於單獨壓縮每一 區塊。此一聯合壓縮程序通常將會使頻繁讀取之頁(大部 分來自第一源區塊)儲存在目標區塊之LSB頁中,且使極少 讀取之頁(大部分來自第二源區塊)儲存在目標區塊之MSB 頁中。 164263.doc -20· 201248405 雖然本文描述之實施例主要定位於將快速存取資料儲存 在LSB頁中及將正常存取資料儲存在MSB頁中,但是本文 描述之方法及系統亦可在其他儲存組態中使用。例如,快 速存取儲存組態可包括將資料(例如,LBA)儲存在極少個 實體頁中(例如,一單一實體頁中),且正常存取儲存組態 可包括遍及極多個實體頁使資料分開。 應明白上文描述之實施例係藉由實例方式列舉,且本發 明並不限於本文上文特別展示且描述之實施例。相反,本 發月之範包含本文上文描述之各種特徵之組合及子組合 以及熟悉此項技術者在閱讀前述描述後將想到且先前技術 中未揭示之各種特徵之變動及修改。以引用併入本申請專 利案中之文件被視為該申請案之一整體部分,唯以與本說 明書中明確或隱含地作出之定義相衝突之一方式在此等併 入文件中定義任何術語外,應僅考慮本說明書中之定義。 【圖式簡單說明】 圖1係示意地圖解根據本發明之實施例之固態硬碟(SSD) 之方塊圖;及 圖2係示意地圖解根據本發明之實施例用於多位階記 體胞(MLC)快閃記憶體胞中進行資料儲存之方法之流 圖;及 '丨 圖3係示意地圖解根據本發明之實施例用於記憶體區塊 壓縮之方法之流程圖。 【主要元件符號說明】 24 固態硬碟 164263.doc -21 - 主機 非揮發性記憶體裝置 固態硬碟控制器 主機介面 記憶體介面 處理器 動態隨機存取記憶體 分類單元 最高有效位元寫入先進先出 最低有效位元寫入先進先出 -22-
Claims (1)
- 201248405 七、申請專利範圍: 1. 一種用於資料儲存之方法,其包括: 提供一記憶體,其句枯之 α Π 、 個記憶體胞群組,且經組態 以同時使用具有一第一存 第一 f # ' 一第一儲存組態儲存 使用具有長於該第一存取時間之一第二存取 時間之一第二儲存組態儲 子第一貝枓,使得該等群組之 各母一記憶體胞儲存該第-資料之至少一位元及 該第一-貝料之一或多個位元; 接受資料項以在該記憶體中進行儲存; 將該等所接受資料項分錮 存取類別;& 冑為一快速存取類別及-正常 使㈣第-儲存組態將該快速存取類別中之資料項儲 存於該記憶體中,且使用兮 · 用该第一儲存組態將該正常存取 員別中之資料項儲存於該記憶體中。 2· 2求項1之方法’其中使用該第—儲存組態儲存該等 資料項包括將該等資料頂 存亥記憶體之最低有效位 ( SB)頁中,且使用該第二儲存組態儲存該等資料項 L 3將該等資料項儲在於 (MSB)頁中。 該"憶體之最高有效位元 3.=求項1或2之方法,其中分類該等資料項包括:將用 第-存取頻率存取之頻繁存取之f料項分類在該快速 存取類別中;及將用小於該第一存取頻率之一第二存取 =率存取之極少存取之資料項分類在該正常存取類別 164263.doc 201248405 4. 如二求項1或2之方法,其中分類該等資料項包括:將管 理資料分類在該快速存取類別_ ;及將使用者資料分類 在該正常存取類別中。 5. 如請求項!或2之方法,其中分類該等資料項包括:將各 自映射至該記憶體之第一數目個實體頁之第一資料項分 類在該快速存取類別中;及將各自映射至大於第一數目 之第二數目個實體頁之第二資料項分類在該正常存取類 別中。 6.如明求項1或2之方法’其中分類該等資料項包括:應用 =等資料項至該快速存取類別及該正常存取類別之一預 定義固定分類。 如。月求項1或2之方法,其中自—主機接受該等資料項, 且分類該等資料項包括自該主機接收該等資料項至該快 速存取類別及該正常存取類別之一分類。 8. 如請求項1或2之方法,其中 監視應用於該等資料項之記 該等資料項至該快速存取類 類。 分類該等資料項包括:藉由 憶體存取操作適應性地判定 別及該正常存取類別之一分 9·如請求項_之方法,其中儲存該等資料項包括: 第一緩衝器中暫存屬於該快速存取_之資料項; 第二緩衝n中暫存屬於該正轉取類別之資料項| 別使用該第-儲存組態及該第二儲存組態儲存該第 衝器及該第二緩衝器中暫存之資料項。 10·如凊求項!或2之方法’其中健存該等資料項包括: 164263.doc 201248405 將來自該記憶體之-或多個源區塊之資料複製至該記憶 體之-或多個目標區塊之-壓縮程序,使得使用該第一 儲存組態將屬於該快速存取類別之資料項儲存在該等目 標區塊中,且使用該第二儲存組態將屬於該正常存取類 別之資料項儲存在該等目標區塊中。 11.如請求項1G之方法,其中執行該壓縮程序包括:指派各 自等級給該記憶體之多個區塊,使得一區塊之等級指示 儲存於該區塊中之資料項之一存取頻率;及基於該等等 級選擇候選區塊以用作源區塊β U•如請求項1G之方法,其中執行該壓縮程序包括:指派各 自等級給該記憶體之多個區塊,使得一區塊之等級指示 儲存於該區塊中之資料項至該快速存取類別及該正常存 取類別之-分類與用於將該資_存於該區塊中之實際 儲存組態之間之-匹配;及基於該等等級選擇候選區塊 以用作該等源區塊。 13. —種用於資料儲存之設備,其包括: 一介面’其經_合以與包括多個記憶體胞群組之一記 ^體通信’且經组態以㈣制具有—第—存取時間之 一第-儲存組態儲存第-資料及❹具有長於該第一存 :時間之-第二存取時間之一第二儲存組態儲存第二資 2使得該等群組之各者中之每—記憶體胞容納該第一 資料之至少-位元及該第二資料之一或多個位元;及 乂儲存電路,其經組態以接受資料項以在該記憶體中進 仃儲存;將料所接受資料項分類為—快速存取類別及 164263.doc 201248405 正常存取類別;使用該第—儲存組態將該快速存取類 別中之該等資料項儲存在該記憶體令,·及使用該第二儲 存組態將該正常類別令之該等資料項儲存在該記憶體 中。 14. ^請求項13之設備,其中該儲存電路經組態以藉由將該 等資料項儲存於該記憶體之最低有效位元(L S B )中使用 該第儲存組態儲存該等資料項,且藉由將該等資料項 儲存於該記憶體之最高有效位元(MSB)中使用該第二儲 存組態儲存該等資料項。 15. 如請求項13或14之設備,其中該儲存電路經組態以將用 一第一存取頻率存取之頻繁存取之資料項分類在該快速 存取類別中,且將用小於該第一存取頻率之一第二存取 頻率存取之極少存取之資料項分類在該正常存取類別 中。 16. 如請求項13或14之設備,其中該儲存電路經組態以將管 理資料分類在該快速存取類別中且將使用者資料分類在 該正常存取類別中。 17. 如請求項13或14之設備,其中該儲存電路經組態以將各 自映射至該記憶體之第一數目個實體頁之第一資料項分 類在該快速存取類別中且將各自映射至大於第一數目之 第一數目個實體頁之第二資料項分類在該正常存取類別 中。 18. 如請求項13或14之設備,其中該儲存電路經組態以應用 該等資料項至該快速存取類別及該正常存取類別之一預 164263.doc 201248405 定義固定分類。 19. 如請求項13或14之設備,其中該介面經組態以自-主機 接受該等資料項’且其中該儲存電路經組態以自該 接收該等資料項至㈣速存取_及該正t存取類別之 一分類。 20. 如請求項13或14之設備’其中該儲存電路經組態以藉由 監視應用於該等資料項之記憶體存取操作適應性地判定 該等資料項至該快速存取_及該正常存取類別之一分 類。 21. 如請求項13或14之設備’其中該儲存電路包括第一緩衝 器及第二緩衝器’且其中該儲存電路經組態以在該第_ 緩衝器中暫存屬於該快速存取類別之資料項、在該第二 緩衝器中暫存屬於該正常存取類別之資料項,及分別: 用該第-儲存組態及該第二儲存組態儲存該第—緩衝器 及該第二緩衝器中暫存之資料項。 22. 如請求項13或14之設備,其巾㈣存轉餘態以執行 將來自該記憶體之-或多個源區塊之資料複製至該記憶 體之-或多個目標區塊之—壓縮程序,使得使用該第一 儲存組態將屬》該快速存#類別之資料項儲存在該等目 標區塊中,且使用該第二儲存組態將屬於該正常存取類 別之資料項儲存在該等目標區塊中。 23. 如請求項22之設備,其中該儲存電路經組態以指派各自 等級給該記憶體之多個區塊,使得一區塊之等級指示儲 存於該區塊中之資料項之一存取頻率且基於該等等級選 164263.doc - 201248405 擇候選區塊以用作源區塊。 24. 25. 如請求項22之設備’其中㈣存電路經組態以指派各自 等級給該記憶體之多個區塊,使得一區塊之等級指示儲 存於該區塊中之資料項至該快速存取類別及該正常存取 類別之-分類與用於將該資料儲存於該區塊中之實際儲 存組態之間之-匹配且基於該等等級選擇候選區塊以用 作該等源區塊。 一種用於資料儲存之設備,其包括: -記憶體,其包括多個記憶體胞群組,且經組態以^ 時使用具有-第-存取時間之—第―儲存組態儲存第一 資料及使用具有長於該第—存取時間之—第二存取時& 之-第二儲存組態儲存第二資料,使得該等群組之各^ 中之每-記憶體胞容納該第一資料之至少一位元及該驾 二資料之一或多個位元;及 儲存電路’其經㈣以Μ㈣項以在該記憶體中3 行儲存;將該等所接受資料項分類為-快速存取類別; 一正常存取類別;使用該第一儲存組態將該快速存取弈 別中之該等資料項儲存在該記憶體中;且使用該第二隹 存組態將該正f存㈣财之料資料項料在該記.Μ 體中。 164263.doc -6-
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161486284P | 2011-05-15 | 2011-05-15 | |
US13/426,799 US8782370B2 (en) | 2011-05-15 | 2012-03-22 | Selective data storage in LSB and MSB pages |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201248405A true TW201248405A (en) | 2012-12-01 |
TWI460590B TWI460590B (zh) | 2014-11-11 |
Family
ID=46178419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101117261A TWI460590B (zh) | 2011-05-15 | 2012-05-15 | 用於資料儲存之方法及設備 |
Country Status (7)
Country | Link |
---|---|
US (2) | US8782370B2 (zh) |
EP (2) | EP3686742A1 (zh) |
JP (1) | JP5907255B2 (zh) |
KR (1) | KR101388410B1 (zh) |
CN (1) | CN103608782B (zh) |
TW (1) | TWI460590B (zh) |
WO (1) | WO2013005118A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI787848B (zh) * | 2021-03-17 | 2022-12-21 | 日商鎧俠股份有限公司 | 記憶體系統 |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9058281B2 (en) * | 2012-06-01 | 2015-06-16 | Seagate Technology Llc | Allocating memory usage based on quality metrics |
US9081664B2 (en) * | 2012-08-10 | 2015-07-14 | Kabushiki Kaisha Toshiba | Memory system capable of preventing data destruction |
US9361167B2 (en) * | 2012-10-24 | 2016-06-07 | SanDisk Technologies, Inc. | Bit error rate estimation for wear leveling and for block selection based on data type |
CN103853665B (zh) * | 2012-12-03 | 2017-06-06 | 华为技术有限公司 | 存储空间分配方法及设备 |
US8984251B2 (en) * | 2012-12-04 | 2015-03-17 | Apple Inc. | Hinting of deleted data from host to storage device |
CN103077121B (zh) * | 2013-01-07 | 2016-01-27 | 深圳市江波龙电子有限公司 | 一种闪存存储设备中数据管理的方法及装置 |
TWI498812B (zh) * | 2013-01-07 | 2015-09-01 | Mstar Semiconductor Inc | 資料存取方法以及使用此資料存取方法的電子裝置 |
KR102068342B1 (ko) * | 2013-03-07 | 2020-01-20 | 삼성전자주식회사 | 메모리 제어기 및 그것을 포함하는 메모리 시스템 |
CN103164344B (zh) * | 2013-03-12 | 2015-09-16 | 深圳市江波龙电子有限公司 | 一种闪存存储设备中数据管理的方法及装置 |
CN103246615B (zh) * | 2013-04-24 | 2015-09-16 | 深圳市江波龙电子有限公司 | 一种闪存存储设备中数据管理的方法及装置 |
WO2014209234A1 (en) * | 2013-06-26 | 2014-12-31 | Agency For Science, Technology And Research | Method and apparatus for hot data region optimized dynamic management |
US9298389B2 (en) * | 2013-10-28 | 2016-03-29 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Operating a memory management controller |
US9330015B2 (en) * | 2014-06-11 | 2016-05-03 | Vmware, Inc. | Identification of low-activity large memory pages |
US9501422B2 (en) | 2014-06-11 | 2016-11-22 | Vmware, Inc. | Identification of low-activity large memory pages |
US9563367B2 (en) | 2014-08-26 | 2017-02-07 | HGST Netherlands B.V. | Latency command processing for solid state drive interface protocol |
WO2016086411A1 (zh) * | 2014-12-05 | 2016-06-09 | 华为技术有限公司 | 一种控制器、闪存装置、识别数据块稳定性的方法以及在闪存装置中存储数据的方法 |
CN104503707B (zh) * | 2014-12-24 | 2018-03-06 | 华为技术有限公司 | 读取数据的方法以及装置 |
JP6320322B2 (ja) * | 2014-12-29 | 2018-05-09 | 東芝メモリ株式会社 | キャッシュメモリ装置及びプログラム |
KR20160150384A (ko) * | 2015-06-22 | 2016-12-30 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR20170001237A (ko) * | 2015-06-26 | 2017-01-04 | 에스케이하이닉스 주식회사 | 상태 읽기를 수행하는 메모리 시스템 및 그것의 동작 방법 |
US20170139826A1 (en) * | 2015-11-17 | 2017-05-18 | Kabushiki Kaisha Toshiba | Memory system, memory control device, and memory control method |
KR20170099437A (ko) * | 2016-02-23 | 2017-09-01 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
KR102553170B1 (ko) * | 2016-06-08 | 2023-07-10 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10437798B2 (en) | 2016-07-19 | 2019-10-08 | Sap Se | Full system simulator and memory-aware splay tree for in-memory databases in hybrid memory systems |
US10698732B2 (en) * | 2016-07-19 | 2020-06-30 | Sap Se | Page ranking in operating system virtual pages in hybrid memory systems |
US10474557B2 (en) | 2016-07-19 | 2019-11-12 | Sap Se | Source code profiling for line-level latency and energy consumption estimation |
US10387127B2 (en) | 2016-07-19 | 2019-08-20 | Sap Se | Detecting sequential access data and random access data for placement on hybrid main memory for in-memory databases |
US10452539B2 (en) | 2016-07-19 | 2019-10-22 | Sap Se | Simulator for enterprise-scale simulations on hybrid main memory systems |
US10540098B2 (en) | 2016-07-19 | 2020-01-21 | Sap Se | Workload-aware page management for in-memory databases in hybrid main memory systems |
US11977484B2 (en) | 2016-07-19 | 2024-05-07 | Sap Se | Adapting in-memory database in hybrid memory systems and operating system interface |
US10783146B2 (en) | 2016-07-19 | 2020-09-22 | Sap Se | Join operations in hybrid main memory systems |
US9672905B1 (en) | 2016-07-22 | 2017-06-06 | Pure Storage, Inc. | Optimize data protection layouts based on distributed flash wear leveling |
CN108170367B (zh) * | 2016-12-07 | 2021-04-20 | 瑞昱半导体股份有限公司 | 内存控制电路及其方法 |
JP2018160194A (ja) | 2017-03-23 | 2018-10-11 | 東芝メモリ株式会社 | メモリシステムおよび方法 |
US11010379B2 (en) | 2017-08-15 | 2021-05-18 | Sap Se | Increasing performance of in-memory databases using re-ordered query execution plans |
US10754578B2 (en) * | 2018-05-09 | 2020-08-25 | Micron Technology, Inc. | Memory buffer management and bypass |
US10714159B2 (en) | 2018-05-09 | 2020-07-14 | Micron Technology, Inc. | Indication in memory system or sub-system of latency associated with performing an access command |
US11010092B2 (en) | 2018-05-09 | 2021-05-18 | Micron Technology, Inc. | Prefetch signaling in memory system or sub-system |
US10942854B2 (en) | 2018-05-09 | 2021-03-09 | Micron Technology, Inc. | Prefetch management for memory |
US11340810B2 (en) * | 2018-10-09 | 2022-05-24 | Western Digital Technologies, Inc. | Optimizing data storage device operation by grouping logical block addresses and/or physical block addresses using hints |
CN109947678B (zh) * | 2019-03-26 | 2021-07-16 | 联想(北京)有限公司 | 一种存储装置、电子设备及数据交互方法 |
KR20200123898A (ko) | 2019-04-22 | 2020-11-02 | 삼성전자주식회사 | 상이한 동작 모드들에서 동작하는 뱅크들을 포함하는 불휘발성 메모리 장치, 메모리 컨트롤러의 동작 방법, 및 불휘발성 메모리 장치 및 메모리 컨트롤러를 포함하는 저장 장치 |
CN114303123A (zh) * | 2019-08-27 | 2022-04-08 | 华为技术有限公司 | 一种固态硬盘的数据存储方法、装置及固态硬盘ssd |
CN112445412B (zh) * | 2019-08-28 | 2024-06-11 | 华为技术有限公司 | 一种数据存储方法及装置 |
US11231876B2 (en) | 2019-09-24 | 2022-01-25 | Western Digital Technologies, Inc. | Initial data placement in hybrid object storage system |
CN111258505B (zh) * | 2020-01-21 | 2023-09-26 | 合肥兆芯电子有限公司 | 快闪存储器的数据合并方法、控制电路单元与存储装置 |
US20210382818A1 (en) * | 2020-06-08 | 2021-12-09 | Western Digital Technologies, Inc. | Solid-State Storage Devices that Reduce Read Time for Read Time-Sensitive Data |
US11366774B2 (en) * | 2020-09-24 | 2022-06-21 | Adesto Technologies Corporation | Memory latency reduction in XIP mode |
CN112860185B (zh) * | 2021-01-29 | 2022-11-25 | 西藏宁算科技集团有限公司 | 基于lru算法的高可用缓存方法、存储装置以及电子设备 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2498154A1 (en) | 2002-09-16 | 2004-03-25 | Tigi Corporation | Storage system architectures and multiple caching arrangements |
US7352618B2 (en) * | 2004-12-15 | 2008-04-01 | Samsung Electronics Co., Ltd. | Multi-level cell memory device and associated read method |
US7707379B2 (en) | 2006-07-13 | 2010-04-27 | International Business Machines Corporation | Dynamic latency map for memory optimization |
US7707380B2 (en) | 2006-09-29 | 2010-04-27 | Qimonda Ag | Memories, method of storing data in memory and method of determining memory cell sector quality |
KR100771521B1 (ko) * | 2006-10-30 | 2007-10-30 | 삼성전자주식회사 | 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법 |
JP5224706B2 (ja) * | 2007-03-23 | 2013-07-03 | キヤノン株式会社 | 記憶装置及び記憶装置の制御方法 |
US7525870B2 (en) | 2007-05-21 | 2009-04-28 | Sandisk Il, Ltd. | Methods for optimizing page selection in flash-memory devices |
KR101498673B1 (ko) | 2007-08-14 | 2015-03-09 | 삼성전자주식회사 | 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템 |
TWI375953B (en) * | 2008-02-21 | 2012-11-01 | Phison Electronics Corp | Data reading method for flash memory, controller and system therof |
US8706951B2 (en) * | 2008-07-18 | 2014-04-22 | Marvell World Trade Ltd. | Selectively accessing faster or slower multi-level cell memory |
JP4461187B1 (ja) * | 2008-12-24 | 2010-05-12 | 株式会社東芝 | 不揮発性半導体メモリドライブ装置、情報処理装置および不揮発性半導体メモリドライブ装置における記憶領域の管理方法 |
US20100169602A1 (en) * | 2008-12-29 | 2010-07-01 | Jared E Hulbert | Method and Apparatus for Efficient Memory Placement |
US8239613B2 (en) * | 2008-12-30 | 2012-08-07 | Intel Corporation | Hybrid memory device |
TWI397071B (zh) | 2008-12-31 | 2013-05-21 | A Data Technology Co Ltd | 記憶體儲存裝置及其控制方法 |
TWI400707B (zh) | 2009-07-09 | 2013-07-01 | Phison Electronics Corp | 快閃記憶體邏輯區塊管理方法及其控制電路與儲存系統 |
US8332578B2 (en) * | 2009-07-31 | 2012-12-11 | Intel Corporation | Method and system to improve the performance of a multi-level cell (MLC) NAND flash memory |
US8438361B2 (en) * | 2010-03-10 | 2013-05-07 | Seagate Technology Llc | Logical block storage in a storage device |
US9183134B2 (en) * | 2010-04-22 | 2015-11-10 | Seagate Technology Llc | Data segregation in a storage device |
JP2012033002A (ja) * | 2010-07-30 | 2012-02-16 | Toshiba Corp | メモリ管理装置およびメモリ管理方法 |
TWI451435B (zh) * | 2010-10-08 | 2014-09-01 | Phison Electronics Corp | 非揮發性記憶體儲存裝置、記憶體控制器與資料儲存方法 |
US9684590B2 (en) * | 2010-10-25 | 2017-06-20 | Seagate Technology Llc | Storing corresponding data units in a common storage unit |
US8874872B2 (en) * | 2011-01-21 | 2014-10-28 | Seagate Technology Llc | Garbage collection management in memories |
-
2012
- 2012-03-22 US US13/426,799 patent/US8782370B2/en active Active
- 2012-05-13 JP JP2014510916A patent/JP5907255B2/ja active Active
- 2012-05-13 WO PCT/IB2012/052376 patent/WO2013005118A1/en active Application Filing
- 2012-05-13 CN CN201280023874.8A patent/CN103608782B/zh active Active
- 2012-05-14 EP EP20162061.4A patent/EP3686742A1/en not_active Withdrawn
- 2012-05-14 EP EP12167837.9A patent/EP2525293B1/en active Active
- 2012-05-15 KR KR1020120051422A patent/KR101388410B1/ko active IP Right Grant
- 2012-05-15 TW TW101117261A patent/TWI460590B/zh active
-
2014
- 2014-07-14 US US14/330,234 patent/US8914600B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI787848B (zh) * | 2021-03-17 | 2022-12-21 | 日商鎧俠股份有限公司 | 記憶體系統 |
Also Published As
Publication number | Publication date |
---|---|
EP2525293A1 (en) | 2012-11-21 |
KR101388410B1 (ko) | 2014-04-22 |
US8914600B2 (en) | 2014-12-16 |
CN103608782A (zh) | 2014-02-26 |
WO2013005118A1 (en) | 2013-01-10 |
US8782370B2 (en) | 2014-07-15 |
US20140325172A1 (en) | 2014-10-30 |
US20120290768A1 (en) | 2012-11-15 |
CN103608782B (zh) | 2016-09-07 |
KR20120127698A (ko) | 2012-11-23 |
JP5907255B2 (ja) | 2016-04-26 |
EP2525293B1 (en) | 2020-03-11 |
EP3686742A1 (en) | 2020-07-29 |
JP2014513848A (ja) | 2014-06-05 |
TWI460590B (zh) | 2014-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201248405A (en) | Selective data storage in LSB and MSB pages | |
US10713161B2 (en) | Memory system and method for controlling nonvolatile memory | |
TWI739859B (zh) | 操作對多重名稱空間進行管理的儲存裝置的方法 | |
TWI647702B (zh) | 記憶體控制器、記憶體系統及於一記憶體中管理資料配置的方法 | |
US10185656B2 (en) | Memory system and method for controlling nonvolatile memory | |
US9418002B1 (en) | Processing unit reclaiming requests in a solid state memory device | |
US8032724B1 (en) | Demand-driven opportunistic garbage collection in memory components | |
JP2020046963A (ja) | メモリシステムおよび制御方法 | |
US20160062885A1 (en) | Garbage collection method for nonvolatile memory device | |
CN107885456A (zh) | 减少io命令访问nvm的冲突 | |
US20140082323A1 (en) | Address mapping | |
US20140372675A1 (en) | Information processing apparatus, control circuit, and control method | |
TW201112253A (en) | Write-erase endurance lifetime of memory storage devices | |
TW201232260A (en) | Semiconductor storage device | |
EP3926451B1 (en) | Communication of data relocation information by storage device to host to improve system performance | |
US11704249B2 (en) | Frozen time cache for multi-host read operations | |
US20140195571A1 (en) | Fast new file creation cache | |
US11556249B2 (en) | Delaying random data relocation for reducing write amplification in storage devices | |
US11494113B2 (en) | Computer program product and method and apparatus for scheduling execution of host commands | |
Mativenga et al. | HyFAT: Affordable hybrid fast address translating device driver for multichannel-based flash devices | |
US11797183B1 (en) | Host assisted application grouping for efficient utilization of device resources | |
Yang | A Design of Buffer Scheme by Using Data Filter for Solid State Disk |