Software caches