EP1946201A2 - System and method for enhancing external storage - Google Patents

System and method for enhancing external storage

Info

Publication number
EP1946201A2
EP1946201A2 EP06836546A EP06836546A EP1946201A2 EP 1946201 A2 EP1946201 A2 EP 1946201A2 EP 06836546 A EP06836546 A EP 06836546A EP 06836546 A EP06836546 A EP 06836546A EP 1946201 A2 EP1946201 A2 EP 1946201A2
Authority
EP
European Patent Office
Prior art keywords
controller
firmware
storage
peripheral device
hdds
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP06836546A
Other languages
German (de)
French (fr)
Inventor
Sree M. Iyer
Larry L. Jones
Arockiyaswamy Venkidu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MCM Portfolio LLC
Original Assignee
OnSpec Electronic Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/478,895 external-priority patent/US20070162626A1/en
Application filed by OnSpec Electronic Inc filed Critical OnSpec Electronic Inc
Publication of EP1946201A2 publication Critical patent/EP1946201A2/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0626Reducing size or complexity of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/123Software or firmware update, e.g. device firmware management

Definitions

  • USB or Firewire also referred to as IEEE 1394
  • SATA Serial Advanced Technology Attachment
  • controllers include basic firmware in their controller itself with room for making enhancements. It is difficult to predict every application for the controller and so a way to enhance the controller to do new applications is provided by allowing these enhancements to reside on an EEPROM or like.
  • One embodiment as described herein provides a system and method for enhancing external storage.
  • One embodiment includes a controller of a peripheral device of a computer system.
  • the controller provides access a storage medium of the peripheral device.
  • the storage medium of the peripheral device includes a section of storage reserved for firmware of the peripheral device.
  • a controller of a peripheral storage device of a computer system is to identify a presence of multiple hard disk drives (HDDs) and provide logical access to the multiple HDDs as a single HDD having a storage capacity greater than a storage capacity of any one of the multiple HDDs.
  • HDDs hard disk drives
  • Figure 2 illustrates an external storage configuration in accordance with one embodiment
  • Figure 3 illustrates a typical arrangement of a Master and a Slave storage configuration
  • Figure 4 illustrates an external storage configuration in accordance with one embodiment.
  • Figure 5 illustrates a flow diagram describing a process according to one embodiment.
  • external peripherals also referenced herein as external enclosures
  • firmware enhancements also collectively referenced herein as firmware enhancements.
  • additional information may be included in the firmware enhancements.
  • the information i.e., firmware enhancements
  • firmware of the controller of the peripheral such as on a small capacity non-volatile storage such as an EEPROM or Serial EEPROM.
  • the peripheral is an external storage device, such as a disk drive.
  • the storage device is one of a Universal Serial Bus (USB) disk drive, a IEEE 1394 (Firewire) disk drive, or a IDE disk drive.
  • the referenced peripheral includes an alternative device other than a disk drive, such as network routers.
  • the peripheral device has a host interface comprising at least one of USB interface, a serial ATA interface, a Firewire (IEEE 1394 interface), a USB on-the-go (OTG) attached to an ATA (serial or parallel) disk drive.
  • a section of the storage medium of the peripheral is allocated to store the firmware enhancements discussed above, rather than a storage medium of the controller.
  • the controller of the peripheral is exclusive of a storage medium.
  • allocating storage on a storage medium of a peripheral to store firmware enhancements in one embodiment emulates a serial EEPROM of a peripheral controller.
  • the cost of providing an auxiliary storage on the controller is reduced.
  • the storage medium of the peripheral having an area of storage pre-identified to store the firmware enhancements is the primary storage medium of the peripheral.
  • multiple storage mediums are provided on the peripheral, one of which is designated to store the firmware enhancements.
  • the controller of the peripheral scans a storage medium of the peripheral device for a pre-designated location of storage that contains the firmware enhancements.
  • the firmware enhancements are to be loaded into a memory of the controller, to be processed by a startup routine.
  • a processor or controller of the host comes out of reset and starts performing initialization functions, such as setting various registers etc.
  • the logic located on the controller seeks for the existence of a pre-designated section of the storage medium storing the firmware enhancements.
  • the enhanced firmware is loaded into the memory of the host for execution.
  • the enhanced firmware could be loaded into a different memory for execution.
  • the logic that causes the processor or controller to seek out the pre-designated section of the storage medium of the peripheral resides in one or more of the operating system (OS), the host Basic Input Output System (BIOS), or a driver of the peripheral device or other device.
  • OS operating system
  • BIOS Basic Input Output System
  • the logic is aware to look for the enhanced firmware on the storage medium of the peripheral rather than the controller of the peripheral, in response to the following.
  • up to 64 sectors are pre- designated in the storage medium of the peripheral to store the enhanced firmware.
  • alternative size sectors are used.
  • the storage media usually have a sweet spot capacity, which, in some cases, is the best value for money. For instance, a typical multi- illustrated in Figure 3, a 250GB Disk Drive may cost $80 whereas a 500GB IDE Hard Disk Drive may cost $300! Thus tremendous savings in cost can be achieved if two 250GB Hard Disk Drives were put together to form one logical 500GB Hard Disk Drive (herein also referred to as TeraDisk), as illustrated in Figure 4.
  • TeraDisk 500GB Hard Disk Drive
  • a controller of a disk drives determines if a designated jumper or indicator is set (usually a jumper block) to indicate that multiple separate disk drives are to be treated logically as a single disk drive (as illustrated in the configuration of Figure 4).
  • the jumper would be located on the printer circuit board which contains the disk drive controller
  • the multiple separate disk drives have unique IDs to distinguish them.
  • the controller then scans the multiple separate disk drives and computes the total space of the combined entity (i.e., the multiple disk drives).
  • the size computation is done by inquiring from its size from each disk drive (e.g., using typically the IDENTIFY DRIVE command (for ATA and ATAPI devices)).
  • the firmware adds up the tota) capacities and adjusts for the presence of the teradisk (i.e., the combination of multiple disk drives logically represented as single disk drive) and declares to the hosts the capacity of the teradisk.
  • the controller determines to which disk a request is intended for and routes it accordingly.
  • the controller determines requests with an address ranging from 0 to 500GB should be routed to the first disk drive and request from 501GB to 1TB should be
  • multiple devices connected on the same bus and have different addresses by making one device act like a master and another like a slave.
  • the multiple devices include a parallel ATA (also known as an IDE) parlance
  • routines executed to implement the embodiments can be implemented as part of an operating system or a specific application, component, program, object, module or sequence of instructions referred to as "computer programs.”
  • the computer programs typically comprise one or more instructions set at various times in various memory and storage devices in a computer, and that, when read and executed by one or more processors in a computer, cause the computer to perform operations to execute elements involving the various aspects.
  • Examples of computer-readable media include but are not limited to recordable and n ⁇ n-recordabte type media such as volatile and non-volatile memory devices, read only memory (ROM), random access memory (RAM), flash memory devices, floppy and other removable disks, magnetic disk storage media, optical storage media (e.g., Compact Disk Read-Only Memory (CD ROMS), Digital Versatile Disks, (DVDs), etc.), among others.
  • the instructions can be embodied in digital and analog communication links for electrical, optical, acoustical or other forms of propagated signals, such as carrier waves, infrared signals, digital signals, etc.
  • a machine readable medium can be used to store software and data which when executed by a data processing system causes the system to perform various methods.
  • the executable software and data can be stored in various places including for example ROM, volatile RAM, non-volatile memory and/or cache. Portions of this software and/or data can be stored in. any one of these storage devices.
  • a machine readable medium includes any mechanism that provides (i.e., stores and/or transmits) information in a form accessible by a machine (e.g., a computer, network device, personal digital assistant, manufacturing tool, any device with a set of one or more processors, etc.).
  • a machine e.g., a computer, network device, personal digital assistant, manufacturing tool, any device with a set of one or more processors, etc.
  • Some aspects can be embodied, at least in part, in software. That is, the techniques can be carried out in a computer system or other data processing system in response to its processor, such as a microprocessor, executing sequences of instructions contained in a memory, such as ROM, volatile RAM, non-volatile memory, cache, magnetic and optical disks, or a remote storage device. Further, the instructions can be downloaded into a computing device over a data network in a form of compiled and linked version.
  • the logic to perform the processes as discussed above could be implemented in additional computer and/or machine readable media, such as discrete hardware components as large-scale integrated circuits (LSI's), application- specific integrated circuits (ASIC's), or firmware such as electrically erasable programmable read-only memory (EEPROM's).
  • LSI's large-scale integrated circuits
  • ASIC's application- specific integrated circuits
  • EEPROM's electrically erasable programmable read-only memory
  • hardwired circuitry can be used in combination with software instructions to implement the embodiments.
  • the techniques are not limited

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

One embodiment as described herein provides a system and method for enhancing external storage (Fig. l). One embodiment includes a controller of a peripheral device of a computer system (Fig. 1, external storage controller). The controller provides acces a storage medium of the peripheral device (Fig. 1, ATA Master HDD). In one embodiment, the storage medium of the peripheral device includes a section of storage reserved for firmware of the peripheral device.

Description

SYSTEM AND METHOD FOR ENHANCING EXTERNAL STORAGE
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of priority under Title 35, United States Code § 119(e) to United States Provisional Patent Application No. 60/733,067, filed November 2, 2005, entitled "Enhancing External Storage Solutions", by Sree M. Iyer.
BACKGROUND OF THE INVENTION
[0002] External storage solutions based on USB or Firewire (also referred to as IEEE 1394), SATA have become extremely popular. With digital lifestyle firmly in place, storage demands have increased tremendously, leading to even greater storage. This has led to cost effective controller designs that continue to deliver performance while reducing overall system cost.
Most controllers include basic firmware in their controller itself with room for making enhancements. It is difficult to predict every application for the controller and so a way to enhance the controller to do new applications is provided by allowing these enhancements to reside on an EEPROM or like.
SUMMARY OF THE INVENTION
[0003] One embodiment as described herein provides a system and method for enhancing external storage. One embodiment includes a controller of a peripheral device of a computer system. The controller provides access a storage medium of the peripheral device. In one embodiment, the storage medium of the peripheral device includes a section of storage reserved for firmware of the peripheral device.
[0004] In a second embodiment, a controller of a peripheral storage device of a computer system, is to identify a presence of multiple hard disk drives (HDDs) and provide logical access to the multiple HDDs as a single HDD having a storage capacity greater than a storage capacity of any one of the multiple HDDs. BRIEF DESCRIPTION OF THE DRAWINGS [0005] Figure 1 illustrates a typical external storage configuration;
[0006] Figure 2 illustrates an external storage configuration in accordance with one embodiment;
[0007] Figure 3 illustrates a typical arrangement of a Master and a Slave storage configuration; and
[0008] Figure 4 illustrates an external storage configuration in accordance with one embodiment.
[0009] Figure 5 illustrates a flow diagram describing a process according to one embodiment.
DETAILED DESCRIPTION OF THE INVENTION
[0009] In the following detailed description of embodiments of the invention, reference is made to the accompanying drawings in which like references indicate similar elements, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical, electrical, functional, and other changes may be made without departing from the scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims.
[0010] In one embodiment, external peripherals (also referenced herein as external enclosures) present one or more of serial numbers, the product manufacturer name, the model ID (also collectively referenced herein as firmware enhancements). In alternative embodiments, additional information may be included in the firmware enhancements.
[0011] As illustrated in Figure 1 , typically, the information (i.e., firmware enhancements) is provided on firmware of the controller of the peripheral, such as on a small capacity non-volatile storage such as an EEPROM or Serial EEPROM.
[0012] In one embodiment, the peripheral is an external storage device, such as a disk drive. For example, the storage device is one of a Universal Serial Bus (USB) disk drive, a IEEE 1394 (Firewire) disk drive, or a IDE disk drive. In alternative embodiments, the referenced peripheral includes an alternative device other than a disk drive, such as network routers. In one embodiment, the peripheral device has a host interface comprising at least one of USB interface, a serial ATA interface, a Firewire (IEEE 1394 interface), a USB on-the-go (OTG) attached to an ATA (serial or parallel) disk drive.
[0013] In one embodiment, as illustrated in Figure 2, a section of the storage medium of the peripheral is allocated to store the firmware enhancements discussed above, rather than a storage medium of the controller. In one embodiment, the controller of the peripheral is exclusive of a storage medium.
[0014] Therefore, in one embodiment, allocating storage on a storage medium of a peripheral to store firmware enhancements, in one embodiment emulates a serial EEPROM of a peripheral controller. As a result of having placed the firmware enhancements on a storage medium of the peripheral rather than a storage medium of the peripheral controller, the cost of providing an auxiliary storage on the controller is reduced.
[0015] In one embodiment, the storage medium of the peripheral having an area of storage pre-identified to store the firmware enhancements, is the primary storage medium of the peripheral. In alternative embodiments, multiple storage mediums are provided on the peripheral, one of which is designated to store the firmware enhancements.
[00.16] At startup time, the controller of the peripheral scans a storage medium of the peripheral device for a pre-designated location of storage that contains the firmware enhancements. The firmware enhancements are to be loaded into a memory of the controller, to be processed by a startup routine.
[0017] More specifically, in one embodiment, at power on, a processor or controller of the host comes out of reset and starts performing initialization functions, such as setting various registers etc. As part of this process, the logic located on the controller seeks for the existence of a pre-designated section of the storage medium storing the firmware enhancements. Once located, the enhanced firmware is loaded into the memory of the host for execution. Alternatively, the enhanced firmware could be loaded into a different memory for execution.
[0018] In one embodiment, the logic that causes the processor or controller to seek out the pre-designated section of the storage medium of the peripheral, resides in one or more of the operating system (OS), the host Basic Input Output System (BIOS), or a driver of the peripheral device or other device.
[0019] In one embodiment, the logic is aware to look for the enhanced firmware on the storage medium of the peripheral rather than the controller of the peripheral, in response to the following. In one embodiment, there is a pre-arranged agreement to use the storage medium of the peripheral to store the enhanced firmware. By way of example, there is a pre-arranged agreement to store the enhanced firmware at 32 sectors (or some multiple) at the end of the peripherals usable storage medium. The logic therefore scans for the enhanced firmware at the pre-arranged location to determine if the enhanced firmware is present.
[0020] In one embodiment, up to 64 sectors (32k bytes of space) are pre- designated in the storage medium of the peripheral to store the enhanced firmware. In alternative embodiments, alternative size sectors are used.
TERA DISK
[0021] It is observed that the storage media usually have a sweet spot capacity, which, in some cases, is the best value for money. For instance, a typical multi- illustrated in Figure 3, a 250GB Disk Drive may cost $80 whereas a 500GB IDE Hard Disk Drive may cost $300! Thus tremendous savings in cost can be achieved if two 250GB Hard Disk Drives were put together to form one logical 500GB Hard Disk Drive (herein also referred to as TeraDisk), as illustrated in Figure 4.
[0022] One embodiment of a teradisk is provided via the following process, as described in the flow diagram of Figure 5. In process 502, at startup (i.e., power on, reset, etc.) a controller of a disk drives determines if a designated jumper or indicator is set (usually a jumper block) to indicate that multiple separate disk drives are to be treated logically as a single disk drive (as illustrated in the configuration of Figure 4).
[0023] In one embodiment, the jumper would be located on the printer circuit board which contains the disk drive controller The multiple separate disk drives have unique IDs to distinguish them.
[0024] In process 504, the controller then scans the multiple separate disk drives and computes the total space of the combined entity (i.e., the multiple disk drives). In one embodiment, the size computation is done by inquiring from its size from each disk drive (e.g., using typically the IDENTIFY DRIVE command (for ATA and ATAPI devices)).
[0025] In one embodiment, at startup the IDENTIFY DRIVE command is issued to both the disk drives and the identified size parameters are kept in the memory for reference by the firmware. In one embodiment, the firmware adds up the tota) capacities and adjusts for the presence of the teradisk (i.e., the combination of multiple disk drives logically represented as single disk drive) and declares to the hosts the capacity of the teradisk.
[0026] When connected to a Host (the system to which this TeraDisk is plugged into), in process 506 the controller reports to the host that there is just one disk drive With a total capacity equal to the combined capacity of the individual disks. The Host then treats the TeraDisk as a single large storage block and issues Read/ Write requests to the TeraDisk
[0027] In process 508, the controller determines to which disk a request is intended for and routes it accordingly. By way of example, in one embodiment, consider the case of two 500GB disk drives being combined to form a single 1TeraByte(TB) disk drive. The controller determines requests with an address ranging from 0 to 500GB should be routed to the first disk drive and request from 501GB to 1TB should be
routed to the second disk drive, after the address is subtracted by 500GB before passing it to the second disk drive.
[0028] In one embodiment, as illustrated in Figure 4, multiple devices connected on the same bus and have different addresses by making one device act like a master and another like a slave. In one embodiment, the multiple devices include a parallel ATA (also known as an IDE) parlance
[0029] At least some embodiments, and the different structure and functional elements described herein, can be implemented using hardware, firmware, programs of instruction, or combinations of hardware, firmware, and programs of instructions.
[0030] In general, routines executed to implement the embodiments can be implemented as part of an operating system or a specific application, component, program, object, module or sequence of instructions referred to as "computer programs." The computer programs typically comprise one or more instructions set at various times in various memory and storage devices in a computer, and that, when read and executed by one or more processors in a computer, cause the computer to perform operations to execute elements involving the various aspects.
[0031] While some embodiments have been described in the context of fully functioning computers and computer systems, those skilled in the art will appreciate that various embodiments are capable of being distributed as a program product in a variety of forms and are capable of being applied regardless of the particular type of machine or computer-readable media used to actually effect the distribution.
[0032] Examples of computer-readable media include but are not limited to recordable and nαn-recordabte type media such as volatile and non-volatile memory devices, read only memory (ROM), random access memory (RAM), flash memory devices, floppy and other removable disks, magnetic disk storage media, optical storage media (e.g., Compact Disk Read-Only Memory (CD ROMS), Digital Versatile Disks, (DVDs), etc.), among others. The instructions can be embodied in digital and analog communication links for electrical, optical, acoustical or other forms of propagated signals, such as carrier waves, infrared signals, digital signals, etc.
[0033] A machine readable medium can be used to store software and data which when executed by a data processing system causes the system to perform various methods. The executable software and data can be stored in various places including for example ROM, volatile RAM, non-volatile memory and/or cache. Portions of this software and/or data can be stored in. any one of these storage devices.
[0034] In general, a machine readable medium includes any mechanism that provides (i.e., stores and/or transmits) information in a form accessible by a machine (e.g., a computer, network device, personal digital assistant, manufacturing tool, any device with a set of one or more processors, etc.).
[0035] Some aspects can be embodied, at least in part, in software. That is, the techniques can be carried out in a computer system or other data processing system in response to its processor, such as a microprocessor, executing sequences of instructions contained in a memory, such as ROM, volatile RAM, non-volatile memory, cache, magnetic and optical disks, or a remote storage device. Further, the instructions can be downloaded into a computing device over a data network in a form of compiled and linked version.
[0036] Alternatively, the logic to perform the processes as discussed above could be implemented in additional computer and/or machine readable media, such as discrete hardware components as large-scale integrated circuits (LSI's), application- specific integrated circuits (ASIC's), or firmware such as electrically erasable programmable read-only memory (EEPROM's).
[0037] In various embodiments, hardwired circuitry can be used in combination with software instructions to implement the embodiments. Thus, the techniques are not
limited to any specific combination of hardware circuitry and software nor to any particular source for the instructions executed by the data processing system.
[0038] In this description, various functions and operations are described as being performed by or caused by software code to simplify description. However, those skilled in the art will recognize what is meant by such expressions is that the functions result from execution of the code by a processor, such as a microprocessor.
[0039] Although some of the drawings illustrate a number of operations in a particular order, operations which are not order dependent can be reordered and other operations can be combined or broken out. While some reordering or other groupings are specifically mentioned, others will be apparent to those of ordinary skill in the art and so do not present an exhaustive list of alternatives. Moreover, it should be recognized that the stages could be implemented in hardware, firmware, software or any combination thereof.
[0040] In the foregoing specification, the disclosure has been described with reference to specific exemplary embodiments thereof. It will be evident that various modifications can be made thereto without departing from the broader spirit and scope of the invention as set forth in the following claims. The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.

Claims

What is claimed is:
1) Apparatus comprising:
A controller of a peripheral device of a computer system, the controller to access a storage medium of the peripheral device, the storage medium of the peripheral device to include a section of storage reserved for firmware of the peripheral device.
2) The apparatus of claim 1 , wherein the controller is exclusive of a non-volatile storage to store the device firmware.
3) The apparatus of claim 2, the device firmware to include at least one or more of a serial number of the device, an identity of a manufacturer of the device, and a model identity of the device.
4) The apparatus of claim 3, the peripheral device is an external storage solution.
5) The apparatus of claim 3, the peripheral device is an external storage device comprising one of a Universal Serial Bus (USB) disk drive, a Firewire disk drive, and a IDE disk drive.
6) The apparatus of claim 3, wherein the peripheral device has a host interface comprising at least one of USB interface, a serial ATA interface, a Firewire (IEEE 1394 interface), a USB on-the-go (OTG) attached to an ATA disk drive.
7) The apparatus of claim 5, wherein the controller to scan a primary storage medium for the device for firmware and to load the firmware into a memory of the system.
8) An apparatus comprising:
A controller to access a peripheral device, the controller exclusive of firmware, the controller to access a section of a storage medium of the peripheral device reserved to emulate firmware of the controller.
9) Apparatus comprising:
A controller of a peripheral storage device of a computer system, the controller to identify a presence of multiple hard disk drives (HDDs) and provide logical access to the multiple HDDs as a single HDD having a storage capacity greater than a storage capacity of any one of the multiple HDDs.
10)The apparatus of claim 8, wherein the controller is to provide logical access to the multiple HDDs as a single HDD having a storage capacity equal to a sum of the storage capacity of the multiple HDDs.
11) The apparatus of claim 8, wherein the controller, in response to an initiation, determines if one of a jumper and an indicator are set to indicate the multiple HDDs are to be accessed as a logical single HDD.
12) The apparatus of claim 10, wherein the controller is to determine a storage capacity of the separate HDDs of the multiple HDDs.
13)The apparatus of claim 10, in response to receiving an access request having an logical address greater than a quantity of addresses for a first HDD of the multiple HDDs, the controller to an address on a second HDD corresponding to the logical address by offsetting the logical address by the quantity of addresses for the first HDD.
EP06836546A 2005-11-02 2006-10-25 System and method for enhancing external storage Withdrawn EP1946201A2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US73306705P 2005-11-02 2005-11-02
US11/478,895 US20070162626A1 (en) 2005-11-02 2006-06-30 System and method for enhancing external storage
PCT/US2006/041856 WO2007055925A2 (en) 2005-11-02 2006-10-25 System and method for enhancing external storage

Publications (1)

Publication Number Publication Date
EP1946201A2 true EP1946201A2 (en) 2008-07-23

Family

ID=40612185

Family Applications (1)

Application Number Title Priority Date Filing Date
EP06836546A Withdrawn EP1946201A2 (en) 2005-11-02 2006-10-25 System and method for enhancing external storage

Country Status (4)

Country Link
EP (1) EP1946201A2 (en)
JP (1) JP2009515254A (en)
KR (1) KR20080067570A (en)
WO (1) WO2007055925A2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7876894B2 (en) 2006-11-14 2011-01-25 Mcm Portfolio Llc Method and system to provide security implementation for storage devices

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6930709B1 (en) * 1997-12-04 2005-08-16 Pentax Of America, Inc. Integrated internet/intranet camera
JP3494346B2 (en) * 1998-03-03 2004-02-09 シャープ株式会社 Semiconductor memory device and control method thereof
US7509420B2 (en) * 2000-02-18 2009-03-24 Emc Corporation System and method for intelligent, globally distributed network storage
US7206989B2 (en) * 2002-11-20 2007-04-17 Intel Corporation Integrated circuit having multiple modes of operation
US8578063B2 (en) * 2004-08-20 2013-11-05 Mitsubishi Kagaku Media Co., Ltd. Self-labeling digital storage unit

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2007055925A3 *

Also Published As

Publication number Publication date
JP2009515254A (en) 2009-04-09
WO2007055925A2 (en) 2007-05-18
KR20080067570A (en) 2008-07-21
WO2007055925A3 (en) 2008-01-03

Similar Documents

Publication Publication Date Title
US20070162626A1 (en) System and method for enhancing external storage
US8694709B2 (en) Systems and methods for improving connections to an information handling system
US6990573B2 (en) System and method for sharing storage to boot multiple servers
KR100909119B1 (en) Apparatus and Method for High Performance Volatile Disk Drive Memory Access Using Integrated DMA Engine
US7899987B2 (en) File storage in a computer system with diverse storage media
CN102171649B (en) Method and system for queuing transfers of multiple non-contiguous address ranges with a single command
US6931486B2 (en) Method and apparatus for coalescing two or more transacting requests
US9734106B2 (en) Systems and methods for providing connections to an information handling system
US9164703B2 (en) Solid state drive interface controller and method selectively activating and deactivating interfaces and allocating storage capacity to the interfaces
CN101201804B (en) Apparatus, system, and method for protecting hard disk data in multiple operating system environments
CN101221483B (en) System and method to improve sequential serial attached small computer system interface storage device performance
JP4308152B2 (en) Method, system, and product for reserving memory
US8661237B2 (en) System and method for booting a plurality of servers from a shared boot image stored on a USB boot image sharer
US9703590B2 (en) Information processing apparatus including bridges that connect virtual machines and physical devices, and control method thereof
US20150082014A1 (en) Virtual Storage Devices Formed by Selected Partitions of a Physical Storage Device
US6904497B1 (en) Method and apparatus for extending storage functionality at the bios level
CN104471548A (en) Storage system with data management mechanism and method of operation thereof
EP1946201A2 (en) System and method for enhancing external storage
US11256435B2 (en) Method and apparatus for performing data-accessing management in a storage server
US9760661B2 (en) Providing virtual optical disk drive
CN103197915B (en) A kind of method, device and physical machine processing sensitive instructions
US8667188B2 (en) Communication between a computer and a data storage device
KR100692958B1 (en) Portable solid state drive with emulator
KR20060095133A (en) Method for operating system program stored in non-volatile memory
TWI434284B (en) Method of active flash management, and associated memory device and controller thereof

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20070717

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA HR MK RS

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: MCM PORTFOLIO LLC

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: MCM PORTFOLIO LLC

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20100315