1. A method of controlling a non-volatile memory device comprising a plurality of banks, the method comprising: comparing a number of first banks of the plurality of banks that are in an operating state with a first threshold value; when the number of the first banks that are in the operating state is smaller than the first threshold value, reading data stored in a bank of the plurality of banks that is in a standby state in response to a corresponding reading command among at least one received command; when there are no banks, of the plurality of banks, that are to be read, programming a bank in the standby state among the plurality of banks in response to a corresponding programming command among at least one received command; when the number of the first banks that are in the operating state is equal to or greater than the first threshold value or when the reading or the programming is performed, determining whether there is a reading command to be performed or a programming command to be performed among the at least one received command; and when there is the reading command to be performed or the programming command to be performed, the steps of comparing, programming, and determining are repeated for as long as there is either the reading command to be performed or the programming command to be performed.