IP Library › Granted Patent US 12,504,917
Granted Patent B2
US 12,504,917 · App. 18/585,830 · Granted Dec 23, 2025

Method of operating storage device, storage device performing the same and method of operating storage system using the same

Inventors: Taejin Park (Suwon-si, KR); Kirock Kwon (Suwon-si, KR)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F3/0655G06F3/0604G06F3/0679G06F2206/1004
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,504,917
App. No.
18/585,830
Granted
Dec 23, 2025
Kind
B2
Abstract

In a method of operating a storage device including at least one boot logical unit (LU), a first request is received to check whether a boot code stored in the at least one boot LU is fragmented. A first response including first information is output in response to the first request. The first information indicates whether the boot code is fragmented. When it is determined based on the first information that the boot code is fragmented, a second request is received to perform a defragmentation on the boot code. The defragmentation is performed on the boot code in response to the second request so that the boot code has physical continuity.

Claims (56)

1 . A method of operating a storage device including at least one boot logical unit (LU), the method comprising:

receiving a first request to check whether boot code stored in the at least one boot LU is fragmented;

outputting a first response including first information in response to the first request, the first information indicating whether the boot code is fragmented;

when it is determined based on the first information that the boot code is fragmented, receiving a second request to perform a defragmentation on the boot code; and

performing the defragmentation on the boot code in response to the second request so that the boot code has physical continuity,

wherein the boot code is read based on a sequential read scheme without using a logical-to-physical mapping table indicating a relationship between logical addresses and physical addresses for the boot code.

2 . The method of claim 1 ,

wherein the boot code includes a plurality of boot data that are sequentially read and executed, and

wherein, when the defragmentation is performed on the boot code, the plurality of boot data are rewritten such that an order of reading and executing the plurality of boot data and an order of physically storing the plurality of boot data are equal to each other.

3 . The method of claim 2 , wherein, when the defragmentation is performed on the boot code, a plurality of physical addresses for the plurality of boot data have values that sequentially increase or decrease.

4 . The method of claim 1 ,

wherein, when the first information has a first value, it is determined that the boot code is fragmented and the defragmentation on the boot code is needed, and

wherein, when the first information has a second value different from the first value, it is determined that the boot code is not fragmented and the defragmentation on the boot code is not needed.

5 . The method of claim 4 , wherein, when the boot code is updated while the storage device is operating and the at least one boot LU includes one or more invalid data, the first information is set to have the first value.

6 . The method of claim 4 ,

wherein, when the first information has the first value, the second request is received and the defragmentation is performed on the boot code, and

wherein, when the first information has the second value, the method is terminated without receiving the second request and without performing the defragmentation on the boot code.

7 . The method of claim 1 , further comprising:

after the defragmentation is performed on the boot code, outputting a second response indicating that the defragmentation has successfully completed.

8 . The method of claim 1 , further comprising:

after the defragmentation is performed on the boot code, receiving a third request to check whether the boot code is fragmented; and

outputting a third response including second information based on the third request, the second information indicating whether the boot code is fragmented.

9 . The method of claim 8 ,

wherein the third request is defined to have a same format as that of the first request, and

wherein the third response is defined to have a same format as that of the first response.

10 . The method of claim 8 , further comprising:

when it is determined based on the third response that the boot code is still fragmented, receiving a fourth request to re-perform the defragmentation on the boot code; and

re-performing the defragmentation on the boot code in response to the fourth request.

11 . The method of claim 1 , further comprising:

receiving a power-off request to stop an operation of the storage device, and

wherein the first request is received after the power-off request is received.

12 . The method of claim 1 , wherein the first request is received while the storage device is operating.

13 . The method of claim 1 , further comprising:

receiving power to operate the storage device;

performing an initialization operation on the storage device; and

before the initialization operation on the storage device has completed, reading and outputting the boot code from the at least one boot LU.

14 . The method of claim 1 , wherein the boot code is read using only a starting logical address for the boot code, a starting physical address corresponding to the starting logical address, and a count value corresponding to a size of the boot code.

15 . The method of claim 1 , wherein, when the boot code is read using the sequential read scheme, an amount of usage in a buffer memory included in the storage device decreases.

