¿Por qué no hay expansiones PCIe RAM?

19

Quizás pueda estar pasando por alto algún aspecto que es una causa importante de por qué no existen, pero creo que sería perfectamente factible tener expansiones de RAM a través de PCIe. Sé que muchos sistemas operativos usan memoria virtual y almacenan algunos elementos de menor prioridad en los discos duros, pero teniendo en cuenta las velocidades más bajas, creo que podríamos usar alguna memoria extra no tan rápida.

6Gb/s SATA ~= 800MB/s
PCIe 2.0 = 500MB/s per lane. 16 Lane ~= 8GB/s

Claro, 8GB / s no es tan rápido como la RAM real, pero es 10 veces la velocidad de SATA. ¿Por qué no tener una placa PCIe con un par de ranuras de RAM para usar con la RAM anterior que acaba de reemplazar con esa actualización reciente? PCIe tiene la ventaja de estar en casi todas las placas base. Un 'adaptador' PCIe RAM Expansion Board sería (supuestamente) compatible con la mayoría de las PC.

¿Qué me estoy perdiendo ya que esto aún no se ha hecho?

agweber
fuente
@rawbrawb, creo que es un SSD, no RAM.
Brian Carlton
@BrianCarlton mea culpa!
3
Nota: Casi ninguna PC tiene PCI-X. Solo se encontró en el mercado de servidores y alcanza un máximo de alrededor de 1 GB / s. Además es obsoleto. Fue un desarrollo basado en PCI clásico y no está relacionado con PCI Express (a menudo abreviado PCIe).
AndrejaKo
Hay tarjetas como esta: fusionio.com/products/iodrive2
Bill Lynch

Respuestas:

14

Este es un problema complejo, que depende en gran medida exactamente de lo que desea hacer con esa RAM.

En la mayoría de los casos, es más barato y mejor simplemente reemplazar la placa base con una nueva placa base que admita la cantidad de RAM que necesita. Tengo una placa base aquí frente a mí que puede tener 16 módulos de memoria. El módulo más grande disponible es 32-Gig. Eso es un total de 512 Gigabytes en una sola máquina. (No importa que 16 módulos de ese tamaño cuesten alrededor de US $ 14,000, o que el MoBo también tenga CPU duales de 8 núcleos).

Tener la RAM en el MoBo significa que es la velocidad más alta posible. Puede usarlo tanto para un disco RAM como para un programa normal y almacenamiento de datos. Lo mejor de ambos mundos.

Pero en su pregunta sigue comparándolo con el almacenamiento SATA, por lo que creo que querría usar esta RAM adicional como un disco RAM y no para la RAM general de la CPU. Este es un uso válido, y hace años las personas tenían tarjetas PCI con mucha RAM específicamente para este propósito. Esas tarjetas parecían otra unidad de disco, y no solo más RAM de CPU. A menudo, estas tarjetas tenían un conector de alimentación externo, por lo que podría proporcionarles algún tipo de energía de respaldo en caso de que fallara la alimentación principal.

Este tipo de tarjetas han desaparecido en gran medida. Estaban obsoletos principalmente por tres cosas: 1. Las placas base ahora pueden tener mucha más memoria RAM que en el pasado. 2. Hay unidades de estado sólido más modernas que utilizan memoria Flash y PCIe (algunas con grandes cachés de RAM) que funcionan mejor. y 3. Eran demasiado caros por las ventajas limitadas que ofrecía.

Hay otras razones por las que es posible que desee tener una tarjeta PCIe con mucha RAM, pero todas ellas son aplicaciones en las que la tarjeta está haciendo algo más que simplemente almacenar datos. Como tarjetas de video o tarjetas de adquisición de datos. Estas cosas no se aplican aquí.


fuente
2
Interesante. He tenido una idea similar flotando en la parte posterior de mi cabeza. El concepto era una "unidad" basada en PCIe o quizás SATA3 que utiliza palos económicos de ram de última generación, para uso solo volátil. Los casos comunes serían /tmp, swap, TempDB y similares. Debería ser posible obtener velocidades de lectura similares a SSD, con velocidades de escritura mucho más rápidas, y al usar palos de última generación costaría mucho menos que agregar RAM más general. Supongo que las personas encuentran que los SSD son lo suficientemente buenos en la mayoría de los casos.
Kevin Cathcart
@KevinCathcart Pero si pudieras poner esa memoria en el Mobo y no tener el gasto de hacer una tarjeta PCIe, entonces podrías comprar la última generación de RAM y aún así ahorrar dinero. Y podría usar esa memoria como espacio / tmp, o simplemente más RAM, y sería mucho más rápido que cualquier cosa hecha con PCIe.
2
Claro, si poner ese carnero en el MOBO es viable. En un entorno que no es de servidor, las ranuras de memoria RAM a menudo son muy escasas, y los reemplazos de la placa base con frecuencia no son viables. En un entorno de servidor, las cosas son bastante diferentes. Tal dispositivo definitivamente tendría menos impacto allí. También admitiré que esto funcionaría mejor si los precios de la RAM de la generación anterior bajaran más rápido de lo que realmente lo hacen.
Kevin Cathcart
Probablemente, otro factor que desaprobó las tarjetas RAM fue el cambio de procesadores de 32 bits a procesadores de 64 bits. Más recientemente, el flash PCIe (generalmente con un caché DRAM) ha tenido un papel similar.
Paul A. Clayton
@David: estoy seguro de que la placa base era muy costosa, sin mencionar la compra de toda la RAM de generación actual, para el consumidor entusiasta que siempre tiene la última generación de RAM, con una tarjeta "L2 RAM" que el sistema operativo podría usar como intercambio (por lo que es más lento, y tal vez incluso solo se puede acceder en serie, en serio no es necesario pedir mucho aquí, pero poder reutilizar nuestros viejos chips lastgen para acelerar nuestros sistemas sería genial ...)
BrainSlugs83
10

