CPC G06F 3/0659 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0679 (2013.01)] | 18 Claims |
1. An operating method of a Universal Flash Storage (UFS) device, the method comprising:
receiving, by the UFS device from a host, a first query request for reading a device descriptor, wherein the UFS device comprises a nonvolatile memory device and a memory controller, the nonvolatile memory device including a turbo write buffer area and a user storage area, the turbo write buffer area including a pinned turbo write buffer area and a non-pinned turbo write buffer area;
transferring, by the UFS device, a first query response including the device descriptor to the host, wherein the device descriptor has information about whether to support a turbo write function and a move operation, and the information is included in an extended UFS function support field of the device descriptor;
receiving, by the UFS device, a second query request for setting a value of a first flag indicating whether the turbo write function is enabled or disabled;
transferring, by the UFS device, a second query response;
receiving, by the UFS device, a third query request for setting a value of a second flag indicating whether a flush function is enabled or disabled, wherein the second flag comprises a first field indicating whether the flush function is enabled in an idle state of the UFS device and a second field indicating whether the flush function is enabled in a hibernation state of the UFS device;
transferring, by the UFS device, a third query response;
receiving, by the UFS device from the host, a first UFS protocol information unit (UPIU) including a write command with a logical block address and area information, and data,
storing, by the UFS device, the data in one area of the pinned turbo write buffer area or the non-pinned turbo write buffer area when the turbo write function is enabled, and in the user storage area when the turbo write function is not enabled;
receiving, by the UFS device from the host, a second UPIU including a move information defined by an UFS protocol; and
moving a target data stored in the non-pinned turbo write buffer area, the pinned turbo write buffer area or the user storage area to one area among the non-pinned turbo write buffer area, the pinned turbo write buffer area or the user storage area through the move information in response to the second UPIU, wherein the target data is moved to the non-pinned turbo write buffer area or the pinned turbo write buffer area when the host requests a function of accelerating a read speed of the target data,
wherein a storage space of the UFS device is managed through a plurality of logical units which corresponds to a physical storage of the nonvolatile memory device and wherein the turbo write buffer area is configured in at least one of the plurality of logical units, and
wherein the pinned turbo write buffer area and the non-pinned turbo write buffer area are accessible based on the first UPIU including the write command when the value of the first flag indicates that the turbo write function is enabled,
wherein second data stored in the non-pinned turbo write buffer area is flushed to the user storage area in the idle state or the hibernation state based on the value of the second flag.
|