throbber
U5006240458B1
`
`
`
`
`
`
`
`
`US 6,240,458 B1
`(10) Patent N0.:
`(12) Unlted States Patent
`
`
`
`
`
`
`
`(45) Date of Patent:
`May 29, 2001
`Gilbertson
`
`
`
`
`
`
`
`
`
`
`(54) SYSTEM AND METHOD FOR
`PROGRAMMABLY CONTROLLING DATA
`
`
`
`
`
`
`
`TRANSFER REQUEST RATES BETWEEN
`DATA SOURCES AND DESTINATIONS IN A
`
`
`
`
`
`
`
`DATA PROCESSING SYSTEM
`
`
`
`
`Inventor: Roger Lee Gilbertson, Minneapolis,
`
`MN (US)
`
`
`
`
`
`
`(73) Assignee: Unisys Corporation, Blue Bell, PA
`
`(Us)
`
`(75)
`
`
`
`
`
`
`
`
`6/1993 Webb, Jr. et a1.
`5,222,223 *
`9/1996 Guttag et 211.
`595609030 *
`~
`
`
`
`
`
`
`
`
`3/1999 Abriu ................................... 370/413
`5,881,065 *
`6,138,192 * 10/2000 Hausauer
`............................. 710/100
`
`
`
`
`
`
`
`* cited by examiner
`
`
`
`.
`
`
`
`
`
`
`
`
`
`
`Primary Examiner—Ario Etienne
`
`
`
`
`
`(74) Attorney, Agent, or Firm—Charles A. Johnson; Mark
`
`
`
`
`
`T~ Starr; Altera Law Group
`
`
`(57)
`ABSTRACT
`
`
`
`
`
`
`
`
`
`A system and method for selectively controlling the inter-
`
`
`
`
`
`
`
`
`face throughput of data transfer requests from request
`
`
`
`
`
`
`
`sources to request destinations. The system and method
`
`
`
`
`
`
`
`provide a manner in Which the flow of data transfer requests
`
`
`
`
`
`
`
`from request sources to request destinations are controlled.
`
`
`
`
`
`
`
`
`
`The data transfer requests from each of the request sources
`
`
`
`
`
`
`
`
`are temporarily stored for future delivery to its addressed
`
`
`
`
`
`
`
`
`request destination. Delivery of the stored data transfer
`
`
`
`
`
`
`
`
`requests to the addressed request destination is enabled
`
`
`
`
`
`according to a predetermined delivery priority scheme.
`
`
`
`
`
`
`
`
`
`Certain Stored data tranSfer requeStS are identified to be
`
`
`
`
`
`
`
`selectively suspended from being prioritized and delivered
`
`
`
`
`
`
`
`
`to the addressed request destination. The identified data
`
`
`
`
`
`
`
`
`transfer requests are suspended from delivery for a definable
`
`
`
`
`
`
`
`period of time. Upon expiration of the definable period of
`
`
`
`
`
`
`
`
`
`time, the suspended data transfer requests, as well as all
`
`
`
`
`
`
`
`
`
`other stored data transfer requests, are enabled for prioriti-
`
`
`
`
`
`
`
`zation and delivery in accordance With the predetermined
`
`
`
`delivery priority scheme.
`
`33 Claims, 14 Drawing Sheets
`
`
`
`
`
`
`
`( * ) N09963:
`
`
`
`
`
`
`
`
`
`Subjectto any disclaimer, the term Of this
`
`
`
`
`patent 15 extended or adjusted under 35
`
`
`
`U-S-C- 154(b) by0 days.
`
`
`
`
`
`(21) Appl. No.: 09/218,211
`
`
`
`
`
`(22)
`Flled:
`Dec. 22’ 1998
`
`
`
`
`
`
`(51)
`Int. Cl.7 ...................................................... G06F 15/16
`
`
`
`
`
`
`
`(52) us. Cl.
`.......................... 709/232, 709/233, 709/234,
`
`
`
`709/235; 710/39; 710/60
`
`
`
`
`
`
`(58) Field of Search ..................................... 709/234, 200,
`
`
`
`
`
`
`
`709/222, 252, 243, 207, 238, 235, 232,
`
`
`
`
`
`
`233’ 240; 710/263, 264, 244’ 112’ 116,
`
`
`
`
`
`
`
`39, 40, 52, 58—60; 711/150, 151; 370/395,
`
`414
`
`(56)
`
`
`
`
`References Cited
`
`
`
`
`
`U~S- PATENT DOCUMENTS
`1/1985 Agrawal et a1.
`4,493,021 *
`.
`
`
`
`
`5,136,718 *
`8/1992 Haydt .
`
`
`
`
`
`
`110
`
`
`O’
`
`/
`‘\
`
`\ \
`
`I
`
`130 >__
`I\_ _
`
`UNIT
`
`
`
`
`— —— _ .—
`
`.130_N_
`_ _ __ _
`
`
`UNIT
`
`
`
`
`
`
`
`UNIT
`
`
`
`
`
`UNIT
`
`
`
`
`____
`
`
`
`____
`
`
`
`
`
`
`
`‘\
`
`
`
`\‘
`
`
`
`
`
`
`
`
`
`
`
`
`__________________________________ ‘
`
`110A
`110B
`1100
`110D
`
`
`
`
`
`
`
`
`
`MEMORYSTORAGE
`MEMORYSTORAGE
`MEMORYSTORAGE
`MEMORY_TORAGE
`
`(MSU)
`(MSU)
`(MSU)
`_(SU)
`
`“a: .___-,_____1fl
`
`
`|fg!E=___1
`
`
`
`
`
`
`
`
`
`1308
`El 130D 130E
`"" " ‘“ iiii”"
`
`
`
`
`
`
`/
`PROCESSING
`120
`PROCESSING
`120B
`PROCESSING
`1200 _ROCESSING 120D\‘
`\\
`(POD)
`_POD) /(
`(POD)
`(POD)
`MODULE
`MODULE
`MODULE
`MODULE
`
`
`
`
`
`
`\\ ___ ____ _____ ___ _________ ____ ,’ 120
`
`
`150A
`1500
`150F
`15011
`1503
`1500
`150E
`150G
`,_— —_—— _——— ————— —— ————— ——— ———_ __-
`
`
`
`
`
`\__ ___ ____ _____ ___ _________ ____ __/\150
`INPUT/
`INPUT/
`INPUT/
`
`
`
`OUTPUT
`OUTPUT
`OUTPUT
`
`
`MODULE
`MODULE
`MODULE
`
`
`(I/O)
`(I/O)
`(I/O)
`
`
`
`
`/
`
`
`
`I
`
`l
`
`
`
`"
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`(l/O) ‘_____.___..._____—_____________._______
`
`OUTPUT
`
`MODULE
`
`(l/O)
`
`
`OUTPUT
`MODULE
`
`
`
`
`
`
`OUTPUT
`
`MODULE
`
`(l/O)
`
`
`
`OUTPUT
`
`MODULE
`
`(|/O)
`
`
`OUTPUT
`MODULE
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`SYMMETRICAL MULTIPROCESSING PLATFORM
`
`
`
`
`
`
`
`
`
`INTEL - 1007
`
`INTEL - 1007
`
`

`

`
`US. Patent
`
`
`
`
`May 29, 2001
`
`
`
`
`
`Sheet 1 0f 14
`
`
`
`US 6,240,458 B1
`
`cow
`
`
`
`Ea;
`
`5&8
`
`£802
`
`65
`
`\Io:0o:
`
`m._2n_0_>_
`
`02_mmm00mn_Oom—
`
`oz_mwm_00m_n_
`
`.69
`
`m._:n_0_>_
`
`680
`
`9:950
`
`m._3n_0_2
`
`\.5n_z_
`
`9:950
`
`3:002
`
`.5950
`
`53005.
`
`
`\9:n_z_\.5n_z_
`25;;
`
`9:950
`
`5:005.
`
`.5950
`
`5:005.
`
`.5950
`
`5:002
`
`
`
`>5n_z_\5n_z_
`
`_..GE
`
`
`
`
`
`EmOmbfin.Gz_mmm_00mn=._..5_>_._<0_m_._.m=>__>_>m
`
`\.5n_z_
`
`.5950
`
`5:002
`
`INTEL - 1007
`
`III-Er
`
` 5:825:820azammooEozammooE\IInIIIII\
`
`mfllumlllflmnl52
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`$565E052
`
`:2:
`
`5mg
`
`
`
` :2:wmoéoaEozwz\
`
`l
`
`/
`
`/
`
`IIII/0
`
`[a
`
`INTEL - 1007
`
`
`
`
`
`
`
`
`

`

`
`US. Patent
`
`
`
`
`May 29, 2001
`
`
`
`
`Sheetz 0f14
`
`
`
`US 6,240,458 B1
`
`
`
`#5sz
`
`
`$530
`
`30$:
`
`
`
`>m0_2m=>_
`
`
`mmhmDJO
`
`305;
`
`
`
`>IO_>_m=>_
`
`ImkaAD
`
`
`
`mmeDJO
`
`_IIIHHJJIII
`\_069_momZoEzoo
`
`
`<05.mwuflomkzoo
`
`€0szmmm
`
`IIIIKIIITNmIN
`
`l.Imwmmn—Dd.
`
`
`
`mwm
`
`>mO_>_m=>_
`
`Ens:
`
`m<mmmomo<2
`
`Dm¢m\_MDwDO
`
`_<._.<n_DOQL
`
`
`
`3N22m..62_
`
`
`
`
`
`
`
`32>::2:$5.05>mo_>m__>_
`
`
`
`
`
`
`N.OE
`
`INTEL - 1007
`
`INTEL - 1007
`
`

`

`US. Patent
`
`May 29, 2001
`
`Sheet3 0f14
`
`US 6,240,458 B1
`
`wwmmoo<
`
`6mm<._.<n_DOn_
`
`<._.<D00n—\wwmmDnE
`
`JOEFZOO20:02:“—
`
`._Om:.ZOO
`
`DOn.
`
`DmEéFéOn.
`
`wmmmoo<
`
`MDmDO
`
`._<Z_®_w
`
`<F<D00.“.
`
`MDMDO
`
`<h<o392
`
`6mm
`
`
`
`<20:05.\mmmm00<
`
`
`
`40520020.523
`
`405200
`
`:05.
`
`DOn_-O._.-Dm_2
`
`mmwmoo<
`
`MDwDO
`
`mDmDO
`
`050..
`
`
`
`mofimmhz.:02
`
`m.07.
`
`INTEL - 1007
`
`INTEL - 1007
`
`

`

`
`US. Patent
`
`
`
`
`
`May 29, 2001
`
`
`Sheet 4 0f 14
`
`
`
`US 6,240,458 B1
`
`
`
`mmflmmmmm
`
`<v.GE
`
`
`
`GZ__>__._.ZO_._.OZDn_\wmmmn_n_<AAlllméE
`
`55mmEmamm(l590EEG
`
`596590_9:K
`
`m.28?\
`
`ézgmwEnemaEaH
`
`5m8%5m8%r2:,M$sz
`oomm<<82:”E)
`
`E
`
`F338”.8“.
`
`
`
`55mm595mm52.8.".[New('590.555
`
`596V59?(8.“
`
`
`
`<<<<<<<<ézgmfié
`
`o;9mN
`
`
`
`m2».OE
`
`623:.<29AAIIIEE
`
`$2:
`
`INTEL - 1007
`
`INTEL - 1007
`
`

`

`US. Patent
`
`May 29, 2001
`
`Sheets 0f14
`
`US 6,240,458 B1
`
`#65
`
`m0<mwm§
`
`mDmDO
`
`0.00.—
`
`IOEHEEOS
`
`
`
`
`
`0.60..mamaom0<mmm§
`
`8m53<53880%men.02
`Emon;E8m3205So:
`
`FE9.25“.20mmm._<z_,.u_mn30:
`
`
`
`
`
`
`
`E.<n_<H<n_omooowo00m“.2.
`
`
`
`
`
`ozzbomD_._<><._.<D
`
`
`
`
`
`IIIIIIIVI0504mamSOmmmmonz
`
`m.9”.
`
`0.004
`
`<H<ommo<
`
`0mm0mm
`
`mmohm
`
`<._.<n_
`
`m0<mmm=2
`
`ozmm
`
`comm
`
`
`
`._<zw_m5m.30mmE.<o
`
`_
`
`
`
`669mazemmmmonz
`
`
`
`HmmDOm—m00m
`
`._<ZG_w
`
`mo<mmmooom—o
`
`omm
`
`INTEL - 1007
`
`INTEL - 1007
`
`
`
`
`
`
`
`

`

`
`US. Patent
`
`
`
`
`May 29, 2001
`
`
`
`
`Sheet 6 0f 14
`
`
`
`US 6,240,458 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ADDRESS LOGIC
`
`
`
`
`
`
`
`
`DETECT
`LOGW
`
`
`
`635A60'I-lrllil-l-_l635E
`I-l ll II68
`DATA-BEFORE--‘
`
`
`
`
`DECODED
`
`530A
`NF
`
`
`
`
`SIGNALS
`
`
`
`
`
`
`
`
`
`602
`
`
`
`LOGIC
`
`
`
`
`
`I DATA VALID
`
`I ROUTING LOGIC
`
`DATA
`POD
`
`
`
`
`REQUEST
`REQUEST
`MESSAGE
`
`
`
`
`INDICATOR
`SIGNAL
`SIGNAL
`
`
`5357-}— _______ __ ————— --—— ___ _
`304
`525
`530
`537
`26°C
`
`
`
`
`
`
`
`
`
`DATA\UUJDF¥3UTWK3LOGHC
`
`FIG. 6
`
`
`
`STORE-
`
`DATA
`INDICATOR
`
`
`
`INTEL-1007
`
`I I |
`
`I
`I
`
`INTEL - 1007
`
`

`

`US. Patent
`
`May 29, 2001
`
`Sheet7 0f14
`
`US 6,240,458 B1
`
` Booozw__I059_I28528_wfi‘i'o:__anE_.1.______
`
`
`
`“mmwuwm.wwmmogm:cm$5__ammo“:nmwuu__wizgm............__><mm< 10509052:55”.?onEmQE__8x2..__$9520:nuE._3x91gCE0:a:. Booozw.5E28__$2Eagafim__JoEzoomane20.52:”.32%8:652.52%So:dzo__wmmEEmwmmogE36528$55om__808mgEgoozm__><mm<mane
`E5@N:
`
`
`
`
`
`
`
`:oEmmEm_ma__wézgm__zo_5m_._m_mmane__><m¢<
`
`
`
`
`
`
`
`_
`
`
`
`_IIIIIIIIIIIIIIIIIIIIIIII.l__Iso_
`
`mmoouzwE
`
`
`
`060..m._<zo_mN.0_n_
`
`
`
`
`
`maze105$me$5.8.220592>32%“E22%
`
`
`«83m2m3m
`
`
`
`
`
`
`
`
`
`<H<ow._<zo_w“.2<._.<ommOHmowoOOmohwmzcm—m00m30:
`
`INTEL - 1007
`
`INTEL - 1007
`
`
`
`

`

`
`US. Patent
`
`
`
`
`May 29, 2001
`
`
`
`
`Sheet 8 0f 14
`
`
`
`US 6,240,458 B1
`
`
`
`
`
`
`
`m0<mo._.w>mOHomem0<mo._.m>mO._.omE_n_
`
`mag/EOE>mohomm=o
`
`
`wo<mo._.m>mo._,om_m_o
`
`><mm<
`
`><mm<
`
`
`
`><mm<><mm<
`
`
`
`<H<o._._.o\mo<<._.<o<._.<n_
`
`
`
`
`
`
`
`._._.o\mn_<<._.<Q
`
`mamzoazixm82mos
`
`
`
`
`
`<omwzo_wz<n_xm_:mE
`
`<omm
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`mo<mohw>mOpomm—Ewo<mOHm>mOHomEE
`
`
`
`><mm<><mm<
`
`8%zoazExm3m:88
`
`
`
`
`
`.................moak
`
`Comm
`
`
`
`zO_wz<n_Xm_392
`
`comm
`
`m0<mo._.m$5.5me
`
`
`wo<mo._.m£5.5me
`
`><mm<
`
`><mm<
`
`..85.\...
`
`
`
`._._.0ED<<._.<Q
`
`-____--_-----------—--—-----J
`
`
`----—-———-—————-————______---_--—_--__-_--_-—_—_--—-------—-_—---------—-———-----_-_-J
`
`
`
`
`......_-.——........—-------—J
`
`
`
`
`
`
`
`
`
`
`<._.<n_._._.o\mo<<._.<o<._.<o
`
`
`
`
`
`:05;$530E0552
`
`
`
`m.9“.
`
`INTEL - 1007
`
`INTEL - 1007
`
`
`
`
`
`
`
`
`
`
`
`

