write cache and direct read return