Other SSD NVMe, M.2 and PCIe

Hello guys,

my intention was to install the FreeBSD on a SSD NVMe, M.2 on my PC using the PCIe slot. Enlighted by the tips of Phishfry (and other forums members) I've contacted the technical support of my motherboard asking which SSD NMVe, M.2 it was able to support.

To correctly identify my motherboard, the technical support form asks the motherboard Serial Number field of as it is shown in the BIOS.

The motherboard in question is: ASUS BM1AF.

This is the reply of the Service Centre:

"Regarding your request, we inform you that you can not connect an M.2 SSD to the motherboard's PCIe port, as they are two different technologies.
The M.2 connection is not supported by your card, here is the link where you can check the list of SSDs compatible with your motherboard".


THE QUESTION:

I know that M.2 and PCIe are two different technologies.
However, also if the motherboard has not a dedicated slot for the M.2, should be possible connect a M.2 card to a PCIe slot.

Or not ?
 
Does your motherboard actually have a M.2 socket? That is a very specific socket, not at all identical with a PCIe socket. Look at the Wikipedia page for M.2 to see pictures of cards and sockets. Typically M.2 cards are installed parallel to the motherboard, not perpendicular to it.

If you don't have a M.2 socket, you can buy very inexpensive adapter cards that go into a PCIe slot and have sockets for M.2 cards. I know we used to have one in the lab at my previous work. I think they're pretty cheap because they are nearly completely passive (the M.2 slot is electrically speaking nothing but PCIe wires plus a few power pins). The adapter might have a PCIe bridge chip, but those are boring, cheap and small.
 
If you don't have a M.2 socket, you can buy very inexpensive adapter cards that go into a PCIe slot and have sockets for M.2 cards. I know we used to have one in the lab at my previous work. I think they're pretty cheap because they are nearly completely passive (the M.2 slot is electrically speaking nothing but PCIe wires plus a few power pins). The adapter might have a PCIe bridge chip, but those are boring, cheap and small.

Surely I'm not be clear. My apologize.
The solution you've described above, making use of the passive adapter card, is that I would to use.

What is not clear for me is the sentence of the ASUS Service Centre:

you can not connect an M.2 SSD to the motherboard's PCIe port, as they are two different technologies

The cost of the M.2 SSD and the PCIe adapter, choosen by me, is more than 300 Euro ... and it would be a problem if the M.2 SSD doesn't work on my motherboard.
 
Most manufacturers use blue slot to indicate PCIe3.0
Your board appears to have that. So the NVMe will work.
The only question is can your boot from it. A better question to manufacturer would be 'will my board boot from a PCIe NVMe'.
How about you post your motherboards model number so I can have a look.
The PCIe "Paddle Card" for M.2 NVMe is straight passthrough. No electronics at all. x4 PCIe to x4 PCIe.
So, to the BIOS, it would essentially look the same as a OCZ PCIe NVMe card (if they exist).
I believe the nomenclature is OptionROM. You motherboards OptionROM has to support NVMe for booting.

$345US for the XG3 512GB NVMe sounds high. Please consider all models out there.
These things are pretty standard and I am not sure of the wisdom for buying a 2016 module for so much.

What do I know, I pretty much waste my whole paycheck on computers.
When I make a wrong purchase I simply toss a part on a shelf for later. Other people might not be so flexible.
Software advice is so much easier...
 
Hello Phishfry,

How about you post your motherboards model number so I can have a look.
what do you mean with motherboard model number ? the serial number as it is shown in the firtst page of the BIOS ?

Of corse, I've not problem.

I filled the S/N field in the ASUS Assistance Request Form with the number appearing in the BIOS (firs page):

Product S/N : E8PFCG000D59

and the online ASUS automatic recognition system has detect the following informations:

Product Type : Desktop PC
Product Model : BM1AF

That's all I know.

will my board boot from a PCIe NVMe
I'll post another question to the service with the question above

Thanks very much for your time.

Bye !
 
The last news:

I contacted by phone the ASUS Technical Service Centre, asking if the mainboard can boot from a PCIe an NVME M.2 SSD.
The reply has been: connecting a NVMe M.2 SSD to the PCIe 3.0 slot the motherboard doesn't support this type of data transfer.

The Technical Support has send me the SSD list supported by this motherboard, as shown at the following link:
http://dlcdnet.asus.com/pub/ASUS/mb...029.899580742.1526288089-881080759.1508743542

Is it better investigate if it's the truth ?


See you.
 
Hello Phishfry,
what do you mean with motherboard model number ? the serial number as it is shown in the firtst page of the BIOS ?

Of corse, I've not problem.

