throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2009/0300269 A1
`(43) Pub. Date:
`Dec. 3, 2009
`Radke et al.
`
`US 200903 00269A1
`
`(54) HYBRID MEMORY MANAGEMENT
`
`Publication Classification
`
`(76) Inventors:
`
`William H. Radke, Los Gatos, CA
`(US); Michael Murray, Mountain
`View, CA (US); Martin Ragnar
`Furuhjelm, Grass Valley, CA (US);
`John Geldman, Los Gatos, CA
`(US)
`Correspondence Address:
`LEFFERT JAY & POLGLAZE, P.A.
`Attn: Thomas W. Leffert
`P. O. Box 581009
`Minneapolis, MN 55458-1009 (US)
`
`(21) Appl. No.:
`
`12/127,945
`
`(22) Filed:
`
`May 28, 2008
`
`(51) Int. Cl.
`(2006.01)
`G06F 2/02
`(52) U.S. Cl. ................................. 711/103; 711/E12.008
`(57)
`ABSTRACT
`Methods and apparatus for managing data storage in hybrid
`memory devices utilizing single leveland multilevel memory
`cells. Logical addresses can be distributed between single
`level and multilevel memory cells based on a frequency of
`write operations performed. Initial storage of data corre
`sponding to a logical address in memory can be determined
`by various methods including initially writing all data to
`single level memory or initially writing all data to multilevel
`memory. Other methods permit a host to direct logical
`address writes to single level or multilevel memory cells
`based on anticipated usage.
`
`200
`
`
`
`WRITE DATA TO
`INTENDED LBA
`
`CONTROLLER
`DIRECTS WRITE OF
`DATA TOINTENDED
`LBAN MLC MEMORY
`
`
`
`
`
`CONTROLLER
`DiRECTS WRITE OF
`DATA TO INTENDED
`LBA IN SLC MEMORY
`
`
`
`
`
`214
`
`208
`
`CONTROLLER
`TRACKS WRITESTO
`LBAS RESIDING IN
`MLC AND SC
`MEMORY
`
`CONTROLLER
`TRACKS WRITES TO 216
`BAS RESIDING IN
`MLC AND SLC
`MEMORY
`
`ANYMCLBA
`USAGE EXCEEDING
`THRESHOLD?
`
`
`
`SUFFICIENT
`SPARES IN SLC
`MEMORY?
`
`
`
`
`
`
`
`
`
`
`
`
`
`MOVELEAST
`WRITTENTO LEA
`RESIDING IN SLC
`MEMORY TO MLC
`MEMORY
`
`*
`
`
`
`MOVE IDENTIFIED
`LBATO SLC
`MEMORY
`
`
`
`
`
`Micron Ex. 1052, p. 1
`Micron v. Vervain
`IPR2021-01550
`
`

`

`Patent Application Publication
`
`Dec. 3, 2009 Sheet 1 of 6
`
`US 2009/0300269 A1
`
`
`
`AO-AX
`CONTROLLER
`PROCESSOR AH) 170
`
`---
`
`142
`
`MEMORY
`ARRAY
`132
`
`MLC
`MEMORY
`ARRAY
`134
`
`FIG. 1
`
`Micron Ex. 1052, p. 2
`Micron v. Vervain
`IPR2021-01550
`
`

`

`Patent Application Publication
`
`Dec. 3, 2009 Sheet 2 of 6
`
`US 2009/0300269 A1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`206
`
`208
`
`200
`
`WRITE DATA TO
`INTENDED LBA
`
`CONTROLLER
`DIRECTS WRITE OF
`DATA TO INTENDED
`LBAN MLC MEMORY
`
`
`
`
`
`CONTROLLER
`DIRECTS WRITE OF
`DATA TO INTENDED
`BAIN SLC MEMORY
`
`
`
`214
`
`CONTROLLER
`TRACKS WRITESTO
`BAS RESIDING IN
`MLC AND SLC
`MEMORY
`
`CONTROLLER
`TRACKS WRITES TO 216
`LBAS RESIDING IN
`MLC AND SLC
`MEMORY
`
`ANY MLCLBA
`USAGE EXCEEDING
`THRESHOLD?
`
`
`
`SUFFICIENT
`SPARES IN SLC
`MEMORY?
`
`212
`
`
`
`MOVE DENTIFIED
`LBA TO SLC
`MEMORY
`
`
`
`MOVE LEAST
`WRITTENTO LEA
`RESIDING IN SLC
`MEMORY TO MLC
`MEMORY
`
`FIG. 2
`
`Micron Ex. 1052, p. 3
`Micron v. Vervain
`IPR2021-01550
`
`

`

`Patent Application Publication
`
`Dec. 3, 2009 Sheet 3 of 6
`
`US 2009/0300269 A1
`
`
`
`
`
`
`
`306
`
`302
`
`CONTROLLER
`
`SLC TER
`
`
`
`
`
`310 N
`
`304
`
`3 1
`
`322
`
`(SPARE)
`(SPARE)
`LBA=9, USAGE=17
`LBA=6, USAGE=112
`BAE2, USAGE=1
`LBAF3, USAGE=2
`
`3 O 8
`
`MCTER
`
`314
`
`(SPARE)
`(SPARE)
`LBA=9, USAGE=17
`LBA=6, USAGE=112
`LBA=2, USAGE=1
`LBA=3, USAGE=2
`
`316
`
`
`
`
`
`
`
`
`
`
`
`FIG. 3
`
`Micron Ex. 1052, p. 4
`Micron v. Vervain
`IPR2021-01550
`
`

`

`Patent Application Publication
`
`Dec. 3, 2009 Sheet 4 of 6
`
`US 2009/0300269 A1
`
`300
`
`306
`
`302
`
`CONTROLLER
`
`
`
`322
`
`SLC TER
`
`310-
`(SPARE)
`(SPARE)
`LBA=9, USAGE=17
`LBA6, USAGE=112
`k(BAS2. USAGEST
`LBA=3, USAGE=2
`
`- a
`
`3O8
`
`418
`
`MLCTER
`
`314 N
`
`312
`(SPARE)
`(SPARE)
`LBA=9, USAGE=17
`LBA=6, USAGE=112
`(BAE2, USAGEst
`
`418
`
`LBA.2, USAGE=1
`
`LBAE2, USAGE=1
`
`
`
`FIG. 4
`
`Micron Ex. 1052, p. 5
`Micron v. Vervain
`IPR2021-01550
`
`

`

`Patent Application Publication
`
`Dec. 3, 2009 Sheet 5 of 6
`
`US 2009/0300269 A1
`
`ra 302
`
`CONTROLLER
`
`
`
`
`
`SLC TER
`
`310 N
`(SPARE)
`LBA=7, USAGE=1
`LBA=9, USAGE=17
`LBA=6, USAGE=112
`(SPARE)
`LBA=3, USAGEF2
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`LBA=3, USAGE=2
`
`
`
`
`
`LBA-2, USAGE=1
`
`LBA=2, USAGE=1
`
`FIG. 5
`
`Micron Ex. 1052, p. 6
`Micron v. Vervain
`IPR2021-01550
`
`

`

`Patent Application Publication
`
`Dec. 3, 2009 Sheet 6 of 6
`
`US 2009/0300269 A1
`
`
`
`
`
`
`
`EGIOOBC1 NWT TOO
`
`gºg
`
`???
`EHOVO V LVC] / ESNES
`
`
`
`ÅRH LATIO?HIO
`
`Õ55
`
`AAO?!
`
`EGOOBC1
`
`575
`
`SSERHCJCIV/
`
`
`
`KE) Aguiñ5810
`
`/19
`
`Micron Ex. 1052, p. 7
`Micron v. Vervain
`IPR2021-01550
`
`

