A circuit for reading data from a buffer memory, which is Synchronous dynamic random access memory (“SDRAM”), or Double data rate-Synchronous dynamic random access memory (“DDR”) comprises logic for managing programmable clock signal relationships such that data that is read from the DDR is centered within a dqs signal which is generated from the DDR and then appropriately delayed.

Patent
   7596053
Priority
Jun 14 2004
Filed
Oct 04 2006
Issued
Sep 29 2009
Expiry
Jun 14 2024
Assg.orig
Entity
Large
5
210
all paid
4. A system for reading data from a buffer memory, the buffer memory being a Synchronous dynamic random access memory (“SDRAM”) or a Double data rate-Synchronous dynamic random access memory (“DDR”), the system comprising:
means for managing programmable clock signal relationships such that data that is read from the DDR is centered within a dqs signal, wherein the DDR receives an sdram clock signal and the dqs signal is generated from the DDR based on the sdram clock signal, and wherein the dqs signal is aligned with at least one of a positive edge and a negative edge of the sdram clock signal;
delay means for delaying the data; and
logic means for receiving a buffer clock signal and for selectively adjusting an alignment of the dqs signal based on the buffer clock signal, the sdram clock signal, and a selected one of a plurality of latencies.
1. A circuit for reading data from a buffer memory, the buffer memory being a Synchronous dynamic random access memory (“SDRAM”) or a Double data rate-Synchronous dynamic random access memory (“DDR”), the circuit comprising:
logic for managing programmable clock signal relationships such that data that is read from the DDR is centered within a dqs signal, wherein the DDR receives an sdram clock signal and the dqs signal is generated from the DDR based on the sdram clock signal;
at least one delay element that delays the data; and
at least one logic element that receives a buffer clock signal and that selectively adjusts an alignment of the dqs signal based on the buffer clock signal, the sdram clock signal, and a selected one of a plurality of latencies, wherein the dqs signal is aligned with at least one of a positive edge and a negative edge of the sdram clock signal.
2. The circuit of claim 1, wherein the dqs signal is delayed with respect to the data that is read from the DDR.
3. The circuit of claim 1, wherein data from the DDR is placed in a register that is controlled by a delayed dqs signal.
5. The system of claim 4, wherein the dqs signal is delayed with respect to the data that is read from the DDR.
6. The system of claim 4, wherein data from the DDR is placed in a register that is controlled by a delayed dqs signal.
7. The system of claim 4, wherein an emulated dqs signal in an sdram clock signal is used for reading from a sdram.
8. The system of claim 4, wherein a DDR capture scheme is used for reading data from an sdram.

This application is a Divisional of U.S. patent application Ser. No. 10/867,113, now U.S. Pat. No. 7,120,084, filed on Jun. 14, 2004. The disclosure of the above application is incorporated herein by reference.

1. Field of the Invention

The present invention relates generally to storage device controllers, and more particularly, to integrated memory controllers.

2. Background

Conventional computer systems typically include several functional components. These components may include a central processing unit (CPU), main memory, input/output (“I/O”) devices, and streaming storage devices (for example, tape drives) (referred to herein as “storage device”). In conventional systems, the main memory is coupled to the CPU via a system bus or a local memory bus. The main memory is used to provide the CPU access to data and/or program information that is stored in main memory at execution time. Typically, the main memory is composed of random access memory (RAM) circuits. A computer system with the CPU and main memory is often referred to as a host system.

The storage device is coupled to the host system via a controller that handles complex details of interfacing the storage devices to the host system. Communications between the host system and the controller is usually provided using one of a variety of standard I/O bus interfaces.

Typically, when data is read from a storage device, a host system sends a read command to the controller, which stores the read command into the buffer memory. Data is read from the device and stored in the buffer memory.

Buffer memory may be a Synchronous Dynamic Random access Memory (“SDRAM”), or Double Data Rate-Synchronous Dynamic Random Access Memory (referred to as “DDR”). In SDRAM communication occurs at the positive end of a clock signal, i.e. data is received and read at the positive edge of a clock. Hence, SDRAM is a single data rate memory device.

DDR is a type of SDRAM that supports data transfers on both edges of each clock cycle (the rising and falling edges), effectively doubling the memory chip's data throughput. In DDR address and commands are similar to SDRAM, but the data is handled differently by using a separate clock (“DQS”). DQS is used for receiving and sending data from the DDR.

Modern storage systems may use either SDRAM or DDR and it is desirable to have a single interface that supports both DDR and SDRAM read and write operations. Conventional systems do not provide this option.

Therefore, there is a need for a method and system to support both DDR and SDRAM using the same hardware in the controller.

A system for writing data to a buffer memory, which is Synchronous Dynamic Random access Memory (“SDRAM”), or Double Data Rate-Synchronous Dynamic Random Access Memory (“DDR”) is provided. The system includes, means for managing programmable clock signal relationships such that data arrives at an optimum time for writing. Data that is to be written at DDR is moved from a first buffer clock to a DDR write clock and to a DQS signal that is based on a SDRAM clock signal.

A circuit for writing data to a buffer memory, which is Synchronous Dynamic Random access Memory (“SDRAM”), or Double Data Rate-Synchronous Dynamic Random Access Memory (“DDR”) is provided. The circuit includes logic for managing programmable clock signal relationships such that data arrives at an optimum time for writing. Data that is to be written at DDR is moved from a first buffer clock to a DDR write clock signal and to a DQS signal that is based on a SDRAM clock signal. Also, plural tap-cells may be used to delay clock signals such that data and clock signals are aligned.

A circuit for reading data from a buffer memory, which is Synchronous Dynamic Random access Memory (“SDRAM”), or Double Data Rate-Synchronous Dynamic Random Access Memory (“DDR”) is provided. The circuit includes logic for managing programmable clock signal relationships such that data that is read from the DDR is centered within a DQS signal, which is generated from the DDR and then appropriately delayed. The DQS signal is delayed with respect to the data that is read from the DDR and data from the DDR is placed in a register that is controlled by a delayed DQS signal.

