1. A method of performing garbage collection in a disk drive comprising control circuitry that reads and writes data in at least a portion of the disk drive as a circular buffer in response to commands from a host system, the method comprising: reading data from a physical block address of the disk drive in response to a read command from the host system; saving the data in temporary memory; determining, based at least partly on if a distance between the physical block address and an end location of the circular buffer is shorter than a threshold, whether to retain data in the temporary memory for subsequent use in performing garbage collection; and performing a garbage collection operation with the data in the temporary memory.