Using machine learning models to group memory cells
Patent Information
- Application Number
- CN202480085150.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-05-31
- Filing Date
- 2024-07-03
- Publication Date
- 2026-10-13
Smart Images

Figure CN122910503A_ABST
Abstract
Description
Related applications
[0001] This application claims priority to U.S. Patent Application No. 18 / 731,232, filed May 31, 2024, entitled "MACHINE LEARNING BASED WORLDLINE GROUPING FOR ADAPTIVE BACKGROUND SCAN AND LOGICAL TO PHYSICAL MAPPING", which claims priority to U.S. Provisional Patent Application No. 63 / 601,746, filed November 21, 2023, entitled "MACHINE LEARNING BASED WORLDLINE GROUPING FOR ADAPTIVE BACKGROUND SCAN AND LOGICAL TO PHYSICAL MAPPING", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This disclosure relates in its entirety to memory cells of non-volatile memory devices, and to grouping memory cells of non-volatile memory devices, for example, based on classification performed by one or more machine learning models. Background Technology
[0003] Non-volatile memory devices can include memory devices capable of storing and retaining data without an external power source. An example of a non-volatile memory device is a NAND flash memory device. In some scenarios, background scans can be performed on non-volatile memory devices to facilitate data integrity. In some scenarios, if the data originates from a host device, a logical-to-physical mapping can be used to store data on a non-volatile memory device. Summary of the Invention
[0004] In some specific implementations, one approach includes: using a machine learning model to determine reliability characteristic data associated with memory cells of a non-volatile memory device, wherein the machine learning model is trained using characterization data that identifies different reliability characteristics of one or more non-volatile memory devices; grouping a first portion of the memory cells of the non-volatile memory device into a first management group and a second portion of the memory cells of the non-volatile memory device into a second management group based on the reliability characteristic data; and managing background scans or logical-to-physical mappings of the first management group and the second management group of memory cells based on the reliability characteristic data.
[0005] In some specific implementations, a solid-state drive (SSD) includes: a non-volatile memory device; and a controller configured to: use a machine learning model to determine reliability characteristic data associated with word lines of the non-volatile memory device; determine, based on the reliability characteristic data, a first group of one or more first word lines of the non-volatile memory device and a second group of one or more second word lines of the non-volatile memory device; and perform at least one of the following: a first background scan of the first group of one or more first word lines at a first frequency different from a second frequency at which a second background scan of the second group of one or more second word lines is performed, or a logical-to-physical mapping of data to the first group of one or more first word lines or to the second group of one or more second word lines based on whether the data is of a first type or a second type of data.
[0006] In some implementations, a non-transitory computer-readable medium storing an instruction set includes one or more instructions that, when executed by one or more processors of one or more devices, cause the one or more devices to: use a machine learning model to determine reliability characteristic data associated with word lines of a non-volatile memory device; determine, based on the reliability characteristic data, a first set of one or more first word lines of the non-volatile memory device and a second set of one or more second word lines of the non-volatile memory device; and, based on the reliability characteristic data, perform at least one of the following: a background scan of the first set of one or more first word lines and the second set of one or more second word lines, or a logical-to-physical mapping of the first set of one or more first word lines and the second set of one or more second word lines. Attached Figure Description
[0007] To facilitate the identification of any particular element or action in the discussion, the most important number in the figure labels refers to the figure number of the element when it was first introduced.
[0008] Figures 1A to 1I This is a diagram illustrating a specific implementation of the example described in this article.
[0009] Figure 2 yes Figures 1A to 1I A diagram illustrating example components of one or more devices.
[0010] Figure 3A and Figure 3B This is a flowchart of an example process associated with using a machine learning model to group memory cells.
[0011] Figure 4 This is a flowchart of an example process associated with using a machine learning model to group memory cells.
[0012] Figure 5 This is a flowchart of an example process associated with using a machine learning model to group memory cells. Detailed Implementation
[0013] The following detailed description of the specific implementation of the example is with reference to the accompanying drawings. The same reference numerals in different drawings may identify the same or similar elements.
[0014] Non-volatile memory devices may be included in solid-state drives (SSDs). SSDs may also include a controller. In some scenarios, background scans may be performed on non-volatile memory devices to facilitate data integrity. Typically, background scans occur at pre-selected locations that can be specified in the SSD's controller. For example, a background scan may be performed on the same page of a memory block (or "block"), regardless of the type of non-volatile memory device. In other words, the location of the background scan does not change based on the type of non-volatile memory device. A technical problem with performing background scans in this manner is that the controller may be unable to determine the block's margin. The term "margin" may be used herein to refer to conditions that the block is approaching its operational limits. For example, the block may be running but may be approaching conditions that would cause the block to experience data corruption or data loss (e.g., approaching operational margin). The term margin may also apply to other components of the non-volatile memory device, such as, but not limited to, word lines, wires, transistors, and gates, all of which have marginal operating modes. Additionally, a technical problem with performing background scans in this manner is the impact on, but not limited to, the data integrity, quality of service (QoS), or drive aging of the non-volatile memory device.
[0015] Typically, an SSD controller stores data from the host device in the physical location of the non-volatile memory device (e.g., in one or more memory cells). A logical-to-physical (L2P) mapping process (or simply L2P mapping) can be used to store this data. Typically, data is stored without regard to whether it is a first type of data (e.g., "hot data") or a second type of data (e.g., "cold data") and without considering reliability conditions associated with the physical location. In some examples, "hot data" can refer to data from the host device, while "cold data" can refer to data obtained as part of a garbage collection operation on the non-volatile memory device or as part of a wear leveling operation on the non-volatile memory device.
[0016] In some examples, "hot data" can refer to data recently acquired by the host device (e.g., images captured within a few days from the current time), while "cold data" can refer to data that was not recently acquired by the host device (e.g., images captured a month before the current time). In some examples, "hot data" can refer to data that is frequently accessed (e.g., from the host device), while "cold data" can refer to data that is not frequently used (e.g., from the host device).
[0017] Reliability conditions may include conditions that subject a physical location to errors. These conditions may include one or more of data retention degradation, read interference, or variations across temperature. Reliability conditions may indicate that a physical location is susceptible to errors (e.g., read errors). As used herein, “data retention degradation” can be used to refer to a degraded (or reduced) data retention of a non-volatile memory device due to electronic loss that occurs during power-off conditions of the memory device. Electronic loss can affect the threshold voltage. Therefore, “data retention degradation” can indicate a change in the threshold voltage due to electronic loss. As used herein, “read interference” (or “read disturbance” or “read interference event”) can be used to refer to a change in the threshold voltage of a memory cell caused by a charge applied to an adjacent (or nearby) memory cell during one or more read operations for reading data from an adjacent cell. A change in threshold voltage (or charge) can lead to read errors when attempting to read data stored in a memory cell. Multiple memory cells and multiple word lines of a memory block may experience changes in threshold voltage. As used herein, “across temperature” can be used to refer to performing write and read operations at different temperatures. In some scenarios, data can be stored without considering durability (or write durability) associated with physical location. As used in this article, “durability” can refer to the number of programming / erase cycles that a physical location can sustain without data corruption or loss.
[0018] In some contexts, different portions (e.g., different word lines) of a memory cell in a non-volatile memory device may have different reliability characteristics (e.g., due to different data retention degradations, different read disturbances, or different temperature ranges). A reliability characteristic refers to the property of a portion of a non-volatile memory device with respect to stored data. Reliability characteristics can be based on (or be affected by) different reliability conditions. For example, after multiple program / erase cycles, one or more first word lines may experience more data retention degradation and more read disturbances than one or more second word lines. Therefore, the reliability characteristics of one or more second word lines may exceed those of one or more first word lines. In this respect, the margin of one or more first word lines may exceed the margin of one or more second word lines.
[0019] In some contexts, the reliability characteristics of one or more first word lines may be affected by physical defects associated with those first word lines. For example, variations during the manufacturing process of a non-volatile memory device can lead to physical defects in one or more first word lines. For instance, limitations relative to plasma etching can cause deformation and shape variations in memory cells, such as incomplete etching, bending, twisting, and critical dimension variations. These deformations and shape variations can cause inherent variations in the reliability of memory cells within a block of a non-volatile memory device. For example, deformations and shape variations can cause reliability characteristics to vary from one memory cell to another, thereby causing the reliability characteristics of one or more second word lines to exceed those of one or more first word lines.
[0020] First-type data (e.g., hot data) can be stored in one or more first word lines (rather than one or more second word lines), regardless of whether the one or more first word lines suffer from more data retention degradation and more read interference than the one or more second word lines. In other words, the controller can use the same L2P mapping process to store data, regardless of the data type and the reliability characteristics of the word lines. In this respect, the controller can use a static L2P mapping process to store data, which is the opposite of using a dynamic L2P mapping process, which is adjusted to take into account the data type and the reliability characteristics of the word lines. The controller may not be able to distinguish whether the data is hot or cold when storing data. Instead, the controller can simply store the data in a predetermined physical location based on a static L2P mapping, without considering the margin implied by the predetermined location. For example, the physical margin may be due to the predetermined location being more susceptible to read interference (e.g., based on the cell geometry of the predetermined location).
[0021] Storing data in a non-volatile memory device without considering the type of data or the reliability characteristics of the word lines of the non-volatile memory device allows first-type data (e.g., hot data) to be stored in word lines with a margin greater than that of other word lines. Therefore, storing data in this way increases the likelihood that first-type data (e.g., hot data) will suffer from data corruption or data loss.
[0022] In this regard, the specific implementations described herein relate to solving the technical problems described above regarding the execution of background scans and the execution of L2P mapping processes. The specific implementations described herein provide a technical solution that includes grouping portions of memory cells in a non-volatile memory device based on classification performed by one or more machine learning models. For example, the specific implementations described herein relate to a technical solution that includes grouping word lines to identify word lines with margins and word lines without margins (or to identify word lines with different margin levels). By identifying word lines with margins, a controller (associated with the non-volatile memory device) can cause a background scan to be performed on the word lines with margins to monitor the health of the word lines. In this respect, based on the background scan, the controller can cause a block flush to be performed before a word line reaches a condition that would lead to data corruption or data loss. Additionally, when the controller identifies additional word lines with margins, the controller can cause a background scan to be performed on the additional word lines with margins to monitor the health of the word lines. For example, the controller can control the location where the background scan is applied to the additional word lines with margins. For example, one or more machine learning models can be used to identify one or more word lines with margins. The number and location of one or more word lines with margin can vary. Therefore, the controller can control the application of background scans to one or more word lines with varying numbers and locations. Additionally, the controller can adjust the frequency of background scans (e.g., increasing the frequency of background scans at locations with margin). In some scenarios, the controller can cause a background scan to be performed on a single block. Alternatively, the controller can cause a background scan to be performed on multiple blocks.
[0023] By identifying word lines with margins, the controller can adjust the L2P mapping process to distinguish between first-type data (hot data) and second-type data (cold data). For example, when the controller receives a request to store a combination of hot and cold data, it can prevent hot data from being mapped to a word line with margins. Conversely, the controller can adjust the L2P mapping (which maps cold data to word lines with margins) to map hot data to word lines with no margin (or less margin). By adjusting the L2P mapping process as described herein, the controller can reduce read latency associated with non-volatile memory devices and slow down the driver aging process of non-volatile memory devices. Regarding latency, when a request to read data from an SSD is made, it is expected that the data will be provided quickly and that the data will be substantially correct. Operating components such as word lines (of non-volatile memory devices) with margins can lead to an increase in the raw bit error rate, requiring an additional amount of time for correction before output. Therefore, an increase in the bit error rate can lead to delays in reading data from the SSD, thereby increasing read latency. In addition, the raw bit error rate may exceed the correctable bit error rate associated with the data, which may lead to data corruption or loss, but is not limited to this.
[0024] The controller can use one or more machine learning models to identify word lines with and without margin. Additionally, the controller can use one or more machine learning models to group word lines and identify word lines with different margin levels. One or more machine learning models can be trained using characterization data from one or more non-volatile memory devices. The characterization data can identify different reliability conditions across different program / erase (P / E) cycles. The trained one or more machine learning models can identify word lines with and without margin for different types of non-volatile memory devices manufactured by different manufacturers. In some scenarios, the trained one or more machine learning models can identify word lines with different margin levels for different types of non-volatile memory devices manufactured by different manufacturers.
[0025] One or more machine learning models can be trained by one or more computing devices. One or more computing devices can obtain representational data of different portions of different types of non-volatile memory devices. For testing the representational data, the non-volatile memory device can be tested after exposure to a variety of different operating environments (e.g., temperature), including the age of the device, the intensity of operation, the distribution of frequently accessed data on the device, and other similar characteristics.
[0026] In the example, the characterization data corresponding to the increase in memory cell margin may be due to factors including changes in the design and manufacture of the non-volatile memory device. The margin can also be increased for the memory cells of the non-volatile memory device based on the age of the memory cells and the type of use the memory cells have undergone (e.g., the frequency of access or modification).
[0027] In some examples, one or more computing devices may use characterization data, including degraded, read-interference, and cross-temperature data, to train a single machine learning model (e.g., a single neural network). In some examples, one or more computing devices may use characterization data from various types of non-volatile memory devices to train different machine learning models after the non-volatile memory devices have undergone different P / E cycles. For example, different machine learning models may include a first machine learning model trained using characterization data from a first range of P / E cycles, a second machine learning model trained using characterization data from a second range of P / E cycles, and so on.
[0028] After training one or more machine learning models, one or more computing devices can provide the trained machine learning models to the controller of a solid-state drive (SSD). The SSD may include non-volatile memory devices. As an example, the controller may be a firmware microcontroller (e.g., a controller that uses firmware to perform operations). The SSD controller can use one or more trained machine learning models to classify memory portions of the non-volatile memory device. For example, the SSD controller can use one or more trained machine learning models to classify word lines of the non-volatile memory device into various categories for managing operations (e.g., for dynamically adjusting the location of background scans and for dynamically adjusting logical-to-physical mappings).
[0029] In some implementations, trained machine learning models can be used to classify word lines of a non-volatile memory device (e.g., at the physical layer) into various categories for managing operations described herein, such as background scans and dynamically adjusting L2P mappings to distinguish between storing hot and cold data. In some examples, the controller can use a trained machine learning model to identify word lines with margin (or word lines with margin exceeding a margin threshold). In some contexts, a word line can be a word line with margin, and adjacent word lines can be word lines without margin. Adjacent word lines can be subsequent or previous word lines. The controller can cause background scans to be performed on word lines with margin to monitor their health.
[0030] Additionally, the controller may adjust the L2P mapping process to prevent hot data from being mapped to word lines with margins. For example, when classifying word lines based on their relative margins, hot data may be physically mapped to word lines with lower relative margins, for example, because word lines with lower relative margins may be able to handle more frequent accesses over a longer period before failure. Since hot data is likely to be accessed frequently, the controller may map hot data to word lines that are less susceptible (or least susceptible) to read disturbances. Additionally, since cold data is likely not accessed frequently, the controller may cause cold data to be mapped to word lines that are less susceptible (or least susceptible) to data retention degradation. Adjusting the L2P mapping process as described herein can improve the read latency of memory cells in non-volatile memory devices and the overall driver aging characteristics of non-volatile memory devices. In some implementations, the controller may use data from machine learning models to generate and maintain data structures (e.g., lookup tables). The data structures may store information identifying one or more word lines with margins in association with different programming / erase cycles.
[0031] In some examples, the non-volatile memory device may be a single-cell (SLC) NAND flash memory device, a multi-cell (MLC) NAND flash memory device, a three-cell (TLC) NAND flash memory device, or a four-cell (QLC) flash memory device, but is not limited thereto. While some examples described herein relate to TLC NAND flash memory devices, the specific implementations described herein are applicable to other types of NAND flash memory devices or other non-volatile memory devices.
[0032] Figures 1A to 1I This is a diagram illustrating the specific implementation 100 of the example described in this article. For example... Figure 1A As shown, Example Implementation 100 includes a model training platform 110, which may include a machine learning model 115, a first training memory device 120-1, a second training memory device 120-2, up to the Mth training memory devices 120-M (collectively referred to as "training memory device 120" and individually referred to as "training memory device 120"), and an SSD 125.
[0033] Model training platform 110 may include one or more devices for training one or more machine learning models, as explained herein. Model training platform 110 may include communication devices and computing devices. For example, model training platform 110 may include a server, laptop computer, desktop computer, or similar type of device. In some implementations, model training platform 110 may be a computing device as part of a computing environment. Communication devices may include interfaces for communicating with other devices, and computing devices may include a combination of one or more processors, controllers, firmware, software, and other logical components configured to perform computational operations.
[0034] like Figure 1A As shown, the model training platform 110 may include a machine learning model 115. The model training platform 110 can train the machine learning model 115 and provide it to the controller 130 of the SSD 125. In some scenarios, the model training platform 110 can train multiple machine learning models 115. In this respect, the model training platform 110 can train one or more machine learning models 115 and provide them to the SSD 125.
[0035] Machine learning model 115 may include one or more neural networks trained to identify margin-based memory portions of a non-volatile memory device. For example, machine learning model 115 may be trained to identify word lines with different margin levels. Margins may be caused by different levels of data retention degradation, different types of read disturbances, and different temperature ranges. In some examples, margins may indicate reliability characteristics regarding data retention degradation, reliability characteristics regarding read disturbances, reliability characteristics regarding temperature ranges, and reliability characteristics regarding durability. In some contexts, machine learning model 115 may group memory cells (e.g., word lines) for dynamic (or adaptive) background scan and L2P mapping processes. In some examples, machine learning model 115 may include a neural network model.
[0036] In some contexts, representational data can be used to train a machine learning model 115 to determine different groups of word lines (e.g., different sets of word lines). Different groups of word lines may include different groups of memory cells. In some examples, different groups of word lines may be determined based on the programming / erasing cycles of the word lines. For example, word lines in a first group of word lines may be associated with a first number (or a first range) of programming / erasing cycles, word lines in a second group of word lines may be associated with a second number (or a second range) of programming / erasing cycles, and so on.
[0037] In some implementations, the machine learning model 115 may use different grouping techniques, such as hierarchical clustering, partitioned clustering, and model-based clustering, to determine different groups of word lines. In some implementations, hierarchical clustering may be performed bottom-up using agglomerative hierarchical clustering or top-down using divisive hierarchical clustering. In some implementations, partitioned clustering may be performed using K-means clustering, dynamic clustering, or K-centroid clustering. In some implementations, model-based clustering may be based on, but is not limited to, multinomial models, Gaussian mixture models, autoregressive integral moving average (ARIMA) models, Markov chain models, or hidden Markov models.
[0038] Training memory device 120 may include a non-volatile memory device, such as a flash memory device (e.g., a NAND flash memory device). Training memory device 120 may include an SLC NAND flash memory device. Alternatively, training memory device 120 may include an MLC NAND flash memory device. Alternatively, training memory device 120 may include a TLC NAND flash memory device. Alternatively, training memory device 120 may include a QLC NAND flash memory device.
[0039] In some examples, training memory device 120 can be used to generate representation data (e.g., training data) for training machine learning model 115. Training memory device 120 may include different types of non-volatile memory devices manufactured by different manufacturers. In this regard, first representation data may be generated for a first type of non-volatile memory device manufactured by a first manufacturer, second representation data may be generated for a second type of non-volatile memory device manufactured by a first manufacturer, third representation data may be generated for a third type of non-volatile memory device manufactured by a third manufacturer, and so on. In some examples, the representation data may include different bit error rates corresponding to different threshold voltages used to perform read operations on training memory device 120.
[0040] like Figure 1A As shown, SSD 125 may include controller 130, first SSD storage device 135-1, second SSD storage device 135-2, up to nth SSD storage device 135-N (collectively referred to as "SSD storage device 135" and individually referred to as "SSD storage device 135").
[0041] Controller 130 can perform operations on SSD storage device 135. For example, controller 130 can perform read operations, write operations, erase operations, and other management operations described herein using embodiments. In some examples, controller 130 may be implemented in an application-specific integrated circuit (ASIC). In some examples, controller 130 may use firmware stored on the memory of controller 130 (e.g., stored on random access memory) to perform operations.
[0042] As shown in Figure 1, the controller 130 may include characterization circuitry 131, grouping circuitry 132, and management circuitry 133. In some scenarios, the controller 130 may maintain a lookup table for word lines with different margin levels and word line categories for different P / E cycles. The characterization circuitry 131 may use a machine learning model 115 to determine the reliability characteristics of the memory cells of the SSD memory device 135. For example, the controller 130 may receive the machine learning model 115 from a model training platform 110 after the machine learning model 115 has been trained, and the characterization circuitry 131 may use the machine learning model 115 to generate reliability characteristic data regarding the reliability characteristics of the memory cells of the corresponding SSD memory device 135. The reliability characteristic data may indicate margins caused by various reliability conditions, such as data retention degradation, read interference, and cross-temperature conditions. In some implementations, the reliability characteristic data used to group memory portions of a particular SSD memory device 135 may be based on reliability characteristic data associated with the type of the training memory device 120 corresponding to the type of the particular SSD memory device 135.
[0043] In some implementations, the machine learning model 115 may be trained using characterization data that identifies the inherent variability in the reliability of individual memory cells of the training memory device 120 over time. In some implementations, the characterization data may include cell deformation data associated with the manufacturing process relevant to the type of non-volatile memory device. For example, the non-volatile memory device may have been manufactured using different processes with different reliability characteristics. As discussed herein, certain architectures used to guide the manufacturing of certain non-volatile memory devices may subject different portions of the memory cell to certain reliability characteristics, such as incomplete etching, bowing, and other variations in the critical dimension (CD) of portions of the non-volatile memory device.
[0044] In some implementations, reliability characteristic data corresponding to cell deformation and manufacturing processes of the SSD memory device 135 may be based on existing information about one or more non-volatile memory devices. In some examples, when assessing the margin of the SSD memory device 135 subjected to the grouping described herein, this characterization data regarding the physical structure of the SSD memory device 135 may be accessed by the controller 130 and provided to the characterization circuitry 131.
[0045] In some examples, the SSD storage device 135 may have reliability characteristics that can change in different ways as the device ages; for example, different parts of different SSD storage devices 135 may respond differently to wear from various usage conditions. In some specific implementations, the use of the SSD storage device 135 may include the age of the SSD storage device 134, physical structure data associated with the type of SSD storage device 135, and other relevant characteristics.
[0046] In some implementations, reliability characteristic data corresponding to the worn SSD memory device 135 may be based on tests performed on the SSD memory device 135 by the controller 130, for example, by performing tests on different parts of the SSD memory device 135. In the example, this reliability characteristic data regarding the aging of the SSD memory device 135 may be accessed by the controller 130 for use by the characterization circuitry 131 when assessing the margin of the SSD memory device 135 subjected to the memory packs described herein.
[0047] The grouping circuit 132 may include one or more devices for grouping a first portion of the memory cells of the SSD memory device 135 into a first management group and a second portion of the memory cells of the SSD memory device 135 into a second management group based on reliability characteristic data. In some embodiments, the first management group includes first memory cells identified by reliability characteristic data as having a different margin compared to second memory cells in the second management group. The difference in margin of the memory cells may be based on different reliability conditions, such as data retention degradation, read interference, and temperature fluctuations. These differences may result in different management operations performed by the management circuitry 133 of the controller 130, as described below. In some embodiments, the grouping circuitry 132 may generate grouping data to identify the management groups.
[0048] Management circuitry 133 can manage background scanning of management groups and the L2P mapping process of mapping data from the host device to the physical locations of SSD storage devices 135 (e.g., a first management group and a second management group of memory cells) based on grouped data. In this example, the first management group of memory cells is characterized as having a higher margin than the second management group of memory cells. Continuing this example, management circuitry 133 can cause first-type data (e.g., hot data) to be mapped to and stored in memory cells of the second management group (e.g., mapped to word lines of the second management group and stored therein). Additionally, management circuitry 133 can cause second-type data (e.g., cold data) to be mapped to and stored in memory cells of the first management group (e.g., mapped to word lines of the first management group and stored therein).
[0049] In this example, the second type of data is mapped to the first management group because the second type of data has a relatively low access probability, and therefore the implementation chooses the first management group with a higher margin. Similarly, in this example, the first type of data is mapped to the second management group because the first type of data has a relatively high access probability, and therefore the implementation chooses the second management group with a lower margin.
[0050] In some examples of management performed by management circuitry 133, a first management group may be characterized as having a higher margin than a second management group. In some specific implementations, due to this relatively higher margin of the first management group, management circuitry 133 may specify that background scans of the first portion of the memory cells in the first management group be performed more frequently than background scans of the second portion of the memory cells in the second management group. In this example, management circuitry 133 may direct more frequent background scans to the group with the higher margin (e.g., the first management group) because monitoring memory cells that are relatively closer to their operating limits (e.g., a relatively higher margin) than other memory cells in the non-volatile memory device can provide the benefit of preventing memory cell failures, corresponding memory cell aging, and other performance benefits described herein.
[0051] SSD memory device 135 may include a non-volatile memory device, such as a flash memory device (e.g., a NAND flash memory device). SSD memory device 135 may store data on a host computing device (not shown) connected to SSD 125. SSD memory device 135 may include an SLC NAND flash memory device, an MLC NAND flash memory device, a TLC NAND flash memory device, or a QLC NAND flash memory device. While examples described herein may be made relative to NAND flash memory devices, the specific implementations described herein are applicable to other types of non-volatile memory devices, such as phase-change memory.
[0052] As explained herein, based on the training memory device 120, the model training platform 110 can generate representational data for training the machine learning model 115. Because the training memory device 120 undergoes different reliability conditions in different P / E cycles, the representational data can indicate different reliability characteristics. Reliability conditions may include data retention degradation, read disturbances, and temperature fluctuations.
[0053] like Figure 1B As indicated by reference numeral 140, the model training platform 110 can perform read operations on the training memory device to determine read interference in different P / E cycles. In some embodiments, subsequent read operations can be performed on the training memory device 120 after it has undergone multiple program / erase cycles and previous read operations. In some scenarios, the subsequent read operations can be performed by a controller equipped with the training memory device 120. Alternatively, the subsequent read operations can be performed by the model training platform 110.
[0054] As an example, a first predetermined threshold voltage can be used to perform subsequent read operations on blocks of the first training memory device 120-1. The first predetermined threshold voltage can be included within a first threshold voltage range for a first state of charge and a second threshold voltage range for a second state of charge. The first and second states of charge can be overlapping states of charge. As used herein, “overlapping states of charge” can refer to adjacent states of charge. For example, no states of charge may be provided between overlapping states of charge. In some contexts, overlapping states of charge can refer to states of charge having overlapping threshold voltage windows.
[0055] In some scenarios, a previous read operation may be performed on a specific word line of a memory block (or "block") of the first training memory device 120-1. Therefore, one or more other word lines adjacent to the specific word line may be subject to read interference. For example, a previous read operation may change the threshold voltage of the memory cells of one or more other word lines due to a read operation performed on a memory cell of the specific word line. Read interference can be single-page read interference, full-block read interference, or potential read interference. Single-page read interference may occur due to multiple read operations performed on a single page. Full-block read interference may occur due to a read operation performed once on all pages of the block, which will be counted as one block read interference. Potential page read interference may occur after a delay between read operations.
[0056] A first predetermined threshold voltage associated with an overlapped state of charge can be used to perform subsequent read operations on one or more other word lines. In some examples, subsequent read operations may include dozens of read operations performed using the first predetermined threshold voltage. Because one or more other word lines have already experienced read interference, performing subsequent read operations using the first predetermined threshold voltage may cause read errors.
[0057] like Figure 1B As shown, in some examples, two overlapping charge states may be associated with the lowest threshold voltage of the first training memory device 120-1 because one or more other word lines may be unprogrammed word lines (e.g., portions of cells (e.g., 1 / 8 of cells) of one or more other word lines may be in an erased state). Therefore, the threshold voltage associated with one or more other word lines may be the lowest threshold voltage. One or more other word lines may be more susceptible to electromigration (e.g., electron influx) associated with read interference. Figure 1B As shown, the first predetermined threshold voltage can form a valley (e.g., valley-0). In some examples, the first predetermined threshold voltage can be adjusted based on read errors to obtain an adjusted first predetermined threshold voltage. The adjusted first predetermined threshold voltage can be used to successfully perform a read operation. After performing an additional read operation, the first training memory device 120-1 can undergo additional programming / erasing cycles and additional read operations. The adjusted first predetermined threshold voltage can form different valleys (not shown). The adjusted first predetermined threshold voltage can be adjusted to successfully perform a read operation. The process described herein can be repeated for different numbers of programming / erasing cycles. The process described herein can be performed on one or more additional training memory devices 120 in a similar manner.
[0058] like Figure 1CAs indicated by reference numeral 142, the model training platform 110 can perform read operations on the training memory device to determine data retention degradation across different programming / erase cycles. In some implementations, read operations can be performed on the training memory device 120 after it has undergone different programming / erase cycles and has been subjected to different data retention conditions (e.g., different temperatures over different time periods). In some scenarios, the read operations can be performed by a controller equipped with the training memory device 120. Alternatively, the read operations can be performed by the model training platform 110.
[0059] In some implementations, a second predetermined threshold voltage can be used to perform multiple read operations on the second training memory device 120-2. The second predetermined threshold voltage may be included within a third threshold voltage range for a third state of charge and a fourth threshold voltage range for a fourth state of charge. The third and fourth states of charge may be overlapping states of charge.
[0060] Since the second training memory device 120-2 has already undergone data degradation conditions that lead to electronic loss, performing a read operation using a second predetermined threshold voltage may cause a read error. Read operations can be performed on one or more additional training memory devices 120 in a similar manner.
[0061] like Figure 1C As shown, in some examples, two overlapping charge states may be associated with the highest threshold voltage of the second training memory device 120-2, and are therefore susceptible to the highest number of electron losses. Since two overlapping charge states are more susceptible to the highest number of electron losses, knowing the data retention degradation of two overlapping charge states can provide insight into the data retention degradation of other charge states.
[0062] like Figure 1CAs shown, the second predetermined threshold voltage can form valleys (e.g., valley-6), as explained herein. By way of explanation, a TLC memory device can include eight states to cover various combinations of eight bits. The Er state covers one of these combinations, and the A, B, C, D, E, F, and G charged states cover the remaining combinations. The charged states can be represented by the distribution of increasing threshold voltages. Curves can represent the distribution of threshold voltages. Curves of overlapping charged states can overlap. The overlapping regions between the curves in the overlapping regions can form valleys. Thus, seven valleys can be formed. In this respect, the overlapping region between the Er state and the A charged state (associated with the lowest threshold voltage) can be referred to as "valley-0". Additionally, the overlapping region between the F charged state and the G charged state (associated with the highest threshold voltage) can be referred to as "valley-6". In some examples, the second predetermined threshold voltage can be adjusted based on a read error to obtain an adjusted second predetermined threshold. The adjusted second predetermined threshold can be used to successfully perform an additional read operation after a read error. The adjusted second predetermined threshold voltage can form different valleys (not shown). After performing an additional read operation, the second training memory device 120-2 may undergo an additional programming / erasing cycle and additional data retention conditions. Therefore, the adjusted second predetermined threshold voltage can be further adjusted to ensure successful read operation after the additional programming / erasing cycle. The process described herein can be repeated for different numbers of programming / erasing cycles. The process described herein can be performed on one or more additional training memory devices 120 in a similar manner.
[0063] like Figure 1D As indicated by reference numeral 146, the model training platform 110 can perform write and read operations on the training memory device 120 to determine transtemperature effects. In some embodiments, write and read operations can be performed on the training memory device 120 after it has undergone different programming / erasing cycles. In some scenarios, the write and read operations can be performed by a controller equipped with the training memory device 120. Alternatively, the write and read operations can be performed by the model training platform 110.
[0064] In some specific implementations, multiple read and write operations can be performed on the training memory device 120 at different temperatures. For example, a first write operation can be performed at a first temperature, a first read operation can be performed at a second temperature, a second write operation can be performed at a third temperature, a second read operation can be performed at a fourth temperature, and so on.
[0065] After multiple read and write operations have been performed, a third predetermined threshold voltage can be used to perform a read operation. These read operations may be performed at a temperature different from the temperature at which write operations can be performed. Performing multiple read and write operations at different temperatures subject the training memory device 120 to temperature fluctuations. Since a portion of the training memory device 120 has already undergone temperature fluctuations, performing a read operation using the third predetermined threshold voltage may cause read errors. Read operations can be performed on one or more additional training memory devices 120 in a similar manner. In some scenarios, the model training platform 110 may determine one or more combinations of temperatures (for read and write operations) that lead to further read errors.
[0066] like Figure 1E As shown by reference numeral 148 in the accompanying drawings, the model training platform 110 can generate representation data. The representation data may include training data used to train the machine learning model 115. The representation data may be generated based on performing read operations to determine read disturbances in different P / E cycles, based on performing read operations to determine data retention degradation in different P / E cycles, and based on performing read operations to determine transtemperature effects.
[0067] Characterization data may include, but is not limited to, information about a first predetermined threshold voltage, read errors associated with using the first predetermined threshold voltage, adjusted first predetermined threshold voltage, read errors associated with using the adjusted first predetermined threshold voltage, or word lines associated with read errors. Figure 1E As shown, characterization data can include different valley shapes of different word lines subjected to read disturbances at different P / E cycles (or different ranges of P / E cycles). For example, as Figure 1E As shown, the valley-0 shape of the first range of P / E cycles is illustrated by solid lines, the valley-0 shape of the second range of P / E cycles is illustrated by dashed lines of the first pattern, the valley-0 shape of the third range of P / E cycles is illustrated by dashed lines of the second pattern, and so on. Different valley-0 shapes can illustrate the shift of the threshold voltage associated with the overlapping state having the lowest threshold voltage. As the P / E cycles increase, the threshold voltage can shift towards a higher threshold voltage.
[0068] Characterization data may include, but is not limited to, information about a second predetermined threshold voltage, read errors associated with using the second predetermined threshold voltage, adjusted second predetermined threshold voltage, read errors associated with using an adjusted first predetermined threshold voltage, or word lines associated with read errors. Figure 1E As shown, the characterization data may include data from different P / E cycles (or different ranges of P / E cycles) that have undergone degradation, preserving different valley-6 shapes for different word lines. For example, as Figure 1EAs shown, the valley-6 shape of the first range of P / E cycles is illustrated by solid lines, the valley-6 shape of the second range of P / E cycles is illustrated by dashed lines of the first pattern, the valley-6 shape of the second range of P / E cycles is illustrated by dashed lines of the second pattern, and so on. Different valley-6 shapes can illustrate the shift of the threshold voltage associated with the overlapping state having the highest threshold voltage. As the P / E cycles increase, the threshold voltage can shift towards lower threshold voltages.
[0069] Characterization data may include, but is not limited to, information about a third predetermined threshold voltage, read errors associated with the use of the third predetermined threshold voltage, or word lines associated with read errors.
[0070] like Figure 1E As indicated by reference numeral 150, the model training platform 110 can use representational data to train a machine learning model 115. The machine learning model 115 can be trained to determine word lines with and without margin for different types of non-volatile memory devices. In some contexts, different types of non-volatile memory devices may be manufactured by different manufacturers. In some examples, the machine learning model 115 can determine word lines with different margin levels based on a bit error rate corresponding to a predetermined threshold voltage (e.g., based on read errors caused by the predetermined threshold voltage). For example, the machine learning model 115 may receive bit error rate (corresponding to the predetermined threshold voltage causing read errors), programming / erasing cycles, and temperature, etc., as input. The machine learning model 115 can provide reliability characteristic data as output, which includes information about word lines with different margin levels for different programming / erasing cycles.
[0071] In some examples, information identifying word lines, different margin levels, and different programming / erasing cycles may be stored in a data structure. For example, controller 130 may (in memory associated with controller 130) store a data structure including information identifying one or more first word lines with different margin levels associated with information identifying a first range of programming / erasing cycles, information identifying one or more second word lines with different margin levels associated with information identifying a second range of programming / erasing cycles, and so on. In some examples, the memory may include random access memory.
[0072] like Figure 1EAs shown, characterization data can be used to determine different valley shapes (e.g., valley-0 shapes) of word lines under read disturbances in different programming / erasing cycles. Typically, memory cells associated with the lowest threshold voltage are most affected by read disturbances. Therefore, valleys of overlapping states of charge with the lowest threshold voltage (e.g., valley-0) can be effective indicators of read disturbances. In some examples, a shift in shape toward the lowest threshold voltage can indicate a change in the threshold voltage due to electromigration caused by read disturbances. In this respect, a shift in shape toward the lowest threshold voltage can indicate increased read disturbances. Figure 1E As shown, characterization data can be used to determine different valley shapes (e.g., valley-6 shape) of word lines under data retention degradation in different programming / erasing cycles. Typically, the memory cell associated with the highest threshold voltage is most affected by electromigration and therefore most affected by data retention degradation. Thus, the valley with the overlapping state of charge at the highest threshold voltage (e.g., valley-6) can be a valid indicator of data retention degradation. In some examples, a shift in shape toward the highest threshold voltage can indicate a change in the threshold voltage due to electromigration caused by data retention degradation. In this respect, a shift in shape toward the highest threshold voltage can indicate increased data retention degradation.
[0073] like Figure 1F As indicated by reference numeral 152 in the accompanying drawings, the model training platform 110 can determine groups of word lines. In some contexts, characterization data can be used to determine groups of word lines from those identified by the characterization data. In some examples, groups of word lines can be determined based on programming / erasing cycles, as explained herein. In some examples, groups of word lines can be determined based on signatures of threshold voltages. For example, word lines in a first group of word lines can be associated with a first signature of the threshold voltage, word lines in a second group of word lines can be associated with a second signature of the threshold voltage, and so on. Similarly, groups of word lines can be determined based on error rates associated with word lines (e.g., bit error rates), access frequencies or access patterns of word lines, and so on.
[0074] Clustering techniques can be used to determine word line groups, including but not limited to hierarchical clustering, partitioned clustering, or model-based clustering, as explained herein. In some implementations, word line groups can be determined by machine learning model 115. Alternatively, word line groups can be determined by model training platform 110.
[0075] like Figure 1F As indicated by reference numeral 154, model training platform 110 can provide a machine learning model (e.g., machine learning model 115) to controller 130. After training machine learning model 115, model training platform 110 can provide machine learning model 115 to controller 130 of SSD 125.
[0076] In some implementations, controller 130 may utilize offline training of machine learning models. For example, when preparing to manage SSD storage device 135, a combination of machine learning models 115 may be trained based on different reliability characteristics and then provided to controller 130, as indicated by reference numeral 154, for grouping the memory cells of SSD storage device 135 of SSD 125.
[0077] like Figure 1G As indicated by reference numeral 156, controller 130 can perform read operations. For example, model training platform 110 can perform read operations on pages of blocks of the first SSD memory device 135-1. In some scenarios, blocks may be pre-identified (e.g., based on the frequency of block programming / erase cycles). In some scenarios, blocks may be randomly selected. Controller 130 can perform read operations using a default threshold voltage (e.g., a default read level that may be used as an initial estimate provided by the first SSD memory device 135-1). In some scenarios, the first SSD memory device 135-1 may have experienced electronic degradation (e.g., electronic degradation may have occurred on the block) due to read interference and data retention degradation. Therefore, performing read operations using a default threshold voltage may cause read errors. In some scenarios, the default threshold voltage may include predetermined threshold voltages discussed herein.
[0078] like Figure 1G As indicated by reference numeral 158, controller 130 can provide information about read errors as input to machine learning model 115. For example, model training platform 110 can provide information identifying the bit error rate corresponding to a predetermined threshold voltage as input to machine learning model 115. In some examples, controller 130 can provide information about the number of programming / erasing cycles for a block and information about the word lines of the block as part of the input. In some examples, information about word lines may include the threshold voltage associated with the word line, information about the error rate associated with the word line (e.g., the bit error rate after correction), information about the access frequency and access pattern of the word line, etc. In some examples, information about word lines can be used by machine learning model 115 to determine different groups of word lines.
[0079] like Figure 1H As indicated by reference numeral 160, controller 130 can determine different margin levels for word lines based on the input. For example, machine learning model 115 can provide reliability characteristic data, including information about different margin levels for word lines, as output based on the input. In some specific embodiments, the output may include information about different groups of word lines and information about different margin levels for different groups of word lines.
[0080] As an example, controller 130 may use machine learning model 115 to determine different margin levels for different groups of word lines based on the input. In some specific implementations, different margin levels may indicate reliability characteristics such as different levels of read interference with different programming / erase cycles, different levels of data retention degradation with different programming / erase cycles, different levels of read interference with different programming / erase cycles (e.g., different levels of different types of read interference), or reliability characteristics regarding durability, etc.
[0081] In some implementations, the machine learning model 115 can use the bit error rate corresponding to a predetermined threshold voltage (provided as input) to determine the valleys of the overlapping charged states. For example, the machine learning model 115 can determine different shapes of the valleys of the overlapping charged states. In some contexts, to determine reliability characteristics with respect to read interference, the machine learning model 115 can determine the shape of the valleys of the overlapping charged states associated with a minimum threshold voltage. In some contexts, based on the number of programming / erase cycles identified in the input, the machine learning model 115 can determine the shape of the valleys corresponding to different numbers (or different ranges) of programming / erase cycles. The machine learning model 115 can determine a shift of the shape toward the minimum threshold voltage. The shift can indicate a change in the threshold voltage due to electromigration caused by read interference. In this respect, a shift of the shape toward the minimum threshold voltage can indicate increased read interference.
[0082] In some scenarios, to determine reliability characteristics related to data retention degradation, machine learning model 115 can determine the shape of the valley of overlapping states of charge associated with the highest threshold voltage. In some scenarios, machine learning model 115 can determine different valley shapes based on different numbers (or different ranges) of programming / erase cycles identified in the input. Machine learning model 115 can determine a shift of the shape toward the highest threshold voltage. The shift can indicate a change in the threshold voltage due to electromigration caused by data retention degradation. In this respect, a shift of the shape toward the highest threshold voltage can indicate increased data retention degradation. Machine learning model 115 can perform similar operations to determine reliability characteristics related to temperature resistance, durability, etc.
[0083] In some implementations, the threshold voltage shift may correspond to a margin level. In this respect, the margin level increases as the threshold voltage shift increases. For example, if the threshold voltage shift of the first group of word lines exceeds the threshold voltage shift of the second group of word lines, then the margin of the first group of word lines exceeds the margin of the second group of word lines. In some examples, the threshold voltage shift of a group of word lines (or a group of memory cells) may be determined as the average of the shifts of all word lines in that group.
[0084] In some implementations, based on the output from machine learning model 115, controller 130 may store information about identifier word lines, different margin levels, and different programming / erasing cycles. For example, information included in reliability characteristic data may be stored in data structure 162, as described herein.
[0085] like Figure 1I As indicated by reference numeral 164, controller 130 may perform background scans based on reliability characteristic data. For example, instead of repeatedly performing background scans on static portions of the first SSD memory device 135-1, controller 130 may utilize reliability characteristic data from machine learning model 115 to identify portions of the first SSD memory device 135-1 that have a higher margin level relative to other portions of the first SSD memory device 135-1, and perform background scans on the identified portions of the first SSD memory device 135-1 with the higher margin level. In some specific embodiments, portions of the first SSD memory device 135-1 may correspond to groups of word lines (or groups of memory cells).
[0086] In the example, the first management group identified by the grouping circuit 132 may include a first memory cell identified by data retention degradation data as having a higher margin compared to the second memory cell of the second management group. Based on this higher margin compared to the second memory cell, the implementation may perform a first background scan of the first portion of the first memory cell more frequently than performing a second background scan of the second portion of the second management group.
[0087] In some examples, the first memory cell may be a portion of one or more word lines. Therefore, controller 130 may perform background scans more frequently on one or more word lines. In some implementations, based on the capabilities of controller 130 or SSD 125, controller 130 may perform background scans more frequently on a single word line. A single word line may have a margin exceeding that of other word lines among the one or more word lines. In some implementations, based on the capabilities of controller 130 or SSD 125, controller 130 may perform background scans more frequently on multiple word lines. Multiple word lines may have a margin exceeding that of other word lines among the one or more word lines. In other words, background scans may be prioritized based on the margin level.
[0088] like Figure 1IAs further shown by reference numeral 166, controller 130 can dynamically adjust the logical-to-physical mapping based on reliability characteristic data. For example, the logical-to-physical mapping of data stored on the first SSD memory device 135-1 can be changed based on reliability characteristic data. In some embodiments, controller 130 can manage the logical-to-physical mapping based on a logical-to-physical table (L2P table). In some embodiments, the L2P table can be a mapping data structure used by firmware to translate logical addresses (e.g., addresses used by host device 170 to access data) into physical addresses (e.g., the actual memory cell locations where data is stored on SSD memory device 135). Host device 170 may include servers, laptops, desktop computers, mobile devices, tablets, smartphones, camera devices, mainframe computers, quantum computers, and other computers or mobile devices.
[0089] In some implementations, controller 130 may determine whether the data (to be stored) is of a first type (e.g., hot data) or a second type (e.g., cold data). In some scenarios, the data to be stored may have metadata that can be used to determine whether the data is of the first type or the second type. For example, the metadata may indicate whether the data was obtained as part of a garbage collection operation on the first SSD storage device 135-1 or as part of a wear leveling operation on the first SSD storage device 135-1. Therefore, controller 130 may determine that the data is of the second type. Alternatively, the metadata may indicate that the data was obtained from host device 170. Therefore, controller 130 may determine that the data is of the first type. In some scenarios, controller 130 may determine that the data from host device 170 is of the first type if the data is frequently accessed or of the second type if the data is not frequently accessed.
[0090] In the example where controller 130 receives first data with a second type of data (e.g., obtained from a garbage collection operation or wear leveling operation) from host device 1170, adaptive adjustments to the logical-to-physical mapping can improve, but are not limited to, the inherent memory cell reliability, data integrity, QoS, or lifetime of the first SSD memory device 135-1. For example, if the margin of the first set of word lines exceeds the margin of the second set of word lines, controller 130 may map the first data to the second set of word lines and the second data to the first set of word lines. The first data may be mapped to the second set of word lines (rather than the first set of word lines) because the first data is first type of data and because the second set of word lines experiences less margin than the first set of word lines.
[0091] Conversely, the second data can be mapped to the first group of word lines (rather than the second group of word lines) because the second data is of the second type and because the first group of word lines has more margin than the second group of word lines. In other words, the controller 130 can dynamically adjust the logical-to-physical mapping of the first type of data to ensure that the first type of data is mapped to word lines (or memory cells) that experience minimal read interference, data retention degradation, or temperature fluctuations, but is not limited thereto. In some scenarios, when performing logical-to-physical mapping on data (from the host device 170) that is not frequently accessed, the controller 130 can use reliability characteristic data to identify the group of word lines that experience minimal data retention degradation and can map the data to that group of word lines.
[0092] Figure 2 This is a diagram illustrating example components of device 200, which may correspond to one or more devices of FIG. 1, such as model training platform 110. In some specific implementations, model training platform 110 may include one or more devices 200 and one or more components of device 200. Figure 2 As shown, device 200 may include bus 210, processor 220, memory 230, storage component 240, input component 250, output component 260 and communication component 270.
[0093] Bus 210 includes components enabling wired or wireless communication among the components of device 200. Processor 220 includes a central processing unit, graphics processing unit, microprocessor, controller, microcontroller, digital signal processor, field-programmable gate array, application-specific integrated circuit, or another type of processing component. Processor 220 is implemented in hardware, firmware, or a combination of hardware and software. In some implementations, processor 220 includes one or more processors that can be programmed to perform functions. Memory 230 includes random access memory, read-only memory, or another type of memory (e.g., flash memory, magnetic memory, or optical memory).
[0094] Storage component 240 stores information or software related to the operation of device 200. For example, storage component 240 may include a hard disk drive, disk drive, optical disk drive, solid-state drive, compact disk, digital multifunction disk, or another type of non-transitory computer-readable medium. Input component 250 enables device 200 to receive input, such as user input or sensed input. For example, input component 250 may include a touchscreen, keyboard, keypad, mouse, buttons, microphone, switch, sensor, GPS component, accelerometer, gyroscope, or actuator. Output component 260 enables device 200 to provide output, such as via a display, speaker, or one or more light-emitting diodes. Communication component 270 enables device 200 to communicate with other devices, such as via a wired or wireless connection. For example, communication component 270 may include a receiver, transmitter, transceiver, modem, network interface card, or antenna.
[0095] Device 200 may perform one or more processes described herein. For example, a non-transitory computer-readable medium (e.g., memory 230 or storage component 240) may store a set of instructions (e.g., one or more instructions, code, software code, or program code) for execution by processor 220. Processor 220 may execute the set of instructions to perform one or more processes described herein. In some embodiments, execution of the set of instructions by one or more processors 220 causes one or more processors 220 or device 200 to perform one or more processes described herein. In some embodiments, hardwired circuitry may be used instead of or in combination with instructions to perform one or more processes described herein. Therefore, the embodiments described herein are not limited to any particular combination of hardware circuitry and software.
[0096] Figure 2 The number and arrangement of components shown are provided as an example. Device 200 may include components with... Figure 2 The components shown are compared to additional components, fewer components, different components, or components arranged differently. Additionally or alternatively, a set of components of device 200 (e.g., one or more components) may perform one or more functions described as being performed by another set of components of device 200.
[0097] Figure 3A and Figure 3BThis is a flowchart of an example process 300 associated with grouping memory cells using a machine learning model. In some implementations, one or more process blocks of Figure 1 may be executed by a controller (e.g., controller 130). In some implementations, one or more process blocks of Figure 1 may be executed by another device or group of devices (such as a model training platform (e.g., model training platform 110)) that is separate from or includes the device. Additionally or alternatively, one or more process blocks may be executed by one or more components of device 200 (such as processor 220, memory 230, storage component 240, input component 250, output component 260, and / or communication component 270).
[0098] like Figure 3A As shown, process 300 may include using a machine learning model to determine reliability characteristic data associated with memory cells of a non-volatile memory device, wherein the machine learning model is trained using characterization data identifying different reliability characteristics of one or more non-volatile memory devices (box 310). For example, a controller may use a machine learning model to determine reliability characteristic data associated with memory cells of a non-volatile memory device, wherein the machine learning model is trained using characterization data identifying different reliability characteristics of one or more non-volatile memory devices, as described above. In some specific implementations, the machine learning model is trained using characterization data identifying different reliability characteristics of one or more non-volatile memory devices.
[0099] like Figure 3A and Figure 3B As further shown, process 300 may include grouping a first portion of the memory cells of the non-volatile memory device into a first management group and a second portion of the memory cells of the non-volatile memory device into a second management group based on reliability characteristic data (box 320). For example, the controller may group the first portion of the memory cells of the non-volatile memory device into the first management group and the second portion of the memory cells of the non-volatile memory device into the second management group based on reliability characteristic data, as described above.
[0100] In some implementations, the first management group includes first memory cells identified by characterization data as having a margin exceeding that of second memory cells in the second management group (box 320-1). In some implementations, grouping a first portion of memory cells in the first management group and grouping a second portion of memory cells includes grouping the first portion of memory cells in the first management group and grouping the second portion of memory cells based on a data structure, wherein the data structure is generated based on reliability characteristic data associated with the data structure (box 320-2).
[0101] like Figure 3A and Figure 3B As further shown, process 300 may include managing background scans or logical-to-physical mappings, or both background scans and logical-to-physical mappings, for a first management group and a second management group of memory cells based on reliability characteristic data (box 330). For example, the controller may manage background scans or logical-to-physical mappings, or both background scans and logical-to-physical mappings, for a first management group and a second management group of memory cells based on reliability characteristic data, as described above.
[0102] In some implementations, the management background scan or logical-to-physical mapping, or both background scan and logical-to-physical mapping, includes performing a first background scan of the first portion of the first memory cell more frequently than performing a second background scan of the second portion of the second management group (box 330-1).
[0103] In some specific implementations, managing background scanning or logical-to-physical mapping, or both background scanning and logical-to-physical mapping, includes storing data in a second memory unit when the data is of type 1 (box 330-2), and storing data in a first memory unit when the data is of type 2 (box 330-3).
[0104] In some specific implementations, such as Figure 3B As shown, the first type of data is accessed more frequently than the second type of data, and storing data in the second memory unit includes storing data in the second memory unit based on the following when the data is of the first type: the first type of data is accessed more frequently than the second type of data, and the margin of the first memory unit exceeds the margin of the second memory unit (boxes 330-4).
[0105] In some specific implementations, such as Figure 3B As shown, the first type of data is received from the host device, while the second type of data is obtained as part of a garbage collection operation or wear leveling operation, and storing the data in the second memory cell includes storing the data in the second memory cell based on the following when the data is the first type of data: the first type of data is received from the host device, and the margin of the first memory cell exceeds the margin of the second memory cell (boxes 330-5).
[0106] In some specific implementations, the first memory cell includes a first set of one or more first word lines of a non-volatile memory device, wherein the second memory cell includes a second set of one or more second word lines of a non-volatile memory device, and wherein the one or more first word lines and the one or more second word lines are adjacent to each other (box 320-3).
[0107] although Figure 3A and Figure 3B Example blocks of process 300 are shown, but in some specific implementations, process 300 may include additional blocks, fewer blocks, different blocks, or blocks with different arrangements compared to those depicted in FIG3. Additionally or alternatively, two or more blocks of process 300 may be executed in parallel.
[0108] Figure 4 This is a flowchart of an example process 400 associated with grouping memory cells using a machine learning model. In some implementations, one or more process blocks of FIG1 may be executed by a controller (e.g., controller 130). In some implementations, one or more process blocks may be executed by another device or group of devices (such as a model training platform (e.g., model training platform 110)) that is separate from or includes the device. Additionally or alternatively, one or more process blocks may be executed by one or more components of device 200 (such as processor 220, memory 230, storage component 240, input component 250, output component 260, and / or communication component 270).
[0109] like Figure 4 As shown, process 400 may include using a machine learning model to determine reliability characteristic data associated with word lines of a non-volatile memory device (box 410). For example, the device may use a machine learning model to determine reliability characteristic data associated with word lines of a non-volatile memory device, as described above.
[0110] like Figure 4 As further shown, process 400 may include determining a first set of one or more first word lines of a non-volatile memory device and a second set of one or more second word lines of a non-volatile memory device based on reliability characteristic data (box 420). For example, the device may determine the first set of one or more first word lines of a non-volatile memory device and the second set of one or more second word lines of a non-volatile memory device based on reliability characteristic data, as described above. In some specific embodiments, the first set of one or more first word lines and the second set of one or more second word lines are adjacent (box 420-1).
[0111] like Figure 4 As further shown, process 400 may include performing a first background scan of the first group of one or more first word lines at a first frequency different from a second background scan of the second group of one or more second word lines (block 430). For example, the device may perform a first background scan of the first group of one or more first word lines at a first frequency different from a second background scan of the second group of one or more second word lines, as described above.
[0112] like Figure 4 As further shown, process 400 may include performing a logical-to-physical mapping (box 440) of data to a first group of one or more first word lines or to a second group of one or more second word lines based on whether the data is of a first type or a second type. For example, the device may perform a logical-to-physical mapping of data to a first group of one or more first word lines or to a second group of one or more second word lines based on whether the data is of a first type or a second type, as described above.
[0113] Process 400 may include additional implementations, such as any single implementation or any combination of implementations described below and / or in conjunction with one or more other processes described elsewhere herein.
[0114] although Figure 4 An example block diagram of process 400 is shown, but in some specific implementations, process 400 may include... Figure 4 The boxes depicted may be fewer, different, or arranged differently than additional boxes. Alternatively, two or more boxes of process 400 may be executed in parallel.
[0115] Figure 5 This is a flowchart of an example process 500 associated with using a machine learning model to group memory cells. In some specific implementations, Figure 5 One or more process frames can be executed by a controller (e.g., controller 130). In some specific implementations, Figure 5 One or more process frames may be executed by another device or group of devices (such as a model training platform (e.g., model training platform 110)) that is separate from or includes the device. Additionally or alternatively, Figure 5 One or more process frames may be executed by one or more components of device 200, such as processor 220, memory 230, storage component 240, input component 250, output component 260 and / or communication component 270.
[0116] like Figure 5 As shown, process 500 may include using a machine learning model to determine reliability characteristic data associated with word lines of a non-volatile memory device (box 510). For example, the device may use a machine learning model to determine reliability characteristic data associated with word lines of a non-volatile memory device, as described above.
[0117] like Figure 5As further shown, process 500 may include determining a first set of one or more first word lines of a non-volatile memory device and a second set of one or more second word lines of a non-volatile memory device based on reliability characteristic data (block 520). For example, the device may determine a first set of one or more first word lines of a non-volatile memory device and a second set of one or more second word lines of a non-volatile memory device based on reliability characteristic data, as described above.
[0118] like Figure 5 As further shown, process 500 may include performing one or both of a background scan and logical-to-physical mapping of a first group of one or more first word lines and a second group of one or more second word lines based on reliability characteristic data (box 530). For example, the device may perform one or both of a background scan and logical-to-physical mapping of a first group of one or more first word lines and a second group of one or more second word lines based on reliability characteristic data, as described above.
[0119] Process 500 may include additional implementations, such as any single implementation or any combination of implementations described below and / or in conjunction with one or more other processes described elsewhere herein.
[0120] although Figure 5 An example block diagram of process 500 is shown, but in some specific implementations, process 500 may include... Figure 5 The boxes depicted may be fewer, different, or arranged differently than additional boxes. Alternatively, two or more boxes of process 500 may be executed in parallel.
[0121] The description of various embodiments of this disclosure has been presented for illustrative purposes and is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and substance of the described embodiments. The terminology used herein is chosen to best explain the principles, practical application, or technical improvements to technologies available on the market, or to enable others skilled in the art to understand the disclosed embodiments.
[0122] As used herein, the term "component" is intended to be interpreted broadly as hardware, firmware, or a combination of hardware and software. It will be apparent that the systems or methods described herein can be implemented in various forms of hardware, firmware, or combinations of hardware and software. The actual dedicated control hardware or software code used to implement these systems or methods does not limit the specific implementation. Therefore, while the operation and behavior of systems or methods are described herein without referencing specific software code, it should be understood that systems or methods can be implemented using software and hardware based on the description herein.
[0123] As used in this article, depending on the context, "meeting the threshold" can refer to a value greater than the threshold, greater than or equal to the threshold, less than the threshold, less than or equal to the threshold, equal to the threshold, not equal to the threshold, etc.
[0124] Although specific combinations of features are recited in the claims or disclosed in the specification, these combinations are not intended to limit the disclosure of various embodiments. In fact, many of these features can be combined in ways not specifically recited in the claims or disclosed in the specification. While each dependent claim listed below may be directly subordinated to only one claim, the disclosure of various embodiments includes each dependent claim in combination with every other claim in the claim set. As used herein, the phrase “at least one” in the list of items refers to any combination of those items, including a single member. As an example, “at least one of: a, b, or c” is intended to cover a, b, c, ab, ac, bc, and abc, as well as any combination with multiple identical items.
[0125] None of the elements, actions, or instructions used herein should be construed as essential or necessary unless explicitly stated otherwise. Furthermore, as used herein, the articles “a” and “an” are intended to include one or more items and are used interchangeably with “one or more.” Additionally, as used herein, the article “the” is intended to include one or more items referenced in conjunction with the article “the” and is used interchangeably with “one or more.” Moreover, as used herein, the term “set” is intended to include one or more items (e.g., related items, unrelated items, or a combination of related and unrelated items) and is used interchangeably with “one or more.” Where only one item is intended, the phrase “only one” or similar language is used. Furthermore, as used herein, the terms “having (has, have, and having)” are intended to be open-ended terms. Additionally, the phrase “based on” is intended to mean “at least partially based on” unless explicitly stated otherwise. Additionally, as used herein, the term “or” is intended to be inclusive when used in a series and may be used interchangeably with “or” unless otherwise expressly stated (e.g., if used in conjunction with “any one” or “only one of…”).
Claims
1. A method, the method comprising: Machine learning models are used to determine reliability characteristic data associated with memory cells of non-volatile memory devices; Based on the reliability characteristic data, the first portion of the memory cell of the non-volatile memory device is grouped into a first management group, and the second portion of the memory cell of the non-volatile memory device is grouped into a second management group; as well as The background scan or logical-to-physical mapping of the first management group and the second management group of the memory cells is managed based on the reliability characteristic data.
2. The method of claim 1, wherein the first management group includes a first memory cell of the non-volatile memory device identified by the reliability characteristic data as having a margin exceeding that of a second memory cell of the non-volatile memory device in the second management group.
3. The method of claim 2, wherein managing the background scan and the logical-to-physical mapping comprises: The first background scan of the first portion of the first memory cell of the non-volatile memory device is performed more frequently than the second background scan of the second portion of the second management group of the non-volatile memory device.
4. The method of claim 2, wherein managing the background scan and the logical-to-physical mapping comprises: When the data is of the first type, the data is stored in the second memory cell of the non-volatile memory device; as well as When the data is of the second type, the data is stored in the first memory cell of the non-volatile memory device.
5. The method of claim 4, wherein the first type of data is accessed more frequently than the second type of data, and The storage of the data in the second memory unit of the non-volatile memory device includes storing the data in the second memory unit based on the following when the data is the first type of data: The first type of data is accessed more frequently than the second type of data, and The margin of the first memory cell of the non-volatile memory device exceeds the margin of the second memory cell.
6. The method of claim 4, wherein the first type of data is received from a host device. The second type of data is obtained as part of a garbage collection or wear leveling operation, and The storage of the data in the second memory cell of the non-volatile memory device includes, when the data is of the first type, storing the data in the second memory cell of the non-volatile memory device based on the following: The first type of data is received from the non-volatile memory device of the host device, and The margin of the first memory cell exceeds the margin of the second memory cell of the non-volatile memory device.
7. The method of claim 2, wherein grouping the first portion of the memory cell in the first management group and grouping the second portion of the memory cell in the second management group comprises: The first portion of the memory cell is grouped into the first management group based on the data structure, and the second portion of the memory cell is also grouped. The data structure described therein is generated based on the reliability characteristic data.
8. The method of claim 2, wherein the first memory cell is included in one or more first word lines of the non-volatile memory device. The second memory cell is included in one or more second word lines of the non-volatile memory device, and The one or more first word lines and the one or more second word lines are adjacent to each other.
9. A solid-state drive (SSD), the solid-state drive (SSD) comprising: Non-volatile memory devices; and Controller, the controller is used for: Machine learning models are used to determine reliability characteristic data associated with word lines of the non-volatile memory device; Based on the reliability characteristic data, a first group of one or more first word lines of the non-volatile memory device and a second group of one or more second word lines of the non-volatile memory device are determined; as well as Perform at least one of the following: A first background scan of the first group of one or more first word lines at a first frequency different from a second background scan of the second group of one or more second word lines performed at a second frequency different from the second background scan of the second group of one or more second word lines, or Logical-to-physical mapping is performed based on whether the data is of a first type or a second type, from the first group of one or more first word lines to the second group of one or more second word lines.
10. The SSD of claim 9, wherein the first margin of the first group of one or more first word lines exceeds the second margin of the second group of one or more second word lines, and in, In order to perform the first background scan, the controller is configured to: The first background scan is performed at a first frequency exceeding the second frequency, based on the first margin exceeding the second margin.
11. The SSD of claim 9, wherein the first type of data is received from a host device. The first margin of the first group of one or more first word lines exceeds the second margin of the second group of one or more second word lines, and The controller is configured to store the data in the second group of one or more second word lines based on the following: The first type of data is received from the host device.
12. The SSD according to claim 9, wherein, To determine the first group of one or more first word lines and the second group of one or more second word lines, the controller is configured to: The first group of one or more first word lines and the second group of one or more second word lines are determined based on the data structure. The data structure described therein is generated based on the reliability characteristic data.
13. The SSD of claim 12, wherein the data structure identifier is associated with different programming / erasing cycles having different word lines with margins.
14. The SSD of claim 9, wherein the first group of one or more first word lines and the second group of one or more second word lines are adjacent.
15. A non-transitory computer-readable medium storing an instruction set, the instruction set comprising: One or more instructions, which, when executed by one or more processors of one or more devices, cause the one or more devices to: Machine learning models are used to determine reliability characteristic data associated with word lines of non-volatile memory devices; Based on the reliability characteristic data, a first group of one or more first word lines of the non-volatile memory device and a second group of one or more second word lines of the non-volatile memory device are determined; as well as Based on the reliability characteristic data, perform at least one of the following: Background scanning of the first group of one or more first character lines and the second group of one or more second character lines, or Logical-to-physical mapping of the first group of one or more first word lines and the second group of one or more second word lines.
16. The non-transitory computer-readable medium of claim 15, wherein the one or more instructions for performing the background scan and the logical-to-physical mapping comprise: One or more instructions for performing a background scan of the first group of one or more first word lines at a first frequency different from a second frequency for performing a second background scan of the second group of one or more second word lines, based on the reliability characteristic data.
17. The non-transitory computer-readable medium of claim 16, wherein the first margin of the first group of one or more first word lines exceeds the second margin of the second group of one or more second word lines, and Wherein the first margin exceeds the second margin, and the first frequency exceeds the second frequency.
18. The non-transitory computer-readable medium of claim 15, wherein the one or more instructions for performing the background scan and the logical-to-physical mapping comprise: One or more instructions for performing a logical-to-physical mapping of data to the first group of one or more first word lines or to the second group of one or more second word lines, based on whether the data is of a first type or a second type.
19. The non-transitory computer-readable medium of claim 18, wherein the first margin of the first group of one or more first word lines exceeds the second margin of the second group of one or more second word lines. The first type of data is received from the host device, and The one or more instructions for performing the background scan and the logical-to-physical mapping include: One or more instructions for storing the data in the second group of one or more second word lines based on the following: The data is the first type of data, and The first margin exceeds the second margin.
20. The non-transitory computer-readable medium of claim 15, wherein the one or more instructions for determining the first group of one or more first word lines and the second group of one or more second word lines comprise: One or more instructions for determining, based on a data structure, the first group of one or more first word lines and the second group of one or more second word lines. The data structure described therein is generated based on the reliability characteristic data.