Hints for computer system design
SOSP '83 Proceedings of the ninth ACM symposium on Operating systems principles
A superblock-based flash translation layer for NAND flash memory
EMSOFT '06 Proceedings of the 6th ACM & IEEE International conference on Embedded software
A design for high-performance flash disks
ACM SIGOPS Operating Systems Review - Systems work at Microsoft Research
A log buffer-based flash translation layer using fully-associative sector translation
ACM Transactions on Embedded Computing Systems (TECS)
Integrating parallel file systems with object-based storage devices
Proceedings of the 2007 ACM/IEEE conference on Supercomputing
Design tradeoffs for SSD performance
ATC'08 USENIX 2008 Annual Technical Conference on Annual Technical Conference
Non-Contiguous I/O Support for Object-Based Storage
ICPPW '08 Proceedings of the 2008 International Conference on Parallel Processing - Workshops
LAST: locality-aware sector translation for NAND flash memory-based storage systems
ACM SIGOPS Operating Systems Review
Proceedings of the 14th international conference on Architectural support for programming languages and operating systems
NANDFS: a flexible flash file system for RAM-constrained systems
EMSOFT '09 Proceedings of the seventh ACM international conference on Embedded software
Characterizing the performance of flash memory storage devices and its impact on algorithm design
WEA'08 Proceedings of the 7th international conference on Experimental algorithms
Exploiting Internal Parallelism of Flash-based SSDs
IEEE Computer Architecture Letters
Removing the costs of indirection in flash-based SSDs with nameless writes
HotStorage'10 Proceedings of the 2nd USENIX conference on Hot topics in storage and file systems
Competitive analysis of flash memory algorithms
ACM Transactions on Algorithms (TALG)
A space-efficient flash translation layer for CompactFlash systems
IEEE Transactions on Consumer Electronics
TinyFTL: an FTL architecture for flash memory cards with scarce resources
Proceedings of the 4th Asia-Pacific Workshop on Systems
Hi-index | 0.00 |
We present a design for a high-performance low-cost solid-state disk (SSD). Ignoring garbage-collection costs, our SSD performs only 1 + ε physical accesses to NAND flash pages for every request of a page-size block by the host, for some small ε. This is true for all access patterns, including random writes, which are usually slow on low-cost SSDs. Garbage collection in all SSDs is determined primarily by how full the SSD is, and its cost is similar in most SSDs. The unique feature in our design is that it achieves high performance even with when the SSD contains only a small amount of RAM. In most SSD designs, this would imply low performance; in ours, it does not. A small RAM lowers the cost of an SSD with a given flash array. Our design achieves high performance with a small RAM using two innovative ideas. One is the use of a clever mapping data structure. The second is a host-assisted hinting mechanism that uses RAM on the host to compensate for the small amount of RAM within the SSD. This mechanism is implemented as an enhanced SCSI driver (kernel module). Our prototyping methodology is also a significant contribution. We simulate the SSD in software, using files to represent the flash array, but the resulting prototype is a working SCSI device that file systems can be mounted on.