Intel Flash的驱动实现及提供给文件系统Flash File System的一些接口

首先介绍一些常用的缩写词

APS     Automatic Power Saving                        

BBA        Block Base Address                                           

CFI          Command User Interface

CUI          Command User Interface

DU           Don't use

EFP         Enchanced Factory Programming

FDI          Flash Data Integrator

NC          No Connect

OTP       One-Time  Programmable

PBA       Partition Base Address

RCR     Read Configuration Register

RWE     Read-While-Erase

RWW    Read-While-Write

SCSP    Stacked-CSP

SRD      Status Register Data

WSM     Write State Machine

Block     A group of bits(words) that erase simultaneously with one block erase instruction

MainBlock  32k-words

Parameter block  8k-words

Partition    A group of blocks that share erase and program circuit and a common status register

Top Partition    Located at the highest physical device address

Bottom Partition   Located at the lowest physical device address

Main Partition   incluing main blocks only

Parameter Partition  including main blocks and parameter  blocks

Top Parameter Device(TPD)  Parameter Partition在Memory Map高端,也叫Top-Boot Device

Bottom Parameter Device(BPD)

ETOX    EPROM Tunnel Oxide

PR         Protection Register

RCR      Read Configuration Register

SR         Status Register

MCM     Multi-Chip Memory

PLR      Protection Lock Register

PRD      Protection Register Data

RFU       Reserved For Future Use

管脚说明

VCC      都大写表示管脚名称或信号

Vcc       与VCC不同,表示时间信号或电信号

CE#[2:1], OE#[2:1]   片选信号,"#"表示低电平有效,

 VCC, P-VCC, S-VCC P-VCC表示PSRAM,S-VCC表示SRAM. 其中PSRAM就是伪SRAM,内部的内存颗粒跟SDRAM(同步DRAM)颗粒相似,但外部接口跟SRAM相似,不需要SRAM那样复杂的控制器和刷新机制.PSRAM接口同SRAM一样.  PSRAM就是Pseudostationary(似稳定的,假稳定的)SRAM.

A[21:0]     地址线,222=4M.由于数据线为16bit,即4M X 16 = 64Mbit. 当连接到ARM时,ARM的A0悬空,是Flash的A0 连接到ARM的A1.故Flash的地址X2 = ARM的 地址.这就是问什么在Flash file system中BANK_DATA_BEGIN = 0x700000对应到Flash中的地址为0x380000的原因(关于这一些,在Flash file system中会做进一步的说明).

D[15:0]   数据线,共16bits,这就是问什么word是指16bits的缘故

CLK  时钟,仅用于同步读,地址在ADV#(Flash Address Valid)的上升沿锁存,或当ADV#为低时,在CLK的上升/下降沿锁存,取决于那一个先发生.

ADV#   地址有效信号

WAIT 等待信号,也仅仅用于同步方式

CE#1,CE#2  片选信号,CE#1对应Flash die#1

S-CS1#,S-CS2  SRAM片选信号,S-CS1#为低,S-CS2为高有效

P-CS#   PSRAM片选,当PSRAM片选有效时,PSRAM的内部控制逻辑(internal control logic),输入缓冲(input buffers), 译码器(decoders), and sense amplifier读出放大有效.

OE#1, OE#2  输出使能(Flash输出使能)

R-OE#   RAM输出使能

R-UB#/R-LB#   RAM UPPER/LOW BYTE使能,分别对应D[15:8], D[7:0]

WE#   RAM写数据

WR#  Flash写保护. WR#- low enable the lock-down mechanism-locked down blocks control be unlocked with software command即是否允许软件unlock

RS#  复位

VPP  Flash  PROGRAM/ERASE POWER 编程/擦除电压

P-MODE  PSRAM Mode, P-Mode用于编程configuration mode,进入或结束低电压模式

VCC1, VCC2   Flash Logic Power

S-VCC  SRAM Power Supply

P-VCC  PSRAM Power Supply

VCCQ  Flash Output-buffer power, Supplies power for the I/O output buffers

VSS    Ground

RFU    留作以后用

DU       没有使用,必须悬空

 

Flash Partition划分

本文以Intel RD38F2030W0TQ1为例进行说明

RD    表示封装Stacked-CSP

38F   Stacked-CSP Intel@ Flash Memory

20      Flash Density  0: no die;2 : 64Mbit

30      RAM Density 0 : no die; 1 : 4Mbit;   2: 8Mbit ;  3:16Mbit; 4:32Mbit

W0     Product Family, W= Intel@Wireless Flash Memory, 0 : No die

Z         I/O为3V, Core内核为1.8V,说该Flash是1.8V的,即是指Core而言

T          Parameter Location T表示Top Parameter

Q        Quard Ballout四方球形封装

0          Device Process W18 Speed为 14ns Sync/65ns Async, Flash pProcess = 0.13ns

 

Flash Partitioning 1
Partitioning  Block Size(KW) Blk# Address Range
Flash Pamater PartitionPartition 0 4 127-134 3F8000-3FFFFF
Die #2   32 120-126 3C0000-3F7FFF
  Main Partitions Partition 1 32 112-119 380000-3BFFFF
   Partition 2 32 104-111 340000-37FFFF
   Partition 3 32 96-103 300000-33FFFF
   Partition 4-7 32 64-95 200000-2FFFFF
   Partition 8-15 32 0-63 000000-1FFFFF

Flash Partitioning 2
Partitioning  Block Size(KW) Blk# Address Range
Flash Main PartitionsPartition 8-15 3271-134 200000-3FFFFF
Die #2  Partition 4-7 32 39-70 100000-1FFFFF
  Main Partitions Partition 3 32 31-38 0C0000-0FFFFF
   Partition 2 32 23-30 080000-0BFFFF
   Partition 1 32 15-22 004000-07FFFF
  Parameter Partition Partition 4-7 32 8-14 008000-03FFFF
   Partition 8-15 32 0-7 000000-007FFF

如果Parameter Partition在地址高端,叫top parameter.根据上图可以看到:一个Flash包含16个Partition,每一个Partition为8 X 32KWord或者4 X 8KWord + 7 X 32KWord.故共计16 X 8 X 32KWord = 4096KWord = 4096 X 16K = 64Mbit

一些工作参数

T A          Operating Temperature -40 0C --- +80 0C

VCC        Flash Supply Voltage +1.7V --- +1.95V

VCCQ     Flash I/O Voltage

S-VCC    SRAM Supply Voltage  +1.8V--+1.95V

P-VCC    PSRAM Supply Voltage

VPP1      Flash Programing Level 0.9V--1.95V

VPP2      Flash Factory Program Voltage 11.4V-12.6V

其他一些说明

1) A  128-bit protection register enhances the user's ability to implement new security techniques and data protection schemes

2) CUI Command User Interface, A valid command sequence operation that automutically execute the algorithm, timings, and verifications necessary to manage flash memory program and erase

3) APS(Automatic Power Saving)- Can significantly reduce power consumption

4) Memory Map and Partitioning    W18 4Mbit(即256KWord = 8 X 32KWords)划分,允许RWW or RWE.

5) 64Mbits flash 有64Mbits/4 = 16 Partition. 4M-bits Parameter Partition,包含8个4-Kwords parameter blocks和7个 32-kWords. 每一个4M-bit main partition含8个32-kwords blocks

6) Main blocks可以用于store data/code, parameter blocks可以用于storage of frequently updated small parameters that are normally stored in EEPROM.

7)一些总线操作

Read Array      Return flash array data from the addressed location

Read Identifier      Get manufacture ID, device ID codes, block lock status, protection register data,这些参数从PBA处读取

Read Status Register     Returns Status Register from the addressed partitions

8) Reset     RST#(Low),复位后, device为read-array mode, Status reister为0x80, the Configuration Register为asynchroness page-mode read.

9) Device Command    The devices on-chip WSM manages erase and program algorithm. This local CPU(WSM)  controls the device in-system read, program, and erase operation. Bus cycles to or from the flash memory confrom to standard microprocess bus cycle.

Command Code and Description

(A) Read Command

1)0xFF         Read Array, Places selected partition in Read Array Mode

2)0x70         Read Status Register, 设置完毕后,SR data放到D[15:0]上. A partition automutically enters this mode after issuing the program or erase command

3) 0x90        Read Identifier, Please the selected partition in Read ID mode. Device Read from partition address output manufacuter/device codes, configuration register data, block lock status, or protection register data on DA[15:0].具体是读那一个参数,则需要根据地址为PBA + offset来指示.

4)0x98          CFI Query 读出CFI Query到DQ[7:0]

5)0x50          Clear Status Register. WSM可置位. SR[1] Status Register's block lock;  SR[3] Vpp; SR[4] program; and SR[5] erase.

(B) Program Command

1) 0x40   Word program setup, This preferred program command's first cycle prepare CUI for a program operation. The second cycle latches data and address. and execute the WSM program algorithm at this location. A read array command is required to read array after programming

2)0x10     同word program setup类似

3)0x30  EFP Enchanced Factory Programming,如果接下来为EFP Confirm,则进入EFP模式

4)0xD0  EFP Confirm

(C)Erase

1)0x20  Erase Setup, Block Erase,若接下来为Erase Confirm,则擦除;若不是Erase Confirm,则CUI设置SR[5:4]指明sequence error.并使Partition in the read status register mode

2)0xD0  Erase Confirm 在擦除过程中,the partition仅仅respond's to read status register.program suspend, erase suspend command.

(D)Suspend

1)0xB0  Program Suspend or Erase Suspend,挂起正在执行的program或者Erase操作, Status Register会设置SR[2](program suspend), SR[6](erase suspend),SR[7]. The WSM remain in the suspend states regardless of constrol signal staus

2) 0xD0  Suspend Resume

(E)Block Locking

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值