TW201719430A - 共享匯流排上多個裝置之資料傳輸技術 - Google Patents

共享匯流排上多個裝置之資料傳輸技術 Download PDF

Info

Publication number
TW201719430A
TW201719430A TW105135111A TW105135111A TW201719430A TW 201719430 A TW201719430 A TW 201719430A TW 105135111 A TW105135111 A TW 105135111A TW 105135111 A TW105135111 A TW 105135111A TW 201719430 A TW201719430 A TW 201719430A
Authority
TW
Taiwan
Prior art keywords
memory
target
data
source
volatile memory
Prior art date
Application number
TW105135111A
Other languages
English (en)
Other versions
TWI645294B (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 TW201719430A publication Critical patent/TW201719430A/zh
Application granted granted Critical
Publication of TWI645294B publication Critical patent/TWI645294B/zh

Links

Classifications

    • 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/1694Configuration of memory controller to different memory types
    • 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/4004Coupling between buses
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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
    • 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
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Memory System (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Dram (AREA)

Abstract

在具有一共享匯流排之裝置之間之直接資料傳輸可在減少與該等裝置相關聯之一控制器之涉入之情況下實施。一控制器、一源記憶體裝置及一目標記憶體裝置可與一共享匯流排耦合。該控制器可針對待傳輸至該目標記憶體裝置之資料而識別該源記憶體裝置處之一源位址。該控制器亦可識別該目標記憶體裝置中之一目標位址,且透過在該源記憶體裝置及該目標記憶體裝置兩者處接收之一命令而起始資料從該源直接傳輸至該目標。回應於該命令,該源記憶體裝置可將資料讀出至該匯流排,且該目標記憶體可在無來自該控制器之進一步命令之情況下從該匯流排讀取該資料且以該目標位址開始儲存該資料。

Description

共享匯流排上多個裝置之資料傳輸技術
下文大體上係關於裝置之間之資料傳輸且更明確言之係關於一共享匯流排上多個裝置之資料傳輸技術。 記憶體裝置廣泛用於將資訊儲存在諸如電腦、無線通信裝置、相機、數位顯示器及類似者之各種電子裝置中。藉由程式化一記憶體裝置之不同狀態而儲存資訊。舉例而言,二進位裝置具有通常由一邏輯「1」或一邏輯「0」表示之兩個狀態。在其他系統中,可儲存兩個以上狀態。為存取所儲存資訊,電子裝置可讀取或感測記憶體裝置中之所儲存狀態。為儲存資訊,電子裝置可寫入或程式化記憶體裝置中之狀態。 存在多個類型之記憶體裝置,包含隨機存取記憶體(RAM)、唯讀記憶體(ROM)、動態RAM (DRAM)、同步動態RAM (SDRAM)、鐵電RAM (FeRAM)、磁性RAM (MRAM)、電阻性RAM (RRAM)、快閃記憶體等等。記憶體裝置可為揮發性或非揮發性。即使缺少一外部電源,非揮發性記憶體(例如,快閃記憶體)仍可儲存資料達延長時間段。除非揮發性記憶體裝置(例如,DRAM)藉由一外部電源週期性再新,否則其等可隨時間丟失其等儲存狀態。揮發性記憶體之特定態樣可提供效能優點,諸如較快讀取或寫入速度,而非揮發性之態樣(諸如在不週期性再新之情況下儲存資料之能力)可為有利的。 當在裝置之間傳輸資料時,一記憶體控制器可將資料從一源裝置讀取至該記憶體控制器內之資料儲存器,且接著將資料從該記憶體控制器內之資料儲存器寫入至一目標裝置。此外,在許多情況中,一記憶體控制器可具有用於不同儲存裝置(諸如一揮發性記憶體及一非揮發性記憶體)之不同類型之介面。此等設計亦可導致記憶體控制器充分涉入以促進資料之傳輸。因此,提供允許增強之記憶體控制器效率及不同電子裝置之間之資料傳輸效率之技術可係有益的。
本發明之各種實施例在減少一控制器之涉入之情況下提供共享一匯流排之裝置之間之直接資料傳輸。在一些實施例中,一控制器(諸如一記憶體控制器)、一源記憶體裝置及一目標記憶體裝置可與一共享匯流排耦合。在一些實例中,共享匯流排可為一串行周邊介面(SPI)匯流排,但是亦可使用其他類型之匯流排。在一些實例中,控制器可包含一處理器(例如,一微處理器),或可在一處理器之控制下操作。控制器可針對待傳輸至目標記憶體裝置之資料而識別源記憶體裝置中之一源位址。控制器亦可識別目標記憶體裝置中之一目標位址,且起始資料經由匯流排從源記憶體裝置直接傳輸至目標記憶體裝置。控制器可將一命令發送至第一記憶體裝置以讀取資料,在第二記憶體裝置處亦可接收該資料。回應於該命令,源記憶體裝置可將資料讀出至匯流排,且目標記憶體可在無來自控制器之進一步命令之情況下從匯流排讀取資料且以目標位址開始儲存資料。在一些實施例中,從第一記憶體裝置讀取資料之命令可為根據一協定或命令集之用於第一記憶體裝置之一讀取命令,且可為用於第二記憶體裝置之一特殊程式化命令以引起該第二記憶體裝置儲存藉由第一記憶體裝置所提供之資料。 在一些實例中,控制器可提供一啓用信號至目標記憶體裝置且將目標位址寫入至該目標記憶體裝置中之一目標位址暫存器。接著,控制器可結合發送讀取命令而提供一啓用信號至源記憶體裝置及目標記憶體裝置兩者。控制器亦可提供一時脈至源記憶體裝置及目標記憶體裝置,且只要繼續提供該時脈,源記憶體裝置即可將資料讀出至匯流排,且目標記憶體裝置可從匯流排讀取資料。因此,控制器及/或管理該控制器之處理器可透過僅提供源位址及目標位址、讀取命令及啓用信號以及時脈信號而減少涉入資料傳輸。此可藉由釋放用於其他處理任務之資源而增強系統操作,且減少根據其中控制器實際上接收待在記憶體裝置之間傳輸之資料之技術在控制器處可需要之內部記憶體(諸如一快取記憶體或緩衝記憶體)之數量。此外,與用於資料傳輸之其他技術相比,此等技術可減小系統功率及處理時間。 下文在具有不同裝置之可使資料在裝置之間傳輸之一電子系統之背景內容中進一步描述上文介紹之本發明之實施例。針對可採用具有減少的記憶體控制器涉入之直接資料傳輸技術之記憶體系統描述特定實例。藉由關於使用一共享匯流排之裝置之間之直接資料傳輸之設備圖、系統圖及流程圖進一步圖解說明且參考該等設備圖、系統圖及流程圖描述本發明之此等及其他實施例。 圖1展示根據本發明之各種實施例之支援使用一共享匯流排之裝置之間之直接資料傳輸之一系統100之一圖。系統100可包含一裝置105,其可為或包含一印刷電路板以連接或實體上支撐各種組件。裝置105可包含一處理器110、BIOS組件115、(若干)周邊組件120及輸入/輸出控制組件125以及一記憶體系統150。裝置105之組件可透過一裝置匯流排130而彼此電子通信。在圖1之例示性系統100中,記憶體系統150可含有記憶體控制器155、一揮發性記憶體160及一非揮發性記憶體165,其等可藉由一共享匯流排170與記憶體控制器155耦合。 處理器110可經組態以透過記憶體控制器155而與記憶體系統150介接。在一些情況中,處理器110可執行記憶體控制器155之功能,且在其他情況中,記憶體控制器155可整合至處理器110中。處理器110可為一通用處理器、一數位信號處理器(DSP)、一特定應用積體電路(ASIC)、一場可程式化閘陣列(FPGA)或其他可程式化邏輯裝置、離散閘極或電晶體邏輯、離散硬體組件,或其可為此等類型之組件之一組合,且處理器110可執行本文中描述之各種功能,包含使用一共享匯流排之裝置之間之直接資料傳輸。舉例而言,處理器110可經組態以實行儲存在記憶體系統150中之電腦可讀指令以引起裝置105執行各種功能或任務。 BIOS組件115可為包含操作為韌體之一基本輸入/輸出系統(BIOS)之一軟體組件,其可初始化並運行系統100之各種硬體組件。BIOS組件115亦可管理處理器110與各種組件(例如,周邊組件120、輸入/輸出控制器125等等)之間之資料流。BIOS組件115可包含儲存在唯讀記憶體(ROM)、快閃記憶體或任何其他非揮發性記憶體中之一程式或軟體。 (若干)周邊組件120可為任何輸入或輸出裝置,或整合至裝置105中之用於此等裝置之一介面。實例可包含磁碟控制器、聲音控制器、圖形控制器、乙太網控制器、數據機、USB控制器、一串列或並列埠,或周邊卡槽,諸如周邊組件互連(PCI)或加速圖形埠(AGP)狹槽。 輸入/輸出控制器125可管理處理器110與(若干)周邊組件120、輸入裝置135或輸出裝置140之間之資料通信。輸入/輸出控制器125亦可管理未整合至裝置105中之周邊設備。在一些情況中,輸入/輸出控制器125可表示至外部周邊設備之一實體連接或埠。 輸入135可表示裝置105外部之一裝置或信號,其提供輸入至裝置105或其組件。此可包含一使用者介面或與其他裝置之介面或其他裝置之間之介面。在一些情況中,輸入135可為經由(若干)周邊組件120而與裝置105介接之一周邊設備或可由輸入/輸出控制器125管理。 輸出裝置140可表示裝置105外部之一裝置或信號,其經組態以從裝置105或任何其組件接收輸出。輸出裝置140之實例可包含一顯示器、音訊揚聲器、一列印裝置、另一處理器或印刷電路板等等。在一些情況中,輸出140可為經由(若干)周邊組件120而與裝置105介接之一周邊設備或可由輸入/輸出控制器125管理。 如上文所提及,記憶體系統150可含有記憶體控制器155、一揮發性記憶體160及一非揮發性記憶體165,其等可藉由一共享匯流排170與記憶體控制器155耦合。在一些實例中,共享匯流排170可為一SPI匯流排,且記憶體控制器155可使用一單一SPI介面來存取揮發性記憶體160及非揮發性記憶體165兩者。用於記憶體控制器之各種現有設計可針對揮發性及非揮發性記憶體使用單獨介面,且使用具有一單一介面之一共享匯流排170可提供更有效且較不複雜設計。 各種實例之SPI匯流排可使用包含全部依一個命令序列之一指令及位址及資料之一協定。此一命令序列可透過提供一晶片啓用或晶片選擇信號至一特定組件(例如,揮發性記憶體160及/或非揮發性記憶體165)而起始,且透過取消選擇晶片啓用或晶片選擇信號而完成。SPI協定之指令可定義待執行之操作(例如,一記憶體讀取),且位址可識別與指令相關聯之資料所處或將寫入之位置。舉例而言,指令可為一讀取指令且位址可為指示自揮發性記憶體160或非揮發性記憶體165讀取之資料之一開始記憶體位置之一源位址。在各種實例中,遵循一指令,SPI協定可在提供資料之位址與輸出之間提供虛設循環以允許一記憶體或其他裝置在輸出之前感測資料(例如,感測儲存在一記憶體陣列中之一特定位置之資料)。對於數個實例,關於使用一SPI共享匯流排之系統描述本文中提供之技術。然而,此等技術可用於使用具有一類似命令序列(其可包含全部在一相同晶片選擇事件中之命令、位址及資料)之其他類型之共享匯流排之系統中。 現在參考圖2,論述根據本發明之各種實施例之支援使用一共享匯流排之裝置之間之直接資料傳輸之一系統200之一更詳細實例。系統200可包含一記憶體系統150-a,其可為圖1之記憶體系統150之一實例。記憶體系統150-a可包含一記憶體控制器155-a,其可為圖1之記憶體控制器155之一實例,該記憶體控制器155-a與一共享匯流排170-a耦合,該共享匯流排170-a可為圖1之一共享匯流排170之一實例。揮發性記憶體160-a及非揮發性記憶體165-a亦與共享匯流排170-a耦合,其等分別可為圖1之揮發性記憶體160及非揮發性記憶體165之實例。 揮發性記憶體160-a可包含一第一操作指令解碼器205、一第一目標位址暫存器210、一揮發性記憶體陣列215及一第一晶片啓用220。舉例而言,揮發性記憶體160-a可為包含在記憶體系統150-a中之一單一積體電路或晶片。在一些實例中,揮發性記憶體160-a可為包含諸如上文描述之組件之一較大積體電路之一記憶體模組。在其他實例中,第一操作指令解碼器205、第一目標位址暫存器210及揮發性記憶體陣列215可為包含在一記憶體模組中之離散組件(例如,安裝在一印刷電路板上之組件),且第一晶片啓用220可用來啓用記憶體模組之此等(及其他)組件。 第一操作指令解碼器205可解碼經由共享匯流排170-a接收之指令且相應地作用於經解碼指令。第一目標位址暫存器210可為一暫存器,記憶體控制器155-a可提供待傳輸至揮發性記憶體160-a之資料之一目標位址至該暫存器中。揮發性記憶體陣列215可包含一記憶體胞陣列(例如,一DRAM或SRAM陣列)。雖然第一目標位址暫存器210圖解說明為與揮發性記憶體陣列215分離,但在一些實例中,第一目標位址暫存器210可為揮發性記憶體陣列215之一部分。第一晶片啓用220可為引起揮發性記憶體160-a實行指令且經由共享匯流排170-a與其他組件通信之一啓用線。 類似地,非揮發性記憶體165-a可包含一第二操作指令解碼器225、一第二目標位址暫存器230、一非揮發性記憶體陣列235及一第二晶片啓用240。舉例而言,非揮發性記憶體165-a可為包含在記憶體系統150-a中之一單一積體電路或晶片。在一些實例中,非揮發性記憶體165-a可為包含諸如上文描述之組件之一較大積體電路之一記憶體模組。在其他實例中,第二操作指令解碼器225、第二目標位址暫存器230及非揮發性記憶體陣列235可為包含在一記憶體模組中之離散組件(例如,安裝在一印刷電路板上之組件),且第二晶片啓用240可用來啓用記憶體模組之此等(及其他)組件。 第二操作指令解碼器225可解碼經由共享匯流排170-a接收之指令且相應地作用於經解碼指令。第二目標位址暫存器230可為一暫存器,記憶體控制器155-a可提供待傳輸至非揮發性記憶體165-a之資料之一目標位址至該暫存器中。非揮發性記憶體陣列235可包含一非揮發性記憶體胞陣列(例如,一EEPROM或快閃記憶體陣列)。雖然第二目標位址暫存器230圖解說明為與非揮發性記憶體陣列235分離,但在一些實例中,第二目標位址暫存器230可為非揮發性記憶體陣列235之一部分。第二晶片啓用240可為引起非揮發性記憶體165-a實行指令且經由共享匯流排170-a與其他組件通信之一啓用線。應注意,出於圖解及論述目的提供圖2之實例,且其他實例可包含其他或額外組件。舉例而言,揮發性記憶體160-a及非揮發性記憶體165-a在此實例中可交換,或額外記憶體或介面可與共享匯流排170-a耦合,從而允許該共享匯流排170-a上不同裝置之間之額外通信。 記憶體控制器155-a在此實例中可包含一記憶體管理器245及一晶片啓用(CE)管理器255。記憶體管理器245可提供諸如根據SPI協定之命令序列之指令至揮發性記憶體160-a及非揮發性記憶體165-a。記憶體控制器155-a可與其他外部組件耦合以將資料從記憶體系統150-a提供至其他組件,或從其他組件接收資料以儲存在記憶體系統150-a處。CE管理器255可經由一第一晶片啓用線245與揮發性記憶體160-a之第一晶片啓用220耦合,且可經由一第二晶片啓用線250與非揮發性記憶體165-a之第二晶片啓用240耦合。記憶體控制器155-a亦可提供一時脈260至揮發性記憶體160-a及非揮發性記憶體165-a。 如上文所提及,根據各種實例,共享匯流排170-a可為一SPI匯流排。本發明之各種實施例使用SPI匯流排之串列協定且提供用於在記憶體控制器155-a、揮發性記憶體160-a及非揮發性記憶體165-a之間傳輸資料之增強技術。揮發性記憶體160-a及非揮發性記憶體165-a兩者可為記憶體控制器155-a之伺服者(servant),其中其等之單個晶片啓用220及240可由記憶體控制器155-a單獨存取。在一些實例中,資料可從非揮發性記憶體165-a載入至揮發性記憶體160-a,舉例而言,諸如待由記憶體系統外部之一處理器實行之程式指令。用於此一傳輸之一載入資料程序可在記憶體控制器155-a之有限涉入之情況下將資料從非揮發性記憶體165-a直接移動至揮發性記憶體160-a。類似地,來自揮發性記憶體160-a之特定資料可能需要透過一回寫資料程序寫入至非揮發性記憶體165-a,該回寫資料程序可在記憶體控制器155-a之有限涉入之情況下將資料從揮發性記憶體160-a直接移動至非揮發性記憶體165-a。為清楚起見,單獨描述此等載入資料及回寫程序,但是此等操作可組合在一些實例中。 對於一資料載入程序,在一些實例中,記憶體控制器155-a可針對待載入至揮發性記憶體160-a中之資料判定非揮發性記憶體165-a中之一源位址。記憶體控制器亦可判定用於將資料儲存在揮發性記憶體160-a處之一目標位址。記憶體控制器155-a可藉由在第一目標位址暫存器210處(例如,藉由啓用第一晶片啓用220,將目標位址寫入第一目標位址暫存器210中,且停用該第一晶片啓用220)設定目標位址而起始資料載入程序。接著,記憶體控制器155-a可經由共享匯流排170-a發送一命令序列,在揮發性記憶體160-a及非揮發性記憶體165-a兩者處接收該命令序列。在一些實例中,此命令可為根據SPI協定之一建立讀取命令且可包含一讀取命令及源位址。如上文所提及,用於將資料從非揮發性記憶體165-a移動至揮發性記憶體160-a之現有技術可包含以源位址開始移動資料至記憶體控制器155-a中之一資料快取區之一讀取命令。然而,根據本文中描述之技術,非揮發性記憶體165-a及揮發性記憶體160-a兩者可接收讀取命令且監聽命令序列,且直接傳輸資料而不將資料儲存於記憶體控制器155-a處,或使該記憶體控制器155-a涉入資料之實際移動。 在一些實例中,記憶體管理器245透過CE管理器255可提供晶片啓用信號至第一晶片啓用220及第二晶片啓用240兩者,此允許非揮發性記憶體165-a及揮發性記憶體160-a兩者監聽讀取命令。如提及,讀取命令之後可為揮發性記憶體可能忽略之源位址,且記憶體控制器155-a可提供一時脈至非揮發性記憶體165-a及揮發性記憶體160-a之各者。根據在第二操作指令解碼器225處解碼之讀取命令,非揮發性記憶體165-a可以源位址開始從非揮發性記憶體陣列235輸出資料,且只要時脈260繼續由記憶體控制器155-a提供,即可從源位址繼續輸出連續記憶體位置處之資料。揮發性記憶體160-a處之第一操作指令解碼器205亦可接收並解碼讀取命令,忽略源位址,且在揮發性記憶體陣列215中以目標位址之位置開始儲存由非揮發性記憶體165-a提供至共享匯流排170-a之資料。資料之讀取及資料之對應儲存持續達時脈260經提供至揮發性記憶體160-a及非揮發性記憶體165-a之持續時間。以此一方式,記憶體控制器155-a可在該記憶體控制器155-a之有限涉入且未將資料儲存於該記憶體控制器155-a處之一快取區或緩衝器中之情況下將資料從非揮發性記憶體165-a直接移動至揮發性記憶體160-a。類似操作可用於從非揮發性記憶體165-a至揮發性記憶體160-a之回寫操作,其中回寫資料之目標位址儲存在第二目標位址暫存器230處且一讀取命令經發出以將資料從揮發性記憶體160-a讀取至共享匯流排170-a。 如論述,針對本發明之各種實施例描述之技術涉及第一操作指令解碼器205及第二操作指令解碼器225兩者從記憶體控制器155-a接收命令。對於一資料載入程序,非揮發性記憶體165-a可將指令視為一讀取操作,而揮發性記憶體160-a將其視為寫入操作。類似地,對於一回寫程序,揮發性記憶體160-a可將指令視為一讀取操作,而非揮發性記憶體165-a將其視為寫入操作。此等指令可經定義以滿足揮發性記憶體160-a及非揮發性記憶體165-a兩者之時序要求。只要此等指令為各部分所獨有,此等指令即亦可利用SPI協定中定義之現有非揮發性及揮發性記憶體讀取命令。舉例而言,若「0Bh」指令(SPI快閃非揮發性記憶體中之現有FAST讀取命令)尚未在揮發性記憶體側用於任何SPI操作,則此命令可定義為該揮發性記憶體側之寫入命令。接著,在已知從非揮發性記憶體165-a預期之資料輸出之情況下,第一指令解碼器205可理解FAST讀取命令且將命令序列轉譯為一寫入序列,且可憑藉正確時脈及時序鎖存提供至共享匯流排170-a之資料。 此外,如提及,揮發性記憶體160-a及非揮發性記憶體165-a之各者可具有一目標位址暫存器。可使用此一位址暫存器,此係因為依命令序列提供源位址而未提供目標位址。舉例而言,在載入資料程序中,命令序列含有非揮發性記憶體165-a需要發送出之位址,然而,其可不係揮發性記憶體160-a上記憶體控制器155-a需要之目標位址。因此在自動操作之前,記憶體控制器155-a將待載入來自非揮發性記憶體165-a之資料之目標位址提供給揮發性記憶體160-a。類似地,對於回寫操作,記憶體控制器155-a對非揮發性記憶體165-a設定第二目標位址暫存器230,故來自揮發性記憶體160-a之資料可被回寫至正確位置。在一些實例中,可定義包含源位址及目標位址兩者之新命令序列。然而,使用一目標位址暫存器可減少現有協定之變化且可提供增強之靈活性。可類似地圖解說明針對從非揮發性記憶體165-a至揮發性記憶體160-a之一資料遮蔽操作之操作。 圖3展示根據本發明之各種實施例之從一記憶體控制器提供至使用一共享匯流排支援直接資料傳輸之記憶體裝置之信號之一時序圖300。舉例而言,可藉由如上文關於圖1及圖2論述之記憶體控制器155提供時序圖300之信號。在圖3之實例中,可將一非揮發性記憶體晶片啓用信號305 (CE#_NVM)提供至一非揮發性記憶體,諸如圖1或圖2之非揮發性記憶體165-a。可將一揮發性記憶體晶片啓用信號310 (CE#_RAM)提供至一揮發性記憶體,諸如圖1或圖2之揮發性記憶體160-a。可在一共享匯流排(諸如圖1或圖2之共享匯流排170)上提供一資料信號315 (DQ[x:0])。亦可提供一時脈320。在圖3之實例中,圖解說明針對從一揮發性記憶體至一非揮發性記憶體之一回寫操作之操作。 最初,在時間325,控制器可提供一低晶片啓用信號305至非揮發性記憶體,此引起該非揮發性記憶體鎖存來自資料信號315之資料。在此實例中,資料信號315可在一第一時間段335期間連同一目標位址提供設定一目標位址之一指令。此外,在此第一時間段335期間,晶片啓用310為高,此引起揮發性記憶體保持非啓用且因此不接收此指令。遵循此一指令,晶片啓用信號305經撤銷確證為高,且接著晶片啓用信號305及310兩者在時間330設定為低,以啓用非揮發性記憶體及揮發性記憶體兩者。時脈320亦提供至非揮發性記憶體及揮發性記憶體兩者達持續時間345,其中控制器在共享匯流排上提供一讀取指令作為資料信號315,在非揮發性記憶體及揮發性記憶體兩者處接收該讀取指令。非揮發性記憶體解碼指令,將該指令辨識為一回寫指令,忽略提供在該指令中之一源位址,且接著針對從揮發性記憶體輸出至匯流排之資料感測共享匯流排。非揮發性記憶體以目標位址中識別之位置開始儲存經感測資料。揮發性記憶體亦解碼共享匯流排上之資料信號315之讀取指令,從該指令解碼源位址,以源位址位置開始而開始感測經儲存資料,且將此資料輸出至共享匯流排。如上文所提及,來自記憶體控制器之命令序列可包含允許揮發性記憶體感測經儲存資料之若干虛設循環,其中揮發性記憶體及非揮發性記憶體兩者已知虛設循環之數目以便針對資料傳輸提供正確時序。此等操作持續達時間段345之持續時間。當時間段345在時間340期滿時,記憶體控制器可取消選擇晶片啓用信號305及310兩者,且停止提供時脈320。 雖然上述實例描述可與一共享匯流排耦合之不同記憶體組件,但本文中描述之技術可由除記憶體裝置以外之其他裝置使用以在此等裝置之間直接傳輸資料。舉例而言,此等技術可用於嵌入系統中,僅舉幾個實例,嵌入系統可包含感測器、安全數位卡及液晶顯示器。此等電子裝置可使用諸如本文中描述之技術以在一控制器有限涉入之情況下傳輸資料。 圖4圖解說明根據本發明之各種實施例之支援使用一共享匯流排之不同類型之裝置之間之直接資料傳輸之一系統400。系統400可包含一裝置405,其可為或包含一印刷電路板以連接或實體上支撐各種組件。裝置405可包含一控制器420、一第一電子裝置425、一第二電子裝置430、一輸入/輸出控制組件435及視需要一或多個其他組件440。裝置405之組件可透過一共享匯流排445彼此電子通信,該共享匯流排445可為圖1或圖2之共享匯流排170之一實例。在圖4之例示性系統400中,第一電子裝置425可包含一第一資料儲存區域450及一晶片啓用/時脈輸入455。類似地,第二電子裝置430可包含一第二資料儲存區域470及一相關聯晶片啓用/時脈輸入465。 控制器420可經組態以透過共享匯流排445而與第一電子裝置425、第二電子裝置430、輸入/輸出控制組件435及/或其他組件440介接。在一些實例中,控制器可以諸如上文描述之一方式起始裝置之間之一直接資料傳輸。在一些情況中,控制器420可執行如上文關於圖1至圖3描述之記憶體控制器155之功能。控制器420可為一通用處理器、一數位信號處理器(DSP)、一特定應用積體電路(ASIC)、一場可程式化閘陣列(FPGA)或其他可程式化邏輯裝置、離散閘或電晶體邏輯、離散硬體組件,或其可為此等類型之組件之一組合,且控制器420可執行本文中描述之各種功能,包含使用共享匯流排445之裝置之間之直接資料傳輸。舉例而言,控制器420可經組態以實行電腦可讀指令以引起裝置405執行各種功能或任務。 輸入/輸出控制組件435可管理控制器420與外部組件之間之資料通信且可表示至外部組件之一實體連接或埠。輸入410可表示裝置405外部之提供輸入至裝置405或其組件之一裝置或信號。此可包含一使用者介面或與其他裝置之介面或其他裝置之間之介面。在一些情況中,輸入410可為與裝置405介接之一周邊設備或可由輸入/輸出控制組件435管理。輸出裝置415可表示裝置405外部之經組態以從裝置405或任何其組件接收輸出之一裝置或信號。輸出裝置415之實例可包含一顯示器、音訊揚聲器、一列印裝置、另一處理器或印刷電路板等等。在一些情況中,輸出415可為與裝置405介接之一周邊設備。 如上文所提及,控制器420可引起裝置405之一或多個組件以將資料直接傳輸至裝置405之一或多個其他組件。在一些實例中,控制器420可透過CE/時脈組件460提供晶片啓用信號及時脈信號至待傳輸資料之裝置。在圖4之實例中,第一電子裝置425可為一源裝置,且第二電子裝置430可為一目標裝置。因此,儲存在第一資料儲存區域450中之資料可經由共享匯流排445傳輸至第二電子裝置之第二資料儲存區域470。在此實例中,第一電子裝置425可包含一晶片啓用/時脈輸入455,且第二電子裝置430亦可包含一晶片啓用/時脈輸入465。控制器可使用CE/時脈組件460來選擇第一電子裝置425(例如經由連結475)及第二電子裝置430(例如經由連結480),且提供指令及位址至共享匯流排445,以按類似於上文關於圖1至圖3論述之一方式起始並完成第一電子裝置425與第二電子裝置430之間之直接資料傳輸。 圖5圖解說明根據本發明之各種實施例之用於使用一共享匯流排之裝置之間之直接資料傳輸之一流程圖500之一實例。流程圖500可圖解說明使用一共享匯流排之裝置之間之直接資料傳輸之實施例且可在如上文關於圖1至圖4描述之一裝置105、記憶體系統150或裝置405中實施。 在一些實例中,如在方塊505指示,一裝置(諸如一記憶體控制器155或控制器420)可針對待傳輸至一目標記憶體之資料而識別一源記憶體中之一源位址。如上文關於圖1至圖4所論述,舉例而言,此一識別可由諸如記憶體管理器245之一記憶體管理器進行,且可識別儲存在一源裝置處之資料之一開始位址。舉例而言,一源記憶體裝置可含有由一處理器實行之程式碼,其儲存在源裝置處之一非揮發性記憶體中。處理器可識別待在該處理器處實行之程式碼且提供此資訊至記憶體管理器,該記憶體管理器接著可識別源位址以便將經識別資料從非揮發性記憶體移動至一揮發性記憶體或目標記憶體,其可更容易由處理器存取以實行程式碼。在一些實例中,控制器、源記憶體及目標記憶體可與一共享匯流排耦合,該共享匯流排可用來在匯流排上之裝置之間傳輸命令及資料。 在方塊510,如上文關於圖1至圖4所論述,裝置可將一目標位址發送至目標記憶體以起始資料從源記憶體直接傳輸至目標記憶體。舉例而言,裝置可將目標位址識別為其中來自源記憶體之資料待儲存在目標記憶體中之一位址。舉例而言,一記憶體控制器可指定一揮發性記憶體之一區域用於儲存待由一處理器實行之程式碼,且可使用經識別區域之一開始位址作為目標位址。在一些實例中,控制器可藉由以下步驟而將目標位址發送至目標記憶體:選擇目標記憶體處之一晶片啓用;提供一時脈至目標記憶體;將一命令輸出至一共享匯流排以在目標記憶體處之一目標位址暫存器中設定目標位址;及輸出目標位址。目標記憶體可解碼命令,鎖存來自共享匯流排之資料,且將資料儲存在該目標記憶體處之目標位址暫存器中。在一些實例中,源記憶體可為一非揮發性記憶體,且目標記憶體可為一揮發性記憶體,但是眾多其他實例可提供一源記憶體及一目標記憶體,其等係其他類型之裝置(例如,顯示器、感測器、卡等等)之其他類型之記憶體或資料儲存組件。 在方塊515,如上文關於圖1至圖4所論述,裝置可將一讀取命令發送至源記憶體以從該源記憶體讀取資料。讀取命令可包含從源記憶體讀取資料之一指示,且可包含待讀取之資料之一開始位址。在一些實例中,控制器可藉由以下步驟而發送讀取命令:在源記憶體處及目標記憶體處選擇一晶片啓用;提供一時脈至源記憶體及目標記憶體;將一資料輸出指令輸出至共享匯流排;及輸出源位址。源記憶體可解碼命令(例如,在一操作指令解碼器處),鎖存來自共享匯流排之資料,且以源位址開始開始將資料傳輸至共享匯流排。此外,由於一晶片啓用及時脈可與提供至源記憶體之晶片啓用及時脈同時提供至目標記憶體,故目標記憶體可解碼讀取命令,將讀取命令識別為起始資料之傳輸,忽略讀取命令中之源位址,且開始儲存藉由源記憶體提供至共享匯流排之資料。 在方塊520,如上文關於圖1至圖4所論述,源記憶體可將資料從該源記憶體直接傳輸至目標記憶體。源記憶體可藉由提供資料至一共享匯流排而執行傳輸,可藉由目標記憶體自共享匯流排讀取資料。可在該目標記憶體中以先前提供至目標記憶體之目標位址開始儲存此資料。根據一些實例,只要將一時脈提供至源記憶體及目標記憶體,此一傳輸接著即可繼續。因此,諸如一記憶體控制器之一裝置可基於將從源記憶體讀取之資料量及自源記憶體讀取資料之一速率或資料可寫入至目標記憶體之一速率而判定用於提供時脈之一持續時間。 圖6圖解說明根據本發明之各種實施例之用於使用一共享匯流排之裝置之間之直接資料傳輸之一流程圖600之一實例。流程圖600可圖解說明在使用一共享匯流排之裝置之間之直接資料傳輸之實施例且可在如上文關於圖1至圖4描述之一裝置105、記憶體系統150或裝置405中實施。 在一些實例中,如在方塊605所指示,一裝置(諸如一記憶體控制器155或控制器420)可提供一晶片啓用及時脈至一目標裝置。類似於上文關於圖1至圖4所論述,晶片啓用或晶片選擇及時脈可提示目標裝置開始從一共享匯流排讀取一或多個命令及/或資料。諸如上文所論述,在一些實例中,共享匯流排可為一SPI匯流排,或具有依一命令序列提供一命令及後續資料之一關聯協定之其他類型之匯流排。 在方塊610,類似於上文關於圖1至圖4所論述,裝置可設定目標裝置中之一位址暫存器。舉例而言,裝置可將一目標位址識別為其中來自源裝置(例如,一源記憶體裝置)記憶體之資料待儲存在目標裝置(例如,一目標記憶體裝置)中之一位址,且運用此目標位址設定位址暫存器。舉例而言,一記憶體控制器可指定一揮發性記憶體之一區域用於儲存待由一處理器實行之程式碼,且可使用經識別區域之一開始位址作為目標位址。 在方塊615,類似於上文關於圖1至圖4所論述,裝置可對目標裝置停用晶片啓用及時脈。舉例而言,裝置在提供用於儲存於目標位址暫存器中之目標位址之後,可取消選擇目標裝置(例如,一目標記憶體裝置),因此完成將命令序列提供至目標裝置以設定位址暫存器。 在方塊620,類似於上文關於圖1至圖4所論述,裝置可提供一晶片啓用及時脈至源裝置及目標裝置。亦如上文所論述,提供晶片啓用及時脈至源裝置及目標裝置之各者導致源裝置及目標裝置兩者嘗試解碼提供在共享匯流排上之一命令及跟隨該命令之任何資料,且起始用於裝置之一新命令序列。 在方塊625,類似於上文關於圖1至圖4所論述,裝置可將一讀取命令發送至源裝置,在目標裝置處亦接收該讀取命令。當啓用源裝置及目標裝置兩者且對其等計時,可在各裝置處接收讀取命令。在一些實例中,各裝置處之一操作指令解碼器可解碼讀取命令,該讀取命令可向裝置指示資料將在源裝置與目標裝置之間傳輸。 在方塊630,類似於上文關於圖1至圖4所論述,裝置可提供晶片啓用及時脈至源裝置及目標裝置達對應於待傳輸之資料量之一持續時間。因此,源裝置及目標裝置可執行資料之一直接傳輸,其中源裝置提供資料至一共享匯流排,可藉由目標裝置從該共享匯流排讀取該資料。可在目標裝置中以在方塊610提供至位址暫存器之位址開始儲存此資料。藉由裝置(例如,記憶體控制器155或控制器420)提供時脈及晶片啓用之持續時間可基於將從源裝置讀取之資料量及從源裝置讀取資料之一速率或資料可寫入至目標裝置之一速率。 在方塊635,類似於上文關於圖1至圖4所論述,裝置可在持續時間期滿之後對源裝置及目標裝置停用晶片啓用及時脈。在持續時間之後,裝置(例如,記憶體控制器155或控制器420)可判定已傳輸全部資料,且可取消選擇第一記憶體裝置及第二記憶體裝置。 圖7圖解說明根據本發明之各種實施例之用於使用一共享匯流排之裝置之間之直接資料傳輸之一流程圖700之一實例。流程圖700可圖解說明在使用一共享匯流排之裝置之間之直接資料傳輸之實施例且可在如上文參考圖1至圖4所描述之一裝置105、記憶體系統150或裝置405中實施。 如在方塊705所指示且類似於上文關於圖1至圖4所論述,一目標裝置(例如,非揮發性記憶體165、揮發性記憶體160或第二電子裝置430)可從一控制器(例如,記憶體控制器155或控制器420)接收一目標位址。在一些實例中,控制器可藉由以下步驟而發送目標位址:選擇與裝置相關聯之一晶片啓用;提供一時脈至裝置;將一命令輸出至一共享匯流排以在目標裝置處之一目標位址暫存器中設定目標位址;及輸出目標位址。根據各種實例,目標裝置可解碼命令,鎖存來自共享匯流排之資料,且將資料儲存在目標位址暫存器中。 在方塊710,類似於上文關於圖1至圖4所論述,目標裝置可解碼從控制器發送至一源裝置之一讀取命令。該讀取命令可包含將從一源裝置讀取資料之一指示,且可包含將讀取之資料之一開始位址。目標裝置可解碼命令(例如,在一操作指令解碼器處),鎖存來自共享匯流排之資料,且以目標位址開始儲存資料。 在方塊715,類似於上文關於圖1至圖4所論述,目標裝置可忽略包含在命令中之一源位址。如上文所論述,目標裝置可使其目標位址儲存在目標位址暫存器中,且該目標位址可不同於資料儲存於源裝置處之源位址。因此,若一命令包含一源位址,則目標裝置可僅忽略此資訊,此係因為其與目標裝置不相關。如上文所提及,在一些其他實例中,一命令序列可包含源位址及目標位址兩者,在該等情況中可組合方塊710及715之操作,且各自源裝置及目標裝置可忽略與另一裝置相關聯之位址。舉例而言,一命令序列可呈「<CMDcode|Add1|Add2>」形式,其中Add1將為一源位址且Add2將為一目標位址。在此一實例中,源裝置及目標裝置可用一晶片啓用而啓用,且可解碼CMDcode,其可指定哪個裝置係源裝置且哪個裝置係目標裝置(或可預先作出此一指定)。 在方塊720,類似於上文關於圖1至圖4所論述,目標裝置可識別來自源裝置之在一匯流排上可獲得之資料。在匯流排上可獲得之資料可為從源裝置傳輸至共享匯流排之資料(例如,如源自由控制器發送至源裝置之讀取命令)。在一些實例中,目標裝置可等待與提供源位址至共享匯流排相關聯之預定數目個時脈循環及虛設循環以為源裝置提供足夠時間以感測儲存在源位址處之資料,且將共享匯流排上之後續資訊識別為從源裝置傳輸之資料。 在方塊725,如上文關於圖1至圖4所論述,目標裝置可以目標位址開始儲存從源裝置傳輸至匯流排之資料。根據一些實例,只要將一時脈提供至源裝置及目標裝置,此一傳輸接著即可繼續。因此,諸如一記憶體控制器之一裝置可基於將從源裝置讀取之資料量及從源裝置讀取資料之一速率或資料可寫入至目標裝置之一速率而判定用於提供時脈之一持續時間。 因此,方法500、600及700可提供使用一共享匯流排之直接資料傳輸。應注意,方法500、600及700描述可行實施方案,且操作及步驟可經重新配置或以其他方式修改,使得其他實施方案可行。在一些實例中,可組合來自方法500、600及700之兩者或兩者以上之態樣。 本文中之描述提供實例,且不限制發明申請專利範圍中闡述之範疇、適用性或實例。可對論述之元件之功能及配置作出改變而不背離本發明之範疇。各種實例可視情況省略、置換或添加各種程序或組件。再者,關於一些實例所描述之特徵可組合在其他實例中。 本文中闡述之描述結合隨附圖式描述例示性組態且不表示可實施或在發明申請專利範圍之範疇內之全部實例。如本文中所使用,術語「實例」及「例示性」意指「充當一實例、例項、實施例或圖解」,而非「較佳」或「優於其他實例」。詳細描述出於提供對所描述技術之一理解之目的而包含具體細節。然而,此等技術可在無此等具體細節之情況下實踐。在一些例項中,以方塊圖形式展示眾所周知結構及裝置以免混淆所描述實例之概念。 在附圖中,類似組件或特徵可具有相同參考標籤。此外,可藉由在參考標籤後接一破折號及區分類似組件之一第二標籤而區分相同類型之各種組件。當在說明書中使用第一參考標籤時,描述可應用於具有相同第一參考標籤而不考慮第二參考標籤之類似組件之任一者。 可使用各種不同科技及技術之任意者表示本文中描述之資訊及信號。舉例而言,可貫穿上文描述參考之資料、指令、命令、資訊、信號、位元、符號及晶片可藉由電壓、電流、電磁波、磁場或粒子、光場或粒子或其任何組合表示。一些圖式可將信號圖解說明為一單一信號;然而,此項技術之一般技術者將瞭解,信號可表示信號之一匯流排,其中該匯流排可具有各種位元寬度。 術語「電子通信」係指支援組件之間之電子流之組件之間之一關係。此可包含組件之間之一直接連接或可包含中間組件。電子通信中之組件可係主動交換電子或信號(例如,在一通電電路中)或可不係主動交換電子或信號(例如,在一斷電電路中)但可經組態且可操作以在一電路通電後交換電子或信號。藉由實例,實體上經由一切換器(例如,一電晶體)連接之兩個組件處於電子通信中而無關於該切換器之狀態(即,斷開或閉合)。 本文中論述之裝置可形成在諸如矽、鍺、矽鍺合金、砷化鎵、氮化鎵等等之一半導體基板上。在一些情況中,基板係一半導體晶圓。在其他情況中,基板可為一絕緣體上矽(SOI)基板,諸如玻璃上矽(SOG)或藍寶石上矽(SOP),或另一基板上之半導體材料之磊晶層。可透過使用包含但不限於磷、硼或砷之各種化學物種摻雜來控制基板或該基板之子區域之導電性。在基板之初始形成或生長期間可藉由離子植入或藉由任何其他摻雜方法執行摻雜。 可運用經設計以執行本文中描述之功能之一通用處理器、一DSP、一ASIC、一FPGA或其他可程式化邏輯裝置、離散閘或電晶體邏輯、離散硬體組件或其任何組合來實施或執行結合本文中之揭示內容描述之各種闡釋性方塊、組件及模組。一通用處理器可為一微處理器,但在替代例中,處理器可為任何習知處理器、控制器、微控制器或狀態機。一處理器亦可實施為計算裝置之一組合(例如,一DSP及一微處理器之一組合)、多個微處理器、結合一DSP核心之一或多個微處理器或任何其他此組態。 可在硬體、由一處理器實行之軟體、韌體或其任何組合中實施本文中描述之功能。若在由一處理器實行之軟體中實施,則可將功能作為一或多個指令或碼儲存於一電腦可讀媒體上或經由一電腦可讀媒體傳輸。其他實例及實施方案係在本發明及隨附發明申請專利範圍之範疇內。舉例而言,歸因於軟體之性質,可使用由一處理器實行之軟體、硬體、韌體、硬接線或此等之任意者之組合來實施上文描述之功能。實施功能之特徵亦可實體上定位在各種位置處,包含經分佈使得在不同實體位置處實施功能之部分。再者,如本文中所使用,包含在發明申請專利範圍中,如一物項清單(舉例而言,以諸如「至少一者」或「一或多者」之一片語開始之一物項清單)中使用之「或」指示一包含清單,使得(舉例而言) A、B或C之至少一者之一清單意指A或B或C或AB或AC或BC或ABC (即,A及B及C)。 電腦可讀媒體包含非暫時性電腦儲存媒體及包含促進一電腦程式從一個位置傳輸至另一位置之任何媒體之通信媒體兩者。一非暫時性儲存媒體可為可由一通用或專用電腦存取之任何可用媒體。藉由實例而非限制,非暫時性電腦可讀媒體可包括RAM、ROM、電可擦除可程式化唯讀記憶體(EEPROM)、光碟(CD) ROM或其他光碟儲存器、磁碟儲存器或其他磁性儲存裝置,或可用來以指令或資料結構之形式攜載或儲存所要程式碼構件且可由一通用或專用電腦或一通用或專用處理器存取之任何其他非暫時性媒體。 再者,任何連接被適宜地稱為一電腦可讀媒體。舉例而言,若使用一同軸電纜、光纖纜線、雙絞線、數位用戶線(DSL)或諸如紅外線、無線電及微波之無線科技來從一網站、伺服器或其他遠端源傳輸軟體,則同軸電纜、光纖纜線、雙絞線、數位用戶線(DSL)或諸如紅外線、無線電及微波之無線科技包含在媒體之定義中。如本文中所使用,磁碟及光碟包含CD、雷射光碟、光碟、數位多功能光碟(DVD)、軟碟及藍光光碟,其中磁碟通常磁性地重現資料,而光碟運用雷射光學地重現資料。上文之組合亦包含在電腦可讀媒體之範疇內。 提供本文中之描述以使熟習此項技術者能夠進行或使用本發明。熟習此項技術者將容易明白本發明之各種修改,且本文中定義之通用原理可應用於其他變動而不背離本發明之範疇。因此,本發明不應限於本文中描述之實例及設計而應符合與本文中揭示之原理及新穎特徵一致之最寬範疇。
100‧‧‧系統 105‧‧‧裝置 110‧‧‧處理器 115‧‧‧基本輸入/輸出系統(BIOS)組件 120‧‧‧周邊組件 125‧‧‧輸入/輸出控制組件 130‧‧‧裝置匯流排 135‧‧‧輸入裝置 140‧‧‧輸出裝置 150‧‧‧記憶體系統 150-a‧‧‧記憶體系統 155‧‧‧記憶體控制器 155-a‧‧‧記憶體控制器 160‧‧‧揮發性記憶體 160-a‧‧‧揮發性記憶體 165‧‧‧非揮發性記憶體 165-a‧‧‧非揮發性記憶體 170‧‧‧共享匯流排 170-a‧‧‧共享匯流排 200‧‧‧系統 205‧‧‧第一操作指令解碼器 210‧‧‧第一目標位址暫存器 215‧‧‧揮發性記憶體陣列 220‧‧‧第一晶片啓用 225‧‧‧第二操作指令解碼器 230‧‧‧第二目標位址暫存器 235‧‧‧非揮發性記憶體陣列 240‧‧‧第二晶片啓用 245‧‧‧記憶體管理器/第一晶片啓用線 250‧‧‧第二晶片啓用線 255‧‧‧晶片啓用(CE)管理器 260‧‧‧時脈 300‧‧‧時序圖 305‧‧‧非揮發性記憶體晶片啓用信號 310‧‧‧揮發性記憶體晶片啓用信號 315‧‧‧資料信號 320‧‧‧時脈 325‧‧‧時間 330‧‧‧時間 335‧‧‧第一時間段 340‧‧‧時間 345‧‧‧持續時間 400‧‧‧系統 405‧‧‧裝置 410‧‧‧輸入 415‧‧‧輸出裝置 420‧‧‧控制器 425‧‧‧第一電子裝置 430‧‧‧第二電子裝置 435‧‧‧輸入/輸出控制組件 440‧‧‧其他組件 445‧‧‧共享匯流排 450‧‧‧第一資料儲存區域 455‧‧‧晶片啓用/時脈輸入 460‧‧‧晶片啓用(CE)/時脈組件 465‧‧‧晶片啓用/時脈輸入 470‧‧‧第二資料儲存區域 475‧‧‧連結 480‧‧‧連結 500‧‧‧流程圖 505‧‧‧方塊 510‧‧‧方塊 515‧‧‧方塊 520‧‧‧方塊 600‧‧‧流程圖 605‧‧‧方塊 610‧‧‧方塊 615‧‧‧方塊 620‧‧‧方塊 625‧‧‧方塊 630‧‧‧方塊 635‧‧‧方塊 700‧‧‧流程圖 705‧‧‧方塊 710‧‧‧方塊 715‧‧‧方塊 720‧‧‧方塊 725‧‧‧方塊
參考下列圖描述本發明之實施例: 圖1圖解說明根據本發明之各種實施例之包含一記憶體系統之一裝置之一方塊圖,該記憶體系統支援在使用一共享匯流排之資料儲存組件之間直接傳輸資料; 圖2圖解說明根據本發明之各種實施例之一記憶體系統之一方塊圖,該記憶體系統支援在使用一共享匯流排之資料儲存組件之間直接傳輸資料; 圖3圖解說明根據本發明之各種實施例之多個資料儲存裝置之一時序圖,該多個資料儲存裝置提供在使用一共享匯流排之裝置之間之直接資料傳輸; 圖4圖解說明根據本發明之各種實施例之一電子系統之一方塊圖,該電子系統支援在使用一共享匯流排之資料儲存組件之間直接傳輸資料; 圖5至圖7係圖解說明根據本發明之各種實施例之用於在使用一共享匯流排之資料儲存組件之間直接傳輸資料之方法之流程圖。
100‧‧‧系統
105‧‧‧裝置
110‧‧‧處理器
115‧‧‧基本輸入/輸出系統(BIOS)組件
120‧‧‧周邊組件
125‧‧‧輸入/輸出控制組件
130‧‧‧裝置匯流排
135‧‧‧輸入裝置
140‧‧‧輸出裝置
150‧‧‧記憶體系統
155‧‧‧記憶體控制器
160‧‧‧揮發性記憶體
165‧‧‧非揮發性記憶體
170‧‧‧共享匯流排

Claims (37)

  1. 一種操作一記憶體系統之方法,其包括: 在一記憶體控制器處針對待傳輸至一目標記憶體之資料識別一源記憶體中之一源位址,其中該記憶體控制器、該源記憶體及該目標記憶體各與一匯流排耦合;及 藉由該記憶體控制器將一目標位址發送至該目標記憶體以起始該資料經由該匯流排從該源記憶體直接傳輸至該目標記憶體。
  2. 如請求項1之方法,其進一步包括: 將一讀取命令發送至該源記憶體以將資料從該源記憶體讀取至該匯流排。
  3. 如請求項2之方法,其進一步包括: 藉由該源記憶體以該源位址開始傳輸資料至該匯流排。
  4. 如請求項3之方法,其中該讀取命令經由該匯流排發送至該源記憶體,且其中該方法進一步包括: 藉由該目標記憶體經由該匯流排接收該讀取命令;及 在該目標記憶體中以該目標位址開始儲存自該源記憶體提供至該匯流排之後續資料。
  5. 如請求項4之方法,其中該讀取命令包括一資料輸出指令及該源位址,且其中藉由該目標記憶體接收該讀取命令包括: 將該讀取命令識別為起始資料之該傳輸;及 忽略該源位址。
  6. 如請求項2之方法,其中發送該讀取命令進一步包括: 提供一晶片啓用信號至該源記憶體及該目標記憶體之各者;及 提供一時脈至該源記憶體及該目標記憶體達一持續時間。
  7. 如請求項6之方法,其中該持續時間對應於將從該源記憶體傳輸至該目標記憶體之一資料量。
  8. 如請求項1之方法,其中該匯流排包括一串列周邊互連(SPI)匯流排。
  9. 如請求項1之方法,其中該源記憶體包括一非揮發性記憶體或一揮發性記憶體之一者且該目標記憶體包括一非揮發性記憶體或一揮發性記憶體之一者。
  10. 一種操作一記憶體系統之方法,其包括: 在一目標記憶體中設定一目標位址以儲存經由與該目標記憶體及一源記憶體耦合之一匯流排而在該目標記憶體處接收之資料;及 將一命令發送至該源記憶體及該目標記憶體之各者以將資料從該源記憶體讀取至該匯流排且將來自該匯流排之該資料儲存在該目標記憶體處。
  11. 如請求項10之方法,其中設定該目標位址包括: 提供該目標位址至該目標記憶體之一目標位址暫存器。
  12. 如請求項11之方法,其進一步包括: 在該目標記憶體之一操作指令解碼器處接收該命令;及 遵循該命令在該目標記憶體處起始以該目標位址開始儲存來自該匯流排之該資料。
  13. 如請求項12之方法,其進一步包括: 藉由該源記憶體以一源位址開始傳輸資料至該匯流排;及 藉由該目標記憶體儲存來自該匯流排之該資料。
  14. 如請求項10之方法,其中該命令包括在該源記憶體及該目標記憶體之各者處接收之一單一命令序列。
  15. 如請求項10之方法,其進一步包括: 提供一晶片啓用信號至該源記憶體及該目標記憶體之各者;及 提供一時脈至該源記憶體及該目標記憶體達一持續時間。
  16. 如請求項15之方法,其中該持續時間對應於將從該源記憶體傳輸至該目標記憶體之一資料量。
  17. 如請求項10之方法,其中該匯流排包括一串列周邊互連(SPI)匯流排。
  18. 如請求項10之方法,其中該源記憶體包括一非揮發性記憶體或一揮發性記憶體之一者且該目標記憶體包括一非揮發性記憶體或一揮發性記憶體之一者。
  19. 一種用於資料傳輸之設備,其包括: 一第一電子裝置,其與一匯流排耦合,該第一電子裝置包括一第一資料儲存區域; 一第二電子裝置,其與該匯流排耦合,該第二電子裝置包括一第二資料儲存區域;及 一控制器,其與該匯流排耦合且與該第一電子裝置及該第二電子裝置電子通信,其中該控制器可操作以: 針對將從該第一資料儲存區域傳輸至該第二資料儲存區域之資料識別該第一資料儲存區域中之一源位址, 識別該第二資料儲存區域中之一目標位址,及 起始該資料經由該匯流排從該第一電子裝置直接傳輸至該第二電子裝置。
  20. 如請求項19之設備,其中該第二電子裝置包括一目標位址暫存器,且其中該控制器進一步可操作以在該目標位址暫存器中設定該目標位址以儲存待傳輸之該資料。
  21. 如請求項19之設備,其中該第二電子裝置包括一操作指令解碼器,該操作指令解碼器可操作以從該控制器接收一讀取命令以起始該資料之該傳輸。
  22. 如請求項19之設備,其中該控制器包括與該匯流排之一單一介面以存取該第一電子裝置及該第二電子裝置之各者。
  23. 如請求項19之設備,其中該控制器進一步可操作以: 提供一晶片啓用信號至該第一電子裝置及該第二電子裝置之各者;及 提供一時脈至該第一電子裝置及該第二電子裝置之各者達對應於將從該第一資料儲存區域傳輸至該第二資料儲存區域之一資料量之一持續時間。
  24. 如請求項19之設備,其中該第一電子裝置包括一非揮發性記憶體或一揮發性記憶體之一者且該第二電子裝置包括一非揮發性記憶體或一揮發性記憶體之一者。
  25. 一種電子記憶體設備,其包括: 一源記憶體模組,其與一匯流排耦合; 一目標記憶體模組,其與該匯流排耦合;及 一控制器,其與該匯流排耦合且與該源記憶體模組及該目標記憶體模組電子通信,其中該控制器可操作以: 在該目標記憶體模組中設定一目標位址以儲存待經由該匯流排在該目標記憶體模組處接收之資料,及 將一讀取命令發送至該源記憶體模組以將資料從該源記憶體模組讀取至該匯流排,且 其中該目標記憶體模組可操作以經由該匯流排直接接收從該源記憶體模組讀取之該資料。
  26. 如請求項25之設備,其中該目標記憶體模組包括一目標位址暫存器,且其中該控制器進一步可操作以在該目標位址暫存器中設定該目標位址以儲存待傳輸之該資料。
  27. 如請求項26之設備,其中該目標記憶體模組進一步包括可操作以從該控制器接收該讀取命令之一操作指令解碼器。
  28. 如請求項25之設備,其中該控制器進一步可操作以: 提供一晶片啓用信號至該源記憶體模組及該目標記憶體模組之各者;及 提供一時脈至該源記憶體模組及該目標記憶體模組之各者達對應於將從該源記憶體模組傳輸至該目標記憶體模組之一資料量之一持續時間。
  29. 如請求項25之設備,其中該匯流排包括一串列周邊互連(SPI)匯流排。
  30. 一種電子記憶體設備,其包括: 一揮發性記憶體,其包括一目標位址暫存器及一操作指令解碼器; 一非揮發性記憶體,其包括待傳輸至該揮發性記憶體之資料; 一串列周邊介面(SPI)匯流排,其與該揮發性記憶體及該非揮發性記憶體之各者耦合;及 一控制器,其與該SPI匯流排耦合且可操作以在該目標位址暫存器中設定一目標位址,且將一讀取命令發送至該非揮發性記憶體以起始將該資料傳輸至該SPI匯流排,且 其中該操作指令解碼器解碼該讀取命令且從該SPI匯流排直接接收來自該非揮發性記憶體之資料且以該目標位址開始儲存該資料。
  31. 如請求項30之設備,其中該揮發性記憶體進一步包括一第一啓用線,且其中該控制器進一步可操作以啟動該第一啓用線且提供該目標位址至該SPI匯流排以在一目標位址暫存器中設定該目標位址。
  32. 如請求項31之設備,其中該非揮發性記憶體進一步包括一第二啓用線,且其中該控制器進一步可操作以: 啟動該第一啓用線及該第二啓用線兩者; 提供該讀取命令至該SPI匯流排以在該揮發性記憶體及該非揮發性記憶體之各者處讀取。
  33. 如請求項32之設備,其中該控制器進一步可操作以: 提供一時脈至該揮發性記憶體及該非揮發性記憶體之各者達對應於將從該揮發性記憶體傳輸至該非揮發性記憶體之一資料量之一持續時間。
  34. 一種電子裝置,其包括: 一目標位址暫存器; 一記憶體陣列; 一操作指令解碼器,其將一經接收指令解碼為以該目標位址暫存器中之一位址開始而將可在一匯流排上獲得之資料儲存在該記憶體陣列中之一命令, 其中該經接收指令係用於一第二裝置之一讀取指令。
  35. 如請求項34之電子裝置,其中該電子裝置經組態以忽略運用該指令接收之一源位址。
  36. 如請求項34之電子裝置,其中該操作指令解碼器經組態以接收一目標位址且用該目標位址設定該目標位址暫存器。
  37. 如請求項34之電子裝置,其中該記憶體陣列包括一非揮發性記憶體陣列或一揮發性記憶體陣列之一者。
TW105135111A 2015-10-30 2016-10-28 操作記憶體系統之方法、用於資料傳輸之設備、電子記憶體設備及記憶體裝置 TWI645294B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/928,988 2015-10-30
US14/928,988 US10162558B2 (en) 2015-10-30 2015-10-30 Data transfer techniques for multiple devices on a shared bus

Publications (2)

Publication Number Publication Date
TW201719430A true TW201719430A (zh) 2017-06-01
TWI645294B TWI645294B (zh) 2018-12-21

Family

ID=58631094

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105135111A TWI645294B (zh) 2015-10-30 2016-10-28 操作記憶體系統之方法、用於資料傳輸之設備、電子記憶體設備及記憶體裝置

Country Status (7)

Country Link
US (5) US10162558B2 (zh)
EP (1) EP3368991A4 (zh)
JP (4) JP2019500669A (zh)
KR (2) KR102071454B1 (zh)
CN (2) CN108369563B (zh)
TW (1) TWI645294B (zh)
WO (1) WO2017075073A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10502622B2 (en) * 2016-06-30 2019-12-10 U.S.A. As Represented By The Administrator Of The National Aeronautics And Space Administration Detector control and data acquisition with custom application specific integrated circuit (ASIC)
US20180039596A1 (en) * 2016-08-04 2018-02-08 Qualcomm Incorporated Supporting internal resistive memory functions using a serial peripheral interface (spi)
CN109791522B (zh) * 2017-09-05 2021-01-15 华为技术有限公司 数据迁移的方法、系统及智能网卡
US10877678B2 (en) 2018-05-17 2020-12-29 Micron Technology, Inc. Selection component that is configured based on an architecture associated with memory devices
KR102585883B1 (ko) * 2018-09-18 2023-10-10 에스케이하이닉스 주식회사 메모리 시스템의 동작 방법 및 메모리 시스템
US11670123B2 (en) 2018-10-03 2023-06-06 Micron Technology, Inc. Automatic collection of autonomous vehicle logging data
US11086803B2 (en) 2018-10-05 2021-08-10 Micron Technology, Inc. Dynamically configuring transmission lines of a bus
US11182986B2 (en) * 2018-10-10 2021-11-23 Micron Technology, Inc. Real-time selection of data to collect in autonomous vehicle
US11126251B2 (en) * 2019-03-01 2021-09-21 Micron Technology, Inc. Power management in memory
US10936234B2 (en) * 2019-05-22 2021-03-02 Macronix International Co., Ltd. Data transfer between memory devices on shared bus
US11301132B2 (en) 2019-08-30 2022-04-12 Micron Technology, Inc. Scheduling media management operations based on provided host system usage requirements
US11003384B2 (en) 2019-08-30 2021-05-11 Micron Technology, Inc. Scheduling media management operations based on determined host system usage requirements
US11243804B2 (en) * 2019-11-19 2022-02-08 Micron Technology, Inc. Time to live for memory access by processors
US11392547B2 (en) 2020-04-09 2022-07-19 Micron Technology, Inc. Using prefix-delete operations for data containers
US11893276B2 (en) * 2020-05-21 2024-02-06 Micron Technology, Inc. Apparatuses and methods for data management in a memory device
US20220121612A1 (en) * 2020-10-20 2022-04-21 Micron Technology, Inc. Static identifiers for a synchronous interface
CN113282239A (zh) * 2021-05-21 2021-08-20 维沃移动通信有限公司 数据迁移方法、存储器及控制器

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5666516A (en) * 1993-12-16 1997-09-09 International Business Machines Corporation Protected programmable memory cartridge having selective access circuitry
US6040997A (en) 1998-03-25 2000-03-21 Lexar Media, Inc. Flash memory leveling architecture having no external latch
US6219725B1 (en) * 1998-08-28 2001-04-17 Hewlett-Packard Company Method and apparatus for performing direct memory access transfers involving non-sequentially-addressable memory locations
TW515949B (en) * 2000-06-08 2003-01-01 Via Tech Inc Method for scheduling run sequence of read and write requests
US6678758B2 (en) * 2001-02-05 2004-01-13 Fujitsu Limited Dynamic queuing for read/write requests
JP4017177B2 (ja) 2001-02-28 2007-12-05 スパンション エルエルシー メモリ装置
WO2002071409A1 (de) 2001-03-02 2002-09-12 Infineon Technologies Ag Verfahren zum einspeichern einer datenmenge in einen zielspeicherbereich und speichersystem
US20050138233A1 (en) * 2003-12-23 2005-06-23 Intel Corporation Direct memory access control
KR100695890B1 (ko) * 2004-10-29 2007-03-19 삼성전자주식회사 멀티 칩 시스템 및 그것의 데이터 전송 방법
US7409473B2 (en) 2004-12-21 2008-08-05 Sandisk Corporation Off-chip data relocation
WO2007036050A1 (en) * 2005-09-30 2007-04-05 Mosaid Technologies Incorporated Memory with output control
US7652922B2 (en) * 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
US7506132B2 (en) * 2005-12-22 2009-03-17 International Business Machines Corporation Validity of address ranges used in semi-synchronous memory copy operations
KR100843280B1 (ko) 2006-12-07 2008-07-04 삼성전자주식회사 메모리 시스템 및 그것의 데이터 전송 방법
WO2008131058A2 (en) 2007-04-17 2008-10-30 Rambus Inc. Hybrid volatile and non-volatile memory device
US7564391B2 (en) * 2007-11-28 2009-07-21 Texas Instruments Incorporated Sigma delta modulator summing input, reference voltage, and feedback
US8219778B2 (en) * 2008-02-27 2012-07-10 Microchip Technology Incorporated Virtual memory interface
WO2010032226A2 (en) * 2008-09-22 2010-03-25 Nxp B.V. Data processing system comprising a monitor
US8255674B2 (en) * 2009-01-28 2012-08-28 International Business Machines Corporation Implied storage operation decode using redundant target address detection
TWI394050B (zh) 2009-09-29 2013-04-21 Hon Hai Prec Ind Co Ltd 基於串列週邊介面匯流排的設備及其資料傳輸方法
KR101626084B1 (ko) * 2009-11-25 2016-06-01 삼성전자주식회사 멀티 칩 메모리 시스템 및 그것의 데이터 전송 방법
US8938589B2 (en) * 2010-01-28 2015-01-20 Hewlett-Packard Development Company, L. P. Interface methods and apparatus for memory devices using arbitration
JP5886450B2 (ja) * 2012-03-22 2016-03-16 インテル コーポレイション ハイブリッドのエミュレーション及びカーネル関数処理のシステム及び方法
JP2015056105A (ja) 2013-09-13 2015-03-23 株式会社東芝 不揮発性半導体記憶装置

Also Published As

Publication number Publication date
JP2022132562A (ja) 2022-09-08
EP3368991A4 (en) 2019-07-31
JP2024105616A (ja) 2024-08-06
KR102189018B1 (ko) 2020-12-10
JP2021068463A (ja) 2021-04-30
US20180136873A1 (en) 2018-05-17
US10671310B2 (en) 2020-06-02
US20240103748A1 (en) 2024-03-28
US20170123715A1 (en) 2017-05-04
US20200326875A1 (en) 2020-10-15
JP2019500669A (ja) 2019-01-10
US11762570B2 (en) 2023-09-19
US10162558B2 (en) 2018-12-25
KR102071454B1 (ko) 2020-01-30
KR20200011587A (ko) 2020-02-03
CN108369563A (zh) 2018-08-03
WO2017075073A1 (en) 2017-05-04
CN108369563B (zh) 2021-07-30
JP7111849B2 (ja) 2022-08-02
TWI645294B (zh) 2018-12-21
KR20180064542A (ko) 2018-06-14
EP3368991A1 (en) 2018-09-05
CN113407473A (zh) 2021-09-17
JP7525554B2 (ja) 2024-07-30
US20190138238A1 (en) 2019-05-09
US10635342B2 (en) 2020-04-28

Similar Documents

Publication Publication Date Title
JP7525554B2 (ja) 共有バス上の複数のデバイスのためのデータ転送技術
TWI742769B (zh) 用於記憶體裝置之電源管理之方法及設備
EP3467832A1 (en) Memory controller and method for interleaving dram and mram accesses
CN114981890A (zh) 具有自动预充电的存储器存取
US12050773B2 (en) Completion flag for memory operations
US11763861B2 (en) Reduced pin status register
WO2022126578A1 (en) Dynamic interval for memory device to enter low power state
CN116467226A (zh) 用于存储器装置的元数据实施方案
CN115599708A (zh) 可编程元数据
CN113721981B (zh) 用于存储器装置的指令高速缓存方案
US11972144B2 (en) Dynamic status registers array
CN105989884B (zh) 半导体存储装置及其操作方法
CN116505956A (zh) 用于启用和停用串行器/解串行器的技术
CN116110448A (zh) 存储器地址管理技术
CN117795471A (zh) 初始化存储器系统