Patent ID: 8838984

Claim:
A method for protecting an integrity of data stored in a storage medium comprising a controller, the storage medium configured to be accessed in access units, wherein an access unit is a page of memory of the storage medium that may be written to or read from in a single write or read operation, the method comprising: receiving, with the controller, data items from a host device for storage in the storage medium; grouping, with the controller, based on a size of an access unit of the storage medium, the data items into a plurality of groups of the same size, wherein: at least some of the groups of the plurality of groups comprise a pluralities of the data items; the plurality of groups are aligned with access units of the storage medium; and each group of the plurality of groups occupies an identical number of pages of memory in the storage medium; computing, with the controller, a group signature over each group of the plurality of groups, thereby generating multiple group signatures; computing, with the controller, an upper-level signature over the multiple group signatures; and storing, with the controller, the plurality of groups of data items, the group signatures, and the upper-level signature in locations in the storage medium, wherein the number of signature levels is statically defined.