Identifying error types among flash memory
AssigneePure Storage, Inc.
InventorsHari Kannan, Randy Zhao
Life of this patent
Estimating the term…
Abstract
A method for diagnosing memory, performed by a storage system, is provided. The method includes writing and reading through a communication channel to and from flash memory of each of a plurality of flash memory devices and a static random-access memory (SRAM) register of each of the plurality of flash memory devices. The method includes analyzing errors in read data from the reading through the communication channel, identifying types of errors among flash memory errors, SRAM register errors, and communication channel errors, based on the analyzing, and indicating at least one error and type of error from the read data.
Claims18
A method comprising:
- writing and reading through a communication channel to and from flash memory of each of a plurality of flash memory devices and a static random-access memory (SRAM) register of each of the plurality of flash memory devices;
- analyzing errors in read data from the reading from the flash memory and the SRAM registers through the communication channel, to distinguish among flash memory errors, SRAM register errors, and communication channel errors;
- the analyzing comprising detecting a stuck bit at a same bit location across a plurality of reads of flash memory of a flash device that does not appear in reads of the SRAM register of the flash device;
- identifying types of errors among flash memory errors, SRAM register errors, and communication channel errors, based on the analyzing;
- mapping around one of the plurality of flash memory devices based on an indication of at least one error and type of error from the read data.
A tangible, non-transitory, computer-readable media having instructions thereupon which, when executed by a processor, cause the processor to perform a method comprising:
- writing through a communication channel to flash memory of each of a plurality of flash memory devices and a static random access memory (SRAM) register of each of the plurality of flash memory devices;
- reading through the communication channel, the flash memory of each of the plurality of flash memory devices and the SRAM registers of each of the plurality of flash memory devices;
- analyzing errors in read data from the reading from the flash memory and the SRAM registers through the communication channel, to distinguish among flash memory errors, SRAM register errors, and communication channel errors, the analyzing comprising detecting a stuck bit at a same bit location across a plurality of reads of flash memory of a flash memory device that does not appear in reads of flash memory of other flash memory devices;
- and
- indicating at least one type of error comprising a flash memory error, an SRAM register error or a communication channel error, wherein the writing and reading to and from the SRAM register comprises writing and reading a plurality of patterns to and from the SRAM register without persisting the plurality of patterns to flash memory.
A storage system having self-diagnostics, comprising:
- a plurality of flash memory devices each having a static random-access memory (SRAM) register and flash memory;
- a communication channel coupled to the plurality of flash memory devices;
- and
- a diagnostics module configurable to;
- write through the communication channel to the flash memory of each of the plurality of flash memory devices;
- read, through the communication channel, the flash memory of each of the plurality of flash memory devices;
- write through the communication channel to the SRAM register of each of the plurality of flash memory devices;
- read, through the communication channel, the SRAM register of each of the plurality of flash memory devices;
- analyze errors in read data from the flash memories and the SRAM registers, to distinguish among flash memory errors, SRAM register errors, and communication channel errors;
- and the analyzing comprising detecting a stuck bit at a same bit location across a plurality of reads of flash memory of a flash device that does not appear in reads of the SRAM register of the flash device;
- indicate at least one error and type of error comprising a flash memory error, an SRAM register error or a communication channel error, wherein the diagnostics module is configurable to cooperate with address translation to map around one of the plurality of flash memory devices, or a portion thereof, based on indicating the at least one error and type of error.
Dependencies are inferred from the claim text.