throbber
lllllllllllllllllllllllllllllllllll
`
`
`
`01d‘S'n£193!
`
`|._a
`1—3
`\3
`
`\[
`
`w\K
`
`O
`co
`
`
`
`Provisional Application Cover Sheet
`
`This is a request for filing a PROVISIONAL APPLICATION under 37 CFR l.53(b)(2).
`
`
`
`BOX PROVISIONAL
`APPLICATION, ASSISTANT
`COMMISSIONER FOR PATENTS,
`WASHINGTON, DC. 20231
`
`Docket Number
`1001-0080—V-US
`
`Type a plus sign (+)
`inside this box
`
`INVENTOR(S) APPLICANT(S)
`
`at g.*
`
`LAST NAME
`
`FIRST NAME
`
`(City and Either State or Foreign Country)
`Austin, Texas
`Austin, Texas
`Austin, Texas
`Austin, Texas
`
`TITLE OF THE INVENTION 7
`280 Characters Maximum a
`
`“COMPUTER COMIVIUNICATION LINK”
`
`CORRESPONDENCE ADDRESS
`
`Please mail all correspondence concerning this application to:
`
`Mark Zagorin
`Zagorin, O'Brien & Graham, L.L.P.
`1120 South Capital of Texas Hwy.
`Building 3, Suite 208
`Austin, TX 78746—6460
`
`Tel.: (512) 347-9030
`Fax: (512) 347—9031
`
`(USA
`
`S ENCLOSED APPLICATION PARTS (Check airman apply)
`
`Specification
`
`Claims
`
`Drawings
`
`Small Entity Statement
`
`Other: (Specify)
`
`Number of Pages
`
`69
`
`Number of Pages __45_
`
`Number of Sheets ___3Q
`
`METHOD OF PAYMENT (Check one)
`
`credit Deposit Account Number101-03 65 Large Entity $150
`
`gigggéglgAL
`
`AMOUNT
`
`D Small Entity $75
`
`
`
`E] 112::“1‘ ormoney orderis enclosed to cover the Provisional filing
`
`E The Commissioneris hereby authorized to charge filing fees and
`
`The invention was made by an agency of the United State Government or under a contract with an agency of the United States
`Government.
`
`ENO
`D Yes, the name of the U.S. Government agency and the Government contract number are:
`
`Respectfully submitteMe%
`Signature: ‘g; 2/ 31:55::
`
`Date: November 23, 1998
`
`Typed or Printed Name: Mark Zagorin
`
`Reg. No. 36,067
`
`E]
`
`Additional inventors are being named on separately numbered sheets attached hereto.
`
`PROVISIONAL APPLICATION FILING ONLY
`EXPRESS MAIL LABEL NO:
`EL151293014US
`
`SAMSUNG
`
`EX 1005, PAGE 1
`
`SAMSUNG
`EX 1005, PAGE 1
`
`

`

`Attorney Docket No.2
`
`1001-0080-V—US
`
`“Express Mail” mailing label number: ELlSlE‘lEUlHUS
`
`COMPUTER COMMUNICATION LINK
`
`Dale E. Gulick
`
`Larry D. Hewitt,
`Alfred Hartmann,
`
`Geoffrey SS, Strongin
`
`Related Applications
`
`
`
`
`This application relates to co-pending application serial no. 09/099,227, filed
`
`June 17, 1998, entitled METHOD OF MODE CONTROL IN A BUS OPTIMIZED
`
`FOR PERSONAL COMPUTER TRAFFIC, by Larry Hewitt; co-pending application
`
`serial no. 09/098,874, filed June 17, 1998, entitled BUS OPTIMIZED FOR
`
`PERSONAL COMPUTER TRAFFIC, by Larry Hewitt and Dale E. Gulick; co~
`
`pending application serial no. 09/098,360 filed June 17, 1998, entitled COMPUTER
`
`WITH HIGH VELOCITY—LOW PIN COUNT NORTH BRIDGE SOUTH BRIDGE
`
`LINK, by Larry Hewitt and Dale E. Gulick; co-pending application serial no.
`
`09/098,228 filed June 17, 1998, entitled CPU—NORTH BRIDGE INTEGRATION
`
`UTILIZING AN INTERCONNECTION BUS PROVIDING A HIGH SPEED-LOW
`
`PIN COUNT LINK by Dale E, Gulick and Larry Hewitt; and co—pending application
`
`serial no. 09/098,876 filed June 17, 1998, entitled WRITE ONLY BUS WITH
`
`WHOLE AND HALF BUS MODE OPERATION, by Larry D. Hewitt; which
`
`applications are incorporated herein by reference in their entirety.
`
`10
`
`15
`
`20
`
`BACKGROUND OF THE INVENTION
`
`Field of the Invention
`
`The invention relates to computer systems and more particularly to a computer
`
`system having a high speed communication link having multiple pipes (channels)
`
`25
`
`operating on the communication link.
`
`FINALAPP 0080
`Client Reference:
`
`'l'I'2704-PROV
`
`SAMSUNG
`
`EX 1005, PAGE 2
`
`SAMSUNG
`EX 1005, PAGE 2
`
`

`

`Attomey Docket No.:
`
`lOOl-OOSO—V-US
`
`Description of the Related Art
`
`Traditional personal computer architectures partition the computer system into
`
`the various blocks shown in the exemplary prior art system illustrated in Fig. 1. One
`
`central feature of this prior art architecture is the use of the Peripheral Component
`
`5
`
`Interface (PCI) bus 101 as the connection between the “north bridge” integrated
`
`circuit 103 and the “south bridge” integrated circuit 105. The north bridge functions
`
`generally as a switch connecting CPU 107, a graphics bus 109 such as the Advanced
`
`Graphics Port (AGP) bus, the PCI bus and main memory 111. The north bridge also
`
`contains the memory controller function.
`
`10
`
`The south bridge generally provides the interface to the input/output (I/O)
`
`portion of the system with the possible exception of video output as illustrated in
`
`Figure 1. Specifically, the south bridge 105 provides a bridge between the PCI bus
`
`and legacy PC—AT (Advanced Technology) logic. The south bridge also provides a
`
`bridge to the legacy ISA bus 115, the Integrated Device Electronics (IDE) disk
`
`15
`
`interface 117 and the Universal Serial Bus (USB) 119. In the illustrated prior art
`
`architecture, PCI bus 101 also functions as the major input/output bus for add—in
`
`functions such as network connections. The various busses and devices shown in
`
`Figure 1 are conventional in the personal computer industry and are not described
`
`further herein unless necessary for an understanding of the present invention.
`
`
`
`
`20
`
`In current and future personal computer systems, two basic types of data are
`
`transferred between integrated circuits: isochronous data and asynchronous data.
`
`Isochronous data refers to data used in real-time data streams such as audio data or
`
`motion—picture video data. Asynchronous data is used for all other transfers, such as
`
`central processing unit (CPU) accesses to peripherals or bulk data transmissions from
`
`25
`
`a hard drive into system memory.
`
`The PCI bus causes a lack of determinism in the system because any function
`
`on the PCI bus can become master of the bus and tie up the bus. Thus, the throughput
`
`available on the bus for a particular transfer and the latency that is involved for that
`
`transfer is unknown. Therefore, having a PCI bus as the major input/output bus
`
`30
`
`means that the major input/output bus of present day computer systems does not
`
`provide proper support for both isochronous and asynchronous data. If a computer
`
`FINALAPP 0080
`Client Reference: TT2704-PROV
`
`-2-
`
`SAMSUNG
`
`EX 1005, PAGE 3
`
`SAMSUNG
`EX 1005, PAGE 3
`
`

`

`Attorney Docket No:
`
`lOOl-OOSO-V-US
`
`system gives asynchronous data priority or treats isochronous data as asynchronous
`
`data, then those functions relying on real time data, such as motion-picture video, may
`
`not function satisfactorily. Alternatively, if a computer system prioritizes isochronous
`
`data, then the performance of the computer system can suffer since the latency of
`
`asynchronous data may become unacceptably long. As computer systems are called
`
`on to perform more and more real time activity, such as real time Video, it becomes
`
`more critical that asynchronous and isochronous data be treated in a manner that
`
`prevents problems from occurring in the real time tasks without adversely effecting
`
`other aspects of computer performance.
`
`10
`
`In addition, levels of integration continue to increase on as the number of
`
`functions integrated onto the integrated circuits of computer systems increases, the
`
`need for additional pins also increases. Supporting the host bus, the memory
`
`interface, the PCI bus and a graphics interface results in a north bridge integrated
`
`circuit having a relatively large number of pins that is relatively unpopulated in terms
`
`15
`
`of the number of transistors on the integrated circuit. The large number of pins
`
`requires the integrated circuit to be larger than would otherwise be necessary and
`
`therefore increases costs.
`
`It would be desirable therefore, to have a deterministic high speed major
`
`interconnect bus. It would also be desirable to reduce the pressure for additional pins
`
`2O
`
`on the integrated circuits making up the computer system.
`
`
`
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The present invention may be better understood, and its numerous objects,
`
`features, and advantages made apparent to those skilled in the art by referencing the
`
`accompanying drawings.
`
`25
`
`Fig. 1 shows an exemplary prior art personal computer system.
`
`Fig. 2 shows a block diagram illustrating the pipe structure according to one
`
`embodiment of the present invention.
`
`Fig. 3 is a high level block diagram of a portion of an exemplary personal
`
`computer system that utilizes the communication link described herein.
`
`FINALAPP 0080
`Client Reference: TT2704-PROV
`
`-3-
`
`SAMSUNG
`
`EX 1005, PAGE 4
`
`SAMSUNG
`EX 1005, PAGE 4
`
`

`

`Attorney Docket No:
`
`lOOl-OOSO—V—US
`
`Fig. 4 shows an exemplary data bus and the interfaces of the communication
`
`link in greater detail.
`
`Fig. 5 illustrates the link layer, protocol layer and physical layer of the
`
`communication link.
`
`5
`
`Fig. 6 shows an exemplary address map for the processor module-interface
`
`module for an 'X86 environment utilizing an embodiment of the present invention.
`
`Figs. 7A - 7L show the packets used in various link transactions.
`
`Fig. 8 shows a flow diagram for determining a no tags free error condition.
`
`Fig. 9 shows one implementation of a circuit to detect the no tags free error
`
`10
`
`condition.
`
`Fig. 10 shows common pipe configurations used in various embodiments of
`
`the present invention.
`
`Fig. 11 shows a point to point pipe configuration.
`
`Fig. 12 illustrates a flow diagram of a write transaction across the link.
`
`15
`
`Fig. 13 illustrates a target distributor pipe configuration.
`
`a? r
`- n
`
`
`
`
`
`Fig. 14 illustrates a flow diagram of a read transactions across the link.
`
`Fig. 15 illustrates a source distributor pipe configuration.
`
`Fig. 16 illustrates a target concentrator pipe configuration.
`
`Fig. 17 illustrates a flow diagram of an interface module read transaction to
`
`20 memory.
`
`Fig. 18 illustrates the use of subordinate links in a computer system.
`
`Fig. 19 illustrates a pipe structure and associated functions of a typical
`
`computer system.
`
`FlNALAPP 0080
`Client Reference: TT2704—PROV
`
`SAMSUNG
`
`EX 1005, PAGE 5
`
`SAMSUNG
`EX 1005, PAGE 5
`
`

`

`Attorney Docket No.:
`
`lOOl-OO80-V-US
`
`Fig. 20 illustrates one implementation of the protocol layer transmit circuit.
`
`Fig. 21 illustrates one implementation of the protocol layer receive circuit.
`
`Fig. 22 illustrates a pipe source circuit structure.
`
`Fig. 22A illustrates a pipe source circuit structure that includes a pass through
`
`Fig. 23 illustrates a non-concentrated pipe target circuit structure.
`
`Fig. 23A illustrates a pipe target circuit structure that includes a pass through
`
`5
`
`queue.
`
`queue.
`
`
`
`it};
`
`
`
`Fig. 24 illustrates a concentrated pipe target circuit structure.
`
`10
`
`Fig. 25 shows a block diagram of a target distributor and its connections to
`
`common logic and to functions.
`
`Fig. 26 illustrates additional logic used in the target concentrator to map
`
`accesses to appropriate functions.
`
`Fig. 27 illustrates the software structure for the capabilities pointer.
`
`15
`
`Fig. 28 illustrates the basic configuration structure and register addressing
`
`strategy of a typical system according to one embodiment of the present invention.
`
`Fig. 29 illustrates a type 1 (bridge) header.
`
`Fig. 30 illustrates a type 0 (function) header.
`
`Fig. 31 illustrates the upstream and downstream link registers used for link
`
`20
`
`bridges.
`
`The use of the same reference symbols in different drawings indicates similar or
`
`identical items.
`
`FINALAPP 0080
`Client Reference: TT2704-PROV
`
`SAMSUNG
`
`EX 1005, PAGE 6
`
`SAMSUNG
`EX 1005, PAGE 6
`
`

`

`
`
`
`Attorney Docket No.: 1001-0080-V-US
`
`DESCRIPTION OF THE PREFERRED EMBODIMENT§SI
`
`Fig. 2, illustrates a generic system according to one embodiment of the present
`
`invention. The system includes module 201 and module 203 coupled by high speed
`
`link 205. High speed link 205 is in one embodiment a 10W pin count high speed point
`
`to point bus (generally referred to herein as a "link" to distinguish the point to point
`
`interconnect bus from a multi—drop bus) one example of which is described in
`
`application no. 09/098,874, entitled BUS OPTIMIZED FOR PERSONAL
`
`COMPUTER TRAFFIC, previously incorporated herein by reference. The term
`
`"interconnect bus“ is also used herein interchangeably with "link“ to avoid confiision
`
`when discussing the “link layer" of the communication link. Link 205 has a plurality
`
`of pipes 207 — 211. Each pipe (or channel), couples a function in module 201 to a
`
`function in module 203. Each pipe has a source end and a target end. For example,
`
`source end 215 of pipe 207 couples function A on module 201 to the target end 221 of
`
`pipe 0. The target end 221 of pipe of pipe 0 is in turn coupled to function D on
`
`module 203, thereby providing a path between function A and function D.
`
`A function is a circuit that provides a specific function in the computer system.
`
`For example, a CPU and memory controller on a processor module are examples of
`
`functions. A PCI bridge and 1394 host controller are further examples of functions on
`
`an interface module. A function can have any combination of target and source pipes.
`
`For example, in an exemplary system, the memory controller may only have targets,
`
`the CPU may only have sources, and the PCI bridge may have both.
`
`Each pipe source and pipe target communicate over bus 205 on a packet
`
`multiplexed basis using packets uniquely associated with the respective pipe. Before
`
`various aspects of the pipe architecture is examined in greater detail, certain details of
`
`exemplary bus 205 will be discussed to provide the appropriate context for use of the
`
`pipes.
`
`One way to achieve high speed is to utilize a point—to-point bus in which only
`
`two devices are present on the bus. A point-to-point bus can inherently run at higher
`
`speeds than a multi-drop bus such as the PCI bus since a point—to—point link has
`
`reduced electrical loading and reduced noise caused by reflections at tap points such
`
`as connectors. It is possible to provide a point to point link that operates at, e. g., 25
`
`FINALAPP 0080
`Client Reference: TT2704—PROV
`
`-6—
`
`10
`
`15
`
`20
`
`25
`
`30
`
`SAMSUNG
`
`EX 1005, PAGE 7
`
`SAMSUNG
`EX 1005, PAGE 7
`
`

`

`Attorney Docket No: 1001 -0080-V-US
`
`times the speed of the PCI bus. Given this, a 32-bit wide PCI bus can be replaced by
`
`a 16—bit (or even an 8-bit link) while still adding significant bandwidth.
`
`Referring to Fig. 3, a portion of a typical personal computer system is shown
`
`which utilizes link 205 to communicate between two integrated circuits 301 and 303.
`
`The computer system includes processor module 301 and interface module 303.
`
`Processor module 301 includes an link interface 305 which is coupled to link interface
`
`307 in interface module 303. Bus 205 provides guaranteed bandwidth and latency to
`
`each isochronous stream such as RAMDAC data, audio data, and 1394 isochronous
`
`streams while also attempting to minimize latency to asynchronous accesses such as
`
`10
`
`CPU-initiated accesses and POI—initiated accesses.
`
`One feature of the architecture shown in Fig. 3 is that the PCI bus no longer
`
`functions as the primary interface between the processor/memory controller and
`
`input/output filnctions. Link 205 has replaced the PCI bus as the primary interface
`
`and also carries both isochronous and asynchronous data.
`
`15
`
`20
`
`25
`
`The exemplary processor module 301 provides the major processing function
`
`in the computer system and includes system memory controller 309, a central
`
`processing unit (CPU) (such as the x86 processor AlVID K6“) and graphics interface
`
`306. Interface module 303 provides an interface between various input/output devices
`
`such as Video monitors, hard drives, scanners, printers, network connections, modems,
`
`and the processor module. The exemplary interface module 307 includes interface
`
`310 providing an interface to the industry standard architecture (ISA) bus, IEEE 1394
`
`interface 312, peripheral component interface (PCI) 314, RAMDAC 316 and
`
`Intelligent Drive Electronics (IDE) controller 318.
`
`Exemplary link 205 connecting processor module (PM) 301 and the interface
`
`module (1M) 303 includes data portion DB. Data bus DB includes two bi—directional
`
`data portions. In one embodiment, each data portion contains one byte (8 bits) of
`
`data. However, the number of bits on the data bus may be of size (211 —1 :0), where n is
`
`an integer > 0. Thus, a minimum implementation has one data bit in each direction.
`
`In the illustrated embodiment, n equals 4, with each data portion having one byte.
`
`
`
`
`
`FmALAPP 0080
`Client Reference: TT2704-PROV
`
`SAMSUNG
`
`EX 1005, PAGE 8
`
`SAMSUNG
`EX 1005, PAGE 8
`
`

`

`
`
`
`
`Attorney Docket No.: 1001 -0080—V-US
`
`The exemplary system is divided into two sides with processor module 301
`
`arbitrarily designated side A and interface module 303 designated as side B. Link 205
`
`also includes a unidirectional clock line CLKB2A and a unidirectional control line
`
`CTLBZA provided by link interface 307 to link interface 305. The “BZA”
`
`designation indicates that the signal is an output of side B and an input to side A.
`
`Link 205 also includes a second unidirectional clock line CLKA2B and a second
`
`unidirectional control line CTLA2B, which are provided by processor module 301 to
`
`interface module 303. The "AZB" designation indicates that the signal is an output of
`
`side A and an input to side B. The protocol uses clock-forwarding technology to
`
`reliably synchronize source data to a clock. CLKAZB and CLKBZA are preferably
`
`derived from the same source such that they are the same frequency and they do not
`
`drift.
`
`Referring to Fig. 4, the data bus DB and the link interfaces are shown in
`
`greater detail. Each side includes a transmit controller and a receive controller. Data
`
`always flows from the transmit controller on one side to the receive controller on the
`
`other side. Thus, side A link interface 305 includes transmit controller 415 and a
`
`receive controller 413. Side B link interface includes transmit controller 411 and
`
`receive controller 417. The two portions 407 and 409 of data bus portion DB are
`
`shown with arrows indicating their direction of transfer. Data bus portion 407
`
`transmits data from transmit controller 411 to receive controller 413 (from side B to
`
`side A) synchronous with CLKB2A. Data portion 409 of the data bus transmits data
`
`from transmit controller 415 to receive controller 417 (side A to side B),
`
`synchronously with CLKAZB.
`
`One main feature of bus 205 is that bus 205 provides a guaranteed minimum
`
`bandwidth and a maximum latency to data transferred over the bus. That is
`
`accomplished in one embodiment, as described in greater detail in application number
`
`09/098,874 (BUS OPTIMIZED FOR PERSONAL COMPUTER TRAFFIC), by
`
`transferring data over the high speed link in frames, with each frame guaranteeing a
`
`portion of the frame for isochronous data and a portion of the frame for asynchronous
`
`data. Guaranteeing maximum latency for various channels (or pipes) carried over the
`
`communication link is becoming more important as isochronous data streams are
`
`being conveyed between the south bridge and main memory. One source of such
`
`FINALAPP 0080
`Client Reference: TT2704-PROV
`
`-8—
`
`10
`
`15
`
`20
`
`25
`
`30
`
`SAMSUNG
`
`EX 1005, PAGE 9
`
`SAMSUNG
`EX 1005, PAGE 9
`
`

`

`
`
`
`
`
`
`
`
`Attorney Docket No.: 1001 -0080—V-US
`
`isochronous data is the IEEE 1394 bus. In order to provide the necessary isochronous
`
`bandwidth on the bus for isochronous streams, the isochronous streams are guaranteed
`
`a specified amount of bandwidth during each frame on the link.
`
`Maximum bandwidth requirements are specified for each isochronous stream
`
`in terms of bytes per frame. The sum of the isochronous-stream maximum—bandwidth
`
`requirements should be less than the theoretical total bandwidth. However, as a
`
`matter of practicality, the higher the percentage bandwidth of isochronous streams,
`
`the greater the probability that asynchronous traffic will incur latency. In the design
`
`of a balanced system, one expects the sum of typical asynchronous bandwidth and
`
`maximum isochronous bandwidth to be less than about 60 to 80 percent of the
`
`theoretical maximum bandwidth. If that is done, then average latency for
`
`asynchronous cycles will be minimized.
`
`lsochronous requesters should not send more bytes across the link, during a
`
`frame, than the programmed maximum bandwidth for that requester. Hardware may
`
`be implemented in the link layer to ensure that isochronous requesters comply with
`
`that requirement
`
`The side A transmit controller delivers clock CLKA2B to the side B receive
`
`controller, and the side B transmit controller delivers clock CLKBZA to the side A
`
`receive controller. Thus, the side A transmit controller and side B receive controller
`
`are included in the same time domain, called time domain A, and the side B transmit
`
`controller and the side A receive controller are included in the same time domain,
`
`called time domain B.
`
`In the illustrated embodiment, it is assumed that both side A and side B
`
`initialize to a mode of 16 bits wide and have an 800 megahertz data rate. The data
`
`rate is based on a clock (CLK) (meaning CLKAZB and CLKB2A) rate of 400
`
`megahertz with the data being provided on each edge of the clock. So, if clock is 400
`
`megahertz, this represents 800 million edges per second. Address phases and data
`
`phases of bus cycles transfer information at each edge of CLK. Thus, the edge rate of
`
`CLK specifies the maximum theoretical bandwidth of the bus rather than the cycle
`
`10
`
`15
`
`20
`
`25
`
`FINALAPP 0080
`Client Reference: TT2704-PROV
`
`SAMSUNG
`
`EX 1005, PAGE 10
`
`SAMSUNG
`EX 1005, PAGE 10
`
`

`

`_.;. a2::
`
`.2:
`er;
`
`
`
`Attorney Docket No.: 1001 —0080—V~US
`
`rate. In the illustrated embodiment, frames are several microseconds in length, e.g.
`
`five microseconds.
`
`Two kinds of traffic occur over bus 205: bus cycles and instant messages. The
`
`greatest amount of bandwidth is used by bus cycles or transactions, which are
`
`transfers of blocks of addressing information or addressing information and associated
`
`data sent from one link layer to the link layer on the other side. The addressing
`
`information determines where in the integrated circuit a particular access is targeted.
`
`The second type of bus traffic is messages, which are used to send protocol
`
`information across the link. In one embodiment, messages are aligned to the rising
`
`edge of CLK and consume one CLK cycle and can occur at any time, including in the
`
`middle of bus cycles.
`
`Link 205 is very useful in situations where high—bandwidth asynchronous
`
`traffic must be mixed with isochronous traffic. The bus protocol assumes (1) that
`
`system performance is adversely affected by the latency of asynchronous traffic, (2)
`
`asynchronous traffic can be delayed indefinitely without adversely affecting real-time
`
`data streams, (3) isochronous traffic should be guaranteed a specified amount of
`
`bandwidth and worst—case latency, and (4) as long as the bandwidth and latency
`
`requirements for isochronous traffic are met, then the latency between their requests
`
`and the transfer of the data has no adverse affect on system performance.
`
`The hardware on each side of the link includes a physical layer, a protocol
`
`layer, and a link layer. The protocol layers for both sides of the bus include the same
`
`hardware elements. In this way, the bus is symmetrical with no centralized resources
`
`(as opposed to, for example, the PCI bus arbiter which in prior art systems was
`
`typically located in the north bridge of the PCI bus and arbitrates for all masters).
`
`Referring to Fig. 5, bus (or link) 205 includes link layer 501, protocol layer
`
`503, and physical layer 505. The specific implementation of the physical layer
`
`depends on such factors as the frequency of the bus, the number of devices on the bus,
`
`the length of the bus, as is known to those of skill in the art. The specification for the
`
`physical layer and the protocol layer is generally device independent, except for
`
`variations of the bus Width and frequency.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`FINALAPP 0080
`Client Reference:
`
`'IT2704-PROV
`
`-10-
`
`SAMSUNG
`
`EX 1005, PAGE 11
`
`SAMSUNG
`EX 1005, PAGE 11
`
`

`

`
`
`
`Attorney Docket No.: 1001 ~0080-V—US
`
`In the illustrated embodiment, each channel or pipe is associated with one or
`
`more functions coupled through bus 205. For example, referring again to Fig. 3,
`
`processor module 301 may include separate pipes for the function CPU 311 and for
`
`the function system memory controller 309. One or more pipes may be provided for
`
`the various functions on the interface module 303 including 1394 host controller 312,
`
`the PCI bridge 314, RAMDAC 316 and IDE controller 318. The link layer also
`
`includes an arbiter 507 to determine the source of the next locally-generated bus cycle
`
`since there are typically multiple asynchronous and isochronous sources. The arbiters
`
`guarantee bandwidth to isochronous streams (within a maximum latency) while
`
`10
`
`minimizing latency to asynchronous accesses.
`
`Bus traffic is grouped into frames. In an exemplary system, two counters
`
`associated with frames are used in the local request arbitration logic (507 in Fig. 5).
`
`They are the elapsed frame counter, which is used to specify how much bandwidth
`
`remains in the frame, and the isochronous byte counter, which is used to specify how
`
`15
`
`much isochronous bandwidth remains to be transferred in the flame.
`
`The elapsed flame counter starts, at the beginning of each flame, at a value
`
`equal to the number of bytes that can be transferred across the flame (product of the
`
`width of the bus in bytes and the number of clock edges in the frame). For example,
`
`in a 16-bit, 800 megahertz implementation (data rate), with a two microsecond frame,
`
`the value of the counter would start out at (1600 bytes per microsecond) X (2
`
`microseconds per frame) = 3200. It counts down to zero over the course of the frame,
`
`reloads, counts down again, and so forth. When the elapsed-frame counter reaches
`
`zero, a new frame is defined to be started. This is true for both sides of the link.
`
`When the elapsed frame counter reaches zero, in certain embodiments a new frame
`
`(NewFrame) message to is sent across the link to side B, which causes B’s elapsed-
`
`frame counter to reset.
`
`The isochronous byte counter starts, at the beginning of each frame, at a value
`
`equal to the number of isochronous bytes that should be guaranteed to be transferred
`
`during the frame. It decrements with each isochronous byte transferred. It is
`
`programmed to be slightly higher than the actual maximum isochronous bandwidth of
`
`a frame. Shortly after the beginning of each flame, all the isochronous streams make
`
`20
`
`25
`
`30
`
`FlNALAPP 0080
`Client Reference: TT2704—PROV
`
`-11-
`
`SAMSUNG
`
`EX 1005, PAGE 12
`
`SAMSUNG
`EX 1005, PAGE 12
`
`

`

`
`
`Attorney Docket No.: 1001-0080~V~US
`
`their requests to send data across the bus during the next frame. The requests may be
`
`made in the illustrated embodiment Within a predetermined time period after the
`
`frame starts.
`
`Initially during a frame, asynchronous transfers are granted priority over
`
`isochronous transfers (to minimize the latency of the asynchronous transfers),
`
`(asynchronous priority mode). However, counter(s) track of how much isochronous
`
`traffic passes during the frame and if the isochronous streams are in danger of running
`
`out of the required bandwidth for the frame, arbitration priority switches to the
`
`isochronous traffic, (isochronous—priority mode). In that way, a minimum amount of
`
`isochronous bandwidth can be guaranteed while minimizing latencies for
`
`asynchronous transfer requests. After all the isochronous bus cycles for the frame are
`
`complete (which occurs before the end of the frame), the priority switches back to the
`
`asynchronous traffic.
`
`The local request arbiter operates as follows. At the beginning of each frame,
`
`all isochronous streams that will require bandwidth during the frame request the link
`
`fiom the local-request arbiter. They continue to request the link until they have
`
`completed all of their bus cycles for the frame.
`
`Typically, the total requested bandwidth for the vast majority of frames will be
`
`well under 100%. Generally, asynchronous transfers will be granted highest priority
`
`for the entire frame because of generally low rates of isochronous traffic relative to
`
`the available bandwidth on the link. Thus, as described above, asynchronous CPU
`
`accesses will most often be granted higher priority than isochronous transfers and
`
`therefore incur reduced average latency. In situations Where large blocks of bulk
`
`asynchronous data are being transferred across the link (for example, from the PCI
`
`bus), then the isochronous transfers will tend to come at the end of the frame, after the
`
`priority has switched to isochronous bus cycles. In this case, CPU latency will tend to
`
`increase as the CPU loses priority to the isochronous bus cycles and contends with the
`
`bulk asynchronous transfers.
`
`For each frame, the link either stays in asynchronous priority mode for the
`
`entire frame or (1) starts in asynchronous priority mode, (2) transitions to isochronous
`
`10
`
`15
`
`20
`
`25
`
`3O
`
`FINALAPP 0080
`Client Reference: TT2704-PROV
`
`-12-
`
`SAMSUNG
`
`EX 1005, PAGE 13
`
`SAMSUNG
`EX 1005, PAGE 13
`
`

`

`
`
`Attorney DOCket No.2 lOOl-OOSO-V‘US
`
`priority mode during the frame, and (3) then transitions again to asynchronous priority
`
`mode before the end of the frame.
`
`In one implementation, the rules for the local—request arbiter are:
`
`asynchronous requesters are higher priority than isochronous requesters during
`
`asynchronous-priority mode and only isochronous requesters are granted bus cycles
`
`during isochronous—priority mode. The arbitration method for the group of
`
`asynchronous requesters is not limited other than it is required to be fair and to not
`
`cause deadlock situations. The arbitration scheme for the group of isochronous
`
`requesters may utilize a fixed priority scheme.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`Detailed implementation of one embodiment of transmit and receive circuits in
`
`the protocol layer is described further herein. However, first the utilization of the
`
`high speed link will be examined in greater detail beginning with the transaction
`
`protocol. As described with relation to Fig. 2, the link includes a plurality of pipes,
`
`each pipe sharing the bus in a time division multiplexing scheme. The basic function
`
`of pipes is to carry transactions. The transactions can be reads, writes, or both. In one
`
`embodiment, reads and writes are carried across the link as memory-mapped
`
`transactions to a 40-bit address space.
`
`Each transaction includes a command and response packet. There are multiple
`
`types of command and response packets. A packet type field within each packet
`
`identifies the type of packet. It is advantageous if the first byte of the packet
`
`identifies a destination queue. That provides a particular advantage when the link is
`
`only 8—bits wide since the first byte contains necessary routing information.
`
`Otherwise, in an 8—bit link implementation, the target would have to wait for the
`
`second byte to determine the appropriate destination.
`
`Thus, in one embodiment, the first 8—bits of the packet include a 5—bit Pipe
`
`Identification (ID) field and the first 3-bits of a 6—bit Packet Type field. The Pipe ID
`
`field, which identifies the pipe on which the transaction is being carried, is used to
`
`route the packet to the correct pipe hardware and the first 2—bits of the Packet Type
`
`field identify the correct queue Within the pipe hardware. The pipe hardware includes
`
`are Command, Response, Write Data, and Read Data queues. The first bit (bit 0) of
`
`FINALAPP 0080
`Client Reference: TT2704-PROV
`
`-13-
`
`SAMSUNG
`
`EX 1005, PAGE 14
`
`SAMSUNG
`EX 1005, PAGE 14
`
`

`

`Attorney Docket No.:
`
`lOOl-OOSO-V—US
`
`the packet type field specifies whether the packet is a Command (0) from the source
`
`or Response (1) from the target. The second most significant bit (bit 1) specifies
`
`whether the operation is a Read (0) or Write (1) operation. The packet types for the
`
`command packets sent from the source to the target are shown in Table 1.
`
`5
`
`Ml
`
`
`
`Packet Type Code Command
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`The response packets sent from a source to a target in response to a command
`
`are shown in Table 2.
`
`10
`
`
`Table 2
`
`
`
`Packet TJ'e Code
`.1 .
`____________________ 100999” Readtssapsase.
`
`.. 11000901 _ NQnrAdétssssdread resnmise
`
`
`
`...1..QQQ_1.O Rsadrsispt,
`.
`.
`
`Reserved
`"
`" ib'i'i’iil 100011’
`
`
`
`
`.””110009.Writseckmwlcdgg ..
`N m0..r_lru;100911
`WfitanegaireAChflswledge, .
`
`
`
`111111 - 111010 Reserved
`
`
`
`
`
`
`
`
`Transactions across the bus may be pipelined. The pipeline structures may
`
`support two different kinds ofpipelining, “in order” and “out of order” transactions.
`
`In order pipelining means that multiple transactions can be outstanding, but they are
`
`15
`
`strictly ordered, i.e., they are responded to by the target in the exact order that they
`
`FINALAPP 0080
`Client Reference: TT2704—PROV
`
`_ 14 _
`
`SAMSUNG
`
`EX 1005, PAGE 15
`
`SAMSUNG

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