← Back to Patent Explorer
US5636358A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for transferring data in a storage device including a dual-port buffer

Assignee: EMC Corp
•
Filing: 1994-03-24
•
Granted: 1997-06-03
•
Expires: 2014-03-24
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A computer storage system having a dual port buffer memory for improved performance. The invention comprises a computer storage subsystem that includes a dual port buffer memory that effectively provides two internal data busses for the storage subsystem: one bus for data transfers between the dual port buffer memory and the storage units, and a second bus for data transfers between the dual port buffer memory and a CPU. The throughput of the storage subsystem is roughly equivalent to the bandwidth of the slower of the two busses. In alternative configurations, the invention may use a plurality of dual port buffer memories in parallel to increase the effective throughput of the storage subsystem, and better match the bandwidth of the two busses.

Inventors

  • 👤 William A. Brant
  • 👤 Gerald L. Hohenstein

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 21:15
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/06; G06F3/0601; G06F13/00; G06F13/38; G06F13/40; G06F13/4004; G06F13/4027; G06F13/405; G06F13/4059; G06F3/0628; G06F3/0655; G06F3/0656

Claims Analysis

Total Claims: 10
Claim 1
Independent Claim 290 words
A data storage subsystem, comprising: a processor interface for coupling said data storage subsystem to a computer processor; a redundant array of storage units for redundantly storing data, such that said redundant array provides protection against a loss of data; a storage unit interface; a subsystem processor for controlling operation of said data storage subsystem; a dual-port buffer memory having a first port for serially transferring data between said dual-port buffer memory and said processor interface, and having a second port for transferring data between said dual-port buffer memory and said storage unit interface; wherein data transfers by said first and second ports are allowed to be concurrent and are controlled by said subsystem processor; wherein data transfers by said first and second ports are substantially independent of each other; wherein data exits said dual-port buffer memory in the order that data enters said dual-port buffer memory, such that locations at which data is stored within said dual-port buffer memory need not be addressed; first, second, third, and fourth bus branches; first, second, and third bus switches controlled by said subsystem processor; a first series connection comprising said first bus branch, said first bus switch, and said second bus branch interconnecting said first port of said dual-port buffer memory and said processor interface; a second series connection comprising said first bus branch, said second bus switch and, and said third bus branch interconnecting said system processor and said processor interface; a third series connection comprising said third bus branch, said third bus switch, and said fourth bus branch interconnecting said system processor and said storage unit interface; and a fourth connection comprising said fourth bus branch interconnecting said storage unit interface and said second port of said dual-port buffer memory.
Claim 2
Dependent Claim 290 words
A data storage subsystem, comprising: a processor interface for coupling said data storage subsystem to a computer processor; a redundant array of storage units for redundantly storing data, such that said redundant array provides protection against a loss of data; a storage unit interface; a subsystem processor for controlling operation of said data storage subsystem; a dual-port buffer memory having a first port for serially transferring data between said dual-port buffer memory and said processor interface, and having a second port for transferring data between said dual-port buffer memory and said storage unit interface; wherein data transfers by said first and second ports are allowed to be concurrent and are controlled by said subsystem processor; wherein data transfers by said first and second ports are substantially independent of each other; wherein data exits said dual-port buffer memory in the order that data enters said dual-port buffer memory, such that locations at which data is stored within said dual-port buffer memory need not be addressed; first, second, third, and fourth bus branches; first, second, and third bus switches controlled by said subsystem processor; a first series connection comprising said first bus branch, said first bus switch, and said second bus branch interconnecting said first port of said dual-port buffer memory and said processor interface; a second series connection comprising said first bus branch, said second bus switch and, and said third bus branch interconnecting said system processor and said processor interface; a third series connection comprising said third bus branch, said third bus switch, and said fourth bus branch interconnecting said system processor and said storage unit interface; and a fourth connection comprising said fourth bus branch interconnecting said storage unit interface and said second port of said dual-port buffer memory.
Claim 3
Dependent Claim 20 words
The data storage subsystem of claim 1 wherein said dual-port buffer memory is a video dynamic random access (VDRAM) memory.
Claim 4
Dependent Claim 27 words
The data storage subsystem of claim 2 wherein said first port of said VDRAM includes a shift register for transferring data into and out of said VDRAM.
Claim 5
Dependent Claim 285 words
A computer system, comprising: a computer processor; a processor interface; a computer bus interconnecting said computer processor and said processor interface; a redundant array of storage units for redundantly storing data, such that said redundant array provides protection against a loss of data; a storage unit interface; a subsystem processor; a dual-port buffer memory having a first port for serially transferring data between said dual-port buffer memory and said processor interface, and having a second port for transferring data between said dual-port buffer memory and said storage unit interface; wherein data transfers through said first and second ports are allowed to be concurrent and are controlled by said subsystem processor; wherein data transfers through said first and second ports are substantially independent of each other; wherein data exits said dual-port buffer memory in the order that data enters said dual-port buffer memory, such that locations at which data is stored within said dual-port buffer memory need not be addressed; first, second, third, and fourth bus branches; first, second, and third bus switches controlled by said subsystem processor; a first series connection comprising said first bus branch, said first bus switch, and said second bus branch interconnecting said first port of said dual-port buffer memory and said processor interface; a second series connection comprising said first bus branch, said second bus switch and, and said third bus branch interconnecting said system processor and said processor interface; a third series connection comprising said third bus branch, said third bus switch, and said fourth bus branch interconnecting said system processor and said storage unit interface; and a fourth connection comprising said fourth bus branch interconnecting said storage unit interface and said second port of said dual-port buffer memory.
Claim 6
Dependent Claim 285 words
A computer system, comprising: a computer processor; a processor interface; a computer bus interconnecting said computer processor and said processor interface; a redundant array of storage units for redundantly storing data, such that said redundant array provides protection against a loss of data; a storage unit interface; a subsystem processor; a dual-port buffer memory having a first port for serially transferring data between said dual-port buffer memory and said processor interface, and having a second port for transferring data between said dual-port buffer memory and said storage unit interface; wherein data transfers through said first and second ports are allowed to be concurrent and are controlled by said subsystem processor; wherein data transfers through said first and second ports are substantially independent of each other; wherein data exits said dual-port buffer memory in the order that data enters said dual-port buffer memory, such that locations at which data is stored within said dual-port buffer memory need not be addressed; first, second, third, and fourth bus branches; first, second, and third bus switches controlled by said subsystem processor; a first series connection comprising said first bus branch, said first bus switch, and said second bus branch interconnecting said first port of said dual-port buffer memory and said processor interface; a second series connection comprising said first bus branch, said second bus switch and, and said third bus branch interconnecting said system processor and said processor interface; a third series connection comprising said third bus branch, said third bus switch, and said fourth bus branch interconnecting said system processor and said storage unit interface; and a fourth connection comprising said fourth bus branch interconnecting said storage unit interface and said second port of said dual-port buffer memory.
Claim 7
Dependent Claim 19 words
The computer system of claim 4 wherein said dual-port buffer memory is a video dynamic random access (VDRAM) memory.
Claim 8
Dependent Claim 26 words
The computer system of claim 5 wherein said first port of said VDRAM includes a shift register for transferring data into and out of said VDRAM.
Claim 9
Independent Claim 344 words
A method ensuring that data does not cross the same data bus twice when data is written from a computer processor to a redundant array of storage units, or when data is read from said redundant array of storage units, the method comprising the steps of: providing a processor interface that is coupled to said computer processor by way of a data bus; providing a redundant array of storage units for redundantly storing data, such that protection is provided against loss of data; providing a storage unit interface; providing a subsystem processor; providing a dual-port buffer memory having a first port for serially transferring data between said dual-port buffer memory and said processor interface, and having a second port for transferring data between said dual-port buffer memory and said storage unit interface; wherein data transfers through said first and second ports are allowed to be concurrent and are controlled by said subsystem processor; wherein data transfers through said first and second ports are substantially independent of each other; wherein data exits said dual-port buffer memory in the order that data enters said dual-port buffer memory, such that locations at which data is stored within said dual-port buffer memory need not be addressed; providing first, second, third, and fourth data bus branches; providing first, second, and third bus switches that are controlled by said subsystem processor; providing a first series connection comprising said first data bus branch, said first bus switch, and said second data bus branch interconnecting said first port of said dual-port buffer memory and said processor interface; providing a second series connection comprising said first data bus branch, said second bus switch and, and said third data bus branch interconnecting said system processor and said processor interface; providing a third series connection comprising said third data bus branch, said third bus switch, and said fourth data bus branch interconnecting said system processor and said storage unit interface; and providing a fourth connection comprising said fourth data bus branch interconnecting said storage unit interface and said second port of said dual-port buffer memory.
Claim 10
Independent Claim 344 words
A method ensuring that data does not cross the same data bus twice when data is written from a computer processor to a redundant array of storage units, or when data is read from said redundant array of storage units, the method comprising the steps of: providing a processor interface that is coupled to said computer processor by way of a data bus; providing a redundant array of storage units for redundantly storing data, such that protection is provided against loss of data; providing a storage unit interface; providing a subsystem processor; providing a dual-port buffer memory having a first port for serially transferring data between said dual-port buffer memory and said processor interface, and having a second port for transferring data between said dual-port buffer memory and said storage unit interface; wherein data transfers through said first and second ports are allowed to be concurrent and are controlled by said subsystem processor; wherein data transfers through said first and second ports are substantially independent of each other; wherein data exits said dual-port buffer memory in the order that data enters said dual-port buffer memory, such that locations at which data is stored within said dual-port buffer memory need not be addressed; providing first, second, third, and fourth data bus branches; providing first, second, and third bus switches that are controlled by said subsystem processor; providing a first series connection comprising said first data bus branch, said first bus switch, and said second data bus branch interconnecting said first port of said dual-port buffer memory and said processor interface; providing a second series connection comprising said first data bus branch, said second bus switch and, and said third data bus branch interconnecting said system processor and said processor interface; providing a third series connection comprising said third data bus branch, said third bus switch, and said fourth data bus branch interconnecting said system processor and said storage unit interface; and providing a fourth connection comprising said fourth data bus branch interconnecting said storage unit interface and said second port of said dual-port buffer memory.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-06-02 2000-12-02 2001-06-03 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-06-02 2004-12-02 2005-06-03 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-06-02 2008-12-02 2009-06-03 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag