TWI696068B - 用於提供高效功率檔案系統操作至一非揮發性區塊記憶體之系統及方法 - Google Patents

用於提供高效功率檔案系統操作至一非揮發性區塊記憶體之系統及方法 Download PDF

Info

Publication number
TWI696068B
TWI696068B TW107106917A TW107106917A TWI696068B TW I696068 B TWI696068 B TW I696068B TW 107106917 A TW107106917 A TW 107106917A TW 107106917 A TW107106917 A TW 107106917A TW I696068 B TWI696068 B TW I696068B
Authority
TW
Taiwan
Prior art keywords
cpu
block memory
memory
storage buffer
volatile block
Prior art date
Application number
TW107106917A
Other languages
English (en)
Other versions
TW201843561A (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 TW201843561A publication Critical patent/TW201843561A/zh
Application granted granted Critical
Publication of TWI696068B publication Critical patent/TWI696068B/zh

Links

Images

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/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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3221Monitoring of peripheral devices of disk drive devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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
    • G06F13/1673Details of memory controller using buffers
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)

Abstract

本發明揭示了用於將高效功率檔案系統操作提供給一非揮發性區塊記憶體之系統、方法及電腦程式。一種系統之一例示性實施例包含具有一檔案系統之一非揮發性區塊記憶體、一動態隨機存取記憶體(DRAM)、以及一系統單晶片(SoC)。該SoC包含一中央處理單元(CPU)、一或多個非核心處理器、一DRAM控制器、耦接至一晶片外處理器之一資料介面、以及一多主機儲存控制器。該CPU在該非揮發性區塊記憶體中分配一儲存緩衝器。該多主機儲存控制器包含一虛擬化用戶端介面,該虛擬化用戶端介面用於在該CPU及該DRAM處於一低功率狀態下時使用該所分配儲存緩衝器來為該非核心處理器及該晶片外處理器提供直接讀取/寫入檔案系統存取。

Description

用於提供高效功率檔案系統操作至一非揮發性區塊記憶體之系統及方法
本發明係關於用於將高效功率檔案系統操作提供給非揮發性區塊記憶體之系統及方法。
攜帶型計算裝置(例如蜂巢式電話、智慧型電話、平板電腦、攜帶型數位助理(portable digital assistant,PDA)、攜帶型遊戲控制台、可穿戴式裝置以及其他電池供電裝置)及其他計算裝置持續供應具有不斷擴展之陣列之特徵及服務,並向使用者提供對資訊、資源以及通信之前所未有之層級的存取。為了與此等服務增強保持同步,此類裝置變得更為強大且更為複雜。攜帶型計算裝置現通常包括包含嵌入於單個基板(例如一或多個中央處理單元(central processing unit,CPU)、圖形處理單元(graphics processing unit,GPU)、數位信號處理器等等)上之一或多個晶片組件之系統單晶片(system on chip,SoC)。SoC可藉由高效能資料及控制介面耦接至一或多個揮發性記憶體裝置(例如動態隨機存取記憶體(dynamic random access memory,DRAM)及一或多個非揮發性儲存裝置(例如快閃儲存裝置)。 快閃儲存裝置可用作操作系統(operating system,O/S)檔案系統。目前,在CPU上執行之O/S負責檔案系統及快閃儲存裝置。因此,其他子系統(例如數位信號處理器(digital signal processor,DSP)及晶片外處理器)必須經過CPU以進行檔案系統存取,這具有若干缺點。CPU變成開銷,此係由於其必須執行程式碼以執行檔案系統/儲存處理,這會促成CPU功耗。此外,DRAM用作用於在CPU與其他子系統之間傳遞資料之中間緩衝器,這會增加系統功耗。 因此,需要用於使得其他子系統能夠直接存取用於檔案系統操作之非揮發性儲存裝置而最少涉及CPU及DRAM之改良式系統及方法。
揭示了用於將高效功率檔案系統操作提供給非揮發性區塊記憶體之系統、方法及電腦程式。一種系統之例示性實施例包含具有檔案系統之非揮發性區塊記憶體、動態隨機存取記憶體(DRAM)、以及系統單晶片(SoC)。該SoC包含中央處理單元(CPU)、一或多個非核心處理器、DRAM控制器、耦接至晶片外處理器之資料介面、以及多主機儲存控制器。該CPU在該非揮發性區塊記憶體中分配儲存緩衝器。該多主機儲存控制器包含虛擬化用戶端介面,該虛擬化用戶端介面用於在該CPU及該DRAM處於低功率狀態下時使用該所分配儲存緩衝器來為該非核心處理器及該晶片外處理器提供直接讀取/寫入檔案系統存取。 一種方法之例示性實施例包含:系統單晶片(SoC)上之中央處理單元(CPU)在具有檔案系統之非揮發性區塊記憶體中分配儲存緩衝器。自該SoC上之非核心處理器及晶片外處理器中之一者接收存取該非揮發性區塊記憶體之請求。回應於該請求,該CPU準備該檔案系統資料結構及所分配儲存緩衝器,且該CPU及電耦接至該SoC之動態隨機存取記憶體(DRAM)進入低功率狀態。當該CPU及該DRAM處於該低功率狀態下時,使用所分配儲存緩衝器以將該非核心處理器或該晶片外處理器直接讀取/寫入存取提供給該非揮發性區塊記憶體上之該檔案系統。
字組「例示性」在本文中用以意謂「充當實例、例子或說明」。在本文中被描述為「例示性」之任何態樣未必應被認作比其他態樣較佳或有利。 在此描述中,術語「應用程式」亦可包括具有可執行內容之檔案,諸如:目標碼、指令碼、位元組碼、標記語言檔案以及修補程式。另外,本文中所提到之「應用程式」亦可包括在本質上不可執行之檔案,諸如可能需要打開的文獻或需要存取的其他資料檔案。 術語「內容」亦可包括具有可執行內容之檔案,諸如:目標碼、指令碼、位元組碼、標記語言檔案及修補程式。另外,本文中所提到之「內容」亦可包括本質上不可執行之檔案,諸如可能需要打開的文獻或需要存取的其他資料檔案。 如在此描述中所使用,術語「組件」、「資料庫」、「模組」、「系統」等等意欲指電腦相關實體,其為硬體、韌體、硬體與軟體之組合、軟體抑或執行中之軟體。舉例而言,組件可以為但不限於在處理器上執行之程序、處理器、物件、可執行程式、執行緒、程式及/或電腦。藉助於說明,在計算裝置上執行之應用程式及計算裝置兩者皆可以為組件。一或多個組件可駐存於過程及/或執行緒內,且組件可局部化於一個電腦上及/或分佈於兩個或多於兩個電腦之間。此外,此等組件可自上面儲存有各種資料結構之各種電腦可讀媒體執行。組件可諸如根據信號而藉助於本端及/或遠端過程通信,信號具有一或多個資料包(例如來自與本端系統中之另一組件、分佈式系統之一個組件及/或藉助於信號跨越與其他系統諸如網際網路等網路交互的資料)。 在此描述中,術語「通信裝置」、「無線裝置」、「無線電話」、「無線通信裝置」與「無線手持機」可互換使用。隨著第三代(「third generation,3G」)無線技術及第四代(「fourth generation,4G」)之出現,更大的頻寬可用性使得更多的攜帶型計算裝置能夠具備更多種無線能力。因此,攜帶型計算裝置可包括蜂巢式電話、尋呼機、PDA、智慧型電話、導航裝置或具有無線連接或鏈路之手持型電腦。 圖1說明系統單晶片(SoC) 102之系統100,SoC 102電耦接至揮發性隨機存取記憶體(VRAM)及非揮發性儲存裝置。VRAM可包含動態隨機存取記憶體(DRAM) 104。非揮發性儲存裝置可包含非揮發性區塊記憶體106,非揮發性區塊記憶體106包含任何類型之高效能非揮發性記憶體,包括例如快閃記憶體、相變記憶體、鐵電記憶體或磁阻記憶體。如以下更詳細地描述,系統100使得處理器子系統(亦即非CPU核心SoC處理器及/或晶片外處理器)能夠針對涉及檔案系統154之操作而直接存取非揮發性區塊記憶體106最少涉及CPU核心108及DRAM 104。 系統100可實施於任何計算裝置中,包括個人電腦、工作站、伺服器、攜帶型計算裝置(portable computing device,PCD) (諸如蜂巢式電話、智慧型電話、攜帶型數位助理(PDA)、攜帶型遊戲控制台、導航裝置、平板電腦)、可穿戴式裝置(諸如運動手錶、健身追蹤裝置等)或其他電池供電,具網路功能之裝置。 SoC 102包含各種晶片上組件,包括藉由SoC匯流排120互連之一或多個中央處理單元(CPU)核心108、DRAM控制器116、靜態隨機存取記憶體(static random access memory,SRAM) 114、唯讀記憶體(read only memory,ROM) 112、多主機儲存控制器118、一或多個數位信號處理器(DSP) 110與串列資料介面111。串列資料介面111包含用於電耦接至SoC 102之外部晶片126之資料介面。在實施例中,資料介面支援高速串列匯流排標準,諸如快速PCI(PCI Express,PCIe)。外部晶片126可包含經組態以支援各種功能性或用例(例如用例129及131)之外部DSP 127。 CPU核心108可執行高級操作系統(high-level operating system,HLOS) 130,HLOS 130用於管理系統硬體及軟體資源並為應用程式提供通用服務。HLOS 130包含檔案系統132及向非揮發性區塊記憶體106提供軟體介面之儲存驅動器134。DSP 110亦可執行本端O/S 136,本端O/S 136亦包括用於提供給非揮發性區塊記憶體106之軟體介面之儲存驅動器138。 應瞭解,儲存操作可涉及各種資料結構。在一實施例中,涉及儲存操作之資料結構可被視為三種高級類別。第一資料結構類別包含用於儲存操作之儲存描述符。此資料結構可由儲存驅動器138產生,儲存驅動器138向控制器提供資訊以進行操作。資訊可包含例如源位置及源之長度、目的地位置等等。在一實施例中,儲存描述符可儲存於DRAM 104 (例如儲存驅動器描述符142)中或諸如SRAM 140等晶片上RAM中(例如儲存驅動器描述符140),該記憶體可由儲存控制器硬體直接存取。第二資料結構類別包含非揮發性區塊記憶體106中之資料,該資料可涉及例如讀取操作之源資料或寫入操作之目的地。第三資料結構類別涉及讀取操作之目的地處之資料及寫入操作之源資料。此資料可儲存於DRAM 104或SRAM 140中,該記憶體可由儲存控制器硬體中之直接記憶體存取(direct memory access,DMA)引擎直接存取。 一例示性方法可使用SRAM 114以儲存驅動器描述符140。其亦可儲存於外部晶片126上且由儲存控制器藉由直接可定址晶片間介面(例如PCIe介面111)存取。應瞭解,藉由在SRAM 114中(或在外部晶片126上)分配儲存驅動器描述符及與第三類別之資料結構相關聯之資料,而非在DRAM 104中分配資料或必須將外部資料複製至DRAM 104中,可降低系統功耗。 DRAM控制器116管理藉由RAM匯流排122出入DRAM 104之資料流。DRAM控制器116通常包含用於讀取及寫入至DRAM 104之邏輯。 多主機儲存控制器118管理藉由高速匯流排124出入非揮發性區塊記憶體106之資料流。多主機儲存控制器118提供輸入/輸出(input/output,I/O)虛擬化。應瞭解,多主機儲存控制器118可支援用於管理記憶體映射I/O空間之現有主機控制器介面(host controller interface,HCI)規格,例如通用快閃儲存主機控制器介面(Universal Flash Storage Host Controller Interface,UFSHCI)規格。如圖1中所說明,多主機儲存控制器118可包含各種能力及操作型暫存器組。VBASE暫存器組144可由啟動及預O/S設置操作使用。VCTL暫存器組146可提供虛擬化控制,諸如聲明虛擬化能力、將資源分配給用戶端、存取控制、截留濾波器、及處置所截取命令。VCLI暫存器組148、150及152包含由不同用戶端主機使用之虛擬化用戶端介面。作為實例,VCLI_0 148可由CPU核心108使用。VCLI_1 150可由DSP 110使用。VCLI_2 152可由定位於外部晶片126上之DSP 127使用。如在圖1中進一步說明,非揮發性區塊記憶體106可針對涉及檔案系統154之操作而分配一或多個儲存緩衝器156、158及160。 圖2說明系統100中實施之用於在涉及檔案系統154之操作期間提供對非揮發性區塊記憶體106之高效功率直接存取的一個例示性方法200。在區塊202處,SoC 102上之CPU核心108在非揮發性區塊記憶體106中分配一或多個儲存緩衝器。如圖3a中所說明,儲存緩衝器156可分配至晶片上DSP 110。儲存緩衝器158及160可分配至晶片外DSP 127。應瞭解,各種檔案系統相關用例可同時操作。舉例而言,可針對用例129分配儲存緩衝器158,並可針對用例131分配儲存緩衝器160。如在圖3a中進一步說明,在參考字母a、b及c處,CPU核心108與VBASE暫存器組144、VCTL暫存器組146及VCLI_0暫存器組148介接。VCLI_0 148可由CPU核心108使用以更新檔案系統154。如由參考字母d展示,DSP 110上之儲存驅動器138與VCTL_1暫存器組150介接,VCTL_1暫存器組150經分配給儲存緩衝器156。如由參考字母e展示,PCIe介面111與VCTL_2 152介接,VCTL_2 152經分配給儲存緩衝器158及160。 再次參考圖2之方法,在決策區塊204處,可藉由晶片外DSP 127或非核心晶片上處理器(例如DSP 110)請求涉及檔案系統154之操作。作為實例,檔案系統存取請求可涉及應用程式下載、檔案傳送、或涉及數據機之伺服器備份/恢復。回應於請求,在區塊206處,CPU核心108可在非揮發性區塊記憶體106中分配緩衝器,準備檔案系統資料結構,並接著在不存在待處理任務之情況下進入低功率狀態。在區塊208處,雖然CPU 108及DRAM 104處於低功率狀態下,但所分配儲存緩衝器可用以提供對非揮發性區塊記憶體154上之檔案系統154之非核心處理器或晶片外處理器直接讀取/寫入存取。如圖3b中所說明,若請求來自DSP 110,則VCTL_1 150可用以控制對儲存緩衝器156之直接存取(參考字母h)。若請求來自晶片外DSP 127,則VCTL_2 152可用以控制分別對儲存緩衝器158或160之直接存取(參考字母f及g)。在圖3b中,CPU核心108及DRAM 104經灰視以指示其置於低功率狀態下,同時提供直接存取以降低系統功耗。 當檔案系統存取操作完成(決策區塊210)時,用例可向CPU發送將資料整合至檔案系統中之信號,且CPU 108及DRAM 104可接著離開低功率狀態。在區塊212處,CPU 108可使用含於對應儲存緩衝器中之資料來更新非揮發性區塊記憶體106上之檔案系統154。圖3c中之參考字母i說明VCTL_0 148以CPU核心108更新檔案系統154,且DRAM經灰視以說明此等組件不再處於低功率狀態下。 應瞭解,可以各種方式執行對儲存緩衝器之分配。在圖4中所說明之實施例中,所分配儲存緩衝器可包含固定分割緩衝器。舉例而言,HLOS 130可預分配對非揮發性記憶體106中之固定邏輯區塊位址(logical block address,LBA)之分割。自DSP 110或外部晶片126之存取可寫入至對應所分配儲存緩衝器156。CPU 108可在DSP 110對非揮發性區塊記憶體106進行操作時處於低功率狀態下。圖4說明存取來自DSP 110之實例。在此實例中,DSP 110上之儲存驅動器138可包含直接記憶體存取(DMA)驅動器以提供高頻寬操作。在圖4中之參考標號402處,檔案系統154可由駐存於CPU 108上之HLOS儲存驅動器134更新。應瞭解,HLOS儲存驅動器具有關於用以在參考標號404中指DSP儲存驅動器138正/將對其操作之儲存位址的可用邏輯區塊位址資訊。 現有非揮發性區塊裝置106可包含以下功能:在實體區塊當中的裝置內移轉資料,而不受SoC側儲存控制器118干預並不改變資料邏輯區塊位址(LBA)。此功能出於諸如耗損均衡等目的而被稱為後群操作。應瞭解,可包括新功能以允許SoC 102藉由發指令給裝置以重新映射保持資料之實體區塊來實施此機制。實體區塊可自CPU分配給非CPU用例(例如儲存緩衝器156、158及160)之初始LBA重新映射至處於CPU之控制下的新LBA (例如檔案系統154)。此外,對儲存緩衝器156、158及160可用的新實體區塊可與CPU分配給非CPU用例之初始LBA一起映射。接著,HLOS檔案系統驅動器可以新LBA更新檔案系統之索引節點(iNode)。應瞭解,此方法可不用於具有儲存加密之系統中,其中加密密鑰與非揮發性區塊記憶體中之LBA相關聯,此係由於資料之LBA會在重新映射之過程中改變。 圖5說明用於實施運行時間動態緩衝器分配之另一實施例。在參考標號510處,用於使用者應用程式502之用例驅動器可向HLOS 130發送產生隨附有大小參數之某一檔案之請求。在參考標號520處,HLOS 130打開檔案,獲得檔案句柄、且在非揮發性區塊記憶體106中分配緩衝器。如圖5中所說明,非揮發性區塊記憶體106中之可用邏輯區塊可在用例分配及解除分配之後獲得片段。HLOS 130中之儲存驅動器134可在非揮發性區塊記憶體106中分配緩衝器,緩衝器由一系列片段化緩衝器B1、B2、…B5組成,合計成來自使用者應用程式502之請求之大小。HLOS 130中之檔案系統132可運用所分配緩衝器預建構檔案系統資料結構,但是緩衝器尚未填滿。應瞭解,現有HLOS檔案系統可設計成具有能夠處置儲存裝置中之片段化的資料結構。資料結構可包括數個「擴展」,擴展包含以下各項:用以指示檔案內之區塊偏移之「偏移」變數、用以指示儲存裝置中之「偏移」變數之對應LBA的「開始區塊」;以及用以指示「擴展」之長度的「長度」變數。 檔案系統可首先將擴展之狀態標記為「無效」,以指示此資料結構內容為空。本文中所描述之系統及方法可充分利用現有HLOS檔案系統資料結構設計,並基於該設計而實現用以傳達緩衝器分配之方法。在參考標號530處,HLOS 130可將緩衝器資訊傳遞至DSP 110,並允許藉由對SoC 102上之存取控制及儲存控制器118上之存取控制進行組態來自DSP用例直接存取儲存裝置。在實施例中,HLOS 130可使用來自檔案系統資料結構中之「開始區塊」及「長度」之資訊來建構緩衝器資訊。緩衝器資訊可包含包含開始區塊行及長度行之儲存緩衝器資料表504。開始區塊行識別LBA,LBA反映檔案系統資料結構中之「開始區塊」值,且長度行識別區塊之數目,區塊之數目反映檔案系統資料結構中之「長度」值。表中之每一列可表示儲存裝置中之一個緩衝器(例如第一列代表在LBA 250處開始之B1及5個區塊之長度,第二列代表在LBA 100處開始之B2及7個區塊之長度)。在傳遞緩衝器資訊之後,若不存在其他任務,則CPU核心108及DRAM 104可進入低功率模式,同時DSP 110在檔案系統相關操作上直接存取非揮發性區塊記憶體106。在參考標號540處,DSP 110對片段化儲存緩衝器156進行操作。當緩衝器完全消耗時或當子系統用例完成時,DSP 110可向HLOS 130發送回起始檔案系統更新之就緒信號。HLOS 130接著自DSP用例取回存取控制,並將擴展之狀態標記為「有效」,以指示此資料結構內容在適當的位置。應瞭解,此方法可在具有儲存加密之系統中尤其有利,其中加密密鑰與非揮發性區塊記憶體中之LBA相關聯,此係由於資料與所分配LBA一起。 如上文所提到,系統100可併入至任何合乎需要之計算系統中。圖6說明併入於例示性攜帶型計算裝置(portable computing device,PCD) 600中之系統100。應易於瞭解,系統100之某些組件包括於SoC 622 (圖6)上,而其他組件(例如DRAM 104及非揮發性區塊記憶體106)為耦接至SoC 622之外部組件。SoC 622可包括多核心CPU 602。多核心CPU 602可包括第零核心610、第一核心612及第N核心614。該等核心中之一者可包含例如圖形處理單元(GPU),而其他核心中之一或多者包含CPU。 顯示器控制器628及觸控螢幕控制器630可耦接至CPU 602。反過來,系統單晶片622外部之觸控螢幕顯示器606可耦接至顯示器控制器628及觸控螢幕控制器630。 圖6進一步展示視訊編碼器634、例如逐行倒相(phase alternating line,PAL)編碼器、順序傳送彩色與儲存(sequential color a memoire,SECAM)編碼器或國家電視系統委員會(national television system(s) committee,NTSC)編碼器耦接至多核心CPU 602。另外,視訊放大器636耦接至視訊編碼器634及觸控螢幕顯示器606。而且,視訊埠638耦接至視訊放大器636。如圖6中所展示,通用串列匯流排(universal serial bus,USB)控制器640耦接至多核心CPU 602。而且,USB埠642耦接至USB控制器640。 另外,如圖6中所展示,數位相機648可耦接至多核心CPU 602。在例示性態樣中,數位相機648為電荷耦合裝置(charge-coupled device,CCD)相機或互補金屬氧化物半導體(complementary metal-oxide semiconductor,CMOS)相機。 如圖6中所進一步說明,立體聲音訊編碼解碼器(coder-decoder,CODEC) 650可耦接至多核心CPU 602。此外,音訊放大器652可耦接至立體聲音訊CODEC 650。在例示性態樣中,第一立體聲揚聲器654及第二立體聲揚聲器656耦接至音訊放大器652。圖6展示麥克風放大器658亦可耦接至立體聲音訊CODEC 650。另外,麥克風660可耦接至麥克風放大器658。在特定態樣中,調頻(frequency modulation,FM)無線電調諧器662可耦接至立體聲音訊CODEC 650。而且,FM天線664耦接至FM無線電調諧器662。另外,立體聲頭戴式耳機666可耦接至立體聲音訊CODEC 650。 圖6進一步說明射頻(radio frequency,RF)收發器668可耦接至多核心CPU 602。RF開關670可耦接至RF收發器668及RF天線672。小鍵盤604可耦接至多核心CPU 602。而且,具有麥克風之單聲道耳機676可耦接至多核心CPU 602。另外,振動器裝置678可耦接至多核心CPU 602。 圖6亦展示電源680可耦接至系統單晶片622。在特定態樣中,電源680為直流電(direct current,DC)電源,其向需要電力之PCD 600之各組件提供電力。另外,在特定態樣中,電源為充電DC電池或DC電源,DC電源來源於連接至交流電(alternating current,AC)電源之AC至DC變壓器。 圖6進一步指示PCD 600亦可包括可用以存取資料網路之網卡688,資料網路例如區域網路、個人區域網路或任何其他網路。網卡688可以為藍芽網卡、WiFi網卡、個人區域網路(personal area network,PAN)卡、個人區域網路超低電力技術(personal area network ultra-low-power technology,PeANUT)網卡、電視/電纜/衛星調諧器或此項技術中熟知之任何其他網卡。另外,可將網卡688併入至晶片中,亦即,網卡688可以為晶片中之完整解決方案,並可能並非單獨網卡688。 如圖6中所描繪,觸控螢幕顯示器606、視訊埠638、USB埠642、相機648、第一立體聲揚聲器654、第二立體聲揚聲器656、麥克風660、FM天線664、立體聲頭戴式耳機666、RF開關670、RF天線672、小鍵盤674、單聲道耳機676、振動器678及電源680可在系統單晶片622外部。 應瞭解,本文中所描述之方法步驟中之一或多者可作為電腦程式指令,諸如上文所描述之模組,儲存於記憶體中。此等指令可結合對應模組或與對應模組合作而由任何適合之處理器執行,從而執行本文中所描述之方法。 為了讓本發明如所描述一樣起作用,本說明書中描述之過程或過程流程中之某些步驟自然地先於其他步驟。但是,若此次序或序列不會更改本發明之功能性,則本發明不限於所描述步驟之次序。即,已認識到一些步驟可在其他步驟之前、之後或與其平行(大體上與其同步)執行而不背離本發明之範疇及精神。在一些情況下,可在不背離本發明之情況下省略或不執行某些步驟。另外,諸如「此後」、「隨後」、「接著」等字組並不意欲限制步驟之次序。此等字組僅用以引導讀者閱讀本方法之描述。 另外,舉例而言,一般熟習程式化技術者能夠基於本說明書中之流程圖及相關聯描述而輕鬆地編寫電腦程式碼或識別適當之硬體及/或電路以實施所揭示發明。 因此,對特定一組程式碼指令或詳細硬體裝置之揭示內容不被視為對於充分理解如何製作並使用本發明而言為必要的。在上文之描述中且結合可說明各種過程流程之圖式更詳細地解釋所主張電腦實施之程序之創造性功能性。 在一或多個例示性態樣中,所描述功能可在硬體、軟體、韌體或其任何組合中予以實施。若以軟體實施,則可將功能作為一或多個指令或程式碼而儲存於電腦可讀媒體上或藉由電腦可讀媒體傳輸。電腦可讀媒體包括電腦儲存媒體及通信媒體兩者,通信媒體包括促進電腦程式自一處傳送至另一處之任何媒體。儲存媒體可以為可由電腦存取之任何可用媒體。作為實例且非限制,此類電腦可讀媒體可包含RAM、ROM、EEPROM、NAND快閃記憶體、NOR快閃記憶體、M-RAM、P-RAM、R-RAM、CD-ROM或其他光碟儲存裝置、磁碟儲存裝置或其他磁性儲存裝置、或可用以攜載或儲存呈指令或資料結構形式之期望程式碼並可由電腦存取之任何其他媒體。 而且,任何連接被適當地稱為電腦可讀媒體。舉例而言,若使用同軸電纜、光纖纜線、雙絞線、數位用戶線(「digital subscriber line,DSL」)或諸如紅外線、無線電及微波等無線技術自網站、伺服器或其他遠端源傳輸軟體,則同軸電纜、光纖纜線、雙絞線、DSL或諸如紅外線、無線電及微波等無線技術包括於媒體之定義中。 如本文中所使用之磁碟及光碟包括緊密光碟(「compact disc,CD」)、雷射光碟、光學光碟、數位多功能光碟(「digital versatile disc,DVD」)、軟碟及藍光光碟,其中磁碟通常以磁性方式再現資料,而光碟用雷射以光學方式再現資料。以上各項之組合亦應包括於電腦可讀媒體之範疇內。 替代性實施例將對於一般熟習此項技術者變得顯而易見,本發明在不脫離其精神及範疇之情況下係關於該等替代性實施例。因此,雖然已詳細說明並描述了選定態樣,但應理解,在不脫離如以下申請專利範圍所界定之本發明之精神及範疇的情況下,可在其中進行各種替代及更改。
100‧‧‧系統102‧‧‧系統單晶片(SoC)104‧‧‧動態隨機存取記憶體(DRAM)106‧‧‧非揮發性區塊記憶體108‧‧‧中央處理單元(CPU)核心110‧‧‧數位信號處理器(DSP)111‧‧‧串列資料介面112‧‧‧唯讀記憶體(ROM)114‧‧‧靜態隨機存取記憶體(SRAM)116‧‧‧DRAM控制器118‧‧‧儲存控制器120‧‧‧SoC匯流排122‧‧‧RAM匯流排124‧‧‧高速匯流排126‧‧‧外部晶片127‧‧‧外部DSP129‧‧‧用例130‧‧‧高級操作系統(HLOS)131‧‧‧用例132‧‧‧檔案系統134‧‧‧儲存驅動器136‧‧‧本端O/S138‧‧‧儲存驅動器140‧‧‧儲存驅動器描述符142‧‧‧儲存驅動器描述符144‧‧‧VBASE暫存器組146‧‧‧VCTL暫存器組148‧‧‧VCLI暫存器組/VCLI_0150‧‧‧VCLI暫存器組/VCLI_1152‧‧‧VCLI暫存器組/VCLI_2154‧‧‧檔案系統156‧‧‧儲存緩衝器158‧‧‧儲存緩衝器160‧‧‧儲存緩衝器200‧‧‧方法202~212‧‧‧區塊500‧‧‧使用者應用程式502‧‧‧使用者應用程式504‧‧‧儲存緩衝器資料表510~550‧‧‧參考標號600‧‧‧攜帶型計算裝置(PCD)602‧‧‧多核心CPU604‧‧‧小鍵盤606‧‧‧觸控螢幕顯示器610‧‧‧第零核心612‧‧‧第一核心614‧‧‧第N核心622‧‧‧系統單晶片/SoC628‧‧‧顯示器控制器630‧‧‧觸控螢幕控制器634‧‧‧視訊編碼器636‧‧‧視訊放大器638‧‧‧視訊埠640‧‧‧通用串列匯流排(USB)控制器642‧‧‧USB埠646‧‧‧SIM卡648‧‧‧數位相機650‧‧‧立體聲音訊編碼解碼器(CODEC)652‧‧‧音訊放大器654‧‧‧第一立體聲揚聲器656‧‧‧第二立體聲揚聲器658‧‧‧麥克風放大器660‧‧‧麥克風662‧‧‧調頻(FM)無線電調諧器664‧‧‧FM天線666‧‧‧立體聲頭戴式耳機668‧‧‧射頻(RF)收發器670‧‧‧RF開關672‧‧‧RF天線676‧‧‧單聲道耳機678‧‧‧振動器680‧‧‧電源688‧‧‧網卡B1~B5‧‧‧片段化緩衝器
在圖式中,除非另有指示,否則相同參考數字指貫穿各種視圖之相同部分。對於例如「102A」或「102B」等具有字母字元名稱之參考標號而言,字母字元名稱可區分相同圖中存在之兩個相同部件或元件。當希望參考標號涵蓋所有圖式中具有相同參考標號之所有部件時,可省略參考標號之字母字元名稱。 圖1為用於提供對非揮發性區塊記憶體之高效功率直接檔案系統存取之系統之實施例的方塊圖。 圖2為說明圖1之系統中實施的用於提供對非揮發性區塊記憶體之高效功率直接檔案系統存取之方法之實施例的流程圖。 圖3a說明儲存緩衝器分配階段期間之圖1之系統。 圖3b說明在CPU及DRAM在低功率狀態下時使用儲存緩衝器對非揮發性記憶體區塊進行直接檔案系統存取期間之圖1之系統。 圖3c說明檔案系統更新階段期間之圖1之系統。 圖4說明圖1之系統中之固定分割緩衝器之例示性實施方案。 圖5為說明運行時間動態緩衝器分配之例示性實施例之方塊圖/流程圖。 圖6為用於併有圖1之系統之攜帶型計算裝置之實施例的方塊圖。
100‧‧‧系統
102‧‧‧系統單晶片(SoC)
104‧‧‧動態隨機存取記憶體(DRAM)
106‧‧‧非揮發性區塊記憶體
108‧‧‧中央處理單元(CPU)核心
110‧‧‧數位信號處理器(DSP)
111‧‧‧串列資料介面
112‧‧‧唯讀記憶體(ROM)
114‧‧‧靜態隨機存取記憶體(SRAM)
116‧‧‧DRAM控制器
118‧‧‧儲存控制器
120‧‧‧SoC匯流排
122‧‧‧RAM匯流排
124‧‧‧高速匯流排
126‧‧‧外部晶片
127‧‧‧外部DSP
129‧‧‧用例
130‧‧‧高級操作系統(HLOS)
131‧‧‧用例
132‧‧‧檔案系統
134‧‧‧儲存驅動器
136‧‧‧本端O/S
138‧‧‧儲存驅動器
140‧‧‧儲存驅動器描述符
142‧‧‧儲存驅動器描述符
144‧‧‧VBASE暫存器組
146‧‧‧VCTL暫存器組
148‧‧‧VCLI暫存器組/VCLI_0
150‧‧‧VCLI暫存器組/VCLI_1
152‧‧‧VCLI暫存器組/VCLI_2
154‧‧‧檔案系統
156‧‧‧儲存緩衝器
158‧‧‧儲存緩衝器
160‧‧‧儲存緩衝器

Claims (30)

  1. 一種用於將高效功率檔案系統操作提供給一非揮發性區塊記憶體之方法,該方法包含: 一系統單晶片上之一中央處理單元(CPU)在具有一檔案系統之一非揮發性區塊記憶體中分配一儲存緩衝器; 自該SoC上之一非核心處理器及一晶片外處理器中之一者接收存取該非揮發性區塊記憶體之一請求; 回應於該請求,該CPU準備一檔案系統資料結構及該所分配儲存緩衝器,且該CPU及電耦接至該SoC之一動態隨機存取記憶體進入一低功率狀態;以及 在該CPU及該DRAM處於該低功率狀態下時,使用該所分配儲存緩衝器以將該非核心處理器或該晶片外處理器直接讀取/寫入存取提供給該非揮發性區塊記憶體上之該檔案系統。
  2. 如請求項1之方法,其中該非揮發性區塊記憶體中之該所分配儲存緩衝器包含一預分配、固定分割緩衝器。
  3. 如請求項1之方法,其進一步包含: 回應於完成該讀取/寫入存取,發指令給該CPU及該DRAM以離開該低功率狀態;且 該CPU使用含於該所分配儲存緩衝器中之資料來更新該非揮發性區塊記憶體上之該檔案系統。
  4. 如請求項1之方法,其中該CPU在運行時間期間動態地分配該儲存緩衝器。
  5. 如請求項4之方法,其中該CPU使用來自該檔案系統資料結構之資訊,將一儲存緩衝器資料表提供給該非核心處理器或該晶片外處理器以存取該非揮發性區塊記憶體中之一片段化儲存緩衝器,並在完成該非核心處理器或該晶片外處理器用例之後更新檔案系統資料結構中之一狀態。
  6. 如請求項1之方法,其中該非揮發性區塊記憶體包含一快閃記憶體。
  7. 如請求項1之方法,其中該非揮發性區塊記憶體包含一相變記憶體、一鐵電記憶體及一磁阻記憶體中之一者。
  8. 一種用於將高效功率檔案系統操作提供給一非揮發性區塊記憶體之系統,該系統包含: 用於在電耦接至一系統單晶片(SoC)之一非揮發性區塊記憶體中分配一儲存緩衝器之構件; 用於自該SoC上之一非核心處理器及一晶片外處理器中之一者接收存取該非揮發性區塊記憶體之一請求之構件; 用於回應於該請求而發指令給該SoC上之一中央處理單元(CPU)及電耦接至該SoC之一動態隨機存取記憶體(DRAM)以進入一低功率狀態之構件;以及 用於在該CPU及該DRAM處於該低功率狀態下時使用該所分配儲存緩衝器以將該非核心處理器或該晶片外處理器直接讀取/寫入存取提供給該非揮發性區塊記憶體上之該檔案系統之構件。
  9. 如請求項8之系統,其中該非揮發性區塊記憶體中之該所分配儲存緩衝器包含一預分配、固定分割緩衝器。
  10. 如請求項8之系統,其進一步包含: 用於回應於完成該讀取/寫入存取而發指令給該CPU及該DRAM以離開該低功率狀態之構件;及 該CPU使用含於該所分配儲存緩衝器中之資料來更新該非揮發性區塊記憶體上之一檔案系統。
  11. 如請求項8之系統,其中該用於分配該儲存緩衝器之構件包含該CPU,且該CPU在運行時間期間動態地分配該儲存緩衝器。
  12. 如請求項11之系統,其中該CPU將一儲存緩衝器資料表提供給該非核心處理器或該晶片外處理器以存取該非揮發性區塊記憶體中之一片段化儲存緩衝器。
  13. 如請求項8之系統,其中該非揮發性區塊記憶體包含一快閃記憶體。
  14. 如請求項8之系統,其中該非揮發性區塊記憶體包含一相變記憶體、一鐵電記憶體及一磁阻記憶體中之一者。
  15. 一種電腦程式,其體現於一非暫時性電腦可讀媒體中並可由用於將高效功率檔案系統操作提供給一非揮發性區塊記憶體之一處理器執行,該電腦程式包含經組態以執行以下操作的邏輯: 在電耦接至一系統單晶片(SoC)之一非揮發性區塊記憶體中分配一儲存緩衝器; 自該SoC上之一非核心處理器及一晶片外處理器中之一者接收存取該非揮發性區塊記憶體之一請求; 回應於該請求而發指令給該SoC上之一中央處理單元(CPU)及電耦接至該SoC之一動態隨機存取記憶體(DRAM)以進入一低功率狀態;以及 在該CPU及該DRAM處於該低功率狀態下時使用該所分配儲存緩衝器以將該非核心處理器或該晶片外處理器直接讀取/寫入存取提供給該非揮發性區塊記憶體上之該檔案系統。
  16. 如請求項15之電腦程式,其中該非揮發性區塊記憶體中之該所分配儲存緩衝器包含一預分配、固定分割緩衝器。
  17. 如請求項15之電腦程式,其進一步包含經組態以執行以下操作的邏輯: 在完成該非核心處理器或該晶片外處理器之讀取/寫入存取之後,即刻發指令給該CPU及該DRAM以離開該低功率狀態;且 使用含於該所分配儲存緩衝器中之資料來更新該非揮發性區塊記憶體上之一檔案系統。
  18. 如請求項15之電腦程式,其中該CPU在運行時間期間動態地分配該儲存緩衝器。
  19. 如請求項18之電腦程式,其中該CPU將一儲存緩衝器資料表提供給該非核心處理器或該晶片外處理器以存取該非揮發性區塊記憶體中之一片段化儲存緩衝器。
  20. 如請求項15之電腦程式,其中該非揮發性區塊記憶體包含一快閃記憶體。
  21. 如請求項15之電腦程式,其中該非揮發性區塊記憶體包含一相變記憶體、一鐵電記憶體及一磁阻記憶體中之一者。
  22. 一種用於將高效功率檔案系統操作提供給一非揮發性區塊記憶體之系統,該系統包含: 一非揮發性區塊記憶體,其具有一檔案系統; 一動態隨機存取記憶體(DRAM);以及 一系統單晶片(SoC),其包含一中央處理單元(CPU)、一或多個非核心處理器、一DRAM控制器、耦接至一晶片外處理器之一資料介面及一多主機儲存控制器,該CPU在該非揮發性區塊記憶體中分配一儲存緩衝器,且該多主機儲存控制器包含一虛擬化用戶端介面,該虛擬化用戶端介面用於在該CPU及該DRAM處於一低功率狀態下時使用該儲存緩衝器來為該非核心處理器及該晶片外處理器提供直接讀取/寫入檔案系統存取。
  23. 如請求項22之系統,其中該非揮發性區塊記憶體中之該所分配儲存緩衝器包含一預分配、固定分割緩衝器。
  24. 如請求項22之系統,其中該CPU使用含於該所分配儲存緩衝器中之資料來更新該非揮發性區塊記憶體上之該檔案系統。
  25. 如請求項22之系統,其中該CPU在運行時間期間動態地分配該儲存緩衝器。
  26. 如請求項25之系統,其中該CPU將一儲存緩衝器資料表提供給該非核心處理器或該晶片外處理器以存取該非揮發性區塊記憶體中之一片段化儲存緩衝器。
  27. 如請求項22之系統,其中該非揮發性區塊記憶體包含一快閃記憶體。
  28. 如請求項22之系統,其中該非揮發性區塊記憶體包含一相變記憶體、一鐵電記憶體及一磁阻記憶體中之一者。
  29. 如請求項22之系統,其併入於一攜帶型計算裝置中。
  30. 如請求項22之系統,其中該攜帶型計算裝置包含一智慧型電話、一平板電腦及一攜帶型遊戲裝置中之一者。
TW107106917A 2017-03-13 2018-03-02 用於提供高效功率檔案系統操作至一非揮發性區塊記憶體之系統及方法 TWI696068B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/457,899 US10579516B2 (en) 2017-03-13 2017-03-13 Systems and methods for providing power-efficient file system operation to a non-volatile block memory
US15/457,899 2017-03-13

Publications (2)

Publication Number Publication Date
TW201843561A TW201843561A (zh) 2018-12-16
TWI696068B true TWI696068B (zh) 2020-06-11

Family

ID=61599585

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107106917A TWI696068B (zh) 2017-03-13 2018-03-02 用於提供高效功率檔案系統操作至一非揮發性區塊記憶體之系統及方法

Country Status (3)

Country Link
US (1) US10579516B2 (zh)
TW (1) TWI696068B (zh)
WO (1) WO2018169645A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI637268B (zh) * 2017-03-22 2018-10-01 慧榮科技股份有限公司 主機裝置與資料傳輸速率控制方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200604934A (en) * 2004-07-16 2006-02-01 Benq Corp Firmware management system and method thereof
US20060190671A1 (en) * 2005-02-23 2006-08-24 Jeddeloh Joseph M Memory device and method having multiple internal data buses and memory bank interleaving
US20110185264A1 (en) * 2010-01-27 2011-07-28 Link_A_Media Devices Corporation Ldpc decoding with on the fly error recovery
US20140198116A1 (en) * 2011-12-28 2014-07-17 Bryan E. Veal A method and device to augment volatile memory in a graphics subsystem with non-volatile memory

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828856A (en) 1994-01-28 1998-10-27 Apple Computer, Inc. Dual bus concurrent multi-channel direct memory access controller and method
US5634099A (en) 1994-12-09 1997-05-27 International Business Machines Corporation Direct memory access unit for transferring data between processor memories in multiprocessing systems
US9239607B2 (en) 2011-12-22 2016-01-19 Intel Corporation Storing data using a direct data path architecture to reduce energy consumption and improve performance
US9098491B2 (en) 2012-11-23 2015-08-04 Hong Kong Applied Science and Technology Research Institute Company Limited Method and system for performing data transfer with a flash storage medium
US20140229657A1 (en) 2013-02-08 2014-08-14 Microsoft Corporation Readdressing memory for non-volatile storage devices
US8949486B1 (en) 2013-07-17 2015-02-03 Mellanox Technologies Ltd. Direct memory access to storage devices
TWI653527B (zh) * 2014-12-27 2019-03-11 美商英特爾公司 當計算元件運作時致能系統低電力狀態之技術
US10078614B2 (en) 2015-08-10 2018-09-18 Sandisk Technologies Llc Systems and methods of data transfer
US10216419B2 (en) * 2015-11-19 2019-02-26 HGST Netherlands B.V. Direct interface between graphics processing unit and data storage unit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200604934A (en) * 2004-07-16 2006-02-01 Benq Corp Firmware management system and method thereof
US20060190671A1 (en) * 2005-02-23 2006-08-24 Jeddeloh Joseph M Memory device and method having multiple internal data buses and memory bank interleaving
US20110185264A1 (en) * 2010-01-27 2011-07-28 Link_A_Media Devices Corporation Ldpc decoding with on the fly error recovery
US20140198116A1 (en) * 2011-12-28 2014-07-17 Bryan E. Veal A method and device to augment volatile memory in a graphics subsystem with non-volatile memory

Also Published As

Publication number Publication date
US20180260320A1 (en) 2018-09-13
WO2018169645A1 (en) 2018-09-20
TW201843561A (zh) 2018-12-16
US10579516B2 (en) 2020-03-03

Similar Documents

Publication Publication Date Title
US10282192B1 (en) Updating device code through a bus
US10324832B2 (en) Address based multi-stream storage device access
KR101995623B1 (ko) 고속 구성 메커니즘을 위한 장치, 방법, 및 시스템
KR102137761B1 (ko) 이종 통합 메모리부 및 그것의 확장 통합 메모리 스페이스 관리 방법
KR101625777B1 (ko) 휘발성 메모리 및 비휘발성 메모리 간의 코드 및 데이터 저장소들을 분산하기 위한 방법 및 장치
US9928168B2 (en) Non-volatile random access system memory with DRAM program caching
US20170177497A1 (en) Compressed caching of a logical-to-physical address table for nand-type flash memory
TWI477967B (zh) 用以實現gpu加速位址轉換之系統及方法以及圖形處理器
US20150286565A1 (en) System and method for allocating memory to dissimilar memory devices using quality of service
US11526440B2 (en) Providing multiple memory modes for a processor including internal memory
US20190171392A1 (en) Method of operating storage device capable of reducing write latency
US20180365425A1 (en) Systems and methods for securely booting a system on chip via a virtual collated internal memory pool
JP2017519294A (ja) フラッシュメモリベースストレージデバイスのマルチホスト電力コントローラ(mhpc)
US9632953B2 (en) Providing input/output virtualization (IOV) by mapping transfer requests to shared transfer requests lists by IOV host controllers
CN106575273B (zh) 用于扩展片上系统的存储器的系统和方法
WO2016058560A1 (zh) 一种基于服务端与外部缓存系统的外接式计算设备加速方法与实现该方法的设备
US20240061618A1 (en) Storage device and operating method thereof
US20220116322A1 (en) Interconnect network for multi-tile system on chips
US11157191B2 (en) Intra-device notational data movement system
TWI696068B (zh) 用於提供高效功率檔案系統操作至一非揮發性區塊記憶體之系統及方法
US11182289B1 (en) Memory system and operating method thereof
KR20170038282A (ko) 전자 장치 및 그 부팅 방법
US9251100B2 (en) Bitmap locking using a nodal lock
US10853293B2 (en) Switch-based inter-device notational data movement system
US20160320972A1 (en) Adaptive compression-based paging

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees