KR102332375B1 - 정적 랜덤 액세스 메모리를 액세스하는 방법, 장치, 기기 및 저장 매체 - Google Patents

정적 랜덤 액세스 메모리를 액세스하는 방법, 장치, 기기 및 저장 매체 Download PDF

Info

Publication number
KR102332375B1
KR102332375B1 KR1020190135665A KR20190135665A KR102332375B1 KR 102332375 B1 KR102332375 B1 KR 102332375B1 KR 1020190135665 A KR1020190135665 A KR 1020190135665A KR 20190135665 A KR20190135665 A KR 20190135665A KR 102332375 B1 KR102332375 B1 KR 102332375B1
Authority
KR
South Korea
Prior art keywords
data
static random
random access
request
access
Prior art date
Application number
KR1020190135665A
Other languages
English (en)
Other versions
KR20200060248A (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 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디.
Publication of KR20200060248A publication Critical patent/KR20200060248A/ko
Application granted granted Critical
Publication of KR102332375B1 publication Critical patent/KR102332375B1/ko

Links

Images

Classifications

    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1615Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using a concurrent pipeline structrure
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1621Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by maintaining request order
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1647Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
    • 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/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4031Coupling between buses using bus bridges with arbitration
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Static Random-Access Memory (AREA)
  • Memory System (AREA)

Abstract

본 개시는 정적 랜덤 액세스 메모리를 액세스하기 위한 방법, 장치, 전자 기기 및 컴퓨터 판독 가능 저장 매체에 관한 것이다. 당해 방법은, 정적 랜덤 액세스 메모리 관련 데이터에 대한 액세스 요청을 수신하는 단계; 액세스 요청이 데이터에 대한 기록 요청인 것에 응답하여, 데이터의 소정 크기의 복수 부분을 상이한 복수의 정적 랜덤 액세스 메모리에 인터리빙으로 기록하는 단계; 및 액세스 요청이 데이터에 대한 판독 요청인 것에 응답하여, 복수의 정적 랜덤 액세스 메모리로부터 데이터의 소정 크기의 복수 부분을 인터리빙으로 판독하는 단계; 를 포함하는바, 본 개시의 실시예는 SRAM의 멀티 판독/멀티 기록을 구현 가능하고 SRAM 회로를 다시 설계할 필요가 없으므로 저비용의 방식으로 SRAM의 멀티 판독/멀티 기록 조작을 구현 가능하다.

Description

정적 랜덤 액세스 메모리를 액세스하는 방법, 장치, 기기 및 저장 매체{METHOD FOR ACCESSING STATIC RANDOM-ACCESS MEMORY, DEVICE FOR ACCESSING STATIC RANDOM-ACCESS MEMORY, DEVICE AND STORAGE MEDIUM}
본 개시는 집적 회로 분야에 관한 것으로, 구체적으로, 정적 랜덤 액세스 메모리(SRAM)를 액세스하는 방법, 장치, 기기 및 컴퓨터 판독 가능 저장 매체에 관한 것이다.
집적 회로 디바이스는 이미 일상 사무 및 생활의 여러 방면에 광범위하게 적용되고 있다. 집적 회로 디바이스는, 예를 들면, 필드 프로그램 가능 게이트 어레이(FPGA), 시스템 온 칩(SOC) 및 주문형 집적회로(ASIC) 디바이스 등을 포함한다. FPGA, SOC 및 ASIC 회로 칩 설계에서 SRAM이 대량으로 사용되어 컴퓨팅에 필요한 데이터를 저장하거나 컴퓨팅의 결과를 캐시한다. 일반적으로, 하나의 SRAM 저장 공간은 복수의 독립된 액세스 기기, 예를 들면 컴퓨팅 유닛에 의하여 액세스될 수 있다. 그러나 SRAM에는 판독/기록 포트가 하나뿐이다. 이러한 경우, 상이한 액세스 기기가 SRAM을 판독/기록함에 있어서 충돌이 나타나게 된다. 중재를 거쳐 통상적으로는 하나의 액세스 기기만이 당해 SRAM을 액세스할 수 있게 되고 기타 컴퓨팅 유닛은 반드시 대기하여야 한다.
SRAM의 싱글 판독/싱글 기록 문제를 해결하기 위하여 업계에는 이미 여러 가지 해결 방안이 제기되고 있다. 그러나 이러한 해결 방안은 통상적으로 회로 차원에서 SRAM을 다시 설계하는 것이 필요하고 내부 구조가 통상적인 싱글 판독/싱글 기록의 싱글 포트 SRAM보다 훨씬 복잡하며 어드레스 제어 등 논리적 필요가 배로 증가하게 된다. 회로 면적에 있어서는 포트의 증가에 따라 면적도 배로 증가하게 되고, 또한, 내부 구조가 복잡하므로 SRAM의 작동 주파수 저하를 초래하게 된다. 때문에 현존하는 멀티 판독/멀티 기록의 SRAM은 원가가 높고 작동 효율이 보다 낮다.
본 개시의 예시적 실시예에 따르면 SRAM을 액세스하기 위한 방안이 제공된다.
본 개시의 제1 측면으로, 정적 랜덤 액세스 메모리를 액세스하기 위한 방법이 제공된다. 당해 방법은, 정적 랜덤 액세스 메모리 관련 데이터에 대한 액세스 요청을 수신하는 단계; 액세스 요청이 데이터에 대한 기록 요청인 것에 응답하여, 데이터의 소정 크기의 복수 부분을 상이한 복수의 정적 랜덤 액세스 메모리에 인터리빙(interleaving)으로 기록하는 단계; 및 액세스 요청이 데이터에 대한 판독 요청인 것에 응답하여, 복수의 정적 랜덤 액세스 메모리로부터 데이터의 소정 크기의 복수 부분을 인터리빙으로 판독하는 단계; 를 포함한다.
본 개시의 제2 측면으로, 정적 랜덤 액세스 메모리를 액세스하기 위한 장치가 제공된다. 당해 장치는 수신 모듈과 액세스 모듈을 포함한다. 수신 모듈은 정적 랜덤 액세스 메모리 관련 데이터에 대한 액세스 요청을 수신하도록 구성된다. 액세스 모듈은, 액세스 요청이 데이터에 대한 기록 요청인 것에 응답하여 데이터의 소정 크기의 복수 부분을 상이한 복수의 정적 랜덤 액세스 메모리에 인터리빙으로 기록하고, 액세스 요청이 데이터에 대한 판독 요청인 것에 응답하여 복수의 정적 랜덤 액세스 메모리로부터 데이터의 소정 크기의 복수 부분을 인터리빙으로 판독하도록 구성된다.
본 개시의 제3 측면으로, 전자 기기가 제공된다. 당해 전자 기기는, 하나 또는 복수의 프로세서; 및 하나 또는 복수의 프로그램을 저장하기 위한 저장 장치를 포함하고, 상기 하나 또는 복수의 프로그램이 상기 하나 또는 복수의 프로세서에 의하여 실행되는 경우,상기 하나 또는 복수의 프로세서가 본 개시의 제1 측면의 방법을 구현한다.
본 개시의 제4 측면으로, 컴퓨터 프로그램이 저장되어 있는 컴퓨터 판독 가능 저장 매체가 제공되는바,상기 프로그램이 프로세서에 의하여 실행되는 경우, 본 개시의 제1 측면의 방법이 구현된다.
발명의 내용 부분에서 설명되는 내용은 본 개시의 실시예의 핵심 또는 중요 특징을 한정하고자 하는 것이 아니고 본 개시의 범위를 한정하기 위한 것도 아님을 이해하여야 한다. 본 개시의 기타 특징은 아래 설명으로 이해하기 쉽게 될 것이다.
첨부 도면을 결부하고 아래 상세한 설명을 참조하면, 본 개시의 각 실시예의 상술한 그리고 기타 특징, 이점 및 측면은 더 분명해질 것이다. 첨부 도면에서 동일한 또는 유사한 도면 부호는 동일한 또는 유사한 요소를 표시한다.
도 1은 본 개시의 실시예가 실시될 수 있는 예시적 환경의 개략도를 도시한다.
도 2는 본 개시의 일 실시예에 따른 더블 판독/더블 기록의 SRAM의 개략적인 블록도를 도시한다.
도 3은 본 개시의 일 실시예에 따른 SRAM을 액세스하기 위한 방법의 흐름도를 도시한다.
도 4는 본 개시의 일 실시예에 따른 SRAM을 액세스하기 위한 방법의 구체적인 흐름도를 도시한다.
도 5는 본 개시의 일 실시예에 따른 SRAM을 액세스하기 위한 장치의 블록도를 도시한다.
도 6은 본 개시의 실시예를 실시 가능한 컴퓨팅 기기의 블록도를 도시한다.
아래 첨부 도면을 참조하여 본 개시의 실시예에 대하여 더욱 상세하게 설명하고자 한다. 비록 첨부 도면에는 본 개시의 일부 실시예를 도시하였으나,본 개시는 여러 가지 형식으로 구현 가능한 것으로, 여기에 기재되는 실시예에만 한정되는 것으로 해석되어서는 안되고,반대로, 이러한 실시예가 제공되는 것은 본 개시를 더욱 투철하고 완전하게 이해하도록 하고자 하는 것을 이해하여야 한다. 본 개시의 첨부 도면 및 실시예는 단지 예시적인 작용을 위한 것일 뿐, 본 개시의 보호 범위를 한정하고자 하는 것이 아님을 이해하여야 한다.
본 개시의 실시예의 설명에서, 전문 용어 '포함' 및 그 유사 용어는 개방성 포함, 즉 '포함하나 이에 한정되지 않음'으로 이해되어야 한다. 전문 용어 '에 따라'는 '적어도 부분적으로 ??에 따라'로 이해되어야 한다. 전문 용어 '일 실시예' 또는 '당해 실시예'는 '적어도 하나의 실시예'로 이해되어야 한다. 전문 용어 '제1', '제2' 등은 상이한 또는 동일한 대상을 가리킬 수 있다. 아래에는 또한 기타의 명시적인, 그리고 암묵적인 정의가 포함될 수 있다.
일반적으로,전자 기기는 설계 필요에 따라 일정 용량의 SRAM을 포함할 수 있다. 예를 들면, 전자 기기는 256KB의 SRAM을 포함할 수 있다. 통상의 방안에서는 하나의 256KB의 SRAM을 사용하여 구현할 수 있다.
전술한 바와 같이,통상의 방안에서는 SRAM은 통상적으로 싱글 포트 SRAM으로, 이는 단지 싱글 판독/싱글 기록을 구현 가능할 뿐이다. 멀티 포트 SRAM이 있다고 하더라도 회로 차원에서의 별도의 설계가 필요하고 작동 효율도 낮아지게 된다.
본 개시의 실시예에 따르면 복수 SRAM의 SRAM 조합을 사용하여 멀티 판독/멀티 기록을 구현하는 SRAM 방안이 제공되는바,SRAM 자체에 대하여 회로 차원에서 다시 설계할 필요가 없게 된다. 또한, 본 개시의 실시예에 따른 SRAM 방안은 SRAM의 판독/기록 효율을 향상시킬 수 있다.
예를 들면, 256KB의 SRAM이 필요한 전자 기기에 있어서 이에 2개의 128KB의 SRAM을 제공하여 수요를 충족시키거나 4개의 64KB의 SRAM을 제공하여 수요를 충족시키거나 1개의 128KB 및 2개의 64KB의 SRAM을 제공하여 수요를 충족시킬 수 있다. 복수의 SRAM을 사용하여 액세스 기기의 액세스 효율을 향상시킬 수 있다. 아래 이에 대하여 구체적으로 설명하고자 한다.
아래 첨부 도면을 참조하여 본 개시의 실시예에 대하여 구체적으로 설명하고자 한다. 도 1은 본 개시의 실시예가 실시될 수 있는 예시적 환경(100)의 개략도를 도시한다. 예시적 환경(100)이 도시한 바는, 복수의 액세스 기기로 하여금 전자기기, 예를 들면 멀티웨이 중재기를 경유하여 복수의 SRAM을 액세스함으로써 SRAM에 대하여 멀티 판독/멀티 기록 조작을 구현하도록 하기 위한 것이다. 엑세스 기기는, 예를 들면, 센트럴 프로세서, 디지털 신호 프로세서 등 기기일 수 있다. 멀티웨이(multi-way) 중재기는 단지 예시적인 것으로, 기타 전자 디바이스 또는 회로를 사용하여 당해 전자 기기를 구현할 수도 있음을 이해하여야 한다.
복수의 액세스 기기(102, 104...106) 중 적어도 하나의 액세스 기기는 하나의 액세스 주기 내에 멀티웨이 중재기(112)에 데이터 액세스 요청을 송신할수 있다. 본 명세서에서 액세스는 판독 또는 기록을 가리킨다. 예를 들면, 액세스 기기는 멀티웨이 중재기(112)를 거쳐 SRAM에 데이터를 기록하고 SRAM으로부터 데이터를 판독 가능한 기기를 가리키고, 액세스 주기는 SRAM에 대한 판독 주기 또는 기록 주기를 가리키고, 데이터 액세스 요청은 SRAM에 대한 데이터 기록 요청과 SRAM으로부터의 데이터 판독 요청을 가리킨다.
하나의 액세스 주기 내에서 하나의 액세스 요청만 있는 경우, 멀티웨이 중재기(112)는 액세스 요청에 따라 복수의 SRAM으로부터 데이터를 판독하거나 데이터를 기록한다. 하나의 액세스 주기 내에서 복수의 액세스 요청이 있는 경우, 멀티웨이 중재기(112)복수의 액세스 요청에 따라 액세스 대상을 결정한다.
액세스 대상이 충돌되지 않는 경우, 당해 액세스 주기 내에 복수의 SRAM을 병렬로 액세스할 수 있다. 예를 들어, 하나의 액세스 주기 내에서 액세스 기기(102)는 SRAM(122)에 대하여 판독하려고 하고 액세스 기기(104)는 SRAM(124)에 대하여 기록하려고 한다면, 멀티웨이 중재기(112)는 SRAM(122)에 대하여 판독 조작을 수행하는 동시에 SRAM(124)에 대하여 기록 조작을 수행한다.
액세스 대상이 충돌되는 경우, 당해 액세스 주기 내에서 우선 순위에 따라 SRAM을 액세스할 수 있다. 예를 들어, 하나의 액세스 주기 내에서 액세스 기기(102) 및 액세스 기기(104)가 SRAM(122)에 대하여 판독하려고 한다면, 멀티웨이 중재기(112)는 미리 결정된 우선 순위에 따라 SRAM(122)에 대한 판독 조작을 수행한다. 예를 들어, 액세스 기기(102)의 우선 순위가 보다 높다면 멀티웨이 중재기(112)는 액세스 기기(102)가 판독하려고 하는 데이터를 판독하고, 액세스 기기(104)가 판독하려고 하는 데이터를 판독하는 것을 지연시킨다. 하나의 액세스 주기에서 판독 기기(102)가 판독하려고 하는 데이터는 SRAM(124)에 위치한다. 이때, 당해 액세스 주기 내에서 SRAM(122) 및 SRAM(124)에 대하여 병렬로 판독할 수 있다.
아래 도 2에 결부하여 이에 대하여 더 상세히 설명하고자 한다. 도 2는 본 개시의 일 실시예에 따른 더블 판독/더블 기록의 SRAM 장치의 개략적인 블록도를 도시한다. SRAM 장치는 제1 SRAM(122)과 제2 SRAM(124)을 포함한다. 제1 SRAM(122)과 제2 SRAM(124)은 용량이 동일한바, 예를 들면 양자는 모두 512개의 저장 유닛을 구비한다. 제1 SRAM(122)의 저장 유닛은 짝수 번호로 표시되고 제2 SRAM(124)의 저장 유닛은 홑수 번호로 표시된다.
발명자가 연구를 통하여 발견한바, 데이터는 통상적으로 연속적인 방식으로 SRAM에 저장된다. 따라서 2개의 SRAM(122) 및 SRAM(124)을 사용하여 인터리빙으로 하나의 SRAM을 구성함으로써, 액세스 기기가 SRAM(122) 및 SRAM(124)을 인터리빙으로 액세스하도록 하여, 액세스 기기가 복수인 경우 SRAM(122) 및 SRAM(124)을 병렬로 액세스하는 확률을 증가하고 액세스 효율을 향상시킬 수 있다.
예를 들면, 제1 데이터는 순차적으로 제1 SRAM(122)의 저장 유닛(0), 제2 SRAM(124)의 저장 유닛(1), 제1 SRAM(122)의 저장 유닛(2), 제2 SRAM(124)의 저장 유닛(3)...제2 SRAM(124)의 저장 유닛(9)에 저장될 수 있다. 제2 데이터는 순차적으로 제1 SRAM(122)의 저장 유닛(410), 제2 SRAM(124)의 저장 유닛(411), 제1 SRAM(122)의 저장 유닛(412), 제2 SRAM(124)의 저장 유닛(413)...제2 SRAM(124)의 저장 유닛(419)에 저장될 수 있다.
예를 들면, 제1 액세스 기기(102)가 제1 데이터를 저장 유닛(0) 내지 저장 유닛(9)에 기록하고 제2 액세스 기기(102)가 제2 데이터를 저장 유닛(410) 내지 저장 유닛(419)에 기록하여야 하는 경우, 제1 액세스(기록) 주기에서 제1 데이터의 제1 부분이 제1 SRAM(122)의 저장 유닛(0)에 기록되어야 하고 제2 데이터의 제1 부분이 제1 SRAM(122)의 저장 유닛(410)에 기록되어야 하므로, 액세스 충돌이 존재하게 된다. 이는 제1 SRAM(122)은 포트가 하나뿐이고 하나의 액세스 요청에만 응답 가능하기 때문이다.
이러한 경우, 멀티웨이 중재기(112)는 우선 순위에 따라 중재할 수 있다. 예를 들면, 제1 액세스 기기(102)의 우선 순위는 제2 액세스 기기(104)의 우선 순위보다 높다. 멀티웨이 중재기는 이에 따라서 제1 데이터의 제1 부분을 저장 유닛(0)에 기록하고, 제2 데이터의 제1 부분에 대한 기록은 다음의 액세스 주기로 지연시킨다.
하나의 액세스 주기에서 멀티웨이 중재기(112)는 제1 액세스 기기(102)로부터 송신되는 제1 데이터의 제2 부분이 제2 SRAM(124)의 저장 유닛(1)에 기록되고 제2 액세스 기기(104)로부터 송신되는 제2 데이터의 제1 부분이 제1 SRAM(122)의 저장 유닛(410)에 기록되도록 결정한다. 이러한 경우, 액세스 충돌이 존재하지 않게 된다. 따라서 멀티웨이 중재기(112)는 제1 SRAM(122)의 저장 유닛(410)과 제2 SRAM(124)의 저장 유닛(1)에 대하여 병렬로 기록을 수행하게 된다.
하나의 액세스 주기에서 멀티웨이 중재기(112)는 저장 유닛(411)과 저장 유닛(2)에 대하여 병렬로 기록을 수행하게 된다. 이러한 방식으로 진행되는바, 제1 데이터와 제2 데이터를 다 기록할 때까지 데이터 충돌이 다시는 나타나지 않게 된다.
첫 액세스 주기 내에서 2개의 액세스 기기 사이에 충돌이 발생한 것 외에는, 이후로는, 모든 주기 내에서 액세스 충돌이 없었음을 알 수 있다. 제1 액세스 기기(102)가 SLAM에 대한 판독/기록 효율은 100%이고 제2 액세스 기기(104)가 SLAM에 대한 판독/기록 효율은 10/11=91%이다. 이에 비하면, 통상처럼 하나의 SRAM을 적용하여 SRAM 장치를 구성하는 경우, 각 컴퓨팅 유닛의 효율은 50%밖에 되지 않는다. 개괄적으로, M개의 컴퓨팅 유닛은 서로 간의 간섭이 거의 없으면서 SRAM를 액세스 가능한바, M과 N 사이에는 제약적 관계가 존재하지 않는다. 즉, M은 N보다 작거나 같거나 클 수 있다. 통상적으로, N의 수량을 증가하면 충돌의 확률이 저감될 수 있다.
상기의 예시에서, 멀티웨이 중재기(112)는 액세스 기기로부터 송신되는 액세스 요청에 따라 목적지 어드레스(address)를 결정한다. 멀티웨이 중재기(112)는 이어서 목적지 어드레스와 소정의 어드레스 매핑 관계에 따라, 제1 데이터의 각 부분에 대응되는 목표 어드레스를 결정할 수 있다. 예를 들면, 제1 SRAM(122)과 제2 SRAM(124)을 포함하는 SRAM 장치의 레코드 길이는 1024이다. 따라서 목표 어드레스를 표시하는데는 10비트가 필요하다. 예를 들면 저장 유닛(0)의 목표 어드레스는 0000000000이고 저장 유닛(1)의 목표 어드레스는 0000000001이다.
상기의 예시에서, 마지막 비트 위치를 사용하여 액세스되는 SRAM을 결정한다. 예를 들어, 마지막 비트 위치가 0이라면 제1 SRAM(122)를 액세스한다. 마지막 비트 위치가 1이라면 제2 SRAM(124)를 액세스한다. 실제로는, 어드레스의 임의의 2개의 비트 위치를 사용하여 중재할 수 있다.
예를 들어 4개의 SRAM을 사용하여 하나의 SRAM 장치를 구성하는 경우, 목표 어드레스의 0번째 위치와 4번째 위치를 사용하여 중재할 수 있다. {address[4], address[0]}는 목표 어드레스의 4번째 위치와 0번째 위치를 추출하여 하나의 2비트의 이진수를 구성하는 것을 표시한다. 멀티웨이 중재기(112)의 중재 논리는 다음과 같이 표시할 수 있다. {address[4], address[0]}가 이진법에서의 00과 같다면 첫번째 SRAM를 액세스하고, {address[4], address[0]}가 이진법에서의 01과 같다면 두번째 SRAM를 액세스하고, {address[4], address[0]}가 이진법에서의 10과 같다면 세번째 SRAM를 액세스하고, {address[4], address[0]}가 이진법에서의 11과 같다면 네번째 SRAM를 액세스한다. 본 개시의 범위는 이러한 측면에 있어서 한정을 받지 않는다. 상이한 애플리케이션에 대하여 어드레스의 상이한 비트 위치의 하나 또는 복수의 비트를 선택하여 중재한다.
비록 도 2는 2개의 SRAM을 도시하지만 본 개시의 범위는 이러한 측면에 있어서 한정을 받지 않는다. 예를 들면, 더 많은 SRAM을 사용하여 인터리빙으로 저장하는 SRAM 장치를 구성할 수 있다. 예를 들어, 3개의 SRAM을 사용하여 인터리빙으로 저장하는 SRAM 장치를 구성하는 경우, 데이터는 순차적으로 3개의 SRAM에 인터리빙으로 기록될 수 있다. 일부 실시예에서 SRAM 장치의 구성 방식에 있어서 동적 구성이 가능하다. 예를 들면, 새로운 SRAM을 추가하거나 하나의 SRAM을 제거한 후, 인터리빙 방식은 이에 따른 동적 조정이 가능하다.
또한, 비록 도 2의 예시에서 제1 SRAM(122)과 제2 SRAM(124)은 용량이 동일하지만 제1 SRAM(122)과 제2 SRAM(124)은 용량이 상이할 수도 있다. 예를 들면, 제1 SRAM(122)은 512개의 저장 유닛을 구비하고 제2 SRAM(124)은 1024개의 저장 유닛을 구비할 수 있다. 이러한 경우, 제1 SRAM(122)의 하나의 저장 유닛를 액세스하고 이어서 제2 SRAM(124)의 2개의 저장 유닛를 액세스하며, 그 다음 다시 제1 SRAM(122)의 하나의 저장 유닛를 액세스하고 이어서 다시 제2 SRAM(124)의 2개의 저장 유닛를 액세스하는 방식에 따라, 제1 SRAM(122)과 제2 SRAM(124)에 인터리빙으로 액세스할 수 있다. 다시 말해, 복수의 SRAM에 기록되는 복수 부분의 소정 크기는 복수 SRAM의 용량에 따라 결정될 수 있다.
비록 도 2의 예시에서 제1 액세스 기기(102)가 보다 높은 우선 순위를 가지지만 본 개시의 범위는 이에 한정되지 않는다. 기타 일부 예시에서는, 제2 액세스 기기(104)가 고정적으로 보다 높은 우선 순위를 가지거나 또는 제1 액세스 기기(102)와 제2 액세스 기기(104)가 교대적인 우선 권한을 가질 수도 있다. 예를 들면, 제1회 충돌이 나타나는 경우, 제1 액세스 기기(102)가 보다 높은 우선 순위를 가진다. 제2회 충돌이 나타나는 경우, 제2 액세스 기기(104)가 보다 높은 우선 순위를 가지는바, 이러한 방식으로 진행된다. 또한, 일부 경우에는, 또한 가중(weighed) 교대적 우선 순위 모드를 가질 수 있다. 예를 들어, 우선 순위의 순서는 다음과 같을 수 있다. 제1 액세스 기기(102), 제2 액세스 기기(104), 제2 액세스 기기(104), 제1 액세스 기기(102), 제2 액세스 기기(104), 제2 액세스 기기(104)...이러한 방식으로 진행된다.
여러 가지 우선 순위 모드에 대하여 설명하였지만 본 개시는 이에 한정되지 않음을 이해할 수 있다. 우선 순위 모드는 동적 조정이 가능하다. 예를 들면, 고정적인 우선 순위 모드로부터 교대적 우선 순위 모드 또는 가중 교대적 우선 순위 모드로 조정될 수 있다.
비록 도 2의 예시에서 싱글 포트로 판독/기록하는 SRAM으로 설명을 하였지만 본 개시는 이에 한정되지 않는다. 예를 들어, SRAM은 싱글 포트SRAM, 슈도 듀얼 포트(pseudo-dual ported) SRAM, 듀얼 포트 SRAM, 더 많은 포트의 SRAM 또는 이들의 조합일 수 있다. 또한, 비록 도 2의 예시로서 데이터를 기록하는 방식에 대하여 설명하였지만 본 개시의 범위는 이에 한정되지 않는다. 도 2의 예시에서 액세스 조작은 데이터를 판독하는 조작일 수 있다. 예를 들면, 제1 액세스 기기(102)와 제2 액세스 기기(104)는 도 2의 예시에서 제1 SRAM(122)과 제2 SRAM(124)으로부터 데이터를 인터리빙으로 판독할 수 있다. 다른 예시에서 제1 액세스 기기(102)는 제1 SRAM(122)과 제2 SRAM(124)에 데이터를 인터리빙으로 기록할 수 있고, 제2 액세스 기기(104)는 제1 SRAM(122)과 제2 SRAM(124)으로부터 데이터를 인터리빙으로 판독할 수 있다.
도 3은 본 개시의 하나의 실시예에 따른 SRAM을 액세스하기 위한 방법(300)의 흐름도를 도시한다. 예를 들면, 방법(300)은 도 1에 도시한 바와 같은 환경에서 수행될 수 있고 멀티웨이 중재기(112)에 의하여 수행될 수 있다. 방법(300)은 미도시된 부가 단계가 더 포함되거나 및/또는 도시된 단계가 생략될 수도 있음을 이해하여야 한다. 본 개시의 범위는 이러한 측면에 있어서 한정을 받지 않는다.
단계(302)에서, 정적 랜덤 액세스 메모리 관련 데이터에 대한 액세스 요청을 수신한다. 예를 들면, 멀티웨이 중재기(112)는 제1 액세스 기기(102)로부터 송신되는 제1 액세스 요청을 수신할 수 있다. 당해 제1 액세스 요청은 데이터를 제1 SRAM(122)과 제2 SRAM(124)에 인터리빙으로기록하는 기록 요청일 수도 있고, 제1 SRAM(122)과 제2 SRAM(124)로부터 데이터를 인터리빙으로 판독하는 요청일 수도 있다. 다른 예시에서 멀티웨이 중재기(112)는 제1 액세스 기기(102)로부터 송신되는 제1 액세스 요청 및 제2 액세스 기기(104)로부터 송신되는 제2 액세스 요청을 수신할 수 있다. 상기의 예시와 유사하게, 제1 액세스 요청은 데이터 판독 요청일 수도 있고 데이터 기록 요청일 수도 있으며, 제2 액세스 요청은 데이터 판독 요청일 수도 있고 데이터 기록 요청일 수도 있다.
단계(303)에서, 요청이 데이터 기록 요청인지 아니면 데이터 판독 요청인지를 판단한다.
단계(304)에서, 액세스 요청이 데이터에 대한 기록 요청인 것에 응답하여, 데이터의 소정 크기의 복수 부분을 상이한 복수의 정적 랜덤 액세스 메모리에 인터리빙으로 기록한다. 예를 들면, 멀티웨이 중재기(112)는 제1 액세스 기기(102)로부터 송신되는, 데이터에 대한 기록 요청에 응답하여, 제1 데이터의 제1 부분을 제1 SRAM(122)에 기록하고, 제1 데이터의 제2 부분을 제2 SRAM(124)에 기록하고, 제1 데이터의 제3 부분을 제1 SRAM(122)에 기록하고, 제1 데이터의 제4 부분을 제2 SRAM(124)에 기록할 수 있다. 이러한 방식으로 진행되는바, 제1 데이터가 전부 기록될 때까지 진행된다.
단계(306)에서, 액세스 요청이 데이터에 대한 판독 요청인 것에 응답하여, 복수의 정적 랜덤 액세스 메모리로부터 데이터의 소정 크기의 복수 부분을 인터리빙으로 판독한다. 예를 들면, 멀티웨이 중재기(112)는 제1 액세스 기기(102)로부터 송신되는, 데이터에 대한 판독 요청에 응답하여, 제1 SRAM(122)으로부터 제1 데이터의 제1 부분을 판독하고, 제2 SRAM(124)으로부터 제1 데이터의 제2 부분을 판독하고, 제1 SRAM(122)으로부터 제1 데이터의 제3 부분을 판독하고, 제2 SRAM(124)으로부터 제1 데이터의 제4 부분을 판독할수 있다. 이러한 방식으로 진행되는바, 제1 데이터가 전부 판독될 때까지 진행된다.
제1 데이터의 각 부분은 소정의 크기를 가질 수 있는바, 예를 들면, 1비트, 2비트일 수 있다. 제1 데이터의 각 부분은 동일할 수도 있고 상이할 수도 있다. 예를 들면, 제1 부분은 1비트이고 제2 부분은 2비트이고 제3 부분은 1비트이고 제4 부분은 2비트인, 이러한 방식으로 진행된다.
도 4는 본 개시의 하나의 실시예에 따른 SRAM을 액세스하기 위한 방법(400)의 구체적인 흐름도를 도시한다. 예를 들면, 방법(400)은 도 1에 도시한 바와 같은 환경에서 수행될 수 있다. 방법(400)은 미도시된 부가 단계가 더 포함되거나 및/또는 도시된 단계가 생략될 수도 있음을 이해하여야 한다. 본 개시의 범위는 이러한 측면에 있어서 한정을 받지 않는다.
단계(402)에서, 멀티웨이 중재기(112)는 제1 SRAM을 액세스하기 위한 제1 요청과 제2 SRAM을 액세스하기 위한 제2 요청을 수신한다. 제1 요청은 예를 들면 제1 액세스 기기로부터 송신되는, 제1 데이터를 판독하거나 제1 데이터를 기록하기 위한 요청일 수 있고, 제2 요청은 제2 액세스 기기로부터 송신되는, 제2 데이터를 판독하거나 제2 데이터를 기록하기 위한 요청일 수 있다.
단계(404)에서, 멀티웨이 중재기(112)는 제1 액세스 데이터의 목적지 어드레스와 제2 액세스 데이터의 목적지 어드레스를 결정한다. 당해 목적지 어드레스는 데이터의 논리 어드레스일 수 있는바, 예를 들면 요청에 포함되는 논리 어드레스이다.
단계(406)에서, 멀티웨이 중재기(112)는 당해 목적지 어드레스와 소정의 어드레스 매핑 관계에 따라 당해 액세스 주기 내에서 기록하려는 데이터 부분의 목표 어드레스를 결정할 수 있다. 예를 들면, 멀티웨이 중재기(112)는 데이터의 논리 어드레스와 매핑 관계에 따라 제1 데이터의 제1 부분의 목표 어드레스, 예를 들면 '0000000000', 및 제2 데이터의 제1 부분의 목표 어드레스, 예를 들면 '0000100110'을 결정할 수 있다.
단계(408)에서, 멀티웨이 중재기(112)는 목표 어드레스에 따라 당해 액세스 주기 내에 액세스하려는 SRAM을 결정할 수 있다. 예를 들면, 멀티웨이 중재기(112)는 마지막 비트 위치의 데이터를 사용하여 '0000000000'과 '0000100110'에 따라, 제1 데이터의 제1 부분과 제2 부분이 모두 제1 SRAM(122)을 액세스하려고 하는 것을 결정할 수 있다.
단계(410)에서, 멀티웨이 중재기(112)는 단계(408)에서 결정되는 액세스 대상에 따라, 액세스하려는 SRAM이 동일한지 여부를 판단할 수 있다.
단계(416)에서, 액세스하려는 대상에 충돌이 존재하지 않은 경우, 멀티웨이 중재기(112)는 제1 SRAM(122)와 제2 SRAM(124)을 병렬로 액세스한다. 예를 들면, 당해 액세스 주기 내에서 제1 데이터의 제1 부분을 제1 SRAM(122)에 기록하고 제2 SRAM(124)으로부터 제2 데이터의 제1 부분을 판독한다. 다음 액세스 주기 내에서 제1 데이터의 제2 부분을 제2 SRAM(124)에 기록하고, 제1 SRAM(122)으로부터 제2 데이터의 제2 부분을 판독한다. 이러한 방식으로 진행되는바, 제1 데이터가 전부 기록되고 제2 데이터가 전부 판독될 때까지 진행된다.
단계(412)에서, 액세스하려는 대상에 충돌이 존재하는 경우, 멀티웨이 중재기(112)는 각 액세스 기기의 현재 우선 순위를 결정한다. 예를 들면, 멀티웨이 중재기(112)는 고정적 우선 순위, 교대적 우선 순위 또는 가중 우선 순위 전략 중 하나에 따라 현재 액세스 주기 내에서는 제1 액세스 기기(102)의 우선 순위가 보다 높다고 결정한다.
단계(414)에서, 멀티웨이 중재기(112)에 의하여 단계(412)에서 결정되는 우선 순위에 따라 대응되는 SRAM를 액세스한다. 예를 들면, 당해 액세스 주기에서 제1 액세스 기기(102)로부터 송신되는 제1 데이터의 제1 부분을 제1 SRAM(122)에 기록하고, 제2 액세스 기기(102)가 제1 SRAM(122)으로부터 데이터를 판독하는 조작을 다음 액세스 주기로 지연시킨다.
다음 액세스 주기 내에서 멀티웨이 중재기(112)는 단계(406), 단계(408) 및 단계(410)의 조작을 반복한다. 이때, 단계(410)에서 결정되는 액세스하려는 SRAM이 상이하므로, 방법(400)은 단계(416)에로 넘어간다. 멀티웨이 중재기(112)는 제1 SRAM(122)과 제2 SRAM(124)를 병렬로 액세스한다. 예를 들면, 당해 액세스 주기 내에서 제1 데이터의 제1 부분을 제1 SRAM(122)에 기록하고, 제2 SRAM(124)으로부터 제2 데이터의 제1 부분을 판독한다. 다음 액세스 주기 내에서 제1 데이터의 제2 부분을 제2 SRAM(124)에 기록하고, 제1 SRAM(122)으로부터 제2 데이터의 제2 부분을 판독한다. 이러한 방식으로 진행되는바, 제1 데이터가 전부 기록되고 제2 데이터가 전부 판독될 때까지 진행된다.
상기의 설명으로부터 알 수 있는바, 본 개시의 실시예는 복수의 SRAM을 이용하여 하나의 '가상의' SRAM 장치를 구축하고, 복수의 SRAM을 교대로 액세스한다. 이러한 방식으로, 본 개시의 실시예는 멀티 판독/멀티 기록 기능을 구비하는 SRAM 장치를 저비용으로 구축 가능하는 동시에, SRAM에 대하여 다시 회로를 설계할 필요가 없고 액세스 기기가 복수인 경우의 SRAM 장치에 대한 액세스 효율을 대폭 향상시킨다.
본 개시의 실시예는 상술한 방법 또는 과정을 구현하기 위한 대응되는 장치를 더 제공한다. 도 5는 본 개시의 실시예에 따른 정적 랜덤 액세스 메모리를 액세스하기 위한 장치(500)의 개략적인 블록도를 도시한다. 당해 장치(500)는 예를 들어 도 1의 환경에서 실시될 수 있다. 도 5에 도시한 바와 같이, 장치(500)는 수신 모듈(502), 액세스 모듈(504) 및 결정 모듈(506)을 포함할 수 있다.
일부 실시예에서, 수신 모듈(502)은 정적 랜덤 액세스 메모리 관련 데이터에 대한 액세스 요청을 수신하도록 구성된다. 액세스 모듈(504)은 액세스 요청이 데이터에 대한 기록 요청인 것에 응답하여 데이터의 소정 크기의 복수 부분을 상이한 복수의 정적 랜덤 액세스 메모리에 인터리빙으로 기록하고, 액세스 요청이 데이터에 대한 판독 요청인 것에 응답하여 복수의 정적 랜덤 액세스 메모리로부터 데이터의 소정 크기의 복수 부분을 인터리빙으로 판독하도록 구성된다.
일부 실시예에서, 복수 부분의 소정 크기는 복수의 정적 랜덤 액세스 메모리의 용량에 따라 결정된다.
일부 실시예에서, 수신되는 액세스 요청은 제1 액세스 기기로부터 송신되는, 데이터를 기록하는 제1 요청이고 제1 요청에 대응되는 데이터는 제1 데이터이다. 수신 모듈(502)은 수신 유닛을 포함한다. 수신 유닛은 제2 액세스 기기로부터 송신되는, 제2 데이터를 복수의 정적 랜덤 액세스 메모리에 기록하는 제2 요청을 수신하도록 구성된다. 액세스 모듈(504)은 제1 기록 유닛을 포함한다. 제1 기록 유닛은 제1 데이터의 복수 부분을 인터리빙으로 기록하는 것에 병렬되는 방식으로, 제2 데이터의 복수 부분을 복수의 정적 랜덤 액세스 메모리에 인터리빙으로 기록하도록 구성된다.
일부 실시예에서, 장치(500)는 결정 모듈(506)을 더 포함한다. 결정 모듈(506)은 하나의 기록 주기 내에서 제1 데이터의 복수 부분 중 제1 부분이 기록되는 제1 대상과 제2 데이터의 복수 부분 중 제2 부분이 기록되는 제2 대상을 결정하도록 구성되는바, 제1 대상과 제2 대상은 각각 복수의 정적 랜덤 액세스 메모리 중 하나이다. 액세스 모듈(504)은 제2 기록 유닛을 포함한다. 제2 기록 유닛은 제1 대상과 제2 대상이 상이한 것에 응답하여 제1 부분과 제2 부분을 제1 대상과 제2 대상에 병렬로 기록하고, 제1 대상과 제2 대상이 동일한 것에 응답하여 제1 부분과 제2 부분 중 하나를 제1 대상에 기록하도록 구성된다.
일부 실시예에서, 결정 모듈(506)은 우선 순위 결정 유닛을 포함한다. 당해 우선 순위 결정 유닛은 제1 액세스 기기와 제2 액세스 기기의 우선 순위를 결정하도록 구성된다. 액세스 모듈(504)은 제3 기록 유닛을 포함한다. 제3 기록 유닛은 제2 액세스 기기의 우선 순위가 제1 액세스 기기의 우선 순위보다 높은 것에 응답하여, 제2 부분을 제1 대상에 기록하고, 제1 부분을 제1 대상에 기록하는 것을 다음 기록 주기로 지연시키도록 구성된다.
일부 실시예에서, 수신되는 액세스 요청은 제1 액세스 기기로부터 송신되는, 데이터를 판독하는 제1 요청이고, 제1 요청에 대응되는 데이터는 제1 데이터이다. 수신 모듈(502)은 수신 유닛을 포함한다. 당해 수신 유닛은 제2 액세스 기기로부터 송신되는, 복수의 정적 랜덤 액세스 메모리로부터 제2 데이터를 판독하는 제2 요청을 수신하도록 구성된다. 액세스 모듈(504)은 제1 판독 유닛을 포함한다. 당해 제1 판독 유닛은 제1 데이터의 복수 부분을 인터리빙으로 판독하는 것과 병렬되는 방식으로, 복수의 정적 랜덤 액세스 메모리로부터 제2 데이터의 복수 부분을 인터리빙으로 판독하도록 구성된다.
일부 실시예에서, 장치(500)는 결정 모듈(506)을 더 포함한다. 결정 모듈(506)은 하나의 판독 주기 내에서 제1 데이터의 복수 부분 중 제1 부분이 판독될 제1 대상과 제2 데이터의 복수 부분 중 제2 부분이 판독될 제2 대상을 결정하도록 구성되는바, 제1 대상과 제2 대상은 각각 복수의 정적 랜덤 액세스 메모리 중 하나이다. 액세스 모듈(504)은 제2 판독 유닛을 포함한다. 당해 제2 판독 유닛은 제1 대상과 제2 대상이 상이한 것에 응답하여 제1 대상과 제2 대상으로부터 제1 부분과 제2 부분을 병렬로 판독하고, 제1 대상과 제2 대상이 동일한 것에 응답하여 제1 대상으로부터 제1 부분과 제2 부분 중 하나를 판독하도록 구성된다.
일부 실시예에서, 결정 모듈(506)은 우선 순위 결정 유닛을 포함한다. 당해 우선 순위 결정 유닛은 제1 액세스 기기와 제2 액세스 기기의 우선 순위를 결정하도록 구성된다. 액세스 모듈(504)은 제3 판독 유닛을 포함한다. 당해 제3 판독 유닛은 제2 액세스 기기의 우선 순위가 제1 액세스 기기의 우선 순위보다 높은 것에 응답하여, 제1 대상으로부터 제2 부분을 판독하고, 제1 대상으로부터 제1 부분을 판독하는 것을 다음 판독 주기로 지연시키도록 구성된다.
일부 실시예에서, 결정 모듈(506)은 메모리 결정 유닛을 포함한다. 당해 메모리 결정 유닛은 제1 요청으로부터 제1 데이터를 액세스하기 위한 목적지 어드레스를 결정하고, 목적지 어드레스와 소정의 어드레스 매핑 관계에 따라 제1 데이터의 제1 부분에 대응되는 목표 어드레스를 결정하며, 목표 어드레스 중 적어도 일부에 따라, 제1 부분에 대응되는 정적 랜덤 액세스 메모리를 결정하도록 구성된다.
도 5에 도시된 이러한 유닛들은 일부 또는 전부가 하드웨어 모듈, 소프트웨어 모듈, 펌웨어 모듈 또는 이들의 임의의 조합으로 구현될 수 있다. 특히 일부 실시예에서는, 위에서 설명되는 흐름, 방법 또는 과정이 저장 시스템 또는 저장 시스템에 대응되는 호스트 컴퓨터 또는 저장 시스템으로부터 독립되는 기타 컴퓨팅 기기 중의 하드웨어에 의하여 구현될 수 있다.
도 6은 본 개시의 실시예를 구현할 수 있는 예시적인 기기(600)의 개략적 블록도를 도시한다. 기기(600)는 도 1에 도시한 바와 같은 트레이닝 데이터 확장 장치(110) 및/또는 모델 트레이닝 장치(140)를 구현할 수 있다. 도시한 바와 같이, 기기(600)는 중앙 처리 유닛(CPU)(601)을 포함하는바, 이는 읽기 전용 메모리(ROM)(602)에 저장된 컴퓨터 프로그램 명령어 또는 저장 유닛(608)으로부터 랜덤 액세스 메모리(RAM)(603)에 로딩된 컴퓨터 프로그램 명령어에 따라 여러 가지 적당한 동작과 처리를 실행할 수 있다. RAM(603)에는, 또한 기기(600) 조작에 필요한 여러 가지 프로그램과 데이터가 저장될 수 있다. CPU(601), ROM(602) 및 RAM(603)은 버스(604)를 통하여 서로 연결된다. 입력/출력(I/O) 인터페이스((605))도 버스(604)에 연결된다.
기기(600) 중의 복수의 부품은 I/O 인터페이스(605)에 연결되는바, 입력 유닛(606), 예를 들면 키보드, 마우스 등; 출력 유닛(607), 예를 들면 여러 가지 유형의 디스플레이, 스피커 등; 저장 유닛(608), 예를 들면 자기 디스크, 광디스크 등; 및 통신 유닛(609), 예를 들면 네트워크 카드, 모뎀, 무선 통신 송수신기 등을 포함한다. 통신 유닛(609)은 기기(600)가 인터넷과 같은 컴퓨터 네트워크 및/또는 여러 가지 전기 통신 네트워크를 통하여 기타 기기와 정보/데이터를 교환하도록 허용한다.
처리 유닛(601)은 전술된 각각의 방법 및 처리를 실행하는바, 예를 들면 방법(400)이다. 예를 들어 일부 실시예에서 방법(400)은 컴퓨터 소프트웨어 프로그램으로 구현될 수 있는바, 이는 기계 판독 가능 매체, 예를 들어 저장 유닛(608)에 유형적으로 포함된다. 일부 실시예에서는 컴퓨터 프로그램의 일부 또는 전부가 ROM(602) 및/또는 통신 유닛(609)을 통하여 기기(600)에 로딩 및/또는 설치될 수 있다. 컴퓨터 프로그램이 RAM(603)에 로딩되어 CPU(601)에 의하여 실행되는 경우, 전술된 방법(400)의 하나 또는 복수의 단계를 실행할 수 있다. 대안적으로, 기타 실시예에서 CPU(601)는 기타 임의의 적당한 방식을 통하여(예를 들면 펌웨어의 도움으로) 방법(400)을 실행하도록 구성될 수 있다.
본 출원에서, 이상에서 설명된 기능은 적어도 부분적으로 하나 또는 복수의 하드웨어 논리 부품에 의하여 실행될 수 있다. 예를 들면, 무제한적으로, 사용 가능한 시범 유형의 하드웨어 논리 부품은 필드 프로그램 가능 게이트 어레이(FPGA), 주문형 집적회로(ASIC), 특정 용도 표준 제품(ASSP), 시스템 온 칩(SOC), 복합 프로그램 가능 논리 소자(CPLD) 등을 포함한다.
본 개시의 방법을 구현하기 위한 프로그램 코드는 하나 또는 복수의 프로그래밍 언어의 임의의 조합을 적용하여 작성될 수 있다. 이러한 프로그램 코드는 범용 컴퓨터, 전용 컴퓨터 또는 기타 프로그램 가능 데이터 처리 장치의 프로세서 또는 제어기에 제공되어 프로그램 코드가 프로세서 또는 제어기에 의하여 실행될 경우 흐름도 및/또는 블록도에 규정한 기능/조작이 구현되도록 할 수 있다. 프로그램 코드는 기계에서 전부 실행되거나, 기계에서 일부 실행되거나, 독립적인 소프트웨어 패키지로서 일부는 기계에서 실행되고 일부는 원격 기계에서 실행되거나, 혹은 원격 기계 또는 서버에서 전부 실행될 수 있다.
본 개시의 전반 기재에서, 기계 판독 가능 매체는 유형의(tangible) 매체일 수 있는바, 이는, 명령어 실행 시스템, 장치 또는 기기에 사용하기 위한, 또는 명령어 실행 시스템, 장치 또는 기기와 결합하여 사용하기 위한 프로그램을 포함 또는 저장할 수 있다. 기계 판독 가능 매체는 기계 판독 가능 신호 매체 또는 기계 판독 가능 저장 매체일 수 있다. 기계 판독 가능 매체는 전자의, 자성의, 광학의, 전자기의, 적외선의 또는 반도체의 시스템, 장치 또는 기기, 또는 상술한 내용의 임의의 적합한 조합을 포함할 수 있으나 이에 한정되지 않는다. 기계 판독 가능 저장 매체의 더 구체적인 예시는 하나 또는 복수의 라인(line)에 기반하는 전기 연결, 휴대형 컴퓨터 디스크, 하드 디스크, 랜덤 액세스 메모리(RAM), 읽기 전용 메모리(ROM), 소거 및 프로그램 가능 읽기 전용 메모리(EPROM 또는 플래시 메모리), 광섬유, 휴대용 콤팩트 디스크 읽기 전용 메모리(CD-ROM), 광학 저장 기기, 자기 저장 기기, 또는 상술한 내용의 임의의 적합한 조합을 포함하게 된다.
또한, 비록 각 조작을 묘사함에 있어서 특정 순서가 적용되었지만, 이러한 조작이 도시된 특정 순서 또는 순차적 순서로 실행되거나 혹은 모든 도시된 조작이 실행됨으로써 기대하는 결과가 취득되는 것임을 이해하여야 한다. 일정한 환경에서는, 멀티 태스킹 및 병렬 처리가 유익할 수 있다. 마찬가지로, 비록 상기의 기재에는 약간의 구체적인 구현 디테일이 포함되지만, 이러한 것은 본 개시의 범위에 대한 한정으로 해석되어서는 안된다. 단독의 실시예의 전반 기재에서 설명되는 어떤 특징 또한, 조합 가능하게 하나의 구현에서 구현될 수 있다. 반대로, 하나의 구현의 전반 기재에서 설명되는 여러 가지 특징도 단독으로 또는 임의의 적합한 서브조합의 방식으로 복수의 구현에서 구현될 수 있다.
비록 이미 구조적 특징 및/또는 방법론적 동작에 특정된 언어를 적용하여 본 주제에 대하여 설명하였지만, 첨부된 특허청구범위에 의하여 한정되는 주제는 위에서 설명한 특정 특징 또는 동작에 한정되는 것이 아님을 이해하여야 한다. 반대로, 위에서 설명한 특정 특징 및 동작은 단지 특허청구범위의 예시적인 형식을 구현하는 것일 뿐이다.

Claims (20)

  1. 정적 랜덤 액세스 메모리를 액세스하기 위한 방법에 있어서,
    정적 랜덤 액세스 메모리 관련 데이터에 대한 액세스 요청을 수신하는 단계;
    상기 액세스 요청이 상기 데이터에 대한 기록 요청인 것에 응답하여, 상기 데이터의 소정 크기의 복수 부분을 상이한 복수의 정적 랜덤 액세스 메모리에 인터리빙으로 기록하는 단계; 및
    상기 액세스 요청이 상기 데이터에 대한 판독 요청인 것에 응답하여, 상기 복수의 정적 랜덤 액세스 메모리로부터 상기 데이터의 소정 크기의 복수 부분을 인터리빙으로 판독하는 단계; 를 포함하고,
    수신되는 상기 액세스 요청은 제1 액세스 기기로부터 송신되는, 상기 데이터를 기록하는 제1 요청이고, 상기 제1 요청에 대응되는 상기 데이터는 제1 데이터이며,
    상기 방법은,
    제2 액세스 기기로부터 송신되는, 제2 데이터를 상기 복수의 정적 랜덤 액세스 메모리에 기록하는 제2 요청을 수신하는 단계; 및
    상기 제1 데이터의 상기 복수 부분을 인터리빙으로 기록하는 것에 병렬되는 방식으로, 상기 제2 데이터의 복수 부분을 상기 복수의 정적 랜덤 액세스 메모리에 인터리빙으로 기록하는 단계; 를 더 포함하는,
    것을 특징으로 하는 정적 랜덤 액세스 메모리를 액세스하기 위한 방법.
  2. 제1항에 있어서,
    상기 복수 부분의 상기 소정의 크기는 상기 복수의 정적 랜덤 액세스 메모리의 용량에 따라 결정되는,
    것을 특징으로 하는 정적 랜덤 액세스 메모리를 액세스하기 위한 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 제2 데이터의 복수 부분을 상기 복수의 정적 랜덤 액세스 메모리에 인터리빙으로 기록하는 단계는,
    하나의 기록 주기 내에서 상기 제1 데이터의 상기 복수 부분 중 제1 부분이 기록될 제1 대상과 상기 제2 데이터의 상기 복수 부분 중 제2 부분이 기록될 제2 대상을 결정하는 단계 - 상기 제1 대상과 상기 제2 대상은 각각 상기 복수의 정적 랜덤 액세스 메모리 중 하나임 - ;
    상기 제1 대상과 상기 제2 대상이 상이한 것에 응답하여, 상기 제1 부분과 상기 제2 부분을 상기 제1 대상과 상기 제2 대상에 병렬로 기록하는 단계; 및
    상기 제1 대상과 상기 제2 대상이 동일한 것에 응답하여, 상기 제1 부분과 상기 제2 부분 중 하나를 상기 제1 대상에 기록하는 단계; 를 포함하는,
    것을 특징으로 하는 정적 랜덤 액세스 메모리를 액세스하기 위한 방법.
  5. 제4항에 있어서,
    상기 제1 부분과 상기 제2 부분 중 하나를 상기 제1 대상에 기록하는 단계는,
    상기 제1 액세스 기기 및 상기 제2 액세스 기기의 우선 순위를 결정하는 단계; 및
    상기 제2 액세스 기기의 우선 순위가 상기 제1 액세스 기기의 우선 순위보다 높은 것에 응답하여, 상기 제2 부분을 상기 제1 대상에 기록하고, 상기 제1 부분을 상기 제1 대상에 기록하는 것을 다음 기록 주기로 지연시키는 단계; 를 포함하는,
    것을 특징으로 하는 정적 랜덤 액세스 메모리를 액세스하기 위한 방법.
  6. 제1항에 있어서,
    수신되는 상기 액세스 요청은 제1 액세스 기기로부터 송신되는, 상기 데이터를 판독하는 제1 요청이고, 상기 제1 요청에 대응되는 상기 데이터는 제1 데이터이며,
    상기 방법은,
    제2 액세스 기기로부터 송신되는, 상기 복수의 정적 랜덤 액세스 메모리로부터 제2 데이터를 판독하는 제2 요청을 수신하는 단계; 및
    상기 제1 데이터의 상기 복수 부분을 인터리빙으로 판독하는 것에 병렬되는 방식으로, 상기 복수의 정적 랜덤 액세스 메모리로부터 상기 제2 데이터의 복수 부분을 인터리빙으로 판독하는 단계; 를 더 포함하는,
    것을 특징으로 하는 정적 랜덤 액세스 메모리를 액세스하기 위한 방법.
  7. 제6항에 있어서,
    상기 복수의 정적 랜덤 액세스 메모리로부터 상기 제2 데이터의 복수 부분을 인터리빙으로 판독하는 단계는,
    하나의 판독 주기 내에서 상기 제1 데이터의 상기 복수 부분 중 제1 부분이 판독될 제1 대상과 상기 제2 데이터의 상기 복수 부분 중 제2 부분이 판독될 제2 대상을 결정하는 단계 - 상기 제1 대상과 상기 제2 대상은 각각 상기 복수의 정적 랜덤 액세스 메모리 중 하나임 - ;
    상기 제1 대상과 상기 제2 대상이 상이한 것에 응답하여, 상기 제1 대상과 상기 제2 대상으로부터 상기 제1 부분과 상기 제2 부분을 병렬로 판독하는 단계; 및
    상기 제1 대상과 상기 제2 대상이 동일한 것에 응답하여, 상기 제1 대상으로부터 상기 제1 부분과 상기 제2 부분 중 하나를 판독하는 단계; 를 포함하는,
    것을 특징으로 하는 정적 랜덤 액세스 메모리를 액세스하기 위한 방법.
  8. 제7항에 있어서,
    상기 제1 대상으로부터 상기 제1 부분과 상기 제2 부분 중 하나를 판독하는 단계는,
    상기 제1 액세스 기기 및 상기 제2 액세스 기기의 우선 순위를 결정하는 단계; 및
    상기 제2 액세스 기기의 우선 순위가 상기 제1 액세스 기기의 우선 순위보다 높은 것에 응답하여, 상기 제1 대상으로부터 상기 제2 부분을 판독하고, 상기 제1 대상으로부터 상기 제1 부분을 판독하는 것을 다음 판독 주기로 지연시키는 단계; 를 포함하는,
    것을 특징으로 하는 정적 랜덤 액세스 메모리를 액세스하기 위한 방법.
  9. 제4항에 있어서,
    상기 제1 대상을 결정하는 단계는,
    상기 제1 요청으로부터 상기 제1 데이터를 액세스하기 위한 목적지 어드레스를 결정하는 단계;
    상기 목적지 어드레스와 소정의 어드레스 매핑 관계에 따라, 상기 제1 데이터의 상기 제1 부분에 대응되는 목표 어드레스를 결정하는 단계; 및
    상기 목표 어드레스 중 적어도 일부에 따라, 상기 제1 부분에 대응되는 정적 랜덤 액세스 메모리를 결정하는 단계; 를 포함하는,
    것을 특징으로 하는 정적 랜덤 액세스 메모리를 액세스하기 위한 방법.
  10. 정적 랜덤 액세스 메모리를 액세스하기 위한 장치에 있어서,
    정적 랜덤 액세스 메모리 관련 데이터에 대한 액세스 요청을 수신하도록 구성되는 수신 모듈; 및
    상기 액세스 요청이 상기 데이터에 대한 기록 요청인 것에 응답하여 상기 데이터의 소정 크기의 복수 부분을 상이한 복수의 정적 랜덤 액세스 메모리에 인터리빙으로 기록하고, 상기 액세스 요청이 상기 데이터에 대한 판독 요청인 것에 응답하여 상기 복수의 정적 랜덤 액세스 메모리로부터 상기 데이터의 소정 크기의 복수 부분을 인터리빙으로 판독하도록 구성되는 액세스 모듈; 을 포함하고,
    수신되는 상기 액세스 요청은 제1 액세스 기기로부터 송신되는, 상기 데이터를 기록하는 제1 요청이고, 상기 제1 요청에 대응되는 상기 데이터는 제1 데이터이며,
    상기 수신 모듈은,
    제2 액세스 기기로부터 송신되는, 제2 데이터를 상기 복수의 정적 랜덤 액세스 메모리에 기록하는 제2 요청을 수신하도록 구성되는 수신 유닛을 포함하고,
    상기 액세스 모듈은,
    상기 제1 데이터의 상기 복수 부분을 인터리빙으로 기록하는 것에 병렬되는 방식으로, 상기 제2 데이터의 복수 부분을 상기 복수의 정적 랜덤 액세스 메모리에 인터리빙으로 기록하도록 구성되는 제1 기록 유닛을 포함하는,
    것을 특징으로 하는 정적 랜덤 액세스 메모리를 액세스하기 위한 장치.
  11. 제10항에 있어서,
    상기 복수 부분의 상기 소정의 크기는 상기 복수의 정적 랜덤 액세스 메모리의 용량에 따라 결정되는,
    것을 특징으로 하는 정적 랜덤 액세스 메모리를 액세스하기 위한 장치.
  12. 삭제
  13. 제10항에 있어서,
    하나의 기록 주기 내에서 상기 제1 데이터의 상기 복수 부분 중 제1 부분이 기록될 제1 대상과 상기 제2 데이터의 상기 복수 부분 중 제2 부분이 기록될 제2 대상을 결정하도록 구성되는 결정 모듈 - 상기 제1 대상과 상기 제2 대상은 각각 상기 복수의 정적 랜덤 액세스 메모리 중 하나임 - ; 을 더 포함하고,
    상기 액세스 모듈은,
    상기 제1 대상과 상기 제2 대상이 상이한 것에 응답하여 상기 제1 부분과 상기 제2 부분을 상기 제1 대상과 상기 제2 대상에 병렬로 기록하고, 상기 제1 대상과 상기 제2 대상이 동일한 것에 응답하여 상기 제1 부분과 상기 제2 부분 중 하나를 상기 제1 대상에 기록하도록 구성되는 제2 기록 유닛을 더 포함하는,
    것을 특징으로 하는 정적 랜덤 액세스 메모리를 액세스하기 위한 장치.
  14. 제13항에 있어서,
    상기 결정 모듈은,
    상기 제1 액세스 기기 및 상기 제2 액세스 기기의 우선 순위를 결정하도록 구성되는 우선 순위 결정 유닛을 포함하고,
    상기 액세스 모듈은,
    상기 제2 액세스 기기의 우선 순위가 상기 제1 액세스 기기의 우선 순위보다 높은 것에 응답하여, 상기 제2 부분을 상기 제1 대상에 기록하고, 상기 제1 부분을 상기 제1 대상에 기록하는 것을 다음 기록 주기로 지연시키도록 구성되는 제3 기록 유닛을 포함하는,
    것을 특징으로 하는 정적 랜덤 액세스 메모리를 액세스하기 위한 장치.
  15. 제10항에 있어서,
    수신되는 상기 액세스 요청은 제1 액세스 기기로부터 송신되는, 상기 데이터를 판독하는 제1 요청이고, 상기 제1 요청에 대응되는 상기 데이터는 제1 데이터이며,
    상기 수신 모듈은,
    제2 액세스 기기로부터 송신되는, 상기 복수의 정적 랜덤 액세스 메모리로부터 제2 데이터를 판독하는 제2 요청을 수신하도록 구성되는 수신 유닛을 포함하고,
    상기 액세스 모듈은,
    상기 제1 데이터의 상기 복수 부분을 인터리빙으로 판독하는 것에 병렬되는 방식으로, 상기 복수의 정적 랜덤 액세스 메모리로부터 상기 제2 데이터의 복수 부분을 인터리빙으로 판독하도록 구성되는 제1 판독 유닛을 포함하는,
    것을 특징으로 하는 정적 랜덤 액세스 메모리를 액세스하기 위한 장치.
  16. 제15항에 있어서,
    하나의 판독 주기 내에서 상기 제1 데이터의 상기 복수 부분 중 제1 부분이 판독될 제1 대상과 상기 제2 데이터의 상기 복수 부분 중 제2 부분이 판독될 제2 대상을 결정하도록 구성되는 결정 모듈 - 상기 제1 대상과 상기 제2 대상은 각각 상기 복수의 정적 랜덤 액세스 메모리 중 하나임 - ; 을 더 포함하고,
    상기 액세스 모듈은,
    상기 제1 대상과 상기 제2 대상이 상이한 것에 응답하여 상기 제1 대상과 상기 제2 대상으로부터 상기 제1 부분과 상기 제2 부분을 병렬로 판독하고, 상기 제1 대상과 상기 제2 대상이 동일한 것에 응답하여 상기 제1 대상으로부터 상기 제1 부분과 상기 제2 부분 중 하나를 판독하도록 구성되는 제2 판독 유닛을 포함하는,
    것을 특징으로 하는 정적 랜덤 액세스 메모리를 액세스하기 위한 장치.
  17. 제16항에 있어서,
    상기 결정 모듈은,
    상기 제1 액세스 기기 및 상기 제2 액세스 기기의 우선 순위를 결정하도록 구성되는 우선 순위 결정 유닛을 더 포함하고,
    상기 액세스 모듈은,
    상기 제2 액세스 기기의 우선 순위가 상기 제1 액세스 기기의 우선 순위보다 높은 것에 응답하여, 상기 제1 대상으로부터 상기 제2 부분을 판독하고, 상기 제1 대상으로부터 상기 제1 부분을 판독하는 것을 다음 판독 주기로 지연시키도록 구성되는 제3 판독 유닛을 포함하는,
    것을 특징으로 하는 정적 랜덤 액세스 메모리를 액세스하기 위한 장치.
  18. 제13항 또는 제16항에 있어서,
    상기 결정 모듈은,
    상기 제1 요청으로부터 상기 제1 데이터를 액세스하기 위한 목적지 어드레스를 결정하고, 상기 목적지 어드레스와 소정의 어드레스 매핑 관계에 따라 상기 제1 데이터의 상기 제1 부분에 대응되는 목표 어드레스를 결정하며, 상기 목표 어드레스 중 적어도 일부에 따라 상기 제1 부분에 대응되는 정적 랜덤 액세스 메모리를 결정하도록 구성되는 메모리 결정 유닛을 포함하는,
    것을 특징으로 하는 정적 랜덤 액세스 메모리를 액세스하기 위한 장치.
  19. 전자 기기에 있어서,
    하나 또는 복수의 프로세서; 및
    하나 또는 복수의 프로그램을 저장하기 위한 저장 장치; 를 포함하고,
    상기 하나 또는 복수의 프로그램이 상기 하나 또는 복수의 프로세서에 의하여 실행되는 경우, 상기 하나 또는 복수의 프로세서가 제1항 내지 제2항 및 제4항 내지 제9항 중 어느 한 항의 방법을 구현하는,
    것을 특징으로 하는 전자 기기.
  20. 컴퓨터 프로그램이 저장되어 있는 컴퓨터 판독 가능 저장 매체에 있어서,
    상기 프로그램이 프로세서에 의하여 실행되는 경우, 제1항 내지 제2항 및 제4항 내지 제9항 중 어느 한항의 방법이 구현되는,
    것을 특징으로 하는 컴퓨터 판독 가능 저장 매체.
KR1020190135665A 2018-11-21 2019-10-29 정적 랜덤 액세스 메모리를 액세스하는 방법, 장치, 기기 및 저장 매체 KR102332375B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811393074.0 2018-11-21
CN201811393074.0A CN111209232B (zh) 2018-11-21 2018-11-21 访问静态随机存取存储器的方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
KR20200060248A KR20200060248A (ko) 2020-05-29
KR102332375B1 true KR102332375B1 (ko) 2021-11-29

Family

ID=68618055

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190135665A KR102332375B1 (ko) 2018-11-21 2019-10-29 정적 랜덤 액세스 메모리를 액세스하는 방법, 장치, 기기 및 저장 매체

Country Status (5)

Country Link
US (1) US11093388B2 (ko)
EP (1) EP3657337B1 (ko)
JP (1) JP6880149B2 (ko)
KR (1) KR102332375B1 (ko)
CN (1) CN111209232B (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11295206B2 (en) * 2020-02-07 2022-04-05 Google Llc Interleaving memory requests to accelerate memory accesses
CN112306420B (zh) * 2020-11-13 2023-01-17 山东云海国创云计算装备产业创新中心有限公司 一种基于存储池的数据读写方法、装置、设备及存储介质
CN113051194B (zh) * 2021-03-02 2023-06-09 长沙景嘉微电子股份有限公司 缓冲存储器、gpu、处理系统及缓存访问方法
CN113515474A (zh) * 2021-07-30 2021-10-19 上海阵量智能科技有限公司 数据处理装置、方法、计算机设备和存储介质
TW202411847A (zh) * 2022-09-13 2024-03-16 創鑫智慧股份有限公司 記憶體查找裝置及方法
CN116069265B (zh) * 2023-03-22 2024-03-19 中昊芯英(杭州)科技有限公司 一种储存器和数据处理方法、装置及存储介质
CN117174139B (zh) * 2023-08-25 2024-06-18 合芯科技(苏州)有限公司 一种信号生成电路及存储器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100687996B1 (ko) * 1999-03-24 2007-02-27 휴렛-팩커드 컴퍼니(델라웨어주법인) 인터리브된 판독 및 기록 동작을 실행하는 장치
KR101609718B1 (ko) * 2013-01-17 2016-04-06 퀄컴 인코포레이티드 프로세서-기반 시스템들에서 이종의 메모리 액세스 요청들을 지원하기 위한 이종의 메모리 시스템들, 및 관련 방법들 및 컴퓨터-판독 가능한 매체들

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU3330793A (en) * 1991-12-23 1993-07-28 Intel Corporation Interleaved cache for multiple accesses per clock in a microprocessor
JPH05197619A (ja) 1992-01-22 1993-08-06 Nec Corp マルチcpu用メモリ制御回路
JPH10269167A (ja) 1997-03-28 1998-10-09 Chokosoku Network Computer Gijutsu Kenkyusho:Kk メモリ・アクセス方式
JP5532671B2 (ja) * 2009-05-08 2014-06-25 ソニー株式会社 データ記憶システムおよびデータ記憶方法、実行装置および制御方法、並びに制御装置および制御方法
US20130114332A1 (en) * 2011-11-03 2013-05-09 Arm Limited Reducing read disturbs and write fails in a data storage cell
JP6146128B2 (ja) * 2013-05-20 2017-06-14 ヤマハ株式会社 データ処理装置
US9396116B2 (en) 2013-11-26 2016-07-19 Globalfoundries Inc. Write and read collision avoidance in single port memory devices
US9405480B2 (en) * 2014-01-13 2016-08-02 Seagate Technology Llc Interleaving codewords over multiple flash planes
KR20160120004A (ko) * 2015-04-07 2016-10-17 삼성전자주식회사 시스템 온-칩 및 이를 포함하는 전자 기기
US9697118B1 (en) * 2015-12-09 2017-07-04 Nxp Usa, Inc. Memory controller with interleaving and arbitration scheme
CN107562657B (zh) * 2016-07-01 2020-02-07 北京忆芯科技有限公司 全交织sram控制器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100687996B1 (ko) * 1999-03-24 2007-02-27 휴렛-팩커드 컴퍼니(델라웨어주법인) 인터리브된 판독 및 기록 동작을 실행하는 장치
KR101609718B1 (ko) * 2013-01-17 2016-04-06 퀄컴 인코포레이티드 프로세서-기반 시스템들에서 이종의 메모리 액세스 요청들을 지원하기 위한 이종의 메모리 시스템들, 및 관련 방법들 및 컴퓨터-판독 가능한 매체들

Also Published As

Publication number Publication date
CN111209232A (zh) 2020-05-29
CN111209232B (zh) 2022-04-22
JP6880149B2 (ja) 2021-06-02
KR20200060248A (ko) 2020-05-29
EP3657337A1 (en) 2020-05-27
US11093388B2 (en) 2021-08-17
EP3657337B1 (en) 2022-08-31
JP2020087499A (ja) 2020-06-04
US20200159658A1 (en) 2020-05-21

Similar Documents

Publication Publication Date Title
KR102332375B1 (ko) 정적 랜덤 액세스 메모리를 액세스하는 방법, 장치, 기기 및 저장 매체
US11237728B2 (en) Method for accessing extended memory, device, and system
JP4866646B2 (ja) メモリーに送るコマンドの選択方法、メモリーコントローラー、コンピュータシステム
US7657696B2 (en) Method to detect NAND-flash parameters by hardware automatically
US7669033B2 (en) Pretranslating input/output buffers in environments with multiple page sizes
US9158683B2 (en) Multiport memory emulation using single-port memory devices
CN108733415B (zh) 支持向量随机访存的方法及装置
KR100847968B1 (ko) 컴퓨팅 시스템, 전자 통신 디바이스, 컴퓨팅 시스템 운영 방법 및 정보 처리 방법
CN114902198B (zh) 用于异构存储器系统的信令
US20140040541A1 (en) Method of managing dynamic memory reallocation and device performing the method
CN112445423A (zh) 存储器系统、计算机系统及其数据管理方法
US5293622A (en) Computer system with input/output cache
US7774513B2 (en) DMA circuit and computer system
GB2412767A (en) Processor with at least two buses between a read/write port and an associated memory with at least two portions
CN109271333B (zh) 一种sram控制方法及控制器、控制系统
CN112286863B (zh) 处理暨存储电路
WO2021093249A1 (zh) 外部设备访问计算机内存的方法
US20210373790A1 (en) Inference in memory
US20170075571A1 (en) Memory device and control method thereof
CN113297099A (zh) 在计算设备中执行的映射表管理方法及系统
US20060143391A1 (en) Computer device
CN117389767A (zh) 基于soc芯片的共享存储池的数据交换方法及装置
CN114385529A (zh) 直接记忆体存取控制器、使用其之电子装置以及操作其的方法
KR20190138031A (ko) 반도체 장치
KR20090095842A (ko) 메모리 복사 방법 및 그 방법을 이용하는 컴퓨터 시스템

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant