TWI725434B - 藉助於組態設定來進行動態節流控制之方法、具備計算機功能的主機、以及資料儲存裝置及其控制器 - Google Patents
藉助於組態設定來進行動態節流控制之方法、具備計算機功能的主機、以及資料儲存裝置及其控制器 Download PDFInfo
- Publication number
- TWI725434B TWI725434B TW108118073A TW108118073A TWI725434B TW I725434 B TWI725434 B TW I725434B TW 108118073 A TW108118073 A TW 108118073A TW 108118073 A TW108118073 A TW 108118073A TW I725434 B TWI725434 B TW I725434B
- Authority
- TW
- Taiwan
- Prior art keywords
- data storage
- storage device
- throttling control
- volatile memory
- control
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- 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
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
-
- 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/7206—Reconfiguration of flash memory system
-
- 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)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
- Power Sources (AREA)
Abstract
本發明提供一種藉助於組態設定來進行動態節流控制之方法及相關設備諸如主機、資料儲存裝置及其控制器。該方法包含:利用主機提供使用者介面,以容許使用者選擇資料儲存裝置的複數個節流控制組態中的任何節流控制組態;以及因應該使用者選擇該複數個節流控制組態中的所述任何節流控制組態,利用主機傳送對應於所述任何節流控制組態之節流控制資訊至資料儲存裝置,以於編程該非揮發性記憶體的期間對資料儲存裝置進行該動態節流控制,以供於編程該非揮發性記憶體的期間限制資料儲存裝置的功耗,該節流控制資訊指出進行動態節流控制是必要的。
Description
本發明係有關於快閃記憶體(Flash memory)之存取(access),尤指一種藉助於組態設定(configuration setting)來進行動態節流控制(dynamic throttling control)之方法以及設備,其中上述設備的例子可包含(但不限於):主機(host device)、資料儲存裝置及其控制器。
近年來由於記憶體的技術不斷地發展,各種可攜式記憶裝置(例如:符合SD/MMC、CF、MS、或XD標準之記憶卡)被廣泛地實施於諸多應用中。因此,這些可攜式記憶裝置中之記憶體的存取控制遂成為相當熱門的議題。
以常用的NAND型快閃記憶體而言,其主要可區分為單階細胞(single level cell,SLC)與多階細胞(multiple level cell,MLC)兩大類之快閃記憶體。單階細胞快閃記憶體中之每個被當作記憶細胞(memory cell)的電晶體只有兩種電荷值,分別用來表示邏輯值0與邏輯值1。另外,多階細胞快閃記憶體中之每個被當作記憶單元的電晶體的儲存能力則被充分利用,係採用較高的電壓來驅動,以透過不同級別的電壓在一個電晶體中記錄至少兩組位元資訊(諸如00、01、11、10);理論上,多階細胞快閃記憶體的記錄密度可以達到單階細胞快閃記憶體的記錄密度之至少兩倍,這對於曾經在發展過程中遇到瓶頸的NAND型快
閃記憶體之相關產業而言,是非常好的消息。
相較於單階細胞快閃記憶體,由於多階細胞快閃記憶體之價格較便宜,並且在有限的空間裡可提供較大的容量,故多階細胞快閃記憶體很快地成為市面上之可攜式記憶裝置競相採用的主流。然而,多階細胞快閃記憶體的不穩定性所導致的問題也一一浮現。為了確保可攜式記憶裝置對快閃記憶體之存取控制能符合相關規範,快閃記憶體的控制器通常備有某些管理機制以妥善地管理資料之存取。
依據相關技術,有了這些管理機制的記憶裝置還是有不足之處。舉例來說,因應的某些類型的寫入(write)/編程(program)運作,記憶裝置的瞬間功耗(instantaneous power consumption)可能過大而超過預定的產品規格。因此,需要一種新穎的方法及相關架構,以在沒有副作用或較不可能帶來副作用之狀況下解決相關技術中的問題。
本發明之一目的在於提供一種藉助於組態設定(configuration setting)來進行動態節流控制(dynamic throttling control)之方法以及相關設備諸如主機(host device)、資料儲存裝置及其控制器,以解決上述問題。
本發明之另一目的在於提供一種藉助於組態設定來進行動態節流控制之方法以及相關設備諸如主機、資料儲存裝置及其控制器,以在沒有副作用或較不可能帶來副作用之狀況下達到最佳化(optimal)效能。
本發明之至少一實施例提供一種藉助於組態設定來進行動態節流控制之方法,其中該方法係應用於一電子裝置,而該電子裝置包含一主機以及一資料儲存裝置。例如,該資料儲存裝置可包含一非揮發性記憶體(non-volatile memory,NV memory),且該非揮發性記憶體包含複數個非揮發性記憶體元件
(NV memory element)。該方法可包含:利用該主機提供一使用者介面,以容許一使用者選擇該資料儲存裝置的複數個節流控制組態(throttling control configuration)中的任何節流控制組態;以及因應該使用者選擇該複數個節流控制組態中的所述任何節流控制組態,利用該主機傳送對應於該複數個節流控制組態中的所述任何節流控制組態之節流控制資訊至該資料儲存裝置,以於編程(program)該非揮發性記憶體的期間對該資料儲存裝置進行該動態節流控制,以供於編程該非揮發性記憶體的期間限制該資料儲存裝置的功耗,其中該節流控制資訊指出進行該動態節流控制是必要的。
本發明之至少一實施例提供一種主機。該主機可包含一處理電路,而該處理電路可用來控制該主機以藉助於組態設定來進行一資料儲存裝置的動態節流控制,其中該資料儲存裝置可用來為該主機儲存資訊。例如,該資料儲存裝置可包含一非揮發性記憶體,以及該非揮發性記憶體可包含複數個非揮發性記憶體元件。另外,該主機可提供一使用者介面,以容許一使用者選擇該資料儲存裝置的複數個節流控制組態中的任何節流控制組態。因應該使用者選擇該複數個節流控制組態中的所述任何節流控制組態,該主機可傳送對應於該複數個節流控制組態中的所述任何節流控制組態之節流控制資訊至該資料儲存裝置,以於編程該非揮發性記憶體的期間對該資料儲存裝置進行該動態節流控制,以供於編程該非揮發性記憶體的期間限制該資料儲存裝置的功耗,其中該節流控制資訊指出進行該動態節流控制是必要的。
本發明之至少一實施例提供一種資料儲存裝置,而該資料儲存裝置可包含一非揮發性記憶體以及一記憶體控制器,其中該非揮發性記憶體可包含複數個非揮發性記憶體元件。該記憶體控制器可用來控制該非揮發性記憶體的存取,以容許一主機透過該記憶體控制器存取(access)該非揮發性記憶體、以及藉助於組態設定來進行該資料儲存裝置的動態節流控制。另外,該主機可提
供一使用者介面,以容許一使用者選擇該資料儲存裝置的複數個節流控制組態中的任何節流控制組態。因應該使用者選擇該複數個節流控制組態中的所述任何節流控制組態,該主機可傳送對應於該複數個節流控制組態中的所述任何節流控制組態之節流控制資訊至該資料儲存裝置,以於編程該非揮發性記憶體的期間對該資料儲存裝置進行該動態節流控制,以供於編程該非揮發性記憶體的期間限制該資料儲存裝置的功耗,其中該節流控制資訊指出進行該動態節流控制是必要的。基於該動態節流控制,該記憶體控制器可依據該節流控制資訊動態地進行複數個節流控制操作,以於編程該非揮發性記憶體的期間限制該資料儲存裝置的該功耗。
本發明之至少一實施例提供一種資料儲存裝置之控制器,其中該資料儲存裝置可包含該控制器與一非揮發性記憶體,而該非揮發性記憶體可包含複數個非揮發性記憶體元件。例如,該控制器可包含一處理電路,而該處理電路可用來控制該控制器的運作來控制該非揮發性記憶體的存取,以容許一主機透過該控制器存取該非揮發性記憶體、以及藉助於組態設定來進行該資料儲存裝置的動態節流控制。另外,該主機可提供一使用者介面,以容許一使用者選擇該資料儲存裝置的複數個節流控制組態中的任何節流控制組態。因應該使用者選擇該複數個節流控制組態中的所述任何節流控制組態,該主機可傳送對應於該複數個節流控制組態中的所述任何節流控制組態之節流控制資訊至該資料儲存裝置,以於編程該非揮發性記憶體的期間對該資料儲存裝置進行該動態節流控制,以供於編程該非揮發性記憶體的期間限制該資料儲存裝置的功耗,其中該節流控制資訊指出進行該動態節流控制是必要的。基於該動態節流控制,該控制器依據該節流控制資訊動態地進行複數個節流控制操作,以於編程該非揮發性記憶體的期間限制該資料儲存裝置的該功耗。
依據某些實施例,該動態節流控制可包含:於編程該複數個非揮發
性記憶體元件中之一目標非揮發性記憶體元件之前,利用該記憶體控制器檢查該複數個非揮發性記憶體元件中之至少一其它非揮發性記憶體元件是否處於一忙碌(busy)狀態或一非忙碌(non-busy)狀態;以及因應所述至少一其它非揮發性記憶體元件中之每一非揮發性記憶體元件進入該非忙碌狀態,利用該記憶體控制器編程該目標非揮發性記憶體元件。
本發明有多種好處,例如:本發明的方法與相關設備能確保電子裝置可妥善地運作,以避免相關技術的問題,諸如瞬間功耗超過預定的產品規格。另外,依據本發明之相關實施例來實施並不會增加許多額外的成本。因此,相關技術的問題可被解決,且整體成本不會增加太多。相較於相關技術,本發明能在沒有副作用或較不可能帶來副作用之狀況下提升整體效能。
10:電子裝置
50:主機
52:處理電路
53:程式模組
54:儲存介面電路
56:觸敏顯示面板
57:使用者介面
57W:使用者介面視窗
100:資料儲存裝置
110:記憶體控制器
111:時脈源
112:微處理器
112C:程式碼
112M:唯讀記憶體
114:控制邏輯電路
116:緩衝記憶體
118:傳輸介面電路
120:非揮發性記憶體
122-1、122-2、...、122-N:非揮發性記憶體元件
200:方法
202、204、206、208、210、212、214、S10、S11、S12、S13、S20、S21、S22、S23:步驟
300、320:工作流程
302、304、306、308、310、322、324、326、328、330:步驟
CLK:時脈訊號
第1圖為依據本發明一第一實施例之一種電子裝置的示意圖。
第2圖為依據本發明一實施例之一種藉助於組態設定(configuration setting)來進行動態節流控制(dynamic throttling control)之方法的流程圖。
第3圖繪示依據本發明一實施例之如第2圖所示方法所涉及的使用者介面視窗。
第4圖繪示依據本發明一實施例之如第2圖所示方法的基於組態的(configuration-based)節流控制方案。
第5圖繪示依據本發明一實施例之如第2圖所示方法的一工作流程。
第6圖繪示依據本發明另一實施例之如第2圖所示方法的一工作流程。
第1圖為依據本發明一第一實施例之一種電子裝置10的示意圖,其中
電子裝置10可包含主機(host device)50以及資料儲存裝置100,而資料儲存裝置100可用來為主機50儲存資訊。依據本實施例,資料儲存裝置100可用來提供儲存空間給主機50,且可從主機50取得一或多個驅動電壓作為資料儲存裝置100之電源,但本發明不限於此。
主機50可包含:處理電路52(例如:至少一個處理器諸如一或多個處理器,以及相關電路諸如隨機存取記憶體(Random Access Memory,RAM)、匯流排等),處理電路52可用來控制主機50的運作;儲存介面電路54,用來將一或多個儲存裝置(例如:資料儲存裝置100)耦接至主機50;以及觸敏顯示面板(touch-sensitive display panel)56(例如:液晶顯示(Liquid Crystal Display,LCD)觸控螢幕),其耦接至處理電路52,且可用來提供使用者介面57給電子裝置10的使用者。主機50的例子可包含(但不限於):多功能行動電話(multifunctional mobile phone)、平板電腦(tablet)、可穿戴裝置(wearable device)以及個人電腦(personal computer)諸如桌上型電腦與膝上型電腦。
資料儲存裝置100可包含一控制器諸如記憶體控制器110,且可另包含一非揮發性記憶體(non-volatile memory,NV memory)120,其中該控制器係用來存取(access)非揮發性記憶體120,且非揮發性記憶體120係用來儲存資訊。非揮發性記憶體120可包含至少一非揮發性記憶體元件(NV memory element)(例如一或多個非揮發性記憶體元件),諸如複數個非揮發性記憶體元件122-1、122-2、...與122-N,其中符號「N」可代表大於一的正整數。例如:非揮發性記憶體120可為一快閃記憶體(Flash memory),而非揮發性記憶體元件122-1、122-2、...與122-N可分別為複數個快閃記憶體晶片(Flash memory chip;可簡稱為快閃晶片)或複數個快閃記憶體裸晶(Flash memory die;可簡稱為快閃裸晶),但本發明不限於此。資料儲存裝置100的例子可包含(但不限於):可攜式記憶裝置(諸如符合SD/MMC、CF、MS、XD或UFS標準之記憶卡)、固態
硬碟(Solid State Drive,SSD)以及各種嵌入式(embedded)儲存裝置(諸如符合UFS或EMMC規格之嵌入式儲存裝置)。
如第1圖所示,記憶體控制器110可包含至少一時脈源(例如一或多個時脈源),其可通稱為時脈源111。上述至少一時脈源諸如時脈源111可用來產生至少一時脈訊號(例如一或多個時脈訊號),其可通稱為時脈訊號CLK。例如,基於一或多個預設設定(default setting)或一或多個使用者設定(user setting),時脈訊號CLK可載有(carry)時脈源111的複數個預定頻率中的任何頻率,以供被利用作為記憶體控制器110的一操作頻率。另外,記憶體控制器110可包含處理電路諸如微處理器112、儲存器諸如唯讀記憶體(Read Only Memory,ROM)112M、控制邏輯電路114、緩衝記憶體116與傳輸介面電路118,其中這些元件中之至少一部分(例如一部分或全部)可透過匯流排彼此耦接。緩衝記憶體116係以隨機存取記憶體(RAM)來實施,例如可為靜態隨機存取記憶體(Static RAM,SRAM),其中該隨機存取記憶體可用來提供內部儲存空間給記憶體控制器110,例如可暫時地儲存資料,但本發明不限於此。另外,本實施例之唯讀記憶體112M係用來儲存一程式碼112C,而微處理器112則用來執行程式碼112C以控制對非揮發性記憶體120之存取。請注意,程式碼112C亦得儲存在緩衝記憶體116或任何形式之記憶體內。此外,控制邏輯電路114可用來控制非揮發性記憶體120。控制邏輯電路114可包含一錯誤更正碼電路(未顯示),以保護資料、及/或進行錯誤更正,而傳輸介面電路118可符合一特定通訊標準(諸如串列高級技術附件(Serial Advanced Technology Attachment,SATA)標準、通用序列匯流排(Universal Serial Bus,USB)標準、快捷外設互聯(Peripheral Component Interconnect Express,PCIe)標準、嵌入式多媒體記憶卡(embedded Multi Media Card,eMMC)標準、或通用快閃記憶體儲存(Universal Flash Storage,UFS)標準)且可依據該特定通訊標準進行通訊。
主機50可藉由傳送複數個主機指令(host command)與對應的邏輯位址予記憶體控制器110來存取資料儲存裝置100中之非揮發性記憶體120。記憶體控制器110接收該複數個主機指令與邏輯位址,並將該複數個主機指令分別轉譯成記憶體操作指令(簡稱操作指令),再以操作指令控制非揮發性記憶體120讀取、寫入(write)/編程(Program)非揮發性記憶體120當中某些實體位址之記憶單位(memory unit),其中實體位址可被關聯於邏輯位址。例如記憶體控制器110可產生或更新至少一邏輯對實體位址映射表(logical-to-physical address mapping table,L2P Table)來管理實體位址與邏輯位址之間的關係,但本發明不限於此。
上述L2P Table較佳以邏輯位址為索引,而項目(Entry)則記錄實體位址,其中實體位址可由區塊編號、頁面(page)編號、偏移量(Offset)、平面(plane)編號、邏輯單元編號(Logical Unit Number,LUN)、通道編號等組成,以記錄或更新該些實體位址與該些邏輯位址之間的關係。
例如,於非揮發性記憶體120中,非揮發性記憶體元件122-1、122-2、...與122-N中之任一非揮發性記憶體元件122-n(符號「n」可代表區間[1,N]中之任一整數)可包含多個區塊,且該多個區塊中之一區塊可包含且可記錄特定數量的頁面。在一實體位址包含一區塊位址諸如一區塊編號以及一頁面位址諸如一頁面編號的情況下,記憶體控制器110可依據該區塊編號以及該頁面編號來存取非揮發性記憶體120中之某一區塊中的某一頁面。
又例如,上述任一非揮發性記憶體元件122-n可包含多個平面,該多個平面中之一平面可包含一組區塊諸如上述該多個區塊,且該組區塊中之一區塊可包含且可記錄特定數量的頁面。在一實體位址包含一平面編號、一區塊編號以及一頁面編號的情況下,記憶體控制器110可依據該平面編號、該區塊編號以及該頁面編號來存取非揮發性記憶體120中之某一平面中的某一區塊中的某
一頁面,但本發明不限於此。由於總區塊數增加,故非揮發性記憶體120的儲存容量變得更大。
基於非揮發性記憶體120的架構,記憶體控制器110對非揮發性記憶體120進行抹除資料之運作的最小單位可為區塊,而記憶體控制器110對非揮發性記憶體120進行寫入資料之運作的最小單位可為頁面,但本發明不限於此。由於存在上列運作的最小單位之間的差異,記憶體控制器110可被設計成具有各種管理機制,以確保資料儲存裝置100能正確地運作。
關於製造非揮發性記憶體120,有多種技術可供採用,諸如:將記憶細胞排列成單層之平面NAND型快閃(2D/Planar NAND Flash)技術;以及將記憶細胞排列成多層垂直堆疊之立體NAND型快閃(3D NAND Flash)技術。例如,非揮發性記憶體120可被實施成具有單層排列的記憶細胞之平面NAND型快閃架構。又例如,非揮發性記憶體120可被實施成具有以多層垂直堆疊的記憶細胞之立體NAND型快閃架構。此狀況下,非揮發性記憶體120的儲存容量可變得非常巨大。
相較於從非揮發性記憶體120讀取資料的操作,將資料寫入(尤其,編程)到非揮發性記憶體120中的操作可以是耗時且耗電的。依據某些實施例,主機50可於使用者介面57上為該使用者提供各種組態選項,並且取得該使用者透過使用者介面57選擇的最新組態。主機50可依據上述最新組態來管理資料儲存裝置100的一或多個操作,以於編程非揮發性記憶體120的期間限制資料儲存裝置100的功耗。於是,本發明的架構能在沒有副作用或較不可能帶來副作用之狀況下解決相關技術中的問題。例如,基於上述最新組態,記憶體控制器110可動態地調整編程操作的排程,以在限制該功耗的同時來達到資料儲存裝置100的最佳化(optimal)效能。又例如,基於上述最新組態,記憶體控制器110可動態地調整記憶體控制器110的操作頻率,以在限制該功耗的同時來達到資料儲存裝
置100的最佳化效能。
第2圖為依據本發明一實施例之一種藉助於組態設定(configuration setting)來進行動態節流控制(dynamic throttling control)之方法200的流程圖。本發明之上述方法200能應用於電子裝置10,尤其,能應用於主機50以及其內的處理電路52,其中處理電路52運行著對應上述方法200之程式模組53;並且,上述方法200能應用於上述一或多個儲存裝置諸如資料儲存裝置100,以及其內的控制器諸如記憶體控制器110。例如,運行著程式模組53的處理電路52可控制主機50依據上述方法200來操作。又例如,記憶體控制器110,尤其,運行著對應上述方法200之一或多個程式碼的微處理器112,可控制資料儲存裝置100依據上述方法200來操作,其中該一或多個程式碼可包含程式碼112C、及/或一額外程式碼諸如一系統內程式碼(In-System Program code,ISP code)。
於步驟202中,主機50可建立主機50與資料儲存裝置100之間的一連線,但本發明不限於此。
於步驟204中,主機50可檢查建立該連線是否成功。如果建立該連線是成功的,進入步驟206;否則,進入步驟202。
於步驟206中,主機50可提供使用者介面57,以容許該使用者選擇資料儲存裝置100的複數個節流控制組態(throttling control configuration)中的任何節流控制組態。舉例來說,主機50可於一選擇程序中提供使用者介面57,且該使用者可於完成選擇以後確認(confirm)其選擇(例如,接觸或按壓使用者介面57中的標示著「確定」(OK)的一虛擬按鈕)。
於步驟208中,主機50可檢查使用者選擇(例如:該使用者於該選擇程序中的選擇)是否完成。如果該使用者選擇已完成,進入步驟210;否則,進入步驟206。
於步驟210中,因應該使用者選擇該複數個節流控制組態中的上述任
何節流控制組態,主機50可傳送節流控制資訊(例如:對應於該複數個節流控制組態中的上述任何節流控制組態之該節流控制資訊)至資料儲存裝置100,以於編程非揮發性記憶體120的期間對資料儲存裝置100進行該動態節流控制,以供於編程非揮發性記憶體120的期間限制資料儲存裝置100的功耗。舉例來說,該節流控制資訊可指出進行該動態節流控制是必要的。
於步驟212中,主機50可偵測來自一小工具(widget)的任何使用者觸發(user trigger)。舉例來說,該小工具可被實施成觸敏顯示面板56所顯示的主螢幕(home screen)上的一主螢幕小工具。依據本實施例,該使用者可接觸或按壓該小工具(例如該主螢幕小工具)的一虛擬按鈕,以觸發主機50提供使用者介面57。於是,主機50可利用觸敏顯示面板56顯示使用者介面57,且偵測該使用者透過使用者介面57所進行的最新選擇。
於步驟214中,主機50可檢查提供使用者介面57的操作是否被觸發。如果提供使用者介面57的該操作被觸發,進入步驟206;否則,進入步驟212。
為了更好地理解,本發明之上述方法200可用第2圖所示之工作流程來說明,但本發明不限於此。依據某些實施例,一個或多個步驟可於第2圖所示之工作流程中增加、刪除或修改。
於第2圖所示之工作流程中,可以假設該使用者不需要取消(Cancel)其選擇,且主機50可於使用者介面57上提供預設設定,以供該使用者預設地選擇,但本發明不限於此。依據某些實施例,一額外步驟可被插入於第2圖所示之工作流程中的步驟206與步驟208之間,以容許該使用者取消其選擇。尤其,於該額外步驟中,如果該使用者取消其選擇,進入步驟212;否則,進入步驟208。
第3圖繪示依據本發明一實施例之如第2圖所示方法200所涉及的使用者介面視窗57W,其中使用者介面57可包含使用者介面視窗57W,但本發明不限於此。主機50可利用使用者介面視窗57W,和該使用者互動,以供動態地進
行資料儲存裝置100的節流控制(於第3圖中標示「儲存裝置節流控制」,以求簡明)。依據本實施例,可以有多個類別(category)的組態設定,諸如使用者介面視窗57W的左側與右側分別所示之一第一類別與一第二類別。
例如,依據該第一類別,主機50可針對控制非揮發性記憶體120中的同時編程的非揮發性記憶體元件(concurrently programmed NV memory element)的最大數量(於第3圖中標示「控制同時編程的非揮發性記憶體元件的最大數量」,以求簡明),取得最新組態。主機50可偵測使用者介面視窗57W的左側所示之該第一類別中的標示著「啟用」(Enable)的一核取方塊(checkbox)是否被該使用者選擇,以偵測該使用者是否要啟用於編程非揮發性記憶體120的期間的對應於該第一類別的動態節流控制。另外,主機50可偵測分別標示著「1」、「2」、「3」、「4」、「5」、「6」、「7」以及「其它」的複數個核取方塊中的一個核取方塊是否被該使用者選擇,以偵測該使用者是否要選擇對應的數值(例如:數值1、2、3、4、5、6與7中的某一數值,或者於該第一類別中的標示著「其它」的核取方塊旁邊的欄位中之一使用者定義數值)作為非揮發性記憶體120中的同時編程的非揮發性記憶體元件的該最大數量,但本發明不限於此。
又例如,依據該第二類別,主機50可針對控制記憶體控制器110的操作頻率(於第3圖中標示「控制記憶體控制器的操作頻率」,以求簡明),取得最新組態。主機50可偵測使用者介面視窗57W的右側所示之該第二類別中的標示著「啟用」的一核取方塊是否被該使用者選擇,以偵測該使用者是否要啟用於編程非揮發性記憶體120的期間的對應於該第二類別的動態節流控制。另外,主機50可偵測分別標示著「100MHz」、「200MHz」、「400MHz」以及「其它」的複數個核取方塊中的一個核取方塊是否被該使用者選擇,以偵測該使用者是否要選擇對應的數值(例如:頻率數值100MHz、200MHz與400MHz中的某一數值,或者於該第二類別中的標示著「其它」的核取方塊旁邊的欄位中之一使用者定
義數值)作為記憶體控制器110的操作頻率,但本發明不限於此。依據某些實施例,上述頻率數值100MHz、200MHz與400MHz可依據記憶體控制器110的架構來決定,尤其,可依據時脈源111及/或微處理器112的實施細節來決定。
當該使用者將要確認其選擇,該使用者可接觸或按壓使用者介面視窗57W當中最下方標示著「確定」(OK)的虛擬按鈕。於是,主機50可於步驟208中判斷該使用者選擇(例如:該使用者於該選擇程序中的選擇)已完成,且可關閉使用者介面視窗57W,但本發明不限於此。例如,當該使用者將要取消其選擇,該使用者可接觸或按壓使用者介面視窗57W當中最下方標示著「取消」的虛擬按鈕。於是,主機50可於上述額外步驟中判斷該使用者取消其選擇,且可關閉使用者介面視窗57W。為了簡明起見,本實施例與前述實施例相仿的內容在此不重複贅述。
為了便於理解,於第3圖所示使用者介面視窗57W中可繪示成該使用者已經選擇了於該第一類別中的分別標示著「啟用」與「3」的核取方塊、並且已經選擇了於該第二類別中的分別標示著「啟用」與「400MHz」的核取方塊,以指出該使用者的可能的選擇,但本發明不限於此。依據某些實施例,於第3圖所示使用者介面視窗57W中的全部核取方塊當中,該使用者可選擇於該第一類別中的一或多個核取方塊、及/或於該第二類別中的一或多個核取方塊。例如,該使用者可用一種方式來選擇該第一類別的全部核取方塊中的一或多個核取方塊以選擇該複數個節流控制組態中的一節流控制組態,且可用另一種方式來選擇該第一類別的全部核取方塊中的一或多個核取方塊以選擇該複數個節流控制組態中的另一節流控制組態。又例如,該使用者可用一種方式來選擇該第二類別的全部核取方塊中的一或多個核取方塊以選擇該複數個節流控制組態中的一節流控制組態,且可用另一種方式來選擇該第二類別的全部核取方塊中的一或多個核取方塊以選擇該複數個節流控制組態中的另一節流控制組態。再例如,
該使用者可用一種方式來選擇該第一類別與該第二類別中的至少一類別(諸如一或多個類別)的全部核取方塊中的一或多個核取方塊以選擇該複數個節流控制組態中的一節流控制組態,且可用另一種方式來選擇該第一類別與該第二類別中的至少一類別(諸如一或多個類別)的全部核取方塊中的一或多個核取方塊以選擇該複數個節流控制組態中的另一節流控制組態。
第4圖繪示依據本發明一實施例之如第2圖所示方法200的基於組態的(configuration-based)節流控制方案。該複數個節流控制組態可包含一節流控制組態CONFIG1以及一節流控制組態CONFIG2。
於步驟S10中,主機50可提供使用者介面57,以容許該使用者選擇節流控制組態CONFIG1。
於步驟S11中,因應該使用者所選擇的節流控制組態CONFIG1,主機50可傳送對應於節流控制組態CONFIG1之節流控制資訊TCInfo1至資料儲存裝置100,以於編程非揮發性記憶體120的期間對資料儲存裝置100進行該動態節流控制,其中節流控制資訊TCInfo1可指出用來控制資料儲存裝置100之一控制參數PARA1的一設定值SV11。
於步驟S12中,資料儲存裝置100(例如記憶體控制器110)可將控制參數PARA1決定為設定值SV11。例如,因應節流控制資訊TCInfo1指出控制參數PARA1的設定值SV11,記憶體控制器110可進行下列設定:PARA1=SV11。
於步驟S13中,於編程非揮發性記憶體120的期間,資料儲存裝置100(例如記憶體控制器110)可基於控制參數PARA1等於設定值SV11(於第4圖中標示「PARA1=SV11」,以求簡明)來進行一節流控制操作。
於步驟S20中,主機50可提供使用者介面57,以容許該使用者選擇節流控制組態CONFIG2。
於步驟S21中,因應該使用者所選擇的節流控制組態CONFIG2,主
機50可傳送對應於節流控制組態CONFIG2之節流控制資訊TCInfo2至資料儲存裝置100,以於編程非揮發性記憶體120的期間對資料儲存裝置100進行該動態節流控制,其中節流控制資訊TCInfo2可指出用來控制資料儲存裝置100之控制參數PARA1的一設定值SV12。
於步驟S22中,資料儲存裝置100(例如記憶體控制器110)可將控制參數PARA1決定為設定值SV12。例如,因應節流控制資訊TCInfo2指出控制參數PARA1的設定值SV12,記憶體控制器110可進行下列設定:PARA1=SV12。
於步驟S23中,於編程非揮發性記憶體120的期間,資料儲存裝置100(例如記憶體控制器110)可基於控制參數PARA1等於設定值SV12(於第4圖中標示「PARA1=SV12」,以求簡明)來進行一節流控制操作。
依據本實施例,設定值SV12不等於設定值SV11。因應控制參數PARA1從設定值SV11改變為設定值SV12,資料儲存裝置100的該功耗被改變。於是,電子裝置10(例如主機50與資料儲存裝置100)能藉助於組態設定來動態地進行節流控制。
為了便於理解,假設控制參數PARA1可指出該複數個非揮發性記憶體元件122-1、122-2、...與122-N中的同時編程的非揮發性記憶體元件的數量的一上限,諸如於第3圖所示實施例中所述之非揮發性記憶體120中的同時編程的非揮發性記憶體元件的最大數量。主機50可依據控制參數PARA1控制資料儲存裝置100,以維持該複數個非揮發性記憶體元件122-1、122-2、...與122-N中的同時編程的非揮發性記憶體元件的數量小於或等於控制參數PARA1所指出的該上限(例如設定值SV11與SV12中的一目前設定值)。例如,設定值SV11與SV12可代表該第一類別的候選數值中的兩個不同的數值,且該使用者可選擇該第一類別中的該對應的數值(例如:數值1、2、3、4、5、6與7中的上述某一數值,或者於該第一類別中的標示著「其它」的核取方塊旁邊的欄位中之該使用者定義
數值)。於是,資料儲存裝置100能於編程非揮發性記憶體120的期間避免同時編程的非揮發性記憶體元件的數量超出該第一類別中的該對應的數值,但本發明不限於此。
依據某些實施例,控制參數PARA1可指出資料儲存裝置100中的記憶體控制器110的操作頻率,諸如於第3圖所示實施例中所述之操作頻率。主機50可控制記憶體控制器110依據控制參數PARA1所指出的該操作頻率(例如設定值SV11與SV12中的一目前設定值)來操作。例如,設定值SV11與SV12可代表該第二類別的候選數值中的兩個不同的數值,且該使用者可選擇該第二類別中的該對應的數值(例如:頻率數值100MHz、200MHz與400MHz中的上述某一數值,或者於該第二類別中的標示著「其它」的核取方塊旁邊的欄位中之該使用者定義數值)。於是,記憶體控制器110可依據如主機50所要求的操作頻率來操作。
第5圖繪示依據本發明一實施例之如第2圖所示方法200的一工作流程300。工作流程300可應用於資料儲存裝置100,且可應用於上述控制器諸如記憶體控制器110。在上述處理電路諸如微處理器112的控制下,記憶體控制器110可進行工作流程300。為了簡化說明,假設資料儲存裝置100可具有單一通道(Channel)、且該單一通道中之非揮發性記憶體元件的總數可為4(N=4),並且以這些非揮發性記憶體元件(其可分別為非揮發性記憶體元件122-1、122-2、122-3與122-4)為例進行下列說明;但本發明並不以此為限。方法300也可適用於通道總數(total channel count)NCH、每通道非揮發性記憶體元件數(NV-memory-element-count per channel)NPC、或非揮發性記憶體元件的總數N為任何正整數的資料儲存裝置100,其中N=(NPC * NCH)。
在步驟302中,記憶體控制器110可選取其中一個未進行編程記憶體元件。例如,在此之前,非揮發性記憶體元件122-1、122-2及122-3已被選取,且選取未被取消,僅剩非揮發性記憶體元件122-4可被選取,因此,在步驟302
中,記憶體控制器110選取非揮發性記憶體元件122-4。
在步驟304中,記憶體控制器110可記錄此記憶體元件的選取順序。假設非揮發性記憶體元件122-1、122-2及122-3已被選取,且選取順序分別為0、1及2。例如非揮發性記憶體元件122-4的選取順序為3。
在步驟306中,記憶體控制器110可依據選取順序判斷預設選取間隔(default selection interval)的記憶體元件是否已完成編程。如果是,則執行步驟310;如果否,則執行步驟308。預設選取間隔是用以決定之前選取的非揮發性記憶體元件與目前選取的非揮發性記憶體元件之間的關聯性,且預設選取間隔的值小於非揮發性記憶體元件的總數。依據選取順序,非揮發性記憶體元件122-1、122-2及122-3相對於非揮發性記憶體元件122-4的選取間隔分別為3(例如(3-0)=3)、2(例如(3-1)=2)及1(例如(3-2)=1)。假設預設選取間隔為3,則預設選取間隔的記憶體元件乃對應至非揮發性記憶體元件122-1。記憶體控制器110可檢查非揮發性記憶體元件122-1,是否處於一忙碌(busy)狀態或一非忙碌(non-busy)狀態。依據本實施例,該非忙碌狀態可為一備妥(ready)狀態,但本發明並不以此為限。
在步驟308中,記憶體控制器110可等待一預設時間;之後,執行步驟306。由於非揮發記憶體元件122-1、122-2及122-3已被選取且目前正在進行編程,為了避免資料儲存裝置100消耗大多的電力,因此,記憶體控制器110等待一段預設時間,例如:50ns,接著執行步驟306以判斷非揮發記憶體元件122-1是否完成編程,如果是,再進行非揮發記憶體元件122-4的編程。
在步驟310中,記憶體控制器110可開始此記憶體元件的編程。當非揮發記憶體元件122-1完成編程並進入該非忙碌狀態時,記憶體控制器110可編程選取的非揮發性記憶體元件122-4。如此一來,方法300能避免編程選取的非揮發性記憶體元件122-4,直到非揮發性記憶體元件122-1進入該非忙碌狀態後再編程
選取的非揮發性記憶體元件122-4,以達到本發明的至少一目的。之後,結束方法300之運作。
另外,步驟310可更包括刪除此記憶體元件的選取順序。之後,當方法300重新被執行時,由於已完成編程的記憶體元件的選取順序被刪除,剩下的選取順序所對應的非揮發性記憶體元件即仍在編程中,處於忙碌狀態,所以步驟306的判斷結果符合非揮發性記憶體元件122-1、122-2、122-3與122-4的真實情況。
在上述實施例中,非揮發性記憶體元件122-1、122-2、122-3與122-4的選取及編程順序為隨機選取,因此,步驟304為必要的。在另一種實施方式中,非揮發性記憶體元件122-1、122-2、122-3與122-4的選取為固定的,即選取順序為固定的,此狀況下,步驟304為非必要的並可省略之。
在上述實施例中,預設編程間隔的值可較佳地等於非揮發性記憶體元件的總數減一;但本發明並不以此為限。例如,預設編程間隔的值可為任何小於非揮發性記憶體元件的總數的正整數。
第6圖繪示依據本發明另一實施例之一工作流程320,其中工作流程320可透過修改第5圖所示工作流程300來繪示,例如,步驟322、328與330分別等同於步驟302、308與310,而步驟324與326分別異於步驟304與306。
在步驟324中,記憶體控制器110可判斷其它記憶體元件的狀態。例如當非揮發性記憶體元件122-1、122-2及122-3已被選取並正在進行編程中,則非揮發性記憶體元件122-1、122-2及122-3的狀態皆為忙錄狀態。
在步驟326中,記憶體控制器110可判斷處於忙錄狀態的記憶體元件的總數是否小於一預設值。如果是,則執行步驟330;如果否,則執行步驟328。假設預設值為3。此狀況下,由於非揮發性記憶體元件122-1、122-2及122-3的狀態皆為忙錄狀態,所以忙錄狀態的總數並不小於3,所以執行步驟328。當其中
之一非揮發性記憶體元件122-1、122-2及122-3的狀態由忙錄狀態變更為非忙碌狀態時,例如:非揮發性記憶體元件122-1首先完成編程,並由忙錄狀態變更為非忙碌狀態,使處於忙錄狀態的記憶體元件的總數小於預設值,故執行步驟330,對非揮發性記憶體元件122-4進行編程。
依據某些實施例,於編程該複數個非揮發性記憶體元件122-1、122-2、...與122-N中之一目標非揮發性記憶體元件122-n之前(符號「n」可代表落入區間[1,N]的任一正整數),記憶體控制器110可檢查該複數個非揮發性記憶體元件122-1、122-2、...與122-N中之另一非揮發性記憶體元件是否處於該忙碌狀態或該非忙碌狀態。例如該非忙碌狀態可為該備妥狀態,但本發明並不以此為限。當該另一非揮發性記憶體元件進入該非忙碌狀態時,記憶體控制器110可編程目標非揮發性記憶體元件122-n。例如記憶體控制器110可避免編程目標非揮發性記憶體元件122-n,直到該另一非揮發性記憶體元件進入該非忙碌狀態。在該複數個非揮發性記憶體元件122-1、122-2、...與122-N之一預定邏輯序列(predetermined logic sequence)中,該另一非揮發性記憶體元件是目標非揮發性記憶體元件122-n之一後續的(subsequent)非揮發性記憶體元件。為了便於理解,該預定邏輯序列可為{{122-1,122-2,...,122-N},{122-1,122-2,...,122-N},...}(其係由序列{122-1,122-2,...,122-N}的重複所組成),但本發明並不以此為限。當目標非揮發性記憶體元件122-n代表預定邏輯序列{{122-1,122-2,...,122-N},{122-1,122-2,...,122-N},...}中的某一個非揮發性記憶體元件時,在預定邏輯序列{{122-1,122-2,...,122-N},{122-1,122-2,...,122-N},...}當中,該另一非揮發性記憶體元件係位於這個非揮發性記憶體元件之後。例如:在該預定邏輯序列中,該另一非揮發性記憶體元件可以是目標非揮發性記憶體元件122-n的下一個非揮發性記憶體元件,諸如非揮發性記憶體元件122-(n+1)或非揮發性記憶體元件122-(n+1-N),其中,若n<N,則該下一個非揮發性記
憶體元件代表非揮發性記憶體元件122-(n+1),否則(這表示n=N),該下一個非揮發性記憶體元件代表非揮發性記憶體元件122-(n+1-N)(亦即122-1,當n=N)。此狀況下,在該複數個非揮發性記憶體元件122-1、122-2、...與122-N中,同時處於該忙碌狀態的非揮發性記憶體元件的數量之最大值可等於該複數個非揮發性記憶體元件122-1、122-2、...與122-N的總數減一。另外,該預定邏輯序列可以指出可應用於(applicable to)該複數個非揮發性記憶體元件122-1、122-2、...與122-N之編程運作的順序。因應來自資料儲存裝置100以外的至少一請求(request),記憶體控制器110可依據該預定邏輯序列輪流編程該複數個非揮發性記憶體元件122-1、122-2、...與122-N。例如:上述至少一請求可代表主機50傳送至資料儲存裝置100之至少一寫入指令。因應上述至少一寫入指令,資料儲存裝置100可對該複數個非揮發性記憶體元件122-1、122-2、...與122-N進行一系列編程運作,以在避免相關技術的問題(例如:瞬間功耗(instantaneous power consumption)超過預定的產品規格)的狀況下儘快地將一系列資料儲存進入非揮發性記憶體120。基於方法200,記憶體控制器110可管理該系列編程運作,以在沒有副作用或較不可能帶來副作用之狀況下達到資料儲存裝置100之最佳化效能。
依據某些實施例,記憶體控制器110可同時編程該複數個非揮發性記憶體元件122-1、122-2、...與122-N中之一組非揮發性記憶體元件、且使該組非揮發性記憶體元件的數量小於或等於一預定非揮發性記憶體元件數(predetermined NV memory element count),其中該預定非揮發性記憶體元件數小於該複數個非揮發性記憶體元件122-1、122-2、...與122-N的總數。例如:於檢查該另一非揮發性記憶體元件是否處於該忙碌狀態或該非忙碌狀態之運作的期間,目標非揮發性記憶體元件122-n尚未被選擇成為該組非揮發性記憶體元件中之一非揮發性記憶體元件。當該另一非揮發性記憶體元件進入該非忙碌狀態
時,記憶體控制器110可選擇目標非揮發性記憶體元件122-n成為該組非揮發性記憶體元件中之該非揮發性記憶體元件。又例如:於檢查該另一非揮發性記憶體元件是否處於該忙碌狀態或該非忙碌狀態之運作被進行之前,該另一非揮發性記憶體元件已被選擇成為該組非揮發性記憶體元件的其中之一。當該另一非揮發性記憶體元件進入該非忙碌狀態時,該另一非揮發性記憶體元件就不是該組非揮發性記憶體元件的其中之一。
依據某些實施例,電子裝置10中的主機50(例如運行著程式模組53的處理電路52)與資料儲存裝置100(例如記憶體控制器110)可依據第4圖所示的基於組態的節流控制方案進行多個控制參數(諸如控制參數PARA1)的相關控制,尤其,分別針對該多個控制參數進行步驟S10~S23的操作,以進行組態調整、參數設定、對應的節流控制操作等。該多個控制參數可包含一第一控制參數與一第二控制參數。資料儲存裝置100(例如記憶體控制器110)可變更該第一控制參數多次以改變或更新資料儲存裝置100的對應的節流控制組態,且可變更該第二控制參數多次以改變或更新資料儲存裝置100的對應的節流控制組態。例如,該第一控制參數可指出該複數個非揮發性記憶體元件122-1、122-2、...與122-N中的同時編程的非揮發性記憶體元件的數量的一上限,諸如於第3圖所示實施例中所述之非揮發性記憶體120中的同時編程的非揮發性記憶體元件的最大數量,並且,該第二控制參數可指出資料儲存裝置100中的記憶體控制器110的操作頻率,諸如於第3圖所示實施例中所述之操作頻率。為了簡明起見,這些實施例與前述實施例相仿的內容在此不重複贅述。
如上所述,資料儲存裝置100運作時,節流控制不但可以是預設值,也可以由使用者自行設定,如此一來,更能符合使用者的需求,或是更能符合主機50或資料儲存裝置100的實際使用狀況,達到本發明的目的。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變
化與修飾,皆應屬本發明之涵蓋範圍。
200:方法
202、204、206、208、210、212、214:步驟
Claims (17)
- 一種藉助於組態設定(configuration setting)來進行動態節流控制(dynamic throttling control)之方法,該方法係應用於一電子裝置,該電子裝置包含一主機(host device)以及一資料儲存裝置,該資料儲存裝置包含一非揮發性記憶體(non-volatile memory,NV memory),該非揮發性記憶體包含複數個非揮發性記憶體元件(NV memory element),該方法包含有:利用該主機提供一使用者介面,以容許一使用者選擇該資料儲存裝置的複數個節流控制組態(throttling control configuration)中的任何節流控制組態;以及因應該使用者所選擇的於該複數個節流控制組態中的所述任何節流控制組態,利用該主機傳送對應於該複數個節流控制組態中的所述任何節流控制組態之節流控制資訊至該資料儲存裝置,以於編程(program)該非揮發性記憶體的期間對該資料儲存裝置進行該動態節流控制,以供於編程該非揮發性記憶體的期間限制該資料儲存裝置的功耗,其中該節流控制資訊指出進行該動態節流控制是必要的,該複數個節流控制組態包含一第一節流控制組態以及一第二節流控制組態,以及因應該使用者所選擇的於該複數個節流控制組態中的所述任何節流控制組態利用該主機傳送對應於該複數個節流控制組態中的所述任何節流控制組態之所述節流控制資訊至該資料儲存裝置以於編程該非揮發性記憶體的期間對該資料儲存裝置進行該動態節流控制另包含:因應該使用者所選擇的該第一節流控制組態,利用該主機傳送對應於該第一節流控制組態之第一節流控制資訊至該資料儲存裝 置,以於編程該非揮發性記憶體的期間對該資料儲存裝置進行該動態節流控制,其中該第一節流控制資訊指出用來控制該資料儲存裝置之一第一控制參數的一第一設定值;以及因應該使用者所選擇的該第二節流控制組態,利用該主機傳送對應於該第二節流控制組態之第二節流控制資訊至該資料儲存裝置,以於編程該非揮發性記憶體的期間對該資料儲存裝置進行該動態節流控制,其中該第二節流控制資訊指出該第一控制參數的一第二設定值;其中因應該第一控制參數從該第一設定值改變為該第二設定值,該資料儲存裝置的該功耗被改變。
- 如申請專利範圍第1項所述之方法,其中該第一控制參數指出該複數個非揮發性記憶體元件中的同時編程的非揮發性記憶體元件(concurrently programmed NV memory element)的數量的一上限。
- 如申請專利範圍第2項所述之方法,另包含:依據該第一控制參數控制該資料儲存裝置,以維持該複數個非揮發性記憶體元件中的所述同時編程的非揮發性記憶體元件的該數量小於或等於該第一控制參數所指出的該上限。
- 如申請專利範圍第1項所述之方法,其中該第一控制參數指出該資料儲存裝置中的一記憶體控制器的一操作頻率。
- 如申請專利範圍第4項所述之方法,另包含: 控制該記憶體控制器依據該第一控制參數所指出的該操作頻率來操作。
- 如申請專利範圍第1項所述之方法,其中該複數個節流控制組態包含一第三節流控制組態以及一第四節流控制組態;以及因應該使用者所選擇的於該複數個節流控制組態中的所述任何節流控制組態利用該主機傳送對應於該複數個節流控制組態中的所述任何節流控制組態之所述節流控制資訊至該資料儲存裝置以於編程該非揮發性記憶體的期間對該資料儲存裝置進行該動態節流控制另包含:因應該使用者所選擇的該第三節流控制組態,利用該主機傳送對應於該第三節流控制組態之第三節流控制資訊至該資料儲存裝置,以於編程該非揮發性記憶體的期間對該資料儲存裝置進行該動態節流控制,其中該第三節流控制資訊指出用來控制該資料儲存裝置之一第二控制參數的一第三設定值;以及因應該使用者所選擇的該第四節流控制組態,利用該主機傳送對應於該第四節流控制組態之第四節流控制資訊至該資料儲存裝置,以於編程該非揮發性記憶體的期間對該資料儲存裝置進行該動態節流控制,其中該第四節流控制資訊指出該第二控制參數的一第四設定值;其中因應該第二控制參數從該第三設定值改變為該第四設定值,該資料儲存裝置的該功耗被改變。
- 如申請專利範圍第6項所述之方法,其中該第一控制參數指出該複數個非揮發性記憶體元件中的同時編程的非揮發性記憶體元件(concurrently programmed NV memory element)的數量的一上限;以及該第二控制參數指出該資料儲存裝置中的一記憶體控制器的一操作頻率。
- 如申請專利範圍第7項所述之方法,另包含:依據該第一控制參數控制該資料儲存裝置,以維持該複數個非揮發性記憶體元件中的所述同時編程的非揮發性記憶體元件的該數量小於或等於該第一控制參數所指出的該上限;以及控制該記憶體控制器依據該第二控制參數所指出的該操作頻率來操作。
- 如申請專利範圍第1項所述之方法,其中該資料儲存裝置另包含一記憶體控制器,且該記憶體控制器係用來控制該非揮發性記憶體的存取(accessing);以及該動態節流控制包含:於編程該複數個非揮發性記憶體元件中之一目標非揮發性記憶體元件之前,利用該記憶體控制器檢查該複數個非揮發性記憶體元件中之至少一其它非揮發性記憶體元件是否處於一忙碌(busy)狀態或一非忙碌(non-busy)狀態;以及因應所述至少一其它非揮發性記憶體元件中之每一非揮發性記憶體元件進入該非忙碌狀態,利用該記憶體控制器編程該目標非揮發性記憶體元件。
- 一種具備計算機功能的主機(host device),包含有:一處理電路,用來控制該主機以藉助於組態設定(configuration setting)來進行一資料儲存裝置的動態節流控制(dynamic throttling control),其中該資料儲存裝置係用來為該主機儲存資訊,該資料儲存裝置包含一非揮發性記憶體(non-volatile memory,NV memory),以及該非揮發性記憶體包含複數個非揮發性記憶體元件(NV memory element),其中:該主機提供一使用者介面,以容許一使用者選擇該資料儲存裝置的複數個節流控制組態(throttling control configuration)中的任何節流控制組態;以及因應該使用者所選擇的於該複數個節流控制組態中的所述任何節流控制組態,該主機傳送對應於該複數個節流控制組態中的所述任何節流控制組態之節流控制資訊至該資料儲存裝置,以於編程(program)該非揮發性記憶體的期間對該資料儲存裝置進行該動態節流控制,以供於編程該非揮發性記憶體的期間限制該資料儲存裝置的功耗,其中該節流控制資訊指出進行該動態節流控制是必要的,以及該複數個節流控制組態包含一第一節流控制組態以及一第二節流控制組態,其中:因應該使用者所選擇的該第一節流控制組態,該主機傳送對應於該第一節流控制組態之第一節流控制資訊至該資料儲存裝置,以於編程該非揮發性記憶體的期間對該資料儲存裝置進行該動態節流控制,其中該第一節流控制資訊指出用來控制該資料儲存裝置之一第一控制參數的一第一設定值;因應該使用者所選擇的該第二節流控制組態,該主機傳送對應於該第二節流控制組態之第二節流控制資訊至該資料儲存裝置,以於編程該非揮發性記憶體的期間對該資料儲存裝置進行該動態節流控制,其中該第二節流控制資訊指出該第一控制參數的一第二設定值;以及因應該第一控制參數從該第一設定值改變為該第二設定值,該 資料儲存裝置的該功耗被改變。
- 如申請專利範圍第10項所述之主機,其中該第一控制參數指出該複數個非揮發性記憶體元件中的同時編程的非揮發性記憶體元件(concurrently programmed NV memory element)的數量的一上限。
- 如申請專利範圍第10項所述之主機,其中該第一控制參數指出該資料儲存裝置中的一記憶體控制器的一操作頻率。
- 一種資料儲存裝置,包含有:一非揮發性記憶體(non-volatile memory,NV memory),其中該非揮發性記憶體包含複數個非揮發性記憶體元件(NV memory element);以及一記憶體控制器,用來控制該非揮發性記憶體的存取,以容許一主機(host device)透過該記憶體控制器存取(access)該非揮發性記憶體、以及藉助於組態設定(configuration setting)來進行該資料儲存裝置的動態節流控制(dynamic throttling control),其中:該主機提供一使用者介面,以容許一使用者選擇該資料儲存裝置的複數個節流控制組態(throttling control configuration)中的任何節流控制組態;因應該使用者所選擇的於該複數個節流控制組態中的所述任何節流控制組態,該主機傳送對應於該複數個節流控制組態中的所述任何節流控制組態之節流控制資訊至該資料儲存裝置,以於編程(program)該非揮發性記憶體的期間對該資料儲存裝置進 行該動態節流控制,以供於編程該非揮發性記憶體的期間限制該資料儲存裝置的功耗,其中該節流控制資訊指出進行該動態節流控制是必要的,以及該複數個節流控制組態包含一第一節流控制組態以及一第二節流控制組態,其中:因應該使用者所選擇的該第一節流控制組態,該主機傳送對應於該第一節流控制組態之第一節流控制資訊至該資料儲存裝置,以於編程該非揮發性記憶體的期間對該資料儲存裝置進行該動態節流控制,其中該第一節流控制資訊指出用來控制該資料儲存裝置之一第一控制參數的一第一設定值;因應該使用者所選擇的該第二節流控制組態,該主機傳送對應於該第二節流控制組態之第二節流控制資訊至該資料儲存裝置,以於編程該非揮發性記憶體的期間對該資料儲存裝置進行該動態節流控制,其中該第二節流控制資訊指出該第一控制參數的一第二設定值;以及因應該第一控制參數從該第一設定值改變為該第二設定值,該資料儲存裝置的該功耗被改變;以及基於該動態節流控制,該記憶體控制器依據該節流控制資訊動態地進行複數個節流控制操作,以於編程該非揮發性記憶體的期間限制該資料儲存裝置的該功耗。
- 如申請專利範圍第13項所述之資料儲存裝置,其中該第一控制參數指出該複數個非揮發性記憶體元件中的同時編程的非揮發性記憶體元件(concurrently programmed NV memory element)的數量的一上限。
- 如申請專利範圍第13項所述之資料儲存裝置,其中該第一控制參數指出該資料儲存裝置中的該記憶體控制器的一操作頻率。
- 如申請專利範圍第13項所述之資料儲存裝置,其中於編程該複數個非揮發性記憶體元件中之一目標非揮發性記憶體元件之前,該記憶體控制器檢查該複數個非揮發性記憶體元件中之至少一其它非揮發性記憶體元件是否處於一忙碌(busy)狀態或一非忙碌(non-busy)狀態;以及因應所述至少一其它非揮發性記憶體元件中之每一非揮發性記憶體元件進入該非忙碌狀態,該記憶體控制器編程該目標非揮發性記憶體元件。
- 一種資料儲存裝置之控制器,該資料儲存裝置包含該控制器與一非揮發性記憶體(non-volatile memory,NV memory),該非揮發性記憶體包含複數個非揮發性記憶體元件(NV memory element),該控制器包含有:一處理電路,用來控制該控制器的運作來控制該非揮發性記憶體的存取,以容許一主機(host device)透過該控制器存取(access)該非揮發性記憶體、以及藉助於組態設定(configuration setting)來進行該資料儲存裝置的動態節流控制(dynamic throttling control),其中:該主機提供一使用者介面,以容許一使用者選擇該資料儲存裝置的複數個節流控制組態(throttling control configuration)中的任何節流控制組態;因應該使用者所選擇的於該複數個節流控制組態中的所述任何節流控制組態,該主機傳送對應於該複數個節流控制組態中的所述任何節流控制組態之節流控制資訊至該資料儲存裝置,以於編 程(program)該非揮發性記憶體的期間對該資料儲存裝置進行該動態節流控制,以供於編程該非揮發性記憶體的期間限制該資料儲存裝置的功耗,其中該節流控制資訊指出進行該動態節流控制是必要的,以及該複數個節流控制組態包含一第一節流控制組態以及一第二節流控制組態,其中:因應該使用者所選擇的該第一節流控制組態,該主機傳送對應於該第一節流控制組態之第一節流控制資訊至該資料儲存裝置,以於編程該非揮發性記憶體的期間對該資料儲存裝置進行該動態節流控制,其中該第一節流控制資訊指出用來控制該資料儲存裝置之一第一控制參數的一第一設定值;因應該使用者所選擇的該第二節流控制組態,該主機傳送對應於該第二節流控制組態之第二節流控制資訊至該資料儲存裝置,以於編程該非揮發性記憶體的期間對該資料儲存裝置進行該動態節流控制,其中該第二節流控制資訊指出該第一控制參數的一第二設定值;以及因應該第一控制參數從該第一設定值改變為該第二設定值,該資料儲存裝置的該功耗被改變;以及基於該動態節流控制,該控制器依據該節流控制資訊動態地進行複數個節流控制操作,以於編程該非揮發性記憶體的期間限制該資料儲存裝置的該功耗。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108118073A TWI725434B (zh) | 2019-05-24 | 2019-05-24 | 藉助於組態設定來進行動態節流控制之方法、具備計算機功能的主機、以及資料儲存裝置及其控制器 |
CN201910786536.3A CN111984185B (zh) | 2019-05-24 | 2019-08-23 | 进行动态节流控制的方法、主机、数据存储装置及控制器 |
US16/732,338 US11366674B2 (en) | 2019-05-24 | 2020-01-01 | Method and apparatus for performing dynamic throttling control with aid of configuration setting |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108118073A TWI725434B (zh) | 2019-05-24 | 2019-05-24 | 藉助於組態設定來進行動態節流控制之方法、具備計算機功能的主機、以及資料儲存裝置及其控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202044050A TW202044050A (zh) | 2020-12-01 |
TWI725434B true TWI725434B (zh) | 2021-04-21 |
Family
ID=73437136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108118073A TWI725434B (zh) | 2019-05-24 | 2019-05-24 | 藉助於組態設定來進行動態節流控制之方法、具備計算機功能的主機、以及資料儲存裝置及其控制器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11366674B2 (zh) |
CN (1) | CN111984185B (zh) |
TW (1) | TWI725434B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11609960B2 (en) * | 2020-06-08 | 2023-03-21 | Walmart Apollo, Llc | Methods and apparatus for automatically servicing item data requests |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8117469B2 (en) * | 2009-07-10 | 2012-02-14 | Packet Digital | Automatically determining operating parameters of a power management device |
US20120185706A1 (en) * | 2011-12-13 | 2012-07-19 | Sistla Krishnakanth V | Method, apparatus, and system for energy efficiency and energy conservation including dynamic control of energy consumption in power domains |
US8681026B2 (en) * | 2012-02-29 | 2014-03-25 | Silicon Laboratories Inc. | Digital to analog converter |
US20160231802A1 (en) * | 2015-02-11 | 2016-08-11 | Dell Products, Lp | Method and Apparatus for System Control of a Central Processing Unit (CPU) Maximum Power Detector |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050066206A1 (en) * | 2003-09-24 | 2005-03-24 | John Beers | Storage device configuration |
US7580296B2 (en) * | 2007-03-30 | 2009-08-25 | Sandisk 3D Llc | Load management for memory device |
US9037778B2 (en) * | 2010-08-20 | 2015-05-19 | Samsung Electronics Co., Ltd. | Method and apparatus to interface semiconductor storage device and host to provide performance throttling of semiconductor storage device |
US8670205B1 (en) * | 2010-09-29 | 2014-03-11 | Western Digital Technologies, Inc. | Hybrid drive changing power mode of disk channel when frequency of write data exceeds a threshold |
JP5929790B2 (ja) * | 2012-06-19 | 2016-06-08 | ソニー株式会社 | 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法 |
US9582211B2 (en) * | 2014-04-29 | 2017-02-28 | Sandisk Technologies Llc | Throttling command execution in non-volatile memory systems based on power usage |
US9472279B2 (en) * | 2015-01-20 | 2016-10-18 | Taiwan Semiconductor Manufacturing Company Limited | Memory cell dynamic grouping using write detection |
US9946481B2 (en) * | 2015-05-01 | 2018-04-17 | Toshiba Memory Corporation | Dynamic power throttling in solid state drives |
TWI641988B (zh) * | 2017-07-21 | 2018-11-21 | 慧榮科技股份有限公司 | 用來於一記憶裝置中進行編程管理之方法以及記憶裝置及其控制器 |
KR20190016191A (ko) * | 2017-08-08 | 2019-02-18 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR102480017B1 (ko) * | 2017-08-11 | 2022-12-21 | 삼성전자 주식회사 | 입출력 장치의 성능 및 전력소모를 조절하는 메모리 컨트롤러, 어플리케이션 프로세서 및 메모리 컨트롤러의 동작방법 |
-
2019
- 2019-05-24 TW TW108118073A patent/TWI725434B/zh active
- 2019-08-23 CN CN201910786536.3A patent/CN111984185B/zh active Active
-
2020
- 2020-01-01 US US16/732,338 patent/US11366674B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8117469B2 (en) * | 2009-07-10 | 2012-02-14 | Packet Digital | Automatically determining operating parameters of a power management device |
US20120185706A1 (en) * | 2011-12-13 | 2012-07-19 | Sistla Krishnakanth V | Method, apparatus, and system for energy efficiency and energy conservation including dynamic control of energy consumption in power domains |
US8681026B2 (en) * | 2012-02-29 | 2014-03-25 | Silicon Laboratories Inc. | Digital to analog converter |
US20160231802A1 (en) * | 2015-02-11 | 2016-08-11 | Dell Products, Lp | Method and Apparatus for System Control of a Central Processing Unit (CPU) Maximum Power Detector |
Also Published As
Publication number | Publication date |
---|---|
CN111984185B (zh) | 2023-12-05 |
TW202044050A (zh) | 2020-12-01 |
US11366674B2 (en) | 2022-06-21 |
CN111984185A (zh) | 2020-11-24 |
US20200371817A1 (en) | 2020-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107924224B (zh) | 用于自适应自动休眠和后台操作的存储器系统及方法 | |
US20130013853A1 (en) | Command executing method, memory controller and memory storage apparatus | |
US11256614B2 (en) | Memory controller for allocating logical address and method of operating the same | |
TWI684860B (zh) | 用來進行讀取加速之方法以及資料儲存裝置及其控制器 | |
KR20210006129A (ko) | 컨트롤러 및 컨트롤러의 동작방법 | |
CN110942795B (zh) | 存储器系统、其操作方法以及非易失性存储器装置 | |
US11488671B2 (en) | Method, associated memory device and controller thereof for performing programming management | |
CN111913556A (zh) | 储存装置及储存装置的操作方法 | |
CN111667871B (zh) | 存储器设备及其操作方法 | |
US20200327065A1 (en) | Memory system and operating method thereof | |
TWI693520B (zh) | 用來於一記憶裝置中進行系統備份的方法、相關記憶裝置及其控制器、以及相關電子裝置 | |
CN106683698A (zh) | 存储器件及其操作方法 | |
TWI725434B (zh) | 藉助於組態設定來進行動態節流控制之方法、具備計算機功能的主機、以及資料儲存裝置及其控制器 | |
TWI739440B (zh) | 用來進行資料儲存管理以提升資料可靠度之方法、記憶裝置及其控制器以及電子裝置 | |
CN110174995A (zh) | 存储器控制器及其操作方法 | |
TW202141275A (zh) | 用來針對非揮發性記憶體進行區塊管理的方法以及設備 | |
TWI644215B (zh) | 用來控制一資料儲存裝置的運作之方法以及資料儲存裝置及其控制器 | |
TWI709855B (zh) | 用來於一記憶裝置中進行寫入管理之方法以及記憶裝置及其控制器 | |
CN108132895B (zh) | 配置为与主机执行双向通信的存储装置及其操作方法 | |
US11688472B2 (en) | Memory device for passing verify operation and operating method of the same | |
CN115938422A (zh) | 刷新数据的数据存储装置及其操作方法 | |
TWI781846B (zh) | 非對稱型平面管理方法以及資料儲存裝置及其控制器 | |
TWI664527B (zh) | 用來於一記憶裝置中進行初始化之方法、記憶裝置及其控制器以及電子裝置 | |
TWI721246B (zh) | 資料編程之方法以及記憶裝置及其控制器 | |
KR20200031886A (ko) | 메모리 시스템 및 그것의 동작방법 |