BRPI1008499B1 - Circuito integrado e método para operação de um circuito integrado tendo uma pluralidade de solicitadores de memória - Google Patents

Circuito integrado e método para operação de um circuito integrado tendo uma pluralidade de solicitadores de memória Download PDF

Info

Publication number
BRPI1008499B1
BRPI1008499B1 BRPI1008499-1A BRPI1008499A BRPI1008499B1 BR PI1008499 B1 BRPI1008499 B1 BR PI1008499B1 BR PI1008499 A BRPI1008499 A BR PI1008499A BR PI1008499 B1 BRPI1008499 B1 BR PI1008499B1
Authority
BR
Brazil
Prior art keywords
memory
data
banks
supercell
segments
Prior art date
Application number
BRPI1008499-1A
Other languages
English (en)
Inventor
Shinye Shiu
Brian P. Lilly
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of BRPI1008499A2 publication Critical patent/BRPI1008499A2/pt
Publication of BRPI1008499B1 publication Critical patent/BRPI1008499B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/025Geometric lay-out considerations of storage- and peripheral-blocks in a semiconductor storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • G11C7/1012Data reordering during input/output, e.g. crossbars, layers of multiplexers, shifting or rotating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1048Data bus control circuits, e.g. precharging, presetting, equalising
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
    • 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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/108Wide data ports
    • 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)
  • Microelectronics & Electronic Packaging (AREA)
  • Multimedia (AREA)
  • Static Random-Access Memory (AREA)
  • Electronic Switches (AREA)
  • Dram (AREA)

Abstract

circuito integrado com supercélula de memória de múltiplas portas e circuito de comutação de percursos de dados. a invenção refere-se a um circuito integrado. o circuito integrado inclui uma pluralidade de solicitadores de memória e uma supercélula de memória. a supercélula de memória inclui uma pluralidade de bancos de memória cada um dos quais forma uma respectiva faixa de localizações de armazenamento separadamente endereçáveis, em que a supercélula de memória está organizada em uma pluralidade de grupos de banco inclui um subconjunto da pluralidade de bancos de memória e uma porta de acesso dedicada correspondente. o circuito integrado ainda inclui um comutador acoplado entre a pluralidade de solicitadores de memória e a supercélula de memória; o comutador está configurado, responsivo a uma solicitação de memória por um dado da pluralidade de solicitadores de memória, para conectar um percurso de dados entre o dado solicitador de memória e a porta de acesso dedicada de um específico dos grupos de bancos endereçados pela solicitação de memória.

Description

ANTECEDENTES DA INVENÇÃO CAMPO DA INVENÇÃO
[001] Esta invenção refere-se a circuitos integrados, e mais especificamente, à disposição de memória e percursos de acesso associados dentro do circuito integrado.
DESCRIÇÃO DA TÉCNICA RELATIVA
[002] Os computadores e outros tipos de sistemas eletrônicos frequentemente incluem uma hierarquia de memória que tem diversas camadas diferentes. Entre estas camadas podem estar incluídos um armazenamento não volátil (por exemplo, armazenamento de disco rígido), uma memória de acesso randômico (RAM), e um ou mais níveis de memória cache. Os sistemas baseados em processador podem incluir um processador que tem um ou mais núcleos, em que cada um dos um ou mais núcleos inclui uma ou mais memórias cache. Por exemplo, muitos processadores incluem pelo menos um núcleo de processador que tem um cache de instrução e um cache de dados, o qual pode estar no topo da hierarquia de memória. Uma memória cache no topo da hierarquia de memória pode ser referida como cache de nível um ou L1). Muitos processadores também incluem um cache de nível dois (ou L2), o qual pode ser compartilhado pelos caches de dados e de instrução de um núcleo de processador, e mais ainda, pode ser compartilhado por múltiplos núcleos de processador em processadores de múltiplos núcleos.
[003] Quando provido sobre um circuito integrado (IC), alguns destes tipos de memórias, tal como os caches L2, podem ser organizados no que são conhecidas como supercélulas de memória. Uma supercélula de memória é uma rede bidimensional de bancos de memória (por exemplo, linhas e colunas de bancos de memória) que compartilha uma interface comum (algumas vezes referida como um 'ponto de derivação'). Especificamente, quando projetando um IC, cada banco de memória pode ser na forma de uma célula cuja localiza-ção na matriz de IC interconecta com outras células definidas e/ou outras unidades funcionais podem ser manipuladas por uma ferramenta de projeto de IC. Uma supercélula de memória é simplesmente uma coleção de tais células de banco de memória interconectadas para formar uma célula de memória unificada, maior que pode similarmente estar localizada sobre o IC pela ferramenta de projeto.
[004] Em tal supercélula de memória, um dado endereço mapeia para um banco da supercélula. As informações transferidas para uma supercélula durante uma operação de escrita podem ser recebidas pela interface e então roteadas para uma localização em um banco de memória indicado pelo endereço o qual mapeia a este. Similarmente, quando executando uma operação de leitura, as informações podem ser roteadas de uma localização endereçada em um dos bancos de memória da supercélula para a interface, e assim para o dispositivo solicitante.
SUMÁRIO DA INVENÇÃO
[005] Um circuito integrado está descrito. Em uma modalidade, o circuito integrado inclui uma pluralidade de solicitadores de memória e uma supercélula de memória. A supercélula de memória inclui uma pluralidade de bancos de memória cada um dos quais forma uma respectiva faixa de localizações de armazenamento separadamente endereçáveis, em que a supercélula de memória está organizada em uma pluralidade de grupos de bancos. Cada um da pluralidade de grupos de bancos inclui um subconjunto da pluralidade de bancos de memória e uma porta de acesso dedicada correspondente. O circuito integrado ainda inclui um comutador acoplado entre a pluralidade de solicitadores de memória e a supercélula de memória. O comutador está configurado, responsive a uma solicitação de memória por um dado da pluralidade de solicitadores de memória, para conectar um percurso de dados entre o dado solicitador de memória e a porta de acesso dedicada de um específico dos grupos de bancos endereçados pela solicitação de memória.
BREVE DESCRIÇÃO DOS DESENHOS
[006] Outros aspectos da invenção ficarão aparentes quando da leitura da descrição detalhada seguinte e quando da referência aos desenhos acompanhantes nos quais:
[007] figura 1 é um diagrama de blocos de uma modalidade de um circuito integrado;
[008] figura 2 é um diagrama de blocos de uma modalidade de uma supercélula de memória;
[009] figura 3 é um diagrama de blocos de outra modalidade de uma supercélula de memória;
[0010] figura 4 é um diagrama de blocos de um circuito integrado, o diagrama de blocos ilustrando uma modalidade de uma unidade de comutação em mais detalhes;
[0011] figura 5 é um diagrama de blocos que ilustra detalhes adicionais de uma modalidade de um circuito integrado;
[0012] figura 6 é um diagrama de blocos que ilustra uma modalidade de um circuito integrado que inclui múltiplos núcleos de processador e um par de supercélulas de memória; e
[0013] figura 7 é um diagrama de blocos que ilustra outra modalidade de um circuito integrado que inclui múltiplos núcleos de processador e um par de supercélulas de memória.
[0014] Apesar da invenção ser susceptível a várias modificações e formas alternativas, as suas modalidades específicas estão mostradas como exemplo nos desenhos e serão aqui descritas em detalhes. Deve ser compreendido, no entanto, que os desenhos e a descrição destes não pretendem limitar a invenção à forma específica descrita, mas, ao contrário, a invenção é para cobrir todas as modificações, equivalentes, e alternativas que caiam dentro do espírito e do escopo da presente invenção como definidos pelas concretizações anexas.
DESCRIÇÃO DETALHADA DA INVENÇÃO
[0015] Observando agora a figura 1, um diagrama de blocos de uma modalidade de um circuito integrado está mostrado. Na modalidade ilustrada, o circuito integrado (IC) 10 inclui os solicitadores 22, 24, 26, e 28, cada um dos quais está acoplado a uma unidade de controle 15 e uma unidade de comutador 20. O IC 10 também inclui uma supercélula de memória 18 acoplada na unidade de comutador 20. Os vários componentes do IC 10 mostrados na figura 1 podem ser implementados em uma única matriz de IC em algumas modalidades. Na modalidade mostrada, a unidade de comutador 20 está localizada fisicamente entre (e externa a) a supercélula de memória 18 e os solicitadores 22-28.
[0016] Cada um dos solicitadores 22-28 é representativo de qualquer subsistema ou dispositivo que requeira acesso a uma memória externa a este, tal como a supercélula de memória 18. Tal acesso pode incluir os acessos de leitura, os acessos de escrita, ou ambos. Em algumas modalidades, cada um dos solicitadores 22-28 pode ser unidades funcionais idênticas (por exemplo, os núcleos de um processador de múltiplos núcleos simétricos que incluem, por exemplo, um cache de instrução e um cache de dados, etc.). Em outras modalidades, pelo menos um dos solicitadores 22-28 pode ser diferente dos outros solicitadores (por exemplo, os núcleos em um processador de múltiplos núcleos assimétricos). O número específico de solicitadores pode variar de uma modalidade para a seguinte, e pode ser maior ou menor do que aqui mostrado. Modalidades com tão poucos quanto um solicitador são possíveis e contempladas.
[0017] Na modalidade mostrada, a supercélula de memória 18 inclui uma pluralidade de bancos de memória 19. Como acima discutido, durante uma fase de projeto do IC, cada um dos bancos de memória pode ser definido como uma célula que pode ser manipulada por uma ferramenta de projeto. Em sua concepção, a supercélula de memória 18 pode do mesmo modo ser definida para permitir que a sua localização e interconexões com outras células ou unidades funcionais sejam manipuladas pela ferramenta de projeto. A supercélula de memória 18 na modalidade mostrada inclui uma rede bidimensional de bancos de memória 19. A disposição é tal que pelo menos dois bancos de memória 19 estão dispostos em uma primeira direção (por exemplo, linhas) enquanto que pelo menos dois bancos de memória 19 estão dispostos em uma segunda direção (por exemplo, colunas). O número específico de bancos de memória 19 em cada direção da bidimensional pode variar de uma modalidade para a seguinte. Cada banco de memória 19 pode formar uma respectiva faixa de localizações de armazenamento separadamente endereçáveis. As solicitações de acesso de memória podem cada uma ser endereçadas para uma ou mais destas localizações de armazenamento separadamente endereçáveis.
[0018] A supercélula de memória 18 na figura 1 está acoplada na unidade de comutador 20 através de portas 21 (algumas vezes referidas como 'pontos de derivação'), denotadas como Porta 0 e Porta 1 nesta modalidade. Como será abaixo discutido, a pluralidade de bancos de memória 19 mostrada na figura 1 pode ser organizada em grupos de bancos separados. A transferência de dados (o termo "dados" com aqui utilizado pretende incluir instruções) para os ou dos bancos de um dado grupo de bancos pode ocorrer exclusivamente através de uma porta 21 que está associada com aquele grupo de bancos específico, enquanto que a transferência de dados para / de outro grupo de bancos ocorre através de outra porta, como será também abaixo discutido em detalhes adicionais.
[0019] Cada um dos solicitadores 22-28 na modalidade mostrada está configurado para prover sinais para a unidade de controle 15 indicando uma solicitação para acesso à supercélula de memória 18. Quando provendo uma solicitação para acesso à supercélula de memória 18, um solicitador 22-28 específico pode prover as informações para a unidade de controle 15 indicando o endereço a ser acessado, assim como indicando se a solicitação é uma solicitação de leitura ou uma solicitação de escrita. A unidade de controle 15 está configurada para determinar responsivamente um percurso para transportar os dados entre a localização de memória identificada pela solicitação e o solicitador correspondente. Especificamente, a unidade de controle 15 pode estar configurada para determinar os vários segmentos na unidade de comutador 20 para formar o percurso entre a porta da supercélula de memória 18 associada com a localização de memória solicitada e o solicitador correspondente. Responsiva a receber os sinais de controle da unidade de controle 15, a unidade de comutador 20 está configurada para selecionar os segmentos que formam o percurso entre o solicitador e a porta da supercélula de memória 18 associada com a solicitação.
[0020] A unidade de controle 15 pode também prover certos sinais de controle diretamente para o grupo de bancos que inclui a localização de memória solicitada. Tais sinais de controle podem incluir os sinais de habilitação (por exemplo, habilitar leitura, habilitar escrita) e os sinais de seleção (por exemplo, para selecionar o banco e o endereço associados com a solicitação). Em situações onde múltiplas solicitações de acesso importantes são recebidas, a unidade de controle 15 pode executar funções de priorização de modo a determinar uma or- dem para executar as solicitações.
[0021] Observando agora a figura 2, um diagrama de blocos de uma modalidade da supercélula de memória 18 está mostrado. A figura 2 também ilustra um representativo de uma pluralidade de bancos de memória 19. Na modalidade mostrada, a supercélula de memória 18 inclui oito bancos de memória 19 que estão organizados em quatro linhas e duas colunas. A supercélula de memória 18 está ainda organizada em quatro unidades de memória, aqui referidas como Grupo de Bancos 0, Grupo de Bancos 1, Grupo de Bancos 2 e Grupo de Bancos 3. Cada um destes grupos de bancos inclui uma porta 21 correspondente acoplada a uma unidade de l/F 185 correspondente, por exemplo, o Grupo de Bancos 0 inclui a Porta 0, a qual está acoplada na l/F 0, e assim por diante. Cada porta 21 de um dado grupo de memórias é exclusiva para os bancos de memória 19 daquele grupo. Similarmente, cada unidade de l/F 185 de um dado de grupo de memória é exclusiva para os bancos de memória 19 daquele grupo. Por exemplo, a trans-ferência de dados para ou de qualquer um dos bancos de memória do Grupo de Bancos 0 ocorre através da porta 0 e da l/F 0, enquanto que a transferência de dados para ou de qualquer um dos bancos de memória do Grupo de Bancos 3 ocorre através da porta 3 e da l/F 3. Cada uma das unidades de l/F 185 provê uma interface para transportar os dados entre os bancos de memória daquele grupo de bancos específico e a porta 21 correspondente daquele grupo de memórias específico. Cada unidade de l/F 185 pode incluir um circuito de comutação (por exemplo, multiplexadores, demultiplexadores, etc.) configurado para rotear os dados entre um dado banco de memória 19 e a porta 21 correspondente durante um acesso a uma localização naquele banco. Em algumas modalidades, cada unidade de l/F 185 pode também prover as informações de endereço e/ou outros sinais de controle para os bancos de memória 19 de seu grupo de bancos específico. No entan- to, as modalidades em que as informações de endereço e os sinais de controle são providos por outras unidades funcionais (por exemplo, diretamente da unidade de controle 15 da figura 1) são também possíveis e contempladas.
[0022] Na modalidade mostrada, cada um dos bancos de memória 19 de um dado grupo de bancos está em proximidade física mais próxima de sua porta 21 associada do que daquelas portas 21 associadas com outros grupos de bancos. Por exemplo, os bancos de memória 19 do Grupo de Bancos 0 estão em proximidade física mais próxima da Porta 0 do que daquelas portas associadas com qualquer um dos Grupos de Bancos 1-3. Em contraste com as modalidades em que uma única porta poderia de outro modo estar provida para uma supercélula de memória (e assim uma única unidade de interface de porta), a disposição mostrada na figura 2 pode minimizar a distância em que os dados são acionados para / de um dado banco de memória 19 dentro da supercélula de memória 18 de / para uma localização externa. É também notado que o circuito que forma cada unidade de l/F 185 pode estar fisicamente provido em uma localização central entre os bancos de memória 19 de um dado grupo de bancos.
[0023] Quando implementada em um circuito integrado tal como o IC 10, cada porta 21 da supercélula de memória 18 pode ser acoplada para receber os dados da unidade de comutador 20 através de um primeiro percurso e acoplada para prover os dados para a unidade de comutador através de um segundo percurso (isto é, em modalidades nas quais percursos unidirecionais são utilizados para escrever os dados e ler os dados). Consequentemente, como será abaixo discutido em mais detalhes, esta disposição pode permitir operações de leitura e de escrita concorrentes, em que as informações são escritas em uma localização de memória em um primeiro grupo de bancos e lidas de uma localização de memória em um segundo grupo de bancos.
[0024] Como acima notado, a figura 2 também ilustra uma modalidade de um banco de memória 19 representativo. Outros tipos de bancos de memória são também possíveis e contemplados para implementação dentro da supercélula de memória 18. Na modalidade mostrada, o banco de memória 19 inclui uma pluralidade de células de bit de memória dispostas em uma rede de linhas de colunas. As células de bit de memória em uma dada linha estão acopladas umas nas outras por linhas de palavra, enquanto que as células de bit de memória em uma dada coluna estão acopladas umas nas outras por linhas de bit. Na modalidade mostrada, cada célula de bit de memória está acoplada a uma única linha de bit, apesar de que as modalidades em que as células de bit de memória acopladas a duas linhas de bit (por exemplo, para transportar dados verdadeiros e complementares) são possíveis e contempladas.
[0025] O banco de memória 19 na modalidade mostrada inclui um decodificador de endereço 191 e uma unidade de I/O 192. O decodifi- cador de endereço 191 está acoplado para receber um endereço de uma fonte externa (por exemplo, de uma unidade de l/F 185 ou de uma unidade de controle 15 das modalidades acima discutidas) e está configurado para decodificar o endereço recebido. A unidade de I/O 192 pode incluir vários circuitos para ler as informações das células de memória e/ou escrever as informações nas células de memória. Por exemplo, em uma modalidade, a unidade de I/O 192 inclui uma pluralidade de amplificadores de detecção, cada um dos quais está acoplado a uma linha de bit correspondente. A unidade de I/O 192 pode também incluir uma pluralidade de circuitos de acionamento, cada um dos quais está acoplado a uma linha de bit correspondente.
[0026] Na modalidade mostrada, o decodificador de endereço 191 está configurado para decodificar o endereço de modo a ativar uma linha de palavra que corresponde a este. Quando ativada, uma dada linha de palavra pode fazer com que as células de memória acopladas a esta sejam transparentes para as suas respectivas linhas de bit (isto é, as células de memória do endereço decodificado são selecionadas). Durante as operações de leitura, os dados armazenados nas células de memória selecionada podem ser detectados pelos amplificadores de detecção da unidade de I/O 192 e acionados do banco de memória 19 para a unidade de l/F 185 correspondente (e assim para a porta 21 correspondente também). Durante as operações de escrita, os dados podem ser recebidos pelos circuitos de acionamento na unidade de I/O 192 e assim escritos nas células de memória selecionadas. Quando a operação de leitura ou de escrita está completa, a linha de palavra das células de memória selecionadas é desativada, e assim os dados mais recentemente escritos nas células de memória são armazenados.
[0027] A figura 3 é um diagrama de blocos de outra modalidade de uma supercélula de memória 18. Nesta modalidade específica, a supercélula de memória 18 inclui dois grupos de bancos ao invés dos quatro mostrados na modalidade da figura 2. Consequentemente, a supercélula de memória 18 da figura 3 inclui duas portas 21 e duas unidades de l/F 185. Cada um dos grupos de bancos nesta modalidade específica inclui quatro bancos de memória 19.
[0028] Falando genericamente, as supercélulas de memória 18 podem ser implementadas em uma ampla variedade de configurações de acordo com esta descrição. Cada supercélula de memória pode incluir uma pluralidade de grupos de bancos, cada um dos quais inclui uma pluralidade de bancos de memória. Cada grupo de bancos pode incluir uma porta e uma unidade de l/F que são cada uma exclusivas para aquele grupo de bancos específico (isto é, uma dada porta é dedicada para transportar os dados que estão sendo escritos para ou sendo lidos de uma localização dentro do grupo de bancos correspon-dente (isto é, e não transporta os dados para / de outros grupos de bancos)). Mais ainda, os bancos de memória de um grupo de bancos específico podem estar em proximidade física próxima da porta associada com aquele grupo de bancos do que das portas associadas com os outros grupos de bancos. Isto pode reduzir a distância na qual os dados são acionados entre um banco de memória específico em um grupo de bancos e a porta daquele grupo de bancos e assim a distância total para um dado solicitador de memória. A redução da quantidade total da distância que os dados são acionados pode resultar em um consumo de energia relativamente mais baixo, e pode também reduzir a latência associada com as transferências de dados.
[0029] A figura 4 é um diagrama de IC 10 que ilustra uma modalidade da unidade de comutador 20 em detalhes adicionais. Os elementos da figura 4 que correspondem àqueles dos desenhos acima discutidos estão identicamente numerados para o bem da simplicidade. É notado que a supercélula de memória 18 como mostrado na figura 4 pode ser incorporada de acordo com a configuração da figura 2 ou a configuração da figura 3, entre outras.
[0030] Na modalidade mostrada, a unidade de comutador 20 inclui uma pluralidade de circuitos de seleção 202, e ainda inclui uma pluralidade de segmentos 205 e 210. Para o bem da simplicidade, somente uns representativos dos segmentos estão rotulados. Os segmentos 205 formam um primeiro subconjunto da pluralidade de segmentos, e são utilizáveis para transportar as informações (dados de escrita) dos solicitadores 22-28 para um grupo de bancos selecionado da supercélula de memória 18. Os segmentos 210 formam um segundo subconjunto da pluralidade de segmentos, e são utilizáveis para transportar as informações (dados de leitura) de um grupo de bancos selecionado da supercélula de memória 18 para um dos solicitadores 22-28. Assim, os segmentos 205 são unidirecionais em uma primeira direção, enquanto que os segmentos 210 são unidirecionais em uma segunda direção. Cada segmento pode compreender uma pluralidade de linhas de sinal (por exemplo, condutores) sobre os quais os bits de informações são transportados para transferir os dados entre a supercélula de memória 18 e um dos solicitadores 22-28.
[0031] Cada circuito de seleção 202 nesta modalidade está configurado para acoplar eletricamente uns específicos da pluralidade de segmentos a pelo menos um outro da pluralidade de segmentos. Na modalidade mostrada, cada circuito de seleção 202 está configurado para executar uma função de multiplexação. Mais especificamente, cada um dos circuitos de seleção 202 nesta modalidade está configurado para selecionar um de dois segmentos a ser eletricamente acoplado a outro segmento. Em geral, várias modalidades da unidade de comutador 20 podem ser implementadas utilizando os circuitos de seleção 202 que executam uma função de multiplexação, uma função de demultiplexação, uma função de comutação, ou várias suas combinações. Os circuitos de seleção 202 que executam uma função de multiplexação podem acoplar dois ou mais segmentos de entrada a um terceiro segmento (de saída). Os circuitos de seleção 202 que executam uma função de demultiplexação podem acoplar um segmento de entrada a dois ou mais segmentos de saída. Os circuitos de seleção 202 que executam uma função de comutação podem, quando habilitados, acoplar um segmento de entrada a um segmento de saída.
[0032] Apesar de não explicitamente aqui mostrado, cada circuito de seleção 202 na modalidade mostrada está acoplado para receber um ou mais sinais de controle da unidade de controle 15. Mais especificamente, cada circuito de seleção 202 nesta modalidade está acoplado para receber pelo menos um sinal de seleção que indica qual dos dois segmentos de entrada correspondentes deve ser eletricamente acoplado no segmento de saída correspondente. Em algumas modalidades, cada circuito de seleção 202 pode também ser acoplado para receber um sinal de habilitação. Um sinal de habilitação pode ser aplicado para habilitar o circuito de seleção 202 quando este deve ser utilizado para formar um percurso entre um dos solicitadores 22-28 e um dos grupos de bancos 0-3 da supercélula de memória 18. Um sinal de habilitação provido para um circuito de seleção 202 pode ser desa- plicado quando o circuito de seleção não está em uso. Quando desa- bilitado, um circuito de seleção 202 pode fazer com que as linhas de sinal de um segmento de saída sejam colocadas em um estado de alta impedância.
[0033] Como a modalidade mostrada divide a pluralidade de segmentos em um primeiro e um segundo subconjuntos separados (isto é, em um primeiro subconjunto que compreende os segmentos 205 e um segundo subconjunto que compreende os segmentos 210), leituras e escritas concorrentes podem ser suportadas. Por exemplo, os dados podem ser escritos do solicitador 22 para uma localização no grupo de bancos 0 enquanto que dados são concorrentemente lidos pelo solicitador 28 do grupo de bancos 3. As leituras e escritas concorrentes que envolvem um único grupo de bancos e/ou um único solicitador podem também ser suportadas em algumas modalidades. Por exemplo, o solicitador 24 pode escrever os dados para uma localização no grupo de bancos 1 enquanto concorrentemente lendo os dados de uma locali-zação no grupo de bancos 2 em tal modalidade. Em outro exemplo, uma tal modalidade pode suportar o solicitador 26 escrevendo os dados em uma primeira localização do grupo de bancos 2 enquanto que o solicitador 24 lê concorrentemente os dados de uma segunda localização no grupo de bancos 2. Como acima notado, a unidade de controle 15 pode estar configurada para executar funções de priorização, e pode assim programar os acessos de leitura e de escrita concorrentes em modalidades onde estes acessos concorrentes são suportados. A unidade de controle 15 pode também estar configurada para impedir as leituras e escritas concorrentes em certas situações (por exemplo, se existir uma solicitação para ler da e escrever na mesma localização de memória).
[0034] A figura 5 é um diagrama de blocos que ilustra exemplos da seleção de percursos entre um solicitador e um grupo de bancos de uma memória. O exemplo aqui mostrado está baseado na modalidade da figura 4 e assim os elementos mostrados na figura 5 estão numerados os mesmos que os seus elementos correspondentes na figura 4. Os percursos mostrados neste exemplo incluem os segmentos que estão indicados por linhas tracejadas e por caracteres de referência correspondentes. Outros segmentos mostrados com linhas cheias sem caracteres de referência correspondentes não fazem parte dos percursos indicados deste exemplo.
[0035] No exemplo mostrado na figura 5, o solicitador 22 está acoplado no Grupo de Bancos 0 através de um primeiro percurso formado de segmentos 205D e 205E. Consequentemente, o solicitador 22 está acoplado para escrever as informações em uma localização de memória dentro do Grupo de Bancos 0. Neste mesmo exemplo, o solicitador 26 está acoplado no Grupo de Bancos 2 por um segundo percurso formado de segmentos 210E, 210F, e 210G. Consequentemente, o solicitador 26 neste exemplo está acoplado para ler os dados do Grupo de Bancos 2. Estes percursos podem ser configurados como mostrado para permitir que o solicitador 22 escreva os dados em uma loca-lização no Grupo de Bancos 0 enquanto que o solicitador 26 concorrentemente lê os dados de uma localização no Grupo de Bancos 2. A capacidade de ler os dados de uma primeira localização da supercélula de memória 18 enquanto concorrentemente escrevendo dados em outra sua localização pode permitir uma operação total eficiente. No entanto, os percursos mostrados neste exemplo podem ser configurados para permitir as operações de leitura e de escrita acima mencio- nadas em tempos diferentes, não concorrentes.
[0036] O exemplo mostrado na figura 5 é tal que, quando acionando os dados do solicitador 22 para a Porta 0 do Grupo de Bancos 0, os dados são acionados somente sobre aqueles segmentos 205 os quais conectam eletricamente o solicitador 22 na Porta 0. Similarmente, o exemplo mostrado é tal que quando acionando os dados do Grupo de Bancos 2 para o solicitador 26, os dados são acionados somente sobre aqueles segmentos 210 os quais conectam eletricamente a Porta 2 no solicitador 26. Em geral, quando um dado solicitador deve escrever os dados para uma localização na supercélula de memória 18 na modalidade mostrada, os dados são acionados somente sobre aqueles segmentos 205 eletricamente conectados entre o solicitador iniciante e a porta que corresponde à localização de armazenamento na qual os dados devem ser escritos. Similarmente, quando um dado solicitador deve escrever os dados de uma localização na supercélula de memória 18 na modalidade mostrada, os dados são escritos somente sobre aqueles segmentos 210 eletricamente conectados entre a localização de armazenamento associada com a porta da qual os dados devem ser lidos e a entrada do solicitador iniciante. Como um resultado, um percurso de dados relativamente curto pode ser provido, assim resultando em uma menor distância sobre a qual os sinais que correspondem aos dados são acionados. Isto por sua vez pode resultar em um consumo de energia relativamente baixo.
[0037] Em geral, o circuito de comutação 20 está configurado para fazer com que uns específicos dos circuitos de seleção 202 selecionem vários dos segmentos 205 para permitir as operações de escrita de qualquer um dos solicitadores 22-28 para qualquer um dos Grupos de Bancos 0-3. Similarmente, o circuito de comutação 20 está configurado para fazer com que uns específicos dos circuitos de seleção 202 selecionem vários dos segmentos 210 para permitir as operações de leitura de qualquer um dos Grupos de Bancos 0-3 por qualquer um dos solicitadores 22-28. A seleção de segmentos específicos pode ser executada sob a direção da unidade de controle 15 de acordo com o tipo de solicitação (leitura ou escrita) e a localização solicitada. Quando nenhum conflito está presente (por exemplo, nenhuma tentativa de ler do e escrever no mesmo endereço concorrentemente), as operações de leitura e de escrita concorrentes podem ser executadas.
[0038] Observando agora a figura 6, um diagrama de blocos de uma modalidade de um sistema de processador implementado em um circuito integrado que tem múltiplos núcleos de processador e super- células de memória está mostrado. Na modalidade mostrada, o processador 100 inclui um primeiro núcleo de processador 101 e um segundo núcleo de processador 102. Cada um dos núcleos de processador 101 e 102 está acoplado a uma unidade de comutador 20. A unidade de comutador 20 está por sua vez acoplada a um cache L2 180 formado coletivamente por supercélulas de memória 181 e 182. A unidade de comutador 20 de formação de circuito pode estar fisicamente localizada entre o cache L2 180 e o par de núcleos de processador mostrados no desenho. O processador 100 pode também incluir uma unidade de controle similar à unidade de controle 15 das modalidades acima descritas, apesar de não estar aqui mostrado para o bem da simplicidade.
[0039] O núcleo de processador 101 inclui um cache de instrução 111, um cache de dados 112, e uma interface de núcleo 113. Similarmente, o núcleo de processador 102 inclui um cache de instrução 121, um cache de dados 122, e uma interface de núcleo 123. Os caches de instrução e de dados dos núcleos de processador 101 e 102 formam os caches de nível 1 (L1) nesta modalidade. Nesta modalidade as interfaces de núcleo 113 e 123 são unidades de memória de cache configuradas para escrever as informações dos respectivos caches L1 pa- ra o cache L2 180. As interfaces de núcleo 113 e 123 podem também incluir uma funcionalidade de interface adicional que permite as comunicações entre os seus respectivos núcleos de processador e outras unidades funcionais.
[0040] Nesta modalidade específica, os núcleos de processador 101 e 102 desempenham o papel dos solicitadores como acima discutido. Em seus papéis como solicitadores, os núcleos de processador 101 e 102 podem receber os dados das supercélulas de memória 181 e 182 através de entradas para os seus respectivos caches de instrução ou de dados. As informações podem ser emitidas dos núcleos de processador 101 e 102 nesta modalidade através de suas respectivas interfaces de núcleo. No entanto, deve ser notado que modalidades são possíveis e contempladas em que cada cache de instrução, cache de dados e interface de núcleo mostrados no desenho são estes próprios capazes de executar o papel de solicitadores. Como tal, quando estas unidades executam o papel como solicitadores, estes podem iniciar solicitações de acesso que resultam em transferência de dados para o cache L2 180 e/ou o recebimento de dados de cache L2 180.
[0041] Como acima declarado, a modalidade mostrada na figura 6, o cache L2 180 inclui uma primeira supercélula de memória 181 e uma segunda supercélula de memória 182. Cada uma das supercélulas de memória 181 e 182 mostradas na figura 6 está configurada similarmente à modalidade de supercélula de memória 18 mostrada na figura 2. Isto é, cada uma das supercélulas de memória 181 e 182 inclui quatro grupos de bancos de dois bancos de memória cada, com cada grupo de bancos incluindo a sua própria porta de memória 21 e a sua unidade de l/F 185.
[0042] Uma linha de cache na modalidade mostrada pode ser armazenada através de ambas as supercélulas de memória 181 e 182 nesta modalidade (por exemplo, para uma linha de cache de 64 bytes, 42 bytes de uma dada linha de cache podem ser armazenados dentro de um banco de memória correspondente da supercélula de memória 181, e os 32 bytes restantes podem ser armazenados dentro de um banco de memória correspondente da supercélula de memória 182). Consequentemente, o sistema de processador 100 pode suportar uma escrita para uma localização de memória de um grupo de bancos na supercélula de memória 181 concorrentemente com uma escrita em uma localização de memória de um grupo de bancos na supercélula de memória 182. Similarmente, o processador 100 pode também executar uma leitura de uma localização de memória em um grupo de bancos da supercélula de memória 181 concorrentemente com uma leitura de uma localização de memória em um grupo de bancos da supercélula de memória 182. Em várias modalidades, o sistema de processador 100 pode também permitir leituras e escritas concorrentes de diferentes linhas de cache. Assim esta modalidade do processador 100 pode suportar duas operações de leitura (uma da supercélula de memória 181 e uma da supercélula de memória 182 para uma primeira linha de cache) que são executadas concorrentemente com duas operações de escrita (uma da supercélula de memória 181 e uma da supercélula de memória 182 para uma segunda linha de cache).
[0043] A figura 7 é um diagrama de blocos que ilustra outra moda lidade de um sistema de processador. Nesta modalidade específica, as supercélulas de memória 181 e 182 do cache L2 180 estão incorporadas de acordo com a configuração da figura 3 acima discutida. Cada grupo de bancos inclui uma porta 21 correspondente e uma unidade de l/F 185 correspondente. Como com a modalidade acima discutida, as transferências de uma linha de cache podem inclui ler concorrentemente de ambas as supercélulas de memória 181 e 182, ou escrever nas supercélulas de memória 181 e 182.
[0044] Apesar da presente invenção ter sido descrita com referência a modalidades específicas, será compreendido que as modalidades são ilustrativas e que o escopo da invenção não está assim limitado. Quaisquer variações, modificações, adições, e aperfeiçoamentos podem cair dentro do escopo da invenção como detalhada nas concretizações seguintes.

