CN105897689B - 嵌入式系统及其方法 - Google Patents
嵌入式系统及其方法 Download PDFInfo
- Publication number
- CN105897689B CN105897689B CN201610090018.4A CN201610090018A CN105897689B CN 105897689 B CN105897689 B CN 105897689B CN 201610090018 A CN201610090018 A CN 201610090018A CN 105897689 B CN105897689 B CN 105897689B
- Authority
- CN
- China
- Prior art keywords
- segment
- tcp
- packet
- header
- service
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/166—IP fragmentation; TCP segmentation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Detection And Correction Of Errors (AREA)
- Communication Control (AREA)
Abstract
一种嵌入式系统可以包括嵌入式器件和主机设备。嵌入式器件可以提供用于服务的封包,以及产生包括封包的段和不具有校验和值的第一标头的第一传输控制协议(TCP)分段。主机设备可以接收第一TCP分段,基于封包的段和第一标头来产生包括封包的段和具有校验和值的第二标头的第二TCP分段,以及基于第二TCP分段来产生互联网协议(IP)封包。
Description
相关申请的交叉引用
本申请要求2015年2月17日提交的美国临时申请第62/117,200号的优先权以及2016年2月16日提交的美国非临时申请第15/044,997号的优先权,其全部内容通过引用合并于此。
技术领域
本公开的示例性实施例涉及嵌入式系统和用于操作嵌入式系统的方法。
背景技术
一般而言,嵌入式系统包括嵌入式器件和主机设备。近来,对于嵌入式器件,使用诸如固态驱动器(SDD)的存储器件。
发明内容
本公开的实施例针对包括嵌入式器件和主机设备的嵌入式系统及其方法。
本发明的方面包括一种包括有嵌入式器件和主机设备的系统。嵌入式器件可以提供用于服务的封包(packet),以及产生包括封包的段(piece)和不具有校验和值(checksumvalue)的第一标头(header)的第一传输控制协议(TCP)分段(segment)。主机设备可以接收第一TCP分段,基于该封包的段和第一标头来产生包括封包的段和具有校验和值的第二标头的第二TCP分段,以及基于第二TCP分段来产生互联网协议(IP)封包。
本发明的又一方面包括用于操作具有嵌入式器件和主机设备的嵌入式系统的方法。该方法可以包括:通过嵌入式器件提供用于服务的封包;通过嵌入式器件产生包括封包的段和不具有校验和值的第一标头的第一传输控制协议(TCP)分段;通过主机设备接收第一TCP分段;基于封包的段和第一标头而通过主机设备来产生包括封包的段和具有校验和值的第二标头的第二TCP分段;基于第二TCP分段而通过主机设备来产生互联网协议(IP)封包。
本发明的更进一步方面包括用于嵌入式系统的嵌入式器件。该嵌入式器件可以包括:至少一个服务供给器,适用于提供用于服务的封包;处理单元,适用于产生包括封包的段和不具有校验和值的标头的传输控制协议(TCP)分段;以及接口单元,适用于将TCP分段传送到主机设备。
本发明的附加方面包括用于嵌入式系统的主机设备。该主机设备可以包括:接口单元,适用于从嵌入式器件接收包括用于服务的封包的段和不具有校验和值的第一标头的第一传输控制协议(TCP)分段;第一处理单元,适用于基于封包的段和第一标头来计算校验和值并且产生包括封包的段和具有校验和值的第二标头的第二TCP分段;第二处理单元,适用于执行互联网协议(IP)路由并且基于第二TCP分段来产生互联网协议(IP)封包;以及第三处理单元,适用于基于IP封包来产生传输帧并且将传输帧传送到网络。
附图说明
图1是嵌入式系统的框图。
图2是嵌入式器件的控制器的框图。
图3是图示根据本公开的实施例的包括嵌入式器件和主机设备的嵌入式系统的框图。
图4是图示根据本公开的实施例的嵌入式系统的TCP/IP模型的示图。
图5是图示根据本公开的实施例的产生TCP分段的操作的示图。
图6A和图6B是图示根据本公开的实施例的产生TCP分段标头的操作的示图。
具体实施方式
以下将参考附图更详细地描述各个实施例。然而,本发明可以具体化为不同的形式并且不应该理解为受限于本文所阐述的实施例。更确切地说,提供这些实施例使得本公开将是彻底和完整的,并且将向本领域技术人员充分地传达本发明的范围。贯穿本公开,相同的附图标记在本发明的各个图和实施例各处指代相同的部分。
本发明可以以许多方式来实施,包括作为处理;设备;系统;组合物;在计算机可读储存介质上实施的计算机程序产品;和/或处理器(诸如适用于执行储存在耦接至处理器的存储器上和/或通过耦接至处理器的存储器所提供的指令的处理器)。在本说明书中,这些实施例或者本发明可以采用的任何其它形式可以被称为技术。一般而言,所公开的处理的步骤的顺序可以在本发明的范围内改变。除非另有说明,被描述为适用于执行任务的诸如处理器或者存储器的组件可以被实施为在给定时间暂时适用于执行该任务的普通组件或者被制造来执行该任务的特定组件。作为在本文中所使用的,术语“处理器”是指一个或更多个器件、电路和/或适用于处理数据(诸如计算机程序指令)的处理核。
以下提供与示出了本发明的原理的附图一起的本发明的一个或多个实施例的详细描述。尽管连同这种实施例来描述本发明,但是本发明不限于任何实施例。本发明的范围仅仅由权利要求限制并且本发明包括许多的替换例、变型以及等同例。在以下详细说明中,阐述了许多的具体的细节以便提供本发明的彻底的理解。这个细节是为了示例而被提供并且本发明可以在没有这些具体细节中的一些或者全部的情况下根据权利要求来实践。为了清楚的目的,没有详细地描述与本发明有关的技术领域所熟知的技术材料以便本发明不被不必要地模糊。
在本文中将描述本发明的各种实施例,其提供使用常规、行业标准连接的能力以通过接口来管理嵌入式器件或者换句话说与嵌入式器件通信。这些实施例允许嵌入式器件使用这种常规、到处存在的基本结构以用于管理和监测。这些实施例在如图1所示的嵌入式系统的嵌入式器件上启用服务,并且通过互联网以行业标准方式来使用该服务。
图1图示显示嵌入式系统(或者数据处理系统)10的示图。
参考图1,嵌入式系统10可以包括嵌入式器件100和主机设备200。
主机设备200可以利用各种类型的电子设备中的任何一个来实施。在一些实施例中,主机设备200可以包括诸如台式计算机、工作站、三维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图像记录器、数字图像播放器、数字视频记录器以及数字视频播放器的电子设备。在一些实施例中,主机设备200可以包括诸如移动电话、智能电话、电子书、MP3播放器、便携式多媒体播放器(PMP)以及便携式游戏播放器的便携式电子设备。
嵌入式器件100可以响应于来自主机设备200的请求而操作,并且具体地,存储要由主机设备200访问的数据。在一些实施例中,嵌入式器件100可以利用诸如固态驱动器(SSD)的储存设备来实施。在一些实施例中,嵌入式器件100可以利用诸如多媒体卡(MMC)、嵌入式MMC(eMMC)、缩小尺寸MMC(RS-MMC)以及微型MMC、安全数字(SD)卡、迷你SD以及微型SD、通用串行总线(USB)储存设备、通用快闪储存(UFS)设备、紧凑型快闪(CF)卡、智能媒体(SM)卡和记忆棒等的各种类型的储存设备中的任意一种来实施。
嵌入式器件100可以包括存储要由主机设备200访问的数据的存储单元110和控制存储单元110中数据的储存的控制器120。
用于嵌入式器件100的存储单元110可以利用诸如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)的易失性存储器件或者诸如只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电随机存取存储器(FRAM)、相变RAM(PRAM)、磁阻式RAM(MRAM)以及电阻式RAM(RRAM)的非易失性存储器件来实施。
嵌入式器件100的控制器120可以响应于来自主机设备200的请求来控制存储单元110。控制器120可以将从存储单元110读取的数据提供至主机设备200,以及将从主机设备200提供的数据储存到存储单元110中。
在一些实施例中,嵌入式器件100可以配置配置有数据中心的储存器、能够在无线环境下发送与接收信息的设备、配置家庭网络的各种电子设备中的一种、配置计算机网络的各种电子设备中的一种、配置远程信息处理网络的各种电子设备中的一种、RFID设备或者配置计算系统的各种组成元件中的一种。
图2是图1中所示出的嵌入式器件100的控制器120的框图。
参考图2,控制器120可以包括接口210、处理器220、错误校正码(ECC)单元230、电源管理单元(PMU)240、接口245以及存储器260。
接口210可以提供在控制器120和存储单元110之间的接口以允许控制器120响应于来自主机设备200的请求来控制存储单元110。接口210可以产生用于存储单元110的控制信号并且在处理器220的控制下处理数据。当存储单元110是诸如NAND快闪存储器的快闪存储器时,接口210可以产生用于NAND快闪存储器110的控制信号并且在处理器220的控制下处理数据。
处理器220可以控制嵌入式器件100的常规操作,以及响应于来自主机设备200的写入请求或者读取请求来控制用于存储单元110的写入操作或者读取操作。处理器220可以驱动被称为快闪转换层(FTL)的固件以控制嵌入式器件100的常规操作。处理器220可以利用微处理器或者中央处理器(CPU)来实施。
ECC单元230可以在读取操作期间检测并且校正从存储单元110读取的数据中的错误。ECC单元230在错误位的数目大于或等于可校错误位的阈值数时不能校正错误位,并且可以输出指示校正错误位失败的错误校正失败信号。
ECC单元230可以基于诸如低密度奇偶校验(LDPC)码、博斯-乔赫里-霍克文黑姆(BCH,Bose-Chaudhuri-Hocquenghem)码、涡轮码(turbo code)、里德-所罗门(RS,Reed-Solomon)码、卷积码、递归系统码(RSC)、格形编码调制(TCM)和块码调制(BCM)等的编码调制来执行错误校正操作。ECC单元230可以包括用于错误校正操作的所有电路、系统或者设备。
PMU 240可以提供和管理用于控制器120的电源,即,用于包括在控制器120内的组成元件的电源。
接口245可以处理从主机设备200提供的命令和数据,并且可以通过各种接口协议中的任意一种来与主机设备200通信。在一些实施例中,接口245可以通过串行连接在嵌入式器件100和主机设备200之间提供接口。例如,接口245可以根据自动化/驱动接口传输(ADT)协议来提供接口。
存储器260可以用作嵌入式器件100和控制器120的工作存储器,并且储存用于驱动嵌入式器件100和控制器120的数据。控制器120可以响应于来自主机设备200的请求来控制存储单元110。例如,控制器120可以将从存储单元110读取的数据提供至主机设备200并且将从主机设备200提供的数据储存在存储单元110中。在控制器120控制存储单元110的操作时,存储器260可以储存由控制器120和存储单元110所使用的数据以用于诸如读取操作、写入操作、编程操作以及擦除操作的操作。
存储器260可以利用易失性存储器来实施。存储器260可以利用静态随机存取存储器(SRAM)或者动态随机存取存储器(DRAM)来实施。如上所述,存储器260可以储存由主机设备200和存储单元110所使用的数据以用于读取操作和写入操作。为了储存数据,存储器260可以包括程序存储器、数据存储器、写入缓冲器、读取缓冲器和映射缓冲器等。
图3是图示根据本公开的实施例的包括嵌入式器件150和主机设备250的嵌入式系统20的框图。在本发明的示例中,嵌入式系统20、嵌入式器件150以及主机设备250可以在结构和功能上分别与如参考图1和图2所描述的嵌入式系统10、嵌入式器件100以及主机设备200类似。
参考图3,嵌入式系统20可以提供使用常规、行业标准连接的能力以通过串行互联来管理嵌入式器件150或者换句话说与嵌入式器件150通信。这种技术可以允许嵌入式器件150使用这种常规、到处存在的基本结构以用于管理和监测。
嵌入式系统20可以在诸如固态驱动器(SSD)上启用服务并且通过互联网以行业标准方式使用该服务。嵌入式器件150可以通过串行互联连接到主机设备250。一个或更多个服务供给者311-312可以位于嵌入式器件150上。在嵌入式器件可见的情况下,由嵌入式器件150提供的服务的客户端可以位于网络(即,互联网)上的任何地方。在一些实施例中,如图3所示,客户端440可以位于主机设备250中。可选地,客户端440可以位于通过主机设备250连接的互联网(未示出)上。
嵌入式器件150可以包括多个服务提供者(例如,两个服务提供器)311-312、处理单元320以及接口单元330。
服务提供器311-312中的每个可以提供用于服务的分段。用于诸如SSD的嵌入式器件150的服务的示例可以包括负载分布服务、驱动器健康监测器、容量使用监测器、坏块计数分布、寿命终止预警服务、驱动器配置服务或者任何类型的智能计数器采集服务。
接口单元330可以耦接到处理单元320,并且可以将由处理单元320产生的传输控制协议(TCP)分段传送到主机设备250。接口单元330可以是在嵌入式器件150和主机设备250之间的用于串行互联的串行接口。在一些实施例中,接口单元330可以利用基于自动化/驱动接口传输(ADT)协议的串行接口来实施。
处理单元320可以向任何服务提供器311-312给出行业标准传输控制协议(TCP)接口。为了输出TCP封包,处理单元320除了使用ADT层而非其将通常使用的互联网协议(IP)层之外,该处理单元320可以起典型TCP栈(stack)的作用。换句话说,处理单元320可以起改进的TCP栈的作用。详细地,处理单元320可以产生与用于服务的封包相对应的TCP分段。在一些实施例中,该封包可以被划分为若干段,并且TCP分段可以包括封包的段和不具有校验和值(checksum value)的标头。
主机设备250可以包括接口单元410、第一处理单元420、第二处理单元430以及第三处理单元461和第四处理单元462中的至少一个。此外,主机设备250可以包括客户端440和主机TCP栈450。
接口单元410可以接收由嵌入式器件150的处理单元320所产生的TCP分段。接口单元410可以是用于在嵌入式器件150和主机设备250之间的串行互联的串行接口。在一些实施例中,接口单元410可以利用基于自动化/驱动接口传输(ADT)协议的串行接口来实施。
第一处理单元420可以执行用于通过接口单元410从嵌入式器件150接收到的TCP分段的TCP校验求和操作以基于TCP分段来计算校验和值,并且产生包括具有校验和值的标头的新TCP分段。换句话说,第一处理单元420可以起改进的TCP校验的作用。此外,第一处理单元420可以将新TCP分段连接到第二处理单元430以用于IP路由。
第二处理单元430可以对由第一处理单元420产生的TCP分段执行IP路由。由于嵌入式器件150与互联网上的具有其自身IP地址和自身服务组的任何主机类似,因此第二处理单元430可以执行IP路由。如果客户端位于作为客户端440的主机设备250中,则第二处理单元430可以通过主机TCP栈处理单元450来对客户端440执行IP路由。如果客户端通过主机设备250而位于互联网上,则第二处理单元430可以对第三处理单元461和第四处理单元462执行IP路由。
第三处理单元461和第四处理单元462中的每个可以从第二处理单元430接收由第一处理单元420产生的TCP分段,并且基于由第一处理单元420产生的TCP分段来产生互联网协议(IP)封包。此外,第三处理单元461和第四处理单元462中的每个可以基于IP封包来产生传输帧,并且将该传输帧传送到网络(即,以太网)。
如图3所示,作为行业标准ADT传输层的接口单元330和410可以在串行链路的任何一侧上实施。这个传输层在用于针对串行的小型计算机系统接口(SCSI)的委员会T10文件中被描述。传输层实现链路像两侧能够处理那样快地运行的方案并且保证数据的无损耗传输。
作为改进TCP栈的处理单元320可以存在于嵌入式器件150上,并且向存在于嵌入式器件150中的任何服务提供器311-312给出行业标准TCP接口。为了输出TCP封包,处理单元320除了使用ADT层而非IP层之外,处理单元320起典型TCP栈的作用。处理单元320不执行TCP校验求和以保证封包的无损耗传输,这缓解了这个计算密集工作的嵌入式器件150。此外,处理单元320也不对进入的封包执行TCP校验和测试。这也缓解了这个计算密集工作的嵌入式器件150。反而,对作为在串行链路的主机设备250上给出的改进TCP校验组件的处理单元420进行所有TCP校验求和。因此主机设备250(通常具有比嵌入式器件150多得多的计算能力)对TCP校验求和负责。作为改进TCP校验组件的处理单元420也对连接到用于主机设备250的IP路由的处理单元430负责。这意味着可以使用按照行业标准方式的IP路由。嵌入式器件150可以看起来像在互联网上的具有其自身IP地址和自身服务组的任何主机。
尽管嵌入式器件150的改进TCP栈不执行TCP校验求和或者TCP校验和测试,但是作为ADT层的接口单元330和410可以保证无错误的传输。接口单元330和410可以处理和校正在链路上产生的位错误。实质上,由于这是不存在典型TCP假设的可靠的IP层,因此在嵌入式器件150上的改进TCP栈320的轻便特性。
嵌入式系统具有与其它系统相比更少的输入/输出(I/O)连接和处理资源。本发明的实施例可以包括在嵌入式器件150和主机设备250之间的串行连接,所述主机设备250使用比诸如TCP/IP或者用户数据报协议/互联网协议(UDP/IP)更少的I/O连接,但是仍然提供对嵌入式系统20的高带宽访问。此外,嵌入式器件150不执行TCP校验和产生或者TCP校验和校验,这降低在嵌入式器件150的资源限制上的处理负荷。因此,本发明的实施例可以提供管理在嵌入式系统上运行的服务的有利处理,该嵌入式系统在嵌入式系统的I/O限制和处理限制的约束内工作。
由于可以保证嵌入式器件150为不可能通过嵌入式器件150转发IP封包的端点,因此在嵌入式器件150上不需要封包路由表或者任何类型的IP路由。这也节省相当大的计算资源。
在一些实施例中,为了获取由报告服务或者监控服务所使用的适当信息,命令经由主机接口被发送到嵌入式器件150(例如,SSD)以采集一组行业标准统计数字(例如,智能计数器)。在本文中的实施例可以通过串行接口(例如,与主机接口相对)来使嵌入式器件150在互联网上可见。然后嵌入式器件150可以是似乎像任何人期待发现的任何其它服务主服务。被写入诸如Java的任何互联网语言的特定客户端能够连接到嵌入式器件150的这些驱动器并且通过数据中心中的正常局域网(LAN)来管理它们。
在一些实施例中,嵌入式系统可以包括高速通用异步接收器/发射器发射器((UART)。在一些实施例中,TCP授时服务可以用来在主机设备250(例如,数据中心)与嵌入式器件150(例如,SSD)之间使时间同步。这将例如对该设备来说很有价值以帮助判断停机时间和寿命。
图4是示出了根据本公开的实施例的嵌入式系统的TCP/IP模型的示图。TCP/IP模型可以由图3中的嵌入式器件150和主机设备250和/或由图1和图2中的嵌入式器件100和主机设备200来执行。
参考图4,TCP/IP模型可以包括应用层401、传输层402、互联网层403以及网络接口层404。应用层401可以由嵌入式器件150执行或者实施。传输层402可以由嵌入式器件150和主机设备250执行或者实施。互联网层403和网络接口层404可以由主机设备250执行或者实施。
在步骤470处,嵌入式器件150的服务提供器311-312中的每个可以提供用于服务的封包。用于诸如SSD的嵌入式器件150的服务的示例可以包括负载分布服务、驱动器健康监测器、容量使用监测器、坏块计数分布、寿命终止预警服务、驱动器配置服务或者任何类型的智能计数器采集服务。
在步骤475处,嵌入式器件150的处理单元320可以起改进TCP栈的作用。详细地,处理单元320可以产生与用于服务的封包相对应的TCP分段。在一些实施例中,该封包可以被划分为段,并且TCP分段可以包括封包的段和不具有校验和值的标头。
在步骤480处,嵌入式器件150的接口单元330可以将由处理单元320产生的传输控制协议(TCP)分段传送到主机设备250。
在步骤485处,主机设备250的第一处理单元420可以对通过接口单元410从嵌入式器件150接收到的TCP分段执行TCP校验求和操作以基于该TCP分段计算校验和值,并且产生包括具有校验和值的标头的新TCP分段。
在步骤490处,主机设备250的第二处理单元430可以对由第一处理单元420产生的TCP分段执行IP路由。此外,第三处理单元461和第四处理单元462中的每个可以从第二处理单元430接收由第一处理单元420所产生的TCP分段,并且基于由第一处理单元420所产生的TCP分段来产生互联网协议(IP)封包。
在步骤495处,主机设备250的第三处理单元461和第四处理单元462中的每个可以基于该IP封包来产生传输帧,并且将该传输帧传送到网络(例如,以太网)。
图5是图示根据本公开的实施例的产生TCP分段的操作的示图。例如,产生TCP分段的操作可以由嵌入式器件150的处理单元320执行。
参考图5,处理单元(例如,处理单元320)可以从服务提供器(例如,服务提供器311-312)接收用于服务的封包或者应用层数据510。处理单元可以产生与用于服务的应用层数据510相对应的TCP分段。在一些实施例中,应用层数据510可以被划分为若干段(段1-段3)520,并且TCP分段530中的每个可以包括数据534的段和不具有校验和值的标头532。例如,TCP分段1可以包括段Piece1和标头Header 1,TCP分段2可以包括段Piece 2和标头Header 2,以及TCP分段3可以包括段Piece 3和标头Header3。
图6A和图6B是图示根据本公开的实施例的传输控制协议(TCP)分段标头的结构的示图。例如,图6A的TCP分段标头532A可以由嵌入式器件150的处理单元320产生,并且图6B的TCP分段标头532B可以由主机设备250的处理单元420产生。由于TCP标头的字段是众所周知的,因此将省略关于TCP标头的字段的详细描述。
参考图6A,TCP分段可以包括不具有校验和值的标头532A和数据534。TCP分段标头532A可以包括源端口数、目标端口数、序列号、确认号、长度、标记、窗口尺寸、紧急指针、保留字段和选择字段。
参考图6B,TCP分段可以包括具有非校验和值标头532B和数据534。TCP分段标头532B可以包括源端口数、目标端口数、序列号、确认号、长度、标记、窗口尺寸、TCP校验和值600、紧急指针、保留字段和选择字段。与TCP分段标头532A相反,TCP分段标头532B还包括TCP校验和值600。
利用在适当位置的这种系统,其可以充分利用行业标准互联网安全协议、用于多个服务的多个端口以及潜在地限定一整套新产品来在数据中心中管理我们的硬件。
尽管为了理解清楚已经相当详细地描述前述实施例,但是本发明不限于所提供的细节。存在实施本发明的许多可选择的方法。所公开的实施例是说明性的而非限制性的。
Claims (20)
1.一种系统,包括:
嵌入式器件,被配置为响应于来自主机设备的请求而提供用于服务的封包,产生包括不具有校验和值的封包的段和不具有校验和值的第一标头的第一传输控制协议TCP分段,以及经由互联来传送包括所述封包的段和所述第一标头两者一起的所述第一传输控制协议TCP分段,其中,所述嵌入式器件不针对所述封包的段或所述第一标头计算任何TCP校验和,并且被传送的所述第一传输控制协议TCP分段不包含校验和信息;
所述互联,其耦接在所述嵌入式器件与所述主机设备之间;以及
所述主机设备,被配置为从所述嵌入式器件经由所述互联来接收第一传输控制协议TCP分段,所述主机设备包括一个或多个处理器,所述一个或多个处理器被配置为基于所述封包的段和所述第一标头来产生包括所述封包的段和具有校验和值的第二标头的第二传输控制协议TCP分段,执行互联网协议IP路由,以及基于所述第二传输控制协议TCP分段来产生互联网协议IP封包。
2.如权利要求1所述的系统,其中,所述一个或多个处理器中的至少一个还被配置为基于所述互联网协议IP封包来产生传输帧,以及将传输帧传送到网络。
3.如权利要求1所述的系统,其中,所述嵌入式器件通过包括串行互联的所述互联而耦接到主机设备。
4.如权利要求3所述的系统,其中,所述串行互联包括基于自动化/驱动接口传输ADT协议的串行接口。
5.如权利要求1所述的系统,其中,所述嵌入式器件包括固态驱动器SSD。
6.如权利要求5所述的系统,其中,所述服务包括负载分布服务、驱动器健康监测器、容量使用监测器、坏块计数分布、寿命终止预警服务、或驱动器配置服务中的至少一种智能计数器采集服务。
7.一种用于操作嵌入式系统的方法,所述嵌入式系统包括嵌入式器件、主机设备和耦接在嵌入式器件与主机设备之间的互联,所述方法包括:
响应于来自主机设备的请求,通过嵌入式器件提供用于服务的封包;
通过嵌入式器件产生第一传输控制协议TCP分段,该第一传输控制协议TCP分段包括不具有校验和值的封包的段和不具有校验和值的第一标头,其中,所述嵌入式器件不针对所述封包的段或所述第一标头计算任何TCP校验和;
通过嵌入式器件经由所述互联来传送包括所述封包的段和所述第一标头两者一起的所述第一传输控制协议TCP分段,其中,被传送的所述第一传输控制协议TCP分段不包含校验和信息;
通过主机设备的一个或多个处理器从嵌入式器件经由所述互联来接收第一传输控制协议TCP分段;
基于所述封包的段和所述第一标头而通过主机设备来产生包括所述封包的段和具有校验和值的第二标头的第二传输控制协议TCP分段;
通过主机设备的所述一个或多个处理器中的至少一个来执行互联网协议IP路由;以及
基于第二传输控制协议TCP分段而通过主机设备的所述一个或多个处理器中的至少一个来产生互联网协议IP封包。
8.如权利要求7所述的方法,还包括:
基于所述互联网协议IP封包而通过主机设备的所述一个或多个处理器中的至少一个来产生传输帧;以及
通过主机设备的所述一个或多个处理器中的至少一个将传输帧传送到网络。
9.如权利要求7所述的方法,其中,所述嵌入式器件通过包括串行互联的所述互联而耦接到主机设备。
10.如权利要求9所述的方法,其中,所述串行互联包括基于自动化/驱动接口传输ADT协议的串行接口。
11.如权利要求7所述的方法,其中,所述嵌入式器件包括固态驱动器SSD。
12.如权利要求11所述的方法,其中,所述服务包括负载分布服务、驱动器健康监测器、容量使用监测器、坏块计数分布、寿命终止预警服务、或驱动器配置服务中的至少一种智能计数器采集服务。
13.一种经由互联而耦接到主机设备的嵌入式器件,包括:
至少一个服务提供器,被配置为响应于来自主机设备的请求而提供用于服务的封包;
处理单元,被配置为产生包括不具有校验和值的封包的段和不具有校验和值的标头的传输控制协议TCP分段,其中,所述处理单元不针对所述封包的段或所述标头计算任何TCP校验和;以及
接口单元,被配置为将包括所述封包的段和所述标头两者一起的所述传输控制协议TCP分段传送到主机设备,其中,被传送的所述传输控制协议TCP分段不包含校验和信息。
14.如权利要求13所述的器件,其中,所述接口单元包括基于自动化/驱动接口传输ADT协议的串行接口。
15.如权利要求13所述的器件,其中,所述嵌入式器件包括固态驱动器SSD。
16.如权利要求15所述的器件,其中,所述服务提供器被配置为提供用于服务的封包,所述服务包括负载分布服务、驱动器健康监测器、容量使用监测器、坏块计数分布、寿命终止预警服务、或驱动器配置服务中的至少一种智能计数器采集服务。
17.一种耦接到网络并经由互联而耦接到嵌入式器件的主机设备,包括:
接口单元,被配置为经由所述互联从所述嵌入式器件接收第一传输控制协议TCP分段,该第一传输控制协议TCP分段包括用于响应于来自主机设备的请求的服务的、封包的段和第一标头,其中,所述封包的段和所述第一标头中的每一者不包括校验和值,并且所述封包的段和所述第一标头一起被传送和接收;
TCP校验器,被配置为基于所述封包的段和所述第一标头来计算校验和值,以及产生包括所述封包的段和具有校验和值的第二标头的第二传输控制协议TCP分段;
IP路由器,被配置为执行互联网协议IP路由,以及基于所述第二传输控制协议TCP分段来产生互联网协议IP封包;以及
IP封包发生器,被配置为基于所述互联网协议IP封包来产生传输帧,以及将传输帧传送到所述网络。
18.如权利要求17所述的设备,其中,所述接口单元包括基于自动化/驱动接口传输ADT协议的串行接口。
19.如权利要求17所述的设备,其中,所述嵌入式器件包括固态驱动器SSD。
20.如权利要求19所述的设备,其中,所述服务包括负载分布服务、驱动器健康监测器、容量使用监测器、坏块计数分布、寿命终止预警服务、或驱动器配置服务中的至少一种智能计数器采集服务。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562117200P | 2015-02-17 | 2015-02-17 | |
US62/117,200 | 2015-02-17 | ||
US15/044,997 US10291355B2 (en) | 2015-02-17 | 2016-02-16 | Embedded system and method thereof |
US15/044,997 | 2016-02-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105897689A CN105897689A (zh) | 2016-08-24 |
CN105897689B true CN105897689B (zh) | 2020-10-30 |
Family
ID=56622420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610090018.4A Active CN105897689B (zh) | 2015-02-17 | 2016-02-17 | 嵌入式系统及其方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10291355B2 (zh) |
CN (1) | CN105897689B (zh) |
TW (1) | TWI705682B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160294511A1 (en) * | 2015-03-30 | 2016-10-06 | Qualcomm Incorporated | Reuse of a partially received internet protocol packet in embms |
CN107248903B (zh) * | 2017-07-28 | 2019-10-25 | 西安电子科技大学 | 一种基于fpga的tcp/ip首部校验装置及方法 |
KR102554418B1 (ko) | 2018-10-01 | 2023-07-11 | 삼성전자주식회사 | 메모리 컨트롤러 및 이를 포함하는 스토리지 장치 |
CN109831395B (zh) * | 2019-02-27 | 2020-08-07 | 中国科学院软件研究所 | 一种嵌入式设备与主机间底层网络数据传输系统及方法 |
TWI776270B (zh) * | 2020-11-05 | 2022-09-01 | 財團法人資訊工業策進會 | 基於隧道協定的中繼節點與封包封裝方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006303765A (ja) * | 2005-04-19 | 2006-11-02 | Seiko Epson Corp | Tcp/ip送信処理回路及びそれを具備する半導体集積回路 |
CN101860904A (zh) * | 2009-04-07 | 2010-10-13 | 上海摩波彼克半导体有限公司 | 基于数据包ip头压缩技术实现校验和计算的方法 |
CN104283888A (zh) * | 2014-10-20 | 2015-01-14 | 中国科学技术大学苏州研究院 | 基于数据包多层封装的隐秘通信方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6643287B1 (en) * | 1999-11-24 | 2003-11-04 | Pluris, Inc. | Apparatus and method for forwarding encapsulated data packets on a network having multiple links between nodes |
JP2003124977A (ja) * | 2001-10-18 | 2003-04-25 | Fujitsu Ltd | チェックサムの書換装置 |
TWI310638B (en) * | 2004-04-09 | 2009-06-01 | Hon Hai Prec Ind Co Ltd | System and method for checking validity of data transmission |
US8645578B2 (en) * | 2004-12-22 | 2014-02-04 | Intel Corporaton | Routing of messages |
US20080219449A1 (en) * | 2007-03-09 | 2008-09-11 | Ball Matthew V | Cryptographic key management for stored data |
US8719485B2 (en) | 2008-06-27 | 2014-05-06 | Marvell World Trade Ltd. | Solid-state disk with wireless functionality |
US8726132B2 (en) * | 2010-12-14 | 2014-05-13 | International Business Machines Corporation | Checksum verification accelerator |
US20130346667A1 (en) * | 2012-06-21 | 2013-12-26 | Jonathan Stroud | Serial port access system and method in a computing system |
US9444914B2 (en) * | 2013-09-16 | 2016-09-13 | Annapurna Labs Ltd. | Configurable parser and a method for parsing information units |
-
2016
- 2016-02-16 US US15/044,997 patent/US10291355B2/en active Active
- 2016-02-16 TW TW105104517A patent/TWI705682B/zh active
- 2016-02-17 CN CN201610090018.4A patent/CN105897689B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006303765A (ja) * | 2005-04-19 | 2006-11-02 | Seiko Epson Corp | Tcp/ip送信処理回路及びそれを具備する半導体集積回路 |
CN101860904A (zh) * | 2009-04-07 | 2010-10-13 | 上海摩波彼克半导体有限公司 | 基于数据包ip头压缩技术实现校验和计算的方法 |
CN104283888A (zh) * | 2014-10-20 | 2015-01-14 | 中国科学技术大学苏州研究院 | 基于数据包多层封装的隐秘通信方法 |
Also Published As
Publication number | Publication date |
---|---|
TWI705682B (zh) | 2020-09-21 |
US20160241361A1 (en) | 2016-08-18 |
TW201639339A (zh) | 2016-11-01 |
CN105897689A (zh) | 2016-08-24 |
US10291355B2 (en) | 2019-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105897689B (zh) | 嵌入式系统及其方法 | |
EP3014451B1 (en) | Locally generated simple erasure codes | |
US8145840B2 (en) | Method and system for storing excess data in a redundant array of independent disk level 6 | |
US10198397B2 (en) | Flow control in remote direct memory access data communications with mirroring of ring buffers | |
US9218240B2 (en) | Error detection and isolation | |
WO2014209764A1 (en) | Nvm express controller for remote memory access | |
CN105579987A (zh) | 通用pci express端口 | |
US10419035B2 (en) | Use of multiple cyclic redundancy codes for optimized fail isolation | |
US10846163B1 (en) | Hybrid hardware and software reporting management | |
CN101601256A (zh) | 网络接口卡传输控制协议加速卸载故障检测和恢复机制 | |
EP3014817B1 (en) | Hardware management communication protocol | |
CN102291408B (zh) | 对iSCSI协议报文的处理方法及装置 | |
US20060200641A1 (en) | Protecting data transactions on an integrated circuit bus | |
CN105765484A (zh) | 输入输出数据对齐 | |
CN114337915A (zh) | 基于串行通讯的私有协议容错处理方法、装置及存储介质 | |
US10673801B2 (en) | Dynamic communication session management | |
EP2621121A2 (en) | Supercharged codes | |
CN112688906B (zh) | 一种自协商方法及装置 | |
US20090094489A1 (en) | System, method and apparatus for tracing source of transmission error | |
CN108958666A (zh) | 一种数据处理方法及主控芯片 | |
CN104065447A (zh) | 信息处理的方法及电子设备 | |
CN115378837A (zh) | 基于bmc原型的验证方法、系统、计算机设备及存储介质 | |
CN118642883A (zh) | 基于网卡的数据处理方法、装置、设备及可读存储介质 | |
CN118467412A (zh) | 一种数据校验方法以及相关设备 | |
KR20230094308A (ko) | 저장 장치, 그것을 포함하는 호스트 시스템, 및 그것의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |