采用CRC用于芯片上存储器中数据完整性的方法和装置制造方法及图纸

技术编号:3533740 阅读:227 留言:0更新日期:2012-04-11 18:40
一种改进的通信信道系统和方法。通信信道系统包括具有双端口(116)的信道节点(1220),每一个端口支持一光纤信道仲裁环路通信信道(1250)。包括从光纤信道环路(1250)接收的循环冗余码(CRC)的帧被存储在芯片(110)上的一个缓冲器(119)中,并在从缓冲器(119)读取帧时经过完整性装置(596)检查以确保帧的完整性。在各种实施例中,带有CRC的数据帧被存储在数据帧缓冲器(55)中,并且/或者带有CRC的非数据帧被存储在非数据帧缓冲器(53或53’)中(*该技术在2018年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及大存储装置领域。本专利技术尤其涉及一种改进的采用光纤信道循环冗余检验信息以保持和/或检验芯片上存储器中的数据完整性的光纤—信道仲裁环路(“FC—AL”)装置和方法。
技术介绍
任何一种计算机系统的一个主要元件是存储数据的装置。计算机系统可以有许多种不同的可以存储数据的装置。在计算机系统中存储大量数据的一个公共地方是磁盘驱动器。磁盘驱动器的最基本的部件是旋转的磁盘,它是将传感器移动到各个区域的致动器;以及在磁盘上写和读数据的电路。磁盘驱动器还包括对数据进行编码从而能够成功地在磁盘表面上检索和写数据的电路。除了将数据送回请求的计算机以及从请求在磁盘上进行存储的计算机获取数据以外,微处理器控制着磁盘驱动器的大多数操作。用来在磁盘驱动器和其余的计算机系统部分之间传送数据的接口通常是一个总线或信道,如“小型计算机系统接口”(简称为“SCSI”),或光纤信道。这些接口的某些方面通常是标准化的,使得从不同厂家得到的各种装置是可以互换的,并且它们都可以与一个公共接口相连。这些标准通常由一个组织的某一标准委员会如美国国家标准协会(American National StandardsInstitute,简称“ANSI”)来规定。在各个存储装置和各个计算机之间交换数据的一种标准化接口是光纤信道。在某些实施例中,光纤信道标准包括仲裁环路(将在后文中描述)。在某些实施例中,光纤信道标准支持控制数据传送的类似于SCSI的协议。光纤信道与小型计算机标准接口(“SCSI”)设计相比,具有显著的优点。与传统的SCSI设计的每秒2至20兆字节相比,光纤信道具有明显高得多的带宽,目前可以达到每秒约106个兆字节。与典型SCSI环境中最大7个或15个装置相比,光纤信道具有更大的连接性,可以连接多达126个装置(包括主机)。光纤信道上可以附上一个连接器,并且无需交换机(switch)。与SCSI环境下最大总长度达25米的情况相比,采用同轴导体的光纤信道可以在装置间达30米的距离下工作,而对于整个信道,采用光纤可以达10公里。在SCSI环境下,数据传输中的误差是通过一致校验(parity)来检测的,而在光纤信道中,误差是通过运行不均等性和循环冗余码检验(“CRC检验”)信息来标识的。更详细的情况可参见标头为“在多端口设计中采用CRC发生器的CRC检验(CRC Checking Using a CRC Generator in a Multi—port Design)”的美国专利5,802,080,以及标头为“16B/20B编码器(16B/20B Encoder)”的美国专利5,663,724,这两项专利的专利技术人与本专利技术的专利技术人相同,均为Westby,都已转让给本受让人Seagate Technology,Inc.。光纤信道仲裁环路(“FC—AL”)是一个工业标准系统,它采用按字节DC平衡(0,4)的、运行长度有限的8B/10B的分块传输码方案。FC—AL在106.25MHz的时钟频率下工作。一种形式的8B/10B编码器/译码器见专利技术人为Franaszek等人、授权日为1984年12月4日、标头为“按字节DC平衡的(0,4)8B/10B的分块传输码(Byte Oriented DC Balanced(0,4)8B/10B Partitioned BlockTransmission Code)”的美国专利4,486,739。光纤信道仲裁环路(“FC—AL”)使得可以将多个装置连接起来。每一个装置称为一个“节点”。一个节点可以是计算机系统的任意一种装置(计算机、工作站、打印机、磁盘驱动器、扫描机等),它们具有可以与光纤信道“拓扑结构”(其定义见下文)相连的接口。每一个节点至少具有一个端口,称为一个NL端口(“节点—环路端口”),用以与其他节点连接。将两个或更多个端口连接起来的元件统称为一个“拓扑结构”或一个“环路”。每一个节点与所给出的拓扑结构或环路中的所有其他节点进行通信。端口是以光纤信道节点形式出现的连接点,当然,数据也可以通过光纤信道传送到其他节点的端口(外部世界)。典型的光纤信道驱动器有两个端口封装在驱动器的节点内。每一个端口包括一对“光纤”—一根光纤将信息送入端口,而另一根光纤将信息从端口中送出。每一根“光纤”是一个串行数据连接,并且在一种实施例中,每一根光纤实际上是一根同轴导线(例如,当节点相互靠近时所采用的同轴铜导线);在另一种实施例中,光纤至少相距一定距离(例如,当节点相隔相当的距离的时候,如不同房间尤其是不同建筑物内的节点)。与每一端口相连的光纤对(一根将数据送入端口,另一根将数据从端口送出)称为“链路”,是每一拓扑结构的一部分。链路携带有节点之间的封装在“帧”中的信息或信号。每一链路跨越处理多种类型的帧(例如,初始化、数据和控制帧)。由于每一根光纤仅沿一个方向传送数据,所以节点沿一个环路相互连接起来。其中,当节点具有要传送的数据时,必须仲裁环路控制。“仲裁”是一个协调决定以判断哪一个节点具有环路控制的过程。光纤信道仲裁环路在没有集线器(hub)或交换机(switch)的环路中附上多个节点。节点端口采用仲裁操作建立起点对点数据传输电路。FC—AL是一个分布式拓扑结构,其中的每一个端口至少包括用以建立电路所必须的最小值。仲裁环路拓扑结构用来将两个至126个节点端口之间的任意数量的节点连接起来。在某些实施例中,每一节点包括双端口(每一个端口都与一个单独的环路相连),从而具有冗余性,使得当一个环路出故障时,另一根环路能够肩负起环路的责任。双端口还使得两个主机(例如两个主计算机)能够共享一个驱动器。在典型的第一、第二代FC—AL驱动器中,两个端口共享帧确认和帧产生逻辑。这就是说,如果一个端口正接收或发送一个帧,另一个帧为忙(因为它不能同时使用帧确认和帧产生逻辑),并且该另一个端口就被迫使拒绝其主总线适配器发送帧的许可。某些主总线适配器会必须连续地进行仲裁,并不断地发送帧,直到第一端口关闭为止。并且,驱动器一次只能在一个端口上进行发射。在某些情况下,必须暂停在一个给定端口上的出站数据传送,以便在另一个(交替)端口上发送应答或进行环路初始化。CRC背景大多数数据传输采用误差检验,根据传输的标头和有效载荷数据,检验差错码,以验证接收的标头和有效载荷数据的完整性。一种这样的检错方案采用循环冗余码(“CRC”)信息。采用CRC检错的典型电路将包括检验接收的数据字的完整性的CRC检测器,和产生用于传送的数字字的CRC信息的CRC发生器。在多端口设计中,CRC检测器和CRC发生器必须对每一端口可用,用以处理每一接收的数字字的确认,以及产生传送的每一数字字的CRC信息。在许多应用中,电路或环路接口模块一次仅在一个端口上进行发送。例如,通过多端口模块与计算机网进行通信的磁盘驱动器子系统在任一给定的时间内,仅通过一个端口,进行准备和发送数据。然而,在一给定的时间内,环路—接口模块会尝试通过多个端口接收数据。通过多个端口接收数据的方法单单是为了在一个端口已经在接收数据时禁止通过其他的端口接收数据。这种方法使得在几个端口之间能够共享公共资源,如CRC检测器或帧一确认逻辑。接收数据的第一个端口独占公共资源而不让其他端口占用,并且禁止其他的本文档来自技高网...

【技术保护点】
一种采用光纤信道循环冗余码(CRC)用于片内存储器中的数据完整性的通信信道系统,其特征在于,它包含: 具有第一端口和第二端口的第一信道节点,每一端口支持光纤信道仲裁环路通信信道,每一通信信道包括在通信信道上进行数据传输中的循环冗余码; 位于第一信道节点内的芯片上的专用单片帧缓冲器,用来从所述信道接收帧和与所接收帧相关的CRC;以及 采用所接收的相关CRC用于对片内帧存储器中的接收帧的数据完整性进行检验的完整性装置。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:JL韦斯特比
申请(专利权)人:西加特技术有限责任公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利