Patent ID: 9690713
Date: 2017-06-27
CPC Classifications: G06F

Claim:
1. A system operative to use a plurality of linked lists for keeping track of changes to be made in data sets currently stored in a flash memory, comprising: a first compute element; a first flash memory comprising a plurality of blocks currently storing respectively a plurality of data sets, in which said first flash memory is associated with a second compute element; a first random access memory located in a first server together with said first compute element, in which said first random access memory comprises a plurality of linked lists associated respectively with the plurality of blocks, in which each linked list records a respective plurality of requirements to change the data set of the respective block, in which said plurality of requirements were made by said first compute element and have been accumulated in said linked list since the data set was last written to the respective block; and a switching network; wherein the first compute element is configured to: identify one of the linked lists as being currently in condition to be used for updating the respective block; traverse the linked list identified in order to accumulate all the respective plurality of requirements into an aggregated requirement to change the data set of the respective block; and send said aggregated requirement accumulated to said second compute element via said switching network; wherein said second compute element is configured to receive said aggregated requirement and change the data set of the respective block by performing a flash block write to the respective block in conjunction with said aggregated requirement.