Patent ID: 7210019

Claim:
A system, comprising: a processing unit; and program logic including code capable of causing the processing unit to perform: (i) generating a plurality of nodes of a hierarchical data structure, wherein each node of the hierarchical data structure is capable of representing a set of at least one locked logical block; (ii) receiving a request to exclusively access a set of at least one logical block; and (iii) determining, by traversing at least one node of the hierarchical data structure, whether the set of at least one logical block overlaps sets of at least one locked logical block represented by the plurality of nodes of the hierarchical data structure, wherein the hierarchical data structure is a balanced tree, wherein the balanced tree is a red-black tree, and wherein each node of the red-black tree comprises a first indicator that indicates a range of logical block addresses corresponding to the set of at least one logical block, a second indicator that indicates a highest logical block address locked by both left and right subtrees, and a third indicator that indicates whether there are pending locks.