← Back to Patent Explorer
US5493667A Expired / Lapsed US ⏱️ 0.0 years remaining

Apparatus and method for an instruction cache locking scheme

Assignee: Intel Corp
•
Filing: 1993-02-09
•
Granted: 1996-02-20
•
Expires: 2013-02-09
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An instruction locking apparatus and method for a cache memory allowing execution time predictability and high speed performance. The present invention implements a cache locking scheme in a two set associative instruction cache that utilizes a specially designed Least Recently Used (LRU) unit to effectively lock a first portion of the instruction cache to allow high speed and predictable execution time for time critical program code sections residing in the first portion while leaving another portion of the instruction cache free to operate as an instruction cache for other, non-critical, code sections. The present invention provides the above features in a system that is virtually transparent to the program code and does not require a variety of complex or specialized instructions or address coding methods. The present invention is flexible in that the two set associative instruction cache is transformed into what may be thought of as a static RAM in cache, and in addition, a direct map cache unit. Several different time critical code sections may be loaded and locked into the cache at different times.

Inventors

  • 👤 Scott B. Huck
  • 👤 Konrad K. Lai
  • 👤 Sunil R. Shenoy
  • 👤 Larry O. Smith

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 01:08
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/12; G06F12/121; G06F12/126; G06F12/0802; G06F12/0864

Claims Analysis

Total Claims: 72
Claim 1
Independent Claim 141 words
An instruction cache apparatus for use with a microprocessor that executes a plurality of microprocessor instructions, said instruction cache apparatus comprising: cache memory means for storing microprocessor instructions; means for determining which of said microprocessor instructions are those least recently accessed within said cache memory means, said means for determining coupled to said cache memory means; and means for selectively prohibiting said means for determining from indicating that selected microprocessor instructions stored within said memory cache means are least recently used by said microprocessor during assertion of a blocking signal to ensure that said selected microprocessor instructions are subsequently accessible in said cache memory means, said means for prohibiting coupled to said means for determining; means for indicating which of said microprocessor instructions are those least recently used by said microprocessor, said means for indicating coupled to said means for determining.
Claim 2
Dependent Claim 141 words
An instruction cache apparatus for use with a microprocessor that executes a plurality of microprocessor instructions, said instruction cache apparatus comprising: cache memory means for storing microprocessor instructions; means for determining which of said microprocessor instructions are those least recently accessed within said cache memory means, said means for determining coupled to said cache memory means; and means for selectively prohibiting said means for determining from indicating that selected microprocessor instructions stored within said memory cache means are least recently used by said microprocessor during assertion of a blocking signal to ensure that said selected microprocessor instructions are subsequently accessible in said cache memory means, said means for prohibiting coupled to said means for determining; means for indicating which of said microprocessor instructions are those least recently used by said microprocessor, said means for indicating coupled to said means for determining.
Claim 3
Dependent Claim 39 words
An instruction cache apparatus as described in claim 1 wherein said cache memory means is a two way set associative cache memory comprising a plurality of sets and two ways associated with each set of said plurality of sets.
Claim 4
Dependent Claim 134 words
An instruction cache apparatus as described in claim 2 wherein: said means for indicating which of said microprocessor instruction are those least recently used within said cache memory means comprises a bit for indicating which way of said two ways is least recently used by said microprocessor for each set of said plurality of sets of said cache memory means; said means for determining comprises inverter means for inverting said bit of said means for indicting associated with a particular set when a microprocessor instruction is stored into said particular set of said cache memory means; and wherein said means for selectively prohibiting comprises a disable means for disabling said inverter means so that said means for indicating does not alter indication state upon storage of a microprocessor instruction into said cache memory means.
Claim 5
Dependent Claim 77 words
An instruction cache apparatus as described in claim 1 wherein: said cache memory means is a two way set associative cache memory comprising a plurality of sets and two ways associated with each set of said plurality of sets; and wherein said means for indicating further comprises a bit for indicating which way of said two ways is least recently used by said microprocessor for each set of said plurality of sets of said cache memory means.
Claim 6
Dependent Claim 34 words
An instruction cache apparatus as described in claim 1 wherein said means for determining comprises: updating means for updating said means for indicating upon storage of a microprocessor instruction into said cache memory means.
Claim 7
Dependent Claim 45 words
An instruction cache apparatus as described in claim 5 wherein said means for prohibiting comprises a disable means for disabling said updating means so that said means for indicating does not alter indication state upon storage of a microprocessor instruction into said cache memory means.
Claim 8
Dependent Claim 128 words
An instruction cache apparatus as described in claim 1 wherein: said cache memory means is a two way set associative cache memory comprising a plurality of sets and two ways associated with each set of said plurality of sets; wherein said means for indicating which of said microprocessor instructions are those least recently stored within said cache memory means comprises a bit for indicating which way of said two ways is least recently used by said microprocessor for each set of said plurality of sets of said cache memory means; and wherein said means for determining comprises inverter means for inverting said bit of said means for indicating associated with a particular set when a microprocessor instruction is stored into said particular set of said cache memory means.
Claim 9
Dependent Claim 144 words
An instruction cache apparatus for supplying instructions to a microprocessor, said instruction cache apparatus comprising: cache memory means for providing storage of said instructions, said cache memory means comprising a plurality of sets of storage locations, each set of said plurality of sets comprising a plurality of entries; pointing means for indicating a particular entry of said plurality of entries for each of said sets, said particular entry being a least recently used entry of said plurality of entries for each of said sets; processing means for updating said pointing means, said processing means coupled to said pointing means; and blocking means for preventing said processing means from updating said pointing means such that said pointing means never indicates that instructions within a first portion of said cache memory means are least recently used, said instructions being a particular plurality of user selected instructions.
Claim 10
Dependent Claim 144 words
An instruction cache apparatus for supplying instructions to a microprocessor, said instruction cache apparatus comprising: cache memory means for providing storage of said instructions, said cache memory means comprising a plurality of sets of storage locations, each set of said plurality of sets comprising a plurality of entries; pointing means for indicating a particular entry of said plurality of entries for each of said sets, said particular entry being a least recently used entry of said plurality of entries for each of said sets; processing means for updating said pointing means, said processing means coupled to said pointing means; and blocking means for preventing said processing means from updating said pointing means such that said pointing means never indicates that instructions within a first portion of said cache memory means are least recently used, said instructions being a particular plurality of user selected instructions.
Claim 11
Dependent Claim 66 words
An instruction cache apparatus as described in claim 8 further comprising: storage means for storing an instruction into said cache memory means at a particular set of said plurality of sets, said storage means for reading said pointing means to determine said least recently used entry of said plurality of entries of said particular set and for storing said instruction into said least recently used entry.
Claim 12
Dependent Claim 35 words
An instruction cache apparatus as described in claim 9 wherein said processing means updates said pointing means upon storage of said instruction by said storage means into said particular set of said cache memory means.
Claim 13
Dependent Claim 43 words
An instruction cache apparatus as described in claim 10 wherein said processing means updates said pointing means by ordering each entry of each of said sets according to a last time each said entry was used for instruction storage by said storage means.
Claim 14
Dependent Claim 53 words
An instruction cache apparatus as described in claim 10 wherein said first portion of said cache memory means that is blocked by said blocking means is that portion of said cache memory means that was most recently used for instruction storage by said storage means just prior to assertion of said blocking means.
Claim 15
Dependent Claim 39 words
An instruction cache apparatus as described in claim 8 wherein said processing means updates said pointing means by ordering each entry of each of said sets according to a last time each said entry was accessed by said microprocessor.
Claim 16
Dependent Claim 49 words
An instruction cache apparatus as described in claim 8 wherein said first portion of said cache memory means that is blocked by said blocking means is that portion of said cache memory means that was most recently used by said microprocessor just prior to assertion of said blocking means.
Claim 17
Dependent Claim 65 words
An instruction cache apparatus as described in claim 8 further comprising: means for storing said particular plurality of user selected instructions into said cache memory means when said blocking means is not asserted, said particular plurality of instructions being loaded into said first portion of said cache memory means; and means for asserting said blocking means after said particular plurality of instructions has been stored.
Claim 18
Dependent Claim 37 words
An instruction cache apparatus as described in claim 15 wherein said microprocessor executes said particular plurality of instructions when said blocking means is asserted so that said plurality of instructions is accessed via said cache memory means.
Claim 19
Dependent Claim 33 words
An instruction cache apparatus as described in claim 16 wherein said means for asserting said blocking means disables said blocking means after execution time of said plurality of instructions is no longer critical.
Claim 20
Dependent Claim 27 words
An instruction cache apparatus as described in claim 15 wherein said particular plurality of instructions comprises time critical instructions that must execute within a predetermined timing window.
Claim 21
Dependent Claim 24 words
An instruction cache apparatus as described in claim 15 wherein said means for asserting said blocking means comprises said microprocessor executing a blocking instruction.
Claim 22
Dependent Claim 108 words
An instruction cache apparatus as described in claim 15 wherein: said cache memory means comprises a two way set associative memory; said pointing means comprises a logical pointer table having a bit pointer for each set of said plurality of sets of said cache memory means; said processing means comprises a logical inverter for inverting said bit pointer for each set of said plurality of sets of said cache memory means; said blocking means comprises a logical signal that is coupled to said processing means to functionally disable said processing means upon assertion; and said means for asserting said blocking means comprises said microprocessor executing a blocking instruction.
Claim 23
Dependent Claim 21 words
An instruction cache apparatus as described in claim 8 wherein said cache memory means comprises a two way set associative memory.
Claim 24
Dependent Claim 35 words
An instruction cache apparatus as described in claim 8 wherein said pointing means comprises a logical pointer having a bit pointer for said each set of said plurality of sets of said cache memory means.
Claim 25
Dependent Claim 22 words
An instruction cache apparatus as described in claim 22 wherein said processing means comprises a logical inverter for inverting said bit pointer.
Claim 26
Dependent Claim 32 words
An instruction cache apparatus as described in claim 8 wherein said blocking means comprises a logical signal that is coupled to said processing means to functionally disable said processing means upon assertion.
Claim 27
Dependent Claim 168 words
An instruction cache apparatus for supplying instructions to a microprocessor, said instruction cache apparatus comprising: cache memory unit for providing storage of said instructions, said cache memory unit comprising a plurality of sets of storage locations, each set of said plurality of sets comprising a plurality of entries; a logical pointer table for indicating a particular entry of said plurality of entries for each set of said plurality of sets, said particular entry being a least recently used entry of said plurality of entries for each set of said plurality of sets; and a state machine for updating entries of said logical pointer table, said state machine responsive to a blocking signal and coupled to said logical pointer table, said blocking signal for preventing said state machine from updating said logical pointer table such that said logical pointer table never indicates that instructions within a first portion of said cache memory unit are least recently used when said blocking signal is asserted, said instructions being user selected instructions.
Claim 28
Dependent Claim 168 words
An instruction cache apparatus for supplying instructions to a microprocessor, said instruction cache apparatus comprising: cache memory unit for providing storage of said instructions, said cache memory unit comprising a plurality of sets of storage locations, each set of said plurality of sets comprising a plurality of entries; a logical pointer table for indicating a particular entry of said plurality of entries for each set of said plurality of sets, said particular entry being a least recently used entry of said plurality of entries for each set of said plurality of sets; and a state machine for updating entries of said logical pointer table, said state machine responsive to a blocking signal and coupled to said logical pointer table, said blocking signal for preventing said state machine from updating said logical pointer table such that said logical pointer table never indicates that instructions within a first portion of said cache memory unit are least recently used when said blocking signal is asserted, said instructions being user selected instructions.
Claim 29
Dependent Claim 105 words
An instruction cache apparatus as described in claim 25 further comprising: an external memory unit for holding a plurality of instructions; and cache logic circuits for storing an instruction into said cache memory unit at a particular set of said plurality of sets, said cache logic circuits for reading said logical pointer table to determine said least recently used entry of said plurality of entries and for storing said instruction into said least recently used entry; and wherein said state machine updates said logical pointer table upon storage of said instruction by said cache logic circuits into a particular set of said cache memory unit.
Claim 30
Dependent Claim 51 words
An instruction cache apparatus as described in claim 26 wherein said first portion of said cache memory unit that is blocked by said blocking signal is that portion of said cache memory unit that was most recently used by said cache logic circuits just prior to assertion of said blocking signal.
Claim 31
Dependent Claim 49 words
An instruction cache apparatus as described in claim 25 wherein said first portion of said cache memory unit that is blocked by said blocking signal is that portion of said cache memory unit that was most recently used by said microprocessor just prior to assertion of said blocking signal.
Claim 32
Dependent Claim 91 words
An instruction cache apparatus as described in claim 25 wherein: said microprocessor and said cache logic circuits store a particular plurality of instructions into said cache memory unit when said blocking signal is not asserted, said particular plurality of instructions being stored into said first portion of said cache memory unit; and wherein said microprocessor executes an instruction that asserts said blocking signal after said particular plurality of instructions has been stored into said cache unit to insure that said plurality of instructions is subsequently accessible via said cache memory unit.
Claim 33
Dependent Claim 27 words
An instruction cache apparatus as described in claim 29 wherein said particular plurality of instructions comprises time critical instructions that must execute within a predetermined timing window.
Claim 34
Dependent Claim 28 words
An instruction cache apparatus as described in claim 29 wherein said microprocessor disables said blocking signal when execution time of said plurality of instructions is no longer critical.
Claim 35
Dependent Claim 43 words
An instruction cache apparatus as described in claim 25 wherein said cache memory unit comprises a two way set associative memory and said logical pointer table comprises a bit pointer for each set of said plurality of sets of said cache memory unit.
Claim 36
Dependent Claim 48 words
An instruction cache apparatus as described in claim 25 wherein said state machine comprises a logical inverter for inverting entries of said logical pointer table and wherein said blocking signal is coupled to said state machine to functionally disable said logical inverter when said blocking signal is asserted.
Claim 37
Dependent Claim 92 words
An instruction cache apparatus as described in claim 25 wherein: said cache memory unit comprises a two way set associative memory; said logical pointer table comprises a bit pointer for each set of said plurality of sets of said cache memory unit; said state machine comprises a logical inverter for inverting said bit pointer for said each set of said plurality of sets of said cache memory unit; and wherein said blocking signal is coupled to said state machine and selectively asserted to functionally disable said logical inverter of said state machine.
Claim 38
Independent Claim 228 words
A system comprising: bus means for providing communication paths within said system; microprocessor means for executing instructions, said microprocessor means coupled to said bus means; external memory means for storing and retrieving said instructions and data, said external memory means coupled to said bus means, signal generation means for generating output signals, said signal generation means coupled to said bus means; and instruction cache means for supplying instructions to said microprocessor means, said instruction cache means communicatively coupled to said bus means, said instruction cache means comprising: cache memory means for providing storage and retrieval of said instructions, said cache memory means comprising a plurality of sets of storage locations, each set of said plurality of sets comprising a plurality of entries; pointing means for indicating a particular entry of said plurality of entries for each set of said plurality of sets, said particular entry being a least recently used entry of said plurality of entries for each set of said plurality of sets; processing means for updating said pointing means, said processing means coupled to said pointing means; and blocking means for preventing said processing means from updating said pointing means such that said pointing means never indicates that selected instructions within a first portion of said cache memory means are least recently used while said blocking means is asserted, said selected instructions being user selected instructions.
Claim 39
Independent Claim 228 words
A system comprising: bus means for providing communication paths within said system; microprocessor means for executing instructions, said microprocessor means coupled to said bus means; external memory means for storing and retrieving said instructions and data, said external memory means coupled to said bus means, signal generation means for generating output signals, said signal generation means coupled to said bus means; and instruction cache means for supplying instructions to said microprocessor means, said instruction cache means communicatively coupled to said bus means, said instruction cache means comprising: cache memory means for providing storage and retrieval of said instructions, said cache memory means comprising a plurality of sets of storage locations, each set of said plurality of sets comprising a plurality of entries; pointing means for indicating a particular entry of said plurality of entries for each set of said plurality of sets, said particular entry being a least recently used entry of said plurality of entries for each set of said plurality of sets; processing means for updating said pointing means, said processing means coupled to said pointing means; and blocking means for preventing said processing means from updating said pointing means such that said pointing means never indicates that selected instructions within a first portion of said cache memory means are least recently used while said blocking means is asserted, said selected instructions being user selected instructions.
Claim 40
Dependent Claim 64 words
A system as described in claim 35 further comprising: storage means for storing an instruction into said cache memory means at a particular set of said plurality of sets, said storage means for reading said pointing means to determine said least recently used entry of said plurality of entries of said particular set and for storing said instruction into said least recently used entry.
Claim 41
Dependent Claim 33 words
A system as described in claim 36 wherein said processing means updates said pointing means upon storage of said instruction by said storage means into said particular set of said cache memory means.
Claim 42
Dependent Claim 41 words
A system as described in claim 37 wherein said processing means updates said pointing means by ordering each entry of each of said sets according to a last time each said entry was used for instruction storage by said storage means.
Claim 43
Dependent Claim 51 words
A system as described in claim 37 wherein said first portion of said cache memory means that is blocked by said blocking means is that portion of said cache memory means that was most recently used for instruction storage by said storage means just prior to assertion of said blocking means.
Claim 44
Dependent Claim 37 words
A system as described in claim 35 wherein said processing means updates said pointing means by ordering each entry of said each set according to a last time said each entry was accessed by said microprocessor means.
Claim 45
Dependent Claim 46 words
A system as described in claim 35 wherein said first portion of said cache memory means that is blocked by said blocking means is that portion of said cache memory means that was most recently used by said microprocessor means before said blocking means was asserted.
Claim 46
Dependent Claim 61 words
A system as described in claim 35 further comprising: means for storing a particular plurality of instructions into said cache memory means when said blocking means is not asserted, said particular plurality of instructions being loaded into said first portion of said cache memory means; and means for asserting said blocking means after said particular plurality of instructions has been stored.
Claim 47
Dependent Claim 44 words
A system as described in claim 42 wherein said microprocessor means executes said particular plurality of instructions when said blocking means is asserted to insure that said plurality of instructions is accessed via said cache memory means and not by said external memory means.
Claim 48
Dependent Claim 31 words
A system as described in claim 43 wherein said means for asserting said blocking means disables said blocking means when execution time of said plurality of instructions is no longer critical.
Claim 49
Dependent Claim 25 words
A system as described in claim 42 wherein said particular plurality of instructions comprises time critical instructions that must execute within a predetermined timing window.
Claim 50
Dependent Claim 23 words
A system as described in claim 42 wherein said means for asserting said blocking means comprises said microprocessor means executing a blocking instruction.
Claim 51
Dependent Claim 108 words
A system as described in claim 42 wherein: said cache memory means comprises a two way set associative memory; said pointing means comprises a logical pointer table having a bit pointer for each set of said plurality of sets of said cache memory means; said processing means comprises a logical inverter for inverting said bit pointer for each set of said plurality of sets of said cache memory means; said blocking means comprises a logical signal that is coupled to said processing means, said logical signal functionally disabling said processing means upon assertion; and said means for asserting said blocking means comprises said microprocessor executing a blocking instruction.
Claim 52
Dependent Claim 19 words
A system as described in claim 35 wherein said cache memory means comprises a two way set associative memory.
Claim 53
Dependent Claim 33 words
A system as described in claim 35 wherein said pointing means comprises a logical pointer table having a bit pointer for each set of said plurality of sets of said cache memory means.
Claim 54
Dependent Claim 20 words
A system as described in claim 49 wherein said processing means comprises a logical inverter for inverting said bit pointers.
Claim 55
Dependent Claim 32 words
A system as described in claim 35 wherein said blocking means comprises a logical signal that is coupled to said processing means, said logical signal functionally disabling said processing means upon assertion.
Claim 56
Dependent Claim 149 words
A caching method for storing and supplying instructions to a microprocessor, said method comprising the steps of: providing a cache memory for storage and retrieval of said instructions, said cache memory comprising a plurality of sets of storage locations, each set of said plurality of sets comprising a plurality of entries; indicating a particular entry of said plurality of entries for each of said sets, said particular entry being a least recently used entry of said plurality of entries for each of said sets, said step of indicating utilizing a logical pointer table; updating said logical pointer table to reflect access of said entries of said plurality of sets; and preventing said logical pointer table from indicating that user selected instructions within a first portion of said cache memory are least recently used, said step of preventing comprising the step of responding to the assertion of a blocking signal.
Claim 57
Dependent Claim 149 words
A caching method for storing and supplying instructions to a microprocessor, said method comprising the steps of: providing a cache memory for storage and retrieval of said instructions, said cache memory comprising a plurality of sets of storage locations, each set of said plurality of sets comprising a plurality of entries; indicating a particular entry of said plurality of entries for each of said sets, said particular entry being a least recently used entry of said plurality of entries for each of said sets, said step of indicating utilizing a logical pointer table; updating said logical pointer table to reflect access of said entries of said plurality of sets; and preventing said logical pointer table from indicating that user selected instructions within a first portion of said cache memory are least recently used, said step of preventing comprising the step of responding to the assertion of a blocking signal.
Claim 58
Dependent Claim 68 words
A caching method as described in claim 52 further comprising the steps of: storing an instruction into said cache memory at a particular set of said plurality of sets, said step of storing comprising the steps of reading said logical pointer table to determine said least recently used entry of said plurality of entries of said particular set and storing said instruction into said least recently used entry.
Claim 59
Dependent Claim 36 words
A caching method as described in claim 53 wherein said step of updating updates said logical pointer table upon storage of said instruction by said step of storing into a particular set of said cache memory.
Claim 60
Dependent Claim 44 words
A caching method as described in claim 54 wherein said step of updating updates said pointer table by ordering each entry of each of said sets according to a last time each said entry was used for instruction storage by said step of storing.
Claim 61
Dependent Claim 51 words
A caching method as described in claim 54 wherein said first portion of said cache memory that is blocked by said blocking signal is that portion of said cache memory that was most recently used for instruction storage by said step of storing just prior to assertion of said blocking signal.
Claim 62
Dependent Claim 40 words
A caching method as described in claim 52 wherein said step of updating updates said logical pointer table by ordering each entry of each of said sets according to a last time each said entry was accessed by said microprocessor.
Claim 63
Dependent Claim 44 words
A caching method as described in claim 52 wherein said first portion of said cache memory that is blocked by said blocking signal is that portion of said cache memory that was most recently used by said microprocessor before said blocking signal was asserted.
Claim 64
Dependent Claim 61 words
A caching method as described in claim 52 further comprising the steps of: storing said user selected instructions into said cache memory when said blocking signal is not asserted, said user selected instructions being loaded into said first portion of said cache memory; and asserting said blocking signal after said user selected instructions have been stored by said step of storing.
Claim 65
Dependent Claim 39 words
A caching method as described in claim 59 further comprising the step of said microprocessor executing said user selected instructions while said blocking signal is asserted to insure that said user selected instructions are accessed via said cache memory.
Claim 66
Dependent Claim 29 words
A caching method as described in claim 60 further comprising the step of disabling said blocking signal when execution time of said user selected instructions is no longer critical.
Claim 67
Dependent Claim 25 words
A caching method as described in claim 59 wherein said user selected instructions comprise time critical instructions that must execute within a predetermined timing window.
Claim 68
Dependent Claim 102 words
A caching method as described in claim 62 wherein: said cache memory comprises a two way set associative memory; said pointer table comprises a bit pointer for each set of said plurality of sets of said cache memory; said step of updating is implemented using a logical inverter for inverting said bit pointers for each set of said plurality of sets of said cache memory; said blocking signal functionally disables said logical inverter; and said step of asserting said blocking signal is implemented by said microprocessor executing a blocking instruction when execution time of said user selected instructions is no longer critical.
Claim 69
Dependent Claim 25 words
A cache method as described in claim 59 wherein said step of asserting said blocking signal is implemented via said microprocessor executing a blocking instruction.
Claim 70
Dependent Claim 19 words
A caching method as described in claim 52 wherein said cache memory comprises a two way set associative memory.
Claim 71
Dependent Claim 29 words
A caching method as described in claim 52 wherein said pointer table comprises a bit pointer for said each set of said plurality of sets of said cache memory.
Claim 72
Dependent Claim 19 words
A caching method as described in claim 52 wherein said step of updating is implemented using a logical inverter.

References Cited (Backward Citations)

US4513367A Cited
US5019971A Cited
US5043885A Cited
US5249286A Cited
US5283876A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-02-19 1999-08-21 2000-02-20 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-02-19 2003-08-21 2004-02-20 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-02-19 2007-08-21 2008-02-20 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag