kvic-z / SsdPmEnabler

106 stars 5 forks source link

Crucial P2 2TB SSD on MacBook Pro 15" (Mid 2014) A1398 #3

Open porg opened 3 years ago

porg commented 3 years ago

@kvic-z, thanks for offering this great driver! I had discovered it at this meanwhile 8000+ posts long thread I now want to contribute my experience to your hardware database.

Hardware & Software

Roughly speaking compared to the original Apple Samsung SSD 512GB:

Detailed numbers:

MacBook Pro 15in Mid 2014 A1398 - SSD comparison - Original Apple Samsung SM0512F 512GB vs Crucial P2 2TB SSD Original Apple Samsung SM0512F 512GB in MacBook Pro 15in Mid 2014 A1398 SSD Crucial P2 2TB in MacBook Pro 15in Mid 2014 A1398 - Infographics

For easy copy/paste see the values also attached as Apple Numbers Spreadsheet:

kvic-z commented 3 years ago

@porg

Very nice report! Thank you very much. I have a few questions if you may clarify:

  1. are the entire sessions in both graphs running on battery alone (without AC connected)?
  2. did you observe 0.00A at idle on your graphs? Based on the second screenshot, I think you did.
  3. When your MBP idle at 0.00A (on battery alone), does the SSD's current shoot up immediately when there are disk activities? Or it stays at 0.00A for a little while even with on-going disk activities. From the first screenshot between 19:33-19:43, it seems to suggest the former. From the 2nd screenshot between 18:34-18:49, it seems to suggest the latter.
porg commented 3 years ago

You are welcome! Regarding your questions:

  1. Both graphs were from battery-only operation. Btw, this is also clearly visible on both screenshots: The battery icon of iStats Menu which shows the remaining battery percentage and estimated remaining runtime.

  2. I experienced this: In idle state "0.00A" was shown in the dropdown next to the label "SSD", but you see a faint blue on the very left of the bar, as opposed to the next entry "Thunderbolt" which is really "0.00A" (a port which I do not use) and no faint blue in the bar at all.

    • When hovering over the SSD entry in the dropdown menu, the graph opens next to it, and there I hovered over the graph and tried to determine the lowest values, which are around 2-4mA.
    • So absolutely "0A" seems to never be the case, the 0.00A only coming from the fact that 2mA = 0.002A = 0.00A if rounded to two decimal units.
    • Note also that in iStats Menu the very same graph and its hovered values differ between 1hour and 24hour display mode, as the values are averaged out in 24h mode. See: A report with screenshots & the official reply on Twitter from @Django.
    • You must consider this for the reliability of the reports people give you when measuring with iStats Menu. I used this tool, as everyone else did so. Maybe @gilles_polysoft extensive charts which always get showcased in post nr1 by community-updates used another measurement tool? He does not state how he measured.
    • Maybe helpful: smartctl(installed via brew) shows these Supported Power States:
      St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
      0 +     3.50W       -        -    0  0  0  0        0       0
      1 +     1.90W       -        -    1  1  1  1        0       0
      2 +     1.50W       -        -    2  2  2  2        0       0
      3 -   0.0700W       -        -    3  3  3  3     5000    1900
      4 -   0.0020W       -        -    4  4  4  4    13000  100000

      Full log: SSD Crucial P2 - SMART data 2021-01-29.txt

  3. Screenshot 1 (showcasing your inquiry "19:33-19:43") is from the original Apple/Samsung SSD and Screenshot 2 (showcasing your inquiry "18:34-18:49") is from the Crucial P2 2TB.

    • None of the two ever shows 0.00A on the graph during battery operation. The 0.00A is just in the dropdown menu due to rounding precision with 2 decimal untis. In the graph true 0A is only shown for times of system downtime/standby.
    • And the steepness of the curve rising/lowering between the two screenshots may mislead because the original SSD is indeed exactly a 1 hour timeframe vs. the Crucial P2 2TB screenshot shows actually 17:43-19:05 (~1.5h) which is from two different screenshots composited together into one (perfectly and correctly aligned!) as the whole comparison operation took me that long.
kvic-z commented 3 years ago

@porg, thanks for your detailed clarification.

I've much more confidence in your observation. So it turns out MacBookPro11,3 (just like MacBookPro11,5) is not vulnerable to recent BootRom updates. That's excellent.

Victims to recent BootRom updates will show 0A when a Mac laptop is on battery and after idling long enough (less than 10mins last time I checked). MacBookPro12,1 is one example. Contrary to a minor number of people's belief in that being a feature, I think it's a bug/glitch. The glitch didn't start with new BootRom updates in Big Sur or thereafter in Catalina updates either. On MacBookPro12,1, I think it started as early as BootRom 192.0.0.0.0.

Under BootRom with this glitch, iStat Menu will show up 0.00A in dropdown menu, and 0mA (or 0A) when hovering the mouse over the corresponding graph. When it's stuck in such state, it'll remain 0mA for an unpredictable period even though heavy disk load such as BlackMagic benchmark is running.

