Storage device for adaptively determining scheme of writing data units, and operating method thereof
A storage device may include a memory and a controller. The memory includes M memory dies, each die including a plurality of memory blocks, each block including a plurality of memory cells, each cell storing K bits of data. The controller may receive M*K data units from a host, may calculate a first time taken to receive the M*K data units, and may determine a scheme of storing the M*K data units in the memory based on the first time.
1 . A storage device comprising:
a memory including M memory dies, each memory die including a plurality of memory blocks, each memory block including a plurality of memory cells, each memory cell storing K bits of data; and
a controller configured to receive M*K data units from a host, calculate a first time taken to receive the M*K data units, and determine a scheme of storing the M*K data units in the memory based on the first time,
wherein M is a natural number of 2 or more,
wherein K is a natural number,
wherein the controller compares the first time and a preset reference time, determines the scheme of storing the M*K data units in the memory as a first scheme when the first time is equal to or shorter than the reference time, and determines the scheme of storing the M*K data units in the memory as a second scheme when the first time is longer than the reference time,
wherein, according to the first scheme, the controller is further configured to simultaneously store all M*K data units in M memory blocks selected from the M memory dies, respectively, and
wherein, according to the second scheme, the controller is further configured to store K data units of the M*K data units at a time in memory blocks of a memory die selected from the M memory dies.
2 . The storage device according to claim 1 , wherein the controller determines the reference time based on at least one of a second time required to store a data unit of the M*K data units in the memory and the M.
3 . The storage device according to claim 2 , wherein the controller determines the reference time to be proportional to at least one of the second time and the M.
4 . A method for operating a storage device, the method comprising:
receiving M*K data units from a host;
calculating a first time taken to receive the M*K data units; and
determining a scheme of storing the M*K data units in a memory based on the first time,
wherein the memory includes M memory dies, each memory die including a plurality of memory blocks, each memory block including a plurality of memory cells, each memory cell storing K bits of data,
wherein M is a natural number of 2 or more,
wherein K is a natural number, and
wherein determining a scheme of storing comprises:
comparing the first time and a preset reference time; and
determining the scheme of storing as a first scheme when the first time is equal to or shorter than the reference time, and determining the scheme of storing as a second scheme when the first time is longer than the reference time,
wherein the method further comprises:
according to the first scheme, simultaneously storing all M*K data units in M memory blocks selected from the M memory dies, respectively; and
according to the second scheme, storing K data units of the M*K data units at a time in memory blocks of a memory die selected from the M memory dies.
5 . The method according to claim 4 , wherein determining a scheme of storing further comprises:
determining the reference time based on at least one of a second time required to store a data unit of the M*K data units in the memory and the M.
6 . The method according to claim 5 , wherein the determining the reference time determines the reference time to be proportional to at least one of the second time and the M.
7 . A storage device comprising:
a memory including M memory dies, each memory die including a plurality of memory blocks, each memory block including a plurality of memory cells, each memory cell storing K bits of data; and
a controller configured to:
receive M*K data units from a host,
select one of a simultaneous storing scheme and a sequential storing scheme based on a first time taken to receive the M*K data units, and
store the M*K data units in the memory dies based on the selected storing scheme,
wherein M is a natural number of 2 or more, and K is a natural number,
wherein the controller is further configured to compare the first time with a reference time,
wherein the controller is further configured to determine the scheme of storing the M*K data units in the memory as a first scheme when the first time is equal to or shorter than the reference time, and determine the scheme of storing the M*K data units in the memory as a second scheme when the first time is longer than the reference time,
wherein, when it is determined that the first time is equal to or shorter than the reference time, the controller selects the simultaneous storing scheme, and simultaneously stores M data units of the M*K data units in the M memory dies according to the simultaneous storing scheme, and
wherein, when it is determined that the first time is longer than the reference time, the controller selects the sequential storing scheme, and sequentially stores M data units of the M*K data units in the M memory dies according to the simultaneous storing scheme.
8 . The storage device according to claim 7 , wherein the controller determines the reference time based on at least one of a second time required to store one data unit of the M*K data units in the memory and the M.