TWI798806B - 藉助於熱控制單元以使用動態速度調整的資料存取方法以及相關設備 - Google Patents

藉助於熱控制單元以使用動態速度調整的資料存取方法以及相關設備 Download PDF

Info

Publication number
TWI798806B
TWI798806B TW110132651A TW110132651A TWI798806B TW I798806 B TWI798806 B TW I798806B TW 110132651 A TW110132651 A TW 110132651A TW 110132651 A TW110132651 A TW 110132651A TW I798806 B TWI798806 B TW I798806B
Authority
TW
Taiwan
Prior art keywords
memory
temperature
speed
memory controller
predetermined
Prior art date
Application number
TW110132651A
Other languages
English (en)
Other versions
TW202228127A (zh
Inventor
李俊成
林哲民
俞冠均
許勝一
Original Assignee
慧榮科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 慧榮科技股份有限公司 filed Critical 慧榮科技股份有限公司
Publication of TW202228127A publication Critical patent/TW202228127A/zh
Application granted granted Critical
Publication of TWI798806B publication Critical patent/TWI798806B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/203Cooling means for portable computers, e.g. for laptops
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/002Error detection; Error correction; Monitoring protecting against parasitic influences, e.g. noise, temperatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)
  • Optical Recording Or Reproduction (AREA)
  • Communication Control (AREA)

Abstract

本發明提供一種藉助於熱控制單元以使用動態速度調整的資料存取方法及相關設備。資料存取方法包含:利用記憶體控制器內的熱控制單元在記憶體控制器的一預定控制器內位置開始監控溫度;因應來自主機裝置的至少一存取請求,控制記憶體控制器的傳輸介面電路以原始通信速度在主機裝置與記憶體控制器之間進行資料傳輸,以於非揮發性記憶體中存取資料;因應於溫度大於一第一溫度閾值,在一第一開始時間點和一第一結束時間點之間檢測溫度的增加量;基於至少一第一預定規則,依據增加量以判定第一通信速度;以及從原始通信速度切換至第一通信速度。

Description

