TW201830246A - 記憶體系統以及記憶體系統的操作方法 - Google Patents
記憶體系統以及記憶體系統的操作方法 Download PDFInfo
- Publication number
- TW201830246A TW201830246A TW106139784A TW106139784A TW201830246A TW 201830246 A TW201830246 A TW 201830246A TW 106139784 A TW106139784 A TW 106139784A TW 106139784 A TW106139784 A TW 106139784A TW 201830246 A TW201830246 A TW 201830246A
- Authority
- TW
- Taiwan
- Prior art keywords
- sub
- job
- memory
- clock
- energy level
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
- 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/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- 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/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- 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/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- 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/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5671—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge trapping in an insulator
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/06—Arrangements for interconnecting storage elements electrically, e.g. by wiring
- G11C5/063—Voltage and signal distribution in integrated semi-conductor memory access lines, e.g. word-line, bit-line, cross-over resistance, propagation delay
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
- G11C5/147—Voltage reference generators, voltage or current regulators; Internally lowered supply levels; Compensation for voltage drops
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/023—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
- G11C5/145—Applications of charge pumps; Boosted voltage circuits; Clamp circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/04—Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
-
- H10W72/07554—
-
- H10W90/00—
-
- H10W90/20—
-
- 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)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Software Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一種記憶體系統可以包括:記憶體裝置,其包括多個記憶體晶粒並且適於在多個記憶體晶粒中執行指令操作;以及控制器,其適於:基於邏輯單元大小來劃分與指令操作相對應的指令作業的子作業;佇列劃分的子作業;以及利用可變的操作能量位準和操作時脈對記憶體晶粒執行佇列的子作業。控制器可以在對記憶體晶粒執行至少一個佇列的子作業的同時,監控至少一個佇列的子作業的狀態和作業負載,並且根據監控的結果交互且動態地調整至少一個佇列的子作業的能量位準和操作時脈。
Description
示例性實施例係關於一種記憶體系統,並且更特別地,關於一種將資料處理到記憶體裝置及從記憶體裝置處理資料的記憶體系統及其操作方法。
電腦環境範例已經轉變至可隨時隨地使用的無所不在的計算系統。由於此,諸如行動電話、數位相機和筆記型電腦的可擕式電子裝置的使用已經快速增長。這些可擕式電子裝置通常使用具有用於儲存資料的一個或多個記憶體裝置的記憶體系統。記憶體系統可以作為可擕式電子裝置的主記憶體裝置或次記憶體裝置。
因為記憶體系統不具有移動部件,所以它們提供優良的穩定性、耐久性、高資訊存取速度和低功耗。具有這種優點的記憶體系統的示例包括通用序列匯流排(USB)記憶體裝置、具有各種介面的儲存卡和固態硬碟(SSD)。
本申請要求於2016年12月23日向韓國智慧財產權局提交的申請號為10-2016-0177915的韓國專利申請的優先權,其公開整體透過引用併入本文。
各個實施例係關於一種能夠最大化使用記憶體裝置時的使用效率的記憶體系統及其操作方法。
在實施例中,一種記憶體系統可以包括:記憶體裝置,其包括多個記憶體晶粒並且適於在多個記憶體晶粒中執行指令操作;以及控制器,其適於:基於邏輯單元大小來劃分與指令操作相對應的指令作業(job)的子作業;使劃分的子作業佇列;以及在可變的操作能量位準(energy levels)和操作時脈中對記憶體晶粒執行佇列的子作業。控制器可以監控至少一個佇列的子作業的狀態和作業負載,同時對記憶體晶粒執行至少一個佇列的子作業,並且根據監控的結果交互且動態地調整至少一個佇列的子作業的能量位準和操作時脈。
控制器可以在第一操作能量位準和第一操作時脈中執行佇列的子作業的多個第一子作業,並且接著在第三操作能量位準和第三操作時脈中執行佇列的子作業的待處理的(pending)第一子作業,並且控制器可以在第二操作能量位準和第二操作時脈中執行佇列的子作業的多個第二子作業,並且接著可以在第四操作能量位準和第四操作時脈中執行佇列的子作業的待處理的第二子作業。
控制器可以監控與在第一操作能量位準和第一操作時脈中執行第一子作業相對應的第一狀態和第一作業負載,並且控制器可以監控與在第二操作能量位準和第二操作時脈中執行第二子作業相對應的第二狀態和第二作業負載。
控制器可以對應於第一狀態和第一作業負載,透過放大(scale up)或縮小(scale down)第一操作能量位準和第一操作時脈來確定第三操作能量位準和第三操作時脈,並且控制器可以對應於第二狀態和第二作業負載,透過放大或縮小第二操作能量位準和第二操作時脈來確定第四操作能量位準和第四操作時脈。
在待處理的第二子作業是佇列的子作業的最後子作業的情況下,控制器可以透過縮小第二操作時脈來確定第四操作時脈作為最小時脈,並且接著可以對應於作為最小時脈的第四操作時脈透過放大或縮小第二操作能量位準來確定第四操作能量位準。
控制器可以控制用於在佇列的子作業中具有最小性能和最大延遲(latency)的子作業,或者需要最大性能的子作業的能量位準和操作時脈中的一個或多個,使得能量位準是最大能量位準並且操作時脈是最大操作時脈。
在記憶體裝置和控制器中的溫度等於或大於閾值溫度的情況下,控制器可以縮小用於至少一個佇列的子作業的能量位準和操作時脈。
在記憶體裝置和控制器中的溫度小於閾值溫度的情況下,控制器可以放大或縮小用於至少一個佇列的子作業的能量位準和操作時脈。
在至少一個佇列的子作業的性能和延遲在相同狀態下被維持預定時間的情況下,控制器可以縮小用於至少一個佇列的子作業的能量位準並且放大用於至少一個佇列的子作業的操作時脈。
狀態可以包括控制器和記憶體裝置的溫度、性能和延遲,並且作業負載可以包括佇列的子作業的待處理的子作業。
控制器可以包括:作業解析模組,其適於解析指令作業;子作業佇列模組,其適於基於邏輯單元大小來使解析的指令作業相對應的子作業佇列;子作業模組,其適於對相應的記憶體晶粒分別執行佇列的子作業;監控器,其適於當子作業模組分別執行佇列的子作業時,監控控制器和記憶體裝置中的溫度、性能和延遲;以及功率(power)管理控制模組,其適於檢查用於解析的指令作業、佇列的子作業、溫度、性能和延遲的監控標誌,並且接著調整各個子作業模組的操作能量位準和操作時脈中的一個或多個。
功率管理控制模組可以包括:控制單元,其適於根據解析的指令作業、佇列的子作業和監控標誌來控制各個子作業模組的操作能量位準和操作時脈中的一個或多個;以及驅動單元,其適於將被控制的操作能量位準和/或被控制的操作時脈提供給各個子作業模組。
在實施例中,一種包括記憶體裝置的記憶體系統的操作方法,該記憶體裝置包含多個記憶體晶粒,該方法可以包括:基於邏輯單元大小來劃分與指令操作相對應的指令作業的子作業;使劃分的子作業佇列;在可變的操作能量位準和操作時脈中對記憶體晶粒執行佇列的子作業;在執行佇列的子作業期間監控佇列的子作業的狀態和作業負載;以及根據監控的結果並透過放大或縮小來交互且動態地控制能量位準和操作時脈中的一個或多個。狀態可以包括記憶體裝置和記憶體裝置的控制器中的溫度、性能和延遲,並且作業負載可以包括佇列的子作業的待處理的子作業。
執行可以包括:在第一操作能量位準和第一操作時脈中執行佇列的子作業的第一子作業,並且接著在第三操作能量位準和第三操作時脈中執行佇列的子作業的待處理的第一子作業;以及在第二操作能量位準和第二操作時脈中執行佇列的子作業的第二子作業,並且接著在第四操作能量位準和第四操作時脈中執行佇列的子作業的待處理的第二子作業,並且監控可以包括:監控與在第一操作能量位準和第一操作時脈中執行的第一子作業相對應的第一狀態和第一作業負載;以及監控與在第二操作能量位準和第二操作時脈中執行第二子作業相對應的第二狀態和第二作業負載。
控制可以包括:對應於第一狀態和第一作業負載,透過放大或縮小第一操作能量位準和第一操作時脈來確定第三操作能量位準和第三操作時脈;以及對應於第二狀態和第二作業負載,透過放大或縮小第二操作能量位準和第二操作時脈來確定第四操作能量位準和第四操作時脈。
能量位準和操作時脈中的一個或多個的控制可以包括:控制用於佇列的子作業的最後子作業的能量位準和操作時脈中的一個或多個,使得操作時脈是最小操作時脈並且能量位準對應於最小操作時脈。
能量位準和操作時脈中的一個或多個的控制可以包括:控制用於在佇列的子作業中具有最小性能和最大延遲的子作業或者需要最大性能的子作業的能量位準和操作時脈中的一個或多個,使得能量位準是最大能量位準並且操作時脈是最大操作時脈。
在記憶體裝置和控制器中的溫度等於或大於閾值溫度的情況下,能量位準和操作時脈中的一個或多個的控制可以包括縮小用於佇列的子作業的能量位準和操作時脈中的一個或多個。
在記憶體裝置和控制器中的溫度小於閾值溫度的情況下,能量位準和操作時脈中的一個或多個的控制可以包括放大用於佇列的子作業的能量位準和操作時脈中的一個或多個。
在第一子作業的性能和延遲在相同狀態下被維持預定時間的情況下,控制能量位準和操作時脈中的一個或多個可以包括縮小用於佇列的子作業的能量位準並放大用於佇列的子作業的操作時脈。
在實施例中,一種記憶體系統可以包括:作業解析模組,其被配置成解析用於與從主機接收的多個指令相對應的指令操作的指令作業;子作業模組,其被配置成在包括在記憶體裝置中的記憶體晶粒中分別執行與解析的指令作業相對應的子作業;以及功率管理控制模組,其被配置成在子作業模組分別執行相應的子作業的情況下,動態地控制子作業模組中的操作能量位準。
記憶體系統可以包括監控器,其被配置成當在記憶體晶粒中執行子作業時,監控包括記憶體裝置的記憶體系統中的溫度以及子作業模組中的性能和延遲。
功率管理控制模組可以在記憶體系統中允許使用的所有能量位準中透過放大或縮小相應的溫度、性能和延遲由子作業模組動態地控制各個操作能量位準。
在實施例中,一種記憶體系統可以包括:作業解析模組,其被配置成解析用於與從主機接收的多個指令相對應的指令操作的指令作業;子作業模組,其被配置成在包括在記憶體裝置中的記憶體晶粒中分別執行與解析的指令作業相對應的子作業;以及功率管理控制模組,其被配置成在子作業模組分別執行相應的子作業的情況下,動態地控制子作業模組中的操作時脈。
記憶體系統可以包括監控器,其被配置成當在記憶體晶粒中執行子作業時,監控包括記憶體裝置的記憶體系統中的溫度以及子作業模組中的性能和延遲。
功率管理控制模組可以對應於溫度、性能和延遲透過對記憶體系統的參考時脈放大或縮小由子作業模組動態地控制操作時脈。
以下參照附圖更詳細地描述本發明的各個實施例。然而,應注意的是,本發明可以不同的其它實施例、形式和變化實施,並且不應被解釋為限於本文闡述的實施例。相對地,提供這些實施例使得本公開將是徹底且完整的,並且將向本發明所屬領域的技術人員完全傳達本發明。在整個公開中,相同的元件符號在整個本發明的各個所附圖式和實施例中表示相同的部件。
將理解的是,雖然術語「第一」、「第二」、「第三」等可在本文使用以描述各種元件,但是這些元件不受這些術語限制。這些術語被用於區分一個元件與另一元件。因此,在不脫離本發明的精神和範圍的情況下,以下描述的第一元件也可被稱為第二元件或第三元件。
所附圖式不一定按比例繪製,在一些情況下,為了清楚地示出實施例的特徵,可能已經誇大了比例。
將進一步理解的是,當一個元件被稱為「連接至」或「耦接至」另一元件時,它可以直接在其它元件上、連接至或耦接至其它元件,或可存在一個或多個中間元件。另外,也將理解的是,當元件被稱為在兩個元件「之間」時,兩個元件之間可以僅有一個元件或也可存在一個或多個中間元件。
本文使用的術語的目的僅是描述特定實施例而不旨在限制本發明。如本文使用的,單數形式也旨在包括複數形式,除非上下文另有清楚地說明。將進一步理解的是,當在該說明書中使用術語「包括」、「包括有」、「包含」和「包含有」時,它們指定闡述的元件的存在而不排除一個或多個其它元件的存在或增加。如本文使用的,術語「和/或」包括一個或多個相關的所列專案的任何一個和所有組合。
除非另有限定,否則本文所使用的包括技術術語和科學術語的所有術語具有與本發明所屬領域中普通技術人員通常理解的含義相同的含義。將進一步理解的是,諸如在常用詞典中限定的那些術語應被理解為具有與它們在本公開的上下文和相關領域中的含義一致的含義並且將不以理想化或過於正式的意義來解釋,除非本文如此明確地限定。
在以下描述中,為了提供本發明的徹底理解,闡述了許多具體細節。本發明可在沒有一些或全部這些具體細節的情況下被實施。在其它情況下,為了不使本發明不必要模糊,未詳細地描述公知的程序結構和/或程序。
也應注意的是,在一些情況下,對相關領域的技術人員顯而易見的是,結合一個實施例描述的特徵或元件可單獨使用或與另一實施例的其它特徵或元件結合使用,除非另有明確說明。
圖1是示出根據本發明的實施例的包括記憶體系統110的資料處理系統100的方塊圖。
參照圖1,資料處理系統100可以包括主機102和記憶體系統110。
主機102可包括諸如行動電話、MP3播放機和膝上型電腦的可擕式電子裝置或諸如桌上型電腦、遊戲機、TV和投影機的非可擕式電子裝置。
主機102可以包括至少一個OS(作業系統),並且OS可以管理和控制主機102的整體功能和操作,並且在主機102和使用資料處理系統100或記憶體系統110的使用者之間提供操作。OS可以支援對應於使用者的使用目的和使用的功能和操作。例如,根據主機102的移動性,OS可以被劃分為通用OS和移動OS。根據使用者的環境,通用OS可以被劃分為個人OS和企業OS。例如,被配置為支援向一般使用者提供服務的功能的個人OS可以包括Windows和Chrome,並且被配置為保護和支援高性能的企業OS可以包括Windows伺服器、Linux和Unix。此外,配置為支援向使用者提供移動服務及系統的省電功能的移動OS可以包括安卓、iOS和Windows Mobile。例如,主機102可以包括多個OS,並且執行OS以對記憶體系統110執行對應於使用者的請求的操作。
記憶體系統110可以回應於主機102的請求來操作以儲存用於主機102的資料。記憶體系統110的非限制性示例可以包括固態硬碟(SSD)、多媒體卡(MMC)、安全數位(SD)卡、通用儲存匯流排(USB)裝置、通用快閃儲存(UFS)裝置、標準快閃記憶體(CF)卡、智慧媒體(SM)卡、國際個人電腦記憶卡協會(PCMCIA)卡和記憶棒。MMC可以包括嵌入式MMC(eMMC)、尺寸減小的MMC(RS-MMC)和微型MMC。SD卡可以包括迷你SD卡和微型SD卡。
記憶體系統110可以由各種類型的儲存裝置來實施。包括在記憶體系統110的儲存裝置的非限制性示例可以包括諸如DRAM動態隨機存取記憶體(DRAM)和靜態RAM(SRAM)的揮發性記憶體裝置,或諸如唯讀記憶體(ROM)、遮罩式ROM(MROM)、可程式化ROM(PROM)、可抹除可程式化ROM(EPROM)、電可抹除可程式化ROM(EEPROM)、鐵電RAM(FRAM)、相變RAM(PRAM)、磁阻RAM(MRAM)、電阻式RAM(RRAM)和快閃記憶體的非揮發性記憶體裝置。快閃記憶體可以具有3維(3D)堆疊結構。
記憶體系統110可以包括記憶體裝置150和控制器130。記憶體裝置150可以儲存用於主機120的資料,並且控制器130可以控制將資料儲存到記憶體裝置150中。
控制器130和記憶體裝置150可以被整合到單個半導體裝置中,其可以被包括在如上所例示的各種類型的記憶體系統中。
記憶體系統110的非限制性應用示例可以包括電腦、超移動PC(UMPC)、工作站、小筆電、個人數位助理(PDA)、可擕式電腦、網路平板、平板電腦、無線電話、行動電話、智慧型電話、電子書、可擕式多媒體播放機(PMP)、可擕式遊戲機、導航系統、黑盒子、數位相機、數位多媒體廣播(DMB)播放機、3維(3D)電視、智慧電視、數位音訊記錄器、數位音訊播放機、數位圖片記錄器、數位圖片播放機、數位視訊記錄器、數位視訊播放機、配置資料中心的儲存裝置、能夠在無線環境下傳輸/接收資訊的裝置、配置家用網路的各種電子裝置中的一個、配置電腦網路的各種電子裝置中的一個、配置遠端資訊處理的各種電子裝置中的一個、射頻識別(RFID)裝置或配置計算系統的各種部件中的一個。
記憶體裝置150可以是非揮發性記憶體裝置,並且即使不供給電力,也可以保留其中儲存的資料。記憶體裝置150可以透過寫入操作來儲存從主機102提供的資料,並且透過讀取操作將儲存在其中的資料提供給主機102。記憶體裝置150可以包括多個記憶體晶粒(未示出),每個記憶體晶粒包括多個頁面(未示出),每個頁面包括多個記憶區塊152至156,記憶區塊152至156的每一個可以包括多個頁面,並且頁面的每一個可以包括耦接到字元線的多個記憶體單元。
控制器130可以回應於來自主機102的請求來控制記憶體裝置150。例如,控制器130可以將從記憶體裝置150讀取的資料提供給主機102,並且將從主機102提供的資料儲存到記憶體裝置150中。對於該操作,控制器130可以控制記憶體裝置150的讀取操作、寫入操作、程式化操作和抹除操作。
控制器130可以包括經由內部匯流排全部操作性地耦接的主機介面(I/F)單元132、處理器134、錯誤校正碼(ECC)單元138、電源管理單元(PMU)140、NAND快閃記憶體控制器(NFC)142和記憶體144。
主機介面單元132可以被配置為處理主機102的指令和資料,並且可以透過諸如以下的各種介面協定中的一種或多種與主機102通訊:通用序列匯流排(USB)、多媒體卡(MMC)、高速周邊元件連接(PCI-E)、小型電腦系統介面(SCSI)、串列SCSI(SAS)、串列高級技術附件(SATA)、並行高級技術附件(PATA)、增強型小型磁片介面(ESDI)和整合驅動電路(IDE)。
ECC單元138可以檢測並且校正從記憶體裝置150讀取的資料中包含的錯誤。換言之,ECC單元138可以透過在ECC編碼程序期間使用的ECC代碼對從記憶體裝置150讀取的資料執行錯誤校正解碼程序。根據錯誤校正解碼程序的結果,ECC單元138可以輸出訊號,例如錯誤校正成功/失敗訊號。當錯誤位元的數量大於可校正錯誤位元的閾值時,ECC單元138不能校正錯誤位元,並且可以輸出錯誤校正失敗訊號。
ECC單元138可以透過諸如低密度同位(LDPC)碼、博斯-查德胡裡-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)碼、渦輪碼、裡德-所羅門(Reed-Solomon,RS)碼、卷積碼、遞迴系統碼(RSC)、網格編碼調製(TCM)、分組編碼調製(BCM)等的編碼調製執行錯誤校正操作。然而,ECC單元138不限於此。ECC單元138可以包括用於錯誤校正的所有電路、模組、系統或裝置。
PMU 140可提供和管理用於控制器130的電源。
NFC 142可以作為用於將控制器130和記憶體裝置150介面連接的記憶體/儲存介面,使得控制器130回應於來自主機102的請求來控制記憶體裝置150。當記憶體裝置150是快閃記憶體或具體是NAND快閃記憶體時,NFC 142可以在處理器134的控制下產生用於記憶體裝置150的控制訊號,並且處理待提供給記憶體裝置150的資料。NFC 142可以作為用於處理控制器130和記憶體裝置150之間的指令和資料的介面(例如,NAND快閃記憶體介面)。具體地,NFC 142可以支援控制器130和記憶體裝置150之間的資料傳送。
記憶體144可以作為記憶體系統110和控制器130的工作記憶體,並且儲存用於驅動記憶體系統110和控制器130的資料。控制器130可以回應於來自主機102的請求來控制記憶體裝置150執行讀取操作、寫入操作、程式化操作和抹除操作。控制器130可以將從記憶體裝置150讀取的資料提供給主機102,並且將從主機102提供的資料儲存到記憶體裝置150中。記憶體144可以儲存控制器130和記憶體裝置150執行這些操作所需的資料。
記憶體144可以由揮發性記憶體來實施。例如,記憶體144可以由靜態隨機存取記憶體(SRAM)或動態隨機存取記憶體(DRAM)來實施。記憶體144可以被設置在控制器130的內部或外部。圖1例示設置在控制器130內的記憶體144。在實施例中,記憶體144可以由具有在記憶體144和控制器130之間傳送資料的記憶體介面的外部揮發性記憶體實施。
處理器134可以控制記憶體系統110的整體操作。處理器134可以驅動韌體以控制記憶體系統110的整體操作。韌體可以被稱為快閃記憶體轉換層(FTL)。
控制器130的處理器134可以包括用於執行記憶體裝置150的壞區塊管理操作的管理單元(未示出)。管理單元可以對包括在記憶體裝置150中的多個記憶區塊152至156中,且在程式化操作期間由於NAND快閃記憶體的特徵而發生程式化失敗的壞區塊進行檢查的壞區塊管理操作。管理單元可以將壞區塊的程式化失敗的資料寫入新記憶區塊。在具有3D堆疊結構的記憶體裝置150中,壞區塊管理操作可降低記憶體裝置150的使用效率和記憶體系統110的可靠性。因此,壞區塊管理操作需要被更可靠性地執行。
圖2是示出圖1所示的記憶體裝置150的示意圖。
參照圖2,記憶體裝置150可以包括多個記憶區塊0至N-1,並且區塊0到N-1中的每一個可以包括例如2M
個頁面的多個頁面,其數量可以根據電路設計而變化。包括在各個記憶區塊0至N-1中的記憶體單元可以是儲存1位元資料的單層單元(SLC)、或者包括儲存3位元資料的三層單元(TLC)、儲存4位元資料的四層單元(QLC)等的儲存2位元或更多位數據的多層單元(MLC)中的一個或多個。
圖3是示出記憶體裝置150中的記憶區塊的記憶體單元陣列的示例性配置的電路圖。
參照圖3,可以對應於包括在記憶體系統110的記憶體裝置150中的多個記憶區塊152至156中的任意一個的記憶區塊330可以包括耦接到多個相應位元線BL0至BLm-1的多個單元串340。每個列的單元串340可以包括一個或多個汲極選擇電晶體DST和一個或多個源極選擇電晶體SST。在汲極選擇電晶體DST和源極選擇電晶體SST之間,多個記憶體單元MC0至MCn-1可以串聯耦接。在實施例中,記憶體單元電晶體MC0至MCn-1中的每一個可以由能夠儲存多個位元的資料資訊的MLC來實施。單元串340中的每一個可以電耦接到多個位元線BL0至BLm-1中的相應位元線。例如,如圖3所示,第一單元串耦接到第一位元線BL0,並且最後單元串耦接到最後位元線BLm-1。
雖然圖3示出NAND快閃記憶體單元,但是本發明不限於此方式。應注意的是,記憶體單元可以是NOR快閃記憶體單元,或者包括組合在其中的兩種或更多種記憶體單元的混合快閃記憶體單元。並且,應注意的是,記憶體裝置150可以是包括作為電荷儲存層的導電浮動閘的快閃記憶體裝置或包括作為電荷儲存層的絕緣層的電荷擷取快閃(CTF)記憶體。
記憶體裝置150可以進一步包括電壓供給單元310,其提供包括根據操作模式供給到字元線的程式化電壓、讀取電壓和透過電壓的字元線電壓。電壓供給單元310的電壓產生操作可以由控制電路(未示出)來控制。在控制電路的控制下,電壓供給單元310可以選擇記憶體單元陣列的記憶區塊(或磁區)中的一個,選擇所選擇的記憶區塊的字元線中的一個,並且根據可能的需要將字元線電壓提供給所選擇的字元線和未選擇的字元線。
記憶體裝置150可以包括由控制電路控制的讀取/寫入電路320。在驗證/正常讀取操作期間,讀取/寫入電路320可以作為用於從記憶體單元陣列讀取資料的感測放大器。在程式化操作期間,讀取/寫入電路320可作為根據待被儲存在記憶體單元陣列中的資料驅動位元線的寫入驅動器。在程式化操作期間,讀取/寫入電路320可以從緩衝器(未示出)接收待儲存到記憶體單元陣列中的資料並且根據接收的資料來驅動位元線。讀取/寫入電路320可以包括分別對應於列(或位元線)或列對(或位元線對)的多個頁面緩衝器322至326,並且頁面緩衝器322至326中的每一個可以包括多個鎖存器(未示出)。
圖4是示出記憶體裝置150的示例性3D結構的示意圖。
記憶體150可以由2D或3D記憶體裝置來實施。例如,如圖4所示,記憶體裝置150可以由具有3D堆疊結構的非揮發性記憶體裝置來實施。當記憶體裝置150具有3D結構時,記憶體裝置150可以包括每個具有3D結構(或垂直結構)的多個記憶區塊BLK0至BLKN-1。
在下文中,將參照圖5至圖8來詳細描述關於根據實施例的記憶體系統中的記憶體裝置的資料處理,特別地,在執行與從主機102接收的指令相對應的指令操作和背景操作的同時,動態地控制與指令操作和背景操作相對應的指令參數的操作。
圖5至圖7是示意性地示出記憶體系統110以及記憶體系統110的操作的更多細節的圖。更特別地,圖5至圖7是示意性示出根據本發明的實施例的在記憶體系統中執行指令操作時用於控制一個或多個指令參數的示例性操作的圖。在描述的實施例中,為了便於作為示例,提供以下描述,即在記憶體系統110執行與從主機102接收的指令相對應的指令操作的情況下,動態地控制與指令操作相對應的指令參數的操作。例如,指令操作可以是與從主機102接收的寫入指令相對應的程式化操作、與從主機102接收的讀取指令相對應的讀取操作、或者與從主機102接收的抹除指令相對應的抹除操作。為了方便起見,在此不再重複已經參照圖1描述的記憶體系統110的特徵的描述。
在實施例中,當正在執行與從主機102接收的指令相對應的一個或多個指令操作時,檢查對應於指令操作的控制器130和記憶體裝置150的作業負載和/或狀態。此後,當在控制器130和記憶體裝置150中執行指令操作時使用的一個或多個指令參數對應於檢查的作業負載和狀態被動態地控制。此外,將描述以下實施例作為示例,其中當在記憶體系統110中執行資料處理操作,特別是指令操作時,控制器130動態地控制與指令操作相對應的一個或多個指令參數的操作。如上所述,包括在控制器130中的處理器134可以執行透過例如FTL和包括在控制器130中的功率管理控制模組來動態地控制指令參數的操作。
參照圖5,控制器130可以從主機102接收例如寫入指令、讀取指令和/或抹除指令的多個指令,並且可以與記憶體裝置150一起執行與接收的指令相對應的指令操作。當執行指令操作時,控制器130可以根據與指令操作相對應的控制器130和記憶體裝置150中的作業負載,以及控制器130和記憶體裝置150的狀態來動態地控制用於指令操作的一個或多個指令參數。
更特別地,控制器130透過作業解析模組510根據控制器130和記憶體裝置150與接收的指令和指令操作的對應關係來解析控制器130和記憶體裝置150中的指令作業,使得在記憶體裝置150中執行與從主機102接收的指令相對應的指令操作。換言之,在從主機102提供指令的情況下,包括在控制器130中的作業解析模組510解析對應於執行指令操作的控制器130和記憶體裝置150中的指令作業,使得在記憶體裝置150中執行與指令相對應的指令操作。更特別地,作業解析模組510產生用於解析的指令作業的指令作業列表。在解析與指令相對應的指令作業之前,作業解析模組510獲取從主機102接收的指令。
例如,作業解析模組510可以回應於從主機102接收的寫入指令來解析用於控制器130和記憶體裝置150中的程式化操作的程式化作業,並且產生程式化作業列表。作業解析模組510可以回應於從主機102接收的讀取指令來解析用於控制器130和記憶體裝置150中的讀取操作的讀取作業,並且產生讀取作業列表。作業解析模組510可以回應於抹除指令來解析用於控制器130和記憶體裝置150中的抹除操作的抹除作業,並且產生抹除作業列表。
此外,控制器130接著可以透過子作業佇列模組520佇列用於與從主機102接收的指令相對應的指令操作的子操作,使得在記憶體裝置150中執行與從主機102接收的指令相對應的指令操作。換言之,如上所述,子作業佇列模組520對應於指令和指令操作檢查和佇列由作業解析模組510解析的控制器130和記憶體裝置150中的指令作業的子作業。子作業佇列模組520檢查在作業解析模組510中產生的指令作業清單和在作業解析模組510中解析的指令作業,並且接著佇列與解析的指令作業相對應的子作業。例如,子作業佇列模組520基於邏輯單元大小(例如,4K位元的單元大小)佇列子作業,並且產生用於在子作業佇列模組520中基於邏輯單元大小佇列的子作業的子作業列表。根據指令的數量和大小以及與指令相對應的指令操作的數量和大小來確定基於邏輯單元大小在子作業佇列模組520中佇列的子作業。
例如,子作業佇列模組520可以透過程式化作業列表和程式化作業來檢查用於程式化作業的程式化子作業,基於邏輯單元大小來佇列程式化子作業,並且接著產生程式化子作業列表。子作業佇列模組520可以透過讀取作業列表和讀取作業來檢查用於讀取作業的讀取子作業,基於邏輯單元大小來佇列讀取子作業,並且接著產生讀取子作業列表。子作業佇列模組520可以透過抹除作業列表和抹除作業來檢查用於抹除作業的抹除子作業,基於邏輯單元大小來佇列抹除子作業,並且接著產生抹除子作業列表。
包括在控制器130中的多個子作業模組530在包括在記憶體裝置150中的多個記憶體晶粒610至695中,分別執行在子作業佇列模組520中佇列的邏輯單元大小的子作業。
例如,子作業模組530可以在記憶體裝置150的記憶體晶粒610至695中分別執行在子作業佇列模組520中佇列的邏輯單元大小的程式化子作業。子作業模組530對與從主機102接收的寫入指令相對應的程式化操作中的寫入資料,分別執行作為用於程式化操作的子操作的與資料傳輸操作、資料寫入操作、映射操作和映射更新操作相對應的子作業。例如,子作業模組530執行與將資料從主機102傳輸到控制器130的操作,以及將資料從控制器130傳輸到記憶體裝置150的相應記憶區塊的操作相對應的子作業,執行與將資料寫入包括在記憶體裝置150的相應記憶區塊中的頁面中的操作相對應的子作業,並且執行與映射操作和與頁面中的資料寫入操作相對應的映射更新操作相關聯的子作業。
子作業模組530可以在記憶體裝置150的記憶體晶粒610至695中,分別執行在子作業佇列模組520中佇列的邏輯單元大小的讀取子作業。子作業模組530可以對與從主機102接收的讀取指令相對應的讀取操作中的讀取資料,分別執行作為讀取操作的子操作的與資料傳輸操作、資料感測操作、映射檢查操作和資料解碼和錯誤校正操作相對應的子作業。例如,子作業模組530執行與將資料從記憶體裝置150的相應記憶區塊傳輸到控制器130的操作,以及將資料從控制器130傳輸到主機102的操作相對應的子作業,執行與包括在記憶體裝置150的相應記憶區塊中的頁面中的資料感測操作相對應的子作業,並且執行與在資料感測操作中感測的資料的資料解碼和錯誤校正操作相對應的子作業。
子作業模組530可以在記憶體裝置150的記憶體晶粒610至695中分別執行在子作業佇列模組520中佇列的邏輯單元大小的抹除子作業。子作業模組530分別執行作為用於抹除操作的子操作的與檢查相應的記憶區塊的操作、資料抹除操作、在與從主機102接收的抹除指令相對應的抹除操作中的映射更新操作相對應的子作業。例如,子作業模組530執行與檢查與抹除指令相關聯的相應記憶區塊的操作相對應的子作業,執行與在相應的記憶區塊中的資料抹除操作相對應的子作業,並且執行與資料抹除操作相對應的映射更新操作相對應的子作業。
作為示例,將在其中控制器130執行與從主機102接收的指令相對應的指令操作、與指令和指令操作對應的指令作業、佇列子作業,並且執行子作業的情況下描述解析操作。然而,應當注意的是,當控制器130執行例如垃圾收集操作或磨損均衡操作的背景操作時,控制器130可以透過作業解析模組510解析背景作業,透過子作業佇列模組520佇列背景子作業,並且透過子作業模組530執行背景子作業。
此外,控制器130透過產生器540產生記憶體系統110的參考時脈,並且與記憶體裝置150一起不僅執行與使用參考時脈從主機102接收的指令相對應的指令操作,而且執行背景操作等。在示例性實施例中,將描述其中用於產生記憶體系統110的參考時脈的產生器540存在於控制器130中的情況。然而,應當注意的是,在變型的實施例中,產生器540可以被獨立地定位在控制器130的外部並且將參考時脈提供給記憶體系統110。
當不僅執行與從主機102接收的指令想對應的指令操作,而且執行背景操作時,控制器130可以透過監控器1 550來監控控制器130和記憶體裝置150中的溫度。監控器1 550可以包括溫度感測器並且透過溫度感測器來監控控制器130和記憶體裝置150的內部溫度。在實施例中,監控器1 550可以包括至少兩個溫度感測器,其中一個用於控制器130並且一個用於記憶體裝置150。例如,在控制器130在記憶體裝置150的各個記憶體晶粒610至695中,執行在子作業佇列模組520中佇列的邏輯單元大小的子作業的情況下,監控器1 550可以監控控制器130和記憶體裝置150兩者中的溫度。
控制器130可以透過包括在控制器130中的監控器2 560來監控控制器130和記憶體裝置150中的性能和延遲(latency)。例如,在控制器130在記憶體裝置150的各個記憶體晶粒610至695中執行在子作業佇列模組520中佇列的邏輯單元大小的子作業的情況下,監控器2 560監控控制器130和記憶體裝置150中的性能和延遲。
PMC模組570透過作業解析模組510中的指令作業和指令作業清單以及子作業佇列模組520中的子作業和子作業列表來檢查控制器130和記憶體裝置150中的作業負載。在該方面,PMC模組570可以透過指令作業、指令作業列表、子作業和子作業列表來計算當子作業模組530在記憶體裝置150的各個記憶體晶粒610至695中,執行在子作業佇列模組520中佇列的邏輯單元大小的抹除子作業時所需的全部能量消耗。為了最小化能量消耗,PMC模組570交互且動態地控制子作業模組530的能量位準和操作時脈。
更具體地,PMC模組570可以透過週期性地檢查監控器1 550中的溫度監控標誌和監控器2 560中的性能監控標誌和延遲監控標誌來檢查控制器130和記憶體裝置150的狀態。接著PMC模組570可以基於控制器130和記憶體裝置150的狀態,來動態地控制當子作業模組530在記憶體裝置150的各個記憶體晶粒610至695中執行在子作業佇列模組520中佇列的邏輯單元大小的子作業時使用的指令參數。
例如,當子作業模組530在記憶體裝置150的各個記憶體晶粒610至695中執行在子作業佇列模組520中佇列的邏輯單元大小的子作業中的特定子作業時,透過監控器1 550來監控控制器130和記憶體裝置150中的溫度,並且透過監控器2 560來監控針對任意子作業的控制器130和記憶體裝置150的性能和延遲。PMC模組570透過控制器130和記憶體裝置150的溫度、性能和延遲來檢查控制器130和記憶體裝置150的狀態。此外,PMC模組570檢查作為控制器130和記憶體裝置150中的作業負載的在子作業佇列模組520中佇列的邏輯單元大小的子作業中除了操作完成的子作業之外的待處理的子作業。
此外,對應於控制器130和記憶體裝置150中的狀態和作業負載,PMC模組570動態地控制當子作業模組530在記憶體裝置150的記憶體晶粒610至695中,執行在子作業佇列模組520中佇列的邏輯單元大小的子作業中待處理的子作業時使用的指令參數。
例如,對應於控制器130和記憶體裝置150中的狀態和作業負載,PMC模組570參照由包括在控制器130中的產生器540產生的參考時脈來動態地控制當子作業模組530執行各個待處理的子作業時使用的操作時脈。此處,PMC模組570參照由產生器540產生的參考時脈透過從最小時脈放大到最大時脈,或從最大時脈縮小到最小時脈來動態地控制操作時脈。
此外,對應於控制器130和記憶體裝置150中的狀態和作業負載,當子作業模組530執行各個待處理的子作業時,PMC模組570動態地控制操作能量位準(例如,從記憶體系統110的內部或外部提供的功率位準、電壓位準或電流位準)。在該方面,PMC模組570可以參照可用於記憶體系統110的全部能量位準(例如,全部功率位準、全部電壓位準或全部電流位準),透過放大或縮小來動態地控制操作能量位準(例如,操作功率位準、操作電壓位準或操作電流位準)。
此處,PMC模組570動態地控制用於執行相應的邏輯單元大小的子作業的各個子作業模組530的操作時脈。根據各個子作業模組530的操作時脈,PMC模組570還動態地控制各個子作業模組530的操作能量位準,因此使得每個子作業模組530在最佳功率消耗位準下具有最大操作性能。在該方面,PMC模組570檢查在記憶體裝置150的各個記憶體晶粒610至695中待執行的子作業(換言之,作業負載),以及執行相應的子作業的各個子作業模組530的溫度、性能和延遲(換言之,狀態),並且在子作業模組530在各個記憶體晶粒610至695中執行相應的子作業的情況下,動態地控制操作時脈和操作能量位準。
例如,關於在作業解析模組510中解析的指令作業,當在佇列到子作業佇列模組520的子作業中,當前執行的子作業是最後子作業時,PMC模組570透過縮小來將相應的子作業模組530的操作時脈控制為最小時脈,並且根據最小時脈透過放大或縮小來控制子作業模組530的能量位準。
此外,關於在作業解析模組510中解析的指令作業,對於在子作業具有最小性能和最大延遲的情況下,即,在透過使用監控器2 560的監控,來執行在佇列到子作業佇列模組520的子作業之中的與指令作業相對應的所有子作業的情況下的瓶頸子作業,PMC模組570透過放大將相應的子作業模組530的操作能量位準控制為最大能量位準,並且根據最大能量位準透過放大將子作業模組530的操作時脈控制到最大時脈。另外,關於在作業解析模組510中解析的指令作業,對於在子作業佇列模組520中佇列的子作業中需要具有最大性能的子作業,PMC模組570透過放大來將最大性能需求子作業的相應子作業模組530的操作能量位準控制為最大能量位準,並且根據最大能量位準透過放大將子作業模組530的操作時脈控制為最大性能時脈。
關於在作業解析模組510中解析的指令作業,在其中與在子作業佇列模組520中佇列的子作業相對應的子作業模組530的性能和延遲在相同狀態下被維持預定時間的情況下,PMC模組570透過縮小來控制子作業模組530的操作能量位準,並且在子作業模組530的操作能量位準被維持在穩定狀態的時間點處,透過放大來控制子作業模組530的操作時脈。
另外,關於在作業解析模組510中解析的指令作業,對於在子作業佇列模組520中,被佇列的子作業中的透過監控器1 550被檢查的溫度等於或大於閾值溫度的子作業,PMC模組570透過縮小來控制相應的子作業模組530的操作能量位準和操作時脈。在子作業的溫度變成低於閾值溫度的情況下,PMC模組570透過放大來控制子作業模組530的操作能量位準,並且接著在操作能量位準被維持在正常狀態的時間點處,透過放大來控制子作業模組530的操作時脈。閾值溫度根據例如設置參數指令或設置圖像指令的設置指令來設置。
關於在作業解析模組510中解析的指令作業,對於在子作業佇列模組520中佇列的子作業中需要特定性能、延遲和頻寬的子作業,PMC模組570根據特定性能、性能和延遲來動態地控制相應的子作業模組530的操作能量位準和操作時脈。
在描述的實施例中,描述集中於當控制器130執行與指令相對應的指令操作時,控制用於與指令和指令操作相對應的解析的指令作業和佇列的子作業的指令參數。然而,應當注意的是,當執行例如垃圾收集操作或磨損均衡操作的背景操作時,控制器130還可以透過PMC模組570動態地控制用於解析的指令作業和佇列的背景子作業的指令參數。
此外,記憶體裝置150可以包括例如N個記憶體晶粒610至695的多個記憶體晶粒。記憶體晶粒610至695中的每一個不僅可以執行與從控制器130接收的指令相對應的指令操作,而且可以執行背景操作。
例如,參照圖6,記憶體裝置150包括例如記憶體晶粒0 610、記憶體晶粒1 630、記憶體晶粒2 650和記憶體晶粒3 670的多個記憶體晶粒。記憶體晶粒610、630、650和670中的每一個可以包括多個頁面。例如,記憶體晶粒0 610包括頁面0 612、頁面1 616、頁面2 620和頁面3 624,記憶體晶粒1 630包括頁面0 632、頁面1 636、頁面2 640和頁面3 644,記憶體晶粒2 650包括頁面0 652、頁面1 656、頁面2 660和頁面3 664,並且記憶體晶粒3 670包括頁面0 672、頁面1 676、頁面2 680和頁面3 684。包括在記憶體裝置150中的記憶體晶粒610、630、650和670中的頁面612、616、620、624、632、636、640、644、652、656、660、664、672、676、680和684中的每一個包括多個記憶區塊614、618、622、626、634、638、642、646、654、658、662、666、674、678、682和686,例如,如以上參照圖2描述的,包括例如2M
個頁面的多個頁面的N個區塊區塊0、區塊1、...、區塊N-1。在下文中,將參照圖7詳細描述在其中根據實施例的記憶體系統的記憶體裝置150執行與從主機102接收的指令相對應的指令操作或背景操作的情況下控制指令參數的操作的示例。此外,在實施例中,為了便於說明,將描述在其中包括在記憶體裝置150中的多個記憶體晶粒中的三個任意晶粒接收來自主機102的讀取指令和寫入指令並且執行讀取操作和程式化操作的情況下控制指令參數的操作的示例。在實施例中,雖然將詳細描述控制指令參數的操作,例如控制操作時脈和操作能量位準的操作,在包括在記憶體裝置150中的記憶體晶粒執行讀取操作和程式化操作的情況下,類似的描述可以被應用於不僅執行抹除操作而且執行例如垃圾收集操作或磨損均衡操作的背景操作的操作。
參照圖7,當從主機102接收讀取指令或寫入指令時,控制器130在包括在記憶體裝置150中的例如記憶體晶粒0 610、記憶體晶粒1 630和記憶體晶粒2 650的多個記憶體晶粒中,執行與讀取指令相對應的讀取操作或者與寫入指令相對應的程式化操作。此處,如上所述,控制器130透過作業解析模組510解析與讀取指令和讀取操作相對應的讀取作業,透過子作業佇列模組520佇列用於在作業解析模組510中解析的讀取作業的邏輯單元大小的子作業,並且透過例如子作業模組1 532、子作業模組2 534、子作業模組3 536的子作業模組530,在記憶體裝置150的記憶體晶粒0 610、記憶體晶粒1 630和記憶體晶粒2 650中執行在子作業佇列模組520中佇列的邏輯單元大小的子作業。此外,在透過子作業模組1 532、子作業模組2 534、子作業模組3 536執行在子作業佇列模組520中佇列的邏輯單元大小的子作業的情況下,控制器130透過PMC模組570動態地控制指令參數。特別地,控制器130透過包括在PMC模組570中的能量管理控制模組700和時脈管理控制模組710來動態地控制操作能量位準和操作時脈。
在實施例中,為了便於說明,將詳細描述在控制器130從主機102接收讀取指令並且在記憶體裝置150的記憶體晶粒0 610、記憶體晶粒1 630和記憶體晶粒2 650中執行讀取指令操作的情況下,控制指令參數的操作的示例,並且接著將詳細描述在控制器130從主機102接收寫入指令並且在記憶體裝置150的記憶體晶粒0 610、記憶體晶粒1 630和記憶體晶粒2 650中執行程式化操作的情況下控制指令參數的操作的示例。然而,類似的描述將被應用於其中控制器130從主機102接收不同的指令並且獨立,且同時地執行例如讀取操作、程式化操作和抹除操作的相應的指令操作的情況。
首先,將詳細描述其中在從主機102接收讀取指令之後,控制器130在記憶體裝置150的記憶體晶粒0 610、記憶體晶粒1 630和記憶體晶粒2 650中執行與讀取指令相對應的讀取操作的情況的示例。控制器130的作業解析模組510回應於讀取指令來解析用於控制器130和記憶體裝置150中的讀取操作的讀取作業,並且產生用於解析的讀取作業的讀取作業列表。在該方面,作業解析模組510透過讀取指令來解析在記憶體晶粒0 610、記憶體晶粒1 630和記憶體晶粒2 650中執行的讀取作業。
控制器130的子作業佇列模組520檢查用於解析的讀取作業的讀取子作業,基於邏輯單元大小佇列讀取的子作業,並且產生用於佇列的讀取子作業的讀取子作業列表。此處,邏輯單元大小的讀取子作業是將被包括在讀取操作中的子操作。
例如,邏輯單元大小的讀取子作業包括記憶體晶粒0 610中的第一讀取操作至第三讀取操作、記憶體晶粒1 630中的第二讀取操作以及記憶體晶粒2 650中的第三讀取操作。此外,邏輯單元大小的讀取子作業包括第一讀取操作中的第一資料傳輸操作、第二讀取操作中的第二資料傳輸操作、第三讀取操作中的第三資料傳輸操作、第一讀取操作中的第一資料感測操作、第二讀取操作中的第二資料感測操作、第三讀取操作中的第三資料感測操作、第一讀取操作中的第一資料解碼和錯誤校正操作、第二讀取操作中的第二資料解碼和錯誤校正操作以及第三讀取操作中的第三資料解碼和錯誤校正操作。另外,邏輯單元大小的讀取子作業包括全部記憶體晶粒610至695中的資料傳輸操作、全部記憶體晶粒610至695中的資料感測操作以及全部記憶體晶粒610至695中的資料解碼和錯誤校正操作。
控制器130的子作業模組532、534和536可以在記憶體裝置150的記憶體晶粒610、630和650中分別執行在子作業佇列模組520中佇列的邏輯單元大小的讀取子作業。此處,子作業模組532、534和536分別在相應的記憶體晶粒610、630和650中執行包括在與讀取指令相對應的讀取操作中的子作業中的相關聯的子作業。
例如,子作業模組1 532在記憶體晶粒0 610中執行子作業佇列模組520中佇列的邏輯單元大小的讀取子作業中的第一讀取操作,在相應的記憶體晶粒610、630和650中執行第一資料傳輸操作、第二資料傳輸操作、第三資料傳輸操作,或者在所有記憶體晶粒610至695中執行資料傳輸操作。此外,子作業模組2 534在記憶體晶粒1 630中執行子作業佇列模組520中佇列的邏輯單元大小的讀取子作業中的第二讀取操作,在相應的記憶體晶粒610、630和650中執行第一資料感測操作、第二資料感測操作、第三資料感測操作,或者在所有記憶體晶粒610、630、...、695中執行資料感測操作。例如,子作業模組3 536在記憶體晶粒2 650中執行子作業佇列模組520中佇列的邏輯單元大小的讀取子作業中的第三讀取操作,在相應的記憶體晶粒610、630和650中執行第一資料解碼和錯誤校正操作、第二資料解碼和錯誤校正操作、第三資料解碼和錯誤校正操作,或者在所有記憶體晶粒610、630、...、695中執行資料解碼和錯誤校正操作。
在該方面,如上所述,控制器130的監控器1 550透過溫度感測器來監控控制器130和記憶體裝置150的內部溫度。特別地,當子作業模組532、534和536在記憶體裝置150的各個記憶體晶粒610、630和650中,執行在子作業佇列模組520中佇列的邏輯單元大小的讀取子作業時,監控器1 550監控溫度。與監控的溫度相對應的溫度監控標誌被傳輸到PMC模組570。此外,當子作業模組532、534和536在記憶體裝置150的各個記憶體晶粒中,執行在子作業佇列模組520中佇列的邏輯單元大小的讀取子作業時,控制器130的監控器2 560監控性能和延遲。與監控的性能和延遲相對應的性能監控標誌和延遲監控標誌被傳輸到PMC模組570。
即,控制器130的PMC模組570透過週期性地檢查監控器1 550中的溫度監控標誌和監控器2 560中的性能監控標誌和延遲監控標誌,來檢查控制器130和記憶體裝置150的狀態,例如溫度、性能和延遲。特別地,當子作業模組532、534和536在記憶體裝置150的各個記憶體晶粒中執行在子作業佇列模組520中佇列的邏輯單元大小的讀取子作業時,PMC模組570檢查控制器130和記憶體裝置150的溫度、性能和延遲。此外,PMC模組570檢查在作業解析模組510中解析的讀取作業和在子作業佇列模組520中佇列的邏輯單元大小的讀取子作業,換言之,檢查控制器130和記憶體裝置150的作業負載。特別地,在子作業模組532、534和536中執行特定的讀取子作業之後,PMC模組570不僅檢查作為控制器130和記憶體裝置150的作業負載的在子作業佇列模組520中佇列的邏輯單元大小的讀取子作業,而且檢查作為控制器130和記憶體裝置150的作業負載的子作業佇列模組520的待處理的讀取子作業。
例如,PMC模組570透過監控器2 560檢查在作業解析模組510中解析的讀取作業的性能和延遲,並且不僅檢查在子作業佇列模組520中佇列的邏輯單元大小的讀取子作業,而且檢查待處理的讀取子作業。此外,PMC模組570透過監控器2 560檢查當子作業模組532、534和536分別在相應的記憶體晶粒中執行相應的讀取子作業時的性能和延遲,例如,當子作業模組1 532執行相應的讀取子作業時的性能和延遲、當子作業模組2 534執行相應的讀取子作業時的性能和延遲、以及當子作業模組3 536執行相應的讀取子作業時的性能和延遲。此處,PMC模組570檢查在子作業模組1 532中待執行的待處理讀取子作業、在子作業模組2 534中待執行的待處理的讀取子作業、以及將在子作業模組3 536中待執行的待處理的讀取子作業。此外,PMC模組570透過監控器2 560檢查在作業解析模組510中解析的讀取作業的執行完成的時間點處的性能和延遲。此外,PMC模組570透過監控器1 550檢查當子作業模組532、534和536分別在記憶體晶粒610、630和650中執行相應的讀取子作業時的溫度,例如,當子作業模組1 532執行相應的讀取子作業時的溫度、當子作業模組2 534執行相應的讀取子作業時的溫度、以及當子作業模組3 536執行相應的讀取子作業時的溫度。
這樣,PMC模組570檢查當子作業模組532、534和536在相應的記憶體晶粒610、630和650中分別執行相應的讀取子作業時的溫度、延遲和性能,並且檢查子作業佇列模組520中的待處理的讀取子作業,特別是在相應的子作業模組532、534和536中待執行的待處理的讀取子作業,並且此後動態地控制指令參數,換言之,當子作業模組532、534和536在相應的記憶體晶粒610、630和650中分別執行待處理的讀取子作業時的操作能量位準和操作時脈。此處,PMC模組570交互且動態地控制子作業模組532、534和536的操作能量位準和操作時脈。
更詳細地,PMC模組570包括動態地控制子作業模組532、534和536的相應操作時脈的能量管理控制模組700,以及動態地控制子作業模組532、534和536的各個操作時脈的時脈管理控制模組710。能量管理控制模組700包括:能量控制單元702,其根據待處理的讀取子作業和子作業模組532、534和536的溫度、性能和延遲動態地控制子作業模組532、534和536的相應的操作能量位準;以及能量驅動單元704、706和708,其將具有由能量控制單元702動態控制的操作能量位準的操作能量提供給各個子作業模組532、534和536。
能量管理控制模組700包括:能量驅動單元1 704,其根據能量控制單元702的控制來放大或縮小子作業模組1 532的操作能量位準並且將其提供給子作業模組1 532;能量驅動單元2 706,其根據能量控制單元702的控制來放大或縮小子作業模組2 534的操作能量位準並且將其提供給子作業模組2 534;以及能量驅動單元3 708,其根據能量控制單元702的控制來放大或縮小子作業模組3 536的操作能量位準,並且將其提供給子作業模組3 538。此外,能量管理控制模組700透過各個子作業模組532、534和536從在記憶體系統110中使用的全部能量位準,例如全部功率位準、全部電壓位準或全部電流位準,來動態地控制操作能量位準。此處,能量管理控制模組700在與由時脈管理控制模組710控制的子作業模組532、534和536中的操作時脈交互作用的同時,動態地控制操作能量位準。
時脈管理控制模組710包括:時脈控制單元712,其根據待處理的讀取子作業和子作業模組532、534和536的溫度、性能和延遲動態地控制子作業模組532、534和536的各個操作時脈;以及時脈驅動單元714、716和718,其將在時脈控制單元712中動態控制的操作時脈提供給各個子作業模組532、534和536。
時脈管理控制模組710包括:時脈驅動單元1 714,其根據時脈控制單元712的控制,放大或縮小子作業模組1 532的操作時脈並且將其提供給子作業模組1 532;時脈驅動單元2 716,其根據時脈控制單元714的控制,放大或縮小子作業模組2 534的操作時脈並且將其提供給子作業模組2 534;以及時脈驅動單元3 718,其根據時脈控制單元712的控制,放大或縮小子作業模組3 536的操作時脈並且將其提供給子作業模組3 538。此外,時脈管理控制模組710基於由產生器540產生的參考時脈,從最小時脈到最大時脈動態地控制各個子作業模組532、534和536的操作時脈。此處,時脈管理控制模組710在與由能量管理控制模組700控制的子作業模組532、534和536中的操作能量位準交互作用的同時,動態地控制操作時脈。
例如,當子作業模組532、534和536執行作為第三讀取操作(即,最後讀取操作)的待處理的讀取子作業的最後讀取子作業的第三資料傳輸操作、第三資料感測操作以及第三資料解碼和錯誤校正操作時,時脈管理控制模組710透過縮小將子作業模組532、534和536的操作時脈控制為最小時脈。另外,能量管理控制模組700透過放大或縮小來與最小時脈交互地控制子作業模組532、534和536的能量位準。
例如,當子作業模組3 536執行作為在待處理的讀取子作業中具有最小性能和最大延遲的讀取子作業,換言之,作為當執行與讀取作業相對應的所有的讀取子作業時的瓶頸讀取子作業的第一資料解碼和錯誤校正操作、第二資料解碼和錯誤校正操作、第三資料解碼和錯誤校正操作時,能量管理控制模組700透過放大來將子作業模組3 536的操作能量位準控制為最大能量位準。另外,時脈管理控制模組710與最大能量位準交互地透過放大來將子作業模組3 536的操作時脈控制到最大時脈。
例如,當子作業模組1 532執行作為在待處理的讀取子作業中具有最大性能所需的子作業的第一讀取操作時,能量管理控制模組700透過放大來將子作業模組1 532的操作能量位準控制為最大能量位準。另外,時脈管理控制模組710透過放大而與最大能量位準交互地將子作業模組1 532的操作時脈控制為最大性能時脈。
在執行待處理的讀取子作業的第二讀取操作的子作業模組2 534的性能和延遲在相同狀態下被維持預定時間的情況下,能量管理控制模組700透過縮小來控制子作業模組2 534的操作能量位準。在與能量管理控制模組700的操作能量位準控制的交互作用中,時脈管理控制模組710透過在子作業模組2 534的操作能量位準被維持在穩定狀態的時間點處放大來控制子作業模組2 534的操作時脈。
例如,在由監控器1 550監控的溫度是閾值溫度或更高溫度的情況下,當子作業模組532、534和536執行佇列的讀取子作業時,能量管理控制模組700和時脈管理控制模組710透過縮小,來控制執行具有等於或大於閾值溫度的溫度的讀取子作業的子作業模組的操作能量位準和操作時脈。
例如,在由監控器1 550監控的溫度小於閾值溫度的情況下,能量管理控制模組700和時脈管理控制模組710透過放大,來控制執行具有低於閾值溫度的溫度的讀取子作業的子作業模組的操作能量位準,並且接著在溫度被維持在正常狀態的時間點處的透過放大來控制子作業模組的操作時脈。
此外,能量管理控制模組700和時脈管理控制模組710根據所需的性能、延遲和頻寬,動態地控制執行作為待處理的讀取子作業中具有所需的性能、延遲和頻寬的讀取子作業的第一資料傳輸操作、第二資料傳輸操作和第三資料傳輸操作的子作業模組的操作能量位準和操作時脈。
接下來,將詳細描述其中在從主機102接收寫入指令之後,控制器130在記憶體裝置150的記憶體晶粒0 610、記憶體晶粒1 630和記憶體晶粒2 650中執行與寫入指令相對應的程式化操作的情況的示例。控制器130的作業解析模組510對應於從主機102接收的寫入指令來解析與在控制器130和記憶體裝置150中的程式化操作的執行相對應的程式化作業,並且產生程式化作業列表。在該方面,作業解析模組510透過寫入指令來解析在記憶體晶粒0 610、記憶體晶粒1 620和記憶體晶粒2 630中執行程式化操作的程式化作業。
控制器130的子作業佇列模組520接著可以檢查與在作業解析模組510中解析的程式化作業相對應的程式化子作業,基於邏輯單元大小佇列程式化子作業,並且產生用於基於邏輯單元大小佇列的程式化子作業的程式化子作業列表。在子作業佇列模組520中佇列的邏輯單元大小的程式化子作業變成待被包括在與從主機102接收的寫入指令相對應的程式化操作中的子操作。
例如,邏輯單元大小的程式化子作業可以包括記憶體晶粒0 610中的第一程式化操作、記憶體晶粒1 620中的第二程式化操作以及記憶體晶粒2 630中的第三程式化操作。此外,邏輯單元大小的程式化子作業可以包括第一程式化操作中的第一資料傳輸操作、第二程式化操作中的第二資料傳輸操作、第三程式化操作中的第三資料傳輸操作、第一程式化操作中的第一資料寫入操作、第二程式化操作中的第二資料寫入操作、第三程式化操作中的第三資料寫入操作、第一程式化操作中的第一映射更新操作、第二程式化操作中的第二映射更新操作以及第三程式化操作中的第三映射更新操作。另外,邏輯單元大小的程式化子作業可以包括全部記憶體晶粒610、630、...、695中的資料傳輸操作,全部記憶體晶粒610、630、...、695中的資料寫入操作以及全部記憶體晶粒610、630、...695中的映射更新操作。
控制器130的子作業模組532、534和536可以在記憶體裝置150的記憶體晶粒610、630和650中分別執行在子作業佇列模組520中佇列的邏輯單元大小的程式化子作業。此處,子作業模組532、534和536分別在相應的記憶體晶粒610、630和650中執行在與從主機102接收的寫入指令相對應的程式化操作中包括的子作業中的相關聯的子作業。
例如,子作業模組1 532在記憶體晶粒0 610中執行子作業佇列模組520中佇列的邏輯單元大小的程式化子作業中的第一程式化操作,在相應的記憶體晶粒610、630和650中執行第一資料傳輸操作、第二資料傳輸操作、第三資料傳輸操作,或者在所有記憶體晶粒610、630、...695中執行資料傳輸操作。此外,子作業模組2 534在記憶體晶粒1 630中執行子作業佇列模組520中佇列的邏輯單元大小的程式化子作業中的第二程式化操作,在相應的記憶體晶粒610、630和650中執行第一資料寫入操作、第二資料寫入操作、第三資料寫入操作,或者在所有記憶體晶粒610、630、...、695中執行資料寫入操作。例如,子作業模組1 532在記憶體晶粒0 610中執行子作業佇列模組520中佇列的邏輯單元大小的程式化子作業中的第三程式化操作,在相應的記憶體晶粒610、630和650中執行第一映射更新操作、第二映射更新操作、第三映射更新操作,或者在所有記憶體晶粒610、630、...、695中執行映射更新操作。
在該方面,如上所述,控制器130的監控器1 550透過溫度感測器來監控控制器130和記憶體裝置150的內部溫度。特別地,當子作業模組532、534和536在記憶體裝置150的各個記憶體晶粒610、630和650中執行在子作業佇列模組520中佇列的邏輯單元大小的程式化子作業時,監控器1 550監控溫度。與監控的溫度相對應的溫度監控標誌被傳輸到PMC模組570。此外,如上所述,當子作業模組532、534和536在記憶體裝置150的各個記憶體晶粒610、630和650中執行在子作業佇列模組520中佇列的邏輯單元大小的程式化子作業時,控制器130的監控器2 560監控性能和延遲。與監控的性能和延遲相對應的性能監控標誌和延遲監控標誌被傳輸到PMC模組570。
即,控制器130的PMC模組570透過週期性地檢查監控器1 550中的溫度監控標誌和監控器2 560中的性能監控標誌和延遲監控標誌,來檢查控制器130和記憶體裝置150的狀態,例如溫度、性能和延遲。特別地,當子作業模組532、534和536在記憶體裝置150的各個記憶體晶粒610、630和650中執行在子作業佇列模組520中佇列的邏輯單元大小的程式化子作業時,PMC模組570檢查控制器130和記憶體裝置150的溫度、性能和延遲。此外,PMC模組570檢查在作業解析模組510中解析的程式化作業和在子作業佇列模組520中佇列的邏輯單元大小的程式化子作業,換言之,檢查控制器130和記憶體裝置150的作業負載。特別地,在子作業模組532、534和536中執行特定的讀取子作業之後,PMC模組570不僅檢查作為控制器130和記憶體裝置150的作業負載的在子作業佇列模組520中佇列的邏輯單元大小的讀取子作業,而且檢查作為控制器130和記憶體裝置150的作業負載的子作業佇列模組520的剩餘程式化子作業,即,待處理的讀取子作業。
例如,PMC模組570透過監控器2 560檢查在作業解析模組510中解析的程式化作業的性能和延遲,並且不僅檢查在子作業佇列模組520中佇列的邏輯單元大小的程式化子作業,而且檢查剩餘的邏輯單元大小的程式化子作業,即待處理的程式化子作業。此外,PMC模組570透過監控器2 560檢查在子作業模組532、534和536分別在記憶體晶粒610、630和650中執行相應的程式化子作業的情況下的性能和延遲,例如,當子作業模組1 532執行相應的程式化子作業時的性能和延遲、當子作業模組2 534執行相應的程式化子作業時程式化子作業的性能和延遲以及當子作業模組3 536執行相應的程式化子作業時程式化子作業的性能和延遲。此處,PMC模組570檢查在子作業模組1 532中待執行的待處理程式化子作業、在子作業模組2 534中待執行的待處理的程式化子作業、以及將在子作業模組3 536中待執行的待處理的程式化子作業。此外,PMC模組570透過監控器2 560檢查在作業解析模組510中解析的程式化作業的執行完成的時間點處的性能和延遲。此外,PMC模組570透過監控器1 550檢查當子作業模組532、534和536分別在記憶體晶粒610、630和650中執行相應的程式化子作業時的溫度,例如,當子作業模組1 532執行相應的程式化子作業時的溫度、當子作業模組2 534執行相應的程式化子作業時的溫度以及當子作業模組3 536執行相應的程式化子作業時的溫度。
這樣,PMC模組570檢查當子作業模組532、534和536在記憶體晶粒610、630和650中分別執行相應的程式化子作業時的溫度、延遲和性能,並且檢查子作業佇列模組520中的剩餘的程式化子作業(即,待處理的讀取子作業),特別是在相應的子作業模組532、534和536中待執行的待處理的程式化子作業,並且此後動態地控制指令參數,換言之,當子作業模組532、534和536在記憶體晶粒610、630和650中分別執行待處理的程式化子作業時的操作能量位準和操作時脈。此處,PMC模組570交互且動態地控制子作業模組532、534和536的操作能量位準和操作時脈。
特別地,如上所述,PMC模組570包括動態地控制子作業模組532、534和536的相應操作時脈的能量管理控制模組700,以及動態地控制子作業模組532、534和536的各個操作時脈的時脈管理控制模組710。此處,能量管理控制模組700與由時脈管理控制模組710控制的子作業模組532、534和536的操作時脈交互地並且動態地控制操作能量位準。時脈管理控制模組710與由能量管理控制模組700控制的子作業模組532、534和536的操作能量位準交互地且動態地控制操作時脈。
能量管理控制模組700包括:能量控制單元702,其對應於子作業模組532、534和536以及待處理的程式化子作業的溫度、性能和延遲動態地控制子作業模組532、534和536的相應的操作能量位準;以及能量驅動單元704、706和708,其將在能量控制單元702中具有動態控制的操作能量位準的操作能量提供給各個子作業模組532、534和536。在該方面,由於已經詳細描述能量管理控制模組700的能量控制單元702和能量驅動單元704、706和708;因此,將省略其進一步的描述。此外,能量管理控制模組700動態地控制在可以被用在記憶體系統110中的例如全部功率位準、全部電壓位準或全部電流位準的全部能量位準中的各個子作業模組532、534和536的操作能量位準。
時脈管理控制模組710包括:時脈控制單元712,其對應於子作業模組532、534和536以及待處理的程式化子作業的溫度、性能和延遲,動態地控制子作業模組532、534和536的各個操作時脈;以及時脈驅動單元714、716和718,其將在時脈控制單元712中動態控制的操作時脈提供給各個子作業模組532、534和536。在該方面,由於已經詳細描述時脈管理控制模組710的時脈控制單元712和時脈驅動單元714、716和718;因此,將省略其進一步的描述。此外,時脈管理控制模組710對應於由產生器540產生的參考時脈從最小時脈到最大時脈,動態地控制各個子作業模組532、534和536的操作時脈。
例如,當子作業模組532、534和536執行作為最後程式化操作的第三程式化操作的第三資料傳輸操作、第三寫入操作和第三映射更新操作,即作為待處理的程式化子作業的最後程式化子作業時,時脈管理控制模組710透過縮小將子作業模組532、534和536的操作時脈控制為最小時脈。另外,能量管理控制模組700透過放大或縮小而與最小時脈交互地控制子作業模組532、534和536的能量位準。此外,當子作業模組3 536執行作為在待處理的程式化子作業中具有最小性能和最大延遲的程式化子作業,換言之,作為當執行與程式化作業相對應的所有的程式化子作業時的瓶頸程式化子作業的第一映射更新操作、第二映射更新操作、第三映射更新操作時,能量管理控制模組700透過放大來將子作業模組3 536的操作能量位準控制到最大能量位準。時脈管理控制模組710透過放大而與最大能量位準交互地將子作業模組3 536的操作時脈控制為最大時脈。另外,當子作業模組1 532執行作為在待處理的程式化子作業中需要具有最大性能的子作業的第一程式化操作時,能量管理控制模組700透過放大來將子作業模組1 532的操作能量位準控制為最大能量位準。時脈管理控制模組710透過放大而與最大能量位準交互地將子作業模組1 532的操作時脈控制為最大性能時脈。
在執行待處理的程式化子作業的第二程式化操作的子作業模組2 534的性能和延遲,在相同狀態下被維持預定時間的情況下,能量管理控制模組700透過縮小來控制子作業模組2 534的操作能量位準。與能量管理控制模組700的操作能量位準控制交互作用,時脈管理控制模組710在子作業模組2 534的操作能量位準被維持在穩定狀態的時間點處,透過放大來控制子作業模組2 534的操作時脈。另外,在由監控器1 550監控的溫度是閾值溫度或更高溫度的情況下,當子作業模組532、534和536執行佇列的程式化子作業時,能量管理控制模組700和時脈管理控制模組710透過縮小來控制執行具有等於或大於閾值溫度的溫度的程式化子作業的子作業模組3 536的操作能量位準和操作時脈。在由監控器1 550監控的溫度小於閾值溫度的情況下,能量管理控制模組700和時脈管理控制模組710透過放大來控制子作業模組3 536的操作能量位準,並且接著在溫度被維持在正常狀態的時間點處的透過放大來控制子作業模組3 536的操作時脈。此外,能量管理控制模組700和時脈管理控制模組710根據所需的性能、延遲和頻寬動態地控制執行作為待處理的程式化子作業中具有所需的性能、延遲和頻寬的程式化子作業的第一資料傳輸操作、第二資料傳輸操作和第三資料傳輸操作的子作業模組1 532的操作能量位準和操作時脈。這樣,在根據實施例的記憶體系統中,在執行從主機102接收的指令的指令操作的情況下,與指令操作相對應的控制器130和記憶體裝置150的指令作業被解析,並且接著根據邏輯單元大小與指令作業相對應的子作業被佇列。在執行邏輯單元大小的子作業的情況下,在控制器130和記憶體裝置150中的作業負載(例如,佇列的子作業和待處理的子作業)以及在控制器130和記憶體裝置150中的狀態(例如,溫度、性能和延遲)被即時監控。根據即時監控的控制器130和記憶體裝置150的工作負載和狀態,執行邏輯單元大小的子作業的子作業模組530的操作能量位準和操作時脈被動態地控制。特別地,考慮到可以在記憶體系統中使用的所有能量位準和最大時脈,根據實施例的記憶體系統動態地控制彼此交互的操作能量位準和操作時脈,以具有處於閾值溫度以下的最大性能和最小延遲。在下文中,將參照圖8詳細描述在根據實施例的記憶體系統執行指令操作的情況下控制指令參數的操作。
圖8是示出根據本發明的實施例的記憶體系統的操作的流程圖。記憶體系統可以是如圖1至圖7中描述的記憶體系統110。
參照圖8,在步驟810處,記憶體系統110從主機102接收用於記憶體裝置150的指令。記憶體裝置150可以包括多個記憶體晶粒610至695,並且接收的指令可以是用於記憶體晶粒610至695中的一個或多個。在步驟820處,記憶體系統110檢查與從主機102接收的指令的指令操作相對應的控制器130和記憶體裝置150中的指令作業,並且還檢查與指令作業相對應的子作業。接著,控制器130可以解析與指令操作相對應的指令作業,並且基於邏輯單元大小佇列與解析的指令作業相對應的子作業。
此後,在步驟830處,當在記憶體裝置150的記憶體晶粒中執行佇列的邏輯單元大小的子作業時,記憶體系統110交互且動態地控制例如操作能量位準和操作時脈的指令參數。例如,記憶體系統110監控控制器130和記憶體裝置150中的作業負載(例如,待處理的子作業和佇列的邏輯單元大小的子作業)以及控制器130和記憶體裝置150中的狀態。狀態例如可以是執行子作業的控制器130和記憶體裝置150的溫度、性能和延遲。隨後,當根據控制器130和記憶體裝置150的狀態和作業負載執行子作業時,記憶體系統動態地控制指令參數(例如,能量位準和操作時脈)。
在步驟840處,記憶體系統利用在步驟830處動態地控制的指令參數(例如,操作能量位準和操作時脈)執行佇列的邏輯單元大小的子作業。
已經參照圖5至圖7提供對以下操作的詳細描述:當執行與從主機102接收的指令相對應的指令操作時控制記憶體系統110中的指令參數的操作,例如,當執行控制器130和記憶體裝置150的指令操作時檢查記憶體系統110的控制器130和記憶體裝置150的操作負載和狀態,並且接著交互且動態地控制操作能量位準和操作時脈的操作。因此,將省略其進一步描述。
在下文中,將參照圖9至圖17更詳細地描述包括參照圖1至圖8描述的記憶體系統110的本發明的各個實施例。
圖9至圖17是示意性示出圖1的資料處理系統的應用示例的圖。
圖9是示意性示出資料處理系統100的另一示例的圖。圖9示意性地示出應用根據本實施例的記憶體系統的記憶卡系統。
參照圖10,記憶卡系統6100可以包括記憶體控制器6120、記憶體裝置6130和連接器6110。
更具體地,記憶體控制器6120可以連接到透過非揮發性記憶體實施的記憶體裝置6130,並且被配置為存取記憶體裝置6130。例如,記憶體控制器6120可以被配置為控制記憶體裝置6130的讀取操作、寫入操作、抹除操作和背景操作。記憶體控制器6120可以被配置為提供記憶體裝置6130和主機之間的介面,並且驅動韌體以控制記憶體裝置6130。即,記憶體控制器6120可以對應於參照圖1和圖5描述的記憶體系統110的控制器130,並且記憶體裝置6130可以對應於參照圖1和圖5描述的記憶體系統110的記憶體裝置150。
因此,記憶體控制器6120可以包括RAM、處理單元、主機介面、記憶體介面和錯誤校正單元。記憶體控制器130可以進一步包括圖5所示的元件。
記憶體控制器6120可以透過連接器6110與例如圖1的主機102的外部裝置通訊。例如,如參照圖1描述的,記憶體控制器6120可以被配置為透過諸如以下的各種通訊協議中的一種或多種與外部裝置通訊:通用序列匯流排(USB)、多媒體卡(MMC)、嵌入式MMC(eMMC)、周邊元件連接(PCI)、高速PCI (PCIe)、高級技術附件(ATA)、串列ATA、並行ATA、小型電腦系統介面(SCSI)、增強型小型磁片介面(EDSI)、電子整合驅動器(IDE)、火線、通用快閃記憶體(UFS)、WIFI和藍牙。因此,根據本實施例的記憶體系統和資料處理系統可以應用於有線/無線電子裝置或特別是移動電子裝置。
記憶體裝置6130可以由揮發性記憶體來實施。例如,記憶體裝置6130可以透過諸如以下的各種非揮發性記憶體裝置來實施:可抹除可程式化ROM(EPROM)、電可抹除可程式化ROM(EEPROM)、NAND快閃記憶體、NOR快閃記憶體、相變RAM(PRAM)、電阻式RAM(ReRAM)、鐵電RAM(FRAM)和自旋轉移力矩磁性RAM(STT-RAM)。記憶體裝置6130可以包括如在圖5的記憶體裝置150中的多個晶粒。
記憶體控制器6120和記憶體裝置6130可以被整合到單個半導體裝置中。例如,記憶體控制器6120和記憶體裝置6130可以透過整合到單個半導體裝置中來構造固態硬碟(SSD)。並且,記憶體控制器6120和記憶體裝置6130可以建構諸如以下的記憶卡:PC卡(PCMCIA:國際個人電腦記憶卡協會)、標準快閃記憶體(CF)卡、智慧媒體卡(例如,SM和SMC)、記憶棒、多媒體卡(例如,MMC、RS-MMC、微型MMC和eMMC)、SD卡(例如,SD、迷你SD、微型SD和SDHC)和通用快閃記憶體(UFS)。
圖10是示意性地示出根據實施例的包括記憶體系統的資料處理系統的另一示例的圖。
參照圖10,資料處理系統6200可以包括具有一個或多個非揮發性記憶體的記憶體裝置6230和用於控制記憶體裝置6230的記憶體控制器6220。圖10所示的資料處理系統6200可以作為諸如記憶卡(CF、SD、微型SD等)或USB裝置的儲存介質,如參照圖1描述的。記憶體裝置6230可以對應於圖1和圖5所示的記憶體系統110的控制器150,並且記憶體控制器6220可以對應於圖1和圖5所示的記憶體系統110的記憶體控制器130。
記憶體控制器6220可以回應於主機6210的請求來控制對記憶體裝置6230的讀取操作、寫入操作或抹除操作,並且記憶體控制器6220可以包括一個或多個CPU 6221、諸如RAM 6222的緩衝記憶體、ECC電路6223、主機介面6224和諸如NVM介面6225的記憶體介面。
CPU 6221可以控制對記憶體裝置6230的全部操作,例如讀取操作、寫入操作、檔案系統管理操作和壞頁面管理操作。RAM 6222可以根據CPU 6221的控制來操作,並且作為工作記憶體、緩衝記憶體或高速緩衝記憶體。當RAM 6222作為工作記憶體時,由CPU 6221處理的資料可被臨時儲存在RAM 6222中。當RAM 6222作為緩衝記憶體時,RAM 6222可以用於緩衝從主機6210傳輸到記憶體裝置6230,或從記憶體裝置6230傳輸到主機6210的資料。當RAM 6222作為高速緩衝記憶體時,RAM 6222可以輔助低速記憶體裝置6230以高速操作。
ECC電路6223可以對應於圖1所示的控制器130的ECC單元138。如參照圖1描述的,ECC電路6223可以產生用於校正從記憶體裝置6230提供的資料的失效位元或錯誤位元的ECC(錯誤校正碼)。ECC電路6223可以對被提供給記憶體裝置6230的資料執行錯誤校正編碼,由此形成具有同位檢查位元的資料。同位檢查位元可以被儲存在記憶體裝置6230中。ECC電路6223可以對從記憶體裝置6230輸出的資料執行錯誤校正解碼。此時,ECC電路6223可以使用同位檢查位元來校正錯誤。例如,如參照圖1描述的,ECC電路6223可以使用LDPC碼、BCH碼、渦輪碼、裡德-所羅門碼、卷積碼、RSC或諸如TCM或BCM的編碼調製來校正錯誤。
記憶體控制器6220可以透過主機介面6224將資料傳輸到主機6210/從主機6210接收資料,並且透過NVM介面6225將資料傳輸到記憶體裝置6230/從記憶體裝置6230接收資料。主機介面6224可以透過PATA匯流排、SATA匯流排、SCSI、USB、PCIe或NAND介面連接到主機6210。記憶體控制器6220可以具有諸如WiFi或長程演進(LTE)的移動通訊協議的無線通訊功能。記憶體控制器6220可以連接到例如主機6210或另一外部裝置的外部裝置,並且接著將資料傳輸到外部裝置/從外部裝置接收資料。特別地,當記憶體控制器6220被配置為透過各種通訊協定的一種或多種與外部裝置通訊時,根據本實施例的記憶體系統和資料處理系統可被應用於有線/無線電子裝置,或特別是移動電子裝置。
圖11是示意性地示出根據實施例的包括記憶體系統的資料處理系統的另一示例的圖。圖11示意性地示出包括記憶體系統110的SSD。
參照圖11,SSD 6300可以包括控制器6320和包括多個非揮發性記憶體的記憶體裝置6340。記憶體控制器6320可以對應於圖1和圖5的記憶體系統110的控制器130,並且記憶體裝置6340可以對應於圖1和圖5的記憶體系統110的記憶體裝置150。
更具體地,控制器6320可以透過多個通道CH1至CHi連接到記憶體裝置6340。控制器6320可以包括一個或多個處理器6321、緩衝記憶體6325、ECC電路6322、主機介面6324和例如非揮發性記憶體介面6326的記憶體介面。
緩衝記憶體6325可臨時儲存從主機6310提供的資料或從包括在記憶體裝置6340中的多個快閃記憶體NVM提供的資料,或臨時儲存例如包括映射表的映射資料的多個快閃記憶體NVM的中繼資料。緩衝記憶體6325可以由諸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的揮發性記憶體,或諸如FRAM、ReRAM、STT-MRAM和PRAM的非揮發性記憶體來實施。為了便於描述,圖10示出緩衝記憶體6325存在於控制器6320中。然而,緩衝記憶體6325可以存在於控制器6320的外部。
ECC電路6322可以在程式化操作期間計算待程式化到記憶體裝置6340中的資料的ECC值,在讀取操作期間基於ECC值對從記憶體裝置6340讀取的資料執行錯誤校正操作,並且在失效資料恢復操作期間對從記憶體裝置6340恢復的資料執行錯誤校正操作。
主機介面6324可以提供與例如主機6310的外部裝置的介面功能,非揮發性記憶體介面6326可以提供與透過多個通道連接的記憶體裝置6340的介面功能。
此外,可以提供被應用圖1和圖5的記憶體系統110的多個SSD 6300以實施例如RAID(獨立磁片的冗餘陣列)系統的資料處理系統。此時,RAID系統可以包括多個SSD 6300和用於控制多個SSD 6300的RAID控制器。當RAID控制器回應於從主機6310提供的寫入指令執行程式化操作時,RAID控制器可以根據多個RAID級別,即,從主機6310提供的寫入指令的RAID級別資訊,在SSD 6300中選擇一個或多個記憶體系統或SSD 6300,並將對應於寫入指令的資料輸出到選擇的SSD 6300。此外,當RAID控制器回應於從主機6310提供的讀取指令執行讀取指令時,RAID控制器可以根據多個RAID級別,即,從主機6310提供的讀取指令的RAID級別資訊,在SSD 6300中選擇一個或多個記憶體系統或SSD 6300,並且將從選擇的SSD 6300讀取的資料提供給主機6310。
圖12是示意性地示出包括根據實施例的記憶體系統的資料處理系統的另一示例的圖。圖12示意性地示出包括記憶體系統110的嵌入式多媒體卡(eMMC)。
參照圖12,eMMC 6400可以包括控制器6430和由一個或多個NAND快閃記憶體實施的記憶體裝置6440。記憶體控制器6430可以對應於圖1和圖5的記憶體系統110的控制器130,並且記憶體裝置6440可以對應於圖1和圖5的記憶體系統110的記憶體裝置150。
更具體地,控制器6430可以透過多個通道連接到記憶體裝置6440。控制器6430可以包括一個或多個核心6432、主機介面6431和例如NAND介面6433的記憶體介面。
核心6432可以控制eMMC 6400的全部操作,主機介面6431可以在控制器6430和主機6410之間提供介面功能,並且NAND介面6433可以在記憶體裝置6440和控制器6430之間提供介面功能。例如,主機介面6431可以作為例如參照圖1描述的MMC介面的平行介面。此外,主機介面6431可作為序列介面,例如UHS((超高速)-I/UHS-II)介面。
圖13至圖16是示意性地示出根據實施例的包括記憶體系統的資料處理系統的其它示例的圖。具體地,圖13至圖16示意性地示出包括記憶體系統110的通用快閃儲存(UFS)系統。
參照圖13至圖16,UFS系統6500、6600、6700和6800可以分別包括主機6510、6610、6710和6810、UFS裝置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830。主機6510、6610、6710和6810可以作為有線/無線電子裝置,或特別是移動電子裝置的應用處理器,UFS裝置6520、6620、6720和6820可以作為嵌入式UFS裝置,並且UFS卡6530、6630、6730和6830可以作為外部嵌入式UFS設備或可移除UFS卡。
在各個UFS系統6500、6600、6700和6800中的主機6510、6610、6710和6810、UFS裝置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可以透過UFS協議,與例如有線/無線電子裝置或特別是移動電子裝置的外部裝置通訊,並且UFS裝置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可以透過圖1和圖5所示的記憶體系統110實施。例如,在UFS系統6500、6600、6700和6800中,UFS裝置6520、6620、6720和6820可以參照圖10至圖12描述的資料處理系統6200、SSD 6300或eMMC 6400的形式來實施,並且UFS卡6530、6630、6730和6830可以參照圖9描述的儲存卡系統6100的形式來實施。
此外,在UFS系統6500、6600、6700和6800中,主機6510、6610、6710和6810、UFS裝置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可以透過例如移動工業處理器介面(MIPI)中的MIPI M-PHY和MIPI統一協議(UniPro)的UFS介面彼此通訊。此外,UFS裝置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可以透過除UFS協議之外的例如UFD、MMC、SD、迷你SD和微型SD的各種協議來彼此通訊。
在圖13所示的UFS系統6500中,主機6510、UFS裝置6520和UFS卡6530中的每一個可以包括UniPro。主機6510可以執行切換操作,以便與UFS裝置6520和UFS卡6530通訊。特別地,主機6510可以透過例如在UniPro處的L3交換的鏈結層交換與UFS裝置6520或UFS卡6530通訊。此時,UFS裝置6520和UFS卡6530可以透過在主機6510的UniPro處的鏈結層交換來與彼此通訊。在本實施例中,為了便於描述,已經例示其中一個UFS裝置6520和一個UFS卡6530連接到主機6510的配置。然而,多個UFS裝置和UFS卡可以並聯地或以星型形式連接到主機6410,並且多個UFS卡可以並聯地或以星型形式連接到UFS裝置6520,或者串聯地或以鏈型形式連接到UFS裝置6520。
在圖14所示的UFS系統6600中,主機6610、UFS裝置6620和UFS卡6630中的每一個可以包括UniPro,並且主機6610可以透過執行交換操作的交換模組6640,例如,透過在UniPro處執行例如L3交換的鏈結層交換的交換模組6640來與UFS裝置6620或UFS卡6630通訊。UFS裝置6620和UFS卡6630可以透過在UniPro處的交換模組6640的鏈結層交換來與彼此通訊。在本實施例中,為了便於描述,已經例示一個UFS裝置6620和一個UFS卡6630連接到交換模組6640的配置。然而,多個UFS裝置和UFS卡可以並聯地或以星型形式連接到交換模組6640,並且多個UFS卡可以串聯地或以鏈型形式連接到UFS裝置6620。
在圖15所示的UFS系統6700中,主機6710、UFS裝置6720和UFS卡6730中的每一個可以包括UniPro,並且主機6710可以透過執行交換操作的交換模組6740,例如,透過在UniPro處執行例如L3交換的鏈結層交換的交換模組6740來與UFS裝置6720或UFS卡6730通訊。此時,UFS裝置6720和UFS卡6730可以透過在UniPro處的交換模組6740的鏈結層交換來彼此通訊,並且交換模組6740可以在UFS裝置6720內部或外部與UFS裝置6720整合為一個模組。在本實施例中,為了便於描述,已經例示一個UFS裝置6720和一個UFS卡6730連接到交換模組6740的配置。然而,每個包括交換模組6740和UFS裝置6720的多個模組可以並聯地或以星型形式連接到主機6710,或者串聯地或以鏈型形式連接到彼此。此外,多個UFS卡可以並聯地或以星型形式連接到UFS裝置6720。
在圖16所示的UFS系統6800中,主機6810、UFS裝置6820和UFS卡6830中的每一個可以包括M-PHY和UniPro。UFS裝置6820可以執行切換操作,以便與主機6810和UFS卡6830通訊。特別地,UFS裝置6820可以透過用於與主機6810通訊的M-PHY和UniPro模組之間的交換操作和用於與UFS卡6830通訊的M-PHY和UniPro模組之間的交換操作,例如透過目標ID(識別字)交換操作來與主機6810或UFS卡6830通訊。此時,主機6810和UFS卡6830可以透過UFS裝置6820的M-PHY和UniPro模組之間的目標ID交換來彼此通訊。在本實施例中,為了便於描述,已經例示其中一個UFS裝置6820連接到主機6810和一個UFS卡6830連接到UFS裝置6820的配置。然而,多個UFS裝置可以並聯地或以星型形式連接到主機6810,或串聯地或以鏈型形式連接到主機6810,並且多個UFS卡可以並聯地或以星型形式連接到UFS裝置6820,或者串聯地或以鏈型形式連接到UFS裝置6820。
圖17是示意性地示出根據實施例的包括記憶體系統的資料處理系統的另一示例的圖。圖17是示意性地示出包括記憶體系統110的使用者系統的圖。
參照圖17,使用者系統6900可以包括應用處理器6930、記憶體模組6920、網路模組6940、儲存模組6950和使用者介面6910。
更具體地,應用處理器6930可以驅動包括在例如OS的使用者系統6900中的部件,並且包括控制包括在使用者系統6900中的部件的控制器、介面、圖形引擎。應用處理器6930可以被設置為系統晶片(SoC)。
記憶體模組6920可以作為使用者系統6900的主記憶體、工作記憶體、緩衝記憶體或高速緩衝記憶體。記憶體模組6920可以包括諸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM、LPDDR SDRAM、LPDDR2 SDRAM和LPDDR3 SDRAM的揮發性RAM或諸如PRAM、ReRAM、MRAM和FRAM的非揮發性RAM。例如,應用處理器6930和記憶體模組6920可以基於POP(堆疊封裝)的被封裝並安裝。
網路模組6940可以與外部裝置通訊。例如,網路模組6940不僅可以支援有線通訊,還可以支援諸如以下的各種無線通訊:分碼多工存取(CDMA)、全球移動通訊系統(GSM)、寬頻CDMA(WCDMA)、CDMA-2000、分時多工存取(TDMA)、長程演進(LTE)、全球微波連接互通(WiMAX)、無線局域網(WLAN)、超寬頻(UWB)、藍牙、無線顯示(WI-DI),從而與有線/無線電子裝置或特別是移動電子裝置通訊。因此,根據本發明的實施例的記憶體系統和資料處理系統可以應用於有線和/或無線電子裝置。網路模組6940可以被包括在應用處理器6930中。
儲存模組6950可以儲存資料,例如從應用處理器6930接收的資料,並且將儲存的資料傳輸到應用處理器6930。儲存模組6950可以由諸如以下的非揮發性半導體記憶體裝置實施:相變RAM(PRAM)、磁性RAM(MRAM)、電阻式RAM(ReRAM)、NAND快閃記憶體、NOR快閃記憶體和3維NAND快閃記憶體,並且被設置為諸如使用者系統6900的儲存卡和外部驅動器的可移除儲存介質。儲存模組6950可以對應於以上參照圖1和圖5描述的記憶體系統110。此外,儲存模組6950可以利用以上參照圖11至圖16描述的SSD、eMMC和UFS來實施。
使用者介面6910可以包括用於將資料或指令輸入到應用處理器6930或用於將資料輸出到外部裝置的介面。例如,使用者介面6910可以包括諸如鍵盤、小鍵盤、按鈕、觸控面板、觸控式螢幕、觸控板、觸控球、攝影機、麥克風、陀螺儀感測器、振動感測器和壓電元件的使用者輸入介面,以及諸如液晶顯示器(LCD)、有機發光二極體(OLED)顯示裝置、主動式矩陣OLED(AMOLED)顯示裝置、發光二極體(LED)、揚聲器和馬達的使用者輸出介面。
此外,當圖1和圖5的記憶體系統110被應用於使用者系統6900的移動電子裝置時,應用處理器6930可以控制移動電子裝置的全部操作,並且網路模組6940可以作為用於控制與外部裝置的有線/無線通訊的通訊模組。使用者介面6910可以在移動電子裝置的顯示/觸摸模組上顯示由處理器6930處理的資料,或支援從觸摸面板接收資料的功能。
在根據實施例的記憶體系統及其操作方法中,可以最小化記憶體系統的複雜度和性能下降,並且最大化記憶體裝置的使用效率,因此可以快速且可靠地處理關於記憶體裝置的資料。
雖然為了說明的目的已經描述各個實施例,但是對於本領域技術人員顯而易見的是,在不脫離如所附申請專利範圍所限定的本發明的精神和範圍的情況下,可以進行各種其它實施例、改變和修改。
100‧‧‧資料處理系統
102‧‧‧主機
110‧‧‧記憶體系統
130‧‧‧控制器
132‧‧‧主機介面單元
134‧‧‧處理器
138‧‧‧錯誤校正碼單元
140‧‧‧電源管理單元
142‧‧‧NAND快閃記憶體控制器
144‧‧‧記憶體
150‧‧‧記憶體裝置
152‧‧‧記憶區塊
154‧‧‧記憶區塊
156‧‧‧記憶區塊
310‧‧‧電壓供給單元
320‧‧‧讀取/寫入電路
322~326‧‧‧頁面緩衝器
330‧‧‧記憶區塊
340‧‧‧單元串
510‧‧‧作業解析模組
520‧‧‧子作業佇列模組
530‧‧‧子作業模組
532、534、536、538‧‧‧子作業模組
540‧‧‧產生器
550、560‧‧‧監控器
570‧‧‧PMC模組
610、630、650、670、…、695‧‧‧記憶體晶粒
612、616、620、624、632、636、640、644、652、656、660、664、672、676、680、684‧‧‧頁面
614、618、622、626、634、638、642、646、654、658、662、666、674、678、682、686‧‧‧記憶區塊
700‧‧‧能量管理控制模組
702‧‧‧能量控制單元
704、706、708‧‧‧能量驅動單元
710‧‧‧時脈管理控制模組
712‧‧‧時脈控制單元
714、716、718‧‧‧時脈驅動單元
6100‧‧‧記憶卡系統
6110‧‧‧連接器
6120‧‧‧記憶體控制器
6130‧‧‧記憶體裝置
6200‧‧‧資料處理系統
6210‧‧‧主機
6220‧‧‧記憶體控制器
6221‧‧‧CPU
6222‧‧‧RAM
6223‧‧‧ECC電路
6224‧‧‧主機介面
6225‧‧‧NVM介面
6230‧‧‧記憶體裝置
6300‧‧‧SSD
6310‧‧‧主機
6320‧‧‧控制器
6321‧‧‧處理器
6322‧‧‧ECC電路
6324‧‧‧主機介面
6325‧‧‧緩衝記憶體
6326‧‧‧非揮發性記憶體介面
6340‧‧‧記憶體裝置
6400‧‧‧eMMC
6410‧‧‧主機
6430‧‧‧控制器
6431‧‧‧主機介面
6432‧‧‧核心
6433‧‧‧NAND介面
6440‧‧‧記憶體裝置
6500、6600、6700、6800‧‧‧UFS系統
6510、6610、6710、6810‧‧‧主機
6520、6620、6720、6820‧‧‧UFS裝置
6530、6630、6730、6830‧‧‧UFS卡
6640、6740‧‧‧交換模組
6900‧‧‧使用者系統
6910‧‧‧使用者介面
6920‧‧‧記憶體模組
6930‧‧‧應用處理器
6940‧‧‧網路模組
6950‧‧‧儲存模組
810、820、825、830、840‧‧‧流程步驟
BL0~BLm-1‧‧‧位元線
BLK0~BLKN-1‧‧‧記憶區塊
DST‧‧‧汲極選擇電晶體
MC0~MCn-1‧‧‧記憶體單元
SST‧‧‧源極選擇電晶體
根據參照所附圖式的以下詳細說明 ,本發明的這些和其它特徵及優點對於本發明所屬領域的技術人員將變得顯而易見,其中: [圖1]是示出根據本發明的實施例的包括記憶體系統的資料處理系統的方塊圖。 [圖2]是示出[圖1]所示的記憶體系統中採用的記憶體裝置的示例性配置的示意圖。 [圖3]是示出[圖2]所示的記憶體裝置中的記憶區塊的記憶體單元陣列的示例性配置的電路圖。 [圖4]是示出[圖2]所示的記憶體裝置的示例性三維結構的示意圖。 [圖5]至[圖7]是示意性地示出根據本發明的實施例的[圖1]至[圖4]所示的記憶體系統以及記憶體系統的操作的更多細節的圖。 [圖8]是示出根據本發明的實施例的[圖1]至[圖7]所示的記憶體系統的操作的流程圖。 [圖9]至[圖17]是示意性示出根據本發明的各個實施例的[圖1]至[圖7]所示的資料處理系統的應用示例的圖。
Claims (20)
- 一種記憶體系統,其包括: 記憶體裝置,其包括多個記憶體晶粒並且適於在所述多個記憶體晶粒中執行指令操作;以及 控制器,其適於: 基於邏輯單元大小來劃分與所述指令操作相對應的指令作業的子作業; 使劃分的子作業佇列;以及 在可變的操作能量位準和操作時脈中對所述記憶體晶粒執行佇列的子作業, 其中,在對所述記憶體晶粒執行至少一個佇列的子作業的同時,所述控制器監控所述至少一個佇列的子作業的狀態和作業負載,並且根據監控的結果交互且動態地調整所述至少一個佇列的子作業的能量位準和操作時脈。
- 如請求項1所述的記憶體系統, 其中所述控制器在第一操作能量位準和第一操作時脈中執行所述佇列的子作業的多個第一子作業,並且接著在第三操作能量位準和第三操作時脈中執行所述佇列的子作業的待處理的第一子作業,以及 其中所述控制器在第二操作能量位準和第二操作時脈中執行所述佇列的子作業的多個第二子作業,並且接著在第四操作能量位準和第四操作時脈中執行所述佇列的子作業的待處理的第二子作業。
- 如請求項2所述的記憶體系統, 其中所述控制器監控與在所述第一操作能量位準和所述第一操作時脈中執行所述第一子作業相對應的第一狀態和第一作業負載,以及 其中所述控制器監控與在所述第二操作能量位準和所述第二操作時脈中執行所述第二子作業相對應的第二狀態和第二作業負載。
- 如請求項3所述的記憶體系統, 其中所述控制器對應於所述第一狀態和所述第一作業負載,透過放大或縮小所述第一操作能量位準和所述第一操作時脈來確定所述第三操作能量位準和所述第三操作時脈,以及 其中所述控制器對應於所述第二狀態和所述第二作業負載,透過放大或縮小所述第二操作能量位準和所述第二操作時脈來確定所述第四操作能量位準和所述第四操作時脈。
- 如請求項4所述的記憶體系統,其中,在所述待處理的第二子作業是所述佇列的子作業的最後子作業的情況下,所述控制器透過縮小所述第二操作時脈來確定所述第四操作時脈作為最小時脈,並且接著所述控制器對應於作為所述最小時脈的所述第四操作時脈透過放大或縮小所述第二操作能量位準來確定所述第四操作能量位準。
- 如請求項1所述的記憶體系統,其中所述控制器控制用於在所述佇列的子作業中具有最小性能和最大延遲的子作業,或者需要最大性能的子作業的能量位準和操作時脈中的一個或多個,使得所述能量位準是最大能量位準並且所述操作時脈是最大操作時脈。
- 如請求項1所述的記憶體系統,其中,在所述記憶體裝置和所述控制器中的溫度等於或大於閾值溫度的情況下,所述控制器縮小用於所述至少一個佇列的子作業的所述能量位準和所述操作時脈。
- 如請求項1所述的記憶體系統,其中,在所述記憶體裝置和所述控制器中的溫度小於閾值溫度的情況下,所述控制器放大或縮小用於所述至少一個佇列的子作業的所述能量位準和所述操作時脈。
- 如請求項1所述的記憶體系統,其中,在所述至少一個佇列的子作業的性能和延遲在相同狀態下被維持預定時間的情況下,所述控制器縮小用於所述至少一個佇列的子作業的所述能量位準,並且放大用於所述至少一個佇列的子作業的所述操作時脈。
- 如請求項1所述的記憶體系統, 其中所述狀態包括所述控制器和所述記憶體裝置的溫度、性能和延遲,以及 其中所述作業負載包括所述佇列的子作業的待處理的子作業。
- 如請求項1所述的記憶體系統,其中所述控制器包括: 作業解析模組,其適於解析所述指令作業; 子作業佇列模組,其適於基於所述邏輯單元大小來使與所述解析的指令作業相對應的所述子作業佇列; 子作業模組,其適於對相應的記憶體晶粒分別執行所述佇列的子作業; 監控器,其適於當所述子作業模組分別執行所述佇列的子作業時,監控所述控制器和所述記憶體裝置中的溫度、性能和延遲;以及 功率管理控制模組,其適於檢查用於所述解析的指令作業、所述佇列的子作業、所述溫度、所述性能和所述延遲的監控標誌,並且接著調整各個子作業模組的所述操作能量位準和所述操作時脈中的一個或多個。
- 如請求項11所述的記憶體系統,其中所述功率管理控制模組包括: 控制單元,其適於根據所述解析的指令作業、所述佇列的子作業和所述監控標誌來控制所述各個子作業模組的所述操作能量位準和所述操作時脈中的一個或多個;以及 驅動單元,其適於將被控制的操作能量位準和/或被控制的操作時脈提供給所述各個子作業模組。
- 一種包括記憶體裝置的記憶體系統的操作方法,所述記憶體裝置包括多個記憶體晶粒,所述方法包括: 基於邏輯單元大小來劃分與所述指令操作相對應的指令作業的子作業; 使劃分的子作業佇列; 在可變的操作能量位準和操作時脈中對所述記憶體晶粒執行佇列的子作業; 在執行所述佇列的子作業的期間監控所述佇列的子作業的狀態和作業負載;以及 根據監控的結果並透過放大或縮小來交互且動態地控制所述能量位準和所述操作時脈中的一個或多個; 其中所述狀態包括所述記憶體裝置和所述記憶體裝置的控制器中的溫度、性能和延遲,以及 其中所述作業負載包括所述佇列的子作業的待處理的子作業。
- 如請求項13所述的操作方法,其中所述執行包括: 在第一操作能量位準和第一操作時脈中執行所述佇列的子作業的第一子作業,並且接著在第三操作能量位準和第三操作時脈中執行所述佇列的子作業的待處理的第一子作業;以及 在第二操作能量位準和第二操作時脈中執行所述佇列的子作業的第二子作業,並且接著在第四操作能量位準和第四操作時脈中執行所述佇列的子作業的待處理的第二子作業,以及 其中所述監控包括: 監控與在所述第一操作能量位準和所述第一操作時脈中執行所述第一子作業相對應的第一狀態和第一作業負載;以及 監控與在所述第二操作能量位準和所述第二操作時脈中執行所述第二子作業相對應的第二狀態和第二作業負載。
- 如請求項13所述的操作方法,其中所述控制包括: 對應於所述第一狀態和所述第一作業負載,透過放大或縮小所述第一操作能量位準和所述第一操作時脈來確定所述第三操作能量位準和所述第三操作時脈;以及 對應於所述第二狀態和所述第二作業負載,透過放大或縮小所述第二操作能量位準和所述第二操作時脈來確定所述第四操作能量位準和所述第四操作時脈。
- 如請求項13所述的操作方法,其中控制所述能量位準和所述操作時脈中的一個或多個包括:控制用於所述佇列的子作業的最後子作業的能量位準和操作時脈中的一個或多個,使得所述操作時脈是最小操作時脈並且所述能量位準對應於所述最小操作時脈。
- 如請求項13所述的操作方法,其中控制所述能量位準和所述操作時脈中的一個或多個包括:控制用於在所述佇列的子作業中具有最小性能和最大延遲的子作業或者需要最大性能的子作業的能量位準和操作時脈中的一個或多個,使得所述能量位準是最大能量位準並且所述操作時脈是最大操作時脈。
- 如請求項13所述的操作方法,其中,在所述記憶體裝置和所述控制器中的溫度等於或大於閾值溫度的情況下,控制所述能量位準和所述操作時脈中的一個或多個包括縮小用於所述佇列的子作業的所述能量位準和所述操作時脈中的一個或多個。
- 如請求項13所述的操作方法,其中,在所述記憶體裝置和所述控制器中的溫度小於所述閾值溫度的情況下,控制所述能量位準和所述操作時脈中的一個或多個包括放大用於所述佇列的子作業的所述能量位準和所述操作時脈中的一個或多個。
- 如請求項13所述的操作方法,其中,在所述第一子作業的性能和延遲在相同狀態下被維持預定時間的情況下,控制所述能量位準和所述操作時脈中的一個或多個包括縮小用於所述佇列的子作業的所述能量位準並放大用於所述佇列的子作業的所述操作時脈。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| ??10-2016-0177915 | 2016-12-23 | ||
| KR1020160177915A KR20180074138A (ko) | 2016-12-23 | 2016-12-23 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| TW201830246A true TW201830246A (zh) | 2018-08-16 |
Family
ID=62625064
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW106139784A TW201830246A (zh) | 2016-12-23 | 2017-11-16 | 記憶體系統以及記憶體系統的操作方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20180182452A1 (zh) |
| KR (1) | KR20180074138A (zh) |
| CN (1) | CN108241587A (zh) |
| TW (1) | TW201830246A (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11901035B2 (en) | 2021-07-09 | 2024-02-13 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method of differentiated thermal throttling of memory and system therefor |
| TWI898741B (zh) * | 2024-07-23 | 2025-09-21 | 慧榮科技股份有限公司 | 儲存裝置、其資料處理方法與非暫態電腦可讀取儲存媒體 |
Families Citing this family (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108073539A (zh) * | 2017-12-27 | 2018-05-25 | 上海集成电路研发中心有限公司 | 一种mipi接口的d-phy电路 |
| US10628081B2 (en) * | 2018-03-09 | 2020-04-21 | Toshiba Memory Corporation | Managing internal command queues in solid state storage drives |
| US10936046B2 (en) * | 2018-06-11 | 2021-03-02 | Silicon Motion, Inc. | Method for performing power saving control in a memory device, associated memory device and memory controller thereof, and associated electronic device |
| TWI673613B (zh) * | 2018-10-17 | 2019-10-01 | 財團法人工業技術研究院 | 伺服器及其資源調控方法 |
| KR20200091679A (ko) * | 2019-01-23 | 2020-07-31 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
| KR102724231B1 (ko) | 2019-04-03 | 2024-10-31 | 에스케이하이닉스 주식회사 | 저장 장치, 컨트롤러 및 컨트롤러의 동작 방법 |
| US11079822B2 (en) | 2019-06-28 | 2021-08-03 | Western Digital Technologies, Inc. | Integrated power and thermal management in non-volatile memory |
| KR102678655B1 (ko) | 2019-07-05 | 2024-06-27 | 에스케이하이닉스 주식회사 | 메모리 인터페이스, 이를 포함하는 데이터 저장 장치 및 그 동작 방법 |
| US12223195B2 (en) | 2019-09-02 | 2025-02-11 | SK Hynix Inc. | Memory controller and operating method thereof |
| US11507310B2 (en) | 2019-09-02 | 2022-11-22 | SK Hynix Inc. | Memory controller and operating method thereof |
| KR102713219B1 (ko) * | 2019-09-02 | 2024-10-07 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
| US11429292B2 (en) * | 2020-12-02 | 2022-08-30 | Micron Technology, Inc. | Power management for a memory device |
| US11561597B2 (en) * | 2020-12-02 | 2023-01-24 | Micron Technology, Inc. | Memory device power management |
| US12287690B2 (en) | 2022-10-03 | 2025-04-29 | Western Digital Technologies, Inc. | Power-per-processing event estimates based on total power consumption measurements within a data storage device |
| CN117251274B (zh) * | 2023-11-14 | 2024-02-20 | 苏州元脑智能科技有限公司 | 作业调度方法、装置、电子设备及存储介质 |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100138684A1 (en) * | 2008-12-02 | 2010-06-03 | International Business Machines Corporation | Memory system with dynamic supply voltage scaling |
| US20100274933A1 (en) * | 2009-04-24 | 2010-10-28 | Mediatek Inc. | Method and apparatus for reducing memory size and bandwidth |
| CN101587745B (zh) * | 2009-06-23 | 2012-11-07 | 成都市华为赛门铁克科技有限公司 | 数据读写方法和非易失性存储介质 |
| WO2012001917A1 (ja) * | 2010-06-29 | 2012-01-05 | パナソニック株式会社 | 不揮発性記憶システム、メモリシステム用の電源回路、フラッシュメモリ、フラッシュメモリコントローラ、および不揮発性半導体記憶装置 |
| US20150363116A1 (en) * | 2014-06-12 | 2015-12-17 | Advanced Micro Devices, Inc. | Memory controller power management based on latency |
| US10318420B2 (en) * | 2014-10-31 | 2019-06-11 | Hewlett Packard Enterprise Development Lp | Draining a write queue based on information from a read queue |
| US20170075589A1 (en) * | 2015-09-14 | 2017-03-16 | Qualcomm Innovation Center, Inc. | Memory and bus frequency scaling by detecting memory-latency-bound workloads |
-
2016
- 2016-12-23 KR KR1020160177915A patent/KR20180074138A/ko not_active Withdrawn
-
2017
- 2017-11-16 TW TW106139784A patent/TW201830246A/zh unknown
- 2017-11-28 US US15/824,572 patent/US20180182452A1/en not_active Abandoned
- 2017-12-07 CN CN201711288142.2A patent/CN108241587A/zh active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11901035B2 (en) | 2021-07-09 | 2024-02-13 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method of differentiated thermal throttling of memory and system therefor |
| TWI880085B (zh) * | 2021-07-09 | 2025-04-11 | 台灣積體電路製造股份有限公司 | 記憶體的差分熱節流方法及其系統 |
| US12283336B2 (en) | 2021-07-09 | 2025-04-22 | Taiwan Semiconductor Manufacturing Company, Ltd. | System for differentiated thermal throttling of memory and method of operating same |
| TWI898741B (zh) * | 2024-07-23 | 2025-09-21 | 慧榮科技股份有限公司 | 儲存裝置、其資料處理方法與非暫態電腦可讀取儲存媒體 |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20180074138A (ko) | 2018-07-03 |
| CN108241587A (zh) | 2018-07-03 |
| US20180182452A1 (en) | 2018-06-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TW201830246A (zh) | 記憶體系統以及記憶體系統的操作方法 | |
| US10394487B2 (en) | Memory system and operating method thereof | |
| TWI783012B (zh) | 記憶體系統、其操作方法以及包括其的資料處理系統 | |
| US10108369B2 (en) | Memory system and operating method thereof | |
| US10048873B2 (en) | Memory system for accessing memory dies during program operations and operation method thereof | |
| CN109390003B (zh) | 存储器系统及其操作方法 | |
| US20180074718A1 (en) | Memory system and method for operating the same | |
| CN108304141A (zh) | 存储器系统及其操作方法 | |
| CN108733595A (zh) | 存储器系统、包括其的数据处理系统及其操作方法 | |
| CN107562649A (zh) | 存储器系统及其操作方法 | |
| CN109933468B (zh) | 存储器系统及其操作方法 | |
| US10331346B2 (en) | Memory system using burst command for handling plural commands and operating method thereof | |
| US20190107945A1 (en) | Controller for controlling one or more memory devices and operation method thereof | |
| KR20180118282A (ko) | 메모리 시스템 | |
| CN108363547A (zh) | 控制器及其操作方法 | |
| CN108536622B (zh) | 存储装置、数据处理系统以及操作存储装置的方法 | |
| US10235046B2 (en) | Memory system and operating method thereof | |
| CN110968521B (zh) | 存储器系统及其操作方法 | |
| CN110196822B (zh) | 存储器装置、存储器控制器和存储器系统及其操作方法 | |
| CN108665920A (zh) | 存储器系统及其操作方法 | |
| US10635347B2 (en) | Memory system and operating method thereof | |
| CN110174996B (zh) | 存储器系统及该存储器系统的操作方法 | |
| CN107767896A (zh) | 包括多接口的存储器系统 | |
| CN107436730B (zh) | 数据处理系统及其操作方法 | |
| US11579798B2 (en) | Memory system and operating method thereof |