TW201717027A - 用於具有適應性預取之快閃記憶體讀取快取之系統及方法 - Google Patents

用於具有適應性預取之快閃記憶體讀取快取之系統及方法 Download PDF

Info

Publication number
TW201717027A
TW201717027A TW105133734A TW105133734A TW201717027A TW 201717027 A TW201717027 A TW 201717027A TW 105133734 A TW105133734 A TW 105133734A TW 105133734 A TW105133734 A TW 105133734A TW 201717027 A TW201717027 A TW 201717027A
Authority
TW
Taiwan
Prior art keywords
cache
flash memory
memory
value
data
Prior art date
Application number
TW105133734A
Other languages
English (en)
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 TW201717027A publication Critical patent/TW201717027A/zh

Links

Classifications

    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • 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/60Details of cache memory
    • G06F2212/6026Prefetching based on access pattern detection, e.g. stride based prefetch
    • 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/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks

Abstract

本發明提供在一攜帶型計算器件中獲得經改良快閃記憶體效能的系統及方法。在一方法中,判定對應於將自該快閃記憶體檢索之預取資料的一N值。在與一快取記憶體通信之一快取控制器處接收針對一快閃記憶體的一存取請求。判定針對該快閃記憶體之該存取請求是否對應於儲存於該快取記憶體中之一部分資料。若針對該快閃記憶體之該存取請求對應於該部分資料,則回應於該存取請求而返回該部分資料。另外,自該快閃記憶體檢索預取資料之一N量且將其儲存於該快取記憶體中。基於該快取記憶體之一快取命中百分比增大該N值。

Description

