High Performance Flash Memory Solid State Disk

Performance evaluation of i/o workloads

Flash-based solid state disks (SSD) is a performance based data storage technology that optimizes the use of flash-based technology to implement its data storage capabilities compared with mechanically available data storage technologies (Park & Shen, 1). Technically, the promise for better performance of the SSD technology is based on the use of the NAND technology or the NOR technology as an advantage over mechanically moving parts which are characterized by a functional latency period that significantly impact on the operational efficiency of mechanically moving data storage technologies.

With that advantage in mind, it is projected that performance anomalies related to latency characteristic of mechanically moving storage devices can significantly be minimized with the use of flash-based SSD technology as argued by (Park & Shen, 1). The growth and use of flash memory storage have been experienced in the recent past with its application typically evident in the form of SSD storage. Park and Shen document the fact that this technology has been used widely in databases and consumer notebooks with a typical example being in Google’s network servers.

A number of performance benefits have reinforced the rationale to adapt to the new data storage technology. These include the comparatively low power consumption typical of SSDs servers, a high potential of dependability, and data intensive mechanisms that are scientifically reliable (Park & Shen, 1). These data intensive data manipulation capabilities are uniquely characteristic of input/output operations, parallel and concurrence computations, and the ratio between reading and write operations.

Park and Shen attempt to demonstrate the rationalee of the high performance characteristics of SSD technology on flash disks by scientifically examining the performance gaps of SSD technologies (1). Typically, their examination was based on parallel computing where a single data storage point served to provide storage services for multiple processes (Park & Shen, 1).

Typically, flash memory is an aggregate of memory blocks that are characterized by pages on which read and writes operations are done. Additional out of band regions are added to each block to accommodate the storage of metadata and other data recovery information. Thus the performance levels of flash-disk SSD devices are superior to mechanically driven data storage devices (Park & Shen, 1). However, theory and practice have indicated that flash memory is limited in the read and write operations when erasing previously occupied areas to allow for the writing of data. The limitation is further upped by the erase granularity that occurs at block level.

Park and Shen demonstrate the fact that flash-memory SSD storage devices are categorized into single-cell levels which are determined by the amount of the voltage level of each cell and multi-level cells which are similarly influenced by the capacity of storage cells for each device (2).

The performance Flash-based SSDs has further been evaluated at the consumer levels where the IOzone performance benchmark has been applied. That has yielded various access patterns on different data access strategies particularly sequential and random strategies (Park & Shen, 2).

The sequential methodology based on scientifically applied workloads was conducted by evaluating information on the performance characteristic of the target storage device with a sequential access mechanism. On the other hand, a parallel access mode was also used where a single data storage device was used to evaluate the performance characteristics of the flash-memory SSD technology.

Results indicated that SSD technology showed superior data access compared with mechanical data access mechanisms. Arguably, the performance gains were, however, minimal. Nonetheless, it was realized that the performance gains on by SSD devices could be realized due to the write intensive nature of its operations.

It was further realized that the operational efficiency of SSD storage devices was due to the mechanical latency characteristic of mechanical data storage devices particularly due to the parallel architecture where seek time is minimized when conducting a seek operation. Vindicating the fact that SSD data storage technology is operationally more efficient than mechanically moving storage devices. However, a comparative study of in the performance of Solid State Devices Vs Mechanical Disks is important to crystallize the differences further and reinforce the rationale of shifting to the technology (Park & Shen, 4).

Solid state devices vs mechanical disks

It has been argued in theory and practice that SSD devices are better performers compared with mechanical devices. To study and crystallize the differences, a small experiment could be set up to demonstrate the differences. That is based on IOZone commands, as mentioned above. In the set-up, IOZone uses a single thread where any memory element is accessed singly.

In the set-up, tests are performed repeatedly and each request must be equivalent to or below 64 KB. An ext3 file is used in this case. It is important to note that the available cache strongly influences the outcome of the experiment. Borrowing from Polte, Simsa and Gibson, cache interference when measuring performance can be minimized by use of a large memory file is used while input/output requests are designed to overwhelm the available memory (2).

As mentioned above, the access mechanism strongly influences the performance of flash SSD devices. The use of IOZone enables tests on data access and storage speeds to be evaluated. In addition to that, the CPU speed, the operating system, and DRAM sizes are assumed to have minimal or no impact on the outcome of the experiment.

Typical requirements demand before flash is used, it has to be cleaned or erased. To enhance the efficiency of the erase operation, flash memory is organized into pages or blocks equivalent or lower than 64 KB. It is important not to allow erase amplification to interfere with the experiment. However, in the observations by Polte, Simsa and Gibson, the writing operation on a flash device is expensive (2). To cater for that, an SSD controller is allowed to maintain a collection of pre-erased pages to enable efficient access to data and storage reallocation. The following table provides a summary of findings when the IOZone test was conducted for the write and read operations that were characteristically sequential and random read and write operations using available hardware devices in the market as tabulated in table 1 below.

