The design and implementation of a log-structured file system
ACM Transactions on Computer Systems (TOCS)
eNVy: a non-volatile, main memory storage system
ASPLOS VI Proceedings of the sixth international conference on Architectural support for programming languages and operating systems
Using data clustering to improve cleaning performance for plash memory
Software—Practice & Experience
Cleaning policies in mobile computers using flash memory
Journal of Systems and Software
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
Real-time garbage collection for flash-memory storage systems of real-time embedded systems
ACM Transactions on Embedded Computing Systems (TECS)
A flash-memory based file system
TCON'95 Proceedings of the USENIX 1995 Technical Conference Proceedings
Storing a persistent transactional object heap on flash memory
Proceedings of the 2006 ACM SIGPLAN/SIGBED conference on Language, compilers, and tool support for embedded systems
LGeDBMS: a small DBMS for embedded system with flash memory
VLDB '06 Proceedings of the 32nd international conference on Very large data bases
TINX: a tiny index design for flash memory on wireless sensor devices
Proceedings of the 4th international conference on Embedded networked sensor systems
On efficient wear leveling for large-scale flash-memory storage systems
Proceedings of the 2007 ACM symposium on Applied computing
Design of flash-based DBMS: an in-page logging approach
Proceedings of the 2007 ACM SIGMOD international conference on Management of data
Removing the memory limitations of sensor networks with flash-based virtual memory
Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007
A log buffer-based flash translation layer using fully-associative sector translation
ACM Transactions on Embedded Computing Systems (TECS)
Competitive analysis of flash-memory algorithms
ESA'06 Proceedings of the 14th conference on Annual European Symposium - Volume 14
A Reconfigurable Index FLASH Memory tailored to Seed-Based Genomic Sequence Comparison Algorithms
Journal of VLSI Signal Processing Systems
Performance improvement of block based NAND flash translation layer
CODES+ISSS '07 Proceedings of the 5th IEEE/ACM international conference on Hardware/software codesign and system synthesis
Uniformity improving page allocation for flash memory file systems
EMSOFT '07 Proceedings of the 7th ACM & IEEE international conference on Embedded software
Exploiting non-volatile RAM to enhance flash file system performance
EMSOFT '07 Proceedings of the 7th ACM & IEEE international conference on Embedded software
Block recycling schemes and their cost-based optimization in nand flash memory based storage system
EMSOFT '07 Proceedings of the 7th ACM & IEEE international conference on Embedded software
STAFF: A flash driver algorithm minimizing block erasures
Journal of Systems Architecture: the EUROMICRO Journal
Forensics for Korean cell phone
Proceedings of the 1st international conference on Forensic applications and techniques in telecommunications, information, and multimedia and workshop
A reconfigurable FTL (flash translation layer) architecture for NAND flash-based applications
ACM Transactions on Embedded Computing Systems (TECS)
Design tradeoffs for SSD performance
ATC'08 USENIX 2008 Annual Technical Conference on Annual Technical Conference
PORCE: An efficient power off recovery scheme for flash memory
Journal of Systems Architecture: the EUROMICRO Journal
Performance Characteristics of Flash Memory: Model and Implications
ICESS '07 Proceedings of the 3rd international conference on Embedded Software and Systems
Semi-external LTL Model Checking
CAV '08 Proceedings of the 20th international conference on Computer Aided Verification
Formal Modeling and Analysis of a Flash Filesystem in Alloy
ABZ '08 Proceedings of the 1st international conference on Abstract State Machines, B and Z
Real-Time Access Guarantees for NAND Flash Using Partial Block Cleaning
SEUS '08 Proceedings of the 6th IFIP WG 10.2 international workshop on Software Technologies for Embedded and Ubiquitous Systems
LTFTL: lightweight time-shift flash translation layer for flash memory based embedded storage
EMSOFT '08 Proceedings of the 8th ACM international conference on Embedded software
Deterministic service guarantees for nand flash using partial block cleaning
CODES+ISSS '08 Proceedings of the 6th IEEE/ACM/IFIP international conference on Hardware/Software codesign and system synthesis
Improving energy efficiency for flash memory based embedded applications
Journal of Systems Architecture: the EUROMICRO Journal
JFTL: A flash translation layer based on a journal remapping for flash memory
ACM Transactions on Storage (TOS)
Replayable voting machine audit logs
EVT'08 Proceedings of the conference on Electronic voting technology
Mechanising a formal model of flash memory
Science of Computer Programming
Proceedings of the 14th international conference on Architectural support for programming languages and operating systems
Migrating server storage to SSDs: analysis of tradeoffs
Proceedings of the 4th ACM European conference on Computer systems
Short-random request absorbing structure with volatile DRAM buffer and nonvolatile NAND flash memory
CEA'09 Proceedings of the 3rd WSEAS international conference on Computer engineering and applications
Microsearch: When Search Engines Meet Small Devices
Pervasive '08 Proceedings of the 6th International Conference on Pervasive Computing
A survey of Flash Translation Layer
Journal of Systems Architecture: the EUROMICRO Journal
Survey of indexing schemes for information retrieval on flash memory based wireless sensor networks
Proceedings of the 2009 conference on Information Science, Technology and Applications
Proceedings of the eleventh international joint conference on Measurement and modeling of computer systems
Proceedings of the 36th annual international symposium on Computer architecture
FlashLogging: exploiting flash devices for synchronous logging performance
Proceedings of the 2009 ACM SIGMOD International Conference on Management of data
On Computational Models for Flash Memory Devices
SEA '09 Proceedings of the 8th International Symposium on Experimental Algorithms
A B-Tree index extension to enhance response time and the life cycle of flash memory
Information Sciences: an International Journal
Design and implementation of MLC NAND flash-based DBMS for mobile devices
Journal of Systems and Software
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Computer Networks: The International Journal of Computer and Telecommunications Networking
Enhancing lifetime and security of PCM-based main memory with start-gap wear leveling
Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture
Abstract Specification of the UBIFS File System for Flash Memory
FM '09 Proceedings of the 2nd World Congress on Formal Methods
Online Paging for Flash Memory Devices
ISAAC '09 Proceedings of the 20th International Symposium on Algorithms and Computation
Storage coding for wear leveling in flash memories
ISIT'09 Proceedings of the 2009 IEEE international conference on Symposium on Information Theory - Volume 2
Modeling and simulating flash based solid-state disks for operating systems
Proceedings of the first joint WOSP/SIPEW international conference on Performance engineering
Microsearch: A search engine for embedded devices used in pervasive computing
ACM Transactions on Embedded Computing Systems (TECS)
Swap-before-hibernate: a time efficient method to suspend an OS to a flash drive
Proceedings of the 2010 ACM Symposium on Applied Computing
Model and validation of block cleaning cost for flash memory
SAMOS'07 Proceedings of the 7th international conference on Embedded computer systems: architectures, modeling, and simulation
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
Data movement in flash memories
Allerton'09 Proceedings of the 47th annual Allerton conference on Communication, control, and computing
Proceedings of the 2010 ACM SIGMOD International Conference on Management of data
CFTL: a convertible flash translation layer adaptive to data access patterns
Proceedings of the ACM SIGMETRICS international conference on Measurement and modeling of computer systems
ACM SIGMOD Record
Write endurance in flash drives: measurements and analysis
FAST'10 Proceedings of the 8th USENIX conference on File and storage technologies
Everest: scaling down peak loads through I/O off-loading
OSDI'08 Proceedings of the 8th USENIX conference on Operating systems design and implementation
ChunkStash: speeding up inline storage deduplication using flash memory
USENIXATC'10 Proceedings of the 2010 USENIX conference on USENIX annual technical conference
Storage coding for wear leveling in flash memories
IEEE Transactions on Information Theory
Rewriting codes for joint information storage in flash memories
IEEE Transactions on Information Theory
FlashPower: a detailed power model for NAND flash memory
Proceedings of the Conference on Design, Automation and Test in Europe
IEEE Transactions on Circuits and Systems Part I: Regular Papers
Tree indexing on solid state drives
Proceedings of the VLDB Endowment
FlashStore: high throughput persistent key-value store
Proceedings of the VLDB Endowment
Competitive analysis of flash memory algorithms
ACM Transactions on Algorithms (TALG)
A hybrid flash translation layer design for SLC-MLC flash memory based multibank solid state disk
Microprocessors & Microsystems
Architectures and optimization methods of flash memory based storage systems
Journal of Systems Architecture: the EUROMICRO Journal
Study of the performance impact of a cache buffer in solid-state disks
Microprocessors & Microsystems
Consistent and durable data structures for non-volatile byte-addressable memory
FAST'11 Proceedings of the 9th USENIX conference on File and stroage technologies
FAST'11 Proceedings of the 9th USENIX conference on File and stroage technologies
Reliably erasing data from flash-based solid state drives
FAST'11 Proceedings of the 9th USENIX conference on File and stroage technologies
Exploiting memory device wear-out dynamics to improve NAND flash memory system performance
FAST'11 Proceedings of the 9th USENIX conference on File and stroage technologies
LSTAFF*: an efficient flash translation layer for large block flash memory
Proceedings of the 2011 ACM Symposium on Applied Computing
LazyFTL: a page-level flash translation layer optimized for NAND flash memory
Proceedings of the 2011 ACM SIGMOD International Conference on Management of data
SkimpyStash: RAM space skimpy key-value store on flash-based storage
Proceedings of the 2011 ACM SIGMOD International Conference on Management of data
Data management over flash memory
Proceedings of the 2011 ACM SIGMOD International Conference on Management of data
Hystor: making the best use of solid state drives in high performance storage systems
Proceedings of the international conference on Supercomputing
Proceedings of the international conference on Supercomputing
Trading memory for performance and energy
DASFAA'11 Proceedings of the 16th international conference on Database systems for advanced applications
A self-tuning hybrid flash translation layer for embedded systems
Proceedings of the 12th International Conference on Computer Systems and Technologies
An efficient mapping table management in NAND flash-based mobile computers
ICCSA'11 Proceedings of the 2011 international conference on Computational science and its applications - Volume Part III
ShiftFlash: Make flash-based storage more resilient and robust
Performance Evaluation
Proceedings of the 9th ACM Conference on Embedded Networked Sensor Systems
System software for flash memory: a survey
EUC'06 Proceedings of the 2006 international conference on Embedded and Ubiquitous Computing
An efficient checkpoint scheme for the fast mount of flash file system
Proceedings of the 2011 ACM Symposium on Research in Applied Computation
A hybrid SSD with PRAM and NAND Flash memory
Microprocessors & Microsystems
De-indirection for flash-based SSDs with nameless writes
FAST'12 Proceedings of the 10th USENIX conference on File and Storage Technologies
A flexible OS-based approach for characterizing solid-state disk endurance
Proceedings of the 9th conference on Computing Frontiers
Age-based PCM wear leveling with nearly zero search cost
Proceedings of the 49th Annual Design Automation Conference
Joint management of RAM and flash memory with access pattern considerations
Proceedings of the 49th Annual Design Automation Conference
A fast mount mechanism for YAFFS2
Proceedings of the 27th Annual ACM Symposium on Applied Computing
Improving database performance using a flash-based write cache
DASFAA'12 Proceedings of the 17th international conference on Database Systems for Advanced Applications
Implementation of the aggregated r-tree over flash memory
DASFAA'12 Proceedings of the 17th international conference on Database Systems for Advanced Applications
An efficient method for record management in flash memory environment
Journal of Systems Architecture: the EUROMICRO Journal
On benchmarking embedded Linux flash file systems
ACM SIGBED Review - 2nd Workshop on Embed With Linux (EWiLi 2012)
USENIX ATC'12 Proceedings of the 2012 USENIX conference on Annual Technical Conference
Migration-Resistant Policies for Probe-Wear Leveling in MEMS Storage Devices
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Data node encrypted file system: efficient secure deletion for flash memory
Security'12 Proceedings of the 21st USENIX conference on Security symposium
Analytic modeling of SSD write performance
Proceedings of the 5th Annual International Systems and Storage Conference
GANGRENE: exploring the mortality of flash memory
HotSec'12 Proceedings of the 7th USENIX conference on Hot Topics in Security
NAND flash memory-based hybrid file system for high I/O performance
Journal of Parallel and Distributed Computing
User-level secure deletion on log-structured file systems
Proceedings of the 7th ACM Symposium on Information, Computer and Communications Security
Microprocessors & Microsystems
An on-line hot data identification for flash-based storage using sampling mechanism
ACM SIGAPP Applied Computing Review
Proceedings of the ACM SIGMETRICS/international conference on Measurement and modeling of computer systems
The impact of solid state drive on search engine cache management
Proceedings of the 36th international ACM SIGIR conference on Research and development in information retrieval
Error patterns in MLC NAND flash memory: measurement, characterization, and analysis
DATE '12 Proceedings of the Conference on Design, Automation and Test in Europe
Bloom filter-based dynamic wear leveling for phase-change RAM
DATE '12 Proceedings of the Conference on Design, Automation and Test in Europe
ACM Transactions on Design Automation of Electronic Systems (TODAES) - Special Section on Networks on Chip: Architecture, Tools, and Methodologies
A survey of address translation technologies for flash memories
ACM Computing Surveys (CSUR)
ACM Transactions on Storage (TOS)
The Journal of Supercomputing
Analytic Models of SSD Write Performance
ACM Transactions on Storage (TOS)
Random data-aware flash translation layer for NAND flash-based smart devices
The Journal of Supercomputing
Flash-Aware Buffer Management for Database Systems
International Journal of Knowledge-Based Organizations
Understanding the robustness of SSDS under power fault
FAST'13 Proceedings of the 11th USENIX conference on File and Storage Technologies
Hi-index | 0.12 |
Flash memory is a type of electrically-erasable programmable read-only memory (EEPROM). Because flash memories are nonvolatile and relatively dense, they are now used to store files and other persistent objects in handheld computers, mobile phones, digital cameras, portable music players, and many other computer systems in which magnetic disks are inappropriate. Flash, like earlier EEPROM devices, suffers from two limitations. First, bits can only be cleared by erasing a large block of memory. Second, each block can only sustain a limited number of erasures, after which it can no longer reliably store data. Due to these limitations, sophisticated data structures and algorithms are required to effectively use flash memories. These algorithms and data structures support efficient not-in-place updates of data, reduce the number of erasures, and level the wear of the blocks in the device. This survey presents these algorithms and data structures, many of which have only been described in patents until now.