CN107025196B - 物理层设备操作系统以及方法 - Google Patents

物理层设备操作系统以及方法 Download PDF

Info

Publication number
CN107025196B
CN107025196B CN201610961815.5A CN201610961815A CN107025196B CN 107025196 B CN107025196 B CN 107025196B CN 201610961815 A CN201610961815 A CN 201610961815A CN 107025196 B CN107025196 B CN 107025196B
Authority
CN
China
Prior art keywords
phy
activity
action
physical layer
soc
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
Application number
CN201610961815.5A
Other languages
English (en)
Other versions
CN107025196A (zh
Inventor
D·D·布姆
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN107025196A publication Critical patent/CN107025196A/zh
Application granted granted Critical
Publication of CN107025196B publication Critical patent/CN107025196B/zh
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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本文公开了与引起物理层(PHY)设备相关联的装置、系统以及方法。在实施例中,装置可以包括用于存储与在装置外部的、包括第一外部PHY设备的一个或多个外部PHY设备相关联的一个或多个活动列表的存储器设备。该装置还可以包括执行引擎的处理器,所述引擎用于接收由第一外部PHY设备执行操作的请求,识别来自一个或多个活动列表的与第一外部PHY设备相关联的活动列表、识别来自与第一外部PHY设备相关联的活动列表的用于实现操作的执行的活动,以及引起第一外部PHY设备根据该活动来执行操作。

Description

物理层设备操作系统以及方法
技术领域
本公开涉及电子电路以及计算的领域。更具体地,本公开涉及例如在计算设备中的物理层(PHY)设备的操作。
背景技术
本文提供的背景技术描述是出于概括地呈现本公开的上下文的目的。除非本文明确指出,否则在本部分中描述的材料不作为本发明中的权利要求的现有技术,并且不被承认为通过包括在本部分中而成为现有技术。
计算设备中的PHY设备的启用通常涉及介质访问控制器(MAC)以及PHY设备之间的通信。为了便于在组件之间发生的通信,MAC和PHY设备必须使用相同的编程结构来进行通信。由于没有标准编程结构被定义用于MAC和PHY设备之间的通信,所以取决于所实现的MAC和/或PHY设备,多个不同的编程结构可以被利用以用于MAC和PHY设备之间的通信。
在旧计算设备中,MAC和PHY设备通常由不同的制造商进行生产,这些不同的制造商研发这些组件而制造商彼此之间不进行交互。制造商之间的交互的缺乏将导致MAC和PHY设备彼此以不同的编程结构来进行通信。为了改正该问题,MAC制造商、计算设备和/或主板的生产商、和/或第三方将在与PHY设备相关联的驱动器中对二进制代码进行重新编程,以使得能够在MAC和PHY设备之间进行通信。该方法的执行是复杂的、耗时的、花费代价的。
附图说明
由以下的具体实施方式以及结合附图来更好地理解实施例。为了实施本具体实施方式,类似的附图标记表示类似的结构元件。实施例作为示例,并且不是以限制的方式,在随附的附图中示出。
图1示出了根据各个实施例的示例计算设备的组件当中的示例通信流。
图2示出了根据各个实施例的用于PHY启用的计算结构的示例抽象表示。
图3示出了根据各个实施例的PHY启用的示例过程。
图4示出了根据各个实施例的示例活动列表头部结构。
图5示出了根据各个实施例的内容条目结构的示例表。
图6示出了根据各个实施例的内容条目头部结构的示例表。
图7示出了根据各个实施例的内容条目头部结构的另一示例表。
图8示出了根据各个实施例的示例动作结构。
图9示出了根据各个实施例的示例活动头部结构。
图10示出了可以采用本文所描述的装置和/或方法的示例计算设备。
具体实施方式
本文公开了与物理层(PHY)设备操作相关联的装置、方法以及存储介质。在实施例中,装置可以包括用于标识PHY设备以及访问与PHY设备相关联的活动列表的一个或多个处理器、设备、和/或电路。该装置可以访问活动列表中的能够实现介质访问控制器(MAC)和PHY设备之间的通信的活动来发起由PHY设备执行的PHY级任务。本文公开的装置、方法、以及存储介质可以配置并且控制第三方PHY设备而不对驱动器二进制进行修改。
在以下的具体实施方式中,参考形成其一部分的附图,其中在全文中,类似的附图标记指代类似的部分,并且在该附图中是通过可以被实施的示例实施例的方式进行示出的。应当理解的是,可以利用其他实施例,并且结构或逻辑改变可以在不偏离本公开的范围的情况下做出。因此,以下的具体实施方式不是在限制意义上做出的,并且实施例的范围由所附的权利要求以及其等价物来进行限定。
本公开的方面将在随附的描述中进行公开。本公开的可选的实施例以及其等价物可以在不偏离本公开的精神或范围内进行设计。应当注意的是,以下公开的类似的元件以附图中类似的附图标记来进行指示。
继而,各种操作可以以对理解所要求保护的主题最有用的方式被描述为多个分立的动作或操作。然而,描述的顺序不应当被解释为暗示这些操作必须是所依赖的顺序。特别地,这些操作可以不以所表示出的顺序执行。所描述的操作可以以与所描述的实施例不同的顺序来执行。各种额外的操作可以被执行和/或所描述的操作可以在额外的实施例中被省略。
出于本公开的目的,短语“A和/或B”表示(A)、(B)、或者(A和B)。出于本公开的目的,短语“A、B和/或C”表示(A)、(B)、(C)、(A和B)、(A和C)、(B和C)、或者(A、B和C)。
出于本公开的目的,短语“用户”不限于个人。短语“用户”可以被解释为实体、公司、一组个人、或其一些组合。
描述可以使用短语“在一实施例中”、“在实施例中”、或者“在一些实施例中”,其可以指代相同或者不同的实施例中的一个或多个。此外,术语“包括”、“包含”、“具有”等等,关于本公开的实施例所使用的是相同的。
如本文所使用的,术语“电路”可以指以下项的部分,或者包括以下项:专用集成电路(ASIC)、电子电路、执行一个或多个软件或固件程序的处理器(共享的、专用的、或者分组)和/或存储器(共享的、专用的、或者分组)、组合逻辑电路、和/或提供所描述的功能的其他合适的组件。
现在参考图1,其中,示出了根据各个实施例的,示例计算设备100的组件当中的示例通信流。如所示出的,根据实施例的装置可以包括存储器设备102、包括驱动器106和SoC硬件的片上系统(SoC)设备、PHY设备114或者其一些组合。存储器设备102、SoC设备以及PHY设备114可以彼此耦合,使得每一个设备能够与其他设备进行通信。
存储器设备102可以包括非易失性存储器设备、易失性存储器设备、驻存在SoC设备上的存储器、在SoC设备外部的存储器设备、随机存取存储器(RAM)设备、只读存储器(ROM)设备、或其一些组合。存储器设备102可以存储一个或多个活动列表104,一个或多个活动列表104能够使SoC设备与PHY设备114进行通信,以使PHY设备114执行PHY级任务。活动列表104中的每一个可以与PHY设备、PHY设备的类型、用于与一个或多个PHY设备进行通信的编程结构、SoC设备、SoC设备的类型、驻存在SoC设备上的MAC、驻存在SoC设备上的MAC的类型或其一些组合相关联。每一个活动列表可以包括一个或多个活动,其中,每一个活动可以引起PHY设备响应于该活动的执行来执行PHY级别的任务。
驱动器106可以与存储器设备102进行通信,并且可以访问存储在存储器设备102上的一个或多个活动列表104。驱动器106可以驻存在SoC设备上。驱动器可以驻存在通常被称为固件的器件上,并且可以包括固件驱动器。在一些实施例中,驱动器106可以驻存在SoC设备的外部,并且耦合到SoC设备使得驱动器106可以与SoC设备进行通信,反之亦然。
驱动器可以是能够使SoC设备与PHY设备114进行通信的软件。对软件的部分的执行可以引起PHY设备114执行PHY级别任务。驱动器106可以包括固件驱动器、设备驱动器、或其一些组合。驱动器106可以与SoC设备、PHY设备或其一些组合相关联。
驱动器106可以包括处理引擎110。处理引擎110可以利用驱动器被安装在装置上,处理引擎110可以在驱动器的安装之后被添加到驱动器,可以替换或者更改驱动器内的代码来生成处理引擎110,或其一些组合。在一些实施例中,处理引擎110可以与驱动器106分离并且耦合到驱动器106。
处理引擎110可以识别PHY设备114、被利用来与PHY设备114进行通信的编程结构、SoC设备的MAC、或其一些组合。对PHY设备114的识别可以包括通过处理引擎来接收与PHY设备114相关联的PHY设备标识符。PHY设备标识符可以在针对PHY设备执行一些PHY级别任务的请求中接收。处理引擎110可以访问存储在存储器设备102上的活动列表104,并且可以基于所标识的PHY设备114、编程结构、MAC或其一些组合来确定活动列表104中的哪个应当被用于与PHY设备114进行通信。
驱动器106可以从SoC设备和/或PHY设备114接收对PHY级任务的执行的请求。处理引擎110可以利用该请求来确定针对哪些执行来请求哪些PHY级任务。处理引擎110可以利用所识别的PHY级任务来识别出应当被利用与PHY设备114进行通信的活动列表中的与PHY级任务相关联的活动中的一个。与PHY级任务相关联的活动当被执行时,可以引起PHY设备114执行该PHY级任务。
处理引擎110可以与驱动器106的代码部分108相结合地操作。处理引擎110可以利用驱动器106的代码部分108来将活动转换成可以由PHY设备114读取的编程结构中的一个或多个命令。代码部分108可以提供将活动转换成具体的编程结构,例如,MDI代码和/或I2C代码。在一些示例中,活动可以被转换成PHY命令、MAC命令或其一些组合。
通过转换产生的一个或多个命令可以由SoC硬件112传递给PHY设备114。PHY设备114可以位于包括SoC硬件112的SoC设备的外部。一个或多个命令可以经由一个或多个总线从SoC硬件112传递到PHY设备114,所述一个或多个总线包括高级图形端口、增强的集成驱动电子型总线、扩展工业标准架构总线、符合IEEE 1394的总线、符合个人计算机存储器卡国际联合总线、外围组件互连总线、小型计算机系统接口总线、通用串行总线、并行端口、PS/2端口、串行端口、或其一些组合。一个或多个命令可以使PHY设备114执行与活动相关联的PHY级任务。在一些示例中,PHY设备114可以将确认信号发送到SoC硬件112,其指示PHY级任务已经完成。
现在参考图2,其中,示出了根据各个实施例的,用于PHY操作的计算结构的表示。计算结构可以存储在存储器设备的PHY活动列表部分202中,例如,将一个或多个活动列表104存储在存储器设备102的部分中的图1的存储器设备102。
PHY活动列表部分202可以包括一个或多个活动列表,包括活动列表204。所述一个或多个活动列表可以具有与本公开中所描述的其他活动列表类似的特征,包括图1的活动列表104。每一个活动列表可以与PHY设备、PHY设备的类型、用于与PHY设备的类型进行通信的编程结构、SoC设备、MAC设备、或其一些组合相关联。活动列表可以用于在SoC设备与PHY设备之间进行通信。
PHY活动列表部分202还可以包括与一个或多个活动列表相关联的内容的表205。内容的表205可以用于基于PHY设备、编程结构、SoC设备和/或MAC来确定活动列表中的哪一个应当被用于SoC设备与PHY设备之间的通信。处理引擎,例如,图1的处理引擎110可以访问内容的表205并且执行该确定。内容的表205还可以指示活动列表中的每一个在存储器设备中的存储位置。在其它实施例中,确定活动列表中的哪一个应当被利用的另一种方式可以例如通过将PHY设备的一些识别因素与包括在活动列表204中的数据进行比较来执行。
在一些实施例中,响应于计算设备确定活动列表中的哪一个应当被用作SoC设备与PHY设备之间的通信,活动列表或其副本可以存储在计算设备中的与初始访问的不同的位置以允许对活动列表快速访问。例如,当一个或多个活动列表被存储在与SoC设备分离的存储器设备上时,要被利用的活动列表的副本可以存储在SoC设备的存储器中,允许由SoC设备对活动列表的快速访问。
扩展的活动列表表示206是示出了活动列表204的内容的活动列表204的表示。扩展的活动列表表示206可以是存储在PHY活动列表部分202中的活动列表中的一个,或其全部或一部分的表示。
活动列表204可以包括一个或多个活动,包括活动208,正如在示例活动列表表示206中所示出的。活动列表204中的活动中的每一个可以与由与活动列表204相关联的PHY设备执行的PHY级任务相关联。在一些实施例中,活动列表204可以被限制为用于使PHY设备可操作的活动,而不用于使PHY设备可操作的其他活动可以排除在活动列表204之外。
活动列表204可以包括内容的表209。内容的表209可以包括用于识别哪些活动与哪些PHY级任务相关联的数据。处理引擎可以访问内容的表209并且可以基于包括在内容的表209中的数据来识别来自活动列表204的与期望的由PHY设备执行的PHY级任务相关联的活动。内容的表209还可以指示活动中的每一个在活动列表204中的位置。
扩展的活动表示210是活动208的表示。扩展的活动表示210可以表示活动列表204中的活动中的一个,或者其全部或其一部分。
活动208可以包括包含了动作212的一个或多个动作,以及头部211。头部211可以包括以下关于活动头部结构900描述的特征中的一个或多个。每一个动作可以包括用于引起PHY设备(例如,图1的PHY设备114)来执行与活动208相关联的PHY级任务的部分的代码。该动作可以引起PHY设备响应于SoC设备执行动作,而执行与活动208相关联的PHY级任务。SoC设备可以通过执行活动中的第一动作而开始活动的执行,并且持续地执行活动中的动作直到活动中的最后动作被执行。在一些实施例中,SoC设备可以在第一动作处开始执行,并且可以在第一动作之后执行特定数量的动作,而不考虑活动208中的动作的数量。
此外,活动列表204可以包括内容的表,所述内容的表识别相对应的活动列表中的活动的位置、相对应的活动列表中的活动的数量、活动列表中的活动的长度、与活动中的每一个相关联的PHY级任务、或其一些组合。在一些实施例中,内容的表可以位于活动列表的头部与活动列表的第一活动之间的存储器位置。
在一些实施例中,活动列表104的每一个活动列表可以包括用于执行校验和操作的校验和值。可以对校验和值执行校验和操作,来核实相对应的活动列表没有被破坏、没有由未授权的用户进行更改、或其一些组合。可以响应于计算设备确定活动列表用于与PHY设备进行通信、计算设备访问活动列表、或其一些组合,来执行校验和操作。
现在参考图3,其中示出了根据各个实施例的PHY操作的过程300。过程300可以开始于框302,其中,可以获得PHY设备标识符。PHY设备标识符可以标识PHY设备,例如,图1的PHY设备114。PHY设备标识符由SoC设备获得,所述SoC设备例如,包括驱动器106和SoC硬件112的图1的SoC设备,并且PHY设备标识符可以响应于接收到针对PHY设备执行PHY级任务的请求、检测到PHY设备是新安装的、PHY设备的初始化、计算设备被接通、计算设备的初始化、驱动器启动、或者其一些组合而被获得。
一旦PHY设备标识符被获得,过程300可以继续到框304,其中,SoC设备确定是否存在与存储在由SoC设备可访问的存储器设备中的PHY设备标识符相关联的活动列表以及存储在存储器设备中的活动列表中的哪些与PHY设备相关联。确定是否存在活动列表以及哪些活动列表与PHY设备相关联可以根据本公开所描述的任意过程来执行,所述过程包括SoC设备访问内容的表(例如,图2的内容的表205)以确定哪些活动列表与PHY设备相关联的过程。
响应于SoC设备确定不存在与存储在存储器设备中的PHY设备标识符相关联的活动列表,则过程300可以继续到框306,其中执行默认动作。该默认动作可以包括引起计算设备在耦合到计算设备的显示设备上显示PHY级任务不可以被执行的消息。在一些实施例中,默认动作可以包括执行默认PHY级任务,包括在PHY设备上显示PHY级任务不可以被执行的指示,引起PHY设备和/或SoC设备利用随后的PHY级任务来继续操作而不是等待当前PHY级任务的完成,重新初始化PHY设备,继续到框302来获得PHY设备标识符并且继续来自框302的操作,或其一些组合。
响应于SoC设备识别出哪个活动列表与PHY设备相关联,过程300可以继续到框308,其中,与PHY设备相关联的活动列表由SoC设备进行访问。在一些实施例中,访问活动列表可以包括在SoC设备的本地存储器中生成活动列表的副本以用于对活动列表的快速访问。
在访问活动列表之后,过程300可以进行到框310,其中活动列表的签名被检查,以便验证活动列表是有效的。活动列表的签名可以位于活动列表的头部中。签名可以指示创建活动列表的用户、修改活动列表的用户、创建和/或修改活动列表的软件程序、创建和/或修改活动列表的用户的地址(例如,互联网协议地址)、或其一些组合。SoC设备可以将签名与信任的签名的列表进行比较来验证活动列表是由信任方来进行创建和/或修改的。
在一些实施例中,签名可以包括校验和值。验证活动列表是有效的可以包括对校验和值执行校验和运算。如果校验和运算的结果是校验和值是期望的值,则活动列表可以被确定为有效的。
在其它实施例中,活动列表可以不包括签名。在这些实施例中,过程可以超过框310,并且直接从框308进行到框312。
如果活动列表基于签名而被确定为无效的,则过程300可以进行到框306,其中默认动作被执行。如果活动列表被确定为有效的,则过程300可以进行到框312,其中,SoC设备定位到与PHY级任务相关联的活动列表内的活动。对活动的定位可以涉及对PHY级任务的识别出的特征与每一个活动中的数据进行比较来确定哪个活动与PHY级任务相关联。
在一些实施例中,活动列表可以包括内容的表,例如,图2的内容的表209。SoC设备可以访问该内容的表,并且利用存储在内容的表中的数据来确定哪个活动与PHY级任务相关联。内容的表还可以包括每一个活动位于存储器设备、SoC设备的本地存储器、或其一些组合中的哪里的指示。SoC设备可以利用每一个活动位于哪里的指示来访问包括在活动中的活动数据。
过程300可以进行到框314,其中SoC设备确定其是否能够定位活动列表中的活动。如果SoC设备不能够定位活动列表中的活动,则过程300可以进行到框306,其中,执行默认动作。
如果SoC设备能够定位活动列表中的活动,则过程300可以进行到框316,其中包括在活动中的活动数据由SoC设备进行访问。活动数据可以包括活动头部、一个或多个动作、或者其一些组合。活动数据可以包括关于图2中所示出的活动208的扩展的活动表示210描述的特征。
SoC设备可以通过进行到活动的头部来开始访问该活动。活动的头部可以包括与活动的内容相关联的数据,包括校验和值。
过程300可以进行到框318,其中,对包括在活动头部中的校验和值执行校验和操作。校验和操作可以被执行来验证活动是否已经被破坏。校验和操作可以包括奇偶字节和/或奇偶字校验和操作、模数校验和操作、依赖于位置的校验和操作、或其一些组合。在一些实施例中,校验和操作可以包括CRC8校验和操作。CRC8校验和操作可以利用多项表达式X8+X2+X1+X0,或者正规多项式表达中的0x07。
如果校验和操作指示活动已经被破坏(即,校验和值不是期望的值),则过程300可以进行到框306,其中执行默认动作。如果校验和操作指示活动没有被破坏(即,校验和值是期望的值),则过程300进行到框320,其中活动被执行。
在一些实施例中,头部可以不包括校验和值。此外,在一些实施例中,活动可以不包括头部。在一些实施例中,其中,活动不包括头部和/或校验和值,过程300可以排除框318并可以直接从框316进行到框320。在一些实施例中,SoC设备可以响应于访问活动,而直接进行到活动列表中的第一动作。
在框320,SoC设备可以执行该活动。响应于对该活动的执行,SoC设备可以引起PHY设备执行PHY级任务。对活动的执行可以包括执行活动的任何过程,包括在图1中所描述的由驱动器106和SoC硬件112执行的过程。特别地,对活动的执行可以涉及将包括在活动列表中的动作转换为与PHY设备相关联的编程结构中的一个或多个命令,其中,PHY设备响应于执行所述命令而执行PHY级任务。包括在活动中的动作可以被转换为一个或多个PHY命令、MAC命令或者其一些组合。
现在参考图4,其中,示出了根据各个实施例的活动列表头部结构400。活动列表头部结构400可以被包括在活动列表中,例如,图1的活动列表104中和/或图2的活动列表204中的任何活动列表。活动列表头部结构400可以位于活动列表的开始部分、在内容的表以及活动列表中的活动之前、或其一些组合。活动列表头部结构400可以是结构阵列数据类型。活动列表头部结构400可以包括唯一的活动列表名称402。
活动列表头部结构400可以包括标识符标记404。标识符标记404可以是16位无符号整数。标识符标记404可以与PHY设备、PHY设备的类型、用于与一个或多个PHY设备进行通信的编程结构、SoC设备、SoC设备的类型、驻存在SoC设备上的MAC、驻存在SoC设备上的MAC的类型、或其一些组合相关联。
在一些实施例中,标识符标记404可以被用于确定哪个活动列表应当被用于与PHY设备进行通信。SoC设备可以执行PHY设备标识符(例如,关于图3的框302所描述的PHY设备标识符)与标识符标记的比较,以用于确定活动列表是否应当被用于与PHY设备进行通信。
活动列表头部结构400可以包括活动列表尺寸指示符406。活动列表尺寸指示符可以是16位无符号整数。活动列表尺寸可以指示由活动列表占用的存储器空间的量、由活动列表中的每一个活动所占用的存储器空间的量、或其一些组合。
活动列表头部结构400可以包括活动指示符的数量408。活动指示符的数量408可以是16位无符号整数。活动指示符的数量408可以指示与活动列表头部结构相关联的活动列表内的活动的数量。
活动列表头部结构400可以包括版本指示符410。版本指示符410可以是16位无符号整数。版本指示符410可以指示包括活动列表头部结构400中所包括的活动列表的版本。版本指示符410可以响应于活动列表被更新和/或修正,而在另一事件中进行递增和/或更新。在一些实施例中,版本指示符410还可以向用户指示生成的活动列表的更新的版本、生成的活动列表的更新的版本的软件程序、或其一些组合。
活动列表头部结构400可以包括校验和值412。可以对校验和值412执行校验和操作,以便验证活动列表没有被破坏。可以根据本公开所描述的任何校验和操作来执行校验和操作,包括关于图1的活动列表104所描述的校验和操作和/或关于图3的框310所执行的校验和操作。
现在参考图5,其中,示出了根据实施例的内容的表条目结构500。内容的表条目结构500可以被包括在活动列表中,例如图1的活动列表104和/或图2的活动列表204中的任何活动列表。内容的表条目结构500可以定位在活动列表的头部之后并且在活动列表的活动之前。内容的表条目结构500可以是结构阵列数据类型。内容的表条目结构500可以包括唯一的内容的表条目名称502。
内容的表条目结构500可以包括活动名称504。活动名称504可以与由PHY设备执行的活动相关联。活动名称504可以是16位无符号整数。
内容的表条目结构500可以包括活动位置506。活动位置506可以是16位无符号整数。活动位置506可以指示在存储器中活动所位于的位置、活动相对于活动列表的开始和/或结束的位置,或其一些组合。
现在参考图6,其中,示出了根据各个实施例的内容的表条目头部结构600。内容的表条目头部结构600可以包括在活动列表中,所述活动列表例如图1的活动列表104和/或图2的活动列表204中的任何活动列表。内容的表条目头部结构600可以是结构阵列数据类型。内容的表条目头部结构600可以包括唯一的头部名称602。
内容的表条目头部结构600可以包括活动数量的指示604。活动数量的指示604可以是16位无符号整数数据类型。活动数量的指示604可以指示活动列表中活动的数量。
内容的表条目头部结构600可以包括内容的表项目指针606。内容的表项目指针606可以定义内容的表条目结构500的类型的指针。相应地,内容的表项目指针606可以指向存储器内的内容的表条目,其中,内容的表条目包括活动名称(例如,图5的活动名称504)以及活动位置(例如,图5的活动位置506)。当由SoC设备对内容的表的访问进行到整个内容的表时,内容的表项目指针606可以持续地递增到内容的表中的下一个内容条目,直到SoC设备识别出与由PHY设备执行的期望的PHY级任务相关联的活动和/或SoC设备已经访问了内容的表中的所有的活动条目。
现在参考图7,其中,示出了根据各个实施例的另一个内容的表条目结构700。内容的表条目结构700可以比内容的表条目结构500更易于处理。相应地,内容的表条目结构700可以用于具有有限能力的计算设备和/或SoC设备。内容的表条目结构700可以包括在活动列表中,例如,图1的活动列表104和/或图2的活动列表204中的任何活动列表。内容的表条目结构700可以位于活动列表的头部之后以及活动列表内的活动之前。内容的表条目结构700可以是结构阵列数据类型。内容的表条目结构700可以包括唯一的内容的表条目名称702。
内容的表条目结构700可以包括有效标识符704。有效标识符704可以是16位无符号整数。有效标识符704可以用于验证内容的表条目是有效条目。
内容的表条目结构700可以包括标识符偏移706。标识符偏移706可以是16位无符号整数。标识符偏移706可以指示第一活动在活动列表的头部之后的偏移量。
现在参考图8,其中示出了根据各个实施例的动作结构800。动作结构800可以定义动作,例如,图2的动作212。动作结构800可以是结构阵列数据类型。动作结构800可以包括唯一的动作名称802。
动作结构800可以包括命令字段804。命令字段804可以是8位无符号整数。命令字段804可以包括用于执行某功能的命令。命令字段804内的命令可以是MAC命令和/或PHY命令。命令字段804可以包括硬件级命令,例如,加载命令、交换命令、复制命令、测试命令、小于比较命令、大于比较命令、等于比较命令、跳转命令、嵌套跳转命令、无条件跳转命令、从多媒体域中读取(MMD)命令、从I2C总线读取命令、从多文档接口(MDI)读取命令、写到MMD命令、写到I2C总线命令、写到MDI命令、递增命令、递减命令、逻辑或命令、逻辑与命令、逻辑非命令、写到MAC命令、读到MAC命令、算数加命令、右移命令、左移命令、等待命令、版本打印命令、和/或RET命令(将返回地址放置在计算设备的指令指针处)。
动作结构800可以包括与命令字段804相关联的第一参数806和第二参数808。第一参数806和第二参数808的每一个可以包括8位无符号整数。第一参数806和第二参数808可以用于指示命令字段804的参数使用。对于绝大多数动作,参数可以表示由动作执行的操作的源和目的地。例如,如果命令字段804是“复制”,则第一参数806可以是“使用内部寄存器A作为源”,并且第二参数808可以是“使用内部寄存器B作为目的地”。在其它实施例中,第一参数806和第二参数808中的任一个或者二者可以是“无参数”。第一参数806和第二参数808的值和使用可以依赖于命令字段804的值和设计。此外,第一参数806和/或第二参数808的一些示例可以包括“使用立即数”(其可以被称为数据字段810内的数据),使用内部寄存器C或者内部寄存器D。命令字段804可以确定第一参数806和/或第二参数808在内容上是什么。
动作结构800可以包括数据字段810。数据字段810可以是32位无符号整数。数据字段810内的数据如果由第一参数806和第二参数808中的任一个或二者管理,则可以由命令字段804使用。而其他实施例可以使用两个(或更多个)数据字段,例如,数据字段810,出于简洁示出了一个,而在实践中,可以期望全部。虽然数据字段可以被维持以用于动作结构800的一致和/或另一时间的潜在使用,但可以不总是使用数据字段。
现在参考图9,其中,示出了根据各个实施例的活动头部结构900。活动头部结构900可以包括在活动中,例如,图2的活动208。活动头部结构900可以位于活动的开始部分,活动中的任何动作之前。活动头部结构900可以是结构阵列数据类型。活动头部结构900可以包括唯一的活动头部名称902。
活动头部结构900可以包括活动名称904。活动名称904可以是16位无符号整数。活动名称904可以指示由PHY设备执行的PHY级操作。
活动头部结构900可以包括尺寸指示906。尺寸指示906可以是16位无符号整数。尺寸指示906可以指示活动的尺寸。尺寸指示906可以指示活动中的动作(例如,图2的动作212)的量、由活动占用的存储器的量、由活动中的每一个动作所占用的存储器的量、或其一些组合。
活动头部结构900可以包括校验和值908。校验和值908可以是16位无符号整数。可以对校验和值908执行校验和操作,以验证活动未被破坏。校验和操作可以包括本公开所描述的任何校验和操作,例如,图3的框318所描述的校验和操作。
活动头部结构900可以包括动作指针910。动作指针910可以是由图8的动作结构800定义的动作结构。动作指针910可以被初始化为指向活动列表中的第一动作的存储位置。当活动执行时,响应于当前动作完成,动作指针910可以递增,以指向下一个动作的存储位置。动作列表中的每一个动作可以是相同的尺寸,使得每次动作指针910递增到下一个动作,动作指针910每次递增都递增了相同的存储器位置量。动作指针910可以通过活动内的动作继续递增,直到活动中的最后一个动作执行,在该点,动作指针910可以直接指向活动内的第一动作的存储位置。
在一些实施例中,动作指针910可以被防止指向当前活动之外的存储器位置。当前活动可以基于尺寸指示906而被定义为某尺寸。当前活动可以被定义为是由尺寸指示906指示的尺寸,并且可以被测量为离活动的第一存储器位置、离活动头部的第一存储器位置、离活动头部的最后存储器位置、或其一些组合的指示的尺寸。
响应于活动中的动作尝试将动作指针910的地址定位到当前活动之外的位置,SoC设备可以确定该活动被破坏。响应于确定活动被破坏,SoC设备可以防止任何其他动作的执行,包括动作指针910尝试将其地址定位到当前活动之外的位置的内容。此外,响应于确定活动已经被破坏,SoC设备可以执行默认动作,例如,关于图3的框306描述的默认动作。
在其它实施例中,SoC设备可以忽略将动作指针910的地址定位到当前活动之外的位置的任何尝试并且继续将动作指针910递增到当前活动内的下一个动作的存储位置。当动作指针910通过当前活动内的动作被递增,而不将动作指针910的地址定位到当前活动之外的位置和/或不执行与当前活动之外的位置相关联的活动时,SoC设备可以继续执行当前活动内的动作。
图10示出了根据各个实施例的,可以采用本文所描述的装置和/或方法(例如,存储器102、驱动器106、SoC硬件112、PHY设备114以及过程300)的示例计算设备1000。如所示出的,计算设备1000可以包括多个组件,例如,一个或多个处理器1004(示出了一个)以及至少一个通信芯片1006。
在各个实施例中,一个或多个处理器1004中的每一个可以包括一个或多个处理器核。在各个实施例中,至少一个通信芯片1006可以物理地并且电气地耦合到一个或多个处理器1004。在进一步的实现中,通信芯片1006可以是一个或多个处理器1004的部分。在各个实施例中,计算设备1000可以包括印刷电路板(PCB)1002。对于这些实施例,一个或多个处理器1004以及通信芯片1006可以在其上进行布置。在替换的实施例中,各个部件可以耦合,而不采用PCB 1002。
取决于其应用,计算设备1000可以包括可以或可以不物理或电气耦合到PCB 1002的其他组件。这些其他组件包括但不限于存储器控制器1005、易失性存储器(例如,动态随机存取存储器(DRAM)1008)、非易失性存储器,例如,只读存储器(ROM)1010、闪速存储器1012、存储设备1011(例如,硬盘驱动(HDD))、I/O控制器1014、数字信号处理器(未示出)、加密处理器(未示出)、图形处理器1016、一个或多个天线1018、显示器(未示出)、触摸屏显示器1020、触摸屏控制器1022、电池1024、音频编解码器(未示出)、视频编解码器(未示出)、全局定位系统(GPS)设备1028、罗盘1030、加速度计(未示出)、陀螺仪(未示出)、扬声器1032、照相机1034、以及大容量存储设备(例如,硬盘驱动、固态驱动、压缩盘(CD)、数字多功能盘(DVD)(未示出))等等。
在一些实施例中,一个或多个处理器1004、闪速存储器1012、和/或存储设备1011可以包括存储编程指令的相关联的固件(未示出),所述编程指令被配置为响应于由一个或多个处理器1004执行编程指令,使计算设备1000能够实施本文描述的方法的全部或者选择的方面。在各个实施例中,可以使用与一个或多个处理器1004、闪速存储器1012、或存储设备1011分离的硬件来另外或者可替换地实现这些方面。
在各个实施例中,计算设备1000的一个或多个组件可以包括本文所描述的存储器设备102、驱动器106、SoC硬件112和/或PHY设备114。例如,存储器设备102、驱动器106、SoC硬件112和/或PHY设备114可以包括在I/O控制器1014、处理器1004、存储器控制器1005、和/或计算设备1000的另一组件中。在一些实施例中,I/O控制器1014可以使用存储器设备102、驱动器106、SoC硬件112和/或PHY设备114与一个或多个外部设备连接来接收数据信号。另外或可替换地,存储器设备102、驱动器106、SoC硬件112和/或PHY设备114可以用于接收计算设备1000的两个组件之间发送的数据信号。
通信芯片1006可以进行有有线和/或无线通信以用于将从以及向计算设备1000传送数据。术语“无线”及其衍生物可以用于描述可以通过使用非固体介质的模块化的电磁射线来传递数据的电路、设备、系统、方法、技术、通信信道等。术语不暗示相关联的设备部不包含任何线,但是在一些实施例中,可以不包含线。通信芯片1006可以实现任何数量的有线标准或协议,包括但不限于IEEE 702.20、长期演进(LTE)、高级LTE(LTE-A)、通用分组无线服务(GPRS)、演进数据优化(Ev-DO)、增强型高速分组接入(HSPA+)、增强型高速下行链路分组接入(HSDPA+)、增强型高速上行链路分组接入(HSUPA+)、全球移动通信系统(GSM)、增强型数据速率GSM演进技术(EDGE)、码分多址(CDMA)、时分多址(TDMA)、数字增强无绳通信(DECT)、全球微波互联接入(WiMAX)、蓝牙及其衍生物、以及被设计为3G、4G、5G以及以上的任何其他无线协议。计算设备1000可以包括多个通信芯片1006。例如,第一通信芯片1006可以专用于较短程无线通信,例如,Wi-Fi以及蓝牙,并且第二通信芯片1006可以专用于较长程无线通信,例如,GPS、EDGE、GPRS、CDMA、WIMAX、LTE、Ev-DO、以及其他。
在各种实现中,计算设备1000可以是膝上型计算机、上网本、笔记本计算机、超级本、智能电话、计算平板、个人数字助理(PDA)、超级移动PC、移动电话、桌面型计算机、服务器、打印机、扫描仪、监控器、机顶盒、娱乐控制单元(例如,游戏控制台或汽车娱乐单元)、数字照相机、电器、便携音乐播放器、或者数字视频记录器。在进一步的实现中,计算设备1000可以是处理数据的任何其他电子设备。
本领域中的技术人员显而易见的是可以在所公开的设备的公开的实施例和相关联的方法中做出各种修改以及变型而不偏离本公开的精神和范围。由此,本公开是要覆盖上文提供的公开的实施例的修改和变型,其中,修改和变型落在任何权利要求以及其等价物的范围之内。
示例1可以包括用于使在装置外部的第一外部物理层(PHY)设备来执行操作的装置。所述装置可以包括存储器设备,其用于存储与包括第一外部PHY设备的一个或多个外部PHY设备相关联的一个或多个活动列表。该装置还可以包括处理器,其执行引擎,以用于接收由第一外部PHY设备执行操作的请求,识别来自一个或多个活动列表的与第一外部PHY设备相关联的活动列表,识别实现来自活动列表的与第一外部PHY设备相关联的操作的执行的活动,并且引起第一外部PHY设备根据该活动执行该操作。
示例2可以包括示例1的装置,其中,该装置是片上系统(SoC)设备,并且该引擎位于SoC设备的固件驱动器中。
示例3可以包括示例1和2中的任一个的装置,其中,该处理器还对包括在活动列表的头部中的数据执行校验和操作,以验证该活动列表没有被破坏,其中,响应于验证该活动列表没有被破坏,而发生引起根据该活动而执行所述操作。
示例4可以包括示例3的装置,其中校验和操作包括CRC8校验和操作,并且其中,包括在活动列表的头部中的数据包括对其执行CRC8校验和操作的校验和值。
示例5可以包括示例1和示例2中的任一个的装置,其中,引起根据活动来执行操作包括将包括在活动中的一个或多个动作转换为引起第一外部PHY设备执行该操作的一个或多个PHY命令。
示例6可以包括示例1和示例2中的任一个的装置,其中,引起根据活动来执行操作包括将包括在活动中的一个或多个动作转换为引起第一外部PHY设备执行该操作的一个或多个介质访问控制命令。
示例7可以包括示例1和2中的任一个的装置,其中,所述存储器设备还用于存储与活动列表相关联的内容的表,并且处理器还用于访问内容的表,其中对活动的识别是基于包含在内容的表中的数据的。
示例8可以包括示例1和2中的任一个的装置,其中,活动的头部指示包括在该活动中的一个或多个动作的存储位置,其中,所述处理器还用于从该存储位置取回一个或多个动作,并且其中,引起根据活动来执行操作包括执行从存储位置取回的一个或多个动作。
示例9可以包括示例8的装置,其中,处理器还用于识别一个或多个动作的第一动作,其中,第一动作包括调用第二动作的动作,所述第二动作不位于包括在活动中的一个或多个动作的存储位置中,并且响应于识别出包括以下动作的第一动作,而防止执行第一动作,所述动作调用不位于存储位置中的第二动作。
示例10可以包括示例1和2中的任一个的装置,其中,执行操作的请求包括与第一外部PHY设备相关联的PHY设备指示符,并且其中,与第一外部PHY设备相关联的活动列表至少基于PHY设备指示符而被识别出。
示例11可以包括具有存储于其上的指令的一个或多个计算机可读介质,其中,响应于由设备执行,所述指令引起设备取回活动,所述活动包括实现由位于设备外部的外部物理层(PHY)设备执行PHY级任务的来自存储在存储器设备上的活动列表的一个或多个动作,该活动列表与外部PHY设备相关联;并且引起外部PHY设备根据该活动来执行PHY级任务。
示例12可以包括示例11的一个或多个计算机可读介质,其中,所述指令还引起设备接收外部PHY设备执行PHY级任务的请求,其中,响应于接收到该请求,活动被取回。
示例13可以包括示例11和12中的任一个的一个或多个计算机可读介质,其中,所述指令还引起设备访问与活动列表相关联的内容的表,该内容的表存储在存储器设备上;并且基于包含在内容的表中的数据来识别该活动。
示例14可以包括示例11和12中的任一个的一个或多个计算机可读介质,其中,所述指令还引起设备对包括在活动的头部中的数据执行校验和操作来验证该活动没有被破坏,其中,响应于验证该活动列表没有被破坏,而发生引起根据该活动而执行所述操作。
示例15可以包括示例11和12中的任一个的一个或多个计算机可读介质,其中,引起PHY级任务的执行包括将一个或多个动作转换成实现由外部PHY设备执行PHY级任务的一个或多个PHY命令。
示例16可以包括示例11和12中的任一个的一个或多个计算机可读介质,其中,引起PHY级任务的执行包括将一个或多个动作转换成实现由外部PHY设备执行PHY级任务的一个或多个介质访问控制命令。
示例17可以包括示例11和12中的任一个的一个或多个计算机可读介质,其中,活动的头部指示一个或多个动作的存储位置,其中所述指令还引起设备从存储位置取回一个或多个动作,并且其中,引起根据该活动执行PHY级任务包括执行一个或多个动作。
示例18可以包括示例17的一个或多个计算机可读介质,其中,指令还引起设备识别一个或多个动作中的第一动作,其中所述第一动作包括调用第二动作的动作,所述第二动作不位于一个或多个动作的存储位置中,并且响应于识别出包括以下动作的第一动作,而阻止执行第一动作,所述动作调用不位于存储位置中的第二动作。
示例19可以包括示例12的一个或多个计算机可读介质,其中,所述请求包括与外部PHY设备相关联的PHY设备标识符,并且其中,所述指令还使得所述设备基于PHY设备标识符来识别与外部PHY设备相关联的活动列表。
示例20可以包括用于引起物理层(PHY)设备执行第一PHY级任务的方法,其包括:由片上系统(SoC)设备接收用于引起PHY设备执行第一PHY级任务的请求,所述PHY设备在SoC设备的外部,由SoC设备取回来自与PHY设备相关联的活动列表的与PHY级任务相关联的活动,活动列表被存储在存储器中,并且包括与包括第一PHY级任务的一个或多个PHY级任务相关联的一个或多个活动,并且由SoC设备引起PHY设备根据该活动执行第一PHY级任务。
示例21可以包括示例20的方法,还包括由SoC设备对包括在活动的头部中的数据执行校验和操作,来验证该活动没有被破坏,其中,响应于验证该活动没有被破坏,而发生引起第一PHY级任务的执行。
示例22可以包括示例20和21中的任一个的方法,其中,引起第一PHY级任务的执行包括将包括在活动中的一个或多个动作转换为引起外部PHY设备执行第一PHY级任务的一个或多个PHY命令。
示例23可以包括示例20和21中的任一个的方法,其中,引起第一PHY级任务的执行包括将包括在活动中的一个或多个动作转换为引起外部PHY设备执行第一PHY级任务的一个或多个介质访问控制命令。
示例24可以包括示例20和21中的任一个的方法,还包括响应于接收到该请求,由SoC设备访问存储在存储器中的内容的表,以及由SoC设备基于包括在内容的表中的数据来识别该活动。
示例25可以包括示例20和21中的任一个的方法,还包括由SoC设备基于包括在活动的头部中的数据来识别包括在活动中的一个或多个动作的存储位置,并且由SoC设备从存储位置取回一个或多个动作,其中,引起第一PHY级任务的执行包括由SoC设备执行从存储位置取回的一个或多个动作。
示例26可以包括示例25的方法,还包括由SoC设备识别一个或多个动作的第一动作,其中,所述第一动作包括调用第二动作的动作,所述第二动作不位于一个或多个动作的存储位置中,并且响应于识别出包括以下动作的第一动作,而防止由SoC设备执行第一动作,所述动作调用不位于存储位置中的第二动作。
示例27可以包括示例20的方法,其中,所述请求包括与PHY设备相关联的PHY设备标识符,并且其中,该方法还包括由SOC设备基于PHY设备标识符来识别与PHY设备相关联的活动列表。
示例28可以包括用于引起第一外部物理层(PHY)设备执行操作的装置,所述装置包括用于接收如下请求的单元,所述请求用于引起PHY设备执行第一PHY级任务,所述PHY设备在SoC设备外部;用于从与PHY设备相关联的活动列表取回与PHY级任务相关联的活动的单元,活动列表被存储在存储器中,并且包括与包括第一PHY级任务的一个或多个PHY级任务相关联的一个或多个活动;以及用于引起PHY设备根据该活动,通过固件驱动器执行第一PHY级任务的单元。
示例29可以包括示例28的装置,还包括用于对包括在活动的头部中的数据执行校验和操作来验证该活动没有被破坏的单元,其中,响应于验证该活动没有被破坏,而发生引起第一PHY级任务的执行。
示例30可以包括示例28和29中的任一个的装置,其中,用于引起第一PHY级任务的执行的单元包括用于将包括在活动中的一个或多个动作转换成引起外部PHY设备执行第一PHY级任务的一个或多个PHY命令的单元。
示例31可以包括示例28和29中的任一个的装置,其中,用于引起第一PHY级任务的执行的单元包括用于将包括在活动中的一个或多个动作转换成引起外部PHY设备执行第一PHY级任务的一个或多个介质访问控制命令。
示例32可以包括示例28和29中的任一个的装置,还包括用于响应于接收到该请求,而访问存储在存储器中的内容的表的单元,以及用于基于包括在内容的表中的数据来识别该活动的单元。
示例33可以包括示例28和29中的任一个的装置,还包括用于基于包括在活动的头部中的数据来识别包括在活动中的一个或多个动作的存储位置的单元,以及用于从存储位置取回一个或多个动作的单元,其中,引起第一PHY级任务的执行包括由SoC设备执行从存储位置取回的一个或多个动作。
示例34可以包括示例33的装置,还包括用于识别一个或多个动作中的第一动作的单元,其中,所述第一动作包括调用第二动作的动作,所述第二动作不位于一个或多个动作的存储位置中,以及用于响应于识别出包括以下动作的第一动作,而防止执行第一动作的单元,所述动作调用不位于存储位置中的第二动作。

Claims (25)

1.一种引起第一外部物理层PHY设备执行操作的装置,其中,所述第一外部物理层PHY设备在所述装置外部,所述装置包括:
存储器设备,其用于:
存储与包括所述第一外部物理层PHY设备的一个或多个外部物理层PHY设备相关联的一个或多个活动列表;以及
处理器,其执行引擎,以用于:
接收由所述第一外部物理层PHY设备来执行所述操作的请求;
识别来自所述一个或多个活动列表的与所述第一外部物理层PHY设备相关联的活动列表;
识别来自与所述第一外部物理层PHY设备相关联的所述活动列表的、实现所述操作的执行的活动;以及
引起所述第一外部物理层PHY设备根据所述活动来执行所述操作。
2.如权利要求1所述的装置,其中,所述装置是片上系统SoC设备,并且所述引擎位于所述片上系统SoC设备的固件驱动器中。
3.如权利要求1和2中的任一项所述的装置,其中,所述处理器用于进一步对包括在所述活动列表的头部中的数据执行校验和操作,以验证所述活动列表没有被破坏,其中,响应于验证所述活动列表没有被破坏,而发生引起根据所述活动而执行所述操作。
4.如权利要求3所述的装置,其中,所述校验和操作包括CRC8校验和操作,并且其中,包括在所述活动列表的头部中的所述数据包括对其执行所述CRC8校验和操作的校验和值。
5.如权利要求1和2中的任一项所述的装置,其中,引起根据所述活动来执行操作包括将包括在所述活动中的一个或多个动作转换为引起所述第一外部物理层PHY设备执行所述操作的一个或多个PHY命令。
6.如权利要求1和2中的任一项所述的装置,其中,引起根据所述活动来执行操作包括将包括在所述活动中的一个或多个动作转换为引起所述第一外部物理层PHY设备执行所述操作的一个或多个介质访问控制命令。
7.如权利要求1和2中的任一项所述的装置,其中:
所述存储器设备还用于存储与所述活动列表相关联的内容的表;并且
所述处理器还用于访问所述内容的表,其中,对所述活动的识别是基于包含在所述内容的表中的数据的。
8.如权利要求1和2中的任一项所述的装置,其中,所述活动的头部指示包括在所述活动中的一个或多个动作的存储位置,其中,所述处理器还用于从所述存储位置取回所述一个或多个动作,并且其中,引起根据所述活动来执行所述操作包括执行从所述存储位置取回的所述一个或多个动作。
9.如权利要求8所述的装置,其中,所述处理器还用于:
识别所述一个或多个动作中的第一动作,其中,所述第一动作包括调用第二动作的动作,所述第二动作不位于包括在所述活动中的所述一个或多个动作的所述存储位置中;并且
响应于识别出包括如下动作的所述第一动作,而防止所述第一动作的执行,所述动作调用不位于所述存储位置中的所述第二动作。
10.如权利要求1和2中的任一项所述的装置,其中,执行所述操作的所述请求包括与所述第一外部物理层PHY设备相关联的PHY设备指示符,并且其中,与所述第一外部物理层PHY设备相关联的所述活动列表是至少部分地基于所述PHY设备指示符而被识别出的。
11.一种用于引起物理层PHY设备执行第一PHY级任务的方法,包括:
由片上系统SoC设备接收用于引起所述物理层PHY设备执行所述第一PHY级任务的请求,所述物理层PHY设备在所述片上系统SoC设备的外部;
由所述片上系统SoC设备取回来自与所述物理层PHY设备相关联的活动列表的与所述第一PHY级任务相关联的活动,所述活动列表被存储在存储器中,并且包括与包括所述第一PHY级任务的一个或多个PHY级任务相关联的一个或多个活动;并且
由所述片上系统SoC设备引起所述物理层PHY设备根据所述活动来执行所述第一PHY级任务。
12.如权利要求11所述的方法,还包括由所述片上系统SoC设备对包括在所述活动的头部中的数据执行校验和操作,来验证所述活动没有被破坏,其中,响应于验证所述活动没有被破坏,而发生引起所述第一PHY级任务的执行。
13.如权利要求11和12中的任一项所述的方法,其中,引起所述第一PHY级任务的执行包括将包括在所述活动中的一个或多个动作转换为引起所述物理层PHY设备执行所述第一PHY级任务的一个或多个PHY命令。
14.如权利要求11和12中的任一项所述的方法,其中,引起所述第一PHY级任务的执行包括将包括在所述活动中的一个或多个动作转换为引起所述物理层PHY设备执行所述第一PHY级任务的一个或多个介质访问控制命令。
15.如权利要求11和12中的任一项所述的方法,还包括:
响应于接收到所述请求,由所述片上系统SoC设备访问存储在所述存储器中的内容的表;以及
由所述片上系统SoC设备基于包括在所述内容的表中的数据来识别所述活动。
16.如权利要求11和12中的任一项所述的方法,还包括:
由所述片上系统SoC设备基于包括在所述活动的头部中的数据来识别包括在所述活动中的一个或多个动作的存储位置;并且
由所述片上系统SoC设备从所述存储位置取回所述一个或多个动作,其中,引起所述第一PHY级任务的执行包括由所述片上系统SoC设备执行从所述存储位置取回的所述一个或多个动作。
17.如权利要求16所述的方法,还包括:
由所述片上系统SoC设备识别所述一个或多个动作中的第一动作,其中,所述第一动作包括调用第二动作的动作,所述第二动作不位于所述一个或多个动作的所述存储位置中;并且
响应于识别出包括如下动作的所述第一动作,而防止由所述片上系统SoC设备执行所述第一动作,所述动作调用不位于所述存储位置中的所述第二动作。
18.如权利要求11所述的方法,其中,所述请求包括与所述物理层PHY设备相关联的PHY设备标识符,并且其中,所述方法还包括由所述片上系统SoC设备基于所述PHY设备标识符来识别与所述物理层PHY设备相关联的所述活动列表。
19.一种用于引起第一外部物理层PHY设备执行操作的装置,包括:
用于接收如下请求的单元,所述请求用于引起所述第一外部物理层PHY设备执行第一PHY级任务,所述第一外部物理层PHY设备在片上系统SoC设备外部;
用于从与所述第一外部物理层PHY设备相关联的活动列表取回与所述第一PHY级任务相关联的活动的单元,所述活动列表被存储在所述存储器中,并且包括与包括所述第一PHY级任务的一个或多个PHY级任务相关联的一个或多个活动;以及
用于引起所述第一外部物理层PHY设备根据所述活动、通过固件驱动器来执行所述第一PHY级任务的单元。
20.如权利要求19所述的装置,还包括用于对包括在所述活动的头部中的数据执行校验和操作来验证该活动没有被破坏的单元,其中,响应于验证所述活动没有被破坏,而发生引起所述第一PHY级任务的执行。
21.如权利要求19和20中的任一项所述的装置,其中,用于引起所述第一PHY级任务的执行的所述单元包括用于将包括在所述活动中的一个或多个动作转换成引起所述第一外部物理层PHY设备执行所述第一PHY级任务的一个或多个PHY命令的单元。
22.如权利要求19和20中的任一项所述的装置,其中,用于引起所述第一PHY级任务的执行的所述单元包括用于将包括在所述活动中的一个或多个动作转换成引起所述第一外部物理层PHY设备执行所述第一PHY级任务的一个或多个介质访问控制命令的单元。
23.如权利要求19和20中的任一项所述的装置,还包括:
用于响应于接收到所述请求,而访问存储在所述存储器中的内容的表的单元;以及
用于基于包括在所述内容的表中的数据来识别所述活动的单元。
24.如权利要求19和20中的任一项所述的装置,还包括:
用于基于包括在所述活动的头部中的数据来识别包括在所述活动中的一个或多个动作的存储位置的单元;以及
用于从所述存储位置取回所述一个或多个动作的单元,其中,引起所述第一PHY级任务的执行包括由所述片上系统SoC设备执行从所述存储位置取回的所述一个或多个动作。
25.如权利要求24所述的装置,还包括:
用于识别所述一个或多个动作中的第一动作的单元,其中,所述第一动作包括调用第二动作的动作,所述第二动作不位于所述一个或多个动作的所述存储位置中;以及
用于响应于识别出包括如下动作的所述第一动作,而防止所述第一动作的执行的单元,所述动作调用不位于所述存储位置中的所述第二动作。
CN201610961815.5A 2015-12-04 2016-11-04 物理层设备操作系统以及方法 Active CN107025196B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/959,440 2015-12-04
US14/959,440 US9766971B2 (en) 2015-12-04 2015-12-04 Physical layer device operation system and method

Publications (2)

Publication Number Publication Date
CN107025196A CN107025196A (zh) 2017-08-08
CN107025196B true CN107025196B (zh) 2020-05-05

Family

ID=58797854

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610961815.5A Active CN107025196B (zh) 2015-12-04 2016-11-04 物理层设备操作系统以及方法

Country Status (4)

Country Link
US (1) US9766971B2 (zh)
CN (1) CN107025196B (zh)
DE (1) DE112016005538T5 (zh)
WO (1) WO2017095554A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109558122B (zh) * 2018-11-29 2022-08-19 湖南国科微电子股份有限公司 一种提升物理层兼容性的系统与方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183948A (zh) * 2007-12-05 2008-05-21 中兴通讯股份有限公司 一种以太网串口驱动单元及窄带拨号时数据流的传输方法
CN101540764A (zh) * 2009-04-27 2009-09-23 曙光信息产业(北京)有限公司 一种基于fpga的面向虚拟机的数据传输和路由方法
US8365018B2 (en) * 2007-06-19 2013-01-29 Sand Holdings, Llc Systems, devices, agents and methods for monitoring and automatic reboot and restoration of computers, local area networks, wireless access points, modems and other hardware
WO2014158171A1 (en) * 2013-03-28 2014-10-02 Hewlett-Packard Development Company, L.P. Making a frame receive decision in a receiver phy layer

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7093172B2 (en) * 2002-08-07 2006-08-15 Broadcom Corporation System and method for determining on-chip bit error rate (BER) in a communication system
JP2007532020A (ja) 2003-07-16 2007-11-08 インターデイジタル テクノロジー コーポレーション 無線通信システムのネットワーク管理エンティティ間で情報を転送するための方法およびシステム
US7428242B2 (en) 2004-08-02 2008-09-23 Staccato Communications, Inc. Action list for a split media access and control layer communications system
US8447872B2 (en) 2006-11-01 2013-05-21 Intel Corporation Load balancing in a storage system
US8874876B2 (en) 2011-03-22 2014-10-28 Texas Instruments Incorporated Method and apparatus for packet switching
US8826092B2 (en) * 2011-10-25 2014-09-02 International Business Machines Corporation Characterization and validation of processor links

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8365018B2 (en) * 2007-06-19 2013-01-29 Sand Holdings, Llc Systems, devices, agents and methods for monitoring and automatic reboot and restoration of computers, local area networks, wireless access points, modems and other hardware
CN101183948A (zh) * 2007-12-05 2008-05-21 中兴通讯股份有限公司 一种以太网串口驱动单元及窄带拨号时数据流的传输方法
CN101540764A (zh) * 2009-04-27 2009-09-23 曙光信息产业(北京)有限公司 一种基于fpga的面向虚拟机的数据传输和路由方法
WO2014158171A1 (en) * 2013-03-28 2014-10-02 Hewlett-Packard Development Company, L.P. Making a frame receive decision in a receiver phy layer

Also Published As

Publication number Publication date
CN107025196A (zh) 2017-08-08
WO2017095554A1 (en) 2017-06-08
DE112016005538T5 (de) 2018-09-13
US20170161139A1 (en) 2017-06-08
US9766971B2 (en) 2017-09-19

Similar Documents

Publication Publication Date Title
US10445154B2 (en) Firmware-related event notification
EP3014461B1 (en) Systems and methods for procedure return address verification
US10726120B2 (en) System, apparatus and method for providing locality assertion between a security processor and an enclave
US8171192B2 (en) Hardware-assisted device configuration detection
JP2016517241A (ja) ストレージデバイスによって支援されるインライン暗号化および暗号化解除
US9003363B2 (en) Device flags
CN108628638B (zh) 数据处理方法及装置
CN106997233B (zh) 提供来自多核处理器SoC外部的访问以独立地配置电压
US10135954B2 (en) Access dock device content on a remote client device wirelessly
US11163659B2 (en) Enhanced serial peripheral interface (eSPI) signaling for crash event notification
WO2014173211A1 (en) Code coverage testing method, device and system
US8996760B2 (en) Method to emulate message signaled interrupts with interrupt data
US20130159661A1 (en) Hardware monitor
US9582339B2 (en) Operation of software modules in parallel
CN107025196B (zh) 物理层设备操作系统以及方法
US11251576B2 (en) Circuit card with coherent interconnect
CN114185834A (zh) 片上系统和电压与频率调节的方法
CN114185837A (zh) 片上系统和调节电压和频率的方法
US11995018B2 (en) Determining a private connection between devices or functions of a serial bus
EP3940545B1 (en) Determining a private connection between devices or functions of a serial bus
CN115794302A (zh) 虚拟机vCPU使用率的确定方法、装置、介质及设备

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