Download VLSI - Ocean Controls

Transcript
VLSI
Solution
y
VS1000 Programmer’s Guide
PKP
VSMPG
4. PERIPHERAL DOCUMENTATION
ECC counter register
NFLSH ECC CNT bits
Bits Description
7:0 Calculated ecc words (data is processed in 16-bit
format)
Name
ecc-cnt
Ecc-cnt register counts the 16-bit words that are read or written to dreg. This information
is required when lpl, lph and cp are calculated. The register is updated only when the
ecc is enabled (ecc-ena = ’1’). In write operation the register is updated one clock cycle
after the write took place (as the data is being moved to the data buffer) and in the read
operation it is updated in the same clock cycle.
4.6.4
VS1000 ROM code usage
The ROM code in VS1000 has the following usage for the Nand Flash controller:
At boot-up the Nand Flash chip select is checked: if it’s pulled high, Nand flash scan is
attempted. For proper recognition of the Nand Flash, a number of access methods are
used to attempt to read the first 512 bytes of the Nand Flash chip and look for an 8-byte
NandType record from the beginning of the block. The NandType record should confirm
the proper access method number for the Flash in question and specify the device size
and erasable block size of the Flash chip (see datasheet).
The remaining 504 bytes of the first block can contain a VSDSP boot record, which can
be used to load data to X RAM or I RAM and optionally execute code to extend or
replace firmware functionality on chip.
If the ROM does not have a proper access method for the Nand Flash, but reading at
least the first block is successful with one of the ROM methods, the boot record can be
used to load an access method to RAM so the bootup can be continued.
For VS1000B the first block also indicates how many extra sectors belong to the boot
record, so that upto 16-block executables can be loaded. However, this can only be used
with one of the supported FLASH access methods.
Nand Flash access methodology
VS1000 writes to the nand flash in blocks of 512 (data) + 16 (spare) bytes. single-level
cell (SLC) large page flashes (block size 2112) are mostly ok with this, but multi-level cell
(MLC) have problems with this so those are not supported by the ROM code. VS1000
ROM contains own wear levelling algorithm and logical-to-physical block mapper that
greatly extends the life of the nand flash chips.
Rev. 0.15 Preliminary
2008-06-30
Page 72(87)