用於具有適應性預取之快閃記憶體讀取快取之系統及方法
具有經由多種通信媒體(包括無線信號)與其他器件通信之處理器的行動器件係普遍存在的。包括攜帶型計算器件(PCD)之行動器件可用於經由無線、類比、數位及其他方式與多種其他器件通信。此等行動器件可包括行動蜂巢式電話、攜帶型數位助理(PDA)、攜帶型遊戲控制台、掌上型電腦、膝上型電腦或平板電腦、可穿戴器件及其他攜帶型電子器件。除主要功能以外,PCD亦可用於下載及玩遊戲;下載及播放音樂;下載及觀看視訊;全球定位系統(GPS)導航、網頁瀏覽以及運行各種應用。 為容納增加的功能,現代PCD通常包括增大量之記憶體,包括諸如NAND快閃記憶體之非揮發性記憶體,該等NAND快閃記憶體可與PCD之主要動態隨機存取記憶體(DRAM)結合使用,包括使用快閃記憶體作為虛擬記憶體以加強PCD之DRAM。然而,自此類快閃記憶體讀取及寫入可能比在PCD上之其他記憶體讀取及寫入更耗時,尤其係在實施諸如嵌入式多媒體卡(eMMC)快閃記憶體之低成本快閃記憶體之PCD中。 因此,需要改良PCD中之此類快閃記憶體之效能之系統及方法。
揭示藉由在攜帶型計算器件(PCD)中實施具有適應性預取之快閃記憶體讀取快取來提供經改良快閃記憶體效能的系統及方法。在操作中,例示性方法判定對應於將自快閃記憶體檢索之預取資料之量的N值經判定。在與快取記憶體通信之快取控制器處接收針對快閃記憶體的存取請求。接著判定針對快閃記憶體之存取請求是否對應於儲存於快取記憶體中之一部分資料。若針對快閃記憶體之存取請求對應於該部分資料,則回應於存取請求而返回該部分資料。另外,自該快閃記憶體檢索預取資料之一N量且將其儲存於該快取記憶體中。基於快取記憶體之快取命中百分比增大N值。 另一實施例實例為用於攜帶型計算器件(PCD)中之晶片上系統(SoC)的電腦系統,該系統包含:SoC之快取控制器、與快取控制器通信之快取記憶體及與快取控制器通信之快閃記憶體。快取控制器經組態以:判定對應於將自快閃記憶體檢索之預取資料之量的N值;自SoC之另一組件接收針對快閃記憶體之存取請求;判定針對快閃記憶體之存取請求是否對應於儲存於快取記憶體中之一部分資料;若針對快閃記憶體之存取請求對應於儲存於快取記憶體中之部分資料,則回應於存取快閃記憶體之請求而返回儲存於快取記憶體中之該部分資料;若針對快閃記憶體之存取請求不對應於儲存於快取記憶體中之該部分資料,則自快閃記憶體檢索預取資料之N量且將其儲存在快取記憶體中;及基於針對快取記憶體之快取命中百分比增大N值。
字組「例示性」在本文中用以意謂「充當實例、例項或說明」。在本文中描述為「例示性」之任何態樣並非必需理解為比其他態樣更佳或更有利。 在此說明書中,術語「申請案」亦可包括具有可執行內容之檔案,該等檔案諸如:目標程式碼、指令碼、位元組程式碼、標示語言檔案及修補程式。另外,本文所提及「申請案」亦可包括在本質上並不可執行的檔案,該等檔案諸如可能需要待打開之文檔或需要待存取之其他資料檔案。 術語「內容」亦可包括具有可執行內容之檔案,諸如:目標程式碼、指令碼、位元組程式碼、標示語言檔案及修補程式。另外,本文中所提及之「內容」亦可包括在本質上不可執行之檔案,諸如可能需要打開的文件或需要存取的其他資料檔案或資料值。 如在此說明書所使用,術語「組件」、「資料庫」、「模組」、「系統」及其類似者意欲指代電腦相關實體,其為硬體、韌體、硬體與軟體之組合、軟體或執行中之軟體。舉例而言,組件可為(但不限於)在處理器上執行之程序、處理器、物件、可執行體、執行緒、程式及/或電腦。藉助於說明,在計算器件上運行之應用及計算器件兩者均可為組件。一或多個組件可駐留於程序及/或執行緒內,且組件可定位在一個電腦上及/或分佈於兩個或更多個電腦之間。另外,此等組件可自其上儲存有各種資料結構之各種電腦可讀媒體執行。該等組件可藉助於諸如根據具有一或多個資料封包的信號(例如,來自藉助於信號與本端系統、分佈式系統及/或跨越諸如具有其他系統之網際網路之網路中之另一組件交互的一個組件的資料)之本端及/或遠端程序而通信。 在此說明書中,術語「攜帶型計算器件」(「PCD」)用於描述在有限容量可再充電電源(諸如,電池及/或電容器)上操作的任何器件。儘管具有可再充電電源的PCD已使用了數十年,但伴隨著第三代(3G)及第四代(4G)無線技術之出現的可再充電電池的技術進步,已允許實現具有多種性能之眾多PCD。因此,PCD可為蜂巢式電話、衛星電話、尋呼機、PDA、智慧型電話、導航器件、智能本或讀取器、媒體播放器、前述器件之組合、具有無線連接之膝上型電腦或平板電腦及其他。 在此說明書中,術語「中央處理單元(「CPU」)」、「數位信號處理器(「DSP」)」、「圖形處理單元(「GPU」)」、「晶片」、「視訊編解碼器」、「系統匯流排」、「影像處理器」及「媒體顯示處理器(「MDP」)」係可實施於SoC上之處理組件的非限制性實例。除非另外指示,否則此等用於處理組件的術語可互換使用。此外,如下文所論述,上文或其等效物中之任一者可實施於在本文中通常稱作「核心」及/或「子核心」之一或多個相異處理組件中,或由該一或多個相異處理組件組成。 在此說明書中,術語「工作負荷」、「處理負荷」、「處理工作負荷」及「圖形工作負荷」可互換地使用,且大體上涉及相關聯於或可指派給給定實施例中之給定處理組件的處理負擔,或處理負擔之百分比。另外,相關術語「訊框」、「程式碼塊」及「程式碼之塊」可互換地使用以指給定工作負荷之部分或區段進一步關於上文所定義之內容,「處理組件」或類似者可為(但不限於):中央處理單元、圖形處理單元、核心、主核心、子核心、處理區、硬體引擎等,或存在於攜帶型計算器件內之積體電路內或該積體電路外部的任何組件。 一般熟習此項技術者將認識到,術語「MIPS」表示處理器能夠以給定功率頻率每秒處理的百萬指令之數目。在此說明書中,該術語用作一般量測單位以指示例示性實施例中之處理器效能的相對位準,且其將不視為表明落入本發明之範疇內的任何給定實施例必須或必須不包括具有任何特定Dhrystone等級或處理容量的處理器。另外,如一般熟習此項技術者將理解,處理器之MIPS設定與供應至處理器之功率、頻率或操作頻率直接相關。 本系統及方法提供一種具成本效益的方法以改良PCD中之或連接至PCD之快閃記憶體的效能。在實施例中,快取控制器與PCD之處理器/核心/CPU通信且與PCD之快取通信。此實施例之快取控制器獨立地操作處理器/核心/CPU,並實施自快閃記憶體之資訊之適應性預取,基於快取命中比率或百分比來增大或減小預取並儲存於快取中之資訊量。 本文所述之系統或該系統之部分可視需要實施於硬體或軟體中。若實施於硬體器件中,則該等器件可包括以下技術(均為此項技術中熟知之技術)之任一者或其組合:離散電子組件、積體電路、具有恰當地組態之半導體器件及電阻式元件之特殊應用積體電路等等。此等硬體器件中之任一者(無論單獨作用或與與其他器件或諸如記憶體之其他組件作用)亦可形成或包含用於執行所揭示方法之各種操作或步驟的組件或構件。 當本文所述之系統實施或部分地實施於軟體中時,軟體部分可用以執行本文中所描述之方法之各種步驟。在表示各種元件中所使用之軟體及資料可儲存於記憶體中且由合適指令執行系統(微處理器)執行。該軟體可包含用於實施邏輯功能之可執行指令的有序清單,且其可實施於供指令執行系統、裝置或器件(諸如單核心或多核心處理器或含處理器之系統)使用或與之結合使用的任何「處理器可讀媒體」中。此類系統將通常自指令執行系統、裝置或器件存取指令並執行指令。 圖1為可實施本文中所描述之系統及方法的PCD 100之例示性非限制性態樣的方塊圖。圖1中所說明之PCD 100呈能夠與一或多個無線通信系統通信的無線電話形式。此類無線通信系統可為寬頻無線通信系統,其包括長期演進(LTE)系統、分碼多重存取(CDMA)系統、分頻多重存取(FDMA)系統、全球行動通信系統(GSM)系統、無線區域網路(WLAN)系統、一些其他無線系統,或此等中之任意者的組合。CDMA系統可實施寬頻CDMA (WCDMA)、CDMA 1X、演進資料最佳化(EVDO)、時分同步CDMA (TD-SCDMA),或一些其他版本之CDMA。 如所展示,PCD 100包括晶上系統(或SoC) 102,該晶上系統包括耦接至類比信號處理器128之多核心中央處理單元(CPU) 110。如一般熟習此項技術者所理解,CPU 110可包含第零核心120、第一核心122、第二核心124及第N核心126。另外,如一般熟習此項技術者所理解,代替CPU 110,亦可採用數位信號處理器(DSP)。此外,如在異質多核心處理器之技術中所理解,核心120、122、124、126中之每一者可具有不同架構,可以不同效率處理工作負荷,可在操作時消耗不同電量等。核心120、122、124、126中之每一者可控制PCD 100之一或多個功能。舉例而言,第零核心120可為用於控制PCD 100中之圖形的圖形處理單元(「GPU」)。此類GPU/第零核心120可進一步包括驅動器、一或多個快取及/或控制PCD 100中之圖形(包括控制GPU核心120與記憶體112之間的通信(包括緩衝))所必需的其他組件。對於另一實例,不同核心(諸如第N核心126)可運行PCD作業系統,該PCD作業系統可為高層級作業系統(HLOS)。此類第N/HLOS核心126可進一步包括驅動器、一或多個快取、硬體介面及/或運行HLOS (包括核心126與記憶體112之間的通信)所必需的其他組件(其可包括唯讀記憶體(ROM)、靜態隨機存取記憶體(SRAM)或其他類型之記憶體中之一或多者)。 核心120、122、124、126中的任一者可為獨立處理器,諸如CPU或數位信號處理器。除處理器以外,核心120、122、124、126中之一或多者亦可包括諸如一或多個快取記憶體之其他組件。此等快取記憶體可包括用於特定核心或處理器之專用快取記憶體,諸如(例如) L1快取。另外或可替代地,此等快取記憶體可包括與其他核心或處理器共用及/或可由其他核心或處理器存取的快取記憶體,諸如(例如) L2快取。 另外,核心120、122、124、126中的每一者可與其他組件(諸如,記憶體112、感測器或PCD 100之其他硬體)在功能上分組在一起以形成如下文所描述之子系統。此類一或多個子系統可經實施以執行PCD之某些功能性(諸如,音訊子系統、GPS子系統、感測器子系統等)。此類子系統中之一或多者亦可經組態以獨立地操作SoC 102,以便在SoC 102已經處於較低或降低功率狀態或模式(包括斷電狀態或模式)下時繼續操作。 如所提及,在圖1中記憶體112經說明為耦接至多核心CPU 110。此記憶體112可例如為RAM、ROM、快閃記憶體或其任何組合。另外,記憶體112可包含定位在一起或彼此遠距離地定位的多種不同類型之記憶體,包括緩衝器、主記憶體及快取。此類快取可包括可由核心120、122、124、126中之一或多者存取的一或多個L2、L3、LN快取。此外,儘管記憶體112經說明為定位於SoC 102上,但記憶體112可包括實體地遠離SoC 102或「晶片外」定位之一或多個記憶體,諸如與多核心CPU 110及/或核心120、122、124、126中之一或多者通信的雙資料速率(DDR)記憶體或動態隨機存取記憶體(DRAM)。此等記憶體中之一或多者可藉由定位於SoC 102上之記憶體控制器來控制。此類一或多個記憶體控制器可包括圖1中所說明及下文更詳細地論述之快閃控制器116。 如圖1中所說明,顯示控制器129及觸控式螢幕控制器130耦接至多核心CPU 110。又,顯示器/觸控式螢幕132 (在晶上系統102外部)耦接至顯示控制器129及觸控式螢幕控制器130。數位攝影機148亦可耦接至多核心CPU 110。在此等實施例中,數位攝影機148可由多核心CPU 110之核心120、核心122、核心124、核心126中之一者控制。在一例示性態樣中,數位攝影機148為電荷耦接器件(CCD)攝影機或互補金屬氧化物半導體(CMOS)攝影機。 圖1之PCD 100可進一步包括視訊編碼器134 (例如,逐行倒相(PAL)編碼器)、順序傳送彩色與儲存(SECAM)編碼器或一或多個國家電視系統委員會(NTSC)編碼器,或耦接至多核心CPU 110之任何其他類型的視訊解碼器134。另外,視訊放大器136耦接至視訊編碼器134及顯示器/觸控式螢幕132。視訊埠138耦接至視訊放大器136。如圖1中所描繪,通用串列匯流排(USB)控制器140耦接至多核心CPU 110。此外,USB埠142耦接至USB控制器140。用戶識別模組(SIM)卡146亦可耦接至多核心CPU 110。在其他實施例中,可實施多個SIM卡146。 如圖1中進一步說明,立體聲音訊編解碼器150可耦接至多核心CPU 110。此外,音訊放大器152可耦接至立體聲音訊編解碼器150。在一例示性態樣中,第一立體聲揚聲器154及第二立體聲揚聲器156耦接至音訊放大器152。圖1展示麥克風放大器158亦可耦接至立體聲音訊編解碼器150。另外,麥克風160可耦接至麥克風放大器158。在一特定態樣中,調頻(FM)無線電調諧器162可耦接至立體聲音訊編解碼器150。另外,FM天線164耦接至FM無線電調諧器162。另外,立體聲頭戴式耳機166可耦接至立體聲音訊編解碼器150。 圖1進一步指示數據機器件/射頻(RF)收發器168可耦接至多核心CPU 110。數據機器件168可支援無線通信協定中之一或多者,該等協定諸如GSM、CDMA、W-CDMA、TDSCDMA、LTE及LTE之變體(諸如但不限於,FDB/LTE及PDD/LTE無線協定)。另外,可存在多個數據機器件168,且在此等實施例中,不同數據機器件168可支援上文所列之一些或所有無線通信協定及/或技術。 在一些實施中,數據機器件168可進一步由包括單獨處理器、記憶體及/或RF收發器之各個組件組成。在其他實施中,數據機器件168可僅為RF收發器。另外,數據機器件168可併入於積體電路中。亦即,包含數據機器件168之組件可為晶片中之完整解決方案且包括可受本文中所描述之系統及方法監測的其自身之處理器及/或核心。可替代地,組成數據機器件168之各個組件可耦接至多核心CPU 110且受CPU 110之核心120、核心122、核心124中之一者控制。RF開關170可耦接至數據機器件168及RF天線172。在各種實施例中,可存在多個RF天線172,且每一此類RF天線172可經由RF開關170耦接至數據機器件168。 如圖1中所展示,小鍵盤174可直接或經由類比信號處理器128耦接至多核心CPU 110。另外,具有麥克風176之單聲道耳機可耦接至多核心CPU 110及/或類比信號處理器128。另外,振動器器件178亦可耦接至多核心CPU 110及/或類比信號處理器128。圖1亦展示電力供應器188可耦接至晶上系統102,且在一些實施中電力供應器188經由USB控制器140耦接。在一特定態樣中,電力供應器188為直流電(DC)電力供應器,其向需要電力之PCD 100之各種組件提供電力。另外,在一特定態樣中,電力供應器188可為可再充電DC電池或DC電力供應器,其源自連接至AC電源之交流電(AC)至DC變壓器。 多核心CPU 110亦可耦接至一或多個內部晶片上熱感測器157A以及一或多個外部晶片外熱感測器157B。晶片上熱感測器157A可包含一或多個與絕對溫度成正比(PTAT)溫度感測器,該等溫度感測器係基於垂直PNP結構且通常專用於互補金屬氧化物半導體(CMOS)極大型積體(VLSI)電路。晶片外熱感測器157B可包含一或多個熱敏電阻。熱傳感器157可產生藉由模/數轉換器(ADC)控制器103轉換成數位信號的電壓降。然而,在不脫離本發明之範疇的情況下,可採用其他類型之熱感測器157。 圖1進一步指示,PCD 110亦可包括可用以存取資料網路(例如,區域網路、個人區域網路或任何其他網路)之網路卡114。網路卡114可為藍芽網路卡、WiFi網路卡、個人區域網路(PAN)卡或在此項技術中熟知之任何其他網路卡。另外,網路卡114可併入於積體電路中。亦即,網路卡114可為晶片中之完全解決方案,且可不為單獨網路卡114。 如圖1中所描繪,顯示器/觸控式螢幕132、視訊埠138、USB埠142、攝影機148、第一立體聲揚聲器154、第二立體聲揚聲器156、麥克風160、FM天線164、立體聲頭戴式耳機166、RF開關170、RF天線172、小鍵盤174、單聲道耳機176、振動器178及電力供應器180係在SoC 102外部。 SoC 102亦可包括各種匯流排及/或互連件(未展示),以將多核心CPU 110及/或核心120、核心122、核心124、核心126中之一或多者與SoC 102或PCD 100之其他子系統或組件通信地耦接。應理解,亦可實施及佈置任何數目的匯流排及/或互連件控制器,以監測晶上系統102中之匯流排/互連件介面。可替代地,單一匯流排/互連件控制器可經組態有經佈置以監測兩個或更多個匯流排/互連件介面的輸入,該等匯流排/互連件介面可視需要在CPU 110與PCD 100之各種子系統或組件之間傳達信號。 本文中所描述之方法步驟中之一或多者可經由儲存於記憶體112 (定位在SoC 102外部之記憶體)中及/或一或多個控制器(諸如圖1中所說明之快閃控制器116)之資料及處理器指令的組合來實現。此等指令可由多核心CPU 110中之一或多個核心120、核心122、核心124、核心126及/或SoC 102之其他組件及子系統來執行,以便執行本文中所描述之方法。另外,多核心CPU 110,核心120、核心122、核心124、核心126中之一或多者,記憶體112,諸如快閃控制器116之PCD 100之其他組件,或其一組合,可用作用於執行本文中所描述之方法步驟中之一或多者的構件。 圖2為展示使用快閃記憶體讀取快取及適應性預取獲得經改良快閃記憶體效能之系統之例示性實施例的方塊圖,該快閃記憶體讀取快取及適應性預取可實施於諸如圖1中所說明之PCD實施例的PCD中。例示性系統200包括晶片上系統(SoC)積體電路202,該積體電路可實施於PCD (類似於圖1中之SoC 102)中。圖2之SoC 202包括連接至SoC互連件或SoC 202之匯流排215的CPU 210 (其可為類似於圖1中之CPU 110)。SoC匯流排215可為具有任何數量之共用或獨立埠)之任何所需類型的匯流排或互連件,且可取決於SoC 202之架構及/或SoC 202或PCD所期望的用途。 在圖2中所說明之實施例中,「晶片外」DRAM 230亦經由DRAM匯流排235連接至SoC匯流排215,從而將DRAM 230耦接至位於SoC 202上之DRAM 控制器208。「晶片外」快閃記憶體240亦經由快閃匯流排245連接至SoC匯流排215,從而將快閃記憶體240耦接至定位於SoC 202上之快閃控制器216之輸入/輸出(I/O) 226。在其他實施例中,DRAM 230中之一或多者及快閃記憶體240可定位於SoC 202上而非「晶片外」。在此類替代實施例中,快閃匯流排245中之一或多者及DRAM匯流排235可不為單獨匯流排,而可替代地為SoC匯流排215之部分。在此類替代實施例中,可省略SoC匯流排215,其中CPU 210、快閃控制器216、記憶體212及DRAM 控制器208共用單一匯流排。  SoC 202亦可包括出於清楚之目的在圖2中未展示之其他組件及/或子系統(包括圖1中說明之彼等組件及/或子系統)。 CPU 210將包括至少一個處理器,且可在一些實施例中包括多個處理器,諸如上文針對圖1所論述之核心1120、核心122、核心124、核心126。另外,SoC 202可包括一或多個記憶體212 (類似於圖1之記憶體112),該一或多個記憶體可為SRAM、ROM或其他類型的記憶體中之一或多者。另外,在一些實施例中,圖2中所說明之組件可實體地以不同構形佈置於SoC 202上,且圖2中所說明之一或多個組件可在SoC 202上在物理地不靠近彼此定位。  DRAM 230可為用於PCD之主記憶體或操作記憶體,使得由CPU 210執行之應用211經由DRAM 控制器208存取DRAM 230。在操作中,CPU 210可自DRAM 230讀取資訊及/或將資訊寫入至該DRAM。DRAM 230可包括充當檔案快取231之一部分,用於將資料頻繁地寫入至快閃記憶體240及/或自快閃記憶體240頻繁地讀取資料,將理解該資料可呈「頁面」形式。檔案快取231將通常為「軟」快取,其受CPU 210控制從而經由DRAM 控制器208來操作。 快閃記憶體240可遠離如圖1中所說明的SoC 202而定位,或可定位於SoC 202中或其上。快閃記憶體240可包括任何類型的非揮發性儲存器且可實施為嵌入式多媒體卡(eMMC)、固態磁碟機(SSD)、通用快閃儲存(UFS)或NVM表現(NVMe)型記憶體。此等器件可採用任何類型的非揮發性單元元件,該等單元元件包括NAND快閃記憶體,NOR快閃記憶體,EEPROM,磁、光、電阻、電荷及/或相變單元技術。此外,在一些實施例中,快閃記憶體240可為以可拆卸方式連接至SoC 202。在操作中,CPU 210可經由與CPU 210及快閃記憶體240通信之快閃控制器216自快閃記憶體240讀取資訊及/或將資訊寫入該快閃記憶體。 舉例而言,CPU 210可使自快閃記憶體240之一或多個位址242讀取資訊,且使資訊儲存於DRAM 230中以供CPU 201執行,諸如在CPU 210 執行應用211時。另外,CPU 210可使DRAM 230中之資訊儲存於快閃記憶體240之一或多個位址242中,諸如(例如)當前不由CPU 210執行之應用211之部分/資料。 SoC 202之快閃控制器216與快閃記憶體240通信,且包括I/O 226及快閃直接記憶體存取(DMA)控制器224 (熟習此項技術者應理解其操作)。在圖2中所說明之實施例中,快閃控制器216亦包括耦接至讀取快取(rCache 222) (在下文論述其一或多個操作)之讀取快取控制器(rCache控制器220)。rCache控制器220實施為定位於與圖1之實施例中之CPU 210分離之SoC 202上的硬體組件或器件。在其他實施例中,rCache控制器220可替代地實施於韌體或軟體中,且可與快閃控制器216單獨地定位。 rCache控制器220與rCache 222通信,且實施為圖1中所說明之實施例中之快閃控制器216的單獨RAM記憶體。在其他實施例中,rCache 222可為不同類型的記憶體,可為在SoC 202上之另一記憶體(諸如圖1中所說明之記憶體212)之一部分,或可遠離SoC 202 (諸如實施為DRAM 230之一部分)定位。在操作中,rCache控制器220與CPU 210單獨地操作,且將儲存或緩衝來自rCache 222中之快閃記憶體240之預取頁面或資訊。rCache控制器220亦至少部分地基於儲存於rCache 222中之預取資訊/頁面的命中比率或命中百分比適應性地調整rCache 222中預取及儲存的資訊量/頁面數目。 舉例而言,圖3為展示圖2之系統的例示性部分之互操作的方塊圖。如圖3中所說明,在操作期間,快閃控制器216接收用於存取快閃記憶體240之請求。此類存取請求可來自圖2之CPU 210或來自SoC 202之另一組件。此類請求可(例如)為來自CPU 210之指令以自快閃記憶體240中之一或多個位址242讀取資訊或將資訊寫入至該一或多個位址。 在存取請求為來自CPU 210之初始指令以自快閃記憶體240之位址(0) 242讀取資訊用於儲存在DRAM 230中一實例中,CPU 210將使快閃DMA控制器224自待檢索位址(0) 242檢索該資訊。CPU 210將接著使DRAM 控制器208將該資訊儲存至DRAM 230中之一位址中,且快取DRAM 230之檔案快取231中之資訊之一些部分。rCache控制器220將使快閃DMA控制器224亦自快閃記憶體240之額外位址242預取預定數量之額外頁面,並將該等額外資訊儲存在rCache 222中。 繼續進行該實例,對於CPU 210自快閃記憶體240讀取資訊之隨後請求,rCache控制器220將首先檢查由CPU 210請求之資訊是否已儲存於rCache 222中。若如此,rCache控制器220將彼資訊自rCache 222提供至CPU 210,並自rCache 222刪除日期。若由CPU 210請求之資訊不在rCache 220中,則自快閃記憶體240檢索資訊且如前所述將資訊儲存於DRAM 230中。rCache控制器220將判定是否減小或增大自快閃記憶體240預取之資訊之預取/量的大小。此判定將至少部分基於先前「命中」或自rCache 222之成功檢索的數目或百分比來進行。rCache控制器220將接著使一定量之新資訊經預取/檢索且經置放於rCache 222中。對於自快閃記憶體240讀取資訊的CPU 210之隨後請求,rCache控制器220將繼續適應性地調整rCache 222之預取大小。 另一實例為其中存取請求為來自CPU 210以將資訊寫入至快閃記憶體240之位址(0) 242之指令,諸如DRAM 230中CPU 210不再需要執行應用211的資訊。在此實例中,CPU 210將使DRAM 控制器208自DRAM 230檢索資訊,且CPU 210將使快閃DMA控制器224將資訊儲存至快閃記憶體240之位址(0) 242中。rCache控制器220將不會使預取發生在此實例中。rCache控制器220將判定rCache 222是否使來自同一位址242 (在此實例中為位址(0))之任何資料由CPU 210寫入。若rCache 222確實具有與位址(0) 242相關聯之資料,則rCache控制器220使rCache 222中之輸入項(現在「廢棄」資料)被刪除。 已知,藉由增大預取之大小可改良快閃記憶體之讀取效能。然而,已判定存在用於增大預取大小之遞減返回點。換言之,超過某些預取大小,自所廢棄快取資源及能源僅可獲得最小改良之讀取效能。舉例而言,如以下圖表1中所說明,可存在一預取大小範圍,低於該範圍讀取效能下降,且高於該範圍讀取效能改良由經增大之資源及能源成本抵消。圖表1 此外,已判定維持用於所有情境(諸如,由CPU隨機讀取快閃記憶體)之較大預取大小亦可減少或抵消讀取效能之任何改良。藉由適應性地調整如本文中所揭示之預取大小,有可能進一步改良快閃記憶體之讀取效能,同時將資源及能源成本降至最低。舉例而言,圖4A至圖4B為說明圖3中所說明之互操作之例示性結果的圖式。如圖4A中所說明,當CPU (諸如圖2之CPU 210)正在執行快閃記憶體(諸如圖2至圖3之快閃記憶體240)之不頻繁或隨機讀取時,以較小預取大小起始及維持較小預取大小係有益的。 在圖4A之實例中,預取大小N設定為4,此使得自快閃記憶體240預取4×4KB頁面且將其儲存於rCache222 (參見圖3)中以用於快閃記憶體240之每一CPU 210讀取。此相對較小預取大小N=4可最初根據資訊判定,該資訊諸如CPU 210正執行之應用211之檔案類型,諸如可預期使得自快閃記憶體240資訊隨機讀取的資料庫檔案類型。相對較小預取大小N=4亦可最初作為以下之結果來判定或得出:rCache控制器220判定關於rCache 222 (參見圖3)之內容的「命中」之相對較少數目或百分比證明將預取大小減少至N=4是合理的。因此,如圖4A中所說明,較小量之預取資訊藉由快閃記憶體240之每一CPU 210讀取儲存於rCache 222中,從而需要較少時間來將預取資訊載入至rCache 222中且耗費較少rCache 222。 轉向圖4B之實例,預取大小N設定為較大值24,此使得自快閃記憶體240預取24×4KB頁面且將其儲存於rCache222中(參見圖3)以用於快閃記憶體240之每一CPU 210讀取。此相對較大預取大小N=24可最初根據資訊判定,該資訊諸如CPU 210正執行之應用211之檔案類型,諸如可預期使得自快閃記憶體240之多個依序讀取之資訊的電影或多媒體檔案類型。相對較大預取大小N=24亦可最初作為以下之結果來判定或得出:rCache控制器220判定關於rCache 222 (參見圖3)之內容之「命中」的相對較大數目或百分比證明將預取大小增大至N=24是合理的。 因此,如圖4B中所說明,較大量之預取資訊藉由快閃記憶體240之每一CPU 210讀取儲存於rCache 222中。較大量之預取資訊/較大數目預取頁面載入至rCache 222中比圖4A之較小量之預取資訊花費更長的時間。然而,藉由圖4B之較大預取之大小可比藉由圖4A之較小預取大小在同一時段將更多資訊載入至rCache 222中。已判定,將較大預取載入至rCache 222中之經增加時間根據關於rCache 222之較大數目/百分比之命中由經提高快閃記憶體讀取效能調整,如上文圖表1所展示。 若條件改變(諸如rCache 222命中之數目或百分比減小及/或CPU 210執行不同應用211),則具有圖4B之相對較大預取大小可不再係有益的。因此,需要基於操作條件適應性地調整預取之大小(包括減小預取大小)。此類適應性預取可經由先前預取方法提高快閃記憶體讀取效能,且可展示在較低成本快閃記憶體(諸如,eMMC快閃記憶體)中之顯著效能改良。圖5A為說明使用讀取快取及適應性預取獲得經改良快閃記憶體效能之方法之例示性實施例的流程圖。在一實施例中,藉由單獨操作或與圖2至圖3中說明之系統200、系統300之其他組件或部分結合操作的圖2至圖3之rCache控制器220來實施圖5A之方法500。 在區塊510中,例示性方法500以設定預取大小之初始值N0 開始。在一實施例中,在區塊510中設定N0 可包括基於由檔案系統、可存取快閃記憶體240之上游用戶端等提供或自其判定之資訊諸如由rCache控制器220判定初始值N0 。舉例而言,在一實施例中,N0 可表示儲存於快閃記憶體240之一或多個位址242中之4KB「頁面」的數目。N0 之初始值可設定為更高值(諸如(例如) 64),其中rCache控制器220判定更可能依序存取快閃記憶體240之多個位址242。此判定可基於存取之類型或正在快閃記憶體240中存取之檔案類型,例如(諸如)該檔案為MP4、MOV、AVI或預期依序存取快閃記憶體240之其他多媒體檔案類型。程式或應用211亦可表明或提示程式將以依序方式讀取快閃記憶體。判定及/或提示經由負責組態及控制快閃控制器216之軟體輸入/輸出驅動程式傳遞。類似地,SoC 202之存取快閃記憶體240之其他組件可將提示傳達至常見軟體輸入/輸出驅動程式。可替代地,SoC 202之其他組件可直接組態及控制快閃控制器216。 相反地,N0 之初始值可設定為較低值,其中rCache控制器220判定更可能較少或隨機存取快閃記憶體240。此判定可同樣基於存取之類型(諸如,至快閃記憶體240之系統調用)或諸如資料庫檔案類型(其中預期較少及/或隨機存取快閃記憶體240)之檔案類型。在一實施例中,可存在N0 之初始值之變化範圍,該範圍具有針對預測單一存取(諸如系統調用)設定的N0 之最低值、針對較少及/或隨機存取設定的N0 之中間值及針對較多及/或依序預測存取設定的N0 之較大值。 在區塊512中接收針對快閃記憶體(諸如,圖2至圖3之快閃記憶體240)之讀取請求。在一實施例中,讀取請求可來自執行應用211之CPU 210。區塊512之讀取請求可在可為如圖2至圖3中所說明之快閃控制器216之部分的圖2至圖3之系統200、300之多個組件處接收,包括rCache控制器220。讀取請求可用於與如區塊512中所描述之快閃記憶體240之一或多個位址242相關聯的一或多個4KB「頁面」。在其他實施例中,區塊512之讀取請求可用於其他或不同大小之資料。 在區塊514中,判定在區塊512之讀取請求中所請求之資料是否已儲存於rCache 222中。可藉由系統200、300之rCache控制器220及/或其他組件使用各種已知方法或方式來進行此判定。若在區塊514中判定所請求資料在rCache 222中,則方法500繼續進行至區塊515且自rCache 222返回所請求資料。在一實施例中,返回區塊515之所請求資料可包含rCache控制器220使請求器自rCache 222讀取該資料。在其他實施例中,返回區塊515之所請求資料可包含rCache控制器220使一些其他組件將儲存於rCache 222中之資訊返回至在區塊512中從其接收讀取請求的組件。返回區塊515之所請求資料亦可包含在一些實施例中使所請求資料自rCache 222刪除,由於該資料正被「使用」使得不存在繼續在預取rCache 222中快取資料的需要。 繼續進行方法500之此流徑,在區塊515中返回所請求資料之後,在區塊516中更新rCache 222之命中百分比或命中比率,且方法500在區塊517處等待針對快閃記憶體240之下一讀取請求。在區塊516中更新rCache 222之命中百分比可藉由rCache控制器220來執行,且可包括更新成功存取儲存於rCache 222中之預取資訊的運行總量或百分比。轉向區塊517,若下一讀取請求為現有檔案之接續,則在區塊512中讀取下一4KB之資料。若下一讀取請求屬於不同檔案(具有不同檔案副檔名或程式提示),則在區塊510中軟體輸入/輸出驅動程式將組態N0 之新值。 在一些實施例中,更新區塊516中之命中百分比亦可包括更新與已儲存於rCache 222中之各種資料之時長相關聯之一或多個計數或值。舉例而言,可更新與rCache 222之每一位址相關聯之計數,以反映資料已儲存於rCache 222中在未經存取或使用之情況下增加之時間長度。對於另一實例,可更新與rCache 222之位址相關聯之計數,以反映諸如當「已使用」資料自rCache 222之位址刪除時,當前無資料儲存於該位址中。在一些實施例中,區塊516中之命中百分比可為跨越所有檔案及SoC 202之所有組件的長期平均值。在其他實施例中,區塊516中之命中百分比可為僅對應於當前檔案或SoC 202之當前組件的短期平均值。 返回至區塊514,若判定所請求資料不在rCache 222中,則方法500進行至區塊518,其中自快閃記憶體240預取資料並將其儲存於rCache 222中。區塊518中之預取之量/大小取決於N之當前值,該值對於圖5A中所說明之實施例為儲存於快閃記憶體240之位址(0)至位址(N) 242中之一或多者中之4KB「頁面」的數目。對於第一讀取請求,N設置為N0 ,如上文針對區塊510所論述。對於隨後讀取請求,N值可如下文所論述增大或減小,使得用於區塊518中以判定預取之大小之N的當前值不同於N0 。在一實施例中,可藉由單獨作用或與其他組件(諸如,快閃DMA控制器224 (參見圖2))結合作用之rCache控制器220來執行區塊518,以使得自快閃記憶體240讀取恰當量之預取資料/恰當數目預取頁面並將其儲存於rCache 222中。 在區塊520中,將區塊512中之所請求資料返回至請求該資料的組件。應注意,區塊520發生在區塊518之後,如圖5A之例示性實施例中所說明。在其他實施例中,區塊520可在區塊518之檢索預取資料之前、或同時/並行發生。舉例而言,在一實施例中,可合併區塊518及區塊520,使得區塊512中之所請求資料及區塊518中之所判定預取資訊兩者之一個檢索執行。在此等實施例中,可將區塊512中之所請求資料返回至(諸如藉由快閃DMA控制器224)請求資料之組件,而同時預取資料可(諸如藉由rCache控制器220)儲存於rCache 222中。在其他實施例中,可以不同次序及/或藉由系統200之同一或不同組件來執行區塊518及區塊520之步驟。 方法500在區塊522中繼續,其中判定rCache 222之命中百分比及/或命中數目是否高於臨限值。如上文針對圖2至圖3所論述,rCache控制器220 (諸如自CPU 210)接收針對快閃記憶體240之任何讀取請求且追蹤「命中」及/或命中「比率」,其中所請求資訊已經預取並儲存於rCache 222中。在方法500之區塊522中,rCache控制器220評估當前命中「比率」或命中百分比是否高於臨限值,以便適應性地調整預取且儲存於rCache 222中之資料的量。 臨限值可為儲存於rCache控制器220或rCache 222中之由製造商或使用者設定之固定值,且可基於多種因素來判定及設定,該等因素諸如SoC 202及/或CPU 210架構、將應用PCD之用途、最終使用者效能偏好、效能形態等。在一些實施例中,可諸如由最終使用者視需要諸如基於最終使用者預期存取或執行之檔案或應用之類型、最終使用者效能偏好等更改或改變臨限值。在圖5A中所說明之實施例中,若判定rCache 222命中百分比高於臨限值則方法500繼續至區塊524,而若判定rCache 222命中百分比低於臨限值則方法繼續至區塊526。 在其他實施例中,區塊522中之判定可不為二進位判定,而替代地可包括多種選擇。舉例而言,在一替代實施例(未說明)中,區塊522之臨限值可包含上限臨限值及下限臨限值。在此替代實施例中,若判定為rCache 222命中百分比高於上限臨限值,則方法繼續至區塊524。類似地,在此替代實施例中,若判定為rCache 222命中百分比低於下限臨限值,則方法繼續至區塊526。然而,若判定為rCache 222之命中百分比在上限與下限臨限值之間,則不需要調整預取大小且替代方法可繼續至區塊516。應理解,區塊522中之判定之其他變體亦係可能的。 返回至所說明方法500之區塊522,若判定rCache 222命中百分比高於臨限值則方法繼續至區塊524,其中判定預取之大小之當前值N是否低於最大值Nmax 。若N之當前值不小於Nmax (亦即,若當前N已等於Nmax ),則如上文所論述之方法500進行至區塊516,其中rCache 222命中百分比經更新及/或與rCache 222中之資料相關聯之一或多個計數經更新。 若在區塊524中判定N之當前值小於Nmax ,則方法500進行至區塊525,其中N經增大。在區塊525中增大N值增大預取及儲存於rCache 222中資訊之預取大小/量以用於快閃記憶體240之隨後讀取。區塊525中之增大之量可係可變的。在一個實施例中,增量對於依序類型之存取可為較大數目且對於快速及隨機存取可為較小數目。在另一實施例中,增大之量可為恆定值。在又一實施例中,增大之量可為幾何的,例如雙倍、三倍等。 方法500進行至如上文所論述之區塊516,其中rCache 222命中百分比經更新及/或與rCache 222中之資料相關聯之一或多個計數經更新。Nmax 之值在一些實施例中可為固定值,且可為N之值,高於該值快閃記憶體之讀取效能之增量改良超過如上文圖表1中所說明之經增大預取大小之經增大時間/資源成本。在此等實施例中,Nmax 之值在不同實施中可由製造商或最終使用者設定。在其他實施例中,Nmax 之值可為可變的,且可基於歷史資訊、使用統計資料、快閃記憶體420中經存取之檔案之類型等來設定及/或更新。 再次返回至所說明方法500之區塊522,若判定rCache 222命中百分比低於臨限值則方法繼續至區塊526,其中判定預取之大小之當前值N是否高於最大值Nmin 。若當前N值不大於Nmin (亦即,當前N已等於Nmin ),則如上文所論述方法500進行至區塊516,其中rCache 222命中百分比經更新及/或與rCache 222中之資料相關聯之一或多個計數經更新。 若在區塊526中判定N之當前值高於Nmin ,則方法500進行至區塊527,其中N減小。在區塊527中減小N之值減小預取及儲存於rCache 222中之資訊之預取大小/量以用於快閃記憶體240之隨後讀取。如上文針對增大區塊525中之N所描述,區塊527中之減少量亦係可變的。方法500進行至如上文所論述之區塊516,其中rCache 222命中百分比經更新及/或與rCache 222中之資料相關聯之一或多個計數經更新。Nmin 之值在一些實施例中可為固定值,且可為N之值,低於該值快閃記憶體之讀取效能開始降低,如上文圖表1中所說明。在此等實施例中,Nmin 之值可在不同實施中由製造商或最終使用者設定。在其他實施例中,Nmin 之值可變化,且可基於歷史資訊、使用統計資料、快閃記憶體420中經存取之檔案之類型等來設定及/或更新。 儘管已在圖5A之上下文中描述例示性方法500,但應理解,可實施其他方法或方法500之其他實施例。舉例而言,在替代實施例(未展示)中,區塊524及區塊526可不如圖5A中所說明的單獨判定,而替代地可為判定N之當前值是否超過Nmax 或低於Nmin 且因此調節N之值的單一區塊。區塊524及區塊526之判定在一些實施例中亦可為區塊522之判定之部分。圖5A之方法500之其他實施例及/或更改亦為可能的,如應理解。 接下來轉向圖6A,說明使用快閃記憶體讀取快取及適應性預取獲得經改良快閃記憶體效能之方法600之例示性實施例的額外態樣。特定而言,圖6A說明諸如藉由rCache控制器220 (參見圖2)管理rCache 222之額外態樣。方法600可作為圖5A中所說明之方法500之步驟中的一或多者之部分、或與之結合操作,方法600之區塊中之一或多者可藉由獨立或與系統200之其他組件(參見圖2)結合作用之rCache控制器220來執行。圖6A之例示性方法600在區塊610中以接收針對存取快閃記憶體(諸如圖2至圖3之快閃記憶體240)之請求開始。如下文所論述,區塊610中存取請求可為(但未必為)類似於關於圖5A中所說明之方法500之區塊512所論述的讀取請求。在一實施例中,存取請求可來自如圖2中所說明之執行應用211的CPU 210。區塊610之存取快閃記憶體之請求可在圖2至圖3之系統200、300之多個組件處接收,該等組件包括rCache控制器220 (其可為如圖2至圖3中所說明之快閃控制器216之部分)。存取請求可自與快閃記憶體240之一或多個位址(0)至位址(N) 242相關聯之一或多個4KB「頁面」讀取或寫入至該一或多個頁面。在其他實施例中,存取請求可針對於快閃記憶體240中之其他或不同大小之資料。 在區塊612中,判定在區塊610中所接收之請求是否為寫入請求,例如,CPU 210將資訊寫入至快閃記憶體240中之一或多個位址242。若請求為寫入請求,則方法600繼續至區塊614,其中判定rCache 222中之任何輸入項是否與資料將寫入至之快閃記憶體240中之位址242相關聯。用於執行區塊614中之搜索的一個實例使用可提供所提供位址之即時硬體查詢的內容可定址記憶體(CAM)。如上文所論述,一旦資料自位址(0) 242預取且寫入至預取rCache 222中,若新資料寫入至位址(0) 242則rCache 222中之資料變為「廢棄」。在此事件中,方法600進行至區塊615,其中自rCache 222刪除rCache 222中與位址(0) 242相關聯之「廢棄」資料。 若在區塊614處判定rCache 222中之輸入項不與資料將寫入至之快閃記憶體240中之位址242相關聯,則方法600返回以等待快閃記憶體之下一存取請求(區塊610)。在圖6A之例示性實施例中,區塊614中之判定為區塊612之單獨判定。在其他實施例(未說明)中,區塊612及區塊614之判定可合併成單一判定步驟或區塊。另外,在所說明之方法600中,若區塊610之存取請求為將資訊寫入至快閃記憶體240,則rCache控制器220並不使得將預取資訊至rCache 222。在其他實施例中,若區塊610之存取請求為將資訊寫入至快閃記憶體240,則rCache控制器220可使得將資訊預取至rCache 222,且此類預取可係根據圖5A中所說明之區塊中之中之一或多者。 返回至區塊612,若判定針對快閃記憶體240之存取請求不為寫入請求(亦即,諸如CPU 210之組件正在自快閃記憶體240讀取資訊),則方法繼續至區塊616,其中判定(類似於區塊614使用CAM)是否「使用」rCache 222中之任何預取資料以便回應於針對快閃記憶體240之讀取請求(參見圖5A之區塊514至區塊515)。若rCache 222之預取資料或頁面由系統200之CPU 210或其他組件「使用」,則該等資料或頁面可置放於另一記憶體(諸如DRAM 230之DRAM 230或檔案快取231)中。在此事件中,不存在另外維持作為rCache 222中所儲存或緩衝之預取資料之部分的資料或頁面之需要,且所「使用」資料自區塊617中之rCache 222移除。 在所「使用」資料自區塊617中之rCache 222移除之後,或若在區塊616中判定在rCache 222 中之資料均未「使用」,則方法進行至區塊618。在區塊618中,判定當前預取是否將使rCache 222溢位。在圖2至圖3中所說明之實施例中,rCache 222為固定大小之記憶體。區塊618提供一種確保rCache 222不自連續讀取請求溢位至快閃記憶體240且附有結合讀取請求(參見圖5A之區塊518至527)之預取的機制或方法。在一實施例中,rCache控制器220,可(諸如)在圖5A中所說明之方法500之區塊516、518、522、524或526中之任一者處進行此判定。在另一實施例中,區塊618可為視情況存在的,使得不進行rCache 222溢位之單獨判定。在此類替代實施例中,在無區塊618之單獨判定的情況下,每一新連續預取可自動地覆寫儲存於rCache 222中之最舊「未使用」資料。 若在區塊618中判定當前預取將使rCache 222溢位,則該方法進行至區塊620,其中刪除rCache 222中之任何「過量」資料輸入項或頁面。如上文所論述,rCache 222之頁面或資料輸入項可具有追蹤已儲存於rCache 222中之一或多個頁面或資料輸入項之時長的一或多個計數。計數在一些實施例中可為rCache 222之部分。在區塊620中刪除「過量」資料輸入項可包含僅刪除「最舊」頁面/資料輸入項(亦即,已儲存於rCache 222中之最久的未使用頁面/資料輸入項)直至在rCache 222上存在儲存當前預取之足夠空間為止。在其他實施例中,區塊620可包含刪除已儲存於rCache 222中大於臨限時間段的所有頁面/資料輸入項。 在區塊620中刪除過量rCache 222頁面/資料輸入項之後,或若區塊618中判定當前預取將不使rCache 222溢位,則方法600繼續至區塊619,其中增大或更新與rCache 222之頁面/資料輸入項相關聯之一或多個計數。在區塊619中,rCache 222可自身增大計數,或rCache控制器220可使針對先前存在頁面/資料輸入項之任何計數增大。另外,區塊619可進一步包含為來自當前預取之rCache 222中之新儲存頁面/資料輸入項開始計數,且為與產生於區塊615、617及620之所刪除頁面相關聯之重置計數開始計數。亦應理解,刪除頁面之行動亦將清除與所刪除頁面相關聯之任何硬體參考(諸如,內容可定址記憶體中之輸入項)。方法600接著返回以在區塊610中等待快閃記憶體240的下一存取請求。 如應理解,圖5A及圖6A僅分別地描述所揭示方法500及600之一個示例性實施例。在其他實施例中,可將額外區塊或步驟添加至圖5A中所說明之方法500及/或圖6A中所說明之方法600。類似地,在一些實施例中,可如上文所論述組合或省略展示於圖5A及/或圖6A中之各種區塊或步驟。方法500及方法600之此類變體在本發明之範疇內。 此外,在此說明書(包括圖5A或圖6A)中所描述之程序或程序流程中之某些步驟可自然地先於其他步驟,以使方法500及方法600在所描述實施例中運作。然而,若此類次序或順序不更改功能性,則本發明不限於所描述步驟中之次序。此外,應認識到,可在不脫離本發明之範疇的情況下,在其他步驟之前、之後或與其並行地(實質上同時)執行一些步驟。另外,諸如「其後」、「接著」、「接下來」、「隨後」等字組並不意欲限制步驟之次序。此等字組僅用來引導讀者貫穿對例示性方法之描述。 可藉由各種硬體及/或軟體組件/模組執行上文針對方法500及方法600所描述之各種操作、方法或功能。此類組件及/或模組可提供用以執行各種所描述操作、方法或功能之構件。一般而言,在諸圖中說明之方法具有對應的對應物構件加功能圖的情況下,操作區塊與具有類似編號之構件加功能區塊相對應。舉例而言,圖5A中所說明之區塊510至527對應於圖5B中所說明之構件加功能區塊510'至527'。類似地,圖6A中說明之區塊610至620對應於圖6B中說明之構件加功能區塊610'至620'。 舉例而言,一般熟習程式化技術之技術人員能夠基於此說明書中之流程圖及相關聯之描述輕鬆地寫入電腦程式碼或識別適當之硬體及/或電路以實施所揭示的發明。因此,對特定一組程式碼指令或詳細的硬體器件之揭示不視為對於充分理解如何製作及使用本發明而言為必要的。在上文的描述中且結合可說明各種處理流程之圖式,更詳細地解釋所主張的由處理器實現之處理程式的發明性功能性。 在如上文所指示之一或多個例示性態樣中,所描述之功能可實施於硬體、軟體、韌體或其任何組合中。若實施於軟件中,則該等功能可作為一或多個指令或程式碼而儲存於電腦可讀媒體(諸如,非暫時性處理器可讀媒體)上或經由該電腦可讀媒體(諸如,非暫時性處理器可讀媒體)傳輸。電腦可讀媒體包括資料儲存媒體及通信媒體兩者,該通信媒體包括促進程式自一個位置轉移至另一位置之任何媒體。 儲存媒體可為可由電腦或處理器存取之任何可用媒體。作為實例而非限制,此類電腦可讀媒體可包含:RAM、ROM、EEPROM、CD-ROM或其他光碟儲存器、磁碟儲存器或其他磁性儲存器件,或可用以攜載或儲存呈指令或資料結構形式之所需程式碼且可由電腦存取的任何其他媒體。如本文中所使用,磁碟及光碟包括緊密光碟(「CD」)、雷射光碟、光學光碟、數位影音光碟(「DVD」)、軟碟及藍光光碟,其中磁碟通常以磁性方式再生資料,而光碟用雷射以光學方式再生資料。以上各者之組合亦應包括於非暫時性電腦可讀媒體的範疇內。 儘管已詳細地說明且描述所選定態樣,但應理解,可在本文中在不脫離如以下申請專利範圍所定義之本發明的情況下做出各種替代及更改。
100‧‧‧PCD
102‧‧‧晶上系統
103‧‧‧控制器
110‧‧‧CPU
112‧‧‧記憶體
114‧‧‧網路卡
116‧‧‧快閃控制器
120‧‧‧核心
122‧‧‧核心
124‧‧‧核心
126‧‧‧核心
128‧‧‧類比信號處理器
129‧‧‧顯示控制器
130‧‧‧觸控式螢幕控制器
132‧‧‧顯示器/觸控式螢幕
134‧‧‧視訊編碼器
136‧‧‧視訊放大器
138‧‧‧視訊埠
140‧‧‧USB控制器
142‧‧‧USB埠
146‧‧‧SIM卡
148‧‧‧攝影機
150‧‧‧立體聲音訊編解碼器
152‧‧‧音訊放大器
154‧‧‧第一立體聲揚聲器
156‧‧‧第二立體聲揚聲器
157A‧‧‧晶片上熱感測器
157B‧‧‧晶片外熱感測器
158‧‧‧麥克風放大器
160‧‧‧麥克風
162‧‧‧FM無線電調諧器
164‧‧‧FM天線
166‧‧‧立體聲頭戴式耳機
168‧‧‧數據機器件
170‧‧‧開關
172‧‧‧RF天線
174‧‧‧小鍵盤
176‧‧‧單聲道耳機
178‧‧‧振動器
188‧‧‧電力供應器
200‧‧‧系統
202‧‧‧SoC
208‧‧‧DRAM控制器
210‧‧‧CPU
211‧‧‧應用
212‧‧‧記憶體
215‧‧‧SoC匯流排
216‧‧‧快閃控制器
220‧‧‧rCache控制器
222‧‧‧rCache
224‧‧‧快閃DMA控制器
226‧‧‧I/O
230‧‧‧DRAM
231‧‧‧FC
235‧‧‧DRAM匯流排
240‧‧‧快閃記憶體
242‧‧‧位址(0)
245‧‧‧快閃匯流排
300‧‧‧系統
500‧‧‧方法
500'‧‧‧方法
510‧‧‧區塊
510'‧‧‧區塊
512‧‧‧區塊
512'‧‧‧區塊
514‧‧‧區塊
514'‧‧‧區塊
515‧‧‧區塊
515'‧‧‧區塊
516‧‧‧區塊
516'‧‧‧區塊
517‧‧‧區塊
517'‧‧‧區塊
518‧‧‧區塊
518'‧‧‧區塊
520‧‧‧區塊
520'‧‧‧區塊
522‧‧‧區塊
522'‧‧‧區塊
524‧‧‧區塊
524'‧‧‧區塊
525‧‧‧區塊
525'‧‧‧區塊
526‧‧‧區塊
526'‧‧‧區塊
527‧‧‧區塊
527'‧‧‧區塊
600‧‧‧方法
600'‧‧‧方法
610‧‧‧區塊
610'‧‧‧區塊
612‧‧‧區塊
612'‧‧‧區塊
614‧‧‧區塊
614'‧‧‧區塊
615‧‧‧區塊
615'‧‧‧區塊
616‧‧‧區塊
616'‧‧‧區塊
617‧‧‧區塊
617'‧‧‧區塊
618‧‧‧區塊
618'‧‧‧區塊
619‧‧‧區塊
619'‧‧‧區塊
620‧‧‧區塊
620'‧‧‧區塊
在圖式中,除非另外指示,否則貫穿各個視圖類似參考標號係指類似部件。對於具有字母字符標示(諸如,「102A」或「102B」)之參考標號,字母字符標示可區別存在於同一圖中之兩個類似部件或元件。當意欲參考標號涵蓋所有圖式中具有相同參考標號的所有部件時,可省略參考標號之字母字符標示。類似地,對於具有諸如「102'」之「標示」之參考標號而言,該「標示」可標明具有相同參考標號(但無「標示」)之基礎元件的替代實施例。 圖1為攜帶型計算器件(PCD)之實例實施例之方塊圖,其中可實施具有實施適應性預取之快閃記憶體讀取快取的經改良快閃記憶體效能; 圖2為展示使用快閃記憶體讀取快取及適應性預取獲得經改良快閃記憶體效能之系統之例示性實施例的方塊圖,該快閃記憶體讀取快取及適應性預取可實施於諸如圖1中所說明之PCD實施例的PCD中; 圖3為展示圖2之系統之例示性部分的相操作之方塊圖; 圖4A至圖4B為說明圖3中所說明之相操作之例示性結果的圖式; 圖5A為說明獲得經改良快閃記憶體效能之方法之例示性實施例的流程圖,其中實施適應性快取之快閃記憶體讀取快取可實施; 圖5B說明能夠執行圖5A中所說明之方法的實例組件; 圖6A為說明獲得經改良快閃記憶體效能之方法之例示性實施例之額外態樣的流程圖,其中實施適應性預取之快閃記憶體讀取快取可實施;及 圖6B說明能夠執行圖6A中所說明之方法的實例組件。
200‧‧‧系統
202‧‧‧SoC
208‧‧‧DRAM控制器
210‧‧‧CPU
211‧‧‧應用
212‧‧‧記憶體
215‧‧‧SoC匯流排
216‧‧‧快閃控制器
220‧‧‧rCache控制器
222‧‧‧rCache
224‧‧‧快閃DMA控制器
226‧‧‧I/O
230‧‧‧DRAM
231‧‧‧FC
235‧‧‧DRAM匯流排
240‧‧‧快閃記憶體
242‧‧‧位址(0)
245‧‧‧快閃匯流排

Claims (30)

  1. 一種在一攜帶型計算器件(PCD)中獲得經改良快閃記憶體效能的方法,該方法包含: 判定對應於將自該快閃記憶體檢索之預取資料之量的一N值; 在與一快取記憶體通信之一快取控制器處接收針對一快閃記憶體之一存取請求; 判定針對該快閃記憶體之該存取請求是否對應於儲存於該快取記憶體中之一部分資料; 若針對該快閃記憶體之該存取請求對應於儲存於該快取記憶體中的該部分資料,則回應於存取該快閃記憶體之該請求而返回儲存於該快取記憶體中的該部分資料; 若針對該快閃記憶體之該存取請求不對應於儲存於該快取記憶體中之該部分資料,則自該快閃記憶體檢索預取資料之一N量且將其儲存在該快取記憶體中;及 基於該快取記憶體之快取命中百分比增大該N值。
  2. 如請求項1之方法,其中該N值表示該快閃記憶體中之4千位元組資料塊之一數目。
  3. 如請求項1之方法,其中接收針對一快閃記憶體之該存取請求包含自與該快取控制器及該快閃記憶體通信之一處理器接收一讀取請求。
  4. 如請求項3之方法,其中該快取控制器為與該處理器分離之一硬體器件。
  5. 如請求項1之方法,其中基於該快取命中百分比增大該N值進一步包含: 判定該快取命中百分比高於一臨限值,且若N小於一最大值Nmax 則增大該N值。
  6. 如請求項5之方法,其中基於該快取命中百分比增大該N值進一步包含: 判定該快取命中百分比低於該臨限值,且若N高於一最小值Nmin 則減小該N值。
  7. 如請求項第6項之方法,其進一步包含: 回應於針對該快閃記憶體之該存取請求而更新該快取命中百分比。
  8. 如請求項1之方法,其中若針對該快閃記憶體之該存取請求對應於儲存於該快取記憶體中之資料則回應於存取該快閃記憶體之該請求返回儲存於該快取記憶體中的該部分資料進一步包含: 自該快取記憶體刪除該部分資料。
  9. 一種用於一攜帶型計算器件(PCD)中之一晶片上系統(SoC)的電腦系統,該系統包含: 該SoC之一快取控制器; 與快取控制器通信之一快取記憶體;及 與該快取控制器通信之一快閃記憶體, 該快取控制器經組態以: 判定對應於將自該快閃記憶體檢索之預取資料之量的一N值, 自該SoC之另一組件接收針對一快閃記憶體之一存取請求, 判定針對該快閃記憶體之該存取請求是否對應於儲存於該快取記憶體中之一部分資料, 若針對該快閃記憶體之該存取請求對應於儲存於該快取記憶體中的該部分資料,則回應於存取該快閃記憶體之該請求而返回儲存於該快取記憶體中的該部分資料, 若針對該快閃記憶體之該存取請求不對應於儲存於該快取記憶體中的該部分資料,則自該快閃記憶體檢索預取資料之一N量且將其儲存在該快取記憶體中,及 基於針對該快取記憶體之一快取命中百分比增大該N值。
  10. 如請求項9之系統,其中該N值表示該快閃記憶體中之4千位元組資料塊之一數目。
  11. 如請求項9之系統,其進一步包含: 與該快取控制器通信之該SoC之一處理器,該處理器經組態以將針對該快閃記憶體上之資料之一讀取請求發送至該快取控制器。
  12. 如請求項11之系統,其中該快取控制器為與該處理器分離之該SoC上之一硬體器件。
  13. 如請求項9之系統,其中該快取控制器經組態以基於該快取記憶體之一快取命中百分比增大該N值,進一步包含該快取控制器經組態以: 判定該快取命中百分比高於一臨限值,且 若N小於一最大值Nmax ,則增大該N值。
  14. 如請求項13之系統,其中該快取控制器經組態以基於該快取記憶體之一快取命中百分比增大該N值,進一步包含該快取控制器經組態以: 判定該快取命中百分比低於該臨限值,且 若N高於一最小值Nmin ,則減小該N值。
  15. 如請求項14之系統,其中該快取控制器經進一步經組態以: 回應於針對該快閃記憶體之該存取請求而更新該快取命中百分比。
  16. 如請求項9之系統,其中該快取控制器經進一步組態以: 若針對該快閃記憶體之該存取請求對應於儲存於該快取記憶體中之資料,則自該快取記憶體刪除該部分資料。
  17. 一種包含一非暫時性電腦可用媒體之電腦程式產品,該非暫時性電腦可用媒體具有在其中實施之一電腦可讀程式碼,該電腦可讀程式碼經調適以經執行從而實施在一攜帶型計算器件(PCD)中獲得經改良快閃記憶體效能的一方法,該方法包含: 判定對應於將自該快閃記憶體檢索之預取資料之量的一N值; 在與一快取記憶體通信之一快取控制器處接收針對一快閃記憶體之一存取請求; 判定針對該快閃記憶體之該存取請求是否對應於儲存於該快取記憶體中之一部分資料; 若針對該快閃記憶體之該存取請求對應於儲存於該快取記憶體中的該部分資料,則回應於存取該快閃記憶體之該請求而返回儲存於該快取記憶體中的該部分資料; 若針對該快閃記憶體之該存取請求不對應於儲存於該快取記憶體中之該部分資料,則自該快閃記憶體檢索預取資料之一N量且將其儲存在該快取記憶體中;及 基於針對該快取記憶體之一快取命中百分比增大該N值。
  18. 如請求項17之電腦程式產品,其中該N值表示該快閃記憶體中之4千位元組資料塊之一數目。
  19. 如請求項17之電腦程式產品,其中接收針對一快閃記憶體之該存取請求包含自與該快取控制器通信之一處理器接收一讀取請求。
  20. 如請求項19之電腦程式產品,其中該快取控制器為與該處理器分離之一硬體器件。
  21. 如請求項17之電腦程式產品,其中基於該快取命中百分比增大該N值進一步包含: 判定該快取命中百分比高於一臨限值,且若N小於一最大值Nmax 則增大該N值。
  22. 如請求項21之電腦程式產品,其中基於該快取命中百分比增大該N值進一步包含: 判定該快取命中百分比低於該臨限值,且若N高於一最小值Nmin 則減小該N值。
  23. 如請求項22之電腦程式產品,其進一步包含∶ 回應於針對該快閃記憶體之該存取請求而更新該快取命中百分比。
  24. 一種用於在一攜帶型計算器件(PCD)中獲得經改良快閃記憶體效能的電腦系統,該系統包含: 用於判定對應於將自該快閃記憶體檢索之預取資料之量的一N值的構件; 用於在與一快取記憶體通信之一快取控制器處接收針對一快閃記憶體之一存取請求的構件; 用於判定針對該快閃記憶體之該存取請求是否對應於儲存於該快取記憶體中之一部分資料的構件; 用於若針對該快閃記憶體之該存取請求對應於儲存於該快取記憶體中的該部分資料則回應於存取該快閃記憶體之該請求而返回儲存於該快取記憶體中的該部分資料的構件; 用於若針對該快閃記憶體之該存取請求不對應於儲存於該快取記憶體中之該部分資料則自該快閃記憶體檢索預取資料之一N量且將其儲存在該快取記憶體中的構件;及 用於基於針對該快取記憶體之一快取命中百分比增大該N值的構件。
  25. 如請求項24之系統,其中該N值表示該快閃記憶體中之4千位元組資料塊之一數目。
  26. 如請求項24之系統,其中用於接收針對一快閃記憶體之該存取請求的該構件進一步包含: 用於自與該快取控制器通信之一處理器接收一讀取請求的構件。
  27. 如請求項26之系統,其中該快取控制器為與該處理器分離之一硬體器件。
  28. 如請求項24之系統,其中用於基於該快取命中百分比增大該N值的該構件進一步包含: 用於判定該快取命中百分比高於一臨限值的構件,及 用於若N小於一最大值Nmax 則增大該N值的構件。
  29. 如請求項28之系統,其中用於基於該快取命中百分比增大該N值的該構件進一步包含: 用於判定該快取命中百分比低於該臨限值的構件,及 用於若N高於一最小值Nmin 則減小該N值的構件。
  30. 如請求項29之系統,其進一步包含: 用於回應於針對該快閃記憶體之該存取請求而更新該快取命中百分比的構件。
