Windows DAX 卷与块卷:存储性能与兼容性的深度解析
1. DAX 卷的启用与特性
DAX(Direct Access)卷在存储性能方面具有显著优势,其启用过程涉及特定的分区标志和系统交互。当目标卷的 GPT 分区条目中设置了特定标志(对应第 58 位),NTFS 驱动在挂载该卷时会识别此标志,并向底层存储驱动发送 STORAGE_QUERY_PROPERTY 控制代码。SCM 总线驱动会识别该 IOCTL,并向文件系统驱动返回另一个标志,表明底层磁盘是 DAX 磁盘。只有 SCM 总线驱动能设置此标志。只要通过注册表值 HKLM\System\CurrentControlSet \Control\FileSystem\NtfsEnableDirectAccess 未禁用 DAX 支持,NTFS 就会启用 DAX 卷支持。
DAX 卷与标准卷的主要区别在于它支持对持久内存的零拷贝访问。通过内存映射文件,应用程序可以直接访问底层硬件磁盘扇区,中间组件不会拦截任何 I/O 操作,从而提供了极高的性能。但这也会对文件系统过滤驱动(包括小型过滤器)产生影响。
当应用程序创建由 DAX 卷上的文件支持的内存映射部分时,内存管理器会询问文件系统是否应以 DAX 模式创建该部分,前提是该卷也已以 DAX 模式格式化。后续通过 MapViewOfFile API 映射文件时,内存管理器会向文件系统请求文件给定范围的物理内存范围。文件系统驱动将请求的文件范围转换为一个或多个卷相对范围(扇区偏移和长度),并要求 PM 磁盘类驱动将卷范围转换为物理内存范围。内存管理器收到物理内存范围后,会更新目标进程的页
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



