ES2910055T3 - Técnicas de ahorro de energía en dispositivos informáticos - Google Patents
Técnicas de ahorro de energía en dispositivos informáticos Download PDFInfo
- Publication number
- ES2910055T3 ES2910055T3 ES19154607T ES19154607T ES2910055T3 ES 2910055 T3 ES2910055 T3 ES 2910055T3 ES 19154607 T ES19154607 T ES 19154607T ES 19154607 T ES19154607 T ES 19154607T ES 2910055 T3 ES2910055 T3 ES 2910055T3
- Authority
- ES
- Spain
- Prior art keywords
- processor
- modem
- data
- application
- timer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3253—Power saving in bus
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3278—Power saving in modem or I/O interface
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/60—Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. Transmission Power Control [TPC] or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0251—Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. Transmission Power Control [TPC] or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0261—Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
- H04W52/0274—Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by switching on or off the equipment or parts thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. Transmission Power Control [TPC] or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0261—Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
- H04W52/0287—Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level changing the clock frequency of a controller in the equipment
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
- Power Sources (AREA)
- Bus Control (AREA)
- Telephonic Communication Services (AREA)
Abstract
Un terminal móvil que comprende: un temporizador de módem y un temporizador de aplicaciones; un procesador de módem (44), estando el procesador de módem configurado para retener los datos del procesador de módem al procesador de aplicaciones hasta la expiración del temporizador de módem; un procesador de aplicaciones (34); un bus de interconectividad (36) que acopla comunicativamente el procesador de aplicaciones al procesador de módem, teniendo el bus de interconectividad periodos en modo activo y periodos en modo de baja potencia; y el procesador de aplicaciones está configurado para retener los datos del procesador de aplicaciones al procesador de módem hasta que se activa, por la llegada de los datos del procesador de módem al procesador de aplicaciones desde el procesador de módem a través del bus de interconectividad, para liberar los datos del procesador de aplicaciones al procesador de módem hacia el procesador de módem a través del bus de interconectividad y estando el procesador de aplicaciones además configurado para reiniciar el temporizador de aplicaciones; en donde los datos del procesador de aplicaciones al procesador de módem y los datos del procesador de módem al procesador de aplicaciones se liberan durante un mismo periodo en modo activo (102).
Description
DESCRIPCIÓN
Técnicas de ahorro de energía en dispositivos informáticos
Antecedentes
I. Campo de la divulgación
La tecnología de la divulgación se refiere, en general, a técnicas de ahorro de energía en dispositivos informáticos.
II. Antecedentes
Los dispositivos informáticos son comunes en la sociedad moderna. Desde pequeños dispositivos informáticos móviles, como un teléfono inteligente o tableta, hasta grandes granjas de servidores con numerosas placas y bancos de memoria, se espera que estos dispositivos se comuniquen a través de una miríada de redes al tiempo que proporcionan otras funciones básicas. Si bien los dispositivos y servidores de escritorio son en general inmunes a las preocupaciones sobre el consumo de energía, los dispositivos móviles luchan constantemente por encontrar un equilibrio adecuado entre las funciones disponibles y la duración de la batería. Es decir, a medida que se proporcionan más funciones, aumenta el consumo de energía y se acorta la vida útil de la batería. Los servidores pueden tener asimismo problemas de consumo de energía cuando se ensamblan en grandes granjas de servidores.
Simultáneamente con los problemas de consumo de energía, las mejoras en las comunicaciones de red han aumentado las velocidades de datos. Por ejemplo, los cables de cobre han sido reemplazados por cables de fibra óptica de mayor ancho de banda, y las redes celulares han evolucionado desde los primeros protocolos de sistema avanzados de telefonía móvil (AMPS) y sistema global para comunicaciones móviles (GSM) hasta los protocolos 4G y de evolución a largo plazo (LTE) capaces de soportar velocidades de datos mucho más altas. A medida que han aumentado las velocidades de datos, también ha aumentado la necesidad de poder procesar estas velocidades de datos aumentadas dentro de los dispositivos informáticos. Por tanto, los dispositivos informáticos móviles anteriores pueden haber tenido buses internos formados de acuerdo con un estándar Inter-Chip de alta velocidad (HSIC), un estándar de bus serie universal (USB) (y particularmente USB 2.0), o un estándar de receptor/transmisor asíncrono universal (UART). Sin embargo, estos buses no son compatibles con las velocidades de datos actuales.
En respuesta a la necesidad de buses internos más rápidos, el estándar de interconexión de componentes periféricos exprés (PCIe), así como las generaciones posteriores de USB (por ejemplo, USB 3.0 y versiones posteriores) se han adoptado para algunos dispositivos informáticos móviles. Sin embargo, si bien PCIe y USB 3.0 pueden manejar las altas velocidades de datos que se utilizan actualmente, el uso de dichos buses tiene como resultado un consumo excesivo de energía y afecta negativamente a la vida útil de la batería al acortar el tiempo entre los eventos de recarga. El documento WO 2009/039034 describe técnicas de memoria intermedia para la gestión de energía
Sumario de la divulgación
Un terminal móvil y método para controlar el consume de energía se describen de conformidad con las reivindicaciones adjuntas que definen el alcance de protección. Se proporcionan aspectos adicionales, no cubiertos en las reivindicaciones a modo de ejemplos para ayudar a entender la invención.
En un aspecto alternativo, en lugar de iniciar la transferencia de datos basándose en la expiración del temporizador de enlace descendente (con o sin expiración del temporizador de enlace ascendente), la transferencia de datos acumulados puede iniciarse basándose en la expiración de solo un temporizador de acumulación de enlace ascendente. El temporizador de acumulación de enlace ascendente puede estar dentro de un anfitrión o de un dispositivo asociado con el bus de interconectividad.
En otro aspecto alternativo, que no está cubierto por las reivindicaciones, el inicio de la transferencia de datos puede basarse en alcanzar un umbral predefinido para un contador de límite de acumulación de bytes. El contador de límite de acumulación de bytes no es mutuamente exclusivo en relación con los otros contadores y puede funcionar como un mecanismo de anulación para uno de los otros temporizadores de acumulación. El uso de dicha anulación puede ser útil en situaciones en las que llega una ráfaga repentina de datos que excedería el espacio de la memoria intermedia y/o el ancho de banda del bus. Del mismo modo, en lugar de un contador de bytes, se puede usar un contador de tamaño de paquete o un contador de "número total de paquetes" para cubrir situaciones en las que la red entrega numerosos paquetes o un paquete particularmente grande.
En otros aspectos de la presente divulgación, los temporizadores pueden ser anulados por otros factores o parámetros. Se alude a tal anulación más arriba con los contadores de límite de acumulación de bytes y el contador de número total de paquetes, lo cual provoca transferencias de datos independientemente de los temporizadores. Otros parámetros también pueden anular los temporizadores, como la presencia de tráfico de baja latencia (por ejemplo, mensajes de control), la sincronización de las transferencias de datos de enlace ascendente y descendente, o los requisitos de calidad de servicio de baja latencia. Cuando dicho tráfico está presente, se puede usar una interrupción
u otro comando para iniciar transferencias de datos antes de que expire un temporizador. Otros factores adicionales pueden anular los temporizadores, como una indicación de que un dispositivo o anfitrión no está en un modo de sondeo automático.
A este respecto, en un aspecto, que no está cubierto por las reivindicaciones, se divulga un terminal móvil. El terminal móvil comprende un temporizador del módem. El terminal móvil también comprende un procesador de módem. El procesador de módem está configurado para retenerlos datos del procesador de módem al procesador de aplicaciones hasta que expire el temporizador del módem. El terminal móvil también comprende un procesador de aplicaciones. El terminal móvil también comprende un bus de interconectividad que acopla comunicativamente el procesador de aplicaciones al procesador de módem. El procesador de aplicaciones está configurado para retener los datos del procesador de aplicaciones al procesador de módem hasta la recepción de los datos del procesador de módem al procesador de aplicaciones desde el procesador de módem a través del bus de interconectividad, después de lo cual los datos del procesador de aplicaciones al procesador de módem se envían al procesador de módem a través del bus de interconexión.
En otro aspecto, que no está cubierto por las reivindicaciones, se divulga un procedimiento para controlar el consumo de energía en un dispositivo informático. El procedimiento comprende retener los datos recibidos por un procesador de módem desde una red remota hasta la expiración de un temporizador de enlace descendente. El procedimiento también comprende pasar los datos recibidos por el procesador de módem a un procesador de aplicaciones a través de un bus de interconectividad. El procedimiento también comprende retenerlos datos de la aplicación generados por una aplicación asociada con el procesador de aplicaciones hasta la recepción de los datos del procesador de módem o la expiración de un temporizador de enlace ascendente, lo que primero se produzca.
En otro aspecto, que no está cubierto por las reivindicaciones, se divulga un terminal móvil. El terminal móvil comprende un procesador de módem. El terminal móvil también comprende un temporizador de aplicaciones. El terminal móvil también comprende un procesador de aplicaciones. El procesador de aplicaciones está configurado para retener los datos del procesador de aplicaciones al procesador de módem hasta que expire el temporizador de aplicaciones. El terminal móvil también comprende un bus de interconectividad que acopla comunicativamente el procesador de aplicaciones al procesador de módem. El procesador de módem está configurado para retener los datos del procesador de módem al procesador de aplicaciones hasta la recepción de los datos del procesador de aplicaciones al procesador de módem del procesador de aplicaciones a través del bus de interconectividad, después de lo cual los datos del procesador de módem al procesador de aplicaciones se envían al procesador de aplicaciones a través del bus de interconectividad.
En otro aspecto, que no está cubierto por las reivindicaciones, se divulga un terminal móvil. El terminal móvil comprende un contador de límite de acumulación de bytes de módem. El terminal móvil también comprende un procesador de módem. El procesador de módem está configurado para retener los datos del procesador de módem al procesador de aplicaciones hasta que el contador de límite de acumulación de bytes del módem haya alcanzado un umbral predefinido de bytes. El terminal móvil también comprende un procesador de aplicaciones. El terminal móvil también comprende un bus de interconectividad que acopla comunicativamente el procesador de aplicaciones al procesador de módem. El procesador de aplicaciones está configurado para retener los datos del procesador de aplicaciones al procesador de módem hasta la recepción de los datos del procesador de módem al procesador de aplicaciones desde el procesador de módem a través del bus de interconectividad, después de lo cual los datos del procesador de aplicaciones al procesador de módem se envían al procesador de módem a través del bus de interconexión.
Con respecto a otro aspecto, que no está cubierto por las reivindicaciones, se divulga un terminal móvil. El terminal móvil comprende un contador de paquetes de módem. El terminal móvil también comprende un procesador de módem. El procesador de módem está configurado para retener los datos del procesador de módem al procesador de aplicaciones hasta que el contador de paquetes del módem haya alcanzado un umbral predefinido de paquetes. El terminal móvil también comprende un procesador de aplicaciones. El terminal móvil también comprende un bus de interconectividad que acopla comunicativamente el procesador de aplicaciones al procesador de módem. El procesador de aplicaciones está configurado para retener los datos del procesador de aplicaciones al procesador de módem hasta la recepción de los datos del procesador de módem al procesador de aplicaciones desde el procesador de módem a través del bus de interconectividad, después de lo cual los datos del procesador de aplicaciones al procesador de módem se envían al procesador de módem a través del bus de interconexión.
En otro aspecto, que no está cubierto por las reivindicaciones, se divulga un terminal móvil. El terminal móvil comprende un procesador de módem. El terminal móvil también comprende un contador de bytes de aplicación. El terminal móvil también comprende un procesador de aplicaciones. El procesador de aplicaciones está configurado para retener los datos del procesador de aplicaciones al procesador de módem hasta que el contador de bytes de la aplicación haya alcanzado un umbral predefinido de bytes. El terminal móvil también comprende un bus de interconectividad que acopla comunicativamente el procesador de aplicaciones al procesador de módem. El procesador de módem está configurado para retener los datos del procesador de módem al procesador de aplicaciones hasta la recepción de los datos del procesador de aplicaciones al procesador de módem del procesador de aplicaciones a través del bus de interconectividad, después de lo cual los datos del procesador de módem al
procesador de aplicaciones se envían al procesador de aplicaciones a través del bus de interconectividad.
En otro aspecto, que no está cubierto por las reivindicaciones, se divulga un terminal móvil. El terminal móvil comprende un procesador de módem y un contador de paquetes de aplicaciones. El terminal móvil también comprende un procesador de aplicaciones. El procesador de aplicaciones está configurado para retener los datos del procesador de aplicaciones al procesador de módem hasta que el contador de paquetes de la aplicación haya alcanzado un umbral predefinido de paquetes. El terminal móvil comprende un bus de interconectividad que acopla comunicativamente el procesador de aplicaciones al procesador de módem. El procesador de módem está configurado para retener los datos del procesador de módem al procesador de aplicaciones hasta la recepción de los datos del procesador de aplicaciones al procesador de módem del procesador de aplicaciones a través del bus de interconectividad, después de lo cual los datos del procesador de módem al procesador de aplicaciones se envían al procesador de aplicaciones a través del bus de interconectividad.
Con respecto a otro aspecto, que no está cubierto por las reivindicaciones, se divulga un procedimiento. El procedimiento comprende iniciar un temporizador de aplicaciones en un procesador de aplicaciones. El procedimiento también comprende acumular datos en el procesador de aplicaciones hasta la expiración del temporizador de aplicaciones. El procedimiento comprende enviar los datos acumulados desde el procesador de aplicaciones a un procesador de módem a través de un bus de interconectividad. El procedimiento comprende además retener los datos del procesador de módem en el procesador de módem hasta la recepción de los datos acumulados del procesador de aplicaciones.
En otro aspecto, que no está cubierto por las reivindicaciones, se divulga un terminal móvil. El terminal móvil comprende un temporizador del módem. El terminal móvil también comprende un procesador de módem. El procesador de módem está configurado para retener los datos del procesador de módem al procesador de aplicaciones hasta que expire el temporizador del módem. El terminal móvil también comprende un procesador de aplicaciones. El terminal móvil también comprende un bus de interconectividad que acopla comunicativamente el procesador de aplicaciones al procesador de módem. El procesador de aplicaciones está configurado para retener los datos del procesador de aplicaciones al procesador de módem hasta que el procesador de módem extraiga datos del procesador de aplicaciones después de la transmisión de los datos del procesador de módem al procesador de aplicaciones.
Breve descripción de las figuras
La Figura 1A es una vista simplificada de un dispositivo informático móvil que funciona con redes remotas; la Figura 1B es una vista simplificada de un terminal móvil que funciona con redes remotas;
la Figura 1C es una vista ampliada de un diagrama de bloques del terminal móvil de la Figura 1B con un bus de interconectividad ilustrado;
la Figura 2 es un diagrama de bloques del terminal móvil de la Figura 1B;
la Figura 3 es un gráfico a modo de ejemplo de tiempo con respecto a potencia de enlace en un dispositivo informático convencional;
la Figura 4 es un diagrama de flujo de un proceso a modo de ejemplo para lograr ahorros de energía en el terminal móvil de la Figura 1B;
la Figura 5 es un gráfico a modo de ejemplo de tiempo con respecto a potencia de enlace en un dispositivo informático móvil que utiliza el proceso de la Figura 4;
la Figura 6 es un diagrama de flujo de otro proceso a modo de ejemplo para lograr ahorros de energía en el dispositivo informático móvil;
la Figura 7 es un gráfico a modo de ejemplo de tiempo con respecto a potencia de enlace en el dispositivo informático móvil que utiliza el proceso de la Figura 6;
la Figura 8 es un diagrama de flujo de un proceso a modo de ejemplo que usa un contador de bytes para controlar la acumulación de datos;
la Figura 9 es un diagrama de flujo de un proceso a modo de ejemplo que usa un contador de paquetes para controlar la acumulación de datos;
la Figura 10 es un diagrama de flujo de un proceso de acumulación consolidado con anulaciones ilustradas desde una perspectiva de prioridad de enlace descendente;
la Figura 11 es una continuación del diagrama de flujo de la Figura 10; y
la Figura 12 es un diagrama de flujo simplificado de un proceso de acumulación consolidado con anulaciones ilustradas desde una perspectiva de prioridad de enlace ascendente.
Descripción detallada
A continuación, con referencia a las figuras de los dibujos, se divulgan varios aspectos a modo de ejemplo de la presente divulgación. El término "a modo de ejemplo" se usa en el presente documento para significar que "sirve de ejemplo, caso o ilustración". Cualquier aspecto descrito en el presente documento como "a modo de ejemplo" no necesariamente ha de interpretarse como preferente o ventajoso con respecto a otros aspectos.
Los aspectos divulgados en la descripción detallada incluyen técnicas de ahorro de energía en dispositivos informáticos. En particular, cuando los datos son recibidos por un procesador de módem en un dispositivo informático,
los datos se retienen hasta la expiración de un temporizador del módem. A continuación, los datos se pasan a un procesador de aplicaciones en el dispositivo informático a través de un bus de interconectividad de interconexión de componentes periféricos exprés (PCIe). Al recibir los datos del procesador de módem, el procesador de aplicaciones envía los datos retenidos por el procesador de aplicaciones al procesador de módem a través del bus de interconectividad PCIe. El procesador de aplicaciones también tiene un temporizador de enlace ascendente. Si no se reciben datos del procesador de módem antes de la expiración del temporizador del enlace ascendente, el procesador de aplicaciones envía los datos recopilados al procesador de módem al expirar el temporizador del enlace ascendente. Sin embargo, si se reciben datos del procesador de módem, el temporizador de enlace ascendente se reinicia. Al retener o acumular los datos en un procesador fuente de esta manera, se reducen las transiciones innecesarias entre los estados de baja potencia y los estados activos en el bus PCIe y se conserva la energía.
En un aspecto alternativo, en lugar de iniciar la transferencia de datos basándose en la expiración del temporizador de enlace descendente (con o sin expiración del temporizador de enlace ascendente), la transferencia de datos acumulados puede iniciarse basándose en la expiración de solo un temporizador de acumulación de enlace ascendente. El temporizador de acumulación de enlace ascendente puede estar dentro de un anfitrión o un dispositivo asociado con el bus de interconectividad.
En otro aspecto alternativo, que no está cubierto por las reivindicaciones, el inicio de la transferencia de datos puede basarse en alcanzar un umbral predefinido para un contador de límite de acumulación de bytes. El contador de límite de acumulación de bytes no es mutuamente exclusivo en relación con los otros contadores y puede funcionar como un mecanismo de anulación para uno de los otros temporizadores de acumulación. El uso de dicha anulación puede ser útil en situaciones en las que llega una ráfaga repentina de datos que excedería el espacio de la memoria intermedia y/o el ancho de banda del bus. Del mismo modo, en lugar de un contador de bytes, se puede usar un contador de tamaño de paquete o un contador de "número total de paquetes" para cubrir situaciones en las que la red entrega numerosos paquetes o un paquete particularmente grande.
En otros aspectos de la presente divulgación, los temporizadores pueden ser anulados por otros factores o parámetros. Se alude a tal anulación más arriba con los contadores de límite de acumulación de bytes y el contador de número total de paquetes, lo cual provoca transferencias de datos independientemente de los temporizadores. Otros parámetros también pueden anular los temporizadores, como la presencia de tráfico de baja latencia (por ejemplo, mensajes de control), la sincronización de las transferencias de datos de enlace ascendente y descendente, o los requisitos de calidad de servicio de baja latencia. Cuando dicho tráfico está presente, se puede usar una interrupción u otro comando para iniciar transferencias de datos antes de que expire un temporizador. Otros factores adicionales pueden anular los temporizadores, como una indicación de que un dispositivo o anfitrión no está en un modo de sondeo automático.
Si bien se contempla que las técnicas de ahorro de energía de la presente divulgación se utilicen en terminales móviles, como teléfonos inteligentes o tabletas, la presente divulgación no está limitada a ello. En consecuencia, las Figuras 1A y 1B ilustran dispositivos informáticos acoplados a redes remotas a través de módems que pueden implementar aspectos a modo de ejemplo de las técnicas de ahorro de energía de la presente divulgación. A este respecto, la Figura 1A ilustra un dispositivo informático 10 acoplado a una red 12, que, en un aspecto a modo de ejemplo, es Internet. El dispositivo informático 10 puede incluir una carcasa 14 con una unidad central de procesamiento (CPU) (no ilustrada), en su interior. Un usuario puede interactuar con el dispositivo informático 10 a través de una interfaz de usuario formada a partir de elementos de entrada/salida, como un monitor 16 (a veces denominado pantalla), un teclado 18 y/o un ratón 20. En algunos aspectos, el monitor 16 puede incorporarse en la carcasa 14. Mientras que un teclado 18 y un ratón 20 son dispositivos de entrada ilustrados, el monitor 16 puede ser una pantalla táctil, que puede complementar o reemplazar el teclado 18 y el ratón 20 como dispositivo de entrada. Como bien se entenderá, otros dispositivos de entrada/salida también pueden estar presentes en combinación con los dispositivos informáticos de escritorio o portátiles. Si bien no se ilustra en la Figura 1a , la carcasa 14 también puede incluir un módem en su interior. El módem se puede colocar en una tarjeta de interfaz de red (NIC), como bien se entenderá. Asimismo, un router y/o un módem adicional pueden ser externos a la carcasa 14. Por ejemplo, el dispositivo informático 10 puede acoplarse a la red 12 a través de un router y un módem de cable, como bien se entenderá. Sin embargo, incluso cuando tales routers y módems externos están presentes, es probable que el dispositivo informático 10 tenga un módem interno para efectuar la comunicación con dichos routers y módems externos.
Además del dispositivo informático 10, los aspectos a modo de ejemplo de la presente divulgación también pueden implementarse en un terminal móvil, que es una forma de dispositivo informático tal como se usa ese término en el presente documento. A este respecto, en la Figura 1B se ilustra un aspecto a modo de ejemplo de un terminal móvil 22. El terminal móvil 22 puede ser un teléfono inteligente, como un SAMSUNG GALAXY™ o APPLE iPHONE®. En lugar de un teléfono inteligente, el terminal móvil 22 puede ser un teléfono celular, una tableta, un ordenador portátil u otro dispositivo informático móvil. El terminal móvil 22 puede comunicarse con una antena remota 24 asociada con una estación base (BS) 26. La BS 26 puede comunicarse con la red móvil terrestre pública (PLMN) 28, la red telefónica pública conmutada (PSTN, no mostrada), o una red 12 (por ejemplo, Internet), similar a la red 12 en la Figura 1A. También es posible que la PLMN 28 se comunique con Internet (por ejemplo, la red 12) ya sea directamente o a través de una red intermedia (por ejemplo, la PSTn ). Debe apreciarse que la mayoría de los terminales móviles contemporáneos 22 permiten diversos tipos de comunicación con elementos de la red 12. Por ejemplo, la transmisión
de audio, transmisión de vídeo y/o navegación web son funciones comunes en la mayoría de los terminales móviles contemporáneos 22. Dichas funciones se habilitan a través de aplicaciones almacenadas en la memoria del terminal móvil 22 y usando el transceptor inalámbrico del terminal móvil 22.
Para efectuar funciones, como la transmisión de vídeo, los datos llegan desde la antena remota 24 a una antena 30 del terminal móvil 22, como se ilustra en la Figura 1C. Los datos se procesan inicialmente en un módem de dispositivo móvil (MDM) 32 del terminal móvil 22 y se pasan a un procesador de aplicaciones 34 mediante un bus de interconectividad 36. En este contexto, el procesador de aplicaciones 34 puede ser un anfitrión y el MDM 32 puede ser un dispositivo, ya que esos términos se usan en el estándar PCIe. Si bien los aspectos a modo de ejemplo contemplan operar en un bus de interconectividad 36 compatible con PCIe, es posible que el bus de interconectividad 36 cumpla con la interconexión de alta velocidad (HSIC), el receptor/transmisor asíncrono universal (UART), el bus serie universal (USB) o similar.
Se proporciona una representación más detallada de los componentes del terminal móvil 22 con referencia a la Figura 2. A este respecto, se ilustra un diagrama de bloques de algunos de los elementos del terminal móvil 22 de la Figura 1B. El terminal móvil 22 puede incluir una ruta de receptor 38, una ruta de transmisor 40, la antena 30 (mencionada anteriormente con referencia a la Figura 1C), un interruptor 42, un procesador de módem 44 y el procesador de aplicaciones 34 (también introducido anteriormente con referencia a Figura 1C). Opcionalmente, como bien se entenderá, también puede estar presente un sistema de control separado (no mostrado) con una CPU. El procesador de aplicaciones 34 y el procesador de módem 44 están conectados por el bus de interconectividad 36. El procesador de aplicaciones 34 y/o el sistema de control (si está presente) pueden interoperar con una interfaz de usuario 46 y una memoria 48 con el software 50 almacenado en el mismo.
La ruta del receptor 38 recibe información que lleva señales de radiofrecuencia (RF) de uno o más transmisores remotos proporcionados por una estación base (por ejemplo, la BS 26 de la Figura 1B). Un amplificador de bajo ruido (no se muestra) amplifica la señal. Un filtro (no mostrado) minimiza la interferencia de banda ancha en la señal recibida. Los circuitos de conversión descendente y digitalización (no mostrados) convierten la señal recibida filtrada en una señal de frecuencia de banda base o intermedia. La señal de frecuencia de la banda base se digitaliza en uno o más flujos digitales. La ruta del receptor 38 normalmente usa una o más frecuencias de mezcla generadas por el sintetizador de frecuencia. El procesador de módem 44 puede incluir un procesador de banda base (BBP) (no mostrado) que procesa la señal recibida digitalizada para extraer la información o los bits de datos transportados en la señal. Como tal, el BBP normalmente se implementa en uno o más procesadores de señal digital (DSP) dentro del procesador de módem 44 o como un circuito integrado (IC) separado según se necesite o desee.
Aún con referencia a la Figura 2, en el lado de transmisión, el procesador de módem 44 recibe datos digitalizados, que pueden representar voz, datos o información de control, desde el procesador de aplicaciones 34, que codifica para la transmisión. Los datos codificados se generan como salida a la ruta del transmisor 40, donde los utiliza un modulador (no mostrado) para modular una señal portadora a una frecuencia de transmisión deseada. Un amplificador de potencia de RF (no mostrado) amplifica la señal portadora modulada a un nivel apropiado para la transmisión, y entrega la señal portadora amplificada y modulada a la antena 30 a través del interruptor 42. Colectivamente, el procesador de módem 44, la ruta del receptor 38 y la ruta del transmisor 40 forman el MDM 32 de la Figura 1C (a veces también denominado módem inalámbrico). Mientras que el MDM 32 se describe específicamente con relación a las señales de RF asociadas con una señal celular, la presente divulgación no está limitada en este sentido. Por ejemplo, un módem inalámbrico que usa otros protocolos inalámbricos también puede beneficiarse de la inclusión de aspectos de la presente divulgación. Por lo tanto, los módems que funcionan de acuerdo con estándares como BLUETOOTH®, los diversos estándares IEEE 802.11, el Sistema Universal de Telecomunicaciones Móviles (UMTS), el Acceso a Paquetes de Alta Velocidad (HSPA), la Evolución a Largo Plazo (LTE) y otros protocolos inalámbricos pueden usar aspectos de La presente divulgación.
Aún con referencia a la Figura 2, un usuario puede interactuar con el terminal móvil 22 a través de la interfaz de usuario 46, tal como un micrófono, un altavoz, un teclado y una pantalla. El BBP recupera la información de audio codificada en la señal recibida y la convierte en una señal analógica adecuada para controlar el altavoz. El teclado y la pantalla permiten al usuario interactuar con el terminal móvil 22. Por ejemplo, el teclado y la pantalla pueden permitir al usuario introducir números para marcar, acceder a la información de la libreta de direcciones o similares, así como supervisar la información del progreso de la llamada. La memoria 48 puede tener el software 50 en la misma como se indicó anteriormente, lo cual puede efectuar aspectos a modo de ejemplo de la presente divulgación.
En terminales móviles convencionales que tienen un bus de interconectividad PCIe (es decir, el bus de interconectividad 36), el estándar PCIe permite que el bus de interconectividad 36 se coloque en modo de suspensión. Si bien colocar el bus de interconectividad 36 en un modo de suspensión en general ahorra energía, tales modos de suspensión tienen el inconveniente de que consumen cantidades relativamente grandes de energía a medida que salen del modo de suspensión. Este consumo de energía se exacerba debido a la naturaleza asincrónica del bus de interconectividad PCIe 36. Es decir, los primeros datos pueden llegar al procesador de módem 44 para su transmisión al procesador de aplicaciones 34 en un momento diferente de cuando los segundos datos están listos para pasar del procesador de aplicaciones 34 al procesador de módem 44. Este problema no es exclusivo del bus de interconectividad PCIe 36.
La Figura 3 ilustra un gráfico de tiempo frente a enlace de potencia 52 que destaca cómo los datos de enlace descendente 54 pueden tener un tiempo de transmisión diferente que los datos de enlace ascendente 56 dentro de un intervalo de tiempo dado 58. En particular, el bus de interconectividad 36 (Figura 2) comienza en modo de suspensión o de baja potencia y hace una transición a un modo de potencia activa mediante la transición 60 para que los datos de enlace descendente 54 puedan transmitirse al procesador de aplicaciones 34. Sin embargo, los datos de enlace descendente 54 pueden no ocupar la totalidad del intervalo de tiempo 58, y el bus de interconectividad 36 puede volver a un estado de baja potencia. Sin embargo, posteriormente, pero aún dentro del mismo intervalo de tiempo 58, los datos de enlace ascendente 56 del procesador de aplicaciones 34 se envían al procesador de módem 44. En consecuencia, el bus de interconectividad 36 vuelve a hacer una transición del estado de baja potencia al estado de potencia activa mediante una segunda transición 62. En un aspecto a modo de ejemplo, el intervalo de tiempo 58 tiene aproximadamente un milisegundo de longitud. Por lo tanto, si se producen dos transiciones (es decir, 60, 62) de baja potencia a potencia activa cada intervalo de tiempo 58, entonces se producen miles de transiciones 60, 62 cada segundo. Miles de transiciones 60, 62 consumen cantidades sustanciales de energía y reducen la duración de la batería del terminal móvil 22.
Los aspectos a modo de ejemplo de la presente divulgación reducen el número de transiciones (es decir, 60, 62) de baja potencia a potencia activa sincronizando la transmisión de paquetes desde el procesador de módem 44 y el procesador de aplicaciones 34, lo cual a su vez permite que el enlace se mantenga en un modo de baja potencia más eficientemente ya que la comunicación en el enlace se consolida para eliminar la segunda transición del estado de encendido. En un aspecto a modo de ejemplo, los datos (es decir, los datos del módem) del procesador de módem 44 se transmiten primero, y los datos (es decir, los datos de la aplicación) del procesador de aplicaciones 34 se envían después de la llegada de los datos del módem y antes de que el bus de interconectividad 36 pueda volver al estado de baja potencia. La sincronización se realiza mediante el uso de temporizadores en el procesador de módem 44 y el procesador de aplicaciones 34. Los temporizadores pueden ser más largos que un intervalo de tiempo 58 del bus de interconectividad 36.
En un primer aspecto a modo de ejemplo, el temporizador en el procesador de aplicaciones 34 es más largo que el temporizador en el procesador de módem 44. La acumulación puede hacerse sobre la base de un canal lógico. El procesador de aplicaciones 34 puede configurar el temporizador utilizando un mecanismo adecuado para el bus de interconectividad 36. Por ejemplo, en un dispositivo de fusión que utiliza una interfaz entre anfitrión y módem (MHI) a través de PCIe, el temporizador se mantiene para cada canal MHI entrante y el valor de tiempo utilizado por los temporizadores se configurará mediante un mensaje de comando MHI o registro de configuración del dispositivo de entrada/salida mapeado en memoria PCIe (MMIO) expuesto a través de un registro de dirección base (BAR). El BAR es un mecanismo definido por PCIe estándar por el cual un anfitrión mapea los registros de un dispositivo en su mapa de direcciones virtuales. Para obtener más información sobre MHI, se remite al lector interesado a la Solicitud de Patente de Estados Unidos con número de serie 14/163846, presentada el 24 de enero de 2013, que se incorpora en su totalidad en el presente documento por referencia. En otros aspectos a modo de ejemplo, el temporizador en el procesador de módem 44 es más largo que el temporizador en el procesador de aplicaciones 34. En otros aspectos adicionales a modo de ejemplo, los contadores pueden usarse en lugar de temporizadores. Los contadores pueden ser contadores de bits, contadores de paquetes, contadores de tamaño de paquete o similares. En otros aspectos a modo de ejemplo, el uso de dichos contadores alternativos puede combinarse con los temporizadores. En otros aspectos a modo de ejemplo, otros criterios de anulación pueden permitir que los datos se envíen antes de la expiración del temporizador o del contador para reducir la latencia y/o satisfacer los requisitos de calidad del servicio. La presente divulgación pasa sucesivamente a través de cada uno de estos aspectos, comenzando con la situación en la que hay dos temporizadores, y el procesador de aplicaciones 34 tiene un temporizador que es más largo que el temporizador del procesador de módem 44.
A este respecto, la Figura 4 ilustra un ejemplo de proceso de ahorro de energía 70. El proceso 70 comienza con el bus de interconectividad 36 en un estado de baja potencia (bloque 72). Se inician el temporizador del módem y el temporizador de aplicaciones (bloque 74). Los temporizadores pueden ser almacenes de software en el procesador de módem 44 y el procesador de aplicaciones 34 o pueden ser elementos físicos, según se desee. El procesador de aplicaciones 34 genera datos y el procesador de módem 44 recibe datos de la red 12. Los datos de la aplicación se retienen en el procesador de aplicaciones 34 (bloque 76), y los datos del módem se retienen en el procesador de módem 44 (bloque 78) mientras los temporizadores están funcionando. Como se señaló anteriormente, en un aspecto a modo de ejemplo, el intervalo de tiempo 58 del bus de interconectividad 36 es de un milisegundo. En tal aspecto, el temporizador del módem puede ser de aproximadamente de dos a seis milisegundos, y el temporizador de aplicaciones es de tres a siete milisegundos, o al menos más largo que el temporizador del módem. El temporizador del módem expira (bloque 80). Si hay datos de módem presentes, el procesador de módem 44 libera los datos de módem a través del bus de interconectividad 36 al procesador de aplicaciones 34 (bloque 82).
El mecanismo para la transferencia de datos puede ser iniciado y controlado por el procesador de módem 44 (es decir, el dispositivo). Por ejemplo, en un dispositivo de fusión que usa MHI a través de PCIe, el procesador de módem 44 puede sondear (leer) el puntero de escritura de contexto del canal MHI para determinar las memorias intermedias de datos donde se pueden transferir los paquetes de enlace descendente. El procesador de aplicaciones 34 actualiza el campo del puntero de escritura de contexto de la estructura de datos de contexto del canal para apuntar a los
descriptores de transferencia de datos sin hacer sonar un timbre de canal de entrada. El procesador de módem 44 puede buscar actualizaciones en el campo Puntero de escritura de contexto según lo requiera el tráfico de enlace descendente. Cuando el procesador de módem 44 se queda sin memorias intermedias, es decir, un anillo de transferencia está vacío, y no hay memorias intermedias presentes para transferir datos de enlace descendente, el procesador de módem 44 puede generar una notificación de evento (por ejemplo, "sin memoria intermedia") al procesador de aplicaciones 34, seguido de una interrupción. Al recibir la notificación de evento del procesador de módem 44, el procesador de aplicaciones 34 proporcionará memorias intermedias de datos actualizando el puntero de escritura de contexto del canal y sonará el timbre del canal de entrada.
Después de la llegada de los datos del módem al procesador de aplicaciones 34, el procesador de aplicaciones 34 libera cualquier dato de la aplicación que se haya retenido en el procesador de aplicaciones 34 y reinicia el temporizador de aplicaciones (bloque 84). Cabe señalar que el temporizador de aplicaciones puede ejecutarse en el procesador de módem 44 o en el procesador de aplicaciones 34. Como alternativa, el procesador de módem 44 puede continuar extrayendo los datos de enlace ascendente 56 del procesador de aplicaciones 34 hasta que no detecte más actividad de datos de enlace descendente 54. Es decir, el procesador de módem 44 puede intercalar la extracción de datos de enlace ascendente 56 mientras recibe los datos de enlace descendente 54. Sin embargo, si no hay datos de módem en el procesador de módem 44 cuando expira el temporizador del módem, el temporizador de aplicaciones continúa (es decir, otro milisegundo) (bloque 86). Al expirar el temporizador de aplicaciones, el procesador de aplicaciones 34 envía cualquier dato retenido al procesador de módem 44 a través del bus de interconectividad 36 (bloque 88). A continuación, el proceso se repite comenzando de nuevo (bloque 90).
Como se señaló anteriormente, el temporizador de enlace ascendente (es decir, el temporizador de aplicaciones) está, en un aspecto a modo de ejemplo, diseñado para ser más largo que el temporizador de enlace descendente (es decir, el temporizador del módem) para aumentar la sincronización de enlace ascendente/enlace descendente cada vez que expira el temporizador de enlace descendente. Si bien la retención de datos durante un intervalo de tiempo adicional agrega algo de latencia, la breve cantidad agregada es fácilmente absorbida por el procesador de aplicaciones 34. Del mismo modo, esta latencia se considera aceptable para el ahorro de energía. Por ejemplo, al hacer que el período del temporizador del módem sea dos veces el período del intervalo de tiempo 58, el número de transiciones de baja potencia a potencia activa se puede reducir a la mitad. Del mismo modo, al hacer que el período del temporizador de aplicaciones sea seis veces el período del intervalo de tiempo 58, aumenta la posibilidad de "sobreponerse" al estado de potencia activa del bus de interconectividad 36 causado por los datos del módem, pero aún sigue siendo suficientemente frecuente para que cualquier dato de enlace ascendente 56 se siga enviando de manera oportuna incluso si no hay datos de enlace descendente 54 para activar la liberación de los datos de enlace ascendente 56. Se puede ampliar una lógica similar para sincronizar el tráfico de múltiples procesadores a través del enlace de datos. En un aspecto a modo de ejemplo, cada uno de los otros procesadores puede tener valores de temporizador más altos (es decir, más largos) que los del temporizador de enlace descendente, y los procesadores pueden intercambiar su información de disponibilidad de datos para que el tráfico en un procesador pueda activar la transferencia de datos en otros procesadores si hay datos disponibles para transferir.
La Figura 5 ilustra un gráfico 100 donde los datos de enlace ascendente 56 siguen a los datos de enlace descendente 54 durante un período activo 102 del bus de interconectividad 36 (Figura 2). Como se ilustra, solo hay una transición 104 de baja potencia a potencia activa por intervalo de tiempo 58. Por lo tanto, al consolidar los datos en un solo período activo 102, el tiempo total que se emplea en baja potencia puede aumentarse, lo cual da como resultado ahorros de energía. Además, la energía empleada en la transición de un estado de baja potencia a potencia activa se reduce mediante la eliminación de la segunda transición 62.
Si bien es concebible que los datos de enlace ascendente 56 puedan enviarse antes que los datos de enlace descendente 54 (es decir, el temporizador de aplicaciones es más corto que el temporizador del módem), en general no se considera óptimo porque habitualmente hay muchos más paquetes de enlace descendente que paquetes de enlace ascendente. Si se usa este aspecto, el procesador de aplicaciones 34 puede almacenar en memoria intermedia los paquetes de datos de enlace ascendente en la memoria local antes de iniciar la transferencia al procesador de módem 44. Estos paquetes acumulados se controlan a través de un temporizador de acumulación de enlace ascendente. Si hay varios canales, entonces se puede aplicar un temporizador a cada canal de forma independiente. Cuando el procesador de aplicaciones 34 no puede usar o no tiene un temporizador de enlace ascendente, el procesador de módem 44 puede ser capaz de crear una instancia de un temporizador de enlace ascendente, y al expirar el temporizador de enlace ascendente, sondeará los datos del procesador de aplicaciones 34. Este aspecto a modo de ejemplo se explica con mayor detalle a continuación con referencia a las Figuras 6 y 7.
A este respecto, la Figura 6 ilustra un ejemplo de proceso de ahorro de energía 110. El proceso 110 comienza con el bus de interconectividad 36 en un estado de baja potencia (bloque 112). Se inician el temporizador del módem y el temporizador de aplicaciones (bloque 114). Los temporizadores pueden ser software almacenado en el procesador de módem 44 y el procesador de aplicaciones 34 o pueden ser elementos físicos según se desee. El procesador de aplicaciones 34 genera datos y el procesador de módem 44 recibe datos de la red 12. Los datos de la aplicación se retienen en el procesador de aplicaciones 34 (bloque 116), y los datos del módem se retienen en el procesador de módem 44 (bloque 118) mientras los temporizadores están funcionando. Como se señaló anteriormente, en un aspecto a modo de ejemplo, el intervalo de tiempo 58 del bus de interconectividad 36 es de un milisegundo. En tal aspecto, el
temporizador de aplicaciones puede ser de aproximadamente dos milisegundos, y el temporizador del módem es de tres milisegundos, o al menos de mayor duración que el temporizador de aplicaciones. El temporizador de aplicaciones expira (bloque 120). Si hay datos de la aplicación presentes, el procesador de aplicaciones 34 libera los datos de la aplicación a través del bus de interconectividad 36 al procesador de módem 44 (bloque 122).
Después de la llegada de los datos de la aplicación al procesador de módem 44, el procesador de módem 44 libera cualquier dato de módem que se haya retenido en el procesador de módem 44 y reinicia el temporizador del módem (bloque 124). Cabe señalar que el temporizador de aplicaciones puede ejecutarse en el procesador de módem 44 o en el procesador de aplicaciones 34. Del mismo modo, el temporizador del módem puede ejecutarse en el procesador de módem 44 o el procesador de aplicaciones 34.
Aún con referencia a la Figura 6, si no hay datos de aplicación presentes en el procesador de aplicaciones 34, cuando expira el temporizador de aplicaciones, el temporizador del módem continúa (es decir, otro milisegundo) (bloque 126). Al expirar el temporizador del módem, el procesador de módem 44 envía cualquier dato retenido al procesador de aplicaciones 34 a través del bus de interconectividad 36 (bloque 128). A continuación, el proceso se repite comenzando de nuevo (bloque 130).
Como se señaló anteriormente, en este aspecto a modo de ejemplo, el temporizador de enlace ascendente (es decir, el temporizador de aplicaciones) está, en un aspecto a modo de ejemplo, diseñado para ser más corto que el temporizador de enlace descendente (es decir, el temporizador del módem). Si bien la retención de datos durante un intervalo de tiempo adicional 58 agrega algo de latencia, la breve cantidad agregada es fácilmente absorbida por el procesador de aplicaciones 34. Del mismo modo, esta latencia se considera aceptable para el ahorro de energía. Por ejemplo, al hacer que el período del temporizador de aplicaciones sea el doble del período del intervalo de tiempo 58, se reduce el número de transiciones de baja potencia a potencia activa. Del mismo modo, al hacer que el período del temporizador del módem sea seis veces el período del intervalo de tiempo 58, la posibilidad de poder "sobreponerse" al estado de potencia activa del bus de interconectividad 36 causado por los datos de la aplicación aumenta, pero aún sigue siendo suficientemente frecuente para que cualquier dato de enlace descendente 54 se siga enviando de manera oportuna incluso si no hay datos de enlace ascendente 56 para activar la liberación de los datos de enlace descendente 54. Se puede ampliar una lógica similar para sincronizar el tráfico de múltiples procesadores a través del enlace de datos. En un aspecto a modo de ejemplo, cada uno de los otros procesadores puede tener valores de temporizador más altos (es decir, más largos) que los del temporizador de enlace ascendente y los procesadores pueden intercambiar su información de disponibilidad de datos para que el tráfico en un procesador pueda activar la transferencia de datos en otros procesadores si existe son datos disponibles para transferir.
La Figura 7 ilustra un gráfico 140 donde los datos de enlace ascendente 56 preceden a los datos de enlace descendente 54 durante un período activo 142 del bus de interconectividad 36. Como se ilustra, solo hay una transición 144 de baja potencia a potencia activa por intervalo de tiempo 58. Por lo tanto, al consolidar los datos en un solo período activo 142, el tiempo total que se pasa en baja potencia puede aumentarse, lo cual da como resultado ahorros de energía. Además, la energía empleada en la transición de un estado de baja potencia a potencia activa se reduce mediante la eliminación de la segunda transición 62.
En un aspecto a modo de ejemplo, el procesador de módem 44 puede anular y elegir los mínimos de todos los valores configurados de cada uno de los parámetros configurables (como temporizadores de acumulación de enlace descendente o ascendente, umbral de byte, umbral de número de paquetes, umbral del tamaño de paquete o similares) o valores del temporizador de expiración de acumulación de enlace descendente (por ejemplo, de entre los diversos canales) como el valor de expiración efectivo del temporizador de acumulación de enlace descendente. Los procesadores de módem inteligentes 44 también pueden anular o alterar dinámicamente el valor del temporizador de acumulación de enlace descendente dependiendo del patrón de tráfico de enlace descendente, y/o pueden ajustar el temporizador de acumulación de enlace descendente para lograr una calidad de servicio (QoS) deseada para datos y/o controlar el tráfico. Un cambio de configuración puede también ser activado/controlado por el procesador de aplicaciones 44 o cualquier otro procesador en el sistema, mediante control MHI o señalización QMI (como, por ejemplo, para la señalización entre procesos).
Además de, o en lugar de, temporizadores de enlace descendente y de enlace ascendente, el procesador de módem 44 también puede usar un contador de límite de acumulación de bytes para el tráfico de enlace descendente y el procesador de aplicaciones 34 para el tráfico de enlace ascendente. Este aspecto puede ser ventajoso en situaciones donde hay una ráfaga repentina de datos empujados por la red o la aplicación. Cabe señalar que este aspecto no es mutuamente exclusivo y puede implementarse como un mecanismo de anulación para los temporizadores de enlace descendente o ascendente. Por ejemplo, si el temporizador de acumulación de enlace descendente se pone relativamente alto para conservar energía, una ráfaga repentina de datos puede exceder la capacidad de memoria intermedia del procesador de módem 44, o si se permite que se acumule en la memoria del procesador de módem 44, esta ráfaga de datos puede exceder las asignaciones de ancho de banda del bus en el procesador de aplicaciones 34. El procesador de aplicaciones 34 puede determinar y configurar el límite máximo de acumulación de bytes basándose en su estimación de ancho de banda del bus y/o en el tamaño de la memoria intermedia reservado para la transferencia de datos de enlace descendente. El procesador de módem 44 también puede elegir un límite interno de acumulación de bytes basado en el tamaño de la memoria intermedia de enlace descendente y/o en el rendimiento de
datos de enlace de interconexión. Con los contadores de límite de acumulación de bytes, el procesador de módem 44 puede iniciar la transferencia de datos de enlace descendente al procesador de aplicaciones 34 antes de que expire el temporizador de acumulación de enlace descendente, siempre y cuando el tamaño de los datos almacenados en memoria intermedia exceda el contador de límite de acumulación de bytes. Dado que tanto el procesador de módem 44 como el procesador de aplicaciones 34 pueden tener recomendaciones independientes para el contador del límite de acumulación de bytes, el procesador de módem 44 puede seleccionar los mínimos de estos dos valores para que sean el límite efectivo de acumulación de bytes. Se pueden mantener parámetros similares en el procesador de aplicaciones 34 para activar la transferencia de datos de enlace ascendente 56 inmediatamente (es decir, anular el temporizador de acumulación de enlace ascendente).
En lugar de, o además del contador de límite de acumulación de bytes, se puede usar un contador de límite de número de paquetes. En un aspecto a modo de ejemplo, el contador de límite de número de paquetes puede tener un diseño similar y puede emplearse para agregar límites de contador de número de paquetes en lugar de límites de bytes para cubrir casos en los que se entrega un gran número de paquetes mediante la red o una aplicación. De nuevo, dicho contador de límite de paquetes también puede estar presente o asociado con el procesador de aplicaciones 34 o el procesador de módem 44. Cabe señalar que los temporizadores de acumulación (enlace ascendente y/o enlace descendente) y otros parámetros de configuración, como el umbral de número de paquetes acumulados, el umbral de bytes acumulados y similares, pueden ser una función de LTE, HSPA, GERAN o similares.
En otro aspecto a modo de ejemplo adicional, el procesador de módem 44 o el procesador de aplicaciones 34 pueden deshabilitar la acumulación de enlace descendente o ascendente en los casos en que sea necesario acelerar la transferencia de mensajes, por ejemplo, mensajes de control (como control de flujo) o tráfico de datos de alta QoS o tráfico de baja latencia, según lo determinado por el procesador de módem 44 o el procesador de aplicaciones 34. La latencia introducida por la acumulación puede no ser tolerable para estas clases de tráfico.
Volviendo a la acumulación de datos basada en cantidades de datos en lugar de un proceso estricto, las Figuras 8 y 9 ilustran dos aspectos a modo de ejemplo. A este respecto, la Figura 8 ilustra un proceso 150 que ilustra un proceso de contador de bytes. En particular, el proceso 150 comienza con el bus de interconectividad 36 en un estado de baja potencia (bloque 152). El proceso 150 inicia un contador de bytes de módem y un contador de bytes de aplicación (bloque 154). Los datos se retienen en el procesador de aplicaciones 34 (bloque 156) y el procesador de módem 44 (bloque 158). Un sistema de control determina si el contador de bytes del módem ha excedido un umbral predefinido (bloque 160) basándose en la cantidad de datos que se han retenido o acumulado en el procesador de módem 44.
Aún con referencia a la Figura 8, si la respuesta al bloque 160 es sí, entonces los datos se envían desde el procesador de módem 44 al procesador de aplicaciones 34 (bloque 162). Después de recibir los datos del procesador de módem 44, el procesador de aplicaciones 34 envía datos (si los hay) que se han acumulado en el procesador de aplicaciones 34 al procesador de módem 44 (bloque 164). Después de borrar los datos acumulados tanto en el procesador de módem 44 como en el procesador de aplicaciones 34, el proceso comienza de nuevo (bloque 166).
Aún con referencia a la Figura 8, si la respuesta al bloque 160 es no, el sistema de control determina si los datos en el contador de bytes de la aplicación han excedido un umbral predefinido (bloque 168). Si la respuesta al bloque 168 es no, el proceso 150 vuelve al bloque 156 y los datos continúan retenidos hasta que se supera un umbral de contador de bytes. Sin embargo, si la respuesta al bloque 168 es sí, entonces los datos se envían desde el procesador de aplicaciones 34 al procesador de módem 44 (bloque 170). Después de recibir los datos del procesador de aplicaciones 34, el procesador de módem 44 envía datos (si los hay) al procesador de aplicaciones 34 (bloque 172). Después de borrar los datos acumulados tanto en el procesador de módem 44 como en el procesador de aplicaciones 34, el proceso 150 comienza de nuevo (bloque 166).
Si bien un contador de bytes puede ser eficaz en la gestión de la latencia, otro aspecto a modo de ejemplo utiliza un contador de paquetes. A este respecto, la Figura 9 ilustra un proceso 180 que ilustra un proceso de contador de bytes. En particular, el proceso 180 comienza con el bus de interconectividad 36 en un estado de baja potencia (bloque 182). El proceso 180 inicia un contador de paquetes de módem y un contador de paquetes de aplicación (bloque 184). Los datos se retienen en el procesador de aplicaciones 34 (bloque 186) y el procesador de módem 44 (bloque 188). Un sistema de control determina si el contador de paquetes de módem ha excedido un umbral predefinido (bloque 190) basándose en el número de paquetes retenidos o acumulados en el procesador de módem 44.
Aún con referencia a la Figura 9, si la respuesta al bloque 190 es sí, entonces los datos se envían desde el procesador de módem 44 al procesador de aplicaciones 34 (bloque 192). Después de recibir los paquetes del procesador de módem 44, el procesador de aplicaciones 34 envía los datos (si los hay) que se han acumulado en el procesador de aplicaciones 34 al procesador de módem 44 (bloque 194). Después de borrar los paquetes acumulados tanto en el procesador de módem 44 como en el procesador de aplicaciones 34, el proceso 180 comienza de nuevo (bloque 196).
Aún con referencia a la Figura 9, si la respuesta al bloque 190 es no, el sistema de control determina si el número de paquetes en el contador de paquetes de la aplicación ha excedido un umbral predefinido (bloque 198). Si la respuesta al bloque 198 es no, el proceso 180 vuelve al bloque 186 y los datos continúan retenidos hasta que se excede el umbral del contador de paquetes. Sin embargo, si la respuesta al bloque 198 es sí, entonces los datos se envían
desde el procesador de aplicaciones 34 al procesador de módem 44 (bloque 200). Después de recibir los paquetes del procesador de aplicaciones 34, el procesador de módem 44 envía datos (si los hay) al procesador de aplicaciones 34 (bloque 202). Después de borrar los paquetes acumulados tanto en el procesador de módem 44 como en el procesador de aplicaciones 34, el proceso 180 comienza de nuevo (bloque 196).
Se puede utilizar un proceso similar, en el que, en lugar de determinar si se ha acumulado un número particular de bytes o paquetes, el sistema de control evalúa el tamaño de los paquetes o si el sistema se está quedando sin memoria. Del mismo modo, debe apreciarse que ciertos datos de prioridad (por ejemplo, una señal de control u otros datos que requieren baja latencia) pueden estar asociados con un indicador u otra indicación que anula los temporizadores y/o contadores de la presente divulgación.
Como se ha señalado anteriormente, debe apreciarse que los aspectos de la presente divulgación no son mutuamente excluyentes y pueden combinarse. Las combinaciones son innumerables, ya que se puede usar un temporizador en el procesador de aplicaciones 34 con un contador de bytes en el procesador de módem 44 (o viceversa), el procesador de módem 44 trabaja con un temporizador y un contador de bytes, mientras que el procesador de aplicaciones 34 solo tiene un temporizador, y así sucesivamente. A este respecto, se proporcionan las Figuras 10-12 que ilustran cómo los temporizadores y los contadores de acumulación de datos pueden interoperar. Es decir, las Figuras 10 y 11 ilustran cómo se utiliza el temporizador de enlace descendente (ya sea en el procesador de módem 44 o en el procesador de aplicaciones 34) como base para la transmisión de datos (por ejemplo, como se ilustra en las Figuras 4 y 5), se puede combinar con los contadores de acumulación de datos, y se modifica aún más mediante una anulación de datos de alta prioridad. La Figura 12 ilustra un proceso simplificado en el que el temporizador de enlace ascendente combinado con los contadores de acumulación de datos se utiliza como base para la transmisión de datos (por ejemplo, como se ilustra en las Figuras 6 y 7), modificado por las anulaciones de datos.
A este respecto, las Figuras 10 y 11 ilustran un proceso combinado 210 que comienza en el inicio (bloque 212). El proceso 210 continúa con la llegada de datos de enlace descendente (DL) (por ejemplo, un paquete) (bloque 214). El sistema de control evalúa si hay algún dato de prioridad, mensaje de control y/u otros datos que requieran baja latencia (bloque 216). Si la respuesta al bloque 216 es no, entonces el sistema de control determina si se ha cruzado un umbral de bytes (es decir, si se supera el umbral de bytes en el acumulador) (bloque 218). Si la respuesta al bloque 218 es no, entonces el sistema de control determina si se ha cruzado el umbral de número de paquetes (es decir, se supera el umbral de paquetes en el acumulador) (bloque 220). Si la respuesta al bloque 220 es no, entonces el sistema de control determina si el sistema se está quedando sin memoria (bloque 222). Si la respuesta al bloque 222 es no, entonces el sistema de control comprueba si el temporizador de acumulación de enlace descendente está funcionando (bloque 224). Si la respuesta al bloque 224 es sí, entonces los datos del enlace descendente continúan acumulándose y no se inicia ninguna transferencia de datos a través del enlace (bloque 226).
Aún con referencia a la Figura 10, si, sin embargo, la respuesta al bloque 224 es no, el temporizador de enlace descendente ha expirado, o si se ha respondido afirmativamente a alguna de las anulaciones del bloque 216, 218, 220 o 222, entonces el proceso 210 comienza la transferencia de los datos acumulados (incluyendo el paquete actual) a través del enlace desde el procesador de módem 44 (a veces, también denominado módem (44) en las Figuras) al procesador de aplicaciones 34 (a veces, también denominado AP (34) en las Figuras) (bloque 230). El sistema de control inicia o reinicia el temporizador de acumulación de enlace descendente y pone el temporizador de acumulación de enlace descendente en funcionamiento (bloque 232). El sistema de control determina si el procesador de módem 44 está en un modo de sondeo de enlace ascendente (UL) (bloque 234). Si la respuesta al bloque 234 es no, entonces no hay transferencia de enlace ascendente (bloque 236). Sin embargo, si el procesador de módem 44 está sondeando el dispositivo de enlace ascendente, entonces, basándose en ese sondeo, el sistema de control determina si hay datos de enlace ascendente pendientes del procesador de aplicaciones 34 (bloque 238). Si hay datos pendientes (es decir, la respuesta al bloque 238 es sí), entonces el procesador de aplicaciones 34 comienza la transferencia de datos al procesador de módem 44 (bloque 240). Una vez que ha finalizado la transferencia de datos, o si no había datos en el bloque 238, el sistema de control reinicia el temporizador de acumulación de enlace ascendente (bloque 242) y el proceso 210 vuelve al comienzo 212.
Aún con referencia a la Figura 10, después del bloque 226, el sistema de control determina si el temporizador de enlace descendente ha expirado (bloque 244). Si la respuesta al bloque 244 es no, el sistema de control determina si ha llegado un nuevo paquete (bloque 246). Si la respuesta al bloque 246 es no, entonces el proceso 210 vuelve al bloque 244. Si ha llegado un nuevo paquete, el proceso 210 vuelve al inicio 212. Si la respuesta al bloque 244 es sí, el temporizador de enlace descendente ha expirado, el sistema de control sabe que el temporizador de acumulación de enlace descendente ha expirado (bloque 248). Al expirar el temporizador de enlace descendente, el sistema de control determina si hay datos de enlace descendente acumulados pendientes (bloque 250). Si hay datos en el bloque 250, entonces los datos se transfieren en el bloque 230. Si no hay datos, entonces el temporizador de acumulación de enlace descendente se pone en modo "no funcionando" (bloque 252) y el proceso 210 va a la Figura 11, elemento C. Debe apreciarse que los bloques 216, 218, 220 y 222 son opcionales.
Con referencia a la Figura 11, el proceso 210 puede continuar desde el bloque 252. En este punto, el temporizador de acumulación de enlace ascendente ha expirado (bloque 254). El temporizador de acumulación de enlace ascendente expirará si no hay datos de enlace descendente desde que se reinició el temporizador de enlace ascendente. El
sistema de control determina si hay datos de enlace ascendente pendientes del procesador de aplicaciones 34 (bloque 256). Si la respuesta al bloque 256 es sí, entonces el procesador de aplicaciones 34 inicia la transferencia de datos a través del enlace desde el procesador de aplicaciones 34 al procesador de módem 44 (bloque 258). El sistema de control reinicia el temporizador de acumulación de enlace ascendente (bloque 260). Sin embargo, si la respuesta al bloque 256 es no, no hay datos, el sistema de control envía un evento al procesador de aplicaciones 34 que indica que el procesador de módem 44 espera un timbre/interrupción para cualquier envío de paquete pendiente o subsiguiente (bloque 262). Es decir, dado que no ha habido datos desde el procesador de aplicaciones 34 al procesador de módem 44 desde el tiempo de sondeo anterior, entonces el procesador de módem 44 puede entrar en un modo de interrupción para datos de enlace ascendente y el procesador de módem 44 esperará que el procesador de aplicaciones 34 envíe una interrupción cuandoquiera que haya datos pendientes en el procesador de aplicaciones 34. El sistema de control luego cambia el estado internamente para reflejar lo mismo (bloque 264).
Aún con referencia a la Figura 11, el procesador de módem 44 recibe una interrupción u otra indicación del procesador de aplicaciones 34 que indica datos pendientes en el anillo de transferencia (bloque 266). A continuación, el sistema de control reinicia el temporizador de acumulación de enlace ascendente y cambia el estado para indicar el modo de sondeo de enlace ascendente (bloque 268). Todos los datos del enlace ascendente se procesan (bloque 270) y el proceso 210 comienza de nuevo.
En otro aspecto alternativo, puede haber situaciones en las que las memorias intermedias del procesador de aplicaciones 34 pueden estar llenas y no hay espacio para datos del procesador de módem 44. En tal caso, el procesador de aplicaciones 34 puede informar de ello al procesador de módem 44, y el procesador de módem 44 puede enviar un evento al procesador de aplicaciones 34 para proporcionar una señal de interrupción al procesador de módem 44 cuando haya memorias intermedias libres.
La Figura 12 es similar a las Figuras 10 y 11, ya que ilustra cómo se pueden usar las anulaciones y los contadores de datos junto con un temporizador de acumulación, pero un proceso 280 de la Figura 12 supone que el temporizador de enlace ascendente es más corto que el temporizador de enlace descendente (por ejemplo, análogo al aspecto ilustrado en las Figuras 6 y 7). El proceso 280 comienza en el inicio (bloque 282). El proceso 280 continúa con la llegada de datos de enlace ascendente (UL) (por ejemplo, un paquete) (bloque 284). El sistema de control evalúa si hay algún dato de prioridad, mensaje de control y/u otros datos que requieran baja latencia (bloque 286). Si la respuesta al bloque 286 es no, entonces el sistema de control determina si se ha cruzado un umbral de bytes (es decir, si se supera el umbral de bytes en el acumulador) (bloque 288). Si la respuesta al bloque 288 es no, entonces el sistema de control determina si se ha cruzado el umbral de número de paquetes (es decir, se supera el umbral de paquetes en el acumulador) (bloque 290). Si la respuesta al bloque 290 es no, entonces el sistema de control determina si el sistema se está quedando sin memoria (bloque 292). Si la respuesta al bloque 292 es no, entonces el sistema de control comprueba si el dispositivo está en un modo de sondeo de enlace ascendente (bloque 294). Si la respuesta al bloque 294 es sí, el dispositivo está en el modo de sondeo, entonces el procesador de aplicaciones 34 actualiza la estructura de datos interna/matriz de contexto con información del paquete de datos de enlace ascendente que el dispositivo puede extraer y con la que puede actualizar los punteros de escritura en consecuencia (bloque 296).
Aún con referencia a la Figura 12, si, sin embargo, la respuesta al bloque 294 es no, el dispositivo no está en un modo de sondeo de enlace ascendente, o si se ha respondido afirmativamente a alguna de las anulaciones de los bloques 286, 288, 290 o 292, entonces el procesador de aplicaciones 34 actualiza la estructura de datos interna/matriz de contexto con información de paquete de datos de enlace ascendente que el dispositivo puede extraer y con la que puede actualizar los punteros de escritura en consecuencia (bloque 298). A continuación, el procesador de aplicaciones 34 toca el timbre o interrumpe de otra forma el dispositivo para indicar la disponibilidad de datos de enlace ascendente (bloque 300). A continuación, el procesador de aplicaciones 34 pone el estado del dispositivo en el estado de sondeo (no el modo de timbre/evento/interrupción) (bloque 302), y el proceso se repite.
Debe apreciarse que se pueden realizar procesos similares cuando ambos temporizadores están en el procesador de aplicaciones 34 o el procesador de módem 44 o se dividen entre los procesadores respectivos 34, 44. Del mismo modo, una vez que un temporizador ha expirado, los datos se pueden extraer o empujar a través del bus de interconectividad 36 basándose en un sondeo, en configuración de registros de timbre o en otra técnica.
Los expertos en la materia además apreciarán que los diversos bloques lógicos, módulos, circuitos y algoritmos ilustrativos descritos en conexión con los aspectos divulgados en el presente documento pueden implementarse como hardware electrónico, instrucciones almacenadas en la memoria o en otro medio legible por ordenador y ser ejecutados por un procesador u otro dispositivo de procesamiento, o combinaciones de ambos. Los dispositivos descritos en el presente documento pueden emplearse en cualquier circuito, componente de hardware, IC o chip de IC, a modo de ejemplos. La memoria divulgada en el presente documento puede ser una memoria de cualquier tipo y tamaño y se puede configurar para almacenar cualquier tipo de información deseada. Para ilustrar claramente esta intercambiabilidad, anteriormente se han descrito en general diversos componentes, bloques, módulos, circuitos y pasos ilustrativos, en términos de su funcionalidad. Cómo se implementa dicha funcionalidad depende de la aplicación, de las elecciones de diseño y/o de las restricciones de diseño particulares impuestas en el sistema general. Las personas cualificadas en la materia pueden implementar la funcionalidad descrita de diferentes maneras para cada aplicación particular, pero no debe interpretarse que dichas decisiones de implementación suponen una desviación
del alcance de la presente divulgación.
Los diversos bloques lógicos, módulos y circuitos ilustrativos descritos con relación a los aspectos divulgados en el presente documento pueden implementarse o realizarse con un procesador, un procesador de señales digitales (DSP), un circuito integrado específico de la aplicación (ASIC), una matriz de puertas programables in situ (FPGA) u otro dispositivo lógico programable, lógica de transistores o de puertas discretas, componentes discretos de hardware o cualquier combinación de los mismos diseñada para realizar las funciones descritas en el presente documento. Un procesador puede ser un microprocesador, pero, como alternativa, el procesador puede ser cualquier procesador, controlador, microcontrolador o máquina de estado convencional. Un procesador también puede implementarse como una combinación de dispositivos informáticos, por ejemplo, una combinación de un DSP y un microprocesador, una pluralidad de microprocesadores, uno o más microprocesadores junto con un núcleo de DSP o cualquier otra configuración de este tipo.
Los aspectos divulgados en el presente documento pueden realizarse en hardware y en instrucciones que estén almacenadas en hardware, y pueden residir, por ejemplo, en una Memoria de Acceso Aleatorio (RAM), una memoria flash, una Memoria de Solo Lectura (ROM), Ro M Eléctricamente Programable (EPROM), una Ro M Programable Eléctricamente Borrable (EEPROM), en registros, en un disco duro, un disco extraíble, un CD-ROM o en cualquier otra forma de medio legible por ordenador conocido en la materia. Un medio de almacenamiento a modo de ejemplo está acoplado al procesador de modo que el procesador pueda leer información de, y escribir información en, el medio de almacenamiento. Como alternativa, el medio de almacenamiento puede estar integrado en el procesador. El procesador y el medio de almacenamiento pueden residir en un ASIC. El ASIC puede residir en una estación remota. Como alternativa, el procesador y el medio de almacenamiento pueden residir como componentes discretos en una estación remota, una estación base o un servidor.
También se observa que los pasos operativos descritos en cualquiera de los aspectos a modo de ejemplo en el presente documento están descritos para proporcionar ejemplos y análisis. Las operaciones descritas se pueden realizar en numerosas secuencias diferentes distintas de las secuencias ilustradas. Además, las operaciones descritas en un único paso operativo de hecho se pueden realizar en varios pasos diferentes. Adicionalmente, pueden combinarse una o más pasos operativos analizados en los aspectos a modo de ejemplo. Se entenderá que los pasos operativos ilustrados en los diagramas de flujo pueden ser objeto de numerosas modificaciones diferentes, como resultará fácilmente evidente para un experto en la materia. Los expertos en la materia también entenderán que la información y las señales se pueden representar usando cualquiera de entre una amplia variedad de distintas tecnologías y técnicas. Por ejemplo, los datos, instrucciones, comandos, información, señales, bits, símbolos y segmentos que se pueden haber mencionado a lo largo de la descripción anterior se pueden representar mediante tensiones, corrientes, ondas electromagnéticas, campos o partículas magnéticos, campos o partículas ópticos o cualquier combinación de los mismos.
La descripción anterior de la divulgación se proporciona para permitir que cualquier experto en la materia realice o use la divulgación. Para los expertos en la materia, diversas modificaciones en la divulgación resultarán inmediatamente evidentes.
Claims (7)
1. Un terminal móvil que comprende:
un temporizador de módem y un temporizador de aplicaciones;
un procesador de módem (44), estando el procesador de módem configurado para retener los datos del procesador de módem al procesador de aplicaciones hasta la expiración del temporizador de módem;
un procesador de aplicaciones (34);
un bus de interconectividad (36) que acopla comunicativamente el procesador de aplicaciones al procesador de módem, teniendo el bus de interconectividad periodos en modo activo y periodos en modo de baja potencia; y el procesador de aplicaciones está configurado para retener los datos del procesador de aplicaciones al procesador de módem hasta que se activa, por la llegada de los datos del procesador de módem al procesador de aplicaciones desde el procesador de módem a través del bus de interconectividad, para liberar los datos del procesador de aplicaciones al procesador de módem hacia el procesador de módem a través del bus de interconectividad y estando el procesador de aplicaciones además configurado para reiniciar el temporizador de aplicaciones; en donde los datos del procesador de aplicaciones al procesador de módem y los datos del procesador de módem al procesador de aplicaciones se liberan durante un mismo periodo en modo activo (102).
2. El terminal móvil de la reivindicación 1, en donde:
el bus de interconectividad comprende un bus compatible con interconexión de componentes periféricos (PCI); o el bus de interconectividad comprende una PCI exprés, una PCIe, un bus; o
el temporizador de aplicaciones tiene un periodo más largo que un periodo del temporizador de módem, o el temporizador de módem se implementa en software; o
el temporizador de módem tiene un periodo de aproximadamente seis, 6, milisegundos; o
el procesador de módem comprende el temporizador de módem; o
el procesador de aplicaciones comprende el temporizador de módem.
3. El terminal móvil de la reivindicación 1, en donde el temporizador de aplicaciones tiene un periodo más largo que un periodo del temporizador de módem y el procesador de aplicaciones está configurado para retener los datos del procesador de aplicaciones al procesador de módem hasta la llegada de los datos del procesador de módem al procesador de aplicaciones desde el procesador de módem o hasta la expiración del temporizador de aplicaciones, lo que primero se produzca.
4. El terminal móvil de la reivindicación 1,
en donde el procesador de módem además está configurado para instruir al procesador de aplicaciones para que envíe una interrupción si no se reciben datos antes de la expiración del temporizador de aplicaciones.
5. El terminal móvil de la reivindicación 1, en donde:
el procesador de módem además está configurado para determinar si los datos retenidos comprenden un paquete de control y enviar dicho paquete de control antes de la expiración del temporizador de módem; o
el bus de interconectividad comprende una PCI exprés, una PCIe, un bus, y el procesador de módem además está configurado para extraer datos del procesador de aplicaciones a la llegada de los datos del procesador de módem al procesador de aplicaciones o a la expiración del temporizador de aplicaciones.
6. Un terminal móvil que comprende:
un temporizador de módem;
un procesador de módem (44), estando el procesador de módem configurado para retener datos del procesador de módem al procesador de aplicaciones hasta la expiración del temporizador de módem;
un temporizador de aplicaciones;
un procesador de aplicaciones (34);
un bus de interconectividad (36) que acopla comunicativamente el procesador de aplicaciones al procesador de módem, teniendo el bus de interconectividad periodos en modo activo y periodos en modo de baja potencia; y el procesador de aplicaciones está configurado para retener los datos del procesador de aplicaciones al procesador de módem hasta que se procesador de módem extrae los datos del procesador de aplicaciones a la llegada de los datos del procesador de módem al procesador de aplicaciones desde el procesador de módem a través del bus de interconectividad y el procesador de aplicaciones está además configurado para reiniciar el temporizador de aplicaciones;
en donde los datos del procesador de aplicaciones al procesador de módem y los datos del procesador de módem al procesador de aplicaciones se liberan durante un mismo periodo en modo activo (102).
7. El terminal móvil de la reivindicación 6, en donde el procesador de módem está además configurado para instruir al procesador de aplicaciones para que envíe una interrupción si no se reciben datos antes de la expiración del temporizador de aplicaciones.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201361916498P | 2013-12-16 | 2013-12-16 | |
| US201462019073P | 2014-06-30 | 2014-06-30 | |
| US14/568,694 US9535490B2 (en) | 2013-12-16 | 2014-12-12 | Power saving techniques in computing devices |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2910055T3 true ES2910055T3 (es) | 2022-05-11 |
Family
ID=53368378
Family Applications (4)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES19162655T Active ES2907055T3 (es) | 2013-12-16 | 2014-12-15 | Técnicas de ahorro de energía en dispositivos informáticos |
| ES19154607T Active ES2910055T3 (es) | 2013-12-16 | 2014-12-15 | Técnicas de ahorro de energía en dispositivos informáticos |
| ES18160829T Active ES2870617T3 (es) | 2013-12-16 | 2014-12-15 | Técnicas de ahorro de energía en dispositivos informáticos |
| ES14824677T Active ES2747919T3 (es) | 2013-12-16 | 2014-12-15 | Técnicas de ahorro de energía en dispositivos informáticos |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES19162655T Active ES2907055T3 (es) | 2013-12-16 | 2014-12-15 | Técnicas de ahorro de energía en dispositivos informáticos |
Family Applications After (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES18160829T Active ES2870617T3 (es) | 2013-12-16 | 2014-12-15 | Técnicas de ahorro de energía en dispositivos informáticos |
| ES14824677T Active ES2747919T3 (es) | 2013-12-16 | 2014-12-15 | Técnicas de ahorro de energía en dispositivos informáticos |
Country Status (15)
| Country | Link |
|---|---|
| US (1) | US9535490B2 (es) |
| EP (4) | EP3514661B1 (es) |
| JP (1) | JP6144430B2 (es) |
| KR (4) | KR101832718B1 (es) |
| CN (5) | CN105849668B (es) |
| BR (1) | BR112016013935B1 (es) |
| CA (1) | CA2929725C (es) |
| DK (1) | DK3084558T3 (es) |
| ES (4) | ES2907055T3 (es) |
| HU (3) | HUE057897T2 (es) |
| PL (1) | PL3084558T3 (es) |
| PT (1) | PT3084558T (es) |
| SI (1) | SI3084558T1 (es) |
| TW (4) | TWI704823B (es) |
| WO (1) | WO2015095063A1 (es) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| USRE49652E1 (en) | 2013-12-16 | 2023-09-12 | Qualcomm Incorporated | Power saving techniques in computing devices |
| US9801030B2 (en) | 2015-07-15 | 2017-10-24 | Qualcomm Incorporated | Internal data transfer in EMBMS reception |
| US10628172B2 (en) * | 2016-06-27 | 2020-04-21 | Qualcomm Incorporated | Systems and methods for using distributed universal serial bus (USB) host drivers |
| CN106255091B (zh) * | 2016-08-22 | 2019-08-30 | 努比亚技术有限公司 | 切换方法及装置 |
| US9966986B1 (en) * | 2016-12-23 | 2018-05-08 | Mediatek Inc. | Methods for controlling a frequency synthesizer circuit and a frequency-generating circuit utilizing the same |
| US10070393B2 (en) * | 2017-01-30 | 2018-09-04 | Blackberry Limited | Control of uplink data transmission |
| TWI696069B (zh) * | 2019-02-13 | 2020-06-11 | 睿寬智能科技有限公司 | 用於PCIe設備的大範圍功率量測裝置 |
| US11561601B2 (en) * | 2020-06-05 | 2023-01-24 | Apple Inc. | Method for performing system and power management over a serial data communication interface |
| CN116235157A (zh) * | 2020-09-02 | 2023-06-06 | 高通股份有限公司 | 通过通信总线控制的计算设备中的节能技术 |
| US12353261B2 (en) | 2021-11-30 | 2025-07-08 | Qualcomm Incorporated | Neural-network-based power management for neural network loads |
| CN115514454B (zh) * | 2022-09-19 | 2024-05-28 | Oppo广东移动通信有限公司 | 数据传输方法及装置、电子设备、计算机可读存储介质 |
| US12254196B2 (en) | 2022-11-21 | 2025-03-18 | Advanced Micro Devices, Inc. | System and method to reduce power consumption when conveying data to a device |
Family Cites Families (40)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4697281A (en) * | 1986-03-14 | 1987-09-29 | Spectrum Cellular Communications Corporation, Inc. | Cellular telephone data communication system and method |
| DE69130630T2 (de) * | 1990-09-14 | 1999-09-09 | Hitachi | Synchrones Verfahren und Gerät für Prozessoren |
| US5619681A (en) * | 1992-11-23 | 1997-04-08 | Zilog, Inc. | Delayed FIFO status for serial shift emulation |
| JP2551338B2 (ja) * | 1993-07-23 | 1996-11-06 | 日本電気株式会社 | 情報処理装置 |
| JP2000507417A (ja) * | 1996-03-26 | 2000-06-13 | ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー | 移動電話呼用の代替ルーティングシステム |
| US6151355A (en) * | 1996-10-07 | 2000-11-21 | Dataradio Inc. | Wireless modem |
| DE69827028T2 (de) * | 1997-11-14 | 2005-09-08 | Iws International Inc. | Intelligentes stromverteilungssystem und sein herstellungsverfahren |
| US6272452B1 (en) * | 1998-04-02 | 2001-08-07 | Ati Technologies, Inc. | Universal asynchronous receiver transmitter (UART) emulation stage for modem communication |
| US6765901B1 (en) * | 1998-06-11 | 2004-07-20 | Nvidia Corporation | TCP/IP/PPP modem |
| US6182178B1 (en) * | 1998-06-30 | 2001-01-30 | International Business Machines Corporation | Method and system for supporting peripheral component interconnect (PCI) peer-to-peer access across a PCI host bridge supporting multiple PCI buses |
| US6839792B2 (en) * | 2000-12-15 | 2005-01-04 | Innovative Concepts, Inc. | Data modem |
| US6996214B1 (en) * | 2001-08-31 | 2006-02-07 | Silicon Laboratories, Inc. | Utilization of in-band signaling to facilitate modem on hold |
| JP3599692B2 (ja) * | 2001-09-10 | 2004-12-08 | 松下電器産業株式会社 | データ伝送装置 |
| KR100444702B1 (ko) * | 2002-04-18 | 2004-08-16 | 삼성전자주식회사 | 고속 범용 직렬 버스 인터페이스를 지원하는 디지탈가입자 회선 모뎀 |
| US7058421B2 (en) * | 2002-10-29 | 2006-06-06 | Qualcomm Incorporated | Wireless terminal operating under an aggregate transmit power limit using multiple modems having fixed individual transmit power limits |
| US7137018B2 (en) | 2002-12-31 | 2006-11-14 | Intel Corporation | Active state link power management |
| US20060154642A1 (en) * | 2004-02-20 | 2006-07-13 | Scannell Robert F Jr | Medication & health, environmental, and security monitoring, alert, intervention, information and network system with associated and supporting apparatuses |
| US7949726B2 (en) * | 2004-03-12 | 2011-05-24 | Ocean And Coastal Environmental Sensing, Inc. | System and method for delivering information on demand |
| TWI311705B (en) | 2005-05-23 | 2009-07-01 | Via Tech Inc | Peripheral component interconnect express and changing method of link power states thereof |
| US8131718B2 (en) * | 2005-12-13 | 2012-03-06 | Muse Green Investments LLC | Intelligent data retrieval system |
| US20080034106A1 (en) | 2006-08-02 | 2008-02-07 | Sanjay Bakshi | Reducing power consumption for bulk data transfers |
| US7785478B2 (en) | 2007-08-08 | 2010-08-31 | General Electric Company | Method for controlling protozoa that harbor bacteria |
| US8156353B2 (en) | 2007-09-17 | 2012-04-10 | Intel Corporation | Techniques for communications power management based on system states |
| US8295891B2 (en) * | 2007-10-18 | 2012-10-23 | Interdigital Technology Corporation | UMTS FDD modem optimized for high data rate applications |
| US20090185487A1 (en) | 2008-01-22 | 2009-07-23 | International Business Machines Corporation | Automated advance link activation |
| US8356202B2 (en) * | 2008-03-28 | 2013-01-15 | Intel Corporation | System and method for reducing power consumption in a device using register files |
| US8255713B2 (en) * | 2008-06-26 | 2012-08-28 | Intel Corporation | Management of link states using plateform and device latencies |
| KR20100006110A (ko) * | 2008-07-08 | 2010-01-18 | 한국전자통신연구원 | 이동 통신망에서의 전력 소모 방지 방법 |
| US8078768B2 (en) * | 2008-08-21 | 2011-12-13 | Qualcomm Incorporated | Universal Serial Bus (USB) remote wakeup |
| US7930519B2 (en) * | 2008-12-17 | 2011-04-19 | Advanced Micro Devices, Inc. | Processor with coprocessor interfacing functional unit for forwarding result from coprocessor to retirement unit |
| WO2010125429A1 (en) | 2009-04-30 | 2010-11-04 | Freescale Semiconductor, Inc. | Apparatus, communications system and method for optimizing data packet flow |
| US8615671B2 (en) | 2009-10-09 | 2013-12-24 | Intel Corporation | Techniques for managing lower power states for data links |
| GB2483057B (en) * | 2010-08-20 | 2012-11-28 | Wireless Tech Solutions Llc | Apparatus, method and system for managing data transmission |
| US20120120860A1 (en) * | 2010-11-16 | 2012-05-17 | Chui Jimmy C | Power optimized demodulator front end (demfront) receiver subsystem |
| EP2659329A4 (en) * | 2010-12-27 | 2016-12-28 | Microsoft Technology Licensing Llc | PERFORMANCE MANAGEMENT OF COORDINATION AND SELECTIVE OPERATION OF TIMER-RELATED TASKS |
| EP2716132A2 (en) * | 2011-06-02 | 2014-04-09 | Interdigital Patent Holdings, Inc. | Methods, apparatus, and systems for managing converged gateway communications |
| US9110668B2 (en) | 2012-01-31 | 2015-08-18 | Broadcom Corporation | Enhanced buffer-batch management for energy efficient networking based on a power mode of a network interface |
| US20130204962A1 (en) * | 2012-02-02 | 2013-08-08 | Texas Instruments Incorporated | Network and peripheral interface circuits, systems and processes |
| CN103077141B (zh) * | 2012-12-26 | 2015-08-26 | 西安交通大学 | 一种基于amba总线的自适应实时加权优先仲裁方法及仲裁器 |
| US9594718B2 (en) | 2013-01-24 | 2017-03-14 | Qualcomm Innovation Center, Inc. | Hardware accelerated communications over a chip-to-chip interface |
-
2014
- 2014-12-12 US US14/568,694 patent/US9535490B2/en not_active Ceased
- 2014-12-15 ES ES19162655T patent/ES2907055T3/es active Active
- 2014-12-15 TW TW108129291A patent/TWI704823B/zh active
- 2014-12-15 EP EP19154607.6A patent/EP3514661B1/en active Active
- 2014-12-15 TW TW103143714A patent/TWI604747B/zh active
- 2014-12-15 WO PCT/US2014/070368 patent/WO2015095063A1/en not_active Ceased
- 2014-12-15 BR BR112016013935-6A patent/BR112016013935B1/pt active IP Right Grant
- 2014-12-15 TW TW109127729A patent/TWI743946B/zh active
- 2014-12-15 DK DK14824677.0T patent/DK3084558T3/da active
- 2014-12-15 TW TW106132793A patent/TWI672964B/zh active
- 2014-12-15 ES ES19154607T patent/ES2910055T3/es active Active
- 2014-12-15 JP JP2016537459A patent/JP6144430B2/ja active Active
- 2014-12-15 HU HUE19162655A patent/HUE057897T2/hu unknown
- 2014-12-15 KR KR1020167019112A patent/KR101832718B1/ko active Active
- 2014-12-15 SI SI201431322T patent/SI3084558T1/sl unknown
- 2014-12-15 HU HUE18160829A patent/HUE054392T2/hu unknown
- 2014-12-15 PT PT148246770T patent/PT3084558T/pt unknown
- 2014-12-15 HU HUE14824677A patent/HUE045973T2/hu unknown
- 2014-12-15 EP EP18160829.0A patent/EP3352049B1/en active Active
- 2014-12-15 CN CN201480068762.3A patent/CN105849668B/zh active Active
- 2014-12-15 CA CA2929725A patent/CA2929725C/en active Active
- 2014-12-15 CN CN201810213707.9A patent/CN108491062B/zh active Active
- 2014-12-15 KR KR1020187005007A patent/KR102108661B1/ko active Active
- 2014-12-15 PL PL14824677T patent/PL3084558T3/pl unknown
- 2014-12-15 EP EP19162655.5A patent/EP3531238B1/en active Active
- 2014-12-15 ES ES18160829T patent/ES2870617T3/es active Active
- 2014-12-15 CN CN201910034516.0A patent/CN109753135B/zh active Active
- 2014-12-15 KR KR1020207027351A patent/KR102286208B1/ko active Active
- 2014-12-15 CN CN201810565430.6A patent/CN108388337B/zh active Active
- 2014-12-15 KR KR1020207011950A patent/KR102210798B1/ko active Active
- 2014-12-15 ES ES14824677T patent/ES2747919T3/es active Active
- 2014-12-15 EP EP14824677.0A patent/EP3084558B1/en active Active
- 2014-12-15 CN CN201910514860.XA patent/CN110083223B/zh active Active
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2910055T3 (es) | Técnicas de ahorro de energía en dispositivos informáticos | |
| ES2665794T3 (es) | Sistemas y procedimientos para transmitir mensajes de cambio de configuración entre un punto de acceso y una estación | |
| USRE50641E1 (en) | Power saving techniques in computing devices | |
| EP3298760A1 (en) | Quality of service for a universal serial bus | |
| WO2019034001A1 (zh) | 一种功耗控制方法及装置 | |
| HK40005422A (en) | Power consumption control method and device |