HIGH PERFORMANCE SYSTEM PROVIDING SELECTIVE MERGING OF DATAFRAME SEGMENTS IN HARDWARE
First Claim
1. A method of writing data to a range of logical blocks in a storage medium, the method comprising:
- receiving a command comprising 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 of data in a first temporary storage;
generating a logical page by duplicating the logical block of data a plurality of times corresponding to a number of logical blocks comprising 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.
14 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.
53 Citations
38 Claims
-
1. A method of writing data to a range of logical blocks in a storage medium, the method comprising:
-
receiving a command comprising 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 of data in a first temporary storage; generating a logical page by duplicating the logical block of data a plurality of times corresponding to a number of logical blocks comprising 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. An apparatus for writing data to a range of logical blocks, the apparatus comprising:
-
a first device configured to receive a command comprising a starting logical block address, a value indicating a range of logical block addresses, and a logical block of data; a first temporary storage configured to store the logical block of data; a processor configured to generate a logical page by duplicating the logical block of data a plurality of times corresponding to a number of logical blocks comprising a logical page, and transport the generated logical page to a second temporary storage; a storage medium configured to store logical pages; write circuitry configured to write the generated logical page from the second temporary storage into the storage medium beginning from the starting logical block address; and a read-modify-write module configured to perform 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. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21)
-
-
22. 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 (23, 24, 25, 26, 27, 28, 29)
-
-
30. 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 (31, 32, 33, 34, 35, 36, 37, 38)
-
Specification