`

`US 2009/03 00269 A1
`
`Dec. 3, 2009
`
`HYBRD MEMORY MANAGEMENT
`
`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 having single and
`multilevel memory cell storage capability.
`
`BACKGROUND
`0002 Memory devices are typically provided as internal,
`semiconductor, integrated circuits in computers or other elec
`tronic devices. There are many different types of memory
`including random-access memory (RAM), read only memory
`(ROM), dynamic random access memory (DRAM), synchro
`nous dynamic random access memory (SDRAM), and flash
`memory.
`0003 Flash memory devices have developed into a popu
`lar source of non-volatile memory for a wide range of elec
`tronic applications. Flash memory devices typically use a
`one-transistor memory cell that allows for high memory den
`sities, high reliability, and low power consumption. Common
`uses for flash memory include personal computers, personal
`digital assistants (PDAs), digital cameras, and cellular tele
`phones. 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 architecture, 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 con
`nected together in series, 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 decoderactivating 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 electronic
`systems increase, the requirement for additional memory in a
`system also increases. However, in order to continue 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 tech
`nologies 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. Single level memory
`cells (SLC) permit the storage of a single bit of data on each
`memory cell. Meanwhile, MLC technology permits the stor
`age of two or more bits per cell (e.g., 2, 4, 8, 16 bits), depend
`ing 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 Vit distribution windows, used to represent
`a bit pattern comprised of N-bits is 2'. For example, 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 corresponding to a bit
`pattern comprised of two bits. Typically, a dead space (which
`is sometimes referred to as a margin) of 0.2V to 0.4V is
`maintained between each range to keep the Vit distributions
`from overlapping. If the voltage stored on the cell is within the
`first of the four Vit 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
`distributions, the cell in this case is storing a logical 10 state.
`A voltage in the third distribution of the four Vit distributions
`would indicate that the cell in this case is storing a logical '00'
`state. Finally, a Vt residing in the fourth Vt distribution indi
`cates that a logical '01 state is stored in the cell.
`0008. There are advantages and disadvantages associated
`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 example, 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 characteristics also apply
`between different types of MLC arrays. MLC devices with
`four and eight levels exist today, while denser memories are
`being researched. Whilean MLC with more levels would be
`more efficient (higher density) than an MLC with less levels
`(lower density), these higher density devices may have per
`formance 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
`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 repre
`sented by MLC (four level), three bits of data by MLC (eight
`level), etc. An MLC (four level) memory 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 For the reasons stated above, and for other reasons
`stated below which will become apparent to those skilled in
`the art upon reading and understanding the present specifica
`tion, there is a need in the art for hybrid memory devices that
`are adapted to manage the utilization of memory of different
`densities, such as SLC and MLC memory, to take advantage
`of preferred operating characteristics associated with each
`type of memory.
`BRIEF DESCRIPTION OF THE DRAWINGS
`0010 FIG. 1 is a functional block diagram of a memory
`module according to an embodiment of the present disclo
`SUC.
`
`Micron Ex. 1052, p. 8
`Micron v. Vervain
`IPR2021-01550
`
`

`

`US 2009/03 00269 A1
`
`Dec. 3, 2009
`
`FIG. 2 is a flow chart illustrating multiple operations
`0011
`according to various embodiments of the present disclosure.
`0012 FIG. 3 illustrates one storage configuration of a
`memory device according to an embodiment of the present
`disclosure.
`0013 FIG. 4 illustrates a move operation of data according
`to an embodiment of the present disclosure.
`0014 FIG.5 illustrates a write operation of data according
`to an embodiment of the present disclosure.
`0015 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
`0016. In the following detailed description of the embodi
`ments, 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, along with the full scope of equivalents to
`which such claims are entitled.
`0017. 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 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 dis
`closure store data that is frequently updated in SLC memory
`and store data that is updatedless 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 vari
`ous embodiments are not so limited. For example, one
`embodiment may utilize SLC memory, sometimes referred to
`as MLC (two level) memory, and MLC (four level) memory.
`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.
`0018 Data in a non-volatile memory device can be
`accessed throughan abstraction called a logical blockaddress
`(LBA) that does not define where the data physically 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 mag
`netic disk device, a physical block address translates to a
`specific cylinder, head, and sector. In a Solid State non-volatile
`memory device, the physical blockaddress 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 main
`
`tain look up tables which map LBAs to their assigned PBAs.
`Conventional memory devices that have both SLC and MLC
`memory store data in either SLC memory or MLC memory.
`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 memory device according to various embodi
`ments 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 given LBA in SLC or MLC memory by
`acting in response to the actual tracked usage of each LBA.
`According to some 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.
`0019 FIG. 1 illustrates a memory device according to an
`embodiment of the present disclosure. The memory device in
`FIG. 1 has been simplified to focus on various embodiments
`of the present disclosure. The memory device 100 comprises
`a controller 170 for controlling and managing the operations
`of the memory device 100 according 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 controller
`170 may incorporate a Universal Serial Bus (USB), SATA,
`PATA, ATA8-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.
`0020. The memory device 100 also comprises an array 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 FIG.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
`FIG. 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
`FIG.1 may be a two-way interleaved memory device having
`two SLC chips and two MLC chips. Other quantities of SLC
`
`Micron Ex. 1052, p. 9
`Micron v. Vervain
`IPR2021-01550
`
`

`

`US 2009/03 00269 A1
`
`Dec. 3, 2009
`
`and MLC chips are also possible according to various
`embodiments of the present disclosure.
`0021. The memory device of FIG. 1 also includes a usage
`table 136. The usage table is utilized by the controller 170 to
`store usage data (e.g. write operations performed) 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 information (e.g., a time stamp) indicat
`ing 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 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 par
`ticular 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 bootload 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 pertaining 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 usage table 136 be cleared. An
`example of a usage table is shown in block 136 of FIG. 1.
`0022. The usage table 136 may be stored in a standalone
`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 device. 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 volatile memory at power up and transferred
`back to non-volatile memory during power down of the
`memory device. 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 dedicated location of either the
`SLC 132 or MLC 134 memory.
`0023 FIG. 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. Addi
`tionally, 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.).
`0024 FIG. 2 illustrates a flow chart of some of the various
`activities performed by the controller 170 in implementing
`
`embodiments of the present disclosure. In some embodi
`ments of the present disclosure, the controller of the memory
`device determines where an LBA 200 is to be assigned in the
`memory device 100. As discussed above, the FAT table is
`likely to be frequently used. Thus, according to one embodi
`ment 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 embodi
`ments, the controller may assign the FAT LEBAs 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 being written to
`should ultimately be assigned to SLC or MLC memory.
`0025. 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 asso
`ciated with the LBA (and reassign the LBA to the location in)
`to SLC memory 212. In one embodiment, 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.
`0026. According to one embodiment, each time an LBA is
`assigned to SLC memory, either from the controller 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 housekeeping 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 perform data
`management functions according to various embodiments of
`the present disclosure in order to preserve a minimum number
`of spare locations in the SLC memory. For example, the
`controller will review the usage data for each LBA currently
`assigned to SLC. Whichever LBA currently assigned to SLC
`memory has the least usage associated with it, the data asso
`ciated with that LBA will be moved to MLC memory 220
`(e.g., the next higher density memory.) In embodiments uti
`lizing 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
`
`Micron Ex. 1052, p. 10
`Micron v. Vervain
`IPR2021-01550
`
`

`

`US 2009/03 00269 A1
`
`Dec. 3, 2009
`
`LBA has not been written to in more than a month. Other
`durations are possible according to various embodiments of
`the disclosure.
`0027. By performing the move operation of the data asso
`ciated 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 completed. The con
`troller, according to Some embodiments may also prevent the
`write operation to SLC memory from proceeding if the usage
`of the least used LBA currently 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 instead. When data associated with an LBA is
`moved from SLC to MLC 220, or vice versa 212, the usage
`data associated with that LBA is not incremented, at least
`according to one embodiment of the present disclosure.
`0028. The controller 170 can also perform physical wear
`leveling operations on the memory device while the move
`ment 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 per
`forming all of the write operations on the same physical
`memory cells of the memory area. Similar physical wear
`leveling is also performed on the SLC area of memory.
`0029 FIGS. 3-5 illustrates a data move and write opera
`tion according to an embodiment of the present disclosure.
`FIG. 3 illustrates a two-way interleaved embodiment of a
`memory device 300. This configuration allows for large
`pieces of data to be shared by two memory chips. However,
`memory devices according to the present disclosure are not
`limited to two-way interleaved configurations. The memory
`device 300 of FIG. 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 FIG. 3, the SLC memory 306 com
`prises two flash SLC memory integrated circuits (e.g. chips)
`310/312. The MLC memory 308 of the memory device 300
`shown in FIG. 3 comprises two flash MLC memory chips
`314/316. Other embodiments have different numbers of SLC
`and MLC chips, for example. The memory device shown in
`FIG.3 has been simplified to focus on the embodiments of the
`present disclosure. Other components may be included in the
`memory device 300 as are known to those skilled in the art.
`0030 FIG. 3 shows locations 322 in SLC memory 306
`along with their assigned LBAS and respective usage data. As
`discussed with respect to FIG. 1, the usage data may be stored
`in a location associated with the LBA or may be stored in a
`different location 136. The embodiment of FIG. 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 embodiment shown in FIG. 3, the minimum number
`of spare SLC locations is two. However, embodiments of the
`present disclosure are not limited to maintaining two spare
`locations.
`0031
`FIG. 4 illustrates an operation in which an LBA is to
`be assigned to SLC memory as is shown in block 214 of FIG.
`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 referenc
`
`ing FIG. 2, the data associated with the LBA having the
`lowest usage is moved 220 to MLC memory in order to
`maintain the minimum 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. FIG. 5 illustrates a
`write operation 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
`FIG. 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 disclosure than are shown in FIGS. 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 embodiments, if any
`memory segment of the memory has an architecture that is
`most effectively used with accesses of multiples of logical
`blocks (e.g. 4LBAs, 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
`embodiments of the present disclosure.
`0032 Referring again to FIG. 1, embodiments according
`to the present disclosure can incorporate a memory device
`100 having a standard interface 174 to couple the memory
`device with a host, such as processor 110. There are various
`types of standard interfaces such as those adapted for hard
`disk drives (HDDs.) For example, SATA and PATA are com
`mon HDD interfaces. Additional standard non-HDD specific
`interfaces also exist in the art such as USB and SD interfaces.
`Embodiments of the present disclosure employing these and
`other standard interfaces and protocols can be used

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