A semiconductor memory information storage apparatus comprising a storage unit which uses as an information storage medium a nonvolatile memory which allows erasing stored content data in units of blocks, comprising: write number managing means configured to count a number of times of writing the content data to each block in the storage unit and manage the number of times for each block; list managing means configured to manage in an using list first blocks in which the content data is stored, and manage in a first unused list second blocks in which the content data is not stored and with the number of times of writing equal to a maximum value, and manage in a second unused list third blocks in which the content data is not stored and with the number of times of writing less than the maximum value, the first, second, and third blocks being included among said blocks in the storage unit; and a controller configured to, when writing control to the storage unit is carried out, select any of the third blocks and write the content data to the selected block, and configured to, when erasing control to the storage unit is carried out, erase the content data stored in the storage unit in units of blocks, and configured to notify the list managing means of a block from which the content data is erased to update management of the notified block, wherein when any one of the third blocks by the controller is selected as a write block, the list managing means is configured to remove the selected block from the second unused list and manage the selected block in the using list, and the write number managing means is configured to increment the number of times of writing of the selected block, the apparatus being characterized by wherein when all blocks in which content data is not stored are included in the second blocks, the list managing means is configured to remove the second blocks from the first unused list, and manage the removed blocks in the second unused list. write number managing means configured to count a number of times of writing the content data to each block in the storage unit and manage the number of times for each block; list managing means configured to manage in an using list first blocks in which the content data is stored, and manage in a first unused list second blocks in which the content data is not stored and with the number of times of writing equal to a maximum value, and manage in a second unused list third blocks in which the content data is not stored and with the number of times of writing less than the maximum value, the first, second, and third blocks being included among said blocks in the storage unit; and a controller configured to, when writing control to the storage unit is carried out, select any of the third blocks and write the content data to the selected block, and configured to, when erasing control to the storage unit is carried out, erase the content data stored in the storage unit in units of blocks, and configured to notify the list managing means of a block from which the content data is erased to update management of the notified block, wherein when any one of the third blocks by the controller is selected as a write block, the list managing means is configured to remove the selected block from the second unused list and manage the selected block in the using list, and the write number managing means is configured to increment the number of times of writing of the selected block, the apparatus being characterized by wherein when all blocks in which content data is not stored are included in the second blocks, the list managing means is configured to remove the second blocks from the first unused list, and manage the removed blocks in the second unused list.