throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2005/0251617 A1
`(43) Pub. Date:
`Nov. 10, 2005
`Sinclair et al.
`
`US 2005025 1617A1
`
`(54) HYBRID NON-VOLATILE MEMORY
`SYSTEM
`
`(76) Inventors: Alan Welsch Sinclair, Candie (GB);
`Sergey Anatolievich Gorobets,
`Edinburgh (GB); Kevin M. Conley,
`San Jose, CA (US); Carlos J.
`Gonzalez, Los Gatos, CA (US)
`Correspondence Address:
`PARSONS HSUE & DE RUNTZ, LLP
`595 MARKET STREET
`SUTE 1900
`SAN FRANCISCO, CA 94105 (US)
`(21) Appl. No.:
`10/841,379
`(22) Filed:
`May 7, 2004
`
`Publication Classification
`
`(51) Int. Cl. .................................................. G06F 12/00
`
`(52) U.S. Cl. ............................................ 711/103; 711/170
`(57)
`ABSTRACT
`The present invention presents a hybrid non-volatile System
`that uses non-volatile memories based on two or more
`different non-volatile memory technologies in order to
`exploit the relative advantages of each these technology with
`respect to the others. In an exemplary embodiment, the
`memory System includes a controller and a flash memory,
`where the controller has a non-volatile RAM based on an
`alternate technology such as FeRAM. The flash memory is
`used for the storage of user data and the non-volatile RAM
`in the controller is used for System control data used by the
`control to manage the Storage of host data in the flash
`memory. The use of an alternate non-volatile memory tech
`nology in the controller allows for a non-volatile copy of the
`most recent control data to be accessed more quickly as it
`can be updated on a bit by bit basis. In another exemplary
`embodiment, the alternate non-volatile memory is used as a
`cache where data can Safely be staged prior to its being
`written to the to the memory or read back to the host.
`
`
`
`
`
`
`
`
`
`controlls in
`
`
`
`
`
`
`
`UPDATE BLOCKMANAGER
`550
`Sequential Update
`552
`Chaotic Update
`554
`
`
`
`
`
`ERASE BLOCK MANAGER
`56O
`
`
`
`
`
`NVRAM 150
`Cache 3O2
`Group Address
`Tables (GAT) 210
`
`Chaotic Block
`indices (CBI)
`22O
`
`Micron Ex. 1017, p. 1
`Micron v. Vervain
`IPR2021-01548
`
`

`

`Patent Application Publication Nov. 10, 2005 Sheet 1 of 12
`
`US 2005/025 1617 A1
`
`HOST 10
`
`MEMORY SYSTEM 20
`
`Flash Memory
`200
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Controller 100
`
`Interface 11
`
`PrOCeSSOr 120
`Optional CoProcessor
`121
`
`ROM 122
`Optional
`Programmable
`Non-Volatile Memory
`124
`
`RAM 130
`
`FIG.1
`
`Micron Ex. 1017, p. 2
`Micron v. Vervain
`IPR2021-01548
`
`

`

`Patent Application Publication Nov. 10, 2005 Sheet 2 of 12
`
`US 2005/025 1617 A1
`
`
`
`
`
`FIG.2
`
`
`
`
`
`FIG. 3
`
`
`
`
`
`
`
`
`
`FIG.4
`
`
`
`
`
`
`
`
`
`
`
`Controller
`
`
`
`(Flash) Memory
`200
`
`
`
`141
`(Flash) Memory
`200
`
`Memory System 20
`
`Alternate NVM
`150
`
`Controller
`100
`
`Memory System 20
`
`
`
`Micron Ex. 1017, p. 3
`Micron v. Vervain
`IPR2021-01548
`
`

`

`Patent Application Publication Nov. 10, 2005 Sheet 3 of 12
`
`US 2005/025 1617 A1
`
`150 Ya
`
`
`
`Parameter Storage 151
`
`CPU Code Storage 153
`
`Logical Data Structure Cache 157
`
`Host Boot Sectors 159
`
`Single Sector Cache 161
`
`Multi-Segment Read/Write Cache 162
`
`Copy Buffers 163
`
`FIG.5
`
`Micron Ex. 1017, p. 4
`Micron v. Vervain
`IPR2021-01548
`
`

`

`Patent Application Publication Nov. 10, 2005 Sheet 4 of 12
`
`US 2005/025 1617 A1
`
`a
`
`as
`
`Logical Sectors
`
`CONTROLLER 100
`
`as a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`LOGICAL TO PHYSICAL
`ADDRESSTRANSLATION
`
`
`
`UPDATE BLOCKMANAGER
`550
`Sequential Update
`552
`
`
`
`RAM 130
`(Volatile)
`Cache 302
`
`Allocation Block
`List (ABL) 304
`
`Cleared Block
`List (CBL) 306
`
`
`
`ERASE BLOCKMANAGER
`560
`
`r
`
`INITIALIZATION 590
`
`CONTROL DATA
`EXCHANGE 580
`
`
`
`Memory 200
`Group Address
`Tables (GAT) 210
`Chaotic Block
`Indices (CB) 220
`
`
`
`Erased Block
`ListS (EBL) 230
`)
`MAP240
`
`
`
`
`
`- - - - - - - - - - - - - - -
`
`Micron Ex. 1017, p. 5
`Micron v. Vervain
`IPR2021-01548
`
`

`

`Patent Application Publication Nov. 10, 2005 Sheet 5 of 12
`
`US 2005/025 1617 A1
`
`Data Update Management Operations
`
`Update
`ABL
`
`Update Chaotic
`Sector List
`
`RAM Data
`Structures
`
`Control Write Operation
`
`
`
`
`
`Update CBI
`Sector
`
`ReWrite CB
`Block
`
`Flash Data
`Structures
`
`RegaUggar
`
`Update GAT
`Sector
`
`Rewrite GAT
`Block
`
`Update EBM
`Sector
`
`Update MAP
`Sector
`
`ReWrite MAP
`Block
`
`Update MAPA
`Sector
`
`ReWrite MAPA
`Block
`
`Update Boot
`Sector
`
`ReWrite Boot
`Block
`
`Operations on Control Data Structures
`FIG.7
`
`Micron Ex. 1017, p. 6
`Micron v. Vervain
`IPR2021-01548
`
`

`

`Patent Application Publication Nov. 10, 2005 Sheet 6 of 12
`
`US 2005/025 1617 A1
`
`controlleria
`
`
`
`HostiNTERFACE 110
`
`
`
`
`
`READ
`
`O
`
`LOGICAL TO PHYSICAL
`ADDRESS TRANSLATION -
`540
`WRITE
`UPDATE BLOCK MANAGER
`550
`Sequential Update
`552
`Chaotic Update
`554
`I
`
`
`
`ERASE BLOCK MANAGER
`560
`Closeout Block Manager
`562
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`NVRAM 150
`Cache 302
`Group Address
`Tables (GAT) 210
`
`Allocation Block
`List (ABL) 3O4
`
`
`
`
`
`
`
`
`
`
`
`
`
`Cleared Block
`List (CBL) 3O6
`
`Chaotic Block
`indices (CBI)
`220
`
`Memory 200
`
`- - - - - - - - - - - - - - -
`
`FIG 3
`
`Micron Ex. 1017, p. 7
`Micron v. Vervain
`IPR2021-01548
`
`

`

`Patent Application Publication Nov. 10, 2005 Sheet 7 of 12
`
`US 2005/025 1617 A1
`
`
`
`Micron Ex. 1017, p. 8
`Micron v. Vervain
`IPR2021-01548
`
`

`

`Patent Application Publication Nov. 10, 2005 Sheet 8 of 12
`
`US 2005/025 1617 A1
`
`
`
`Micron Ex. 1017, p. 9
`Micron v. Vervain
`IPR2021-01548
`
`

`

`Patent Application Publication Nov. 10, 2005 Sheet 9 of 12
`
`US 2005/025 1617 A1
`
`
`
`ZZZZ?ZZZ
`
`Micron Ex. 1017, p. 10
`Micron v. Vervain
`IPR2021-01548
`
`

`

`Patent Application Publication
`
`Nov. 10, 2005 Sheet 10 of 12
`
`US 2005/025 1617 A1
`
`Host System
`
`Memory System
`
`
`
`
`
`
`
`
`
`Controller Chip
`100
`
`FIG. 14A
`
`
`
`
`
`Controller Chip
`100
`
`Flash Chip
`200
`
`
`
`NVMChip
`150
`
`Flash Chip
`200
`
`FIG.14B
`
`
`
`FIG.14C
`
`
`
`FIG.14D
`
`
`
`FIG. 14E
`
`Controller Chip 100
`Controller
`100
`
`Controller Chip 100
`Controller
`100
`
`Memory Chip 100
`
`Controller
`100
`
`
`
`
`
`
`
`NVM
`150
`
`NVM
`150
`
`Flash
`200
`
`
`
`
`
`Micron Ex. 1017, p. 11
`Micron v. Vervain
`IPR2021-01548
`
`

`

`Patent Application Publication Nov. 10, 2005 Sheet 11 of 12
`
`US 2005/025 1617 A1
`
`O
`
`Flash
`200
`
`2OO
`
`200'
`
`Host System
`
`Memory System
`
`
`
`Memory Chip 100
`
`Host 10
`
`
`
`Controller
`100
`
`FIG.14F
`
`
`
`FIG. 14G
`
`
`
`
`
`FIG. 14.H
`
`
`
`
`
`FIG. 14
`
`FIG. 14J.
`
`
`
`
`
`Memory System Chip
`20
`
`Micron Ex. 1017, p. 12
`Micron v. Vervain
`IPR2021-01548
`
`

`

`Patent Application Publication Nov. 10, 2005 Sheet 12 of 12
`
`US 2005/025 1617 A1
`
`Host System
`
`Memory System
`
`Flash Chip
`200
`
`NVM Chip
`150
`
`Flash Chip
`200
`
`
`
`NVMChip
`150
`
`
`
`
`
`
`
`Memory Chip
`
`a
`
`150
`
`2OO
`
`2OO'
`
`Host 10
`
`Controller
`
`F.G. 14K
`
`
`
`
`
`
`
`
`
`Host 10
`
`Controller
`
`
`
`
`
`FIG. 14L
`
`
`
`F.G. 14M
`
`
`
`
`
`w
`
`FIG. 14N
`
`Micron Ex. 1017, p. 13
`Micron v. Vervain
`IPR2021-01548
`
`

`

`US 2005/025 1617 A1
`
`Nov. 10, 2005
`
`HYBRD NON-VOLATILE MEMORY SYSTEM
`0001. This application is related to the following U.S.
`patent applications Ser. Nos. 10/750,155, filed Dec. 30,
`2003; 10/749,189, filed Dec. 30, 2003 ; 10/750,157, filed
`Dec. 30, 2003; 10/796,575, filed Mar. 8, 2004; and a patent
`application entitled “Data Boundary Management” by Alan
`Sinclair, filed concurrently with the present application, all
`of which is hereby incorporated by reference.
`
`FIELD OF THE INVENTION
`0002 This invention relates generally to semiconductor
`non-volatile data Storage Systems, and more specifically, to
`a System incorporating multiple non-volatile memory tech
`nologies.
`
`BACKGROUND OF THE INVENTION
`0003) Nonvolatile memory devices such as flash memo
`ries are commonly used as mass data Storage Subsystems.
`Such nonvolatile memory devices are typically packaged in
`an enclosed card that is removably connected with a host
`System, and can also be packaged as the non-removable
`embedded Storage within a host System. In a typical imple
`mentation, the Subsystem includes one or more non-volatile
`memory devices and often a Subsystem controller.
`0004 Current commercial memory card formats include
`that of the Personal Computer Memory Card International
`Association (PCMCIA), CompactFlash (CF), MultiMedi
`aCard (MMC), Secure Digital (SD), SmartMedia, XD cards,
`Memory.Stick, and Memory.Stick-Pro. One supplier of these
`cards is SanDisk Corporation, assignee of this application.
`Host Systems with which Such cards are used include digital
`cameras, cellular phones, personal computers, notebook
`computers, hand held computing devices, audio reproducing
`devices, and the like.
`0005 The nonvolatile memory devices themselves are
`composed of one or more arrays of nonvolatile Storage
`elements. Each Storage element is capable of Storing one or
`more bits of data. One important characteristic of the non
`Volatile memory array is that it retains the data programmed
`therein, even when power is no longer applied to the
`memory array.
`0006. A number of nonvolatile memory technologies
`exist, have various advantages with respect to one another,
`and are at various Stages of maturity. Perhaps the most
`common technologies are currently those based on floating
`gate electrically erasable programmable read only memory
`(EEPROM) cells, such as the NAND and NOR flash
`memory technologies. Other technologies include: those
`based on ferroelectric random-access memory (FeRAM),
`such as the 1T-1C ferroelectric memory cell; Ovonics Uni
`fied Memory (OUM); magnetic RAM (MRAM), such as
`Giant Magneto-Resistive RAM (GMRAM) (Spin Valve and
`Pseudo-spin Valve Tunneling), and Magnetoresistive
`Memory (MJT); Polymer Ferroelectric RAM (PFRAM);
`Micro Mechanical Memories; Single Electron Memories;
`Capacitor-less SOI Memories; Nitride Storage Memories;
`and other technologies being developed.
`0007. There are many commercially successful non-vola
`tile Solid-State memory devices being used today. These
`memory devices may be flash EEPROM or may employ
`Some the other types of nonvolatile memory cells. Examples
`
`of flash memory and Systems and methods of manufacturing
`them are given in U.S. Pat. Nos. 5,070,032, 5,095,344,
`5,315,541, 5,343,063, and 5,661,053, 5,313,421 and 6,222,
`762. In particular, flash memory devices with NAND string
`structures are described in U.S. Pat. Nos. 5,570,315, 5,903,
`495, 6,046,935. Also, nonvolatile memory devices are also
`manufactured from memory cells with a dielectric layer for
`Storing charge. Instead of the conductive floating gate ele
`ments described earlier, a dielectric layer is used. Such
`memory devices utilizing dielectric Storage element have
`been described by Eitan et al., “NROM: A Novel Localized
`Trapping, 2-Bit Nonvolatile Memory Cell, IEEE Electron
`Device Letters, vol. 21, no. 11, November 2000, pp. 543
`545. An ONO dielectric layer extends across the channel
`between Source and drain diffusions. The charge for one data
`bit is localized in the dielectric layer adjacent to the drain,
`and the charge for the other data bit is localized in the
`dielectric layer adjacent to the Source. For example, U.S.
`Pat. Nos. 5,768,192 and 6,011,725 disclose a nonvolatile
`memory cell having a trapping dielectric Sandwiched
`between two Silicon dioxide layers. Multi-state data Storage
`is implemented by Separately reading the binary States of the
`Spatially Separated charge Storage regions within the dielec
`tric.
`0008. In flash memory systems, erase operation may take
`as much as an order of magnitude longer than read and
`program operations. Thus, it is desirable to have the erase
`block of Substantial size. In this way, the erase time is
`amortized over a large aggregate of memory cells.
`0009. The nature of flash memory predicates that data
`must be written to an erased memory location. If data of a
`certain logical address from a host is to be updated, one way
`is to rewrite the update data in the same physical memory
`location. That is, the logical to physical address mapping is
`unchanged. However, this will mean the entire erase block
`containing that physical location will have to be first erased
`and then rewritten with the updated data. This method of
`update is inefficient, as it requires an entire erase block to be
`erased and rewritten, especially if the data to be updated
`only occupies a Small portion of the erase block. It will also
`result in a higher frequency of erase recycling of the memory
`block, which is undesirable in view of the limited endurance
`of this type of memory device.
`0010 Flash memories are a relatively “mature” technol
`ogy in that it is well understood how to make large memories
`at a low cost. Flash memories are particularly Suited to the
`Storage of large amounts of logically continuous host data;
`however, as the memory needs to be erased before new data
`can be written into it, and erase is typically performed on
`large blocks of cells, this can result in requiring large
`amounts of overhead, both in data management Structures
`and in Some operation times, due to the use of large memory
`Structures that optimize flash memory operations. Some of
`the other memory technologies can overcome the shortcom
`ing of flash-type memories, but they often have their own
`relative disadvantages with respect to flash and other alter
`nate technologies.
`
`SUMMARY OF THE INVENTION
`0011. The various aspects of the present invention present
`a hybrid non-volatile System that uses non-volatile memo
`ries based on two or more different non-volatile memory
`
`Micron Ex. 1017, p. 14
`Micron v. Vervain
`IPR2021-01548
`
`

`

`US 2005/025 1617 A1
`
`Nov. 10, 2005
`
`technologies in order to exploit the relative advantages of
`each technology with respect to the others. In an exemplary
`embodiment, the memory System includes a controller and
`a flash memory, where the controller has a non-volatile
`RAM based on an alternate technology such as FeRAM. The
`flash memory is used for the Storage of user data and the
`non-volatile RAM in the controller is used for system
`control data used by the controller to manage the Storage of
`host data in the flash memory. The use of an alternate
`non-volatile memory technology in the controller allows for
`a non-volatile copy of the most recent control data to be
`accessed more quickly as it can be updated on a bit by bit
`basis. Examples of System control data that can be kept in a
`non-volatile RAM on the controller include meta-block
`linking information, Status information for the memory
`blocks, boot information, firmware code, and logical-to
`physical conversion data.
`0012. In another set of embodiments, the alternate non
`Volatile memory is used as Secure cache where host data can
`be staged prior to Storing in, or reading out, host data in the
`flash or other memory managed in large erase blocks. This
`allows for data to be received from the host in one order (as
`logically continuous Sectors) and written into the primary
`non-volatile memory in another order. Consequently, Several
`Semi-autonomous memory arrays can be programmed in
`parallel without the need to organize the memory into
`meta-blockS.
`0013 Additional aspects, features and advantages of the
`present invention are included in the following description
`of exemplary embodiments, which description should be
`read in conjunction with the accompanying drawings.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`0.014
`FIG. 1 is a block diagram showing a memory
`System connected to a host.
`0015 FIGS. 2-4 show various topologies for a hybrid
`non-volatile memory System.
`0016 FIG. 5 shows some examples of different control
`ler uses of Such non-volatile RAM.
`0017 FIG. 6 is a schematic block diagram of a meta
`block management System.
`0018 FIG. 7 illustrates a hierarchy of the operations
`performed on control data structures shown in FIG. 6.
`0.019
`FIG. 8 is a schematic block diagram of the meta
`block management System as implemented in the controller
`and flash memory in an exemplary embodiment of the
`present invention.
`0020 FIG. 9 is block diagram schematically representing
`the use of a hybrid non-volatile System according to a
`non-volatile read/write cache embodiment of the present
`invention.
`0021
`FIG. 10 is a schematic representation of the logical
`to physical mapping of Sectors according to an aspect of the
`present invention.
`0022 FIG. 11 a prior art arrangement of the logical to
`physical mapping of Sectors.
`0023 FIG. 12 illustrates sequential sector programming
`using the arrangement of FIG. 10.
`
`0024 FIG. 13 illustrates a data relocation operation
`using the arrangement of FIG. 10.
`0025 FIG. 14 is a more extensive list of topologies for
`a hybrid non-volatile memory System.
`
`DESCRIPTION OF EXEMPLARY
`EMBODIMENTS OF THE INVENTION
`0026. Hybrid Nonvolatile Memory Systems
`0027. The present invention presents nonvolatile memory
`Systems using the various memory technologies. In a prin
`ciple aspect of the present invention, two different non
`Volatile memory technologies are used in order to exploit
`their relative advantages with respect to each other. An
`exemplary embodiment is a memory System having a con
`troller portion and a memory portion, where the memory
`portion for the Storage of user data is based on a flash
`EEPROM technology and the controller includes a non
`Volatile memory from another non-volatile technology, Such
`as FeRAM, for the Storage of control and data management
`information.
`0028 FIG. 1 is a block diagram showing a memory
`system 20 connected to a host 10. The memory system may
`be detachable from the host, as in the case of a memory card,
`or embedded in the host. The memory system 20 includes
`the non-volatile, here flash, memory 200 for the storage of
`user data and the controller 100 for the management of the
`transfer of data between the host 10 and the memory 200 and
`the storage of the data in the memory 200. The memory 200
`is typically made up of one or more Separate chips, with the
`controller 100 formed on another separate chip, although the
`controller 100 may be formed on the same substrate as the
`memory 200.
`0029 FIG. 1 also shows some of the components com
`monly found in a controller 100. The controller 100 includes
`an interface 110, a processor 120, an optional coprocessor
`121, ROM 122 (read-only-memory), RAM 130 (random
`access memory) and optionally programmable nonvolatile
`memory 124, which is discussed more in the following. The
`interface 110 has one component interfacing the controller to
`a host and another component interfacing to the memory
`200. Firmware stored in nonvolatile ROM 122 and/or the
`optional nonvolatile memory 124 provides codes for the
`processor 120 to implement the functions of the controller
`100. Error correction codes may be processed by the pro
`cessor 120 or the optional coprocessor 121. In an alternative
`embodiment, the controller 100 is implemented by a state
`machine (not shown.) In yet another embodiment, the con
`troller 100 is implemented within the host.
`0030 Various aspects of controllers are described further
`in International Patent Publication WO 03/029951 and WO
`00/49488 and U.S. patent publications US 2002/0065899
`and US 2003/0070036, all of which are hereby incorporated
`by reference. Various other aspects of non-volatile memo
`ries, presented primarily in the flash memory context are
`presented in U.S. patent applications Ser. Nos. 10/750,155
`and 10/750,157 and International Patent Publication WO
`03/027828, which are hereby incorporated by reference.
`0031) RAM memory 130 is a volatile memory and used
`to Store control parameters, file acceSS tables, and other
`management information. AS this information is updated or
`otherwise changed as the memory operates, it is Stored in
`
`Micron Ex. 1017, p. 15
`Micron v. Vervain
`IPR2021-01548
`
`

`

`US 2005/025 1617 A1
`
`Nov. 10, 2005
`
`RAM 130 rather than ROM 122; as a copy of this informa
`tion is also needed to be maintained non-volatility, a version
`of this information is keep in memory 200 and then loaded
`in RAM 130 when the system first started or as needed, with
`updated copies periodically written back in the memory 200.
`RAM 130 is also used as a cache for user data transferred
`between host 10 and memory 200. It is also often preferable
`to maintain in RAM 130, rather then ROM 122, part or all
`of the system firmware that has been transferred from
`memory 200. When firmware is stored in ROM 122, it
`cannot be changed or updated. By keeping firmware in
`memory 200, it can be changed if desired; however, this then
`again requires that the firmware is copied into RAM 130
`when the System is first started up So that it may more readily
`be accessed by the controller as needed.
`0.032
`FIG. 1 shows, in one embodiment of a primary
`aspect of the present invention, the inclusion of an optional
`programmable nonvolatile memory 124 as part of the con
`troller. Although any of the various embodiments described
`here can be implemented for a non-volatile memory System
`based on only a single technology, the present invention is
`described mainly in terms of System that uses two or more
`different technologies in order to exploit the relative advan
`tages of one technology with respect to another. FIG. 1 is
`one example of a hybrid non-volatile memory System, where
`the memory 200 is formed of a first solid-state non-volatile
`memory technology and the programmable nonvolatile
`memory 124 is formed of second solid-state non-volatile
`memory technology. According to the Specific embodiment,
`the programmable nonvolatile memory 124 can augment
`ROM 122 (read-only-memory) and RAM 130 or replace
`either or both of ROM 122 (read-only-memory) and RAM
`130.
`0033. Various topologies for hybrid non-volatile systems
`are shown in FIGS. 2-4. In any of these arrangements, the
`benefits to the overall system include “Instant On” capabil
`ity, faster performance, lower power consumption, and oth
`ers described in the following.
`0034). In both of FIGS. 2 and 3, the host 10 is again
`connected to memory system 20 that includes controller 100
`and memory 200 using a first non-volatile memory technol
`ogy, which is taken as a Flash memory in the exemplary
`embodiments. A second non-volatile memory 150 is also
`included in both cases. In FIG. 2, the alternate non-volatile
`memory (NVM) 150 uses the same bus 141 as flash memory
`200 and may either be on a separate chip or share a chip with
`one of the flash memory chips forming memory 200. In this
`arrangement, memory System 20 can be taken to include
`controller 100 and memory 200', which in turn includes both
`memory 200 and alternate non-volatile memory 150,
`although in the exemplary embodiments discussed below the
`alternate non-volatile memory 150 is used for system and
`control data (and, as Such, can be taken as part of the
`controller structure for the system 20) rather than host data.
`In variation of FIG. 2, both the memory 200 and alternate
`non-volatile memory 150 are in the same chip, but do not
`share the same bus 141. They may share the same control
`State machine on the chip, but the two types of memory are
`controlled Via different protocols and/or commands.
`0035) In FIG. 3, the alternate non-volatile memory 150
`communicates with the controller 100 through the separate
`channel of bus 143, rather than using the same bus 141 as
`
`flash memory 200. This arrangement avoids the sharing
`traffic of on a single bus for the two types of non-volatile
`volatile memory. In this arrangement, controller 100 and
`alternate non-volatile memory 150 can be taken together as
`system controller 100', where in the exemplary embodi
`ments discussed below the alternate non-volatile memory
`150 is used for system and control data. When the controller
`100 and alternate NVM 150 are on separate chips and are
`connected by a dedicated bus, the number of pins needed by
`the controller can be reduced by multiplexing Some of the
`pins for different uses, Similar to the arrangement described
`in U.S. Pat. No. 6,282,130, which is hereby incorporated by
`reference.
`0036 FIG. 4 explicitly shows alternate NVM 150 as part
`of the controller 100, where the other elements of the
`controller are suppressed. FIG. 4 can be considered a
`particular case of FIG. 1, where alternate NVM 150 of FIG.
`4 corresponds to the optional programmable nonvolatile
`memory 124 of FIG. 124. This has been renumbered in FIG.
`4 to emphasize that, in the exemplary embodiments, the
`memory 150 is based on a different non-volatile technology
`than memory 200; additionally, in the exemplary embodi
`ments the alternate NVM 150 may partially or completely
`replace one or both of RAM 130 and ROM 122.
`0037. A number of other topologies can also be used,
`either as variations of FIGS. 2-4 or differing significantly.
`For example, for any of these arrangements, all of the
`elements of memory system 20, both the controller 100 and
`memories 150 and 200 can be formed as part of the same
`chip. For card Systems without controllers, Such as XD cards
`or Memory Stick, where the host performs all of the control
`operations and communicates directly to with the card, the
`controller 100 would be taken as part of the host system and
`the card would then consist Memory 200 and alternate NVM
`150, either on a Single chip or Separate chips and commu
`nicating with the host with the Single bus (141) arrangement
`of FIG. 2 or the two bus (141, 143) arrangement of FIG. 3.
`0038. In an embodiment for card systems with out con
`trollers, the control operations for the memory are moved to
`the host. The memory system will then consist of the
`primary memory 200 and the alternate memory 150, where
`now the host will maintain the management data it will use
`to transfer data between itself and the primary memory 200.
`The basic access functions to the primary memory 200 can
`then be controller by a State machine formed on the same
`chip as the primary memory.
`0039 Generally, both the primary non-volatile memory
`200 and the alternate non-volatile memory 150 can be
`formed from any of the various non-volatile technologies
`both known, Such as those described above, and being
`developed. For example, both of the non-volatile memories
`could be composed of the same type of non-volatile RAM,
`replacing even the volatile RAM on the controller; in this
`case, the entire Storage portion of the memory could be
`modeled on the cachestructure described below with respect
`to FIG. 5. Most of the following, however, will focus on
`using two different types of non-volatile memory, using a
`flash memory as the exemplary embodiment for the primary
`non-volatile memory 200. This is mainly as the focus in the
`following is on the alternate non-volatile memory 150, and
`due to flash EEPROM memories being a common technol
`ogy for the primary non-volatile memory 200. The following
`
`Micron Ex. 1017, p. 16
`Micron v. Vervain
`IPR2021-01548
`
`

`

`US 2005/025 1617 A1
`
`Nov. 10, 2005
`
`discussion readily extends to cases where the memory 200
`uses other forms of non-volatile memory with characteristics
`(for a given application) that are Superior to flash and would
`allow elimination of flash, e.g. a non-volatile memory with
`the ability to program or erase more data at a time.
`0040 Although any of the various embodiments pre
`Sented herein could be implemented using only a single one
`of various non-volatile memory technologies, one of the
`principle aspects of the present invention uses more than one
`of these technologies in order to exploit their relative
`advantages with respect to each other. For example, flash
`EEPROM memories are a well-developed, “mature” tech
`nology, having advantages Such as having high densities and
`relatively low costs that are well adapted for bulk Storage of
`logically continuous host data. Consequently, the exemplary
`embodiments of the present invention will use a flash
`EEPROM memory with, for example, a NAND architecture
`using a large block structure for memory 200. (For similar
`reasons, a set of variations on the present invention can be
`based on a disc storage system for the memory 200.) The
`alternate non-volatile memory 150 will use one of the other
`technologies that has a finer erase or write granularity, faster
`access speed, differing reprogramming abilities (such as
`being programmed without first being erased), and/or other
`relative advantages with respect to memory 200. Particular
`examples described below will use the alternate NVM 150
`as a faster non-volatile cache or for control/System data
`erasable at the bit or byte level. Examples include FeRAM),
`MRAM, or even non-flash EEPROM that is bit- or byte-wise
`erasable.
`0041) Non-Volatile Cache Structures
`0042. As a particular example, consider the case where
`host data is stored in flash memory 200, and alternate NVM
`150 is used as a cache-type structure to replace many or all
`of the functions of RAM 130 and ROM 122 using one of the
`arrangements of FIGS. 2-4. (Various aspects of cache usage
`in non-volatile memory Systems are described further in
`U.S. patent application Ser. No. 10/796,575, incorporated by
`reference above.) When there is need to refer to specific
`arrangement, that of FIG. 4 with alternate NVM based upon
`the FeRAM is used. FIG. 5 shows some examples of
`different controller uses of Such non-volatile RAM.
`0043. As noted above, flash memory based storage sys
`tem has Some problems that are similar to a disk Storage
`system and can benefit from an alternate NVM with a
`comparative advantage Such as faster random acceSS or finer
`erase granularity. For example, flash memory can Suffer
`latencies due to its large block architecture. Such latencies
`occur due to the need to move data around to keep it valid
`when these blocks need to be erased but still contain valid
`data. A non-volatile cache could allow host operations to
`continue without having to wait for the flash operation to
`complete.
`0044) In Some cases, Such caching can help avoid access
`ing the flash at all. In Such cases, not only is the performance
`of the system increased, but also the overall lifetime of the
`System is extended. This is a result of reduced program and
`erase cycling in the flash memory 200 that is the primary
`limiter of flash lifetime.
`004.5 The large-block nature of flash memory also
`requires the Storage System to maintain Sophisticated block
`
`management and address translation data Structures and
`algorithms. Such Sophistication is necessary to optimize
`performance in Systems that Still access flash Storage SyS
`tems using a sector size (512 bytes) that is relatively small
`compared with the effective erase block sizes (currently in
`the rage 16 kB to 512kB). The benefit of an alternate NVM
`in the system would be twofold. First, performance could be
`increased by removing the need to acceSS flash memory each
`time the data Structures were needed or were update, and
`Second, Some of the Sophistication could be reduced due to
`the performance enhancement of the cache behavior. It is
`reasonable to expect that with a reduction in the Sensitivity
`to block size, that the block size could be increased, further
`reducing the cost of the flash memory and the Storage System
`as a whole.
`0046) When memory 200 uses multi-level cells (MLC),
`program and erase operations are even longer than for binary
`memories, making them more Susceptible to problems
`resulting from power loSS and reducing performance. If this
`reliability and performance gap can be bridged, the MLC
`can address those markets previously only addressable with
`Binary memory. This provides significant cost benefits that
`can more than compensate for the added cost of a hybrid
`non-volatile memory System.
`0047 The storage of defective block information would
`be convenient even if only Small amounts of fast acceSS
`NVM memory were available. Another application would be
`the Storage of hot (or experience) count information for
`physical blocks. This would be an improvement in both
`performance and reliability Since no additional program time
`would be required during erase to program the hot count
`back and the window in which Such a count could be lost
`would not exist.
`0048 Returning to FIG. 5, an exemplary embodiment
`includes Parameter Storage 151, CPU Code Storage 153,
`Logical Data Structure Storage 157, Host Boot Sectors 159,
`Single-Sector Cache 161, Multi-Segment Read/Write Cache
`162, and Copy Buffers 163. The alternate NVM 150 can
`Store all the parameters that govern configuration and opera
`tion of the flash storage system 20 in Parameter Storage 151.
`Configura

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