A primitive DB API for Squeak that turns second level storage (i.e. your hard drive) into a content addressable memory (i.e. the api is essentially "at these bytes put these other bytes" and "give me what's stored at these bytes")
An interface BerkeleyDB. The first implementation of the primitive API uses BerkeleyDB.
An object database. On top of the low-level primitive API, a framework for storing any Squeak object into a "persistent object memory" is implemented. This framework includes the ability to garbage collect persistent memory.