Traducción de direcciones de entrada/salida a direcciones de memoria.
Un método de traducción de direcciones en un entorno informático,
dicho método que comprende:
obtener una dirección a partir de un adaptador (110) a ser traducida a una dirección de memoria directamenteutilizable en el acceso a la memoria del sistema del entorno informático, la dirección que comprende unapluralidad de bits, la pluralidad de bits que comprende una primera parte de bits y una segunda parte de bits;recibir un valor de intervalo de direcciones que indica un intervalo de direcciones permitidas, en donde elintervalo se define por una dirección base (214) y un límite (216) situado en una entrada de tabla de dispositivoasociada con el adaptador, la entrada de tabla de dispositivo (210) situada mediante un identificador solicitantesituado en una petición emitida por el adaptador;
validar la dirección obtenida a partir del adaptador usando al menos la primera parte de bits y el intervalo dedirecciones recibido; y
convertir la dirección obtenida a partir del adaptador a la dirección de memoria directamente utilizable en elacceso a la memoria del sistema del entorno informático, el método que se caracteriza por la conversión queignora la primera parte de bits y que usa la segunda parte de bits para obtener información de dirección a partirde uno o más niveles de tablas de traducción de direcciones para realizar la conversión.
Tipo: Patente Internacional (Tratado de Cooperación de Patentes). Resumen de patente/invención. Número de Solicitud: PCT/EP2010/067043.
Solicitante: INTERNATIONAL BUSINESS MACHINES CORPORATION.
Nacionalidad solicitante: Estados Unidos de América.
Dirección: One New Orchard Road Armonk, NY 10504 ESTADOS UNIDOS DE AMERICA.
Inventor/es: GREINER,Dan, CRADDOCK,DAVID, GREGG,THOMAS, LAIS,ERIC NORMAN.
Fecha de Publicación: .
Clasificación Internacional de Patentes:
- G06F12/10 FISICA. › G06 CALCULO; CONTEO. › G06F PROCESAMIENTO ELECTRICO DE DATOS DIGITALES (sistemas de computadores basados en modelos de cálculo específicos G06N). › G06F 12/00 Acceso, direccionamiento o asignación en sistemas o arquitecturas de memoria (entrada digital a partir de, o salida digital hacia soportes de registro, p. ej. hacia unidades de almacenamiento de disco G06F 3/06). › Traducción de direcciones.
- G06F13/16 G06F […] › G06F 13/00 Interconexión o transferencia de información u otras señales entre memorias, dispositivos de entrada/salida o unidades de procesamiento (circuitos de interfaz para dispositivos de entrada/salida específicos G06F 3/00; sistemas multiprocesadores G06F 15/16). › para el acceso al bus de memoria (G06F 13/28 tiene prioridad).
PDF original: ES-2428822_T3.pdf
Fragmento de la descripción:
Traducción de direcciones de entrada/salida a direcciones de memoria Antecedentes
Esta invención se refiere, en general, a traducir direcciones en un entorno informático, y en particular, a traducir una dirección de entrada/salida a una dirección de memoria utilizable en el acceso a memoria del sistema del entorno.
La memoria del sistema es accesible mediante peticiones de lectura y escritura. Estas peticiones pueden llegar de diversos componentes de un entorno informático, incluyendo unidades centrales de proceso, así como adaptadores. Cada petición incluye una dirección que va a ser usada para acceder a la memoria del sistema. Esta dirección, no obstante, típicamente no tiene una correspondencia uno a uno con una ubicación física en la memoria del sistema. Por lo tanto, se realiza la traducción de dirección.
La traducción de dirección se usa para traducir una dirección que se proporciona en una forma no directamente utilizable en el acceso a memoria del sistema a otra forma que es directamente utilizable en el acceso a una ubicación física en una memoria del sistema. Por ejemplo, una dirección virtual incluida en una petición proporcionada por una unidad central de proceso se traduce a una dirección real o absoluta en la memoria del sistema. Como ejemplo adicional, se puede traducir una dirección de Interconexión de Componentes Periféricos (PCI) proporcionada en una petición desde un adaptador a una dirección absoluta en la memoria del sistema.
La Publicación de EE.UU. Nº 2008/0168208 A1, publicada el 10 de julio de 2008, Gregg, “I/O Adapter LPAR Isolation In A Hypertransport Environment With Assigned Memor y Space Indexing A TVT Via Unit Ids” describe un sistema de procesamiento de datos y método de aislamiento de una pluralidad de adaptadores de I/O en el sistema. El sistema de procesamiento de datos también comprende un conjunto de procesadores, un puente central, y un canal principal del sistema que conecta el conjunto de procesadores y el puente central. Cada uno de los adaptadores de I/O tiene un ID respectivo y envía comandos al puente central que incluyen uno o más de los ID de los adaptadores de I/O. En la realización preferida, estos ID son ID de Unidad definida de Hiper Transporte, y los comandos emitidos por los Adaptadores de I/O incluyen un campo de ID de Unidad que contiene uno o más de los ID de Unidad de los Adaptadores de I/O. Los ID de Unidad cada uno se usa para indexar un TVT para identificar espacios de memoria del sistema únicos e independientes.
La Publicación de EE.UU. Nº 2009/0182966 A1, publicada el 16 de julio de 2009, Greiner et al., “Dynamic Address Translation with Frame Management” describe una función de gestión de tramas definida para una arquitectura de máquina de un sistema informático. En una realización, se obtiene una instrucción de gestión de tramas que identifica un primer y segundo registro general. El primer registro general contiene un campo de gestión de tramas que tiene un campo de clave con bits de protección de acceso y una indicación de tamaño de bloque. Si la indicación de tamaño de bloque indica un bloque grande entonces se obtiene una dirección de operando de un bloque grande de datos a partir del segundo registro general. El bloque grande de datos tiene una pluralidad de bloques pequeños cada uno de los cuales está asociado con una clave de almacenamiento correspondiente que tiene una pluralidad de bits de protección de acceso de clave de almacenamiento. Si la indicación de tamaño de bloque indica un bloque grande, los bits de protección de acceso de clave de almacenamiento de cada clave de almacenamiento correspondiente de cada bloque pequeño dentro del bloque grande se fijan con los bits de protección de acceso del campo de clave.
La US 6.658.521 describe un método y aparato para traducción de direcciones en un canal principal PCI sobre la red infiniband.
La US 2008/0114906 A1 describe eficientemente controlar accesos a memoria correlacionados con memoria especial.
Breve compendio Los defectos de la técnica anterior se superan y se proporcionan ventajas adicionales a través del suministro de un método según la reivindicación 1, y un producto de programa informático y sistema correspondientes.
Se realizan rasgos y ventajas adicionales a través de las técnicas de la presente invención. Otras realizaciones y aspectos de la invención se describen en detalle en la presente memoria y se consideran una parte de la invención reivindicada.
Breve descripción de las diversas vistas de los dibujos Uno o más aspectos de la presente invención se señalan particularmente y se reivindican distintivamente como ejemplos en las reivindicaciones en la conclusión de la especificación. El anteriormente mencionado y otros objetos, rasgos, y ventajas de la invención son evidentes a partir de la siguiente descripción detallada tomada en conjunto con los dibujos anexos en los que:
La FIG. 1 representa una realización de un entorno informático para incorporar y usar uno o más aspectos de la presente invención;
La FIG. 2 representa una realización de detalles adicionales de la memoria del sistema y centro de I/O de la FIG. 1, según un aspecto de la presente invención;
La FIG. 3A representa una realización de una visión de conjunto de la lógica para registrar un espacio de dirección DMA (Acceso a Memoria Directo) para un adaptador, según un aspecto de la presente invención;
La FIG. 3B representa una realización de diversos detalles de registro del espacio de dirección DMA para el adaptador, según un aspecto de la presente invención;
La FIG. 4 representa una realización de la lógica para procesar una operación DMA, según un aspecto de la presente invención;
La FIG. 5A representa un ejemplo de los niveles de traducción empleados cuando se usa una dirección entera para indexar en tablas de traducción de direcciones para traducir la dirección y acceder a la página;
La FIG. 5B representa un ejemplo de niveles de traducción empleados cuando se ignora una parte de la dirección cuando se indexa en las tablas de traducción de direcciones, según un aspecto de la presente invención;
La FIG. 5C representa ejemplos de varios formatos compatibles de DAT de CPU utilizables según uno o más aspectos de la presente invención;
La FIG. 5D representa ejemplos de diversos formatos de traducción de direcciones extendidas de I/O utilizables según uno o más aspectos de la presente invención;
La FIG. 6A representa una realización de una instrucción de Modificar Controles de Función PCI usada según un aspecto de la presente invención;
La FIG. 6B representa una realización de un campo usado por la instrucción de Modificar Controles de Función PCI de la FIG. 6A, según un aspecto de la presente invención;
La FIG. 6C representa una realización de otro campo usado por la instrucción de Modificar Controles de Función PCI de la FIG. 6A, según un aspecto de la presente invención;
La FIG. 6D representa una realización de los contenidos de un bloque de información de función (FIB) usado según un aspecto de la presente invención;
La FIG. 7 representa una realización de una visión de conjunto de la lógica de la instrucción de Modificar Controles de Función PCI, según un aspecto de la presente invención;
La FIG. 8 representa una realización de la lógica asociada con un registro de operación de parámetros de traducción de direcciones de I/O que se puede especificar por la instrucción de Modificar Controles de Función PCI, según un aspecto de la presente invención;
La FIG. 9 representa una realización de la lógica asociada con una baja de registro de operación de parámetros de traducción de direcciones de I/O que se puede especificar por la instrucción de Modificar Controles de Función PCI, según un aspecto de la presente invención;
La FIG. 10 representa una realización de un producto de programa informático que incorpora uno o más aspectos de la presente invención;
La FIG. 11 representa una realización de un sistema de ordenador central para incorporar y usar uno o más aspectos de la presente invención;
La FIG. 12 representa un ejemplo adicional de un sistema informático para incorporar y usar uno o más aspectos de la presente invención;
La FIG. 13 representa otro ejemplo de un sistema informático que comprende una red informática para incorporar y usar uno o más aspectos de la presente invención;
La FIG. 14 representa una realización de varios elementos de un sistema informático para incorporar y usar uno o más aspectos de la presente invención;
La FIG.... [Seguir leyendo]
Reivindicaciones:
1. Un método de traducción de direcciones en un entorno informático, dicho método que comprende:
obtener una dirección a partir de un adaptador (110) a ser traducida a una dirección de memoria directamente utilizable en el acceso a la memoria del sistema del entorno informático, la dirección que comprende una pluralidad de bits, la pluralidad de bits que comprende una primera parte de bits y una segunda parte de bits;
recibir un valor de intervalo de direcciones que indica un intervalo de direcciones permitidas, en donde el intervalo se define por una dirección base (214) y un límite (216) situado en una entrada de tabla de dispositivo asociada con el adaptador, la entrada de tabla de dispositivo (210) situada mediante un identificador solicitante situado en una petición emitida por el adaptador;
validar la dirección obtenida a partir del adaptador usando al menos la primera parte de bits y el intervalo de direcciones recibido; y
convertir la dirección obtenida a partir del adaptador a la dirección de memoria directamente utilizable en el acceso a la memoria del sistema del entorno informático, el método que se caracteriza por la conversión que ignora la primera parte de bits y que usa la segunda parte de bits para obtener información de dirección a partir de uno o más niveles de tablas de traducción de direcciones para realizar la conversión.
2. El método de la reivindicación 1, en donde la primera parte de bits comprende bits de orden alto de la dirección y la segunda parte de bits comprende bits de orden bajo de la dirección, los bits de orden bajo determinados en base a un tamaño de un espacio de dirección asignado que incluye la dirección de memoria.
3. El método de la reivindicación 1, en donde un número de niveles de tablas de traducción de direcciones está basado en a menos uno de un tamaño de un espacio de dirección asignado que incluye la dirección de memoria, un tamaño de una o más tablas de traducción de direcciones a ser usadas en la conversión, y un tamaño de la unidad de memoria accedida por la dirección de memoria.
4. El método de la reivindicación 1, en donde la conversión comprende seleccionar una tabla de traducción de direcciones a ser usada para convertir la dirección, la selección que usa un puntero en una entrada de tabla de dispositivo (210) usada en la conversión.
5. El método de la reivindicación 4, en donde el método además comprende localizar la entrada de la tabla del dispositivo (210) , la ubicación que usa al menos uno de un identificador solicitante del adaptador que emite una petición que incluye la dirección a ser traducida o una parte de la dirección.
6. El método de la reivindicación 4, en donde el método además comprende determinar un formato de la tabla de traducción de direcciones seleccionada, la determinación usando un campo de formato de la entrada de la tabla de dispositivo (210) .
7. Un producto de programa informático para traducir direcciones en un entorno informático, el producto de programa informático que comprende:
un medio de almacenamiento legible por ordenador legible por un circuito de procesamiento e instrucciones de almacenamiento para ejecución por el circuito de procesamiento para realizar un método según cualquiera de las reivindicaciones 1 a 6.
8. Un sistema que comprende medios adaptados para llevar a cabo todos los pasos del método según cualquier reivindicación del método precedente.
Patentes similares o relacionadas:
Circuito integrado foto-repetido con compensación de retardos de propagación de señal, especialmente de señales de reloj, del 22 de Julio de 2020, de Pyxalis: Circuito integrado que comprende N patrones adyacentes, todos idénticos, que corresponden a N circuitos parciales adyacentes idénticos (C1, C2, C3) de rango i = 1 a […]
Técnicas de ahorro de energía para sistemas de memoria, del 22 de Abril de 2020, de QUALCOMM INCORPORATED: Un procesador central , que comprende: una interfaz de capa física, PHY, configurada para acoplarse a una pluralidad de carriles de datos de un […]
Método y dispositivo para procesar datos, del 12 de Junio de 2019, de ZTE CORPORATION: Un método para procesar datos, que comprende: después de recibir datos introducidos por un bus de datos, de acuerdo con una indicación de destino de los datos y una indicación […]
Sincronización de actualización automática dirigida, del 5 de Junio de 2019, de QUALCOMM INCORPORATED: Un procedimiento, mediante un módulo de memoria y un controlador , de actualización de una pluralidad de bancos de memoria , que comprende: aceptar […]
Memoria configurada para proporcionar acceso simultáneo de lectura/escritura a múltiples bancos, del 19 de Febrero de 2019, de QUALCOMM INCORPORATED: Un dispositivo, que comprende: una memoria de múltiples bancos con al menos bancos de memoria primero y segundo ; al menos controladores […]
Controlador de acceso a memoria, sistemas y procedimientos para optimizar los tiempos de acceso a memoria, del 9 de Enero de 2019, de QUALCOMM INCORPORATED: Un controlador de memoria , que comprende: un controlador configurado para acceder al menos a una ubicación de memoria correspondiente […]
Esquema de interfaz de DDR de un único canal y de doble canal híbrida mediante intercalado de las señales de dirección/control durante el funcionamiento de doble canal, del 21 de Septiembre de 2018, de QUALCOMM INCORPORATED: Una estructura de memoria, que comprende: un controlador de memoria configurado para recibir una señal de reloj y para ser […]
Un circuito para compartir memoria, del 3 de Enero de 2018, de LSIS Co., Ltd: Un circuito para compartir memoria para compartir una memoria de un controlador para un sistema de energía eléctrica, el circuito para compartir […]