Solid-state memory device that emulates a known storage device
AssigneeMicrosoft Corporation
InventorsDaniel Shapiro, Raymond D. Pedrizetti
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorsDaniel Shapiro, Raymond D. Pedrizetti
Estimating the term…
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.
A peripheral device that provides its own driver and that is connectable to a computer system, comprising:
A method in a computer system for installing a peripheral device containing a nonvolatile memory device, the computer system having software for interacting with a disk drive, comprising the steps of:
A computer-readable medium whose contents cause a data processing system to install a peripheral device containing a nonvolatile memory device, the data processing system having software for interacting with a disk drive, by performing the steps of:
A peripheral device for connection to a computer system that integrally provides a program relating to the peripheral device, comprising:
A method in a data processing system for reading and executing software relating to a peripheral device that is provided integrally to the peripheral device, comprising the steps of:
A heterogeneous storage apparatus, comprising:
A collection of computer memories containing a data structure comprising a software title, comprising:
A solid-state read-only memory device adapted for connection to a computer system via a serial connection, comprising:
A method in a data processing system for reading data, comprising the steps of:
A solid-state computer memory device containing a disk file data structure, comprising:
A method in a data processing system for reading data, comprising the steps of:
Dependencies are inferred from the claim text.
From the US filing history. Foreign family members aren’t listed.
Backward citations are indexed for grants only.
Plug-and-play [PnP]: self describing peripheral devices
Computing and data processing
Term end not estimated
Drawings are temporarily unavailable. Open the PDF at USPTO
The present invention is directed to the field of computer peripherals, and more particularly, to the field of storage devices.
A peripheral device (“peripheral”) is a device that is connected to and controlled by a computer system. Peripherals include such devices as a disk drive, printer, modem, optical scanner, or joystick. Peripherals may be connected to a computer system via various types of connections, including a PCI bus, a parallel connection, or a serial connection. Modern serial connections include Universal Serial Bus (“USB”) and 1394 connections. Modern serial connections generally permit several peripheral devices to be attached to a computer system via the same serial connection. For instance, a printer, a scanner, and a joystick could all be connected to a computer system via a single USB connection.
Computer systems generally include a program called an operating system that, among other things, manages communications between the computer system and its peripherals. In order to communicate with a particular peripheral, an operating system generally requires an additional computer program called a “driver.” The driver for a particular peripheral generally knows the capabilities of the peripheral and the command set for the peripheral. While modem operating systems generally include drivers for common devices, such as hard disk drives, there are many peripherals for which operating systems do not include drivers. In particular, operating systems seldom provide drivers for peripherals that were not available when the operating system was released. In order to use such a peripheral in conjunction with a computer system, the operating system on that computer system must install a driver for the peripheral. Providing such a driver can be a significant inconvenience for the user attempting to use the peripheral. For example, the user may be required to locate a floppy disk or CD that contains the driver, or to download the driver from the Internet. Based on the foregoing, a new peripheral that did not require the provision of a separate driver would have significant utility.
FIG. 1 is a high-level block diagram of the general-purpose computer system to which the solid-state memory device is preferably connected.
FIG. 2 is a block diagram showing the functional components for the additional peripheral shown in FIG. 1 for the embodiment providing the memory device in conjunction with another peripheral.
FIG. 3 is a flow diagram that shows the steps preferably performed by the operating system in order to utilize an additional peripheral that includes a peripheral function subsystem and an associated driver.
The present invention is directed to a solid-state read-only memory device that may be connected to a computer system via a serial connection, such as a Universal Serial Bus or 1394 connection, and that does not require a special driver. When it is initialized as part of initializing the devices on the serial connection during the operating system's boot process, the memory device inaccurately identifies itself as a storage device of a type known to the operating system, such as a hard drive. The contents of the memory device can then be read using portions of the operating system designed and provided for reading from storage devices of the identified type.
Such a memory device has several useful applications. First, it can be used alone as a fast form of storage, having both a small latency time and a large transfer rate. Such use is well-suited to video game cartridges, such as those used with popular video game console systems. Second, the memory device can be incorporated in another device. For example, such a memory device containing a driving video game may be incorporated in a steering wheel game controller. As a further example, such a memory device can be incorporated in a peripheral device, such as a printer or a scanner. Such a memory device may contain a driver for the peripheral device. When the serial connection is initialized, the memory device inaccurately identifies itself as a hard drive, and the peripheral device correctly identifies itself by its peripheral device type. If the correct driver for the identified device type is not already available computer system, the computer system searches all available storage devices, including the memory device of the invention, where it finds the correct driver for the peripheral device. The computer system can then install this driver, and proceed to use the new peripheral device without requiring the correct driver to be provided manually. Instead of the driver or in addition to the driver, the memory device may contain additional programs, such as application programs that utilize the peripheral device. By integrating the memory device into the additional device, it can be guaranteed that the data stored in the memory device is always available in conjunction with the additional device. Finally, the solid-state memory device may be combined with a storage device having different characteristics, such as a CD-ROM drive with media. Such a combination may be used with applications that have different retrieval performance requirements for different portions of their data. As an example, a game may include executable code, which must be loaded quickly, and video data, which can be loaded more slowly. In accordance with such requirements, the executable code could be stored in the faster solid-state memory device, while the video data could be stored on the cheaper CD-ROM.
FIG. 1 is a high-level block diagram of the general-purpose computer system to which the solid-state memory device is preferably connected. The computer system 100, or “data processing system,” contains a central processing unit (CPU) 110 and a computer memory (memory) 120. The computer system 100 is further connected to input/output devices, including a storage device 140, such as a hard disk drive; a floppy drive 150; a CD-ROM drive 160; and an additional peripheral device 170 containing the solid-state memory device, and optionally a related traditional peripheral device. The additional peripheral 170 is preferably connected to the computer system 100 by a serial connection 180, and may share this serial connection with other peripheral devices (not shown). The memory 130 preferably contains an operating system 130, such as Microsoft® Windows® 98. The operating system 130, in turn, includes a driver 131 for hard drives, and a driver 132 for floppy drives, which enable the operating system to access hard drives and floppy drives without installing additional drivers. The memory 120 further preferably contains a driver 121 for CD-ROM drives, an application program 122, data 123 corresponding to the application program, and a utility program 124. The memory 120 may also contain additional data not shown. While the solid-state memory device is preferably connected to a computer system configured as described above, those skilled in the art will recognize that it may also be connected to computer systems having different configurations.