【NVMe2.0d 17 - 1】Reservation 介绍

NVMExpressreservations允许主机协调对共享命名空间的访问,防止数据破坏。Reservation通过限制主机访问权限,确保多主机环境中的数据一致性。SetFeatures命令用于设置ReservationNotificationMask和ReservationPersistence,控制通知屏蔽和断电后预订状态的持久性。

关键词

Reservation: Reservation
Host:主机
Namespace:命名空间
NVM Subsystem: NVM子系统
Mask: 屏蔽

概述

NVM Express reservations提供的capabilities可由两个或更多的主机利用,以协调对共享命名空间的访问。对这些功能的不正确应用可能会破坏数据和/或损害系统的运行

对一个命名空间的 reservations限制了主机对该命名空间的访问。如果主机在有 reservations 的情况下向命名空间提交命令,并且缺乏足够的权限,那么该命令会被控制器中止,状态码为 Reservation Conflict。如果主机在存在对受该命令影响的任何命名空间的 reservations 的情况下提交NSID设置为FFFFFFFh的命令,并且该主机在所有受影响的命名空间上缺乏足够的权限,那么该命令会被控制器中止,状态码为 Reservation Conflict。提供的capabilities允许从失败或不合作的主机持有的命名空间上的 reservations中恢复。

Example Multi-Host System

Example Multi-Host System

reservation需要在主机和命名空间之间建立关联。如Figure 471所示,多路径I/O和命名空间共享环境中的每个控制器正好与一个主机相关联,有可能构建两个或更多的主机共享一个控制器的系统

一个主机可以与多个控制器相关联。在Figure 471中,主机A与两个控制器相关,而主机B和C分别与一个控制器相关。在执行任何与reservation有关的操作之前,主机使用Set Features命令与该主机所关联的每个控制器注册一个Host Identifier。Host Identifier允许NVM子系统识别与同一主机相关联的控制器,并在这些控制器之间保留reservation属性(即,无论与该主机相关的哪个控制器处理该命令,主机发出的命令都具有相同的reservation 权限)。

组成一个NVM子系统的控制器应该对reservation有同样的支持。尽管强烈鼓励,但组成NVM子系统的命名空间并不要求对reservation有同样的支持。例如,单个控制器中的一些命名空间可能支持reservation,而其他命名空间不支持,或者支持的reservation类型在命名空间中可能不同。如果一个控制器支持reservation,那么该控制器应:

  • 在 Identify Controller data structure中的Optional NVM Command Support (ONCS)字段的bit 5返回 "1 "来表明对reservations的支持。
  • 支持Reservation Report命令、Reservation Register命令、Reservation Acquire命令和 Reservation Release命令。
  • 支持 Reservation Notification log page。
  • 支持 Reservation Log Page Available asynchronous events。
  • 支持 Reservation Notification Mask Feature。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值