IP Library Granted Patent US 9,423,965
Granted Patent B2
US 9,423,965 · App. 14/329,574 · Granted Aug 23, 2016

Method and system for writing to and reading from computer readable media

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 9,423,965
App. No.
14/329,574
Granted
Aug 23, 2016
Kind
B2
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 (105)

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.

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

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.

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.

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

6. 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.

7. 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.

8. 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.

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.

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

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.

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.

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

14. 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.

15. 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.

16. 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.

Assignments (15)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL USA L.P.; ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF REEL 033625 FRAME 0688 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.
Reel/Frame 040027/0757 →
RELEASE OF REEL 033625 FRAME 0748 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.
Reel/Frame 040027/0050 →
RELEASE OF REEL 033625 FRAME 0711 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.
Reel/Frame 040016/0903 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Aug 27, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 033625/0748 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Aug 27, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 033625/0711 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Aug 27, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 033625/0688 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2014
From: DEVARAPALLI, KIRAN KUMAR; BENDIGERI, AVINASH; GANDHI, KARAN SINGH
To: DELL PRODUCTS L.P.
Reel/Frame 033299/0249 →