我是否可以使用微控制器将 SATA 存储设备放入 RAM 插槽,或者某些 BIOS 配置是否会阻止这种情况。
我知道这根本没用,但这可能是一个有趣的项目。
答案1
系统不会认出将设备作为 SATA 设备。它是专门连接到内存控制器的 RAM 插槽,而不是通用 PCIe 插槽 - 它只能处理 RAM(或假装与 RAM 完全相同的东西)。
这与您无法将 SATA 磁盘连接到 VGA 端口、PS/2 键盘端口甚至 USB 端口并使其以某种方式显示为 SATA 设备的原因相同。
(尽管那些可能由于 VGA 端口具有 I2C,因此在一定程度上是可能的,但这仍然需要不仅定制微控制器,还需要 PC 端的定制驱动程序)
通用可编程微控制器可能不够快,无法处理 DDR4。
我最近读到有人以这种方式为 8088(一个 44 年前的 CPU)创建自己的 RAM,而且它的速度刚刚够快。(但我希望我没有混淆两个不同的项目。)
拥有一个假装成 RAM 的 SATA 设备绝对会降低性能。您已经可以通过在操作系统中的 SSD 上设置交换文件(页面文件)来实现这一点,并且它仅用于卸载不适合 RAM 的较少使用的页面是有原因的;即使是新的 NVMe SSD 仍然比 RAM 慢得多。(更昂贵的 SSD 实际上使用内部 DRAM 缓存来提高工作速度。)
确实存在商业非易失性内存模块通过 DRAM 接口提供持久存储的产品 - 并且它们具有来自系统和操作系统的特殊处理 - 但它们大多仅在企业服务器上发现。