注意不是内存!谁在影响手机的存储(ROM)性能?
就好像新款PC的主硬盘已经全面过渡到SSD一样,如今智能手机的闪存也都经历了一次较大的迭代,就是从eMMC闪存跨越到了UFS闪存。那么,又有谁在影响UFS闪存的性能呢?
RAM和ROM的区别
直到现在还有不少朋友搞不清RAM和ROM的差异,本文我们就再做次小科普。RAM代表手机内存(又称“运存”),就好像PC上的内存条,只是手机内存都是一颗单独的芯片。ROM代表存储空间(又称“闪存”),类似PC上的硬盘,而手机上的ROM依旧是以一颗NAND闪存芯片的形态存在。
闪存标准
早期智能手机都内置eMMC闪存,它是在NAND闪存芯片的基础上,额外集成了主控制器,并将二者“打包”封装封成一颗BGA芯片,从而减少了对PCB主板的空间占用。eMMC的最新标准为eMMC 5.1,常见于千元以内的入门级手机市场,读取速度最高只有400MB/s左右。
UFS是eMMC的进阶版,它是由多个闪存芯片、主控、缓存组成的阵列式存储模块。UFS弥补了eMMC仅支持半双工运行(读写必须分开执行)的缺陷,可以实现全双工运行,所以性能得以翻番。
UFS目前存在UFS2.0(读取速度700MB/s)、UFS2.1(900MB/s)、UFS2.2(900MB/s)、UFS3.0(1700MB/s)和UFS3.1(1900MB/s)等标准,UFS2.x常见于中低端产品,UFS3.x则是高端手机的标配。
闪存通道
和内存一样,UFS闪存也存在单通道和双通道之别,两者读写性能相差30%~50%之间。好消息是,如今新款手机都已标配双通道UFS,所以咱们只要简单了解一下即可。
Write Turbo技术
Write Turbo是UFS3.0时期引入的一项虚拟技术,很多品牌主打的闪存增强技术大多是基于它优化而来。我们都知道,现在手机闪存都是TLC介质的NAND芯片,它的优势是可以在每个存储单元中保存3bit,能以低成本实现更大的容量,但读写,特别是写入速度远不如SLC NAND。
所谓的Write Turbo,其实就是虚拟SLC技术。它会将部分TLC闪存容量虚拟成SLC,当手机在写入数据时,系统会优先将其写入到虚拟的SLC空间,由于后者每个存储单元只需保存1bit数据,所以写入速度会有大幅提升(读取速度也有明显提升)。
但是,如果一次写入的数据容量超过了虚拟SLC容量,读写速度便会骤降至TLC的水平上。
各大手机厂商会在虚拟SLC的容量和调度规则上存在差异,比如有些厂商会选择全盘虚拟SLC的方式,随着使用空间的逐渐增加,速度会逐渐下降。因此,都是内置UFS3.1+Write Turbo闪存的手机,它们之间的实际体验可能也有高低之分。
最新量产的UFS2.2,本质上其实就是UFS2.1+Write Turbo,可以将持续写入速度从250MB/s提升到500MB/s以上。
磁盘阵列存储系统
除了使用Write Turbo虚拟SLC以外,黑鲨4 Pro和黑鲨4S系列还给我们带来了一个全新的思路——磁盘阵列存储系统。
简单来说,这款手机除了内置闪存芯片以外,还额外添加了一颗来自群联的SSD芯片,并将二者组成了Raid 0阵列,如此让手机的读写速度都有着50%以上的提升。
RAMDISK磁盘加速器
黑鲨4 Pro和4S系列同时还主打一项名为RAMDISK磁盘加速器的功能。提起“RAMDISK”很多朋友应该非常熟悉,很早以前CFan曾多次报道过如何将电脑闲置内存使用虚拟成RAMDISK“内存盘”,保存其中的程序运行飞快,但每次关机内存盘都会被清空,下次开机后还需重新加载程序。
电脑领域的RAMDISK内存虚拟硬盘软件
黑鲨的RAMDISK磁盘加速器的原理和内存盘差不多,都是直接通过内存模拟闪存存储空间,让游戏文件直接在内存中完成读写,游戏的启动、加载和运行速度更是大幅提升。需要注意的是,该功能仅限标配12GB或16GB内存的高配版本,8GB内存版则不支持RAMDISK技术。
原因也很简单,在当前的应用环境8GB内存都不嫌多,哪里还有额外空间供你虚拟闪存?此外,同一时间仅有一款游戏可以运行在基于RAMDISK技术的极速模式下,想切换其他游戏时必须等待一定的时间让极速模式挂载完成。
闪存内存合二为一
作为手机内部最占用PCB主板空间的“大户”,内存(包括隐藏在其下面的SoC)和闪存的体型都不小,如果能将这颗存储芯片也和处理器内存摞在一起,不就可以更加节省主板空间了吗?2020年底,美光发布的uMCP5闪存技术就有望实现这个梦想。
简单来说,uMCP5是全球首次通过MCP多芯片封装的方式,在单颗芯片内就完整集成了自家的LPDDR5内存芯片、NAND闪存芯片以及UFS 3.1控制器,它采用TFBGA封装格式,最大可选12GB+256GB容量。其中,该产品LPDDR5内存的部分支持6400Mbps的数据传输率,UFS3.1闪存部分的编程/擦写循环次数可达到5000次。
总之,美光uMCP5的出现,可以进一步提升手机的存储密度,节省内部空间、成本和功耗,而我们也期待这种“二合一”的存储芯片可以早日在手机领域量产,并有机会用于笔记本等其他计算设备领域。
小结
作为影响手机性能输出的“铁三角”,闪存和内存的重要性不次于处理器,因此每次它们的技术革新,都会带来切实的实际体验提升。希望大家今后在选购手机时,可以将目光多多投向这两个领域的优化和升级上。
ESP32应用教程— SD NAND(记录飞控LOG)
文章目录
前言
1 SD NAND概述
2 代码说明
3 记录Log
前言
本文基于 ESP32 芯片作为主控制器,测试 SD NAND 记录飞控 Log 功能。
关于 MCU 的存储方面,以前基本上用内置的 E2PROM,或者是外置的 NOR Flash 就可以。随着物联网的兴起,MCU 的应用越来越广泛,逐渐的 MCU 会涉及到大容量的存储需求,用来存储音频,图片(GUI)、视频缓存、协议栈等等。传统的 E2PROM 和 NOR Flash 就不够用了。这个时候 MCU 可能就需要用到 NAND Flash。
针对 MCU 需要使用大容量的存储需求,推荐一款简单易用、稳定可靠的 NAND Flash —— SD NAND 。
1 SD NAND概述
SD NAND 的架构,内部采用使用寿命最长、性能最稳定的 NAND Flash(SLC NAND Flash)晶圆,它的擦写寿命可以达到 5~10 万次。内置了 Flash 控制器和针对 NAND Flash 管理的 Firmware。对外采用通用性最强的 SD 接口(几乎所有 MCU 都带有 SD 接口)。
本文选择的是 CSNP32GCR01-AOW 芯片。
不用编写驱动程序,自带坏块管理的 NAND Flash(贴片式 TF 卡),尺寸小巧,简单易用,兼容性强,稳定可靠,固件可定制,LGA-8 封装,标准 SDIO 接口,兼容 SPI,兼容拔插式 TF卡/SD卡,可替代普通 TF卡/SD卡,尺寸 6.2x8mm。
内置平均读写算法,通过 1 万次随机掉电测试耐高低温,机贴手贴都非常方便,速度级别 Class10(读取速度 23.5MB/s,写入速度 12.3MB/s)。标准的 SD 2.0 协议使得用户可以直接移植标准驱动代码,省去了驱动代码编程环节。支持 TF 卡启动的 SOC 都可以用 SD NAND,提供 STM32 参考例程及原厂技术支持,容量:4GB,比 TF 卡稳定,比 eMMC 便宜。
2 代码说明
1. 宏定义使能 SD 卡功能
#define HAL_ESP32_SDCARD
2. 挂载 SD 卡
bool sdcard_retry(void){if(!card)return mount_sdcard();return true;} bool mount_sdcard(){printf("............Try mount.\n");sdmmc_host_t host = SDMMC_HOST_DEFAULT();host.max_freq_khz = SDMMC_FREQ_HIGHSPEED;sdmmc_slot_config_t slot_config = SDMMC_SLOT_CONFIG_DEFAULT();slot_config.flags = SDMMC_SLOT_FLAG_INTERNAL_PULLUP;esp_vfs_fat_sdmmc_mount_config_t mount_config = {.format_if_mount_failed = false,.max_files = 5,.allocation_unit_size = 4 * 1024};esp_err_t ret = esp_vfs_fat_sdmmc_mount("/SDCARD", &host, &slot_config, &mount_config, &card);if (ret == ESP_OK) {mkdir("/SDCARD/APM", 0777);printf("sdcard is mounted\n");update_fw();return true;} else {printf("sdcard is not mounted.\n");return false;}}3. 卸载 SD 卡
void sdcard_stop(void){unmount_sdcard();} void unmount_sdcard(){if (card != nullptr) {esp_vfs_fat_sdmmc_unmount();}}3 记录Log
1. LOG目录建立
可以看到飞控已经在 SD NAND 中成功建立 LOG 目录。
2. LOG分析
飞机通电,翻滚机身,记录飞机的姿态角。
下载日志,加载到 Mission Planner 软件。选中 ATT 字段中的 Roll 和 Pitch。可以看到曲线跟随飞机姿态变化。
至此,使用 SD NAND 替代 SD 卡,测试飞控 LOG 记录功能完成。
相关问答
手机显示加密失败怎么办?原因:是NAND坏掉造成的。系统挂载data分区的时候发现无法挂载,所以以为是加密未成功。避免它,就得把系统和data装在sd卡上。解决办法:可以尝试进入工程模式...
苹果电脑里的推出是什么意思??_住范儿家装官网是64GB闪存吧,MacBookAir取消机械硬盘和光驱,仅配备NAND闪存芯片作为存储设备。这种设计方案大大减轻了MacBookAir的重量和体积,提高了开机速度。...
我进入recovery模式了,但不明白是什么意思-ZOL问答mountsandstorage挂载和存储advanced高级Poweroff关机GOback返回(上一级)二级界面applyupdatefromsdcardInte...
256G的固态要不要分区?首先呢,硬盘不分区是不能用的,这个不管机械硬盘还是固态硬盘都一样的,其次呢,你在SSD上装系统的时候,即使你只设置分一个区的时候其实分区也不止一个,使用M...假...
帮个忙诸位老司机!有人知道吗 定西水培牧草设备原理及参数...[回答]这个才1W字难度太大。。。而且说得明白都可以出书了。。。大体上就是挂载到操作系统的抽象接口。驱动是以模块化加载到操作系统中,首先init()函数启...