Syscache(系统)

此数据验证测试在系统卷上运行。 它向文件写入数据,并验证写入的数据正确读回。 它可以检测由路径中任何内容(包括固件、驱动程序、文件系统、内存等)导致的损坏。它使用标准 Win32 文件系统和内存管理 API 从文件中读取数据以及向文件写入数据。

测试详细信息

   
规范
  • System.Fundamentals.StorageAndBoot.BootPerformance
平台
  • Windows 10,客户端版本 (x86)
  • Windows 10,客户端版本 (x64)
支持的版本
  • Windows 10
  • Windows 10 版本 1511
  • Windows 10 版本 1607
  • Windows 10 版本 1703
  • Windows 10 版本 1709
  • Windows 10 版本 1803
  • Windows 10 版本 1809
  • Windows 10 版本 1903
  • Windows 10 的下一次更新
预计运行时间(以分钟为单位) 15
类别 方案
超时(以分钟为单位) 900
需要重启 false
需要特殊配置 false
类型 automatic

其他文档

此功能区域中的测试可能会有其他文档,包括先决条件、设置和故障排除信息,这些内容可在以下主题中找到:

运行测试

在运行测试之前,请按照如下测试要求中所述完成测试设置:WDTF 系统基础测试先决条件

故障排除

有关 HLK 测试失败的常规故障排除,请参阅排查 Windows HLK 测试失败问题

有关故障排除信息,请参阅排查系统基础功能测试问题

当测试失败时,日志包含分析失败所需的所有信息。 查找以下信息以重现错误:

  • “写入属性”。 查找写入属性表,查明数据写入到文件的方式。

  • “读取属性”。 查找读取属性表,查明从文件读回数据的方式。

  • 发生错误的偏移量。

  • 文件中发生错误的区域。 测试通常通过单个写入操作写入整个区域(使用 FILE_FLAG_SECTOR_CHUNKS 选项时除外,该选项一次写入一个扇区)。

详细信息

Syscache 将打开具有特定标志/属性的文件,并向该文件写入数据。 每个所选标志可能跨文件上的多次运行。

运行定义为以下一组序列:

  • 创建/打开文件。

  • 将文件大小截断为 0。

  • 向文件写入数据。

  • 关闭 文件。

  • 再次打开该文件。

  • 读取文件。

  • 验证文件的内容。

  • 关闭 文件。

文件中有一组零区域和非零区域。 零区域是文件中未写入数据的区域。 非零区域是文件中已写入数据的区域。 此模式是 RRPPPPPP 格式的 DWORD,其中顶部字节是运行编号,接下来的 3 个字节是此 DWORD 在文件中的偏移量的二进制反码。 忽略扇区的第一个 DWORD,因为它可能包含用于测试的数据。

以下属性用于写入文件:

写入属性 说明
FILE_ATTRIBUTE_NORMAL 请参阅 CreateFile 函数
FILE_FLAG_SEQUENTIAL_SCAN 请参阅 CreateFile 函数
FILE_FLAG_NO_BUFFERING 请参阅 CreateFile 函数
FILE_FLAG_WRITE_THROUGH 请参阅 CreateFile 函数
FILE_ATTRIBUTE_TEMPORARY 请参阅 CreateFile 函数
NO_BUFFERING | WRITE_THROUGH 请参阅 CreateFile 函数
FILE_ATTRIBUTE_SPARSE_FILE 文件设置为稀疏。
NORMAL APPEND_WRITE 与 FILE_ATTRIBUTE_NORMAL 相同;每次写入都关闭并重新打开文件,并追加下一个区域。
FILE_FLAG_SECTOR_CHUNKS 与 FILE_FLAG_NO_BUFFERING 相同,数据一次写入到一个扇区。
FILE_MAP 与 FILE_ATTRIBUTE_NORMAL 相同,通过内存映射写入数据。
FILE_FLAG_OVEREXTEND 与 FILE_ATTRIBUTE_NORMAL 相同,通过内存映射写入数据。

以下属性用于从文件读取数据:

写入属性 说明
FILE_MAP FILE_ATTRIBUTE_NORMAL,通过内存映射读取数据
NO_BUFFERING FILE_FLAG_NO_BUFFERING
NORMAL FILE_ATTRIBUTE_NORMAL
RANDOM_ACCESS FILE_FLAG_RANDOM_ACCESS
SEQUENTIAL_SCAN FILE_FLAG_SEQUENTIAL_SCAN
TEMPORARY FILE_FLAG_TEMPORARY
WRITE_THROUGH FILE_FLAG_WRITE_THROUGH

命令语法

命令 说明
readwrit.exe -n 10 -d /logfile Syscache.log 运行测试。

文件列表

文件 位置
readwrit.exe <[testbinroot]>\NTTest\BASETEST\core_file_services\cachemgr\
ntlog.dll <[osbinroot]>\NTTest\CommonTest\NtLog\
ntlogger.ini <[osbinroot]>\NTTest\CommonTest\NtLog\
stresslog.dll <[testbinroot]>\NTTest\basetest\core_file_services\shared_libs

Parameters

参数名称 参数说明
LLU_NetAccessOnly 用于网络访问的 LLU