IP Library Granted Patent US 12,504,902
Granted Patent B2
US 12,504,902 · App. 18/124,821 · Granted Dec 23, 2025

Storage device providing high purge performance and memory block management method thereof

Inventors: Youngjoon Jang (Suwon-si, KR); Jinhwan Oh (Suwon-si, KR)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F3/064G06F3/0652G06F3/0679G06F12/0253G06F3/0604
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,902
App. No.
18/124,821
Granted
Dec 23, 2025
Kind
B2
Abstract

A storage device performing a purge operation in response to a replay protected memory block (RPMB) purge command comprises at least one nonvolatile memory device; and a storage controller. The storage controller is configured to control data input and data output of the at least one nonvolatile memory device, track a at least one RPMB of the at least one nonvolatile memory device in which RPMB data is stored, and trigger a garbage collection based on a number of the RPMBs reaching a threshold, and the storage controller is further configured to, based on allocating a log block to which write data is to be programmed, give priority to a memory block corresponding to the RPMB among free blocks over a non-RPMB block among the free blocks.

Claims (41)

1. A storage device performing a purge operation in response to a replay protected memory block (RPMB) purge command, the storage device comprising:

at least one nonvolatile memory device; and

a storage controller configured to control data input and data output of the at least one nonvolatile memory device, track at least one RPMB of the at least one nonvolatile memory device in which RPMB data is stored, and trigger a garbage collection based on a number of RPMBs reaching a threshold,

wherein the storage controller is further configured to prioritize allocation of a log block to which write data is to be programmed to a first memory block, among free blocks, that is an RPMB over a second memory block, among the free blocks, that is a non-RPMB, and

wherein the storage controller is configured to, during execution of the garbage collection, (i) collect valid RPMB data in each RPMB, (ii) write the collected valid RPMB data to the log block, and (iii) convert each RPMB having the valid RPMB data to a free block such that the number of RPMBs is reduced, and

wherein during execution of the garbage collection, each RPMB having only invalid RPMB data is not converted to the free block.

2. The storage device of claim 1 , wherein each RPMB having the valid RPMB data comprises a memory block in which the valid RPMB data invalidated by an update is stored.

3. The storage device of claim 1 , wherein each RPMB having the valid RPMB data comprises a memory block that stores logically erased RPMB data in which the memory block is designated as a free block before being physically erased.

4. The storage device of claim 1 , wherein the storage controller is further configured to stop tracking after each RPMB having the valid RPMB data is physically erased.

5. The storage device of claim 1 , wherein the write data corresponds to the RPMB data.

6. The storage device of claim 1 , wherein the storage controller comprises:

a block manager configured to assign an RPMB identifier to each RPMB having valid RPMB data or invalid RPMB data, the RPMB identifier being in a form of at least one of a tag, a list, and a table.

7. The storage device of claim 6 , wherein the RPMB purge manager is further configured to select a free block having invalid RPMB data as a destination block to which the collected valid RPMB data is programmed in response to performance of the garbage collection.

8. The storage device of claim 6 , wherein the garbage collection comprises programming back pattern data in a free block in which valid data does not exist.

9. The storage device of claim 1 , wherein the purge operation, in response to the RPMB purge command, is performed on the reduced number of RPMBs.

10. A storage device comprising:

a nonvolatile memory device; and

a storage controller configured to perform garbage collection based on a number of replay protected memory blocks (RPMBs) in which RPMB data is stored among memory blocks of the nonvolatile memory device reaching a threshold value,

wherein the storage controller is configured to, during execution of the garbage collection, (i) collect valid RPMB data in each RPMB, (ii) write the collected valid RPMB data to a log block, and (iii) convert each RPMB having the valid RPMB data to a free block such that the number of RPMBs is reduced, and

wherein during execution of the garbage collection, each RPMB having only invalid RPMB data is not converted to the free block.

11. The storage device of claim 10 , wherein the number of RPMBs in which RPMB data is stored comprises a free block having only invalid RPMB data.

12. The storage device of claim 11 , wherein the storage controller is further configured to assign an RPMB identifier to a memory block in which the RPMB data is stored, and manage the memory block as the RPMB until a physical erasure occurs.

13. The storage device of claim 12 , wherein the storage controller is further configured to, based on a write request being performed, preferentially allocates a memory block having the RPMB identifier over a non-RPMB from among free blocks as a log block of write-requested data.

14. The storage device of claim 12 , wherein the storage controller is further configured to allocate the free block having the RPMB identifier as a destination block to which valid data collected from RPMBs is copied when the garbage collection is performed.

15. A method for managing a memory block of a storage device that performs a purge operation in response to a replay protected memory block (RPMB) purge command, the method comprising:

determining whether a number of RPMBs in which RPMB data is stored reaches a threshold value;

selecting, from a plurality of free blocks, one of the plurality of free blocks including invalid RPMB data in response to a determination the number of RPMBs reaches the threshold value;

copying valid data collected from a RPMB from the number of RPMBs to the selected one of the plurality of free blocks; and

converting each RPMB having valid RPMB data to a free block such that the number of RPMBs is reduced,

wherein each RPMB having only invalid RPMB data is not converted to the free block.

16. The method of claim 15 , further comprising:

receiving a write request to the storage device; and

based on the write request, allocating another one of the plurality of free blocks including invalid RPMB data as a log block for writing write-requested data.

17. The method of claim 16 , wherein the write-requested data comprises RPMB data.

18. The method of claim 15 , further comprising:

assigning an RPMB identifier to the RPMB from the number of RPMBs,

wherein the RPMB identifier is managed by at least one of a tag, a list, and a table.

19. The method of claim 18 , wherein the RPMB identifier is released after the RPMB from the number of RPMBs is physically erased.

20. The method of claim 15 , further comprising:

erasing at least one RPMB having only invalid RPMB data from the number of RPMBs; and

programing, after the erasing, back pattern data to the at least one RPMB having only invalid RPMB data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 22, 2023
From: JANG, YOUNGJOON; OH, JINHWAN
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 063062/0980 →
Priority Claims (2)
KR 10-2022-0065998 · May 30, 2022 · national
KR 10-2022-0086464 · Jul 13, 2022 · national
Continuity (1)
Related Publication 20230384957A1 · Nov 30, 2023
References Cited (17)
US 7430136B2 · Merry, Jr. et al. · 2008 [cited by applicant]
US 10522229B2 · Luo et al. · 2019 [cited by applicant]
US 10621087B2 · Seo et al. · 2020 [cited by applicant]
US 10761780B2 · Miura et al. · 2020 [cited by applicant]
US 10996883B2 · Kim et al. · 2021 [cited by applicant]
US 20090168525A1 · Olbrich et al. · 2009 [cited by applicant]
US 20120278564A1 · Goss et al. · 2012 [cited by applicant]
US 20190121570A1 · Kim et al. · 2019 [cited by applicant]
US 20210141540A1 · Gervais · 2021 [cited by applicant]
US 20210405907A1 · Nagai · 2021 [cited by applicant]
US 20220012172A1 · Ostrovsky et al. · 2022 [cited by applicant]
US 20220075523A1 · Muthukumaran et al. · 2022 [cited by applicant]
US 20220083249A1 · Jung et al. · 2022 [cited by applicant]
US 20220100373A1 · Ke · 2022 [cited by applicant]
US 20220164487A1 · Gyllenskog et al. · 2022 [cited by applicant]
US 20230142767A1 · Nakanishi · 2023 [cited by examiner]
Communication issued on Nov. 3, 2023 by the European Patent Office in European Patent Application No. 23163934.5. [cited by applicant]