When Mac laptop is asleep, iStat graphs will show as missing values not 0mA. Missing values are due to OS suspending most processes including iStat Menu. Hence, it can't snap any values.

porg commented 3 years ago

@kvic-z finally some time to get back to you

Regarding your 0.00A question:

  1. iStats so far never reported 0.0A in the menu and 0.00A in the dropdown, and also never on the graph (except for times of system sleep or iStat being disabled it shows simply nothing, no graph in that time period.
  2. When I started using the Crucial P2 2TB and SsdPmEnabler I already had BootROM v429 and macOS 11.1 Big Sur. So cannot tell about the interplay with elder BootROMS.
    • 2021-01-18 Upgraded macOS 10.15.7 with 2020-001 Supplemental (had postponed this for long)
    • macOS: 10.15.7, build identifier bumped from 19H15 -> 19H114
    • Boot-ROM: 162.0.0.0.0 -> 429.0.0.0.0
    • 2021-01-21 Upgraded macOS 10.15.7 Catalina to 11.1 Big Sur

Long time experience of Crucial P2 2TB SSD on MacBook Pro 15" (Mid 2014) A1398 with SsdPmEnabler

  1. Still same performance, circa: W 1300 / R 1375 MB/sec on unencrypted APFS
  2. Still very low wattage, while typical browsing/idle usage, ca. 70-100 mA
  3. Temperature ok, 32-36°C in a room environment of ca 23°C.
  4. No crashes or sleep/wake problems.

For a short time I have been shitting my pants

Because I suddenly started experiencing dGPU rendering glitches, but meanwhile I can rule out with 99% certainty that this has anything to do with the SSD swap as:

  1. The old SSD had the very same temperature range.
  2. I have never before opened this MBP. Was very careful. Only touched what was necessary (battery connector, SSD, nothing else). Heatpipe looked very ok. Removed loads of dust by blowing away. So on the contrary the ventilation must have improved a little by this.
  3. I even put back the original SSD with the same OS version, just slighly older data state, and the same glitch was reproducible.
  4. The issues very strongly seems not be thermal/aging GPU related at all, but very likely a software/driver issue.

Compiled an in depth bug report with graphics, stats and graphs which I filed to Apple. And published it in copy in a standalone thread which I will update with official reactions or other learnings. At the time you read it, it may already be updated with an official Apple reaction or other insights: Rendering glitches only in specific apps Photos and Safari on MBP 15'' (Mid 2014) when dGPU active in macOS 11 Big Sur

porg commented 3 years ago

FYI: The parts from my recent post about "almost one month of usage experience" I also posted at MacRumors so that the bigger audience there doesn't miss is.

But everything which concerns SsdPmEnabler in the narrow sense will be updated by me here, should I find something in the future.

Thanks again for your software. All the best!

kerimt-dek commented 3 years ago

I can report very similar results with 1TB Crucial P2 and MBP 15" late 2013 I use semtech adapter https://www.amazon.com.au/dp/B07FYY3H5F/ref=pe_2444382_386087932_fb_remail%5Fprodpg

This adapter doesn't need kapton tape because exposed metal parts are covered with resin

BenceSzalai commented 3 years ago

Not sure if it is proper to post here, but since it is not really an issue, I'll just add my quick success report here too.

Machine: MacBook Pro (Retina, 15-inch, Mid 2014) Model Identifier: MacBookPro11,2 Boot ROM Version: 430.0.0.0.0 SMC Version (system): 2.18f15

Drive: Crucial P2 1TB Model: CT1000P2SSD8 Revision: P2CR031

Adapter: Sintech NGFF M.2 nvme SSD Adapter

SSD currents reported by iStatMenus: Idle, before SsdPmEnabler: 0.14A Idle, with SsdPmEnabler: 0.06A

Endente commented 3 years ago

@porg thanks for your post cause it's exactly about the same MBP I have and I wanted to ask if the QNINE M.2 NVME SSD Adapter for 13,99€ drains the battery cause I was just searching things about the SSD and found some Sites which said that.

And then I got another thing: Well the MBP is a compact Laptop and do the Adapter with the SSD fit good into it? Cause my logic keeps saying that it must be to much cause of the adapter. So is there enaugh space for the whole thing?

BenceSzalai commented 3 years ago

The proprietary SSDs used by Apple are a tiny bit longer than the standard M2, so they fit nicely with the adapters into the very same slot.

herb2k commented 3 years ago

@stefco05 - the adapters themselves have nothing to do with battery drain (they just make the pins from a standard M.2 NVMe drive fit into the Apple proprietary socket).

It is the change from AHCI/SATA to NVMe in the new SSDs which are the cause, as NVMe devices consume more power than what these MBPs originally came with. This KEXT helps improve upon that situation.

Endente commented 3 years ago

Hey guys is it normal that the Mac starts his Fan loudly if you just install MacOS to it? I just installed the ssd on it. Same as on the Thread

porg commented 3 years ago

Cannot tell about the before/after Situation because I never t paid attention to this while having the original SSD in.

And also from OS update to OS update your machine gets older and older.

But macOS installation is a lot of I/O stressing your SSD and a lot of decompression stressing your CPU, so I would deem it normal for the fans to kick in during an OS update or an update of a larger app like Xcode.

porg commented 3 years ago

@kvic-z meanwhile the readme.md carries a footnote for my Crucial P2 2TB SSD:

This is the 'TLC NAND' version. As of May 2021, users reported new P2 sadly came with 'QLC NAND'. 1) I seem to have had luck. Nice! 😉 2) From which of my supplied info did you come to the conclusion that I have a TLC NAND rather than a QLC NAND version?

kvic-z commented 3 years ago

@porg Good point regarding evidence. I'm afraid I don't. The 'consensus' seems to be around May/Jun 2021 people started received new P2 of degraded performance through retail channels. Once SLC cache runs out, the speed becomes very slow (IIRC people mentioned 40-50MB/s?). You can try my suggested 5GB file test here.

porg commented 3 years ago

1) Also after many minutes of BlackMagic Speed Test, my P2 2TB SSD still runs at ca. R 1200 and W 1400 MB/s. 2) My SSD, which is assumed as "still one of the good batch" has a sticker which can be seen in my top post. The sticker reads:

P2 M.2 2280
3.3V 2.5A PCEe Gen3 x4
MDL: CT2000P2SSD8
FW: P2CR031

R-R-MU2-CTXXXP2SSD8
CAN ICES-3(B)/NMB-3(B)
kvic-z commented 3 years ago

Looks good. Apparently from those speeds you don't look like a victim.

kunkka2021 commented 2 years ago

I compared OWC PRO X2 with apple's SSD, without using any kext. I find it behaviours almost the same when on battery. The idle consumption drops to the lowest level for both. OWC PRO X2 - 3mA Apple's SSD - 3mA

When on power supply, it has similar conclusion as what you got. However I don't think it's a problem when on power supply. OWC PRO X2 - 0.2A Apple's SSD - 0.12A

porg commented 5 months ago

SsdPmEnabler OFF by unknown cause

Noticed by coincidence that SsdPmEnabler was not active anymore

  1. /Library/Extensions/ had no more SsdPmEnabler.kext
  2. SIP was fully on

I recall these events

  1. 2024-02 I upgraded macOS to 11.7.10
  2. 2024-03 Mac was in repair shop (speakers), battery power certainly disconnected, PRAM probably reset.
  3. 2024-03-31 had a NVME related kernel crash, see log: kernel-panic--2024-03-31--nvme-related.txt
    • A kernel panic I experienced only once every 1-2 years luckily.
    • a) So maybe that crash and subsequent restart with cleanup removed SsdPmEnabler
    • b) Events 1 or 2 or something else deactivated SsdPmEnabler.kext and this put more strain on the SSD and increased the likelyhood which lead to the kernel panic?

Or something completely different was the cause for the removal of SsdPmEnabler.kext and the full re-activation of SIP.

Anyhow: Opportunity to measure power usage and performance in that state, before re-activating.

Idle

Speedtests with BlackMagic

Wattage: 300-400mA

Using 1GB blocks in an endless loop

First it looks good

After 3.5min crawls down to

After another 30secs recovering

After another 30secs again recovered to maximum datarate

SsdPmEnabler RE-ENABLED

Followed instructions. Worked seamlessly.

Rebooting, then Idling

Speedtests with BlackMagic

Wattage: 180-300 mA

Using 1GB blocks in an endless loop

15:29:00 First it looks good

15:30:30 Write Speed decreases

15:30:50 Full speed restored again

15:32:50 5-10secs Write Speed down to 400 MB/s then 200 MB/s

15:33:00 Full speed up again

15:37:00 Read shortly dropped to 800 MB/s but recovered after ca 5sec

15:39:00

Satisfying rseults: While running a speedtest over 10min the datarate kept almost always at 1250 MB/s for R/W, except 2-3 short huckup periods (10secs) where it dropped to 200, 400 or 700 MB/S. That could have been some scheduled background tasks too. To me seems that this SSD can sustain full performance really well, still after 3 years of usage.

Idle

SMART values over the years (serial number redacted)

SMART--CT2000P2SSD8--2021-01-23.txt SMART--CT2000P2SSD8--2021-10-22.txt SMART--CT2000P2SSD8--2022-04-24.txt SMART--CT2000P2SSD8--2024-04-01-1421--SsdPmEnabler-OFF.txt SMART--CT2000P2SSD8--2024-04-01-1549--SsdPmEnabler-reenabled-SpeedTests-ran.txt