Claims (15)

1. Circuito integrado, compreendendo: uma pluralidade de solicitadores de memória; uma supercélula de memória que inclui uma pluralidade de bancos de memória, cada um dos quais formando uma respectiva faixa de localizações de armazenamento separadamente endereçáveis, em que a supercélula de memória é organizada em uma pluralidade de grupos de bancos, em que cada um da pluralidade de grupos de bancos inclui um subconjunto da pluralidade de bancos de memória e uma porta de acesso dedicada correspondente; um comutador acoplado entre a pluralidade de solicitadores de memória e a supercélula de memória, em que o comutador é configurado, responsive a uma solicitação de memória por um dado da pluralidade de solicitadores de memória, para conectar um percurso de dados entre o dado solicitador de memória e a porta de acesso dedicada de um específico dos grupos de bancos endereçados pela solicitação de memória, caracterizado pelo fato de que o comutador inclui uma pluralidade de segmentos e uma pluralidade de circuitos de seleção, em que uns da pluralidade de circuitos de seleção são configurados para eletricamente conectar os específicos da pluralidade de segmentos no comutador a um outro da pluralidade de segmentos no comutador para formar um percurso entre um solicitador específico e uma porta de acesso dedicada específica, em que um primeiro subconjunto da pluralidade de segmentos é configurado para transportar dados escritos para a supercélula de memória, e em que um segundo subconjunto da pluralidade de segmentos é configurado para transportar dados lidos a partir da supercélula de memória; em que, durante uma solicitação de escrita iniciada por um solicitador específico para escrever dados em uma localização de ar-mazenamento do primeiro grupo de bancos, dados a partir do solicita- dor específico são acionados em um percurso para uma primeira porta de acesso sem acionar dados em segmentos conectados a uma segunda porta de acesso, as primeira e segunda portas de acesso associadas com primeiro e segundo grupos de bancos da pluralidade de bancos de memória.
2. Circuito integrado, de acordo com a reivindicação 1, ca-racterizado pelo fato de que cada banco de memória da pluralidade de bancos de memória inclui um decodificador de endereço.
3. Circuito integrado, de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de que, durante uma solicitação de leitura iniciada por um solicitador específico para ler dados a partir da localização de armazenamento do primeiro grupo de bancos, dados são acionados em um percurso a partir da primeira porta de acesso para o solicitador específico sem acionar dados em segmentos conectados a outros da pluralidade de solicitadores.
4. Circuito integrado, de acordo com qualquer uma das rei-vindicações 1 a 3, caracterizado pelo fato de que a supercélula de memória é configurada de modo que dados que correspondem a solicitações endereçadas para as localizações de armazenamento de um primeiro subconjunto da pluralidade de bancos de memória são providos exclusivamente através de uma primeira porta de acesso e de modo que dados que correspondem a solicitações endereçadas para as localizações de armazenamento de um segundo subconjunto da pluralidade de bancos de memória são providos exclusivamente através de uma segunda porta de acesso, e em que o circuito de comutação é configurado, em resposta a uma solicitação de memória por um dado solicitador de memória da pluralidade de solicitadores de memória, para conectar um primeiro percurso de dados correspondente entre o dado solicitador de memória e a primeira porta de acesso se a solicitação de memória for endereçada para uma localização de arma- zenamento do primeiro subconjunto da pluralidade de bancos de memória e para conectar um segundo percurso de dados entre o dado solicitador de memória e a segunda porta de acesso se a solicitação de memória for endereçada para uma localização de armazenamento do segundo subconjunto da pluralidade de bancos de memória.
5. Circuito integrado, de acordo com a reivindicação 4, ca-racterizado pelo fato de que a pluralidade de bancos de memória é organizada em uma rede bidimensional dentro da supercélula de memória, em que a rede bidimensional inclui pelo menos dois bancos de memória dispostos em uma primeira direção e pelo menos dois bancos de memória dispostos em uma segunda direção.
6. Circuito integrado, de acordo com a reivindicação 5, ca-racterizado pelo fato de que o primeiro subconjunto da pluralidade de bancos de memória é formado por um primeiro par de bancos de memória adjacentes em uma primeira linha da rede bidimensional, e em que o segundo subconjunto da pluralidade de bancos de memória é formado por um segundo par de bancos de memória adjacentes em uma segunda linha da rede bidimensional.
7. Circuito integrado de acordo com a reivindicação 6, ca-racterizado pelo fato de que a supercélula de memória inclui uma pluralidade de pares adicionais de bancos de memória adjacentes, em que a supercélula de memória é configurada de modo que dados que correspondem a solicitações endereçadas para as localizações de armazenamento de cada par adicional de bancos de memória adjacentes são providos exclusivamente através de uma porta de acesso correspondente adicional.
8. Circuito integrado, de acordo com qualquer uma das rei-vindicações 4 a 7, caracterizado pelo fato de que o primeiro subconjunto da pluralidade de bancos de memória está em proximidade física maior da primeira porta de acesso do que da segunda porta de aces- so, e em que o segundo subconjunto da pluralidade de bancos de memória está mais próximo da segunda porta de acesso do que da primeira porta de acesso.
9. Circuito integrado, de acordo com qualquer uma das rei-vindicações 1 a 8, caracterizado pelo fato de que a unidade de comutação inclui uma pluralidade de segmentos e uma pluralidade de circuitos de seleção cada um configurado para acoplar uns específicos da pluralidade de segmentos a um outro da pluralidade de segmentos, e em que a supercélula de memória inclui uma pluralidade de bancos de memória organizados em uma rede bidimensional dentro da supercélula de memória, em que a pluralidade de bancos de memória é dividida em uma pluralidade de grupos de bancos cada um incluindo um subconjunto correspondente da pluralidade de bancos de memória, em que cada um dos grupos de bancos é acoplado na unidade de comutação independentemente dos outros da pluralidade de grupos de bancos dentro da supercélula de memória, e o circuito integrado ainda compreendendo um controlador acoplado na unidade de comutação e cada um dos um ou mais solicitadores, em que responsive a uma solicitação de acesso de supercélula de memória a partir de um dos solicitadores, o controlador é configurado para fazer com que a unidade de comutação configure os circuitos de seleção para selecionar os segmentos que correspondem a um percurso entre aquele dos solicitadores e um grupo de bancos que corresponde a uma localização de ar-mazenamento associada com a solicitação.
10. Circuito integrado, de acordo com a reivindicação 9, ca-racterizado pelo fato de que cada um dos solicitadores é um núcleo de processador que inclui um cache de dados e um cache de instrução, em que o cache de dados e o cache de instrução de cada núcleo de processador são acoplados na unidade de comutação.
11. Circuito integrado, de acordo com a reivindicação 10, caracterizado pelo fato de que a supercélula de memória forma pelo menos parte de um cache de nível dois (L2).
12. Circuito integrado, de acordo com a reivindicação 9, ca-racterizado pelo fato de que um primeiro subconjunto da pluralidade de segmentos é configurado para transportar dados para a supercélula de memória, e em que um subconjunto diferente da pluralidade de segmentos é configurado para transportar dados a partir da supercélula de memória.
13. Método para operação de um circuito integrado tendo uma pluralidade de solicitadores de memória, uma supercélula de memória tendo uma pluralidade de bancos de memória, e um comutador acoplado entre a pluralidade de solicitadores de memória e a supercélula de memória, compreendendo as etapas de: responsive a uma solicitação de memória por um dado da pluralidade de solicitadores de memória, conectar um percurso de dados entre o dado solicitador de memória e uma porta de acesso dedicada de um específico de uma pluralidade de grupos de bancos da supercélula de memória endereçados pela solicitação de memória utilizando o comutador, em que cada um da pluralidade de grupos de banco inclui um subconjunto da pluralidade de bancos de memória e uma porta de acesso dedicada correspondente, caracterizado pelo fato de que o comutador inclui uma pluralidade de segmentos e uma pluralidade de circuitos de seleção, e em que a conexão de um percurso de dados compreende conectar eletricamente alguns específicos da pluralidade de segmentos no comutador a um outro da pluralidade de segmentos no comutador para formar um percurso entre um solicitador particular e ou a primeira ou segunda porta de acesso, em que um primeiro subconjunto da pluralidade de segmentos é configurado para transportar dados escritos para a supercélula de memória, e em que um segundo subconjunto da pluralidade de segmentos é configu- rado para transportar dados lidos a partir da supercélula de memória; e durante uma solicitação de escrita iniciada por um solicitador específico da pluralidade de solicitadores de memória para escrever dados em uma localização de armazenamento de um primeiro grupo de bancos, acionar dados a partir do solicitador específico em um percurso para uma primeira porta de acesso sem acionar dados em segmentos conectados a uma segunda porta de acesso, as primeira e segunda portas de acesso associadas com primeiro e segundo grupos de banco da pluralidade de bancos de memória.
14. Método, de acordo com a reivindicação 13, caracterizado pelo fato de que compreende ainda, durante uma solicitação de leitura iniciada pelo solicitador específico para ler dados a partir da localização de armazenamento do primeiro grupo de bancos, acionar dados em um percurso a partir da primeira porta de acesso para o solicitador específico sem acionar dados em segmentos conectados a outros da pluralidade de solicitadores.
15. Método, de acordo com a reivindicação 13 ou 14, ca-racterizado pelo fato de que ainda compreende: prover dados que correspondem a solicitações endereçadas para as localizações de armazenamento de um primeiro subconjunto da pluralidade de bancos de memória exclusivamente através de uma primeira porta de acesso; e prover dados que correspondem a solicitações endereçadas para as localizações de armazenamento de um segundo subconjunto da pluralidade de bancos de memória exclusivamente através de uma segunda porta de acesso.
BRPI1008499-1A 2009-02-13 2010-02-12 Circuito integrado e método para operação de um circuito integrado tendo uma pluralidade de solicitadores de memória BRPI1008499B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/371,363 US8036061B2 (en) 2009-02-13 2009-02-13 Integrated circuit with multiported memory supercell and data path switching circuitry
US12/371,363 2009-02-13
PCT/US2010/024021 WO2010093868A1 (en) 2009-02-13 2010-02-12 Integrated circuit with multiported memory supercell and data path switching circuitry

