Flash 文件系统数据管理器 - NAND FTL (Flash Translation Layer)<\/p>
<\/p>
?闪存转换层 - Flash 文件系统数据管理器 - NAND FTL (FlashTranslation Layer),也称之为闪存转换层(Flash Translation Layer以下简称为 “FTL” ) 。之士公司的 FTL 具有小体积、高性能的特点,该产品能管理 NAND 闪存数据,可使 FAT、NTFS等文件系统像操作其它任何存储设备一样操作单级单元(SLC)与多极单元(MLC)NAND 闪存芯片。<\/p>
FTL概述<\/p>
闪存转换层 - Flash 文件系统数据管理器(FTL),在全球范围内有 1600 万个设备正在使用该产品。它们包括:TF 卡、 SD 卡、CF 卡、U 盘、固态硬盘(SSD)、MP3 播放器、移动电话等。<\/p>
FTL 是一个 NAND 闪存芯片与基础文件系统之间的一个转换层,它使操作系统和文件系统能够像访问硬盘一样访问 NAND 闪存设备。<\/p>
写入平衡算法的加入可以大幅增加 NAND 闪存芯片的寿命,它监控页面的写入与擦除次数,让每个页面的写入与擦除次数保持均衡。<\/p>
FTL 已经使用多种 NAND 闪存芯片并进行了充分的测试,该产品还支持 NAND 闪存芯片阵列以增加容量与性能。<\/p>
FTL 的特点<\/p>
· 高性能、高可靠性的 NAND FTL<\/p>
· 支持所有 SLC 和 MLC NAND 闪存芯片<\/p>
· 支持大页面与小页面(528, 2112 和 4224 字节页面)<\/p>
· 坏块管理程序<\/p>
· 包含 ECC 模块<\/p>
· 快速垃圾回收<\/p>
· 断电回复系统<\/p>
· 写平衡技术<\/p>
· 100%ANSI C 编写源代码保证可移植性<\/p>
· 通过简单的 API 就可以方便的为一个基于 NAND Flash 的设备创建存储区。<\/p>
· 针对 MCUs\/DSPs 的有限资源优化性能和可靠性。<\/p>
· 根据配置情况 RAM 和 ROM 占用量高度灵活可调。<\/p>
· 支持各种操作系统和处理器<\/p>
· 提供 1 年免费技术支持<\/p>
· 提供 3 年免费升级服务<\/p>
· 只需交纳一次性授权费用<\/p>
FTL API 概述<\/p>
FTL_mount 挂载设备,为FTL创建缓冲区。<\/p>
FTL_unmount 释放全部资源。<\/p>
FTL_format 格式化设备。<\/p>
FTL_sectors 获取设备的最大可用扇区数。<\/p>
FTL_read 从FTL设备读取扇区。<\/p>
FTL_write 向FTL设备写入数据。<\/p>
FTL应用程序编程接口<\/p>
FTL_mount<\/p>
FTL_STATUS FTL_mount( void )<\/p>
挂载设备,为 FTL 创建缓冲区。<\/p>
返回<\/p>
当返回 FS_SUCCESS 表示成功。否则则表示失败。<\/p>
FTL_unmount<\/p>
FTL_STATUS FTL_unmount( void )<\/p>
释放全部资源。<\/p>
返回值<\/p>
当返回 FS_SUCCESS 表示成功。否则则表示失败。<\/p>
FTL_format<\/p>
FTL_STATUS FTL_format( void )<\/p>
格式化设备。<\/p>
返回值<\/p>
当返回 FS_SUCCESS 表示成功。否则则表示失败。<\/p>
FTL_sectors<\/p>
t_sec long FTL_sectors<\/p>
获取设备的最大可用扇区数。<\/p>
返回值<\/p>
获取设备的最大可用扇区数。<\/p>
FTL_read<\/p>
t_sec FTL_read( void * buffer, t_sec sector, t_sec count)<\/p>
从 FTL 设备读取扇区。<\/p>
参数<\/p>
buffer 数据存储位置。sector 逻辑扇区号。count 要读取的扇区数量。<\/p>
返回值<\/p>
返回实际读取的扇区数量,在出现错误时可能小于入参 count。<\/p>
FTL_write<\/p>
t_sec FTL_write( void * buffer, t_sec sector, t_sec count)<\/p>
写数据到 FTL 设备的扇区。<\/p>
参数<\/p>
buffer 要写入数据的指针。sector 逻辑扇区号。count 要写入的扇区数量。<\/p>
返回值<\/p>
返回实际写入的扇区数量,在出现错误时可能小于入参 count。<\/p>