throbber
Applicatiom’Control Number: 10869200
`Art Unit: 2186
`
`Page 8
`
`and is optimized based on the memory needs of a specific program running on the reconfigurable
`
`processor}
`
`As per claims 3 and I4, Paulraj teaches in paragraph 23 that a Specific [cache] line size of
`
`contiguous data is not retrieved since the data line size is optimized-based on the memory needs
`
`of the program when executing on the reconfigurable processor. Refer also'to paragraph 29.
`
`Further, it is therefore inherent that the second memory have a charactersitic line size since
`
`Paulraj teaches in 11%22-23 that a best line size for the memory arrangement for a particular _
`
`program is determined and utilzied when that program is run. For example, a line-size
`
`characteristic would be ultized when transferring data from the L2 cache to the L1 cache.
`
`As per claim 4, Paulraj teaches that a loadfstore unit is used to access the caches (L1 -L3)
`in order to determine if cache data is present in the cache hierarchy (paragraph 6). Since the
`
`functional unit 102 (figure 6) is responsible for accessing the programmable memory unit 104,
`
`the Examiner-is therefore considering the loadfstore unit logic of the programmable memory unit
`
`that is reSponsible for for accessing the L1 and L2 caches (first and second memory types) to be
`
`a memory controller. It can be seen that the memory controller, as defined by the Examiner,
`
`controls the transfer of data between the memory (assuming second memory L2) and the data
`
`prefetch unit, since the memory controller (loadr’store unit logic) is responsible for retrieving the
`
`data from the cache if a hit occurs (paragraph 4).
`
`As per claim 5, as taught in paragraph 1, an external memory (element 18, figure 1) is
`
`general); coupled to a microprocessor and holds data to be used by the microcontroiler during
`
`program execution. The Examiner is considering the process'of writing data back to the external
`
`memory from the FPGA memory 104 containing the caches (on-board memory), such as during
`
`151
`
`151
`
`

`

`Applicatiom'COntrol Number: 101869200
`Art Unit: 2186
`
`Page 9
`
`a write—back scheme as known in the art, to be performed by the data prefetch unit portion of the
`
`functional logic as defined above by the Examiner. The data prefetch logic, as defined above, is
`
`responsible for all of the transfer of data into, out of, and between the FPGA memory 104. I
`
`As per claim 6, the Examiner is regarding a -—register-- in its broadest reasonable sense
`
`and it thus considering it be to be a unit of logic. Therefore, the portion of the function logic that
`
`is responsible for the movement of data (as defined above to be the data prefetch unit) is being
`
`considered by the Examiner as containing a --register-- portion of the reconfigurable processor
`
`since, for instance, the blocking factor and line size of the programmable memory I 12 can
`
`change, a --register-- or portion of the reconfigurable processor must be set in order to indicate
`
`the currnet line size and blocking factor when a given application is being run on the
`
`reconfigurable processor at a given point in time. Refer to paragraph 23. _
`
`As per claim 7, the Examiner is considering the process of "disassembling the data
`
`prefetch unit-- as modifying the data prefetch unit logic of the fucntion logic 102 every time the
`
`program being executed by the reconfigurable processor changes.
`
`It can be seen that the data
`
`prefetch unitchanges during these intervals since the cache line size, blocking factor, and
`
`associativity of the FPGA changes when optimal for the next program to be executed (refer-to-
`
`paragraph 23). Thus it can be seen that the data pre fetch unit logic is --disassembled-- when
`
`another program is executed by the reconfigurable processor of Paulraj.
`
`As per claim 8, as can be seen that the FPGa memory 112, that comprises the first and
`
`second memories (L1 and L2) and which is accessed by the data prefetch unit of the functional
`
`unit 102 as discussed above, is a «processor memory-- (part of Cpu 110). It can also be seen that '
`
`-
`
`the --second memory-- (L2) is also a -—processor memory-- since it is contained within
`
`152
`
`152
`
`

`

`' ApplicationIControl Number: 10r869,200
`Art Unit: 2186
`
`'
`
`'
`
`Page 10
`
`reconfigurable processor 1 10. Therefore, since the data pretech unit can access the L2 cache as.
`
`discussed above in the rejection of claim 1, the data prefetch unit can retrive data from the L2
`
`portion of -—processor memoryul 12.
`
`I
`
`As per claim 9, as shown in figure 1 and taught in paragraph 1 of Paulraj, the system 10
`
`is actually a microprocessor, which contains a memory controller 14. The main difference
`
`between the prior art of figure 1 and the invention of Paulraj in figure 6 is that the memroy
`
`hierarchy is configurable and accessed by a fucntional unit in lieu of a separate memory
`
`controller logic (paragraph 9). Therefore, since the memory controller logic for accessing the
`
`cache hierarchy is still contained within cpu I 10 of figure 6, it can be seen that the cpu 110 is
`
`actually a microprocessor. It follows that the --processor memory-- 1 12 is therefore a
`
`;-microprocessor memory-—.
`
`As per claim 10, since the cpu 1 10 of figure 6 is a reconfigurable processor (able to
`
`reconfigure its memory heirarchy to match the needs of the application it is currently running), it
`
`can be seen that the epu memory 1 I2 is a reconfigurable processor memory.
`As per claim 1 l, Paulraj depicts a reconfigurable hardware system in figure 6. Paulraj
`
`further teaches in paragraph 26 that when a particular application is to be run by the
`
`reconfigrable processor 1 l0, a configuration vector is retrieved to program the programmable
`
`memory 1 12 (figure 6). As shown in figure 6, the step of accesing the configuration vector is
`
`executed outside ofthe reconfigurable processor 110. Therefore, the Examiner is considering
`
`the memory that contains the configuration vectors to be a--common memory-- and a data
`
`prefetch unit (reconfiguration unit 106 executing on the reconfigurable processor I 10) accessing
`
`the common memory in order to determine how to program the memory 1 12 (paragraph 29).
`
`153
`
`153
`
`

`

`Application/Control Number: 10/869,200
`Art Unit: 2186
`
`_
`
`Page 11
`
`The data prefetch unit'106 is --configured~— by an application to be excuted on the sysem 110
`
`since when a new application is to be executed, the data prefctch unit is called upon (or
`
`configured) to access the configuration vector for the particular application.
`
`.
`
`The reconfigurable processor of Paulraj has the ability to collect memory usage statistics
`
`for a particular application and based on those statistics, create a configuration vector as taught in
`
`111123-24. This vector allows the programmable memory module 104 of Paulraj to be
`
`reconfigured to the most optimal memory configuration for that specific software program (flZ6).
`
`As defined by the Applicant in 1155 of the originally filed specification, a software program or
`
`application is a collection of “algorithms”; therefore, the configuration vector for a particular
`
`software program allows the system of Paulraj to instantiate a software program as hardware
`
`since the configuration vector represents optimal configuration of the hardware (programmable
`
`memory module 104 — element 112 of figure 6).
`
`As per claim 12, the Examiner is considering a «memory controller-- to be the system
`
`portion utilized when creating a new configuration vector for an application. Such a process
`
`occurs in figure 5 and taught in paragraghs 23—25 ofPaulraj. When a ncw configuration vector is
`
`created by analizing performance information that has been collected for the application. The
`
`Examiner is thereby considering the "memory controller«- to be the element of the
`
`reconfigurable hardware system that is associated with storing the new configuration vector into
`
`the common memory so that the vector can be accessed later when the same application is run
`
`again.
`
`As per claim 15, the Examiner is considering the reconfiguration module 106 of the -
`
`reconfigurable processsor 110, as comprising two distinct elements: a --computational unit» and
`
`154
`
`154
`
`

`

`ApplicationfCOntrol Number: 101869200
`
`Page 12
`
`Art Unit: 2186
`
`a —-data access unit-—. The data access unit is the element that is responsible for accessing the
`
`configuration vector as taught in paragraph 29 of Paulraj; or in other words, the Examiner is
`
`considering the --data access unit-- to be the same as the --memory conitrolern defined in the
`
`rejection of claim 12. The Examiner is further considering the --computational unit-- of the
`
`rconfiguration module 106 to be the element that sets up the programmable memory module 104
`
`using the configuration vector that was accessed by the --data access unit-- (paragraph 29).
`
`As per claim 16, as taught by Paulraj in paragraph 29, the --data access unit-- supplies the
`
`configuration vector to the «computational unit-- in order to set up the programmable memory
`104 as required by the application to be run on the reconfurable processor 110.
`
`As per claim 17, the Examiner is considering a --data prefetch unit-- to be the
`
`reconfiguration unit 106 of reconfigurable processor 1 10 (figure 6). As taught in paragraph 26
`
`and 29 of Paulraj, the --data prefetch unit—- accesses a memory in order to determine if a
`
`configuration vector is known for a given application, and if so, the vector is retrieved (from the
`
`memory). If this "data“ (configuration vector) is not known then a simulation is performed with
`
`the application in order to collect performance information. The Examiner is considering the
`
`element that executes and collects the performance data as being a --computational unit-- and the
`
`element of Paulraj that stores the configuration vector, once determined, to be a --data access
`
`unit—- since it stores the vector into the --memory-- from which it can be later retrieved (step 212
`
`of figure 5).
`
`All of the computational, data access, and data prefetch units are configured by a
`
`program, as immediately discussed. As defined by the Examiner, the “computational unit” of
`
`Paul raj is being considered to be the element of the system of Paulraj that executes and collects
`
`155
`
`155
`
`

`

`ApplicationIControl Number: 10(869300
`Art Unit: 2186
`
`-
`
`Page 13
`
`the performance data regarding how a specific application utilizes memory in order to determine
`
`an optimal memory configuration as discusses in 112?. Figure 5 of Paulraj shows a method for
`
`creating a configuration vector by using the --computational unit-- in steps 204-206. The
`
`Examiner is considering the inherent program that is being executed in order to perform the
`
`steps of figure 5 to be the program that configures the computational "unit. Therefore, it can be
`
`seen that Pauiraj suggests configuring the computational unit by a program. The program of
`
`figure 5 configures the computational unit to collect data for a specific application’s memory
`
`Iusage statistics in order to create a configuration vector that allows the system of Pauli-a] to
`
`optimally reconfigure the programmable memory module 104. Thus the computational unit can
`
`be configured to collect memory usage statistics for a plurality of applications that are to be
`
`executed by the recOnfigurable processor 100 of Paulraj (1123).
`
`The same reasoning applies to the data access and data prefetch units. The program that
`
`is'executing the steps of figure 5 (Le. running on the system of Paulraj that implements the
`
`method) configures the data access unit to retriever‘store a configuration vector (step 212) based
`
`on if a new configuration vector had to be created and further configures the data prefetch unit to
`
`search for a configuration vector and retrieve that vector if found (steps 200 and 212).
`
`As per claim 18, the --data-- (configuration vector) is transferred from the
`
`-«computational unit-- to the --data access unit-- when the configuration unit has created a
`
`_
`
`configuration vector (step 208 of figure 5). The --data-- is written to the memory --from-— the
`
`--data prefetch unit-- since the data prefetch unit (reconfiguration unit 106) is the element that
`
`executed the beginning of the configuration vector creation process (step 200 of figure 5). Refer
`
`156
`
`156
`
`

`

`ApplicationfControl Number: 101869300
`
`Art Unit: 2186
`
`Page 14
`
`'
`
`to paragraph 26. Thus the Examiner is considering the data as being written --from-- the data
`
`prefetch unit.
`
`As per claim 19, as taught in paragraph 26, if the configuration vector is known, the
`
`vector is retrieved from the memory to the data prefetch unit (reconfiguration unit 106). The
`
`data is read directly from the data prefetch unit when a request to create a configuration vector is
`
`made for a new application as shown in figure 6 since the data prefetch unit is reSponsible for
`
`being the vector creation process. The data is directed from the data prefetch unit (reconfigure
`
`logic) to be read from the memory by the data access unit to‘the computational unit where it is
`
`processed to produce a configuration vector.
`
`As per claim 20, as stated above, the configuration vector (--data~-) is created by the
`
`computational unit via acquired simulation data. The configuration vector is the resultant
`
`product that is transferred from the memory to the data prefect unit when it is determined that the
`
`configuration vector for the application is available (paragraph 26). Thus --all-- of the data that
`
`is transferred is processed by the computational unit (aibcit before the transfer occurs) since the
`
`data prefetch unit required the entire configuration vector in order to set up the programmable
`
`memory 112.
`
`As per claim 21, Paulraj shows in paragraph 26 that an explicit request for the
`
`configuration vector for the current application results in the data (if it exists) selected for the
`
`optimal configuration of the programmable memory 112 for that application.
`
`- As per claim 22, the Examiner is not considering the data (configuration vector) to be the
`
`size of a complete cache line since the data is used to create a cache hierarchy.
`
`In other words,
`
`the caches (Ll-L3) of the programmable memory I 12 are not programmed when the data is I
`
`157
`
`157
`
`

`

`ApplicationfControl Number: 10!869,200
`Art Unit: 2186
`
`_
`
`Page 15
`
`transferred from the memory to the data prefetch unit; therefore, the data cannot be a complete
`
`cache line.
`
`As per claim 23, since the Examiner defined the portion of the reconfiguration unit that
`
`accesses the configuration file (data) from the memory, the Examiner is defining the logic that
`
`controls the actual transfer of that data to the data prefetch unit (portion of the reconfiguration
`
`unit that executes the fetch of the configuration vector and then programs the programmable
`
`memory 112) to be a --memory controller--. Thus the data access unit determines whether a
`
`cOnfiguration vector exists for an application and if so, the memory controller sends that data to
`
`the data prefetch unit.
`
`As per claim 24, Paulraj shows a reconfigurable processor in figure 6 that comprises a
`
`computation unit 1 10 and a data access unit (elements 120 and l 14, which comprise the
`
`reconfiguratiOn unit 106 of figure 4 - 1128). In figure 6, the data access unit can be seen as being
`coupled to the computational unit. The data access unit retrieves data (configuration vector)
`
`from a memory internal to the data access unit (Le. reconfiguration unit) and supplies the data to
`
`the computation unit in the form of modifications to the cache FPGA module -1 12. Refer to 1123.
`i The Examiner is considering the inherent program that is being exeCuted in order to
`
`perform the Steps of figure 5 to be the program that configures the computational unit.
`
`Therefore, it can .be seen that Paulraj suggests configuring the computational unit by a program.
`
`The program of figure 5 configures the computational unit to collect data for a specific
`
`application’s memory usage statistics in order to create a configuration vector that allows the
`
`system of Paulraj to optimally reconfigure the programmable memory module 104. Thus the
`
`158
`
`158
`
`

`

`ApplicationfControl Number: 101369200
`Art Unit: 2186
`
`Page 16
`
`I
`
`computational unit can be configured to collect memory usage statistics for a plurality of
`
`applications that are to be executed by the reconfigurable processor 100 of Paulraj ($23).
`
`The data access unit (Specifically the memory portion used to store configuration profiles
`
`for the different application programs) is configured by the program that is responsible for
`
`running the method of figure 5 of Paulraj as discussed supra. When a new application is to be
`
`run, [as a result] the program performs the steps 204-206 to configure the reconfiguration unit to
`
`collect statistics regarding the memory usages (caches L1, L2, and 1.3) of the application and a
`configuration vector is associated with the respective application and'stored in the
`
`reconfiguration unit. Refer to “23—24. When an application is known, the program executing
`
`the method of figure 5 [as a result] configures the data access unit (reconfiguration unit) to
`
`retrieve the associated configuration vector-and apply it to the FPGA memory of the
`
`reconfi gurable processor (1R9).
`
`In other words, once the software program has been loaded into the computational unit, a
`
`variety of simulations are performed and memory usage statistics are gathered by the
`
`computational unit in order to create a configuration vector as taught in 1]1[23—24. This vector
`
`allows the programmable memory module 104 of Paulraj to be reconfigured to the most Optimal
`
`memory configuration for that specific software program (1&6). As discussed supra, a software
`
`program or application is a collection of “algorithms”; therefore, the configuration vector for a
`
`particular software program allows the system of Pauiraj to instantiate a sofiware program as
`
`hardware since the configuration vector represents optimal configuration of the hardware
`
`(programmable memory module 104 - element 1 12 of figure 6).
`
`159
`
`159
`
`

`

`Applicatiom‘Control Number: 10869200
`Art Unit: 2186
`
`Page 17
`
`Conclusion
`
`Any inquiry concerning this communication or earlier communications from the
`
`examiner should be directed to Shane M. Thomas whose telephcine number is (571) 272-4188.
`
`The examiner can normally be reached on M-F 8:30 - 5:30.
`
`If attempts to reach the examiner by telephone are unsuccessful, the examiner’s
`
`supervisor, Matt M. Kim can be reached on (571) 23'2-4182. The fax phone number for the
`
`organization where this application or proceeding is assigned is 571-273-8300
`
`Information regarding the status of an application may be obtained from the Patent
`
`Application Information Retrieval (PAIR) system. Status information for published applications
`may be obtained from either Private PAIR or Public PAIR. Status information for unpublished I
`
`applications is available through Private PAIR only. For more information about the PAIR
`
`system, see httpjr'pair-direct.uspto.gov. Should you have questions on access to the Private PAIR
`
`system, contact the Electronic Business Center (EBC) at 866-217-919? (toll-free).
`
`in“
`
`Shane M. Thomas
`
`'
`
`”a (”s—i
`
`HONGGI‘DNG KW _
`PRIMARY EXAMINER
`
`160
`
`160
`
`

`

`
`
`
`
`
`
`D.
`
`r
`
`
`
`9nsUae
`
`
`
`
`
`
`
`
`
`
`
`
`
`Smr
`9CamI
`
`
`
`
`
`
`
`
`
`
`
` L.mIII_II-II_null“E.IIImIIIIIII'IIIIIIIIIIIIIIIIIIIIIIIIIIII'IwwweIIIIII'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIImm.am.
`
`noTIImm,mM.IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIImwmm-IIIIIIIIIIIIIIIIIIImmmmIIIIIIIII'IIIIIIIIIA1eswIIIIIIII
`
`l|l|||mIIIIIIIIIl.m|_._.I—_u-—IIIIII
`f|||I|lwwI—==Illn==.._I5....mlaIIIII'IIIIIIIInfillIY---neeHiE«44¢¢«immmIEI-III!!!IMMIIIIIIIIIIIIIIIIIIIII
`IIIIIIIIII
`.memIIImmmm“nIIIIIII'IIIIIIII“flu“nflfllnnnflunuflflfln
`pooIIIIIIIIIIIAPIIIIII'IIIIIIIIIIIIIIIIIIIIIIIIIII
`IIIIIIIIIIII'IIIIIIIIIIIIIIIIIIII'I
`
`ImlI¢¢IIIIIIMMIMMMIIIIIIIIIIIIIIIIIIIIII
`.mm.IE-I-I-I-I-mmeIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
`
`
`
`adaIIIIIIIIIIIII“IIIIIIIIImmmIIIIIIIIIIIMwmnnmmmmmmmmmmflmflmmm-mmm
`
`
`a.R-I—---—-
`
`mdecEll-ill-
`
`
`:674.367890123455789mEgomwm1mmmmmmmmmmmummmm
`
`IIIIII.IIIII‘aIIIIIIIIIIIIIIII'IIIIII'I
`
`
`
`
`I-EBB-n:-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent and Trademark Office
`
`Part of Paper No. 10152005
`
`161
`
`161
`
`
`
`
`
`
`

`

`Search Notes
`
`ApplicationICIJntrol No.
`
`10369200
`Examiner
`
`Applicantisllpatent Iunder
`Reexamination
`
`POZNANOVIC ET AL.
`Art Unit
`
`Shane M. Thomas
`
`2186'
`
`'
`SEARCH NOTES
`(INCLUDING SEARCH STRATEGY}
`—-
`
`Updated East Search
`
`10:1 512005
`
`10’15'9005
`
`?1 11170-173 (te'xt search only - sea
`search printout)
`
`
`
`US. Patent and Trademark Office
`
`Part of Paper No. 10152005
`
`162
`
`162
`
`

`

`'
`
`'
`'
`Jan-054096
`
`14:57
`
`Frun~HGEAH & RARTSOH
`
`RECEIVED
`CENTRAL FAXCENTEI?!
`
`JAN 05 2055
`
`T-Blil Hal/HUB
`
`r—caz
`
`emanates}
`Appmul hr use mmanammona. 0MB M16031
`PmTMENT 0F COMMERCE
`Palam an: Tndcrrw
`monkeys.“
`was: I: die .
`
`- I wk. -
`2
`.1
`_
`
`
`ertificate of Transmission under 37 CFR 1.8
`
`Serial No. 10!869,200
`
`Application of: Daniei Poznancvic. David E. Caiiga. and Jeffrey Hammes
`
`Filed: June 16. 2004
`
`Art Unit: 2186
`
`Examiner. Thomas, Shane M.
`
`Attorney Docket No. SRCOZB
`
`- C
`
`SYSTEM AND METHOD OF ENHANCING EFFICIENCY AND UTILIZATION
`. For:
`OF MEMORY BANDWIDTH IN RECONFIGURABLE HARDWARE
`
`Confirmation No.: 5929
`
`Custorner No; 25235
`
`9225
`
`I hereby certify that this correspondence is being facsimile transmitted to the United
`States Patent and Trademark Office
`
`1. Amendment in response to the Office Action dated October 19, 2005.
`
`‘5
`
`mine
`
`Date
`
`9
`No. of Pages
`(incl. Govemhaei]
`
`to centralized fax number: 571-273-8300
`
`Julie Lgngg
`Typed or printed name of person signing Certificate
`
`Note: Each paper must have its own certificate of transmission, or its certificate must
`identify each submitted paper.
`
`Client Reference No. 804043031001
`
`Fax No. 719-448—5922
`
`“ICE . ”28? in
`
`PM 10’ RCVD AT 100605057114 PM |Eastern Standard Time]‘ WkUSPTO-EFIRf-fiififl ‘ DiiiS:2?383iJfl ' CSJDrt" BURhTIOH (IIIn-sslilii-ii
`
`163
`
`163
`
`

`

`-
`-
`Jan |]5 ZIJUE
`
`14:?
`5
`
`F
`
`run
`
`-HDEAIIIHART50II
`
`RECEIVED
`CENTRAL FAX CENTER
`
`+
`
`JAN 0 5 2005
`
`T-HIU
`
`P.0IJZIDIIB
`
`F-IIBZ
`
`Client Matter No. 30404.0033301
`Via Facsimile
`
`IN THE UNITED STATES PATENT AND TRADEMARK OFFICE
`
`Serial No. 10!869.200
`
`. Application of: Daniel Poznanovic. David E. caiiga,
`and Jeffrey Hammes
`Filed: June 16. 2004
`
`Art Unit: 2186
`
`Confirmation No.1 5929
`
`_
`Customer No.. 25235
`
`BANDWIDTH IN RECONFIGURABLE HARDWARE
`
`Examiner: Thomas. Shane M.
`
`Attorney Docket No. SRO-028
`
`SYSTEM AND METHOD OF ENHANCING
`For:
`EFFICIENCY AND UTILIZATION OF MEMORY
`
`AMENDME
`
`MAIL STOP AMENDMENT
`Commissioner for Patents
`PO. Box 1450
`Alexandria, VA 22313-1450
`
`Sir:
`
`In response to the office Communication maiied October 19, 2005. please
`
`amend the above-identified application as follows:
`
`Amendments to the Claims are reflected in the listing of claims which
`
`begins on page 2 of this paper.
`
`RemarkeIArguments begin on page 6 of this paper.
`
`“165- "283' u
`
`PAGE 2ii' RCIID fiT Iiiilflfifi Iiiiiii PM [Eastern StandaId Timel‘ SVR:USPTO£FXRF-GI39‘ DIII‘SIZTSIMB ‘ CSIDH‘ DURATION (mm-ss):02-12
`
`164
`
`164
`
`

`

`Jan-05-2G0614:ET
`
`From-HBEAHIHKRTSDH
`
`It
`
`T-EIU
`
`9003/00!
`
`F-DIZ
`
`Serial No. 10(369200
`Reply to Office Action of October 19, 2005
`
`Amendments to the Claims:
`
`This listing of claims witi replace all prior versions and listings of claims in the
`
`application:
`
`Ligfing of Claims:
`
`1.
`
`(Previously Presented) A reconfigurable processor that instantiates
`
`an algorithm as hardware comprising:
`
`a first memory having a first characteristic memory bandwidth andlor
`
`memory utilization; and
`
`a data prefetch unit coupled to the first memory, wherein the data prefetch
`
`unit retrieves data from a second memory of second characteristic memory
`
`bandwidth andror memory utilization and place the retrieved data in the first
`
`memory and wherein at
`
`least
`
`the first memory and data prefetch unit are
`
`configured by a program.
`
`2.
`
`3.
`
`4,
`
`(Cancelled)
`
`(Cancelled)
`
`(Previously Presented) The reconfigurable processor of claim 1.
`
`wherein the data prefetch unit is coupled to a memory controller that controls the
`
`transfer of the data between the second memory and the data prefetch unit.
`
`5.
`
`(Previously Presented) The reconfigurable processor of claim 1,
`
`wherein the data prefetch unit receives processed data from on-processor
`
`memory and writes the processed data to an external ofisproceSsor memory.
`
`“113: - 77287 I1
`
`2
`
`PAGE 33‘ RCVD AT 1i5120054:§?:!4 PM [Eastern Standard Time] * MUSHD-EFXRF-iflifl ‘ DMS:2738300 ' CSIDH ' DURATION (lllill-ss]:D2-12
`
`165
`
`165
`
`

`

`Jail-'US-Ziiflli
`
`14:57
`
`Frm-HDEAN§HARTSDN
`
`+
`
`T-Slfl
`
`ROM/009
`
`F-DEZ
`
`Serial No. 10l669.200
`Reply to Office Action of October 19. 2005
`
`6.
`
`(Original) The reconfigurable processor of claim 1. wherein the
`
`data prefetch unit comprises at
`
`ieast one register from the reconfigurable
`
`processor.
`
`7.
`
`(Original) The reconfigurable processor of claim 1. wherein the
`
`data prefetch unit is disassembled when another program is executed on the
`
`reconfigurable processor.
`
`8.
`
`(Previously Precented) The reconfigurable processor of claim 1
`
`wherein said second memory comprises a processor memory and said data
`
`prefetch unit is operative to retrieve data from the processor memory.
`
`9.
`
`(Original) The reconfigurable processor of claim 8 wherein said
`
`processor memory is a microprocessor memory.
`
`10.
`
`(Original) The reconfigurable processor of claim 8 wherein said
`
`processor memory is a reconfigurable processor memory.
`
`11.
`
`(Previously Presented)
`
`A reconfigurable hardware system.
`
`comprising:
`
`a common memory; and
`
`one or more reconfigurable processors that can instantiate an algorithm
`
`as hardware coupled to the common memory. wherein at least one of the
`
`reconfigurabte processors includes a data prefetch unit to read and write data
`
`between the data prefetch unit and the common memory. and wherein the data
`
`prefetch unit is configured by a program executed on the system.
`
`12.
`
`(Original)
`
`The reconfigurable hardware system of claim 11,
`
`comprising a memory controller coupled to the common memory and the data
`
`prefetch unit.
`
`mos-morn
`
`3
`
`PAGE iiQ‘ RC'JDAT IlSRflDEiifiifli PM [Eastern Standard Tlllltl' MUSPTO'EFXRf-Em ' DiilSfliSBIlflfl ' CSiD:+ ‘ DURATliiil (mm-ss):flt-tt
`
`166
`
`166
`
`

`

`Jan-fiE-leflli
`
`14:53
`
`Frail-HOGAN 5 HANSON
`
`+
`
`T~Blfl
`
`PIES/DDS
`
`#082
`
`Serial No. 1013692le
`Reply to Office Action of October 19. 2005
`
`13.
`
`(Cancelled)
`
`14.
`
`(Cancelled)
`
`15.
`
`(Previously Presented) The reconfigurable hardware system of
`
`claim 11. wherein the at least one of the reconfigurable processors also includes
`
`a computational unit coupled to a data access unit.
`
`16.
`
`(Original)
`
`The reconfigurable hardware system of claim 15,
`
`wherein the computational unit is supplied the data by the data access unit.
`
`17.
`
`(Prevlously Presented) A method of transferring data comprising:
`
`transferring data between a memory and a data- prefetcn unit
`
`in a
`
`reconfigurable processor; and
`
`transferring the data between a computational unit and a data access unit.
`
`wherein the computational unit and the data access unit. and the data prefetch
`
`unit are configured by a program.
`
`13.
`
`(Original) The method of claim 17. wherein the data is written to
`
`the memory, said method comprising:
`
`transferring the data from the computational unit to the data access unit;
`
`and
`
`writing the data to the memory from the data prefetoh unit.
`
`19.
`
`(Previously Presented) The method of claim 17, wherein the data
`
`is read from the memory. said method comprising:
`
`transferring the data from the memory to the data prefetch unit; and
`
`reading the data directly from the data prefetch unit to the computational
`
`unit through the data access unit.
`
`mes-ma: n
`
`4
`
`PllGE 5l9" RCVD AT lliflllllfi 4:57:14 PM [Eastem Standard Tlmtl' WUSPTO‘EFXRHM' DHSRHBMD ‘ CSlD:+‘ DURATION (ms):lll-12
`
`167
`
`167
`
`

`

`Jan-DE-Zotlfi
`
`14:58
`
`From-HUGAHIHARTSDN
`
`+
`
`1.310
`
`pugs/nag
`
`p-332
`
`Serial NO. 108139.200
`Reply to Office Action of October 19, 2005
`
`20.
`
`(Original) The method of claim 19, wherein all the data transferred
`
`from the memory to the data prefelch unit is processed by the computational
`unit.
`
`21-
`
`(Original) The method of claim 19. wherein the data is selected by
`
`the data prefetch unit based en an explicit request from the computational unit.
`
`22.
`
`(Original) The method of claim 17, wherein the data transferred
`
`between the memory and the data prefetch unit is not a complete cache line.
`
`23.
`
`(Original) The method of claim 17, wherein a memory controller
`
`coupled to the memoryr and the data prefetch unit, controls the transfer of the
`
`data between the memory and the data prefetch unit.
`
`24.
`
`(Cancelled)
`
`IT‘S - "m in
`
`5
`
`PAGE fii9“ RCVD AT llfiltflflfilfilill PM [Eastern Standard liner SVEUSPTD-EFXRF-fim‘ DMS:2?383M' CSIDtt' DURATION (lllli-sslifl-fl
`
`168
`
`168
`
`

`

`Jan-Ili-ZDIIE 14:58
`
`Frum-HDEAHSHARTSOH
`
`+
`
`T410
`
`RWY/089
`
`F-UBZ
`
`Serial No. 101869.200
`Reply to Office Action of October 19. 2005
`
`REMARKSIARGUMENTS
`
`Claims 1. 4—12. and 15-24 were presented for examination and are pending
`
`in this application.
`
`In an Official Office Action dated October 19, 2005. claims 1, 4-
`
`12. and 15-24 were rejected. Claim 24 is canceled without prejudice and no new
`
`claims are presently added. Claims 1. 4-12. and 15-23 remain pending. The
`
`Applicants thank the Examiner for his consideration and address the Examiner's
`
`comments concerning the claims pending in this application below.
`
`Rejection of the Claims under 35 U.S.C. §102(e)
`
`Claims 1. 3. 4. 7-10. and 12-18 were rejected under 35 U.S.C. §102(e) as
`
`being anticipated by U.S. Patent Application Publication No. 2003!0084244
`
`(“Paulraj”). Applicants respectfully traverse these rejections in light of the following
`
`remarks.
`
`MPEP §2131 provides:
`
`“A claim is anticipated only if each and every element as set forth in
`
`the claim is found. either expresslyr or inherently described. in a
`
`single prior art reference.” Verdegall Bros. v. Union Oil Co. of
`
`Califomie. 8'14 F26 6328. 631. 2 U.S.P.Q.2d 1051, 1053 (Fed.
`
`Cir.198?). “The identical invention must be shown in as complete
`
`detail as contained in the ctaim." Richardson v. Suzuki Motor Co..
`
`863 F.2d 1226. 1236. 9 U.S-P.Q.2d 1913. 1920 (Fed. Cir. 1989).
`
`Peuiraj fails to disclose each and every limitation recited in the claims. The
`
`Examiner reasons that Paulraj discloses a system having a program that
`
`reconfigures computational units. data access units. and pre-fetch units. The
`
`Applicants disagree.
`
`The Examiner's logic in making the above assertion ls faulty. Assume for
`
`argument sake (as does the Examiner) that the computational unit Is the element of
`
`the Paulrai system that executes and collects performance data regarding an
`
`WEE - F7287 fl
`
`6
`
`PAGE ll! ‘ RBVD RT 1l5l2l|flfi 4:5iil4 PM [Eastern Standard Time]* SRUSPTOrEFXRF-fli! ‘ DlllSIZHEMfl‘ CSIDrl ' DURATION (null-sslfllZ-l?
`
`169
`
`169
`
`

`

`‘
`
`Jan-us-znis was
`
`Frun-HOGANIRARTSOH
`
`+
`
`T-gm mus/ans
`
`F-naz
`
`Serial No. 101369300
`Reply to Office Action of October 19, 2005
`
`application to determine an optimal memory configuration. The program operating
`
`on the Paulra} system depicted In Figure 5 of Paulraj "configures” the collection
`
`process so as to ascertain information about a specific application.
`
`In this sense
`
`the Examiner uses the term configure to state that the program executed by the
`
`Pauiraj system modifies, directs. andior controls the collection means (the
`
`computational unit) to properly assess the target application so that the memory
`
`can be optimally configured.
`
`The Examiner man extends this argument to the data access units and pre-
`
`fetch units. While such an extension is perhaps conceivable today given the
`
`present invention, it is not, nonetheless, disclosed by Paulra]. Nor Is it reasonable
`
`to conclude that such an extension would be apparent to one skilled in the art at the
`
`time of the Applicants‘ invention.
`
`As the Examiner points out. Paulral disctoses creating a “configuration vector
`
`containing data relating to the optimal configuration to the necessary instruction for
`
`programming the programmable memory module-" Pauirat [0024]. Paulraj also
`
`discloses a reconfiguration module that uses the vector to configure the
`
`programmable memory module. Once the Paulraj system collects information
`
`about the target application and creates the configuration vector for optimal
`
`memory module configuration, "the configuration vector is then retrieved (step 212),
`
`used to program the FPGA module (step 214), and the application is executed with
`
`the optimal memory configuration for that application (step 216).” Pautra] [0026].
`
`The “program” that the Examiner considers to configure the computational
`
`unit does not, according to Paulraj. ”configure” the data acce

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