US-12625767-B2 - Storing status information using redundant columns
Abstract
A memory sub-system controller stores status information of the memory sub-system using redundant columns. The controller obtains a set of information representing operating conditions of a set of memory components. The controller receives user data from a host system corresponding to a portion of the set of memory components having a predetermined size. The controller appends the set of information to the user data to generate a data block that is larger than the predetermined size of the portion of the set of memory components. The controller stores the data block to the portion of the set of memory components using one or more redundant columns of the set of memory components.
Inventors
- Tomer Eliash
- Devin Batutis
Assignees
- MICRON TECHNOLOGY, INC.
Dates
- Publication Date
- 20260512
- Application Date
- 20240730
Claims (20)
- 1 . A system comprising: a set of memory components of a memory sub-system; and at least one processing device operatively coupled to the set of memory components, the at least one processing device being configured to perform operations comprising: obtaining a set of information representing operating conditions of the set of memory components; receiving user data from a host system corresponding to a portion of the set of memory components having a predetermined size; appending the set of information to the user data to generate a data block that is larger than the predetermined size of the portion of the set of memory components; and storing the data block to the portion of the set of memory components using one or more redundant columns of the set of memory components.
- 2 . The system of claim 1 , wherein the portion of the set of memory components comprises a predetermined number of sub-blocks of a memory block.
- 3 . The system of claim 2 , wherein the portion of the set of memory components is associated with an individual word line (WL) having a predetermined number of columns.
- 4 . The system of claim 1 , wherein the one or more redundant columns are used in place of one or more defective columns of the portion of the set of memory components to complete the predetermined size of the portion.
- 5 . The system of claim 1 , the operations comprising: duplicating the set of information a specified number of times.
- 6 . The system of claim 5 , the operations comprising: appending the duplicated set of information to the user data to generate the data block.
- 7 . The system of claim 6 , wherein the specified number of times comprises three, the operations comprising appending three instances of the set of information to the user data to generate the data block.
- 8 . The system of claim 7 , wherein the user data comprises three 16 KB chunks; and wherein the duplicated set of information comprises 192 bits of data.
- 9 . The system of claim 8 , wherein each bit of the duplicated set of information is stored in a cell associated with a respective column of the one or more redundant columns.
- 10 . The system of claim 1 , wherein the data block is stored using the one or more redundant columns without checking reliability of the one or more redundant columns.
- 11 . The system of claim 1 , the operations comprising: performing one or more verification operations on the user data that has been stored in the portion of the set of memory components without performing the one or more verification operations on the set of information stored in the one or more redundant columns.
- 12 . The system of claim 11 , the operations comprising: reading the user data from the portion of the set of memory components after storing the data block without reading the set of information from the one or more redundant columns; and computing a read bit error rate (RBER) for the user data that has been read to perform the one or more verification operations.
- 13 . The system of claim 1 , wherein the set of information comprises at least one of a current temperature of the memory sub-system, a data timestamp, or an alert comprising a low voltage during data programming indication.
- 14 . The system of claim 1 , the operations comprising: receiving a request to read the portion of the set of memory components; and selectively retrieving the set of information from the portion of the set of memory components in response to receiving the request.
- 15 . The system of claim 14 , the operations comprising: retrieving the data block from the portion of the set of memory components comprising the set of information; determining whether a majority of multiple copies of the set of information retrieved from the portion of the set of memory components comprises identical data; and in response to determining that the majority of the multiple copies of the set of information comprises the identical data, performing one or more memory operations based on the identical data.
- 16 . The system of claim 15 , the operations comprising: determining that a temperature gap between a program temperature indicated by the identical data and a current temperature of the set of memory components transgresses a temperature threshold; and performing cross temperature handling to read the user data from the data block to reduce probability of read failure in response to determining that the temperature gap transgresses the temperature threshold.
- 17 . The system of claim 15 , the operations comprising: determining that a time period between a program time indicated by the identical data and a current time transgresses a time threshold; and selectively adjusting a read threshold voltage to read the user data from the data block in response to determining that the time period transgresses the time threshold.
- 18 . The system of claim 15 , wherein the memory sub-system comprises a three-dimensional (3D) storage device, wherein each of the one or more redundant columns is configured to store three bits per memory cell, and wherein the identical data comprises log or diagnostic information representing usage of the memory sub-system.
- 19 . A method comprising: obtaining a set of information representing operating conditions of a set of memory components; receiving user data from a host system corresponding to a portion of the set of memory components having a predetermined size; appending the set of information to the user data to generate a data block that is larger than the predetermined size of the portion of the set of memory components; and storing the data block to the portion of the set of memory components using one or more redundant columns of the set of memory components.
- 20 . A non-transitory computer-readable storage medium comprising instructions that, when executed by at least one processing device, cause the at least one processing device to perform operations comprising: obtaining a set of information representing operating conditions of a set of memory components; receiving user data from a host system corresponding to a portion of the set of memory components having a predetermined size; appending the set of information to the user data to generate a data block that is larger than the predetermined size of the portion of the set of memory components; and storing the data block to the portion of the set of memory components using one or more redundant columns of the set of memory components.
Description
TECHNICAL FIELD This disclosure relates generally to memory sub-systems and, more specifically, to providing adaptive media management for memory components, such as memory dies. BACKGROUND A memory sub-system can be a storage system, such as a solid-state drive (SSD), and can include one or more memory components that store data. The memory components can be, for example, non-volatile memory components and volatile memory components. In general, a host system can utilize a memory sub-system to store data on the memory components and to retrieve data from the memory components. BRIEF DESCRIPTION OF THE DRAWINGS The present disclosure will be understood more fully from the detailed description given below and from the accompanying drawings of various embodiments of the disclosure. FIG. 1 is a block diagram illustrating an example computing environment including a memory sub-system, in accordance with some examples. FIG. 2 is a block diagram of an example media operations manager, in accordance with some examples. FIG. 3 is a block diagram of generating a data block that includes user data and a set of information representing operating conditions of the memory sub-system, in accordance with some examples. FIG. 4 is a flow diagram of an example method to selectively store a set of information representing operating conditions of the memory sub-system, in accordance with some examples. FIG. 5 is a block diagram illustrating a diagrammatic representation of a machine in the form of a computer system within which a set of instructions can be executed for causing the machine to perform any one or more of the methodologies discussed herein, in accordance with some examples. DETAILED DESCRIPTION The present disclosure configures a system component, such as a memory sub-system controller, to selectively store status information (e.g., including operating conditions of the memory sub-system) in one or more redundant columns of a memory array. The controller can access the status information and can combine the status information with user data received from a host system. For example, the controller can append the status information to a set of sub-blocks of user data to generate a data block. The data block can correspond to a size that is larger than a predetermined size of a portion of the set of memory components. Namely, the data block can correspond to a greater number of columns of data than that which the portion is configured to store reliably. The data block can then be stored in the portion of the set of memory components using one or more redundant columns of the memory sub-system. When the status information is needed, the status information can be retrieved from the one or more redundant columns of the portion of the set of memory components together with the user data and used to selectively perform one or more memory operations and/or diagnose failure of the memory sub-system. This improves the overall efficiency of operating the memory sub-system and reduces memory resource consumption as the status information is stored in physical space (e.g., columns) of the memory sub-system that may not be entirely reliable and that has not been allocated for storing user data. A memory sub-system can be a storage device, a memory module (or component), 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 memory components, such as memory devices (e.g., memory dies or planes across multiple memory dies) that store data. The host system can send access requests (e.g., write command, read command) 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 data (or set of data) specified by the host is hereinafter referred to as “host data,” “application data,” or “user data.” The memory sub-system can initiate media management operations, such as a write operation, on host data that is stored on a memory device. In some examples, firmware of the memory sub-system may re-write previously written host data from a location on a memory device to a new location as part of garbage collection management operations. The data that is re-written as part of garbage collection or folding operations (for example, as initiated by the firmware) is hereinafter referred to as “garbage collection data.” “User data” can include host data and garbage collection data. “System data” hereinafter refers to data that is created and/or maintained by the memory sub-system for performing operations in response to host requests and for media management. Examples of system data include, and are not limited to, system tables (e.g., logical-to-physical address mapping table), data from logging, scratch pad data, etc. Many different media management operations can be performed on the memory device. For example,