CN112836453B - Sas控制器帧缓冲区结构设计方法 - Google Patents
Sas控制器帧缓冲区结构设计方法 Download PDFInfo
- Publication number
- CN112836453B CN112836453B CN202110241041.XA CN202110241041A CN112836453B CN 112836453 B CN112836453 B CN 112836453B CN 202110241041 A CN202110241041 A CN 202110241041A CN 112836453 B CN112836453 B CN 112836453B
- Authority
- CN
- China
- Prior art keywords
- frame
- buffer
- data
- sas
- sas controller
- 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.)
- Active
Links
- 239000000872 buffer Substances 0.000 title claims abstract description 98
- 238000013461 design Methods 0.000 title claims abstract description 20
- 238000000034 method Methods 0.000 title claims abstract description 20
- 230000005540 biological transmission Effects 0.000 claims abstract description 34
- 230000002159 abnormal effect Effects 0.000 claims abstract description 6
- 238000012545 processing Methods 0.000 claims description 9
- 238000012546 transfer Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 abstract description 7
- 238000003745 diagnosis Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 208000032369 Primary transmission Diseases 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明提供了一种SAS控制器帧缓冲区结构设计方法,包括:在发送和接收两个方向采用非对称缓冲区结构设计;将帧发送和接收缓冲区划分为预定义大小的固定格式的存储槽;在帧接收缓冲区的每个槽位设置状态字、设备描述字、帧头、数据和分隔符段;在帧发送缓冲区的每个槽位设置控制描述符、数据和分隔符段;当SAS控制器接收数据帧时,将解析到的OAF帧内容写入帧接收缓冲区的设备描述字,将帧异常信息写入状态字;当所述SAS控制器发送数据帧时,读取帧发送缓冲区中相应存储槽的控制描述符,根据控制描述符字段生成OAF帧。本发明有效地支持了SMP和SSP协议类型下多磁盘、多I/O并发数据通信,支持SAS控制器对多磁盘设备的高效管理以及对链路中各种异常的诊断。
Description
技术领域
本发明属于磁盘连接技术领域,特别涉及一种SAS控制器帧缓冲区结构设计方法。
背景技术
SAS(Serial Attached SCSI)是一种高速串行接口,采用点对点的传输方式,内置数据/命令校验单元,纠错能力强,支持热插拔,具有管脚数量少、数据传输速率快、可靠性高、兼容性好等特性,目前被业界广泛用于存储设备和主机之间主要的I/O接口。
为完成端到端数据的高速传输,SAS标准协议定义了不同的协议栈层次,实现数据封装、编码以及高速接口物理信号的转换。图1描述了现有技术中典型的支持SAS标准协议的控制器实现装置,主要包括以下组件:
物理层L1,完成8b~10b编解码、BMC(Bi-phase Mark Code)编解码、OOB信号(OutOfBand,带外信号)的产生和检测、数据边界同步等功能,实现端到端物理链路的建立和传输速率的协商;
链路层L2,创建各种原语和地址帧,实现端到端设备的识别、连接管理、速率匹配、时钟补偿、传输层数据CRC生成和校验、数据加扰解扰;
端口层L3,根据传输层数据请求,负责物理端口的选择、连接的申请和SAS帧发送的调度;
传输层L4,在发送方向将应用层数据按照协议封装成特定格式的SAS帧,接收方向解析收到的远端SAS帧;
帧缓冲区L5,缓冲应用层发送的数据,以及传输层解析的数据;
DMA单元L6,负责主机系统存储单元和SAS控制器的帧缓冲区存储之间的数据搬移;
总线接口单元L7,DMA单元和主机系统存储单元之间的总线接口,例如AXI或AHB接口。
根据连接结构和端设备特性,SAS物理链路在不同的时刻可能工作在1.5Gbps、3.0Gbps、6.0Gbps以及12.0Gbps等协议定义的物理速率。典型的协议栈内核单元,根据物理层串行~并行转换的位宽,通常等比例工作在物理链路相应频率。以40比特位宽并行数据为例,协议栈内核单元典型的工作时钟频率为37.5MHz、75MHz、150MHz以及300MHz。图1中,DMA单元和总线接口单元的工作时钟频率通常与主机系统的存储单元、总线以及中央处理器保持一致或特定比例关系。因此,在同一时刻,DMA单元和协议栈内核时钟的工作频率和相位可能存在显著的差异,这种差异明显会影响SAS的数据通信。
典型的帧缓冲区单元采用双口SRAM设计,A口和B口可以工作在不同的时钟频率,能够有效的隔离DMA单元和协议栈内核单元之间时钟频率和相位的差异,支持SAS协议栈内核工作在不同时钟频率,满足多种物理链路的速率需求。然而,现有的SAS协议并未定义帧缓冲区单元结构以支持SSP(Serial SCSI Protocol,SAS标准的子协议)和SMP(SerialManagement Protocol,SAS标准的子协议)协议类型的数据高效通信。因此亟需结合SAS标准协议和应用场景的特点来设计面向SAS特定子协议的帧缓冲区结构。
发明内容
本发明的目的在于一种SAS控制器帧缓冲区结构设计方法,用于支持SAS场景下SSP和SMP协议类型数据通信。所述SAS控制器帧缓冲区结构设计方法包括:
在所述帧缓冲区的发送和接收两个方向采用非对称结构设计;
将帧发送缓冲区和帧接收缓冲区划分为预定义大小和固定格式的存储槽;
在所述帧接收缓冲区的每个存储槽设置状态字、设备描述字、帧头、缓冲数据和分隔符段;
在所述帧发送缓冲区的每个存储槽设置控制描述符、缓冲数据和分隔符段;
当所述SAS控制器接收数据帧时,将解析到的OAF帧内容写入所述帧接收缓冲区的设备描述字段,将帧异常信息写入所述状态字段;
当所述SAS控制器发送数据帧时,读取所述帧发送缓冲区中相应存储槽的控制描述符字段,根据所述控制描述符字段生成OAF帧。
优选地,所述状态字用于描述协议栈处理单元所接收的帧的状态信息,并且进一步包括帧类型、帧长以及多个异常描述位。
优选地,所述帧类型包括SSP帧或SMP帧。
优选地,所述设备描述字用于描述发送端的连接请求OAF帧的相关信息,并且进一步包括连接速率、连接请求标识以及协议类型。
优选地,所述SAS控制器的协议栈内核模块根据所述控制描述符生成OAF帧以请求连接。
优选地,其中所述控制描述符包含帧类型、目标设备SAS地址、源端口传输标记号、目标端口传输标记号、数据偏移量、链表DMA描述符地址、连接请求速率、协议类型和连接请求标识。
优选地,所述链表DMA描述符地址用于描述所述帧发送缓冲区当前存储槽的数据在主机系统的存储位置。
优选地,如果发生SSP帧发送异常,则所述主机系统根据所述链表DMA描述符地址所标识的存储位置进行异常处理。
优选地,在所述帧接收缓冲区和帧发送缓冲区的每个存储槽中进一步设置帧尾标记位,用于指示当前帧的结尾。
优选地,在所述帧接收缓冲区和帧发送缓冲区的每个存储槽中进一步设置奇偶校验位,用于存储帧缓冲区中对应位置的缓存数据的奇偶校验结果。
相比于现有技术,本发明具有以下优点:
本发明的SAS控制器帧缓冲区结构设计方法有效地支持了SMP和SSP两种协议类型下多磁盘、多I/O并发数据通信,支持SAS控制器对多SAS磁盘设备的高效管理以及对链路中各种异常的诊断。
本发明的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构来实现和获取。
附图说明
为更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,其中:
图1示出了根据现有技术的支持SAS标准协议的控制器实现装置的示意图。
图2示出了根据现有技术的SAS标准协议的时序图。
图3示出了根据本发明的SAS控制器接收缓冲区结构的示意图。
图4示出了根据图3的SAS控制器接收缓冲区结构中的状态字详细结构的示意图。
图5示出了根据图3的SAS控制器接收缓冲区结构中的设备描述字详细结构的示意图。
图6示出了根据本发明的SAS控制器发送缓冲区结构的示意图。
图7示出了根据图6的SAS控制器发送缓冲区结构的控制描述符的详细结构的示意图。
图8示出了根据本发明一个实施例的SAS控制器接收SAS设备数据帧时协议栈内核的示例处理方法流程图。
图9示出了根据本发明一个实施例的SAS控制器发送数据帧时协议栈内核的示例处理方法流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说明,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获取的所有其他实施例,都属于本发明保护的范围。
在典型的SAS数据存储拓扑结构中,SAS控制器通过一级或多级Expander(扩展器)扩展支持多磁盘设备的并发控制管理。根据图2所示的SAS标准协议,SAS控制器或SAS磁盘设备进行SSP协议数据传输前,链路层首先发送OAF(OpenAddress Frame)帧,申请建立指定协议、指定速率的连接。接收端设备应答Open Accept原语,连接建立成功后,请求方设备发送SAS帧并等待应答握手。为在控制器和多个SAS设备之间实现物理链路分时复用,提升链路利用效率,双方设备完成SAS帧传输后交换DONE和CLOSE原语关闭连接,释放链路。
根据SAS标准协议,OAF帧的内容包括SAS协议类型、连接请求速率(ConnectionRate)、连接请求标记(Initiator Connection Tag)、目的设备SAS地址、源设备SAS地址等主要信息。传输层SSP帧(Serial SCSI Protocol,SAS标准的子协议)除了承载应用层的数据IU(Information Unit,SSP帧的Payload),其帧头内容包括帧类型、目的设备SAS地址哈希、源设备SAS地址哈希、重传控制(TLR Control)、源端口传输标记(InitiatorPortTransfer Tag)、目标端口传输标记(TargetPort TransferTag)、数据偏移量(DataOffset)等主要信息。
因此,本发明在面向SAS协议的帧缓冲区设计中,兼顾连接请求帧OAF的发送和接收、SSP帧的发送和接收、SMP帧的发送和接收以及多个SAS设备的交织通信等多个特性。本发明充分考虑SAS典型应用场景,旨在提高系统传输效率以及合理利用帧缓冲区存储空间,在SAS控制器的发送和接收方向采用非对称帧缓冲区设计结构。
图3描述了本发明的SAS控制器接收缓冲区结构,整个帧接收缓冲区被划分为多个固定大小的存储槽,每个存储槽包括的具体字段说明如下:
段S1为状态字,长度为1个DWORD,用于描述协议栈处理单元接收到SSP帧或SMP帧的状态信息,包括帧类型(SSP还是SMP)、错误类型、IU有效长度等;
段S2为设备描述字,1个DWORD,用于描述发送端设备连接请求OAF帧的相关信息,包括连接请求速率、协议类型、连接请求标记等;
段S3为帧头,24个DWORD,对于SSP协议,其存储SAS标准协议定义的SSP帧头信息;对于SMP协议,其作为保留字段而未使用;
段S4为数据,256个DWORD,用于存储SSP帧的IU信息,或SMP帧的完整内容信息;
段S5为帧尾标记位,缓冲区内每个DWORD对应1位。由于SSP帧的IU或SMP帧长度不固定,且帧内部未包括帧长度描述字段,帧尾标记位为“1”,指示当前SSP帧或SMP帧的结尾;
段S6为奇偶校验位,每个DWORD对应1位,用于存储帧缓冲区对应位置一个DWORD(bit 0~31)数据的奇偶校验结果,确保帧缓冲区数据的正确性;
段S7为分隔符,1个DWORD,被特殊编码以用于接收缓冲区内部帧存储槽位之间的隔离。
其中,段S1状态字结构的详细描述如图4,具体字段说明如下:
域F1为Frame Type即帧类型,长度为8比特,用于描述当前存储槽内帧的类型,根据SAS标准协议,具体定义如下:
01H:SSP Data帧;
05H:SSP XFER_RDY帧;
06H:SSP Command帧;
07H:SSP Response帧;
16H:SSP Task帧;
40H:SMP Request帧;
41H:SMP Response帧;
其他:无效帧;
域F2为Response Length Error,即SSP Response的帧长度错误;
域F3为Zero IU Error即IU信息零长度错误;
域F3为CRC Error,即SSP或SMP帧CRC(循环冗余校验)校验错误;
域F5为Frame Type Error即无效帧类型错误;
域F6为Short Error即帧长不足错误;
域F7为Long Error即帧长超长错误;
域F8为No EOF即帧结尾标记丢失错误;
域F9为XRDY Length Error即SSP XFER帧长度异常;
域F10为帧长度。
其中,段S2设备描述字结构的详细描述如图5,具体字段说明如下:
域F1为Protocol即协议类型,取值00h表示SMP协议;取值01h表示SSP协议;
域F2为Connection Rate即连接请求速率。根据SAS标准协议,具体定义如下:
08h:1.5Gbps
09h:3.0Gbps
0Ah:6.0Gbps
0Bh:12Gbps
其他:保留
域F3:Connection Tag即连接请求标记,用于存储拓扑内每个SAS设备所分配的唯一的连接标识。
图6描述了本发明的SAS控制器发送缓冲区结构,与接收缓冲区相同的是,整个帧发送缓冲区也被划分为多个固定大小的存储槽。通过将缓冲区划分为固定大小和格式的存储槽,简化了协议栈内核单元和DMA单元的处理逻辑,加速处理效率。对于发送缓冲区的单个存储槽,其进一步包括的具体字段说明如下:
段S1为控制描述符,长度为32个DWORD,用于描述当前缓冲区槽位内的帧类型、协议类型、目的SAS设备地址等信息。协议栈内核模块根据控制描述符生成OAF帧请求连接,以及生成SMP和SSP帧头信息;
段S2为数据,256个DWORD,用于存储SSP帧的IU信息,或SMP帧的完整内容;
段S3为奇偶校验位,每个DWORD对应1位,用于存储帧缓冲区对应位置一个DWORD(bit 0~31)数据的奇偶校验结果,确保帧缓冲区存储单元内数据的正确性;
段S4为帧尾标记位,每个DWORD对应1位,由于SSP帧的IU或SMP帧长度不固定,且帧内部未包括帧长度描述字段,帧尾标记位为“1”,指示当前SSP帧或SMP帧的结尾;
段S5为分隔符,1个DWORD,被特殊编码以用于接收缓冲区内部帧存储槽位之间的隔离。
其中,段S1控制描述符结构的详细描述如图7,具体字段说明如下:
域F1为Frame Type即帧类型,用于描述当前存储槽内帧的类型,具体类型与图4中帧类型的描述相同;
域F2为Destination SAS Address即目的设备SAS地址;
域F3为TLR Control即重传控制,仅对SSP协议有效,对于SMP协议则作为保留字段,未使用;
域F4为InitiatorPort Transfer Tag即源端口传输标记,协议栈内核生成标准SSP帧头时,根据此信息标识SAS控制器的一个I/O请求;对于SMP协议则作为保留字段未使用;
域F5为Target Port Transfer Tag即目标端口传输标记,协议栈内核生成标准SSP帧头时,根据此信息标识SAS设备端的一次传输请求;对于SMP协议则作为保留字段未使用;
域F6为Data Offset即IU数据偏移量,协议栈内核生成标准SSP帧头时,根据此信息生成Data Offset字段;对于SMP协议则作为保留字段未使用;
域F7为IU Length即数据段S2有效长度,用于描述SSP帧IU信息长度,或SMP帧总长度;
域F8为SGDMA Descriptor Address即链表DMA描述符地址,用于描述缓冲区当前槽位的数据段S2对应DMA描述符在主机系统的存储位置;
域F9为SGDMA Descriptor Remaining Length即链表DMA描述符数据起始地址偏移量;在物理链接状态改变或发生竞争的情况下,如果概率性地发生SSP Data帧发送失败的场景,则域F8和域F9标识当前发送失败帧在主机系统中的存储位置,提供主机系统错误处理和断点重传的根据;
域F10为Protocol即协议类型,其中00h表示SMP协议;01h表示SSP协议;
域F11为Connection Rate即连接请求速率,具体定义与上文参考图5描述的域F2相同;
域F12为Connection Tag即连接请求标记,SAS控制器为存储拓扑内每个SAS设备分配一个唯一的连接标识。
基于上述接收和发送帧缓冲区设计结构,根据本发明一个实施例,参见图8所描述,从SAS控制器接收SAS设备数据帧的角度,采用本发明的接收缓冲区设计结构之后,协议栈内核的示例处理流程如下。
步骤S1:协议栈链路层接收到SAS设备发送的连接请求帧OAF;
步骤S2:协议栈内核检查帧接收缓冲区是否有空闲槽位可以存储SAS帧。如果帧缓冲区内部有空闲槽位,则执行步骤S4;否则执行步骤S3;
步骤S3:链路层发送OPEN_REJECT(RETRY)原语,暂时拒绝SAS设备的连接请求;并进入步骤S8;
步骤S4:协议栈链路层回复OPEN_ACCEPT原语,建立SAS控制器和SAS设备之间的连接;并解析OAF帧内容,将上述协议类型Protocol、连接速率Connection Rate、连接请求标识Connection Tag信息写入帧缓冲区对应槽位的设备描述字,即分别写入图5的域F1、域F2、域F3;
步骤S5:协议栈内核接收SAS设备的SSP数据帧,传输层将SSP数据帧头24个DWORD写入帧缓冲区的帧头段;将帧IU信息写入数据段,并在IU信息的结束点设置帧尾标记位;同时进行奇偶校验计算,并设置帧缓冲区的奇偶校验位;
步骤S6:协议栈内核传输层检查SSP数据帧的完整性和正确性,将帧类型、IU长度、帧错误信息写入接收缓冲区的状态字;同时进行奇偶校验计算并设置帧缓冲区的奇偶校验位;
步骤S7:协议栈内核通知DMA接收单元,数据帧到达接收缓冲区;
步骤S8:协议栈内核完成一次接收事务。
根据本发明又一实施例,参见图9所描述,从SAS控制器发送数据帧的角度,采用本发明的发送缓冲区设计结构之后,协议栈内核的示例处理流程如下。
步骤S1:协议栈内核检测到发送缓冲区非空,即有等待发送的数据;
步骤S2:协议栈内核读取相应槽位的控制描述符,根据描述符信息中Protocol、Connection Rate、Connection Tag、Destination SAS Address以及SAS控制器自身的SASAddress生成OAF帧;
步骤S3:协议栈链路层发送OAF帧,请求SAS设备建立连接;
步骤S4:链路层收到SAS设备应答,如果建立连接成功,则进入步骤S5;否则,建立连接失败,则直接进入步骤S7;
步骤S5:协议栈传输层根据控制描述符信息中Frame Type、Initiator PortTransfer Tag、Target Port Transfer Tag、Data Offset、TLR Control以及SAS Address等信息生成SSP Data帧的帧头,向下传递至链路层;按照控制描述符信息中的IU Length读取帧缓冲区中的数据,作为SSP Data帧的IU信息向下传递至链路层,最终发送至SAS设备;
步骤S6:协议栈链路层发送SSP Data帧后,等待SAS设备返回握手信息。如果发送失败,则进入步骤S7;如果发送成功,则直接进入步骤S8;
步骤S7:SAS设备返回SSP Data帧接收失败,SAS控制器上报异常状态,返回控制描述符中的SG DMA Descriptor Address以及SG DMA Descriptor Data Offset等信息,帮助主机系统实施异常数据的回滚处理;
步骤S8:协议栈内核完成一次发送事务。
本领域技术人员可以理解,上述实施例中描述的帧缓冲区结构的名称仅为举例。本发明的核心构思不限于特定数据字段。本领域技术人员可以根据需要而定义任一种数据结构来实现帧缓冲区的功能。本发明的设计方法同样适用于SAS协议中定义的窄端口和宽端口、多磁盘和多I/O的场景。
可以看出,本发明提供了面向SAS标准协议的帧缓冲区结构设计方法,有效支持SMP和SSP两种协议类型下多磁盘、多I/O并发数据通信,支持SAS控制器高效管理多SAS磁盘设备。本发明通过在帧发送缓冲区中引入控制描述符字段,协助协议栈内核迅速生成OAF帧,提高SAS控制器和SAS设备建立连接的速率,在帧发送过程中出现异常的情况下,发送缓冲区控制描述符字段的链表DMA信息,能够帮助SAS控制器完成异常数据的快速回滚;帧接收缓冲区中的状态描述字,提供协议栈记录帧异常的可行性,使SAS控制器实现对链路中的各种异常的诊断。
尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解,其依然可以对前述各实施例所记载的技术方案进行修改,或对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种SAS控制器帧缓冲区结构设计方法,其特征在于,包括:
在所述帧缓冲区的发送和接收两个方向采用非对称结构设计;
将帧发送缓冲区和帧接收缓冲区划分为预定义大小和固定格式的存储槽;
在所述帧接收缓冲区的每个存储槽设置状态字、设备描述字、帧头、缓冲数据和分隔符字段;
在所述帧发送缓冲区的每个存储槽设置控制描述符、缓冲数据和分隔符字段;
当所述SAS控制器接收数据帧时,将解析到的OAF帧内容写入所述帧接收缓冲区的设备描述字字段,将帧异常信息写入所述状态字字段;
当所述SAS控制器发送数据帧时,读取所述帧发送缓冲区中相应存储槽的控制描述符字段,根据所述控制描述符字段生成OAF帧。
2.根据权利要求1所述的SAS控制器帧缓冲区结构设计方法,其特征在于,所述状态字用于描述协议栈处理单元所接收的帧的状态信息,并且进一步包括帧类型、帧长以及多个异常描述位。
3.根据权利要求2所述的SAS控制器帧缓冲区结构设计方法,其特征在于,所述帧类型包括SSP帧或SMP帧。
4.根据权利要求1所述的SAS控制器帧缓冲区结构设计方法,其特征在于:
所述设备描述字用于描述发送端所生成的连接请求OAF帧的相关信息,并且进一步包括连接速率、连接请求标识以及协议类型。
5.根据权利要求1所述的SAS控制器帧缓冲区结构设计方法,其特征在于,所述SAS控制器的协议栈内核模块根据所述控制描述符生成OAF帧以请求连接。
6.根据权利要求5所述的SAS控制器帧缓冲区结构设计方法,其特征在于,
其中所述控制描述符包含帧类型、目标设备SAS地址、源端口传输标记号、目标端口传输标记号、数据偏移量、链表DMA描述符地址、连接请求速率、协议类型和连接请求标识。
7.根据权利要求6所述的SAS控制器帧缓冲区结构设计方法,其特征在于,所述链表DMA描述符地址用于描述所述帧发送缓冲区当前存储槽的数据在主机系统的存储位置。
8.根据权利要求7所述的SAS控制器帧缓冲区结构设计方法,其特征在于,如果发生SSP帧发送异常,则所述主机系统根据所述链表DMA描述符地址所标识的存储位置进行异常处理。
9.根据权利要求1所述的SAS控制器帧缓冲区结构设计方法,其特征在于,在所述帧接收缓冲区和帧发送缓冲区的每个存储槽中进一步设置帧尾标记位,用于指示当前帧的结尾。
10.根据权利要求1所述的SAS控制器帧缓冲区结构设计方法,其特征在于,在所述帧接收缓冲区和帧发送缓冲区的每个存储槽中进一步设置奇偶校验位,用于存储帧缓冲区中对应位置的缓存数据的奇偶校验结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110241041.XA CN112836453B (zh) | 2021-03-04 | 2021-03-04 | Sas控制器帧缓冲区结构设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110241041.XA CN112836453B (zh) | 2021-03-04 | 2021-03-04 | Sas控制器帧缓冲区结构设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112836453A CN112836453A (zh) | 2021-05-25 |
CN112836453B true CN112836453B (zh) | 2022-02-08 |
Family
ID=75934553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110241041.XA Active CN112836453B (zh) | 2021-03-04 | 2021-03-04 | Sas控制器帧缓冲区结构设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112836453B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114296991B (zh) * | 2021-12-28 | 2023-01-31 | 无锡众星微系统技术有限公司 | 一种应用于Expander的CRC数据校验方法和校验电路 |
CN114422417B (zh) * | 2022-01-20 | 2022-12-23 | 无锡众星微系统技术有限公司 | 一种应用于SAS Expander的基于预取预路由的路由建链方法和装置 |
CN115794700A (zh) * | 2022-11-28 | 2023-03-14 | 无锡众星微系统技术有限公司 | 一种聚合管理访盘方法和装置 |
CN116360675B (zh) * | 2022-11-29 | 2023-10-24 | 无锡众星微系统技术有限公司 | 一种宽端口场景中的sas帧路由方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6031843A (en) * | 1996-11-21 | 2000-02-29 | Alcatel Data Networks Inc. | Digital communications switching fabric |
CN101175077A (zh) * | 2007-10-26 | 2008-05-07 | 华中科技大学 | 光纤通道知识产权核 |
CN101820417A (zh) * | 2010-03-05 | 2010-09-01 | 威胜集团有限公司 | 互操作性电表通讯协议的开发系统 |
-
2021
- 2021-03-04 CN CN202110241041.XA patent/CN112836453B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6031843A (en) * | 1996-11-21 | 2000-02-29 | Alcatel Data Networks Inc. | Digital communications switching fabric |
CN101175077A (zh) * | 2007-10-26 | 2008-05-07 | 华中科技大学 | 光纤通道知识产权核 |
CN101820417A (zh) * | 2010-03-05 | 2010-09-01 | 威胜集团有限公司 | 互操作性电表通讯协议的开发系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112836453A (zh) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112836453B (zh) | Sas控制器帧缓冲区结构设计方法 | |
US8068488B2 (en) | Packet format for a distributed system | |
US6683850B1 (en) | Method and apparatus for controlling the flow of data between servers | |
US6170025B1 (en) | Distributed computer system supporting remote interrupts and lock mechanism | |
JP6087158B2 (ja) | アビオニクス全二重交換イーサネットネットワーク | |
US6948031B2 (en) | Methods and apparatus for transferring a data element within a data storage system | |
US6910145B2 (en) | Data transmission across asynchronous clock domains | |
US20080072113A1 (en) | Method of locating packet for resend from retry buffer | |
JPH07325767A (ja) | 入出力通信サブシステム及び方法 | |
US6347097B1 (en) | Method and apparatus for buffering received data from a serial bus | |
US6694392B1 (en) | Transaction partitioning | |
US20100138573A1 (en) | System including transmitter and receiver | |
US20050089033A1 (en) | Method, system, and program for constructing a packet | |
CN101123485A (zh) | iSCSI报文处理方法和装置、错误恢复方法和装置 | |
KR20050083861A (ko) | 데이터 처리 시스템 | |
JP3996928B2 (ja) | 破損データを処理する方法 | |
US12360937B2 (en) | Compute express Link™ (CXL) over ethernet (COE) | |
JP4432388B2 (ja) | 入出力制御装置 | |
US9201599B2 (en) | System and method for transmitting data in storage controllers | |
US12117930B2 (en) | Computer architecture with disaggregated memory and high-bandwidth communication interconnects | |
US12367134B2 (en) | Computer architecture with disaggregated memory and high-bandwidth communication interconnects | |
US12099724B2 (en) | Computer architecture with disaggregated memory and high-bandwidth communication interconnects | |
US20240079081A1 (en) | Computer architecture with disaggregated memory and high-bandwidth communication interconnects | |
CN115658576B (zh) | PCIe和RapidIO复合任务包传递系统及方法 | |
CN111200594B (zh) | 接收数据的方法、装置、数据接收设备和存储介质 |
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 |