throbber
ORACLE EXHIBIT 1002
`
`ORACLE EXHIBIT 1002
`
`PART 2
`
`PART 2
`
`
`
`

`
`uP Data 0-7, uP Data P, uPAdd 0-2,
`
`CS
`
`These
`
`signals are used by a microprocessor
`
`to
`
`address
`
`the programmable repisters within the 'chip.
`
`The odd parity signal uP Data P is only checked when
`data is written to the Fifo Data or Checksum Registers
`
`and microprocessor parity is enabled.
`
`élk
`
`The clock input
`
`is nsed to generate some of
`
`the
`
`chip timing. It
`
`is expected to be in the 10-20 Mmz
`
`range.
`
`Read En, Write En
`
`During microprocessor accesses, while cs is true,
`
`these
`
`signals
`
`determine
`
`the direction of
`
`the
`
`microprocessor accesses. During data transfiers in the
`WD made.
`these
`signals
`are data
`strohes
`used
`in
`conjunction with Port A Ack.
`
`Port 3 00-07, 10-17, 20-21, 30-37,
`
`0P—3P
`
`Port 8 is a 32 bit data port.
`
`There is one odd
`
`parity bit for each byte.
`
`Port B OP is the parity of
`
`bits 00-07, PortB 1P is the parity of bits 10-17, Port
`
`3 29 is the parity of bits 20-27, and Port 3 39 is the
`
`parity of bits 30-37.
`
`Attorney Docket No.:AUSP7209.‘
`WP1/WSW/AUSP/7209.001
`,
`
`8/24/89-7
`
`Oracle Ex. 1002, pg. 601
`
`

`
`-115-
`
`B select, B Reg, B Ack, Parity sync, B Output Enable
`
`These signals are used in the data transfer mode
`
`to control the handshake of data on Port B. Port B Reg
`
`and Port 3 Ack are both gated with Part B select.
`
`‘The Port 8 Ask signal is used to strobe the data on the
`
`Port B data lines.
`
`The parity sync signal is used to
`
`indicate to a chip configured as the parity chip to
`
`indicate that
`
`the last words of data involved in the
`
`parity accumulation are on Port B.
`
`The sort B data
`
`lines will only be driven by the Fife chip if all of
`
`the following conditions are met:
`
`"the data transfer is from Port A to Port B;
`
`the Port 8 select signal is true;
`
`the Port B output enable signal is true; and
`
`the chip is not configured as the parity chip
`or
`it
`is in parity correct mode
`and ‘the
`Parity Sync signal is true.
`
`Reset
`
`This signal resets all
`
`the registers within the
`
`chip‘and causes all bidirectional pins to be in a high
`
`impedance state.
`
`0
`
`fiQgmaL_Q2§ratigg.. Normally the chip acts as a
`
`simple FIFO chip.
`A FIFO is simulated by using two RAM
`buffers in a simple ping—pong mode.
`It is intended,
`
`but not mandatory.
`
`that data is burst
`
`into or out of
`
`Attorney Docket No.:AUSP7209
`WP1/WSW/AUSP/7209.001
`
`8/24/89-7
`
`Oracle Ex. 1002, pg. 602
`
`

`
`-116-
`
`the FIFO on Port 3. This is done by holding Port 8 sel
`
`signal
`
`low and pulsing the Port B Ack signal. When
`
`transferring data from Port 3 to Port A, data is first
`
`written into RAM X and when this is full,
`
`the data.
`
`paths will be
`
`switched such ‘that Port
`
`8 may start
`
`writing to RAM Y.
`
`_Meanwhi1e
`
`the chip willl begin
`
`emptying RAM X to Port A.
`
`When RAM Y is full and RAM
`
`h empty the data paths will be switched again such that
`
`Port 8 may reload RAM X and Port A may empty RAM Y.
`
`2g;;_A_§;ggg_flgdg.
`
`This is the default mode and
`
`the chip is reset to this condition.
`
`In this mode the
`
`chip waits for a master such as one of the SCSI adapter
`
`chips $42 to raise Port A Request for data transfer.
`
`If data is available the Fifo chip will respond with
`
`Port A Ack/Rdy.
`
`gar; A WD Mode.
`
`The chip may be configured to
`
`run in the WD or Western Digital mode.
`
`In this mode
`
`the chip must be configured as a slave on Port A.
`
`It
`
`differs from the default slave mode in that
`
`the chip
`
`responds with Read Enable or Write Enable’ as
`
`appropriate together with Port A Ack/Rdy. This mode is
`
`intended to allow the chip to be interfaced to the
`
`Western Digital 33C93A SCSI chip or the NCR 53C90 SCSI
`
`chip.
`
`gag; A Master uggg.
`
`when the chip is configured
`
`as a master, it will-raise Port A Ack/Rdy when it is
`
`Attorney Docket No.:AUSP7209
`WP1/WSW/AUSP/7209.001
`:
`
`'
`
`8/24/89-7
`
`Oracle Ex. 1002, pg. 603
`
`

