throbber
(19)
`
`(12)
`
`*EP002291746B1*
`EP 2 291 746 B1
`
`(11)
`
`EUROPEAN PATENT SPECIFICATION
`
`(45) Date of publication and mention
`of the grant of the patent:
`29.10.2014 Bulletin 2014/44
`
`(21) Application number: 09767334.7
`
`(22) Date of filing: 28.05.2009
`
`(54) HYBRID MEMORY MANAGEMENT
`
`HYBRID-SPEICHERVERWALTUNG
`
`GESTION DE MÉMOIRE HYBRIDE
`
`(51) Int Cl.:
`G06F 12/00 (2006.01)
`G11C 16/34 (2006.01)
`
`G06F 12/02 (2006.01)
`
`(86) International application number:
`PCT/US2009/045386
`
`(87) International publication number:
`WO 2009/155022 (23.12.2009 Gazette 2009/52)
`
`(84) Designated Contracting States:
`AT BE BG CH CY CZ DE DK EE ES FI FR GB GR
`HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL
`PT RO SE SI SK TR
`
`(74) Representative: Beresford, Keith Denis Lewis et al
`Beresford & Co.
`16 High Holborn
`London
`WC1V 6BX (GB)
`
`(30) Priority: 28.05.2008 US 127945
`
`(43) Date of publication of application:
`09.03.2011 Bulletin 2011/10
`
`(73) Proprietor: Round Rock Research, LLC
`Jersey City, NJ 07302 (US)
`
`(72) Inventors:
`• RADKE, William, H.
`Los Gatos
`CA 95030 (US)
`• MURRAY, Michael
`Mountain View
`CA 94041 (US)
`• FURUHJELM, Martin, Ragnar
`Grass Valley, CA 95949 (US)
`• GELDMAN, John
`Los Gatos
`CA 65030 (US)
`
`(56) References cited:
`WO-A1-2007/037757
`US-A1- 2008 071 973
`US-A1- 2008 104 309
`
`KR-A- 20080 040 426
`US-A1- 2008 104 309
`
`
`• LI-PIN CHANG ED - TADAYOSHI ENOMOTO ET
`AL: "Hybrid solid-state disks: Combining
`heterogeneous NAND flash in large SSDs",
`DESIGN AUTOMATION CONFERENCE, 2008.
`ASPDAC 2008. ASIA AND SOUTH PACIFIC, IEEE,
`PISCATAWAY, NJ, USA, 21 March 2008
`(2008-03-21), pages 428-433, XP031241387, ISBN:
`978-1-4244-1921-0
`• ’Asia and South Pacifie Design Automation
`Conference(ASPD AC) IEEE, 21-24 March 2008’,
`article LI-PIN CHANG: ’Hybrid Solid-State Disks:
`Combining Heterogeneous NAND Flash in Large
`SSDs.’, pages 428 - 433, XP031241387
`
`Note: Within nine months of the publication of the mention of the grant of the European patent in the European Patent
`Bulletin, any person may give notice to the European Patent Office of opposition to that patent, in accordance with the
`Implementing Regulations. Notice of opposition shall not be deemed to have been filed until the opposition fee has been
`paid. (Art. 99(1) European Patent Convention).
`
`Printed by Jouve, 75001 PARIS (FR)
`
`EP2 291 746B1
`
`Micron Ex. 1031, p. 1
`Micron v. Vervain
`IPR2021-01547
`
`

`

`1
`
`EP 2 291 746 B1
`
`2
`
`Description
`
`TECHNICAL FIELD
`
`[0001] The present disclosure relates generally to
`memory devices and in particular the present disclosure
`relates to managing data stored in a memory device hav-
`ing single and multi level memory cell storage capability.
`
`BACKGROUND
`
`[0002] Memory devices are typically provided as inter-
`nal, semiconductor, integrated circuits in computers or
`other electronic devices. There are many different types
`of memory including random-access memory (RAM),
`read only memory (ROM), dynamic random access
`memory (DRAM), synchronous dynamic random access
`memory (SDRAM), and flash memory.
`[0003] Flash memory devices have developed into a
`popular source of non-volatile memory for a wide range
`of electronic applications. Flash memory devices typical-
`ly use a one-transistor memory cell that allows for high
`memory densities, high reliability, and low power con-
`sumption. Common uses for flash memory include per-
`sonal computers, personal digital assistants (PDAs), dig-
`ital cameras, and cellular telephones. Program code and
`system data, such as a basic input/output system (BIOS),
`are typically stored in flash memory devices for use in
`personal computer systems.
`[0004] Flash memory typically utilizes one of two basic
`architectures known as NOR Flash and NAND Flash.
`The designation is derived from the logic used to read
`the devices. In a NAND type flash memory array archi-
`tecture, the floating gate memory cells of the memory
`array are arranged in a matrix of rows and columns. The
`memory cells of the array are also arranged together in
`strings, typically of 8, 16, 32, or more each, where the
`memory cells in the string are connected together in se-
`ries, source to drain, between a common source line and
`a column transfer line, often referred to as a bit line. The
`array is then accessed by a row decoder activating a row
`of floating gate memory cells by selecting the word line
`connected to their gates. In addition, bit lines can also
`be driven high or low depending on the current operation
`being performed.
`[0005] As the performance and complexity of electron-
`ic systems increase, the requirement for additional mem-
`ory in a system also increases. However, in order to con-
`tinue to reduce the costs of the system, it is desirable to
`keep the parts count low. This can be accomplished by
`increasing the memory density of an integrated circuit by
`using such technologies as multilevel cells (MLC). For
`example, MLC NAND flash memory is a cost effective
`non-volatile memory.
`[0006] Multilevel memory cells assign a data state
`(e.g., as represented by a bit pattern) to a specific range
`of threshold voltages (Vt) stored on the memory cell. Sin-
`gle level memory cells (SLC) permit the storage of a sin-
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`2
`
`gle bit of data on each memory cell. Meanwhile, MLC
`technology permits the storage of two or more bits per
`cell (e.g., 2, 4, 8, 16 bits), depending on the quantity of
`threshold voltage ranges assigned to the cell and the
`stability of the assigned threshold voltage ranges during
`the lifetime operation of the memory cell. The number of
`threshold voltage ranges (e.g., levels), which are some-
`times referred to as Vt distribution windows, used to rep-
`resent a bit pattern comprised of N-bits is 2N. For exam-
`ple, one bit may be represented by two levels, two bits
`by four levels, three bits by eight levels, etc.
`[0007] For example, a cell may be assigned a Vt that
`falls within one of four different voltage ranges of 200
`mV, each being used to represent a data state corre-
`sponding to a bit pattern comprised of two bits. Typically,
`a dead space (which is sometimes referred to as a mar-
`gin) of 0.2V to 0.4V is maintained between each range
`to keep the Vt distributions from overlapping. If the volt-
`age stored on the cell is within the first of the four Vt
`distributions, the cell in this case is storing a logical ’11’
`state and is typically considered the erased state of the
`cell. If the voltage is within the second of the four Vt dis-
`tributions, the cell in this case is storing a logical ’10’
`state. A voltage in the third distribution of the four Vt dis-
`tributions would indicate that the cell in this case is storing
`a logical ’00’ state. Finally, a Vt residing in the fourth Vt
`distribution indicates that a logical ’01’ state is stored in
`the cell.
`[0008] There are advantages and disadvantages as-
`sociated with using SLC or MLC memory. MLC memory
`is generally considered more cost effective in regards to
`memory density as MLC memory can, for example, store
`multiple bits of data in a single memory cell as opposed
`to SLC memory which is conventionally used to store one
`bit of data per cell. However, conventional SLC memory
`can be written to many (e.g., by an order magnitude)
`more times than conventional MLC memory. For exam-
`ple, a characteristic of conventional MLC memory is that
`after data has been erased and re-written about 10,000
`times the memory may become subject to significant read
`and write errors. Conventional SLC memory on the other
`hand typically may be erased and re-written about
`100,000 times before the reliability of the data begins to
`deteriorate. These density and performance character-
`istics also apply between different types of MLC arrays.
`MLC devices with four and eight levels exist today, while
`denser memories are being researched. While an MLC
`with more levels would be more efficient (higher density)
`than an MLC with less levels (lower density), these higher
`density devices may have performance penalties over
`the lower density devices. The case of a device built with
`SLC (two level) and MLC (more than two level) can be
`generalized as a device with multiple memory arrays,
`each with its own density and performance trade-offs. An
`example is a device built with an array of MLC (four level)
`and an array of MLC (eight level). There could even be
`more than two arrays of memories, such as SLC, MLC
`(four level) and MLC (eight level). A common naming
`
`Micron Ex. 1031, p. 2
`Micron v. Vervain
`IPR2021-01547
`
`

`

`3
`
`EP 2 291 746 B1
`
`4
`
`convention is to refer to SLC memory as MLC(two level)
`memory as SLC memory utilizes two levels in order to
`store one bit of data as represented by a 0 or a 1, for
`example. MLC memory configured to store two bits of
`data can be represented by MLC(four level), three bits
`of data by MLC(eight level), etc. An MLC(four level) mem-
`ory cell is typically referred to as a lower density memory
`cell than an MLC(eight level) memory due to the lower
`number of bits stored per memory cell, for example. SLC
`(e.g., MLC(two level)) is typically referred to as a lower
`density memory than MLC (four level) memory and so on.
`[0009] United States Patent Application Publication
`No.US 2008/0126680 A1 entitled "Non-volatile Memory
`System Storing Data In Single-Level Cell or Multi-level
`Cell According to Data Characteristics" by Yang-sup Lee
`et. al. describes a system storing data received from an
`application or file system in a non-volatile memory sys-
`tem of single-level cells and multi-level cells in accord-
`ance with one or more data characteristics.
`[0010] The document entitled "Hybrid solid-state disks:
`Combining heterogeneous NAND flash in large SSDs"
`by Li-Pin Chang et. al. published in the proceedings for
`the "Design Automation Conference", 2008. ASPDAC
`2008. Asia and South Pacific, IEEE, Piscataway, NJ,
`USA, 21 March 2008, pages 428 - 433, XP031241387
`describes a hybrid approach to large SSDs, which com-
`bines MLC flash and SLC flash. The aim is to complement
`the drawbacks of the two kinds of NAND flash with each
`other’s advantages. The technical issues of the design
`of a hybrid SSD pertain to data placement and wear lev-
`eling over heterogeneous NAND flash. The experimental
`results show that, by adding a 256 MB SLC flash to a 20
`GB MLC-flash array, the hybrid SSD improves over a
`conventional SSD by 4.85 times in terms of average re-
`sponse. The average throughput and energy consump-
`tion are improved by 17 % and 14%, respectively. The
`hybrid SSD is only 2% more expensive than a purely
`MLC-flash-based SSD, for which the extra cost is limited
`and very rewarded.
`[0011] United States Patent Application Publication
`No.US 2008/010 4309 A1 entitled "Flash Memory Device
`with Multi-level Cells and Method of Writing Data Therein"
`by Won-Moon Cheon et. al. describes a method of writing
`data in a flash memory system. The flash memory system
`forms an address mapping pattern according to a log
`block mapping scheme. The method includes determin-
`ing a writing pattern of data to be written in a log block,
`and allocating one of SLC and MLC blocks to the log
`block in accordance with the writing pattern of the data.
`[0012] The document WO 2007-037757 A1 discloses
`a hybrid SLC/MLC flash memory, wherein access to the
`different memory arrays can be done simultaneously (via
`a separate data bus) or alternatively (via a common bus),
`for optimising the different operation speeds and storage
`capacities.
`[0013] The document US 2008-0071973 A1 discloses
`a flash memory card, whereby a memory controller uses
`an index for converting logical addresses into physical
`
`addresses.
`[0014] For the reasons stated above, and for other rea-
`sons stated below which will become apparent to those
`skilled in the art upon reading and understanding the
`present specification, there is a need in the art for hybrid
`memory devices that are adapted to manage the utiliza-
`tion of memory of different densities, such as SLC and
`MLC memory, to take advantage of preferred operating
`characteristics associated with each type of memory.
`
`Summary of the invention
`
`[0015] The present invention is defined in the append-
`ed independent claims to which reference should be
`made. Advantageous features are set out in the append-
`ed dependent claims.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`5
`
`10
`
`15
`
`20
`
`[0016]
`
`Figure 1 is a functional block diagram of a memory
`module according to an embodiment of the present
`disclosure.
`Figure 2 is a flow chart illustrating multiple operations
`according to various embodiments of the present dis-
`closure.
`Figure 3 illustrates one storage configuration of a
`memory device according to an embodiment of the
`present disclosure.
`FIG. 4 illustrates a move operation of data according
`to an embodiment of the present disclosure.
`FIG. 5 illustrates a write operation of data according
`to an embodiment of the present disclosure.
`FIG. 6 is a functional block diagram of an electronic
`system having at least one memory device according
`to an embodiment of the present disclosure.
`
`DETAILED DESCRIPTION
`
`[0017]
`In the following detailed description of the em-
`bodiments, reference is made to the accompanying
`drawings that form a part hereof. In the drawings, like
`numerals describe substantially similar components
`throughout the several views. These embodiments are
`described in sufficient detail to enable those skilled in the
`art to practice the invention. Other embodiments may be
`utilized and structural, logical, and electrical changes
`may be made without departing from the scope of the
`present invention. The following detailed description is,
`therefore, not to be taken in a limiting sense, and the
`scope of the present disclosure is defined only by the
`appended claims.
`[0018] As discussed above, conventional SLC and
`MLC memory have both positive and negative attributes
`associated with them. SLC memory allows for faster write
`operations and can withstand far more write operations
`before reliability of the memory cells begin to degrade as
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`3
`
`Micron Ex. 1031, p. 3
`Micron v. Vervain
`IPR2021-01547
`
`

`

`5
`
`EP 2 291 746 B1
`
`6
`
`compared to MLC memory. However, SLC memory is
`not as efficient as MLC memory in that MLC memory can
`store multiple bits of data on each memory cell whereas
`SLC is used to store only a single bit per cell. Various
`embodiments of the present disclosure store data that is
`frequently updated in SLC memory and store data that
`is updated less frequently in MLC memory. This can be
`used to enhance the efficiency and reliability of memory
`devices. Although some embodiments are disclosed with
`reference to utilizing SLC and MLC memory, the various
`embodiments are not so limited. For example, one em-
`bodiment may utilize SLC memory, sometimes referred
`to as MLC (two level) memory, and MLC (four level) mem-
`ory. Another embodiment may utilize MLC (four level)
`and MLC (eight level) memory. Still other embodiments
`can utilize three or more memory arrays such as SLC,
`MLC (four level) and MLC (eight level) memory in the
`same memory device, for example. Other combinations
`are possible according to the various embodiments of
`the present disclosure. Thus the embodiments can utilize
`a combination of different level (e.g., density) memory in
`a memory device.
`[0019] Data in a non-volatile memory device can be
`accessed through an abstraction called a logical block
`address (LBA) that does not define where the data phys-
`ically resides in the device. The device can also have
`physical block addresses (PBA) that define a physical
`location, but does not define or imply what data is kept
`in this location. In a magnetic disk device, a physical block
`address translates to a specific cylinder, head, and sec-
`tor. In a solid state non-volatile memory device, the phys-
`ical block address typically refers to a specific memory
`block address in a specific memory array. Logical block
`addresses and physical block addresses are well known
`to those skilled in the art. Memory devices maintain look
`up tables which map LBAs to their assigned PBAs. Con-
`ventional memory devices that have both SLC and MLC
`memory store data in either SLC memory or MLC mem-
`ory. The data does not move between the SLC and MLC
`memory. This is in contrast with various embodiments of
`the present disclosure which cause the data stored in the
`memory device to move between SLC and MLC, such
`as based on the usage (e.g., number of write operations
`performed) of a given LBA. This usage is determined
`(e.g., tracked) and maintained for the LBAs of the mem-
`ory device according to various embodiments of the
`present disclosure. Various embodiments of the present
`disclosure might also predict the usage for a given LBA
`and assign it to SLC or MLC memory accordingly. For
`example many file systems keep a data structure which
`is used to reference files to LBAs, such as a File Allocation
`Table (FAT), LBAs associated with such structures are
`likely to be subject to write operations on every file write
`operation. Thus, LBAs associated with the FAT could
`initially be assigned to SLC memory instead of MLC
`memory. Other embodiments adjust the location of a giv-
`en LBA in SLC or MLC memory by acting in response to
`the actual tracked usage of each LBA. According to some
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`4
`
`embodiments of the present disclosure, an LBA may
`move between the SLC and MLC memory based on the
`actual usage of the LBA during operation of the memory
`device regardless of how the LBA was initially assigned.
`[0020] Figure 1 illustrates a memory device according
`to an embodiment of the present disclosure. The memory
`device in Figure 1 has been simplified to focus on various
`embodiments of the present disclosure. The memory de-
`vice 100 comprises a controller 170 for controlling and
`managing the operations of the memory device 100 ac-
`cording to various embodiments of the present disclosure
`including managing the assignment of LBAs to either
`SLC or MLC (or between different density MLC) memory.
`The controller 170 can take the form of discrete logic or
`a state machine, for example. The controller 170 also
`incorporates various means for communicating with a
`host, such as a processor 110. For example, the control-
`ler 170 may incorporate a Universal Serial Bus (USB),
`SATA, PATA, ATAB-ACS, SD, MMC, Compact Flash,
`Memory Stick, IEEE 1394 or BA-NAND interface as are
`well known in the art. Physical wear leveling of the SLC
`and MLC memory can also be handled by the controller
`170.
`[0021] The memory device 100 also comprises an ar-
`ray of SLC memory 132 and an array of MLC memory
`134. In some embodiments, the SLC 132 and MLC 134
`memory may be separate flash memory chips while in
`others the SLC and MLC memory may be contained on
`one chip. The memory arrays 132 and 134 may also be
`comprised of different density MLC memory. Array 132
`might be MLC(four level) and array 134 might be
`MLC(eight level), for example. The SLC 132 and MLC
`134 memory illustrated in Figure 1 may each be further
`comprised of multiple banks and blocks of memory. Each
`of the SLC 132 and MLC 134 memory blocks shown in
`Figure 1 can be comprised of multiple memory chips.
`The amount (e.g. capacity) of SLC and MLC memory of
`the memory device 100 may or may not be equal. In some
`embodiments (e.g. a single chip comprising SLC and
`MLC memory) the size of the SLC array and MLC array
`may be assignable depending on the desired amount of
`SLC vs. MLC memory for a given application. In another
`embodiment according to the present disclosure, the
`memory device of Figure 1 may be a two-way interleaved
`memory device having two SLC chips and two MLC
`chips. Other quantities of SLC and MLC chips are also
`possible according to various embodiments of the
`present disclosure.
`[0022] The memory device of Figure 1 also includes a
`usage table 136. The usage table is utilized by the con-
`troller 170 to store usage data (e.g. write operations per-
`formed) for the various LBAs of the memory device 100.
`For example, each time a write operation is performed
`on an LBA, the associated usage data for that LBA will
`updated. The usage table 136 may also store usage in-
`formation (e.g., a time stamp) indicating when a given
`LBA was last written to as opposed to the number of
`times it has been written to. For example, LBAs may be
`
`Micron Ex. 1031, p. 4
`Micron v. Vervain
`IPR2021-01547
`
`

