Storing a persistent transactional object heap on flash memory

Michal Spivak, Sivan Toledo

Research output: Contribution to journalArticlepeer-review


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.

Original languageEnglish
Pages (from-to)22-33
Number of pages12
JournalACM SIGPLAN Notices
Issue number7
StatePublished - Jul 2006


  • Flash
  • Java Card
  • NOR flash
  • Persistent heaps
  • Persistent object stores
  • Smart cards
  • Transactions


Dive into the research topics of 'Storing a persistent transactional object heap on flash memory'. Together they form a unique fingerprint.

Cite this