A dual journaling storing method for storing data in a storage medium, that data are stored as a front journaling consisting in writing data from a lowest address toward the highest address and a rear journaling consisting in writing data from the highest address towards the lowest address, wherein a first head of the front journaling for a first data and a second head of the rear journaling for a second data initially respectively specify the lowest address and the highest address, wherein the first data is stored from the address specified by the first head when the first data is stored, and the first head is increased by a size of the first data, and the second data is stored symmetrically to the first data when the second data is stored, wherein when two types of the data whose characteristic are different are stored in the storage medium, the two types of data are separately stored as the front journaling and the rear journaling by classifying the two types of the data into the first data and the second data and checking the type of the data, characterized in that, checking whether or not a storage space of the storage medium is sufficient by a garbage collection; checking whether or not a central address is zero when the storage space of the storage medium is sufficient; checking whether or not a head (H1+S) of the front journaling for the first data meets with the second head of a second data when the central address is zero; storing the first data from the address specified by the first head when the head (H1+S) of the front journaling for the first data does not meet with the second head of the second data; storing a portion (H2-H1) of the first data from the address specified by the first head, and storing a remaining portion (S-(H2-H1)) of the first data from the address of the front journaling when the head (H1+S) of the front journaling for the first data meets with the second head of the second data, wherein when the first and second heads meet each other at a first location, a central address is set at the first location and the first head is returned to the lowest address and the second head is returned to the highest address; checking whether or not the head (H1+S) of the front journaling for the first data meets with the central address when the central address is not zero; storing the first data from the address specified by the first head when the head (H1+S) of the front journaling for the first data does not meet the central address; storing a portion (C-H1) of the first data from the address specified by the first head when the head (H1+S) of the front journaling for the first data meets with the central address; checking whether or not a remaining portion (S-(C-H1)) of the first data can be stored when the central address moves toward the rear journaling; moving the location of the address specified by the second head toward the rear journaling portion as much as a size of remaining portion (S-(C-H1)) of the first data when there is a storable space in a rear journaling portion to store the remaining portion (S-(C-H1)) of the first data; cleaning a space as much as the size of remaining portion (S-(C-H1)) of the first data, storing the remaining portion (S-(C-H1)) of the first data to the cleaned space; and moving the location of the central address toward the rear journaling portion as much as the size of remaining portion (S-(C-H1)) of the first data when there is not a storable space in a rear journaling portion to store the remaining portion (S-(C-H1)) of the first data; cleaning a space as much as the size of remaining portion (S-(C-H1)) of the first data, storing the remaining portion (S-(C-H1)) of the first data to the clean space.