Storage system, storage device, and booting method
A method of booting a storage system includes performing device booting of a storage device including a non-volatile memory device, determining whether a history level update message indicating that a read failure or a read retry has occurred in the non-volatile memory device is transmitted from the storage device to a host during the device booting, and requesting, by the host, the storage device to perform a pre-read operation to adjust the optimal read level of the non-volatile memory device according to the history level update message. The pre-read operation is performed during a system booting section of the storage system.
1 . A method of booting a storage system, comprising:
performing device booting of a storage device, the storage device including a non-volatile memory device;
determining whether a history level update message is transmitted from the storage device to a host during the device booting, wherein the history level update message indicates that a read failure or a read retry has occurred in the non-volatile memory device; and
requesting, by the host, the storage device to perform a pre-read operation to adjust an optimal read level of the non-volatile memory device according to the history level update message,
wherein the pre-read operation is performed during a system booting duration of the storage system.
2 . The method of claim 1 , wherein the history level update message is transmitted in response to a read command, wherein the read command is sent by the host to the storage device during the device booting.
3 . The method of claim 1 , wherein requesting the storage device to perform the pre-read operation comprises setting a flag in the storage device by the host.
4 . The method of claim 3 , wherein setting the flag comprises transmitting a flag setting to the storage device through a query request UFS Protocol Information Unit (UPIU) of a Universal Flash Storage (UFS) interface.
5 . The method of claim 4 , further comprising:
performing, by the storage device, a valley search on the non-volatile memory device in response to the flag setting.
6 . The method of claim 5 , further comprising:
resetting the flag by the storage device based on the valley search being completed.
7 . The method of claim 1 , further comprising scheduling and executing the pre-read operation by the host based on pre-read information provided from the storage device.
8 . The method of claim 7 , wherein the pre-read information includes address information about a memory area in which valid data of the non-volatile memory device is stored.
9 . The method of claim 7 , wherein the host is configured to schedule the pre-read operation to be performed during an idle time of the storage device in the system booting duration.
10 . The method of claim 9 , wherein the pre-read operation is performed without transmitting read data from the storage device to the host.
11 . The method of claim 7 , wherein requesting the storage device to perform the pre-read operation comprises transmitting a request to the storage device using a buffer read command UFS Protocol Information Unit (UPIU) of a Universal Flash Storage (UFS) interface.
12 . A storage device, comprising:
a non-volatile memory device; and
a storage controller configured to generate a history level update message and transmit the history level update message to a host, based on a read failure or read retry event of the non-volatile memory device occurring during a booting operation,
wherein the history level update message indicates that a read level change has occurred, and
wherein the storage controller is configured to control the non-volatile memory device to perform an operation to set an optimal read level of the non-volatile memory device in response to a pre-read operation request from the host.
13 . The storage device of claim 12 , wherein the storage controller is configured to receive the pre-read operation request through a flag setting from the host.
14 . The storage device of claim 13 , wherein the storage controller is configured to receive the flag setting from the host through a query request universal flash storage (UFS) protocol information unit (UPIU) of a UFS interface.
15 . The storage device of claim 14 , wherein the storage controller is configured to perform the pre-read operation in response to the flag setting, and wherein the storage controller is configured to reset the flag setting upon completion of the pre-read operation.
16 . The storage device of claim 12 , wherein the storage controller is configured to perform a valley search operation based on pre-read information including address information of a memory area in which valid data of the non-volatile memory device is stored.
17 . The storage device of claim 16 , wherein the operation to set the optimal read level of the non-volatile memory device is performed during the booting operation according to scheduling of the host.
18 . The storage device of claim 16 , wherein the storage controller is configured to provide the pre-read information to the host in response to a buffer read command from the host.
19 . A method of booting a storage system, comprising:
resetting a hardware of a storage device and a host, the host being configured to control the storage device;
performing booting of the storage device;
checking, by the host, whether a read level update message of a non-volatile memory device is received from the storage device during a booting duration of the storage device;
generating, by the storage device, pre-read information to apply a read level update to one or more memory areas of the non-volatile memory device; and
requesting, by the host and from the storage device, a pre-read operation to adjust an optimal read level of the non-volatile memory device,
wherein the pre-read operation is performed during a system booting duration of the storage system.
20 . The method of claim 19 , wherein requesting the pre-read operation comprises at least one of: setting a flag through a universal flash storage (UFS) interface, or transmitting a pre-read command.