完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,在数据表中,它说闪存(用于存储用户数据而不是程序)可以有多达10000的读/写。我想问一下这到底是什么意思。正如我所理解的,当一个页面被擦除时,所有的值都被设置为1,然后当每个字节被编程时,一些值被设置为零。问题是假设一个页面中只有一个字节被编程,即它的一些位设置为0。页面中的所有其他字节是否具有相同的10000写入限制,或者仅仅是那些已经编程10000次可能停止工作的特定比特。谢谢。
以上来自于百度翻译 以下为原文 Hi, In the data sheet it says that the flash memory (used for storing user data not programs) can have up to typically 10000 read/writes. I'd like to ask about what this actually means. As I understand it when a page is erased all values are set to 1 and then some values are set to zero when each byte is programmed. Question is supposing just a single byte in a page were programmed, i.e. some of its bits set to 0. Would all of the other bytes in the page have the same 10000 writes limit or is it just those particular bits which have been programmed 10000 times that may stop working. Thanks. |
|
相关推荐
5个回答
|
|
当您在MPLAB闪存一个设备时,通常会选择“Flash全芯片”选项,因此所有未使用的空间都闪闪发光,但是,如果您设置了,当您编译一个小代码时,程序员就更快了,这意味着只闪烁Flash中的程序长度。现在,即使在不使用所有内存的情况下,持久性也会受到影响,因为每一个空间都需要在写入时起作用,如果没有出现写入失败消息。现在,Flash用于存储程序代码,数据空间是RAM,并且它具有无限的写/读周期。
以上来自于百度翻译 以下为原文 When you flash a device in MPLAB, generally the option "Flash Full Chip" is enabled, so teorically all the non used space is flashed, but, if you put atenttion, when you compile a small code, the programmer is more fast so it means that is flashing only the program lenght in flash. Now, the endurance is affected globally even if you dont use all the memory because every space needs to be functional at the time of writting, if isnt the write failed message appears. Now, the flash is for store the program code, data space is RAM and it has unlimmited write/read cycles. |
|
|
|
谢谢。我正在使用一些相当大的闪存来进行非易失性数据存储,所以我感兴趣的是我多久可以改变一个字节。我的理解是,闪存块中的每一位在擦除时被设置为1。编程可能导致该位被“融合”并设置为0,或者它可能不被融合并保持在1。显然,这些进程是非常不同的,并且我对它们是否产生不同的耐力感兴趣。我只编程了几个字节,但我认为我有可能达到。D 10000按产品预期寿命结束。如果我的建议是正确的,从1到1的擦除对耐力的影响要小得多,如果我也把它融合到零,那么一旦我到达了一个危险的地方,我就可以移动到接下来的几个字节上,因为我正处在攻击耐力极限的危险中。
以上来自于百度翻译 以下为原文 Thanks for that. I am using some of the quite large flash memory for non volatile data storage so am interested in how often I can change a byte. My understanding is that each bit in a block of flash memory is set to 1 when it is erased. The programming may result in that bit being 'fused' and set to 0, or it may not be fused and remain at 1. Clearly these are very different processes and I am interested in whether they result in different endurances. I am only programming a few bytes but I think it is possible that I may have reached 10000 by the products expected end of life. If what I am suggesting is true and 'erasing' a bit from 1 to 1 should have a much smaller effect on the endurance than if I also fused it to zero, then I can move on the the next few bytes in the flash once I get to a point where I am in danger of encroaching on the endurance limit. |
|
|
|
你可以把它当作“10000擦除循环最小值”,也就是说,你可以在一个扩展的周期内逐步地将一个比特编程为零,但是当你擦除整个循环时,循环计数递增一个。
以上来自于百度翻译 以下为原文 You can pretty much treat that as "10,000 erase cycle minimum". i.e. you can progressively program one bits to zero over an extended period, but it's when you erase a whole block that the cycle count increments by one. |
|
|
|
您可以通过保持计数(在闪存和偏移到当前使用区域)来模拟更长的耐力。每次擦除时都要增加计数(用新的值重新编程)!!!!)当计数达到耐久极限时,碰撞索引并使用不同区域的闪存。有一个微芯片APP注意到在程序闪存(100000周期)中模拟EEPROM(10万个周期),这将有助于细节。
以上来自于百度翻译 以下为原文 You can emulate a much longer endurance by keeping a count (in the FLASH and an offset to the current in-use region. Increment the count each time you erase (and reprogram with the new value!!!). When the count reaches the endurance limit, bump the index and use a different region of FLASH. There is a Microchip app note about emulating EEPROM (1,000,000s of cycles) in program FLASH (1000s of cycles) that will help with the details. |
|
|
|
嗨,可能有一些怀疑是页面擦除动作,还是字节写入动作造成闪存单元的最大磨损。通常的耐久性测试没有给出答案。闪存耐久性的测试通常是通过擦除页面,用已知的数据模式写入整个页面,然后测试相同的数据可以被正确读取。这是重复的,直到观察到单位读取错误。无论如何,闪存耐久性测量是一个统计值,具有较大的扩散。数据表中指定的值是具有一定统计概率的最小值。您可以对闪存中存储的数据应用奇偶校验或CRC校验,以便检查检索值是否仍然正确。您可以在维基百科上阅读Flash或EEPROM“磨损均衡”。主要原则是不使用。有一个应用程序NoNAN1095:数据EEPROM仿真,示例代码显示字节可寻址存储和更新,分布在3个或更多的Flash页面上。表现原因。用于数据存储的闪存和其他EEPROM存储器通常具有更高的耐久性。一些PIC设备,大多在8位家庭中,具有一些具有较高耐久性的EEPROM或闪存,用于数据存储。迈西尔
以上来自于百度翻译 以下为原文 Hi, There may be some doubth whether it is the page erase action, or the byte write action that cause the most wear on flash memory cells. Normal endurance testing do not give an answer to this. Testing for flash memory endurance is normally done by erasing page, writing the whole page with some known data pattern, and then test that the same data can be correctly read. This is repeated until single bit read errors are observed. Anyway, the flash memory endurance measurement is a statistical value with large spread. The value specified in datasheet is a Minimum value with some statistical probability. You may apply a parity or CRC check to data stored in Flash, to be able to check if retrieved values are still correct. You may read about Flash or EEPROM "Wear leveling" in Wikipedia. The main principle, is to Not erase and update the same page repeatedly. There is a Application Note AN1095 : Data EEPROM Emulation, with example code showing byte addressable storage and updates, spread over 3 or more flash pages. Flash memory intended primarily for Program storage, is designed with rather low E,W endurance, for performance reasons. Flash and other EEPROM memory designed for Data storage typically have much higher endurance. Some PIC devices, mostly in the 8 bit families, have some EEPROM or Flash memory with Higher endurance, intended for Data storage. Mysil |
|
|
|
只有小组成员才能发言,加入小组>>
5166 浏览 9 评论
2000 浏览 8 评论
1929 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3175 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2227 浏览 5 评论
736浏览 1评论
618浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
507浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
633浏览 0评论
530浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 01:36 , Processed in 1.211299 second(s), Total 57, Slave 50 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号