throbber
l|||||||||[|||||l||||l|||||||l|l||||lIlill||l||lllll||||||||1|||||||||l||||
`
`USUUGGUI 104131
`
`(12) United States Patent
`Fallon
`
`(in) Patent No.:
`(45) Date of Patent:
`
`US 6,601,104 B1
`Jul. 29, 2003
`
`(54)
`
`SYSTICM AND Ml£TH()l)S FOR
`ACCELERATED DATA STORAGE AND
`RETRIEVAL
`

`.
`-I,
`.
`,
`-
`James J. lutllon. Brtmxwllc, NY (US)
`lmentor.
`(73)
`(73) Aqsjgnee: Rmmme [jam ]J[‘C_ New Ymk‘ NY
`[US]
`
`( ‘ ) Notice:
`
`Subject to any disclaimer. the term of this
`palcnt
`is extended or adjusted under 3:?
`U-S-C l54(b) byo days’
`
`(31) AFPL N0-3 0949559394
`22)
`Filed:
`Mar. 11. 1999
`
`('51)
`
`Int. (31.7
`
`(S3) U.S. Cl.
`_
`Fleld of Search ..................................
`References Cited
`
`(56)
`
`G06I" l3;’00
`
`709E231
`
`U-S- PATENT DOCUMENTS
`4,5-H351 A
`3r_.-198,6 Dang N “L
`4f3{_]4:_g5t) A
`3193:; Makamd at al‘
`.1,_'3‘,t‘[p__.-H5 A
`qglogcg van Maren cl "[1
`4_,%5_.-*:‘.r'5 A
`lrIt'ttt9IrI Hori cl al.
`.'j_.U28_..‘J22 A
`?tl'Nl Huang
`v‘.-"4"".-“37 A
`‘-’H‘-’‘-‘'1 W959 9‘ =l'-
`5=l5”-43“ A
`W1992 Ch"
`5,l59,33t'i A
`l{J!I‘J92 Rabin at al.
`5J?q‘65l A
`MW} Taafle at al_
`fialwflffl A
`SHW3 Miner cl :1],
`5’3_1-31,75 A
`3,1993 Hanna": _h_
`5’g4',I'_‘(,33 A
`t;-,r1qg3 0 mien e, at
`5_;4-,r_.«j,4;, A
`t;,'1r;g3 (},;m]l.nd Qta|‘
`5,28'?,-121'! A
`251994 Barrett
`5,;i57_.I‘:14 A
`lfIt't9'§I4 Pattisant at al.
`5.-‘i1‘i.~35'[' 4"
`5t'1‘='q5 whiting
`R *
`%°"1°l'
`:'.---‘-.‘--
`J
`ITlL‘il.
`S!S3_m53 A
`.1”IWe Bflkkc at “L
`556L834 A
`lwwqfi Cm_mimctnL
`5:514F.;52 A
`Jlflggfi Brad}, ct BL
`5.574.953 A
`ll."l‘-F96 Rust et ul.
`5.S9(.|.3<ifi A
`l2,tlUUb Walanahc at at.
`
`37-"34"
`
`21-39? 'I‘aka_.mntn el al.
`5.fitI_:.‘«_'0b A
`-“"07 Chm
`—iv""1—"v"1-"i A
`-'lt‘t9'.3'.I" Rynderman el 3].
`:t,:'J2l_,82i'] A
`43109’? Kim cl al.
`5.623.623 A
`4t't§I'J7 Balrkc el al.
`5.63.70] A
`man? Mm“ N “L
`Srfizmgj A
`5t't9';".F Muskowitz ct al.
`5.629.732 A "
`31997 C'a‘rrt.-ir‘u cl al.
`if.6.ffJ,l'.|‘f2 A
`'r’ft';ifJTr’ Shtmm at al.
`:-_.{u:w."__,3:«'.«‘ A
`THW7 Mtlllpill 6| 3|-
`5.053.917 A
`T_
`1-
`_d
`__ 1
`_
`L-_l
`1:9 eon mun. on near page.)
`{
`Prftttrtr}-’ t.'xnmt.'t1er—Davi(l Y. Eng
`(74!) Atmrney. Ag:-wt, or }"irm—l"rank V. DeRo5a; I3. Chan
`& A-*it'~*~wi=llt*t*»F~l-1’
`(57)
`
`ABSTRACT
`
`348;’?
`
`Systems and methods for providing accelerated data stttrage
`and retrieval utilizing losstcss data compression and (Incom-
`preseion. A data storage accelerator incluclcs one or a plu-
`rfllily of
`Spccd data compression cncudurs [hm an;
`cnnligttrcd to simultaneously or scqu-enttally lnsetlessly corn-
`pruss data at a rate Eql.ll\-"ll.1L'-Ell to nr faster than the LI‘ltl]Sl‘l]l.‘:‘u-
`sinn rate of an input data stream. The cnmpressed data is
`subetequenlly attired in a target mcrrtc-try or other storage
`device whose lI1]‘tuI data storage handwtdt I) Is lower than the
`original
`input data stream batztclwidth. Similarly, a data
`retrieval accelerator includes one nra pluralilyuf high speed
`data clccnmpressiun deenders that are ccnligurecl to simul-
`tancously or sequentially losslessly decompress data at at rate
`réiiluivalenl to or faster than the input data stream from the
`,
`,
`-
`.
`-
`tgrgct memory nr Sl‘(j)l'il.gl_.]:_it.\’t.f.‘C.Ti1l‘idCk:.'0rn!?1fE35l‘§Cd data It:
`1 L-[] output at rate
`ata 1 at is greater I an I
`‘la nutptll rats.
`[rum the target rnemory or data storage device. The data
`storage and_ru1rIc\t:tl accelerator method and system may
`employed:
`In a disk storage adapter to reduce the Lime
`required to store and retrieve data from computer to disk; in
`conjunction with random access rncmnry to reduce the time
`required tn store and retrieve data from random access
`memory; in a display controller to reduce the time required
`.,
`'
`.
`-
`.
`‘
`I
`.
`.
`--
`.
`lD[!15t.D(l -LllS‘pld}: tlttltt to the tltsplayueonlrtrllerl twrlprfieehettwrt
`an for in an tnputtotltput Lnntro er to recucu.
`t
`t.
`l1n'lL
`required to store. retrieve. or transmit data.
`
`35 Claims, 20 Drawing Sheets
`
`
`
`Oradle 1 108
`Oracle 1108
`
`

`
`US 6,601,104 B1
`Page 2
`
`US. PATENT DOCUMENTS
`
`3-‘I997 Kfl“'J"“*
`5»555»13”3 A
`971997 Moeru el al.
`5,a3o_53n A
`971997 Saliha
`5,371,339 A
`l22’l‘)§|7 Korma
`5,694-,(1l9 A
`1271997 Macflouaid m1.
`5,393,927 A
`271993 Kikinis
`5.7-15.477 A
`3,1998 Kikmis
`5'!.’_.21"958 A
`371993 Kirsten
`3,724,475 A
`771993 I):-Mnzuss 1-1a|.
`5.773.411 A
`7.71993 Ha-sl1imc-to 31111.
`5.737437 A
`9.11998 Sekim: etnl.
`5,313,631 A 1*
`W998 Hannah El at
`sfimfifl A
`971993 Diaz:
`5,312,739 A
`“NW8 decmmo
`53333396 A
`5,341,979 A r 1171993 schuumr at 111.
`5,8«1‘I-‘J62 A
`1211998 Canfield at al.
`
`3-4313
`
`39-572119.37
`
`5:3-m,L'|S'7' A
`5,339,931 A
`5,915 979 A
`’
`E
`"_.‘%8’l"‘§ A
`:9 43* 1
`" 7 ' 7
`“‘
`5.'§.I9fi_fl33 A
`”-m°=“"“‘ A
`‘5’”“3"“1 “‘
`51011-90‘ A
`'5+°""*f‘_"4 A ,
`o,02o_...17 A
`‘’--‘?'33-725 A
`fi_.(I32,l43 A
`
`211999 Chan
`371999 Dohbck
`311999 Vnndmn Jr. 1-.131.
`.
`’
`,
`,
`31333 Igmg‘ 1"" “I”
`“M909 J3 Hem: elm
`'1
`‘
`1”’ “'99 3”.‘
`]l!1§l9l'.I Clnu-[inn
`'z"°'3’° B"““5'
`13’“"°° 53'”
`“,3[’“[’
`I‘"""”'.
`‘°"‘t"°"”“’1‘
`_r-0t:n.f1 Ad1h:Ila
`323?’ 3'?‘"‘°""“
`2.32
`I] Wxlkes
`
`‘ cited by examiner
`
`1 _..J
`.957_t1o.77
`
`

`
`MM
`
`m..m
`
`SU
`
`1B401M.
`
`MFmmnoz
`
`M83E
`
`EmaEma1._m>m_.__mm_mmeemmmmcflmmE.mn_
`
`
`
`
`
`m,...9m._m._muo<838._2Em_moo<
`
`8tonPamU
`
`.mEma53:0
`
`
`
`Emmfiwm.~w_nm._o«mnw_c_
`
`
`

`
`U.S. Patent
`
`Jul. 29, 2003
`
`sheet 2 of 20
`
`US 6,601,104 B1
`
`Receive lnitiai
`
`Data Block From
`
`
`
`
`Input Data
`Stream
`
`
`
`Compress Data
`Block with
`
`~ 202
`
`Encoder(s)
`
`Store Data
`
`204
`
`More Data Blocks in
`
`Input Stream ?
`
`No
`
`
`
`Terminate Storage
`Acceleration Process
`
`
`
`208
`
`
`
`
`Receive Next Data
`-210
`
`
`
`Block From Input
`Stream
`
`FIGURE 2
`
`

`
`U.S. Patent
`
`Jul. 29, 2003
`
`Sheet 3 of 20
`
`US 6,601,104 B1
`
`
`
`
`
`Retrieve Initial
`
`Data Block
`
`From Storage
`Device
`
`-— 300
`
`Decompress Data
`Block with
`
`—- 302
`
`Decoder(s)
`
`Output Accelerated
`Data Block
`
`"” 304
`
` More Data Blocks
`For Output Stream ?
`
`NO
`
`Terminate Retrieval
`
`Acceleration Process
`
`
`
`308
`
`
`
`Retrieve Next
`
`Data Block
`
`
`
`
`
`From Storage
`Device
`
`FIGURE 3
`
`

`
`..lHC..laPamU
`
`Jul. 29, 2003
`
`Sheet 4 of 20
`
`I.06.,6SU
`
`1B40J,
`
`.______________
`
`__._."“E._n._._m..._E._
`
`_
`
`________________
`
`N%o_mman
`
`mzwoom
`
`_.«.85£8
`
`m>_mum~.._
`
`v_8_m28
`
`____H_.DGIHME
`_.________________m>_3mm"__.__maoE_oEF
`
`__.___v_8_mEma_fiemEND_vx8_mEma_n..8_mEmaN._8.mwan.rxoo_mEma
`
`
`
`mmoEEoo_mmm.aEoo_mmmEEoommm:nEoommE_uEoUmmm.aEoo
`
`:__8_m£8
`
`_
`
`umuoocm99w
`__.____H
`uououcmm._Q.w
`
`w..8_mEND
`
`umuoocm9.9%
`mxuo_m£8
`
`
`
`umuoocmScum
`
`m..8_m_Ema
`
`
`
`umuoocmScum
`
`r._8_m_was
`
`omuoucm22w
`
`._8_m.28
`
`__
`
`umuoucwm..o.w
`
`
`
`3-:._oo_mEND
`
`owuoocm93$
`
`Nxugmsun.
`
`umuoocmBaum
`
`rfio_m£8
`
`9.m_m.._o_u_
`
`
`
`
`amazonmmm.6Eo0mmuaeoommen_Eou
`
`
`
`2.:._8_m23m._8_m.23N62m.28S_uo_m.28.mw_m_n..m_
`..2_.___________.__.____________+......_______
`
`mjI...2
`
`uoooucwEouw
`
`,__8_mEND
`
`

`
`..lH8..l3PSU
`
`Jul. 29, 2003
`
`Sheet 5 of 20
`
`I.06.,6SU
`
`IB40J,
`
`_.___H_
`
`___.H_____.__
`
`__.___._
`
`___
`
`H._8_m28
`_3.85esm
`uuuoocmm._Bw
`
`._8_mEma
`
`c
`
`2-5
`
`E
`
`mmmEEoo
`
`.ao_m.28
`
`_HH__ _E__9+3H_mz2c_mE:r
`_____H:HHfix.H3+:H_xugmsun__x8_m.23,5o_m£8_._uo.m.28H.m>_momm_HHozmuamHmzmummHmzmowm
`
`n+3H
`
`_H__.__c__3+;H:+_.HH62mEmaHH,_8_mmac_fio_m.23.._3_mman
`_._H__c__8+;_3+;__H._8_m38HHxuo.mEmaH._oo_mEmaHv_8_mEma
`__.________nlran».2
`.mmmaeoo._mmm._uEoo_mmm.aEoo_aaasoo
`
`
`__oououcmEflwHHuovoocm...u.._2mHuouoocm29mHuauoucm29w
`
`awmm30_n_
`
`.___.___H__H____H__H___._________H.____H_H_
`
`
`
`mmmaeoommm._aEoummmacboH
`
`._8_mmfio._8_mEma,_8_mmanH.%..w_.mn__..m.mnn._
`9-5:1.__
`
`__ldn'moE:
`
`uououcm32wumuoocm22wumuoocm92mHuououcwm._2w
`8.5_2.;H._8_m23._8_mmanx8_mman_._u2msun
`
`_..
`
`_
`
`

`
`ndPamU
`
`..lHC..l
`
`Jul. 29, 2003
`
`Sheet 6 of 20
`
`US 6,601,104 B1
`
`__H____HWPHEHEH
`
`IE2 HH__H_.__H_H_.H8_m23H_H;_8_muse.N._8_m2.5_N,_8_m£3_C_8_msun_.H8_mwas
` __H_____HH___H_H_..8_m28HHVx8_m98HN._8_m.23HN,_8_m23HH.._8_m53H,_8_m2.3
`
`H__H_H__HHHHHHHHHHH__._8_mSan__v._uo_m23_m185Ema_N..uoHmmac_C_8_m3.3_xoo_mEmaHmmE..._EoomoHHmmoEEoomn_Hmmm._nEoomn_Hmmu.aEoowoHmmm.aEouwn_HmmmEEouaoHHHHHHHnlollo
`_H__H_H__H_HH_
`Hm>u.cHmmHHm>oEa¢Hm>m.EmmHw>mEmmHm>m_._EmHufisam
`_umuoumo53:0__Buoomo59:0_8_u8ooH350__.%8on_5930_BuoomoS930_uwuoooo59:0
`
`__..HHHHH__HH__HHH_.-_H..8_mmamHHNv_3_mmanHNH8593H_..H8_m93HH._8_m23
`_H__H___H_H__HH__H___HN-_H
`HHH__H____H__No.._._.m_s_
`62mEma__N._o2mE3_SH8_m3.3___.Huo_mEmaHuwuoooo59:0HHHumuouom59:0Humuouoo3930HHHuouoooo53:0
`Hmmoieouoo_Hmmo:HEoomn__mmmaEoown__mmmaEouonHH_m$aE8on_
`
`mmm_m:o_“_
`
`
`

`
`..lH8..l3PamU
`
`Jul. 29, 2003
`
`Sheet 7 of 20
`
`I.06.,6SU
`
`IB40J,
`
`_________Moozpmz ___H.___:__fim+a_He+a_HH,_8_mEmaHH._8_mSan.Hx8_mmanH._8_mEma
`._____._______.norm: ______HHcHH3+;H:.+uH__v_oO_mmama_Hxoo_mEND_xuo_mEND_xoo_mENDHHo>m.5omHHw>m_.aumH9.65amHm..a___.mm
`_.HHHH__.HcH:-5HH2+;H_H_._8_mmacHxuo_mEma__xoo_m_Ema_xoo_mEma_._8_msun
`
`..358853:0__uwuoumo53:0_38085930.Enema59:0._H__._HH_____._._8+:H2+;_HH..8_m58HH._8_msun.H._8_msun.Hxosm«.8
`_mmuaeouooHmw9nEoomn_H_mmm.aEouon__mm2aEcomn_Hmmoasouoo
`__mma.aEooon___mmEqEouon__wmmaEoumo_mmEaEoumn_
`
`H_H__
`
`
`
`
`umo8an_5310H_umuoumn_5&_._OHuonoomnzzafioHHumuouonzafisoHuwuoumnzznfioHuouoomn53:0
`_.___HcH.75H3.5HH_H:._HHxuo_m_Ema_xuo_mEma_xuofiEmaH_xuo_mEma_xoo_mEma_v_oo_mEma
`
`pmmmaoz
`
`
`
`5...:H:3:HEHHAw+_H._.HHE:H_aa2.__E:
`
`

`
`U.S. Patent
`
`Jul. 29, 2003
`
`Sheet 8 of 20
`
`US 6,601,104 B1
`
`Receive Initial
`
`Data Block From
`
`Input Data
`Stream
`
`~ 600
`
`B
`
`Time & Count
`Data Block
`
`602
`
`Buffer
`Data Block
`
`'“ 504
`
`Compress Data
`Block with
`
`Encoder(s)
`
`~ 606
`
`Time 8. Count
`Data Block
`
`W 608
`
`FIGURE 6a
`
`

`
`U.S. Patent
`
`Jul. 29, 2003
`
`sheet 9 of 20
`
`US 6,601,104 B1
`
`-- 610
`
`Determine
`
`Compression Ratio ~ 612
`and Bandwidths
`
`Store Data
`
`~ 514
`
`
`
`Compression
`Ratio and input
`Bandwidth
`
`Compatible
`9
`
`
`
`
`Modify:
`Input Bandwidth Dr
`Compression or
`Buffering
`
`
`
`Receive Next Data
`
`Block From Input
`Stream
`
`
`
`
`More Data Blocks in
`Input Stream ?
`~6m
`
`No
`
`
`
`Terminate Storage
`Acceleration Process
`5
`an
`
`
`
`FIGURE 6b
`
`

`
`U.S. Patent
`
`Jul. 29, 2003
`
`Sheet 10 of 20
`
`US 6,601,104 B1
`
`Retrieve Initial
`
`Data Block
`
`From Storage
`Device
`
`~ 700
`
`Time 8- Count
`Data Block
`
`"‘ 702
`
`
`
`
`
`
`De-coder(s)
`
`Time & Count
`Data Block
`
`N 708
`
`FIGURE 7.3
`
`Decompress Data
`Block with
`
`

`
`U.S. Patent
`
`Jul. 29, 2003
`
`Sheet 11 of 2.0
`
`US 6,601,104 B1
`
`~ 710
`
` Determine
`Decompression
`Ratio and
`Bandwidths
`
`
`
`*- 712
`
`Output Accelerated
`Data Block
`
`~ 714
`
` Modify:
`Output Bandwidth or
`Decompression or
`Buffering
`
`
`
`Decompression
`Ratio and Output
`Bandwidth
`
`Compatible
`?
`
`Yes
`
`Retrieve Next Data
`Block From
`
`Storage Device
`
`
`
`
`
`
`FIGURE 7b
`
`
`
`
`Yes
`
`More Data Blocks
`for Output Stream ?
`
`~ 720
`
`
`
`
`
`No
`
`Terminate Retrieval
`Acceleration Process
`
`
`
`722
`
`

`
`U.S. Patent
`
`Jul. 29, 2003
`
`sheet 12 of 211
`
`US 6,601,104 B1
`
`
`
`._2a_.:ummn..xiEmm.____mEmabwnoocm.
`
`
`
`.._o_Etomuo:ou__maEo0
`
`:.£::oo.:ut=m
`
`mmmaoz
`
`mmfloumA£oo_>uo
`
`
`.Ema
`
`Baaumfifim.
`
`H3oo_>on_
`
`mu.atmE_
`
`_.Eucnootatzm
`
`N._2c:oo:ot:m
`
`
`
`2;.....:o__ac_E_3oo
`
`
`
`
`
`:o_mmuEEooozmmco_wmoEEo0mBucnoototzmEmflm
`
`Ego.
`
`
`
`
`

`
`amU
`
`05,6S
`
`1B40J,
`
`1mmN_D0_n_
`
`
`m.3950_Novn__m.Emason_M..
`
` .jL__..I......2n.._:um@Q=32\EE3n__E___M...__PII!IIIIIIIII1IIIIIOIlII!IIIIOIIII
`
`Ucmi||IaIIIUIIIIIoIII|IIIII1IIIOIIallIJ_8_"_m2__PI.u_Eu__m..o_“W1m.montage.
`.Ema
`
`Emohm__unflouw
`
`_noLououoo.n£uo_>o.u
`
`
`

`
`Jul. 29, 2003
`
`Sheet 14 of 2|!
`
`US 6,601,104 B1
`
`mmm._9m
`
`8fi._m_moo<
`
`Smmzom
`
`33:0Ema
`
` U.S.Patent
`Emmhm32>
`
`
`3.3%.
`
`

`
`Jul. 29, 2003
`
`Sheet 15 of 20
`
`US 6,601,104 B1
`
`on:03...8:ONE.05;.8..¢¢¢,..
`
`
`
`.m=mE._on_boEm__2I_§%_n_S330
`
`END
`
`_m>m.5.....w_
`
`_Bm.m_muu<
`
`
`
`_._.m_«=._o_u_
`
` U.S.Patent
`
`£3.§%_o
`
`Emmbm
`
`
`
`

`
`U
`
`t
`
`M
`
`h
`
`0
`
`SU
`
`011.‘.
`
`.1B
`
`..m_£_a_oImPm_.ESEmao_m<
`%t....>.._ooo
`
`.95.mos.
`
`mmm?89m..,.
`..,.I.o.mE.muo<x:oI%%MMI:3.M
`MEmwamIm,.59:098£3§_m_oM_m._mam
`
`oumtw_c_x:_2cSunatomSq:_n0use_S_m_n_H_~_am
`
`,..
`
`
`
`4N_.mm_:o_n_
`
`6,.
`
`mmmmfi
`
`
`

`
`U.S. Patent
`
`Jul. 29, 211113
`
`sheet 17 of 211
`
`US 6,601,104 B1
`
`
`Select Initial
`Select lnitial
`.
`.
`.
`
`Analog Data with
`Parallel Digital
`53:: ";:;tt':]l?:ta'
`Input Analog
`Data with Input
`M
`P
`UX
`
`Mux
`Mux
`
`1312
`
`
`
`
`
`
`
`
`
`Latch Parallel
`Digital Input Data
`
`Convert Serial
`Data Format
`
`
`131‘
`
`
`
`Agifigeig g'g:‘a'
`Signal p
`
` Buffer Serial
`Buffer Parallel
`Digital Data
`
`
`Digital Data
`
`1316
`
`
`
`
`
`
`Buffer Digitized
`Analog Data
`
`
`
`
`Compress Input Data Block
`
`
`Output Encoded
`Data Block
`
`
`FIGURE 13
`
`

`
`Jul 29. 2003
`
`Q...
`
`Bmufl
`
`
`
`_m._m_o_o__Ean_
`
`man
`
`":'-3
`E-3
`0
`
`
`
`mEmaM§_2o_m__om
`
`SU
`
`m1.‘.0
`
`.1B
`
`6.,mg:9.1mm:5,
`
`4E.manor.
`
`
`
`_m>_.n_.m
`
`_m__om_coEoEM3.2_..mm_.M._._,..”._m33Io_m_._mw.
`
`_m>m.Eom
`
`.o.Em_auu<
`
`Ema5%.
`
`Emmbw
`
`Sanmo_m:<
`
`O00
`
`mo_m:<2_m._m_n_
`
`tm>:oo
`
` U.S.Patent
`
`
`
`
`

`
`U.S. Patent
`
`Jul. 29, 2003
`
`Sheet 19 of 211
`
`US 6,601,104 B1
`
`
`
`Receive Initial
`Data Block
`
`"‘ 1500
`
`
`
`Decompress Data .-.. 1532
`Block
`
`ata Digitize
`Analog Data
`
` NO
`
`
`ls Data
`
`Digital Parallel
`Data ‘?
`
`'~--- 1510 YES
`
`Analog Data
`
`Buffer Digitized
`
`Buffer Parallel
`Digital Data
`
`Buffer Serial
`Digital Data
`
`FIGURE 15a
`
`

`
`U.S. Patent
`
`Jul. 29, 2003
`
`Sheet 20 of 20
`
`US 6,601,104 B1
`
`Digital to Analog
`Convert Data
`
`Demux Digital
`Parallel Data
`
`Output Analog
`Data
`
`Oulput Parallel
`Digital Data
`
`Output Serial
`
`Yes
`
`Receive Next
`
`Data Block
`
`FIGURE 15b
`
`

`
`US 6.6il1_.l04 B1
`
`1
`SYSTEM AND METHODS FOR
`ACCIIZLERATED DATA STORAGE AND
`RETRI EVA] .
`
`BACKGROUND
`
`1. Technical Field
`
`The present invention relates generally to data storage and
`retrieval and, more particularly to systems and methods for
`improving data storage and retrieval bandwidth utilizing
`Iosslcss data compression and decompression.
`2. Description of the Related An
`Information may be represented in it variety of manners.
`Discrete inforntation such as text and numbers are easily
`represented in digital data. This type of data representation
`is known as symbolic digital data. Symbolic digital data is
`thus an absolute representation of data such as a letter,
`figure, character. mark, machine code. or drawing.
`Continuous information such as speech, music, audio,
`images and video frequently exists in the natural world as
`analog information. As is well-known to those skilled in the
`art, recent advances in very large scale integration {\/LS1)
`digital computer technology have enabled both discrete and
`analog information to be represented with digital data.
`Continuous information reprcsenterl as digital data is often
`referred to as dilluse data. Ditfuse digital data is thus a
`representation of data that is of low information density and
`is typically not easily recognizalile to humans in its native
`form.
`
`There are many advantages associated with digital data
`representation. For instance. digital data is more readily
`processetl, stored, and transmitted due to its inherently high
`noise immunity. In addition. the inclusion ofrcdttndancy in
`digital data representation enables error detection andror
`correction. Error detection andior correction capabilities are
`dependent upon the amount and type of data redundancy,
`available error detection and correction processing, and
`extent of data corruption.
`One outcome of digital data representation is the continu-
`ing need For increased capacity in data processing. storage.
`and transmittal. This is especially true for dilluse data where
`increases in fidelity and resolution create exponentially
`greater quantities of data. Data compression is widely used
`to reduce the amount of data required to process, transmit,
`or store a given quantity of inlbnnatiort. In general, there are
`two types of data compression techniques that may be
`utilized either separately or jointly to enco-deidecode data:
`Iossy and losslcss data compression.
`lios-sy data compression techniques provide for an inexact
`representation of the original uncompressed data such that
`the decoded (or reconstructc.-cl) data dilfers from the original
`uncncodedruncompresscd data. Lossy data compression is
`also known as in'evers1"hle or noisy oompression. Negent-
`ropy is defined as the quantity ofinformation in a given set
`of data. Thus, one obvious advantage. of tossy data com-
`pression is that the compression ratios can be larger than that
`dictated by the negentropy limit, all at
`the expense of
`information content. Many lossy data compression tech-
`niques seek to exploit various traits within the human senses
`to eliminate otherwise imperceptible data. For example.
`Iossy data compression of visual
`irnagery might seek to
`delete information content in excess of the display resolution
`or contrast ratio of the target display device.
`On the other hand, lossless data compression techniques
`provide an exact representation of the original uncom-
`
`.10
`
`10
`
`J
`
`Ian
`
`40
`
`St]
`
`55
`
`Evil
`
`55
`
`2
`pressed data. Simply stated, the decoded (or reconstructed)
`data is identical
`to the original uncncodcdfuncompressed
`data. I.ossle.~:s data compression is also known as reversible
`or noiseless compression. Thus, losslcss data compression
`has. as its current limit, a minimum representation defined
`by the ncgcntropy of a given data mt.
`it is well known within the current art that data. compres-
`sion provides several unique benefiLs. First, data compres-
`sion can reduce the time to transmit data by more elliciently
`utilizing low bandwidth data links. Second, data compres-
`sion econontizes on data storage and allows more inf'orrna-
`[ion to be stored for a liired memory sire by representing
`information more efficiently.
`One problem with the current art is that existing memory
`storage devices severely limit the pcrforrnance of consumer.
`entertainment. ollicc, workstation, servers, and mainframe
`computers for all disk and memory intensive operations For
`example, magnetic disk mass storage devices currently
`employed in a variety of home, business. and scientific
`computing applications suller from sigttilicattt seek-time
`access delays along with profound reacliwritc data rate
`limitations. Currently the fastest available { |0,0tl0) rpm disk
`drives suppon only a l'z'.1 Megabyte per second data rate
`(MBfsec]. This is in stark contrast to the modern Personal
`Computcr’s Peripheral Component Interconnect (PCl} Buss
`in putfoutput capability ol"Z'.6-1 MBr’sec and internal local bus
`capability of B00 Mlirsec.
`Another problem within the current art is that emergent
`high performance disk interface standards such as the Small
`Computer Systems Interface [SCSI-3) and Fibre Cltanncl
`oifcr only the promise of higher data transfer rates through
`intermediate data buffering in random access memory. These
`interconnect strategies do not address the fundamental prob-
`lem that all modern magnetic disk storage devices for the
`personal computer marketplace are still limited by the same
`physical media restriction of 17.] MBi'sec.
`1’aster disk
`access data rates are only achieved by the high cost solution
`of simultaneously accessing multiple disk drives with a
`technique known within the art as data striping.
`Additional problems with bandwidth limitations similarly
`occur within the art by all other forms of sequential, pseudo-
`random, and random access mass storage devices. Typically
`mass storage devices include magnetic and optical tape,
`magnetic and optical disks. and various solid-state mass
`storage devices. It should be noted that the present invention
`applies to all forms and manners of memory devices includ-
`ing storage deviccs utilizing magnetic, optical, and chemical
`techniques. or any combination thereof.
`SUMMARY OF THE INVENTION
`
`The present invention is directed to systems and methods
`for providing accelerated data storage and retrieval by
`utilizing lossless data compression and decompression. The
`present invention provides an eiIc-ctive increase of the data
`storage and retrieval bandwidth of :1 memory storage device.
`In one aspect of the present invention, a method for provid-
`ing accelerated da ta storage and retrieval comprises the steps
`of:
`
`receiving at data stream at an input data transmission rate
`which is greater than a data storage rate of a target
`storage device:
`compressing the data stream at a compression ratio which
`provides a data compression rate that is greater than the
`data storage rate;
`storing the compressed data stream in the target storage
`device;
`
`

`
`US 6_.6(l1_.104 B1
`
`3
`retrieving the contpncssed data stream from the target
`storage device at a rate equal to a data access rate of the
`target storage device; and
`dccornprcssing the compressed data at a decompression
`ratio to provide an output data stream having an output
`transmission rate which is greater than the data access
`rate of the target storage device.
`In another aspect of the present invention. the method for
`providing accelerated data storage and retrieval utilizes a
`compression ratio that is at least equal to the ratio of the
`input data transmission rate to the data storage rate so as to
`provide continuous storage of the input data stream at the
`input data transmission rate.
`in another aspect of the present invention, the method for
`providing accelerated data storage and retrieval utilizes a
`decompression ratio which is equal to or greater than the
`ratio of the data access rate to at maximum accepted output
`data transmission rate so as to provide a continuous and
`optimal data output transmission rate.
`In another aspect of the present invention the data storage.
`and retrieval accelerator method and system is employed in
`a disk storage adapter to reduce the time required to store
`and retrieve data Erorn computer to a disk memory device.
`In another aspect of the present invention the data storage
`and retrieval accelerator method and system is employed in
`conjunction with random access memory to reduce the time
`required to store and retrieve data from random access
`memory.
`In another aspect of the present invention a data storage
`and retrieval accelerator method and system is employed in
`a video data storage system to reduce the time required to
`store digital video data.
`In another aspect of the present invention the data storage
`and retrieval accelerator method and system is employed in
`a display controller to reduce the time required to send
`display data to the display controller or processor.
`In another aspect of the present invention the data storage
`and retrieval accelerator method and system is employed in
`an inputloutput controller to reduce the time required to
`store. retrieve, or transmit data various forms of data.
`The present invention is realized due to recent improve-
`ments in processing speed. inclusive ofdeclicatcd analog and
`digital hardware circuits. central processing units. digital
`signal processors, dedicated finite state machines (and any
`hybrid combinations thercol’), that. coupled with advanced
`data compression and decompression algorithms, are
`enabling of ultra high bandwidth data compression and
`decompression methods that enable improved data storage
`and retrieval bandwidth.
`These and other aspects, features and advantages. of the
`present invention will become apparent horn the following
`detailed description of preferred ernbodiments, that is to he
`read in connect ion with the accompanying drawings.
`
`BRlI_i["' l)l£SC‘RIP'I'lON OF THE. DRAWINGS
`
`FIG. 1 is a block diagram of a system for accelerated data
`storage and retrieval according to one embodiment of the
`present invention;
`FIG. 2 is a How diagram oft] method for accelerated data
`storage in accordance with one aspect of the present inven-
`non;
`FIG. 3 is a How diagram of a method for accelerated data
`retrieval
`in accordance with one aspect of the present
`invention;
`FIGS. 40 and -1b are timing diagrams of methods for
`accelerated data storage according to the present invention;
`
`or
`
`.10
`
`15
`
`40
`
`SU
`
`6i!
`
`65
`
`4
`FIGS. Sn and 5b are liming diagrams of methods for
`accelerated data retrieval according to the present invention:
`FIGS. 6n and 6b cont prise a flow diagram of a method for
`accelerated data storage in accordance with a further aspect
`of the present invention;
`FIGS. 7n and 7b comprise a How diagram of a method for
`accelerated data retrieval in accordance with a further aspect
`of the present invention;
`FIG. 8 is a detaj led block. diagram of a system for
`accelerated data storage according to a preferred embodi-
`ment of the present invention;
`FIG. 9 is a detailed block diagram of a system for
`accelerated data retrieval according to a preferred embodi-
`ment of the present invention;
`FIG. 10 is a block diagram of a system for accelerated
`video storage according to one embodiment of the present
`invention:
`FIG. 11 is a block diagram oi’ a system for accelerated
`retrieval of video data according to one embodiment oi’ the
`present invenLion;
`FIG. 12 is a block diagram of an inputtoutput controller
`system for accelerated storage of analog, digital, and serial
`data according to one emborliinunt ofihc present invention;
`FIG. 13 is a flow diagram of a method for accelerated
`Storage of analog, digital, and serial data according to one
`aspect of the present invention;
`FIG. 14 is a block diagram of an inputtoutput system for
`accelerated retrieval of analog, digital, and serial data
`according to one embodiment of the present invention: and
`FIGS. 15:: and 15!: comprise a flow diagram of method
`for accelerated retrieval of analog, digital, and serial data
`according to one aspect of the present invention.
`Dl_"’l'AlLED DES(?RlP'FlGN Oi? PREFERRED
`EMBODIMENTS
`
`The present invention is dtrcctetl to systems and methods
`for providing improved data storage and retrieval bandwidth
`utilizing lossless data compremaion and decompression. In
`the following description, it is to be understood that system
`elements having equivalent or similar functionality are des-
`ignated with the same reference numerals in the Figures. It
`is to be further understood that the present invention may be
`implemented in various forms of hardware. software,
`firmware, or a combination thereof. Preferably, the present
`invention is implemented on a computer platform including
`hardware such as one or more central processing units
`(CPU) or digital signal processors IIDSP), a random access
`memory (RAM). and ioputfoutput (U0) interface{s}. The
`computer platform may also include an operating system.
`microinstruction code, and dedicated processing hardware
`utilizing combinatorial
`logic or finite state niachines. The
`various processes and functions described herein may be
`either part 01' the hardware, microinstruction code or appli-
`cation programs that are executed via the operating system.
`or any combination thereof.
`It is to he further understood that. because some of the
`constituent syste-In components described herein are prefer-
`ahly implemented as software modules, the actual system
`connections shown in the Figures may differ depending
`upon the manner in that the systems are programmed. It is
`to be appreciated that special purpose microprocessors,
`digital signal processors, dedicated hardware, or and com-
`bination thereof may be employed to implement the present
`invention. Given the teachings herein. one of ordirtary skill
`in the related art will be able to contemplate these and
`similar implerncntations or conligurations ol‘ the present
`invention.
`
`

`
`US 6,601,104 B1
`
`.10
`
`EU
`
`Jl
`
`30
`
`5
`Relicrring now to FIG. 1, a block diagram illustrates a
`system for accelerated data storage and retrieval
`in accor-
`dance with an embodiment ct‘ the present invention. The
`system includes ti data storage accelerator 10, operatively
`coupled to a data storage device 45. The data storage 5
`accelerator operates to increase the eflective data storage
`rate of the data storage device 45. It is to be appreciated that
`the data storage device 45 may be any tonrt of memory
`device including all fonns of sequential, pseudo-random,
`and random ttcccss storage devices. The memory storage
`device 45 may he volatile or non-volatile in nature, or any
`combination thereof. Storage devices as known within the
`current an include all
`fontrts of random access memory,
`magnetic and optical tape. ntagnetie and optical disks, along
`with various other fonns ot'solid—state mass storage devices.
`Thus it should he noted that the current invention applies to
`all forms and manners of memory devices including, but not
`limited to, storage devices utilizing magnetic, optical, and
`chemical techniques. or any combination thereof.
`The data storage accelerator ll] receives and processes
`data blocks from an input data stream. The data blocks may
`range in size from individual bits through complete files or
`collections of multiple files, and the data block size may be
`fixed or variable. In order to achieve continuous data storage
`acceleration, the data storage accelerator 10 must be con~ .
`figured to compress a given input data block at a rate that is
`equal to or faster than receipt of the input data. ‘thus, to
`achieve optimum throughput, the rate that data blocks from
`the input data stream may be accepted by the data storage
`accelerator 10 is at function of the size of each input data
`block, the compression ratio achieved, and the bandwidth of
`the target storage device. For example, if the data storage
`device 45 (t:.g., a typical
`target mass storage device] is
`capable of storing 20 megabytes per second and the data
`storage accelerator II} is capable of providing an average
`compression ratio of3: t . then 60 megabytes per second may
`be accepted as input and the data storage acceleration is
`precisely 3:], equivalent to the average compression ratio.
`It should be noted that
`it
`is not
`:1 requirement of the
`present invention to configure the storage accelerator 10 to
`compress it given input data block at a rate that is equal to
`or faster than receipt of the input data. Indeed, if the storage
`accelerator 10 compresses data at a rate that is less than the
`input data rate. butlering may be applied to accept data from
`the input data stream for subsequent compression.
`Additionally, it is not a requirement that the data storage.
`accelcralor 10 utilize data compression with :1 ratio that is at
`least the ratio ol’ the input data stream to the data storage
`access rate of the data storage device 45. Indeed,
`it" the
`compression ratio is less than this ratio. the input data stream
`may be periodically halted to effectively reduce the rate of
`the input data stream. Alternatively, the input data stream or
`the output of the data accelerator 10 may be buffered to
`temporarily accommodate the mismatch in data bandwidth.
`An additional alternative is to reduce the input data rate to
`rate that is equal to or slower than the ratio of the input data
`rate to the data storage device access rate by signaling the
`dttta input source and requesting a slower data input rate, if
`possible.
`Referring again to FIG. 1, a data retrieval accelerator 80
`is operative ly connected to and receives data from the data
`storage device 45. The data retrieval accelerator 8|] receives
`and processes compressed data from data storage device 45
`in data blocks that may range in size from individual hits
`through complete tiles or collections of multiple files.
`Additionally,
`the input data block size may he lixed or
`variable. The data retrieval accelerator 80 is configured to
`
`40
`
`5t]
`
`55
`
`6t]
`
`65
`
`6
`decompress each compressed data block which is received
`from the data storage device 45. In order to achieve con-
`tinuous acceleratcd data retrieval. the data retrieval accel-
`erator rnust decompress a given input data block at a rate that
`is equal to or faster than receipt of the input data.
`In a manner analogous to the data storage accelerator It},
`achieving optimum throughput with the data retrieval accel-
`erator R0 is a function of the rate that compressed data
`blocks are retrieved Erom the data storage device 45, the
`of each data block, the decompression ratio achieved, and
`the limitation on the bandwidth oithe output data strcant, if
`any. For example, if the data storage device 45 is capable of
`continuously supplying 20 megabytes per second and the
`data retrieval accelerator 80 is capable of providing an
`average decompression ratio of 1:3, then a 60 megabytes per
`second output data stream is achieved, and the correspond-
`ing data retrieval acceleration is precisely 1:3, equivalent to
`the average dccomprtssion ratio.
`It is to be understood that it is not required that the data
`retrieval accelerator 80 utilize data decompression with a
`ratio that is at most equal to the ratio of the retrieval rate of
`the data storage device 45 to the maximum rate data output
`stream. Indeed. ifthe decompression ratio is greater than this
`ratio, retrieving data from the data storage device may be
`periodically halted to eflectively reduce the rate of the output
`data stream to be at or below its maximum. Alternatively, the
`compressed data retrieved from the data storage device 45 or
`the output of the data decompressor may be bullerecl
`to
`temporarily accommodate the mismatch in data bandwidth.
`An additional alternative is to increase the output data rate
`by signaling or otherwise requesting the data output device
`(5.) receiving the output data stream to accept a higher
`bandwidth. if possible.
`Referring now to FIG. 2, a [low diagram of a method for
`accelerated data storage accordirtg to one aspect ol‘

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