Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

FilterJoe

macrumors member
Original poster
Apr 10, 2023
37
28
As is frequently discussed on this Mac Accessories forum:

You can purchase a TB3 NVMe M.2 external enclosure from Orico or Acasis. You can insert an M.2 SSD drive into it (typically a Samsung Pro or Western Digitals WD_Black model) and get speeds that are approximately as fast as Thunderbolt can handle, which is just shy of 3000 MB/s read and write.

That is really, really fast.

Most recommended NVMe SSD models include DRAM. One of the least expensive high performance models does not have DRAM: WD_Black SN770. In addition to costing less, an advantage of being without DRAM like the SN770 is that it consumes less power and therefore runs a little cooler.

The reason many NVMe SSDs have built in DRAM is mostly to track where each logical block address is physically stored on the NAND flash, as explained in detail in this portion of an Anandtech article. The same article goes on to explain how the Host Memory Buffer (HMB) feature takes advantage of the DMA capabilities of PCI Express to allow SSDs to use some of the DRAM attached to the CPU, instead of requiring the SSD to bring its own DRAM. NVMe SSDs that don't have DRAM pretty much all support HMB, and this includes the SN770.

HMB also requires support from the OS. After lots of googling, I am certain that both Windows 11 and Linux support HMB. I have not been able to find a definitive, reputable answer as to whether Mac OS supports HMB (just a few speculations by random comments on the Internet that Mac OS does not support HMB). I don't even know how much this matters.

I purchased a 1GB WD_Black SN770 and it consistently benchmarks 2700-2800 MB/s both read and write using Blackmagic when used with my Mac Mini M2 Pro. While these numbers are similar to the other, more expensive models, this is a synthetic benchmark. I would imagine that in real-life use, lack of NAND would hurt performance if Mac OS does not support HMB.

Does anyone know if Mac OS supports HMB? If Mac OS does support HMB over the Thunderbolt bus, would the external SSD using HMB be comparable in speed to an SSD with DRAM, given the very fast memory bus on M2 Pro macs?

If Mac OS does not support HMB, what is the likely performance hit to SN770, and in which kind of use cases?

SN770 and other SSDs that do not use DRAM consistently cost less, use less power, and run cooler, so it would be nice to know the magnitude of the performance hit for real-world use, if any. If it's just a few percent hit, I would much prefer the SN770.
 
Craig Neidel used the SN770 1TB in the casis (TBU401E) 40Gbps M.2 NVMe SSD Enclosure and had similar speeds to what I have with a Samsung 980 Pro 2 TB in it. He said it didn't run to hot as long as you have the ssd with thermal pad touche the back plate but I do not know what he thinks of not to hot. My Samsung runs pretty warm.

Below the speeds of the Acasis with the SN770

Screenshot 2023-04-25 at 8.19.25 PM.jpg
 
Does anyone know if Mac OS supports HMB?
I spent the last two days searching for an answer. I don't even know whether the operating system has to support HMB in any specific way. Maybe it is the sole responsibiliy of SSD manufacturers to make HMB work with macOS?

Micron provides a command line interface to obtain information about Micron SSDs. But not for macOS. Page 20 of the user guide details how to obtain HMB information from the drive. Here is an example result by Swarup Saw.

That's what we need. I want know whether HMB is supported and I want to know whether it is enabled.

I purchased a 1GB WD_Black SN770 and it consistently benchmarks 2700-2800 MB/s both read and write using Blackmagic when used with my Mac Mini M2 Pro.
Maybe this performance is possible without HMB working properly. I don't know. The point is that there has to be a way to know.

I would imagine that in real-life use, lack of NAND would hurt performance if Mac OS does not support HMB.
Lack of NAND? How do you reason that HMB has an effect on the presence or availability of NAND? Or did you mean lack of DRAM?
 
Lack of NAND? How do you reason that HMB has an effect on the presence or availability of NAND? Or did you mean lack of DRAM?

Sorry . . . I meant lack of DRAM included with the SSD. As you know from your research, HMB is meant to accomplish the same thing for SSDs that don't have DRAM included.

I continue to keep my eyes out for any information on Mac OS HMB, and whether HMB would work over a thunderbolt connection to an external SSD.

So far, I've learned nothing. The complete absence of any information about this online is baffling.
 
  • Like
Reactions: Alex771
You're overthinking this.

macOS doesn't support HMB and I doubt it ever will. HMB is really built around the whole PC architecture of separate CPU, motherboard, RAM and SSD. Apple SOCs with their built-in SSD controllers have a completely different approach to NVMe storage/management.

Forget the benchmarks and HMB vs DRAM for a second. What's your use case? SN770 is built in a way that the lack of DRAM is barely noticeable, even in pretty heavy workloads. It has very large pSLC cache of around 330GB, which means you can hammer it with intense writes and it will perform at its full throughput until about 1/3 of its total capacity.

Read this review section to understand how it works: https://www.techpowerup.com/review/wd-black-sn770-1-tb/6.html

In short, there won't be any performance loss unless you're constantly writing over 330 gigs at once, over and over with zero idle time in between.
 
Last edited:
You're overthinking this.

macOS doesn't support HMB and I doubt it ever will. HMB is really built around the whole PC architecture of separate CPU, motherboard, RAM and SSD. Apple SOCs with their built-in SSD controllers have a completely different approach to NVMe storage/management.

Forget the benchmarks and HMB vs DRAM for a second. What's your use case? SN770 is built in a way that the lack of DRAM is barely noticeable, even in pretty heavy workloads. It has very large pSLC cache of around 330GB, which means you can hammer it with intense writes and it will perform at its full throughput until about 1/3 of its total capacity.

Read this review section to understand how it works: https://www.techpowerup.com/review/wd-black-sn770-1-tb/6.html

In short, there won't be any performance loss unless you're constantly writing over 330 gigs at once, over and over with zero idle time in between.

Thank you for your thoughts, and sharing that link which I hadn't been aware of. The page was interesting, and I also noticed in their conclusion page that they think highly of the SN770 - it seemed to have performed very well versus more expensive options that included DRAM, and that included a number of real-world tests.

Here's the conclusion page:


The review is 1.5 years old . . . since then prices have dropped by more than 50%.
 
From what I gather, the dynamic allocation of SLC cache helps with write performance, especially shorter-duration bursts. But SLC cache has no role in replacing or substituting HMB. While both aim to speed up things, SLC cache is not an exclusive feature of DRAM-less SSDs. (Let's see if I can find a NVMe SSD that employs both DRAM and SLC Cache.)

"Also, and as expected, a DRAM cache chip is not included in the SN770 for cost reasons. Higher-end drives have a separate DRAM cache chip that stores a copy of the mapping tables of the SSD. This table helps the controller figure out where a piece of data is located; like most DRAM-less SSDs, the SN770 does use 64 MB of the host system's memory, though." – page 17

That's what HMB is for and this has nothing to do with the SLC Cache.

macOS doesn't support HMB and I doubt it ever will.

I assume that the SSD cannot function without the mapping table. So if the SN770 works on macOS, one might infer that the SSD does in fact use a Mac's (in this case a Mac mini M2 Pro's) memory.
 
Last edited:
From what I gather, the dynamic allocation of SLC cache helps with write performance, especially shorter-duration bursts. But SLC cache has no role in replacing or substituting HMB. While both aim to speed up things, SLC cache is not an exclusive feature of DRAM-less SSDs. (Let's see if I can find a NVMe SSD that employs both DRAM and SLC Cache.)

"Also, and as expected, a DRAM cache chip is not included in the SN770 for cost reasons. Higher-end drives have a separate DRAM cache chip that stores a copy of the mapping tables of the SSD. This table helps the controller figure out where a piece of data is located; like most DRAM-less SSDs, the SN770 does use 64 MB of the host system's memory, though." – page 17

That's what HMB is for and this has nothing to do with the SLC Cache.

I assume that the SSD cannot function without the mapping table. So if the SN770 works on macOS, one might infer that the SSD does in fact use a Mac's (in this case a Mac mini M2 Pro's) memory.

Well - I guess what I really want to know is whether performance of SN770 suffers much compared to competition that has built-in DRAM, runs a little hotter, and costs more. I care about everyday, real world usage, not extreme edge cases or synthetic benchmarks. The test setup of the review you referenced is with a Windows PC, and there is very little if any performance hit, while it runs cooler than competition that uses DRAM, and yet is priced very reasonably.

I don't know whether this can be generalized to MacOS performance. But if it does, I'll gladly take a slight hit to performance if it means running cooler and paying less.
 
From what I gather, the dynamic allocation of SLC cache helps with write performance, especially shorter-duration bursts.
That duration is entirely dependent upon the size of pSLC cache, which spans almost 1/3 of the drive in case of SN770.

But SLC cache has no role in replacing or substituting HMB. While both aim to speed up things, SLC cache is not an exclusive feature of DRAM-less SSDs.
You're right, it doesn't, but I never claimed otherwise. I was addressing OP's question about overall performance hit in the absence of HMB when using SN 770 on macOS.
SLC cache has always been a feature on TLC SSD's. However, in the past that cache size used to be tiny, less than 3% of a drive's capacity in some cases.

"Also, and as expected, a DRAM cache chip is not included in the SN770 for cost reasons. Higher-end drives have a separate DRAM cache chip that stores a copy of the mapping tables of the SSD. This table helps the controller figure out where a piece of data is located; like most DRAM-less SSDs, the SN770 does use 64 MB of the host system's memory, though." – page 17
Cost is obviously a factor but the lack of DRAM chip also has a few benefits, especially when you're using these high performance drives in passively cooled tiny enclosures. The lack of DRAM often means lower power draw and in turn lower thermal output.

