A computer system has a memory controller that includes read buffers coupled to a plurality of memory channels. The memory controller advantageously eliminates the inter-channel skew caused by memory modules being located at different distances from the memory controller. The memory controller preferably includes a channel interface and synchronization logic circuit for each memory channel. This circuit includes read and write buffers and load and unload pointers for the read buffer. Unload pointer logic generates the unload pointer and load pointer logic generates the load pointer. The pointers preferably are free-running pointers that increment in accordance with two different clock signals. The load pointer increments in accordance with a clock generated by the memory controller but that has been routed out to and back from the memory modules. The unload pointer increments in accordance with a clock generated by the computer system itself. Because the trace length of each memory channel may differ, the time that it takes for a memory module to provide read data back to the memory controller may differ for each channel. The "skew" is defined as the difference in time between when the data arrives on the earliest channel and when data arrives on the latest channel. During system initialization, the pointers are synchronized. After initialization, the pointers are used to load and unload the read buffers in such a way that the effects of inner-channel skew is eliminated.

Un sistema informático tiene un regulador de la memoria que incluya los almacenadores intermediarios leídos juntados a una pluralidad de canales de la memoria. El regulador de la memoria elimina ventajoso la posición oblicua entre canales causada por los módulos de la memoria que son situados en diversas distancias del regulador de la memoria. El regulador de la memoria incluye preferiblemente una interfaz de canales y un circuito de lógica de la sincronización para cada canal de la memoria. Este circuito incluye leído y escribe almacenadores intermediarios y la carga y descarga los indicadores para el almacenador intermediario leído. Descargue la lógica del indicador genera el indicador del descargar y la lógica del indicador de la carga genera el indicador de la carga. Los indicadores son preferiblemente los indicadores free-running que incrementan de acuerdo con dos diversas señales del reloj. Los incrementos del indicador de la carga de acuerdo con un reloj generado por el regulador pero ése de la memoria se han encaminado hacia fuera y trasero de los módulos de la memoria. Los incrementos del indicador del descargar de acuerdo con un reloj generado por el sistema informático sí mismo. Porque la longitud del rastro de cada canal de la memoria puede diferenciar, el tiempo que toma para que un módulo de la memoria proporcione datos leídos de nuevo al regulador de la memoria puede diferenciar para cada canal. La "posición oblicua" se define como la diferencia en tiempo entre cuando los datos llegan en el canal más temprano y cuando los datos llegan en el canal más último. Durante la inicialización de sistema, se sincronizan los indicadores. Después de la inicialización, los indicadores se utilizan para cargar y para descargar los almacenadores intermediarios leídos de una manera tal que los efectos de la posición oblicua del interno-canal se eliminen.

 
Web www.patentalert.com

< (none)

< Process unit and image forming device having an inter-axis distance regulation mechanism

> System for handling coherence protocol races in a scalable shared memory system based on chip multiprocessing

> (none)

~ 00088