Fusion-io ioDrive 2 1.2TB Reference Page

tx12

New Member
May 17, 2019
18
22
3
What if I told you all of that engineering was already done, but it was all just killed in favor of other products?
I'd believe that, why not. I wonder if they were planning to sell NVMe as some separate licensed feature.

But where is a problem, fusion-io devices were developed to be extremely fast and reliable. Back in 2007 it was achieved by using the main CPU to do all the mapping and management jobs usually done in a tiny controller. Both a killer feature and a sucker punch. The major drawbacks are still here with any fio-device: huge host memory consumption, "unclean shutdown" issues and power suspend incompatibilities.

Moving from proprietary host-based controller to standalone NVMe solution would reduce device performance to match some entry-level DRAM-less NVMe controller bundled with lots of channels of good MLC memory. I think there is no point in providing any better compatibility while sacrificing performance.
 

acquacow

Well-Known Member
Feb 15, 2017
595
311
63
39
ASICs were developed and ready to go. It wasn't nvme, but basically the same difference, but optimized for our architecture. Had bios level support and the card worked without drivers at a basic level.

As for host CPU/memory usage, that's the fastest core and memory in the system. Beats a 600MHz asic any day back then. It also let us scale performance liberally from a single card to 100 cards. NVMe doesn't scale like that.
 

Amphiseum

New Member
Sep 28, 2020
1
0
1
Got a bit of a weird one for you @acquacow . Have you ever tried to get an ioDrive working with UWP Windows apps? Specifically, running those apps directly off of the ioDrive. UWP apps can see the drive fine for saving/loading files, but for whatever reason Windows just has a fit when you try to actually run the app itself off of it. It's mostly an issue if I want to use the drive for game storage for Xbox Game Pass stuff, which obviously wasn't the intended market for the drive when it was $10k+ :)

Basically, I just wanna know if I'm overcomplicating this for myself and there's an obvious thing I'm doing wrong, or if it's probably just that the drivers were never tested in this scenario so I'm stuck waiting for someone at WD to randomly decide to update an old enterprise-only product to do something no enterprise client would ever care about. The drive works amazingly for everything else I want it to do otherwise.

It's a 3.2TB ioDrive 2, if that matters.
 

acquacow

Well-Known Member
Feb 15, 2017
595
311
63
39
I've never messed with any UWP apps that I know of... I install lots of other apps to ioDrives though just fine. For some apps that don't let me specify the install path, I've used junctions to move them over to the ioDrives w/o any issues.
 

Starbomba

New Member
May 6, 2020
5
2
3
I've been using my ioDrive 2 1.2 TB for a while now. Been totally liking it, however, as that one got into my personal PC (unlike the SX350 which got into my server), i've been having a bit of cooling issue on it. So far it works, and it stays at like 55c, but i had to jump a couple hoops which made that setup a bit cumbersome.

Seeing that drive had removable NAND modules, i got an ioFX (420 GB) for dirt cheap and thought i'd just swap the NAND modules, however, for some reason it did not work, and i couldn't make the ioFX work with the ioDrive NAND modules.

Second thought i had, was just to replace PCBs and just steal the fan off the ioFX, but after tearing the ioFX down, i noticed the PCBs are slightly different, and i'm not THAT knowledgeable to go just poking around, nor am i handy enough with a soldering iron to just solder the fan somewhere on the ioDrive PCB.

Is there some way i can make the ioFX recognize the 1.2 TB NAND chips, or is there a way to cross flash the ioFX into an ioDrive 2? Maybe something you have an idea about, @acquacow ?
 

acquacow

Well-Known Member
Feb 15, 2017
595
311
63
39
There probably are ways at the firmware level, but they are different products with different # of pci-e lanes/etc.

I'd just run your 1.2 and find a way in your case to get some airflow over the heatsink. Either a 60mm noctua, or a larger 80mm ~2000rpm fan that you can zip tie to something and use to get airflow to the card.

I used to use one of these exclusively for iodrive cooling in my desktop:
 

