ES2313922T3 - Procedimiento para el almacenamiento de registros de datos relacionados. - Google Patents

Procedimiento para el almacenamiento de registros de datos relacionados. Download PDF

Info

Publication number
ES2313922T3
ES2313922T3 ES01117052T ES01117052T ES2313922T3 ES 2313922 T3 ES2313922 T3 ES 2313922T3 ES 01117052 T ES01117052 T ES 01117052T ES 01117052 T ES01117052 T ES 01117052T ES 2313922 T3 ES2313922 T3 ES 2313922T3
Authority
ES
Spain
Prior art keywords
value
attribute
data
data record
memory
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.)
Expired - Lifetime
Application number
ES01117052T
Other languages
English (en)
Inventor
Hagen Dr. Bohme
Andreas Hammer
Franz Nagy
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.)
Siemens AG
Siemens Corp
Original Assignee
Siemens AG
Siemens Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG, Siemens Corp filed Critical Siemens AG
Application granted granted Critical
Publication of ES2313922T3 publication Critical patent/ES2313922T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operations
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/04Program control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Program control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/22Pc multi processor system
    • G05B2219/2227Common memory as well as local memory
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25014Fieldbus general name of bus connected to machines, detectors, actuators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25101Detect connected module, load corresponding parameters, variables into module
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25265Flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Procedimiento para el almacenamiento de registros de datos relacionados en una memoria de destino (6), en el que en la memoria de destino (6) aún existen registros de datos antiguos de un almacenamiento anterior (20 a 25) y en el que en la memoria de destino (6) cada registro de datos (20 a 25) presenta un atributo (20" a 25"), - con lo cual el atributo (20" a 25") de cada registro de datos antiguo (20 a 25) en la memoria de destino (6) tiene un primer valor (USED) o un segundo valor (ERASED) y - con lo cual en la transferencia de registros de datos (10 a 15) hacia la memoria de destino (6) el atributo de cada nuevo registro de datos escrito (31, 33, 34, 35) es establecido en un tercer valor (INTERIM) y - con lo cual después de la transferencia de todos los registros de datos (10 a 15) hacia la memoria de destino (6) primero se establece el atributo de uno de los nuevos registros de datos escritos (31, 33, 34, 35), del registro de datos inicial (31), en un cuarto valor (VALID) y - con lo cual para cada nuevo registro de datos escrito (31, 33, 34, 35) se busca el antiguo registro de datos correspondiente (21, 23, 24, 25) con un atributo con el primer valor (USED) y el atributo del antiguo registro de datos encontrado (21, 23, 24, 25) es establecido en el segundo valor (ERASED), así como el atributo del nuevo registro de datos escrito en cada caso (31, 33, 34, 35) es establecido en el primer valor (USED) y - con lo cual recién entonces para cada nuevo registro de datos escrito (33, 34, 35) que permanece de manera adicional al registro de datos inicial (31) se busca el antiguo registro de datos correspondiente (23, 24, 25) con el atributo con el primer valor (USED) y el atributo del antiguo registro de datos encontrado (23, 24, 25) es establecido en el segundo valor (ERASED) caracterizado porque el atributo del nuevo registros de datos escrito en cada caso (33, 34, 35) se establece en el primer valor (USED) y - porque por último se busca el registro de datos antiguo (21) con el atributo con el primer valor (USED) correspondiente al registro de datos inicial (31) y el atributo del antiguo registro de datos encontrado (21) es establecido en el segundo valor (ERASED), así como el atributo del registro de datos inicial (31) es establecido en el primer valor (USED).

Description

Procedimiento para el almacenamiento de registros de datos relacionados.
La presente invención atañe un procedimiento para el almacenamiento de registros de datos relacionados de acuerdo al concepto genérico de la reivindicación 1.
Un procedimiento de este tipo se conoce de la WO 01/31458.
Normalmente los medios de almacenamiento presentan una cantidad de células de memoria, que en cada caso son adecuadas para almacenar un dato. Una única célula de memoria almacena al menos uno de dos estados posibles y de esta manera corresponde a un así llamado "bit". El primero de los al menos dos estados posibles de la célula de memoria se denomina lógicamente como "alto" o de manera abreviada con "1", el segundo de los al menos dos estados posibles se denomina lógicamente como "bajo" o de manera abreviada con "0".
En su forma más simple de contenido, un dato corresponde exactamente a una célula de memoria. Sin embargo, a menudo se reúnen varias células de memoria (varios bits) y conforman, de acuerdo a un formato establecido, un dato. Así por ejemplo, ocho bits conforman un así llamado byte (octeto), con lo que esta secuencia de células de memoria se puede representar como representación numérica en el sistema binario, por ejemplo números enteros con un valor de 0 a 255. De manera análoga, más de ocho bit se reúnen para conformar un dato, por ejemplo 16 bit una así llamada palabra y 32 bit una así llamada palabra larga. Un byte, una palabra, una palabra larga, etc. se denominan como dato simple o tipo de dato simple.
Además de estos tipos de datos simples, con los lenguajes de programación usuales hoy en día es posible determinar los así llamados tipos de datos relacionados, para lo cual se definen como combinación de los tipos de datos simples o tipos de datos ya establecidos. Un ejemplo es un tipo de datos relacionado para el almacenamiento de la hora, que abarca tres byte, con lo que el primer byte se utiliza para el almacenamiento del valor para las horas, el segundo byte para el almacenamiento del valor para los minutos y el tercer byte para el almacenamiento del valor para los segundos.
Bajo un registro de datos se entiende una cantidad de datos de este tipo, es decir datos simples y/o relacionados que semánticamente forman una unidad. Un registro de datos se identifica a través de una identificación (un nombre o un número) y se determina en vista de su longitud (su tamaño de datos). Si varios registros de datos forman una unidad lógica, entonces esta unidad se denomina en adelante como base de datos.
En un aparato, que se utiliza para el control y/o supervisión de un proceso técnico y que en lo sucesivo se denomina también como equipo de automatización, la combinación de todos los parámetros de ese aparato forma, por ejemplo, un registro de datos. Eventualmente los parámetros relacionados de manera funcional o por el contenido también se reúnen en un registro de datos separados, de manera que resultan varios registros de datos. Un grupo de registros de datos forman entonces una base de datos. Un parámetro de un aparato de este tipo es, por ejemplo, la así llamada dirección de la red si el aparato es operado en combinación con otros aparatos de automatización y si a través de esta dirección de la red recibe de manera selectiva datos de otros aparatos y si le transmite datos a otros aparatos en base a su dirección. Otro parámetro a menudo es una identificación del aparato mismo, en vista de los cuales sus parámetros de automatización, que consultan esos caracteres de identificación, pueden obtener informaciones a través de la funcionalidad del aparato.
Todos los parámetros de un aparato forman una unidad semántica y por ello a menudo se reúnen en un registro de datos, para que de esa manera se pueda acceder a todos los parámetros de manera simple. El hecho de que debido al resumen en un registro de datos se pueda acceder de manera casi simultánea a todos los parámetros es especialmente ventajoso en las funciones de copiado o transferencia, por ejemplo en la creación de la copia de un registros de datos.
En varios aparatos de automatización que son operados, por ejemplo, de manera compuesta, resulta para cada uno de los aparatos al menos un registro de datos con datos de parámetros. La combinación de todos los registros de datos con datos de parámetros forma la respectiva base de datos.
Con el simple copiado de todos los registros de datos de una base de datos en una memoria de destino o un área de memoria de destino pueden generarse problemas en relación a la consistencia de la nueva base de datos escrita. Si se interrumpe el copiado de una base de datos, por ejemplo por corte de energía o por interrupción de la comunicación entre el lugar de almacenamiento anterior de cada uno de los registros de datos de la base de datos y la memoria de destino, entonces la consistencia de la nueva base de datos escrita en principio no está garantizada.
Aunque existe la posibilidad de identificar registros de datos relacionados. Así por ejemplo, cada registro de datos puede ser identificado con estado de salida, con lo que todos los registros de datos de una base de datos reciben el mismo estado de salida. También se pueden almacenar todos los registros de datos de una base de datos inmediatamente uno detrás de otro e identificarlos con un envoltorio.
En el procedimiento conocido de la WO 01/31458 para el almacenamiento de registros de datos relacionados en una memoria de destino, en la memoria de destino aún existen registros de datos de un almacenamiento anterior, con lo cual en la memoria de destino cada registro de datos presenta un atributo. El atributo de cada registro de datos antiguo en la memoria de destino tiene un primer valor "V = Valid" (válido) o un segundo valor "D = Dirty" (sucio). En la transferencia de registros de datos hacia la memoria de destino el atributo de cada nuevo registro de datos escrito es establecido en un tercer valor "W = Written" (escrito) o "T = TransactionWritten" (transacción escrita). Para cada nuevo registro de datos escrito se busca el antiguo registro de datos correspondiente con un atributo con el primer valor "V = Valid" y el atributo del antiguo registro de datos encontrado es establecido en el segundo valor "D = Dirty", así como el atributo del nuevo registro de datos escrito en cada caso es establecido en el primer valor "V = Valid".
La desventaja es, sin embargo, que en el caso de una interrupción del procedimiento de copiado este debe volver a realizarse, lo que consume tiempo y espacio, e independientemente de modificaciones reales de los contenidos de datos, todos los registros de datos se vuelven a escribir completamente, ya que no se puede reconocer cuando el proceso de actualización está completo.
Por ello es tarea de la invención, indicar un procedimiento para el almacenamiento consistente de los registros de datos relacionados, con el que se garantice, que independientemente de las posibles interrupciones, en todo momento exista y se pueda utilizar una base de datos completa y consistente en si misma. Además se deben minimizar los procesos de escritura y borrado, condicionados por las particularidades del acceso a una memoria flash.
Conforme a la invención esta tarea es resuelta por las características de la reivindicación 1.
Con ello, el objeto de la invención es un procedimiento para el almacenamiento de registros de datos relacionados en una memoria de destino, en el que en la memoria de destino aún existen registros de datos antiguos de un almacenamiento anterior y en el que en la memoria de destino cada registro de datos presenta un atributo,
-
con lo cual el atributo de cada registro de datos antiguo en la memoria de destino tiene un primer valor (USED) o un segundo valor (ERASED) y
-
con lo cual en la transferencia de registros de datos hacia la memoria de destino el atributo de cada nuevo registro de datos escrito es establecido en un tercer valor (INTERIM) y
-
con lo cual después de la transferencia de todos los registros de datos hacia la memoria de destino primero se establece el atributo de uno de los nuevos registros de datos escritos, el registro de datos inicial, en un cuarto valor (VALID) y
-
con lo cual para cada nuevo registro de datos escrito se busca el antiguo registro de datos correspondiente con un atributo con el primer valor (USED) y el atributo del antiguo registro de datos encontrado es establecido en el segundo valor (ERASED), así como el atributo del nuevo registro de datos escrito en cada caso es establecido en el primer valor (USED) y
-
con lo cual recién entonces para cada nuevo registro de datos escrito que permanece de manera adicional al registro de datos inicial se busca el antiguo registro de datos correspondiente con el atributo con el primer valor (USED) y el atributo del antiguo registro de datos encontrado es establecido en el segundo valor (ERASED) con lo que el atributo del nuevo registro de datos escrito en cada caso es establecido en el primer valor (USED) y
-
por último se busca el registro de datos antiguo con el atributo con el primer valor (USED) correspondiente al registro de datos inicial y el atributo del antiguo registro de datos encontrado es establecido en el segundo valor (ERASED), así como el atributo del registro de datos inicial es establecido en el primer valor (USED).
\vskip1.000000\baselineskip
En la transferencia de un registro de datos hacia la memoria de destino el atributo de cada nuevo registro de datos escrito es establecido en un tercer valor. Este tercer valor es referenciado con el identificador INTERIM. Después de la transferencia de todos los registros de datos hacia la memoria de destino el atributo de uno de los nuevos registros de datos escritos -un registro de datos inicial- es establecido en un cuarto valor. Este cuarto valor es referenciado con el identificador VALID. La transferencia de los registros de datos también es denominada como proceso de actualización. El procedimiento se ha optimizado en vista del lugar de almacenamiento y de la necesidad temporal
requeridos.
Conforme a la invención, mediante un cambio de atributo especial se indica de esta manera la finalización del proceso de actualización. Este cambio de atributo especial es el cambio del atributo del registro de datos inicial. Conforme al procedimiento este recién tiene lugar cuando todos los registros de datos a almacenar han sido transferidos a la memoria de destino. Es especialmente ventajoso, que la consistencia de todos los registros de datos de la base de datos también está garantizada cuando se interrumpe el proceso de actualización. La base de datos utilizable es la nueva base de datos escrita o -en caso de que aún no se hayan podido escribir todos los registros de datos de la nueva base de datos- la base de datos válida hasta entonces. Para cada momento del proceso de actualización está disponible un pool completo de registros de datos.
Los diseños ventajosos de la invención son el objeto de las reivindicaciones secundarias.
El atributo de un registro de datos ya existente en la memoria de destino tiene un primer valor o un segundo valor El primer valor es referenciado con el identificador USED y el segundo valor con el identificador ERASED. Para cada nuevo registro de datos escrito que permanece además del registro de datos inicial se busca el antiguo registro de datos correspondiente con un atributo con el primer valor, el atributo de cada antiguo registro de datos encontrado es establecido en el segundo valor y el atributo de cada nuevo registro de datos escrito que permanece es establecido en el primer valor. Finalmente, se busca el registro de datos antiguo con un atributo con el primer valor correspondiente al registro de datos inicial, el atributo del antiguo registro de datos encontrado es establecido en el segundo valor y el atributo del registro de datos inicial es establecido en el primer valor.
De esta manera, con un simple cambio de los atributos prácticamente se pueden desactivar los registros de datos que ya no son actuales de un almacenamiento anterior. Los registros de datos desactivados aún existen en la memoria de destino, pero ya no son considerados. Un eventual borrado previsto de las células de memoria ocupadas por estos registros de datos se puede realizar cuando el procedimiento está finalizado y antes de volver a iniciarlo. Esto conduce a que la duración del procedimiento no dependa del tiempo que necesita el borrado de estos registros de datos.
Además, el procedimiento conforme a la invención ahorra espacio y de otra manera ahorra tiempo. Conforme a un diseño ventajoso del procedimiento sólo se escriben de nuevo aquellos registros de datos que presentan un contenido modificado de la versión válida ya existente en la memoria, sin que esto ponga en peligro la garantía de consistencia. Un manejo económico del espacio de memoria retarda el llenado de la memoria de destino. Cuando la memoria de destino es una memoria flash, esto retarda el momento del proceso de borrado, que insume tiempo. Después del proceso de actualización existe una base de datos consistente, que se compone de registros de datos sin modificar, ya almacenados antes de la actualización y registros de datos modificados, escritos nuevamente.
Para ello está previsto, que la transferencia de un registro de datos hacia la memoria de destino sólo se realice cuando el registro de datos a transferir presente diferencias con su contraparte ya almacenada en la memoria de destino. La utilización de los atributos para cada registro de datos en la memoria de destino facilita también una transferencia selectiva únicamente de los registros de datos modificados. Con esto no se debe conservar por ejemplo, un orden determinado de los registros de datos en la memoria de destino para reconocer cuál registro de datos es actual y cuál registro de datos proviene de un almacenamiento anterior.
El reconocimiento de los registros de datos a transferir se facilita, si cada registro de datos en la memoria de destino presenta una identificación, con lo cual antes de la transferencia de un registro de datos en la memoria de destino también se forma para este una identificación y con lo cual la transferencia de un registro de datos hacia la memoria de destino sólo se realiza si la identificación formada es distinta a la identificación de la contraparte del registro de datos a transferir ya almacenada en la memoria de destino. Para este fin, una modificación del registro de datos se debe poder reconocer en base a la identificación. Un ejemplo para una identificación de este tipo es la así llamada firma CRC, que se forma de acuerdo a un algoritmo definido desde datos contenidos en el registro de datos. Otro ejemplo para una identificación de se tipo es una identificación, que se forma desde el momento, por ejemplo fecha y hora, del último acceso de escritura a los datos del registro de datos.
Conforme a un diseño preferido de la invención está previsto que la memoria de destino sea una memoria flash. De esta manera los registros de datos, ni bien son transferidos a la memoria de destino, están asegurados de manera óptima contra cortes de tensión, ya que en una memoria flash los datos se conservan incluso si no hay tensión.
Una memoria flash tiene la particularidad de que mediante un sólo proceso de escritura una célula de memoria sólo se puede modificar del estado 1 al estado 0, y el borrado de una célula de memoria requiere considerablemente más tiempo que la escritura. Ante este trasfondo se alcanza otro aumento de la velocidad del procedimiento conforme a la invención seleccionando los valores de los atributos de manera que el tercer valor del atributo se diferencia del cuarto valor, el cuarto valor del primer valor y el primer valor del segundo valor en cada caso por al menos una potencia de número entero de 2. De esta manera se puede cambiar entre dos valores de un atributo modificando, mediante un proceso de escritura específico, células de memoria individuales del espacio de memoria ocupado por el respectivo atributo de un estado de "1" al estado "0".
Una selección especialmente ventajosa del primer, segundo, tercer y cuarto valor consiste en que el cuarto valor del atributo en relación al tercer valor, el primer valor del atributo en relación al cuarto valor y el segundo valor del atributo en relación al primero valor, en cada caso son menores por una potencia de número entero de 2.
Una posibilidad alternativa para la selección del primer, segundo, tercer y cuarto valor consiste en que el cuarto valor del atributo en relación al tercer valor, el primer valor del atributo en relación al cuarto valor y el segundo valor del atributo en relación al primero valor, en cada caso sean mayores por una potencia de número entero de 2.
El procedimiento se puede utilizar de manera análoga también para el almacenamiento de varias base de datos relacionadas -por ejemplo en un disco duro o similar-, ya que de la misma manera en que el registro de datos representa una combinación de datos, la base de datos resulta como combinación de registros de datos. En correspondencia el procedimiento se puede transferir al almacenamiento de bases de datos si la base de datos presenta un atributo y el almacenamiento de bases de datos relacionadas se realiza de manera análoga al almacenamiento de registros de datos relacionados, como se ha descrito anteriormente.
A continuación se explica más detalladamente un ejemplo de ejecución de la invención con ayuda del dibujo. Estos muestran:
Fig. 1 de manera esquemática un sistema de automatización,
Fig. 2 la memoria local de un aparato de automatización,
Fig. 3 la memoria local de un servidor de parametrización aparato de automatización, y
Fig. 4a-4g la memoria local del aparato de automatización y del servidor de parametrización durante un proceso de actualización.
La Fig. 1 muestra un sistema de automatización 1 con un primer aparato eléctrico 2 y otros aparatos eléctricos 3, que están unidos de manera comunicativa mediante un bus 4. El bus 4 es por ejemplo un bus interno del aparato o también un así llamado bus de campo. Cada aparato 2, 3 presenta una memoria local 5, 6, en la que como mínimo están almacenados datos de parametrización.
El primer aparato eléctrico 2 almacena en su memoria local 6 los datos de parametrización de todos los otros aparatos eléctricos 3. Por ello el primer aparato eléctrico 2 también es denominado como servidor de parametrización. El almacenamiento de los datos de parametrización en la memoria local 6 del servidor de parametrización 2 también debe conservarse después de un corte de tensión. Por eso la memoria local 6 del servidor de parametrización 2 está conformada como memoria flash.
Una memoria flash se caracteriza por las siguientes características:
-
almacenamiento de datos seguro contra cortes de tensión;
-
divisibilidad de la memoria 6 en sectores que se pueden borrar de manera independiente uno de los otros;
-
en principio posibilidad de reescritura de la memoria, pero limitada, en la medida en que mediante un proceso de escritura sólo se puede modificar una única célula de memoria del valor 1 al valor 0;
-
la reescritura sin condiciones de la memoria flash o de un sector de la misma recién está dada después de un proceso de borrado, en el que cada célula de memoria de la memoria flash o de un sector contiene el valor 1;
-
en comparación con el proceso de escritura, el proceso de borrado se caracteriza por una necesidad temporal considerablemente mayor,
-
un acceso de lectura es significantemente más rápido que un acceso de escritura.
Los demás aparatos eléctricos 3 están previstos para el control y/o la supervisión de un proceso técnico, como por ejemplo el control de una prensa. Esto no está representado en detalle. Por ello los demás aparatos eléctricos 3 también son denominados como aparatos de automatización. Cada aparato de automatización 3 presenta una unidad central 3' y otros módulos funcionales 3''. La memoria local 5 del aparato de automatización 3 está previsto en la unidad central 3'. La unidad central 3' presenta un procesador (no representado), que procesa un programa de control técnico 5' (Fig. 2) para el control y/o la supervisión del proceso técnico.
La Fig. 2 muestra la memoria local 5 de uno de los aparatos de automatización 3. En la memoria local 5 está alojado el programa de control 5'. Además, en la memoria local 5 están alojados un primer, segundo, tercer, cuarto, quinto y sexto registro de datos 10, 11, 12, 13, 14 o 15. Los registros de datos 10 a 15 contienen los datos de parametrización del aparato de automatización 3. Para ello el primer registro de datos 10 contiene por ejemplo los datos de parametrización para la comunicación a través del bus 4, como por ejemplo una tasa de transferencia de datos, una dirección unívoca, etc. El segundo registro de datos 11 contiene por ejemplo los datos de parametrización de la unidad central 3'. El tercer y cuarto registro de datos 12, 13 contienen por ejemplo datos de parametrización de los módulos funcionales 3'' conectados, etc.
Los datos de parametrización de los aparatos de automatización 3, es decir los registros de datos 10 a 15 también se deben conservar en el caso de un corte de tensión. Para ello se almacenan en la memoria flash 6 del servidor de parametrización 2. El procedimiento de la transferencia o del almacenamiento de los registros de datos 10 a 15 de un aparato de automatización 3 es denominado como proceso de actualización.
La Fig. 3 muestra a la memoria flash 6 con una base de datos 7 allí almacenada y otra base de datos primera o segunda 8 o 9. La base de datos 7 comprende un primer, segundo, tercer, cuarto, quinto y sexto registro de datos 20, 21, 22, 23, 24 o 25. Cada registro de datos 20 a 25 presenta una identificación 20', 21', 22', 23', 24', 25' y un atributo 20'', 21'', 22'', 23'', 24'' o 25''. La identificación 20' a 25' forma un encabezado de base de datos, que presenta especialmente la longitud del registro de datos 20 a 25. Conforme a una conformación alternativa el atributo 20'' a 25'' también puede ser parte integrante de la identificación 20' a 25'.
Según el valor el atributo 20'' a 25'' identifica
-
a un registro de datos válido 20 a 25 (atributo USED),
-
un registro de datos inválido 20 a 25 (registro de datos de una almacenamiento anterior; atributo ERASED),
-
un registro de datos nuevo pero todavía no declarado como válido 20 a 25 (atributo INTERIM) o
-
un registro de datos nuevo, pero todavía no declarado como válido, siempre que en el proceso de actualización se hayan considerado todos los registros de datos 20 a 25 de la base de datos 7 (atributo VALID).
\vskip1.000000\baselineskip
La asignación de valor para la codificación de los atributos 20'' a 25'' de un registro de datos 20 a 25 se realiza de manera específica. La asignación de valor específica posibilita, que el atributo 20'' a 25'' de un registro de datos 20 a 25 almacenado en una memoria flash 6 se pueda volver a escribir son proceso de borrado.
Para ello se debe garantizar el siguiente orden de escritura de los valores de atributo:
INTERIM,
VALID,
USED,
ERASED
\vskip1.000000\baselineskip
De manera especialmente ventajosa se seleccionan para las identificaciones de atributos como valores de byte codificaciones del siguiente tipo:
-
INTERIM = 0xEE = 0b 1110 1110
-
VALID = 0xCC = 0b 1100 1100
-
USED = 0x88 = 0b 1000 1000
-
ERASED = 0x00 = 0b 0000 0000.
\vskip1.000000\baselineskip
La base de datos 7 contiene por ejemplo los datos de parametrización de un aparato de automatización 3 (Fig. 1), especialmente los datos de parametrización de exactamente un aparato de automatización 3. La otra base de datos primera y segunda 8 o 9 contiene correspondientemente los datos de parametrización de otros aparatos de automatización 3. Cada registro de datos 20 a 25 de la base de datos 7 -o de registros de datos en otra base de datos 8, 9 correspondiente (no representada)- contiene datos de parametrización de un módulo 3', 3'' del aparato de automatización respectivo 3. El primer registro de datos 20 en la memoria flash 6 es la contraparte almacenada del primer registros de datos 10 (Fig. 2) en la memoria local 5 (Fig. 1) de un aparato de automatización 3. El segundo registro de datos 21 en la memoria flash se corresponde con el segundo registro de datos 11 (Fig. 2) en la memoria local 5 del aparato de automatización 3 etc.
Cuando en la memoria local 5 (Fig. 2) se modifican los datos de parametrización de un aparato de automatización 3 y con ello los contenidos de uno o más registros de datos 10 a 15, estas modificaciones normalmente se pierden en el caso de un corte de la tensión de alimentación de este aparato de automatización 3. Para almacenar de manera duradera los datos de parametrización se almacenan en la memoria flash 6 del servidor de parametrización 2.
Cuando existen complicaciones durante la transferencia de los datos de parametrización de la memoria local 5 de un aparato de automatización 3 hacia la memoria flash 6, la integridad de los datos normalmente no está garantizada. Una posible complicación es por ejemplo, un corte de tensión durante la transferencia de los datos de parametrización a almacenar. En un caso de ese tipo normalmente los datos de parametrización del aparato de automatización 3 afectado por el corte de tensión se pierden y los datos transferidos al servidor de parametrización 2 aún están incompletos, por lo que no son valorables. A esto se agrega, que antes del procedimiento de transferencia en el servidor de parametrización 2 puede haber existido una copia valorable de datos de parametrización antiguos y que en el transcurso de la transferencia y del almacenamiento de los nuevos datos de parametrización esta se sobrescribió y por ello tampoco es utilizable lo que dificulta aún más las cosas.
Con ayuda de las figuras 4a a 4g se describe el procedimiento para el almacenamiento de los datos de parametrización de un aparato de automatización 3, que evita desventajas de ese tipo y garantiza siempre la consistencia de una base de datos en el servidor de parametrización 2.
\global\parskip0.900000\baselineskip
La Fig. 4a muestra en un estado estático estable el contenido de una memoria flash 6 con los registros de datos 20 a 25 allí almacenados, así como el contenido de la memoria local 5 de un aparato de automatización 3 con los registros de datos allí almacenados 10 a 15. Cada registro de datos 20 a 25 en la memoria flash 6 está provisto de un atributo 20'' a 25'' (Fig. 3), cuyo valor respectivo está representado en texto claro en la Fig. 4a, como así también en las figuras siguientes. En el comienzo del proceso de actualización todos los registros de datos válidos 20 a 25 de la base de datos 7 llevan el atributo 20'' a 25'' USED. De manera adicional en la memoria flash 6 pueden existir registros de datos antiguos, ya no válidos 20 a 25 que llevan el atributo 20'' a 25'' ERASED (no representada).
Si se inicia un proceso de actualización, primero se compara el contenido de cada registro de datos 10 a 15 de la memoria local 5 con su contraparte ya almacenada en la memoria flash 20 a 25. Los pares idénticos de registros de datos no requieren otra actividad. Porque entonces el registro de datos 20 a 25 almacenado en la memoria flash 6 debe ser un registro de datos escrito en un anterior proceso de actualización, sin que entre tanto se hayan realizado cambios en el registro de datos correspondiente en la memoria local 5 de un aparato de automatización 3.
Si se determina un registro de datos 10 a 15 con contenido modificado, entonces este registro de datos 20 a 25 es transferido a la memoria flash 6 y allí se identifica con el atributo 20'' a 25'' INTERIM.
La Fig. 4b muestra el estado en la memoria flash 6 después de ese procedimiento de transferencia. Para la clarificación de los detalles del procedimiento se supuso, que el primer y el tercer registro de datos 10 o 12 en la memoria local 5 coincide en cada caso con su contraparte 20, 22 en la memoria flash 6 y por ello ya no debe ser almacenado. El segundo, cuarto, quinto y sexto registro de datos 11, 13, 14 o 15 se supone como modificado. Estos registros de datos modificados 11, 13, 14, 15 fueron copiados en la memoria flash 6 y ahora se encuentran almacenados allí junto a los antiguos registros de datos 20 a 25 como nuevos registros de datos escritos 31, 33, 34, 35.
Si en el proceso de actualización se consideraron todos los registros de datos 10 a 15 en la memoria local 5 del correspondiente aparato de automatización 3 y si existe al menos un nuevo registro de datos escrito 31, 33, 34, 35 con el atributo INTERIM, el atributo de uno de los nuevos registros de datos escritos 31, 33, 34, 35 se establece en el valor VALID. El registro de datos seleccionado 31 en lo sucesivo es denominado como registro de datos inicial 31 para su diferenciación. La Fig. 4c muestra este estado en la memoria flash 6. El atributo del registro de datos inicial 31 fue establecido en el valor VALID por el valor INTERIM (Fig. 4b).
Como siguiente paso se busca para todos los nuevos registros de datos escritos 31, 33, 34, 35, que llevan el atributo INTERIM el correspondiente registro de datos antiguo 20 a 25 con el atributo 20'' a 25'' USED. Para cada uno de estos pares tiene lugar una modificación de los respectivos atributos.
La Fig. 4d muestra el estado en la memoria flash 6 después de que primero en cada antiguo registro de datos 20 a 25 se modificó el atributo del valor USED al valor ERASED. La Fig. 4e muestra el estado en la memoria flash 6, después de que a continuación en cada nuevo registro de datos escrito 31, 33, 34, 35 se modificó el atributo del valor INTERIM al valor USED.
Finalmente se busca el antiguo registro de datos 21 con el atributo USED correspondiente al registro de datos 31. Para este par también tiene lugar la modificación de los respectivos atributos.
La Fig. 4f muestra el estado en la memoria flash 6después de que en el antiguo registro de datos correspondiente 21 se modificó el atributo del valor USED al valor ERASED.
La Fig. 4g muestra el estado en la memoria flash 6después de que por último en el registro de datos inicial 31 se modificó el atributo del valor VALID al valor USED. Con esta modificación de los atributos se cierra de manera exitosa todo el proceso de actualización.
Si se interrumpe el proceso de actualización, en cualquier momento se puede restablecer una base de datos 7 consistente. Ya que mientras que durante el proceso de actualización no exista un nuevo registro de datos escrito 31, 33, 34, 35 con el atributo VALID, los antiguos registros de datos 20 a 25 mantienen la validez en la base de datos 7. La base de datos 7 tiene entonces un estado como el representado en la Fig. 4b. Los antiguos registros de datos 20 a 25 llevan en esta fase todos el atributo USED. Los nuevos registros de datos escritos 31, 33, 34, 35 con el atributo INTERIM se borran. Para ello su atributo se establece en el valor ERASED.
Si en cambio se interrumpe el proceso de actualización cuando existe un nuevo registro de datos escrito 31, 33, 34, 35 con el atributo VALID, los nuevos registros de datos escritos 31, 33, 34, 35 tienen validez en la base de datos 7. La base de datos 7 tiene entonces un estado como el representado en la Fig. 4c. El proceso de actualización se puede finalizar, sin que la interrupción lleve a una inconsistencia de los datos.
El procedimiento descrito para la transferencia de registros de datos relacionados hacia una memoria de destino se caracteriza especialmente porque, siempre está garantizada la consistencia de los registros de datos porque cada registro de datos en la memoria de destino presenta un atributo, en la transferencia de cada uno de los registros de datos hacia la memoria de destino se asigna un valor definido al atributo respectivo y después de la finalización de la transferencia de todos los registros de datos hacia la memoria de destino, el atributo de uno de los nuevos registros de datos escritos es establecido en otro valor definido. Con ayuda de este cambio de atributo se puede reconocer en cualquier momento, so el proceso de actualización ha sido finalizado completamente y sin errores o no.

Claims (8)

1. Procedimiento para el almacenamiento de registros de datos relacionados en una memoria de destino (6), en el que en la memoria de destino (6) aún existen registros de datos antiguos de un almacenamiento anterior (20 a 25) y en el que en la memoria de destino (6) cada registro de datos (20 a 25) presenta un atributo (20'' a 25''),
-
con lo cual el atributo (20'' a 25'') de cada registro de datos antiguo (20 a 25) en la memoria de destino (6) tiene un primer valor (USED) o un segundo valor (ERASED) y
-
con lo cual en la transferencia de registros de datos (10 a 15) hacia la memoria de destino (6) el atributo de cada nuevo registro de datos escrito (31, 33, 34, 35) es establecido en un tercer valor (INTERIM) y
-
con lo cual después de la transferencia de todos los registros de datos (10 a 15) hacia la memoria de destino (6) primero se establece el atributo de uno de los nuevos registros de datos escritos (31, 33, 34, 35), del registro de datos inicial (31), en un cuarto valor (VALID) y
-
con lo cual para cada nuevo registro de datos escrito (31, 33, 34, 35) se busca el antiguo registro de datos correspondiente (21, 23, 24, 25) con un atributo con el primer valor (USED) y el atributo del antiguo registro de datos encontrado (21, 23, 24, 25) es establecido en el segundo valor (ERASED), así como el atributo del nuevo registro de datos escrito en cada caso (31, 33, 34, 35) es establecido en el primer valor (USED) y
-
con lo cual recién entonces para cada nuevo registro de datos escrito (33, 34, 35) que permanece de manera adicional al registro de datos inicial (31) se busca el antiguo registro de datos correspondiente (23, 24, 25) con el atributo con el primer valor (USED) y el atributo del antiguo registro de datos encontrado (23, 24, 25) es establecido en el segundo valor (ERASED) caracterizado porque el atributo del nuevo registros de datos escrito en cada caso (33, 34, 35) se establece en el primer valor (USED) y
-
porque por último se busca el registro de datos antiguo (21) con el atributo con el primer valor (USED) correspondiente al registro de datos inicial (31) y el atributo del antiguo registro de datos encontrado (21) es establecido en el segundo valor (ERASED), así como el atributo del registro de datos inicial (31) es establecido en el primer valor (USED).
\vskip1.000000\baselineskip
2. Procedimiento conforme a la reivindicación 1, con el cual la transferencia de un registro de datos (10 a 15) hacia la memoria de destino (6) sólo se realiza cuando este presenta diferencias con su contraparte (20 a 25) ya almacenada en la memoria de destino (6).
3. Procedimiento conforme a la reivindicación 2,
-
con el cual cada registro de datos (20 a -25) presenta una identificación (20' a 25') en la memoria de destino (6),
-
con el cual antes de la transferencia de un registros de datos hacia la memoria de destino (6) también se forma una identificación para este y
-
con el cual la transferencia del registro de datos hacia la memoria de destino (6) sólo se realiza, si la identificación formada es diferente a la identificación (20' a 25') de la contraparte (20 a 25) ya almacenada en la memoria de destino (6) del registro de datos a transferir (10 a 15).
\vskip1.000000\baselineskip
4. Procedimiento conforme a la reivindicación 1, con el que la memoria de destino (6) es una memoria flash (6).
5. Procedimiento conforme a la reivindicación 4, con el que el tercer valor (INTERIM) del atributo se diferencia del cuarto valor (VALID), el cuarto valor (VALID) del primer valor (USED) y el primer valor (USED) del segundo valor (ERASED) por una potencia de número entero de dos.
6. Procedimiento conforme a la reivindicación 5, con el que el cuarto valor (VALID) del atributo en relación al tercer valor (INTERIM), el primer valor (USED) del atributo en relación al cuarto valor (VALID) y el segundo valor (ERASED) del atributo en relación al primero valor (USED), en cada caso son menores por una potencia de número entero de dos.
7. Procedimiento conforme a la reivindicación 5, con el que el cuarto valor (VALID) del atributo en relación al tercer valor (INTERIM), el primer valor (USED) del atributo en relación al cuarto valor (VALID) y el segundo valor (ERASED) del atributo en relación al primero valor (USED), en cada caso son mayores por una potencia de número entero de dos.
\newpage
8. Procedimiento conforme a una de las reivindicaciones 1 a 7,
-
con el que los registros de datos relacionados están reunidos en una base de datos,
-
con el que la base de datos presenta un atributo y
-
con el que el almacenamiento de las bases de datos relacionadas se realiza de manera análoga al almacenamiento de registros de datos relacionados.
ES01117052T 2001-07-12 2001-07-12 Procedimiento para el almacenamiento de registros de datos relacionados. Expired - Lifetime ES2313922T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP01117052A EP1276116B1 (de) 2001-07-12 2001-07-12 Verfahren zur Speicherung zusammengehöriger Datensätze

Publications (1)

Publication Number Publication Date
ES2313922T3 true ES2313922T3 (es) 2009-03-16

Family

ID=8178035

Family Applications (1)

Application Number Title Priority Date Filing Date
ES01117052T Expired - Lifetime ES2313922T3 (es) 2001-07-12 2001-07-12 Procedimiento para el almacenamiento de registros de datos relacionados.

Country Status (4)

Country Link
EP (1) EP1276116B1 (es)
AT (1) ATE408225T1 (es)
DE (1) DE50114309D1 (es)
ES (1) ES2313922T3 (es)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8942834B2 (en) 2005-06-27 2015-01-27 Rockwell Automation Technologies, Inc. Method and apparatus for communicating transactions between an industrial controller and a programming interface

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4763305A (en) * 1985-11-27 1988-08-09 Motorola, Inc. Intelligent write in an EEPROM with data and erase check
FR2730833B1 (fr) * 1995-02-16 1997-03-28 Gemplus Card Int Procede de mise a jour securisee de memoire eeprom
FR2742893B1 (fr) * 1995-12-20 1998-01-16 Schlumberger Ind Sa Procede d'inscription d'une donnee dans une memoire reinscriptible
JP4596715B2 (ja) * 1999-06-10 2010-12-15 サン・マイクロシステムズ・インコーポレーテツド 別個のメモリ領域におけるデータの組の種々のバージョンを記憶する配列及びメモリ内のデータの組を更新する方法
FR2799046B1 (fr) * 1999-09-24 2004-02-27 Aton Systemes Sa Procede pour l'ecriture aleatoire de secteurs d'une taille inferieure a celle d'un bloc d'effacement dans une memoire effacable par bloc pour laquelle toute ecriture d'une donnee necessite l'effacement du bloc qui contient ladite donnee
FI109620B (fi) * 1999-10-26 2002-09-13 Tellabs Oy Menetelmä ja järjestely atomaaristen päivitysten toteuttamiseksi loogista flashmuistilaitetta käyttäen

Also Published As

Publication number Publication date
ATE408225T1 (de) 2008-09-15
EP1276116A1 (de) 2003-01-15
DE50114309D1 (de) 2008-10-23
EP1276116B1 (de) 2008-09-10

Similar Documents

Publication Publication Date Title
US5794033A (en) Method and system for in-site and on-line reprogramming of hardware logics with remote loading in a network device
JP2914360B2 (ja) 外部記憶装置及びデータ処理方法
KR101091311B1 (ko) 메모리 장치 및 그 메모리 장치를 이용한 기록 재생 장치
TWI279674B (en) Method for storing data in first and second write-once memory devices
ES2304641T3 (es) Metodo de software para emular una memoria eeprom.
JP2001503166A (ja) フラッシュメモリカード
US8271719B2 (en) Non-volatile memory controller device and method therefor
JP2016540297A (ja) Nandメモリデバイス内に記憶されたデータのフェールセーフリフレッシュ
JP2011514568A (ja) ライトワンスメモリデバイスおよびライトメニーメモリデバイスを備えるコンピュータのストレージサブシステムおよび関連する方法
JP2007128562A (ja) 同期メモリを備えた電子部品
CN110265070A (zh) 具有存储器尺寸的非易失性存储器设备
US6687815B1 (en) Method and apparatus for storing non-volatile configuration information
CN108776627A (zh) 一种数据存储方法、装置、读取方法及装置
KR100849446B1 (ko) 기억 장치, 메모리 관리 장치, 메모리 관리 방법, 및 컴퓨터-판독가능한 기록 매체
ES2313922T3 (es) Procedimiento para el almacenamiento de registros de datos relacionados.
US12235725B2 (en) Multi-time programmable electronic fuse apparatus
JP2004280287A (ja) メモリカード
KR100458100B1 (ko) 정보 처리 장치
JPS6027426B2 (ja) 記憶装置
TW432329B (en) Microcomputor
JP3163124B2 (ja) 電子スチルカメラ装置
CN114217744A (zh) 使用影子寄存器的efuse储存内容分发方法及设备
JPH0551938B2 (es)
JP4599707B2 (ja) ダウンロード・データの版数管理方式
CN115981566B (zh) 存储器的数据修改方法、装置、设备及存储介质