throbber
United States Patent (19)
`Tien et al.
`
`USOO61381.83A
`Patent Number:
`11
`(45) Date of Patent:
`
`6,138,183
`Oct. 24, 2000
`
`54) TRANSPARENT DIRECT MEMORY ACCESS
`
`(75) Inventors: Paul Tien, Fremont; Cheng-Yeuan
`Tsay, Pleasanton; RSong-Hsiang Shiao,
`Fremont, all of Calif.
`73 Assignee: ESS Technolgoy Inc., Fremont, Calif.
`
`21 Appl. No.: 09/074,656
`22 Filed:
`May 6, 1998
`(51) Int. Cl." ...................................................... G06F 13/14
`52 U.S. Cl. ................................ 710/22; 710/129; 703/23
`58 Field of Search ................................ 710/22, 28, 126,
`710/129, 240, 260, 261, 264, 128; 395/500.44,
`500.45, 500.46, 500.47; 703/26, 25, 24,
`23
`
`56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`5,506.997 4/1996 Maguire et al. ........................ 710/260
`5,619,703 4/1997 Omid et al. ......
`... 710/261
`5,621,902 4/1997 Cases et al. .....
`... 710/129
`5,664,197 9/1997 Kardach et al. .
`... 710/240
`5,673,400 9/1997 Kenny ..............
`... 710/129
`... 710/28
`5,678,064 10/1997 Kulik et al. ......
`... 710/22
`5,729,762 3/1998 Kardach et al. .
`710/261
`5,740,452 4/1998 Story et al. ......
`... 710/266
`5,745,772 4/1998 Klein ........
`5,752,043 5/1998 Suzuki ..
`... 710/264
`5,765,024 6/1998 Riley ......................................... 710/22
`
`5,778,242 7/1998 Wang ........................................ 71.2/40
`5,805,842 9/1998 Nagarajetal
`710/126
`5,848,278 12/1998 Sakai ....................................... 710/260
`OTHER PUBLICATIONS
`Implementing Legacy Audio On The PCI Bus, by Gary
`Solomon, Intel Corporation 1997.
`Primary Examiner-Glenn A. Auve
`Attorney, Agent, or Firm-Gray Cary et al.
`57
`ABSTRACT
`A transparent direct memory acceSS method comprises emu
`lating an ISA-bus mapped direct memory access controller
`(ISA-DMAC) with a PCI-bus mapped direct memory access
`controller (PCI-DMAC). The ISA-DMAC exists, but there
`may not actually be any resources mapped into the ISA-bus
`space. Write Snooping by the PCI-DMAC of a PCI-bus
`processor detects whenever an attempt is made to write the
`ISA-DMAC, and copies the data written into the ISA
`DMAC registers into a corresponding register of the PCI
`DMAC. The direct memory access operation commanded
`by the PCI-bus processor of the ISA-DMAC is performed by
`the PCI-DMAC in the PCI-bus resource space. When the
`direct memory access operation is completed, the PCI
`DMAC updates its registers and does a write back to update
`the ISA-DMAC registers. The PCI-buS processor can then
`read the PCI-DMAC directly for status, or if legacy software
`is running the ISA-DMAC will respond with the appropriate
`register value.
`
`6 Claims, 3 Drawing Sheets
`
`
`
`
`
`processor
`
`Y
`
`86
`
`PC-DMAC
`
`PC recources
`
`PC-DMAC
`register
`
`98
`
`
`
`-
`PC-buS
`
`
`
`non-existent
`SA resources
`
`SA-DMAC
`
`92
`
`SA-DMAC
`register
`
`Intel Corporation v. ACQIS LLC
`Intel Corp.'s Exhibit 1041
`Ex. 1041, Page 1
`
`

`

`US. Patent
`
`h
`
`B
`
`3m
`
`0395mm2m32mml5:280mmapE99?
`
`omboEmE
`
`9
`
`memooa
`
`map59385
`
`if
`
`orEmEmmmcmE538
`
`Waxoom
`
`So‘mm.
`m:-Bpxmmm5:058w.mowEE3965;9th
`
`
`
`(09mO_mmmDNN.
`
`m:p-<m_o
`
`8,2.209:3momV
`
`Ex. 1041, Page 2
`
`Ex. 1041, Page 2
`
`
`
`
`

