Home Random Page


CATEGORIES:

BiologyChemistryConstructionCultureEcologyEconomyElectronicsFinanceGeographyHistoryInformaticsLawMathematicsMechanicsMedicineOtherPedagogyPhilosophyPhysicsPolicyPsychologySociologySportTourism






NAND Read Disturbance Test

This subcommand repeatedly reads a number of contiguous pages of NAND memory and checks the ECC. If no uncorrectable errors are found after the required number of cycles, an ACK and a successful reply packet is returned. If an uncorrectable ECC error is found the subcommand will stop and return an ECC failed reply packet with a NACK. A syntax failed reply format packet will be immediately returned with a NACK if the command parameters are out of range – for example, if the final page is before the start page. NACK will also be returned if a large enough memory buffer could not be allocated. The largest area that can be disturbance tested at one time is approximately 16 MB.

This command can take quite some time (roughly 1 second per 9000 pages read) to execute if the read cycle time is large. It will emit a functional processor message (which will be stored in the supervisor EDAC) after every 1000 read cycles. This can be polled to determine the command progress.

To abort a read disturbance test, command the supervisor to reset the functional processor. The functional processor itself is non-responsive while performing this test.

Command Format

Byte 0 Value 13, indicating NAND Read Disturbance Test subcommand
Bytes 1 – 4 32-bit start page number
Bytes 5 – 8 32-bit final page number
Bytes 9 – 12 32-bit maximum read cycle count

Successful Reply Format

Byte 0 Value 13, indicating NAND Read Disturbance Test subcommand
Bytes 1 – 4 32-bit start page number
Bytes 5 – 8 32-bit final page number
Bytes 9 – 12 32-bit number of read cycles completed

Syntax Failed Reply Format

Byte 0 Value 13, indicating NAND Read Disturbance Test subcommand
Bytes 1 – 4 32-bit start page number
Bytes 5 – 8 32-bit final page number
Bytes 9 – 12 32-bit maximum read cycle count

ECC Failed Reply Format

Byte 0 Value 13, indicating NAND Read Disturbance Test subcommand
Bytes 1 – 4 32-bit start page number
Bytes 5 – 8 32-bit final page number
Bytes 9 – 12 32-bit number of read cycles completed before failure
Bytes 13 – 16 32-bit number of page that failed ECC

Rewrite NAND

This subcommand reads blocks of NAND into RAM, erases the NAND, and reprograms them from the RAM image. This will fix any correctable ECC errors and remove the effects of cumulative read disturbance.

If a block has a backup then one of the two blocks will be fully erased and rewritten before the other is erased. This should leave the NAND workable even if there is an unexpected reset or power loss during the operation. The block that has the most errors is erased and rewritten first.

The subcommand takes a start and end page number. The page numbers will be extended on either end so that a whole number of blocks is accessed.



Pages that started in an erased state will not be reprogrammed. Blocks that start in an erased state will not be re-erased.

The subcommand will fail if a block cannot be successfully read. If there is a backup, this means that neither the primary nor secondary pass ECC. In this case it will abort before erasing the block.

Command Format

Byte 0 Value 14, indicating Rewrite NAND subcommand
Bytes 1 – 4 32-bit start page number
Bytes 5 – 8 32-bit final page number

Date: 2015-12-17; view: 615


<== previous page | next page ==>
Find NAND Bad Blocks | Successful Reply Format
doclecture.net - lectures - 2014-2024 year. Copyright infringement or personal data (0.009 sec.)