IP Library Granted Patent US 11,726,708
Granted Patent B2
US 11,726,708 · App. 16/941,054 · Granted Aug 15, 2023

Storage device which stores write data and an authentication code into a protected memory block and method of operating the same

Inventor: Eun Soo Jang (Gyeonggi-do, KR)
Assignee: SK hynix Inc.
G06F3/0659G06F3/0604G06F3/0673G06F21/44G06F21/64
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,726,708
App. No.
16/941,054
Granted
Aug 15, 2023
Kind
B2
Abstract

Provided herein may be a storage device having improved write performance. The storage device may include a memory device and a memory controller. The memory controller may generate check-in information indicating start of a program operation in response to a write request received from the host, control the memory device to perform a program operation of storing data received from the host in a target area of the memory device, generate check-out information indicating whether the program operation has succeeded, and provide a write result response including the check-out information to the host in response to a write return request received from the host.

Claims (67)

1. A storage device comprising:

a memory device; and

a memory controller configured to:

generate check-in information indicating start of a program operation and a target area on which a program operation is to be performed in response to a write request received from a host,

control the memory device to perform the program operation of storing data received from the host in the target area of the memory device,

generate check-out information indicating whether the program operation has succeeded, and

provide a write result response including the check-out information to the host in response to a write return request received from the host,

wherein the memory device is configured to store the check-in information, the data and the check-out information successively in the target area.

2. The storage device according to claim 1 , wherein the memory controller comprises:

an operation controller configured to control the memory device to store the check-in information, the check-out information, and the data in the target area; and

an authentication controller configured to generate authentication information indicating whether the data has integrity using a host authentication code received from the host, the data, and an authentication key.

3. The storage device according to claim 2 , wherein the operation controller controls the memory device to store the check-in information in a check-in area including a start point in the target area, store the check-out information in a check-out area including an end point in the target area, and store the data in a data area in the target area.

4. The storage device according to claim 2 , wherein the operation controller provides to the host a write request check response indicating whether the write request has been received in response to the write request, provides to the host a result request check response indicating whether a result request has been received in response to the result request received from the host, and provides to the host the write result response indicating a result of the write request in response to a result return request.

5. The storage device according to claim 2 , wherein the operation controller comprises:

a check information generator configured to generate the check-in information including information about the target area in response to the write request, and generate the check-out information including the authentication information after the program operation is completed;

a map manager configured to update map data corresponding to the target area based on the check-out information.

6. The storage device according to claim 2 , wherein the authentication controller comprises:

an authentication code generator configured to generate a device authentication code using the data and the authentication key; and

an authentication code comparator configured to generate the authentication information based on whether the device authentication code matches the host authentication code.

7. The storage device according to claim 2 , wherein the operation controller controls the memory device to read program data stored in the target area based on the check-in information if the storage device is recovered from a sudden power off event that occurred after the check-in information has been generated, generates the check-out information including authentication information indicating whether the program data has integrity, and updates map data corresponding to the target area based on the check-out information.

8. The storage device according to claim 7 , wherein the authentication controller generates a device authentication code using the program data and the authentication key, and generates the authentication information indicating whether the program data has integrity based on a result of comparison between the device authentication code and a host authentication code included in the check-in information.

9. A method of operating a storage device, comprising:

generating check-in information indicating start of a program operation and a target area on which the program operation is to be performed, in response to a write request received from a host;

providing to the host a write request check response indicating whether the write request has been received;

performing the program operation of storing data in a data area of the target area;

generating check-out information indicating whether the program operation has succeeded after the program operation has been completed; and

providing a write result response including the check-out information to the host in response to a result return request received from the host,

wherein the check-in information, the data and the check-out information are successively stored in the target area.

10. The method according to claim 9 , further comprising:

storing the check-in information in a check-in area including a start point in the target area;

storing the check-out information in a check-out area including an end point in the target area.

11. The method according to claim 9 , further comprising, after the generating of the check-in information:

generating authentication information indicating whether the data has integrity using the data received from the host and an authentication key.

12. The method according to claim 11 , wherein the generating of the authentication information is performed in parallel with the performing of the program operation.

13. The method according to claim 11 , wherein the generating of the authentication information comprises:

generating a device authentication code using the data and the authentication key; and

generating the authentication information based on a result of comparison between the device authentication code and a host authentication code received from the host.

14. The method according to claim 9 , further comprising, after the providing of the write request check response to the host:

providing to the host, in response to a result request received from the host, a result request check response indicating whether the result request has been received.

15. The method according to claim 9 , further comprising:

reading program data stored in the target area based on the check-in information if the storage device is recovered from a sudden power off that occurred after generating the check-in information;

generating a device authentication code using the program data and an authentication key;

generating authentication information indicating whether the program data has integrity based on a result of comparison between the device authentication code and a host authentication code included in the check-in information;

generating the check-out information including the authentication information indicating whether the program data has integrity; and

updating map data corresponding to the target area based on the check-out information.

16. A method of operating a storage device, comprising:

generating check-in information indicating start of a program operation and a target area on which the program operation is to be performed, in response to a write request received from a host;

providing to the host a write request check response indicating whether the write request has been received;

generating authentication information indicating whether data has integrity using the data received from the host and an authentication key;

performing the program operation of storing the data in a data area of the target area based on the authentication information;

generating check-out information indicating whether the program operation has succeeded; and

providing a write result response including the check-out information to the host in response to a result return request received from the host,

wherein the check-in information, the data and the check-out information are successively stored in the target area.

17. The method according to claim 16 , further comprising:

storing the check-in information in a check-in area including a start point in the target area; and

storing the check-out information in a check-out area including an end point in the target area.

18. The method according to claim 16 , wherein the generating of the authentication information comprises:

generating a device authentication code using the data and the authentication key; and

generating the authentication information based on a result of comparison between the device authentication code and a host authentication code received from the host.

19. The method according to claim 16 , further comprising:

reading program data stored in the target area based on the check-in information if the storage device is recovered from a sudden power off that occurred after generating the check-in information;

generating a device authentication code using the program data and the authentication key;

generating authentication information indicating whether the program data has integrity based on a result of comparison between the device authentication code and a host authentication code included in the check-in information;

generating the check-out information including the authentication information indicating whether the program data has integrity; and

updating map data corresponding to the target area based on the check-out information.

20. The method according to claim 16 , further comprising, after the providing of the write request check response to the host:

providing to the host, in response to a result request received from the host, a result request check response indicating whether the result request has been received.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2024
From: SK HYNIX INC.
To: MIMIRIP LLC
Reel/Frame 067335/0246 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2020
From: JANG, EUN SOO
To: SK HYNIX INC.
Reel/Frame 053331/0431 →