ITRM940602A1 - Architettura di memoria per dischi a stato solido - Google Patents

Architettura di memoria per dischi a stato solido Download PDF

Info

Publication number
ITRM940602A1
ITRM940602A1 IT000602A ITRM940602A ITRM940602A1 IT RM940602 A1 ITRM940602 A1 IT RM940602A1 IT 000602 A IT000602 A IT 000602A IT RM940602 A ITRM940602 A IT RM940602A IT RM940602 A1 ITRM940602 A1 IT RM940602A1
Authority
IT
Italy
Prior art keywords
memory
block
data
allows
solid state
Prior art date
Application number
IT000602A
Other languages
English (en)
Inventor
Zenzo Maurizio Di
Rodolfo Grimani
Original Assignee
Texas Instruments Italia Spa
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 Texas Instruments Italia Spa filed Critical Texas Instruments Italia Spa
Priority to ITRM940602A priority Critical patent/IT1274925B/it
Publication of ITRM940602A0 publication Critical patent/ITRM940602A0/it
Priority to EP95830379A priority patent/EP0704801B1/en
Priority to DE1995629135 priority patent/DE69529135T2/de
Priority to US08/531,984 priority patent/US5745673A/en
Priority to JP7243403A priority patent/JPH08203294A/ja
Publication of ITRM940602A1 publication Critical patent/ITRM940602A1/it
Application granted granted Critical
Publication of IT1274925B publication Critical patent/IT1274925B/it

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • G11C29/765Masking faults in memories by using spares or by reconfiguring using address translation or modifications in solid state disks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Dram (AREA)

Description

DESCRIZIONE
a corredo di una domanda di Brevetto d'invenzione avente per titolo: "ARCHITETTURA DI MEMORIA PER DISCHI A STATO SOLIDO"
La presente invenzione si riferisce in linea generale alle memorie e concerne in modo più particolare una nuova architettura di memoria che si presta in maniera ottimale alla realizzazione di dischi allo stato solido.
Come è noto agli esperti in questo settore, tra le attuali tecniche di memorizzazione di massa di dati, vanno assumendo sempre maggiore importanza i dischi allo stato solido (SSD), cioè delle strutture che utilizzano chip di memoria commerciali, normalmente utilizzati come memorie residenti, connesse in modo da emulare i dischi magnetici.
É stato, comunque, constatato che l'uso delle attuali memorie commerciali (tipicamente memorie DRAM) comporta un appesantimento della struttura globale del disco allo stato solido, da cui nasce l'esigenza di individuare una architettura di memoria specifica, tale da permettere un ottimale funzionamento di questi sistemi.
Deve anche essere tenuto presente che i dischi allo stato solido debbono essere compatibili con gli attuali sistemi di memorizzazione di massa, questi debbono quindi essere strutturati in blocchi di 512 bytes.
Fino ad oggi, le memorie sono state viste come degli oggetti da utilizzare come nodi centrali di sistemi direttamente interfacciati con un microprocessore. Ciò comporta il fatto che sia la funzionalità , sia l'interfaccia elettrica e logica, sono state progettate in modo da ottimizzare il colloquio tra l'Unità di Elaborazione Centrale (CPU) e le celle della memoria stessa. Al momento stesso, però, in cui si prendono in considerazione altre applicazioni ed altre architetture, il tipo di interfaccia ed il tipo di funzionalità non sono più quelli ottimali.
Sulla base delle esperienze fatte nel campo dei dischi allo stato solido, lo scopo generale che la presente invenzione si è proposto è stato di mettere a punto una architettura ottimale tale da permettere la semplificazione di tutto il disegno di un sistema di memoria di massa basato su memorie al silicio
In questo quadro ed in particolare sotto l'aspetto del costo, diventa importante che la memoria ottenuta abbia un livello ottimale di "fault tolerance" e, nella presente invenzione, rilevanza speciale è stata posta nella incorporazione nella stessa memoria di opportuni meccanismi di correzione degli errori. L'intento è quello di fare in modo che l'utente esterno generico che richieda i dati dalla memoria debba occuparsi dell'architettura della memoria soltanto in un momento ben preciso, in particolare il momento della inizializzazione, e non debba preoccuparsene ad ogni estrazione di dati. Ciò vuol dire che, se l'utente richiede un blocco di dati memorizzati nell'indirizzo nominale xxx, sia la memoria stessa ad estrarre il blocco di dati richiesto, anche se esso era stato memorizzato non nell'indirizzo effettivo xxx, ma in un diverso indirizzo dove era stato fisicamente possibile inserirlo.
In altre parole, l'intento è stato quello di costruire, al livello di multi-probe, cioè ancor prima che la memoria venga assemblata, una mappa dei bit fallenti e di inserirla stabilmente nella memoria e farvela permanere fino a che non intervenga la necessità o convenienza di modificarla. Da ciò deriva un vantaggio sostanziale in termini di flusso di produzione, grazie al fatto che una tale memoria utilizzata per applicazione di memorizzazione di massa non viene collaudata o "testata" come una memoria per calcolatore, ma viene invece collaudata utilizzando algoritmi specifici e sfruttando un programma di collaudo specifico.
Sotto l'aspetto strutturale, innanzi tutto, la memoria della presente invenzione, rispetto ad una memoria convenzionale, è realizzata in maniera tale che la matrice delle celle non contenga solo il posto per le memorizzazione dei dati, ma anche il posto per un codice di correzione degli errori, in modo tale che tutta l'informazione sia contenuta all'interno del chip e non vi sia bisogno di ricorrere a circuitene esterna. In questa maniera viene snellito anche Io scambio di informazioni con il mondo esterno.
Esprimendo quanto sopra in termini più rigorosi, i chip utilizzati possono presentare difetti di varia natura e quindi dar luogo ad errori sui bit memorizzati: tutto ciò crea il bisogno di inserire nell'interno stesso del disco allo stato solido (SSD) un meccanismo capace di realizzare un algoritmo do codice di correzione di errore (ECC). Se si considera l'uso di un codice di correzione di errore del tipo Reed Salomon Code, si ha una ridondanza di 12.5% e quindi si necessita di uno spazio di memoria maggiore dei tradizionali 512 byte per settore: più precisamente, occorre aggiungere 64 byte di verifica ogni 512 byte di dati.
Il codice di correzione di errore realizzerà un algoritmo di correzione dei dati memorizzati, eliminando così gli effetti deleteri delle difettosità delle memorie. Ovviamente, il codice di correzione di errore avrà un limite funzionale ed esisteranno degli errori non correggibili.
Per far fronte alla circostanza degli errori non correggibili, l'architettura secondo la presente invenzione prevede un’area di ridondanza necessaria per rimpiazzare eventuali zone "troppo difettose". Come sopra accennato, la soluzione adottata consiste, in aggiunta alla capacità di generare automaticamente l'algoritmo di ECC, neirintrodurre una mappatura dei bit fallenti che permetterà di rimpiazzare le righe affette da errori.
Nella eventualità in cui l'array di memoria sia realizzato con tecniche volatili, il chip secondo la presente invenzione prevede una circuiteria addizionale facoltativa per la esecuzione di operazioni di rinfresco interne.
Riassumendo, il chip secondo la presente invenzione è in grado di:
- memorizzare i dati ed il codice di correzione di errore,
- riallocare la matrice di celle in caso di difettosità delle righe, - realizzare l'algoritmo di correzione di errore,
- generare le operazioni di rinfresco delle memorie volatili, - consentire l'accesso dall'esterno tramite opportuni buffers. Ulteriori dettagli, particolarità e vantaggi della presente invenzione appariranno evidenti dal seguito della descrizione con riferimento ai disegni allegati, in cui sono rappresentate a titolo illustrativo e non restrittivo le preferite forme di realizzazione.
Nei disegni, lo schema rappresentato nella Figura 1 costituisce il "block design" della memoria proposta secondo la presente invenzione.
DESCRIZIONE DEI BLOCCHI SCRAMBLE RAM (SCRAM) : questa è la memoria di transcodifica contenente la tabella che permette la riallocazione degli indirizzi delia matrice dati; le righe ridondanti vengono utilizzate quando occorre sostituire le righe difettose.
SCRAM DEC: questo blocco permette la decodifica degli indirizzi della tabella di riallocazione.
DATA ARRAY : questa è la memoria vera e propria nella quale sono scritti i bytes di dati ed i bytes di verifica o di check. In questa forma di realizzazione, la memoria è formata da 500 righe e ciascuna riga è formata da 512 64 bytes. Le 500 righe sono state calcolate volendo ottenere un chip di 15 Mbit.
FUSE LOGIC: questa logica permette l'operazione di individuazione delle righe non utilizzabili e la loro sostituzione con le righe ridondanti.
ECC : questo blocco implementa l'algoritmo di correzione degli errore: Reed Salomon Code.
LOGICAL ROW ADDRESS BUFFER : questa è una memoria tampone (buffer) di ingresso che immagazzina l'indirizzo di riga proveniente dal bus esterno;
FAIL MAP : è il cuore del chip, si tratta di una zona di memoria non volatile, programmata durante il collaudo e disponibile ad un eventuale processore per la gestione della memoria SCRAM, attraverso un apposito bus;
WORD COUNTER: questo blocco, attraverso il segnale di cadenzamelo o di clock esterno esegue il conteggio delle parole che sono state indirizzate e genera, inoltre, gli indirizzi delle parole;
DATA IN / DATA OUT : si tratta di buffers di ingresso (o di scrittura) e di uscita (o di lettura) dei dati, i quali cooperano direttamente con il blocco MUX;
MUX : questo blocco è formato da un multiplexer il quale è controllato da un segnale SCRAM_EN per commutare il transito dai dati alla memoria dei dati vera e propria oppure alla memoria di transcodifica SCRAM;
ARBITER : questo blocco, agendo sul blocco REFRESH COUNTER comanda l'operazione di rinfresco. Inoltre, esso risolve il conflitto tra l'operazione di accesso alla memoria e di rinfresco della memona.
REFRESH COUNTER (REFRESH CNT): questo blocco genera gli indirizzi per il rinfresco delle due memorie volatili presenti nel sistema, la memoria di matrice dei dati e la memoria di transcodifica.
OSC : si tratta di un oscillatore interno che provvede alla temporizzazione del blocco ARBITER. Solo tramite l'oscillatore interno si riesce a rendere la memoria quasi statica (rinfresco interno).
Prima di passare all’esame del funzionamento, è da notare che, avendo la possibilità di una piccola elaborazione locale, anche se limitata alla correzione dell'errore, la memoria secondo la presente invenzione ha anche un comportamento attivo. Ciò significa che, quando la procedura di correzione dell'errore non viene positivamente conclusa, allora la memoria stessa fornisce all'elaboratore centrale un segnale di interruzione (INT).
Inoltre, è da sottolineare il fatto che, grazie all'uso della SCRAMBLE RAM la suddivisione in settori della memoria di dati non è più determinante, come nella tecnica anteriore, perchè, attraverso una decodifica degli indirizzi della SCRAMBLE RAM, una qualsiasi delle righe ridondanti previste può rimpiazzare una qualsiasi delle righe difettose.
MODO DI FUNZIONAMENTO
I blocchi rappresentati nella Figura 1 sono sufficienti per il corretto funzionamento della memoria. Verranno ora analizzati alcuni modi di funzionamento.
ACCESSO : è necessario innanzi tutto abilitare il chip, cosa che viene fatta ponendo il segnale CE = attivo, poi occorre inviare gli indirizzi, caricando gli appositi buffers DATA IN / DATA OUT. Il segnale W (lettura / scrittura) determina la direzione dei dati.
SCRITTURA : una volta applicato l'indirizzo logico, la memoria di transcodifica lo traduce in un indirizzo fisico, provvedendo, nella generazione dell'indirizzo reale, a saltare eventuali righe difettose. Il blocco di correzione dell'errore (ECC) aggiunge ai dati i byte di ridondanza, caricato sul buffer di ingresso, i quali, attraverso il multiplexer MUX, raggiungono la matrice di celle che li memorizza tutti insieme su una sola riga. Contemporaneamente, dall'esterno, per ogni byte entrato, il segnale di cadenzamento (clock) permette al contatore di parole di contare il numero di indirizzi realizzati e quindi in bytes trasferiti.
LETTURA : dopo aver abilitato il chip tramite il segnale CE attivo e dopo averlo commutato in lettura tramite disabilitazione del segnale W, viene fornito l'indirizzo del settore e, attraverso la tabella di transcodifica, viene generato l'indirizzo fisico che permette l'accesso alla riga desiderata. I dati attraverso il multiplexer raggiungeranno i buffers e verranno elaborati dal blocco di correzione dell'errore ECC, il quale, tramite i bit di ridondanza, individua e corregge eventuali errori di memorizzazione. Nel caso in cui questa operazione non riesca, esso manifesterà all'elaboratore centrale lo stato di "errore non correggibile" tramite il segnale INT.
La struttura secondo la presente invenzione permette anche l'accesso diretto alla memoria di SCRAMBLE necessario nella fase diagnostica del disco allo stato solido: questa operazione avviene attraverso la attivazione del segnale SCRAMBLE_EN.
Come sopra accennato, la memoria secondo la presente invenzione è una memoria di tipo quasi statico; infatti, il chip gestisce automaticamente sia il rinfresco della memoria di dati, sia il rinfresco della memoria SCRAMBLE. Tutto ciò è garantito dai blocchi REFRESH, che realizza il rinfresco vero e proprio, ARBITER, che risolve eventuali conflitti tra acceso e rinfresco, e OSC, che permette il sincronismo delle operazioni tra i due blocchi.
DESCRIZIONE DEI SEGNALI E DEI BUS CE : segnale attivo basso che permette la attivazione del chip di memoria,
AO - A11 : bus di 12 bit utilizzato per fornire al chip i 12 indirizzi,
CLK : viene abilitato ogni volta che arriva un byte e permette al contatore di parole di contare i byte indirizzati,
INT : tramite questo segnale di interruzione, il blocco di ECC manifesta la presenza di un errore non correggibile,
FAIL_MAP : permette l'accesso alla zona di memoria,
I / O : è il bus dei dati, bidirezionale, a 16 bit,
W : segnale attivo basso che permette di controllare la direzione del flusso di dati : lettura / scrittura,
SCRAM_EN : permette la connessione del bus di dati o con la matrice di celle o con la memoria di mappatura.
L'uso della memoria rappresentata nella Figura 1 presenterebbe diversi tipi di vantaggi. Innanzi tutto, essa semplificherebbe le operazioni e la complessità del modulo di controllo, cioè del circuito di interfaccia tra il microprocessore e le memorie del disco a stato solido SSD. Tale modulo di controllo avrà allora solo la funzione di by-passare gli indirizzi rendendoli compatibili con la memoria, riducendo così sia le dimensioni del modulo stesso di controllo, sia la complessità dell'algoritmo di connessione logica tra dati e byte di controllo realizzata dallo stesso modulo di controllo.
Rispetto alle memorie DRAM, la memoria secondo la presente invenzione (ASM : Application Specific Memory), come già accennato, garantisce un grande vantaggio in fase di produzione, in particolare durante la fase di collaudo dei chip di memoria. Sarà sufficiente una sola passata di collaudo : infatti, poiché i bytes di dati sono tutti immagazzinati sequenzialmente in una sola riga, l'indirizzamento non può che avvenire in "page mode" e la connessione logica tra area di memoria riservata ai dati e area di memoria destinata ai byte di verifica è immediata e quindi i due diversi tipi di analisi delle difettosità delle memorie DRAM attualmente necessari si semplificherebbero in una sola operazione di collaudo, con evidente miglioramento in termini di velocità di produzione.
Inoltre, non esiste più il bisogno di restringimento delle ipotesi ad un solo "fault byte" per blocco, come invece si ha nelle memorie convenzionali. Infatti, poiché tutti i 576 bytes sono consecutivi, sarà sufficiente verificare che il numero massimo di bytes difettosi nella stringa sia minore od uguale alla massima difettosità ammissibile. Nelle memorie DRAM convenzionali, invece, non essendo possibile connettere logicamente, in fase di collaudo, le aree di memoria dati ed ECC, si è costretti ad utilizzare criteri più restrittivi, per evitare che la somma dei difetti nelle due zone ecceda la caoacità di correzione del codice prescelto.
Infine, il flusso produttivo delle memorie ASM è più economico di quello delle memorie DRAM. Il numero delle fasi di produzione è diminuito: analizzando i dati riguardanti gli effetti sugli errori di invecchiamento del chip, si nota, infatti, che tutti i tipi di errori che si manifestano non creano problemi al disco a stato solido SSD realizzato con incorporato ECC ("on-chip"), per cui la procedura di collaudo della nuova memoria non necessiterà più della fase di "burn-in" e. ovviamente, delle ripetizione di tutto il collaudo a temperatura ambiente.
In quel che precede è stata descritta la preferita forma di realizzazione della presente invenzione e sono state suggerite delle varianti, ma deve essere chiaro che gli esperti nel ramo potranno apportare altre varianti, modificazioni e cambiamenti nei dettagli e nei particolari costruttivi, senza con ciò uscire dall'ambito di protezione della presente privativa industriale.

Claims (1)

  1. RIVENDICAZIONI 1.- Memoria per disco a stato solido (SSD), caratterizzata dal fatto di comprendere i seguenti blocchi funzionali: - un blocco di memoria (DATA ARRAY) nel quale sono scritti i bytes di dati ed i bytes di verifica, - un blocco di memoria di transcodifica (SCRAMBLE RAM) contenente la tabella che permette la riallocazione degli indirizzi della matrice dati, contenente righe ridondanti, - un blocco (SCRAM DEC) per la decodifica degli indirizzi della tabella di decodificazione, - un blocco logico (FUSE LOGIC) che permette l’operazione di individuazione delle righe non utilizzabili e la loro sostituzione con le dette righe ridondanti, - un blocco di codice di correzione di errore (ECC) che implementa l'algoritmo di correzione degli errori, - un blocco di buffer di ingresso (LOGICAL ROW ADDRESS BUFFER) die immagazzina l'indirizzo di riga proveniente dai bus esterno, - un blocco di memoria non volatile (FAIL MAP), programmata durante il collaudo e disponibile ad un eventuale processore per la gestione del contenuto della memoria di transcodifica (SCRAMBLE RAM), - un blocco contatore di parole (WORD COUNTER) che, pilotato dal segnale di cadenzamento (clock) esterno, conta il numero di parole che sono state indirizzate e genera gli indirizzi delle parole, - due blocchi di buffer di ingresso e di uscita (DATA IN/OUT) per i dati in scrittura ed in lettura, - un blocco di multiplexer (MUX) che pilota il flusso dei dati o alla memoria dei dati (DATA ARRAY) o alla memoria di transcodifica SCRAMBLE RAM). 2.- Memoria per disco a stato solido secondo la rivendicazione 1 , caratterizzata dal fatto che comprende ulteriormente - un blocco contatore di rinfresco (REFRESH COUNTER) che genera gli indirizzi delle due memorie volatili presente: la memoria di matrice e la memoria di transcodifica. - un blocco di arbitraggio (ARBITER) che, agendo sul contatore di rinfresco, comanda l'operazione di rinfresco e risolve il conflitto tra l'operazione di accesso alla memoria e l'operazione di rinfresco della stessa, - un blocco di oscillatore locale (OSC) che provvede alla temporizzazione di detto blocco di arbitraggio (ARBITER). 3.- Memoria per disco a stato solido secondo le rivendicazioni 1 e 2, caratterizzata dal fatto che sulla memoria agiscono i seguenti segnali: - CE: segnale attivo basso che permette la attivazione del chip di memoria, - CLK : segnale di cadenzamelo (CLOCK) il quale viene abilitato ogni volta che arriva un byte e permette al contatore di parole (WORD COUNTER) di contare i bytes indirizzati, - INT: segnale di interruzione con il quale il blocco di codice di correzione di errori (ECC) manifesta la presenza di un errore non correggibile, FAIL_MAP: segnale che permette l'accesso alla zona di memoria (FAIL MAP), - W : segnale attivo basso che permette di controllare la direzione del flusso dei dati, lettura / scrittura, - SCRAM_EN : segnale che permette la connessione del bus di dati o con la matrice di celle (DATA ARRAY) o con la memoria di mappatura (SCRAMBLE RAM). 4.- Memoria per disco a stato solido secondo le rivendicazioni 1 e 2, caratterizzata dal fatto che alla memoria sono collegati i seguenti bus A0 - A11 : bus da 12 bit per fornire al chip i 12 indirizzi, I / O : bus di dati, bidirezionale, a 16 bit, essendo anche previsto un bus per l'accesso da un processore esterno al blocco di FAIL MAP. 5.- Memoria per disco a stato solido secondo una qualsiasi delle precedenti rivendicazioni e sostanzialmente come descritta e rappresentata.
ITRM940602A 1994-09-21 1994-09-21 Architettura di memoria per dischi a stato solido IT1274925B (it)

Priority Applications (5)

Application Number Priority Date Filing Date Title
ITRM940602A IT1274925B (it) 1994-09-21 1994-09-21 Architettura di memoria per dischi a stato solido
EP95830379A EP0704801B1 (en) 1994-09-21 1995-09-15 Memory architecture for solid state disc
DE1995629135 DE69529135T2 (de) 1994-09-21 1995-09-15 Speicherarchitektur für Halbleiterfestplatten
US08/531,984 US5745673A (en) 1994-09-21 1995-09-21 Memory architecture for solid state discs
JP7243403A JPH08203294A (ja) 1994-09-21 1995-09-21 メモリ

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
ITRM940602A IT1274925B (it) 1994-09-21 1994-09-21 Architettura di memoria per dischi a stato solido
US08/531,984 US5745673A (en) 1994-09-21 1995-09-21 Memory architecture for solid state discs

Publications (3)

Publication Number Publication Date
ITRM940602A0 ITRM940602A0 (it) 1994-09-21
ITRM940602A1 true ITRM940602A1 (it) 1996-03-21
IT1274925B IT1274925B (it) 1997-07-29

Family

ID=26332068

Family Applications (1)

Application Number Title Priority Date Filing Date
ITRM940602A IT1274925B (it) 1994-09-21 1994-09-21 Architettura di memoria per dischi a stato solido

Country Status (4)

Country Link
US (1) US5745673A (it)
EP (1) EP0704801B1 (it)
JP (1) JPH08203294A (it)
IT (1) IT1274925B (it)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5354695A (en) * 1992-04-08 1994-10-11 Leedy Glenn J Membrane dielectric isolation IC fabrication
US6714625B1 (en) * 1992-04-08 2004-03-30 Elm Technology Corporation Lithography device for semiconductor circuit pattern generation
US6009536A (en) * 1996-09-20 1999-12-28 Micron Electronics, Inc. Method for using fuse identification codes for masking bad bits on memory modules
US6551857B2 (en) 1997-04-04 2003-04-22 Elm Technology Corporation Three dimensional structure integrated circuits
US5915167A (en) * 1997-04-04 1999-06-22 Elm Technology Corporation Three dimensional structure memory
US6314527B1 (en) 1998-03-05 2001-11-06 Micron Technology, Inc. Recovery of useful areas of partially defective synchronous memory components
US6332183B1 (en) 1998-03-05 2001-12-18 Micron Technology, Inc. Method for recovery of useful areas of partially defective synchronous memory components
US6381708B1 (en) 1998-04-28 2002-04-30 Micron Technology, Inc. Method for decoding addresses for a defective memory array
US6381707B1 (en) 1998-04-28 2002-04-30 Micron Technology, Inc. System for decoding addresses for a defective memory array
US6496876B1 (en) 1998-12-21 2002-12-17 Micron Technology, Inc. System and method for storing a tag to identify a functional storage location in a memory device
US6578157B1 (en) 2000-03-06 2003-06-10 Micron Technology, Inc. Method and apparatus for recovery of useful areas of partially defective direct rambus rimm components
US7269765B1 (en) * 2000-04-13 2007-09-11 Micron Technology, Inc. Method and apparatus for storing failing part locations in a module
DE10109558C1 (de) * 2001-02-28 2003-01-30 Siemens Ag Empfängerseitige Zusatzschaltung für den Boundary Scan bei der Datenübertragung mit differentiellen Signalen
US7036068B2 (en) * 2001-07-25 2006-04-25 Hewlett-Packard Development Company, L.P. Error correction coding and decoding in a solid-state storage device
US6981196B2 (en) 2001-07-25 2005-12-27 Hewlett-Packard Development Company, L.P. Data storage method for use in a magnetoresistive solid-state storage device
US20030023922A1 (en) * 2001-07-25 2003-01-30 Davis James A. Fault tolerant magnetoresistive solid-state storage device
US6973604B2 (en) 2002-03-08 2005-12-06 Hewlett-Packard Development Company, L.P. Allocation of sparing resources in a magnetoresistive solid-state storage device
WO2004015764A2 (en) 2002-08-08 2004-02-19 Leedy Glenn J Vertical system integration
US7761773B2 (en) * 2005-06-30 2010-07-20 Sigmatel, Inc. Semiconductor device including a unique identifier and error correction code
US9734086B2 (en) 2006-12-06 2017-08-15 Sandisk Technologies Llc Apparatus, system, and method for a device shared between multiple independent hosts
CN101067972B (zh) * 2007-04-23 2012-04-25 北京兆易创新科技有限公司 一种存储器检错纠错编码电路及利用其读写数据的方法
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US8423837B2 (en) * 2009-02-13 2013-04-16 Texas Instruments Incorporated High reliability and low power redundancy for memory
BRPI1013576B1 (pt) * 2009-04-21 2020-05-19 Ibm aparelho e método para controlar um disco de estado sólido
TWI464581B (zh) * 2011-02-21 2014-12-11 Etron Technology Inc 非揮發性記憶體模組、非揮發性記憶體處理系統、與相關非揮發性記憶體管理方法
JP6018508B2 (ja) * 2013-01-09 2016-11-02 エスアイアイ・セミコンダクタ株式会社 不揮発性半導体記憶装置及びそのテスト方法
US9934151B2 (en) 2016-06-28 2018-04-03 Dell Products, Lp System and method for dynamic optimization for burst and sustained performance in solid state drives
CN107454072B (zh) * 2017-07-28 2020-04-17 中国人民解放军信息工程大学 一种多路数据内容的对比方法及装置
US11074189B2 (en) 2019-06-20 2021-07-27 International Business Machines Corporation FlatFlash system for byte granularity accessibility of memory in a unified memory-storage hierarchy

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3032630C2 (de) * 1980-08-29 1983-12-22 Siemens AG, 1000 Berlin und 8000 München Halbleiterspeicher aus Speicherbausteinen mit redundanten Speicherbereichen und Verfahren zu dessen Betrieb
JPS6134793A (ja) * 1984-07-27 1986-02-19 Hitachi Ltd ダイナミツクメモリ装置における診断及びエラ−訂正装置
JP2530610B2 (ja) * 1986-02-27 1996-09-04 富士通株式会社 半導体記憶装置
US4899067A (en) * 1988-07-22 1990-02-06 Altera Corporation Programmable logic devices with spare circuits for use in replacing defective circuits
DE69032844T2 (de) * 1989-01-31 1999-05-12 Fujitsu Ltd., Kawasaki, Kanagawa Halbleiterspeicher mit Einrichtung zum Ersetzen defekter Speicherzellen
JPH03160695A (ja) * 1989-11-17 1991-07-10 Nec Corp 半導体記憶装置
US5307356A (en) * 1990-04-16 1994-04-26 International Business Machines Corporation Interlocked on-chip ECC system
US5199033A (en) * 1990-05-10 1993-03-30 Quantum Corporation Solid state memory array using address block bit substitution to compensate for non-functional storage cells
JPH04278299A (ja) * 1991-03-07 1992-10-02 Sharp Corp 半導体記憶装置
EP0505652B1 (en) * 1991-03-29 1996-03-13 International Business Machines Corporation Memory system with adaptable redundancy
JP3107240B2 (ja) * 1991-08-29 2000-11-06 川崎製鉄株式会社 メモリモジュール及びその不良ビットテーブル設定方法
US5321697A (en) * 1992-05-28 1994-06-14 Cray Research, Inc. Solid state storage device
US5422850A (en) * 1993-07-12 1995-06-06 Texas Instruments Incorporated Semiconductor memory device and defective memory cell repair circuit

Also Published As

Publication number Publication date
EP0704801B1 (en) 2002-12-11
US5745673A (en) 1998-04-28
JPH08203294A (ja) 1996-08-09
EP0704801A2 (en) 1996-04-03
ITRM940602A0 (it) 1994-09-21
EP0704801A3 (en) 1999-03-10
IT1274925B (it) 1997-07-29

Similar Documents

Publication Publication Date Title
ITRM940602A1 (it) Architettura di memoria per dischi a stato solido
JP7121875B1 (ja) パーシステントメモリシステム等のデータ完全性
KR102350538B1 (ko) Ddr 메모리 에러 복구
KR102652001B1 (ko) 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법
CN115516563B (zh) 用于dram的刷新管理
JP6986369B2 (ja) メモリモジュール、これを含むシステム及びその動作方法
KR101213315B1 (ko) 메모리 영역을 선택하는 방법, 회로, 및 시스템
ES2375230T3 (es) Sistema y procedimiento para reducir el consumo de potencia de ram dinámica a través de la utilización de indicadores de datos válidos.
CN109155146A (zh) 一体式封装后修复装置
KR20190003517A (ko) 미세 입도의 리프레시
KR20190004302A (ko) 자동 리프레시 상태 머신 mop 어레이
KR20190019215A (ko) 스트릭 및 판독/기입 트랜잭션 관리 기능을 갖는 메모리 제어기 아비터
US20150026537A1 (en) Memory device with over-refresh and method thereof
JPH1166845A (ja) 半導体回路及びその制御方法
KR20210118727A (ko) 행 주소 지정 및 열 주소 지정이 가능한 메모리의 동적 데이터에 대한 에러 정정
CN116250041A (zh) 用于dram的刷新管理列表
US20180150233A1 (en) Storage system
CN114974384A (zh) 高效的io区段中断系统和方法
KR20230051835A (ko) 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법
KR102871204B1 (ko) 완전한 동적 포스트-패키지 리페어
JP4569182B2 (ja) 半導体装置
US9773571B2 (en) Memory repair redundancy with array cache redundancy
US9442658B2 (en) Apparatuses and methods including selectively providing a single or separate chip select signals
CN102067232A (zh) 包括同时刷新和读取或写入的动态随机存取存储器(dram)的电路、以及在这样的存储器中执行同时刷新和读取或写入的方法
CN104704572A (zh) 修复内存装置

Legal Events

Date Code Title Description
0001 Granted