Storage device including test storage block and computing system
In an embodiment of the disclosed technology, the operating performance of a storage device is measured through allocation of a test storage block of a size different from a preset size of a normal storage block of a memory, and whether to change the size of a normal storage block is determined. Therefore, it is possible to improve the operating performance of the storage device and improve the data processing performance of an external device which performs data processing using the storage device.
1 . A storage device comprising:
at least one memory including a plurality of storage blocks; and
a controller configured to allocate a first normal storage block of a first size in response to a first allocation request from a host device and to write valid user data to the first normal storage block,
allocate a test storage block of a second size different from the first size in response to a second allocation request from the host device, during a period when the first normal storage block of the first size is allocated, and write invalid dummy data to the test storage block, wherein the invalid dummy data is deleted without a request from the host device, and
allocate a second normal storage block of a third size, which is the same as the first size or the second size, in response to a third allocation request from the host device, wherein the third allocation request is based on a measured performance of the test storage block.
2 . The storage device according to claim 1 , wherein the controller maintains an allocation state of the test storage block until receiving a deallocation request for the test storage block from the host device.
3 . The storage device according to claim 1 , wherein the controller deallocates the test storage block upon booting after a sudden power-off occurs.
4 . The storage device according to claim 1 , wherein the controller receives a deallocation request for the test storage block from the host device before receiving the third allocation request.
5 . The storage device according to claim 1 , wherein the controller performs at least one of a write operation or a read operation on the test storage block before receiving the third allocation request.
6 . The storage device according to claim 1 , wherein the controller writes the invalid dummy data to the test storage block according to a write command received from the host device, and when the invalid dummy data is written to an entire region of the test storage block, deletes the invalid dummy data written to the test storage block at a preset time.
7 . The storage device according to claim 6 , wherein when receiving a new write command for the test storage block from the host device before the preset time, the controller deletes the invalid dummy data written to the test storage block, and writes new invalid dummy data to the test storage block according to the new write command.
8 . The storage device according to claim 6 , wherein the controller maintains an allocation state of the test storage block after deleting the invalid dummy data.
9 . The storage device according to claim 6 , further comprising:
at least one buffer memory including a plurality of buffer blocks,
wherein the controller writes at least a part of the invalid dummy data to at least a part of the plurality of buffer blocks.
10 . The storage device according to claim 1 , wherein the controller reads the invalid dummy data written to the test storage block and provides the read invalid dummy data to the host device according to a read command received from the host device, and when an error is detected while reading the invalid dummy data, provides the read invalid dummy data to the host device without correcting the error.
11 . The storage device according to claim 1 , wherein when performing a background operation on at least a part of the plurality of storage blocks, the controller excludes the test storage block from the background operation.
12 . A storage device comprising:
at least one memory including a plurality of storage blocks; and
a controller configured to allocate a first normal storage block of a first size in response to a first allocation request from a host device and to write valid user data to the first normal storage block, and allocate a test storage block of a second size different from the first size in response to a second allocation request from the host device, during a period when the first normal storage block of the first size is allocated, and write invalid dummy data to the test storage block,
wherein the invalid dummy data is deleted without a request from the host device, the test storage block being excluded from a background operation, and
wherein the controller allocates a second normal storage block of a third size, which is the same as the first size or the second size, in response to a third allocation request from the host device, the third allocation request is based on a measured performance of the test storage block.
13 . The storage device according to claim 12 , wherein the controller receives a deallocation request for the test storage block from the host device before receiving the third allocation request, and maintains an allocation state of the test storage block until the deallocation request is received.
14 . The storage device according to claim 12 , wherein when performing the background operation, the controller copies user data written to at least one of remaining storage blocks, except the test storage block, from among the plurality of storage blocks to another one of the remaining storage blocks.
15 . A computing system comprising:
a storage device including a plurality of storage blocks; and
a host device configured to transmit, to the storage device, a first allocation request requesting allocation of a normal storage block of a first size and a first write command requesting for writing valid user data to the normal storage block of the first size, and transmit, to the storage device, a second allocation request requesting allocation of a test storage block of a second size different from the first size during a period when the normal storage block of the first size is allocated, and a second write command that requests writing invalid dummy data to the test storage block,
wherein the invalid dummy data is deleted without a request from the host device, and
wherein the host device transmits, to the storage device, a third allocation request requesting allocation of a normal storage block of a third size, which is the same as the first size or the second size, and the third allocation request is based on a measured performance of the test storage block.
16 . The computing system according to claim 15 , wherein the host device transmits a deallocation request for the test storage block to the storage device before transmitting the third allocation request.
17 . The computing system according to claim 16 , wherein the storage device maintains an allocation state of the test storage block until the deallocation request for the test storage block is received from the host device.
18 . The computing system according to claim 15 , wherein when performing a background operation on at least a part of the plurality of storage blocks, the storage device excludes the test storage block from the background operation.