Patent US5860079A successfully refreshed from Google Patents.
US5860079A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Arrangement and method for efficient calculation of memory addresses in a block storage memory system
Assignee: Apple Inc
•
Filing: 1996-05-10
•
Granted: 1999-01-12
•
Expires: 2016-05-10
Abstract
Abstract A block storage memory management scheme. According to the disclosed embodiments, a memory list of data is generated from a set of address ranges, a descriptor is created to interact with the memory list, and data is retrieved by preparing the memory specified by the descriptor for an input/output operation, performing the operation, and deleting the descriptor. Memory mappings are delayed as long as possible to enhance the performance of the system, particularly for RAID applications.
Inventors
- 👤 David Lee Smith
- 👤 Carl David Sutton
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-09 21:54
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/06; G06F3/0601; G06F3/0602; G06F3/0626; G06F12/00; G06F12/02; G06F12/0223; G06F3/0628; G06F3/0655; G06F3/0668; G06F3/0671; G06F3/0683; G06F3/0689
Claims Analysis
Total Claims: 18
Claim 1
Independent Claim
146 words
A method for retrieving data stored in a memory system, comprising the steps of: generating a first memory list including address ranges of a memory; generating and storing an initial descriptor describing the first memory list; generating one or more second descriptors defining a corresponding one or more second memory lists, each second memory list including selected address ranges from the first memory list, each selected address range being of a selected block size and being a stride value apart in the first memory list; storing each second descriptor in a separate device driver, each separate device driver associated with a physical storage device; and accessing data stored in one or more of the physical storage devices at one or more physical addresses corresponding to one or more addresses defined in a request by calculating, at a corresponding device driver, the one or more physical addresses.
Claim 2
Independent Claim
146 words
A method for retrieving data stored in a memory system, comprising the steps of: generating a first memory list including address ranges of a memory; generating and storing an initial descriptor describing the first memory list; generating one or more second descriptors defining a corresponding one or more second memory lists, each second memory list including selected address ranges from the first memory list, each selected address range being of a selected block size and being a stride value apart in the first memory list; storing each second descriptor in a separate device driver, each separate device driver associated with a physical storage device; and accessing data stored in one or more of the physical storage devices at one or more physical addresses corresponding to one or more addresses defined in a request by calculating, at a corresponding device driver, the one or more physical addresses.
Claim 3
Dependent Claim
46 words
The method of claim 1, wherein the second descriptor is generated from the first descriptor, an offset value and a length value defining a beginning and a length, respectively, of the first memory list, a granularity value defining the selected block size, and the stride value.
Claim 4
Dependent Claim
27 words
The method of claim 1, wherein the address ranges described by the first memory list are address ranges which describe data stored in multiple physical storage devices.
Claim 5
Dependent Claim
20 words
The method of claim 3, wherein the multiple physical storage devices include at least one redundant array of independent disks.
Claim 6
Dependent Claim
15 words
The method of claim 1, wherein the memory system is a block storage memory system.
Claim 7
Dependent Claim
201 words
A memory management system for managing a memory system, comprising: a file manager for managing a plurality of memory files containing memory data, receiving requests for data contained in one or more of the plurality of memory files, and retrieving the requested data; a plurality of storage media for storing the plurality of memory files; means for generating a first memory list of address ranges in the storage media; means for generating and storing a first descriptor describing the first memory list; means for generating one or more second descriptors defining a corresponding one or more second memory lists, each second memory list including selected address ranges from the first memory list, each selected address range being of a selected block size and being a stride value apart in the first memory list; means for storing each second descriptor in a separate device driver, each separate device driver associated with a physical storage device; the file manager accessing the requested data stored in one or more of the storage media at one or more physical addresses corresponding to one or more addresses defined in the request by calculating the one or more physical addresses using the one or more second descriptors.
Claim 8
Dependent Claim
201 words
A memory management system for managing a memory system, comprising: a file manager for managing a plurality of memory files containing memory data, receiving requests for data contained in one or more of the plurality of memory files, and retrieving the requested data; a plurality of storage media for storing the plurality of memory files; means for generating a first memory list of address ranges in the storage media; means for generating and storing a first descriptor describing the first memory list; means for generating one or more second descriptors defining a corresponding one or more second memory lists, each second memory list including selected address ranges from the first memory list, each selected address range being of a selected block size and being a stride value apart in the first memory list; means for storing each second descriptor in a separate device driver, each separate device driver associated with a physical storage device; the file manager accessing the requested data stored in one or more of the storage media at one or more physical addresses corresponding to one or more addresses defined in the request by calculating the one or more physical addresses using the one or more second descriptors.
Claim 9
Dependent Claim
48 words
The memory management system of claim 6, wherein the second descriptor is generated from the first descriptor, an offset value and a length value defining a beginning and a length, respectively, of the first memory list, a granularity value defining the selected block size, and the stride value.
Claim 10
Dependent Claim
30 words
The memory management system of claim 6, wherein the address ranges described by the first memory list are address ranges which describe data stored in the plurality of storage media.
Claim 11
Dependent Claim
22 words
The memory management system of claim 8, wherein the plurality of storage media include at least one redundant array of independent disks.
Claim 12
Dependent Claim
17 words
The memory management system of claim 6, wherein the memory system is a block storage memory system.
Claim 13
Dependent Claim
150 words
A storage medium encoded with machine-readable computer program code, comprising: means for generating a first memory list of address ranges in a memory system; means for generating and storing a first descriptor describing the first memory list; means for generating one or more second descriptors defining a corresponding one or more second memory lists, each second memory list including selected address ranges from the first memory list, each selected address range being of a selected block size and being a stride value apart in the first memory list; means for storing each second descriptor in a separate device driver, each separate device driver associated with a physical storage device; and means for accessing data stored in the memory system at one or more physical addresses corresponding to one or more addresses defined in the request by calculating the one or more physical addresses using the one or more second descriptors.
Claim 14
Dependent Claim
150 words
A storage medium encoded with machine-readable computer program code, comprising: means for generating a first memory list of address ranges in a memory system; means for generating and storing a first descriptor describing the first memory list; means for generating one or more second descriptors defining a corresponding one or more second memory lists, each second memory list including selected address ranges from the first memory list, each selected address range being of a selected block size and being a stride value apart in the first memory list; means for storing each second descriptor in a separate device driver, each separate device driver associated with a physical storage device; and means for accessing data stored in the memory system at one or more physical addresses corresponding to one or more addresses defined in the request by calculating the one or more physical addresses using the one or more second descriptors.
Claim 15
Dependent Claim
47 words
The storage medium of claim 11, wherein the second descriptor is generated from the first descriptor, an offset value and a length value defining a beginning and a length, respectively, of the first memory list, a granularity value defining the selected block size, and the stride value.
Claim 16
Dependent Claim
30 words
The storage medium of claim 11, wherein the address ranges described by the first memory list are address ranges which describe data stored in a plurality of physical storage devices.
Claim 17
Dependent Claim
22 words
The storage medium of claim 13, wherein the plurality of physical storage devices includes at least one redundant array of independent disks.
Claim 18
Dependent Claim
16 words
The storage medium of claim 11, wherein the memory system is a block storage memory system.
References Cited (Backward Citations)
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2002-01-11 | 2002-07-13 | 2003-01-12 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2006-01-11 | 2006-07-13 | 2007-01-12 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2010-01-11 | 2010-07-13 | 2011-01-12 | $7700.00 | Window Closed / Lapsed |