Advanced programming in the UNIX environment
Advanced programming in the UNIX environment
The design and implementation of a log-structured file system
ACM Transactions on Computer Systems (TOCS)
Cost-Efficient Memory Architecture Design of NAND Flash Memory Embedded Systems
ICCD '03 Proceedings of the 21st International Conference on Computer Design
An efficient management scheme for large-scale flash-memory storage systems
Proceedings of the 2004 ACM symposium on Applied computing
Odysseus: A High-Performance ORDBMS Tightly-Coupled with IR Features
ICDE '05 Proceedings of the 21st International Conference on Data Engineering
Algorithms and data structures for flash memories
ACM Computing Surveys (CSUR)
Efficient management for large-scale flash-memory storage systems with resource conservation
ACM Transactions on Storage (TOS)
LGeDBMS: a small DBMS for embedded system with flash memory
VLDB '06 Proceedings of the 32nd international conference on Very large data bases
Design of a Reliable NAND Flash Software for Mobile Device
CIT '06 Proceedings of the Sixth IEEE International Conference on Computer and Information Technology
Design of flash-based DBMS: an in-page logging approach
Proceedings of the 2007 ACM SIGMOD international conference on Management of data
A flash-memory based file system
TCON'95 Proceedings of the USENIX 1995 Technical Conference Proceedings
An efficient B-tree layer implementation for flash-memory storage systems
ACM Transactions on Embedded Computing Systems (TECS)
Design tradeoffs for SSD performance
ATC'08 USENIX 2008 Annual Technical Conference on Annual Technical Conference
Proceedings of the VLDB Endowment
Online maintenance of very large random samples on flash storage
Proceedings of the VLDB Endowment
FAST: an efficient flash translation layer for flash memory
EUC'06 Proceedings of the 2006 international conference on Emerging Directions in Embedded and Ubiquitous Computing
ACM SIGMOD Record
Vertical partitioning for flash and HDD database systems
Journal of Systems and Software
StableBuffer: optimizing write performance for DBMS applications on flash devices
CIKM '10 Proceedings of the 19th ACM international conference on Information and knowledge management
Page-level log mapping: from many-to-many mapping to one-to-one mapping
DASFAA'11 Proceedings of the 16th international conference on Database systems for advanced applications
Log-compact R-tree: an efficient spatial index for SSD
DASFAA'11 Proceedings of the 16th international conference on Database systems for advanced applications
An FTL-agnostic layer to improve random write on flash memory
DASFAA'11 Proceedings of the 16th international conference on Database systems for advanced applications
Design of embedded database based on hybrid storage of PRAM and NAND flash memory
DASFAA'11 Proceedings of the 16th international conference on Database systems for advanced applications
Column-oriented query processing for row stores
Proceedings of the ACM 14th international workshop on Data Warehousing and OLAP
B+-tree index optimization by exploiting internal parallelism of flash-based solid state drives
Proceedings of the VLDB Endowment
FlashB-tree: a novel B-tree index scheme for solid state drives
Proceedings of the 2011 ACM Symposium on Research in Applied Computation
PBFilter: A flash-based indexing scheme for embedded systems
Information Systems
A study of space reclamation on flash-based append-only storage management
DASFAA'12 Proceedings of the 17th international conference on Database Systems for Advanced Applications
FTL2: a hybrid flash translation layer with logging for write reduction in flash memory
Proceedings of the 14th ACM SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems
Hi-index | 0.00 |
Flash memory is widely used as the secondary storage in lightweight computing devices due to its outstanding advantages over magnetic disks. Flash memory has many access characteristics different from those of magnetic disks, and how to take advantage of them is becoming an important research issue. There are two existing approaches to storing data into flash memory: page-based and log-based. The former has good performance for read operations, but poor performance for write operations. In contrast, the latter has good performance for write operations when updates are light, but poor performance for read operations. In this paper, we propose a new method of storing data, called page-differential logging, for flash-based storage systems that solves the drawbacks of the two methods. The primary characteristics of our method are: (1) writing only the difference (which we define as the page-differential) between the original page in flash memory and the up-to-date page in memory; (2) computing and writing the page-differential only once at the time the page needs to be reflected into flash memory. The former contrasts with existing page-based methods that write the whole page including both changed and unchanged parts of data or from log-based ones that keep track of the history of all the changes in a page. Our method allows existing disk-based DBMSs to be reused as flash-based DBMSs just by modifying the flash memory driver, i.e., it is DBMS-independent. Experimental results show that the proposed method is superior in I/O performance, except for some special cases, to existing ones. Specifically, it improves the performance of various mixes of read-only and update operations by 0.5 (the special case when all transactions are read-only on updated pages) ~3.4 times over the page-based method and by 1.6 ~ 3.1 times over the log-based one for synthetic data of approximately 1 Gbytes. The TPC-C benchmark also shows improvement of the I/O time over existing methods by 1.2 ~ 6.1 times. This result indicates the effectiveness of our method under (semi) real workloads. We note that the performance advantage of our method can be further enhanced up to two folds by obviating the need to write to the spare area of the page a second time.