Patent ID: 7478205

Claim:
A method for performing data operations comprising: providing at least two data operations having processing performed at a same time and each using data from a same portion; determining whether a first address range of said same portion spans more than two data partitions, wherein a lock is associated with each of said data partitions, a first data partition is associated with a starting address of said first address range and a second data partition is associated with an ending address of said first address range, and determining whether at least one of said two data operations is applied to said first data partition and said second data partition and is not applied to any data partition intervening between said first data partition and said second data partition; and for each of said at least two data operations that spans more than two data partitions, is applied to said first data partition and said second data partition, and is not applied to any data partition intervening between said first data partition and said second data partition, performing processing, said processing including: obtaining a first lock of said first data partition; applying said data operation to said first data partition; obtaining a second lock of said second data partition; determining whether partitions between said first data partition and said second data partition are locked; and applying said each data operation to said second partition in accordance with locations specified in said each data operation when partitions between said first data partition and said second data partition are unlocked and while holding said first lock and said second lock.