Request size (KB) Memoright GT Intel X25-M ionIO ioDrive 10K RPM 7200 RPM
4 87.8 218 425.8 60.4 47.1
8 87.4 197 433.7 62.6 47.4
16 87.2 209 430.1 63.2 47.3

Table 1. Sequential reads.

Other findings not tabulated above are analytically discussed below.

Typical results of sequential reads indicate that magnetic disks provide a comparatively better operational efficiency based on cost vis a vis memory size. On the other hand, sequential read operations indicate better operational efficiency compared with mechanically driven memory access devices. However, SSD technology driven storage devices show similar results or a small deviation between the technologies. On the other hand, random read and write operations show better performance as compared with magnetic storage devices.

In an economic perspective, online surveys need to be conducted to crystallize the differences to credit any of the memory access technologies.

Having conducted a small comparative experiment on solid state devices vs mechanical disks, it is important to discuss about Performance Design Tradeoffs for SSD.

Performance design tradeoffs for SSD

Agrawal, Prabhakaran, Wobber, Davis, Manasse and Panigrahy detail the performance design requirements to solve the problem of data storage associated with magnetic storage devices (1). SSD pegs its performance capacity on data placement across an SSD chip as that allows the device to efficiently achieve data leveling and effective load balancing. Another performance variable is the bandwidth of the SSD device. To improve the efficiency of a flash memory SSD device, it needs to be designed to computationally support parallel operations. In addition to that, it is important to note that work load balancing has to be achieved during the operations since performance is strongly influenced by effective work-load balance.

Agrawal, Prabhakaran, Wobber, Davis, Manasse and Panigrahy argue that increasing demands on functional efficiency of flash memory SSD devices have placed new demands for new design approaches to meet the new and upcoming challenges on performance issues (3). A detailed discussion on approaches of achieving performance characteristics is discussed below.

Parallelism and interconnectivity can be achieved by use of an array of pins connected in series to when complete connectivity is achieved. These techniques include allowing each element to accept parallel requests using an algorithm that optimizes access for each element servicing the request. Another method is the use of ganging. A gang provides the ability to service multi-page requests thus reducing the possibility of queuing requests requesting for services. That further improves the performance of the SSD device. Another design strategy to enhance the performance of the SSD device is interleaving. Interleaving allows the SSD device to reduce the mechanical latency typical of magnetic devices. Mechanical latency reduces the optimal functionality of magnetic devices, a critical disadvantage of magnetic devices over SSD devices.

It is therefore worth improving the performance of flash SSD memory devices on the techniques of applying ideal workloads to achieve effective workload balancing. Improved performance can however, be achieved through interplay between hardware and software. It is important to remember that performance goals can further be achieved by balancing between allocation pools and an effective data management scheme. On the other hand, an algorithmic approach on upping the efficiency of these devices calls for the appropriate use of the right algorithm. One of the algorithmic approaches is the use of a caching algorithm.

Caching algorithm

One typical consideration in this case is a caching algorithm to optimize the efficiency of flash memory SSD devices. It is also important to realize that in the recent past, the use of SSD data storage technology has been on the rise. Typically, these applications are heavily dependent on the performance of input/output operations. It has, in practice, been known that the write operation on an SSD device is much slower than the read operations. Further knowledge on the operational efficiency under the read and write operations indicate that the efficiency of flash disk device degraded with time. One approach is to use the Large Block CLOCK algorithm, also referred to as the LB-CLOCK algorithm (Debnath, Subramanya, Du & Lilja, 2).

This algorithm typically focuses on recency and the level at which a block of memory or pages are utilized. The LB-CLOCK algorithm bases it operations on the granularity of logical blocks and uses a greedy approach to select the first block to perform its operation on. In this case, the block with the largest space for utilization is selected from a set referred to as the victim candidate set. The creation of the victim candidate set occurs dynamically. Both the sequential and the preemptive detection approaches are used by the LB-CLOCK algorithm to identify the most appropriate block to become the victim candidate set (Debnath, Subramanya, Du & Lilja, 5).

In the operating environment of the LB-CLOCK algorithm, the cache memory is partitioned into a number of blocks arranged in a sequential list in a SSD data storage device. The number of pages belonging to each block is equivalent to N. N is determined by the size of each block of a page. A reference bit is used to uniquely identify each block in the cache area. It is worth noting that each bit is set at the time of accessing the given block of data (Park, Jung, Kang, Kim & Lee, 5).

The algorithm uses a clock pointer for each block occupying the cache memory. The block replacement policy of the LB-CLOCK algorithm is based on the recency policy and the amount of available space in the cache for utilization. The process goes on until a block with its recency value set to zero is identified. Once such a block has been identified, it is immediately considered to be a victim candidate, hence becoming a victim block. A victim block satisfies some conditions. It has the highest number of pages and the largest memory space to be utilized (Debnath, Subramanya, Du & Lilja, 6).

