throbber
IN THE UNITED STATES PATENT AND TRADEMARK OFFICE
`
`In re patent of Conley:
`
`U.S. Patent No. 7,818,490
`
`Issued: October 19, 2010
`
`Title: PARTIAL BLOCK DATA
`PROGRAMMING AND
`READING OPERATIONS IN A
`NON-VOLATILE MEMORY
`
`Petition for Inter Partes Review
`
`Attorney Docket No.:
`337722-000080.490
`
`Customer No.: 26379
`
`Petitioner: Apple Inc.
`
`Real Party in Interest: Apple Inc.
`
`DECLARATION OF DR. VIVEK SUBRAMANIAN
`
`APPLE INC.
`EXHIBIT 1003 - PAGE 0001
`
`

`
`TABLE OF CONTENTS
`
`Page
`
`Relevant Background and Experience............................................................2
`
`Relevant Technology Background .................................................................3
`
`1.
`
`Overview of Flash Memory .................................................................3
`
`Overview of the ’490 Patent...........................................................................6
`
`Level of Ordinary Skill in the Art ................................................................11
`
`Claim Construction.......................................................................................12
`
`1.
`
`“metablock”........................................................................................12
`
`Challenge #1: Claims 94-97, 102, and 104-105 are Anticipated by
`Wells .............................................................................................................14
`
`2. Wells anticipates claim 94..................................................................16
`
`3. Wells anticipates claim 95..................................................................25
`
`4. Wells anticipates claim 96..................................................................26
`
`5. Wells anticipates claim 97..................................................................26
`
`6. Wells anticipates claim 102................................................................27
`
`7. Wells anticipates claim 104................................................................28
`
`8. Wells anticipates claim 105................................................................29
`
`Challenge #2: Claims 98, 100, and 103 are Rendered Obvious by
`Wells and Niijima.........................................................................................31
`
`Challenge #3 Claims 66, 68, and 70 Are Rendered Obvious by Wells
`and the Knowledge of One of Ordinary Skill in the Art ..............................32
`
`A.
`
`B.
`
`C.
`
`D.
`
`E.
`
`F.
`
`G.
`
`H.
`
`- i -
`
`APPLE INC.
`EXHIBIT 1003 - PAGE 0002
`
`

`
`TABLE OF CONTENTS
`(continued)
`
`Page
`
`1.
`
`2.
`
`3.
`
`Claim 66 is rendered obvious by Wells and the knowledge of
`one of ordinary skill in the art ............................................................32
`
`Claim 68 is rendered obvious by Wells and the knowledge of
`one of ordinary skill in the art ............................................................33
`
`Claim 70 is rendered obvious by Wells and the knowledge of
`one of ordinary skill in the art ............................................................34
`
`Challenge #4 (Relative Order of Programming): Claim 67 Is
`Rendered Obvious by Wells, the Knowledge of One of Ordinary Skill
`in the Art, and Niijima..................................................................................34
`
`Challenge #5 (Logical Block Number and Page Offset Claims):
`Claims 69, 99, and 101 are Rendered Obvious by Wells, the
`Knowledge of One of Ordinary Skill in the Art, and the Admitted
`Prior Art or Miyauchi ...................................................................................36
`
`Challenge #6 (Multi-Bit Claims): Claims 71 and 106 are Rendered
`Obvious by Wells, the Knowledge of One of Ordinary Skill in the Art,
`and the Admitted Prior Art or Cappelletti ....................................................40
`
`Challenge #7 (Enclosure Card): Claim 72 is Rendered Obvious by
`Wells, , the Knowledge of One of Ordinary Skill in the Art, and the
`Admitted Prior Art or the PC Card Standard................................................42
`
`Challenge #8 (Metablock): If the Board Rejects Any of Challenges
`#1-7 Based on the “Metablock” Element, Then Such Claims Are
`Rendered Obvious by Wells and the Knowledge of One of Ordinary
`Skill in the Art, Hazen, or Dipert..................................................................44
`
`I.
`
`J.
`
`K.
`
`L.
`
`M.
`
`- ii -
`
`APPLE INC.
`EXHIBIT 1003 - PAGE 0003
`
`

