Search

KR-102963527-B1 - High-speed garbage collection on zoned namespace SSDs

KR102963527B1KR 102963527 B1KR102963527 B1KR 102963527B1KR-102963527-B1

Abstract

The data storage device includes a memory device and a controller coupled to the memory device. The data storage device supports a zoned namespace. The controller is configured to maintain a zone timestamp table containing a corresponding timestamp for each zone and to add timestamps to each garbage collection block of the memory device. The controller is further configured to scan garbage collection blocks from the last physical block address (PBA) entry to the first PBA entry, determine zone timestamps for scanned PBA entries, and compare zone timestamps with timestamps of garbage collection blocks. The controller is further configured to create and maintain a zone timestamp table and to create and maintain a zone-based defraction table.

Inventors

  • 시에, 홍메이
  • 카르키, 아즈나
  • 리, 샤오잉
  • 인, 지-현
  • 고를레, 단운자야 라오

Assignees

  • 샌디스크 테크놀로지스 아이엔씨.

Dates

Publication Date
20260511
Application Date
20220310
Priority Date
20210617

Claims (20)

  1. As a data storage device that supports a zoned namespace, memory device; and The above memory device includes a controller coupled thereto, and the controller is, To maintain a zone timestamp table containing a corresponding timestamp for each zone; and It is configured to add a timestamp to each garbage collection block of the above memory device, and A data storage device that adds a timestamp to each garbage collection block, including adding the timestamp when the garbage collection block is assigned.
  2. A data storage device according to claim 1, wherein the controller is configured to determine that the corresponding timestamp for a zone exceeds the timestamp for a garbage collection block, the zone has data in the garbage collection block, and the data for the zone is invalid.
  3. In claim 1, the controller is configured to determine that the corresponding timestamp for a zone is less than the timestamp for a garbage collection block, the zone has data in the garbage collection block, and the data for the zone is valid, a data storage device.
  4. In claim 1, the controller is configured to determine that the corresponding timestamp for a zone is the same as the timestamp for a garbage collection block, the zone has data in the garbage collection block, and the data for the zone is valid, a data storage device.
  5. A data storage device according to claim 1, wherein maintaining the zone timestamp table includes updating the zone timestamp for the zone when the zone is reset and new data is written to the first logical block address (LBA) of the zone.
  6. As a data storage device that supports zoned namespaces, memory device; and The above memory device includes a controller coupled thereto, and the controller is, To maintain a zone timestamp table containing a corresponding timestamp for each zone; and It is configured to add timestamps to each garbage collection block of the above memory device, and A data storage device that maintains the above-mentioned zone timestamp table, including changing the timestamp for the zone from invalid to a timestamp matching the timestamp of the corresponding garbage collection block where the first logical block address (LBA) of the zone is written.
  7. delete
  8. As a data storage device that supports zoned namespaces, memory device; and The above memory device includes a controller coupled thereto, and the controller is, Scan garbage collection blocks in reverse from the last physical block address (PBA) entry to the first PBA entry - each PBA entry contains a logical block address (LBA) and data -; To determine which area the scanned PBA entry corresponds to; To examine the zone timestamp table to indicate validity or invalidity for the above zone; To examine the zone timestamp table for the zone timestamp corresponding to the LBA of the scanned PBA entry; and A data storage device configured to compare the above zone timestamp with the timestamp of the above garbage collection block.
  9. A data storage device according to claim 8, wherein determining which area is a includes shifting LBA to the right by a number of bits.
  10. In paragraph 8, the data storage device is configured such that the controller initializes all zones to be valid prior to host write commands.
  11. A data storage device according to claim 8, wherein the controller is configured to change a zone to invalid after determining that the first LBA of the zone is valid.
  12. A data storage device according to claim 8, wherein, after comparing the zone timestamp with the timestamp of the garbage collection block, the controller is configured to indicate that the data is invalid when the zone timestamp exceeds the timestamp of the garbage collection block.
  13. A data storage device according to claim 8, wherein, after comparing the zone timestamp with the timestamp of the garbage collection block, the controller is configured to indicate that the data is valid when the zone timestamp is less than or equal to the timestamp of the garbage collection block.
  14. In claim 8, the data storage device is configured such that the controller updates the zone defragmentation table by the number of start PBAs and consecutive PBAs for each zone.
  15. In paragraph 14, the above-mentioned zone fragmentation removal table is updated prior to performing a garbage collection operation, in a data storage device.
  16. As a data storage device, Memory means; and It includes a controller coupled to the above memory means, and the controller, To create and maintain a zone timestamp table; To create and maintain zone-based fragmentation removal tables; and A data storage device configured to add a timestamp to each garbage collection block of the above-mentioned memory means.
  17. In paragraph 16, the above-mentioned zone-based fragmentation removal table is, Indication of the number of moved zones; Section index; Indication of the number of fragments of data pairs; and A data storage device comprising an index of the above data pairs that are fragmented.
  18. In claim 17, the index of the data pairs being fragmented comprises a physical block address (PBA) start location and a run length for said PBA, in a data storage device.
  19. In paragraph 16, the above-mentioned zone timestamp table is a data storage device comprising a timestamp corresponding to each zone.
  20. In paragraph 19, the zone timestamp table comprises a data storage device including an indication of whether the zone within the garbage collection block is valid.

Description

High-speed garbage collection on zoned namespace SSDs Cross-reference of related applications This application claims priority to U.S. Application No. 17/350,903 filed June 17, 2021, which is assigned to the assignee of this application and incorporated herein by reference in its entirety. Technology field Embodiments of the present disclosure generally relate to zone-based data validity checks and garbage collection operations of data storage devices, such as solid state drives (SSDs). The host device transmits data to the data storage device via host commands, where the data is transmitted in units of logical blocks (LBs). Each LB is identified by a logical block address (LBA). In a zoned namespace (ZNS), multiple LBAs are grouped into a single zone. For example, if a zone has a capacity of 64 MiB and each LB has a size of 64 KiB, each zone contains 1024 LBAs, such that the first zone contains LBA-0 through LBA-1023. Data is stored in the memory devices of a data storage device in units of physical blocks (PBs). Each PB is identified by a physical block address (PBA). Each LBA is mapped to a PBA, and this mapping is stored in an entry of the flash translation layer (FTL) mapping table (FTLMT), allowing data stored on the memory device to be located using its LBA. When data operations occur, the mapping between LBAs and PBAs may need to be updated so that the new mapping is reflected in the FTLMT. However, old or invalid data may continue to be stored in the physical location of the memory device. Generally, the SSD will identify valid data and move it to a new physical location on the memory device to reclaim space occupied by invalid data. Data validation involves visiting the FTLMT, which can be slow due to its large size, particularly in high-capacity SSDs. Therefore, there is a need in the industry for improved data validation and garbage collection behavior. The present disclosure relates, generally, to zone-based data validation and garbage collection operations for a data storage device such as a solid-state drive (SSD). The data storage device includes a memory device and a controller coupled to the memory device. The data storage device supports a zoned namespace. The controller is configured to maintain a zone timestamp table containing a corresponding timestamp (TS) for each zone and to add timestamps to each garbage collection block (GCB) of the memory device. The controller is further configured to scan the garbage collection block from the last physical block address (PBA) entry to the first PBA entry, determine the zone timestamp for the scanned PBA entry, and compare the zone timestamp with the timestamp of the garbage collection block. The controller is further configured to create and maintain a zone timestamp table and to create and maintain a zone-based defragmentation table. In one embodiment, the data storage device includes a memory device and a controller coupled to the memory device. The data storage device supports a zoned namespace. The controller is configured to maintain a zone timestamp table containing a corresponding timestamp for each zone and to add timestamps to each garbage collection block of the memory device. In another embodiment, the data storage device includes a memory device and a controller coupled to the memory device. The data storage device supports a zoned namespace. The controller is configured to scan garbage collection blocks backward from the last physical block address (PBA) entry to the first PBA entry—wherein each PBA entry includes a logical block address (LBA) and data—to determine which zone the scanned PBA entry corresponds to, to examine a zone timestamp table for valid or invalid indication of the zone, to examine a zone timestamp table for a zone timestamp corresponding to the LBA of the scanned PBA entry, and to compare the zone timestamp with the timestamp of the garbage collection block. In another embodiment, the data storage device comprises a memory means and a controller coupled to the memory means. The controller is configured to create and maintain a zone timestamp table, to create and maintain a zone-based defraction table, and to add timestamps to each garbage collection block of the memory means. In a manner that allows the features of the present disclosure mentioned above to be understood in detail, a more specific description of the present disclosure, briefly summarized above, may be made with reference to embodiments, some of which are illustrated in the accompanying drawings. However, it should be noted that the accompanying drawings are merely illustrative of typical embodiments of the present disclosure and, therefore, should not be construed as limiting the scope of the present disclosure, as the present disclosure may allow for other equally effective embodiments. FIG. 1 is a schematic block diagram illustrating a storage system in which a data storage device according to specific embodiments can function as a storage dev