ES2898395T3 - Dispositivo para realizar al menos una acción médica - Google Patents

Dispositivo para realizar al menos una acción médica Download PDF

Info

Publication number
ES2898395T3
ES2898395T3 ES16203132T ES16203132T ES2898395T3 ES 2898395 T3 ES2898395 T3 ES 2898395T3 ES 16203132 T ES16203132 T ES 16203132T ES 16203132 T ES16203132 T ES 16203132T ES 2898395 T3 ES2898395 T3 ES 2898395T3
Authority
ES
Spain
Prior art keywords
memory
application
wear leveling
block
valid
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES16203132T
Other languages
English (en)
Inventor
Michael Mueller
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
F Hoffmann La Roche AG
Roche Diabetes Care GmbH
Original Assignee
F Hoffmann La Roche AG
Roche Diabetes Care GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by F Hoffmann La Roche AG, Roche Diabetes Care GmbH filed Critical F Hoffmann La Roche AG
Application granted granted Critical
Publication of ES2898395T3 publication Critical patent/ES2898395T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/60ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
    • G16H40/63ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for local operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/24Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
    • A61B5/316Modalities, i.e. specific diagnostic methods
    • A61B5/318Heart-related electrical modalities, e.g. electrocardiography [ECG]
    • A61B5/333Recording apparatus specially adapted therefor
    • A61B5/335Recording apparatus specially adapted therefor using integrated circuit memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Public Health (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Primary Health Care (AREA)
  • Business, Economics & Management (AREA)
  • Epidemiology (AREA)
  • General Business, Economics & Management (AREA)
  • Cardiology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • Veterinary Medicine (AREA)
  • Pathology (AREA)
  • Biophysics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Human Computer Interaction (AREA)
  • Infusion, Injection, And Reservoir Apparatuses (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

Un dispositivo (100) para realizar al menos una acción médica en un cuerpo humano o de animal; en el que el dispositivo (100) comprende una fuente de energía (107) y un ordenador (103); en el que el ordenador (103) a) comprende una primera memoria no volátil borrable (104), y b) se configura para realizar al menos una aplicación, configurándose la aplicación para controlar la acción médica; caracterizado por que la aplicación se configura para priorizar la acción médica sobre una limpieza de memoria llamada por una nivelación de desgaste, en el que la aplicación se configura además para priorizar una obtención de una conexión de comunicación del dispositivo (100) sobre la limpieza de memoria llamada por la nivelación de desgaste.

Description

DESCRIPCIÓN
Dispositivo para realizar al menos una acción médica
Campo de la invención
La invención se refiere a un dispositivo para realizar al menos una acción médica en un cuerpo humano o de animal; en el que el dispositivo comprende una fuente de energía y un ordenador; en el que el ordenador
a) comprende una primera memoria no volátil borrable, y
b) se configura para realizar al menos una aplicación, configurándose la aplicación
i) para controlar la acción médica, y
ii) para priorizar la acción médica sobre una limpieza de memoria llamada por una nivelación de desgaste
en el que la aplicación se configura además para priorizar una obtención de una conexión de comunicación del dispositivo (100) sobre la limpieza de memoria llamada por la nivelación de desgaste.
Además, la invención se refiere a un uso de un algoritmo de nivelación de desgaste y un algoritmo de priorización; y a un uso del dispositivo en un tratamiento de la diabetes.
Técnica relacionada
Las memorias flash en general permiten solo un número limitado de ciclos de escritura y borrado. Típicamente, una memoria flash incluye transistores de puerta flotante (FGMOS) o componentes de trampa de carga. En la misma, los FGMOS son transistores de efecto de campo que tienen dos puertas. Una de ellas es una puerta flotante aislada eléctricamente, a la que se le puede aplicar una determinada cantidad de carga eléctrica. La aplicación de esta cantidad de carga eléctrica a la puerta flotante corresponde a establecer el valor de la puerta en 0. A su vez, retirar la carga de la puerta flotante corresponde a establecer su valor en 1. En la misma, escribir en la memoria corresponde a establecer el valor de al menos una celda en 0, en la que borrar implica establecer el valor en 1. Después de un determinado número de dichos ciclos de escritura y borrado, las capas que aíslan eléctricamente las puertas flotantes de los transistores de efecto de campo experimentan desgaste. Debido a defectos de material en las capas aislantes, las cargas eléctricas pueden quedar atrapadas, lo que produce errores de lectura indefinidos. Estos errores ocurren típicamente después de aproximadamente varios miles de acciones de escritura y borrado de la memoria flash.
El documento WO 2007/127879 A2 describe un sistema de infusión de fluidos que incluye una serie de dispositivos de "red corporal" local, tales como una bomba de infusión, un monitor o controlador de mano, un sensor fisiológico y un monitor de cabecera o de hospital. Los dispositivos de red corporal se pueden configurar para admitir la comunicación de datos de estado, información fisiológica, alertas, señales de control y otra información entre sí. Además, los dispositivos de red corporal se pueden configurar para admitir la comunicación en red de datos de estado, información fisiológica, alertas, señales de control y otra información entre los dispositivos de red corporal y dispositivos, sistemas o redes de comunicación "externos".
El documento US 2003/0163633 A1 describe un sistema que admite memoria flash que tiene localizaciones direccionables. El sistema usa un compactador que avanza periódicamente a través de una secuencia circular de las localizaciones de memoria flash organizadas como bloques y borra los bloques a medida que avanza a través de las localizaciones de memoria. En otra implementación descrita, un sistema usa un puntero de escritura que avanza a través de la secuencia circular de las localizaciones de memoria flash. Indicando el puntero de escritura una o más localizaciones de memoria que están libres para recibir datos después de que avanza el puntero de escritura. En consecuencia, el medio de memoria flash se organiza como un círculo continuo de direcciones, con lo que las operaciones de borrado y escritura se manejan de manera circular continua y repetida para lograr una nivelación de desgaste uniforme a través de un medio de memoria flash.
Además, es conocido en general que el borrado de datos de una memoria flash solo se puede efectuar por página completa, no por celda individual. Las páginas típicas consiste en 512, 2048 o 4096 celdas. Sin embargo, la escritura en la memoria flash se puede efectuar por celda individual. Como el número permitido de ciclos de escritura y borrado para cada celda es limitado y el borrado solo se puede realizar por página completa de la memoria flash, se deben realizar el menor número posible de ciclos de borrado para incrementar la vida útil de la memoria flash. Además, los ciclos de escritura se deben distribuir sobre las celdas de la memoria flash para evitar que las celdas individuales experimenten un mayor grado de desgaste que otras celdas. Esto se debe a que la celda que experimenta el mayor grado de desgaste (nivel de desgaste) determina la vida útil de la memoria flash, ya que puede comenzar a producir errores mucho antes que otras celdas con niveles de desgaste menores. Por lo tanto, en la técnica anterior se han desarrollado algoritmos complejos para distribuir los accesos de lectura y escritura sobre las celdas de la memoria flash de modo que el desgaste se distribuya uniformemente. Estos algoritmos se llaman algoritmos de nivelación de desgaste. Típicamente, un controlador de nivel de desgaste se localiza en el chip de memoria para controlar los ciclos de lectura y escritura. Aplicando un nivelación de desgaste de este tipo, el número permitido de ciclos de escritura y borrado de la memoria flash se puede incrementar en un denominado factor de nivelación de desgaste. Por consiguiente, el factor de nivelación de desgaste es un parámetro que caracteriza la prolongación de la duración de la memoria flash aplicando una nivelación de desgaste.
Usando una memoria flash en un dispositivo médico, tal como una bomba de insulina o un sensor de glucosa continuo, la vida útil de la memoria flash pone un límite superior a la vida útil del dispositivo médico. No es necesario mencionar que se desea una vida útil lo más alta posible del dispositivo médico. Por lo tanto, es deseable aplicar una nivelación de desgaste a la memoria flash del dispositivo médico. Sin embargo, en un dispositivo médico de este tipo, típicamente se deben realizar numerosas funciones cruciales en el tiempo, es decir, funciones médicas. Esto impone requisitos adicionales al rendimiento de la memoria flash. Por ejemplo, en la técnica anterior, los ciclos de acceso de memoria a una memoria flash que implican una nivelación de desgaste son bastante lentos y consumen mucho tiempo. Además, estos ciclos de acceso de memoria consumen energía. Por lo tanto, es deseable realizar etapas de borrado solo cuando no está prevista ninguna acción crucial en el tiempo. Además, un procedimiento de nivelación de desgaste de un dispositivo médico de la técnica anterior implica reservar regiones de la memoria flash para diversos supuestos operativos que incluyen tareas de particular importancia, es decir, tareas médicas. Una nivelación de desgaste de este tipo tiene la desventaja de bloquear estas regiones de memoria para cualquier uso adicional. Además, los algoritmos de nivelación de desgaste de la técnica anterior no permiten un comportamiento predecible en tiempo real dentro de un sistema integrado. En particular, el tiempo necesario para las operaciones de lectura y escritura puede no ser predecible. Además, los algoritmos de nivelación de desgaste de la técnica anterior no permiten un consumo de energía predecible dentro de un sistema integrado. Además, una memoria flash de dispositivo médico de la técnica anterior con nivelación de desgaste no permite una detección de errores y/o corrección de errores in situ.
Problema que se va a resolver
Por lo tanto, un objetivo de la presente invención es proporcionar un dispositivo médico con una memoria flash que evite al menos parcialmente las deficiencias mencionadas anteriormente de los dispositivos de memoria flash conocidos. Específicamente, se mejorará el rendimiento del dispositivo médico en comparación con los dispositivos de memoria flash médicos conocidos.
Sumario de la invención
La invención se define por las reivindicaciones adjuntas.
Este problema se resuelve por un dispositivo para realizar al menos una acción médica en un cuerpo humano o de animal; por un uso de un algoritmo de nivelación de desgaste y un algoritmo de priorización; y por un uso del dispositivo en un tratamiento de la diabetes, cada uno con los rasgos característicos de las reivindicaciones independientes. Los modos de realización preferentes, que se podrían realizar de forma aislada o en cualquier combinación arbitraria, se enumeran en las reivindicaciones dependientes.
Específicamente, se puede proporcionar un dispositivo médico con una memoria flash, en el que se incrementará la vida útil del dispositivo médico.
Además, el dispositivo médico puede mostrar un nivel mejorado de fiabilidad o seguridad operativa o ambos. Además, el dispositivo médico puede tener una memoria flash, en el que se puede usar una capacidad de la memoria flash tan eficazmente como sea posible. En este contexto, el dispositivo médico puede necesitar una menor capacidad de la memoria flash para cumplir las mismas tareas. Además, se pueden reducir los costes de la capacidad de memoria flash del dispositivo médico. Una lectura de la memoria flash puede ser más rápida y/o más predecible. Un factor de nivelación de desgaste de la memoria flash puede ser predecible. Una sincronización o un comportamiento de consumo de energía del dispositivo médico o ambos pueden ser predecibles. La sincronización o el comportamiento de consumo de energía del dispositivo médico o ambos pueden ser predecibles durante una fase de limpieza de la memoria flash, más preferentemente en tiempo real. El dispositivo médico puede comprender la menor cantidad posible de componentes electrónicos. El dispositivo médico puede no comprender en absoluto un controlador de nivelación de desgaste. Además, se puede proporcionar un procedimiento para hacer funcionar el dispositivo médico.
Como se usa en lo que sigue, los términos "tener", "comprender" o "incluir" o cualquier variación gramatical arbitraria de los mismos se usan de forma no excluyente. Por tanto, estos términos se pueden referir tanto a una situación en la que, además del rasgo característico introducido por estos términos, no están presentes otros rasgos característicos en la entidad descrita en este contexto como a una situación en la que están presentes uno o más de otros rasgos característicos. Como ejemplo, las expresiones "A tiene B", "A comprende B" y "A incluye B" se pueden referir tanto a una situación en la que, además de B, no está presente ningún otro elemento en A (es decir, una situación en la que A consiste única y exclusivamente en B) como a una situación en la que, además de B, uno o más de otros elementos están presentes en la entidad A, tales como elemento C, elementos C y D o incluso otros elementos.
Además, se debe indicar que los términos "al menos uno", "uno o más" o expresiones similares que indican que un rasgo característico o elemento puede estar presente una vez o más de una vez, típicamente se usarán solo una vez cuando se introduce el rasgo característico o elemento respectivo. A continuación, en la mayoría de los casos, cuando se hace referencia al rasgo característico o elemento respectivo, las expresiones "al menos uno" o "uno o más" no se repetirán, a pesar de que el rasgo característico o elemento respectivo pueda estar presente una vez o más de una vez.
Además, como se usa en lo que sigue, los términos "preferentemente", "más preferentemente", "en particular", "más en particular", "específicamente", "más específicamente" o términos similares se usan junto con rasgos característicos opcionales, sin restringir otras posibilidades alternativas. Por tanto, los rasgos característicos introducidos por estos términos son rasgos característicos opcionales y no pretenden restringir el alcance de las reivindicaciones en modo alguno. La invención, como reconocerá el experto en la técnica, se puede realizar usando rasgos característicos alternativos. De forma similar, los rasgos característicos introducidos por "en un modo de realización de la invención" o expresiones similares pretenden ser rasgos característicos opcionales, sin ninguna restricción con respecto a modos de realización alternativos de la invención, sin ninguna restricción con respecto al alcance de la invención y sin ninguna restricción con respecto a la posibilidad de combinar los rasgos característicos introducidos de dicha forma con otros rasgos característicos opcionales o no opcionales de la invención.
En la medida en que el presente documento se refiere a una "primera" entidad o una "segunda" entidad o una entidad "adicional", los términos "primera", "segunda" y "adicional" se eligen solo como una cuestión de nomenclatura. La presencia de una "primera" entidad no implica la presencia de una "segunda" o entidad "adicional". La presencia de una "segunda" entidad no implica la presencia de una "primera" entidad. Además, los términos "primera", "segunda" y "adicional" se usan para distinguir varias entidades sin implicar ningún orden de estas entidades.
Los rasgos característicos que son preferentes de acuerdo con un modo de realización de una categoría de la invención también son preferentes para los componentes o entidades correspondientes de otra categoría de la invención. En la misma, los componentes o entidades se pueden corresponder entre sí en cuanto a su nombre o función de acuerdo con la invención.
En un primer aspecto de la presente invención, se divulga un dispositivo para realizar al menos una acción médica en un cuerpo humano o de animal. Como se usa en el presente documento, una acción médica se puede referir, en general, a una acción arbitraria seleccionada del grupo que consiste en una acción de diagnóstico y una acción terapéutica. Como ejemplo, la acción médica puede ser o puede comprender la determinación de un analito, tal como un analito en un líquido corporal y/o en un tejido corporal. Adicionalmente o de forma alternativa, la acción médica puede ser o puede comprender un medicamento, tal como un medicamento de al menos un fármaco.
El dispositivo comprende una fuente de energía y un ordenador. La fuente de energía, como ejemplo, puede ser o puede comprender al menos un dispositivo de almacenamiento de energía, tal como al menos uno de una batería, un acumulador y un supercondensador. Adicionalmente o de forma alternativa, la fuente de energía puede comprender una fuente de energía externa, tal como un enchufe externo. Una batería, como ejemplo, puede ser o puede comprender una batería recargable. Adicionalmente o de forma alternativa, la fuente de energía puede ser o comprender una célula fotovoltaica.
El ordenador puede comprender un procesador, tal como una unidad de procesamiento central (CPU). El procesador puede estar compuesto por un único circuito integrado. En este caso, el procesador se puede denominar microprocesador. Además, el ordenador puede comprender un microcontrolador. En el mismo, el microcontrolador puede ser un circuito integrado que puede comprender un procesador, una memoria y uno o más periféricos. En el mismo, el periférico puede ser programable. Además, el periférico puede ser un periférico de entrada o un periférico de salida o ambos. Además, el ordenador comprende una primera memoria no volátil borrable y el ordenador se configura para realizar al menos una aplicación. Como se usa en el presente documento, una aplicación se puede referir, en general, a la capacidad de realizar uno o más procedimientos, tales como uno o más algoritmos. Como ejemplo, la aplicación puede ser adecuada para controlar la una o más acciones médicas mencionadas anteriormente y/o al menos una parte de las mismas. La aplicación puede controlar uno o más de un comienzo de la acción médica, una duración de la acción médica, una frecuencia de realización de la acción médica y una dosificación de la acción médica o una combinación de al menos dos de las mismas.
En la misma, la aplicación se puede almacenar en un medio de almacenamiento de datos del ordenador, en el que el medio de almacenamiento de datos es legible por el procesador. La aplicación se puede incorporar total o parcialmente en software. Por tanto, como ejemplo, el ordenador, específicamente el medio de almacenamiento, puede almacenar uno o más de comandos, software y algoritmo o código que, cuando se leen por lo cargado en el procesador son adecuados para hacer que el procesador realice la aplicación o una parte de la misma. Por tanto, la aplicación puede ser o puede comprender software, tal como un programa informático.
La aplicación se configura para controlar la acción médica y para priorizar la acción médica sobre una limpieza de memoria llamada por una nivelación de desgaste. En la misma, la limpieza de memoria puede ser una limpieza de la primera memoria no volátil borrable.
Como se usa en el presente documento, el término "llamar" o "que se llama" se puede referir, en general, a una instancia del ordenador; por ejemplo, el procesador, la aplicación o un algoritmo que se implementa en la aplicación; que comunica que está prevista una acción particular, es decir, es necesario que se realice. Si se llama a una acción, es posible que esto no provoque instantáneamente la realización de la acción. En cambio, una llamada de una acción puede dar lugar a una verificación de requisitos adicionales para realizar la acción. Esta verificación de requisitos adicionales se puede realizar por una instancia del ordenador que sea diferente de la instancia que llamó a la acción. Si se cumplen estos requisitos adicionales, se puede comenzar la acción.
En general, el término "nivelación de desgaste" se puede referir a un procedimiento o a instrucciones que implican una distribución de accesos a regiones de una pluralidad de regiones de la primera memoria no volátil borrable sobre esta pluralidad de regiones. En la misma, las regiones pueden ser, por ejemplo, bloques de datos. En este contexto, los accesos pueden ser accesos de lectura, accesos de escritura o accesos de borrado o combinaciones de los mismos.
El término limpieza de memoria se puede referir, en general, a una acción que comprende el borrado de regiones de la primera memoria no volátil borrable. Estas regiones pueden ser bloques de datos, en particular bloques de datos no válidos. La limpieza de memoria se puede referir además a un borrado de todos los bloques de datos no válidos de una región de datos particular de la primera memoria no volátil borrable.
La aplicación puede ser programable. En la misma, la aplicación programable se puede ajustar en cuanto a uno o más de: un comienzo de la acción médica, una duración de la acción médica, una frecuencia de realización de la acción médica y una dosificación de la acción médica o una combinación de al menos dos de los mismos. La programación de la aplicación se puede realizar por interacción manual con el dispositivo o por medio de un controlador remoto o ambos. Específicamente en el caso de un controlador remoto, el dispositivo puede comprender una unidad de recepción para recibir señales de control desde el controlador remoto. En el mismo, la unidad receptora se puede configurar para recibir una seleccionada del grupo que consiste en señales de radio, señales infrarrojas y señales unidas por cable o una combinación de al menos dos de las mismas.
El dispositivo específicamente puede ser o puede comprender un dispositivo médico. Una acción médica específicamente puede ser o puede comprender un tratamiento de una enfermedad o una disfunción o ambas en cada caso de un cuerpo humano o de animal. Otra acción médica puede ser una medición de al menos un parámetro de diagnóstico de un cuerpo humano o de animal.
En otro aspecto de la invención, la nivelación de desgaste se llama por un algoritmo de nivelación de desgaste, en la que el algoritmo de nivelación de desgaste está compuesto por la aplicación. La nivelación de desgaste puede ser o puede comprender específicamente una nivelación de desgaste dinámica o una nivelación de desgaste estática o ambas. El algoritmo de nivelación de desgaste se puede implementar específicamente en la aplicación. El algoritmo de nivelación de desgaste puede estar compuesto específicamente por un código fuente de la aplicación.
Además, la priorización se puede implementar en un algoritmo de priorización, en la que el algoritmo de priorización está compuesto por la aplicación. El algoritmo de priorización se puede implementar específicamente en la aplicación. El algoritmo de priorización, como ejemplo, puede estar compuesto por el código fuente de la aplicación. Como se usa en el presente documento, el algoritmo de priorización se puede referir, en general, a una instrucción o una secuencia de instrucciones que supervisan la disponibilidad de un recurso y afectan un orden cronológico de acciones que hacen uso de este recurso o recursos. En el mismo, el recurso puede ser, por ejemplo, tiempo o energía. En este contexto, el algoritmo de priorización puede preferir cronológicamente una acción sobre otra, lo que puede implicar posponer la otra acción.
Además, la aplicación se configura además para priorizar una obtención de una conexión de comunicación del dispositivo sobre la limpieza de memoria llamada por la nivelación de desgaste. La conexión de comunicación puede ser o puede comprender específicamente una conexión de comunicación inalámbrica. Esta conexión de comunicación puede ser una conexión de comunicación entre el dispositivo y el controlador remoto mencionado anteriormente. La obtención de la conexión de comunicación puede ser específicamente o puede comprender verificar si la conexión de comunicación está intacta o intentar establecer o restablecer la conexión de comunicación o comunicar un mensaje de error o combinaciones de ellos.
El dispositivo se puede diseñar específicamente para hacerse funcionar en ciclos o tareas o ambos. En el mismo, específicamente, la aplicación se puede diseñar para hacer funcionar el dispositivo en ciclos o tareas o ambos. En el mismo, los ciclos pueden ser ciclos consecutivos y las tareas pueden ser tareas consecutivas.
Cada ciclo tiene una o ambas de una duración o una porción de energía de la fuente de energía disponible para el ciclo. En el mismo, la aplicación puede determinar esta duración de ciclos y/o porción de energía disponible para cada ciclo. Por lo tanto, la duración de cada ciclo puede estar predeterminada, tal como por la aplicación. Además, la aplicación se diseña para priorizar la acción médica sobre la limpieza de memoria llamada por la nivelación de desgaste en cuanto a una o ambas de una duración de un ciclo o una porción de energía disponible para un ciclo. Esto significa en particular que la aplicación puede garantizar que esté disponible suficiente tiempo y/o energía en cada ciclo, en el que se va a realizar la acción médica, para realizar esta acción médica. Solo si están disponibles suficiente tiempo y/o energía en el ciclo que no es necesario para realizar la acción médica, se puede realizar la limpieza de memoria de acuerdo con la nivelación de desgaste.
Una tarea puede ser cualquier acción para la que el dispositivo se diseña para realizar, tal como la acción médica, la limpieza de memoria o una tarea de comunicación. Además, cada tarea puede tener una o ambas de una duración o una porción de energía necesaria para realizar la tarea. La duración de cada tarea puede estar predeterminada, tal como por la aplicación. Por ejemplo, la limpieza de memoria puede ser una tarea determinista en el tiempo, es decir, una tarea que tiene una duración predeterminada. Además, la aplicación se diseña para priorizar la acción médica sobre la limpieza de memoria llamada por la nivelación de desgaste en cuanto a una o ambas de una duración de una tarea o una porción de energía necesaria para una tarea.
En el contexto del dispositivo que se hace funcionar en ciclos, es posible además que la aplicación se diseñe para priorizar la acción médica sobre la limpieza de memoria llamada por la nivelación de desgaste en cuanto a una o ambas de una duración de un ciclo o una porción de energía disponible para un ciclo. Esto puede implicar que la aplicación puede garantizar que esté disponible suficiente tiempo y/o energía en cada ciclo, en el que se va a realizar la acción médica, para realizar esta acción médica. Solo si está disponible suficiente tiempo y/o energía en el ciclo que no es necesario para realizar la acción médica, se comienza la limpieza de memoria de acuerdo con la nivelación de desgaste.
La porción de energía se puede proporcionar por un componente de reparto de energía, que está compuesto por el dispositivo. En el mismo, el componente de reparto de energía se diseña para cargarse por la fuente de energía. Por ejemplo, el componente de reparto de energía se puede diseñar para cargarse con la porción de energía de un ciclo de la fuente de energía. El componente de reparto de energía puede ser o puede comprender específicamente un condensador.
La primera memoria no volátil borrable puede comprender específicamente una región de almacenamiento de datos, que comprende un primer conjunto de bloques de datos válidos, y una tabla de asignación de bloques, que comprende una entrada de asignación válida para cada bloque de datos válido del primer conjunto. La región de almacenamiento de datos puede comprender además bloques de datos no válidos y/o bloques de datos libres. Reescribir un bloque de datos válido del primer conjunto de acuerdo con la nivelación de desgaste comprende preferentemente
a) invalidar la entrada de asignación válida en la tabla de asignación de bloques para que se reescriba el bloque de datos válido;
b) escribir una entrada de asignación válida adicional para un bloque de datos válido adicional del primer conjunto en una entrada de asignación libre de la tabla de asignación de bloques;
c) invalidar el bloque de datos válido del primer conjunto que se va a reescribir, obteniendo de este modo un bloque de datos no válido del primer conjunto; y
d) escribir el bloque de datos válido adicional del primer conjunto en un bloque de datos libre de la región de almacenamiento de datos.
El término bloque de datos se puede referir a una secuencia de octetos o bits, que normalmente contiene cierto número entero de registros, que tiene una longitud máxima, un tamaño de bloque. Se dice que los datos así estructurados están bloqueados. El procedimiento de poner datos en bloques se llama almacenamiento en bloques, mientras que la eliminación de bloques es el procedimiento de extraer datos de los bloques. La región de almacenamiento de datos se puede referir a una pluralidad de bloques de datos de una memoria. Los datos que se escriben en la primera memoria no volátil borrable de acuerdo con la nivelación de desgaste se pueden escribir en la región de almacenamiento de datos. La tabla de asignación de bloques como se usa en el presente documento puede ser una estructura de datos en la primera memoria no volátil borrable usada para rastrear bloques de datos que se consideran válidos.
Si se cumple(n) una o ambas de las siguientes condiciones, la limpieza de memoria se llama por la nivelación de desgaste: menos de un número mínimo de bloques de datos libres está disponible en la región de almacenamiento de datos para la etapa d); menos de un número mínimo de entradas de asignación libres está disponible en la tabla de asignación de bloques para la etapa b). En particular, se puede llamar a la limpieza de memoria si se cumple(n) una o ambas de las siguientes condiciones: no está disponible ningún bloque de datos libre en la región de almacenamiento de datos para la etapa d); no está disponible ninguna entrada de asignación libre en la tabla de asignación de bloques para la etapa b). La limpieza de memoria puede comprender borrar una pluralidad de entradas de asignación no válidas de la tabla de asignación de bloques o una pluralidad de bloques de datos no válidos de la región de almacenamiento de datos o ambos. En particular, la limpieza de memoria puede comprender borrar todas las entradas de asignación no válidas de la tabla de asignación de bloques o todos los bloques de datos no válidos de la región de almacenamiento de datos o ambos. Borrar un bloque de datos no válido puede comprender específicamente establecer este bloque de datos no válido en 1, obteniendo de este modo un bloque de datos libre. Borrar una entrada de asignación no válida puede comprender específicamente establecer esta entrada de asignación no válida en 1, obteniendo de este modo una entrada de asignación libre. Sin embargo, como se indica anteriormente, el borrado de datos de una memoria flash típicamente solo se puede efectuar por página completa, tal como por página completa de la región de almacenamiento de datos o por página completa de la tabla de asignación de bloques. La invalidación de un bloque de datos válido puede comprender específicamente establecer este bloque de datos válido en 0, obteniendo de este modo un bloque de datos no válido. La invalidación de una entrada de asignación válida puede comprender específicamente establecer esta entrada de asignación válida en 0, obteniendo de este modo una entrada de asignación no válida.
La primera memoria no volátil borrable en particular puede ser o puede comprender una memoria flash. Como ejemplo, la memoria flash puede ser o puede comprender una flash-EEPROM (memoria de sólo lectura programable y borrable eléctricamente). Específicamente, la flash-EEPROM puede ser o puede comprender una NAND-flash o una NOR-flash o ambas. La NAND-flash puede ser una NAND-flash vertical (V-NAND). La nivelación de desgaste puede ser o puede comprender una nivelación de desgaste estática o una nivelación de desgaste dinámica o ambas. En la misma, se prefiere la nivelación de desgaste estática. Sin embargo, son factibles otras opciones.
En general, la nivelación de desgaste dinámica y la nivelación de desgaste estática pueden diferir en la distribución de accesos de escritura sobre la memoria. Como se usa en el presente documento, el término "nivelación de desgaste dinámica" se puede referir específicamente a una nivelación de desgaste que distribuye una acción de escritura prevista a un bloque de datos libre que ha experimentado el menor desgaste de los accesos de memoria, en la que el bloque de datos libre se puede elegir de una pluralidad de bloques de datos de la memoria, en la que cada bloque de datos de la pluralidad se ha reescrito con frecuencia, es decir, se ha reescrito un número mínimo de veces. Por consiguiente, el criterio que determina la pluralidad de bloques de datos se denomina dinámico, ya que puede dar como resultado que la pluralidad de bloques de datos cambie con el tiempo debido a acciones de reescritura que se realizan con frecuencia. Como se usa además en el presente documento, el término "nivelación de desgaste estática" se puede referir a una nivelación de desgaste que distribuye una acción de escritura prevista a un bloque de datos libre que ha experimentado el menor desgaste de los accesos de memoria, en la que este bloque de datos libre se elige típicamente de una pluralidad estáticamente predeterminada de bloques de datos. Por consiguiente, aquí la pluralidad de bloques de datos de los que se elige el bloque de datos libre puede no cambiar con el tiempo. En consecuencia, si la pluralidad de bloques de datos incluye todos los bloques de datos de una memoria, esto se puede denominar nivelación de desgaste estática.
Cada bloque de datos válido del primer conjunto tiene preferentemente un identificador y una dirección física en la primera memoria no volátil borrable. La entrada de asignación válida para este bloque de datos válido del primer conjunto comprende preferentemente el identificador del bloque de datos válido, y asignada al identificador, información sobre la dirección física del bloque de datos válido. Preferentemente, la información sobre la dirección física del bloque de datos válido es un desplazamiento de una dirección física de la entrada de asignación válida para el bloque de datos válido del primer conjunto con respecto a la dirección física del bloque de datos válido. El primer conjunto de bloques de datos válidos se puede proteger específicamente por un valor de CRC. El valor de CRC, como ejemplo, puede tener un tamaño de al menos 16 bits. En el presente documento, CRC significa verificación de redundancia cíclica. Se puede usar una verificación de redundancia cíclica para detectar cambios accidentales en los datos. En este contexto, un bloque de datos en el que se escriben datos puede obtener un valor de verificación breve adjunto, en base al resto de una división polinómica de un contenido de los datos. Al recuperar los datos, el cálculo se puede repetir y, en caso de que los valores de verificación no coincidan, se pueden adoptar medidas correctivas frente a la corrupción de datos.
El ordenador puede comprender además una memoria no volátil borrable adicional. Esta memoria no volátil borrable adicional puede comprender una tabla de búsqueda de tabla de asignación de bloques, que comprende una entrada de asignación de búsqueda para cada una de las entradas de asignación válidas de la tabla de asignación de bloques. Cada entrada de asignación de búsqueda puede comprender para una entrada de asignación correspondiente, que corresponde a un bloque de datos válido: el identificador del bloque de datos válido; y asignada al identificador del bloque de datos válido información sobre una dirección física de la entrada de asignación en la tabla de asignación de bloques. Preferentemente, la información sobre la dirección física de la entrada de asignación en la tabla de asignación de bloques es un desplazamiento de una dirección física de la entrada de asignación de búsqueda en la tabla de búsqueda de tabla de asignación de bloques con respecto a la dirección física de la entrada de asignación en la tabla de asignación de bloques.
La memoria no volátil borrable adicional puede ser o puede comprender específicamente una memoria de acceso aleatorio (RAM). La aplicación se puede diseñar para activar una escritura de la tabla de búsqueda de tabla de asignación de bloques en la memoria no volátil borrable adicional durante o tras iniciar el ordenador.
La primera memoria no volátil borrable puede comprender además un conjunto adicional de bloques de datos válidos y una tabla de asignación de bloques adicional, que comprende una entrada de asignación válida para cada bloque de datos válido del conjunto adicional. En la misma, el conjunto adicional puede ser redundante con respecto al primer conjunto. Esto significa que cada bloque de datos válido del conjunto adicional puede tener un bloque de datos válido idéntico correspondiente en el primer conjunto. El conjunto adicional de bloques de datos válidos también puede estar compuesto por la región de almacenamiento de datos.
El dispositivo puede no comprender específicamente un controlador de nivel de desgaste. En el mismo, un controlador de nivel de desgaste se puede referir a un microcontrolador que está configurado para realizar una nivelación de desgaste. Como alternativa a un controlador de nivel de desgaste, la nivelación de desgaste se puede implementar en software, tal como la aplicación del dispositivo de acuerdo con la invención. La implementación de la nivelación de desgaste en software se puede efectuar, por ejemplo, usando sistemas de archivos de propósito especial, tales como JFFS2 o YAFFS o ambos.
El dispositivo de acuerdo con la invención puede ser o puede comprender específicamente un dispositivo móvil. El dispositivo móvil puede tener un peso o dimensiones o ambos que sea(n) adecuado(s) para que el dispositivo móvil se una al cuerpo humano o de animal sin perjudicar la movilidad del ser humano o animal. En este contexto, el dispositivo puede tener un peso de menos de 500 g, tal como de menos de 400 g, menos de 300 g, menos de 200 g, menos de 150 g, menos de 100 g, menos de 70 g o incluso menos de 50 g. Además, el dispositivo puede tener una longitud de menos de 20 cm, menos de 15 cm o incluso menos de 10 cm. Además, preferentemente, el dispositivo puede tener un espesor de menos de 10 cm, menos de 7 cm, menos de 5 cm o incluso de 3 cm.
Un dispositivo de acuerdo con la invención puede comprender además una bomba, tal como una bomba de medicamento, y un recipiente. La bomba puede comprender específicamente un motor. El recipiente puede comprender un ingrediente activo. El ingrediente activo puede ser o puede comprender específicamente un líquido o puede estar compuesto por un líquido. El ingrediente activo puede ser un ingrediente farmacéutico activo o un ingrediente biológico activo o ambos. Como ejemplo, el n ingrediente biológico activo puede ser o puede comprender una enzima. Como ejemplo, la enzima puede ser o puede comprender insulina. Un ingrediente farmacéutico activo puede ser o puede comprender específicamente un fármaco.
La bomba se puede disponer y configurar específicamente para bombear el ingrediente activo desde el recipiente al cuerpo humano o de animal. El recipiente puede tener específicamente un volumen de recipiente en el intervalo de 0,5 a 10 ml, tal como preferentemente de 1 a 4 ml, por ejemplo, de 1,2 a 3,5 ml.
El recipiente, como ejemplo, puede ser al menos parcialmente transparente. En el mismo, el recipiente puede comprender una pared de recipiente que rodea el interior del recipiente. Esta pared de recipiente puede ser al menos hasta tal punto transparente que permita verificar visualmente un nivel de llenado del recipiente desde su exterior sin necesidad de abrir el recipiente o desmontarlo del dispositivo.
El dispositivo puede comprender además una aguja hueca para inyectar el al menos un ingrediente activo por vía subcutánea en el cuerpo humano o de animal. Por consiguiente, la aguja hueca se puede disponer y configurar para conducir el ingrediente activo, que se bombea por la bomba desde el recipiente, por vía subcutánea al cuerpo humano o de animal. La aguja hueca se puede conectar al recipiente de una manera conductora de fluidos. La aguja hueca se puede unir al recipiente. La aguja hueca se puede conectar específicamente al recipiente por medio de una conexión conductora de fluidos, en la que la conexión conductora de fluidos, como ejemplo, no comprende un tubo de una longitud de más de 30 cm, específicamente de más de 20 cm, más de 10 cm, más de 5 cm o incluso más de 3 cm. Como ejemplo, la conexión conductora de fluidos entre la aguja hueca y el recipiente no comprende un tubo flexible. En este contexto, la acción médica puede ser o puede comprender específicamente inyectar una porción del ingrediente activo en el cuerpo humano o de animal, tal como bombeando la porción del ingrediente activo desde el recipiente por medio de la aguja hueca por vía subcutánea al cuerpo humano o de animal.
El dispositivo puede comprender además un primer módulo y un módulo adicional. En el mismo, el primer módulo puede comprender la bomba y el recipiente. El módulo adicional puede comprender una placa base y la aguja hueca. Además, el primer módulo o el módulo adicional o ambos pueden comprender un medio de fijación. Estos medios de fijación se pueden configurar para unir de forma separable el primer módulo al módulo adicional. Esto significa que por medio de los medios de fijación, el primer módulo y el módulo adicional se pueden unir al y separar de forma reversible del otro sin destruir ninguno del primer módulo, el módulo adicional y los medios de fijación. La placa base puede comprender otros medios de fijación, que pueden comprender un adhesivo para unir la placa base a la piel del cuerpo humano o de animal. La placa base puede comprender un parche que tiene el adhesivo para unir de forma separable la placa base a la piel del cuerpo humano o de animal.
El dispositivo de acuerdo con la invención puede comprender además un sensor. Este sensor se puede configurar para medir al menos un parámetro de diagnóstico del cuerpo humano o de animal. El al menos un parámetro de diagnóstico puede ser o puede comprender, en general, cualquier parámetro que caracterice un estado corporal y/o estado físico del cuerpo humano o de animal. Como ejemplo, el parámetro de diagnóstico puede ser o puede comprender información sobre la presencia y/o concentración de al menos un analito en el cuerpo, tal como en un líquido corporal y/o un tejido corporal. Como ejemplo, el parámetro de diagnóstico puede comprender una concentración de analito en un líquido corporal tal como sangre completa, líquido intersticial, líquido lagrimal u orina. Adicionalmente o de forma alternativa, se puede medir otro ingrediente en el cuerpo, tal como uno o más ingredientes seleccionados del grupo que consiste en glóbulos sanguíneos, una enzima y un nutriente o una combinación de al menos dos de los mismos. El nutriente, como ejemplo, puede ser un carbohidrato o una grasa o ambos. Como ejemplo, el ingrediente o analito puede comprender carbohidratos tales como glúcidos, por ejemplo, glucosa. En consecuencia, el al menos un parámetro de diagnóstico, como ejemplo, puede ser o puede comprender específicamente una concentración de glucosa en sangre completa. Sin embargo, otros modos de realización son factibles.
El dispositivo de acuerdo con la invención puede ser o puede comprender específicamente una bomba de insulina o un sensor de glucosa continuo o ambos.
De acuerdo con otro aspecto de la invención, se divulga un uso de un algoritmo de nivelación de desgaste, por ejemplo un algoritmo de nivelación de desgaste estática, y un algoritmo de priorización para almacenar datos en una memoria flash de un dispositivo para realizar al menos una acción médica en un cuerpo humano o de animal. En el mismo, el algoritmo de priorización se diseña para priorizar la acción médica sobre una limpieza de la memoria flash llamada por el algoritmo de nivelación de desgaste. El dispositivo puede comprender un ordenador, en el que el ordenador puede comprender la memoria flash y una aplicación, en el que la aplicación está configurada para controlar la acción médica, en el que la aplicación comprende el algoritmo de priorización o el algoritmo de nivelación de desgaste o ambos. En el contexto, el dispositivo puede ser el dispositivo de acuerdo con la invención como se describe en detalle anteriormente.
La invención divulga y propone además un programa informático que incluye instrucciones ejecutables por ordenador para realizar total o parcialmente el procedimiento de acuerdo con la presente invención. Específicamente, la etapa b) y/u, opcionalmente, la etapa c) del procedimiento se pueden incorporar total o parcialmente usando instrucciones ejecutables por ordenador. Además, el componente opcional del procedimiento también se puede incorporar total o parcialmente por instrucciones ejecutables por ordenador. El procedimiento se puede realizar cuando el programa se ejecuta en el ordenador o en una red informática, preferentemente en el ordenador del dispositivo de acuerdo con la invención. Específicamente, el programa informático se puede almacenar en una unidad de almacenamiento de datos legible por ordenador. Por tanto, la etapa de procedimiento b) o c) o ambas como se indica anteriormente se puede realizar usando un ordenador o una red informática, preferentemente usando un programa informático. En el mismo, un ordenador preferente es el ordenador del dispositivo de acuerdo con la invención. Un programa informático preferente es la aplicación del dispositivo de acuerdo con la invención.
La invención divulga y propone además un producto de programa informático que tiene medios de código de programa, para realizar total o parcialmente el procedimiento de acuerdo con la presente invención, tal como una o ambas de las etapas b) o c), en uno o más de los modos de realización incluidos en el presente documento cuando el programa se ejecuta en un ordenador o red informática. Específicamente, los medios de código de programa se pueden almacenar en una unidad de almacenamiento de datos legible por ordenador.
Además, la invención divulga y propone una unidad de almacenamiento de datos que tiene una estructura de datos almacenada en la misma, que, después de cargarse en un ordenador o red informática, tal como en una memoria de trabajo o memoria principal del ordenador o red informática, puede ejecutar al menos una etapa de procedimiento del procedimiento de acuerdo con uno o más de los modos de realización divulgados en el presente documento.
La invención además propone y divulga un producto de programa informático con medios de código de programa almacenados en una unidad de almacenamiento legible por máquina, para realizar al menos una etapa de procedimiento del procedimiento de acuerdo con uno o más de los modos de realización divulgados en el presente documento, cuando se ejecuta el programa en un ordenador o red informática. Como se usa en el presente documento, un producto de programa informático se refiere al programa como un producto comercializable. El producto puede existir, en general, en un formato arbitrario, tal como en un formato impreso, o en una unidad de almacenamiento de datos legible por ordenador. Específicamente, el producto de programa informático se puede distribuir sobre una red de datos.
Finalmente, la invención propone y divulga una señal de datos modulada que contiene instrucciones legibles por un sistema informático o una red informática, para realizar al menos una etapa de procedimiento del procedimiento de acuerdo con uno o más de los modos de realización divulgados en el presente documento.
Preferentemente, en referencia a los aspectos implementados por ordenador de la invención, una o más de las etapas de procedimiento o incluso todas las etapas de procedimiento del procedimiento de acuerdo con uno o más de los modos de realización divulgados en el presente documento se pueden realizar usando un ordenador o red informática. Por tanto, en general, cualquiera de las etapas de procedimiento, incluyendo la provisión y/o la manipulación de datos, se puede realizar usando un ordenador o red informática. En general, estas etapas de procedimiento pueden incluir cualquiera de las etapas de procedimiento, excepto típicamente las etapas de procedimiento que requieren trabajo manual, tales como proporcionar el dispositivo y/o determinados aspectos de realización de la acción médica real.
Específicamente, la presente invención divulga además:
- Un ordenador o red informática que comprende al menos un procesador, en el que el procesador se adapta para realizar al menos una etapa de procedimiento del procedimiento de acuerdo con uno de los modos de realización descritos en la presente descripción,
- una estructura de datos cargable por ordenador que se adapta para realizar al menos una etapa de procedimiento del procedimiento de acuerdo con uno de los modos de realización descritos en la presente descripción mientras la estructura de datos se está ejecutando en un ordenador,
- un programa informático, en el que el programa informático se adapta para realizar al menos una etapa de procedimiento del procedimiento de acuerdo con uno de los modos de realización descritos en la presente descripción mientras el programa se está ejecutando en un ordenador,
- un programa informático que comprende medios de programa para realizar al menos una etapa de procedimiento del procedimiento de acuerdo con uno de los modos de realización descritos en la presente descripción mientras el programa informático se está ejecutando en un ordenador o en una red informática,
- un programa informático que comprende medios de programa de acuerdo con el modo de realización precedente, en el que los medios de programa se almacenan en un medio de almacenamiento legible para un ordenador,
- un medio de almacenamiento, en el que una estructura de datos se almacena en el medio de almacenamiento y en el que la estructura de datos se adapta para realizar el procedimiento de acuerdo con uno de los modos de realización descritos en la presente descripción después de haberse cargado en un almacenamiento principal y/o de trabajo de un ordenador o de una red informática, y
- un producto de programa informático que tiene medios de código de programa, en el que los medios de código de programa se pueden almacenar o se almacenan en un medio de almacenamiento, para realizar al menos una etapa de procedimiento del procedimiento de acuerdo con uno de los modos de realización descritos en la presente descripción, si los medios de código de programa se ejecutan en un ordenador o en una red informática.
Breve descripción de las figuras
Otros rasgos característicos y modos de realización opcionales de la invención se divulgarán con más detalle en la posterior descripción de los modos de realización preferentes, preferentemente junto con las reivindicaciones dependientes. En las mismas, los rasgos característicos opcionales respectivos se pueden realizar de forma aislada, así como en cualquier combinación factible arbitraria, como se dará cuenta el experto en la técnica. El alcance de la invención no está restringido por los modos de realización preferentes. Los modos de realización se representan esquemáticamente en las figuras. En las mismas, los números de referencia idénticos en estas figuras se refieren a elementos idénticos o funcionalmente comparables.
En las figuras:
la figura 1A) muestra una vista superior esquemática de un dispositivo de acuerdo con la invención;
la figura 1B) muestra una vista lateral esquemática del dispositivo de acuerdo con la invención de la figura 1A);
la figura 2 muestra un diagrama de flujo de un ciclo de funcionamiento del dispositivo de acuerdo con la invención de las figuras 1a) y 1B);
la figura 3 muestra un diagrama de flujo de un procedimiento de acuerdo con la invención; y
la figura 4 muestra una vista esquemática de una arquitectura de memoria del dispositivo de acuerdo con la invención de las figuras 1A) y 1B).
Descripción detallada de los modos de realización
La figura 1A) muestra una vista superior esquemática de un dispositivo 100 de acuerdo con la invención. El dispositivo 100 es una bomba de insulina móvil. Por consiguiente, el dispositivo 100 está configurado para realizar una acción médica en un cuerpo humano de un paciente. En el mismo, la acción médica puede ser la administración subcutánea de una cantidad discreta de insulina 110 al paciente, que también es conocida como bolo, o una cantidad cuasicontinua de insulina, que es conocida como tasa basal. En consecuencia, el dispositivo 100 es en particular adecuado para aplicarse en un tratamiento de la diabetes de tipo 1 del paciente. El dispositivo 100 comprende un primer módulo 102 y un módulo adicional 101, de los que cada uno comprende partes complementarias de un medio de fijación. Usando estos medios de fijación, el primer módulo 102 y el adicional 101 se pueden unir de forma separable entre sí. El primer módulo 102 comprende una bomba, que tiene un motor 112 y un pistón 111. El motor 112 es un motor paso a paso. El pistón 111 se diseña y dispone para actuar sobre un ingrediente activo 110, que es la insulina 110, en el que la insulina se almacena en un recipiente 109, que es un vial farmacéutico transparente. Por la acción motorizada del pistón 111, la insulina 110 se puede empujar desde el recipiente 109 por medio de un tubo a una aguja hueca 113 y desde allí de forma subcutánea al cuerpo del paciente. El primer módulo 102 comprende además una fuente de energía 107, aquí una batería 107, y un ordenador 103. El ordenador 103 comprende un procesador 106; una primera memoria no volátil borrable 104, que es una memoria flash 104; y una memoria no volátil borrable adicional 105, que es una memoria de acceso aleatorio (RAM) 105. El primer módulo 102 comprende además un componente de reparto de energía 108, que es un condensador 108. El módulo adicional 101 comprende una placa base 101 y la aguja hueca 113. Usando un adhesivo o parche 115 (mostrado en la figura 1B)), la placa base 101 se puede unir a la piel del paciente. Al liberar los medios de fijación, el primer módulo 102 se puede separar del módulo adicional 101, que puede permanecer unido al cuerpo del paciente hasta que sea necesario cambiar la aguja hueca 113. Separar el primer módulo 102 del módulo adicional 101 también comprende liberar una conexión entre el tubo y la aguja hueca 113 por medio de un conector 114. Existe una aplicación almacenada en la RAM 105, que es un programa informático. La RAM 105 es legible por el procesador 106 que puede ejecutar la aplicación. De forma alternativa, la aplicación se puede almacenar en la primera memoria no volátil borrable 104. Esta aplicación se configura para controlar la acción médica y para priorizar la acción médica sobre una limpieza de memoria de la memoria flash 104 llamada por una nivelación de desgaste. La nivelación de desgaste es una nivelación de desgaste estática que se implementa por medio de un algoritmo de nivelación de desgaste estática en la aplicación. Por consiguiente, el dispositivo 100 no comprende un controlador de nivelación de desgaste. Además, la priorización se implementa en la aplicación por medio de un algoritmo de priorización. Para permitir la priorización, el dispositivo 100 se hace funcionar en ciclos 200 consecutivos. En el mismo, cada ciclo 200 tiene una duración y una porción de energía de la fuente de energía 107 que está disponible para el ciclo 200. La duración de cada ciclo 200 se fija en 1 s. La porción de energía se predetermina por medio del componente de reparto de energía 108. El condensador 108 se carga con energía eléctrica de la fuente de energía 107. Cada ciclo 200 implica agotar el condensador 108. En el mismo, la energía que se agota del condensador 108 dentro de un ciclo 200 es la porción de energía disponible para el ciclo 200. El algoritmo de priorización de la aplicación prioriza la acción médica sobre la limpieza de memoria llamada por el algoritmo de nivelación de desgaste en cuanto a la duración del ciclo 200 y la porción de energía disponible para el ciclo 200. Además, el algoritmo de priorización de la aplicación prioriza a las escrituras en la primera memoria no volátil borrable 104 sobre la limpieza de memoria llamada por el algoritmo de nivelación de desgaste en cuanto a la duración del ciclo 200 y la porción de energía disponible para el ciclo 200. Los detalles de la priorización se analizan en el contexto de la figura 2 a continuación. Los detalles de la nivelación de desgaste se analizan en el contexto de la figura 4 a continuación.
La figura 1B) muestra una vista lateral esquemática del dispositivo 100 de acuerdo con la invención de la figura 1A). En la figura 1B) se representa el adhesivo o parche 115.
La figura 2 muestra un diagrama de flujo de un ciclo 200 de funcionamiento del dispositivo 100 de acuerdo con la invención de las figuras 1A) y 1B). El funcionamiento del dispositivo 100 en ciclos 200 consecutivos como se describe a continuación, incorpora el algoritmo de priorización mencionado en el contexto de la figura 1A). Durante cada ciclo 200, el tiempo de duración restante en el ciclo 200, así como la energía de la porción de energía restante para el ciclo 200, se supervisa continuamente por la aplicación. Cada ciclo 200 comprende las siguientes etapas. Al comienzo de cada ciclo 200 se realiza una acción médica: etapa 201. La acción médica puede ser la administración de insulina 112 en forma de bolo o tasa basal. En el mismo, la aplicación llama a la acción médica. En consecuencia, el procesador 106 activa la bomba que comienza el bolo. Además, se realiza un control de comunicación en la etapa 203. En el mismo, la aplicación verifica si una conexión de comunicación está intacta. De lo contrario, la aplicación intenta restablecer la conexión; de otro modo, se comunica un mensaje de error. En la etapa 202, la aplicación verifica si es necesario escribir datos importantes en la memoria flash 104. Los ejemplos de datos importantes son cualquier dato sobre el estado del dispositivo 100, tal como la cantidad de insulina 110 restante en el recipiente 109 o el nivel de combustible de la batería 107. En la etapa 210, se escriben estos datos importantes. En la etapa 204, se realiza otra acción de control de la bomba. Aquí, la aplicación puede verificar si queda suficiente insulina 110 en el recipiente 109 de acuerdo con los datos importantes escritos anteriormente. En una etapa adicional 205, la aplicación verifica si está prevista una limpieza de memoria de acuerdo con el algoritmo de nivelación de desgaste. De lo contrario, no se realizan más acciones en este ciclo 200 y la aplicación espera a que finalice el ciclo 200: etapa 209. Después de que ha transcurrido la duración del ciclo 200, se comienza el siguiente ciclo 200. Si está prevista la limpieza de memoria, la aplicación llama a la limpieza de memoria y verifica si queda suficiente energía de la porción de energía disponible para el ciclo pendiente para realizar la limpieza de memoria: etapa 206. De lo contrario, no se realizan más acciones en este ciclo 200 y la aplicación espera a que finalice el ciclo 200: etapa 209. Si queda suficiente energía, la aplicación verifica si queda suficiente tiempo de la duración del ciclo 200 para realizar la limpieza de memoria dentro del ciclo 200: etapa 207. Si no queda suficiente tiempo, no se realizan más acciones en este ciclo 200 y la aplicación espera a que finalice el ciclo 200: etapa 209. Si queda suficiente tiempo, se realiza 208 la limpieza de memoria. Posteriormente, la aplicación espera a que finalice el ciclo 200, antes de que comience el siguiente ciclo 200.
La figura 3 muestra un diagrama de flujo de un procedimiento 300 de acuerdo con la invención. El procedimiento comprende una etapa de procedimiento a) 301 de proporcionar el dispositivo 100 de acuerdo con las figuras 1A) y 1B). En una siguiente etapa de procedimiento b) 302, el dispositivo 100 se hace funcionar en ciclos 200 consecutivos como se describe anteriormente en los contextos de las figuras 1A), 1B) y 2.
La figura 4 muestra una vista esquemática de una arquitectura de memoria del dispositivo 100 de acuerdo con la invención de las figuras 1A) y 1B). La figura 4 muestra la primera memoria no volátil borrable 104, que es la memoria flash 104. Esta memoria flash 104 comprende una región de almacenamiento de datos 403 que comprende un primer conjunto de bloques de datos válidos 406. La memoria flash 104 comprende además una tabla de asignación de bloques 404 que comprende una entrada de asignación válida 405 para cada bloque de datos válido 407 del primer conjunto 406. En la figura 4, los bloques de datos válidos 407 del primer conjunto 406 están conectados a sus correspondientes entradas de asignación válidas 405 en la tabla de asignación de bloques 404 por flechas discontinuas. Reescribir un bloque de datos válido 407 del primer conjunto 406 de acuerdo con el algoritmo de nivelación de desgaste comprende: invalidar la entrada de asignación válida 405 en la tabla de asignación de bloques 404 para que se reescriba el bloque de datos válido 407; escribir una entrada de asignación válida adicional para un bloque de datos válido adicional del primer conjunto 406 en una entrada de asignación libre de la tabla de asignación de bloques 404; invalidar el bloque de datos válido 407 del primer conjunto 406 para que se reescriba, obteniendo de este modo un bloque de datos no válido del primer conjunto 406; y escribir el bloque de datos válido adicional del primer conjunto 406 en un bloque de datos libre de la región de almacenamiento de datos 403. Si no está disponible ningún bloque de datos libre en la región de almacenamiento de datos 403 para escribir el bloque de datos válido adicional del primer conjunto 406, o no está disponible ninguna entrada de asignación libre en la tabla de asignación de bloques 404 para escribir la entrada de asignación válida adicional o ambos, el algoritmo de nivelación de desgaste llama a la limpieza de memoria de la memoria flash 104. En el mismo, la limpieza de memoria comprende borrar todas las entradas de asignación no válidas de la tabla de asignación de bloques 404 y todos los bloques de datos no válidos de la región de almacenamiento de datos 403. La figura 4 también muestra la memoria no volátil borrable adicional 105, que es la RAM 105. Esta RAM 105 comprende una tabla de búsqueda de tabla de asignación de bloques 401, que comprende una entrada de asignación de búsqueda 402 para cada una de las entradas de asignación válidas 405 de la tabla de asignación de bloques 404. La aplicación se diseña para crear la tabla de búsqueda de tabla de asignación de bloques 401 en la RAM 105 a partir de la tabla de asignación de bloques 404 durante cada inicio del ordenador 103. Usando la tabla de búsqueda de tabla de asignación de bloques 401, el acceso a la memoria flash 104 para la lectura se puede realizar más rápidamente. En la figura 4, las entradas de asignación de búsqueda 402 de la tabla de búsqueda de tabla de asignación de bloques 401 están conectadas a sus correspondientes entradas de asignación válidas 405 de la tabla de asignación de bloques 404 por flechas discontinuas. La memoria flash 104 comprende además un conjunto adicional de bloques de datos válidos 410 en la región de almacenamiento de datos 403, y una tabla de asignación de bloques adicional 408, que comprende una entrada de asignación válida 409 para cada bloque de datos válido 411 del conjunto adicional 410. En la misma, el conjunto adicional 410 es redundante con respecto al primer conjunto 406. Esto significa que el conjunto adicional 410 es una copia idéntica del primer conjunto 406. En la figura 4, los bloques de datos válidos 411 del conjunto adicional 410 están conectados a sus correspondientes entradas de asignación válidas 409 en la tabla de asignación de bloques adicional 408 por flechas discontinuas. Usando el conjunto adicional 410 redundante y su tabla de asignación de bloques adicional 408 permite una detección de errores y corrección de errores mejoradas.
Lista de números de referencia
100 dispositivo de acuerdo con la invención
101 placa base/módulo adicional
102 primer módulo
103 ordenador
104 primera memoria no volátil borrable/memoria flash
105 memoria no volátil borrable adicional/RAM
106 procesador
107 fuente de energía/batería
108 componente de reparto de energía/condensador
109 recipiente
110 ingrediente activo/insulina
111 pistón
112 motor
113 aguja hueca
114 conector
115 adhesivo/parche
200 ciclo
201 realizar acción médica
202 verificar si está prevista la escritura de datos importantes
203 control de comunicación
204 acción de control de bomba adicional
205 verificar si está prevista la limpieza de memoria
206 verificar si queda suficiente energía para la limpieza de memoria 207 verificar si queda suficiente tiempo para la limpieza de memoria 208 realizar limpieza de memoria
209 esperar el siguiente ciclo
210 escritura de datos importantes
y sí
n no
300 procedimiento de acuerdo con la invención
301 etapa de procedimiento a)
302 etapa de procedimiento b)
tabla de búsqueda de asignación de bloques
entrada de asignación de búsqueda
región de almacenamiento de datos
tabla de asignación de bloques
entrada de asignación válida de la tabla de asignación de bloques primer conjunto de bloques de datos válidos
bloque de datos válido del primer conjunto
tabla de asignación de bloques adicional
entrada de asignación válida de la tabla de asignación de bloques adicional conjunto adicional de bloques de datos válidos
bloque de datos válido del conjunto adicional

Claims (11)

REIVINDICACIONES
1. Un dispositivo (100) para realizar al menos una acción médica en un cuerpo humano o de animal;
en el que el dispositivo (100) comprende una fuente de energía (107) y un ordenador (103);
en el que el ordenador (103)
a) comprende una primera memoria no volátil borrable (104), y
b) se configura para realizar al menos una aplicación, configurándose la aplicación para controlar la acción médica; caracterizado por que
la aplicación se configura para priorizar la acción médica sobre una limpieza de memoria llamada por una nivelación de desgaste, en el que la aplicación se configura además para priorizar una obtención de una conexión de comunicación del dispositivo (100) sobre la limpieza de memoria llamada por la nivelación de desgaste.
2. El dispositivo (100) de acuerdo con la reivindicación 1, en el que la nivelación de desgaste se llama por un algoritmo de nivelación de desgaste,
en el que el algoritmo de nivelación de desgaste está compuesto por la aplicación.
3. El dispositivo (100) de acuerdo con la reivindicación 1 o 2, en el que la priorización se llama por un algoritmo de priorización,
en el que el algoritmo de priorización está compuesto por la aplicación.
4. El dispositivo (100) de acuerdo con cualquiera de las reivindicaciones precedentes, en el que el dispositivo (100) se diseña para hacerse funcionar en ciclos (200) o tareas,
en el que cada ciclo (200) o tarea se caracteriza por una duración, o una porción de energía, o ambas, en el que la aplicación se diseña para priorizar la acción médica sobre la limpieza de memoria llamada por la nivelación de desgaste en cuanto a una duración de un ciclo (200) o tarea, o una porción de energía de un ciclo (200) o tarea, o ambas.
5. El dispositivo (100) de acuerdo con la reivindicación 4, en el que el dispositivo (100) se diseña para hacerse funcionar en ciclos (200),
en el que la porción de energía es una porción de energía de la fuente de energía (107) disponible para el ciclo (200),
en el que la aplicación se diseña para priorizar la acción médica sobre la limpieza de memoria llamada por la nivelación de desgaste en cuanto a una duración de un ciclo (200), o una porción de energía disponible para un ciclo (200), o ambas.
6. El dispositivo (100) de acuerdo con la reivindicación 4 o 5, en el que el dispositivo (100) comprende un componente de reparto de energía (108),
en el que el componente de reparto de energía (108) se diseña para proporcionar la porción de energía y para cargarse por la fuente de energía (107).
7. El dispositivo (100) de acuerdo con cualquiera de las reivindicaciones precedentes, en el que la primera memoria no volátil borrable (104) comprende
a) una región de almacenamiento de datos (403), que comprende un primer conjunto de bloques de datos válidos (406), y
b) una tabla de asignación de bloques (404), que comprende una entrada de asignación válida (405) para cada bloque de datos válido (407) del primer conjunto (406).
8. El dispositivo (100) de acuerdo con la reivindicación 7, en el que reescribir un bloque de datos válido (407) del primer conjunto (406) de acuerdo con la nivelación de desgaste comprende
a) invalidar la entrada de asignación válida (405) en la tabla de asignación de bloques (404) para que se reescriba el bloque de datos válido (407);
b) escribir una entrada de asignación válida adicional para un bloque de datos válido adicional del primer conjunto (406) en una entrada de asignación libre de la tabla de asignación de bloques (404);
c) invalidar el bloque de datos válido (407) del primer conjunto (406) que se va a reescribir, obteniendo de este modo un bloque de datos no válido del primer conjunto (406); y
d) escribir el bloque de datos válido adicional del primer conjunto (406) en un bloque de datos libre de la región de almacenamiento de datos (403);
en el que si se cumple(n) una o ambas de las siguientes condiciones, se llama a la limpieza de memoria:
A. menos de un número mínimo de bloques de datos no libres está disponible en la región de almacenamiento de datos (403) para la etapa d),
B. menos de un número mínimo de entradas de asignación libres está disponible en la tabla de asignación de bloques (404) para la etapa b);
en el que la limpieza de memoria comprende borrar una pluralidad de entradas de asignación no válidas de la tabla de asignación de bloques (404) o una pluralidad de bloques de datos no válidos de la región de almacenamiento de datos (403) o ambos.
9. El dispositivo (100) de acuerdo con cualquiera de las reivindicaciones 7 u 8, en el que el ordenador (103) comprende además una memoria no volátil borrable adicional (105),
en el que la memoria no volátil borrable adicional (105) comprende una tabla de búsqueda de tabla de asignación de bloques (401), que comprende una entrada de asignación de búsqueda (402) para cada una de las entradas de asignación válidas (405) de la tabla de asignación de bloques (404).
10. El dispositivo (100) de acuerdo con cualquiera de las reivindicaciones 7 a 9, en el que la primera memoria no volátil borrable (104) comprende además
a) un conjunto adicional de bloques de datos válidos (410), y
b) una tabla de asignación de bloques adicional (408), que comprende una entrada de asignación válida (409) para cada bloque de datos válido (411) del conjunto adicional (410),
en el que el conjunto adicional (410) es redundante con respecto al primer conjunto (406).
11. El dispositivo (100) de acuerdo con cualquiera de las reivindicaciones precedentes, en el que el dispositivo (100) no comprende un controlador de nivel de desgaste.
ES16203132T 2016-12-09 2016-12-09 Dispositivo para realizar al menos una acción médica Active ES2898395T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP16203132.2A EP3333739B1 (en) 2016-12-09 2016-12-09 Device for performing at least one medical action

Publications (1)

Publication Number Publication Date
ES2898395T3 true ES2898395T3 (es) 2022-03-07

Family

ID=57609671

Family Applications (1)

Application Number Title Priority Date Filing Date
ES16203132T Active ES2898395T3 (es) 2016-12-09 2016-12-09 Dispositivo para realizar al menos una acción médica

Country Status (5)

Country Link
US (1) US11144447B2 (es)
EP (1) EP3333739B1 (es)
ES (1) ES2898395T3 (es)
HU (1) HUE056995T2 (es)
WO (1) WO2018104496A1 (es)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030163633A1 (en) * 2002-02-27 2003-08-28 Aasheim Jered Donald System and method for achieving uniform wear levels in a flash memory device
US6973531B1 (en) * 2002-10-28 2005-12-06 Sandisk Corporation Tracking the most frequently erased blocks in non-volatile memory systems
US7942844B2 (en) * 2006-04-28 2011-05-17 Medtronic Minimed, Inc. Remote monitoring for networked fluid infusion systems
TWI516922B (zh) * 2014-03-12 2016-01-11 慧榮科技股份有限公司 資料儲存裝置及快閃記憶體零散資料收集方法

Also Published As

Publication number Publication date
HUE056995T2 (hu) 2022-04-28
EP3333739A1 (en) 2018-06-13
EP3333739B1 (en) 2021-09-22
US20190385737A1 (en) 2019-12-19
WO2018104496A1 (en) 2018-06-14
US11144447B2 (en) 2021-10-12

Similar Documents

Publication Publication Date Title
ES2692209T3 (es) Sistema de gestión de datos y método
ES2698413T3 (es) Dispositivo médico implantable con programa no volátil reconfigurable
ES2921199T3 (es) Dispositivo de inyección con monitorización continua de glucosa
ES2647063T3 (es) Dispositivos, sistemas y métodos para cuantificar dosis de bolo de acuerdo con parámetros del usuario
ES2973057T3 (es) Procedimientos y artículos de fabricación para alojar una aplicación crítica para la seguridad en un dispositivo de procesamiento de datos no controlado
ES2207942T3 (es) Aparato medico para ser usado por un paciente para el autotratamiento medico de la diabetes.
ES2501866T3 (es) Dispositivo de infusión de fármacos que usa indicadores de estado en comunicaciones inalámbricas con una unidad de control
US8612055B2 (en) System and method for delivering a therapeutic agent according to default infusion schedule
JP4812215B2 (ja) 医療システム
JP6175049B2 (ja) 患者の長期薬剤投与計画の最適化システム
ES2513643T3 (es) Procedimiento y sistema de prueba de analitos
ES2554469T3 (es) Sistema de tratamiento de la diabetes para la detección de un analito y procedimiento para la transmisión de datos selectiva
BRPI0616771A2 (pt) dispositivo de iontoforese para liberar múltiplos agentes ativos para interfaces biológicas
ES2835229T3 (es) Mejoras en la sincronización horaria para dispositivos médicos interoperables
KR20170038351A (ko) 유연 탐침 센서를 구비하는 연속혈당감시시스템
ES2741173T3 (es) Protocolo de comunicación que soporta comunicación de transferencia
CN101646471A (zh) 降低功耗的自动药物服用
ES2870198T3 (es) Sistema para captura de dosis de medicamentos con parche de flujo e información de administración
BRPI0710289A2 (pt) analizador de fluido corporal, e sistema de inclusão do mesmo e método para programação do mesmo
CN107405299A (zh) 阴道药物递送装置
ES2898395T3 (es) Dispositivo para realizar al menos una acción médica
JP2022032963A (ja) 薬物配送装置及びその動作方法
US20220133989A1 (en) Cyclic intrathecal drug delivery system and biomarker monitoring
JP7481036B2 (ja) 薬液注入制御方法及びコンピュータプログラム
Bell What's new in diabetes management?