`
`Exhibit Number Description
`
`U.S. Patent No. 7,818,490
`Petition For Inter Partes Review
`
`1001
`
`1002
`
`1003
`
`1004
`
`1005
`
`1006
`
`1007
`
`1008
`
`1009
`
`1010
`
`1011
`
`U.S. Patent No. U.S. Patent 7,818,490 (“the ’490
`
`patent”)
`
`File History for U.S. Patent 7,818,490
`
`Declaration of Dr. Vivek Subramanian
`
`(“Subramanian Decl.”)
`
`CV of Dr. Vivek Subramanian
`
`U.S. Patent 5,822,781 (“Wells”)
`
`U.S. Patent No. 5,457,658 (Niijima)
`
`U.S. Patent No. 5,627,783 (“Miyauchi”)
`
`Flash Memories, edited by Cappelletti, et al (1999)
`
`(“Cappelletti”)
`
`PC Card Standard, Volumes 1 and 3 (1999) (“PC
`
`Card Standard”)
`
`PCT WO 99/35650 (“Hazen”)
`
`Designing With Flash Memory, Brian Dipert and
`
`Markus Levy (1994) (“Dipert”)
`
`iii
`
`APPLE INC.
`EXHIBIT 1003 - PAGE 0004
`
`

`
`U.S. Patent No. 7,818,490
`Petition For Inter Partes Review
`
`1.
`
`2.
`
`I, Vivek Subramanian, declare as follows:
`
`I am making this Declaration at the request of Petitioner Apple Inc.
`
`regarding its Petition for Inter Partes Review of U.S. Patent No. 7,818,490 (the
`
`“’490 patent”).
`
`3.
`
`I am being compensated for my work at my standard rate of $550 per
`
`hour. My compensation does not depend on the outcome of this proceeding.
`
`4.
`
`As part of my analysis, I reviewed the following materials:
`
`Exhibit 1001
`
`U.S. Patent No. U.S. Patent 7,818,490
`
`Exhibit 1002
`
`File History for U.S. Patent 7,818,490
`
`Exhibit 1005
`
`U.S. Patent 5,822,781 (“Wells”)
`
`Exhibit 1006
`
`U.S. Patent No. 5,457,658 (Niijima)
`
`Exhibit 1007
`
`U.S. Patent No. 5,627,783 (“Miyauchi”)
`
`Exhibit 1008
`
`Flash Memories, edited by Cappelletti, et al
`
`(1999) (“Cappelletti”)
`
`Exhibit 1009
`
`PC Card Standard, Volumes 1 and 3 (1999)
`
`(“PC Card Standard”)
`
`Exhibit 1010
`
`PCT WO 99/35650 (“Hazen”)
`
`Exhibit 1011
`
`Designing With Flash Memory, Brian
`
`Dipert and Markus Levy (1994) (“Dipert”)
`
`1
`
`APPLE INC.
`EXHIBIT 1003 - PAGE 0005
`
`

`
`U.S. Patent No. 7,818,490
`Petition For Inter Partes Review
`
`A.
`
`5.
`
`Relevant Background and Experience
`
`My background and experience is summarized in my curriculum
`
`vitae, a true and correct copy of which is submitted as Exhibit 1004. Some of the
`
`relevant points are described below, as well.
`
`6.
`
`I received a B.S. in electrical engineering from Louisiana State
`
`University in 1994, an M.S. in electrical engineering from Stanford University in
`
`1996, and a Ph.D. in electrical engineering from Stanford University in 1998.
`
`7.
`
`In 1998, I co-founded Matrix Semiconductor, Inc. to develop high
`
`density memory technology.
`
`8.
`
`I have been teaching in the Electrical Engineering and Computer
`
`Sciences Department at the University of California, Berkeley since 2000. I was
`
`an Assistant Professor from 2000 to 2005, an Associate Professor from 2005 to
`
`2011, and a Professor from 2011 to the present.
`
`9.
`
`I have been an adjunct professor at the Sunchon National University
`
`in Sunchon, Korea since 2009, leading research in printed electronics.
`
`10.
`
`I have been an independent consultant in the semiconductor industry
`
`since 2000, focusing on memory technology, flexible electronics, and RFID
`
`technology.
`
`2
`
`APPLE INC.
`EXHIBIT 1003 - PAGE 0006
`
`

