WIFI packet integration
WIFI packet coalescing in computing devices addresses sporadic packet activity to enhance power management, reducing power consumption and improving battery life by maintaining consistent idle periods.
Patent Information
- Application Number
- JP2025519092
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-03-31
- Filing Date
- 2023-10-06
- Publication Date
- 2025-10-03
AI Technical Summary
Computing devices, particularly those operating on battery power, face inefficiencies in power management due to sporadic WIFI packet activity disrupting low-power states, leading to suboptimal power consumption.
Implementing WIFI packet coalescing by detecting trigger conditions and sending notifications to endpoint devices to buffer packets, allowing for more consistent idle periods and deeper low-power states through packet coalescing.
Enhances power management by reducing overall power consumption and improving battery life by maintaining low-power states more effectively.
Smart Images

Figure 2025533071000001_ABST
Abstract
Description
[Technical Field]
[0001] (Related Applications) This application claims priority to U.S. Patent Application No. 18 / 194,311, filed March 31, 2023, entitled "WIFI® PACKET COALESCING," which claims the benefit of U.S. Provisional Patent Application No. 63 / 414,444, filed October 7, 2022, the disclosure of which is incorporated herein by reference in its entirety. [Background technology]
[0002] Computing devices, particularly those that operate on battery power, often have power management policies to more efficiently utilize available power resources. For example, a computing device enters a low-power state, trading off reduced computing performance for reduced power consumption. The low-power state often enters an idle period during which activity (e.g., input / output (I / O) activity) is low so as not to adversely affect the user experience. The low-power state may be interrupted and automatically terminated depending on the activity. However, some types of activity, such as WIFI packet activity (e.g., WIFI network traffic / activity), may be of a sporadic nature such that the low-power state is not effectively utilized.
[0003] The accompanying drawings illustrate several exemplary embodiments and are a part of this specification, and together with the following description, these drawings demonstrate and explain various principles of the present disclosure. [Brief explanation of the drawings]
[0004] [Figure 1] FIG. 1 is a block diagram of an exemplary system for WIFI packet coalescing. [Figure 2A] FIG. 1 is a diagram relating packet activity to low power states. [Figure 2B]FIG. 1 is a diagram relating packet activity to low power states. [Figure 3] FIG. 2 is a diagram of components for an exemplary handshake between a power management module and an endpoint device. [Figure 4] FIG. 1 is a flow diagram of an exemplary method for WIFI packet coalescing. DETAILED DESCRIPTION OF THE INVENTION
[0005] Throughout the drawings, like reference numerals and descriptions indicate similar, but not necessarily identical, elements. While the exemplary embodiments described herein are susceptible to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and are described in detail herein. However, the exemplary embodiments described herein are not intended to be limited to the particular forms disclosed. Rather, the present disclosure covers all modifications, equivalents, and alternatives falling within the scope of the appended claims.
[0006] The present disclosure is generally directed to WIFI packet coalescing. As described in more detail below, embodiments of the present disclosure determine when it is desirable to enter a low power state and initiate packet coalescing to better maintain the low power state. By doing so, the systems and methods described herein can improve the functionality of the computer itself by more efficiently managing packet activity, thereby reducing the overall power consumption of the device and improving power management.
[0007] As described in more detail below, the present disclosure describes various systems and methods for WIFI packet coalescing by determining a desired time for increasing the low power state period and instructing endpoint devices receiving packets to begin packet coalescing.
[0008] In one example, a device for WIFI packet coalescing includes a controller configured to (i) detect a trigger condition for packet coalescing of packet traffic, (ii) send a notification to an endpoint device to initiate packet coalescing, and (iii) observe a status in response to initiating packet coalescing. In some examples, the controller is configured to report packet coalescing performance based on the observed status.
[0009] In some examples, the trigger condition corresponds to a power management policy. In some examples, the power management policy corresponds to at least one of a low power mode or a battery power mode (e.g., a DC mode). In some examples, the power management policy corresponds to power consumption based on a current workload. In some examples, the power management policy corresponds to low input / output (I / O) activity.
[0010] In some examples, the notification includes the type of packet traffic to be coalesced. In some examples, the type of packet traffic corresponds to bulk traffic. In some examples, the type of packet traffic corresponds to isochronous traffic.
[0011] In some examples, the controller is configured to send a notification to the endpoint device via the register. In some examples, the endpoint device stores the status in the register. In some examples, the status corresponds to an observed idle period. In some examples, the controller is further configured to send feedback to the endpoint device based on the status.
[0012] In some examples, the observed idle period corresponds to a time that the endpoint device stored packets in a buffer of the endpoint device. In some examples, the controller is further configured to report packet coalescing performance by analyzing whether the observed idle period achieved a desired idle period. In some examples, the controller is further configured to report packet coalescing performance to the endpoint device to provide feedback regarding packet coalescing.
[0013] In one embodiment, a system for WIFI packet coalescing includes a notification register, a status register, and a controller, where the controller is configured to (i) detect a trigger condition for packet coalescing of packet traffic, (ii) store a notification to initiate packet coalescing in the notification register, and (iii) observe a status in the status register in response to initiating packet coalescing. In some examples, the controller is configured to report packet coalescing performance based on the observed status.
[0014] In some examples, the trigger condition corresponds to at least one of a power management policy, a low power mode, a battery power mode, power consumption based on a current workload, or low input / output (I / O) activity. In some examples, the notification includes a type of packet traffic to be coalesced. In some examples, the status corresponds to an idle period.
[0015] In some examples, the status corresponds to an observed idle period, which corresponds to the time the endpoint device stored packets in a buffer of the endpoint device. In some examples, the controller is further configured to report packet coalescing performance by analyzing whether the observed idle period achieved a desired idle period. In some examples, the controller is further configured to report packet coalescing performance via a notification register to provide feedback regarding packet coalescing.
[0016] In one embodiment, a method for WIFI packet coalescing includes (i) detecting a trigger condition corresponding to a power management policy for packet coalescing of packet traffic, (ii) sending a notification to an endpoint device via a notification register to initiate packet coalescing of a type of packet traffic, and (iii) observing idle periods of the endpoint device via a status register in response to initiating packet coalescing. In some examples, the method includes reporting packet coalescing performance based on the observed idle periods.
[0017] In some examples, the power management policy further corresponds to at least one of a low power mode, a battery power mode, power consumption based on current workload, or low input / output (I / O) activity.
[0018] In some examples, the type of packet traffic corresponds to at least one of bulk traffic or isochronous traffic. In some examples, the method further includes analyzing idle periods and sending feedback to the endpoint device based on the analysis of the idle periods.
[0019] In some examples, the observed idle period corresponds to a time that the endpoint device stored packets in a buffer of the endpoint device. In some examples, reporting the packet coalescing performance includes analyzing whether the observed idle period achieved a desired idle period. In some examples, reporting the packet coalescing performance further includes providing feedback regarding packet coalescing via a notification register.
[0020] Features of any of the embodiments described herein may be used in combination with each other in accordance with the general principles described herein. These and other embodiments, features, and advantages will be more fully understood from the following detailed description, taken in conjunction with the accompanying drawings and claims.
[0021] A detailed description of WIFI packet coalescing is provided below with reference to Figures 1-4. A detailed description of an exemplary system is provided in connection with Figure 1. A detailed description of packet activity related to low power states is provided in connection with Figures 2A-2B. A detailed description of components for an exemplary handshake between a power management module and an endpoint device is provided in connection with Figure 3. A detailed description of a corresponding computer-implemented method is also provided in connection with Figure 4.
[0022] 1 is a block diagram of an exemplary system 100 for packet coalescing. System 100 may correspond to a computing device, such as a desktop computer, a laptop computer, a server, a tablet device, a mobile device, a smartphone, a wearable device, an augmented reality device, a virtual reality device, a network device, and / or an electronic device. As shown in FIG. 1, system 100 includes one or more memory devices, such as memory 120. Memory 120 generally represents any type or form of volatile or non-volatile storage device or medium capable of storing data and / or computer-readable instructions. Examples of memory 120 include, but are not limited to, random access memory (RAM), read-only memory (ROM), flash memory, hard disk drive (HDD), solid-state drive (SSD), optical disk drive, cache, any variation or combination of one or more of these, and / or any other suitable storage memory.
[0023] 1, exemplary system 100 includes one or more physical processors, such as processor 110. Processor 110 generally represents any type or form of hardware-implemented processing unit capable of interpreting and / or executing computer-readable instructions. In some examples, processor 110 accesses and / or modifies data and / or instructions stored in memory 120. Examples of processor 110 include, but are not limited to, a microprocessor, a microcontroller, a central processing unit (CPU), a graphics processing unit (GPU), a field-programmable gate array (FPGA) implementing a soft-core processor, an application-specific integrated circuit (ASIC), a system on a chip (SoC), a digital signal processor (DSP), a neural network engine (NNE), an accelerator, a graphics processing unit (GPU), one or more portions thereof, one or more variations or combinations thereof, and / or any other suitable physical processor.
[0024] 1, processor 110 includes controller 112, notification register 114, and status register 116. Controller 112 corresponds to control circuitry and includes circuitry and / or instructions (e.g., firmware and / or software) for device power management. Notification register 114 corresponds to public / visible local storage that may be used for communication, for example, by storing notifications readable by a receiving device. Status register 116 corresponds to public / visible local storage that may be used to store status reports, as described further below.
[0025] 2A-2B show diagrams of WIFI packet activity for a computing device such as system 100. The computing device may have endpoint devices (e.g., WIFI transmitters / receivers and / or other network interface devices) that send and receive data packets for a communication protocol such as WIFI. Figure 2A shows a packet activity diagram 200, and Figure 2B shows a coalesced packet activity diagram 201 across three internet protocol (IP) channels, which in other embodiments may correspond to interrupt channels.
[0026] During idle periods (e.g., periods of time of low activity), a computing device may enter a low power state 240, in which the device's power consumption is reduced. During long enough idle periods, the device may enter a deep low power state 242, in which the device's power consumption is further reduced. However, a packet 230 may interrupt the low power state, causing the device to wake up and process the packet 230. As shown in FIG. 2A, packet 230 may be received sporadically across IP1, IP2, and IP3. If all three channels are quiescent, the device may enter a low power state. Receiving a packet along any channel interrupts the low power state. Thus, as shown in FIG. 2A, the device may have difficulty staying idle long enough to enter the deep low power state 242.
[0027] 2B illustrates how packet coalescing enables more consistent idle periods. By instructing an endpoint device to coalesce packets, the endpoint device may buffer received packets and provide the buffered packets at more regular intervals (e.g., in bursts rather than scattered). As shown in FIG. 2B, because sporadic packets are less likely to interrupt idle periods, the device may enter a deeper low power state 242 more regularly and reliably.
[0028] 2A and 2B and the examples described herein refer to WIFI packets, in other examples, the packets may correspond to other communication protocols. Additionally, while Figures 2A and 2B describe low power state 240 and deep low power state 242, in other examples, the power management of a device may include various other types of low power states.
[0029] FIG. 3 illustrates an exemplary path between a power management module and an endpoint device. FIG. 3 illustrates a device 300 corresponding to system 100. Device 300 includes a power management module 350, which in some examples corresponds to controller 112; an input / output (I / O) module 352; an interface 354; and an endpoint device 360. Power management module 350 represents circuitry and / or software (e.g., firmware) for managing power consumption of device 300, such as through power management policies. I / O module 352 represents circuitry and / or software (e.g., firmware) for communicating with input devices. Interface 354 represents circuitry and / or software (e.g., firmware) for communication between various components of device 300. Endpoint device 360 represents circuitry and / or software (e.g., firmware) for interfacing / communicating with external devices, which in some embodiments supports network communication (e.g., Wi-Fi).
[0030] To avoid using driver or processor interactions for communication between power management module 350 and endpoint device 360, in some embodiments, registers within interface 354 may be used to store messages. For example, interface 354 may have notification register 314 (corresponding to notification register 114) and status register 316 (corresponding to status register 116). Notification register 314 and / or status register 316 may be public / visible to power management module 350 and endpoint device 360.
[0031] The power management module 350 may determine when it is desirable to enable packet coalescing based on, for example, a power management policy. For example, reduced power consumption may be desirable when the device 300 is on battery power (e.g., direct current (DC) mode and / or battery saver mode). Other criteria for desiring reduced power consumption include reduced power consumption needs for the current workload, low I / O activity, etc. To notify the endpoint device 360 to begin packet coalescing, the power management module 350 may store the notification in the notification register 314 of the endpoint device 360.
[0032] In some embodiments, the notification may include additional instructions. For example, the notification may indicate what type of packet traffic to combine, such as bulk traffic, isochronous traffic (e.g., traffic delivered with time constraints, such as to ensure audio is synchronized with video), etc. Additionally, in some examples, the notification may indicate desired buffering. For example, the desired buffering may correspond to a time period (e.g., 2 ms) or a total number and / or size of packets to buffer.
[0033] The endpoint device 360 may perform packet coalescing by reading the notification from the notification register 314 and buffering the received packets. The endpoint device 360 may attempt to follow the instructions provided in the notification, although in some embodiments, the endpoint device 360 may deviate from the instructions. For example, the endpoint device 360 may choose not to buffer packets that are considered high priority or time-sensitive.
[0034] To measure buffer performance, the endpoint device 360 may store a status report in the status register 316. For example, the status report may indicate the idle period (e.g., average idle period, minimum idle period, etc.) achieved through buffering. In some examples, if buffering was not enabled, the minimum idle period may be 0 ms.
[0035] Additionally, in some embodiments, the power management module 350 may analyze the status reports. For example, the power management module 350 may determine the performance of provided instructions and provide feedback (e.g., new notifications) to the endpoint device 360 to improve the buffering scheme. In some examples, the power management module 350 may dynamically manage packet coalescing.
[0036] Figure 4 is a flow diagram of an exemplary computer-implemented method 400 for WIFI packet coalescing. The steps illustrated in Figure 4 may be performed by any suitable computer-executable code and / or computing system, including the systems illustrated in Figure 1 and / or Figure 3. In one example, each of the steps illustrated in Figure 4 represents an algorithm whose structure includes and / or is represented by multiple sub-steps, examples of which are provided in more detail below.
[0037] 4, one or more of the systems described herein detect a trigger condition for packet coalescing of packet traffic in step 402. For example, the controller 112 and / or the power management module 350 detect one or more trigger conditions for packet coalescing of packet traffic.
[0038] The systems described herein may perform step 402 in various manners. In one example, the trigger condition corresponds to a power management policy. For example, the power management policy corresponds to at least one of a low power mode, a battery power mode (e.g., a DC mode and / or a battery saver mode). In some examples, the power management policy corresponds to power consumption based on a current workload and / or low input / output (I / O) activity.
[0039] Additionally, in some examples, the notification includes the type of packet traffic being coalesced, which may correspond to bulk traffic, isochronous traffic, and / or other types of traffic.
[0040] In step 404, one or more of the systems described herein send a notification to the endpoint device to initiate packet coalescing. For example, the controller 112 and / or the power management module 350 send a notification (e.g., to the endpoint device 360) to initiate packet coalescing.
[0041] The systems described herein may perform step 404 in a variety of ways. In one example, the notification is sent to the endpoint device via a register, such as notification register 114 and / or notification register 314.
[0042] In some embodiments, the notification may include additional information and / or instructions for the endpoint device. For example, a desired idle period for traffic coalescing may be communicated to the endpoint device. The endpoint device may resume traffic after the desired idle period has elapsed. In some examples, the endpoint device may resume traffic sooner (e.g., before the desired idle period has elapsed) based on an internal indicator, such as, for example, a buffer status (e.g., a buffer is full and should be flushed), a response timer, etc. Thus, the endpoint device may resume traffic based on the earlier of the elapse of the desired idle period or an internal indicator.
[0043] In step 406, one or more of the systems described herein observe a status in response to initiating packet coalescing. For example, the controller 112 and / or the power management module 350 observe a status report (e.g., provided by the endpoint device 360) in response to initiating packet coalescing.
[0044] Systems described herein may perform step 406 in various ways. In one example, the endpoint device stores the status in a register, such as status register 116 and / or status register 316, for reading by controller 112 and / or power management module 350. In some examples, the status corresponds to an observed idle period. In some examples, the observed idle period may correspond to the buffering capabilities of the endpoint device, for example, the amount of time the endpoint device has stored packets in a buffer.
[0045] Additionally, in some embodiments, one or more of the systems described herein report packet coalescing performance based on observed status, e.g., the controller 112 and / or the power management module 350 report the packet coalescing performance of the endpoint devices.
[0046] In one example, the controller 112 and / or power management module 350 may analyze the observed status report to determine whether the observed idle period achieved the desired idle period, thereby indicating whether packet coalescing was successful. In some examples, the analysis may include determining packet coalescing performance in response to the initial notification, such as the effectiveness of the notification, whether any additional information provided in the notification affected packet coalescing performance, etc. In some examples, the analysis may be used to update the desired idle period.
[0047] In some embodiments, the controller 112 and / or the power management module 350 may internally report the packet coalescing performance (e.g., use the analysis to modify the trigger conditions and / or notifications). In some embodiments, the controller 112 and / or the power management module 350 may report the packet coalescing performance to the endpoint device (e.g., via notifications and / or notification registers 114), such as by sending feedback to the endpoint device upon packet coalescing. For example, the controller 112 and / or the power management module 350 may send feedback to the endpoint device 360 (e.g., via a new notification) to improve packet coalescing performance. In some examples, the new notification may include instructions for follow-up actions (e.g., updated instructions for packet coalescing), such as another packet coalescing, depending on the packet coalescing performance.
[0048] As detailed above, the present disclosure is directed to WIFI packet coalescing for improved power management. The power management firmware of a SOC may send a message to an endpoint device to enable packet coalescing, causing the endpoint device to buffer received packets. In one embodiment, the message is routed through various components to reach the endpoint device. When the packet coalescing function is enabled, the endpoint device buffers packets and reports the duration of packet buffering, which corresponds to an idle period, to a status register readable by the SOC. The SOC may perform further analysis of the idle period. For example, to achieve improved stay-at-home time in deep sleep states, particularly for battery-life use cases such as video conferencing, a sufficient idle period (e.g., approximately 5 ms) may be used within the frame window.
[0049] WIFI traffic may be distributed, which may keep the SOC awake and prevent it from going into a deep sleep state. Thus, the packet coalescing feature described herein may be used to increase the burstiness of WIFI traffic.
[0050] In one example of a packet coalescing function, the IO firmware may send a message to the endpoint device via the interface private configuration space. This message does not necessarily involve interaction with any driver or CPU. The message may convey information such as enabling / disabling the feature and a notification to begin packet coalescing. Targeted use cases include DC mode, operating in the lowest operating power state, etc. These may be slow moving or infrequent events. The message may also indicate what type of traffic may be coalesced (e.g., bulk traffic vs. isochronous traffic).
[0051] An endpoint device reports status regarding the minimum idle period observed by the device in a visibility register of the interface. The status register may also have a time corresponding to no activity from the device. For example, if packet coalescing was unsuccessful, the minimum idle period may be zero. It may be desirable for the endpoint device to allocate enough buffers to achieve a 5 ms idle period.
[0052] As noted above, the computing devices and systems described and / or illustrated herein broadly represent any type or form of computing device or system capable of executing computer-readable instructions, such as those contained within the modules described herein. In their most basic configurations, these computing devices each include at least one memory device and at least one physical processor.
[0053] In some examples, the term "memory device" generally refers to any type or form of volatile or non-volatile storage device or medium capable of storing data and / or computer-readable instructions. In one example, a memory device stores, loads, and / or maintains one or more of the modules and / or circuits described herein. Examples of memory devices include, but are not limited to, random access memory (RAM), read-only memory (ROM), flash memory, hard disk drive (HDD), solid-state drive (SSD), optical disk drive, cache, any variation or combination of one or more of these, or any other suitable storage memory.
[0054] In some examples, the term "physical processor" generally refers to any type or form of hardware-implemented processing unit capable of interpreting and / or executing computer-readable instructions. In one example, a physical processor accesses and / or modifies one or more modules stored in the memory devices described above. Examples of physical processors include, but are not limited to, a microprocessor, a microcontroller, a central processing unit (CPU), a field programmable gate array (FPGA) implementing a soft-core processor, an application-specific integrated circuit (ASIC), a system-on-chip (SoC), a digital signal processor (DSP), a neural network engine (NNE), an accelerator, a graphics processing unit (GPU), one or more portions thereof, one or more variations or combinations thereof, or any other suitable physical processor.
[0055] Although shown as individual elements, the modules described and / or illustrated herein may represent portions of a single module or application. Additionally, in certain embodiments, one or more of these modules may represent one or more software applications or programs that, when executed by a computing device, may cause the computing device to perform one or more tasks. For example, one or more of the modules described and / or illustrated herein represent modules stored and configured to operate on one or more of the computing devices or systems described and / or illustrated herein. In some embodiments, a module may be implemented as a circuit or circuitry. One or more of these modules may represent all or part of one or more special-purpose computers configured to perform one or more tasks.
[0056] Additionally, one or more of the modules described herein may convert data, physical devices, and / or representations of physical devices from one form to another. For example, one or more of the modules described herein may receive workload data to be converted, convert the data, output the results of the conversion to initiate packet coalescing, use the results of the conversion to analyze performance, and store the results of the conversion for further instructing endpoint devices. Additionally or alternatively, one or more of the modules listed herein may convert a processor, volatile memory, non-volatile memory, and / or any other portion of a physical computing device from one form to another by executing on the computing device, storing data on the computing device, and / or otherwise interacting with the computing device.
[0057] In some embodiments, the term "computer-readable medium" generally refers to any form of device, carrier, or medium capable of storing or carrying computer-readable instructions. Examples of computer-readable media include, but are not limited to, transmission-type media such as carrier waves, non-transitory-type media such as magnetic storage media (e.g., hard disk drives, tape drives, and floppy disks), optical storage media (e.g., compact disks (CDs), digital video disks (DVDs), and BLU-RAY disks), electronic storage media (e.g., solid-state drives and flash media), and other distribution systems.
[0058] The process parameters and order of steps described and / or illustrated herein are given by way of example only and can be changed as desired. For example, although the steps illustrated and / or described herein are illustrated or described in a particular order, these steps do not necessarily have to be performed in the order illustrated or described. The various exemplary methods described and / or illustrated herein may omit one or more of the steps described or illustrated herein or may include additional steps in addition to those disclosed.
[0059] The foregoing description is provided to enable those skilled in the art to best utilize various aspects of the exemplary embodiments disclosed herein. This exemplary description is not intended to be exhaustive or to be limited to any precise form disclosed. Many modifications and variations are possible without departing from the spirit and scope of the present disclosure. The embodiments disclosed herein should be considered in all respects as illustrative and not restrictive. In determining the scope of the present disclosure, reference should be made to the appended claims and their equivalents.
[0060] Unless otherwise specified, the terms "connected to" and "coupled to" (and their derivatives) as used in this specification and claims should be interpreted as allowing both direct and indirect connections (i.e., via other elements or components). Additionally, the terms "a" or "an" as used in this specification and claims should be interpreted as meaning "at least one of." Finally, for ease of use, the terms "including" and "having" (and their derivatives) as used in this specification and claims are interchangeable with the term "comprising," and have the same meaning.
Claims
1. A device, Equipped with a controller, The controller detecting a trigger condition for packet coalescing of the packet traffic; sending a notification to an endpoint device to initiate packet coalescing; monitoring a status in response to initiating the packet coalescing; configured to: device.
2. the trigger condition corresponds to a power management policy. The device of claim 1.
3. the power management policy corresponds to at least one of a low power mode, a battery power mode, power consumption based on current workload, or low input / output (I / O) activity; The device of claim 2.
4. the controller is configured to report packet coalescing performance based on the observed status. The device of claim 1.
5. The status corresponds to an observed idle period. The device of claim 4.
6. the observed idle period corresponds to a time during which the endpoint device has stored packets in a buffer of the endpoint device; The device of claim 5.
7. the controller is configured to report the packet coalescing performance by analyzing whether the observed idle period achieved a desired idle period. The device of claim 5.
8. the controller is configured to report the packet coalescing performance to the endpoint devices to provide feedback regarding the packet coalescing. The device of claim 4.
9. the notification includes the type of packet traffic to be merged; The device of claim 1.
10. The type of packet traffic corresponds to bulk traffic or isochronous traffic. The device of claim 9.
11. the controller is configured to send the notification to the endpoint device via a register; The device of claim 1.
12. the endpoint device stores the status in a register; The device of claim 1.
13. 1. A system comprising: a notification register; A status register; a controller; The controller detecting a trigger condition for packet coalescing of the packet traffic; storing a notification to initiate packet coalescing in the notification register; In response to initiating the packet coalescing, observing a status in the status register; configured to: system.
14. the status corresponds to an observed idle period corresponding to a time that the endpoint device has stored packets in a buffer of the endpoint device; The system of claim 13.
15. the controller is configured to report packet coalescing performance based on the observed status by analyzing whether the observed idle period achieved a desired idle period.
15. The system of claim 14.
16. the controller is configured to report packet coalescing performance via the notification register to provide feedback regarding the packet coalescing based on the observed status. The system of claim 13.
17. 1. A method comprising: Detecting a trigger condition corresponding to a power management policy for packet coalescing of packet traffic; sending a notification to an endpoint device via a notification register to initiate packet coalescing of any type of packet traffic; and monitoring an idle period of the endpoint device via a status register in response to initiating the packet coalescing. method.
18. reporting packet coalescing performance based on observed idle periods; the observed idle period corresponds to a time during which the endpoint device has stored packets in a buffer of the endpoint device; 18. The method of claim 17.
19. reporting the packet coalescing performance includes analyzing whether the observed idle period achieved a desired idle period.
20. The method of claim 18.
20. reporting the packet coalescing performance includes providing feedback regarding the packet coalescing via the notification register.
20. The method of claim 18.