Esto ha sido hecho; Hace muchos años, usted podía comprar tarjetas ISA (pre-PCI) con RAM, que se presentaban en su PC como memoria "extendida" o "expandida". Esta fue una forma de superar el límite de 1 MB de la PC original.

Las PC modernas tienen una sección de RAM adicional conectada a la tarjeta de video, separada de la memoria principal.

La razón por la que no obtiene tarjetas de expansión de RAM hoy en día es que la latencia es un problema grave. En realidad, no hay ninguna disposición en el sistema operativo para la RAM preferida frente a la no preferida, por lo que tendría que usarla como disco de intercambio / archivo de paginación.

pjc50
fuente
55
también puede usar RAM como disco (no permanente), así como para intercambiar.
Brian Carlton
Recuerdo tener una tarjeta adicional de 64k para mi Apple IIe que duplicó la RAM disponible a 128k. No había memoria de video separada, por lo que el complemento también habilitó texto de 80 columnas y 'gráficos' de doble resolución.
HikeOnPast
Sí: el problema no es el rendimiento. Es la latencia.
Joel Coehoorn
Sí, esas tarjetas ISA se sentó justo en el bus IO del procesador, sin Northbridge / Southbridge, estaba básicamente tan directamente conectado a la CPU como la RAM a bordo (al menos, estaba en mi 286). - Estoy pensando, en una computadora moderna, podría usar RAM PCI-e como algún tipo de RAM L2, como menciona para el intercambio, etc., el sistema operativo ni siquiera tiene que ser consciente de ello (aunque , con razón, debería).
BrainSlugs83
3

Los sistemas de servidor modernos alcanzan hasta 75 GB / s entre la CPU y la memoria principal e incluso los sistemas de grado medio pueden admitir hasta 768 GB de capacidad total de DRAM. Cualquier requisito para escalar más allá de eso con velocidades más rápidas que SATA está cubierto por las soluciones PCIe FLASH que cuentan con velocidades PCIe x8 y muchos TB de capacidad sin los problemas de volatilidad de datos asociados con DRAM.

HikeOnPast
fuente
2
Nitpick: PCIe, no PCIx. Son dos estándares diferentes.
Bryan Boettcher
Válido. Corregido
HikeOnPast
Su "sistema de nivel medio" es un servidor montado en bastidor. Vamos chicos, estamos hablando de clase entusiasta. - La RAM de generación actual siempre es muy costosa, y siempre tenemos un montón de RAM de última generación. - Si alguien construyera este producto, haría un maldito asesinato ...
BrainSlugs83
1

Además de las razones de pjc50, tampoco tuvo éxito con las tarjetas PCI, consulte esta discusión para obtener más detalles.

Dado que la memoria principal es más grande, también hay menos necesidad.

Brian Carlton
fuente
0

no veo cómo esto no es posible acercarse a las velocidades de ram de nvme pruebo ddr3 de triple canal en un punto de referencia de 22 GB / s

El ancho de banda 32x pci-e no está lejos de eso. pero

el ram tiene NANO segundos de latencia, mientras que el ssd tendría Millaseconds, pero eso tampoco es una limitación de pci-e, es un almacenamiento minorista asequible puramente actual. existe un almacenamiento especial no volátil que podría lograr esto, pero con el precio de 50k, no creo que el comercio minorista lo vea por lo menos durante 10-15 años.

aunque, si usó literalmente módulos ram en una placa personalizada y el firmware de la placa base le permitiría detectarlo como memoria. técnicamente, funcionaría para ampliar la memoria. la tecnología subyacente está ahí para que funcione. "<3 pci-e"

Ryan
fuente
0

La encarnación más reciente de tarjetas PCI RAM fue producida por Gigabyte en 2005 y 2006 bajo los nombres i-RAM y GC-RAMDISK, respectivamente. Soportaron 4 ranuras con un total de 4 GiB de DDR-400. La velocidad de transferencia fue la de SATA, 150 Mb / s, y la latencia de 0.1 ms.

Landric
fuente