Efficiency in a memory management system
First Claim
Patent Images
1. A method for improving efficiency in a memory management system, comprising:
- receiving a data structure configured to provide at least one free page of memory in said memory management system; and
releasing at least one bucket of memory in a compressed memory swap device of said memory management system corresponding to said at least one free page of memory provided by said data structure;
initiating a request for a selected page of memory in response to a read page fault;
retrieving said selected page of memory in response to a determination of said selected page of memory being located in a secondary storage of said memory management system;
returning said selected page of memory;
scheduling said selected page of memory for compression in said compressed memory swap device;
compressing said selected page of memory in response to said scheduling of said selected page of memory;
determining an availability of free space in said compressed memory swap device;
storing said requested page of memory in a selected bucket in said compressed memory swap device in response to said released page of memory in said compressed memory swap device; and
marking said selected bucket as busy in response to said storage of said requested page of memory.
2 Assignments
0 Petitions
Accused Products
Abstract
In a method for optimizing performance in a memory system, a data structure configured to provide at least one free block of memory is received in the memory system. At least one bucket of memory is released in a swap device of the memory system corresponding to at least one free block of memory provided by the data structure.
20 Citations
30 Claims
-
1. A method for improving efficiency in a memory management system, comprising:
-
receiving a data structure configured to provide at least one free page of memory in said memory management system; and releasing at least one bucket of memory in a compressed memory swap device of said memory management system corresponding to said at least one free page of memory provided by said data structure; initiating a request for a selected page of memory in response to a read page fault; retrieving said selected page of memory in response to a determination of said selected page of memory being located in a secondary storage of said memory management system; returning said selected page of memory; scheduling said selected page of memory for compression in said compressed memory swap device; compressing said selected page of memory in response to said scheduling of said selected page of memory; determining an availability of free space in said compressed memory swap device; storing said requested page of memory in a selected bucket in said compressed memory swap device in response to said released page of memory in said compressed memory swap device; and marking said selected bucket as busy in response to said storage of said requested page of memory. - View Dependent Claims (2, 3, 4)
-
-
5. A method of operating a memory management system, comprising:
-
receiving a data structure configured to contain at least one free page of memory in said memory management system; receiving a page of memory; determining an availability of free space in a swap device; releasing a bucket of memory in said swap device associated with said at least one free page of memory in response to a determination of a lack of free space; storing said page of memory in a selected bucket in said swap device; and marking said selected bucket of memory in said swap device as busy. - View Dependent Claims (6, 7, 8, 9)
-
-
10. A system for managing memory, comprising:
-
a processor; a memory system comprising a main memory and a secondary memory; an operating system configured to be executed by said processor and to manage said memory system as a virtual memory management system; and a swap device driver configured to be executed by said operating system and to provide a compressed memory swap device within said main memory, wherein said swap device driver is configured to receive a data structure from said operating system, said data structure being configured to provide at least one free page of memory in said memory system and said swap device driver also being configured to release at least one bucket of memory in said compressed memory swap device corresponding to said at least one free page of memory provided by said data structure; wherein said swap device driver is further configured to determine an availability of free space in said compressed memory swap device and is yet further configured to release said at least one bucket of memory in response to a determination of a non-available free space in said compressed memory swap device. - View Dependent Claims (11, 12, 13)
-
-
14. A system for managing memory, comprising:
-
a processor; a memory system comprising a main memory and a secondary memory; an operating system configured to be executed by said processor and to manage said memory system as a virtual memory management system; a swap device driver configured to be executed by said operating system and to provide a compressed memory swap device within said main memory, wherein said swap device driver is configured to receive a data structure from said operating system, said data structure being configured to provide at least one free page of memory in said memory system and said swap device driver also being configured to release at least one bucket of memory in said compressed memory swap device corresponding to said at least one free page of memory provided by said data structure; wherein said swap device driver is configured to initiate a request for a selected page of memory in response to a read page fault, is further configured to retrieve said selected page of memory from said secondary memory in response to a determination of said selected page of memory being located in said secondary memory, and is yet further configured to return said selected page of memory to said operating system; wherein said swap device driver is further configured to schedule said selected page of memory for compression in said compressed memory swap device and is yet further configured to compress said selected page of memory according to said scheduling of said selected page of memory; and wherein said swap device driver is configured to determine an availability of free space in said compressed memory swap device, is further configured to store said selected page of memory in at least one bucket of memory in said compressed memory swap device in response to said determination of available free space, and is yet further configured to mark a location of said selected page of memory in said compressed memory swap device as busy. - View Dependent Claims (15, 16, 17)
-
-
18. A system for managing memory;
- comprising;
a processor; a memory system comprising a main memory and a secondary memory; an operating system being configured to be executed by said processor, also being configured to manage said memory system as a virtual memory management system, and further being configured to provide a data structure configured to contain at least one free page of memory in said virtual memory management system; and a swap device driver configured to be executed by said operating system and to provide a compressed memory swap device within said main memory, wherein said swap device driver is configured to receive a page of memory, to determine an availability of free space in said compressed memory swap device, and to release an associated bucket of memory in said virtual memory management system corresponding to said at least one free page of memory in response to said determination of non-availability of free space; and wherein said swap device driver is further configured to store said page of memory in a bucket in said compressed memory swap device and is further configured to mark said bucket of memory in said compressed memory swap device as busy. - View Dependent Claims (19, 20, 21)
- comprising;
-
22. A method for optimizing performance in a memory system, comprising:
-
receiving a data structure configured to provide at least one free block of memory in said memory system; and releasing at least one bucket of memory in a swap device of said memory system corresponding to said at least one free block of memory provided by said data structure; writing a selected block of memory in response to a write request; scheduling said selected block of memory for said write request for compression; and compressing said selected block of memory for said write request in response to said scheduling of said selected page of memory; determining an availability of free space in a reserved area of said memory system; storing said selected block of memory for said write request in a selected bucket in said reserved area in response to a released page of memory in said reserved area of said memory system; and marking said selected bucket as busy in response to said storage of said selected block of memory for said write request. - View Dependent Claims (23, 24)
-
-
25. A system for optimizing performance of a memory system, comprising:
-
a processor; a buffer; a secondary storage; a swap device driver configured to be executed by said processor, wherein said swap device driver is configured to receive a data structure from said processor, said data structure configured to provide at least one block of memory in said buffer, and said swap device driver also being configured to release at least one bucket corresponding to said at least one block of memory in one of a reserved area of said buffer and said secondary storage; said swap device driver is further configured; to schedule said selected block of memory for compression in said compressed memory swap device and is yet further configured to compress said selected block of memory according to said scheduling of said selected block of memory; to compress said selected block of memory according to said scheduling of said selected block of memory; to determine an availability of free space in said reserved area of said buffer; to store said selected block of memory in at least one bucket of memory in said reserved area of said buffer in response to said determination of available free space; and to mark a location of said selected block of memory in said reserved area of said buffer as busy. - View Dependent Claims (26, 27, 28, 29, 30)
-
Specification