IP Library › Granted Patent US 12,724,539
Granted Patent B2
US 12,724,539 · App. 18/058,546 · Granted Sep 1, 2026

Storage controller managing different types of blocks, operating method thereof, and operating method of storage device including the same

Inventors: Ilkueon Kang (Suwon-si, KR); Eunji Kang (Suwon-si, KR); Seokyoung Ko (Suwon-si, KR)
Assignee: Samsung Electronics Co., Ltd.
G06F3/0616G06F3/064G06F3/0679
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 12,724,539
App. No.
18/058,546
Granted
Sep 1, 2026
Kind
B2
Abstract

Disclosed is an operating method of a storage controller which communicates with a host and a non-volatile memory device. The method includes receiving a first request indicating a first zone of a plurality of zones from the host, setting a state of the first zone to an active state in response to the first request, assigning a first memory block of a plurality of memory blocks of the non-volatile memory device to the first zone updated to the active state, and storing user data corresponding to the first request in the first memory block. The first memory block is higher in reliability than a second memory block assigned to a second zone having a non-active state from among the plurality of zones, and the storage controller supports a zoned namespace (ZNS) standard of a NVM express.

Claims (69)

1 . An operating method of a storage controller which communicates with a host and a non-volatile memory (NVM) device, the method comprising:

receiving a first request from the host, the first request including

an address indicating a first zone of a plurality of zones of a zoned namespace (ZNS) of a non-volatile memory of the non-volatile memory device, and

a command to transition to an implicitly opened (ZSIO) state or an explicitly opened (ZSEO) state of the ZNS;

setting a state of the first zone from an empty state with no assigned memory blocks to an active state in response to the first request;

assigning a first memory block of a plurality of memory blocks of the non-volatile memory device to the first zone updated to the active state; and

storing user data corresponding to the first request in the first memory block,

wherein the first memory block is higher in reliability than a second memory block assigned to a second zone having a non-active state from among the plurality of zones.

2 . The method of claim 1 , further comprising:

after storing the user data in the first memory block, receiving a second request indicating the first zone from the host;

setting the state of the first zone to a full state in response to the second request;

assigning the second memory block to the first zone updated to the full state; and

copying the user data stored in the first memory block to the second memory block.

3 . The method of claim 2 , further comprising:

discarding the first memory block in response to copying the user data of the first memory block in the first zone to the second memory block.

4 . The method of claim 1 , further comprising:

receiving, from the host, a second request indicating the first zone after storing the user data in the first memory block;

setting the state of the first zone to the empty state in response to the second request;

de-assigning the first memory block assigned to the first zone; and

deleting the user data stored in the first memory block.

5 . The method of claim 1 , wherein the assigning the first memory block includes:

assigning a third memory block, a fourth memory block, and a fifth memory block of the plurality of memory blocks to the first zone.

6 . The method of claim 5 , wherein a number of data bits to be stored per cell of each of the first memory block, the third memory block, the fourth memory block, and the fifth memory block is less than a number of data bits to be stored per cell of the second memory block.

7 . The method of claim 6 , wherein each of the first memory block, the third memory block, the fourth memory block, and the fifth memory block is a single level cell (SLC) memory block, and the second memory block is a quadruple level cell (QLC) memory block.

8 . The method of claim 5 , wherein the storing the user data includes:

storing the user data sequentially in the first memory block, the third memory block, the fourth memory block, and the fifth memory block.

9 . The method of claim 7 , further comprising:

determining whether an available capacity is present in the first memory block, the third memory block, the fourth memory block, and the fifth memory block after storing the user data sequentially in the first memory block, the third memory block, the fourth memory block, and the fifth memory block;

assigning the second memory block to the first zone in response to determining that the available capacity is absent from the first memory block, the third memory block, the fourth memory block, and the fifth memory block; and

copying the user data stored in the first memory block, the third memory block, the fourth memory block, and the fifth memory block sequentially to the second memory block.

10 . The method of claim 1 ,

wherein the active state includes the ZSIO state, the ZSEO state, or a close (ZSC) state of the ZNS, and

wherein the non-active state indicates the empty (ZSE) state of the ZNS.

11 . A storage controller comprising:

processing circuitry configured to

change a state of a target zone of a plurality of zones of a zoned namespace (ZNS) depending on a request of a host, the request including

an address indicating the target zone, and

a command to transition from an empty state with no assigned memory blocks to an implicitly opened (ZSIO) state or an explicitly opened (ZSEO) state of the ZNS,

assign a first memory block of a plurality of memory blocks in a non-volatile memory device to the target zone in response to the changed state of the target zone being an active state; and

a buffer memory configured to store target data corresponding to the request of the host in the first memory block,

wherein the first memory block is higher in reliability than a second memory block assigned to a zone having a non-active state from among the plurality of zones.

12 . The storage controller of claim 11 , wherein the processing circuitry is further configured to:

assign the second memory block to the target zone in response to the changed state of the target zone being a full state, and

wherein the buffer memory is further configured to:

copy the target data stored in the first memory block to the second memory block.

13 . The storage controller of claim 11 , wherein the processing circuitry is further configured to:

de-assign the first memory block assigned to the target zone in response to the changed state of the target zone being the empty state, and

wherein the buffer memory is further configured to:

delete the target data stored in the first memory block.

14 . The storage controller of claim 11 , wherein the processing circuitry is further configured to:

assign a third memory block, a fourth memory block, and a fifth memory block of the plurality of memory blocks to the target zone in response to the changed state of the target zone being the active state.

15 . The storage controller of claim 14 , wherein a number of data bits to be stored per cell of each of the first memory block, the third memory block, the fourth memory block, and the fifth memory block is less than a number of data bits to be stored per cell of the second memory block.

16 . The storage controller of claim 15 , wherein each of the first memory block, the third memory block, the fourth memory block, and the fifth memory block is a single level cell (SLC) memory block, and the second memory block is a quadruple level cell (QLC) memory block.

17 . The storage controller of claim 11 , wherein the processing circuitry is further configured to:

manage, via a zone table, state information of each of the plurality of zones and a plurality of block assignment information each indicating blocks assigned to each of the plurality of zones.

18 . An operating method of a storage device which communicates with a host, the method comprising,

receiving a first request from the host, the first request including

an address indicating a first zone of a plurality of zones of a zoned namespace (ZNS), and

a command to transition to an implicitly opened (ZSIO) state or an explicitly opened (ZSEO) state of the ZNS;

setting a state of the first zone from an empty state with no assigned memory blocks to an active state in response to the first request;

assigning a first memory block of a plurality of memory blocks of a non-volatile memory device to the first zone updated to the active state; and

storing user data corresponding to the first request in the first memory block,

wherein the first memory block is higher in reliability than a second memory block assigned to a second zone having a non-active state from among the plurality of zones.

19 . The method of claim 18 , further comprising:

receiving, from the host, a second request indicating the first zone after storing the user data in the first memory block;

setting the state of the first zone to a full state in response to the second request;

assigning the second memory block to the first zone updated to the full state; and

copying the user data stored in the first memory block to the second memory block.

20 . The method of claim 1 , wherein a first zone of the ZNS including the first memory block includes more assigned memory blocks than a second zone of the ZNS including the second memory block.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2022
From: KANG, ILKUEON; KANG, EUNJI; KO, SEOKYOUNG
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 061971/0835 →
Priority Claims (2)
KR 10-2022-0011494 · Jan 26, 2022 · national
KR 10-2022-0064866 · May 26, 2022 · national
Continuity (1)
Related Publication 20230236737A1 · Jul 27, 2023
References Cited (33)
US 7676626B2 · Lee et al. · 2010 [cited by applicant]
US 8078794B2 · Lee et al. · 2011 [cited by applicant]
US 8788908B2 · Yoon et al. · 2014 [cited by applicant]
US 9122592B2 · Cheon et al. · 2015 [cited by applicant]
US 9679659B2 · Shim · 2017 [cited by examiner]
US 10996863B1 · Kuzmin et al. · 2021 [cited by applicant]
US 11327681B2 · Shin et al. · 2022 [cited by applicant]
US 20100100678A1 · Kobayashi · 2010 [cited by examiner]
US 20130234936A1 · Urakawa · 2013 [cited by examiner]
US 20200118585A1 · Gerhart · 2020 [cited by examiner]
US 20200151054A1 · Shin · 2020 [cited by examiner]
US 20200409589A1 · Bennett et al. · 2020 [cited by applicant]
US 20210055990A1 · Iwasaki · 2021 [cited by examiner]
US 20210089217A1 · Bjorling et al. · 2021 [cited by applicant]
US 20210132827A1 · Helmick · 2021 [cited by examiner]
US 20210182166A1 · Hahn et al. · 2021 [cited by applicant]
US 20210240346A1 · Bernat et al. · 2021 [cited by applicant]
US 20210263674A1 · Shin et al. · 2021 [cited by applicant]
US 20210303188A1 · Bazarsky et al. · 2021 [cited by applicant]
US 20210318801A1 · Benisty · 2021 [cited by examiner]
US 20210318820A1 · Jin · 2021 [cited by examiner]
US 20210397562A1 · Bhardwaj · 2021 [cited by applicant]
US 20220075551A1 · Alhussien · 2022 [cited by examiner]
US 20220113885A1 · Jeon · 2022 [cited by examiner]
US 20220137858A1 · Lee · 2022 [cited by examiner]
US 20220261160A1 · Sun · 2022 [cited by examiner]
US 20220269440A1 · Lin · 2022 [cited by examiner]
US 20230129727A1 · Kim · 2023 [cited by examiner]
US 20230161712A1 · Bhardwaj · 2023 [cited by examiner]
KR 100771521B1 · 2007 [cited by applicant]
KR 20210079394A · 2021 [cited by applicant]
KR 1020210108107A · 2021 [cited by applicant]
KR 20210125774A · 2021 [cited by applicant]