Real-time garbage collection for flash-memory storage systems of real-time embedded systems
ACM Transactions on Embedded Computing Systems (TECS)
The M5 Simulator: Modeling Networked Systems
IEEE Micro
FlashCache: a NAND flash memory file cache for low power web servers
CASES '06 Proceedings of the 2006 international conference on Compilers, architecture and synthesis for embedded systems
On efficient wear leveling for large-scale flash-memory storage systems
Proceedings of the 2007 ACM symposium on Applied computing
Improving NAND Flash Based Disk Caches
ISCA '08 Proceedings of the 35th Annual International Symposium on Computer Architecture
Queue - Enterprise Flash Storage
Queue - Enterprise Flash Storage
PowerNap: eliminating server idle power
Proceedings of the 14th international conference on Architectural support for programming languages and operating systems
Differential RAID: rethinking RAID for SSD reliability
ACM SIGOPS Operating Systems Review
Efficient cache design for solid-state drives
Proceedings of the 7th ACM international conference on Computing frontiers
Architectures and optimization methods of flash memory based storage systems
Journal of Systems Architecture: the EUROMICRO Journal
FlashTier: a lightweight, consistent and durable storage cache
Proceedings of the 7th ACM european conference on Computer Systems
A mathematical model of the trim command in NAND-flash SSDs
Proceedings of the 50th Annual Southeast Regional Conference
Lifetime and QoS-aware energy-saving buffering schemes
Journal of Systems and Software
HEC: improving endurance of high performance flash-based cache devices
Proceedings of the 6th International Systems and Storage Conference
Hi-index | 0.00 |
Flash is a widely used storage device in portable mobile devices such as smart phones, digital cameras, and MP3 players. It provides high density and low power, properties that are appealing for other computing domains. In this paper, we examine its use in the server domain. Wear-out has the potential to limit the use of Flash in this domain. To seriously consider Flash in the server domain, architectural support must exist to address this lack of reliability. This paper first provides a survey of current and potential Flash usage models in a data center. We then advocate using Flash as an extended system memory usage model---OS managed disk cache---and describe the necessary architectural changes. Specifically we propose two key changes. The first improves performance and reliability by splitting Flash-based disk caches into separate read and write regions. The second improves reliability by employing a programmable Flash memory controller. It changes the error code strength (number of correctable bits) and the number of bits that a memory cell can store (cell density) in response to the demands of the application.