Search Images Maps Play YouTube News Gmail Drive More »
Advanced Patent Search | Web History | Sign in

Patents

The present invention is directed to a peripheral device that integrally provides a program relating to the peripheral device, and may be connected to a computer system. The peripheral device includes a peripheral function subsystem for providing a peripheral device functionality. The peripheral device further includes a solid-state memory device storing a program relating to the peripheral device in a format used by disk drives. When the peripheral device is connected to a computer system, the program stored in the solid-state memory device is immediately available, and can be read by the computer system as though it was stored on a disk drive connected to the computer system.

InventorsDaniel Shapiro, Raymond D. Pedrizetti
Original AssigneeMicrosoft Corporation
Primary Examiner: Kamini Shah
Secondary Examiner: Herng-der Day
Attorney: Banner & Witcoff, Ltd.
Current U.S. Classification703/24; 703/13; 703/21; 703/23

View patent at USPTO
Search USPTO Assignment Database

Citations

Cited PatentFiling dateIssue dateOriginal AssigneeTitle
US4787026Jan 17, 1986Nov 22, 1988International Business Machines CorporationMethod to manage coprocessor in a virtual memory virtual machine data processing system
US4984149Mar 28, 1988Jan 8, 1991Kabushiki Kaisha ToshibaMemory access control apparatus
US5131089Sep 28, 1989Jul 14, 1992GRiD Systems CorporationSolid state disk drive emulation
US5291584Jul 23, 1991Mar 1, 1994Nexcom Technology, Inc.Methods and apparatus for hard disk emulation
US5339432Oct 13, 1992Aug 16, 1994Microsoft CorporationMethod and system for providing user control of device driver configuration
US5371885Aug 29, 1989Dec 6, 1994Microsoft CorporationHigh performance file system
US5446855Feb 7, 1994Aug 29, 1995BusLogic, Inc.System and method for disk array data transfer
US5454098Sep 28, 1992Sep 26, 1995Conner Peripherals, Inc.Method of emulating access to a sequential access data storage device while actually using a random access storage device
US5457784Mar 5, 1992Oct 10, 1995Metacomp, Inc.Interfacing system using an auto-adapting multi-ported control module between an i/o port and a plurality of peripheral adaptors via bus extending cables
US5459850Feb 19, 1993Oct 17, 1995Conner Peripherals, Inc.Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks
US5465364Mar 18, 1994Nov 7, 1995International Business Machines, Inc.Method and system for providing device driver support which is independent of changeable characteristics of devices and operating systems
US5473765Jan 24, 1994Dec 5, 19953COM CorporationApparatus for using flash memory as a floppy disk emulator in a computer system
US5491813Nov 18, 1994Feb 13, 1996International Business Machines CorporationDisplay subsystem architecture for binding device independent drivers together into a bound driver for controlling a particular display device
US5499378Jun 21, 1994Mar 12, 1996International Business Machines CorporationSmall computer system emulator for non-local SCSI devices
US5546585Apr 6, 1993Aug 13, 1996Olympus Optical Co., Ltd.Personal computer system with start-up capability from an external mass storage device
US5548783Oct 28, 1993Aug 20, 1996Dell USA, L.P.Composite drive controller including composite disk driver for supporting composite drive accesses and a pass-through driver for supporting accesses to stand-alone SCSI peripherals
US5694583Mar 4, 1997Dec 2, 1997International Business Machines CorporationBIOS emulation parameter preservation across computer bootstrapping
US5717903May 15, 1995Feb 10, 1998Compaq Computer CorporationMethod and appartus for emulating a peripheral device to allow device driver development before availability of the peripheral device
US5751975Dec 28, 1995May 12, 1998Intel CorporationMethod and apparatus for interfacing a device compliant to a first bus protocol to an external bus having a second bus protocol and for providing virtual functions through a multi-function intelligent bridge
US5784581May 3, 1996Jul 21, 1998Intel CorporationApparatus and method for operating a peripheral device as either a master device or a slave device
US5809331Apr 1, 1996Sep 15, 1998Apple Computer, Inc.System for retrieving configuration information from node configuration memory identified by key field used as search criterion during retrieval
US5815678Jul 14, 1995Sep 29, 1998Adaptec, Inc.Method and apparatus for implementing an application programming interface for a communications bus
US5890014Aug 5, 1996Mar 30, 1999MicroNet Technology, Inc.System for transparently identifying and matching an input/output profile to optimal input/output device parameters
US5909559Apr 4, 1997Jun 1, 1999Texas Instruments IncorporatedBus bridge device including data bus of first width for a first processor, memory controller, arbiter circuit and second processor having a different second data width
US5915106Mar 20, 1997Jun 22, 1999Ricoh Company, Ltd.
Ricoh Corporation
Method and system for operating a scanner which emulates a disk drive
US5946469Nov 15, 1995Aug 31, 1999Dell Computer CorporationComputer system having a controller which emulates a peripheral device during initialization
US5953516Jun 24, 1997Sep 14, 1999Compaq Computer CorporationMethod and apparatus for emulating a peripheral device to allow device driver development before availability of the peripheral device
US5958020Oct 29, 1997Sep 28, 1999VLSI Technology, Inc.Real time event determination in a universal serial bus system
US5968152Apr 4, 1997Oct 19, 1999Apple Computer, Inc.Method and apparatus for extending key space in a plug and play ROM
US5991777Sep 19, 1997Nov 23, 1999Microsoft CorporationSystem and method for performing defined actions when grafting the name space of one storage medium into the name space of another storage medium
US6006029Sep 28, 1993Dec 21, 1999Bull HN Information Systems Inc.Emulating disk drives of a first system on a second system
US6009480Sep 12, 1997Dec 28, 1999Telxon CorporationIntegrated device driver wherein the peripheral downloads the device driver via an I/O device after it is determined that the I/O device has the resources to support the peripheral device
US6012103Jul 2, 1997Jan 4, 2000Cypress Semiconductor Corp.Bus interface system and method
US6016402May 21, 1996Jan 18, 2000Iomega CorporationMethod for integrating removable media disk drive into operating system recognized as fixed disk type and modifying operating system to recognize as floppy disk type
US6064566Sep 18, 1998May 16, 2000International Business Machines Corp.Peripheral device for use in a computer as an internal and external device
US6073188Jul 25, 1997Jun 6, 2000Compaq Computer CorporationElectronic switchbox for selection and sharing of internal peripheral devices among different computers, the internal peripheral devices located in slots of a chassis
US6073205Jul 10, 1997Jun 6, 2000National Instruments CorporationSystem and method of write posting in a universal serial bus system
US6223267Feb 26, 1998Apr 24, 2001Hewlett-Packard CompanyDynamically allocable RAM disk

