WO2004095290A3 - System and method for dynamic mirror-bank addressing - Google Patents

System and method for dynamic mirror-bank addressing Download PDF

Info

Publication number
WO2004095290A3
WO2004095290A3 PCT/US2004/005522 US2004005522W WO2004095290A3 WO 2004095290 A3 WO2004095290 A3 WO 2004095290A3 US 2004005522 W US2004005522 W US 2004005522W WO 2004095290 A3 WO2004095290 A3 WO 2004095290A3
Authority
WO
WIPO (PCT)
Prior art keywords
banks
memory
mirror flag
asserted
bank
Prior art date
Application number
PCT/US2004/005522
Other languages
French (fr)
Other versions
WO2004095290A2 (en
Inventor
Robert E Jeter Jr
Kenneth H Potter Jr
Original Assignee
Cisco Tech Ind
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cisco Tech Ind filed Critical Cisco Tech Ind
Priority to EP04715006A priority Critical patent/EP1606712B1/en
Priority to AU2004232184A priority patent/AU2004232184B2/en
Priority to DE602004004383T priority patent/DE602004004383T2/en
Priority to CA2519332A priority patent/CA2519332C/en
Publication of WO2004095290A2 publication Critical patent/WO2004095290A2/en
Publication of WO2004095290A3 publication Critical patent/WO2004095290A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2087Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring with a common controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2069Management of state, configuration or failover
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents

Abstract

A dynamic addressing technique mirrors data across multiple banks of a memory resource. Information stored in the memory banks is organized into separately addressable blocks, and memory addresses include a mirror flag. To write information mirrored across two memory banks, a processor issues a single write transaction with the mirror flag asserted. A memory controller detects that the mirror flag is asserted and, in response, waits for both memory banks to become available. At that point, the memory controller causes the write to be performed at both banks. To read data that has been mirrored across two memory banks, the processor issues a read with the mirror flag asserted. The memory controller checks the availability of both banks having the desired information. If either bank is available, the read request is accepted and the desired data is retrieved from the available bank and returned to the processor.
PCT/US2004/005522 2003-03-21 2004-02-26 System and method for dynamic mirror-bank addressing WO2004095290A2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP04715006A EP1606712B1 (en) 2003-03-21 2004-02-26 System and method for dynamic mirror-bank addressing
AU2004232184A AU2004232184B2 (en) 2003-03-21 2004-02-26 System and method for dynamic mirror-bank addressing
DE602004004383T DE602004004383T2 (en) 2003-03-21 2004-02-26 SYSTEM AND METHOD FOR THE DYNAMIC ADDRESSING OF MIRRORED MEMORY BANK
CA2519332A CA2519332C (en) 2003-03-21 2004-02-26 System and method for dynamic mirror-bank addressing

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/394,984 US7194568B2 (en) 2003-03-21 2003-03-21 System and method for dynamic mirror-bank addressing
US10/394,984 2003-03-21

Publications (2)

Publication Number Publication Date
WO2004095290A2 WO2004095290A2 (en) 2004-11-04
WO2004095290A3 true WO2004095290A3 (en) 2004-12-02

Family

ID=32988515

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2004/005522 WO2004095290A2 (en) 2003-03-21 2004-02-26 System and method for dynamic mirror-bank addressing

Country Status (8)

Country Link
US (1) US7194568B2 (en)
EP (2) EP1606712B1 (en)
CN (1) CN100383751C (en)
AT (2) ATE411560T1 (en)
AU (1) AU2004232184B2 (en)
CA (1) CA2519332C (en)
DE (2) DE602004004383T2 (en)
WO (1) WO2004095290A2 (en)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7257681B2 (en) * 2003-06-11 2007-08-14 Cisco Technology, Inc. Maintaining entity order with gate managers
US7454555B2 (en) * 2003-06-12 2008-11-18 Rambus Inc. Apparatus and method including a memory device having multiple sets of memory banks with duplicated data emulating a fast access time, fixed latency memory device
JP4256210B2 (en) * 2003-06-12 2009-04-22 株式会社半導体理工学研究センター Synchronous bank type memory
TWI230859B (en) * 2004-03-11 2005-04-11 Amic Technology Corp Method and related system for accessing LPC memory or firmware memory in a computer system
JP5017971B2 (en) * 2005-09-07 2012-09-05 ソニー株式会社 Accumulator
US8145851B2 (en) 2005-09-07 2012-03-27 Sony Corporation Integrated device
US7461216B2 (en) * 2006-02-23 2008-12-02 Hewlett-Packard Development Company, L.P. Memory controller
US8453147B2 (en) * 2006-06-05 2013-05-28 Cisco Technology, Inc. Techniques for reducing thread overhead for systems with multiple multi-threaded processors
US8041929B2 (en) 2006-06-16 2011-10-18 Cisco Technology, Inc. Techniques for hardware-assisted multi-threaded processing
US8010966B2 (en) * 2006-09-27 2011-08-30 Cisco Technology, Inc. Multi-threaded processing using path locks
US8417895B1 (en) 2008-09-30 2013-04-09 Violin Memory Inc. System for maintaining coherency during offline changes to storage media
US8838850B2 (en) * 2008-11-17 2014-09-16 Violin Memory, Inc. Cluster control protocol
US8442059B1 (en) 2008-09-30 2013-05-14 Gridiron Systems, Inc. Storage proxy with virtual ports configuration
US8788758B1 (en) 2008-11-04 2014-07-22 Violin Memory Inc Least profitability used caching scheme
US8443150B1 (en) 2008-11-04 2013-05-14 Violin Memory Inc. Efficient reloading of data into cache resource
JP5367357B2 (en) * 2008-12-24 2013-12-11 株式会社メガチップス Memory system and computer system
US8667366B1 (en) 2009-04-17 2014-03-04 Violin Memory, Inc. Efficient use of physical address space for data overflow and validation
US8650362B2 (en) * 2009-04-17 2014-02-11 Violin Memory Inc. System for increasing utilization of storage media
US8713252B1 (en) 2009-05-06 2014-04-29 Violin Memory, Inc. Transactional consistency scheme
KR100940868B1 (en) * 2009-05-25 2010-02-09 이성재 Device realizing read characteristic of sram from dram and method of the same
US9069676B2 (en) 2009-06-03 2015-06-30 Violin Memory, Inc. Mapping engine for a storage device
US8402198B1 (en) 2009-06-03 2013-03-19 Violin Memory, Inc. Mapping engine for a storage device
US20100332718A1 (en) * 2009-06-26 2010-12-30 Micron Technology, Inc. System and method for providing configurable latency and/or density in memory devices
US8402246B1 (en) 2009-08-28 2013-03-19 Violin Memory, Inc. Alignment adjustment in a tiered storage system
CN102754089B (en) * 2010-02-09 2016-01-20 三菱电机株式会社 Channel control unit, storage control device and there is the PLC of above-mentioned channel control unit
US8447930B2 (en) * 2010-06-22 2013-05-21 International Business Machines Corporation Managing in-line store throughput reduction
US8832384B1 (en) 2010-07-29 2014-09-09 Violin Memory, Inc. Reassembling abstracted memory accesses for prefetching
US8959288B1 (en) 2010-07-29 2015-02-17 Violin Memory, Inc. Identifying invalid cache data
US8472350B2 (en) * 2010-12-31 2013-06-25 Telefonaktiebolaget L M Ericsson (Publ) Bank aware multi-bit trie
US8972689B1 (en) 2011-02-02 2015-03-03 Violin Memory, Inc. Apparatus, method and system for using real-time performance feedback for modeling and improving access to solid state media
US8635416B1 (en) 2011-03-02 2014-01-21 Violin Memory Inc. Apparatus, method and system for using shadow drives for alternative drive commands
EP2856325B1 (en) * 2012-05-25 2017-11-15 Huawei Technologies Co., Ltd. A multi-client multi memory controller in a high speed distributed memory system
US9548885B2 (en) * 2012-07-02 2017-01-17 Marvell Israel (M.I.S.L) Ltd Systems and methods for providing replicated data from memories to processing clients
US10191873B2 (en) * 2012-12-20 2019-01-29 Advanced Micro Devices, Inc. Method and apparatus for power reduction for data movement
WO2014163620A1 (en) * 2013-04-02 2014-10-09 Violin Memory, Inc. System for increasing storage media performance
JP2015011421A (en) * 2013-06-27 2015-01-19 ソニー株式会社 Storage controller, storage device and storage control method thereof
US9933980B2 (en) 2014-02-24 2018-04-03 Toshiba Memory Corporation NAND raid controller for connection between an SSD controller and multiple non-volatile storage units
US20160162416A1 (en) * 2014-12-08 2016-06-09 Intel Corporation Apparatus and Method for Reducing Latency Between Host and a Storage Device
US10031884B2 (en) 2015-02-11 2018-07-24 Samsung Electronics Co., Ltd Storage apparatus and method for processing plurality of pieces of client data
US10152436B2 (en) * 2016-03-30 2018-12-11 Oracle International Corporation Mutual exclusion in a non-coherent memory hierarchy
KR20180080775A (en) 2017-01-05 2018-07-13 에스케이하이닉스 주식회사 Memory apparatus, memory module and semiconductor system capable of dynamically mirroring
TWI779069B (en) 2017-07-30 2022-10-01 埃拉德 希提 Memory chip with a memory-based distributed processor architecture
US11055105B2 (en) * 2018-08-31 2021-07-06 Micron Technology, Inc. Concurrent image measurement and execution
US10831693B1 (en) 2018-09-27 2020-11-10 Amazon Technologies, Inc. Multicast master
US10613977B1 (en) * 2018-09-27 2020-04-07 Amazon Technologies, Inc. Target port with distributed transactions
US11043246B2 (en) * 2019-04-18 2021-06-22 Samsung Electronics Co, Ltd. Memory modules including a mirroring circuit and methods of operating the same
US11741350B2 (en) 2019-11-27 2023-08-29 Amazon Technologies, Inc. Efficient utilization of processing element array
US11836527B2 (en) 2021-08-02 2023-12-05 Nvidia Corporation Accelerating table lookups using a decoupled lookup table accelerator in a system on a chip
US11704067B2 (en) * 2021-08-02 2023-07-18 Nvidia Corporation Performing multiple point table lookups in a single cycle in a system on chip

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0744696A1 (en) * 1995-05-22 1996-11-27 Symbios Logic Inc. Data transfer method and apparatus
US20010001871A1 (en) * 1998-06-23 2001-05-24 Shrader Steven L. Storage management system and auto-RAID transaction manager for coherent memory map across hot plug interface

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4096571A (en) 1976-09-08 1978-06-20 Codex Corporation System for resolving memory access conflicts among processors and minimizing processor waiting times for access to memory by comparing waiting times and breaking ties by an arbitrary priority ranking
US4400768A (en) 1980-06-04 1983-08-23 Burroughs Corporation Parallel access computer memory system employing a power-of-two memory modules
US5088032A (en) 1988-01-29 1992-02-11 Cisco Systems, Inc. Method and apparatus for routing communications among computer networks
US4918600A (en) 1988-08-01 1990-04-17 Board Of Regents, University Of Texas System Dynamic address mapping for conflict-free vector access
US5197130A (en) 1989-12-29 1993-03-23 Supercomputer Systems Limited Partnership Cluster architecture for a highly parallel scalar/vector multiprocessor system
US5247645A (en) 1991-03-12 1993-09-21 International Business Machines Corporation Dynamic memory mapper which supports interleaving across 2N +1, 2.sup.NN -1 number of banks for reducing contention during nonunit stride accesses
US5394553A (en) 1991-06-12 1995-02-28 Lee Research, Inc. High performance array processor with nonlinear skewing of elements
US5428803A (en) 1992-07-10 1995-06-27 Cray Research, Inc. Method and apparatus for a unified parallel processing architecture
US5479624A (en) 1992-10-14 1995-12-26 Lee Research, Inc. High-performance interleaved memory system comprising a prime number of memory modules
US5617421A (en) 1994-06-17 1997-04-01 Cisco Systems, Inc. Extended domain computer network using standard links
US5561669A (en) 1994-10-26 1996-10-01 Cisco Systems, Inc. Computer network switching system with expandable number of ports
JP3560662B2 (en) 1994-12-06 2004-09-02 富士通株式会社 Parallel processor device
US5838915A (en) 1995-06-21 1998-11-17 Cisco Technology, Inc. System for buffering data in the network having a linked list for each of said plurality of queues
US5742604A (en) 1996-03-28 1998-04-21 Cisco Systems, Inc. Interswitch link mechanism for connecting high-performance network switches
US5796732A (en) 1996-03-28 1998-08-18 Cisco Technology, Inc. Architecture for an expandable transaction-based switching bus
US5764636A (en) 1996-03-28 1998-06-09 Cisco Technology, Inc. Color blocking logic mechanism for a high-performance network switch
US5740171A (en) 1996-03-28 1998-04-14 Cisco Systems, Inc. Address translation mechanism for a high-performance network switch
US5787255A (en) 1996-04-12 1998-07-28 Cisco Systems, Inc. Internetworking device with enhanced protocol translation circuit
US5787485A (en) * 1996-09-17 1998-07-28 Marathon Technologies Corporation Producing a mirrored copy using reference labels
US5909550A (en) 1996-10-16 1999-06-01 Cisco Technology, Inc. Correlation technique for use in managing application-specific and protocol-specific resources of heterogeneous integrated computer network
US5852607A (en) 1997-02-26 1998-12-22 Cisco Technology, Inc. Addressing mechanism for multiple look-up tables
US6026464A (en) 1997-06-24 2000-02-15 Cisco Technology, Inc. Memory control system and method utilizing distributed memory controllers for multibank memory
US6487202B1 (en) 1997-06-30 2002-11-26 Cisco Technology, Inc. Method and apparatus for maximizing memory throughput
US6178429B1 (en) 1997-11-26 2001-01-23 Cisco Technology, Inc. Mechanism for ensuring SCM database consistency on multi-part operation boundaries
US6195107B1 (en) 1998-05-29 2001-02-27 Cisco Technology, Inc. Method and system for utilizing virtual memory in an embedded system
US6119215A (en) 1998-06-29 2000-09-12 Cisco Technology, Inc. Synchronization and control system for an arrayed processing engine
US6308219B1 (en) 1998-07-31 2001-10-23 Cisco Technology, Inc. Routing table lookup implemented using M-trie having nodes duplicated in multiple memory banks
US5982655A (en) 1998-09-29 1999-11-09 Cisco Technology, Inc. Method and apparatus for support of multiple memory types in a single memory socket architecture
US6487591B1 (en) 1998-12-08 2002-11-26 Cisco Technology, Inc. Method for switching between active and standby units using IP swapping in a telecommunication network
US6535963B1 (en) 1999-06-30 2003-03-18 Cisco Technology, Inc. Memory apparatus and method for multicast devices
US6795901B1 (en) * 1999-12-17 2004-09-21 Alliant Techsystems Inc. Shared memory interface with conventional access and synchronization support
US6505269B1 (en) 2000-05-16 2003-01-07 Cisco Technology, Inc. Dynamic addressing mapping to eliminate memory resource contention in a symmetric multiprocessor system
US6804162B1 (en) * 2001-04-05 2004-10-12 T-Ram, Inc. Read-modify-write memory using read-or-write banks
US6839797B2 (en) * 2001-12-21 2005-01-04 Agere Systems, Inc. Multi-bank scheduling to improve performance on tree accesses in a DRAM based random access memory subsystem

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0744696A1 (en) * 1995-05-22 1996-11-27 Symbios Logic Inc. Data transfer method and apparatus
US20010001871A1 (en) * 1998-06-23 2001-05-24 Shrader Steven L. Storage management system and auto-RAID transaction manager for coherent memory map across hot plug interface

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"MIRRORING OF DATA ON A PARTITION BASIS", RESEARCH DISCLOSURE, KENNETH MASON PUBLICATIONS, HAMPSHIRE, GB, no. 315, 1 July 1990 (1990-07-01), pages 543, XP000134126, ISSN: 0374-4353 *

Also Published As

Publication number Publication date
CN100383751C (en) 2008-04-23
EP1777626A1 (en) 2007-04-25
DE602004017232D1 (en) 2008-11-27
CA2519332A1 (en) 2004-11-04
DE602004004383D1 (en) 2007-03-08
WO2004095290A2 (en) 2004-11-04
CN1761947A (en) 2006-04-19
US20040186945A1 (en) 2004-09-23
EP1606712B1 (en) 2007-01-17
ATE352064T1 (en) 2007-02-15
AU2004232184B2 (en) 2010-05-27
EP1777626B1 (en) 2008-10-15
DE602004004383T2 (en) 2007-11-08
ATE411560T1 (en) 2008-10-15
US7194568B2 (en) 2007-03-20
EP1606712A2 (en) 2005-12-21
CA2519332C (en) 2011-09-13
AU2004232184A1 (en) 2004-11-04

Similar Documents

Publication Publication Date Title
WO2004095290A3 (en) System and method for dynamic mirror-bank addressing
WO2004034401A3 (en) Dynamic memory supporting simultaneous refresh and data-access transactions
KR100589564B1 (en) System signalling schemes for processor & memory module
TW400521B (en) Semiconductor memory
US6876593B2 (en) Method and apparatus for partial refreshing of DRAMS
US20030126392A1 (en) A method of controlling page mode access
TW200401189A (en) Memory system with burst length shorter than prefetch length
EP0955640A3 (en) Decoded autorefresh mode in a DRAM
EP1667024A3 (en) Memory based cross compare for cross checked systems
WO2002017327A3 (en) Memory device having posted write per command
US6282606B1 (en) Dynamic random access memories with hidden refresh and utilizing one-transistor, one-capacitor cells, systems and methods
WO2004059499A3 (en) Memory controller and method for writing to a memory
JP2006507602A5 (en)
KR20160063726A (en) Memory device and memory system including the same
US7047371B2 (en) Integrated memory having a memory cell array containing a plurality of memory banks, and circuit configuration having an integrated memory
US8811111B2 (en) Memory controller with reduced power consumption, memory device, and memory system
US7310698B2 (en) Method and apparatus for extending memory addressing
WO2001029818A8 (en) Atomic operation in system with burst mode memory access
US6715041B2 (en) Non-volatile memory device with multiple ports
EP1470553B1 (en) Apparatus and method for encoding auto-precharge
US20040015645A1 (en) System, apparatus, and method for a flexible DRAM architecture
US20040186957A1 (en) Method and system for using dynamic random access memory as cache memory
KR20050122503A (en) Memory controller for scheduling a plurality of commands, and method thereof
AU9755798A (en) Method and apparatus for controlling shared memory access
WO2002037284A3 (en) Pipelined multi-access memory apparatus and method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2004232184

Country of ref document: AU

WWE Wipo information: entry into national phase

Ref document number: 2004715006

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2519332

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 20048077192

Country of ref document: CN

ENP Entry into the national phase

Ref document number: 2004232184

Country of ref document: AU

Date of ref document: 20040226

Kind code of ref document: A

WWP Wipo information: published in national office

Ref document number: 2004232184

Country of ref document: AU

WWP Wipo information: published in national office

Ref document number: 2004715006

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 2004715006

Country of ref document: EP