`
`U.S. Patent No. 7,818,490
`Petition For Inter Partes Review
`
`11.
`
`I have published more than 200 technical papers in journals and at
`
`conferences.
`
`12.
`
`I am a named inventor on over 30 U.S. Patents, many of which are in
`
`the field of memory design.
`
`B.
`
`Relevant Technology Background
`
`1.
`
`Overview of Flash Memory
`
`13. A flash memory device contains one or more arrays of non-volatile
`
`memory cells. (Ex. 1001 at 1:29-40). Non-volatile memory cells retain their data
`
`when power is removed. (Id.) However, unlike most types of non-volatile
`
`memory cells (such as ROM and EPROM cells), flash memory cells are
`
`electrically reprogrammable. (Id.). The typical flash memory architecture used to
`
`achieve non-volatility and reprogrammability has several functional limitations.
`
`For example, once a flash memory cell is programmed with data, the cell must be
`
`erased before that cell can be reprogrammed with new data. (Id.). Further, if it
`
`were desired to erase the cells used in flash memory on a cell-by-cell basis,
`
`extensive circuitry would be required to erase such flash memory cells
`
`individually. (Ex. 1001 at 1:41-58). Therefore, instead of erasing individual cells,
`
`the typical flash memory has large groups of cells arranged into erasable blocks, a
`
`block containing the smallest number of cells that can be erased at one time. (Id.).
`
`It is desirable to read or write data in units smaller than the size of a block. (Ex.
`
`3
`
`APPLE INC.
`EXHIBIT 1003 - PAGE 0007
`
`

`
`U.S. Patent No. 7,818,490
`Petition For Inter Partes Review
`
`1001 at 1:51-58). Therefore, blocks are further partitioned into pages, a page
`
`containing the smallest number of cells that can be read or written at one time.
`
`(Id.). Also, in some flash memories, the pages within each block can only be
`
`programmed in a physically sequential manner. (Ex. 1001 at 7:1-4).
`
`14.
`
`In addition to user data, each page in a flash memory can contain a set
`
`of overhead data fields and flags to store information related to the user data.
`
`(Ex.
`
`1001 at 1:41-58, 5:53-55). For example, each time user data is written to a page, a
`
`logical block number (“LBN”) indicating the data’s logical address can be
`
`recorded in a data field within the page. (Ex. 1001 at 5:49-57, 6:6-25, and 6:44-
`
`57). .
`
`4
`
`APPLE INC.
`EXHIBIT 1003 - PAGE 0008
`
`

`
`U.S. Patent No. 7,818,490
`Petition For Inter Partes Review
`
`(Ex. 1001 at Figure 6).
`
`15.
`
`The block and page architecture of the typical flash memory presents
`
`several challenges when updating user data. In the ideal case, the data in all pages
`
`of a block are modified together and written to the pages of an erased block. (Ex.
`
`1001 at 2:4-8). However, a partial block update is more common, in which the
`
`data in only some pages within a block are updated, while the data in the remaining
`
`pages is unchanged. (Ex. 1001 at 2:8-12). At least two techniques to perform a
`
`partial block update in a flash memory device were well known when the ’490
`
`patent was filed and are acknowledged as prior art by the ’490 patent itself. (Ex.
`
`1001 at 2:14-28). The first technique involves writing the updated data into a new,
`
`erased block. (Id.) The system then copies the unchanged data from the old block
`
`into the new block. (Id.). Finally, the system erases the old block. (Id.). This
`
`technique is inefficient because it requires copying unchanged pages of data to a
`
`different block. (Id.).
`
`16.
`
`The second known partial block update technique also involves
`
`writing the data of the updated pages to a corresponding number of pages in a new
`
`block. (Ex. 1001 at 2:21-28). However, instead of copying the unchanged pages
`
`of data to the new block, the flags of the pages in the original block which are
`
`being updated are modified to indicate that those pages contain superseded data.
`
`(Id.). When reading the data, the updated data from pages of the new block are
`
`5
`
`APPLE INC.
`EXHIBIT 1003 - PAGE 0009
`
`

`
`U.S. Patent No. 7,818,490
`Petition For Inter Partes Review
`
`combined with the unchanged data from the pages of the original block that are not
`
`flagged as superseded. (Id.). While the second technique avoids copying the
`
`unchanged data to the new block, it still requires updating a flag in each
`
`superseded page. (Id.).
`
`C.
`
`17.
`
`Overview of the ’490 Patent
`
`The ’490 patent relates to management and organization of a flash
`
`memory system. It recognizes that typical flash systems can write data to
`
`individual pages but can only erase entire blocks and not individual pages. In the
`
`Admitted Prior Art discussed in the ’490 patent, if the host wrote data to Logical
`
`Addresses (LA) 1, 2, 3, and 4, the data might be stored in pages as follows:
`
`(Ex. 1001 at 5:45-48).
`
`18. At a later time, if the host wished to update one of the pages, such as
`
`LA4, but not all of the pages, the Admitted Prior Art system discussed in the ’490
`
`6
`
`APPLE INC.
`EXHIBIT 1003 - PAGE 0010
`
`

`
`U.S. Patent No. 7,818,490
`Petition For Inter Partes Review
`
`would write the updated page in a new block, copy the unchanged data from the
`
`old block to the new block, and then erase the old block, as shown below:
`
`7
`
`APPLE INC.
`EXHIBIT 1003 - PAGE 0011
`
`

`
`U.S. Patent No. 7,818,490
`Petition For Inter Partes Review
`
`(Ex. 1001 at Figure 4; 5:45-67).
`
`19.
`
`This was inefficient and time-consuming. The ’490 patent recognizes
`
`the limitations of the Admitted Prior Art and offers a solution whereby the old
`
`block is maintained and the updated page is written to a new block. This means
`
`that the old page and updated page both will be associated with the same logical
`
`address (e.g., LA4). The ’490 patent discloses a few different ways to keep track
`
`of which page is the most recent page. For example, the system can include a
`
`timestamp with each page or keep track of the relative order in which each page
`
`was written. The ’490 patent solution is illustrated below:
`
`8
`
`APPLE INC.
`EXHIBIT 1003 - PAGE 0012
`
`

`
`U.S. Patent No. 7,818,490
`Petition For Inter Partes Review
`
`(Ex. 1001 at Figure 8; 8:64-9:5).
`
`20.
`
`The ’490 patent provides an additional improvement. It creates a
`
`“metablock” by selecting one block from each sub-array and treating them as a
`
`unit. For example, the system could perform an erase on the entire metablock at
`
`one time. This is an organizational technique shown below:
`
`9
`
`APPLE INC.
`EXHIBIT 1003 - PAGE 0013
`
`

`
`U.S. Patent No. 7,818,490
`Petition For Inter Partes Review
`
`(Ex. 1001 at Figure 15; 11:53-22:12).
`
`21.
`
`The ’490 patent discloses that when pages are updated within a
`
`metablock, the updated pages can be written to a new block in the same sub-array,
`
`as shown below:
`
`10
`
`APPLE INC.
`EXHIBIT 1003 - PAGE 0014
`
`

`
`U.S. Patent No. 7,818,490
`Petition For Inter Partes Review
`
`(Ex. 1001 at Figure 15, 12:6-12).
`
`22.
`
`The ’490 patent also discloses an embodiment where updates to any
`
`page in the metablock are written to the same update block in one of the sub-
`
`arrays, as shown below:
`
`(Ex. 1001 at Figure 16, 12:27-47).
`
`23. As will discussed below, all of these alleged improvements of the
`
`’490 patent are found in the prior art.
`
`D.
`
`24.
`
`Level of Ordinary Skill in the Art
`
`In my opinion, a person of ordinary skill in the relevant art at the time
`
`of the ’490 patent would have had Master’s Degree or equivalent in electrical
`
`engineering or a related field and two years of experience in memory technology or
`
`the equivalent.
`
`11
`
`APPLE INC.
`EXHIBIT 1003 - PAGE 0015
`
`

`
`U.S. Patent No. 7,818,490
`Petition For Inter Partes Review
`
`E.
`
`Claim Construction
`
`25. My understanding is that in an IPR proceeding, the Board will
`
`construe the claims using the broadest reasonable interpretation standard and that
`
`this standard is different than the one used by Courts in patent litigation.
`
`1.
`
`“metablock”
`
`26.
`
`I understand that, the parties have not construed the term “metablock”
`
`in the Related Litigation, but that they have construed the larger phrase “at least
`
`first and second of the plurality of blocks logically linked together as a metablock.”
`
`My understanding is that based on Patent Owner’s construction of that larger
`
`phrase, its apparent construction of “metablock” is: “two or more blocks
`
`positioned in separate units of one or more memory chips for programming and
`
`reading together in parallel as part of a single operation.” I also understand that
`
`Petitioner contends that “metablock” should be construed as: “set of blocks
`
`associated together such that during operation they are programmed, read, or
`
`erased together as a unit.” I agree with Petitioner’s construction.
`
`27.
`
`Petitioner’s construction is consistent with the claims and
`
`specification, which refer to the metablock as a set of blocks that are grouped
`
`together for an operation, such as a program, read, or erase operation. It is not
`
`necessary that the blocks of a metablock be programmed together and read
`
`together as argued by Patent Owner.
`
`12
`
`APPLE INC.
`EXHIBIT 1003 - PAGE 0016
`
`

`
`U.S. Patent No. 7,818,490
`Petition For Inter Partes Review
`
`28.
`
`For example, the Abstract describes metablocks and does not suggest
`
`that programming and reading must happen to each block concurrently: “This
`
`technique is also applied to metablocks that include one block from each of several
`
`different units of a memory array, by directing all page updates to a single unused
`
`block in one of the units.” (Ex. 1001 at Abstract). The metablock is simply an
`
`organizational unit.
`
`29.
`
`The claims also support Petitioner’s view. For example, claim 66
`
`indicates that the blocks of the metablock are erased together, but does not indicate
`
`that the blocks of the metablock are read together or programmed together. (Ex.
`
`1001 at claim 66). Similarly, claim 94 indicates that the blocks of the metablock
`
`are programmed together and erased together (“…memory storage elements are
`
`erasable together and whose pages…are programmable together in parallel…”) but
`
`does not indicate that the read operation must occur from both blocks together:
`
`“reading data of the file from the first and second plurality of pages.” (Ex. 1001 at
`
`claim 94). These claims indicate that a metablock does not need to support parallel
`
`erase operations, parallel programming operations, and parallel erase operations.
`
`Only one of those is required.
`
`30. Moreover, Petitioner’s construction is broader than Patent Owner’s
`
`construction and is a reasonable construction and therefore is more suitable as the
`
`broadest reasonable construction.
`
`13
`
`APPLE INC.
`EXHIBIT 1003 - PAGE 0017
`
`

`
`U.S. Patent No. 7,818,490
`Petition For Inter Partes Review
`
`F.
`
`1.
`
`Challenge #1: Claims 94-97, 102, and 104-105 are Anticipated by
`Wells.
`
`Overview of Wells
`
`31. Wells was filed on October 30, 1992, and issued on October 13, 1998.
`
`(Ex. 1005 at cover page). The earliest potential priority date for the ’490 patent is
`
`January 19, 2001. (Ex. 1001 at cover page) Wells therefore constitutes prior art
`
`against the ’490 patent under 35 U.S.C. Section 102(a), (b), and (e). Wells is
`
`contained within the file history of the ’490 along with over 110 other prior art
`
`references and hundreds of pages of filings from an ITC proceeding involving a
`
`grandparent of the ’490 patent. (Ex. 1005 at pages 1-2). Wells was not discussed
`
`by the Examiner or Applicant during prosecution of the ’490 patent. (Ex. 1002).
`
`32. Wells discloses all of the alleged points of novelty of the ’490 patent.
`
`Wells discloses the use of numerous flash memory chips, with each chip divided
`
`into blocks and each block divided into sectors. (Ex. 1005 at Figures 2-3; 4:40-
`
`62). Wells organizes the chips into pairs and provides an example involving 30
`
`different flash chips divided into pairs, with an exemplary chip pair (item 66)
`
`shown in Figure 2:
`
`14
`
`APPLE INC.
`EXHIBIT 1003 - PAGE 0018
`
`

`
`U.S. Patent No. 7,818,490
`Petition For Inter Partes Review
`
`(Ex. 1005 at Figure 2; 4:41-62). Each chip contains 16 blocks, and each block
`
`contains multiple sectors. (Ex. 1005 at Figure 2). Blocks from each chip pair are
`
`grouped together as a unit. For example, in Figure 2, Block 0 from chip 68 and
`
`Block 0 from chip 70 are treated together as block 80. (Ex. 1005 at Figure 2; 4:57-
`
`67). For convenience, this Petition will refer to this logical grouping of blocks
`
`from a chip pair, such as block 80, as a “Block Pair.” The Block Pair is a
`
`metablock under the claims of the ’490 patent. Each Block Pair can be erased as a
`
`unit, and each block in the Block Pair can be programmed concurrently.
`
`Moreover, when data in a sector within a block is updated, the updated data is
`
`written to a new sector associated with the same logical address as the old sector.
`
`(Ex. 1005 at 4:21-53; 14:66-15:13; 32:63-65).
`
`15
`
`APPLE INC.
`EXHIBIT 1003 - PAGE 0019
`
`

`
`U.S. Patent No. 7,818,490
`Petition For Inter Partes Review
`
`2. Wells anticipates claim 94
`
`33.
`
`The preamble of claim 94 states: “In a re-programmable non-volatile
`
`semiconductor memory system having a plurality of sub-arrays of memory storage
`
`elements in which programming operations may be performed independently, the
`
`sub-arrays individually being divided into a plurality of blocks of memory storage
`
`elements that are erasable together as a unit, the plurality of blocks individually
`
`being divided into a plurality of pages of memory storage elements that are
`
`programmable together, a method of operating the memory system, comprising:”
`
`34.
`
`To the extent this preamble is limiting, Wells discloses the preamble.
`
`Wells discloses a plurality of sub-arrays of memory storage elements in which
`
`programming operations may be performed independently Each memory storage
`
`element is a re-programmable non-volatile semiconductor devices.” (Exhibit 1005
`
`at Abstract, Figures 1-2). For example, Wells provides an example of a system
`
`with 30 flash memory chips, with each chip comprising a sub-array. (Ex. 1005 at
`
`4:40-51). The charge storage elements within individual sub-arrays are
`
`programmable independently in units called “sectors,” where each block comprises
`
`16 sectors. (Figure 2; 4:58-62). The “sector” in Wells is the same as the “page” in
`
`the ’490 patent. Figure 2 also discloses a logical block (such as block 80), which
`
`comprises a block from two sub-arrays. (Figure 2). The logical block is erasable
`
`as a unit. (Ex. 1005 at 32:63-65).
`
`16
`
`APPLE INC.
`EXHIBIT 1003 - PAGE 0020
`
`

`
`U.S. Patent No. 7,818,490
`Petition For Inter Partes Review
`
`35.
`
`The next element of claim 94 states: “linking together blocks within
`
`the plurality of sub-arrays to form a plurality of metablocks whose memory storage
`
`elements are erasable together and whose pages of memory storage elements
`
`within the linked blocks are programmable together in parallel.”
`
`36. Wells discloses this element. The Block Pair shown in Figure 2,
`
`excerpted above, is a logical unit comprising two blocks from different chips that
`
`are logically linked together as a metablock and are positioned in different sub-
`
`arrays. Figure 2 shows two exemplary sub-arrays (High Chip 68 and Low Chip
`
`70). Each of the plurality of blocks is divided into a plurality of pages of flash
`
`cells—which Wells calls a “sector”—that are programmable together. (Ex. 1005
`
`at 4:51-53; 32:63-65). For example, Wells states: “Solid state disk controller 64 is
`
`thus able to treat each chip pair as a single 16 bit-wide memory device. Word-
`
`wide input and output gives solid state disk 60 a speed advantage compared to
`
`magnetic drives, which use serial bit stream I/O.” (Ex. 1005 at 4:53-57). This
`
`disclosure indicates to one of ordinary skill in the art that each Block Pair will be
`
`programmed together, read together, and erased together, as if it were a block in a
`
`single device.
`
`37.
`
`The next element of claim 94 states: “programming pages of original
`
`data of a file into individual ones of an erased first plurality of pages in a first
`
`17
`
`APPLE INC.
`EXHIBIT 1003 - PAGE 0021
`
`

`
`U.S. Patent No. 7,818,490
`Petition For Inter Partes Review
`
`plurality of blocks forming a first metablock, the pages of original data having
`
`logical addresses associated therewith.”
`
`38. Wells discloses this element. It discloses writing data corresponding
`
`to a sector number (which is a logical address) to a chip pair, block number, and
`
`header pointer to identify the specific sector. (Figures 3-4; 5:1-12). For example,
`
`Wells states:
`
`The data structure of block 80 includes block sector
`translation table 84 and data space 86. Block sector
`translation table 84 stores headers. A header is a block of
`information about one logical sector number and its
`associated data. As used herein a logical sector number
`(LSN) refers to a sector number stored within a BSTT. A
`sector number is a sector identifier received from CPU
`52, which the CPU believes corresponds to a fixed
`physical location. However, as a result of the write policy
`used by solid state disk 60, an LSN does not correspond
`to a fixed physical location. Also as a result of the write
`policy used, several headers and LSNs may correspond to
`a single sector number.
`(Ex. 1005 at 5:1-14).
`
`39. Wells discloses the use of files comprising pages of data with
`
`associate logical addresses. For example, Wells states: “A typical user file stored
`
`on a magnetic disk drive occupies many sectors, randomly located on the surface
`
`18
`
`APPLE INC.
`EXHIBIT 1003 - PAGE 0022
`
`

`
`U.S. Patent No. 7,818,490
`Petition For Inter Partes Review
`
`of the disk drive. A file allocation table (FAT) allows location of each sector of the
`
`file by storing a chain of pointers for the file. Each pointer points to the next sector
`
`of the file.” (Ex. 1005 at 1:22-26). Wells further states: “The next time the same
`
`process attempts to write a sector, the allocation algorithm first examines the last
`
`block allocated to that process. This helps keep related data "files" in contiguous
`
`memory space and helps reduce the possibility of data fragmentation.” (Ex. 1005
`
`at 17:21-26).
`
`40.
`
`The next element of claim 94 states: “thereafter programming one or
`
`more pages of updated data of the file into individual ones of an erased second
`
`plurality of pages in at least a second block, the pages of updated data having
`
`logical addresses associated therewith, wherein the logical addresses associated
`
`with the pages of updated data programmed into the second plurality of pages are
`
`common with those associated with the pages of original data programmed into the
`
`first plurality of pages.”
`
`41. Wells discloses this element. When the data in part of a block is
`
`updated, the system writes the updated version of the data into a new location.
`
`Wells states:
`
`In step 246, microprocessor 92 determines
`whether a previous header with the same LSN should
`be marked dirty. Microprocessor 92 makes this
`determination based upon the information retrieved by
`
`19
`
`APPLE INC.
`EXHIBIT 1003 - PAGE 0023
`
`

`
`U.S. Patent No. 7,818,490
`Petition For Inter Partes Review
`
`the seek of step 238. If a header was located,
`microprocessor 92 proceeds to step 247 to mark that
`header dirty. Afterward, microprocessor 92 advances to
`step 248 to determine whether the previous header was
`marked dirty or whether the task was cached. If the task
`was not cached, microprocessor 92 advances to 250.
`Otherwise, microprocessor 92 branches to step 249.
`Because the mark dirty task was cached, there will be
`two headers with the same LSN at the end of the current
`write. To distinguish the valid data after power-loss, the
`revision number for the LSN associated with the most
`current version is incremented in step 249.
`Microprocessor 92 then proceeds to step 250.
`With step 250, microprocessor 92 begins the process of
`writing the new version of the sector data within FLASH
`array 62. Microprocessor 92 allocates sufficient free
`memory within FLASH array 62 to store the sector of
`data and header. This is an involved process that will be
`described in detail later. Suffice it to say that allocation
`of memory requires locating sufficient memory within
`data space 86 of a block and marking that memory space
`as reserved. Microprocessor 92 then exits to step 252.
`Microprocessor 92 completes the writing of the header in
`steps 252 and 254. First, in step 252, a CRC is generated
`for the header, which excludes the dirty bits and revision
`numbers because they may be changed in the course of
`
`20
`
`APPLE INC.
`EXHIBIT 1003 - PAGE 0024
`
`