Referenced by

Citing PatentFiling dateIssue dateOriginal AssigneeTitle
US8009502Dec 7, 2009Aug 30, 2011Seagate Technology LLCSystems, methods and devices for power control in mass storage devices
US8031551Jun 26, 2009Oct 4, 2011Seagate Technology LLCSystems, methods and devices for monitoring capacitive elements in devices storing sensitive data
US8065562Dec 7, 2009Nov 22, 2011Seagate Technology LLCSystems, methods and devices for backup power control in data storage devices
US8230257Dec 7, 2009Jul 24, 2012Seagate Technology LLCSystems, methods and devices for controlling backup power provided to memory devices and used for storing of sensitive data

Claims

1. A device that provides information and is connectable to a data processing system, comprising:

a device function subsystem that provides device functionality;

a persistent memory device containing device information that, when installed by an operating system of the data processing system, enables the data processing system to interact with the device to utilize device functionality provided by the device function subsystem; and

a known storage device emulation subsystem that emulates a storage device of a type usable by the operating system without further modification and enables the operating system to install the device information contained by the persistent memory device to utilize device functionality provided by the device function subsystem.

2. The device of claim 1, wherein the persistent memory device is provided in a solid state read-only memory device, and wherein the known storage device emulation subsystem is provided in an application-specific integrated circuit connected to the solid state read-only memory device.

