私たちはWindows 10でNVME
デバイスを管理するアプリケーションを開発しています。私たちは独自のドライバを使ってドライブと話すことはしません。したがって、ほとんどのコマンドを送信するには、 Windowsの10SCSIからNVMEへの翻訳
からSecurity Receive
とSecurity Send
のようなコマンドでは、我々は、SCSIコマンドがホストから送信され、SCSIカーネルスタックによってNVME
コマンドに変換され、その後に送られる翻訳、彼らのサポートを使用していますドライブ。
我々はコマンドがドライブに達しているが、翻訳がSecurity Receive
コマンドの場合、ドライブに正しい名前空間識別子を送信することができないため、SCSIはAccess denied, Invalid LU Identifier
としてセンスデータにエラーを返して見ることができます。
SCSI-NVME変換では、CDBに名前空間識別子フィールドを設定できません。ホスト側から送信するSCSIコマンドにこの名前空間識別子を設定する他の方法はありますか?または、これはドライブに間違ったデータを送信するというドライバのエラーですか?
Microsoftの他のAPI(Storage Query Propertyなど)は、この名前空間IDを単独で設定しているため、ユーザー側から設定する必要はありません。
似たような環境で働いている人があれば、私たちを助けることができます。とても役に立ちます。
もう一度言い換えると、SCSI-NVME変換アプローチを使用してNVMEドライブにコマンドを送信するたびに、名前空間識別子がSCSIコマンドによってどのように設定されるかを知りたいと思います。私が使用しているSCSI-NVME変換仕様は、NameSpace IdentifierがCDBでどのように設定されているかについては言及していません。ネームスペース識別子は、NVMEコマンド構造の重要なフィールドです。 – Ravi
書式と言い回しが改善されました。 – CodeMouse92
次回は気をつけます。 – Ravi