`
`
`
`EXHIBIT 1009EXHIBIT 1009
`
`
`
`THE UNITED STATES PATENT
`
`TRADEMARK OFFICE~ [ ~
`
`ART UNIT:
`
`2307
`
`EXAMINER:
`
`Corrielus, J.
`
`APPLICANT:
`
`Daberko
`
`SERIAL NO.:
`
`08/612,772
`
`FILED:
`
`FOR:
`
`03/07/96
`
`NORRIS FLASH FILE SYSTEM
`
`DOCKET NO.:
`
`T2614
`
`ASSISTANT COMMISSIONER OF PATENTS
`WASHINGTON, D.C, 20231
`
`AMENDMENT
`
`/Dear Sir: ~ ~
`In response to the Office Action mailed July i, 1997, ~ ~ ~’ .-J
`
`y|~ApplicantlM v~ offers the following Amendment and requests
`ove-cap ioned app ication. This response
`d t n of the ab reconsi era io
`t
`1
`
`
`addresses every ground of rejection set forth in the Office
`
`Action.
`
`In the specification:
`
`Pleas9 replace the title of the patent application with the
`
`following descriptive title:
`
`Microsemi 1009
`Page 001 of 015
`
`
`
`-- AN OPERATING SYSTEM INCL~!DIiG IMPROVED FILE MANAGEMENT FOR
`
`USE IN DEVICES UTILIZING FLASH~ORY AS MAIN MEMORY--
`
`/
`
`--FIG. 3A is a block diagram of the components of a preferred
`
`embodiment of the present invention which utilizes the file system
`
`of the present invention.
`
`FIG. 3B is a block diagram of the components of an
`
`alternative embodiment of the present invention which utilizes a
`
`different buffering scheme than shown in FIG. 3A for utilization
`
`of the file system of the present invention.
`
`FIG. 3C is a block diagram of the components of another
`
`alternative embodiment of the present invention which utilizes a
`
`different buffering scheme than shown in FIGs. 3A or 3B for
`
`.,utilizati°n of the file sys~f the present invention. __--
`
`On page 18, line 18, ple~(cid:128)~ replace the terra "FIG. 3." with --FIG.
`
`On page 18, line 24, pleasee/place
`3A.--
`
`the term "FIG. 3." with --FIG.
`
`Microsemi 1009
`Page 002 of 015
`
`
`
`REMARKS
`
`Applicant expresses appreciation to the Examiner for
`
`consideration of the subject patent, and offers the following
`
`comments with respect to the grounds for rejection.
`
`In item i, the title of the invention was described as not
`
`being descriptive.
`
`Applicant respectfully submits a new title for the invention
`
`which is directed to the’invention for which the claims have been
`
`drafted. Applicant also respectfully submits additional changes
`
`to the specification which are only made so that the figures
`
`submitted with the original application are described in the
`
`DESCRIPTION OF THE DRAWINGS. Two minor modifications to the
`
`DETAILED DESCRIPTION are also made so that references to the
`
`figures match the correct figures.
`
`In item 6, claims 1-6, i0 and 20-21 are rejected under 35
`
`U.S.C. 103(a) as being unpatentable over Lasker et al. (U.S.
`
`Patent No. 5,586,291) in view of Jeffrey et al. (book entitled
`
`~Data Structure"). Specifically regarding claim i, it is asserted
`
`that Lasker discloses a non-volatile memory as a ~primarymirror
`
`non-volatile module," wherein a non-volatile cache memory stores
`
`data in the event of a system power failure. It is also admitted
`
`that Lasker does not describe how to create logical links between
`
`data segments. However, it is asserted that Jeffrey describes a
`
`method for maintaining data elements in memory which are stored as
`
`a linked list, that a file allocation table (FAT) is a linked
`
`list, and that DOS saves the FAT to the memory on which the data
`
`Microsemi 1009
`Page 003 of 015
`
`
`
`is being stored. The Examiner then concludes that it would have
`
`been obvious to combine the teachings of Jeffrey with the system
`
`of Lasker because the combination is more efficient.
`
`Before addressing the specific rejection, it is useful to
`
`describe the prior art in more detail. Lasker describes a system
`
`using a mixture of volatile and non-volatile memory as cache
`
`memory (see column 3, lines 61-64). The primary memory is
`
`actually a disk (see column 3, lines 2-7} as opposed to the
`
`characterization of the non-volatile module as "primary" as the
`
`Examiner has done. Lasker never intimates utilizing non-volatile
`
`memory as primary memory. In fact, Lasker teaches away from this
`
`concept when it describes minimizing the number of non-volatile
`
`memory modules (see column 3, lines 16-20) by using more volatile
`
`memory modules in the cache. It is also noted that all that
`
`Jeffrey accomplishes is to teach the concepts of lists and linked
`
`lists, which are well known to those skilled in the art.
`
`Applicant respectfully traverses the rejection of claim 1 as
`
`obvious in light of the cited prior art. It is noted that the
`
`prior art is apparently mischaracterized and consequently
`
`inappropriately analogized to the preferred embodiment of the
`
`present invention. Specifically, using non-volatile cache memory
`
`is supposed to represent the flash memory which can be used as the
`
`primary memory in the present invention. Such a characterization
`
`ignores the significant limitations of flash memory which are
`
`described in the present invention and which have prevented its
`
`ubiquitous use as a replacement for RAM or long term storage.
`
`Microsemi 1009
`Page 004 of 015
`
`
`
`The burden for proving obviousness rests on the Examiner who
`
`must make a prima facie case of obviousness. To make the prima
`
`facie of obviousness, the Office Action must show either (a) some
`
`objective teaching in the prior art that suggests combining the
`
`references, or (b) knowledge generally available to one of
`
`ordinary skill in the art which would lead that individual to
`
`combine the relevant teachings of the references to achieve the
`
`invention claimed, or c)
`
`that the combined inventions would result
`
`in the claimed invention.
`
`See In re Eine, 5 U.S.P.Q.2d 1596, 1598
`
`(Fed. Cir. 1988).
`
`Applicant respectfully submits that the Office Action fails
`
`to make a prima facie case of obviousness for the following
`
`reasons. The Office Action has failed to show any support for
`
`combining the references, but assumes that it would have been
`
`desirable because it would result in an invention which would
`
`provide the advantages of the present invention. Most
`
`importantly, however, the combination of references does not
`
`result in the present invention. This assertion is easily proven.
`
`The combination of prior art references results in a non-
`
`volatile cache (non-primary) memory which has a virtual memory map
`
`describing linked lists. For references purposes, a brief summary
`
`of the contrasting present invention is provided. The present
`
`invention enables the el~mination of a FAT (memory map) which is
`
`typically used to store the location of data segments in long term
`
`memory. To increase efficiency, the only way to determine the
`
`location of data is to traverse the linked list of data segments.
`
`Microsemi 1009
`Page 005 of 015
`
`
`
`The linked list not only tells where the related data segments are
`
`located for one file, but it also links the first data segment of
`
`all files together. The motivation for creating this file
`
`structure was provided by the inherent limitations of flash
`
`memory. Flash memory requires that data be erased before the same
`
`memory space is reused. So instead of reading a FAT into cache
`
`memory, erasing the FAT from primary memory, modifying the FAT in
`
`cache memory, and then resaving it to primary memory each time
`
`that any data is added to or deleted from primary memory (as Ban
`
`does), no FAT is used, and data is manipulated directly in primary
`
`memory. However, while this invention was motivated by flash
`
`memory limitations, the principle is applicable to any type of
`
`long term memory medium, and therefore claim 1 has not been
`
`limited only to flash memory, but is simply referred to often to
`
`show why the present invention operates as it does.
`
`The FAT as described in Jeffrey is the same FAT (or virtual
`
`memory map) described in Ban (U.S. Patent No. 5,404,485) which the
`
`present invention has taken great pains from which to distinguish
`
`itself. Ban also taught using a FAT, but the disadvantages are
`
`tremendous, particularly when flash memory is used as main memory.
`
`The Office Action even admits that DOS typically saves the FAT on
`
`the disk with which the table is associated. But this is exactly
`
`the problem that the present invention was designed to overcome,
`
`not teach. Accordingly, the combination of Lasker and Jeffrey
`
`teaches away from the present invention.
`
`Microsemi 1009
`Page 006 of 015
`
`
`
`It should be apparent from the description of Ban in the
`
`patent application that it uses flash memory just as the
`
`combination of Lasker and Jeffrey would try to use it. In other
`
`words, the combination of references, as well as Ban, ~
`
`force a FAT on flash memQrv which the Dresen~ invention realized
`
`was total~y inefficient, as demonstrated by Ban. Ban stored its
`
`FAT in volatile cache memory which is lost when power is
`
`interrupted, forcing rebuilding of the FAT. This is not an
`
`efficient operation. It is also impractical to store a FAT in
`
`primary memory which is constructed using flash memory because it
`
`cannot be overwritten without first erasing it entirely. This is
`
`demonstrated by Ban. However, Ban adds a tremendous amount of
`
`overhead by insisting that all data be manipulated outside of main
`
`(flash) memory. As explained in the application, Ban retrieves an
`
`entire file which is to be modified into volatile RAM cache
`
`memory, manipulates the data such as conducting additions or
`
`deletions, then resaves the entire file to main memory in a new
`
`and unused contiguous memory segment. The memory must be unused
`
`because the nature of flash memory requires that it first be
`
`erased before data can be saved in it.
`
`Applicant does not understand why the concept of using a FAT
`
`is being asserted as making the present invention obvious when the
`
`FAT has been eliminated from the present invention. Furthermore,
`
`Lasker only teaches using non-volatile memory as cache memory,
`
`when cache memory does not have to deal with the substantially
`
`more difficult issues of primary memory as explained in the
`
`Microsemi 1009
`Page 007 of 015
`
`
`
`present invention. The combination of references falls far short
`
`of explaining how to deal with the difficulties of using flash
`
`memory as primary memory. Unlike Ban, the present invention
`
`teaches how data can be manipulated directly in flash memory
`
`without significant RAM resources, and without having to use a
`
`FAT. In contrast, Ban and the combination of references
`
`demonstrate a clear lack of understanding of how to manipulate
`
`data directly in flash memory, how not to use significant RAM
`
`resources, and how to avoid using a FAT.
`
`It is also noted that even if the Examiner’s assertion about
`
`the FAT is removed from the combination of references, leaving
`
`only linked lists, that the Office Action fails to recognize that
`
`the combination has any advantages over the prior art (it is
`
`impermissible to use the advantages made known by the present
`
`invention). The failure to recognize the advantages is also
`
`demonstrated by the lack of recognition of the overhead problems
`
`of Ban. Furthermore, Jeffrey teaches data structures. In
`
`contrast, the present invention teaches an operating system using
`
`linked lists for file structures. The Office Action has seemingly
`
`failed to notice this distinction, and has failed to provide any
`
`motivation for treating files structures like data structures.
`
`Finally, the Office Action fails to recognize the differences
`
`between using flash memory as cache as opposed to main memory.
`
`Regarding claims 2-4, the Office Action asserts that Jeffrey
`
`teaches a double linked list with associated multiple pointers
`
`which show a current position, a beginning and an end of the list.
`
`Microsemi 1009
`Page 008 of 015
`
`
`
`Applicant respectfully traverses the rejection of claims 2-4.
`
`While the concept of a double linked list is well known, its
`
`application to the problem of file management in an operating
`
`system is unknown in the prior art. Linked ii~3 ~re well known
`
`for their application to data structures, not to file structures.
`
`The Office Action also insists that data in the primary
`
`memory is somehow mapped like a FAT. There is no FAT in use by
`
`the present invention. It is unnecessary to map the location of
`
`data within the primary memory. Instead. a single pointer is used
`
`to mark the location of a first file. The first file contains an
`
`address not only of the next logical data segment, but to the
`
`address of the first logical data segment of the second file.
`
`Accordingly, the linked lists not only preserve continuity of
`
`discontiguous but logically related data segments, they also
`
`preserve continuity to previous and subsequent but unrelated files
`
`having their own discontiguous ~It logically related data
`
`segments.
`
`Therefore, it should be realized that a double linked list is
`
`inadequate to preserve the data structure of the present
`
`invention. Furthermore, the claims are based on at least one
`
`novel concept as implemented in claim i. Therefore, the claims
`
`should be passed to issue.
`
`Regarding claims 5 and 6, the Office Action rejects them only
`
`because they use the well-known concepts of a stack, as well as
`
`pushing and popping data off the stack.
`
`Microsemi 1009
`Page 009 of 015
`
`
`
`Applicant respectfully traverses the rejection of the cited
`
`claims. Stacks are well known in operating systems for storing
`
`data for an executing program. The stack is used to store
`
`temporary variables. In contrast, using the stack as claimed to
`
`create a history of movement is nQ~ shown in the prior art when
`
`accessing data segments stored in main memory. The stack is not
`
`used for this purpose in the prior art because a FAT is always
`
`available to provide a map to the location of data segments.
`
`Advantageously eliminating the FAT in the present invention
`
`created a new need for a history of movement within a linked list
`
`which advantageously increases speed of movement through the data
`
`segments. Furthermore, the claims are based on at least one novel
`
`concept as implemented in claim i. Therefore, the claims should
`
`be passed to issue.
`
`Regarding claim i0, the Office Action asserted that Jeffrey
`
`teaches the well known concepts of modifying headers when new data
`
`is appended to or inserted into a linked list.
`
`Applicant respectfully submits that these concepts are well
`
`known. However, the Office Action fails to show how these
`
`concepts make the file structure manipulation of the present
`
`invention obvious when the reference of Jeffrey is about data
`
`structures, as the Applicant has explained previously in support
`
`of claims 1-6. Furthermore, the claims are based on at least one
`
`novel concept as implemented in claim i. Therefore, the claims
`
`should be passed to issue.
`
`i0
`
`Microsemi 1009
`Page 010 of 015
`
`
`
`Regarding claims 20 and 21, the Office Action asserts that it
`
`is inherent that the file system is a portion of an operating
`
`system that translates requests for file operations from an
`
`application into API which are compatible with DOS, and that BIOS
`
`works closely with hardware to support transfer functions.
`
`Applicant respectfully asserts that there are many reasons
`
`why these claims are novel. First, the Office Action seems to
`
`assume that all file systems are compatible with DOS, which is an
`
`unsupportable assertion. Second, it is novel that the file
`
`structure of the present invention is still compatible with DOS,
`
`when DOS requires a FAT which the present invention does not use
`
`in any form. Third, it is novel that the file structure of the
`
`present invention is still compatible with existing BIOS of DOS
`
`computers. Furthermore, the claims are based on at least one
`
`novel concept as implemented in claim I. Therefore, the claims
`
`should be passed to issue.
`
`In item 7, claims 7-9, 11-16 and 22-25 are rejected under 35
`
`U.S.C. 103(a) as being unpatentable over Lasker in view of Jeffrey
`
`as applied to claim 1 above, and further in view of Ban.
`
`Specifically regarding claims 7-9, it was asserted that Ban taught
`
`all of the claimed aspects, and when combined with the previous
`
`references, made the present invention obvious.
`
`Applicant respectfully submits that this rejection has
`
`arguably already been overcome by Applicant’s remarks given in
`
`support of claim i. The previous remarks demonstrated the
`
`substantial shortcomings of Ban which were also explained in
`
`ii
`
`Microsemi 1009
`Page 011 of 015
`
`
`
`detail in the background and detailed description of the
`
`invention. Therefore, no further comments are necessary.
`
`Furthermore, the claims are based on at least one novel concept as
`
`implemented in claim i. Therefore, the claims should be passed to
`
`issue.
`
`Regarding claim 13, the Office Action asserts that Ban also
`
`disclosed the steps of including identification information in a
`
`data segment header.
`
`Applicant respectfully traverses the rejection of this claim
`
`because the header of Ban includes a format identifier indicating
`
`the type of format of the data stored therein (see column 4, lines
`
`39-40). In contrast, the present invention claims a unique
`
`identifier for each header. This is not taught in Ban.
`
`Therefore, the claim should be passed to issue.
`
`Regarding claims 11-12, Ban is asserted to disclose "the
`
`steps of selecting a header from the group and selecting a header-
`
`like data structure~"
`
`Applicant respectfully traverses the rejection of these
`
`claims, but is also uncertain as to what is the basis for the
`
`rejection of these very specific claims. Ban does not teach, as
`
`claimed in the present invention, a device, volume, directory,
`
`file, data, and tree header. Further, nowhere does Ban ~each
`
`selecting a header-like data structure from the group consisting
`
`of a tree node, a segment index entry, and a secondary segment
`
`index entry. Therefore, the claims should be passed to issue.
`
`12
`
`Microsemi 1009
`Page 012 of 015
`
`
`
`Regarding claims 14-15, Ban is asserted to disclose ~the
`
`steps of reserving a fixed amount memory."
`
`Applicant respectfully traverses the rejection of these
`
`claims, but is also uncertain as to what is the basis for the
`
`rejection of these very specific claims. The claims teach
`
`reserving memory for a specific purpose, the purpose of making an
`
`edit history which provides a record of all modifications to at
`
`least one file stored in primary memory. More specifically, the
`
`memory is reserved for the use of creating a playback tree
`
`structure, where the playback structure provides temporary storage
`
`space in the work memory for a copy of sequentially related data
`
`segments comprising the file stored in primary memory. Therefore,
`
`the claims should be passed to issue.
`
`Regarding claim 16, the Office Action asserts that Jeffrey
`
`discloses ~the steps of creating at least one tree node including
`
`a next tree node address pointer."
`
`Applicant respectfully traverses the rejection of this claim.
`
`As stated previously, Jeffrey teaches data structures, and fails
`
`to show how these principles are advantageously applied to the
`
`concepts of file structures. In addition, a tree node is used in
`
`a playback structure. Therefore, the tree node is a different
`
`type of header with very specific attributes as explained in the
`
`present invention which are different from other data segrnent
`
`headers. It is noted that a tree node as defined in the present
`
`invention does not have the same structure as a header in a
`
`generic linked list as taught by Jeffrey. Furthermore, the claim
`
`13
`
`Microsemi 1009
`Page 013 of 015
`
`
`
`is based on at least one novel concept as implemented in claim i.
`
`Therefore, the claim should be passed to issue.
`
`Regarding claims 22-25, the Office Action asserts that Ban
`
`discloses ~the steps of creating a logical block, creating a
`
`logical memory block map, [and] creating a logical block control
`
`map including a physical address."
`
`Applicant respectfully traverses the rejection of the claims.
`
`It is first noted that the steps of separating the work memory
`
`from a user memory in primary memory, where the work memory is
`
`dedicated to storing the playback tree structures, is not found in
`
`Ban.
`
`Furthermore, regarding claims 22-24, Ban is teaching how
`
`address translation occurs between a logical address and a
`
`physical address of data. In contrast, the present invention
`
`includes more useful information. Specifically, this useful
`
`information includes: (i) the creation and recording of the
`
`location of at least one erase block (claim 22), (2) an indication
`
`of whether the erase block is non-functional (claim 23), (3) an
`
`address of a next available memory equal size block in which data
`
`may be stored (claim 24), and (4) a nonfunctional block map (claim
`
`24). Furthermore, the claims are based on at least one novel
`
`concept as implemented in claim I. Therefore, the claims should
`
`be passed to issue.
`
`In light of the explanations detailing the substantial
`
`differences between the present invention as claimed and the prior
`
`art, Applicant declines to amend allowable claims 17-19 to include
`
`14
`
`Microsemi 1009
`Page 014 of 015
`
`
`
`the limitations of the base claim and any intervening claims at
`
`this time.
`
`Applicant has also considered the art which the Office Action
`
`lists as relevant. Applicant has not found any disclosures which
`
`would prevent issuance of the claims as now written.
`
`Therefore, in light of the above, Applicant believes that
`
`claims 1-25 are now in condition for allowance. Applicant
`
`respectfully requests that the application be passed to issue. If
`
`any impediment to the allowance of these claims remains after
`
`entry of this Amendment, and such impediment could be alleviated
`
`during a telephone interview, the Examiner is invited to call
`
`Vaughn W. North or David W. O’Bryant at (801) 566-6633 so that
`
`such matters may be resolved as expeditiously as possible.
`
`The Commissioner is hereby authorized to charge any
`
`additional fee or to credit any overpayment in connection with
`
`this Amendment to Deposit Account No. 20-0100.
`
`Kespectfully Submitted,
`
`THORPE, NORTH & WESTERN, L.L.P.
`
`David W. 0 Bryafzt
`Registration No. 39,793
`9035 South 700 East
`Suite 200
`Sandy, Utah 84070
`Telephone: (801) 566-6633
`Facsimile: (801) 566-0570
`
`DWO\tlc
`
`15
`
`Microsemi 1009
`Page 015 of 015