3. The device of claim 1, wherein the persistent memory device comprises a first storage device that provides a first rate of data transfer; and

wherein the device function subsystem comprises a second storage device providing a second rate of data transfer slower than the first rate of data transfer.

4. The device of claim 3, further comprising a single case that contains both the first and second storage devices during operation of the storage devices, such that data that must be transferred at a relatively high rate may be stored in the first storage device and data that can be transferred at a slower rate may be stored in the second storage device.

5. The device of claim 4, wherein the first storage device comprises a solid-state memory device, and wherein the second storage device comprises an optical media drive.

6. A method in a data processing system for recognizing an unknown device, comprising the steps of:

an operating system of the data processing system misidentifying a nonvolatile memory in an unknown device as a known storage device;

searching the nonvolatile memory for device information usable with the operating system;

retrieving the device information from the nonvolatile memory; and

the operating system installing the device information in the data processing system to enable the operating system to interact with a functional subsystem of the device.

7. A computer-readable medium whose contents cause a data processing system to perform the steps of:

an operating system of the data processing system misidentifying a nonvolatile memory in an unknown device as a known storage device;

searching the nonvolatile memory for device information usable with the operating system;

retrieving the device information from the nonvolatile memory; and

the operating system installing the device information in the data processing system to enable the operating system to interact with a functional subsystem of the device.

8. A memory device adapted for connection to a computer system via a serial connection, comprising:

a solid-state read-only memory device having contents; and

a storage device emulation subsystem that emulates a storage device of a type known by an operating of the computer system without further modification to enable the operating system to read the contents of the solid-state read-only memory device using only functionality of the operating system provided for reading from storage devices of the known type.

9. The memory device of claim 8 wherein the contents of the solid-state read-only memory device comprise a game program and associated data.

10. The memory device of claim 8, wherein the storage device emulation subsystem comprises a disk file data structure stored on the solid-state read-only memory device, said data structure comprising a plurality of files organized in the same manner that they would be organized if stored on a storage device of a type known to the operating system, such that any of the files may be read in the same manner as reading files from the storage device of the known type.

11. A method in a data processing system for reading data, comprising:

determining that a read-only solid-state memory device is connected to the data processing system; an operating system of the data processing system misidentifying the read-only solid-state memory device as a disk drive of a type previously known to the operating system; and

reading data from the read-only solid-state memory device using only functionality of the operating system used to read data from a disk drive of the type previously known to the operating system.

12. The method of claim 11, wherein the reading step reads data from the read-only solid-state memory device using only commands of the operating system used to read data from a disk drive of the type previously known to the operating system.

13. The method of claim 11 wherein the reading step reads data from the read-only solid-state memory device using a driver used by the operating system to read data from a disk drive of the type previously known to the operating system.

14. A device connectable to a data processing system, comprising:

a device function subsystem comprising a first storage device providing a first rate of data transfer;

a persistent memory device comprising a second storage device providing a second rate of data transfer different than said first rate of data transfer, said persistent memory device storing device information that, when installed by an operating system of the data processing system enables the operating system to interact with the device connected to the data processing system to utilize the first storage device provided by the device function subsystem; and

a known storage device emulation subsystem that upon connection of the device to the data processing system, emulates a storage device of a type usable by the operating system without further modification and enables the operating system to install the device information contained by the persistent memory device to utilize the first storage device provided by the device function subsystem.

15. The device of claim 14, wherein said first rate of data transfer is slower than said second rate of data transfer.

16. The device of claim 14, wherein said second storage device comprises a solid-state memory.