General-Purpose Persistence Using Flash Memory

Flash memory is a semiconductor memory technology that has interesting pr ice, erformance, and semantic tradeoffs. We have developed Gordon, a general-purpose per si tence system for Standard ML that uses Flash mapped into the virtual address space as its stabl e torage medium. Flash supports a write-once/bulk-erase interface that makes it difficult t o support update-inplace semantics. In addition, Flash chips are only guaranteed to survive a l imited number of erase cycles. Gordon has been designed to overcome these difficulties, and our perf rmance analysis demonstrates good performance and reasonable lifetimes for approp riate a plication domains.