藉助於熱控制單元以使用動態速度調整的資料存取方法以及 相關設備
本發明係相關於記憶體控制,尤指一種藉助於熱控制單元以使用動態速度調整的資料存取方法以及相關設備諸如一記憶體裝置、該記憶體裝置的一記憶體控制器以及具備該記憶體裝置的一電子系統。
記憶體技術的發展使得各種可攜式和非可攜式記憶體裝置(例如,符合SD/MMC、CF、MS、XD或UFS規格的記憶卡、固態硬碟(solid state drives,SSD)、符合UFS或EMMC規格的嵌入式儲存裝置等)的廣泛應用成為可能。改善這些記憶體裝置中的記憶體的存取控制一直是本領域需要解決的問題。
NAND快閃記憶體可包括單階細胞(single-level cell,簡稱SLC)和多階細胞(multiple-level cell,簡稱MLC)快閃記憶體。在SLC快閃記憶體中,用作為一記憶體細胞(memory cell)的每個電晶體可以具有分別與邏輯值0和1對應的兩個電荷值中的任一電荷值。相較之下,在MLC快閃記憶體中,用作為一記憶體細胞的每個電晶體的儲存能力可以被充分利用。MLC快閃記憶體中的電晶體可以由比SLC快閃記憶體中的電晶體更高的電壓來驅動,並且不同的電壓準位可以 被利用來記錄至少兩位元的信息(例如00、01、11或10)。理論上,MLC快閃記憶體的記錄密度可以達到SLC快閃記憶體的記錄密度的至少兩倍,因此是NAND快閃記憶體製造商所偏好的。
MLC快閃記憶體的低成本和大容量意味著它比SLC快閃記憶體更可能被應用在記憶體裝置中。然而,MLC快閃記憶體確實存在不穩定的問題。為了確保對記憶體裝置中的快閃記憶體的存取控制可以滿足所要求的規格,快閃記憶體的控制器可以配備有某些管理機制以妥善地管理資料存取。
然而,即使具備上述管理機制的記憶體裝置也可能具有某些缺陷。舉例來說,在對記憶體裝置進行資料存取的期間,高速的資料傳輸可能導致熱量積聚,這可能導致記憶體裝置的效能下降,尤其,導致記憶體裝置的故障。因此,需要一種新穎的方法和相關的架構,以在沒有副作用或較不可能帶來副作用之狀況下改善記憶體裝置的效能。
本發明之一目的在於提供一種藉助於熱控制單元以使用動態速度調整的資料存取方法,以及相關設備諸如一記憶體裝置、該記憶體裝置的一記憶體控制器以及具備該記憶體裝置的一電子系統,以解決上述的問題。
本發明的另一目的在於提供一種藉助於熱控制單元以使用動態速度調整的資料存取方法,以及相關設備諸如一記憶體裝置、該記憶體裝置的一記憶體控制器以及具備該記憶體裝置的一電子系統,以達到該記憶體裝置的最優(optimal)效能。
本發明的至少一實施例揭示了一種藉助於一熱控制單元以使用動態速度調整的資料存取方法,該資料存取方法是可應用於(applicable to)一記憶體裝置的一記憶體控制器,該記憶體裝置包含該記憶體控制器和非揮發性 (non-volatile,NV)記憶體,該非揮發性記憶體包含至少一非揮發性記憶體元件,該資料存取方法包含:利用該記憶體控制器內的該熱控制單元在該記憶體控制器的一預定控制器內位置(intra-controller location)開始監控(monitor)溫度;因應來自一主機裝置的至少一存取請求,控制該記憶體控制器的一傳輸介面電路以一原始通信速度在該主機裝置與該記憶體控制器之間進行資料傳輸,以於該非揮發性記憶體中存取資料;因應於該溫度大於一第一溫度閾值,在一第一開始時間點和一第一結束時間點之間檢測該溫度的一增加量,其中從該第一開始時間點到該第一結束時間點的一第一時期(time period)對應於一第一預定時間差;基於至少一第一預定規則,依據該增加量以判定一第一通信速度;以及控制該傳輸介面電路從該原始通信速度切換至該第一通信速度,以供以該第一通信速度在該主機裝置與該記憶體控制器之間進行資料傳輸。
除了上述方法,本發明還提供一種用於一記憶體裝置的記憶體控制器,該記憶體裝置包含該記憶體控制器以及一非揮發性(non-volatile,NV)記憶體,該非揮發性記憶體包含至少一非揮發性記憶體元件,該記憶體控制器包含一處理電路、一傳輸介面電路以及一記憶體裝置保護電路。該處理電路是用來依據來自一主機裝置的複數個主機指令控制該記憶體控制器,以容許該主機裝置透過該記憶體控制器存取該非揮發性記憶體。該傳輸介面電路是耦接至該處理電路,且該傳輸介面電路是用來與該主機裝置進行通信。該記憶體裝置保護電路是耦接至該處理電路,且該記憶體裝置保護電路是用以對該記憶體裝置進行記憶體裝置保護,其中該記憶體裝置保護電路包含一熱控制單元。該熱控制單元是用來進行熱控制,以在資料存取的期間觸發動態速度調整。例如:該記憶體控制器利用該熱控制單元在該記憶體控制器的一預定控制器內位置開始監控溫度;因應來自該主機裝置的至少一存取請求,該記憶體控制器控制該傳輸介面電路以一原始通信速度在該主機裝置與該記憶體控制器之間進行資料傳 輸,以於該非揮發性記憶體中存取資料;因應於該溫度大於一第一溫度閾值,該記憶體控制器在一第一開始時間點和一第一結束時間點之間檢測該溫度的一增加量,其中從該第一開始時間點到該第一結束時間點的一第一時期對應於一第一預定時間差;基於至少一第一預定規則,該記憶體控制器依據該增加量以判定一第一通信速度;以及該記憶體控制器控制該傳輸介面電路從該原始通信速度切換至該第一通信速度,以供以該第一通信速度在該主機裝置與該記憶體控制器之間進行資料傳輸。
除了上述方法,本發明還提供包含上述記憶體控制器的該記憶體裝置,其中該非揮發性記憶體是被配置以儲存信息,以及該記憶體控制器耦接至該非揮發性記憶體,且被配置以控制該記憶體裝置的操作。
本發明的方法和相關設備能確保該記憶體裝置能在各種情況下正確地操作而不會遇到相關技術的問題。例如,該資料存取方法提供多種控制方案以供存取控制。藉助於本發明的方法和相關設備,該記憶體裝置不會遭受相關技術的現有問題,諸如效能下降問題、故障問題等。
10:電子系統
50:主機裝置
52:處理器
54:電源供應電路
100:記憶體裝置
110:記憶體控制器
112:微處理器
112M:唯讀記憶體(ROM)
112C:程式代碼
114:控制邏輯電路
114F:快閃記憶體控制器
114N:快捷非揮發性記憶體(NVMe)控制器
115:錯誤更正碼(ECC)電路
116:隨機存取記憶體(RAM)
118:傳輸介面電路
118M:PCIe媒體存取控制(MAC)電路
118P:PCIe實體層(PHY)電路
118R:暫存器電路
119:記憶體裝置保護(MDP)電路
119TR:計時器
119TC:熱控制單元
120:非揮發性(NV)記憶體
122:快閃記憶體裸晶
122-1,122-2~122-N:非揮發性(NV)記憶體元件
310,410,REG1,REG2:暫存器
312,412:暫存器值
320,420:控制單元
322,422:邏輯電路
330:計數器
430:熱感測器
PHASE(0):預設速度階段
PHASE(1):減速階段
PHASE(2):加速階段
S10~S19,S20~S29,S30,S31,S40~S42,S50~S52:步驟
第1圖是依據本發明一實施例的一電子系統的示意圖,其中該電子系統包含一主機裝置和一記憶體裝置。
第2圖繪示依據本發明一實施例的藉助於一熱控制單元以使用動態速度調整的一資料存取方法的一溫度認知(temperature-aware)速度控制方案。
第3圖繪示依據本發明一實施例的針對第2圖所示的該溫度認知速度控制方案的計時器的某些實施細節。
第4圖繪示依據本發明一實施例的針對第2圖所示的該溫度認知速度控制方案的 熱控制單元的某些實施細節。
第5圖繪示依據本發明一實施例的該資料存取方法的一減速控制方案。
第6圖繪示依據本發明一實施例的第5圖所示的該減速控制方案的一工作流程。
第7圖繪示依據本發明一實施例的該資料存取方法的一加速控制方案。
第8圖繪示依據本發明一實施例的第7圖所示的該加速控制方案的一工作流程。
第9圖是依據本發明一實施例的藉助於該熱控制單元以使用動態速度調整的該資料存取方法的流程圖。
第1圖是依據本發明一實施例的一電子系統10的示意圖,其中電子系統10包含一主機裝置50和一記憶體裝置100。主機裝置50可以包含可以被統稱為處理器52的至少一處理器(例如,一或多個處理器),並且可以進一步包含耦接到處理器52的一電源供應電路54。處理器52是被配置以控制主機裝置50的操作,電源供應電路54是被配置以向處理器52和記憶體裝置100提供電源,並且向記憶體裝置100輸出一或多個驅動電壓。記憶體裝置100可以被配置以向主機裝置50提供儲存空間,並且從主機裝置50取得一或多個驅動電壓以作為記憶體裝置100的電源。主機裝置50的例子可以包含(但不限於):一多功能行動電話、一可穿戴裝置、一平板電腦以及個人電腦諸如桌上型電腦和筆記型電腦等。記憶體裝置100的例子可以包含(但不限於):一固態硬碟(solid state drives,SSD)以及嵌入式儲存裝置諸如符合通用快閃記憶體儲存(Universal Flash Storage,簡稱UFS)標準或嵌入式MMC(eMMC)標準的嵌入式儲存裝置。依據本實施例,記憶體裝置100可以包含一記憶體控制器110和一非揮發性(non-volatile,簡稱NV)記憶體120,其中,記憶體控制器110是被配置以控制記憶體裝置100的操作並存取NV記憶體120,且NV記憶體120是被配置以儲存信息。NV記憶體120可以包含至少 一NV記憶體元件(例如一或多個NV記憶體元件),諸如多個NV記憶體元件122-1、122-2...以及122-N,其中「N」可以代表大於1的一正整數。舉例來說,NV記憶體120可以是快閃記憶體,且多個NV記憶體元件122-1、122-2,...以及122-N可以是多個快閃記憶體晶片(chip)或多個快閃記憶體裸晶(die),但是本發明不以此為限。
如第1圖所示,記憶體控制器110可以包含一處理電路諸如一微處理器112、一儲存單元諸如一唯讀記憶體(read-only memory,簡稱ROM)112M、一控制邏輯電路114、一錯誤更正碼(error correction code,簡稱ECC)電路115、一隨機存取記憶體(random access memory,簡稱RAM)116、一傳輸介面電路118以及一記憶體裝置保護(memory device protection,MDP)電路119(在第1圖中標示為「MDP電路」以求簡明),其中上列元件可以藉由一匯流排(bus)相互耦接。RAM 116由一靜態RAM(static RAM,SRAM)實現,但是本發明不限於此。RAM 116可被配置以向記憶體控制器110提供內部的儲存空間。舉例來說,RAM 116可以作為用於緩衝資料的一緩衝記憶體。另外,本實施例的ROM 112M是被配置以儲存程式代碼112C,且微處理器112是被配置以執行程序代碼112C以控制對NV記憶體120的存取。值得注意的是,在某些例子中,程序代碼112C可以被儲存在RAM 116或任何類型的記憶體中。再者,ECC電路115可用以保護資料及/或進行錯誤修正,其中ECC電路115可以保護資料及/或進行錯誤修正。傳輸介面電路118可以符合一特定通信標準(例如,UFS標準),並且可以依據該特定通信標準來進行通信,例如,為記憶體裝置100,與主機裝置50進行通信。記憶體裝置保護電路119可用以在記憶體裝置100上進行記憶體裝置保護。舉例來說,記憶體裝置保護電路119可以包含一計時器119TR和一熱控制單元119TC,其中計時器119TR可以進行時間控制(timing control),且熱控制單元119TC可以進行熱控制,以在資料存取的期間觸發動態速度調整。藉助於計時器119TR的時間控制和熱控制單元 119TC的熱控制,記憶體控制器110可以在資料存取的期間進行動態速度調整。
在本實施例中,主機裝置50可以將主機指令和對應的邏輯位址發送到記憶體控制器110以存取記憶體裝置100。記憶體控制器110接收主機指令和邏輯位址,並將主機指令轉換為記憶體操作指令(可以簡稱為操作指令),並進一步用操作指令控制NV記憶體120以在具有NV記憶體120內的實體位址的記憶體單元(例如資料頁)上進行讀取、寫入/編程(programing)等,其中實體位址可以與邏輯位址相關聯。當記憶體控制器110對該多個NV儲存元件122-1、122-2...和122-N中的任一NV記憶體元件122-n0(其中「n0」可以代表區間[1,N]中的任何整數)進行一抹除(erase)操作時,NV記憶體元件122-n0的多個實體區塊中的至少一實體區塊可以被抹除,其中該多個實體區塊中的每一實體區塊可以包括多個實體頁(例如資料頁),並且一存取操作(例如讀取或寫入)可以在一個或多個實體頁上進行。
當主機裝置50存取記憶體裝置100(例如,藉助於記憶體控制器110存取其內的NV記憶體120)時,來自主機裝置50的一存取請求(例如讀取請求、寫入請求等)可以帶有邏輯位址,且邏輯位址可以包含指向一邏輯區塊的一邏輯區塊位址(logical block address,LBA),尤其是可以進一步包含指向該邏輯區塊中的一邏輯頁的一邏輯頁位址。記憶體裝置100(例如,記憶體控制器110)可以在NV記憶體120中儲存和更新至少一個邏輯到實體(logical-to-physical,簡稱L2P)位址映射表(例如一或多個L2P位址映射表),以依據一基於區塊的(block-based)映射控制方案(例如以區塊為單位)來管理邏輯區塊和實體區塊之間的映射關係,尤其,依據一基於頁的(page-based)映射控制方案(例如以頁為單位)來管理邏輯區塊與邏輯頁、以及實體區塊和實體頁之間的映射關係。
依據某些實施例,記憶體裝置100可以被實現為符合SD/MMC、CF、MS、XD或UFS標準的記憶卡,其中記憶體裝置100可以藉由一中間裝置諸如一 記憶卡讀取器耦接到主機裝置50,但是本發明不限於此。
第2圖繪示依據本發明一實施例的藉助於一熱控制單元(例如第1圖中的熱控制單元119TC)以使用動態速度調整的一資料存取方法的一溫度認知速度控制方案。該資料存取方法是可應用於第1圖所示的電子系統10,尤其是可應用於其內的記憶體裝置100和記憶體控制器110。本實施例的多個NV記憶體元件122-1、122-2...122-N可以被實現為一組快閃記憶體裸晶122(標示為「快閃裸晶」以求簡明)。如第2圖所示,控制邏輯電路114可以包含一快閃記憶體控制器114F以及一快捷非揮發性記憶體(Non-Volatile Memory Express,簡稱NVMe)控制器114N,其中,快閃記憶體控制器114F可以用記憶體操作指令來控制NV記憶體120(例如該組快閃記憶體裸晶122),且NVMe控制器114N可以依據NVMe標準來操作,以使控制邏輯電路114能夠因應NVMe指令來控制NV記憶體120(例如該組快閃記憶體裸晶122)。另外,傳輸介面電路118可被配置成符合快捷外設組件互聯(Peripheral Component Interconnect Express,簡稱PCIe)標準,因此,傳輸介面電路118的至少一部分(例如一部分或全部)可以被視為記憶體控制器110的PCIe介面電路,且主機裝置50中的一對應的傳輸介面電路可被配置成符合PCIe標準,因此,該對應的傳輸介面電路的至少一部分(例如一部分或全部)可以被視為主機裝置50的PCIe介面電路,諸如第2圖所示的主機裝置50中的根複合體(Root Complex)。另外,傳輸介面電路118內的PCIe介面電路可以包含一PCIe媒體存取控制(Media Access Control,簡稱MAC)電路118M和一PCIe實體層(physical layer,簡稱PHY)電路118P,用以分別進行針對MAC和PHY的相關操作。舉例來說,PCIe MAC電路118M可以包含一暫存器電路118R,以容許微處理器112對PCIe MAC電路118M進行相關控制,以在資料存取的期間控制資料速度調整,其中暫存器電路118R可以包含多個暫存器諸如暫存器REG1、REG2等,並且微處理器112可以分別設定暫存器REG1、REG2等的暫存器值。
主機裝置50和記憶體控制器110可被配置成經由主機裝置50和記憶體控制器110的各自的PCIe介面電路來建立PCIe連結(標示為「經由PCIe介面的PCIe連結」以求簡明)。針對主機裝置50和記憶體控制器110之間的資料傳輸,暫存器REG1可以被用於觸發速度改變,因此可以被視為一觸發速度改變暫存器(Trigger-Speed-Change Register,TSCR),並且暫存器REG2可以被用於設定一目標通信速度(例如一傳輸速率,對於PCIe介面而言,典型地以每秒十億傳輸(gigatransfers/gigatransactions per second,GT/s)為單位進行測量),因此可以視為一目標速度暫存器(Target-Speed Register,TSR)。如第2圖所示,微處理器112可以用一預定計數器值COUNT和一開始計數信號START來控制計時器119TR,並且計時器119TR可以因應開始計數信號START的觸發而開始計數並且計數直到達到預定計數器值COUNT,來為微處理器112進行時間控制。當達到預定計數器值COUNT時,計時器119TR可以發送一超時(timeout)信號TIMEOUT(例如一中斷諸如一超時中斷)以通知微處理器112已發生超時(例如已達到預定計數器值COUNT)。另外,微處理器112可以用至少一閾值THRESHOLD諸如一第一溫度閾值δH和一第二溫度閾值δL來控制熱控制單元119TC,且熱控制單元119TC可以在記憶體控制器110的一預定控制器內位置(predetermined intra-controller location)監控溫度T,將帶有溫度T的最新數值的一溫度信號TEMPERATURE發送給微處理器112,並依據第一溫度閾值δH和第二溫度閾值δL中的一或多個對溫度T進行溫度相關檢測。舉例來說,當溫度T大於第一溫度閾值δH時,熱控制單元119TC可以向微處理器112發送一中斷信號INTERRUPT(例如另一中斷),以將一第一溫度相關檢測結果(例如,溫度T沿著溫度T增加的方向的達到閾值THRESHOLD諸如第一溫度閾值δH)通知微處理器112。再舉例來說,當溫度T小於第二溫度閾值δL時,熱控制單元119TC可以將中斷信號INTERRUPT發送給微處理器112,以將一第二溫度相關檢測結果(例如,溫度T沿著溫度T減少的方 向達到閾值THRESHOLD諸如第二溫度閾值δL)通知微處理器112。
基於第2圖所示的溫度認知速度控制方案,記憶體裝置100(例如,記憶體控制器110)可以動態地調整一PCIe連結速度諸如主機裝置50和記憶體控制器110之間的PCIe連結的速度,以控制記憶體控制器110的溫度和功耗(power consumption)。
第3圖繪示依據本發明一實施例的針對第2圖所示的該溫度認知速度控制方案的計時器119TR的某些實施細節。計時器119TR可以包含至少一個暫存器(例如一或多個暫存器)諸如暫存器310,並且包含一控制單元320和一計數器330,其中控制單元320可以用邏輯電路322實現。計時器119TR可以利用暫存器310來儲存預定計數器值COUNT作為其暫存器值312(標示為「值」以求簡明)。控制單元320可以控制計時器119TR的操作。例如,控制單元320可以預設(默認)地清除暫存器310。微處理器112可以將預定計數器值COUNT寫入暫存器310,然後發送開始計數信號START。因應開始計數信號START的觸發,控制單元320可以從暫存器310取得預定計數器值COUNT、並且控制計數器330開始計數直到計數器330的計數器值達到預定計數器值COUNT。例如,預定計數器值COUNT可以對應於一預定時間差。當計數器330的計數器值達到預定計數器值COUNT時,其可以指出該預定時間差已到期,控制單元320可以發送超時信號TIMEOUT以通知微處理器112超時(例如,計數器330的計數器值達到預定計數器值COUNT)。
第4圖繪示依據本發明一實施例的針對第2圖所示的該溫度認知速度控制方案的熱控制單元119TC的某些實施細節。熱控制單元119TC可以包含被統稱為暫存器410的至少一暫存器(例如一或多個暫存器),並且進一步包含一控制單元420和一熱感測器430,其中控制單元420可以用邏輯電路422來實現。熱控制單元119TC可以利用暫存器410來儲存閾值THRESHOLD諸如第一溫度閾值δH 和第二溫度閾值δL作為其暫存器值412(標示為「值」以求簡明)。控制單元420可以控制熱控制單元119TC的操作。例如,控制單元420可以預設地清除暫存器410。微處理器112可以將閾值THRESHOLD諸如第一溫度閾值δH和第二溫度閾值δL寫入暫存器410。另外,控制單元420可以從暫存器410取得閾值THRESHOLD諸如第一溫度閾值δH和第二溫度閾值δL,取得由熱感測器430感測到的溫度T,且判定溫度T是否達到閾值THRESHOLD,尤其,判定溫度T是否達到第一溫度閾值δH和第二溫度閾值δL中的任何一個溫度閾值。舉例來說,當T>δH時,控制單元420可以將中斷信號INTERRUPT發送給微處理器112,以將該第一溫度相關檢測結果(例如溫度T達到閾值THRESHOLD諸如第一溫度閾值δH)通知微處理器112。再舉例來說,當T<δL時,控制單元420可將中斷信號INTERRUPT發送至微處理器112,以將第二溫度相關檢測結果(例如溫度T達到閾值THRESHOLD諸如第二溫度閾值δL)通知微處理器112。此外,控制單元420可以將帶有溫度T的最新數值的溫度信號TEMPERATURE發送到微處理器112,以供微處理器112讀取。由於熱控制單元119TC可以位於記憶體控制器110的該預定控制器內位置,因此微處理器112可以利用熱控制單元119TC來精確地監控該預定控制器內位置的溫度T。
舉例來說,該預定控制器內位置可以代表用於實現記憶體控制器110的一積體電路(integrated circuit,IC)的一晶片區域的一預定子區域,其中該預定子區域可以對應於傳輸介面電路118,並且溫度T可以代表傳輸介面電路118的溫度。為了更好的理解,該預定控制器內位置可以代表與傳輸介面電路118相鄰的一相鄰位置、或傳輸介面電路118內的一介面內位置(intra-interface location),但本發明不限於此。另外,第二溫度閾值δL典型地小於第一溫度閾值δH。為了更好的理解,第一溫度閾值δH可以等於在一預定正常溫度範圍之上的一預定異常溫度範圍內的多個第一預定值中的任一第一預定值,並且第二溫度閾值δL可以等於 該預定正常溫度範圍內的多個第二預定值中的任一第二預定值。舉例來說,δH=80(℃)且δL=50(℃),但本發明不限於此。在某些例子中,第一溫度閾值δH及/或第二溫度閾值δL可在有需要時予以改變。
第5圖繪示依據本發明一實施例的該資料存取方法的一減速控制方案,其中記憶體控制器110(例如,傳輸介面電路118)的功耗POWER可隨時間變化,並且可以用瓦特(Watt,W)為單位進行測量。為了更好的理解,記憶體控制器110(例如,在微處理器112的控制下)可以用各種控制方案,諸如針對微處理器112的一動態電壓和頻率縮放(Dynamic Voltage and Frequency Scaling,DVFS)控制方案、針對傳輸介面電路118的該減速控制方案等,來降低功耗POWER,尤其,可以減少/降低微處理器112的一操作頻率且減少/降低傳輸介面電路118的通信速度(例如傳輸速率),但本發明不限於此。舉例來說,記憶體控制器110可以僅減少/降低傳輸介面電路118的通信速度(例如傳輸速率),而不需要調整微處理器112的操作頻率,以確保記憶體裝置100的整個系統的穩定性。
如第5圖所示,記憶體控制器110可以依據該減速控制方案觸發主機裝置50與記憶體控制器110之間的資料傳輸的減速/降速,以從一較高速度切換為一較低速度,且相關的操作可以包含:(1)藉助於熱控制單元119TC,微處理器112檢測到溫度T達到閾值THRESHOLD,例如,T>δH;(2)微處理器112在一第一開始時間點t11從溫度信號TEMPERATURE取得一第一溫度值T11;(3)微處理器112在一第一結束時間點t12從溫度信號TEMPERATURE取得一第二溫度值T12;(4)微處理器112設定該目標速度暫存器諸如暫存器REG2,以將該目標通信速度通知傳輸介面電路118,其中微處理器112可以依據一增加量△T1(例如,一正值 諸如第二溫度值T12與第一溫度值T11之間的差(T12-T11))判定該目標通信速度,舉例來說,基於至少一第一預定規則(例如一或多個第一預定規則);以及(5)微處理器112設定該觸發速度改變暫存器諸如暫存器REG1,以使傳輸介面電路118向該根複合體發送速度改變的一請求,其中這個請求指出該目標通信速度;但本發明不限於此。在某些例子中,該減速控制方案的相關操作可在有需要時予以改變。
第6圖繪示依據本發明一實施例的第5圖所示的該減速控制方案的一工作流程。
在步驟S10中,熱控制單元119TC可以檢查溫度T是否沿著溫度T增加的方向達到閾值THRESHOLD諸如第一溫度閾值δH(例如T
Figure 110132651-A0305-02-0016-10
δH),尤其,檢查溫度T是否大於第一溫度閾值δH。若是(例如T>δH),則進入步驟S11;若否,則進入步驟S10。
在步驟S11中,當T>δH時,微處理器112可以從熱控制單元119TC接收中斷信號INTERRUPT。舉例來說,當檢測到T>δH時,熱控制單元119TC可以將中斷信號INTERRUPT發送給微處理器112。
在步驟S12中,在接收到中斷信號INTERRUPT以後,微處理器112可以讀取溫度信號TEMPERATURE以取得在第一開始時間點t11的溫度T的最新值,並將溫度T的最新值記錄成為對應於第一開始時間點t11的第一溫度值T11
在步驟S13中,微處理器112可以將預定計數器值COUNT(例如對應於一第一預定時間差的一第一預定計數器值)設定到計時器119TR中,並設定開始計數信號START以使計時器119TR(例如其內的計數器330)開始計數。
在步驟S14中,當計數器330的計數器值達到預定的計數器值COUNT時,計時器119TR可以發送超時信號TIMEOUT來通知微處理器112超時。
在步驟S15中,在接收到超時信號TIMEOUT以後,微處理器112可以讀取溫度信號TEMPERATURE以取得在第一結束時間點t12的溫度T的最新值,並將溫度T的最新值記錄成為對應於第一結束時間點t12的第二溫度值T12
在步驟S16中,微處理器112可以計算增加量△T1諸如第二溫度值T12與第一溫度值T11之間的差(T12-T11)。
在步驟S17中,基於該至少一第一預定規則,微處理器112可以依據增加量△T1判定該目標通信速度。舉例來說,在一原始通信速度(諸如較高速度)代表第4代PCIe速度(PCIe Generation(Gen)4 Speed)Gen_4_Speed(例如16GT/s)的情況下,微處理器112可以判定目標通信速度TARGET_SPEED(諸如較低速度)是一第一組預定通信速度中的一第一通信速度,例如,小於第4代PCIe速度Gen_4_Speed的第1代PCIe速度(PCIe Gen 1 Speed)Gen_1_Speed(例如2.5GT/s)、第2代PCIe速度(PCIe Gen 2 Speed)Gen_2_Speed(例如5GT/s)以及第3代PCIe速度(PCIe Gen 3 Speed)Gen_3_Speed(例如8GT/s)的其中一個,以及該至少一第一預定規則可以包含:(1)若△T11,TARGET_SPEED=Gen_1_Speed;(2)若α1>△T11,TARGET_SPEED=Gen_2_Speed;以及(3)若β1>△T11,TARGET_SPEED=Gen_3_Speed;其中α111,但本發明不限於此。在另一個例子中,可以將上列規則重寫如下:(1)若△T1
Figure 110132651-A0305-02-0017-11
α1,TARGET_SPEED=Gen_1_Speed;(2)若α1>△T1
Figure 110132651-A0305-02-0017-12
β1,TARGET_SPEED=Gen_2_Speed;以及(3)若β1>△T1
Figure 110132651-A0305-02-0017-13
γ1,TARGET_SPEED=Gen_3_Speed;其中α111>0。在某些例子中,該原始通信速度(諸如較高速度)可以代表第2代PCIe速度Gen_2_Speed、第3代PCIe速度Gen_3_Speed、第4代PCIe速度 Gen_4_Speed、第5代PCIe速度Gen_5_Speed(例如32GT/s)等當中的任一通信速度,並且目標通信速度TARGET_SPEED(諸如較低速度)可以代表小於該任一通信速度的另一組預定通信速度的其中一個預定通信速度。
在步驟S18中,微處理器112可以將與在步驟S17中所判定的目標通信速度TARGET_SPEED相對應的暫存器值設定到暫存器REG2中,以透過暫存器REG2將目標通信速度TARGET_SPEED通知傳輸介面電路118,其中暫存器REG2的這個暫存器值指出在步驟S17中所判定的目標通信速度TARGET_SPEED。
在步驟S19中,微處理器112可以將對應一觸發狀態的一暫存器值設定到暫存器REG1中,以使傳輸介面電路118向主機裝置50(例如該根複合體)發送一變速請求諸如改變速度的請求,其中這個請求指出在步驟S17中所判定的目標通信速度TARGET_SPEED。
為了更好的理解,該方法可以用第6圖所示的工作流程來說明,但本發明不限於此。依據某些實施例,可以在第6圖所示的工作流程中添加、刪除或更改一或多個步驟。
第7圖繪示依據本發明一實施例的該資料存取方法的一加速控制方案。為了更好的理解,記憶體控制器110(例如在微處理器112的控制下)可以用各種控制方案,諸如針對微處理器112的該DVFS控制方案、針對傳輸介面電路118的該加速控制方案等,來增強整體處理效能,尤其,可以增加微處理器112的操作頻率並增加傳輸介面電路118的通信速度(例如傳輸速率),其中功耗POWER將對應增加,但本發明不限於此。舉例來說,記憶體控制器110可以僅增加傳輸介面電路118的通信速度(例如,傳輸速率),而不需要調整微處理器112的操作頻率,以確保記憶體裝置100的整個系統的穩定性。
如第7圖所示,記憶體控制器110可以依據該加速控制方案觸發主機裝置50與記憶體控制器110之間的資料傳輸的加速,以從一較低的速度切換到一 較高的速度,且相關的操作可以包含:(1)藉助於熱控制單元119TC,微處理器112檢測到溫度T達到閾值THRESHOLD,例如T<δL;(2)微處理器112在一第二開始時間點t21從溫度信號TEMPERATURE取得一第一溫度值T21;(3)微處理器112在一第二結束時間點t22從溫度信號TEMPERATURE取得一第二溫度值T22;(4)微處理器112設定該目標速度暫存器諸如暫存器REG2,以將該目標通信速度通知傳輸介面電路118,其中微處理器112可以根據一減少量△T2(例如,一正值諸如第一溫度值T21與第二溫度值T22之差(T21-T22),或者若用T22減去T21來計算的另一個差值(T22-T21)的絕對值|(T22-T21)|)判定該目標通信速度,舉例來說,基於至少一第二預定規則(例如一或多個第二預定規則);以及(5)微處理器112設定該觸發速度改變暫存器諸如暫存器REG1,以使傳輸介面電路118向該根複合體發送速度改變的一請求,其中這個請求指出該目標通信速度;但本發明不限於此,在某些例子中,該加速控制方案的相關操作可在有需要時予以改變。
第8圖繪示依據本發明一實施例的第7圖所示的該加速控制方案的一工作流程。
在步驟S20中,熱控制單元119TC可以檢查溫度T是否沿著溫度T減少的方向達到閾值THRESHOLD諸如第二溫度閾值δL(例如T
Figure 110132651-A0305-02-0019-14
δL),尤其,檢查溫度T是否小於第二溫度閾值δL。若是(例如T<δL),則進入步驟S21;若否,則進入步驟S20。
在步驟S21中,當T<δL時,微處理器112可以從熱控制單元119TC接 收中斷信號INTERRUPT。舉例來說,當檢測到T<δL時,熱控制單元119TC可以將中斷信號INTERRUPT發送至微處理器112。
在步驟S22中,在接收到中斷信號INTERRUPT以後,微處理器112可以讀取溫度信號TEMPERATURE以取得在第二開始時間點t21的溫度T的最新值,並且將溫度T的最新值記錄成為對應於第二開始時間點t21的第一溫度值T21
在步驟S23中,微處理器112可以將預定計數器值COUNT(例如對應於一第二預定時間差的一第二預定計數器值)設定到計時器119TR中,並設定開始計數信號START以使計時器119TR(例如其內的計數器330)開始計數。舉例來說,該第二預定計數值可以與該第一預定計數值相同,並且該第二預定時間差可以與該第一預定時間差相同。對另一例子來說,該第二預定計數器值可以與該第一預定計數器值不同,並且該第二預定時間差可以與該第一預定時間差不同。
在步驟S24中,當計數器330的計數器值達到預定計數器值COUNT時,計時器119TR可以發送超時信號TIMEOUT來通知微處理器112超時。
在步驟S25中,在接收到超時信號TIMEOUT以後,微處理器112可以讀取溫度信號TEMPERATURE以取得在第二結束時間點t22的溫度T的最新值,並將溫度T的最新值記錄成為對應於第二結束時間點t22的第二溫度值T22
在步驟S26中,微處理器112可以計算減少量△T2諸如第一溫度值T21與第二溫度值T22之間的差(T21-T22)。
在步驟S27中,基於該至少一第二預定規則,微處理器112可以根據減少量△T2以判定該目標通信速度。舉例來說,在該第一通信速度(諸如較低速度)代表第1代PCIe速度Gen_1_Speed的情況下,微處理器112可以判定目標通信速度TARGET_SPEED(諸如較高速度)是一第二組預定通信速度中的一第二通信速度,例如,大於第1代PCIe速度Gen_1_Speed的第4代PCIe速度Gen_4_Speed、第3 代PCIe速度Gen_3_Speed以及第2代PCIe速度Gen_2_Speed的其中一個,以及該至少一第二預定規則可以包含:(1)若△T22,TARGET_SPEED=Gen_4_Speed;(2)若α2>△T22,TARGET_SPEED=Gen_3_Speed;以及(3)若β2>△T22,TARGET_SPEED=Gen_2_Speed;其中α222,但本發明不限於此。在另一個例子中,可以將上列規則重寫為:(1)若△T2
Figure 110132651-A0305-02-0021-15
α2,TARGET_SPEED=Gen_4_Speed;(2)若α2>△T2
Figure 110132651-A0305-02-0021-16
β2,TARGET_SPEED=Gen_3_Speed;以及(3)若β2>△T2
Figure 110132651-A0305-02-0021-18
γ2,TARGET_SPEED=Gen_2_Speed;其中α222>0。在某些例子中,該第一通信速度(諸如較低速度)可代表第1代PCIe速度Gen_1_Speed、第2代PCIe速度Gen_2_Speed、第3代PCIe速度Gen_3_Speed、第4代PCIe速度Gen_4_Speed、第5代PCIe速度Gen_5_Speed等當中的任一通信速度,除了最高的可用通信速度(例如第6代PCIe速度Gen_6_Speed諸如64GT/s),且目標通信速度TARGET_SPEED(諸如更高的速度)可代表大於該任一通信速度的另一組預定通信速度的其中一個通信速度。
在步驟S28中,微處理器112可以將對應步驟S27中所判定的目標通信速度TARGET_SPEED的一暫存器值設定到暫存器REG2中,以透過暫存器REG2將目標通信速度TARGET_SPEED通知傳輸介面電路118,其中暫存器REG2的這個暫存器值指出在步驟S27中所判定的目標通信速度TARGET_SPEED。
在步驟S29中,微處理器112可以將對應該觸發狀態的該暫存器值設定到暫存器REG1中,以使傳輸介面電路118向主機裝置50(例如該根複合體)發送一變速請求諸如改變速度的請求,其中這個請求指出在步驟S27中所判定的目標通信速度TARGET_SPEED。
為了更好的理解,該方法可以用第8圖所示的工作流程來說明,但本 發明不限於此。依據某些實施例,可以在第8圖所示的工作流程中添加、刪除或更改一或多個步驟。
第9圖是依據本發明一實施例的藉助於該熱控制單元以使用動態速度調整的該資料存取方法的流程圖。舉例來說,步驟S30和S31的操作可以在一預設速度階段PHASE(0)中進行,步驟S40~S42的操作可以在一減速階段PHASE(1)中進行,而步驟S50~S52的操作可以在一加速階段PHASE(2)中進行。
在步驟S30中,記憶體控制器110可以利用熱控制單元119TC開始監控記憶體控制器110的該預定控制器內位置的溫度T。
在步驟S31中,因應來自主機裝置50的至少一個存取請求(例如一或多個存取請求,諸如一或多個讀取請求及/或一或多個寫入請求),記憶體控制器110可以控制傳輸介面電路118以一預設通信速度(例如,在所有多代PCIe速度諸如第1代PCIe速度Gen_1_Speed、第2代PCIe速度Gen_2_Speed、第3代PCIe速度Gen_3_Speed、第4代PCIe速度Gen_4_Speed等當中的可用的最高通信速度)進行主機裝置50與記憶體控制器110之間的資料傳輸,以於NV記憶體120中存取(例如讀取或寫入)資料,但本發明不限於此。舉例來說,因應上述至少一存取請求,記憶體控制器110可以在一或多個後續階段中繼續存取NV記憶體120,尤其,控制傳輸介面電路118在減速階段PHASE(1)和加速階段PHASE(2)中的一或多個階段中以一或多個其他通信速度(例如,在所有多代PCIe速度諸如第1代PCIe速度Gen_1_Speed、第2代PCIe速度Gen_2_Speed、第3代PCIe速度Gen_3_Speed、第4代PCIe速度Gen_4_Speed等當中的剩餘的通信速度中的一或多個通信速度)在主機裝置50和記憶體控制器110之間進行資料傳輸,以在NV記憶體120中存取資料。
在步驟S40中,因應溫度T大於第一溫度閾值δH,記憶體控制器110可以檢測在一第一開始時間點t11與一第一結束時間點t12之間的溫度T的一增加量△T1,其中從第一開始時間點t11到第一結束時間點t12的一第一時期△t1可被配置 成對應於該第一預定時間差。舉例來說,記憶體控制器110可以藉助於計時器119TR,正確地控制第一時期△t1,以使第一時期△t1等於該第一預定時間差。
在步驟S41中,基於上述至少一第一預定規則,記憶體控制器110可以根據增加量△T1判定一第一通信速度(例如,該減速控制方案的較低速度)。
在步驟S42中,記憶體控制器110可以控制傳輸介面電路118從一原始通信速度(例如,該減速控制方案的較高速度,諸如該預設通信速度、或第9圖所示迴圈的一先前重複(previous iteration)中的加速階段PHASE(2)的一先前增加的通信速度(previously increased communications speed))切換到第一通信速度,以供以第一通信速度在主機裝置50和記憶體控制器110之間進行資料傳輸。
在步驟S50中,因應溫度T小於第二溫度閾值δL,記憶體控制器110可以檢測在一第二開始時間點t21與一第二結束時間點t22之間的溫度T的一減少量△T2,其中從第二開始時間點t21到第二結束時間點t22的一第二時期△t2可被配置成對應於該第二預定時間差。舉例來說,記憶體控制器110可以藉助於計時器119TR,正確地控制第二時期△t2,以使第二時期△t2等於該第二預定時間差。
在步驟S51中,基於上述至少一第二預定規則,記憶體控制器110可以依據減少量△T2判定一第二通信速度(例如,該加速控制方案的較高速度)。
在步驟S52中,記憶體控制器110可以控制傳輸介面電路118從該第一通信速度(例如,該加速控制方案的較低速度)切換到該第二通信速度,以供以該第二通信速度在主機裝置50和記憶體控制器110之間進行資料傳輸,其中該第一通信速度可以代表在減速階段PHASE(1)中剛剛使用的一降低的通信速度。
針對減速階段PHASE(1),上述至少一第一預定規則可以被配置以將增加量△T1的一第一組可能範圍分別映射到一第一組預定通信速度(例如,一組候選通信速度,可供選擇其任一者作為目標通信速度TARGET_SPEED諸如該減速控制方案的較低速度)。該第一組可能範圍可以對應於區間(γ11)、(β11)以及(α1, ∞)的各自的範圍,尤其,包含這些區間的各自的範圍的變化的版本(例如半開(half-open)及/或封閉(closed)版本)及/或非變化的版本,其中值α1、β1以及γ1中的每一個值可以加到這些區間的一關聯區間中,作為該關聯區間的一端點(endpoint)。舉例來說,該第一組可能範圍可以包含區間[γ11)、[β11)以及[α1,∞)的各自的範圍。對於另一例子來說,該第一組可能範圍可以包含區間[γ11]、(β11)和[α1,∞)的各自的範圍。在步驟S41中,因應增加量△T1落在增加量△T1的該第一組可能範圍中的一可能範圍內,記憶體控制器110可以從該第一組預定通信速度選擇與該可能範圍相對應的一預定通信速度。例如,上述至少一第一預定規則可以包含該第一組可能範圍與該第一組預定通信速度之間的多個映射關係。
針對加速階段PHASE(2),前述至少一第二預定規則可以被配置以將減少量△T2的一第二組可能範圍分別映射到一第二組預定通信速度(例如,一組候選通信速度,可供選擇其任一者做為目標通信速度TARGET_SPEED,諸如該加速控制方案中的較高速度)。該第二組可能範圍可以對應於區間(γ22)、(β22)以及(α2,∞)的各自的範圍,尤其,包含這些區間的各自的範圍的變化的版本(例如半開(half-open)及/或封閉(closed)版本)及/或非變化的版本,其中值α2、β2以及γ2中的每一個值可以加到這些區間的一關聯區間中,作為該關聯區間的一端點。舉例來說,該第二組可能範圍可以包含區間[γ22)、[β22)以及[α2,∞)的各自的範圍。對於另一個例子來說,該第二組可能範圍可以包含區間[γ22]、(β22)以及[α2,∞]的各自的範圍。在步驟S51中,因應減少量△T2落在減少量△T2的該第二組可能範圍中的一可能範圍內,記憶體控制器110可以從該第二組預定通信速度選擇與該可能範圍相對應的一預定通信速度。舉例來說,上述至少一第二預定規則可以包含該第二組可能範圍與該第二組預定通信速度之間的多個映射關係。為了簡明起見,於本實施例中類似的內容在此不重複贅述。
為了更好的理解,該方法可以用第9圖所示的工作流程來說明,但本 發明不限於此。根據某些實施例,可以在第9圖所示的工作流程中添加、刪除或改變一或多個步驟。舉例來說,包含步驟S40~S42的一第一局部(partial)工作流程是可以重複的(例如藉由多次執行步驟S40~S42)以在減速階段PHASE(1)中多次減速,而包含步驟S50-S52的一第二局部工作流程是可以重複的(例如藉由多次執行步驟S50~S52),以在加速階段PHASE(2)中多次加速。
根據某些實施例,因應至少一額外的存取請求(例如一或多個額外的存取請求,諸如一或多個額外的讀取請求及/或一或多個額外的寫入請求),記憶體控制器110可以控制傳輸介面電路118在減速階段PHASE(1)和加速階段PHASE(2)中的任一階段以所有可用的通信速度中的任何一個通信速度(例如,在所有多代PCIe速度諸如第1代PCIe速度Gen_1_Speed、第2代PCIe速度Gen_2_Speed、第3代PCIe速度Gen_3_Speed、第4代PCIe速度Gen_4_Speed等當中的任一通信速度)來進行主機裝置50和記憶體控制器110之間的資料傳輸,以於NV記憶體120中存取資料。為了簡明起見,於這些實施例中類似的內容在此不重複贅述。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
10:電子系統
50:主機裝置
52:處理器
54:電源供應電路
100:記憶體裝置
110:記憶體控制器
112:微處理器
112M:唯讀記憶體(ROM)
112C:程式代碼
114:控制邏輯電路
115:錯誤更正碼(ECC)電路
116:隨機存取記憶體(RAM)
118:傳輸介面電路
119:記憶體裝置保護(MDP)電路
119TR:計時器
119TC:熱控制單元
120:非揮發性(NV)記憶體
122-1,122-2~122-N:非揮發性(NV)記憶體元件

