Dynamic allocation of computer memory
First Claim
Patent Images
1. A method for writing data to a memory having physical sector addresses that have not been assigned to logical sector addresses, the method comprising:
- receiving a write command having associated therewith a starting logical sector address;
assigning the starting logical sector address to a group of the physical sector addresses;
assigning the group of the physical sector addresses to a group of logical sector addresses;
determining from the group of the physical sector addresses a physical sector address associated with the starting logical sector address; and
writing data to the physical sector address within the group of the physical sector addresses associated with the starting logical sector address.
3 Assignments
0 Petitions
Accused Products
Abstract
A method for processing requests or commands for writing and reading to and from memory that has not been allocated and reserved for one or more volumes, and a method for establishing one or more volumes, where the one or more volumes define an area of the memory that is accumulatively greater than the actual memory capacity, thus allowing for memory to be added at a later time.
-
Citations
33 Claims
-
1. A method for writing data to a memory having physical sector addresses that have not been assigned to logical sector addresses, the method comprising:
-
receiving a write command having associated therewith a starting logical sector address;
assigning the starting logical sector address to a group of the physical sector addresses;
assigning the group of the physical sector addresses to a group of logical sector addresses;
determining from the group of the physical sector addresses a physical sector address associated with the starting logical sector address; and
writing data to the physical sector address within the group of the physical sector addresses associated with the starting logical sector address. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for processing a request or command, having a starting logical sector address, to write data to a memory, where the memory has not been allocated and reserved, the method comprising:
-
grouping physical sector addresses into a plurality of segments;
reading the starting logical sector address;
selecting a segment from the plurality of segments;
associating the segment and physical sector addresses associated therewith, with the starting logical sector address and a plurality of logical sector addresses;
determining a physical sector address associated with the starting logical sector address; and
writing the data in the memory at the physical sector address. - View Dependent Claims (9, 10, 11, 13)
-
-
12. A method for establishing one or more logical partitions of a memory having a memory capacity, where the one or more logical partitions define an area of the memory that is accumulatively greater than the memory capacity, the method comprising:
-
representing the memory as a plurality of segments, each segment associated with a plurality of logical sectors of which the sum of the logical sectors are accumulatively greater than the memory capacity;
maintaining a list of the plurality of segments available for association to the one or more logical sector addresses; and
establishing a data structure associated with each of the plurality of segments, the data structure defining properties of the segment. - View Dependent Claims (14, 15, 16)
-
-
17. A method for processing a request or command, having a starting logical sector address, to write data to a memory, where the memory has not been allocated and reserved and is represented as a plurality of segments, the method comprising:
-
reading the starting logical sector address;
selecting a first segment from the plurality of segments;
selecting a first set of physical sector addresses;
associating the first segment and the first set of physical sector addresses to the starting logical sector address;
associating the first set of physical sector addresses with a set of logical sector addresses;
determining a physical sector address associated with the starting logical sector address;
determining a quantity of physical sectors available within the first segment;
determining whether the data exceeds the quantity of physical sectors;
if the data exceeds the quantity of physical sectors, selecting a second segment from the plurality of segments;
selecting a second set of physical sector addresses;
associating the second segment and the second set of physical sector addresses to a second starting logical sector address;
associating the second set of physical sector addresses with a second set of logical sector addresses;
determining a second physical sector address associated with the second starting logical sector address; and
writing the data in the memory at the first set of physical sector addresses and the second set of physical sector addresses.
-
-
18. A method for processing a request or command, having a starting logical sector address and a sector count, to write to a memory, where one or more segments having a predetermined number of logical sector addresses has been allocated and reserved for the memory, the method comprising:
-
determining whether the starting logical sector address is within a segment of the one or more segments;
if the starting logical sector address is within a segment of the one or more segments, determining the segment that the starting logical sector address is within;
determining whether the sector count exceeds the predetermined number of logical sector addresses in the segment that are available;
if the sector count does not exceed the predetermined number of logical sector addresses in the segment that are available, writing to the predetermined number of logical sector addresses in the segment that are available;
if the sector count does exceed the predetermined number of logical sector addresses in the segment that are available, writing data to the predetermined number of logical sector addresses in the segment that are available, determining a second starting logical sector address and a second sector count, and determining whether the second starting logical sector address is within a second segment of the one or more segments; and
if the second starting logical sector address is within the second segment of the one or more segments, writing data to the predetermined number of logical sector addresses in the second segment that are available.
-
-
19. A method for processing a request or command, having a starting logical sector address and a sector count value, to read data from a memory, the method comprises:
-
read a segment descriptor that is associated with the starting logical sector address;
determine from the segment descriptor a starting physical sector address and an ending physical sector address; and
read data located within a range from the starting physical sector address and the ending physical sector address from the memory. - View Dependent Claims (20, 21)
-
-
22. A method for processing a request or command, having a starting logical sector address, to read data from a memory, the method comprises the steps:
-
read the starting logical sector address;
determine whether the starting logical sector address is associated with a segment descriptor;
if the starting logical sector address is not associated with the segment descriptor, then generate data and respond to the request or command by returning the generated data; and
if the starting logical sector address is associated with the segment descriptor, then read the data associated with the segment descriptor from the memory. - View Dependent Claims (23, 24)
-
-
25. A method for processing a request or command, having a starting logical sector address and a sector count value, to read data from a memory, the method comprises the steps:
-
read the starting logical sector address;
determine whether the starting logical sector address is associated with a segment descriptor;
if the starting logical sector address is not associated with the segment descriptor, then generate data and respond to the request or command by returning the generated data; and
if the starting logical sector address is associated with the segment descriptor, then read the data from a location in memory that is associated with the starting logical sector address and the sector count value, as defined by the segment descriptor. - View Dependent Claims (26, 27)
-
-
28. A method for processing a request or command, having a starting logical sector address and a sector count value, to read data from a memory, the method comprising the steps:
-
reading the starting logical sector address;
determining from a group of segment descriptors a segment descriptor associated with the starting logical sector address; and
reading the data from a location in memory that is associated with the starting logical sector address and the sector count value, as defined by the segment descriptor. - View Dependent Claims (29, 30)
-
-
31. A method for processing a request or command, having a starting logical sector address and a sector count value, to write data to a memory, the method comprising the steps:
-
reading the starting logical sector address;
determining from a group of segment descriptors a segment descriptor associated with the starting logical sector address; and
writing the data to a location in memory that is associated with the starting logical sector address and the sector count value, as defined by the segment descriptor. - View Dependent Claims (32, 33)
-
Specification