Workshop – Fitting a PCIe SSD with your existing hardware


Older workstations and servers usually have several second-generation PCIe slots of different lengths. Since these machines, which often still use a conventional BIOS without an NVMe module, cannot cope with current NVMe SSDs, you can turn to AHCI SSDs. They support the AHCI protocol and work with older systems.

SSDs that follow the AHCI specification are available in all common form factors and as PCIe plugin cards. Conventional 1.8 or 2.5-inch form factor SSDs communicate with the PC via the SATA interface, achieving a maximum throughput of 6Gbps. Thus, with a conventional SSD, a maximum data throughput of around 500 to 550MB/s is possible.

PCIe SSDs with AHCI support are often connected in a RAID array – if the capacity allows it – and thus reach higher speeds. If you still have a computer system that only supports the SATA II standard, you will already feel a significant increase in speed with a small PCIe SSD that follows the SATA III standard, without having to buy a controller card.

But even if you have identified a PCIe SSD with AHCI support, the devil lurks in the details: Some of these models – for example, by Fusion-io, which now belongs to the SanDisk Group – do not have their own firmware and ROM-based bootloader (OPROM) on board. Although this allows older computer systems to detect these drives, Linux cannot boot from them.

Even for data storage only, such SSDs have restrictions: In order to integrate them on Linux, you need to integrate a specific kernel module for controlling the controller into the system. This is usually provided by the manufacturer. However, most manufacturers are not interested in supporting more than just a few distributions. In addition, support often expires after a few years.

Other manufacturers of PCIe SSDs, such as OCZ or Mushkin, integrate the firmware directly on the board of the plugin card. The software automatically self-initializes when the computer boots. The BIOS then loads it so that the drive is immediately available as a mass storage device.

BIOS – A Sticking Point

Many older BIOS variants, which do not yet support the UEFI specification [2], often cite USB memory sticks and memory cards as bootable devices, but do not allow booting from PCIe hardware such as PCIe SSDs. They often display a message during initialization indicating that booting is only possible from hard disks and CD-ROM drives.

In such cases, it is a good idea to check for BIOS updates for the appropriate motherboard. Especially with newer models, manufacturers sometimes retrofit the capabilities to boot PCIe SSDs.

OCZ RevoDrive 350

OCZ Technology Group, now part of the Japanese Toshiba Corporation, has been making a name for itself in the mass storage market for years. In addition to conventional SSDs, OCZ also manufactures PCIe SSDs, such as the RevoDrive 350 [3]. This very fast drive is suitable for computers with conventional PCIe slots from the second generation. However, you will only find end-of-line stock on offer.

The drive uses Toshiba NAND MLC memory produced in the 19nm manufacturing process. Depending on the model, the capacity is between 120GB and 480GB. The AHCI-compatible SSD contains a maximum of four SandForce SF2282 controllers, which can be configured as a RAID 0 network. The RevoDrive 350 also has its own firmware and is therefore compatible with Linux.

After inserting the SSD board, the drive is initialized when booting the computer and is available as mass storage under current distributions. In the larger variants, with 240GB and 480GB capacity, it is noticeable that the usual partitioning tools do not display one, but two or four drives with 120GB capacity each.

This strange construct results from the architecture of the hardware: OCZ uses one SandForce controller per 120GB capacity to control the NAND memory devices. These controllers, in turn, are connected to their own RAID controller located on the SSD, which the system addresses via a virtual software layer.

This ensures that the two or four controllers each work in a RAID network and thus achieve almost twice or even four times the transfer speeds of the SATA III standard. If a corresponding driver is missing for the proprietary RAID controller, then only the individual drives can be addressed.

OCZ/Toshiba provide kernel modules on their support pages to control the RAID controller, but these modules are only suitable for older editions of Fedora, Ubuntu, and Linux Mint. Thus, the drive, like most PCIe SSDs with AHCI support, is not usable for booting current Linux derivatives, nor as a single fast mass storage device. The RevoDrive therefore only works like a conventional SATA drive and only achieves the typical SATA III data transfer rates in read and write tests.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Science on a Crypto Rig

    Lots of retired Bitcoin mining computers are showing up on the second-hand market for cheap. Could these once-impressive machines have a second life in scientific computing or machine learning?

  • Hard Disk Sentinel

    Hard Disk Sentinel helps you monitor mass storage devices with a fully automated process minus the bells and whistles.

  • Linux on Old Hardware

    Corporations and organizations don't need to buy new computers every two or three years because the old ones are no longer serviceable. We look at which tasks these hardware seniors can handle.

  • hdparm Drive Utility

    Hdparm is the tool to use when it comes to tuning your hard disk or DVD drive, but it can also measure read speed, deliver valuable information about the device, change important drive settings, and even erase SSDs securely.

  • Linutop 3: Fanless Mini-PC with Linux

    The French company Linutop has released its like-named mini-PC in version 3. The energy-saving Linux machine is perfect for office workplaces, Internet kiosks and advertising displays, for example.

comments powered by Disqus