IP Library Granted Patent US 7,280,536
Granted Patent B2
US 7,280,536 · App. 11/522,260 · Granted Oct 9, 2007

Fast path for performing data operations

Assignee: Incipient, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,280,536
App. No.
11/522,260
Granted
Oct 9, 2007
Kind
B2
Abstract

Described are techniques used in a computer system for handling data operations to storage devices. A switching fabric includes one or more fast paths for handling lightweight, common data operations and at least one control path for handling other data operations. A control path manages one or more fast paths. The fast path and the control path are utilized in mapping virtual to physical addresses using mapping tables. The mapping tables include an extent table of one or more entries corresponding to varying address ranges. The size of an extent may be changed dynamically in accordance with a corresponding state change of physical storage. The fast path may cache only portions of the extent table as needed in accordance with a caching technique. The fast path may cache a subset of the extent table stored within the control path. A set of primitives may be used in performing data operations. A locking mechanism is described for controlling access to data shared by the control paths.

Claims (34)

1. A method executed in a computer system for processing a data operation comprising:

determining if said data operation has at least one predetermined criteria characterizing said data operation as being a commonly performed non-complex data operation using a primitive operation; and

routing said data operation to a fast path for processing if said data operation has said at least one predetermined criteria, and routing said data operation to a general control path for processing otherwise.

2. The method of claim 1 , wherein said predetermined criteria is one of: said data operation is within a single logical volume, said data operation involves data from within virtual address boundaries of a single mapping table entry, said data operation is a read operation, and said data operation is a write operation.

3. The method of claim 1 , wherein said predetermined criteria is one of: said data operation is indicated as allowable in accordance with information included in a mapping table used in mapping virtual to physical locations for said data operation, and said data operation does not cause a serialization conflict in connection with a mirrored device.

4. The method of claim 1 , further comprising:

routing said data operation to said general control path by causing a fault if said data operation does not have said at least one predetermined criteria.

5. The method of claim 1 , further comprising:

routing said data operation to said general control path in accordance with information included in a mapping table associated with a virtual address to physical address translation of an address of said data operation.

6. The method of claim 5 , further comprising:

determining a volume segment descriptor associated with said data operation, said volume segment descriptor including said mapping table.

7. The method of claim 1 , wherein said data operation is issued by said fast path if said data operation has said at least one predetermined criteria and is otherwise issued by said general control path.

8. The method of claim 1 , wherein said data operation is an upstream data operation from a host and the method further comprising:

producing at least one downstream data operation to a physical device associated with said data operation corresponding to said upstream data operation; and

creating an element on a pending data operation list corresponding to said data operation.

9. The method of claim 1 , further comprising:

routing return data operation data using said fast path to a host that issued said data operation if there is no error, and otherwise routing return data operation data using said general control path to a host that issued said data operation.

10. A computer program product tangibly embodied a computer-readable medium, for processing a data operation, the computer program product including instructions being operable to cause data processing apparatus to:

determine if said data operation has at least one predetermined criteria characterizing said data operation as being a commonly performed non-complex data operation using a primitive operation; and

route said data operation to a fast path for processing if said data operation has said at least one predetermined criteria, and routing said data operation to a general control path for processing otherwise.

11. The computer program product of claim 10 , wherein said predetermined criteria is one of: said data operation is within a single logical volume, said data operation involves data from within virtual address boundaries of a single mapping table entry, said data operation is a read operation, and said data operation is a write operation.

12. The computer program product of claim 10 , wherein said predetermined criteria is one of: said data operation is indicated as allowable in accordance with information included in a mapping table used in mapping virtual to physical locations for said data operation, and said data operation does not cause a serialization conflict in connection with a mirrored device.

13. The computer program product of claim 12 , further operable to cause the data processing apparatus to:

determine a volume segment descriptor associated with said data operation, said volume segment descriptor including said mapping table.

14. The computer program product of claim 10 , further operable to cause the data processing apparatus to:

route said data operation to said general control path by causing a fault if said data operation does not have said at least one predetermined criteria.

15. The computer program product of claim 10 , further operable to cause the data processing apparatus to:

route said data operation to said general control path in accordance with information included in a mapping table associated with a virtual address to physical address translation of an address of said data operation.

16. The computer program product of claim 10 , wherein said data operation is issued by said fast path if said data operation has said at least one predetermined criteria and is otherwise issued by said general control path.

17. The computer program product of claim 10 , wherein said data operation is an upstream data operation from a host and the computer program product further operable to cause the data processing apparatus to:

produce at least one downstream data operation to a physical device associated with said data operation corresponding to said upstream data operation; and

create an element on a pending data operation list corresponding to said data operation.

18. The computer program product of claim 10 , further operable to cause the data processing apparatus to:

route return data operation data using said fast path to a host that issued said data operation if there is no error, and otherwise route return data operation data using said general control path to a host that issued said data operation.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2013
From: TEXAS MEMORY SYSTEMS, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 030081/0035 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2009
From: INCIPIENT INC.
To: TEXAS MEMORY SYSTEMS, INC.
Reel/Frame 022939/0235 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2007
From: TESTARDI, RICHARD
To: INCIPIENT, INC.
Reel/Frame 019822/0932 →
Continuity (4)
Continuation 1021809800 · Aug 13, 2002
Provisional Application 6034005000 · Dec 10, 2001
Provisional Application 6036894000 · Mar 29, 2002
Related Publication 20070016754A1 · Jan 18, 2007