waith

Member
Aug 3, 2015
39
4
8
40
Are there any 3rd party/enthusiast efforts to get the Fusion IO2 working in VMWare 7.0?
 

gb00s

Active Member
Jul 25, 2018
229
61
28
Malta
... I'd just run your 1.2 and find a way in your case to get some airflow over the heatsink. Either a 60mm noctua, or a larger 80mm ~2000rpm fan that you can zip tie to something and use to get airflow to the card ...
Doesn't help these cards a lot to just fix a fan on it with a zip tie. The heatsink is 'closed' on one side and blocks airflow. I saw almost zero effect with a fan directly attached to it. Instead :

in 4U >> io-Drive2-cooler-4-U or 2U >> io-Drive2-cooler-2-U ... Temps approved by 8-12C down to ~38-40C
 

Oddworld

Member
Jan 16, 2018
57
28
18
120
What's the maximum safe temperature? I'm showing 52C idle and 65C under load. Do I need a fan?
 

acquacow

Well-Known Member
Feb 15, 2017
595
311
63
39
What's the maximum safe temperature? I'm showing 52C idle and 65C under load. Do I need a fan?
All of the ioDrive II cards use an industrial xilinx FPGA that is good for 100C.

I think we start logging info messages and throttling writes around 86C and finally park all data and take the device offline around 96C.
 

Starbomba

New Member
May 6, 2020
5
2
3
There probably are ways at the firmware level, but they are different products with different # of pci-e lanes/etc.

I'd just run your 1.2 and find a way in your case to get some airflow over the heatsink. Either a 60mm noctua, or a larger 80mm ~2000rpm fan that you can zip tie to something and use to get airflow to the card.

I used to use one of these exclusively for iodrive cooling in my desktop:
Yeah, i thought i could do that as the PCBs are like 95% similar. The only thing visually different between both is the supplementary power connector on the ioDrive, and the fan connector and LEDs on the ioFX.

So far, what i've done as i kinda don't need the ioFX (most of my storage needs are now above 400 GB, but i still have it in my parts cabinet), i took the ioFX shroud and fan, bolted them onto my ioDrive, then wired the fan to a normal 3-pin plug running on my motherboard. I was even able to downvolt it a little bit so it isn't as noisy (it is a 30-40mm fan spinning at 4k RPM), yet still averaging 60-65c when querying fio-status, which should be completely acceptable.
 

gb00s

Active Member
Jul 25, 2018
229
61
28
Malta
... I was yet still averaging 60-65c when querying fio-status, which should be completely acceptable ...
I never experienced such temps even in max load. Did you enable the power overdrive and set it to persistent?

Edit: Maybe 365Gb and 785Gb are running cooler. But my 785Gb runs way cooler than all of my 365Gb drives.
 
Last edited:

Patrick

Administrator
Staff member
Dec 21, 2010
12,005
4,990
113
Since we lost this question from the backup restore earlier today:

So I just got 2x 785GB MLC iodrive2 half heights. I noticed there are 2 identical modules on each, with a plastic spacer in a third slot. These go up to 1.2TB and minimum 385GB, so the thought was to take a module off one and add it to the other, giving me a 1.2TB and a 365GB iodrive2.

Obviously once I removed a module, the card assumes it's died suddenly and runs in minimal mode, so I need to change the model in the firmware somehow? I tried looking around before asking, but I came to the conclusion that I'm the only madman trying this, and that this thread seems to be the only place that these cards are discussed. I've updated the firmware to the latest version via command prompt on a windows 10 desktop pc.

Any ideas? Thanks in advance.
 
  • Like
Reactions: HERB

acquacow

Well-Known Member
Feb 15, 2017
595
311
63
39
No easy way to convert a card from one config to another unfortunately. I think there's a config in part of the FPGA that doesn't get flashed on a firmware update. Also, the LEB map won't really work, you'd need one from a larger card...

It's on my list of things to hack up sometime.
 
  • Like
Reactions: Starbomba and HERB

HERB