`

`US. Patent
`
`May 29, 2001
`
`Sheet 9 0f 14
`
`US 6,240,458 B1
`
`IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII|IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIUIIIIIIIIII
`
`
`
`mmkwao>mo_>_m_>_oo
`
`
`
`mmhmao>mo_>_m_2
`
`<mmm
`
`‘IIIIII'
`
`FEE._bn_z_
`
`
`
`mmamzo<20no;
`
`omam—:O<H<o00m
`
`.sz_
`
`m._._m>>
`
`0m:m:0
`
`
`
`m:._m>>m._._m>>
`
`vmam.:0om3m—:0
`
`vow
`
`mo<u_m_m_._.z_E
`
`meSO{53
`
`HowzzooEsz.
`
`o_wo._
`
`tum
`
`<5518m
`
`BEEF;
`
`mom
`
`m.9“.
`
`omm
`
`INTEL - 1007
`
`INTEL - 1007
`
`
`
`
`
`
`

`

`
`US. Patent
`
`
`
`
`May 29, 2001
`
`
`
`
`Sheet10 0f14
`
`
`
`US 6,240,458 B1
`
`
`
`m_I_m<mDO_n_ZOO
`
`
`
`>>O....._hwwDme
`
`EMIZOm—HZOO
`
`Z<OmO=2<Z>Q
`
`mooF
`
`
`
`2.0E
`
`om?
`
`meDOmm
`
`
`
`>>O._n_
`
`
`
`IOHmEmmOHw
`
`mDMDO
`
`
`
`
`
`memDOmwmZO_._.<Z_._.mm_D
`
`
`
`IO._.m_n_\mm—O._.w
`
`>._._m0_mn_
`
`
`O_GO._
`
`
`
`
`0:004mDMDO
`
`
`INTEL - 1007
`
`INTEL - 1007
`
`

`

`
`US. Patent
`
`
`
`
`May 29, 2001
`
`
`
`
`
`Sheet 11 0f 14
`
`
`
`US 6,240,458 B1
`
`
`
`1188 AB STRESS f “00
`HOLD [7:0]
`
`
`
`
`
`
`
`ngfgjfigs
`[
`-
`]
`
`
`
`
`
`
`1190
`
`
`I AB7
`STRESS
`
`
`HOLD
`
`I I :
`
`11511
`
`
`I
`AB S_TR_ESS
`ENABLE
`
`
`
`
`1104
`
`I
`
`m 1
`COUNTER
`9:0]
`“02
`
`1122 I
`
`
`:
`:
`I
`I____
`
`I
`I
`I
`1
`II 11124
`REGISTER
`I
`I
`
`1152
`
`1150
`I
`I
`I
`DECODER
`: [1134 1138
`
`
`
`
`
`
`
`
`_
`_ 1
`1MB"
`1146-:
`I
`1140-:Il
`d=b II 1136-:
`I]
`I
`' wo
`' W1
`1120” ABS I'
`. J ABO l
`A87
`
`
`l REG HI REG
`REG
`'l REG
`I REG
`I___' I___'l
`' L _'
`IL.
`
`__
`
`
`
`
`
`_
`
`
`
`FIG. 11
`
`INTEL - 1007
`
`INTEL - 1007
`
`

`

`
`US. Patent
`
`
`
`
`May 29, 2001
`
`
`
`
`Sheet 12 0f 14
`
`
`
`US 6,240,458 B1
`
`IDENTIFY DESTINATION RESOURCES
`
`
`
`
`
`
`
`
`
`
`
`
`CONFIGURE MODE REGISTERS FOR EACH
`
`
`
`DESTINATION RESOURCE
`
`
`
`
`
`
`
`
`
`SELECT MASKING WAVEFORM BASED ON
`
`
`
`
`CONFIGURED MODE FOR EACH
`
`
`
`DESTINATION RESOURCE
`
`
`
`REMOVAL ACTIVITY
`
`
`
`
`SELECT ONE OR MORE DESTINATION
`
`
`RESOURCES TO SUSPEND REQUEST
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`SUSPEND REQUEST REMOVAL ACTIVITY
`
`
`
`FOR SELECTED DESTINATION
`
`
`RESOURCES ACCORDING TO
`
`
`
`
`RESPECTIVE MASKING DUTY CYCLES
`
`
`
`
`
`
`1 200
`
`
`
`1 202
`
`
`
`1 204
`
`
`
`1 206
`
`
`
`1208
`
`
`
`
`FIG. 12
`
`INTEL - 1007
`
`INTEL - 1007
`
`

`

`
`US. Patent
`
`
`
`
`May 29, 2001
`
`
`
`
`Sheet 13 0f 14
`
`
`
`US 6,240,458 B1
`
`
`
`
`
`
`
`
`
`
`
`
`FIRST POD ASSIGNED TO ROUTINELY
`
`
`
`
`PERFORM LONG DATA TRANSFER
`
`
`
`
`OPERATIONS TO DESTINATION
`
`
`
`RESOURCE A INITIATES DATA
`
`TRANSFER
`
`
`
`
`
`
`
`
`
`1 300
`
`
`
`
`
`
`
`
`
`
`
`
`
`I/O MODULE
`
`
`
`ASSOCIATED WITH
`
`
`
`
`
`ENABLE FIRST POD TO
`
`
`
`
`SECOND POD INITIATE
`
`
`
`
`
`INITIATE ANOTHER DATA
`
`
`
`DATA TRANSFER TO
`
`
`
`
`TRANSFER
`
`DESTINATION
`
`RESOURCE A?
`
`
`
`
`
`
`
`
`
`
`
`
`I/O DATA
`,
`
`
`TRANSFER HAVE
`
`
`
`
`ASSOCIATED TIMEOUT
`
`
`
`RESTRICTION
`7
`
`
`
`
` 1 306
`
`
`
`YES
`
`
`
`
`
`
`
`DYNAMICALLY SCAN DESIRED
`
`
`
`MODE INTO PROGRAMMABLE
`
`
`REGISTER CORRESPONDING TO
`
`
`FIRST POD
`
`SELECTED MODE
`
`
`
`
`DISABLE FURTHER DATA
`
`
`
`
`TRANSFERS FROM FIRST POD TO
`
`
`DESTINATION RESOURCE A FOR
`PERIOD DESIGNATED BY
`
`
`
`
`
`
`FIG. 13
`
`
`1310
`
`INTEL - 1007
`
`INTEL - 1007
`
`

`

`
`US. Patent
`
`
`
`
`May 29, 2001
`
`
`
`
`Sheet 14 0f 14
`
`
`
`US 6,240,458 B1
`
`
`
`
`
`
`ENABLE A SELECTED ONE OF THE STORE/FETCH
`
`
`
`
`
`QUEUES TO INITIALIZE THE CORRESPONDING MSU
`
`
`
`
`PRELOAD A NUMBER OF STORE/FETCH REQUESTS
`
`
`
`INTO REMAINING STORE/FETCH QUEUES OF
`
`
`CORRESPONDING MSU
`
`
`
`
`
`
`
`
`SET INDEFINITE DATA TRANSFER BLOCK ON
`
`
`REMAINING STORE/FETCH QUEUES
`
`1 400
`
`
`
`1402
`
`
`
`1404
`
`
`
`
`
`START MSU CLOCKS
`
`
`
`1406
`
`
`
`
`EXECUTE MSU INITIALIZATION SEQUENCE
`
`
`
`
`
`
`
`
`
`
`DYNAMICALLY SCAN BLOCK RELEASE INTO PROGRAMMABLE
`
`
`
`
`REGISTERS CORRESPONDING TO DESTINATION RESOURCE OF
`
`
`
`REMAINING STORE/FETCH QUEUES
`
`1410
`
`
`
`1408
`
`
`
`
`
`
`
`RELEASE PRELOADED REQUESTS TO DOWNLINE MSU
`
`
`LOGIC STRUCTURES
`
`
`
`1412
`
`
`
`
`
`
`
`USER-DEFINED
`
`
`
`TIME PERIOD EXPIRE
`
`
`
`?
`
`
`
`
`
`
`
`
`
`YES
`
`
`
`
`
`STOP MSU CLOCKS
`
`
`
`
`
`
`
`ASCERTAIN MSU STATE
`
`
`
`NO
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`COMPARE ACTUAL MSU STATE TO
`
`
`
`EXPECTED MSU STATE
`
`FIG. 14
`
`1414
`
`
`
`
`
`1416
`
`
`
`1418
`
`
`
`
`
`
`
`1420
`
`
`
`INTEL - 1007
`
`INTEL - 1007
`
`

`

`
`
`US 6,240,458 B1
`
`
`1
`SYSTEM AND METHOD FOR
`
`
`
`PROGRAMMABLY CONTROLLING DATA
`
`
`
`TRANSFER REQUEST RATES BETWEEN
`
`
`
`
`DATA SOURCES AND DESTINATIONS IN A
`
`
`
`
`DATA PROCESSING SYSTEM
`
`
`
`CROSS-REFERENCE TO OTHER PATENT
`
`
`APPLICATIONS
`
`
`
`
`
`
`
`
`
`
`
`The following co-pending patent application of common
`
`
`
`
`
`assignee contains some common disclosure:
`
`
`
`
`
`
`
`“Multi-Level Priority Control System And Method For
`
`
`
`
`
`
`Managing Concurrently Pending Data Transfer Requests”,
`
`
`
`
`
`
`
`
`filed concurrently herewith with assigned Ser. No. 09/218,
`
`
`
`
`
`
`377, which in incorporated by reference in its entirety;
`
`
`
`
`
`
`
`“Transfer Request Selection Method And Apparatus For
`
`
`
`
`
`Symmetrical Multiprocessor Systems”, filed concurrently
`
`
`
`
`
`
`
`
`herewith with assigned Ser. No. 09/218,210, which is incor-
`
`
`
`
`
`porated by reference in its entirety; and
`
`
`
`
`
`
`
`“Queueing Architecture And Control System For Data
`
`
`
`
`
`Processing System Having Independently-Operative Data
`And Address Interfaces”, Ser. No. 09/096,822, filed Jun. 12,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`1998, which is incorporated herein by reference in its
`
`entirety.
`
`FIELD OF THE INVENTION
`
`
`
`
`
`
`
`
`
`
`This invention relates generally to data transfer request
`
`
`
`
`
`
`
`management in data processing systems, and more particu-
`
`
`
`
`
`
`
`
`larly to an interface and programmable interface control
`
`
`
`
`
`
`
`
`system and method for selectively providing, and control-
`
`
`
`
`
`
`
`
`
`ling the rate of, data transfer requests to destination
`
`
`
`
`
`
`
`
`resources, thereby providing the ability to manipulate data
`
`
`
`
`
`
`
`throughput under normal operating conditions, and to pro-
`
`
`
`
`
`
`vide a means for performing transaction processing testing.
`BACKGROUND OF THE INVENTION
`
`
`
`
`
`
`
`
`
`
`Data processing systems generally include multiple units
`
`
`
`
`
`
`
`such as processing units, memory units, input/output units,
`and the like, which are interconnected over one or more
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`system interfaces. The interfaces provide for the transfer of
`
`
`
`
`
`
`
`
`
`digital signals between the units. Since many of the opera-
`
`
`
`
`
`
`
`
`tions within data processing systems involve such transfers,
`
`
`
`
`
`
`
`
`
`the efficiency of the interfaces has a major impact on the
`
`
`
`
`
`
`overall performance of the data processing system.
`
`
`
`
`
`
`
`Many conventional interfaces used within data processing
`
`
`
`
`
`
`
`
`systems have several types of signal lines, including data
`
`
`
`
`
`
`
`
`
`lines for transferring data signals, and address lines for
`
`
`
`
`
`
`
`transferring address signals. The address lines generally
`
`
`
`
`
`
`
`
`
`provide information indicative of the type of request, and
`indicate a unit and/or a particular addressable
`further
`
`
`
`
`
`
`resource associated within the unit that is involved with the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`request. The data lines provide data signals which are
`
`
`
`
`associated with the request.
`
`
`
`
`
`
`
`
`
`Requests for data transfers may occur at a faster rate than
`
`
`
`
`
`
`
`
`the memory and associated cache coherency logic can
`
`
`
`
`
`
`
`sustain. A buffering technique may be used to queue such
`
`
`
`
`
`
`
`
`requests until they can be processed. However, the queuing
`function can sometimes result in inefficient and discrimina-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`tory request servicing.
`In some cases, one processor’s
`
`
`
`
`
`
`
`requests may be repeatedly processed, while another’s are
`
`
`
`
`
`
`
`left relatively unattended. In other cases, a processor having
`
`
`
`
`
`
`
`
`relatively few requests may needlessly tie up system
`
`
`
`
`
`
`resources by receiving unnecessary request service polls.
`
`
`
`
`
`
`
`
`These situations can reduce available request bandpass, and
`
`
`
`
`
`
`
`
`increase the probability of request stalling or request lock-
`
`
`
`
`
`
`
`
`
`out. To address this issue,
`the buffering technique may
`
`
`2
`
`
`
`
`
`
`
`
`include a priority scheme to output the data transfer requests
`
`
`
`
`
`
`
`according to a priority assigned to each of the data transfer
`
`
`
`
`
`
`
`
`requests. One priority scheme known in the art is known as
`
`
`
`
`
`
`
`
`a “fixed” request priority scheme. Each requester is assigned
`
`
`
`
`
`
`
`
`
`a fixed priority value, and requests are handled according to
`
`
`
`
`
`
`
`
`this associated priority value. Those requests having a high
`
`
`
`
`
`
`
`
`
`fixed priority value are always handled prior to those having
`
`
`
`
`
`
`
`relatively low priority values. Another request priority
`
`
`
`
`
`
`
`scheme is referred to as “snap-fixed”, where input request
`
`
`
`
`
`
`activity is continually or periodically polled. This results in
`
`
`
`
`
`
`
`a captured “snapshot” of the request activity at a given time.
`
`
`
`
`
`
`
`
`All of the captured requests are processed in a fixed order
`
`
`
`
`
`
`
`
`until all requests in the snapshot have been processed, at
`
`
`
`
`
`
`
`which time a new snapshot is taken. A “simple rotational”
`
`
`
`
`
`
`
`priority scheme involves changing the requester priority on
`
`
`
`
`
`
`
`
`
`a periodic basis. For example, the requester priority may be
`
`
`
`
`
`
`changed whenever a request is granted priority. Requester
`
`
`
`
`
`
`
`
`(N—1) moves to priority level (N), requester (N) moves to
`
`
`
`(N+1), and so forth.
`
`
`
`
`
`
`
`
`Regardless of the priority scheme used, there may be
`
`
`
`
`
`
`
`times when the implemented priority scheme inhibits execu-
`
`
`
`
`
`
`
`tion of a desired system operation. For example, testing of
`
`
`
`
`
`
`
`a complex multiprocessing system having multiple data
`
`
`
`
`
`
`
`
`transfer sources and multiple data transfer destinations can
`
`
`
`
`
`
`
`be incredibly complicated, particularly where test programs
`must be written to simulate transaction “stress” situations.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Such a transaction stress situation may occur during normal
`
`
`
`
`
`
`
`operation where some resources, like memory, are suddenly
`
`
`
`
`
`
`
`
`inundated with pending data transfer requests. When this
`
`
`
`
`
`
`
`
`occurs, memory response times may be reduced, causing the
`
`
`
`
`
`
`
`
`data transaction queues to fill. The requesting modules must
`
`
`
`
`
`
`
`
`
`be able to accommodate this situation to avoid queue
`
`
`
`
`
`
`
`overrun problems, and it is therefore important to be able to
`simulate and test
`these conditions. Further,
`the memory
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`resources must be able to manage and absorb the high
`
`
`
`
`
`
`
`
`volume of sudden request traffic and properly respond to the
`
`
`
`
`
`
`
`requesting modules. Again, these situations require thorough
`
`testing.
`
`
`
`
`
`
`
`In order to prepare test programs to simulate these stress
`conditions, a detailed knowledge of the entire hardware
`
`
`
`
`
`
`
`
`
`
`implementation would be required in order to predict the
`
`
`
`
`
`
`direct effect on system hardware produced by test program
`
`
`
`
`
`
`
`stimulus. The time, required resources, complexity and cost
`
`
`
`
`
`
`of preparing such test programs is prohibitive.
`It would therefore be desirable to provide an efficient
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`arrangement and method that allows data transfer request
`
`
`
`
`
`
`
`queues to be controlled, or “throttled”, by way of simple
`
`
`
`
`
`
`user-defined parameters. Implemented priority schemes can
`
`
`
`
`
`
`
`be maintained, but can be selectively bypassed to perform
`stress tests, or to accommodate peculiar situations which
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`might arise during normal operation. The present invention
`
`
`
`
`
`
`
`
`provides such a solution, and provides these and other
`
`
`
`
`
`
`
`advantages and benefits over the prior art.
`SUMMARY OF THE INVENTION
`
`
`
`
`
`
`
`
`
`
`The present invention relates to a system and method for
`
`
`
`
`
`
`
`selectively controlling the interface throughput of data trans-
`
`
`
`
`
`
`
`fer requests from request sources to request destinations,
`
`
`
`
`
`
`
`thereby providing the ability to manipulate data throughput
`
`
`
`
`
`
`
`under normal operating conditions, and to provide a means
`
`
`
`
`
`for performing transaction processing testing.
`In accordance with one embodiment of the invention, a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`method is provided for controlling the flow of data transfer
`
`
`
`
`
`
`
`requests from various request sources to various request
`
`
`
`
`
`
`
`destinations. Each data transfer request is a request for an
`
`
`
`
`
`
`
`addressed one of the request destinations to supply a data
`
`
`
`
`
`
`
`10
`
`15
`
`
`
`20
`
`25
`
`
`
`30
`
`35
`
`
`
`40
`
`
`
`45
`
`
`
`50
`
`
`
`55
`
`
`
`60
`
`
`
`65
`
`
`
`INTEL - 1007
`
`INTEL - 1007
`
`

`

`
`
`US 6,240,458 B1
`
`
`3
`
`
`
`
`
`
`
`
`segment to the requesting source. The data transfer requests
`
`
`
`
`
`
`
`
`
`from each of the request sources are temporarily stored for
`
`
`
`
`
`
`
`future delivery to its addressed request destination. Delivery
`
`
`
`
`
`
`
`
`of the stored data transfer requests to the addressed request
`
`
`
`
`
`destination is enabled according to a predetermined delivery
`
`
`
`
`
`
`
`
`priority scheme. Certain ones of the stored data transfer
`
`
`
`
`
`
`
`
`requests are identified to be selectively suspended from
`
`
`
`
`
`
`
`
`being prioritized and delivered to the addressed request
`
`
`
`
`
`
`
`
`destination. These identified data transfer requests are sus-
`
`
`
`
`
`
`
`
`pended from delivery for a definable period of time. During
`
`
`
`
`
`
`
`
`this time, the destination addressed by the suspended data
`
`
`
`
`
`
`
`
`
`transfer requests will not receive any of these requests. Upon
`
`
`
`
`
`
`
`
`
`expiration of the definable period of time, the suspended
`
`
`
`
`
`
`
`
`data transfer requests, as well as all other stored data transfer
`
`
`
`
`
`
`
`
`requests, are enabled for prioritization and delivery in accor-
`
`
`
`
`
`
`
`dance with the predetermined delivery priority scheme. In
`
`
`
`
`
`
`
`
`
`this manner, the suspended data transfer requests will gain
`
`
`
`
`
`
`
`
`priority during the period of suspension, and will thereafter
`
`
`
`
`
`
`
`be provided to the destination according to their respective
`
`priorities.
`In accordance with another embodiment of the invention,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`a method is provided for controlling the flow of data transfer
`
`
`
`
`
`
`requests during normal system operations of a multiprocess-
`
`
`
`
`
`
`
`
`
`ing computing system that has multiple request sources that
`
`
`
`
`
`
`
`provide data transfer requests to multiple request destina-
`
`
`
`
`
`
`
`
`tions. The data transfer requests are prioritized according to
`
`
`
`
`
`
`
`
`a predetermined request dispatch priority scheme. Each data
`
`
`
`
`
`
`
`
`
`transfer request is a request for an addressed one of the
`
`
`
`
`
`
`request destinations to supply a data segment to a respective
`
`
`
`
`
`
`
`one of the request sources. The method includes periodically
`
`
`
`
`
`
`
`performing first data transfer operations between a first
`
`
`
`
`
`
`
`request source and a targeted request destination. A second
`
`
`
`
`
`
`
`data transfer operation is initiated between a second request
`
`
`
`
`
`
`
`
`source and the targeted request destination, wherein the
`
`
`
`
`
`
`
`
`second data transfer operation is subject
`to a response
`timeout
`limitation. The first data transfer operations are
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`suspended for a user-defined period upon recognition of
`initiation of the second data transfer operation, and the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`second data transfer operations are enabled during the
`
`
`
`
`
`
`
`user-defined period. Upon expiration of the user-defined
`
`
`
`
`
`
`
`
`
`
`period, both the first and second data transfer operations are
`
`
`
`
`
`
`
`enabled in accordance with the predetermined request dis-
`
`
`
`patch priority scheme.
`In accordance with yet another embodiment of the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`invention, a method is provided for controlling the flow of
`
`
`
`
`
`
`
`data transfer requests during offline testing of a multipro-
`
`
`
`
`
`
`
`cessing computing system having a plurality of request
`
`
`
`
`
`
`
`
`sources capable of providing data transfer requests to a
`
`
`
`
`
`
`
`plurality of request destinations in accordance with a pre-
`
`
`
`
`
`
`
`determined request dispatch priority scheme. The multipro-
`
`
`
`
`
`
`
`cessing computing system including a main storage unit
`
`
`
`
`
`
`
`
`having multiple data transfer queues that operate in parallel
`
`
`
`
`
`
`
`
`
`to temporarily store the data transfer requests from the
`
`
`
`
`
`
`
`request sources to the request destinations. The method
`
`
`
`
`
`
`
`
`
`includes selecting a first of the plurality of data transfer
`55
`
`
`
`
`
`
`
`
`queues to initialize the memory in the main storage unit. A
`number of known data transfer requests are loaded into
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`second ones of the plurality of data transfer queues, wherein
`
`
`
`
`
`
`
`
`the second ones of the data transfer queues comprise at least
`
`
`
`
`
`
`
`
`
`one of the remaining ones of the data transfer queues not
`
`
`
`
`
`
`
`selected to initialize the memory. Data transfer operations
`
`
`
`
`
`
`
`
`
`are prohibited from the second data transfer queues for a
`
`
`
`
`
`user-defined period. A memory initialization sequence is
`executed via the first data transfer queue. The data transfer
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`operations are enabled from the second data transfer queues
`
`
`
`
`
`upon expiration of the user-defined period.
`In accordance with another aspect of the invention, a data
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`transfer request interface circuit is provided for use in a
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`60
`
`65
`
`
`4
`
`
`
`
`
`
`least one
`multiprocessing computing system having at
`
`
`
`
`
`
`
`
`request source to provide data transfer requests to at least
`
`
`
`
`
`
`
`one request destination. The interface circuit
`includes a
`
`
`
`
`
`
`
`queuing circuit coupled to each of the request sources to
`
`
`
`
`
`
`
`
`receive and temporarily store the data transfer requests. A
`
`
`
`
`
`
`
`
`
`priority logic circuit is coupled to the queuing circuit to
`
`
`
`
`
`
`
`
`prioritize a sequence by which the stored data transfer
`
`
`
`
`
`
`
`
`
`requests are output from the queuing circuit. The priority
`
`
`
`
`
`
`logic operates in accordance with a predetermined priority
`
`
`
`
`
`
`
`algorithm. A masking register is coupled to the priority logic
`
`
`
`
`
`
`
`circuit to mask predetermined stored data transfer requests
`
`
`
`
`
`
`
`
`
`from being considered by the priority logic circuit
`in
`
`
`
`
`
`
`
`response to a masking signal pattern provided to the mask-
`
`
`
`
`
`
`
`
`
`ing register. In this manner, the predetermined ones of the
`
`
`
`
`
`
`
`
`
`stored data transfer requests are retained in the queuing
`
`
`
`
`
`
`
`
`
`circuit while the remaining stored data transfer requests are
`
`
`
`
`
`
`
`
`allowed to be prioritized and output from the queuing
`
`
`
`
`
`
`circuit. A configurable request flow controller is coupled to
`
`
`
`
`
`
`
`
`the masking register to generate the masking signal pattern
`
`
`
`
`
`
`in response to user-defined parameters. The user-defined
`
`
`
`
`
`
`
`
`parameters define at least which of the stored data transfer
`
`
`
`
`
`
`
`
`requests are to be masked by the masking register, and the
`
`
`
`
`
`
`
`
`
`
`duration to which the masking signal pattern is to be
`sustained.
`
`
`
`
`
`
`
`
`Still other objects and advantages of the present invention
`
`
`
`
`
`
`
`
`
`will become readily apparent to those skilled in this art from
`
`
`
`
`
`
`
`the following detailed description. As will be realized, the
`
`
`
`
`
`
`
`invention is capable of other and different embodiments, and
`
`
`
`
`
`
`
`
`its details are capable of modification without departing
`
`
`
`
`
`
`
`
`
`from the scope and spirit of the invention. Accordingly, the
`
`
`
`
`
`
`drawing and description are to be regarded as illustrative in
`nature, and not as restrictive.
`
`
`
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`
`
`
`The invention is described in connection with the embodi-
`
`
`
`
`
`
`
`
`
`
`
`ments illustrated in the following diagrams.
`
`
`
`
`
`
`FIG. 1 is a block diagram of a Symmetrical Multi-
`
`
`
`
`
`
`Processor (SMP) System Platform in which the principles of
`
`
`
`
`
`the present invention may be applied;
`FIG. 2 is a block diagram of one embodiment of a
`
`
`
`
`
`
`
`
`
`
`Memory Storage Unit (MSU);
`FIG. 3 is a block diagram of bi-directional MSU Interface
`
`
`
`
`
`
`
`
`
`
`
`(MI) and associated interface control logic;
`
`
`
`
`FIG. 4A is a timing diagram of a POD-to-MSU address
`transfer;
`
`
`
`
`
`
`
`FIG. 4B is a timing diagram of a POD-to-MSU data
`transfer;
`
`FIG. 5 is a block diagram of one embodiment of the
`
`
`
`
`
`
`
`
`
`Address Queue Logic;
`FIG. 6 is a block diagram of one embodiment of the Data
`
`
`
`
`
`
`
`
`
`Valid Routing Logic;
`FIG. 7 is a block diagram of one embodiment of the
`
`
`
`
`
`
`
`
`
`Store/Fetch Queue Logic;
`FIG. 8 is a block diagram of one embodiment of a
`
`
`
`
`
`
`
`
`
`
`
`
`
`Memory Cluster depicting the various destination resources
`contained therein;
`
`
`FIG. 9 is a block diagram of one embodiment of an MSU
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`illustrating the availability of PODs being the resource
`destination;
`
`
`
`
`
`
`
`
`FIG. 10 is a block diagram illustrating one manner of
`
`
`
`
`
`
`
`configurably controlling the flow of data transfer requests to
`particular destination resources in accordance with the
`
`
`
`
`
`
`
`
`
`present invention;
`
`
`
`
`
`FIG. 11 is a schematic diagram illustrating one embodi-
`
`
`
`
`
`ment of a Configurable Request Flow Controller in accor-
`dance with the present invention;
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`INTEL - 1007
`
`INTEL - 1007
`
`

`

`
`
`US 6,240,458 B1
`
`
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`5
`
`
`
`
`
`
`
`FIG. 12 is a flow diagram illustrating one embodiment of
`
`
`
`
`
`
`
`
`
`a method for programmably controlling the flow of data
`
`
`
`
`
`
`
`transfer requests in accordance with the present invention;
`
`
`
`
`
`
`FIG. 13 is a flow diagram of an example procedure used
`
`
`
`
`
`
`
`
`during normal operation of the system using the principles
`
`
`
`
`
`of the present invention; and
`
`
`
`
`
`
`FIG. 14 is a flow diagram of an example procedure used
`
`
`
`
`
`
`
`
`during offline testing of the system using the principles of
`
`
`
`the present invention.
`DETAILED DESCRIPTION OF THE
`
`
`ILLUSTRATED EMBODIMENTS
`
`
`
`
`
`
`
`
`
`Generally, the present invention provides a system and
`
`
`
`
`
`
`
`
`method for controlling the throughput of data transfer
`
`
`
`
`
`requests through a source-to-destination interface. The
`
`
`
`
`
`
`invention provides programmable control of the removal of
`
`
`
`
`
`
`
`data transfer requests from queuing structures to destination
`
`
`
`
`
`
`
`
`resources such as memory, and further provides for control
`
`
`
`
`
`
`
`
`
`
`of the rate at which requests are removed from the queuing
`
`
`
`
`
`
`structures, including a complete suspension of data transfers
`
`
`
`
`
`
`
`for a user-defined period. Control of request removal rates is
`
`
`
`
`
`
`
`dynamically configurable, allowing flexibility and ease of
`
`
`
`
`
`
`
`
`use. The present invention facilitates stress testing of both
`
`
`
`
`
`
`
`
`the requester and request receiv

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