IP Library Granted Patent US 7,194,576
Granted Patent B1
US 7,194,576 · App. 10/633,090 · Granted Mar 20, 2007

Fetch operations in a disk drive control system

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,194,576
App. No.
10/633,090
Granted
Mar 20, 2007
Kind
B1
Abstract

A method and system for improving fetch operations between a micro-controller and a remote memory via a buffer manager in a disk drive control system comprising a micro-controller, a micro-controller cache system having a cache memory and a cache-control subsystem, and a buffer manager communicating with micro-controller cache system and remote memory. The invention includes receiving a data-request from micro-controller in cache control subsystem wherein the data-request comprises a request for at least one of instruction code and non-instruction data. The invention further includes providing the requested data to micro-controller if the requested data reside in cache memory, determining if the received data-request is for non-instruction data if requested data does not reside in cache memory, fetching the non-instruction data from remote memory by micro-controller cache system via buffer manager, and bypassing cache memory to preserve the contents of cache memory and provide the fetched non-instruction data to micro-controller.

Claims (43)

1. In a disk drive comprising a micro-controller, a micro-controller cache system in communication with the micro-controller and having a cache memory, a remote memory, and a buffer manager in communication with the micro-controller cache system and the remote memory, a method of providing data requested by the micro-controller comprising:

sending a request for data from the micro-controller to the micro-controller cache system;

determining whether the data request corresponds to data cached in the cache memory;

determining whether the data request corresponds to an instruction code or non-instruction data; and

if the data request corresponds to an instruction code that is not cached in the cache memory:

fetching the instruction code from the remote memory via the buffer manager,

filling the cache memory with the instruction code, and

providing the cached instruction code to the micro-controller; and

if the data request corresponds to non-instruction data that is not cached in the cache memory:

fetching the non-instruction data from the remote memory via the buffer manager, and

sending the non-instruction data uncached from the buffer manager to the micro-controller via the micro-controller cache system.

2. The method of claim 1 , wherein determining whether the data request corresponds to an instruction code or non-instruction data is based on a signal received from the micro-controller.

3. The method of claim 1 , wherein fetching further comprises:

sending a micro-controller cache system request from the micro-controller cache system to the buffer manager;

accessing the remote memory from the buffer manager; and

retrieving data corresponding to the micro-controller cache system request from the remote memory.

4. The method of claim 1 , wherein the buffer manager is further in communication with a plurality of control system clients and provides client-requested data to the clients from the remote memory.

5. The method of claim 4 , wherein the plurality of control system clients comprises at least one of a disk subsystem, an error correction code subsystem, and a host interface subsystem.

6. The method of claim 1 , wherein the remote memory comprises a dynamic random access memory (DRAM).

7. The method of claim 1 , wherein filling the cache memory comprises burst filling the cache memory.

8. A disk drive control system comprising:

a micro-controller;

a remote memory;

a buffer manager in communication with the remote memory; and

a micro-controller cache system in communication with the micro-controller and the buffer manager and having a cache memory, the micro-controller cache system adapted to:

receive a request for data from the micro-controller;

determine whether the data request corresponds to data cached in the cache memory;

determine whether the data request corresponds to an instruction code or non-instruction data; and

if the data request corresponds to an instruction code that is not cached in the cache memory:

fetch the instruction code from the remote memory via the buffer manager,

fill the cache memory with the instruction code, and

provide the cached instruction code to the micro-controller; and

if the data request corresponds to non-instruction data that is not cached in the cache memory:

fetch the non-instruction data from the remote memory via the buffer manager, and

send the non-instruction data uncached from the buffer manager to the micro-controller via the micro-controller cache system.

9. The disk drive control system of claim 8 , wherein the micro-controller cache system is adapted to determine whether the data request corresponds to an instruction code or non-instruction data based on a signal received from the micro-controller.

10. The disk drive control system of claim 8 , wherein the micro-controller cache system is adapted to fetch data from the remote memory by:

sending a micro-controller cache system request to the buffer manager; and

receiving data corresponding to the micro-controller cache system request from the buffer manager.

11. The disk drive control system of claim 8 , wherein the buffer manager is further in communication with a plurality of control system clients and provides client-requested data to the clients from the remote memory.

12. The disk drive control system of claim 11 , wherein the plurality of control system clients comprises at least one of a disk subsystem, an error correction code subsystem, and a host interface subsystem.

13. The disk drive control system of claim 8 , wherein the remote memory comprises a dynamic random access memory (DRAM).

14. The disk drive control system of claim 8 , wherein the cache memory is filled with a burst fill.

Assignments (8)
RELEASE OF SECURITY INTEREST AT REEL 038744 FRAME 0481 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0556 →
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 045501/0714 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038744/0281 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038722/0229 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038744/0481 →
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2008
From: GENERAL ELECTRIC CAPITAL CORPORATION, AS AGENT
To: WESTERN DIGITAL TECHNOLOGIES, INC.; WESTERN DIGITAL (FREMONT), INC.
Reel/Frame 020599/0489 →
SECURITY INTEREST Recorded Jun 21, 2004
From: WESTERN DIGITAL TECHNOLOGIES, INC.; WESTERN DIGITAL (FREMONT), INC.
To: GENERAL ELECTRIC CAPITAL CORPORATION, AS AGENT
Reel/Frame 014830/0957 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2003
From: BOYLE, WILLIAM B.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 014365/0259 →