System and method for persistent RAM disk
First Claim
Patent Images
1. A method for protecting data from loss or corruption due to simultaneous access to a portion of memory by two different program threads, comprising:
- executing a memory gating program that tracks running threads and their memory demands;
creating and managing an in-use table that includes information about which threads are using which portions of memory, and which threads are waiting to use the same portions of memory;
allowing a thread to access a given portion of memory if it is not in use by another thread as indicated by the in-use table;
preventing a thread from accessing the given portion of memory if it is in use by another thread as indicated by the in-use table; and
accessing the memory in blocks sufficiently small in size so as to reduce the number of conflicts over a given memory block and to reduce the number of threads kept waiting for access to the same memory block.
1 Assignment
0 Petitions
Accused Products
Abstract
The contents of a RAM disk are copied to an image file in nonvolatile memory on power-down and copied back on reboot to provide an appearance of persistence. A locking method can use in-use tables to limit access to the same blocks of data in a RAM disk.
-
Citations
25 Claims
-
1. A method for protecting data from loss or corruption due to simultaneous access to a portion of memory by two different program threads, comprising:
-
executing a memory gating program that tracks running threads and their memory demands; creating and managing an in-use table that includes information about which threads are using which portions of memory, and which threads are waiting to use the same portions of memory; allowing a thread to access a given portion of memory if it is not in use by another thread as indicated by the in-use table; preventing a thread from accessing the given portion of memory if it is in use by another thread as indicated by the in-use table; and accessing the memory in blocks sufficiently small in size so as to reduce the number of conflicts over a given memory block and to reduce the number of threads kept waiting for access to the same memory block. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for protecting data from loss or corruption due to simultaneous access to a portion of memory by two different program threads, comprising:
-
executing a memory gating program that tracks running threads and their memory demands; managing an in-use table that includes information about which threads are using which portions of memory, and which threads are waiting to use the same portions of memory; allowing a thread to access a given portion of memory if it is not in use by another thread as indicated by the in-use table; preventing a thread from accessing the given portion of memory if it is in use by another thread as indicated by the in-use table; and accessing the memory in blocks sufficiently small in size so as to reduce the number of conflicts over a given memory block and to reduce the number of threads kept waiting for access to the same memory block. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for protecting data from loss or corruption due to simultaneous access to a portion of memory by two different program threads, comprising:
-
executing a memory gating program that tracks running threads and their memory demands; managing an in-use table that includes information about which threads are using which portions of memory, and which threads are waiting to use the same portions of memory; allowing a thread to access a given portion of memory if it is not in use by another thread as indicated by the in-use table; preventing a thread from accessing the given portion of memory if it is in use by another thread as indicated by the in-use table; determining a sequence of dependency, whereby a first thread is kept waiting for a second thread that is using the portion of memory, the determining including administration by the memory gating program of a succession of rights to the portion of memory; and wherein determining a sequence of dependency includes keeping a counter indicating the number of threads that are using the portion of memory and to which the first thread depends.
-
-
18. A method for protecting data from loss or corruption due to simultaneous access to a portion of memory by two different program threads, comprising:
-
executing a memory gating program that tracks running threads on a multi-threaded processor and the memory demands of the threads; managing an in-use table that includes information about which threads are using which portions of memory, and which threads are waiting to use the same portions of memory; allowing a thread to access a given portion of memory if it is not in use by another thread a indicated by the in-use table; and preventing a thread from accessing the given portion of memory if it is in use by another thread as indicated by the in-use table. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
-
Specification