System for storage, device and method for performing communication management
Patent Information
- Application Number
- TW114151957
- Authority / Receiving Office
- TW · TW
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-04-09
- Filing Date
- 2021-05-18
- Publication Date
- 2026-10-21
- Estimated Expiration
- 2041-05-17
AI Technical Summary
Existing data center systems face challenges in efficiently managing communication between devices, particularly in scenarios where management devices and storage devices reside on separate networks, leading to suboptimal network latency, stability, and bandwidth utilization.
A system and method for in-band and out-of-band communication within a base, utilizing a management processor and device to route data via Ethernet and I2C/SMBus ports, enabling direct communication between management devices and storage devices, such as Ethernet SSDs, through a router that applies metadata and header information for efficient routing.
This approach reduces network latency, improves stability and data transmission rates, and optimizes bandwidth usage, providing faster and more efficient management of storage devices within data centers.
Smart Images

Figure TWG2TB001917528_001 
Figure TWG2TB001917528_002 
Figure TWG2TB001917528_003
Abstract
Description
[Technical Field]
[0001] This disclosure generally relates to a base system, and more specifically, to a system and method for storing communications within a base.
[0002] [Cross Reference to Related Applications] This application claims priority over and asserts the benefit of U.S. Provisional Application No. 63 / 041,115, filed on June 18, 2020, entitled “System and Method for Supporting Direct Communication Between In-Band and Out-of-Band Management in a Base Station”, the entire contents of which are incorporated herein by reference. [Previous Technology]
[0003] This background section is intended to provide context only, and the disclosure of any concept in this section does not constitute an admission that the concept is prior art.
[0004] With technological advancements, the size and quantity of data are rapidly increasing as data is collected through devices such as mobile devices, Internet of Things (IoT) devices, aerial (remote sensing) devices, software logs, cameras, microphones, radio-frequency identification (RFID) readers, wireless sensor networks, and similar devices. To process and utilize the information represented by the collected data, servers are often used in data centers to filter, compute, store, and perform related operations on the data. Systems and methods for improving communication between devices in such data centers remain needed.
[0005] The information disclosed in this background section is only used to enhance the understanding of the background of this disclosure, and therefore the above information may contain information that does not constitute prior art. [Summary of the Invention]
[0006] In various embodiments, the contents set forth herein include systems, methods and apparatus for storing communications within a storage base.
[0007] Specifically, a system for storage is described. The system may include: a base including storage devices for storing data; a management processor for determining routing information for routing in-band data to a storage device among the storage devices; and a management device for performing communication management, wherein the management device: based on the routing information, transmits in-band data to the storage device via a first port; and transmits out-of-band data to the storage device via a second port.
[0008] In some embodiments, the management processor includes an Ethernet bunch of flash (EBOF) processor and the management device includes at least one of a baseboard management controller (BMC), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or a processor. In other embodiments, the system further includes a switch, and the management processor routes the in-band data from the management device to a second storage device in the storage device via the switch. In various embodiments, the switch receives second in-band data from a host and the switch transmits the second in-band data to the storage device. In other embodiments, the host includes a non-volatile memory express over fabric (NVMe-oF) initiator and the storage device includes an NVMe-oF target.
[0009] In an embodiment, the storage device includes a third port for receiving in-band data and a fourth port for receiving out-of-band data. In some embodiments, the storage device includes a solid-state drive (SSD), the third port includes an Ethernet port, and the fourth port includes an Inter-Integrated Circuit (I2C) or System Management Bus (SMBus) port.
[0010] In various embodiments, the management device or the management processor applies header information to at least one packet of data associated with the in-band data. In other embodiments, the header information includes information based on the Management Component Transport Protocol (MCTP) based on the Transmission Control Protocol (TCP), and the at least one packet is transmitted to the management processor via the Internet Protocol (IP) based on the Ethernet protocol. In embodiments, the out-of-band data is received from a management host and is transmitted to the storage device via I2C / SMBus. In some embodiments, the in-band data includes firmware upgrades or security certificates. Alternatively or additionally, the in-band data may include management data, including but not limited to configuration, status, manufacturing data, and logs. Examples include port and protocol information such as IP address, health status, temperature, power readings, vital product data (VPD), model, serial number, telemetry, statistics, security keys, and firmware measurements. In another embodiment, the disclosed system may include an Ethernet-based solid-state storage device (SSD) (the Ethernet-based SSD may use Ethernet for in-band communication) and may be configured to use any suitable physical connector, including but not limited to SFF-8201 connector, SFF-8223 connector, SFF-8301 connector, SFF-8323 connector and SFF-100x connector.
[0011] Similarly, apparatus and methods for performing operations substantially the same as or similar to those described above are further disclosed.
[0012] Therefore, specific embodiments of the subject matter described herein can be implemented to achieve one or more of the following advantages: Reduced network latency and improved network stability and data transmission rates, thereby improving user experience. Reduced costs associated with routing network traffic, network maintenance, network upgrades, and / or the like. Furthermore, in some embodiments, the disclosed system can be used to reduce the power consumption and / or bandwidth of devices on a network, and can be used to improve the speed and / or efficiency of communication between devices.
Implementation Method
[0016] Details of one or more embodiments of the subject matter described herein are set forth in the accompanying drawings and the following description. Other features, aspects, and advantages of the subject matter will become apparent from the description, drawings, and claims.
[0017] Various embodiments of the present disclosure will now be more fully described below with reference to the accompanying drawings, which illustrate some, but not all, embodiments. In fact, the present disclosure may be implemented in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided to enable the disclosure to meet applicable legal requirements. Unless otherwise indicated, the term "or" is used herein in both alternative and combined senses. The terms "illustrative" and "exemplary" are used as instances that do not have an indication of quality level. The same numbers always refer to the same elements. Arrows in each of the figures illustrate bidirectional data flow and / or bidirectional data flow capabilities. The terms "path," "way," and "route" are used interchangeably herein.
[0018] The embodiments disclosed herein can be implemented in various ways, including as a computer program product comprising articles of manufacture. A computer program product may include a non-transitory computer-readable storage medium storing applications, programs, program components, scripts, source code, program code, object code, bytecode, compiled code, interpreted code, machine code, executable instructions, and / or the like (also referred to herein as executable instructions, instructions for execution, computer program product, program code, and / or similar interchangeable terms). Such non-transitory computer-readable storage media includes all computer-readable media (including volatile and non-volatile media).
[0019] In one embodiment, non-volatile computer-readable storage media may include floppy disks, hard disks, solid-state storage (SSS) (e.g., solid-state drives (SSDs)), solid-state cards (SSCs), solid-state components (SSMs), enterprise flash drives, magnetic tape, or any other non-transitory magnetic media, and / or the like. Non-volatile computer-readable storage media may also include punch cards, paper tape, optical mark sheets (or any other physical media with perforated patterns or other optically identifiable markings), compact disc read-only memory (CD-ROMs), compact disc-rewritable (CD-RWs), digital versatile discs (DVDs), Blu-ray discs (BDs), any other non-transitory optical media, and / or the like. Such non-volatile computer-readable storage media may also include read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory (e.g., serial, inverse, inverse OR, and / or the like), multimedia memory card (MMC), secure digital (SD) memory card, smart media card, compact flash (CF) card, memory stick, and / or the like.In addition, non-volatile computer-readable storage media may also include conductive-bridging random access memory (CBRAM), phase-change random access memory (PRAM), ferroelectric random-access memory (FeRAM), non-volatile random-access memory (NVRAM), magnetoresistive random-access memory (MRAM), resistive random-access memory (RRAM), silicon-oxide-nitride-oxide-silicon memory (SONOS), floating junction gate random access memory (FJG RAM), millipede memory, racetrack memory, and / or the like.
[0020] In one embodiment, the volatile computer-readable storage medium may include random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), fast page mode dynamic random access memory (FPM DRAM), extended data-out dynamic random access memory (EDO DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), double data rate type two synchronous dynamic random access memory (DDR2 SDRAM), double data rate type three synchronous dynamic random access memory (DDR3 SDRAM), Rambus dynamic random access memory (RDRAM), and twin transistor RAM. RAM (TTRAM), Thyristor RAM (T-RAM), Zero-capacitor RAM (Z-RAM), Rambus in-line memory component (RIMM), Dual in-line memory component (DIMM), Single in-line memory component (SIMM), Video Random Access Memory (VRAM).VRAM, cache memory (including various tiers), flash memory, temporary register memory, and / or the like. It should be understood that, in embodiments described as using computer-readable storage media, other types of computer-readable storage media may be used instead of the aforementioned computer-readable storage media.
[0021] It should be understood that the various embodiments disclosed herein may also be implemented as methods, apparatus, systems, computing devices, computing entities, and / or the like. Thus, the embodiments disclosed herein may take the form of apparatus, systems, computing devices, computing entities, and / or the like that execute instructions stored on a computer-readable storage medium to perform certain steps or operations. Therefore, the embodiments disclosed herein may also take the form of a completely hardware embodiment, a completely computer program product embodiment, and / or an embodiment including a combination of a computer program product and hardware performing specific steps or operations.
[0022] The embodiments of this disclosure are described below with reference to block diagrams and flowchart illustrations. Therefore, it should be understood that each block of the block diagram and flowchart illustration can be implemented as a computer program product, a complete hardware embodiment, a combination of hardware and a computer program product, and / or as instructions, operations, steps, and similar interchangeable terms (e.g., executable instructions, instructions for execution, program code, and / or the like) performed on a computer-readable storage medium in the form of a device, system, computing device, computing entity, and / or the like for execution. For example, code retrieval, loading, and execution can be performed sequentially, such that one instruction is retrieved, loaded, and executed at a time. In some exemplary embodiments, retrieval, loading, and / or execution can be performed in parallel, such that multiple instructions are retrieved, loaded, and / or executed together. Therefore, such embodiments can produce machines with specific configurations that perform the steps or operations specified in the block diagrams and flowchart illustrations. Therefore, the block diagrams and flowchart illustrations support various combinations of embodiments for performing specified instructions, operations, or steps.
[0023] In various embodiments, the computing platform (e.g., a server rack or base station in a data center) may include devices (e.g., processors, management devices, switches, and / or the like) that communicate to perform management functions within the platform. Platform-associated communications and / or interfaces may be configured to operate for specific devices on the platform. Various hardware management services may include, but are not limited to, monitoring functions (e.g., temperature monitoring, voltage monitoring, fan speed monitoring, hardware error state monitoring, etc.), control functions (e.g., platform power-on / power-off, reset, etc.), device firmware updates, and device function management for devices such as storage devices. In some embodiments, such a platform may include a controller to support access to management monitoring and control functions, providing monitoring and control services for access performed via other management controllers.
[0024] In various embodiments, the disclosed system can be used with platforms including Ethernet Flash Bundle (EBOF) devices, representing storage systems used in conjunction with applications and workloads that benefit from distributed, low-latency, high-bandwidth, and high-availability storage. In such an EBOF-based dock used with the aforementioned computing platform, management devices such as a Baseboard Management Component (BMC) and / or storage devices such as network-attached storage devices (e.g., Ethernet solid-state drives SSDs) may reside on a separate network or a separate portion of a network (e.g., a separate Ethernet network). Therefore, such devices may not necessarily be able to communicate directly with each other, as the BMC and the Ethernet-based solid-state storage devices may reside on different Ethernet networks. In another embodiment, the management device may include a service processor or a BMC, which can be used to manage local SSDs (e.g., Ethernet-based solid-state storage devices) located in the same dock. In various forms, storage devices such as Ethernet SSDs (or other structure-attached storage devices such as native fast non-volatile memory (NVMe-oF) devices) may include in-band Ethernet ports through which the device receives in-band information, including data and management information. Furthermore, such exemplary Ethernet SSDs may include out-of-band ports (e.g., Inter-Integrated Circuit (I2C) and / or System Management Bus (SMBus) interfaces), through which the device may receive out-of-band information for management, for example, via a management device such as a BMC. In some cases, the management device may not be able to access the in-band Ethernet and therefore may only be able to manage such Ethernet SSDs via optional out-of-band ports (e.g., I2C / SMBus interfaces).
[0025] Furthermore, various protocols and / or standards may exist, including but not limited to the Platform Management Components Intercommunication (PMCI) protocol stack of the Distributed Management Task Force (DMTF), which can primarily describe various in-base communication standards. For example, such standards as the PMCI protocol may further include the Management Component Transport Protocol (MCTP), which enables data to travel via specific entity layers such as Peripheral Component Interconnect Express (PCIe) and I2C / SMBus, but cannot be configured to work with other protocols such as Ethernet. Additionally, the disclosed system can operate with security protocols such as the Security Protocol and Data Model (SPDM) protocol, which can be used for security and enables data to travel via the MCTP transport layer and can be used for authentication and secure communication between devices. Additionally, PMCI may include a Platform Level Data Model (PLDM) protocol, which enables information to travel through the MCTP transport layer and is available for platform management, including firmware upgrades. Furthermore, the disclosed system may use SPDM to provide security certificates. In some embodiments, the disclosed system may operate according to networking protocols such as Simple Service Discovery Protocol (SSDP), which can be used in conjunction with User Datagram Protocol (UDP), Internet Protocol (IP), and / or Ethernet. However, management devices (e.g., BMC) may need to communicate with the Ethernet SSD in the EBOF via out-of-band channels (e.g., using an I2C / SMBus interface). The I2C / SMBus interface may be relatively slow for some management operations (e.g., passing keys and certificates for security operations (e.g., SPDM operations)) and / or other operations (e.g. facilitating firmware upgrades or providing security certificates) (e.g., it has lower bandwidth compared to other interfaces and associated protocols).
[0026] In various embodiments, the systems, methods, and apparatuses described herein support direct communication between out-of-band and in-band interfaces, and associated apparatuses for device management within a base, such as an EBOF base. In some embodiments, the Ethernet interface on an Ethernet SSD (Ethernet-based solid-state storage device) can be used for out-of-band management purposes. For SSDs attached to other architectures (e.g., NVMe SSDs), other interfaces (e.g., SMBus and Fast Peripheral Component Interconnect (PCIe) interfaces) can be used to carry various management protocol messages, such as NVMe management interface (NVMe-MI) out-of-band management requests and responses. In various embodiments, the disclosed systems enable the Ethernet interface of an Ethernet-based solid-state storage device to facilitate various management communications, such as NVMe-MI protocol-based communications, within the context of an Ethernet-based solid-state storage device used in a base, such as an EBOF base.
[0027] In some embodiments, in this type of EBOF base, the management of Ethernet SSDs can be implemented via two paths: an out-of-band path and an in-band path. For out-of-band management, the management of the Ethernet-based solid-state storage device can be implemented by a management device such as the BMC via a first interface such as the I2C / SMBus interface. For example, this out-of-band management can be implemented for MCTP messages according to protocols such as DMTF PMCI stacking. For in-band management, the management of the Ethernet-based solid-state storage device can be implemented by a host (e.g., an NVMe-oF initiator) via protocols such as Ethernet. In various embodiments, the disclosed system can provide the BMC with a higher speed and bandwidth path (compared to out-of-band management of the Ethernet-based solid-state storage device by the BMC via the I2C / SMBus interface) to manage the Ethernet SSDs inside the EBOF base. Specifically, the disclosed system enables such management by the BMC via Ethernet (e.g., for MCTP messages from the DMTF PMCI stack).
[0028] As described above, the BMC and the Ethernet SSD may reside on separate Ethernet networks. Therefore, in some embodiments, the disclosed system includes a router (e.g., a software-based router) that can, for example, route messages (e.g., MCTP messages) between the BMC and the Ethernet-based solid-state storage device using information provided in the header of a message block. Such messages can then travel over the Ethernet network via TCP / IP and can be used to manage the Ethernet-based solid-state storage device. It should be noted that, for the purposes of certain instances herein, MCTP may refer to the transport layer of the DMTF PMCI stack for in-base communication; furthermore, such PLDM, SPDM, NVMe-MI, etc., messages can travel via MCTP and via physical layers (e.g., I2C or PCIe). Although this disclosure focuses on certain embodiments of in-base communication using DMTF PMCI stacks, it should be understood that any other suitable protocols that can operate in conjunction with the disclosed embodiments may be included within the scope of this disclosure, including but not limited to NVMe, NVMe-MI, NVMe-oF, Fibre Channel, and / or the like.
[0029] In various embodiments, as described above, the disclosed system may include a router (e.g., a software-based router) that can route traffic between a management device, such as a BMC, and various network-attached storage devices, such as Ethernet SSDs, according to a first protocol (e.g., MCTP). Specifically, the router may enable a management path between the Ethernet interface of the BMC and the Ethernet SSD. Furthermore, the disclosed system may enable the use of Ethernet interface information, which may be provided from a system-associated switch (e.g., an Ethernet switch) to a system-associated processor (e.g., an EBOF-enabled processor) (e.g., a processor implementing a network operating system (NOS)). For example, the disclosed system may provide the Ethernet SSD Internet Protocol (IP) address to the BMC for use by TCP-based MCTP.
[0030] In various embodiments, the disclosed system includes using a driver (e.g., a TCP-based MCTP driver) on each system endpoint (e.g., a BMC and / or an Ethernet SSD) to apply predetermined metadata and / or header information (e.g., a TCP-based MCTP header) to messages transmitted between endpoints. The header may include information about the original source and final destination for routing the message. In one embodiment, a router (e.g., a TCP-based MCTP router) and / or a switch (NOS) associated with a processor (e.g., an EBOF processor) may use the information in the header to route traffic to its final destination. In various embodiments, a driver associated with a storage device (e.g., a TCP-based MCTP driver associated with an Ethernet SSD) may exchange destination and source information in a TCP-based MCTP header to obtain a response. In one embodiment, certain protocol-specific messages (e.g., PLDM and other MCTP messages) may be transmitted via the Ethernet physical layer using TCP / IP and TCP-based MCTP. Such messages may include, but are not limited to, SPDM messages, which may have an encrypted payload for secure communication. In some embodiments, a driver on a management device (e.g., a BMC) (e.g., a TCP-based MCTP driver) may be configured to discover routers (e.g., TCP-based MCTP routers) using a protocol (e.g., SSDP). The router may provide the IP address of a storage device (e.g., an Ethernet SSD) to the management device (e.g., the BMC).
[0031] Some technical advantages of the disclosed system may include, but are not limited to, the following: It enables management devices such as BMCs to use a faster management path as the primary path (e.g., an in-band communication path); in cases where the Ethernet interface of the Ethernet-based solid-state storage device is disabled, other interfaces such as I2C / SMBus interfaces are reserved for slower out-of-band communication. It enables the use of BMCs to manage Ethernet SSDs that do not implement I2C / SMBus ports and interfaces. It provides a faster and more efficient way to manage EBOFs through the management device.
[0032] Having discussed certain aspects of the disclosed systems and methods, we turn to the figures, which provide additional views illustrating various features of embodiments of this disclosure. Figure 1 is an illustration of an exemplary first view of the disclosed system for in-band and out-of-band communication with a device associated with a base station, according to exemplary embodiments of this disclosure. In various aspects, Figure 101 shows a base station 102, such as a base station for an EBOF including one or more Ethernet SSDs 108. As described above, an EBOF can be used in conjunction with applications and workloads that benefit from distributed, low-latency, high-bandwidth, and high-availability storage. In another embodiment, base station 102 may include a BMC 106, an EBOF processor 104, an Ethernet switch (not shown), and an Ethernet SSD 108. Base station 102 may include, but is not limited to, tower servers or rack servers. Furthermore, the base may include memory (not shown), which can be any type of memory, such as flash memory, static random access memory (SRAM), permanent random access memory, ferroelectric random access memory (FRAM), or non-volatile random access memory (NVRAM), such as magnetoresistive random access memory (MRAM). The memory can also be any desired combination of different memory types. The memory can be used in conjunction with various devices on the base (e.g., BMC, EBOF processor, and / or the like).
[0033] Furthermore, as shown in FIG101, the EBOF processor 104 may include: a switch, such as a switch running a Network Operating System (NOS) 112; and a router, such as a TCP-based MCTP router 114. The TCP-based MCTP router 114 may be configured to communicate with a given Ethernet SSD 108 via Ethernet port 116, and, for example, to communicate with the BMC 106 via a second Ethernet port 118 via TCP-based MCTP. Similarly, the Ethernet SSD may include another Ethernet port 110 for transmitting messages from the EBOF processor 104 to the TCP-based MCTP 128 interface of the Ethernet SSD 108, whereby the Ethernet SSD 108 may further process the messages via MCTP bonding layer 130. The MCTP bonding layer 130 may be used to facilitate connectivity between devices, enabling the exchange of resources (e.g., computing, networking, or storage resources) between devices in a system. Similarly, BMC 106 can be configured to receive messages from EBOF processor 104 via Ethernet port 126 at a TCP-based MCTP 124 interface. Furthermore, BMC 106 may include BMC OS 120, which can use the messages after they have been at least partially processed via MCTP binding 122.
[0034] Although this disclosure focuses primarily on embodiments associated with the Ethernet SSD 108, it should be understood that other storage devices that can operate in conjunction with the disclosed system are also within the scope of this disclosure. Non-limiting examples of such devices may include solid-state drives (SSDs), but other forms of storage, such as hard disk drives or other long-term storage devices, are also possible. Alternatively or additionally, the device may include a network-attached SSD that supports any of the following different transport protocols: Ethernet, Fibre Channel, Infinite Bandwidth, or Fast Non-volatile Memory (NVMe), to name just a few possibilities. However, in some embodiments, the network-attached SSD may be limited to a subset of these transport protocols (possibly one: for example, an Ethernet SSD). Furthermore, embodiments of this disclosure can support any desired number of devices. In addition to network-attached SSDs, other devices, such as network interface cards (NICs), may be substituted or included. In the remainder of this document, any reference to Ethernet SSDs may be replaced with any alternative device that may be found to be an NVMe-oF device and may be network-attached.
[0035] Furthermore, although the disclosed system pertains to the BMC in the dock, the BMC is a possible proxy for the processor to perform any suitable operations (e.g., management operations) associated with the dock and storage devices. Other possible devices may include a Redundant Array of Independent Disks (RAID) controller, another processor (typically different from the processor associated with the boot operation), or even a software proxy. As used herein, any reference to the BMC is intended to refer to these other devices, as well as any other device that may act as a proxy for the processor. In some embodiments, the BMC or any management device performing the operations described herein may not necessarily be a standalone component and may be integrated into other processors (e.g., management processors such as EBOF processors) or computing components associated with the dock. For example, a management processor (e.g., an EBOF processor) may include software instructions that perform the operations described herein in conjunction with the BMC or any suitable management device. In some embodiments, the management processor (or equivalent) may include a local EBOF processor, which can be used as a software-defined network to manage Ethernet switches, and in some cases can also be used as a service management processor to manage the entire base station in the absence of a BMC. In some systems, the local processor can be used to manage Ethernet switches while the BMC is used to manage the entire base station or a portion thereof.
[0036] Furthermore, although the EBOF processor described above is illustrated in conjunction with the embodiments above, the EBOF processor may include any suitable processing element. Additionally, as an example, such a processing element may also be coupled to memory, which may include random access memory (RAM), read-only memory (ROM), or other state-retaining media. The processor may also be coupled to storage devices and network connectivity, such as Ethernet or wireless connectivity. The processing element may also be connected to a bus, on which a user interface and input / output ports may be attached, and the input / output ports may be managed using an input / output engine and other components.
[0037] FIG2 is an example of an exemplary second view of the disclosed system for in-band and out-of-band communication of a device associated with a base according to an exemplary embodiment of the present disclosure. In some embodiments, FIG201 may also show the base 202 in a second view that is more detailed than the first view shown in FIG1, as further shown and described below. In one exemplary embodiment, BMC 204 may further include: a first stack 212 including BMC OS; protocol blocks, such as PLDM / NVMe-IM / SPDM / etc. blocks; binding layers, such as MCTP binding; and a TCP-based MCTP 214 layer. As used herein, layers and blocks are used interchangeably. In one embodiment, BMC 204 may communicate with EBOF processor 206 via Ethernet port 216 on BMC 204. Specifically, Ethernet port 216 can transmit information from TCP-based MCTP layer 214 to the corresponding TCP-based MCTP router 222 within EBOF processor 206 via Ethernet port 220.
[0038] Similarly, the TCP-based MCTP router 222 of the EBOF processor 206 can communicate with the Ethernet switch 208 via another Ethernet port 224 of the EBOF processor 206. Furthermore, the Ethernet switch 208 can communicate with the Ethernet SSD 210 via Ethernet port 226 of the Ethernet SSD 210. Specifically, the Ethernet switch 208 can be configured to transmit in-band and out-of-band information. For example, the Ethernet switch 208 can be configured to transmit first in-band information 205 from the NVMe-oF initiator 209 of the Ethernet-based solid-state storage device 210 to the NVMe-oF target 230. Alternatively or additionally, Ethernet switch 208 may be configured to deliver second out-to-in-band information 207 (e.g., in-band information that may be transmitted via first out-to-in-band information 203) to the TCP-based MCTP 232 layer of Ethernet SSD 210 via Ethernet port 226. The TCP-based MCTP layer 232 may be a portion of a stack including MCTP bonding layer 234 and PLDM / NVMe-MI / SPDM / etc. layer 236. In some embodiments, Ethernet port 226 may include any suitable physical connector, including but not limited to SFF-8201 connectors, SFF-8223 connectors, SFF-8301 connectors, SFF-8323 connectors, and / or SFF-100x connectors.
[0039] In some embodiments, the disclosed system can be configured to transmit second out-of-band to in-band information 207 from BMC 204 to EBOF processor 206 and ultimately to Ethernet SSD 210 via Ethernet switch 208. Furthermore, the disclosed system can be configured to transmit first out-of-band information 203 via corresponding I2C / SMBus ports 218 and 228 of BMC 204 and Ethernet SSD 210, respectively. Specifically, this out-of-band information 203 can be transmitted from the MCTP bonding layer of stack 212 of BMC 204 to the MCTP bonding layer 234 of Ethernet SSD 210. Additionally, BMC 204 can be configured to connect to management host 240. This management host 240 can transmit various management-related information to Ethernet SSD 210 via BMC 204 through its respective ports (e.g., I2C / SMBus ports 218 and 228).
[0040] FIG3 is an example of an exemplary flowchart according to an exemplary embodiment of the present disclosure, illustrating exemplary operation of information exchange between a management device such as a Baseboard Management Component (BMC) and a processor (e.g., a processor associated with a base station). Specifically, FIG301 illustrates a portion (e.g., a base station) of an EBOF 302 system. This portion of the EBOF 302 system may include a management device such as a BMC 303 and a processor such as an EBOF processor 308 that can implement a Switch NOS. As shown in FIG301, at block 306, the BMC 303 may send a security search command (e.g., an SSDP M-Search command for TCP-based MCTP) via a given protocol to locate a router. At block 314, the EBOF processor 308 may receive a message in response to the search. Furthermore, at block 316, the EBOF processor 308 may determine whether the TCP-based MCTP router is ready to process the received message. If it is determined that the EBOF processor 308 is not ready to process the message, it may ignore the message at block 318. On the other hand, if it is determined that the message is ready to be processed, the EBOF processor 308 may read relevant interface data associated with the device's port at block 312, such as Ethernet interface data for an Ethernet-based solid-state storage device switch port. Furthermore, at block 310, the EBOF processor 308 may send a response with the corresponding Ethernet-based solid-state storage device IP address to the BMC 303. At block 304, the BMC 303 may resolve the SSDP response for the Ethernet-based solid-state storage device based on the corresponding IP address. The BMC 303 may then use the IP address to route relevant information to the given Ethernet-based solid-state storage device according to the protocol. The sent information may be in-band information, as described differently herein.
[0041] FIG4 illustrates an exemplary flowchart according to an exemplary embodiment of the present disclosure, which illustrates an exemplary operational flow of information between the BMC and the Ethernet SSD. Specifically, FIG401 illustrates an EBOF base 403, which may include a BMC 402, an EBOF processor 404, an Ethernet switch 406, and an Ethernet-based solid-state storage device 408. Specifically, the BMC may be configured to access Table 410 to determine various IP addresses associated with different Ethernet-based solid-state storage device slots and ports. At block 414, the disclosed system may receive and use information obtained from Table 410 and PLDM messages received from the PLDM driver to initiate a process of transferring information from the BMC 402 to the Ethernet SSD 408. At block 416, the BMC can be configured to use TCP-based MCTP header information along with information specifying the source and final destination (e.g., an Ethernet-based solid-state storage device IP address) of the transmitted data packets. At block 418, the BMC can be configured to send packets to a network driver whose destination is an Ethernet-based solid-state storage device processor.
[0042] At block 420, the EBOF processor can be configured to receive messages from the BMC, and at block 422, it can be further configured to determine whether the message includes a TCP-based MCTP header. If at block 422 it is determined that the message does not include a TCP-based MCTP header, then at block 424, the EBOF processor can be configured to ignore the message. Alternatively, if at block 422 it is determined that the message includes a TCP-based MCTP header, then at block 426, the disclosed system can be configured to determine whether the destination IP address associated with the message is addressed to the BMC. If at block 426 it is determined that the destination IP address does not belong to the BMC, then at block 428, the disclosed system can determine whether the destination IP address is an Ethernet-based solid-state storage device.
[0043] If, at block 428, it is determined that the destination IP address does not include an Ethernet-based solid-state storage device, then at block 430, the disclosed system can be configured to discard messages. On the other hand, if, at block 428, it is determined that the destination IP address includes the BMC, then at block 436, the disclosed system can determine whether the BMC is linked. If, at block 436, it is determined that the BMC is not linked, then at block 438, the disclosed system can set an error code and route the information back to the Ethernet-based solid-state storage device source. On the other hand, if, at block 436, it is determined that the BMC is linked, then at block 442, the disclosed system can be configured to transmit packets to a network drive destined for the BMC. Furthermore, as shown in block 444, the BMC can be configured to receive messages.
[0044] At block 440, the EBOF processor can be configured to send packets to a network drive destined for an Ethernet-based solid-state storage device, based on the results determined at blocks 432 and 434. At block 446, the Ethernet SSD can be configured to receive messages from the EBOF processor via Ethernet switch 406. At block 448, the Ethernet SSD can be configured to determine whether the received message includes TCP-based MCTP header information. If at block 448 it is determined that the message does not include TCP-based MCTP header information, the Ethernet SSD can ignore the message, as shown in block 450. If at block 448 it is determined that the message includes TCP-based MCTP header information, the Ethernet SSD can parse the header information, as shown in block 452.
[0045] Furthermore, at block 454, the Ethernet-based solid-state storage device can determine whether it is the destination based on header information. If it is determined that the Ethernet-based solid-state storage device is not the final destination, the Ethernet SSD can discard the message, as shown in block 456. On the other hand, if it is determined that the Ethernet SSD is the destination, at block 458, the Ethernet SSD can send the PLDM message in the payload to the PLDM driver associated with the Ethernet SSD. At block 460, the Ethernet SSD can be configured to receive a response from the PLDM driver. From there, at block 462, the Ethernet SSD can determine the TCP-based MCTP header information indicating the source and final destination (BMC IP address). From there, at block 464, the Ethernet SSD can send the packet to the network driver whose destination is the Ethernet-based solid-state storage device processor. This packet can be transmitted to the EBOF processor via an Ethernet switch, and the EBOF processor receives the message at block 420.
[0046] FIG5 illustrates a packet of information that can be transmitted between various parts of the disclosed system according to an exemplary embodiment of the present disclosure. Specifically, the packet may include an Ethernet header 502, an IP header 504, a TCP header 506, a TCP-based MCTP header 508, an MCTP header 510, and a PLDM message 512. Furthermore, the TCP-based MCTP header 508 may include an opcode 514, a final destination 516, and a source 518. In an embodiment, the opcode 514 may include information such as requests, responses, and errors, and / or the like. In another embodiment, the final destination 516 may include an IP address associated with a BMC or an Ethernet SSD. In yet another embodiment, the source 518 may include an IP address associated with a BMC for an Ethernet SSD.
[0047] FIG6 is an illustration of a specific implementation of an exemplary protocol that can be used in the disclosed system according to an exemplary embodiment of the present disclosure. In various embodiments, the PCMI stack may operate in conjunction with standards that can be used for communication between platform components (e.g., devices in the base). FIG601 illustrates a schematic diagram including examples and types of PLDM messages 602 and MCTP messages 604 that can be used in conjunction with the disclosed system. Further illustrated and explained with reference to FIG601 are various message layers 606, transport layers 608, and physical layers 610 associated with devices in the base (e.g., storage devices, management processors, management devices, etc.). In addition, message layer component 612, transport layer component 614, first physical layer component 616, and second physical layer component 618 are shown.
[0048] In various embodiments, PLDM message 602 may include information associated with control and discovery, BIOS-related information, platform monitoring and control, BIOS control and configuration, field-replacement unit (FRU) data transmission, firmware update information, and device enablement information. In one embodiment, MCTP message 604 may include control information, PLDM-related information, network controller sideband interface (NC-SI) control and pass-through information, NVMe-MI information, security (SPDM-related) information, and / or vendor-defined information. In some embodiments, MCTP message 604 may be encapsulated 620 for transmission via message layer 606, for example, as a protected message (e.g., type 6).
[0049] In various embodiments, the message layer 606 may include MCTP control messages, PLDM messages, NC-SI messages, NVMe-MI standard messages, SPDM messages, protected messages (e.g., MCTP messages encapsulated by the header information illustrated above in conjunction with FIG5), and vendor-defined messages. In some embodiments, the MCTP control protocol is used to establish and initialize managed devices within the MCTP network. Furthermore, PLDM may be used to provide access to low-level platform monitoring, control, and data transmission functions (e.g., temperature, fan, voltage, inventory data, event data transmission, and boot control, and / or the like). Additionally, MCTP-based PLDM may include data representatives and commands associated with platform management hardware. NC-SI defines the transmission model for Ethernet communication between the management controller and the network controller. Furthermore, SPDM defines a set of commands for authentication, firmware measurement, and certificate management.
[0050] In one embodiment, transport layer 608 may include the MCTP protocol. As described above, the MCTP protocol can be used to manage devices within an MCTP network. The MCTP protocol can be independent of the underlying physical bus attributes and the "data link" layer messaging used on the bus. Furthermore, the transport defines the messaging protocol. MCTP transport can support both acknowledged messages (e.g., request / response) and unacknowledged messages (e.g., asynchronous). MCTP may include binding specifications that define the necessary headers and timing requirements for transports to be used on the applicable physical media. Bindings may differ for different physical media, such as PCIe VDM-based MCTP bindings and SMBus / I2C-based MCTP bindings. The physical and data link layer methods for MCTP communication across a given media are described by transport binding features, such as PCIe-based MCTP Vendor Defined Messaging (VDM) and SMBus / I2C-based MCTP. The disclosed system can be further used with additional buses such as USB.
[0051] In various embodiments, the physical layer 610 may include PMCI standards and protocols implemented on physical media. In various embodiments, the physical media represents available interfacing that can be used by the MCTP specification. In one embodiment, the messaging layer component 612 may include MCTP control information, PLDM information, NC-SI control information, NC-SI delivery information, NVMe-MI information, SPDM information, protected messages (e.g., messages encapsulated by header information illustrated above in conjunction with FIG. 5), and vendor-defined information. In various embodiments, the transport layer component 614 may include MCTP. In one embodiment, the first physical layer component 616 may include PCIe VDM-based MCTP, I2C / SMBus-based MCTP, Gen-Z-based MCTP, and I3C-based MCTP. In various embodiments, the second physical layer component 618 may include PCIe, I2C / SMBus, Gen-Z, and I3C.
[0052] FIG. 7A is an illustration of an exemplary operation flow showing exemplary operations associated with the disclosed system according to an exemplary embodiment of the present disclosure. In some embodiments, the operation flow associated with FIG. 7A may be implemented substantially by a management processor such as an EBOF processor or a similar device described herein. At block 702, the disclosed system may receive in-band data from a management device via a first port. In some embodiments, the management device may include a BMC device. At block 704, the disclosed system may generate routing information for routing in-band data to at least one storage device in the base station. At block 706, the disclosed system may apply the routing information to the header of a packet of data associated with the in-band data. In various embodiments, the header may include information based on the Management Component Transport Protocol (MCTP) based on Transmission Control Protocol (TCP), and the packet is transmitted to the management processor via TCP Internet Protocol (IP) based on Ethernet Protocol. Furthermore, the routing information may include an IP address associated with an endpoint device (e.g., a given Ethernet-based solid-state storage device in the base station). At block 708, the disclosed system can transmit in-band data to a storage device via a second port based on routing information. Furthermore, in various embodiments, in-band data can be transmitted to a second storage device within the storage device via a switch. In some embodiments, the in-band data may include firmware upgrades.
[0053] FIG. 7B is an illustration of another exemplary operation flow showing exemplary operation associated with the disclosed system according to an exemplary embodiment of the present disclosure. In some embodiments, the operation flow associated with FIG. 7B may be implemented substantially by a storage device such as an Ethernet-based solid-state storage device or other network-attached storage device. At block 722, the disclosed system may generate routing information for routing in-band data to at least one management device in the base station. At block 724, the disclosed system may apply the routing information to the header of a packet of data associated with the in-band data. In various embodiments, the header may include information based on the Management Component Transport Protocol (MCTP) based on Transmission Control Protocol (TCP) and the packet may be transmitted to the management processor via the TCP Internet Protocol (IP) based on Ethernet Protocol. At block 726, the disclosed system may transmit in-band data to the management device via a port based on the routing information. Furthermore, in various embodiments, in-band data may be transmitted to a second storage device in the storage device via a switch. In some embodiments, the in-band data may include firmware upgrades.
[0054] FIG8 illustrates an exemplary schematic diagram of a system that can be used to practice embodiments of the present disclosure. As shown in FIG8, this specific embodiment may include one or more management computing entities 800, one or more networks 805, and one or more user devices 810. In various embodiments, the management computing entity 800 may be configured to perform operations associated with the disclosed system and the relevant embodiments set forth throughout this disclosure. Furthermore, the management computing entity 800 may reside in any suitable part of the disclosed system (e.g., a management device such as a BMC, a management processor such as an EBOF processor, a storage device such as an Ethernet-based solid-state storage device, a remote host, another device, a combination thereof, and / or the like). Each of these components, entities, devices, systems, and similar terms, which are used interchangeably herein, may communicate directly or indirectly with each other, for example, via the same or different wired or wireless networks. Additionally, although FIG8 shows various system entities as separate, independent entities, the various embodiments are not limited to this specific architecture. Furthermore, the management computing entity 800 may include the machine learning components set forth herein. As described above, any suitable protocol further elaborated herein may be used to implement communication.
[0055] FIG9 illustrates an example schematic diagram of a management computing entity according to an exemplary embodiment of the present disclosure. As described above, the management computing entity may be configured to perform operations associated with the disclosed system and the relevant embodiments described throughout this disclosure. Furthermore, the management computing entity 900 (similar to the management computing entity 800 shown in FIG8) may reside in any suitable part of the disclosed system. Specifically, content components may be used to determine signals (e.g., video, audio, text, data, combinations thereof, and / or the like) of indication data to be transmitted via the system described herein. In another embodiment, the determination of the signals to be transmitted may be based, for example, on user input to the device, a predetermined schedule of data transmission on a network associated with the system, changes in network conditions, and / or the like. In one embodiment, the signals may include data that may be encapsulated in data frames and / or packets configured to be sent from the device to one or more devices on the network.
[0056] In another embodiment, processing element 905 can be used to determine various parameters associated with data transmitted via a network associated with the disclosed system. As another example, processing element 905 can be used to perform operations such as running models on network data, running machine learning techniques on parameters associated with different performance capabilities of network clusters, determining the distribution, combination, and / or similar operations of workloads to be processed by various clusters of the network architecture.
[0057] In one embodiment, a transmission component (not shown) may be used to transmit a signal from one device on a network to another. For example, the transmission component may be used to prepare a transmitter (e.g., transmitter 1004 shown in FIG. 10 below) for transmitting a signal over the network. For example, the transmission component may queue data in one or more buffers, verify that the transmission device and associated transmitter are functional and have sufficient power to transmit the signal over the network, and adjust one or more parameters associated with data transmission (e.g., modulation type, signal amplification, signal power level, noise suppression, combinations thereof, and / or the like).
[0058] Generally speaking, the terms computing entity, computer, entity, device, system and / or similar interchangeable terms used herein may refer to, for example, one or more computers, computing entities, desktop computers, mobile phones, tablets, phablets, notebook computers, laptops, distributed systems, game consoles (e.g., Xbox, PlayStation, Wii), watches, glasses, iBeacon, proximity beacon, key fob, RFID tag, headphones, scanners, televisions, server dongles, cameras, wristbands, wearable items / devices, information stations, input terminals, servers or server networks, blades, gateways, switches, processing devices, processing entities, set-top boxes, relays, routers, network access points, base stations, the like, and / or any combination of devices or entities suitable for performing the functions, operations and / or processes set forth herein. Such functions, operations, and / or processes may include, for example, transmitting, receiving, manipulating, processing, displaying, storing, determining, creating / generating, monitoring, evaluating, comparing, and / or similar terms used interchangeably herein. In one embodiment, these functions, operations, and / or processes may be implemented on data, content, information, and / or similar terms used interchangeably herein.
[0059] As indicated, in one embodiment, the management computing entity 900 may also include one or more communication interfaces 920 for communicating with various computing entities, for example, by transmitting data, content, information, and / or similar terms interchangeable herein (which can be transmitted, received, manipulated, processed, displayed, stored, and / or similarly operated). For example, the management computing entity 900 may communicate with user devices and / or various other computing entities.
[0060] As shown in FIG. 9, in one embodiment, the management computing entity 900 may include one or more processing elements 905 (also referred to as processors, processing circuitry, and / or similar interchangeable terms herein) (e.g., communicating with other elements within the management computing entity 900 via buses) or communicating with said one or more processing elements 905. It should be understood that the processing element 905 may be implemented in a variety of different ways. For example, the processing element 905 may be implemented as one or more complex programmable logic devices (CPLDs), microprocessors, multi-core processors, coprocessors, application-specific instruction-set processors (ASIPs), microcontrollers, and / or controllers. Furthermore, the processing element 905 may be implemented as one or more other processing devices or circuitry. The term "circuitryry" may refer to a completely hardware embodiment or a combination of hardware and computer program products. Therefore, processing element 905 can be implemented as an integrated circuit, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a programmable logic array (PLA), a hardware accelerator, other circuit systems, and / or the like. Thus, it should be understood that processing element 905 can be configured for a particular purpose or configured to execute instructions stored in volatile or non-volatile media or otherwise accessible by processing element 905. In this way, whether configured by a hardware or computer program product or a combination thereof, processing element 905 can perform the steps or operations according to embodiments of this disclosure when configured accordingly.
[0061] In one embodiment, the management computing entity 900 may further include or communicate with non-volatile media (also referred to as non-volatile storage, memory, memory storage, memory circuitry, and / or similar interchangeable terms herein). In one embodiment, the non-volatile storage or memory may include one or more non-volatile storage or memory media 910, including but not limited to hard drives, ROMs, PROMs, EPROMs, EEPROMs, flash memory, MMC, SD memory cards, memory sticks, CBRAMs, PRAMs, FeRAMs, NVRAMs, MRAMs, RRAMs, SONOS, FJG RAMs, millimeter memory, runway memory, and / or the like. It should be appreciated that non-volatile storage or memory media may store databases, database examples, database management systems, data, applications, programs, program components, scripts, source code, program code, object code, bytecode, compiled code, interpreted code, machine code, executable instructions, and / or the like. The terms database, database instance, database management system, and / or similar interchangeable terms herein may refer to a collection of records or data stored on a computer-readable storage medium using one or more database models, such as hierarchical database models, network models, relational models, entity-relational models, object models, file models, semantic models, graph models, and / or similar models.
[0062] In one embodiment, the management computing entity 900 may further include volatile media (also referred to as volatile storage, memory, memory bank, memory circuitry, and / or similar terms used interchangeably herein) or communicate with said volatile media. In one embodiment, the volatile storage or memory may also include one or more volatile storage or memory media 915, including but not limited to RAM, DRAM, SRAM, FPM DRAM, EDO DRAM, SDRAM, DDR SDRAM, DDR2 SDRAM, DDR3 SDRAM, RDRAM, TTRAM, T-RAM, Z-RAM, RIMM, DIMM, SIMM, VRAM, cache memory, temporary register memory, and / or the like. It should be recognized that volatile storage or memory media can be used to store at least a portion of databases, database examples, database management systems, data, applications, programs, program components, scripts, source code, program code, object code, bytecode, compiled code, interpreted code, machine code, executable instructions, and / or the like, executed by, for example, processing element 905. Therefore, databases, database examples, database management systems, data, applications, programs, program components, scripts, object code, bytecode, compiled code, interpreted code, machine code, executable instructions, and / or the like can be used, with the assistance of processing element 905 and the operating system, to control and manage certain aspects of the operation of computing entity 900.
[0063] As indicated, in one embodiment, the management computing entity 900 may also include one or more communication interfaces 920 for communicating with various computing entities, for example, by transmitting data, content, information, and / or similar terms interchangeable herein (which can be transmitted, received, manipulated, processed, displayed, stored, and / or similarly operated). Such communication may be performed using wired data transmission protocols such as: Fast Peripheral Component Interconnect (PCIe), Fiber Distributed Data Interface (FDDI), Digital Subscriber Line (DSL), Ethernet, Asynchronous Transfer Mode (ATM), Frame Trunk, Data Over Cable Service Interface Specification (DOCSIS), or any other wired transmission protocol.Similarly, the management computing entity 800 can be configured to communicate via a wireless external communication network using any of the following protocols: General Packet Radio Service (GPRS), Universal Mobile Telecommunications System (UMTS), Code-Division Multiple Access 2000 (CDMA2000), CDMA2000 1X (1x radio transmission technology, RTT), Wideband Code Division Multiple Access (WCDMA), Time Division-Synchronous Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), Evolved Universal Terrestrial Radio Access Network (E-UTRAN), Evolution-Data Optimized (EVDO), High Speed Packet Access (HSPA), and High-Speed Downlink Packet Access. Downlink Packet Access (HSDPA), IEEE 802.11 (Wi-Fi), Wi-Fi Direct, 802.16 (worldwide interoperability for microwave access, WiMAX), Ultra-Wideband (UWB), Infrared (IR) protocol, Near Field Communication (NFC) protocol, ZigBee, Bluetooth protocol, 5G protocol, Universal Serial Bus (USB) protocol, and / or any other wireless protocol.
[0064] Although not shown, the management computing entity 900 may include one or more input devices (e.g., keyboard input, mouse input, touchscreen / display input, motion input, mobile input, audio input, pointing device input, joystick input, keypad input, and / or similar input) or communicate with said one or more input devices. The management computing entity 900 may also include one or more output devices (not shown) (e.g., audio output, video output, screen / display output, motion output, mobile output, and / or similar output) or communicate with said one or more output devices.
[0065] It should be understood that one or more components of the management computing entity 900 may be located remotely from other management computing entity 900 components, for example, in a distributed system. Furthermore, one or more additional components that can be combined and perform the functions described herein may be included in the management computing entity 900. Therefore, the management computing entity 900 can be adapted to various needs and environments. It should be recognized that these architectures and descriptions are provided for illustrative purposes only and are not limited to various embodiments.
[0066] A user may be an individual, family, company, organization, entity, department within an organization, representative of an organization and / or individual, and / or the like. In one instance, a user may be an employee, resident, customer, and / or the like. For example, a user may operate a user device, which includes one or more components functionally similar to one or more components of the management computing entity 900.
[0067] In each state, the processing component, transmission component, and / or receiving component (not shown) may be configured to operate on one or more states, which may include states that manage the functions of computing entities, as shown and illustrated herein in conjunction with Figures 8 and 9. Specifically, the processing component, transmission component, and / or receiving component may be configured to communicate with one or more processing elements 905, memory 910, volatile memory 915, and may include a communication interface 920 (e.g., to facilitate communication between devices).
[0068] FIG10 illustrates an exemplary schematic diagram of a user device according to an exemplary embodiment of the present disclosure. FIG10 provides an illustrative schematic representation of a user device 1010 (shown in conjunction with FIG10) that can be used in conjunction with embodiments of the present disclosure. Generally, the terms device, system, computing entity, entity, and / or similar interchangeable terms herein may refer to, for example, one or more computers, computing entities, desktop computers, mobile phones, tablet computers, large-screen phones, notebook computers, laptop computers, distributed systems, game consoles (e.g., Xbox, Game Center, Wii), watches, glasses, keychains, radio frequency identification (RFID) tags, headphones, scanners, cameras, wristbands, information stations, input terminals, servers or server networks, blades, gateways, switches, processing devices, processing entities, set-top boxes, relays, routers, network access points, base stations, the like, and / or any combination of devices or entities suitable for performing the functions, operations, and / or processes set forth herein. User device 1010 may be operated by various parties. As shown in FIG10, the user device 1010 may include an antenna 1012, a transmitter 1004 (e.g., a radio), a receiver 1006 (e.g., a radio), and a processing element 1008 (e.g., a CPLD, FPGA, microprocessor, multi-core processor, coprocessor entity, ASIP, microcontroller, and / or controller), the processing element 1008 providing signals to the receiver 1006 and receiving signals from the transmitter 1004.
[0069] The signals provided to receiver 1006 and received from transmitter 1004 may include signaling information according to the air interface standard of the applicable wireless system. In this regard, user device 1010 may be able to operate with one or more air interface standards, communication protocols, modulation types, and access types. More specifically, user device 1010 may operate according to any of a variety of wireless communication standards and protocols (such as those described above with respect to the management computing entity 900 shown in FIG9). In a particular embodiment, user device 1010 may operate according to a variety of wireless communication standards and protocols, such as the disclosed Internet of Things (IoT) DOCSIS protocol, UMTS, CDMA2000, 1xRTT, WCDMA, TD-SCDMA, LTE, E-UTRAN, EVDO, HSPA, HSDPA, 5G, Wi-Fi, Wi-Fi Direct, WiMAX, UWB, IR, NFC, Bluetooth, USB, and / or similar protocols. Similarly, user device 1010 can operate via network interface 1020 according to various wired communication standards and protocols (such as those described above for management computing entity 900).
[0070] Through these communication standards and protocols, user device 1010 can communicate with various other entities using concepts such as Unstructured Supplementary Service Data (USSD), Short Message Service (SMS), Multimedia Messaging Service (MMS), Dual-Tone Multi-Frequency Signaling (DTMF), and / or Subscriber Identity Component Dialer (SIM dialer). User device 1010 can also download changes, add-ons, and updates to its firmware, software (including executable instructions, applications, and program components), and operating system.
[0071] According to one embodiment, user device 1010 may include location determination patterns, devices, components, functions, and / or similar terms used interchangeably herein. Location determination patterns can be used to inform the management computing entity of one or more of the models and / or machine learning techniques described herein. For example, user device 1010 may include an outdoor location pattern, such as a location component adapted to acquire, for example, latitude, longitude, altitude, geocoding, route, direction, heading, speed, universal time (UTC), date, and / or various other information / data. In one embodiment, the location component may acquire data, sometimes referred to as ephemeris data, by identifying the number of visible satellites and the relative positions of those satellites. The satellite can be a variety of different satellites, including Low Earth Orbit (LEO) satellite systems, Department of Defense (DOD) satellite systems, the European Union Galileo positioning system, the Chinese Compass navigation system, the Indian Regional Navigational Satellite System, and / or similar systems. Alternatively, location information can be determined by triangulation of the user device 1010's location using various other systems, including cellular towers, WiFi access points, and / or the like. Similarly, the user device 1010 may include indoor positioning features, such as positioning components suitable for acquiring information / data such as latitude, longitude, altitude, geocoding, route, direction, heading, speed, time, date, and / or various other information / data. Some indoor systems may utilize various position or location technologies, including RFID tags, indoor beacons or transmitters, WiFi access points, cellular towers, nearby computing devices (e.g., smartphones, laptops), and / or the like. For example, such technologies may include iBatron, gimbal proximity beacons, Bluetooth Low Energy (BLE) transmitters, NFC transmitters, and / or the like. These indoor positioning methods can be used in various settings to determine the location of a person or object within inches or centimeters.
[0072] User device 1010 may also include a user interface (which may include a display 1016 coupled to processing element 1008) and / or a user input interface (coupled to processing element 1008). For example, a user interface may be a user application, browser, user interface, and / or similar interchangeable terms used herein, as set forth herein, that executes on and / or can be accessed by user device 1010 to interact with management computing entity 900 and / or cause information from management computing entity 900 to be displayed. A user input interface may include any of a plurality of devices or interfaces that enable user device 1010 to receive data (e.g., keypad 1018 (hard or soft), touch display, sound / voice or motion interface, or other input device). In embodiments including a keypad 1018, the keypad 1018 may include (or display) conventional numeric codes (0 to 9) and related keys (#, *), as well as other keys for operating the user device 1010, and may include a complete set of letter keys or a set of keys that can be activated to provide a complete set of alphanumeric keys. In addition to providing input, the user input interface may also be used to, for example, activate or deactivate certain functions, such as a screen saver and / or sleep mode.
[0073] The user device 1010 may also include volatile storage or memory 1022 and / or non-volatile storage or memory 1024, which may be embedded and / or removable. For example, non-volatile memory may be ROM, PROM, EPROM, EEPROM, flash memory, MMC, SD memory card, Memory Stick, CBRAM, PRAM, FeRAM, NVRAM, MRAM, RRAM, SONOS, FJG RAM, millimeter memory, runway memory, and / or the like. Volatile memory may be RAM, DRAM, SRAM, FPM DRAM, EDO DRAM, SDRAM, DDR SDRAM, DDR2 SDRAM, DDR3 SDRAM, RDRAM, TTRAM, T-RAM, Z-RAM, RIMM, DIMM, SIMM, VRAM, cache memory, temporary memory, and / or the like. Volatile and non-volatile storage or memory may store databases, database examples, database management systems, data, applications, programs, program components, scripts, source code, object code, bytecode, compiled code, interpreted code, machine code, executable instructions, and / or the like to implement the functions of user device 1010. As indicated, this may include user applications residing on the entity or accessible via a browser or other user interface for communicating with management computing entity 900 and / or various other computing entities.
[0074] In another embodiment, the user device 1010 may include one or more components or functions that are the same as or similar to those of the management computing entity 900, as described in more detail above. It should be understood that these architectures and descriptions are provided for illustrative purposes only and are not limited to various embodiments.
[0075] Some embodiments may be implemented in one or a combination of hardware, firmware, and software. Other embodiments may also be implemented as instructions stored on a computer-readable storage device that can be read and executed by at least one processor to perform the operations set forth herein. A computer-readable storage device may include any non-transitory memory mechanism for storing information in a form readable by a machine (e.g., a computer). For example, a computer-readable storage device may include read-only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices, and other storage devices and media.
[0076] The term "exemplary" is used herein to mean "serving as an example, illustration, or illustration." Any embodiment set forth herein as "exemplary" is not necessarily to be construed as being more preferred or advantageous than other embodiments. The terms "computing device," "user device," "communication station," "station," "handheld device," "mobile device," "wireless device," and "user equipment (UE)" as used herein refer to wireless communication devices, such as cellular phones, smartphones, tablet computers, portable eNet devices, wireless terminals, laptops, femtocells, high data rate (HDR) user stations, access points, printers, point-of-sale devices, access terminals, or other personal communication system (PCS) devices. The devices may be in either a mobile or stationary state.
[0077] The term "communication" as used herein is intended to include transmission or reception, or both. This may be particularly useful in the claims when describing the organization of data transmitted by one device and received by another device, but infringement of the claims requires only the functionality of one of those devices. Similarly, bidirectional data exchange between two devices (during which both devices transmit and receive) may be described as "communication in progress," in which case only the functionality of one of those devices is claimed. The term "communication in progress" as used herein with respect to wireless communication signals includes transmitting wireless communication signals and / or receiving wireless communication signals. For example, a wireless communication unit capable of transmitting wireless communication signals may include a wireless transmitter that transmits wireless communication signals to at least one other wireless communication unit, and / or a wireless communication receiver that receives wireless communication signals from at least one other wireless communication unit.
[0078] Some embodiments can be used with various devices and systems, such as: personal computers (PCs), desktop computers, mobile computers, laptops, notebook computers, tablet computers, server computers, handheld computers, handheld devices, personal digital assistant (PDA) devices, handheld PDA devices, on-board devices, non-vehicle devices, hybrid devices, vehicular devices, non-vehicle devices, mobile or portable devices, consumer devices, non-mobile or non-portable devices, wireless communication stations, wireless communication devices, wireless access points (APs), wired or wireless routers, wired or wireless modems, video devices, audio devices, audio-video (A / V) devices, wired or wireless networks, wireless local area networks, wireless video area networks (WVANs), local area networks (LANs), wireless LANs (WLANs), and personal area networks (PANs). Network PAN (PAN), Wireless PAN (WPAN), and the like.
[0079] Some embodiments may incorporate one-way and / or two-way radio communication systems, cellular radio-telephone communication systems, mobile phones, cellular phones, wireless phones, personal communication system (PCS) devices, PDA devices incorporating wireless communication devices, mobile or portable global positioning system (GPS) devices, devices incorporating GPS receivers or transceivers or chips, devices incorporating RFID elements or chips, multiple input multiple output (MIMO) transceivers or devices, single input multiple output (SIMO) transceivers or devices, multiple input single output (MISO) transceivers or devices, devices having one or more internal antennas and / or external antennas, digital video broadcasting (DVB) devices or systems, multi-standard radio devices or systems, wired or wireless handheld devices (e.g., smartphones), Wireless Application Protocol (WAP) devices, or the like.
[0080] Some embodiments may be used in conjunction with one or more types of wireless communication signals and / or systems following one or more wireless communication protocols, such as: Radio Frequency (RF), Infrared (IR), Frequency-Division Multiplexing (FDM), Orthogonal FDM (OFDM), Time-Division Multiplexing (TDM), Time-Division Multiple Access (TDMA), Extended TDMA (E-TDMA), General Packet Radio Service (GPRS), Extended GPRS, Code Division Multiple Access (CDMA), Wideband CDMA, CDMA 2000, Single-Carrier CDMA, Multi-Carrier CDMA, Multi-Carrier Modulation (MDM), Discrete Multi-Tone (DMT), Bluetooth™, Global Positioning System (GPS), Wi-Fi, Wi-Max, ZigBee™, Ultra-Wideband (UWB), Global System for Mobile Communications (GSMC). Communication, GSM, 2G, 2.5G, 3G, 3.5G, 4G, fifth-generation (5G) mobile networks, 3rd Generation Partnership Project (3GPP), Long Term Evolution (LTE), LTE Advanced, Enhanced Data Rates for GSM Evolution (EDGE), or the like. Other embodiments can be used in a variety of other devices, systems, and / or networks.
[0081] Although exemplary processing systems have been described above, embodiments of the objects and functions described herein may be implemented in other types of digital electronic circuit systems, or in computer software, firmware or hardware (including the structures disclosed herein and their structural equivalents), or in a combination of one or more of them.
[0082] The embodiments of the objects and operations described herein may be implemented in digital electronic circuit systems, or in computer software, firmware or hardware (including the structures disclosed herein and their structural equivalents), or in a combination of one or more of them. The embodiments of the subject matter described herein can be implemented as one or more computer programs (i.e., one or more components of computer program instructions encoded on a computer storage medium for execution by an information / data processing device or for controlling the operation of an information / data processing device). Alternatively or additionally, the program instructions may be encoded on artificially generated propagation signals (e.g., machine-generated electrical, optical, or electromagnetic signals) that are generated to encode information / data for transmission to a suitable receiver device for execution by the information / data processing device. The computer storage medium may be or be included in a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination thereof. Furthermore, although the computer storage medium is not a propagation signal, it may be a source or destination of computer program instructions encoded in artificially generated propagation signals. The computer storage medium may also be or be included in one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices).
[0083] The operations described herein can be performed by an information / data processing device on information / data stored on one or more computer-readable storage devices or received from other sources.
[0084] The term "data processing apparatus" encompasses all kinds of devices, apparatuses, and machines used for processing data, including, for example, programmable processors, computers, system-on-a-chip (SoC), or a combination of the foregoing. The apparatus may include dedicated logic circuit systems, such as FPGAs (Field-Programmable Gate Arrays) or ASICs (Application-Specific Integrated Circuits). In addition to hardware, the apparatus may also include code that creates an execution environment for the computer program under consideration, such as code constituting processor firmware, protocol stacks, database management systems, operating systems, cross-platform runtime environments, virtual machines, or combinations thereof. The apparatus and execution environment can implement various different computing model infrastructures, such as web services, distributed computing, and grid computing infrastructures.
[0085] A computer program (also known as a program, software, software application, script, or code) may be written in any form of programming language (including compiled or interpreted languages, declarative or procedural languages), and may be deployed in any form (including as a standalone program or as a component, subroutine, object, or other unit suitable for use in a computing environment). A computer program may (but is not required to) correspond to a file in a file system. A program may be stored as part of a file that stores other programs or information / data (e.g., one or more scripts stored in a markup language file), in a single file dedicated to the program in question, or in multiple collaborating files (e.g., files that store portions of one or more components, subroutines, or code). A computer program may be deployed to execute on a single computer, at a single site, or across multiple computers distributed across multiple sites and interconnected by a communications network.
[0086] The processes and logic described herein can be implemented by one or more programmable processors executing one or more computer programs to perform actions by manipulating input information / data and generating outputs. Processors suitable for executing computer programs include, for example, both general-purpose microprocessors and special-purpose microprocessors, and any one or more processors of any type of digital computer. Generally, a processor receives instructions and information / data from read-only memory or random access memory, or both. The basic components of a computer are a processor that performs actions according to instructions and one or more memory devices for storing instructions and data. Generally, a computer will also contain information / data or be operatively coupled to receive information / data from or transfer information / data to one or more mass storage devices (e.g., magnetic disks, magnetic-optical disks, or optical disks) for storing data, or perform both operations. However, a computer does not require such a device. Devices suitable for storing computer program instructions and information / data include all forms of non-volatile memory, media, and memory devices, such as: semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks or removable disks; magnetic-optical disks; and CD-ROM and DVD-ROM disks. Processors and memory may be supplemented by or integrated into dedicated logic circuitry systems.
[0087] To provide interaction with the user, embodiments of the subject matter described herein can be implemented on a computer having a display device (e.g., a cathode ray tube (CRT) or liquid crystal display (LCD) monitor) for displaying information / data to the user, and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including auditory input, voice input, or tactile input). Additionally, the computer can interact with the user by sending files to and receiving files from the user's device; for example, by sending a webpage to a web browser on the user's client device in response to a request received from a web browser.
[0088] The embodiments of the subject matter described herein can be implemented in a computing system that includes a back-end component (e.g., an information / data server), or a middleware component (e.g., an application server), or a front-end component (e.g., a client computer having a graphical user interface or web browser through which a user can interact with the embodiments of the subject matter described herein), or any combination of one or more such back-end components, middleware components, or front-end components. The components of the system can be interconnected via any form or medium of digital information / data communication (e.g., a communication network). Examples of communication networks include local area networks (LANs and wide area networks, WANs), intranets (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks).
[0089] The computing system may include a client and a server. The client and server are generally geographically separated and typically interact via a communication network. The client-server relationship arises from computer programs running on their respective computers and having a client-server relationship with each other. In some embodiments, the server transmits information / data (e.g., HyperText Markup Language (HTML) pages) to the client device (e.g., for the purpose of displaying information / data to a user interacting with the client device and receiving user input from said user). Information / data generated at the client device (e.g., the result of user interaction) may be received at the server from the client device.
[0090] Although this specification contains numerous details of specific embodiments, these details should not be construed as limiting any embodiment or the scope that may be claimed, but rather as descriptions of specific features of particular embodiments. Certain features set forth herein in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features set forth herein in the context of a single embodiment may also be implemented separately in multiple embodiments or in any suitable sub-combination. Furthermore, although features may be set forth above as functioning in certain combinations and even initially claimed as such, in some cases, one or more features from the claimed combination may be removed from said combination, and the claimed combination may have sub-combinations or variations thereof.
[0091] Similarly, although operations are shown in a specific order in the diagrams, this should not be construed as requiring these operations to be performed in the specific order or sequence shown, or requiring all shown operations to achieve the desired result. In some cases, multitasking and parallel processing may be advantageous. Furthermore, the separation of various system components in the above embodiments should not be construed as requiring such separation in all embodiments, and should be understood as meaning that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
[0092] Therefore, specific embodiments of the subject matter have been described. Other embodiments fall within the scope of the following claims. In some cases, the actions listed in the claims can be performed in a different order and still achieve the desired result. Furthermore, the processes illustrated in the drawings do not necessarily require the specific order or sequence shown to achieve the desired result. In some embodiments, multitasking and parallel processing may be advantageous.
[0093] Those skilled in the art to which these embodiments pertain will conceive of many modifications and other embodiments of the present disclosure set forth herein, thanks to the foregoing description and the teachings presented in the associated drawings. Therefore, it should be understood that the embodiments are not limited to the specific embodiments disclosed, and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are used herein, they are used in a general and illustrative sense only and not for limiting purposes. [Simplified Explanation of the Diagram]
[0013] The above and other aspects of this technology will be better understood when reading this application with reference to the following figures, in which the same numbers indicate similar or identical elements. Furthermore, the figures provided herein are for illustrative purposes only; other embodiments not explicitly shown are not excluded from the scope of this disclosure.
[0014] These and other features and advantages of this disclosure will be understood and appreciated by referring to the specification, the claims, and the drawings, in which: FIG1 is an example of an exemplary first view of the disclosed system for in-band and out-of-band communication of a device associated with a base station according to an exemplary embodiment of the present disclosure. FIG2 is an example of an exemplary second view of the disclosed system for in-band and out-of-band communication of a device associated with a base station according to an exemplary embodiment of the present disclosure. FIG3 is an example of an exemplary flowchart according to an exemplary embodiment of the present disclosure, illustrating exemplary operation for information exchange between a management device, such as a baseboard management component (BMC), and a processor (e.g., a processor associated with the base station). FIG4 illustrates an exemplary flowchart according to an exemplary embodiment of the present disclosure, illustrating exemplary operation for information exchange between the BMC and a network-attached storage device, such as an Ethernet solid-state drive (SSD). FIG5 illustrates a diagram of packets of information that can be transmitted between various parts of the disclosed system according to an exemplary embodiment of the present disclosure. Figure 6 is an illustration of exemplary features of a base-related protocol stack according to an exemplary embodiment of the present disclosure. Figure 7A is an illustration of an exemplary operation flow illustrating exemplary operations associated with the disclosed system according to an exemplary embodiment of the present disclosure. Figure 7B is an illustration of another exemplary operation flow illustrating exemplary operations associated with the disclosed system according to an exemplary embodiment of the present disclosure. Figure 8 illustrates an exemplary schematic diagram of a system that can be used to practice embodiments of the present disclosure. Figure 9 illustrates an exemplary schematic diagram of a management computing entity according to an exemplary embodiment of the present disclosure. Figure 10 illustrates an exemplary schematic diagram of a user device according to an exemplary embodiment of the present disclosure.
[0015] Although the present technology is susceptible to various modifications and alternatives, specific embodiments thereof are illustrated by way of example in the drawings and will be described herein. The drawings may not be drawn to scale. However, it should be understood that the drawings and their detailed description are not intended to limit the present technology to the specific forms disclosed, but rather are intended to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present technology as defined in the appended claims.
Claims
1. A system for storage, comprising: Storage device; The storage device includes a management unit communicatively connected to the storage device, wherein the management unit: transmits first data of a first type to the storage device via a first path, the first path being connected to a first layer, a binding layer, and a platform layer data model (PLDM) layer of a protocol stack associated with the storage device; and transmits second data of a second type, different from the first type, to the storage device via a second path, the second path being connected to the binding layer and the PLDM layer.
2. The system as described in claim 1, further comprising: A management processor, communicatively connected between the management device and the storage device, is configured to determine routing information for routing the first data to the storage device.
3. The system as described in claim 2, wherein the management processor includes an Ethernet Flash Beam (EBOF) processor.
4. The system as claimed in claim 2 further includes a switch, wherein the management processor routes the first data from the management device to the second storage device via the switch.
5. The system as described in claim 1, wherein: The first type of data includes in-band data; and the second type of data includes out-of-band data.
6. The system as described in claim 5, wherein the first data includes management data.
7. The system as described in claim 1, wherein: The first path has a first performance characteristic; and the second path has a second performance characteristic that is different from the first performance characteristic.
8. The system as described in claim 1, wherein the first layer includes a Management Component Transport Protocol (MCTP) layer based on Transmission Control Protocol (TCP).
9. The system as claimed in claim 1, wherein the binding layer includes a Management Component Transport Protocol (MCTP) binding layer.
10. The system of claim 1, wherein the management device includes at least one of a baseboard management controller (BMC), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or a processor.
11. The system of claim 1, wherein the storage device comprises: Connect to the Ethernet port of the first path; And an integrated circuit (I2C) port or system management bus (SMBus) port connected to the second path.
12. The system as claimed in claim 1, wherein the first data includes firmware upgrades or security certificates.
13. An apparatus for implementing communication management, comprising: At least one memory device for storing computer-executable instructions; And at least one processor configured to access the at least one memory device, wherein the at least one processor is configured to execute the computer-executable instructions to: transfer first data of a first type to the storage device via a first path, the first path being connected to a first layer, a bonding layer, and a platform layer data model (PLDM) layer of a protocol stack associated with the storage device; and transfer second data of a second type different from the first type to the storage device via a second path, the second path being connected to the bonding layer and the PLDM layer.
14. The apparatus as claimed in claim 13, wherein: The first type of data includes in-band data; and the second type of data includes out-of-band data.
15. The apparatus of claim 14, wherein the first data includes management data.
16. The apparatus as claimed in claim 13, wherein: The first path has a first performance characteristic; and the second path has a second performance characteristic that is different from the first performance characteristic.
17. The apparatus of claim 13, wherein the first layer includes a Management Component Transport Protocol (MCTP) layer based on Transmission Control Protocol (TCP).
18. The apparatus of claim 13, wherein the binding layer includes a Managed Component Transport Protocol (MCTP) binding layer.
19. The apparatus of claim 13, wherein the first data includes firmware upgrades or security certificates.
20. A method for implementing communication management, comprising: The first device transmits first type of first data to the storage device via a first path, the first path being connected to a first layer, a binding layer, and a platform layer data model (PLDM) layer of a protocol stack associated with the storage device; and the first device transmits second type of second data, different from the first type, to the storage device via a second path, the second path being connected to the binding layer and the PLDM layer.
Citation Information
Patent Citations
Gateway service platform apparatus and service system
TWM596379U
Method and system for platform level data model for indications based event control and data transfer
US20080235363A1
Method and system for controlling information of logical division in a storage controller
US20100122028A1
Methods and policies to support a quality-of-storage network
US20150312124A1
Data center management via out-of-band, low-pin count, external access to local motherboard monitoring and control
US20170116103A1