`
`-117-
`
`ready for data transfer. This signal is expected to be
`
`tied to the Request
`
`input of
`
`a DMA controller which
`
`will
`
`respond with Port A Req when data is available.
`
`In order to allow the DMA controller to burst,
`
`the Port
`
`A Ack/Rdy signal will only be negated after every 8 or
`
`16 bytes transferred.
`
`2ggt_j_g§;g;;g;_jgi;g_flggg.
`
`In parallel write
`
`node,
`
`the chip is configured to be the parity chip for
`
`a parallel
`
`transfer from Port 8 to Port A.
`
`In this
`
`mode, when Port
`
`B Select
`
`and Port
`
`8 Request are
`
`asserted, data is written into RAM X or RAM"! each
`
`time the Port 3 Ack signal is received.
`
`For the first
`
`block. of
`
`128 bytes data is
`
`simply copied into the
`
`selected RAM. The next 128 bytes driven on Port 8 will
`
`be exclusive-ORed with the first
`
`128 bytes.
`
`This
`
`procedure will be repeated for all drives such that the
`parity is accumulated in this chip.
`The Parity sync
`signal should be asserted to the parallel chip together
`
`with'the last block of 128 bytes.
`
`This enables the
`
`chip to switch‘ access
`
`to the other
`
`RAM and start
`
`accumulating a new 128 bytes of parity.
`
`rt B P
`
`a
`
`e
`
`o
`
`- C
`
`ck Da
`
`.
`
`This
`
`mode is set if all drives are being read and parity is
`
`to be cheched.
`
`In this case the Parity Correct bit in
`
`the Data Transfer Configuration Register
`
`is not set.
`
`The parity chip will first read 128 bytes on Port A as
`
`Attorney Docket No.:AUSP7209
`HP1/WSW/AUSP/7209.001
`
`8/24/89-7
`
`Oracle Ex. 1002, pg. 604
`
`

`
`C
`
`-118-
`
`in a-normal read mode and then raise Port B Request.
`
`While it has this signal asserted the chip will monitor
`
`the Port 8 Ack signals and exclusive-or the data on
`
`Port 8 with the data in its selected RAM.
`
`The Parity
`
`sync should again be asserted with the last block of
`
`128 bytes.
`
`In this mode the chip will not drive the
`
`Port 8 data lines but will check the output of
`
`its
`
`exclusive-or logic for zero.
`
`If any bits are set at
`
`this time a parallel parity error will be flagged.
`
`29;: g gaggllgl Egg; mode - ggrregt Qata.
`This”
`mode is set by setting the farity Correct bit in the
`
`Data Transfer Configuration Register.
`
`In this case the
`
`chip will work exactly as in the check mode except that
`
`when Port
`
`13 Output Enable, Port 8 Select and Parity
`
`Sync are true the data is driven onto the Part 3 data
`
`lines and a parallel parity check for zero is not
`
`‘performed.‘
`
`In the normal. mode it is expected
`§x§g__§xan.
`that‘Port B bits 00-07 are the first byte; bits 10-17
`
`the second byte, bits 20-27 the third byte, and bits
`
`30-37 the last byte of each word.
`
`The order of these
`
`bytes may be changed by writing to the byte swap bits
`
`in the
`
`configuration register
`
`such
`
`that
`
`the byte
`
`address bits are inverted.
`
`The _way
`
`the bytes are
`
`written and
`
`read also depend on whether
`
`the
`
`CPU
`
`interface is configured as 16 or 8 bits.
`
`The following
`
`Attorney Docket No.:AUSP7209
`WP1/WSW/AUSP/7209.001
`
`8/24/89-7
`
`Oracle Ex. 1002, pg. 605
`
`

`
`-119-
`
`table shows _the byte alignments
`
`for
`
`the different
`
`possibilities
`
`for data
`
`transfer using the Port
`
`A
`
`Request / Acknowledge handshake:
`
`CPU
`
`Invert
`
`Invert
`
`Port B '
`
`Port 3
`
`byte 1
`
`byte 1
`
`byte 0
`
`byte 0
`
`’ uProc
`byte 1
`
`Port A
`byte 1
`
`uProc
`byte 0
`
`Port A
`byte 0
`
`when the Fifo is accessed by reading or writing
`
`the Fifo Data Register through the microprocessor port
`
`in 8 bit mode,
`
`the bytes are in the same order as the
`
`‘table above but the uProc data port is used instead of
`
`Port A.
`
`In 16 bit mode the table above applies.
`
`d
`
`h Tran er .
`
`If the data transfer
`
`is
`
`not
`
`a multiple
`
`of
`
`32 uords, or
`
`128 bytes.
`
`the
`
`microprocessor bust manipulate the internal registers
`
`of the chip to ensure all data is transferred. Port A
`
`Ack and Port 8 Reg are normally not asserted until all
`
`Attorney Docket No.:AUSP7209
`«W21/WSW/AUSP/7209.001
`
`8/24/89-7
`
`Oracle Ex. 1002, pg. 606
`
`

