Unformatted text preview:

Flash Drives Performance Study Based On Benchmarks Chong Sun and Yupu Zhang Computer Sciences Department University of Wisconsin Madison Abstract Flash drives bring us the promise of both good random read and sequential access performance and has great potential of replacing hard disk drives in many places However there are not many literatures on systematic study of the real I O performance on the flash drives Even though some performance study of flash drives may have been conducted by the manufacturers they are generally confined within the companies Many performance parameters on flash drives are not made public or hidden on purpose by the manufacturers and it is difficult for us to understand the performance characteristics Flash drives with nice properties e g good random read performance has shown great potential to replace the current dominant storage medium hard disks However there are not many literatures that have conducted comprehensive study on the flash drive performance In this paper we aim to design a systematic strategy to efficiently measure the performance parameters of flash drives We propose several novel benchmarks to exploit the performance for us to better understand some interesting and erratic performance behaviors of flash drives In this paper we aim to design a systematic strategy or benchmark to efficiently measure the performance parameters of the flash drives Initially we conduct experiments with our designed benchmarks based on the basic flash drives knowledge Then we interpret the performance results that match our knowledge and redesign the benchmarks to exploit the erratic I O performance We recursively refine our benchmarks until we collect enough drive parameters to systematically understand the I O performance of the flash drives Note that we generally need to provide assumptions for some parameters first and then design specific benchmarks to test according to our assumptions Therefore we may not thoroughly test all the useful parameters but we do systematically get the parameters within our assumptions We find some very interesting I O performance behaviors which can be effectively interpreted by the parameters we get with the designed benchmarks 1 Introduction The largest obstacle that has been affecting I O systems is no longer the storage volume nor the throughput but the terrible random access performance of the hard disk drive Due to the limit of mechanical rotating speed high cost on position seeking seems to be unavoidable for random disk access in the near future The advent of flash memory pushes things a great step forward for its nice property of great random read performance It is broadly recognized that flash memory can conduct uniformly random read without seek time as in hard disk drives Besides flash memory generally has small size and less weights compared with hard disks Another attractive property is that it is both shock resistant and immune to extreme temperatures Though flash memory still has high cost bit compared with hard disk drives the volume of flash drive has been gradually increasing and corresponding the price has been dramatically decreasing Recently common laptops has begun to be configured with 32G or 64G flash based solid state disks and we can even buy 2GB USB flash drives with less than 20 dollars More importantly currently many companies with large data centers e g Google are spending a huge amount of money has on powering and cooling their hard disk drives Flash memory drives generally consume much less power and produce less heat thus saving much money We organize our paper as follows First we give some background knowledge about flash drives in Section 2 Then in Section 3 we design the prototype benchmarks to conduct some basic experimental study on the read and write performance In Section 4 we propose several new benchmarks to exploit performance and interpret some irratic results Section 5 presents several related work Finally we give a conclusion and talk about the future work in Section 6 1 2 Background Operation Read Write Erase A flash drive is usually composed of one or more flash memory chips and a Flash Translation Layer FTL whose organization is illustrated in Figure 1 Unit 4KB Page 4KB Page 256KB Block Time 25us 200us 700us 1 2ms 2ms Table 1 NAND Flash Operation Parameters 14 block functionality and hiding the erase latency Therefore flash memory can be used as a normal block storage device in current operating systems without modifications FTL performs logic to physical address translation In order to hide the erase latency FTL usually redirects write requests to a free block which is erased in advance Thus FTL must maintain internal logic to physical mapping information and always keep it updated Generally there are three types of translation schemes page mapping FTL 7 block mapping FTL 5 log block FTL 9 which combines both block level mapping and page level mapping A page mapping scheme requires that the FTL maintains a large page table such that any logical page address can be mapped to any physical address This scheme has best performance but it costs large space especially when the capacity is large So this scheme is not suitable for mass storage device In a block mapping scheme the logical address is divided into two parts a logical block number and a physical page offset So FTL only maintains the mapping from logical block number to physical block number but the physical page offset is invariant to the remapping This reduces the size of page table greatly but it s so restrictive that any page can only be mapped into a fixed offset in a block Log block FTL takes advantage of both mapping scheme such that blocks and pages can be both remapped to a type of block called log blocks such that write performance is increased Please refer to 9 for details of this mapping scheme In log block FTL there are mainly four types of blocks data block log block free block map block Data block is used to store data Log block is always associated with a data block used to hold updates of pages in that data block All log blocks are stored in a list called log block list Free block is is allocated from a pool to be used as log block or data block Map block is used to maintain mapping information Generally assuming the target block is full FTL handles write requests like this When a write request arrives it checks whether the target block has a log block or not If it has then this request will be


View Full Document

UW-Madison CS 736 - Flash Drives - Performance Study Based On Benchmarks

Documents in this Course
Load more
Loading Unlocking...
Login

Join to view Flash Drives - Performance Study Based On Benchmarks and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Flash Drives - Performance Study Based On Benchmarks and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?