`

`7
`
`EP 2 291 746 B1
`
`8
`
`mapped based on how much time has elapsed (e.g., a
`minute, a day, a month, etc.) since a particular LBA was
`last written to instead of a cumulative number of times it
`has been written to. In addition to assigning a time stamp
`to an LBA, LBAs may instead be assigned to a time group.
`LBAs assigned to a first time group may represent LBAs
`used in the current month whereas LBAs assigned to a
`second time group may represent LBAs used last month,
`for example. According to various embodiments, usage
`might also comprise tracking which LBAs are utilized at
`power up of the memory device or during a particular
`time frame following power up. The particular time frame
`may also follow a reset operation, for example. These
`LBAs may then be assigned to lower density (e.g., SLC)
`memory which can typically be accessed faster than
`higher density (e.g., MLC(four level)) memory. This can
`improve start up performance such as reducing access
`time during a boot load operation, for example. Usage
`data stored in the usage table 136 is not limited to usage
`of individual LBAs. Usage data may also be stored per-
`taining to use of multiple or ranges of LBAs. The usage
`table can also be cleared if desired. For example, a host
`110 connected to the memory device 100 might send a
`particular command instructing that all or part of the us-
`age table 136 be cleared. An example of a usage table
`is shown in block 136 of Figure 1.
`[0023] The usage table 136 may be stored in a stan-
`dalone component such as an integrated circuit device
`having one or both of a volatile and non-volatile memory
`portion. For embodiments having both volatile and non-
`volatile memory, the volatile memory can maintain the
`current usage table during operation of the memory de-
`vice. The usage table could then periodically be copied
`from the volatile memory to the non-volatile memory. The
`current usage table 136 can also be loaded into the vol-
`atile memory at power up and transferred back to non-
`volatile memory during power down of the memory de-
`vice. Other embodiments allow for the usage table 136
`data to be stored in the memory array 132/134 of the
`memory device 100. For example, the usage table data
`may be stored along with (e.g. appended to) the data
`associated with the LBA in the memory device. In other
`embodiments, the usage table may be stored in a dedi-
`cated location of either the SLC 132 or MLC 134 memory.
`[0024] Figure 1 also illustrates the memory device 100
`coupled to a processor 110. The memory device 100 is
`coupled to the processor 110 by way of an interface 174,
`which may comprise multiple busses and signals. For
`example, control signals generated by the processor can
`be coupled to the memory device by a control bus 172.
`Additionally, an address bus 142 and a data bus 162 are
`also shown in the figure. The interface 174 may conform
`to one of the interface protocols discussed above (e.g.
`USB, SATA, PATA, et al.).
`[0025] Figure 2 illustrates a flow chart of some of the
`various activities performed by the controller 170 in im-
`plementing embodiments of the present disclosure. In
`some embodiments of the present disclosure, the con-
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`5
`
`troller of the memory device determines where an LBA
`200 is to be assigned in the memory device 100. As dis-
`cussed above, the FAT table is likely to be frequently
`used. Thus, according to one embodiment of the present
`disclosure, the controller 170 of the memory device 100
`may assign LBAs associated with the FAT to SLC (e.g.,
`MLC(two level) memory 214. The FAT LBAs according
`to this embodiment may also be permanently assigned
`(e.g. ’pinned’) to SLC memory. In other embodiments,
`the controller may assign the FAT LBAs to MLC memory
`206 and the controller 170 can move the FAT tables
`based on usage. Thus, according to one embodiment,
`all LBAs may be initially written to MLC memory 206. In
`other embodiments, all LBAs may be initially assigned
`to SLC memory 214. Still other embodiments may assign
`all LBAs having a write operation to be performed thereon
`to SLC memory. In these embodiments, should the LBA
`currently being written to be already assigned to MLC
`memory, the controller 170 can determine if the LBA be-
`ing written to should ultimately be assigned to SLC or
`MLC memory.
`[0026] The controller also tracks and maintains (e.g.,
`updates) 208/216 the usage table data for LBAs of the
`memory device during operation. If the usage of an LBA
`currently assigned to MLC memory exceeds some
`threshold value 210, the controller will attempt to move
`the data associated with the LBA (and reassign the LBA
`to the location in) to SLC memory 212. In one embodi-
`ment, this threshold value may be 1000 write operations
`performed on a given LBA. The embodiments however
`are not limited to a single threshold value. For example,
`the threshold value may be some fraction of the total write
`operations performed on the memory 212. If the usage
`for all the LBAs assigned to MLC memory remain less
`than the threshold value, then those LBAs will continue
`to be assigned to the MLC memory.
`[0027] According to one embodiment, each time an
`LBA is assigned to SLC memory, either from the control-
`ler 214 or because an LBA assigned to MLC memory
`has exceeded some threshold value 212, a determination
`is made regarding whether a sufficient number of spare
`locations remain in the SLC memory 218. Spare locations
`are desirable to allow for data handling and housekeep-
`ing functions to be performed on the memory device. If
`sufficient spares will exist in the SLC after the current
`write operation to SLC takes place, no further action by
`the controller is necessary and the LBA is assigned to
`the SLC memory. If however, the current assignment of
`an LBA to SLC memory will result in too few remaining
`spare locations in SLC memory, the controller will per-
`form data management functions according to various
`embodiments of the present disclosure in order to pre-
`serve a minimum number of spare locations in the SLC
`memory. For example, the controller will review the us-
`age data for each LBA currently assigned to SLC. Which-
`ever LBA currently assigned to SLC memory has the least
`usage associated with it, the data associated with that
`LBA will be moved to MLC memory 220 (e.g., the next
`
`Micron Ex. 1031, p. 5
`Micron v. Vervain
`IPR2021-01547
`
`

`

`9
`
`EP 2 291 746 B1
`
`10
`
`higher density memory.) In embodiments utilizing a time
`stamp to represent usage for the LBAs, the least recently
`used LBA assigned to SLC memory would be moved to
`MLC memory. According to one or more embodiments,
`data may be moved to the more dense memory (e.g.,
`from SLC to MLC) if an LBA has not experienced a write
`operation over a particular period of time. For example,
`data may be moved from MLC(four level) to MLC(eight
`level) memory if the time stamp of the corresponding LBA
`indicates that the LBA has not been written to in more
`than a month. Other durations are possible according to
`various embodiments of the disclosure.
`[0028] By performing the move operation of the data
`associated with the least used LBA currently assigned
`to SLC memory to MLC memory 220, a sufficient amount
`of spare locations should remain in SLC memory after
`the current LBA write operation to SLC memory is com-
`pleted. The controller, according to some embodiments
`may also prevent the write operation to SLC memory
`from proceeding if the usage of the least used LBA cur-
`rently assigned to SLC memory exceeds some amount.
`In this situation, the LBA prevented from being assigned
`to SLC memory might be assigned to MLC memory in-
`stead. When data associated with an LBA is moved from
`SLC to MLC 220, or vice versa 212, the usage data as-
`sociated with that LBA is not incremented, at least ac-
`cording to one embodiment of the present disclosure.
`[0029] The controller 170 can also perform physical
`wear leveling operations on the memory device while the
`movement of data associated with LBAs either within or
`between MLC and SLC memory is occurring according
`to various embodiments of the present disclosure. For
`example, an LBA assigned to MLC memory might be re-
`assigned to another PBA also located in MLC memory.
`Thus, the LBA remains in the desired area of memory
`(e.g. MLC or SLC) without performing all of the write op-
`erations on the same physical memory cells of the mem-
`ory area. Similar physical wear leveling is also performed
`on the SLC area of memory.
`[0030] Figures 3-5 illustrates a data move and write
`operation according to an embodiment of the present dis-
`closure. Figure 3 illustrates a two-way interleaved em-
`bodiment of a memory device 300. This configuration
`allows for large pieces of data to be shared by two mem-
`ory chips. However, memory devices according to the
`present disclosure are not limited to two-way interleaved
`configurations. The memory device 300 of Figure 3 is
`shown having a controller 302, a SLC memory 306, an
`MLC memory 308 and a data bus coupling the SLC and
`MLC memory to the controller 304. In the embodiment
`shown in Figure 3, the SLC memory 306 comprises two
`flash SLC memory integrated circuits (e.g. chips)
`310/312. The MLC memory 308 of the memory device
`300 shown in Figure 3 comprises two flash MLC memory
`chips 314/316. Other embodiments have different num-
`bers of SLC and MLC chips, for example. The memory
`device shown in Figure 3 has been simplified to focus on
`the embodiments of the present disclosure. Other com-
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`6
`
`ponents may be included in the memory device 300 as
`are known to those skilled in the art.
`[0031] Figure 3 shows locations 322 in SLC memory
`306 along with their assigned LBAs and respective usage
`data. As discussed with respect to Figure 1, the usage
`data may be stored in a location associated with the LBA
`or may be stored in a different location 136. The embod-
`iment of Figure 3 illustrates an embodiment wherein four
`LBAs have been previously assigned to SLC memory.
`Other embodiments may only have LBAs assigned to
`MLC memory at any given time. In the present embodi-
`ment shown in Figure 3, the minimum number of spare
`SLC locations is two. However, embodiments of the
`present disclosure are not limited to maintaining two
`spare locations.
`[0032] Figure 4 illustrates an operation in which an LBA
`is to be assigned to SLC memory as is shown in block
`214 of Figure 2. In this example, a move operation is
`performed in order to make room for the new data and
`so as to maintain the required two spare locations in the
`SLC memory 306. Again referencing Figure 2, the data
`associated with the LBA having the lowest usage is
`moved 220 to MLC memory in order to maintain the min-
`imum number of spare locations in SLC memory 306. In
`this example, the data associated with LBA=2 (having a
`USAGE=1), which is assigned to location 322 is moved
`418 to MLC memory 308. Figure 5 illustrates a write op-
`eration 520 on LBA=7, wherein the associated data is
`written to the SLC memory 306. The write operation 520
`and the move operation 418 may be performed in any
`order. The embodiments are not so limited that the move
`operation 418 must occur prior to the write operation 520.
`As illustrated in Figure 5, one of the two required spare
`memory locations has effectively been relocated in the
`SLC memory. However, upon the conclusion of the write
`operation 520, two required spare locations are shown
`to still exist in the SLC memory 306. It should be noted
`that many more memory locations and LBAs are possible
`according to various embodiments of the present disclo-
`sure than are shown in Figures 3-5. In addition, move
`operations according to various embodiments may also
`involve moving a number of LBAs along with the LBA
`whose usage was used to determine a move operation
`was desired. For example, according to some embodi-
`ments, if any memory segment of the memory has an
`architecture that is most effectively used with accesses
`of multiples of logical blocks (e.g., 4 LBAs, 8 LBAs, etc.),
`the various embodiments may move groups of LBAs of
`these various sizes even if LBA usage is tracked by single
`LBAs. For example, if it has been determined that LBA
`= 1 is to be moved, LBAs 2, 3, and 4 may also be moved
`during the same operation according to various embod-
`iments of the present disclosure.
`[0033] Referring again to Figure 1, embodiments ac-
`cording to the present disclosure can incorporate a mem-
`ory device 100 having a standard in

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket