Search

US-20260126927-A1 - DEFERRED ZONE ADJUSTMENT IN ZONE MEMORY SYSTEM

US20260126927A1US 20260126927 A1US20260126927 A1US 20260126927A1US-20260126927-A1

Abstract

Various embodiments provide for deferring adjustment of a zone in a memory system or sub-system that supports zones. In particular, some embodiments provide for deferred adjustment of a zone based on detection of an error in a block of an unassigned block set, which can be tracked using a counter.

Inventors

  • Oyvind HAEHRE
  • Nathaniel WESSEL
  • Byron Harris

Assignees

  • MICRON TECHNOLOGY, INC.

Dates

Publication Date
20260507
Application Date
20251230

Claims (20)

  1. 1 . A system comprising: a memory device comprising one or more block sets, each block set comprising one or more blocks, each block set being assignable to a zone of the system; and a processing device operatively coupled to the memory device and configured to perform operations comprising: detecting an error with respect to one or more blocks of an unassigned block set; in response to detecting the error, adjusting a pending zone offline counter to indicate that there is one more zone pending a zone offline operation; receiving, from a host system, a request for a specified zone, the request comprising one of a zone activation request or a zone reset request; and in response to receiving the request: determining, based on the pending zone offline counter, whether there is at least one zone pending the zone offline operation; and in response to the pending zone offline counter indicating that there is at least one zone pending the zone offline operation: performing the zone offline operation on the specified zone; and adjusting the pending zone offline counter to indicate that there is one less zone pending the zone offline operation.
  2. 2 . The system of claim 1 , wherein the adjusting of the pending zone offline counter to indicate that there is one less zone pending the zone offline operation comprises decrementing the pending zone offline counter by a value of one.
  3. 3 . The system of claim 1 , wherein the adjusting of the pending zone offline counter to indicate that there is one more zone pending the zone offline operation comprises incrementing the pending zone offline counter by a value of one.
  4. 4 . The system of claim 1 , wherein the error is one of a write error, a read error, and an erase error.
  5. 5 . The system of claim 1 , wherein the operations comprise: in response to the pending zone offline counter not indicating that there is at least one zone pending the zone offline operation, performing the request on the specified zone.
  6. 6 . The system of claim 1 , wherein the operations comprise: in response to the pending zone offline counter indicating that there is at least one zone pending the zone offline operation, sending a notification to the host system that the request failed.
  7. 7 . The system of claim 1 , wherein the operations comprise: in response to detecting the error with respect to the one or more blocks of the unassigned block set, retiring the unassigned block set.
  8. 8 . The system of claim 1 , wherein performing the zone offline operation on the specified zone sets a state of the specified zone from active to offline.
  9. 9 . The system of claim 1 , wherein the system is a memory sub-system that comprises a memory sub-system controller, and wherein the memory sub-system controller comprises the processing device.
  10. 10 . The system of claim 1 , wherein the request comprises a zone command in accordance with a NVM Express (NVMe) Zoned Namespaces (ZNS) Command Set Specification.
  11. 11 . A method comprising: detecting, at a memory sub-system, an error with respect to one or more blocks of an unassigned block set, the memory sub-system comprising a memory device having one or more block sets, each block set comprising one or more blocks, each block set being assignable to a zone of the memory sub-system; in response to detecting the error, adjusting a pending zone offline counter to indicate that there is one more zone pending a zone offline operation; receiving, from a host system, a request for a specified zone, the request comprising one of a zone activation request or a zone reset request; and in response to receiving the request: determining, based on the pending zone offline counter, whether there is at least one zone pending the zone offline operation; and in response to the pending zone offline counter indicating that there is at least one zone pending the zone offline operation: performing the zone offline operation on the specified zone; and adjusting the pending zone offline counter to indicate that there is one less zone pending the zone offline operation.
  12. 12 . The method of claim 11 , wherein the adjusting of the pending zone offline counter to indicate that there is one less zone pending the zone offline operation comprises decrementing the pending zone offline counter by a value of one.
  13. 13 . The method of claim 11 , wherein the adjusting of the pending zone offline counter to indicate that there is one more zone pending the zone offline operation comprises incrementing the pending zone offline counter by a value of one.
  14. 14 . The method of claim 11 , wherein the error is one of a write error, a read error, and an erase error.
  15. 15 . The method of claim 11 , further comprising: in response to the pending zone offline counter not indicating that there is at least one zone pending the zone offline operation, performing the request on the specified zone.
  16. 16 . The method of claim 11 , further comprising: in response to the pending zone offline counter indicating that there is at least one zone pending the zone offline operation, sending a notification to the host system that the request failed.
  17. 17 . The method of claim 11 , further comprising: in response to detecting the error with respect to the one or more blocks of the unassigned block set, retiring the unassigned block set.
  18. 18 . The method of claim 11 , wherein performing the zone offline operation on the specified zone sets a state of the specified zone from active to offline.
  19. 19 . The method of claim 11 , wherein the request comprises a zone command in accordance with a NVM Express (NVMe) Zoned Namespaces (ZNS) Command Set Specification.
  20. 20 . At least one non-transitory machine-readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to perform operations comprising: detecting an error with respect to one or more blocks of an unassigned block set of a memory sub-system, the memory sub-system comprising a memory device having one or more block sets, each block set comprising one or more blocks, each block set being assignable to a zone of the memory sub-system; in response to detecting the error, adjusting a pending zone offline counter to indicate that there is one more zone pending a zone offline operation; receiving, from a host system, a request for a specified zone, the request comprising one of a zone activation request or a zone reset request; and in response to receiving the request: determining, based on the pending zone offline counter, whether there is at least one zone pending the zone offline operation; and in response to the pending zone offline counter indicating that there is at least one zone pending the zone offline operation: performing the zone offline operation on the specified zone; and adjusting the pending zone offline counter to indicate that there is one less zone pending the zone offline operation.

Description

PRIORITY APPLICATION This application is a continuation of U.S. Application Serial Number 18/665,196, filed May 15, 2024, which is a continuation of U.S. Application Serial Number 17/899,801, filed August 31, 2022, now issued as U.S. Patent Number 12,019,888, all of which are incorporated herein by reference in their entirety. TECHNICAL FIELD Embodiments of the disclosure relate generally to memory devices and, more specifically, to deferring adjustment of a zone in a memory system or sub-system that supports zones. BACKGROUND A memory sub-system can include one or more memory devices that store data. The memory devices can be, for example, non-volatile memory devices and volatile memory devices. In general, a host system can utilize a memory sub-system to store data at the memory devices and to retrieve data from the memory devices. BRIEF DESCRIPTION OF THE DRAWINGS The disclosure will be understood more fully from the detailed description given below and from the accompanying drawings of various embodiments of the disclosure. The drawings, however, should not be taken to limit the disclosure to the specific embodiments, but are for explanation and understanding only. FIG. 1 is a block diagram illustrating an example computing system that includes a memory sub-system, in accordance with some embodiments of the present disclosure. FIGS. 2 through 5 are flow diagrams of example methods for deferring adjustment of a zone in a memory sub-system that supports zones, in accordance with some embodiments of the present disclosure. FIG. 6 provides an interaction diagram illustrating interactions between components of a computing environment in the context of some embodiments in which a method for deferring adjustment of a zone in a memory sub-system that supports zones as described herein is performed. FIG. 7 is a block diagram of an example computer system in which embodiments of the present disclosure may operate. DETAILED DESCRIPTION Aspects of the present disclosure are directed to deferring adjustment of a zone in a memory system or sub-system that supports zones (hereafter, a zone memory sub-system). In particular, some embodiments provide for deferred adjustment (e.g., offlining) of a zone based on detection of an error in a block of an unassigned block set, which can be tracked using a counter. As used herein, a set of blocks (or block set) can comprise one or more blocks of a memory device, and an unassigned (or unbounded) block set can be one that is not currently assigned to a zone of a memory system or sub-system. A memory sub-system can be a storage device, a memory module, or a hybrid of a storage device and memory module. Examples of storage devices and memory modules are described below in conjunction with FIG. 1. In general, a host system can utilize a memory sub-system that includes one or more components, such as memory devices that store data. The host system can send access requests to the memory sub-system, such as to store data at the memory sub-system and to read data from the memory sub-system. The host system can send access requests (e.g., write command, read command) to the memory sub-system, such as to store data on a memory device at the memory sub-system, read data from the memory device on the memory sub-system, or write/read constructs (e.g., such as submission and completion queues) with respect to a memory device on the memory sub-system. The data to be read or written, as specified by a host request, is hereinafter referred to as “host data” or “user data.” The data can be stored in the memory sub-system according to zones (e.g. a zoned name space (ZNS)). Such a memory sub-system can be referred to as a zone-based memory sub-system or a zone memory sub-system. Various zones can be defined in the memory sub-system, each of which can be uniquely associated with a particular set of user data or an application. For example, a first zone can be associated with a first application (or user data identified as received from the first application) and a second zone can be associated with a second application. Host data or user data received from the first application can be stored by the memory sub-system in the first zone. The zones can be of equal or unequal size and can span the size of a single block on a die, multiple blocks on the die, an entire die or a set of dies of the memory sub-system. For example, each zone can span a respective set of blocks (or block set) in a corresponding die or set of dies rather than sequentially across a row of blocks, and a particular application can be associated with a given zone that spans a single die. User or host data associated with that application can be stored in that given zone on the single die. A zone can be defined in a memory sub-system in accordance with a NVM Express (NVMe) specification. For instance, a zone can be defined in a memory sub-system by one or more NVMe commands issued to the memory sub-system. As used herein, a zone can