1. A tape recording device for performing operations of position movement back and forth in a longitudinal direction and up and down in a latitudinal direction on a tape medium, reading, and writing to the tape medium, and receiving a series of read and write commands from an upper-layer device couplable to the tape recoding device, the tape recording device comprising: a buffer for temporarily storing therein data related to a plurality of read commands and a plurality of write commands; a tape for recording thereon the data stored in the buffer; a reading and writing head for reading data from the tape into the buffer and writing the data from the buffer onto the tape; a controller for reading data from a designated position of the tape and storing the data in the buffer in response to a read command and for writing the data stored in the buffer onto the tape from a written data end position thereof in response to a write command; and a non-volatile memory for storing therein data stored in the buffer in response to each write command, wherein the controller, upon receipt of each write command, performs the following: determines a current position of the head and a first starting position of the head for a subsequent read/write command, determines a second position for starting the write command and a third position for finishing the write command; performs the write command prior to the subsequent read/write command if the second position and the third position are both located between the current position and the first starting position; stores the write data stored in the buffer into the non-volatile memory for a future writing to the tape if the second position is not located between the current position and the first starting position; determines an amount of available space in the non-volatile memory if the second position is located between the current position and the first starting position and the third position is not located between the current position and the first starting position; determines a travel distance between the third position and the first starting position when the second position is located between the current position and the first starting position and the third position is not located between the current position and the first starting position; determines a ratio of the travel distance to the amount of available space when the second position is located between the current position and the first starting position and the third position is not located between the current position and the first starting position; performs the write command prior to the subsequent read/write command if the ratio is greater than a threshold amount; and stores the write data stored in the buffer into the non-volatile memory for a future writing to the tape if the ratio is less than the threshold amount.