Overview
SmartCache leverages the advantage of solid state disks (SSDs) in their fast access to random small I/Os. It combines one or more SSDs into a high-speed cache pool to store hotspot random small I/Os in the storage system. In this way, the read performance and access efficiency of random small I/Os are improved.
Context
The development of the multi-core CPU technology greatly improves the CPU processing capability, which is much stronger than the processing capability of hard disks. The performance gap between front-end application servers and back-end storage systems is widened. The response time of storage systems becomes the bottleneck of service processing. Therefore, the performance of a service system cannot be optimized only by improving application servers' CPU processing capability. The early workaround to shorten the previous performance gap was to add expensive cache resources. However, as the capacity of back-end storage systems constantly increases, this workaround is not effective any more.
SSDs deliver a short response time, and their capacity is much larger than ordinary cache resources. Because of these highlights, SSDs gradually become a mainstream data cache medium for storage systems. The cache resources made of SSDs deliver a shorter response time and a higher data access efficiency.
Definition
SmartCache is a new caching technology that uses SSDs as cache resources. The storage system makes statistics on the access frequencies of data blocks, and promotes the hotspot read data that are frequently accessed random small I/Os from traditional hard disk drives (HDDs) to the high-speed cache pool of SSDs. The data read speed of SSDs is much faster than that of HDDs, so SmartCache considerably shrinks the system response time and improves the system performance. SmartCache does not interrupt existing services or compromise data reliability.
Availability
SmartCache is a licensed feature. It is compatible with all the other features in the storage system.
License Requirement
A license file defines the permission to use SmartCache.
Before using SmartCache, log in to the Integrated Storage Manager (ISM) to confirm that the activated license already permits SmartCache, and the permission has not expired.
If you want to purchase a license file of SmartCache, contact Huawei Technologies Co., Ltd.
Applicable Versions
Product | Applicable Version |
|---|---|
S2600T/S5500T/S5600T/S5800T/S6800T | V100R005 |
Capacity Requirement
SmartCache improves the read performance of random small I/Os on a per-LUN basis. Therefore, the LUN capacity must meet the requirement for using SmartCache. Table 1 lists the upper limits on the total capacity of LUNs under which SmartCache can be enabled.
Table 1 Upper limits on the total capacity of LUNs
Product | Total Capacity of LUNs (TB) |
|---|---|
S2600T | 16 |
S5500T | 32 |
S5600T | 32 |
S5800T | 64 |
S6800T | 64 |
SmartCache also imposes an upper limit on the total capacity of SSDs in the SmartCache pools. Table 2 lists the upper limits on the total capacity of the SmartCache pools.
Table 2 Upper limits on the total capacity of the SmartCache pools
Product | Total Capacity of the SmartCache Pools (GB) |
|---|---|
S2600T | 1200 |
S5500T | 1200 |
S5600T | 2400 |
S5800T | 3600 |
S6800T | 4800 |
Principles
This section introduces SmartCache implementation principle and data read processes.
Performance statistics
The storage system arranges data blocks on LUNs based on their sizes, and monitors the data blocks within a specific period in real time. In this way, the storage system finds out the access frequency to each data block within that period.
Performance analysis
The storage system ranks data blocks based on their access frequencies, and regards the data blocks with high access frequencies as hotspot data.
Data copy
The storage system copies the hotspot data into the SmartCache pools in background.
NOTE:
The source data of hotspot data is still stored on hard disks in the storage system. The data stored in the SmartCache pools is only backup copies. Therefore, even if one solid state disk (SSD) in a SmartCache pool is faulty, the data reliability is not compromised.
In the next statistics period, the storage system starts another statistics on the access frequencies to data blocks, and updates the rank of data blocks. This ensures that the data in the SmartCache pools is constantly hot.
Processing Procedure
SmartCache uses SSDs to enhance ordinary cache resources and store hotspot data, greatly improving the read performance of the storage system.
Figure 2 and Figure 3 compare the data read processes before and after SmartCache is enabled.
Figure 2 Read process before SmartCache is enabled

After SmartCache is enabled, hot data is mixed with cold data on hard disk drives (HDDs). After the storage system receives a read request from an application server, it forwards the request to HDDs for processing, and returns the data read from HDDs to the application server. HDDs require seek time to read data, which adversely affects the data read performance.
Figure 3 Read process after SmartCache is enabled

After SmartCache is enabled, the storage system starts to detect hotspot data within a statistics period, and copies the hotspot data into the SSDs in the SmartCache pools. After the storage system receives a read from an application server, it directly reads hotspot data from SSDs and then returns the data to the application server. Compared with HDDs, SSDs do not require seek time. Therefore, the performance in reading hotspot data is remarkably improved.
Non-hotspot data can still be read from HDDs with SmartCache enabled.
Application Scenarios
SmartCache is especially suitable for application scenarios where some random small I/Os are frequently processed, and read operations are more than write operations. In such a scenario, SmartCache can greatly improve system read performance.
Table 1 Typical application scenarios of SmartCache
Scenario | Feature | Performance Improvement |
|---|---|---|
Web server applications |
| Improved by five times. |
File server applications |
| Improved by two times. |
For example, an e-commerce system of an enterprise provides the applications of user registration, product browsing, and order subscription. Table 2 lists the percentage of each type of applications.
Table 2 Percentage of applications
Application | I/O Class | Percentage |
|---|---|---|
User registration | Write I/Os | 10% |
Product browsing | Read I/Os | 50% |
Order subscription | Write I/Os | 20% |
Order transaction | Write I/Os | 10% |
Order browsing | Read I/Os | 10% |
Table 2 shows that the majority applications in the e-commerce system are read applications. Therefore, SmartCache is recommended for the e-commerce system to improve the data read performance. The result proves that after SmartCache has been running for a while, the data IOPS and response time are greatly improved.Figure 1 and Figure 2 compare the data IOPS and response time before and after SmartCache is enabled.
Figure 1 Change of IOPS

Figure 2 Change of response time

After SmartCache is enabled, the storage system starts collecting statistics on hotspot data, and gradually copies hotspot data to the SmartCache pools. Then a part of read I/Os can be hit in the SmartCache pools, and the IOPS is increasing. After all hotspot data is copied to the SmartCache pools, most read I/Os can be hit in the SmartCache pools. Then the IOPS becomes stable and is four times larger than the IOPS before SmartCache is enabled. Most read I/Os can be hit in the SmartCache pools, so the response time is greatly shortened.