Claims (10)

  1. 一種藉助於一熱控制單元以使用動態速度調整的資料存取方法,該資料存取方法是可應用於(applicable to)一記憶體裝置的一記憶體控制器,該記憶體裝置包含該記憶體控制器和一非揮發性(non-volatile,NV)記憶體,該非揮發性記憶體包含至少一非揮發性記憶體元件,該資料存取方法包含:利用該記憶體控制器內的該熱控制單元在該記憶體控制器的一預定控制器內位置開始監控溫度;因應來自一主機裝置的至少一存取請求,控制該記憶體控制器的一傳輸介面電路以一原始通信速度在該主機裝置與該記憶體控制器之間進行資料傳輸,以於該非揮發性記憶體中存取資料;因應於該溫度大於一第一溫度閾值,在一第一開始時間點和一第一結束時間點之間檢測該溫度的一增加量,其中從該第一開始時間點到該第一結束時間點的一第一時期對應於一第一預定時間差;基於至少一第一預定規則,依據該增加量以判定一第一通信速度,其中該增加量相對於該第一預定時間差指出該溫度之溫度相對於時間的變化量,以供作為判定該第一通信速度之參考;以及控制該傳輸介面電路從該原始通信速度切換至該第一通信速度,以供以該第一通信速度在該主機裝置與該記憶體控制器之間進行資料傳輸。
  2. 如申請專利範圍第1項所述之資料存取方法,其中該至少一第一預定規則是用來將該增加量的一第一組可能範圍分別映射到一第一組預定通信速度。
  3. 如申請專利範圍第1項所述之資料存取方法,其中依據該增加量以判定該第一通信速度更包含:因應該增加量落入該增加量的一第一組可能範圍中的一可能範圍內,從一第一組預定通信速度中選擇與該可能範圍對應的一預定通信速度,其中,該至少一第一預定規則包含該第一組可能範圍與該第一組預定通信速度之間的映射關係。
  4. 如申請專利範圍第1項所述之資料存取方法,更包含:因應溫度小於一第二溫度閾值,在一第二開始時間點和一第二結束時間點之間檢測該溫度的一減少量,其中從該第二開始時間點到該第二結束時間點的一第二時期對應於一第二預定時間差;基於至少一第二預定規則,依據該減少量判定一第二通信速度;以及控制該傳輸介面電路從該第一通信速度切換至該第二通信速度,以供以該第二通信速度在該主機裝置與該記憶體控制器之間進行資料傳輸。
  5. 如申請專利範圍第4項所述之資料存取方法,其中該至少一第二預定規則是用來分別將該減少量的一第二組可能範圍映射到一第二組預定通信速度。
  6. 如申請專利範圍第4項所述之資料存取方法,其中依據該減少量以判定該第二通信速度更包含:因應該減少量落入該減少量的一第二組可能範圍中的一可能範圍內,從一第二組預定通信速度中選擇與該可能範圍對應的一預定通信速度,其中,該至少一第二預定規則包含該第二組可能範圍與該第二組預定通信速 度之間的映射關係。
  7. 如申請專利範圍第4項所述之資料存取方法,其中該第二溫度閾值小於該第一溫度閾值。
  8. 如申請專利範圍第1項所述之資料存取方法,其中該預定控制器內位置代表一積體電路(Integrated Circuit,IC)的一晶片區域的一預定子區域以供實施該記憶體控制器,其中該預定子區域對應於該傳輸介面電路,且該溫度是該傳輸介面電路的溫度。
  9. 一種用於一記憶體裝置的記憶體控制器,該記憶體裝置包含該記憶體控制器以及一非揮發性(non-volatile,NV)記憶體,該非揮發性記憶體包含至少一非揮發性記憶體元件,該記憶體控制器包含:一處理電路,用來依據來自一主機裝置的複數個主機指令控制該記憶體控制器,以容許該主機裝置透過該記憶體控制器存取該非揮發性記憶體;一傳輸介面電路,耦接至該處理電路,用來與該主機裝置進行通信;以及一記憶體裝置保護電路,耦接至該處理電路,用以對該記憶體裝置進行記憶體裝置保護,其中該記憶體裝置保護電路包含:一熱控制單元,用來進行熱控制,以在資料存取的期間觸發動態速度調整;其中:該記憶體控制器利用該熱控制單元在該記憶體控制器的一預定控制器內位置開始監控溫度;因應來自該主機裝置的至少一存取請求,該記憶體控制器控制該傳輸介面電 路以一原始通信速度在該主機裝置與該記憶體控制器之間進行資料傳輸,以於該非揮發性記憶體中存取資料;因應於該溫度大於一第一溫度閾值,該記憶體控制器在一第一開始時間點和一第一結束時間點之間檢測該溫度的一增加量,其中從該第一開始時間點到該第一結束時間點的一第一時期對應於一第一預定時間差;基於至少一第一預定規則,該記憶體控制器依據該增加量以判定一第一通信速度,其中該增加量相對於該第一預定時間差指出該溫度之溫度相對於時間的變化量,以供作為判定該第一通信速度之參考;以及該記憶體控制器控制該傳輸介面電路從該原始通信速度切換至該第一通信速度,以供以該第一通信速度在該主機裝置與該記憶體控制器之間進行資料傳輸。
  10. 一種包含如申請專利範圍第9項所述之該記憶體控制器的該記憶體裝置,其中該非揮發性記憶體是被配置以儲存信息;以及該記憶體控制器是耦接至該非揮發性記憶體,且被配置以控制該記憶體裝置的操作。
