鸿萌数据恢复:NAND 内存协议,SDR 与 DDR 之间的区别

天津鸿萌科贸发展有限公司从事数据安全服务二十余年,致力于为各领域客户提供专业的数据恢复、数据备份解决方案与服务,并针对企业面临的数据安全风险,提供专业的相关数据安全培训。

从事 NAND 数据恢复的人都知道,读取 NAND 需要使用协议。最流行的协议是 Async 和 WL。几乎所有协议都有两个版本:SDR 和 DDR。

什么是 SDR 和 DDR,它们之间有什么区别?

NAND 闪存中 SDR 和 DDR 之间的区别:

SDR(单数据速率)

  • 数据传输方法:
    数据仅在时钟信号(RE)的一个边沿传输,通常是在上升边沿。
  • 数据传输速度:
    SDR 模式下的数据传输速度受到限制,因为每个时钟周期仅传输一次数据。

DDR(双倍数据速率)

  • 数据传输方法:数据在时钟信号 (RE) 的两个边沿(上升沿和下降沿)上传输。这意味着每个时钟周期传输的数据量是原来的两倍。
  • 数据传输速度:
    相同时钟频率下,DDR 模式下的数据传输速度是 SDR 模式的两倍,读写性能更高。

两个设备可能具有相同的 NAND ID,但使用不同的读取模式(SDR 或 DDR)。这种情况可能由于以下几个原因而发生:

  • 内存控制器功能:
    设备中的内存控制器可能具有不同的性能。一个控制器可能仅支持 SDR 模式,而另一个更高级的控制器则同时支持 SDR 和 DDR 模式。这样同一个 NAND 芯片可用于具有不同性能要求的设备中。
  • 设计要求:
    设备的设计要求和预期使用场景可能有所不同。例如,高性能 SSD 可能会使用 DDR 模式来实现更快的数据传输速率,而更简单、更具成本效益的设备可能会使用 SDR 模式来简化和节省成本。

使用场景示例

考虑两种不同的设备:

  • 设备A:一款经济实惠的 USB 闪存驱动器,使用 SDR 模式从 NAND 闪存读取数据。它注重成本效益和与各种系统的兼容性。
  • 设备 B:高性能 SSD,采用 DDR 模式,最大限度地提高数据传输速度,为数据密集型应用程序提供更好的性能。

两种设备可以使用具有相同 NAND ID 的相同 NAND 闪存芯片,但由于各自控制器和固件启用的读取模式不同,它们的整体性能和使用场景会有很大差异。

如何确定何时需要从 SDR 切换到 DDR 或从 DDR 切换到 SDR

答案就在位图中。如果内存使用的是 SDR 模式,但 NAND 数据恢复工具软件中的配置是 DDR,那么打开位图后,我们可以看到一些特征模式。在 HEX 模式下,我们可以检查每个字节是否重复两次。在这种情况下,需要将协议从 DDR 切换到 SDR,例如从 Async DDR 切换到 Async SDR,从 WL DDR 切换到 WL SDR,等等。

接下来检查相反的情况:NAND 使用 DDR 模式,但 NAND 数据恢复工具软件中的配置适用于 SDR 模式。答案也在位图中。需要检查的第一件事是第一个字节。如果在 SDR 模式下读取内存,但内存是在 DDR 模式下使用的,那么第一个字节几乎总是空的。然而,这并不是所有情况的规则。第二个方法:如果内存是在 DDR 模式下使用的,而我们在 SDR 模式下读取它,我们只读取了一半的字节,数据在页面中间结束,而不是在页面末尾附近。在这种情况下,我们需要检查从 SDR 切换到 DDR 模式时它看起来是什么样子,从异步 SDR 切换到异步 DDR 或从 WL SDR 切换到 WL DDR 很重要。除了读取模式 (SDR/DDR) 之外,协议的其余部分必须保持不变。

有时可以找到 NAND 配置,但无法找到 ECC 或 XOR,或者数据库中的解决方案不起作用。如果转储没有坏的列,则检查用于读取内存的协议模式很重要,如上所示。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/149794.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

不可错过的10款文件加密软件,2024最新文件加密软件排行榜

在数字化时代,数据安全变得尤为重要。无论是个人用户还是企业组织,保护敏感文件和数据免受未经授权的访问是至关重要的。文件加密软件通过将文件内容转换为不可读的格式,确保只有授权用户才能解密和访问数据。本文将为您介绍2024年不可错过的…

828华为云征文 | 在华为云上通过Docker容器部署Elasticsearch并进行性能评测

目录 前言 1. 华为云X实例介绍及优势 1.1 柔性算力 1.2 vCPU和内存的灵活配比 1.3 成本效益与性能 2. 安装并运行 Docker 2.1 修改仓库配置文件 2.2 安装 Docker 2.3 启动 Docker 3. 使用Docker部署Elasticsearch 3.1 拉取Elasticsearch镜像 3.2 启动Elasticsearch…

数据结构算法题

目录 轮转数组原地移除数组中所有元素val删除有序数组中的重复项合并两个有序数组 轮转数组 思路1: 1.利用循环将最后一位数据放到临时变量(n)中 2.利用第二层循环将数据往后移一位 3.将变量(n)的数据放到数组第一位 时…

React 启动时webpack版本冲突报错

报错信息: 解决办法: 找到全局webpack的安装路径并cmd 删除全局webpack 安装所需要的版本

SOMEIP_ETS_128: SD_Multicast_FindService_Major_Minor_Version_set_to_all

测试目的: 验证DUT能够对设置了主版本号和次版本号为0xFF的多播FindService请求做出响应,并为每个请求至少回复一个单播OfferService消息。 描述 本测试用例旨在确保DUT能够正确处理多播FindService请求,特别是当请求中的主版本号和次版本…

使用Adobe XD进行制作SVG字体

制作SVG字体的办法有很多&#xff0c;我这里选择了Adobe XD进行制作。 1.选择画布尺寸 2 输入文本 设置字体样式 3 设置画布背景 4 转换字体&#xff08;物件&#xff09;路径 5 设置组 复制SVG代码 6 放入到Html中 <!DOCTYPE html> <html lang"zh">&l…

超级干货,OSPF协议无敌详解

号主&#xff1a;老杨丨11年资深网络工程师&#xff0c;更多网工提升干货&#xff0c;请关注公众号&#xff1a;网络工程师俱乐部 下午好&#xff0c;我的网工朋友。 大家都知道&#xff0c;为了实现高效的数据传输和网络资源利用&#xff0c;路由协议的选择可以说是非常重要的…

面经 | ES6

ES6 ES6set vs weakSetmap vs weakMapPromise创建三个状态 ES6 set vs weakSet 都是集合&#xff0c;只不过weakSet里面只能存引用类型的变量。weakSet相对set的好处就是&#xff0c;可以避免内存泄漏。因为weakSet中的成员&#xff0c;如果在外部消失了&#xff0c;会自动消…

问题:vscode 打印中文时终端输出乱码

文章目录 问题分析解决 问题 在 vscode 编辑器中的终端运行出来的中文是乱码 分析 乱码原因&#xff1a;因windows中文版系统cmd编码默认为GBK&#xff0c;而vscode默认新建文件的编码为UTF-8所以会出现中文乱码情况 解决 终端下输入 chcp 查看当前的cmd编码设置。如图&…

【LeetCode】动态规划—打家劫舍(附完整Python/C++代码)

动态规划—#198. 打家劫舍 前言题目描述基本思路1. 问题定义:2. 理解问题和递推关系:3. 解决方法:4. 进一步优化:5. 小总结: 代码实现Python3代码实现Python 代码解释C代码实现C 代码解释 总结: 前言 在这个问题中&#xff0c;你是一个专业的小偷&#xff0c;计划偷窃沿街的房…

9.2 Linux_标准I/O_相关函数

打开与关闭 文件打开就是判断这个文件资源可不可以被占用&#xff0c;如果可以&#xff0c;就能够打开成功&#xff0c;否则打开失败 文件关闭就是释放文件资源 1、打开文件 1.1 函数声明 FILE *fopen(const char *pathname, const char *mode); 返回值&#xff1a;出错返…

排序算法Java实现

文章目录 排序算法概述比较排序算法非比较排序算法稳定 vs 不稳定Java 中的排序 外部排序1) 冒泡排序2) 选择排序3) 堆排序4) 插入排序5) 希尔排序6) 归并排序递归实现时间复杂度非递归实现 7) 归并插入8) 快速排序随机基准点处理重复值 9) 计数排序10) 桶排序11) 基数排序 排序…

Redmi Note 7 Pro(violet)免授权9008文件分享及刷机教程

获取文件 关注微信公众号 heStudio Community回复 violet_9008 获取下载链接。 刷机教程 下载搞机助手&#xff08;可以从上方文件中获取&#xff09;并安装。手机按音量减键和电源键进入 Fastboot 模式&#xff0c; 打开搞机助手&#xff0c;点击进入 9008 模式 等待手机…

功能强大的项目管理平台通常融合多种方法论,系统化解决项目管理难点

难、质量管理难等难点&#xff0c;使用科学的方法论配合专业的项目管理工具&#xff0c;能够更快更好管理项目&#xff0c;提高项目成功率。 那么项目管理的不同阶段分别会用到哪些关键方法论呢&#xff1f; 例如&#xff1a;启动阶段&#xff0c;会用到SMART目标原则制定合理且…

C# winforms 使用菜单和右键菜单

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 源码指引&#xff1a;github源…

20240924替换电脑微信消息提示音

一.准备工作 1.先关闭电脑微信,退出进程 2.打开资源管理器,找到微信的安装位置,进入微信软件的资源目录,找到"WeChatResource.dll"文件 3.将"WeChatResource.dll"文件复制2份,其中一份复制到桌面(用作等下修改),另一份任意保存起来(用作保存原始文件,防止出…

如何使用MacPorts安装tesseract来进行简单的OCR识别

希望文章能给到你启发和灵感&#xff5e; 如果觉得文章对你有帮助的话&#xff0c;点赞 关注 收藏 支持一下博主吧&#xff5e; 阅读指南 开篇说明一、基础环境说明1.1 硬件环境1.2 软件环境 二、下载MacPorts三、如何使用macPorts安装Tesseract四、 配置并使用Tesseract五、最…

excel 时间戳与日期转换

使用 函数&#xff1a; TEXT((C1/100028800)/8640025569,"yyyy/mm/dd HH:MM:ss.000") 因为咱们的时间戳是从 1970-1-1 08:00:00 开始计算的&#xff0c;所以需要对咱们的列处理&#xff1a; 28800 是代表 1970年1月1号的8点&#xff0c; 8个小时是28800秒&#xff…

python爬虫:从12306网站获取火车站信息

代码逻辑 初始化 (init 方法)&#xff1a; 设置请求头信息。设置车站版本号。 同步车站信息 (synchronization 方法)&#xff1a; 发送GET请求获取车站信息。返回服务器响应的文本。 提取信息 (extract 方法)&#xff1a; 从服务器响应中提取车站信息字符串。去掉字符串末尾的…

OpenCV图像分割(1)图像分割函数grabCut()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 运行 GrabCut 算法。 该函数实现了 GrabCut 图像分割算法 OpenCV 中的 grabCut() 函数是一种用于图像分割的技术&#xff0c;它可以帮助用户从图…