Saturday, July 11, 2020

Benchmark: maxCache accelerated HDD RAID10 array

I tried to to accelerate a HDD raid array by connecting a SAS12G SSD to Adaptec raid controller as a maxCache 4.0 device.

Connecting the SSD to Controller

Set the connector to HBA mode on maxView.
On Linux, type dmesg to find drive device file name:

 # dmesg
           ...
[  817.729986] smartpqi 0000:41:00.0: added 10:0:-:- 5000c5003e8f4f3d Direct-Access     SEAGATE  XS960SE70004     AIO+ qd=64

[  817.732450] scsi 10:0:1:0: Direct-Access     SEAGATE  XS960SE70004     0004 PQ: 0 ANSI: 7
[  817.733837] sd 10:0:1:0: Attached scsi generic sg5 type 0
[  817.736622] sd 10:0:1:0: [sdd] 1875385008 512-byte logical blocks: (960 GB/894 GiB)
[  817.736625] sd 10:0:1:0: [sdd] 4096-byte physical blocks
[  817.737389] sd 10:0:1:0: [sdd] Write Protect is off
[  817.737391] sd 10:0:1:0: [sdd] Mode Sense: dd 00 10 08
[  817.738855] sd 10:0:1:0: [sdd] Write cache: disabled, read cache: enabled, supports DPO and FUA
[  817.754703] sd 10:0:1:0: [sdd] Attached SCSI disk

It seems my drive is /dev/sdd and /dev/sg5. And drive logical sector size is 512: It is ready to use it as a maxCache drive. Set the connector to RAID mode on maxView.

Using it as a maxCache drive

Enable maxCache to HDDx8 Raid10 array, it is something similar steps as a last article.

Test setup  

  • AMD ThreadRipper 2990WX
  • Memory 64GB
  • Microsemi Adaptec SmartRaid 3154-8i16e (memory cache is enabled)
  • HDD: WDC WD40EZRZ-00G 3.5inch SATA HDD x8 RAID10
  • SSD for MaxCache: Seagate Nytro XS960SE70004 SAS12G SSD
  • Windows 10 x64 version 2004

Benchmark results

CrystalDiskMark 7.0.0

Fig. 1 HDDx8 RAID10 without maxCache














Fig.2 HDDx8 RAID10 with maxCache of 1 SSD (unsafe)














Fig.3 HDDx8 RAID10 with maxCache of 2 SSD RAID1

Some thoughts about the result


It seems maxCache4.0 works well. Especially read performance is accelerated. HDD array performs like a SSD.

Write performance is better than ordinal HDD even without maxCache. I suppose this is thanks to the 4GB memory cache of the raid controller.

Disabling maxCache

On maxView, wait until super capacitor is charged. Select raid array and press Set Properties button of Logical Device ribbon group. move to maxCache tab and select  Set Write cache policy preferred to Write Through. Wait until SSD cache data is flushed to HDD. then select maxCacheDevice → deviceName → Cache for ArrayName, Press the Delete maxCache button on maxCache ribbon group.

Disk Provisioning

Seagate Nytro 3331 SSD accepts provision command on SeaChest_Basics utility. I reduced drive capacity from 960GB to 800GB (1562500000 LBA) to increase drive write endurance (I hope).

Set controller connector connected to Nytro SSD to HBA mode. Then run following command on the Linux console:
# cd SeaChest/Linux/Lin64/
# ./SeaChest_Basics_280_11923_64 --scan --onlySeagate

to find your seagate SSD. In my case it is /dev/sg1

# ./SeaChest_Basics_280_11923_64 -d /dev/sg1 -i

to see MaxLBA size. My drive MaxLBA is 1875385007 (approx. 960GB). 

Reduce drive capacity to 800GB (LBA 156250000 ): 


# ./SeaChest_Basics_280_11923_64 -d /dev/sg1 --provision 1562500000 

Then reboot the computer.

Set controller connector connected to Nytro SSD to RAID mode to use it as a maxCache drive.

Current Storage Configuration


Following maxView screen shows current configuration of my storage array.


No comments:

Post a Comment