Publications (2)

Publication Number Publication Date
BRPI1008499A2 BRPI1008499A2 (pt) 2016-03-08
BRPI1008499B1 true BRPI1008499B1 (pt) 2020-10-06

Family

ID=42559800

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI1008499-1A BRPI1008499B1 (pt) 2009-02-13 2010-02-12 Circuito integrado e método para operação de um circuito integrado tendo uma pluralidade de solicitadores de memória

Country Status (9)

Country Link
US (1) US8036061B2 (pt)
EP (1) EP2396886A4 (pt)
JP (1) JP5162024B2 (pt)
KR (1) KR101183739B1 (pt)
CN (1) CN101971498B (pt)
BR (1) BRPI1008499B1 (pt)
HK (1) HK1152807A1 (pt)
RU (1) RU2481652C1 (pt)
WO (1) WO2010093868A1 (pt)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012061048A1 (en) * 2010-11-04 2012-05-10 Rambus Inc. Techniques for storing data and tags in different memory arrays
US9514069B1 (en) * 2012-05-24 2016-12-06 Schwegman, Lundberg & Woessner, P.A. Enhanced computer processor and memory management architecture
TWI550403B (zh) * 2013-04-02 2016-09-21 晨星半導體股份有限公司 記憶體控制器及其記憶體位址產生方法
KR101533685B1 (ko) 2013-11-29 2015-07-03 숭실대학교산학협력단 다중 프로세서용 메모리 장치 및 이를 포함하는 메모리 시스템
US10949546B2 (en) * 2017-08-02 2021-03-16 Samsung Electronics Co., Ltd. Security devices, electronic devices and methods of operating electronic devices
US11921637B2 (en) 2019-05-24 2024-03-05 Texas Instruments Incorporated Write streaming with cache write acknowledgment in a processor
KR20210122461A (ko) * 2020-04-01 2021-10-12 에스케이하이닉스 주식회사 메모리 시스템의 입출력 성능을 향상시키는 장치 및 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06202949A (ja) * 1993-01-06 1994-07-22 Yokogawa Electric Corp マルチプロセッサ・キャッシュ制御装置
JP3560266B2 (ja) * 1995-08-31 2004-09-02 株式会社ルネサステクノロジ 半導体装置及び半導体データ装置
JP2002523901A (ja) * 1998-08-18 2002-07-30 インフィネオン テクノロジース アクチエンゲゼルシャフト 表面被覆部を有する半導体チップ
US6108233A (en) * 1999-08-27 2000-08-22 Lucent Technologies Inc. Ultra low voltage static RAM memory cell
GB2373595B (en) * 2001-03-15 2005-09-07 Italtel Spa A system of distributed microprocessor interfaces toward macro-cell based designs implemented as ASIC or FPGA bread boarding and relative common bus protocol
US6789155B2 (en) * 2001-08-29 2004-09-07 Micron Technology, Inc. System and method for controlling multi-bank embedded DRAM
US6769050B1 (en) * 2001-09-10 2004-07-27 Rambus Inc. Techniques for increasing bandwidth in port-per-module memory systems having mismatched memory modules
US6621752B2 (en) * 2001-10-03 2003-09-16 Infineon Technologies Aktiengesellschaft Refreshing scheme for memory cells a memory array to increase performance of integrated circuits
DE10245037B4 (de) * 2002-09-26 2007-08-23 Infineon Technologies Ag Verfahren zum Entwurf von DRAM-Halbleiter-Speicherbauelementen
US7571287B2 (en) * 2003-03-13 2009-08-04 Marvell World Trade Ltd. Multiport memory architecture, devices and systems including the same, and methods of using the same
JP2004355271A (ja) * 2003-05-28 2004-12-16 Toshiba Corp データ転送システム
JP4336848B2 (ja) * 2004-11-10 2009-09-30 日本電気株式会社 マルチポートキャッシュメモリ及びマルチポートキャッシュメモリのアクセス制御方式
JP4989872B2 (ja) * 2005-10-13 2012-08-01 ルネサスエレクトロニクス株式会社 半導体記憶装置および演算処理装置
KR100655081B1 (ko) * 2005-12-22 2006-12-08 삼성전자주식회사 가변적 액세스 경로를 가지는 멀티 포트 반도체 메모리장치 및 그에 따른 방법
US7600081B2 (en) * 2006-01-18 2009-10-06 Marvell World Trade Ltd. Processor architecture having multi-ported memory
US7817470B2 (en) * 2006-11-27 2010-10-19 Mosaid Technologies Incorporated Non-volatile memory serial core architecture

Also Published As

Publication number Publication date
RU2011137523A (ru) 2013-04-10
EP2396886A1 (en) 2011-12-21
EP2396886A4 (en) 2015-09-02
JP5162024B2 (ja) 2013-03-13
JP2011517219A (ja) 2011-05-26
RU2481652C1 (ru) 2013-05-10
CN101971498A (zh) 2011-02-09
KR20100127317A (ko) 2010-12-03
BRPI1008499A2 (pt) 2016-03-08
US20100208540A1 (en) 2010-08-19
US8036061B2 (en) 2011-10-11
HK1152807A1 (en) 2012-03-09
KR101183739B1 (ko) 2012-09-17
CN101971498B (zh) 2014-05-07
WO2010093868A1 (en) 2010-08-19

Similar Documents

Publication Publication Date Title
US9921751B2 (en) Methods and systems for mapping a peripheral function onto a legacy memory interface
BRPI1008499B1 (pt) Circuito integrado e método para operação de um circuito integrado tendo uma pluralidade de solicitadores de memória
KR102068101B1 (ko) 하이브리드 메모리 큐브 시스템 상호 접속 디렉토리-기반 캐시 일관성 방법론
US7490200B2 (en) L2 cache controller with slice directory and unified cache structure
US5508968A (en) Dynamic random access memory persistent page implemented as processor register sets
US7366841B2 (en) L2 cache array topology for large cache with different latency domains
BR102020019664A2 (pt) Dispositivo de memória e método para reparar uma memória
US8832508B2 (en) Apparatus and methods for testing writability and readability of memory cell arrays
WO2019068012A1 (en) METHOD AND APPARATUS FOR SPECIFYING READ VOLTAGE SHIFTS FOR READING CONTROL
JP2648548B2 (ja) コンピュータ・メモリ
CN114625314A (zh) 与存储相关数据的节点一致性
BR112014011806B1 (pt) memória configurada para prover acesso de leitura/gravação simultânea para múltiplos bancos
EP4202704A1 (en) Interleaving of heterogeneous memory targets
TW200928751A (en) An optimal solution to control data channels
US8468433B2 (en) Optimizing the size of memory devices used for error correction code storage
US9496009B2 (en) Memory with bank-conflict-resolution (BCR) module including cache
US8331133B2 (en) Apparatuses for register file with novel bit cell implementation
US20230282259A1 (en) Multi-deck non-volatile memory architecture with improved address line driver circuitry
US20230092848A1 (en) Multi-deck non-volatile memory architecture with reduced termination tile area
JP5973508B2 (ja) Dramアーキテクチャのアドレッシング中に節電を実施するための構造及び方法
US11221794B2 (en) Memory array element sparing
US20230393978A1 (en) Half latch level shifting circuit for non-volatile memory architectures
Zokaee Bio-Specific Hardware Accelerators: From Emerging Devices to Bio-Informatics Applications

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B07A Technical examination (opinion): publication of technical examination (opinion) [chapter 7.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 06/10/2020, OBSERVADAS AS CONDICOES LEGAIS.