IP Library Granted Patent US 11,507,289
Granted Patent B2
US 11,507,289 · App. 16/541,242 · Granted Nov 22, 2022

Storage device, controller and method for operating storage device

Inventors: Dong-Ham Yim (Gyeonggi-do, KR); Young-Guen Choi (Gyeonggi-do, KR)
Assignee: SK hynix Inc.
G06F3/064G06F3/0658G06F3/0679G06F12/0246G06F3/0607
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,507,289
App. No.
16/541,242
Granted
Nov 22, 2022
Kind
B2
Abstract

A storage device includes a semiconductor memory device including memory blocks, planes which include the memory blocks and memory dies in which the planes are included; and a controller configured to store user data and metadata determined based on a command received from a host, in super memory blocks each including some of the memory blocks. The controller includes a segment queuing circuit configured to queue segments of the user data or the metadata to N (N is a natural number) virtual die queues according to a striping scheme; and a segment storage circuit configured to store the queued segments of the user data or the metadata in a super memory block among the super memory blocks, wherein the queued segments of the user data or the metadata are stored in the memory blocks included in the super memory block, according to a striping scheme.

Claims (32)

1. A storage device comprising:

a semiconductor memory device including a plurality of memory blocks, a plurality of planes which include the memory blocks and a plurality of memory dies in which the planes are included; and

a controller configured to store user data and metadata determined based on a command received from a host, in a plurality of super memory blocks, each including some of the memory blocks,

the controller comprising:

a segment queueing circuit configured to queue user-data segments of the user data or metadata segments of the metadata to N virtual die queues, which are included in the controller, according to a striping scheme, where N is a natural number; and

a segment storage circuit configured to store the user-data segments of the user data or the metadata segments of the metadata in a super memory block among the super memory blocks,

wherein the user-data segments and the metadata segments corresponding to the user-data segments are queued in the same virtual die queue, and the user-data segments are queued into the same virtual die queue earlier than the metadata segments corresponding to the user-data segments, and

wherein, in response to a possibility of a sudden power off (SPO) before the user data is stored, the user-data segments are stored in the memory blocks in the super memory block before the metadata segments corresponding to the user-data segments are transferred to a memory die of the super memory block by delaying initial transfer of the metadata segments until the associated user-data segments are stored in the memory die in order to ensure that the user-data segments and the metadata segments are both stored in the super memory block at the time of SPO.

2. The storage device according to claim 1 , wherein the controller controls the semiconductor memory device to keep the number of memory blocks in each of the super memory blocks the same.

3. The storage device according to claim 1 , wherein the respective metadata segments comprise respective pieces of map data for the respective user-data segments.

4. The storage device according to claim 3 , wherein the respective metadata segments comprise journaling information on at least one of the respective user-data segments and the respective pieces of map data.

5. The storage device according to claim 1 , wherein the segment storage circuit stores the user-data segments or the metadata segments in the super memory block in a sequence in which the user data or the metadata are queued to each virtual die queue.

6. The storage device according to claim 1 , wherein the segment storage circuit stores the user-data segments before the metadata segments corresponding to the user-data segments are stored in the semiconductor memory device.

7. A controller suitable for storing user data and metadata determined based on a command received from a host, in one among a plurality of super memory blocks, each including memory blocks, the controller comprising:

a segment queueing circuit configured to queue user-data segments of the user data or metadata segments of the metadata to N virtual die queues, which are included in the controller, according to a striping scheme, where N is a natural number; and

a segment storage circuit configured to store the user-data segments of the user data or the metadata segments of the metadata in a super memory block among the super memory blocks,

wherein the user-data segments and the metadata segments corresponding to the user-data segments are queued in the same virtual die queue, and the user-data segments are queued into the same virtual die queue earlier than the metadata segments corresponding to the user-data segments, and

wherein, in response to a possibility of a sudden power off (SPO) before the user data is stored, the user-data segments are stored in the memory blocks in the super memory block before the metadata segments corresponding to the user-data segments are transferred to a memory die of the super memory block by delaying initial transfer of the metadata segments until the associated user-data segments are stored in the memory die in order to ensure that the user-data segments and the metadata segments are both stored in the super memory block at the time of SPO.

8. The controller according to claim 7 , wherein the respective metadata segments comprise respective pieces of map data for the respective user-data segments.

9. The controller according to claim 8 , wherein the respective metadata segments comprise journaling information on at least one of the respective user-data segments and the respective pieces of map data.

10. The controller according to claim 7 , wherein the segment storage circuit stores the user-data segments or the metadata segments in the super memory block in a sequence in which the user data or the metadata are queued to each virtual die queue.

11. A method for operating a storage device including a semiconductor memory device including a plurality of memory blocks, a plurality of planes which include the memory blocks and a plurality of memory dies in which the planes are included, the method comprising:

receiving a command from a host;

queueing user-data segments of user data or metadata segments of metadata determined based on the command to N virtual die queues according to a striping scheme, where N is a natural number; and

storing the user-data segments or the metadata segments in memory blocks of a super memory block among a plurality of super memory blocks,

wherein the user-data segments and the metadata segments corresponding to the user-data segments are queued in the same virtual die queue, and the user-data segments are queued into the same virtual die queue earlier than the metadata segments corresponding to the user-data segments, and

wherein, in response to a possibility of a sudden power off (SPO) before the user data is stored, the user-data segments are stored in the memory blocks in the super memory block before the metadata segments corresponding to the user—data segments are transferred to a memory die of the super memory block by delaying initial transfer of the metadata segments until the associated user-data segments are stored in the memory die in order to ensure that the user-data segments and the metadata segments are both stored in the super memory block at the time of SPO.

12. The method according to claim 11 , further comprising keeping the number of memory blocks in each of the super memory blocks the same.

13. The method according to claim 11 , wherein the respective metadata segments comprise respective pieces of map data for the respective user-data segments.

14. The method according to claim 13 , wherein the respective metadata segments comprise journaling information on at least one of the respective user-data segments and the respective pieces of map data.

15. The method according to claim 11 , wherein the user-data segments or the metadata segments are stored in the super memory block in a sequence in which the user data or the metadata are queued to each virtual die queue.

16. The method according to claim 11 , wherein the user-data segments and the metadata segments corresponding to the user-data segments are stored in the semiconductor memory device.

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 Aug 15, 2019
From: YIM, DONG-HAM; CHOI, YOUNG-GUEN
To: SK HYNIX INC.
Reel/Frame 050059/0672 →
Priority Claims (1)
KR 10-2018-0165910 · Dec 20, 2018 · national
Continuity (1)
Related Publication 20200201548A1 · Jun 25, 2020