Sunday, June 7, 2020

Setting up maxCache device using Intel SSD DC S4500

Microsemi Adaptec SmartRaid 3154-8i16e has a maxCache 4.0 feature, to accelerate HDD IO using SSD as a cache.

SSD with 512 bytes sector is required for maxCache drive.

I purchased 2 Intel SSD DC S4500 240GB SATA drives (Please read the last part of this article about suitability of this drive to this usage) to create RAID1 maxCache array. Those SSDs' physical block size is 4KB by default (Fig.1), but it can be changed to 512 bytes using Intel Memory and Storage tool.

Fig.1 Physical block size of this SSD is 4KB by default.

How to set 512 bytes sector size to Intel SSD DC S4500


1. Connect SSDs to Adaptec and expose it as RAW device to the operating system.


Connect 2 SSDs to Adaptec. Open maxView. Select controller and press Controller Set Properties on Connector tab, set the connector connected to Intel SSDs to HBA mode (Fig.3). This exposes raw SSD devices to the OS and Intel MAS is able to work with them. The two devices shows up as a /dev/sdd and /dev/sde respectively.



Fig.2 : Two intel SSDs are connected to Connector #1. Connector mode is changed to HBA mode.

BTW I performed burn-in to one of the two SSDs using shred -n=10 -z command and 1 day powered idle to prevent simultaneous two drive failure.


2. Set sector size to 512B using Intel Memory and Storage Tool 


Download and install Intel Memory and Storage tool (CUI) for your operating system.

Run intelmas to show device index. In my computer, two Intel SSDs have index #3 and #4.
# intelmas show -intelssd

To set 512 bytes sector size to device #3,
# intelmas set -intelssd 3 PhysicalSectorSize=512

Disconnect SSD and reconnect to reflect the change.

Repeat it to the second SSD.

if your SSD firmware is old, it can be updated with the following command (disconnect SSD and reconnect to boot SSD with updated firmware):
# intelmas load -intelssd 3

Set Connector connected to Intel SSDs to RAID mode on MaxView Storage Manager. Now those 2 drives' physical sector size is 512 bytes and ready to create maxCache array (Fig.3)



Fig.3 : Physical block size is now 512 bytes.

Now those drives can be used as maxCache drives.

Creating maxCache array of 2 SSD RAID1


Open maxView. Select Controller and press Create maxCache device button (Fig.4)




Fig.4 : Create maxCache device button is far right of the menu bar.

On Create maxCache device menu, select RAID 1, press next (Fig.5).



Fig.5

Select 2 Intel SSDs to raid member drives. press next (Fig.6).

Fig.6

Select HDD drive array to accelerate performance. press next (Fig.7).

Fig.7 : Select HDD array to accelerate.

Set RAID attribute. leave as default. press next (Fig.8).

Fig.8

Summary is shown. press Finish (Fig.9).


Fig.9

Now maxCache array is created and started to work (Fig.10) (Fig.11).




Fig.10


Fig.11
It seems maxCache works.


SSD write performance is important for maxCache drive!


Use it a while and found HDD IO performance is not so accelerated as I expected. And found my SSDs' effective write speed is surprisingly low, about 130MB/sec and it is about the same level of single HDD drive! Max sequential write of this drive is 190MB according to the datasheet: https://ark.intel.com/content/www/us/en/ark/products/120526/intel-ssd-dc-s4500-series-240gb-2-5in-sata-6gb-s-3d1-tlc.html

Also noticed the controller writes extensively to maxCache drives, so moderately high PBW value is necessary. In my use case and HDD array capacity, order of 0.1 ~ 1.0 PBW is needed.

Therefore high IO performance and some level of PBW value (this differs depending on the use case and array capacity) are important to the drive used as maxCache device. And I'm now looking into the datasheets of SAS SSDs ...


Next Article, benchmarking with proper SAS12G SSD: https://yamamoto2002.blogspot.com/2020/07/benchmarking-maxcache-40-with-sas12g-ssd.html