Qsan Firmware Release Note

Qsan Firmware Release Note
Qsan Document - White Paper
SSD Caching
Version 1.1
October 2014
Qsan Document – White Paper
Copyright
Copyright@2004~2014, Qsan Technology, Inc. All rights reserved. No part of this document may be reproduced or
transmitted without written permission from Qsan Technology, Inc.
Trademarks
All products and trade names used in this manual are trademarks or registered trademarks of their respective
companies.
Qsan Technology, Inc.
4F., No.103, Ruihu St.,
Neihu Dist., Taipei City 114,
Taiwan (R.O.C.)
Tel: +886-2-7720-2118
Fax: +886-2-7720-0295
Email: Sales@QsanTechnology.com
Website: www.QsanTechnology.com
Copyright@2004~2014 Qsan Technology, Inc. All Rights Reserved.
2
Qsan Document – White Paper
Introduction
The traditional storage technology is stored in the HDDs (Hard Disk Drives) and SSDs (Solid-State
Drives) are mainly used in mission critical applications where the speed of the storage system
needed to be as high as possible. In recent years, the capacity of HDDs has increased; but their
random input/output (I/O) has not increased at the same rate. For some applications such as
enterprise web with database, cloud and virtualization which require both high capacity and
performance, HDDs have the superiority in capacity but lower speed. It means the pure HDD
storage is not enough for those applications.
Using the superiority of SSDs, offer exceptionally high speed, SSD caching technology provides the
best way to fulfill cost-effectively the performance and capacity requirements of their enterprise
applications. Integrated HDDs and SSDs into the storage combine the benefits of both. SSD cache
feature enables the system to use SSDs as extended cache, thus increasing the performance of
random I/O applications such as databases, file servers, and web servers, etc.
Generally, the SSD caching is useful for the following features:
1.
Due to the HDD IOPS, read performance cause the bottleneck.
2.
In working space, read I/O is much more than write.
3.
The best performance is in the case, the working data size is repeatedly accessed and
smaller than the size of SSD cache capacity.
Solution
SSD caching is the secondary cache used to enable better performance. One and more SSDs could
be assigned to a single virtual disk to be its SSD caching space. Be attention that the cache volume
is not available for regular data storage. Currently, the maximum SSD cache size allowed in a
system is 2.4TB.
Methodology
When the read or write I/O performs, this feature copies the data from HDD into SSD. At the next
time, any subsequent I/O read of the same logical block addresses can be read directly from SSD. It
increases the overall performance with a much lower response time. If the SSDs fail unfortunately,
you won’t worry the data loss because the data caching in the SSD is a copy of the original which is
residing on HDD.
Copyright@2004~2014 Qsan Technology, Inc. All Rights Reserved.
3
Qsan Document – White Paper
SSD caching is divided into group of sectors of equal sizes. Each group is called a cache block; each
block is divided into sub-blocks. The I/O type configured for a virtual disk would affects size of the
cache block and size of sub-blocks.
Populating the Cache
The actions that read data from the HDD and write to the SSD are called populating the cache. It is
a background operation that typically immediately follows a host read or write operation. The
constraint is that two parameters are used to determine when to start a cache-populate operation:
1.
Populate-on-read threshold: The value is great than zero. If it is zero, no action is performed
for read cache.
2.
Populate-on-write threshold: It’s the same action as read.
According to these values, each cache block has associated to its read and write counts. When a
host requests the read data located on the cache block, its read count is increment. If a cache hit
does not occur, and the read count is greater than or equal to the populate-on-read threshold,
then a cache-populate operation is performed with the host read concurrently. If a cache hit
occurs, a populate operation is not performed. If the read count is smaller than the threshold, the
count continues and a populate operation is not performed neither.
For write cases, it’s the same scenario as read. We provide the figures to describe more details on
the following.
Read/Write Cache Cases

Read Data with Cache Miss
The following figure shows the steps of the controller which handles a host read request
when some of the data is not in the SSD cache.
Copyright@2004~2014 Qsan Technology, Inc. All Rights Reserved.
4
Qsan Document – White Paper
1. Request Read
3. Return Data
Memory Cache
Data
4. Populate Cache
2. Read from HDD
SSD
HDD
The following steps describe details about a host read with a cache miss:

1.
A host requests a read data.
2.
Read data from the HDD.
3.
Return requested data to the host.
4.
Populate the cache to SSD.
Read Data with Cache Hit
The following figure shows the steps of the controller which handles a host read request
when the data is in the SSD cache.
1. Read
3. Return Data
Memory Cache
Data
2. Read from SSD
SSD
Copyright@2004~2014 Qsan Technology, Inc. All Rights Reserved.
4. Read from HDD
(SSD Failure Case)
HDD
5
Qsan Document – White Paper
The following steps describe details about a host read with a cache hit:

1.
A host requests a read data.
2.
Read data from the SSD.
3.
Return requested data to the host.
4.
If SSD has error, read data from the HDD.
Write Data
The following figure shows the steps of the controller which handles a host write request.
1. Request Write
3. Return Status
Memory Cache
Data
4. Populate Cache
SSD
2. Write to HDD
HDD
The following steps describe details about a host write:
1.
A host requests a write data.
2.
Write data to the HDD.
3.
Return the status to the host.
4.
Populate the cache to SSD.
I/O Type
The type of I/O access is a user-selectable SSD cache configuration. The user-selectable I/O type
controls the SSD cache internal settings for cache block size, sub-block size, populate-on-read
threshold, and populate-on-write threshold. Three pre-defined I/O types are supported; they are
database, file system, and web service. The user can select an I/O type to set the SSD cache of a
virtual disk. When enabled SSD caching, the user can also change it online. But the cached data
would be purged if the I/O type is changed. You may select the suitable I/O types depends on the
Copyright@2004~2014 Qsan Technology, Inc. All Rights Reserved.
6
Qsan Document – White Paper
application to get the best performance. If the above three applications are not suitable, the last
item is customization which you may set the configurations by yourself.
I/O Type
Database
File System
Web Service
Customization
Block Size
(Sectors)
1MB (2,048)
2MB (4,096)
4MB (8,192)
1MB/2MB/4MB
Sub-block Size
(Sectors)
8KB (16)
16KB (32)
64KB (128)
8KB/16KB/64KB
Populate-onRead Threshold
2
2
2
≥0
Populate-onWrote Threshold
0
2
0
≥0
The block size affects the cache use and the warm up time. The cache use shows how much of the
allocated cache actually holds the user data. And the warm up time is the process of how long to
fill the cache. You can image that the highest cache use is obtained when all of the frequently
reread data is located very close to other data that is frequently reread. Using a larger cache block
size of I/O type is more useful to performance than a smaller one. Conversely, when frequently
reread data is located far from other data that is frequently reread, the lowest cache use is
obtained. In this case, the lowest cache block size of I/O type allows the most user data to be
cached.
The sub-block size affects the cache warm up time, too. A larger sub-block size causes cache to fill
more quickly than a smaller one, but it can also affect the response time of host I/O. Also occupy
the system resource, such as CPU utilization, memory bandwidth, or channel utilization. A very
high locality of reference can be more useful from a larger sub-block size than from a smaller one,
especially if those blocks that are reread frequently reside in the same sub-block. This occurs when
one I/O causes the sub-block to be populated and another I/O in the same sub-block gets a cache
hit.
These are tradeoff depend on the applications. Users may set them by experience to get the best
performance. Here we provide a formula which can calculate the estimate warm up time.
We define that

T: Warm up time; seconds required.

I: Best random IOPS of HDD.

S: I/O Size.

D: Number of HDDs.

C: Total SSD caching capacity.

P: Populate-on-read or Populate-on-write threshold
We assume that random read/write from HDD to achieve the capacity of SSD should be
Copyright@2004~2014 Qsan Technology, Inc. All Rights Reserved.
7
Qsan Document – White Paper
C * P = I * S *D * T
So we can estimate the warm up time, at least.
T = (C * P) / (I * S * D)
The real case may be longer than the estimate time. Here we take an example on the following.

I: 250 IOPS (Random IOPS per HDD)

S: 64KB (Web service)

D: 16 HDDs

C: 480GB (1 SSD)

P: 2 (Populate-on-read threshold)
Warm up time T = (480GB * 2) / (250 * 64KB * 16) = 3932.16 seconds = 65.536 minutes
Configuration
Activate the license key
User needs to obtain a license key and download it to the system to activate the SSD caching
function in System Maintenance -> Upgrade -> SSD Caching License. Each license key is unique
and dedicated to a specific system. To obtain the license key, please contact sales for assistance.
Take an example of enabling SSD caching.
1.
After creating a virtual disk, click▼ -> Set SSD Caching of the selected virtual disk.
2.
Check Enable box.
3.
Select the policy by drop down menu.
4.
Click Select Disks button, and then check the SSDs which are provided for SSD caching.
5.
Click OK button to enable SSD caching.
Copyright@2004~2014 Qsan Technology, Inc. All Rights Reserved.
8
Qsan Document – White Paper
Constraint
Here are some constraints about SSD caching.

Only SSD could be used SSD caching space of a virtual disk.

A SSD could be assigned to one and only one virtual disk as its caching space.

Up to 8 SSDs could be used as SSD cache of a virtual disk.

Support up to 2.4TB of SSD caching space in one system.
Test Result
Here is the configuration and test result.

HDD: Seagate Constellation ES, ST1000NM0011, 1TB, SATA 6Gb/s (x8)

SSD: Intel SSD DC 3500, SSDSC2BB480G4, 480GB, SATA 6Gb/s (x5)

RAID Group: RAID 5

I/O Type: Database Service (8KB)

I/O Pattern: 8KB, Random Read 90% + Write 10%
According to the formula, we assume the warm up time
T = (C * P) / (I * S * D) = (2TB * 2) / (244 * 8KB * 8) = 275036.33 seconds = 76.40 hours
Copyright@2004~2014 Qsan Technology, Inc. All Rights Reserved.
9
Qsan Document – White Paper
Virtual
Disk Size
2TB
2TB
Disable
SSD
Caching
(IOPS)
SSD
Capacity
Enable SSD Caching
Before
Warm up
Populating
Time
(IOPS)
After
Populating
(IOPS)
962
2.4TB
75hr
964
1942
Improved
202%
201%
Last, we provide a chart for the relationship between IOPS and warm up time for reference.
SSD Caching Warm Up
2500
2000
1500
1000
500
0
0 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75
Applies To

AegisSAN Q500: FW 1.3.0

AegisSAN LX FW 3.4.0
Copyright@2004~2014 Qsan Technology, Inc. All Rights Reserved.
10
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising