Writing to disk in a rotationally-optimal manner is challenging. Much of the problem arises from the traditional interface, which demands an exact address for each write. In this project, I change this traditional interface by building what we call Range Writes. A range write takes a data block and a list of possible destination addresses; the disk then internally chooses the best possible address and writes the data to it, returning the address to the caller when finished. In this project, I explore range writes via a system level storage subsystem simulator – DiskSim. I introduce two types of Range Writes: Continuous Range Writes and Discrete Range Writes. I also implement Anticipatory Scheduling in DiskSim. Experimental results show that, with my manually generated workload, Range Write always outperforms Common Write, and with carefully chosen parameters, Range Write could achieve more than 40% improvement over Common Write.