`
`-120-
`
`32 words of
`
`the selected RAM are available.
`
`These
`
`signals may be forced by writing to the appropriate RAM
`
`status bits of the Data Transfer Status Register.
`
`when an odd length transfer has taken place the
`
`microprocessor must wait until both ports are quiescent
`
`before manipulating any registers.
`
`It
`
`should then
`
`reset both of the Enable Data Transfer bits for Port A
`
`and Port B.in the Data Transfer Control Register.
`
`It
`
`must then determine by reading their Address Registers
`
`and the RAM Access Control Register whether RAM X or
`
`RAM Y holds the odd length data.
`
`It should then set
`
`the corresponding Address Register
`
`to a value of
`
`20
`
`hexadecimal,
`
`forcing the RAM full hit and setting the
`
`address to the first word. Finally the microprocessor
`
`should set the Enable Data Transfer bits to allow the
`
`chip to complete the transfer.
`
`-
`
`At this point the Fifo chip will think that there
`
`are now a full 128 bytes of data in the ham and will
`
`transfer 128 bytes if allowed to do so.
`
`The fact that
`
`some of
`
`these
`
`128 bytes
`
`are not valid must
`
`be
`
`recognized externally to the FIFO chip.
`
`Attorney Docket No.:AUSP7209
`WP1/WSW/AUSP/7209.001
`
`8/24/89-7
`
`Oracle Ex. 1002, pg. 607
`
`

`
`E
`
`E
`
`R R
`
`egister Address 0.
`
`This register is cleared by
`
`the reset signal.
`
`Bit
`
`0
`
`Set if data transfers are to
`flQ_MQQg.
`use
`the Western Digital WD33C93A
`protocol, otherwise
`the Adaptec
`6250
`protocol will be used.
`
`if this chip is to
`Set
`ggrity ghip.
`accumulate Port B parities.
`
`C ‘rec
`Parit
`parity chip is
`parity on Port B.
`
`the
`if
`Set
`.
`to correct ' parallel
`
`If" set,
`.
`i
`i
`16
`ace
`the microprocessor data bits
`are
`combined with the Port A data bits to
`effectively produce a 16 bit Port. All
`accesses by the microprocessor as well
`as all data transferred using the Port A
`Request and Acknowledge handshake will
`transfer 16 bits.
`
`A b
`r
`v
`least
`the
`invert
`Port A byte address.
`
`to
`Set
`.
`e addres
`significant bit of
`
`to
`Set
`.
`Invert Port A byte address
`invert the most significant bit of Port
`A byte address.
`
`' - Set to enable the
`carry out of
`the 16 bit checksum adder
`to carry back into the least significant
`bit of the adder.
`
`to this bit will
`geset. Writing a 1
`reset
`the other
`registers. This bit
`resets
`itself after
`a maximum of
`2
`clock cycles and will therefore normally
`be
`read as
`a 0.
`No other
`register
`should be written for
`a minimum of
`4
`clock cycles after writing to this bit.
`
`Attorney Docket No.:AUSP7209
`WP1/WSW/AUSP/7209.001
`'
`
`.
`
`8/24/89—7
`
`Oracle Ex. 1002, pg. 608
`
`

`
` fl
`
`Register Address 1.
`
`This register is cleared by
`
`the reset signal or by writing to the reset bit.
`
`Bit
`
`Bit
`
`Bit
`
`'
`
`0 . Set to
`enable the Port A Req/Ack handshake.
`
`1
`
`2
`
`Set to
`B.
`n
`r n
`Da
`b
`enable the Port 8 Reg/Ack handshake.
`
`data
`set,
`If
`g.
`to gort
`g
`gort
`If
`transfer is from Port A to Port B.
`reset, data transfer is from Port B to
`Port A.
`In order to avoid any glitches
`on the request lines,
`the state of this
`bit should not be altered at-the same
`
`time as the enable data transfer bits 0
`or 1 above.
`
`Bit
`
`3
`
`uPrQgg§§gr Parity Enable. Set if parity
`is to be checked on the microprocessor
`interface.
`It will only be checked when
`writing to the Fifo Data Register or
`reading from the Fifo Data or Cbecksum
`Registers,
`or during a Port
`A
`Request/Acknowledge,
`transfer in 16 bit
`mode.
`The chip will, however, always
`re-generate parity ensuring that
`correct parity is written to the RAM or
`read on the microprocessor interface.
`
`Set if parity is
`.
`En
`A Pa
`to be checked on Port A.
`It is checked
`when accessing the Fifo Data Register in
`16 bit, node,
`or during
`a Port
`.A-
`Request/Acknowledge transfer.
`The chip
`will, however, always re—generate parity
`ensuring that correct parity is written
`to the
`RAM or‘ read on
`the Port A
`interface.
`
`Port B
`Set if
`29;; B Earity Enable.
`If it is
`data has valid byte parities.
`generated
`not
`set,
`byte parity is
`internally to the chip when writing to
`the RAMs.
`Byte parity is not checked
`when writing from Port 3, but always
`checked when reading to Port B.
`
`Attorney Docket No.:AUsP7209
`WP1/WSW/AUSP/7209.001
`
`B/24/89-7
`
`Oracle Ex. 1002, pg. 609
`
`

`
`-123-
`
`to enable writing
`Set
`gnggK5um_§nahLe.
`to the 16 bit checkaum register.
`This
`register accumulates a 16 bit checksum
`for all
`RAM accesses,
`including
`accesses to the Fifo Data Register, as
`well
`as all writes
`to the
`checksum
`register. This bit must be reset before
`reading from the Checksum Register.
`
`if Port A is to
`Set
`r.
`M
`r
`operate in the master mode on Port A
`during the data transfer.
`-
`
`Data
`
`r n fer
`
`a us Re '
`
`r Re
`
`Onl
`
`Register Address 2.
`
`This register is cleared by
`
`the reset signal or by writing to the reset bit.
`Bit
`O
`
`set if any bits
`' Data in RAM 3 or RAM Y.
`are true in the RAM X, RAM_Y, or Port A
`byte address registers.
`
`if the
`Set
`E or.
`P
`P rt
`Pr
`is set and a
`uProc Parity Enable bit
`parity error.
`is detected on
`the
`microprocessor interface during any RAM
`access or write to the Checksum Register
`in 16 bit mode.
`V
`
`Set if the Port A
`ggrt g garitg Errgg.
`Parity Enable bit
`is set and a parity
`error
`is detected on
`the Port
`A
`interface during any RAM access or write
`to the Checksum Register.
`
`set if
`.
`'
`ri
`1
`P
`the parity
`the chip is configured as
`chip,
`is not in parity correct mode, and
`a non zero result is detected when the
`Parity Sync signal is true.
`It is also
`set whenever data is read out onto Port
`B and the data being read back through
`the bidirectional buffer
`does
`not
`compare.
`'
`
`Set
`0—§ garity Egggg.
`B Bytes
`20;;
`whenever the data being read out of the
`RAMs on the Port 3 side has had parity.
`
`Attorney Docket No.:AUSP7209
`WP1/WSW/AUSP/7209.001
`
`8/24/89-7
`
`Oracle Ex. 1002, pg. 610
`
`

