Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 更改块的ECC代码_C++_C - Fatal编程技术网

C++ 更改块的ECC代码

C++ 更改块的ECC代码,c++,c,C++,C,我可以通过任何方式更改存储在闪存驱动器上的文件块的ECC代码吗? 存储在硬盘上的文件(尽管我认为两者之间没有区别) 也许,通过一些硬件中断或类似的事情 我还需要C/C++中的解决方案。NAND闪存驱动器由许多数据页和闪存控制器组成。NAND闪存上的ECC代码由闪存控制器使用。控制器使用它来确定关联的数据页是否有任何错误。文件系统(如fat32、NTFS或ext3)通常在原始数据页结构的顶部实现。一个文件可以分布在一个或多个flash页面上。请注意,每个闪存页都有一个错误代码,这意味着大于一个数据

我可以通过任何方式更改存储在闪存驱动器上的文件块的ECC代码吗? 存储在硬盘上的文件(尽管我认为两者之间没有区别)

也许,通过一些硬件中断或类似的事情


我还需要C/C++中的解决方案。

NAND闪存驱动器由许多数据页和闪存控制器组成。NAND闪存上的ECC代码由闪存控制器使用。控制器使用它来确定关联的数据页是否有任何错误。文件系统(如fat32、NTFS或ext3)通常在原始数据页结构的顶部实现。一个文件可以分布在一个或多个flash页面上。请注意,每个闪存页都有一个错误代码,这意味着大于一个数据页的文件将在其使用的每个页面上都有一个错误代码。硬盘驱动器由一个或多个盘片、读取和写入盘片上数据的磁头以及磁盘控制器组成。每个盘片都分为多个扇区。硬盘驱动器也有错误代码来检查盘片上扇区的完整性。同样,文件系统通常是在原始磁盘扇区的顶部实现的。如果文件比扇区大,则会有多个与文件关联的扇区,每个扇区都有自己的错误代码。要访问数据页或扇区错误代码,您需要直接与闪存或硬潜水控制器接口。这将需要与设备的设备驱动程序接口。您需要阅读设备驱动程序的文档,以了解它提供了哪些功能来允许您访问错误代码。在这两种情况下,除非文件只占用一个数据页或扇区,否则它将有多个与之关联的错误代码。有些文件系统会为文件创建错误代码,不管文件的长度如何,但访问文件系统级错误代码通常不需要硬件访问。

如果有人仍然不清楚,我将以闪存驱动器中的ECC代码为例