KR20220083849A - 메모리 컨트롤러 - Google Patents

메모리 컨트롤러 Download PDF

Info

Publication number
KR20220083849A
KR20220083849A KR1020227018968A KR20227018968A KR20220083849A KR 20220083849 A KR20220083849 A KR 20220083849A KR 1020227018968 A KR1020227018968 A KR 1020227018968A KR 20227018968 A KR20227018968 A KR 20227018968A KR 20220083849 A KR20220083849 A KR 20220083849A
Authority
KR
South Korea
Prior art keywords
memory
circuit
request
data
atomic operation
Prior art date
Application number
KR1020227018968A
Other languages
English (en)
Korean (ko)
Inventor
토니 엠. 브루어
Original Assignee
마이크론 테크놀로지, 인크.
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 마이크론 테크놀로지, 인크. filed Critical 마이크론 테크놀로지, 인크.
Priority claimed from US16/259,862 external-priority patent/US10956086B2/en
Publication of KR20220083849A publication Critical patent/KR20220083849A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1008Correctness of operation, e.g. memory ordering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/45Caching of specific data in cache memory
    • G06F2212/452Instruction code
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Multimedia (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
KR1020227018968A 2018-01-29 2019-01-28 메모리 컨트롤러 KR20220083849A (ko)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US201862623331P 2018-01-29 2018-01-29
US62/623,331 2018-01-29
US16/259,862 2019-01-28
US16/259,862 US10956086B2 (en) 2018-01-29 2019-01-28 Memory controller
US16/259,879 2019-01-28
PCT/US2019/015463 WO2019148129A1 (fr) 2018-01-29 2019-01-28 Contrôleur de mémoire
US16/259,879 US10915271B2 (en) 2018-01-29 2019-01-28 Memory controller with programmable atomic operations
KR1020207024833A KR102407128B1 (ko) 2018-01-29 2019-01-28 메모리 컨트롤러

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020207024833A Division KR102407128B1 (ko) 2018-01-29 2019-01-28 메모리 컨트롤러

Publications (1)

Publication Number Publication Date
KR20220083849A true KR20220083849A (ko) 2022-06-20

Family

ID=65411950

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020227018968A KR20220083849A (ko) 2018-01-29 2019-01-28 메모리 컨트롤러
KR1020227018954A KR20220083848A (ko) 2018-01-29 2019-01-28 프로그래밍 가능한 원자적 동작을 하는 메모리 컨트롤러

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020227018954A KR20220083848A (ko) 2018-01-29 2019-01-28 프로그래밍 가능한 원자적 동작을 하는 메모리 컨트롤러

Country Status (2)

Country Link
KR (2) KR20220083849A (fr)
WO (2) WO2019148129A1 (fr)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7360031B2 (en) * 2005-06-29 2008-04-15 Intel Corporation Method and apparatus to enable I/O agents to perform atomic operations in shared, coherent memory spaces
CN110097492A (zh) * 2013-09-26 2019-08-06 想象技术有限公司 原子存储器更新单元和方法
US9652385B1 (en) * 2015-11-27 2017-05-16 Arm Limited Apparatus and method for handling atomic update operations

Also Published As

Publication number Publication date
WO2019148129A1 (fr) 2019-08-01
WO2019148131A1 (fr) 2019-08-01
KR20220083848A (ko) 2022-06-20

Similar Documents

Publication Publication Date Title
KR102407128B1 (ko) 메모리 컨트롤러
US11334262B2 (en) On-chip atomic transaction engine
KR101753913B1 (ko) 기계 비전 알고리즘을 위한 멀티프로세서 시스템온칩
US11023410B2 (en) Instructions for performing multi-line memory accesses
EP3335124B1 (fr) Fichiers de registre pour compression de paquets e/s
WO2016070197A1 (fr) Architecture de bus multicœur avec système de crédit de transaction à hautes performances et sans blocage
US20130054896A1 (en) System memory controller having a cache
US10817446B1 (en) Optimized multiport NVMe controller for multipath input/output applications
WO2022086791A1 (fr) Détection de boucles infinies dans une transaction atomique programmable
US12019920B2 (en) Memory controller with programmable atomic operations
WO2020247240A1 (fr) Interface de mémoire étendue
US10802828B1 (en) Instruction memory
KR20220083849A (ko) 메모리 컨트롤러
US10185684B2 (en) System interconnect and operating method of system interconnect
EP4227790B1 (fr) Systèmes, procédés et appareil pour l'atomicité de destination de copie dans des dispositifs
US11940919B2 (en) Recall pending cache line eviction
CN117632784A (zh) 静默高速缓存行逐出
WO2020046846A1 (fr) Procédé, appareil et système de prélecture d'état de cohérence de cache exclusif pour des instructions de mémorisation

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right