`
` mm
`
`Register Address 3.
`
`This register is cleared by
`
`the reset signal or by writing to the reset bit.
`
`The
`
`Enable Data Transfer bits in the Data Transfer Control
`
`Register must be reset before attempting to write to
`
`this register, else the write will be ignored.
`
`Bit
`
`0 - This bit is the
`least significant byte address bit.
`It
`is read directly bypassing any inversion
`done by the 'invert bit
`in the Data
`Transfer Configuration Register.
`
` - This bit is the
`most significant byte address bit.
`It
`is read directly bypassing any inversion
`done
`by the invert bit
`in the Data
`Transfer Configuration-Register.
`
`Port A to RAM Y.
`accessing RAM Y,
`accessing RAM X .
`
`to RAM Y.
`Pggg B
`accessing RAM Y,
`accessing RAM X .
`
`if Port A is
`Set
`and reset
`if it
`is
`
`if Port B
`Set
`and reset
`if it
`
`is
`is
`
`If the chip is-configured
`Long Burst.
`to transfer data on Port A as a master,
`amd this bit
`is reset,
`the chip will
`only negate Port A Ack/Edy after every 8_
`bytes, or 4 words in 16 bit mode, have-
`been transferred.
`If this bit is set,
`Port A Ack/Rdy will be negated every 16
`bytes, or 8 words in 16 bit mode.
`
`HQ; Used.
`
`MM
`
`Register Address 4.
`
`This register is cleared by
`
`the reset signal or by writing to the reset bit.
`
`The
`
`Enable Data Transfer bits in the Data Transfer Control
`
`Attorney Docket No. :AUSP7209‘
`WP!/WSW/AUSP/7209.001
`
`'
`
`8/24/89-‘I
`
`Oracle Ex. 1002, pg. 611
`
`

`
`-125-
`
`Register must be reset before attempting to write to
`
`this register, else the write will be ignored.
`
`Bits 0-4
`
`RAM X word address
`
`Bit
`
`5
`
`,
`
`RAM X full
`
`Bits 6-7
`
`Not Used
`
`r
`
`R
`
`'
`
`' e
`
`Register Address 5.
`
`This register is cleared by
`
`The
`the reset signal or by writing to the reset bit.
`Enable Data Transfer bits in the Data Transfer Control
`
`Register must be reset before attempting to write to
`
`this register, else the write will be ignored.‘
`
`Bits 0-4
`
`RAM Y word address
`
`Bit
`
`5
`
`Bits 6-7
`
`RAM i full
`
`Not Used
`
`ata
`
`e iste '
`
`e d W ite
`
`Register Address 6.
`
`The Enable Data Transfer bits
`
`in tfie Data Transfer Control Register must be reset
`
`before attempting to write to this register, else the
`
`write will be ignored.
`
`The Port A to Port 8 bit in the
`
`Data Transfer Control register must also be set before
`
`writing this register.
`
`If it is not,
`
`the RAM controls
`
`will be incremented but no data will be written to the
`
`RAM.
`
`For consistency,
`
`the Port A to PortB should be
`
`reset prior to reading this register.
`
`Attorney Docket No.:AUSP7209
`WP1/WSW/AUSP/7209.001
`
`8/24/89-7
`
`Oracle Ex. 1002, pg. 612
`
`

`
`-126-
`
`Bits 0-7 are Fifo Data.
`
`The microprocessor may
`
`access the FIFO by reading or writing this register.
`
`The RAM control registers are updated as if the access
`
`was using Port A.
`
`If the chip is configured with a 16
`
`bit CPU Interface the most significant byte will use
`
`the. Port A 0-7 data lines, and each Port A access will
`
`increment the Port A byte address by 2.
`
`ggrt A Chgckgurn Register (R§;';§1(flz;i§§1
`
`Register Address 7.
`
`This register is cleared by
`
`the reset signal or by writing to the reset bit.
`
`Bits
`
`0-7
`
`are Checksum Data.
`
`The
`
`chip will
`
`accumulate a 16 bit checksum for all Port A accesses.
`
`If the chip is configured with a 16 bit CPU interface,
`
`the most significant byte is read on the Port A 0-7
`
`data lines.
`
`If data is written directly
`
`to this
`
`register it is added to the current contents rather
`than overwriting them. ‘It is important
`to _note that
`the Checksum Enable hit
`in the Data Transfer Control
`
`Register must be set to write this register and reset
`to read it.
`
`M
`
`O HIP
`
`In general
`
`the fifo chip is programmed by writing I
`
`to the data
`
`transfer
`
`configuration and
`
`control
`
`registers to enable a data transfer,
`
`and by reading
`
`Attorney Docket No. :AUSP7209
`WP1/WSW/AUSP/1209.001
`
`8/24/89-7
`
`Oracle Ex. 1002, pg. 613
`
`

`
`-127-
`
`the data transfer status register at the end of
`
`the
`
`transfer to check the completion status. Usually the
`
`data transfer itself will take place with both the Port
`
`A and the Port B handshakes enabled, and in this case
`
`the data transfer itself should be done without any
`
`other microprocessor
`
`interaction.
`
`In
`
`some
`
`applications, however,
`
`the Port A handshake may not be
`
`enabled,
`
`and
`
`it will
`
`be necessary
`
`for
`
`the
`
`microprocessor to fill or empty the fifo by repeatedly
`
`writing or reading the Fifo Data Register.
`-
`Since the fifo chip has no hnowledge of any byte
`
`counts,
`
`there is no way
`
`of’
`
`telling when any data
`
`transfer is complete by reading any register within
`
`this chip itself.
`
`Determination of whether the data
`
`transfer has been completed must therefore be done by
`
`some other circuitry outside this chip.
`
`The following C language routines illustrate how
`
`the parity FIFO chip may be programmed.
`
`The routines
`
`assume that both Port A and the microprocessor port are
`
`connected to the system microprocessor, and return a
`
`size code of 16 bits,’but that the hardware addresses
`
`the Fifo chip as long 32 bit registers.
`
`Attorney Docket No. :AUSP7209
`WPI/WSW/AUSP/7209.001
`
`'
`
`3/24/89-7
`
`Oracle Ex. 1002, pg. 614
`
`

`
`-128-
`
`struct FIFO_regs {
`char
`unsigned
`config,al,a2,a3 ;
`char
`unsigned
`control,b1,b2.b3;
`char
`sra:us,cl,c2,c3;
`unsigned
`char
`unsigned
`tam_access_pontro1,dl_d2,d3;
`char
`unsigned
`ram_X_addr,el;e2,e3;
`char
`unsigned
`ram_Y_addr,f1,t2,f3;
`data;
`long
`unsigned
`unsigned
`int checksun,h1;
`I;
`
`#define
`
`FIE01-((struct
`
`FIFO_regs*) FIFO_BASE_ADDRESS)
`
`fidefine
`adefine
`fidefine
`fidetine
`fidefine
`fldefine
`fidefine
`gdefine
`fidefine
`#define
`
`1-'1so_nzss-r 0x80
`FIFO_l6_BI‘1‘S 0x08
`FIFO_CA.RRY_WRAP oxao
`FIFO_POB‘l'__A__ENABLE 0x01
`FIFO_POR'l‘_B_ENABLE 0x02
`I-‘IFO_POR'l'_ENABLES 0x03
`FIFO_POR'l‘_A_'l'O_B 0x04
`FIFO_pHECKSUM_ENABLE Oxbo
`FIFO__DA'1'A_IN_RAH 0x01
`sn=o_roncE_pZm4_1=u1.L 0x20
`
`) a oxoa)
`((fifo-—) control
`poa'r_A_-ro_pon-r_3('t1:o)
`PORT_A_BYTE_ADDRESS(fife) ([tifo->ram_access_contro1) &
`
`adefine
`gdefine
`0x03)
`fldefine
`-0x06)
`#define PORT_B_TO_BAH_Y(fiEo)
`0x08)
`
`pon'r__A__'ro'_nAM_Y ( t i to)
`
`((fito—>ramLpccess_contro1 ) &
`
`((fifo-> ramLpccess_pontrol
`
`) &
`
`/ttfiflfikkfltttfifitfifitfikfifittflkfififlfltfiflfiktflEt:fi:R*#*##§ktt2***t§**
`The following routine initiates a Fifo data transfer using
`two values passed to it.
`'
`
`config_data
`
`This is the data to be written to the
`configuration register.
`
`contro1_data
`
`This is the data to be written to the Data
`Transfer Control Register.
`If the data'transter
`is to take place automatically using both the
`Port Aand Port B handshakes, both data transfer
`enables bits should he set in this parameter.
`=:::est::::::testttes::2:::s:::::::::=::=:::=::::=:=::::=:=/
`
`FIFO_initiate_data_transfer(con!ig_data, contro1_data)
`unsigned char config_data, control_data;
`(
`
`FIF0l—>config = config_data 5 Fl!’-'O__RESE'l.‘;
`Configuration value-G Reset */
`
`/= Set
`
`Attorney Docket No.:AUSP7209
`WP!/WSW/AUSP/7209.001
`
`8/24/89-7
`
`Oracle Ex. 1002, pg. 615
`
`

`
`-129-
`
`FIFOI->controI - contro1_data G ('FIFO_POR1;fiNABLES);
`everything but enables */
`'
`FIFOI->control = contro1_fiata ;
`/* Set data transfer
`enables */
`
`/* Set
`
`I /
`
`titfikfitttfifiktkfltkfitflfikflflflttkfitkttkktttkkttttfifitfikkfihtttttfik
`The following routine forces the transfer of any odd bytes
`that have been left in the Fifo at the end of a data transfer.
`It first disables both ports,
`then forces the Ram Full bits, end'
`then re-enables the appropriate Port.
`eeaareeweacenaneeaaeteeazteeeeecagen:a¢eeee:::e*ee2**:«*a*:/
`
`EIFO_force_odd_1ength_transfer()
`[
`
`.
`FIFO!->contro1 &= 'FIFO_?ORT_ENABLES; /* Disable Parts A E B */
`if (PORT_A_IO_POET_8(FIF0l))
`(
`{
`i E
`(POR'1‘__A_'l‘O__RAM_Y (FIFO 1) )
`PIFO1—>ram_Y_addr = r1ro_Eonct_nAM_§6LL;‘/* Set nan Y
`
`full */
`
`)
`else z='I1=o1—>ram_x_addr = FIFO_FDRCE_R.A.M_FULL ;
`_
`X full */
`FIEOI->concro1 as FIFo_PoRT_p_ENABLE ;
`Port 8 */
`
`/* Set RAM
`
`/= Re~Enah1e
`
`/* Set
`
`/= Set RAM
`
`}e
`
`-
`lse (
`(
`if (POR'l'__B__'1‘O_RAM_Y(FIE'01))
`FIF01—>ram_Y_addr = FIFO_£ORCE_EAH_FULL
`RAH Y full *I
`
`} e
`
`lse FIF01—>ram_x__4ddr = FIE-‘O_FORCE_EAM_FULL
`X full */
`
`EIFO1-)contro1 }= FIFO_PORT_A_ENABLE ;
`Port A */
`}
`
`)
`
`..
`
`/* Re—Enab1e
`
`/flEl##tttfitktatttttttkfitfitttfikfikflfifitkttfittflfifififitttfitfifitittfit
`The following routine returns how many odd bytes have been
`left in the Fifo at the end of a data transfer.
`tttflkttttiattttktttttttktttttktttattkkttkttttkfittfitfigtttt#:/
`
`int FIEO_count_odd_bytes()
`{
`
`int number_odd_bytes;
`number_odd_bytes=0;
`it (FIFOl->status & nro DA‘l'A_1N mm)
`if (ponr_A_ro_poar_§(ErEoz)7
`(
`number_odd_bytes = (PORT_A_fiYTE_ADORESS(FIFO!))
`i t (PORT_A__'1‘O__RAH_Y ( F1 to 1 ) )
`number_oqd_bytes += (PIFOL-)ram_Y_addt) = 4 ;
`
`(
`
`;
`
`Attorney Docket No.:AUSP7209
`UPI/WSW/AUSPl7209.00l
`
`8/2h/89-7
`
`Oracle Ex. 1002, pg. 616
`
`

`
`-110-
`
`else number_odd_bytes +- (FIFOI->ran_X_addr) * 4 ;
`
`lse (
`it (PoRT_B_To_pAM_Y(FIFo1))
`number_odd_bytes - (FIFO!->ran;Y_eddr) * 4
`else number_odd_bytes = (FIFOI->ram_X_addr) * 4
`
`)e
`
`)
`
`eturn (number_odd_bytes);
`
`) r
`
`) /
`
`‘£‘.'9:.".".‘.'t:tktttttfififittfittafififitfififl=‘."£::‘.’:i‘*tt3‘.'%‘:‘:z"-‘:*tt‘:'£.".‘:'k$‘:'£':kt’£‘:**9:t3‘zt
`The following routine tests the microprocessor interface of
`the chip.
`It first writes and reads the first 6 registers.
`It
`then writes Is, Os, and an address pattern to the RAM, reading the
`data back and checking it.
`
`The test returns a bit significant error code vhere each
`bit represents the address of the registers that failed.
`
`= config register tailed
`air
`= control register failed
`Bit
`= status register failed
`Bit
`— ram access control register failed.
`Bit
`ram X address register failed
`Bit
`= ran Y address register failed
`Bit
`= data register failed
`air
`Bit 7 = checksum register failed
`at:itsttstttssittttttttttgtttkasttttttatttettsettttatséttts]
`
`adefine RAM_DEPTH 6h -
`
`l* number of long words in Fife Ram ‘I
`
`reg_expecred_nnra[6] = { 0x7F, OxFF, 0x00, 0x1F, 0x3F, OXJF ];
`
`char FIFO_nprocessor_interEace_test()
`I
`
`unsigned long test_data;
`char *register_addr;
`int i;
`-
`char j,error;
`FIFO1->con£ig = FIFO_RESET;
`error=D;
`register_addr =(char *) FIFOI;
`i=1;
`
`/* first test registers 0 thru 5 */
`
`/* reset the chip =/
`
`for
`
`[
`i++)
`i<6;
`(i-0;
`/* write test data */
`*register_addr = 0xFF;
`if (=register_addr != reg_expected_data[i]) error := j;
`*registcr_pddr - 0;-
`/= write Os to register */
`if (=register_addr) error £= j;
`
`Attorney Docket No.:AUSP7209
`HP!/WSW/AUSP/7209.001
`
`8/24/89-7
`
`Oracle Ex. 1002, pg. 617
`
`

`
`-131-
`
`/* write test data again */
`*register_addr - 0xFF;
`it (flregister_addr 1- reg_expecced_data[i]) error 1- j;
`FIFO!->config = FIFO_RESET;
`/* reset the chip */
`it (*regisrer;gddr) error := j; /* register should be 0 ‘I
`register_addr++;
`'/* go to next register */
`j <<-1;
`
`/* nou test Ram data & checksum registers
`test ls throughout Ram & then test Os */
`
`H
`
`'
`
`a
`
`test_data I= 1;
`
`test_data++)
`
`for (test_data = -1;
`for Is & Os */
`rm-‘o_1s_a1-rs ;
`FIFOI-)conf:'Lg — FII-‘O__RESET :
`FIFO!->contro).
`=- FIFO_PORT__A___'l'0__B;
`for (i=O;i<RAH_DEPTH;f++)
`FIFOI-)data = test_data;
`FIF01->contro1 - 0;
`for (i-=0;i<RAH_DEP'1‘H;i++)
`it (FIFO1->data l= tesr_data) error := j;
`_
`5 check data */
`'
`if (FIFO1~>checksum) error {= 0x80;
`should = 0 */
`)
`
`/* write data to RAH */
`
`/* read
`'
`
`* checksum
`
`/* new test Ram data with address pattern
`uses a different pattern for_every byte */
`
`/* address pattern start */
`test_data=0x00Ol0203;
`l-'IFO_16_BITS 1 FIFO_CARRY_W'R.AP;
`:
`FIFO!->canfig = FIFO_RESE'1‘
`FIFO!->contro1 = FIFO_P0RT_A_TQ_B } FIEO_CHECKSUM_ENABLE;
`for (i=O;i(RAM_DEPTH;i++)
`{
`FIFO1->data = test_data;
`test_data += 0x04640604;
`
`/* write address pattern */
`
`I t
`
`1* address pattern start */
`est_data=OxOOOl02D3;
`FIFO!->cnntro1 = FIEO_§HECKSUM_ENABLE;
`for (i=0;i<RAK_DEPTH;i++)
`[
`if (FIFO1->status != FIFO_DATA_IN_flAM)
`error £= 0x04;
`/* should be date in ten */
`if (FIFO!-)data != rest_dara) error := j;
`/* read &
`check address pattern */
`test_data +- 0x04040404;
`
`.
`
`.
`)
`if (FIFO1-)checksum != 0x0102) error {= 0x80;
`checksum of address pattern */
`-
`FIFO1—>conEig = FIFO_RESET I FIFO_l6_BITS ;
`wrap.*/
`FIF01->checksum = 0xFEFE;
`
`/* test
`
`/= inhibit carry
`
`/* writing adds to checksum */
`
`Attorney Docket No.:AusP7209
`W91/Usw/AUSP/7209.001
`
`8/2b/89-7
`
`Oracle Ex. 1002, pg. 618
`
`

`
`-132-
`
`if (FIFOI-)checksum) error :=0x80;
`if (FIFOI->scacus) error i- 03:01:;
`return (error);
`J
`
`/* checksum should be 0 */
`/“ Status Should be 0 */
`
`Attorney Docket No. :AUSP7209
`WP1/WSW/AUSP/7209.001
`
`-
`
`8/24/89.-7
`
`Oracle Ex. 1002, pg. 619
`
`

