IP Library Granted Patent US 8,924,610
Granted Patent B1
US 8,924,610 · App. 13/753,255 · Granted Dec 30, 2014

SAS/SATA store-and-forward buffering for serial-attached-SCSI (SAS) storage network

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,924,610
App. No.
13/753,255
Granted
Dec 30, 2014
Kind
B1
Abstract

SAS/SATA Store-Forward (SSSF) buffering enables SAS/SATA block storage devices capable of slower physical link rates to transfer data at a SAS topology data rate. 6 Gbps SAS and SATA disk drives can exchange data at 12 Gbps with 12 Gbps hosts through 12 Gbps SAS expanders employing an SSSF device. The SSSF device improves data transfer performance in the storage area network by optimizing host-side link utilization. The device includes a host-side interface communicating with the host at a host-side rate, a drive-side interface communicating with the target at a drive-side rate equal to or less than the host-side rate, a buffer receiving SAS frames or SATA FIS's, and control logic to control communication between the host-side interface and buffer at the host-side rate and between the drive-side interface and the buffer at the drive-side rate.

Claims (33)

1. A device for improving data transfer performance within a serial attached SCSI (SAS) domain comprising a host and a target, the host comprising a SAS initiator, the target comprising a SAS drive or a serial ATA (SATA) drive, the device comprising:

a host-side interface configured to communicate with the host at a host-side rate;

a drive-side interface configured to communicate with the target at a drive-side rate, the drive-side rate being equal to or slower than the host-side rate;

a buffer configured to receive and store data frames from the host-side interface or the drive-side interface, wherein the data frames are SAS frames when the target comprises the SAS drive, and wherein the data frames are SATA frame information structures (FIS's) when the target comprises the SATA drive; and

control logic coupled to the buffer to control communication of the data frames between the buffer and the host at the host-side rate, and to control communication of the data frames between the buffer and the target at the drive-side rate.

2. The device according to claim 1 , wherein the target is the SAS drive and the control logic is configured to transmit a CREDIT_BLOCKED primitive to the host when the buffer is full.

3. The device according to claim 1 , wherein the device is integrated within a SAS expander.

4. The device according to claim 1 , wherein the control logic informs the host that the drive-side interface operates at the host-side rate when the drive-side rate is slower than the host-side rate.

5. The device according to claim 1 , wherein the control logic changes a connection rate of an open address frame to the drive-side rate when the open address frame is received from the host to be sent to the target.

6. The device according to claim 1 , wherein the control logic monitors a host connection delay and causes the host-side interface to open a connection with the host to communicate data frames with the host based on the host connection delay, a fill position of the buffer, the host-side rate, and the drive-side rate.

7. The device according to claim 1 , wherein the control logic closes a connection to the host to optimize host network utilization.

8. The device according to claim 1 , wherein the target is a SATA drive and the control logic splits a direct memory access (DMA) setup FIS into multiple smaller DMA setup FIS's.

9. The device according to claim 1 , wherein the target is a SATA drive and the control logic supports multi-affiliation of a number of SATA drives including the target.

10. The device according to claim 1 , wherein the target is a SAS drive and the control logic splits a XFER_RDY frame into multiple smaller XFER_RDY frames.

11. The device according to claim 1 , wherein the host-side rate is 12 Gbps and the drive-side rate is 6 Gbps.

12. The device according to claim 1 , wherein the control logic is configured to store in the buffer a control frame addressed to the host and to defer transmitting the control frame to the host until a further packet addressed to the host is received at the device, wherein the device is configured to transmit to the host the control frame together with the further packet, wherein the further packet is a further data frame, a further data FIS, or a further control frame.

13. The device according to claim 12 , wherein the target comprises the SAS drive, the control frame is a RESPONSE frame, and the further packet is a XFER_RDY frame.

14. The device according to claim 12 , wherein the target comprises the SATA drive, the control frame is a DMA Setup FIS, and the packet is a Data FIS.

15. A method for improving performance within a serial attached SCSI (SAS) domain comprising a host and a target, the host comprising a SAS initiator, the target comprising a SAS drive or a serial ATA (SATA) drive, the method comprising:

receiving a data transfer from one of the host and the target at a host-side rate or a drive-side rate, respectively, wherein the drive-side rate is equal to or slower than the host-side rate, wherein the data transfer comprises SAS frames when the target comprises the SAS drive, and wherein the data transfer comprises SATA frame information structures (FIS's) when the target comprises the SATA drive;

buffering the data transfer within a buffer located between the host and the target; and

transmitting the buffered data to the other one of the host and the target at the host-side rate or the drive-side rate, respectively.

16. The method according to claim 15 , wherein the target comprises the SAS drive, the method further comprising transmitting a CREDIT_BLOCKED primitive to the host when the buffer is full.

17. The method according to claim 15 , further comprising informing the host that the drive-side interface operates at the host-side rate when the drive-side rate is slower than the host-side rate.

18. The method according to claim 15 , further comprising changing a connection rate of an open address frame to the drive-side rate when the open address frame is received from the host to be sent to the target.

19. The method according to claim 15 , further comprising monitoring a host connection delay and opening a connection with the host to communicate data frames with the host based on the host connection delay, a fill position of the buffer, the host-side rate, and the drive-side rate.

20. The method according to claim 15 further comprising closing a connection to the host to optimize host network utilization.

21. The method according to claim 15 , wherein the target comprises the SATA drive, the method further comprising splitting a direct memory access (DMA) setup FIS into multiple smaller DMA setup FIS's.

22. The method according to claim 15 , wherein the target comprises the SAS drive, the method further comprising splitting a XFER_RDY frame into multiple smaller XFER_RDY frames.

23. The method according to claim 15 , wherein the host-side rate is 12 Gbps and the drive-side rate is 6 Gbps.

24. The method according to claim 15 further comprising storing in the buffer a control frame addressed to the host and deferring transmission of the control frame to the host until a further packet addressed to the host is received at the device, and transmitting to the host the control frame together with the further packet, wherein the further packet is a further data frame, a further data FIS, or a further control frame.

25. The method according to claim 24 , wherein the target comprises the SAS drive, the control frame is a RESPONSE frame, and the further packet is a XFER_RDY frame.

26. The device according to claim 24 , wherein the target comprises the SATA drive, the control frame is a DMA Setup FIS, and the further packet is a Data FIS.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded May 29, 2018
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: MICROSEMI STORAGE SOLUTIONS, INC.; MICROSEMI STORAGE SOLUTIONS (U.S.), INC.
Reel/Frame 046251/0271 →
CHANGE OF NAME Recorded Jun 16, 2017
From: MICROSEMI STORAGE SOLUTIONS (U.S.), INC.
To: MICROSEMI SOLUTIONS (U.S.), INC.
Reel/Frame 042836/0046 →
CHANGE OF NAME Recorded Mar 22, 2016
From: PMC-SIERRA US, INC.
To: MICROSEMI STORAGE SOLUTIONS (U.S.), INC.
Reel/Frame 038213/0291 →
PATENT SECURITY AGREEMENT Recorded Feb 3, 2016
From: MICROSEMI STORAGE SOLUTIONS, INC. (F/K/A PMC-SIERRA, INC.); MICROSEMI STORAGE SOLUTIONS (U.S.), INC. (F/K/A PMC-SIERRA US, INC.)
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037689/0719 →
RELEASE OF SECURITY INTEREST Recorded Feb 1, 2016
From: BANK OF AMERICA, N.A.
To: PMC-SIERRA, INC.; PMC-SIERRA US, INC.; WINTEGRA, INC.
Reel/Frame 037675/0129 →
SECURITY INTEREST IN PATENTS Recorded Aug 6, 2013
From: PMC-SIERRA, INC.; PMC-SIERRA US, INC.; WINTEGRA, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 030947/0710 →