TWI484341B - 記憶體系統控制器 - Google Patents
記憶體系統控制器 Download PDFInfo
- Publication number
- TWI484341B TWI484341B TW098146471A TW98146471A TWI484341B TW I484341 B TWI484341 B TW I484341B TW 098146471 A TW098146471 A TW 098146471A TW 98146471 A TW98146471 A TW 98146471A TW I484341 B TWI484341 B TW I484341B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- insns
- memory system
- storage nodes
- system controller
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- 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
-
- 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
- G06F13/1684—Details of memory controller using multiple buses
-
- 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/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/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/1056—Simplification
-
- 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
-
- 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/7211—Wear leveling
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)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Description
一般而言,本發明係關於半導體記憶體裝置、方法及系統,且更特定而言,係關於一種記憶體系統控制器。
通常提供記憶體裝置作為電腦或其他電子裝置中之內部半導體積體電路。存在許多不同類型之記憶體,包含揮發性及非揮發性記憶體。揮發性記憶體可需要電力以維持其資料且尤其包含隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)及同步動態隨機存取記憶體(SDRAM)。非揮發性記憶體可藉由在不供電時保存所儲存之資訊來提供永久性資料且可尤其包含NAND快閃記憶體、NOR快閃記憶體、唯讀記憶體(ROM)、電可抹除可程式化ROM(EEPROM)、可抹除可程式化ROM(EPROM)及相變隨機存取記憶體(PCRAM)。
記憶體裝置可組合在一起以形成一固態硬碟(SSD)。一固態硬碟可包含非揮發性記憶體(例如,NAND快閃記憶體及NOR快閃記憶體),及/或可包含揮發性記憶體(例如,DRAM及SRAM),以及各種其他類型之非揮發性及揮發性記憶體。
可使用一SSD來替代硬碟驅動器作為一電腦之主要儲存裝置,此乃因固態硬碟可在效能、大小、重量、耐用性、運作溫度範圍及功率消耗方面具有勝於硬驅動器之優點。舉例而言,SSD可在與磁碟驅動器相比較時因其缺少移動部件而具有優越的效能,此可改善與磁碟驅動器相關聯之搜尋時間、延時及其他機電延遲。SSD製造商可使用非揮發性快閃記憶體來產生快閃SSD,快閃SSD可不使用一內部電池電源,因此允許該驅動器具有更多功能且更小型。
一SSD可包含若干記憶體裝置,例如,若干記憶體晶片(如本文中所用,「若干」某事物可係指一個或多個此等東西;舉例而言,若干記憶體裝置可係指一個或多個記憶體裝置)。如熟習此項技術者將瞭解,一記憶體晶片可包含若干晶粒。每一晶粒可包含若干記憶體陣列及其上之週邊電路。一記憶體陣列可包含若干平面,其中每一平面包含若干實體記憶體單元區塊。每一實體區塊可包含可儲存若干資料扇區之若干記憶體單元頁。
為跨越大儲存容量達成低延時及高帶寬作業,SSD可包含並列運作之多個通道,其中每一通道運作記憶體之某一部分。因此,一記憶體通道控制器之多個複製品(例如,NAND快閃控制器邏輯)可整合於一SSD之多通道系統控制器上。在此一配置中,派給每一通道之任務係運作由該通道所伺服之相關聯之記憶體,包含執行實體至邏輯映射及區塊管理(例如,損耗均衡)。因此,多個記憶體通道控制器之每一複製品(對應於該等多個通道中之每一者)可具有用以執行映射及區塊管理功能之高速緩衝記憶體。另外,多個記憶體通道控制器之每一複製品可包含用於引導至一各別通道之「作業中」資料之緩衝記憶體。
多個記憶體通道控制器之每一複製品與記憶體之對應部分之間的並列通信可需要大約20個接針來建立其之間的資料、控制、電力及接地連接。此可產生具有一大的接針計數以確保與現有碟驅動協定之相容性之一昂貴的記憶體系統ASIC。
本發明包含記憶體系統控制器裝置及方法。在一個或多個實施例中,一記憶體系統控制器包含以通信方式耦合至一系統控制器之一主機介面。該系統控制器具有若干記憶體介面,且經組態以用於控制以通信方式耦合至該若干記憶體介面之複數個智慧型儲存節點。該系統控制器包含經組態以在實體記憶體位址與邏輯記憶體位址之間映射之邏輯以及經組態以管理跨越該複數個智慧型儲存節點之損耗均衡之邏輯。
本發明之一個或多個實施例闡述一種記憶體系統,其將按傳統分佈之固態硬碟功能性(例如,NAND控制、實體位址至邏輯位址轉譯、缺陷管理及區塊管理(例如,損耗均衡))「向上游」集中至一中央記憶體系統控制器。藉由居中設置以上所提及之功能性,可在儲存節點上利用經簡化之節點控制器,藉此提供低延時、高記憶體密度、可組態性、及較低記憶體系統成本。
本文中之圖遵循一編號慣例,其中第一個數字或前幾個數字對應於圖式圖編號,且其餘數字識別圖式中之一元件或組件。不同圖之間的類似元件或組件可藉由使用類似數字來識別。舉例而言,在圖1中,104可指代元件「04」,且在圖2中,一類似元件可指代為204等等。
圖1係根據本發明之一個或多個實施例之一計算系統之一功能性方塊圖。計算系統100包含以通信方式耦合至主機系統102之一記憶體系統104,例如,一個或多個固態硬碟(SSD)。記憶體系統104可透過一通信介面106(例如,一串列高級技術附件(SATA)介面)以通信方式耦合至主機系統102。
主機系統102可包含若干單獨的積體電路,或多於一個組件或功能可位於同一積體電路上。根據一個或多個實施例,主機系統102可以實體方式實施於一計算系統100中至少部分地作為一「母板」,其中單獨地以實體方式實施記憶體系統104,該母板與記憶體系統104係透過一通信介面106(例如,藉由一底板或匯流排)以通信方式耦合。
主機系統102可包含以通信方式耦合至一記憶體及匯流排控制件107之一個或多個處理器105(例如,平行處理器、共處理器等)。一處理器(例如,處理器105)可係一個或多個微處理器或某一其他類型之控制電路,諸如例如,一個或多個專用積體電路(ASIC)。該計算系統之其他組件亦可具有處理器。記憶體及匯流排控制件107可具有記憶體及直接以通信方式耦合至其之其他組件,舉例而言,動態隨機存取記憶體(DRAM)111、圖形使用者介面113或其他使用者介面(例如,顯示監視器、鍵盤、滑鼠等)。
記憶體及匯流排控制件107亦可具有以通信方式耦合至其之一週邊及匯流排控制件109,其可又連接至若干裝置,例如,使用一通用串列匯流排(USB)介面之一快閃驅動器115、一非揮發性記憶體主機控制介面(NVMHCI)快閃記憶體117或記憶體系統104。如讀者將瞭解,記憶體系統104可與一硬碟驅動器(HDD)一同或替代一硬碟驅動器(HDD)用於若干不同計算系統中。圖1中所圖解說明之計算系統100係此一系統之一個實例;然而,本發明之實施例並不限於圖1中所示之組態。
企業固態儲存設備係一類可由一個或多個兆位元組之儲存量及快速效能能力(例如,每秒100 MB、每秒100 K輸入/輸出(IOPS)等)表徵之記憶體系統。根據本發明之一個或多個實施例,一企業固態儲存設備可使用固態硬碟(SSD)構建區塊來加以組態。參考圖1舉例而言,記憶體系統104可係使用一個或多個組件SSD實施之一企業固態儲存設備,該一個或多個SSD係由一記憶體系統控制器運作為一記憶體系統。
圖2係包含一記憶體系統之一先前技術計算系統之一功能性方塊圖。計算系統200包含透過一介面206連接至主機系統202之一記憶體系統204(例如,一SSD)。先前技術記憶體系統204包含一系統控制器210、一實體介面208(例如,一連接器)及對應於系統控制器210之各別通道之若干記憶體裝置212-1、...、212-N。介面206用以在記憶體系統204與主機系統202之間傳遞資訊。
系統控制器210可包含控制電路以用於控制跨越若干通道之存取,每一通道具有對應於若干記憶體裝置212-1、...、212-N之一記憶體控制器(例如,218-1、...、218-N)。每一記憶體通道控制器(例如,218-1、...、218-N)管理對對應記憶體裝置212-1、...、212-N之存取,包含提供與一特定通道相關聯之實體位置與邏輯位址之間的映射。另外,每一記憶體通道控制器(例如,218-1、...、218-N)管理與該特定通道相關聯之記憶體裝置之損耗均衡。
記憶體系統204將至介面之所有邏輯整合至一主機系統且以仿真一碟驅動器之一方式來控制若干記憶體裝置212-1、...、212-N。因此,系統控制器210包含與碟驅動器仿真邏輯216通信之一主機介面214,碟驅動器仿真邏輯216又與若干記憶體控制器218-1、...、218-N通信。
圖3係根據本發明之一個或多個實施例之包含一記憶體系統控制器之一計算系統之一功能性方塊圖。計算系統300可包含透過一介面306以通信方式耦合至主機系統302之一記憶體系統304。記憶體系統304可用作計算系統300中之一大容量資料儲存記憶體系統,例如,具有一個或多個SSD之一企業固態儲存設備。記憶體系統304可用作計算系統300之一外部或可攜式記憶體系統,例如,具有插入連接性。介面306可係一電纜或匯流排,尤其例如,一USB、PCI、SATA/150、SATA/300或SATA/600介面。記憶體系統304可類似於圖1中之記憶體系統104。
記憶體系統304可包含在一實體介面308(例如,一連接器)與若干儲存節點330-1、...、330-N之間通信之一系統控制器及主機介面320(SCHI)。記憶體系統控制器315可與若干儲存節點330-1、...、330-N通信,每一儲存節點具有若干記憶體裝置312-1、...、312-N以運作(例如,讀取、寫入、移動、程式化、感測、抹除)該等記憶體裝置之記憶體單元。因此,記憶體系統控制器315可管理與記憶體裝置312-1、...、312-N之通信及儲存於該等記憶體裝置中之資料。記憶體系統控制器315可具有利用一個或多個積體電路之電路以及其他離散組件。對於一個或多個實施例,記憶體系統控制器315中之電路可包含控制電路以用於控制跨越若干通道之存取,每一通道具有一串列介面(例如,324-1、...、324-N),每一串列介面與一個或多個儲存節點330-1、...、330-N通信,且每一儲存節點具有若干記憶體裝置312-1、...、312-N。因此,記憶體系統控制器315可透過一個或多個特定通道選擇性地通信至記憶體裝置312-1、...、312-N。
每一記憶體裝置312-1、...、312-N可包含若干記憶體單元。可使用各種類型之揮發性或非揮發性記憶體陣列(尤其例如,NAND快閃、DRAM)形成記憶體裝置312-1、...、312-N。根據本發明之一個或多個實施例,記憶體裝置312-1、...、312-N可包含按一NAND架構、一NOR架構、一AND架構或某一其他記憶體陣列架構配置之若干浮動閘極快閃記憶體單元,可組合使用該等架構中之一者或多者。
記憶體裝置312-1、...、312-N可包含可經配置以提供特定實體或邏輯組態(例如,一頁、區塊、平面、陣列或其他群組)之若干記憶體單元。如本文中所用,一記憶體單元頁意指可同時程式化之若干記憶體單元。舉例而言,某些記憶體陣列可包含構成一記憶體單元區塊之若干記憶體單元頁,一區塊係指可同時抹除之若干記憶體單元。一記憶體單元平面中可包含若干區塊。一晶粒上可包含若干記憶體單元平面。一陣列可包含一個或多個晶粒。以實例而非限制方式,一128 GB記憶體裝置可包含每頁4314個資料位元組,每區塊128個頁,每平面2048個區塊,及每裝置16個平面。
SCHI 320可包含與一系統控制器315通信之一主機介面314。系統控制器315可包含:邏輯326(包含高速記憶體),其經組態以用於執行實體至邏輯映射;邏輯327,其經組態以用於「作業中」資料緩衝;邏輯328,其經組態以用於區塊管理(例如,損耗均衡);及若干串列介面324-1、...、324-N。若干串列介面324-1、...、324-N中之每一者係藉由如下文將進一步參考圖4所述之一串列匯流排334-1、...、334-N以通信方式耦合至若干儲存節點330-1、...、330-N中之對應一者或多者。
主機系統302與記憶體系統304之間的通信協定可不同於用於存取一特定儲存節點330-1、...、330-N或其上之記憶體裝置(例如,312-1、...、312-N)之通信協定。記憶體系統控制器315可將自主機系統302所接收之命令轉譯成適當的命令以實現既定記憶體作業,且藉此在主機系統302與記憶體系統304之間提供一轉譯層。舉例而言,記憶體系統控制器315亦可將主機命令序列及相關聯之資料及其他資訊處理成適當的通道命令序列以便儲存及檢索資料。
在一個或多個實施例中,且如圖3中所圖解說明,一儲存節點330-1、...、330-N可包含一個或多個記憶體裝置312-1、...、312-N及一節點控制器332-1、...、332-N。在一個或多個實施例中,記憶體裝置312-1、...、312-N可各自係具有若干記憶體單元之一晶片。然而,實施例並不限於此。舉例而言,如本文中所用,一記憶體裝置可係一晶粒、陣列或共用控制輸入之其他記憶體單元群組,且可使用一個或多個記憶體單元類型(例如,NAND快閃)製作而成。控制輸入通常可包含位址鎖存啟用(ALE)、晶片啟用(CE)、讀取啟用(RE)、準備好/忙碌(R/B)、寫入保護(WP)及輸入/輸出(I/O)連接,例如,接針、墊或類似物。
根據本發明之一個或多個實施例,儲存節點330-1、...、330-N可係智慧型NAND儲存節點(INSN)。雖然顯示一單個INSN與一特定通道相關聯,但本發明之實施例並不限於此,例如,若干INSN可與一特定系統控制器通道相關聯。舉例而言,如下文將進一步參考圖4所論述,在一個或多個實施例中,至少兩個INSN係與若干特定通道中之每一者相關聯。
每一INSN可包含以通信方式耦合至若干記憶體裝置312-1、...、312-N之一節點控制器332-1、...、332-N。如先前所述,記憶體裝置312-1、...、312-N可包含可經配置以提供特定實體或邏輯組態(例如,一頁、區塊、平面、陣列或其他群組)之若干記憶體單元。
根據本發明之一個或多個實施例,一節點控制器332-1、...、332-N可藉由一開放式NAND快閃介面(ONFi)336-1、...、336-N以通信方式耦合至若干記憶體裝置312-1、...、312-N。ONFi係用於NAND快閃之一特定介面,其旨在簡化NAND快閃記憶體至消費者電子裝置、計算平臺及工業系統中之整合。ONFi促進NAND裝置之間的可交互運作性,藉此加快基於NAND之產品上市的時間。ONFi之某些特徵係自識別、命令集標準化及引腳標準化。NAND自識別使得NAND裝置能夠向一主機自闡述其能力,包含記憶體佈局、時序支援及如交插定址之增強型特徵。標準化用於NAND之命令集建立用於NAND能力之將來演化之基礎結構,同時提供賣主具體最佳化之靈活性。界定一標準引腳促進與新NAND裝置之電路板級相容性。
根據本發明之一個或多個實施例,系統控制器315可包含經組態以用於區塊管理(例如,區塊選擇,例如包含但不限於損耗均衡)之邏輯328。舉例而言,一記憶體系統304內之記憶體區塊選擇可涉及確定向哪些實體區塊寫入資料及抹除哪些實體區塊以及其中欲寫入及抹除之實體區塊之次序。用於記憶體系統304中之記憶體單元可限於有限數目個寫入-抹除循環,其可確定記憶體系統304之壽命。如此,有效的記憶體區塊管理可增加一記憶體系統304之壽命,此乃因一記憶體系統304可在若干程式化及/或抹除循環之後經歷故障。
與先前記憶體系統(例如,圖2中所示之記憶體系統200,其中系統控制器210包含用於若干記憶體裝置212-1、...、212-N中之每一者之單獨的記憶體控制器電路218-1、...、218-N)形成對比,本發明之一個或多個實施例包含具有集中式損耗均衡邏輯328之一記憶體系統控制器315,集中式損耗均衡邏輯328經組態以管理跨越記憶體裝置312-1、...、312-N而非僅與一特定通道相關聯之彼等記憶體裝置之損耗均衡。藉由使損耗均衡集中,可針對(例如,跨越)一整個記憶體系統而非僅跨越其某一部分(例如,一特定通道)進行損耗均衡。
根據一個或多個實施例,管理損耗均衡可包含偵測INSN之間、與一特定INSN相關聯之INSN記憶體裝置之間及與多個INSN相關聯之INSN記憶體裝置之間的損耗差。除偵測損耗差以外,管理損耗均衡還可包含偵測一個別INSN或INSN記憶體裝置中高於一限制之損耗。該限制可係一預設固定限制、一動態限制或其一組合。
損耗均衡邏輯328可實施用於管理損耗均衡之技術。如本文中所用,管理損耗均衡包含壞區塊管理。此等技術可包含旋轉記憶體裝置中向其寫入資料之單元。損耗均衡亦可包含稱作無用單元收集之一技術,其中藉由抹除具有若干無效頁(亦即,具有已重新寫入至一不同頁及/或在該等無效頁上不再需要之資料之頁)之區塊來再生該等區塊。無用單元收集使必需在記憶體裝置中重新配置資料以計及資料之動態或靜態性質。包含於損耗均衡技術中之無用單元收集可有助於管理一特定記憶體裝置之個別單元之損耗速率。此等損耗均衡技術並不限制寫入於記憶體系統304上之資料的量,且其等並不計及寫入資料之速率及因可影響驅動器之效能而將資料寫入於該裝置上之時間週期。
在各種實施例中,損耗均衡可包含動態損耗均衡以最小化經移動以再生一區塊之有效區塊的量。在動態損耗均衡中,可再生具有最高無效頁量之資料區塊。可藉由將來自一記憶體陣列中之一單元頁或區塊之有效資料自一第一位置移動至一第二頁或區塊位置且抹除該第一頁或區塊位置來再生該單元頁或區塊。有效資料可係所期望且應保存於記憶體單元中之資料,而無效資料可係不再需要且可抹除之資料。可設定一區塊中總無效頁之數目之一臨限值以確定是否將再生一區塊。可藉由掃描區塊表尋找具有高於該臨限值之若干無效頁之區塊來再生特定區塊。一區塊表可具有尤其詳述記憶體單元中之資料之類型、位置及狀態之資訊。
靜態損耗均衡包含將靜態資料寫入至具有高抹除計數之區塊以延長該區塊之壽命。在靜態損耗均衡中,正儲存靜態資料之區塊可與具有高抹除計數之區塊交換以使得再生具有靜態資料及對應較低抹除計數之區塊。具有高抹除計數之區塊現具有靜態資料,因此減少對彼區塊之抹除速率。
在某些實施例中,可將若干區塊指定為備用區塊以減少與在記憶體裝置中寫入資料相關聯之寫入放大的量。一備用區塊可係一記憶體裝置中之一如下區塊:其可被指定為資料不可寫入其中之一區塊。寫入放大係在將資料寫入至固態記憶體裝置時發生之一過程。當將資料隨機寫入於一記憶體系統中時,進行尋找該系統中之自由空間之一掃描。一記憶體系統中之自由空間可係一個或多個記憶體裝置中未經程式化之記憶體單元中之個別單元、頁及/或區塊。若存在足夠的自由空間來寫入資料,則將資料寫入至該記憶體系統中之該自由空間。若在一個位置中不存在足夠的自由空間,則藉由抹除、移動及重新寫入已存在於該記憶體系統中之資料至一新位置來重新配置該記憶體系統中之資料,從而為欲寫入於該記憶體系統中之新資料留出自由空間。記憶體系統中舊資料之重新配置稱作寫入放大,此乃因為寫入新資料而必須對記憶體系統進行寫入的量係基於該記憶體系統中自由空間的量及欲寫入至該記憶體系統之新資料之大小放大可藉由如下方法減少寫入放大:增加一記憶體系統中指定為自由空間(即,其處將不寫入靜態資料)之空間量,因此因將必須重新配置較少資料而允許必須寫入之資料量之較小放大。
在各種實施例中,由記憶體系統304所執行之主機及/或使用者訊務及/或程式化/抹除循環可由系統控制器315中之集中式損耗均衡邏輯328監視以改良記憶體系統304之效能。可由一主機系統處理器透過系統控制器315進行主機及/或使用者訊務請求以在記憶體系統304中讀取資料及/或抹除/寫入資料。可跨越所有通道(例如,串列介面324-1、...、324-N)、跨越所有INSN 330-1、...、330-N及/或跨越包括記憶體系統304之INSN之記憶體裝置312-1、...、312-N在中心監視程式化及/或抹除循環以確定記憶體系統304中之區塊、頁或其他記憶體單元群組之損耗速率及預期壽命。讀者將瞭解,僅可抹除一特定區塊之記憶體單元及對其進行有限數目次寫入。
主機及/或使用者訊務趨勢可由集中式損耗均衡邏輯328在中心監視及更改以允許記憶體系統304運行一所期望之運作壽命(例如,諸如小時、天、星期、年等之一時間週期)。集中式損耗均衡邏輯328可監視並限制由記憶體系統304之部分所執行之程式化及/或抹除循環之數目以確保所期望之運作壽命。集中式損耗均衡邏輯328亦可監視在一特定時間週期期間執行之程式化循環及/或抹除循環之數目以在給出記憶體系統304之備用區塊之數目及所期望之運作壽命之情況下確定如何計算該驅動器之可允許的程式化及/或抹除循環速率。
另外,在某些實施例中,可控制記憶體系統304之記憶體裝置中備用區塊之數目以確保在一所期望之運作壽命上達到所期望寫入次數IOPS之運作性。可針對正程式化於記憶體系統304上之資料之類型最佳化備用區塊之百分比。具有靜態資料(亦即,儲存於驅動器上達較長時間週期而不被抹除及/或重新寫入之資料)之一記憶體系統304可具有一較小百分比之備用區塊,此乃因由於具有較少程式化及/或抹除循環之資料之靜態性質而較不需要再生驅動器中之區塊。在具有動態資料(亦即,更頻繁地程式化及/或抹除之資料)之一記憶體系統304中,可使用一較高百分比之備用區塊來減少與必須再生區塊以在一記憶體裝置中執行程式化及/或抹除循環相關聯之寫入放大。
根據本發明之一個或多個實施例,系統控制器315可包含經組態以用於執行實體位址至邏輯位址映射(例如,其之間的轉譯)之邏輯326。舉例而言,實體位址至邏輯位址映射邏輯326可包含程式化有一邏輯-至-實體位址映射之高速記憶體(例如,DRAM)。一邏輯-至-實體位址映射可維持固態記憶體系統或特定INSN記憶體裝置(例如,330-1、...、330-N)之一邏輯區塊位址(LBA)與一實體區塊位址(PBA)之間的相關性。
圖4係根據本發明之一個或多實施例之包含以通信方式串聯之若干智慧型NAND儲存節點之一記憶體系統之一功能性方塊圖。在一個或多個實施例中,且如圖4中所圖解說明,一記憶體系統控制器415可以通信方式耦合至若干儲存節點,例如,智慧型NAND儲存節點(INSN)(例如,430-1A、430-1B、...、430-NA、430-NB)。該等INSN可(例如)按一菊鏈配置串聯。系統控制器415可包含若干串列介面(例如,424-1、...、424-N)。為清晰起見而自圖4省略了關於系統控制器415之其他細節;然而,系統控制器415可類似於圖3中之系統控制器315。該若干串列介面(例如,424-1、...、424-N)中之每一者藉由如圖3中所示之一串列匯流排(例如,334-1、...、334-N)係以通信方式耦合至若干儲存節點(例如,430-1A、430-1B、...、430-NA、430-NB)中之對應一者或多者。
根據本發明之一個或多個實施例,且如圖4中所示,每一串列匯流排可包含一時脈信號線(例如,444-1、...、444-N)、一第一資料線(D+/-)(例如,448-1、...、448-N)及一第二資料線(Q+/-)(例如,446-1、...、446-N)。舉例而言,第一資料線(D+/-)448-1、...、448-N可經組態以用於在一第一方向上(例如,自系統控制器415至INSN)傳輸資料,且一第二資料線(Q+/-)446-1、...、446-N可經組態以用於在一第二方向上(例如,自INSN至系統控制器415)傳輸資料,如由圖4中所示之方向箭頭所指示。雖然在圖4中顯示一串列匯流排之具有時控及鎖存資料傳送之一個特定實施方案,但本發明之實施例並不限於圖4中所示之特定實施方案,且可按其他組態實施串列通信。
在一個或多個實施例中,每一INSN可包含一匯流排管理模組,該匯流排管理模組對應於一特定通道且以通信方式耦合至該各別特定通道之串列匯流排。舉例而言,在圖4中所圖解說明之實施例中,匯流排管理模組442-1A及442-1B對應於通道1且以通信方式耦合至通道1之串列匯流排(例如,與通道1相關聯之各別信號線444-1、446-1及448-1)。類似地,匯流排管理模組442-NA及442-NB對應於通道N且以通信方式耦合至通道N之串列匯流排(例如,與通道N相關聯之各別信號線444-N、446-N及448-N)。匯流排管理模組經組態以控制互連與一特定通道相關聯之複數個INSN之一時控串列匯流排。一節點控制器(例如,對應於通道1之432-1A、432-1B等、...、對應於通道N之432-NA、432-NB等)可以通信方式耦合於匯流排管理模組(例如,對應於通道1之442-1A、442-1B等、...、對應於通道N之442-NA、442-NB等)與若干記憶體裝置(例如,對應於通道1之412-1A1、412-1A2、412-1B1、412-1B2等、...、對應於通道N之412-NA1、412-NA2、412-NB1、412-NB2等)之間。
記憶體裝置(例如,對應於通道1之412-1A1、412-1A2、412-1B1、412-1B2等、...、對應於通道N之412-NA1、412-NA2、412-NB1、412-NB2等)可包含可經配置以提供特定實體或邏輯組態(例如,一頁、區塊、平面、陣列或其他群組)之若干記憶體單元。根據一個或多個實施例,該等INSN可各自組態為一多晶片封裝,例如,440-1A、440-1B、...、440-NA、440-NB。在某些實施例中,該多晶片封裝可具有用於資料、控制、電力及接地信號之少於20個接針。舉例而言,一個或多個實施例之多晶片封裝可具有用於資料及控制信號之三個(更少)接針,如圖4中所示。
如圖4中所示,且根據本發明之一個或多個實施例,複數個INSN(例如,430-1A、430-1B、...、430-NA、430-NB)可以通信方式耦合至一特定串列匯流排,且因此與該若干串列介面(424-1、...、424-N)中之特定一者(例如,通道)相關聯。在某些實施例中,複數個INSN可與每一通道相關聯,例如,以通信方式耦合至對應於一各別通道之串列匯流排。
根據一個或多個實施例,該複數個INSN(例如,430-1A、430-1B、...、430-NA、430-NB)可針對該若干串列記憶體介面中之特定一者按一菊鏈配置以通信方式耦合至一特定匯流排。雖然圖4中顯示兩個INSN以通信方式耦合至每一通道之串列匯流排,但本發明之實施例並不限於此數量個INSN,且更多或更少(包含沒有一個)INSN可以通信方式耦合至一特定串列匯流排。此外,本發明之實施例並不限於使相同數量個INSN以通信方式耦合至每一通道之串列匯流排,且一特定串列匯流排上INSN之數量可大於或少於另一特定串列匯流排上INSN之數量。
圖5係根據本發明之一個或多個實施例之包含以通信方式並聯耦合之若干智慧型NAND儲存節點之一記憶體系統之一功能性方塊圖。在一個或多個實施例中,且如圖5中所圖解說明,一記憶體系統控制器515可以通信方式耦合至若干儲存節點,例如,智慧型NAND儲存節點(INSN)(例如,530-1A、530-1B、530-1C)。系統控制器515可包含若干介面(例如,524-1)以用於同步通信。為清晰起見而自圖5省略關於系統控制器515之其他細節。雖然在圖5中僅顯示一個通道,但本發明之實施例並不限於此,且記憶體系統控制器515可包含經組態以用於與額外數目個INSN同步通信之額外通道及/或經組態以用於與若干額外INSN通信之額外通道。
該若干介面中之每一者(例如,524-1)可藉由一同步匯流排(例如,一並列本端匯流排)以通信方式耦合至若干儲存節點(例如,530-1A、530-1B、530-1C)中之對應一者或多者。該等儲存節點可以通信方式並聯耦合。舉例而言,第一數目個INSN(例如,530-1A、530-1B、530-1C)可以通信方式並聯耦合至一第一同步介面524-1,且另一數目個INSN(為清晰起見而未顯示於圖5中)可以通信方式並聯耦合至一個或多個額外通道同步介面。本發明之實施例並不限於任一特定數量個通道,且可包含一個或多個(例如,N個)通道,每一通道具有以通信方式耦合至其之零個或多個INSN,例如,對應於並聯配置之一特定通道之INSN。
根據本發明之一個或多個實施例,且如圖5中所示,一個或多個INSN可透過一並列本端匯流排以通信方式耦合至一各別同步介面。該並列本端匯流排可係一同步匯流排且可包含一時脈信號線(CLK)(例如,544-1)、一第一資料線(Q[Y:0])(例如,546-1)及一第二資料線(D[X:0])(例如,548-1)。舉例而言,第一資料線(Q[Y:0])546-1可經組態以用於在一第一方向上(例如,自INSN至系統控制器515)傳輸資料,且一第二資料線(D[X:0])548-1可經組態以用於在一第二方向上(自系統控制器515至INSN)傳輸資料,如由圖5中所示之方向箭頭所指示。該第一資料線(Q[Y:0])可經組態以具有Y+1個資訊資料位元之一寬度且該第二資料線(D[X:0])可經組態以具有X+1個資訊資料位元之一寬度。雖然在圖5中顯示一同步匯流排之具有時控及鎖存資料傳送之一個特定實施方案,但本發明之實施例並不限於圖5中所示之特定實施方案,且可按其他組態或使用其他通信協定實施至該等INSN之並列通信。
在一個或多個實施例中,每一INSN可包含一匯流排管理模組,該匯流排管理模組對應於一特定通道且以通信方式耦合至該各別特定通道之同步匯流排。舉例而言,在圖5中所圖解說明之實施例中,對應於通道1之匯流排管理模組542-1A、542-1B及542-1C係以通信方式耦合至通道1之並列本端匯流排(例如,信號線544-1、546-1及548-1)。該匯流排管理模組經組態以控制互連與一特定通道(例如,並列本端匯流排)相關聯之複數個INSN之一時控同步匯流排。一節點控制器(例如,對應於一特定通道1之532-1A、532-1B及532-1C)可以通信方式耦合於各別匯流排管理模組(例如,542-1A、542-1B及542-1C)之間。
對應於通道1之記憶體裝置(例如,對應於INSN 530-1A之512-1A1及512-1A2以及對應於INSN 530-1B之512-1B1及512-1B2以及對應於INSN 530-1C之512-1C1及512-1C2)可包含可經配置體提供特定實體或邏輯組態(例如,一頁、區塊、平面、陣列或其他群組)之若干記憶體單元。根據一個或多個實施例,該等INSN可各自組態為一多晶片封裝,例如,540-1A、540-1B、540-1C。在某些實施例中,該多晶片封裝可具有用於資料、控制、電力及接地信號之少於20個接針。
如圖5中所示,且根據本發明之一個或多個實施例,複數個INSN(例如,530-1A、530-1B、530-1C)可以通信方式耦合至一特定同步匯流排,且因此與該若干介面(例如,524-1)中之特定一者(例如,對應於一特定通道)相關聯。在某些實施例中,複數個INSN可與一特定通道相關聯,例如,以通信方式耦合至對應於一各別通道之並列本端匯流排。在某些實施例中,一個INSN可與一特定通道相關聯,例如,以通信方式耦合至對應於一各別通道之並列本端匯流排。在某些實施例中,無INSN與一特定通道相關聯,例如,以通信方式耦合至對應於一各別通道之並列本端匯流排。此外,本發明之實施例並不限於使相同數量個INSN以通信方式耦合至一特定通道,且一特定通道上INSN之數量可大於或少於另一特定通道上INSN之數量。
圖6係根據本發明之一個或多個實施例之包含以通信方式串聯之至少一個智慧型NAND儲存節點與以通信方式並聯耦合至其之若干智慧型NAND儲存節點之一記憶體系統之一功能性方塊圖。在一個或多個實施例中,且如圖6中所圖解說明,一記憶體系統控制器615可以通信方式耦合至若干儲存節點,例如,智慧型NAND儲存節點(INSN)(例如,630-1A、630-1B、630-NB)。本發明之實施例並不限於任一特定數量個通道,且可包含一個或多個(例如,N個)通道,每一通道具有以通信方式耦合至其之零個或多個INSN,例如,對應於經配置以包含至一特定通道之串列通信路徑及並列通信路徑兩者之該特定通道之INSN。
系統控制器615可包含經組態以用於串列通信之若干介面(例如,624-1)。為清晰起見而自圖6省略了關於系統控制器615之其他細節。雖然圖6中僅顯示一個通道,但本發明之實施例並不限於此,且記憶體系統控制器615可包含經組態以用於與額外數目個INSN串列通信之額外通道,例如,如圖4中所圖解說明。系統控制器615亦可包含用於與若干額外INSN同步並列通信之額外通道,例如,如圖5中所圖解說明,且/或可包含經組態以用於與額外數目個INSN串列-並列通信之額外通道,例如,如圖6中所圖解說明。
圖6圖解說明若干介面(例如,624-1)可藉由一串列匯流排以通信方式耦合至若干儲存節點(例如,INSN 630-1A)中之對應一者或多者。雖然圖6顯示以通信方式串聯至介面624-1之一個INSN(例如,630-1A),但本發明之實施例並不限於此,且可包含更多或更少個串聯之INSN。零個至許多額外INSN(例如,630-1B、...、630-MB)可以通信方式並聯耦合至一個或多個串聯連接之INSN中之某些或所有INSN(例如,630-1A)。舉例而言,如圖6中所示,第一數目個INSN(例如,630-1B、...、630-MB)可以通信方式並聯耦合至INSN(例如,630-1A)。
根據本發明之一個或多個實施例,且如圖6中所示,一個或多個INSN(例如,630-1A)可透過一主機匯流排以通信方式耦合至一各別串列介面(例如,624-1)。該主機匯流排可係一串列匯流排,且可包含一時脈信號線(CLK)(例如,644-1)、一第一資料線(Q+/-)(例如,646-1)及一第二資料線(D+/-)(例如,648-1)。舉例而言,第一資料線(Q+/-)(例如,646-1)可經組態以用於在一第一方向上(例如,自串聯之INSN 630-1A至系統控制器615)傳輸資料,且一第二資料線(D+/-) 648-1可經組態以用於在一第二方向上(例如,自系統控制器615至串聯之INSN(例如,630-1A))傳輸資料,如由圖6中所示之方向箭頭所指示。雖然在圖6中顯示一串列匯流排之具有時控及鎖存資料傳送之一個特定實施方案,但本發明之實施例並不限於圖6中所示之特定實施方案,且可按其他組態或使用其他通信協定實施至串聯之INSN(例如,630-1A)之串列通信。
根據本發明之一個或多個實施例,且如圖6中所示,對應於一特定串列介面之一個或多個串聯之INSN(例如,630-1A)亦可透過一並列本端匯流排以通信方式耦合至一額外數量個INSN(例如,630-1B、...、630-MB)。該額外數量個INSN(例如,630-1B、...、630-MB)可以通信方式並聯耦合至該並列本端匯流排。
該並列本端匯流排可係一同步匯流排且可包含一時脈信號線(CLK)(例如,645-1)、一第一資料線(Q[Y:0])(例如,647-1)及一第二資料線(D[X:0])(例如,649-1)。舉例而言,第一資料線(Q[Y:0])647-1可經組態以用於在一第一方向上將資料傳輸至一串聯之INSN(例如,630-1A),且一第二資料線(D[X:0])649-1可經組態以用於自該串聯之INSN(例如,630-1A)傳輸資料,如由圖6中所示之方向箭頭所指示。雖然在圖6中顯示一並列本端匯流排之具有同步時控及鎖存資料傳送之一個特定實施方案,但本發明之實施例並不限於圖6中所示之特定實施方案,且可按其他組態或使用其他通信協定實施該串聯之INSN與以通信方式並聯耦合至其之一個或多個INSN之間的並列本端匯流排通信。
在一個或多個實施例中,一INSN可包含一匯流排管理模組,例如,643-1A、643-1B、...、643-MB。舉例而言,在圖6中所圖解說明之實施例中,匯流排管理模組643-1A係以通信方式耦合至通道1之串列主機匯流排(例如,信號線644-1、646-1及648-1)及與通道1相關聯之同步並列本端匯流排(例如,信號線645-1、647-1及649-1)。匯流排管理模組643-1B、...、643-MB係以通信方式耦合至與通道1相關聯之並列本端匯流排,例如,信號線645-1、647-1及649-1。該匯流排管理模組可經組態以控制連接至其之一時控串列主機匯流排及/或一時控同步並列本端匯流排。
一媒體控制器(例如,632-1A、632-1B、...、632-MB)可以通信方式耦合於一各別匯流排管理模組(例如,643-1A、643-1B、...、643-MB)與對應於通道1之各別數目個記憶體裝置(例如,612-1A1、612-1A2、612-1B1、612-1B2、...、612-MB1、612-MB2)之間。
對應於通道1之記憶體裝置(例如,612-1A1、612-1A2、612-1B1、612-1B2、...、612-MB1、612-MB2)可包含可經配置以提供特定實體或邏輯組態(例如,一頁、區塊、平面、陣列或其他群組)之若干記憶體單元。根據一個或多個實施例,該等INSN可各自組態為一多晶片封裝,例如,640-1A、640-1B、...、640-MB。在某些實施例中,該多晶片封裝可具有用於資料、控制、電力及接地信號之少於20個接針。舉例而言,一個或多個實施例之多晶片封裝可具有用於一主機匯流排之資料及控制信號之三個(更少個)接針及用於並列本端匯流排之額外接針,如圖6中所示。
雖然圖6中顯示若干INSN(例如,630-1B、...、630-MB)以通信方式並聯耦合至一串聯之INSN(例如,630-1A),但本發明之實施例並不限於此等數量個分別串聯及並聯耦合之INSN。更多或更少個INSN可對應於一特定串聯之INSN(例如,630-1A)以通信方式並聯耦合。此外,本發明之實施例並不限於使相同數量個串聯之INSN及/或並聯耦合之INSN以通信方式耦合至每一通道,且一特定通道上串聯之INSN及/或並聯耦合之INSN之數量可大於或少於另一特定通道上串聯之INSN及/或並聯耦合之INSN之數量。
圖7係根據本發明之一個或多個實施例之一智慧型NAND儲存節點(INSN)之一功能性方塊圖。INSN 730可類似於圖6中所示之INSN,例如,630-1A、630-1B、630-1C。INSN 730可包含一控制電路731(例如,一控制器),該控制電路可包含一匯流排管理器743及一媒體控制器732。媒體控制器732可類似於圖6中之INSN內所示之控制器,例如,632-1A、632-1B、632-1C。
匯流排管理器743可包含一PCle部分741以與主機匯流排介接,該主機匯流排例如,一時脈信號線(CLK)744(其可類似於圖6中所示之時脈信號線644-1)、一第一資料線(Q+/-)746(其可類似於圖6中所示之第一資料線646-1)及一第二資料線(D+/-)748(其可類似於圖6中所示之第二資料線648-1)。匯流排管理器743亦可包含一本端匯流排部分743以與本端匯流排介接,該本端匯流排例如,一時脈信號線(CLK)745、一第一資料線(Q[X:0])747及一第二資料線(D[X:0])749。如讀者將自圖7理解,第一資料線(Q)可經組態以具有Y+1個資訊資料位元之一寬度且第二資料線(D)可經組態具有X+1個資訊資料位元之一寬度。
根據一個或多個實施例,記憶體之一個或多個通道可以通信方式耦合至媒體控制器732,每一通道包含每通道多達16個NAND(例如,712-1、712-2)。本發明之實施例涵蓋其他類型、數量或配置之記憶體裝置,且通道之數目可多於或少於圖7中所圖解說明之兩個通道。
本發明包含用於一記憶體系統控制器之方法及裝置。在一個或多個實施例中,一記憶體系統控制器包含以通信方式耦合至一系統控制器之一主機介面。該系統控制器具有若干記憶體介面,且經組態以用於控制以通信方式耦合至該若干記憶體介面之複數個智慧型儲存節點。該系統控制器包含經組態以在實體記憶體位址與邏輯記憶體位址之間映射之邏輯以及經組態以管理跨越該複數個智慧型儲存節點之損耗均衡之邏輯。
在本發明之實施方式中,參考形成其之一部分之隨附圖式,且在隨附圖式中以圖解說明方式顯示可如何實踐本發明之一個或多個實施例。足夠詳細地闡述此等實施例以使得熟習此項技術者能夠實踐本發明之實施例,且應理解,亦可利用其他實施例且可在不背離本發明之範圍之情況下,做出製程、電、或結構改變。
如本文中所用,標示符「N」、「M」、「X」及「Y」(尤其關於該等圖式中之參考編號)指示如此標示之特定特徵之一編號可與本發明之一個或多個實施例包含在一起。如將瞭解,可添加、交換及/或消除本文中之各種實施例中所顯示之元件以提供本發明之若干額外實施例。另外,如將瞭解,該等圖中所提供之元件之比例及相對標度意欲圖解說明本發明之實施例且不應理解為一限制意義。
應理解,當將一第一元件稱為「連接至」另一元件或「與」另一元件「耦合」時,意欲將該第一元件在實體上附接至該兩個元件中之另一者。相比之下,當將元件稱為「以通信方式耦合」時,該等元件係相互通信。
應理解,當將一元件稱為「位於」另一元件「上」、「連接至」另一元件或「與」另一元件「耦合」時,其可係直接位於另一元件或層上、連接至另一元件或層或與另一元件或層耦合,或可存在介入元件或層。相比之下,當將一元件稱為「直接位於」另一元件或層「上」、「直接連接至」另一元件或層,或「直接與」另一元件或層「耦合」時,不存在介入元件或層。如本文中所用,術語「及/或」包含相關聯所列舉物項中之一者或多者之任一及全部組合。
應理解,雖然本文中可使用第一、第二等術語來闡述各種元件、組件、區域、層及/或區段,但此等元件、組件、區域、佈線、層及/或區段不應受限於此等術語。該等術語僅用以將一個元件、組件、區域、佈線、層或區段與另一區域、層或區段區分開。因此,可將下文所論述之一第一元件、組件、區域、佈線、層或區段稱作一第二元件、組件、區域、佈線、層或區段,此並不背離本發明之教示。
為便於說明,本文中可使用諸如「位於...下面」、「位於...之下」、「下部」、「位於...之上」、「上部」及類似者等空間相對術語來闡述如圖中所圖解說明之一個元件或特徵與另一(其他)元件或特徵之關係而非在空間中之一絕對定向。應理解,該等空間相對術語意欲囊括除圖中所繪示之定向外的裝置在使用或作業中之不同定向。舉例而言,若將圖中之裝置反轉,則闡述為「位於」其他元件或特徵「之下」或「下麵」之元件將定向為「位於」其他元件或特徵「之上」。因此,實例性術語「位於...之下」可囊括在...之上及在...之下兩種定向。裝置可按其他方式定向(旋轉90度或以其他定向)且可相應地解釋本文中所用之空間相對描述語。
本文中所用之術語僅係出於闡述特定實施例之目的且並非意欲限制本發明。如本文中所用,單數形式「一(a)」、「一(an)」及「該(the)」意欲亦包含複數形式,除非上下文另有明確指示。應進一步理解,當本說明書中使用術語「包括(comprises)」及「包括(comprising)」時,其規定存在所陳述特徵、整數、步驟、作業、元件或組件,但不排除存在或添加一個或多個其他特徵、整數、步驟、作業、元件、組件或其群組。
除非另外界定,否則本文中所用之所有術語(包含技術及科學術語)具有與熟習此項技術者通常理解之意義相同的意義。應進一步理解,應將諸如在常用字典中所界定之彼等術語等術語解釋為具有與其在相關技術及本發明之上下文中之意義相一致之一意義,且不應以理想化或過分形式化之意義來解釋,除非本文中明確如此界定。
本文參考功能性方塊圖來闡述本發明之實施例,該等功能性方塊圖係本發明之理想化實施例之示意性圖解說明。如此,預期該等圖解說明之形狀會因(例如)製造技術及/或公差而發生變化。因此,本發明之實施例不應被理解為僅限於本文中所圖解說明之區域之特定形狀,而欲包含因(例如)製造所引起之形狀偏差。舉例而言,圖解說明或闡述為扁平之一區域通常可具有粗糙及/或非線性特徵。此外,可將所圖解說明之銳角修圓。因此,該等圖中所圖解說明之區域係示意性性質,且其形狀及相對大小、厚度等並非意欲圖解說明一區域之精確形狀/大小/厚度且並非意欲限制本發明之範疇。
雖然本文中已圖解說明及闡述了具體實施例,但熟習此項技術者將瞭解,經計算以達成相同結果之一配置可替代所顯示之具體實施例。本發明意欲涵蓋本發明之一個或多個實施例之修改或變型。應理解,已以一說明性方式而非一限制性方式做出以上說明。在審閱以上說明後,熟習此項技術者將明瞭以上實施例之組合及本文中未具體闡述之其他實施例。本發明之一個或多個實施例之範疇包含其中使用以上結構及方法之其他應用。因此,應參考隨附申請專利範圍連同授權此申請專利範圍之等效物之全部範圍一起來確定本發明之一個或多個實施例之範疇。
在前述實施方式中,出於簡化本發明之目的而將某些特徵一起集合於一單個實施例中。本發明之此方法不應解釋為反映本發明之所揭示實施例必須使用比每一請求項中所明確陳述之特徵更多的特徵之一意圖。而是,如以下專利申請範圍反映:發明性標的物在於少於一單個所揭示實施例之所有特徵。因此,藉此將以下申請專利範圍併入至實施方式中,其中每一請求項獨立地作為一單獨實施例。
100...計算系統
102...主機系統
104...記憶體系統
105...處理器
106...通信介面
107...記憶體及匯流排控制件
109...週邊及匯流排控制件
111...動態隨機存取記憶體
113...圖形使用者介面
115...快閃驅動器
117...非揮發性記憶體主機控制介面(NVMHCI)快閃記憶體
200...計算系統
202...主機系統
204...記憶體系統
206...介面
208...實體介面
210...系統控制器
212-N...記憶體裝置
214...主機介面
216...碟驅動器仿真邏輯
218-N...記憶體控制器/記憶體通道控制器/記憶體控制器電路
300...計算系統
302...主機系統
304...記憶體系統
306...介面
308...實體介面
312-1...記憶體裝置
312-N...記憶體裝置
324-1...串列介面
324-N...串列介面
327...邏輯
328...集中式損耗均衡邏輯
330-1...儲存節點
330-N...儲存節點
332-1...節點控制器
332-N...節電控制器
334-1...串列匯流排
334-N...串列匯流排
336-1...開放式NAND快閃介面(ONFi)
336-N...開放式NAND快閃介面(ONFi)
412-1A1...記憶體裝置
412-1A2...記憶體裝置
412-1B1...記憶體裝置
412-1B2...記憶體裝置
412-NA1...記憶體裝置
412-NA2...記憶體裝置
412-NB1...記憶體裝置
412-NB2...記憶體裝置
415...記憶體系統控制器
424-1...串列介面
424-N...串列介面
430-1A...智慧型NAND儲存節點
430-1B...智慧型NAND儲存節點
430-NA...智慧型NAND儲存節點
430-NB...智慧型NAND儲存節點
432-1A...節點控制器
432-1B...節點控制器
432-NA...節點控制器
432-NB...節點控制器
440-1A...多晶片封裝
440-1B...多晶片封裝
440-NA...多晶片封裝
440-NB...多晶片封裝
442-1A...匯流排管理模組
442-1B...匯流排管理模組
442-NA...匯流排管理模組
442-NB...匯流排管理模組
444-1...時脈信號線
444-N...時脈信號線
446-1...第二資料線
446-N...第二資料線
448-1...第一資料線
448-N...第一資料線
512-1A1...記憶體裝置
512-1A2...記憶體裝置
512-1B1...記憶體裝置
512-1B2...記憶體裝置
512-1C1...記憶體裝置
512-1C2...記憶體裝置
515...記憶體系統控制器
524-1...第一同步介面
530-1A...智慧型NAND儲存節點
530-1B...智慧型NAND儲存節點
530-1C...智慧型NAND儲存節點
532-1A...節點控制器
532-1B...節點控制器
532-1C...節點控制器
540-1A...多晶片封裝
540-1B...多晶片封裝
540-1C...多晶片封裝
542-1A...匯流排管理模組
542-1B...匯流排管理模組
542-1C...匯流排管理模組
544-1...時脈信號線
546-1...第一資料線
548-1...第二資料線
612-1A1...記憶體裝置
612-1A2...記憶體裝置
612-1B1...記憶體裝置
612-1B2...記憶體裝置
612-MB1...記憶體裝置
612-MB2...記憶體裝置
615...記憶體系統控制器
624-1...介面
630-1A...智慧型NAND儲存節點
630-1B...智慧型NAND儲存節點
630-MB...智慧型NAND儲存節點
632-1A...媒體控制器
632-1B...媒體控制器
632-MB...媒體控制器
640-1A...多晶片封裝
640-1B...多晶片封裝
640-MB...多晶片封裝
643-1A...匯流排管理模組
643-1B...匯流排管理模組
643-MB...匯流排管理模組
644-1...時脈信號線
645-1...時脈信號線
646-1...第一資料線
647-1...第一資料線
648-1...第二資料線
649-1...第二資料線
712-1...每通道達16個NAND
712-2...每通道達16個NAND
730...INSN
731...控制電路
732...媒體控制器
741...PCle部分
743...匯流排管理器/本端匯流排部分
744...時脈信號線
745...時脈信號線
746...第一資料線
747...第一資料線
748...第二資料線
749...第二資料線
圖1係根據本發明之一個或多個實施例之一計算系統之一功能性方塊圖;
圖2係包含一記憶體系統之一先前技術計算系統之一功能性方塊圖;
圖3係根據本發明之一個或多個實施例之包含一記憶體系統控制器之一計算系統之一功能性方塊圖;
圖4係根據本發明之一個或多個實施例之包含以通信方式串聯之若干智慧型儲存節點之一記憶體系統之一功能性方塊圖;
圖5係根據本發明之一個或多個實施例之包含以通信方式並聯耦合之若干智慧型儲存節點之一記憶體系統之一功能性方塊圖;
圖6係根據本發明之一個或多個實施例之包含以通信方式串聯之至少一個智慧型儲存節點與以通信方式並聯耦合至其之若干智慧型儲存節點之一記憶體系統之一功能性方塊圖;及
圖7係根據本發明之一個或多個實施例之一智慧型儲存節點之一功能性方塊圖。
300...計算系統
302...主機系統
304...記憶體系統
306...介面
308...實體介面
314...主機介面
315...記憶體系統控制器
320...系統控制器及主機介面
326...實體位址至邏輯位址映射邏輯
327...邏輯
328...集中式損耗均衡邏輯
312-1...記憶體裝置
312-N...記憶體裝置
324-1...串列介面
324-N...串列介面
330-1...儲存節點
330-N...儲存節點
332-1...節點控制器
332-N...節電控制器
334-1...串列匯流排
334-N...串列匯流排
336-1...開放式NAND快閃介面(ONFi)
336-N...開放式NAND快閃介面(ONFi)
Claims (39)
- 一種系統控制器,其包括:一主機介面;及一記憶體系統控制器,其以通信方式耦合至該主機介面,且具有若干記憶體介面,其中該記憶體系統控制器經組態以用於控制以通信方式耦合至該若干記憶體介面之複數個智慧型NAND儲存節點(INSN),該複數個INSN之每一者包括一以通信方式耦合至若干記憶體裝置之節點控制器,該記憶體系統控制器經組態以將該複數個INSN整體作為一單一記憶體系統集中管理跨越該複數個INSN整體之損耗均衡,且其中集中管理損耗均衡包括偵測INSN之間損耗之不同、偵測與一特定INSN相關聯之若干記憶體裝置之間損耗之不同、及偵測與多個INSN相關聯之記憶體裝置之間損耗之不同。
- 如請求項1之系統控制器,其中該等記憶體介面係同步記憶體介面。
- 如請求項2之系統控制器,其中該等INSN之一第一部分係以通信方式並聯耦合至該若干同步記憶體介面中之一者。
- 如請求項3之系統控制器,其中該等INSN之一第二部分係以通信方式並聯耦合至該若干同步記憶體介面中之一不同一者。
- 如請求項1之系統控制器,其中該等記憶體介面係串列 記憶體介面。
- 如請求項5之系統控制器,其中該記憶體系統控制器經組態以在沒有邏輯區塊資訊之情況下產生實體頁記憶體存取請求。
- 如請求項5之系統控制器,其中該若干串列記憶體介面中之每一者經組態以與以通信方式耦合至其之至少兩個INSN通信。
- 如請求項5之系統控制器,其中該記憶體系統控制器包含經組態以在實體記憶體位址與邏輯記憶體位址之間映射之邏輯。
- 如請求項5之系統控制器,其中經組態以集中管理跨越該若干INSN之損耗均衡之該邏輯包含經組態以管理跨越複數個INSN之該若干記憶體裝置之損耗均衡之邏輯。
- 如請求項9之系統控制器,其中經組態以集中管理跨越該若干INSN之損耗均衡之該邏輯包含經組態以管理跨越所有INSN之所有記憶體裝置之損耗均衡之邏輯。
- 一種記憶體系統,其包括:一系統控制器及主機介面(SCHI),其包含:一主機介面,及一記憶體系統控制器,其以通信方式耦合至該主機介面,且具有至少兩個串列記憶體介面;及複數個儲存節點,其等以通信方式耦合至該至少兩個串列記憶體介面,該複數個儲存節點之每一者包括一以通信方式耦合至若干記憶體裝置之節點控制器, 其中該記憶體系統控制器經組態以用於將該複數個儲存節點整體作為一單一記憶體系統集中管理跨越該複數個儲存節點整體之損耗均衡,其中集中管理損耗均衡包括偵測儲存節點之間損耗之不同、偵測與一特定儲存節點相關聯之若干記憶體裝置之間損耗之不同、及偵測與多個儲存節點相關聯之記憶體裝置之間損耗之不同。
- 如請求項11之記憶體系統,其中該複數個儲存節點係智慧型NAND儲存節點(INSN)。
- 如請求項11之記憶體系統,其中該記憶體系統控制器經組態以控制該複數個儲存節點,包括為該複數個儲存節點提供集中式實體位址至邏輯位址轉譯。
- 如請求項11之記憶體系統,其中該若干記憶體裝置係NAND快閃記憶體裝置。
- 如請求項14之記憶體系統,其中每一節點記憶體控制器係藉由一開放式NAND快閃介面(ONFi)以通信方式耦合至該若干NAND快閃記憶體裝置。
- 如請求項15之記憶體系統,其中該複數個儲存節點係各自按一多晶片封裝組態。
- 如請求項16之記憶體系統,其中該多晶片封裝具有少於20個接針。
- 如請求項17之記憶體系統,其中該多晶片封裝針對資料及控制信號具有不多於3個接針。
- 如請求項11之記憶體系統,其中該複數個儲存節點係固 態硬碟。
- 一種記憶體系統,其包括:複數個智慧型NAND儲存節點(INSN);及一記憶體系統控制器,其透過一第一串列介面以通信方式耦合至該複數個INSN之一第一部分,且透過一第二串列介面以通信方式耦合至該複數個INSN之一第二部分,該複數個INSN之每一者包括一以通信方式耦合至若干記憶體裝置之節點控制器,其中該記憶體系統控制器經組態以將該複數個INSN整體作為一單一記憶體系統集中管理跨越該複數個INSN整體之損耗均衡,且其中集中管理損耗均衡包括偵測INSN之間損耗之不同、偵測與一特定INSN相關聯之若干記憶體裝置之間損耗之不同、及偵測與多個INSN相關聯之記憶體裝置之間損耗之不同。
- 如請求項20之記憶體系統,其中該複數個INSN之該第一部分包含多個INSN及/或該複數個INSN之該第二部分包含多個INSN。
- 如請求項21之記憶體系統,其中該記憶體系統控制器經組態以在由一主機系統使用之邏輯記憶體位址與由該複數個INSN使用之實體記憶體位址之間映射。
- 如請求項21之記憶體系統,其中該第一及第二串列介面皆係一串列通信匯流排,且該複數個INSN之該第一部分係按一菊鏈配置至該第一串列通信匯流排,且該複數個 INSN之該第二部分係按一菊鏈配置至該第二串列通信匯流排。
- 如請求項23之記憶體系統,其中該等INSN中之每一者皆包含一匯流排管理模組。
- 如請求項24之記憶體系統,其中每一匯流排管理模組係以通信方式耦合至該節點記憶體控制器,且經組態以控制用於將資料傳輸至該記憶體系統控制器之一串列通信匯流排。
- 如請求項24之記憶體系統,其中該複數個INSN各自包含若干NAND快閃記憶體裝置,且該節點控制器以通信方式耦合於其上之該等NAND快閃記憶體裝置與該記憶體系統控制器之間。
- 如請求項26之記憶體系統,其中每一節點控制器經組態以控制NAND快閃記憶體裝置存取且管理NAND快閃記憶體裝置缺陷。
- 如請求項26之記憶體系統,其中每一節點控制器經組態以偵測且校正儲存於該等NAND快閃記憶體裝置中之資料中之錯誤。
- 一種運作一記憶體系統之方法,其包括:使用若干串列通信介面在複數個儲存節點與一記憶體系統控制器之間建立通信,該複數個儲存節點中之每一者具有以通信方式耦合於一特定串列通信介面與若干記憶體裝置之間的一節點控制器;在該記憶體系統控制器處將該複數個儲存節點整體作 為一單一記憶體系統集中管理該複數個儲存節點整體中之損耗均衡;及在該記憶體系統控制器處針對該複數個儲存節點在邏輯位址與實體位址之間轉譯,其中集中管理損耗均衡包括偵測儲存節點之間損耗之不同、偵測與一特定儲存節點相關聯之若干記憶體裝置之間損耗之不同、及偵測與多個儲存節點相關聯之記憶體裝置之間損耗之不同。
- 如請求項29之方法,其中集中管理損耗均衡包含在該記憶體系統控制器處集中管理一特定儲存節點之該若干記憶體裝置中之損耗均衡。
- 如請求項30之方法,其中集中管理損耗均衡包含在與一特定儲存節點相關聯之該節點控制器處集中管理該特定儲存節點之該若干記憶體裝置中之錯誤校正。
- 如請求項31之方法,其中集中管理損耗均衡包含在該記憶體系統控制器處集中管理多個儲存節點之該若干記憶體裝置中之損耗均衡。
- 如請求項32之方法,其中每一節點控制器藉由一開放式NAND快閃介面(ONFi)以通信方式耦合至該若干記憶體裝置。
- 如請求項32之方法,其中集中管理多個儲存節點之該若干記憶體裝置中之損耗均衡包含偵測一個別記憶體裝置中高於一限制之損耗。
- 如請求項34之方法,其中該限制係一預設固定限制。
- 如請求項34之方法,其中該限制係一動態限制。
- 一種運作一記憶體系統之方法,其包括:自一主機系統接收一寫入命令及對應於一邏輯位址範圍之相關聯資料;基於若干儲存節點中之集中式損耗均衡在一記憶體系統控制器處確定該若干儲存節點整體中用以儲存該相關聯資料之一特定儲存節點,該若干儲存節點整體作為一單一記憶體系統以損耗均衡;將該邏輯位址範圍映射至該特定儲存節點之實體位址;及透過儲存節點之一菊花鏈將該資料串列傳輸至該特定儲存節點,其中該複數個儲存節點之每一者包括一以通信方式耦合至若干記憶體裝置之節點控制器,且其中集中式損耗均衡包括偵測儲存節點之間損耗之不同、偵測與一特定儲存節點相關聯之若干記憶體裝置之間損耗之不同、及偵測與多個儲存節點相關聯之記憶體裝置之間損耗之不同。
- 如請求項37之方法,其中該若干儲存節點係智慧型NAND儲存節點(INSN),且該方法包含在不參考邏輯區塊之情況下由該記憶體系統控制器將實體頁存取請求傳遞至該等INSN。
- 如請求項38之方法,其包含在透過儲存節點之一菊花鏈串列傳輸該資料之前,在該記憶體系統控制器上將碟驅動協定轉譯成原始NAND命令。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/350,686 US8412880B2 (en) | 2009-01-08 | 2009-01-08 | Memory system controller to manage wear leveling across a plurality of storage nodes |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201102827A TW201102827A (en) | 2011-01-16 |
TWI484341B true TWI484341B (zh) | 2015-05-11 |
Family
ID=42312440
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098146471A TWI484341B (zh) | 2009-01-08 | 2009-12-31 | 記憶體系統控制器 |
TW102146283A TW201418989A (zh) | 2009-01-08 | 2009-12-31 | 記憶體系統控制器 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102146283A TW201418989A (zh) | 2009-01-08 | 2009-12-31 | 記憶體系統控制器 |
Country Status (7)
Country | Link |
---|---|
US (2) | US8412880B2 (zh) |
EP (1) | EP2377027B1 (zh) |
JP (1) | JP5453661B2 (zh) |
KR (1) | KR101274306B1 (zh) |
CN (1) | CN102272745B (zh) |
TW (2) | TWI484341B (zh) |
WO (1) | WO2010080141A2 (zh) |
Families Citing this family (235)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8924661B1 (en) * | 2009-01-18 | 2014-12-30 | Apple Inc. | Memory system including a controller and processors associated with memory devices |
US9037986B2 (en) * | 2009-03-20 | 2015-05-19 | Lara M. Sosnosky | Online virtual safe deposit box user experience |
US8341338B2 (en) * | 2009-05-06 | 2012-12-25 | Samsung Electronics Co., Ltd. | Data storage device and related method of operation |
US8370712B2 (en) * | 2009-07-23 | 2013-02-05 | International Business Machines Corporation | Memory management in a non-volatile solid state memory device |
US8407449B1 (en) | 2010-02-26 | 2013-03-26 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory storing an inverse map for rebuilding a translation table |
US9104546B2 (en) * | 2010-05-24 | 2015-08-11 | Silicon Motion Inc. | Method for performing block management using dynamic threshold, and associated memory device and controller thereof |
US12008266B2 (en) | 2010-09-15 | 2024-06-11 | Pure Storage, Inc. | Efficient read by reconstruction |
US11614893B2 (en) | 2010-09-15 | 2023-03-28 | Pure Storage, Inc. | Optimizing storage device access based on latency |
US10108684B2 (en) | 2010-11-02 | 2018-10-23 | Micron Technology, Inc. | Data signal mirroring |
US9195588B2 (en) * | 2010-11-02 | 2015-11-24 | Hewlett-Packard Development Company, L.P. | Solid-state disk (SSD) management |
US8626989B2 (en) | 2011-02-02 | 2014-01-07 | Micron Technology, Inc. | Control arrangements and methods for accessing block oriented nonvolatile memory |
US8595415B2 (en) | 2011-02-02 | 2013-11-26 | Micron Technology, Inc. | At least semi-autonomous modules in a memory system and methods |
US8732431B2 (en) | 2011-03-06 | 2014-05-20 | Micron Technology, Inc. | Logical address translation |
US8856482B2 (en) | 2011-03-11 | 2014-10-07 | Micron Technology, Inc. | Systems, devices, memory controllers, and methods for memory initialization |
US9239806B2 (en) * | 2011-03-11 | 2016-01-19 | Micron Technology, Inc. | Systems, devices, memory controllers, and methods for controlling memory |
US9135160B1 (en) | 2011-03-28 | 2015-09-15 | Rambus Inc. | Devices, systems, and methods for wear leveling memory |
US9514838B2 (en) | 2011-05-31 | 2016-12-06 | Micron Technology, Inc. | Apparatus including memory system controllers and related methods for memory management using block tables |
US8806090B2 (en) * | 2011-05-31 | 2014-08-12 | Micron Technology, Inc. | Apparatus including buffer allocation management and related methods |
US8589640B2 (en) | 2011-10-14 | 2013-11-19 | Pure Storage, Inc. | Method for maintaining multiple fingerprint tables in a deduplicating storage system |
US8700834B2 (en) | 2011-09-06 | 2014-04-15 | Western Digital Technologies, Inc. | Systems and methods for an enhanced controller architecture in data storage systems |
US8713357B1 (en) | 2011-09-06 | 2014-04-29 | Western Digital Technologies, Inc. | Systems and methods for detailed error reporting in data storage systems |
US9195530B1 (en) | 2011-09-06 | 2015-11-24 | Western Digital Technologies, Inc. | Systems and methods for improved data management in data storage systems |
US8707104B1 (en) | 2011-09-06 | 2014-04-22 | Western Digital Technologies, Inc. | Systems and methods for error injection in data storage systems |
US8880819B2 (en) | 2011-12-13 | 2014-11-04 | Micron Technology, Inc. | Memory apparatuses, computer systems and methods for ordering memory responses |
KR101404260B1 (ko) * | 2011-12-23 | 2014-06-05 | 한양대학교 산학협력단 | 플래시 메모리의 수명 인디케이터를 제공하는 장치 및 장치 |
US9740439B2 (en) | 2011-12-23 | 2017-08-22 | International Business Machines Corporation | Solid-state storage management |
US20130185487A1 (en) * | 2012-01-18 | 2013-07-18 | Samsung Electronics Co., Ltd | Memory system and mobile device including host and flash memory-based storage device |
CN103226528A (zh) * | 2012-01-31 | 2013-07-31 | 上海华虹集成电路有限责任公司 | 多通道与非型闪存控制器 |
US9053008B1 (en) | 2012-03-26 | 2015-06-09 | Western Digital Technologies, Inc. | Systems and methods for providing inline parameter service in data storage devices |
US9003224B2 (en) | 2012-04-25 | 2015-04-07 | Western Digital Technologies, Inc. | Managing unreliable memory in data storage systems |
US9846641B2 (en) | 2012-06-18 | 2017-12-19 | International Business Machines Corporation | Variability aware wear leveling |
US8898548B1 (en) | 2012-08-24 | 2014-11-25 | Western Digital Technologies, Inc. | Methods, data storage devices and systems having variable size ECC page size |
TWI492051B (zh) * | 2012-09-05 | 2015-07-11 | Silicon Motion Inc | 資料儲存裝置與快閃記憶體控制方法 |
US9268682B2 (en) | 2012-10-05 | 2016-02-23 | Skyera, Llc | Methods, devices and systems for physical-to-logical mapping in solid state drives |
US9507523B1 (en) | 2012-10-12 | 2016-11-29 | Western Digital Technologies, Inc. | Methods, devices and systems for variable size logical page management in a solid state drive |
US9489296B1 (en) | 2012-10-17 | 2016-11-08 | Western Digital Technologies, Inc. | Methods, devices and systems for hardware-based garbage collection in solid state drives |
US8954694B2 (en) | 2012-11-15 | 2015-02-10 | Western Digital Technologies, Inc. | Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive |
KR101420754B1 (ko) * | 2012-11-22 | 2014-07-17 | 주식회사 이에프텍 | 비휘발성 메모리 시스템 및 이를 위한 맵핑 테이블 관리 방법 |
US9367262B2 (en) * | 2013-02-26 | 2016-06-14 | Seagate Technology Llc | Assigning a weighting to host quality of service indicators |
US10042750B2 (en) | 2013-03-15 | 2018-08-07 | Micron Technology, Inc. | Apparatuses and methods for adaptive control of memory using an adaptive memory controller with a memory management hypervisor |
US9117504B2 (en) | 2013-07-03 | 2015-08-25 | Micron Technology, Inc. | Volume select for affecting a state of a non-selected memory volume |
US9898404B2 (en) * | 2013-07-14 | 2018-02-20 | Cnex Labs | Method and apparatus for providing improved garbage collection process in solid state drive |
US9645894B2 (en) * | 2013-12-26 | 2017-05-09 | Silicon Motion, Inc. | Data storage device and flash memory control method |
US9354955B1 (en) | 2014-03-19 | 2016-05-31 | Western Digital Technologies, Inc. | Partial garbage collection for fast error handling and optimized garbage collection for the invisible band |
US9367243B1 (en) | 2014-06-04 | 2016-06-14 | Pure Storage, Inc. | Scalable non-uniform storage sizes |
US11960371B2 (en) | 2014-06-04 | 2024-04-16 | Pure Storage, Inc. | Message persistence in a zoned system |
US9836234B2 (en) | 2014-06-04 | 2017-12-05 | Pure Storage, Inc. | Storage cluster |
US10574754B1 (en) | 2014-06-04 | 2020-02-25 | Pure Storage, Inc. | Multi-chassis array with multi-level load balancing |
US9003144B1 (en) | 2014-06-04 | 2015-04-07 | Pure Storage, Inc. | Mechanism for persisting messages in a storage system |
US9213485B1 (en) * | 2014-06-04 | 2015-12-15 | Pure Storage, Inc. | Storage system architecture |
US11068363B1 (en) | 2014-06-04 | 2021-07-20 | Pure Storage, Inc. | Proactively rebuilding data in a storage cluster |
US9218244B1 (en) | 2014-06-04 | 2015-12-22 | Pure Storage, Inc. | Rebuilding data across storage nodes |
US11652884B2 (en) | 2014-06-04 | 2023-05-16 | Pure Storage, Inc. | Customized hash algorithms |
US11399063B2 (en) | 2014-06-04 | 2022-07-26 | Pure Storage, Inc. | Network authentication for a storage system |
US8850108B1 (en) | 2014-06-04 | 2014-09-30 | Pure Storage, Inc. | Storage cluster |
US12137140B2 (en) | 2014-06-04 | 2024-11-05 | Pure Storage, Inc. | Scale out storage platform having active failover |
US9612952B2 (en) | 2014-06-04 | 2017-04-04 | Pure Storage, Inc. | Automatically reconfiguring a storage memory topology |
US9959203B2 (en) | 2014-06-23 | 2018-05-01 | Google Llc | Managing storage devices |
US11886308B2 (en) | 2014-07-02 | 2024-01-30 | Pure Storage, Inc. | Dual class of service for unified file and object messaging |
US9021297B1 (en) | 2014-07-02 | 2015-04-28 | Pure Storage, Inc. | Redundant, fault-tolerant, distributed remote procedure call cache in a storage system |
US11604598B2 (en) | 2014-07-02 | 2023-03-14 | Pure Storage, Inc. | Storage cluster with zoned drives |
US10114757B2 (en) | 2014-07-02 | 2018-10-30 | Pure Storage, Inc. | Nonrepeating identifiers in an address space of a non-volatile solid-state storage |
US8868825B1 (en) | 2014-07-02 | 2014-10-21 | Pure Storage, Inc. | Nonrepeating identifiers in an address space of a non-volatile solid-state storage |
US9836245B2 (en) | 2014-07-02 | 2017-12-05 | Pure Storage, Inc. | Non-volatile RAM and flash memory in a non-volatile solid-state storage |
US9747229B1 (en) | 2014-07-03 | 2017-08-29 | Pure Storage, Inc. | Self-describing data format for DMA in a non-volatile solid-state storage |
US10853311B1 (en) | 2014-07-03 | 2020-12-01 | Pure Storage, Inc. | Administration through files in a storage system |
US9811677B2 (en) | 2014-07-03 | 2017-11-07 | Pure Storage, Inc. | Secure data replication in a storage grid |
US8874836B1 (en) | 2014-07-03 | 2014-10-28 | Pure Storage, Inc. | Scheduling policy for queues in a non-volatile solid-state storage |
CN104123249B (zh) * | 2014-07-22 | 2018-03-09 | 山西达鑫核科技有限公司 | 一种串行访问的新型动态存储器sddr架构阵列 |
WO2016013076A1 (ja) * | 2014-07-23 | 2016-01-28 | 富士通株式会社 | 情報処理装置、メモリコントローラ、記憶装置の制御プログラム及び記憶装置の制御方法 |
US10528461B2 (en) * | 2014-08-04 | 2020-01-07 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Controlling wear among flash memory devices based on remaining warranty |
US9558069B2 (en) | 2014-08-07 | 2017-01-31 | Pure Storage, Inc. | Failure mapping in a storage array |
US9495255B2 (en) | 2014-08-07 | 2016-11-15 | Pure Storage, Inc. | Error recovery in a storage cluster |
US10983859B2 (en) | 2014-08-07 | 2021-04-20 | Pure Storage, Inc. | Adjustable error correction based on memory health in a storage unit |
US9766972B2 (en) | 2014-08-07 | 2017-09-19 | Pure Storage, Inc. | Masking defective bits in a storage array |
US9082512B1 (en) | 2014-08-07 | 2015-07-14 | Pure Storage, Inc. | Die-level monitoring in a storage cluster |
US9483346B2 (en) | 2014-08-07 | 2016-11-01 | Pure Storage, Inc. | Data rebuild on feedback from a queue in a non-volatile solid-state storage |
US10079711B1 (en) | 2014-08-20 | 2018-09-18 | Pure Storage, Inc. | Virtual file server with preserved MAC address |
US9710176B1 (en) * | 2014-08-22 | 2017-07-18 | Sk Hynix Memory Solutions Inc. | Maintaining wear spread by dynamically adjusting wear-leveling frequency |
US20160062698A1 (en) * | 2014-08-26 | 2016-03-03 | Marvell World Trade Ltd. | Storage device controller architecture |
US9582201B2 (en) * | 2014-09-26 | 2017-02-28 | Western Digital Technologies, Inc. | Multi-tier scheme for logical storage management |
US9678677B2 (en) * | 2014-12-09 | 2017-06-13 | Intel Corporation | Determining adjustments to the spare space in a storage device unavailable to a user based on a current consumption profile of a storage device |
US10338817B2 (en) * | 2014-12-30 | 2019-07-02 | Sandisk Technologies Llc | Systems and methods for storage recovery |
US9948615B1 (en) | 2015-03-16 | 2018-04-17 | Pure Storage, Inc. | Increased storage unit encryption based on loss of trust |
US11294893B2 (en) | 2015-03-20 | 2022-04-05 | Pure Storage, Inc. | Aggregation of queries |
US9940234B2 (en) | 2015-03-26 | 2018-04-10 | Pure Storage, Inc. | Aggressive data deduplication using lazy garbage collection |
US10082985B2 (en) | 2015-03-27 | 2018-09-25 | Pure Storage, Inc. | Data striping across storage nodes that are assigned to multiple logical arrays |
US10178169B2 (en) | 2015-04-09 | 2019-01-08 | Pure Storage, Inc. | Point to point based backend communication layer for storage processing |
US9672125B2 (en) | 2015-04-10 | 2017-06-06 | Pure Storage, Inc. | Ability to partition an array into two or more logical arrays with independently running software |
US10140149B1 (en) | 2015-05-19 | 2018-11-27 | Pure Storage, Inc. | Transactional commits with hardware assists in remote memory |
US9817576B2 (en) | 2015-05-27 | 2017-11-14 | Pure Storage, Inc. | Parallel update to NVRAM |
US9502082B1 (en) | 2015-06-24 | 2016-11-22 | Intel Corporation | Power management in dual memory platforms |
US10846275B2 (en) | 2015-06-26 | 2020-11-24 | Pure Storage, Inc. | Key management in a storage device |
US10983732B2 (en) | 2015-07-13 | 2021-04-20 | Pure Storage, Inc. | Method and system for accessing a file |
US10445251B2 (en) | 2015-07-14 | 2019-10-15 | Western Digital Technologies, Inc. | Wear leveling in non-volatile memories |
US10452560B2 (en) | 2015-07-14 | 2019-10-22 | Western Digital Technologies, Inc. | Wear leveling in non-volatile memories |
US9921969B2 (en) | 2015-07-14 | 2018-03-20 | Western Digital Technologies, Inc. | Generation of random address mapping in non-volatile memories using local and global interleaving |
US10445232B2 (en) | 2015-07-14 | 2019-10-15 | Western Digital Technologies, Inc. | Determining control states for address mapping in non-volatile memories |
US10452533B2 (en) | 2015-07-14 | 2019-10-22 | Western Digital Technologies, Inc. | Access network for address mapping in non-volatile memories |
US11232079B2 (en) | 2015-07-16 | 2022-01-25 | Pure Storage, Inc. | Efficient distribution of large directories |
US10108355B2 (en) | 2015-09-01 | 2018-10-23 | Pure Storage, Inc. | Erase block state detection |
US11269884B2 (en) | 2015-09-04 | 2022-03-08 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
US11341136B2 (en) | 2015-09-04 | 2022-05-24 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
US20170091127A1 (en) * | 2015-09-25 | 2017-03-30 | Intel Corporation | Techniques to Couple with a Storage Device via Multiple Communication Ports |
US9768953B2 (en) | 2015-09-30 | 2017-09-19 | Pure Storage, Inc. | Resharing of a split secret |
US10762069B2 (en) | 2015-09-30 | 2020-09-01 | Pure Storage, Inc. | Mechanism for a system where data and metadata are located closely together |
US10853266B2 (en) | 2015-09-30 | 2020-12-01 | Pure Storage, Inc. | Hardware assisted data lookup methods |
US9843453B2 (en) | 2015-10-23 | 2017-12-12 | Pure Storage, Inc. | Authorizing I/O commands with I/O tokens |
TWI629638B (zh) * | 2015-11-10 | 2018-07-11 | 慧榮科技股份有限公司 | 儲存裝置及其任務執行方法、對應於儲存裝置的主機及其任務執行方法、以及應用於儲存裝置的控制單元 |
US10007457B2 (en) | 2015-12-22 | 2018-06-26 | Pure Storage, Inc. | Distributed transactions with token-associated execution |
KR102395195B1 (ko) * | 2016-01-07 | 2022-05-10 | 삼성전자주식회사 | 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템 |
US10261690B1 (en) | 2016-05-03 | 2019-04-16 | Pure Storage, Inc. | Systems and methods for operating a storage system |
US11231858B2 (en) | 2016-05-19 | 2022-01-25 | Pure Storage, Inc. | Dynamically configuring a storage system to facilitate independent scaling of resources |
US10691567B2 (en) | 2016-06-03 | 2020-06-23 | Pure Storage, Inc. | Dynamically forming a failure domain in a storage system that includes a plurality of blades |
US10353588B1 (en) * | 2016-06-30 | 2019-07-16 | EMC IP Holding Company LLC | Managing dynamic resource reservation for host I/O requests |
US11706895B2 (en) | 2016-07-19 | 2023-07-18 | Pure Storage, Inc. | Independent scaling of compute resources and storage resources in a storage system |
US11861188B2 (en) | 2016-07-19 | 2024-01-02 | Pure Storage, Inc. | System having modular accelerators |
US10768819B2 (en) | 2016-07-22 | 2020-09-08 | Pure Storage, Inc. | Hardware support for non-disruptive upgrades |
US11449232B1 (en) | 2016-07-22 | 2022-09-20 | Pure Storage, Inc. | Optimal scheduling of flash operations |
US9672905B1 (en) | 2016-07-22 | 2017-06-06 | Pure Storage, Inc. | Optimize data protection layouts based on distributed flash wear leveling |
US11080155B2 (en) | 2016-07-24 | 2021-08-03 | Pure Storage, Inc. | Identifying error types among flash memory |
US11604690B2 (en) | 2016-07-24 | 2023-03-14 | Pure Storage, Inc. | Online failure span determination |
US10216420B1 (en) | 2016-07-24 | 2019-02-26 | Pure Storage, Inc. | Calibration of flash channels in SSD |
US10366004B2 (en) | 2016-07-26 | 2019-07-30 | Pure Storage, Inc. | Storage system with elective garbage collection to reduce flash contention |
US11797212B2 (en) | 2016-07-26 | 2023-10-24 | Pure Storage, Inc. | Data migration for zoned drives |
US11734169B2 (en) | 2016-07-26 | 2023-08-22 | Pure Storage, Inc. | Optimizing spool and memory space management |
US10203903B2 (en) | 2016-07-26 | 2019-02-12 | Pure Storage, Inc. | Geometry based, space aware shelf/writegroup evacuation |
US11886334B2 (en) | 2016-07-26 | 2024-01-30 | Pure Storage, Inc. | Optimizing spool and memory space management |
US11422719B2 (en) | 2016-09-15 | 2022-08-23 | Pure Storage, Inc. | Distributed file deletion and truncation |
US12039165B2 (en) | 2016-10-04 | 2024-07-16 | Pure Storage, Inc. | Utilizing allocation shares to improve parallelism in a zoned drive storage system |
US10545861B2 (en) | 2016-10-04 | 2020-01-28 | Pure Storage, Inc. | Distributed integrated high-speed solid-state non-volatile random-access memory |
US9747039B1 (en) | 2016-10-04 | 2017-08-29 | Pure Storage, Inc. | Reservations over multiple paths on NVMe over fabrics |
US10756816B1 (en) | 2016-10-04 | 2020-08-25 | Pure Storage, Inc. | Optimized fibre channel and non-volatile memory express access |
US10481798B2 (en) | 2016-10-28 | 2019-11-19 | Pure Storage, Inc. | Efficient flash management for multiple controllers |
US11550481B2 (en) | 2016-12-19 | 2023-01-10 | Pure Storage, Inc. | Efficiently writing data in a zoned drive storage system |
US11307998B2 (en) | 2017-01-09 | 2022-04-19 | Pure Storage, Inc. | Storage efficiency of encrypted host system data |
US11955187B2 (en) | 2017-01-13 | 2024-04-09 | Pure Storage, Inc. | Refresh of differing capacity NAND |
US9747158B1 (en) | 2017-01-13 | 2017-08-29 | Pure Storage, Inc. | Intelligent refresh of 3D NAND |
US10979223B2 (en) | 2017-01-31 | 2021-04-13 | Pure Storage, Inc. | Separate encryption for a solid-state drive |
KR102409760B1 (ko) * | 2017-03-17 | 2022-06-17 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
US10528488B1 (en) | 2017-03-30 | 2020-01-07 | Pure Storage, Inc. | Efficient name coding |
US11016667B1 (en) | 2017-04-05 | 2021-05-25 | Pure Storage, Inc. | Efficient mapping for LUNs in storage memory with holes in address space |
US10516645B1 (en) | 2017-04-27 | 2019-12-24 | Pure Storage, Inc. | Address resolution broadcasting in a networked device |
US10141050B1 (en) | 2017-04-27 | 2018-11-27 | Pure Storage, Inc. | Page writes for triple level cell flash memory |
US10944671B2 (en) | 2017-04-27 | 2021-03-09 | Pure Storage, Inc. | Efficient data forwarding in a networked device |
US11467913B1 (en) | 2017-06-07 | 2022-10-11 | Pure Storage, Inc. | Snapshots with crash consistency in a storage system |
US11138103B1 (en) | 2017-06-11 | 2021-10-05 | Pure Storage, Inc. | Resiliency groups |
US11782625B2 (en) | 2017-06-11 | 2023-10-10 | Pure Storage, Inc. | Heterogeneity supportive resiliency groups |
US11947814B2 (en) | 2017-06-11 | 2024-04-02 | Pure Storage, Inc. | Optimizing resiliency group formation stability |
US10425473B1 (en) | 2017-07-03 | 2019-09-24 | Pure Storage, Inc. | Stateful connection reset in a storage cluster with a stateless load balancer |
US10140222B1 (en) * | 2017-07-06 | 2018-11-27 | Micron Technology, Inc. | Interface components |
US10402266B1 (en) | 2017-07-31 | 2019-09-03 | Pure Storage, Inc. | Redundant array of independent disks in a direct-mapped flash storage system |
US10831935B2 (en) | 2017-08-31 | 2020-11-10 | Pure Storage, Inc. | Encryption management with host-side data reduction |
US10877827B2 (en) | 2017-09-15 | 2020-12-29 | Pure Storage, Inc. | Read voltage optimization |
US10210926B1 (en) | 2017-09-15 | 2019-02-19 | Pure Storage, Inc. | Tracking of optimum read voltage thresholds in nand flash devices |
US10515701B1 (en) | 2017-10-31 | 2019-12-24 | Pure Storage, Inc. | Overlapping raid groups |
US10496330B1 (en) | 2017-10-31 | 2019-12-03 | Pure Storage, Inc. | Using flash storage devices with different sized erase blocks |
US11024390B1 (en) | 2017-10-31 | 2021-06-01 | Pure Storage, Inc. | Overlapping RAID groups |
US12032848B2 (en) | 2021-06-21 | 2024-07-09 | Pure Storage, Inc. | Intelligent block allocation in a heterogeneous storage system |
US10884919B2 (en) | 2017-10-31 | 2021-01-05 | Pure Storage, Inc. | Memory management in a storage system |
US12067274B2 (en) | 2018-09-06 | 2024-08-20 | Pure Storage, Inc. | Writing segments and erase blocks based on ordering |
US11354058B2 (en) | 2018-09-06 | 2022-06-07 | Pure Storage, Inc. | Local relocation of data stored at a storage device of a storage system |
US10545687B1 (en) | 2017-10-31 | 2020-01-28 | Pure Storage, Inc. | Data rebuild when changing erase block sizes during drive replacement |
US11520514B2 (en) | 2018-09-06 | 2022-12-06 | Pure Storage, Inc. | Optimized relocation of data based on data characteristics |
JP7010667B2 (ja) * | 2017-11-06 | 2022-01-26 | キオクシア株式会社 | メモリシステムおよび制御方法 |
US10860475B1 (en) | 2017-11-17 | 2020-12-08 | Pure Storage, Inc. | Hybrid flash translation layer |
US10990566B1 (en) | 2017-11-20 | 2021-04-27 | Pure Storage, Inc. | Persistent file locks in a storage system |
US10929053B2 (en) | 2017-12-08 | 2021-02-23 | Pure Storage, Inc. | Safe destructive actions on drives |
US10719265B1 (en) | 2017-12-08 | 2020-07-21 | Pure Storage, Inc. | Centralized, quorum-aware handling of device reservation requests in a storage system |
US10929031B2 (en) | 2017-12-21 | 2021-02-23 | Pure Storage, Inc. | Maximizing data reduction in a partially encrypted volume |
US10467527B1 (en) | 2018-01-31 | 2019-11-05 | Pure Storage, Inc. | Method and apparatus for artificial intelligence acceleration |
US10733053B1 (en) | 2018-01-31 | 2020-08-04 | Pure Storage, Inc. | Disaster recovery for high-bandwidth distributed archives |
US10976948B1 (en) | 2018-01-31 | 2021-04-13 | Pure Storage, Inc. | Cluster expansion mechanism |
US12135876B2 (en) * | 2018-02-05 | 2024-11-05 | Micron Technology, Inc. | Memory systems having controllers embedded in packages of integrated circuit memory |
US11416395B2 (en) | 2018-02-05 | 2022-08-16 | Micron Technology, Inc. | Memory virtualization for accessing heterogeneous memory components |
US11099789B2 (en) | 2018-02-05 | 2021-08-24 | Micron Technology, Inc. | Remote direct memory access in multi-tier memory systems |
US10782908B2 (en) | 2018-02-05 | 2020-09-22 | Micron Technology, Inc. | Predictive data orchestration in multi-tier memory systems |
US11036596B1 (en) | 2018-02-18 | 2021-06-15 | Pure Storage, Inc. | System for delaying acknowledgements on open NAND locations until durability has been confirmed |
US11494109B1 (en) | 2018-02-22 | 2022-11-08 | Pure Storage, Inc. | Erase block trimming for heterogenous flash memory storage devices |
CN108334459B (zh) * | 2018-02-27 | 2020-11-13 | 联芸科技(杭州)有限公司 | 一种多端口固态硬盘的实现方案 |
TWI689816B (zh) * | 2018-03-06 | 2020-04-01 | 群聯電子股份有限公司 | 區塊管理方法、記憶體控制電路單元與記憶體儲存裝置 |
CN110275668B (zh) * | 2018-03-14 | 2022-09-13 | 群联电子股份有限公司 | 区块管理方法、存储器控制电路单元与存储器存储装置 |
US11995336B2 (en) | 2018-04-25 | 2024-05-28 | Pure Storage, Inc. | Bucket views |
US12001688B2 (en) | 2019-04-29 | 2024-06-04 | Pure Storage, Inc. | Utilizing data views to optimize secure data access in a storage system |
US10853146B1 (en) | 2018-04-27 | 2020-12-01 | Pure Storage, Inc. | Efficient data forwarding in a networked device |
US12079494B2 (en) | 2018-04-27 | 2024-09-03 | Pure Storage, Inc. | Optimizing storage system upgrades to preserve resources |
US11385792B2 (en) | 2018-04-27 | 2022-07-12 | Pure Storage, Inc. | High availability controller pair transitioning |
US10931450B1 (en) | 2018-04-27 | 2021-02-23 | Pure Storage, Inc. | Distributed, lock-free 2-phase commit of secret shares using multiple stateless controllers |
US11436023B2 (en) | 2018-05-31 | 2022-09-06 | Pure Storage, Inc. | Mechanism for updating host file system and flash translation layer based on underlying NAND technology |
US11438279B2 (en) | 2018-07-23 | 2022-09-06 | Pure Storage, Inc. | Non-disruptive conversion of a clustered service from single-chassis to multi-chassis |
US11868309B2 (en) | 2018-09-06 | 2024-01-09 | Pure Storage, Inc. | Queue management for data relocation |
US11500570B2 (en) | 2018-09-06 | 2022-11-15 | Pure Storage, Inc. | Efficient relocation of data utilizing different programming modes |
US10454498B1 (en) | 2018-10-18 | 2019-10-22 | Pure Storage, Inc. | Fully pipelined hardware engine design for fast and efficient inline lossless data compression |
US10976947B2 (en) | 2018-10-26 | 2021-04-13 | Pure Storage, Inc. | Dynamically selecting segment heights in a heterogeneous RAID group |
US11194473B1 (en) | 2019-01-23 | 2021-12-07 | Pure Storage, Inc. | Programming frequently read data to low latency portions of a solid-state storage array |
US10635610B1 (en) * | 2019-03-14 | 2020-04-28 | Toshiba Memory Corporation | System and method for serial interface memory using switched architecture |
US11334254B2 (en) | 2019-03-29 | 2022-05-17 | Pure Storage, Inc. | Reliability based flash page sizing |
US11775189B2 (en) | 2019-04-03 | 2023-10-03 | Pure Storage, Inc. | Segment level heterogeneity |
US12087382B2 (en) | 2019-04-11 | 2024-09-10 | Pure Storage, Inc. | Adaptive threshold for bad flash memory blocks |
US11099986B2 (en) | 2019-04-12 | 2021-08-24 | Pure Storage, Inc. | Efficient transfer of memory contents |
US10852949B2 (en) | 2019-04-15 | 2020-12-01 | Micron Technology, Inc. | Predictive data pre-fetching in a data storage device |
US11487665B2 (en) | 2019-06-05 | 2022-11-01 | Pure Storage, Inc. | Tiered caching of data in a storage system |
US11714572B2 (en) | 2019-06-19 | 2023-08-01 | Pure Storage, Inc. | Optimized data resiliency in a modular storage system |
US11281394B2 (en) | 2019-06-24 | 2022-03-22 | Pure Storage, Inc. | Replication across partitioning schemes in a distributed storage system |
US11211136B2 (en) * | 2019-06-26 | 2021-12-28 | Micron Technology, Inc. | Memory system tester using test pad real time monitoring |
US11893126B2 (en) | 2019-10-14 | 2024-02-06 | Pure Storage, Inc. | Data deletion for a multi-tenant environment |
US11402999B2 (en) | 2019-12-03 | 2022-08-02 | Burlywood, Inc. | Adaptive wear leveling using multiple partitions |
US12001684B2 (en) | 2019-12-12 | 2024-06-04 | Pure Storage, Inc. | Optimizing dynamic power loss protection adjustment in a storage system |
US11704192B2 (en) | 2019-12-12 | 2023-07-18 | Pure Storage, Inc. | Budgeting open blocks based on power loss protection |
US11847331B2 (en) | 2019-12-12 | 2023-12-19 | Pure Storage, Inc. | Budgeting open blocks of a storage unit based on power loss prevention |
US11416144B2 (en) | 2019-12-12 | 2022-08-16 | Pure Storage, Inc. | Dynamic use of segment or zone power loss protection in a flash device |
US11188432B2 (en) | 2020-02-28 | 2021-11-30 | Pure Storage, Inc. | Data resiliency by partially deallocating data blocks of a storage device |
US11507297B2 (en) | 2020-04-15 | 2022-11-22 | Pure Storage, Inc. | Efficient management of optimal read levels for flash storage systems |
US11256587B2 (en) | 2020-04-17 | 2022-02-22 | Pure Storage, Inc. | Intelligent access to a storage device |
US12056365B2 (en) | 2020-04-24 | 2024-08-06 | Pure Storage, Inc. | Resiliency for a storage system |
US11474986B2 (en) | 2020-04-24 | 2022-10-18 | Pure Storage, Inc. | Utilizing machine learning to streamline telemetry processing of storage media |
US11416338B2 (en) | 2020-04-24 | 2022-08-16 | Pure Storage, Inc. | Resiliency scheme to enhance storage performance |
KR20210158579A (ko) * | 2020-06-24 | 2021-12-31 | 삼성전자주식회사 | 용량 확장성을 가지는 스토리지 시스템 및 그 구동 방법 |
US11210168B1 (en) | 2020-06-25 | 2021-12-28 | Micron Technology, Inc. | Error handling optimization in memory sub-system mapping |
US11768763B2 (en) | 2020-07-08 | 2023-09-26 | Pure Storage, Inc. | Flash secure erase |
US11513974B2 (en) | 2020-09-08 | 2022-11-29 | Pure Storage, Inc. | Using nonce to control erasure of data blocks of a multi-controller storage system |
US11681448B2 (en) | 2020-09-08 | 2023-06-20 | Pure Storage, Inc. | Multiple device IDs in a multi-fabric module storage system |
US11487455B2 (en) | 2020-12-17 | 2022-11-01 | Pure Storage, Inc. | Dynamic block allocation to optimize storage system performance |
US11847324B2 (en) | 2020-12-31 | 2023-12-19 | Pure Storage, Inc. | Optimizing resiliency groups for data regions of a storage system |
US11614880B2 (en) | 2020-12-31 | 2023-03-28 | Pure Storage, Inc. | Storage system with selectable write paths |
US12067282B2 (en) | 2020-12-31 | 2024-08-20 | Pure Storage, Inc. | Write path selection |
US12093545B2 (en) | 2020-12-31 | 2024-09-17 | Pure Storage, Inc. | Storage system with selectable write modes |
US12061814B2 (en) | 2021-01-25 | 2024-08-13 | Pure Storage, Inc. | Using data similarity to select segments for garbage collection |
US11630593B2 (en) | 2021-03-12 | 2023-04-18 | Pure Storage, Inc. | Inline flash memory qualification in a storage system |
US12099742B2 (en) | 2021-03-15 | 2024-09-24 | Pure Storage, Inc. | Utilizing programming page size granularity to optimize data segment storage in a storage system |
US11507597B2 (en) | 2021-03-31 | 2022-11-22 | Pure Storage, Inc. | Data replication to meet a recovery point objective |
JP2022188572A (ja) * | 2021-06-09 | 2022-12-21 | キオクシア株式会社 | 半導体装置、メモリシステム、及びチップ |
US11556467B1 (en) * | 2021-07-13 | 2023-01-17 | Micron Technology, Inc. | Optimizing garbage collection that uses a logical-to-physical table search |
US11832410B2 (en) | 2021-09-14 | 2023-11-28 | Pure Storage, Inc. | Mechanical energy absorbing bracket apparatus |
US11994723B2 (en) | 2021-12-30 | 2024-05-28 | Pure Storage, Inc. | Ribbon cable alignment apparatus |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070226403A1 (en) * | 2006-03-21 | 2007-09-27 | Lg Electronics Inc. | Computer storage control |
TW200814056A (en) * | 2006-07-14 | 2008-03-16 | Toshiba Kk | Memory controller |
TW200813713A (en) * | 2006-09-07 | 2008-03-16 | Super Talent Technology Ltd | Managing bad blocks in flash memory for electronic data flash card |
US20080162861A1 (en) * | 2004-03-08 | 2008-07-03 | Micron Technology, Inc. | Memory hub architecture having programmable lane widths |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5235685A (en) | 1989-05-11 | 1993-08-10 | Data General Corp. | Interface bus with independent data, command and direct control sections for parallel transfer of information between host and intelligent storage |
US5278961A (en) | 1990-02-22 | 1994-01-11 | Hewlett-Packard Company | Physical address to logical address translator for memory management units |
US5787445A (en) | 1996-03-07 | 1998-07-28 | Norris Communications Corporation | Operating system including improved file management for use in devices utilizing flash memory as main memory |
GB9903490D0 (en) | 1999-02-17 | 1999-04-07 | Memory Corp Plc | Memory system |
US7953931B2 (en) | 1999-08-04 | 2011-05-31 | Super Talent Electronics, Inc. | High endurance non-volatile memory devices |
US7827348B2 (en) | 2000-01-06 | 2010-11-02 | Super Talent Electronics, Inc. | High performance flash memory devices (FMD) |
US7690031B2 (en) | 2000-01-06 | 2010-03-30 | Super Talent Electronics, Inc. | Managing bad blocks in flash memory for electronic data flash card |
US8341332B2 (en) * | 2003-12-02 | 2012-12-25 | Super Talent Electronics, Inc. | Multi-level controller with smart storage transfer manager for interleaving multiple single-chip flash memory devices |
US8266367B2 (en) * | 2003-12-02 | 2012-09-11 | Super Talent Electronics, Inc. | Multi-level striping and truncation channel-equalization for flash-memory system |
KR100437609B1 (ko) | 2001-09-20 | 2004-06-30 | 주식회사 하이닉스반도체 | 반도체 메모리 장치의 어드레스 변환 방법 및 그 장치 |
EP1546928A4 (en) | 2002-09-18 | 2008-07-09 | Netezza Corp | Field-Oriented Pipeline Architecture for a Programmable Data Streaming Processor |
TWI227409B (en) * | 2003-06-05 | 2005-02-01 | Carry Computer Eng Co Ltd | Storage device capable of enhancing transmission speed |
US7139863B1 (en) * | 2003-09-26 | 2006-11-21 | Storage Technology Corporation | Method and system for improving usable life of memory devices using vector processing |
JP3912355B2 (ja) * | 2003-10-14 | 2007-05-09 | ソニー株式会社 | データ管理装置、データ管理方法、不揮発性メモリ、不揮発性メモリを有する記憶装置及びデータ処理システム |
US20090204872A1 (en) * | 2003-12-02 | 2009-08-13 | Super Talent Electronics Inc. | Command Queuing Smart Storage Transfer Manager for Striping Data to Raw-NAND Flash Modules |
JP4828816B2 (ja) | 2004-10-25 | 2011-11-30 | 株式会社東芝 | メモリカード、半導体装置、及びメモリカードの制御方法 |
US8055833B2 (en) | 2006-10-05 | 2011-11-08 | Google Inc. | System and method for increasing capacity, performance, and flexibility of flash storage |
US7934049B2 (en) * | 2005-09-14 | 2011-04-26 | Sandisk Corporation | Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory |
KR101128172B1 (ko) * | 2006-03-21 | 2012-03-23 | 엘지전자 주식회사 | 컴퓨터 시스템의 스토리지 제어장치 및 방법 |
JP4863749B2 (ja) * | 2006-03-29 | 2012-01-25 | 株式会社日立製作所 | フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム |
CN101410906B (zh) * | 2006-03-31 | 2015-04-29 | 考文森智财管理公司 | 闪烁存储器系统及控制方法 |
US7586784B2 (en) | 2006-06-09 | 2009-09-08 | Micron Technology, Inc. | Apparatus and methods for programming multilevel-cell NAND memory devices |
JP4942446B2 (ja) | 2006-10-11 | 2012-05-30 | 株式会社日立製作所 | ストレージ装置及びその制御方法 |
US8010768B2 (en) | 2007-05-09 | 2011-08-30 | Kingston Technology Corporation | Secure and scalable solid state disk system |
US20100017650A1 (en) * | 2008-07-19 | 2010-01-21 | Nanostar Corporation, U.S.A | Non-volatile memory data storage system with reliability management |
US20100017556A1 (en) * | 2008-07-19 | 2010-01-21 | Nanostar Corporationm U.S.A. | Non-volatile memory storage system with two-stage controller architecture |
KR100974215B1 (ko) * | 2008-10-02 | 2010-08-06 | 주식회사 하이닉스반도체 | 반도체 스토리지 시스템 및 그 제어 방법 |
-
2009
- 2009-01-08 US US12/350,686 patent/US8412880B2/en active Active
- 2009-12-30 CN CN200980154266.9A patent/CN102272745B/zh active Active
- 2009-12-30 EP EP09837728.6A patent/EP2377027B1/en active Active
- 2009-12-30 WO PCT/US2009/006740 patent/WO2010080141A2/en active Application Filing
- 2009-12-30 JP JP2011545332A patent/JP5453661B2/ja active Active
- 2009-12-30 KR KR1020117015980A patent/KR101274306B1/ko active IP Right Grant
- 2009-12-31 TW TW098146471A patent/TWI484341B/zh active
- 2009-12-31 TW TW102146283A patent/TW201418989A/zh unknown
-
2013
- 2013-04-02 US US13/855,451 patent/US9104555B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080162861A1 (en) * | 2004-03-08 | 2008-07-03 | Micron Technology, Inc. | Memory hub architecture having programmable lane widths |
US20070226403A1 (en) * | 2006-03-21 | 2007-09-27 | Lg Electronics Inc. | Computer storage control |
TW200814056A (en) * | 2006-07-14 | 2008-03-16 | Toshiba Kk | Memory controller |
TW200813713A (en) * | 2006-09-07 | 2008-03-16 | Super Talent Technology Ltd | Managing bad blocks in flash memory for electronic data flash card |
Also Published As
Publication number | Publication date |
---|---|
JP2012514808A (ja) | 2012-06-28 |
TW201418989A (zh) | 2014-05-16 |
WO2010080141A3 (en) | 2010-09-23 |
WO2010080141A2 (en) | 2010-07-15 |
EP2377027A2 (en) | 2011-10-19 |
TW201102827A (en) | 2011-01-16 |
US8412880B2 (en) | 2013-04-02 |
CN102272745A (zh) | 2011-12-07 |
US20100174851A1 (en) | 2010-07-08 |
EP2377027A4 (en) | 2012-12-12 |
KR101274306B1 (ko) | 2013-06-13 |
EP2377027B1 (en) | 2014-05-14 |
KR20110095935A (ko) | 2011-08-25 |
CN102272745B (zh) | 2014-11-26 |
JP5453661B2 (ja) | 2014-03-26 |
US20130219113A1 (en) | 2013-08-22 |
US9104555B2 (en) | 2015-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI484341B (zh) | 記憶體系統控制器 | |
JP6163532B2 (ja) | メモリシステムコントローラを含む装置 | |
TWI497291B (zh) | 包含記憶體系統控制器之裝置及相關方法 | |
TWI443671B (zh) | 邏輯單元操作 | |
EP2715730B1 (en) | Apparatus including memory system controllers and related methods for memory management using blok tables | |
EP2715729B1 (en) | Apparatus including memory system controllers and related methods | |
US9335929B2 (en) | Nonvolatile semiconductor storage system | |
TWI432965B (zh) | 具有複數個結構之記憶體系統及其操作方法 | |
CN108874303B (zh) | 非易失性存储器命令冲突避免的储存系统和方法 | |
US20150161038A1 (en) | System and Method of Operation for High Capacity Solid-State Drive | |
US20220283912A1 (en) | Storage device, operating method of storage device, and electronic device including storage device | |
US11409468B2 (en) | Storage system and method for using proactive device timeout information |