I filled the S/N field in the ASUS Assistance Request Form with the number appearing in the BIOS (firs page):

Product S/N : E8PFCG000D59

and the online ASUS automatic recognition system has detect the following informations:

Product Type : Desktop PC
Product Model : BM1AF

That's all I know.


I'll post another question to the service with the question above

Thanks very much for your time.

Bye !

dmesg |head ? CPU info is right there and would help better than any of those numbers.

Not to be rude but this task may be beyond your capabilities. I would rate it medium too hard.
I assume everyone has 30 years experience when I dole out hardware advice. My bad.
 
dmesg |head ? CPU info is right there and would help better than any of those numbers.

dmesg | head -30, dmesg | grep -i pci follows (however the whole dmesg is attached).

You are not rude, and it's not your bad. I'm so sorry, but I've not 30 years experience.
I trust in your experience.

It's not easy know the meaning of all the parameters shown in the dmesg.
For the Features I've found this link on the forums (CPU Features flags means in "dmesg").

Thanks very much.


dmesg | head -30
Code:
Copyright (c) 1992-2017 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
    The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 11.1-RELEASE #0 r321309: Fri Jul 21 02:08:28 UTC 2017
    root@releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64
FreeBSD clang version 4.0.0 (tags/RELEASE_400/final 297347) (based on LLVM 4.0.0)
VT(efifb): resolution 1280x1024
CPU: Intel(R) Core(TM) i3-4150 CPU @ 3.50GHz (3491.99-MHz K8-class CPU)
  Origin="GenuineIntel"  Id=0x306c3  Family=0x6  Model=0x3c  Stepping=3
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x7fdafbbf<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,SDBG,FMA,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,MOVBE,POPCNT,TSCDLT,AESNI,XSAVE,OSXSAVE,AVX,F16C,RDRAND>
  AMD Features=0x2c100800<SYSCALL,NX,Page1GB,RDTSCP,LM>
  AMD Features2=0x21<LAHF,ABM>
  Structured Extended Features=0x27ab<FSGSBASE,TSCADJ,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,NFPUSG>
  XSAVE Features=0x1<XSAVEOPT>
  VT-x: PAT,HLT,MTF,PAUSE,EPT,UG,VPID
  TSC: P-state invariant, performance statistics
real memory  = 8589934592 (8192 MB)
avail memory = 8140005376 (7762 MB)
Event timer "LAPIC" quality 600
ACPI APIC Table: <ALASKA A M I>
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
FreeBSD/SMP: 1 package(s) x 2 core(s) x 2 hardware threads
random: unblocking device.
ioapic0 <Version 2.0> irqs 0-23 on motherboard
SMP: AP CPU #1 Launched!
SMP: AP CPU #2 Launched!
SMP: AP CPU #3 Launched!
Timecounter "TSC-low" frequency 1745993892 Hz quality 1000

dmesg | grep -i pci
Code:
Features2=0x7fdafbbf<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,SDBG,FMA,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,MOVBE,POPCNT,TSCDLT,AESNI,XSAVE,OSXSAVE,AVX,F16C,RDRAND>

  Structured Extended Features=0x27ab<FSGSBASE,TSCADJ,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,NFPUSG>

pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0

pcib0: _OSC returned error 0x10

pci0: <ACPI PCI bus> on pcib0

pcib1: <ACPI PCI-PCI bridge> irq 16 at device 1.0 on pci0

pci1: <ACPI PCI bus> on pcib1

vgapci0: <VGA-compatible display> port 0xf000-0xf03f mem 0xf7800000-0xf7bfffff,0xe0000000-0xefffffff irq 16 at device 2.0 on pci0

vgapci0: Boot video device

hdac0: <Intel Haswell HDA Controller> mem 0xf7e34000-0xf7e37fff irq 16 at device 3.0 on pci0

xhci0: <Intel Lynx Point USB 3.0 controller> mem 0xf7e20000-0xf7e2ffff irq 21 at device 20.0 on pci0

pci0: <simple comms> at device 22.0 (no driver attached)

em0: <Intel(R) PRO/1000 Network Connection 7.6.1-k> port 0xf080-0xf09f mem 0xf7e00000-0xf7e1ffff,0xf7e3d000-0xf7e3dfff irq 20 at device 25.0 on pci0

ehci0: <Intel Lynx Point USB 2.0 controller USB-B> mem 0xf7e3c000-0xf7e3c3ff irq 20 at device 26.0 on pci0

hdac1: <Intel Lynx Point HDA Controller> mem 0xf7e30000-0xf7e33fff irq 22 at device 27.0 on pci0

pcib2: <ACPI PCI-PCI bridge> irq 16 at device 28.0 on pci0

pci2: <ACPI PCI bus> on pcib2

ahci0: <ASMedia ASM1062 AHCI SATA controller> port 0xe050-0xe057,0xe040-0xe043,0xe030-0xe037,0xe020-0xe023,0xe000-0xe01f mem 0xf7d10000-0xf7d101ff irq 16 at device 0.0 on pci2

pcib3: <ACPI PCI-PCI bridge> irq 19 at device 28.3 on pci0

pci3: <ACPI PCI bus> on pcib3

pcib4: <ACPI PCI-PCI bridge> irq 19 at device 0.0 on pci3

pci4: <ACPI PCI bus> on pcib4

ath0: <Atheros 5416> mem 0xf7c00000-0xf7c0ffff irq 19 at device 0.0 on pci4

ehci1: <Intel Lynx Point USB 2.0 controller USB-A> mem 0xf7e3b000-0xf7e3b3ff irq 23 at device 29.0 on pci0

isab0: <PCI-ISA bridge> at device 31.0 on pci0

ahci1: <Intel Lynx Point AHCI SATA controller> port 0xf0d0-0xf0d7,0xf0c0-0xf0c3,0xf0b0-0xf0b7,0xf0a0-0xf0a3,0xf060-0xf07f mem 0xf7e3a000-0xf7e3a7ff irq 19 at device 31.2 on pci0

_________________________________________________________________________________
 

Attachments

  • dmesg.txt
    12 KB · Views: 310
dmesg | head -30, dmesg | grep -i pci follows (however the whole dmesg is attached)

CPU: Intel(R) Core(TM) i3-4150 CPU @ 3.50GHz (3491.99-MHz K8-class CPU)
So this is showing your CPU. Your CPU is from the Haswell microarchitecture.
https://ark.intel.com/products/77486/Intel-Core-i3-4150-Processor-3M-Cache-3_50-GHz

So your have a Haswell chipset motherboard. That chipset was the first to support NVMe booting.
Not sure that your motherboard supports it though.
 
It would be much easier just to open the computer and check the motherboard model. Then to go on the manufacture web site and see the specification. IF you don't have physical access to the computer then you can use dmidecode to check the System Information and optain the model number from there.

ps.
dmidecode is available from /usr/ports/sysutils/dmidecode/
 
Can we revisit the original reason you wanted NVMe. You wanted to write images really quickly to hard drives.
We mentioned that the single disk being imaged is the bottleneck.
You were mentioning you wanted to image batches of drives and I recommended that with a fast disk you could stagger write to many devices at once.

Well lets step back some and scope this out.
My typical embedded images are around 180 megabytes with NanoBSD up to Crochet images size of 1500 megabytes.
Your FreeBSD image should be so small that it would only take minimal time from just a regular SATA3 SSD.
Lets say you include a full desktop with applications pre-installed. I can't imagine needing more than 10 Gigabytes.
What else are you writing to the disks?
So 10 Gig image written out on a 550/megabytes/sec drive interface=~20 seconds
That sounds a little quick so lets say one minuite. You couldn't swap hard drives into docks that fast.

So back to the task. How many disks are you really planning on writing to. 60 drives an hour x 8 hours.
So your writing ~480 disks a day? That sounds like alot without needing an NVMe.
Maybe you should start with the docks/drive bays and figure out your bottlenecks first.

A speedy SSD disk array could serve you well. You are writing out small images so your disk array size could be small.
Plus there is zero chance they won't work.
 
It would be much easier just to open the computer and check the motherboard model.
That was my thought too. When you had the case open you should have taken a flashlight and see if you can find the Motherboard model. It will be silkscreened on the motherboard.
Dear friends,

I'm agree with you ... opening the case and taking a photo of the model name silkscreened on the motherboard has been the first thing I made.
But the model name there silkscreened was not correspondent with the true.

Has been necessary to contact the ASUS technical service to retrive information on the right model.

However, thanks very much for your time and your appreciated help.
 
Can we revisit the original reason you wanted NVMe. You wanted to write images really quickly to hard drives.
We mentioned that the single disk being imaged is the bottleneck.
You were mentioning you wanted to image batches of drives and I recommended that with a fast disk you could stagger write to many devices at once.
Ok ... ok .... ok .... Very good.

Well lets step back some and scope this out.
My typical embedded images are around 180 megabytes with NanoBSD up to Crochet images size of 1500 megabytes.
Your FreeBSD image should be so small that it would only take minimal time from just a regular SATA3 SSD.
Lets say you include a full desktop with applications pre-installed. I can't imagine needing more than 10 Gigabytes.
What else are you writing to the disks?
No !!!
Have you ever heard of forensic images ?
What I have to do is the forensic image of hard drives and usb sticks.
These devices are delivered by the State Police to me, and the forensic image is necessary to have a copy to work on, preserving all the original data, especially the timestamps. The original data are to be successively extracted by the imaged drive and stored on another hard disk (the hard disk of the retrieved data).

Generally the hard drives are 500GB or 1TB and can be SATA (internal) or USB (external). Rarely the old IDE format.
USB sticks are not a problem because at most they are 8/16 GB.

Now. A commercial PC takes 5/6 hours to image a 1 TB hard disk to another of he same size (moreover, the copy time depends on how full it is with data).

I would like to reduce this copy time and, how you rightly suggested, copy more hard drives at the same time.

Maybe the work I need to do is now more clear.

Have you a nice afternoon.

I hope to hear you soon.

Bye bye !
 
Yes. In that case writes are very important. But still limited to the drives you are imaging read speeds.
I imagine that would be slow . Are you imaging the raw disk or only the data component?

Well since this is a commercial endeavor I think you should throw some hardware at the problem.

Many insertion cycles on any dock/drive bays is my concern. Those little plastic parts are not made for that.
So I would buy some spare dock/drive bay once I found one I liked.
 
I might be able to help you with the NVMe. I can buy one and test for you and send it to you. I have a spare NVMe to PCIe adapter so I just need to buy a drive. If it don't work in your computer just send it back. XG3 is too old. Samsung too expensive.
 
Oh my god!
I would not take so much advantage ... I live in Italy.

I'll try to find one here ... I saw that there are some sample used at low cost in some online local market ... and I can do a test ... if it works I will buy a new brand one.

In any case thanks very much for your kindly friendship.

I've much appreciate your technical tips.

I'll give you informations about the test I'll do.

My name is Vincenzo.

Have you a great day !

Bye bye !!
 
Forensics... so what you need is a lot of read speed and a big honking storage rig to keep the images. Then a drive bay matrix to hand out the images to the analysers on new discs. Please consider using some checksumming on the evidence to keep your behind at a wall in case something was changed, so your logs show the me sha256 for the disc handed in and the image handed out.

Just my 2c here...
 
Please consider using some checksumming on the evidence to keep your behind at a wall in case something was changed, so your logs show the me sha256 for the disc handed in and the image handed out.

Just my 2c here...

Hello Cri !
It's exactly what I do ... for any evidence I use md5, sha256 and sha512 (if necessary): before imaging I do this check on the drive, then I do the same on the image. If nothing has changed the image can be considered forensic.

:);)

Bye !
 
So now it is a lot clearer what you need. And one thing you should think about is checksumming the original twice and see if it matches up.
 
Might not hurt to poke around the professional trade groups associated with Computer Forensics and see if they have some official certification program for the hardware side.

That way somebody starts challenging the validity of your methods in court then you would have some sort of guidelines you can point back to.
 
I happen to own a bm1af and I'm using nvme now.

1. Yes, you can buy one m.2 to PCI-e x4 converter to use nvme drive.

2. Although BM1AF has 2 PCI-e x16, but only one will run at PCI-e 3.0.
If you have discrete graphic card, your nvme may not run at full speed.

3. BM1AF EFI BIOS does not have NVME driver, it will not boot from NVME automatically.
This BIOS could not be modified without ROM writer.
Clover loader hangs at scanning drives and I do not intend to debug.

So either you get an old model nvme which has legacy bootable option rom and boot in cs mode, or you will need to boot from another drive.

I myself put efi partition and Linux /boot on HGST SATA drive and use nvme as root partiton.
 
I happen to own a bm1af and I'm using nvme now.

1. Yes, you can buy one m.2 to PCI-e x4 converter to use nvme drive.

2. Although BM1AF has 2 PCI-e x16, but only one will run at PCI-e 3.0.
If you have discrete graphic card, your nvme may not run at full speed.

3. BM1AF EFI BIOS does not have NVME driver, it will not boot from NVME automatically.
This BIOS could not be modified without ROM writer.
Clover loader hangs at scanning drives and I do not intend to debug.

So either you get an old model nvme which has legacy bootable option rom and boot in cs mode, or you will need to boot from another drive.

I myself put efi partition and Linux /boot on HGST SATA drive and use nvme as root partiton.


Hello priv,

it's very interesting what you wrote ....
I'm busy now but I'll read with particular attention your message and I'll reply for possible other clarifications.

The other way is to buy a microsistem motherboard and solve the problem in an efficient way.

Thanks very much for your assistance.
 
Back
Top