US20020174283A1 - Method for updating parametric data for use in data management system - Google Patents
Method for updating parametric data for use in data management system Download PDFInfo
- Publication number
- US20020174283A1 US20020174283A1 US10/134,594 US13459402A US2002174283A1 US 20020174283 A1 US20020174283 A1 US 20020174283A1 US 13459402 A US13459402 A US 13459402A US 2002174283 A1 US2002174283 A1 US 2002174283A1
- Authority
- US
- United States
- Prior art keywords
- data storage
- storage device
- contents
- backup data
- random access
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
Definitions
- the invention relates in general to a method for updating parametric data, and more particularly to a method for updating parametric data for use in a data management system.
- FIG. 1 shows a network management system.
- the network management system includes a central management system 100 and a number of client devices 130 connected to the central management system 100 through a network. Since the client devices 130 have different configurations and requirements, corresponding provisioning data are different. For example, a user A has his provisioning data stored in a data management system for the user A while a user B has her provisioning data stored in a data management system for the user B.
- provisioning data records the parameters for configuration of a client device
- the configuration of the client device can be altered by directly modifying the parameters in the client device. It is a convenience to configure the client device corresponding to the actual requirements of the user in this way.
- FIG. 2 is a block diagram of a data management system 200 of a client device.
- the data management system 200 can be an embedded system or an open system, including a data storage device 250 and a data processing device 290 .
- the data processing device 290 can be a central processing unit (CPU) or other hardware associated with software for data processing.
- the provisioning data of a user can be stored in the data storage device 250 .
- the data management system 200 When the data management system 200 is set in operation, the data storage device 250 only needs to feed the provisioning data into the data processing device 290 , and then the data management system 200 configures corresponding hardware according to the provisioning data, thereby causing the system configuration to correspond to the requirements of the client device. In the following, access to the provisioning data in the data storage device 250 is illustrated.
- FIG. 3A shows a data storage device 250 in a block diagram.
- the data storage device 250 includes a non-volatile memory device 35 and a random access memory device 37 .
- the non-volatile memory device 35 may be, for example, an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash erasable programmable read-only memory (flash EPROM).
- the random access memory device 37 generally refers to a random access memory (RAM) such as static random access memory (SRAM) or dynamic random access memory (DRAM).
- RAM random access memory
- SRAM static random access memory
- DRAM dynamic random access memory
- the provisioning data are stored in the non-volatile memory device 35 so as to prevent data loss when the system restarts. Since the write speed of the non-volatile memory device 35 is low, at system start-up, the provisioning data stored in the non-volatile memory device 35 are read and then written into the random access memory device 37 , which has a faster read/write speed. Through the connection between the random access memory device 37 and the data processing device 290 , system setting and changes of various parameters are performed. When the requirements of the client device are changed, the related parameters that are stored in the random access memory device 37 can be modified, corresponding to the actual requirements.
- the system Since the data stored in the random access memory device 37 would be lost as the system shuts down, the system, for every certain time period, replaces the provisioning data stored in the non-volatile memory device 35 by writing the latest version of the provisioning data stored in the random access memory device 37 to the non-volatile memory device 35 in order to maintain the effectiveness of the provisioning data stored in the non-volatile memory device 35 .
- Such writing operation generally operates in the background without informing the user, and does not influence other in-process operations.
- the latest version of the provisioning data read from the non-volatile memory device 35 can be written to the random access memory device 37 for use in the system configuration.
- the non-volatile memory device 35 provides the latest version of the provisioning data in order for the system's configuration tasks to be completed.
- flash EPROM and RAM are used as the non-volatile memory device 35 and the random access memory device 37 , respectively.
- flash EPROM 350 and RAM 370 have their respective check codes, for example, checksum (CS), for the determination of data correctness for the memory devices.
- checksum a numerical value obtained by adding all data bits stored in the RAM 370 can be referred to as the checksum for the data.
- the checksum CS is updated after the data stored in the RAM 370 are modified, which ensures the consistency between the stored data and their checksum CS.
- the checksum CS will not be updated in some abnormal situation.
- the checksum CS will not be updated. In such case, the checksum CS of the RAM 370 will, then, be inconsistent with the checksum based on the data stored in the RAM 370 .
- the system detects the inconsistency between the checksum CS of the RAM 370 and the checksum based on the data stored in the RAM 370 , the system will overwrite the data stored in the RAM 370 with the provisioning data stored in the flash 350 so as to ensure the correctness of the contents of the RAM 370 .
- a numerical value obtained from summation based on the data stored in the flash 350 can be referred to as a checksum CS.
- the replacement of the provisioning data stored in the flash 350 is made gradually by the system in the background.
- a checksum CS is computed, based on the data stored in the flash 350 , and is used to replace the last checksum CS.
- the updating process on the provisioning data will be interrupted. Since the updating process on the provisioning data in the flash 350 has not completed, the checksum CS of the flash 350 remains unchanged (unless the updating process is completed).
- the frequency for updating the data stored in the non-volatile memory device is high, thus resulting in a reduction to the lifetime of the non-volatile memory device.
- the system when abnormal situation occurs, instead of being recovered to the original factory setting, the system can be restored to its previous setting according to a latest version of configuration data.
- the invention achieves the above-identified objects by providing a method for updating parametric data as described in the following.
- a data management system of a client device includes a data storage device for storing various parameters for configuring the data management system.
- the data storage device includes a backup data storage device for storing provisioning data, a random access memory (RAM) device for use in dynamical provisioning data modification, and a transaction data storage device for recording variations in parameters.
- RAM random access memory
- the data management system writes the changes to the transaction data storage device.
- the data management system restarts, the system writes the data stored in the backup data storage device to the RAM device, and then updates the related parameters stored in the RAM device according to the contents of the transaction data storage device.
- the contents of the RAM device can correspond to the most recent requirements of the user.
- the backup data storage device will be updated according to the contents of the transaction data storage device. Once the backup data storage device is updated with the contents of the transaction data storage device, the contents of the transaction data storage device will be erased and the transaction data storage device can store subsequent variations in parameters.
- the data storage device may include two backup data storage devices for storing two different versions of the provisioning data.
- Each of the backup data storage devices has its flag for recording a serial number indicative of version information.
- the flag of one of the backup data storage devices with a greater value may indicate that the one stores a newer version of the provisioning data, for example.
- the system can write the changes to the transaction data storage device.
- the backup data storage device having the flag with a larger value is selected and the contents of the backup data storage device are written to the RAM device.
- the parameters stored in the RAM device are updated according to the data stored in the transaction data storage device so that the contents of the RAM device can match the latest requirements of the user.
- the system selects the one which has a flag with a smaller value (since the contents of the one is an older version of the provisioning data) and uses the contents of the RAM device to overwrite the contents of the backup data storage device.
- the contents of the backup data storage device correspond to the latest version of the provisioning data, and its flag can be set to a larger value and the contents of the transaction data storage device can be erased for recording subsequent parameters changes.
- FIG. 1 (Prior Art) illustrates a network management system.
- FIG. 2 shows a data management system for a client device in block diagram form.
- FIG. 3A (Prior Art) shows a conventional data storage device in block diagram form.
- FIG. 3B (Prior Art) illustrates the data storage device in FIG. 3A in practice.
- FIG. 4 is a block diagram illustrating a data storage device according to a first embodiment of the invention.
- FIG. 5 is a block diagram illustrating a data storage device according to a second embodiment of the invention.
- FIG. 6 is a flowchart illustrating a starting process for the system in the second embodiment.
- FIG. 7 is a flowchart illustrating an updating process for the system in the second embodiment.
- a non-volatile memory device of a data storage device is configured in the structure with a transaction data storage device and a backup data storage device.
- the transaction data storage device is used for storing provisioning data
- the backup data storage device is used for storing changes in the provisioning data.
- the user desires to modify the configuration of the system, the user may change the parameters stored in the random access memory (RAM) device.
- the system writes the changed parameters to the transaction data storage device.
- the system When the system restarts, the system firstly writes the provisioning data stored in the backup data storage device to the RAM device, and then modifies the contents of the RAM device according to the contents of the transaction data storage device. After that, the provisioning data stored in the RAM device is to be the latest version. By configuring the system according to the data stored in the RAM device in this way, the latest requirements of the client device can be satisfied.
- the invention is described by providing two embodiments based on the principle given above.
- FIG. 4 shows a data storage device 450 according to a first embodiment of the invention.
- the data storage device 450 includes a non-volatile memory device 45 , a random access memory (RAM) device 37 , and a read-only memory (ROM) device 490 , wherein the non-volatile memory device 45 is coupled to the RAM device 37 .
- the non-volatile memory device 45 can be, for example, erasable programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), or flash erasable programmable read only memory (flash EPROM).
- the RAM device 37 is a random access memory (RAM) such as static random access memory (SRAM), or dynamic random access memory (DRAM).
- RAM random access memory
- SRAM static random access memory
- DRAM dynamic random access memory
- the ROM device 490 can be any read-only memory (ROM).
- the non-volatile memory device 45 includes a transaction data storage device 451 and a backup data storage device 453 .
- the transaction data storage device 451 and backup data storage device 453 are non-volatile memory devices, for example, EPROM, EEPROM, or flash EPROM.
- the non-volatile memory device 45 in practice, can be a non-volatile memory (e.g., a flash EPROM) whose two memory areas, separated by assigning different memory addresses to them, are indicative of the transaction data storage device 451 and backup data storage device 453 .
- the data storage device 450 is disposed in the data management system to store various data required by the system.
- the data management system can be an embedded system or an open system, for example.
- the default values for the provisioning data are stored in the ROM device 490 before the data storage device 450 left the factory, for contingent use. In a contingent case such as the system being down, the minimum requirements for setting the configuration can be meet with the default values.
- the ROM device 490 stores programs for configuring the system, in addition. When the data processing device 290 reads and executes such programs, it can read the parametric data for system configuration.
- the default values for the provisioning data hereinafter, are referred to as initial backup data.
- the data management system configures different parts of hardware inside the system.
- the data management system first executes the programs stored in the ROM device 490 and writes the initial backup data from the ROM device 490 to the RAM device 37 , thus completing the hardware configuration.
- the data management system writes the initial backup data stored in the RAM device 37 to the backup data storage device 453 so as to complete the first starting process.
- the user may modify the parameters stored in the RAM device 37 , according to the actual requirements.
- the system can record the changed parameters by writing the changed parameters stored in the RAM device 37 to the transaction data storage device 451 .
- a first parameter was changed from M to m after the first change; a second parameter was changed from N to n after the second change; a third parameter from Q to q after the third change.
- the values of these parameters are written into the transaction data storage device 451 , which stores the addresses, values, and related data of the first, second, and third parameters.
- the initial backup data stored in the backup data storage device 453 are first read and written to the RAM device 37 , and then the contents of the RAM device 37 are updated according to the contents of the transaction data storage device 451 . That is, the RAM device 37 finally has its first, second, and third parameters changed to m, n, and q.
- the transaction data storage device 451 can still keep the changes that have been written into the transaction data storage device 451 before the system interruption.
- a first parameter was changed from M to m after the first change; a second parameter was changed from N to n after the second change; a third parameter from Q to q after the third change.
- the changed parameters are to be written to the transaction data storage device 451 .
- the system interruption occurs in the process of the third change, that is, when the parameter q is being written to the transaction data storage device 451 .
- the transaction data storage device 451 can still keep the parameters changed in the two previous changes, that is, the changed first and second parameters.
- the initial backup data are written to the RAM device 37 and the contents of the RAM device 37 are updated according to the contents of the transaction data storage device 451 , so that the RAM device 37 can still maintain the provisioning data similar to the actual requirements.
- the conventional approach when such system interruption occurs, would result in the first, second, and third parameters to be set as the default values, that is, M, N, and Q, respectively.
- the system when the parameters stored in the RAM device 37 are changed, the system particularly writes the changes to the transaction data storage device 451 rather than conventionally writes the contents of the RAM device 37 to the non-volatile memory device. In this way, the storage of the changes can be finished in a short time, resulting in a reduced probability that the storage of the changes is interrupted.
- the provisioning data stored in the backup data storage device 453 can be updated according to the contents of the transaction data storage device 451 .
- the first, second, and third parameters stored in the backup data storage device 453 are changed from M to m, from N to n, and from Q to q, respectively, according to the contents of the transaction data storage device 451 .
- the provisioning data stored in the backup data storage device 453 are the latest version of provisioning data so that the contents of the transaction data storage device 451 may be cleared.
- the system is configured according to the latest provisioning data read from the backup data storage device 453 so as to correspond to the user's actual requirements.
- the provisioning data stored in the backup data storage device 453 will not be affected. Because the system, as the parameters stored in the RAM device 37 are changed, only needs to write the changes to the transaction data storage device 451 rather than directly writes the changes to the backup data storage device 453 , when system interruption occurs suddenly, the provisioning data stored in the backup data storage device 453 remains unchanged. In other words, the process of writing the changed parameters to the transaction data storage device 451 is independent of the backup data storage device 453 , thus ensuring that the provisioning data stored in the backup data storage device 453 will not be damaged under such sudden situation. Thus, when the system restarts due to a contingent situation, the system need not be configured with the initial backup data, but with the parameters closely similar to the actual requirement, instead.
- the non-volatile memory device including a transaction data storage device and a backup data storage device is disclosed in the first embodiment.
- the non-volatile memory device can include, for example, two backup data storage devices for storing two different versions of provisioning data.
- FIG. 5 shows a data storage device 550 in accordance with a second embodiment of the invention.
- the data storage device 550 includes a non-volatile memory device 55 , a random access memory (RAM) device 37 , and a read-only memory (ROM) device 490 , wherein the non-volatile memory device 55 is coupled to the RAM device 37 .
- the non-volatile memory device 55 includes a transaction data storage device 551 , backup data storage devices 553 and 555 .
- the non-volatile memory device 55 can be a non-volatile memory such as a flash EPROM, while the transaction data storage device 551 , backup data storage devices 553 and 555 can be formed with separate memory areas having their respective memory addresses inside the non-volatile memory device 55 .
- the transaction data storage device 551 is used for storing the changed parameters stored in the RAM device 37 .
- the backup data storage devices 553 and 555 are used to store different versions of the provisioning data, while the ROM device 490 is for the storage of the initial backup data and the programs for configuring the system.
- two backup data storage devices 553 and 555 are used to store two different versions of the provisioning data.
- the data processing device first reads and checks the checksums CS of the two backup data storage devices 553 and 555 so as to perform system configuration. If the two backup data storage devices 553 and 555 have valid checksums CS, the latest version of the provisioning data stored in the backup data storage device 553 or 555 are read. If only one of the backup data storage devices 553 and 555 has a valid checksum CS, the provisioning data of the one with the valid checksum CS are read.
- both the checksums CS of the two backup data storage devices 553 and 555 are invalid, the initial backup data are read from the ROM device 490 . After the check of the checksums CS, an appropriate provisioning data are read for use in system configuration. In addition, when it needs to update the provisioning data stored in the backup data storage devices 553 and 555 , the data processing device first selects the one storing an old version of the provisioning data from the backup data storage devices 553 and 555 , and then updates the contents of the selected one with the latest version of the provisioning data. In the following, the above process will be described in detail.
- the system reads the initial backup data from the ROM device 490 and writes the initial backup data to the RAM device 37 in order to complete configuration of system.
- the backup data storage devices 553 and 555 have respective flags F for serial number recording.
- the RAM device 37 writes the initial backup data into the backup data storage devices 553 and 555 .
- the flags F of the backup data storage devices 553 and 555 are set to 0 to indicate that the contents of the two backup data storage devices are identical to the initial backup data, and can be referred to as the zeroth version of the provisioning data.
- an initializing procedure begins to execute.
- the initializing procedure is a procedure for updating the provisioning data when both the two backup data storage devices store the zeroth version of the provisioning data. The initializing procedure will be described in the following.
- both the backup data storage devices 553 and 555 since both the backup data storage devices 553 and 555 , as the initializing procedure executes, store the zeroth version of the provisioning data, when the system restarts, either the backup data storage device 553 or 555 may be selected and the provisioning data read from the selected one are written to the RAM device 37 . Once changes in the contents of the RAM device 37 are made, the system writes the changes to the transaction data storage device 551 . As the system restarts, either the backup data storage device 553 or 555 may be selected and the provisioning data read from the selected one are written to the RAM device 37 , and then the contents of the RAM device 37 are updated according to the contents of the transaction data storage device 551 .
- the RAM device 37 keeps the latest version of the provisioning data, corresponding to the user's actual requirements.
- the system can select one of the backup data storage devices 553 and 555 and update the version of the provisioning data stored in the selected one. After that, the system updates the checksum CS of the selected one as well as its flag F, and clears or erases the contents of the transaction data storage device 551 .
- An example of the above process is described as follows.
- the system can select either the backup data storage device 553 or 555 , and updates the contents of the selected one.
- the system selects the backup data storage device 553 .
- the provisioning data stored in the RAM device 37 are written to the backup data storage device 553 , and are substituted for the zeroth version of the provisioning data previously stored in the backup data storage device 553 , thereby completing the updating process.
- the checksum CS of the backup data storage device 553 is to be generated according to the contents thereof.
- the backup data storage device 553 Since the RAM device 37 stores the latest parameters that the system uses, the backup data storage device 553 , after being updated, stores the latest version of the provisioning data. Thus, the flag F of the backup data storage device 553 is set to, for example, 1, indicating that the backup data storage device 553 stores the first version of the provisioning data.
- the contents of the transaction data storage device 551 can be cleared (or erased) after the updating of the contents of the backup data storage device 553 . After the contents of the transaction data storage device 551 are cleared, if the contents of the RAM device 37 are changed, the changes are written to the transaction data storage device 551 , one after another.
- updating the contents of the backup data storage device 553 can be postponed until the transaction data storage device 551 is full or nearly full.
- the backup data storage device 553 is updated with the contents of the transaction data storage device 551 .
- the system reads the contents of the backup data storage device 553 , writes them to the RAM device 37 , and then updates the contents of the RAM device 37 according to the contents of the transaction data storage device 551 .
- the system selects one from the backup data storage devices 553 and 555 , and updates the version of the provisioning data stored in the selected one.
- a new checksum CS and flag F are generated for the selected one.
- the system clears the contents of the transaction data storage device 551 so that the recording of modification to the provisioning data resumes.
- the system selects the one storing the older version of the provisioning data from the two backup data storage devices, according to their flags, and then updates the contents of the selected one. Since the flag of the backup data storage device 553 is 1 while that of the backup data storage device 555 is 0, the backup data storage device 555 stores the older version of the provisioning data. Thus, the provisioning data stored in the RAM device 37 are all written to the backup data storage device 555 so as to overwrite the zeroth version of the provisioning data stored in the backup data storage device 555 , thereby completing the updating process. After the provisioning data are updated, the flag F of the backup data storage device 555 is set to a larger number, for example, 2, indicating that the backup data storage device 555 stores the second version of the provisioning data.
- the version of the provisioning data is updated with the contents of the RAM device 37 to overwrite the version of the provisioning data stored in the backup data storage device that is selected from the two backup data storage devices according to their respective flags.
- the flag of a backup data storage device with a smaller value indicates an older version of the provisioning data is stored in the backup data storage device.
- the system can select the backup data storage device whose flag is a smaller value, from the two backup data storage devices, as the object to be updated. Having being updated, the selected backup data storage device has its flag set to a greater value.
- the system selects the backup data storage device that has the greater flag value between the two backup data storage devices, and writes the contents of the one with the greater flag value to the RAM device. Since the flag with a greater value indicates a newer version of the provisioning data, the selected provisioning data can be more similar to that the user actually requires with this selection process.
- the system modifies the contents of the RAM device according to the parameters stored in the transaction data storage device. Having being modified, the parameters stored in the RAM device correspond to the actual requirements of the user.
- the checksum CS of such backup data storage device will be determined to be invalid when the system restarts. Nevertheless, correct provisioning data corresponding to a newer version are to be selected, regardless of the exceptional interruption of the system because the system is first to examine whether the checksums of the two backup data storage devices are valid when the system restarts. The following will describe the system starting process and updating process with flowcharts, for the sake of clarity.
- FIG. 6 is a flowchart illustrating the system starting process in the second embodiment.
- step 610 is first performed so as to determine whether the contents of the backup data storage device 553 are valid, for example, by calculating the checksum according to the contents and then comparing such checksum with the checksum CS stored in the backup data storage device 553 . By the comparison, if they are equal, it indicates the contents of the backup data storage device 553 are valid, and the process goes to step 620 to check the contents of the backup data storage device 555 . Otherwise, if the calculated checksum and the stored checksum CS are unequal, it indicates the contents of the backup data storage device 553 are invalid.
- step 615 either the flag and/or the contents of backup data storage device 553 should be cleared (or erased), as shown in step 615 , and then the process goes to step 620 to check the contents of the backup data storage device 555 .
- step 620 a determination is made as to whether the contents of the backup data storage device 555 are valid, for example, by calculating the checksum according to the contents and then comparing the calculated checksum with the checksum CS stored in the backup data storage device 555 . If the contents of the backup data storage device 555 are valid, the starting process proceeds to step 630 to determine whether the contents of the backup data storage devices are both valid.
- step 650 a determination is made as to whether the contents of the backup data storage devices are both invalid. If not, it indicates that the contents of the backup data storage device 553 are valid while the contents of the backup data storage device 555 are invalid, and the backup data storage device 553 is defined as an active device, in step 653 . If yes, it indicates the contents of them are both invalid, and the process goes to step 670 .
- step 630 it is to determine whether the contents of the backup data storage devices are both valid. If yes, a determination is made, in step 640 , as to whether the contents of the backup data storage devices are equal. If it is determined that they are equal, the system can select the backup data storage device 553 or 555 and defines the selected one as an active device in step 645 ; in other words, either device can be defined as the active device in step 645 . If it is determined that they are not equal in step 640 , the backup data storage device which stores the newer version of the provisioning data is defined as an active device in step 647 .
- step 630 if it is determined that only one of them is valid, that is, only one of the backup data storage devices has valid contents, the one with valid contents is defined as an active device in step 655 .
- the active device is the one of the two backup data storage devices which stores the valid provisioning data corresponding to the newer version.
- the provisioning data stored in the active device are read and written to the RAM device 37 in step 660 .
- the RAM device 37 has its corresponding parameters updated according to the contents of the transaction data storage device 551 , in step 680 , resulting in the provisioning data of the RAM device 37 to correspond the user's actual requirements.
- the system After the system starts up, if the provisioning data are changed because the requirements of the user are changed, the system writes the changes in the provisioning data read from the RAM device 37 to the transaction data storage device 551 , as indicated in step 690 . In addition, when the system starts up, the contents of the RAM device 37 are updated according to the contents of the transaction data storage device 551 .
- step 650 it is to determine whether the contents of the backup data storage devices are both invalid. If yes, the process goes to step 670 .
- the initial backup data are copied from the ROM device to the RAM device 37 and are used for the starting process. Note that after the initial backup data are loaded into the RAM device, in step 675 , the system reads the initial backup data from the RAM device, and writes them to the backup data storage device so as to overwrite the invalid contents of such backup data storage device, thus enabling at least one of the backup data storage devices to provide a valid copy of the initial backup data.
- step 675 after the updating of the contents, the checksum of the backup data storage device can be calculated, based on the contents thereof, and its flag can be reset to zero to indicate the contents thereof are the zeroth version of the provisioning data.
- the process proceeds to step 677 to clear the contents of the transaction data storage device, and the system is configured according to the initial backup data stored in the RAM device 37 , whereby the system can start up smoothly.
- the RAM device 37 can be updated with the contents of the transaction data storage device 551 , as described previously. In the following, the updating process for the backup data storage device is described.
- the process of updating the version of the provisioning data is performed on one of the two backup data storage devices that stores an older version of the provisioning data. If the contents of one of the two backup data storage devices are invalid, the updating process is performed on this one. If the contents of the two backup data storage devices are invalid, or identical, the updating process may be performed on either of them.
- the updating process of the second embodiment is illustrated in FIG. 7.
- step 710 the system first determines whether the contents of the backup data storage device 553 are valid. If not, the system further determines whether the contents of the backup data storage device 555 are valid, in step 720 .
- the backup data storage device 553 can be defined as a device whose contents are to be updated, in step 725 .
- step 710 if it is determined that the contents of the backup data storage device 553 are valid, the updating process proceeds to step 730 to determine whether the contents of the backup data storage device 555 are valid. If the contents of the backup data storage device 555 are valid, the updating process goes to step 740 . In step 740 , a determination is made as to whether the backup data storage devices 553 and 555 are identical in content. If so, it indicates that the two backup data storage devices are both valid and identical in content, and either of them can be selected as a device whose contents are to be updated, in step 723 .
- step 750 If not, it indicates that the two backup data storage devices are both valid but are of different versions, and the one having an older version of the provisioning data is selected as a device whose contents are to be updated, in step 750 .
- step 730 if it is determined that the contents of the backup data storage device 555 are invalid, the backup data storage device 555 can be defined as a device whose contents are to be updated, as indicated in step 760 .
- step 770 the contents of the RAM device are written to the defined device so as to replace the original contents of the defined device, and then the defined device stores the latest version of the provisioning data. At this time, the checksum can be calculated, based on the contents of the defined device, and the flag of the defined device is updated, thereby completing the updating process of the version of the provisioning data.
- step 780 the contents of the transaction data storage device can be cleared (or erased).
- the method of updating parametric data provides at least the advantages as follows.
- the system configuration can be set with the last version of the provisioning data as the system restarts, and thus the system can be avoided from returning to the configuration corresponding to the system default values.
- the changed parameters stored in the transaction data storage device can be written to the backup data storage device, such as a flash memory device, when the contents of the flash memory is full, thus resulting in a reduced number of times of updating the flash memory and an increased lifetime.
- the backup data storage device such as a flash memory device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
- This application incorporates by reference of Taiwan application Serial No. 090110444, filed on May 1, 2001.
- 1. Field of the Invention
- The invention relates in general to a method for updating parametric data, and more particularly to a method for updating parametric data for use in a data management system.
- 2. Description of the Related Art
- Advances in high technology have led to the widespread use of various network configurations, for example, computer networks and telecommunication networks, bringing people much more convenience in life. FIG. 1 shows a network management system. The network management system includes a
central management system 100 and a number ofclient devices 130 connected to thecentral management system 100 through a network. Since theclient devices 130 have different configurations and requirements, corresponding provisioning data are different. For example, a user A has his provisioning data stored in a data management system for the user A while a user B has her provisioning data stored in a data management system for the user B. Note that since the provisioning data records the parameters for configuration of a client device, when the requirements of a user change, the configuration of the client device can be altered by directly modifying the parameters in the client device. It is a convenience to configure the client device corresponding to the actual requirements of the user in this way. - FIG. 2 is a block diagram of a
data management system 200 of a client device. Thedata management system 200 can be an embedded system or an open system, including adata storage device 250 and adata processing device 290. Thedata processing device 290 can be a central processing unit (CPU) or other hardware associated with software for data processing. In general, the provisioning data of a user can be stored in thedata storage device 250. When thedata management system 200 is set in operation, thedata storage device 250 only needs to feed the provisioning data into thedata processing device 290, and then thedata management system 200 configures corresponding hardware according to the provisioning data, thereby causing the system configuration to correspond to the requirements of the client device. In the following, access to the provisioning data in thedata storage device 250 is illustrated. - FIG. 3A shows a
data storage device 250 in a block diagram. Thedata storage device 250 includes anon-volatile memory device 35 and a randomaccess memory device 37. Thenon-volatile memory device 35 may be, for example, an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash erasable programmable read-only memory (flash EPROM). The randomaccess memory device 37 generally refers to a random access memory (RAM) such as static random access memory (SRAM) or dynamic random access memory (DRAM). - For the approach generally used, the provisioning data are stored in the
non-volatile memory device 35 so as to prevent data loss when the system restarts. Since the write speed of thenon-volatile memory device 35 is low, at system start-up, the provisioning data stored in thenon-volatile memory device 35 are read and then written into the randomaccess memory device 37, which has a faster read/write speed. Through the connection between the randomaccess memory device 37 and thedata processing device 290, system setting and changes of various parameters are performed. When the requirements of the client device are changed, the related parameters that are stored in the randomaccess memory device 37 can be modified, corresponding to the actual requirements. Since the data stored in the randomaccess memory device 37 would be lost as the system shuts down, the system, for every certain time period, replaces the provisioning data stored in thenon-volatile memory device 35 by writing the latest version of the provisioning data stored in the randomaccess memory device 37 to the non-volatilememory device 35 in order to maintain the effectiveness of the provisioning data stored in the non-volatilememory device 35. Such writing operation generally operates in the background without informing the user, and does not influence other in-process operations. In this way, as the system restarts, the latest version of the provisioning data read from thenon-volatile memory device 35 can be written to the randomaccess memory device 37 for use in the system configuration. In other words, as the system starts up, thenon-volatile memory device 35 provides the latest version of the provisioning data in order for the system's configuration tasks to be completed. - In practice, flash EPROM and RAM, as shown in FIG. 3B, are used as the
non-volatile memory device 35 and the randomaccess memory device 37, respectively. It should be noted that flash EPROM 350 andRAM 370 have their respective check codes, for example, checksum (CS), for the determination of data correctness for the memory devices. As an example of checksum, a numerical value obtained by adding all data bits stored in theRAM 370 can be referred to as the checksum for the data. Normally, the checksum CS is updated after the data stored in theRAM 370 are modified, which ensures the consistency between the stored data and their checksum CS. However, the checksum CS will not be updated in some abnormal situation. For example, after the data stored in theRAM 370 are modified abnormally, the checksum CS will not be updated. In such case, the checksum CS of theRAM 370 will, then, be inconsistent with the checksum based on the data stored in theRAM 370. Once the system detects the inconsistency between the checksum CS of theRAM 370 and the checksum based on the data stored in theRAM 370, the system will overwrite the data stored in theRAM 370 with the provisioning data stored in theflash 350 so as to ensure the correctness of the contents of theRAM 370. As to theflash 350, a numerical value obtained from summation based on the data stored in theflash 350 can be referred to as a checksum CS. As mentioned above, the replacement of the provisioning data stored in theflash 350 is made gradually by the system in the background. In this way, on completion of the replacement, a checksum CS is computed, based on the data stored in theflash 350, and is used to replace the last checksum CS. Note that when the data stored in theRAM 370 are written to theflash 350, if the system is suddenly interrupted by, for example, power supply failure, system failure, or misoperation that the user carelessly presses a reset key to make the system restart, the updating process on the provisioning data will be interrupted. Since the updating process on the provisioning data in theflash 350 has not completed, the checksum CS of theflash 350 remains unchanged (unless the updating process is completed). In this case, when the system restarts, an abnormal situation that the summation based on the data stored in theflash 350 is not equal to the checksum CS stored in theflash 350 occurs. When the system detects the abnormal situation, the system reads the default values of the provisioning data from theflash 350, writes them to theRAM 37 and then configures the system according to the default values stored in theRAM 37. In this way, the configuration of the system is restored to the configuration according to the default values and the related setting is restored to the original factory setting. Accordingly, various parameters of the client device, such as IP address, have to be configured again. It makes a great inconvenience to the users. On the other hand, since the system frequently writes the latest version of the provisioning data to the non-volatile memory device, the frequency for updating the data stored in the non-volatile memory device is high, thus resulting in a reduction to the lifetime of the non-volatile memory device. - It is therefore an object of the invention to provide a method for updating parametric data. According to the invention, when abnormal situation occurs, instead of being recovered to the original factory setting, the system can be restored to its previous setting according to a latest version of configuration data.
- It is another object of the invention to provide a method for updating parametric data to reduce the time for updating the data stored in the non-volatile memory device and reduce the probability of an updating process being interrupted abnormally.
- The invention achieves the above-identified objects by providing a method for updating parametric data as described in the following.
- A data management system of a client device includes a data storage device for storing various parameters for configuring the data management system. The data storage device includes a backup data storage device for storing provisioning data, a random access memory (RAM) device for use in dynamical provisioning data modification, and a transaction data storage device for recording variations in parameters. When the requirements of the client device are changed, the related parameters stored in the RAM device will be modified. When the modification is done in the RAM device, the data management system writes the changes to the transaction data storage device. When the data management system restarts, the system writes the data stored in the backup data storage device to the RAM device, and then updates the related parameters stored in the RAM device according to the contents of the transaction data storage device. In this way, the contents of the RAM device can correspond to the most recent requirements of the user. When the amount of content stored in the transaction data storage device has increased to a certain level, the backup data storage device will be updated according to the contents of the transaction data storage device. Once the backup data storage device is updated with the contents of the transaction data storage device, the contents of the transaction data storage device will be erased and the transaction data storage device can store subsequent variations in parameters.
- In addition, the data storage device may include two backup data storage devices for storing two different versions of the provisioning data. Each of the backup data storage devices has its flag for recording a serial number indicative of version information. The flag of one of the backup data storage devices with a greater value may indicate that the one stores a newer version of the provisioning data, for example. After the contents of the RAM device are modified, the system can write the changes to the transaction data storage device. When the system restarts, the backup data storage device having the flag with a larger value is selected and the contents of the backup data storage device are written to the RAM device. Next, the parameters stored in the RAM device are updated according to the data stored in the transaction data storage device so that the contents of the RAM device can match the latest requirements of the user. When it needs to update one of the backup data storage devices, the system selects the one which has a flag with a smaller value (since the contents of the one is an older version of the provisioning data) and uses the contents of the RAM device to overwrite the contents of the backup data storage device. Once updated, the contents of the backup data storage device correspond to the latest version of the provisioning data, and its flag can be set to a larger value and the contents of the transaction data storage device can be erased for recording subsequent parameters changes.
- Other objects, features, and advantages of the invention will become apparent from the following detailed description of the preferred but non-limiting embodiments. The following description is made with reference to the accompanying drawings.
- FIG. 1 (Prior Art) illustrates a network management system.
- FIG. 2 (Prior Art) shows a data management system for a client device in block diagram form.
- FIG. 3A (Prior Art) shows a conventional data storage device in block diagram form.
- FIG. 3B (Prior Art) illustrates the data storage device in FIG. 3A in practice.
- FIG. 4 is a block diagram illustrating a data storage device according to a first embodiment of the invention.
- FIG. 5 is a block diagram illustrating a data storage device according to a second embodiment of the invention.
- FIG. 6 is a flowchart illustrating a starting process for the system in the second embodiment.
- FIG. 7 is a flowchart illustrating an updating process for the system in the second embodiment.
- In the invention, a non-volatile memory device of a data storage device is configured in the structure with a transaction data storage device and a backup data storage device. The transaction data storage device is used for storing provisioning data, and the backup data storage device is used for storing changes in the provisioning data. If the user desires to modify the configuration of the system, the user may change the parameters stored in the random access memory (RAM) device. Once the parameters are changed, the system writes the changed parameters to the transaction data storage device. When the system restarts, the system firstly writes the provisioning data stored in the backup data storage device to the RAM device, and then modifies the contents of the RAM device according to the contents of the transaction data storage device. After that, the provisioning data stored in the RAM device is to be the latest version. By configuring the system according to the data stored in the RAM device in this way, the latest requirements of the client device can be satisfied. In the following, the invention is described by providing two embodiments based on the principle given above.
- Embodiment I
- FIG. 4 shows a
data storage device 450 according to a first embodiment of the invention. Thedata storage device 450 includes anon-volatile memory device 45, a random access memory (RAM)device 37, and a read-only memory (ROM)device 490, wherein thenon-volatile memory device 45 is coupled to theRAM device 37. Thenon-volatile memory device 45 can be, for example, erasable programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), or flash erasable programmable read only memory (flash EPROM). TheRAM device 37 is a random access memory (RAM) such as static random access memory (SRAM), or dynamic random access memory (DRAM). TheROM device 490 can be any read-only memory (ROM). Thenon-volatile memory device 45 includes a transactiondata storage device 451 and a backupdata storage device 453. The transactiondata storage device 451 and backupdata storage device 453 are non-volatile memory devices, for example, EPROM, EEPROM, or flash EPROM. Thenon-volatile memory device 45, in practice, can be a non-volatile memory (e.g., a flash EPROM) whose two memory areas, separated by assigning different memory addresses to them, are indicative of the transactiondata storage device 451 and backupdata storage device 453. - The
data storage device 450 is disposed in the data management system to store various data required by the system. The data management system can be an embedded system or an open system, for example. Note that the default values for the provisioning data are stored in theROM device 490 before thedata storage device 450 left the factory, for contingent use. In a contingent case such as the system being down, the minimum requirements for setting the configuration can be meet with the default values. TheROM device 490 stores programs for configuring the system, in addition. When thedata processing device 290 reads and executes such programs, it can read the parametric data for system configuration. For the sake of brevity, the default values for the provisioning data, hereinafter, are referred to as initial backup data. - When the
data storage device 450 is activated for the first time, the data management system configures different parts of hardware inside the system. The data management system first executes the programs stored in theROM device 490 and writes the initial backup data from theROM device 490 to theRAM device 37, thus completing the hardware configuration. Next, the data management system writes the initial backup data stored in theRAM device 37 to the backupdata storage device 453 so as to complete the first starting process. After the system completes start-up, if the requirements of the client device are different from the default values, the user may modify the parameters stored in theRAM device 37, according to the actual requirements. The system can record the changed parameters by writing the changed parameters stored in theRAM device 37 to the transactiondata storage device 451. For a client device, for example, a first parameter was changed from M to m after the first change; a second parameter was changed from N to n after the second change; a third parameter from Q to q after the third change. After the changes, the values of these parameters are written into the transactiondata storage device 451, which stores the addresses, values, and related data of the first, second, and third parameters. When the system restarts, the initial backup data stored in the backupdata storage device 453 are first read and written to theRAM device 37, and then the contents of theRAM device 37 are updated according to the contents of the transactiondata storage device 451. That is, theRAM device 37 finally has its first, second, and third parameters changed to m, n, and q. Thus, by updating the provisioning data stored in theRAM device 37 in this way, the actual requirements for the client device can be satisfied. - In case of system being interrupted during writing the changes stored in the
RAM device 37 to the transactiondata storage device 451, the transactiondata storage device 451 can still keep the changes that have been written into the transactiondata storage device 451 before the system interruption. For a client device, for example, a first parameter was changed from M to m after the first change; a second parameter was changed from N to n after the second change; a third parameter from Q to q after the third change. The changed parameters are to be written to the transactiondata storage device 451. Suppose the system interruption occurs in the process of the third change, that is, when the parameter q is being written to the transactiondata storage device 451. After such system interruption, the transactiondata storage device 451 can still keep the parameters changed in the two previous changes, that is, the changed first and second parameters. When the system restarts, the initial backup data are written to theRAM device 37 and the contents of theRAM device 37 are updated according to the contents of the transactiondata storage device 451, so that theRAM device 37 can still maintain the provisioning data similar to the actual requirements. Compared with the invention, the conventional approach, when such system interruption occurs, would result in the first, second, and third parameters to be set as the default values, that is, M, N, and Q, respectively. - As described above, when the parameters stored in the
RAM device 37 are changed, the system particularly writes the changes to the transactiondata storage device 451 rather than conventionally writes the contents of theRAM device 37 to the non-volatile memory device. In this way, the storage of the changes can be finished in a short time, resulting in a reduced probability that the storage of the changes is interrupted. - In addition, when the amount of data stored in the transaction
data storage device 451 has reached a certain level, the provisioning data stored in the backupdata storage device 453 can be updated according to the contents of the transactiondata storage device 451. Take an example of changing parameters similar to the previous one. That is, the first, second, and third parameters stored in the backupdata storage device 453 are changed from M to m, from N to n, and from Q to q, respectively, according to the contents of the transactiondata storage device 451. After the changes are completed, the provisioning data stored in the backupdata storage device 453 are the latest version of provisioning data so that the contents of the transactiondata storage device 451 may be cleared. After the system restarts, the system is configured according to the latest provisioning data read from the backupdata storage device 453 so as to correspond to the user's actual requirements. - Moreover, even if the system is interrupted suddenly, the provisioning data stored in the backup
data storage device 453 will not be affected. Because the system, as the parameters stored in theRAM device 37 are changed, only needs to write the changes to the transactiondata storage device 451 rather than directly writes the changes to the backupdata storage device 453, when system interruption occurs suddenly, the provisioning data stored in the backupdata storage device 453 remains unchanged. In other words, the process of writing the changed parameters to the transactiondata storage device 451 is independent of the backupdata storage device 453, thus ensuring that the provisioning data stored in the backupdata storage device 453 will not be damaged under such sudden situation. Thus, when the system restarts due to a contingent situation, the system need not be configured with the initial backup data, but with the parameters closely similar to the actual requirement, instead. - Embodiment II
- The non-volatile memory device including a transaction data storage device and a backup data storage device is disclosed in the first embodiment. In practice, the non-volatile memory device can include, for example, two backup data storage devices for storing two different versions of provisioning data. FIG. 5 shows a
data storage device 550 in accordance with a second embodiment of the invention. Thedata storage device 550 includes anon-volatile memory device 55, a random access memory (RAM)device 37, and a read-only memory (ROM)device 490, wherein thenon-volatile memory device 55 is coupled to theRAM device 37. Thenon-volatile memory device 55 includes a transactiondata storage device 551, backupdata storage devices non-volatile memory device 55 can be a non-volatile memory such as a flash EPROM, while the transactiondata storage device 551, backupdata storage devices non-volatile memory device 55. The transactiondata storage device 551 is used for storing the changed parameters stored in theRAM device 37. The backupdata storage devices ROM device 490 is for the storage of the initial backup data and the programs for configuring the system. Since the functionality of theROM device 490, transactiondata storage device 551, backupdata storage devices data storage device 550. - According to the second embodiment, two backup
data storage devices data storage devices data storage devices data storage device data storage devices data storage devices ROM device 490. After the check of the checksums CS, an appropriate provisioning data are read for use in system configuration. In addition, when it needs to update the provisioning data stored in the backupdata storage devices data storage devices - In the first start-up of the
data storage device 550, since both the checksums of the backupdata storage devices ROM device 490 and writes the initial backup data to theRAM device 37 in order to complete configuration of system. Besides, the backupdata storage devices RAM device 37, theRAM device 37 writes the initial backup data into the backupdata storage devices data storage devices - Since both the backup
data storage devices data storage device RAM device 37. Once changes in the contents of theRAM device 37 are made, the system writes the changes to the transactiondata storage device 551. As the system restarts, either the backupdata storage device RAM device 37, and then the contents of theRAM device 37 are updated according to the contents of the transactiondata storage device 551. As a result, theRAM device 37 keeps the latest version of the provisioning data, corresponding to the user's actual requirements. Note that when the transactiondata storage device 551 has accumulated a certain amount of data, the system can select one of the backupdata storage devices data storage device 551. An example of the above process is described as follows. - On updating the version of the provisioning data, because the contents of the two backup data storage devices are identical, the system can select either the backup
data storage device data storage device 553. The provisioning data stored in theRAM device 37 are written to the backupdata storage device 553, and are substituted for the zeroth version of the provisioning data previously stored in the backupdata storage device 553, thereby completing the updating process. Once the version of the provisioning data is updated, the checksum CS of the backupdata storage device 553 is to be generated according to the contents thereof. Since theRAM device 37 stores the latest parameters that the system uses, the backupdata storage device 553, after being updated, stores the latest version of the provisioning data. Thus, the flag F of the backupdata storage device 553 is set to, for example, 1, indicating that the backupdata storage device 553 stores the first version of the provisioning data. In addition, the contents of the transactiondata storage device 551 can be cleared (or erased) after the updating of the contents of the backupdata storage device 553. After the contents of the transactiondata storage device 551 are cleared, if the contents of theRAM device 37 are changed, the changes are written to the transactiondata storage device 551, one after another. Accordingly, updating the contents of the backupdata storage device 553 can be postponed until the transactiondata storage device 551 is full or nearly full. When the transactiondata storage device 551 is full, the backupdata storage device 553 is updated with the contents of the transactiondata storage device 551. By updating the version of the provisioning data in this way, the times of writing data to the non-volatile memory device, for example, formed by flash EPROM, is reduced, thus resulting in an increased lifetime of the flash EPROM. - When the system restarts, if both the checksums of the two backup data storage devices are valid, the flags of the two backup data storage devices are compared and the selection of the one that stores the newer version of the provisioning data is made between the two backup data storage devices by the comparison. The contents of the selected one are, then, written to the
RAM device 37. Since the flags of the backupdata storage devices data storage device 553 are newer (in this example, the larger the value of a flag, the newer the version of the provisioning data stored in a backup data storage device). Thus, the system reads the contents of the backupdata storage device 553, writes them to theRAM device 37, and then updates the contents of theRAM device 37 according to the contents of the transactiondata storage device 551. Afterwards, when the transactiondata storage device 551 has accumulated a certain amount of data, the system selects one from the backupdata storage devices data storage device 551 so that the recording of modification to the provisioning data resumes. Note that since the contents of the two backup data storage devices are different, when the updating of the provisioning data is performed, the system selects the one storing the older version of the provisioning data from the two backup data storage devices, according to their flags, and then updates the contents of the selected one. Since the flag of the backupdata storage device 553 is 1 while that of the backupdata storage device 555 is 0, the backupdata storage device 555 stores the older version of the provisioning data. Thus, the provisioning data stored in theRAM device 37 are all written to the backupdata storage device 555 so as to overwrite the zeroth version of the provisioning data stored in the backupdata storage device 555, thereby completing the updating process. After the provisioning data are updated, the flag F of the backupdata storage device 555 is set to a larger number, for example, 2, indicating that the backupdata storage device 555 stores the second version of the provisioning data. - In brief, the version of the provisioning data is updated with the contents of the
RAM device 37 to overwrite the version of the provisioning data stored in the backup data storage device that is selected from the two backup data storage devices according to their respective flags. As to the comparison between different versions in the second embodiment, the flag of a backup data storage device with a smaller value indicates an older version of the provisioning data is stored in the backup data storage device. With this criterion, the system can select the backup data storage device whose flag is a smaller value, from the two backup data storage devices, as the object to be updated. Having being updated, the selected backup data storage device has its flag set to a greater value. When the system restarts, on the other hand, the system selects the backup data storage device that has the greater flag value between the two backup data storage devices, and writes the contents of the one with the greater flag value to the RAM device. Since the flag with a greater value indicates a newer version of the provisioning data, the selected provisioning data can be more similar to that the user actually requires with this selection process. After the system loads the latest version of the provisioning data to the RAM device, the system modifies the contents of the RAM device according to the parameters stored in the transaction data storage device. Having being modified, the parameters stored in the RAM device correspond to the actual requirements of the user. - With the structure of the
data storage device 550, if the system is exceptionally interrupted as the system performs the updating of the provisioning data on a backup data storage device, the checksum CS of such backup data storage device will be determined to be invalid when the system restarts. Nevertheless, correct provisioning data corresponding to a newer version are to be selected, regardless of the exceptional interruption of the system because the system is first to examine whether the checksums of the two backup data storage devices are valid when the system restarts. The following will describe the system starting process and updating process with flowcharts, for the sake of clarity. - FIG. 6 is a flowchart illustrating the system starting process in the second embodiment. After the system starts up,
step 610 is first performed so as to determine whether the contents of the backupdata storage device 553 are valid, for example, by calculating the checksum according to the contents and then comparing such checksum with the checksum CS stored in the backupdata storage device 553. By the comparison, if they are equal, it indicates the contents of the backupdata storage device 553 are valid, and the process goes to step 620 to check the contents of the backupdata storage device 555. Otherwise, if the calculated checksum and the stored checksum CS are unequal, it indicates the contents of the backupdata storage device 553 are invalid. In this case, either the flag and/or the contents of backupdata storage device 553 should be cleared (or erased), as shown instep 615, and then the process goes to step 620 to check the contents of the backupdata storage device 555. Instep 620, a determination is made as to whether the contents of the backupdata storage device 555 are valid, for example, by calculating the checksum according to the contents and then comparing the calculated checksum with the checksum CS stored in the backupdata storage device 555. If the contents of the backupdata storage device 555 are valid, the starting process proceeds to step 630 to determine whether the contents of the backup data storage devices are both valid. If the contents of the backupdata storage device 555 are invalid, the flag and/or the contents of the backupdata storage device 555 should be cleared (or erased) instep 625, and then the process goes to step 650. Instep 650, a determination is made as to whether the contents of the backup data storage devices are both invalid. If not, it indicates that the contents of the backupdata storage device 553 are valid while the contents of the backupdata storage device 555 are invalid, and the backupdata storage device 553 is defined as an active device, instep 653. If yes, it indicates the contents of them are both invalid, and the process goes to step 670. - In
step 630, it is to determine whether the contents of the backup data storage devices are both valid. If yes, a determination is made, instep 640, as to whether the contents of the backup data storage devices are equal. If it is determined that they are equal, the system can select the backupdata storage device step 645; in other words, either device can be defined as the active device instep 645. If it is determined that they are not equal instep 640, the backup data storage device which stores the newer version of the provisioning data is defined as an active device instep 647. Instep 630, if it is determined that only one of them is valid, that is, only one of the backup data storage devices has valid contents, the one with valid contents is defined as an active device in step 655. Note that the active device is the one of the two backup data storage devices which stores the valid provisioning data corresponding to the newer version. After the active device is defined, the provisioning data stored in the active device are read and written to theRAM device 37 in step 660. After step 660, theRAM device 37 has its corresponding parameters updated according to the contents of the transactiondata storage device 551, instep 680, resulting in the provisioning data of theRAM device 37 to correspond the user's actual requirements. After the system starts up, if the provisioning data are changed because the requirements of the user are changed, the system writes the changes in the provisioning data read from theRAM device 37 to the transactiondata storage device 551, as indicated instep 690. In addition, when the system starts up, the contents of theRAM device 37 are updated according to the contents of the transactiondata storage device 551. - In
step 650, on the other hand, it is to determine whether the contents of the backup data storage devices are both invalid. If yes, the process goes to step 670. In order to cause the system to start up smoothly, in step 670, the initial backup data are copied from the ROM device to theRAM device 37 and are used for the starting process. Note that after the initial backup data are loaded into the RAM device, instep 675, the system reads the initial backup data from the RAM device, and writes them to the backup data storage device so as to overwrite the invalid contents of such backup data storage device, thus enabling at least one of the backup data storage devices to provide a valid copy of the initial backup data. Instep 675, after the updating of the contents, the checksum of the backup data storage device can be calculated, based on the contents thereof, and its flag can be reset to zero to indicate the contents thereof are the zeroth version of the provisioning data. Hence, next time when the system starts up, parameters can be directly read from the backup data storage device to obtain the parameters for the starting process. Afterstep 675, the process proceeds to step 677 to clear the contents of the transaction data storage device, and the system is configured according to the initial backup data stored in theRAM device 37, whereby the system can start up smoothly. Afterwards, if changes in the provisioning data occur because the user changes the requirements, the system will record the changes of the provisioning data on the transactiondata storage device 551 instep 690. Thus, next time when the system starts up, theRAM device 37 can be updated with the contents of the transactiondata storage device 551, as described previously. In the following, the updating process for the backup data storage device is described. - In general, the process of updating the version of the provisioning data is performed on one of the two backup data storage devices that stores an older version of the provisioning data. If the contents of one of the two backup data storage devices are invalid, the updating process is performed on this one. If the contents of the two backup data storage devices are invalid, or identical, the updating process may be performed on either of them. The updating process of the second embodiment is illustrated in FIG. 7. In
step 710, the system first determines whether the contents of the backupdata storage device 553 are valid. If not, the system further determines whether the contents of the backupdata storage device 555 are valid, instep 720. If it is determined that the contents of the backupdata storage device 555 are not valid, it indicates the contents of the two backup data storage devices are both invalid, and either of them may be selected as a device whose contents are to be updated, instep 723. Instep 720, if it is determined that the contents of the backupdata storage device 555 are valid, the backupdata storage device 553 can be defined as a device whose contents are to be updated, instep 725. - In
step 710, if it is determined that the contents of the backupdata storage device 553 are valid, the updating process proceeds to step 730 to determine whether the contents of the backupdata storage device 555 are valid. If the contents of the backupdata storage device 555 are valid, the updating process goes to step 740. Instep 740, a determination is made as to whether the backupdata storage devices step 723. If not, it indicates that the two backup data storage devices are both valid but are of different versions, and the one having an older version of the provisioning data is selected as a device whose contents are to be updated, instep 750. Instep 730, if it is determined that the contents of the backupdata storage device 555 are invalid, the backupdata storage device 555 can be defined as a device whose contents are to be updated, as indicated instep 760. - After the device whose contents are to be updated is defined, the updating proceeds to step770. In
step 770, the contents of the RAM device are written to the defined device so as to replace the original contents of the defined device, and then the defined device stores the latest version of the provisioning data. At this time, the checksum can be calculated, based on the contents of the defined device, and the flag of the defined device is updated, thereby completing the updating process of the version of the provisioning data. After the updating process, instep 780, the contents of the transaction data storage device can be cleared (or erased). - According to the embodiments described above, the method of updating parametric data provides at least the advantages as follows.
- 1. If the system becomes abnormal, the system configuration can be set with the last version of the provisioning data as the system restarts, and thus the system can be avoided from returning to the configuration corresponding to the system default values.
- 2. The time for updating the data stored in the non-volatile memory device is reduced, thus resulting in a reduced probability of an updating process to be interrupted abnormally.
- 3. The number of times of updating the non-volatile memory device is reduced, thus resulting in an increased lifetime of the non-volatile memory device.
- 4. Since changed parameters are written to the transaction data storage device, one after another, the changed parameters stored in the transaction data storage device can be written to the backup data storage device, such as a flash memory device, when the contents of the flash memory is full, thus resulting in a reduced number of times of updating the flash memory and an increased lifetime.
- While the invention has been described by way of example and in terms of a preferred embodiment, it is to be understood that the invention is not limited thereto. On the contrary, it is intended to cover various changes and similar arrangements and procedures, and the scope of the appended claims therefore should be accorded the broadest interpretation so as to encompass all such changes and similar arrangements and procedures.
Claims (20)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW090110444A TW501037B (en) | 2001-05-01 | 2001-05-01 | Interactive update method for parameter data |
TW90110444 | 2001-05-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20020174283A1 true US20020174283A1 (en) | 2002-11-21 |
US6845434B2 US6845434B2 (en) | 2005-01-18 |
Family
ID=21678115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/134,594 Expired - Lifetime US6845434B2 (en) | 2001-05-01 | 2002-04-30 | Method for updating parametric data for use in data management system |
Country Status (2)
Country | Link |
---|---|
US (1) | US6845434B2 (en) |
TW (1) | TW501037B (en) |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060031632A1 (en) * | 2004-08-05 | 2006-02-09 | M-Systems Flash Disk Pioneers, Ltd. | Storage with persistent user data |
US20060244990A1 (en) * | 2005-04-29 | 2006-11-02 | Eng Yaag W | Method and system for managing shared printers |
US20080033922A1 (en) * | 2006-08-04 | 2008-02-07 | Pavel Cisler | Searching a backup archive |
US20080034018A1 (en) * | 2006-08-04 | 2008-02-07 | Pavel Cisler | Managing backup of content |
US20080059894A1 (en) * | 2006-08-04 | 2008-03-06 | Pavel Cisler | Conflict resolution in recovery of electronic data |
US20080307000A1 (en) * | 2007-06-08 | 2008-12-11 | Toby Charles Wood Paterson | Electronic Backup of Applications |
US7853566B2 (en) | 2006-08-04 | 2010-12-14 | Apple Inc. | Navigation of electronic backups |
US7856424B2 (en) | 2006-08-04 | 2010-12-21 | Apple Inc. | User interface for backup management |
US7860839B2 (en) | 2006-08-04 | 2010-12-28 | Apple Inc. | Application-based backup-restore of electronic information |
US8010900B2 (en) | 2007-06-08 | 2011-08-30 | Apple Inc. | User interface for electronic backup |
US8166415B2 (en) | 2006-08-04 | 2012-04-24 | Apple Inc. | User interface for backup management |
US20120117317A1 (en) * | 2009-08-20 | 2012-05-10 | Rambus Inc. | Atomic memory device |
US8307004B2 (en) * | 2007-06-08 | 2012-11-06 | Apple Inc. | Manipulating electronic backups |
US8311988B2 (en) | 2006-08-04 | 2012-11-13 | Apple Inc. | Consistent back up of electronic information |
US8370853B2 (en) | 2006-08-04 | 2013-02-05 | Apple Inc. | Event notification management |
US8429425B2 (en) | 2007-06-08 | 2013-04-23 | Apple Inc. | Electronic backup and restoration of encrypted data |
US8468136B2 (en) | 2007-06-08 | 2013-06-18 | Apple Inc. | Efficient data backup |
US20140013029A1 (en) * | 2012-07-09 | 2014-01-09 | Phison Electronics Corp. | Memory storage device and repairing method thereof |
US8725965B2 (en) | 2007-06-08 | 2014-05-13 | Apple Inc. | System setup for electronic backup |
US8745523B2 (en) | 2007-06-08 | 2014-06-03 | Apple Inc. | Deletion in electronic backups |
US8943026B2 (en) | 2011-01-14 | 2015-01-27 | Apple Inc. | Visual representation of a local backup |
US8984029B2 (en) | 2011-01-14 | 2015-03-17 | Apple Inc. | File system management |
US9009115B2 (en) | 2006-08-04 | 2015-04-14 | Apple Inc. | Restoring electronic information |
CN104809034A (en) * | 2015-04-14 | 2015-07-29 | 广东欧珀移动通信有限公司 | Wallpaper recovery method and wallpaper recovery device |
US9454587B2 (en) | 2007-06-08 | 2016-09-27 | Apple Inc. | Searching and restoring of backups |
US20170199686A1 (en) * | 2016-01-11 | 2017-07-13 | Kabushiki Kaisha Toshiba | Storage device that stores setting values for operation thereof |
US20180357168A1 (en) * | 2016-09-23 | 2018-12-13 | Apex Microelectronics Co.,Ltd. | Storage medium, data processing method, and cartridge chip using the same |
US20230305987A1 (en) * | 2022-03-28 | 2023-09-28 | Denso Ten Limited | Communication control apparatus and communication method |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070169073A1 (en) * | 2002-04-12 | 2007-07-19 | O'neill Patrick | Update package generation and distribution network |
US7000067B2 (en) * | 2002-06-07 | 2006-02-14 | Seagate Technology Llc | Virtual expansion of program RAM size |
US7886093B1 (en) * | 2003-07-31 | 2011-02-08 | Hewlett-Packard Development Company, L.P. | Electronic device network supporting compression and decompression in electronic devices |
JP2005056466A (en) * | 2003-08-08 | 2005-03-03 | Hitachi Ltd | Optical disk device |
JP4453323B2 (en) * | 2003-10-02 | 2010-04-21 | 株式会社日立製作所 | Replication data management method, apparatus, and program |
US7904895B1 (en) * | 2004-04-21 | 2011-03-08 | Hewlett-Packard Develpment Company, L.P. | Firmware update in electronic devices employing update agent in a flash memory card |
US8526940B1 (en) | 2004-08-17 | 2013-09-03 | Palm, Inc. | Centralized rules repository for smart phone customer care |
US7761678B1 (en) | 2004-09-29 | 2010-07-20 | Verisign, Inc. | Method and apparatus for an improved file repository |
US20070207800A1 (en) * | 2006-02-17 | 2007-09-06 | Daley Robert C | Diagnostics And Monitoring Services In A Mobile Network For A Mobile Device |
US8209676B2 (en) | 2006-06-08 | 2012-06-26 | Hewlett-Packard Development Company, L.P. | Device management in a network |
EP2047420A4 (en) | 2006-07-27 | 2009-11-18 | Hewlett Packard Development Co | User experience and dependency management in a mobile device |
US8327173B2 (en) * | 2007-12-17 | 2012-12-04 | Nvidia Corporation | Integrated circuit device core power down independent of peripheral device operation |
US20090204837A1 (en) * | 2008-02-11 | 2009-08-13 | Udaykumar Raval | Power control system and method |
US8762759B2 (en) | 2008-04-10 | 2014-06-24 | Nvidia Corporation | Responding to interrupts while in a reduced power state |
US9423846B2 (en) | 2008-04-10 | 2016-08-23 | Nvidia Corporation | Powered ring to maintain IO state independent of the core of an integrated circuit device |
US9773344B2 (en) | 2012-01-11 | 2017-09-26 | Nvidia Corporation | Graphics processor clock scaling based on idle time |
US9811874B2 (en) | 2012-12-31 | 2017-11-07 | Nvidia Corporation | Frame times by dynamically adjusting frame buffer resolution |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6032137A (en) * | 1997-08-27 | 2000-02-29 | Csp Holdings, Llc | Remote image capture with centralized processing and storage |
US6434681B1 (en) * | 1999-12-02 | 2002-08-13 | Emc Corporation | Snapshot copy facility for a data storage system permitting continued host read/write access |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1109300C (en) | 1997-07-31 | 2003-05-21 | 周恽 | Method and appts. of transparent protection for computer rigid disk storage contents |
-
2001
- 2001-05-01 TW TW090110444A patent/TW501037B/en not_active IP Right Cessation
-
2002
- 2002-04-30 US US10/134,594 patent/US6845434B2/en not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6032137A (en) * | 1997-08-27 | 2000-02-29 | Csp Holdings, Llc | Remote image capture with centralized processing and storage |
US6434681B1 (en) * | 1999-12-02 | 2002-08-13 | Emc Corporation | Snapshot copy facility for a data storage system permitting continued host read/write access |
Cited By (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8275969B2 (en) * | 2004-08-05 | 2012-09-25 | Sandisk Il Ltd. | Storage with persistent user data |
US20060031632A1 (en) * | 2004-08-05 | 2006-02-09 | M-Systems Flash Disk Pioneers, Ltd. | Storage with persistent user data |
US7755787B2 (en) * | 2005-04-29 | 2010-07-13 | Hewlett-Packard Development Company, L.P. | Method and system for managing shared printers |
US20060244990A1 (en) * | 2005-04-29 | 2006-11-02 | Eng Yaag W | Method and system for managing shared printers |
US7853567B2 (en) | 2006-08-04 | 2010-12-14 | Apple Inc. | Conflict resolution in recovery of electronic data |
US9009115B2 (en) | 2006-08-04 | 2015-04-14 | Apple Inc. | Restoring electronic information |
US20080059894A1 (en) * | 2006-08-04 | 2008-03-06 | Pavel Cisler | Conflict resolution in recovery of electronic data |
US7809688B2 (en) | 2006-08-04 | 2010-10-05 | Apple Inc. | Managing backup of content |
US7809687B2 (en) | 2006-08-04 | 2010-10-05 | Apple Inc. | Searching a backup archive |
US7853566B2 (en) | 2006-08-04 | 2010-12-14 | Apple Inc. | Navigation of electronic backups |
US8495024B2 (en) | 2006-08-04 | 2013-07-23 | Apple Inc. | Navigation of electronic backups |
US7856424B2 (en) | 2006-08-04 | 2010-12-21 | Apple Inc. | User interface for backup management |
US7860839B2 (en) | 2006-08-04 | 2010-12-28 | Apple Inc. | Application-based backup-restore of electronic information |
US9715394B2 (en) | 2006-08-04 | 2017-07-25 | Apple Inc. | User interface for backup management |
US8775378B2 (en) | 2006-08-04 | 2014-07-08 | Apple Inc. | Consistent backup of electronic information |
US8166415B2 (en) | 2006-08-04 | 2012-04-24 | Apple Inc. | User interface for backup management |
US20080034018A1 (en) * | 2006-08-04 | 2008-02-07 | Pavel Cisler | Managing backup of content |
US20080033922A1 (en) * | 2006-08-04 | 2008-02-07 | Pavel Cisler | Searching a backup archive |
US8538927B2 (en) | 2006-08-04 | 2013-09-17 | Apple Inc. | User interface for backup management |
US8311988B2 (en) | 2006-08-04 | 2012-11-13 | Apple Inc. | Consistent back up of electronic information |
US8370853B2 (en) | 2006-08-04 | 2013-02-05 | Apple Inc. | Event notification management |
US8504527B2 (en) | 2006-08-04 | 2013-08-06 | Apple Inc. | Application-based backup-restore of electronic information |
US8725965B2 (en) | 2007-06-08 | 2014-05-13 | Apple Inc. | System setup for electronic backup |
US9360995B2 (en) | 2007-06-08 | 2016-06-07 | Apple Inc. | User interface for electronic backup |
US8429425B2 (en) | 2007-06-08 | 2013-04-23 | Apple Inc. | Electronic backup and restoration of encrypted data |
US8504516B2 (en) | 2007-06-08 | 2013-08-06 | Apple Inc. | Manipulating electronic backups |
US8307004B2 (en) * | 2007-06-08 | 2012-11-06 | Apple Inc. | Manipulating electronic backups |
US8566289B2 (en) | 2007-06-08 | 2013-10-22 | Apple Inc. | Electronic backup of applications |
US10891020B2 (en) | 2007-06-08 | 2021-01-12 | Apple Inc. | User interface for electronic backup |
US20080307000A1 (en) * | 2007-06-08 | 2008-12-11 | Toby Charles Wood Paterson | Electronic Backup of Applications |
US8745523B2 (en) | 2007-06-08 | 2014-06-03 | Apple Inc. | Deletion in electronic backups |
US8099392B2 (en) | 2007-06-08 | 2012-01-17 | Apple Inc. | Electronic backup of applications |
US9454587B2 (en) | 2007-06-08 | 2016-09-27 | Apple Inc. | Searching and restoring of backups |
US8965929B2 (en) | 2007-06-08 | 2015-02-24 | Apple Inc. | Manipulating electronic backups |
US8468136B2 (en) | 2007-06-08 | 2013-06-18 | Apple Inc. | Efficient data backup |
US9354982B2 (en) | 2007-06-08 | 2016-05-31 | Apple Inc. | Manipulating electronic backups |
US8010900B2 (en) | 2007-06-08 | 2011-08-30 | Apple Inc. | User interface for electronic backup |
US10552310B2 (en) | 2009-08-20 | 2020-02-04 | Rambus Inc. | Single command, multiple column-operation memory device |
US9898400B2 (en) | 2009-08-20 | 2018-02-20 | Rambus Inc. | Single command, multiple column-operation memory device |
US9658953B2 (en) | 2009-08-20 | 2017-05-23 | Rambus Inc. | Single command, multiple column-operation memory device |
US11748252B2 (en) | 2009-08-20 | 2023-09-05 | Rambus Inc. | Data write from pre-programmed register |
US20120117317A1 (en) * | 2009-08-20 | 2012-05-10 | Rambus Inc. | Atomic memory device |
US11720485B2 (en) | 2009-08-20 | 2023-08-08 | Rambus Inc. | DRAM with command-differentiated storage of internally and externally sourced data |
US11204863B2 (en) | 2009-08-20 | 2021-12-21 | Rambus Inc. | Memory component that performs data write from pre-programmed register |
US8984029B2 (en) | 2011-01-14 | 2015-03-17 | Apple Inc. | File system management |
US9411812B2 (en) | 2011-01-14 | 2016-08-09 | Apple Inc. | File system management |
US8943026B2 (en) | 2011-01-14 | 2015-01-27 | Apple Inc. | Visual representation of a local backup |
US10303652B2 (en) | 2011-01-14 | 2019-05-28 | Apple Inc. | File system management |
US20140013029A1 (en) * | 2012-07-09 | 2014-01-09 | Phison Electronics Corp. | Memory storage device and repairing method thereof |
US8966161B2 (en) * | 2012-07-09 | 2015-02-24 | Phison Electronics Corp. | Memory storage device and restoring method thereof |
CN104809034A (en) * | 2015-04-14 | 2015-07-29 | 广东欧珀移动通信有限公司 | Wallpaper recovery method and wallpaper recovery device |
US10198198B2 (en) * | 2016-01-11 | 2019-02-05 | Toshiba Memory Corporation | Storage device that stores setting values for operation thereof |
US20170199686A1 (en) * | 2016-01-11 | 2017-07-13 | Kabushiki Kaisha Toshiba | Storage device that stores setting values for operation thereof |
US20180357168A1 (en) * | 2016-09-23 | 2018-12-13 | Apex Microelectronics Co.,Ltd. | Storage medium, data processing method, and cartridge chip using the same |
US12013805B2 (en) * | 2022-03-28 | 2024-06-18 | Denso Ten Limited | Communication control apparatus and communication method |
US20230305987A1 (en) * | 2022-03-28 | 2023-09-28 | Denso Ten Limited | Communication control apparatus and communication method |
Also Published As
Publication number | Publication date |
---|---|
US6845434B2 (en) | 2005-01-18 |
TW501037B (en) | 2002-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6845434B2 (en) | Method for updating parametric data for use in data management system | |
US7275153B2 (en) | Booting and boot code update system using boot strapper code to select between a loader and a duplicate backup loader | |
KR100584338B1 (en) | Method and system for updating software | |
JP2914360B2 (en) | External storage device and data processing method | |
US6104638A (en) | Use of erasable non-volatile memory for storage of changing information | |
KR100849446B1 (en) | Storage device, memory managing apparatus, memory managing method, and computer-readable recording medium | |
JP3912355B2 (en) | Data management device, data management method, nonvolatile memory, storage device having nonvolatile memory, and data processing system | |
JP3838840B2 (en) | Computer | |
US20070245069A1 (en) | Storage Device, Memory Management Method and Program | |
RU2248627C2 (en) | Method and device for changing content of memory devices of control blocks | |
KR100370893B1 (en) | Flash memory unit and control method of flash memory | |
JP2002108720A (en) | Memory card and data writing method for nonvolatile memory | |
EP0990989A2 (en) | Microcomputer provided with flash memory and method of storing program into flash memory | |
JP4833273B2 (en) | Storage device, restore method, and restore program | |
US6483746B2 (en) | Electronic apparatus | |
JP4158526B2 (en) | Memory card and data writing method to memory | |
CN109445991B (en) | Data storage method and system, intelligent wearable device and storage medium | |
JP3675375B2 (en) | Nonvolatile memory and data rewriting method of nonvolatile memory | |
JPH11110300A (en) | External storage device and device and method for data processing | |
JP3640154B2 (en) | Nonvolatile memory, nonvolatile memory management method, storage device having nonvolatile memory, data management device for managing nonvolatile memory, and data processing system | |
KR100628176B1 (en) | Method for upgrading program stored in information terminal | |
US7849279B2 (en) | Method for the secure updating data areas in non volatile memory, device to perform such a method | |
JP4580724B2 (en) | Nonvolatile memory control method | |
JP2004152331A (en) | Storage device | |
KR20050021685A (en) | Method for booting the nand flash memory using multi boot loader in mobile station |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: BENQ CORPORATION, TAIWAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LIN, CHIH-HSIEN;REEL/FRAME:012848/0984 Effective date: 20020410 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
REMI | Maintenance fee reminder mailed | ||
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
SULP | Surcharge for late payment | ||
AS | Assignment |
Owner name: QISDA CORPORATION, TAIWAN Free format text: CHANGE OF NAME;ASSIGNOR:BENQ CORPORATION;REEL/FRAME:022390/0806 Effective date: 20070831 Owner name: QISDA CORPORATION,TAIWAN Free format text: CHANGE OF NAME;ASSIGNOR:BENQ CORPORATION;REEL/FRAME:022390/0806 Effective date: 20070831 |
|
AS | Assignment |
Owner name: YOSHINAGA TECHNOLOGIES, LLC, DELAWARE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:QISDA CORPORATION;REEL/FRAME:022917/0147 Effective date: 20090617 Owner name: YOSHINAGA TECHNOLOGIES, LLC,DELAWARE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:QISDA CORPORATION;REEL/FRAME:022917/0147 Effective date: 20090617 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FPAY | Fee payment |
Year of fee payment: 12 |