johness 2024-08-19 11:20 采纳率: 0%
浏览 17
已结题

TF卡写入时断电数据错乱的量会是多少?

在嵌入式 Linux 下写入数据到 TF 卡时(一般设备节点为/dev/mmcblk1p1),如果突然断电,可能有多少数据会错乱?是一个扇区(一般为 512 字节)还是一个页(Nand Flash 颗粒参数,一般为 2K 或 4K)亦或者是一个块(也是 Nand Flash 颗粒属性,128K 至 512K 不等)?

由于 Nand Flash 颗粒特性为擦除后写入,数据肯定会发生错乱,但又因为 TF卡是有中间层的,不知其具体实现,希望能为我解惑。

因为我正想使用 zip64+fuse3 实现一个基于 fat32 的文件系统,与一般行车记录仪和监控设备的 tf 卡格式方式一致,保证对 fat32 的 fat 表项和目录项只写入一次,则可保证文件系统不损坏;但传统的方法不能动态文件数量和大小,加入 zip64 后就可以,不过还需要做一些重要时刻的备份,因此需要知道需要备份的数据量。

如果有更好的办法,也请大家不吝赐教

  • 写回答

20条回答 默认 最新

  • 关注

    上午好☀️☀️☀️️
    本答案参考ChatGPT-3.5

    这个问题涉及到了几个方面的知识,包括硬件知识、操作系统原理以及数据结构等方面。

    在硬件方面,对于TF卡,它的工作方式是通过NAND闪存芯片存储数据,并且采用SATA接口连接电脑或主机。当读取或写入TF卡时,数据通常被分成多个扇区,每个扇区的数据都是按照一定的方式进行读写的。在断电的情况下,这种扇区的顺序可能会被打乱。

    在操作系统方面,NAND闪存的操作速度非常快,所以在进行数据读写操作时,它能快速地将数据转移到内存中。但是在断电的情况下,数据可能会丢失。

    至于你提到的TF卡上的数据是否会发生错误,取决于你选择的NAND闪存颗粒类型和你的硬件配置。一般来说,高性能的NAND闪存颗粒会在数据丢失之前进行重写,从而减少数据丢失的可能性。但是,一些性能较差的颗粒可能会导致更频繁的数据丢失。

    在你需要保存所有数据的时候,你可能会选择其他的方式来保存这些数据,比如将它们备份到硬盘上,或者使用专门的数据恢复工具。如果你选择保存所有数据,那么就需要考虑这个数据量的问题。

    总的来说,要解决这个问题,你需要先确定你的硬件配置,然后选择合适的数据保护措施。你可以使用zip64和fuse3来解决这个问题,这两种技术都可以用于压缩和解压缩数据,并且可以防止数据在传输过程中被破坏。同时,为了防止数据丢失,你也可以定期备份你的数据。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月21日
  • 赞助了问题酬金15元 8月19日
  • 创建了问题 8月19日

悬赏问题

  • ¥15 为啥画版图在Run DRC会出现Connect Error?可我Calibre的hostname和计算机的hostname已经设置成一样的了。
  • ¥20 网站后台使用极速模式非常的卡
  • ¥20 Keil uVision5创建project没反应
  • ¥15 mmseqs内存报错
  • ¥15 vika文档如何与obsidian同步
  • ¥15 华为手机相册里面的照片能够替换成自己想要的照片吗?
  • ¥15 陆空双模式无人机飞控设置
  • ¥15 sentaurus lithography
  • ¥100 求抖音ck号 或者提ck教程
  • ¥15 关于#linux#的问题:子进程1等待子进程A、B退出后退出(语言-c语言)