
Con la configuración adecuada, es posible iniciar desde una unidad NVME SSD incluso en sistemas antiguos. Se supone que el sistema operativo (SO) puede trabajar con NVME SSD. Me refiero específicamente a iniciar el SO, ya que una vez que el sistema se carga, sus controladores permiten que el NVME SSD sea visible y utilizable. No se requiere software adicional (SW) para Linux. Para sistemas operativos de la familia BSD y otros Unix, es probable que el método también funcione.
Para arrancar desde cualquier unidad, es necesario que el programa de arranque inicial (PBI), en BIOS o EFI (UEFI), contenga controladores para dicho dispositivo. Las unidades NVME SSD son dispositivos bastante nuevos en comparación con BIOS, y en los PBI de las placas base antiguas no hay tales controladores. En EFI, se puede agregar el código correspondiente para habilitar el soporte de NVME SSD, lo que permite la instalación y carga del sistema operativo. Sin embargo, es poco probable que esto funcione con los antiguos sistemas que tienen el conocido 'legacy BIOS'. Pero se puede sortear esta limitación.
Cómo hacerlo
Utilicé openSUSE Leap 15.1. Para otras distribuciones de Linux, las acciones serán aproximadamente las mismas.
1. Preparar el ordenador para la instalación del sistema operativo.
Se necesita un PC o servidor con una ranura PCI-E de 4x o más larga, sin importar la versión, basta con PCI-E 1.0. Aunque, claro, cuanto más nueva sea la versión de PCI-E, mayor será la velocidad. Y, naturalmente, un NVME SSD con un adaptador M.2 a PCI-E 4x.
También se necesita alguna unidad con capacidad de 300 MB o más, que sea visible desde el BIOS y desde la cual se pueda cargar el SO. Esto puede ser un HDD conectado por IDE, SATA, SCSI, SAS. O una memoria USB, o una tarjeta de memoria. No se me entra en un disquete. Un disco CD-ROM no funcionará, necesitará regrabación. DVD-RAM — no tengo idea. Llamaremos a esta cosa 'unidad BIOS heredada'.
2. Cargar Linux para la instalación (desde un disco óptico o una memoria USB de arranque, etc.).
3. Al particionar el disco, distribuiremos el SO entre las unidades disponibles:
3.1. Crearemos una partición para el cargador GRUB al inicio del 'dispositivo BIOS legado' de 8 MB. Cabe mencionar que aquí se utiliza una característica de openSUSE: GRUB en una partición separada. Para openSUSE, el sistema de archivos (FS) utilizado por defecto es BTRFS. Si se coloca GRUB en una partición con FS BTRFS, el sistema no arrancará. Por eso se utiliza una partición separada. Puedes ubicar GRUB en otro lugar, siempre que arranque.
3.2. Después de la partición con GRUB, crearemos una partición con parte de la carpeta del sistema ('raíz'), específicamente con '/boot/', de 300 MB.
3.3. El remanente será la parte del sistema restante, la partición de intercambio, la partición del usuario '/home/' (si decidiste crear una) puede ubicarse en NVME SSD.
Después de la instalación, el sistema carga GRUB, que carga los archivos de /boot/, luego el NVME SSD se vuelve accesible, seguido de la carga del sistema desde el NVME SSD.
En la práctica, obtuve una aceleración notable.
Requisitos de capacidad para el 'dispositivo BIOS legado': 8 MB para la partición de GRUB, que es lo habitual, y alrededor de 200 MB para /boot/. Tomé 300 MB como margen. Al actualizar el núcleo (y al instalar nuevos), Linux llenará la partición /boot/ con nuevos archivos.
Evaluación de velocidad y costo
El costo de un NVME SSD de 128 GB es de aproximadamente 2000 rublos.
El costo de un adaptador M.2 — PCI-E 4x es de aproximadamente 500 rublos.
También se venden adaptadores M.2 — PCI-E 16x para cuatro unidades NVME SSD, con un precio de alrededor de 3000 rublos, si es que a alguien le interesa.
Velocidades máximas:
PCI-E 3.0 4x alrededor de 3900 MB/s
PCI-E 2.0 4x 2000 MB/s
PCI-E 1.0 4x 1000 MB/s
Las unidades con PCI-E 3.0 4x alcanzan en la práctica velocidades de alrededor de 3500 MB/s.
Se puede suponer que la velocidad alcanzable será la siguiente:
PCI-E 3.0 4x alrededor de 3500 MB/s
PCI-E 2.0 4x alrededor de 1800 MB/s
PCI-E 1.0 4x alrededor de 900 MB/s
Lo que es más rápido que SATA 600 MB/s. La velocidad alcanzable para SATA 600 MB/s es de aproximadamente 550 MB/s.
Cabe señalar que en placas base más antiguas, la velocidad del controlador SATA incorporado puede no ser 600 MB/s, sino 300 MB/s o 150 MB/s. Aquí, el controlador incorporado = el controlador SATA integrado en el puente sur del chipset.
Destaco que para NVME SSD funcionará NCQ, mientras que algunos controladores incorporados antiquísimos pueden no tenerlo.
Realicé cálculos para PCI-E 4x; sin embargo, algunos dispositivos tienen un bus PCI-E 2x. Esto es suficiente para PCI-E 3.0, pero para estándares más antiguos de PCI-E — 2.0 y 1.0 — no es recomendable adquirir esos NVME SSD. Además, un dispositivo con un buffer en forma de chip de memoria será más rápido que sin él.
Para aquellos que desean prescindir completamente del controlador SATA incorporado, recomiendo usar el controlador Asmedia ASM 106x (1061 y otros), que proporciona dos puertos SATA 600 (internos o externos). Funciona bastante bien (después de la actualización del firmware), y en modo AHCI admite NCQ. Se conecta a través del bus PCI-E 2.0 1x.
Su velocidad máxima:
PCI-E 2.0 1x 500 MB/s
PCI-E 1.0 1x 250 MB/s
La velocidad alcanzable será la siguiente:
PCI-E 2.0 1x 460 MB/s
PCI-E 1.0 1x 280 MB/s
Eso es suficiente para un SSD SATA o dos HDD.
Desventajas observadas
1. No se leen de los SSD NVME, solo se reciben datos generales del fabricante, número de serie, etc. Quizás por tener una placa madre (pl) demasiado antigua. Para mis experimentos inhumanos, utilicé la placa madre más antigua que pude encontrar, con chipset nForce4.
2. TRIM debería funcionar, pero eso debe comprobarse.
Conclusión
Hay otras opciones: comprar un controlador SAS con un conector PCI-E 4x u 8x (¿existen de 16x o 32x?). Sin embargo, si son baratos, solo admiten SAS 600, pero SATA 300, mientras que los caros serán más costosos y más lentos que el método propuesto anteriormente.
Para su uso con M$ Windows, se puede instalar software adicional: un cargador con controladores incorporados para SSD NVME.
Ver aquí:
Propongo que el lector evalúe por sí mismo si necesita tal uso de NVME SSD, o si sería mejor comprar una nueva placa madre (+ procesador + memoria) con el conector M.2 PCI-E y soporte para arranque desde SSD NVME en EFI.
Fuente: habr.com
