TWI729654B - 記憶體裝置及其操作方法及相關的非暫時性電腦可讀儲存媒體 - Google Patents
記憶體裝置及其操作方法及相關的非暫時性電腦可讀儲存媒體 Download PDFInfo
- Publication number
- TWI729654B TWI729654B TW108148074A TW108148074A TWI729654B TW I729654 B TWI729654 B TW I729654B TW 108148074 A TW108148074 A TW 108148074A TW 108148074 A TW108148074 A TW 108148074A TW I729654 B TWI729654 B TW I729654B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- control unit
- requests
- queued
- memory array
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3225—Monitoring of peripheral devices of memory devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- 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
- 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/1673—Details of memory controller using buffers
-
- 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/1689—Synchronisation and timing concerns
-
- 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/0625—Power saving in 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
一種記憶體裝置包括:包含記憶體胞元之一記憶體陣列、至一主機裝置之一通信介面,以及經操作地耦合至該記憶體陣列及該通信介面之一記憶體控制單元。該記憶體控制單元經組態以:將存取該記憶體之請求儲存於佇列中;判定經排佇記憶體存取請求是針對該記憶體陣列之順序位址還是針對該記憶體陣列之隨機位址;當該等經排佇記憶體存取請求係針對該記憶體陣列之順序位址時,降低該記憶體控制單元之一或多個第一組件之一操作速率;及當該等經排佇記憶體存取請求係針對該記憶體陣列之隨機位址時,降低該記憶體控制單元之一或多個第二組件之一操作速率。
Description
本申請案係關於記憶體裝置,且更特定而言係關於用於降低操作速率之記憶體裝置。
記憶體裝置通常經提供為電腦或其他電子裝置中之內部半導體積體電路。存在諸多不同類型之記憶體,包含揮發性及非揮發性記憶體。揮發性記憶體可需要電力來維持其數據且包含隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)及同步動態隨機存取記憶體(SDRAM)以及其他記憶體。非揮發性記憶體可通過在未供電時保持所儲存數據而提供永久數據且可包含NAND快閃記憶體、NOR快閃記憶體、唯讀記憶體(ROM)、電可抹除可程式化ROM(EEPROM)、可抹除可程式化ROM(EPROM)及電阻可變記憶體,諸如相變隨機存取記憶體(PCRAM)、電阻式隨機存取記憶體(RRAM)及磁阻式隨機存取記憶體(MRAM)、3D XPointTM記憶體以及其他。
記憶體胞元通常配置成一矩陣或一陣列。多個矩陣或陣列可組合至一記憶體裝置中,且多個裝置可經組合以形成一記憶體系統之一儲存卷,諸如一固態磁碟機(SSD)、一通用快閃儲存(UFSTM)裝置、一多
媒體卡(MMC)固態儲存裝置、一嵌入式MMC裝置(eMMCTM)等。
一記憶體系統可包含執行邏輯功能以操作記憶體裝置或與外部系統介接之一或多個處理器或其他記憶體控制器。記憶體矩陣或陣列可包含組織成若干個實體頁之記憶體胞元之若干個區塊。記憶體系統可與記憶體操作相關聯地自一主機接收命令,該等記憶體操作諸如讀取或寫入操作以在記憶體裝置與主機之間傳送資料(例如,使用者資料及相關聯完整性資料,諸如錯誤資料及位址資料等)、抹除操作以自記憶體裝置抹除資料,或者執行一或多個其他記憶體操作。
記憶體用作揮發性及非揮發性資料儲存裝置以用於一寬廣範圍之電子應用,包含(舉例而言)個人電腦、可攜式記憶條、數位相機、蜂巢式電話、可攜式音樂播放器(諸如MP3播放器)、電影播放器及其他電子裝置。記憶體胞元可被配置成若干陣列,其中該等陣列用於記憶體裝置中。
諸多電子裝置包含數個主要組件:一主機處理器(例如,一中央處理單元(CPU)或其他主要處理器);主要記憶體(例如,一或多個揮發性或非揮發性記憶體裝置,諸如動態RAM(DRAM)、靜態RAM(SRAM)、行動或低功率雙資料速率同步DRAM(DDR SDRAM)等);及一儲存裝置(例如,非揮發性記憶體(NVM)裝置,諸如快閃記憶體、唯讀記憶體(ROM)、一SSD、一MMC或其他記憶卡結構或總成,或者揮發性與非揮發性記憶體之組合等)。在特定實例中,電子裝置可包含一使用者介面(例如,一顯示器、觸控螢幕、鍵盤、一或多個按鈕等)、一圖形處理單元(GPU)、一功率管理電路、一基頻處理器或者一或多個收發器電路等。
在一實施例中,一記憶體裝置包括:一記憶體陣列,其包含記憶體胞元;一通信介面,其經組態以用於與一主機進行通信;及一記憶體控制單元,其操作地耦合至該記憶體陣列及該通信介面,且包含一佇列,該記憶體控制單元經組態以:將存取該記憶體之請求儲存於該佇列中;判定經排佇記憶體存取請求是針對該記憶體陣列之順序位址還是針對該記憶體陣列之隨機位址;當該等經排佇記憶體存取請求係針對該記憶體陣列之順序位址時,降低該記憶體控制單元之一或多個第一組件之一操作速率;及當該等經排佇記憶體存取請求係針對該記憶體陣列之隨機位址時,降低該記憶體控制單元之一或多個第二組件之一操作速率。
在另一實施例中,一種操作一記憶體裝置之方法包括:使用該記憶體裝置之一命令佇列來將存取該記憶體之請求排佇;判定該等經排佇存取請求是針對一記憶體陣列之順序位址還是針對該記憶體陣列之隨機位址;當該等經排佇存取請求係針對該記憶體陣列之順序位址時,降低該記憶體裝置之一或多個第一組件之一操作速率;及當該等經排佇存取請求係針對該記憶體陣列之隨機位址時,降低該記憶體裝置之一或多個第二組件之一操作速率。
在另一實施例中,一種包括指令之非暫時性電腦可讀儲存媒體,該等指令經組態以致使一記憶體裝置之一記憶體控制單元進行以下操作:使用該記憶體裝置之一佇列來將存取該記憶體之請求排佇;判定該等經排佇存取請求是針對一記憶體陣列之順序位址還是針對該記憶體陣列之隨機位址;當該等經排佇存取請求係針對該記憶體陣列之順序位址時,降低該記憶體裝置之一或多個第一組件之一操作速率;及當該等經排佇存
取請求係針對該記憶體陣列之隨機位址時,降低該記憶體裝置之一或多個第二組件之一操作速率。
在另一實施例中,一種記憶體裝置包括:一記憶體陣列,其包含記憶體胞元;一通信介面,其經組態以用於與一主機進行通信;及一記憶體控制單元,其操作地耦合至該記憶體陣列及該通信介面,且包含一佇列,該記憶體控制單元經組態以:將存取該記憶體之請求儲存於該佇列中;使用該等記憶體存取請求之一命令組塊大小或一位址範圍中之一或多者來判定經排佇記憶體存取請求是針對該記憶體陣列之順序位址還是針對該記憶體陣列之隨機位址;當該等經排佇記憶體存取請求係針對該記憶體陣列之順序位址時,降低該記憶體控制單元之一第一組件之一操作速率;及當該等經排佇記憶體存取請求係針對該記憶體陣列之隨機位址時,降低該記憶體控制單元之一第二組件之一操作速率。
100:系統
105:主機
110:記憶體裝置
115:通信介面
200:記憶體裝置
201:記憶體陣列
203:線/位址線
204:線
205:線/輸入/輸出線
207:位址暫存器
208:列存取電路系統
209:行存取電路系統
210:記憶體胞元
217:輸入/輸出電路系統
218:記憶體控制單元
220:感測與緩衝器電路系統
250:存取線
270:資料線
275:線/全域資料線
290:區塊
2900:子區塊
290N:子區塊
291:區塊
2910:子區塊
291N:子區塊
300:記憶體裝置
301:記憶體陣列
305:主機/主機裝置
315:通信介面
318:記憶體控制單元
330:處理器
332:靜態隨機存取記憶體
334:快閃控制器
336:匯流排/記憶體匯流排
438:讀取緩衝器
440:錯誤校正碼引擎
442:記憶體快取
644:寫入緩衝器
700:方法
705:步驟
710:步驟
715:步驟
720:步驟
800:機器/電腦系統
802:處理裝置
804:主要記憶體
806:靜態記憶體
808:網路介面裝置
818:資料儲存系統/資料儲存裝置
820:網路
824:機器可讀儲存媒體
826:指令
830:互連件/匯流排
A:步驟
ADDR:位址資訊/位址信號
B:步驟
BL_SEL0-BL_SELn:信號
BL0-BLn:信號/位元線信號
C:步驟
CE#:晶片啟用信號
D:步驟
DQ0-DQN:信號
Vcc:供應電壓/電壓
Vss:供應電壓/電壓
WE#:寫入啟用信號
WL0-WLm:信號/字線信號
在圖式(其未必按比例繪製)中,相似編號可在不同視圖中闡述類似組件。具有不同字母後綴之相似編號可表示類似組件之不同例項。圖式通常以實例方式而非限制方式圖解說明本文件中所論述之各種實施例。
圖1圖解說明包含一主機及一記憶體裝置之一實例性系統。
圖2係呈一記憶體裝置之形式之一設備之一方塊圖,該記憶體裝置包含非揮發性記憶體胞元。
圖3係包含一主機及一記憶體裝置之另一實例性系統之一圖解說明。
圖4係一主機及一記憶體裝置之一實例之一方塊圖,其展示
穿過記憶體裝置之一讀取路徑。
圖5係用以處置記憶體命令之一管線之一實例之一圖解說明。
圖6係一主機及一記憶體裝置之一實例之一方塊圖,其展示穿過記憶體裝置之一寫入路徑。
圖7係操作一記憶體裝置之一方法之一流程圖。
圖8圖解說明根據本文中所闡述之某些實施例之一實例性機器之一方塊圖。
記憶體裝置、尤其係NVM裝置(諸如NAND快閃裝置等)可包含多層記憶體胞元之陣列。為程式化多層記憶體胞元,一記憶體頁緩衝器儲存有待寫入至記憶體胞元之值。在一電壓位準下將一第一程式化脈衝施加至記憶體胞元之控制閘極,該電壓位準應不會致使記憶體胞元之臨限電壓超過一多層記憶體胞元之一目標經程式化資料狀態之最低臨限電壓。可然後執行一讀取操作以驗證胞元被程式化至之臨限位準。若胞元並未被程式化至所要臨限電壓,則施加一額外程式化脈衝(視情況包含一較高電壓或較長長度脈衝)且重新檢查臨限電壓。重複此程序直至讀取操作確認記憶體胞元被程式化至所要臨限電壓為止。
圖1圖解說明包含一主機105及一記憶體裝置110之一實例性系統100。主機105可包含一主機處理器、一中央處理單元或者一或多個其他裝置、處理器或控制器。記憶體裝置110可包含一通用快閃儲存(UFS)裝置、一嵌入式MMC(eMMCTM)裝置或者一或多個其他記憶體裝置。主機105與記憶體裝置110可使用一通信介面(I/F)115(例如,一雙向
並列或串列通信介面)來進行通信。
在一實例中,記憶體裝置110可包含一UFS裝置,且通信介面115可包含一串列雙向介面,諸如在一或多個聯合電子裝置工程委員會(JEDEC)標準(例如,JEDEC標準D223D(JESD223D),通常被稱為JEDEC UFS主機控制器介面(UFSHCI)3.0等)中所界定。在另一實例中,記憶體裝置110可包含一eMMCTM裝置,且通信介面115可包含若干個並列雙向資料線(例如,DAT[7:0])及一或多個命令線,諸如在一或多個JEDEC標準(例如,JEDEC標準D84-B51(JESD84-A51),通常被稱為JEDEC eMMC標準5.1等)中所界定。在其他實例中,記憶體裝置110可包含一或多個其他記憶體裝置,或者通信介面115可包含一或多個其他介面,此取決於主機105及記憶體裝置110。所識別標準僅作為其中可利用所闡述方法及結構之實例性環境而提供;但此等方法及結構可用於所識別標準(或者任何實際或所提出標準)之外的多種環境中。
主機105及記憶體裝置110中之每一者可包含經組態以經由通信介面115或介面電路(諸如資料控制單元、取樣電路或其他媒介電路,其經組態以處理待經由通信介面115而被傳遞之資料或以其他方式處理自該通信介面接收之資料以供由主機105、記憶體裝置110或者一或多個其他電路或裝置使用)而發送或接收信號之若干個接收器或驅動器電路。
記憶體裝置110可包含一記憶體陣列(例如,記憶體胞元之一或多個陣列,諸如一NAND快閃記憶體陣列或者一或多個其他記憶體陣列)、一記憶體控制單元且在特定實例中,包含介於記憶體陣列與記憶體控制單元之間的一介面電路。在特定實施例中,記憶體陣列可包含若干個記憶體晶粒,每一記憶體晶粒具有與記憶體控制單元分離之控制邏輯。記
憶體控制單元可包含一特殊應用積體電路(ASIC)、一場可程式化閘陣列(FPGA)或者經配置或程式化以管理至記憶體陣列、自記憶體陣列或記憶體陣列內之資料傳送或操作之一或多個其他處理電路系統。
圖2展示根據本文中所闡述之某些實施例之呈一記憶體裝置200(例如,圖1中之記憶體裝置110)之形式之一設備的一方塊圖,該記憶體裝置包含具有整合於同一積體電路(IC)晶片中之混合記憶體胞元類型之非揮發性記憶體胞元。記憶體裝置200可包含含有記憶體胞元210之一記憶體陣列(或多個記憶體陣列)201。在記憶體裝置200之實體結構中,記憶體胞元210可垂直地(例如,彼此上下堆疊地)配置於記憶體裝置200之一基板(例如,包含記憶體裝置200之一IC晶片之一半導體基板)上方。記憶體胞元210可包含非揮發性胞元。舉例而言,記憶體胞元210可包含浮動閘極記憶體胞元、電荷陷阱記憶體胞元、鐵電記憶體胞元、相變記憶體胞元、電阻式記憶體胞元、傳導橋記憶體胞元及自旋轉移轉矩磁性隨機存取記憶體(STT-MRAM)胞元或其他類型之非揮發性記憶體胞元。
如圖2中所展示,記憶體胞元210可配置於區塊(記憶體胞元區塊)(諸如區塊290及291)中。區塊290及291中之每一者可包含子區塊。舉例而言,區塊290可包含子區塊2900及290n,且區塊291可包含子區塊2910及291n。子區塊2900、290n、2910及291n中之每一者可包含記憶體胞元210。作為一實例,圖2展示具有兩個區塊290及291且在區塊中之每一者中具有兩個子區塊之記憶體裝置200。記憶體裝置200可具有兩個以上區塊且在區塊中之每一者中具有兩個以上子區塊。
記憶體胞元可包含於記憶體平面中。一記憶體晶粒之不同部分可被稱為同一晶粒之不同平面或平面群組(例如,兩個或兩個以上平
面之一群組可構成一平面群組)。在意欲係非限制性之一說明性實例中,一記憶體裝置可具有四個記憶體晶粒,其中針對總共八個平面,每一晶粒具有兩個平面。可同時執行去往同一晶粒之不同平面之命令。記憶體胞元210可(舉例而言)配置於若干個裝置、半導體晶粒、平面、子區塊、區塊或頁中。一個以上平面、子區塊、區塊或頁可包含於一個記憶體晶粒上。
如圖2中所展示,記憶體裝置200可包含存取線(其可包含字線)250及資料線(其可包含位元線)270。存取線250可攜載信號(例如,字線信號)WL0至WLm。資料線270可攜載信號(例如,位元線信號)BL0至BLn。記憶體裝置200可使用存取線250來選擇性地存取區塊290及291之子區塊2900、290n、2910及291n且使用資料線270來選擇性地與區塊290及291之記憶體胞元210交換資訊(例如,資料)。
記憶體裝置200可包含用以接收線(例如,位址線)203上之位址資訊(例如,位址信號)ADDR之一位址暫存器207。記憶體裝置200可包含可解碼來自位址暫存器207之位址資訊之列存取電路系統208及行存取電路系統209。基於經解碼位址資訊,記憶體裝置200可判定將在一記憶體操作期間存取區塊290及291之哪些子區塊中之哪些記憶體胞元210。記憶體裝置200可執行一讀取操作以讀取(例如,感測)記憶體胞元210中之資訊(例如,先前所儲存資訊),或一寫入(例如,程式化)操作以將資訊儲存(例如,程式化)於記憶體胞元210中。記憶體裝置200可使用與信號BL0至BLn相關聯之資料線270來提供待儲存於記憶體胞元210中之資訊或獲得自記憶體胞元210讀取(例如,感測)之資訊。記憶體裝置200亦可執行一抹除操作以自區塊290及291之記憶體胞元210中之某些或所有記憶體胞元抹
除資訊。
記憶體裝置200可包含一記憶體控制單元218(其可包含若干組件,諸如一狀態機器(例如,有限狀態機器)、暫存器電路及其他組件),該記憶體控制單元經組態以基於線204上之控制信號而控制記憶體裝置200之記憶體操作(例如,讀取、寫入及抹除操作)。線204上之控制信號之實例包含一或多個時脈信號及其他信號(例如,一晶片啟用信號CE#、一寫入啟用信號WE#)以指示記憶體裝置200可執行哪一操作(例如,讀取、寫入或抹除操作)。
記憶體裝置200可包含感測與緩衝器電路系統220,該感測與緩衝器電路系統可包含諸如感測放大器及頁緩衝器電路(例如,資料鎖存器)之組件。感測與緩衝器電路系統220可對來自行存取電路系統209之信號BL_SEL0至BL_SELn作出反應。感測與緩衝器電路系統220可經組態以判定(例如,藉由感測)自區塊290及291之記憶體胞元210讀取(例如,在一讀取操作期間)之資訊之值且將該資訊之值提供至線(例如,全域資料線)275。感測與緩衝器電路系統220亦可經組態以基於線275上之信號之值(例如,電壓值)(例如,在一寫入操作期間)使用線275上之信號來判定待儲存(例如,程式化)於區塊290及291之記憶體胞元210中(例如,在一寫入操作期間)之資訊之值。
記憶體裝置200可包含用以在區塊290及291之記憶體胞元210與線(例如,I/O線)205之間交換資訊之輸入/輸出(I/O)電路系統217。線205上之信號DQ0至DQN可表示自區塊290及291之記憶體胞元210讀取或儲存於該等記憶體胞元中之資訊。線205可包含記憶體裝置200內之節點或記憶體裝置200可駐存之一封裝上之接腳(或焊料球)。記憶體裝置200
外部之其他裝置(例如,一記憶體控制器、記憶體控制單元或一處理器)可透過線203、204及205而與記憶體裝置200進行通信。
記憶體裝置200可接收一供應電壓,包含供應電壓Vcc及Vss。供應電壓Vss可在一接地電位(例如,具有大約零伏特之一值)下進行操作。供應電壓Vcc可包含自一外部電源(諸如一電池或交流/直流(AC-DC)轉換器電路系統)供應至記憶體裝置200之一外部電壓。
記憶體胞元210中之每一者可個別地或共同地被程式化至一個或若干個經程式化狀態。舉例而言,一單層胞元(SLC)可表示兩個經程式化狀態(例如,1或0)中之一者,從而表示一個資料位元。然而,快閃記憶體胞元亦可表示兩個以上經程式化狀態中之一者,從而允許在不增加記憶體胞元之數目之情況下製造較高密度記憶體,此乃因每一胞元可表示一個以上二進位數字(例如,一個以上位元)。此等胞元可被稱為多狀態記憶體胞元、多數字胞元或多層胞元(MLC)。在特定實例中,MLC可指可每胞元儲存兩個資料位元之一記憶體胞元(例如,四個經程式化狀態中之一者),一三層胞元(TLC)可指可每胞元儲存三個資料位元之一記憶體胞元(例如,八個經程式化狀態中之一者),且一四層胞元(QLC)可每胞元儲存四個資料位元。本文中在其較廣泛內容脈絡中使用MLC以係指可每胞元儲存一個以上資料位元(亦即,可表示兩個以上經程式化狀態)之任何記憶體胞元。
在另一實例中,記憶體胞元210中之每一者可經程式化以儲存表示多個位元之一值之資訊,該值諸如兩個位元之四個可能值「00」、「01」、「10」及「11」中之一者;三個位元之八個可能值「000」、「001」、「010」、「011」、「100」、「101」、「110」及「111」中之一者;或
另一數目之多個位元之其他值中之一者。具有儲存多個位元之能力之一胞元有時稱作一多層胞元(或多狀態胞元)。
記憶體裝置200可包含一非揮發性記憶體裝置,使得當電源(例如,電壓Vcc、Vss或此兩者)與記憶體裝置200斷開連接時,記憶體胞元210可保持儲存於其上之資訊。舉例而言,記憶體裝置200可為一快閃記憶體裝置,諸如一NAND快閃(例如,3維(3-D)NAND)或一NOR快閃記憶體裝置,或者另一種類之記憶體裝置,諸如一可變電阻記憶體裝置(例如,一相變記憶體裝置或一電阻式RAM(隨機存取記憶體)裝置)。熟習此項技術者可認識到,記憶體裝置200可包含為不使本文中所闡述之實例性實施例模糊而在圖2中未展示之其他組件。
圖3係包含一主機305及一記憶體裝置300之另一實例性系統之一方塊圖。記憶體裝置300包含一記憶體控制單元318及一記憶體陣列301。記憶體裝置300可係用於一行動應用(行動電話、平板PC等)且可包含安全數位(SD)卡、eMMC、UFS等。記憶體裝置300可包含NAND快閃作為記憶體陣列301。
記憶體控制單元318包含一通信介面315、處理器330(CPU)、靜態隨機存取記憶體(SRAM)332,及一快閃控制器334。通信介面315將使用一標準介面協定(諸如eMMC或UFS)與主機305進行通信。主機305使用通信介面將命令及使用者資料發送至記憶體裝置300以進行寫入操作,且記憶體裝置接收使用者資料並將命令狀態返回至主機。根據介面協定來傳送命令、使用者資料及命令狀態。針對讀取操作,主機裝置305將命令發送至記憶體裝置300且自記憶體裝置300接收使用者資料。
處理器330可執行含於韌體中之指令以執行諸如(除其他之
外)處置讀取/寫入命令、管理快閃記憶體及起始資料傳送之功能。SRAM 332可用於儲存韌體程式碼及資料,且在主機與記憶體陣列301之間緩衝資料。快閃控制器334經由匯流排336(例如,使用一雙資料速率或DDR介面之一NAND快閃匯流排)來與記憶體陣列301進行通信。快閃控制器334使用匯流排來發送快閃命令、發送寫入資料及接收讀取資料。
針對一行動儲存裝置,存在增強該裝置在市場中之地位的數個度量,諸如效能、可靠性、耐久性、功率等。針對行動計算裝置(例如,智慧型電話、平板電腦及膝上型電腦),延長電池充電之間的時間係具挑戰性的,此乃因該等裝置變得更複雜。因此,具有較低功率消耗之一儲存裝置對行動計算裝置之製造商更具吸引力。因而,開發一低功率消耗儲存裝置係行動儲存裝置提供商之一個關鍵目標。
由一電子裝置消耗之功率可包含主動功率及閒置功率。主動功率係指在裝置正工作時之功率消耗,而閒置功率係指在電子裝置係閒置時之功率消耗。可採取措施以降低主動功率及閒置功率消耗。舉例而言,電子裝置可包含一較低功率消耗儲存控制器及快閃記憶體以降低主動功率,且電子裝置可經設計以在該裝置係閒置時進入低功率模式。
針對低功率模式,裝置在無主機命令時自動關斷去往大多數裝置部分之功率且進入一冬眠模式或睡眠模式。此低功率模式可極大地降低閒置功率及由電子裝置消耗之總功率。降低主動功率可為一較大挑戰。高系統效能及低功率皆係裝置供應商之重要目標。然而,電子裝置之較高效能通常意味著用於電子裝置之較高主動功率。
用以降低主動功率之一種方法包含基於記憶體使用模式而動態地控制儲存裝置之主動功率。記憶體使用模式之四種主要類型包含對
記憶體之順序讀取、順序寫入、對記憶體之隨機讀取及隨機寫入。讀取及寫入命令具有一命令組塊大小,該命令組塊大小係命令將讀取或寫入之資料位元組之數目。一隨機記憶體存取請求(寫入或讀取)可包含一個邏輯位址,該邏輯位址參考一個記憶體資料區塊以用於存取。對於隨機寫入及隨機讀取,命令組塊大小通常係小的(例如,4KB或8KB)。
一順序記憶體存取請求(寫入或讀取)參考多個資料區塊。資料區塊可處於連續邏輯位址空間中。順序存取請求可包含一個邏輯位址(例如,一基位址)或一邏輯位址範圍以用於存取請求。對於順序寫入及讀取,命令組塊大小係較大的(例如,128千位元組(128KB)至512KB)且順序寫入及讀取可針對裝置介面及記憶體匯流排需要一高處理量。對於隨機寫入及隨機讀取,對裝置介面及記憶體匯流排之要求係較小的,此乃因命令組塊大小係較小的。
圖4係圖3之主機305及記憶體裝置之一方塊圖,其展示穿過記憶體控制單元318及記憶體陣列301之一讀取路徑。在方塊圖中省略通信介面及快閃控制器。讀取資料路徑可包含一讀取緩衝器438及一錯誤校正碼(ECC)電路系統,諸如一ECC引擎440。一「引擎」係指記憶體控制單元318之專用於執行ECC功能(例如,博斯-查德胡裡-霍昆格姆(Bose,Chaudhuri,and Hocquenghem)(BCH)編碼及解碼,或低密度同位編碼(LDPC)及解碼)之一區塊邏輯電路系統。使用專用邏輯電路系統自處理器330卸載ECC功能。ECC用於校正記憶體陣列301之錯誤資料。在讀取路徑上,ECC引擎440使用ECC同位來檢查並校正錯誤位元。讀取緩衝器保持將傳送至主機305之經校正資料。記憶體控制單元318可包含用以自記憶體快取442至讀取緩衝器438及自讀取緩衝器438至主機305傳送資料之
一直接記憶體存取(DMA)引擎(未展示)。
記憶體裝置300可執行一系列步驟以處置一主機讀取命令。首先,在步驟A中,處理器330之韌體接收並剖析讀取命令,且然後將一讀取請求發送至記憶體陣列301。在步驟B中,執行讀取請求,且將資料傳送至記憶體快取442。在步驟C中,然後在進行ECC檢查之情況下將資料自記憶體快取442傳送至讀取緩衝器438。最後,在步驟D中,將資料自讀取緩衝器438傳送至主機305。
儲存協定(例如,UFS協定)可支援一命令佇列儲存多個讀取命令,該多個讀取命令可作為主機讀取命令之一管線而被同時處理。圖5係用以處置讀取命令之一管線之一實例之一圖解說明。在實例中,在管線中將四個讀取命令排佇且在管線之不同階段執行讀取命令之步驟A至D。
若花費時間tA、tB、tC、tD來分別執行步驟A、B、C、D,則一讀取命令之讀取效能係讀取效能=[讀取命令組塊大小]/最大值[t A ,t B ,t C ,t D ]。
此意味著讀取效能受四個讀取步驟中之最慢步驟限制。
執行步驟A所需之時間(tA)主要取決於處理器330之速度。處理器越快,處理器韌體將越快地處置讀取命令。執行步驟B之時間(tB)取決於記憶體讀取效能(例如,一快閃讀取時間)。執行步驟C之時間(tC)取決於匯流排336之傳送速率及ECC引擎440之解碼速度。執行步驟D之時間(tD)取決於主機305與記憶體控制單元318之間的通信介面315之速度。
若可在不影響讀取效能之情況下減慢讀取命令之特定步驟,則可改良主動功率消耗。換言之,記憶體裝置可藉由減慢讀取命令之其他程序而利用一讀取命令瓶頸程序,只要該減慢不增加瓶頸或以其他方
式降低整體讀取效能即可。若步驟A、B、C或D中之一者係讀取命令之一瓶頸,則其他步驟可提供減慢以降低主動功率之一機會。一般而言,一旦針對一儲存裝置而決定記憶體(例如,快閃類型)及通信介面315(例如,協定類型),便設定用於記憶體讀取存取之時間(tB)及用於經由通信介面之一傳送之時間(tD)且處理器或韌體無法動態地改變(tB)或(tD)。然而,可藉由改變處理器之速度而調整時間tA,且可藉由改變ECC解碼器及記憶體匯流排中之一者或兩者之速度而調整時間tC。
舉例而言,若讀取效能受記憶體效能(tB)或通信介面速度(tD)限制,則韌體可藉由延長時間tA(藉由降低處理器之操作頻率)或藉由延長時間tC(藉由降低提供至ECC解碼器之時脈之頻率或降低匯流排之傳送速率)而降低主動功率。記憶體控制單元可包含經由匯流排而與記憶體陣列進行通信之一控制器(諸如圖3中之快閃控制器334)。韌體可藉由降低控制器之操作速率而降低匯流排之傳送速率。
如本文中先前所解釋,讀取命令可包含順序讀取及隨機讀取。針對順序讀取之良好讀取效能需要高資料處理量,該高資料處理量取決於通信介面、ECC解碼之速度及匯流排336之傳送速率。處理器330之效能將並非係一順序讀取之效能瓶頸,因此當偵測到一順序讀取使用模式時,可藉由降低CPU頻率並延長時間tA而降低主動功率。
然而,對於隨機讀取,效能通常取決於韌體可多快地處置一讀取命令,此取決於處理器之效能。ECC解碼之速度及匯流排之傳送速率將並非係隨機讀取之效能瓶頸,因此可藉由延長時間tC(藉由減慢ECC解碼以及匯流排之資料傳送速率中之一者或兩者)而降低主動功率。
總之,可藉由延長時間tA而降低用於順序讀取命令之主動
功率,且若維持時間tB、tC及tD,則效能不應受影響。可藉由延長時間tC而降低用於隨機讀取命令之主動功率,且若維持時間tA、tB及tD,則效能不應受影響。
對寫入命令之分析類似於對讀取命令之分析。圖6係圖3之主機305及記憶體裝置之一方塊圖,其展示穿過記憶體控制單元318及記憶體陣列301之一寫入路徑。寫入路徑可包含一寫入緩衝器644及ECC引擎440。記憶體裝置300可執行一系列步驟以處置一主機寫入命令。首先,在步驟A中,處理器330之韌體接收並剖析寫入命令。在步驟B中,將寫入資料自主機傳送並儲存於寫入緩衝器644中。可使用DMA引擎而跨越通信介面將資料傳送至寫入緩衝器644。在步驟C中,然後在進行ECC編碼之情況下將寫入資料自寫入緩衝器644傳送至記憶體快取442。最後,在步驟D中,將記憶體快取442中之資料程式化至記憶體陣列中。
與讀取命令一樣,儲存協定可支援一命令佇列儲存多個寫入命令,該多個寫入命令可作為主機讀取命令之一管線而被同時處理。概念上,用以處置寫入命令之一管線看起來與圖5中所圖解說明之用以處置讀取命令之管線相同。在管線中將寫入命令排佇且在管線之不同階段執行寫入命令之步驟A至D。
若花費時間tA、tB、tC、tD來分別執行步驟A、B、C、D,則一寫入命令之寫入效能係寫入效能=[寫入命令組塊大小]/最大值[t A ,t B ,t C ,t D ]。
與讀取效能一樣,寫入效能受四個寫入步驟中之最慢步驟限制。
執行步驟A所需之時間(tA)主要取決於處理器330之速度。處理器越快,處理器韌體將越快地處置寫入命令。執行步驟B之時間(tB)
取決於主機305與記憶體裝置之間的通信介面之速度。執行步驟C之時間(tC)取決於匯流排336之傳送速率及ECC引擎440之編碼速度。執行步驟D之時間(tD)取決於記憶體寫入效能(例如,一快閃程式化時間)。
一旦針對一儲存裝置而決定記憶體及通信介面,便設定用於通信介面傳送之時間(tB)及用於記憶體程式化之時間(tD)且處理器或韌體無法動態地改變時間tB或tD。然而,可藉由改變處理器之速度而調整時間tA,且可藉由改變ECC解碼器及記憶體匯流排中之一者或兩者之速度而調整時間tC。舉例而言,若寫入效能受快閃效能(tD)或主機介面速度(tB)限制,則韌體可藉由降低處理器之操作頻率(藉此延長時間tA)或藉由降低ECC編碼速度以及自寫入緩衝器至記憶體之傳送速率中之一者或兩者(藉此延長時間tC)而降低主動功率。
寫入命令可包含順序寫入及隨機寫入。針對順序寫入之良好效能需要高資料處理量,該高資料處理量取決於通信介面、ECC編碼之速度及記憶體匯流排336之傳送速率。處理器330之效能將並非係一順序寫入之效能瓶頸,因此當偵測到一順序寫入使用模式時,可藉由降低CPU頻率並延長時間tA而降低主動功率。
然而,對於隨機寫入,效能通常取決於韌體可多快地處置一寫入命令,此取決於處理器330之效能。ECC編碼之速度及記憶體匯流排之傳送速率將並非係隨機寫入之效能瓶頸,因此可藉由延長時間tC(藉由減慢ECC編碼以及匯流排之資料傳送速率中之一者或兩者)而降低主動功率。
總之,可藉由延長時間tA而降低用於順序寫入命令之主動功率,且若維持時間tB、tC及tD,則效能不應受影響。可藉由延長時間tC
而降低用於隨機寫入命令之主動功率,且若維持時間tA、tB及tD,則效能不應受影響。對寫入命令之此分析展示可針對順序讀取命令及順序寫入命令兩者減慢相同組件而不會負面地影響效能,且可針對隨機讀取命令及隨機寫入命令兩者減慢相同組件。
圖7係操作一記憶體裝置(諸如圖2之記憶體裝置200)之一方法700之一流程圖。記憶體裝置包含一記憶體陣列201、一通信介面215及一記憶體控制單元218。在705處,使用記憶體控制單元之一命令佇列來對存取記憶體之請求進行排佇或儲存。命令佇列可為如圖5中所圖解說明之一命令管線。在710處,判定命令之記憶體使用模式。佇列可為一讀取命令佇列或一寫入命令佇列,且記憶體控制單元判定經排佇記憶體存取請求是針對一記憶體陣列之順序位址還是針對記憶體陣列之隨機位址。
在某些實例中,記憶體控制單元使用包含於存取請求中之位址欄位來判定經排佇記憶體存取請求是順序位址還是隨機位址。在某些實例中,記憶體控制單元使用包含於存取請求中之一命令字來判定經排佇記憶體存取請求是順序位址還是隨機位址。記憶體存取請求可針對對記憶體之順序讀取、順序寫入、對記憶體之隨機讀取及隨機寫入中之每一者包含一命令字之一不同值。記憶體控制單元使用命令字來判定記憶體使用模式。在某些實例中,記憶體控制單元使用命令組塊大小來判定經排佇記憶體存取請求是順序位址還是隨機位址。如本文中先前所解釋,針對順序記憶體存取請求之命令組塊大小(例如,128KB至512KB)比針對隨機記憶體存取請求之命令組塊大小(例如,4KB至8KB)大得多。命令組塊大小之差異可指示記憶體存取請求是一順序位址請求還是隨機位址請求。
順序記憶體存取請求亦可依據請求之位址範圍而被識別。
當記憶體存取請求係針對多於臨限數目個連續記憶體位址或記憶體頁時,記憶體控制單元可判定一記憶體存取請求係一順序記憶體存取請求。另一選擇係,或除順序記憶體存取識別之外,當記憶體位址並非係連續的或係連續的但少於臨限數目個記憶體位址或記憶體頁時,記憶體控制單元可識別隨機記憶體存取。
在715處,當經排佇存取請求係針對記憶體陣列之順序位址時,降低記憶體裝置之一或多個第一組件之操作速率。在720處,當經排佇存取請求係針對記憶體陣列之隨機位址時,降低記憶體裝置之一或多個第二組件之操作速率。記憶體控制單元可包含一處理器作為第一組件中之一者。當經排佇存取請求係針對記憶體陣列之順序位址時,記憶體控制單元可降低處理器之操作速率。存取請求可為順序讀取請求或順序寫入請求。記憶體控制單元可包含邏輯電路系統,該邏輯電路系統用以藉由降低經提供以操作處理器之時脈信號之頻率而降低操作速率。可降低該頻率,只要處理器之較慢操作不影響整體效能即可。該頻率之下限將係在其處減慢讀取/寫入命令之剖析及將存取請求發送至記憶體陣列開始形成順序位址請求之一新效能瓶頸之點。
記憶體控制單元可包含錯誤校正碼(ECC)電路系統(例如,一ECC編碼/解碼引擎)作為第二組件中之一者。當經排佇記憶體存取請求係針對記憶體陣列之隨機位址時,記憶體控制單元可藉由降低ECC電路系統之一時脈信號之一頻率而降低ECC電路系統之操作速率。記憶體控制單元可包含一控制器(例如,一快閃控制器)作為第二組件中之一者。控制器控制使用匯流排至記憶體陣列及自記憶體陣列之資料傳送。當經排佇記憶體存取請求係針對記憶體陣列之隨機位址時,記憶體控制單元可藉由降低
快閃控制器之時脈信號之一頻率而降低匯流排之傳送速率。再次,該頻率之下限將係在其處減慢快閃控制器之時脈信號之頻率致使記憶體匯流排之傳送速率變為效能瓶頸之點。
為維持讀取及寫入命令之效能,針對未經選擇以進行速率降低之組件維持操作速率。舉例而言,當記憶體存取請求係針對順序位址時,記憶體控制單元可降低處理器之時脈信號之頻率,同時維持快閃控制器之時脈信號之頻率。類似地,當記憶體存取請求係針對隨機位址時,記憶體控制單元可降低快閃控制器之時脈信號之頻率,同時維持處理器之時脈信號之頻率。
通常,在一電子系統之設計中,效能與主動功率係折衷。增加效能意味著較多主動功率且較低主動功率意味著較低效能。本文中所闡述之方法、系統及裝置在不降低效能之情況下降低一電子裝置或系統之主動功率。判定係一特定操作之一效能瓶頸之組件,且減慢並非係瓶頸之部分之組件。
圖8圖解說明一實例性機器800之一方塊圖,本文中所論述之技術(例如,方法)中之任何一或多者(舉例而言,所闡述丟棄及清除操作)可對該實例性機器執行。在替代實施例中,機器800可操作為一獨立裝置或可連接(例如,網路連結)至其他機器。在一網路連結部署中,機器800可在伺服器-用戶端網路環境中以一伺服器機器、一用戶端機器或此兩者之身份進行操作。在一實例中,機器800可在同級間(P2P)(或其他分佈式)網路環境中充當一同級機器。機器800可為一個人電腦(PC)、一平板PC、一機上盒(STB)、一個人數位助理(PDA)、一行動電話、一網路器具、一IoT裝置、汽車系統或能夠執行規定將由彼機器採取之動作之指令
(順序或其他)之任何機器。此外,儘管僅圖解說明一單個機器,但亦應將術語「機器」視為包含個別地或聯合地執行一組(或多組)指令以執行本文中所論述之方法中之任何一或多者之任何機器集合,諸如雲端計算、軟體即服務(SaaS)、其他電腦叢集組態。
如本文中所闡述之實施例及實例可包含邏輯、組件、裝置、封裝或機構或者可由該等邏輯、組件、裝置、封裝或機構操作。電路系統係實施於包含硬體(例如,簡單電路、閘、邏輯等)之有形實體中之電路之一集合(例如,集)。電路系統成員可隨著時間及基本硬體可變性而係靈活的。電路系統包含若干部件,該等部件可在操作時單獨地或以組合形式執行特定任務。在一實例中,電路系統之硬體可不變地經設計以執行一特定操作(例如,硬連線)。在一實例中,電路系統之硬體可包含以可變方式連接之實體組件(例如,執行單元、電晶體、簡單電路等),包含經物理地修改(例如,磁性地、電地、不變質量粒子之可移動放置等)以編碼特定操作之指令之一電腦可讀媒體。在連接實體組件時,一硬體構成部分之基本電性質(舉例而言)自一絕緣體改變為一導體或反之亦然。指令使得參與之硬體(例如,執行單元或一載入機構)能夠經由可變連接而形成硬體中之電路系統之部件以在操作中時執行特定任務之部分。因此,電腦可讀媒體在裝置正進行操作時以通信方式耦合至電路系統之其他組件。在一實例中,實體組件中之任一者可用於一個以上電路系統之一個以上部件中。舉例而言,在操作下,執行單元可在一個時間點用於一第一電路系統中之一第一電路中且在一不同時間由第一電路系統中之一第二電路或由一第二電路系統中之一第三電路重新使用。
機器(例如,電腦系統)800(例如,圖1之主機105、記憶體
裝置110等)可包含一處理裝置802(例如,一硬體處理器、一中央處理單元(CPU)、一圖形處理單元(GPU)、一硬體處理器核心或其任何組合,諸如記憶體裝置110之一記憶體控制單元等)、一主要記憶體804(例如,唯讀記憶體(ROM)、快閃記憶體、動態隨機存取記憶體(DRAM),諸如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等)、一靜態記憶體806(例如,快閃記憶體、靜態隨機存取記憶體(SRAM)等)及一資料儲存系統818,該等裝置中之某些或所有裝置可經由一互連件(interlink)(例如,匯流排)830而彼此進行通信。
處理裝置802可表示一或多個一般用途處理裝置(諸如一微處理器、一中央處理單元或諸如此類)。更特定而言,處理裝置802可為一複雜指令集計算(CISC)微處理器、精簡指令集計算(RISC)微處理器、極長指令字(VLIW)微處理器,或實施其他指令集之一處理器,或者實施指令集之一組合之處理器。處理裝置802亦可為一或多個特殊用途處理裝置(諸如一特殊應用積體電路(ASIC)、一場可程式化閘陣列(FPGA)、一數位信號處理器(DSP)、網路處理器或諸如此類)。處理裝置802可經組態以執行用於執行本文中所論述之操作及步驟的指令826。機器800可進一步包含用以經由一網路820來進行通信之一網路介面裝置808。
資料儲存裝置818可包含其上經儲存有體現本文中所闡述之方法或功能中之任何一或多者之一或多組指令826或軟體之一機器可讀儲存媒體824(亦稱作一電腦可讀媒體)。指令826亦可在其由機器800執行期間完全或至少部分地駐存於主要記憶體804內或處理裝置802內,主要記憶體804及處理裝置802亦構成機器可讀儲存媒體。機器可讀儲存媒體824、資料儲存系統818或主要記憶體804可對應於圖1之記憶體裝置110。
在一項實施方案中,指令826可包含用以實施對應於根據記憶體使用模式來降低一或多個組件之操作速率之功能性的指令。
儘管機器可讀儲存媒體824在一實例性實施方案中展示為一單個媒體,但術語「機器可讀儲存媒體」應視為包含一單個媒體或者儲存一或多組指令之多個媒體。術語「機器可讀儲存媒體」亦應視為包含能夠儲存或編碼用於由機器執行之一組指令且致使機器執行本發明之方法中之任何一或多者的任何媒體。因此,術語「機器可讀儲存媒體」應視為包含(但不限於)固態記憶體、光學媒體及磁性媒體。在一實例中,一大容量(massed)機器可讀媒體包括具有複數個粒子之一機器可讀媒體,該複數個粒子具有不變(例如,靜止)之質量。因此,大容量機器可讀媒體並非係暫時性傳播信號。大容量機器可讀媒體之特定實例可包含:非揮發性記憶體,諸如半導體記憶體裝置(例如,電可程式化唯讀記憶體(EPROM)、電可抹除可程式化唯讀記憶體(EEPROM)),及快閃記憶體裝置;磁碟,諸如內部硬碟及可抽換式磁碟;磁光碟;以及CD-ROM及DVD-ROM磁碟。
機器800可進一步包含一顯示單元、一文數輸入裝置(例如,一鍵盤)及一使用者介面(UI)導航裝置(例如,一滑鼠)。在一實例中,顯示單元、輸入裝置或UI導航裝置中之一或多者可為一觸控螢幕顯示器。機器可包含一信號產生裝置(例如,一揚聲器)或者一或多個感測器,諸如一全球定位系統(GPS)感測器、羅盤、加速度計或者一或多個其他感測器。機器800可包含一輸出控制器,諸如一串列(例如,通用串列匯流排(USB)、並列或者其他有線或無線(例如,紅外線(IR)、近場通信(NFC)等)連接以通信或控制一或多個周邊裝置(例如,一印表機、卡讀取器等)。
指令826(例如,軟體、程式、一作業系統(OS)等)或其他
資料儲存於資料儲存裝置818上,可由主要記憶體804存取以供由處理裝置802使用。主要記憶體804(例如,DRAM)通常係快速的但係揮發性的,且因此係不同於資料儲存裝置818(例如,一SSD)(其適合於長期儲存,包含在處於一「關斷」條件中時)之一種類型之儲存裝置。一使用者或機器800正在使用之指令826或資料通常被載入於主要記憶體804中以供由處理裝置802使用。當主要記憶體804係滿的時,來自資料儲存裝置818之虛擬空間可經分配以補充主要記憶體804;然而,由於資料儲存裝置818裝置通常比主要記憶體804慢,且寫入速度通常至少係讀取速度之二分之一,因此虛擬記憶體之使用可由於儲存裝置延時而極大地降低使用者體驗(與主要記憶體804(例如,DRAM)相對比)。此外,將資料儲存裝置818用於虛擬記憶體可極大地減少資料儲存裝置818之可用壽命。
與虛擬記憶體相對比,虛擬記憶體壓縮(例如,LinuxTM核心特徵「ZRAM」)使用記憶體之部分作為經壓縮區塊儲存裝置以避免分頁至資料儲存裝置818。分頁發生於經壓縮區塊中,直至必需將此資料寫入至資料儲存裝置818為止。虛擬記憶體壓縮增加主要記憶體804之可用大小,同時降低對資料儲存裝置818之耗損。
經最佳化以用於行動電子裝置之儲存裝置或者行動儲存裝置傳統上包含MMC固態儲存裝置(例如,微型安全數位(microSDTM)卡等)。MMC裝置包含與一主機(例如,一主機裝置)之若干個並列介面(例如,一8位元並列介面),且通常係可自主機移除及分離之組件。相比而言,eMMCTM裝置附接至一電路板且被視為主機之一組件,具有比得上基於串列ATATM(串列AT(進階技術)附接或SATA)之SSD裝置之讀取速度。然而,對行動裝置效能之要求持續增加,諸如完全啟用虛擬或擴增實境裝
置、利用增加之網路速度等。回應於此要求,儲存裝置已自並列轉變為串列通信介面。通用快閃儲存(UFS)裝置(包含控制器及韌體)使用具有專用讀取/寫入路徑之一低電壓差動信令(LVDS)串列介面與一主機進行通信,從而進一步促成較大讀取/寫入速度。
可進一步經由網路介面裝置808使用一傳輸媒體來經由一網路820傳輸或接收指令826,該網路介面裝置利用若干個傳送協定(例如,訊框中繼、網際網路協定(IP)、傳輸控制協定(TCP)、使用者資料報協定(UDP)、超文字傳送協定(HTTP)等)中之任一者。實例性通信網路可包含一區域網路(LAN)、一廣域網路(WAN)、一封包資料網路(例如,網際網路)、行動電話網路(例如,蜂巢式網路)、簡易老式電話(POTS)網路及無線資料網路(例如,電氣電子工程師協會(IEEE)802.11標準族系(稱作Wi-Fi®)、IEEE 802.16標準族系(稱作WiMax®))、IEEE 802.15.4標準族系、同級間(P2P)網路以及其他。在一實例中,網路介面裝置808可包含一或多個實體插孔(例如,乙太網路、同軸或電話插孔)或者用以連接至網路820之一或多個天線。在一實例中,網路介面裝置808可包含複數個天線,該複數個天線用以使用單輸入多輸出(SIMO)、多輸入多輸出(MIMO)或多輸入單輸出(MISO)技術中之至少一者來進行無線通信。應將術語「傳輸媒體」視為包含能夠儲存、編碼或攜載用於由機器800執行之指令之任何無形媒體,且包含數位或類比通信信號或者其他無形媒體以促進此軟體之通信。
以上詳細說明包含對形成該詳細說明之一部分之隨附圖式之參考。該等圖式以圖解說明方式展示其中可實踐本發明之特定實施例。此等實施例在本文中亦稱為「實例」。除了所展示或所闡述之彼等元素之
外,此等實例亦可包含若干元素。然而,本發明人亦預期其中僅提供所展示或闡述之彼等元素之實例。此外,本發明人亦預期使用關於一特定實例(或者其一或多項態樣)或關於本文中所展示或所闡述之其他實例(或者其一或多項態樣)所展示或所闡述之彼等元素之任何組合或排列之實例(或者其一或多項態樣)。
在此文件中,如在專利文件中常見,使用術語「一(a或an)」來包含一個或一個以上,此獨立於「至少一個「或「一或多個」之任何其他例項或使用。在此文件中,使用術語「或」來指一非排他性或,使得「A或B」可包含「A但非B」、「B但非A」及「A及B」,除非另有指示。在隨附申請專利範圍中,將術語「包含(including)」及「其中(in which)」用作各別術語「包括(comprising)」及「其中(wherein)」之普通英語等效形式。而且,在隨附申請專利範圍中,術語「包含」及「包括」係開放式的。包含除在一技術方案中之此一術語之後所列示之元素之外的元素之一系統、裝置、物件或程序仍視為屬於彼技術方案之範疇內。此外,在隨附申請專利範圍中,術語「第一」、「第二」及「第三」等僅用作標記,且並不意欲對其對象施加數字要求。
在各種實例中,本文中所闡述之組件、控制器、處理器、單元、引擎或表可包含(除其他之外)實體電路系統或儲存於一實體裝置上之韌體。如本文中所使用,「處理器」意指任何類型之計算電路,諸如(但不限於)一微處理器、一微控制器、一圖形處理器、一數位信號處理器(DSP)或任何其他類型之處理器或處理電路,包含處理器或多核心裝置之一群組。
如本文中所使用,操作一記憶體胞元包含自該記憶體胞元
讀取、寫入至該記憶體胞元或抹除該記憶體胞元。將一記憶體胞元置於一既定狀態中之操作在本文中稱為「程式化」,且可包含寫入至記憶體胞元或自該記憶體胞元抹除(例如,可將記憶體胞元程式化至一經抹除狀態)。
根據本發明之一或多個實施例,位於一記憶體裝置內部或外部之一記憶體控制器(例如,一處理器、控制器、韌體等)能夠判定(例如,選擇、設定、調整、計算、改變、清除、傳遞、調適、導出、界定、利用、修改、應用等)耗損循環之一數量,或一耗損狀態(例如,記錄耗損循環、在耗損循環發生時對記憶體裝置之操作進行計數、追蹤耗損循環起始之記憶體裝置之操作、評估對應於一耗損狀態之記憶體裝置特性等)。
根據本發明之一或多個實施例,一記憶體存取裝置可經組態以選擇性地降低一或多個組件之操作速率來降低主動功率。記憶體裝置控制電路系統(例如,控制邏輯)可經程式化以回應於判定正由記憶體存取裝置執行之記憶體存取類型(例如,記憶體使用模式)而減慢提供至組件之時脈信號。
本文中所闡述之方法實例可為至少部分地機器、裝置或電腦實施的。某些實例可包含用指令編碼之一電腦可讀媒體、一裝置可讀媒體或一機器可讀媒體,該等指令可操作以組態一電子裝置來執行如在以上實例中所闡述之方法。此等方法之一實施方案可包含程式碼,諸如微碼、組合語言碼、一較高階語言碼或諸如此類。此程式碼可包含用於執行各種方法之電腦可讀指令。該程式碼可形成電腦程式產品之部分。此外,該程式碼可(諸如)在執行期間或在其他時間有形地儲存於一或多個揮發性或非揮發性有形電腦可讀媒體上。此等有形電腦可讀媒體之實例可包含(但不限於)硬磁碟、可抽換式磁碟、可抽換式光碟(例如,壓縮光碟及數位視訊
磁碟)、盒式磁帶、記憶卡或條、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、固態磁碟機(SSD)、通用快閃儲存(UFS)裝置、嵌入式MMC(eMMC)裝置及諸如此類。
額外說明及實例
實例1包含標的物(諸如一種記憶體裝置),其包括:一記憶體陣列,其包含記憶體胞元;一通信介面,其經組態以用於與一主機進行通信;及一記憶體控制單元,其操作地耦合至該記憶體陣列及該通信介面,且包含一佇列。該記憶體控制單元經組態以:將存取該記憶體之請求儲存於該佇列中;判定經排佇記憶體存取請求是針對該記憶體陣列之順序位址還是針對該記憶體陣列之隨機位址;當該等經排佇記憶體存取請求係針對該記憶體陣列之順序位址時,降低該記憶體控制單元之一或多個第一組件之一操作速率;及當該等經排佇記憶體存取請求係針對該記憶體陣列之隨機位址時,降低該記憶體控制單元之一或多個第二組件之一操作速率。
在實例2中,實例1之標的物視情況包含一記憶體控制單元,該記憶體控制單元包含經組態以處理存取該記憶體之該等請求之一處理器。該記憶體控制單元經組態以在該等經排佇記憶體存取請求係針對該記憶體陣列之順序位址時降低該處理器之一時脈信號之一頻率。
在實例3中,實例1及2中之一者或兩者之標的物視情況包含一匯流排,該匯流排經組態以在該記憶體控制單元與該記憶體陣列之間傳送資料。該記憶體控制單元視情況包含用以使用該匯流排來傳送資料之一快閃控制器,且該記憶體控制單元經組態以在該等經排佇記憶體存取請求係針對該記憶體陣列之隨機位址時降低該快閃控制器之一時脈信號之一頻
率。
在實例4中,實例1至3之一個或任何組合之標的物視情況包含一記憶體控制單元,該記憶體控制單元包含錯誤校正碼(ECC)電路系統且該記憶體控制單元經組態以在該等經排佇記憶體存取請求係針對該記憶體陣列之隨機位址時降低該ECC電路系統之一時脈信號之一頻率。
在實例5中,實例1至4之一個或任何組合之標的物視情況包含一匯流排,該匯流排經組態以在該記憶體控制單元與該記憶體陣列之間傳送資料,且一記憶體控制單元包含用以使用該匯流排來傳送資料之一快閃控制器及經組態以處理存取該記憶體之該等請求之一處理器。該記憶體控制單元經組態以:當該等經排佇記憶體存取請求係是針對該記憶體陣列之順序位址時,降低該處理器之一時脈信號之一頻率且維持該快閃控制器之一時脈信號之一頻率,及當該等經排佇記憶體存取請求係針對該記憶體陣列之隨機位址時,維持該處理器之一時脈信號之一頻率且降低該快閃控制器之一時脈信號之一頻率。
在實例6中,實例1至5之一個或任何組合之標的物視情況包含經排佇記憶體存取請求,該等經排佇記憶體存取請求包含記憶體寫入請求。
在實例7中,實例1至5之一個或任何組合之標的物視情況包含經排佇記憶體存取請求,該等經排佇記憶體存取請求包含記憶體讀取請求。
實例8包含標的物(諸如一種操作一記憶體裝置之方法)或可視情況與實例1至7之一個或任何組合進行組合以包含此標的物,該標的物包括:使用該記憶體裝置之一命令佇列來將存取該記憶體之請求排佇;判
定該等經排佇存取請求是針對一記憶體陣列之順序位址還是針對該記憶體陣列之隨機位址;當該等經排佇存取請求係針對該記憶體陣列之順序位址時,降低該記憶體裝置之一或多個第一組件之一操作速率;及當該等經排佇存取請求係針對該記憶體陣列之隨機位址時,降低該記憶體裝置之一或多個第二組件之一操作速率。
在實例9中,實例8之標的物視情況包含一或多個第一組件,該一或多個第一組件包含該記憶體裝置之一處理器,該處理器經組態以處理存取該記憶體之該等請求。
在實例10中,實例8及9中之一者或兩者之標的物視情況包含一或多個第二組件,該一或多個第二組件包含該記憶體裝置之錯誤校正碼(ECC)電路系統及該記憶體裝置之一快閃控制器中之一或多者,該快閃控制器經組態以使用一匯流排來傳送記憶體寫入資料及記憶體讀取資料。
在實例11中,實例8至10之一個或任何組合之標的物視情況包含:當該等經排佇存取請求係針對該記憶體陣列之順序位址時,維持該記憶體裝置之該一或多個第二組件之該操作速率;及當該等經排佇存取請求係針對該記憶體陣列之隨機位址時,維持該記憶體裝置之該一或多個第一組件之該操作速率。
在實例12中,實例8至12之一個或任何組合之標的物視情況包含:當該等經排佇存取請求係針對該記憶體陣列之順序位址時,降低該一或多個第一組件之一時脈信號之一頻率且維持該一或多個第二組件之一時脈信號之一頻率;及當該等經排佇存取請求係針對該記憶體陣列之隨機位址時,降低該一或多個第二組件之一時脈信號之一頻率且維持該一或多個第一組件之一時脈信號之一頻率。
在實例13中,實例8至12之一個或任何組合之標的物視情況包含存取該記憶體之該等請求,該等請求包含記憶體寫入請求。
在實例14中,實例8至12之一個或任何組合之標的物視情況包含存取該記憶體之該等請求,該等請求包含記憶體讀取請求。
在實例15中,實例8至14之一個或任何組合之標的物視情況包含:使用包含於該等存取請求中之一命令字來判定經排佇存取請求是針對順序位址還是隨機位址。
在實例16中,實例8至15之一個或任何組合之標的物視情況包含:使用該等存取請求之一命令組塊大小來判定經排佇存取請求是針對順序位址還是隨機位址。
實例17包含標的物(或可視情況與實例1至16之一個或任何組合進行組合以包含此標的物),諸如一種包括指令之電腦可讀儲存媒體,該等指令經組態以致使一記憶體裝置之一記憶體控制單元執行包含以下各項之動作:使用該記憶體裝置之一佇列來將存取該記憶體之請求排佇;判定該等經排佇存取請求是針對一記憶體陣列之順序位址還是針對該記憶體陣列之隨機位址;當該等經排佇存取請求係針對該記憶體陣列之順序位址時,降低該記憶體裝置之一或多個第一組件之一操作速率;及當該等經排佇存取請求係針對該記憶體陣列之隨機位址時,降低該記憶體裝置之一或多個第二組件之一操作速率。該電腦可讀媒體可為一非暫時性電腦可讀媒體。
在實例18中,技術方案17之標的物視情況包含指令,該等指令經組態以致使該記憶體控制單元在該等經排佇存取請求係針對該記憶體陣列之順序位址時降低該記憶體控制單元之一處理器之一操作速率。
在實例19中,技術方案17及18中之一者或兩者之標的物視情況包含指令,該等指令經組態以致使該記憶體控制單元在該等經排佇存取請求係針對該記憶體陣列之隨機位址時降低該記憶體控制單元之錯誤校正碼(ECC)電路系統及一快閃控制器中之一或多者之一操作速率。
在實例20中,實例17至19之一個或任何組合之標的物視情況包含指令,該等指令經組態以致使該記憶體控制單元:當該等經排佇存取請求係針對該記憶體陣列之順序位址時,降低該一或多個第一組件之一時脈信號之一頻率且維持該一或多個第二組件之一時脈信號之一頻率;及當該等經排佇存取請求係針對該記憶體陣列之隨機位址時,降低該一或多個第二組件之一時脈信號之一頻率且維持該一或多個第一組件之一時脈信號之一頻率。
實例21包含標的物(諸如一種記憶體裝置)或可視情況與實例1至20之一個或任何組合進行組合以包含此標的物,該標的物包括:一記憶體陣列,其包含記憶體胞元;一通信介面,其經組態以用於與一主機進行通信;及一記憶體控制單元,其操作地耦合至該記憶體陣列及該通信介面,且包含一佇列。該記憶體控制單元經組態以:將存取該記憶體之請求儲存於該佇列中;使用該等記憶體存取請求之一命令組塊大小或一位址範圍中之一或多者來判定經排佇記憶體存取請求是針對該記憶體陣列之順序位址還是針對該記憶體陣列之隨機位址;當該等經排佇記憶體存取請求係針對該記憶體陣列之順序位址時,降低該記憶體控制單元之一第一組件之一操作速率;及當該等經排佇記憶體存取請求係針對該記憶體陣列之隨機位址時,降低該記憶體控制單元之一第二組件之一操作速率。
在實例22中,實例21之標的物視情況包含一處理器作為第
一組件且包含一快閃控制器作為第二組件。該快閃控制器經組態以在該記憶體控制單元與該記憶體陣列之間傳送資料。該記憶體控制單元經組態以在該等經排佇記憶體存取請求係針對該記憶體陣列之順序位址時降低該處理器之一時脈信號之一頻率,且在該等經排佇記憶體存取請求係針對該記憶體陣列之隨機位址時降低該快閃控制器之一時脈信號之一頻率。
在實例23中,實例21及22中之一者或兩者之標的物視情況包含多個記憶體陣列,該多個記憶體陣列包含記憶體胞元,且該記憶體控制單元針對每一記憶體陣列包含一佇列。
在實例24中,實例21至23之一個或任何組合之標的物視情況包含該記憶體陣列之該等記憶體胞元,該等記憶體胞元係一記憶體晶粒之總記憶體胞元之一子集。
在實例25中,實例21至25之一個或任何組合之標的物視情況包含該記憶體陣列,該記憶體陣列包含於一記憶體晶粒之一記憶體平面中。
此等非限制性實例可以任何排列或組合進行組合。以上說明意欲係說明性而非限制性。舉例而言,上文所闡述之實例(或者其一或多項態樣)可以彼此組合方式使用。例如,熟習此項技術者可在審閱以上說明後旋即使用其他實施例。基於以下理解提交摘要:其並非將用於解釋或限制申請專利範圍之範疇或含義。而且,在以上具體實施方式中,各種特徵可分組在一起以簡化本發明。此不應解釋為意指一未主張之所揭示特徵對任一技術方案係必要的。而是,發明性標的物可在於少於一特定所揭示實施例之所有特徵。因此,特此將隨附申請專利範圍併入至實施方式中,其中每一技術方案獨立地作為一單獨實施例,且預期此等實施例可以
各種組合或排列進行彼此組合。本發明之範疇應參考隨附申請專利範圍連同授權於此申請專利範圍之等效物之整個範疇一起來判定。
800:機器/電腦系統
802:處理裝置
804:主要記憶體
806:靜態記憶體
808:網路介面裝置
818:資料儲存系統/資料儲存裝置
820:網路
824:機器可讀儲存媒體
826:指令
830:互連件/匯流排
Claims (21)
- 一種記憶體裝置,其包括:一記憶體陣列,其包含記憶體胞元;一通信介面(communication interface),其經組態用於與一主機(host)進行通信;一記憶體控制單元,其經操作地(operatively)耦合至該記憶體陣列及該通信介面,且包含一佇列(queue),該記憶體控制單元經組態以:將存取一記憶體之請求儲存於該佇列中;判定經排佇記憶體存取請求是針對該記憶體陣列之順序位址(sequential addresses)還是針對該記憶體陣列之隨機位址(random addresses);當該等經排佇記憶體存取請求係針對該記憶體陣列之順序位址時,降低該記憶體控制單元之一或多個第一組件之一操作速率(operating rate);及當該等經排佇記憶體存取請求係針對該記憶體陣列之隨機位址時,降低該記憶體控制單元之一或多個第二組件之一操作速率;及一匯流排(bus),其經組態以在該記憶體控制單元與該記憶體陣列之間傳送資料;其中該記憶體控制單元包含用以使用該匯流排來傳送資料之一快閃控制器(flash controller),且該記憶體控制單元經組態以在該等經排佇記憶體存取請求係針對該記憶體陣列之隨機位址時,降低該快閃控制器之一時脈信號(clock signal)之一頻率。
- 如請求項1之記憶體裝置,其中該記憶體控制單元包含經組態以處理存取該記憶體之該等請求之一處理器,且該記憶體控制單元經組態以在該等經排佇記憶體存取請求係針對該記憶體陣列之順序位址時,降低該處理器之一時脈信號之一頻率。
- 如請求項1之記憶體裝置,其中該記憶體控制單元包含錯誤校正碼(error correction code,ECC)電路系統,且該記憶體控制單元經組態以在該等經排佇記憶體存取請求係針對該記憶體陣列之隨機位址時,降低該ECC電路系統之一時脈信號之一頻率。
- 如請求項1之記憶體裝置,其中該等經排佇記憶體存取請求係記憶體寫入請求。
- 如請求項1之記憶體裝置,其中該等經排佇記憶體存取請求係記憶體讀取請求。
- 一種記憶體裝置,其包括:一記憶體陣列,其包含記憶體胞元;一通信介面,其經組態用於與一主機進行通信;一記憶體控制單元,其經操作地耦合至該記憶體陣列及該通信介面,且包含一佇列,該記憶體控制單元經組態以:將存取一記憶體之請求儲存於該佇列中; 判定經排佇記憶體存取請求是針對該記憶體陣列之順序位址還是針對該記憶體陣列之隨機位址;當該等經排佇記憶體存取請求係針對該記憶體陣列之順序位址時,降低該記憶體控制單元之一或多個第一組件之一操作速率;及當該等經排佇記憶體存取請求係針對該記憶體陣列之隨機位址時,降低該記憶體控制單元之一或多個第二組件之一操作速率;及一匯流排,其經組態以在該記憶體控制單元與該記憶體陣列之間傳送資料;其中該記憶體控制單元包含用以使用該匯流排來傳送資料之一快閃控制器,及經組態以處理存取該記憶體之該等請求之一處理器,其中該記憶體控制單元經組態以:當該等經排佇記憶體存取請求係針對該記憶體陣列之順序位址時,降低該處理器之一時脈信號之一頻率且維持該快閃控制器之一時脈信號之一頻率,及當該等經排佇記憶體存取請求係針對該記憶體陣列之隨機位址時,維持該處理器之一時脈信號之一頻率且降低該快閃控制器之一時脈信號之一頻率。
- 一種操作一記憶體裝置之方法,該方法包括:使用該記憶體裝置之一命令佇列(command queue)來將存取一記憶體之請求排佇;判定經排佇之該等請求是針對一記憶體陣列之順序位址還是針對該記憶體陣列之隨機位址; 當經排佇之該等請求係針對該記憶體陣列之順序位址時,降低該記憶體裝置之一或多個第一組件之一操作速率,其中降低該一或多個第一組件之該操作速率包含:當經排佇之該等請求係針對該記憶體陣列之順序位址時,降低該一或多個第一組件之一時脈信號之一頻率且維持一或多個第二組件之一時脈信號之一頻率;及當經排佇之該等請求係針對該記憶體陣列之隨機位址時,降低該記憶體裝置之該一或多個第二組件之一操作速率,其中降低該一或多個第二組件之該操作速率包含:當經排佇之該等請求係針對該記憶體陣列之隨機位址時,降低該一或多個第二組件之一時脈信號之一頻率且維持該一或多個第一組件之一時脈信號之一頻率。
- 如請求項7之方法,其中該一或多個第一組件包含該記憶體裝置之一處理器,該處理器經組態以處理存取該記憶體之該等請求。
- 如請求項7之方法,其中該一或多個第二組件包含該記憶體裝置之錯誤校正碼(ECC)電路系統及該記憶體裝置之一快閃控制器中之一或多者,該快閃控制器經組態以使用一匯流排來傳送記憶體寫入資料及記憶體讀取資料。
- 如請求項7之方法,其包含:當經排佇之該等請求係針對該記憶體陣列之順序位址時,維持該記憶體裝置之該一或多個第二組件之該操作速率;及當經排佇之該等請求係針對該記憶體陣列之隨機位址時,維持該記 憶體裝置之該一或多個第一組件之該操作速率。
- 如請求項7之方法,其中存取該記憶體之該等請求係記憶體寫入請求。
- 如請求項7之方法,其中存取該記憶體之該等請求係記憶體讀取請求。
- 如請求項7之方法,其中判定經排佇之該等請求是針對順序位址還是隨機位址包含:使用經包含於該等請求中之一命令字(command word)來判定經排佇之該等請求是針對順序位址還是隨機位址。
- 如請求項7之方法,其中判定經排佇之該等請求是針對順序位址還是隨機位址包含:使用該等請求之一命令組塊大小(command chunk size)來判定經排佇之該等請求是針對順序位址還是隨機位址。
- 一種包括指令之非暫時性電腦可讀儲存媒體,該等指令經組態以致使一記憶體裝置之一記憶體控制單元進行以下操作:使用該記憶體裝置之一佇列來將存取一記憶體之請求排佇;判定經排佇之該等請求是針對一記憶體陣列之順序位址還是針對該記憶體陣列之隨機位址;當經排佇之該等請求係針對該記憶體陣列之順序位址時,降低該記憶體裝置之一或多個第一組件之一操作速率;及 當經排佇之該等請求係針對該記憶體陣列之隨機位址時,降低該記憶體裝置之一或多個第二組件之一操作速率;及該非暫時性電腦可讀儲存媒體包含指令,該等指令經組態以致使該記憶體控制單元在經排佇之該等請求係針對該記憶體陣列之隨機位址時,降低該記憶體控制單元之錯誤校正碼(ECC)電路系統及一快閃控制器中之一或多者之一操作速率。
- 如請求項15之非暫時性電腦可讀儲存媒體,其包含指令,該等指令經組態以致使該記憶體控制單元在經排佇之該等請求係針對該記憶體陣列之順序位址時,降低該記憶體控制單元之一處理器之一操作速率。
- 如請求項15之非暫時性電腦可讀儲存媒體,其包含指令,該等指令經組態以致使該記憶體控制單元進行以下操作:當經排佇之該等請求係針對該記憶體陣列之順序位址時,降低該一或多個第一組件之一時脈信號之一頻率且維持該一或多個第二組件之一時脈信號之一頻率;及當經排佇之該等請求係針對該記憶體陣列之隨機位址時,降低該一或多個第二組件之一時脈信號之一頻率且維持該一或多個第一組件之一時脈信號之一頻率。
- 一種記憶體裝置,其包括:一記憶體陣列,其包含記憶體胞元;一通信介面,其經組態用於與一主機進行通信;及 一記憶體控制單元,其經操作地耦合至該記憶體陣列及該通信介面,且包含一佇列,該記憶體控制單元經組態以:將存取一記憶體之請求儲存於該佇列中;使用經排佇記憶體存取請求之一命令組塊大小或一位址範圍(address range)中之一或多者來判定該等經排佇記憶體存取請求是針對該記憶體陣列之順序位址還是針對該記憶體陣列之隨機位址;當該等經排佇記憶體存取請求係針對該記憶體陣列之順序位址時,降低該記憶體控制單元之一第一組件之一操作速率,其中該第一組件係一處理器,且該記憶體控制單元經組態以在該等經排佇記憶體存取請求係針對該記憶體陣列之順序位址時,降低該處理器之一時脈信號之一頻率;及當該等經排佇記憶體存取請求係針對該記憶體陣列之隨機位址時,降低該記憶體控制單元之一第二組件之一操作速率,其中該第二組件係經組態以在該記憶體控制單元與該記憶體陣列之間傳送資料之一快閃控制器,且該記憶體控制單元經組態以在該等經排佇記憶體存取請求係針對該記憶體陣列之隨機位址時,降低該快閃控制器之一時脈信號之一頻率。
- 如請求項18之記憶體裝置,其中該記憶體裝置包含多個記憶體陣列,該多個記憶體陣列包含記憶體胞元,且該記憶體控制單元針對每一記憶體陣列包含一佇列。
- 如請求項18之記憶體裝置,其中該記憶體陣列之該等記憶體胞元係 一記憶體晶粒之總記憶體胞元(total memory cells)之一子集。
- 如請求項18之記憶體裝置,其中該記憶體陣列係包含於一記憶體晶粒之一記憶體平面(memory plane)中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/124813 WO2020133202A1 (en) | 2018-12-28 | 2018-12-28 | Reduce system active power based on memory usage patterns |
WOPCT/CN2018/124813 | 2018-12-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202034173A TW202034173A (zh) | 2020-09-16 |
TWI729654B true TWI729654B (zh) | 2021-06-01 |
Family
ID=71129497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108148074A TWI729654B (zh) | 2018-12-28 | 2019-12-27 | 記憶體裝置及其操作方法及相關的非暫時性電腦可讀儲存媒體 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11029883B2 (zh) |
EP (1) | EP3903315A4 (zh) |
CN (1) | CN113287173B (zh) |
TW (1) | TWI729654B (zh) |
WO (1) | WO2020133202A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11604607B2 (en) | 2018-12-28 | 2023-03-14 | Micron Technology, Inc. | Reduce system active power based on memory usage patterns |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102655360B1 (ko) * | 2018-12-13 | 2024-04-05 | 에스케이하이닉스 주식회사 | 컨트롤러, 데이터 저장 장치 및 그것의 동작 방법 |
US11561698B2 (en) * | 2021-04-20 | 2023-01-24 | EMC IP Holding Company LLC | NVMEoF flow control from initiator based on transaction latency |
US20230068482A1 (en) * | 2021-09-01 | 2023-03-02 | Micron Technology, Inc. | Time intervals among memory operations of non-volatile memory |
US12086428B2 (en) | 2021-11-15 | 2024-09-10 | Samsung Electronics Co., Ltd. | Memory controller adjusting power, memory system including same, and operating method for memory system |
US11977752B2 (en) | 2022-02-24 | 2024-05-07 | Silicon Motion, Inc. | Flash memory controller and method capable of sending data toggle set-feature signal to enable, disable, or configure data toggle operation of flash memory device |
US11935595B2 (en) | 2022-02-24 | 2024-03-19 | Silicon Motion, Inc. | Flash memory device, controller, and method capable of performing access operation upon data unit(s) of multiple planes of flash memory device in response one simplified command sequence |
US11972146B2 (en) | 2022-02-24 | 2024-04-30 | Silicon Motion, Inc. | Flash memory controller and method capable of sending read command or data toggle command to ask for flash memory device return more plane data of different planes |
US11977776B2 (en) | 2022-02-24 | 2024-05-07 | Silicon Motion, Inc. | Flash memory controller and method capable of sending read command or data toggle command to ask for flash memory device return more plane data of different planes |
US11861212B2 (en) | 2022-02-24 | 2024-01-02 | Silicon Motion, Inc. | Flash memory device, controller, and method capable of performing access operation upon data unit(s) of multiple planes of flash memory device in response one simplified command sequence |
US20240112706A1 (en) * | 2022-09-29 | 2024-04-04 | Western Digital Technologies, Inc. | Data Storage with Improved Cache Read |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090013104A1 (en) * | 2005-04-04 | 2009-01-08 | Akira Nishimoto | Storage system providing stream-oriented performance assurance |
TW200907678A (en) * | 2007-04-26 | 2009-02-16 | Elpida Memory Inc | Semiconductor device |
CN103890724A (zh) * | 2011-08-19 | 2014-06-25 | 株式会社东芝 | 信息处理设备、用于控制信息处理设备的方法、存储控制工具的非临时记录介质、主机装置、存储性能评估工具的非临时记录介质、以及用于外部存储装置的性能评估方法 |
US20180159556A1 (en) * | 2016-12-01 | 2018-06-07 | Western Digital Technologies, Inc. | Ecc decoder with multiple decoding modes |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6209067B1 (en) * | 1994-10-14 | 2001-03-27 | Compaq Computer Corporation | Computer system controller and method with processor write posting hold off on PCI master memory request |
US6356485B1 (en) * | 1999-02-13 | 2002-03-12 | Integrated Device Technology, Inc. | Merging write cycles by comparing at least a portion of the respective write cycle addresses |
JP4200969B2 (ja) * | 2004-12-03 | 2008-12-24 | セイコーエプソン株式会社 | 半導体装置及び電子機器 |
US7894289B2 (en) * | 2006-10-11 | 2011-02-22 | Micron Technology, Inc. | Memory system and method using partial ECC to achieve low power refresh and fast access to data |
US8006166B2 (en) * | 2007-06-12 | 2011-08-23 | Micron Technology, Inc. | Programming error correction code into a solid state memory device with varying bits per cell |
CN101630233B (zh) | 2008-07-17 | 2012-07-11 | 群联电子股份有限公司 | 用于闪存的数据存取方法、储存系统与控制器 |
US9081501B2 (en) * | 2010-01-08 | 2015-07-14 | International Business Machines Corporation | Multi-petascale highly efficient parallel supercomputer |
US8572322B2 (en) * | 2010-03-29 | 2013-10-29 | Freescale Semiconductor, Inc. | Asynchronously scheduling memory access requests |
KR101862379B1 (ko) * | 2013-04-19 | 2018-07-05 | 삼성전자주식회사 | Ecc 동작과 리던던시 리페어 동작을 공유하는 메모리 장치 |
US9152214B2 (en) * | 2013-05-16 | 2015-10-06 | Qualcomm Innovation Center, Inc. | Dynamic load and priority based clock scaling for non-volatile storage devices |
US9685217B2 (en) * | 2013-07-22 | 2017-06-20 | Taiwan Semiconductor Manufacturing Company Ltd. | Memory device with over-refresh and method thereof |
US9418721B2 (en) | 2014-01-21 | 2016-08-16 | International Business Machines Corporation | Determining and storing bit error rate relationships in spin transfer torque magnetoresistive random-access memory (STT-MRAM) |
KR20150091693A (ko) * | 2014-02-03 | 2015-08-12 | 삼성전자주식회사 | 플래쉬 메모리 읽기 방법 |
KR102155611B1 (ko) * | 2014-02-28 | 2020-09-14 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 |
US9811415B2 (en) * | 2014-03-31 | 2017-11-07 | Symbol Technologies, Llc | Apparatus and method for detecting and correcting read disturb errors on a flash memory |
US20150286529A1 (en) * | 2014-04-08 | 2015-10-08 | Micron Technology, Inc. | Memory device having controller with local memory |
US9529667B2 (en) * | 2014-05-15 | 2016-12-27 | Integrated Silicon Solution, Inc. | DRAM error correction event notification |
KR102397582B1 (ko) * | 2015-06-22 | 2022-05-13 | 삼성전자주식회사 | 데이터 저장 장치, 이를 포함하는 데이터 처리 시스템, 및 이의 작동 방법 |
US20180025777A1 (en) * | 2016-07-19 | 2018-01-25 | Sandisk Technologies Llc | High-reliability memory read technique |
US10090044B2 (en) * | 2016-07-21 | 2018-10-02 | Sandisk Technologies Llc | System and method for burst programming directly to MLC memory |
US10175905B2 (en) * | 2016-09-13 | 2019-01-08 | Apple Inc. | Systems and methods for dynamically switching memory performance states |
US11182101B2 (en) * | 2018-12-03 | 2021-11-23 | Western Digital Technologies, Inc. | Storage system and method for stream management in a multi-host virtualized storage system |
EP3903315A4 (en) | 2018-12-28 | 2022-08-17 | Micron Technology, Inc. | REDUCING SYSTEM PERFORMANCE BASED ON STORAGE USE PATTERNS |
-
2018
- 2018-12-28 EP EP18944768.3A patent/EP3903315A4/en not_active Withdrawn
- 2018-12-28 US US16/484,066 patent/US11029883B2/en active Active
- 2018-12-28 WO PCT/CN2018/124813 patent/WO2020133202A1/en unknown
- 2018-12-28 CN CN201880100514.0A patent/CN113287173B/zh active Active
-
2019
- 2019-12-27 TW TW108148074A patent/TWI729654B/zh active
-
2021
- 2021-05-26 US US17/331,357 patent/US11604607B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090013104A1 (en) * | 2005-04-04 | 2009-01-08 | Akira Nishimoto | Storage system providing stream-oriented performance assurance |
TW200907678A (en) * | 2007-04-26 | 2009-02-16 | Elpida Memory Inc | Semiconductor device |
CN103890724A (zh) * | 2011-08-19 | 2014-06-25 | 株式会社东芝 | 信息处理设备、用于控制信息处理设备的方法、存储控制工具的非临时记录介质、主机装置、存储性能评估工具的非临时记录介质、以及用于外部存储装置的性能评估方法 |
US20180159556A1 (en) * | 2016-12-01 | 2018-06-07 | Western Digital Technologies, Inc. | Ecc decoder with multiple decoding modes |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11604607B2 (en) | 2018-12-28 | 2023-03-14 | Micron Technology, Inc. | Reduce system active power based on memory usage patterns |
Also Published As
Publication number | Publication date |
---|---|
CN113287173B (zh) | 2022-08-19 |
US20200233606A1 (en) | 2020-07-23 |
EP3903315A4 (en) | 2022-08-17 |
CN113287173A (zh) | 2021-08-20 |
US20210279010A1 (en) | 2021-09-09 |
US11029883B2 (en) | 2021-06-08 |
EP3903315A1 (en) | 2021-11-03 |
WO2020133202A1 (en) | 2020-07-02 |
TW202034173A (zh) | 2020-09-16 |
US11604607B2 (en) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI729654B (zh) | 記憶體裝置及其操作方法及相關的非暫時性電腦可讀儲存媒體 | |
US10607693B2 (en) | Misplacement mitigation algorithm | |
US11495306B2 (en) | Peak current management in a memory array | |
US11119659B2 (en) | Write buffer implementation for multiple memory array memory spaces | |
US11107533B2 (en) | Memory with improved cross temperature reliability and read performance | |
US11720359B2 (en) | Large data read techniques | |
US11513719B2 (en) | Fast purge on storage devices | |
US11670375B2 (en) | Memory with improved cross temperature reliability and read performance | |
US10614899B2 (en) | Program progress monitoring in a memory array | |
US20240295965A1 (en) | Mnand field to predict device performance | |
US20240054070A1 (en) | A dynamic read disturb management algorithm for flash-based memory |