`

`U.S. Patent
`US. Patent
`
`2M,
`
`m
`
`Vm
`
`
`
`O0800838mm\mm3
`
`mLommmooamam;Emagmn
`
`99
`
`09
`Om
`
`m.9;
`
`
`
`
`
`
`
`M
`
`2WN—
`
`EmumyGumE<mm
`
`3E
`
`0/
`
`x222n61:
`
`d5)dH
`
`emcee08Wmm
`
`09
`
`89
`
`samm<I
`
`assy […]
`
`mcomom>m>>
`
`mrxmrm
`
`6,138,183
`1,
`
`%Nu
`
`6.,m3vmxm_a:_:E
`
`8O\_m0
`
`.NBtom90.F9&0an9m
`
`29
`mm
`
`5a
`
`835::
`
`Ex. 1041, Page 3
`
`Ex. 1041, Page 3
`
`
`
`

`

`U.S. Patent
`
`Oct. 24, 2000
`
`Sheet 3 of 3
`
`6,138,183
`
`08
`
`N
`
`• • • • • • • • = = = = = = …
`
`26
`
`
`
`
`
`
`
`86
`
`98
`
`|Od
`
`JosseoOld
`
`Ex. 1041, Page 4
`
`

`

`1
`TRANSPARENT DIRECT MEMORY ACCESS
`
`FIELD OF THE INVENTION
`The present invention relates to digital electronic circuits,
`and more particularly to personal computer PCI-bus direct
`memory acceSS controllers that emulate ISA-bus direct
`memory access controllers and that redirect ISA-bus
`resource acceSS requests to PCI-bus resources. The present
`invention further relates to high performance PCI-bus based
`PC audio Solutions with a common architecture for desktop,
`notebook, and add-in card computers. The present invention
`specifically relates to PCI-bus solutions that maintain DOS
`and SOUNDBLASTER(R) compatibility without requiring
`an ISA-bus, a particular core logic chipset, or a System
`motherboard implementation.
`DESCRIPTION OF THE PRIOR ART
`IBM-compatible personal computerS almost universally
`used the industry standard architecture (ISA) bus in combi
`nation with a motherboard. A great deal of Software has been
`written and Sold in the industry that is at least, in part,
`dependent on the ISA-bus Software interfaces and Systems
`resources. The peripheral component interconnect (PCI) bus
`is now rapidly becoming the universal Standard amongst
`personal computer manufacturers and users. However, the
`Software interfaces and Systems resources on a PCI-buS
`System are different enough to make the installed base of
`ISA-bus dependent Software at least partially incompatible
`and not upward compatible.
`A group of System-bus chip manufacturers have joined
`forces to endorse a technology they say will help vendors
`mix PCI and ISA bus subsystems or integrated circuits.
`However, analysts describe the so-called Common Archi
`tecture proposal as a new Solution to a problem already
`adequately Solved. The alliance members, Digital Equip
`ment Corp., National Semiconductor Corp., Opti, Pico
`Power Technology, Standard Microsystems Corp., Texas
`Instruments, and VLSI Technology, say the proposed Stan
`dard will improve the handling and implementation of ISA
`and PCI devices in a Single computer. The new proposal
`partitions the motherboard, allowing System integrators
`greater flexibility in their choices of components Such as
`core logic, PCI bridges, and graphics controllers. Because
`integrators will have more component options, its advocates
`Say, Common Architecture should reduce overall manufac
`turing costs. Devices based on Common Architecture will
`emphasize the newer PCI bus, with the older ISA bus
`Supported as an optional feature. While ISA legacy devices
`will be fully Supported, physical-component connections
`will be routed through the PCI bus to eliminate sideband
`signals that straddle the chip set. The PCI bus will support
`distributed direct memory access (DMA) on the ISA side.
`Manufacturers will have the option of using Sideband Signals
`and extra chips on either Side. Analysts are nonplused,
`pointing out that System vendors seem Satisfied with current
`PCI/ISA architectures, buS Standards, and core-logic chip
`SetS.
`The PCI-based audio and communications accelerator
`industry is also rapidly transitioning from ISA bus-based
`audio solutions to the more powerful PCI-bus enabled
`engines. The ISA-bus is increasingly unable to Support the
`advanced audio processing required by new multimedia
`applications and upcoming personal computer Standards.
`This is driving the need for high bandwidth PCI-bus accel
`erators. A Second factor is the close coupling of audio and
`modem technology that makes integrating these Subsystems
`more attractive.
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6,138,183
`
`2
`PC-audio is predicted to move from ISA-bus based prod
`ucts implementing the SOUNDBLASTER(R) standard to
`PCI-bus based products that will deliver enhanced levels of
`performance. Products that provide backward compatibility
`for legacy applications, as well as enhanced DIRECT
`SOUND(R) performance, are expected to have a commercial
`advantage during this period of transition.
`Legacy game compatibility will need to be maintained as
`more audio equipment and their manufacturers move to use
`the PCI-bus.
`Microsoft DOS-based games are conventionally Sup
`ported by at least two industry legacy-Support protocols,
`e.g., PC/PCI-bus, and distributed DMA (DDMA). However
`these do not offer complete hardware game compatibility
`that is independent of the PC/PCI-bus or DDMA Support.
`Market realities are such that software compatibility must be
`maintained for all applications written for SOUND
`BLASTER PRO(E), Ad Lib, Microsoft WINDOWS Sound
`System, DIRECTSOUNDTM, and Microsoft ACTIVEX(R).
`The bandwidth and bus mastering capabilities required for
`optimum Support of Software that has been written to
`Microsoft DIRECTSOUND(R), DIRECT3DSOUNDE), and
`DIRECTXOR) application programming interfaces require a
`PCI-bus system. The market also demands that PC audio
`Solutions continue to Support the vast installed base of
`applications developed for the SOUNDBLASTER/ISA-bus
`Standard. Complete hardware Support is needed for existing
`Software titles written for the SOUNDBLASTER Standard
`without diminishing the new audio capabilities enabled by
`the PCI-bus.
`Therefore, an advanced and Scalable PCI-bus based audio
`product family is needed that preserves complete DOS game
`Support, regardless of core logic legacy Support, to eliminate
`the competitive risk of not being compatible with the huge
`installed base of DOS games.
`As a baseline feature, the PC audio system has been
`overlooked for years. While the graphics market has been
`the recipient of broad and rapid innovation, the PC audio
`System has been neglected. All of this is about to change. AS
`the audio system makes the jump from ISA to PCI, it is
`afforded access to a tremendous increase in bandwidth that
`translates into a host of new features and innovation. One
`new feature, wavetable Synthesis, has really been around for
`Several years. However, most traditional wavetable Solutions
`were implemented in an extra Synthesis chip and required a
`wavetable ROM to store sound samples. The latest PCI
`audio controller chips integrate the wavetable Synthesis onto
`an audio controller chip. With access to PCI’s bandwidth,
`Sound Samples can be stored in main memory and the
`wavetable ROM can be eliminated. The net result is less cost
`for the audio Subsystem.
`A major stumbling block to PCI-based audio is so-called
`“legacy” audio compatibility. PC audio was initially devel
`oped in a DOS world, along with ISA interrupts and ISA
`DMA requests. A large base of PC game developers incor
`porated ISA hardware-Specific code in their Software. AS a
`result, these games are married to SOUNDBLASTER
`compatible legacy audio. Supporting Such hardware-specific
`code has turned out to be a tremendous challenge for new
`audio chips as they move to the ISA bus. However, Support
`of the installed Software base remains a baseline requirement
`for new audio solutions. Despite such challenges, PCI-based
`audio is here.
`According to Aureal Semiconductor (Fremont, Calif.)
`DOS legacy compatibility is important, no PC audio solu
`tion is complete without Support for DOS legacy applica
`
`Ex. 1041, Page 5
`
`

