1. A method of bridging between Serial ATA (SATA) and Serial Attached Small Computer System Interface (SAS) protocols in a computer storage network comprising at least an expander that includes multiple Phys indicative of multiple ports, said storage network further comprising a plurality of SAS devices andor SATA devices directly attached to said expander, said method comprising:
creating a bridge capable of performing translations between SAS and SATA protocols, said bridge embedded in or coupled to said expander through two or more Phys amongst said multiple Phys of said expander, said two or more Phys comprising at least an ingress Phy and an egress Phy attached to said bridge; and
routing a SAS initiator request to said bridge based on a routing table in said expander before said initiator request is translated at said bridge and further routed from said bridge to a destination SATA device attached to said expander,
wherein said routing table includes public addresses of said SAS and SATA devices and corresponding Phys through which said SAS and SATA devices are attached to said expander,
wherein said SAS initiator request indicates a destination address that corresponds to said ingress Phy of said bridge according to said routing table, and
wherein said SATA devices including said destination SATA device are virtualized as Serial SCSI Protocol (SSP) targets during a SAS discovery process.
2. The method of claim 1, wherein each SAS or SATA device is directly attached to said expander via at least one of said multiple Phys of said expander.
3. The method of claim 1, further comprising:
receiving said SAS initiator request from a SAS initiator attached to said expander via one of said multiple Phys of said expander.
4. The method of claim 1, further comprising:
receiving said SAS initiator request at a switch module of said expander, wherein said switch module stores said routing table and is configured to route any received initiator request to one of said multiple Phys of said expander according to said routing table.
5. The method of claim 1, wherein said routing table further includes one or more assigned addresses corresponding to said ingress Phy of said bridge.
6. The method of claim 5, wherein said discovery process comprises:
receiving a discovery request at said expander, said discovery request investigating each Phy of said multiple Phys of said expander to discover its local attachment;
in response to said discovery request, reporting from a first Phy attached to a SAS device that said first Phy is attached to an SSP target, and the address of said SSP target is the unique SAS address of said SAS device; and
reporting from a second Phy attached to a SATA device that said second Phy is also attached to an SSP target instead of a Serial ATA Tunneling Protocol (STP) target, and the address of said SSP target is an assigned address selected from said one or more assigned addresses instead of a unique address assigned to said SATA device.
7. The method of claim 6, wherein said discovery process further comprises:
reporting from said two or more Phys attached to said bridge that no device is locally attached to these Phys.
8. The method of claim 5, wherein said destination address is determined to match at least one of said one or more assigned addresses corresponding to said ingress Phy of said bridge.
9. The method of claim 1, further comprising:
terminating an SSP connection for said SAS initiator request at said ingress Phy of said bridge;
translating said SAS initiator request into an STP request at said bridge;
determining a destination Phy through which said destination SATA device is connected to said expander;
initiating an STP connection from said egress Phy of said bridge to said destination Phy; and
transmitting said STP request over said STP connection to said destination SATA device.
10. The method of claim 9, wherein during said discovery process, said destination Phy connected to said destination SATA device reports that it is attached to an SSP target and the address of said SSP target is said destination address.
11. The method of claim 9, further comprising:
in response to said STP request, reading data from said destination SATA device and storing said data to said bridge; and
initiating another SAS connection from said egress Phy of said bridge to an initiator and sending said data from said bridge to said initiator when said data in said bridge exceeds a predetermined threshold.
12. The method of claim 1, further comprising:
determining that said SAS initiator request comprises a Serial Management Protocol (SMP) command;
retrieving and returning data from said bridge to an initiator sending said initiator request; and
terminating an SSP connection established for said SAS initiator request.
13. The method of claim 1, further comprising:
receiving and routing another SAS initiator request directly to a destination SAS device based on said routing table, wherein said another SAS initiator request indicates a destination address that, according to said routing table, corresponds to a destination Phy through which said destination SAS device is attached to said expander.
14. The method of claim 1, wherein said discovery process is performed under one or more Serial Management Protocol (SMP) commands.
15. The method of claim 1, wherein said computer storage network is a Storage Area Network (SAN).
16. An expander configured for bridging between Serial ATA (SATA) and Serial Attached Small Computer System Interface (SAS) protocols in a computer storage network, said storage network comprising a plurality of SAS devices and SATA devices directly attached to said expander, said expander comprising:
a plurality of ports represented by a plurality of Phys;
a bridge internally attached to two or more Phys amongst said plurality of Phys, said two or more Phys comprising at least an ingress Phy and an egress Phy attached to said bridge, said bridge capable of performing translations between SAS and SATA protocols; and
a switch configured to establish connections and route data between said plurality of Phys, said switch including a routing table that comprises public addresses of said SAS and SATA devices and corresponding Phys through which said SAS and SATA devices are directly attached to said expander, and one or more assigned addresses corresponding to said ingress Phy of said bridge,
wherein said switch is further configured to route a SAS initiator request based on said routing table to either a destination SAS device directly or said bridge for translation before it is transmitted to a destination SATA device.
17. The expander of claim 16, further comprising a plurality of port engines respectively coupled to said plurality of ports.
18. The expander of claim 16, wherein said bridge comprises one or more protocol processors configured to translate data packets between SAS and SATA protocols.
19. The expander of claim 16, wherein said SAS initiator request is received in said expander from a source SAS device attached to at least one Phy amongst said plurality of Phys.
20. The expander of claim 19, wherein said switch is further configured to establish an SSP connection between said at least one Phy connected to said source SAS device and a destination Phy through which said destination SAS device is connected to said expander, and route said initiator request to said destination SAS device over said SSP connection if said initiator request contains a destination address that corresponds to said destination Phy according to said routing table.
21. The expander of claim 19, wherein said switch is further configured to establish an SSP connection between said at least one Phy connected to said source SAS device and said ingress Phy of said bridge, and route said initiator request to said bridge over said SSP connection if said initiator request contains a destination address that matches one of said one or more assigned addresses corresponding to said ingress Phy of said bridge.
22. The expander of claim 21, wherein said bridge is configured to:
receive and translate said SAS initiator request into an STP request;
initiate an STP connection from said egress Phy of said bridge to a destination Phy through which said destination SATA device is attached to said expander; and
transmit said STP request over said STP connection to said destination SATA device.
23. The expander of claim 22, wherein said destination Phy reports that it is connected to an SSP target, and the address of said SSP target is said destination address during a discovery process performed in said expander.
24. The expander of claim 16, wherein said SATA devices attached to said expander are virtualized as SSP targets as a result of a discovery process, said discovery process comprising:
receiving an SMP discovery request at said expander to investigate local attachments of said plurality of Phys of said expander;
in response to said discovery request, reporting from a first Phy attached to a SAS device that said first Phy is attached to an SSP target, and the address of said SSP target is the unique SAS address of said SAS device; and
reporting from a second Phy attached to a SATA device that said second Phy is also attached to an SSP target instead of a STP target, and the address of said SSP target is an assigned address selected from said one or more assigned addresses instead of a unique address assigned to said SATA device.
25. The expander of claim 24, wherein said discovery process further comprises:
reporting a PHY_VACANT message from said two or more Phys attached to said bridge.
26. A bridging apparatus configured for bridging between Serial ATA (SATA) and Serial Attached Small Computer System Interface (SAS) protocols in a computer storage network, said storage network comprising at least an expander coupled to said bridging apparatus, and a plurality of SAS devices and SATA devices connected to the expander, said bridging apparatus comprising:
a plurality of Phys corresponding to two or more Phys in said expander, said two or more Phys including at least an ingress Phy and an egress Phy through which said bridge apparatus is attached to said expander;
a bridge component coupled to said plurality of Phys, said bridge component capable of performing translations between SAS and SATA protocols;
a context memory accessible to said bridge component, said context memory storing information relating to InputsOutputs (IOs) going through said expander; and
a buffer coupled to said bridge component, said buffer configured to store data relating to any received SAS initiator requests,
wherein said bridge component is configured to receive a SAS initiator request from said expander at said ingress Phy, translate said initiator request into an STP request and route said STP request to a destination SATA device attached to said expander, and wherein said SAS initiator request indicates a destination address that corresponds to said ingress Phy according to a routing table in said expander, said routing table including public addresses of said SAS and SATA devices and corresponding Phys in said expander through which said SAS and SATA devices are directly attached to said expander, and one or more assigned addresses corresponding to said ingress Phy.
27. The bridging apparatus of claim 26, further comprising one or more inter-bridge links that facilitate coordination between said bridging apparatus and a peer bridge.
28. The bridging apparatus of claim 26, wherein said bridge component comprises one or more protocol processors configured to translate data packets between SAS and SATA protocols.
29. The bridging apparatus of claim 28, wherein said expander includes a switch configured to establish connections and route data between different Phys of said expander.
30. The bridging apparatus of claim 29, wherein said switch is further configured to route another SAS initiator request directly to a destination SAS device based on said routing table, wherein said another SAS initiator request indicates a destination address that, according to said routing table, corresponds to a destination Phy through which said destination SAS device is attached to said expander.
31. The bridging apparatus of claim 27, wherein said SAS initiator request is received in said expander from a source SAS device attached to at least one Phy of said expander.
32. The bridging apparatus of claim 29, wherein said switch is further configured to determine that said destination address matches one of said one or more assigned addresses corresponding to said ingress Phy in said routing table.
33. The bridging apparatus of claim 32, wherein said switch is further configured to establish an SSP connection between said at least one Phy connected to said source SAS device and said ingress Phy, and route said initiator request to said bridge apparatus over said SSP connection.
34. The bridging apparatus of claim 33, wherein said bridge component is further configure to initiate an STP connection from said egress Phy to a destination Phy through which said destination SATA device is attached to said expander, and transmit said STP request over said STP connection to said destination SATA device.
35. The bridging apparatus of claim 34, wherein said destination Phy reports that it is connected to an SSP target, and the address of said SSP target is said destination address during a discovery process performed in said expander.
36. The bridging apparatus of claim 35, wherein said discovery process comprises:
receiving a discovery request at said expander, said discovery request investigating each Phy of said expander to discover its local attachment;
in response to said discovery request, reporting from a first Phy attached to a SAS device that said first Phy is attached to an SSP target, and the address of said SSP target is the unique SAS address of said SAS device; and
reporting from a second Phy attached to a SATA device that said second Phy is also attached to an SSP target instead of a STP target, and the address of said SSP target is an assigned address selected from said one or more assigned addresses instead of a unique address assigned to said SATA device.
37. The bridging apparatus of claim 36, wherein said discovery process further comprises reporting a PHY_VACANT message from Phys through which said bridge apparatus is attached to said expander.
38. A computer-readable storage medium comprising processor-executable instructions for bridging between Serial ATA (SATA) and Serial Attached Small Computer System Interface (SAS) protocols, said processor-executable instructions, when executed, causing a processor to:
receive a SAS initiator request from a SAS source device attached to an expander at one of multiple Phys of said expander;
determine a destination address from said initiator request;
determine a Phy corresponding to said destination address from a routing table, said routing table including public addresses of a plurality of SAS devices and SATA devices directly attached to said expander and their corresponding Phys in said expander, and one or more assigned addresses corresponding to an ingress Phy of a bridge embedded in or coupled to said expander, said bridge capable of performing translations between SAS and SATA protocols;
route said SAS initiator request to a destination SAS device if said destination address matches a public address of said destination SAS devices in accordance with said routing table; and
route said SAS initiator request to said bridge for translation before transmitting to a destination SATA device if said destination address matches one of said one or more assigned addresses corresponding to said ingress Phy of said bridge in accordance with said routing table.
39. The computer-readable storage medium of claim 38, comprising further processor-executable instructions, when executed, causing a processor to:
create an SSP connection between a Phy through which said source SAS device is connected to said expander and a destination Phy through which said destination SAS device is attached to said expander; and
route said initiator request to said destination SAS device over said SSP connection.
40. The computer-readable storage medium of claim 38, comprising further processor-executable instructions, when executed, causing a processor to:
create an SSP connection between a Phy through which said source SAS device is connected to said expander and said ingress Phy of said bridge; and
route said initiator request to said bridge over said SSP connection.
41. The computer-readable storage medium of claim 40, wherein said bridge is configured to:
translate said SAS initiator request into an STP request;
initiate an STP connection from an egress Phy of said bridge to a destination Phy through which said destination SATA device is attached to said expander; and
transmit said STP request over said STP connection to said destination SATA device.
42. The computer-readable storage medium of claim 38, comprising further processor-executable instructions, when executed, causing a processor to:
receive a discovery request to discover local attachments to each Phy of said expander;
in response to said discovery request, report from a first Phy attached to a SAS device that said first Phy is attached to an SSP target, and the address of said SSP target is the unique SAS address of said SAS device;
report from a second Phy attached to a SATA device that said second Phy is also attached to an SSP target instead of a STP target, and the address of said SSP target is an assigned address selected from said one or more assigned addresses instead of a unique address assigned to said SATA device; and
report from two or more Phys attached to said bridge that no device is locally attached to said Phys.
43. The computer-readable storage medium of claim 38, wherein a Storage Area Network (SAN) comprises said SAS devices and SATA devices, and said expander attached to said SAS and SATA devices.
44. A method of virtualizing a SATA device as an SAS device from an initiator perspective in a computer storage network comprising at least an expander that includes multiple Phys indicative of multiple ports, said storage network further comprising a plurality of SAS devices andor SATA devices directly attached to said expander, said method comprising:
receiving a discovery request at said expander, said discovery request investigating each Phy of said multiple Phys of said expander to discover its local attachment;
in response to said discovery request, reporting from a first Phy attached to a SAS device that said first Phy is attached to an SSP target, and an address of said SSP target is the unique SAS address of said SAS device; and
reporting from a second Phy attached to a SATA device that said second Phy is also attached to an SSP target instead of a Serial ATA Tunneling Protocol (STP) target, and an address of said SSP target is an assigned address selected from one or more assigned addresses stored in a routing table instead of a unique address assigned to said SATA device, said one or more assigned addresses corresponding to an ingress Phy of a bridge embedded in or coupled to said expander, said bridge capable of performing translations between SAS and SATA protocols.
45. The method of claim 44, further comprising:
reporting from two or more Phys attached to said bridge that no device is locally attached to these Phys.
46. The method of claim 44, wherein said routing table is stored in said expander, and includes public addresses of said SAS and SATA devices and corresponding Phys through which said SAS and SATA devices are directly attached to said expander, and said one or more assigned addresses corresponding to said ingress Phy of said bridge.
47. The method of claim 44, further comprising:
receiving said SAS initiator request from a SAS initiator attached to said expander via at least one of said multiple Phys of said expander;
routing a SAS initiator request to a destination SAS device if a destination address of said initiator request matches a public address of said destination SAS devices in accordance with said routing table; and
routing said SAS initiator request to said bridge for translation before transmitting to a destination SATA device if said destination address matches one of said one or more assigned addresses corresponding to said ingress Phy of said bridge in accordance with said routing table.
48. A computer-readable storage medium comprising processor-executable instructions for virtualizing a SATA device as an SAS device from an initiator perspective in a computer storage network comprising at least an expander that includes multiple Phys indicative of multiple ports, said storage network further comprising a plurality of SAS devices andor SATA devices directly attached to said expander, said processor-executable instructions, when executed, causing a processor to:
receive a discovery request at said expander, said discovery request investigating each Phy of said multiple Phys of said expander to discover its local attachment;
in response to said discovery request, report from a first Phy attached to a SAS device that said first Phy is attached to an SSP target, and an address of said SSP target is the unique SAS address of said SAS device; and
report from a second Phy attached to a SATA device that said second Phy is also attached to an SSP target instead of a Serial ATA Tunneling Protocol (STP) target, and an address of said SSP target is an assigned address selected from one or more assigned addresses stored in a routing table instead of a unique address assigned to said SATA device, said one or more assigned addresses corresponding to an ingress Phy of a bridge embedded in or coupled to said expander, said bridge capable of performing translations between SAS and SATA protocols.
49. The computer-readable storage medium of claim 48, comprising further processor-executable instructions, when executed, causing a processor to:
report from two or more Phys attached to said bridge that no device is locally attached to these Phys.
50. The computer-readable storage medium of claim 48, comprising further processor-executable instructions, when executed, causing a processor to:
receive said SAS initiator request from a SAS initiator attached to said expander via at least one of said multiple Phys of said expander;
route a SAS initiator request to a destination SAS device if a destination address of said initiator request matches a public address of said destination SAS devices in accordance with said routing table; and
route said SAS initiator request to said bridge for translation before transmitting to a destination SATA device if said destination address matches one of said one or more assigned addresses corresponding to said ingress Phy of said bridge in accordance with said routing table.
51. The method of claim 48, wherein said routing table is stored in said expander, and includes public addresses of said SAS and SATA devices and corresponding Phys through which said SAS and SATA devices are directly attached to said expander, and said one or more assigned addresses corresponding to said ingress Phy of said bridge.
The claims below are in addition to those above.
All refrences to claims which appear below refer to the numbering after this setence.
1. A memory device comprising:
a first phase change material; and
a second phase change material comprising a first portion positioned on the first phase change material and having a first width substantially equal to a width of the first phase change material, and a second portion having a second width greater than the first width, wherein the second phase change material has a greater phase resistivity than the first phase change material.
2. The memory device of claim 1, wherein the first phase change material and the second phase change material comprise Ge, Sb, or Te or a combination thereof.
3. The memory device of claim 1, wherein the first phase change material comprises high purity Ge2Sb2Te5.
4. The memory device of claim 1, wherein the first phase change material is a GeSb alloy.
5. The memory device of claim 1, further comprising an interface barrier metal positioned between the first phase change material and the second phase change material.
6. The memory device of claim 5, wherein the interface barrier metal comprises TiN or TaN.
7. The memory device of claim 1, wherein the first phase change material is in direct physical contact with the second phase change material.
8. The memory device of claim 1, wherein the first phase change material is a pillar present in direct contact with a conductive structure positioned in a dielectric layer.
9. The memory device of claim 8, wherein the pillar further comprises a first barrier metal positioned between the first phase change material and the conductive structure.
10. The memory device of claim 9, wherein the first barrier metal comprises TiN or TaN.
11. The memory device of claim 7, wherein the conductive structure has a greater width than the pillar.
12. The memory device of claim 1, wherein the second phase change material comprises Ge2Sb2Te5 doped with a nitride, oxide, or oxynitride.
13. The memory device of claim 1, wherein the first phase change material has a resistivity that ranges from 10\u22126 ohm-m to 102 ohm-m, and the second phase change material has a resistivity that ranges from 10\u22122 ohm-m to 10+5 ohm-m.
14. The memory device of claim 1, wherein the first phase change material has a thermal conductivity that ranges from 0.02 WmK to 2 WmK.
15. The memory device of claim 1, wherein the first phase change material is a composition that converts from an amorphous phase to a crystalline phase and vice versa.
16. The memory device of claim 1, wherein the second phase change material is a composition that converts from an amorphous phase to a crystalline phase and vice versa.
17. The memory device of claim 1, wherein the second phase change material is comprised of Ge2Sb2Te5 with Si3N4 or SiO2 present in a range of 5 wt. % to 10 wt. %.
18. The memory device of claim 1, wherein the second phase change material is in an amorphous phase when at a temperature of about 25\xb0 C., wherein as the temperature of the second phase change material is increased to a conversion temperature ranging from 180\xb0 C. to 280\xb0 C., the second phase change material converts from the amorphous phase to a Face Center Cubic (FCC) phase.
19. The memory device of claim 1, wherein a second barrier metal present on the upper surface of the second phase change material, the second barrier metal comprising TiN, TaN or a combination thereof.
20. The memory device of claim 19 further comprising an upper electrode in contact with the second barrier metal.