A disk driver with cache