Method and apparatus for implementing spread memory layout
First Claim
1. An apparatus comprising a data set stored on machine-readable media, wherein:
- the data set is divided into multiple subsets;
a spread memory layout is implemented on the machine-readable media, the spread memory layout defining multiple pages in memory, with a subset of data from the data set being mapped to one or more predetermined portions of each page, the portions being less than the capacity of each page; and
each page is sized to map to quick access memory of a processor, such that image data when fetched from the machine-readable media are mapped into one or more predetermined portions of quick access memory.
4 Assignments
0 Petitions
Accused Products
Abstract
This disclosure provides a system for efficiently processing a data set. More particularly, image data such as volumetric data are stored in a spread memory fashion, with image data subsets occupying only a fraction of each page. Each memory page is sized to roughly map to processor cache size (or a section thereof), such that image data is always mapped to one or more predetermined fractions of processor cache. By keeping processing parameters (e.g., look-up tables and buffers) in the remainder of cache, the system effectively locks those parameters against overwrite by the image data. This system facilitates the use of conventional workstations, laptops and other machines not enhanced for processing large or complicated data sets. It also extends capabilities of both un-enhanced and enhance machines, permitting them to process data more efficiently.
-
Citations
36 Claims
-
1. An apparatus comprising a data set stored on machine-readable media, wherein:
-
the data set is divided into multiple subsets;
a spread memory layout is implemented on the machine-readable media, the spread memory layout defining multiple pages in memory, with a subset of data from the data set being mapped to one or more predetermined portions of each page, the portions being less than the capacity of each page; and
each page is sized to map to quick access memory of a processor, such that image data when fetched from the machine-readable media are mapped into one or more predetermined portions of quick access memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. An apparatus for processing a data set, comprising:
-
means for mapping data from the data set as part of a page to one or more predetermined portions of a cache; and
means for mapping processing parameters as part of a page to predetermined portions of the cache, such that processing parameters occupy different portions of cache than data from the data set;
wherein the addressing of data from the data set and processing parameters is thereby structured such that processing parameters do not overwrite data from the data set when loaded into the cache and such that data from the data set does not overwrite processing parameters when loaded into the same cache. - View Dependent Claims (16, 17)
-
-
18. A method of processing a data set, comprising:
-
storing the data set in a data set memory in a spread memory layout, with at least a predetermined gap in memory address between each one of multiple subsets of the data;
storing processing parameters selected in one or more predetermined parts of cache;
retrieving portions of the image data and mapping retrieved image data into the cache;
wherein an addressing scheme implemented by the spread memory layout and wherein the mapping into cache cause retrieved data from the data set to be loaded into the cache at locations other than the predetermined parts of cache. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. An apparatus, comprising:
-
a processor;
a quick access memory adapted for use by the processor in processing a data set;
a mechanism for storing the data set in a main memory using a spread memory layout, wherein the spread memory layout is chosen such that the data set is divided into subsets of data, the subsets are each stored in a page of memory of predetermined size, the page size chosen to map to at least a predetermined portion of the quick access memory, and the subsets are restricted to occupy only a selected portion of each page; and
instructions stored on machine readable media that cause said processor to load processing parameters used for processing the data set into the predetermined portions of quick access memory;
wherein the selected portion of each page is chosen such that the subsets of data will only occupy specific memory locations within mapped portion of quick access memory, and wherein the instructions cause the loading of processing parameters into the mapped portion of quick access memory at locations other than the specific memory locations, such that the data set is inhibited from overwriting processing parameters when data from the data set is retrieved from main memory and loaded in mapped fashion into the quick access memory. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36)
-
Specification