throbber
as United States
`a2) Patent Application Publication co) Pub. No.: US 2003/0126494 A1
`(43) Pub. Date: Jul. 3, 2003
`
`Strasser
`
`US 20030126494A1
`
`(54)
`
`METHOD AND APPARATUS FOR SECURING
`VOLATILE DATA IN POWER FAILURE IN
`SYSTEMS HAVING REDUNDANCY
`
`(75)
`
`Inventor: Amnon A.Strasser, Tel Aviv (IL)
`
`Correspondence Address:
`SUGHRUE MION, PLLC
`2100 PENNSYLVANIA AVENUE, N.W.
`WASHINGTON, DC 20037 (US)
`
`(73)
`
`Assignee: EXANET INC.
`
`(21)
`
`Appl. No.:
`
`10/032,617
`
`(22)
`
`Filed:
`
`Jan. 2, 2002
`
`Publication Classification
`
`
`.. HO4L 1/22
`Int. Cl.” ......
`US. CD. ees eeesse ces eesssessesssncceseesnessneennsensess 714/6
`
`(51)
`(52)
`
`(57)
`
`ABSTRACT
`
`A method and apparatus for transferring data between a
`main volatile memory and a backup memory in a redundant
`system comprised of a main sub-system and a mirror sub-
`system is provided. For the purpose of preserving uninter-
`ruplible power supply energy, dala is continuously trans-
`ferred to back-up memory which maybe a corresponding
`volatile memory of the mirror sub-system, or a non-volatile
`memory of the main sub-system. The method further
`includes the steps of detecting a loss of system power,
`transferring data from volatile memory to non-volatile
`memory, and turning off the power supply of the non-
`volatile memory module. The methodis capable of detecting
`the status of the uninterruptible power supply of the mirror
`system and if that system is operative then only data not
`previously backed up is transferred to main non-volatile
`memory; otherwise, if a power failure is detected in both
`sub-systems all data in volatile memory, not previously
`written to non-volatile memoryis transferred to non-volatile
`memory.
`
`POWER SUPPLY
`
`CONTROL
`UNIT
`
`VOLATILE
`MEMORY
`
`REDUNDANT
`CONTROL
`UNIT
`
`REDUNDANT
`VOLATILE
`MEMORY
`
`NON-VOLATILE
`MEMORY
`
`REDUNDANT
`NON-VOLATILE
`MEMORY
`
`UNINTERRUPTIBLE
`
`Google Exhibit 1031
`Google Exhibit 1031
`Google v. Valtrus
`Google v. Valtrus
`
`

`

`Patent Application Publication
`
`Jul. 3, 2003 Sheet 1 of 6
`
`US 2003/0126494 Al
`
`
`
`UNINTERRUPTIBLE
`VOLATILE
`POWER SUPPLY
`
`MEMORY
`
`
`
`
`
`NON-VOLATILE
`MEMORY
`
`
`
`FIG. 1
`PRIOR ART
`
`

`

`Patent Application Publication
`
`Jul. 3, 2003 Sheet 2 of 6
`
`US 2003/0126494 Al
`
`204
`
`CONTROL
`UNIT
`
`VOLATILE
`MEMORY
`
`NON-VOLATILE
`MEMORY
`
`co——26ao>
`
`REDUNDANT
`NON-VOLATILE
`MEMORY
`
`REDUNDANT
`CONTROL
`UNIT
`
`REDUNDANT
`VOLATILE
`MEMORY
`
` “I>ra5Po.52
`rc”
`
`
`
`FIG. 2
`
`

`

`Patent Application Publication
`
`Jul. 3, 2003 Sheet 3 of 6
`
`US 2003/0126494 Al
`
`204
`
`J 300
`
`208
`
`
`
`
`MAIN
`
`
`
`SUB-SYSTEM
`
`REDUNDANT
`MAIN
`SUB-SYSTEM
`
`
`REDUNDANT
`
` MAIN
`MAIN
`UNITERRUPTIBLE
`
`
`UNITERRUPTIBLE
`POWER SUPPLY
`POWER SUPPLY
`
`
`
`
`
`
`FIG. 3
`
`

`

`Patent Application Publication
`
`Jul. 3, 2003 Sheet 4 of 6
`
`US 2003/0126494 Al
`
`
`
`AVAILABLE?
`
`NO
`
`YES
`
`9110
`
`TRANSFER DATA FROM VOLATILE
`MEMORY TO REDUNDANT MEMORY OR
`
` IS CONTROL UNIT
`RESPECTIVE NON-VOLATILE MEMORY
`NOTE TYPE OF BACKUP MADE TO DATA
`
`$120
`
`
`$130
`
`
`FINISHED
`
`
`TRANSFERRING DATA?
`
`
`
`NO
`
`YES
`
`FIG. 4
`
`

`

`Patent Application Publication
`
`Jul. 3, 2003 Sheet 5 of 6
`
`US 2003/0126494 Al
`
`
`
`BELOW
`PREDETERMINED VALUE?
`
`$210
`
`WAS OTHER CONTROL
`UNIT AFFECTED?
`
`
`
`
`
`TRANSFER ONLY DATA NOTIN OTHER
`
`TRANSFER ALL DATA FROM VOLATILE TO
`CONTROLUNIT MEMORY FROM VOLATILE
`
`
`NON-VOLATILE MEMORY
`TO NON-VOLATILE MEMORY
`
`
`
`
`TRANSFER
`DONE?
`
`
`
`
`FIG. 5A
`
`

`

`Patent Application Publication
`
`Jul. 3, 2003 Sheet 6 of 6
`
`US 2003/0126494 Al
`
`$240
`
` HAS OTHER CONTROL
`
`UNIT INDICATED BACKUP
`
`COMPLETION?
`
`SUPPLY
`NO
`
`
`SHUTDOWN UNINTERRUPTABLE POWER
`
`INDICATE COMPLETION OF BACKUP
`ACTIVITY
`
`TERMINATE
`
`FIG. 5B
`
`

`

`US 2003/0126494 Al
`
`Jul. 3, 2003
`
`METHOD AND APPARATUS FOR SECURING
`VOLATILE DATA IN POWER FAILURE IN
`SYSTEMS HAVING REDUNDANCY
`
`BACKGROUND OF THE INVENTION
`
`(0001]
`
`1. Field of the Invention
`
`invention relates to a method and
`[0002] The present
`apparatus for transferring data in volatile and non-volatile
`redundant memory architectures, including random access
`and write cache architectures, and more particularly, to a
`method and apparatus for transferring data between a vola-
`tile memory and a non-volatile memory in a redundant
`storage environment.
`
`[0003]
`
`2. Description of the Related Art
`
`In a client/server environment, it is often required
`[0004]
`that write transactions cached by a server are kept
`in
`memory until transferred to stable storage. As this informa-
`tion maybecritical such volatile memory modules usually
`require batteries or any other uninterruptible power supply
`for proper operation. In conventional systems, either the
`volatile memory module battery supplies powerall the time,
`regardless of changes in system power, or the volatile
`memory module battery supplies power during an entire
`powerfailure time period.
`
`[0005] Referring to FIG. 1, a conventional volatile
`memory module, including a central processing unit 1, a
`volatile memory 2, a non-volatile memory 3, or otherwise a
`main storage device 3, and an uninterruptible power supply
`4 is illustrated. In the conventional module, the processing
`unit, the non-volatile memory and the main storage device
`are connected to each other. A battery or other uninterrupt-
`ible power supply backs up the volatile memory. Because
`the battery backing up the volatile memoryis not under any
`control, except possibly being controlled to supply power
`during an entire power failure time period, it remains on
`until the battery itself loses power or until poweris restored.
`
`the volatile memory always remains
`[0006] Therefore,
`powered up. However, the longer the battery is required to
`stay on before system poweris restored, the morethe life of
`the battery will be shortened. If the battery is required to
`maintain powerfor too long before system poweris restored,
`the battery can lose power, thereby causing a loss of data
`stored in the volatile memory.
`
`[0007] The concept used in the system described in FIG.
`1 is used in the industryin a variety of implementations. In
`modem computing systems, as well as storage devices, the
`concept of redundancy has long been introduced. However,
`the concepts of reducing the hazards of data loss due to
`power supply failure have remained essentially the same.
`Systemscurrently available for handling powersupply fail-
`ures do not take advantage of the redundancy features of
`modem system to reduce the power requirements from the
`uninterruptible power supply.
`
`SUMMARYOTFTIE INVENTION
`
`[0008] The present invention has been made in view ofthe
`above circumstances and is intended to overcome the above
`
`problemsand limitations of the prior art.
`
`[0009] Additional aspects and advantages of the present
`invention will be set forth in part in the description that
`
`follows andin part will be obvious from the description, or
`may be learned by practice of the present invention. The
`aspects and advantages of the present invention may be
`realized and attained by meansof the instrumentalities and
`combinations particularly pointed out
`in the appended
`claims.
`
`[0010] According to a first aspect of the invention, a
`system with redundancy and powerfailure capabilities com-
`prising a main sub-system, a mirror sub-system, a means of
`communication between the main sub-system and mirror
`sub-system and an uninterruptible power supply connected
`to at least one of the main sub-system or mirrored sub-
`system is provided. The main sub-system further comprises
`a main control unit, a main volatile memory and a main
`non-volatile memory. Similarly, the mirror sub-system also
`comprises a redundant control unit, a redundant volatile
`memory and a redundant non-volatile memory.
`
`[0011] According to a second aspect of the invention, a
`method for
`transferring data between a main volatile
`memory and a backup memory in a system having a main
`sub-system and a mirror sub-system, each capable of being
`powered by an uninterruptible power supply, is provided.
`The method determines if a main control unit is available. If
`the main control unit is available, the method transfers data
`from a main volatile memoryto a backup memory and keeps
`a record of which data was transferred to the backup
`memory. The method transfers all the data to the backup
`memory and terminates upon completion of the data transfer
`to the backup memory. If, however, the main control unit is
`not available, the method for transferring data between a
`main volatile memory and a backup memorywaits until the
`main control unit is available.
`
`In a third aspect of the present invention, a com-
`{0012]
`puter program product for enabling a system to transfer data
`between a volatile memory and a backup memory in a
`system having a main sub-system and a mirror sub-system,
`each capable of being powered by an uninterruptible power
`supply is provided. The computer program product com-
`prises software instructions for enabling the system to
`perform predetermined operations and a computer readable
`medium bearing software instructions. The predetermined
`operations include determining if a main control unit is
`available. If the main control unit is available the predeter-
`mined operations include transferring data from a main
`volatile memory to a backup memory, keeping record of
`which data wastransferred to the backup memory, repeating
`the above steps until all data is transferred to the backup
`memory and terminating upon completion of data transfer to
`the backup memory.If, however, the main control unit is not
`available, the predetermined operations wait until the main
`control unit is available.
`
`invention, a
`In a fourth aspect of the present
`[0013]
`method for
`transferring data between a main volatile
`memory and a main non-volatile memory, in a system have
`a main sub-system and a mirror sub-system, each capable of
`being powered by an uninterruptible power supply is pro-
`vided. The method further comprises determining if the
`voltage level in a main sub-system is less than a predeter-
`mined level. Based onthat determination,if the voltage level
`is less than a predetermined level, a check is made to
`determine if the voltage level of the mirror sub-system is less
`than a predetermined level. Based on that determination,all
`
`

`

`US 2003/0126494 Al
`
`Jul. 3, 2003
`
`data not previously backed up in the main non-volatile
`memory is transferred from the main volatile memoryto the
`main non-volatile memory. Otherwise, only the data not
`previously transferred is transferred to the backup memory.
`The above mentioned sequence is then repeated until all
`relevant datais transferred to the main non-volatile memory.
`The method further comprises determining if the redundant
`control unit completed the transfer of data to the non-volatile
`memory, and based on that determination, turning off the
`uninterruptible power supply of the non-volatile memory
`module, or otherwise indicating the completion of data
`transfer to the main non-volatile memory.
`
`In a fifth aspect of the invention, a computer
`[0014]
`program product for enabling a computer system to transfer
`data between a main volatile memory and a main non-
`volatile memory in a system having a main sub-system and
`a mirror sub-system each capable of being powered by an
`uninterruptible power supply is provided. The computer
`program product further comprises software instructions for
`enabling the computer system to perform predetermined
`operations and a computer readable medium bearing soft-
`ware instructions. The predetermined operations include
`determining if a voltage level of the main sub-system is less
`than a predetermined level. Based on that determination, if
`the voltage level is less than a predetermined level, a check
`is made to determine if the voltage level of the mirror
`sub-system is less than a predetermined level. Based on the
`determination, data not previously backed up in the main
`non-volatile memory is transferred from the main volatile
`memory to the main non-volatile memory. Otherwise, only
`the data not previously transferred is transferred to a backup
`memory. The above mentioned sequenceis repeated until all
`relevant datais transferred to the main non-volatile memory.
`‘The predetermined operations further include determining if
`the redundant control unit completed the transfer of data to
`non-volatile memory and based on that determination, turn-
`ing off the uninterruptible power supply of the non-volatile
`memory module, or otherwise indicating the completion of
`the data transfer to the main non-volatile memory.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`{0015] The accompanying drawings, which are incorpo-
`rated in and constitute a part of this specification illustrate
`aspects of the invention and,
`together with the written
`description, serve to explain the aspects, advantages and
`principles of the invention. In the drawings,
`
`[0016] FIG. 1 illustrates a block diagram of a conven-
`tional non-volatile memory module;
`
`{0017] FIG. 2 illustrates an exemplary embodimentof a
`memory module having volatile and non-volatile memory
`redundancyaccording to the present invention;
`
`[0018] FIG. 3 illustrates another exemplary embodiment
`of a distributed main sub-system and mirror sub-system each
`having its separate uninterruptible power supply units
`according to the present invention;
`
`[0019] FIG. 4 illustrates a flow chart of a method of
`transferring data from non-volatile memoryto stable storage
`according to the present invention; and
`
`[0020] FIGS. 5A and 5B illustrate a flow chart of a
`method of transferring data from volatile to non-volatile
`memory in a system having redundancy according to the
`present invention.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`Prior to describing the aspects of the invention,
`[0021]
`some details concerning the prior art will be provided to
`facilitate the reader’s understanding of the invention and to
`set forth the meaning of various terms.
`
`the term “computer system”
`[0022] As used herein,
`encompasses the widest possible meaning and includes, but
`is not limited to, standalone processors, networked proces-
`sors, mainframe processors, and processors in a client/server
`relationship. The term “computer system” is to be under-
`stood to include at
`least a memory and a processor. In
`general, the memory will store, at one time or another, at
`least portions of executable program code, and the processor
`will execute one or more of the instructions includedin that
`
`executable program code. The term “processor” may be used
`to describe a variety of devices capable of performing
`control and processing functions by processing a series of
`predefined instructions. The term may refer to microproces-
`sors, microcontrollers, control units, and the likes. The term
`“volatile memory”is used for any type of memory that may
`lose the data stored in it upon disruption of powersupply,for
`example, random access memory (RAM), cache memory
`and the likes. The term “non-volatile memory” is used for
`any type of memory capable of retaining data stored in it
`even when there is a disruption in power supply,
`for
`example, Flash memory, programmable read only memory
`(PROM),
`erasable programmable
`read only memory
`(EPROM), electrically erasable programmable read only
`memory (EEPROM), hard disk, diskette, compact disk
`(CD), digital video disk (DVD)andthe likes.
`
`It will be appreciated that the term “predetermined
`[0023]
`operations,” the term “computer system software,” and the
`term “‘executable code” mean substantially the same thing
`for the purposesofthis description. It is not necessary to the
`practice of the present invention that the memory and the
`processor be physically located in the same place. Thatis to
`say, it is foreseen that the processor and the memory might
`be in different physical pieces of equipment or even in
`geographically distinct locations.
`
`[0024] As used herein, one of skill in the art will appre-
`ciate that “media” or “computer-readable media” may
`include a diskette, a tape, a compact disc, an integrated
`circuil, a cartridge, a remote transmission via a communi-
`cations circuit, or any other similar medium useable by
`computers. For example,
`to distribute computer system
`software, the supplier might provide a diskette or might
`transmit
`the instructions for performing predetermined
`operations in some form via satellite transmission, via a
`direct telephone link, or via the Internet.
`
`[0025] Although computer system software might be
`“written on” a diskette, “stored in” an integrated circuit, or
`“carried over” a communicationscircuit, it will be appreci-
`ated that, for the purposes of this discussion, the computer
`usable medium will be referred to as “bearing”the instruc-
`tions for performing predetermined operations. Thus, the
`term “bearing” is intended to encompass the above, andall
`equivalent ways, in which instructions for performing pre-
`determined operations are associated with a computer usable
`medium.
`
`the term
`[0026] Therefore, for the sake of simplicity,
`“program product” is hereafter used to refer to a computer
`
`

`

`US 2003/0126494 Al
`
`Jul. 3, 2003
`
`useable medium, as defined above, which bears instructions
`for performing predetermined operations in any form.
`
`[0027] A detailed description of the aspects of the inven-
`tion will now be given referring to the accompanying
`drawings.
`
`[0028] Referring to FIG. 2, an exemplary embodiment
`comprising a main sub-system and a mirror sub-system,
`both of which are supported by memory and an uninterrupt-
`ible power supply, is illustrated. A main sub-system 204 is
`comprised of a control unit 210, a volatile memory 220 and
`a non-volatile memory 230, all of which are connected
`together via communication links 260 and 270,respectively.
`In another exemplary embodimentof the present invention,
`communication links 260 and 270 are a combined commu-
`nication link, and may include, but are not limited to, a
`processor bus, a peripheral componentinterface (PCT) net-
`work, an Infiniband network,a local area network (LAN)or
`a wide area network (WAN). In yet another exemplary
`embodimentof the present invention, communication links
`260 and 270 have redundant communication links allowing
`for switching over from a main communication link to a
`redundant communication link upon a communication fail-
`ure.
`
`[0029] A mirror sub-system 208, also referred to as a
`redundant sub-system, is comprised of a redundant control
`unit 215, a redundant volatile memory 225 and a redundant
`non-volatile memory 235, all of which are connected
`together via redundant communication links 265 and 275,
`respectively. The redundant sub-system 208 mirrors the
`main sub-system 204. In an exemplary embodimentofthe
`present invention, both the main sub-system 204 and the
`mirror sub-system 208 are continuously used for processing
`purposes. An example of such an embodimentis provided in
`US. patent application Ser. No. 09/989,375, entitled “A
`System and Method for Load Balancing in Systems Having
`Redundancy,” filed Nov. 21, 2001, and whichis assigned to
`the same commonassignee as the present application, and is
`hereby incorporated herein by referencein its entirety for all
`it discloses.
`In another exemplary embodiment of the
`present invention, the communication links 265 and 275 are
`a single communications link, including, but not limited to,
`a processor bus, a peripheral component
`interface (PCI)
`network, an Infiniband network,a local area network (LAN)
`or a wide area network (WAN).
`
`[0030] The control unit 210 and the redundant control unit
`215 are further connected through communicationslink 250.
`The volatile memory 220 and the redundant volatile memory
`225 are further connected through communicationslink 255.
`In another exemplary embodimentof the present invention,
`communication links 260 and 270 are a single communica-
`tions link, and may include, but are not
`limited to, a
`processor bus, a peripheral componentinterface (PCT) net-
`work, an Infiniband network, a local area network (LAN) or
`a wide area network (WAN).
`[0031] An uninterruptible power supply 240 is connected
`to and supplies power to the control unit 210 and the
`redundant control unit 215, the volatile memory 220 andthe
`redundant volatile memory 225, and the non-volatile
`memory 230 and the redundant non-volatile memory 235
`through the connectivity links 280 and 285, respectively.
`[0032]
`In another exemplary embodiment of the present
`invention, a microcontroller, which controls the data transfer
`
`between the volatile memory 220 and the non-volatile
`memory 230, is embedded in the non-volatile memory 220.
`Similarly, a microcontroller may be embedded in non-
`volatile memory 235.
`
`[0033] Upon power loss, power from the uninterruptible
`power supply 240 can be used to transfer data stored in
`volatile memory 220 onto the non-volatile memory 230.
`Similarly,
`the process can be mirrored on the redundant
`volatile memory 225 and non-volatile memory 235 respec-
`tively. When the transfer operation is completed, uninter-
`ruptible power supply power 240 is no longer required to
`maintain the data stored in the non-volatile memory; hence,
`the powercan optionally be disconnected to prolongthelife,
`or “on”time, of uninterruptible power supply 240. A person
`skilled in the art could easily implement system 200 using
`multiple uninterruptible power supplies, each supplying
`power to a specific element of the main sub-system or the
`mirror sub-system. More specifically, it should be noted that
`system 200 can be implemented as a geographicallydistrib-
`uted system.
`
`In yet another exemplary embodiment of the
`[0034]
`invention,
`the volatile memory and/or the non-
`present
`volatile memory may be comprised of one or more volatile
`or non-volatile devices, respectively. The uninterruptible
`power supply may be commanded to shut down power to
`each volatile and/or non-volatile device to which sustaining
`poweris no longer required. For example, a volatile memory
`device, from which all data has been transferred to a
`redundant volatile memory or to a non-volatile memory,
`may be disconnected from uninterruptible power supply.
`Similarly, a non-volatile memory, to which no data is to be
`transferred, may be similarly disconnected from the unin-
`terruptible power supply. In yet another exemplary embodi-
`ment, if power supply is restored during the backup opera-
`tion, then only data that was actually corrupted during the
`shutdown process, e.g., a volatile memory device being
`disconnected from uninterruptible power supply, is restored
`from the non-volatile memory or from the redundantvolatile
`memory, hence saving time to bring the system up and
`running.
`
`[0035] Referring to FIG. 3, another aspect of the present
`invention is illustrated, which is similar to FIG. 2, except
`that in FIG.3, the main sub-system 204 and the redundant
`sub-system 208 are connected by a communication link 330,
`through which control and data information is transferred
`back and forth. Specifically, this exemplary embodimentis
`particularly suitable for geographically distributed systems
`where the communication link maybe, butis notlimited to,
`a local area network (LAN), a wide area network (WAN), or
`an asynchronous transfer mode (ATM)network. The main
`sub-system 204 is connected to uninterruptible power supply
`310 and the redundant sub-system 208 is connected redun-
`dant uninterruptible power supply 320, respectively. The
`uninterruptible power supply 310 and the redundant unin-
`terruptible power supply 320 may be controlled via com-
`munication link 330 by the redundant control unit 215 and
`the main control unit 210, respectively. Periodically, data is
`transferred from the main volatile memory to the redundant
`volatile memory or to the main non-volatile memory, as
`explained above. Upon detection of power loss, activities
`described above are performed; however, each of the unin-
`terruptible power suppliesis controlled separately. When the
`transfer operation is completed, uninterruptible power sup-
`
`

`

`US 2003/0126494 Al
`
`Jul. 3, 2003
`
`ply poweris no longer required to maintain the data stored
`in the non-volatile memories. Thus, the power can option-
`ally be disconnected to either one or both of the uninter-
`ruptible power supply 310 and the redundant uninterruptible
`power supply 320, in order to prolong the uninterruptible
`power supplylife.
`
`In a system having redundancy, it is further pos-
`[0036]
`sible to allow for a longer “life-time” for uninterruptible
`powersupply 240. This is achieved by taking advantage of
`the redundant features of system 200. FIG. 4 illustrates a
`method of transferring data, according to an aspect of the
`present invention. At $100, the method determines whether
`a control unit (control unit 210 or redundant control unit
`215, as the case may be)is available, ie., control unit is not
`busy with other system or user tasks. If the control unit is not
`available, the method returns to S100. If the control unit is
`available, at S110, data is transferred from the volatile
`memory to a redundant volatile memoryor to a non-volatile
`memory. Specifically,
`the system may choose to transfer
`data from the volatile memory 220 to the volatile memory
`225, which is the redundant memory of the mirror sub-
`system 208. The system may otherwise choose to transfer
`data to the non-volatile memory 230. Thus, at S110, data is
`transferred from the volatile memory (volatile memory 220
`or redundant volatile memory 225, as the case maybe) to a
`backup memory. Determination of the location of backup
`may be based on one or moreof the following parameters:
`a priority determination, a sensitivity to failure determina-
`tion, a random algorithm,
`a round robin algorithm,
`a
`weighted round robin algorithm, a least recently used algo-
`rithm, a space availability determination or network load
`balancing determination. A priority determination may
`assign a higher priority to backing up frequently used
`information on the local non-volatile memory rather then
`transferring it over the communication link to the redundant
`system. A sensitivity to failure determination may be the
`amount of damage that can occur to the system in the case
`where certain data was not backed up properly. If the
`damageis high then it may be beneficial to movethe data to
`the redundant systemso as to ensure the data integrityin the
`case where the main system hasa significant failure. A space
`availability determination may be used whenit is essential
`to keep certain data in a specific memory, for example main
`non-volatile memory and therefore as this memoryfills up it
`is required to maintain space there for the expected data that
`must be stored in that memory. In other cases more random
`approaches may be used as the importanceis in having some
`kind of a non-volatile backup butit is not critical were the
`data resides. By using one of the random or semi-random
`approaches suggested the data to be backed up will be spread
`between the various types of memories and the goal of
`maintaining a high level of data integrity is achieved. At
`$120, data that was backed up in either one of the above
`listed methods is recorded as having been backed up. If not
`all the data has been transferred at $130, then the process
`continues al step $100, otherwise the process is complete. It
`should be noted that this process might be repeated periodi-
`cally for the purpose of backing up additional data not
`previously backed up by the system. Uninterruptible power
`supply “life,” or “on time,” is prolonged as there will be less
`data to be backed up in case of powerfailure. This method
`can be equally applied on system 300 described in FIG.3.
`
`A person skilled in the art could further add the step of
`ceasing the operation based on this method upon detection
`of powerfailure.
`
`[0037] FIGS. 5A and 5B illustrate a method of transfer-
`ring data, according to another aspect of the present inven-
`tion. Referring to FIG. 5A, at S200,
`it is determined if
`system power is below a predetermined level. If system
`power is not below the predetermined level,
`the method
`returns to $200. If system poweris below the predetermined
`level, then at S210, a check is performed to determineif the
`other control unit of the mirror sub-system 208 wasaffected.
`If both the main control unit and the redundant control unit
`were affected, then in $220,all data is transferred from the
`volatile memories (volatile memory 220 or redundantvola-
`tile memory225) to the non-volatile memories (non-volatile
`memory 230 or non-volatile memory 235). However,if the
`other control unit was not affected, then at S225, only data
`not previously transferred to the volatile memory of the
`mirror sub-system 208 is transferred to the non-volatile
`memories
`(non-volatile memory 230 or non-volatile
`memory 235). In S230, it is determined if the data transfer
`from volatile memory to non-volatile memory is complete.
`If all the data has not been transferred yet,
`the method
`returns to S210. In another exemplary embodiment of the
`present invention, control is returned to S200 instead of
`$210. This is advantageous in the case where the power
`failure was only temporary and there is no need to continue
`the backup process. Otherwise the method continuation is
`described in FIG. 5B.
`
`[0038] Referring to FIG. 5B, it is determined in $240 if
`the other control unit has indicated backup completion.If the
`other control unit has not indicated backup completion, then
`at S255, the control unit indicates that it has concluded the
`backup activity and terminates further backup activity. If
`both the control unit and the redundant control unit have
`completed the backup activity, then at $250, the last control
`unit to complete the backup activity shuts down uninter-
`ruptible power supply 240. With this method, power can be
`saved by: a) continuously backing up data to either redun-
`dantvolatile memory or to non-volatile memory; b) backing
`up only data which maybe affected by a powerfailure; and
`c) shutting off uninterruptible power supply upon comple-
`tion of backup activity.
`
`[0039] According to another aspect of the present inven-
`tion, there is provided a computer program product, in which
`programsfor backing up data in a system having redundancy
`as well as power-fail response capabilitics is described. The
`computer program product comprises software instructions
`for enabling the computer system to perform predetermined
`operations, and a computer readable medium bearing the
`software instructions. The predetermined operations of the
`computer program product determine if a control unit is
`available to execute these predeterminedinstructions. If the
`control unit is unavailable then the program waits until such
`time when control unit is available. When control unit is
`available, portions of data, not previously backed up, are
`backed up on either a redundant volatile memory or on
`non-volatile memory. If all previously not backed up data
`has been backedup,then the program terminates, otherwise,
`it continues its operation until such time that all data has
`been backed up. Determination of the location of backup
`may be based on one or moreof the following parameters:
`a priority determination, a sensitivity to failure determina-
`
`

`

`US 2003/0126494 Al
`
`Jul. 3, 2003
`
`a
`a round robin algorithm,
`tion, a random algorithm,
`weighted round robin algorithm, a least recently used algo-
`rithm, a space availability determination or network load
`balancing determination.
`
`[0040] According to another aspect of the present inven-
`tion, there is provided a computer program product, in which
`programsfor detecting a loss of system power, writing data
`from a volatile memory to a non-volatile memory, and
`turning off the power supply of a system having redundancy
`as well as powcer-fail response capabilitics, by computers,
`are recordedin order to enable a computer system to transfer
`data between a volatile memory and a non-volatile memory.
`The computer program product comprises software instruc-
`tions for enabling the computer system to perform prede-
`termined operations, and a computer readable medium bear-
`ing the software instructions. The predetermined operations
`of the computer program product determine if a voltage
`level of the computer system is less than a predetermined
`level. Based on that determination,if the voltage level is less
`than a predetermined level, the program further checks if
`both control unit and redundant control unit have been
`affected. If both control units have been affected then the
`
`predetermined operations flush all data from the volatile
`memory to the non-volatile memory. However, if only the
`control unit has been affected by the powerfailure then only
`data not transferred to the redundant volatile memory is
`flushed from the volatile memory to the non-volatile
`memory. The predetermined level that is used is a voltage
`level appropriate for the application. Typically, this voltage
`level will be non-zero. The computer program product also
`comprises predetermined operations that turn off the unin-
`terruptible power supply if both co

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket