throbber
Service of Process
`Transmittal
`11/26/2013
`CT Log Number 523962807
`
`TO: (cid:9)
`
`Ami Gomez
`Apple Inc.
`1 Infinite Loop, M/S 36-3NYJ
`Cupertino, CA 95014-
`
`RE: (cid:9)
`
`Process Served in Texas
`
`FOR: (cid:9)
`
`Apple Inc. (Domestic State: CA)
`
`ENCLOSED ARE COPIES OF LEGAL PROCESS RECEIVED BY THE STATUTORY AGENT OF THE ABOVE COMPANY AS FOLLOWS:
`
`TITLE OF ACTION: (cid:9)
`
`Vantage Point Technology, Inc., Pltf. vs. Apple Inc., Dft.
`
`DOCUMENT(S) SERVED: (cid:9)
`
`Summons, Proof of Service, Complaint, Exhibit(s)
`
`COURT/AGENCY: (cid:9)
`
`NATURE OF ACTION: (cid:9)
`
`Eastern District of Texas - United States District Court - Marshall Division, TX
`Case # 213CV989
`
`Intellectual Property Litigation - Patent infringement - Defendant's infringement and
`wrongful sale of '750 Patent products patent by plaintiff
`
`ON WHOM PROCESS WAS SERVED: (cid:9)
`
`C T Corporation System, Dallas, TX
`
`DATE AND HOUR OF SERVICE: (cid:9)
`
`By Process Server on 11/26/2013 at 14:15
`
`JURISDICTION SERVED : (cid:9)
`
`Texas
`
`APPEARANCE OR ANSWER DUE: (cid:9)
`
`Within 21 Days after service of this summons (not counting the day you received it)
`
`ATTORNEY(S) / SENDER(S): (cid:9)
`
`ACTION ITEMS: (cid:9)
`
`Paul V. Storm
`Gardere Wynne Sewell LLP
`1601 Elm Street
`Suite 3000
`Dallas, TX 75201
`214-999-3000
`
`SOP Papers with Transmittal, via Fed Ex Priority Overnight , 797266512498
`Image SOP
`Email Notification, Adeline Yu ayu@apple.com
`Email Notification,Jeff Risher jrisher@apple.com
`Email Notification, Lisa Olle olle@apple.com
`Email Notification, Noreen Krall nkrall@apple.com
`Email Notification, David Melaugh melaugh@apple.com
`Email Notification, Iain Cunningham icunningham@apple.com
`Email Notification, Colleen Brown colleen_brown@apple.com
`Email Notification, Erica Tierney etierney@apple.com
`Email Notification, Diana Loop loop@apple.com
`Email Notification, Lara Eidemiller leidemiller@apple.com
`Email Notification, Wendy Anna Herby wherby@apple.com
`Email Notification, Sarita Venkat saritav@apple.com
`Email Notification, Tom Vigdal tvigdal@apple.com
`Email Notification,Cyndi Wheeler cwheeler@apple.com
`Email Notification, Heather Moser hmoser@apple.com
`Email Notification, Jackie Harlow jharlow@apple.com
`Email Notification, Ami Gomez ami_r_gomez@apple.com
`
`Page 1 of 2 / PS
`
`Information displayed on this transmittal is for CT Corporation's
`record keeping purposes only and is provided to the recipient for
`quick reference. This information does not constitute a legal
`opinion as to the nature of action, the amount of damages, the
`answer date, or any information contained in the documents
`themselves. Recipient is responsible for interpreting said
`documents and for taking appropriate action. Signatures on
`certified mail receipts confirm receipt of package only, not
`contents.
`
`1
`
`APPLE 1003
`
`

`

`Service of Process
`Transmittal
`11/26/2013
`CT Log Number 523962807
`
`TO: (cid:9)
`
`Ami Gomez
`Apple Inc.
`1 Infinite Loop, M/S 36-3NYJ
`Cupertino, CA 95014-
`
`RE: (cid:9)
`
`Process Served in Texas
`
`FOR: (cid:9)
`
`Apple Inc. (Domestic State: CA)
`
`Email Notification, Roslyn Quinn roslyn_quinn@apple.com
`Email Notification, Tim O'Neil toneil@apple.com
`Email Notification, Charstie Wheelock wheelock@apple.com
`Email Notification, Stan Flemister flemister@apple.com
`Email Notification, Maya Kumar maya_kumar@apple.com
`Email Notification, Erik Floyd efloyd@apple.com
`Email Notification, Beth Kellermann kellermann@apple.com
`Email Notification, Andrew Song asong@apple.com
`Email Notification, Darleen Morris darleen@apple.com
`Email Notification, Ryan Moran rmoran@apple.com
`Email Notification, David Weiskopf dweiskopf@apple.com
`Email Notification, Jennifer Brown jennifer_brown@apple.com
`Email Notification, Susan Guarino sguarino@apple.com
`Email Notification, Andrew Farthing afarthing@apple.com
`Email Notification, Ash Upreti aupreti@apple.com
`Email Notification, Jen Yokoyama jyokoyama@apple.com
`Email Notification, Scott Murray scott_murray@apple.com
`Email Notification, Pami Vyas pvyas@apple.com
`Email Notification, Kim Moore kim_moore@apple.com
`Email Notification, Shelli Platt rplatt@apple.com
`Email Notification, Jeannie Willis jeannie_willis@apple.com
`
`SIGNED: (cid:9)
`PER: (cid:9)
`ADDRESS: (cid:9)
`
`TELEPHONE: (cid:9)
`
`C T Corporation System
`Beatrice Casarez-Barrientez
`350 North St Paul Street
`Suite 2900
`Dallas, TX 75201
`214-932-3601
`
`Page 2 of 2 / PS
`
`Information displayed on this transmittal is for CT Corporation's
`record keeping purposes only and is provided to the recipient for
`quick reference. This information does not constitute a legal
`opinion as to the nature of action, the amount of damages, the
`answer date, or any information contained in the documents
`themselves. Recipient is responsible for interpreting said
`documents and for taking appropriate action. Signatures on
`certified mail receipts confirm receipt of package only, not
`contents.
`
`2
`
`

