Intel Flash的驱动实现及提供给文件系统Flash File System的一些接口
2006-02-24 19:10
525 查看
首先介绍一些常用的缩写词
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
Flash Partitioning 2
如果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
一些工作参数
TA Operating Temperature -400C --- +800C
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
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
Partitioning | Block Size(KW) | Blk# | Address Range | ||
Flash | Pamater Partition | Partition 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 |
Partitioning | Block Size(KW) | Blk# | Address Range | ||
Flash | Main Partitions | Partition 8-15 | 32 | 71-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 |
一些工作参数
TA Operating Temperature -400C --- +800C
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
相关文章推荐
- 嵌入式系统通用驱动程序接口及其实现-I2C主机设备驱动(视频教学时的同步输入文件)
- Android 驱动之旅 第四章:在Android 系统中编写JNI 方法在应用程序框架层提供Java 接口访问硬件
- XP系统安装Intel AHCI驱动的一些经验分享
- rtems 文件系统(13)-flash 底层驱动
- 嵌入式系统通用驱动程序接口及其实现-IO口(视频教学时的同步输入文件)
- 文件过滤驱动 文件系统激活通知 IoRegisterFsRegistrationChange函数实现
- 嵌入式Flash文件系统的设计与实现
- flash文件系统实现原理
- 如何在wince下实现一个文件系统驱动
- 地磅称量系统之(53)在封装对象的类库中实现包括IDataErrorInfo接口提供的所有方法和并且扩展对异常具有添加和删除功能的基本业务对象基类
- /proc 文件系统——提供一种驱动调试的利器
- 嵌入式系统实现FLASH文件系统存储之我见一
- 《当老温遭遇C#》之虚拟主机管理系统 【附核心实现源码】【另可提供中国各大域名服务端接口】[收藏]
- linux 使用系统接口实现复制文件
- Java实现视频网站的视频上传、视频转码、视频关键帧抽图, 及视频播放功能 视频网站中提供的在线视频播放功能,播放的都是FLV格式的文件,它是Flash动画文件,可通过Flash制作的播放器来播
- android系统PS2全键盘驱动(上)-使用linux的标准接口实现
- ( 六 )Seafile FUSE 虚拟文件系统开发---写接口实现思路
- linux系统为用户提供的文件接口
- 关于嵌入式Linux系统flash分区设计及文件系统格式选择的一些浅见
- [WMI实例]实现文件系统管理功能封装。提供共享文件和文件系统访问权限控制能力