IP Library › Granted Patent US 8,909,861
Granted Patent B2
US 8,909,861 · App. 13/187,757 · Granted Dec 9, 2014

Using external memory devices to improve system performance

Inventors: Alexander Kirshenbaum (Redmond, WA); Cenk Ergan (Bellevue, WA); Michael R. Fortin (Redmond, WA); Robert L. Reinauer (Kirkland, WA)
Assignee: Microsoft Corporation
G06F12/0866
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 8,909,861
App. No.
13/187,757
Granted
Dec 9, 2014
Kind
B2
Abstract

The invention is directed towards a system and method that utilizes external memory devices to cache sectors from a rotating storage device (e.g., a hard drive) to improve system performance. When an external memory device (EMD) is plugged into the computing device or onto a network in which the computing device is connected, the system recognizes the EMD and populates the EMD with disk sectors. The system routes I/O read requests directed to the disk sector to the EMD cache instead of the actual disk sector. The use of EMDs increases performance and productivity on the computing device systems for a fraction of the cost of adding memory to the computing device.

Claims (27)

1. A system comprising:

a computing device;

a manager implemented by the computing device and configured for determining that an external memory device that is external to the computing device is accessible to the manager, that a read request is directed to data of a sector of a plurality of sectors of a storage device of the computing device, and that the data is available from the external memory device, where the external memory device is separate from the storage device, and where the external memory device is configured for completing the read request faster than the storage device;

the manager further configured for redirecting the read request from the storage device to the external memory device; and

the manager further configured for prioritizing copying sector data from the storage device to the external memory device based on a criteria that includes frequencies of access of various of the plurality of sectors, where the prioritizing is based on the frequencies of the access.

2. The system of claim 1 wherein the criteria includes a historical usage of a particular sector's data.

3. The system of claim 1 wherein the criteria includes sectors being accessed.

4. The system of claim 1 wherein the external memory device is non-volatile.

5. The system of claim 1 wherein the storage device is a disk drive.

6. There system of claim 1 wherein data is first written to the storage device and then copied back to the external memory device as opposed to being first written to the external memory device.

7. A method comprising:

determining, by a manager implemented by a computing device, that an external memory device that is external to the computing device is accessible to the manager, that a read request is directed to data of a sector of a storage device of the computing device, and that the data is available from an external memory device, where the external memory device is separate from the storage device, and where the external memory device is configured for completing the read request faster than the storage device;

redirecting, in response to the determining, the read request from the storage device to the external memory device; and

prioritizing copying sector data from the storage device to the external memory device based on a criteria.

8. The method of claim 7 wherein the criteria includes a historical usage of a particular sector's data.

9. The method of claim 7 wherein the criteria includes sectors being accessed.

10. The method of claim 7 wherein the external memory device is non-volatile.

11. The method of claim 7 wherein the storage device is a disk drive.

12. There method of claim 7 wherein data is first written to the storage device and then copied back to the external memory device as opposed to being first written to the external memory device.

13. At least one computer storage media storing computer-executable instructions that, when executed by a computing device, cause the computing device to perform a method comprising:

determining, by a manager implemented by the computing device, that an external memory device that is external to the computing device is accessible to the manager, that a read request is directed to data of a sector of a storage device of the computing device, and that the data is available from an external memory device, where the external memory device is separate from the storage device, and where the external memory device is configured for completing the read request faster than the storage device;

redirecting, in response to the determining, the read request from the storage device to the external memory device; and

prioritizing copying sector data from the storage device to the external memory device based on a criteria.

14. The at least one computer storage media of claim 13 wherein the criteria includes a historical usage of a particular sector's data, the historical usage based on tracked disk sector usage information.

15. The at least one computer storage media of claim 13 wherein the criteria includes sectors being accessed.

16. The at least one computer storage media of claim 13 wherein the external memory device is non-volatile.

17. There at least one computer storage media of claim 13 wherein data is first written to the storage device and then copied back to the external memory device as opposed to being first written to the external memory device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2016
From: KIRSHENBAUM, ALEXANDER; ERGAN, CENK; FORTIN, MICHAEL R.; REINAUER, ROBERT L.
To: MICROSOFT CORPORATION
Reel/Frame 037456/0059 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0001 →
Continuity (4)
Continuation 12775168 · May 6, 2010
Continuation 12366112 · Feb 5, 2009
Continuation 10970772 · Oct 21, 2004
Related Publication 20110276743A1 · Nov 10, 2011