`

`1. (cid:9)
`
`AO 440 (Rev. 06/12) Summons in a Civil Action
`
`UNITED STATES DISTRICT COURT
`for the
`
`Eastern District of Texas
`
`Vantage Point Technology Inc.
`
`Plaintiff(s)
`V.
`
`Apple Inc.
`
`Defendant(s)
`
`Civil Action No. 2:13-cv-989
`
`SUMMONS IN A CIVIL ACTION
`
`To: (Defendant's name and address) Apple Inc.
`do CT Corp. System
`350 North St. Paul Street, Suite 2900
`Dallas, Texas 75201-4234
`
`A lawsuit has been filed against you.
`
`Within 21 days after service of this summons on you (not counting the day you received it) — or 60 days if you
`are the United States or a United States agency, or an officer or employee of the United States described in Fed. R. Civ.
`P. 12 (a)(2) or (3) — you must serve on the plaintiff an answer to the attached complaint or a motion under Rule 12 of
`the Federal Rules of Civil Procedure. The answer or motion must be served on the plaintiff or plaintiffs attorney,
`whose name and address are: Paul V. Storm
`Gardere Wynne Sewell LLP
`1601 Elm Street, Suite 3000
`Dallas, Texas 75201
`
`If you fail to respond, judgment by default will be entered against you for the relief demanded in the complaint.
`You also must file your answer or motion with the court.
`
`Date: (cid:9)
`
`11/22/13
`
`CLERK OF COURT
`
`Signature of Clerk or Deputy Clerk
`
`3
`
`

`

`AO 440 (Rev. 06/12) Summons in a Civil Action (Page 2)
`
`Civil Action No. 2:13-cv-989
`
`PROOF OF SERVICE
`(This section should not bellied with the court unless required by Fed. R. Civ. P. 4 (I))
`
`This summons for (name of individual and title, if any)
`
`was received by me on (date)
`
`O I personally served the summons on the individual at (place)
`
`on (date) (cid:9)
`
`; or
`
`0 I left the summons at the individual's residence or usual place of abode with (name)
`
`on (date) (cid:9)
`
`, and mailed a copy to the individual's last known address; or
`
`, a person of suitable age and discretion who resides there,
`
`O I served the summons on (name of individual)
`
`designated by law to accept service of process on behalf of (name of organization)
`
`on (date)
`
`; or
`
`O I returned the summons unexecuted because (cid:9)
`
`O Other (specify):
`
`, who is
`
`; or
`
`My fees are $
`
`for travel and $ (cid:9)
`
`for services, for a total of $
`
`0.00
`
`I declare under penalty of perjury that this information is true.
`
`Date:
`
`Server's signature
`
`Printed name and title
`
`Server's address
`
`Additional information regarding attempted service, etc:
`
`4
`
`(cid:9)
`(cid:9)
`

`

`Case 2:13-cv-00989-JRG Document 1 Filed 11/21/13 Page 1 of 4 PagelD #: 1
`
`IN THE UNITED STATES DISTRICT COURT
`FOR THE EASTERN DISTRICT OF TEXAS
`MARSHALL DIVISION
`
`VANTAGE POINT TECHNOLOGY, INC.,
`
`V.
`
`APPLE INC.,
`
`Plaintiff,
`
`Defendant.
`
`Civil Action No.
`
`JURY TRIAL DEMANDED
`
`COMPLAINT FOR PATENT INFRINGEMENT
`
`Plaintiff Vantage Point Technology, Inc. ("Vantage Point") alleges the following for its
`
`complaint against Defendant Apple Inc.
`
`THE PARTIES
`
`1.
`
`Plaintiff is a corporation formed under the laws of the State of Texas having its
`
`principal place of business at 719 W. Front Street, Suite 244, Tyler, Texas 75702.
`
`2.
`
`Defendant is a corporation formed under the laws of the state of California with a
`
`principal place of business at 1 Infinite Loop, Cupertino, California 95014. Defendant may be
`
`served with process via its registered agent CT Corp. System, 350 North St. Paul Street, Suite
`
`2900, Dallas, Texas 75201-4234.
`
`JURISDICTION AND VENUE
`
`3.
`
`This is a patent infringement action. The Court has subject matter jurisdiction
`
`pursuant to 28 U.S.C. §§1331 and 1338.
`
`4.
`
`The Court has personal jurisdiction over Defendant because it has availed itself of
`
`the rights and benefits of this District by conducting business in this jurisdiction, including by
`
`promoting and selling products for sale via the internet, which is accessible to and accessed by
`
`COMPLAINT FOR PATENT INFRINGEMENT (cid:9)
`
`Page 1
`
`5
`
`

`

`Case 2:13-cv-00989-JRG Document 1 Filed 11/21/13 Page 2 of 4 PagelD #: 2
`
`residents of this District, and operating retail locations and knowingly selling products in stores
`
`throughout this District.
`
`5. (cid:9)
`
`Venue is proper in this District pursuant to 28 U.S.C. §§1391(b)-(d) and
`
`§1400(b), because substantial acts of infringement have occurred in this District.
`
`COUNT ONE
`INFRINGEMENT OF U.S. PATENT NO. 5,463,750
`
`6.
`
`On October 31, 1995, U.S. Patent No. 5,463,750 (the "750 Patent") entitled
`
`"Method and Apparatus for Translating Virtual Addresses in a Data Processing System Having
`
`Multiple Instruction Pipelines and Separate TLB's for each Pipeline" was duly and legally issued
`
`by the United States Patent and Trademark Office. The application for the '750 Patent was filed
`
`on November 2, 1993 and originally assigned to Intergraph Corporation. A true and correct copy
`
`of the '750 Patent is attached as Exhibit A hereto.
`
`7.
`
`Plaintiff is the sole and exclusive owner of all right, title, and interest in the '750
`
`Patent and holds the exclusive right to take all actions, including the filing of this patent
`
`infringement lawsuit, necessary to enforce its rights to the '750 Patent. Plaintiff also has the
`
`right to recover all damages for past, present, and future infringement of the '750 Patent and to
`
`seek injunctive relief as appropriate under the law.
`
`8.
`
`Defendant has directly infringed, either literally or by equivalents, one or more
`
`claims of the '750 Patent by making, having made, using, selling, offering for sale and/or
`
`importing products that satisfy each and every limitation of one or more claims of the '750
`
`Patent, including at least Claim 1. Such products include, at least, any and all chipsets with an
`
`ARM based Swift, dual ARM Cortex A9s, or ARM Cortex A8 core processor design. Such
`
`products also include smart phones, tablets, and/or computers that incorporate those chipsets.
`
`Upon information and belief, the accused chipset products include at least the Apple A6, A6X,
`
`COMPLAINT FOR PATENT INFRINGEMENT (cid:9)
`
`Page 2
`
`6
`
`

`

`Case 2:13-cv-00989-JRG Document 1 Filed 11/21/13 Page 3 of 4 PagelD #: 3
`
`A5, A5X, and the A4. Upon information and belief, Defendant has incorporated those chipsets
`
`into at least the following accused electronic device products, which it makes, has made, sells,
`
`offers to sell, and/or imports: iPhone 5, iPhone 4s, iPhone 4, iPhone 3Gs, iPad (4th Gen), and
`
`iPad (3rd Gen).
`
`9.
`
`Defendant's manufacture, sales, offers to sell, and/or importation of the identified
`
`accused chipset products and additional electronic device products incorporating those chipsets
`
`was unauthorized, without the permission of Plaintiff; and constitutes infringement under 35
`
`U.S.C. §271 for which it is directly liable.
`
`10. As a result of Defendant's direct infringement, Plaintiff Vantage Point has been
`
`damaged monetarily and is entitled to adequate compensation of no less than a reasonable
`
`royalty pursuant to 35 U.S.C. § 284.
`
`JURY DEMAND
`
`Plaintiff requests a jury on all issues so triable.
`
`PRAYER
`
`WHEREFORE, Plaintiff respectfully requests that the Court:
`
`A. Enter judgment that Defendant has directly infringed, either literally or by
`
`equivalents, the '750 Patent;
`
`B. Award Plaintiff damages for Defendant's infringement in an amount to be
`
`determined at trial, including enhanced damages, costs, and pre and post-
`
`judgment interest; and
`
`C. Award any other relief deemed just and proper.
`
`COMPLAINT FOR PATENT INFRINGEMENT (cid:9)
`
`Page 3
`
`7
`
`

`

`Case 2:13-cv-00989-JRG Document 1 Filed 11/21/13 Page 4 of 4 Page ID #: 4
`
`November 21, 2013 (cid:9)
`
`Respectfully submitted,
`
`/s/ Paul V. Storm
`Paul V. Storm
`Texas State Bar No. 19325350
`Sarah M. Paxson
`Texas State Bar No. 24032826
`GARDERE WYNNE SE WELL LLP
`1601 Elm Street, Suite 3000
`Dallas, Texas 75201
`(214) 999-3000
`pvstorm@gardere.com
`spaxson@gardere.com
`
`Attorneys for Vantage Point Technology,
`Inc.
`
`COMPLAINT FOR PATENT INFRINGEMENT (cid:9)
`
`Page 4
`
`8
`
`

`

`Case 2:13-cv-00989-JRG Document 1-1 Filed 11/21/13 Page 1 of 11 PagelD #: 5
`
`Exhibit A
`
`9
`
`

`

`Case 2:13-cv-00989-JRG Document 14 11ii
`ilifkiUS005 463750 ifiliatifill
`
`United States Patent [19]
`Sachs (cid:9)
`
`[11] Patent Number: (cid:9)
`[45] Date of Patent: (cid:9)
`
`5,463,750
`Oct. 31, 1995
`
`(cid:9) (cid:9)
`
`[54] METHOD AND APPARATUS FOR
`TRANSLATING VIRTUAL ADDRESSES IN A
`DATA PROCESSING SYSTEM HAVING
`MULTIPLE INSTRUCTION PIPELINES AND
`SEPARATE TLB'S FOR EACH PIPELINE
`
`[75] Inventor: Howard G. Sachs, Belvedere, Calif.
`
`[73] Assignee: Intergraph Corporation, Huntsville,
`Ala.
`
`[21] Appl. No.: 146,818
`
`[22] Filed: (cid:9)
`
`Nov. 2, 1993
`
`[51] Int. C1.6 (cid:9)
` GO6F 12/10
` 395/496; 364/228; 364/255.7;
`[52] U.S. Cl.
`364/243.4; 364/DIG. 1; 364/964.343; 364/DIG. 2;
`364/955.5; 395/800; 395/421.03; 395/416
`[58] Field of Search (cid:9)
` 395/400, 425,
`395/800
`
`[56] (cid:9)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,758,951 7/1988 Sznyter, Ill (cid:9)
`4,980,816 12/1990 Fukuzawa at al. (cid:9)
`5,197,139 3/1993 Emma et al. (cid:9)
`5,226,133 7/1993 Taylor et at. (cid:9)
`5,247,629 9/1993 Lasamatta et al. (cid:9)
`5,293,612 3/1994 Shingai (cid:9)
`
`
`395/400
` 395/400
` 395/400
` 395/400
` 395/400
` 395/425
`
`5,305,444
`5,386,530
`5,404,476
`5,404,478
`5,412,787
`
` 395/400
` 395/400
` 395/400
` 395/400
` 395/400
`
`4/1994 Becker et al. (cid:9)
`1/1995 Hattori (cid:9)
`4/1995 Kadaira (cid:9)
`4/1995 Arai et al. (cid:9)
`5/1995 Forsyth et al. (cid:9)
`Primary Examiner—Ken S. Kim
`Attorney, Agent, or Finn—Townsend and Townsend and
`Crew
`[57] (cid:9)
`
`ABSTRACT
`
`A computing system has multiple instruction pipelines,
`wherein one or more pipelines require translating virtual
`addresses to real addresses. A TLB is provided for each
`pipeline requiring address translation services, and an adress
`translator is provided for each such pipeline for translating
`a virtual address recieved from its associated pipeline into
`corresponding real addresses. Each address translator com-
`prises a translation buffer accessing circuit for accessing the
`TLB, a translation indicating circuit for indicating whether
`translation data for the virtual address is stored in the
`translation buffer, and an update control circuit for activating
`the direct address translation circuit when the translation
`data for the virtual address is not stored in the TLB. The
`update control circuit also stores the translation data
`retrieved from the main memory into the TLB. If it is desired
`to have the same translation information available for all the
`pipelines in a group, then the update control circuit also
`updates all the other TLB's in the group.
`
`14 Claims, 4 Drawing Sheets
`
`,- 200
`
`210C\
`
`2104
`
`LOAD
`INSTRUCTION
`PIPELINE
`218.4-
`
`ADDRESS
`REGISTER
`
`2264
`P2PA
`
`2108-\
`
`LOAD
`INSTRUCTION
`PIPELINE*
`2188
`
`STORE
`INSTRUCTION
`PIPELINE
`218C
`2148
`
`ADDRESS
`REGISTER
`228A
`2266
`
`2228-\ (cid:9)
`
`
`
` ,-214C
`ADDRESS '
`RECISTER
` 228C
`--C
`
`(cid:9) 226C
`222C (cid:9)
`
`
`
`TLB
`
`TLB
`
`TLB
`
`23081 —2348
`
`230C-1 "-234C
`
`CMP
`
`23041
`
`248B-
`
`2384
`
`CMP
`
`CMP
`
`.„--2388
`
`".-248C
`
`248.4
`
`260j
`
`UPDATE
`CONTROL
`
`7- 240
`
`244
`
`TO MAIN
`MEMORY
`34
`
`DTU
`
`162]
`
`10
`
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`

`

`U.S. Patent (cid:9)
`
`Oct. 31, 1995 (cid:9)
`
`Sheet 1 of 4 (cid:9)
`
`5,463,750
`
`1O\
`
`REGISTER
`FILE
`
`72
`
`r 5°
`CACHE
`MEMORY
`
`14-\
`
`-22
`
`76
`
`-42 (cid:9)
`
`r 30
`
`INSTRUCTION
`ISSUING
`UNIT
`
`MAIN
`MEMORY
`
`MASS
`<:› STORAGE
`DEVICE
`
`A \34
`50
`
`f
`
`r 46
`DATA
`TRANSFER
`UNIT
`
`MA' L188
`
`184
`
`FIG. I
`
`VIRTUAL MEMORY
`
`REAL MEMORY
`
`16M BYTE
`224
`1 BYTES
`
`RM = 2 2 PAGES
`PAGE = 212 BYTES
`
`FIG. 23
`
`4G BYTE
`
`232
`BYTES
`
`FIG. 24
`
`11
`
`(cid:9)
`(cid:9)
`

`

`Case 2:13-cv-00989-JRG Document 1-1 Filed 11/21/13 Page 4 of 11 PagelD #: 8
`
`U.S. Patent (cid:9)
`
`Oct. 31, 1995 (cid:9)
`
`Sheet 2 of 4 (cid:9)
`
`5,463,750
`
`31
`VA DIRECTORY (10)
`
`22 21 (cid:9)
`PAGE (10) (cid:9)
`
`12 11
`
`DISP (12)
`
`PDO
`REGISTER Sb O (cid:9)
`108 (cid:9)
`
`(20)
`
`(2o)
`
`ZERO'S
`
`
`(12)
`
`VA (31:22 )
`710
`
`(10)
`
`00
`
`PAGE
`DIRECTORY
`ENTRY
`ADDRESS
`ACCUMULATOR
`.112
`
`PAGE DIRECTORY 0
`
`PAGE TABLE 0
`
`104
`
`32
`
`20 (cid:9)
`11 (cid:9)
`„------, .......,, (cid:9)
`PTE
`
`gi
`g
`
`PF
`
`34
`
`100
`
`TO
`TLB
`
`PAGE TABLE
`TABLE 1023
`
`31 (cid:9)
`
`PAGE TABLE
`
`0
`
`PAGE 0
`
`, 20 (cid:9)
`
`5 (cid:9)
`
`4
`
`RA
`
`ST PL D R PF
`
`PAGE 1023
`
`VA (11:0)
`
`12
`
`VA (21:12)
`
`PAGE
`TABLE
`ENTRY
`ADDRESS
`ACCUMULATOR
`( IN \
`DAT)
`
`(20)
`
`(10) 00
`
`32
`
`RA, FROM TLB
`
`"20
`
`/831
`
`(20)
`
`(12)
`
`32 BIT REAL ADDRESS
`
`PF = PAGE FAULT
`PL = ACCESS PROTECTION
`ST= SYSTEM TAGS
`D = DIRTY FLAG
`R = REFERENCED FLAG
`
`FIG. 3 (cid:9)
`
`1 (cid:9)
`
`REAL
`ADDRESS
`ACCUMULATOR
`
`12
`
`(cid:9)
`(cid:9)
`(cid:9)
`

`

`U.S. Patent (cid:9)
`
`Oct. 31, 1995 (cid:9)
`
`Sheet 3 of 4 (cid:9)
`
`5,463,750
`
`150-\
`
`
`180
`127
`
`158-\ 182
`
`TLB
`
`VA<18:12>
`
`VAT RA
`178---
`
`CNTRL
`
`184
`
`162-\
`UPDATE
`DTU
`
`4
`1912TO DATA
`TRANSFER UNIT
`-TO MAIN
`MEMORY
`34
`
`166-- 0
`
`\-186
`170
` CMP
`175-\\\ I (cid:9)
`
`N-188 195
`MISS?
`
`\-190
`r174
`
`TO CACHE
`FOR. RA TAG
`COMPARISON
`TO DETERMINE
`CACHE HIT/MISS
`
`VA<31 19>
`VA<3112>
`VA<3112>
`
`VIRTUAL ADDRESS
`
`31 (cid:9)
`
`19 18 12 11 (cid:9)
`
`0
`
`VIRTUAL ADDRESSES
`FROM OTHER PIPELINES
`
`VAT = VIRTUAL ADDRESS TAG
`RA = REAL ADDRESS (BITS <3112>)
`VA = VIRTUAL ADDRESS
`
`FIG. 4
`
`13
`
`

`

`U.S. Patent (cid:9)
`
`Oct. 31, 1995 (cid:9)
`
`Sheet 4 of 4 (cid:9)
`
`5,463,750
`
`2104
`
`LOAD
`INSTRUCTION
`PIPELINE
`2184-N
`
`210B-\ (cid:9)
`
`LOAD
`INSTRUCTION
`PIPELINE
`2188
`
`210C-\ r- 200
`
`STORE
`INSTRUCTION
`PIPELINE
`
`ADDRESS
`REGISTER
`
`J
`
`
`TLB
`
`7-2144
`
`ADDRESS
`r 2284
`REGISTER
`(cid:9)
`2268
`2228 -\ (cid:9)
`
`TLB
`
`2264
`2224
`
`CMP
`
`(cid:9)
`
`1
`2308-
`Ri
`CMP
`
`< (cid:9)
`
`2.304-1
`
`2484
`
`2488
`
`2384
`
`260 17
`
`%I
`ADDRESS
`REGISTER
`
`/-214C
`
`r 228C
`
`7' 2148
`
`/- 2288
`(cid:9) 226C
`222C-
`
`TLB
`
`230C-
`
`\-234C
`
`CMP
`
`L.--2388
`
`N--248C
`
`/--238C
`
`UPDATE
`CONTROL
`
`244
`
`DTU
`
`162
`
`FIG. 5
`
`(cid:9) TO MAIN
`MEMORY
`34
`
`14
`
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`

`

`5,463,750
`
`1
`METHOD AND APPARATUS FOR
`TRANSLATING VIRTUAL ADDRESSES IN A
`DATA PROCESSING SYSTEM HAVING
`MULTIPLE INSTRUCTION PIPELINES AND
`SEPARATE TLB'S FOR EACH PIPELINE
`
`BACKGROUND OF THE INVENTION
`
`The present invention relates to computing systems and,
`more particularly, to a method and apparatus for translating
`virtual addresses in a computing system having multiple
`instruction pipelines.
`FIG. 1 is a block diagram of a typical computing system
`10 which employs virtual addressing of data. Computing
`system 10 includes an instruction issuing unit 14 which
`communicates instructions to a plurality of (e.g., eight)
`instruction pipelines 18A—H over a communication path 22.
`The data referred to by the instructions in a program are
`stored in a mass storage device 30 which may be, for
`example, a disk or tape drive. Since mass storage devices
`operate very slowly (e.g., a million or more clock cycles per
`access) compared to instruction issuing unit 14 and instruc-
`tion pipelines 18A—H, data currently being worked on by the
`program is stored in a main memory 34 which may be a
`random access memory (RAM) capable of providing data to
`the program at a much faster rate (e.g., 30 or so clock
`cycles). Data stored in main memory 34 is transferred to and
`from mass storage device 30 over a communication path 42.
`The communication of data between main memory 34 and
`mass storage device 30 is controlled by a data transfer unit
`46 which communicates with main memory 34 over a
`communication path 50 and with mass storage device 30
`over a communication path 54.
`Although main memory 34 operates much faster than
`mass storage device 30, it still does not operate as quickly
`as instruction issuing unit 14 or instruction pipelines
`18A—H. Consequently, computing system 10 includes a high
`speed cache memory 60 for storing a subset of data from
`main memory 34, and a very high speed register file 64 for
`storing a subset of data from cache memory 60. Cache
`memory 60 communicates with main memory 34 over a
`communication path 68 and with register file 64 over a
`communication path 72. Register file 64 communicates with
`instruction pipelines 18A—H over a communication path 76.
`Register file 64 operates at approximately the same speed as
`instruction issuing unit 14 and instruction pipelines 18A—H
`(e.g., a fraction of a clock cycle), whereas cache memory 60
`operates at a speed somewhere between register file 64 and
`main memory 34 (e.g., approximately two or three clock
`cycles).
`FIGS. 2A—B are block diagrams illustrating the concept
`of virtual addressing. Assume computing system 10 has 32
`bits available to address data. The addressable memory
`space is then 232 bytes, or four gigabytes (4 GB), as shown
`in FIG. 2A. However, the physical (real) memory available
`in main memory 34 typically is much less than that, e.g.,
`1-256 megabytes. Assuming a 16 megabyte (16 MB) real
`memory, as shown in FIG. 2B, only 24 address bits are
`needed to address the memory. Thus, multiple virtual
`addresses inevitably will be translated to the same real
`address used to address main memory 34. The same is true
`for cache memory 60, which typically stores only 1-36
`kilobytes of data. Register file 64 typically comprises, e.g.,
`32 32-bit registers, and it stores data from cache memory 60
`as needed. The registers are addressed by instruction pipe-
`lines 18A—H using a different addressing scheme.
`
`2
`To accommodate the difference between virtual addresses
`and real addresses and the mapping between them, the
`physical memory available in computing system 10 is
`divided into a set of uniform-size blocks, called pages. If a
`5 page contains 212 or 4 kilobytes (4 KB), then the full 32-bit
`address space contains 220 or 1 million (1M) pages (4
`ICBx1M=4 GB). Of course, if main memory 34 has 16
`megabytes of memory, only 212 or 4K of the 1 million
`potential pages actually could be in memory at the same time
`to (4Kx4 KB=16 MB).
`Computing system 10 keeps track of which pages of data
`from the 4 GB address space currently reside in main
`memory 34 (and exactly where each page of data is physi-
`cally located in main memory 34) by means of a set of page
`15 tables 100 (FIG. 3) typically stored in main memory 34.
`Assume computing system 10 specifies 4 KB pages and each
`page table 100 contains 1K entries for providing the location
`of 1K separate pages. Thus, each page table maps 4 MB of
`memory (1Kx4KB=4 MB), and 4 page tables suffice for a
`20 machine with 16 megabytes of physical main memory (16
`MB/4 MB=4).
`The set of potential page tables are tracked by a page
`directory 104 which may contain, for example, 1K entries
`(not all of which need to be used). The starting location of
`25 this directory (its origin) is stored in a page directory origin
`(PDO) register 108.
`To locate a page in main memory 34, the input virtual
`address is conceptually split into a 12-bit displacement
`30 address (VA<11:0›), a 10-bit page table address
`(VA<21:12>) for accessing page table 100, and a 10-bit
`directory address (<VA 31:22>) for accessing page directory
`104. The address stored in PDO register 108 is added to the
`directory address VA<31:22> of the input virtual address in
`a page directory entry address accumulator 112. The address
`in page directory entry address accumulator 112 is used to
`address page directory 104 to obtain the starting address of
`page table 100. The starting address of page table 100 is then
`added to the page table address VA<21:12> of the input
`40 virtual address in a page table entry address accumulator
`116, and the resulting address is used to address page table
`100. An address field in the addressed page table entry gives
`the starting location of the page in main memory 34 corre-
`sponding to the input virtual address, and a page fault field
`PF indicates whether the page is actually present in main
`memory 34. The location of data within each page is
`typically specified by the 12 lower-order displacement bits
`of the virtual address.
`When an instruction uses data that is not currently stored
`50 in main memory 34, a page fault occurs, and the faulting
`instruction abnormally terminates. Thereafter, data transfer
`unit 42 must find an unused 4 KB portion of memory in main
`memory 34, transfer the requested page from mass storage
`device 30 into main memory 34, and make the appropriate
`55 update to the page table (indicating both the presence and
`location of the page in memory). The program then may be
`restarted.
`FIG. 4 is a block diagram showing how virtual addresses
`are translated in the computing system shown in FIG. 1.
`60 Components which remain the same as FIGS. 1 and 3 retain
`their original numbering. An address register 154 receives
`an input virtual address which references data used by an
`instruction issued to one of instruction pipelines 14A—H, a
`translation memory (e.g., a translation lookaside buffer
`65 (TLB)) 158 and comparator 170 for initially determining
`whether data requested by the input virtual address resides
`in main memory 34, and a dynamic translation unit (DTU)
`
`45
`
`35
`
`15
`
`

`

`15
`
`The present invention is directed to a method and appa-
`ratus for translating virtual addresses in a computing system
`having multiple pipelines wherein a separate TLB is pro-
`vided for each pipeline requiring address translation ser-
`vices. Each TLB may operate independently so that it
`contains its own set of virtual-to-real address translations, or
`else each TLB in a selected group may be simultaneously
`updated with the same address translation information
`whenever the address translation tables in main memory are
`20 accessed to obtain address translation information for any
`other TLB in the group.
`In one embodiment of the present invention, a TLB is
`provided for each load/store pipeline in the system, and an
`address translator is provided for each such pipeline for
`translating a virtual address recievcd from its associated
`pipeline into corresponding real addresses. Each address
`translator comprises a translation buffer accessing circuit for
`accessing the TLB, a translation indicating circuit for indi-
`cating whether translation data for the virtual address is
`stored in the translation buffer, and an update control circuit
`for activating the direct address translation circuit when the
`translation data for the virtual address is not stored in the
`TLB. The update control circuit also stores the translation
`data retrieved from the main memory into the TLB. If it is
`desired to have the same translation information available
`for all the pipelines in a group, then the update control circuit
`also updates all the other TLB's in the group.
`
`35
`
`3
`162 for accessing page tables in main memory 34. Bits
`VA[18:12] of the input virtual address are communicated to
`TLB 158 over a communication path 166, bits VA[31:12] of
`the input virtual address are communicated to DTU 162 over
`a communication path 174, and bits VA[31:19] are commu-
`nicated to comparator 170 over a communication path 176.
`TLB 158 includes a plurality of addressable storage
`locations 178 that are addressed by bits VA[18:12] of the
`input virtual address. Each storage location stores a virtual
`address tag (VAT) 180, a real address (RA) 182 correspond- 10
`ing to the virtual address tag, and control information
`(CNTRL) 184. How much control information is included
`depends on the particular design and may include, for
`example, access protection flags, dirty flags, referenced
`flags, etc. (cid:9)
`The addressed virtual address tag is communicated to
`comparator 170 over a communication path 186, and the
`addressed real address is output on a communication path
`188. Comparator 170 compares the virtual address tag with
`bits VA[31:22] of the input virtual address. If they match (a
`TLB hit), then the real address output on communication
`path 188 is compared with a real address tag (not shown) of
`a selected line in cache memory 60 to determine if the
`requested data is in the cache memory (a cache hit). An
`example of this procedure is discussed in U.S. Pat. No. 25
`4,933,835 issued to Howard G. Sachs, et al. and incorpo-
`rated herein by reference. If there is a cache hit, then the
`pipelines may continue to run at their highest sustainable
`speed. If the requested data is not in cache memory 60, then
`the real address bits on communication path 188 are com- 30
`bined with bits [11:0] of the input virtual address and used
`to obtain the requested data from main memory 34.
`If the virtual address tag did not match bits VA[31:19] of
`the input virtual address, then comparator 170 provides a
`miss signal on a communication path 190 to DTU 162. The
`miss signal indicates that the requested data is not currently
`stored in main memory 34, or else the data is in fact present
`in main memory 34 but the corresponding entry in TLB 158
`has been deleted.
`When the miss signal is generated, DTU 162 accesses the
`page tables in main memory 34 to determine whether in fact
`the requested data is currently stored in main memory 34. If
`not, then DTU 162 instructs data transfer unit 42 through a
`communication path 194 to fetch the page containing the
`requested data from mass storage device 30. In any event,
`TLB 158 is updated through a communication path 196, and
`instruction issuing resumes.
`TLB 158 has multiple ports to accommodate the
`addresses from the pipelines needing address translation
`services. For example, if two load instruction pipelines and
`one store instruction pipeline are used in computing system
`10, then TLB 158 has three ports, and the single memory
`array in TLB 158 is used to service all address translation
`requests.
`As noted above, new virtual-to-real address translation
`information is stored in TLB 158 whenever a miss signal is
`generated by comparator 170. The new translation informa-
`tion typically replaces the oldest and least used entry pres-
`ently stored in TLB 158. While this mode of operation is 60
`ordinarily desirable, it may have disadvantages when a
`single memory array is used to service address translation
`requests from multiple pipelines. For example, if each
`pipeline refers to different areas of memory each time an
`address is to be translated, then the translation information 65
`stored in TLB 158 for one pipeline may not get very old
`before it is replaced by the translation information obtained
`
`5,463,750
`
`4
`by DTU 162 for the same or another pipeline at a later time.
`This increases the chance that DTU 162 will have to be
`activated more often, which degrades performance. The
`effect is particularly severe and counterproductive when a
`first pipeline repeatedly refers to the same general area of
`memory, but the translation information is replaced by the
`other pipelines between accesses by the first pipeline.
`
`SUMMARY OF THE INVENTION
`
`5
`
`ao
`
`45
`
`50
`
`55
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a block diagram of a known computing system;
`FIGS. 2A and 2B are each diagrams illustrating virtual
`addressing;
`FIG. 3 is a diagram showing how page tables are accessed
`in the computing system shown in FIG. 1;
`FIG. 4 is a block diagram illustrating how virtual
`addresses are translated in the computing system shown in
`FIG. 1; and
`FIG. 5 is a block diagram of a particular embodiment of
`a multiple TLB apparatus for translating virtual addresses in
`a computing system according to the present invention.
`
`BRIEF DESCRIPTION OF THE PREFERRED
`EMBODIMENTS
`
`FIG. 5 is a block diagram of a particular embodiment of
`an apparatus 200 according to the present invention for
`translating virtual addresses in a computing system such as
`computing system 10 sho

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