throbber
US007190234B1
`
`C
`(12; Umted States Patent
`Dye et al.
`
`am Patent No.:
`(45) Date of Patent:
`
`US 7,190,284 B1
`Mar. 13, 2007
`
`(54) SELECTIVE LOSSLESS, LOSSY, OR NO
`CTOMPRESSION OF DATA BASED ON
`
`4.881.025 A
`4.903.317-" A "
`
`ll.-‘I989 Wang
`231990 Nishihztra el al.
`
`.
`
`
`
`341.-“S7
`358.-1.9
`
`1.-Z1991 Leveritc ct al.
`::i:z3:
`t!.:::::::::::~
`6:199; Whnlng CH1‘
`8-1992 Yoshtda et a].
`el Ell‘
`
`..
`
`.
`
`T0].-"35
`
`395.-‘"888
`
`I
`
`711.444
`395.6250
`
`358426
`
`358.-'468
`
`341-"51
`
`3.8.. U
`" ’
`‘
`370.-"230
`
`1
`
`A])[)R[4jss RAN(:[1j, |)A'1‘A '|'Yp14j, AN|),r()|{
`
`(76)
`
`( “ ] Notice:
`
`Inventors: Thomas A. Dye, 6621 Candle Ridge
`.
`.
`LOVe, A1lSt1l'1_. TX
`Manuel
`J. Alvarez, II. 8800 Pepper Rock l)r..
`Austin. TX (US) 78717: Peter Geigelfi
`10407 Treasure Island Dr._. Austin. TX
`(US) 78730
`Stlhjccl-10 ally disclaimer. the term oflhis
`patent is extended or E:lC1_]llS1.CC1 under 35
`I
`I
`I
`5
`I
`USC 1 4(1)) by Odays
`
`_
`(211 Al’p1‘N“" "9’239°659
`.
`(223 F‘l"d'
`
`J3“-211999
`Related U-S- A1JP“I==Ifi0n Data
`(63) Continuation—in—part of application No. 081916.464.
`)
`.
`filed o11Aug. 8. 1997. now 1 at. No. 6.173.381. Wl]lC11
`is a continuation-in-palll of applicalioll No. (187465.
`106. filed on Jan. 5, 1925, now abandoned. winch IS
`a cont1nuat1on—1n—part of application No. 081340.667.
`filed on Nov. 16, 1994. now Pat. No. 6.002.411.
`
`(51)
`
`Int, C],
`H0334’ 7/30
`Sow/av
`(52) U.S.(.‘l.
`
`(200601)
`<2oo6~on
`34];‘5];34lf87:7l()i’68:
`7111470; 3821232; 382E233-,382f244
`Field of Classification Search
`3827232.
`382a"2?-3.244; 710.168; 7097247; 341151.
`341187; 7l].u"l70
`Sec application 1111:: for complete SL“dDCl'l history.
`
`(58)
`
`(56)
`
`References Cited
`
`U-3' PATENT DOCUMENT5
`_
`319?? Bryant {:1 31.
`8.71987 Cotton et al.
`10.’1989 Storer
`
`4.008.450 :'\
`4.688.108 A
`4.876.541 A
`
`_
`395.5463
`358."261.1
`
`4.987.541 A *
`:~2‘::333:
`5'l26'739 A
`5.136.289 A
`A
`g,-1992 (1...
`5'l50‘430 A
`10.-"I992 Chambers. [V
`5.155.484 A
`8-"1993 Miller ct al.
`5.237.460 A
`gagntln. Jr.
`«Q
`’ non ct .1.
`.
`
`E;-'»)1:I'11lI'Il1 01 «'l1-
`2: *
`_”5{S‘_m
`-
`631994 Bird
`;;'32S'fi9? A *
`.
`.-
`_..
`..
`8-‘"1994 Garner
`365-"189.U1
`5.337.275 A
`10-"1994 Graybill
`5.353.024 A
`10.41994 Malmny el al.
`5.353.425 A
`10.-‘"1994 Pattisam ct .11.
`5.357.614 A
`12.-1994 Graybill ctal.
`5.371.499 A
`1.91995 St
`5.379.036 A
`2.-1995 seizfiissi el :11.
`5.339.922 A
`3,1995 ”a“5°l'm“
`5'39("343 A
`431995 Grayblll el al.
`5.406.278 A
`4..m9_.) Andaman cl :1]
`_.) 406 279 A
`1995 Glovcli.
`[1429 A
`5.1995 Whiting CH1‘
`5'414_435 A
`5.-' I995 Whiting
`5.414.850 A
`5.-"1995 Wegcng et al.
`5.420.696 A
`6.-“I995 Chambc1"s.IV
`5.426.729 A
`1071995 Slivka el al.
`5.455.577 A
`10.91995 C1'I£I:ll:'l1'J8fS.1\"'
`5.455.943 A
`27:39:22 5:: 5
`:.'4.I9‘,m A .
`15.199" C " h .
`_.
`5'435'525 A
`“.992 .-.2212: cl 7""
`5_493_.593 A 4
`231995 suzukic-(31.
`5.506.580 A
`4.91996 Whiting elal.
`5.510.840 A
`4.-"1996 Yonemilstl elal.
`5-535-.932 A
`5-11995 Chfiflg 01 5|]-
`5.526.363 A
`6.91996 Weiss el :11.
`5.532.693 A
`7..-‘I996 Winters et al.
`5.532.694 A
`7".-"1996 Mayors et al.
`5.539.865 A 5
`"L-"1996 Gentile
`5.548.742 A
`8.-"1996 Wang el al.
`5 553 [60 A an
`()__.-lggfi Dawson
`5__559_973 A
`9.91995 spno
`5.563.595 A
`10.31996 Strohacker
`
`358.-"L16
`711.5128
`353|l.'426‘02
`711,.-Q03
`341.5106
`
`
`
`APPLE 1009
`
` 1
`
`APPLE 1009
`
`1
`
`

`

`5.572.206 A
`5.577.248 A
`5,584.008 A
`5,590,047 A *
`5.602.976 A "‘
`5.606.428 A
`5,621,403 A
`5.625.712 A *
`5,627,995 A
`5,652,878 A
`5.696.912 A
`5,724,582 A ’°
`5,729.228 A
`5.771.011 A
`5.778.255 A
`5,793,937 A ’“
`5.798.718 A
`5.812,817 A
`5,828,877 A
`5.836.003 A
`5.838,334 A
`5,847,762 A *
`5.852.742 A "‘
`5.874,908 A
`5.877.711 A
`5,883,588 A
`5.933.104 A
`5.936.560 A
`5.945.933 A
`5.956.372 A
`5.961,617 A *
`5.973.630 A
`6.002.411 A
`6,002,814 A *
`6.067.098 A
`6,145,069 A
`6.l70,047 B1
`6.173.381 131
`6,198.850 B1‘
`6.208.273 B1
`6.292.194 131*
`6.333.745 B1
`200450017483 A1‘
`
`1151996 Miller et al.
`1151996 Charrlbers. IV
`12.51996 Shimadaet a.l.
`1251996 Uehara
`251997 Cooper :31 al.
`2.51997
`l'1a.nselI11a.n
`4.51997 Reznik
`4.51997 Schocnzcit ct al.
`551997 Miller et :11.
`7.51997 Craft
`1251997 Bicevskis et al.
`351998 Pelanek et a1.
`3.51998 Franaszek et al.
`6.51998 Mascnas
`7.51998 Clark el al.
`8.51998 Chara et a1.
`851998 lladady
`951998 llovisctal.
`10.51998 Pearce et :11.
`11.51998 Sarleh
`11.51998 Dye
`12.51998 Canfield et al.
`12.51998 \5bru1r:1net:t1.
`251999 Craft
`3.51999 Craft
`3.51999 Ukamura
`8.51999 Kimura
`8.51999
`Iliguchi
`8.51999 Kalkstein
`951999 Va.I1'Ian el :11.
`1051999 Tsang
`1051999 lleath
`
`1251999 Dye
`1251999 Chadez
`552000 Dye
`1152000 Dye
`152001 Dye
`1.52001 Dye
`352001 Banlon
`352001 Dye
`9.52001 Powell. 111
`1252001 Shimomura et al.
`152004 Kitsugi el al.
`
`
`
`395-"497.04
`395.5670
`
`3755240.15
`71051
`
`710.5100
`
`3455521
`358.5l.l5
`
`358542602
`
`236.592 B
`
`348520799
`
`l5ORl'€l(}N PA'l‘l'lN'l‘ I)O('_‘.UMl"lN'l‘S
`
`EP
`JP
`W0
`
`0 702 457
`05204747 A ’“
`95.5 19662
`
`351996
`8.51993
`7.51995
`
`OTHER PUBLICATIONS
`
`Brenza. “Synonym Avoidance Cache.“ IBM Technical Disclosure
`Bulletin. vol. 34. No. 1. Jun. 1991. pp. 377-381.
`International Search Report tor Application No. PC'T5US 00.502355.
`mailed Jun. 16. 2000.
`U.S.App1. No. 08.5463.106. filed Jun. 5. 1995. Dye.
`
`US 7,190,284 B1
`Page 2
`
`711.5114
`700.5214
`35851.15
`3585404
`
`
`
`375.-5240.05
`
`U.S. Appl. No. 605144.125. filed Jul. 16. 1999. Dye.
`US. Appl. No. 095491343. filed Jan. 26. 2000, Dye.
`U.S, Appl. No. 095818283. filed Mar. 27, 2001, Dye.
`Yabe ct al., Compression5Dccompression DRAM for Unified
`Memory Systems: A 16 M11. 200l\-'11-1'/.. 90°/o to 50% Graphics-
`Ba.ndwidl.h Reduction Prototype. IEEE 1998 So1id—Sla.le Circuits
`Conference, Feb. 1998. pp. 342-343.
`Kjclso ct al.. Design and Performance of a Main Memory Hardware
`Data Compressor. Etlrohdiero 96 Conference. lEF,F.. %p. 1996. pp.
`423-430.
`
`3955308
`3825232
`
`” cited by examiner
`
`Primary Exam5rzer—H0ng Kiln
`
`35851.16
`
`(57)
`
`ABS'1"RAC’1‘
`
`An integrated memory controller (IMC) including Memo-
`ryF5X Technology which includes data compression and
`decompression engines for
`improved performance. The
`memory controller (IMC) oftlie present invention preferably
`selectively uses a combination of losslcss,
`lossy, and no
`compression modes. Data transfers to and from tl1e inte-
`grated memory controller of the present invention can thus
`be in a plurality of formats,
`these being compressed or
`normal [non-compressed), compressed lossy or lossless, or
`compressed with a combination of lossy and lossless. The
`invention also indicates preferred methods for specific C0111-
`pression and decompression of particular data formats such
`as digital video, 31) textures and image data using a com-
`bination of novel lossy and lossless compression algorithms
`in block or span addressable formats. To improve latency
`and reduce perfomtance degradations normally associated
`with compression and decompression techniques.
`the
`Memorylifx Technology encompasses multiple novel tech-
`niques such as: 1) parallel lossless comp1'ession5deI:ompres-
`sion; 2) selectable compression modes such as lossless.
`lossy or no compression; 3) priority compression mode; 4)
`data cache teclmiques; 5) variable compression block sizes;
`6) compression reordering; and 7) unique address transla-
`tion. attribute, and address caches. The parallel compression
`and decompression algorithm allows high-speed parallel
`compression and high speed parallel decompression opera-
`tion. The IMC also preferably uses a special memory
`allocation and directory technique for reduction oftable size
`and low latency operation. The integrated data compression
`and decompression capabilities of the IMC remove system
`bottle—necks and increase performance. This allows lower
`cost systems due to smaller data storage, reduced bandwidth
`requirements. reduced power and noise.
`
`16 Claims, 34 Drawing Sheets
`
`2
`
`

`

`m
`
`43%6.2%m.90.,F.l
`
`U.S. Patent
`
`Mar 13, 2007
`
`Sheet 1 of 34
`
`w.1,S
`
`U|IIImagQIas
`o<oo__§<$302uaofimxo:EaEm_._
`
`
`
`gmn_w<.._on_
`
`BF
`
`Emimgm0:
`
`_m__eEoo
`
`
`
`
`
`.v_._.roam:Exammemi
`
`4. i3
`3%E228
`
`«o..rasamE3
`
`Q3.<m%_.m5522o:.
`
`
`
`aoEm_2Emfiam
`
`3
`
`
`
`

`

`U.S. Patent
`
`mM
`
`7.H
`
`M
`
`US 7,190,284 B1
`
`M<o
`
`7.2;
`5HI
`.|<MI:N3E6982>9:L
`
`Nmm
`
`m:.asO:
`
`<0
`
`
`
`mass._u._mo§mx
`
`.3EaEm:
`
`
`
`H,o<n_o_u=<o:gems.E2m>m
`
`
`
`
`
`20E280< E§
`
`«ll..we3:33
`
`4
`
`
`

`

`U.S. Patent
`
`Mar. 13, 2007
`
`Sheet 3 of 34
`
`Us 7,190,284 B1
`
`
`"582>_£_m_oE58won82>_m__2Eooroams."3aoemz
`
`
`
`
`:o_m._m>:ouv_uo_mfimfismz£5,QE.
`
`QwH2\m_0m__
`
`m,atM.......................................................................................J
`
`meam_m.oo._
`
`
`
`"3$356_8o._
`
`Q__mEm:m_EEma2___.
`
`5252wo__5<
`
`Emaxflzm
`
`am
`
`
`
`roam:E226
`
`o:
`
`5
`
`
`
`
`
`

`

`U.S. Patent
`
`mM
`
`m
`
`M.m.4.H
`
`US 7,190,284 B]
`
`o:
`
`Vat
`
`.—dm.
`
`
`
`
`
`:5:o_mmoaE8mn_M...coammaeoo_m__Ema
`
`m_|fi
`
`o_mo._
`
`momtmE_
`
`7.boEmEQm280983
`
`:o_m.o,maEoo
`
`HE:_2=_8
`
`Qua
`
`
`
`_.N_8EooE.mmm=.wmm
`
` _.___IIIIIIIII_IIIIIIIIIII
`
`6
`
`
`
`
`
`
`

`

`U.S. Patent
`
`mM
`
`-5.whS
`
`M..m,
`
`SU
`
`284 B1
`
`mama-m.,25-3.m59.3-._
`
`anmm._.-H
`
`QWH:9.E,_2<mn_
`
`255
`
`%B__2Eoo
`
`co_m8aEo8n_
`
`coammaeoo
`
`%c
` eoo mcacm
`$8..
`Bmsmcm
`_I@_!__
`
`S
`
`mat
`
`7
`
`
`

`

`U.S. Patent
`
`Mar. 13, 2007
`
`Sheet 6 of 34
`
`Us 7,190,284 B]
`
`ogem
`
`Ema=a:_
`
`omam
`
`8
`
`

`

`U.S. Patent
`
`Mar. 13, 200?
`
`Sheet '.+' of 34
`
`US 7,190,234 B1
`
`Parallel Compression
`
`Maintain a history table
`comprising entries
`&
`
`M
`
`Maintain a current count of prior
`matches for each entry in the
`history table
`
`Receive Uncompressed data
`fl
`
`Compare a plurality of symbols with
`each entry in the history table
`
`fl
`
`
`
`Determine match information for each
`of the plurality of symbols based on
`the current count and compare results
`
`an
`
`
`
`Output compressed data in response
`to the match! finformation
`:4_
`
`Fig. 7
`
`9
`
`

`

`U.S. Patent
`
`Mar. 13, 2007
`
`Sheet 3 of 34
`
`Us 7,190,284 B1
`
`
`
`aouc__am&v.2m_I2macaw:
`
`
`
`iou:§flu_m_I2gsému$8ae8.52.42a_$am=_=_m=._mm%_.__n_..._2_E..w$335,0052.4
`
`
`
`
`
`
`
`Esonm._m__m_3:__..._mEB+_mn_9:.
`
`=ozm:ma__:owmm.So§__m.:mmWl
`
`
`5.225E38_B.§m38$22.2550swamo._:_3.8uommeaeoo
`
`m8_$.n_32:0
`
`3.3.585so_§ms:moma.:um_mmmm
`
`
`
`ens28Qo_oaEmE22:gems.m:o_>$n_m:_u=_oc_
`ma..flma
`
`I
`———————---------___________..----.,______________j
`
`_3e_,m53.330
`
`u$$._n_E85
`
`mm
`
`
`
`Qcm.,___o_..._.__z...Ema£__.__.
`
`am
`
`
`
`
`
`_3E.$_=&_Emam._mn_Eoo
`
`_3§m.330
`
`ummmmaE8_.5
`
`fl
`
`mm33.
`
`m§:_._oo=438¢m=o_.§n_53:0
`
`
`
`cam2£5m=...n_uwmmmaeou
`
`=_m_on_..§m
`
`.....:2mE93
`
`mm
`
`§o__§n_
`
`$2.222
`
`me,
`
`mm;
`
`
`
`m_on_ExwEn3._m._.5oommmQu:_
`
`3%
`
`10
`
`10
`
`
`
`
`
`
`
`
`
`
`
`
`
`

`

`m4
`
`x.mQat
`
`U.S. Patent
`
`u
`
`M.m9WWm
`
`anSU
`
`M8_...m_EE22E29208285008
`
`._mE=ooDbEm_
`
`ma
`
`v_mm_239:0
`
`E8033:0
`
`gamma
`
`gco__m_8_mo
`
`
`
`EEm_m8_>....:n:5
`
`
`
` m:_m>swam2mm
`
`8
`
`mam28QEm.
`
`ma
`
`$8
`
`Em
`
`m28
`
`m28
`
`o38
`
`_.2.3
`
`11
`
`11
`
`
`
`

`

`U.S. Patent
`
`m
`
`M
`
`m4
`
`
`
`mxmmzwEsau:.EmMmNommxouc_E30052onQm_o_..=._o2828$8>_w,.:mEL_=Wm2o.._mms_wE80NEm
`
`
`
`
`
`
`
`yams..82
`
`yam:wE80_Em.
`
`
`
`mm,EmmzmEma52:0
`
`fl.0.%9.._u.
`
`
`
`
`
`Uxmm_>_mmmaeooc_Em.
`
`
`
`
`
`mExmmzwEzoo:Emw_o§m:m_wo_mo_u:lm.=oHmmEmgm5soxm_E_E80>2;.m=M_v¢oxmmzw:58NEm
`E:w:58_%EmV_m§_w:80oE
`
`12
`
`
`
`vim:mmmaeooo.Em
`
`
`
`
`
`vans.mwmteooumcfieoo
`
`:o=m__§mofl_=mmm_o._.v_mmS_M.E200OEm
`
`2__m>33¢
`
`
`
`
`
`12
`
`
`
`

`

`U.S. Patent
`
`Mar. 13, 200?
`
`Sheet 11 of 34
`
`US 7,190,284 B1
`
`FF.m.iF.FFFFF_§8OF.FFFF.2FFF85FFoaoF.FoFFFF...:$ooFooF.2:FF822.,NFFaovFFoFF85%ooF.FF.
`
`Fommm55:053:0Ecaoo>62....EoFas_=35
`
`
`F+8>mmNFFF.FNFFSF
`:_§$occoFm2SF$8.5mFFooFmFoFoFF+_§$ooFoFN02.2
`F.0SFF__..eamFFoFoFFFFFo3%ooFFoF80FF8,8mFFFF.mFFFoF
`
`
`
` N+8>mmoooFFNoF8FN+8>mmFFF.FFFF82?§$ooFFFo88FF:Ram2.9%FFFFm=_a>F322.256033>
`
`13
`
`13
`
`

`

`U.S. Patent
`
`Mar. 13, 2007
`
`Sheet 12 of 34
`
`US 7,190,284 B1
`
`
`
`Send out
`compressed block
`ZZE
`
`Adjust max count
`to 4 or less
`
`E
`
` Yes
`
`
`Max
`Mask = 10000?
`
`E
`
`No
`
`Send out
`
`compressed block
`731
`
`No
`
`Yes
`
`Sendon
`
`733
`
`No Yes
`
`Send LZ12
`compressed block
`Efi
`
`“'0
`
`
`CCM(0) = 1?
`EB
`
`“*5
`
`Send out data 0
`E
`
`14
`
`Done
`
`N0
`
`Send out data 0
`Z41
`
`No
`
`Send out data 0
`M
`
`14
`
`

`

`U.S. Patent
`
`Mar. 13, 2007
`
`Sheet 13 of 34
`
`Us 7,190,284 B1
`
`Entry
`
`012345s7a9101112131415
`
`SWODM Eflflflflflflflflflflflflflflfl
`Gm EEEEEEEEEEEEEEEE
`
`|nputD3:U
`
`WWMEEEEEEEEEEEEEEEE
`mmtflflflfiflflflflflflflflflflfifl
`Output
`Sm'Dw flflflflflflflflflflflflflflflfl
`Cm EEEEEEEEEEEEEEEE
`
`Input 03:0
`
`WWWEEEEEEEEEEEEEEEE
`mmtflflflflflflflflflflflflflflfl
`1
`Output
`SW20“ EHEEEHHHHHHHHEEH
`Cm EEEHEEEEEEEEEEEE
`
`Input 03:0
`
`wwmmmmmmm@m@@@@mm@m
`mmtflflflflflflfiflflflflflflflflfl
`Output
`SW30“ EEEEEHEEEHEHHHEH
`Cm EEEEEEEEEEEEEEEE
`
`Input D310
`
`WWWEEEEEEEEEEEEEEEE
`Wmtflflflflflflflflflflflflflflflfl
`
`State‘
`
`Data
`CW E@@@E@@I@@E@EE@Emmwm
`Final Output
`
`Output
`
`[9,2)E2(6,1)
`
`Attemate Output
`
`13
`
`15
`
`15
`
`

`

`16
`
`

`

`U.S. Patent
`
`Mm
`
`S
`
`w
`
`.m.
`
`43
`
`US 7,190,284 B1
`
`
`
`
`
`
`
`in!
`
`
`
`
`
`Bemqeooemneooemaeoo235828500m__Nn_EoomisN35NisNB;NisNEsNMIIIL‘L
`
`2at
`
`mcozemcmo523
`
`h.
`
`17
`
`Ema
`
`17
`
`
`
`

`

`U.S. Patent
`
`Mar. 13, 2007
`
`Sheet 16 of 34
`
`Us 7,190,284 B]
`
`._______..—._____.......__—---______---—.____—----------..__________________________________gl
`
`L--_-__--_----------__-------___-----________ __--_---___--
`
`—..-.-_._...-.---..-..--.__..--_.
`
`J
`
`t.m.i
`wIIIIll
`
`Q235cemmmasoo.$mo._
`
`
`
`
`
`uuuuuuuuuuuuuuuunuununuuunnnnnnnunnunuennnnuaunuuuunnuuuanus:nunanununuuuaucan:nun:nun:unnlnnuunnnnunauusuununuuuuuLu
`
`839E8
`
`
`
`
`
`QQmama5mr__..m..Vw_:..mmm>22mzém
`
`
`
`
`
`W3mc_m_m_:o_mmmaEoomn_.38..
`
`IIIIIIIIIII|IIIIIIIIIIIIIIIIIIIIIIIIIIIIUllIIIIIIIIIltllllllIlaItillIlllliIOloICIIIIllIIIIIIIIIIIIIIIIIIIIIIIIIIII
`
`ummmeqeoo
`
`9%
`
`>3.cmE>333
`
`:o_m._m;_._ooO2>
`
`ma
`
`
`
`lllllIIi!OO!IIIIIIIIIIIllIIIIIIII|lIIIIIIIIIIllIIIIIIllllllllllllIIIIIIIOIIllllIllaIOIII00!IOIIIOCIIIIIIIOIOOIIIIIII
`
`‘I
`
`musow
`
`NE.>B0._o:$Eou
`
`mom
`
`___----___-_-_---_-----L-----------____- -------_--_____--
`
`18
`
`18
`
`
`
`
`
`

`

`U.S. Patent
`
`Mar. 13, 2007
`
`Sheet 17 of 34
`
`US 7,190,284 B1
`
`2mi
`
`mi...
`
`
`
`mmmeaaégglgégggga
`25>H.as»
`%%mfi..§%|||
`
`
`
`3m3Ilglulggggg"Ea8H.___._aH:22
`
`ElégéagxmemEgg___§..u:a.&EIII23;.25.23mmfimmfiglllIla£3;2_£em__££3_...L_£%§§__¥||Elma:%Eagmfiwgggfi___efi:aEElg22:25%5%wasgag.E4:II 55>H.E;I£3.£2;a_£_eEmEEgéégg-EE§
`
`
`
`
`gfilllllalgxmemEuaulllaéemEEEEE&5£___s_Ea§EIIIII2.:was£3gillEEIEEI8s:_§u.a_.&
`
`
`
`
`
`
`
`
`
`
`
`19
`
`fig_.__E>u..35»
`
`gel
`
`Egg52>u_.62»
`
`Emil
`
`ggll
`
`19
`
`
`
`
`

`

`SU
`
`D1
`
`.[
`
`imlauoI|nas
`...wummmmaeooIIIIIIIuIw:_m:m_commmaeooa_m__Emn_
`
`
`m$._.mmo._
`
`.mamboEms_
`
`gm5%:
`
`r.aM
`
`—........002H,
`
`w.nS
`
`US 7,190,284 B1
`
`
`
`M3foncmom:o_mmmaE8on_.$mo._
`
`
`
`manuummuaeoo
`
`
`
`EmanmmmmaeoomoA...
`
`
`
`_m__m_mn_mmm._.mmo._
`
`5323.88
`
`osmcm
`
`am
`
`
`
`
`
`:o__mmmaE8.cmE.:n_|I-
`
`_._o_mmmaE8ma
`
`2m_umE_mE_
`
`
`
`8_mmmaE8ma.............._
`
`20
`
`20
`
`
`
`

`

`U.S. Patent
`
`Sheet 19 of 34
`
`US 7,190,234 B1
`
`3.at
`
`o
`
`oncan
`
`canownohmcom
`
`
`
`
`
`%afiohmE,___%_§,%__.§
`
`m§xw._.fiflfi
`.39._n_->n_5-8._n_-n_m
`
`fl;/fly
`
`1/i
`
`HWOQ»
`
`t
`
`8
`
`fiohmEm9%Q88
`
`a_.mM~_g_Eo2mn_858
`
`mo5
`
`21
`
`
`
`
`
`

`

`U.S. Patent
`
`Mar. 13, 2007
`
`Sheet 20 of 34
`
`Us 7,190,284 B1
`
`Compression of received data
`
`Receive uncompressed data
`
`£10.21
`
`
`
`Determine a compression mode
`of the data
`§€L4.
`
`
`
`
`
`
`
`Selectively compress the
`uncompressed data according to the
`
`compression mode
`
`§_0_§
`
` Store the data in the memory; store
`
`
`compression mode information with
`the data
`
`.E_50_8
`
`Fig. 22
`
`22
`
`22
`
`

`

`U.S. Patent
`
`Mar. 13, 2007
`
`Sheet 21 of 34
`
`US 7,190,284 B1
`
`Access compressed data
`
`Receive a request for the data
`.&1_2
`
`Access the data from the memory
`QM.
`
`Determine a compression mode
`for the data
`§l§
`
`Selectively decompress the data
`according to the compression mode
`flfi
`
`Provide the data in response
`to the request
`
`§Z0.
`
`Fig. 23
`
`23
`
`23
`
`

`

`U.S. Patent
`
`Mar. 13, 2007
`
`Sheet 22 of 34
`
`US 7,190,284 B1
`
`m=_=_mE2__m25:8V_8_m_roams
`
`
`
`
`
`
`
`cowm._O.._m.._oo_aummmmaEooEmfl_umwmm;QEDD
`
`me<.....oEm>o
`
`m:o=mEmEm_n_E_
`
`
`
`Eats;mew:as
`
`
`
`8.3=o__m8__<_m=_=_
`
`
`
`02$.roses.2mua=__m=cm_,..._8_m555.
`
`
`.o_.mmcommmaeooE=E._xm_2.3nmu___,_omum
`
`58.2£83Emmeneoo25m_.__mEoo
`
`
`
`3%goesuommmaeooca
`
`
`
`
`
`$5.mmeuumm_mc_m
`
`.9u2_=3_E:tko
`
`H902
`
`
`
`E3.tflw
`
`3
`
`
`
`ummmmaeoo.8.98FE5.3238E5an25EE9032$223,..a__§oE5...._n_E.a_a_2m:$25.Bamaes
`
`
`
`
`
`
`
`
`xm_._._§_._mmmmmace__coEmE
`
`
`
`3..Em§%<
`
`24
`
`
`
`
`
`
`
`
`
`.v_8_aBmmmaeoocg
`
`oltm
`
`Emaummmmaeoo
`
`
`
`
`
`fixed mmzacmcoammaeoumo
`
`am
`
`§_§mmean.5230
`
`ma
`
`as:E2
`
`VN.m.E23ummmwasoumo
`
`an
`
`24
`
`
`
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Mar. 13, 2007
`
`Sheet 23 of 34
`
`Us 7,190,284 B]
`
`mN m
`
`m
`
`Esm.3ea25223%%_4m_loosE:2:Has9<2
`
`.Hasas8.42___mm
`
`as8+8<_E
`
`
`
`
`
`=o_E_.umon_Etna:3o=._m>o
`
`
`
`_.c=_m.5,05mos.zofimsoasc_<EmtoHmm_xoosca:9:.
`
`
`
`«mi.so_to5m_.=_.__4ago_mm._£83am:9:.
`
`_a§2,_3_m53HI
`
`s§%_s_masH!
`
`
`
`Scams..6nm=_m>
`
`
`
`
`
`
`
`26m____arm,..__mu_m.Enm.....o=2v_8_n_:8:m;._.
`
`
`
`
`
`=o_..__.o3n_53¢:_a=_:_
`
`a_2_smVa
`
`25
`
`
`
` o;.___g_IJ0:2.“%_aEu=m>.Eo$2:0.._.,..o:62._8_m:32._n__,§_§o
`
`was25552;;
`
`
`
`
`
`._E_._&_3o.35§..t<u_min...:o_§m=E._.wm...:_._u<naaaeoo
`
`
`
`
`
`
`EcamE.Saga5.mum___m_a_§omE.aegom5Ilél
`a___n§e2.<mo.‘QwasAm__§gs.“
`
`
`
`53E!_§.2_.E_2.._:=Em
`
`
`
`
`
`
`
`:5.E5@3240.m__.,_£322.439.35
`
`
`
`
`
`mu_u_.._=o_fiuo__4boEa_...._
`
`
`
`
`
`a___.Q$§._z.mov
`
`25
`
`
`

`

`U.S. Patent
`
`Mar. 13, 200?
`
`Sheet 24 of 34
`
`US 7,190,234 B1
`
`@Memory Allocation
`(lnitialized CATT)
`2709
`
`271 1
`
`Allocate CATT Ent
`
`Arrange entry order
`(if required based on istarllend address)
`
`271
`
`Set the compression type
`271 5
`
`Al|ocate% of the requested memory
`(Based on block sizg a1nd compression type)
`
`7 7
`
`Set the data pointer to start at the initial block
`in the CATT
`2?19
`
` Allocate Overflow Address memory (OAM)
`
`(Set by IMC driver or BIOS)
`
`
`Typically 118th ogginal data size
`
`
`2? 1
`
`Initialize the OAT pointer in the GATT
`2723
`
`Initialize allocated memory headers to zero
`2725
`
`
`
`Initialize OAT entries, set overflow
`pointer in OAT
`2727
`
`
`
`
`Fig. 26
`
`26
`
`26
`
`

`

`U.S. Patent
`
`Mar. 13, 2007
`
`Sheet 25 of 34
`
`US 7,190,284 B1
`
`
`
`
` @Compressed
`Memory Store (Addr N)
`2749
`
`Yes
`
`
`Check
`Cache for Hit
`
`While searching CATT
`
`
`
`
`E N
`
`o
`
`
`
`
`
`H = Header
`Calculate Initial Address I. continue to
`from Address I
`compress data (Validate present entry)
`2759
`2733
`
`
`
`
`
`
`
`(391 Next
`Address (U:f(H))
`2799
`
`
`
`Remaining
`Compressed block
`>Block SIZE?
`
`
`Store block of Compressed data at
`address 1 with headeI=LAST
`
`2737
`
`
`
`Store block of Compressed data at
`address I with header(U) Set |=U
`2739
`
`
`
`header of H to UNUSED Set H=f(H2)
`2745
`
`
`Q H2=HeaderfromAddressHSet
`
`
`Yes
`
`Store uncompressed block and header
`at Add N in cache and set most
`recently modified bit for cache
`as
`
`Done
`
`Fig. 27
`
`27
`
`27
`
`

`

`U.S. Patent
`
`Mar. 13, 2007
`
`Sheet 26 of 34
`
`Us 7,190,284 B1
`
`-
`Deliver daI2t%Ig£0m cache
`1
`
`
`
`
`@Memory Fetch
`(address N)
`2?59
`
`
`
`
`Yes
`
`
`Search
`cache Directory HIT?
`
`2751
`
`
`
`No
`
`Solve for initial address (I) = (Matching
`
`CATT start address - N)t')( (X is based on data type)
`
`2}’53
`
`Fetch from memory
`compressed block I
`2755
`
`Strip the Header bits, and decompress
`the remaining data from I
`2757
`
`LAST Block?
`2?61
`
`No
`
`Yes
`
`
`
`Fetch the overflow block using the
`overflow pointer as base and the
`header as offset
`Mi
`
`Read oompressed overflow blocks
`2756
`
`Send decompressed data to
`requesting agent
`2765
`
`Update Cache, invalidate LRU_ mark
`new block as MRU
`2769
`
`Completed compressed
`read operation
`
`Fig 28
`
`28
`
`28
`
`

`

`U.S. Patent
`
`Mar. 13, 2007
`
`Sheet 27 of 34
`
`US 7,190,284 B1
`
`
`
`mmeuum:3.35._..__5E5552.5;m_.___=_._m9esm.coEmE__soEmsohozoosam:2m8__¢
`
`
`
`§.__a
`mam\..2.~.
`
`
`
`
`
`
`
`BEEmmannmfiozca...m_w_=u_mo%Bo._m55
`
`x@.33;Eeeo32.
`
`HM
`
`wR.__.E22:ESEsaw;
`
`
`
`.u~_m.30.“.+mu§:_8mmeuumuazm~_wV_uo_m+m_um
`
`mackgem
`
`
`
`
`
`%__m____$:__3.....o_to>o
`
`mm
`
`as
`
`8»
`
`Rm:m_
`
`n_.___._.:556._az
`
`mm-
`
`29
`
`map“E25..E.353:5:2am
`
`
`
`
`
`m$._3m:83.so=._m...ogm:2....._3_mu
`
`an
`
`
`
`3%3...35...&__§_"E
`
`29
`
`
`
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Mar. 13, 2007
`
`Sheet 28 of 34
`
`Us 7,190,284 B1
`
`8mm
`
`
`
`
`
`Sumo:Erma:_u=_.__nsooans.__sa_tm>o_~_._=_
`
`
`
`
`
`
`
`
`
`mu._n_.:oz:._x.m2>m8:3
`
`
`
`"6.5.B2.5:o_.moo__<ofim35._8_mEm._8_m
`
`30
`
`30
`
`
`

`

`U.S. Patent
`
`Mar. 13, 2007
`
`Sheet 29 of 34
`
`Us 7,190,284 B]
`
`can\\
`
`2m~.\..
`
`
`
`
`
`wenmmwxoo_ncommaE00
`
`
`
`>_oEmEE9:v.83ummmmaeooomom2
`_m_hMm
`
`BUSEmum._9mmoaE8moAN
`
`was.._5.as8_=8n_2%3
`$225E9:62
`
`
`
`
`
`$2.3Emsmwmv_8Wm%_Bs§___
`
`
`
`
`
`boeme2gownxoosummmmaeoo25$6
`
`
`
`EEO3so:83mmmaeoo-mm3..
`
`c@as._E_%_,..2_5243
`
`can.\
`
`Eat
`
`
`
`IIHIHHIEHHEumm.%@moo
`
`
`
`
`
`$20_mc_m__oc_m:_._3__E__o_m_22:mm.38¢:.
`
`
`
`
`
`
`
`ans.5som:_.mo._u:__m_2Emumm“swam:2,
`
`31
`
`
`

`

`U.S. Patent
`
`Mar. 13, 2007
`
`Sheet 30 of 34
`
`Us 7,190,284 B1
`
`'1"
`
`V— v— 1— 1— 1* "l— 1.— C\|
`
`(NI
`'0
`
`Fig.32
`
`
`
`
`
`
`
`1111010
`
`1100
`
`1101
`
`1110
`
`1111000
`
`1111001
`
`32
`
`
`
`
`
`
`
`
`
`BytesCompressed
`
`BitsUsed
`
`Count
`
`Index
`
`Flag
`
`32
`
`

`

`U.S. Patent
`
`Mar. 13, 2007
`
`Sheet 31 of 34
`
`US 7,190,284 B1
`
`Input Data 8 Bytes
`
`
`
`
`
`
`
`
`
`
`
`
`‘
`
`:
`
`Data
`Vaiid
`
`Data Bytes
`0
`7
`
`
`
`Stage 3: Calculate Final Selects
`
`Final Selects
`.
`.
`.
`.
`.
`
`. 15
`
`flfifis
`
`History Window
`
`Fig. 33
`
`33
`
`
`
`Pie Reister 128 bits
`
`Stage 4: Data Selection
`0
`“ta ”‘
`15
`
`
`
`Start Count
`0
`7
`
`Index
`
`0
`
`7
`
`Index
`Valid
`
`
`
`Stage 1: Initial input Seiector and Byte Counter
`
`
`
`
`
`Pie R ister 168 bits
`
`Stage 2: Calculate Initial Selects and Overftows
`
`Partial Selects and Overfiows
`0
`.
`.
`.
`.
`.
`. 15
`
`Pie Reister 144 bits
`
`
`
`
`
`
`
`
`
`
`D
`
`25501 -\
`
`25505 '\
`
`25513 ‘X
`
`33
`
`

`

`U.S. Patent
`
`Mar. 13, 2007
`
`Sheet 32 of 34
`
`US 7,190,284 B1
`
`Input Data
`D0:D63
`
`D0:
`D24
`
`D9: D10: D13: D25:
`D3:
`D63 D63 D6
`D63 D63
`
`25521
`
`I—E0:
`
`E55
`
`Index
`
`Count
`
`E9:
`E55
`
`E13: E25:
`E55
`E55
`
`—F
`
`0:
`
`F47
`
`25525
`F10: F13: F25:
`F4?’
`F47
`F47
`
`F9:
`F4?
`
`G0,
`G39
`
`25527
`G9: G10: G13: G25:
`G3 G39 G39 G39
`
`H0:
`H31
`
`H10:
`H31
`
`25529
`H13:
`H31
`
`0:
`
`J23 25531
`J10:
`J13:
`J23
`J23
`
`J9:
`J23
`
`— K
`
`0:
`K15 25533
`
`Data Index
`Byte
`
`Start Counts
`
`Data Index
`Byte
`
`Data Index
`By1e
`
`25535
`
`Fig. 34
`
`34
`
`
`
`
`H9:
`H31
`
`—J
`
`
`
`Data Index
`Byle
`
`4
`Count
`
`—ec0der2
`
`Data Index
`Byte
`
`4
`
`coum
`
`34
`
`

`

`U.S. Patent
`
`r.aM
`
`7...002m
`
`43fl033w_..HS
`
`US 7,190,284 B1
`
`mmat
`
`Emx85
`
`E300
`
`23
`
`eemfio
`
`5%
`
`m=o__..2n_
`
`E_$
`
`35
`
`35
`
`

`

`m0m
`
`%
`
`B
`
`m£5asmfi
`
`sx295295SHExUxxxx88585838
`
`
`
`m,xo._+_,.ao”:om+o.$8”§~+om+m98_+o._
`
`
`
`
`
`BN3X2
`in5.5
`
`Ema
`
`macaw
`
`Ion
`
`uflflfimv
`
`t8EEEEESana»:w8EEEEESHQHTAEM8EEEEESnagP..83%858888m.:._.;_,.:._
`
`m8888888uB§m889EEE85832n88EEEE8u8§M8EEEEE8uB»28EEEEE8uQ§
`
`«M«anoasmmm
`
`36
`
`36
`
`

`

`US ?,l90,284 B1
`
`1
`Slill.l4l(I'I‘lVE L()SSLESS, l.()SSY., OR NO
`COMPRESSION OF DATA BASED ON
`ADDRESS RANGE, DATA TYPE, AND.-‘OR
`REQUESTING AGENT
`
`(T()NTINUATI()N DATA
`
`This application is a continuation—in—part (CIP) ofSer. No.
`08i’9l6,464,
`filed Aug. 8, 1997. and now U.S. Pat. No.
`6,173,381, isstted on Jan. 9. 2001'.
`which is a continuation-in-part (CIP) of Ser. No. 08.I’463.
`106, filed Jun. 5, 1995, now abandoned;
`which is a continuation—in—part (CIP) of Ser. No. 08:840.
`667. filed on Nov. 16, 1994. which is now U.S. Pat. No.
`6.(l{)2,4ll, issued on Dec. 14. I999.
`
`l-'IIiI,l) OF TIIl.i IN\r’l_iN'l"I()N
`
`The present invention relates to computer system archi-
`tectures. and more particularly to a memory controller which
`includes an embedded data compression and decompression
`engine for the reduction of system bandwidth and improved
`efliciency.
`
`DI€S(IRlP'l‘I()N ()l"' Tlll-5 RI.£I..A'l'IilJ ART
`
`Since their introduction in I98]. the architectttre of pe -
`sonal
`computer
`systems
`has
`remained
`substantially
`unchanged. The current state of the art in cotnputer system
`architectures includes a central processing unit (CPU) which
`couples to a memory controller interface that in turn couples
`to system memory. The computer system also includes a
`separate graphical interface for coupling to the video dis-
`play. In addition, the computer system includes inputfoutput
`(IEO) control
`logic for various U0 devices.
`including a
`keyboard. mouse. floppy drive, hard drive, etc.
`I11 general. the operation of tnodern computer architecture
`is as follows. Programs and data are read from a respective
`IEO device such as a floppy disk or hard drive by the
`operating syste1n._ and the programs and data are temporarily
`stored in systetn memory. Once a user program has been
`transferred into the system memory. the CPU begins execu-
`tion of the program by reading code and data from the
`system memory through the memory controller. The appli-
`cation code and data are presumed to produce a specified
`result when manipulated by the system CPU. "lhe (TPU
`processes the code and data. and data is provided to one or
`tnore of the various output devices. The computer system
`may include several output devices, including a video dis-
`play. audio (speakers). primer. etc. In most systems.
`the
`video display is the primary output device.
`Graphical output data generated by the CPU is written to
`a graphical interface device for presentation on the display
`monitor. The graphical interface device may simply be a
`video g;I'aphics array (VCIAJ card. or the system may inchtde
`a dedicated video processor or video acceleration card
`including separate video RAM (\r"RAM].
`111 a computer
`system including a separate, dedicated video processor, the
`video processor includes graphics capabilities to reduce the
`workload of the lnain CPU. Modern prior an personal
`computer systems typically inclttde a local btts video system
`based on the Peripheral Component Interconnect (PCI) bus,
`the Advanced Graphics Port (AGP), or perhaps another local
`bus standard. The video subsystem is generally positioned
`on the local bus near the CPU to provide increased perfor-
`]T]£:ll'lCC.
`
`2
`
`IU
`
`15
`
`20
`
`25
`
`30
`
`Therefore, in summary. program code and data are first
`read from the hard disk to the system memory. The program
`code and data are then read by the CPU frotn system
`memory. the data is processed by the CPU, and graphical
`data is written to the video RAM in the graphical interface
`device for presentation on the display monitor.
`The system memory interface to the memory controller
`requires data bandwidth proportional to the application and
`system requirements. Thus.
`to achieve increased system
`performance, either wider data buses or higher speed spe-
`cialty metnory devices are required. These solutions force
`additional side-effects such as increased system cost. power
`and noise.
`I"I('"r.
`1
`illustrates the data transfer paths iii a
`typical computer memory controller and system memory
`using prior art technology.
`The CPU typically reads data from system memory across
`the local bus in a normal or non—compressed format. and
`then writes the processed data or graphical data back to the
`[E0 bus or local bus where the graphical interface device is
`situated. The graphical interface device in turn generates the
`appropriate video signals to drive the display monitor. It is
`noted that prior art computer architectures and operation
`typically do not perform data compression andfor decom-
`pression during the transfer between system memory and the
`CPU or between the system memory and the local [I0 bus.
`Prior art oomputer architecture also does nothing to reduce
`the size of system memory required to run the required user
`applications or software operating system. In addition. soft-
`ware controlled compression and decompression algorithms
`typically controlled by the CPU fiir non-volatile memory
`redttction techniques can not he applied to real time appli-
`cations that require high data rates such as audio, video, and
`graphics applications. Further. CPU software controlled
`compression and decompression algorithms put additional
`loads on the CPU and CPU cache subsystems.
`Certain prior art systems utilize multiple DRAM devices
`to gain improved memory bandwidth. These additional
`DRAM devices may cost the manufacturer more due to the
`abundance of memory that is not fully utilimd or required.
`The multiple DRAM devices are in many instances included
`primarily for added bandwidth. and when only the added
`bandwidth is needed, additional cost is incurred due to the
`multiple DRAM packages. For example, ifa specific com-
`puter system or consumer computing appliance such as a
`Digital TV set-top box uses l)Rl')RAM memory and requires
`more than 1.6 Gbytesfsec of bandwidth. then the tninimum
`amount of memory for this bandwidth requirement will be
`16 Mbytes. In such a case the manufacture pays for 16
`Mbytes even if the set-top box only requires 8 Mbytes.
`Computer systems are being called upon to perform larger
`and more complex tasks that reqttire increased computing
`power. In addition, tnodern software applications require
`_ computer systems with increased graphics capabilities.
`Modern software applications include graphical user inter-
`faces (Gills) which place increased burdens on the graphics
`capabilities of the computer system. I-iurther. the increased
`prevalence of multimedia applications also demands com-
`puter systems with more powerzfiil graphics capabilities.
`Therefore, a new system and method is desired to redttce the
`bandwidth requirements required by the computer system
`application and operating software. A new system and
`method is desired which provides increased system per:lor—
`_ mance without specialty high speed memory devices or
`wider data IEO buses required in prior art computer system
`architectures.
`
`40
`
`50
`
`60
`
`37
`
`37
`
`

`

`3
`SUMMARY OI" 'l‘[Ili lNV[iNTI(JN
`
`US ?,l90,284 B1
`
`4
`
`S
`
`10
`
`15
`
`20
`
`As mentioned above, according to the present invention
`the MemoryFJ'X Technology embedded within the IMC
`includes one or more compression and decompression
`engines for compressing and decompressing data within the
`system. ln the preferred embodiment the Mernoryl7r"X Tech-
`nology comprises separate oompression and decompression
`engines. In an alternate embodiment, a single combined
`compressionfdecompression engine can be implemented.
`The IMC preferably. primarily uses a lossless data compres-
`sion and decompression scheme. |.)ata transfers to and from
`the integrated memory controller of the present invention
`can thus be in either two formats, these being compressed or
`normal (non—compressed). The IMC may also include one or
`more lossy compression schemes for audiofvideolgraphics
`data.
`
`Thus compressed data from system L"O peripherals such
`as the non—volatile memory_.
`floppy drive, or local area
`network (LAN) are decompressed in the IMC and stored
`into system memory or saved in the system memory in
`compressed fomrat. Thus, data can be saved in either a
`normal or compressed format, retrieved from the system
`memory for CPU usage in a normal or compressed format.
`or‘ transmitted and stored on a medium in a nomial or
`
`The present invention comprises a memory controller.
`also referred to as the integrated memory controller (IMC),
`which provides improved data efliciency and bandwidth.
`The memory controller includes a compressionJ'dccompres-
`sion engine, preferably parallel data compression and
`decompression slices, that are embedded into the memory
`control logic ofthe memory controller. I’L1r1l1er, the present
`invention does not require specialty memory devices or
`system software changes for operation. The rnelnory con-
`troller logic of the present invention preferably interfaces to
`the system CPU either extemal or internal to the memory
`controller. Fur1her, the memory controller interfaces to the
`main system r11ernory and other interface buses such as a
`l1igl1—speed system peripheral bus, e.g., the PCI bus or the
`AGP. Additionally the IMC may contain graphics, video
`andfor audio control functions. The IMC includes one or
`
`more symmetric memory ports for connecting to system
`memory. The IMC also may include video outputs to
`directly drive the display device, as well as an audio
`interface for digital audio delivery to an external stereo
`digital-to-analog conver1er (DAC).
`'Il're IMC includes an embedded Technology termed
`“Memoryl7r"X” desigred for the reduction ofdata bandwidth
`between the main or system memory and the memory
`controller. The MemoryFJ'X Technology reduces the band-
`width requirements while increasing the memory efliciency
`for almost all data types within the computer system. Thus.
`conventional standard (JDEC) memory devices can achieve
`higher bandwidth with less system power and noise than
`when used in conventional systems without the MemoryF:'X
`Technology.
`Tl're IMC transfers data between the local bus, the embed-
`ded MemoryFr'X Technology and system memory. In addi-
`tion,
`the IMC also transfers data between the system
`memory and the display output. Therefore, the MemoryF:'X
`technology of the present
`invention typically resides
`between the CPU local bus, peripheral interconnect buses.
`and the rrrain system memory.
`The MemoryFJ'X Technology is designed to embed into
`memory control circuits and has a novel architecture to
`compress and decompress parallel data streams within the
`computing system. In addition, the Men1oryI'U"X Technology
`has a “scalable” architecture designed to function in a
`plurality of memory configurations or compression modes
`with a plurality of performance requirements.
`The lV[emoryl"fX Technology's system level architecture
`reduces data bandwidth requirements and thus irrrproves
`memory efliciency. Eflicierrcy is improved by the reduction
`of device L"O pins between the main memory bank and the
`memory controller. Compared to conventional systems, the
`Me1r1oryl*'r"X Technology obtains equivalent bandwidth to
`conventional architectures that u

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