CN113127389A - SAS STP service acceleration method - Google Patents

SAS STP service acceleration method Download PDF

Info

Publication number
CN113127389A
CN113127389A CN202110411008.7A CN202110411008A CN113127389A CN 113127389 A CN113127389 A CN 113127389A CN 202110411008 A CN202110411008 A CN 202110411008A CN 113127389 A CN113127389 A CN 113127389A
Authority
CN
China
Prior art keywords
command
fis
stp
ssp
expander
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN202110411008.7A
Other languages
Chinese (zh)
Other versions
CN113127389B (en
Inventor
孙磊君
宁佐林
刘亿明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuxi Zhongxing Microsystem Technology Co ltd
Original Assignee
Wuxi Zhongxing Microsystem Technology Co ltd
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
Application filed by Wuxi Zhongxing Microsystem Technology Co ltd filed Critical Wuxi Zhongxing Microsystem Technology Co ltd
Priority to CN202110411008.7A priority Critical patent/CN113127389B/en
Publication of CN113127389A publication Critical patent/CN113127389A/en
Application granted granted Critical
Publication of CN113127389B publication Critical patent/CN113127389B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)

Abstract

The invention provides a SAS STP service acceleration method, which comprises the following steps: packing the STP frame into SSP frame format, and utilizing SSP transmission layer to receive and transmit STP frame; modifying the execution process of the STP command, and processing the STP command in the same processing mode as the SSP command when the SSP transport layer processes the STP service. The invention improves the processing performance of the SAS STP service and unifies the processing mode of the SAS Initiator to the SSP and STP services.

Description

SAS STP service acceleration method
Technical Field
The invention belongs to the field of disk reading and writing, and particularly relates to a SAS STP service acceleration method.
Background
Sas (Serial Attached SCSI), i.e., Serial Attached SCSI interface, is a new generation of SCSI technology, which is the same as Serial ATA (SATA) hard disk, and adopts Serial technology for obtaining higher transmission speed. The SATA Tunneling Protocol (STP) is used to enable the transfer of data between SAS and SATA. Fig. 1 shows a conventional STP protocol implementation, where STP related traffic is handled by a SAS Initiator STP transport Layer (Transfer Layer). However, at the SAS STP protocol transport layer, the transceiving frames are half-duplex; in the link layer, each time of receiving and transmitting frames, a great amount of time needs to be consumed in the primitive handshake phase, and compared with the full duplex characteristic of the SSP protocol, the utilization rate of the link of the STP service is greatly reduced, thereby affecting the overall performance of receiving and transmitting data by the SAS Initiator.
Disclosure of Invention
The invention aims to provide an SAS STP service acceleration method, which is used for optimizing the transmission performance of STP service, so that frames can be transmitted and received in the STP service in a full-duplex mode, and the performance of the STP service is improved. The SAS STP service acceleration method comprises the following steps:
packing the STP frame into SSP frame format, and utilizing SSP transmission layer to receive and transmit STP frame;
modifying the execution process of the STP command, and processing the STP command in the same processing mode as the SSP command when the SSP transport layer processes the STP service.
Preferably, the STP command is a STP FPDMA QUEUED write command or a STP FPDMA QUEUED read command or a PIO data read/write command or a non-data handling command.
Preferably, when the STP command is an STP FPDMA QUEUED write command, the executing of the STP FPDMA QUEUED write command further comprises:
the method comprises the following steps that 1, an SAS Initiator loads an FPDMA (field programmable data access) QUEUED write COMMAND on an SSP COMMAND Frame and sends the FPDMA QUEUED write COMMAND to an Expander, and the Expander extracts H2D register fis from the SSP COMMAND Frame and sends the H2D register fis to an SATA device;
2, the SATA device sends D2H register fis, after receiving the frame, the Expander can send the next H2D register fis to the SATA device, and the action of the SATA device is not sensed by the SAS Initiator;
3, the SATA device sends DMA setup fis to inform Host that data fis can be sent, and the Expander sends SSP XFER RDY frame to SAS Initiator after receiving the fis;
and 4, after receiving the XFER RDY frame, the SAS Initiator sends an SSP DATA frame to the Expander, and if the Expander already receives DMA active fis of the SATA device at the moment, the Expander extracts the DATA fis from the SSP DATA and sends the DATA fis to the SATA device.
Preferably, when the STP command is an STP FPDMA QUEUED read command, the executing of the STP FPDMA QUEUED read command further includes:
the method comprises the following steps that 1, an SAS Initiator loads an FPDMA (field programmable data access) QUEUED read COMMAND on an SSP COMMAND Frame and sends the FPDMA QUEUED read COMMAND to an Expander, and the Expander extracts H2D register fis from the SSP COMMAND Frame and sends the H2D register fis to an SATA device;
2, the SATA device sends D2H register fis, after the Expander receives the frame, the Expander sends the next H2D register fis to the SATA device, and the action of the SATA device is not sensed by the SAS Initiator;
the SATA device sends DMA setup fis to inform Host of the received data volume, the Expander receives the fis and waits for receiving the data fis, and the action of the SATA device is not sensed by the SAS Initiator;
4, the SATA device sends Data fis, after the Expander receives the Data fis, the Expander strips and encapsulates the Data fis into SSP Data frame with the length of 1K bytes and sends the SSP Data frame to the SAS Initiator;
preferably, after completing the transmission of the I/O data, the SATA Device sends Set Device Bit fis to the Expander, and after receiving the fis, the Expander sends an SSP Response frame to the SAS Initiator to notify the SAS Initiator that the I/O is completed.
Preferably, if n bits of the 32-bit active of one SDB fis are 1, where n represents the number of completed commands, n SSP Response frames are sent to the SAS Initiator.
Preferably, during execution of the FPDMA QUEUE commands, the number of FPDMA QUEUE commands simultaneously sent by the SAS Initiator to Expander does not exceed the command queue depth of the SATA device.
Preferably, the non-data movement command is a SATA nonandata command, and the process of sending the SATA nonandata command from the SAS Initiator to the SATA device through the SAS Expander further includes:
the SAS Initiator loads the SATA Nondata COMMAND on an SSP COMMAND Frame and sends the SATA Nondata COMMAND to an Expander, and the Expander extracts H2D register fis from the SSP COMMAND Frame and sends the H2D register fis to SATA device;
2, SATA device sends D2H register fis to Expander, after Expander receives the fis, it sends SSP Response frame to SAS Initiator to inform SAS Initiator of I/O completion.
Preferably, the PIO DATA read/write command is a SATA PIO DATA OUT command or a SATA PIO DATA IN command.
Preferably, the encapsulating the STP frame into the SSP frame format further comprises:
encapsulating the H2D register fis in SSP COMMAND FRAME; and
the DATA fis is encapsulated in SSP DATA FRAME.
Compared with the prior art, the invention has the following advantages:
the performance of STP service between the SAS Initiator and the Expander is improved, the processing mode of the SAS Initiator to the SSP and STP service can be normalized, and the design of the SAS Initiator is simplified.
Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the invention. The objectives and other advantages of the invention will be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Figure 1 shows a schematic diagram of an STP protocol implementation architecture according to the prior art.
Figure 2 shows a schematic diagram of an STP protocol implementation architecture according to the present invention.
FIG. 3 illustrates a flowchart of an STP FPDMA QUEUED write command execution process for over SSP in accordance with the present invention.
FIG. 4 illustrates a flowchart of an STP FPDMA QUEUED read command execution process for an over SSP in accordance with the present invention.
FIG. 5 is a flow chart illustrating a process for transmitting a plurality of commands interleaved during command execution according to the present invention.
FIG. 6 is a flow chart illustrating the execution process of the SATA Nondata command over SSP according to the present invention.
FIG. 7 is a flowchart illustrating an implementation of the PIO out command over SSP in accordance with the present invention.
FIG. 8 is a flowchart illustrating an execution procedure of the PIO in command over SSP according to the present invention.
FIG. 9 shows a schematic diagram of the encapsulation format of the H2D register fis over SSP COMMAND Frame according to the present invention.
FIG. 10 is a diagram illustrating the encapsulation format of the DATA fis over SSP DATA Frame according to the present invention.
FIG. 11 illustrates an encapsulation format diagram of a Setup fis over SSP XFER _ RDY Frame of a write command according to the present invention.
FIG. 12 shows a schematic diagram of the encapsulation format of the D2H register/SDB fis over SSP Response Frame according to the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
In order to improve the single point performance of the SAS STP service, the integral performance of receiving and transmitting data by the SAS Initiator under the STP/SSP mixed service scene, normalize the processing of the SAS Initiator to the SSP and STP service and simplify the design of the SAS Initiator, the invention provides a solution for grafting the STP service to an SSP transmission layer and a link layer (link layer), and the STP protocol frame (SATA FIS frame information structure) is encapsulated into an SSP (serial SCSI protocol) frame format, so that the SSP transmission layer can receive and transmit the STP protocol frame. Meanwhile, the data flow in the execution process of the STP I/O is modified and disguised as the execution process of the SSP I/O, so that the SSP transmission layer of the SAS Initiator does not need to be subjected to differential processing when processing the STP service. Specific frame format encapsulation details and improved STP I/O execution dataflow will be set forth in detail below.
The first aspect of the present invention first sets a read/write command for a transport layer data stream of the STP over SSP as follows. Fig. 3 shows an STP FPDMA (First Party DMA) QUEUED write command of an over SSP, and a completion process from a SAS Initiator to a SATA device (SATA device) through a SAS Expander specifically includes:
the SAS Initiator loads an FPDMA (field to Device) QUEUED write COMMAND on an SSP COMMAND Frame and sends the COMMAND Frame to the Expander, and the Expander extracts H2D (Host to Device) register fis from the SSP COMMAND Frame and sends the read COMMAND to the SATA Device;
2, the SATA Device sends D2H (Device to Host) register fis, after receiving the frame, the Expander can send the next H2D register fis to the SATA Device, and the action of the SATA Device is not sensed by the SAS Initiator;
3, the SATA device sends DMA setup fis to inform Host (Host end) that data fis can be sent, and the Expander sends SSP XFER RDY frame to SAS Initiator after receiving the fis;
after receiving XFER RDY frame, SAS Initiator sends SSP DATA frame to Expander, if Expander already receives DMA active fis (DMA active frame) of SATA device at this time, then DATA fis can be extracted from SSP DATA and sent to SATA device;
5. after the transmission of the I/O data is completed, the SATA Device sends Set Device Bits (Device bit setting) fis to the Expander, after the Expander receives the fis, the Expander sends SSP Response frames to the SAS Initiator to inform the SAS Initiator that the I/O is completed, if n Bits in 32bit active (shadow active is shadow active state) of one SDB fis are 1, and n is more than 1, which indicates that a plurality of commands are completed, n SSP Response frames need to be sent to the SAS Initiator.
FIG. 4 shows an STP FPDMA QUEUE read command of over SSP, and the completion process from SAS Initiator to SATA device via SAS Expander specifically includes:
the method comprises the following steps that 1, an SAS Initiator loads an FPDMA (field programmable data access) QUEUED read COMMAND on an SSP COMMAND Frame and sends the FPDMA QUEUED read COMMAND to an Expander, and the Expander extracts H2D register fis from the SSP COMMAND Frame and sends the H2D register fis to SATA device;
2, the SATA device sends D2H register fis, after receiving the frame, the Expander can send the next H2D register fis to the SATA device, and the action of the SATA device is not sensed by the SAS Initiator;
the SATA device sends a DMA setup fis (DMA setting frame) to inform Host of the received data volume, the Expander receives the fis and waits for receiving the data fis, and the action of the SATA device is not sensed by the SAS Initiator;
4, the SATA device sends Data fis, after the Expander receives the Data fis, the Expander strips and encapsulates the Data fis into SSP Data frame with the length of 1K byte, and sends the SSP Data frame to the SAS Initiator;
5. after the transmission of I/O data is completed, the SATA Device sends Set Device Bit fis to the Expander, the Expander receives the fis, sends SSP Response frames to the SAS Initiator to inform the SAS Initiator of the completion of I/O, if n bits of 32-Bit safe of one SDB fis are 1, n is more than 1, a plurality of commands are completed, and the Expander needs to send n SSP Response frames to the SAS Initiator.
A second aspect of the present invention relates to the flow of the transmission of multiple commands interleaved between the execution of FPDMA QUEUED commands. As shown in fig. 5, during the execution of the FPDMA QUEUED command, the SAS Initiator may send a plurality of FPDMA QUEUED commands to the Expander, and the maximum number of commands that the SAS Initiator has issued but has not finished receiving (outstanding) is limited by NCQ Depth of SATA device, i.e., command queue Depth (NCQ Depth, obtained from information of identity SATA device, only the SAS Initiator knows, and the Expander does not sense). The bsy (busy) status of SATA device is maintained by Expander, thereby controlling the transmission rhythm of H2D register fis.
Fig. 6 shows a SATA Nondata command of the over SSP, and a completion process from the SAS Initiator to the SATA device through the SAS Expander specifically includes:
the SAS Initiator loads a SATA Nondata COMMAND on an SSP COMMAND Frame and sends the SATA Nondata COMMAND to an Expander, and the Expander extracts H2Dregister fis from the SSP COMMAND Frame and sends the H2Dregister fis to SATA device;
2, SATA device sends D2H register fis, Expander receives the fis, then sends SSP Response frame to SAS Initiator to inform the completion of I/O of SAS Initiator.
Fig. 7 shows a SATA PIO (programmable input/output) DATA OUT (DATA output) command of an over SSP, and a completion process from a SAS Initiator to a SATA device through a SAS Expander specifically includes:
the SAS Initiator loads an SATA PIO DATA OUT COMMAND on an SSP COMMAND Frame and sends the COMMAND to the Expander, and the Expander extracts H2D register fis from the SSP COMMAND Frame and sends the H2D register fis to the SATA device;
2, SATA device sends PIO setup fis to inform Host that data fis can be sent, and Expander receives the fis and then sends SSP XFER RDY frame to SAS Initiator;
after receiving the XFER RDY frame, the SAS Initiator sends an SSP DATA frame to the Expander, and the Expander extracts DATA fis from the received SSP DATA and sends the DATA fis to the SATA device;
and 4, the SATA device sends D2H register fis, and after the Expander receives the fis, the Expander sends an SSP Response frame to the SAS Initiator to inform the SAS Initiator of I/O completion.
FIG. 8 shows a SATA PIO DATA IN command for over SSP, the completion process from SAS Initiator to SATA device via SAS Expander specifically includes:
the SAS Initiator loads a SATA PIO DATA IN COMMAND on an SSP COMMAND Frame and sends the COMMAND to the Expander, and the Expander extracts H2Dregister fis from the SSP COMMAND Frame and sends the H2Dregister fis to SATA device;
2, the SATA device sends PIO setup fis to inform Host of the received data fis length, the Expander receives the fis and waits for receiving the data fis, and the action of the SATA device is not sensed by the SAS Initiator;
3, the SATA device sends Data fis, and after the Expander receives the Data fis, the Expander encapsulates the Data fis into an SSP Data frame and sends the SSP Data frame to the SAS Initiator;
and 4, expanding judges whether the I/O is finished or not. If Estatus [ bsy ] in the PIO setup fis is 0, and the amount of data received from the SATA device is equal to the transfer count value of the PIO setup fis, and the data fis received from the SATA device have been forwarded to the SAS Initiator, an SSP Response is sent to the SAS Initiator informing the I/O completion.
After sending the Nondata command/PIO DATA OUT command/PIO DATA IN command to the SAS Expander, the SAS Initiator can send the next command to the same SATA device only when receiving the SSP Response, and the sending of commands to other devices is not limited by the above.
A third aspect of the present invention improves the frame encapsulation format of STP over SSP.
FIG. 9 is the format of the H2D register fis encapsulated in SSP COMMAND FRAME:
1.0 to 23 bytes are SSP FRAME headers (FRAME header fields), the format in the SAS protocol is kept unchanged, only the DESTINATION SAS ADDRESS (DESTINATION SAS address), SOURCE SAS ADDRESS (SOURCE SAS address), Initiator PORT TRANSFER TAG (host PORT transmission label), TARGET PORT TRANSFER TAG (DESTINATION PORT transmission label) and DATA OFFSET (DATA OFFSET) are required to be filled in, the SAS Initiator accurate values of the 5 field segments are required to be ignored, and other field segments are omitted.
2.24-43 bytes are Information units, the complete content of H2D register fis is loaded and is filled in according to the format of H2D register fis, and the length of the Information units is fixed to 20 bytes, namely 5 DWs. In a preferred embodiment, the tag number of the NCQ (Native Command Queuing) Command is assigned by SAS Expander.
3.44-47 bytes are CRC (cyclic redundancy check) values of the whole frame.
Fig. 10 shows the format of the DATA fis encapsulation SSP DATA FRAME:
1.0-23 bytes are SSP FRAME headers, the format in the SAS protocol is kept unchanged, only the SAS Initiator accurate values of 5 domain segments including DESTINATION SAS ADDRESS, SOURCE SAS ADDRESS, Initiator PORT TRANSFER TAG, TARGET PORT TRANSFER TAG and DATA OFFSET need to be filled, and other domain segments are ignored.
2.24-n bytes are Information units, the payload field segment of DATA fis (containing no fis type) is loaded, and since the maximum length of SSP DATA frame is 1 Kbyte, the requirement that the length of Information Unit (Information field) is less than or equal to 1 Kbytes is also followed here. Since SATA has a data fis of 8k, the Expander needs to complete reassembly for transmitting data fis and fragmentation for receiving data fis.
N +1 to n +4 bytes are CRC values of the whole frame.
FIG. 11 is a format of an SSP XFER _ RDY FRAME for passing the transfer count and DMA Buffer Offset values in the DMA/pio setup fis sent by the SATA device to the SAS Initiator:
1.0-23 bytes are SSP FRAME headers, and the specific format is consistent with the two FRAME type formats SSP DATA FRAME and SSP COMMAND FRAME.
2.24-27 bytes are REQUEST OFFSET, the field section has the same meaning as defined in SSP protocol, and is the OFFSET value of the Initiator write data section in the whole I/O data, the value of REQUEST OFFSET is required to be multiple of 4, and the DMA Buffer OFFSET in DMA setup files can be filled into the field section.
The byte of 3.28 to 31 is WRITE DATA LENGTH, that is, the data size sent by the XFER _ RDY frame request Initiator, and this value may be equal to the transfer count (transmission data size) in the setup fis received by the Expander, and the Expander may also split the setup fis into n XFER _ RDY frames, and it is only necessary to satisfy that the sum of WRITE DATA LENGTH of the n XFER _ RDYs is equal to the transfer count of the setup fis.
The CRC field segment is the entire frame CRC calculated from SSP frame header to the byte before the CRC.
FIG. 12 shows the format of a received D2H register or SDB fis carried on an SSP RESPONSE FRAME when a SATA command is completed. For the PIO DATA IN command, the command completion has no D2H register FIS, returns the PIO setup FIS previously received if the command completes correctly, otherwise returns a PIO setup FIS with STATUS. ERR of 1:
the 1.0-23 bytes are SSP FRAME headers, and the specific format is consistent with the three FRAME types of SSP DATA FRAME, SSP COMMAND FRAME, SSP XFER _ RDY FRAME.
2.24-43 bytes are Information units, the complete content of D2H registers/SDB/PIO Setup fis is loaded and filled in according to the format of D2H registers/SDB/PIO Setup fis specified by SATA protocol, the length of the Information units is fixed to 20 bytes, namely 5 DWs, wherein the SDB fis is 2 DWs, and the rest 3 DWs are filled in 0.
CRC field segment count ranges from SSP frame header to byte before CRC.
It will be appreciated by those skilled in the art that the command flow and frame format described in the above embodiments are merely examples. The execution flow of the above commands and the encapsulation format of the frames can be obviously added, adjusted or deleted by those skilled in the art according to the needs.
Compared with the prior art, the SAS STP service acceleration scheme provided by the invention not only improves the performance of the STP service between the SAS Initiator and the Expander, when the SAS Initiator is connected with a plurality of SATA disks through the Expander, the performance of the STP service and the performance of the SSP service are leveled, but also can normalize the processing mode of the SAS Initiator on the SSP and STP services, the SSP and STP services can multiplex the same transmission layer and link layer, and the design of the SAS Initiator is simplified. For SAS Initiator which does not support STP service, STP service can be supported by modifying software.
Although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.

Claims (10)

1. A SAS STP service acceleration method is characterized by comprising the following steps:
packing the STP frame into SSP frame format, and utilizing SSP transmission layer to receive and transmit STP frame;
modifying the execution process of the STP command, and processing the STP command in the same processing mode as the SSP command when the SSP transport layer processes the STP service.
2. The SAS STP traffic acceleration method of claim 1, wherein the STP command is an STP FPDMA QUEUED write command, an STP FPDMA QUEUED read command, a PIO data read/write command, or a non-data transport command.
3. The SAS STP traffic acceleration method of claim 2, wherein when said STP command is an STP FPDMA QUEUED write command, execution of said STP FPDMA QUEUED write command further comprises:
3.1, the SAS Initiator loads an FPDMA QUEUED write COMMAND on an SSP COMMAND Frame and sends the COMMAND to the Expander, and the Expander extracts H2D register fis from the SSP COMMAND Frame and sends the COMMAND to the SATA device;
3.2, the SATA device sends D2H register fis, after receiving the frame, the Expander can send the next H2D register fis to the SATA device, and the action of the SATA device is not sensed by the SASInitiator;
3.3, the SATA device sends DMA setup fis to inform Host that data fis can be sent, and the Expander sends SSP XFER RDY frame to SAS Initiator after receiving the fis;
and 3.4, after receiving the XFER RDY frame, the SAS Initiator sends an SSP DATA frame to the Expander, and if the Expander already receives DMA active fis of the SATA device at the moment, the Expander extracts the DATA fis from the SSP DATA and sends the DATA fis to the SATA device.
4. The SAS STP traffic acceleration method of claim 2, wherein when said STP command is an STP FPDMA QUEUED read command, execution of said STP FPDMA QUEUED read command further comprises:
4.1, the SAS Initiator loads an FPDMA QUEUED read COMMAND on an SSP COMMAND Frame and sends the FPDMA QUEUED read COMMAND to the Expander, and the Expander extracts H2D register fis from the SSP COMMAND Frame and sends the H2D register fis to the SATA device;
4.2, the SATA device sends D2H register fis, after the Expander receives the frame, the Expander sends the next H2D register fis to the SATA device, and the action of the SATA device is not sensed by the SAS Initiator;
4.3, the SATA device sends DMA setup fis to inform Host of the received data volume, the Expander receives the fis and waits for receiving the data fis, and the action of the SATA device is not sensed by the SAS Initiator;
and 4.4, the SATA device sends Data fis, and after the Expander receives the Data fis, the Expander unpacks and encapsulates the Data fis into SSP Data frames with the length of 1K bytes and sends the SSP Data frames to the SAS Initiator.
5. The SAS STP traffic acceleration method of claim 3 or 4, wherein after completing the transmission of I/O data, the SATA Device sends a Set Device Bit fis to the Expander, and after the Expander receives the fis, the Expander sends an SSP Response frame to the SAS Initiator to notify the SAS Initiator of the I/O completion.
6. The SAS STP traffic acceleration method of claim 5, wherein if n bits of a 32bit active of an SDB fis are 1, n indicating the number of completed commands, then n SSPResponse frames are sent to the SAS Initiator.
7. A SAS STP traffic acceleration method according to claim 3 or 4, characterized in that during the execution of FPDMA QUEUED commands, the number of FPDMA QUEUED commands simultaneously sent by the SAS Initiator to Expander does not exceed the command queue depth of SATA device.
8. The SAS STP traffic acceleration method of claim 1, wherein the non-data transport command is a SATA nonidata command, the process of the SATA nonidata command being transmitted from a SAS Initiator to a SATA device via a SAS Expander further comprising:
8.1, the SAS Initiator loads the SATA Nondata COMMAND on an SSP COMMAND Frame and sends the SATA Nondata COMMAND to an Expander, and the Expander extracts H2D register fis from the SSP COMMAND Frame and sends the H2D register fis to the SATA device;
8.2, the SATA device sends D2H register fis to the Expander, and after the Expander receives the fis, the Expander sends an SSP Response frame to the SAS Initiator to inform the SAS Initiator of I/O completion.
9. The SAS STP traffic acceleration method of claim 1, wherein said PIO DATA read/write commands further comprise SATA PIO DATA OUT commands or SATA PIO DATA IN commands.
10. The SAS STP traffic acceleration method of claim 1, wherein said encapsulating of STP frames into SSP frame format further comprises:
encapsulating the H2D register fis in SSP COMMAND FRAME; and
the DATA fis is encapsulated in SSP DATA FRAME.
CN202110411008.7A 2021-04-16 2021-04-16 SAS STP service acceleration method Active CN113127389B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110411008.7A CN113127389B (en) 2021-04-16 2021-04-16 SAS STP service acceleration method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110411008.7A CN113127389B (en) 2021-04-16 2021-04-16 SAS STP service acceleration method

Publications (2)

Publication Number Publication Date
CN113127389A true CN113127389A (en) 2021-07-16
CN113127389B CN113127389B (en) 2022-08-26

Family

ID=76777231

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110411008.7A Active CN113127389B (en) 2021-04-16 2021-04-16 SAS STP service acceleration method

Country Status (1)

Country Link
CN (1) CN113127389B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114296991A (en) * 2021-12-28 2022-04-08 无锡众星微系统技术有限公司 CRC data checking method and checking circuit applied to Expander

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070214277A1 (en) * 2006-03-07 2007-09-13 Ahmed Ali U Peer-to-peer network communications using SATA/SAS technology
CN101627376A (en) * 2006-10-05 2010-01-13 Lsi公司 Needing to be used for the mutual apparatus and method of improved SATA equipment of SAS extender
US20120054404A1 (en) * 2010-08-25 2012-03-01 Lsi Corporation Methods and apparatus for improved host/initiator utilization in serial advanced technology attachment communication
CN102385564A (en) * 2010-08-25 2012-03-21 Lsi公司 Methods and apparatus for improved serial advanced technology attachment performance
CN102449610A (en) * 2009-03-27 2012-05-09 三德动力有限公司 Storage system logical block address de-allocation management and data hardening
CN103942005A (en) * 2013-01-22 2014-07-23 王灿 Solid state disk and control device, system and method thereof
CN105224260A (en) * 2015-10-22 2016-01-06 湖南国科微电子股份有限公司 A kind of transmission method of ahci interface and system
CN112559407A (en) * 2020-12-22 2021-03-26 无锡众星微系统技术有限公司 STP link layer state machine optimization method
CN112559406A (en) * 2020-12-22 2021-03-26 无锡众星微系统技术有限公司 SATA transport layer state machine optimization method

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070214277A1 (en) * 2006-03-07 2007-09-13 Ahmed Ali U Peer-to-peer network communications using SATA/SAS technology
CN101627376A (en) * 2006-10-05 2010-01-13 Lsi公司 Needing to be used for the mutual apparatus and method of improved SATA equipment of SAS extender
CN102449610A (en) * 2009-03-27 2012-05-09 三德动力有限公司 Storage system logical block address de-allocation management and data hardening
CN104077174A (en) * 2009-03-27 2014-10-01 Lsi公司 Storage system logical block address de-allocation management and data hardening
US20120054404A1 (en) * 2010-08-25 2012-03-01 Lsi Corporation Methods and apparatus for improved host/initiator utilization in serial advanced technology attachment communication
CN102387184A (en) * 2010-08-25 2012-03-21 Lsi公司 Methods and apparatus for improved host/initiator utilization in serial advanced technology attachment communication
CN102385564A (en) * 2010-08-25 2012-03-21 Lsi公司 Methods and apparatus for improved serial advanced technology attachment performance
CN103942005A (en) * 2013-01-22 2014-07-23 王灿 Solid state disk and control device, system and method thereof
CN105224260A (en) * 2015-10-22 2016-01-06 湖南国科微电子股份有限公司 A kind of transmission method of ahci interface and system
CN112559407A (en) * 2020-12-22 2021-03-26 无锡众星微系统技术有限公司 STP link layer state machine optimization method
CN112559406A (en) * 2020-12-22 2021-03-26 无锡众星微系统技术有限公司 SATA transport layer state machine optimization method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘建峰: "《基于 FPGA 的 SAS 控制器设计与实现》", 《中国优秀硕士学位论文全文数据库》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114296991A (en) * 2021-12-28 2022-04-08 无锡众星微系统技术有限公司 CRC data checking method and checking circuit applied to Expander
CN114296991B (en) * 2021-12-28 2023-01-31 无锡众星微系统技术有限公司 CRC data checking method and checking circuit applied to Expander

Also Published As

Publication number Publication date
CN113127389B (en) 2022-08-26

Similar Documents

Publication Publication Date Title
US7580406B2 (en) Remote direct memory access segment generation by a network controller
US7899945B2 (en) Interface device and method for command processing
US8700724B2 (en) System and method for transferring data over a remote direct memory access (RDMA) network
US7694024B2 (en) TCP/IP offload device with fast-path TCP ACK generating and transmitting mechanism
CN108701004A (en) A kind of system of data processing, method and corresponding intrument
CN110177087B (en) Target end protocol hardware analysis method based on TOE network card
US20050135395A1 (en) Method and system for pre-pending layer 2 (L2) frame descriptors
US7770088B2 (en) Techniques to transmit network protocol units
CN101930418A (en) The multiple compress technique that is used for grouping information
WO2019057005A1 (en) Data check method, device and network card
CN112764946B (en) Cross-process data transmission method and device, electronic equipment and storage medium
CN113127389B (en) SAS STP service acceleration method
CN105933325B (en) A kind of kernel state RPC communication accelerated method based on NFSoRDMA
EP1296220A2 (en) Buffer partitioning for managing multiple data streams
US20070130364A1 (en) Techniques to determine an integrity validation value
US20120136958A1 (en) Method for analyzing protocol data unit of internet small computer systems interface
US7526574B2 (en) Method for communicating data transfer requests between data transfer protocols
US20070076685A1 (en) Programmable routing for frame-packet based frame processing
KR100723879B1 (en) Hardware acceleration apparatus for iscsi target system using toe and method for handling read/write command using the apparatus
CN108140005B (en) System and method for providing file information in a memory system protocol
US11726666B2 (en) Network adapter with efficient storage-protocol emulation
US10019405B2 (en) Apparatus and method for transmitting serial ATA information
US9201599B2 (en) System and method for transmitting data in storage controllers
US7412540B2 (en) Data encoding and decoding in a data storage system
JP2014048810A (en) Host system, storage device and communication method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant