A method and system for preventing loss of data in a computer interface board during power failure includes providing a secondary data path to a non-volatile storage element from a cache memory of the computer interface board. Components in the secondary data path, such as the cache memory and non-volatile storage element, are powered by a secondary power supply. The cache memory of the computer interface board is a volatile memory. The secondary data path with the non-volatile storage element enables reliable memory operation during both normal and power fail modes. A power failure at the computer interface board is detected. The power failure may result in incomplete transactional data within the cache memory. Upon detection of power failure, the incomplete transactional data at the cache memory is transmitted to the non-volatile storage element through the secondary data path using the power from the secondary power supply. The non-volatile storage element preserves the transactional data of the cache memory during power failure.
|
7. A system for preventing loss of data in a computer interface board during power failure, comprising:
a secondary interface board configured to interface with the computer interface board, comprising,
a non-volatile storage element configured to receive and store incomplete transactional data from a cache memory of the computer interface board during power failure at the computer interface board, wherein the cache memory is volatile; and
a secondary power supply configured to supplement power to the non-volatile storage element and the cache memory during power failure at the computer interface board such that the power supplied by the secondary power supply is sufficient to secure the incomplete transactional data in the non-volatile storage element,
wherein the non-volatile storage element includes one or more logic elements to,
(a) detect unexpected power failure at the computer interface board;
(b) determine if any incomplete transactional data is left behind in the cache memory of the computer interface board;
(c) when incomplete transactional data is left behind, activate the secondary power supply to supply power to the non-volatile storage element and the cache memory;
(d) transmit the incomplete transactional data from the cache memory to the non-volatile storage element through a secondary data path, the non-volatile storage element preserving the incomplete transactional data of the cache memory during power failure.
1. A method for preventing loss of data in a computer interface board during power failure, comprising:
providing a secondary data path to a non-volatile storage element from a cache memory on the computer interface board, the cache memory of the computer interface board being a volatile memory, the secondary data path and the non-volatile storage element enabling reliable memory operation during both normal and power fail modes;
providing a secondary power supply to the non-volatile memory and the cache memory in the secondary data path, wherein the secondary power supply is a non-chemical cell power source;
detecting an unexpected power failure at the computer interface board, the unexpected power failure resulting in incomplete transactional data within the cache memory;
verifying, in response to the unexpected power failure, if any incomplete transactional data is left behind in the cache memory, wherein when incomplete transactional data is left behind in the cache memory, the verifying further includes,
(a) verifying status of the incomplete transactional data in the cache memory;
(b) activating the secondary power supply to supply power to the secondary data path; and
(c) transmitting the incomplete transactional data from the cache memory to the non-volatile storage element through the secondary data path, the non-volatile storage element preserving the transactional data of the cache memory during power failure,
wherein the secondary power supply provides sufficient power to supplement power lost due to power failure so as to transfer the incomplete transactional data to the non-volatile memory.
16. A system for preventing loss of data in a computing device during unexpected power failure, comprising:
the computing device having,
a processor to process data;
a cache memory for storing instructions and data used during processing of the data at the computing device, the cache memory being a volatile memory; and
a recovery circuitry configured to interface with the cache memory of the computing device, the recovery circuitry including,
a non-volatile storage element configured to receive and secure incomplete transactional data from the cache memory of the computing device during power failure at the computing device; and
a secondary power supply configured to supplement power to the non-volatile storage element and the cache memory during power failure at the computing device such that the power supplied by the secondary power supply is sufficient to secure the incomplete transactional data in the non-volatile storage element,
wherein the non-volatile storage element includes one or more logic elements to,
(a) detect unexpected power failure at the computer interface board;
(b) determine if any incomplete transactional data is left behind in the cache memory of the computer interface board;
(c) when incomplete transactional data is left behind, activate the secondary power supply to supply power to the non-volatile storage element and the cache memory;
(d) transmit the incomplete transactional data from the cache memory to the non-volatile storage element through a secondary data path, the non-volatile storage element preserving the incomplete transactional data of the cache memory during power failure.
2. The method of
harvesting residual power at the computer interface board during a power failure up till a threshold value; and
switching to the secondary power supply when the residual power has crossed the threshold value.
3. The method of
5. The method of
6. The method of
detecting resumption of normal power at the computer interface board; and
transmitting the transactional data from the non-volatile memory through the secondary data path to the cache memory at the computer interface board.
8. The system of
10. The system of
11. The system of
12. The system of
13. The system of
14. The system of
15. The system of
17. The system of
18. The system of
19. The system of
20. The system of
|
1. Field of the Invention
The present invention relates generally to securing transactional data and, more particularly, to securing transactional data without the use of chemical battery cells by using a secondary data path.
2. Description of the Related Art
A host computer executes a plurality of applications, such as banking software, database software, or any other data changing application. An application running on the host computer processes various types of data, including highly sensitive data. The transactional data from the host application is processed using cache memory and after successful processing is permanently stored on disk or tape. When a host application shuts down normally, the transactional data associated with the application is completely processed and is moved from the cache memory to permanent storage before the application actually shuts down. As a result, there is no incomplete data in cache memory that still needs to be processed. If, however, an unexpected power failure occurs during execution of a host application, the host application might not have the opportunity to completely process the data and move the data to permanent storage. Instead, there might be incomplete transactional data still left in the cache memory. In order to not lose any transactional data from a host application, conventional architecture place the cache memory devices in a low-power operational state called ‘self-refresh’ mode. During this phase, the cache memory devices are powered using a chemical cell to protect the data in the cache memory until power is restored to the system.
The usage of chemical cells has its own disadvantages and limitations. For one, a chemical cell has limited shelf life and needs to be monitored periodically and replaced when the cell's useful life has expired. In order to replace the chemical cell, the whole system needs to be shut down and the chemical cell replaced. This would result in considerable down time of the system, which would be inconvenient and undesirable. Further, chemical cells need to be properly handled and disposed leading to additional costs and undesirable overhead.
It would, therefore, be desirable to find an alternate solution of preserving the transactional data without having to periodically monitor and maintain the chemical cell.
It is in this context that embodiments of the invention arise.
Broadly speaking, the present invention fills these needs by providing an alternate data path to a non-volatile storage element for securing incomplete transactional data remaining in cache memory. It should be appreciated that the present invention can be implemented in numerous ways, including as a process, an apparatus, or a system. Several inventive embodiments of the present invention are described below.
The alternate data path is powered by a secondary power supply that supplements power lost due to power failure. Power from the secondary power supply is sufficient to power a non-volatile storage element and a cache memory during power failure. Upon detection of power failure, the incomplete transactional data from the cache memory is moved to the non-volatile memory where the data is stored till power is restored to the computer interface board. The secondary data path establishes an alternate way to store transactional data without having to rely on chemical cell backup.
In one embodiment, a method for preventing loss of data in a computer interface board during power failure is disclosed. The method includes providing a secondary data path to a non-volatile storage element from a cache memory of the computer interface board. The cache memory of the computer interface board is a volatile memory. The secondary data path and the non-volatile storage element enable reliable memory operation during both normal and power fail modes. The method includes detecting an power failure at the computer interface board. The power failure may result in incomplete transactional data within the cache memory. Upon detection of power failure, the incomplete transactional data at the cache memory is transmitted to the non-volatile storage element through the secondary data path. The non-volatile storage element preserves the transactional data of the cache memory during power failure.
In another embodiment, a system for preventing loss of data in a computer interface board during power failure is disclosed. The system includes a secondary interface board that is configured to interface with the computer interface board. The secondary interface board includes a non-volatile storage element that is configured to receive from and store incomplete transactional data of a cache memory of the computer interface board during power failure at the computer interface board. The cache memory is volatile. The system also includes a secondary power supply configured to provide power to the non-volatile storage element and the cache memory to supplement the power lost during power failure at the computer interface board. The power supplied by the secondary power supply is sufficient to secure the transactional data in the non-volatile storage element.
In yet another embodiment, a system for preventing loss of data in a computing device during power failure is disclosed. The computing device includes a processor to process data and a cache memory for storing instructions and data used during the processing. The cache memory is a volatile memory. The system also includes recovery circuitry that is configured to interface with the cache memory of the computing device. The recovery circuitry includes a non-volatile storage element configured to receive and store in-process transactional data from the cache memory of the computing device during power failure at the computing device. A non-chemical power supply within the recovery circuitry is configured to supply power to the non-volatile storage element and the cache memory during power failure at the computing device. The power supplied by the non-chemical power supply is sufficient to transfer and store the in-process transactional data in the non-volatile storage element.
The embodiments of the invention provide an alternate mechanism to archive data during unexpected power failure. The secondary data path uses non-volatile memory to secure incomplete transactional data in the volatile cache memory that can be preserved for a longer period of time without fear of loss of data. The secondary power supply provides enough power to enable securing of the transactional data in the non-volatile memory. The current embodiments avoid the use of chemical cell to provide back-up power supply thereby avoiding issues associated with monitoring, maintenance and disposal of the chemical cell. The current embodiments provide an alternate solution for archiving data without needing to reconfigure existing structure on the computer interface board. The mechanism provides flexibility in implementation while ensuring secure transmission and protection of incomplete transactional data making this a more effective data archiving mechanism.
Other aspects and advantages of the present invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the present invention.
The present invention will be readily understood by the following detailed description in conjunction with the accompanying drawings. To facilitate this description, like reference numerals designate like structural elements.
Several embodiments for protecting data in cache memory during unexpected power failure at a computer interface board are now described. It will be obvious, however, to one skilled in the art, that the present invention may be practiced without some or all of these specific details. In other instances, well known process operations have not been described in detail in order not to unnecessarily obscure the present invention.
Embodiments of the invention provide a secondary data path to a non-volatile storage element from cache memory of a computer interface board. An application running on a computer interface board processes data and stores the processed data in a permanent storage, such as a disk or a tape. During the execution of the application, if an unexpected power failure occurs at the computer interface board, some of the transactions or operations may not have completed and data associated with the transactions may not be completely processed. The incomplete transactional data remaining in the cache memory needs to be protected so that when power is restored to the computer interface board, the application may resume from where it was interrupted and complete the processing of the transactional data.
In order to secure the transactional data in the cache memory, a secondary data path from the cache memory to a non-volatile storage element is established. The non-volatile storage element is configured to interface with the cache memory so that data can be exchanged between the two. When an unexpected power failure is detected at the computer interface board, the secondary data path is activated using power from a secondary power supply. The secondary power supply has sufficient power to power-up key-components in the secondary data path so that any transactional data left behind in the cache memory during unexpected power failure can be secured. As a result, the secondary power supply powers the non-volatile storage element and the cache memory so that the transactional data may be moved from the volatile cache memory to a secure non-volatile storage element. Once normal power is restored to the computer interface board, the transactional data from the non-volatile storage element is copied back into cache memory so that the application to which the transactional data belong may resume operations that were interrupted by the power failure and complete processing of the transactional data. Once the transactional data is completely processed, the data may be stored in a permanent storage, such as tape, disk or solid state storage.
By moving the transactional data from volatile cache memory to the non-volatile storage element, data is secured thereby preventing loss of data. The non-volatile storage element stores the data for as long as required and can be easily retrieved once normal power is restored to the computer interface board. Additionally, the secondary data path does not require restructuring or reconfiguring of the computer interface board. The prior need for chemical cells to provide back-up power is eliminated thereby reducing maintenance and replacement costs associated with the chemical cell. The embodiments of the invention provide an effective and efficient mechanism to secure transactional data without having to deal with the overhead associated with chemical cells.
It should be noted that the non-volatile storage element may be integrated into the computer interface board or may be provided external to the computer interface board with interface to the computer interface board so that data can be easily exchanged between the cache memory and the non-volatile storage element. Providing an external non-volatile storage element helps in optimally using real-estate space on the computer interface board while providing a secure backup of transactional data.
With the above general understanding of the secondary path mechanism, different embodiments of the invention will now be described in detail with reference to the drawings.
A secondary data path is defined from the cache memory 120 of the host board to a non-volatile storage element 140 through high-speed multiplexer 180 and a memory controller programmed within a Field Programmable Gate Array (FPGA). The components in the secondary data path are powered by a secondary power supply 130. One or more voltage regulators 170 and a switch-over circuit 150 may be used in conjunction with the secondary power supply 130 to regulate the voltage of the power supplied to the key components in the secondary data path. The non-volatile storage element 140 may be any type of storage element, such as NAND Flash memory, and is configured to interface with the cache memory 120 of the host board in order to exchange data between the non-volatile storage element 140 and the cache memory 120. The secondary power supply 130 in combination with one or more Voltage Regulators 170 provides power to key components, such as non-volatile storage element 140 and the cache memory 120, in the secondary data path. The secondary power supply 130 may be in the form of a super capacitor and can be located anywhere on the system. In one embodiment, the super capacitor is integrated onto the computer interface board along with the non-volatile storage element 140 and other components that make up the secondary data path. In one embodiment, the super capacitor may be located on a secondary interface board, such as a daughter board 200, on which the non-volatile storage element 140 is housed, as shown in
The non-volatile storage element, the memory controller within the FPGA and the secondary power supply 130, in the form of a non-chemical power supply, together form a recovery circuitry. In addition to the aforementioned key components, the recovery circuitry may also include one or more voltage regulators and optionally a charging and power isolation circuit. One or more of the key components in the recovery circuitry interface with the computer interface board to detect any power failure in the system and to supply power to the cache memory through the non-chemical power supply 130. All of the components in the recovery circuitry may be integrated within the computer interface board or may be on a secondary interface board and either plugged in or tethered using cables. Additionally, the non-chemical power supply may be provided externally and tethered to the recovery circuitry. The various configurations of the key components in the recovery circuitry have been explained above and has, therefore, not been explained in detail here.
It should be noted that the incomplete transactional data, as used in this application, refers to data that is in cache memory that is not yet been fully processed and committed to permanent memory. The in-process transactional data is data that is in-process within the system and has been written to cache memory. The incomplete transactional data and in-process transaction data are used interchangeably to refer to data not yet processed and is in cache memory and does not include data that is in the processor during power failure. It should be noted that the secondary power supply, as used in this application, is a non-chemical cell power supply.
The daughter board 200, as illustrated in
In one embodiment, the components of the daughter board 200 are incorporated within the computer interface board logic circuitry, as illustrated in
In addition to the various components, the daughter board 200 may also include one or more voltage regulators 170 to regulate the power supplied by the super capacitor 130 to various key components on the daughter board 200 and the computer interface board 100 during an unexpected power failure. The voltage regulators include logic to enable uniform and steady supply of power to the appropriate components. A switch-over circuit (SOC) 150 may also be provided at the system to keep track of the power available at the computer interface board. The SOC 150 includes logic to detect unexpected power failure at the computer interface board, to activate the super capacitor so as to store the data in the cache memory and to detect restoration of normal power at the computer interface board so as to retrieve the data from the non-volatile storage element. In one embodiment, the SOC 150 is located on the computer interface board 100 and interfaces with the FPGA 160 to turn the super capacitor on or off. Once the super capacitor supply is turned on, the data from the cache memory is transmitted to the non-volatile storage element thereby securing the data for later use.
A secondary interface board 200, such as a daughter board, shown in
A secondary power supply 130 is also provided at the daughter board 200. The secondary power supply may be a super capacitor, such as an Electric Double Layer Capacitor (EDLC). The EDLC interfaces with the SOC 150 on the host board 100 to obtain power to charge the EDLC during normal power-on mode of the host board 100. The EDLC may be integrated within the daughter board 200 or may be provided external to the daughter board 200 anywhere on the system. In the embodiment where the EDLC is provided external to the daughter board, the EDLC is tethered to the daughter board using cables. By providing the EDLC outside of the daughter board, a smaller daughter board may be used to provide the secondary data path for securing transactional data in the cache memory.
A memory controller is provided at the daughter board to obtain current status of the data in cache memory. In one embodiment the memory controller from the host is incorporated into a chip logic, such as an FPGA chip. The memory controller of the daughter board 200 interfaces with the memory controller at the IOP/ROC of the host board 100 to obtain cache memory information which is used to access and transfer the data in the cache memory during power failure and to retrieve the data from the non-volatile storage element during power restoration. Upon detection of a power failure in the host board 100, the FPGA 160 obtains power supply information and memory controller information and provides control logic to turn a backup mode of the SOC 150 on. When the backup mode of the SOC is turned on, the EDLC 130 is triggered to supply power to key components in the secondary data path, such as the NAND block 140, and the cache memory 120. In addition to the NAND block 140 and the cache memory 120, the EDLC also powers the memory controller in the FPGA 160 and the SOC 150 so that the power can be properly distributed to the key components that are used to secure the data in the cache memory. Similarly, when the power is restored at the host board 100, power supply from the EDLC 130 is turned off and the key components are powered by the power supply of the host board 100 along with other components on the host board 100. It should be noted that the EDLC 130 gets charged during the time when the system is powered by normal power supply.
The EDLC 130 may interact with a voltage regulator 170 to regulate the power supplied to the key components in the secondary data path. Towards this end, the voltage regulator 170 includes a Dual Switcher logic that includes two voltage regulator logics, 1.2V Regulator logic and 1.8V Regulator logic. In addition to the Dual switcher logic, the voltage regulator 170 includes a Boost Switcher logic to provide higher voltage, such as 3.3V, to some of the key components. The voltage regulator 170 is, thus, used to channel a steady flow of voltage to the appropriate components so that the components can function properly in securing the data in the cache memory. Different components function using different voltage of power. For instance, the FPGA may require 1.2V, the NAND block requires a 3.3V, the cache memory requires a 1.8V and the High-Speed MUX requires a 3.3V. When a power failure is detected at the host board 100, the SOC 150 is turned on to backup mode and is used to trigger the EDLC 130 to provide the voltage to power the components in the secondary data path, such as FPGA, the NAND block, the SOC and the cache memory through the voltage regulator 170. Alternately, when power is restored at the host board 100, the backup mode of the SOC is turned off and the various components in the secondary data path are powered by the power from the host board 100.
In one embodiment of the invention, the SOC 150 may use the residual power from the system to power the components. In this embodiment, once the power is out, the system slowly dies out. During the slow power down mode, the SOC 150 is used to determine the amount of residual power left in the system. If the amount of power is above a threshold limit, the SOC 150 allows the residual power from the system to power the key components before tapping on the EDLC resource. Towards this end, the SOC 150 continuously monitors the residual power in the system during power failure and uses the residual power to power the key components in the secondary data path up till a threshold value. Once the residual power is at the threshold value, the EDLC 130 is turned on and the key components are powered by the power supplied by the EDLC 130. For instance, if a system is using 12V of power and a power failure occurs in the system, the SOC 150 taps on the residual power of the system till the time the residual power hits a threshold value of, say, 5V. Upon hitting the threshold value, the SOC 150 switches the EDLC 130 on to a ‘power-supply mode’ so that the power from the EDLC 130 can be used to supplement the power lost due to power failure. Using the residual power and the power from the EDLC 130, data from the cache memory can be moved to the non-volatile storage element and stored till normal power is restored to the system.
It should be noted that the EDLC 130 is always on. Initially, the EDLC 130 is in a ‘charge-mode’ as the EDLC receives power from the system during the system's normal power-on mode and gets charged. During power failure at the system, the EDLC switches from the normal charge-mode to ‘power-supply’ mode. Thus, turning on or off the EDLC, in the above context, is to switch the EDLC between power-supply mode and charge mode.
Operational flow of data during unexpected power failure is explained with reference to
In the event of an unexpected power failure at the host board 100, the host power supply within the SOC 150 sends out a signal to the host power monitor indicating power failure. The host power monitor, in turn, sends out a power failure status signal in a ‘Status-out’ signal to the FPGA block of the daughter card 200 which houses a plurality of logic elements required for securing the data in the cache memory, including a memory controller logic and a power monitor logic. The FPGA block receives the power failure status signal and, in response, sends out a control signal to a secondary power supply 130, such as an EDLC, which switches the EDLC from a charge mode to a power-supply mode. The FPGA block checks the IOP/ROC information to determine if any unprocessed data is left behind in the cache memory and the status of such data prior to sending the control signal to turn the EDLC on to a power-supply mode. It should be noted that during normal power mode at the host board 100, the EDLC interfaces with the host power supply of the SOC 150 to obtain power and get charged. The EDLC, at this time, is said to be in a charge mode. The EDLC may interface with the host power supply through a logic element, such as Power ‘OR’ and Isolation Device logic.
Once the power supply mode is activated, the EDLC begins supplying power to key components in the secondary data path so that any unprocessed data in the cache memory may be secured. The key components in the secondary data path include the FPGA, a non-volatile storage element, such as a NAND flash memory block on the daughter board 200, and the cache memory and the High Speed Mux 180 on the host board 100. The high-speed MUX 180 may also be powered by the EDLC 130 so that the data can be secured. Each of the key components in the secondary data path may require a steady flow of specific amount of power in order to function efficiently. For instance, the NAND flash memory block, having a NAND block and corresponding NAND controller block, may require 3.3V in order to receive and store data, the FPGA may need 1.2V to provide access to the memory controller information and to provide control signal that controls the operation of the EDLC 130 and the cache memory may require 1.8V to transmit the data. As a result, the EDLC 130 interfaces with a regulator logic 170 in order to regulate the flow of power to each of the key components in the secondary data path. In one embodiment, the regulator logic 170 includes a 1.2V regulator logic, 1.8V regulator logic and 3.3V boost switcher logic to assist in channeling the appropriate power to each of the key components. The regulator logic 170 may interface directly with the key components or through the SOC 150 to channel the power supplied by the EDLC 130. In the embodiment illustrated in
When power is restored to the host board 100, a signal from the host power supply will enable the host power monitor to detect the power at the host board 100 and will send a status signal to the FPGA 160 on the daughter board 200. The FPGA 160 receives the signal from the host board 100 and, in response, exchanges the memory controller information with the processor 110 on the host board 100 and sends a control signal to the EDLC 130 to suspend the power supplied to the key components on the secondary data path. The power to the key components on the secondary data path will now be provided by the host power supply instead of the EDLC. Upon restoration of power to all the components on the host board 100 and the key components of the daughter board, the data from the non-volatile storage element is transferred back to the cache memory 120 so that the processor 110 can resume execution of the application from where it was interrupted due to power failure. At this time, the EDLC switches from power-supply mode to charge-mode and gets charged from the host power supply.
The non-volatile storage element provides an efficient way to transfer the unprocessed transactional data left behind in the cache memory. The components in the daughter board may be integrated with the host board or may be kept distinct and connected to the host board through appropriate connectors, as illustrated in
In an alternate embodiment of the invention, upon detecting a power failure, the host power monitor may start monitoring the amount of residual power still left in the host board 100 while the host board is shutting down due to power failure. The host power monitor may include logic to harvest the residual power so long as the residual power is above a threshold value. The harvested power is used by the SOC to power the key components in the secondary data path in order to transfer any leftover transactional data in the cache memory. When the residual power at the host board 100 falls below a threshold value, the host power monitor sends a status signal to the FPGA 160 at the daughter board 200 requesting a secondary power supply to power the key components in order to complete securing of the data in the cache memory. Upon receiving the signal from the host power monitor, the FPGA 160 will send a request signal to the EDLC 130 to switch to power-supply mode. Upon activation of the power-supply mode, the EDLC 130 will start powering the key components in the secondary data path through the voltage regulator 170. Thus, optimal use of the power in the host and daughter boards is made to secure the unprocessed data so that data loss due to power failure is prevented.
A method for preventing loss of data in a computer interface board, such as a host board, during unexpected power failure will now be described with reference to
Eventually, when normal power is restored at the computer interface board, the power to the key components in the secondary data path is switched from secondary power supply to the normal power supply. Upon restoration of power, the data from the non-volatile storage element is transferred back to the cache memory so that the application that was executing on the computer interface board when the power failure occurred may resume operation at the point where it was interrupted and the data can be processed. The processed data may then be stored in a permanent storage device, such as disks or tapes.
The embodiments of the invention provide an effective way of securing data without fear of losing data. The non-volatile storage element holds the data over an extended period of time so that data can be easily retrieved. The current embodiments have no overhead associated with conventional architecture which uses chemical cell making this a more reliable, efficient and effective architecture for securing data during unexpected power failure. Additionally, the embodiments can be implemented without much restructuring or reconfiguring of the computer interface board architecture making this a more reliable and easy architecture. Furthermore, with the above embodiments in mind, it should be understood that the present invention may employ various computer-implemented operations involving data stored in computer systems. These operations are those requiring physical manipulation of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. Further, the manipulations performed are often referred to in terms, such as producing, identifying, determining, or comparing.
Any of the operations described herein that form part of the invention are useful machine operations. The invention also relates to a device or an apparatus for performing these operations. The apparatus may be specially constructed for the required purposes, or it may be a general-purpose computer selectively activated or configured by a computer program stored in the computer. In particular, various general-purpose machines may be used with computer programs written in accordance with the teachings herein, or it may be more convenient to construct a more specialized apparatus to perform the required operations. The invention can also be embodied as computer readable code on a computer readable medium. The computer readable medium is any data storage device that can store data which can thereafter be read by a computer system. Examples of the computer readable medium include hard drives, network attached storage (NAS), read-only memory, random-access memory, CD-ROMs, CD-Rs, CD-RWs, magnetic tapes, and other optical and non-optical data storage devices. Additionally, the computer readable code comprising the present invention may be stored on multiple computer readable medium devices distributed over a network of coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
While this invention has been described in terms of several preferred embodiments, it will be appreciated that those skilled in the art upon reading the preceding specifications and studying the drawings will realize various alterations, additions, permutations and equivalents thereof. It is therefore intended that the present invention includes all such alterations, additions, permutations, and equivalents as fall within the true spirit and scope of the invention.
Patent | Priority | Assignee | Title |
10168905, | Jun 07 2017 | International Business Machines Corporation | Multi-channel nonvolatile memory power loss management |
10275160, | Dec 21 2015 | Intel Corporation | Method and apparatus to enable individual non volatile memory express (NVME) input/output (IO) Queues on differing network addresses of an NVME controller |
10360964, | Sep 27 2016 | INTEGRATED SILICON SOLUTION, CAYMAN INC | Method of writing contents in memory during a power up sequence using a dynamic redundancy register in a memory device |
10366774, | Sep 27 2016 | INTEGRATED SILICON SOLUTION, CAYMAN INC | Device with dynamic redundancy registers |
10366775, | Sep 27 2016 | INTEGRATED SILICON SOLUTION, CAYMAN INC | Memory device using levels of dynamic redundancy registers for writing a data word that failed a write operation |
10424393, | Sep 27 2016 | INTEGRATED SILICON SOLUTION, CAYMAN INC | Method of reading data from a memory device using multiple levels of dynamic redundancy registers |
10437491, | Sep 27 2016 | INTEGRATED SILICON SOLUTION, CAYMAN INC | Method of processing incomplete memory operations in a memory device during a power up sequence and a power down sequence using a dynamic redundancy register |
10437723, | Sep 27 2016 | INTEGRATED SILICON SOLUTION, CAYMAN INC | Method of flushing the contents of a dynamic redundancy register to a secure storage area during a power down in a memory device |
10446210, | Sep 27 2016 | INTEGRATED SILICON SOLUTION, CAYMAN INC | Memory instruction pipeline with a pre-read stage for a write operation for reducing power consumption in a memory device that uses dynamic redundancy registers |
10452115, | Oct 26 2016 | Seagate Technology LLC | Removable power loss protection module |
10460781, | Sep 27 2016 | INTEGRATED SILICON SOLUTION, CAYMAN INC | Memory device with a dual Y-multiplexer structure for performing two simultaneous operations on the same row of a memory bank |
10489237, | Dec 19 2014 | Hewlett Packard Enterprise Development LP | Flushing data content in response to a power loss event to a processor |
10541012, | Sep 10 2012 | Texas Instruments Incorporated | Nonvolatile logic array based computing over inconsistent power supply |
10546625, | Sep 27 2016 | INTEGRATED SILICON SOLUTION, CAYMAN INC | Method of optimizing write voltage based on error buffer occupancy |
10628316, | Sep 27 2016 | INTEGRATED SILICON SOLUTION, CAYMAN INC | Memory device with a plurality of memory banks where each memory bank is associated with a corresponding memory instruction pipeline and a dynamic redundancy register |
10817188, | May 30 2016 | Silicon Motion, Inc. | Data storing method and system initializing method after sudden power-off event |
10893050, | Aug 24 2016 | Intel Corporation | Computer product, method, and system to dynamically provide discovery services for host nodes of target systems and storage resources in a network |
10970231, | Sep 28 2016 | Intel Corporation | Management of virtual target storage resources by use of an access control list and input/output queues |
11204841, | Apr 06 2018 | Micron Technology, Inc | Meta data protection against unexpected power loss in a memory system |
11244710, | Sep 10 2012 | Texas Instruments Incorporated | Customizable backup and restore from nonvolatile logic array |
11385795, | Dec 21 2015 | Intel Corporation | Method and apparatus to enable individual non volatile memory express (NVMe) input/output (IO) queues on differing network addresses of an NVMe controller |
11630783, | Sep 28 2016 | Intel Corporation | Management of accesses to target storage resources |
11742054, | Nov 12 2020 | Dell Products L.P. | Memory power fault resilience in information handling systems |
11836358, | Apr 16 2018 | Hewlett-Packard Development Company, L.P.; HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Data storage device power provisions |
12087395, | Sep 10 2012 | Texas Instruments Incorporated | Customizable backup and restore from nonvolatile logic array |
12153827, | Jan 19 2016 | Non-volatile memory module architecture to support memory error correction | |
8169839, | Feb 11 2009 | Western Digital Technologies, INC | Flash backed DRAM module including logic for isolating the DRAM |
8250264, | Jul 17 2009 | Hon Hai Precision Industry Co., Ltd. | Storage and method for performing data backup using the storage |
8261012, | Oct 30 2009 | PALISADE TECHNOLOGIES, LLP | Non-volatile semiconductor memory comprising power fail circuitry for flushing write data in response to a power fail signal |
8510598, | Mar 29 2010 | Dot Hill Systems Corporation | Buffer management method and apparatus for power reduction during flush operation |
8566639, | Feb 11 2009 | Western Digital Technologies, INC | Flash backed DRAM module with state of health and/or status information accessible through a configuration data bus |
8677037, | Aug 30 2007 | Western Digital Technologies, INC | Memory apparatus for early write termination and power failure |
8694812, | Mar 29 2010 | Dot Hill Systems Corporation | Memory calibration method and apparatus for power reduction during flash operation |
9042197, | Jul 23 2013 | Western Digital Technologies, INC | Power fail protection and recovery using low power states in a data storage device/system |
9043642, | Dec 20 2010 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | Data manipulation on power fail |
9105322, | Jan 22 2013 | Murata Manufacturing Co., Ltd. | Solid state drive |
9122615, | Mar 07 2013 | Western Digital Technologies, Inc.; Western Digital Technologies, INC | Data cache egress for a data storage system |
9223664, | Apr 22 2013 | Amazon Technologies, Inc | Energy storage for memory protection during power event |
9251047, | May 13 2013 | Amazon Technologies, Inc | Backup of volatile memory to persistent storage |
9298240, | Sep 13 2011 | Kioxia Corporation | Memory device, control method for the memory device, and controller |
9459805, | May 13 2013 | Amazon Technologies, Inc. | Backup of volatile memory to persistent storage |
9715911, | Sep 10 2012 | Texas Instruments Incorporated | Nonvolatile backup of a machine state when a power supply drops below a threshhold |
9753828, | Sep 27 2012 | EMC IP HOLDING COMPANY LLC | Adaptive failure survivability in a storage system utilizing save time and data transfer upon power loss |
9846468, | Jun 24 2015 | EXECUTIVE ADVISORY FIRM LLC | Apparatus, system, and method of storage and retrieval of local volatile memory content of non-volatile storage memory |
9921896, | Aug 30 2007 | Western Digital Technologies, INC | Shutdowns and data recovery to avoid read errors weak pages in a non-volatile memory system |
9996278, | Sep 13 2011 | Kioxia Corporation | Memory device, control method for the memory device, and controller |
D696264, | Jan 19 2012 | PepsiCo, Inc | Display screen with graphical user interface |
D696265, | Jan 19 2012 | PepsiCo, Inc | Display screen with graphical user interface |
D696266, | Jan 19 2012 | PepsiCo, Inc | Display screen with graphical user interface |
D696267, | Jan 19 2012 | PepsiCo, Inc | Display screen with graphical user interface |
D701875, | Feb 25 2013 | PepsiCo, Inc | Display screen with graphical user interface |
D701876, | Feb 25 2013 | PepsiCo, Inc | Display screen with graphical user interface |
D702247, | Jan 19 2012 | FIRSTBORN MULTIMEDIA CORP | Display screen with graphical user interface |
D702698, | Jan 19 2012 | FIRSTBORN MULTIMEDIA CORP | Display screen with graphical user interface |
D702699, | Jan 19 2012 | FIRSTBORN MULTIMEDIA CORP | Display screen with graphical user interface |
D703681, | Jan 19 2012 | FIRSTBORN MULTIMEDIA CORP | Display screen with graphical user interface |
D704728, | Feb 25 2013 | PepsiCo, Inc | Display screen with graphical user interface |
D707700, | Feb 25 2013 | PepsiCo, Inc | Display screen with graphical user interface |
D707701, | Feb 25 2013 | PepsiCo, Inc | Display screen with graphical user interface |
D929440, | Apr 19 2019 | PepsiCo, Inc | Display screen or portion thereof with animated graphical user interface |
ER5231, | |||
ER5758, | |||
ER929, | |||
ER9965, |
Patent | Priority | Assignee | Title |
6496939, | Sep 21 1999 | BITMICRO LLC | Method and system for controlling data in a computer system in the event of a power failure |
7003620, | Nov 26 2002 | Western Digital Israel Ltd | Appliance, including a flash memory, that is robust under power failure |
7392429, | Dec 22 2004 | Microsoft Technology Licensing, LLC | System and method for maintaining persistent state data |
7487391, | Aug 04 2005 | Dot Hill Systems Corporation | Storage controller super capacitor adaptive life monitor |
20040103238, | |||
20060015683, | |||
20060139069, | |||
20070033433, | |||
20080215808, |
Date | Maintenance Fee Events |
Oct 29 2014 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Nov 15 2018 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Oct 21 2022 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
May 31 2014 | 4 years fee payment window open |
Dec 01 2014 | 6 months grace period start (w surcharge) |
May 31 2015 | patent expiry (for year 4) |
May 31 2017 | 2 years to revive unintentionally abandoned end. (for year 4) |
May 31 2018 | 8 years fee payment window open |
Dec 01 2018 | 6 months grace period start (w surcharge) |
May 31 2019 | patent expiry (for year 8) |
May 31 2021 | 2 years to revive unintentionally abandoned end. (for year 8) |
May 31 2022 | 12 years fee payment window open |
Dec 01 2022 | 6 months grace period start (w surcharge) |
May 31 2023 | patent expiry (for year 12) |
May 31 2025 | 2 years to revive unintentionally abandoned end. (for year 12) |