9 » IC Electronic information » Category: I

IC Electronic information

IO cache and RAID to improve the methods

In Electronic Infomation Category: I | on April 14,2011

Several indicators to measure performance

calculation, we can see a 15k rpm disk read and BR24C64F-E2 datasheet and write access in the case of random IOPS, there are only 140 or so, but in practice we have been able to see a lot of even marked 5000IOPS higher storage systems, there is such a large storage system IOPS how come? This would be attributed to the use of various storage technologies, and BR24C64F-E2 price and in the storage technology is the most widely used high-speed cache (Cache) and BR24C64F-E2 suppliers and disk redundancy array (RAID), and this will increase the array of memory cache and disk IO performance.

Cache (Cache)

In the present range of storage products, in accordance with the speed from fast to slow should be the memory> flash memory> disk> tape, yet the faster means higher prices, although flash memory is the momentum good, but it is still not popular because of price, so now is the era of a disk for Overlord. Compared with the CPU and memory speed, disk speed is undoubtedly the biggest bottleneck in computer systems, so you must use the disk in and want to improve performance, people come up with a high-speed embedded in the disk memory to store frequently accessed data to improve the efficiency of the method of reading and writing to a compromise solution, this is called the embedded memory cache.

Said cache, its application is now everywhere, from the application at the top, to the operating system layer, to the disk controller, as well as the internal CPU, a single disk there are also internal cache, all of which cache exists for the purpose are the same, is to increase the efficiency of the system implementation.

Course, here we mention only the cache associated with the IO performance, and IO performance are directly related to the number of cache is the file system cache (File SySTem Cache), the disk controller cache (Disk CONtroller Cache) and the disk cache (Disk Cache, also known as Disk Buffer), but when calculating the system performance when a disk file system cache is not taken into account, our study is to focus on the disk controller cache and disk cache.

Both controller cache or disk cache, their role is mainly divided into three parts: the cache data, pre-reading (Read-ahead) and write-back (Write-back).

Cached data

First read off the system data will be cached in the cache, so the next time you need to read the same data again, when do not have the access to the disk, taken directly from the cache data on it. Of course, the data can not be used permanently retained in the cache, the cache data that is generally taken to manage the LRU algorithm, the purpose of the data is not long removed from the cache, which is often able to remain in access to the cache until the cache is cleared.


Read-ahead algorithm is the use of pre-reading system IO request in the absence of prior data when read from disk into the cache, then read IO requests in the system, when issued, will be realized to check to see inside the cache the existence of the data to be read, if there is (that hit), then return the results directly, and this time the disk is no longer needed addressing, rotate wait, read this sequence of operation, and this is saving a lot of time a; If you do not hit the disk and then read the real issue the command to fetch the required data.

Cache hit rate with cache size of a great relationship, in theory, the larger the cache, then, can the more the cached data, so naturally the higher the hit rate, of course, the cache can not be too large, After all, the cost over there. If a large capacity storage system is equipped with a small read cache, then the problem will be bigger this time, because the small amount of data cache buffer is very small compared to the proportion of the entire storage system is very low, so random read to take (the database system in most cases) when the hit rate also naturally low, so that not only fail to improve the efficiency of the cache (because most of the time to read the disk IO is even), but because of the cache every time to match the waste of time.

The read IO operation is present in the cache read data quantity and the ratio of all the data to be read as cache hit ratio (Read Cache Hit Radio), assuming a storage system without the use of random case of small cache IO read to achieve 150IOPS, and it provides 10% of the cache the cache hit rate, then in fact it can achieve 150 IOPS / (1-10%) = 166.


Have to say about, for the write-back function is called that part of the cache write cache (Write Cache). Opened in a write cache memory, the operating system IO issued a series of write commands and the execution will not be one by one, the IO write command will first write cache, and then a one-time changes to the cache implementation to disk, which is equivalent to the same number of IO that merge into one, continuous operation of the small number of merged into one large IO IO, there is more than random write IO will become a continuous write IO so that we can reduce the disk addressing such operations consume time and greatly improve the efficiency of disk writes. While

read cache efficiency is obvious, but it brings more serious problems, because the memory cache and the general, as data will be lost after the loss of all points, when the operating system to issue commands to write the write IO After the cache is written is considered successful, but in fact the data is not really written to disk, then if the power-down, the cache data is lost forever, this is disastrous for application , currently the best way to solve this problem is to cache with a battery, to ensure that data can be stored in the cache after power-down shown with preserved. Like

and read, write, there is also a write buffer cache hit ratio (Write Cache Hit Radio), and read cache hit, but the situation is different, despite the cache hit, nor can dispense with the actual of the IO operation, but only merged only.

Controller cache and disk cache in addition to the role of the above in addition to assume the role of other, such as the disk cache has preserved the function of IO Command Queuing, a single disk IO can only handle one command, but it can receive multiple IO command, the access to the disk without being processed in order to save the IO in the cache queue.

RAID (Redundant Array Of Inexpensive Disks)

If you are a database administrator or frequent contact with the server, it should be very familiar to the RAID, as the most affordable storage solutions, RAID has long been in the server storage in popularity. All levels in the RAID, should be to RAID10 and RAID5 (but have basically run out RAID5, RAID6 is rising, look here to find the next reason) the most widely used. The following will RAID0, RAID1, RAID5, RAID6, RAID10 which started several levels of RAID disk arrays that look for disk performance, of course, read the following before you have all levels of RAID on the structure and working principle should be familiar with because as his head so as not to fog, as recommended above, see wikipedia entry: RAID, Standard RAID levels, Nested RAID levels.


RAID0 striping data (striping) to continuous data spread across multiple disks for access, the system issued by the IO command (regardless of read and write IO IO are the same) can be parallel in the implementation of the disk each disk individually request that part of the implementation of their own, parallel IO operations that can greatly enhance the overall storage system performance. Suppose a RAID0 array has n (n> = 2) disks, each disk IO capacity of random read and write has reached 140, then the IO capacity of the disk array will be 140 * n. And if the transmission capacity of the array allows the bus, then RAID0 throughput will also be a single disk n times.

BR24C64F-E2 datasheetBR24C64F-E2 suppliersBR24C64F-E2 Price

All right © 2010-2016 Certificate