High performance system for selective merging of dataframe segments
First Claim
1. A method of merging logical pages of data, the method comprising:
- receiving a command comprising a starting logical block address, a value indicating a range of logical block addresses, and a write mask;
receiving a first plurality of logical blocks associated with the command;
dividing the write mask into portions corresponding to a number of logical blocks comprising a logical page;
obtaining a portion of the write mask corresponding to a current logical page;
constructing a first logical page based on the corresponding portion of the write mask using the first plurality of logical blocks; and
retrieving from a storage medium a second logical page comprising a second plurality of logical blocks;
generating a merged output logical page by merging logical blocks of the second logical page with logical blocks of the first logical page based on a corresponding logical page portion of the write mask beginning from the starting logical block address.
6 Assignments
0 Petitions
Accused Products
Abstract
A method of writing data to a range of logical blocks in a storage medium includes: receiving a command including a starting logical block address, a value indicating a range of logical block addresses to be written, and a logical block of data; storing the logical block in a first temporary storage; generating a logical page by duplicating the logical block a plurality of times corresponding to a number of logical blocks in a logical page and transporting the generated logical page to a second temporary storage and storing the generated logical page in the second temporary storage; writing the generated logical page from the second temporary storage into the storage medium beginning from the starting logical block address; and performing a read-modify-write operation if the first write operation does not begin on a logical page boundary or the last write operation does not end on a logical page boundary.
-
Citations
17 Claims
-
1. A method of merging logical pages of data, the method comprising:
-
receiving a command comprising a starting logical block address, a value indicating a range of logical block addresses, and a write mask; receiving a first plurality of logical blocks associated with the command; dividing the write mask into portions corresponding to a number of logical blocks comprising a logical page; obtaining a portion of the write mask corresponding to a current logical page; constructing a first logical page based on the corresponding portion of the write mask using the first plurality of logical blocks; and retrieving from a storage medium a second logical page comprising a second plurality of logical blocks; generating a merged output logical page by merging logical blocks of the second logical page with logical blocks of the first logical page based on a corresponding logical page portion of the write mask beginning from the starting logical block address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An apparatus for merging logical pages of data, the apparatus comprising:
-
a command input device configured to receive a command comprising a starting logical block address, a value indicating a range of logical block addresses, and a write mask; a temporary storage configured to receive and store a first plurality of logical blocks associated with the command; an input logic device configured to receive the first plurality of logical blocks associated with the command from the temporary storage and retrieve from a storage medium a second logical page comprising a second plurality of logical blocks, divide the write mask into portions corresponding to a number of logical blocks comprising a logical page, and construct a first logical page based on a corresponding portion of the write mask using the first plurality of logical blocks; and data path circuitry comprising a plurality of data paths comprising a plurality of multiplexers, the circuitry configured to generate, using the plurality of data paths, a merged output logical page by merging, beginning from the starting logical block address, logical blocks of the second logical page with logical blocks of the first logical page based on a corresponding logical page portion of the write mask. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
Specification