Anticipatory scheduling: A disk scheduling framework to overcome deceptive idleness in synchronous I/O