Merging independent writes, separating dependent and independent writes, and error roll back
First Claim
1. A method of updating a memory with a plurality of memory lines, the memory storing a tree, a plurality of buckets, and a plurality of rules, the method comprising:
- maintaining a copy of the memory with a plurality of memory lines;
writing a plurality of changes to at least one of the tree, the plurality of buckets, and the plurality of rules to the copy;
determining whether each of the plurality of changes is an independent write or a dependent write;
merging independent writes to a same memory line of the copy in a single line write; and
transferring updates from the plurality of memory lines of the copy to the plurality of memory lines of the memory.
6 Assignments
0 Petitions
Accused Products
Abstract
In an embodiment, a method of updating a memory with a plurality of memory lines, the memory storing a tree, a plurality of buckets, and a plurality of rules, includes maintaining a copy of the memory with a plurality of memory lines. The method further includes writing a plurality of changes to at least one of the tree, the plurality of buckets, and the plurality of rules to the copy. The method further includes determining whether each of the plurality of changes is an independent write or a dependent write. The method further includes merging independent writes to the same line of the copy. The method further includes transferring updates from the plurality of lines of the copy to the plurality of lines of the memory.
84 Citations
25 Claims
-
1. A method of updating a memory with a plurality of memory lines, the memory storing a tree, a plurality of buckets, and a plurality of rules, the method comprising:
-
maintaining a copy of the memory with a plurality of memory lines; writing a plurality of changes to at least one of the tree, the plurality of buckets, and the plurality of rules to the copy; determining whether each of the plurality of changes is an independent write or a dependent write; merging independent writes to a same memory line of the copy in a single line write; and transferring updates from the plurality of memory lines of the copy to the plurality of memory lines of the memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for updating a memory with a plurality of memory lines, the memory storing a tree, a plurality of buckets, and a plurality of rules, the system comprising:
-
a shadow memory module configured to maintain a copy of the memory with a plurality of memory lines; a change set module configured to write a plurality of changes to at least one of the tree, the plurality of buckets, and the plurality of rules to the copy; a dependency testing module configured to determine whether each of the plurality of changes is an independent write or a dependent write; a merging module configured to merge independent writes to a same memory line of the copy in a single line write; and an update transfer module configured to transfer updates from the plurality of memory lines of the copy to the plurality of memory lines of the memory. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer-readable medium configured to store instructions for updating a memory with a plurality of memory lines, the memory storing a tree, a plurality of buckets, and a plurality of rules, the instructions, when loaded and executed by a processor, causes the processor to:
-
maintain a copy of the memory with a plurality of memory lines; write a plurality of changes to at least one of the tree, the plurality of buckets, and the plurality of rules to the copy; determine whether each of the plurality of changes is an independent write or a dependent write; merge independent writes to a same memory line of the copy in a single line write; and transfer updates from the plurality of memory lines of the copy to the plurality of memory lines of the memory. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25)
-
Specification