Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Storage

SSDs

Types of SSDs:

  • Form Factors:
    • 2.5" : looks like an HDD, slower, only supports SATA.
    • M.2: They come in few standard lengths (60mm, 80mm, 110mm), they support two interfaces:
      • SATA
      • PCIe (with and without NVMe support)
    • Add-in Card (AIC): Bigger than M.2 and operates over PCIe.
    • mSATA: looks like M.2, very small
    • U.2: Looks like 2.5" but they way faster. They are mainly used in the enterprise (Data centers)

NVME (Non-Volatile Memory Express):

  • is a super fast way to access SSDs and flash memory (NVM)
  • NVMe is not an interface and not a form factor (like SATA or PCIe) but a data transfer protocol
  • SSDs used SATA -> PCIe (lack of standard and features) -> NVMe

Lots of videos at the bottom of the page

PCIe

  • Each PCIe interface can be configured with 1 lane or multiple lanes x4 (x4, x8, x16 and x32).
  • Each PCIe Generation doubles the bandwidth
  • PCIe is backward compatible (The interface and card settle on the lower version)
  • PCIe cards can be plugged in slots with different number of lanes with the consequence of having less bandwidth or wasted lanes.

Hard disk drive interface

  • PATA(IDE) - SCSI: Old interfaces
  • SATA: Personal HDD, successor of PATA
  • SAS: Entreprise HDD, successor of SCSI
  • More and More

Disks and Partitions

partitioning formats

There are 2 known partioning formats:

  • MBR: 2TB is the limit disk size, can only create 4 primary partitions, the last one is set to extended partition in which we can create Logical partitions.
  • GPT: No disk limit, no limit for partition size. The partition table information is available in multiple locations to guard against corruption. GPT can also write a “protective MBR” which tells MBR-only tools that the disk is being used.

/dev/sd* vs /dev/disks:

  • The Linux kernel decides which device gets which name (/dev devices) on each boot. which can lead to to confusion and unwanted behavior.
  • /dev/disks has many subfolders that points to the partitions using other parameters besides the device name (label, id, uuid ...)