TWI617972B - 記憶體裝置及方法 - Google Patents
記憶體裝置及方法 Download PDFInfo
- Publication number
- TWI617972B TWI617972B TW105136404A TW105136404A TWI617972B TW I617972 B TWI617972 B TW I617972B TW 105136404 A TW105136404 A TW 105136404A TW 105136404 A TW105136404 A TW 105136404A TW I617972 B TWI617972 B TW I617972B
- Authority
- TW
- Taiwan
- Prior art keywords
- nand flash
- flash memory
- dram
- memory chip
- storage capacity
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 22
- 230000015654 memory Effects 0.000 claims abstract description 230
- 230000004044 response Effects 0.000 claims abstract description 8
- 238000005192 partition Methods 0.000 claims description 26
- 235000012431 wafers Nutrition 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 9
- 238000000926 separation method Methods 0.000 claims description 8
- 239000000470 constituent Substances 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 4
- 230000005055 memory storage Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/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/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/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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0656—Data buffering arrangements
-
- 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/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
- 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/20—Employing a main memory using a specific memory technology
- G06F2212/205—Hybrid memory, e.g. using both volatile and non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
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)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
Abstract
一種記憶體裝置包含:複數個NAND快閃記憶體晶片;一動態隨機存取記憶體(DRAM)部分,其與該等NAND快閃記憶體晶片資料通信;及一控制器。各NAND快閃記憶體晶片具有一第一儲存容量,且包含一記憶體區段,各記憶體區段包含複數個頁面。DRAM部分具有至少像第一儲存容量一樣大之一第二儲存容量。控制器經組態以:選擇該等NAND快閃記憶體晶片之一者作為一當前選定NAND快閃記憶體晶片以供寫入資料;將在當前選定NAND快閃記憶體晶片中之所有有效頁面複製至DRAM部分中;及回應於對映射至在NAND快閃記憶體晶片之一者中之一特定實體位置的一邏輯記憶體位置之一寫入請求,分配當前選定NAND快閃記憶體晶片以供寫入至包含該特定實體位置之一特定頁面。
Description
本說明書大體上係關於一種記憶體系統。
多種記憶體裝置可用於維持及儲存針對各種電腦及類似系統之資料及指令。在習知運算系統中,通常已採用動態隨機存取記憶體(DRAM)技術來操作電腦之動態記憶體以便使一應用以高速度操作。然而,作為電腦系統中之主記憶體之DRAM不再像在過去一樣快地按比例調整。因此,DRAM儲存已變成運算環境中之一有限資源。 為解決有限之DRAM,碟機可用作為交換空間以將頻繁使用之記憶體資料自DRAM複製出至碟機。下次使用資料時,可接著將資料複製回至DRAM。然而,大體言之,彼程序具有若干效能後果。因此,在現代伺服器中很少使用彼程序。為了解決彼等效能後果,以NAND快閃記憶體為基礎之固態磁碟(SSD)可用作為交換空間。然而,甚至使用以NAND快閃記憶體為基礎之SSD會具有對效能之一非所要影響。例如,以快閃記憶體為基礎之記憶體具有特定限制,其包括針對資料之較慢寫入時間及與不得不更新整個區段而非個別位址(此係因為在習知系統中針對主記憶體採用整個DRAM)相關聯之延時。
於本說明書中描述之標的之一項發明態樣體現在一記憶體裝置中,其包含:複數個NAND快閃記憶體晶片;一動態隨機存取記憶體(DRAM)部分,其與該等NAND快閃記憶體晶片資料通信;及一控制器。複數個NAND快閃記憶體晶片之各者包含一記憶體區段,使得各記憶體區段包含複數個頁面,及各NAND快閃記憶體晶片具有一第一儲存容量。DRAM部分具有至少像複數個NAND快閃記憶體晶片之各者之第一儲存容量一樣大之一第二儲存容量。控制器經組態以:選擇該等NAND快閃記憶體晶片之一者作為一當前選定NAND快閃記憶體晶片以供寫入資料;及將在當前選定NAND快閃記憶體晶片中之所有有效頁面複製至DRAM部分中。回應於對映射至在該等NAND快閃記憶體晶片之一者中之一特定實體位置的一邏輯記憶體位置之一寫入請求,控制器亦經組態以分配當前選定NAND快閃記憶體晶片以供寫入至包含特定實體位置之一特定頁面。 在特定實施方案中,控制器經組態以在當前選定NAND快閃記憶體晶片經識別為已滿之後,選擇複數個NAND快閃記憶體晶片之另一者作為一佇列化NAND快閃記憶體晶片以供寫入資料,及以將在佇列化NAND快閃記憶體晶片中之所有有效頁面複製至DRAM部分中。在特定實施方案中,控制器經組態以回應於存取儲存於該複數個NAND快閃記憶體晶片中之一特定頁面的一請求,而將該特定頁面自該複數個NAND快閃記憶體晶片讀入至包括DRAM之一主記憶體中。 本說明書中描述之標的之一發明態樣體現在包含下列動作之方法中:選擇複數個NAND快閃記憶體晶片之一者作為一當前選定NAND快閃記憶體晶片以供寫入資料,各NAND快閃記憶體晶片具有一第一儲存容量且包含一記憶體區段,且各記憶體區段包含複數個頁面;及將在當前選定NAND快閃記憶體晶片中之所有有效頁面複製至與該等NAND快閃記憶體晶片資料通信之一動態隨機存取記憶體(DRAM)部分中,該DRAM部分具有至少像複數個NAND快閃記憶體晶片之各者之第一儲存容量一樣大之一第二儲存容量;及回應於對映射至在該等NAND快閃記憶體晶片之一者中之一特定實體位置的一邏輯記憶體位置之一寫入請求,分配當前選定NAND快閃記憶體晶片以供寫入至包含特定實體位置之一特定頁面中。 大體言之,本說明書中描述之標的之另一態樣可體現在包含下列動作之方法中:在當前選定NAND快閃記憶體晶片經識別為已滿之後,選擇複數個NAND快閃記憶體晶片之另一者作為一佇列化NAND快閃記憶體晶片以供寫入資料;及將在佇列化NAND快閃記憶體晶片中之所有有效頁面複製至DRAM部分中。 本說明書中描述之標的之另一態樣可體現在包含下列動作之方法中:回應於存取儲存於該複數個NAND快閃記憶體晶片中之一特定頁面的一請求,而將該特定頁面自該複數個NAND快閃記憶體晶片讀入至包含DRAM之一主記憶體中。 此等態樣之其他實施例包含經組態以執行編碼於電腦儲存裝置上之該等方法之該等動作之對應系統、設備及電腦程式。 此等及其他實施方案可各自視情況包含以下特徵中之一或多者。例如,基於具有複數個NAND快閃記憶體晶片之最少數目個有效頁面而選擇複數個NAND快閃記憶體晶片之其他者作為一佇列化NAND。在特定實施方案中,基於以下至少一者而判定對將資料寫入至當前選定NAND快閃記憶體晶片之特定實體位置:(i)最少所存取頁面及(ii)最少最近使用之頁面。 在特定實施方案中,記憶體區段包含各自NAND快閃記憶體晶片之一分隔區,且分隔區容許在相同NAND快閃記憶體晶片之另一分隔區中之一寫入操作期間,各自NAND快閃記憶體晶片之一第一分隔區中之一讀取操作。在特定實施方案中,記憶體區段包含各自組成NAND快閃記憶體晶片。 在特定實施方案中,各NAND快閃記憶體晶片包含多個分隔區,各分隔區具有一特定儲存容量及至少像各分隔區之該特定儲存容量一樣大之DRAM部分的第二儲存容量。在特定實施方案中,各NAND快閃記憶體晶片包含多個分隔區,各分隔區具有一特定儲存容量及約等於各分隔區之該特定儲存容量之大小或約兩倍於各分隔區之該特定儲存容量之大小的DRAM部分之第二儲存容量。 在特定實施方案中,複數個NAND快閃記憶體晶片係耦合至一輸入/輸出(I/O)匯流排之一模組之部分,且該模組進一步包含DRAM部分,其中該DRAM部分之第二儲存容量約兩倍於各NAND快閃記憶體晶片之第一儲存容量之大小。在特定實施方案中,複數個NAND快閃記憶體晶片耦合至一輸入/輸出(I/O)匯流排,DRAM部分係包括DRAM之一主記憶體之部分。在特定實施方案中,複數個NAND快閃記憶體晶片及DRAM部分係一模組之部分,且該DRAM部分之第二儲存容量至少像各NAND快閃記憶體晶片之第一儲存容量之兩倍一樣大。 隨附圖式及下文描述中陳述本發明之一或多個實施例之細節。自說明、圖式及申請專利範圍將明白本發明之其他特徵及優點。
下文描述之記憶體系統包含與DRAM之一部分資料通信之NAND快閃記憶體晶片。各NAND快閃記憶體晶片界定具有複數個頁面之一記憶體區段,且各NAND快閃記憶體晶片具有一第一儲存容量。DRAM部分與NAND快閃記憶體晶片資料通信。DRAM部分具有至少像該等NAND快閃記憶體晶片之各者之第一儲存容量一樣大之一第二儲存容量。 記憶體系統亦包含經組態以選擇該等NAND快閃記憶體晶片之一者作為一當前選定NAND快閃記憶體晶片以供寫入資料,及接著將在當前選定NAND快閃記憶體晶片中之所有有效頁面複製至DRAM部分中之一控制器。 回應於對映射至在該等NAND快閃記憶體晶片之一者中之一特定實體位置的一邏輯記憶體位置之一寫入請求,控制器分配當前選定NAND快閃記憶體晶片以供寫入至包含該特定實體位置之一特定頁面。 在特定實施方案中,可選擇一頁面以自主記憶體(例如,DRAM)移除且基於諸如最少所存取頁面、最少最近使用之頁面或類似者或其之任何組合的特定度量而將該頁面寫入至NAND快閃記憶體晶片。 此等記憶體系統可包含於一單一封裝裝置上,或可分散在一電腦裝置內。圖1至圖2C係可如何在不同變動中實施記憶體系統之實例圖解。 圖1描繪根據本發明之實施方案之包含一記憶體裝置的一系統100之一實例。系統100可包含:一處理器,諸如一中央處理單元(CPU) 110;一DRAM部分120;一輸入/輸出(I/O)匯流排130;一磁碟機140,諸如一硬碟機(HDD);及一NAND快閃記憶體部分150。I/O匯流排130可為用於輸入及輸出裝置以與CPU 110通信之路徑。I/O匯流排可為(例如)一周邊組件互連快速(PCIe)匯流排。磁碟機140可用於資料之長期儲存。 系統100可體現在諸如一運算裝置之一電子裝置中。DRAM部分120可為一主記憶體且對CPU 110而言可為可直接存取。主記憶體可為使用(例如)一位址匯流排(其承載所要位置之記憶體位址)及一資料匯流排(其用以讀取或寫入資料)而連接至一處理器(例如,CPU 110)之主要儲存裝置。 當使用快閃記憶體作為一交換空間裝置時,則寫入至快閃記憶體需要一擦除操作接著一程式化操作。彼等操作通常遠慢於讀取操作且彼等操作發生之同時讀取操作被阻斷。因此,讀取之平均及尾延時可不利地增大。 為在任何給定時間解決在先前段落中描述之該等問題,可選擇一個NAND快閃記憶體晶片以供寫入。在選定NAND快閃記憶體晶片中之所有有效頁面可讀取至DRAM部分,使得無需自彼NAND快閃記憶體晶片讀取該等有效頁面。而是,可發生自在選定NAND快閃記憶體晶片中之該等有效頁面已讀取至其中的DRAM部分讀取。可對選定NAND快閃記憶體晶片做出全部新寫入。 另外,在一些實施方案中,另一NAND快閃記憶體晶片可經佇列化以供下一寫入。在其中一選擇第二NAND快閃記憶體晶片作為一佇列化NAND快閃記憶體晶片之情況下,在選定NAND快閃記憶體晶片及佇列化NAND快閃記憶體晶片之兩者中之所有有效頁面可讀取至DRAM部分,使得無需自彼兩個NAND快閃記憶體晶片讀取該等有效頁面。可對第一選定NAND快閃記憶體晶片做出全部新寫入。當第一NAND快閃記憶體晶片已滿時,可對佇列化NAND快閃記憶體晶片做出後續寫入,其接著可變為當前NAND快閃記憶體晶片以供寫入。可選擇一新NAND快閃記憶體晶片作為下一佇列化晶片且可將在該下一佇列化NAND快閃記憶體晶片中之所有有效頁面讀取至DRAM部分。 來自第一選定NAND快閃記憶體晶片之該等頁面不再寫入至DRAM,可視需要自DRAM收回該等頁面。例如,若各頁面未更動,則可捨棄各頁面,或將頁面寫回至快閃記憶體。 當選擇一NAND快閃記憶體晶片以供佇列為下一佇列化NAND快閃記憶體晶片時,則該選擇可基於具有符合待選擇之複數個NAND快閃記憶體晶片之最少數目個有效頁面的NAND快閃記憶體晶片。偶爾,由於損耗平衡原因,可基於一損耗平衡原則或程序做出一不同選擇。在所屬領域技術中已知針對損耗平衡之此等技術,且此等技術包含(例如)動態損耗平衡及靜態損耗平衡之技術。 如上文所描述,系統可具有與NAND快閃記憶體分離之主記憶體(例如,DRAM),其中NAND快閃記憶體連接至I/O匯流排,及DRAM不直接連接至I/O匯流排,而NAND快閃記憶體與DRAM資料通信。然而,在特定實施方案中,可透過與主記憶體DRAM分離之I/O匯流排來連接充當快取區之NAND快閃記憶體及DRAM部分兩者。例如,在圖2A中,描繪DRAM快取區以及連接至I/O匯流排之NAND快閃記憶體。 圖2A描繪根據本發明之實施方案之包含一記憶體裝置的一系統之一實例。如圖2A中所描繪,本發明之記憶體裝置可為(例如)插入至一伺服器中之一雙列直插式記憶體模組(DIMM),其類似於將使用一正常DRAM DIMM之方式。然而,本發明之DIMM可含有一第一量之DRAM 255及一第二更大量之NAND快閃記憶體250。一實例系統可具有32GB DRAM及128GB可使用NAND快閃記憶體。 類似於上文關於圖1之描述,圖2A中所描繪之系統200亦可包含:一處理器,諸如一中央處理單元(CPU) 210;一DRAM 220;一輸入/輸出(I/O)匯流排230;及一磁碟機240,諸如一硬碟機(HDD)。記憶體裝置可含有NAND快閃記憶體250及一DRAM部分255。 DIMM亦可具有經組態以控制DRAM部分255及NAND快閃記憶體250兩者之一控制器。DIMM及控制器可如本文所描述經組態以使用NAND快閃記憶體250作為一交換空間。DRAM部分255可具有近似等於快取當前寫入之NAND快閃記憶體晶片所需之量的一儲存容量。另外,DRAM部分255可具有近似等於快取當前寫入之NAND快閃記憶體晶片及接著待寫入之佇列化NAND快閃記憶體晶片所需之量的一儲存容量。例如,當請求該等頁面時,可使用DRAM 220以儲存自NAND快閃記憶體250讀入之頁面。一典型頁面大小可為(例如) 4KB。 在具有32GB DRAM及128GB可使用NAND快閃記憶體的一系統之上述實例中,該系統可以類似於具有128GB DRAM之一系統之一方式執行,即使僅存在32GB實際DRAM。藉由具有以本文所描述之方式使用之128GB快閃記憶體而建立彼效能。 一虛擬記憶體(VM)系統或管理器可控制如何藉由根據一作業系統執行之一或多個程式而利用程式記憶體。一般來說,當自主記憶體提取資料時,做出關於是否偵測讀取或寫入存取之一判定。此判定可由一分頁錯誤機制或其他事件觸發。當第一次存取一頁面時,該頁面可自快閃記憶體複製至DRAM中。當此發生時,VM系統可發生一分頁錯誤。可接著自DRAM複製伺服對頁面之讀取及寫入。當需要將一不同頁面移動至DRAM中時,若當前頁面未更動,則可簡單地捨棄該當前頁面或將該當前頁面寫回至快閃記憶體。例如,當主記憶體已滿且需要來自快閃記憶體之一新頁面時,則可基於替代演算法而選擇一頁面,且若該頁面更動(即,在主記憶體中之其之保留期(tenure)期間被修改),則捨棄該頁面或將該頁面推送回至快閃記憶體。 當需要分配任何新記憶體時,則其可分配於快閃記憶體之外。根據一快取原則,可或可不在DRAM中快取。可使用各種此等快取原則,諸如一最少所存取頁面、一最少最近使用之頁面或類似者或其之任何組合。可藉由VM系統管理快取,其可以頁面為單元而操作。 使用快閃記憶體可需要「寫入時複製」,即,每次寫入一邏輯位址,則資料將處於一新實體位址。此需要一映射表,其亦係已知。然而,本發明之實施方案可依靠虛擬記憶體頁表來達成此映射。 如上文參考圖2A所描述,系統可具有整合於與該等NAND快閃記憶體晶片相同之封裝中之DRAM快取區。然而,無需所有記憶組件均包含於一相同封裝中。例如,在圖2B中,DRAM快取區經描繪為與NAND快閃記憶體晶片分離,但該DRAM快取區仍與NAND快閃記憶體晶片資料通信。 特定言之,圖2B描繪根據本發明之實施方案之包含一記憶體裝置的一系統之一實例。圖2B中所描繪之系統200可包含:一處理器,諸如一中央處理單元(CPU) 210;一DRAM 220;一DRAM部分225;一輸入/輸出(I/O)匯流排230;一磁碟機240,諸如一硬碟機(HDD);及一NAND快閃記憶體250。 如圖2B中所描繪,NAND快閃記憶體250係在I/O匯流排230之上,而可自主記憶體DRAM 220分配DRAM部分225以用作為針對當前寫入之NAND快閃記憶體晶片之快取區。在特定實施方案中,可視需要動態分配DRAM部分225。另外,可自主記憶體DRAM 220分配DRAM部分225以用作為針對當前經寫入之NAND快閃記憶體晶片及下一待寫入之佇列化NAND快閃記憶體晶片之快取區。當請求該等頁面時,可使用DRAM 220以儲存自NAND快閃記憶體250讀入之頁面。 如上文參考圖2B所描述,系統可具有自主記憶體DRAM分配之DRAM快取區及單獨連接至I/O匯流排之NAND快閃記憶體。然而,在特定實施方案中,可與主記憶體DRAM分開地使用含有NAND快閃記憶體及DRAM之一混合DIMM。例如,在圖2C中,一DIMM經描繪為具有NAND快閃記憶體及一DRAM,其中該DRAM之部分可經分配為待用作為快取區之DRAM部分。 圖2C描繪根據本發明之實施方案之包含一記憶體裝置的一系統之一實例。圖2C中所描繪之系統200可包含:一處理器,諸如一中央處理單元(CPU) 210;一DRAM 220;一輸入/輸出(I/O)匯流排230;及一磁碟機240,諸如一硬碟機(HDD)。包含一NAND快閃記憶體250及一DRAM部分270之一DIMM 280可安裝於記憶體匯流排以及包含DRAM 220之主記憶體DIMM上。 DIMM 280可包含經組態以控制DRAM部分270及NAND快閃記憶體250兩者之一控制器260。DRAM部分270可僅利用其之儲存容量之一部分作為針對當前經寫入之NAND快閃記憶體晶片之快取區。因此,未用作為針對當前寫入之NAND快閃記憶體晶片之快取區的DRAM部分270之部分可用作為正常DRAM。例如,未用作為快取區之DRAM部分270之彼部分可儲存自NAND快閃記憶體250交換空間讀入之頁面。 在特定實施方案中,DRAM部分270可僅利用其之儲存容量之一部分作為針對當前經寫入之NAND快閃記憶體晶片及下一待寫入之佇列化NAND快閃記憶體晶片的快取區。因此,未用作為針對當前寫入之NAND快閃記憶體晶片及下一待寫入之佇列化NAND快閃記憶體晶片的DRAM部分270之部分可用作為正常DRAM,如上文所述。 上文參考之NAND快閃記憶體相對於圖1至圖2C可包含若干NAND快閃記憶體晶片。例如,在圖3中,NAND快閃記憶體經描繪為含有若干NAND快閃記憶體晶片之一記憶體模組,其中該模組連接至I/O匯流排。 圖3描繪根據本發明之實施方案之一NAND快閃記憶體模組之一實例。NAND快閃記憶體部分150/250可包含一控制器160及一組n個NAND快閃記憶體晶片170a至170n。NAND快閃記憶體部分150/250可與DRAM部分120資料通信。可使用具有任何大小之任何n個NAND快閃記憶體晶片以達成NAND快閃記憶體部分150/250之所要儲存容量。為建立針對NAND快閃記憶體部分150/250之所要儲存空間,可需要一些過度佈建。例如,在一特定NAND快閃記憶體部分150/250中,各NAND快閃記憶體晶片可為4GB。因此,若針對NAND快閃記憶體部分150/250需要128GB之儲存空間,則針對128GB將需要三十二個此等4GB NAND快閃記憶體晶片。例如,假定百分之二十五之過度佈建,則可提供總計四十個NAND快閃記憶體晶片。此確保(例如)當使用全部128GB之記憶體時,將平均佔據各NAND快閃記憶體晶片之80%,及以其他方式佔據較少。 n個NAND快閃記憶體晶片170a至170n之各者可包含一或多個記憶體區段。換言之,一記憶體區段可為一各自組成NAND快閃記憶體晶片或各NAND快閃記憶體晶片可包含作為記憶體區段之一或多個分隔區。在一NAND快閃記憶體晶片包含分隔區之情況下,若一寫入操作在一個分隔區中進行,則該寫入操作不妨礙對在該相同NAND快閃記憶體晶片上之任何其他分隔區之一讀取操作。換言之,該等分隔區容許在各自NAND快閃記憶體晶片之另一分隔區中之一寫入操作期間,在各自NAND快閃記憶體晶片之一第一分隔區中之一讀取操作。 在特定實施方案中,各NAND快閃記憶體晶片包含多個分隔區,各分隔區具有一特定儲存容量。在此等實施方案中,DRAM部分之儲存容量(例如,第二儲存容量)可至少像各分隔區之特定儲存容量一樣大,但小於組成NAND快閃記憶體晶片之儲存容量。特定言之,在特定實施方案中,DRAM部分之第二儲存容量近似等於各分隔區之特定儲存容量之大小或近似兩倍於各分隔區之特定儲存容量之大小。 在該等NAND快閃記憶體晶片包含分隔區之情況下,針對充當快取區之DRAM部分所需之DRAM之量比當該等NAND快閃記憶體晶片不包含分隔區時少。例如,若各NAND快閃記憶體晶片係16GB,且其劃分為各4GB之四個分隔區,則作為針對NAND快閃記憶體之快取區之DRAM部分可具有近似等於一個分隔區之大小之4GB之一儲存容量,或近似等於兩個分隔區之大小之8GB之一儲存容量。反之,在無分隔區的情況下,DRAM部分可具有近似等於一個NAND快閃記憶體晶片之大小之16GB,或近似等於兩個NAND快閃記憶體晶片之大小之32GB。 圖4描繪根據本發明之實施方案之一方法400之一實例流程圖。為實施快閃記憶體作為交換空間,可根據程序400發生對在晶粒層級之快閃記憶體之寫入。可在410處選擇組成NAND快閃記憶體之該等NAND快閃記憶體晶片之一者作為一當前選定NAND快閃記憶體晶片以供寫入資料。如上文所描述,各NAND快閃記憶體晶片可具有一特定儲存容量且可具有包含一或多個頁面之一記憶體區段。例如,一頁面大小可為4KB。另外,一頁面大小可大於4KB,例如4KB之任何倍數(例如,8KB、256KB、2MB)。 在特定實施方案中,可在當前選定NAND快閃記憶體晶片經識別為已滿之後,在420處選擇組成NAND快閃記憶體之該等NAND快閃記憶體晶片之另一者作為一佇列化NAND快閃記憶體晶片以供寫入資料。在特定實施方案中,可不使用一佇列化NAND快閃記憶體晶片且程序可不包含420。在其中選擇一佇列化NAND快閃記憶體晶片之一情況下,在430處,將當前選定NAND快閃記憶體晶片及佇列化NAND快閃記憶體晶片中之所有有效頁面複製至與該等NAND快閃記憶體晶片資料通信之一DRAM部分中。在其中未使用一佇列化NAND快閃記憶體晶片之一情況下,在430處,將當前選定NAND快閃記憶體晶片中之所有有效頁面複製至與該等NAND快閃記憶體晶片資料通信之一DRAM部分中。如上文所描述,DRAM部分可具有至少像該等NAND快閃記憶體晶片之各者之儲存容量一樣大之一儲存容量。 回應於在440處對映射至該等NAND快閃記憶體晶片之一者中之一特定實體位置的一邏輯記憶體位置之一寫入請求,在450處,分配當前選定NAND快閃記憶體晶片以供寫入至包含該特定實體位置之一特定頁面中。因此,可自DRAM複製伺服對儲存於當前選定NAND快閃記憶體晶片及佇列化NAND快閃記憶體晶片中之該等頁面之讀取及寫入,使得無需發生自當前選定NAND快閃記憶體晶片及佇列化NAND快閃記憶體晶片之讀取。而是,所有新寫入可進行至當前選定NAND快閃記憶體晶片(例如)直至該當前選定NAND快閃記憶體晶片已滿。接著後續寫入可進行至佇列化NAND快閃記憶體晶片,其變成NAND快閃記憶體晶片以供寫入,且可選擇一新NAND快閃記憶體晶片作為佇列化NAND快閃記憶體晶片。重複程序,其中在新佇列化NAND快閃記憶體晶片中之所有有效頁面讀取至DRAM中。另外,自第一當前選定NAND快閃記憶體晶片之所有頁面不再寫入至DRAM,可視需要自DRAM收回。 儘管本發明之實施方案之描述已包含一單一控制器及一單一總成,但特定實施方案可包含兩個單獨控制器及總成。例如,具有一控制器之一個總成可含有快閃記憶體及具有一控制器之另一總成可含有DRAM。另外,特定實施方案可針對DRAM快取區部分使用現有系統DRAM。 根據本發明之實施方案,具有可經設計之較快存取時間的NAND快閃記憶體晶片將提供甚至更佳效能。例如,藉由改變該等NAND快閃記憶體晶片自身之電路設計,存取時間可經改良至10微秒或更小。另外,NAND快閃記憶體晶片可經設計具有更寬及更快介面,其容許根據本發明之實施方案之更快完成頁面傳送。 本發明已描述諸多實施方案。然而,應瞭解,可在不脫離本發明之精神及範疇之情況下作出各種修改。例如,可使用上文所展示之該等流程之各種形式,其中重新排序、添加或移除步驟。 可在數位電子電路中或在電腦軟體、韌體或硬體中實施本說明書中所描述之本發明及功能操作之實施方案,包含在本說明書中所揭示之結構及該等結構之結構化等效物或該等結構中之一或多者之組合。本發明之實施方案可實施為在一電腦可讀媒體上編碼以藉由資料處理設備執行或控制資料處理裝置之操作之一或多個一或多個電腦程式產品(即,電腦程式指令之一或多個模組)。電腦可讀媒體可為一機器可讀儲存裝置、一機器可讀儲存基板、一記憶體裝置、實行一機器可讀傳播信號之物之組合(composition of matter)或其一或多者之一組合。術語「資料處理設備」涵蓋用於處理資料之所有設備、裝置及機械,其包含(舉例而言)一可程式化處理器、一電腦或多個處理器或電腦。設備可包含(除硬體之外)針對所論述電腦程式形成一執行環境之程式碼,例如構成處理器韌體、一協定堆疊、一資料庫管理系統、一作業系統、或其一或多者之一組合之碼。一傳播信號係一人工產生之信號,例如,經產生以編碼供傳輸至適合接收器設備之資訊之一機器產生之電、光學或電磁信號。 雖然本發明含有許多特定內容,但此等不得解釋為限制可能主張之內容之範疇,而是作為可能特定於本發明之特徵之描述。亦可在一單一實施方案中組合地實施本說明書之單獨實施方案之內文中所描述之某些特徵。相反,亦可在多個實施方案中單獨實施或以任何合適子組合實施一單一實施方案之內文中所描述之各種特徵。此外,儘管在上文可將特徵描述為作用於特定組合中且甚至最初如此要求,然來自一經要求之組合之一或多個特徵可在一些情況中自該組合刪去且該經要求之組合可指向一子組合或一子組合之變動。 類似地,雖然在圖式中依一特定順序描繪操作,但此不應理解為要求依所展示之特定順序或循序順序執行此等操作,或執行全部經圖解說明之操作以達成所要結果。在某些情況中,多任務處理及並行處理可為有利的。此外,上述實施方案中之各種系統組件之分離不應理解為在全部實施方案中皆需要此分離,且應理解為所描述之程式組件及系統通常可一起整合於一單一軟體產品中或封裝至多個軟體產品中。 因此,已描述本發明之特定實施方案。其他實施方案在下列申請專利範圍之範疇內。例如,敘述於申請專利範圍中之動作可以一不同順序執行且仍達成所要結果。本發明已描述諸多實施方案。然而,應瞭解,可在不脫離本發明之精神及範疇之情況下作出各種修改。例如,可使用上文所展示之該等流程之各種形式,其中重新排序、添加或移除步驟。因此,其他實施方案係在以下申請專利範圍之範疇內。
100‧‧‧系統
110‧‧‧中央處理單元(CPU)
120‧‧‧動態隨機存取記憶體(DRAM)部分
130‧‧‧輸入/輸出(I/O)匯流排
140‧‧‧磁碟機
150‧‧‧NAND快閃記憶體部分
160‧‧‧控制器
170a至170n‧‧‧NAND快閃記憶體晶片
200‧‧‧系統
210‧‧‧一中央處理單元(CPU)
220‧‧‧DRAM
225‧‧‧DRAM部分
230‧‧‧輸入/輸出(I/O)匯流排
240‧‧‧磁碟機
250‧‧‧NAND快閃記憶體
260‧‧‧控制器
270‧‧‧DRAM部分
280‧‧‧雙列直插式記憶體模組(DIMM)
400‧‧‧方法
410‧‧‧步驟
420‧‧‧步驟
430‧‧‧步驟
440‧‧‧步驟
450‧‧‧步驟
圖1描繪根據本發明之實施方案之包含一記憶體裝置的一系統之一實例。 圖2A描繪根據本發明之實施方案之包含一記憶體裝置的一系統之一實例。 圖2B描繪根據本發明之實施方案之包含一記憶體裝置的一系統之一實例。 圖2C描繪根據本發明之實施方案之包含一記憶體裝置的一系統之一實例。 圖3描繪根據本發明之實施方案之一NAND快閃記憶體模組之一實例。 圖4描繪根據本發明之實施方案之針對一方法之一實例流程圖。 各種圖式中之相同元件符號及名稱指示相同元件。
Claims (18)
- 一種記憶體裝置,其包括:複數個NAND快閃記憶體晶片,該複數個快閃記憶體晶片之各者包括一記憶體區段,其中各記憶體區段包括複數個頁面,且其中各NAND快閃記憶體晶片具有一第一儲存容量;一動態隨機存取記憶體(DRAM)部分,其與該等NAND快閃記憶體晶片資料通信,該DRAM部分具有至少像該複數個NAND快閃記憶體晶片之各者之該第一儲存容量一樣大的一第二儲存容量;及一控制器,其經組態以:選擇該等NAND快閃記憶體晶片之一者作為一當前選定NAND快閃記憶體晶片以供寫入資料;將在該當前選定NAND快閃記憶體晶片中之所有有效頁面複製至該DRAM部分;及回應於對映射至在該等NAND快閃記憶體晶片之一者中之一特定實體位置的一邏輯記憶體位置之一寫入請求,分配該當前選定NAND快閃記憶體晶片以供寫入至包含該特定實體位置的一特定頁面,其中該複數個NAND快閃記憶體晶片及該DRAM部分係耦合至一記憶體匯流排的一模組之部分,且其中該DRAM部分之該第二儲存容量至少像各NAND快閃記憶體晶片之該第一儲存容量之兩倍一樣大。
- 如請求項1之記憶體裝置,其中該至少一個控制器經組態以: 在該當前選定NAND快閃記憶體晶片經識別為已滿之後,選擇該複數個NAND快閃記憶體晶片之另一者作為一佇列化NAND快閃記憶體晶片以供寫入資料;及將在該佇列化NAND快閃記憶體晶片中之所有有效頁面複製至該DRAM部分中。
- 如請求項2之記憶體裝置,其中基於具有該複數個NAND快閃記憶體晶片之最少數目個有效頁面而選擇該複數個NAND快閃記憶體晶片之該另一者作為一佇列NAND快閃記憶體晶片。
- 如請求項1之記憶體裝置,其中基於以下之至少一者而判定將資料寫入至該當前選定NAND快閃記憶體晶片之該特定實體位置:(i)最少所存取頁面及(ii)最少最近使用之頁面。
- 如請求項1之記憶體裝置,其中該記憶體區段包括該各自NAND快閃記憶體晶片之一分隔區,且其中分隔區容許在該相同各自NAND快閃記憶體晶片之另一分隔區中之一寫入操作期間,該各自NAND快閃記憶體晶片之一第一分隔區中之一讀取操作。
- 如請求項1之記憶體裝置,其中該記憶體區段包括該各自組成NAND快閃記憶體晶片。
- 如請求項1之記憶體裝置,其中該DRAM部分係包括DRAM之一主記 憶體之部分。
- 如請求項1之記憶體裝置,其中該至少一個控制器經組態以:回應於存取儲存於該複數個NAND快閃記憶體晶片中之一特定頁面的一請求,而將該特定頁面自該複數個NAND快閃記憶體晶片讀入至包括DRAM之一主記憶體。
- 一種記憶體裝置,其包括:複數個NAND快閃記憶體晶片,該複數個快閃記憶體晶片之各者包括一記憶體區段,其中各記憶體區段包括複數個頁面,且其中各NAND快閃記憶體晶片具有一第一儲存容量;一動態隨機存取記憶體(DRAM)部分,其與該等NAND快閃記憶體晶片資料通信,該DRAM部分具有至少像該複數個NAND快閃記憶體晶片之各者之該第一儲存容量一樣大的一第二儲存容量;及一控制器,其經組態以:選擇該等NAND快閃記憶體晶片之一者作為一當前選定NAND快閃記憶體晶片以供寫入資料;將在該當前選定NAND快閃記憶體晶片中之所有有效頁面複製至該DRAM部分;及回應於對映射至在該等NAND快閃記憶體晶片之一者中之一特定實體位置的一邏輯記憶體位置之一寫入請求,分配該當前選定NAND快閃記憶體晶片以供寫入至包含該特定實體位置的一特定頁面; 其中該複數個NAND快閃記憶體晶片係耦合至一輸入/輸出(I/O)匯流排的一模組之部分,其中該模組另包含該DRAM部分,該DRAM部分之該第二儲存容量近似兩倍於各NAND快閃記憶體晶片之該第一儲存容量之該大小。
- 一種方法,其包括:選擇複數個NAND快閃記憶體晶片之一者作為一當前選定NAND快閃記憶體晶片以供寫入資料,該複數個NAND快閃記憶體晶片之各者包括一記憶體區段,其中各記憶體區段包括複數個頁面,且其中各NAND快閃記憶體晶片具有一第一儲存容量;將在該當前選定NAND快閃記憶體晶片中之所有有效頁面複製至與該等NAND快閃記憶體晶片資料通信之一動態隨機存取記憶體(DRAM)部分中,其中該DRAM部分具有至少像該複數個NAND快閃記憶體晶片之各者之該第一儲存容量一樣大的一第二儲存容量;及回應於對映射至在該等NAND快閃記憶體晶片之一者中之一特定實體位置的一邏輯記憶體位置之一寫入請求,分配該當前NAND快閃記憶體晶片以供寫入至包含該特定實體位置之一特定頁面;其中該複數個NAND快閃記憶體晶片及該DRAM部分係一模組之部分,且其中該DRAM部分之該第二儲存容量至少像各NAND快閃記憶體晶片之該第一儲存容量之兩倍一樣大。
- 如請求項10之方法,其進一步包括:在該當前選定NAND快閃記憶體晶片經識別為已滿之後,選擇該複 數個NAND快閃記憶體晶片之另一者作為一佇列化NAND快閃記憶體晶片以供寫入資料;及將在該佇列化NAND快閃記憶體晶片中之所有有效頁面複製至該DRAM部分中。
- 如請求項11之方法,其中基於具有該複數個NAND快閃記憶體晶片之該最少數目個有效頁面而選擇該複數個NAND快閃記憶體晶片之該另一者作為一佇列化NAND快閃記憶體晶片。
- 如請求項10之方法,其中基於以下之至少一者判定將資料寫入至該當前選定NAND快閃記憶體晶片之該特定實體位置:(i)最少所存取頁面及(ii)最少最近使用之頁面。
- 如請求項10之方法,其中該記憶體區段包括該各自NAND快閃記憶體晶片之一部分,且其中分隔區容許在該相同各自NAND快閃記憶體晶片之另一分隔區中之一寫入操作期間,該各自NAND快閃記憶體晶片之一第一分隔區中之一讀取操作。
- 如請求項10之方法,其中該記憶體區段包括該各自組成NAND快閃記憶體晶片。
- 如請求項10之方法,其中該DRAM部分係包括DRAM之一主記憶體之部分。
- 如請求項10之方法,其進一步包括:回應於存取儲存於該複數個NAND快閃記憶體晶片中之一特定頁面的一請求,而將該特定頁面自該複數個NAND快閃記憶體晶片讀入至包括DRAM之一主記憶體中。
- 一種方法,其包括:選擇複數個NAND快閃記憶體晶片之一者作為一當前選定NAND快閃記憶體晶片以供寫入資料,該複數個NAND快閃記憶體晶片之各者包括一記憶體區段,其中各記憶體區段包括複數個頁面,且其中各NAND快閃記憶體晶片具有一第一儲存容量;將在該當前選定NAND快閃記憶體晶片中之所有有效頁面複製至與該等NAND快閃記憶體晶片資料通信之一動態隨機存取記憶體(DRAM)部分中,其中該DRAM部分具有至少像該複數個NAND快閃記憶體晶片之各者之該第一儲存容量一樣大的一第二儲存容量;及回應於對映射至在該等NAND快閃記憶體晶片之一者中之一特定實體位置的一邏輯記憶體位置之一寫入請求,分配該當前選定NAND快閃記憶體晶片以供寫入至包含該特定實體位置之一特定頁面;其中該複數個NAND快閃記憶體晶片係耦合至一輸入/輸出(I/O)匯流排之一模組之部分,該模組進一步包括該DRAM部分,其中該DRAM部分之該第二儲存容量近似兩倍於各NAND快閃記憶體晶片之該第一儲存容量之大小。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/936,486 | 2015-11-09 | ||
US14/936,486 US9880778B2 (en) | 2015-11-09 | 2015-11-09 | Memory devices and methods |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201719381A TW201719381A (zh) | 2017-06-01 |
TWI617972B true TWI617972B (zh) | 2018-03-11 |
Family
ID=57256152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105136404A TWI617972B (zh) | 2015-11-09 | 2016-11-09 | 記憶體裝置及方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9880778B2 (zh) |
EP (1) | EP3166019B1 (zh) |
JP (1) | JP6339645B2 (zh) |
KR (1) | KR101823983B1 (zh) |
CN (1) | CN107025179B (zh) |
SG (1) | SG10201609225QA (zh) |
TW (1) | TWI617972B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10606484B2 (en) * | 2017-06-23 | 2020-03-31 | Google Llc | NAND flash storage device with NAND buffer |
CN110287128B (zh) * | 2019-05-21 | 2021-06-04 | 北京融芯微科技有限公司 | 一种融合闪存的cpu虚拟dram控制器 |
EP4386517A4 (en) * | 2021-09-18 | 2024-10-09 | Huawei Tech Co Ltd | METHOD FOR STORING DATA IN A STORAGE DEVICE AND STORAGE DEVICE |
CN114115507B (zh) * | 2021-11-30 | 2023-08-08 | 杭州海康威视数字技术股份有限公司 | 存储器及写数据的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110066790A1 (en) * | 2009-09-17 | 2011-03-17 | Jeffrey Clifford Mogul | Main memory with non-volatile memory and dram |
US20110264859A1 (en) * | 2008-03-01 | 2011-10-27 | Kabushiki Kaisha Toshiba | Memory system |
US20140281157A1 (en) * | 2013-03-13 | 2014-09-18 | Kabushiki Kaisha Toshiba | Memory system, memory controller and method |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07114500A (ja) | 1993-10-19 | 1995-05-02 | Matsushita Electric Ind Co Ltd | 不揮発性メモリ記憶装置 |
JPH08129509A (ja) | 1994-11-01 | 1996-05-21 | Canon Inc | メモリ制御装置及び方法 |
JP2002251884A (ja) * | 2001-02-21 | 2002-09-06 | Toshiba Corp | 半導体記憶装置及びそのシステム装置 |
JP4049297B2 (ja) * | 2001-06-11 | 2008-02-20 | 株式会社ルネサステクノロジ | 半導体記憶装置 |
US7613880B2 (en) | 2002-11-28 | 2009-11-03 | Renesas Technology Corp. | Memory module, memory system, and information device |
US7681004B2 (en) | 2005-06-13 | 2010-03-16 | Addmm, Llc | Advanced dynamic disk memory module |
JP2007041813A (ja) * | 2005-08-02 | 2007-02-15 | Toshiba Corp | 情報処理システムおよび情報処理方法 |
US8060696B2 (en) * | 2007-04-27 | 2011-11-15 | Siemens Medical Solutions Usa, Inc. | Positron emission tomography event stream buffering |
US8874831B2 (en) | 2007-06-01 | 2014-10-28 | Netlist, Inc. | Flash-DRAM hybrid memory module |
CN100547566C (zh) | 2007-06-28 | 2009-10-07 | 忆正存储技术(深圳)有限公司 | 基于多通道闪存设备逻辑条带的控制方法 |
JP2009032324A (ja) | 2007-07-26 | 2009-02-12 | Spansion Llc | 複数のメモリブロックを備える不揮発性記憶装置 |
US8185685B2 (en) * | 2007-12-14 | 2012-05-22 | Hitachi Global Storage Technologies Netherlands B.V. | NAND flash module replacement for DRAM module |
US8332572B2 (en) * | 2008-02-05 | 2012-12-11 | Spansion Llc | Wear leveling mechanism using a DRAM buffer |
JP4745356B2 (ja) * | 2008-03-01 | 2011-08-10 | 株式会社東芝 | メモリシステム |
JP2009211234A (ja) * | 2008-03-01 | 2009-09-17 | Toshiba Corp | メモリシステム |
KR101067457B1 (ko) * | 2008-03-01 | 2011-09-27 | 가부시끼가이샤 도시바 | 메모리 시스템 |
US8738840B2 (en) | 2008-03-31 | 2014-05-27 | Spansion Llc | Operating system based DRAM/FLASH management scheme |
KR101056560B1 (ko) | 2009-02-11 | 2011-08-11 | (주)인디링스 | 고체 상태 디스크 시스템에서 버퍼 캐시의 프로그래밍 방법및 장치 |
US8566639B2 (en) | 2009-02-11 | 2013-10-22 | Stec, Inc. | Flash backed DRAM module with state of health and/or status information accessible through a configuration data bus |
SG2014008171A (en) | 2009-06-22 | 2014-04-28 | Ampio Pharmaceuticals Inc | Method for treatment of diseases |
US8838903B2 (en) * | 2010-02-04 | 2014-09-16 | Dataram, Inc. | Priority ordered multi-medium solid-state storage system and methods for use |
JP5010723B2 (ja) * | 2010-09-22 | 2012-08-29 | 株式会社東芝 | 半導体記憶制御装置 |
WO2012048444A1 (en) * | 2010-10-14 | 2012-04-19 | Freescale Semiconductor, Inc. Are | Memory controller and method for accessing a plurality of non-volatile memory arrays |
JP2012133416A (ja) * | 2010-12-17 | 2012-07-12 | Toshiba Corp | メモリシステム |
US20140101370A1 (en) * | 2012-10-08 | 2014-04-10 | HGST Netherlands B.V. | Apparatus and method for low power low latency high capacity storage class memory |
JP6021759B2 (ja) | 2013-08-07 | 2016-11-09 | 株式会社東芝 | メモリシステムおよび情報処理装置 |
KR20150055413A (ko) | 2013-11-13 | 2015-05-21 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 |
-
2015
- 2015-11-09 US US14/936,486 patent/US9880778B2/en active Active
-
2016
- 2016-11-03 SG SG10201609225QA patent/SG10201609225QA/en unknown
- 2016-11-07 KR KR1020160147560A patent/KR101823983B1/ko active IP Right Grant
- 2016-11-08 EP EP16197750.9A patent/EP3166019B1/en active Active
- 2016-11-08 JP JP2016217980A patent/JP6339645B2/ja active Active
- 2016-11-09 CN CN201610986874.8A patent/CN107025179B/zh active Active
- 2016-11-09 TW TW105136404A patent/TWI617972B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110264859A1 (en) * | 2008-03-01 | 2011-10-27 | Kabushiki Kaisha Toshiba | Memory system |
US20110066790A1 (en) * | 2009-09-17 | 2011-03-17 | Jeffrey Clifford Mogul | Main memory with non-volatile memory and dram |
US20140281157A1 (en) * | 2013-03-13 | 2014-09-18 | Kabushiki Kaisha Toshiba | Memory system, memory controller and method |
Also Published As
Publication number | Publication date |
---|---|
EP3166019B1 (en) | 2021-07-07 |
SG10201609225QA (en) | 2017-06-29 |
KR20170058278A (ko) | 2017-05-26 |
EP3166019A1 (en) | 2017-05-10 |
US20170131908A1 (en) | 2017-05-11 |
JP2017097861A (ja) | 2017-06-01 |
CN107025179A (zh) | 2017-08-08 |
US9880778B2 (en) | 2018-01-30 |
CN107025179B (zh) | 2020-12-08 |
TW201719381A (zh) | 2017-06-01 |
JP6339645B2 (ja) | 2018-06-06 |
KR101823983B1 (ko) | 2018-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11620060B2 (en) | Unified hardware and software two-level memory | |
US9921751B2 (en) | Methods and systems for mapping a peripheral function onto a legacy memory interface | |
US10228874B2 (en) | Persistent storage device with a virtual function controller | |
US10901627B1 (en) | Tracking persistent memory usage | |
CN114402282B (zh) | 存取存储的元数据以识别存储数据的存储器装置 | |
TWI617972B (zh) | 記憶體裝置及方法 | |
US20080229049A1 (en) | Processor card for blade server and process. | |
US20170083444A1 (en) | Configuring fast memory as cache for slow memory | |
US10169261B1 (en) | Address layout over physical memory | |
CN107710175B (zh) | 存储器模块以及操作系统和方法 | |
US10474359B1 (en) | Write minimization for de-allocated memory | |
CN112602066A (zh) | 正向高速缓存存储器系统和方法 | |
US20190042089A1 (en) | Method of improved data distribution among storage devices | |
US11836087B2 (en) | Per-process re-configurable caches | |
EP3462327A2 (en) | Systems, methods and apparatus for memory access and scheduling | |
US12093174B2 (en) | Methods and apparatus for persistent data structures | |
CN114341816A (zh) | 三层层次型存储器系统 | |
EP3506112A1 (en) | Multi-level system memory configurations to operate higher priority users out of a faster memory level | |
US12086447B2 (en) | Systems and methods for reducing instruction code memory footprint for multiple processes executed at a coprocessor | |
EP4120087B1 (en) | Systems, methods, and devices for utilization aware memory allocation | |
TW202343255A (zh) | 用於在分層記憶體中選擇裝置的系統以及方法 | |
JP2024507141A (ja) | メモリ保護データを使用すること |