`

`3
`tions. The Aureal AU8820 provides DOS audio legacy
`emulation for SOUNDBLASTER Pro with OPL3 FM
`synthesis, for both real-mode DOS and Windows DOS box
`operation. A "patent pending legacy emulation technology
`used in the AU8820 is claimed to have been in production
`for two years, and is said to be fully compatible for both
`motherboard and add-in card Solutions. This, without the
`need for a work-around PC/PCI or D/DMA side band
`connection to the ISA-bus.
`Modems are the only other PC component that are still
`ISA-based. The Aureal Semiconductor AU8820 includes an
`interface to existing, Standard ISA modem chip Sets, Such as
`the latest 56 k modems from U.S. Robotics and Rockwell.
`This unique feature offers two key advantages to OEMs, the
`ability to build PCI based audio-telephony combo cards, and
`the design of a PC without an ISA bus.
`
`1O
`
`15
`
`SUMMARY OF THE INVENTION
`It is therefore an object of the present invention to provide
`a System for Supporting ISA-bus applications Software on a
`PCI-based hardware system.
`It is a further object of the present invention to provide a
`direct memory access controller that accepts ISA-bus inter
`rupt controller commands and accesses and that translates
`these into PCI-bus equivalent interrupt controller commands
`and accesses.
`It is a still further object of the present invention to
`emulate an ISA-bus interrupt controller that accepts and
`responds to direct memory acceSS controller commands and
`accesses for execution by a PCI-bus interrupt controller
`mapped into a PCI-bus memory resource.
`Briefly, a transparent direct memory access method
`embodiment of the present invention comprises emulating
`an ISA-bus mapped direct memory access controller (ISA
`DMAC) with a PCI-bus mapped direct memory access
`controller (PCI-DMAC). The ISA-DMAC exists, but there
`may not actually be any resources mapped into the ISA-bus
`space. Write Snooping by the PCI-DMAC of a PCI-bus
`processor detects whenever an attempt is made to write the
`ISA-DMAC, and copies the data written into the ISA
`DWIAC registers into a corresponding register of the PCI
`DMAC. The direct memory access operation commanded
`by the PCI-bus processor of the ISA-DMAC is performed by
`the PCI-DMAC in the PCI-bus resource space. When the
`direct memory access operation is completed, the PCI
`DMAC updates its registers and does a write back to update
`the ISA-DMAC registers. The PCI-bus processor can then
`read the PCI-DMAC directly for status, or if legacy software
`is running the ISA-DMAC will respond with the appropriate
`register value.
`An advantage of the present invention is that a method is
`provided for running ISA game software on a PCI-based
`System.
`Another advantage of the present invention is a System is
`provided that does not require Sideband connections in order
`to run legacy audio programs.
`These and other objects and advantages of the present
`invention will no doubt become obvious to those of ordinary
`skill in the art after having read the following detailed
`description of the preferred embodiments which are illus
`trated in the various drawing figures.
`IN THE DRAWINGS
`FIG. 1 is a functional block diagram of a PC system
`embodiment of the present invention;
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6,138,183
`
`4
`FIG. 2 is a block diagram of an audio accelerator embodi
`ment of the present invention such as included in FIG. 1; and
`FIG. 3 is a logical representation of the mapping of PCI
`resources and ISA resources as concerns the PCI-processor,
`PCI-DMAC, and ISA-DMAC discussed in connection with
`FIGS. 1 and 2.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`FIG. 1 illustrates a personal computer (PC) embodiment
`of the present invention, referred to herein by the general
`reference numeral 10. The PC 10 comprises a “socket-7”
`type microprocessor 12, a processor bus 14, a System
`controller 16, a memory bus 18, a dynamic random access
`memory (DRAM) 20, and a cache 22. All these drive a
`peripheral component interconnect (PCI) bus 24. A
`peripheral-bus controller 26 provides a bridge to Several
`buses including an X-buS 28, an industry Standard architec
`ture (ISA) bus 30, a universal serial bus (USB) 32, and an
`enhanced-IDE (EIDE) bus 34. A PCI-bus audio accelerator
`peripheral 36, a local area network (LAN) controller 38, and
`a small computer system interface (SCSI) controller 40 all
`connect to the PCI-bus 24. A basic input-output system
`(BIOS) bootup memory module 42 is resident on the ISA
`buS 30.
`In one embodiment, the System controller 16 comprises
`an Advanced Micro-Devices (Sunnyvale, Calif.) AMD-640
`system controller (“Northbridge'), has a 64-bit Socket-7
`interface, integrated writeback cache controller, System
`memory controller, and PCI bus controller. Such Socket-7
`interface is optimized for the AMD-K6 processor, providing
`3-1-1-1-1-1-1-1 transfer timing for both read and write
`transactions from PBSRAM at sixty-six MHz. (The number
`sequence refers to the CPU clock “t” cycles for each
`operation, i.e., 3-1-1-1 means the first data will be available
`at the third “t” when issue the operation, then the conse
`quence data only need additional one “t cycle, and So on.)
`The AMD-640's internal memory controller has a data
`buffering design that uses four cache lines, e.g., Sixteen
`quadwords, of processor-to-DRAM or cache-to-DRAM
`write buffering with concurrent writeback capability to
`accelerate writeback and write-miss cycles. The integrated
`PCI bus controller does concurrent processor and PCI opera
`tion with a five-doubleword posted write buffer. PCI con
`currency with DRAM or cache memory is achieved through
`a 48-doubleword post write buffer and 26-doubleword
`prefetch buffer. Byte-merging is used to optimize processor
`to-PCI throughput and reduce PCI bus traffic by converting
`consecutive processor addresses into burst PCI cycles. The
`AMD-640 system controller uses a variety of techniques to
`minimize PCI initiator read latency and DRAM access,
`including Snoop ahead, Snoop filtering, forwarding cache
`writebacks to the PCI initiator, and merging L1 writebacks
`into the PCI-posted write buffers to minimize PCI initiator
`read latency and DRAM utilization. To minimize Snoop
`overhead, the integrated PCI controller Supports enhanced
`PCI bus commands, Such as memory-read-line, memory
`read-multiple, and memory-write-invalidate. The combina
`tion allows a PCI initiator to achieve the full 133-Mbps burst
`transfer rate.
`In another embodiment, the peripheral-bus controller 26
`comprises an AMD-645 peripheral bus controller
`(“Southbridge”). The AMD-645 has an integrated ISA bus
`controller, enhanced master mode PCI EIDE controller with
`Ultra DMA/33 technology, an ACPI-compatible power man
`agement unit, a USB controller, a PS2-compatible keyboard/
`
`Ex. 1041, Page 6
`
`

`

`25
`
`S
`mouse controller, and a real-time clock (RTC) with extended
`256-byte CMOS RAM. The on-chip EIDE controller has a
`dual-channel DMA engine capable of interlaced dual
`channel commands. High-bandwidth PCI transfers are
`achieved by a sixteen double-word data FIFO with full
`scatter and gather capability. The integrated USB controller
`has a root hub with two ports having 18-level-deep data
`FIFOs and built-in physical layer transceivers.
`The USB controller also offers backward compatibility
`with legacy keyboard and PS/2 mouse Support.
`The AMD-645 peripheral bus controller is marketed as
`meeting Microsoft Windows(R 95 Plug-and-Play require
`ments with steerable PCI interrupts, ISA interrupts, and
`DMA channels. The integrated power management unit is
`compliant with ACPI and APM and provides dedicated input
`pins for external modem ring indication and power-on, five
`general-purpose I/O pins with option for I2C port, and
`Sixteen general-purpose pins that can be programmed as
`inputs or outputs. To manage power management events, the
`AMD-645 controller includes an ACPI power management
`timer, a GPO timer, a GP1 timer, a secondary event timer,
`and a conserve mode timer. Two types of Sleep States, e.g.,
`Soft-off and power-on Suspend, are Supported with hardware
`automatic wake-up. Additional functionality includes event
`monitoring, CPU clock throttling, hardware and Software
`based event handling, and multiple external SMI Sources.
`The PCI-bus audio accelerator peripheral 36 preferably
`comprises an ESS Technology (Fremont, Calif.) PCI audio
`accelerator chip, e.g., marketed as MAESTRO-1TM. At a
`minimum, the PCI-bus audio accelerator peripheral 36 is
`preferably compliant with major industry Standards includ
`ing the Audio Subsystem Specification of PC97, Windows
`95 DirectSoundTM, Windows Sound System, AC97
`CODEC Interface, and the PCI 2.1 Bus Specification.
`35
`The Maestro-1 is a dual audio-engine architecture that
`comprises of a 64-voice, pipelined, wavetable Synthesizer
`and a programmable audio signal processor that can Simul
`taneously handle multiple audio Streams of different data
`types, high-quality music Synthesis, and Voice compression
`and decompression.
`The PCI-bus audio accelerator peripheral 36 preferably
`comprises a high-performance PCI interface, that retains full
`compatibility to existing DOS games through hardware
`emulation. In general, the PCI bus is required for PC audio
`hardware to Smoothly reproduce high-fidelity audio from
`Internet, MIDI, wave, and conferencing sources. The PCI
`buS 24 enables the transfer of multiple, independent data
`streams. The PCI-standard improves data transfer efficiency
`by at least twenty times over the ISA-standard. This is
`crucial for low-latency audio applications, Such as Internet
`interactive audio.
`MicroSoft's DirectSound applications programming inter
`face (application programming interface) is accelerated by
`digitally mixing up to thirty-two PCM streams of any
`frequency down to a single output Stream of forty-eight kHz.
`Hardware acceleration frees the CPU to perform other tasks,
`Such as Video processing.
`The PCI-bus audio accelerator peripheral 36 preferably
`comprises a wave processor (WP) that provides high-quality
`wavetable Synthesis cost-effectively by Storing down load
`able table samples in system memory, e.g., DRAM 20.
`Samples are retrieved using the PCI bus 24 during playback.
`Each channel/stream preferably has an independent pan,
`tremolo, Vibrato and tone filter. A Synthesizer is also pref
`erably included for advanced audio effects Such as reverb,
`chorus, flange, echo and 3-D spatial enhancement.
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6,138,183
`
`5
`
`15
`
`6
`The PCI-bus audio accelerator peripheral 36 preferably
`provides complete DOS game compatibility via PC/PCI
`DMA, distributed DMA, and transparent DMA. The trans
`parent DMA requires no Sideband Signals and is critically
`compatible with all Intel PENTIUM and PENTIUM-PRO
`chipsets with no constraints.
`Plug-and-play is an industry Standard whose specifica
`tions were developed by Intel Architecture Lab and
`MicroSoft to ensure long-term compatibility acroSS cards,
`Systems and Software. Plug-and-play acts as a configuration
`agent to take over and handle the configuration process
`internally. It automatically assigns resources Such as IRQS,
`I/O addresses and DMA channels. This makes installing
`add-on cards Simple, eliminating the trial-and-error guess
`work. All the user must do is plug in the plug-and-play
`enabled card.
`Under the DOS environment, to perform the plug-and
`play feature, the plug-and-play BIOS, ICU and plug-and
`play devices are required. In the Windows 95, the plug-and
`play function is controlled by the operation System, and the
`Windows 95 only takes the ESCD's information, that gen
`erated by plug-and-play BIOS, as reference.
`To have the plug-and-play function work, the Software
`and hardware must work together. The operating System,
`drivers and BIOS must support plug-and-play. The BIOS
`Searches for ISA plug-and-play cards in System slots. If any
`are found, the BIOS will read the configuration preference
`table Stored in the cards, and will assign proper, non-conflict
`resources. If users install legacy cards on the motherboard,
`then the IRQs and DMAS must be set manually in the BIOS
`Setup.
`The PCI-bus audio accelerator peripheral 36 provides
`DOS compatibility to protect the end-users' software invest
`ment. Existing software and games for the PC have been
`designed to run on ISA-based Sound cards that write directly
`to the inherently slow ISA hardware using Intel-type 8237
`DMAC interrupt controller (IRQ) and direct memory access
`(DMA) signals.
`Such IRQ and DMA signals are not present on the
`PCI-bus 24, but allows legacy software to function at the full
`speed of the PCI-bus 24 as if ISA signals were really being
`generated. Placing the PCI-bus audio accelerator peripheral
`36 on the PCI-bus 24 allows four to twenty times the speed
`over much slower DMA transfers on the ISA bus, and
`therefore reduces system overhead without PCI to ISA
`bridging.
`The PCI-bus audio accelerator peripheral 36 supports
`32-bit PCI-bus interfacing with 64-bit to 32-bit data con
`version. Five doubleword levels of post write buffers are
`included to allow for concurrent CPU and PCI operation.
`Consecutive CPU addresses are converted into burst PCI
`cycles with byte merging capability for optimal CPU to PCI
`throughput. For PCI master operation, sixty-four double
`word levels of post write buffers and thirty-two doubleword
`levels of prefetch buffers are included for concurrent PCI
`bus and DRAM/cache accesses. Enhanced PCI-bus 24 com
`mands are Supported, Such as memory-read-line, memory
`read-multiple and memory-write-invalid commands to mini
`mize Snoop overhead. Snoop ahead, Snoop filtering, L1
`write-back forward to PCI master and L1 write-back merged
`with PCI post write buffers are also preferably included to
`minimize PCI master read latency and DRAM utilization.
`The PCI-bus 24 is isolated from the processor bus 14 by
`a system controller 16. The processor 12 writes data to PCI
`peripherals and the System controller 16 Stores the data in its
`buffer, allowing the processor 12 go on to its next operation
`
`Ex. 1041, Page 7
`
`

`

`6,138,183
`
`15
`
`25
`
`35
`
`40
`
`7
`rather than waiting for the transfer to complete. The buffer
`then feeds the data to the peripheral at the most efficient rate.
`PCI also Supports bus mastering by intelligent devices
`that can take control of the buS and perform tasks indepen
`dently of the processor 12. The processor 12 can run
`concurrently with the bus master peripheral and, because of
`its buffered design, can operate independently when a PCI
`peripheral is active.
`A Single PCI-buS 24 can only Support four expansion slots
`without violating the Specification's loading constraints,
`with one PCI device per expansion slot. High end system
`designers have recently begun to build Systems using a
`PCI-to-PCI bridge to provide more expansion slots on the
`motherboard. The PCI-bus Specification provides for an
`automatic configuration of any adapter or peripheral plugged
`into the bus, eliminating conflicts between boards in the
`System and the need for jumper headers on a board.
`FIG. 2 illustrates a PCI-bus audio accelerator peripheral
`50 that is similar to the audio accelerator peripheral 36 of
`FIG. 1. The PCI-bus audio accelerator peripheral 50 com
`prises a PCI-interface 52, a SOUNDBLASTER datapath 54,
`a wave processor 56, a 512x16 wave cache 58, an applica
`tion specific signal processor (ASSP) 60, a ring bus 62, an
`SIO-2 codec 64, an SIO-1 codec 66, and an I-S serial
`interface 68. A high-performance game port (HPGP) 70
`provides an interface for a joystick, and a general purpose
`input-output port (GPI/O) 72 provides connections to mul
`tiplexed buses.
`The wave processor 56 is a Sixty-four-channel, pipelined
`wave processor. The ASSP 60 is a programmable audio
`Signal processor. Together these provide Simultaneous Sup
`port for multiple audio streams of different types. Such
`architecture enables complex, three-dimension positional
`gaming Sound effects to be implemented while also Support
`ing Voice communications over the Internet from multiple
`Sources. Embodiments of the present invention preferably
`Support Sixty-four independently programmable wave pro
`cessor channels and provide for DIRECTSOUND(E) hard
`ware acceleration with digital mixing of up to thirty-two
`wave Streams. Audio Streams of any frequency are converted
`to forty-eight kHz. Each of the sixty-four channels can be
`assigned its own parameters to control panning, tremolo,
`Vibrato, and tone-filtering. The channels also Support inde
`pendently programmable Special effects, e.g., reverb,
`chorus, flange, echo, and three-dimension Spatial enhance
`ments to create positional Special effects. The high band
`width PCI-bus 24 is used to store MIDI-samples in main
`memory, DRAM 20. Downloadable sound samples relieve
`needing ROM-type memory to Store Sound fonts, a allow
`Software developers to control the sound PCI-bus audio
`accelerators.
`The original PC platform used the DOS operating system
`and had no Standard Software drivers for options Such as
`audio. Creative Labs' SOUNDBLASTER audio technology
`Successfully captured the market by persuading Software
`developers to write directly to their device's register Set.
`Other audio chip vendors began to support the SOUND
`BLASTER register interface so that existing software titles
`written to support the interface would work with their
`hardware devices.
`A de facto Standard was born that would Support one
`stereo or two mono audio streams on the low bandwidth ISA
`bus. Because of the huge library of games and other appli
`cations written to support the SOUNDBLASTER standard,
`it is not anticipated that SOUNDBLASTERISA bus support
`will Vanish Suddenly, but the market is clearly in transition
`to more Sophisticated PCI audio implementations.
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`MicroSoft has also taken an active role in encouraging the
`move to PCI-based audio to expand the role of the PC in
`both the consumer and busineSS markets with enhanced
`Sound and communications capabilities. Microsoft's
`DIRECTSOUND and DIRECT3D application program
`ming interfaces Support multiple audio data Streams occur
`ring Simultaneously in real-time, allowing Software devel
`operS to use Surround Sound and 3D audio effects. In
`addition, Microsoft's DIRECTX application programming
`interfaces for interactive multimedia and ActiveX controls
`for Sharing information between applications both Support
`multiple audio Streams.
`However, the ISA bus SOUNDBLASTER standard is
`limited to one DMA channel providing direct access to a
`PCS memory for a single data Stream, and So is clearly
`inadequate for Supporting the advanced audio effects and
`capabilities that Microsoft's relatively new software drivers
`enable. The present invention preferably Supports Sixty-four
`bus mastering DMA channels to take advantage of the
`capabilities now Supported at the operating System level by
`Microsoft.
`Microsoft's Win32 Driver Model (WDM) encompasses
`DIRECTX and ActiveX application programming interfaces
`while also broadening their reach to Support advanced audio
`Streams management features Such as Synchronization of
`multiple Streams and Stream positioning. WDM also pre
`Sents developerS with a common application programming
`interface and device driver model for both Windows NT and
`Memphis, the next planned update to Windows 95.
`The continued reliance on ISA bus technology has also
`become a significant performance bottleneck for engineers
`designing Systems. Continued utilization of the
`SOUNDBLASTER-standard ISA bus means that the host
`CPU must be constantly interrupted to manage the task of
`audio data transfer. While the impact of the overhead of
`ISA-based audio Support has been reduced Somewhat
`through implementing techniques such as “F-Mode DMA”
`that consolidates Several transactions before initiating a CPU
`interrupt, the cost of maintaining Support for ISA-based
`solutions in CPU cycles is high.
`It is estimated that twenty percent of a modem CPU's
`capacity is wasted in producing 16-bit Stereo Sound at 44.1
`kHz with the ISAbus-based audio. In contrast, embodiments
`of the present invention need less than one percent of a
`CPU's maximum available resources to deliver the same
`level of performance. The elimination of the ISA system
`bottleneck enables CPU resources to be used for other
`activities, including the Support of graphics and audio pre
`processing by MMX-enabled applications.
`A more obvious advantage that the PCI bus brings to
`audio applications is sheer bandwidth. At 133 MB/second,
`the PCI bus represents a much larger “pipe” than the 7
`MB/second ISA bus. In addition to being able to move large
`amounts of data quickly through the bus, PCI accelerators
`are able to transfer multiple data streams with different
`destinations during a Single bus master cycle. Because PCI
`audio accelerators can Support multiple data Streams of
`different types, it can also reduce the latencies typically
`asSociated with Internet-based interactive audio, phone and
`conferencing applications.
`Originally, ISA-based SOUNDBLASTER standard solu
`tions supported 8-bit pulse code modulation (PCM) audio
`that created Sound by reproducing digitized Sound Sample
`files. Audio file sizes were large, So the number of Sounds
`that could be reproduced by a given Software application
`was minimal. Later, FM Synthesis capabilities were devel
`oped that allowed the creation of Sounds by Synthesizing
`Sine waves.
`
`Ex. 1041, Page 8
`
`

`

`15
`
`Most recently, MIDI wavetable synthesis techniques have
`been developed that enable the faithful reproduction of the
`Voice of musical instruments acroSS the full Sound Spectrum.
`Wavetable technology uses algorithms t

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