BR102016008182A2 - método e aparelho para a retenção digital i/o hiper densa - Google Patents

método e aparelho para a retenção digital i/o hiper densa Download PDF

Info

Publication number
BR102016008182A2
BR102016008182A2 BR102016008182A BR102016008182A BR102016008182A2 BR 102016008182 A2 BR102016008182 A2 BR 102016008182A2 BR 102016008182 A BR102016008182 A BR 102016008182A BR 102016008182 A BR102016008182 A BR 102016008182A BR 102016008182 A2 BR102016008182 A2 BR 102016008182A2
Authority
BR
Brazil
Prior art keywords
data
bit
uncoded
block
vectors
Prior art date
Application number
BR102016008182A
Other languages
English (en)
Inventor
Brian M Ignomirello
Original Assignee
Symbolic Io 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 Symbolic Io Corp filed Critical Symbolic Io Corp
Publication of BR102016008182A2 publication Critical patent/BR102016008182A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3082Vector coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/55Compression Theory, e.g. compression of random number, repeated compression
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Retry When Errors Occur (AREA)
  • Power Sources (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

sistema e método para codificar e decodificar os dados em bruto. o método de codificação inclui a recepção de um bloco de dados não codificados, decompor o bloco de dados não codificados em uma pluralidade de vetores de dados, mapear cada uma dentre a pluralidade de vetores de dados para um marcador de bits; e armazenar o marcador de bits numa memória para produzir uma representação codificada dos dados não codificados. codificar pode incluir ainda decompor o bloco de dados não codificados em dados padrão e dados não-padrão e mapear apenas os dados não-padrão. em algumas modalidades, os marcadores de bits podem incluir um valor de semente e regra de replicação ou um padrão fracionado.

Description

MÉTODO E APARELHO PARA A RETENÇÃO DIGITAL I/O HIPER
DENSA
REFERÊNCIA CRUZADA A PEDIDOS RELACIONADOS
[001] Este pedido reivindica o benefício de Pedido de Patente Provisória n° de Série 62/148.160, depositado em 15 de Abril, 2015, o conteúdo total da qual é aqui incorporado por referência na sua totalidade.
FUNDAMENTOS
[002] No início de 1980, a indústria de computadores emergente incorporou o modelo de computação teorizado distribuído do matemático e físicos John Von Neumann. As teorias de Von Neumann estavam muito à frente de seu tempo e foram concebidas muito antes da era da computação pessoal ter se tornado uma realidade. O modelo de Von Neumann permitiu que a noção de que muitos computadores menores poderíam escalar e produzir maior poder computacional do que um único computador caro centralizado (por exemplo, mainframe). Conforme a Era Digital se iniciou, o computador pessoal não só se tornou poderoso, mas também cresceu em presença em casas e escritórios, trazendo a utilidade das aplicações. Com o tempo, o computador pessoal (PC) superou somente ser um dispositivo desktop e expandiu-se para o data center e se transformou em servidores. Servidores no data center se transformara, no mercado de cliente-servidor e o modelo de computação distribuída bem conhecido que John Von Neumann teorizou quarenta e cinco anos antes tornou-se realidade.
[003] Durante décadas, PC, laptops e servidores foram conhecidos por usar RISC, PowerPC, ARM® e arquiteturas x86 para poder de processamento (CPU), memória limitada (por exemplo, Random Access Memory RAM) e dispositivos disco rígido (HDA) para meios de armazenamento. Como a era digital continuou a se expandir, o conteúdo criado através de computadores continuou a se diversificar, maior em densidade e impulsionou a inovação anual e atualizações no poder de processamento de computador (CPU), capacidade de RAM e densidades de disco rígido. Continua a haver detrimentos vários para essa abordagem; (1) nem todos os componentes estão ganhando desempenho ao ganhar densidade [Lei de Moore - Moore'S Law]; (2) as interfaces l/O desses elementos não estão na mesma velocidade, criando gargalos de l/O [Lei de Kryder].
[004] Uma técnica de atualização bem conhecida na indústria de computadores era a de atualizar a memória dos computadores (RAM) para obter mais desempenho de uma máquina. Por outro lado, as capacidades de memória (RAM) foram limitadas por vários fatores importantes, o processador de CPU, as limitações de densidade nanométricas do silício e dissipação de energia. Pelos padrões de hoje o maior módulo de memória disponível é de apenas 128 GB de capacidade, em contraste, o maior disco rígido de computador é de 6 TB de capacidade. Nesse exemplo, o disco rígido é 93,75X maior do que o módulo de memória; essa é a questão densidade. Ao contrário, a velocidade de transferência de entrada/saída (l/O) máxima para módulos de memória (isto é, RAM) é atualmente de 56,7 GB por segundo e a velocidade de transferência de l/O máxima para uma interface Serial Attached SCSI (SAS-II) é atualmente de 750 MB por segundo. Assim, o módulo de memória é 76,8X mais rápido do que o disco rígido SAS-II atual.
[005] Sob cargas de computação de leves, um sujeito pode não perceber esse desequilíbrio ou batalha de densidade vs. desempenho. No entanto, sob uma carga de computação pesada não há equalização desse grande desequilíbrio da densidade vs. desempenho e gargalos de l/O inevitavelmente ocorrerão. Isso, eventualmente, retardará toda a operação de computação para a velocidade do disco rígido. A tentativa fútil para evitar isso é adicionar mais sistemas no problema e reescrever aplicações para distribuir ainda mais as aplicações através de mais núcleos de processador.
[006] A resposta para esse problema quintessencial seria adicionar mais memória (RAM) e escrever algoritmos de aplicativos para aliviar os gargalos.
[007] No entanto, o próximo desafio se materializa, custar. A memória (RAM), em geral, pode ser muito caro dependendo da densidade do módulo de memória RAM. Um exemplo do mundo real de quão caro RAM é que o maior módulo de memória disponíveis atualmente disponível é de 64 GB. Um único módulo de memória RAM de 64 GB atualmente é vendido por cerca de 1.000,00 USD por módulo. A placa-mãe média de servidores x86 atualmente é vendida por cerca de 700,00 USD e pode usar até 16 ou 24 módulos de RAM. Mediante preenchimento completo de uma placa mãe x86 de baixo custo com 16 módulos atualmente custaria cerca de 16.000,00 USD; isso faz RAM cerca de 20 vezes mais caro do que a placa-mãe de baixo custo e produzirá apenas 1 TB de RAM.
[008] Em um mundo sem falhas, os computadores somente precisariam apenas memória (RAM) e altas velocidades de processadores. Caso o desafio de densidade e custo não existisse, então, os computadores sem dispositivos de armazenamento seriam possíveis. O obstáculo torna-se como os módulos de memória (RAM) funcionam. Todos os módulos de memória hoje são considerados uma tecnologia volátil, o que significa que quando você desliga um sistema de computador, a memória perde potência e a memória fica apagada. Os meios de dispositivos de armazenamento atuais não têm esse problema - quando a energia for removida, os meios de dispositivos de armazenamento retêm as informações que foram escritas aos mesmos. Quando se combina todos os fatores de densidade, desempenho, custo e volatilidade, pode-se rapidamente deduzir a realidade de um computador com somente CPU e RAM não é atingível.
[009] O que é necessário é um sistema de computação melhorado para superar os inconvenientes da técnica convencional descrita acima.
BREVE SUMÁRIO
[0010] As modalidades de acordo com a presente invenção fornecem um aparelho de computação e de armazenamento computador de baixo custo que conta com CPU e RAM, sem a necessidade de um dispositivo de armazenamento magnético, tal como um disco rígido rotativo convencional. As modalidades fornecem um aparelho de computação e armazenamento e sistema que fornecem um salto quântico além dos obstáculos mencionados em torno de computação e armazenamento. As modalidades de acordo com a presente invenção permitem que um computador que possa ter um nível de l/O constante de 57,6 GB que é 76,8X mais rápido do que qualquer x86 e o computador de alta performance existente hoje em dia.
[0011] As modalidades de acordo com a presente invenção fornecem um sistema e método para codificar e descodificar os dados brutos. O método de codificação inclui a recepção de um bloco de dados não codificados, decompor o bloco de dados não codificados em uma pluralidade de vetores de dados, mapear cada uma dentre a pluralidade de vetores de dados para um marcador de bits; e armazenar o marcador de bits numa memória para produzir uma representação codificada dos dados não codificados. O método para decodificar inclui obter uma pluralidade de marcadores de bits a partir de uma memória, mapear os marcadores de bits na pluralidade de marcadores de bits aos vetores de dados respectivos, combinar os vetores de dados respectivos com um bloco de dados não codificados para produzir um bloco de dados não codificados composto; e produzir o bloco de dados não codificados composto como os dados decodificados.
[0012] O anterior é um resumo simplificado das modalidades da divulgação para fornecer uma compreensão de alguns aspectos da divulgação. Este resumo é uma visão não exaustiva nem extensa da divulgação e suas várias modalidades. Pretende-se identificar elementos chaves ou críticos da divulgação nem para delimitar o âmbito da divulgação, mas apresentar conceitos selecionados da divulgação de uma forma simplificada como uma introdução para a mais detalhada descrição apresentada abaixo. Como será apreciado, outras modalidades da divulgação são possíveis utilizando, sozinho ou em combinação, uma ou mais das características acima ou descritos em detalhes abaixo.
BREVE DESCRIÇÃO DAS FIGURAS
[0013] As características e vantagens acima referidas e ainda da presente invenção se tornarão aparentes mediante consideração da seguinte descrição detalhada das modalidades, especialmente quando tomado em conjunto com os desenhos acompanhamento onde como referência numerais nas várias figuras são utilizados para designar como componentes, e no qual: [0014] A FIG. 1 ilustra um diagrama de blocos funcional de um sistema de computador pessoal (PC) tal como conhecido na técnica;
[0015] A FIG. 2 ilustra um diagrama de blocos funcional de um sistema PC de acordo com uma modalidade da presente invenção;
[0016] A FIG. 3A ilustra um método para codificar dados de acordo com uma modalidade da presente invenção; e [0017] A FIG. 3B ilustra um método para descodificar os dados de acordo com uma modalidade da presente divulgação.
[0018] Os títulos usados neste documento são apenas para fins organizacionais e não se destinam a serem usados para limitar o escopo da descrição ou das reivindicações. Conforme usado em todo este aplicativo, a palavra "pode" é usada num sentido permissivo (isto é, que significa ter o potencial para), ao invés do sentido obrigatório (isto é, que significa deve). De forma semelhante, as palavras "incluir", "incluindo" e "inclui" significam incluindo, mas não limitado a. Para facilitar a compreensão, como números de referência foram utilizados, onde possível, para designar como elementos comuns para as figuras. Porções opcionais das figuras podem ser ilustradas usando linhas tracejada ou pontilhada, a menos que o contexto de uso indique o contrário.
DESCRIÇÃO DETALHADA
[0019] Na seguinte descrição das modalidades, inúmeros detalhes específicos são estabelecidos a fim de fornecer uma compreensão completa das modalidades e outros exemplos descritos neste documento. Em algumas instâncias, métodos, procedimentos, componentes e circuitos bem conhecidos não foram descritos em detalhes a fim de não ofuscar a descrição a seguir. Adicionalmente, os exemplos divulgados são apenas para fins exemplificativos e outros exemplos podem ser empregados em lugar de ou em combinação com os exemplos divulgados. Também deve ser observado que os exemplos apresentados neste documento não deverão ser interpretados como limitando o escopo das modalidades da presente invenção, pois outros exemplos igualmente efetivos são possíveis ou prováveis.
[0020] Conforme usado neste documento, o termo "módulo" se refere geralmente a uma sequência lógica ou associação de etapas, processos ou componentes. Por exemplo, um módulo de software pode compreender um conjunto de rotinas ou sub-rotinas associadas dentro de um programa de computador. Alternativamente, um módulo pode compreender uns dispositivos de hardware significativamente autônomo. Um módulo também pode compreender um conjunto lógico de processos independente de qualquer implementação de software ou hardware.
[0021] Um módulo que executa uma função também pode ser referido como sendo configurado para executar a função, por exemplo, um módulo de dados que recebe os dados também pode ser descrito como sendo configurado para receber dados. A configuração para executar uma função pode incluir, por exemplo: fornecer e executar o código de computador que executa a função; fornecer parâmetros de configuração passiveis de fornecimento que controlam, limitam, ativam ou desativam capacidades do módulo (por exemplo, definir uma sinalização, definir permissões, definir níveis de limite usados em pontos de decisão, etc.); fornecer uma conexão física, como um jumper para selecionar uma opção, ou para ativar/desativar uma opção; anexar um enlace de comunicação físico; habilitar um enlace de comunicação sem fios; alimentar um circuito que executa a função (por exemplo, fornecer de potência para um circuito emissor-receptor para receber dados); e assim por diante.
[0022] A FIG. 1 ilustra um diagrama de blocos funcional de um sistema de computador convencional 100 tal como é conhecido na técnica. O sistema 100 pode ser usado, por exemplo, num sistema de computador baseado numa arquitetura compatível com Intel®. Com o avanço da tecnologia de fabricação, vários componentes funcionais podem ser fabricados em diferentes configurações de circuito integrado (IC), dependendo dos fatores como a geração de chipset, relação preço-desempenho do consumidor alvo, aplicação desejada (por exemplo, dispositivos móveis, servidores, etc) e assim por diante. Algumas funções podem ser combinadas em várias configurações tal como em um único IC, tal como um IC 116.
[0023] O sistema 100 inclui um processador 102, que pode ser um processador de uso geral, tais como Xeon®, Intel Core i7®, i5®, i3® ou processadores da Advanced Micro Devices® (AMD), tais como Athlon64® e semelhantes. Em outras modalidades, o processador 102 pode ser uma unidade de processamento gráfico (GPU). No diagrama de blocos funcional da FIG. 1, o processador 102, tal como aqui utilizado pode referir-se as funções de um processador, e / ou referem-se a um ou mais núcleos de um processador de hardware. O processador 102 pode incluir vários núcleos de processamento que operam em múltiplas velocidades de GHz. O processador 102 pode incluir uma memória cache 103 (por exemplo, cache L1 ou L2). O processador 102 também pode ser programado ou configurado para incluir um sistema de operação 104. Exemplos de sistema operacional 104 incluem várias versões de Windows®, Mac OS®, Linux® e / ou sistemas operacionais ou extensões do sistema operacional de acordo com uma modalidade da presente descrição e assim por diante. A marca registrada Windows é uma marca comercial da Microsoft Inc. A marca registrada Mac OS é uma marca comercial Apple Inc. A marca registrada Linux é usado de acordo com uma sublicença de LMI, licença exclusiva de Linus Torvalds, proprietário da marca em uma base mundial. O sistema operacional 104 executa as funções convencionais que incluem a execução de um programa de aplicação (não mostrado na FIG. 1). Funcionalmente, o sistema operacional 104 é ilustrado como sendo uma parte do processador 102, mas as porções de sistema operacional 104 podem residir fisicamente numa memória não-volátil (por exemplo, um disco rígido), não ilustrado na FIG. 1, e pelo menos as porções do sistema operacional 104 podem ser lidas na memória RAM, conforme necessário para a execução pelo processador 102.
[0024] O processador 102 pode utilizar vários barramentos internos e externos para fazer interface com uma variedade de componentes funcionais. O sistema 100 inclui o barramento de comunicação 105 que liga o processador 102 ao controlador de memória 106. O controlador de memória 106 também pode ser referido como uma northbridge. Barramento de comunicação 105 pode ser implementado como parte de um barramento frontal (FSB), um barramento de acesso à memória não uniforme (NUMA), um barramento EV6, um ônibus de interconexão de componentes periféricos (PCI), e assim por diante.
[0025] O sistema 100 inclui ainda uma memória não volátil 122 (por exemplo, uma memória CMOS) acoplada ao processador 102. A memória CMOS 122 pode incluir um sistema básico de entrada/saída (BIOS) 124, o que ajuda a gerenciar a comunicação de baixo nível entre os componentes do computador e pode incluir o armazenamento de código de computador para executar um POST (power-on self-test).
Convencionalmente, um POST pode incluir um teste de integridade dos dados da RAM instalada.
[0026] O hub controlador de memória 106 normalmente lida com as comunicações entre o processador 102 e vários componentes funcionais de alta velocidade, tal como a memória RAM externa instalada no slot de módulo de memória em linha dupla (DIMM) 108a, 108b através do barramento de comunicação 107 e da placa gráfica de vídeo 110 através do barramento de comunicação 109. Os barramentos de comunicação 107 e 109 podem ser interfaces de alta velocidade, tal como os Peripheral Component Interconnect Express (PCIe) ou Accelerated Graphics Port (AGP). O hub controlador de memória 106 também pode lidar com a comunicação entre o processador 102 e hub controlador 114, através do barramento de comunicação 112. O hub controlador 114 também pode ser conhecido por outros nomes, tal como southbridge, um Hub Controlador l/O (ICH), um Hub Controlador de Fusão (FCH), um Hub Controlador de Plataforma (PCH) e assim por diante. O hub controlador 114 por sua vez gerencia a comunicação com os dispositivos ou interfaces de l/O adicionais e/ou mais lento, como portas USB 131, unidades de disco 132 com interfaces padrão (por exemplo, ATA/SATA, mSATA, SAS, etc). Os transceptores Ethernet 133, portas de áudio 134, outros dispositivos PCI 135 e assim por diante.
[0027] Em algumas configurações de sistema 100 (não ilustradas), o processador 102 é projetado para ignorar o controlador de memória 106 e se comunicar diretamente com hub controlador 114 através de uma Direct Media Interface (DMI). Tais configurações também podem integrar as funções de processador 102 e memória de controlador 106 em um único IC 116. Nessas configurações, o hub controlador 114 é tipicamente um Platform Controller Hub (PCH).
[0028] Embora os chips de memória que compõem a memória RAM instalada nos slots DIMM 108a, 108b podem ter uma velocidade de acesso máxima muito elevada (por exemplo, cerca de 57 GBytes/seg), o barramento de comunicação 109 normalmente não pode suportar tais velocidades rápidas. Por exemplo, a velocidade de PCIe 4.0 em um slot de 16 linhas está limitado a 31,508 Gbytes/seg. AGP é ainda mais lento do que o PCIe. Portanto, o barramento de comunicação 107 é um gargalo que impede o acesso de memória mais rápida.
[0029] O gargalo de acesso à memória é uma desvantagem da técnica convencional. Outros inconvenientes descritos acima de um computador convencional inclui a incompatibilidade em tamanho de armazenamento entre o tamanho da memória RAM (tipicamente na ordem de uns poucos Gbytes) e o tamanho do armazenamento de um disco rígido convencional (tipicamente na ordem de algumas Tbytes), e o tamanho de armazenamento relativamente pequeno da memória RAM ao tamanho de armazenamento de um disco rígido convencional. Outra desvantagem da técnica convencional é a natureza volátil da memória RAM.
[0030] As modalidades de acordo com a presente divulgação corrigem o problema da densidade que a RAM tem atualmente. As modalidades de acordo com a presente divulgação endereçam esses inconvenientes da técnica convencional fornecendo-se uma interface de hardware inovadora para as unidades de armazenamento e uma interface de driver inovadora para a interface de hardware.
[0031] Fora da CPU, a RAM é o elemento mais rápido em sistemas x86 e x64 de computação, por isso, as modalidades permitem o alinhamento do desempenho RAM de alta velocidade atual com um novo método de ganho de densidade. Conforme esse efeito é aplicado, altera-se completamente o paradigma de custo e permite que os módulos de memória de baixo custo substituam a necessidade de módulos de memória de alto custo e alta densidade.
[0032] A questão remanescente é a volatilidade dos módulos de memória padrão. Uma vez que toda a RAM é volátil, não se presta a tornar- se um meio de armazenamento de longo prazo. As modalidades são semelhantes a porém se diferem da tecnologia RAM não-volátil (NVRAM), que contorna o problema da volatilidade encontrado em dispositivos DIMM padrão.
[0033] As modalidades de acordo com a presente divulgação usam uma placa-mãe x64 de baixo custo básica que pode ser equipada com processadores CPU Intel® ou AMD®. A placa-mãe tem uma CME modificado e BIOS que lhe dá a inteligência necessária para reconhecer a memória não volátil. Além disso, a placa-mãe fornece a cada módulo de memória com uma voltagem de alimentação DC (por exemplo, 1,2v, 1,35v, 1,5v, etc.) que pode ser usada para carregar capacitores de baixa carga e drenagem lenta ambientalmente seguros. Esse projeto permite que o estado de desligamento (por exemplo, perda de energia ou desligamento seguro) mantenha a persistência de dados dentro do módulo de memória, tornando assim o módulo de memória um dispositivo de armazenamento de longo prazo viável.
[0034] A FIG. 2 ilustra um diagrama de blocos funcional de um sistema de computador 200 de acordo com uma modalidade da presente invenção. Os componentes funcionais já descritos na FIG. 1 são designados na FIG. 2, o mesmo número de referência como o ilustrado na FIG. 1. O sistema 200 inclui uma interface de memória 218, que pode ser fisicamente acoplada a um slot DIMM (por exemplo, o slot DIMM 108b) através da utilização de um conector 208 tal como um conector Molex®. A interface de memória 218 se comunica com processador 202 através do slot DIMM 108b através da utilização dos protocolos convencionais no barramento de comunicação 107. A interface de memória 218 é acoplado fisicamente e comunicativamente a unidade de armazenamento RAM 220. As funções de interface de memória de 218 incluem a unidade de armazenamento RAM 220 se acoplar comunicativamente ao barramento de comunicação 107, monitorar certos eventos como o estado de saúde relacionados à unidade de armazenamento RAM 220, outros eventos de hardware, tomar certas ações com base em sinais detectados ou eventos de hardware, e assim por diante. As funções de interface de memória de 218 também pode incluir funções de processamento e de limpeza simples, tais como a resolução de endereços de memória, relatar o tamanho de memória, controle de l/O, manter o controle de e relatar os ciclos de potência total, tempo de execução em um momento, relatar o número de DIMMs, relatar o status tal como voltagem de corrente ultra-capacitor (cap), barramento pronto, último sucesso ou fracasso restauração, dispositivo pronto, status de flash da área de NAND, cap conectado, status de carga de cap, imagem válida atual, DIMM init executado, ler registos e assim por diante. NAND pode ser conhecido como um tipo de tecnologia de armazenamento não-volátil baseado em IC que não necessita de energia para manter os dados.
[0035] O sistema 200 inclui ainda uma memória não volátil 222 (por exemplo, uma memória CMOS) acoplada ao processador 202. A memória CMOS 222 pode incluir um sistema básico de entrada/saída (BIOS) 224, o que ajuda a gerenciar a comunicação de baixo nível entre os componentes do computador e pode incluir o armazenamento de código de computador para executar um POST (power-on self-test). Convencionalmente, um POST pode incluir um teste de integridade dos dados da RAM instalada. As modalidades de acordo com a presente divulgação pode incluir um POST modificado (em comparação ao POST do BIOS 124), de modo que o POST pode ignore o teste para pelo menos alguns módulos de memória pré-determinados, por exemplo, caso o teste fosse incompatível com a natureza dos dados armazenados no módulo de memória predeterminado.
[0036] As modalidades de acordo com a presente divulgação também endereçam a deficiência da volatilidade de RAM da técnica conhecida através do acoplamento de uma fonte de energia 219 com a unidade de armazenamento RAM 220. A fonte de energia 219 pode ser incorporado à interface de memória 218. A fonte de energia 219 é uma fonte de energia de reserva, de tal modo que, se uma fonte de alimentação externa para a unidade de armazenamento RAM 220 for perdida (por exemplo, por meio de uma falha de energia de CA que afeta todo o sistema de computação 200, a remoção de uma bateria de alimentação de um sistema de comunicações móveis 200, falha na placa, etc.), a fonte de energia 219 pode fornecer energia suficiente para manter a integridade dos dados armazenados na unidade de armazenamento de memória RAM 220.
[0037] Um processo de desescalonamento envolve a transferência de dados entre a mídia física. As modalidades de acordo com a presente divulgação implementam um processo de desescalonamento através da utilização de ambos os componentes de hardware e de software. Os componentes de hardware incluem o conector 208, a interface de memória de 218, a fonte de energia 219 e o armazenamento RAM 220. O conector 208 pode incluir um pino predeterminado usado para fornecer energia operacional para interface de memória 218. A interface de memória 218 pode incluir potência de processamento limitada (por exemplo, uma pequena CPU) para gerenciar os processos de detecção e notificação, tal como para o status de carga da fonte de energia 219, detecção das anomalias e para luzes LED (por exemplo, verde, amarelo, vermelho). Se uma perda de energia for indicada, um switch pode ser ativado para iniciar uma transferência para o armazenamento protegido dos dados de interface de memória 218 críticos para a operação do sistema (por exemplo, informações de configuração, status de sistema, etc.). Uma vez que o desescalonamento está concluído, a interface de memória 218 pode entrar em um modo de consumo reduzido de energia e/ou desligar. A potência para execução do processo de desescalonamento pode ser fornecida pelo menos em parte pela fonte de energia 219. A integridade dos dados será mantida através da utilização de energia a partir de fonte de energia 219.
[0038] Se conector 208 for removido do slot DIMM respectivo 108, o conector 208 e / ou a interface de memória 218 poderá incluir recursos para ajudar a garantir que, se / quando conector 208 for removido de um slot DIMM predeterminado 108, o conector 208 quando reinserido será reinserido no mesmo slot DIMM respectivo 108. Esses recursos podem agir como recursos de segurança, de tal forma que se a reinserção incorreta ocorrer, os bits armazenados efetivamente serão embaralhados e ilegíveis.
[0039] As modalidades de acordo com a presente divulgação também fornecem um processo de restauração. O procedimento de restauração é utilizável para a recuperação de uma falha total do sistema ou perda de potência. Por exemplo, se uma placa-mãe falhar, as modalidades entram em um modo de baixo consumo de energia e reparação de sistema (por exemplo, uma substituição da placa mãe) ou recuperação de componentes (por exemplo, a remoção de conector 208, de interface de memória 218, de fonte de energia 219 e de unidade de armazenamento RAM 220 para a colocação em uma nova unidade). O processo de restauração inclui módulos de memória reinstalando nos mesmos locais de slot respectivos que ocuparam na unidade defeituosa. Os módulos de memória podem incluir física ou lógica de chaveamento de modo que os módulos de memória serão inutilizáveis caso estejam instalados em locais de slot diferentes dentro da unidade de substituição. Por exemplo, os módulos de memória instalados em locais de slot diferentes podem produzir bits embaralhados (isto é, "embaralhamento de bits") se for feito uma tentativa de ler os dados dos módulos de memória inseridos. A assinatura é associada ao módulo na ranhura. Assim, por exemplo, se você tiver um módulo de memória instalado originalmente no slot B1, e tentar reinstalar no slot E1, ou vice-versa, então, a máquina não iniciaria. Os módulos de dados são compatíveis com um número de slot. Outra razão para uma associação difícil entre os módulos de memória e os números de slot é que a tentativa de restaurar os dados com módulos de memória instalados nos slots errados pode destruir os dados, portanto, as modalidades detectam uma condição de slot errada e impedem o acesso de dados.
[0040] Os processos de backup de segurança e de restauração podem ser implementados por meio de um módulo de API (isto é, "chamadas de chips"). As funções de API podem incluir backup e restauração. As funções da API podem ser desencadeadas após a ocorrência de certos eventos predeterminados, por exemplo, uma chamada de API "no disparador". Por exemplo, um programa de aplicação pode incluir um checkpoint, em que o sistema verifica a existência de uma ocorrência de uma condição ou um evento que pode representar um risco para os dados. Mediante tal detecção, um API de backup pode ser acionado, que pode copiar determinados dados críticos, informações de configuração, metadados, etc., em uma memória protegida e não volátil tal como uma memória NAND. Os exemplos de eventos que podem desencadear um backup incluem a inicialização de um processo de inicialização, recuperação de uma falha de hardware ou software, e assim por diante.
[0041] Na inicialização de sistema, a potência de circuito é fornecida e os componentes do sistema recebem potência. A fonte de energia 219 vai começar a recarregar. Os indicadores de status (por exemplo, LEDs de várias cores, como verde, amarelo, vermelho, etc.) podem ser fornecidos para o benefício visual dos usuários. Os indicadores de status podem indicar o progresso numa primeira fase (por exemplo, executar uma soma de verificação). Se um problema pode ser indicado, as modalidades podem proceder a um procedimento alternativo e/ou mais abrangente, por exemplo, verificar a imagem de dados para comparar cuidadosamente cada bit e byte. Utilizando métodos convencionais, isso pode ser um processo muito lento, devido a limites de velocidade NAND, por exemplo, uma inicialização de dez minutos. As condições de falha podem ser detectadas e causarem uma parada de sistema, falta de módulo, incompatibilidade de módulo, etc. Como observado anteriormente, se interface de memória 218 e unidade de armazenamento RAM 220 não forem substituídas corretamente (por exemplo, slot errado ou ordem errada) ou estiverem instaladas em um sistema errado (isto é, um sem bitmarkers necessários), os dados podem não ser recuperados. Esse comportamento é necessário a fim de fornecer alta segurança. Um indicador separado pode indicar quando uma função de API está completa.
[0042] Voltagem e fluxo de energia (por exemplo, 1,2v, 1,35v, 1,5v, etc.) são aplicados através do conector 208 a um pino DIMM designado ou elemento alternativo, que por sua vez sob a operação normal energiza a fonte de energia 219. O projeto térmico da interface de memória 218 pode incluir um elemento para resfriar a fonte de energia 219, por exemplo, pelo uso de um dissipador de calor.
[0043] A fonte de energia 219 pode ter energia suficiente para manter a integridade dos dados durante um período de tempo de pelo menos vários meses. A fonte de energia 219 pode ser um condensador de grande capacitância conhecido como um "super cap", por exemplo, pelo menos 600 Farads. Alternativamente, a fonte de energia 219 pode ser uma bateria. No entanto, uma fonte de energia baseada em bateria como uma bateria de lítio é propensa a falha catastrófica (por exemplo, formação de arco, fogo) se danificadas ou um curto-circuito interno se desenvolver. A fonte de energia 219 pode ser continuamente carregada em condições normais através da potência principal ao sistema 200 quando a fonte de energia 219 não estiver fornecendo energia para a unidade de armazenamento RAM 220.
[0044] O estado de sistema pode ser restaurado, desde que o estado do sistema seja armazenado na unidade de armazenamento RAM 220. Em algumas modalidades, uma fonte de energia de segurança separada também pode fornecer energia a outras porções de um sistema de computação (por exemplo, um processador e cache), de tal modo que um estado de sistema ou outros estados adicionais possam ser conservados durante uma falha de energia. Quando a fonte de alimentação externa for restaurada, o sistema de computação pode ser reiniciado ou restaurado a partir de um estado persistente ou com estado. Em algumas modalidades, o sistema pode entrar ou existir num estado de consumo reduzido de energia, enquanto o estado do sistema é preservado pela fonte de energia de segurança.
[0045] As funções de interface de memória de 218 podem ainda incluir o monitoramento de um estado de saúde da fonte de energia 219, por exemplo, um nível de voltagem uma vez que os níveis de voltagem podem se deteriorar ao longo do tempo ou antes de uma falha. Tal estado de saúde pode ser comunicado de volta para um sistema de monitoramento através do barramento de comunicação 107. A interface de memória de 218 e armazenamento RAM 220 pode operar sem a necessidade de modificação para memória cache 103.
[0046] O sistema 200 inclui ainda o sistema operacional 204, que é adaptado para armazenar e recuperar dados de / para a unidade de armazenamento RAM 220. O sistema operacional 204 inclui o módulo de adaptação de dados 211 como parte de uma interface de driver inovadora. O módulo de adaptação de dados 211 executa o software gerador de bit, que fornece as funções do módulo de adaptação de dados 211 aqui descrito. O software de geração de bits pode ser carregado em tempo real, durante o processo de inicialização do processador 202. A memória RAM convencional (por exemplo, memória acoplada ao slot DIMM 108a) e / ou a memória cache 103 pode ser usada para suportar as funções do módulo de adaptação de dados 211. Quando se armazena os dados, o módulo de adaptação de dados 211 adapta os dados a serem armazenados na unidade de armazenamento de memória RAM 220 através da codificação de dados brutos em dados codificados e, então, armazena os dados codificados na unidade de armazenamento RAM 220. Tipicamente, para os dados em bruto de um tamanho pré-determinado (isto é, uma quantidade predeterminada de bits de dados brutos), os dados codificados são menores, isto é, os dados codificados podem ser representados por uma quantidade menor de bits de dados codificados que a quantidade de bits de dados brutos. O módulo de adaptação de dados 211 pode armazenar na unidade de armazenamento RAM 220 uma quantidade de dados que, se representada na sua forma em bruto, excedería a capacidade de armazenamento da unidade de armazenamento RAM 220. Uma capacidade de armazenamento eficaz da unidade de armazenamento RAM 220, por exemplo, conforme medido por um número equivalente de bits de dados brutos, pode ser superior a uma capacidade de armazenamento físico da unidade de armazenamento de memória RAM 220. O processador 202 pode utilizar memória RAM convencional e / ou memória cache 103, a fim de suportar a operação de processador 202 para as funções convencionais, por exemplo, como um servidor.
[0047] A transferência de dados codificados pelo módulo de adaptação de dados 211 na unidade de armazenamento de memória RAM 220 pode ocorrer em uma taxa de transferência que, se representada pela transferência dos bits de dados brutos equivalentes, iria exceder a taxa máxima de transferência dos dados do processador, a unidade de armazenamento de RAM 220 e o barramento de comunicação que liga o processador à memória unidade de armazenamento RAM 220.
[0048] Da mesma forma, quando a recuperação de dados armazenados da unidade de armazenamento RAM 220, o módulo de adaptação de dados 211 adapta os dados lidos da unidade de armazenamento de RAM 220 através da decodificação dos dados codificados em dados brutos, em seguida, fornece os dados brutos para outros usos, por exemplo, através do processador 202 ou programas de aplicação em execução no processador 202.
[0049] O módulo de adaptação de dados 211 adapta os dados a uma velocidade suficientemente elevada de modo a que os recursos gastos na codificação dos dados (por exemplo, o tempo de processamento pelo processador 202) seja menor que os recursos salvos (por exemplo, o tempo de transmissão no canal de comunicação 107) mediante transmissão dos dados codificados em vez dos dados brutos para a unidade de armazenamento RAM 220. Da mesma forma, o tempo de processamento gasto decodificando os dados é menor do que a o tempo salvo resultante da transmissão de dados codificados em vez de dados em bruto da unidade de armazenamento RAM 220.
[0050] As modalidades de acordo com a presente descrição, quando em produção, podem executar um OS fino especializado no módulo de adaptação de dados 211 que permite que a plataforma seja um sistema de computação e armazenamento híbrido. O OS também vai oferecer uma plataforma de virtualização de servidor embutida para permitir que várias máquinas virtuais executem simultaneamente na plataforma. Um dos muitos exemplos desses seria um sistema único executando dez a quinze ou mais instâncias do Microsoft Windows de forma independente e, simultaneamente, todos sem nunca experimentando um lag l/O que de outra forma seria inerente a plataformas de computação virtuais conhecidas convencionais.
[0051] As modalidades de acordo com a presente divulgação também podem ser usadas quando a execução de processamento das transação de extremamente alto desempenho encontrado nos sistemas de bases de dados complexos. Essas aplicações permitem a possibilidade de executar uma grande parte, ou totalmente, do banco de dados de sistema puramente na RAM.
[0052] O teste e/ou simulação preliminares das modalidades indicam que um sistema configurado corretamente poderia alcançar mais de 4 TB de RAM de armazenamento RAM de velocidade extremamente alta com somente 48 GB de NVRAM.
[0053] Os processos para codificar os dados em bruto, e para decodificar os dados processados para produzir os dados em bruto, conforme é descrito aqui podem ser realizados por invocar módulos dentro do módulo de adaptação de dados 211. Esses módulos podem ser invocados pelo sistema operacional 204 ou outro programa de aplicação em execução no processador 202.
[0054] Uma modalidade da codificação dos dados brutos é descrita em Publicação do Pedido de Patente n° U.S. 2014/0223118 para Ignomirello (“the Ί18 Publication"), que é comumente atribuída com o presente pedido e o conteúdo total do qual é aqui incorporado por referência.
[0055] Outras modalidades podem codificar os dados brutos através da utilização de um método de marcador de bits, conforme como descrito na Publicação '118, que permite que a capacidade de armazenamento eficaz da unidade de armazenamento RAM 220 torne-se mais elástica, e permita que a capacidade de armazenamento e densidade eficazes cresça muito rapidamente. A capacidade de armazenamento pode ser elástica no sentido em que uma quantidade equivalente de dados em bruto pode ser armazenada não seja um valor fixo, mas possa mudar, dependendo das características dos dados em bruto, por exemplo, quão bem os dados em bruto correspondem aos marcadores de bits. A capacidade dos dados em bruto que não é controlada ou conhecida antecipadamente pelo sistema operacional ou software de nível inferior, tal como o sistema básico de entrada/saída (BIOS). As modalidades podem reduzir a necessidade de chips RAM de altíssima capacidade física e projeto de característica nanométrica muito densa concomitantes, permitindo assim o uso de menor densidade e / ou gerações mais velhas de chips de memória RAM para unidade de armazenamento RAM 220.
[0056] Um marcador de bits pode ser derivado de, ou com base, pelo menos em parte, de uma característica dos dados em bruto ou uma característica derivada dos dados em bruto. A característica dos dados em bruto pode ser, por exemplo, o tipo de dados em bruto (por exemplo, um arquivo de áudio, um arquivo gráfico, um arquivo de vídeo, um arquivo ZIP, um arquivo Word, PDF, etc.), um formato de arquivo (por exemplo, para arquivos gráficos, bitmap, GIF, TIF, JPEG, etc.), o conteúdo do arquivo (por exemplo, para um arquivo de áudio MP3, se for um MP3 da música clássica, jazz, rap, música rock, palavras ditas tal como um livro de áudio, etc.), os atributos do arquivo (por exemplo, para um arquivo de áudio MP3, taxa de bits, mono ou estéreo, metadados, comprimento total, codificador usado, alcance dinâmico, tempo de duração, etc.), as estatísticas de arquivo (por exemplo, tamanho, idade, data de modificação, distribuição de probabilidade de bytes ou sequências de bytes no interior do arquivo, etc) e assim por diante. Por exemplo, um arquivo MP3 pode conter certos bits de dados em bruto (isto é, sequências de bytes) mais frequentemente que um tipo diferente de arquivo (por exemplo, um arquivo JPG), portanto, conhecimento de que um arquivo é um arquivo MP3 pode afetar os marcadores de bit selecionados e os bits de dados em bruto que cada marcador de bits representa. O módulo de adaptação de dados 211 pode mudar adaptativamente, ao longo do tempo ou sobre a quantidade de dados em bruto processada, os marcadores de bits usados para representar os dados em bruto em resposta às mudanças nas características dos dados em bruto, por exemplo, caso as características dos dados brutos se tornem mais conhecidas ou não sejam estacionárias no sentido estatístico.
[0057] Um marcador de bits pode representar um vetor de dados em bruto, isto é, uma sequência predeterminada de bits de dados em bruto. O vetor de dados em bruto também pode ser referido como um segmento de dados. Diferentes marcadores de bits podem representar vetores de diferentes tamanhos. Os dados em bruto podem ser decompostos em vetores de dados brutos e, então, os vetores mapeados para um marcador de bits. Em algumas modalidades, os vetores concatenados podem representar os dados em bruto. Em outras modalidades, os vetores podem sobrepor-se de tal modo que uma combinação de vetores (por exemplo, Boolean, AND, OR, XOR, NAND, etc.) podem representar os dados em bruto. Os dados em bruto podem ser representados por uma pluralidade de camadas (por exemplo, para um arquivo gráfico, camadas separadas para cada componente de cor, tais como: R, G, B; ou C, Y, Μ, K; ou outras camadas lógicas, etc), e marcadores de bits podem ser usados para representar os bits de dados em bruto separadamente dentro de cada camada de cor. Em algumas modalidades, os dados em bruto podem ser representados como uma estrutura de dados multidimensionais (por exemplo, uma matriz 2-D, um cubo 3-D, uma estrutura n-dimensional, etc) e um vector pode representar uma porção contígua da estrutura de dados multidimensionais (por exemplo, uma porção retangular de uma matriz 2-D dos dados em bruto). Um marcador de bits pode ser visto como uma função de translação que translada entre um ponteiro de vetor e os dados em bruto de vetor em si.
[0058] Em algumas modalidades, o conhecimento de um marcador de bits (por exemplo, característica derivada dos dados em bruto) podem ser suficientes para gerar vectores modelos para corresponderem aos dados em bruto. Por exemplo, suponha que um conjunto de bits em bruto (por exemplo, um arquivo ou informações recebidas a partir de um enlace de comunicação) representa mídia de streaming de vídeo. Pode ser suposto, deduzido ou de outra forma configurado que os bits em bruto representam mídia de streaming de vídeo que apresentam características particulares (por exemplo, taxa de quadros, resolução, dimensões de pixels, paleta de cores, etc.) e um marcador de bits pode ser selecionado para indicar que os dados é mídia de streaming de vídeo dessas características. Conhecimento de que o marcador de bits representa a mídia de streaming de vídeo dessas características pode ser usado para gerar vetores de modelo preditivamente correspondidos às características da mídia de streaming de vídeo, por exemplo, taxa de quadros, resolução, dimensões de pixels, paleta de cores, etc. Uma vantagem de uma tal modalidade é que uma vez que o marcador de bits é conhecido, a codificação pode ser realizada em tempo real, por exemplo, através do processamento de mídia de streaming em tempo real. Para o processamento de um arquivo (por exemplo, um arquivo MP3, um disco de vídeo DVD, etc.), o tratamento pode ser realizado sem a necessidade de ler completamente o arquivo (por exemplo, em uma base de seção-por-seção) e precisa somente de um buffer de um tamanho relativamente modesto. Os dados codificados podem ser armazenados na unidade de armazenamento RAM 220, uma vez que produzidos.
[0059] Em algumas modalidades, um objeto pode ser um objeto composto, isto é, um objeto de um tipo de arquivo e ainda englobar um outro tipo de arquivo. Por exemplo, um objeto de e-mail pode incluir dentro dele um objeto incorporado como uma PDF anexado, um arquivo ZIP anexado, um documento Word anexado, um outro objeto e-mail, etc. O conhecimento de que um objeto é um objeto composto pode ser útil para ajudar a selecionar os vetores e marcadores de bits apropriados para o tipo embutido de objeto, e para as porções separadas do objeto composto.
[0060] Em algumas modalidades, os dados em bruto podem ser convertidos de uma estrutura tridimensional para uma estrutura multidimensional através da análise dos dados em bruto para determinar limites úteis entre as várias seções antes do particionamento. As várias seções após particionamento formam a estrutura multidimensional. Em algumas modalidades, a análise pode levar em conta tamanho do cache de processador disponível, por exemplo, a fim de ajudar a garantir que a análise pode ser realizada rapidamente.
[0061] Em algumas modalidades, um marcador de bits pode representar um núcleo (isto é, um conjunto relativamente pequeno de bits de dados em bruto de semente, um valor de partida, um padrão de teste, etc) em conjunto com uma regra de replicação para como produzir os dados adicionais a partir da semente, por exemplo, para expandir o núcleo para um número arbitrariamente grande de bits de dados em bruto. A regra para produzir os dados adicionais pode incluir, por exemplo, a replicação de um número predeterminado de vezes ou para um comprimento predeterminado, uma replicação baseada em fractal, replicação de comprimento de execução e assim por diante. Tal representação pode ser útil para um mapeamento baseado em fractal de bits de dados em bruto para um padrão fractal renderizado em um tamanho particular, por exemplo, se uma porção de uma estrutura de dados em bruto multidimensional 2-D puder ser representada por um padrão fractal. Como o usado pelas modalidades, os padrões fractais para a codificação e decodificação de dados podem existir para os dados em bruto em outra dimensionalidade, por exemplo, 1-D (um padrão linear), 3-D e assim por diante.
[0062] Em algumas modalidades, um marcador de bits pode representar um ou mais submarcadores de DNA, em conjunto com uma regra para a combinação dos submarcadores de DNA. Por exemplo, um marcador de bits pode representar um vetor V4 concatenado com o produto de XOR de V3 e Vi. O marcador de bits resultante pode, então, funcionar como um submarcador para combinar com outros submarcadores para formar um outro marcador.
[0063] Inicialmente, os vetores e os seus marcadores de bit correspondentes podem ser armazenados em um campo de vetores. O campo de vetor é normalmente armazenado em uma memória separada, separado unidade de armazenamento RAM 220. Por exemplo, se a unidade de armazenamento RAM 220 for acoplada ao terminal DIMM 108b, então, o campo de vetor pode ser armazenado em uma memória DIMM convencional acoplada ao soquete DIMM 108a ou na memória cache 103 e assim por diante. Um grupo de bits de dados em bruto pode ser transmitido ao módulo de adaptação de dados 211, que, então, mapeia ou correlaciona os bits de dados em bruto ou uma porção dos mesmos para vetores no campo de vectores. Corresponder os marcadores de bits, então, podem ser recuperados do campo de vectores e armazenados na unidade de armazenamento RAM 220 no lugar dos bits de dados em bruto equivalentes. Os marcadores de bits podem ser reusados ou "amplificados", de tal modo que se os dados em bruto incluírem vários exemplos de bits de dados em bruto, o marcador de bits correspondente poderá ser armazenado na unidade de armazenamento RAM 220 com uma indicação que é usado para as múltiplas instâncias dos bytes de dados em bruto. A amplificação refere-se a uma proporção entre o tamanho de um marcador de bits (por exemplo, tal como medida pela quantidade de bits ou bytes) e o tamanho dos bits (ou bytes) de dados em bruto equivalentes substituídos por instâncias do uso do marcador de bits.
[0064] Em algumas modalidades, a unidade de armazenamento RAM 220 pode ser particionada logicamente, de tal modo que uma porção da unidade de armazenamento de memória RAM 220 (por exemplo, uma porção fisicamente endereçável) possa armazenar os marcadores de bits, enquanto que uma outra porção da unidade de armazenamento RAM 220 pode operar como memória tradicional. Em algumas modalidades, a unidade de armazenamento RAM 220 acoplada a um dos slots DIMM (por exemplo, Slot DIMM 108b) pode operar para armazenar os marcadores de bits e um módulo de RAM acoplado a outro slot DIMM (por exemplo, slot DIMM 108a) pode funcionar como memória convencional.
[0065] Outras modalidades de acordo com a presente divulgação incluem um gerador de bits que codifica os dados de forma longa em marcadores de bits de forma curta durante o preenchimento de dados e decodifica os marcadores de bits forma curta em dados de forma longa em tempo real quando solicitado.
[0066] Em algumas modalidades, um ou mais padrões podem ser discernidos em um conjunto de dados em bruto. O padrão pode ser, por exemplo, uma periodicidade nos bits em bruto quando os bits em bruto forem expressos como uma série linear de "0" e "1". Os padrões também podem estar na forma de uma periodicidade nos dados em bruto quando os dados em bruto forem expressos como uma série linear de bytes ou uma periodicidade multidimensional quando os dados em bruto forem expressos como um conjunto multidimensional de dados em bruto. A periodicidade pode ser expressa como um padrão predeterminado de um padrão nos dados em bruto. As características da periodicidade pode incluir uma frequência e uma fase. Os dados multidimensionais podem ser caracterizados de forma independente em cada dimensão. Um período (ou, inversamente, uma frequência) pode ser expressa como bits em bruto por repetição do ciclo do padrão predeterminado, por exemplo, 256 bits por ciclo, 65.536 bits por ciclo, etc. Uma fase pode indicar um ponto de partida do padrão com relação a uma cópia de referência do padrão predeterminado (por exemplo, uma cópia de dicionário). As modalidades podem usar as características de frequência e de fase como as características de identificação (por exemplo, um marcador de bits, uma impressão digital, etc.).
[0067] Em algumas modalidades, uma periodicidade em dados em bruto unidimensional pode ser modelada ou analisada como uns dados em bruto multidimensionais. Por exemplo, um traço de dados que representa um eletrocardiograma inclui uma periodicidade inerente representada pela taxa de batimentos cardíacos. A periodicidade não é perfeita, devido ao fato de que a frequência (por exemplo, batidas por minuto) pode mudar ao longo do tempo e a forma exata do eletrocardiograma pode mudar de um batimento para outro. No entanto, o traço de eletrocardiograma pode ser modelado como uma estrutura multidimensional, com o eletrocardiograma para uma batida (por exemplo, um primeiro batimento ou um batimento de referência ou um batimento ideal, etc), que representa um plano (isto é, dois eixos) de voltagem versus tempo e uma terceira dimensão que representa a quantidade de batimentos ordinal. Os dados podem ser codificados em parte analisando-se as diferenças na terceira dimensão, depois de considerar alterações nos fatores, tais como a frequência indicada acima.
[0068] Em algumas modalidades, o padrão pode representar uma combinação linear de uma ou mais funções de base ou vetores de base. Em matemática, uma função de base é um elemento de uma base particular para um espaço funcional. Cada função contínua no espaço de função pode ser representada como uma combinação linear de funções de base. Da mesma forma, cada vetor num espaço vetorial pode ser representado como uma combinação linear de vetores de base. Os vetores de base são conhecidos como um conjunto de vetores linearmente independentes num espaço vetorial e cada outro vetor no espaço vetorial é linearmente dependente desses vetores.
[0069] Por exemplo, os dados em bruto podem ser decompostos em uma combinação de vetores de base. Cada vetor de base é um padrão binário mensurável. De um modo preferido, um vetor de base deve ser muito longo em comparação com um marcador de bits (isto é, um ponteiro para um vetor com base em um mapa de vetor) usado para fazer referência ao vetor de base, mas o vetor de base pode ser mais curto do que a totalidade dos dados em bruto. A representação dos dados em bruto como vetores de base pode incluir um ou mais pares de dados de (a) um marcador de bit para um vetor de base e (b) uma posição de partida nos dados em bruto do vetor de base. Um pool de genes está relacionado ao mapa de vetor, em que o pool de genes pode incluir informações sobre como reconstruir os dados em bruto a partir de vetores. Por exemplo, um pool de genes pode indicar um tipo de arquivo a ser reconstruído (por exemplo, um arquivo MP3), o conhecimento de que seria útil na reconstrução do arquivo. Uma analogia a um quebra-cabeça, os vetores podem representar peças individuais de um quebra-cabeça e um pool de gene pode representar uma foto que todo o quebra-cabeça deve parecer quando concluído.
[0070] Em algumas modalidades, os dados em bruto não representam por um vetor de base podem ser considerados para ser um valor predeterminado, por exemplo, um byte 0x00 ou OxFF. Isso pode ser útil se os dados em bruto tiverem uma grande quantidade de bits ou bytes consecutivos do valor predeterminado, por exemplo, uma grande quantidade de bytes consecutivos 0x00.
[0071] Em algumas modalidades, os dados em bruto podem ser decompostos em vetores de base que podem, pelo menos parcialmente, se sobrepor. Os vetores de base de sobreposição podem ser combinados por padrão como um boolean OR, mas podem ser usadas outras funções boolean (por exemplo, AND, XOR, NAND, etc.).
[0072] Em algumas modalidades, o dicionário de vetor pode ser adaptável a mudanças nas estatísticas dos dados em bruto. Por exemplo, se o tipo de informações a ser armazenado se altera (por exemplo, de vídeo para MP3), as estatísticas dos dados em bruto podem também alterar. Tais mudanças podem significar que certos vetores de base são usados com menos frequência e outros vetores de base podem ser usados com mais frequência. As modalidades podem reconhecer as mudanças em uso e atualizar um dicionário de base adequado, por exemplo, pela remoção de alguns vetores de base e adicionando outros vetores de base. O decodificador estará ciente das mudanças no dicionário vetor, por exemplo, pela inclusão de uma atualização de dicionário.
[0073] Em algumas modalidades, as entradas no dicionário de vetor pode ter diferentes, mas comprimentos fixos. Os comprimentos podem depender das estatísticas dos dados em bruto. Por exemplo, os marcadores de bits podem ter diferentes comprimentos, de modo que os marcadores de bits correspondentes a vetores de ocorrência mais comum nos dados em bruto possam ser mais curtos (isto é, o marcador de bits compreende menos bits) que os marcadores de bits que correspondem a vectores de menor ocorrência comum nos dados em bruto. Alternativamente, os marcadores de bits podem ter comprimentos iguais, mas alguns marcadores de bits podem corresponder a um vetor mais longo porém de ocorrência mais comum dos dados em bruto que os outros marcadores de bits que representam um vector mais curto porém de ocorrência menos comum dos dados em bruto.
[0074] Em algumas modalidades, os marcadores de bits podem ser representados em um paradigma de árvore e folha, que podem ser inerentemente hierárquicos. Nesse paradigma, cada marcador de bits é representado por uma folha, com um tamanho e/ou a posição da folha na árvore correspondendo a uma característica do marcador de bits que representa. Por exemplo, um marcador de bits de ocorrência mais comum pode ser representado como uma folha menor ou uma folha mais próxima à raiz da árvore. Por outro lado, um marcador de bits de ocorrência menos comum pode ser representado como uma folha maior ou uma folha mais longe da raiz da árvore. O objetivo pode ser a utilização de folhas que são tão pequenas quanto possível, ou usar as folhas tão próximas da raiz quanto possível, ou usar as folhas que tendem a minimizar uma função matemática, tal como um produto do tamanho da folha vezes a quantidade de vezes que a folha é usada.
[0075] A decodificação dos dados envolve a leitura dos dados codificados da unidade de armazenamento RAM 220 e, em seguida, executar as funções para reverter os processos de codificação. As funções de decodificação podem ser fornecidas por módulos dentro do módulo de adaptação de dados 211. Por exemplo, para restaurar os dados, um bloco de dados codificados pode ser lido a partir da unidade de armazenamento RAM 220. O bloco de dados codificados pode ser temporariamente armazenado numa memória de alta velocidade, enquanto os processos de decodificação são realizados. Os processos de decodificação são fornecidos por módulos dentro do módulo de adaptação de dados 211. Esses módulos podem ser chamados pelo sistema operacional 204.
[0076] Mais particularmente, quando se recupera os dados de unidade de armazenamento RAM 220 e decodificá-os, o módulo de adaptação de dados 211 adapta os dados a serem armazenados na unidade de armazenamento RAM 220 através da decodificação de dados em bruto em dados decodificados. A memória RAM convencional (por exemplo, memória acoplada ao slot DIMM 108a) e/ou memória cache 103 pode ser usada para suportar funções de decodificação do módulo de adaptação de dados 211.
[0077] A FIG. 3A ilustra um processo de decodificação 300, em conformidade com uma modalidade da divulgação presente. O processo 300 pode ser realizado através do sistema operacional 204 e o módulo de adaptação de dados 211.
[0078] O processo de 300 começa na etapa 301, em que um bloco de dados em bruto a ser armazenado é recebido a partir de um programa de aplicação que se deseja armazenar os dados em bruto. Os dados em bruto podem estar na forma de um arquivo, uma mídia de streaming, um bloco de dados de tamanho fixo ou tamanho variável e assim por diante.
[0079] Em seguida, o processo 300 transita para a etapa 303, em que as porções dos dados em bruto foram apresentadas na etapa 301 podem ser mapeadas ou combinadas com vetores candidatos de dados em bruto. Os vectores candidatos podem ser armazenados como uma tabela de (marcador, vetor) pares na memória convencional. O objetivo é representar cada bit ou byte nos dados em bruto por pelo menos um vetor. Certos bytes de dados em bruto, tais como 0x00 ou OxFF podem ser considerados um valor padrão e para quaisquer bytes de dados em bruto iguais ao valor padrão, é opcional representar os bytes padrão com um vetor.
[0080] Em seguida, o processo 300 transita para a etapa 305, em que os vectores determinados na etapa 303 podem ser mapeados para um marcador de bits respectivo da tabela (marcador, vector) de pares. O marcador de bits é uma forma abreviada para se referir ao vector associado.
[0081] Em seguida, o processo 300 transita para a etapa 307, em que o marcador de bits da tabela (marcador, vector) de pares é armazenado na memória, tal como a unidade de armazenagem RAM 220.
[0082] A FIG. 3B ilustra um processo de decodificação 350, em conformidade com uma modalidade da divulgação presente. O processo 350 pode ser realizado através do sistema operacional 204 e o módulo de adaptação de dados 211.
[0083] O processo de 350 começa na etapa 351, em que um bloco de dados codificados a ser descodificado é lido a partir de uma memória, tal como uma unidade de armazenamento RAM 220. Os endereços podem ser administrados por meio de métodos e tabelas de ajustamento de endereço virtual, como é conhecido para os versados na técnica.
[0084] Em seguida, o processo 350 transita para a etapa 353, em que os marcadores de bits são extraídos a partir dos dados codificados.
[0085] Em seguida, o processo 350 transita para a etapa 355, em que os marcadores de bits extraídos da etapa 353 são procurados na tabela (marcador, vector) de pares.
[0086] Em seguida, o processo 350 transita para a etapa 357, em que um vector de dados em bruto é extraído a partir de uma entrada na tabela (marcador, vetor) de pares, correspondendo ao marcador de bits extraído a partir da etapa 353.
[0087] Em seguida, o processo 350 transitar para a etapa 359, em que os vectores de dados brutos extraídos a partir da etapa 357 são combinados para formar os dados descodificados reconstruídos. Se os vetores de dados brutos combinados não cobrirem todos os endereços dentro de todo um intervalo de endereço esperado dos dados decodificados reconstruídos, os endereços descobertos podem ser considerados para assumir um valor padrão nos dados descodificados, por exemplo, bytes 0x00 ou OxFF.
[0088] Ao analisar a capacidade de l/O, os sistemas convencionais podem permitir velocidade de l/O contínua até 57,6 GB por segundo. Em contrapartida, para um sistema de acordo com uma modalidade da presente descrição, o sistema testado com processadores Intel Ivy Bridge 2697 v2, as modalidades podem ter 24 núcleos de processo físicos e até 40 núcleos hyper thread, 6144 KB de cache de processador L2, 60 MB de cache de processador L3 tudo em 5,4 GHz com uma capacidade de boost de 7,6 GHz. Comparando o desempenho das modalidades vs. qualquer outro servidor Ivy Bridge 2697 v2 mostra um aumento de l/O de 76,8X mais rápido. Os ganhos de desempenho proporcionais são alcançáveis com outros ambientes de computação, incluindo arquiteturas de placas-mãe Haswell e memória DDR4.
[0089] Embora o que precede é direcionado para as modalidades da presente invenção, outra e mais modalidades da presente invenção pode ser concebida sem partir de seu o âmbito de aplicação básica. Entende-se que várias modalidades aqui descritas podem ser utilizadas em combinação com quaisquer outras modalidades descritas, sem partir do âmbito aqui contido. Ainda, a descrição acima não se pretende ser exaustiva ou limitar a invenção para a forma exata divulgada. Modificações e variações são possíveis tendo em conta os ensinamentos acima, ou podem ser adquiridas a partir da prática da invenção. Certas modalidades exemplares podem ser identificadas pelo uso de uma lista aberta que inclui formulação para indicar que os itens da lista são representativos das modalidades e que a lista não serve para representar uma lista fechada, excluindo outras modalidades. Tal formulação pode incluir "p. ex.", "etc.", "como", "por exemplo", "e assim por diante", "e similares", etc., e outras menções, como será evidente a partir do contexto circundante.
[0090] Nenhum elemento, ato ou instrução usado na descrição do presente pedido deve ser interpretado como crítico ou essencial para a invenção, a menos que explicitamente descrito como tal. Além disso, como usado aqui, o artigo "a" destina-se a incluir um ou mais itens. Onde destina-se apenas um item, o termo "um" ou linguagem semelhante é usada. Além disso, os termos "qualquer" seguido de uma listagem de uma pluralidade de itens e/ou uma pluralidade de categorias de itens, como usado aqui, destinam-se a incluir "qualquer de," "qualquer combinação de," "qualquer múltiplo de," ou "qualquer combinação de múltiplos de" os itens e/ou as categorias de itens, individualmente ou em conjunto com outros itens e/ou outras categorias de itens.
[0091] Além disso, as reivindicações não devem ser lidas como limitantes a ordem descrita ou elementos a menos que indicado para o efeito. Além disso, a utilização do termo "significa" em qualquer das reivindicações destina-se a invocar 35 U.S.C. §112, H 6, e qualquer reivindicação sem a palavra "significa" não é assim pretendido.
REIVINDICAÇÕES

Claims (26)

1. Método de codificação caracterizado pelo fato de que compreende: receber um bloco de dados não codificados; decompor o bloco de dados não codificados em uma pluralidade de vetores de dados; derivar um marcador de bits a partir de uma característica dos dados não codificados; mapear cada um da pluralidade de vetores de dados para um marcador de bits derivado respectivo; e armazenar o marcador de bits derivado numa memória para produzir uma representação codificada dos dados não codificados.
2. Método de codificação caracterizado pelo fato de que compreende: receber um bloco de dados não codificados; decompor o bloco de dados não codificados em dados padrão e dados não-padrão; mapear os dados não-padrão a uma pluralidade de vetores de dados; mapear cada um da pluralidade de vetores de dados para um marcador de bits respectivo; e armazenar o marcador de bits numa memória para produzir uma representação codificada dos dados não codificados.
3. Método de codificação caracterizado pelo fato de que compreende: receber um bloco de dados não codificados; decompor o bloco de dados não codificados em uma pluralidade de vetores de dados; mapear cada um da pluralidade de vetores de dados para um marcador de bits respectivo; e armazenar o marcador de bits numa memória para produzir uma representação codificada dos dados não codificados, em que, pelo menos, parte da pluralidade dos vetores de dados se sobrepõem uns aos outros quando representam o bloco de dados não codificados.
4. Método de codificação caracterizado pelo fato de que compreende: receber um bloco de dados não codificados; decompor o bloco de dados não codificados em uma pluralidade de vetores de dados; mapear cada um da pluralidade de vetores de dados para um marcador de bits respectivo; e armazenar o marcador de bits numa memória para produzir uma representação codificada dos dados não codificados, em que o marcador de bits compreende um valor de semente e uma regra de replicação.
5. Método de codificação caracterizado pelo fato de que compreende: receber um bloco de dados não codificados; decompor o bloco de dados não codificados em uma pluralidade de vetores de dados; mapear cada um da pluralidade de vetores de dados para um marcador de bits respectivo; e armazenar o marcador de bits numa memória para produzir uma representação codificada dos dados não codificados, em que que o marcador compreende a pluralidade de outros marcadores de bits e uma regra de combinação.
6. Método de codificação caracterizado pelo fato de que compreende: receber um bloco de dados não codificados; decompor o bloco de dados não codificados em uma pluralidade de vetores de dados; mapear cada um da pluralidade de vetores de dados para um marcador de bits respectivo; e armazenar o marcador de bits numa memória para produzir uma representação codificada dos dados não codificados, em que o referido vetor de dados compreende um padrão fracionado.
7. Método de codificação, de acordo com qualquer uma das reivindicações 1 a 6, caracterizado pelo fato de que o bloco de dados não codificados representa um objeto composto.
8. Método de codificação, de acordo com qualquer uma das reivindicações 1 a 6, caracterizado pelo fato de que o bloco de dados não codificados representa um objeto de dados multi-dimensionais.
9. Método de descodificação, caracterizado pelo fato de que compreende: recuperar uma pluralidade de marcadores de bits de uma memória; mapear os marcadores de bits na pluralidade de marcadores de bits aos vetores de dados respectivos; combinar os vetores de dados respetivos com um bloco de dados não codificados para produzir um bloco de dados não codificados composto; e combinar o bloco de dados não codificados composto com dados padrão para produzir os dados decodificados.
10. Método de descodificação, caracterizado pelo fato de que compreende: recuperar uma pluralidade de marcadores de bits de uma memória; mapear os marcadores de bits na pluralidade de marcadores de bits aos vetores de dados respectivos; combinar os vetores de dados respetivos com um bloco de dados não codificados para produzir um bloco de dados não codificados composto; e produzir o bloco de dados composto não codificados como os dados decodificados, em que pelo menos parte da pluralidade de vetores de dados se sobrepõem uns aos outros quando se formam os dados decodificados.
11. Método de descodificação, caracterizado pelo fato de que compreende: recuperar uma pluralidade de marcadores de bits de uma memória; mapear os marcadores de bits na pluralidade de marcadores de bits aos vetores de dados respectivos; combinar os vetores de dados respetivos com um bloco de dados não codificados para produzir um bloco de dados não codificados composto; e produzir o bloco de dados composto não codificados como os dados decodificados, em que um marcador de bits compreende um valor de semente e uma regra de replicação.
12. Método de descodificação, caracterizado pelo fato de que compreende: recuperar uma pluralidade de marcadores de bits de uma memória; mapear os marcadores de bits na pluralidade de marcadores de bits aos vetores de dados respectivos; combinar os vetores de dados respetivos com um bloco de dados não codificados para produzir um bloco de dados não codificados composto; e produzir o bloco de dados composto não codificados como os dados decodificados, em que um marcador compreende uma pluralidade de outros marcadores de bits e uma regra de combinação.
13. Método de descodificação, caracterizado pelo fato de que compreende: recuperar uma pluralidade de marcadores de bits de uma memória; mapear os marcadores de bits na pluralidade de marcadores de bits aos vetores de dados respectivos; combinar os vetores de dados respetivos com um bloco de dados não codificados para produzir um bloco de dados não codificados composto; e produzir o bloco de dados composto não codificados como os dados decodificados, em que o referido vetor de dados compreende um padrão fracionado.
14. Método de decodificação, de acordo com qualquer das reivindicações 9 a 13, caracterizado pelo fato de que os dados decodificados representa um objeto composto.
15. Método de decodificação, de acordo com qualquer das reivindicações 9 a 13, caracterizado pelo fato de que os dados decodificados representa um objeto de dados multi-dimensionais.
16. Sistema para codificar dados, caracterizado pelo fato de que compreende: uma interface de dados para receber um bloco de dados não codificados; e um processador acoplado a uma memória, o processador configurado: para decompor o bloco de dados não codificados em uma pluralidade de vetores de dados; para derivar uma pluralidade de marcadores de bits de uma característica dos dados não codificados; para mapear cada um dentre a pluralidade dos vetores de dados a um dentre a pluralidade de marcadores de bits; e para armazenar a pluralidade dos marcadores de bits na memória para produzir uma representação codificada dos dados não codificados.
17. Sistema para codificar dados, caracterizado pelo fato de que compreende: uma interface de dados para receber um bloco de dados não codificados; e um processador acoplado a uma memória, o processador configurado: para decompor o bloco de dados não codificados em dados padrão e dados não-padrão; para mapear os dados não-padrão para uma pluralidade de vetores de dados; para mapear cada um da pluralidade de vetores de dados para um marcador de bits respectivo; e para armazenar o marcador de bits respectivo na memória para produzir uma representação codificada dos dados não codificados.
18. Sistema para codificar dados, caracterizado pelo fato de que compreende: uma interface de dados para receber um bloco de dados não codificados; e um processador acoplado a uma memória, o processador configurado: para decompor o bloco de dados não codificados em uma pluralidade de vetores de dados; para mapear cada um da pluralidade de vetores de dados para um marcador de bits respectivo; e para armazenar o marcador de bits respectivo na memória para produzir uma representação codificada dos dados não codificados, em que, pelo menos, parte da pluralidade dos vetores de dados se sobrepõem uns aos outros quando representam o bloco de dados não codificados.
19. Sistema, de acordo com qualquer uma das reivindicações 16 a 18, caracterizado pelo fato de que o bloco de dados não codificados representa um objeto composto.
20. Sistema, de acordo com qualquer uma das reivindicações 16 a 18, caracterizado pelo fato de que o bloco de dados não codificados representa um objeto de dados multi-dimensionais.
21. Sistema, de acordo com qualquer uma das reivindicações 16 a 18, caracterizado pelo fato de que o marcador de bits compreende um valor de semente e uma regra de replicação.
22. Sistema, de acordo com qualquer uma das reivindicações 16 a 18, caracterizado pelo fato de que o marcador compreende a pluralidade de outros marcadores de bits e uma regra de combinação.
23. Sistema, de acordo com qualquer uma das reivindicações 16 a 18, caracterizado pelo fato de que o referido vetor de dados compreende um padrão fracionado.
24. Sistema para decodificar dados caracterizado pelo fato de que: uma interface de dados para recuperar uma pluralidade de marcadores de bits de uma memória; e um processador acoplado a uma memória, o processador configurado: para mapear os marcadores de bits na pluralidade de marcadores de bits aos vetores de dados respectivos; para combinar os vetores de dados respetivos com um bloco de dados não codificados para produzir um bloco de dados não codificados composto; e para produzir o bloco de dados composto não codificados como os dados decodificados, em que que o marcador compreende a pluralidade de outros marcadores de bits e uma regra de combinação.
25. Sistema para decodificar dados caracterizado pelo fato de que: uma interface de dados para recuperar uma pluralidade de marcadores de bits de uma memória; e um processador acoplado a uma memória, o processador configurado: para mapear os marcadores de bits na pluralidade de marcadores de bits aos vetores de dados respectivos; para combinar os vetores de dados respetivos com um bloco de dados não codificados para produzir um bloco de dados não codificados composto; e para produzir o bloco de dados composto não codificados como os dados decodificados, em que o referido vetor de dados compreende um padrão fracionado.
26. Sistema para decodificar dados caracterizado pelo fato de que: uma interface de dados para recuperar uma pluralidade de marcadores de bits de uma memória; e um processador acoplado a uma memória, o processador configurado: para mapear os marcadores de bits na pluralidade de marcadores de bits aos vetores de dados respectivos; para combinar os vetores de dados respetivos com um bloco de dados não codificados para produzir um bloco de dados não codificados composto; e para produzir o bloco de dados composto não codificados como os dados decodificados, em que pelo menos parte da pluralidade de vetores de dados se sobrepõem uns aos outros quando se formam os dados decodificados.
BR102016008182A 2015-04-15 2016-04-13 método e aparelho para a retenção digital i/o hiper densa BR102016008182A2 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562148160P 2015-04-15 2015-04-15
US14/804,175 US9304703B1 (en) 2015-04-15 2015-07-20 Method and apparatus for dense hyper IO digital retention

Publications (1)

Publication Number Publication Date
BR102016008182A2 true BR102016008182A2 (pt) 2016-10-18

Family

ID=55588963

Family Applications (1)

Application Number Title Priority Date Filing Date
BR102016008182A BR102016008182A2 (pt) 2015-04-15 2016-04-13 método e aparelho para a retenção digital i/o hiper densa

Country Status (13)

Country Link
US (2) US9304703B1 (pt)
EP (1) EP3082265A1 (pt)
JP (2) JP6224762B2 (pt)
KR (1) KR101644145B1 (pt)
CN (2) CN106055270B (pt)
AR (1) AR104277A1 (pt)
AU (1) AU2016202284B2 (pt)
BR (1) BR102016008182A2 (pt)
CA (1) CA2926692C (pt)
MX (1) MX349483B (pt)
PH (1) PH12016000140A1 (pt)
TW (1) TWI560548B (pt)
WO (1) WO2016168007A1 (pt)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9228785B2 (en) 2010-05-04 2016-01-05 Alexander Poltorak Fractal heat transfer device
US9304703B1 (en) 2015-04-15 2016-04-05 Symbolic Io Corporation Method and apparatus for dense hyper IO digital retention
US9817728B2 (en) 2013-02-01 2017-11-14 Symbolic Io Corporation Fast system state cloning
US10133636B2 (en) 2013-03-12 2018-11-20 Formulus Black Corporation Data storage and retrieval mediation system and methods for using same
US10061514B2 (en) 2015-04-15 2018-08-28 Formulus Black Corporation Method and apparatus for dense hyper IO digital retention
US10157157B2 (en) * 2016-09-19 2018-12-18 Dell Products, L.P. Component population optimization
US11436087B2 (en) * 2017-05-31 2022-09-06 Everspin Technologies, Inc. Systems and methods for implementing and managing persistent memory
EP3655718A4 (en) 2017-07-17 2021-03-17 Alexander Poltorak SYSTEM AND PROCESS FOR MULTI-FRACTAL HEAT SINK
US10572186B2 (en) 2017-12-18 2020-02-25 Formulus Black Corporation Random access memory (RAM)-based computer systems, devices, and methods
CN108829351B (zh) * 2018-06-04 2021-10-12 成都傲梅科技有限公司 一种mbr磁盘转gpt磁盘的方法
CN108833575B (zh) * 2018-06-29 2020-09-25 中国人民解放军战略支援部队信息工程大学 一种Web通信数据传输方法、服务器、客户端及系统
US10725853B2 (en) 2019-01-02 2020-07-28 Formulus Black Corporation Systems and methods for memory failure prevention, management, and mitigation
CN110611508B (zh) * 2019-09-02 2020-07-03 中国石油天然气集团有限公司 一种用于石油钻井的基于组合码的编码和解码方法

Family Cites Families (413)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3016527A (en) 1958-09-04 1962-01-09 Bell Telephone Labor Inc Apparatus for utilizing variable length alphabetized codes
FR2076559A5 (pt) 1970-01-20 1971-10-15 Fortin Bernard
AT328113B (de) 1974-02-19 1976-03-10 Voest Ag Einrichtung zur positionseinstellung eines v-formigen zwischengefasses bei zweistrangigen stranggiessanlagen
GB1564563A (en) 1977-05-25 1980-04-10 Int Computers Ltd Data sotrage apparatus
US4420767A (en) 1978-11-09 1983-12-13 Zilog, Inc. Thermally balanced leadless microelectronic circuit chip carrier
USD264844S (en) 1979-06-28 1982-06-08 Inteo Incorporated Electronic system housing for printed circuit boards and power source
US4286256A (en) 1979-11-28 1981-08-25 International Business Machines Corporation Method and means for arithmetic coding utilizing a reduced number of operations
US4560977A (en) * 1982-06-11 1985-12-24 Mitsubishi Denki Kabushiki Kaisha Vector quantizer
US4635141A (en) 1982-10-13 1987-01-06 United States Design Corporation Method and apparatus for storing data on magnetic or optical media
JPS618597A (ja) 1984-06-21 1986-01-16 Sumitomo Chem Co Ltd 蓄熱材パネル用中空板状体および蓄熱材パネルの製造方法
JPS62111837U (pt) 1985-12-28 1987-07-16
CA59272S (en) 1986-08-21 1987-09-08 Mitel Corp Cartridge
USD308671S (en) 1988-03-15 1990-06-19 International Business Machines Corporation Panel for storage devices in a data processing system
USD319765S (en) 1988-09-26 1991-09-10 Vermont American Corporation V-shaped cup hook driver
AU5702290A (en) 1989-06-12 1990-12-13 Otis Elevator Company Elevator electroluminescent (el) display system
FR2668867B1 (fr) 1990-11-02 1993-01-29 Burger Jacques Procede de codage binaire a taux de basculement des elements binaires sensiblement uniforme, et procedes d'incrementation et de decrementation correspondants.
US5168171A (en) 1991-03-04 1992-12-01 Tracewell Larry L Enclosure for circuit modules
JPH04111095U (ja) * 1991-03-04 1992-09-28 三洋電機株式会社 メモリバツクアツプ回路
JP2582489B2 (ja) * 1991-08-21 1997-02-19 株式会社テック 電子機器の停電回復装置
GB9204360D0 (en) * 1992-02-28 1992-04-08 Monro Donald M Fractal coding of data
USD341866S (en) 1992-05-26 1993-11-30 Ross Peter L V-shaped personal floatation device
JP3069819B2 (ja) 1992-05-28 2000-07-24 富士通株式会社 ヒートシンク並びに該ヒートシンクに用いるヒートシンク取付具及びヒートシンクを用いた可搬型電子装置
USD353182S (en) 1992-09-03 1994-12-06 Funrise Toys Ltd. Sling shot handle
JPH0787497A (ja) * 1993-09-09 1995-03-31 Canon Inc 画像の符号化方法および符号化装置
USD357461S (en) 1993-11-30 1995-04-18 Motorola, Inc. Front panel for electronic equipment
USD366246S (en) 1994-02-24 1996-01-16 Motorola, Inc. Front panel for enclosing electronic circuit packs
USD362243S (en) 1994-03-17 1995-09-12 Emc Corp. Electronics cabinet fold-up computer storage tray
MY112145A (en) 1994-07-11 2001-04-30 Ibm Direct attachment of heat sink attached directly to flip chip using flexible epoxy
US5784611A (en) 1994-12-19 1998-07-21 Seagate Technology, Inc. Device and process for in-system programming electrically erasable and programmable non-volatile memory
US5878240A (en) 1995-05-11 1999-03-02 Lucent Technologies, Inc. System and method for providing high speed memory access in a multiprocessor, multimemory environment
USD372909S (en) 1995-06-28 1996-08-20 Motorola, Inc. Computer backpanel portion
JPH09116764A (ja) * 1995-10-19 1997-05-02 Konica Corp 画像処理装置
USD377482S (en) 1995-11-13 1997-01-21 Eccs, Inc. Enclosure for a disk drive
USD391938S (en) 1995-11-23 1998-03-10 Exponent Italia S.R.L. Computer-based organizer with loudspeaker support brackets
USD397097S (en) 1995-12-11 1998-08-18 Mcnally Mark P Electrol magnetic interference shield
US5748921A (en) 1995-12-11 1998-05-05 Advanced Micro Devices, Inc. Computer system including a plurality of multimedia devices each having a high-speed memory data channel for accessing system memory
US5797143A (en) 1996-01-29 1998-08-25 Buxton; Bradly J. Vest pack with back and neck supports
JP3277792B2 (ja) 1996-01-31 2002-04-22 株式会社日立製作所 データ圧縮方法および装置
USD396690S (en) 1996-02-23 1998-08-04 3Com Limited Enclosure for electronic circuitry
US5818877A (en) 1996-03-14 1998-10-06 The Regents Of The University Of California Method for reducing storage requirements for grouped data values
US5890794A (en) 1996-04-03 1999-04-06 Abtahi; Homayoon Lighting units
US5751549A (en) 1996-06-26 1998-05-12 Sun Microsystems, Inc. Hard disk drive assembly which has a plenum chamber and a fan assembly that is perpendicular to a rack chamber
USD382880S (en) 1996-07-09 1997-08-26 Motorola, Inc. Front panel for messaging equipment
US6297742B1 (en) 1996-08-22 2001-10-02 Csi Technology, Inc. Machine monitor with status indicator
US5867180A (en) 1997-03-13 1999-02-02 International Business Machines Corporation Intelligent media memory statically mapped in unified memory architecture
US6401807B1 (en) 1997-04-03 2002-06-11 Silent Systems, Inc. Folded fin heat sink and fan attachment
US5923860A (en) 1997-06-25 1999-07-13 Compaq Computer Corp. Apparatus, method and system for remote peripheral component interconnect bus using accelerated graphics port logic circuits
US6067225A (en) 1997-08-04 2000-05-23 Sun Microsystems, Inc. Disk drive bracket
US6465969B1 (en) 1997-08-04 2002-10-15 Lumimove, Inc. Electroluminescent display intelligent controller
US6052785A (en) 1997-11-21 2000-04-18 International Business Machines Corporation Multiple remote data access security mechanism for multitiered internet computer networks
USD407079S (en) 1998-03-19 1999-03-23 Commercial & Industrial Design Company, Inc. Computer hard drive tray
USD409171S (en) 1998-03-19 1999-05-04 Commercial & Industrial Design Co., Inc. Computer rack housing
US6182601B1 (en) 1998-05-01 2001-02-06 Floscan Instrument Company, Inc. Meter with microprocessor control of pointer and multi-status indicator
JP3991249B2 (ja) * 1998-07-15 2007-10-17 ソニー株式会社 符号化装置および符号化方法、復号装置および復号方法、情報処理装置および情報処理方法、並びに記録媒体
JP2000059227A (ja) 1998-08-07 2000-02-25 Matsushita Electric Ind Co Ltd 符号化/復号化装置、及び符号化/復号化方法
USD423479S (en) 1998-09-24 2000-04-25 International Business Machines Corporation Disk drive tray bezel
USD415747S (en) 1998-09-28 1999-10-26 Commercial & Industrial Design Co., Inc. Combined drive tray face plate and locking arm
USD421428S (en) 1998-10-26 2000-03-07 Commercial & Industrial Design Co., Inc. Stackable drive tray support bracket
US6243831B1 (en) 1998-10-31 2001-06-05 Compaq Computer Corporation Computer system with power loss protection mechanism
US6326781B1 (en) 1999-01-11 2001-12-04 Bvr Aero Precision Corp 360 degree shaft angle sensing and remote indicating system using a two-axis magnetoresistive microcircuit
US6297753B1 (en) 1999-01-29 2001-10-02 Victor Company Of Japan, Ltd. Eight-to-fifteen modulation using no merging bit and optical disc recording or reading systems based thereon
USD439566S1 (en) 1999-02-19 2001-03-27 Inet Technologies, Inc. Circuit card cage
USD422993S (en) 1999-03-01 2000-04-18 General Instrument Corporation Front bezel for a digital cable terminal
USD431241S (en) 1999-03-01 2000-09-26 Sun Microsystems, Inc. Computer subsystem enclosure
TW419581B (en) 1999-03-08 2001-01-21 Acer Comm & Multimedia Inc Rotary encoder
JP2000029636A (ja) * 1999-03-12 2000-01-28 Fujitsu Ltd I/oサブシステム及びi/oサブシステムにおけるデ―タ記憶、メモリイニシャライズ方法
JP2000284138A (ja) 1999-03-31 2000-10-13 Fujikura Ltd 光ファイバ用v溝
US6359334B1 (en) 1999-06-08 2002-03-19 Micron Technology, Inc. Thermally conductive adhesive tape for semiconductor devices and method using the same
US6785815B1 (en) 1999-06-08 2004-08-31 Intertrust Technologies Corp. Methods and systems for encoding and protecting data using digital signature and watermarking techniques
US6560599B1 (en) 1999-06-30 2003-05-06 Microsoft Corporation Method and apparatus for marking a hash table and using the marking for determining the distribution of records and for tuning
GB2353611B (en) 1999-08-24 2004-03-17 Ibm Disk image backup/restore with data preparation phase
JP4351409B2 (ja) 1999-08-31 2009-10-28 富士通株式会社 ファイル装置及びファイルアクセス方法
US6829695B1 (en) 1999-09-03 2004-12-07 Nexql, L.L.C. Enhanced boolean processor with parallel input
US6483439B1 (en) 1999-10-14 2002-11-19 Star Headlight And Lantern Co., Inc. Multi color and omni directional warning lamp
JP2001135102A (ja) 1999-11-05 2001-05-18 Zeni Lite Buoy Co Ltd Led式灯具
US6621935B1 (en) * 1999-12-03 2003-09-16 Microsoft Corporation System and method for robust image representation over error-prone channels
US6626557B1 (en) 1999-12-29 2003-09-30 Spx Corporation Multi-colored industrial signal device
US6904484B1 (en) 2000-03-30 2005-06-07 Intel Corporation Low pin count (LPC) firmware hub recovery
US7550935B2 (en) 2000-04-24 2009-06-23 Philips Solid-State Lighting Solutions, Inc Methods and apparatus for downloading lighting programs
US7030837B1 (en) 2000-04-24 2006-04-18 Microsoft Corporation Auxiliary display unit for a computer system
US20050099319A1 (en) 2000-08-29 2005-05-12 Hutchison Michael C. Traffic signal light with integral sensors
US6373695B1 (en) 2000-09-22 2002-04-16 Mace Tech Corp. Mobile rack mounting structure for computer
US6605778B2 (en) 2000-10-02 2003-08-12 Siemens Aktiengesellschaft Circuit carrier, in particular printed circuit board
US7274697B2 (en) 2000-11-16 2007-09-25 Tensilica, Inc. Fast IP route lookup with 16/K and 16/Kc compressed data structures
DE10060574A1 (de) 2000-12-06 2002-06-13 Heidenhain Gmbh Dr Johannes Multiturn-Codedrehgeber
USD471912S1 (en) 2001-01-16 2003-03-18 Richard J. Camarota Laptop port
JP3661594B2 (ja) 2001-02-07 2005-06-15 ソニー株式会社 データストリーム生成装置とその方法、可変長符号化データストリーム生成装置とその方法、および、カメラシステム
JP4817510B2 (ja) * 2001-02-23 2011-11-16 キヤノン株式会社 メモリコントローラ及びメモリ制御装置
USD462075S1 (en) 2001-06-29 2002-08-27 Intel Corporation Server face plate
US6442031B1 (en) 2001-07-06 2002-08-27 Cheng Kuo Liu Retaining structure for industrial console
US20030018759A1 (en) 2001-07-17 2003-01-23 International Business Machines Corporation Method and system for performing computer system cloning
US6396027B1 (en) 2001-07-31 2002-05-28 Tsann Kuen Usa, Inc. Pressing iron with electroluminescent temperature status indicator
US6494780B1 (en) 2001-09-14 2002-12-17 Cary Products Company, Inc. Louver with slidable face plate
US8290160B1 (en) 2001-10-17 2012-10-16 Appalachian Technologies Corporation of Pennsylvania Method and apparatus for secured facsimile transmission
US6541921B1 (en) 2001-10-17 2003-04-01 Sierra Design Group Illumination intensity control in electroluminescent display
US20030115447A1 (en) 2001-12-18 2003-06-19 Duc Pham Network media access architecture and methods for secure storage
CA2364820A1 (en) 2001-12-11 2003-06-11 Ibm Canada Limited-Ibm Canada Limitee Variable length encoding and decoding of ascending numerical sequences
US8639849B2 (en) 2001-12-17 2014-01-28 Sutech Data Solutions Co., Llc Integrated circuits for high speed adaptive compression and methods therefor
US6926972B2 (en) 2002-01-10 2005-08-09 Basf Corporation Method of providing an electroluminescent coating system for a vehicle and an electroluminescent coating system thereof
USD475061S1 (en) 2002-02-08 2003-05-27 James Jyh Chian Huang Fixing device for removable hard drive
US6644481B2 (en) 2002-02-11 2003-11-11 Hewlett-Packard Development Company, L.P. Apparatus and method for rackmounting a chassis
US6614369B1 (en) * 2002-03-05 2003-09-02 International Business Machines Corporation DC balanced 7B/8B, 9B/10B, and partitioned DC balanced 12B/14B, 17B/20B, and 16B/18B transmission codes
WO2003081440A1 (en) 2002-03-21 2003-10-02 Snapp Robert F Method and system for storing and retrieving data using hash-accessed multiple data stores
US6674908B1 (en) * 2002-05-04 2004-01-06 Edward Lasar Aronov Method of compression of binary data with a random number generator
JP4304360B2 (ja) 2002-05-22 2009-07-29 日本電気株式会社 音声符号化復号方式間の符号変換方法および装置とその記憶媒体
TW527053U (en) 2002-07-26 2003-04-01 Hon Hai Prec Ind Co Ltd Computer enclosure
USD490083S1 (en) 2002-08-20 2004-05-18 Commercial & Industrial Design Co., Inc. Computer hard drive tray
US7433824B2 (en) * 2002-09-04 2008-10-07 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
US6785133B2 (en) 2002-09-27 2004-08-31 International Business Machines Corporation High density modular input/output package in a data processing system
KR100989686B1 (ko) * 2002-10-24 2010-10-26 에이전시 포 사이언스, 테크놀로지 앤드 리서치 데이터 소스에 의해 생성된 비트 심볼들을 처리하기 위한 방법 및 장치, 컴퓨터 판독가능 매체, 컴퓨터 프로그램 요소
US7111961B2 (en) 2002-11-19 2006-09-26 Automatic Power, Inc. High flux LED lighting device
USD483374S1 (en) 2002-12-02 2003-12-09 Chun Long Metal Co., Ltd. Removable hard drive frame
US7371975B2 (en) 2002-12-18 2008-05-13 Intel Corporation Electronic packages and components thereof formed by substrate-imprinting
US7065619B1 (en) 2002-12-20 2006-06-20 Data Domain, Inc. Efficient data storage system
US7298535B2 (en) 2003-01-03 2007-11-20 Tommi Lennart Kuutti Digital situation indicator
US20040143733A1 (en) 2003-01-16 2004-07-22 Cloverleaf Communication Co. Secure network data storage mediator
US20040190210A1 (en) * 2003-03-26 2004-09-30 Leete Brian A. Memory back up and content preservation
US7516272B2 (en) 2003-03-28 2009-04-07 Emc Corporation Midplane-independent implementations of data storage system enclosures
US7383378B1 (en) 2003-04-11 2008-06-03 Network Appliance, Inc. System and method for supporting file and block access to storage object on a storage appliance
US8209680B1 (en) 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
US8322040B2 (en) 2003-05-23 2012-12-04 Exceptional Ip Holdings Llc Handle including two handgrips and/or a hand alignment mechanism
USD483378S1 (en) 2003-05-28 2003-12-09 Panasas, Inc. Single door computer blade cover
GB0312569D0 (en) * 2003-06-02 2003-07-09 Accelerated Logic B V Data storage device
US6956745B2 (en) 2003-06-27 2005-10-18 International Business Machines Corporation Handling system for use with a blade in a blade server system
US6889908B2 (en) 2003-06-30 2005-05-10 International Business Machines Corporation Thermal analysis in a data processing system
US7143251B1 (en) 2003-06-30 2006-11-28 Data Domain, Inc. Data storage using identifiers
US7996361B1 (en) 2003-06-30 2011-08-09 Symantec Operating Corporation Method and system of providing replica files within a fileset
US7174436B1 (en) 2003-10-08 2007-02-06 Nvidia Corporation Method and system for maintaining shadow copies of data using a shadow mask bit
US7849063B2 (en) 2003-10-17 2010-12-07 Yahoo! Inc. Systems and methods for indexing content for fast and scalable retrieval
US7120743B2 (en) 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
DE10349266B4 (de) 2003-10-20 2015-06-18 Trützschler GmbH & Co Kommanditgesellschaft Verwendung einer Vorrichtung zur optischen Signalanzeige, bei der mindestens zwei Lichtquellen als Leuchtdioden (LED) vorhanden sind
JP4723178B2 (ja) 2003-10-28 2011-07-13 エルピーダメモリ株式会社 メモリシステム及びメモリモジュール
US20070164875A1 (en) 2003-11-21 2007-07-19 Fredericks Thomas M LED aircraft anticollision beacon
USD503717S1 (en) 2003-11-28 2005-04-05 Mitsumi Electric Co., Ltd. Rotary encoder
US7145776B2 (en) 2003-12-22 2006-12-05 Emc Corporation Midplane-less data storage enclosure
DE102004010145A1 (de) 2004-02-27 2005-09-15 H.C. Starck Gmbh Verformbare elektrolumineszierende Anordnung
USD529915S1 (en) 2004-03-15 2006-10-10 Xyratec Technology Limited Disk drive carrier
JP2005267038A (ja) 2004-03-17 2005-09-29 Hitachi Ltd ストレージシステムの運用方法
USD535298S1 (en) 2004-08-23 2007-01-16 Stealthdrive Llc Face plate for portable hard disk drive container
US7064265B2 (en) 2004-03-19 2006-06-20 Stealthdrive Llc Reduced-gasket EMI-shielding solutions for hard disk drives and other computer components
US7464581B2 (en) 2004-03-29 2008-12-16 Tokyo Electron Limited Vacuum apparatus including a particle monitoring unit, particle monitoring method and program, and window member for use in the particle monitoring
TWM255963U (en) 2004-04-06 2005-01-21 Tatung Co Improved structure of supporting stand
US7231560B2 (en) 2004-04-16 2007-06-12 Via Technologies, Inc. Apparatus and method for testing motherboard having PCI express devices
EP1600559A1 (en) 2004-05-26 2005-11-30 3M Innovative Properties Company Carriageway-marking device and system
US20050288800A1 (en) 2004-06-28 2005-12-29 Smith William D Accelerating computational algorithms using reconfigurable computing technologies
US7290116B1 (en) 2004-06-30 2007-10-30 Sun Microsystems, Inc. Level 2 cache index hashing to avoid hot spots
US8444436B1 (en) 2004-07-01 2013-05-21 Amphenol Corporation Midplane especially applicable to an orthogonal architecture electronic system
KR100630690B1 (ko) 2004-07-08 2006-10-02 삼성전자주식회사 열 소산 경로를 구비한 멀티 칩 패키지
CA2574101C (en) 2004-07-19 2013-06-25 Eberle Design, Inc. Methods and apparatus for an improved signal monitor
JP5432450B2 (ja) 2004-07-29 2014-03-05 オセ−テクノロジーズ ビーブイ エントロピー符号化を利用したカラー画像データの可逆圧縮
USD513751S1 (en) 2004-08-05 2006-01-24 International Business Machines Corporation Disk drive bezel tray
US7463163B2 (en) 2004-08-10 2008-12-09 Inventec Corporation Visualized computer platform operating condition displaying device
US20060049956A1 (en) 2004-09-09 2006-03-09 Edwards Systems Technology, Inc. Explosion-proof multi-status multi-color visual indicator
JP4932726B2 (ja) 2004-10-06 2012-05-16 パーマビット テクノロジー コーポレイション データのランダムに命名したブロック用の記憶システム
US20060073709A1 (en) 2004-10-06 2006-04-06 Teradyne, Inc. High density midplane
US20120285738A1 (en) 2004-12-07 2012-11-15 Paul Douglas Cochrane Shielding Polymers Formed into Lattices Providing EMI Protection for Electronics Enclosures
US7330322B2 (en) 2005-01-28 2008-02-12 Seagate Technology Llc Utilizing a combination of physical tracks and virtual tracks to store data on a data storage medium
US7360104B2 (en) 2005-01-31 2008-04-15 Hewlett-Packard Development Company, L.P. Redundant voltage distribution system and method for a memory module having multiple external voltages
WO2006080510A1 (ja) 2005-01-31 2006-08-03 Matsushita Electric Industrial Co., Ltd. バックアップ管理装置、バックアップ管理方法、コンピュータプログラム、記録媒体、集積回路及びバックアップシステム
USD656250S1 (en) 2005-03-11 2012-03-20 Connor Sport Court International, Llc Tile with wide mouth coupling
JP4802527B2 (ja) 2005-03-18 2011-10-26 株式会社日立製作所 計算機システム
US20060212644A1 (en) 2005-03-21 2006-09-21 Acton John D Non-volatile backup for data cache
USD530704S1 (en) 2005-04-04 2006-10-24 Pelco Front plate for an electronics enclosure
US7617370B2 (en) 2005-04-29 2009-11-10 Netapp, Inc. Data allocation within a storage system architecture
US8054882B2 (en) 2005-05-13 2011-11-08 Streaming Networks (Pvt.) Ltd. Method and system for providing bi-directionally predicted video coding
US7492607B2 (en) 2005-06-08 2009-02-17 Lineage Power Corporation Ejector faceplate for electronics module
CN2809708Y (zh) 2005-06-17 2006-08-23 鸿富锦精密工业(深圳)有限公司 数据存储器防护装置
US8619452B2 (en) * 2005-09-02 2013-12-31 Google Inc. Methods and apparatus of stacking DRAMs
US7357530B2 (en) 2005-07-15 2008-04-15 Bwt Property, Inc. Lighting apparatus for navigational aids
US7921088B1 (en) 2005-07-22 2011-04-05 X-Engines, Inc. Logical operations encoded by a function table for compressing index bits in multi-level compressed look-up tables
US7827345B2 (en) 2005-08-04 2010-11-02 Joel Henry Hinrichs Serially interfaced random access memory
US20070081320A1 (en) 2005-08-08 2007-04-12 Mark Gilbert Electroluminescent illumination for audio components
US7587314B2 (en) * 2005-08-29 2009-09-08 Nokia Corporation Single-codebook vector quantization for multiple-rate applications
US7326067B2 (en) 2005-10-18 2008-02-05 Vadatech Inc. Method and apparatus for minimizing the installation height of electrical components
USD530052S1 (en) 2005-12-15 2006-10-10 The Libman Company Handle for a bucket
USD530343S1 (en) 2005-12-21 2006-10-17 Hitachi Global Storage Technologies Netherlands B.V. Housing for a storage device
US20070180207A1 (en) 2006-01-18 2007-08-02 International Business Machines Corporation Secure RFID backup/restore for computing/pervasive devices
US20080005380A1 (en) 2006-02-21 2008-01-03 Pacific Star Communications, Inc. Integrated configuration and management of hardware devices
USD555159S1 (en) 2006-02-23 2007-11-13 International Business Machines Corporation Bezel for network attached storage drawer
USD565573S1 (en) 2006-03-23 2008-04-01 International Business Machines Corporation Blade filler blank for a computer server system
US20070236334A1 (en) 2006-03-31 2007-10-11 Borovoy Richard D Enhancing face-to-face communication
JP2007272826A (ja) 2006-03-31 2007-10-18 Sharp Corp 情報処理装置、情報処理方法、情報処理プログラム、および記録媒体
JP2007281763A (ja) * 2006-04-05 2007-10-25 Sony Corp 画像処理方法、画像処理方法のプログラム、画像処理方法のプログラムを記録した記録媒体及び画像処理装置
TWM299404U (en) 2006-04-17 2006-10-11 Jason Auto Technology Co Ltd Luminescent embodied panel for charger
USD570851S1 (en) 2006-05-05 2008-06-10 Emc Corporation Front panel for an electronic cabinet
CA2546148A1 (en) 2006-05-09 2007-11-09 Nikolajs Volkovs Method, system and computer program for polynomial based hashing and message authentication coding with separate generation of spectrums
USD556204S1 (en) 2006-05-16 2007-11-27 Sun Microsystems, Inc. Filler panel with integrated dust cover
US7620784B2 (en) 2006-06-09 2009-11-17 Microsoft Corporation High speed nonvolatile memory device using parallel writing among a plurality of interfaces
US7925389B2 (en) 2006-06-15 2011-04-12 International Business Machines Corporation Method of detecting recirculation of heated air within a rack enclosure
US7539026B2 (en) 2006-08-16 2009-05-26 Technobox, Inc. Sub-mezzanine structure for printed circuit card assemblies
US7962499B2 (en) 2006-08-18 2011-06-14 Falconstor, Inc. System and method for identifying and mitigating redundancies in stored data
WO2008020538A1 (fr) 2006-08-18 2008-02-21 Kyocera Corporation Dispositif électronique portable et son procédé de commande
US8238840B2 (en) 2006-08-25 2012-08-07 Kyocera Corporation Communication apparatus
WO2008023546A1 (en) 2006-08-25 2008-02-28 Kyocera Corporation Portable electronic device
JP4741673B2 (ja) 2006-08-25 2011-08-03 京セラ株式会社 携帯電子機器および携帯電子機器の制御方法
TWM315379U (en) 2006-08-29 2007-07-11 Carry Technology Co Ltd Portable storage apparatus with operation state display
AU2006204634B2 (en) 2006-08-31 2009-10-29 Canon Kabushiki Kaisha Runlength encoding of leading ones and zeros
JP4578451B2 (ja) 2006-09-15 2010-11-10 京セラ株式会社 電子機器
US7485510B2 (en) 2006-10-03 2009-02-03 International Business Machines Corporation Field effect device including inverted V shaped channel region and method for fabrication thereof
CN101502013A (zh) 2006-10-23 2009-08-05 松下电器产业株式会社 应用可见光及红外光的光空间传输系统
JP2008107615A (ja) * 2006-10-26 2008-05-08 Yamaha Corp データ圧縮装置
US8259806B2 (en) * 2006-11-30 2012-09-04 Dolby Laboratories Licensing Corporation Extracting features of video and audio signal content to provide reliable identification of the signals
US8935302B2 (en) 2006-12-06 2015-01-13 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume
CN101202528B (zh) 2006-12-11 2012-10-10 丹佛斯传动有限公司 电子装置及电动机变频器
JP2008165293A (ja) 2006-12-27 2008-07-17 Seiko Epson Corp データ検索装置、デバイス管理装置、データ検索方法、およびコンピュータプログラム
US8139945B1 (en) 2007-01-20 2012-03-20 Centrak, Inc. Methods and systems for synchronized infrared real time location
US8010711B2 (en) 2007-01-26 2011-08-30 Digital Video Chip, Llc Universal multimedia
KR101453581B1 (ko) 2007-02-02 2014-10-22 사이마스트, 인크. 통합된 고속 패킷 스위칭 방식 직렬 인터페이스를 갖는 프로세서 칩 아키텍처
USD609236S1 (en) 2007-03-09 2010-02-02 Brother Industries, Ltd. Image display device
JP4987536B2 (ja) 2007-03-28 2012-07-25 京セラドキュメントソリューションズ株式会社 給紙カセットおよび画像形成装置
JP2008262501A (ja) * 2007-04-13 2008-10-30 Fujifilm Corp 記録装置、記録装置に記録されたデータの機密保持方法及びプログラム
USD590831S1 (en) 2007-04-23 2009-04-21 Eads Defence And Security Systems Limited Encryption device
US7515413B1 (en) 2007-04-27 2009-04-07 Cisco Technology, Inc. Fan field replaceable unit
US8904098B2 (en) 2007-06-01 2014-12-02 Netlist, Inc. Redundant backup using non-volatile memory
US8209540B2 (en) 2007-06-28 2012-06-26 Apple Inc. Incremental secure backup and restore of user settings and data
US7893822B2 (en) 2007-08-09 2011-02-22 Allen Gerber Hybrid drive mode indicator
US20090040065A1 (en) 2007-08-10 2009-02-12 Federal Signal Corporation Class 1, division 1 led warning light
JP4990066B2 (ja) 2007-08-21 2012-08-01 株式会社日立製作所 論理ボリュームのペアを利用したデータ保存の方式を変更する機能を備えたストレージシステム
USD579455S1 (en) 2007-08-28 2008-10-28 Hon Hai Precision Industry Co., Ltd. Notebook computer cooling pad
US9681587B2 (en) 2007-08-30 2017-06-13 Pce, Inc. System and method for cooling electronic equipment
US7794124B2 (en) 2007-09-25 2010-09-14 Michael Hulsey Bi-directional boat running and emergency light apparatus and method
US8154417B2 (en) 2007-10-05 2012-04-10 Itt Manufacturing Enterprises, Inc. Compact self-contained condition monitoring device
US20090100236A1 (en) 2007-10-15 2009-04-16 Ricardo Spencer Puig Copying data onto a secondary storage device
US8348010B2 (en) 2007-10-19 2013-01-08 Apple Inc. Invertible ear tips for an ear piece
US9413825B2 (en) 2007-10-31 2016-08-09 Emc Corporation Managing file objects in a data storage system
GB0721648D0 (en) 2007-11-05 2007-12-19 Roke Manor Research Internet data processing systems
US8112807B2 (en) 2007-11-07 2012-02-07 Qualcomm Incorporated Systems, methods, and apparatuses for erasing memory on wireless devices
US8006108B2 (en) 2007-11-08 2011-08-23 International Business Machines Corporation Dynamic selection of group and device power limits
US20090141435A1 (en) 2007-11-29 2009-06-04 Barrett Kreiner Containers for transporting data from a first physical location to a second physical location
US20120191982A1 (en) 2007-12-06 2012-07-26 Levin Timothy Evert Non-volatile storage of encrypted data
US20090169001A1 (en) 2007-12-28 2009-07-02 Cisco Technology, Inc. System and Method for Encryption and Secure Transmission of Compressed Media
US8715127B2 (en) 2008-01-04 2014-05-06 American Axle & Manufacturing, Inc. Axle assembly with axle housing assembly having air scoops for cooling
US7726837B2 (en) 2008-01-07 2010-06-01 C-R Control Systems, Inc. Sealed lighting assembly employing side-emitting lenses
JP2009163557A (ja) 2008-01-08 2009-07-23 Seiko Epson Corp 情報処理装置
US7991941B2 (en) 2008-01-15 2011-08-02 Alcatel Lucent Memory access assist
US8214425B2 (en) 2008-01-29 2012-07-03 Mitel Networks Corporation System and method for storing a program using partial compression
JP4814999B2 (ja) 2008-01-31 2011-11-16 富士通株式会社 データ圧縮・復元方法及び圧縮・復元プログラム
US8001079B2 (en) 2008-02-29 2011-08-16 Double-Take Software Inc. System and method for system state replication
US8129742B2 (en) 2008-03-25 2012-03-06 Bridge Semiconductor Corporation Semiconductor chip assembly with post/base heat spreader and plated through-hole
JP2009251725A (ja) 2008-04-02 2009-10-29 Hitachi Ltd 記憶制御装置及び記憶制御装置を用いた重複データ検出方法。
US8745336B2 (en) 2008-05-29 2014-06-03 Vmware, Inc. Offloading storage operations to storage hardware
GB0810226D0 (en) 2008-06-04 2008-07-09 Weatherley Richard Blended colour LED lamp
US8527482B2 (en) 2008-06-06 2013-09-03 Chrysalis Storage, Llc Method for reducing redundancy between two or more datasets
TWI537900B (zh) 2008-08-19 2016-06-11 索爾維美國有限公司 使用者可組態之鑲嵌發光裝置
JP5414223B2 (ja) 2008-09-16 2014-02-12 株式会社日立ソリューションズ インターネットバックアップにおける転送データ管理システム
USD593565S1 (en) 2008-10-07 2009-06-02 Dell Products L.P. Information handling system bezel
USD694758S1 (en) 2008-11-05 2013-12-03 Phoenix Contact Gmbh & Co., Kg Display and control panel faceplate for electronic devices
US8566821B2 (en) 2008-11-11 2013-10-22 Netapp Inc. Cloning virtual machines
WO2010057312A1 (en) 2008-11-24 2010-05-27 Certicom Corp. System and method for hardware based security
US8412677B2 (en) 2008-11-26 2013-04-02 Commvault Systems, Inc. Systems and methods for byte-level or quasi byte-level single instancing
CN102232163B (zh) 2008-12-02 2012-12-05 奥斯兰姆施尔凡尼亚公司 外观不同于其主照明的灯
US8055937B2 (en) 2008-12-22 2011-11-08 QuorumLabs, Inc. High availability and disaster recovery using virtualization
US8200923B1 (en) 2008-12-31 2012-06-12 Emc Corporation Method and apparatus for block level data de-duplication
JP5413948B2 (ja) 2009-01-27 2014-02-12 日本電気株式会社 ストレージシステム
EP2214315A1 (en) 2009-01-30 2010-08-04 Thomson Licensing Method and device for encoding a bit sequence
CN201426214Y (zh) 2009-03-23 2010-03-17 沈李豪 一种具有可导热及散热油墨的散热结构的pcb板
US8140491B2 (en) 2009-03-26 2012-03-20 International Business Machines Corporation Storage management through adaptive deduplication
US20100245665A1 (en) 2009-03-31 2010-09-30 Acuity Systems Inc Hybrid digital matrix
US8229898B1 (en) 2009-03-31 2012-07-24 Symantec Corporation Methods and systems for utilizing redundant data
JP2012528408A (ja) 2009-05-28 2012-11-12 マイクロブレード,エルエルシー Microtca装置
US8812570B2 (en) 2009-05-28 2014-08-19 Red Hat, Inc. String hashing using a number generator
CN101923884B (zh) 2009-06-09 2012-09-26 国基电子(上海)有限公司 硬盘抽取装置及使用其的电子装置
JP2011039589A (ja) 2009-08-06 2011-02-24 Fujitsu Ltd 復元制御装置、復元制御方法、コンピュータ可読記憶媒体、及び、復元制御プログラム
CN102577131A (zh) * 2009-08-06 2012-07-11 松下电器产业株式会社 编码方法、解码方法、编码装置及解码装置
CN102484484B (zh) 2009-08-25 2014-08-20 富士通株式会社 发送机、编码装置、接收机以及解码装置
US8566288B1 (en) 2009-08-31 2013-10-22 Cms Products, Inc. Organized data removal or redirection from a cloning process to enable cloning a larger system to a smaller system
USD619108S1 (en) 2009-09-09 2010-07-06 Chyng Hong Electronic Co. Control panel
US8508928B2 (en) 2009-09-24 2013-08-13 Jabil Circuit, Inc. Incorporation of multiple, 2.5-inch or smaller hard disk drives into a single drive carrier with a single midplane or baseboard connector
USD646954S1 (en) 2009-09-30 2011-10-18 The Clorox Company Face plate
USD631630S1 (en) 2009-10-01 2011-01-25 The Libman Company Handle for a bucket or container
JP2011082878A (ja) 2009-10-09 2011-04-21 Sony Corp 符号化装置、復号装置、情報処理システム、符号化方法およびプログラム
USD659136S1 (en) 2009-10-19 2012-05-08 Brother Industries, Ltd. Image display device
USD659137S1 (en) 2009-10-19 2012-05-08 Brother Industries, Ltd. Image display device
USD676852S1 (en) 2009-10-23 2013-02-26 Clamco Invest Ab Case for electronic equipment
US8560501B2 (en) 2009-10-27 2013-10-15 Cms Products Inc Method for a cloning process to enable cloning a larger system drive to a smaller system
US9900150B2 (en) 2009-10-30 2018-02-20 International Business Machines Corporation Dispersed storage camera device and method of operation
US9145055B2 (en) 2009-12-03 2015-09-29 Volkswagen Ag Systems and methods for presenting information to an automobile driver
WO2011070571A1 (en) 2009-12-08 2011-06-16 Safend Ltd. System and method for secured backup of data
JP5708495B2 (ja) * 2009-12-11 2015-04-30 日本電気株式会社 辞書作成装置、単語収集方法、及び、プログラム
JP5631334B2 (ja) 2009-12-14 2014-11-26 パナソニック株式会社 情報処理装置
USD646686S1 (en) 2009-12-30 2011-10-11 Sanford, L.P. Capture bar
KR101656525B1 (ko) 2010-01-08 2016-09-12 삼성전자주식회사 가시광 통신을 이용한 동기화된 데이터 제공 장치 및 방법
USD631480S1 (en) 2010-03-19 2011-01-25 Hewlett-Packard Development Company, L.P. Computer having a front bezel
JP4892072B2 (ja) 2010-03-24 2012-03-07 株式会社東芝 ホスト装置と連携して重複データを排除するストレージ装置、同ストレージ装置を備えたストレージシステム、及び同システムにおける重複排除方法
US20150163060A1 (en) 2010-04-22 2015-06-11 Martin Tomlinson Methods, systems and apparatus for public key encryption using error correcting codes
JP5594828B2 (ja) 2010-07-21 2014-09-24 学校法人東京電機大学 データ分散保管装置及び方法及びプログラム及び記録媒体
US8839112B2 (en) 2010-08-10 2014-09-16 Microsoft Corporation Cloning or extending a computer desktop on a wireless display surface
USD643434S1 (en) 2010-09-24 2011-08-16 International Business Machines Corporation Storage device cover
US8831221B2 (en) 2010-09-28 2014-09-09 Lsi Corporation Unified architecture for crypto functional units
JP5652101B2 (ja) * 2010-10-05 2015-01-14 富士通株式会社 画像処理装置及び画像処理方法
US8601201B2 (en) 2010-11-09 2013-12-03 Gridcentric Inc. Managing memory across a network of cloned virtual machines
US9952565B2 (en) 2010-11-15 2018-04-24 Guang Liu Networked, channelized power distribution, monitor and control for security and life safety applications
US9104326B2 (en) 2010-11-15 2015-08-11 Emc Corporation Scalable block data storage using content addressing
US8918607B2 (en) 2010-11-19 2014-12-23 International Business Machines Corporation Data archiving using data compression of a flash copy
US8803698B1 (en) 2010-11-23 2014-08-12 Fluke Corporation Removable stand alone vibration monitor with automatically configured alarm thresholds
US8976861B2 (en) * 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
JP2012129785A (ja) * 2010-12-15 2012-07-05 Fujitsu Ltd 可変長符号化装置及び可変長復号化装置
WO2012083308A2 (en) 2010-12-17 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for persistent data management on a non-volatile storage media
US9170882B2 (en) 2010-12-22 2015-10-27 Cleversafe, Inc. Retrieving data segments from a dispersed storage network
US9639543B2 (en) 2010-12-28 2017-05-02 Microsoft Technology Licensing, Llc Adaptive index for data deduplication
TW201228541A (en) 2010-12-30 2012-07-01 Hon Hai Prec Ind Co Ltd Enclosure of electronic device
US8954645B2 (en) 2011-01-25 2015-02-10 International Business Machines Corporation Storage writes in a mirrored virtual machine system
TW201232285A (en) 2011-01-25 2012-08-01 Acer Inc Mezzanine card, server and server system
US8996192B2 (en) 2011-02-16 2015-03-31 Signalogic, Inc. Thermal management for integrated circuits
US9020655B2 (en) 2011-02-16 2015-04-28 Signalogic, Inc. Thermal management for integrated circuits
WO2012117658A1 (ja) 2011-02-28 2012-09-07 日本電気株式会社 ストレージシステム
US8793684B2 (en) 2011-03-16 2014-07-29 International Business Machines Corporation Optimized deployment and replication of virtual machines
JP5621675B2 (ja) 2011-03-18 2014-11-12 富士通株式会社 署名装置、署名方法、および署名プログラム
USD682267S1 (en) 2011-03-18 2013-05-14 Brother Industries, Ltd. Image display device
US8930647B1 (en) 2011-04-06 2015-01-06 P4tents1, LLC Multiple class memory systems
US8474994B2 (en) 2011-04-13 2013-07-02 Grace Industries, Inc. Multi purpose visual and audible signaling baton
USD661696S1 (en) 2011-04-15 2012-06-12 Kabushiki Kaisha Toshiba Arithmetic operation control machine for computer
US8938643B1 (en) 2011-04-22 2015-01-20 Symantec Corporation Cloning using streaming restore
US20120278553A1 (en) 2011-04-28 2012-11-01 Mudhiganti Devender R System and method for migration of data clones
US8539008B2 (en) 2011-04-29 2013-09-17 Netapp, Inc. Extent-based storage architecture
USD685373S1 (en) 2011-05-06 2013-07-02 Hewlett-Packard Development Company, L.P. Computing device protector
USD676039S1 (en) 2011-05-07 2013-02-12 Lenovo (Singapore) Pte. Ltd. Server drive tray
CN102789264A (zh) * 2011-05-18 2012-11-21 鸿富锦精密工业(深圳)有限公司 计算机装置的主板
USD659653S1 (en) 2011-06-06 2012-05-15 Chyng Hong Electronic Co. Control panel for power supply (II)
JP5842274B2 (ja) 2011-06-09 2016-01-13 株式会社オプトデザイン 照明装置
USD663299S1 (en) 2011-06-09 2012-07-10 Gnodal Limited Container for electronic equipment
US8620865B2 (en) 2011-06-24 2013-12-31 Netapp, Inc. System and method for providing a unified storage system that supports file/object duality
US8547825B2 (en) 2011-07-07 2013-10-01 International Business Machines Corporation Switch fabric management
US8366464B1 (en) 2011-08-25 2013-02-05 Dell Products L.P. Retraction arm to extract a mezzanine circuit board connector from a motherboard connector
US8868860B2 (en) 2011-09-23 2014-10-21 International Business Machines Corporation Restore in cascaded copy environment
EP2761469B1 (en) 2011-09-30 2019-11-13 Intel Corporation Non-volatile random access memory (nvram) as a replacement for traditional mass storage
US9459898B2 (en) 2011-10-06 2016-10-04 Hitachi, Ltd. Virtual server processing control method, system, and virtual server processing control management server
US9486084B2 (en) 2011-10-09 2016-11-08 Stryker Corporation Illuminable indicator for a bed
USD704247S1 (en) 2011-10-24 2014-05-06 Google Inc. Display device component
USD678273S1 (en) 2011-10-25 2013-03-19 Hewlett-Packard Development Company, L.P. Hard drive carrier
US8782463B1 (en) 2011-10-27 2014-07-15 Seagate Technology Llc Restoring a failed storage volume after removal of a storage device from an array
US9304843B2 (en) 2011-11-01 2016-04-05 Cleversafe, Inc. Highly secure method for accessing a dispersed storage network
US8899787B2 (en) 2011-11-02 2014-12-02 Tsmc Solid State Lighting Ltd. Thermal protection structure for multi-junction LED module
US20150015405A1 (en) 2011-12-20 2015-01-15 Aktiebolaget Skf Warning device for monitoring a health status of a bearing mounted to a piece of rotating industrial machinery
US8621644B2 (en) 2011-12-29 2013-12-31 Elwha Llc System and method for protecting data stored on a removable data storage device
EP2798486B1 (en) 2011-12-29 2019-11-06 VMware, Inc. N-way synchronization of desktop images
US20130171903A1 (en) 2012-01-03 2013-07-04 Andrew Zsinko Electroluminescent devices and their manufacture
US20130211608A1 (en) 2012-02-10 2013-08-15 Richard C. Farrell Systems and methods for remotely powering, configuring and controlling dc powered multi-channel devices
CN103313579A (zh) 2012-03-15 2013-09-18 鸿富锦精密工业(深圳)有限公司 电子装置及其风扇模组
US9137225B2 (en) 2012-04-23 2015-09-15 Raghavendra Kulkarni Seamless remote storage of uniformly encrypted data for diverse platforms and devices
USD681635S1 (en) 2012-04-26 2013-05-07 Kuo-Hsin Wang Disk drive tray
US9500355B2 (en) 2012-05-04 2016-11-22 GE Lighting Solutions, LLC Lamp with light emitting elements surrounding active cooling device
US8832352B2 (en) 2012-05-30 2014-09-09 Red Hat Israel, Ltd. Hypervisor-driven protection of data from virtual machine clones
US8847797B1 (en) * 2012-05-31 2014-09-30 Google Inc. Byte-aligned dictionary-based compression and decompression
US20150211916A1 (en) 2012-06-22 2015-07-30 Mark McGinn Warning device and method for monitoring alarm status of a vibration level of a piece of rotating machinery having an adaptive alarm indicator
US9233807B2 (en) 2012-06-26 2016-01-12 Hewlett-Packard Development Company, L.P. Apparatus for actuating a lift plate of a media tray
USD699212S1 (en) 2012-08-10 2014-02-11 Yamaha Corporation Amplifier
USD734754S1 (en) 2012-08-28 2015-07-21 Middle Atlantic Products, Inc. Vent panel with elongated slot pattern
US9119269B2 (en) 2012-08-30 2015-08-25 Juno Manufacturing, LLC Lumen depreciation management
US20140082324A1 (en) 2012-09-14 2014-03-20 Reuven Elhamias Method and Storage Device for Using File System Data to Predict Host Device Operations
US9035786B2 (en) 2012-09-24 2015-05-19 Checkers Industrial Products, Llc LED strobe light with peripheral pattern display
USD722995S1 (en) 2012-10-05 2015-02-24 Bigben Interactive Sa Music player
US8964385B2 (en) 2012-10-05 2015-02-24 Cisco Technology, Inc. Air flow system
KR102049281B1 (ko) * 2012-10-23 2019-11-27 삼성전자주식회사 불휘발성 메모리 및 컨트롤러를 포함하는 메모리 시스템, 그리고 불휘발성 메모리에 데이터를 프로그램하는 프로그램 방법
USD711382S1 (en) 2012-11-27 2014-08-19 Asetek A/S Server cooling distribution unit
JP6025530B2 (ja) 2012-11-29 2016-11-16 三菱電機株式会社 空気調和機用コントローラー
US9398715B2 (en) 2013-01-27 2016-07-19 General Electric Company Electronic module shelf assembly and methods
US9304703B1 (en) 2015-04-15 2016-04-05 Symbolic Io Corporation Method and apparatus for dense hyper IO digital retention
US20140223118A1 (en) * 2013-02-01 2014-08-07 Brian Ignomirello Bit Markers and Frequency Converters
US9628108B2 (en) 2013-02-01 2017-04-18 Symbolic Io Corporation Method and apparatus for dense hyper IO digital retention
US9467294B2 (en) * 2013-02-01 2016-10-11 Symbolic Io Corporation Methods and systems for storing and retrieving data
US9817728B2 (en) 2013-02-01 2017-11-14 Symbolic Io Corporation Fast system state cloning
US10133636B2 (en) * 2013-03-12 2018-11-20 Formulus Black Corporation Data storage and retrieval mediation system and methods for using same
USD730307S1 (en) 2013-03-01 2015-05-26 GDC Technology Limited Portable storage device for cinema playback system
US9069608B2 (en) 2013-03-06 2015-06-30 Vmware, Inc. Method and system for providing a roaming remote desktop
US9251010B2 (en) 2013-03-13 2016-02-02 International Business Machines Corporation Caching backed-up data locally until successful replication
USD694240S1 (en) 2013-03-15 2013-11-26 Creative Technology Ltd Shield
USD702650S1 (en) 2013-03-15 2014-04-15 General Electric Company Electrical component faceplate
USD697111S1 (en) 2013-03-15 2014-01-07 KM Fashion Eyewear, LLC V-shaped eyeglass lens with semi-shape aperture
USD726180S1 (en) 2013-04-18 2015-04-07 Vuzix Corporation Video eyewear device
FR3004876A1 (fr) * 2013-04-18 2014-10-24 France Telecom Correction de perte de trame par injection de bruit pondere.
USD719128S1 (en) 2013-04-18 2014-12-09 Qsc Audio Products, Llc Amplifier
US9116619B2 (en) 2013-05-10 2015-08-25 Seagate Technology Llc Displaying storage device status conditions using multi-color light emitting diode
USD706780S1 (en) 2013-05-23 2014-06-10 Recon Instruments Inc. Modular heads-up display system
CN203327301U (zh) 2013-05-24 2013-12-04 浙江农林大学 户外活动场所空气质量led指示灯
USD720357S1 (en) 2013-05-24 2014-12-30 Western Digital Technologies, Inc. Faceplate for a server
USD729809S1 (en) 2013-06-09 2015-05-19 Apple Inc. Component for an electronic device
CN104238682A (zh) 2013-06-19 2014-12-24 鸿富锦精密工业(深圳)有限公司 硬盘托架
USD722060S1 (en) 2013-06-20 2015-02-03 Western Digital Technologies, Inc. Faceplate for a server
WO2015039181A1 (en) 2013-09-23 2015-03-26 Gopc Pty Ltd Virtual computing systems and methods
US9297675B2 (en) 2013-10-04 2016-03-29 Tactotek Oy Illuminated indicator structures for electronic devices
US9389937B2 (en) 2013-11-19 2016-07-12 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Managing faulty memory pages in a computing system
EP2897018B1 (en) 2014-01-20 2017-01-11 Irsap Spa Method for providing a visual indication of the set room temperature in an electronic thermostat, and corresponding electronic thermostat
USD719571S1 (en) 2014-01-22 2014-12-16 Olympus Corporation Head mounted display prism
TWM481324U (zh) 2014-01-29 2014-07-01 Hsu Hsiu Yu Led裝飾燈具
JP1518036S (pt) 2014-02-19 2015-02-23
USD723554S1 (en) 2014-02-21 2015-03-03 Lg Electronics Inc. Head mounted display device
USD723555S1 (en) 2014-02-26 2015-03-03 Lg Electronics Inc. Head mounted display device
USD729242S1 (en) 2014-04-21 2015-05-12 Samsung Electronics Co., Ltd. Display device
US9569108B2 (en) 2014-05-06 2017-02-14 International Business Machines Corporation Dataset replica migration
JP1511167S (pt) 2014-05-21 2014-11-10
US9003144B1 (en) 2014-06-04 2015-04-07 Pure Storage, Inc. Mechanism for persisting messages in a storage system
USD731010S1 (en) 2014-06-18 2015-06-02 Nadine Bernecker Levitt U-shaped exercise weight bar
US9454308B2 (en) * 2014-06-27 2016-09-27 International Business Machines Corporation Page compression strategy for improved page out process
US9880754B2 (en) 2014-07-09 2018-01-30 Dell Products, Lp System and method for enabling transportability of a non volatile dual inline memory module
US9325086B2 (en) 2014-08-05 2016-04-26 International Business Machines Corporation Doubling available printed wiring card edge for high speed interconnect in electronic packaging applications
USD742883S1 (en) 2014-08-27 2015-11-10 Apple Inc. Component for an electronic device
USD741333S1 (en) 2014-08-29 2015-10-20 Apple Inc. Component for electronic device
US9946013B2 (en) 2014-09-18 2018-04-17 Cooper Technologies Company Indicator lights
US9430223B2 (en) 2014-09-25 2016-08-30 International Business Machines Corporation Live operating system update mechanisms
US20160232839A1 (en) 2015-02-09 2016-08-11 Symbolic Io Corporation Electroluminescent status display
USD735726S1 (en) 2015-02-13 2015-08-04 inXtron, Inc. Hard disk drive bracket
USD743404S1 (en) 2015-07-22 2015-11-17 Symbolic Io Corporation Media tray
USD740817S1 (en) 2015-07-22 2015-10-13 Symbolic Io Corporation Front ear assembly—left
USD742887S1 (en) 2015-07-22 2015-11-10 Symbolic Io Corporation Tray
USD740818S1 (en) 2015-07-23 2015-10-13 Symbolic Io Corporation Assembly kit
USD742876S1 (en) 2015-07-27 2015-11-10 Symbolic Io Corporation Rack equipment handle
US20170221322A1 (en) 2016-02-01 2017-08-03 Brian M. Ignomirello System and method of multimodal status indication
US20170220498A1 (en) 2016-02-01 2017-08-03 Symbolic Io Corporation Apparatus for personality and data transfer via physical movement of a fast memory transfer device
USD768135S1 (en) 2016-02-10 2016-10-04 Symbolic Io Corporation Bezel
US9603251B1 (en) 2016-03-09 2017-03-21 Symbolic Io Corporation Apparatus and method of midplane panel connections
USD768136S1 (en) 2016-06-01 2016-10-04 Symbolic Io Corporation Bezel
USD786258S1 (en) 2016-11-04 2017-05-09 Symbolic Io Corporation Face plate

Also Published As

Publication number Publication date
US20180196605A1 (en) 2018-07-12
AU2016202284A1 (en) 2016-11-03
JP6224762B2 (ja) 2017-11-01
MX2016004852A (es) 2016-10-18
KR101644145B1 (ko) 2016-07-29
CN106055270B (zh) 2018-05-22
CN108616281A (zh) 2018-10-02
CA2926692C (en) 2017-02-14
MX349483B (es) 2017-08-01
JP2018050301A (ja) 2018-03-29
JP2017011677A (ja) 2017-01-12
WO2016168007A1 (en) 2016-10-20
US9304703B1 (en) 2016-04-05
AU2016202284B2 (en) 2017-05-25
TW201636855A (zh) 2016-10-16
TWI560548B (en) 2016-12-01
EP3082265A1 (en) 2016-10-19
AR104277A1 (es) 2017-07-12
US10120607B2 (en) 2018-11-06
CA2926692A1 (en) 2016-08-04
CN106055270A (zh) 2016-10-26
PH12016000140A1 (en) 2017-10-30

Similar Documents

Publication Publication Date Title
BR102016008182A2 (pt) método e aparelho para a retenção digital i/o hiper densa
US10606482B2 (en) Method and apparatus for dense hyper IO digital retention
US9628108B2 (en) Method and apparatus for dense hyper IO digital retention
Seshadri et al. Ambit: In-memory accelerator for bulk bitwise operations using commodity DRAM technology
US20170277603A1 (en) Data saving method, device and terminal
US10395750B2 (en) System and method for post-package repair across DRAM banks and bank groups
BRPI0700835B1 (pt) método para vincular o módulo de memória de computador à placa-mãe e sistema de computador
US20210210155A1 (en) Memory sub-system self-testing operations
CN114930271A (zh) 用于存储器的电力输送定时
US20170322740A1 (en) Selective data persistence in computing systems
US10353816B2 (en) Page cache in a non-volatile memory
CN110308861B (zh) 存储数据保存方法、装置、电子设备和可读存储介质
TW201917589A (zh) 資料儲存裝置以及非揮發式記憶體操作方法
CN106909484B (zh) 一种用于存储环境下模拟坏盘测试的系统及方法
US20210181978A1 (en) Memory sub-system log synchronization
Paik et al. Generating representative test sequences from real workload for minimizing dram verification overhead
US10901845B2 (en) Erasure coding for a single-image memory
CN116225787A (zh) 一种ssd的元数据恢复方法、装置、设备及介质
CN114627935A (zh) 确保重要安全参数的完整性和安全擦除
JP2024538028A (ja) 信頼できるフラッシュストレージ

Legal Events

Date Code Title Description
B03A Publication of an application: publication of a patent application or of a certificate of addition of invention
B08F Application fees: dismissal - article 86 of industrial property law

Free format text: REFERENTE A 3A ANUIDADE.

B08K Lapse as no evidence of payment of the annual fee has been furnished to inpi (acc. art. 87)

Free format text: EM VIRTUDE DO ARQUIVAMENTO PUBLICADO NA RPI 2513 DE 06-03-2019 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDO O ARQUIVAMENTO DO PEDIDO DE PATENTE, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.