
Com a configuração adequada, é possível iniciar a partir de um dispositivo NVME SSD mesmo em sistemas antigos. Supõe-se que o sistema operacional (SO) é compatível com NVME SSD. Estou considerando especificamente a inicialização do SO, pois, com os drivers NVME disponíveis no SO, o SSD é reconhecido após a inicialização e pode ser utilizado. Não são necessários softwares adicionais (SW) para Linux. Para sistemas da família BSD e outros UNIX, o método provavelmente também funciona.
Para inicializar a partir de qualquer dispositivo, é necessário que no programa de inicialização (BIOS ou EFI/UEFI) existam drivers para esse dispositivo. Os dispositivos NVME SSD são relativamente novos em comparação ao BIOS, e os firmwares de placas-mãe antigas não possuem esses drivers no programa de inicialização. No EFI, sem suporte para NVME SSD, é possível adicionar um código correspondente, permitindo assim o funcionamento completo do dispositivo — é possível instalar o sistema operacional e inicializá-lo. Para sistemas antigos com o chamado 'legacy BIOS', a inicialização do SO deste modo provavelmente não será possível. No entanto, isso pode ser contornado.
Como fazer
Utilizei o openSUSE Leap 15.1. Para outras distribuições Linux, as etapas serão aproximadamente as mesmas.
1. Prepare o computador para a instalação do sistema operacional.
É necessário um PC ou servidor com um slot PCI-E 4x ou mais longo, não importa a versão, até PCI-E 1.0 é suficiente. Claro, quanto mais nova a versão do PCI-E, maior será a velocidade. E, claro, um NVME SSD com adaptador M.2 — PCI-E 4x.
Também é necessário algum dispositivo de armazenamento com capacidade de 300 MB ou mais, que seja reconhecido pelo BIOS e a partir do qual se possa inicializar o SO. Isso pode ser um HDD com conexão IDE, SATA, SCSI, SAS. Ou um pen drive USB, ou um cartão de memória. Não caberá em um disquete. Um CD-ROM não funcionará, será necessária uma gravação. Sobre DVD-RAM — não tenho certeza. Vamos chamar esse dispositivo de 'armazenamento BIOS legado'.
2. Carregue o Linux para instalação (a partir de um disco óptico, pen drive bootável ou outro).
3. Ao particionar o disco, distribuiremos o SO entre os dispositivos de armazenamento disponíveis:
3.1. Vamos criar uma partição para o carregador GRUB no início do "dispositivo BIOS legado" com um tamanho de 8 MB. Note que aqui utilizamos uma particularidade do openSUSE — o GRUB em uma partição separada. Por padrão, o openSUSE utiliza o sistema de arquivos (FS) BTRFS. Se colocarmos o GRUB em uma partição com FS BTRFS, o sistema não inicializará. Portanto, utilizamos uma partição separada. Você pode colocar o GRUB em outro lugar, contanto que ele inicialize.
3.2. Após a partição do GRUB, criaremos uma partição para parte da pasta do sistema ("root"), nomeadamente a "\/boot\", com um tamanho de 300 MB.
3.3. O restante — o restante da pasta do sistema, a partição de swap, a partição do usuário "\/home\/" (se você decidir criá-la) pode ser colocado no NVME SSD.
Após a instalação, o sistema carrega o GRUB, que carrega os arquivos de \/boot\, após o qual o NVME SSD se torna acessível, e então a inicialização do sistema ocorre a partir do NVME SSD.
Na prática, eu obtive um ganho significativo de velocidade.
Requisitos de capacidade do "dispositivo BIOS legado": 8 MB para a partição do GRUB — isso é padrão, e algo em torno de 200 MB para \/boot\ . Eu defini 300 MB para garantir. Ao atualizar o kernel (e ao instalar novos), o Linux irá preencher a partição \/boot\ com novos arquivos.
Avaliação de velocidade e custo
O custo do NVME SSD de 128 GB é de aproximadamente a partir de 2000 r.
O custo do adaptador M.2 — PCI-E 4x é de aproximadamente a partir de 500 r.
Também estão à venda adaptadores M.2 — PCI-E 16x para quatro unidades NVME SSD, com preço em torno de 3000 r. — se alguém precisar.
Velocidades máximas:
PCI-E 3.0 4x cerca de 3900 MB/s
PCI-E 2.0 4x 2000 MB/s
PCI-E 1.0 4x 1000 MB/s
As unidades com PCI-E 3.0 4x atingem na prática velocidades de cerca de 3500 MB/s.
Pode-se supor que a velocidade alcançável será a seguinte:
PCI-E 3.0 4x cerca de 3500 MB/s
PCI-E 2.0 4x cerca de 1800 MB/s
PCI-E 1.0 4x cerca de 900 MB/s
O que é mais rápido do que SATA 600 MB/s. A velocidade alcançável para SATA 600 MB/s é de cerca de 550 MB/s.
Neste caso, em placas-mãe mais antigas, a velocidade do controlador SATA integrado pode não ser 600 MB/s, mas sim 300 MB/s ou 150 MB/s. Aqui, controlador integrado = controlador SATA, embutido no ponte sul do chipset.
Note que para NVME SSD o NCQ funcionará, enquanto controladores integrados antigos podem não oferecer isso.
Eu fiz cálculos para PCI-E 4x, no entanto, alguns dispositivos têm um barramento PCI-E 2x. Isso é suficiente para PCI-E 3.0, mas para os padrões antigos PCI-E — 2.0 e 1.0 — é melhor não utilizar esses NVME SSD. Além disso, um dispositivo com buffer na forma de um chip de memória será mais rápido do que um sem.
Para aqueles que desejam se livrar completamente do controlador SATA onboard, recomendo o controlador Asmedia ASM 106x (1061 e outros), que oferece duas portas SATA 600 (internas ou externas). Ele funciona muito bem (após a atualização do firmware), e no modo AHCI suporta NCQ. É conectado através do barramento PCI-E 2.0 1x.
Sua velocidade máxima:
PCI-E 2.0 1x 500 MB/s
PCI-E 1.0 1x 250 MB/s
A velocidade alcançável será:
PCI-E 2.0 1x 460 MB/s
PCI-E 1.0 1x 280 MB/s
Isso é suficiente para um SSD SATA ou dois HDDs.
Desvantagens observadas
1. Não lê de SSDs NVME, apenas dados gerais sobre o fabricante, número de série, etc. Talvez devido à placa-mãe muito antiga. Para minhas experiências humanas, usei a placa-mãe mais antiga que consegui encontrar, com o chipset nForce4.
2. O TRIM deve funcionar, mas é necessário verificar.
Conclusão
Há outras possibilidades: comprar um controlador SAS com slot PCI-E 4x ou 8x (existem 16x ou 32x?). Porém, se forem baratos, suportam SAS 600, mas SATA 300, e os caros custarão mais e serão mais lentos do que o método mencionado acima.
Para uso com M$ Windows, você pode instalar software adicional - um carregador com drivers embutidos para SSDs NVME.
Veja aqui:
Sugiro que o leitor avalie por si mesmo se precisa de tal uso para SSDs NVME, ou se é melhor comprar uma nova placa-mãe (+ processador + memória) com um slot M.2 PCI-E disponível e suporte para boot com SSD NVME em EFI.
Fonte: habr.com