`
`CLAIMS
`
`095447/2
`
`_
`
`1.
`
`Network server apparatus for use with a data
`
`network and a mass storage dewice, comprising:
`
`an interface processor unit coupleable to said
`
`network and to said mass storage device;
`
`a host processor unit capable of running remote
`
`procedures defined by a client node on said network;
`
`means
`
`in said interface processor unit
`
`for
`
`satisfying requests from said network to store data
`
`from said network on said mass storage device;
`
`means-
`
`in said interface processor unit
`
`for
`
`satisfying requests from said network to retrieve data
`
`from said mass storage device to said network; and
`
`means
`
`in said interface processor unit
`
`for
`
`transmitting predefined categories of messages
`
`from
`
`said network to said host processor unit for processing
`
`in said host processor unit, said transmitted messages
`
`including all
`
`requests by a network client
`
`to run
`
`client-defined procedures
`
`on
`
`said network server
`
`apparatus.
`
`2.
`Apparatus according to claim 1, wherein said
`interface processor unit comprises:
`i
`a network control unit coupleable to said network;
`
`a data control unit
`storage device;.p

`a buffer memory;
`
`coupleable to "said massj
`
`Attorney Docket llo.: I AUSP720fi|CFIGBR/HSU
`usu/ausp/T209.claims
`
`Oracle Ex. 1002, pg. 620
`
`

`
`095447/2
`
`means
`
`in
`
`said
`
`network
`
`control‘ unit
`
`for
`
`transmitting to said data control unit requests from
`
`said network to store specified storage data from said
`
`network on said mass storage device;
`
`means
`
`in‘
`
`said
`
`network
`
`control
`
`unit
`
`for
`
`transmitting said specified storage data from said
`
`network to said buffer memory and from said buffer
`
`memory to said data control unit;
`
`means
`
`in
`
`said
`
`network
`
`control
`
`unit
`
`for
`
`transmitting to said data control unit requests from
`
`said network to retrieve specified retrieval data from
`
`said mass storage device to said network;
`
`means
`
`in
`
`said
`
`network
`
`control
`
`unit
`
`for
`
`transmitting said specified retrieval data from said
`
`data control unit to said buffer memory and from said
`
`buffer memory to said network; and
`
`means
`
`in
`
`said
`
`network
`
`control
`
`unit
`
`for
`
`transmitting said. predefined categories of messages
`
`from said network to said host processing unit for
`
`processing by said host processing unit.
`
`3.
`
`Apparatus according to claim 2, wherein said
`
`data control unit comprises:
`
`a storage processor unit coupleable to said mass
`
`storage device;
`
`.a file processor unit;
`
`means on said file processor unit; for translating
`
`said file system level storage requests from said
`
`Attorney nocket No.: Au$P7209McF/GER/usu
`usu/ausp/T209.claims
`
`-134-
`
`Oracle Ex. 1002, pg. 621
`
`

