1. A memory system, comprising: a non-volatile memory; and a data manager operable to store data in the non-volatile memory using a data structure that comprises a plurality of data segment objects of variable length and at least one index table object referencing at least a portion of the plurality of data segment objects, each of the at least one index table object having a field for referencing another of the at least one index table object when a body of data is stored using more than one index table object, the data manager operable to store a body of data in at least some of the data segment objects such that at least two data segment objects each containing a respective portion of the body of data are not stored contiguously in the memory cells, the data manager further operable to update the at least one index table object that references when one of the plurality of data segment objects referenced by the at least one index table object is updated.