AllTechWiki



A Place for All Technical Stuff Linux Cloud etc

What is difference between scsi and sata and ide controllers

Think of IDE → SATA → SCSI → NVMe as an evolution of storage technologies.

 

Feature

IDE (PATA)

SATA

SCSI

NVMe

Era

Very old

Desktop/server standard

Enterprise servers

Modern SSDs

Speed

Slow

Faster

High performance

Fastest

Queue Depth

1 command

32 commands

Thousands

64K queues × 64K commands

Multiple Devices

Limited

Moderate

Excellent

Excellent

Typical Use

Old PCs

HDDs/SSDs

Enterprise servers/SAN

Modern SSDs, Azure v5/v6/v7

Device Names in Linux

/dev/hda

/dev/sda

/dev/sda

/dev

 

1. IDE (Integrated Drive Electronics)

Old desktop technology.

Limitations

• Very low performance

• Limited parallelism

• Few devices per controller

 

2. SATA (Serial ATA)

Replaced IDE in desktops and laptops.

OS--> SATA Controller --> SSD/HDD

 

Benefits over IDE

  • Faster
  • Simpler cabling
  • Hot-plug support
  • Better reliability

Still common for:

  • Desktop SSDs
  • HDDs
  • Low-cost servers

 

3. SCSI : Small Computer System Interface.

 

Designed for enterprise storage.

OS--> SCSI Controller --> Many Disks

 

Benefits

  • Supports many disks
  • Better error handling
  • Higher queue depth
  • SAN integration
  • Enterprise features

 

This is why VMware, Hyper-V and Azure traditionally expose storage through a virtual SCSI controller.

 

4. NVMe : NonVolatile Memory Express

Built specifically for SSDs.

 

OS --> NVMe Controller --> Flash Storage

Major advantages

  • Very low latency
  • Much higher IOPS
  • Better CPU efficiency
  • Massive parallelism

 

This is why Azure is moving newer VM sizes from SCSI to NVMe. The storage remains remote Azure Managed Disk, but the guest OS communicates through an NVMe controller instead of a SCSI controller

 

Simple Analogy

Imagine a highway:

  • IDE = 1-lane road
  • SATA = 2-lane road
  • SCSI = 8-lane highway
  • NVMe = 100-lane expressway

 

When many I/O requests arrive simultaneously, NVMe can process far more requests with lower latency.

 

Why VMware Still Uses SCSI?

Most operating systems support SCSI universally.

Advantages:

  • Excellent compatibility
  • Stable and mature
  • Works with Windows, Linux, Unix
  • Easy migration between platforms

 

 

The controller interface and the actual storage media are two different things

SSD can be connected through either a SCSI controller or an NVMe controller. SSD does not automatically mean NVMe.

NVMe can process many more I/O requests simultaneously.

 

 

 

[root@RHEL8 ]# sudo lshw -class disk -class storage

  *-scsi:0                 

       physical id: 7

       logical name: scsi1

  *-scsi:1

       physical id: 8

       logical name: scsi0

     *-disk:0

          description: SCSI Disk

          product: Virtual Disk

          vendor: Msft

          physical id: 0.0.0

          bus info: scsi@0:0.0.0

          logical name: /dev/sdb

          version: 1.0

          size: 64GiB (68GB)

          capabilities: gpt-1.00 partitioned partitioned:gpt

          configuration: ansiversion=5 guid=1121c682-1627-4ef1-bc0f-7eeaa7dd31a4 logicalsectorsize=512 sectorsize=4096

     *-disk:1

          description: SCSI Disk

          product: Virtual Disk

          vendor: Msft

          physical id: 0.0.1

          bus info: scsi@0:0.0.1

          logical name: /dev/sdc

          version: 1.0

          size: 75GiB (80GB)

          capabilities: partitioned partitioned:dos

          configuration: ansiversion=5 logicalsectorsize=512 sectorsize=4096 signature=a2aeecc8

 

 

In bus info: scsi@0:0.0.0 is the SCSI addressing format.

scsi@Host:Channel.Target.LUN  OR  [Host:Channel:Target:LUN] --> HCTL

 

Field

Value

Meaning

Host

0

First SCSI controller

Channel

0

Channel on controller

Target

0

Target device ID

LUN

0

Logical Unit Number

 

[root@RHEL8 naveen]# lsscsi

[0:0:0:0]    disk    Msft     Virtual Disk     1.0   /dev/sdb

[0:0:0:1]    disk    Msft     Virtual Disk     1.0   /dev/sdc --> 1st SCSI controller with LUN 1

[1:0:0:0]    disk    Msft     Virtual Disk     1.0   /dev/sda  --> 2nd SCSI controller with LUN 0


Post a Comment

Previous Post Next Post

Basic Useful Links