Patent ID: 8046481

Claim:
A method for extending a conventional Serial Advanced Technology Attachment (SATA)/Serial Attached SCSI (SAS) protocol for a first hardware device, the method comprising: (a) providing the conventional SATA/SAS protocol having a conventional SATA/SAS protocol stack consisting of: (i) one or more lower-level stack layers; and (ii) one or more higher-level stack layers above the one or more lower-level stack layers, wherein configuring the first hardware device with the conventional SATA/SAS protocol would enable the first hardware device to be in a host-to-slave configuration with an other hardware device configured with the conventional SATA/SAS protocol; (b) adding, to the conventional SATA/SAS protocol stack of the conventional SATA/SAS protocol, a memory-map layer above the one or more lower-level stack layers and below the one or more higher-level stack layers to form a modified SATA/SAS protocol stack of a modified SATA/SAS protocol; and (c) configuring the first hardware device with the modified SATA/SAS protocol, such that, when the other hardware device is configured with the modified SATA/SAS protocol: the first hardware device is a peer in a peer-to-peer configuration via a link with the other hardwared device being another peer of the peer-to-peer configuration; the first hardware device supports peer-to-peer communication via the link with the other hardware device without using a protocol-bridging technique; and neither the first hardware device nor the other hardware device is a host device, wherein: the one or more lower-level stack layers comprise a physical medium device (PMD) layer and a link layer, whereby the memory-map layer is above the link layer; the one or more higher-level stack layers comprise a command/transport layer and an application layer; neither the first hardware device nor the other hardware device is a programmable device having an operating system that supports programmability beyond a fixed set of pre-defined functions for said hardware device; implementation of at least one component of the first hardware device that handles signal processing at one of the one or more higher-level stack layers is identical to implementation of a corresponding component of the other hardware device; the link is a serial link that functions as a bus; the first hardware device concurrently supports peer-to-peer communication via the link with one or more other hardware devices configured with the modified SATA/SAS protocol; each hardware device comprises a component for each lower-level stack layer, the memory-map layer, and each higher-level stack layer.