TW110132651A 2021-01-14 2021-09-02 藉助於熱控制單元以使用動態速度調整的資料存取方法以及相關設備 TWI798806B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/149,663 US11687432B2 (en) 2021-01-14 2021-01-14 Data accessing method using dynamic speed adjustment with aid of thermal control unit, and associated apparatus
US17/149,663 2021-01-14

Publications (2)

Publication Number Publication Date
TW202228127A TW202228127A (zh) 2022-07-16
TWI798806B true TWI798806B (zh) 2023-04-11

Family

ID=82323063

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110132651A TWI798806B (zh) 2021-01-14 2021-09-02 藉助於熱控制單元以使用動態速度調整的資料存取方法以及相關設備

Country Status (3)

Country Link
US (1) US11687432B2 (zh)
CN (1) CN114764308A (zh)
TW (1) TWI798806B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12001711B2 (en) * 2021-07-27 2024-06-04 Western Digital Technologies, Inc. Determine link startup sequence (LSS) type using reference clock frequency and attribute
CN114706529A (zh) * 2022-04-08 2022-07-05 合肥兆芯电子有限公司 存储器自适应温控方法、存储装置及控制电路单元

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010014049A1 (en) * 1998-07-16 2001-08-16 Steven C. Woo Apparatus and method for thermal regulation in memory subsystems
US20040267409A1 (en) * 2003-06-25 2004-12-30 De Lorenzo David S Method and apparatus for memory bandwidth thermal budgetting
US20060002218A1 (en) * 2004-06-30 2006-01-05 Jain Sandeep K Method and apparatus to implement a temperature control mechanism on a memory device
TW200802400A (en) * 2006-02-16 2008-01-01 Intel Corp Thermal management using an on-die thermal sensor
TW200917269A (en) * 2007-10-09 2009-04-16 A Data Technology Co Ltd Solid state semiconductor storage device with temperature control function
US20090190427A1 (en) * 2008-01-24 2009-07-30 Brittain Mark A System to Enable a Memory Hub Device to Manage Thermal Conditions at a Memory Device Level Transparent to a Memory Controller
US20120331207A1 (en) * 2011-06-24 2012-12-27 Lassa Paul A Controller, Storage Device, and Method for Power Throttling Memory Operations
US8438358B1 (en) * 2009-12-16 2013-05-07 Applied Micro Circuits Corporation System-on-chip with memory speed control core
US20140112370A1 (en) * 2004-05-24 2014-04-24 Pochang Hsu Throttling memory in response to an internal temperature of a memory device
TW201719643A (zh) * 2015-08-04 2017-06-01 高通公司 用於熱電記憶體溫度控制之系統及方法
US20180350410A1 (en) * 2017-06-05 2018-12-06 Dell Products L.P. Systems and methods for power and thermal throttling of memory devices via capacity reduction
US20200293438A1 (en) * 2013-03-15 2020-09-17 Micron Technology, Inc. Systems and methods for memory system management
WO2020263315A1 (en) * 2019-06-28 2020-12-30 Western Digital Technologies, Inc. Integrated power and thermal management in non-volatile storage

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6564288B2 (en) * 2000-11-30 2003-05-13 Hewlett-Packard Company Memory controller with temperature sensors

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010014049A1 (en) * 1998-07-16 2001-08-16 Steven C. Woo Apparatus and method for thermal regulation in memory subsystems
US20040267409A1 (en) * 2003-06-25 2004-12-30 De Lorenzo David S Method and apparatus for memory bandwidth thermal budgetting
US20140112370A1 (en) * 2004-05-24 2014-04-24 Pochang Hsu Throttling memory in response to an internal temperature of a memory device
US20060002218A1 (en) * 2004-06-30 2006-01-05 Jain Sandeep K Method and apparatus to implement a temperature control mechanism on a memory device
TW200802400A (en) * 2006-02-16 2008-01-01 Intel Corp Thermal management using an on-die thermal sensor
TW200917269A (en) * 2007-10-09 2009-04-16 A Data Technology Co Ltd Solid state semiconductor storage device with temperature control function
US20090190427A1 (en) * 2008-01-24 2009-07-30 Brittain Mark A System to Enable a Memory Hub Device to Manage Thermal Conditions at a Memory Device Level Transparent to a Memory Controller
US8438358B1 (en) * 2009-12-16 2013-05-07 Applied Micro Circuits Corporation System-on-chip with memory speed control core
US20120331207A1 (en) * 2011-06-24 2012-12-27 Lassa Paul A Controller, Storage Device, and Method for Power Throttling Memory Operations
US20200293438A1 (en) * 2013-03-15 2020-09-17 Micron Technology, Inc. Systems and methods for memory system management
TW201719643A (zh) * 2015-08-04 2017-06-01 高通公司 用於熱電記憶體溫度控制之系統及方法
US20180350410A1 (en) * 2017-06-05 2018-12-06 Dell Products L.P. Systems and methods for power and thermal throttling of memory devices via capacity reduction
WO2020263315A1 (en) * 2019-06-28 2020-12-30 Western Digital Technologies, Inc. Integrated power and thermal management in non-volatile storage

Also Published As

Publication number Publication date
US11687432B2 (en) 2023-06-27
CN114764308A (zh) 2022-07-19
TW202228127A (zh) 2022-07-16
US20220222160A1 (en) 2022-07-14

Similar Documents

Publication Publication Date Title
US11216323B2 (en) Solid state memory system with low power error correction mechanism and method of operation thereof
US9916087B2 (en) Method and system for throttling bandwidth based on temperature
KR101923284B1 (ko) 온도 기반 플래시 메모리 시스템 유지보수
TWI735918B (zh) 用來進行記憶裝置的存取管理之方法、記憶裝置及其控制器、主裝置以及電子裝置
US9355929B2 (en) Data storage based upon temperature considerations
TWI428739B (zh) 記憶卡之壽命終點恢復及尺寸重整
US10241701B2 (en) Solid state memory system with power management mechanism and method of operation thereof
US9880605B2 (en) Method and system for throttling power consumption
TWI798806B (zh) 藉助於熱控制單元以使用動態速度調整的資料存取方法以及相關設備
KR102671743B1 (ko) 메모리 시스템 및 메모리 시스템의 동작방법
TW201944418A (zh) 用來在記憶裝置中進行電源管理的方法、記憶裝置及其控制器、以及電子裝置
US11069398B2 (en) Controller and operating method thereof
KR20210006121A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
TWI748410B (zh) 用來針對非揮發性記憶體進行區塊管理的方法以及設備
TW201923760A (zh) 用來於一記憶裝置中進行刷新管理之方法以及記憶裝置及其控制器
TWI738235B (zh) 用來進行恢復管理的方法以及記憶裝置及其控制器以及電子裝置
US11899974B2 (en) Method and apparatus for performing automatic setting control of memory device in predetermined communications architecture with aid of auxiliary setting management
TWI824843B (zh) 記憶裝置的控制方法與相關的快閃記憶體控制器與記憶裝置
CN117636967B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
TW202418092A (zh) 資料儲存裝置與寫入緩存器管理方法
TW202418090A (zh) 資料儲存裝置與寫入緩存器管理方法
TW202344969A (zh) 基於寫入行為預測的寫入控制方法、記憶體儲存裝置及記憶體控制電路單元
CN114664337A (zh) 调整闪速存储器设备的写窗口大小的方法和装置