CN101067778A - Interface circuit and method with high access efficiency - Google Patents
Interface circuit and method with high access efficiency Download PDFInfo
- Publication number
- CN101067778A CN101067778A CN 200710110356 CN200710110356A CN101067778A CN 101067778 A CN101067778 A CN 101067778A CN 200710110356 CN200710110356 CN 200710110356 CN 200710110356 A CN200710110356 A CN 200710110356A CN 101067778 A CN101067778 A CN 101067778A
- Authority
- CN
- China
- Prior art keywords
- bidirectional buffer
- data
- circuit
- buffer
- clock signal
- 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
- 238000000034 method Methods 0.000 title claims abstract description 12
- 239000000872 buffer Substances 0.000 claims abstract description 160
- 230000002457 bidirectional effect Effects 0.000 claims abstract description 58
- 230000006854 communication Effects 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 16
- 238000013519 translation Methods 0.000 claims description 9
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 5
- 230000005055 memory storage Effects 0.000 claims 11
- 235000012364 Peperomia pellucida Nutrition 0.000 claims 1
- 240000007711 Peperomia pellucida Species 0.000 claims 1
- 230000003139 buffering effect Effects 0.000 claims 1
- 239000003292 glue Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 8
- 208000033748 Device issues Diseases 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 2
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Landscapes
- Information Transfer Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
技术领域technical field
本发明涉及一种计算机系统的总线仲裁,特别涉及一种高存取效率的存储器接口电路及方法。The invention relates to a bus arbitration of a computer system, in particular to a memory interface circuit and method with high access efficiency.
背景技术Background technique
存储器控制器是设计用以代表一或多个请求者(例如,处理器、外围装置等)介接各种型式的存储器。典型上,存储器控制器用于提供某些潜时(latency)及频带特性。通常需要对存储器提供低潜时及高频带的存取。然而,降低潜时的最佳化,可能会降低频带。同样地,提升频带的最佳化,可能会导致潜时增加。因此,存储器控制器的设计者通常必需在低潜时及高频带两特征间作取舍。A memory controller is designed to interface various types of memory on behalf of one or more requestors (eg, processors, peripheral devices, etc.). Typically, a memory controller is used to provide certain latency and bandwidth characteristics. It is often desirable to provide low-latency and high-band access to the memory. However, optimization for lower latency may reduce the frequency band. Likewise, optimization of boost frequency bands may result in increased latency. Therefore, designers of memory controllers often have to make a trade-off between low latency and high band characteristics.
可预先选定存储器控制器的潜时及频带特性。举例而言,存储器控制器可能基于该存储器控制器的预期工作负载被最佳化以符合处理器的存取,而潜时通常是主要的特性。其它工作负载则可能偏重频带而非潜时。例如,在网络环境下,大量数据包可能被写入存储器或从存储器读出。当然前述存取需要低潜时,但具有高频带可能比低潜时更重要,以确保数据包能够及时被写入或读出存储器,而不会漏失数据包、或不必因使用流量控制而降低网络数据包传输速率。The latency and bandwidth characteristics of the memory controller can be preselected. For example, a memory controller may be optimized to match processor accesses based on the memory controller's expected workload, with latency typically being the dominant characteristic. Other workloads may be frequency-band rather than latency-heavy. For example, in a network environment, a large number of data packets may be written to or read from memory. Of course the aforementioned accesses require low latency, but having a high frequency band may be more important than low latency, to ensure that packets can be written to or read from memory in a timely manner without missing packets, or without having to be interrupted by the use of flow control. Reduce the network packet transmission rate.
图1是在一系统总线上的多个装置以现有技术方式而与外部存储器联系的方块图。为简单起见、及较佳地图标本案的发明特征(请参照其后的一发明实施例的比较图标),对于特定元件的标记及符号可被推广。例如图1中,图示耦接至“外部存储器”12的一“外部接口”10。该外部接口10可以是一存储器控制器、或其它用以介接前述存储器12的装置或一特殊化设计的电路。FIG. 1 is a block diagram of multiple devices on a system bus communicating with external memory in a prior art manner. For the sake of simplicity, and to better illustrate the inventive features of the present application (please refer to the comparative illustration of an inventive embodiment below), the marks and symbols for specific elements may be generalized. For example, in FIG. 1 , an "external interface" 10 coupled to an "external memory" 12 is shown. The
系统总线20可用来连接许多装置,包括多个主控装置22、24及26。在此种情况下,主控装置一般是指一个能取得该系统总线20的驱动控制权的装置。亦即,在任何时间能够取得该系统总线上通信的“主控权”的装置。举例而言,系统总线20可耦接至多个装置,包括多重处理器、独立处理器、直接存储器存取(DMA)控制器、打印机服务器,以及其它装置。在任意时间,任一个前述装置可能负责控制放置于系统总线20上的信息。未显示于图中的仲裁逻辑电路以仲裁总线20上的控制,使得在任何时间,仅有一装置具有主控权或者说是该系统总线的控制权。此一观念及其操作乃为现有,故无需在此陈述。The
各主控装置22、24及26时时可能与外部存储器12联络信息。以电路与门/或门的逻辑电路型态所实作的总线接口30用以介接该系统总线20与外部存储器12,或如图1所示,介接该系统总线20与该外部接口10。因此,从主控装置26传送至外部存储器12的信息,首先经由总线接口30,再经可以是一存储器控制器的外部接口10到达外部存储器12。Each of the
总线接口30与外部存储器间的通信可更通过缓冲器40和45的作用而得以提升,缓冲器40和45插置于总线接口30及外部存储器12(或如实施例图所示者,插置于总线30及外部接口10)之间。在已知的系统中,某些缓冲器40作为读取缓冲器。当从外部存储器12送出数据至一请求主控装置时,数据被放置于读取缓冲器40内。接着,当一主控装置发出一请求要从外部存储器“读取”数据时,该数据经过读取缓冲器40而从外部存储器12传输至总线接口30。同样地,当一主控装置发出一“写入”指令,以从系统总线20写入数据至外部存储器12时,该数据首先仍经过写入缓冲器45而进行传输。当有多个数据项需要实时连续地被读取或写入的情形下,使用缓冲器40和45可以提升上述作业及数据流的速度。The communication between the
举例而言,考虑主控设置22发出三个连续写入指令以写入数据至外部存储器12的情形。在没有缓冲器的情形下,第一数据项会通过总线30、外部接口10、最后被写入至外部存储器12。在数据被写入至外部存储器12之后,一确认指示会送回至该主控装置22,在接到该确认指示之后,该主控装置接着初始化下一数据项的写入。对照使用写入缓冲器45的系统中,主控装置22可将所有的三个数据项,几乎实时连续地一次写入缓冲器45。之后,该外部接口10及存储器12将接收所述数据项。以此种方式写入数据可以大量地扩张数据流,且允许主控装置22提早交出系统总线20,使得对于耦接至系统总线20的其它主控装置22来说,系统总线20具有更高的可进入性及可利用性。通过使用读取缓冲器40亦可获得相同的效率。由于此种系统亦为现有,故在此不给予详细说明。For example, consider the situation where the
虽然前述电路提供某些效能表现及操作上的提升,却仍有许多缺点。例如,考虑主控装置22发出三个连续写入命令以写入各种数据项至外部存储器的情形。在发出所述命令之后,主控装置22交出总线20。另假设主控装置24发出一数据读取请求,所请求数据的地址对应于刚被主控装置22写入的三个数据项其中之一的地址。特别地,假设系统判断主控装置24所请求的数据目前是置于一写入缓冲器45内。地址检查逻辑电路50用以进行此一判断,并经过总线30发出信号,命令主控装置24要等候此数据(因其尚未备妥)。主控装置24必须等到该数据从相对应的写入缓冲器45通过外部接口10写入外部存储器,亦即在该数据能“有效”被读取前,主控装置24必须等候,因此存取效率实属不佳。While the aforementioned circuits offer some performance and operational improvements, there are still a number of disadvantages. For example, consider the situation where the
前述者仅是一特定情形的一例示,对现有系统而言仍需要进一步的效能表现提升。因此,需要对此现有系统做出前述及其它效能表现的提升。The foregoing is only an example of a specific situation, and further improvement in performance is still required for the existing system. Accordingly, there is a need for the foregoing and other performance enhancements to this existing system.
发明内容Contents of the invention
本发明的某些目的、优点及新颖特征将在以下描述中会被提出,本发明对于熟悉相关技艺的人士在检视下文后,将会是明白无误、也可学习到本发明的实施。通过附加的申请专利范围所特别指出的手段及结合本发明的目的及优点可被实现及获得。Certain objects, advantages and novel features of the present invention will be presented in the following description, and the present invention will be clear to those skilled in the relevant arts after reviewing the following, and can also learn the implementation of the present invention. The objects and advantages of the invention may be realized and obtained by means of the means particularly pointed out in the appended claims and in combination.
为达到既定利益及新颖特征,本发明主要指向一种高存取效率的接口电路及方法。该接口电路包括多个双向缓冲器及逻辑电路,响应来自一系统零元件的一读取请求,配置成用以确认被请求的数据目前是否放置在所述双向缓冲器中及被指定从所述双向缓冲器写入至一外部存储器,其中,该逻辑电路更配置成用以从该双向缓冲器提供该数据至该请求系统零元件,无需等到该数据被写入至该外部存储器,进而提升对存储器的数据存取效率。In order to achieve predetermined benefits and novel features, the present invention mainly points to an interface circuit and method with high access efficiency. The interface circuit includes a plurality of bi-directional buffers and logic configured, in response to a read request from a system element, to confirm whether requested data is currently placed in the bi-directional buffers and designated from the bidirectional buffer writes to an external memory, wherein the logic circuit is further configured to provide the data from the bidirectional buffer to the requesting system component without waiting for the data to be written to the external memory, thereby improving Data access efficiency of memory.
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合附图,作详细说明如下。In order to make the above-mentioned objects, features and advantages of the present invention more comprehensible, preferred embodiments will be described in detail below together with the accompanying drawings.
附图说明Description of drawings
图1显示一现有系统的某些零元件的方块图。Figure 1 shows a block diagram of some components of a conventional system.
图2,可相较于图1的系统,是显示依据本发明实施例的一系统的某些零元件的方块图。FIG. 2 , comparable to the system of FIG. 1 , is a block diagram showing certain components of a system according to an embodiment of the present invention.
图3显示本发明一实施例的某些零元件的方块图。FIG. 3 shows a block diagram of some components of an embodiment of the present invention.
图4显示本发明一实施例的某些零元件的方块图。FIG. 4 shows a block diagram of some components of an embodiment of the present invention.
图5显示本发明一实施例的高阶操作的流程图。FIG. 5 shows a flowchart of high-level operations of an embodiment of the present invention.
具体实施方式Detailed ways
在摘要本发明的各种特征后,现请参照如图例所示的本发明的详细描述。本发明将会参照所述相关图例以进行说明,但并非用以将本发明限制到该说明所揭露的实施例。相反地,修改及等效事物若均是含括在所附加的申请专利范围所定义的发明的精神及范围内,则亦为本发明所涵盖。Having summarized the various features of the invention, reference is now made to the detailed description of the invention as illustrated in the illustrations. The present invention will be described with reference to the relevant figures, but it is not intended to limit the present invention to the embodiments disclosed in the description. On the contrary, modifications and equivalents are also covered by the present invention if they are included in the spirit and scope of the invention defined by the appended claims.
需注意的是,在此所列的附图用于图示本发明实施例的某些特征及面向。从在此所提供的描述可察知多种替换性的实施例及实施都可被实现,并与本发明的范围及精神相符合。It should be noted that the drawings listed herein are used to illustrate certain features and aspects of the embodiments of the present invention. From the description provided herein it will be apparent that various alternative embodiments and implementations can be implemented which are within the scope and spirit of the invention.
参照图2,其显示本发明一实施例的方块图。图2特别地图标一系统的零元件,相较于图1的系统,该系统可以更突显本发明实施例的特征及面向。像图1的外部接口10和系统总线20,图2的实施例包括一外部接口110及系统总线120。多个系统零元件,例如主控装置122、124及126,可耦接至系统总线120。一总线接口130亦被图标。Referring to FIG. 2 , it shows a block diagram of an embodiment of the present invention. FIG. 2 particularly illustrates the components of a system that can highlight the features and aspects of the embodiments of the present invention more than the system of FIG. 1 . Like the
由前述讨论可知,依本发明的实施例,该总线接口130的高阶功能性操作与图1的总线接口30类似,总线接口130的内部零元件及逻辑电路可以包括某些额外或不同的特征。本发明实施例的中心思想在于引入双向缓冲器160。在这一点上,图2实施例包括多个双向缓冲器160,用以容纳总线接口130与外部接口110两者间的双向通信。As can be seen from the foregoing discussion, according to the embodiment of the present invention, the high-level functional operation of the
从高阶操作的观点视之,双向缓冲器160以类似图1实施例的读取缓冲器40及写入缓冲器45的方式,充分地提供读取及写入操作。亦即,当从一主控装置经由总线接口130而写入信息至外部存储器(经由外部接口110)时,该信息被写入(或寄存于)所述双向缓冲器160。然而,图2实施例的一重大改进是,系统总线120上的装置能够实时读取目前位于所述缓冲器160其中之一的数据(亦即可在写入至外部存储器的过程中进行读取)。在这一点上,地址检查逻辑电路200被耦接至双向缓冲器160及总线接口130。From a high-level operational point of view,
为图标此种操作,考虑主控装置122送出要写入至外部存储器的三个连续数据项的例子。所述数据项通过总线接口130被写入三个双向缓冲器160。更考虑主控装置122交出系统总线122之后,主控装置124发出从一存储器读取的请求,且该读取地址对应于一第一地址,该第一地址指向该主控装置122所写入三个数据项所要写入的地址之一。地址检查逻辑电路200从外部存储器地址判断所请求的数据是位于所述缓冲器160其中之一。与现有技术不同,本实施例并不会搁置(suspend)主控装置124的读取动作,直到该数据被首先写入外部存储器,地址检查逻辑电路200能配置恰当的双向缓冲器160,以允许数据实时地被总线接口130所撷取,并转给请求的主控装置124。这使得总线接口130实质上实时满足主控制装置124的读取请求,主控制装置124无须等到外部存储器中的数据成为有效,即可满足其读取请求。除了实时满足读取请求(藉以允许主控装置124继续其处理操作)以外,在数据被写入外部存储器之后,本发明也消除与主控装置24沟通所需的管理操作与相关于系统总线120的进一步仲裁。To illustrate this operation, consider the example where
前已说明本发明一实施例的高阶结构及操作,更详细的实施范例将在此描述。如所知者,大部分的系统同步是利用一或多个时钟而达成。以图2所示系统为例,一系统时钟172用以同步系统总线侧的通信,而一存储器时钟174用以同步与外部存储器及外部接口110的通信。因此,双向缓冲器160需要被适当的时钟信号同步。在此实施例中,时钟选择逻辑电路180用以确保适当的时钟信号被耦接至适当的双向缓冲器160。因此,在一实施例中,时钟选择逻辑电路180包括系统时钟172及存储器时钟174,作为输入。该时钟选择逻辑电路180的输出,被耦接至各个缓冲器160。依据本发明的实施例一致的精神,该时钟选择逻辑电路180可以多种方式来实施。The high-level structure and operation of an embodiment of the present invention have been described above, and more detailed implementation examples will be described here. As is known, most system synchronization is achieved using one or more clocks. Taking the system shown in FIG. 2 as an example, a
在如图2所示的一实施例中,时钟选择逻辑电路180可利用多个多路复用器来实施。特别地,多个多路复用器182在此实施例中,是与双向缓冲器160一对一地配置,以使每一多路复用器182的输出直接地连接(或耦接)至所述双向缓冲器160的一时钟输入。系统时钟172及存储器时钟174的信号可直接连接(或耦接)至所述多路复用器182的各别输入。多路复用器选择输入184被设置用于控制那一时钟信号(系统时钟172或存储器时钟174)被所述多路复用器182所选择。在所图示的实施例中,单一多路复用器选择输入184被连接至每一所述多路复用器182的多路复用器选择输入。In an embodiment as shown in FIG. 2 , the clock selection logic circuit 180 may be implemented using a plurality of multiplexers. In particular, multiplexers 182 in this embodiment are configured one-to-one with
在另一实施例中(并未特别图示),可独立地为每一独立多路复用器而产生多路复用器选择信号。此一实施例允许某些缓冲器160和外部接口110之间、以及其它缓冲器160和总线接口130之间的同时通信。因此,为了一缓冲器160和外部接口110之间的通信,该多路复用器选择信号线184用以选择该存储器时钟174的信号,以作为相关缓冲器160的同步时钟。同样地,为了一缓冲器160和总线接口130之间的通信,该多任务选择信号184使该相关多路复用器182选择系统时钟172作为各别缓冲器160的时钟信号。In another embodiment (not specifically shown), the multiplexer select signal can be generated independently for each individual multiplexer. This embodiment allows simultaneous communication between
在图标的实施例中,缓冲器管理逻辑电路300是绘示成该总线接口130的一部分。对于熟习相关技术者可知,该缓冲器管理逻辑电路300可与该缓冲器接口130分开。就功能性广泛而言,该缓冲器管理逻辑电路300用于管理所述双向缓冲器160的某些操作特征。所述操作特征将会与相关的图4作详细的说明。然而,缓冲器管理逻辑电路300的诸等操作特征之一包括多路复用器选择信号184的产生,该多路复用器选择信号184用于控制所述多路复用器182的多路复用器选择输入。相同地,在包括时钟选择逻辑电路180(未合并多路复用器182)的实施例中,缓冲器管理逻辑电路300可包括用以执行一操作功能相似的相关逻辑电路。亦即,此实施例中不会产生多路复用器选择信号,但是可产生其它信号以控制或配合该时钟选择逻辑电路180,以确保缓冲器160和系统及存储器时钟的同步。In the illustrated embodiment,
在描述完本发明一实施例的高阶结构及功能操作后,请参照图3,其显示相关于本发明实施例的地址检查逻辑电路200特征的方块图。如相关于图2的描述,该地址检查逻辑电路200配置用于执行多种操作,包括检查目前存于双向缓冲器中的数据,以判断被读出或写入的数据目前是否存在于所述缓冲器160中。在图2所述的例子中,一主控装置发出一读取要求,地址检查逻辑电路200判断所述缓冲器160是否包含预定写入被请求的存储器位置的数据。此情形下,地址检查逻辑电路200与缓冲器管理逻辑电路300一起操作,以立即从恰当的数据缓冲器160将数据导引至总线接口130。当然该数据会留在缓冲器160内,最终被写入至该数据被指定的外部存储器位置。同样地,在读取请求之外,一主控装置发出一写入请求给一外部存储器位置以及具有被指定至该存储器地址的数据的所述缓冲器160之一,接着该地址检查逻辑电路200,再与该缓冲管理逻辑电路300合作,而对发出缓冲器160中的现有值进行覆写操作。如此可消除对相同外部存储器位置的连续写入。After describing the high-level structure and functional operation of an embodiment of the present invention, please refer to FIG. 3 , which shows a block diagram of features of the address checking
与图3的描述一致,地址检查逻辑电路200可包括逻辑电路210,配置成用以通信或介接该缓冲管理逻辑电路300。此类型的通信或接口的图例已经被描述,在此不再予以赘述。此外,基于设计目标及本发明实施例的各种实作,熟悉相关技艺的人士可认出此接口的其它特特征及面向。与前述例子一致,该地址检查逻辑电路200亦可包括一写入管理逻辑电路220以管理写入操作(亦即一主控装置写入数据至一外部存储器位置的操作)。同样地,该地址检查逻辑电路200可包括一读取管理逻辑电路230以管理读取操作(亦即由主控装置请求要从外部存储器读出数据)。在写入操作中,该写入管理逻辑电路220可具有一第二判断逻辑电路222,用以判断一缓冲器160目前是否包含一指向该存储器地址的数据,该存储器地址是在该写入指令中被确认。若为否,该写入管理逻辑电路220可包括一写入逻辑电路224,用以将目前数据写入至一可用缓冲器中。否则,若一缓冲器160目前具有指定给一确认地址的数据,该写入管理逻辑电路220可具有一覆写逻辑电路226以使用目前的数据覆写该缓冲器的内容,藉此使所需的缓冲器数目、及所述缓冲器160与外部接口110间的通信减少至最低。Consistent with the description of FIG. 3 , address checking
同样地,在读取操作中,该地址检查逻辑电路200可包括一第一判断逻辑电路232、一读取逻辑电路234及一撷取逻辑电路236。该第一判断逻辑电路232判断一缓冲器160目前是否具有被预定给将要被读取的存储器地址的数据。若是,该读取逻辑电路234用以配置适当的缓冲器以直接提供数据至总线接口130(有效地允许数据直接从发出的缓冲器被读取,而无需先被写入外部存储器)。否则,若无缓冲器目前具有被预定给所请求存储器地址的数据,该撷取逻辑电路236可用以从外部存储器120撷取数据,例如该读取操作可被队列,以便从外部存储器通过一或多个双向缓冲器160来读取数据。Likewise, in a read operation, the address
在描述该地址检查逻辑电路200某些高阶特征后,请参照至图4,其显示本发明一实施例的缓冲器管理逻辑电路300的某些高阶特征的方块图。如同该地址检查逻辑电路200包括与该缓冲器管理逻辑电路通信的逻辑电路,该缓冲器管理逻辑电路300同样地包括一第二通信/接口逻辑电路310,用以与该地址检查逻辑电路通信或接口(联系)。取决于特别的实作,此逻辑电路可以是硬件或软件的型式、或两者的结合,熟悉相关技艺的人士,当可以领会各种合适的实作,因此不在此赘述。在图示的实施例中,该缓冲器管理逻辑电路300亦可包括一检测逻辑电路320,用以检测一主控装置何时发出指定给外部存储器的一读取请求或一写入请求。任一对外部存储器的操作不是读取就是写入,意味着无论如何都会使用所述缓冲器160,因此可利用该缓冲器管理逻辑电路300及/或地址检查逻辑电路200加速其它操作。所述操作之一仅仅是所述缓冲器160与适当系统或信号时钟的同步。如相关于图2的所述,该缓冲器管理逻辑电路300可包括一产生逻辑电路330用以产生一适当控制信号供至时钟选择电路。在一实施例中,这一时钟选择逻辑电路利用多个多路复用器,该产生逻辑电路330可产生适当的多个多路复用器选择信号。After describing some high-level features of the address
此外,缓冲器管理逻辑电路300包括一管理逻辑电路340,配置成用以指定及委派各种缓冲器160。无论如何,上述的管理包括委派各别缓冲器160的数据方向为发出或收入(亦即,根据给定的情况以读出或写入缓冲器)。例如,当总线接口130传送数据至一或多个缓冲器160以写入外部存储器时,所述缓冲器160会被委派成为「写入缓冲器」。反之,当数据从外部接口110被回传及被写入缓冲器160时,所述缓冲器160会被委派成为「读取缓冲器」。可被察知的是,有多种方式可将此特征及操作实施于该缓冲器管理逻辑电路300内。其中,一种方式是通过翻译表345的实施,该翻译表345的项目或信息包括一缓冲器数目、一存储器地址或地址范围、指示目前对该存储器地址进行读取操作或写入操作的一指标或标记。关于缓冲器数目,在一实施例中例如包括八个32字节(byte)的缓冲器,其缓冲器数目可以是一至八,以便指定特定的缓冲器。可被察知的是,该地址检查缓冲逻辑电路200可接口联系该翻译表345,判断目前被请求的地址是否现在被包含于所述缓冲器的配置内。为更进一步说明,考虑一装置将数据从系统总线写入至外部存储器的例子。在数据被写入外部存储器之前,假设数据被写入第二缓冲器。翻译表345中适当的项目可能包括一具有第二缓冲器的代表数字2的线,对应于该第二缓冲器的相关外部存储器地址,以及在读/写栏中指出该缓冲器目前作为写入缓冲器的一指示或标记。若是接下来总线接口130初始化读取请求以从存储器地址请求信息,该地址检查逻辑电路200可从该翻译表345判断被请求的该存储器地址是否含括在该翻译表中。基于比较,该地址检查逻辑电路200能控制相对的缓冲器代表数字,以立即从该缓冲器读取数据至该总线接口130,进而传送数据至该请求的装置。Additionally, the
应知悉前文所述者,是仅呈现实施本发明的概念及特征的多种实施例。再者,本发明的一广泛特征在于双向缓冲器(或可被配置成进行读取或写入方向操作的缓冲器)的实施,以及其伴有的逻辑电路,其允许所指定将被写至外部存储器的现存在于一缓冲器中的数据,立即地从该缓冲器被读取至该总线接口130。本案也提出相对应的创造性方法。It should be appreciated that what has been described above merely presents various embodiments for implementing the concepts and features of the present invention. Furthermore, a broad feature of the invention resides in the implementation of a bidirectional buffer (or a buffer that can be configured to operate in either the read or write direction), and its accompanying logic, that allows the specified Data of the external memory that is currently in a buffer is immediately read from the buffer to the
就此点而言,参照图5,其显示本发明一实施例的高阶操作流程图。根据此一实施例,其提供一方法用以介接一系统至一存储器。该方法包括根据指令写入数据至设置在一接口内的一双向缓冲器,该指令指示耦接至该系统总线的装置写入数据至该存储器(步骤402)。之后,该方法接收耦接该系统总线的一装置的请求,从存储器撷取数据(步骤404)。该方法然后判断被请求的数据目前是否被存储或被包含在该双向缓冲器内,并等待与该存储器的通信(步骤406)。最后,该方法从该双向缓冲器撷取被请求的数据,以传送所撷取的数据至该请求装置,而无需先等待该数据被写入该存储器(步骤408)。In this regard, reference is made to FIG. 5, which shows a high-level operational flowchart of an embodiment of the present invention. According to this embodiment, a method for interfacing a system to a memory is provided. The method includes writing data to a bidirectional buffer disposed in an interface according to a command, the command instructs a device coupled to the system bus to write data to the memory (step 402). Thereafter, the method receives a request from a device coupled to the system bus to retrieve data from memory (step 404). The method then determines whether the requested data is currently stored or contained within the bi-directional buffer and awaits communication with the memory (step 406). Finally, the method retrieves the requested data from the bi-directional buffer to transmit the retrieved data to the requesting device without first waiting for the data to be written to the memory (step 408).
前面所述并非用以将本发明完全限制至所揭示的刻板形式。按照以上的教示,是有可能对本发明进行明显的修改或变化的。此外,所揭露的实施例被选择或描述,以提供本发明的原理的最佳图例,其实际应用因而使得熟悉相关技术艺的人士可利用本发明于各种实施例上,以及可进行多种变化以适用于所预想特定使用上。所有诸如此类的修改或变化含括在由本发明申请专利范围所界定的范围内,并以该申请专利范围依法律所正当解读的广度为准。The foregoing is not intended to limit the invention exclusively to the stereotypes disclosed. Obvious modifications or variations of the present invention are possible in light of the above teachings. Furthermore, the disclosed embodiments were chosen or described in order to provide the best illustration of the principles of the invention, its practical application thereby enabling one skilled in the relevant art to utilize the invention in various embodiments and to perform various Vary to suit the particular use envisioned. All such modifications or changes are included in the scope defined by the scope of the patent application of the present invention, and shall prevail according to the breadth of the legally interpreted scope of the patent application.
Claims (10)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US80765606P | 2006-07-18 | 2006-07-18 | |
US60/807,656 | 2006-07-18 | ||
US11/553,570 | 2006-10-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101067778A true CN101067778A (en) | 2007-11-07 |
CN100538618C CN100538618C (en) | 2009-09-09 |
Family
ID=38880345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007101103560A Active CN100538618C (en) | 2006-07-18 | 2007-06-13 | interface circuit and method with high access efficiency |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100538618C (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10360114B2 (en) * | 2016-02-24 | 2019-07-23 | Quanta Computer Inc. | Hardware recovery systems |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5107507A (en) * | 1988-05-26 | 1992-04-21 | International Business Machines | Bidirectional buffer with latch and parity capability |
TW480406B (en) * | 2000-08-09 | 2002-03-21 | Via Tech Inc | Two-way cache system of peripheral device interface and its operating method |
-
2007
- 2007-06-13 CN CNB2007101103560A patent/CN100538618C/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN100538618C (en) | 2009-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8583839B2 (en) | Context processing for multiple active write commands in a media controller architecture | |
US8607005B2 (en) | Monitoring program execution to learn data blocks accessed by software process for facilitating efficient prefetching | |
US20050289317A1 (en) | Method and related apparatus for accessing memory | |
US8626979B2 (en) | Common protocol engine interface for a controller interface | |
KR20050051672A (en) | Method and memory controller for scalable multi-channel memory access | |
US8583842B2 (en) | Data transfer device and data transfer system | |
US20130212336A1 (en) | Method and Apparatus for Memory Write Performance Optimization in Architectures with Out-of-Order Read/Request-for-Ownership Response | |
CN113900974B (en) | Storage device, data storage method and related equipment | |
US20170147517A1 (en) | Direct memory access system using available descriptor mechanism and/or pre-fetch mechanism and associated direct memory access method | |
US7409486B2 (en) | Storage system, and storage control method | |
CN118132472B (en) | Implementation method and device based on multi-interface DDR memory controller | |
JP4401305B2 (en) | Configuration definition setting method of disk array device and disk array device | |
CN101067778A (en) | Interface circuit and method with high access efficiency | |
US7552252B2 (en) | Memory interface circuit and method | |
US6810469B2 (en) | Storage system and method for data transfer between storage systems | |
CN1290016C (en) | Device for internal circuit emulator system and memory access method thereof | |
CN118055054A (en) | Ethernet data routing method, device, controller and storage medium | |
CN113127399A (en) | Universal serial bus device and access method | |
JP2001229074A (en) | Memory controller and information processor and memory control chip | |
CN117370258A (en) | Multipath low-speed I2C expansion method and device for high-speed I2C bus | |
CN118503162A (en) | SRAM controller, electronic device, and SRAM control method | |
CN1806223A (en) | Method and arrangement for fitting an improved display device interface between a dispaly device and a processor | |
US20060155887A1 (en) | Enhanced multi-access data port | |
US20110173288A1 (en) | Network storage system and related method for network storage | |
JP2002149351A (en) | Disk array device |
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 |