TW105133734A 2015-10-30 2016-10-19 用於具有適應性預取之快閃記憶體讀取快取之系統及方法 TW201717027A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/929,083 US9734073B2 (en) 2015-10-30 2015-10-30 System and method for flash read cache with adaptive pre-fetch

Publications (1)

Publication Number Publication Date
TW201717027A true TW201717027A (zh) 2017-05-16

Family

ID=57133437

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105133734A TW201717027A (zh) 2015-10-30 2016-10-19 用於具有適應性預取之快閃記憶體讀取快取之系統及方法

Country Status (5)

Country Link
US (1) US9734073B2 (zh)
EP (1) EP3368986A1 (zh)
CN (1) CN108701079A (zh)
TW (1) TW201717027A (zh)
WO (1) WO2017074643A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI732128B (zh) * 2017-08-03 2021-07-01 美商美光科技公司 快取篩選器

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10972574B2 (en) * 2016-04-27 2021-04-06 Seven Bridges Genomics Inc. Methods and systems for stream-processing of biomedical data
US10686906B2 (en) * 2016-05-02 2020-06-16 Netapp, Inc. Methods for managing multi-level flash storage and devices thereof
CN106250064B (zh) * 2016-08-19 2020-05-12 深圳大普微电子科技有限公司 固态硬盘控制装置和基于学习的固态硬盘数据存取方法
US11281587B2 (en) * 2018-01-02 2022-03-22 Infinidat Ltd. Self-tuning cache
US10714159B2 (en) 2018-05-09 2020-07-14 Micron Technology, Inc. Indication in memory system or sub-system of latency associated with performing an access command
US10942854B2 (en) 2018-05-09 2021-03-09 Micron Technology, Inc. Prefetch management for memory
US11010092B2 (en) * 2018-05-09 2021-05-18 Micron Technology, Inc. Prefetch signaling in memory system or sub-system
US10754578B2 (en) 2018-05-09 2020-08-25 Micron Technology, Inc. Memory buffer management and bypass
TW202001791A (zh) * 2018-06-06 2020-01-01 晨星半導體股份有限公司 影像處理系統及其記憶體管理方法
CN110660012A (zh) * 2018-06-29 2020-01-07 晨星半导体股份有限公司 图像处理系统及其内存管理方法
CN111104054B (zh) * 2018-10-29 2023-10-27 伊姆西Ip控股有限责任公司 管理输入/输出操作的方法、装置和计算机程序产品
US10860504B2 (en) 2018-12-05 2020-12-08 New Century Technologies Ltd. Peripheral device with embedded video codec functionality
US10884938B2 (en) * 2018-12-13 2021-01-05 International Business Machines Corporation Method and apparatus for prefetching data items to a cache
US11520703B2 (en) * 2019-01-31 2022-12-06 EMC IP Holding Company LLC Adaptive look-ahead configuration for prefetching data in input/output operations
US11061670B2 (en) * 2019-03-05 2021-07-13 Marvell Asia Pte, Ltd. Dual-interface flash memory controller with execute-in-place cache control
US11210093B2 (en) 2019-04-08 2021-12-28 Micron Technology, Inc. Large data read techniques
CN110955387B (zh) * 2019-10-25 2023-10-24 合肥沛睿微电子股份有限公司 自适应识别闪存类型方法及计算机可读取存储介质及装置
US11182321B2 (en) 2019-11-01 2021-11-23 EMC IP Holding Company LLC Sequentiality characterization of input/output workloads

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030041214A1 (en) 2001-07-27 2003-02-27 Fujitsu Limited Cache control methods and apparatus for hard disk drives
US6983356B2 (en) 2002-12-19 2006-01-03 Intel Corporation High performance memory device-state aware chipset prefetcher
US7146467B2 (en) 2003-04-14 2006-12-05 Hewlett-Packard Development Company, L.P. Method of adaptive read cache pre-fetching to increase host read throughput
KR20070009382A (ko) * 2005-07-15 2007-01-18 엘지전자 주식회사 데이터 재생방법 및 재생장치, 기록매체와 데이터 기록방법및 기록장치
US7676630B2 (en) 2006-10-05 2010-03-09 Sun Microsystems, Inc. Method and apparatus for using a determined file access pattern to perform caching in a file system
JP2008225915A (ja) 2007-03-13 2008-09-25 Fujitsu Ltd プリフェッチ制御装置、記憶装置システムおよびプリフェッチ制御方法
CN100481028C (zh) * 2007-08-20 2009-04-22 杭州华三通信技术有限公司 一种利用缓存实现数据存储的方法和装置
US7702857B2 (en) 2007-08-22 2010-04-20 International Business Machines Corporation Adjusting parameters used to prefetch data from storage into cache
CN101634970B (zh) 2009-08-26 2011-09-07 成都市华为赛门铁克科技有限公司 预取长度调整方法、装置和存储系统
US8291171B2 (en) * 2009-11-30 2012-10-16 Hewlett-Packard Development Company, L.P. Altering prefetch depth based on ready data
US8713260B2 (en) 2010-04-02 2014-04-29 Intel Corporation Adaptive block pre-fetching method and system
JP6146087B2 (ja) * 2013-03-28 2017-06-14 富士通株式会社 ストレージ制御プログラム,ストレージ制御方法,ストレージシステム及びその階層制御装置
US9471510B2 (en) 2013-12-20 2016-10-18 Netapp, Inc. System and method for cache monitoring in storage systems

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI732128B (zh) * 2017-08-03 2021-07-01 美商美光科技公司 快取篩選器
TWI758654B (zh) * 2017-08-03 2022-03-21 美商美光科技公司 快取篩選器

Also Published As

Publication number Publication date
US9734073B2 (en) 2017-08-15
CN108701079A (zh) 2018-10-23
EP3368986A1 (en) 2018-09-05
WO2017074643A1 (en) 2017-05-04
US20170123988A1 (en) 2017-05-04

Similar Documents

Publication Publication Date Title
US9734073B2 (en) System and method for flash read cache with adaptive pre-fetch
US9928168B2 (en) Non-volatile random access system memory with DRAM program caching
EP2936272B1 (en) Reducing power consumption of volatile memory via use of non-volatile memory
US11341059B2 (en) Using multiple memory elements in an input-output memory management unit for performing virtual address to physical address translations
US9104413B2 (en) System and method for dynamic memory power management
CN112272816B (zh) 存储器系统或子系统中的预取信令
JP6276470B2 (ja) ポータブルコンピューティングデバイスの揮発性メモリのスタンバイ電力を低減するためのシステムおよび方法
US9690710B2 (en) System and method for improving a victim cache mode in a portable computing device
CN109074331B (zh) 具有系统高速缓存和本地资源管理的功率降低存储器子系统
JP2014116017A (ja) モバイル装置とアプリケーションプロセッサ及びそのデータ管理方法
US9959075B2 (en) System and method for flush power aware low power mode control in a portable computing device
US9558117B2 (en) System and method for adaptive implementation of victim cache mode in a portable computing device
KR20180048993A (ko) 메모리 상태 천이 타이머들을 동적으로 조정하기 위한 시스템들 및 방법들
JP2017516123A (ja) Dramメモリシステムにおいて省電力静止画像表示リフレッシュを提供するためのシステムおよび方法
US10635594B1 (en) Dynamically redistribute cache space based on time savings
US10592420B1 (en) Dynamically redistribute cache space with min-max technique
CN115268763A (zh) 一种缓存管理方法、装置及设备
JP2018505489A (ja) システムオンチップにおける動的メモリ利用
CN108885587B (zh) 具有系统高速缓存和本地资源管理的功率降低存储器子系统
TWI772438B (zh) 用於計算設備中的動態緩衝器大小設定的系統和方法