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
A low-cost memory architecture with NAND XIP for mobile embedded systems
Proceedings of the 1st IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis
Error Control Coding, Second Edition
Error Control Coding, Second Edition
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
Architecting energy efficient servers
Architecting energy efficient servers
PicoServer: Using 3D stacking technology to build energy efficient servers
ACM Journal on Emerging Technologies in Computing Systems (JETC)
Integrating NAND flash devices onto servers
Communications of the ACM - A Direct Path to Dependable Software
A durable and energy efficient main memory using phase change memory technology
Proceedings of the 36th annual international symposium on Computer architecture
Scalable high performance main memory system using phase-change memory technology
Proceedings of the 36th annual international symposium on Computer architecture
Disaggregated memory for expansion and sharing in blade servers
Proceedings of the 36th annual international symposium on Computer architecture
Improving application launch times with hybrid disks
CODES+ISSS '09 Proceedings of the 7th IEEE/ACM international conference on Hardware/software codesign and system synthesis
Energy-aware error control coding for Flash memories
Proceedings of the 46th Annual Design Automation Conference
PDRAM: a hybrid PRAM and DRAM main memory system
Proceedings of the 46th Annual Design Automation Conference
Characterizing and mitigating the impact of process variations on phase change based memory systems
Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture
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
Characterizing flash memory: anomalies, observations, and applications
Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture
Modeling and simulating flash based solid-state disks for operating systems
Proceedings of the first joint WOSP/SIPEW international conference on Performance engineering
FRASH: Exploiting storage class memory in hybrid file system for hierarchical storage
ACM Transactions on Storage (TOS)
Write activity reduction on flash main memory via smart victim cache
Proceedings of the 20th symposium on Great lakes symposium on VLSI
Morphable memory system: a robust architecture for exploiting multi-level phase change memories
Proceedings of the 37th annual international symposium on Computer architecture
SieveStore: a highly-selective, ensemble-level disk cache for cost-performance
Proceedings of the 37th annual international symposium on Computer architecture
Generalized ERSS tree model: Revisiting working sets
Performance Evaluation
FlashPower: a detailed power model for NAND flash memory
Proceedings of the Conference on Design, Automation and Test in Europe
Flashboost: design of flash memory buffer cache mechanism for video-on-demand
Proceedings of the international conference on Multimedia
Using non-volatile memory to save energy in servers
Proceedings of the Conference on Design, Automation and Test in Europe
FlashStore: high throughput persistent key-value store
Proceedings of the VLDB Endowment
Impact of flash memory on video-on-demand storage: analysis of tradeoffs
MMSys '11 Proceedings of the second annual ACM conference on Multimedia systems
Using solid state drives as a mid-tier cache in enterprise database OLTP applications
TPCTC'10 Proceedings of the Second TPC technology conference on Performance evaluation, measurement and characterization of complex systems
Proceedings of the 19th ACM/SIGDA international symposium on Field programmable gate arrays
AdaMS: adaptive MLC/SLC phase-change memory design for file storage
Proceedings of the 16th Asia and South Pacific Design Automation Conference
FMCM: a efficient flash memory cache management scheme for energy-efficient disks
Proceedings of the 2011 ACM Symposium on Applied Computing
Hystor: making the best use of solid state drives in high performance storage systems
Proceedings of the international conference on Supercomputing
A read-write aware replacement policy for phase change memory
APPT'11 Proceedings of the 9th international conference on Advanced parallel processing technologies
Proceedings of the International Conference on Computer-Aided Design
FAST'12 Proceedings of the 10th USENIX conference on File and Storage Technologies
A limits study of benefits from nanostore-based future data-centric system architectures
Proceedings of the 9th conference on Computing Frontiers
HotDataTrap: a sampling-based hot data identification scheme for flash memory
Proceedings of the 27th Annual ACM Symposium on Applied Computing
Physically addressed queueing (PAQ): improving parallelism in solid state disks
Proceedings of the 39th Annual International Symposium on Computer Architecture
E-HASH: an energy-efficient hybrid storage system composed of one SSD and multiple HDDs
ICSI'12 Proceedings of the Third international conference on Advances in Swarm Intelligence - Volume Part II
Hybrid nonvolatile disk cache for energy-efficient and high-performance systems
ACM Transactions on Design Automation of Electronic Systems (TODAES) - Special section on adaptive power management for energy and temperature-aware computing systems
Middleware - firmware cooperation for high-speed solid state drives
Proceedings of the Posters and Demo Track
ACM Transactions on Embedded Computing Systems (TECS)
Taking garbage collection overheads off the critical path in SSDs
Proceedings of the 13th International Middleware Conference
Lifetime and QoS-aware energy-saving buffering schemes
Journal of Systems and Software
An on-line hot data identification for flash-based storage using sampling mechanism
ACM SIGAPP Applied Computing Review
Revisiting widely held SSD expectations and rethinking system-level implications
Proceedings of the ACM SIGMETRICS/international conference on Measurement and modeling of computer systems
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
HEC: improving endurance of high performance flash-based cache devices
Proceedings of the 6th International Systems and Storage Conference
Bloom filter-based dynamic wear leveling for phase-change RAM
DATE '12 Proceedings of the Conference on Design, Automation and Test in Europe
Proceedings of the 1st Workshop on Interactions of NVM/FLASH with Operating Systems and Workloads
The harey tortoise: managing heterogeneous write performance in SSDs
USENIX ATC'13 Proceedings of the 2013 USENIX conference on Annual Technical Conference
Integrated 3D-stacked server designs for increasing physical density of key-value stores
Proceedings of the 19th international conference on Architectural support for programming languages and operating systems
Triple-A: a Non-SSD based autonomic all-flash array for high performance storage systems
Proceedings of the 19th international conference on Architectural support for programming languages and operating systems
The Journal of Supercomputing
Hi-index | 0.00 |
Flash is a widely used storage device that provides high density and low power, appealing properties for general purpose computing. Today, its usual application is in portable special purpose devices such as MP3 players. In this paper we examine its use in the server domain—a more general purpose environment. Aggressive process scaling and the use of multi-level cells continues to improve density ahead of Moore’s Law predictions, making Flash even more attractive as a general purpose memory solution. Unfortunately, reliability limits the use of Flash. To seriously consider Flash in the server domain, architectural support must exist to address this concern. This paper first shows how Flash can be used in today’s server platforms as a disk cache. It then proposes two improvements. 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 can change the error code strength (number of correctable bits) and the number of bits that a memory cell can store (cell density) according to the demands of the application. Our studies show that Flash reduces overall power consumed by the system memory and hard disk drive up to 3 times while maintaining performance. We also show that Flash lifetime can be improved by a factor of 20 when using a programmable Flash memory controller, if some performance degradation (below 5%) is acceptable.