# US 8,788,764 B2 · Access controller for storage devices

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,788,764 B2
- Document ID: US8788764B2
- Status: Granted
- Kind: B2
- Application number: 10/681,618
- Filed: 2003-10-08
- Published: 2005-04-14
- Granted: 2014-07-22
- Earliest claimed: 2003-10-08
- Assignees: Oracle International Corporation
- Applicants: James A. Williams; William Bridge
- Inventors: James A. Williams; William Bridge
- Web page: https://patentgrep.com/patent/US8788764B2

## CPC

- G06F 12/00: Accessing, addressing or allocating within memory systems or architectures (digital input from, or digital output to record carriers, e.g. to disk storage units, G06F3/06)
- G06F 3/061: {Improving I/O performance}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0674: {Disk device}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems, methodologies, components, and other embodiments associated with controlling access to a storage device are described. One example system embodiment comprises an access controller configured to control access requests to the storage device by metering access to data within a first region within the storage device and by allowing unmetered access to data within a second region within the storage device.

## Claims

### Claim 1

A system for a storage device, comprising:
an access controller configured to control access requests to a storage device by metering access to data within a first predefined region within the storage device and by allowing unmetered access to data within a second predefined region within the storage device;
wherein the access controller is configured to determine if each received access request is to be metered or unmetered based on at least whether the access request is directed to the first predefined region or the second predefined region.

### Claim 2 (depends on 1)

The system of claim 1, where the system is embedded in one of, a database system, an operating system, and an application configured to process access requests to the storage device.

### Claim 3 (depends on 1)

The system of claim 1, where the system further includes allocation logic configured to determine a priority for data to be written to the storage device and causing the data to be stored within the first region or the second region based on the priority.

### Claim 4 (depends on 3)

The system of claim 3 where the priority of the data includes a plurality of priority levels.

### Claim 5 (depends on 1)

The system of claim 1 where the storage device includes one or more disk drives.

### Claim 6 (depends on 1)

The system of claim 1 where the storage device includes a disk and where the second predefined region is defined closer to a perimeter of the disk than the first predefined region.

### Claim 7 (depends on 6)

The system of claim 6 where the first predefined region and the second predefined region are defined by one or more logical block addresses.

### Claim 8 (depends on 1)

The system of claim 1, where the system is embedded in a file system configured to process data input and output requests to the storage device.

### Claim 9 (depends on 1)

The system of claim 1 where the access requests include at least one of data input and data output requests.

### Claim 10 (depends on 1)

The system of claim 1, where the access controller is configured to meter access based on a threshold of access requests directed to the data within the first predefined region.

### Claim 11 (depends on 1)

The system of claim 1 further including one or more tables configured to define at least the data in the first predefined region to be metered.

### Claim 12 (depends on 11)

The system of claim 11 where the data in the one or more tables is configured to define one or more of, a file, an application, and a data location.

### Claim 13

A method, comprising:
receiving access requests to a storage device;
determining, for each access request, whether the access request is directed to at least a first predefined region within the storage device or a second predefined region within the storage device; and
increasing response time for access requests to the first predefined region within the storage device by metering access requests directed to the second predefined region within the storage device;
where the metering includes limiting a number of access requests to the second predefined region based in part on a threshold number of the access requests to the second predefined region.

### Claim 14 (depends on 13)

The method of claim 13 further including storing data to be metered within the storage device based on a priority level of the data.

### Claim 15 (depends on 13)

The method of claim 13 further including determining, for a selected data, whether the selected data will be stored within the first region or the second region.

### Claim 16 (depends on 13)

The method of claim 13 further including:
defining a plurality of regions within the storage device; and
assigning a metering threshold for selected regions of the plurality of regions.

### Claim 17 (depends on 16)

The method of claim 16 where the plurality of regions are defined by setting one or more addresses within the storage device.

### Claim 18 (depends on 13)

The method of claim 13 further including:
monitoring a number of access requests to the second region; and
initiating the metering when the number of access requests reaches a threshold.

### Claim 19

A non-transitory computer-readable storage medium storing processor executable instructions, the processor executable instructions comprising instructions for:
processing access requests to a storage device; and
controlling each of the access requests to the storage by metering access to data within a first predefined region within the storage device and by allowing unmetered access to data within a second predefined region within the storage device;
wherein each access request is metered or unmetered based on at least the first or second predefined region that is associated with the access request.

### Claim 20 (depends on 19)

The non-transitory computer-readable storage medium as set forth in claim 19 where the storage device includes a disk drive.

### Claim 21 (depends on 19)

The non-transitory computer-readable storage medium as set forth in claim 19 further including processor executable instructions operable to cause a processor to store data to the storage device based on a priority of the data, the data being stored in one of the first predefined region or the second predefined region.

### Claim 22

A non-transitory computer-readable storage medium storing processor executable instructions operable to perform a method, the method comprising:
processing access requests that are received, wherein each access request is directed to a region in a storage device;
controlling each access request received based on at least the region that is associated with the access request, wherein the controlling includes metering access requests to a first predefined region within the storage device to maintain response time for access requests to a second predefined region within the storage device; and
setting a threshold value of access requests, where access requests to the first region are caused to be metered after the threshold value of access requests are processed.

### Claim 23 (depends on 19)

The non-transitory computer-readable storage medium as set forth in claim 19 where the metering includes limiting a number of the access requests to the first predefined region from being processed based on at least the region associated with the access request.

### Claim 24 (depends on 19)

The non-transitory computer-readable storage medium as set forth in claim 19 where the processing includes determining to which region each of the access requests is directed.

### Claim 25 (depends on 19)

The non-transitory computer-readable storage medium as set forth in claim 19 further including processor executable instructions operable to cause a processor to define at least the first region and the second region within the storage device.

### Claim 26 (depends on 19)

The non-transitory computer-readable storage medium as set forth in claim 19 including means for allocating data to a selected region within the storage device.

### Claim 27 (depends on 19)

The non-transitory computer-readable storage medium as set forth in claim 19 where the computer-readable medium is integrated with at least one of: a data base system, a file system, an operating system, and the storage device.

### Claim 28 (depends on 19)

The non-transitory computer-readable storage medium as set forth in claim 19 further including access controller means for metering access requests to the first predefined region based on the region requested by the access request.

### Claim 29

A database system configured to process access requests to a storage device, the system comprising:
allocation logic configured to define a plurality of regions within the storage device based on information received from a user;
threshold logic configured to assign a metering threshold to one or more selected regions of the plurality of regions; and
an access controller configured to process each received access request to the storage device based on at least a region that the access request is directed to, the access controller including logic configured to meter access requests to a selected region of the plurality of regions once a metering threshold for the selected region is met.

### Claim 30 (depends on 29)

The database system of claim 29 where the allocation logic is further configured to cause selected data to be placed within a selected region of the plurality of regions based on a frequency of access to the selected data.

### Claim 31 (depends on 29)

The database system of claim 29 where the access controller includes means for metering access requests.

### Claim 32

A computer implemented method, comprising:
receiving, by a controller, access requests to a storage device;
determining, by the controller, if each access request received is to be metered or unmetered based on at least whether the access request is directed to a first predefined region or a second predefined region; and
increasing response time for access requests to the first predefined region within the storage device by providing unmetered access to the first predefined region while metering access requests to the second predefined region within the storage device.
