IP Library › Granted Patent US 11,782,632
Granted Patent B2
US 11,782,632 · App. 17/526,971 · Granted Oct 10, 2023

Selective erasure of data in a SSD

Inventor: Yaron Klein (Raanana, IL)
Assignee: KIOXIA CORPORATION
G06F3/0652G06F3/0604G06F3/0673G06F12/1009G06F2212/1044G06F2212/657
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,782,632
App. No.
17/526,971
Granted
Oct 10, 2023
Kind
B2
Abstract

Various implementations described herein relate to systems and methods for managing selective erasure in a Solid-State Drive (SSD) including receiving a selective erase command corresponding to erasing valid and invalid data mapped to a logical address and in response to receiving the selective erase command, erasing blocks in which one or more pages mapped to the logical address are located based on a mapping table that maps the logical address to the one or more pages. Both valid data and invalid data may be physically stored in one or more pages.

Claims (61)

1. A method for managing a Solid-State Drive (SSD), comprising:

receiving, by a controller of the SSD from a host, a selective erase command, wherein the selective erase command includes a logical address of data stored in the SSD; and

in response to receiving the selective erase command, erasing blocks that are identified using the logical address included in the selective erase command, such that receipt of the selective erase command results in the blocks being erased by the controller in an erase operation that is performed independently of a garbage collection operation and a sector or volume erase operation.

2. The method of claim 1 , further comprising

identifying, by the controller, the blocks in which one or more pages specified by the logical address that is included in the selective erase command are located based on a mapping table that maps the logical address to the one or more pages, wherein valid data, or invalid data, or both valid data and invalid data are physically stored in the one or more pages; and

maintaining, by the controller, the mapping table that maps the logical address to the one or more pages.

3. The method of claim 2 , wherein

maintaining the mapping table comprises mapping the logical address to a list of physical addresses; and

each of the list of physical addresses corresponds to a respective one of the one or more pages.

4. The method of claim 3 , wherein maintaining the mapping table comprises marking a page as invalid by marking a physical address corresponding to the page in the list of physical addresses as containing invalid data.

5. The method of claim 4 , wherein maintaining the mapping table comprises:

receiving a write command corresponding to updating first data at a first logical address mapped to a first page;

in response to receiving the write command, writing updated first data to a second page;

adding a second physical address corresponding to the second page to the list of physical addresses; and

marking the first page as invalid.

6. The method of claim 2 , wherein erasing the blocks in which the one or more pages mapped to by the logical address are located based on the mapping table comprises:

identifying the one or more pages by looking up the logical address in the mapping table;

identifying the blocks in which the one or more pages are located;

identifying pages in the blocks which contain valid data other than the one or more pages;

copying the pages in the blocks which contain valid data to new blocks; and

executing an erase command on each of the blocks in which the one or more pages mapped to the logical address are located.

7. The method of claim 2 , wherein the mapping table comprises a Logical-to-Physical (L2P) mapping table that maps the logical address to one or more invalid pages in addition to mapping the logical address to one or more valid pages.

8. The method of claim 2 , wherein the mapping table comprises block metadata.

9. The method of claim 1 , wherein the logical address is a logical block address (LBA).

10. The method of claim 1 , wherein

the selective erase command corresponds to erasing data mapped to a range of logical addresses; and

the range of logical addresses comprises at least the logical address and one or more additional logical addresses.

11. The method of claim 10 , further comprising sending a selective erase command response to the host in response to each of the blocks in which the one or more pages mapped to the logical address are located being erased.

12. The method of claim 1 , wherein the selective erase command identifies the logical address.

13. A Solid State Drive (SSD), comprising:

a non-volatile memory; and

a controller configured to:

receive, from a host, a selective erase command, wherein the selective erase command includes a logical address of data stored in the SSD; and

in response to receiving the selective erase command, erase blocks that are identified using the logical address included in the selective erase command, such that receipt of the selective erase command results in the blocks being erased by the controller in an erase operation that is performed independently of a garbage collection operation and a sector or volume erase operation.

14. The SSD of claim 13 , wherein the controller is further configured to:

identify the blocks in which one or more pages specified by the logical address that is included in the selective erase command are located based on a mapping table that maps the logical address to the one or more pages, wherein valid data, or invalid data, or both valid data and invalid data are physically stored in the one or more pages; and

maintain the mapping table that maps the logical address to the one or more pages by mapping the logical address to a list of physical addresses, wherein each of the list of physical addresses corresponds to a respective one of the one or more pages.

15. The SSD of claim 14 , wherein the controller is configured to maintain the mapping table by marking a page as invalid by marking a physical address corresponding to the page in the list of physical addresses as containing invalid data.

16. The SSD of claim 15 , wherein the controller is configured to maintain the mapping table by:

receiving a write command corresponding to updating first data at a first logical address mapped to a first page;

in response to receiving the write command, writing updated first data to a second page;

adding a second physical address corresponding to the second page to a list of physical addresses mapped to by the first logical address; and

marking the first page as invalid.

17. The SSD of claim 14 , wherein the controller is configured to erase the blocks in which the one or more pages mapped to by the logical address are located by:

identifying the one or more pages by looking up the logical address in the mapping table;

identifying the blocks in which the one or more pages are located;

identifying pages in the blocks which contain valid data other than the one or more pages;

copying the pages in the blocks which contain valid data to new blocks; and

executing an erase command on each of the blocks in which the one or more pages mapped to the logical address are located.

18. A non-transitory computer-readable medium storing computer-readable instructions, such that when executed, causes a controller of a Solid State Drive (SSD) to:

receive, from a host, a selective erase command, wherein the selective erase command includes a logical address of data stored in the SSD; and

in response to receiving the selective erase command, erase blocks that are identified using the logical address included in the selective erase command, such that receipt of the selective erase command results in the blocks being erased by the controller in an erase operation that is performed independently of a garbage collection operation and a sector or volume erase operation.

19. The non-transitory computer-readable medium of claim 18 , wherein

the controller is further configured to:

identify blocks in which one or more pages specified by the logical address that is included in the selective erase command are located based on a mapping table that maps the logical address to the one or more pages, wherein valid data, or invalid data, or both valid data and invalid data are physically stored in the one or more pages; and

maintain the mapping table that maps the logical address to the one or more pages by mapping the logical address to a list of physical addresses, wherein each of the list of physical addresses corresponds to a respective one of the one or more pages.

20. The non-transitory computer-readable medium of claim 19 , wherein the controller is configured to maintain the mapping table by:

receiving a write command corresponding to updating first data at a first logical address mapped to a first page;

in response to receiving the write command, writing updated first data to a second page;

adding a second physical address corresponding to the second page to the list of physical addresses; and

marking the first page as invalid.

Continuity (2)
Continuation 16239209 · Jan 3, 2019
Related Publication 20220075548A1 · Mar 10, 2022
Cited By (1)
US 12,645,367