The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
Jan. 23, 2007

Filed:

Sep. 25, 2003
Applicants:

Kevin Curtis Griffin, Rochester, MN (US);

Scott Dennis Helt, Rochester, MN (US);

Glen Warren Nelson, Rochester, MN (US);

Mark Philip Piazza, Rochester, MN (US);

Gary Ross Ricard, Chatfield, MN (US);

Inventors:

Kevin Curtis Griffin, Rochester, MN (US);

Scott Dennis Helt, Rochester, MN (US);

Glen Warren Nelson, Rochester, MN (US);

Mark Philip Piazza, Rochester, MN (US);

Gary Ross Ricard, Chatfield, MN (US);

Attorneys:
Primary Examiner:
Assistant Examiner:
Int. Cl.
CPC ...
G06F 12/00 (2006.01);
U.S. Cl.
CPC ...
Abstract

An apparatus and method provides the capability of mirroring storage from a primary system to a mirrored system in a way that uses parallelism in the mirrored system to maximize the efficiency of writing data to the mirrored storage for operations that do not conflict while serializing operations that do conflict. The mirroring of the present invention is 'logical mirroring', which does not require identical disk drives, and which supports mirroring between geographically remote locations to protect against catastrophic site failure. Parallelism is achieved in the mirrored system by dividing the virtual address space into multiple ranges, and by assigning a group of tasks to each range. When an operation is received on the mirrored system, the virtual address range that the operation affects is determined, and the operation is then delegated to the task group that corresponds to the affected virtual address range. By dividing the virtual address space into ranges, tasks in different ranges (i.e., in different task groups) may execute in parallel without any threat of conflict, and even tasks within the same range may execute in parallel if they operate in different portions of the range.


Find Patent Forward Citations

Loading…