WO2003085535A2 - Ata/sata combined controller - Google Patents

Ata/sata combined controller Download PDF

Info

Publication number
WO2003085535A2
WO2003085535A2 PCT/US2003/006258 US0306258W WO03085535A2 WO 2003085535 A2 WO2003085535 A2 WO 2003085535A2 US 0306258 W US0306258 W US 0306258W WO 03085535 A2 WO03085535 A2 WO 03085535A2
Authority
WO
WIPO (PCT)
Prior art keywords
parallel
ata
data transfer
sata
serial
Prior art date
Application number
PCT/US2003/006258
Other languages
French (fr)
Other versions
WO2003085535A3 (en
Inventor
Henry Drescher
Frank Barth
Original Assignee
Advanced Micro Devices, 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 DE10214700A external-priority patent/DE10214700B4/en
Application filed by Advanced Micro Devices, Inc. filed Critical Advanced Micro Devices, Inc.
Priority to KR1020047015687A priority Critical patent/KR100993017B1/en
Priority to EP03713808A priority patent/EP1537473A2/en
Priority to CN038077434A priority patent/CN1650276B/en
Priority to JP2003582653A priority patent/JP4351071B2/en
Priority to AU2003217839A priority patent/AU2003217839A1/en
Publication of WO2003085535A2 publication Critical patent/WO2003085535A2/en
Publication of WO2003085535A3 publication Critical patent/WO2003085535A3/en

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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements

Definitions

  • the invention generally relates to controlling data transfer to and/or from storage devices, and relates in particular to ATA (Advanced Technology Attachment) and SATA (Serial ATA) controllers.
  • ATA Advanced Technology Attachment
  • SATA Serial ATA
  • hard disks and other drives such as CD or DVD drives, tape devices, high capacity removeable devices, zip drives, and CDRW drives are storage devices that may be connected to the computer via an interface for defining Hie physical and logically requirements for performing data transfer to and from the devices.
  • IDE Integrated Drive Electronics
  • AT Advanced Technology Attachment
  • ATA Advanced Technology Attachment
  • ATA compliant interfaces While the parallel ATA interconnect has been the dominant internal storage interconnect for desktop and mobile computers because of its relative simplicity, high performance, and low cost, ATA compliant interfaces have a number of limitations that are exhausting their ability to continue increasing performance. Some of these limitations are the 5-volt signalling requirement, and die high pin count. These and other characteristics of parallel ATA interfaces are the reasons why such interfaces cannot scale to support several more speed doublings as happened in the past, so that this interface is nearing its performance capacity.
  • serial ATA was developed as a next generation ATA specification.
  • SATA is an evolutionary replacement for the parallel ATA physical storage interface and is designed to be 100% software compatible with today's ATA, but to have a much lower pin count, enabling thinner, more flexible cables. Because of the maintained software compatibility, no changes in today's drivers and operating systems are required. Moreover, the lower pin count also benefits the system design of motherboards and their chipsets and other integrated silicon components.
  • FIGs. 1 and 2 illustrate standard ATA and the serial ATA (SATA) connectivity, respectively.
  • FIG. 1 depicts how ATA compliant parallel storage devices are connected to a computer system to enable data transfer to and from the devices
  • the computer system includes an operating system 115 that is the main software running on the computer.
  • application programs with no user interface exist as well.
  • driver software 120 provided which may be an extra software component, or part of the operating system 115, and which is run specifically to interact with ATA compliant hardware.
  • This hardware includes the ATA adapter 125 which exchanges data signals with devices 135, 140 over a parallel port 130.
  • the ATA adapter 125 is also called ATA controller, often together with the parallel port 130.
  • FIG. 2 illustrates the corresponding parts of a computer system having an SATA interface
  • an SATA adapter 200 is provided that is connected to one or more serial ports 210, 215 for exchanging signals with serial devices 220, 225. That is, the SATA enabled computer system differs from the system of FIG. 1 in that the devices and ports are serialized, and an appropriate SATA compliant adapter 200 is provided.
  • the SATA adapter 200 may be understood as comprising an ATA adapter 125, being accompanied with a parallel/serial converter 205 to perform parallel-to-serial and serial-to-parallel conversion of data signals.
  • the interface of FIG. 2 is software compatible with the technique of FIG. 1.
  • SATA is a drop-in solution, and today's software will run on the new architecture without modification.
  • SATA compliant controllers and devices will be of about the same costs as conventional units, SATA is expected to eventually completely replace parallel ATA interfaces.
  • SATA's adoption by the industry will follow a phased transition path, and there will be a point where both parallel and serial ATA capabilities are available.
  • SATA electronics and connectors will differ from those of the conventional ATA interface. For this reason, adapters may be provided to facilitate forward and backward compatibility of hard disks and other storage devices on computer systems. For instance, SATA-to-ATA bridges may be used in hard disk drives and storage systems, and ATA-to-SATA bridges may be used in motherboards, add-in cards and drive test equipment.
  • SATA-to-ATA bridges may be used in hard disk drives and storage systems
  • ATA-to-SATA bridges may be used in motherboards, add-in cards and drive test equipment.
  • such conventional solutions require a significant amount of additional hardware components and thus lead to increased manufacturing costs.
  • a control apparatus for controlling data transfer to and/or from storage devices.
  • the control apparatus comprises a first control unit for controlling data transfer to and/or an ATA compliant parallel storage device. Further, the control apparatus comprises a second control unit for controlling data transfer to and/or from an SATA compliant serial storage device.
  • the control apparatus is capable of concurrently performing the data transfer to and/or from the parallel and serial devices.
  • said first control unit is arranged for controlling data transfer to and/or from two parallel ATA storage devices
  • said second control unit is arranged for controlling data transfer to and or from two SATA storage devices.
  • control apparatus is capable of disabling said first control unit to enable data transfer with SATA storage devices only.
  • control apparatus is capable of disabling said second control unit to enable data transfer with parallel ATA storage devices only.
  • the apparatus is arranged for determining if an SATA storage device is connected to the control apparatus.
  • the apparatus is arranged for providing information on the determined SATA storage device to host software.
  • said second control unit is capable of converting parallel data to serial data and/or serial data to parallel data to enable data transfer to and/or from SATA storage devices.
  • the apparatus is an integrated circuit chip.
  • a method of operating a control apparatus for controlling data transfer to and/or from storage devices comprises performing data transfer to and/or from an ATA compliant parallel storage device connected to the control apparatus.
  • the method further comprises performing data transfer to and/or from an SATA compliant serial storage device connected to the control apparatus.
  • the data transfer to and/or from the ATA compliant parallel storage device and the data transfer to and/or from the SATA compliant serial storage device are performed concurrently.
  • the data transfer to and/or from two SATA storage devices is controlled in a master/slave emulation mode wherein one of the SATA storage devices is represented to host software as master and die other SATA storage device as slave, both being accessible at the same set of host bus addresses.
  • data transfer to and/or from two parallel ATA storage devices connected to one parallel port of the control apparatus is controlled such that one device is the master and the other is the slave at the parallel port.
  • data transfer is controlled to and/or from two ATA compliant parallel storage devices, and data transfer is controlled to and/or from two SATA compliant serial storage devices.
  • the method further comprises determining if an SATA storage device is connected to the control apparatus.
  • the method further comprises providing information on the determined SATA storage device to host software.
  • said step of performing data transfer to and/or from an SATA compliant serial storage device comprises converting parallel data to serial data and/or serial data to parallel data.
  • FIG. 1 illustrates a conventional computer system that is connected to ATA compliant storage devices
  • FIG. 2 illustrates a conventional computer system that is connected to SATA compliant storage devices
  • FIG. 3 illustrates the components of an ATA controller according to an embodiment
  • FIG. 4 is a flowchart illustrating the process of operating the ATA controller of FIG. 3.
  • the controller comprises a target interface unit 305 and a source interface unit 310. Both interfaces are connected to the host interface 300 for exchanging requests and data with the software driver 120.
  • the target interface 305 may be used by the driver 120 for accessing the controller for configuration purposes.
  • the source interface 310 may be used to perform data access to read or write data to/from the storage devices.
  • a bus master engine 320 for controlling which one of the master control unit 325 and the slave control unit 330 is granted access to which one of the target interface 305 and the source interface 310, and vice versa.
  • the master control unit 325 and the slave control unit 330 may be built up like in conventional ATA controllers 125 that control a parallel port to which two parallel devices can be connected, one being the master and the other being the slave.
  • shadow register block 315 includes interface registers used for delivering commands to the devices or posting status from the devices.
  • the shadow register block 315 is so named since it contains a set of registers that shadow the contents of the traditional device registers, for performing standard ATA emulation.
  • the controller operates in the master/slave emulation mode specified in the SATA specification, that is, two serial devices on two separate serial ports 210, 215 are represented to host software as a master and a slave accessed at the same set of host bus addresses.
  • a port assignment unit 335 which may be used for switching between the parallel and serial ports 130, 210, 215.
  • the port assignment unit 335 further connects the master and slave devices connected to the parallel port 130 to the correct control unit 325, 330. Also, the serial devices connected to the serial ports 210, 215 are connected to either the master control unit 325 or the slave control unit 330, as the controller of the present embodiment operates in the master/slave emulation mode as described above. Another function performed by the port assignment unit 335 is that of the parallel/serial converter 205, i.e., it performs a conversion of parallel to serial data signals and vice versa.
  • the port assignment unit 335 receives further input from port map register 340.
  • the port map register 340 which may actually be a set of registers, stores port identification data indicating which one of the parallel and serial ports 130, 210, 215 is activated. It is to be noted, that generally any number of ports may be activated, including the case where no port is active, or where all of the parallel and serial ports are activated.
  • the port map register 340 and the port assignment unit 335 may be such that the ATA controller of FIG. 3 can operate in one of the following configurations. In the first configuration, either zero, one or two parallel ATA devices can be driven. In another configuration, either zero, one or two serial ATA devices can be driven. Finally, in a third configuration, one parallel and one serial device can be driven.
  • the port map register 340 that stores port identification data defining the ports to be used, or the configuration, is connected to the target interface 305 so that the driver 120 has access to the register(s) to perform a reconfiguration. That is, the embodiment extends an existing parallel ATA controller by a serial part and thus allows reusing a significant amount of parallel ATA controller hardware for implementing a cost effective software configurable combined serial/parallel ATA controller.
  • the entire controller can be reconfigured to operate as conventional ATA controller, or to operate as conventional SATA controller. That is, a software driven reconfiguration is provided that makes it possible to switch between a mode where the controller behaves like a conventional ATA controller, and a mode where the controller behaves like a conventional SATA controller.
  • the controller according to the embodiment can be configured to concurrently perform data transfer to parallel and serial devices. That is, the controller of the embodiment is a chameleon device which adjust to any possible connectivity modes simply by performing a software reconfiguration.
  • parallel and serial devices can even be operated simultaneously. It is to be noted that the concurrent data transfer to and from a parallel and serial storage devices may be done by expanding the SATA transport layer state machine to be able to use conventional ATA control signals generated by conventional ATA interface control circuits, and to add an additional payload buffer.
  • the port map register 340 allows the software 100, 105, 110, 115, 120 to configure and reconfigure the arrangement. This includes the configuration of the master or the slave or both devices to either a parallel or a serial device.
  • the controller may have the registers required to allow read/write processes to the SATA port status and error registers.
  • FIG. 4 a flowchart is shown illustrating the process of operating the ATA controller according to the embodiment of FIG. 3.
  • the software checks if there are serial ATA drives plugged in, e.g. by reading the SATA port status register.
  • the software then configures the port map register 340 in step 405. It is to be noted that steps 400 and 405 may be performed during initialization of the controller.
  • the port assignment unit 335 may act as port switch unit to switch to the appropriate ports 130, 210, 215 in step 410. If a correct port is already active, this step may be skipped. Once access to the storage device is made possible, the data transfer is performed in step 415.
  • the present invention may significantly enhance the data communication in mass products such as personal computers and the like.

Abstract

A combined ATA and SATA controller is provided that comprises a control unit 300-330 for controlling data transfer to and/or from an ATA compliant parallel storage device (135, 140) and a control unit (335, 340) for controlling data transfer to and/or from an SATA compliant serial storage device (220, 225). The controller can concurrently perform the data transfer to and/or from the parallel and serial devices. By reusing a significant amount of controller hardware, the combined controller can be realized in a cost effective manner.

Description

ATA/SATA COMBINED CONTROLLER
Technical Field
The invention generally relates to controlling data transfer to and/or from storage devices, and relates in particular to ATA (Advanced Technology Attachment) and SATA (Serial ATA) controllers.
Background Art
In computer systems, hard disks and other drives such as CD or DVD drives, tape devices, high capacity removeable devices, zip drives, and CDRW drives are storage devices that may be connected to the computer via an interface for defining Hie physical and logically requirements for performing data transfer to and from the devices. One of the most popular interfaces used in modern computer systems is the one most commonly known as IDE (Integrated Drive Electronics). The IDE drive interface, more properly called AT (Advanced Technology) Attachment (ATA) interface, was developed starting in 1986 and was standardized around 1988. The specification which provides a way to make disk drive "attachments" to the PC (Personal Computer) architecture, was further developed to a variety of more recent specifications such as ATA/ATAPI, EIDE, ATA-2, Fast ATA, ATA-3, Ultra ATA, Ultra DMA, ATA-4 and many more as well. All of these specifications define storage interfaces for connecting to parallel storage devices and are referred to as being ATA compliant hereafter.
While the parallel ATA interconnect has been the dominant internal storage interconnect for desktop and mobile computers because of its relative simplicity, high performance, and low cost, ATA compliant interfaces have a number of limitations that are exhausting their ability to continue increasing performance. Some of these limitations are the 5-volt signalling requirement, and die high pin count. These and other characteristics of parallel ATA interfaces are the reasons why such interfaces cannot scale to support several more speed doublings as happened in the past, so that this interface is nearing its performance capacity.
For this reason, and to provide scaleable performance for the next decade, serial ATA (SATA) was developed as a next generation ATA specification. SATA is an evolutionary replacement for the parallel ATA physical storage interface and is designed to be 100% software compatible with today's ATA, but to have a much lower pin count, enabling thinner, more flexible cables. Because of the maintained software compatibility, no changes in today's drivers and operating systems are required. Moreover, the lower pin count also benefits the system design of motherboards and their chipsets and other integrated silicon components.
As mentioned above, one of the key features of the SATA interface is the software compatibility to parallel ATA controllers. This can be better understood from a comparison of FIGs. 1 and 2 which illustrate standard ATA and the serial ATA (SATA) connectivity, respectively.
Turning first to FIG. 1 which depicts how ATA compliant parallel storage devices are connected to a computer system to enable data transfer to and from the devices, the computer system includes an operating system 115 that is the main software running on the computer. There may further be multiple application programs 100, 105, 110 which usually have a user interface for providing information to the user and receiving input. Of course, application programs with no user interface exist as well. Further, there is usually a driver software 120 provided which may be an extra software component, or part of the operating system 115, and which is run specifically to interact with ATA compliant hardware.
This hardware includes the ATA adapter 125 which exchanges data signals with devices 135, 140 over a parallel port 130. The ATA adapter 125 is also called ATA controller, often together with the parallel port 130.
Referring now to FIG. 2 which illustrates the corresponding parts of a computer system having an SATA interface, there are no changes required in the application programs 100, 105, 110, the operating system 115, nor the driver 120. On the hardware side, an SATA adapter 200 is provided that is connected to one or more serial ports 210, 215 for exchanging signals with serial devices 220, 225. That is, the SATA enabled computer system differs from the system of FIG. 1 in that the devices and ports are serialized, and an appropriate SATA compliant adapter 200 is provided. Focusing in more detail to this adapter, it can be seen, that the SATA adapter 200 may be understood as comprising an ATA adapter 125, being accompanied with a parallel/serial converter 205 to perform parallel-to-serial and serial-to-parallel conversion of data signals.
As neither in the operating system 115 nor in the driver software 120 specific adaptations to the SATA specification are required, the interface of FIG. 2 is software compatible with the technique of FIG. 1. Thus, SATA is a drop-in solution, and today's software will run on the new architecture without modification. Given this feature and the above described other advantages, and further taking into account that SATA compliant controllers and devices will be of about the same costs as conventional units, SATA is expected to eventually completely replace parallel ATA interfaces. SATA's adoption by the industry will follow a phased transition path, and there will be a point where both parallel and serial ATA capabilities are available.
Although the technology is software compatible and operating system transparent, SATA electronics and connectors will differ from those of the conventional ATA interface. For this reason, adapters may be provided to facilitate forward and backward compatibility of hard disks and other storage devices on computer systems. For instance, SATA-to-ATA bridges may be used in hard disk drives and storage systems, and ATA-to-SATA bridges may be used in motherboards, add-in cards and drive test equipment. However, such conventional solutions require a significant amount of additional hardware components and thus lead to increased manufacturing costs.
Disclosure of Invention
In one aspect of the invention, a control apparatus for controlling data transfer to and/or from storage devices is provided. The control apparatus comprises a first control unit for controlling data transfer to and/or an ATA compliant parallel storage device. Further, the control apparatus comprises a second control unit for controlling data transfer to and/or from an SATA compliant serial storage device. The control apparatus is capable of concurrently performing the data transfer to and/or from the parallel and serial devices. In a further embodiment said first control unit is arranged for controlling data transfer to and/or from two parallel ATA storage devices, and said second control unit is arranged for controlling data transfer to and or from two SATA storage devices.
In a further embodiment said control apparatus is capable of disabling said first control unit to enable data transfer with SATA storage devices only.
In a further embodiment said control apparatus is capable of disabling said second control unit to enable data transfer with parallel ATA storage devices only.
In a further embodiment the apparatus is arranged for determining if an SATA storage device is connected to the control apparatus.
In a further embodiment the apparatus is arranged for providing information on the determined SATA storage device to host software.
In a further embodiment said second control unit is capable of converting parallel data to serial data and/or serial data to parallel data to enable data transfer to and/or from SATA storage devices.
In a further embodiment the apparatus is an integrated circuit chip.
In a further aspect of the invention, there may be provided a method of operating a control apparatus for controlling data transfer to and/or from storage devices. The method comprises performing data transfer to and/or from an ATA compliant parallel storage device connected to the control apparatus. The method further comprises performing data transfer to and/or from an SATA compliant serial storage device connected to the control apparatus. The data transfer to and/or from the ATA compliant parallel storage device and the data transfer to and/or from the SATA compliant serial storage device are performed concurrently.
In a further embodiment the data transfer to and/or from two SATA storage devices is controlled in a master/slave emulation mode wherein one of the SATA storage devices is represented to host software as master and die other SATA storage device as slave, both being accessible at the same set of host bus addresses.
In a further embodiment data transfer to and/or from two parallel ATA storage devices connected to one parallel port of the control apparatus is controlled such that one device is the master and the other is the slave at the parallel port.
In a further embodiment data transfer is controlled to and/or from two ATA compliant parallel storage devices, and data transfer is controlled to and/or from two SATA compliant serial storage devices.
In a further embodiment the method further comprises determining if an SATA storage device is connected to the control apparatus.
In a further embodiment the method further comprises providing information on the determined SATA storage device to host software. In a further embodiment said step of performing data transfer to and/or from an SATA compliant serial storage device comprises converting parallel data to serial data and/or serial data to parallel data.
Brief Description of Drawings
The accompanying drawings are incorporated into and form a part of the specification for the purpose of explaining the principles of the invention. The drawings are not to be construed as limiting the invention to only the illustrated and described examples of how the invention can be made and used. Further features and advantages will become apparent from the following and more particular description of the invention, as illustrated in the accompanying drawings, wherein:
FIG. 1 illustrates a conventional computer system that is connected to ATA compliant storage devices;
FIG. 2 illustrates a conventional computer system that is connected to SATA compliant storage devices;
FIG. 3 illustrates the components of an ATA controller according to an embodiment; and
FIG. 4 is a flowchart illustrating the process of operating the ATA controller of FIG. 3.
Modes for Carrying Out the Invention
The illustrative embodiments of the present invention will be described with reference to the figure drawings wherein like elements and structures are indicated by like reference numbers.
Referring now to the drawings and particularly to FIG. 3 which illustrates the hardware components of an ATA controller according to an embodiment, the controller comprises a target interface unit 305 and a source interface unit 310. Both interfaces are connected to the host interface 300 for exchanging requests and data with the software driver 120. The target interface 305 may be used by the driver 120 for accessing the controller for configuration purposes. On the other hand, the source interface 310 may be used to perform data access to read or write data to/from the storage devices.
There is further provided a bus master engine 320 for controlling which one of the master control unit 325 and the slave control unit 330 is granted access to which one of the target interface 305 and the source interface 310, and vice versa. The master control unit 325 and the slave control unit 330 may be built up like in conventional ATA controllers 125 that control a parallel port to which two parallel devices can be connected, one being the master and the other being the slave.
Further, there is a shadow register block 315 provided that includes interface registers used for delivering commands to the devices or posting status from the devices. The shadow register block 315 is so named since it contains a set of registers that shadow the contents of the traditional device registers, for performing standard ATA emulation. In the present embodiment, the controller operates in the master/slave emulation mode specified in the SATA specification, that is, two serial devices on two separate serial ports 210, 215 are represented to host software as a master and a slave accessed at the same set of host bus addresses. To realize this functionality, there may be provided a port assignment unit 335 which may be used for switching between the parallel and serial ports 130, 210, 215. The port assignment unit 335 further connects the master and slave devices connected to the parallel port 130 to the correct control unit 325, 330. Also, the serial devices connected to the serial ports 210, 215 are connected to either the master control unit 325 or the slave control unit 330, as the controller of the present embodiment operates in the master/slave emulation mode as described above. Another function performed by the port assignment unit 335 is that of the parallel/serial converter 205, i.e., it performs a conversion of parallel to serial data signals and vice versa.
As can be seen from FIG. 3, the port assignment unit 335 receives further input from port map register 340. The port map register 340 which may actually be a set of registers, stores port identification data indicating which one of the parallel and serial ports 130, 210, 215 is activated. It is to be noted, that generally any number of ports may be activated, including the case where no port is active, or where all of the parallel and serial ports are activated.
In another embodiment, the port map register 340 and the port assignment unit 335 may be such that the ATA controller of FIG. 3 can operate in one of the following configurations. In the first configuration, either zero, one or two parallel ATA devices can be driven. In another configuration, either zero, one or two serial ATA devices can be driven. Finally, in a third configuration, one parallel and one serial device can be driven.
It is to be noted that the port map register 340 that stores port identification data defining the ports to be used, or the configuration, is connected to the target interface 305 so that the driver 120 has access to the register(s) to perform a reconfiguration. That is, the embodiment extends an existing parallel ATA controller by a serial part and thus allows reusing a significant amount of parallel ATA controller hardware for implementing a cost effective software configurable combined serial/parallel ATA controller.
The entire controller can be reconfigured to operate as conventional ATA controller, or to operate as conventional SATA controller. That is, a software driven reconfiguration is provided that makes it possible to switch between a mode where the controller behaves like a conventional ATA controller, and a mode where the controller behaves like a conventional SATA controller. Additionally, the controller according to the embodiment can be configured to concurrently perform data transfer to parallel and serial devices. That is, the controller of the embodiment is a chameleon device which adjust to any possible connectivity modes simply by performing a software reconfiguration.
Moreover, in one of the modes, parallel and serial devices can even be operated simultaneously. It is to be noted that the concurrent data transfer to and from a parallel and serial storage devices may be done by expanding the SATA transport layer state machine to be able to use conventional ATA control signals generated by conventional ATA interface control circuits, and to add an additional payload buffer.
As discussed above, the port map register 340 allows the software 100, 105, 110, 115, 120 to configure and reconfigure the arrangement. This includes the configuration of the master or the slave or both devices to either a parallel or a serial device. Moreover, as defined in the SATA specification, the controller may have the registers required to allow read/write processes to the SATA port status and error registers. Turning now to FIG. 4, a flowchart is shown illustrating the process of operating the ATA controller according to the embodiment of FIG. 3. In step 400, the software checks if there are serial ATA drives plugged in, e.g. by reading the SATA port status register. The software then configures the port map register 340 in step 405. It is to be noted that steps 400 and 405 may be performed during initialization of the controller.
In response to an action from driver 120, or in response to a request from one of the storage devices, the port assignment unit 335 may act as port switch unit to switch to the appropriate ports 130, 210, 215 in step 410. If a correct port is already active, this step may be skipped. Once access to the storage device is made possible, the data transfer is performed in step 415.
Industrial Applicability
The present invention may significantly enhance the data communication in mass products such as personal computers and the like.

Claims

1. A control apparatus for controlling data transfer to and/or from storage devices, comprising;
a first control unit (300-330) for controlling data transfer to and/or from an ATA (Advanced Technology Attachment) compliant parallel storage device (135, 140); and
a second control unit (335, 340) for controlling data transfer to and/or from an SATA (Serial ATA) compliant serial storage device (220, 225),
wherein the control apparatus is capable of concurrently performing the data transfer to and/or from said parallel and serial devices.
2. The apparatus of claim 1, wherein said second control unit is arranged for controlling data transfer to and/or from two SATA storage devices in a master/slave emulation mode wherein one of the SATA storage devices is represented to host software as master and the other SATA storage device as slave, both being accessible at the same set of host bus addresses.
3. The apparatus of claim 1, wherein said first control unit is arranged for controlling data transfer to and/or from two parallel ATA storage devices connected to one parallel port, one device being the master and the other being the slave at the parallel port.
4. The apparatus of claim 1, further comprising:
a port map register (340) storing identification data identifying said parallel and serial devices; and
a port switch unit (335) for establishing connections to the parallel and serial devices indicated by said identification data.
5. The apparatus of claim 4, wherein said port map register is software rewritable.
6. The apparatus of claim 4, wherein:
said first control unit is arranged for controlling data transfer to and/or from two ATA storage devices connected to one parallel port, one device being the master and the other being the slave at the parallel port; and
said port map register is connected to store master/slave identification data identifying which device is the master or slave.
7. A method of operating a control apparatus for controlling data transfer to and/or from storage devices, the method comprising:
performing (415) data transfer to and/or from an ATA (Advanced Technology Attachment) compliant parallel storage device connected to the control apparatus; and performing (415) data transfer to and/or from an SATA (Serial ATA) compliant serial storage device connected to the control apparatus;
wherein the data transfer to and/or from the ATA compliant parallel storage device and the data transfer to and/or from the SATA compliant serial storage device are performed concurrently.
8. The method of claim 7, further comprising:
storing identification data in a port map register (340) of the control apparatus, said identification data identifying said parallel and serial devices; and
switclung a port of the control apparatus for establishing connections to the parallel and serial devices indicated by said identification data.
9. The method of claim 8, wherein said port map register is software rewritable.
10. The method of claim 8, arranged for controlling data transfer to and/or from two parallel ATA storage devices connected to one parallel port, one device being the master and the other being the slave at the parallel port; and
said port map register stores master/slave identification data identifying which device is the master or slave.
PCT/US2003/006258 2002-04-03 2003-02-28 Ata/sata combined controller WO2003085535A2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020047015687A KR100993017B1 (en) 2002-04-03 2003-02-28 Ata/sata combined controller
EP03713808A EP1537473A2 (en) 2002-04-03 2003-02-28 Ata/sata combined controller
CN038077434A CN1650276B (en) 2002-04-03 2003-02-28 ATA/SATA combined controller
JP2003582653A JP4351071B2 (en) 2002-04-03 2003-02-28 ATA / SATA combined controller
AU2003217839A AU2003217839A1 (en) 2002-04-03 2003-02-28 Ata/sata combined controller

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
DE10214700A DE10214700B4 (en) 2002-04-03 2002-04-03 Combined ATA / SATA controller as integrated circuit chip and associated method of operation
DE10214700.0 2002-04-03
US10/259,710 2002-09-27
US10/259,710 US6922738B2 (en) 2002-04-03 2002-09-27 ATA/SATA combined controller

Publications (2)

Publication Number Publication Date
WO2003085535A2 true WO2003085535A2 (en) 2003-10-16
WO2003085535A3 WO2003085535A3 (en) 2005-04-14

Family

ID=28792813

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2003/006258 WO2003085535A2 (en) 2002-04-03 2003-02-28 Ata/sata combined controller

Country Status (5)

Country Link
EP (1) EP1537473A2 (en)
JP (1) JP4351071B2 (en)
CN (1) CN1650276B (en)
AU (1) AU2003217839A1 (en)
WO (1) WO2003085535A2 (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005222186A (en) * 2004-02-04 2005-08-18 Hitachi Ltd Abnormality notification control in disk array device
JP2005222429A (en) * 2004-02-09 2005-08-18 Hitachi Ltd Method for managing different types of disk devices in disk array apparatus
JP2006092521A (en) * 2004-09-24 2006-04-06 Samsung Electronics Co Ltd Nonvolatile memory storage device including interface select switch, and associated method
US7046668B2 (en) 2003-01-21 2006-05-16 Pettey Christopher J Method and apparatus for shared I/O in a load/store fabric
US7103064B2 (en) 2003-01-21 2006-09-05 Nextio Inc. Method and apparatus for shared I/O in a load/store fabric
JP2006294022A (en) * 2005-03-28 2006-10-26 Nvidia Corp Universal storage bus adaptor
WO2007021059A1 (en) * 2005-08-19 2007-02-22 Colossus Corporation Connection structure between interface card and main board in sata external storage apparatus
US7511636B2 (en) 2006-08-30 2009-03-31 Ricoh Company, Ltd. Data conversion unit, data conversion method, and electronic apparatus using the data conversion unit
US7664909B2 (en) 2003-04-18 2010-02-16 Nextio, Inc. Method and apparatus for a shared I/O serial ATA controller
US7698483B2 (en) 2003-01-21 2010-04-13 Nextio, Inc. Switching apparatus and method for link initialization in a shared I/O environment
US7836211B2 (en) 2003-01-21 2010-11-16 Emulex Design And Manufacturing Corporation Shared input/output load-store architecture
US7917658B2 (en) 2003-01-21 2011-03-29 Emulex Design And Manufacturing Corporation Switching apparatus and method for link initialization in a shared I/O environment
US7953074B2 (en) 2003-01-21 2011-05-31 Emulex Design And Manufacturing Corporation Apparatus and method for port polarity initialization in a shared I/O device
US8032659B2 (en) 2003-01-21 2011-10-04 Nextio Inc. Method and apparatus for a shared I/O network interface controller
US8102843B2 (en) 2003-01-21 2012-01-24 Emulex Design And Manufacturing Corporation Switching apparatus and method for providing shared I/O within a load-store fabric
US8346884B2 (en) 2003-01-21 2013-01-01 Nextio Inc. Method and apparatus for a shared I/O network interface controller

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7603514B2 (en) * 2005-03-31 2009-10-13 Intel Corporation Method and apparatus for concurrent and independent data transfer on host controllers
CN101311906B (en) * 2007-05-22 2011-09-28 鸿富锦精密工业(深圳)有限公司 SATA interface test device and test method
US8225019B2 (en) * 2008-09-22 2012-07-17 Micron Technology, Inc. SATA mass storage device emulation on a PCIe interface

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4539564A (en) * 1982-08-04 1985-09-03 Smithson G Ronald Electronically controlled interconnection system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4346123B2 (en) * 1998-05-28 2009-10-21 株式会社平和 Pachinko machine winning device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4539564A (en) * 1982-08-04 1985-09-03 Smithson G Ronald Electronically controlled interconnection system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MAXTOR: "Serial ATA" WHITE PAPER, [Online] 7 November 2000 (2000-11-07), XP002317003 Retrieved from the Internet: URL:http://www.maxtor.com/_files/maxtor/en _us/documentation/white_papers/serial_ata_ white_papers.pdf> [retrieved on 2005-02-09] *

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7953074B2 (en) 2003-01-21 2011-05-31 Emulex Design And Manufacturing Corporation Apparatus and method for port polarity initialization in a shared I/O device
US7836211B2 (en) 2003-01-21 2010-11-16 Emulex Design And Manufacturing Corporation Shared input/output load-store architecture
US7706372B2 (en) 2003-01-21 2010-04-27 Nextio Inc. Method and apparatus for shared I/O in a load/store fabric
US7046668B2 (en) 2003-01-21 2006-05-16 Pettey Christopher J Method and apparatus for shared I/O in a load/store fabric
US7103064B2 (en) 2003-01-21 2006-09-05 Nextio Inc. Method and apparatus for shared I/O in a load/store fabric
US7698483B2 (en) 2003-01-21 2010-04-13 Nextio, Inc. Switching apparatus and method for link initialization in a shared I/O environment
US9015350B2 (en) 2003-01-21 2015-04-21 Mellanox Technologies Ltd. Method and apparatus for a shared I/O network interface controller
US8913615B2 (en) 2003-01-21 2014-12-16 Mellanox Technologies Ltd. Method and apparatus for a shared I/O network interface controller
US7782893B2 (en) 2003-01-21 2010-08-24 Nextio Inc. Method and apparatus for shared I/O in a load/store fabric
US8032659B2 (en) 2003-01-21 2011-10-04 Nextio Inc. Method and apparatus for a shared I/O network interface controller
US9106487B2 (en) 2003-01-21 2015-08-11 Mellanox Technologies Ltd. Method and apparatus for a shared I/O network interface controller
US7917658B2 (en) 2003-01-21 2011-03-29 Emulex Design And Manufacturing Corporation Switching apparatus and method for link initialization in a shared I/O environment
US8346884B2 (en) 2003-01-21 2013-01-01 Nextio Inc. Method and apparatus for a shared I/O network interface controller
US8102843B2 (en) 2003-01-21 2012-01-24 Emulex Design And Manufacturing Corporation Switching apparatus and method for providing shared I/O within a load-store fabric
US7664909B2 (en) 2003-04-18 2010-02-16 Nextio, Inc. Method and apparatus for a shared I/O serial ATA controller
JP2005222186A (en) * 2004-02-04 2005-08-18 Hitachi Ltd Abnormality notification control in disk array device
JP2005222429A (en) * 2004-02-09 2005-08-18 Hitachi Ltd Method for managing different types of disk devices in disk array apparatus
JP2006092521A (en) * 2004-09-24 2006-04-06 Samsung Electronics Co Ltd Nonvolatile memory storage device including interface select switch, and associated method
US7584304B2 (en) 2004-09-24 2009-09-01 Samsung Electronics Non-volatile memory storage device including an interface select switch and associated method
JP2006294022A (en) * 2005-03-28 2006-10-26 Nvidia Corp Universal storage bus adaptor
WO2007021059A1 (en) * 2005-08-19 2007-02-22 Colossus Corporation Connection structure between interface card and main board in sata external storage apparatus
US7511636B2 (en) 2006-08-30 2009-03-31 Ricoh Company, Ltd. Data conversion unit, data conversion method, and electronic apparatus using the data conversion unit

Also Published As

Publication number Publication date
CN1650276A (en) 2005-08-03
JP4351071B2 (en) 2009-10-28
CN1650276B (en) 2010-05-05
AU2003217839A8 (en) 2003-10-20
AU2003217839A1 (en) 2003-10-20
EP1537473A2 (en) 2005-06-08
JP2006508413A (en) 2006-03-09
WO2003085535A3 (en) 2005-04-14

Similar Documents

Publication Publication Date Title
US6922738B2 (en) ATA/SATA combined controller
WO2003085535A2 (en) Ata/sata combined controller
US7225290B2 (en) ATA and SATA compliant controller
US10498645B2 (en) Live migration of virtual machines using virtual bridges in a multi-root input-output virtualization blade chassis
JP5128079B2 (en) Universal storage bus adapter
US9864614B2 (en) Mapping virtual devices to computing nodes
US9092022B2 (en) Systems and methods for load balancing of modular information handling resources in a chassis
US20060282591A1 (en) Port binding scheme to create virtual host bus adapter in a virtualized multi-operating system platform environment
US7165125B2 (en) Buffer sharing in host controller
CN107209681A (en) A kind of storage device access methods, devices and systems
JP2013515992A (en) USB3.0 support on mobile platforms with USB2.0 interface
EP2517113B1 (en) Memory management system offering direct as well as managed access to local storage memory
WO2009044262A2 (en) Multimode device
CN104603737A (en) Computer realizing high-speed access and data protection of storage device, computer system, and i/o request processing method
US20140149658A1 (en) Systems and methods for multipath input/output configuration
US20080222365A1 (en) Managed Memory System
US9092583B2 (en) Systems and methods for communication between modular information handling systems in a chassis
US20140208025A1 (en) Raid controller and command processing method thereof
US6173342B1 (en) High speed bus interface for peripheral devices
US10628042B2 (en) Control device for connecting a host to a storage device
CN111221753A (en) Multi-host controller and semiconductor device including the same
US20150348651A1 (en) Multiple access test architecture for memory storage devices
US20050273530A1 (en) Combined optical storage and flash card reader apparatus using sata port and accessing method thereof
KR100462898B1 (en) The apparatus for compatible memory device interface

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SK SL TJ TM TN TR TT TZ UA UG UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2003713808

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2003582653

Country of ref document: JP

Ref document number: 1020047015687

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 20038077434

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 1020047015687

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2003713808

Country of ref document: EP