HBA/RAID controller: Difference between revisions
Line 148: | Line 148: | ||
"Data Throughput” value | "Data Throughput” value used to load profiles with '''sequential access pattern''', while “Transaction Rate” | ||
value | value used to load profiles with '''random access pattern'''. Throughput and transaction are in direct | ||
proportion to each other and can be calculated mutually using the follow | proportion to each other and can be calculated mutually using the follow |
Revision as of 11:59, 7 July 2023
Native and Maximum supported disks
There is a concept in RAID controller, that are Native Supported Disks and Maximum Supported Disks.
- Native supported disk # means the number of disks that can be direct connected to the RAID controller usinb brakeout cable
- Maximum supported disks # means when to use of port expanders such as Intel RES2SV240
Controller Interface[1]
The RAID controller has an interface that connects to the storage drive and an interface that connects to the
CPU. The drive interfaces are Serial Attached SCSI (SAS), Serial Advanced Technology Attachment (SATA),
and Non-Volatile Memory Express (NVMe). NVMe is a communication protocol designed for flash storages
that use Peripheral Component Interconnect Express (PCIe) for connectivity.
Storage drive side interface | Communication
band |
Theoretical throughput | Effective throughput (90%) |
---|---|---|---|
SATA 6G | 6 Gbps | 572 MiB/s | 515 MiB |
SAS 12G | 12 Gbps | 1,144 MiB/s | 1,030 MiB/s |
NVMe Gen3 | 8 Gbps x4 | 3,756 MiB/s | 3,380 MiB/s |
NVMe Gen4 | 16 Gbps x4 | 7,512 MiB/s | 6,760 MiB/s |
CPU side
Interface |
Number
of lanes |
Communication
band |
Theoretical throughput | Effective throughput (90%) |
---|---|---|---|---|
DMI Gen3 | x4 | 8 Gbps x4 | 3,756 MiB/s | 3,380 MiB/s |
PCIe Gen3 | x8 | 8 Gbps x8 | 7,512 MiB/s | 6,760 MiB/s |
PCIe Gen3 | x16 | 8 Gbps x16 | 15,024 MiB/s | 13,520 MiB/s |
PCIe Gen4 | x8 | 16 Gbps x8 | 15,024 MiB/s | 13,520 MiB/s |
PCIe Gen4 | x16 | 16 Gbps x16 | 30,048 MiB/s | 27,040 MiB/s |
*The theoretically achievable throughput is calculated by subtracting 1.54% redundancy with 128b/130b coding.
The actual achievable throughput can be estimated by multiplying this value by 0.90.
Expected Performance by RAID type
RAID level | Type | Random read | Random write | Sequential read
transfer performance |
Sequential write
transfer performance |
---|---|---|---|---|---|
RAID0 | Stripe | 1 | 1 | N x SR | N x SW |
RAID1 | Mirror | 1 | 2 | N x SR | N x SW / 2 |
RAID10 | Mirror + Stripe | 1 | 2 | N x SR | N x SW / 2 |
RAID5 | Single Parity | 1 | 4 | N x SR | (N-1) x SW |
RAID6 | Double Parity | 1 | 6 | N x SR | (N-2) x SW |
Where, N: Number of drives, SR: Single read performance, SW: Single write |
Performance Index - Throughput / Transaction
- Throughput [MiB/s] - Data transfer amount per second (in megabytes)
- Transaction [IO/s] - IO processing per second
- Latency [ms] - Average response time (in milliseconds)
"Data Throughput” value used to load profiles with sequential access pattern, while “Transaction Rate”
value used to load profiles with random access pattern. Throughput and transaction are in direct
proportion to each other and can be calculated mutually using the follow
- Data throughput [KiB/s] = Transaction rate [IO/s] x Block size
- Transaction rate [IO/s] = Data throughput [KiB/s] / Block size [KiB]