IP Library Granted Patent US 7,093,089
Granted Patent B2
US 7,093,089 · App. 10/643,138 · Granted Aug 15, 2006

Systems and methods for storing data on computer systems

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,093,089
App. No.
10/643,138
Granted
Aug 15, 2006
Kind
B2
Abstract

Methods for storing data on computer systems are provided. An embodiment of a method comprises: identifying a first portion of volatile memory of a computer system that is being used to store data; identifying a second portion of the volatile memory that is not being used to store data; and in response to an input corresponding to a power-off condition of the computer system, saving the data corresponding to the first portion of the volatile memory in the non-volatile memory without saving the second portion of the volatile memory in the non-volatile memory. Systems also are provided.

Claims (67)

1. A method for storing data on a computer system, the computer system having volatile memory and non-volatile memory, the volatile memory comprising a volatile memory device, said method comprising:

identifying a first portion of the volatile memory device that is being used to store data;

identifying a second portion of the volatile memory device that is not being used to store data; and

in response to an input corresponding to a power-off condition of the computer system, saving the data corresponding to the first portion of the volatile memory device in the non-volatile memory without saving the data corresponding to the second portion of the volatile memory device in the non-volatile memory

identifying a third portion of the volatile memory that is being used to store data, a copy of the data corresponding to the third portion of the volatile memory also being stored in the non-volatile memory; and

additionally saving the data corresponding to the third portion of the volatile memory in the non-volatile memory if the non-volatile memory has additional storage capacity remaining after allocating storage capacity for saving the data corresponding to the first portion of the volatile memory device;

wherein a copy of the data corresponding to the first portion of the volatile memory device is not also stored in the non-volatile memory prior to the identifying step.

2. The method of claim 1 , further comprising:

compressing the data corresponding to the first portion of the volatile memory device as first compressed data; and

wherein saving the data corresponding to the first portion of the volatile memory device comprises saving the first compressed data in the non-volatile memory.

3. The method of claim 1 , wherein the volatile memory device does not include disk cache.

4. The method of claim 1 , further comprising:

identifying a third portion of the volatile memory that is being used to store data, the data corresponding to the third portion of the volatile memory also being at least one of:

a) stored in the non-volatile memory; and

b) disk cache;

assigning priority to one of:

a) the data corresponding to the second portion of the volatile memory device; and

b) the data corresponding to the third portion of the volatile memory for storage in the non-volatile memory; and

if the non-volatile memory has additional storage capacity remaining after allocating storage capacity for saving the data corresponding to the first portion of the volatile memory device, additionally saving at least one of the data corresponding to the second portion of the volatile memory device and the data corresponding to the third portion of the volatile memory in the non-volatile memory based upon the priority assigned.

5. A method for storing data on a computer system, the computer system having volatile memory and non-volatile memory, the volatile memory including disk cache, said method comprising:

identifying first data stored in the volatile memory wherein at least one of:

a) the first data is not also stored in the non-volatile memory; and

b) the volatile memory is not disk cache; and

in response to a power-off condition of the computer system, saving the first data in the non-volatile memory; and

identifying second data stored in the volatile memory wherein at least one of:

a) the second data is stored in the non-volatile memory; and

b) the volatile memory is disk cache; and

if the non-volatile memory has additional storage capacity remaining after allocating storage capacity for saving the first data, additionally saving the second data in the non-volatile memory.

6. The method of claim 5 , further comprising:

compressing the first data as first compressed data; and

wherein saving the first data comprises saving the first compressed data in the non-volatile memory.

7. The method of claim 5 , further comprising:

compressing the second data as second compressed data; and

wherein additionally saving the second data comprises saving the second compressed data in the non-volatile memory.

8. A computer system comprising:

volatile memory;

non-volatile memory; and

a power-off memory back-up system operative to:

identify a first portion of the volatile memory that is being used to store data;

identify a second portion of the volatile memory that is not being used to store data; and

save the data corresponding to the first portion of the volatile memory in the non-volatile memory without saving the second portion of the volatile memory in the non-volatile memory in response to an input corresponding to a power-off condition of the computer system,

wherein the power-off memory back-up system is further operative to:

identify a third portion of the volatile memory that is being used to store data, a copy of the data corresponding to the third portion of the volatile memory also being stored in the non-volatile memory; and

additionally save the data corresponding to the third portion of the volatile memory in the non-volatile memory if the non-volatile memory has additional storage capacity remaining after allocating storage capacity for saving the data corresponding to the first portion of the volatile memory.

9. The computer system of claim 8 , wherein:

the non-volatile memory comprises a hard drive;

the copy of the data corresponding to the third portion of the volatile memory is saved on the hard drive; and

in additionally saving the data corresponding to the third portion of the volatile memory in the non-volatile memory, the power-off memory back-up system is operative to save the data corresponding to the third portion of the volatile memory to the hard drive.

10. The computer system of claim 8 , wherein:

the non-volatile memory comprises a hard drive and a flash memory;

the copy of the data corresponding to the third portion of the volatile memory is saved on the hard drive; and

in additionally saving the data corresponding to the third portion of the volatile memory in the non-volatile memory, the power-off memory back-up system is operative to save the data corresponding to the third portion of the volatile memory to the flash memory.

11. A computer-readable medium having a computer program for performing a computer-implemented method on a computer system having volatile memory and non-volatile memory, with the volatile memory including disk cache, said method comprising:

identifying first data stored in the volatile memory wherein at least one of:

a) the first data is not also stored in the non-volatile memory; and

b) the volatile memory is not disk cache; and

in response to a power-off condition of the computer system, saving the first data in the non-volatile memory;

identifying second data stored in the volatile memory wherein at least one of:

a) the second data is stored in the non-volatile memory; and

b) the volatile memory is disk cache; and

if the non-volatile memory has additional storage capacity remaining after allocating storage capacity for saving the first data, additionally saving the second data in the non-volatile memory.

12. The computer-readable medium of claim 11 , said method further comprising:

compressing the first data as first compressed data; and

wherein saving the first data comprises saving the first compressed data in the non-volatile memory.

13. The computer-readable medium of claim 11 , said method further comprising:

compressing the second data as second compressed data; and

wherein additionally saving the second data comprises saving the second compressed data in the non-volatile memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2011
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.; HEWLETT-PACKARD COMPANY
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 026008/0690 →