I assume that the SSD cannot function without the mapping table. So if the SN770 works on macOS, one might infer that the SSD does in fact use a Mac's (in this case a Mac mini M2 Pro's) memory.
Your assumption is correct, but the lack of both DRAM and HMB doesn't stop any SSD from working on macOS. Before HMB was introduced, all the DRAMless SSDs stored mapping tables on the NAND itself. Now storing these mapping tables on the NAND often caused a performance drop with the older NAND tech. The SN770 uses the latest BiCS5 112-layer TLC NAND that can basically offset that performance hit.
 
Last edited:
Does anyone know if Mac OS supports HMB?
I have been contacting SSD manufacturers to get their stance on this question. So far, I received these replies:

"1. Currently testing mac is detected to HMB. 2.HMB function only supports M.2 slot, if you switch the SSD to external USB or Thunderbolt, it can't support HMB."

"Kindly be informed that HMB (Host Memory Buffer) belongs to a technology in the NVMe 1.2 specification. All NVMe SSDs support this feature."

"SSD with DRAM is designed to be used as internal storage. We are unable to guarantee its functionality when being used with an external enclosure."

"HMB requires support from both the SSD and the operating system. Based on online resources, Windows 11 and Linux support this feature, but it is unclear if MacOS supports HMB.

Therefore, we highly suggest contacting Apple directly to clarify if MacOS supports HMB and if it can be utilized when connected to it."
 
"Also, and as expected, a DRAM cache chip is not included in the SN770 for cost reasons. Higher-end drives have a separate DRAM cache chip that stores a copy of the mapping tables of the SSD. This table helps the controller figure out where a piece of data is located; like most DRAM-less SSDs, the SN770 does use 64 MB of the host system's memory, though." – page 17
I quoted this passage not to highlight the cost advantage but to confirm that the SN770 needs to work with mapping tables. I followed your input about SLC cache and tried to estbalish whether that somehow obviates the need for HMB.

I was addressing OP's question about overall performance hit in the absence of HMB when using SN 770 on macOS.
Thank you for your input! For background, I'm moving from a Late 2012 Mac mini to a Mac mini M2 Pro and have yet to buy my very first NVMe SSD. I stumbled upon the exact same HMB question as @FilterJoe.

Your assumption is correct, but the lack of both DRAM and HMB doesn't stop any SSD from working on macOS. Before HMB was introduced, all the DRAMless SSDs stored mapping tables on the NAND itself.
Now this is interesting! I am aware that there are DRAM-less SSDs that store mapping tables on the NAND itself. I considered HMB an alternative to this method, one that's better. I was not aware that the SN770 (or more generally even, all DRAM-less NVMe SSDs?) do fall back on using NAND for this purpose. Are you sure of this?

I'd like Apple to realize how comical this situation is. As Mac users, we are expected to buy SSDs. Apple wants us to use Thunderbolt. Okay. What does macOS offer to accomodate SSD-related technology? Where is the related support article?

Am I overthinking? I'm interested. It seems SSD manufacturers don't care to market their products in the direction of Mac users. That's something.
 
Last edited:
It seems SSD manufacturers don't care to market their products in the direction of Mac users. That's something.

Western Digital does a fantastic job with it's WD_BLACK line for supporting Macs. People on these boards have reported fast speeds and very few issues. There are a few other particular models of particular brands that are also mentioned as working well with Macs. So I'm not sure it's fair to say that manufacturers don't care to market their products work with Macs.

The question in my mind is whether it really matters whether you get a SN770 from WD, or another more expensive model that runs hotter because it includes DRAM, such as WD SN850X. I'm talking about using these in a high quality Thunderbolt external enclosure such as Acasis offers.

If there's little to no performance hit to using an SN770 in performance, then there's no reason to buy the SN850X over an SN770.

A reason WD might not want to make the answer obvious to Mac users is because if there's very little performance difference, then nobody will want to buy an SN850X over an SN770 due to the extra heat and extra cost.
 
I followed the link to nvme-cli in this DRAM & HMB article by Sabrent. In this older NVMe-related thread, @wawon tried to install nvme-cli on macOS, a project I'd like to attempt as well in order to get information about connected NVMe drives. There is also smartmantools and an introduction to it by Macworld that might help with that.

I also found sysctl and system_profiler. At first glance, sysctl doesn't seem to have NVMe-related variables, but system_profiler has SPNVMeDataType.

@FilterJoe What information do you get about your SN770 SSD with this command in Terminal?
Code:
system_profiler SPNVMeDataType
 
