The DocumentNodeStore currently uses a single persistent cache for all types (node, nodeChildren, diff, etc.). With this setup it is not possible to assign a specific amount of disk space for some cache type(s). If there are many inserts for one cache type, entries of another type may become unavailable. In practice this can be a problem for the local_diff cache entries that are important for efficient node state comparison.
Separating the diff and local_diff cache entries would also allow for different configuration options like compression and different behaviour when the async write back queue is full.