CN113407473A - 用于共享总线上多个装置的数据传输的设备与方法 - Google Patents
用于共享总线上多个装置的数据传输的设备与方法 Download PDFInfo
- Publication number
- CN113407473A CN113407473A CN202110789265.4A CN202110789265A CN113407473A CN 113407473 A CN113407473 A CN 113407473A CN 202110789265 A CN202110789265 A CN 202110789265A CN 113407473 A CN113407473 A CN 113407473A
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- target
- source
- controller
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1694—Configuration of memory controller to different memory types
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality 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
分案申请信息
本申请是申请日为2016年10月26日、申请号为201680073123.5、发明名称为“用于共享总线上多个装置的数据传输的设备与方法”的发明专利申请的分案申请。
交叉参考案
本专利申请案主张由张(Zhang)等人在2015年10月30日申请的标题为“用于共享总线上多个装置的数据传输技术(Data Transfer Techniques for Multiple Devices ona Shared Bus)”的第14/928,988号美国专利申请案的优先权,所述美国专利申请案转让给其受让人且以引用方式明确并入本文中。
技术领域
下文大体上涉及装置之间的数据传输且更明确来说涉及共享总线上多个装置的数据传输技术。
背景技术
存储器装置广泛用于在例如计算机、无线通信装置、相机、数字显示器及类似物的各种电子装置中存储信息。通过编程存储器装置的不同状态而存储信息。举例来说,二进制装置具有通常由逻辑“1”或逻辑“0”表示的两个状态。在其它系统中,可存储两个以上状态。为存取所存储信息,电子装置可读取或感测存储器装置中的所存储状态。为存储信息,电子装置可写入或编程存储器装置中的状态。
存在多个类型的存储器装置,包含随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻性RAM(RRAM)、快闪存储器及其它存储器。存储器装置可为易失性或非易失性。即使缺少外部电源,非易失性存储器(例如,快闪存储器)仍可存储数据达延长时间段。除非易失性存储器装置(例如,DRAM)由外部电源周期性刷新,否则其可随时间丢失其存储状态。易失性存储器的特定方面可提供性能优点,例如较快读取或写入速度,而非易失性的方面(例如在不周期性刷新的情况下存储数据的能力)可为有利的。
当在装置之间传输数据时,存储器控制器可将数据从源装置读取到所述存储器控制器内的数据存储装置,且接着将数据从所述存储器控制器内的数据存储装置写入到目标装置。此外,在许多情况中,存储器控制器可具有用于不同存储装置(例如易失性存储器及非易失性存储器)的不同类型的接口。此类设计也可导致存储器控制器充分参与以促进数据的传输。因此,提供允许增强的存储器控制器效率及不同电子装置之间的数据传输效率的技术可为有益的。
发明内容
在本申请的一个实施例中,一种操作存储器系统的方法包括:在存储器控制器处针对待传输到目标存储器的数据识别源存储器中的地址;及由所述存储器控制器至少部分基于识别所述地址而将命令发送到所述目标存储器和所述源存储器;以及至少部分基于所述指令而将所述数据由所述源存储器中的所述地址传输到所述目标存储器。
在本申请的另一实施例中,一种操作存储器系统的方法包括:在目标存储器中设置地址以存储在所述目标存储器处接收的数据;及至少部分基于在所述目标存储器中设置所述地址而将命令发送到源存储器及所述目标存储器两者以在所述目标存储器处存储来自所述源存储器的所述数据。
在本申请的又一实施例中,一种用于数据传输的设备包括:与总线耦合的源存储器;与所述总线耦合的目标存储器;及与所述总线耦合且与所述源存储器和所述目标存储器电子通信的控制器,其中所述控制器可操作以进行以下操作:针对待传输到所述目标存储器的数据识别所述源存储器中的地址;以及至少部分基于识别所述地址而将命令分送到所述目标存储器与所述源存储器;以及至少部分基于所述命令而将所述数据从所述源存储器中的所述地址传输到所述目标存储器。
附图说明
参考下列图描述本发明的实施例:
图1说明根据本发明的各种实施例的包含存储器系统的装置的框图,所述存储器系统支持使用共享总线在数据存储组件之间直接传输数据;
图2说明根据本发明的各种实施例的存储器系统的框图,所述存储器系统支持使用共享总线在数据存储组件之间直接传输数据;
图3说明根据本发明的各种实施例的多个数据存储装置的时序图,所述多个数据存储装置提供使用共享总线的装置之间的直接数据传输;
图4说明根据本发明的各种实施例的电子系统的框图,所述电子系统支持使用共享总线在数据存储组件之间直接传输数据;
图5到7是说明根据本发明的各种实施例的用于使用共享总线在数据存储组件之间直接传输数据的方法的流程图。
具体实施方式
本发明的各种实施例在减少控制器的参与的情况下提供共享总线的装置之间的直接数据传输。在一些实施例中,控制器(例如存储器控制器)、源存储器装置及目标存储器装置可与共享总线耦合。在一些实例中,共享总线可为串行外围接口(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可经由第一芯片启用线246与易失性存储器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可包含第二数据存储区域460及相关联芯片启用/时钟输入465。
控制器420可经配置以通过共享总线445而与第一电子装置425、第二电子装置430、输入/输出控制组件435及/或其它组件440介接。在一些实例中,控制器可以例如上文描述的方式起始装置之间的直接数据传输。在一些情况中,控制器420可执行如上文关于图1到3描述的存储器控制器155的功能。控制器420可为通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件,或其可为这些类型的组件的组合,且控制器420可执行本文中描述的各种功能,包含使用共享总线445的装置之间的直接数据传输。举例来说,控制器420可经配置以执行计算机可读指令以引起装置405执行各种功能或任务。
输入/输出控制组件435可管理控制器420与外部组件之间的数据通信且可表示到外部组件的物理连接或端口。输入410可表示装置405外部的提供输入到装置405或其组件的装置或信号。此可包含用户接口或与其它装置的接口或其它装置之间的接口。在一些情况中,输入435可为与装置405介接的外围设备或可由输入/输出控制组件435管理。输出装置415可表示装置405外部的经配置以从装置405或任何其组件接收输出的装置或信号。输出装置415的实例可包含显示器、音频扬声器、打印装置、另一处理器或印刷电路板等等。在一些情况中,输出415可为与装置405介接的外围设备。
如上文所提及,控制器420可引起装置405的一或多个组件以将数据直接传输到装置405的一或多个其它组件。在一些实例中,控制器420可通过CE/时钟组件460提供芯片启用信号及时钟信号到待传输数据的装置。在图4的实例中,第一电子装置425可为源装置,且第二电子装置430可为目标装置。因此,存储在第一数据存储区域450中的数据可经由共享总线445传输到第二电子装置的第二数据存储区域460。在此实例中,第一电子装置425可包含芯片启用/时钟输入455,且第二电子装置430也可包含芯片启用/时钟输入465。控制器可使用CE/时钟组件460来选择并计时第一电子装置425及第二电子装置430,且提供指令及地址到共享总线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的两者或两者以上的方面。
描述一种方法。在一些实例中,所述方法可包含用于在存储器控制器处针对待传输到目标存储器的数据识别源存储器中的源地址的方式,其中所述存储器控制器、所述源存储器及所述目标存储器各自与总线耦合。在一些实例中,所述方法可包含用于由所述存储器控制器将目标地址发送到所述目标存储器以起始所述数据经由所述总线从所述源存储器直接传输到所述目标存储器的方式。在一些实例中,所述方法可包含用于将读取命令发送到所述源存储器以将数据从所述源存储器读取到所述总线的方式。
在一些实例中,所述方法可包含用于由所述源存储器以所述源地址开始传输数据到所述总线的方式。在一些实例中,所述读取命令可经由所述总线发送到所述源存储器。在一些实例中,所述方法可包含用于由所述目标存储器经由所述总线接收所述读取命令的方式。在一些实例中,所述方法可包含用于在所述目标存储器中以所述目标地址开始存储从所述源存储器提供到所述总线的后续数据的方式。
在一些实例中,所述读取命令可包含数据输出指令及所述源地址。在一些实例中,所述方法可包含用于将所述读取命令识别为起始数据的传输的方式。在一些实例中,所述方法可包含用于忽略所述源地址的方式。在一些实例中,所述方法可包含用于提供芯片启用信号到所述源存储器及所述目标存储器中的每一者的方式。在一些实例中,所述方法可包含用于提供时钟到所述源存储器及所述目标存储器达一定持续时间的方式。
在一些实例中,所述持续时间对应于将从所述源存储器传输到所述目标存储器的数据量。在一些实例中,所述总线可包含串行外围互连(SPI)总线。在一些实例中,所述源存储器可包含非易失性存储器或易失性存储器中的一者且所述目标存储器可包含非易失性存储器或易失性存储器中的一者。
描述一种方法。在一些实例中,所述方法可包含用于在目标存储器中设置目标地址以存储经由与所述目标存储器及源存储器耦合的总线而在所述目标存储器处接收的数据的方式。在一些实例中,所述方法可包含用于将命令发送到所述源存储器及所述目标存储器中的每一者以将数据从所述源存储器读取到所述总线且将来自所述总线的所述数据存储在所述目标存储器处的方式。在一些实例中,设置所述目标地址可包含用于提供所述目标地址到所述目标存储器的目标地址寄存器的方式。在一些实例中,所述方法可包含用于在所述目标存储器的操作指令解码器处接收所述命令的方式。在一些实例中,所述方法可包含用于遵循所述命令在所述目标存储器处起始以所述目标地址开始存储来自所述总线的所述数据的方式。
在一些实例中,所述方法可包含用于由所述源存储器以源地址开始传输数据到所述总线的方式。在一些实例中,所述方法可包含用于由所述目标存储器存储来自所述总线的所述数据的方式。在一些实例中,所述命令可包含在所述源存储器及所述目标存储器中的每一者处接收的单个命令序列。在一些实例中,所述方法可包含用于提供芯片启用信号到所述源存储器及所述目标存储器中的每一者的方式。在一些实例中,所述方法可包含用于提供时钟到所述源存储器及所述目标存储器达一定持续时间的方式。
在一些实例中,所述持续时间对应于将从所述源存储器传输到所述目标存储器的数据量。在一些实例中,所述总线可包含串行外围互连(SPI)总线。在一些实例中,所述源存储器可包含非易失性存储器或易失性存储器中的一者且所述目标存储器可包含非易失性存储器或易失性存储器中的一者。
描述一种设备。在一些实例中,所述设备可包含第一电子装置,其与总线耦合,所述第一电子装置包括第一数据存储区域。在一些实例中,所述设备可包含第二电子装置,其与所述总线耦合,所述第二电子装置包括第二数据存储区域。在一些实例中,所述设备可包含控制器,其与所述总线耦合且与所述第一电子装置及所述第二电子装置电子通信,其中所述控制器支持用于针对将从所述第一数据存储区域传输到所述第二数据存储区域的数据识别所述第一数据存储区域中的源地址的方式。在一些实例中,所述控制器可支持用于识别所述第二数据存储区域中的目标地址的方式。在一些实例中,所述控制器可支持用于起始所述数据经由所述总线从所述第一电子装置直接传输到所述第二电子装置的方式。
在一些实例中,所述第二电子装置可包含目标地址寄存器,且其中所述控制器进一步支持用于在所述目标地址寄存器中设置所述目标地址以存储待传输的所述数据的方式。在一些实例中,所述第二电子装置可包含操作指令解码器,所述操作指令解码器可操作以从所述控制器接收读取命令以起始所述数据的所述传输。在一些实例中,所述控制器可包含与所述总线的单个接口以存取所述第一电子装置及所述第二电子装置中的每一者。
在一些实例中,所述控制器可支持用于提供芯片启用信号到所述第一电子装置及所述第二电子装置中的每一者的方式。在一些实例中,所述控制器可支持用于提供时钟到所述第一电子装置及所述第二电子装置中的每一者达对应于将从所述第一数据存储区域传输到所述第二数据存储区域的数据量的持续时间的方式。在一些实例中,所述第一电子装置可包含非易失性存储器或易失性存储器中的一者且所述第二电子装置可包含非易失性存储器或易失性存储器中的一者。
描述一种设备。在一些实例中,所述设备可包含源存储器模块,其与总线耦合。在一些实例中,所述设备可包含目标存储器模块,其与所述总线耦合。在一些实例中,所述设备可包含控制器,其与所述总线耦合且与所述源存储器模块及所述目标存储器模块电子通信,其中所述控制器支持用于在所述目标存储器模块中设置目标地址以存储待经由所述总线在所述目标存储器模块处接收的数据的方式。在一些实例中,所述控制器可支持用于将读取命令发送到所述源存储器模块以将数据从所述源存储器模块读取到所述总线的方式。在一些实例中,所述目标存储器模块可操作以经由所述总线直接接收从所述源存储器模块读取的所述数据。
在一些实例中,所述目标存储器模块可包含目标地址寄存器,且其中所述控制器支持用于在所述目标地址寄存器中设置所述目标地址以存储待传输的所述数据的方式。在一些实例中,所述目标存储器模块可包含可操作以从所述控制器接收所述读取命令的操作指令解码器。在一些实例中,所述控制器可支持用于提供芯片启用信号到所述源存储器模块及所述目标存储器模块中的每一者的方式。在一些实例中,所述控制器可支持用于提供时钟到所述源存储器模块及所述目标存储器模块中的每一者达对应于将从所述源存储器模块传输到所述目标存储器模块的数据量的持续时间的方式。在一些实例中,所述总线可包含串行外围互连(SPI)总线。
本文中的描述提供实例,且不限制权利要求书中陈述的范围、适用性或实例。可对论述的元件的功能及布置作出改变而不背离本发明的范围。各种实例可视情况省略、置换或添加各种程序或组件。而且,关于一些实例所描述的特征可组合在其它实例中。
本文中陈述的描述结合附图描述实例配置且不表示可实施或在权利要求书的范围内的全部实例。如本文中所使用,术语“实例”及“示范性”意味着“充当实例、例子、实施例或说明”,而非“优选”或“优于其它实例”。详细描述出于提供对所描述技术的理解的目的而包含具体细节。然而,这些技术可在无这些具体细节的情况下实践。在一些例子中,以框图形式展示众所周知结构及装置以免混淆所描述实例的概念。
在附图中,类似组件或特征可具有相同参考标记。此外,可通过在参考标记后接破折号及区分类似组件的第二标记而区分相同类型的各种组件。当在说明书中使用第一参考标记时,描述可应用于具有相同第一参考标记而不考虑第二参考标记的类似组件的任一者。
可使用多种不同科技及技术中的任何者表示本文中描述的信息及信号。举例来说,可贯穿上文描述参考的数据、指令、命令、信息、信号、位、符号及芯片可由电压、电流、电磁波、磁场或粒子、光场或粒子或其任何组合表示。一些图式可将信号说明为单个信号;然而,所属领域的一般技术人员将理解,信号可表示信号的总线,其中所述总线可具有多种位宽度。
术语“电子通信”是指支持组件之间的电子流的组件之间的关系。此可包含组件之间的直接连接或可包含中间组件。电子通信中的组件可为主动交换电子或信号(例如,在通电电路中)或可不为主动交换电子或信号(例如,在断电电路中)但可经配置且可操作以在电路通电后交换电子或信号。通过实例,物理上经由开关(例如,晶体管)连接的两个组件成电子通信而与所述开关的状态(即,断开或闭合)无关。
本文中论述的装置可形成在例如硅、锗、硅锗合金、砷化镓、氮化镓等等的半导体衬底上。在一些情况中,衬底是半导体晶片。在其它情况中,衬底可为绝缘体上硅(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)、软盘及蓝光光盘,其中磁盘通常磁性地重现数据,而光盘运用激光光学地重现数据。上文的组合也包含在计算机可读媒体的范围内。
提供本文中的描述以使所属领域的技术人员能够做出或使用本发明。所属领域的技术人员将容易明白本发明的各种修改,且本文中定义的通用原理可应用于其它变化而不背离本发明的范围。因此,本发明不应限于本文中描述的实例及设计而应符合与本文中揭示的原理及新颖特征一致的最宽范围。
Claims (20)
1.一种操作存储器系统的方法,其包括:
在存储器控制器处针对待传输到目标存储器的数据识别源存储器中的地址;及
由所述存储器控制器至少部分基于识别所述地址而将命令发送到所述目标存储器和所述源存储器;以及
至少部分基于所述指令而将所述数据由所述源存储器中的所述地址传输到所述目标存储器。
2.根据权利要求1所述的方法,其中发送所述命令进一步包括:
提供芯片启用信号到所述源存储器及所述目标存储器。
3.根据权利要求2所述的方法,其中发送所述命令进一步包括:
提供时钟到所述源存储器及所述目标存储器达一定持续时间。
4.根据权利要求3所述的方法,其进一步包括:
至少部分基于所述芯片启用信号和所述时钟而在所述源存储器及所述目标存储器处解码所述命令。
5.根据权利要求3所述的方法,其中所述持续时间与待传输到所述目标存储器的数据的量相对应。
6.根据权利要求1所述的方法,其中所述命令包括在所述源存储器和所述目标存储器两者处都接收到的单个命令序列。
7.根据权利要求6所述的方法,其中所述单个命令序列指示在所述源存储器处的读操作和在所述目标存储器处的写操作。
8.根据权利要求7所述的方法,其中所述读操作和所述写操作同时发生。
9.根据权利要求1所述的方法,其中所述命令包括在所述目标存储器中的目标地址,其中所述目标地址存储从源地址传输的所述数据。
10.根据权利要求1所述的方法,其中所述存储器控制器、所述源存储器和所述目标存储器的每一者与总线耦合。
11.一种操作存储器系统的方法,其包括:
在目标存储器中设置地址以存储在所述目标存储器处接收的数据;及
至少部分基于在所述目标存储器中设置所述地址而将命令发送到源存储器及所述目标存储器两者以在所述目标存储器处存储来自所述源存储器的所述数据。
12.根据权利要求11所述的方法,其中所述命令包括将数据从所述源存储器读取到总线的指示,其中所述总线与所述目标存储器及所述源存储器耦合。
13.根据权利要求11所述的方法,其中所述命令包括在所述源存储器和所述目标存储器两者处都接收到的单个命令序列。
14.根据权利要求11所述的方法,其中所述命令包括用于在所述源存储器处的读操作和在所述目标存储器处的写操作的指示。
15.根据权利要求14所述的方法,其中所述读操作和所述写操作在相同的时间发生。
16.一种用于数据传输的设备,其包括:
与总线耦合的源存储器;
与所述总线耦合的目标存储器;及
与所述总线耦合且与所述源存储器和所述目标存储器电子通信的控制器,其中所述控制器可操作以进行以下操作:
针对待传输到所述目标存储器的数据识别所述源存储器中的地址;以及
至少部分基于识别所述地址而将命令分送到所述目标存储器与所述源存储器;以及
至少部分基于所述命令而将所述数据从所述源存储器中的所述地址传输到所述目标存储器。
17.根据权利要求16所述的设备,其中所述控制器进一步可操作以进行如下操作:
提供芯片启用信号到所述源存储器及所述目标存储器;以及
提供时钟到所述源存储器及所述目标存储器达一定持续时间,其中所述持续时间与待传输到所述目标存储器的数据的量相对应。
18.根据权利要求17所述的设备,其中所述控制器进一步可操作以进行如下操作:
提供指示以至少部分基于所述芯片启用信号和所述时钟而在所述源存储器及所述目标存储器处解码所述命令。
19.根据权利要求16所述的设备,其中所述命令包括在所述源存储器和所述目标存储器两者处都接收到的单个命令序列。
20.根据权利要求16所述的设备,其中所述命令指示在所述源存储器处的读操作和在所述目标存储器处的写操作,其中所述读操作和所述写操作同时发生。
Applications Claiming Priority (3)
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 |
CN201680073123.5A CN108369563B (zh) | 2015-10-30 | 2016-10-26 | 用于共享总线上多个装置的数据传输的设备与方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680073123.5A Division CN108369563B (zh) | 2015-10-30 | 2016-10-26 | 用于共享总线上多个装置的数据传输的设备与方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113407473A true CN113407473A (zh) | 2021-09-17 |
Family
ID=58631094
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680073123.5A Active CN108369563B (zh) | 2015-10-30 | 2016-10-26 | 用于共享总线上多个装置的数据传输的设备与方法 |
CN202110789265.4A Pending CN113407473A (zh) | 2015-10-30 | 2016-10-26 | 用于共享总线上多个装置的数据传输的设备与方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680073123.5A Active CN108369563B (zh) | 2015-10-30 | 2016-10-26 | 用于共享总线上多个装置的数据传输的设备与方法 |
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)
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 | 维沃移动通信有限公司 | 数据迁移方法、存储器及控制器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096647A (zh) * | 2009-11-25 | 2011-06-15 | 三星电子株式会社 | 多芯片存储器系统和相关的数据传送方法 |
US20150078109A1 (en) * | 2013-09-13 | 2015-03-19 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device |
Family Cites Families (22)
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 | 基於串列週邊介面匯流排的設備及其資料傳輸方法 |
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 | インテル コーポレイション | ハイブリッドのエミュレーション及びカーネル関数処理のシステム及び方法 |
-
2015
- 2015-10-30 US US14/928,988 patent/US10162558B2/en active Active
-
2016
- 2016-10-26 EP EP16860702.6A patent/EP3368991A4/en not_active Withdrawn
- 2016-10-26 JP JP2018521830A patent/JP2019500669A/ja active Pending
- 2016-10-26 WO PCT/US2016/058898 patent/WO2017075073A1/en active Application Filing
- 2016-10-26 KR KR1020187014702A patent/KR102071454B1/ko active IP Right Grant
- 2016-10-26 KR KR1020207002240A patent/KR102189018B1/ko active IP Right Grant
- 2016-10-26 CN CN201680073123.5A patent/CN108369563B/zh active Active
- 2016-10-26 CN CN202110789265.4A patent/CN113407473A/zh active Pending
- 2016-10-28 TW TW105135111A patent/TWI645294B/zh active
-
2017
- 2017-12-27 US US15/855,649 patent/US10671310B2/en active Active
-
2018
- 2018-11-08 US US16/184,307 patent/US10635342B2/en active Active
-
2020
- 2020-04-24 US US16/858,306 patent/US11762570B2/en active Active
-
2021
- 2021-01-06 JP JP2021000656A patent/JP7111849B2/ja active Active
-
2022
- 2022-07-21 JP JP2022115962A patent/JP7525554B2/ja active Active
-
2023
- 2023-09-06 US US18/242,925 patent/US20240103748A1/en active Pending
-
2024
- 2024-05-17 JP JP2024080595A patent/JP2024105616A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096647A (zh) * | 2009-11-25 | 2011-06-15 | 三星电子株式会社 | 多芯片存储器系统和相关的数据传送方法 |
US20150078109A1 (en) * | 2013-09-13 | 2015-03-19 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device |
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 |
TW201719430A (zh) | 2017-06-01 |
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 |
JP7525554B2 (ja) | 2024-07-30 |
US20190138238A1 (en) | 2019-05-09 |
US10635342B2 (en) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108369563B (zh) | 用于共享总线上多个装置的数据传输的设备与方法 | |
TWI742769B (zh) | 用於記憶體裝置之電源管理之方法及設備 | |
EP2652741B1 (en) | Memory controller and method for interleaving dram and mram accesses | |
CN114981890A (zh) | 具有自动预充电的存储器存取 | |
US12050773B2 (en) | Completion flag for memory operations | |
CN104115230A (zh) | 高效pcms刷新机制背景 | |
US11763861B2 (en) | Reduced pin status register | |
WO2022126578A1 (en) | Dynamic interval for memory device to enter low power state | |
CN116467226A (zh) | 用于存储器装置的元数据实施方案 | |
CN113721981B (zh) | 用于存储器装置的指令高速缓存方案 | |
US11972144B2 (en) | Dynamic status registers array | |
CN105989884B (zh) | 半导体存储装置及其操作方法 | |
US8971135B2 (en) | Semiconductor memory device receiving data in response to data strobe signal, memory system including the same and operating method thereof | |
CN116505956A (zh) | 用于启用和停用串行器/解串行器的技术 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20230728 |