IT201900019992A1 - Sistema per la caratterizzazione di memorie non volatili - Google Patents

Sistema per la caratterizzazione di memorie non volatili Download PDF

Info

Publication number
IT201900019992A1
IT201900019992A1 IT102019000019992A IT201900019992A IT201900019992A1 IT 201900019992 A1 IT201900019992 A1 IT 201900019992A1 IT 102019000019992 A IT102019000019992 A IT 102019000019992A IT 201900019992 A IT201900019992 A IT 201900019992A IT 201900019992 A1 IT201900019992 A1 IT 201900019992A1
Authority
IT
Italy
Prior art keywords
level processing
testing
module
low
memory device
Prior art date
Application number
IT102019000019992A
Other languages
English (en)
Inventor
Tamas Kerekes
Nicola Campanelli
Alessandro Feriani
Original Assignee
Nplust S R L
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 Nplust S R L filed Critical Nplust S R L
Priority to IT102019000019992A priority Critical patent/IT201900019992A1/it
Publication of IT201900019992A1 publication Critical patent/IT201900019992A1/it

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56016Apparatus features
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/26Testing of individual semiconductor devices
    • G01R31/2601Apparatus or methods therefor
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/2801Testing of printed circuits, backplanes, motherboards, hybrid circuits or carriers for multichip packages [MCP]
    • G01R31/2806Apparatus therefor, e.g. test stations, drivers, analysers, conveyors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits

Landscapes

  • Hardware Redundancy (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Description

DESCRIZIONE
Campo dell’invenzione
La presente invenzione si riferisce al campo dell’elettronica, e più specificamente si riferisce ad un sistema per il collaudo di una memoria non volatile.
Panoramica dello stato della tecnica
I dispositivi di memoria elettronica (d’ora in avanti, identificati in breve con il termine di “dispositivi di memoria”) sono dispositivi utilizzati per memorizzare dati che trovano largo utilizzo in vari apparati elettronici quali tablet, computer, unità di memoria a stato solido (Solid State Drive, "SSD"), dispositivi di comunicazione wireless (ad esempio smartphone), videocamere, display digitali, solo per citarne alcuni.
I dispositivi di memoria comprendono una pluralità di celle di memoria atte a memorizzare dati nella forma di stati logici programmabili. Per esempio, le celle di memoria binarie possono essere programmate in due diversi stati logici, ovverossia un primo stato logico tipicamente denominato “1” (anche definito come stato di “SET”) ed un secondo stato logico tipicamente denominato “0” (anche definito come stato di “RESET”). Nelle celle di memoria multilivello, ciascuna cella di memoria può invece memorizzare dati nella forma di più di due stati logici programmabili differenti. Per accedere ai dati memorizzati, il dispositivo di memoria comprende un modulo o unità atto a rilevare, o leggere, lo stato logico memorizzato nelle celle di memoria. Per memorizzare dati, il dispositivo di memoria comprende un modulo o unità atto a programmare, o scrivere, gli stati logici desiderati nelle celle di memoria.
I dispositivi di memoria possono essere del tipo non-volatile o del tipo volatile. Un dispositivo di memoria non-volatile comprende celle di memoria che sono in grado di conservare i dati memorizzati mantenendo il loro stato logico programmato per lunghi periodi di tempo anche in assenza di una sorgente di potenza esterna. Un dispositivo di memoria volatile comprende invece celle di memoria che possono perdere nel tempo i dati memorizzati se non vengono periodicamente “rinfrescati” mediante una sorgente di potenza esterna.
Sono noti diversi tipi di dispositivi di memoria non-volatile, una lista nonesaustiva di essi comprendendo dispositivi di memoria EEPROM (Electrically Erasable Programmable Read Only Memory, ovverossia memoria di sola lettura programmabile e cancellabile elettricamente), dispositivi di memoria flash, dispositivi di memoria ferroelettrici, dispositivi di memoria magnetici, dispositivi di memoria ottici, e dispositivi di memoria a cambiamento di fase.
Prendendo in considerazione i dispositivi di memoria di tipo flash, sono note due principali architetture, denominate rispettivamente architettura NOR ed architettura NAND. In un dispositivo di memoria flash avente un'architettura NOR, denominato più semplicemente dispositivo di memoria NOR, ciascuna cella di memoria ha un'estremità connessa direttamente alla massa, mentre l'altra direttamente ad una bitline. In un dispositivo di memoria flash avente un'architettura NAND, denominato più semplicemente dispositivo di memoria NAND, stringhe di celle di memoria sono connesse in serie ad una stessa bitline.
I dispositivi di memoria NAND sono caratterizzati da un costo per bit minore e quindi da densità molto maggiori rispetto ai dispositivi di memoria NOR. Per questo motivo, i dispositivi di memoria NAND sono particolarmente utilizzati nelle memorie di massa, come ad esempio nelle unità di memoria a stato solito (Solid State Drive, “SSD”).
Tuttavia, come è noto agli esperti del settore, proprio a causa della elevata densità, i dispositivi di memoria NAND sono soggetti a diversi errori di funzionamento (in gergo, "failure") che causano svariati inconvenienti, quali una scarsa durata operativa e una ridotta capacità di mantenimento ("data retention") dei dati memorizzati. La frequenza e l'entità di questi errori risultano essere particolarmente gravi nei dispositivi di memoria NAND moderni a densità molto elevata, quali i dispositivi di memoria NAND con architettura tridimensionale (3D). Con l'incremento della densità e la conseguente riduzione delle dimensioni delle celle di memoria, la possibilità di interferenza tra celle vicine risulta essere incrementata di conseguenza. L'aumento del numero di stati logici che può memorizzare una singola cella riduce di conseguenza il margine di lettura tra tali stati logici, causando un conseguente incremento della sensibilità del dispositivo di memoria al rumore ed alla temperatura, nonché riducendo ulteriormente la capacità di mantenimento dei dati memorizzati.
Quando gli apparati elettronici in cui sono installati dispositivi di memoria NAND richiedono velocità e livelli di affidabilità elevati, come nel caso delle unità di memoria SSD, è necessario che gli errori dei dispositivi di memoria NAND siano adeguatamente compensati e corretti da opportune unità / moduli di correzione, ad esempio previsti nel controllore dell’apparato elettronico (nel caso delle unità di memoria SSD, denominato controllore SSD o "SSD controller"). La compensazione e correzione degli errori richiede l’applicazione di diverse tecniche, quali ad esempio tecniche che impiegano codici a correzione di errore (Error Correction Code, “ECC”), tecniche di rilettura (read retry), tecniche di livellamento di usura (wear levelling) e tecniche di gestione dei blocchi guasti (bad block management). Per implementare tali tecniche, il modulo di correzione del dispositivo di memoria NAND, deve eseguire sul dispositivo di memoria NAND una serie di operazioni in accordo con algoritmi dedicati.
Allo scopo di scrivere algoritmi tali da permettere una compensazione e correzione degli errori sufficiente a garantire elevate prestazioni operative dell’apparato elettronico in cui sono installati dispositivi di memoria NAND, quale di una unità di memoria SSD, è necessario avere una conoscenza dettagliata ed esaustiva dei potenziali errori che possono affliggere il dispositivo di memoria NAND.
Tuttavia, tale conoscenza è piuttosto complessa da ottenere, visto che ogni tipo di dispositivo di memoria NAND è soggetto a diverse tipologie di errori di diversa entità, che dipendono sia dall’ambiente in cui il dispositivo di memoria NAND opera (ad esempio, la temperatura), nonché dalla particolare destinazione d’utilizzo di esso. Generalmente, i datasheet forniti dai produttori dei dispositivi di memoria NAND forniscono solamente informazioni descrittive di carattere generico, lasciando al progettista di sistema il compito di trovare i parametri per un algoritmo che implementi tecniche di compensazione e correzione di errori che siano efficaci per le applicazioni desiderate.
Per i motivi esposti qui sopra, risulta quindi necessario sviluppare tecniche che permettano di ottenere una completa ed efficiente caratterizzazione degli errori di un dispositivo di memoria NAND in una specifica applicazione di utilizzo in uno specifico ambiente operativo.
La caratterizzazione degli errori di un dispositivo di memoria NAND richiede l’utilizzo di sistemi di collaudo dedicati atti a sottoporre il dispositivo di memoria a decine od addirittura centinaia di esperimenti diversi, ciascuno diretto ad ottenere dati per caratterizzare/descrivere/quantificare gli errori del dispositivo di memoria NAND quando utilizzato per svolgere una applicazione specifica in specifiche condizioni ambientali. Gli esperimenti sono indipendenti tra loro, possono essere eseguiti in maniera asincrona e possono avere durate molto diverse, da pochi minuti a diversi giorni.
Rispetto ai tradizionali metodi di collaudo che prevedono semplicemente l’applicazione di stimoli predefiniti al dispositivo da collaudare, e la raccolta delle risposte del dispositivo agli stimoli forniti, gli esperimenti per una caratterizzazione efficace richiedono l’impiego di una maggiore potenza computazionale sia per generare dinamicamente gli stimoli (ad esempio tenendo conto delle risposte agli stimoli), sia per l’interpretazione delle risposte ai tali stimoli. Inoltre, la quantità di dati generata da ciascun esperimento, nonché il numero di diversi esperimenti che possono essere eseguiti, causano la generazione di una risultante quantità di dati da gestire e memorizzare molto elevata.
Attualmente, per effettuare la caratterizzazione dei dispositivi di memoria NAND, è noto utilizzare sistemi di collaudo aventi diverse architetture, ad esempio architetture FPGA (Field Programmable Gate Array) con hardware e software dedicati, architetture ATE (Automated Test Equipment) standard, od architetture di tipo “cycler” progettate per il collaudo in parallelo di grandi quantità di dispositivi.
Sommario dell’invenzione
Un sistema di collaudo che consente di eseguire gli esperimenti per la caratterizzazione di un dispositivo di memoria NAND in maniera efficiente dovrebbe fornire risultati affidabili in tempi ragionevoli ed a costi accettabili. Inoltre, dovrebbe avere una scalabilità tale da poter essere dimensionato facilmente senza causare eccessivi incrementi di costo, consentire di eseguire diversi esperimenti allo stesso tempo in maniera indipendente. Oltre a ciò, un sistema di collaudo di questo tipo dovrebbe essere caratterizzato da una bassa latenza, dato che i risultati della caratterizzazione di un dispositivo di memoria NAND dipendono fortemente dalla velocità e dalle tempistiche con cui sono eseguite le molteplici operazioni previste da ogni esperimento. Infine, a causa della mole di dati da raccogliere ed analizzare, tale sistema di collaudo dovrebbe avere una banda tale da permettere trasmissioni di dati ad elevato throughput.
La Richiedente ha notato che nessuna delle architetture note utilizzate per sistemi di collaudo diretti alla caratterizzazione di dispositivi di memoria quali dispositivi di memoria NAND è soddisfacente, in quanto tali architetture sono affette da inconvenienti.
I sistemi di collaudo basati su architetture FPGA con hardware e software dedicati non possono offrire una buona scalabilità e allo stesso tempo garantire una bassa latenza. Infatti, se si utilizzasse un link a bassa latenza tra il controllore e la scheda FPGA, come ad esempio un link PCIe (Peripheral Component Interconnect Express), la scalabilità verrebbe compromessa, mentre se si utilizzasse un link scalabile, come ad esempio un link Ethernet, non sarebbe possibile ottenere una bassa latenza.
I sistemi di collaudo che sfruttano architetture ATE non sono in grado di garantire l’esecuzione di diversi esperimenti allo stesso tempo in maniera indipendente. Infatti, i sistemi ATE standard sono tipicamente configurati per eseguire lo stesso esperimento su ciascun dispositivo sottoposto a collaudo. I sistemi ATE sono inoltre configurati per supportare una gestione di dispositivo di tipo puramente algoritmico che, in funzione del link interno, può avere prestazioni molto scadenti.
Dato che i sistemi di collaudo basati su architetture tipo “cycler” sono essenzialmente progettati per il collaudo in parallelo di grandi quantità di dispositivi, anche in questo caso ciascuno dei dispositivi è forzato ad essere sottoposto allo stesso esperimento.
La Richiedente ha quindi escogitato un sistema di collaudo per la caratterizzazione degli errori di un dispositivo di memoria quale un dispositivo di memoria NAND che supera gli inconvenienti che affliggono le soluzioni note nello stato della tecnica.
Più specificamente, un aspetto della presente invenzione si riferisce a un sistema di collaudo per il collaudo di una pluralità di dispositivi di memoria.
In accordo con una forma di realizzazione della presente invenzione, detto sistema di collaudo comprende una pluralità di unità di elaborazione di basso livello.
In accordo con una forma di realizzazione della presente invenzione, ciascuna unità di elaborazione di basso livello è configurata per generare e inviare segnali elettrici di stimolo ad un rispettivo dispositivo di memoria di detta pluralità.
In accordo con una forma di realizzazione della presente invenzione, ciascuna unità di elaborazione di basso livello è configurata per ricevere da detto rispettivo dispositivo di memoria corrispondenti segnali elettrici di risposta in risposta a detti segnali elettrici di stimolo.
In accordo con una forma di realizzazione della presente invenzione, detto sistema di collaudo comprende, per ciascuna unità di elaborazione di basso livello, una corrispondente unità di elaborazione di medio livello.
In accordo con una forma di realizzazione della presente invenzione, ciascuna unità di elaborazione di medio livello è configurata per inviare alla corrispondente unità di elaborazione di basso livello richieste di esecuzioni di operazioni di collaudo.
In accordo con una forma di realizzazione della presente invenzione, ciascuna unità di elaborazione di medio livello è configurata per ricevere da detta corrispondente unità di elaborazione di basso livello esiti di dette operazioni di collaudo.
In accordo con una forma di realizzazione della presente invenzione, detti segnali elettrici di stimolo generati dalla corrispondente unità di elaborazione di basso livello sono funzione di dette richieste di esecuzioni di operazioni di collaudo, e detti esiti di dette operazioni di collaudo essendo funzione di detti segnali elettrici di risposta.
In accordo con una forma di realizzazione della presente invenzione, detto sistema di collaudo comprende una unità di controllo di alto livello configurata per controllare il funzionamento delle unità di elaborazione di medio livello.
In accordo con una forma di realizzazione della presente invenzione, dette unità di elaborazione di basso livello sono implementate mediante hardware dedicato.
In accordo con una forma di realizzazione della presente invenzione, dette unità di elaborazione di medio livello e detta unità di controllo di alto livello sono implementate mediante software caricato ed eseguito da una o più unità di elaborazione dati.
Breve descrizione dei disegni allegati
Queste ed altre caratteristiche e vantaggi della presente invenzione saranno resi evidenti dalla seguente descrizione di alcune forme di realizzazione esemplificative e non limitative; per una migliore intelligibilità, la seguente descrizione dovrebbe essere letta facendo riferimento ai disegni allegati, in cui:
la Figura 1 mostra in termini di blocchi funzionali un esempio di un apparato elettronico comprendente dispositivi di memoria;
la Figura 2 mostra in termini di blocchi funzionali un esempio di un dispositivo di memoria dell’apparato di Figura 1, e
la Figura 3 mostra in termini di blocchi funzionali un sistema di collaudo per collaudare i dispositivi di memoria illustrati nelle Figure 1 e 2 in accordo con una forma di realizzazione della presente invenzione.
Descrizione dettagliata di forme di realizzazioni preferite della invenzione Facendo riferimento ai disegni allegati, la Figura 1 mostra in termini di blocchi funzionali un esempio di un apparato elettronico 100 comprendente dispositivi di memoria 105(i) (i = 1, …, N) non volatile che possono essere caratterizzati dal punto di vista degli errori utilizzando un sistema di collaudo in accordo con forme di realizzazione della presente invenzione.
Nell’esempio illustrato nella Figura 1, l’apparato elettronico 100 è un apparato di memoria a stato solido (apparato di memoria SSD), e ciascun dispositivo di memoria 105(i) è un dispositivo di memoria non volatile di tipo NAND, ad esempio un chip di memoria NAND.
L’apparato di memoria 100 comprende un modulo controllore 110 accoppiato ai dispositivi di memoria 105(i).
Deve essere apprezzato che nella presente descrizione, salvo ove diversamente indicato, i termini “modulo” e "unità" sono intesi a sottolineare aspetti funzionali (anziché strutturali). Salvo diversa indicazione, ciascun modulo / unità dell’apparato elettronico 100 che verrà qui descritto può essere implementato via software, hardware, e / o mediante una loro combinazione. Inoltre, i moduli e le unità possono anche riflettere, almeno concettualmente, la struttura fisica dell’apparato elettronico 100.
Il modulo controllore 110 comprende una unità di interfaccia di comunicazione 115 configurata per lo scambio bidirezionale di comandi e dati tra l’apparato elettronico 100 ed un altro apparato elettronico esterno non illustrato in figura, quale un personal computer, uno smartphone, una video camera o un tablet, accoppiato a / comprendente l’apparato elettronico 100. Attraverso la unità di interfaccia di comunicazione 115 il modulo controllore 100 può ad esempio ricevere comandi indicativi delle operazioni che l’apparato elettronico 100 deve eseguire, quali ad esempio operazioni di scrittura, lettura e cancellazione, e scambiare con l’apparato elettronico esterno dati relativi alle operazioni eseguite, come ad esempio dati da scrivere in celle di memoria di uno o più dispositivi di memoria 105(i) che sono stati ricevuti dall’apparato elettronico esterno, e dati letti da celle di memoria di uno o più dispositivi di memoria 105(i) da fornire all’apparato elettronico esterno.
Il modulo controllore 110 comprende inoltre una o più unità di controllo 120 per la gestione ed il controllo delle operazioni eseguite dal modulo controllore 110. Ad esempio, il modulo controllore 110 è responsabile della gestione delle operazioni di ricezione, interpretazione ed elaborazione dei comandi ricevuti dall’esterno attraverso la unità interfaccia di comunicazione 115, e della gestione del trasferimento dati da o verso i dispositivi di memoria 105(i) e da o verso l’apparato elettronico esterno.
Come già anticipato nella parte introduttiva del presente documento, il modulo controllore 110 comprende inoltre un modulo di correzione 130 atto a localizzare e correggere gli errori che affliggono inevitabilmente i dispositivi di memoria 105(i), esemplificativamente, ma non limitativamente, implementando una o più tra tecniche ECC, read retry, wear levelling e bad block management.
Il modulo controllore 110 può inoltre comprendere una o più interfacce di memoria 140 per inviare ai dispositivi di memoria 105(i) comandi e dati da scrivere, e per ricevere dai dispositivi di memoria 105(i) i dati letti.
Facendo riferimento alla Figura 2, ciascun dispositivo di memoria 105(i) comprende una o più matrici 200 di celle di memoria (ad esempio, celle di memoria NAND) 205 disposte in righe e colonne. Ciascuna matrice 200 è tipicamente divisa in pagine di memoria, ciascuna pagina di memoria comprendendo un numero di celle di memoria 205 che possono essere scritte e lette contemporaneamente. Pagine di memoria sono tipicamente raggruppate in modo da formare cosiddetti blocchi di memoria.
Ciascuna cella di memoria 205 è programmabile per immagazzinare dati nella forma di stati logici programmabili. Facendo riferimento all’esempio considerato di memoria flash di tipo NAND, e senza scendere in dettagli ben noti agli esperti del settore, ciascuna cella di memoria 205 comprende un transistore a gate flottante (non illustrato). Ciascuno stato logico corrisponde ad una corrispondente tensione di soglia del transistore, definita a sua volta dalla quantità di carica elettrica immagazzinata nella gate flottante del transistore.
Ciascun dispositivo di memoria 105(i) comprende inoltre una circuiteria periferica, comprendente decoder, multiplexer, driver, buffer, sense amplifier, rappresentati in figura per mezzo di un singolo blocco funzionale identificato in figura con il riferimento numerico 210. Senza scendere in dettagli ben noti agli esperti del settore, la circuiteria periferica 210 è configurata per accedere pagine di celle di memoria 205 selezionate e per eseguire su di esse operazioni selezionate quali operazioni di lettura, scrittura, e cancellazione.
La Figura 3 illustra in termini di blocchi funzionali un sistema di collaudo 300 per collaudare ed ottenere una caratterizzazione degli errori dei dispositivi di memoria 105(i) mediante l’esecuzione di uno o più esperimenti in accordo con una forma di realizzazione della presente invenzione.
In accordo con una forma di realizzazione della presente invenzione, per “esperimento” si intende l’esecuzione su un dispositivo di memoria di un insieme di algoritmi di collaudo diretti alla raccolta di dati che permettono la caratterizzazione/descrizione/quantificazioni degli errori di tale dispositivo di memoria quando utilizzato per svolgere una applicazione specifica in specifiche condizioni ambientali. In accordo con una forma di realizzazione della presente invenzione, ciascun algoritmo di collaudo è composto a sua volta da una o più operazioni da eseguire sul dispositivo secondo specifiche sequenze ed utilizzando specifici parametri operativi.
In accordo con una forma di realizzazione della presente invenzione, il sistema di collaudo 300 è in grado di collaudare una pluralità di M dispositivi di memoria 105(i) in parallelo (i = 1, …, M).
In accordo con una forma di realizzazione della presente invenzione le funzionalità operative e le capacità computazionali del sistema di collaudo 300 sono vantaggiosamente strutturate in tre livelli gerarchici distinti ciascuno corrispondente ad un differente grado di astrazione hardware/software.
In accordo con una forma di realizzazione della presente invenzione, al livello gerarchico più basso, ovverossia il livello gerarchico configurato per interagire direttamente con i dispositivi di memoria 105(i), il sistema di collaudo 300 comprende M unità di elaborazione, denominate unità di elaborazione di basso livello ed identificate con il riferimento 310(i), ciascuna atta a generare e inviare segnali elettrici di stimolo ad un rispettivo dispositivo di memoria 105(i), ed a ricevere corrispondenti segnali elettrici di risposta dal rispettivo dispositivo di memoria 105(i).
In accordo con una forma di realizzazione della presente invenzione, al livello gerarchico intermedio, il sistema di collaudo 300 comprende M unità di elaborazione, denominate unità di elaborazione di medio livello ed identificate con il riferimento 320(i), ciascuna atta a inviare richieste di esecuzione di operazioni di collaudo e a ricevere esiti di tali operazioni di collaudo da una rispettiva unità di elaborazione di basso livello 310(i).
In accordo con una forma di realizzazione della presente invenzione, al livello gerarchico più alto, il sistema di collaudo 300 comprende una unità di controllo di alto livello 330 configurata per controllare il funzionamento delle unità di elaborazione di medio livello 320(i) mediante lo scambio di corrispondenti dati di controllo. In accordo con una forma di realizzazione della presente invenzione, la unità di controllo di alto livello 330 può essere configurata anche per implementare una interfaccia utente (non illustrata in figura).
In accordo con una forma di realizzazione dell’invenzione, le unità di elaborazione di basso livello 310(i) sono implementate mediante hardware dedicato, ad esempio mediante dispositivi FPGA, configurato opportunamente mediante interfacce di programmazione.
In accordo con una forma di realizzazione dell’invenzione, le unità di elaborazione di medio livello 320(i) e la unità di controllo di alto livello 330 sono implementate mediante istruzioni software caricate ed eseguite da una o più unità di elaborazione dati (hardware).
In accordo con una forma di realizzazione della presente invenzione, ciascuna unità di elaborazione di medio livello 320(i) è accoppiata comunicativamente con la rispettiva unità di elaborazione di basso livello 310(i) per scambiare richieste di esecuzione di operazioni di collaudo e a ricevere esiti di tali operazioni di collaudo attraverso una rispettiva interfaccia di connessione 340(i)
In accordo con una forma di realizzazione della invenzione, l’unità di controllo 330 è accoppiata comunicativamente con le unità di elaborazione di medio livello 320(i) per inviare a queste ultime i dati di controllo mediante una rispettiva interfaccia di controllo 350.
In accordo con una forma di realizzazione della presente invenzione, ciascuna unità di elaborazione di medio livello 320(i) comprende un rispettivo modulo di procedura 352(i) ed un rispettivo modulo di algoritmo 354(i).
In accordo con una forma di realizzazione della presente invenzione, ciascuna unità di elaborazione di basso livello 310(i) comprende un modulo di elaborazione al volo 356(i) ed un modulo di sequenza e monitoraggio di segnali 358(i).
Il modulo di procedura 325(i) in accordo con forme di realizzazione della presente invenzione è configurato per:
- generare ed inviare al modulo di algoritmo 354(i) richieste di esecuzione di un esperimento comprendente algoritmi di collaudo da eseguire sul corrispondente dispositivo di memoria 105(i) da collaudare, e
- ricevere dal modulo di algoritmo 354(i) esiti relativi all’esecuzione degli algoritmi di collaudo dell’esperimento richiesto sul dispositivo di memoria 105(i).
Il modulo di algoritmo 354(i) in accordo con forme di realizzazione della presente invenzione è configurato per:
- generare ed inviare al modulo di elaborazione al volo 356(i) richieste di esecuzione di algoritmo comprendenti operazioni di collaudo da eseguire sul corrispondente dispositivo di memoria 105(i) da collaudare, e
- ricevere dal modulo di elaborazione al volo 356(i) esiti relativi all’esecuzione delle operazioni di collaudo dell’algoritmo di collaudo richiesto sul dispositivo di memoria 105(i).
Il modulo di elaborazione al volo 356(i) in accordo con forme di realizzazione della presente invenzione è configurato per:
- generare ed inviare al modulo di sequenza e monitoraggio di segnali 358(i) una sequenza di comandi per eseguire una operazione di collaudo da eseguire sul corrispondente dispositivo di memoria 105(i) da collaudare, e
- ricevere dal modulo di sequenza e monitoraggio di segnali 358(i) segnali di risposta a seguito della esecuzione di un’operazione di collaudo sul dispositivo di memoria 105(i).
Il modulo di sequenza e monitoraggio di segnali 358(i) in accordo con forme di realizzazione della presente invenzione è configurato per:
- generare ed inviare al corrispondente dispositivo di memoria 105(i) una sequenza di segnali elettrici di stimolo, e
- ricevere dal dispositivo di memoria 105(i) segnali elettrici di risposta a seguito dell’applicazione della sequenza di segnali elettrici di stimolo.
Verrà ora descritto in maggior dettaglio come i vari moduli del sistema di collaudo 300 operano durante l’esecuzione di un esperimento secondo una forma di realizzazione della presente invenzione, facendo riferimento ad un esperimento esemplificativo diretto alla caratterizzazione/descrizione/quantificazione di errori di lettura che possono affliggere i dispositivi di memoria 105(i) a seguito di un numero di cicli di scrittura/cancellazione eseguiti a specifiche temperature, d’ora in avanti identificato per comodità semplicemente “esperimento di disturbo di lettura”.
In accordo con una forma di realizzazione della presente invenzione, il generico modulo di procedura 352(i) è configurato per ricevere dalla unità di controllo 330 attraverso la interfaccia di controllo 350 dati di controllo identificativi del tipo di esperimento da condurre, insieme a parametri P di impostazione dell’esperimento. Sulla base di tali dati, il generico modulo di procedura 352(i) è configurato per generare via software (blocco 360(i)) una implementazione dello specifico esperimento richiesto in termini di algoritmi di collaudo alg(j) (j = 1, 2, …) da eseguire in sequenza sul dispositivo di memoria 105(i).
Facendo riferimento all’esempio considerato (esperimento di disturbo di lettura), il generico modulo di procedura 352(i) riceve dalla unità di controllo 330 attraverso la interfaccia di controllo 350 una richiesta di esecuzione di esperimento di disturbo di lettura insieme a relativi parametri P di impostazione dell’esperimento. Sulla base di tale richiesta e parametri di impostazione, il modulo di procedura 352(i) genera una implementazione dell’esperimento di disturbo di lettura mediante la generazione via software di quattro algoritmi di collaudo alg(1), alg(2), alg(3), alg(4) da eseguire in sequenza sul dispositivo di memoria 105(i) dove:
- alg(1) è un algoritmo diretto ad incrementare la temperatura del dispositivo di memoria 105(i). Esempi non limitativi di parametri P relativi all’algoritmo alg(1) possono comprendere il valore di temperatura da raggiungere e la durata dell’intervallo di mantenimento di tale temperatura.
- alg(2) è un algoritmo diretto all’esecuzione di cicli di programmazione/cancellazione su celle di memoria del dispositivo di memoria 105(i). Esempi non limitativi di parametri P relativi all’algoritmo alg(2) possono comprendere l’identificazione dei blocchi di memoria su cui effettuare i cicli di scrittura/cancellazione, il numero di tali cicli, e il contenuto da scrivere nelle celle di memoria.
- alg(3) è un algoritmo diretto ad eseguire cicli di stress su celle di memoria del dispositivo di memoria 105(i). Esempi non limitativi di parametri P relativi all’algoritmo alg(3) possono comprendere l’identificazione dei blocchi di memoria su cui effettuare i cicli di stress, e il numero di tali cicli.
- alg(4) è un algoritmo diretto a ridurre la temperatura del dispositivo di memoria 105(i) in modo da riportarlo alla temperatura iniziale.
In accordo con una forma di realizzazione della presente invenzione, il modulo di procedura 352(i) genera per ciascun algoritmo di collaudo alg(j) dell’esperimento una corrispondente richiesta R(j) di esecuzione di tale algoritmo collaudo che tiene conto dei parametri P.
In accordo con una forma di realizzazione della presente invenzione, il modulo di algoritmo 354(i) è configurato per elaborare ciascuna richiesta R(j) di algoritmo di collaudo alg(j) ricevuta dal modulo di procedura 352(i) e per generare via software (blocco 362(i)) per ciascun algoritmo di collaudo alg(j) una sequenza di operazioni di collaudo op(j,k) (k = 1, 2, …) da eseguire sul dispositivo di memoria 105(i).
Facendo riferimento all’esempio considerato, e considerando in particolare l’algoritmo di collaudo alg(2) diretto all’esecuzione di cicli di programmazione/cancellazione, il modulo di algoritmo 354(i) genera una sequenza di operazioni di collaudo op(2, k) da eseguire sul dispositivo di memoria 105(i) sulla base della richiesta R(2) ricevuta dal modulo di procedura 352(i). Un esempio di tale sequenza di operazioni di collaudo op(2, k) può comprendere eseguire per ciascuno dei blocchi di memoria (identificati tramite i parametri P) un numero di cicli (identificati tramite i parametri P) di operazioni di scrittura/cancellazione, in cui le operazioni di scrittura prevedono la scrittura di un certo contenuto (identificato tramite i parametri P)
In accordo con una forma di realizzazione della presente invenzione, il modulo di algoritmo 354(i) genera per ciascuna operazione di collaudo op(j, k) della sequenza una corrispondente richiesta RO(j,k) di esecuzione di tale operazione.
In accordo con una forma di realizzazione della presente invenzione, ciascuna richiesta RO(j,k) è inviata attraverso la interfaccia di connessione 340(i) al modulo di elaborazione al volo 356(i).
In accordo con una forma di realizzazione della presente invenzione, il modulo di elaborazione al volo 356(i) è configurato per interpretare ciascuna richiesta RO(j,k) di operazione op(j, k) ricevuta dal modulo di algoritmo 354(i) e per generare via hardware (blocco 364(i)) per ciascuna operazione op(j, k) una corrispondente sequenza di comandi cm(j, k, l) (l = 1, 2, …) da eseguire sul dispositivo di memoria 105(i) per effettuare tale operazione op(j, k). A differenza delle implementazioni software di dell'esperimento, degli algoritmi di collaudo alg(j), e delle operazioni di collaudo op(j,k) generate dalle unità di elaborazione di medio livello 320(i), che sono di carattere generico e non dipendono dal tipo e modello specifico di dispositivo di memoria 105(i) da collaudare, i comandi cm(j, k, l) sono generati via hardware dal modulo di elaborazione al volo 356(i) tenendo conto del particolare tipo e modello di dispositivo di memoria 105(i) da collaudare.
In accordo con una forma di realizzazione della presente invenzione, la generazione di ciascuno dei comandi cm(j, k, l) della sequenza può prevedere, tra le altre cose, la creazione (via hardware) al volo dei contenuti da scrivere nella memoria sulla base della richiesta RO(j,k).
Facendo riferimento all’esempio considerato, e considerando in particolare una generica operazioni di collaudo op(2, k) relativa alla programmazione di una generica cella di memoria ad un generico ciclo, la corrispondente sequenza di comandi cm(2, k, l) può prevedere un comando di scrittura, un comando di inserimento del dato da scrivere, e un comando di conferma della scrittura, ove ciascuno di tali comandi è dipendente dallo specifico tipo e modello di dispositivo di memoria 105(i) da collaudare.
In accordo con una forma di realizzazione della presente invenzione, il modulo di elaborazione al volo 356(i) genera per ciascuna operazione di collaudo op(j, k) una corrispondente tabella tab(j,k) comprendente la sequenza di comandi cm(j, k, l) da eseguire sul dispositivo di memoria 105(i) per effettuare tale operazione op(j, k).
In accordo con una forma di realizzazione della presente invenzione, le tabelle tab(j,k) sono inviate al modulo di sequenza e monitoraggio di segnali 358(i).
In accordo con una forma di realizzazione della presente invenzione, il modulo di sequenza e monitoraggio di segnali 358(i) è configurato per elaborare ciascuna tabella tab(j,k) e per generare (blocco 366(i)) via hardware una corrispondente sequenza di segnali elettrici di stimolo S in accordo con la sequenza di comandi cm(j, k, l) contenuta nella tabella tab(j,k) ricevuta, e fornisce tali segnali elettrici di stimolo S al dispositivo di memoria 105(i) da collaudare, ad esempio tramite opportune sonde elettriche (non illustrate in figura).
In accordo con una forma di realizzazione della invenzione, i segnali elettrici di stimolo S sono generati tenendo conto del particolare tipo e modello di dispositivo di memoria 105(i) da collaudare. Ad esempio, nel caso esemplificativo considerato, in cui ciascun dispositivo di memoria 105(i) è un dispositivo di memoria non volatile di tipo NAND, i segnali elettrici di stimolo S possono essere segnali Open NAND Flash Interface ("ONFI").
In accordo con una forma di realizzazione della presente invenzione, il modulo di sequenza e monitoraggio di segnali 358(i) è configurato per rilevare e ricevere dal dispositivo di memoria 105(i) segnali elettrici di risposta RS generati dal dispositivo di memoria 105(i) stesso in risposta ai segnali elettrici di stimolo S (blocco 368(i)). Esempi di segnali elettrici di risposta RS possono comprendere ad esempio segnali di dispositivo pronto ("device ready signal") con relative misurazioni di tempo, e segnali di lettura del contenuto dei registri del dispositivo di memoria 105(i).
In accordo con una forma di realizzazione della presente invenzione, il modulo di sequenza e monitoraggio di segnali 358(i) è configurato per inoltrare i segnali elettrici di risposta RS al modulo di elaborazione al volo 356(i).
In accordo con una forma di realizzazione della presente invenzione, il modulo di elaborazione al volo 356(i) è configurato per elaborare via hardware i segnali elettrici di risposta RS in modo da generare (blocco 370(i)) corrispondenti dati di esito ED(j, k) della generica operazione di collaudo op(j, k) a cui è stato sottoposto il dispositivo di memoria 105(i) che ha causato la generazione dei segnali elettrici di risposta RS.
In accordo con una forma di realizzazione della presente invenzione, tali dati di esito ED(j,k) comprendono dati di esito positivo/negativo dell'esecuzione dell'operazione di collaudo op(j, k), ottenuti ad esempio interpretando i segnali elettrici di risposta RS relativi al contenuto dei registri del dispositivo di memoria 105(i).
In accordo con una forma di realizzazione della presente invenzione, il modulo di elaborazione al volo 356(i) può anche essere configurato per eseguire una compressione dei dati di esito ED(j,k).
In accordo con una forma di realizzazione della presente invenzione, i dati di esito ED(j,k) sono inviati attraverso la interfaccia di connessione 340(i) al modulo di algoritmo 354(i).
In accordo con una forma di realizzazione della presente invenzione, il modulo di algoritmo 354(i) è configurato per raccogliere ed elaborare via software i dati di esito ED(j,k) relativi alle operazioni di collaudo op(j, k) di uno stesso algoritmo di collaudo alg(j) in modo da generare (blocco 372(i)) corrispondenti dati di esito AED(j) dell’algoritmo di collaudo alg(j).
In accordo con una forma di realizzazione della presente invenzione, tali dati di esito AED(j) dell’algoritmo di collaudo alg(j) possono comprendere dati di esito positivo/negativo complessivo dell’esecuzione dell’algoritmo di collaudo alg(j), funzione degli esiti delle esecuzioni delle operazioni di collaudo op(j, k) ricevuti tramite i dati di esito ED(j,k).
In accordo con una forma di realizzazione della presente invenzione, il modulo di algoritmo 354(i) è inoltre configurato per utilizzare i dati di esito AED(j) dell’algoritmo di collaudo alg(j) per la elaborazione di nuove e successive richieste R(j) di esecuzione dello stesso algoritmo di collaudo alg(j) ricevute dal modulo di procedura 352(i) e per la generazione di rispettive nuove sequenze di operazioni di collaudo op(j,k). In altre parole, in accordo con una forma di realizzazione della presente invenzione, la generazione delle sequenze di operazioni di collaudo op(j,k) relative ad un algoritmo di collaudo alg(j) generate dal modulo di algoritmo 354(i) al blocco 363(i) è vantaggiosamente eseguita tenendo conto degli esiti relativi a precedenti iterazioni dello stesso algoritmo di collaudo alg(j).
In accordo con una forma di realizzazione della presente invenzione, i dati di esito AED(j) di ciascun algoritmo di collaudo alg(j) dell’esperimento sono inviati al modulo di procedura 352(i), che li utilizza per generare (blocco 374(i)) un corrispettivo datalog DG contenente informazioni ed esiti relativi all’esperimento nel suo complesso.
Tale datalog DG può quindi essere scaricato e trasmesso esternamente al sistema di collaudo 300 (ad esempio, memorizzato in un dispositivo di memoria esterno) per essere sfruttato da un sistema (non illustrato in figura) per una caratterizzazione ottimale degli errori che possono affliggere lo specifico dispositivo di memoria 105(i).
Come già menzionato in precedenza, tale caratterizzazione può essere vantaggiosamente utilizzata per ottimizzare un sistema di compensazione e correzione degli errori dei dispositivi di memoria 105(i), quale il modulo di correzione 130 di Figura 1.
Grazie alla peculiare suddivisione in tre livelli gerarchici delle funzionalità operative e capacità funzionali del sistema di collaudo 300 in accordo con le forme di realizzazione dell’invenzione qui descritte è possibile generare segnali elettrici di stimolo S ottimizzati per uno specifico dispositivo di memoria 105(i) e per uno specifico esperimento in maniera semplice ed immediata.
Per esempio, realizzando ciascuna unità di elaborazione di basso livello 310(i) mediante architetture FPGA, è possibile utilizzare lo stesso sistema di collaudo 300 per caratterizzare gli errori di diversi tipi di dispositivi di memoria 105(i) e/o applicando diversi tipi di esperimenti, in quanto è sufficiente riconfigurare, ad esempio mediante interfacce di programmazione, le funzioni elementari dei moduli FPGA in base al tipo di dispositivo di memoria 105(i) e/o al tipo di esperimento.
Dato che il tempo che intercorre tra le azioni eseguite da ciascuna unità di elaborazione di basso livello 310(i) del sistema di collaudo 300 in accordo con le forme di realizzazione della presente invenzione può avere un grande impatto sui risultati della caratterizzazione degli errori, il funzionamento delle unità di elaborazione di medio livello 320(i) è eseguito in tempo reale e controllato in maniera tassativa.
In accordo con una forma di realizzazione della presente invenzione, la interfaccia di connessione 340(i) che permette di accoppiare comunicativamente una generica unità di elaborazione di medio livello 320(i) con la rispettiva unità di elaborazione di basso livello 310(i) è una interfaccia avente una latenza minore rispetto alla latenza della interfaccia di controllo 350 che permette di accoppiare comunicativamente l’unità di controllo 330 con le unità di elaborazione di medio livello 320(i).
In accordo con una forma di realizzazione della presente invenzione, dato che il funzionamento delle unità di elaborazione di medio livello 320(i) è eseguito in tempo reale deve essere controllato in maniera tassativa, ciascuna interfaccia di connessione 340(i) è implementata mediante un bus a banda larga e a bassa latenza. Per esempio, in accordo con una forma di realizzazione dell’invenzione, se le unità di elaborazione di basso livello 310(i) sono implementate mediante dispositivi FPGA, tale interfaccia di connessione 340(i) può essere implementata sfruttando bus interni dei dispositivi FPGA stessi, ad esempio bus XLINX AXA. In accordo con forme di realizzazione alternative dell’invenzione, possono essere usati diversi bus interni dei dispositivi FPGA, o anche bus esterni, quali link PCIe.
In accordo con una forma di realizzazione della presente invenzione, visto che la unità di controllo di alto livello 330, responsabile della caratterizzazione degli errori al livello gerarchico più alto, non deve gestire alcun compito avente criticità dal punto di vista temporale, ma deve comunque gestire un grande volume di dati, l’interfaccia di controllo 350 può essere implementata mediante un collegamento scalabile a banda larga e ad alta latenza, quale per esempio un collegamento di tipo Ethernet. Inoltre, la unità di controllo di alto livello 330 può essere vantaggiosamente implementata in forma software caricato ed eseguito da una workstation per applicazioni generiche.
Il sistema di collaudo 300 secondo le forme di realizzazione della presente invenzione permette una grande scalabilità, e il numero di unità di elaborazione di medio livello 320(i) (e quindi di unità di elaborazione di basso livello 310(i)) che possono essere gestite dalla unità di controllo di alto livello 330 può essere molto elevato. Inoltre, anche la velocità del sistema di collaudo 300 può essere vantaggiosamente adattata in funzione dell’applicazione specifica a cui è destinato.

Claims (10)

  1. RIVENDICAZIONI 1. Sistema di collaudo (300) per il collaudo di una pluralità di dispositivi di memoria (105(i)), detto sistema di collaudo comprendendo: - una pluralità di unità di elaborazione di basso livello (310(i)), ciascuna unità di elaborazione di basso livello essendo configurata per generare e inviare segnali elettrici di stimolo ad un rispettivo dispositivo di memoria di detta pluralità e a ricevere da detto rispettivo dispositivo di memoria corrispondenti segnali elettrici di risposta in risposta a detti segnali elettrici di stimolo; - per ciascuna unità di elaborazione di basso livello, una corrispondente unità di elaborazione di medio livello (320(i)), ciascuna unità di elaborazione di medio livello essendo configurata per inviare alla corrispondente unità di elaborazione di basso livello richieste di esecuzioni di operazioni di collaudo e a ricevere da detta corrispondente unità di elaborazione di basso livello esiti di dette operazioni di collaudo, detti segnali elettrici di stimolo generati dalla corrispondente unità di elaborazione di basso livello essendo funzione di dette richieste di esecuzioni di operazioni di collaudo, e detti esiti di dette operazioni di collaudo essendo funzione di detti segnali elettrici di risposta; - una unità di controllo di alto livello (330) configurata per controllare il funzionamento delle unità di elaborazione di medio livello, in cui - dette unità di elaborazione di basso livello sono implementate mediante hardware dedicato, e dette unità di elaborazione di medio livello e detta unità di controllo di alto livello sono implementate mediante software caricato ed eseguito da una o più unità di elaborazione dati.
  2. 2. Il sistema di collaudo (300) di rivendicazione 1, in cui: - ciascuna unità di elaborazione di basso livello (310(i)) è accoppiata in maniera comunicativa alla corrispondente unità di elaborazione di medio livello (320(i)) per scambiare dette richieste di esecuzioni di operazioni di collaudo e detti esiti di dette operazioni di collaudo attraverso una rispettiva interfaccia di connessione (340(i)); - detta unità di controllo di alto livello (330) è accoppiata in maniera comunicativa con dette unità di elaborazione di medio livello per scambiare dati di controllo attraverso una interfaccia di controllo (350); - dette interfacce di connessione sono interfacce aventi un primo valore di latenza, e detta interfaccia di controllo è una interfaccia avente un secondo valore di latenza maggiore del primo valore di latenza.
  3. 3. Il sistema di collaudo (300) di rivendicazione 2, in cui dette interfacce di connessione (340(i)) sono implementate mediante un bus a banda larga e bassa latenza, quale un bus XLINX AXA o un link PCIe.
  4. 4. Il sistema di collaudo (300) di rivendicazione 2 o 3, in cui detta interfaccia di controllo (350) comprende un collegamento scalabile a banda larga ed alta latenza, quale un collegamento Ethernet.
  5. 5. Il sistema di collaudo (300) di una qualunque tra le rivendicazioni precedenti, in cui dette unità di elaborazione di basso livello (310(i)) sono implementate mediante una architettura FPGA.
  6. 6. Il sistema di collaudo (300) di una qualunque tra le rivendicazioni precedenti, in cui detta unità di controllo di alto livello (330) è implementata tramite un software caricato ed eseguito da una workstation per applicazioni generiche.
  7. 7. Il sistema di collaudo (300) di una qualunque tra le rivendicazioni precedenti, in cui ciascuna di dette unità di elaborazione di basso livello (310(i)) comprende un rispettivo modulo di elaborazione al volo (356(i)) ed un rispettivo modulo di sequenza e monitoraggio (358(i)), in cui: - detto modulo di elaborazione al volo (356(i)) è configurato per generare ed inviare a detto modulo di sequenza e monitoraggio una sequenza di comandi per eseguire una operazione di collaudo sul dispositivo di memoria (105(i)) corrispondente alla unità di elaborazione di basso livello (310(i)), e ricevere dal modulo di sequenza e monitoraggio (358(i)) detti segnali elettrici di risposta, e - detto modulo di sequenza e monitoraggio (358(i)) è configurato per generare detti segnali elettrici di stimolo in base a detta sequenza di comandi ricevuta dal modulo di elaborazione al volo (356(i)) e a ricevere da detto dispositivo di memoria detti segnali elettrici di risposta.
  8. 8. Il sistema di collaudo (300) di rivendicazione 7, in cui ciascuna di dette unità di elaborazione di medio livello (320(i)) comprende un rispettivo modulo di procedura (352(i)) ed un rispettivo modulo di algoritmo (354(i)), in cui: - detto modulo di procedura è configurato per generare ed inviare a detto modulo di algoritmo richieste di esecuzione di un esperimento diretto ad ottenere dati per caratterizzare/descrivere/quantificare errori del dispositivo di memoria (105(i)) corrispondente alla unità di elaborazione di basso livello (310(i)) che corrisponde a sua volta a detta unità di elaborazione di medio livello (320(i)), ciascuna richiesta di esecuzione di un esperimento comprendendo richieste di esecuzione di algoritmi di collaudo su detto dispositivo di memoria, detto modulo di procedura essendo inoltre configurato per ricevere da detto modulo di algoritmo esiti relativi all’esecuzione di detti algoritmi di collaudo di detto esperimento su detto dispositivo di memoria, e - detto modulo di algoritmo è configurato per generare ed inviare al modulo di elaborazione al volo (356(i)) della corrispondente unità di elaborazione di basso livello (310(i)) dette richieste di esecuzioni di operazioni di collaudo per ciascuna richiesta di esecuzione di algoritmo di collaudo, e per ricevere da detto modulo di elaborazione al volo (356(i)) detti esiti delle operazioni di collaudo.
  9. 9. Il sistema di collaudo (300) in accordo con una qualunque tra le rivendicazioni precedenti, in cui detti dispositivi di memoria (105(i)) sono dispositivi di memoria flash.
  10. 10. Il sistema di collaudo (300) in accordo con una qualunque tra le rivendicazioni precedenti, in cui detti dispositivi di memoria (105(i)) sono dispositivi di memoria flash di tipo NAND.
IT102019000019992A 2019-10-29 2019-10-29 Sistema per la caratterizzazione di memorie non volatili IT201900019992A1 (it)

Priority Applications (1)

Application Number Priority Date Filing Date Title
IT102019000019992A IT201900019992A1 (it) 2019-10-29 2019-10-29 Sistema per la caratterizzazione di memorie non volatili

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT102019000019992A IT201900019992A1 (it) 2019-10-29 2019-10-29 Sistema per la caratterizzazione di memorie non volatili

Publications (1)

Publication Number Publication Date
IT201900019992A1 true IT201900019992A1 (it) 2021-04-29

Family

ID=69743816

Family Applications (1)

Application Number Title Priority Date Filing Date
IT102019000019992A IT201900019992A1 (it) 2019-10-29 2019-10-29 Sistema per la caratterizzazione di memorie non volatili

Country Status (1)

Country Link
IT (1) IT201900019992A1 (it)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070101215A1 (en) * 2005-10-28 2007-05-03 Integrated Device Technology, Inc. Automated device testing using intertwined stimulus-generation and response validation specifications for managing DUT's that generate out-of-order responses
US20110078525A1 (en) * 2009-09-30 2011-03-31 Integrated Device Technology, Inc. Method and Apparatus of ATE IC Scan Test Using FPGA-Based System
US20130138383A1 (en) * 2010-05-28 2013-05-30 Advantest (Singapore) Pte Ltd Solution for full speed, parallel dut testing
US20140236527A1 (en) * 2013-02-21 2014-08-21 Advantest Corporation Cloud based infrastructure for supporting protocol reconfigurations in protocol independent device testing systems
US20190354453A1 (en) * 2018-05-16 2019-11-21 Advantest Corporation Traffic capture and debugging tools for identifying root causes of device failure during automated testing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070101215A1 (en) * 2005-10-28 2007-05-03 Integrated Device Technology, Inc. Automated device testing using intertwined stimulus-generation and response validation specifications for managing DUT's that generate out-of-order responses
US20110078525A1 (en) * 2009-09-30 2011-03-31 Integrated Device Technology, Inc. Method and Apparatus of ATE IC Scan Test Using FPGA-Based System
US20130138383A1 (en) * 2010-05-28 2013-05-30 Advantest (Singapore) Pte Ltd Solution for full speed, parallel dut testing
US20140236527A1 (en) * 2013-02-21 2014-08-21 Advantest Corporation Cloud based infrastructure for supporting protocol reconfigurations in protocol independent device testing systems
US20190354453A1 (en) * 2018-05-16 2019-11-21 Advantest Corporation Traffic capture and debugging tools for identifying root causes of device failure during automated testing

Similar Documents

Publication Publication Date Title
US11953980B2 (en) Memory sub-system with dynamic calibration using component-based function(s)
US20170109040A1 (en) Systems and Methods for Sampling Data at a Non-Volatile Memory System
US9547571B2 (en) Block behavior tracking in a memory system
US8358548B2 (en) Methods for efficiently repairing embedded dynamic random-access memory having marginally failing cells
KR101719395B1 (ko) 백-엔드 메모리 시스템 인터페이스를 동적으로 최적화하는 방법
US9361167B2 (en) Bit error rate estimation for wear leveling and for block selection based on data type
US11763908B2 (en) Memory system tester using test pad real time monitoring
Cai et al. FPGA-based solid-state drive prototyping platform
KR102611987B1 (ko) 패브릭 네트워크를 이용한 파워 관리 방법 및 이를 적용하는 패브릭 네트워크 시스템
US9881682B1 (en) Fine grained data retention monitoring in solid state drives
KR20130028589A (ko) 비휘발성 메모리 장치, 그 데이터 판독 방법 및 기록 매체
US9728262B2 (en) Non-volatile memory systems with multi-write direction memory units
KR20160076668A (ko) 초기 문턱 전압 분포 변화를 보상할 수 있는 데이터 저장 장치, 이의 작동 방법, 및 이를 포함하는 데이터 처리 시스템
US11023138B2 (en) Management operations in predictable latency mode
CN110277126A (zh) 存储器装置和具有存储器装置的存储器***
US20150026530A1 (en) Controller based memory evaluation
CN101685675B (zh) 存储器单元操作
US8090999B2 (en) Memory media characterization for development of signal processors
CN108806758A (zh) 存储器装置及验证数据路径完整性的方法
US11887680B2 (en) Reducing program verifies for multi-level NAND cells
IT201900019992A1 (it) Sistema per la caratterizzazione di memorie non volatili
US20200401332A1 (en) Yield improvement through block budget optimization by using a transient pool of multi-level blocks
US10886002B1 (en) NAND field use erase plus defect detections
DE102021121974A1 (de) Speicher-steuereinheit und speichersystem, welches diese enthält
US20240153576A1 (en) Memory system, memory controller and method for operating memory system