Observo que SMBios Tipo 20 ayudaría aquí, pero es opcional a partir de la versión 2.5 (2006-09-05) pp. 25, L796 y pp. 131 , mientras que los tipos 16, 17 y 19 son obligatorios, pero no del todo ayuda.
Matriz de memoria física (tipo 16)
Existe una de estas estructuras para todo el sistema, que explica lo que es posible en este tablero.
Handle 0x1000, DMI type 16, 23 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: Multi-bit ECC
Maximum Capacity: 768 GB
Error Information Handle: Not Provided
Number Of Devices: 24
Dispositivo de memoria (tipo 17)
Hay un registro por cada Dimm, que le indica los Dimms físicos instalados en el tablero.
Handle 0x1100, DMI type 17, 34 bytes
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor: DIMM
Set: 1
Locator: DIMM_A1
Bank Locator: Not Specified
Type: DDR3
Type Detail: Synchronous Registered (Buffered)
Speed: 1600 MHz
Manufacturer: XXXX
Serial Number: XXXX
Asset Tag: XXXX
Part Number: XXXX
Rank: 1
Configured Clock Speed: 1333 MHz
Dirección asignada de matriz de memoria (tipo 19)
Puede haber varios de estos registros, y cada registro enumera un rango de direcciones físicas.
Aquí está la salida con dos unidades de 2GB:
Handle 0x1300, DMI type 19, 31 bytes
Memory Array Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x000CFFFFFFF
Range Size: 3328 MB
Physical Array Handle: 0x1000
Partition Width: 2
Handle 0x1301, DMI type 19, 31 bytes
Memory Array Mapped Address
Starting Address: 0x00100000000
Ending Address: 0x0012FFFFFFF
Range Size: 768 MB
Physical Array Handle: 0x1000
Partition Width: 2
Y aquí está la salida con 4 palos; 2 * 2GB y 2 * 4GB:
Handle 0x1300, DMI type 19, 31 bytes
Memory Array Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x000CFFFFFFF
Range Size: 3328 MB
Physical Array Handle: 0x1000
Partition Width: 2
Handle 0x1301, DMI type 19, 31 bytes
Memory Array Mapped Address
Starting Address: 0x00100000000
Ending Address: 0x0032FFFFFFF
Range Size: 8960 MB
Physical Array Handle: 0x1000
Partition Width: 2
Tenga en cuenta que en la primera salida de muestra anterior, había dos DIMM de 2GB, pero dos rangos de 3.3GB y 0.7GB. Con 4 Dimms, el sistema también fusionará la región de direcciones mapeadas de la matriz de memoria en dos fragmentos, ya que solo representa lo mismo que el mapa e820, es decir, los rangos de direcciones físicas de memoria válidas.
1 a muchos registros Tipo 20 están vinculados a exactamente un dispositivo de memoria tipo 17, lo que significa que se puede conocer todo el rango físico:
Ejemplo
$ sudo dmidecode -t 20
# dmidecode 2.12
SMBIOS 2.6 present.
Handle 0x002F, DMI type 20, 19 bytes
Memory Device Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x000FFFFFFFF
Range Size: 4 GB
Physical Device Handle: 0x002B
Memory Array Mapped Address Handle: 0x002E
Partition Row Position: 1
Handle 0x0030, DMI type 20, 19 bytes
Memory Device Mapped Address
Starting Address: 0x00100000000
Ending Address: 0x001FFFFFFFF
Range Size: 4 GB
Physical Device Handle: 0x002C
Memory Array Mapped Address Handle: 0x002E
Partition Row Position: 1
Parece posible pasar de la dirección al DIMM para EDAC - Detección de errores y propósitos de corrección , pero no del DIMM a todo el rango.
Mirando el código fuente de mcelog , también está usando el tipo 20 para su decodificación.
lshw
usa dmidecode
como código base y dmidecode -t 20
proporciona la información deseada. Pero, como se señaló, en la versión 2.5 de SMBIOS, la estructura que contiene esta información "Dirección asignada del dispositivo de memoria", también conocida como Tipo 20 o ubicación del banco, es opcional, por lo tanto, Q es si hay otra forma de recuperar la misma información. - Enlace entre type 17
el valor del localizador y el rango de direcciones físicas (como lo proporciona opcionalmente Type 20
).
dmidecode -t 20
resultados de muestra , ¿puede explicar el valor del localizador del tipo 17 en comparación con la dirección física, tipo 20?
dmidecode
ylshw
, pero creo que está buscando más de lo que proporcionan?