# US 9,423,965 B2 · Method and system for writing to and reading from computer readable media

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

- Number: US 9,423,965 B2
- Document ID: US9423965B2
- Status: Granted
- Kind: B2
- Application number: 14/329,574
- Filed: 2014-07-11
- Published: 2016-01-14
- Granted: 2016-08-23
- Earliest claimed: 2014-07-11
- Assignees: Dell Products L.P.
- Applicants: Kiran Kumar Devarapalli; Avinash Bendigeri; Karan Singh Gandhi
- Inventors: Kiran Kumar Devarapalli; Avinash Bendigeri; Karan Singh Gandhi
- Web page: https://patentgrep.com/patent/US9423965B2

## CPC

- G06F 3/0605: {by facilitating the interaction with a user or administrator}
- G06F 3/061: {Improving I/O performance}
- G06F 3/0613: {in relation to throughput}
- G06F 3/064: {Management of blocks}
- G06F 3/0644: {Management of space entities, e.g. partitions, extents, pools}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0665: {at area level, e.g. provisioning of virtual or logical volumes}
- G06F 3/0674: {Disk device}
- G06F 3/0689: {Disk arrays, e.g. RAID, JBOD}
- G06F 3/0673: {Single storage device}
- G11B 2020/1087: {wherein a selection is made among at least two alternative ways of processing}
- G11B 2020/10916: {Seeking data on the record carrier for preparing an access to a specific address}
- G11B 2020/10925: {involving an inter-layer jump, i.e. changing from one recording layer to another}
- G11B 2020/10935: {wherein a time constraint must be met}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11B: INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER (recording measured values in a way that does not require playback through a transducer G01D9/00; recording or playback apparatus using mechanically marked tape, e.g. punched paper tape, or using unit records, e.g. punched or magnetically marked cards G06K; transferring data from one type of record carrier to another G06K1/18; circuits for coupling output of reproducer to radio receiver H04B1/20; gramophone pick-ups or like acoustic electromechanical transducers or circuits therefor H04R)

## Abstract

According to one embodiment, a method includes receiving a write request and determining a first portion of information associated with the write request. The method additionally includes determining a first location on a first disk to write the first portion of information and, based on the determined first location on the first disk, determining a second location on a second disk to write the first portion of information. The method further includes writing the first portion of the information to the first location on the first disk. The first location comprises an outer track of the first disk. The method further includes writing the first portion of the information to the second location on the second disk, the second location comprising an inner track of the second disk.

## Claims

### Claim 1

A method, comprising:
receiving a write request;
determining a first portion of information associated with the write request;
determining a first location on a first disk to write the first portion of information, wherein determining the first location on the first disk comprises determining a first sector corresponding to the first location;
writing the first portion of the information to the first location on the first disk, the first location comprising an outer track of the first disk, wherein writing the first portion of the information to the first location on the first disk comprises writing the first portion of the information to the first sector;
calculating a total number of sectors on the first disk;
calculating a total number of sectors on the second disk;
determining that the total number of sectors on the first disk is different than the total number of sectors on the second disk;
in response to determining that the total number of sectors of the first disk is different than the total number of sectors on the second disk, determining a subset of sectors on the second disk;
based on the determined first location on the first disk, determining a second location on a second disk to write the first portion of information, wherein determining the second location on the second disk comprises determining a second sector from the subset of sectors on the second disk; and
writing the first portion of the information to the second location on the second disk, the second location comprising an inner track of the second disk, wherein writing the first portion of the information to the second location on the second disk comprises writing the first portion of the information to the second sector.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first disk and the second disk are in a redundant array of independent disks (RAID) configuration.

### Claim 3

A method, comprising:
receiving a write request;
determining a first portion of information associated with the write request;
determining a first location on a first disk to write the first portion of information;
based on the determined first location on the first disk, determining a second location on a second disk to write the first portion of information;
determining a first sector corresponding to the first location;
writing the first portion of the information to the first location on the first disk, the first location comprising an outer track of the first disk, wherein writing the first portion of the information to the first location on the first disk comprises writing the first portion of the information to the first sector;
determining a first sector number corresponding to the first sector;
determining a second sector number by analyzing the first sector number with respect to the other sector numbers of the first disk; and
writing the first portion of the information to the second location on the second disk, the second location comprising an inner track of the second disk, wherein writing the first portion of the information to the second location on the second disk comprises writing the first portion of the information to a second sector corresponding to the second sector number.

### Claim 4

A method, comprising:
receiving a read request for a first information, the first information stored on an outer track of a first disk, the first information also stored on an inner track of a second disk;
determining a first location on the first disk corresponding to the read request;
determining whether the first location is an outer track of the first disk;
in response to determining that the first location is an outer track of the first disk, directing the read request to the first disk rather than the second disk.

### Claim 5 (depends on 4)

The method of claim 4, wherein the first disk and the second disk are in a redundant array of independent disks (RAID) configuration.

### Claim 6 (depends on 4)

The method of claim 4, wherein:
determining the first location comprises determining a first sector; and
determining whether the first location is an outer track of the first disk comprises:
determining a first sector number corresponding to the first sector;
analyzing the first sector number with respect to other sector numbers of the first disk; and
in response to analyzing the first sector number, determining the first sector number corresponds to the outer track of the first disk.

### Claim 7 (depends on 4)

The method of claim 4, wherein:
determining the first location comprises determining a first sector; and
determining whether the first location is an outer track of the first disk comprises:
calculating a total number of sectors on the first disk;
determining a first sector number corresponding to the first sector;
calculating the difference between the total number of sectors and the first sector number;
determining whether the first sector number is less than or equal to the difference between the total number of sectors and the first sector number; and
in response to determining whether the first sector number is less than or equal to the difference between the total number of sectors and the first sector number, determining the first sector number corresponds to the outer track of the first disk.

### Claim 8 (depends on 4)

The method of claim 4, wherein:
determining a first location comprises determining a first sector; and
determining whether the first location is an outer track of the first disk comprises:
determining a first sector number corresponding to the first sector;
comparing the first sector number to a threshold; and
in response to comparing the first sector number to a threshold, determining the first sector number corresponds to the outer track of the first disk.

### Claim 9

An information-handling system, comprising:
a processor;
a memory communicatively coupled to the processor;
a controller communicatively coupled to the processor and the memory, the controller configured to:
receive a write request;
determine a first portion of information associated with the write request;
determine a first location on a first disk to write the first portion of information, wherein determining the first location on the first disk comprises determining a first sector corresponding to the first location;
write the first portion of the information to the first location on the first disk, the first location comprising an outer track of the first disk, wherein writing the first portion of the information to the first location on the first disk comprises writing the first portion of the information to the first sector;
calculate a total number of sectors on the first disk;
calculate a total number of sectors on the second disk;
determine that the total number of sectors on the first disk is different than the total number of sectors on the second disk;
in response to determining that the total number of sectors of the first disk is different than the total number of sectors on the second disk, determine a subset of sectors on the second disk;
based on the determined first location on the first disk, determine a second location on a second disk to write the first portion of information, wherein determining the second location on the second disk comprises determining a second sector from the subset of sectors on the second disk; and
write the first portion of the information to the second location on the second disk, the second location comprising an inner track of the second disk, wherein writing the first portion of the information to the second location on the second disk comprises writing the first portion of the information to the second sector.

### Claim 10 (depends on 9)

The system of claim 9, wherein the first disk and the second disk are in a redundant array of independent disks (RAID) configuration.

### Claim 11

An information handling system, comprising:
a processor;
a memory communicatively coupled to the processor;
a controller communicatively coupled to the processor and the memory, the controller configured to:
receive a write request;
determine a first portion of information associated with the write request;
determine a first location on a first disk to write the first portion of information;
based on the determined first location on the first disk, determine a second location on a second disk to write the first portion of information;
determine a first sector corresponding to the first location;
write the first portion of the information to the first location on the first disk, the first location comprising an outer track of the first disk, wherein writing the first portion of the information to the first location on the first disk comprises writing the first portion of the information to the first sector;
determine a first sector number corresponding to the first sector;
determine a second sector number by analyzing the first sector number with respect to the other sector numbers of the first disk; and
write the first portion of the information to the second location on the second disk, the second location comprising an inner track of the second disk, wherein writing the first portion of the information to the second location on the second disk comprises writing the first portion of the information to a second sector corresponding to the second sector number.

### Claim 12

An information-handling system, comprising:
a processor;
a memory communicatively coupled to the processor;
a controller communicatively coupled to the processor and the memory, the controller configured to:
receive a read request for a first information, the first information stored on an outer track of a first disk, the first information also stored on an inner track of a second disk;
determine a first location on the first disk corresponding to the read request;
determine whether the first location is an outer track of the first disk;
in response to determining that the first location is an outer track of the first disk, direct the read request to the first disk rather than the second disk.

### Claim 13 (depends on 12)

The system of claim 12, wherein the first disk and the second disk are in a redundant array of independent disks (RAID) configuration.

### Claim 14 (depends on 12)

The system of claim 12, wherein:
determining the first location comprises determining a first sector; and
determining whether the first location is an outer track of the first disk comprises:
determining a first sector number corresponding to the first sector;
analyzing the first sector number with respect to other sector numbers of the first disk; and
in response to analyzing the first sector number, determining the first sector number corresponds to the outer track of the first disk.

### Claim 15 (depends on 12)

The system of claim 12, wherein:
determining the first location comprises determining a first sector; and
determining whether the first location is an outer track of the first disk comprises:
calculating a total number of sectors on the first disk;
determining a first sector number corresponding to the first sector;
calculating the difference between the total number of sectors and the first sector number;
determining whether the first sector number is less than or equal to the difference between the total number of sectors and the first sector number; and
in response to determining whether the first sector number is less than or equal to the difference between the total number of sectors and the first sector number, determining the first sector number corresponds to the outer track of the first disk.

### Claim 16 (depends on 12)

The system of claim 12, wherein:
determining a first location comprises determining a first sector; and
determining whether the first location is an outer track of the first disk comprises:
determining a first sector number corresponding to the first sector;
comparing the first sector number to a threshold; and
in response to comparing the first sector number to a threshold, determining the first sector number corresponds to the outer track of the first disk.
