NVME-COMPARE(1) راهنمای NVMe NVME-COMPARE(1)

nvme-compare - ارسال یک دستور مقایسه NVMe و ارائه نتایج

nvme-compare <device> [--start-block=<slba> | -s <slba>]
                        [--block-count=<nlb> | -c <nlb>]
                        [--block-size=<size> | -b <size>]
                        [--data-size=<size> | -z <size>]
                        [--metadata-size=<metasize> | -y <metasize>]
                        [--ref-tag=<reftag> | -r <reftag>]
                        [--data=<data-file> | -d <data-file>]
                        [--metadata=<meta> | -M <meta>]
                        [--prinfo=<prinfo> | -p <prinfo>]
                        [--app-tag-mask=<appmask> | -m <appmask>]
                        [--app-tag=<apptag> | -a <apptag>]
                        [--limited-retry | -l]
                        [--force-unit-access | -f]
                        [--dir-type=<type> | -T <type>]
                        [--dir-spec=<spec> | -S <spec>]
                        [--dsm=<dsm> | -D <dsm>]
                        [--show-command | -V]
                        [--dry-run | -w]
                        [--latency | -t]
                        [--storage-tag<storage-tag> | -g <storage-tag>]
                        [--storage-tag-check | -C]
                        [--force]
                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
                        [--timeout=<timeout>]

دستور Compare بلوک‌های منطقی مشخص‌شده توسط دستور را از رسانه می‌خواند و داده‌های خوانده‌شده را با بافر داده‌های مقایسه‌ای که به‌عنوان بخشی از دستور منتقل شده است، مقایسه می‌کند. اگر داده‌های خوانده‌شده از کنترلر و بافر داده‌های مقایسه‌ای یکسان بوده و هیچ عدم تطابقی وجود نداشته باشد، دستور با موفقیت به پایان می‌رسد. در صورت وجود هرگونه عدم تطابق، دستور با خطای Compare Failure به پایان می‌رسد. اگر متاداده ارائه شده باشد، مقایسه برای متاداده نیز انجام می‌شود.

-s <slba>, --start-block=<slba>

آدرس ۶۴-بیتی اولین بلوک جهت دسترسی.

-c <nlb>, --block-count=<nlb>

تعداد بلوک‌های مورد دسترسی (مبتنی بر صفر).

-b <size>, --block-size=<size>

در صورت تعیین، اندازه بلوک منطقی به بایت، که در آن metasize نیز اندازه متاداده را برای یک بلوک منفرد مشخص می‌کند. در غیر این صورت توسط identify namespace شناسایی می‌شود.

-z <size>, --data-size=<size>

اندازه داده‌های مورد مقایسه به بایت.

-y <metasize>, --metadata-size=<metasize>

اندازه متاداده جهت انتقال به بایت.

-r <reftag>, --ref-tag=<reftag>

برچسب مرجع (Reference Tag) برای اطلاعات حفاظت (Protection Information).

-d <data-file>, --data=<data-file>

فایل داده.

-M <meta>, --metadata=<meta>

فایل متاداده.

-p <prinfo>, --prinfo=<prinfo>

اطلاعات حفاظت و فیلد بررسی.
بیت توضیحات
3 PRACT: اقدام اطلاعات حفاظت (Protection Information Action). هنگامی که روی ۱ تنظیم شود، اگر اندازه متاداده قالب بلوک برابر ۸ باشد، PI هنگام خواندن/نوشتن حذف/درج می‌شود. هنگامی که روی ۰ تنظیم شود، متاداده عبور داده می‌شود.
2:0 PRCHK: بررسی اطلاعات حفاظت (Protection Information Check):
2 تنظیم روی ۱ بررسی برچسب محافظ (guard tag) را فعال می‌کند
1 تنظیم روی ۱ بررسی برچسب برنامه (application tag) را فعال می‌کند
0 تنظیم روی ۱ بررسی برچسب مرجع (reference tag) را فعال می‌کند

-m <appmask>, --app-tag-mask=<appmask>

ماسک برچسب برنامه (App Tag Mask) برای اطلاعات حفاظت.

-a <apptag>, --app-tag=<apptag>

برچسب برنامه (App Tag) برای اطلاعات حفاظت.

-l, --limited-retry

تعداد تلاش‌های محدود به رسانه.

-f, --force-unit-access

گزینه FUA جهت اطمینان از ذخیره قطعی داده‌ها در رسانه.

-T <type>, --dir-type=<type>

نوع رهنمود (directive type) اختیاری. ابزار nvme-cli فقط الزام می‌کند که مقدار در محدوده تعریف‌شده برای نوع directive باشد، هرچند مشخصات NVMe (نسخه 1.3a) تنها یک directive یعنی 01h را برای شناسه‌های جریان نوشتن تعریف می‌کند.

-S <spec>, --dir-spec=<spec>

فیلد اختیاری برای مشخصات رهنمود (directive specifics). در صورت استفاده با جریان‌های نوشتن، این مقدار به‌عنوان شناسه جریان نوشتن تعریف می‌شود. ابزار nvme-cli بررسی نمی‌کند که آیا جریان درخواستی در محدوده قابلیت‌های کنترلر است یا خیر.

-D <dsm>, --dsm=<dsm>

ویژگی‌های اختیاری مدیریت مجموعه‌داده (data set management) برای این دستور. آرگومان ورودی، ۸ بیت کم‌ارزش‌تر فیلد DSM در دستور نوشتن است؛ ۱۶ بیت باارزش‌تر این فیلد (در صورت استفاده) از فیلد directive specific تأمین می‌شود. این گزینه می‌تواند برای تنظیم ویژگی‌های LBAهای در حال نوشتن مانند بسامد دسترسی، نوع، تأخیر و سایر موارد و همچنین انواع دیگری که در آینده تعریف می‌شوند استفاده شود. لطفاً برای مشاهده جزئیات نحوه استفاده از این فیلد به مشخصات NVMe مراجعه کنید.

-V, --show-cmd

چاپ دستوری که قرار است ارسال شود.

-w, --dry-run

دستور را در عمل ارسال نمی‌کند. در صورت تمایل به استفاده از گزینه --dry-run، گزینه --show-cmd باید تنظیم شده باشد. در غیر این صورت گزینه --dry-run نادیده گرفته خواهد شد.

-t, --latency

چاپ میزان تأخیر اجرای فراخوانی IOCTL (بر حسب میکروثانیه).

-g <storage-tag>, --storage-tag=<storage-tag>

برچسب ذخیره‌سازی بلوک منطقی مورد انتظار با اندازه متغیر (ELBST).

-C, --storage-tag-check

این فلگ بررسی فیلد برچسب ذخیره‌سازی را به‌عنوان بخشی از پردازش حفاظت سراسری داده‌ها فعال می‌کند.

--force

مشغول بودن فضای‌نام در حال حاضر را نادیده گرفته و در هر صورت عملیات را انجام می‌دهد.

-o <fmt>, --output-format=<fmt>

تنظیم قالب گزارش به normal، json یا binary. در هر لحظه تنها یک قالب خروجی قابل استفاده است.

-v, --verbose

افزایش جزئیات اطلاعات در خروجی.

--timeout=<timeout>

بازنویسی مقدار مهلت زمانی پیش‌فرض (بر حسب میلی‌ثانیه).

هنوز مثالی وجود ندارد.

بخشی از مجموعه nvme-user

nvme(1)

02/16/2026 NVMe