Storing a persistent transactional object heap on flash memory

  • Authors:
  • Michal Spivak;Sivan Toledo

  • Affiliations:
  • Tel-Aviv University;Tel-Aviv University

  • Venue:
  • Proceedings of the 2006 ACM SIGPLAN/SIGBED conference on Language, compilers, and tool support for embedded systems
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present the design and implementation of TinyStore, a persistent, transactional, garbage-collected memory-management system, designed to be called from the Java virtual machine of a Java Card. The system is designed for flash-based implementations of Java Card, a variant of the Java platform for smart cards. In the Java Card platform, objects are persistent by default. The platform supports transactions: a sequence of accesses to objects can be explicitly declared to constitute a transaction. TinyStore supports explicit transactions and atomically executes individual accesses that are not part of transactions; it also supports garbage collection, even on systems with a small constant amount of ram. TinyStore uses a novel approach and specialized data structures to efficiently manage flash memory. We demonstrate its effectiveness by comparing it to a traditional eeprom-based memory management system for Java Cards.