UHS-I / SD cards investigation

Started by nikfreak, July 30, 2014, 05:46:56 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Sapporo

Quote from: dinobike on June 07, 2018, 09:05:29 PM
Had anyone tried the hack with this one??


UHS-II, SanDisk and Canon? Slow combination.

OlRivrRat

           @Sapporo

Why is that?
ORR~DeanB  ~~  80D-ML  &  SL1+ML  &  5D2+ML  &  5DC+ML  &  70D+ML(AliveAgain)

alpicat

@OlRivrRat  That's a UHS-II card. Canon cameras use UHS-I, so there's no point trying an expensive UHS-II card - I'm guessing they'd end up being slower in a Canon than a fast UHS-I card. Although I don't know if anyone's tested this.

@Sapporo  Wondering if there's a faster alternative to Sandisk cards, in particular to their Extreme Pro 95mb/s V30 UHS-I SD cards? I've tested two of those and the max write speed I can get on an EOS M is 55mb/s. I've seen people get faster benchmark results but unsure exactly which cards they were using.

Sapporo

Quote from: OlRivrRat on June 08, 2018, 06:32:08 PM
           @Sapporo

Why is that?
Check yourself http://www.cameramemoryspeed.com/canon-7d-mark-ii/fastest-sd-cf-card-comparison/

SanDisk Extreme Pro 280MB/s UHS-II 32GB 39.8MB/s average speed with the 7D II.

Sapporo

Quote from: alpicat on June 08, 2018, 06:53:58 PM
@OlRivrRat  That's a UHS-II card. Canon cameras use UHS-I, so there's no point trying an expensive UHS-II card - I'm guessing they'd end up being slower in a Canon than a fast UHS-I card. Although I don't know if anyone's tested this.

@Sapporo  Wondering if there's a faster alternative to Sandisk cards, in particular to their Extreme Pro 95mb/s V30 UHS-I SD cards? I've tested two of those and the max write speed I can get on an EOS M is 55mb/s. I've seen people get faster benchmark results but unsure exactly which cards they were using.

I got 71MB/s with 6D and SanDisk Extreme Pro 95MB/s 64GB.

alpicat

Quote from: Sapporo on June 08, 2018, 08:40:39 PM
I got 71MB/s with 6D and SanDisk Extreme Pro 95MB/s 64GB.

That's very impressive - maybe it's something to do with the EOS M rather than the card. I have this same card, and also tried another one which was the same.

theBilalFakhouri

@alpicat

You are maybe running the benchmark in video mode -- same thing in the other cameras about ~55mb/s  write speed.
But in Play mode you should got at least 65mb/s write speed with Sandisk Extreme Pro 95mb/s U3 32GB which I use.

However -- Using fps override at 12 fps or less in video mode you will got a higher write speeds like play mode --> So more FPS I think it will make a CPU overhead which will affect in the write speeds especially like 720p @ 60 fps ~40mb/s.

OlRivrRat

      @Sapporo & Alpicat

   Can certainly understand that the UHS-II SDs are unnecessary in Our EOSs.

I was curious as to why the "Combo" of "UHS-II, SanDisk and Canon" would be thought to be "Slow".
ORR~DeanB  ~~  80D-ML  &  SL1+ML  &  5D2+ML  &  5DC+ML  &  70D+ML(AliveAgain)

Sapporo

Quote from: OlRivrRat on June 09, 2018, 07:15:57 PM
      @Sapporo & Alpicat

   Can certainly understand that the UHS-II SDs are unnecessary in Our EOSs.

I was curious as to why the "Combo" of "UHS-II, SanDisk and Canon" would be thought to be "Slow".
You have the write speed in the link. Lexar UHS-II has not the same issue.

alpicat

@theBilalFakhouri thanks for this - running the benchmark with fps override at less than 12fps now gives me around 62mb/s write speed. Unsure how to use benchmark testing whilst in Play mode on the EOS M though, since I can't access the magic lantern menu in that mode.


theBilalFakhouri

@alpicat
Run the benchmark then press PLAY button.

alpicat

@theBilalFakhouri aha, that's better. Now getting 68.7mb/s write speed (72mb/s read speed). Thanks so much!

Lolignon

Hi,
I tried the build magiclantern-Nightly.2018Jun27.600D102HDR_ext.zip from https://bitbucket.org/Dannephoto/magic-lantern/downloads/,
especially looking to use the sd_uhs module on my 600D, but when I selected it to be loaded on next reboot,
it gave me the following message: "FIXME: unsupported model" on boot,
and despite having no problem recording video in the regular video mode (default Canon's mode),
when the mlv_lite module was enabled and while trying to rec some raw footage, the console showed up with an error about data corruption and compression error

Some pics:










PS:I'm using a Sandisk extreme pro 95mb/s uhs-1 sd card
and sorry for my bad English

Danne

The 600D isn't supported when using the sd_uhs module.

Lolignon


A.Werfhorst

Quote from: Lolignon on July 15, 2018, 09:03:36 PM
Ok, will be supported?
Guys, correct me if I am wrong, as I am mostly a reader who follows this with interest.

If I am correct the investigation currently mostly focuses on the SD hardware that is available in the 650D and newer models. So for optimizing write speeds in older models someone should start a similar investigation, if we want any progress for those.

Danne

Best you can do is check into the sd_uhs code. First check the bottom what cameras are supported and take it from there. Probably possible to find registers needed but level of difficulty I have no idea about...

dfort

Quote from: A.Werfhorst on July 19, 2018, 01:13:34 PM
...So for optimizing write speeds in older models someone should start a similar investigation, if we want any progress for those.

It might be possible but the method will probably be different.

Quote from: a1ex on April 04, 2018, 11:52:19 AM
I doubt - D4 uses only 2 bits for clock speed (0xC0400004). Feel free to prove me wrong (possibly by brute-forcing the other bits).

1300D has a string that explains these 2 bits: SetSdClock %d ->0:210K 1:16MHz 2:24MHz 3:48MHz

We often group all Digic 4 cameras in the "older models" category but the 1300D has a Digic 4+ processor that is newer than the Digic 5. In fact if the introduction dates listed on Wikipedia can be trusted the Digic 4+ is even newer than the Digic 6.

Anyway, I looked for the stubs on an old Digic 4 but came up a little short:

Quote from: dfort on April 04, 2018, 05:25:47 PM
I looked at the stubs for the 7D and found just one. Strange thing is that camera only has one CF slot and no SD slot yet it has "SD_ReConfiguration" -- wonder what it does?

As far as I know UHS-I doesn't apply to CF cards so that was probably going to be a dead end anyway but I also came up empty searching for these stubs on other Digic 4 cameras.

barbona

Hello, could anyone point me to the correct link to download the correct "sd_uhs.mo" module for a 6d. I've tried one (dump the module file in the july 3 nightly build) but it gives a error.

Sorry for my english. Thanks!

reddeercity

Looking at CF card timing again , now that the 5d2 can record 3k but not continuous .
dm-spy.log

825FE>  CSMgrTask:00095f98:00:00: *** register_interrupt("CFDriver", 0x82, 0xffb8b8cc, 0x0), from ffb8bb58
834A0>  CSMgrTask:ffb8a92c:22:05: [ID:Model Number] = LEXAR ATA FLASH CARD                   
834C8>  CSMgrTask:ffb8aabc:22:05: IDE = 4, PCMCIA = 80, UDMA = 6
83572>  CSMgrTask:ffbdb8a0:22:01: cfDecideTiming: UDMA Mode 6 (CFA4.0)
83592>  CSMgrTask:ffbdbb3c:22:03: CF_GetAccessTiming : DatTim = 3, DatMod = 6


as seen the cf card is only being access @ UDMA 6 which limit to 80MB/s thou the card is capable of UDMA 7 ,
so can I assume that  DatMod = 6 is (UDMA = 6) ? Would this be a parameter that can change to "7"  if indeed that what it means .

Quote from: a1ex on April 10, 2018, 08:12:13 AM
....  but some blocks were written at ~120MB/s, others at ~85MB/s, and a very small percentage of them were written at lower speeds.
@reddeercity: more details after I'll get a new card (it *is* possible to overclock the 5D2 CF interface).

Any info on this @a1ex ?
How is something like this coded , as a module or just code in ML source ?

Quote from: a1ex on April 11, 2018, 07:48:49 AM
You can send ATA commands to the CF card (QEMU emulates them), so if the only difference between UDMA 6 and 7 is timing, it might even be possible to put the card in UDMA7.
How would I do this in QEMU ?

Is there any special Log file I can generate for the CF Card interface ?

Edit: found this for 7D & 5D3  -- need to find this for 5D2
http://magiclantern.wikia.com/wiki/Register_Map#CFDMA

Audionut

Quote from: reddeercity on September 11, 2018, 07:54:48 AM
How is something like this coded , as a module or just code in ML source ?

sd_uhs.mo (5D3 only)
https://www.magiclantern.fm/forum/index.php?topic=12862.msg199158#msg199158

Doesn't look like the source is public yet.

Danne

Source?
https://bitbucket.org/hudson/magic-lantern/branch/sd_uhs

Still seems there's some unpublished stuff around this but then again it's not the safest hack in the toolshed it seems.

allemyr

Quote from: reddeercity on September 11, 2018, 07:54:48 AM

as seen the cf card is only being access @ UDMA 6 which limit to 80MB/s thou the card is capable of UDMA 7,

The reel bottleneck of this isnt the cf card, its the camera in all cases 5D2, 5D3 and 5D4.

UDMA6 is 133mb/s not 80? UDMA7 is 167mb/s.

I don't know what the 5D2 writespeed is, 80 as you say but thats because of the cameras interface. As same with the 5D3 maxing out at around 90-100mb/s write, even with a 160mb/s cf card inside. The 5D4 maxes out at 105mb/s. In 14 bit raw all those cameras will be limited to around 1080p cause of bandwith in camera interface. Shure 10 bit and 12 bit get you to higher resolution, but max of all these cameras will be different and 5D4 won't go above 105mb/s when solved.

Just my thought, worth looking into, if iam not totally wrong.

waza57

I used DIGIC POKE to simply modify this values I found in  http://magiclantern.wikia.com/wiki/Register_Map#CFDMA :

0xC062850C --> 0x1213 and I obtain UDMA 0 speed (around 15MB/s)
                     --> ...........
                     --> ...........
                     -->0x0202 and I obtain UDMA 6 speed (around 80MB/s) i suppose original value
                     -->0x0101 and sadly I obtain UDMA 6 speed  too :(

a1ex

My raw notes:


CF 5D3:
0.932.277   CSMgrTask:ff6aa02c:MMIO : [0xC0628504] <- 0x04060503
0.932.285   CSMgrTask:ff6aa050:MMIO : [0xC0628508] <- 0x010A1105
0.932.291   CSMgrTask:ff6a9e4c:MMIO : [0xC062850C] <- 0x00000202

    0xC0628504 0xC0628508 0xC062850C
u7: 0x04060503 0x010A1105 0x00000202
u6: 0x04060503 0x010A1105 0x00000303
u5: 0x04060503 0x010A1105 0x00000303
u4: 0x04060503 0x010A1405 0x01000505
u3: 0x04060503 0x030A1405 0x01000808
u2: 0x04060503 0x060A1405 0x01000B0B
u1: 0x04060503 0x090A1905 0x01000F0E
u0: 0x05040402 0x04060503 0x01001616


Can you try 102 or 201?