System for selectively transferring application data between storage devices in a computer system utilizing dynamic memory allocation
First Claim
1. A system employable for running a computer-readable program, the system comprising:
- a first data storage device;
a second data storage device;
a third data storage device;
a computer-readable signal-bearing medium;
means in the medium for transferring application data and non-application data from the first data storage device to the second data storage device;
means in the medium for examining data in the second data storage device to identify the application data;
means in the medium for deriving a secondary address for the application data;
means in the medium for transferring only application data indicated by the secondary address from the second data storage device to the third data storage device;
means in the medium for parsing the application data indicated by the secondary address;
means in the medium for transferring parsed application data from the third data storage device to the second data storage device;
means in the medium for transferring the parsed application data and the non-application data from the second data storage device to the first data storage device; and
means in the medium for dumping unexamined data from the first data storage device to the second data storage device.
2 Assignments
0 Petitions
Accused Products
Abstract
A system can use a dynamic memory allocation technique to selectively transfer data between storage devices in the system. This dynamic memory allocation technique can simulate hard memory in software, which improves the efficiency of data transfers between the storage devices and dramatically increases system performance. The system may include a mass memory that stores application data and non-application data, a dump memory for receiving application data and non-application data from the mass memory, and a memory array for receiving only application data from the dump memory. The system may further include computer-readable instructions for performing the data transfers between the mass memory, the dump memory, and the memory array.
-
Citations
20 Claims
-
1. A system employable for running a computer-readable program, the system comprising:
-
a first data storage device;
a second data storage device;
a third data storage device;
a computer-readable signal-bearing medium;
means in the medium for transferring application data and non-application data from the first data storage device to the second data storage device;
means in the medium for examining data in the second data storage device to identify the application data;
means in the medium for deriving a secondary address for the application data;
means in the medium for transferring only application data indicated by the secondary address from the second data storage device to the third data storage device;
means in the medium for parsing the application data indicated by the secondary address;
means in the medium for transferring parsed application data from the third data storage device to the second data storage device;
means in the medium for transferring the parsed application data and the non-application data from the second data storage device to the first data storage device; and
means in the medium for dumping unexamined data from the first data storage device to the second data storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
means in the medium for initializing a page_allocated register in the second data storage device equal in size to a number of pages in the application data; and
means in the medium for initializing an address_array register in the second data storage device equal in size to a number of pages in the application data to be initialized.
-
-
3. The system of claim 1, further comprising:
-
means in the medium for initializing an address file with the application data;
means in the medium for reading addresses from the address file to an address_array register; and
means in the medium for setting a page_allocated register corresponding to each address in the address file to a known high value.
-
-
4. The system of claim 1, wherein the means in the medium for examining comprises:
-
means in the medium for writing the application data into a memory array register, if a currently accessed pagenumber is the same as a last accessed pagenumber;
means in the medium for setting an element of a page_allocated array corresponding to the currently accessed pagenumber to a known high value; and
means in the medium for masking the application data and writing the application data at an offset within the memory array register.
-
-
5. The system of claim 1 wherein the means in the medium for examining comprises:
-
means in the medium for writing the application data in a memory array register to a ldpxxxx.mem file, if a currently accessed pagenumber is different from a last accessed pagenumber;
means in the medium for reading the application data from the ldpxxxx.mem file into the memory array register, if an element of a page_allocated array corresponding to the currently accessed pagenumber is a first predetermined value;
means in the medium for initializing the element of the page_allocated array corresponding to the currently accessed pagenumber to the first predetermined value and initializing the memory array register to indicate a known value, if the element of the page_allocated array corresponding to the pagenumber is a second predetermined value;
means in the medium for setting the last accessed pagenumber to the currently accessed pagenumber; and
means in the medium for masking the application data and writing the application data at an offset within the memory array register.
-
-
6. The system of claim 1 wherein the means in the medium for examining comprises:
means in the medium for reading the application data at an offset within a memory array register, if a currently accessed pagenumber is the same as a last accessed pagenumber.
-
7. The system of claim 1 wherein the means in the medium for examining comprises:
-
means in the medium for writing the application data to a ldpxxxx.mem file, if an element of a page_allocated array corresponding to a currently accessed pagenumber is a first predetermined value and the currently accessed pagenumber is different from a last accessed pagenumber;
means in the medium for reading the application data in a memarray register to the ldpxxxx.mem file;
means in the medium for reading an application data word at an offset in the memarray register; and
means in the medium for setting the last accessed pagenumber to the currently accessed pagenumber.
-
-
8. A system employable for running a computer-readable program, the system comprising:
-
a first data storage device that stores application data and non-application data;
a second data storage device that receives a dump of at least a part of the application data and the non-application data from the first data storage device;
a memory controller that examines data in the second data storage device to identify the application data and derives a secondary address for the application data; and
a third data storage device that receives only application data from the second data storage device that is indicated by the secondary address, wherein the memory controller parses the application data indicated by the secondary address, transfers parsed application data from the third data storage device to the second data storage device, transfers the parsed application data and the non-application data from the second data storage device to the first data storage device, and dumps unexamined data from the first data storage device to the second data storage device. - View Dependent Claims (9, 10, 11, 12, 13)
the first data storage device is a mass storage device selected from the group consisting of a hard disk, a compact disk read-only memory (CD-ROM), and a tape;
the second data storage device is a random-access memory; and
the third data storage device is selected from the group consisting of dynamic random-access memory (DRAM), static random-access memory (SRAM), synchronous dynamic random-access memory (SDRAM), and extended data out dynamic random-access memory (EDO DRAM).
-
-
10. The system of claim 8 wherein:
the application data represents a circuit to be simulated.
-
11. The system of claim 10 wherein:
the second data storage device contains addresses partly determined by the application data.
-
12. The system of claim 10 wherein:
the circuit is described in a hardware description language (HDL).
-
13. The system of claim 12 wherein:
the hardware description language is VERILOG®
.
-
14. A computer-readable signal-bearing a plurality of computer readable instructions, the computer-readable signal-bearing medium comprising:
-
instructions for transferring application data and non-application data from a first data storage device to a second data storage device;
instructions for examining data in the second data storage device to identify the application data;
instructions for deriving a secondary address for the application data;
instructions for transferring only application data indicated by the secondary address from the second data storage device to a third data storage device;
instructions for parsing the application data indicated by the secondary address;
instructions for transferring parsed application data from the third data storage device to the second data storage device;
instructions for transferring the parsed application data and the non-application data from the second data storage device to the first data storage device; and
instructions for dumping unexamined data from the first data storage device to the second data storage device. - View Dependent Claims (15, 16, 17, 18, 19, 20)
instructions for initializing a page_allocated register in the second data storage device equal in size to a number of pages in the application data; and
instructions for initializing an address_array register in the second data storage device equal in size to a number of pages in the application data to be initialized.
-
-
16. The computer-readable signal-bearing medium of claim 14, further comprising:
-
instructions for initializing an address file with the application data;
instructions for reading addresses from the address file to an address_array register; and
instructions for setting a page_allocated register corresponding to each address in the address file to a known high value.
-
-
17. The computer-readable signal-bearing medium of claim 14, wherein the means in the medium for examining comprises:
-
instructions for writing the application data into a memory array register, if a currently accessed pagenumber is the same as a last accessed pagenumber;
instructions for setting an element of a page_allocated array corresponding to the currently accessed pagenumber to a known high value; and
instructions for masking the application data and writing the application data at an offset within the memory array register.
-
-
18. The computer-readable signal-bearing medium of claim 14 wherein the means in the medium for examining comprises:
-
instructions for writing the application data in a memory array register to a ldpxxxx.mem file, if a currently accessed pagenumber is different from a last accessed pagenumber;
instructions for reading the application data from the ldpxxxx.mem file into the memory array register, if an element of a page_allocated array corresponding to the currently accessed pagenumber is a first predetermined value;
instructions for initializing the element of the page_allocated array corresponding to the currently accessed pagenumber to the first predetermined value and initializing the memory array register to indicate a known value, if the element of the page_allocated array corresponding to the pagenumber is a second predetermined value;
instructions for setting the last accessed pagenumber to the currently accessed pagenumber; and
instructions for masking the application data and writing the application data at an offset within the memory array register.
-
-
19. The computer-readable signal-bearing medium of claim 14 wherein the means in the medium for examining comprises:
instructions for reading the application data at an offset within a memory array register, if a currently accessed pagenumber is the same as a last accessed pagenumber.
-
20. The computer-readable signal-bearing medium of claim 14 wherein the means in the medium for examining comprises:
-
instructions for writing the application data to a ldpxxxx.mem file, if an element of a page_allocated array corresponding to a currently accessed pagenumber is a first predetermined value and the currently accessed pagenumber is different from a last accessed pagenumber;
instructions for reading the application data in a memarray register to the ldpxxxx.mem file;
instructions for reading an application data word at an offset in the memarray register; and
instructions for setting the last accessed pagenumber to the currently accessed pagenumber.
-
Specification