• No results found

In this thesis, We tried to address the issue of SSD performance towards random write workload. We propose a buffer management scheme which tries to access all elements of an SSD in parallel by utilizing its architectural design. The basic idea is to buffer requests into DRAM, reshape the write access pattern and create a group of requests from which each request targets individual element. EPO exploits element-level concurrency and significantly reduces the mean response time and improves the throughput. One very important thing to take care about using cache is to save all the data in cache when power failure occurs, but there are other algorithms can be developed to minimize the number of writes to flash when power failure happens. Comparing with non-volatile RAM and enhanced FTL engine developing approaches, EPO has several advantages: (1) its hardware cost is low as it requires very small size of cache, (2) it requires trivial change in the FTL and it’s very easy to implement, and (3) the algorithm is very simple to implement in real applications. EPO outperforms other three algorithms including LRU and BPLRU. Especially, EPO improves in mean response time by 63.8% and 49.5% than that of LRU and BPLRU when SSD is in its default configuration (cache size 8MB, page size 4KB, number of elements 48).

In my current thesis, we assumed each write request is of one page size and modified the size of each request in all traces we used, to one page. Another important assumption we made is, each requested LBA is page aligned. We are planning to extend my experiments with unaligned LBA and request size not equals to one page as a future work. We are

planning to implement full cache management policy inside the SSD extension by Microsoft research [28] as this extension does not provide any cache management function. Further improvement can be made by exploiting the SSD architecture even deeper and accessing planes in parallel, interleaving between read and write requests. We are also going to develop SSD disk array level cache management schemes not only to improve the random write performance but also to increase SSD life span.

BIBLIOGRAPHY

[1] Wikipedia.org. Hard Disk Drive, 2008. http://en.wikipedia.org/wiki/Hard_disk_drive, accessed June 2008.

[2] Wikipedia.org. Hard Disk Platter, 2008.

http://en.wikipedia.org/wiki/Hard_disk_platter, accessed June 2008. [3] Overington Pc Repairs. Hard Drive Recovery, 2011.

http://www.overingtonpcrepairs.co.uk/id3.html, accessed Mar. 2011.

[4] Tabor Communications, Inc. Back to the Future: Solid-State Storage in Cloud Computing, 2010. http://www.hpcinthecloud.com/features/Back-to-the-Future-Solid- State-Storage-in-Cloud-Computing-95115559.html, accessed Aug. 2010.

[5] X. Yu. Trading capacity for performance in disk arrays. Ph.D. dissertation, Princeton University, Princeton, NJ, 2004.

[6] Toshiba America Electronic Components, Inc. NAND vs. NOR Flash Memory, 2006. http://maltiel-

consulting.com/NAND_vs_NOR_Flash_Memory_Technology_Overview_Read_Wri te_Erase_speed_for_SLC_MLC_semiconductor_consulting_expert.pdf, accessed Sept. 2008.

[7] Wikipedia.org. Flash Memory, 2008. http://en.wikipedia.org/wiki/Flash_memory, accessed June 2008.

[8] Olin Coles. Toshiba T6UG1XBG Solid State Drive Controller, 2010.

http://benchmarkreviews.com/index.php?option=com_content&task=view&id=393& Itemid=60, accessed Mar. 2011.

[9] N. Agrawal, V. Prabhakaran, T. Wobber, J. Davis, M. Manasse, and R. Panigrahy. Design tradeoffs for SSD performance. In Proc. USENIX Annual Technical

Conference, pages 57-70, 2008.

[10] A. Birrell, M. Isard, C. Thacker, and T. Wobber. A design for high-performance flash disks. ACM SIGOPS Op. Sys. Review, 41(2):88-93, 2007.

[11] A. Gupta, Y. Kim, and B. Urgaonkar. DFTL: A flash translation layer employing demand-based selective caching of page-level address mappings. In Proc. 14th Int’l

Conf. Architectural Support for Programming Languages and Operating Systems (ASPLOS), pages 229-240, 2009.

[12] T. Kgil, D. Roberts, and T. Mudge. Improving NAND flash based disk caches. In

Proc. 35th Int’l Symp. on Computer Architecture (ISCA), pages 327-338, 2008.

[13] F. Chen, D. A. Koufaty, and X. Zhang. Understanding intrinsic characteristics and system implications of flash memory based solid state drives. In Proc. 11th Int’l Joint

Conf. Measurement and Modeling of Computer Systems (SIGMETRICS), pages 181-

[14] B. Crothers. Samsung: Solid State Will Match Hard-Drive Price, 2009. http://news.cnet.com/8301-13924_3-10196422-64.html, accessed June 2009. [15] K. Cash. Flash Solid State Disks - Inferior Technology or Closet Super-Star?, 2007.

http://www.storagesearch.com/bitmicro-art1.html. accessed July 2008.

[16] L.P. Chang and T.W. Kuo. Efficient management for large-scale flash-memory storage systems with resource conservation. ACM Trans. on Storage, 1(4):381-418, 2005.

[17] D. Narayanan, E. Thereska, A. Donnelly, S. Elnikety, and A. Rowstron. Migrating enterprise storage to SSDs: Analysis of tradeoffs. In Proc. 4th ACM European Conf.

on Computer Systems (EuroSys), pages 145-158, 2009.

[18] V. Prabhakaran, T. L. Rodeheffeer, and L. Zhou. Transactional flash. In Proc. 8th

USENIX Symp. on Operating Systems Design and Implementation (OSDI),

pages 147-160, 2008.

[19] D. Tsirogiannis, S. Harizopoulos, and M.A. Shah. Query processing techniques for solid state drives. In Proc. of SIGMOD, pages 59-72, 2009.

[20] Li-Pin Chang, Hsin-chu. On efficient wear leveling for large-scale flash-memory storage systems. In SAC '07 Proceedings of the 2007 ACM symposium on Applied

Computing, pages 1126-1130, 2007.

[21] Thomas M. Rent. SSD Architecture, 2010.

http://www.storagereview.com/ssd_architecture, accessed Aug. 2010. [22] Douglas Dumitru. Understanding Flash SSD Performance, 2007.

http://managedflash.com/news/papers/easyco-flashperformance-art.pdf, accessed July 2008.

[23] A. Leventhal. Flash storage memory. Comm. ACM, 51(7):47-51, 2008.

[24] S. Harizopoulos, D. J. Abadi, S. Madden, and M. Stonebraker. OLTP through the looking glass, and what we found there. In Proc. ACM Int’l Conference on

Management of Data (SIGMOD), pages 981-992, 2008.

[25] H. Kim and S. Ahn. BPLRU: A buffer management scheme for improving random writes in flash storage. In Proc. 6th USENIX Conference on File and Storage

Technologies (FAST), pages 239-252, 2008.

[26] Parallel Data Lab. The DiskSim 4.0 simulator, 2008. http://www.pdl.cmu.edu/DiskSim/, accessed June 2008.

[27] John S. Bucy, Jiri Schindler, Steven W. Schlosser, Gregory R. Ganger, et al. The DiskSim Simulation Environment Version 4.0 Reference Manual, 2008.

http://www.pdl.cmu.edu/PDL-FTP/DriveChar/CMU-PDL-08-101.pdf, accessed June 2008.

[28] Microsoft Corporation. SSD Extension for DiskSim Simulation Environment, 2009. http://research.microsoft.com/en-us/downloads/b41019e2-1d2b-44d8-b512-

[29] UMassTraceRepository. SPC: Storage Process Council I/O traces, 2008. http://traces.cs.umass.edu/index.php/Storage/Storage, accessed June 2008.

[30] S. T. Leutenegger and D. Dias. A modeling study of the TPC-C benchmark. SIGMOD

Record, 22(2), 22-31, 1993.

[31] Wikipedia.org. OLTP: Online Transaction Processing, 2008.

http://en.wikipedia.org/wiki/Online_transaction_processing, accessed June 2008. [32] Wikipedia.org. Locality of Reference, 2008.

http://en.wikipedia.org/wiki/Locality_of_reference, accessed June 2008.

[33] C. Dirik and B. Jacob. The performance of PC solid-state disks (SSDs) as a function of bandwidth, concurrency, device architecture, and system organization. In Proc.

36th Int’l Symp. on Computer Architecture (ISCA), pages 279-289, 2009.

[34] Wikipedia.org. Poisson Distribution, 2010.

http://en.wikipedia.org/wiki/Poisson_distribution, accessed Aug. 2010. [35] Wikipedia.org. Normal Distribution, 2010.

Related documents