Patent ID: 8055681

Claim:
A method of storing data, comprising the steps of: segmenting data to be stored in a data storage structure into a plurality of data segments; storing said plurality of data segments to a plurality of storage units in a form of a flat table, respectively; storing a two-tuple linker as part of the flat table to each of said plurality of storage units except for one used to store the last data segment of the plurality of data segments, the two-tuple linker chaining a data segment stored in a storage unit with a next data segment stored in another storage unit, wherein the chained data segments form the original data in its contiguous form; setting a first data node that represents first data segment of the plurality of data segments in a first storage area; setting a second data node that represents a next data segment after the first data segment in the plurality of data segments in a second storage area; wherein said second data node is an element of a plurality of elements forming a first flat table of at least one flat table in the second storage area; and said step of setting the first data node includes storing in the first node a two-tuple linker which comprises a first identifier indicating said first flat table and a second identifier indicating a row of said element in the first flat table, wherein the data storage structure includes a first cascade of storage unit including N two-tuple linkers, which point to N flat table elements stored respectively in N storage units of a second cascade of storage unit, respectively, each of the storage units of the second cascade of storage unit including M two-tuple linkers, which point to M flat table elements stored respectively in M storage units of a third cascade of storage unit, respectively, wherein N and M are integers greater than one.