Operation of the hybrid Module
阅读说明:本技术 混合模块的操作 (Operation of the hybrid Module ) 是由 K·K·姆奇尔拉 A·马尔谢 P·A·汤姆森 M·G·米勒 G·G·贝桑格 S·A·斯托勒 于 2018-03-15 设计创作,主要内容包括:本发明揭示用于操作混合模块的设备及方法。一种实例方法可包含:跟踪对所述混合模块执行的单电平胞元SLC模式循环及额外电平胞元XLC模式循环;维持对应于所述混合模块的混合模式循环计数;及使在SLC模式中操作的混合模块不同于在XLC模式中操作的混合模块而调整所述混合模式循环计数。(Apparatus and methods for operating a hybrid module are disclosed. An example method may include: tracking a single level cell SLC mode cycle and an additional level cell XLC mode cycle performed on the hybrid module; maintaining a mixed-mode cycle count corresponding to the mixing module; and adjusting the mixed mode cycle count differently for a mixed module operating in SLC mode than for XLC mode.)
1. An apparatus, comprising:
a memory comprising a hybrid module of memory cells; and
a controller coupled to the memory and configured to:
tracking a single level cell SLC mode cycle and an additional level cell XLC mode cycle performed on the hybrid module;
maintaining a mixed-mode cycle count corresponding to the mixing module; and
adjusting the mixed mode cycle count differently for a mixed module operating in SLC mode than for XLC mode.
2. The apparatus of claim 1, wherein the controller being configured to adjust the mixed mode cycle count comprises the controller being configured to increment the mixed mode cycle count, and wherein an incremental difference between an SLC mode cycle and an XLC mode cycle is based on a determined loss ratio of SLC operating loss to XLC operating loss.
3. The apparatus of any of claims 1-2, wherein the mixed-mode loop count is a proportional loop count having a value different from an actual number of physical loops performed on the mixing module.
4. The apparatus of any of claims 1-2, wherein the controller is configured to perform wear leveling based on the mixed-mode cycle count rather than based on a non-proportional cycle count corresponding to a number of actual physical cycles experienced by the mixing module.
5. The apparatus of any of claims 1-2, wherein the apparatus is a Solid State Drive (SSD).
6. The apparatus of any of claims 1-2, wherein the controller causes a difference in the mixed mode cycle count adjusted by a mixing module operating in the SLC mode and the mixed mode cycle count adjusted by a mixing module operating in the XLC mode to be based on a loss ratio of SLC operating losses to XLC operating losses due to adjusted trim settings.
7. An apparatus, comprising:
a memory comprising a hybrid module of memory cells; and
a controller coupled to the memory and configured to:
performing an operation on the hybrid module using an adjusted trim setting selected to achieve a particular loss ratio of single-level cell SLC operating loss to additional-level cell XLC operating loss;
tracking a respective physical cycle of the mixing module;
adjusting a cycle count corresponding to a particular blending module in a first mode by a first amount in response to operation of the particular blending module; and
adjusting the cycle count corresponding to the particular blending module by different amounts in response to operation of the particular blending module in different modes.
8. The apparatus of claim 7, wherein the cycle count corresponding to the particular hybrid module is a hybrid mode cycle count that is incremented differently depending on the particular loss ratio.
9. The apparatus of claim 7, wherein a total write byte (TBW) specification associated with the apparatus is based on the mixed mode cycle count.
10. The apparatus of claim 7, wherein the different amounts are based on the particular loss ratio.
11. The apparatus of any of claims 7-8, wherein the controller is configured to perform wear leveling based on the mixed mode cycle count.
12. The apparatus of claim 7, wherein the adjusted trim setting is an SLC trim setting adjusted from an initial level to achieve the particular loss ratio.
13. A method, comprising:
a single level cell SLC mode cycle and an additional level cell XLC mode cycle of a hybrid module that tracks memory cells; and
determining a mixed mode cycle count by:
adjusting a counter by a first amount for each SLC mode cycle; and
the counter is adjusted by a second amount for each XLC mode cycle.
14. The method of claim 13, wherein the method includes determining the mixed-mode cycle count block-by-block.
15. The method of claim 13, wherein the method includes determining the mixed mode cycle count according to the relationship:
where "S" is a determined number of SLC mode cycles, "X" is a determined number of XLC mode cycles, and "WR" is a loss ratio of SLC operating loss to XLC operating loss.
16. The method of claim 15, wherein the XLC mode is an N-bit mode, wherein N is a real number greater than zero.
17. A method, comprising:
performing an operation on the hybrid module using an adjusted trim setting selected to achieve a particular loss ratio of single-level cell SLC operating loss to additional-level cell XLC operating loss;
tracking a respective physical cycle of the mixing module;
adjusting a cycle count corresponding to a particular blending module in a first mode by a first amount in response to operation of the particular blending module; and
adjusting the cycle count corresponding to the particular blending module by different amounts in response to operation of the particular blending module in different modes.
18. The method of claim 17, wherein the method includes incrementing a mixed mode cycle count differently depending on the particular loss ratio.
19. The method of any one of claims 17-18, wherein the method includes performing wear leveling based on the mixed mode cycle count.
20. The method of any one of claims 17-18, wherein the method includes adjusting an SLC trim setting from an initial level to achieve the particular loss ratio.
Technical Field
The present disclosure relates generally to memory devices, and more particularly, the present disclosure relates to apparatus and methods for operating a hybrid module.
Background
Memory devices are typically provided as internal semiconductor integrated circuits in computers or other electronic devices. There are many different memory types including volatile memory and non-volatile memory. Volatile memory requires power to hold its data and includes Random Access Memory (RAM), Dynamic Random Access Memory (DRAM), and Synchronous Dynamic Random Access Memory (SDRAM), among others. Non-volatile memory can provide persistent data by retaining stored data when not powered and can include NAND flash memory, NOR flash memory, Read Only Memory (ROM), electrically erasable programmable ROM (eeprom), erasable programmable ROM (eprom), and resistance variable memory (e.g., Phase Change Random Access Memory (PCRAM), Resistive Random Access Memory (RRAM), and Magnetoresistive Random Access Memory (MRAM)), among others.
Memory devices can be grouped together to form the storage capacity of a memory system, such as a Solid State Drive (SSD). Solid state drives may include non-volatile memory (e.g., NAND flash memory and NOR flash memory) and/or may include volatile memory (e.g., DRAM and SRAM), as well as various other types of non-volatile and volatile memory.
An SSD may be used as the main storage capacity of a computer in place of a hard disk drive because a solid state drive may be superior to a hard disk drive in terms of performance, size, weight, durability, operating temperature range, and power consumption. For example, SSDs may have superior performance to magnetic disk drives because of their lack of moving parts, which may avoid seek time, latency, and other electromechanical delays associated with magnetic disk drives.
In various examples, a single-level memory cell (SLC) may refer to a cell that is programmed to a target in two different data states and is configured to store a single unit of data, such as one bit. Some memory cells (e.g., flash cells, phase change cells, etc.) may be programmed to a target of more than two different data states such that they are configured to store more than a single unit of data (e.g., 2 bits, 2.5 bits, 3 bits, 4 bits, etc.). Such cells may be referred to as multi-state memory cells, multi-cell cells, multi-level cells, or extra-level cells (XLCs). XLCs can provide higher density memory without increasing the number of memory cells, as each cell can represent more than one data unit.
Various memory cells experience wear over time due to, for example, programming and/or erase cycles. Memory devices including such memory cells may have device specifications, such as a total write byte (TBW) specification and/or a cycle count (e.g., erase count and/or program count) specification, for example, for measuring the condition and/or lifetime of the device. Some memory cells are capable of operating (e.g., programming, reading, erasing, etc.) in both SLC mode and XLC mode (e.g., 2-bit "MLC" mode, 3-bit "TLC" mode, 4-bit "QLC" mode, etc.). Such cells may be referred to as "mixed mode" memory cells. Providing accurate device specifications for mixed-mode memory devices can be challenging.
Drawings
FIG. 1 is a block diagram of an apparatus in the form of a computing system including at least one memory system, according to several embodiments of the invention.
Figure 2 illustrates a diagram of a portion of a memory array having groups of memory cells organized into mixed-mode physical blocks, according to several embodiments of the invention.
Figure 3 is a table illustrating a comparison of actual cycle counts to valid cycle counts for several different XLC modes of operation, according to several embodiments of the present invention.
Detailed Description
Apparatus and methods for operating a hybrid module are disclosed. In one or more embodiments of the present disclosure, a controller may be coupled to a memory. The controller may be configured to: tracking a Single Level Cell (SLC) mode cycle and an additional level cell (XLC) mode cycle performed on the hybrid module; maintaining a mixed-mode cycle count corresponding to the mixing module; and adjusting the mixed mode cycle count differently for a mixed module operating in SLC mode than for XLC mode.
An example method may include: a Single Level Cell (SLC) mode cycle and an additional level cell (XLC) mode cycle of a hybrid module that tracks memory cells; and determining a mixed mode cycle count by adjusting a counter by a first amount for each SLC mode cycle and a second amount for each XLC mode cycle. In several embodiments, the hybrid module is an XLC block that operates in both SLC mode and XLC mode. Host data written in SLC mode is faster and more reliable than writing host data in XLC mode. In several embodiments, once the driver reaches a certain threshold capacity, the SLC data is folded into XLC cells (e.g., via garbage collection).
The lifetime of a drive, referred to as drive lifetime, may be expressed as a measure of the total write bytes (TBW), which is the amount of bytes that can be written to the drive over the lifetime of the drive. TBW may be determined, for example, based on the number of memory blocks multiplied by the amount of data per memory block multiplied by the number of cycles. The amount of data per memory block depends on the mode of operation (e.g., XLC or SLC).
Typically, the advertising user size of the system is based on the memory written in the native XLC mode of operation. Native XLC modes of operation may include an N-bit mode, where N is a real number greater than zero. For example, in several embodiments, XLC operating modes may include: 2-bit mode per cell, which may be referred to as multi-level cell (MLC) mode; a 3-bit per cell mode, which may be referred to as a three-level cell (TLC) mode; and 4-bit per cell mode, which may be referred to as four-level cell (QLC) mode; and various other XLC modes. Accordingly, programming the blending module in SLC mode results in 2, 3, or 4 times the number of physical cycles compared to programming the block in MLC, TLC, or QLC mode, respectively, for a given amount of data. Thus, using XLC blocks in SLC mode consumes more cycles and thus requires additional XLC endurance capability.
The wear-rate of a memory block is typically proportional to the cycle count and the wear-rate and/or cycle count may be considered a measure of cell degradation. The cell endurance of an XLC block can be specified as an XLC program/erase cycle (PEC). When operating the hybrid module in either SLC or XLC mode, the loss ratio of SLC to XLC operation is a measure of cell degradation.
In a dry embodiment, the TBW specification associated with the plant is based on a mixed mode cycle count, which may be referred to as the "present invention's if-valid cycle count" because it is different from the count of actual physical cycles experienced by the mixing module. Determining the hard drive lifetime and/or TBW based on determining the valid cycle count and/or performing wear leveling based on the valid cycle count may improve performance of the memory (e.g., improve speed, improve reliability, and/or reduce power consumption) and/or enhance endurance of the memory (e.g., prolong lifetime), among other benefits. Using the valid cycle count to determine the TBW instead of the actual cycle count in the hybrid mode of operation may also provide a more accurate TBW value. Since the actual cycle count is always higher than the effective cycle count, reporting the driver lifetime (e.g., the percentage of the NAND program-erase cycle capability that has been consumed as measured by the actual erase count) results in a driver lifetime that is pessimistic than the true lifetime of the NAND.
In the following detailed description of the present invention, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration how several embodiments of the invention may be practiced. These embodiments are described in sufficient detail to enable those of ordinary skill in the art to practice the embodiments of this disclosure, and it is to be understood that other embodiments may be utilized and that process, electrical, and/or structural changes may be made without departing from the scope of the present disclosure.
As used herein, "something" may refer to one or more such things. For example, a number of memory devices may refer to one or more memory devices. Additionally, as used herein, designators such as "N," "M," "S," and "R" (particularly with respect to the reference numbers in the drawings) indicate: the number of specific features identified may be included in several embodiments of the invention.
The drawings herein follow a numbering convention in which the first digit or digits correspond to the drawing figure number and the remaining digits identify an element or component in the drawing. Similar elements or components between different figures may be identified by the use of similar digits. It should be understood that elements shown in the various embodiments herein may be added, substituted and/or eliminated to provide a number of additional embodiments of the present invention. Additionally, the proportion and the relative scale of the elements provided in the figures are intended to illustrate the various embodiments of the present invention, and are not to be used in a limiting sense.
FIG. 1 is a block diagram of an apparatus in the form of a
As illustrated in fig. 1, the
The
The memory devices 110-1, 110-N may include an array of memory cells (e.g., non-volatile memory cells). For example, the array may be a flash array having a NAND architecture. Embodiments, however, are not limited to a particular type of memory array or array architecture. As will be described further below in connection with fig. 2, the memory cells may be grouped, for example, into blocks that include physical pages of memory cells. In several embodiments, a block refers to a group of memory cells that are erased together as a unit. The number of blocks may be included in a plane of memory cells and the array may include a number of planes. As one example, a memory device may be configured to store 8KB (kilobytes) of user data per page, 128 pages of user data per block, 2048 blocks per plane, and 16 planes per device.
In operation, data may be written to and/or read from a memory device of a memory system (e.g., memory devices 110-1, …, 110-N of system 104) as, for example, a page of data. Thus, a page of data may be referred to as the data transfer size of the memory system. Data may be transferred to/from a host (e.g., host 102) as segments of data called extents (e.g., host extents). Thus, the data sector may be referred to as the data transfer size of the host.
The
For example, a mixed mode cycle count may be used in place of a non-proportional cycle count when reporting hard disk drive conditions of an SSD. In a number of embodiments, the controller can be configured to report the drive status indicator of the SSD to the host based on the mixed mode cycle count rather than based on a non-proportional cycle count corresponding to a number of actual physical cycles experienced by the mixed module.
In several embodiments, the mixed mode cycle count may be adjusted differently for a mixed module operating in SLC mode than for XLC mode. The mixed mode cycle count may be incrementally adjusted. The incremental difference between the SLC mode cycle and the XLC mode cycle may be based on a determined loss ratio of SLC operating loss to XLC operating loss. In several embodiments, the mixed mode cycle count may be determined on a block-by-block basis. For example, the cycle count corresponding to a particular hybrid module may be a hybrid mode cycle count that is incremented differently depending on the loss ratio. The different increments may be based on a particular loss ratio.
In several embodiments, the difference of the mixed mode cycle count adjusted by the controller for the mixed module operating in SLC mode and the mixed mode cycle count adjusted for the mixed module operating in XLC mode is based on a loss ratio of SLC operating loss to XLC operating loss resulting from the adjusted trim setting. The adjusted trim setting may be an SLC trim setting adjusted from an initial level to achieve a particular loss ratio. SLC trim settings may include write trim and/or erase trim. In a number of embodiments, the adjusted trim settings can include at least one of: the SLC mode erase verify voltage is reduced, the SLC mode program launch voltage is reduced, the SLC program verify voltage is reduced and the SLC mode program step voltage is reduced.
The
The wear-leveling
Fig. 2 illustrates a diagram of a portion of a
In the embodiment illustrated in fig. 2, each
It should be understood by one of ordinary skill in the art that each
In the example shown in FIG. 2, a physical page corresponding to a
It should be noted that other configurations of
Figure 3 is a table 340 illustrating a comparison of actual cycle counts to valid cycle counts for several different XLC modes of operation, according to several embodiments of the present invention. The example shown in figure 3 assumes that an amount of host data "Y" is written to the hybrid module in SLC mode and up to twice as much data "2Y" is written (e.g., associated with garbage collection) to the hybrid module (e.g., as garbage collection data) in XLC mode. Column 344 represents the actual physical cycle counts 344-1, 344-2, and 344-3 corresponding to respective XLC configurations 342-1 (MLC/2 bits per cell), 342-2 (TLC/3 bits per cell), and 342-3 (QLC/4 bits per cell). Column 346 represents mixed mode cycle counts (e.g., "valid" cycle counts) 346-1, 346-2, and 346-3 for a given loss ratio (e.g., loss ratio 2 in this example) corresponding to respective XLC configurations 342-1, 342-2, and 342-3. According to embodiments described herein, the loss ratio of SLC mode cycles to XLC mode cycles may be considered via the determined valid cycle count. For example, for determining the loss ratio of 2, the mixed mode cycle counter may be incremented by a first amount (e.g., S) for each SLC mode cycle and by a different amount (e.g., WR × X) for each XLC mode cycle, where "WR" is the loss ratio (e.g., 2 in this example), "S" is the number of actual SLC mode cycles, and "X" is the number of actual XLC mode cycles. In this manner, the count of the mixed mode loop counter may be a valid (e.g., proportional) loop count rather than a true physical loop count. Thus, using the valid cycle count of the device specification instead of the actual cycle count may result in, for example, a higher TBW specification.
In FIG. 3, for MLC mode configuration 342-1, 50% of the total actual cycles 344-1 are SLC mode cycles (e.g., 2 actual SLC mode cycles and 2 actual MLC cycles). However, considering the loss ratio of 2 yields an effective cycle count 346-1 to result in an effective SLC usage of 33% of the total cycles (1/3). For the TLC mode configuration 342-2, 60% of the total actual cycles 344-2 are SLC mode cycles (e.g., 3 actual SLC mode cycles and 2 actual TLC cycles). However, considering the loss ratio of 2 yields an effective cycle count 346-2 to result in an effective SLC usage of 42% of the total cycles (3/7). For the QLC mode configuration 342-3, 66% (2/3) of the total actual cycles 344-3 are SLC mode cycles (e.g., 4 actual SLC mode cycles and 2 actual QLC cycles). However, considering the loss ratio of 2 yields an effective cycle count 346-3 resulting in an effective SLC usage of 50% of the total cycles.
The effective cycle count provides a more accurate cell loss value. This is achieved using a loss ratio. In fig. 3, for example, the loss ratio is 2. Thus, when using the active cycle count, SLC usage accounts for 33% of the total cycles based on the memory block of equation 346-1 in MLC mode, 42% of the total cycles of equation 346-2 in TLC mode, and 50% of the total cycles of equation 346-3 in QLC mode.
In several embodiments, various trim settings corresponding to mixed mode operation may be adjusted to achieve a particular loss ratio of SLC operating loss to XLC operating loss. The trim settings that can be adjusted can include various write trims and/or erase trims. For example, write trimming may include a program start voltage, program verify voltage(s), and program step voltage(s), among others. The erase trim may include, for example, an erase verify voltage, which may be adjusted to result in a shallow erase. Adjustment of the SLC mode trim setting (e.g., reducing the program start voltage, the program verify voltage, and/or the step voltage) may reduce losses experienced by the hybrid module due to SLC operation, which may help increase the loss ratio. In addition, the SLC mode erase verify voltage may be reduced (e.g., such that it has a smaller magnitude), which may also reduce losses due to SLC mode erase and help increase the loss ratio. In several embodiments, the adjusted SLC trim settings may be applied only to the hybrid modules that are written in SLC mode. For example, performing a shallow erase operation on a hybrid module being written in XLC mode may be disadvantageous because shallow erases may affect the accuracy of XLC writes.
In one or more embodiments, the relationship may be based on
To determine a mixed mode cycle count, where "S" is a determined number of SLC mode cycles (e.g., erase), "X" is a determined number of XLC mode cycles (e.g., erase), and "WR" is a ratio of SLC operating losses to XLC operating losses. In several embodiments, a cycle count increment factor can be associated with incrementing the valid cycle count. As an example, if the cycle count increment factor is "1"Then the count of the active cycle counter is incremented by 1 for each actual SLC mode cycle and by 2 for each actual XLC mode cycle (e.g., for WR-2). However, if the cycle count increment factor is "10," the count of the active cycle counter is incremented by 10 for each actual SLC mode cycle and by 20 for each actual XLC mode cycle. Providing a cycle count incrementing factor of 10 may provide benefits such as avoiding the need to perform floating point calculations, which may occur in instances where the loss ratio is a non-integer value, for example. In the case where a cycle count incrementing factor is used, normalization may be done for the purpose of interpreting the incrementing factor.Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that an arrangement calculated to achieve the same results may be substituted for the specific embodiments shown. This disclosure is intended to cover adaptations or variations of various embodiments of the disclosure. It is to be understood that the above description has been made in an illustrative rather than a restrictive manner. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the above description. The scope of the various embodiments of the invention includes other applications in which the above structures and methods are used. The scope of various embodiments of the invention should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.
In the foregoing detailed description, various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the disclosed embodiments of the present disclosure have to use more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the detailed description, with each claim standing on its own as a separate embodiment.
- 上一篇:一种医用注射器针头装配设备
- 下一篇:用于云环境中改进的数据复制的方法及其设备