To optimize on its performance, the LB-CLOCK algorithm uses two candidate selection strategies. One such is to select its victim preemptively. The preemptive selection strategy prioritizes access on recency and space utilization (Hutsell, 3). That relies on a workload’s locality. Moderate workloads allow fewer block evictions. However, the algorithm endeavors to strike a balance between recency and space utilization (Megiddo & Modha, 3).

The other approach is the sequential write election. This criterion is based on the argument that recently written pages are less likely to be accessed in the near future. Such a block is placed at the tail of the LRU list. Thus, the LB-CLOCK algorithm dynamically uses the two metrics, recency and space utilization to assign priorities to blocks of data in a SSD environment. It is important to consider a typical scenario where SSD is applied. One of these is the Linux environments (Debnath, Subramanya, Du & Lilja, 8).

The Linux environment

In the Linux environment, I/O requests are fulfilled through system calls through the interface of the filesystem-agnostic which has specific knowledge of the exact organization of data and metadata on a specific storage device. SSD does not experience seek time penalties in this environment (Seppanen, Keefe & Lilja, 11). However, the Linux operating system allows for direct access to data without the need to use its filesystem (Silberschatz, Galvin & Gagne, 2). That allows a SSD device to function optimally by bypassing the kernel and its buffer cache (Kim, Moon, & Yeom, 2).

Works Cited

Agrawal, N, Prabhakaran, V Wobber, T., Davis, J. D., Manasse, M. & Panigrahy, R. Design Tradeoffs for SSD Performance. Microsoft Research. Madison. n.d.

Debnath, Biplob, Subramanya, Sunil, Du, David, Lilja, David J. Large Block CLOCK (LB-CLOCK): A Write Caching Algorithm for Solid State Disks. University of Minnesota, Twin Cities.

Hutsell, W. “Solid State Storage for the Enterprise,” in SNIA Tutorial, 2007.

Kim, I., J. Moon, J & Yeom, H.Y. Timer-based interrupt mitigation for high Performance packet processing. In Proceedings of 5th International Conference on High-Performance Computing in the Asia-Pacific Region, September, Gold Coast, Australia, 2001.

Megiddo N. & Modha, D. ARC: A Self-tuning, Low Overhead Replacement cache, in FAST, 2003.

Park, S. & Shen, K. A Performance Evaluation of Scientific I/O Workloads on Flash-Based SSDs. University of Rochester, Rochester. New York. n.d.

Park, S., Jung, D., Kang, J., Kim, J. & Lee, J. CFLRU: A Replacement Algorithm for Flash Memory,” in CASES, 2006.

Polte, Milo Simsa, Jiri, & Gibson, Garth. Comparing Performance of Solid State Devices and Mechanical Disks. 2008.

Seppanen, Eric, Keefe, Matthew T. O’& Lilja, David J. High Performance Solid State Storage Under Linux. University of Minnesota. Minneapolis.n.d.

Silberschatz ,A., Galvin, P., & Gagne,G. Operating System ConceptsJohn Wiley & Sons, Inc., 2004.

Cite this paper

Select style

Reference

StudyCorgi. (2022, March 10). High Performance Flash Memory Solid State Disk. https://studycorgi.com/high-performance-flash-memory-solid-state-disk/

Work Cited

"High Performance Flash Memory Solid State Disk." StudyCorgi, 10 Mar. 2022, studycorgi.com/high-performance-flash-memory-solid-state-disk/.

* Hyperlink the URL after pasting it to your document

References

StudyCorgi. (2022) 'High Performance Flash Memory Solid State Disk'. 10 March.

1. StudyCorgi. "High Performance Flash Memory Solid State Disk." March 10, 2022. https://studycorgi.com/high-performance-flash-memory-solid-state-disk/.


Bibliography


StudyCorgi. "High Performance Flash Memory Solid State Disk." March 10, 2022. https://studycorgi.com/high-performance-flash-memory-solid-state-disk/.

References

StudyCorgi. 2022. "High Performance Flash Memory Solid State Disk." March 10, 2022. https://studycorgi.com/high-performance-flash-memory-solid-state-disk/.

This paper, “High Performance Flash Memory Solid State Disk”, was written and voluntary submitted to our free essay database by a straight-A student. Please ensure you properly reference the paper if you're using it to write your assignment.

Before publication, the StudyCorgi editorial team proofread and checked the paper to make sure it meets the highest standards in terms of grammar, punctuation, style, fact accuracy, copyright issues, and inclusive language. Last updated: .

If you are the author of this paper and no longer wish to have it published on StudyCorgi, request the removal. Please use the “Donate your paper” form to submit an essay.