SSA stands for Serial Storage Architecture, and is used to define a high performance serial link that is used to attach input and output devices. Serial Storage Architecture has been optimized for a number of different storage applications, including for array controllers, adapter cards and hard disk drives for example. There are a number of different advantages that Serial Storage Architecture has over other existing parallel interfaces, including the SCSI - 2 or Small Computer Systems Interface. For example, it makes use of much more compact connectors and cables, and in the process, it offers much greater reliability, connectivity and performance for those that use it. Serial Storage Architecture maintains much of the same logical protocol as SCSI-2 in order to facilitate migration.
Current Serial Storage Architecture implementations are capable of providing a peak data rate in each direction of around 20 MB/s. A typical loop configuration that has a single host adapter is capable of providing a sustained bandwidth total of as much as 73 MBs per second. Additionally, there are higher speeds that are also becoming available. The physical medium that is used for Serial Storage Architecture is typically a copper cable that can be as long as 20 meters in length, however some Serial Storage Architecture implementations also use fiber optic cables in order to achieve even longer distances.
The serial storage architecture has a great number of benefits to its interface thanks to its serial nature. This includes improved connection quality over smaller cable sizes. The internal features of the interface include a full data duplex looping which means that reading and writing takes place at around the same time and in tandem with other devices on within the system, leading to much better connection speeds for reading and writing applications over the entire disk system.
The SSA system involves the transport of data inside of packets also known as frames. These frames each contain fields needed to ensure that the contained data gets to where it needs to, without interference with other frames. These frames are what power the SSA standard and are what makes the standard quick and reliable as far as a variety of applications are concerned. There also exist a few interfaces which bridge the SSA system along with other frameworks, such as SCSI-1, SCSI-2 and so on.
The SSA framework is built upon SCSI technology, so the interface is easily added on. Many devices may talk at the same time with a pair of channels per drive able to act simultaneously. The hardware itself is specially designed with the SSA paradigm in order to provide very quick speeds and simultaneous support for up to 128 devices.
Serial Storage Architecture is a popular interface because serial links are capable of offering a number of advantages in comparison to traditional and parallel interface solutions. These benefits include:
- * Serial Storage Architecture interfaces offer compact connectors and cables. This is becoming more and more important because trends are heading in the direction of 3.5 inch and 2.5 inch hard disk drives and other small form factor devices.
- * Serial Storage Architecture offers improved connectivity, with a single host interface being capable of attaching many different devices that are also capable of being shared among a variety of different host computers as well.
- * Serial Storage Architecture offers higher performance capabilities. A single serial interface is capable of providing communication at the full duplex level with only a small amount of additional cost. Frame multiplexing is capable of allowing the interface to be efficiently shared among several operations concurrently.
- * Serial Storage Architecture also offers a higher level of reliability. Error detection has been improved significantly through the use of CRC or Cyclic Redundancy Check rather than the standard, which is a simple bus parity check. Point to point cables are capable of allowing for faults to be isolated much more easily than when it comes to multi drop buses. Devices are capable of being readily dual ported, so that they may provide alternative paths as well as allowing for continuous operation should a fault occur. Individual devices are also capable of being hot swapped for the purpose of concurrent maintenance.
There are three different layers that define SSA or Serial Storage Architecture. The first layer, SSA PH1 defines electrical specifications, connectors and cables. The second layer, SSA TL1 defines the transmission protocol, error recovery and configuration, and acts as a transport layer for general purpose needs. The third and final layer, SSA S2P is a layer designated for mapping the SCSI 2 queuing model, as well as status, sense and command set bytes.
The SSA TL1 Layer is the Transport Layer when it comes to Serial Storage Architecture. There are numerous elements of this layer to address, including nodes and networks for example. Serial Storage Architecture nodes are addressable units such as switches, host adapter cards and hard disk drives. Some physical units may consist of more than a single SSA node. As an example of this, an array controller is capable of containing an SSA node connecting the host computer as well as a second node that connects to the hard disk drives. SSA nodes are classified as follows for the purpose of addressing:
- * Single port nodes only have single Serial Storage Architecture ports. Ports are the hardware and the firmware responsible for controlling one of the ends of the link.
- * Dual port nodes have the capability for handling two SSA points. They also contain hardware routers in addition to their internal functions, and this allows frames received on either of the ports to be forwarded by the other port.
- * Switch nodes have between 4 and 128 ports coupled with a hardware router. The available ports climb by two's, so there would be 4, 6, 8, 10, 12, and so on, up to 128 as a maximum number of ports. Switch nodes are capable of forwarding frames received by one of the ports to any other port, and switch nodes may also have internal functions.
The most common Serial Storage Architecture nodes are dual port nodes. As an example of this, Serial Storage Architecture disk drives are nearly always dual port nodes.
Serial Storage Architecture nodes are also capable of being interconnected through the use of links, which can create an arbitrary network that is known as a web. Strings are linear webs that have between 2 and 129 nodes. Each of the two end nodes is capable of being a single port node, a dual port node or a switch node. If there are additional intermediate nodes, then they must be dual port. Loops are cyclic webs that contain between 2 and 128 nodes, and all must be dual port nodes. Complex webs contain one or more switch nodes in conjunction with a number of different strings.
The unit of information that is transferred on a link is known as a frame, and a frame is capable of containing as many as 128 bytes worth of data. Each of these frames contains its own address field which will allow for it to be routed through the web, beginning at the source node and traveling to the destination node. This address will allow for a single link to be multiplexed between a variety of different operations concurrently.
Should either a dual port or a switch node receive a frame intended for another node, the router is typically capable of forwarding the frame, although there is a delay of 5 bytes. This is a process that is known as cut through routing. Compared to other types of routing, such as store and forward routing, cut through routing tends to significantly reduce the amount of latency in large loops or strings. However, should the addressed output port be busy, the receiving port still must be capable of buffering the frame in its entirety for as long as the output port is busy or until it becomes available again.
Because each link within a web is capable of operating independently in relation to the other link s within the web, there can be several data transfers acting simultaneously, and each can make use of the full bandwidth allocation for the link. For example, should an adapter card provide a peak bandwidth of 40 MB/s for read data, a further 40 MB/s would be available for write data as well. This feature is known as spatial reuse, and it works because the links are capable of providing full duplex communicating. Allowing for the consideration of overhead, the total bandwidth on a sustained basis would be 73 MB/s.
Serial Storage Architecture webs can be configured using alternative paths in order to protect against the failure of hardware. Failures of hardware can be bypassed automatically, but only if an alternate path has been made available. So for example, loops provide two different alternate paths, one which is clockwise and another which is counter clockwise. What this means is that the nodes that are remaining can continue to communicate even after a single failure occurs. Because disk arrays with parity protection are capable of providing a similar level of redundancy, all of the disk drives that exist in such an array are going to be capable of being connected within a single Serial Storage Architecture loop. In other words, there is no need for a separate interface to be provided for each of the disk drives, as would be required by multi-drop parallel interfaces, which make link cabling completely independent of the configuration of the array.
Serial Storage Architecture uses an 8B / 10B code in order to convert each of the bytes into a 10-bit character which will allow for transmission over a link. In order to achieve a peak data rate of 20 MB per second, the signaling rate on the serial link needs to be 200 Mbaud. The 8B / 10B code has a run length maximum which is five consecutive 1s or 0s. What this does is allows for the receiver to recover a clock from the data transitions. The code also has a digital sum variation maximum which is from -3 to +3. Here, the digital sum is defined as a running count of both the 0s and the 1s, counting 0s as if they were -1 and counting 1s as if they were +1. The serial data in this case is dc-balanced, which permits for ac-coupling of the signal, which in turns allows for the logic threshold to be determined based on the received signal's averaged value. These features are capable of facilitating the use of fiber optic cables in any situation where a longer distance is required.
The 8B / 10B code offers twelve different special characters as an addition to the standard 256 data characters. Three of these special characters have an additional property, which is that they do not occur at all in combinations of the other characters. These characters allow for character synchronization to occur, and are referred to as comma characters. These special characters are used by Serial Storage Architecture in a number of different ways, as follows:
- *There are 8 protocol characters for SSA TLI, such as for flow control and framing.
- * There is one special character that is used by SSA S2P for synchronization of the disk drive rotation such as in a disk array. What this does, is allows for the synchronizing signal to multiplex onto the Serial Storage Architecture link, rather than requiring the use of an additional cable.
- * Two additional special characters are made available in order to serve as user defined characters.
- * The final special character is capable of causing false synchronizations when involved in certain combinations, and as a result is defined to be invalid.
When information is translated over a Serial Storage Architecture or SSA link, it is done so in frames. Frames consist of six or more data characters., which are delimited by a flag at each end. The flag is one of the comma characters, which is also continuously sent at any point where the link is idle. In order to minimize the amount of overhead, the trailing flag character belonging to one frame can also serve as the leading flag character for the next.