New Member
Nov 10, 2020
2
0
1
Looks like my registration was perfectly timed to get evaporated with the backup fiasco, but here I am again.
No easy way to convert a card from one config to another unfortunately. I think there's a config in part of the FPGA that doesn't get flashed on a firmware update. Also, the LEB map won't really work, you'd need one from a larger card...

It's on my list of things to hack up sometime.
I see. It'll be on my list too then. There's some kind of port that I don't recognize right off the back of the fpga, maybe that's something. Reverse engineering isn't my strong suite yet.
 

Attachments

acquacow

Well-Known Member
Feb 15, 2017
595
311
63
39
Looks like my registration was perfectly timed to get evaporated with the backup fiasco, but here I am again.

I see. It'll be on my list too then. There's some kind of port that I don't recognize right off the back of the fpga, maybe that's something. Reverse engineering isn't my strong suite yet.
That's the JTAG port. It's what you'd use with an FPGA programmer for the virtex FPGAs to read/write to them.
 

HERB

New Member
Nov 10, 2020
2
0
1
That's the JTAG port. It's what you'd use with an FPGA programmer for the virtex FPGAs to read/write to them.
That's what I thought. Then that'd be where you'd read and edit the ROM and grab LEB maps, provided you had the likely proprietary software to do so?

And it looks like this has been asked before, but has there been any progress on booting from the iodrive2? I've installed the uefi module to the card like mentioned earlier in this thread, but the motherboard uefi says something like [change support for boot device] no matter what boot options I change. Motherboard is a sabertooth 990FXA r2.0. I could try some other motherboards too but it sounds like the UEFI support is only half baked. It also adds a whole extra 20 seconds to boot times while the iodrive overlays it's command sequence over the regular boot animation.

I've got plenty of time and spare computers to try to make this work, but I'm missing the know how.
 
Last edited:

kapone

Well-Known Member
May 23, 2015
824
405
63
Got two of the SX350 3.2TB a few days ago and only started setting them up today. Woot! Almost no data written!

Code:
c:\Program Files\Common Files\VSL Utils>fio-status.exe -a

Found 1 VSL driver package:
   4.3.7 build 1205 Storport Driver: loaded

Found 1 ioMemory device in this system

Adapter: ioMono  (driver 4.3.7)
        ioMemory SX350-3200, Product Number:HJ7HN, SN:US0HJ7HN7605466R0021A00
        ioMemory Adapter Controller, PN:NVV4D
        Product UUID:7d2a787d-0ebd-55a8-b59c-356922870508
        PCIe Bus voltage: avg 12.20V
        PCIe Bus current: avg 0.63A
        PCIe Bus power: avg 7.65W
        PCIe Power limit threshold: 24.75W
        PCIe slot available power: unavailable
        Connected ioMemory modules:
          fct0: 02:00.0,        Product Number:HJ7HN, SN:US0HJ7HN7605466R0021A00

fct0    Detached
        ioMemory Adapter Controller, Product Number:HJ7HN, SN:1623D04BF
        ioMemory Adapter Controller, PN:NVV4D
        Microcode Versions: App:0.0.15.0
        Powerloss protection: protected
        PCI:02:00.0
        Vendor:1aed, Device:3002, Sub vendor:1028, Sub device:1fbf
        Firmware v8.9.9, rev 20200113 Public
        Geometry and capacity information not available.
        Format: not low-level formatted
        PCIe slot available power: 25.00W
        PCIe negotiated link: 8 lanes at 5.0 Gt/sec each, 4000.00 MBytes/sec total
        Internal temperature: 43.80 degC, max 50.69 degC
        Internal voltage: avg 1.01V, max 1.01V
        Aux voltage: avg 1.79V, max 1.80V
        Rated PBW: 11.00 PB, 100.00% remaining
        Lifetime data volumes:
           Physical bytes written: 1,900,544
           Physical bytes read   : 592,281,600
        RAM usage:
           Current: 34,240,000 bytes
           Peak   : 34,240,000 bytes