`
`U.S. Patent No. 7,818,490
`Petition For Inter Partes Review
`
`events. Afterward, in step 254, the CRC, attribute word
`and LSN are written into BSTT 84. The LSN is set equal
`to SNi.
`Microprocessor 92 finally writes the sector data
`into data space reserved in step 256. An error correction
`code, ECC, is also written with the data.
`The new version of the sector data safely written, in step
`258 microprocessor 92 updates sector header
`translation table 94 so that it points to the most recent
`version of the sector data associated with the sector
`number.
`(Ex. 1005 at 14:66-15:36) (emphasis added). As described above, Wells discloses
`
`the use of files comprising pages of data with associate logical addresses. (Ex.
`
`1005 at 1:22-26, 17:21-26).
`
`42. At least some of the time, the updated data in Wells will be written
`
`into a block outside of the metablock (the first block and second block). For
`
`example, if the metablock is full, the updated data necessarily will be written to a
`
`block other than the first block and second block. In addition, even if the
`
`metablock is not full, the system follows a dynamic block selection process.
`
`Wells discloses at least two algorithms for determining which block should be used
`
`for a write operation (including write operations involving updated data), and
`
`under each approach, a block other than the Block Pair will be chosen 15/16 of the
`
`21
`
`APPLE INC.
`EXHIBIT 1003 - PAGE 0025
`
`

`
`U.S. Patent No. 7,818,490
`Petition For Inter Partes Review
`
`time (as there are 16 total Block Pairs), all else being equal. (Ex. 1005 at Figure
`
`11, 17:6-50).
`
`43.
`
`The next element of claim 94 states: “wherein programming the
`
`second plurality of pages additionally allows programming the updated version of
`
`the original data in those of the second plurality of pages of memory storage
`
`elements that have different offset positions within the at least the second block
`
`than the offset positions of the first plurality of pages within the first plurality of
`
`blocks that contain pages of original data with common logical addresses
`
`associated therewith, and.”
`
`44. Wells discloses this element. As described previously, Wells follows
`
`a block selection algorithm. The algorithm ensures that a block is selected that
`
`contains sufficient space for the programming action. (Ex. 1005 at 18:38-41).
`
`Wells discloses that data sectors are programmed sequentially into a chosen block:
`
`“In contrast to BSTT 84, data space 86 grows upward. The first sector of data
`
`written into block 80 is written into the bottom of data space 86. The next sector of
`
`data written into data space 86 is written immediately above the previous sector.
`
`For example, the data associated with LSN2 is located within a lower range of
`
`addresses than the data associated with LSN1.” (Ex. 1005 at 6:30-36). Therefore,
`
`programmed data sectors are “butted up against data for another sector in data
`
`22
`
`APPLE INC.
`EXHIBIT 1003 - PAGE 0026
`
`

`
`U.S. Patent No. 7,818,490
`Petition For Inter Partes Review
`
`space.” (Ex. 1005 at 6:13-14). Further, Wells discloses, with reference to
`
`Figure 12:
`
`Eventually, a block with enough space to store the sector
`of data will be identified and microprocessor 92 will
`reach step 1262. Allocation of memory space for the
`sector of data begins in earnest by identifying the next
`available header in the BSTT 84 of the Most Free
`Block. The appropriate block sector offset for the sector
`is then written into that header in step 1264. Afterward,
`the total amount of free flash in the array, in the Most
`Free Chip and the Most Free Block are decreased by the
`size of the sector. Finally, in step 1266 microprocessor 92
`indicates the chip pair, block and offset to the header now
`associated with the sector of data to be written.
`(Ex. 1005 at 22:13-24).
`
`45.
`
`Thus, in the embodiment of Figure 12, the system identifies the ideal
`
`block for the writing of the new data, and the new data is then written into the next
`
`available location within the block. Wells places no restraint on which sector
`
`should be used for the updated data. In Wells, a block contains 128 KB, and each
`
`sector is 512 bytes, which means that each block contains 250 sectors. Thus, all
`
`else being equal, the updated data will be at a different offset position than the
`
`original data 249/250 of the time.
`
`23
`
`APPLE INC.
`EXHIBIT 1003 - PAGE 0027
`
`

`
`U.S. Patent No. 7,818,490
`Petition For Inter Partes Review
`
`46.
`
`If not expressly or inherently taught in Wells, one of ordinary skill in
`
`the art would immediately understand that this element inevitably would be
`
`practiced by the combined system during normal operations.
`
`47.
`
`The next element of claim 94 states: “thereafter reading data of the
`
`file from the first and second plurality of pages.”
`
`48. Wells discloses this element. Wells describes the read process as
`
`follows:
`
`Briefly described, reading a sector is a three step process.
`First, SHTT 94 is searched for a pointer to the header
`associated with the sector number. Second, the header is
`located and its

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