A system for reading data from a buffer memory, which is Synchronous Dynamic Random access Memory (“SDRAM”), or Double Data Rate-Synchronous Dynamic Random Access Memory (“DDR”) is provided. The system includes means for managing programmable clock signal relationships such that data that is read from the DDR is centered within a DQS signal generated from the DDR and then appropriately delayed. The DQS signal is delayed with respect to the data that is read from the DDR and data from the DDR is placed in a register that is controlled by a delayed DQS signal. Also, an emulated DQS signal in an SDRAM clock signal is used for reading from a SDRAM and a DDR capture scheme is used for reading data from an SDRAM.

This brief summary has been provided so that the nature of the invention may be understood quickly. A more complete understanding of the invention can be obtained by reference to the following detailed description of the preferred embodiments thereof concerning the attached drawings.

The foregoing features and other features of the present invention will now be described with reference to the drawings of a preferred embodiment. In the drawings, the same components have the same reference numerals. The illustrated embodiment is intended to illustrate, but not to limit the invention. The drawings include the following Figures:

FIG. 1A is an example of a streaming storage drive system used according to one aspect of the present invention;

FIG. 1B is a block diagram of a buffer controller, according to one aspect of the present invention;

FIG. 1C is a block diagram of a clock distribution module, according to one aspect of the present invention;

FIG. 1D is a block diagram of a DDR memory coupled to a controller, according to one aspect of the present invention;

FIG. 1E shows a SDRAM coupled to a controller, according to one aspect of the present invention;

FIG. 1F shows a timing diagram for SDRAM signals,

FIG. 1G shows DDR write signals used according to one aspect of the present invention;

FIG. 1H is a block diagram showing an emulated DQS signal for an SDRAM operation, according to one aspect of the present invention;

FIG. 2 shows DDR logic that can also be used for SDRAM read operations using an emulated DQS signal, according to one aspect of the present invention;

FIGS. 3-6 show various timing diagrams, according to one aspect of the present invention;

FIG. 7 shows a logic diagram for write operation, according to one aspect of the present invention; and

FIGS. 8-9 show timing diagrams, according to one aspect of the present invention.

To facilitate an understanding of the preferred embodiment, the general architecture and operation of a controller will initially be described. The specific architecture and operation of the preferred embodiment will then be described with reference to the general architecture.

The system of FIG. 1A is an example of a streaming storage drive system (e.g., tape drive), included (or coupled to) in a computer system. The host computer (not shown) and the storage device 115 communicate via port 102, which is connected to a data bus (not shown). The data bus, for example, is a bus in accordance with a Small Computer System Interface (SCSI) specification. Those skilled in the art will appreciate that other communication buses known in the art can be used to transfer data between the drive and the host system. In an alternate embodiment (not shown), the storage device 115 is an external storage device, which is connected to the host computer via a data bus.

As shown in FIG. 1A, the system includes controller 101, which is coupled to SCSI port 102, port 114, buffer memory 111 and microprocessor 100. Interface 118 serves to couple microprocessor bus 107 to microprocessor 100. A read only memory (“ROM”) omitted from the drawing is used to store firmware code executed by microprocessor 100. Port 114 couples controller 101 to device 115.

Controller 101 can be an integrated circuit (IC) that comprises of various functional modules, which provide for the writing and reading of data stored on storage device 115. Microprocessor 100 is coupled to controller 101 via interface 118 to facilitate transfer of data, address, timing and control information. Buffer memory 111 is coupled to controller 101 via ports to facilitate transfer of data, timing and address information. Buffer memory 111 may be a DDR or SDRAM.

Data flow controller 116 is connected to microprocessor bus 107 and to buffer controller 108. A DMA interface 112 is connected to microprocessor bus 107 and to data and control port 113.

SCSI controller 105 includes programmable registers and state machine sequencers that interface with SCSI port 102 on one side and to a fast, buffered direct memory access (DMA) channel on the other side.

Sequencer 106 supports customized SCSI sequences, for example, by means of a 256-location instruction memory that enables users to customize command automation features. Sequencer 106 support's firmware and hardware interrupts schemes. The firmware interrupt enables microprocessor 100 to initiate an operation within Sequencer 106 without stopping sequencer operation. Hardware interrupt comes directly from SCSI controller 105.

Buffer controller (also referred to as “BC”) 108 connects to buffer memory 111, DMA I/F 112, a SCSI channel of SCSI controller 105 and bus 107. Buffer controller 108 regulates data movement into and out of buffer memory 111.

To read data from storage device 115, a host system sends a read command to controller 101, which stores the read, commands in buffer memory 111. Microprocessor 100 then read the command out of buffer memory 111 and initializes the various functional blocks of controller 101. Data is read from device 115 and is passed through DMA I/F 112 to buffer controller 108.

Controller 101 also includes a clock distribution module (“CDM”) 120 that handles clock variation, according to one aspect of the present invention. FIG. 1C shows a block diagram of CDM 120 with an oscillator 119 coupled to phased locked loop (“PLL”) 120A that includes an electronic circuit that controls oscillator 119 so that it maintains a constant phase angle (i.e., lock) on the frequency of an input, or reference, signal. PLL 120A is coupled to a voltage regulator (“VCO”) 703 and to clock distribution logic (“CDL”) 121 that generates a buffer clock (“BUFCLK”) 701A.

FIG. 1B shows a block diagram of BC 108 with Channel 1 108A and Channel 0 108D for moving data to and from buffer 111. BC 108 includes registers 108E and an Arbiter 108C. Arbiter 108C arbitrates between plural channels in BC 108, for example, Channel 0 108D and Channel 1 108A. Register 108E is coupled to interface 118 via bus 107 that allows microprocessor 100 and BC 108 to communicate. Data 108G and status 108F is moved in and out of register 108E.

BC 108 also includes a multi-channel memory controller 108B that provides a common interface to either SDRAM or DDR buffer memory 111.

Before describing the adaptive aspects of the present invention, the following describes some of the clock signals that are used for buffer 111 read and write operations:

BUFCLK (Buffer Clock Signal): This is a clock signal that is used for running various modules of the memory controller 108B.

SDRAMCLK (SDRAM Clock Signal): This is a clock signal for SDRAM 111B.

DQS: This signal is used for sampling data.

DDR Write CLK: This clock signal is used for writing to DDR 111A.

BD_O: This is a buffer data output signal.

FIG. 1D shows a top-level diagram where DDR 111A is the buffer memory 111. SDRAMCLK generated from controller 101 is sent to DDR 111A, while DQS (that is based on SDRAM CLK) and data comes from DDR 111A for a read operation. For a write operation, DQS is sent to DDR 111A, as described below in detail. As stated above, DQS is a bi-directional signal.

FIG. 1E shows a block diagram where SDRAM 111B is coupled to controller 101. Data (“BD”) is read from SDRAM 111B and SDRAM clock is sent from controller 101. Data (“BD”) moves bi-directionally from to/from SDRAM 111B.

In one aspect of the present invention, a system is provided such that a buffer clock (BUFFCLCK), SDRAM clock (SDRAMCLK) and a DDR data clock (“DQS”) are handled in such a way that the same system (or logic) can be used to support either a DDR or SDRAM version of buffer memory 111.

DDR Write Operation:

In one aspect of the present invention a DDR write operation is conducted using programmable delay so that data arrives at the correct time outside controller 101. Data that is to be written at DDR 111A is moved from BUFCLK to DDR Write CLK, and DQS is appropriately delayed for data sampling, as discussed below.

FIG. 7 shows a schematic of the logic used for a DDR write operation. It is noteworthy that the same logic is used for SDRAM write operation.

For DDR write, all signals go from controller 101 to DDR 111A. The arrival time for data and DQS signal 718 are based on the timing diagram shown in FIG. 8. The clocks are aligned such that data lines up with the clock. The present invention uses a clocking relationship instead of delaying data. The programmable timing delays between BUFCLK 701A, SDRAMCLK 707, and DQS CLK 718 are provided by tap-cells 702, 704, 704B and 705 that are driven by voltage controlled oscillator (“VCO”) 703.

Data that is written in DDR 111A is stored in registers 711 and 712 that are controlled by BUFCLK 701A using logic 710. In one aspect, registers 711 and 712 are 64 bits wide to hold data. Data from registers 711 and 712 (shown as 712A and 712B via logic 711A and 711B) is moved to registers 713 and 714 that receive the DDR Write CLk 720 from tap cell 702. Signal 720 may be delayed using cell 702A.

BD_O 715 (data output) is generated based on inputs 713A and 714A from registers 713 and 714 (via multiplexer 715A), respectively.

Input/Output (“I/O”) cell 724 generates BD 716, which is the actual data that is sent to DDR 111A.

DQS_O (DQS output) signal 719 is generated based on DQS free running signal 704A generated from tap cell 704 and 701B signal from DQS enable logic 701. DQS enable logic 701 receives BUFCLK 701A and generates signal 701B to enable the DQS signal. Signal 704A and 701B are “ANDED” by gate 720A to generate DQS_O 719. Thereafter, DQS_O 719 is sent to I/O cell 723 that generates DQS 718 that is sent to DDR 111A.

SDRAMCLK 707 is generated by input/output (I/O) cell 721 based on signal 706 generated (or delayed using cell 705A) by tap cell 705.

Control address logic 709 receives BUFCLK 701A and delay signal 708 from tap-cell 704B. I/O cell 722 generates control address 722A that is sent to DDR 111A that determines where data is written.

FIG. 8 shows a timing diagram of various signals from FIG. 7, according to the adaptive aspects of the present invention. FIG. 8 shows that SDRAMCLK 707 and BUFCLK 701A are synchronous. Output I/O cell delay 707A is based on I/O cell 721. BD_O delay is based on I/O cell 724. tDH (718A) is the DDR data hold time based on DQS 718 for DDR writes, while tDS (718B) is the data setup time based on DQS 718 for DDR writes. CLSK 707B is the clock skew between BUFCLK 701A and SDRAMCLK 707. IDQSS 718C is the first DQS rising edge for DDR write bursts, while tWPRE 718D is the time that DQS 718 is low before the first rising edge. TWPST 718E is the time DQS 718 is low after the last DQS 718 falling edge. DDR data (shown as BD 716 in FIG. 7) 716 is sampled (D0) at the rising edge of DQS 718 and D1 is sampled at the falling edge of 718.

BUFCLK 701A is re-timed to DDR write clock 720 that is generated by tap cell 702. DQS 718 is aligned to the center of BD_O 715. DQS signal 718 is timed so that it is later than SDRAMCLK_O 706 to provide set-up time from the start of the “data valid” window. The negative edge of BUFFCLK 701A is used to control the enabling of DQS_O clock 719. The timing for DQS 718 is optimum so that it is not too early or late.

FIG. 8A shows a simplified timing diagram with SDRAMCLK 707, DQS 718 and data 716 signals. FIG. 8A shows that data 716 is sampled at the rising and falling edge of DQS 718 and DQS 718 is approximately in the middle of data 716.

FIG. 1G shows yet another simplified timing diagram showing how DQS 718 and data 716 are positioned for DDR 111A write operation.

DDR Read Operation:

FIG. 2 shows a schematic of the logic that is used for reading data from DDR 111A and SDRAM 111B. DQS 209 and data 206 are generated from DDR 111A. The DQS 209 clock signal is generated based on SDRAMCLK 707, which is based on input 706 to I/O cell 721. DQS 209 clock signal is sent to I/O cell 208 that generates DQS_I 210, which is delayed by cell 211. DQS 209 is delayed so that the DQS clock signal is centered within a valid data window.

Registers 202 and 202A are used to capture data and in one aspect operate as a first in first out (“FIFO”) buffer. The delayed DQS 211A signal that is referenced as BDIN_CLK 212 and 212B (that is generated after 211A passes through an inverter 211B) is used to control registers 202 and 202A, respectively. It is noteworthy that the delay in the DQS signal may be programmed using cells 211C and 211D by controller 101 firmware.

Data 206 from DDR 111A via I/O cell 205 (as output BD_I 207) is sent to registers 202 and 202A, via logic 207A and 207B. Once data is captured in registers 202 and 202A, it is moved (shown as 213 and 214) to another FIFO 201 that operates under BUFCLK 701A.

DQS 209 generated from DDR 111A may have plural alignments. Logic 203 and 204 controls the alignment of DQS 209 based on selected latency. For example, in one aspect (CL3, FIG. 3), the positive edge of DQS is aligned with the positive edge of SDRAMCLK 707 generated by I/O cell 721 based on SDRAMCLK_O 706, which is generated by VCO 703. In another aspect (CL2.5, FIG. 3), the negative edge of DQS is aligned with the negative edge. FIG. 3 shows alignment of data with SDRAMCLK 707 within +/− tAC nano-seconds.

FIG. 4 shows the alignment of DQS 211A to SDRAMCLK 707 with latency CL 3 and CL 2.5, respectively. In CL3, the positive edge of DQS 211A is aligned with the positive edge of SDRAMCLK and in CL 2.5, the negative edge of DQS 211A is aligned with the positive edge of SDRAMCLK 707. In CL 3, the first data of the burst is valid 3 clocks after the rising edge of the read command. In CL 2.5, the first data of the burst is valid 2.5 clocks after the rising edge of the read command. The rising edge of DQS 211A is lined up with the leading edge of the first valid data window.

DQS 211A can vary by tDQSCK 400. Although the alignment of DQS 211A to SDRAMCLK 707 does not directly affect the loading of data into registers 202 and 202A, it does affect the positioning of BDIN_REG CLK 212 with respect to BUFCLK 701A.

FIG. 5 shows a timing diagram of DQS 211A and data 207. In this case DQS 211A can vary by tDQSQ 500 nano-seconds.

FIG. 6 shows the timing for data capture, where DQS 211A is delayed to provide setup/hold margin between clock and data inputs of registers 202 and 202A. “tDQSQ” is the data skew from DQS 211A, “tPDIN” is the I/O cell delay to destination, and “tDQSPD” is additional delay for DQS 211A.

SDRAM Write Operation:

SDRAM 111B write SDRAM CLK 707 that operates synchronously with BUFCLK 701A controls operation. SDRAM CLK 707 may be delayed from BUFCLK 701A to gain some set-up and hold time for the read operation. FIG. 1F shows a timing diagram for writing data to SDRAM 111B.

SDRAM Read Operation:

FIG. 1H shows a top-level block diagram for an SDRAM 111B operation using the same logic fpr controller 101. DQS signal is emulated for an SDRAM 111B read operation. The SDRAM clock 707 is fed into the DQS signal, which then becomes the emulated DQS signal. For an SDRAM 111B read operation, only the positive edge flop 202 (also shown in FIG. 2) is used. For a DDR operation both 202 and 202A are used. By using the SDRAM clock 707 and the emulated DQS signal, extra logic is not required and hence this saves overall cost for controller 101.

SDRAM read operation is synchronous with SDRAMCLK 707 and BUFCLK 701A. In some instances, for example, at 183 MHZ, the data read delay (tSDRAC) from SDRAM 111B is equal to the clock period. FIG. 9 shows the timing diagram for SDRAM 111B read operation at 183 MHz. It is noteworthy that the present invention is not limited to any particular frequency rate. FIG. 9 shows SDRAMCLK 707, BUFCLK 701A, data (“BD”) and BDIN Clock signal (derived from BUFCLK). “tSDRAC” is the time SDRAM 111B data read output delay; “tSDROH” is the SDRAM data read output data hold-time; and “tPDIN” is the input I/O cell delay to destination.

In one aspect of the present invention, the same logic is used to read and/or write data to DDR or SDRAM, hence overall controller cost is reduced.

Although the present invention has been described with reference to specific embodiments, these embodiments are illustrative only and not limiting. Many other applications and embodiments of the present invention will be apparent in light of this disclosure.

White, Theodore C., Jayabharathi, Dinesh

Patent Priority Assignee Title
7675811, Apr 07 2008 Integrated Device Technology, inc Method and apparatus for DQS postamble detection and drift compensation in a double data rate (DDR) physical interface
8345490, Jun 23 2010 International Business Machines Corporation Split voltage level restore and evaluate clock signals for memory address decoding
8345497, Jun 23 2010 GLOBALFOUNDRIES Inc Internal bypassing of memory array devices
8351278, Jun 23 2010 International Business Machines Corporation Jam latch for latching memory array output data
8599642, Jun 23 2010 TAIWAN SEMICONDUCTOR MANUFACTURING CO , LTD Port enable signal generation for gating a memory array device output
Patent Priority Assignee Title
3800281,
3823393,
3836891,
3988716, Aug 05 1974 Computer interface system
4001883, Mar 07 1974 Honeywell Information Systems, Inc. High density data storage on magnetic disk
4002827, May 15 1975 General Electric Company Polar coordinate format to a cartesian coordinate format scan converter
4016368, Dec 12 1975 ALCATEL NETWORK SYSTEMS, INC Framing circuit for digital receiver
4050097, Sep 27 1976 Honeywell Information Systems, Inc. Synchronization technique for data transfers over an asynchronous common bus network coupling data processing apparatus
4080649, Dec 16 1976 Honeywell Information Systems Inc. Balancing the utilization of I/O system processors
4156867, Sep 06 1977 Motorola, Inc. Data communication system with random and burst error protection and correction
4225960, Mar 01 1979 Northrop Grumman Corporation Automatic synchronizing system for digital asynchronous communications
4275457, May 18 1977 Lockheed Martin Corporation Apparatus and method for receiving digital data at a first rate and outputting the data at a different rate
4390969, Apr 21 1980 Unisys Corporation Asynchronous data transmission system with state variable memory and handshaking protocol circuits
4451898, Nov 09 1981 Agilent Technologies Inc Asynchronous interface message transmission using source and receive devices
4486750, May 18 1981 Takeda Riken Co. Ltd. Data transfer system
4500926, Jun 19 1981 Tokyo Shibaura Denki Kabushiki Kaisha Data-recording apparatus
4587609, Jul 01 1983 HONEYWELL INFORMATION SYSTEMS INC, A DE CORP Lockout operation among asynchronous accessers of a shared computer system resource
4603382, Feb 27 1984 International Business Machines Corporation Dynamic buffer reallocation
4625321, May 23 1985 Standard Microsystems Corporation Dual edge clock address mark detector
4667286, Dec 20 1984 Advanced Micro Devices, Inc. Method and apparatus for transferring data between a disk and a central processing unit
4680647, Sep 26 1983 Pioneer Electronic Corporation Method for recording and reproducing video format signal
4777635, Aug 08 1986 DATA SYSTEMS TECHNOLOGY CORPORATION Reed-Solomon code encoder and syndrome generator circuit
4805046, Oct 28 1985 Matsushita Electric Industrial Co., Ltd. Information recording and reproducing apparatus using sectors divided into a plurality of frames and having means for proper storage of the frame data
4807116, Sep 07 1976 Tandem Computers Incorporated Interprocessor communication
4807253, Nov 13 1987 American Telephone and Telegraph Company, AT&T Bell Laboratories Time-varying trellis-coded modulation formats which are robust in channels with phase variations
4809091, Apr 16 1986 Hitachi, LTD; Tokico Ltd Disk apparatus
4811282, Dec 18 1985 SGS Microelettronica SpA Retiming circuit for pulse signals, particularly for microprocessor peripherals
4812769, Apr 30 1986 Tektronix, Inc.; TEKTRONIX, INC , A OREGON CORP Programmable sampling time base circuit
4860333, Mar 12 1986 Oread Laboratories, Inc. Error protected central control unit of a switching system and method of operation of its memory configuration
4866606, Jun 22 1984 FAULT TOLERANT SYSTEMS, FTS-COMPUTERTECHNIK GESMBH Loosely coupled distributed computer system with node synchronization for precision in real time applications
4881232, Feb 10 1987 Sony Corporation Method and apparatus for error correction
4920535, Dec 14 1987 Fujitsu Limited Demultiplexer system
4949342, Apr 14 1987 MATSUSHITA ELECTRIC INDUSTRIAL CO , LTD , 1006, OAZA KADOMA, KADOMA-SHI, OSAKA, JAPAN, A CORP OF JAPAN Code error detecting method
4970418, Sep 26 1989 Apple Inc Programmable memory state machine for providing variable clocking to a multimode memory
4972417, Jun 24 1988 Sony Corporation PCM data transmitting apparatus and method
4975915, Apr 19 1987 SONY CORPORATION, A CORP OF JAPAN Data transmission and reception apparatus and method
4989190, Jul 20 1987 Oki Electric Industry Co., Ltd. Apparatus for seeking a track of an optical disk in which information is recorded
5014186, Aug 01 1986 International Business Machines Corporation Data-processing system having a packet transfer type input/output system
5023612, Jul 13 1989 Pacific Bell Illegal sequence detection and protection circuit
5027357, Oct 14 1988 ADVANCED MICRO DEVICES, INC , A CORP OF CA ECC/CRC error detection and correction system
5050013, Dec 04 1989 RESEARCH INVESTMENT NETWORK, INC Hard sectoring circuit and method for a rotating disk data storage device
5051998, Jun 28 1988 Matsushita Electric Industrial Co., Ltd. Data block deinterleaving and error correction system
5068755, Jun 01 1990 RESEARCH INVESTMENT NETWORK, INC Sector pulse generator for hard disk drive assembly
5068857, Sep 02 1988 Mitsubishi Denki Kabushiki Kaisha Error correction circuit
5072420, Mar 16 1989 BANKBOSTON, N A , AS AGENT FIFO control architecture and method for buffer memory access arbitration
5088093, Apr 18 1986 CIAS, INC Self-correcting registers, error-detecting/correcting registers, and inversion coding using one bit, and other information storage media
5109500, Oct 31 1986 Renesas Technology Corp Disk drive control unit having sets of operating command and operation length information and generating end signal based upon operation length information
5117442, Dec 14 1988 National Semiconductor Corporation Methods and circuits for synchronizing signals in a modular redundant fault tolerant computer system
5127098, Apr 12 1989 Sun Microsystems, Inc. Method and apparatus for the context switching of devices
5133062, Mar 06 1986 RPX Corporation RAM buffer controller for providing simulated first-in-first-out (FIFO) buffers in a random access memory
5136592, Jun 28 1989 Quantum Corporation Error detection and correction system for long burst errors
5146585, Oct 25 1988 International Business Machines Corporation Synchronized fault tolerant clocks for multiprocessor systems
5157669, Oct 14 1988 Advanced Micro Devices, Inc. Comparison of an estimated CRC syndrome to a generated CRC syndrome in an ECC/CRC system to detect uncorrectable errors
5162954, Jul 31 1990 Seagate Technology LLC Apparatus for generating an index pulse in a data storage system
5193197, Sep 24 1987 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Apparatus and method for distributed dynamic priority arbitration for access to a shared resource
5204859, Feb 23 1990 GEC PLESSEY TELECOMMUNICATIONS LIMITED A BRITISH COMPANY Method and apparatus for detecting a frame alignment word in a data system
5218564, Jun 07 1991 NATIONAL SEMICONDUCTOR CORPORATION, A CORP OF DELAWARE Layout efficient 32-bit shifter/register with 16-bit interface
5220569, Jul 09 1990 Seagate Technology LLC Disk array with error type indication and selection of error correction method
5237593, May 04 1989 CIENA LUXEMBOURG S A R L ; Ciena Corporation Sequence synchronisation
5243471, Jan 10 1991 Hewlett-Packard Company; HEWLETT-PACKARD COMPANY, A CA CORP Method and apparatus for detecting a start of data position in differing tracks
5249271, Jun 04 1990 CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD Buffer memory data flow controller
5257143, Jan 15 1991 NEC Corporation Method and apparatus for positioning head of disk drive using zone-bit-recording
5261081, Jul 26 1990 TAIWAN SEMICONDUCTOR MANUFACTURING CO , LTD Sequence control apparatus for producing output signals in synchronous with a consistent delay from rising or falling edge of clock input signal
5271018, Apr 27 1990 NEXT SOFTWARE, INC Method and apparatus for media defect management and media addressing
5274509, Sep 10 1992 Maxtor Corporation On-the-fly splitting of disk data blocks using timed sampling of a data position indicator
5276564, Apr 16 1992 Hewlett-Packard Company Programmable start-of-sector pulse generator for a disk drive using embedded servo bursts and split data fields
5276662, Oct 01 1992 Seagate Technology LLC Disc drive with improved data transfer management apparatus
5276807, Apr 13 1987 Qlogic Corporation Bus interface synchronization circuitry for reducing time between successive data transmission in a system using an asynchronous handshaking
5280488, Nov 08 1990 CIRRUS LOGIC, INC , A CORP OF CA Reed-Solomon code system employing k-bit serial techniques for encoding and burst error trapping
5285327, Jan 17 1990 MARIANA HDD B V ; HITACHI GLOBAL STORAGE TECHNOLOGIES NETHERLANDS B V Apparatus for controlling reading and writing in a disk drive
5285451, Apr 06 1990 EMC Corporation Failure-tolerant mass storage system
5301333, Jun 14 1990 TTI Inventions A LLC Tree structured variable priority arbitration implementing a round-robin scheduling policy
5307216, Sep 04 1991 International Business Machines Corporation Sector identification method and apparatus for a direct access storage device
5315708, Feb 28 1990 EMC Corporation Method and apparatus for transferring data through a staging memory
5339443, Nov 19 1991 Sun Microsystems, Inc. Arbitrating multiprocessor accesses to shared resources
5361266, Nov 04 1992 Mitsubishi Denki Kabushiki Kaisha Error correction circuit
5361267, Apr 24 1992 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Scheme for error handling in a computer system
5408644, Jun 05 1992 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Method and apparatus for improving the performance of partial stripe operations in a disk array subsystem
5410554, Mar 23 1992 Kabushiki Kaisha Toshiba Optical disk apparatus
5420984, Jun 30 1992 PIXELERATION, INC Apparatus and method for rapid switching between control of first and second DMA circuitry to effect rapid switching beween DMA communications
5428627, Nov 10 1992 CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD Method and apparatus for initializing an ECC circuit
5440751, Jun 21 1991 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Burst data transfer to single cycle data transfer conversion and strobe signal conversion
5450546, Jan 31 1992 RPX Corporation Intelligent hardware for automatically controlling buffer memory storage space in a disk drive
5465343, Apr 30 1993 Maxtor Corporation Shared memory array for data block and control program storage in disk drive
5487170, Dec 16 1993 IBM Corporation Data processing system having dynamic priority task scheduling capabilities
5488688, Mar 30 1994 SHENZHEN XINGUODU TECHNOLOGY CO , LTD Data processor with real-time diagnostic capability
5491701, Nov 04 1993 Cirrus Logic, Inc.; Cirrus Logic, INC Burst error corrector
5500848, Jul 10 1991 HGST NETHERLANDS B V Sector servo data recording disk having data regions without identification (ID) fields
5506989, Jan 31 1990 IBM Corporation; INTERNATIONAL BUSINESS MACHINES CORPORATION, A CORP OF NY Arbitration system limiting high priority successive grants
5507005, Mar 18 1991 Hitachi, Ltd. Data transferring system between host and I/O using a main buffer with sub-buffers where quantity of data in sub-buffers determine access requests
5519837, Jul 29 1994 International Business Machines Corporation Pseudo-round-robin arbitration for a shared resource system providing fairness and high throughput
5523903, Dec 23 1993 HGST NETHERLANDS B V Sector architecture for fixed block disk drive
5544180, Jun 08 1992 Qlogic Corporation Error-tolerant byte synchronization recovery scheme
5544346, Jan 02 1992 International Business Machines Corporation System having a bus interface unit for overriding a normal arbitration scheme after a system resource device has already gained control of a bus
5546545, Dec 09 1994 International Business Machines Corporation Rotating priority selection logic circuit
5546548, Mar 31 1993 Intel Corporation Arbiter and arbitration process for a dynamic and flexible prioritization
5563896, Jan 22 1991 Fujitsu Semiconductor Limited Error correction processor and an error correcting method
5572148, Mar 22 1995 ALTERA CORPORATION, A DELAWARE CORPORATION Programmable logic array integrated circuit with general-purpose memory configurable as a random access or FIFO memory
5574867, Jul 08 1994 Intel Corporation Fast first-come first served arbitration method
5581715, Jun 22 1994 CSR TECHNOLOGY INC IDE/ATA CD drive controller having a digital signal processor interface, dynamic random access memory, data error detection and correction, and a host interface
5583999, Jan 14 1994 Fujitsu Limited Bus arbiter and bus arbitrating method
5592404, Nov 04 1993 Cirrus Logic, INC Versatile error correction system
5600662, Nov 04 1993 Cirrus Logic, INC Error correction method and apparatus for headers
5602857, Nov 04 1993 AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD Error correction method and apparatus
5615190, Jul 10 1991 Western Digital Technologies, INC Fixed- block architecture embedded servo disk drive without data identification (ID) regions
5623672, Dec 23 1994 Cirrus Logic, Inc. Arrangement and method of arbitration for a resource with shared user request signals and dynamic priority assignment
5627695, Jan 12 1995 CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD System and method for generating unique sector identifiers for an identificationless disk format
5629949, Nov 04 1993 Lake Cherokee Hard Drive Technologies, LLC Error correction verification method and apparatus using CRC check remainders
5640602, Jun 10 1994 SOCIONEXT INC Transferring digital data in units of 2 bytes to increase utilization of a 2-byte-wide bus
5649230, Mar 31 1992 SAMSUNG ELECTRONICS CO , LTD System for transferring data using value in hardware FIFO'S unused data start pointer to update virtual FIFO'S start address pointer for fast context switching
5664121, Nov 07 1995 Oracle America, Inc Dual mode arbitration apparatus and method for reducing latency by allowing the possibility of simultaneous request and access for a shared bus
5689656, May 03 1995 Apple Inc Dynamic hierarchical arbitration of computer resource access requests
5691994, May 08 1995 BANKBOSTON, N A , AS AGENT Disk drive with fast error correction validation
5692135, Dec 14 1995 International Business Machines Corporation Method and system for performing an asymmetric bus arbitration protocol within a data processing system
5692165, Sep 12 1995 Round Rock Research, LLC Memory controller with low skew control signal
5719516, Dec 20 1995 Lattice Semiconductor Corporation Lock generator circuit for use with a dual edge register that provides a separate enable for each use of an input clock signal
5729718, Nov 10 1993 Maxtor Corporation System for determining lead time latency as function of head switch, seek, and rotational latencies and utilizing embedded disk drive controller for command queue reordering
5740466, Jun 26 1992 Cirrus Logic, Inc. Flexible processor-driven SCSI controller with buffer memory and local processor memory coupled via separate buses
5745793, Jun 07 1995 Seagate Technology LLC Apparatus having a circular buffer that maintains a one entry gap between elements written to the microprocessor and elements operated on by the clock
5754759, Sep 29 1993 U.S. Philips Corporation Testing and monitoring of programmed devices
5758188, Nov 21 1995 Maxtor Corporation Synchronous DMA burst transfer protocol having the peripheral device toggle the strobe signal such that data is latched using both edges of the strobe signal
5784569, Sep 23 1996 Hewlett Packard Enterprise Development LP Guaranteed bandwidth allocation method in a computer system for input/output data transfers
5794073, Nov 07 1994 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Arbitration system for a shared DMA logic on a network adapter with a large number of competing priority requests having predicted latency field
5801998, Nov 06 1995 Hyundai Electronics Industries Co., Ltd. Dynamic random access memory
5818886, Aug 22 1996 Unisys Corporation Pulse synchronizing module
5822142, Jul 26 1996 BANKBOSTON, N A , AS AGENT Method of mapping logical sectors to physical sectors in a disk drive sparing partition
5822777, Aug 23 1996 EMC IP HOLDING COMPANY LLC Dual bus data storage system having an addressable memory with timer controller fault detection of data transfer between the memory and the buses
5831922, Oct 22 1996 Hyundai Electronics Industries Co., Ltd. Semiconductor device having a refresh device of a noise reduction type
5835930, Apr 09 1996 MARIANA HDD B V ; HITACHI GLOBAL STORAGE TECHNOLOGIES NETHERLANDS B V One or more logical tracks per physical track in a headerless disk drive
5841722, Feb 14 1996 Galileo Technologies Ltd First-in, first-out (FIFO) buffer
5844844, Jul 09 1997 XILINX, Inc.; Xilinx, Inc FPGA memory element programmably triggered on both clock edges
5850422, Jul 21 1995 AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD Apparatus and method for recovering a clock signal which is embedded in an incoming data stream
5854918, Jan 24 1996 Ricoh Company Ltd Apparatus and method for self-timed algorithmic execution
5890207, Nov 27 1996 EMC IP HOLDING COMPANY LLC High performance integrated cached storage device
5890210, Jun 28 1996 Kabushiki Kaisha Toshiba Magnetic disk apparatus and command processing method thereof
5907717, Feb 23 1996 AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD Cross-connected memory system for allocating pool buffers in each frame buffer and providing addresses thereof
5912906, Jun 23 1997 Oracle America, Inc Method and apparatus for recovering from correctable ECC errors
5925135, Sep 26 1996 Intel Corporation Clock rate compensation for a low frequency slave device
5937435, Dec 23 1993 Western Digital Technologies, INC System and method for skip-sector mapping in a data recording disk drive
5950223, Jun 19 1997 Promos Technologies Inc Dual-edge extended data out memory
5968180, Sep 30 1997 Intel Corporation Data capture circuit for asynchronous data transfer
5978281, Jan 04 1999 International Business Machines Corporation Method and apparatus for preventing postamble corruption within a memory system
5983293, Dec 17 1993 Fujitsu Limited File system for dividing buffer areas into different block sizes for system and user data
5991911, Nov 14 1997 Lake Cherokee Hard Drive Technologies, LLC Concurrent generation of ECC error syndromes and CRC validation syndromes in a DVD storage device
6029226, Sep 30 1996 AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD Method and apparatus having automated write data transfer with optional skip by processing two write commands as a single write command
6029250, Sep 09 1998 Round Rock Research, LLC Method and apparatus for adaptively adjusting the timing offset between a clock signal and digital signals transmitted coincident with that clock signal, and memory device and system using same
6041417, Jun 04 1998 LEBLANG, DENNIS Method and apparatus for synchronizing data received in an accelerated graphics port of a graphics memory system
6065053, Oct 01 1997 Round Rock Research, LLC System for resetting a server
6067206, Nov 18 1997 BANKBOSTON, N A , AS AGENT Method and apparatus to compensate for servo wedge rotational offset after a head switch
6070200, Jun 02 1998 PMC-SIERRA, INC Host adapter having paged data buffers for continuously transferring data between a system bus and a peripheral bus
6078447, Oct 17 1996 Samsung Electronics Co., Ltd. Staggered servo writing method in a hard disk drive employing staggered servo writing
6078546, Mar 18 1997 SAMSUNG ELECTRONICS CO , LTD Synchronous semiconductor memory device with double data rate scheme
6081849, Oct 01 1996 AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD Method and structure for switching multiple contexts in storage subsystem target device
6092231, Jun 12 1998 CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD Circuit and method for rapid checking of error correction codes using cyclic redundancy check
6094320, Sep 06 1995 SAMSUNG ELECTRONICS CO , LTD , A CORPORATION ORGANIZED UNDER THE LAWS OF THE REPUBLIC OF KOREA Device and method for compensating for interhead track position offset due to the offset of tracks on disk surfaces
6124994, Dec 12 1995 Western Digital Technologies, INC System and method for providing nonadjacent redundancy synchronization bytes
6134063, Dec 30 1997 AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD Automated multi-track transfers
6145042, Dec 23 1997 EMC IP HOLDING COMPANY LLC Timing protocol for a data storage system
6157984, May 15 1997 Seagate Technology LLC Integrated controller/processor for disc drive having direct memory access
6178486, Feb 19 1998 Maxtor Corporation Time allocation shared memory arbitration for disk drive controller
6192499, May 29 1998 RPX Corporation Device and method for extending error correction beyond one sector time
6201655, Sep 19 1997 Hitachi Global Storage Technologies Japan, Ltd Rotational storage device
6223303, Jun 29 1998 BANKBOSTON, N A , AS AGENT Disk drive having two tiered defect list comprising marginal and reserved data sectors
6278567, Jun 17 1993 Sony Corporation Apparatus and method for recording a video signal on a recording medium
6279089, Apr 12 1999 Western Digital Technologies, Inc. Defective data site management through a shared defect management table
6297926, Sep 06 1995 Samsung Electronics Co., Ltd. Device and method for compensating for interhead track position offset due to the offset of tracks on disk surfaces
6330626, May 05 1999 CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD Systems and methods for a disk controller memory architecture
6381659, Jan 19 1999 Maxtor Corporation Method and circuit for controlling a first-in-first-out (FIFO) buffer using a bank of FIFO address registers capturing and saving beginning and ending write-pointer addresses
6401149, May 05 1999 CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD Methods for context switching within a disk controller
6470461, Jun 07 1999 MARVELL INTERNATIONAL LTD; CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD Disk drive controller circuit and method for skipping defective and/or undesired sectors
6477110, Mar 09 2001 Samsung Electronics Co., Ltd. Semiconductor memory device having different data rates in read operation and write operation
6487631, Feb 02 1999 CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD Circuit and method for monitoring sector transfers to and from storage medium
6490635, Apr 28 2000 Western Digital Technologies, Inc. Conflict detection for queued command handling in disk drive controller
6530000, Mar 24 1999 CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD Methods and systems for arbitrating access to a disk controller buffer memory by allocating various amounts of times to different accessing units
6574676, Jan 11 2000 GOOGLE LLC System and method for scheduling disk drive commands by expected total access time
6600681, Jun 10 2002 AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD Method and apparatus for calibrating DQS qualification in a memory controller
6603686, Mar 09 2001 Samsung Electronics Co., Ltd. Semiconductor memory device having different data rates in read operation and write operation
6633965, Apr 07 2001 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Memory controller with 1×/M× read capability
6662334, Feb 25 1999 RPX Corporation Method and device for performing error correction on ECC data sectors
6785189, Sep 16 2002 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED Method and apparatus for improving noise immunity in a DDR SDRAM system
6826650, Aug 22 2000 MARVELL INTERNATIONAL LTD; CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD Disk controller configured to perform out of order execution of write operations
6971039, Feb 14 2001 Polaris Innovations Limited DDR to SDR conversion that decodes read and write accesses and forwards delayed commands to first and second memory modules
7230876, Feb 14 2005 Qualcomm Incorporated Register read for volatile memory
20010044873,
20020138798,
20030037225,
20030070052,
20030182595,
20040037158,
20040052151,
20040057331,
20040090920,
20040120442,
20040179109,
20040252700,
20040257889,
20050015560,
20050018494,
20050050375,
20050068812,
20050073901,
20060250884,
EP528273,
EP622726,
EP718827,
GB2285166,
JP1315071,
JP3183067,
JP63292462,
WO9814861,
///
Executed onAssignorAssigneeConveyanceFrameReelDoc
Oct 04 2006Marvell International Ltd.(assignment on the face of the patent)
Dec 31 2019MARVELL INTERNATIONAL LTDCAVIUM INTERNATIONALASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0529180001 pdf
Dec 31 2019CAVIUM INTERNATIONALMARVELL ASIA PTE, LTDASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0534750001 pdf
Date Maintenance Fee Events
Mar 29 2013M1551: Payment of Maintenance Fee, 4th Year, Large Entity.
Mar 29 2017M1552: Payment of Maintenance Fee, 8th Year, Large Entity.
Mar 16 2021M1553: Payment of Maintenance Fee, 12th Year, Large Entity.


Date Maintenance Schedule
Sep 29 20124 years fee payment window open
Mar 29 20136 months grace period start (w surcharge)
Sep 29 2013patent expiry (for year 4)
Sep 29 20152 years to revive unintentionally abandoned end. (for year 4)
Sep 29 20168 years fee payment window open
Mar 29 20176 months grace period start (w surcharge)
Sep 29 2017patent expiry (for year 8)
Sep 29 20192 years to revive unintentionally abandoned end. (for year 8)
Sep 29 202012 years fee payment window open
Mar 29 20216 months grace period start (w surcharge)
Sep 29 2021patent expiry (for year 12)
Sep 29 20232 years to revive unintentionally abandoned end. (for year 12)