标签: dma

当发生磁盘读或磁盘写时,数据去哪儿了?

我知道有一个磁盘控制器这样的东西,它包含一个缓冲区,但想知道 CPU 是否直接从这个缓冲区读取,或者数据是否必须首先转到内存中的特定位置,然后允许自己读取由 CPU ?

有谁也知道缓冲区叫什么?DMA 如何适应这一切?

hard-drive filesystems io disk-controller dma

11
推荐指数
1
解决办法
3868
查看次数

SSD 中的少数 UDMA_CRC_Error_Count 错误是问题吗?

一些 SMART 统计数据:

Device Model:     Samsung SSD 850 EVO 500GB
Firmware Version: EMT01B6Q
  9 Power_On_Hours          0x0032   099   099   000    Old_age   Always       -       252
 12 Power_Cycle_Count       0x0032   099   099   000    Old_age   Always       -       75
199 UDMA_CRC_Error_Count    0x003e   099   099   000    Old_age   Always       -       3
241 Total_LBAs_Written      0x0032   099   099   000    Old_age   Always       -       543780004
Run Code Online (Sandbox Code Playgroud)

主机是Thinkpad T420。是UDMA_CRC_Error_Count = 3在这个时候出了问题?

有没有其他人在使用这种组合并看到类似的行为?

这到底是什么意思?

ssd smart dma

9
推荐指数
1
解决办法
5174
查看次数

检测到不允许的 DMA 总线/设备

我的问题是如何找出笔记本电脑上的哪个设备具有不允许的 DMA 功能。我尝试禁用 USB 设备并将笔记本电脑从扩展坞上拔下。我的同事有相同的笔记本电脑型号,但他没有遇到与我相同的问题。

系统信息

OS Name Microsoft Windows 10 Enterprise
Version 10.0.16299 Build 16299
Other OS Description Not Available
OS Manufacturer Microsoft Corporation
System Name NB-SOKRE
System Manufacturer LENOVO
System Model 20L7S02M00
System Type x64-based PC
System SKU LENOVO_MT_20L7_BU_Think_FM_ThinkPad T480s
Processor Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz, 2112 Mhz, 4 Core(s), 8 Logical Processor(s)
BIOS Version/Date LENOVO N22ET37W (1.14 ), 22.5.2018.
SMBIOS Version 3.0
Embedded Controller Version 1.08
BIOS Mode UEFI
BaseBoard Manufacturer LENOVO
BaseBoard Model Not Available …
Run Code Online (Sandbox Code Playgroud)

dma windows-10

8
推荐指数
3
解决办法
4万
查看次数

虚拟内存和MMU:什么时候使用,什么时候不使用?

我想知道当需要在地址空间中维护一些“固定”地址时,如何将虚拟内存系统与 MMU 一起管理。

例如,当机器启动时,CPU 开始从固定地址(映射到某种 ROM)读取第一条指令,然后为外围设备提供地址(如果使用内存映射 I/O 系统),然后然后操作系统被引导。我还知道中断例程和此类内容需要位于内存中的“固定”位置,并且这些内容由操作系统加载。

我可能认为MMU在这样的过程中被禁用,然后在操作系统加载后启用它。

我可能认为上面的进程使用系统地址空间,并且系统地址空间没有虚拟化,尽管用户地址空间实际上是虚拟化的。

这将导致物理地址池保持不变,以便访问 I/O 外设、中断例程等,以及由 MMU 管理的虚拟用户空间,进程可以在其中详细说明它们需要详细说明的所有数据,要求操作系统访问 I/O 外设。

但我不确定这些事情。那么我问你,MMU什么时候才真正启用呢?它处理所有地址,还是只处理用户空间的地址?即使系统正在运行,某些地址是否也可以绕过 MMU,以访问固定的内存位置?或者我错过了一些重要的线索?

memory cpu dma

4
推荐指数
1
解决办法
1946
查看次数

标签 统计

dma ×4

cpu ×1

disk-controller ×1

filesystems ×1

hard-drive ×1

io ×1

memory ×1

smart ×1

ssd ×1

windows-10 ×1