System and method for a host to access an internal SATA storage device within an accessible host using an external serial ATA connection

An accessible host includes one or more internal SATA storage devices, an external SATA connector, an internal SATA port controller, an external SATA port controller, and a switching mechanism. The switching mechanism allows the accessible host to access an external storage device when the switching mechanism is in a first configuration. When the switching mechanism is in a second configuration, a second host is able to access one or more internal SATA storage devices within the accessible host.

BACKGROUND

Storage devices, such as hard disk drives and optical drives, are widely used to provide mass storage for various computing applications. Computers communicate with the storage devices using one of several interfaces. The Universal Serial Bus (USB), Small Computer Systems Interface (SCSI), Institute of Electrical and Electronic Engineers (IEEE) 1394, Serial Advanced Technology Attachment (Serial ATA or SATA), and External Serial Advanced Technology Attachment (eSATA), are examples of such interfaces.

The SATA interface was developed by the Serial ATA International Organization, a consortium of computer and mass storage device manufacturers that defines and adopts specifications for the Serial ATA Interface. The Serial ATA specification is entitled “Serial ATA International Organization: Serial ATA”, and is referred to herein as the SATA specification. Revision 2.5 of the SATA specification was publicly released on Oct. 27, 2005.

The eSATA interface is described in the SATA specification as a point-to-point connection between a host (e.g., computer) and a storage device external to the host.FIG. 1is a block diagram of an eSATA system according to the prior art. System100includes external storage device102, host104, and internal storage device106within host104. External storage device102connects to host104using eSATA connectors108,110and eSATA cable112. Host104uses cable112to transfer data to and from external storage device102. The SATA specification, however, does not define a connection that allows another host to access host104in order to read data from, or write data to, internal storage device106.

SUMMARY

In accordance with the invention, a system and method for a host to access an internal SATA storage device within an accessible host using an external serial ATA connection are provided. An accessible host includes one or more internal SATA storage devices, an external SATA connector, an internal SATA port controller, an external SATA port controller, and a switching mechanism. The switching mechanism allows the accessible host to access an external storage device when the switching mechanism is in a first configuration. When the switching mechanism is in a second configuration, a host is able to access one or more internal SATA storage devices within the accessible host.

When the accessible host includes one internal SATA storage device, the external SATA connector is implemented as an external single lane SATA connector in an embodiment in accordance with the invention. When the accessible host includes two or more internal SATA storage devices, the external SATA connector may be implemented as an external single lane SATA connector or as a multi-lane SATA connector. In one embodiment in accordance with the invention, a port selector is connected to each internal SATA storage device and a port multiplier is connected between the port selectors and the switching mechanism when the external SATA connector is an external single lane SATA connector. When the external SATA connector is an external multi-lane connector, a port selector is connected between a respective internal SATA storage device and the switching mechanism in another embodiment in accordance with the invention.

DETAILED DESCRIPTION

The following description is presented to enable embodiments of the invention to be made and used, and is provided in the context of a patent application and its requirements. Various modifications to the disclosed embodiments will be readily apparent, and the generic principles herein may be applied to other embodiments. Thus, the invention is not intended to be limited to the embodiments shown but is to be accorded the widest scope consistent with the appended claims. Like reference numerals designate corresponding parts throughout the figures.

FIG. 2is a block diagram of an eSATA system in an embodiment in accordance with the invention. System200includes host202, accessible host204, external SATA connectors108,110, and external SATA cable112. Hosts202,204are each implemented as any apparatus operable to perform the host functions as defined in the SATA specification. Examples of a host include, but are not limited to, a computer, a video camcorder, a digital video recorder, and a digital audio player. As will be described in conjunction withFIGS. 3A-8, accessible host204can be placed in a device mode and act as an external storage device, thereby allowing host202to read data from, or write data to, internal storage device106within accessible host204using external SATA cable112.

Referring now toFIGS. 3A-3B, there is shown a flowchart of a method for a host to access an internal SATA storage device within an accessible host in an embodiment in accordance with the invention. Initially a determination is made at block300as to whether the accessible host is to enter a device mode. The device mode is a mode where the accessible host acts as an external SATA device. When the accessible host is in the device mode, another host is able to access one or more internal SATA storage devices within the accessible host and read data from, or write data to, the internal SATA storage device within the accessible host.

The accessible host can enter the device mode using one of a variety of techniques. For example, a user can hold down a specific key on the keyboard when the accessible host is initially powered up to enter the device mode in an embodiment in accordance with the invention. In another embodiment in accordance with the invention, the user can throw a mechanical switch to have the accessible host enter the device mode. And in yet another embodiment in accordance with the invention, the user can select the device mode using a user interface (seeFIG. 8).

If the accessible host will not enter the device mode, the method passes to block302where one or more switching mechanisms are set for the host mode. The host mode is a mode where the accessible host acts as a host and can access an external SATA storage device. The one or more switching mechanisms are described in more detail in conjunction withFIGS. 4-7.

Once the switching mechanism is set for the host mode, the accessible host accesses an external SATA storage device connected to the accessible host (block304). By accessing the external storage device, the accessible host is able to read data from, or write data to, the external SATA storage device. Referring again to block300, if the accessible host will enter the device mode, the method passes to block306where a determination is made as to whether the accessible host is to enter a selective device mode. The selective device mode is a mode where the accessible host acts as an external SATA device and a second host accesses only selected internal SATA storage devices within the accessible host. For example, if an accessible host has four internal SATA storage devices, a second host may access only one of the internal SATA storage devices in the selective device mode.

If the accessible host will not enter the selective device mode, the method passes to block308where the one or more switching mechanisms are set for the device mode. The accessible host then indicates it has entered the device mode, as shown in block310. The accessible host can display an icon on an attached display to indicate it is in the device mode in an embodiment in accordance with the invention. In other embodiments in accordance with the invention, the accessible host can indicate it is in the device mode in other ways. For example, an audible or visual annunciator can be used to indicate the device mode.

The unused components within the accessible host are then turned off or placed in a reduced power state, as shown in block312. Examples of such components include, but are not limited to, the host processor, controllers, and the display electronics when an active display is not required. The only components in the accessible host that use power are the one or more internal SATA storage devices, the cooling system used by the internal storage device or devices, and the switching mechanism in an embodiment in accordance with the invention.

The second host then accesses the one or more internal SATA storage devices within the accessible host (block314). The second host can write data to, or read data from the internal SATA storage device within the accessible host. A determination is then made at block316as to whether the accessible host is to exit the device mode. If so, the device mode is deactivated at block318when the second host no longer needs access to the internal SATA storage device or devices within the accessible host. Restarting the accessible host is one technique for deactivating the device mode in an embodiment in accordance with the invention. Other embodiments in accordance with the invention can deactivate the device mode using different techniques.

Returning again to block306, if the accessible host will enter the selective device mode, the method passes to block320where the one or more switching mechanisms are set for the selective device mode. The accessible host then indicates it has entered the selective device mode (block322) and the unused components within the accessible host are turned off or placed in a reduced power state (block324).

The second host then accesses the selected one or more internal SATA storage devices within the accessible host, as shown in block326. The second host can write data to, or read data from the selected internal SATA storage device or devices within the accessible host. A determination is then made at block316as to whether the accessible host is to exit the device mode If so, the device mode is deactivated at block318when the second host no longer needs access to the selected internal SATA storage device or devices within the accessible host.

The selected one or more internal storage devices can be identified at block306or block320using one of several techniques. For example, a user can hold down one key on the keyboard to enter the device mode and then hold down a number key or enter a drive identifier to specify which internal SATA storage device or devices are to be accessed in an embodiment in accordance with the invention. Alternatively, a user can specify the selected one or more internal SATA storage devices using a user interface in another embodiment in accordance with the invention (seeFIG. 8).

Embodiments in accordance with the invention are not limited to the blocks and the organization of the blocks shown inFIGS. 3A-3B. Other embodiments in accordance with the invention can include additional blocks, reorder the blocks, or delete some of the blocks shown inFIGS. 3A-3B. By way of example only, blocks310and322may not be included in another embodiment in accordance with the invention. Alternatively, blocks312and324may not be implemented in other embodiments in accordance with the invention. And finally, block306and blocks320-326may not be included when an accessible host does not have a selective device mode.

FIG. 4is a functional diagram of a first accessible host that is used to illustrate block302shown inFIG. 3Bin an embodiment in accordance with the invention. Accessible host204includes internal SATA storage device400, internal SATA port controller402, external SATA port controller404, and switching mechanism406.

Switching mechanism406includes two electronic switches406A,406B in an embodiment in accordance with the invention. Mode selector408sets switches406A,406B such that host204enters either the host mode or the device mode in the embodiments shown inFIG. 4andFIG. 5. Mode selector408is implemented as a processor running firmware designed to determine the proper mode and set the switching mechanisms accordingly in an embodiment in accordance with the invention.

The settings for switches406A,406B for the host mode are shown inFIG. 4. Switch406A connects internal SATA storage device400to internal SATA port controller402while switch406B connects external SATA port controller404to external SATA connector110. Internal and external SATA port controllers402,404are conventional SATA controllers in an embodiment in accordance with the invention. As discussed earlier, accessible host204is able to access an external SATA storage device (not shown) that is connected to accessible host204when accessible host204is in the host mode.

Referring now toFIG. 5, there is shown a functional diagram of the accessible host that is used to illustrate block308shown inFIG. 3Ain an embodiment in accordance with the invention. As discussed earlier, a second host (not shown) is able to access internal SATA storage device400when accessible host204is in the device mode. Switches406A,406B are set such that internal SATA storage device400is connected to eSATA connector110. Accessible host204is able to act as an external SATA storage device in the device mode because internal SATA port controller402and external SATA port controller404are disconnected and operationally isolated.

External SATA connector110is implemented as an external single lane SATA connector in the embodiments shown inFIGS. 4 and 5. A single lane SATA connector is described in the SATA specification as a connector that provides a single communication path or connection between a host and an external device. In the embodiments shown inFIGS. 4 and 5, eSATA connector110provides a single communication path between a second host (not shown) and internal SATA storage device400.

FIG. 6is a functional diagram of a second accessible host that is used to illustrate blocks302,308,320shown inFIGS. 3A-3Bin an embodiment in accordance with the invention. Accessible host204includes mode selector600, switching mechanism406, and external SATA port controller404. Switching mechanism406is set as shown with the solid arrow when accessible host204is in the host mode.

Switching mechanism406is set as shown with the dotted arrow when accessible host204is in the device mode. External SATA connecter110is connected to port multiplier602when host204is in the device mode. External SATA connector110is implemented as a single lane eSATA connector in the embodiment shown inFIG. 6.

A port multiplier is defined in the SATA specification as a mechanism for a single host connection to communicate with multiple external devices. In the embodiment shown inFIG. 6, port multiplier602allows a second host (not shown) connected to accessible host204to communicate with multiple internal SATA storage devices604,606,608,610.

Port selectors612,614,616,618connect port multiplier602to internal SATA storage devices604,606,608,610, respectively. The SATA specification defines a port selector as a device that allows two different host ports or controllers to connect to the same device. In the embodiment shown inFIG. 6, each port selector612,614,616,618allows a respective internal SATA storage device604,606,608,610to either connect to a respective internal SATA port controller620,622,624,626or to port multiplier602. The setting of switching mechanism406determines whether the internal SATA storage devices604,606,608,610are connected to a respective internal SATA port controller620,622,624,626or to port multiplier602.

A second host (not shown) that is connected to accessible host204can access all internal SATA storage devices604,606,608,610or selectively access one or more of the internal SATA storage devices604,606,608,610. Mode selector600receives the signal or signals to enter the device mode. Mode selector600also receives, if necessary, one or more additional signals identifying which internal SATA storage devices604,606,608,610will be accessed for the selective host-device mode. Mode selector600then transmits a signal to each port selector612,614,616,618or to each affected port selector612,614,616,618to cause the port selector or selectors612,614,616,618to activate the appropriate communication path to its respective storage device604,606,608,610.

Referring now toFIG. 7, there is shown a functional diagram of a third exemplary accessible host that is used to illustrate blocks302,308,320shown inFIG. 3A-3Bin an embodiment in accordance with the invention. Accessible host204includes mode selector700, switching mechanism406, and external SATA port controller404. Switching mechanism406includes four switches406A,406B,406C,406D and external SATA port controller404includes four external SATA port controllers404A,404B,404C,404D in the embodiment shown inFIG. 7.

Switches406A-D are set as shown with the solid arrows when accessible host204enters the host mode. Switches406A,406B,406C,406D are set as shown with the dotted arrows when accessible host204enters the device mode. Switches406A-D may be set as a group for device mode or selective device mode or set individually for the selective device mode in an embodiment in accordance with the invention.

External SATA connector110is implemented as an external multi-lane SATA connector in the embodiment shown inFIG. 7. External SATA connecter110is connected to internal SATA storage devices604,606,608,610via port selectors612,614,616,618, respectively, when accessible host204is in the device mode. External SATA connecter110is connected to some of the internal SATA storage devices604,606,608,610when accessible host204is in the selective device mode.

Mode selector700receives the signal or signals to enter the host-device mode. Mode selector700also receives, if necessary, one or more additional signals identifying which internal SATA storage devices604,606,608,610will be accessed for the selective host-device mode. Mode selector700then transmits a signal to each port selector612,614,616,618or to each affected port selector612,614,616,618to cause the port selector or selectors612,614,616,618to activate the appropriate communication path to its respective storage device604,606,608,610.

The embodiments shown inFIGS. 6 and 7depict four internal SATA storage devices. Embodiments in accordance with the invention, however, are not constrained to this implementation. Any number of internal SATA storage devices may be included in an accessible host. For example, Revision2.5of the SATA specification currently supports up to sixteen internal SATA storage devices in the embodiment shown inFIG. 6. The embodiment shown inFIG. 7can use four groups of sixteen internal SATA storage devices because the multi-lane SATA connector110provides four separate communication paths.

Although switching mechanism406is shown as including electronic switches in the embodiments shown inFIGS. 4-7, other embodiments in accordance with the invention are not limited to this implementation. Switching mechanisms may be implemented as any mechanism that switches between communication paths. For example, switching mechanism406may be implemented as one or more mechanical switches, voltage controlled amplifiers, and multiplexers.

FIG. 8is a graphical illustration of a user interface that can be used to implement blocks300and306shown inFIG. 3Ain an embodiment in accordance with the invention. User interface800includes pull down menu802, dialog boxes804,806,808, and checkbox810. Pull-down menu802is used to select the mode in an embodiment in accordance with the invention. A user can select either the host mode, the device mode, or the selective device mode in an embodiment in accordance with the invention.

Dialog boxes804,806,808are used to enter numbers or words that identify which internal SATA storage devices are to be accessed while the accessible host is in the selective device mode. Any number of dialog boxes can be used in other embodiments in accordance with the invention.

And finally, checkbox810is used to instruct the accessible host to restart to deactivate the device mode in an embodiment in accordance with the invention. Other embodiments in accordance with the invention may configure user interface800differently. For example, a dialog box or checkboxes can be used in place of pull-down menu802. Alternatively, additional features can be included in user interface800.