CN101449262A - 多端口存储器件中的端口间通信 - Google Patents

多端口存储器件中的端口间通信 Download PDF

Info

Publication number
CN101449262A
CN101449262A CNA2007800183833A CN200780018383A CN101449262A CN 101449262 A CN101449262 A CN 101449262A CN A2007800183833 A CNA2007800183833 A CN A2007800183833A CN 200780018383 A CN200780018383 A CN 200780018383A CN 101449262 A CN101449262 A CN 101449262A
Authority
CN
China
Prior art keywords
port
assembly
interrupt
interrupt register
memory
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
Application number
CNA2007800183833A
Other languages
English (en)
Other versions
CN101449262B (zh
Inventor
A·鲁贝格
D·K·金
D·沈
D·李
M·R·崔
S·金
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lattice Semiconductor Corp
Original Assignee
Silicon Image Inc
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 Silicon Image Inc filed Critical Silicon Image Inc
Publication of CN101449262A publication Critical patent/CN101449262A/zh
Application granted granted Critical
Publication of CN101449262B publication Critical patent/CN101449262B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • 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
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4054Coupling between buses using bus bridges where the bridge performs a synchronising function where the function is bus cycle extension, e.g. to meet the timing requirements of the target 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/108Wide data ports

Abstract

提供了一种利用多端口存储器件进行端口间通信的方法和系统。该存储器件包含:中断寄存器、中断信号接口(例如,专用引脚)、中断掩码、以及与每个端口相关联的一个或多个消息缓冲器。当耦合到存储器件的第一端口的第一组件希望与耦合到该存储器件的第二端口的第二组件通信时,该第一组件向与第二端口相关联的消息缓冲器写入消息。第二端口的输入寄存器中的中断被置位以向耦合到第二端口的第二组件通知一新消息可用。一旦接收到该中断,第二组件读取中断寄存器以确定中断的性质。第二组件随后从消息缓冲器读取该消息。

Description

多端口存储器件中的端口间通信
相关申请的交叉引用
本申请要求提交于2006年3月30日、题为“INTEGRATED MULTI-PORTSERIAL MEMORY AND INTER-PROCESSOR COMMUNICATION(集成多端口串行存储器及处理器间通信)”的美国临时专利申请No.60/788,401(代理人案号No.59472-8826.US00)的优先权,该申请通过引用包括于此。
背景
在计算机硬件中,共享存储器通常是指可被多处理器计算机系统中的若干不同中央处理单元(CPU)或其它组件访问大型随即存取存储器块。例如,移动电话常包含基带处理器、媒体处理器、以及LCD控制器,它们各自可共享一公共的存储区。多处理器系统的组件常需要共享信息。例如,移动电话的媒体处理器可运行与进行电话呼叫的基带处理器交互的操作系统。作为另一示例,媒体处理器可向描述要被显示的图像的LCD控制器的帧缓冲器中写入信息。各组件之间信息的共享通常要求许多不同的控制和数据接口。控制和数据接口可被定义在各组件的每一个之间以及定义在各组件与共享存储器之间。此外,在使用共享存储器的每个组件之间可能有额外的接口以用于协调对该共享存储器的访问。
多处理器架构的结果是用于处理各种接口的每个组件内的复杂度增大以及必要的用以支持各组件之间所需的通信的互连数目增大。互连是昂贵的并且对于所使用的每个组件要求额外的工作。常常由于所希望的组件没有与另一所需组件正确互操作而使其不能被使用。例如,一特定LCD控制器可能不能够以特定媒体处理器所要求的速度通信而使得必须选择更为昂贵的LCD控制器。接口要求不仅增加了系统整体的复杂度,而且增加了成本。因此需要一种在多处理器系统内以最小化该系统中的各组件所必需管理的通信开销的方式通信的改善的方法。
附图简述
图1是示出了被用作通信信道的多端口存储器件的架构的框图。
图2是示出了多端口存储器件中寄存器文件的配置的框图。
图3是示出了多端口存储器件作为通信信道的使用如何简化各组件之间的互连的框图。
图4是示出了当在各组件之间传达通信消息时多端口存储器件的处理的流程图。
具体描述
提供了一种利用多端口存储器件进行端口间通信的方法和系统。多端口存储器件包括多处理器系统的各组件可与其连接的多个端口。连接到每个端口的组件之间消息的通信是通过共享存储器内寄存器文件的使用而得以进行的。对于多端口存储器件的每个端口,该存储器件包含:中断寄存器、中断信号接口(例如,专用引脚)、中断掩码、以及一个或多个消息缓冲器。当耦合到存储器件的第一端口的第一组件希望与耦合到该存储器件的第二端口的第二组件通信时,该第一组件向与第二端口相关联的消息缓冲器写入消息。第二端口的输入寄存器中的中断被置位以向耦合到第二端口的第二组件通知一新消息可用。一旦接收到该中断,第二组件读取中断寄存器以确定中断的性质。第二组件随后从消息缓冲器读取该消息。第二组件可将与第一端口相关联的中断寄存器中的中断置位以便将第二组件已经完成消息的处理发信号通知第一组件。因此,多端口存储器件使得共享该存储器的组件能够在无需外部通信硬件或对超出读写共享存储器范围之外的范例的额外理解的情况下进行通信。
现在将描述将多端口存储器件用作通信信道的各种示例。以下描述提供了为了对这些示例的透彻理解和描述的具体细节。然而本领域的技术人员将理解该技术可在没有这些细节的情况下实践。另外,一些公知结构或功能可能没有详细示出和描述,以避免不必要地淡化各种示例的相关描述。以下所示描述中使用的术语旨在以最宽范的合理方式来解释,即使它是结合该技术的特定具体示例的详细描述来使用的。以下甚至强调了某些术语,然而任何旨在以任意限制性方式解释的术语将如在该具体描述章节中那样公开而明确地定义。
I.系统架构
图1是示出了被耦合到多处理器环境中的数个组件的多端口存储器件架构的框图。多端口存储器件100包括一个或多个存储器组110、两个或多个端口120、以及寄存器文件130。存储器、端口、以及寄存器文件全部通过总线140耦合,后者使得任何存储器组或寄存器文件能被任何端口所访问。一个或多个存储器组110存储可经由各端口访问的数据。存储器组110可由动态随机存取存储器(DRAM)或其它常见类型的存储器件制成。两个或多个端口120的每一个可被连接至相对应的端口主控(PM)150。端口主控150可以是诸如基带处理器、媒体处理器、或LCD控制器等使用共享存储器的任意类型的系统组件。如将在本文的其它细节中描述的,多端口存储器件可被用作使得能够在多处理器环境中的组件之间进行数据通信的通信信道。
图2是示出了一些实施例中寄存器文件130的配置的框图。寄存器文件通过用作指示有无特定端口的通信的公共信令接口来允许多处理器环境中各组件之间的通信。对于多端口存储器的每个端口,寄存器文件130包含中断寄存器210、诸如中断引脚220等中断信号接口、中断掩码缓冲器230、以及一个或多个消息缓冲器240a、240b、...240n。中断寄存器210包含信号通知对于该多端口存储器内的特定端口可能发生的各种类型的事件的数个比特。中断寄存器中的每个比特可与不同的事件相关联。这些事件可以是应用专属的,并且可以由多端口存储器的不同用户来不同地定义。应用可保留每个端口的中断寄存器内的比特用于该多端口存储器的其它端口的每一个以信号通知有该端口的新消息可用。应用还可保留每个端口的中断寄存器内的比特用于其它端口的每一个以信号通知对消息的处理完成。例如,图2中所描绘的寄存器文件的实施例是针对三个端口——端口A、端口B、和端口C来配置的。每个端口具有相关联的带有4个比特的中断寄存器210(该图中仅描绘了端口A中断寄存器和端口A缓冲器)。中断寄存器的一个比特被用来表示新消息,以及一个比特被用来表示对应两个其它端口的每一个的消息应答。端口A的中断寄存器比特因此表示来自端口B的新消息、来自端口B的应答、来自端口C的新消息、以及来自端口C的应答。值“1”指示该中断已被置位。在图2中,例如指示来自端口C的新消息的比特已被置位。如果消息缓冲器是多端口存储器件的邮箱,则中断寄存器类似于邮箱旁边在新邮件可用时信号通知的红色标志。通过将寄存器文件中的恰当比特置位或清零,该端口的通信状态可被传达给系统组件。
在一些实施例中,多端口存储器件将中断寄存器210存储在快速静态随机存取存储器(SRAM)中。中断寄存器的比特可以是标准触发器以节省空间并增加测试和置位这些比特的速度。替换地或另外地,多端口存储器件可将中断寄存器存储在该共享存储器自身的特定位置处。例如,共享存储器的较高位置的字节可被应用保留用于存储中断寄存器。中断寄存器可以是分配在各端口之间的单个寄存器(例如,16比特)、或各自与不同端口相关联的多个寄存器。
在一些实施例中,多端口存储器保留中断寄存器的一个或多个比特用于调试和测试目的。例如,在具有16比特中断寄存器的3端口器件中,多端口存储器可保留比特15用于指示附连到特定端口的组件中止进一步处理直至该中断被清除的停机指令。断点可使用中断寄存器的比特来实现以信号通知该断点所应用的存储器地址被存储在消息缓冲器中。例如,调试应用可在存储器地址0x0100上设置断点,并将每个端口的中断寄存器中的断点比特置位。
端口的中断寄存器各比特的状态经由与该端口相关联的中断引脚220被传达给系统组件。中断引脚220上中断信号的存在向附连的组件传达一新中断已被置位。中断信号是通过使用逻辑门250将各中断寄存器比特的值逻辑“或”生成的(在一些实施例中,将在以下讨论的掩码函数可用)。无论何时只要中断寄存器的任意比特被置位就在中断引脚上生成中断信号。因此,中断信号用作中断寄存器的累计并提供用于向附连到该端口的组件通知该组件应进一步询问该中断的性质的单一机制。本领域的技术人员将认识到,中断信号可以本文所公开的中断引脚的专门使用之外的其它方式来生成。
在一些实施例中,可在寄存器文件130中使用中断掩码以允许组件读取中断寄存器210中特定比特的状态。设置了多个逻辑与门260以实现该掩码特征。每个与门的一个输入是中断寄存器210的比特值。每个与门的另一输入是存储在中断掩码寄存器230中的中断掩码的比特值。通过逻辑与的运算,只有那些在中断掩码中具有被置位为“1”的对应比特的中断寄存器比特被应用到逻辑门250。因此,中断引脚220上的中断信号基于中断掩码值选择性地表示中断寄存器中一个或多个比特的比特值。作为在多端口存储器件的启动期间执行的配置阶段的一部分,监督端口主控(SPM)可代表每个端口来设置中断掩码。中断掩码可被存储在共享存储器内的预定义位置中,以使得组件可通过对该预定义位置的写入来更新中断掩码。
中断掩码可被应用用来忽略某些终端能。例如,在使用多端口存储器件的移动电话中,基带处理器可能没有兴趣接收来自附连到多端口存储器件的LCD控制器的中断。因此,基带处理器可设置其所附连到的端口的中断掩码以屏蔽来自LCD控制器所附连到的端口的中断。基于该中断掩码,除非未被中断掩码屏蔽的中断被置位,否则在中断引脚上将不生成中断信号。另外,多端口存储器件可屏蔽响应于TAS指令而返回的比特以使得不包括中断寄存器被忽略的比特。
如果附连到该端口的组件检测到中断,则该组件发出“测试并置位”(TAS)指令以读取中断寄存器210的内容。在一些实施例中,多端口存储器件提供TAS指令以自动测试并置位中断寄存器的值。TAS指令通过允许对中断的同时读取和清除,减少了系统组件处理中断所需的访问存储器件的次数,并且指令的原子性避免了竞态条件。本领域的普通技术人员将认识到诸如互斥和信号量等普通同步结构可使用TAS指令来构建。组件通过提供对照其测试寄存器的当前值的测试值和在当前值与测试值相匹配的情况下将寄存器置位的置位值来发出TAS指令。通常,测试值测试是否有任何比特被置位,而置位值将所有比特清零。因此,发出TAS指令向组件通知中断寄存器中的哪些中断比特被置位并同时将任何被置位的比特清零。该组件然后可处理被发现置位的比特所表示的中断。
在一些实施例中,寄存器文件130包括消息缓冲器240a、240b、...240n,它们可被用来存储导致中断的事件的额外细节。每个端口可具有相关联的输入消息缓冲器(IMB)和输出消息缓冲器(OMB)。IMB可被耦合到端口的第一组件用来向耦合到另一端口的第二组件提供数据,而OMB可传送从第二组件到第一组件的响应数据。例如,耦合到端口A的组件可在描述已经发生的事件的端口B的IMB中写入信息。端口B的中断寄存器中的中断比特随后可被置位以向端口B通知一新消息可用。耦合到端口B的组件在处理中断之后可检索消息缓冲器的内容。在图2所描绘的示例中,由于中断寄存器比特2被置位,从而指示来自端口C的新消息,附连到端口A的组件读取端口C输出消息缓冲器240c以确定来自端口C的消息的内容。组件可通过向端口C输入消息缓冲器240d写入消息并将端口C的恰当中断置位来应答。
虽然图2中仅示出了三个端口和四个中断比特,然而多端口存储器件可支持任意数目的端口和中断。每个端口和中断的用途可由每个应用针对对于该应用最恰当的使用进行定制。除了位于寄存器文件130中,消息缓冲器240a、240b...240n还可位于共享存储器内,每个消息缓冲器的地址可在多端口存储器件的起动期间配置。
在一些实施例中,当一新事件被添加至寄存器文件时,多端口存储器件自动将中断置位。例如,如果一个组件向消息缓冲器添加事件信息,则多端口存储器件可检测到该新信息并自动将接收端口的中断寄存器内的正确中断置位。自动将中断置位减少了由于附连到一个端口的组件错误地将另一端口的中断寄存器内的比特置位所引起的差错的机会。
图3是示出了在一些实施例中多端口存储器件架构如何简化各组件之间的互连的框图。系统300包含多个组件,每个组件通过接口310连接至共享存储器305。每个组件还具有数个与其它组件的直接互连320。这些互连增加了系统的复杂度,因为它们要求组件使用各种接口协议与其它组件通信。还由于互连要求额外的路由路径和定时控制,这也增加了系统的复杂度。基于本文所公开的多端口存储器件的系统350也包含通过接口360连接至共享存储器355的多个组件。然而,系统350在各组件之间不包含直接互连。而是每个组件经由中断引脚370被连接至共享存储器355。如本文所描述的,中断引脚370上的中断信号在另一组件希望通过共享存储器355通信时通知组件。系统中各组件之间直接互连的消除极大简化了定时和接口问题。
图4是示出了在一些实施例中当在各组件之间传达消息时多端口存储器件的处理的流程图。在框410中,端口主控(PM)A向PM B使用的端口的OMB中写入消息。在框420,PM A将连接至PM B的端口的中断寄存器置位以向PM B通知一新消息可用(或者,在该新消息被写入PM B的OMB时该中断可被自动置位)。基于PM B的中断寄存器的内容,PM B所用的端口的中断引脚也被置位。在框430,PM B检测到中断引脚被置位,以及发出TAS指令以读取中断寄存器的内容并清除该中断。在框440,PM B读取由PM A写入OMB的消息并处理该消息。在框450,PM B向PM A所用的端口的IMB中写入应答消息。在框460,PM B将PM A所用的端口的中断寄存器置位以向PM A通知该消息已被处理且应答可用。基于PM A的中断寄存器的内容,该端口的中断引脚也被置位。在框470,PM A检测到中断引脚被置位,以及发出TAS指令以读取中断寄存器的内容并清除该中断。在框480,PM A读取由PM B写入IMB的应答消息并处理该应答。在决策框490,如果有更多消息则PM A循环至框410并发送另一消息,否则过程结束。
II.寄存器文件使用
以下是寄存器文件如何被不同应用用来协调和共享组件之间的信息的若干示例。
存储应用常包括共享存储器件的一个或多个端口主控。端口主控(PM)可表示处理器、其它存储设备(例如,硬驱动)、或附连到该存储器件的其它硬件组件。一个端口主控常被指定为监督端口主控(SPM)。SPM通常指导其它端口主控的行为。例如,在上电期间,SPM可从附连的闪存收集配置信息并为其它PM配置存储器件的端口中的每一个。SPM可向多端口存储器件的每个端口提供端口速度和其它配置信息,诸如该端口的消息缓冲器的位置、中断掩码的位置、中断寄存器内每个中断比特的意义等。SPM还可基于应用的需要来启用和禁用每个端口。例如,SPM可通过将端口的中断寄存器中的比特置位来指示该端口保持禁用直至系统的其它组件已经完成上电并准备操作就绪。SPM还可基于系统的当前功率要求或基于特定设备的不活跃性来指示一些端口自我禁用(例如,使移动手机的LCD显示器的屏幕变暗)。
使用寄存器文件的另一示例是附连到存储器件的若干组件对存储器组的共享。在最简单的情况下,每个组件被指派其自己的存储器组,而无需共享。然而,应用常常基于系统的当前负载要求共享存储器组以使得更多可用存储器能被指向特定用途。例如,在移动手机中,当进行呼叫时基带处理器可能要求更多存储器,而在玩游戏时媒体处理器可能要求更多存储器。系统的组件也可能需要共享信息,并且可能通过共享存储器组来实现。一个组件可向存储器写入,而另一组件可从存储器读取以在各组件之间共享信息。
在共享存储器组的访问的情况下,对存储器组访问的协调对于确保数据不被损坏是非常重要的。寄存器文件可被应用用于协调对存储器组的访问。例如,中断可被定义用于保留存储器组以供使用。当组件希望使用存储器组时,该组件发出TAS指令以尝试保留该存储器组以供使用。如果该存储器组当前未被使用,则该TAS指令指示该存储器组可用,而作为TAS指令的一部分,该组件已同时保留该存储器组以供使用。一旦该存储器组被保留,该组件就可通过该端口对该存储器进行读写。当组件完成存储器组的使用时,它可通过发出另一TAS指令来清除对该存储器组的保留。当另一组件希望使用存储器时,过程重复。组件可发现存储器已在使用,在这种情况下,TAS指令将指示该存储器组已被保留,而该组件可通过使用TAS指令轮询中断寄存器一直等到该存储器组不再被保留。
在一些实施例中,多端口存储器可提供另一中断比特用于该存储器组的下一个保留,从而使得即使一组件当前正在使用存储器组,希望使用该存储器组的下一组件仍可登记其兴趣。因此,当连接到第一端口的组件完成对存储器组的使用时第一端口可通知第二端口,从而使得第二端口在等待存储器组可用的同时无需轮询。
III.结论
除非以下另有描述,否则本发明的各方面可用常规系统来实践。因此,附图中所示的各个块的构造和操作可以是常规设计,因而无需在此作更详细的描述来制造和使用本发明,因为这些块将被相关技术领域的人员所理解。系统的各方面可使用诸如程序模块等可由一个或多个计算机或其它设备执行的计算机可执行指令来实现。一般而言,程序模块包括执行特定任务或实现特定的抽象数据类型的例程、程序、对象、组件、数据结构等。通常,程序模块的功能集在各种实施例中可根据需要被加以组合或分布。
根据上述内容,将认识到已出于说明的目的描述了多端口存储器的具体实施例,但可作出各种修改而不会背离本发明的精神实质和范围。相应地,本发明仅由所附权利要求限定。

Claims (26)

1.一种在耦合至多端口存储器件的第一端口的第一组件与耦合至所述器件的第二端口的第二组件之间共享存储器的方法,所述方法包括:
从所述多端口存储器件的第一端口处的第一组件接收与事件的发生有关的数据;
将与所述多端口存储器件的所述第二端口相关联的中断寄存器和中断信号置位以向所述第二端口通知所述事件的发生;
在耦合至所述第二端口的所述第二组件检测到所述中断信号之后,将与所述第二端口相关联的所述中断寄存器的内容发送给所述第二组件;以及
基于所述中断寄存器的内容指定的中断在所述第二组件处执行中断处理。
2.如权利要求1所述的方法,其特征在于,将与所述第二端口相关联的中断信号置位包括将中断引脚置位以向所述第二组件通知所述中断。
3.如权利要求1所述的方法,其特征在于,包括确定所述中断寄存器的内容是否与中断掩码相匹配,且如果所述内容与所述中断掩码不匹配则不将所述中断信号置位。
4.如权利要求1所述的方法,其特征在于,包括接收来自所述第二端口处的所述第二组件的应答数据并将接收到的应答数据写入到与所述多端口存储器件的所述第一端口相关联的缓冲器且在所述第一端口处将与所述多端口存储器件的所述第一端口相关联的中断寄存器和中断信号置位。
5.如权利要求1所述的方法,其特征在于,所述中断是由所述中断寄存器中的比特集指定的。
6.如权利要求5所述的方法,其特征在于,所述比特集包含对应所述多端口存储器件的每个其它端口的至少一个比特。
7.如权利要求5所述的方法,其特征在于,特定端口的所述中断寄存器包含用于接收所述多端口存储器件的每个其它端口的应答消息的比特。
8.如权利要求5所述的方法,其特征在于,所述中断寄存器包含被保留用于调试用途的至少一个比特。
9.如权利要求1所述的方法,其特征在于,发送所述中断寄存器的内容包括对测试并置位指令进行响应。
10.如权利要求1所述的方法,其特征在于,将中断寄存器和中断信号置位包括当在与所述第二端口相关联的所述缓冲器中检测到接收到的数据时自动将所述中断寄存器和中断信号置位。
11.如权利要求1所述的方法,其特征在于,所述中断寄存器被存储在所述多端口存储器件内的存储器位置中。
12.如权利要求1所述的方法,其特征在于,所述端口是串行端口。
13.如权利要求1所述的方法,其特征在于,用于发送所述中断寄存器的内容的数据路径与用于向/从所述多端口存储器件内的所述存储器传送数据的数据路径相同。
14.一种用于在附连到多端口存储器系统的各组件之间共享信息的系统,所述系统包括:
一个或多个共享存储器组,用于存储可被所述多端口存储器系统的一个或多个端口访问的信息:
中断寄存器,在事件已发生时向耦合至所述一个或多个端口的组件作出指示;以及
中断处理组件,用于基于所述中断寄存器的内容实现中断处理过程。
15.如权利要求14所述的系统,其特征在于,所述中断寄存器包括多个比特且其中所述比特的置位指示事件的类型。
16.如权利要求15所述的系统,其特征在于,包括与输入寄存器相比较以标识特定的事件类型的中断掩码。
17.如权利要求14所述的系统,其特征在于,包括提供反映所述中断寄存器的内容的信号的中断引脚。
18.如权利要求14所述的系统,其特征在于,包括包含关于所述中断寄存器所指示的事件的信息的消息缓冲器,其中所述消息缓冲器包括用于存储传出消息的输出消息缓冲器和用于存储接收到的消息应答的输入消息缓冲器。
19.如权利要求14所述的系统,其特征在于,还包括独立于所述共享存储器组的随机存取存储器,其中所述中断寄存器被存储在所述随机存取存储器中。
20.如权利要求19所述的系统,其特征在于,所述随机存取存储器是比所述共享存储器组更快的存储器。
21.一种包含根据一种方法用于控制存储器件在多个组件之间共享存储器组的指令的计算机可读介质,所述方法包括:
接收来自第一组件的访问存储器组的请求;
确定所述存储器组当前是否正在使用;
如果所述存储器组当前没有使用,则向所述第一组件准许对所述存储器组的访问;
接收来自第二组件的访问所述存储器组的请求;
确定所述第一组件对所述存储器组的访问是否结束;以及
一旦所述第一组件对所述存储器组的访问结束,就向所述第二组件准许对所述存储器组的访问。
22.如权利要求21所述的计算机可读介质,其特征在于,接收来自第一组件的请求包括接收测试并置位指令。
23.如权利要求21所述的计算机可读介质,其特征在于,确定所述存储器组当前是否正在使用包括检查中断寄存器的比特。
24.如权利要求21所述的计算机可读介质,其特征在于,准许对所述存储器组的访问包括将中断寄存器的比特置位。
25.如权利要求21所述的计算机可读介质,其特征在于,所述第一组件是控制一个或多个其它端口主控对存储器组的访问的监督端口主控。
26.如权利要求21所述的计算机可读介质,其特征在于,确定所述存储器组是否可用包括访问存储器位置以确定所述存储器组的当前状态。
CN2007800183833A 2006-03-30 2007-03-30 多端口存储器件中的端口间通信 Active CN101449262B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US78840106P 2006-03-30 2006-03-30
US60/788,401 2006-03-30
PCT/US2007/065722 WO2007115226A2 (en) 2006-03-30 2007-03-30 Inter-port communication in a multi- port memory device

Publications (2)

Publication Number Publication Date
CN101449262A true CN101449262A (zh) 2009-06-03
CN101449262B CN101449262B (zh) 2012-07-04

Family

ID=38421761

Family Applications (3)

Application Number Title Priority Date Filing Date
CN2007800183833A Active CN101449262B (zh) 2006-03-30 2007-03-30 多端口存储器件中的端口间通信
CN2007800160526A Active CN101438242B (zh) 2006-03-30 2007-03-30 共享非易失性存储器体系结构
CN2007800185044A Active CN101449334B (zh) 2006-03-30 2007-03-30 具有可变端口速度的多端口存储器件

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN2007800160526A Active CN101438242B (zh) 2006-03-30 2007-03-30 共享非易失性存储器体系结构
CN2007800185044A Active CN101449334B (zh) 2006-03-30 2007-03-30 具有可变端口速度的多端口存储器件

Country Status (7)

Country Link
US (2) US7639561B2 (zh)
EP (2) EP2008164A2 (zh)
JP (2) JP5197571B2 (zh)
KR (2) KR101323400B1 (zh)
CN (3) CN101449262B (zh)
TW (3) TWI386846B (zh)
WO (2) WO2007115226A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102176138A (zh) * 2011-03-01 2011-09-07 上海奈凯电子科技有限公司 数控系统中硬件端口的对象化管理控制方法
CN102483724A (zh) * 2009-08-24 2012-05-30 美光科技公司 多端口存储器及操作
CN105701026A (zh) * 2016-01-04 2016-06-22 上海斐讯数据通信技术有限公司 一种数据采集器及其利用系统冗余资源采集数据的方法

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8706968B2 (en) 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
US8019938B2 (en) 2006-12-06 2011-09-13 Fusion-I0, Inc. Apparatus, system, and method for solid-state storage as cache for high-capacity, non-volatile storage
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US8443134B2 (en) 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
DE102008011925B4 (de) * 2008-02-29 2018-03-15 Globalfoundries Inc. Sicheres Initialisieren von Computersystemen
US8230180B2 (en) * 2008-06-11 2012-07-24 Samsung Electronics Co., Ltd. Shared memory burst communications
KR20100085564A (ko) * 2009-01-21 2010-07-29 삼성전자주식회사 데이터 처리 시스템과 데이터 처리 방법
JP2011058847A (ja) * 2009-09-07 2011-03-24 Renesas Electronics Corp 半導体集積回路装置
US8972627B2 (en) 2009-09-09 2015-03-03 Fusion-Io, Inc. Apparatus, system, and method for managing operations for data storage media
US8429436B2 (en) * 2009-09-09 2013-04-23 Fusion-Io, Inc. Apparatus, system, and method for power reduction in a storage device
US9021158B2 (en) 2009-09-09 2015-04-28 SanDisk Technologies, Inc. Program suspend/resume for memory
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
US8458581B2 (en) * 2009-10-15 2013-06-04 Ansaldo Sts Usa, Inc. System and method to serially transmit vital data from two processors
US8190944B2 (en) * 2009-12-11 2012-05-29 Ati Technologies Ulc Device configured to switch a clock speed for multiple links running at different clock speeds and method for switching the clock speed
US8775856B1 (en) * 2010-03-10 2014-07-08 Smsc Holdings S.A.R.L. System and method for generating clock signal for a plurality of communication ports by selectively dividing a reference clock signal with a plurality of ratios
JP2011227834A (ja) * 2010-04-22 2011-11-10 Sony Corp 信号制御装置及び信号制御方法
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
KR101796116B1 (ko) 2010-10-20 2017-11-10 삼성전자 주식회사 반도체 장치, 이를 포함하는 메모리 모듈, 메모리 시스템 및 그 동작방법
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
EP2652623B1 (en) 2010-12-13 2018-08-01 SanDisk Technologies LLC Apparatus, system, and method for auto-commit memory
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US9092337B2 (en) 2011-01-31 2015-07-28 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for managing eviction of data
WO2012112618A1 (en) 2011-02-14 2012-08-23 The Regents Of The University Of California Multi-band interconnect for inter-chip and intra-chip communications
US9141527B2 (en) 2011-02-25 2015-09-22 Intelligent Intellectual Property Holdings 2 Llc Managing cache pools
US8543774B2 (en) 2011-04-05 2013-09-24 Ansaldo Sts Usa, Inc. Programmable logic apparatus employing shared memory, vital processor and non-vital communications processor, and system including the same
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
CN104123241B (zh) * 2013-04-24 2017-08-29 华为技术有限公司 内存匿名页初始化方法、装置及系统
US20140321471A1 (en) * 2013-04-26 2014-10-30 Mediatek Inc. Switching fabric of network device that uses multiple store units and multiple fetch units operated at reduced clock speeds and related method thereof
US8963587B2 (en) * 2013-05-14 2015-02-24 Apple Inc. Clock generation using fixed dividers and multiplex circuits
US9666244B2 (en) 2014-03-01 2017-05-30 Fusion-Io, Inc. Dividing a storage procedure
US9665432B2 (en) * 2014-08-07 2017-05-30 Microsoft Technology Licensing, Llc Safe data access following storage failure
US9847918B2 (en) 2014-08-12 2017-12-19 Microsoft Technology Licensing, Llc Distributed workload reassignment following communication failure
US9933950B2 (en) 2015-01-16 2018-04-03 Sandisk Technologies Llc Storage operation interrupt
US20160378151A1 (en) * 2015-06-26 2016-12-29 Intel Corporation Rack scale architecture (rsa) and shared memory controller (smc) techniques of fast zeroing
US9690494B2 (en) * 2015-07-21 2017-06-27 Qualcomm Incorporated Managing concurrent access to multiple storage bank domains by multiple interfaces
US9996138B2 (en) * 2015-09-04 2018-06-12 Mediatek Inc. Electronic system and related clock managing method
KR20180033368A (ko) * 2016-09-23 2018-04-03 삼성전자주식회사 케스-케이드 연결 구조로 레퍼런스 클록을 전달하는 스토리지 장치들을 포함하는 전자 장치
KR102438319B1 (ko) * 2018-02-07 2022-09-01 한국전자통신연구원 공통 메모리 인터페이스 장치 및 방법
CN111142955B (zh) * 2019-12-31 2021-07-16 联想(北京)有限公司 一种信息处理方法及装置
US11567708B2 (en) * 2021-01-05 2023-01-31 Brother Kogyo Kabushiki Kaisha Image forming apparatus having one or more ports to which portable memory is attachable

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4344133A (en) * 1978-07-31 1982-08-10 Motorola, Inc. Method for synchronizing hardware and software
US4449183A (en) 1979-07-09 1984-05-15 Digital Equipment Corporation Arbitration scheme for a multiported shared functional device for use in multiprocessing systems
US4729091A (en) * 1984-11-13 1988-03-01 International Business Machines Corporation Directing storage requests prior to address comparator initialization with a reference address range
IT1184553B (it) 1985-05-07 1987-10-28 Honeywell Inf Systems Architettura di sistema a piu' processori
US5142683A (en) * 1987-03-09 1992-08-25 Unisys Corporation Intercomputer communication control apparatus and method
EP0321544B1 (en) * 1987-06-18 1992-07-22 Unisys Corporation Intercomputer communication control apparatus and method
US5144314A (en) * 1987-10-23 1992-09-01 Allen-Bradley Company, Inc. Programmable object identification transponder system
US4987529A (en) * 1988-08-11 1991-01-22 Ast Research, Inc. Shared memory bus system for arbitrating access control among contending memory refresh circuits, peripheral controllers, and bus masters
US5197130A (en) * 1989-12-29 1993-03-23 Supercomputer Systems Limited Partnership Cluster architecture for a highly parallel scalar/vector multiprocessor system
US5175853A (en) * 1990-10-09 1992-12-29 Intel Corporation Transparent system interrupt
JPH04367963A (ja) * 1991-06-15 1992-12-21 Hitachi Ltd 共有記憶通信方法
US5423008A (en) * 1992-08-03 1995-06-06 Silicon Graphics, Inc. Apparatus and method for detecting the activities of a plurality of processors on a shared bus
JP3442128B2 (ja) * 1994-02-21 2003-09-02 松下電工株式会社 プロセッサ間通信方法および装置
JP3447404B2 (ja) * 1994-12-08 2003-09-16 日本電気株式会社 マルチプロセッサシステム
US5925099A (en) * 1995-06-15 1999-07-20 Intel Corporation Method and apparatus for transporting messages between processors in a multiple processor system
US6167487A (en) * 1997-03-07 2000-12-26 Mitsubishi Electronics America, Inc. Multi-port RAM having functionally identical ports
US5901309A (en) * 1997-10-07 1999-05-04 Telefonaktiebolaget Lm Ericsson (Publ) Method for improved interrupt handling within a microprocessor
US6118792A (en) * 1997-11-21 2000-09-12 Nortel Networks Corporation Method and apparatus for a flexible access rate common-memory packet switch
US6313766B1 (en) * 1998-07-01 2001-11-06 Intel Corporation Method and apparatus for accelerating software decode of variable length encoded information
US6263390B1 (en) 1998-08-18 2001-07-17 Ati International Srl Two-port memory to connect a microprocessor bus to multiple peripherals
KR100284741B1 (ko) * 1998-12-18 2001-03-15 윤종용 로컬클럭 신호 발생회로 및 방법, 내부클럭신호 발생회로 및방법,이를 이용한 반도체 메모리 장치
US6002633A (en) * 1999-01-04 1999-12-14 International Business Machines Corporation Performance optimizing compiler for building a compiled SRAM
US6378051B1 (en) * 1999-06-14 2002-04-23 Maxtor Corporation Interrupt signal prioritized shared buffer memory access system and method
US6396324B1 (en) * 2000-05-08 2002-05-28 International Business Machines Corporation Clock system for an embedded semiconductor memory unit
US6845409B1 (en) * 2000-07-25 2005-01-18 Sun Microsystems, Inc. Data exchange methods for a switch which selectively forms a communication channel between a processing unit and multiple devices
TW530207B (en) * 2000-09-05 2003-05-01 Samsung Electronics Co Ltd Semiconductor memory device having altered clock frequency for address and/or command signals, and memory module and system having the same
US6665795B1 (en) * 2000-10-06 2003-12-16 Intel Corporation Resetting a programmable processor
US6938164B1 (en) * 2000-11-22 2005-08-30 Microsoft Corporation Method and system for allowing code to be securely initialized in a computer
EP1358561A1 (en) * 2001-01-31 2003-11-05 International Business Machines Corporation Method and apparatus for transferring interrupts from a peripheral device to a host computer system
US6877071B2 (en) * 2001-08-20 2005-04-05 Technology Ip Holdings, Inc. Multi-ported memory
US6795360B2 (en) * 2001-08-23 2004-09-21 Integrated Device Technology, Inc. Fifo memory devices that support all four combinations of DDR or SDR write modes with DDR or SDR read modes
US7032106B2 (en) * 2001-12-27 2006-04-18 Computer Network Technology Corporation Method and apparatus for booting a microprocessor
US7571287B2 (en) * 2003-03-13 2009-08-04 Marvell World Trade Ltd. Multiport memory architecture, devices and systems including the same, and methods of using the same
CN1275143C (zh) * 2003-06-11 2006-09-13 华为技术有限公司 数据处理系统及方法
KR100606242B1 (ko) * 2004-01-30 2006-07-31 삼성전자주식회사 불휘발성 메모리와 호스트간에 버퍼링 동작을 수행하는멀티 포트 휘발성 메모리 장치, 이를 이용한 멀티-칩패키지 반도체 장치 및 이를 이용한 데이터 처리장치
JP4346506B2 (ja) * 2004-06-07 2009-10-21 株式会社リコー 先入れ先出しメモリ及びそれを用いた記憶媒体制御装置
WO2006029094A2 (en) * 2004-09-02 2006-03-16 Xencor, Inc. Erythropoietin derivatives with altered immunogenicity
US20060072563A1 (en) 2004-10-05 2006-04-06 Regnier Greg J Packet processing
JP2006301894A (ja) * 2005-04-20 2006-11-02 Nec Electronics Corp マルチプロセッサシステム、及びマルチプロセッサシステムのメッセージ伝達方法
JP2006309512A (ja) * 2005-04-28 2006-11-09 Nec Electronics Corp マルチプロセッサシステム、及びマルチプロセッサシステムのメッセージ伝達方法
JP4425243B2 (ja) * 2005-10-17 2010-03-03 Okiセミコンダクタ株式会社 半導体記憶装置
US7369453B2 (en) * 2006-02-28 2008-05-06 Samsung Electronics Co., Ltd. Multi-port memory device and method of controlling the same
US7433263B2 (en) * 2006-02-28 2008-10-07 Samsung Electronics Co., Ltd. Multi-port semiconductor device and method thereof
KR100909805B1 (ko) * 2006-09-21 2009-07-29 주식회사 하이닉스반도체 멀티포트 메모리 장치

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102483724A (zh) * 2009-08-24 2012-05-30 美光科技公司 多端口存储器及操作
CN102483724B (zh) * 2009-08-24 2015-08-19 美光科技公司 多端口存储器及操作
CN102176138A (zh) * 2011-03-01 2011-09-07 上海奈凯电子科技有限公司 数控系统中硬件端口的对象化管理控制方法
CN102176138B (zh) * 2011-03-01 2013-04-03 上海维宏电子科技股份有限公司 数控系统中硬件端口的对象化管理控制方法
CN105701026A (zh) * 2016-01-04 2016-06-22 上海斐讯数据通信技术有限公司 一种数据采集器及其利用系统冗余资源采集数据的方法

Also Published As

Publication number Publication date
KR101341286B1 (ko) 2013-12-12
KR20090007378A (ko) 2009-01-16
CN101438242A (zh) 2009-05-20
CN101449334B (zh) 2012-04-25
WO2007115227A2 (en) 2007-10-11
JP5188493B2 (ja) 2013-04-24
CN101449334A (zh) 2009-06-03
CN101449262B (zh) 2012-07-04
KR101323400B1 (ko) 2013-10-29
EP2008281A2 (en) 2008-12-31
WO2007115226A2 (en) 2007-10-11
US20070234021A1 (en) 2007-10-04
WO2007115227A3 (en) 2007-11-29
US7639561B2 (en) 2009-12-29
JP2009532815A (ja) 2009-09-10
JP2009532782A (ja) 2009-09-10
EP2008281B1 (en) 2012-01-25
KR20080104388A (ko) 2008-12-02
TWI386846B (zh) 2013-02-21
US20070245094A1 (en) 2007-10-18
TW200802082A (en) 2008-01-01
US7949863B2 (en) 2011-05-24
JP5197571B2 (ja) 2013-05-15
TWI340982B (en) 2011-04-21
TW200802403A (en) 2008-01-01
EP2008164A2 (en) 2008-12-31
WO2007115226A3 (en) 2008-10-30
CN101438242B (zh) 2013-09-18
TW200818734A (en) 2008-04-16
TWI353124B (en) 2011-11-21

Similar Documents

Publication Publication Date Title
CN101449262B (zh) 多端口存储器件中的端口间通信
US6078970A (en) System for determining adapter interrupt status where interrupt is sent to host after operating status stored in register is shadowed to host memory
CA2468797C (en) Supercharge message exchanger
KR970012145A (ko) 데이타 프로세서와 그 작동 방법, 그 디버깅 작동 실행 방법 및 그 중단점 값 수정 방법
JPH09146878A (ja) データ処理システム及びデータ処理方法
US6108756A (en) Semaphore enhancement to allow bank selection of a shared resource memory device
JPH0258649B2 (zh)
CN101052952B (zh) 存储器管理单元和用于存储器管理的方法
CN103365799A (zh) 检测对掉电设备的访问
US20180246808A1 (en) Information processing apparatus
US7165132B1 (en) Processing node including a plurality of processor cores and an interconnect configurable in a test-mode to cause first and second transaction source indicators to be interchanged
JP3078000B2 (ja) 情報処理装置
KR100652690B1 (ko) 이동 통신 단말기의 멀티 프로세서 장치
JPH01309159A (ja) マルチポートメモリ
KR200210744Y1 (ko) 복수개의 보드간 프로세서 통신 장치
JP3186682B2 (ja) プログラマブル障害情報トレース回路
JPH09212469A (ja) ロック転送制御回路
JPS6244352B2 (zh)
JP2752834B2 (ja) データ転送装置
JPH0652516B2 (ja) バス・インターフェース装置
JPH0391191A (ja) マルチポートメモリ
JPH05324533A (ja) デュアルポートメモリ装置
JPS5892052A (ja) 資源ロツク装置
JPS63307570A (ja) 星形トポロジのスイツチ装置
JPH0390946A (ja) 記憶装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20151208

Address after: oregon

Patentee after: LATTICE SEMICONDUCTOR CORPORATION

Address before: American California

Patentee before: Silicon Image Inc. A. Delaware C.