tag 标签: 闪存芯片

相关博文
  • 2025-1-24 17:31
    0 个评论
    HT25Q20D 是由华芯邦研发,适用于物联网,5G,汽车,计算机,消费品,HT25Q20D(2M位)串行闪存支持标准串行外围接口(SPI),并支持双SPI:串行时钟、芯片选择、串行数据I/O0(SI)、I/O1(SO)、I/O2。双输入/O和双输出数据的传输速度最大速度为208Mbits/s。采用LGA6封装。 为了保护芯片免受频繁写入和擦除的磨损,建议在暂时不需要长期保存的数据存储方面,选择使用易失性存储器,以此来减轻对闪存芯片的负担。在数据处理上,我们应采取批量写入的策略而非频繁的小数据块写入,因为闪存的擦除单位通常是以块为基础的,小数据的频繁写入会导致大量不必要的擦除和重写操作,加速芯片的损耗。此外,合理配置数据存储位置,避免长时间重复在同一区域进行写入和擦除,可以更均匀地利用闪存芯片的各个部分,从而有效延长其使用寿命。通过这些方法,我们可以最大程度地优化存储策略,保护数据的安全同时延长存储介质的服务周期。下面我们将每个延长寿命的方法进行细分: 优化写入操作 减少不必要的擦写:避免频繁地对芯片进行写入和擦除操作。例如,在存储数据时,如果数据只是临时使用且不需要长期保存,可以考虑将其存储在其他易失性存储器(如 RAM)中,仅将重要的、长期需要的数据写入闪存芯片。 批量写入:尽量将数据收集起来进行批量写入,而不是频繁地进行单个字节或小数据块的写入。因为闪存芯片的擦除操作通常是以块为单位进行的,频繁的小数据写入会导致大量不必要的擦除和编程操作,加速存储单元的磨损。可以在系统中设置缓冲区,当缓冲区填满后再将数据批量写入闪存。 均衡擦写:在进行数据存储时,避免总是在芯片的特定区域进行擦写。应尽量均匀地使用整个闪存芯片的存储单元,使擦写操作分布在不同的扇区和块上。这样可以防止某些区域过度使用而提前损坏,延长芯片整体的使用寿命。 确保合适的工作环境 温度控制:保持闪存芯片在合适的温度范围内工作。高温会加速电子迁移和存储单元的老化,缩短芯片寿命。对于使用 25Q20DL 闪存芯片的设备,可以通过散热设计(如安装散热片、风扇等)来降低芯片工作温度,避免其长时间处于高温环境。如果设备在高温环境下运行,可以考虑增加温度监测和保护机制,当温度过高时采取相应的降温措施或暂停芯片的工作。 电压稳定:为芯片提供稳定的电源电压。电压波动可能会对芯片内部电路造成损害,影响其性能和寿命。使用高质量的稳压电源模块,并确保电源电路的设计能够满足芯片在各种工作状态下的电压需求,防止过压、欠压等情况的发生。 数据管理与保护 数据备份与恢复:定期对闪存芯片中的重要数据进行备份,可以在芯片出现故障或数据丢失时进行恢复。备份可以存储在其他可靠的存储介质上,如外部硬盘、云存储等。同时,建立有效的数据恢复机制,以便在需要时能够快速、准确地恢复数据,减少因数据丢失而对芯片进行过度操作的可能性。 错误检测与纠正:利用芯片本身的错误检测与纠正(ECC)功能或在系统中实现额外的软件层面的错误检测和纠正机制。这样可以及时发现并纠正数据存储过程中出现的错误,避免因错误数据导致的不必要的擦写操作。 硬件设计与维护 防静电措施:在芯片的操作和使用过程中,采取防静电措施。静电放电可能会对芯片造成永久性损坏,影响其使用寿命。操作人员可以佩戴防静电手环,在芯片存储和运输过程中使用防静电包装材料。 定期检查硬件连接:确保闪存芯片与其他电路组件之间的连接稳定、可靠。松动或不良的连接可能会导致信号传输问题,引起数据错误或芯片异常工作,进而影响芯片寿命。定期检查芯片的引脚连接、电路板布线等情况,及时修复发现的问题。 产品特性 product features 读取、擦除和程序的电源范围从1.65V到3.6V 超低功耗的读取、擦除和程序 x1、x2多输入/O支持 高可靠性,100K自行车耐力和20年的数据保留 SPI闪存 密度:2Mbit 标准SPI:SCLK、/CS、SI、SO 双SPI:SCLK、/CS、IO0、IO1 最高性能串行闪存 104MHz用于快速读取 双I/O数据传输高达208Mbits/s 最少100000个编程/擦除周期 数据保留期超过20年 低功耗 单路1.65V至3.6V电源 0.4μA备用电流 0.2μA深度断电电流 33MHz下1.5mA的有效读取电流 3.0mA活动编程或擦除电流 灵活的架构 统一256字节页面擦除 统一4K字节扇区擦除 统一32/64K字节块擦除 每个可编程页面编程1到256字节 快速编程和擦除速度 2ms页面编程时间 15ms页面擦除时间 15ms 4K字节扇区擦除时间 15ms 32K/64K字节块擦除时间 高级安全功能 每个设备的128位唯一ID 1*256字节带OTP锁的安全寄存器 文章转发自:https://www.hotchip.com.cn/ht25q20d-scxp-norflash/
  • 2024-6-5 17:53
    0 个评论
      雷龙发展Nand flash芯片试用体验   一、项目背景   最近自己开始准备了一个智能家居控制系统项目,需要包含室内的温湿度、空气质量、烟雾浓度以及气体含量,能够存储相应的数据,并进行显示。   Nand-flash存储器是flash存储器的一种,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。Nand-flash存储器具有容量较大,改写速度快等优点,适用于大量数据的存储,因而在业界得到了越来越广泛的应用,如嵌入式产品中包括数码相机、MP3随身听记忆卡、体积小巧的U盘等。   二、产品解析   NOR和NAND是市场上两种主要的非易失闪存技术。Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。紧接着,1989年,东芝公司发表了NAND flash结构,强调降低每比特的成本,更高的性能,并且像磁盘一样可以通过接口轻松升级。但是经过了十多年之后,仍然有相当多的硬件工程师分不清NOR和NAND闪存。   “NAND存储器”经常可以与“NOR存储器”相互换使用。许多业内人士也搞不清楚NAND闪存技术相对于NOR技术的优越之处,因为大多数情况下闪存只是用来存储少量的代码并且需要多次擦写,这时NOR闪存更适合一些。而NAND则是高数据存储密度的理想解决方案。   NOR的特点是芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在flash 闪存内运行,不必再把代码读到系统RAM中。NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除 速度大大影响了它的性能。   NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于flash的管理需要特殊的系统接口。   三、主要区别   NOR与NAND的区别   性能比较   flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。NAND器件执行擦除 操作是十分简单的,而NOR则要求在进行擦除前 先要将目标块内所有的位都写为0。   由于擦除NOR器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时间为5s ,与此相反,擦除NAND器件是以8~32KB的块进 行的,执行相同的操作最多只需要4ms。   执行擦除时块尺寸的不同进一步拉大了NOR和NAND之间的性能差距,统计表明,对于给定的一套写入操作(尤其是更新小文件时), 更多的擦除操作必须在基于NOR的单元中进行。这样,当选择存储解决方案时,设计师必须权衡以下的各项因素。   NOR的读速度比NAND稍快一些。   NAND的写入速度比NOR快很多。   NAND的擦除速度远比NOR快。   NAND的擦除单元更小,相应的擦除电路更加简单。   NAND的实际应用方式要比NOR复杂的多。   NOR可以直接使用,并在上面直接运行代码,而NAND需要I/O接口,因此使用时需要驱动。   接口差别   NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每 一个字节。   NAND器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同 。8个引脚用来传送控制、地址和数据信息。   NAND读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,很自然地,基于NAND的存储器就可以取代硬盘或其他块设备。NOR的特点是芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。   NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。   NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于flash的管理需要特殊的系统接口。   NAND Flash 的数据是以bit的方式保存在memory cell,一般来说,一个cell 中只能存储一个bit。这些cell 以8个或者16个为单位,连成bit line,形成所谓的byte(x8)/word(x16),这就是NAND Device的位宽。这些Line会再组成Page,(NAND Flash 有多种结构,例如NAND Flash 是K9F1208,下面内容针对三星的K9F1208U0M),每页528Bytes(512byte(Main Area)+16byte(Spare Area)),每32个page形成一个Block(32*528B)。具体一片flash上有多少个Block视需要所定。再例如三星k9f1208U0M具有4096个block,故总容量为4096*(32*528B)=66MB,但是其中的2MB是用来保存ECC校验码等额外数据的,故实际中可使用的为64MB。   四、产品介绍   CSNP64GCR01-AOW   不用写驱动程序自带坏块管理的NAND Flash(贴片式TF卡),尺寸小巧,简单易用,兼容性强,稳定可靠,固件可定制,LGA-8封装,标准SDIO接口,兼容SPI,兼容拔插式TF卡/SD卡,可替代普通TF卡/SD卡,尺寸7x8.5mm,内置平均读写算法,通过1万次随机掉电测试,耐高低温,机贴手贴都非常方便,速度级别Class10(读取速度23.5MB/S写入速度12.3MB/S)标准的SD 2.0协议使得用户可以直接移植标准驱动代码,省去了驱动代码编程环节。支持TF卡启动的SOC都可以用SD NAND,提供STM32参考例程及原厂技术支持,容量:8GB,比TF卡稳定,比eMMC易用,样品免费试用。   五、产品优势   六、样品展示   很感谢雷龙发展提供了样品支持和试用,让自己的项目得到了更好的实现,这一次制作的U盘读取和写入使用到了这款产品,体验到了产品的优势和核心性能,感觉真的挺好的。   实物转接板   芯片实物图 雷龙发展官方网址: SD NAND FLASH-贴片式SD卡-贴片式t卡-存储芯片 ————————————————   亲爱的卡友们,欢迎光临雷龙官网,如果看完文章之后还是有疑惑或不懂的地方,请联系我们,自己去理解或猜答案是件很累的事,请把最麻烦的事情交给我们来处理,术业有专攻,闻道有先后, 深圳市雷龙发展 专注存储行业13年,专业提供小容量存储解决方案。
  • 热度 4
    2024-1-5 18:08
    391 次阅读|
    0 个评论
    前言   大家好,我们一般在STM32项目开发中或者在其他嵌入式开发中,经常会用到存储芯片存储数据。今天我和大家来介绍一款存储芯片,我这里采用(雷龙) CS创世 SD NAND 。   SD NAND介绍   什么是SD NAND?它俗称贴片式T卡,贴片式TF卡,贴片式SD卡,贴片式内存卡,贴片式闪存卡,贴片式卡...等等。虽然SD NAND 和TF卡称呼上有些类似,但是SD NAND和TF卡有着本质上的区别。   SD NAND 与 TF卡的区别:(看图表)   SD和TF区别   LGA-8封装   什么是LGA-8封装?   LGA-8封装是一种将芯片引脚通过电路板的层间连接到器件底部的封装形式,也称为Land Grid Array封装。与其他封装形式不同,LGA-8封装没有凸出的引脚,而是在芯片的底部设计了一些小的焊盘,用于与电路板焊接连接。   LGA-8封装的由来与SDNAND芯片其实并没有直接关系,但它提供了更好的电性、机械性和热性能,因而被广泛应用于存储芯片、微处理器、芯片组等器件中。   在SDNAND芯片的应用中,LGA-8封装的优点包括:   更好的电性能:LGA-8封装底部的焊盘与电路板连接时可提供更好的电性能,减少因接插件导致的信号损失,实现更高速率和更远距离的数据传输。   更好的机械性能:LGA-8封装通过焊接连接,可以获得更高的机械强度和稳定性。同时,由于没有凸出的引脚,LGA-8封装使得SDNAND芯片的外形更加紧凑,可适应更小尺寸的应用场景,提高产品设计自由度。   更好的热性能:焊接连接可提供更好的热传递性能,减少因热量集中导致的器件失效或故障。   因此,LGA-8封装的设计为SDNAND芯片的应用提供了更好的技术支持,更好的性能表现和更广泛的应用领域。   产品介绍   CSNP4GCR01-AMW   不用写驱动程序自带坏块管理的NAND Flash(贴片式TF卡),尺寸小巧,简单易用,兼容性强,稳定可靠,固件可定制,LGA-8封装,标准SDIO接口,兼容SPI/SD接口,兼容各大MCU平台,可替代普通TF卡/SD卡,尺寸6x8mm毫米,内置SLC晶圆擦写寿命10万次,通过1万次随机掉电测试耐高低温,支持工业级温度-40°~+85°,机贴手贴都非常方便,速度级别Class10(读取速度23.5MB/S写入速度12.3MB/S)标准的SD 2.0协议使得用户可以直接移植标准驱动代码,省去了驱动代码编程环节。支持TF卡启动的SOC都可以用SD NAND,提供STM32参考例程及原厂技术支持,主流容量:128MB/512MB/2GB/4GB/8GB,比TF卡稳定,比eMMC便宜,样品免费试用。   CSNP64GCR01-AOW   不用写驱动程序自带坏块管理的NAND Flash(贴片式TF卡),尺寸小巧,简单易用,兼容性强,稳定可靠,固件可定制,LGA-8封装,标准SDIO接口,兼容SPI,兼容拔插式TF卡/SD卡,可替代普通TF卡/SD卡,尺寸7x8.5mm,内置平均读写算法,通过1万次随机掉电测试,耐高低温,机贴手贴都非常方便,速度级别Class10(读取速度23.5MB/S写入速度12.3MB/S)标准的SD 2.0协议使得用户可以直接移植标准驱动代码,省去了驱动代码编程环节。支持TF卡启动的SOC都可以用SD NAND,提供STM32参考例程及原厂技术支持,容量:8GB,比TF卡稳定,比eMMC易用,样品免费试用。   SD NAND和eMMC的区别   SD NAND和eMMC都是存储设备,但它们有一些不同之处:   SD NAND优点   SD NAND是一种基于NAND闪存技术的存储设备,与其他存储设备相比,它具有以下几个显著的优点:   高可靠性:SD NAND针对嵌入式系统的特殊需求进行了设计,具有更高的可靠性。它内置了闪存控制器和NAND闪存芯片,支持 ECC (Error Correcting Code) 算法和坏块管理,能有效地降低数据丢失的风险。   高速读写:SD NAND的读写速度比硬盘慢,但通常比SD卡和SPI闪存等其他存储设备更快。在使用SDIO接口时,SD NAND的速度更高。其读取时延较低,比 SD 卡等其他媒体被访问时更加实时。   内置控制器:SD NAND内置了控制器,不必额外添置控制器,可以实现单芯片解决方案,降低了芯片的成本和复杂度。   低功耗:SD NAND使用了新型的SD ver5.1总线模式,并支持DDR传输。除 SDIO 接口外,还支持 SPI 接口,并且具有低功耗特点。它可以在连接到其它设备时不占用过量的功率。   高度集成:SD NAND可实现高度集成。闪存、控制器、内部SDRAM可以打在一片芯片上。   基于这些优点,SD NAND适用于许多嵌入式应用,如智能家居、工业控制、移动设备等。在这些应用中, SD NAND能提供高可靠性、高速读写、低功耗和高度集成等特点, 为新一代的嵌入式存储解决方案引领市场趋势。   总结   对这款产品优点总结为一下几点,其尺寸小巧,可以达到6*8mm,简单易用而且稳定可靠。 ———————————————— 【本文转载自CSDN,作者:爱吃饼干的小白鼠】 深圳市雷龙发展专注存储行业13年,专业提供小容量存储解决方案。
  • 热度 2
    2023-12-15 17:57
    443 次阅读|
    0 个评论
      SD NAND 也称之为贴片式TF卡,贴片式SD卡,采用标准的SDIO接口,兼容SPI接口。下图所示为CS 新一代CS SD NAND NP1GCR01-AOW 大小为128M,对比128M的SD卡,可以看到贴片SD卡尺寸更小,不要SD卡座,占用更小的PCB面积;也可以节省PCB板层数,2层板即可使用。而且兼容可替代普通TF卡/SD卡,硬件电路软件程序通用。本案例基于RT-Thread物联网操作系统,更是不需要编写任何复杂的驱动代码就可以SD NAND读写操作。    (文末提供,STM32驱动代码下载连接,需要可以自行下载)   将SD NAND插入SD卡卡座。首先,新建一个RT-Thread项目工程,这里基于Draco开发板创建。   完整的RT-thread项目默认是开启虚拟文件系统组件,RT-Thread DFS 组件的主要功能特点有:   为应用程序提供统一的 POSIX 文件和目录操作接口:read、write、poll/select 等。   支持多种类型的文件系统,如 FatFS、RomFS、DevFS 等,并提供普通文件、设备文件、网络文件描述符的管理。这里默认开启FatFS.   支持多种类型的存储设备,如 SD Card、SPI Flash、Nand Flash 等。   在 RT-Thread 中,我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的路径上,然后通过这个路径来访问存储设备。在应用程序文件夹下可找到mnt.c源程序。可以看到挂载文件系统的代码如下所示。   上图通过自动化初始化代码实现文件系统挂载。挂载成功dfs_mount函数返回0.通过调试串口可以看到打印信息。Mount "/dev/sd0" on "/":0 done,说明SD NAND挂载成功。   读写文件测试:文件系统正常工作后,就可以运行应用示例,在该示例代码中,首先会使用 open() 函数创建一个文件 text.txt,并使用 write() 函数在文件中写入字符串 “RT-Thread Programmer!\n”,然后关闭文件。再次使用 open() 函数打开 text.txt 文件,读出其中的内容并打印出来,最后关闭该文件。   测试结果:在调试中断输入msh 命令readwrite_sample,即可运行案例。可以看到成功创建了文本,并写入了数据。    STM32驱动下载链接:https://pan.baidu.com/s/1t9Bd3YUNtQmgpyQbmOIMEA?pwd=8051   提取码:8051
  • 热度 8
    2023-3-3 17:52
    703 次阅读|
    0 个评论
    五、案例使用 5.1 读取GBK字库文件(LCD汉字显示) 产品开发中,如果设备带有LCD显示屏,一般会显示各种文字提示,或者机器操作说明,显示中文需要字库,为了方便字模的提取,可以将字库文件制作好之后放到SD NAND上,通过文件系统打开字库文件,读取字模进行显示。 下面贴出文件系统读取字模的核心代码: /* 函数功能: 显示GBK字库数据 u32 x 范围0~319 u32 y 范围0~479 u32 size 数据的宽度(必须是8的倍数) 是正方形 u8 *p 中文 说明: 取模横向坐标必须保证是8的倍数 */ void ILI9341_DisplayGBKData(u32 x,u32 y,u32 size,u8 *p) { FIL fp; UINT br; u8 L,H; u32 Addr; u16 font_size=size/8*size; //字体占用的点阵码字节大小 u8 *buff=NULL; H=*p; L=*(p+1); if(L<0x7f)L=L-0x40; else L=L-0x41; H=H-0x81; Addr=(190*H+L)*font_size; //中文在字库里的偏移量 buff=malloc(font_size); //使用的堆空间 if(buff==NULL)return; switch(size) { case 16: if(f_open(&fp,"0:/font/gbk16.DZK",FA_READ)!=FR_OK) { printf("f_open error.\r\n"); } f_lseek(&fp,Addr); f_read(&fp,buff,font_size,&br); f_close(&fp); break; case 24: f_open(&fp,"0:/font/gbk24.DZK",FA_READ); f_lseek(&fp,Addr); f_read(&fp,buff,font_size,&br); f_close(&fp); break; case 32: break; } //显示中文 ILI9341_DisplayData(x,y,size,size,buff); //释放空间 free(buff); } 这是读取字模,显示的效果: 5.2 读取MP3文件播放(开机音乐) 这个例子是演示文件系统的目录扫描函数使用方式,读取指定目录下的MP3文件进行播放。 u8 PlayerMP3(const char *path); FATFS FatFs; int main() { LED_Init(); BEEP_Init(); KeyInit(); USARTx_Init(USART1,72,115200); SDCardDeviceInit(); //初始化SD卡 // res=f_mkfs("0:",FM_ANY,0,work,sizeof work); // if(res)printf("格式化失败!\n"); // else printf("格式化成功!\n"); f_mount(&FatFs, "0:", 0); //注册工作区 PlayerMP3("0:/MP3"); while(1) { DelayMs(100); LED0=!LED0; } } /* 函数功能: 扫描目录mp3播放 0表示成功 1表示失败 */ u8 PlayerMP3(const char *path) { DIR dir; FRESULT res; FILINFO fno; //存放读取的文件信息 char *abs_path=NULL; /*1. 打开目录*/ res=f_opendir(&dir,path); if(res!=FR_OK)return res; /*2. 循环读取目录*/ while(1) { res=f_readdir(&dir,&fno); if(fno.fname == 0 || res!=0)break; printf("文件名称: %s,文件大小: %ld 字节\r\n",fno.fname,fno.fsize); /*过滤目录*/ if(strstr(fno.fname,".mp3")) { //申请存放文件名称的长度 abs_path=malloc(strlen(path)+strlen(fno.fname)+1); if(abs_path==NULL)break; strcpy(abs_path,path); strcat(abs_path,"/"); strcat(abs_path,fno.fname); printf("abs_path=%s\n",abs_path); VS1053_MP3(0,0,abs_path); free(abs_path); } } /*3. 关闭目录*/ f_closedir(&dir); return 0; }
相关资源