`
`095447/3
`
`network into requests
`
`to store data at
`
`specified
`
`physical storage locations in said mass storage device;.
`
`means on said file processor unit for instructing
`
`said storage processor unit
`
`to write data from said
`
`buffer memory into said specified physical storage
`
`locations in said mass storage device;
`
`means on said file processor unit for translating
`
`file system level retrieval requests from said network
`
`into requests to retrieve data_from specified physical
`
`retrieval locations in said mass storage device;
`
`means on said file processor unit for instructing
`
`said storage processor unit to retrieve data from said
`specified physical
`retrieval
`locations in said mass
`
`storage device to said buffer memory if said data from
`
`said specified physical
`
`locations is not already in
`
`said buffer memory; and
`
`means
`
`in
`
`said .storage
`
`processor unit
`
`for
`
`transmitting data between said buffer memory and said
`
`mass storage device.
`
`4,
`
`-Network server apparatus for use with a data
`
`network and a mass storage device, comprising:
`
`a network control unit coupleable to said network;
`
`a data »control unit
`
`coupleable to said mass
`
`storage device;
`
`a buffer memory;
`
`means for transmitting from said network control
`
`unit
`
`to said data control unit
`
`requests from said
`
`Attomey (Jacket 010.: AUSPTZDVNCFI/USU
`Hsulausp/7209.claims
`
`-135-
`
`Oracle Ex. 1002, pg. 622
`
`

`
`095447/2
`
`network to. store specified storage data from said
`
`network on said mass storage device;
`
`means for transmitting said specified storage data
`
`by DMA from said network control unit
`
`to said buffer
`
`memory and by DMA from said buffer memory to said data
`
`control unit;
`
`means for transmitting from said network control
`
`unit
`
`to said data control unit
`
`requests fro said
`
`network to retrieve specified retrieval data from said
`
`mass storage device to said network; and
`
`means
`
`for transmitting said specified retrieval
`
`data by DMA from said data control unit to said buffer
`
`memory and by DMA from said buffer uemory to said
`
`network control unit.
`
`5.
`
`Apparatus according to claim 1,
`
`for use
`
`further with a buffer memory, and wherein said requests
`
`from said network to store and retrieve data include
`
`file system level
`
`storage
`
`and retrieval
`
`requests
`
`respectively, and wherein said interface processor unit
`
`comprises:
`
`a storage processor unit coupleable to said mass
`
`storage device;
`
`a file processor unit;
`
`means on said file processor unit for translating
`
`said file system level storage requests into requests
`
`to store data at specified physical storage locations
`
`in said mass storage device;
`
`-136-
`
`Auorney Docket llo.: AUSPTZOOHCF/GBR/USU
`USU/ausp/7Z09.claims
`
`Oracle Ex. 1002, pg. 623
`
`

`
`095447/4
`
`means on said file processor unit for instructing
`
`said storage processor unit
`
`to write data from said.
`
`buffer memory into said specified physical storage
`
`locations in said mass storage device;
`
`means on said file processor unit for translating
`
`said file system level retrievablerequests into requests
`
`to retrieve data from specified physical
`
`retrievable
`
`locations in said mass storage ‘device;
`
`means on said file processor unit for instructing
`
`said storage processor unit to retrieve data from said
`
`specified physical
`
`retrievabflelocations in said mass
`
`storage device to said buffer memory if said data from
`
`said specified physical
`
`locations is not already in
`
`said buffer memory; and
`
`means
`
`in
`
`said
`
`storage
`
`processor
`
`unit
`
`for
`
`transmitting data between said buffer memory and said
`
`mass storage device .
`
`Oracle Ex. 1002, pg. 624
`
`

`
`095447/.2> '
`Networksezver apparatus for use with a data
`
`I
`
`_6.
`
`network, comprising:
`
`a network controller coupleable to said network t0
`
`receive incoming information packets over said network,
`
`said incoming information packets \ including certain
`
`packets which contain part or all of a request to said
`server apparatus, said request being in either a first
`
`or a second class of requests to said server apparatus;
`
`a first additional processor;
`
`an interchange bus different from said network
`
`coupled between said network controller and said first
`
`additional processor;
`
`means in said network controller for detecting and
`
`satisfying requests in said first class of
`
`requests
`
`contained in said certain incoming information packets,
`
`said network controller lacking means in said network
`
`controller for satisfying requests in said second class
`of requests;
`.
`.
`‘
`
`means in said network controller for detecting and
`
`assembling. into assembled requests,
`
`requests in said
`
`second class of
`
`requests contained in said certain
`
`incoming inf

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