A memory controller configured to control an operation of a nonvolatile memory device including a nonvolatile memory in which data can be written based on a logical address, wherein a) the nonvolatile memory is written data based on a physical address corresponding to the logical address, and includes a plurality of physical blocks, each physical block including a plurality of pages, each page being a predetermined writing unit, the nonvolatile memory includes a temporary block, which is a physical block specified by the memory controller, for storing data having a smaller size than a size of the page which is the predetermined writing unit, and normal blocks, each of which is a physical block, for storing data having an equal size to a size of one or plural pages, b) the memory controller comprises: a logical-physical address conversion table for storing correspondence information between a logical address and a physical address of the data stored in the physical block; a temporary table for storing correspondence information between a logical address and a physical address regarding the data stored in the temporary block, said physical address referring to a page of the temporary block; and a controller for controlling access to the nonvolatile memory, wherein the controller determines a physical block to write the data according to the size of the data and writes the data requested to be written in the temporary block, when the size of the data requested to be written is smaller than the size of the page, and wherein the selection of the page of the temporary block, wherein data is to be written, does not depend on the logical address of said data, and wherein each page in the temporary block includes a data area for storing data and a management area for storing management information of the data, and the management area stores claims a logical page address for the data stored in the data area and a set of physical page addresses of those pages in the temporary block which contain most recently written valid data. a) the nonvolatile memory is written data based on a physical address corresponding to the logical address, and includes a plurality of physical blocks, each physical block including a plurality of pages, each page being a predetermined writing unit, the nonvolatile memory includes a temporary block, which is a physical block specified by the memory controller, for storing data having a smaller size than a size of the page which is the predetermined writing unit, and normal blocks, each of which is a physical block, for storing data having an equal size to a size of one or plural pages, b) the memory controller comprises: a logical-physical address conversion table for storing correspondence information between a logical address and a physical address of the data stored in the physical block; a temporary table for storing correspondence information between a logical address and a physical address regarding the data stored in the temporary block, said physical address referring to a page of the temporary block; and a controller for controlling access to the nonvolatile memory, a logical-physical address conversion table for storing correspondence information between a logical address and a physical address of the data stored in the physical block; a temporary table for storing correspondence information between a logical address and a physical address regarding the data stored in the temporary block, said physical address referring to a page of the temporary block; and a controller for controlling access to the nonvolatile memory,