BRPI0711731A2 - dispositivo hìbrido de memória com interface única - Google Patents

dispositivo hìbrido de memória com interface única Download PDF

Info

Publication number
BRPI0711731A2
BRPI0711731A2 BRPI0711731-0A BRPI0711731A BRPI0711731A2 BR PI0711731 A2 BRPI0711731 A2 BR PI0711731A2 BR PI0711731 A BRPI0711731 A BR PI0711731A BR PI0711731 A2 BRPI0711731 A2 BR PI0711731A2
Authority
BR
Brazil
Prior art keywords
memory
type
controller
data
interface
Prior art date
Application number
BRPI0711731-0A
Other languages
English (en)
Inventor
Ruston Panabaker
Jack Creasy
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of BRPI0711731A2 publication Critical patent/BRPI0711731A2/pt

Links

Classifications

    • 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/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • 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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/205Hybrid memory, e.g. using both volatile and non-volatile memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/005Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
    • 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/104Embedded memory devices, e.g. memories with a processing device on the same die or ASIC memory designs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)
  • Dram (AREA)

Abstract

DISPOSITIVO HìBRIDO DE MEMóRIA COM INTERFACE úNICA. é descrita uma tecnologia através da qual um controlador de memória é um componente de um dispositivo híbrido de memória tendo diferentes tipos de memória no mesmo (por exemplo, SDRAM e memória flash), no qual o controlador opera de tal modo que o dispositivo de memória tem apenas uma única interface de memória com relação à voltagem e protocolos de acesso definidos para um tipo de memória. Por exemplo, o controlador permite que um dispositivo de memória com uma interface SDRAM padrão proporcione acesso a ambos, memória não-volátil e SDRAM com a memória não-volátil sobreposta em um ou mais blocos designados do espaço de endereço de memória volátil (ou vice-versa). Um protocolo de comando mapeia páginas de memória para o espaço de endereço de interface de memória volátil, por exemplo, permitindo que um pacote de múltiplos chips compatíveis com pino único substitua um dispositivo de memória volátil existente em qualquer dispositivo de computação que deseje prover armazenamento não-volátil, enquanto exigindo apenas mudanças de software ao dispositivo para acessar o flash.

Description

"DISPOSITIVO HÍBRIDO DE MEMÓRIA COM INTERFACE ÚNICA"
ANTECEDENTES
Diversos dispositivos de computação existentes e novos fazem uso de memória vo- látil de alta velocidade (por exemplo, memória de acesso aleatório dinâmica, ou DRAM) para manter instruções de dados de operação. Tais dispositivos incluem telefones móveis, apare- lhos de conversão de sinal de televisão, memória de computador pessoal, e assim por dian- te. Cada vez mais os dispositivos de computação estão incluindo grandes quantidades de memória flash NAND não-voláteis relativamente não-dispendiosas para armazenar aplicati- vos e dados.
Contudo, muitos dispositivos de computador baseados em DRAM existentes são projetados sem as interfaces de barramento apropriadas para suportar memória flash NAND; para suportar memória flash NAND é exigido um remodelamento dispendioso e pro- longado do chipset do dispositivo. Similarmente, a maioria dos dispositivos baseados em memória flash NAND não pode simplesmente adicionar o RAM. Mudanças significativas em uma arquitetura física do dispositivo são exigidas para colocar a memória flash em um mo- delo atualizado do que ora um dispositivo baseado em DRAM, por exemplo, ou vice-versa.
Embora uma combinação de memória volátil e não-volátil proporcione vantagens e muitas situações, freqüentemente o custo de remodelar um chipset de dispositivo é muito dispendioso/arriscado para um fornecedor, pelo que o fornecedor se abstém de novos re- cursos e modelos de negócio que de outro modo seriam habilitados pelo fato de ter memória volátil e não-volátil em um dispositivo. Além disso, não existe uma forma direta de usar os modelos arquiteturais existentes e, por exemplo, atualizar um dispositivo baseado em DRAM existente com memória flash NAND; por exemplo, uma placa de circuito inteira precisaria ser remodelada e substituída, em vez de simplesmente adicionar memória ou mudar a memória em um dispositivo existente (e software de atualização conforme apropriado). Além disso, existe uma grande diferença nas velocidades de barramento entre memória não-volátil e memória baseada em DRAM.
SUMÁRIO
Esse Sumário é provido para introduzir uma seleção de conceitos representativos em uma forma simplificada que são descritos adicionalmente abaixo na Descrição Detalha- da. Esse Sumário não pretende identificar características fundamentais ou características essenciais da matéria reivindicada, nem pretende ser usado de qualquer forma que limitaria o escopo da matéria reivindicada.
Resumidamente, vários aspectos da presente matéria aqui descrita são dirigidos a um dispositivo híbrido de memória que inclui um primeiro tipo de memória (por exemplo, memória do tipo DRAM volátil) e uma interface correspondendo ao primeiro tipo de memó- ria, e um segundo tipo de memória (por exemplo, memória do tipo flash não-volátil). O dís- positivo de memória inclui um controlador que é acoplado à interface, ao primeiro tipo de memória e ao segundo tipo de memória. Com base na informação tais como comandos e/ou endereços de memória recebidos na interface, o controlador determina se um comando tal como uma solicitação E/S (por exemplo, uma leitura ou gravação) é dirigida ao primeiro tipo de memória ou ao segundo tipo de memória.
Desse modo, mediante recebimento dos comandos, endereços e dados em um controlador do dispositivo híbrido de memória, diferentes tipos de memória podem ser aces- sados pelo software (por exemplo, firmware de dispositivo ou um programa) por intermédio de uma única interface definida para um tipo de memória. O controlador inclui lógica que determina se um comando/endereço recebido na interface de um primeiro tipo de memória é dirigido a um segundo tipo de memória associado ao dispositivo de memória, e se esse for o caso, emite sinais para o segundo tipo de memória para comunicar ao menos um comando ao segundo tipo de memória e/ou para realizar ao menos uma operação de entrada/saída (E/S) de dados no segundo tipo de memória.
Outras vantagens podem se tornar evidentes a partir da descrição detalhada se- guinte quando considerada em conjunto com os desenhos.
DESCRIÇÃO RESUMIDA DOS DESENHOS
A presente invenção é ilustrada como exemplo e não é limitada nas figuras anexas nas quais numerais de referência semelhantes indicam elementos semelhantes e nas quais:
A Figura 1 mostra um exemplo ilustrativo de um dispositivo de computação em que vários aspectos da presente invenção podem ser incorporados.
A Figura 2 é uma representação de um dispositivo híbrido de memória exemplar in- cluindo um controlador e dois tipos de memória que são individualmente acessíveis por uma única interface definida por um dos tipos de memória.
A Figura 3A é uma representação de um dispositivo híbrido de memória exemplar com uma interface SDRAM com memória SDRAM e flash que é acessada por intermédio de um bloco de memória designado no espaço endereçável de SDRAM.
A Figura 3B é uma representação de um dispositivo híbrido de memória, exemplar com uma interface de SDRAM com memória SDRAM e flash que é acessada por intermédio de uma pluralidade de blocos de memória designados no espaço endereçável de SDRAM.
A Figura 4 é uma representação de um espaço de memória endereçável corres- pondendo a um primeiro de memória com seções usadas para comunicar dados e coman- dos com um segundo tipo de memória.
A Figura 5 é uma representação exemplar de um tipo adequado de dispositivo de SDRAM que pode ser incorporado em um dispositivo híbrido de memória.
A Figura 6 é uma representação exemplar de um dispositivo híbrido de memória com uma interface SDRAM contendo um dispositivo de SDRAM tal como o dispositivo da Figura 5 e um dispositivo flash.
A Figura 7 é uma representação exemplar de um diagrama de temporização para controlar um dispositivo de SDRAM e um dispositivo flash.
A Figura 8 é uma representação de etapas exemplares correspondendo a como o controlador pode produzir dados flash para o dispositivo SDRAM configurado para saída de dados em rajada.
A Figura 9 é uma representação de como a memória flash pode ser adicionada a um módulo de memória em linha dual (DIMM) para adicionar memória de computador pes- soal baseada em DRAM (incluindo SDRAM).
DESCRIÇÃO DETALHADA
AMBIENTE DE OPERAÇÃO EXEMPLAR
A Figura 1 ilustra um exemplo de alguns componentes funcionais adequados de um dispositivo de computação 188, tal como pode ser encontrado em assistentes pessoais digi- tais de mão/de bolso/do tipo mesa gráfica, aparelho, telefone móvel e assim por diante, in- cluindo um processador 189, uma memória 190, um display 192, e um teclado 193 (o qual pode ser um teclado físico ou virtual). A memória 190 inclui geralmente não somente memó- ria volátil (por exemplo, RAM) como também memória não-volátil (por exemplo, RAM, car- tões PCMCIA, e assim por diante). Além disso, conforme descrito abaixo, a memória exem- plar 190 inclui um dispositivo híbrido de memória (correspondendo a um ou mais chips) que contém mais do que um tipo de memória, tal como flash e DRAM ou flash e SDRAM (DRAM síncrona), na qual um dos tipos compartilha a interface do outro. Um sistema operacional 193 pode ser residente na memória 190 e executar no processador 189, tal como um siste- ma operacional baseado no Microsoft® Windows®, ou outro sistema operacional.
Um ou mais programas de aplicação 194 e dados 195 podem estar na memória 190, por exemplo, com os programas 194 executando no sistema operacional 193. Exem- plos de aplicações incluem programas de correio eletrônico, programas de programação, programas PIM (gerenciamento de informação pessoal), programas de processamento de texto, programas de planilha, programas de navegador da Internet, e assim por diante. O dispositivo de computação 188 também pode incluir outros componentes 196, tal como um gerenciador de notificação carregado na memória 190, o qual executa no processador 189. O gerenciador de notificação, por exemplo, pode processar solicitação de notificação, por exemplo, a partir dos programas de aplicação 195.
O dispositivo de computação 188 tem uma fonte de energia 197, por exemplo, im- plementada como uma ou mais baterias ou um sistema ativado pela luz. A fonte de energia 197 pode incluir ainda uma fonte de energia externa que anula ou recarrega as baterias em- butidas, tal como um adaptador AC ou um berço de suporte acionado por energia.
O dispositivo de computação exemplar 188 representado na Figura 1 é mostrado com três tipos exemplares de dispositivos externos de saída, incluindo o display 192, outros mecanismos de saída 198 (por exemplo, o um ou mais diodos de emissão de luz, ou LEDs) e um gerador de áudio 199, por exemplo, alto-falantes acoplados ou integrados e/ou a uma tomada de áudio. Um ou mais desses dispositivos de saída pode ser acoplado diretamente à fonte de energia 197 de modo que quando ativado, ele permanece ligado por uma duração determinada por um mecanismo de notificação embora o processador 189, e outros compo- nentes, poderiam desligar para conservar a energia da bateria. Por exemplo, um LED pode permanecer ligado (desde que alguma energia esteja disponível) até que o usuário realize a ação. Outros podem ser configurados para desligar quando o restante do sistema desliga ou em alguma duração finita após ativação.
DISPOSITIVO HÍBRIDO DE MEMÓRIA COM INTERFACE ÚNICA
Vários aspectos da tecnologia descrita aqui são geralmente dirigidos à expansão de uma memória de um dispositivo de computação (tal como o dispositivo 188) com relação a ter quantidades relativamente grandes de memória volátil e não-volátil no dispositivo de computação, sem requerer mudanças em uma arquitetura física existente daquele dispositi- vo de computação. Em geral, a presente descrição provê exemplos de incorporação de memória flash NAND em um dispositivo baseado em SDRAM mediante adição ou substitui- ção de um dispositivo híbrido de memória (por exemplo, compreendendo um ou mais chips) contendo SDRAM e a flash NAND, no qual o dispositivo híbrido de memória tem a mesma interface (incluindo pinagem, protocolo de voltagem, e protocolo de acesso) como um com- ponente SDRAM convencional. Contudo, como será entendido, esses aspectos e conceitos se aplicam a qualquer tipo ou tipos de memória volátil e/ou não-volátil, por exemplo, diver- sos tipos de DRAM (por exemplo, EDO) podem ser usados em vez de SDRAM, DRAM ou a SDRAM pode ser incorporada inversamente em um dispositivo baseado em flash, memória flash baseada em NOR pode ser misturada com SDRAM e/ou com flash baseada em NAND, RAM estática (SRAM) ou outros tipos de RAM podem ser um dos tipos de memória, mais memórias voláteis podem ser adicionadas em vez de um dispositivo de memória volátil existente, mais memórias não-voláteis podem ser adicionadas em vez de um dispositivo de memória não-volátil existente, e assim por diante. Observar que a incorporação de diferen- tes tipos de memória em um dispositivo híbrido de memória (com uma interface que comu- mente corresponde a tipo original de memória para um determinado modelo) tipicamente acrescenta memória total a um dispositivo, mas não precisa necessariamente aumentar (e se desejado pelo projetista pode diminuir) a quantidade do tipo original de memória e/ou a quantidade total de memória.
Além disso, como se entenderá, os conceitos aqui descritos não são limitados ao que é considerado como dispositivos de computação convencionais (por exemplo, sistemas de computador de mesa, notebook, laptop, ou baseados em mesa gráfica, assistentes digi- tais pessoais, computadores pessoais de bolso, ou semelhantes), mas mais propriamente podem ser usados em qualquer dispositivo que tenha a necessidade de armazenar dados em memória volátil, ou não-volátil, incluindo os telefones móveis; aparelhos de conversão de sinais; discos rígidos híbridos; aparelhos de televisão; controles remotos; dispositivos audio- visuais; aparelhos elétricos; aparelhos domésticos; e assim por diante. Cada um desses dispositivos pode acrescentar memória não-volátil a um modelo de memória volátil, ou vice- versa, ou aumentar a memória, sem remodelagens de hardware dispendiosas e arriscadas. Dessa maneira, por exemplo, um dispositivo com memória volátil tal como um telefone mó- vel pode ter grandes quantidades de armazenamento não-volátil no mesmo tal como para armazenar programas, música, imagens, e assim por diante, simplesmente mediante substi- tuição de um chip de memória (ou múltiplos chips de memória), e atualizando algum firmwa- re para operar com o armazenamento não-volátil, conforme descrito abaixo.
Como tal, a presente invenção não é limitada aos exemplos, estruturas ou funciona- lidade aqui descrita. Mais propriamente, qualquer um dos exemplos, estruturas ou funciona- lidades aqui descritas são não-limitadores, e a presente invenção pode ser usada de diver- sas formas que proporcionem benefícios e vantagens em computação e armazenamento de dados em geral.
De acordo com a Figura 2 dos desenhos, é mostrado um conceito exemplar geral de um dispositivo híbrido de memória 202 incluindo memória volátil 204 (por exemplo, SDRAM) e memória não-volátil 206 (por exemplo, flash NAND). Um controlador 208 contém a lógica que determina qual das memórias 204 ou 206 deve acessar, com base nos endere- ços e comandos, por exemplo, originados em firmware/software e endereçados através de uma CPU.
Conforme representado na Figura 2, o controlador 208 pode incluir ou de outro mo- do ser associado a um conjunto de armazenamento 210 compreendendo um ou mais arma- zenadores, os quais em uma implementação são usados para fins de equiparação e veloci- dade. Por exemplo, no presente, a SDRAM é significativamente mais rápida do que flash, e desse modo um chip de memória híbrida que tenha uma interface que aparece para os componentes externos como sendo um dispositivo SDRAM necessita armazenar os dados no conjunto de armazenador 210 (por exemplo, SDRAM, DRAM ou SRAM) para estar de acordo com o protocolo SDRAM com relação às exigências de velocidade e saída, incluindo exigências do modo em rajada. Desse modo, o conjunto de armazenador 210 compreende tipicamente memória tal como SDRAM ou RAM estática (SRAM) que é ao menos tão rápida quanto um chip SDRAM determinado e seu protocolo requer, ao contrário, que o dispositivo híbrido às vezes pareça para os componentes externos como sendo memória ruim. Obser- var que um dispositivo híbrido de memória que adicionou memória rápida (por exemplo, SDRAM) a uma interface mais lenta (por exemplo, flash) não necessariamente precisaria de tal armazenador.
A Figura 3A mostra um conceito exemplar de como um dispositivo híbrido de me- mória 302A opera geralmente, no qual memória flash 306 é arranjada como certo número de blocos (por exemplo, blocos F-1 a F-n) e é acessada através de uma interface SDRAM. O dispositivo híbrido de memória 302A inclui também um dispositivo SDRAM 304. Conforme descrito abaixo, um controlador on-chip 308A (por exemplo, correspondendo ao controlador 208 da Figura 2) determina qual seção da SDRAM 304 ou flash deve acessar com relação a um endereço atual originado na CPU 389. Em geral, o controlador 380A recebe comandos, dados e endereços a partir da CPU 389 que são produzidos de acordo com o protocolo SDRAM convencional. Observar que não é exigido que a CPU conheça qualquer coisa so- bre os diferentes tipos de memória no chip híbrido, e opera como normal através de seu barramento baseado em SDRAM existente.
Na Figura 3A, o controlador 308 inclui lógica que pode detectar os endereços envi- ados para as linhas de endereço SDRAM do dispositivo híbrido que são parte de sua inter- face. Alguns dos endereços na faixa de endereços endereçáveis correspondem a SDRAM, e para esses endereços, o controlador 308A permite que os endereços, comandos e dados sejam processados pelo dispositivo SDRAM 304 (por exemplo, envia os uns e zeros equiva- lentes ou não desabilita o dispositivo em termos de visualizar os uns e zeros). Como um resultado desses endereços o dispositivo híbrido atua como um dispositivo SDRAM conven- cional.
Certos endereços na faixa endereçável, contudo, (compreendendo tipicamente uma faixa contígua referida como um bloco designado 320) são conhecidos do controlador 308 para serem associados com o flash, e essencialmente atuam como uma janela para a me- mória flash 306. Por exemplo, o bloco designado pode corresponder ao tamanho de bloco flash, por exemplo, 128 KB em um tipo de dispositivo flash. Quando os endereços dentro do bloco designado 320 são transferidos, o dispositivo SDRAM 304 é desabilitado (realmente ou efetivamente) pelo controlador 308. O controlador 308 em vez disso envia os comandos para o dispositivo de memória flash 306, ou controla o fluxo de dados de leitura e gravação para o dispositivo de memória flash 306. Dependendo do modelo, o controlador 308 pode desabilitar o componente SDRAM 304 mediante mudança de uma linha de entrada de dis- positivo apropriado (por exemplo, habilitação de chip) do dispositivo 304 para desabilitar, mas não enviar os endereços recebidos para o dispositivo 304, e/ou mediante envio dos endereços (por exemplo, se necessário para renovação), mas não permitindo gravações de dados ou retorno de quaisquer dados para uma leitura.
Observar que a quantidade de flash 306 não é limitada ao tamanho do bloco desig- nado 320; mais propriamente pode haver múltiplos blocos flash (ou outros arranjos de me- mória flash), com o controlador 308 acessando cada bloco ou semelhante de acordo com informação de mapeamento adicional que identifica qual parte (por exemplo, bloco) do flash total 306 deve ser acessado. Essa informação de mapeamento adicional pode ser gravada em outros locais de memória conhecidos do controlador 308, por exemplo, na extremidade superior da memória endereçável, (ou possivelmente como um suplemento para o bloco designado). Firmware 330, já presente em essencialmente todos os dispositivos de compu- tação, pode ser atualizado para ler e gravar essa informação de acordo com um protocolo adequado por intermédio da CPU 389, (conforme representado na Figura 3A pelas linhas tracejadas a partir do firmware 330 através da CPU 389 para o controlador 308A; dessa ma- neira, comandos, dados e informação de status 332 podem ser comunicados entre o firmwa- re de dispositivo 330 (e/ou outro código solicitante, em seguida referido como o firmware 330 para simplicidade), e o dispositivo híbrido de memória 302A.
A Figura 3B é uma representação de um conceito similar àquele da Figura 3A, ex- ceto que na Figura 3B o controlador alternativo 308B pode ter múltiplos armazenadores 31 Ο- Ι e 310-2 correspondendo a múltiplas janelas 320A e 320B, separadamente mapeadas para múltiplos blocos flash (por exemplo, atualmente bloco flash A1 e bloco flash BO na Figura 3B). Como pode ser prontamente considerado, embora apenas dois de tais acessos parale- los (e desse modo tipicamente mais rápidos) para os dispositivos de memória flash sejam mostrados na Figura 3B, qualquer número prático pode ser usado.
Como exemplo de como o controlador mapeia a janela (Figura 3A) ou janelas (Figu- ra 3B) para a seção ou seções corretas de flash, a Figura 4 mostra uma faixa de endereços linearmente representados 440 correspondendo à faixa de um dispositivo SDRAM conven- cional, o qual nesse exemplo é de 4 Mwords por 16 bits. Para fins de simplicidade, o mape- amento será descrito com relação ao único bloco designado 320 da Figura 3A, contudo, po- de ser prontamente entendido que mapeamento separado pode ser realizado essencialmen- te da mesma maneira.
No exemplo da Figura 4, os últimos dois blocos correspondendo ao espaço de en- dereço SDRAM são usados pelo controlador 308 e firmware 330 como um canal de coman- do 444 e canal de dados 442 para o dispositivo de memória flash 306. O mapeamento e outra informação 332 (Figura 3) nesses blocos 442 e 444 podem ser lidos e gravados pelo controlador 308 por intermédio de qualquer protocolo adequado entendido pelo controlador 308 e a fonte daquela informação adicional (por exemplo, código de firmware 330). Desse modo, mediante acesso da informação adicional 332 (ou 333 na Figura 3B) no controlador 308, por exemplo, os últimos dois blocos de palavras de um quilobyte, comando e percursos de dados para comunicação com o dispositivo flash 306 são estabelecidos. Outra informa- ção também pode estar nesses espaços. Por exemplo, o firmware de dispositivo 330 pode usar essa seção da memória para empregar um protocolo de inicialização através do qual o firmware 330 pode determinar se o dispositivo de memória é verdadeiramente um dispositi- vo híbrido, porque em geral o dispositivo híbrido de memória 302A da Figura 3 de outro mo- do seria indistinguível a partir de um dispositivo SDRAM convencional. Outros dados possí- veis comunicados por intermédio desses blocos podem, por exemplo, informar o controlador 308A onde o bloco designando 320 está (ou blocos na Figura 3B estão) localizado dentro da memória endereçável; por exemplo, dessa maneira, os blocos designados podem se mover, incluindo dinamicamente, se desejado.
Voltando-se para uma explanação da operação de um dispositivo exemplar de me- mória híbrida, um protocolo de comando adequado compreende um protocolo serial usado para transferir informação de comando e bloco de endereço (por exemplo, 332 na Figura 3A) para o dispositivo flash. Observar que como o controlador 308A é responsável pela con- versão da informação de comando e endereço, o protocolo é configurável para acessar dife- rentes tipos de dispositivos flash; por exemplo, um tipo de dispositivo NAND utiliza uma in- terface NOR SRAM, pelo que a lógica e controle acessa blocos de dados, os quais são en- tão serializados para acomodar o protocolo de entrega de dados SDRAM. Dados de grava- ção para o flash 306 similarmente serão convertidos pelo controlador 308A conforme exigido pelo protocolo flash, por exemplo, 2 KB são gravados de uma vez para tal dispositivo flash.
Como pode ser prontamente considerado, como a SDRAM é atualmente uma ou mais ordens de magnitude mais rápida do que flash, o protocolo inclui uma forma para o controlador 308A sinalizar para o firmware 330 quando uma solicitação de leitura ou grava- ção flash está ocupada e quando a solicitação está pronta. Um registrador de status na loca- lização 332 pode ser utilizado. Por exemplo, o firmware 330 envia um comando de leitura ou gravação por intermédio do bloco de comando 332; o status, o qual pode ser um bit que faz parte do comando, é ajustado pelo controlador a partir do recebimento de uma solicitação flash para zero para indicar ocupado. Observar que o controlador 308A não precisa mudar o status para ocupado se em uma solicitação de leitura o controlador 308A tem conhecimento de que o bloco designado já contém os dados corretos para o mapeamento atual.
Em uma situação típica, o controlador 308A define o status como ocupado e para uma leitura, e começa o preenchimento do armazenador 310 com os dados solicitados. Quando o armazenador contém os dados corretos, (o qual pode ser mais do que solicitado antecipadamente de uma solicitação de leitura subseqüente), o controlador 308A alterna o status para pronto. O firmware 330, o qual está sondando o status desde que ele enviou a solicitação, então tem conhecimento de que os dados solicitados podem ser lidos, os quais o controlador 308A então emite a partir do armazenador 310. Por exemplo, de acordo com o protocolo SDRAM, o controlador emitirá um único conjunto de dados (por exemplo, byte) para o endereço solicitado se uma única saída for solicitada, ou uma saída em rajadas sin- cronizadas de múltiplos conjuntos de dados começando com aquele endereço, com o núme- ro de conjuntos emitidos correspondendo ao modo de rajada atual. Observar que o modo de rajada atual pode ser estabelecido por intermédio de uma configuração de conexão física, incluindo uma configuração que indica que o modo de rajada é controlado por software; de qualquer forma o modo é conhecido do controlador 308A por intermédio das linhas de confi- guração de SDRAM equivalente e/ou um comando (para rajada controlada por software).
As gravações são similarmente processadas, com os dados no bloco designado copiados pelo controlador 308A para o armazenador 310, onde o controlador provê um sinal de ocupado que é sondado pelo firmware até que a solicitação de gravação seja efetivamen- te completada pela gravação para o flash mais lento. Como com uma solicitação de leitura, para uma solicitação de gravação o dispositivo híbrido de memória 302A parece para a CPU 389 operar nas velocidades corretas de SDRAM, e a CPU não tem conhecimento de qual- quer sondagem de status ocorrendo entre o firmware 330 e o controlador 308A. Através do protocolo, a memória síncrona é assim operada adequadamente da perspectiva da CPU, mas é efetivamente operada de forma assíncrona da perspectiva da entidade solicitante.
Desse modo, mediante adição de um controlador de memória a um dispositivo hí- brido de memória compreendendo SDRAM e flash com uma interface SDRAM padrão, a memória flash é sobreposta no espaço de endereço SDRAM. Um protocolo de comando (por exemplo, serial) é usado para gerenciar o mapeamento dos blocos flash/páginas para o espaço de endereço SDRAM. Isso permite que um pacote de múltiplos chips compatíveis de pino único substitua um dispositivo SDRAM existente em qualquer dispositivo de computa- ção que pretenda prover armazenamento flash, ainda assim realizar isso apenas como mu- danças de firmware para o dispositivo. Por exemplo, o armazenador de uma unidade de disco convencional pode ser substituído por uma atualização de chip único que provê arma- zenamento flash, pelo que o armazenamento flash pode ser usado com novo firmware para atualizar as unidades existentes para unidades híbridas. Exemplos adicionais incluem adi- cionar armazenamento não-volátil a um modelo de aparelho de conversão de sinais de TV, ou um modelo de telefone móvel que foi projetado sem armazenamento de massa integrado no momento, mas que agora é desejável, por exemplo, devido a alguma nova aplicação ou modelo de negócio.
Como exemplo de uma arquitetura específica, as Figuras 5 e 6 demonstram o uso de dispositivos flash SDRAM e NAND efetivos, com a interface e os componentes internos configurados para um protocolo de voltagem SDRAM exemplar e protocolo de acesso SDRAM, pelo que apenas mudanças de software (por exemplo, em firmware de dispositivo) são necessários para agora fazer uso da memória não-volátil no pacote. Contudo, entende- se que essencialmente qualquer dispositivo com características de endereçamento, defini- das, pode ser usado. Observar que a arquitetura; nas Figuras 5 e 6; mostra o uso de percur- sos de dados de 16 bits, o qual é uma aplicação comum, embora como se pode prontamen- te considerar, outras larguras de percurso de dados funcionam da mesma maneira. Nesse exemplo, um pacote de múltiplos chips é descrito o qual pode substituir fisicamente o chip SDRAM em um dispositivo de computação, ainda assim incorpora não somente memória SDRAM volátil como também memória flash NAND não-volátil.
O dispositivo SDRAM 504 representado na Figura 5 compreende um dispositivo do modo em rajada (por exemplo, um dispositivo Micron® MT48LC4M16A2) suportando trans- ferências de 1 byte, 2 bytes, 8 bytes, ou página e, por exemplo, pode ser usado em um dis- positivo híbrido de memória 602 (Figura 6) que inclui dois gigabits de NAND Flash 606. Con- forme representado na arquitetura exemplar para o dispositivo SDRAM da Figura 5, como com um dispositivo SDRAM convencional, o dispositivo híbrido de memória aceita sinais RAS/CAS (o estrobo de acesso de linha e estrobo de acesso de coluna bem conhecidos) nas linhas de endereço (por exemplo, A0-A11, BA0-BA1), e para outros exceto leituras ou gravações de byte único, lê ou grava dados seqüencialmente a partir do endereço de partida RAS/CAS. Observar que o dispositivo de computação que usa esse tipo de memória arma- zena os dados serialmente acessados, o que é feito tipicamente pelo cache interno em mui- tos dispositivos de computação.
Como os dados são providos serialmente com base em um endereço de partida, o controlador de memória (latência relativamente baixa) 308 entre o hospedeiro (por exemplo, CPU) e a SDRAM 504 é capaz de detectar os endereços sendo enviados para o chip. Medi- ante detecção de faixas específicas de endereço, o CE# (habilitação) para a interface SDRAM pode ser usado para colocar o dispositivo 504 em um ciclo de renovação, com os dados providos por outra fonte.
Na Figura 5, a lógica de controle do controlador 308 detecta os endereços enviados para a SDRAM. Conforme descrito acima, quando os endereços dentro do bloco designado são transferidos, o controlador tem conhecimento de que a solicitação é para o flash; obser- var que nessa arquitetura exemplar, o dispositivo SDRAM é desabilitado ao se impedir que CE# passe para o dispositivo. A lógica de controle do controlador pode então ou enviar os comandos para o dispositivo flash 606, ou por intermédio de controle de lógica de transfe- rência de dados o fluxo de dados de leitura e gravação para o dispositivo flash. Observar que o fluxo de comando para o dispositivo SDRAM não é interrompido, e a inicialização do dispositivo de pacote de múltiplos chips requer apenas que a lógica de controle detecte o modo de rajada de operação para a SDRAM para entender as rajadas de dados a serem usadas ao transferir dados de flash para o barramento de dados de memória.
Desse modo, nessa arquitetura na qual os endereços são enviados para a SDRAM por intermédio de transferências RAS/CAS em um barramento de endereço separado, me- diante detecção dos ciclos RAS/CAS na lógica de controle, os comandos e dados podem ser transferidos para e a partir do flash 606 conforme apropriado. Um protocolo serial de gravações para o bloco de comando para o flash 606 permite que o protocolo para o dispo- sitivo flash seja suportado.
O dispositivo flash representado na Figura 6 (por exemplo, um dispositivo Micron® MT29F2G16yAABWP) tem um barramento multiplexado, pelo que E/S de dados, endereços, e comandos compartilham os mesmos pinos. Observar que os pinos E/S, E/S [15:8] são usados apenas para os dados na configuração x16, com os endereços e os comandos for- necidos em E/S[7:0]. A seqüência de comandos normalmente inclui um ciclo de retenção de comando, um ciclo de retenção de endereço, e um ciclo de dados, quer seja de leitura ou gravação. Os sinais de controle CE#, WE#, RE#, CLE, ALE e WP# controlam as operações de leitura e gravação do dispositivo flash. Observar que em um flash diferente, por exemplo, um dispositivo Micron® Gb Mt29F8G08FAB, CE# e CE2# controlam individualmente arran- jos independentes de 4Gb. O CE2# funciona da mesma forma como CE# para seu próprio arranjo, e as operações descritas para CE# também se aplicam a CE2#.
CE# é usado para habilitar o dispositivo. Quando CE# é baixo e o dispositivo não está no estado ocupado, a memória flash aceitará informação de comando, dados e endere- ço. Quando o dispositivo não estiver realizando uma operação, o pino de CE# é tipicamente acionado alto e o dispositivo entra no modo de espera. A memória entrará em espera se CE# for alto enquanto os dados tiverem sendo transferidos e o dispositivo não estiver ocu- pado. Isso ajuda a reduzir o consumo de energia.
A operação "Don't Care" do CE# permite que o NAND flash resida no mesmo bar- ramento de memória assíncrona, como outros dispositivos flash ou SRAM. Outros dispositi- vos no barramento de memória podem ser então acessados enquanto o Flash NAND estiver ocupado com operações internas. Essa capacidade é para projetos que requerem múltiplos dispositivos NAND no mesmo barramento, por exemplo, um dispositivo pode ser programa- do enquanto outro está sendo lido. Um sinal CLE alto indica que um ciclo de comando está ocorrendo. Um sinal ALE alto significa que um ciclo de entrada de endereço está ocorrendo.
Os comandos são gravados para o registrador de comandos na extremidade de elevação de WE# quando CE# e ALE estiverem BAIXOS, e CLE estiver alto e o dispositivo não estiver ocupado. Exceções para isso são o status de leitura e os comandos de reinicialização.
Com esse componente específico, os comandos são transferidos para o registrador de comandos na extremidade em elevação de WE#; comandos introduzidos nas linhas E/S[7:0] apenas. Para dispositivos com uma interface x16, linhas E/S[15:8] precisam ser gravados com zeros ao se emitir um comando. Os endereços são gravados para o registra- dor de endereço na extremidade de elevação de WE# quando o CE# e o CLE estiverem baixos, e o ALE estiver alto e o dispositivo não estiver ocupado. Os endereços são introdu- zidos apenas em E/S[7:0]; para dispositivos com uma interface x16, E/S[15:8] precisa ser gravado com zeros ao se emitir um endereço. Geralmente todos os cinco ciclos de endereço são gravados para o dispositivo. Uma exceção para isso é o comando de apagar bloco, o qual requer apenas três ciclos de endereço.
O dispositivo flash aqui exemplificado é um dispositivo multiplexado, pelo que o en- dereço, comandos e dados fluem através de uma interface simples de 16 bits de uma forma serial. A Figura 7 exemplifica a natureza serial da temporização de protocolo de transferên- cia de dados e comando de endereço para o dispositivo flash exemplificado. Observar que o endereço, os comandos e os dados são enviados a partir da interface SDRAM (a qual não é multiplexada) mediante gravação seqüencialmente para os blocos de dados e comandos.
Conforme descrito acima, mediante detecção de gravações para o bloco de co- mandos no espaço de endereço da SDRAM, os dados exigidos podem ser transferidos para o dispositivo flash pelo controlador 508. A transferência de endereço mostrada acima pode ser expandida para mostrar a transferência de informação de endereço para o dispositivo flash. Como também descrito acima, a informação de endereço para a memória flash é transferida mediante realização de múltiplas gravações para o endereço de bloco de co- mando na SDRAM. Dados de SDRAM nessa área são indisponíveis, uma vez que o disposi- tivo seria selecionado para essas gravações. Dessa forma serial a informação de comando e dados de endereço pode ser gravada e lida a partir do dispositivo flash. A lógica de contro- le implementa protocolos de comando adicionais conforme descrito acima, por exemplo, para permitir que o dispositivo flash seja isolado das considerações de velocidade do dispo- sitivo SDRAM. Por exemplo, mediante armazenamento do status do dispositivo flash na ló- gica de controle, respostas de comando adicionais que indicam status de ocupado e de exe- cução podem ser adicionadas ao protocolo serial. Os dados e status retornados a partir do dispositivo flash são armazenados em um pequeno bloco de SRAM na lógica de transferên- cia de dados, de modo que a velocidades de leitura e gravação para flash coincidem com aquelas das SDRAM.
Um exemplo típico de transferência serial para o dispositivo flash é representado na Figura 8, a qual representa leituras e gravações exemplares pelo firmware 330 para o espa- ço de endereço SDRAM 332 (Figura 3) que é reservado para controlar o flash 306. Em ge- ral, o firmware envia um comando flash na etapa 802 mediante gravação de um comando INATIVO para o espaço de endereço 332 o qual o controlador detecta.
Na etapa 804, o firmware envia uma solicitação de endereço de bloco flash, com- preendendo cinco gravações de endereço que indicam qual bloco a ser usado e qual ende- reço, em conjunto com um comando de gravação para o espaço de endereço de comando. O controlador então tem a informação que ele precisa para realizar a gravação.
Em cada uma das etapas 806 e 808, o firmware 330 sonda o status mediante emis- são de um comando de gravação e uma leitura de rajada, em Ioop por intermédio da etapa 810 até que o status de pronto seja detectado, e a rajada de leitura flash (etapa 812) seja enviada. Em uma implementação alternativa, um protocolo baseado em registrador provê acesso ao flash mediante carregamento de uma série de registradoras, incluindo gravar um registrador com um conjunto de palavra ocupado para iniciar a execução do comando. Isso permite que uma única gravação de página inicie a gravação ou a busca de bloco ou blocos flash. Nessa alternativa, a palavra ocupada é alternada pelo controlador quando o comando tiver sido concluído. Comandos suportados incluem buscar endereço/bloco (ou buscar faixa de endereços), gravar endereço/bloco (ou gravar faixa de endereços), e deletar endere- ço/bloco (ou deletar faixa de endereço).
Além disso, como o controlador inclui lógica, o controlador pode realizar gerencia- mento flash. Por exemplo, flash se esgota após certo número de leituras e gravações, e desse modo o controlador pode tornar a mapear o acesso para equilibrar a utilização dos vários blocos disponíveis de flash, referido como nivelamento de desgaste. A lógica contro- ladora também pode realizar detecção e correção de erro, e realizar gerenciamento de bloco ruim mediante remoção logicamente dos blocos ruins conhecidos os quais não ficam dispo- níveis.
A Figura 9 é uma representação exemplar um módulo de memória dual em linha (DIMM) 902, exemplificando como o flash pode ser adicionado à memória de sistema de computador pessoal, convencional. Os chips de flash físicos podem estar no mesmo lado que os chips de SDRAM, no lado oposto, ou ambos. O controlador pode estar na própria DIMM, ou alternativamente pode estar externo a ela, com a capacidade de desabilitar a SDRAM e substituir os dados flash conforme desejado.
Quando o computador pessoal é ligado, a BIOS (firmware) testa no sentido da pre- sença da memória DIMM híbrida, e se presente, carrega ao menos alguma da memória SDRAM (seu código) a partir do flash. A presença da memória flash não-volátil permite as operações de inicialização ou retomada a partir dos dados armazenados no flash. Por e- xemplo, os dados são acessados a partir do cache de memória da CPU o qual é mapeado para blocos de memória e resolvidos a partir da SDRAM ou do flash. Se flash suficiente esti- ver presente, a SDRAM inteira pode ser preservada para fins de hibernação, ou o sistema operacional inteiro carregado, sem precisar acessar dispositivos periféricos tal como a uni- dade de disco rígido.
Embora a invenção seja capaz de diversas modificações e construções alternativas, algumas modalidades ilustradas da mesma são mostradas nos desenhos e foram descritas acima, em detalhe. Deve ser entendido, contudo, que não há intenção de limitar a invenção às formas específicas reveladas, mas ao contrário, a invenção deve abranger todas as mo- dificações, construções alternativas, e equivalentes compreendidos no espírito e escopo da invenção.

Claims (18)

1. Dispositivo de memória, um método sendo CARACTERIZADO por compreender: receber, em um controlador, comandos, endereços e dados no dispositivo de me- mória por intermédio de uma interface definida para um primeiro tipo de memória associada ao dispositivo de memória; determinar no controlador se a informação recebida no dispositivo de memória cor- responde a um segundo tipo de memória associado ao dispositivo de memória, e se assim for, emitir os sinais para o segundo tipo de memória para comunicar ao menos um comando ao segundo tipo de memória e/ou para realizar ao menos uma operação de entrada/saída (E/S) de dados no segundo tipo de memória.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO por compreender ainda, quando a informação recebida corresponde ao segundo tipo de memória, desabilitar o primeiro tipo de memória.
3. Método, de acordo com a reivindicação 1, CARACTERIZADO por compreender, quando a informação recebida corresponde ao segundo tipo de memória, produzir uma indi- cação de ocupado, realizando uma operação de E/S de dados no segundo tipo de memória, e produzindo uma indicação de pronto quando a operação E/S de dados estiver concluída.
4. Método, de acordo com a reivindicação 1, CARACTERIZADO por compreender ainda, quando a informação recebida corresponder ao segundo tipo de memória, acessar informação de comando e/ou informação de endereço de dados em outro conjunto de um ou mais locais do dispositivo de memória.
5. Método, de acordo com a reivindicação 4, CARACTERIZADO pelo fato de que a informação recebida corresponde à informação de endereçamento de dados, e compreen- dendo ainda ler a informação de endereçamento de dados para mapear um endereço rece- bido para uma seção entre uma pluralidade de possíveis seções do segundo tipo de memória.
6. Dispositivo de memória, um sistema sendo CARACTERIZADO por compreender: um primeiro tipo de memória; uma interface correspondendo ao primeiro tipo de memória de tal modo que o dis- positivo de memória opera com o protocolo de acesso do primeiro tipo de memória; um segundo tipo de memória; e um controlador que é acoplado à interface, ao primeiro tipo de memória e ao se- gundo tipo de memória, no qual com base na informação recebida na interface, o controla- dor determina se outra informação recebida por intermédio da interface se aplica ao primeiro tipo de memória ou ao segundo tipo de memória.
7. Sistema, de acordo com a reivindicação 6, CARACTERIZADO pelo fato de que o primeiro tipo de memória compreende memória volátil, o segundo tipo de memória compre- ende memória não-volátil, e em que ao menos parte da informação recebida na interface através da qual o controlador determina se a informação relacionada recebida por intermé- dio da interface se aplica ao primeiro tipo de memória ou ao segundo tipo de memória é re- cebida em um endereço de memória correspondendo ao primeiro tipo de memória.
8. Sistema, de acordo com a reivindicação 7, CARACTERIZADO pelo fato de que a memória volátil compreende memória do tipo SDRAM ou memória do tipo DRAM, e em que o endereço de memória e a informação relacionada recebida por intermédio da interface compreende estrobo de acesso de linha, estrobo de acesso de coluna e informação de con- trole.
9. Sistema, de acordo com a reivindicação 7, CARACTERIZADO pelo fato de que a memória não-volátil compreende memória flash, e compreendendo ainda um armazenador associado com o controlador para armazenar operações E/S de dados, realizadas com a memória flash.
10. Sistema, de acordo com a reivindicação 9, CARACTERIZADO por compreen- der ainda um indicador de status, em que o controlador sinaliza por intermédio do indicador de status se uma operação E/S de status está ocupada ou completa.
11. Sistema, de acordo com a reivindicação 6, CARACTERIZADO pelo fato de que o dispositivo de memória é incorporado em um módulo de memória em linha dual.
12. Sistema, de acordo com a reivindicação 6, CARACTERIZADO pelo fato de que o controlador inclui ainda meio para gerenciamento de memória.
13. Sistema, de acordo com a reivindicação 6, CARACTERIZADO pelo fato de que o controlador acessa informação de comando e/ou informação de endereçamento de dados em um conjunto de um ou mais locais correspondendo ao primeiro tipo de memória.
14. Dispositivo de computação, um sistema CARACTERIZADO por compreender: um dispositivo híbrido de memória incluindo uma interface correspondendo a um primeiro tipo de memória, a um segundo tipo de memória e um controlador; e um componente que inicia comandos para o controlador por intermédio da interfa- ce, incluindo mediante gravação de dados relacionados ao comando para um ou mais ende- reços do primeiro tipo de memória, incluindo ao menos um comando dirigido para uma ope- ração de entrada/saída de dados no segundo tipo de memória.
15. Sistema, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que o controlador sinaliza o componente com informação de status de uma operação de entrada/saída de dados do segundo tipo de memória mediante gravação de dados relacio- nados a status para um ou mais endereços do primeiro tipo de memória.
16. Sistema, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que o componente compreende código executando em firmware do dispositivo de computa- ção.
17. Sistema, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que o primeiro tipo de memória corresponde à memória volátil, e o segundo tipo de memória compreende memória não-volátil, com os dados endereçados a determinado local no primei- ro tipo de memória sendo controlados pelo controlador para acessar o segundo tipo de me- mória.
18. Sistema, de acordo com a reivindicação 14, CARACTERIZADO por compreen- der adicionalmente um armazenador associado com o controlador para armazenar opera- ções de E/S de dados realizadas com o segundo tipo de memória.
BRPI0711731-0A 2006-06-07 2007-06-01 dispositivo hìbrido de memória com interface única BRPI0711731A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/449.435 2006-06-07
US11/449,435 US7716411B2 (en) 2006-06-07 2006-06-07 Hybrid memory device with single interface
PCT/US2007/013127 WO2007145883A1 (en) 2006-06-07 2007-06-01 Hybrid memory device with single interface

Publications (1)

Publication Number Publication Date
BRPI0711731A2 true BRPI0711731A2 (pt) 2011-11-29

Family

ID=38823267

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0711731-0A BRPI0711731A2 (pt) 2006-06-07 2007-06-01 dispositivo hìbrido de memória com interface única

Country Status (11)

Country Link
US (2) US7716411B2 (pt)
EP (1) EP2025001B1 (pt)
JP (2) JP2009540431A (pt)
KR (1) KR101159400B1 (pt)
CN (1) CN101473438B (pt)
BR (1) BRPI0711731A2 (pt)
ES (1) ES2718463T3 (pt)
MX (1) MX2008014859A (pt)
RU (1) RU2442211C2 (pt)
TW (1) TWI420302B (pt)
WO (1) WO2007145883A1 (pt)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8812744B1 (en) 2013-03-14 2014-08-19 Microsoft Corporation Assigning priorities to data for hybrid drives
US9626126B2 (en) 2013-04-24 2017-04-18 Microsoft Technology Licensing, Llc Power saving mode hybrid drive access management
US9946495B2 (en) 2013-04-25 2018-04-17 Microsoft Technology Licensing, Llc Dirty data management for hybrid drives

Families Citing this family (190)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8250295B2 (en) 2004-01-05 2012-08-21 Smart Modular Technologies, Inc. Multi-rank memory module that emulates a memory module having a different number of ranks
US8111566B1 (en) 2007-11-16 2012-02-07 Google, Inc. Optimal channel design for memory devices for providing a high-speed memory interface
US8335894B1 (en) 2008-07-25 2012-12-18 Google Inc. Configurable memory system with interface circuit
US10013371B2 (en) 2005-06-24 2018-07-03 Google Llc Configurable memory circuit system and method
US8327104B2 (en) 2006-07-31 2012-12-04 Google Inc. Adjusting the timing of signals associated with a memory system
US8055833B2 (en) 2006-10-05 2011-11-08 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage
US8169233B2 (en) 2009-06-09 2012-05-01 Google Inc. Programming of DIMM termination resistance values
US8081474B1 (en) 2007-12-18 2011-12-20 Google Inc. Embossed heat spreader
US9171585B2 (en) 2005-06-24 2015-10-27 Google Inc. Configurable memory circuit system and method
US7386656B2 (en) 2006-07-31 2008-06-10 Metaram, Inc. Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit
US8060774B2 (en) 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
US8090897B2 (en) 2006-07-31 2012-01-03 Google Inc. System and method for simulating an aspect of a memory circuit
US9542352B2 (en) 2006-02-09 2017-01-10 Google Inc. System and method for reducing command scheduling constraints of memory circuits
US8130560B1 (en) 2006-11-13 2012-03-06 Google Inc. Multi-rank partial width memory modules
US8397013B1 (en) 2006-10-05 2013-03-12 Google Inc. Hybrid memory module
US20080082763A1 (en) 2006-10-02 2008-04-03 Metaram, Inc. Apparatus and method for power management of memory circuits by a system or component thereof
US8089795B2 (en) 2006-02-09 2012-01-03 Google Inc. Memory module with memory stack and interface with enhanced capabilities
US9507739B2 (en) 2005-06-24 2016-11-29 Google Inc. Configurable memory circuit system and method
US8041881B2 (en) 2006-07-31 2011-10-18 Google Inc. Memory device with emulated characteristics
US8244971B2 (en) 2006-07-31 2012-08-14 Google Inc. Memory circuit system and method
US8619452B2 (en) 2005-09-02 2013-12-31 Google Inc. Methods and apparatus of stacking DRAMs
US7392338B2 (en) 2006-07-31 2008-06-24 Metaram, Inc. Interface circuit system and method for autonomously performing power management operations in conjunction with a plurality of memory circuits
US8796830B1 (en) 2006-09-01 2014-08-05 Google Inc. Stackable low-profile lead frame package
US20080028136A1 (en) 2006-07-31 2008-01-31 Schakel Keith R Method and apparatus for refresh management of memory modules
US8077535B2 (en) 2006-07-31 2011-12-13 Google Inc. Memory refresh apparatus and method
US8359187B2 (en) 2005-06-24 2013-01-22 Google Inc. Simulating a different number of memory circuit devices
US8438328B2 (en) 2008-02-21 2013-05-07 Google Inc. Emulation of abstracted DIMMs using abstracted DRAMs
US8386722B1 (en) 2008-06-23 2013-02-26 Google Inc. Stacked DIMM memory interface
US9632929B2 (en) 2006-02-09 2017-04-25 Google Inc. Translating an address associated with a command communicated between a system and memory circuits
US7724589B2 (en) 2006-07-31 2010-05-25 Google Inc. System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits
US7516293B2 (en) * 2006-09-08 2009-04-07 International Business Machines Corporation Increased performance using mixed memory types
WO2008057557A2 (en) 2006-11-06 2008-05-15 Rambus Inc. Memory system supporting nonvolatile physical memory
US8135900B2 (en) 2007-03-28 2012-03-13 Kabushiki Kaisha Toshiba Integrated memory management and memory management method
JP5032172B2 (ja) * 2007-03-28 2012-09-26 株式会社東芝 統合メモリ管理装置及び方法並びにデータ処理システム
WO2008131058A2 (en) * 2007-04-17 2008-10-30 Rambus Inc. Hybrid volatile and non-volatile memory device
US8874831B2 (en) 2007-06-01 2014-10-28 Netlist, Inc. Flash-DRAM hybrid memory module
US8904098B2 (en) 2007-06-01 2014-12-02 Netlist, Inc. Redundant backup using non-volatile memory
US8301833B1 (en) 2007-06-01 2012-10-30 Netlist, Inc. Non-volatile memory module
US8209479B2 (en) 2007-07-18 2012-06-26 Google Inc. Memory circuit system and method
DE102007038543B4 (de) * 2007-08-16 2022-09-01 Robert Bosch Gmbh Begleit-Chip zur Anwendung in einer Motorsteuerung
US8080874B1 (en) 2007-09-14 2011-12-20 Google Inc. Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween
US9201790B2 (en) * 2007-10-09 2015-12-01 Seagate Technology Llc System and method of matching data rates
US8352671B2 (en) * 2008-02-05 2013-01-08 Spansion Llc Partial allocate paging mechanism using a controller and a buffer
US8209463B2 (en) * 2008-02-05 2012-06-26 Spansion Llc Expansion slots for flash memory based random access memory subsystem
US8332572B2 (en) * 2008-02-05 2012-12-11 Spansion Llc Wear leveling mechanism using a DRAM buffer
US8275945B2 (en) 2008-02-05 2012-09-25 Spansion Llc Mitigation of flash memory latency and bandwidth limitations via a write activity log and buffer
JP2009211192A (ja) * 2008-02-29 2009-09-17 Toshiba Corp メモリシステム
US8082384B2 (en) * 2008-03-26 2011-12-20 Microsoft Corporation Booting an electronic device using flash memory and a limited function memory controller
US20090313416A1 (en) * 2008-06-16 2009-12-17 George Wayne Nation Computer main memory incorporating volatile and non-volatile memory
US10236032B2 (en) * 2008-09-18 2019-03-19 Novachips Canada Inc. Mass data storage system with non-volatile memory modules
US8599625B2 (en) * 2008-10-23 2013-12-03 Marvell World Trade Ltd. Switch pin multiplexing
KR100987332B1 (ko) 2008-11-07 2010-10-18 서울대학교산학협력단 메모리 구조에 따른 메모리 관리 장치
CN101510174B (zh) * 2008-11-07 2012-05-02 慧帝科技(深圳)有限公司 一种快闪记忆体更新资料的管理方法及相关的记忆卡
US8370603B2 (en) * 2008-12-23 2013-02-05 Apple Inc. Architecture for address mapping of managed non-volatile memory
US20140325129A1 (en) * 2008-12-31 2014-10-30 Micron Technology, Inc. Method and apparatus for active range mapping for a nonvolatile memory device
US8327087B1 (en) * 2008-12-31 2012-12-04 Micron Technology, Inc. Method and apparatus for an always open write-only register based memory mapped overlay interface for a nonvolatile memory
KR101583002B1 (ko) * 2009-02-23 2016-01-21 삼성전자주식회사 컴퓨팅 시스템, 그것의 부팅 방법, 및 코드 데이터 피닝 방법
CN102063939B (zh) * 2009-11-18 2015-01-28 中兴通讯股份有限公司 一种电可擦除可编程只读存储器的实现方法和装置
CN102110057B (zh) * 2009-12-25 2013-05-08 澜起科技(上海)有限公司 存储器模组及存储器模组内的数据交换方法
US8612809B2 (en) 2009-12-31 2013-12-17 Intel Corporation Systems, methods, and apparatuses for stacked memory
JP5570619B2 (ja) 2010-02-23 2014-08-13 ラムバス・インコーポレーテッド 異なるメモリ種類にアクセスする異なる速度での時分割多重化
KR101840238B1 (ko) * 2010-03-08 2018-03-20 휴렛 팩커드 엔터프라이즈 디벨롭먼트 엘피 데이터 저장 장치 및 방법
US20110255335A1 (en) * 2010-04-20 2011-10-20 Alessandro Grossi Charge trap memory having limited charge diffusion
US20120026802A1 (en) * 2010-07-30 2012-02-02 Emanuele Confalonieri Managed hybrid memory with adaptive power supply
KR101670055B1 (ko) * 2010-08-30 2016-11-09 삼성전자 주식회사 디지털 영상 처리 장치의 제어 방법, 상기 방법을 적용한 디지털 영상 처리 장치, 상기 디지털 영상 처리 장치를 포함하는 통신 시스템
JP2012063874A (ja) * 2010-09-14 2012-03-29 Toshiba Corp チップセレクト信号を切り替えるセレクタ、ストレージ装置、及び電子機器
KR20120028484A (ko) 2010-09-15 2012-03-23 삼성전자주식회사 모바일 기기에 채용하기 적합한 복합형 반도체 장치
EP2453377A1 (en) * 2010-11-15 2012-05-16 Gemalto SA Method of loading data into a portable secure token
US9208071B2 (en) * 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US9141527B2 (en) * 2011-02-25 2015-09-22 Intelligent Intellectual Property Holdings 2 Llc Managing cache pools
US9170744B1 (en) 2011-04-06 2015-10-27 P4tents1, LLC Computer program product for controlling a flash/DRAM/embedded DRAM-equipped system
US9158546B1 (en) 2011-04-06 2015-10-13 P4tents1, LLC Computer program product for fetching from a first physical memory between an execution of a plurality of threads associated with a second physical memory
US9164679B2 (en) 2011-04-06 2015-10-20 Patents1, Llc System, method and computer program product for multi-thread operation involving first memory of a first memory class and second memory of a second memory class
US9176671B1 (en) 2011-04-06 2015-11-03 P4tents1, LLC Fetching data between thread execution in a flash/DRAM/embedded DRAM-equipped system
US8930647B1 (en) 2011-04-06 2015-01-06 P4tents1, LLC Multiple class memory systems
US10380022B2 (en) 2011-07-28 2019-08-13 Netlist, Inc. Hybrid memory module and system and method of operating the same
US10838646B2 (en) 2011-07-28 2020-11-17 Netlist, Inc. Method and apparatus for presearching stored data
US10198350B2 (en) 2011-07-28 2019-02-05 Netlist, Inc. Memory module having volatile and non-volatile memory subsystems and method of operation
US9417754B2 (en) 2011-08-05 2016-08-16 P4tents1, LLC User interface system, method, and computer program product
US11048410B2 (en) 2011-08-24 2021-06-29 Rambus Inc. Distributed procedure execution and file systems on a memory interface
WO2013028854A1 (en) 2011-08-24 2013-02-28 Rambus Inc. Methods and systems for mapping a peripheral function onto a legacy memory interface
US9098209B2 (en) 2011-08-24 2015-08-04 Rambus Inc. Communication via a memory interface
US8700834B2 (en) 2011-09-06 2014-04-15 Western Digital Technologies, Inc. Systems and methods for an enhanced controller architecture in data storage systems
US8707104B1 (en) 2011-09-06 2014-04-22 Western Digital Technologies, Inc. Systems and methods for error injection in data storage systems
US8713357B1 (en) 2011-09-06 2014-04-29 Western Digital Technologies, Inc. Systems and methods for detailed error reporting in data storage systems
US9195530B1 (en) 2011-09-06 2015-11-24 Western Digital Technologies, Inc. Systems and methods for improved data management in data storage systems
US9361986B2 (en) 2011-09-19 2016-06-07 Sandisk Technologies Inc. High endurance non-volatile storage
KR20130032772A (ko) * 2011-09-23 2013-04-02 삼성전자주식회사 하이브리드 메모리 장치, 이를 포함하는 컴퓨터 시스템, 및 하이브리드 메모리장치의 데이터 기입 및 독출 방법
US9053008B1 (en) 2012-03-26 2015-06-09 Western Digital Technologies, Inc. Systems and methods for providing inline parameter service in data storage devices
WO2013177313A2 (en) 2012-05-22 2013-11-28 Xockets IP, LLC Processing structured and unstructured data using offload processors
US20130318268A1 (en) 2012-05-22 2013-11-28 Xockets IP, LLC Offloading of computation for rack level servers and corresponding methods and systems
US9183910B2 (en) 2012-05-31 2015-11-10 Samsung Electronics Co., Ltd. Semiconductor memory devices for alternately selecting bit lines
US9252996B2 (en) 2012-06-21 2016-02-02 Micron Technology, Inc. Apparatuses and methods to change information values
KR20130143210A (ko) * 2012-06-21 2013-12-31 삼성전자주식회사 메모리 확장 장치
US20140101370A1 (en) * 2012-10-08 2014-04-10 HGST Netherlands B.V. Apparatus and method for low power low latency high capacity storage class memory
US20140108705A1 (en) 2012-10-12 2014-04-17 Sandisk Technologies Inc. Use of High Endurance Non-Volatile Memory for Read Acceleration
EP2915049B1 (en) 2012-10-30 2020-03-04 Hewlett-Packard Enterprise Development LP Smart memory buffers
CA2891355C (en) * 2012-11-20 2022-04-05 Charles I. Peddle Solid state drive architectures
US9147461B1 (en) 2012-11-28 2015-09-29 Samsung Electronics Co., Ltd. Semiconductor memory device performing a refresh operation, and memory system including the same
US9280497B2 (en) * 2012-12-21 2016-03-08 Dell Products Lp Systems and methods for support of non-volatile memory on a DDR memory channel
US9378161B1 (en) 2013-01-17 2016-06-28 Xockets, Inc. Full bandwidth packet handling with server systems including offload processors
EP2946296A4 (en) 2013-01-17 2016-11-16 Xockets Ip Llc DELIBRATION PROCESSOR MODULES FOR CONNECTING TO A SYSTEM MEMORY
CN103970219B (zh) * 2013-01-30 2018-03-20 鸿富锦精密电子(天津)有限公司 存储设备及支持所述存储设备的主板
KR101752583B1 (ko) 2013-03-14 2017-07-11 마이크론 테크놀로지, 인크. 트레이닝, 데이터 조직, 및/또는 섀도잉을 포함하는 메모리 시스템들 및 방법들
US10372551B2 (en) 2013-03-15 2019-08-06 Netlist, Inc. Hybrid memory system with configurable error thresholds and failure analysis capability
WO2014155592A1 (ja) * 2013-03-27 2014-10-02 株式会社日立製作所 Sdramインターフェイスを有するdram、フラッシュメモリ混載メモリモジュール
CN105027092B (zh) 2013-03-27 2018-01-30 株式会社日立制作所 具有sdram接口的dram、混合闪存存储器模块
US9552176B2 (en) 2013-04-12 2017-01-24 Microsoft Technology Licensing, Llc Block storage using a hybrid memory device
US9436600B2 (en) 2013-06-11 2016-09-06 Svic No. 28 New Technology Business Investment L.L.P. Non-volatile memory storage for multi-channel memory system
US9858181B2 (en) * 2013-06-20 2018-01-02 Hitachi, Ltd. Memory module having different types of memory mounted together thereon, and information processing device having memory module mounted therein
US9129674B2 (en) * 2013-06-27 2015-09-08 Intel Corporation Hybrid memory device
CN105340017A (zh) * 2013-07-09 2016-02-17 惠普发展公司,有限责任合伙企业 对包括非兼容性存储器技术或与其接合的存储器模块的写入流控制
US9921980B2 (en) 2013-08-12 2018-03-20 Micron Technology, Inc. Apparatuses and methods for configuring I/Os of memory for hybrid memory modules
JP6090057B2 (ja) * 2013-08-15 2017-03-08 富士ゼロックス株式会社 状態情報記録装置及びプログラム
US10185515B2 (en) * 2013-09-03 2019-01-22 Qualcomm Incorporated Unified memory controller for heterogeneous memory on a multi-chip package
JP6072661B2 (ja) * 2013-09-30 2017-02-01 ルネサスエレクトロニクス株式会社 データ処理装置、マイクロコントローラ、及び半導体装置
KR20160083926A (ko) 2013-11-07 2016-07-12 넷리스트 인코포레이티드 하이브리드 메모리 모듈, 및 그를 동작시키는 시스템 및 방법
US11182284B2 (en) 2013-11-07 2021-11-23 Netlist, Inc. Memory module having volatile and non-volatile memory subsystems and method of operation
US10248328B2 (en) 2013-11-07 2019-04-02 Netlist, Inc. Direct data move between DRAM and storage on a memory module
KR102195896B1 (ko) * 2014-01-10 2020-12-28 삼성전자주식회사 디스크 캐시 제어 장치 및 방법
US9342402B1 (en) 2014-01-28 2016-05-17 Altera Corporation Memory interface with hybrid error detection circuitry for modular designs
US9237670B2 (en) 2014-02-26 2016-01-12 Samsung Electronics Co., Ltd. Socket interposer and computer system using the socket
CN103942159A (zh) * 2014-03-19 2014-07-23 华中科技大学 一种基于混合存储设备的数据读写方法与装置
US9911477B1 (en) 2014-04-18 2018-03-06 Altera Corporation Memory controller architecture with improved memory scheduling efficiency
US20150347151A1 (en) * 2014-05-28 2015-12-03 Diablo Technologies Inc. System and method for booting from a non-volatile memory
US9811263B1 (en) 2014-06-30 2017-11-07 Altera Corporation Memory controller architecture with improved memory scheduling efficiency
US10430092B1 (en) * 2014-07-28 2019-10-01 Rambus Inc. Memory controller systems with nonvolatile memory for storing operating parameters
US9715453B2 (en) * 2014-12-11 2017-07-25 Intel Corporation Computing method and apparatus with persistent memory
US10318340B2 (en) * 2014-12-31 2019-06-11 Ati Technologies Ulc NVRAM-aware data processing system
KR102355436B1 (ko) * 2015-01-09 2022-01-26 에스케이하이닉스 주식회사 데이터 저장 장치
KR102076196B1 (ko) * 2015-04-14 2020-02-12 에스케이하이닉스 주식회사 메모리 시스템, 메모리 모듈 및 메모리 모듈의 동작 방법
CN107710175B (zh) * 2015-04-20 2021-12-14 奈特力斯股份有限公司 存储器模块以及操作系统和方法
WO2016182743A1 (en) 2015-05-09 2016-11-17 Medtronic, Inc. Methods and devices that utilize hardware to move blocks of operating parameter data from memory to a register set
US10261697B2 (en) 2015-06-08 2019-04-16 Samsung Electronics Co., Ltd. Storage device and operating method of storage device
US9904490B2 (en) * 2015-06-26 2018-02-27 Toshiba Memory Corporation Solid-state mass storage device and method for persisting volatile data to non-volatile media
US10078448B2 (en) 2015-07-08 2018-09-18 Samsung Electronics Co., Ltd. Electronic devices and memory management methods thereof
US20170060434A1 (en) * 2015-08-27 2017-03-02 Samsung Electronics Co., Ltd. Transaction-based hybrid memory module
KR102367512B1 (ko) 2015-09-08 2022-02-24 삼성전자주식회사 시스템 온 패키지
US10031674B2 (en) * 2015-10-07 2018-07-24 Samsung Electronics Co., Ltd. DIMM SSD addressing performance techniques
US10331586B2 (en) 2015-10-30 2019-06-25 Samsung Electronics Co., Ltd. Nonvolatile memory device for providing fast booting and system including the same
WO2017078681A1 (en) * 2015-11-03 2017-05-11 Hewlett-Packard Development Company, L.P. Operating mode memory migration
US9971511B2 (en) 2016-01-06 2018-05-15 Samsung Electronics Co., Ltd. Hybrid memory module and transaction-based memory interface
US20170220252A1 (en) * 2016-01-29 2017-08-03 Faraday&Future Inc. Flash emulated eeprom wrapper
US10146704B2 (en) * 2016-02-16 2018-12-04 Dell Products L.P. Volatile/non-volatile memory device access provisioning system
US10163508B2 (en) * 2016-02-26 2018-12-25 Intel Corporation Supporting multiple memory types in a memory slot
US10534619B2 (en) 2016-02-26 2020-01-14 Smart Modular Technologies, Inc. Memory management system with multiple boot devices and method of operation thereof
US10621119B2 (en) 2016-03-03 2020-04-14 Samsung Electronics Co., Ltd. Asynchronous communication protocol compatible with synchronous DDR protocol
US10592114B2 (en) 2016-03-03 2020-03-17 Samsung Electronics Co., Ltd. Coordinated in-module RAS features for synchronous DDR compatible memory
US10310547B2 (en) * 2016-03-05 2019-06-04 Intel Corporation Techniques to mirror a command/address or interpret command/address logic at a memory device
US10810144B2 (en) * 2016-06-08 2020-10-20 Samsung Electronics Co., Ltd. System and method for operating a DRR-compatible asynchronous memory module
US10692555B2 (en) 2016-06-29 2020-06-23 Samsung Electronics Co., Ltd. Semiconductor memory devices enabling read strobe mode and related methods of operating semiconductor memory devices
US10186309B2 (en) 2016-06-29 2019-01-22 Samsung Electronics Co., Ltd. Methods of operating semiconductor memory devices and semiconductor memory devices
KR102554496B1 (ko) 2016-07-14 2023-07-13 에스케이하이닉스 주식회사 복수개의 메모리 모듈을 포함하는 데이터 처리 시스템
US10282108B2 (en) * 2016-08-31 2019-05-07 Micron Technology, Inc. Hybrid memory device using different types of capacitors
US9916256B1 (en) 2016-09-12 2018-03-13 Toshiba Memory Corporation DDR storage adapter
KR20180030329A (ko) * 2016-09-13 2018-03-22 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US10552053B2 (en) 2016-09-28 2020-02-04 Seagate Technology Llc Hybrid data storage device with performance mode data path
DE102017105155B4 (de) 2016-11-11 2023-09-07 Sandisk Technologies Llc Schnittstelle für einen nichtflüchtigen speicher
CN108121664A (zh) * 2016-11-28 2018-06-05 慧荣科技股份有限公司 数据储存装置以及其操作方法
KR20180078512A (ko) 2016-12-30 2018-07-10 삼성전자주식회사 반도체 장치
JP6391719B2 (ja) * 2017-01-10 2018-09-19 マイクロン テクノロジー, インク. トレーニング、データ再構築および/またはシャドウィングを含むメモリシステムおよび方法
US10977057B2 (en) * 2017-01-23 2021-04-13 Via Labs, Inc. Electronic apparatus capable of collectively managing different firmware codes and operation method thereof
US11175853B2 (en) * 2017-05-09 2021-11-16 Samsung Electronics Co., Ltd. Systems and methods for write and flush support in hybrid memory
US10496584B2 (en) * 2017-05-11 2019-12-03 Samsung Electronics Co., Ltd. Memory system for supporting internal DQ termination of data buffer
US10403342B2 (en) * 2017-06-20 2019-09-03 Aspiring Sky Co. Limited Hybrid flash memory structure
US10845866B2 (en) * 2017-06-22 2020-11-24 Micron Technology, Inc. Non-volatile memory system or sub-system
ES2827790T3 (es) * 2017-08-21 2021-05-24 Carrier Corp Sistema antiincendios y de seguridad que incluye bucle accesible por dirección y mejora automática de firmware
KR102412609B1 (ko) 2017-11-03 2022-06-23 삼성전자주식회사 내부 커맨드에 따른 어드레스에 대한 저장 및 출력 제어를 수행하는 메모리 장치 및 그 동작방법
KR102101622B1 (ko) * 2017-12-06 2020-04-17 주식회사 멤레이 메모리 제어 장치 및 이를 포함하는 컴퓨팅 디바이스
US11216370B2 (en) * 2018-02-20 2022-01-04 Medtronic, Inc. Methods and devices that utilize hardware to move blocks of operating parameter data from memory to a register set
KR20190105337A (ko) 2018-03-05 2019-09-17 삼성전자주식회사 반도체 메모리 장치
US10534731B2 (en) 2018-03-19 2020-01-14 Micron Technology, Inc. Interface for memory having a cache and multiple independent arrays
US10705963B2 (en) 2018-03-21 2020-07-07 Micron Technology, Inc. Latency-based storage in a hybrid memory system
TWI668575B (zh) * 2018-07-26 2019-08-11 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法
US10977198B2 (en) * 2018-09-12 2021-04-13 Micron Technology, Inc. Hybrid memory system interface
CN111512374B (zh) * 2018-10-16 2022-11-11 华为技术有限公司 一种混合存储设备及访问方法
US11048654B2 (en) * 2018-10-24 2021-06-29 Innogrit Technologies Co., Ltd. Systems and methods for providing multiple memory channels with one set of shared address pins on the physical interface
TWI739075B (zh) * 2019-01-03 2021-09-11 慧榮科技股份有限公司 閃存的資料寫入方法及電腦程式產品
US11199991B2 (en) 2019-01-03 2021-12-14 Silicon Motion, Inc. Method and apparatus for controlling different types of storage units
KR20210017109A (ko) 2019-08-07 2021-02-17 삼성전자주식회사 스토리지 장치
RU2757659C1 (ru) * 2020-06-16 2021-10-19 Александр Георгиевич Носков Накопитель магнитный с разделёнными областями
KR20220029914A (ko) 2020-09-02 2022-03-10 삼성전자주식회사 펄스 진폭 변조 기반 데이터 스트로브 신호를 생성하는 메모리 장치, 메모리 컨트롤러 및 이들을 포함하는 메모리 시스템
US20220083252A1 (en) * 2020-09-14 2022-03-17 Micron Technology, Inc. Indication-based avoidance of defective memory cells
CN114895847A (zh) * 2020-10-12 2022-08-12 长江存储科技有限责任公司 非易失性存储器、存储装置及非易失性存储器的操作方法
KR20220077400A (ko) 2020-12-02 2022-06-09 삼성전자주식회사 메모리 장치, 메모리 시스템 및 이의 동작 방법
US11803326B2 (en) * 2021-04-23 2023-10-31 Macronix International Co., Ltd. Implementing a read setup burst command in 3D NAND flash memory to reduce voltage threshold deviation over time
KR102483906B1 (ko) * 2021-07-14 2022-12-30 서울시립대학교 산학협력단 Nand 플래시 메모리와 sram이 융합된 nas 메모리 셀 및 이를 이용한 nas 메모리 어레이
CN116955241B (zh) * 2023-09-21 2024-01-05 杭州智灵瞳人工智能有限公司 兼容多类型存储介质的存储芯片

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4995004A (en) 1989-05-15 1991-02-19 Dallas Semiconductor Corporation RAM/ROM hybrid memory architecture
JPH05299616A (ja) * 1992-04-16 1993-11-12 Hitachi Ltd 半導体記憶装置
JPH06195258A (ja) * 1992-07-08 1994-07-15 Nec Corp 半導体記憶装置
US5696917A (en) 1994-06-03 1997-12-09 Intel Corporation Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory
US5634112A (en) * 1994-10-14 1997-05-27 Compaq Computer Corporation Memory controller having precharge prediction based on processor and PCI bus cycles
US5701433A (en) * 1994-10-14 1997-12-23 Compaq Computer Corporation Computer system having a memory controller which performs readahead operations which can be aborted prior to completion
US6741494B2 (en) 1995-04-21 2004-05-25 Mark B. Johnson Magnetoelectronic memory element with inductively coupled write wires
US5864671A (en) 1996-07-01 1999-01-26 Sun Microsystems, Inc. Hybrid memory access protocol for servicing memory access request by ascertaining whether the memory block is currently cached in determining which protocols to be used
US6418506B1 (en) * 1996-12-31 2002-07-09 Intel Corporation Integrated circuit memory and method for transferring data using a volatile memory to buffer data for a nonvolatile memory array
US6850995B1 (en) * 1999-01-25 2005-02-01 Canon Kabushiki Kaisha Control unit selectively connected with a first bus and a second bus for controlling a displaying process in parallel with a scanning process
US6380581B1 (en) 1999-02-26 2002-04-30 Micron Technology, Inc. DRAM technology compatible non volatile memory cells with capacitors connected to the gates of the transistors
KR100313514B1 (ko) * 1999-05-11 2001-11-17 김영환 하이브리드 메모리 장치
KR100383774B1 (ko) 2000-01-26 2003-05-12 삼성전자주식회사 공통 인터페이스 방식의 메모리 장치들을 구비한 시스템
US7073014B1 (en) 2000-07-28 2006-07-04 Micron Technology, Inc. Synchronous non-volatile memory system
JP3871853B2 (ja) * 2000-05-26 2007-01-24 株式会社ルネサステクノロジ 半導体装置及びその動作方法
JP2002259443A (ja) * 2001-02-28 2002-09-13 Ricoh Co Ltd 文書管理システム、文書検索方法および文書検索プログラム
US6327207B1 (en) * 2001-04-09 2001-12-04 Lsi Logic Corporation Synchronizing data operations across a synchronization boundary between different clock domains using two-hot encoding
JP4059002B2 (ja) * 2001-06-13 2008-03-12 株式会社日立製作所 メモリ装置
TWI240864B (en) * 2001-06-13 2005-10-01 Hitachi Ltd Memory device
JP2003006041A (ja) 2001-06-20 2003-01-10 Hitachi Ltd 半導体装置
US6670234B2 (en) 2001-06-22 2003-12-30 International Business Machines Corporation Method of integrating volatile and non-volatile memory cells on the same substrate and a semiconductor memory device thereof
US7533214B2 (en) * 2002-02-27 2009-05-12 Microsoft Corporation Open architecture flash driver
US6799231B2 (en) * 2002-10-22 2004-09-28 Asix Electronics Corp. Virtual I/O device coupled to memory controller
WO2004049168A1 (ja) * 2002-11-28 2004-06-10 Renesas Technology Corp. メモリモジュール、メモリシステム、及び情報機器
US7752380B2 (en) 2003-07-31 2010-07-06 Sandisk Il Ltd SDRAM memory device with an embedded NAND flash controller
US6859068B1 (en) * 2003-08-08 2005-02-22 Sun Microsystems, Inc. Self-correcting I/O interface driver scheme for memory interface
US7171526B2 (en) 2003-11-07 2007-01-30 Freescale Semiconductor, Inc. Memory controller useable in a data processing system
US6862206B1 (en) * 2003-12-19 2005-03-01 Hewlett-Packard Development Company, L.P. Memory module hybridizing an atomic resolution storage (ARS) memory and a magnetic memory
KR101085406B1 (ko) 2004-02-16 2011-11-21 삼성전자주식회사 불 휘발성 메모리를 제어하기 위한 컨트롤러
US20050204091A1 (en) 2004-03-11 2005-09-15 Kilbuck Kevin M. Non-volatile memory with synchronous DRAM interface
US20060184710A1 (en) * 2005-02-17 2006-08-17 Nokia Inc. Bridge between a single channel high speed bus and a multiple channel low speed bus
US20060294295A1 (en) * 2005-06-24 2006-12-28 Yukio Fukuzo DRAM chip device well-communicated with flash memory chip and multi-chip package comprising such a device
US7360022B2 (en) * 2005-12-29 2008-04-15 Intel Corporation Synchronizing an instruction cache and a data cache on demand
WO2008131058A2 (en) * 2007-04-17 2008-10-30 Rambus Inc. Hybrid volatile and non-volatile memory device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8812744B1 (en) 2013-03-14 2014-08-19 Microsoft Corporation Assigning priorities to data for hybrid drives
US8990441B2 (en) 2013-03-14 2015-03-24 Microsoft Technology Licensing, Llc Assigning priorities to data for hybrid drives
US9626126B2 (en) 2013-04-24 2017-04-18 Microsoft Technology Licensing, Llc Power saving mode hybrid drive access management
US9946495B2 (en) 2013-04-25 2018-04-17 Microsoft Technology Licensing, Llc Dirty data management for hybrid drives

Also Published As

Publication number Publication date
KR101159400B1 (ko) 2012-06-28
MX2008014859A (es) 2008-12-01
JP5613103B2 (ja) 2014-10-22
TW200745848A (en) 2007-12-16
JP2009540431A (ja) 2009-11-19
TWI420302B (zh) 2013-12-21
US20100217924A1 (en) 2010-08-26
JP2011181098A (ja) 2011-09-15
CN101473438B (zh) 2012-06-13
EP2025001B1 (en) 2019-01-23
KR20090026276A (ko) 2009-03-12
US7716411B2 (en) 2010-05-11
EP2025001A4 (en) 2010-07-28
RU2008148129A (ru) 2010-06-10
RU2442211C2 (ru) 2012-02-10
CN101473438A (zh) 2009-07-01
US20070288683A1 (en) 2007-12-13
ES2718463T3 (es) 2019-07-02
EP2025001A1 (en) 2009-02-18
US8423700B2 (en) 2013-04-16
WO2007145883A1 (en) 2007-12-21

Similar Documents

Publication Publication Date Title
BRPI0711731A2 (pt) dispositivo hìbrido de memória com interface única
KR100281432B1 (ko) 플래쉬 메모리에 기초한 주메모리
CN109154918B (zh) 自刷新状态机mop阵列
TWI284261B (en) Method for dynamically adjusting a memory page closing policy
KR100868393B1 (ko) 비휘발성 메모리 제어기 및 휘발성 메모리에 액세스하는방법 및 시스템, 비휘발성 메모리 제어기 및 휘발성 메모리
US8151036B2 (en) Memory controller, memory system, and access control method of flash memory
US20140181364A1 (en) Systems And Methods For Support Of Non-Volatile Memory On A DDR Memory Channel
US10372446B2 (en) Technology to dynamically modulate memory device read granularity
TWI776553B (zh) 具有晶片內執行能力的串列式反及閘快閃記憶體
JP2007183961A (ja) ハードディスクドライブキャッシュメモリ及び再生デバイス
US20080010419A1 (en) System and Method for Issuing Commands
TWI828963B (zh) 用於控制不同類型儲存單元的裝置及電腦程式產品
KR20200076244A (ko) 데이터 스토리지 장치를 포함하는 시스템 및 데이터 스토리지 장치의 디스카드 동작 제어 방법
US5862320A (en) SDRAM DIMM presence detect interface
Lee et al. NVDIMM-C: A byte-addressable non-volatile memory module for compatibility with standard DDR memory interfaces
KR20210042192A (ko) 반도체 메모리 장치, 전자 장치, 및 그것의 설정 방법
US11815938B2 (en) Storage device and method of operating the same
US11797450B2 (en) Electronic device, system-on-chip, and operating method thereof
US20230096111A1 (en) Memory controller, storage device, and host device
US20240143508A1 (en) Ats pri support with implicit cache
TW202403556A (zh) 記憶體系統及其操作方法
TW202307664A (zh) 記憶體裝置及其操作方法
WO2024097493A1 (en) Write buffer linking for easy cache reads
JPH1185617A (ja) コンピュータシステム
KR20210008712A (ko) 테스트 패턴 정보를 저장하는 메모리 모듈, 그것을 포함하는 컴퓨터 시스템 및 그것의 테스트 방법

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC (US)

B15K Others concerning applications: alteration of classification

Ipc: G06F 12/06 (1985.01)

B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B15K Others concerning applications: alteration of classification

Ipc: G06F 12/06 (2006.01), G06F 13/16 (2006.01), G11C 8

B09B Patent application refused [chapter 9.2 patent gazette]
B09B Patent application refused [chapter 9.2 patent gazette]

Free format text: MANTIDO O INDEFERIMENTO UMA VEZ QUE NAO FOI APRESENTADO RECURSO DENTRO DO PRAZO LEGAL