16 . The method of claim 1 , wherein the storage device is a universal flash storage (UFS) device.

17 . The method of claim 16 ,

wherein each of the first request and the second request is provided based on a query request defined in a UFS standard, and

wherein the first response is provided based on a query response defined in the UFS standard.

18 . A storage device comprising:

a plurality of nonvolatile memories configured to form a plurality of logical units (LUs), the plurality of LUs including at least one boot LU configured to store a boot code; and

a storage controller configured to control operations of the plurality of nonvolatile memories, to:

receive a first request to check whether the boot code is fragmented,

output a first response including first information in response to the first request,

receive a second request to perform a defragmentation on the boot code when it is determined based on the first information that the boot code is fragmented, and

perform the defragmentation on the boot code in response to the second request so that the boot code has physical continuity, the first information indicating whether the boot code is fragmented,

wherein the boot code is read based on a sequential read scheme without using a logical-to-physical mapping table indicating a relationship between logical addresses and physical addresses for the boot code.

19 . A method of operating a storage system including a host device and a universal flash storage (UFS) device, the method comprising:

transmitting, by the host device, a first query request to the UFS device to request that the UFS device check whether a boot code stored in at least one boot logical unit (LU) included in the UFS device is fragmented;

transmitting, by the UFS device, a first query response to the host device in response to the first query request, the first query response including first information indicating whether the boot code is fragmented;

determining, by the host device, whether the boot code is fragmented based on the first information received in the first query response; and

when it is determined that the boot code is fragmented, transmitting, by the host device, a second query request to the UFS device to instruct the UFS device to perform a defragmentation on the boot code,

wherein the boot code is read based on a sequential read scheme without using a logical-to-physical mapping table indicating a relationship between logical addresses and physical addresses for the boot code.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2024
From: PARK, TAEJIN; KWON, KIROCK
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 066548/0001 →
Priority Claims (1)
KR 10-2023-0121073 · Sep 12, 2023 · national
Continuity (1)
Related Publication 20250085885A1 · Mar 13, 2025
References Cited (30)
US 7433948B2 · Edsall et al. · 2008 [cited by applicant]
US 7499410B2 · Dutt et al. · 2009 [cited by applicant]
US 7548975B2 · Kumar et al. · 2009 [cited by applicant]
US 7599360B2 · Edsall et al. · 2009 [cited by applicant]
US 7876711B2 · Dutt et al. · 2011 [cited by applicant]
US 8625460B2 · Dutt et al. · 2014 [cited by applicant]
US 8725854B2 · Edsall et al. · 2014 [cited by applicant]
US 9009427B2 · Sharma et al. · 2015 [cited by applicant]
US 9348749B2 · Choi et al. · 2016 [cited by applicant]
US 9690700B2 · Choi et al. · 2017 [cited by applicant]
US 10282211B2 · Parmar et al. · 2019 [cited by applicant]
US 11645007B2 · Yoon et al. · 2023 [cited by applicant]
US 20050025075A1 · Dutt et al. · 2005 [cited by applicant]
US 20070094464A1 · Sharma et al. · 2007 [cited by applicant]
US 20070094465A1 · Sharma et al. · 2007 [cited by applicant]
US 20070094466A1 · Sharma et al. · 2007 [cited by applicant]
US 20090259816A1 · Sharma et al. · 2009 [cited by applicant]
US 20090259817A1 · Sharma et al. · 2009 [cited by applicant]
US 20140013034A1 · Kwon · 2014 [cited by examiner]
US 20140215129A1 · Kuzmin · 2014 [cited by examiner]
US 20150098271A1 · Lasser · 2015 [cited by examiner]
US 20150220552A1 · Duzly · 2015 [cited by examiner]
US 20160085455A1 · Cohen · 2016 [cited by examiner]
US 20170336981A1 · Garcia · 2017 [cited by examiner]
US 20220374172A1 · Kim et al. · 2022 [cited by applicant]
US 20230115005A1 · Cao · 2023 [cited by applicant]
KR 100927748B1 · 2009 [cited by applicant]
KR 102053865B1 · 2019 [cited by applicant]
KR 1020210016227A · 2021 [cited by applicant]
KR 1020220158372A · 2022 [cited by applicant]