So I'm not sure it's fair to say that manufacturers don't care to market their products work with Macs.
Western Digital did not even test the SN770 on Macs. Here is the original reply in German, that I received from them: "Schließlich können wir leider nicht bestätigen, ob macOS-Computer die HMB-Funktion auf dem Laufwerk unterstützen, da wir diese Laufwerke nicht auf einem macOS-System getestet haben."

The fortunate case that they still work well with Macs is despite the fact that they don't assert that in their own marketing.

I contacted Western Digital, Lexar, Crucial, Adata, Teamgroup and Apple.

In the first call with Apple, the person did not know what HMB is. In the second call, I was more lucky. The person inquired with her superior who then relayed the message back that macOS does not support HMB. She also mentioned that Apple support articles have "weight", of which Install PCIe cards in your Mac Pro (2023) is the only article treating the topic related to expanding a Mac, afaik.

The replies I received (from employees whose ability to help and access to information may be limited) from Western Digital, Lexar, Crucial, Adata and Teamgroup only confirm what I said: They don't care much about Macs. I asked 4 questions:

"Does macOS support HMB?
Does macOS even have to support HMB?
Does an SSD with HMB utilise that technology when connected to a Mac?
If not, how does it manage metadata?"

In summary and without judgement, this is what they said:
- all SSDs made to NVMe 1.2 specifications can support HMB
- SSDs with DRAM are designed for internal storage
- HMB requires support from both the SSD and the operating system
- macOS does not support HMB
- HMB requires an M.2 slot
- Neither USB nor Thunderbolt support HMB
- Mapping tables are also stored on the NAND with or without HMB

Applying judgement:
- Neither USB nor Thunderbolt support HMB
I don't think that's true. NVMe works with PCIe devices. Thunderbolt 3 and USB4 do transport PCIe.
- SSDs with DRAM are designed for internal storage
I don't know what to say to that. SATA SSDs also have DRAM. In the past (circa 2015 and later), did anyone doubt that they will work via SATA to USB adpaters?
- Mapping tables are also stored on the NAND with or without HMB
This is an aspect I'm interested to have more info on from an authoriative source. What does an HMB drive do, when it can't use HMB?
 
Last edited:
I followed the link to nvme-cli in this DRAM & HMB article by Sabrent. In this older NVMe-related thread, @wawon tried to install nvme-cli on macOS, a project I'd like to attempt as well in order to get information about connected NVMe drives. There is also smartmantools and an introduction to it by Macworld that might help with that.

I also found sysctl and system_profiler. At first glance, sysctl doesn't seem to have NVMe-related variables, but system_profiler has SPNVMeDataType.

@FilterJoe What information do you get about your SN770 SSD with this command in Terminal?
Code:
system_profiler SPNVMeDataType

I get:


Generic SSD Controller:

WD_BLACK SN770 2TB:
Capacity: 2 TB (2,000,398,934,016 bytes)
TRIM Support: Yes
Model: WD_BLACK SN770 2TB
Revision: 731100WD
Serial Number: 23122Q803334
Link Width: x4
Link Speed: 8.0 GT/s
Detachable Drive: No
BSD Name: disk6
Partition Map Type: GPT (GUID Partition Table)
Removable Media: No
S.M.A.R.T. status: Verified

Volumes:

EFI:
Capacity: 209.7 MB (209,715,200 bytes)
File System: MS-DOS FAT32
BSD Name: disk6s1
Content: EFI
Volume UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B

PlainFiles:
Capacity: 2 TB (2,000,189,177,856 bytes)
BSD Name: disk6s2
Content: Apple_APFS

I also use some of this external SSD for time machine but "volumes" doesn't show it.

Not sure how any of this sheds any light.
 
Not sure how any of this sheds any light.
Only in that "HMB supported" and "HMB enabled" are not revealed.

The question in my mind is whether it really matters whether you get a SN770 from WD, or another more expensive model that runs hotter because it includes DRAM, such as WD SN850X.
I lean towards SSDs with DRAM, because macOS doesn't support HMB.

If there's little to no performance hit to using an SN770 in performance, then there's no reason to buy the SN850X over an SN770.

To give "performance" more meaning, I have started a list of use cases, such as the 5 cases described in this video by Tech Notice. Now I'll have to learn to translate those into technical terms in order to make sense of the read/write tests. For example Time Machine backups – what kind of use case is that in terms of IPOS, reads, writes, queue depth, and related terms? Based on that, I'll choose an SSD.
 
Last edited:
What does an HMB drive do, when it can't use HMB?
In a dialog with Phison, I learned that it is safe to assume that HMB is always an additional feature, and never a replacement. An SSD does not always anticipate host-side HMB support and can fall back to keeping the mapping tables inside NAND flash memory.
 
That makes sense. The SSD keeps track of its own mapping, but HMB allows it to be cached in the computer's system RAM for faster access - if the OS allows it. If not, everything works, fast enough,
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.