Datasheet

Memory Subsystem
Intel
®
Quark™ microcontroller D2000
Datasheet January 2016
106 Document Number: 333577-002EN
12 Memory Subsystem
The memory subsystem contains the following volatile and non-volatile memories:
- System Flash 32KB
- OTP (implemented using Flash Memory) 8KB + 4 KB
- Internal System SRAM 8KB
Each of these regions implement protection mechanisms with access control described
later.
12.1 Features
12.1.1 System Flash Controller Features
- The Flash controller interfaces with 32KB Main Memory Block and 8KB of
Information Block of Flash memory.
- Supports 64b wide reads via a dedicated Host Processor ITCM Interface.
- Supports 32b wide Instruction reads via an AHB Lite interface. The 32b reads
can be performed as single read, incrementing burst or wrapping burst.
- Supports prefetching of programmable number (up to 4) 16B chunks from
Flash for requests from AHB interface prefetching can be enabled/disabled
via a configuration register as part of Flash subsystem. There is no prefetching
performed on ITCM interface since Processor has its own internal prefetcher.
- Supports page erase via configuration registers in the System Control Module
- Each page is 2KB.
- Supports 32b wide writes via configuration registers in the System Control
Module. The procedure for updating Flash is as follows:
o Copy Flash Page, with location to be modified, to SRAM
o Erase the Flash page
o Update the relevant bytes in the SRAM copy
o Copy the modified page in SRAM into Flash
- Each 32b write operation takes approx. 40us (refer to Flash datasheet
Tnvs(5us) + Tpgs(10us) + Tprog(20us) + Tnvh(5us)). Supports optional
interrupt generation capability after write completion.
- Supports mass erase via configuration registers in the System Control Module.
o Only when 4KB OTP has not been programmed. It is the responsibility
of FW to prevent Mass Erase when 4KB OTP has been programmed.
HW has no built-in protection.
o Supports optional interrupt generation capability after erase
completion.
- Supports erase reference cell via configuration in the System Control Module
this needs to be done to allow reads to work only needs to be done once in
the lifetime of the device.
- Support configurable wait states to allow Flash to run with different frequency
clocks. Number of wait states on Flash Read Access as follows:
o Clk = 4MHz or slower => 0 wait states supported on first access, 1
wait state on a subsequent access if the second access is on the next
clock, 0 wait states on a subsequent access if there is at least a single
clock cycle gap after the first access