The input/output complexity of sorting and related problems
Communications of the ACM
A new approach to I/O performance evaluation: self-scaling I/O benchmarks, predicted I/O performance
SIGMETRICS '93 Proceedings of the 1993 ACM SIGMETRICS conference on Measurement and modeling of computer systems
External-Memory Breadth-First Search with Sublinear I/O
ESA '02 Proceedings of the 10th Annual European Symposium on Algorithms
FOCS '99 Proceedings of the 40th Annual Symposium on Foundations of Computer Science
An efficient R-tree implementation over flash-memory storage systems
GIS '03 Proceedings of the 11th ACM international symposium on Advances in geographic information systems
Algorithms and data structures for flash memories
ACM Computing Surveys (CSUR)
A design for high-performance flash disks
ACM SIGOPS Operating Systems Review - Systems work at Microsoft Research
Design of flash-based DBMS: an in-page logging approach
Proceedings of the 2007 ACM SIGMOD international conference on Management of data
Algorithms and data structures for external memory
Foundations and Trends® in Theoretical Computer Science
ESA '08 Proceedings of the 16th annual European symposium on Algorithms
Survey on Directed Model Checking
Model Checking and Artificial Intelligence
On Computational Models for Flash Memory Devices
SEA '09 Proceedings of the 8th International Symposium on Experimental Algorithms
NANDFS: a flexible flash file system for RAM-constrained systems
EMSOFT '09 Proceedings of the seventh ACM international conference on Embedded software
Online Paging for Flash Memory Devices
ISAAC '09 Proceedings of the 20th International Symposium on Algorithms and Computation
Write endurance in flash drives: measurements and analysis
FAST'10 Proceedings of the 8th USENIX conference on File and storage technologies
Block management in solid-state devices
USENIX'09 Proceedings of the 2009 conference on USENIX Annual technical conference
Multithreaded Asynchronous Graph Traversal for In-Memory and Semi-External Memory
Proceedings of the 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis
Flash memory efficient LTL model checking
Science of Computer Programming
Algorithm engineering: bridging the gap between algorithm theory and practice
Algorithm engineering: bridging the gap between algorithm theory and practice
Prototyping a high-performance low-cost solid-state disk
Proceedings of the 4th Annual International Conference on Systems and Storage
Data management over flash memory
Proceedings of the 2011 ACM SIGMOD International Conference on Management of data
Hi-index | 0.00 |
Initially used in digital audio players, digital cameras, mobile phones, and USB memory sticks, flash memory may become the dominant form of end-user storage in mobile computing, either completely replacing the magnetic hard disks or being an additional secondary storage. We study the design of algorithms and data structures that can exploit the flash memory devices better. For this, we characterize the performance of NAND flash based storage devices, including many solid state disks. We show that these devices have better random read performance than hard disks, but much worse random write performance. We also analyze the effect of misalignments, aging and past I/O patterns etc. on the performance obtained on these devices. We show that despite the similarities between flash memory and RAM (fast random reads) and between flash disk and hard disk (both are block based devices), the algorithms designed in the RAM model or the external memory model do not realize the full potential of the flash memory devices. We later give some broad guidelines for designing algorithms which can exploit the comparative advantages of both a flash memory device and a hard disk, when used together.