throbber
(12) United States Patent
`Friedman et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,000,063 B2
`Feb. 14, 2006
`
`USOO7000063B2
`
`(54)
`
`(75)
`
`(73)
`
`(*)
`
`(21)
`(22)
`(65)
`
`(51)
`
`(52)
`(58)
`
`(56)
`
`WRITE-MANY MEMORY DEVICE AND
`METHOD FOR LIMITING ANUMBER OF
`WRITES TO THE WRITE-MANY MEMORY
`DEVICE
`
`Inventors: David R. Friedman, Menlo Park, CA
`(US); J. James Tringali, Los Altos, CA
`(US)
`Assignee: Matrix Semiconductor, Inc., Santa
`Clara, CA (US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 342 days.
`Appl. No.: 09/972,787
`
`Notice:
`
`Filed:
`
`Oct. 5, 2001
`
`Prior Publication Data
`US 2003/0070034 A1
`Apr. 10, 2003
`
`Int. Cl.
`(2006.01)
`G06F 12/14
`U.S. Cl. ...................................................... 711/103
`Field of Classification Search ................ 711/103,
`711/154, 163
`See application file for complete Search history.
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`5,153,462 A 10/1992 Agrawal et al.
`5,264,740 A 11/1993 Wright
`5,414.829 A 5/1995 Fandrich et al.
`5,734,816 A * 3/1998 Niijima et al. ......... 395/182.06
`5,737.742 A * 4/1998 Achiwa et al. ............. 711/103
`6,034.882 A 3/2000 Johnson et al.
`6,058,047 A * 5/2000 Kikuchi ................. 365/185.33
`6,134,141. A 10/2000 Wong
`6,151,246 A 11/2000 So et al.
`6,181,603 B1
`1/2001 Jyouno et al.
`6.219.282 B1
`4/2001 Tanaka
`
`Write - Many Memory Device
`With Sideband Fields
`
`
`
`4/2001 Guterman et al.
`6,222,762 B1
`5/2001 Gudesen et al.
`6,236,587 B1
`8/2001 Wong et al.
`6,278,633 B1
`3/2002 Wong
`6,363,008 B1
`4/2002 Corisis
`6,376,282 B1
`4/2002 Gonzalez et al.
`6,376,284 B1
`OTHER PUBLICATIONS
`“64Mx8 Bit NAND Flash Memory,” Samsung Electronics
`(Oct. 27, 2000).
`“How Flash Memory Works,” wysivvyg://8/http://www.
`howStuffWorkS.com/flash-memory.html?printable=1, 5 pages
`(1998).
`“Datalight FlashFXTM 4.06 User's Guide," p. 11 (Aug.
`2000).
`
`(Continued)
`Primary Examiner-Kevin L. Ellis
`(74) Attorney, Agent, or Firm-Brinks Hofer Gilson &
`Lione
`
`(57)
`
`ABSTRACT
`
`The preferred embodiments described herein provide a
`write-many memory device and method for limiting a num
`ber of writes to the write-many memory device. In one
`preferred embodiment, a write-many memory device is
`provided comprising a plurality of blocks of memory, each
`block being limited to N number of writes. Data can be
`stored in a block of memory only if there has been fewer
`than N number of writes to the block. In another preferred
`embodiment, a write-many memory device is provided
`comprising a plurality of blocks of memory, wherein each
`block comprises a first Sideband field Storing data indicating
`whether the block is free and a second sideband field storing
`data indicating how many times the block has been written
`into. The first and second sideband fields are used in a
`method for limiting a number of writes to the write-many
`memory device. Other preferred embodiments are provided,
`and each of the preferred embodiments can be used alone or
`in combination with one another.
`
`45 Claims, 3 Drawing Sheets
`
`Software
`Ard.Or
`Hardware
`
`DataSource
`
`if O
`
`Micron Ex. 1016, p. 1
`Micron v. Vervain
`IPR2021-01550
`
`

`

`US 7,000,063 B2
`Page 2
`
`OTHER PUBLICATIONS
`“How Does TrueFFS(R) manage Wear Leveling?," http://
`www.m-SyS.com/content/information/calcInfo.asp, 2 pages
`(printed Oct. 5, 2001).
`“Intel StrataFlashTM Memory Technology Development and
`Implementation,” Fazio et al., Intel Technology Journal, 13
`pages (Q41997).
`“A 125mm 1Gb NAND Flash Memory with 10MB/s
`Program Throughput,” Nakamura et al., ISSCC 2002/Ses
`Sion 6/SRAM and Non-Volatile Memories/6.4, 2002 IEEE
`International Solid-State Circuits Conference, Digest of
`Technical Papers, pp. 106-107 (2002).
`“On the Go With Sonos,” White et al., Circuits & Devices,
`pp. 22-31 (Jul. 2000).
`“NROM: A Novel Localized Trapping, 2-Bit Nonvolatile
`Memory Cell.” Eitan et al., IEEE Electron Device Letters,
`vol. 21, No. 11, pp. 543-545 (Nov. 2000).
`“A512Mb NROM Flash Data Storage Memory with 8MB/s
`Data Rate,” Maayan et al., ISSCC 2002/Session 6/SRAM
`and Non-Volatile Memories/6.1, 2002 IEEE International
`Solid-State Circuits Conference, Digest of Technical Papers,
`pp. 100-101 (2002).
`
`Unified Memory-A High-Performance
`“Ovonic
`Nonvolatile Memory Technology for Stand-Alone Memory
`and Embedded Applications,” Gill et al., ISSCC 2002/
`Session 12/TD Digital Directions/124, 2002 IEEE
`International Solid-State Circuits Conference, Digest of
`Technical Papers, pp. 202-203 (2002).
`“0.13
`um Metal-Oxide-Nitride-Oxide-Semiconductor
`Single Transistor Memory Cell with Separated Source
`Line.” Fujiwara et al., Jpn. J. Appl. Phys. Vol. 39, pp.
`417-423, Part 1, No. 2A (Feb. 2000).
`“Three-Dimensional Memory Array and Method of Fabrica
`tion,” U.S. Appl. No. 09/560,626, filed Apr. 28, 2000,
`inventor: N. Johan Knall.
`“Digital Memory Method and System for Storing Multiple
`Bit Digital Data.” U.S. Appl. No. 09/932,701, filed Aug. 17,
`2001, inventors: Michael A. Vyvoda and N. Johan Knall.
`“Memory Device and Method for Reliably Reading Multi
`Bit Data from a Write-Many Memory Cell,” U.S. Appl. No.
`10/144,451, filed May 9, 2002, inventor: Bendik Kleveland.
`* cited by examiner
`
`Micron Ex. 1016, p. 2
`Micron v. Vervain
`IPR2021-01550
`
`

`

`U.S. Patent
`
`Feb. 14, 2006
`
`Sheet 1 of 3
`
`US 7,000,063 B2
`
`Write - Many Memory Device
`With Sideband Fields
`
`Software
`And/Or
`Hardware
`
`Data Source
`
`Fig. f
`
`1 O
`
`
`
`Write - Many
`Memory
`Device
`
`Fig. 2
`
`Micron Ex. 1016, p. 3
`Micron v. Vervain
`IPR2021-01550
`
`

`

`U.S. Patent
`
`Feb. 14, 2006
`
`Sheet 2 of 3
`
`US 7,000,063 B2
`
`Insert Memory Device
`into Host Device
`
`
`
`
`
`
`
`HOW
`Much Space
`
`SO5
`
`O
`3OO
`
`Query Loop
`Not Free
`
`Max
`Free
`Not Max
`
`31 O
`
`J& O
`
`
`
`
`
`Cannot
`Erase File
`(or free up space in
`this area)
`
`Create
`Free Space
`
`Choose File
`To Erase
`
`35.
`
`Only On Fields
`otAt Max
`
`File Chosen To Erasels:
`- 375
`Partially On Max
`Partially Not Max
`
`NeW
`Data
`Available
`
`
`
`Store Data in
`Free Blocks And
`Deallocate Space
`
`d
`
`Clear Free Bit
`And Update Count
`d
`Field in Each
`Block Used
`
`r
`
`Set "Free
`Bit in
`Each Block
`Erased
`
`indicator:
`
`Only X Data
`Available By
`Erasino. This
`g
`Location
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Fig. 3
`
`37O
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Micron Ex. 1016, p. 4
`Micron v. Vervain
`IPR2021-01550
`
`

`

`U.S. Patent
`
`Feb. 14, 2006
`
`Sheet 3 of 3
`
`US 7,000,063 B2
`
`
`
`Micron Ex. 1016, p. 5
`Micron v. Vervain
`IPR2021-01550
`
`

`

`1
`WRITE-MANY MEMORY DEVICE AND
`METHOD FOR LIMITING ANUMBER OF
`WRITES TO THE WRITE-MANY MEMORY
`DEVICE
`
`BACKGROUND
`
`Users of write-many memory devices can be segmented
`into a variety of categories based on how many times they
`need to re-write the memory device and on what they are
`Willing to spend for the memory device. Currently, there are
`no write-many memory devices that control the number of
`allowable writes (or re-writes) to the memory device.
`Accordingly, it is very difficult to Segment the write-many
`memory device market into those willing to pay for two
`re-writes from those willing to pay for ten re-writes, for
`example.
`Additionally, Some write-many memory devices, Such as
`Flash memory, are reliable only for a limited number of
`writes. Ablock of Flash memory can “wear out” and become
`“stuck' at one logic State after repeated erase operations due
`to the inability to remove all of the charge trapped in the
`oxide under a floating gate of a Storage transistor. To
`equalize the wear (i.e., the number of erase times) of the
`Flash memory, a Flash Translation Layer (FTL) can employ
`a “wear leveling algorithm to use all areas of the Flash
`memory in an equal manner. In operation, when a file Stored
`in a block of memory needs to be updated, the FTL notices
`that the block is non-Virgin and does not erase and overwrite
`the old data. Instead, the FTL writes the updated data to
`unused blocks of memory and directs Subsequent read
`accesses to those blocks. The old data is marked as “old” and
`is not erased until the block has to be reused. Although the
`wear leveling algorithm tends to balance the wear on the
`blocks, a block can Still wear out after repeated erase
`operations.
`There is a need, therefore, for a write-many memory
`device and method for limiting a number of writes to the
`write-many memory device.
`
`SUMMARY
`
`The present invention is defined by the following claims,
`and nothing in this Section should be taken as a limitation on
`those claims.
`By way of introduction, the preferred embodiments
`described below provide a write-many memory device and
`method for limiting a number of writes to the write-many
`memory device. In one preferred embodiment, a write-many
`memory device is provided comprising a plurality of blockS
`of memory, each block being limited to N number of writes.
`Data can be stored in a block of memory only if there has
`been fewer than N number of writes to the block. In another
`preferred embodiment, a write-many memory device is
`provided comprising a plurality of blocks of memory,
`wherein each block comprises a first Sideband field Storing
`data indicating whether the block is free and a Second
`Sideband field Storing data indicating how many times the
`block has been written into. The first and second Sideband
`fields are used in a method for limiting a number of writes
`to the write-many memory device. Other preferred embodi
`ments are provided, and each of the preferred embodiments
`can be used alone or in combination with one another.
`The preferred embodiments will now be described with
`reference to the attached drawings.
`
`US 7,000,063 B2
`
`2
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is an illustration of a write-many memory device
`with sideband fields of a preferred embodiment.
`FIG. 2 is a block diagram of a write-many memory device
`coupled with a host device of a preferred embodiment.
`FIG. 3 is a flow chart of a method of a preferred
`embodiment for limiting a number of writes to a write-many
`memory device.
`FIGS. 4A-4D are illustrations of a method of a preferred
`embodiment for limiting a number of writes to a write-many
`memory device.
`
`DETAILED DESCRIPTION OF THE
`PRESENTLY PREFERRED EMBODIMENTS
`
`15
`
`The preferred embodiments described herein relate to a
`write-many memory device. The terms “memory device”
`and “storage device' will be used interchangeably herein. In
`a write-many memory device, an un-programmed digital
`State of a memory location (e.g., the Logic 0 (or Logic 1)
`State) can be restored after it is Switched to a programmed
`digital State (e.g., the Logic 1 (or Logic 0) state). In this way,
`Stored data can be erased and/or over-written with new data.
`The write-many memory device is preferably field-program
`mable So that the memory locations of the memory device
`can be programmed by a user at a time after the memory
`device has been manufactured. Any Suitable type of write
`many memory device can be used. For example, a write
`many memory device can take the form of a Solid-State
`Storage device (Such as Flash memory) or a magnetic Storage
`device. If a memory device with a memory array is used, the
`memory array can be two-dimensional or three-dimensional
`and be made of any Suitable material (e.g., Semiconductor,
`phase-change, amorphous Solids, MRAM, or organic pas
`sive elements). Preferably, the write-many memory device is
`non-volatile So that it maintains its contents without any
`external Source of power. It is preferred that the write-many
`memory device take the form described in “Dense Arrays
`and Charge Storage Devices, and Methods for Making
`Same,” U.S. patent application Ser. No. 09/927,648, filed
`Aug. 13, 2001, which is hereby incorporated by reference.
`Turning now to the drawings, FIG. 1 is an illustration of
`a write-many memory device 100 of a preferred embodi
`ment. The write-many memory device 100 is in communi
`cation with a data Source 110 and Software and/or hardware
`components 120 that are operative to Store data Supplied by
`the data source 110 in the write-many memory device 100.
`The data Source 110 can be a component that itself generates
`data (e.g., part of a digital camera that generates a digital
`picture) or can be a component that receives data from
`another Source Such as a network (e.g., the Internet) or
`another computer. "Data' can take any Suitable form, Such
`as, but not limited to, digital images, Video, audio, books,
`maps, and numerous other examples that will be readily
`apparent to those skilled in the art.
`The write-many memory device 100, the data source 110,
`and the software and/or hardware components 120 can be
`integrated together in a Single System, Such as a general
`purpose or application-specific computing System. Alterna
`tively, as shown in FIG. 2, the write-many memory device
`100 can be a removable device that couples with a host
`device 200, which contains the data Source 110 and the
`Software and/or hardware components 120. AS used herein,
`“coupled with means directly coupled with or indirectly
`coupled with through one or more named or unnamed
`intervening components. In one embodiment, the write
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Micron Ex. 1016, p. 6
`Micron v. Vervain
`IPR2021-01550
`
`

`

`US 7,000,063 B2
`
`15
`
`35
`
`40
`
`25
`
`3
`many memory device 100 takes the form of a compact,
`modular device, Such as a card or a Stick with an exposed
`electrical connector, that is readily inserted into and
`removed from a corresponding port in the host device 200.
`The host device 200 can be a consumer electronic device,
`Such as a digital camera, a digital audio player, a personal
`digital assistant, a cellular telephone, a game player, a digital
`book, or a general-purpose computer. The memory device
`100 can be used to store data generated by the host device
`200 and can also be used to transfer data from the host
`device 200 to another device (e.g., from a PC to a PDA).
`Returning to FIG. 1, the write-many memory device 100
`of this preferred embodiment has a plurality of blocks 102
`of memory, each block comprising two sideband fields 104,
`106. As used herein, a “block” refers to an allocation unit of
`memory. A block can be of any size. For example, a block
`can include one memory unit, more than one memory unit,
`or all of the memory units in the memory device 100. If files
`to be stored in the memory device 100 are of a single size,
`it may be preferred to match the size of a block to the size
`of the file so that a file is stored in a single block. If files to
`be stored in the memory device 100 are of different sizes, it
`may be preferred to design the size of a block to be Smaller
`than the Size of a file. This finer granularity reduces the
`potential for wasted Space. In one preferred embodiment, a
`block contains 512 bytes of memory that can be written into
`by a user of the memory device 100. Each block is associ
`ated with 16 bytes of “reserved” memory that is not user
`accessible. At least some of the 16 bytes are used for the first
`and second sideband fields 104,106. The 512-byte block and
`its associated 16-byte reserved memory is referred to as a
`"page.'
`The first and second Sideband fields 104, 106 are used in
`a method for limiting a number of writes to the write-many
`memory device 100. The first sideband field 104 stores data
`indicating whether its associated block 102 is free. A block
`is free if the block does not contain data that should not be
`overwritten or erased. In one preferred embodiment, the first
`Sideband field 104 Stores a “1” if the block 102 is free and
`stores a “0” if the block 102 is not free. The second Sideband
`field 106 stores data indicating how many times the block
`102 has been written into. For example, the second sideband
`field 106 can store a count of how many times the block 102
`has been written into, and each time the block 102 is written
`into, the count is increased. Alternatively, the Second Side
`band field 106 can Store a count representing the remaining
`number of times that the block 102 can be written into, and
`this count is decremented each time the block 102 is written
`into. In either alternative, the count can represent the number
`of re-writes instead of the number of writes.
`AS will be discussed in greater detail below, the data
`stored in the second sideband fields 106 can be preset by a
`manufacturer of the memory device 100 to limit the number
`of writes to a certain number, N. In this way, data is Stored
`in the block 102 only if there have been fewer than N
`55
`number of writes to the block 102. The memory device 100
`can be preset by the manufacturer So that it writeS as few as
`one time (resulting in the write-many memory device oper
`ating as a WORM) or as many times as desired, preferably
`not more than (i.e., equal to or fewer than) the maximum
`allowable qualified writes (if Such a maximum exists). AS
`used herein, a “manufacturer of a memory device refers to
`any party who handles the memory device before it is Sold
`or distributed to an end user (e.g., a consumer). A "manu
`facturer' can include a party involved in the manufacturing,
`assembly, packaging, Sale, or distribution of the memory
`device.
`
`45
`
`50
`
`60
`
`65
`
`4
`Turning again to the drawings, FIG. 3 is a flow chart of
`a method of a preferred embodiment for limiting a number
`of writes to a write-many memory device. As shown in FIG.
`3, the memory device 100 is first inserted into the host
`device 200 (act 300). The host device 200 then determines
`how much space is free in the memory device 100 (act305).
`To do this, the host device 200 runs a query loop (act 310)
`that determines how many blocks of memory are free (i.e.,
`how many blockS have first Sideband fields containing a
`“1”). Additionally, the query loop determines how many
`blocks have been written into a maximum number of times.
`This data is aggregated into four categories in a run-time
`allocation table: (1) not free; not max, (2) not free, max, (3)
`free; not max, and (4) free; max. Next, the host device 200
`checks the allocation table and determines if there is enough
`free space (i.e., enough blocks with a “1” in the first
`Sideband field) to Store data of an expected size based on
`user specifications (act315). For example, if the host device
`200 is a digital camera, the host device 200 can determine
`if there is enough space available on the memory device 110
`to Store a new picture given the quality Setting and com
`pression ratio Set by the user. This determination is made
`before the user is allowed to take a new picture (i.e., the
`determination is made before run-time). If there is enough
`free space, the host device waits for input (act 320) and
`determines if new data is available (act 325).
`If new data is available, the host device 200 stores the data
`in at least Some of the free blocks and de-allocates that Space
`from the amount indicated in the free, not max and/or free;
`max categories of the run-time allocation table (act 330).
`Then, in each block that was used to Store the data, the free
`bit in the first sideband field is cleared (e.g., set from 1 to 0)
`to indicate that the block is not free, and the data in the
`second sideband field (the “count” field) is updated to
`indicate that the block was used (act 335). An example of
`this process is shown in FIGS. 4A and 4.B. FIG. 4A shows
`a memory device with nine blocks (blocks 1-9). File A is
`stored in blocks 1-3, and File B is stored in blocks 4-7.
`Accordingly, Blocks 1-7 are not free (i.e., the first sideband
`fields contain a 0), and blocks 8 and 9 are free (i.e., the first
`sideband fields contain a 1). As shown in FIG. 4B, when a
`two-block long file (File C) is stored in free blocks 8 and 9,
`the free bit in the first sideband fields of blocks 8 and 9 is
`cleared (Switched from 1 to 0), and the data in the second
`sideband fields of blocks 8 and 9 is updated (from 4 to 5).
`Returning to the flow chart of FIG. 3, after act 335 is
`performed, the host device 200 again determines if there is
`enough free space to store data of an expected size (act315).
`AS described above, in act 330, the host device 200 de
`allocates the Space used to Store the file from the amount
`indicated in the free; not max and/or free, max categories in
`the run-time copy of the allocation table created in act 305.
`Because a run-time copy is used, act 305 does not need to
`be re-performed, thereby Saving time and resources in the
`host device 200. In an alternate embodiment, instead of
`de-allocating Space in a run-time copy of the allocation table
`in act 330, the host device 200 can re-run the query loop
`(acts 305 and 310) after each write operation.
`If the host device 200 determines that there is not enough
`free Space, the user is given the option of creating free Space
`(act 340). If the user does not want to create free space (e.g.,
`the user does not want to delete any of the stored files), the
`memory device 100 will be considered full by the host
`device 200 (act 345). If the user does want to create free
`Space, the user will be asked to choose a file to erase from
`the memory device 100 (act350). The host device 200 then
`determines whether some or all of the blocks storing the
`
`Micron Ex. 1016, p. 7
`Micron v. Vervain
`IPR2021-01550
`
`

`

`US 7,000,063 B2
`
`15
`
`35
`
`40
`
`25
`
`S
`Selected file have been written into a maximum number of
`times (in this example, the maximum number is 5). If the
`selected file is stored only in blocks that have been written
`into a maximum number of times (scenario 355), such as
`File C in FIG. 4B, then the host device 200 prevents the user
`from erasing the file (act 360) since erasing the file would
`not create free Space to Store a new file. Of course, the user
`can be given the option to override this protection. If the
`selected file is stored only in blocks that have been written
`into fewer than the maximum number of times (Scenario
`365), the user is given the option to erase the file (act 370).
`If the selected file is stored both in blocks that have been
`written into fewer than the maximum number of times and
`in blocks that have been written into the maximum number
`of times (scenario 375), such as File B in FIG. 4B, the user
`is provided with an indicator alerting him that erasing the file
`will only free Some of the Space occupied by the file (act
`380). The user is then given the option to erase the file (act
`370). The user may choose not to erase the file after knowing
`that the erasure of the file will not create the Space needed
`to Store a new file.
`If the user chooses to erase a file stored only in blocks that
`have been written into fewer than the maximum number of
`times, the free bit is set in the first sideband fields of each of
`the erased blocks. For example, as shown in FIG. 4C, if the
`user Selects to erase File A, which is Stored only in blockS
`that have been written into fewer than the maximum number
`of times, the first Sideband fields of blocks 1-3 are set from
`0 to 1. If the user chooses to erase a file stored both in blocks
`that have been written into fewer than the maximum number
`of times and in blocks that have been written into the
`maximum number of times, the free bit is set in the first
`Sideband fields of each of the erased blocks that have not
`been written into a maximum number of times. Consider, for
`example, the Situation in which a user erases File B. Some
`of the blocks storing File B (blocks 4, 5, and 7) have been
`written into fewer than the maximum number of times, while
`block 6 has been written into the maximum number of times.
`As shown in FIG. 4D, when File C is erased, the free bit is
`set in the first sideband fields of blocks 4, 5, and 7 but not
`in block 6. This prevents block 6 from being written into
`again.
`With Some write-many technologies, old data in a block
`can be overwritten with new data without first returning the
`cells of the block to their un-programmed digital state. With
`these technologies, the erase operation Sets the free bit in the
`first sideband field of the block but does not necessarily
`return the cells of the block to their un-programmed digital
`State. In this way, the erase operation is simply a bookkeep
`ing function (i.e., Setting the free bit in the first Sideband
`field). However, with other write-many technologies, Such
`as Flash memory, the cells of a block must be returned to
`their un-programmed digital State before new data can be
`written into the block. With these technologies, the erase
`operation both sets the free bit in the first sideband field of
`55
`the block and returns the cells of the block to their un
`programmed digital State.
`There are Several applications that can be used with this
`preferred embodiment. For example, this preferred embodi
`ment can be used by a manufacturer of memory devices to
`provide a consumer with an alternative to conventional
`write-once and write-many memory devices. AS discussed
`above, users of write-many memory devices can be Seg
`mented based on how many times they need to write to the
`memory device and on what they are willing to spend for the
`memory device. With this preferred embodiment, a memory
`device manufacturer can create a variety of write-many
`
`45
`
`50
`
`60
`
`65
`
`6
`memory devices with different maximum number of writes,
`and these memory devices can be priced at different levels
`depending on their maximum number of writes. This Selec
`tion allows a consumer to purchase the memory device with
`the write capability and price that he desires. For example,
`instead of merely deciding between a write-once memory
`device or a write-many memory device, a consumer can
`decide to purchase a “Write-5' memory device or a “Write
`10” memory device. The “Write-5” and “Write-10” memory
`devices can be priced between the write-once and write
`many memory devices, with the “Write-10” memory device
`being more expensive than the “Write-5' memory device.
`In another application, the maximum number of writes is
`used to limit the use of a program Stored in the memory
`device. Consider, for example, an interactive computer game
`Stored on a write-many memory device that Stores data on
`the memory device as the user interacts with the game.
`Limiting the number of writes to the write-many memory
`device effectively limits the user's opportunity to interact
`with the game. When the memory device no longer accepts
`user interaction, a user would be motivated to purchase a
`new game card. There are many additional applications that
`can be created around the functionality of limiting the
`number of writes to the write-many memory device. For
`example, applications can be developed for Smart Cards that
`only allow a user to interact with a record a limited number
`of times before the record is "frozen' on the card.
`In yet another use of this preferred embodiment, the
`maximum number of writes to the memory device is Set to
`assure a quality write to the memory device. AS discussed
`above, Some write-many memory devices are reliable only
`for a limited number of uses. Setting the maximum number
`of writes at or below the maximum allowable qualified
`number of uses will prevent a user from using the memory
`device for more writes than the memory device should be
`expected to handle. The control logic implemented in the
`Software and/or hardware components 120 can be modified
`to accommodate the quality and reliability-related use of this
`preferred embodiment. For example, it may be preferred to
`Switch the order of acts 330 and 335 in the flow chart of FIG.
`3 so that the count field is updated before data is stored in
`the memory device 100. If there is an error writing data to
`a block, the host device 200 may attempt to write the data
`to the block several times. By switching the order of acts 330
`and 335, the usage count of the block is updated each time
`an attempt is made to Store the data in the block. Otherwise,
`the usage count would be updated only once even though the
`block was written into several times. Additionally, if the
`erase operation includes the act of returning the cells of a
`block to their un-programmed digital State, it may be pre
`ferred to update the count field for this operation Since the
`erase operation has the effect of wearing out the block.
`There are several alternatives that can be used with these
`preferred embodiments. For example, instead of using Soft
`ware and/or hardware components 120 in the host device
`200, a controller in the memory device can be used to
`implement control logic responsible for Some or all of the
`functionality described in the flow chart in FIG. 3. In another
`alternative embodiment, a block’s “free” and “count” status
`can be determined without the use of sideband fields (ac
`cordingly, Sideband fields should not be read into the claims
`unless explicitly recited therein). For example, a blocks
`“free” and “count Status can be tracked using file System
`Structures Stored in the memory device. A "file System
`Structure' can take the form of an allocation table, a listing
`of Stored files, a Search tree, a boot block, a partition header,
`a partition footer, and a description of contents of the
`
`Micron Ex. 1016, p. 8
`Micron v. Vervain
`IPR2021-01550
`
`

`

`US 7,000,063 B2
`
`7
`memory device. Of course, other file System Structures in
`addition to those listed above can be used. In operation, the
`host device's file System examines the file System Structures
`to determine the “free” and “count” status of a given block
`from the file System Structures.
`Additionally, with any of the preferred embodiments
`described above, a write-many memory device can comprise
`a plurality of blocks of memory that are limited to a
`maximum number of writes and one or more additional
`blocks that are either limited to a different number of writes
`or that have no limit at all. For example, it may be preferred
`not to restrict the number of writes to the blocks that store
`file System Structures Since these structures are frequently
`updated by the host device's file system.
`It is intended that the foregoing detailed description be
`understood as an illustration of Selected forms that the
`invention can take and not as a definition of the invention.
`It is only the following claims, including all equivalents, that
`are intended to define the Scope of this invention. Finally, it
`should be noted that any aspect of any of the preferred
`embodiments described herein can be used alone or in
`combination with one another.
`
`1O
`
`15
`
`25
`
`8
`8. A method for limiting a number of writes to a write
`many memory device, the method comprising:
`(a) providing a write-many memory device comprising a
`plurality of blocks of memory, each block comprising
`a first Sideband field Storing data indicating whether the
`block is free and a Second Sideband field Storing data
`indicating how many times the block has been written
`into;
`(b) determining whether there are enough blocks free to
`Store a file; and
`(c) if there are enough blocks free to store the file:
`(c1) Storing the file in at least Some of the blocks free
`to store the file;
`(c2) in the first sideband fields of the blocks storing the
`file, Storing data indicating that the blocks are not
`free, and
`(c3) in the second sideband fields of the blocks storing
`the file, updating the data indicating how many times
`the blocks have been written into; wherein a maxi
`mum number of times a block can be written into is
`fewer than a maximum allowable number of quali
`fied writes to the write-many memory device.
`9. The invention of claim 8, wherein (c1) is performed
`before (c3).
`10. The invention of claim 8, wherein (c3) is performed
`before (c1).
`11. The invention of claim 8 further comprising:
`(d) if there are not enough blocks free to store the file,
`Selecting a previously-Stored file to be erased, the
`previously-Stored file being Stored in a first Set of
`blocks.
`12. The invention of claim 11 further comprising:
`(e) if the second sideband fields of the first set of blocks
`indicate that the first set of blocks has been written into
`fewer than a maximum number of times:
`(e1) in the first sideband fields of the first set of blocks,
`Storing data indicating that the blocks are free; and
`(e2) Storing the file in at least Some of the first set of
`blocks.
`13. The invention of claim 11 further comprising:
`(e) if the second sideband fields of the first set of blocks
`indicate that the first set of blocks has been written into
`a maximum number of t

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