IP Library Granted Patent US 7,370,143
Granted Patent B1
US 7,370,143 · App. 11/157,227 · Granted May 6, 2008

Controlling write request access to a non-volatile log

Assignee: Network Appliance, 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,370,143
App. No.
11/157,227
Granted
May 6, 2008
Kind
B1
Abstract

In one embodiment of the present invention, a method and system are provided to control access to the non-volatile log (NVlog) of a storage server. By controlling access to the NVLog of a storage server the relative disk write bandwidth available to different client write requests can be controlled. The incoming write request can be categorized, and, during times of heavy load, only be permitted to use NVLog space as permitted based on the categorization of each write request. In one embodiment, the present invention includes receiving a write request from a client at a storage server, and determining whether the received write request can be presently logged in a NVlog based on a category of the write request.

Claims (35)

1. A method comprising:

receiving a write request from a client at a storage server; and

determining whether the received write request can be presently logged in a non-volatile log (NVlog) based on a category of the write request, wherein the category of the write request comprises a target volume of the write request, a client that issued the write request, an application that issued the write request, or a priority level associated with the write request.

2. The method of claim 1 , wherein determining whether the received write request can be presently logged in the NVlog comprises determining whether the category of the write request has exceeded a usage threshold, wherein the usage threshold specifies how much of the NVlog can be occupied by write requests associated with the category.

3. The method of claim 1 , further comprising determining whether the storage server is in a monitor mode, wherein determining whether the received write request can be presently logged in the NVLog is performed only if the storage server is in monitor mode.

4. The method of claim 3 , wherein determining whether the storage server is in a monitor mode comprises determining that a first portion of the NVLog is in consistency point (CP) processing.

5. The method of claim 4 , wherein determining whether the storage server is in a monitor mode further comprises determining that usage on a second portion of the NVLog has exceeded a threshold.

6. A method comprising:

classifying incoming write requests into a plurality of categories, wherein the plurality of categories comprise a target volume of the write request, a client that issued the write request, an application that issued the write request, or a priority level associated with the write request; and

allocating write bandwidth to the incoming write requests based on an allowed NVlog usage for each of the plurality of categories.

7. A storage server comprising:

a network adapter configured to connect the storage server to a network and to receive a write request from a client machine also connected to the network;

an non-volatile log (NVLog) to log write requests between consistency points, the NVLog having a first portion and a second portion, wherein the second portion of the NVLog is used to log write request while the first portion of the NVLog is in consistency point (CP) processing;

and a memory storing an operating system, wherein the operating system implements a control of service layer to categorize the received write request into one of a plurality of categories, wherein the control of service layer implements a log policy manager to determine whether the received write request is allowed to be logged in the second portion of the NVLog based on the category of the write request.

8. The storage server of claim 7 , wherein the control of service layer further comprises a usage monitor module to implement log usage table, wherein the log usage table stores usage statistics over the second portion of the NVLog for each of the plurality of categories.

9. The storage server of claim 8 , wherein the log policy manager determines whether the received write request is allowed to be logged in the second portion of the NVLog by comparing a usage threshold associated with the category of the write request with the usage statistic associated with the category of the write request.

10. The storage server of claim 7 , wherein the category of the write request comprises a target volume of the write request.

11. The storage server of claim 7 , wherein the category of the write request comprises the client machine.

12. The storage server of claim 7 , wherein the category of the write request comprises an application executing on the client machine.

13. The storage server of claim 7 , wherein the category of the write request comprises an application type associated with the write request.

14. A machine-readable storage medium having stored thereon data representing sets of instructions which, when executed by a machine, cause the machine to perform operations comprising:

receiving a write request from a client at a storage server; and

determining whether the received write request can be presently logged in a non-volatile log (NVlog) based on a category of the write request, wherein the category of the write request comprises a target volume of the write request.

15. The machine-readable storage medium of claim 14 , wherein determining whether the received write request can be presently logged in the NVlog comprises determining whether the category of the write request has exceeded a usage threshold, wherein the usage threshold specifies how much of the NVlog can be occupied by write requests associated with the category.

16. The machine-readable storage medium of claim 14 , wherein the sets of instructions further cause the processor to determine whether the storage server is in a monitor mode, wherein determining whether the received write request can be presently logged in the NVLog is performed only if the storage server is in monitor mode.

17. The machine-readable storage medium of claim 16 , wherein determining whether the storage server is in a monitor mode comprises determining that a first portion of the NVLog is in consistency point (CP) processing.

18. A machine-readable storage medium having stored thereon data representing sets of instructions which, when executed by a machine, cause the machine to perform operations comprising:

receiving a write request from a client at a storage server; and

determining whether the received write request can be presently logged in a non-volatile log (NVlog) based on a category of the write request, wherein the category of the write request comprises a client that issued the write request.

19. A machine-readable storage medium having stored thereon data representing sets of instructions which, when executed by a machine, cause the machine to perform operations comprising:

receiving a write request from a client at a storage server; and

determining whether the received write request can be presently logged in a non-volatile log (NVlog) based on a category of the write request, wherein the category of the write request comprises an application that issued the write request.

20. A machine-readable storage medium having stored thereon data representing sets of instructions which, when executed by a machine, cause the machine to perform operations comprising:

receiving a write request from a client at a storage server; and

determining whether the received write request can be presently logged in a non-volatile log (NVlog) based on a category of the write request, wherein the category of the write request comprises a priority level associated with the write request.

Assignments (2)
CHANGE OF NAME Recorded Mar 7, 2025
From: NETWORK APPLIANCE, INC.
To: NETAPP, INC.
Reel/Frame 070448/0640 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2005
From: SCOTT, JOHN A.; SUGGS, DARRELL; HAMILTON, ERIC
To: NETWORK APPLIANCE, INC.
Reel/Frame 017294/0165 →