CN111984559A - 用于数据传送的***及存储器装置 - Google Patents
用于数据传送的***及存储器装置 Download PDFInfo
- Publication number
- CN111984559A CN111984559A CN201910789330.6A CN201910789330A CN111984559A CN 111984559 A CN111984559 A CN 111984559A CN 201910789330 A CN201910789330 A CN 201910789330A CN 111984559 A CN111984559 A CN 111984559A
- Authority
- CN
- China
- Prior art keywords
- memory device
- memory
- data
- shared bus
- command
- 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.)
- Granted
Links
Images
Classifications
-
- 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/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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- 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
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/404—Coupling between buses using bus bridges with address mapping
-
- 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
- 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
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/16—Memory access
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)
- Multi Processors (AREA)
- Bus Control (AREA)
Abstract
一种用于数据传送的***及存储器装置,特别是一种用于在共享总线上在存储器装置之间进行数据传送的***及装置。***包含一第一存储器装置、一第二存储器装置与一共享总线。一主装置配置以通过该共享总线将至少一控制信号发送至第一存储器装置和第二存储器装置,且控制信号指定将数据由第一存储器装置传送至第二存储器装置。响应于接收到的控制信号,第一存储器装置配置以读取并传送数据至共享总线,第二存储器装置配置以从共享总线接收数据并将数据写入第二存储器装置。数据直接通过共享总线从第一存储器装置传送至第二存储器装置,而未经过主装置。
Description
技术领域
本发明属于存储技术领域,涉及一种用于数据传送的***及存储器装置,用以在存储器装置之间以共享总线进行数据的传送,举例来说,在存储器装置上使用控制信号,使得数据能直接地由来源存储器装置通过共享总线传送至指定存储器装置,如此一来便能大幅地降低数据流量,同时提升***速度与使用灵活性。
背景技术
串行***接口标准(Serial Peripheral Interface,SPI)为一种同步串行通信接口规范,SPI装置能通过共享总线在包含一主装置与一个或多个从装置的主-从结构中,以全双工模式进行通信。在某些情况下,当数据在不同的从装置间进行传送时,主装置需要先通过共享总线将来源从装置的数据读取至主装置的暂存区中,再通过共享总线将暂存区中的数据写入指定从装置,然而,这样的数据传送方式会造成共享总线上数据流量过大的问题。
发明内容
在本公开的一方面,公开一种在存储器装置间进行数据传送的***。***包含多个存储器装置,多个存储器装置中包含一第一存储器装置和一第二存储器装置,一共享总线耦接至存储器装置,其中第一存储器装置配置为从共享总线接收来自一主装置的至少一控制信号,响应于接收到的控制信号,将控制信号指定的一数据从第一存储器装置传送至共享总线。第二存储器装置配置以从主装置接收共享总线上的控制信号,响应于接收到的控制信号,从共享总线上的第一存储器装置接收数据,控制信号指定将数据由第一存储器装置传送至第二存储器装置。
在本公开的一些实施例中,第一存储器装置配置以在获得一时钟信号后传送数据,第二存储器装置配置以在获得时钟信号后传送数据,且时钟信号用于第一存储器装置与第二存储器装置之间的同步。其中第一存储器装置或第二存储器装置中的一个设置以提供时钟信号至共享总线,其中时钟信号提供于第一存储器装置与第二存储器装置通电时。时钟信号由主装置提供至共享总线,且其中主装置耦接至共享总线并配置以通过共享总线来与多个存储器装置通信。
在本公开的一些实施例中,主装置配置以通过断言(assert)一各自的芯片使能信号来选择各存储器装置,且其中当数据由第一存储器装置传送至第二存储器装置时,主装置配置以通过断言一共用芯片使能信号、各自的一第一芯片使能信号和一第二芯片使能信号中的一个,同时选择第一存储器装置和第二存储器装置。
控制信号包括一来源存储器装置与一目的存储器装置的信息,数据的一来源地址信息被读取,数据的一目的地址信息被写入,且其中来源存储器装置与目的存储器装置的信息指定第一存储器装置为来源存储器装置以及指定第二存储器装置为目的存储器装置。来源存储器装置与目的存储器装置的信息中包含一数值指定第一存储器装置为来源存储器装置和指定第二存储器装置为目的存储器装置。
控制信号包含待传送的数据的一长度信息,其中控制信号包括用于第一存储器装置和第二存储器装置其中之一的一个或更多的虚拟周期,第一存储器装置和第二存储器装置中的该其中之一相较于第一存储器装置和第二存储器装置中的其中另一具有一较慢的响应时间。主装置能配置根据第一存储器装置和第二存储器装置的特征判定其虚拟周期。
在本公开的一些示例实施例中,第一和第二存储器装置配置以自共享总线接收一第二命令,第二命令包含一数值,此数值指定第一存储器装置为一第二目的存储器装置,第二存储器装置为第二来源存储器装置。在其他实施例中,来源存储器装置与目的存储器装置的信息包含一第一数值和一第二数值,第一数值指定第一存储器装置为来源存储器装置,第二数值指定第二存储器装置为目的存储器装置。在其他实施例中,第一和第二存储器装置配置接收来自共享总线的一第二命令,第二命令包含一第一数值和一第二数值,第一数值指定第一存储器装置为一第二目的存储器装置,第二数值指定第二存储器装置为一第二来源存储器装置。
在本公开的一些实施例中,主装置配置以将在一单一命令封包中的控制信号传送至共享总线。主装置配置以通过共享总线将一指定命令传送至第一存储器装置和第二存储器装置,指定命令将第一存储器装置和第二存储器装置配置为一无状态通信协议,在无状态通信协议中,第一存储器装置和第二存储器装置没有关于一先前信息流(date stream)的信息,并在各个数据输入前始终为空白。
在本公开的一些实施例中,主装置配置以将在一连串(系列)的分离命令封包中的控制信号传送至共享总线。其中连串的分离命令封包包括用于一读取操作和待读取数据的一地址信息的针对第一存储器装置的一第一命令。主装置配置以通过断言一第一芯片使能信号来选择第一存储器装置,并在第一命令发送至共享总线时取消选择第二存储器装置。
在本公开的一些实施例中,连串的分离命令封包包括用于一写入操作和待写入数据的一地址信息的针对第二存储器装置的一第二命令。其中主装置配置以通过断言一第二芯片使能信号来选择第二存储器装置,并在第二命令传送至共享总线时取消选择第一存储器装置。
在本公开的另一示例实施例中,连串的分离命令封包包括一数据传送命令,用于初始化从第一存储器装置到第二存储器装置的数据传送。
在本公开的另一示例实施例中,主装置配置以通过共享总线发送一指定命令至第一存储器装置和第二存储器装置,指定命令将第一存储器装置与第二存储器装置配置为一有状态通信协议,在有状态通信协议中,关于先前数据字或封包的信息以变量(variables)形式储存并用以影响一目前的字或封包的处理。
在本公开的另一示例实施例中,主装置配置以:取消断言第一芯片使能信号和第二芯片使能信号以取消选择第一存储器装置和第二存储器装置来中断数据传送,且重新断言第一芯片使能信号和第二芯片使能信号以选择第一存储器装置和第二存储器装置来继续数据传送。
共享总线可以是一支持多个输入输出(I/O)的接口,在本公开的一些实施例中,第一存储器装置包含一闪存存储器(flash memory),第二存储器装置包含一随机存取存储器(Random Access Memory RAM);在本公开的一些实施例中,存储器装置可以是多芯片封装结构,在本公开的其他示例实施例中,第一和第二存储器装置中的其一可以是位于多芯片封装结构内,另一存储器装置位于多芯片封装结构外,通过共享总线与多芯片封装结构耦合。
控制信号所指定的数据通过共享总线从第一存储器装置直接传送至第二存储器装置,而未经过主装置。
在本公开的一些实施例中,***可以是包含存储器装置和共享总线,而主装置是位于***外部的;在本公开的一些实施例中,***包含主装置、存储器装置和共享总线。
在本公开的示例实施例中,主装置配置提供一时钟信号,通过共享总线传送至第一和第二存储器装置,时钟信号用于第一和第二存储器装置在数据传送前的同步。
在本公开的示例实施例中,当数据通过共享总线从第一存储器装置传送至第二存储器装置时,主装置系配置以从共享总线上接收数据;主装置配置以将接收到的数据储存于主装置内的暂存区中,主装置配置以将数据暂存于第二存储器装置的指定位置。
在本公开的示例实施例中,主装置配置以通过断言个别芯片的一使能信号来选择存储器装置,当数据由第一存储器装置传送至第二存储器装置时,主装置配置以通过断言一共用芯片使能信号和个别的一第一芯片使能信号和一第二芯片使能信号,同时选择第一存储器装置和第二存储器装置。
本公开的另一方面提供一种存储器装置,包括:一存储器,用于储存数据,一存储器控制器,耦接至存储器且配置以:通过一共享总线从一主装置接收一控制信号,控制信号包含一信息,信息与待传送至一第二存储器装置的存储器中的一特定数据相关联;读取来自存储器中的控制信号所指定的特定数据;传送特定数据至共享总线,以使第二存储器装置能够从共享总线接收特定数据,并根据控制信号将特定数据写入第二存储器装置的一目的位置。
本公开的另一方面进一步提供一种存储器装置,包括:一存储器,用于储存数据;一存储器控制器,耦接至存储器且配置以:通过一共享总线从一主装置接收一控制信号,控制信号包含一信息,信息与待从一来源存储器装置传送并待储存至存储器的一特定数据相关联;通过共享总线从来源存储器装置接收特定数据;根据控制信号将特定数据写入存储器的一目的位置。
上述实施例中的技术特征包含***、操控方法、电脑程序和电脑可读写介质。在一示例的实施例中,处理器将一电脑程序适当的安装于一储存指令执行档的非暂态机器可读取介质中。在另一示例的实施例中,包含一个或多个处理器的一***,一个或多个处理器将指令执行档储存于一电脑程序,指令执行档配置处理器执行上述动作。
上述技术特征将控制信号用于来源与指定(或目标)存储器装置(例如:存储芯片),使得数据能通过一共享总线直接地由来源存储芯片,例如一闪存存储器,传送至一个或多个指定存储芯片,例如随机存取存储器;控制信号可以是预先定义的指令、预先储存或配置于来源和指定存储芯片内,也可以是由一主装置发送而来的。来源存储芯片可以配置以执行一读取动作,目的存储芯片可以配置以执行一写入动作;来源存储芯片可以通过共享总线输出(或发送)数据,指定存储芯片可以自共享总线接收数据,其中不需经过主装置或任何直接存储器存取器(Direct Memory Access,DMA)。主装置能通过同时由共享总线接收数据的方式达到缓冲数据的效果,主装置利用此操作方法向来源存储芯片提取数据和将数据储存于主装置的快取缓冲区中;主装置也能管理快取缓冲区与指定的存储芯片来提升目标存储芯片的整体输入输出(I/O)表现。特别地,此技术特征能应用于不支持随机存取的来源存储芯片,当主装置读写来源存储芯片(例如:闪存存储器)中的数据时,主装置能将数据缓冲于指定存储芯片的指定位置。来源存储芯片和指定存储芯片可以是在同一多芯片封装结构中,在一示例的实施例中,此技术特征也能使用在非多芯片封装结构上,如个别芯片与共享总线的结构上。
此技术特征能降低耗能、优化数据传送(或移动)步骤和改善反应时间。举例来说,当一***启动时,位于来源和指定存储芯片内的预设组态根据一来自主装置的时钟信号或一来自来源存储器装置的数据选通(data strobe,DQS),将编码或数据由一来源存储芯片(例如:闪存)自动地传送至一指定存储芯片(例如:一随机存取存储器),再者,用于同步的时钟信号除了由主装置产生外,也能根据芯片组态由来源存储芯片或指定存储芯片提供。预设组态能在需要时通过主装置配置一遮蔽区域用以设置来源与指定存储芯片的储存器(registers),预设组态会在下次开机时发挥作用。主装置能中断自动遮蔽,并通过一控制信号重新配置来源存储芯片与指定存储芯片以重启它们之间的数据传送。
在一示例的实施例中,一程序指令可以被拆解成三个阶段:一包含地址信息的指令区段,一数据传送区段和一执行区段。在另一示例的实施例中,当指令程序收集到的位数据达到一定长度(以位计算)时,指令程序拆解成两个阶段:一包含地址信息的指令区段和一数据传送区段。在另一示例的实施例中,指令程序以单一命令封包来执行。存储芯片被配置为无状态通信协议,存储芯片没有与先前信息流(data stream)相关的信息,并且在数据输入前始终为空白。在另一示例的实施例中,程序指令以一连串的指令封包来执行。存储芯片配置为有状态通信协议,关于先前数据字或封包的信息以变量(variables)形式储存并用以影响一目前字或封包的处理。指令封包中包含来源设定、目的设定、数据传送和闪存编程当来源存储芯片为一闪存存储器时。数据传送可通过取消断言来释放共享总线,例如:一紧急程序,下达一恢复程序能继续数据的传输,通过这样的操作方法能传输大量的数据。
上述的技术特征可使用在多种存储器装置上,例如单层单元(single-levelcell)或是双层单元装置、三层单元(triple-level cell)装置等多层单元(multi-levelcell)装置上。此技术特征可使用于多种易失性存储器的***上,例如随机存取存储器(RAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等相关的存储器结构。此技术特征可使用于多种非易失性存储器的***上,例如与非门闪存存储器(NAND flashmemory)、掩膜式只读存储器(MROM)、可擦除电动程序控制只读存储器(EPROM),铁电随机存取存储器(FeRAM)、磁性随机存取存储器(MRAM)等相关的存储器装置。更甚者,此技术特征可使用于多种装置及***上,例如SD卡、嵌入式多媒体卡(eMMC)、固态硬碟(SSDs)、嵌入式***、硅片上***(SOC)等相关的***中。
为了对本公开的上述及其他方面有更佳的了解,下文特举若干实施范例,并配合所附附图详细说明如下:
附图说明
图1A绘示根据一实施例中通过共享总线在存储器装置之间传送数据的***示意图。
图1B绘示根据一实施例的存储器装置示意图。
图1C绘示根据另一实施例的存储器装置示意图。
图2A绘示根据一实施例的数据在指令阶段于主装置、闪存存储器装置和随机存取存储器装置间传送示意图。
图2B绘示根据一实施例的数据在数据传送阶段于主装置、闪存存储器装置和随机存取存储器装置间传送示意图。
图2C绘示根据图1A另一实施例的数据在数据传送阶段于主装置、闪存存储器装置和随机存取存储器装置间传送示意图。
图3A绘示根据一实施例的在共享总线上任意数据长度的单一指令封包的时间示意图。
图3B绘示根据另一实施例的在共享总线上指定数据长度的单一指令封包的时间示意图。
图3C绘示根据一实施例的在共享总线上分离命令封包的时间示意图。
图3D绘示根据另一实施例的在共享总线上分离命令封包的时间示意图。
图3E绘示根据另一实施例的在共享总线上分离命令封包的时间示意图。
图4绘示根据一实施例的通过共享总线在存储器装置间传送数据的流程图。
【符号说明】
100:数据传送***
102:共享总线
110a、110b、110c:存储器装置
112a、112b:装置控制器
113a、113b:处理器
114a:内部存储器
116a、116b:存储器
120:主装置
122:处理器
124:快取
202:共享总线
205:控制信号
212:闪存存储器
214:随机存取存储器
220:主装置
222:快取
233:时钟信号
235:数据
400:数据传输流程图
402、404、406:数据传输步骤
CE1:第一芯片使能信号
CE2:第二芯片使能信号
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
本公开的实施例提供一种***、装置及其控制方法,用以在存储器装置间以共享总线进行数据的传送,本公开能降低在存储器装置间,例如:一多芯片封装结构中,不同芯片间移动数据时共享总线上的传输流量。存储器装置可以是任何耦接至共享总线的合适存储器装置,其有着不同的反应时间。在一些实施例中,一主机(或主装置)发送一控制信号,例如:预定义指令,至一来源从装置和一指定从装置,数据能从来源从装置直接地移动至指定从装置而不会经过主机或是直接存储器存取(DMA)引擎。存储器装置能包含易失性存储器装置如随机存取存储器,非易失性存储器如闪存存储器(例如:与非门闪存存储器)、掩膜式只读存储器、可擦除电动程序控制只读存储器,铁电随机存取存储器、磁性随机存取存储器等与随机存取存储器有不同反应时间的存储器。
图1A绘示依据本案技术的以共享总线在存储器装置间传送数据的***100的实施例示意图。***100包含一主装置120、一共享总线102和多个存储器装置110a、110b、110c,其中存储器装置110a、110b、110c可为一存储芯片。在本公开的一些实施例中,存储器装置110a和110b位于一多芯片封装结构内,存储器装置110c位于多芯片封装结构外。在本公开的一些实施例中,存储器装置110a、110b和110c都位于一多芯片封装结构内,***100可为一硅片上***(SOC)。
在一些示例的实施例中,存储器装置110a为一非易失性存储器,配置为长期储存指令和/或数据,例如:一闪存存储器装置;在另一示例的实施例中存储器装置110b为一易失性存储器配置为使用电力读取和/或写入数据,例如:一随机存取存储器存储器装置,此随机存取存储器存储器装置相较于闪存存储器装置有较快的读取和写入时间;在另一示例的实施例中,存储器装置110a和110b为同一类型的存储器,例如:非易失性存储器或是易失性存储器,但有不同的反应时间。存储器装置110a较存储器装置110b有较慢的反应时间,或是存储器装置110b较存储器装置110a有较慢的反应时间。
图1B绘示依据本案技术的存储器装置110a,存储器装置110a包含一装置控制器112a和一存储器116a,存储控制器112a包含一处理器113a和一内部存储器114a。
在本公开的其一实施例中,存储器装置110a为一储存装置,举例来说,存储器装置110a可为一嵌入式多媒体卡(eMMC)、一SD卡、一固态硬碟(SSD)或其他合适的储存装置。在本公开的一些实施例中,存储器装置110a为一智能手表、一数码相机或一多媒体播放器。在本公开的一些实施例中,存储器装置110a为一客户端装置耦接于主装置120,举例来说,存储器装置110a为一SD卡,位于可以是数码相机或多媒体播放器的主装置120内。
装置控制器112a可为一通用的微处理器或是一专门用途的微处理器。在本公开的一些实施例中,装置控制器112a为存储器装置110a的存储器控制器。以下实施例内所描述的不同技术特征中,其装置控制器112a为存储器控制器,然而当装置控制器112a不为存储器控制器时,亦可应用于以下实施例所描述的不同技术特征中。
处理器113a配置以运行指令和处理数据,指令包含储存为固件码和/或指令码的固件指令和/或其他程序指令,指令储存于内部存储器114a内。数据包含处理器所运行的固件和/或其他程序所对应的程序数据或是其他合适的数据。在本公开的一些实施例中,处理器113a为一通用的微处理器或是一专门用途的微处理器。处理器113a亦可为一中央处理器(CPU)。
处理器113a由内部存储器114a撷取指令和数据。在本公开的一些实施例中,内部存储器114a为一静态随机存取存储器(SRAM)或一动态随机存取存储器(DRAM)。举例来说,在本公开的一些实施例中,存储器装置110a为一嵌入式多媒体卡、SD卡或智能手表,内部存储器114a为一静态随机存取存储器。在本公开的一些实施例中,存储器装置110a为一数码相机或多媒体播放器,内部存储器114a为一动态随机存取存储器。
在本公开的一些实施例中,内部存储器114a为一位于装置控制器112a内部的快取存储器,内部存储器114a储存指令编码,指令编码为处理器113a执行的指令或是处理器113a在运行阶段所请求的数据。
装置控制器112a将存储器116a的指令编码和/或数据传送至内部存储器114a。在本公开的一些实施例中,存储器116a为一非易失性存储器,配置为长期储存指令和/或数据,例如:一与非门闪存存储器装置或其他合适的非易失性存储器装置。在本公开的一些实施例中,存储器116a为一与非门闪存存储器,存储器装置110a为一闪存存储器装置,例如:一闪存存储卡,装置控制器112a为一与非门闪存控制器。举例来说,在本公开的一些实施例中,存储器装置110a为一嵌入式多媒体卡(eMMC),存储器116a为一与非门闪存存储器;在本公开的一些实施例中,存储器装置110a为一数码相机,存储器116a为一SD卡;在一些实施例中,存储器装置110a为一多媒体播放器,存储器116a为一硬碟。
存储器装置110b可以与存储器装置110a有着如图1B所绘示的相同配置,不同之处在于存储器装置110b有不同于存储器装置110a的反应时间。
图1C绘示另一依据本案技术的存储器装置110b,根据一个或多个实施例,存储器装置110b包含一装置控制器112b和一存储器116b,装置控制器112b包含一处理器113b。在一些示例的实施例中,装置控制器112b也能包含一内部存储器相似于图1B中所绘示的内部存储器114a。
装置控制器112b可为一相似于图1B所绘示的装置控制器112a,装置控制器112b可为一通用的微处理器或是一专门用途的微处理器。在本发明的其一实施例中,装置控制器112b为存储器装置110b的存储器控制器或是任何其他种类的控制器,处理器113b可为一相似于图1B所绘示的处理器113a,配置为运行指令和处理数据,指令包含储存为固件码和/或指令码的固件指令和/或其他程序指令。数据包含处理器所运行的固件和/或其他程序所对应的程序数据,或是其他合适的数据。在本公开的一些实施例中,处理器113b为一通用的微处理器或是一专门用途的微处理器。处理器113b亦可为一中央处理器。
处理器113b由存储器116b撷取指令和数据。在本公开的一些实施例中,存储器116b为一静态随机存取存储器或一动态随机存取存储器。在本公开的一些实施例中,存储器116b为一位于装置控制器112b内部的快取存储器,存储器116b储存指令编码,指令编码为处理器113b执行的指令或是处理器113b在运行阶段所请求的数据。
存储器116b相较于存储器116a可以有较快的读取与写入时间;在本公开的一些实施例中,存储器116b为一易失性存储器配置为使用电力读取和/或写入数据,例如:一随机存取存储器。在本公开的一些实施例中,存储器116b为一非易失性存储器配置为长期储存指令和/或命令,例如:一闪存存储器。
主装置120包含至少一处理器112,处理器122配置为运行指令和处理数据;处理器112可以为一通用的微处理器或是一专门用途的微处理器;处理器112可以视为一中央处理器。主装置120包含一快取124配置为缓存入或缓存出共享总线102的数据。
存储器装置110a、110b和110c耦接于共享总线102,同时配置为通过共享总线102与主装置120进行通信。共享总线102可使用一串行***接口(Serial PeripheralInterface SPI)或有同步串行通信特征的其他接口;共享总线(共用汇流排)102也可使用其他支持多重输入/输出(I/Os)的接口形式,例如多重输入/输出串行***接口、嵌入式多媒体卡总线(汇流排)、开放式与非门闪存接口(open NAND flash interface,ONFI)或动态随机存取存储器总线(汇流排)。主装置120和存储器装置110a、110b和110c能通过共享总线102,在主装置120为单一主装置和存储器装置110a、110b、110c为从装置的主-从结构中,以全双工模式进行通信。
主装置120通过实体的引脚(pin)连接每一个存储器装置110a、110b、110c。主装置120断言(assert)一芯片使能(chip enable,CE)信号,通过实体引脚选择存储器装置,或取消断言CE信号,通过实体引脚取消选择存储器装置;当主装置120断言一CE信号选择存储器装置时,存储器装置从共享总线102接收一命令、一时钟信号或数据,或是传送数据至共享总线102。在本公开的一些实施例中,多个存储器装置使用一共用CE信号,主装置120能使用共用CE信号来选择或取消选择多个存储器装置。举例来说,有五个存储器装置耦接至共享总线102,第一存储器装置与第一CE信号相关联,第二存储器装置与第二CE信号相关联,第三、第四与第五存储器装置与第三CE信号相关联,其中第三CE信号为三个存储器装置的共用CE信号。
以下图2A至图4为本公开更详细的技术特征,主装置120传送至少一控制信号至共享总线102,控制信号包含一个或多个预先定义的指令;控制信号包含来源和目的存储器装置的相关信息、待读取的来源地址信息和待写入的目的地址信息。来源与目的存储器装置的信息能指定一第一存储器装置,例如:存储器装置110a,为一来源存储器装置,第二存储器装置,例如:存储器装置110b为一目的存储器装置。主装置120能通过共享总线102对来源与目的存储器装置发出个别的指定命令来设定其优先程度。来源存储器装置配置为接收来自共享总线102的控制信号,读取被控制信号所指定,来自来源存储器装置的数据,例如:从图1B所绘示的存储器装置110a中的存储器116a,传送数据至共享总线102,目的存储器装置配置为通过共享总线102接收来自主装置120的控制信号,控制信号配置目的存储器装置在不经过主装置120或主装置120不从中介入的情况下接收数据,并依据控制信号将数据写入目的存储器装置中的指定位置,例如:图1C中存储器装置110b中的存储器116b,控制信号能指定两个或多个存储器装置,例如:存储器装置110b、110c为目的存储器装置,从来源存储器装置接收数据。
在本公开的一些实施例中,来源与目的存储器装置的信息包含至少一数值(digital value),存储器装置110a、110b被个别的CE信号所选择,并接收来自共享总线102的数值。数值指示存储器装置110a为来源存储器装置,存储器装置110a在接收到数值后将自身配置以执行一读取动作,举例来说,依据存储器装置110a与主装置120间的通信协议;数值指示存储器装置110b为目的存储器装置,存储器装置110b在接收到数值后将置身配置以执行一写入动作,举例来说,依据装置110b与主装置120间的通信协议。
在本公开的一些实施例中,来源与目的存储器装置的信息包含多个数值。存储器装置110a被个别的CE信号所选择,并接收来自共享总线102的第一数值,第一数值指示存储器装置110a为来源存储器装置,存储器装置110a在接收到第一数值后将自身配置以执行一读取动作;存储器装置110b被个别的CE信号所选择,并接收来自共享总线的一第二数值,第二数值指示存储器装置110b为目的存储器装置,存储器装置110b在接收到第二数值后将自身配置以执行一写入动作。在本公开的一些示例实施例中,存储器装置110a、110b同时被选择自共享总线102接收一第一和第二数值。第一数值指示存储器装置110a为来源存储器装置但不指示存储器装置110b为来源存储器装置或目的存储器装置;第二数值指示存储器装置110b为目的存储器装置但不指示存储器装置110a为来源存储器装置或是目的存储器装置。在本公开的一些示例实施例中,存储器装置110a、110b在不同时间点个别的被选择接收一第一数值与第二数值。在本公开的一些示例实施例中,有着多个数值及所对应的多个存储器装置,在多个数值中,其一数值用于指示其一存储器装置为来源存储器装置,其余数值被用于指示其余存储器装置为目的存储器装置或是无关联存储器装置(不是目的存储器装置也不是来源存储器装置)。通过此操作方法,多个存储器装置能设置为一来源存储器装置和多个目的存储器装置(和多个选择性存在不是目的存储器装置也不是来源存储器装置的无关联存储器装置)。
主装置120配置以通过共享总线102提供一时钟信号至来源与目的存储器装置。来源存储器装置配置以在接收到时钟信号后传送数据至共享总线102;目的存储器装置配置以在接收到时钟信号后传送数据至共享总线102。在本公开的一些实施例中,时钟信号用于来源与目的存储器装置的同步。来源与目的存储器装置个别装置有时间调整功能组态用以协助数据与指令能正确地被接收。考量图示的简洁性,时钟信号未绘示于图示中。
在本公开的一些实施例中,控制信号包含一个或多个虚拟周期,绘示于图3A至图3D中。此虚拟周期配置以向存储器装置提供时间延迟。主装置120能依据存储器装置的特性判断出一个或多个虚拟周期。举例来说,如果来源存储器装置为一闪存存储器,而目的存储器装置为一随机存取存储器,该闪存存储器在传送数据时需较长的准备时间,主装置120能判断闪存存储器的使用表现(例如:操作速度)并依据使用表现判断所需的虚拟周期数量。
在本公开的一些实施例中,绘示于图3A到图3C中,主装置120发送一位于单一命令封包内的控制信号至共享总线102。在发送控制信号前,主装置120通过共享总线102发送一指定命令至来源与目的存储器装置,指定命令将来源与目的存储器装置配置为无状态通信协议,来源与目的存储器装置没有与先前信息流相关的信息,并且在数据输入前始终为空白。
在本公开的一些实施例中,其详细技术特征绘示于图3D、图3E,主装置120发送一连串(系列)含有控制信号的分离命令封包至共享总线102,在发送控制信号前,主装置120通过共享总线102发送一指定命令至来源与目的存储器装置,指定命令配置来源与目的存储器装置为有状态通信协议,其中有关先前数据字或封包的信息以变量形式储存并用以影响目前字或封包的处理。主装置120能通过取消断言芯片使能信号以取消选择来源与目的存储器装置来中断在来源存储器装置至目的存储器装置间的数据传送,例如:一针对紧急程序的应变措施;主装置120也能通过重新断言芯片使能信号以选择来源与目的存储器装置来继续数据在来源存储器装置与目的存储器装置间的数据传送。
在本发明的一示例实施例,亦适用于任何上述的实施例中,一连串的分离命令封包中包含一发送至来源存储器装置的一第一命令,用以执行一读取动作和获取待读取数据的地址信息,主装置通过断言第一芯片使能信号来选择来源存储器装置,同时当第一命令传送至共享总线102时,取消选择目的存储器装置。在本发明的另一示例实施例中,一连串的分离命令封包中包含一发送至目的存储器装置的一第二命令,用以执行一写入动作和获取待写入数据的地址信息,主装置通过断言第一芯片使能信号来选择目的存储器装置,同时当第二命令传送至共享总线102时,取消选择来源存储器装置。在本发明的另一示例实施例中,一连串的分离命令封包中包含一数据传送命令,用来初始化自第一命令装置至第二命令装置的数据传送。连串的分离命令封包中包含依序排列好的第一命令、第二命令和数据传送命令;第一命令中也能包含一个或多个虚拟周期。
如上所述,在本公开的实施例中,数据能在任何耦接至共享总线,有不同反应时间的存储器装置间进行传送,举例来说,一来源存储器装置,例如:一闪存存储器,有较慢的反应时间,另一目的存储器装置,例如:一随机存取存储器或磁性随机存取存储器,有较快的反应时间。仅用于图示说明之目的,图2A至图2C绘示一通过共享总线202在一主装置220、一闪存存储器装置212和一随机存取存储器装置214间传送数据的示意图,主装置220和共享总线202可以作为图1A中对应的主装置120和共享总线102;闪存存储器装置212和随机存取存储器装置214可以作为图1A和图1B中的存储器装置110a和图1A和图1C中的存储器装置110b;主装置220所包含一快取222可以作为图1A中的快取124。
图2A绘示一命令阶段的示意图,主装置220发送一控制信号205至共享总线202,主装置220断言个别的芯片使能信号来选择对应的闪存存储器212和/或随机存取存储器214,其中闪存存储器212和随机存取存储器214能同时或个别地接收控制信号205;主装置220配置为通过断言一共用芯片使能信号或个别的芯片使能信号来选择闪存存储器212或随机存取存储器214,控制信号205指定闪存存储器212为来源存储器装置,随机存储器214为目的存储器装置。如上所述,控制信号也能包含用以指定来自闪存存储器212中待读取的数据的来源地址信息,和待写入随机存取存储器214的特定数据的目的地址信息。
图2B绘示一数据传送阶段的示意图,主装置220发送一时钟信号233至共享总线202,使得闪存存储器212和随机存取存储器214能接收时钟信号233并彼此同步,在数据传送阶段时,闪存存储器212读取被控制信号205所指定位于闪存存储器212中的数据235,并将数据235传送至共享总线202;随机存取存储器214由共享总线202接收数据235,将数据235写入控制信号205指定的目的地址。通过此操作方法,数据235能在不经过主装置220的情况下,由闪存存储器212直接地通过共享总线202传送至随机存取存储器214。
图2C绘示另一数据传送阶段的示意图,其中当闪存存储器212通过共享总线202传送数据235至随机存取存储器214时,主装置220能接收(或抓取)共享总线202上的数据235,主装置220利用此操作方法向闪存存储器212提取数据和将数据储存于快取222中。在本公开的一些实施例中,当主装置220通过共享总线202提取闪存存储器212中的数据235时,主装置220能将数据235缓冲于随机存取存储器214中的指定位置。在本公开的一些实施例中,闪存存储器212和随机存取存储器214位于一多芯片封装结构中,主装置220能管理位于多芯片封装结构中的快取222和随机存取存储器214来提升闪存存储器装置的整体输入输出表现,特别是不支持随机存取的闪存存储器212。
在本公开的一些实施例中,闪存存储器212和随机存取存储器214配置为一预设组态,例如:通过一控制信号205配置为一预设组态。根据预设组态,当闪存存储器212和随机存取存储器214通电时,将编码或数据自动地由闪存存储器212通过共享总线202传送至随机存取存储器214。数据传输能被一时钟信号初始化,时钟信号用于闪存存储器212和随机存取存储器214之间的同步。时钟信号能由主装置220所提供,也能在闪存存储器212和随机存取存储器214启动时由闪存存储器212和随机存取存储器214所提供。
预设组态的一遮蔽区域能由,例如:一主装置220,所配置,通过设置闪存存储器212和随机存取存储器214的指定储存器,闪存存储器212和随机存取存储器214能在下次开机时自动执行数据传送。在本公开的示例实施例中,若随机存取存储器214不包含熔丝储存器,位于随机存取存储器214内的遮蔽区域可由闪存存储器212配置。举例来说,来自于闪存存储器212的一数量的数据,例如:数据中的前4位,用于配置随机存取存储器214的目的地址。通过此方法,快取存储器212所提供的熔丝储存器不只配置了闪存存储器212的来源地址,同时配置随机存取存储器214的目的地址,确保自动遮蔽程序的可行性。主装置220能中断自动遮蔽,并利用如图2A至图2B中所绘示的控制信号配置闪存存储器212和随机存取存储器214重启数据传输。
在本公开的示例实施例中,主装置220能发送一控制信号配置随机存取存储器214为来源存储器装置,闪存存储器212为指定存储器装置,随机存取存储器214能依据控制信号将数据通过共享总线202直接传送至闪存存储器212。
图3A至图3E绘示一主装置通过一共享总线发送一命令封包至一来源存储器装置与一目的存储器装置的示意图,主装置可为图1A中的主装置120,亦可为图2A至图2C中的主装置220;来源存储器装置可为图1A和图1B中的存储器装置110,或是图2A至图2C中的闪存存储器212;目的存储器装置可为图1A和图1C中的存储器装置110b,或是图2A至图2C中的随机存取存储器214;共享总线可为图1A中的共享总线102,或图2A至图2C中的共享总线202。
综上所述,主装置能通过共享总线发送一控制信号至来源存储器装置与目的存储器装置。控制信号包含一有地址信息的命令区段、一数据传送区段和一选择性的运行区段。控制信号能以如图3A至图3B所绘示单一命令封包的方式实施,控制信号也能以如图3C至图3E所绘示一连串命令封包的方式实施,一连串命令封包中包含一来源设置的命令封包、一目的设置的命令封包、一数据传送的命令封包和一选择性的闪存编程,如果来源存储器装置为一闪存存储器装置时。
仅用于附图说明的用途,CE1为来源存储器装置的一第一芯片使能信号,CE2为目的存储器装置的一第二芯片使能信号。当第一(或第二)芯片使能信号被断言时,CE1(或CE2)为低电平;当第一(或第二)芯片使能信号被取消断言时,CE1(或CE2)为高电平。输入/输出会将信号表示于共享总线上。
图3A绘示一位于共享总线上任意数据长度的单一命令封包示意图,单一命令封包中包含依序排列的命令周期、来源地址周期,目的地址周期和虚拟周期。综上所述,命令周期包含来源与目的存储器装置的相关信息,命令周期中包含一个或多个数值,以一个或多个位的格式指定来源存储器装置与目的存储器装置。来源地址周期包含来自来源存储器装置待读取数据的地址信息。目的地址周期包含待写入目的存储器装置数据的地址信息,地址周期能包含多个位,例如:三或4个位。主装置传送命令周期、来源地址周期、目的地址周期的信号至共享总线,虚拟周期由主装置判定让来源存储器装置或目的存储器装置做好传送数据的准备,在虚拟周期时,没有信号需要被传送至共享总线。
当处于数据周期时,来源存储器装置以封包形式读取和传送数据至共享总线。当处于命令阶段和数据传送阶段时,主装置断言CE1和CE2信号来选择来源与目的存储器装置。如单一命令封包未指定传送数据的长度,数据传送将持续至主装置取消断言CE1和CE2信号来取消选择来源存储器装置与目的存储器装置。
图3B绘示另一位于共享总线上指定数据长度的单一命令封包示意图,与图3A的单一命令封包相比,图3B所绘示的包含一指定待传送数据长度的命令(数据长度),指定数据长度的指令可按照单一命令封包形式排序在目的地址周期与虚拟周期之间,因而,数据能完整的以N拍(Nbeats)(或时钟周期)的方式传送,CE1和CE2信号在数据完整传送后取消断言。
图3C绘示一位于共享总线上的分离命令封包示意图。当处于传送一第一命令封包时,主装置断言CE1信号来选择来源存储器装置和取消断言CE2信号来取消选择目的存储器装置。第一命令封包中包含一用于指定来源存储器装置执行一读写动作的命令读写周期(命令读写CE1周期)的相关信息、待读写数据的地址信息(地址CE1周期)和虚拟周期,虚拟周期使的来源存储器装置做好传送数据的准备。当处于发送一第二命令封包时,主装置断言CE2信号来选择目的存储器装置,同时保持断言CE1信号来选择来源存储器装置。第二命令封包中包含一用于指定目的存储器装置执行一写入动作的命令写入周期(命令写入CE2周期)的相关信息、待写入数据的地址信息(地址CE2周期),然后数据持续传送至CE1和CE2被取消断言或是数据已完整的传送。
图3D绘示另一位于共享总线上的分离命令封包示意图。当处于发送一第一命令封包时,主装置断言CE2信号来选择目的存储器装置和取消断言CE1信号来取消选择来源存储器装置。第一命令封包中包含一用于指定目的存储器装置执行一写入动作的命令写入周期(命令写入CE2周期)的相关信息、待写入数据的地址信息(地址CE2周期),当处于发送一第二命令封包时,主装置断言CE1信号来选择来源存储器装置和取消断言CE2信号来取消选择目的存储器装置。第二命令封包中包含一用于指定来源存储器装置执行一读取动作的命令读取周期(命令读取CE1周期)、待读取数据的地址信息(地址CE1周期)和虚拟周期。第三命令封包中包含数据传送周期,用于初始化由来源存储器装置至目的存储器装置的数据传送。主装置在处于第三命令封包和数据传输时同时断言CE1和CE2信号来选择来源存储器装置和目的存储器装置。
图3E绘示另一位于共享总线上的分离命令封包示意图。当处于发送一第一命令封包时,主装置断言CE1信号来选择来源存储器装置和取消断言CE2信号来取消选择目的存储器装置。第一命令封包中包含一用于指定来源存储器装置执行一读取动作的命令读取周期(命令读取1CE1周期)的相关信息、待读取数据的地址信息(地址CE1周期)。当处于发送一第二命令封包时,主装置断言CE2信号来选择目的存储器装置和取消断言CE1信号来取消选择来源存储器装置。第二命令封包中包含一用于指定目的存储器装置执行一写入动作的命令写入周期(命令写入1CE2周期)、待写入数据的地址信息(地址CE2)周期。第三命令封包中包含数据传送周期,用于初始化由来源存储器装置至目的存储器装置的数据传送。主装置在处于第三命令封包和数据传送时同时断言CE1和CE2信号来选择来源存储器装置和目的存储器装置。
图4绘示一个或多个实施例中数据通过共享总线在存储器装置间传输的流程图400。共享总线可为图1A中的共享总线102,亦可为图2A至图2C中的共享总线202。流程400可被来源存储器装置所执行,来源存储器装置可为图1A和图1B中的存储器装置110a,亦可为图2A至图2C中的闪存存储器212。
在本公开的一些实施例中,来源存储器装置包含一主要存储器(例如:一闪存存储器)和一存储器控制器,存储器控制器可以包含一处理器和次要存储器(例如:一随机存取存储器装置),存储器控制器能执行流程400。存储器控制器通过共享总线接收来自主装置的一控制信号(步骤402),控制信号指定来源存储器装置中主要存储器内的特定数据传送至一目的存储器装置。存储器控制器可为图1B中的存储器控制器112a。主装置可为图1A中的主装置120,亦可为图2A至图2C中的主装置220。目的存储器装置可为图1A中的存储器装置110b,亦可为图2A至图2C中的随机存取存储器214。
综上所述,控制信号能指定一第一存储器装置为来源存储器装置,和指定一第二存储器装置为目的存储器装置。控制信号也能包含来源存储器装置中的主要存储器内待读取的特定数据的来源地址信息和待写入目的存储器装置中的特定数据的目的地址信息。
主装置能发送一时钟信号至共享总线,来源存储器装置和目的存储器装置能通过共享总线接收时钟信号,时钟信号用以来源存储器装置与目的存储器装置的同步。
存储器控制器读取位于来源存储器装置中的主要存储器内被控制信号指定的特定数据(步骤404),存储器控制器将特定数据传送至共享总线(步骤406),目的存储器装置能直接地由共享总线接收特定数据而不需经过主装置,接着目的存储器装置将特定数据写入由控制信号所指定的目的位置。
本公开的内容和实施例可应用于一个或多个电脑程序产品,举例来说在一数据处理设备中,一个或多个电脑程序指令模组编码于一电脑可读取介质中,用以执行或控制数据处理,电脑可读取介质可为一机器可读取储存装置、一机器可读取媒体储存基体、一存储器装置或者是以上之一或多个上述装置的结合。术语“数据处理设备”包括所有用于数据处理的设备、装置及机器,举例但不受限于,一可编程处理器、一电脑、多个处理器或多个电脑。设备除了硬件外,还可包含为电脑程序提供一执行环境的编码,例如:组成处理器固件的编码、一协议堆栈(protocol stack)、一数据库管理***、一执行中的***或以上一个或多个的结合。
本公开的***中包括所有用于数据处理的设备、装置及机器,举例但不受限于一可编程处理器、一电脑、多个处理器或多个电脑。一***除了硬件外,还可包含为电脑程序提供一执行环境的编码,例如:组成处理器固件的编码、一协议堆栈、一数据库管理***、一执行中的***或以上一个或多个的结合。
本发明所公开的电脑程序(亦被称为程序、软体、应用软体、脚本或编码)可以任何形式的程序语言编写,包含编码或解码语言,亦可以任何形式进行调配,例如:独立运作的程序或是一模组、一组件、一副程序或其他用于电脑运算环境的单元。本公开中的电脑程序并非一定对应于文档***中的单一文档,一程序可被储存在一包含其他程序或数据的文档中(例如:一个或多个储存在标记式语言文档的脚本),此文档可为专属于程序的单一文档,或多个互相配合的文档(例如:储存一个或多个模组、副程序或部分编码的文档)。电脑程序可调配运行位于一处或多处以通信网络相连结的一台或多台电脑。
本公开绘示的步骤与流程图能以一个或多个可编程处理器运行一个或多个电脑程序来执行所述的功能,步骤与流程图的仪器也能以一特殊用途逻辑电路,例如:一现场可编程逻辑门阵列(field programmable gate array,FPGA)或一特殊用途集成电路(application specific integrated circuit,ASIC)来实施。
适用于运行电脑程序的处理器包含,举例来说,通用或特殊用途的微处理器,或是一个或多个数码电脑的一个或多个处理器。一般来说,处理器会从一只读存储器或一随机存取存储器中的其一或两者接收指令和数据,一电脑的必要元件包含一用于运行指令的处理器和一个或多个用于储存指令和数据的存储器装置。一般来说,一电脑包含或耦接一用于接收数据、传送数据至一个或多个大量储存装置,例如:磁片或磁光碟,进行数据储存,然而,本公开中的电脑不一定需要此装置。适用于储存电脑程序指令和数据的电脑可读取介质包含各种形式的非易失性存储器、媒体和存储器装置,举例来说半导体存储器装置,例如:可擦除电动程序控制只读存储器(EPROM)、带电可擦可编程只读存储器(EEPROM)、闪存存储器装置和磁片。处理器与存储器可以特殊用途的逻辑电路加以辅助或合并使用。
虽然本发明已以实施例公开如上,然其仅用于描述特定实施例中的技术特征,并非用以限定本发明的保护范围。在个别实施例中所描述的技术特征能相结合并应用于单一实施例中,相反的,单一实施例中所描述的多个技术特征亦能应用于个别实施例或者以次组合方式得到的多个实施例中。更进一步来说,虽然上述的技术特征的初始要求或是操作方法显示其需以特定方式做结合,然所要求结合的一个或多个技术特征可以从中移除,其中要求结合可以是指次组合或是其相关的变形。相似地,图示中虽以特定顺序绘示步骤,其并非要求该步骤一定要以特定顺序执行,或是所绘示的所有步骤需全部执行,方能达到所述的结果。
以上仅揭露示例实施的数个范例,在不脱离本发明的范围内,当可作各种改动、修改及增进。因此,本发明的保护范围视权利要求所界定的范围为准。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (23)
1.一种用于存储器装置之间的数据传送的***,其特征在于,该***包含:
多个存储器装置,包含一第一存储器装置和一第二存储器装置;以及
一共享总线,耦接至这些存储器装置;
其中,该第一存储器装置配置以:
从耦接至该共享总线的一主装置接收该共享总线上的至少一控制信号,并且
响应于接收到的该控制信号,将该控制信号指定的一数据从该第一存储器装置传送至该共享总线;以及
其中,该第二存储器装置配置以:
从该主装置接收该共享总线上的该控制信号,并且
响应于接收到的该控制信号,从该共享总线上的该第一存储器装置接收该数据,该控制信号指定将数据由该第一存储器装置传送至该第二存储器装置。
2.根据权利要求1所述的***,其中该第一存储器装置配置以在获得一时钟信号后传送该数据,该第二存储器装置配置以在获得该时钟信号后传送该数据,且该时钟信号用于该第一存储器装置与该第二存储器装置之间的同步。
3.根据权利要求2所述的***,其中该第一存储器装置和该第二存储器装置中的一个配置以提供该时钟信号至该共享总线。
4.根据权利要求2所述的***,其中该时钟信号提供于该第一存储器装置与该第二存储器装置通电时。
5.根据权利要求2所述的***,其中该时钟信号由该主装置提供至该共享总线,且其中该主装置耦接至该共享总线并配置以通过该共享总线来与这些存储器装置通信。
6.根据权利要求1所述的***,其中该主装置配置以通过断言一个别的芯片使能信号来选择各个存储器装置,且其中当该数据由该第一存储器装置传送至该第二存储器装置时,该主装置经配置以通过断言一共用芯片使能信号、个别的一第一芯片使能信号和一第二芯片使能信号中的一个,同时选择该第一存储器装置和该第二存储器装置。
7.根据权利要求1所述的***,其中该控制信号包括一来源存储器装置与一目的存储器装置的信息,该数据的一来源地址信息被读取,该数据的一目的地址信息被写入,且其中该来源存储器装置与该目的存储器装置的该信息指定该第一存储器装置为该来源存储器装置以及指定该第二存储器装置为该目的存储器装置。
8.根据权利要求7所述的***,其中该控制信号包含待传送的该数据的一长度信息。
9.根据权利要求7所述的***,其中该控制信号包括用于该第一存储器装置和该第二存储器装置其中之一的一个或更多的虚拟周期,该第一存储器装置和该第二存储器装置中的该其中之一相较于该第一存储器装置和该第二存储器装置中的其中另一具有一较慢的响应时间。
10.根据权利要求1所述的***,其中该主装置配置以将在一单一命令封包中的该控制信号传送至该共享总线。
11.根据权利要求10所述的***,其中该主装置配置以通过该共享总线将一指定命令传送至该第一存储器装置和该第二存储器装置,该指定命令将该第一存储器装置和该第二存储器装置配置为一无状态通信协议,在该无状态通信协议中,该第一存储器装置和该第二存储器装置没有关于一先前信息流的信息,并在各个数据输入前始终为空白。
12.根据权利要求1所述的***,其中该主装置配置以将在一连串的分离命令封包中的该控制信号传送至该共享总线。
13.根据权利要求12所述的***,其中该连串的分离命令封包中包括用于一读取操作和待读取数据的一地址信息的针对该第一存储器装置的一第一命令。
14.根据权利要求13所述的***,其中,该主装置配置以通过断言一第一芯片使能信号来选择该第一存储器装置,并在该第一命令发送至该共享总线时取消选择该第二存储器装置。
15.根据权利要求12所述的***,其中该连串的分离命令封包中包括用于一写入操作和待写入数据的一地址信息的针对该第二存储器装置的一第二命令。
16.根据权利要求15所述的***,其中该主装置配置以通过断言一第二芯片使能信号来选择该第二存储器装置,并在该第二命令传送至该共享总线时取消选择该第一存储器装置。
17.根据权利要求12所述的***,其中该连串的分离命令封包包括一数据传送命令,用于初始化从该第一存储器装置到该第二存储器装置的数据传送。
18.根据权利要求12项所述的***,其中该主装置配置以通过该共享总线发送一指定命令至该第一存储器装置和该第二存储器装置,该指定命令将该第一存储器装置与该第二存储器装置配置为一有状态通信协议,在该有状态通信协议中,关于先前数据字或封包的信息以变量形式储存并用以影响一目前的字或封包的处理。
19.根据权利要求12所述的***,其中该主装置配置以:
取消断言该第一芯片使能信号和该第二芯片使能信号以取消选择该第一存储器装置和该第二存储器装置来中断数据传送,且重新断言该第一芯片使能信号和该第二芯片使能信号以选择该第一存储器装置和该第二存储器装置来继续数据传送。
20.根据权利要求1所述的***,其中该控制信号所指定的该数据通过该共享总线从该第一存储器装置直接传送至该第二存储器装置,而未经过该主装置。
21.根据权利要求1所述的***,其中当该数据通过该共享总线从该第一存储器装置传送至该第二存储器装置时,该主装置配置以从该共享总线上接收该数据。
22.一种存储器装置,其特征在于,包括:
一存储器,用于储存数据;
一存储器控制器,耦接至该存储器且配置以:
通过一共享总线从一主装置接收一控制信号,该控制信号包含一信息,该信息与待传送至一第二存储器装置的该存储器中的一特定数据相关联;
读取来自该存储器中的该控制信号所指定的该特定数据;
传送该特定数据至该共享总线,以使该第二存储器装置能够从该共享总线接收该特定数据,并根据该控制信号将该特定数据写入该第二存储器装置的一目的位置。
23.一种存储器装置,其特征在于,包括:
一存储器,用于储存数据;
一存储器控制器,耦接至该存储器且配置以:
通过一共享总线从一主装置接收一控制信号,该控制信号包含一信息,该信息与待从一来源存储器装置传送并待储存至该存储器的一特定数据相关联;
通过该共享总线从该来源存储器装置接收该特定数据;
根据该控制信号将该特定数据写入该存储器的一目的位置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/419,298 | 2019-05-22 | ||
US16/419,298 US10936234B2 (en) | 2019-05-22 | 2019-05-22 | Data transfer between memory devices on shared bus |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111984559A true CN111984559A (zh) | 2020-11-24 |
CN111984559B CN111984559B (zh) | 2022-09-09 |
Family
ID=73437057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910789330.6A Active CN111984559B (zh) | 2019-05-22 | 2019-08-26 | 用于数据传送的***及存储器装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10936234B2 (zh) |
CN (1) | CN111984559B (zh) |
TW (1) | TWI736957B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117687344A (zh) * | 2024-01-31 | 2024-03-12 | 杭州康吉森自动化科技有限公司 | I/o数据共享方法、控制器及*** |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11500555B2 (en) * | 2020-09-04 | 2022-11-15 | Micron Technology, Inc. | Volatile memory to non-volatile memory interface for power management |
WO2023004247A1 (en) * | 2021-07-23 | 2023-01-26 | Microchip Technology Incorporated | Circuit and timer for memory |
TWI817834B (zh) * | 2022-11-18 | 2023-10-01 | 鯨鏈科技股份有限公司 | 記憶體架構及其資料處理方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1975702A (zh) * | 2005-11-30 | 2007-06-06 | 三星电子株式会社 | 控制时钟信号的输出的装置和方法和包括该装置的*** |
CN101044465A (zh) * | 2004-10-29 | 2007-09-26 | 三星电子株式会社 | 多芯片***、以及在其中传送数据的方法 |
CN101073071A (zh) * | 2004-06-25 | 2007-11-14 | 特罗斯公司 | 推断无状态通信协议中的服务器状态 |
US20100199007A1 (en) * | 2009-02-02 | 2010-08-05 | Kapelner Jordan S | Direct Slave-to-Slave Data Transfer on a Master-Slave Bus |
CN101960436A (zh) * | 2008-02-29 | 2011-01-26 | 高通股份有限公司 | 针对地址/控制信号使用双倍数据速率方案的具有减少的接口引脚需要的双通道存储器架构 |
CN102057363A (zh) * | 2008-04-11 | 2011-05-11 | 桑迪士克以色列有限公司 | 从装置之间的直接数据传输 |
CN102096647A (zh) * | 2009-11-25 | 2011-06-15 | 三星电子株式会社 | 多芯片存储器***和相关的数据传送方法 |
CN103106155A (zh) * | 2011-11-10 | 2013-05-15 | 群联电子股份有限公司 | 存储器储存装置、存储器控制器与其数据传输方法 |
CN103502955A (zh) * | 2011-03-11 | 2014-01-08 | 美光科技公司 | ***、装置、存储器控制器以及用于存储器初始化的方法 |
CN108369563A (zh) * | 2015-10-30 | 2018-08-03 | 美光科技公司 | 用于共享总线上多个装置的数据传输技术 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6356962B1 (en) * | 1998-09-30 | 2002-03-12 | Stmicroelectronics, Inc. | Network device and method of controlling flow of data arranged in frames in a data-based network |
KR100445182B1 (ko) * | 2004-03-05 | 2004-08-21 | 주식회사 넥스토디아이 | 데이터 복사장치 |
US20080147940A1 (en) * | 2006-12-18 | 2008-06-19 | Rom-Shen Kao | Method and apparatus for controlling a shared bus |
US8429329B2 (en) * | 2007-10-17 | 2013-04-23 | Micron Technology, Inc. | Serial interface NAND |
JP4600509B2 (ja) * | 2008-04-22 | 2010-12-15 | セイコーエプソン株式会社 | 送受信システム並びにマスターデバイス |
US7929356B2 (en) * | 2008-09-05 | 2011-04-19 | Atmel Corporation | Method and system to access memory |
US8626990B2 (en) * | 2008-12-30 | 2014-01-07 | Micron Technology, Inc. | Non-volatile configuration for serial non-volatile memory |
TWI406135B (zh) * | 2010-03-09 | 2013-08-21 | Nuvoton Technology Corp | 資料傳輸系統與可編程序列周邊介面控制器 |
US8135881B1 (en) * | 2010-09-27 | 2012-03-13 | Skyworks Solutions, Inc. | Dynamically configurable serial data communication interface |
US9892077B2 (en) * | 2013-10-07 | 2018-02-13 | Qualcomm Incorporated | Camera control interface slave device to slave device communication |
US9734118B2 (en) * | 2013-10-16 | 2017-08-15 | The Regents Of The University Of California | Serial bus interface to enable high-performance and energy-efficient data logging |
US10417172B2 (en) * | 2014-04-28 | 2019-09-17 | Qualcomm Incorporated | Sensors global bus |
US10783250B2 (en) * | 2014-07-24 | 2020-09-22 | Nuvoton Technology Corporation | Secured master-mediated transactions between slave devices using bus monitoring |
US9720789B2 (en) * | 2014-10-15 | 2017-08-01 | Netapp, Inc. | Multicast transport configuration |
JP6187508B2 (ja) * | 2015-03-09 | 2017-08-30 | 日本電気株式会社 | 制御装置、バス回路、方法、及び、プログラム |
US20160350240A1 (en) * | 2015-05-29 | 2016-12-01 | Analog Devices Global | Serial peripheral interface host port |
US9830280B2 (en) * | 2015-06-22 | 2017-11-28 | Qualcomm Incorporated | Multiple access single SDIO interface with multiple SDIO units |
US10397021B2 (en) * | 2016-01-29 | 2019-08-27 | Analog Devices, Inc. | Synchronous slave-to-slave communications |
US9812183B2 (en) * | 2016-03-04 | 2017-11-07 | Adesto Technologies Corporation | Read latency reduction in a memory device |
US10613772B2 (en) * | 2017-03-16 | 2020-04-07 | Qualcomm Incorporated | Methods and apparatuses for copying a data page in an unmanaged flash memory device |
-
2019
- 2019-05-22 US US16/419,298 patent/US10936234B2/en active Active
- 2019-08-22 TW TW108130119A patent/TWI736957B/zh active
- 2019-08-26 CN CN201910789330.6A patent/CN111984559B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101073071A (zh) * | 2004-06-25 | 2007-11-14 | 特罗斯公司 | 推断无状态通信协议中的服务器状态 |
CN101044465A (zh) * | 2004-10-29 | 2007-09-26 | 三星电子株式会社 | 多芯片***、以及在其中传送数据的方法 |
CN1975702A (zh) * | 2005-11-30 | 2007-06-06 | 三星电子株式会社 | 控制时钟信号的输出的装置和方法和包括该装置的*** |
CN101960436A (zh) * | 2008-02-29 | 2011-01-26 | 高通股份有限公司 | 针对地址/控制信号使用双倍数据速率方案的具有减少的接口引脚需要的双通道存储器架构 |
CN102057363A (zh) * | 2008-04-11 | 2011-05-11 | 桑迪士克以色列有限公司 | 从装置之间的直接数据传输 |
US20100199007A1 (en) * | 2009-02-02 | 2010-08-05 | Kapelner Jordan S | Direct Slave-to-Slave Data Transfer on a Master-Slave Bus |
CN102096647A (zh) * | 2009-11-25 | 2011-06-15 | 三星电子株式会社 | 多芯片存储器***和相关的数据传送方法 |
CN103502955A (zh) * | 2011-03-11 | 2014-01-08 | 美光科技公司 | ***、装置、存储器控制器以及用于存储器初始化的方法 |
CN103106155A (zh) * | 2011-11-10 | 2013-05-15 | 群联电子股份有限公司 | 存储器储存装置、存储器控制器与其数据传输方法 |
CN108369563A (zh) * | 2015-10-30 | 2018-08-03 | 美光科技公司 | 用于共享总线上多个装置的数据传输技术 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117687344A (zh) * | 2024-01-31 | 2024-03-12 | 杭州康吉森自动化科技有限公司 | I/o数据共享方法、控制器及*** |
CN117687344B (zh) * | 2024-01-31 | 2024-04-30 | 杭州康吉森自动化科技有限公司 | I/o数据共享方法、控制器及*** |
Also Published As
Publication number | Publication date |
---|---|
US10936234B2 (en) | 2021-03-02 |
TWI736957B (zh) | 2021-08-21 |
US20200371703A1 (en) | 2020-11-26 |
TW202044052A (zh) | 2020-12-01 |
CN111984559B (zh) | 2022-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111984559B (zh) | 用于数据传送的***及存储器装置 | |
US11151027B2 (en) | Methods and apparatuses for requesting ready status information from a memory | |
CN109564556B (zh) | 具有条纹和读取/写入事务管理的存储器控制器仲裁器 | |
RU2627100C2 (ru) | Гибридное запоминающее устройство | |
CN107924375B (zh) | 用于高速存储器接口的命令仲裁 | |
CN109690508B (zh) | 带虚拟控制器模式的存储器控制器 | |
TWI639086B (zh) | 具有可中斷指令序列的記憶體及其操作方法 | |
US10268416B2 (en) | Method and systems of controlling memory-to-memory copy operations | |
US20190196721A1 (en) | Scheduling memory requests for a ganged memory device | |
TW201732612A (zh) | 使用同步化和非同步化記憶體裝置之適應性機制的混合記憶體、其方法及其儲存節點 | |
US20180253391A1 (en) | Multiple channel memory controller using virtual channel | |
US12008270B2 (en) | System, device, and method for memory interface including reconfigurable channel | |
US20190227729A1 (en) | Two Stage Command Buffers To Overlap Iommu Map And Second Tier Memory Reads | |
US20230113337A1 (en) | Memory module and computing device containing the memory module | |
TWI698744B (zh) | 資料儲存裝置及邏輯至物理位址映射表之更新方法 | |
US20120278538A1 (en) | Data storage apparatus, memory control device, and method for controlling flash memories | |
TWI613656B (zh) | 固態硬碟系統的優先寫入方法以及使用該方法的裝置 | |
CN106919343A (zh) | 周边接口电路与周边存储器*** | |
US11422968B2 (en) | Methods, devices and systems for high speed serial bus transactions | |
US20180336147A1 (en) | Application processor including command controller and integrated circuit including the same | |
US20230244615A1 (en) | Memory device, method for controlling memory device and memory system | |
WO2016053146A1 (ru) | Компьютерная система | |
KR20230071714A (ko) | 데이터 저장을 위한 방법 및 장치 | |
JP2011210295A (ja) | メモリ装置、メモリ装置を備えたメモリシステム及びマイクロコントローラ、並びに、メモリ制御装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |