Overclock.net › Forums › Components › Hard Drives & Storage › SSD › OCZ firmware 2.25 - TRIM doesn't work (bug/regression) & bad OCZ experience
New Posts  All Forums:Forum Nav:

OCZ firmware 2.25 - TRIM doesn't work (bug/regression) & bad OCZ experience

Poll Results: Do you have OCZ Vertex/Agility/Solid/RevoDrive 3 with firmware 2.25 and TRIM is working for you?

 
  • 0% (0)
    yes
  • 100% (2)
    no
2 Total Votes  
post #1 of 8
Thread Starter 
Hello,

A little history first (you can skip this, but it's here to show the whole picture):
Maybe someone will be interested of my very negative experience with OCZ.
Somewhere around a year ago, I bought Agility 3 120GB with firmware (AFAIR) 2.09. TRIM was not working there, but it was by the time they released firmware 2.15 and after that update it was all working fine. Exactly, was.

Some time ago I checked and noticed firmware 2.22 - looked like they fixed more issues, so I installed it. Didn't last long when I start getting input/output errors after few minutes after system start. Eventually checking this issue I've accidentally put laptop to sleep. Disk didn't woke up.

I asked google and it pointed some threads with useful titles on OCZ forums but... many many threads got deleted! Even those with HOWTOs and already SOLVED! But why?! (now I know why but about that later)
So I had to figure out almost everything on my own which took me 4 days to bring SSD back to life by flashing to 2.25.
You can find more in this thread on OCZ forum (if it's not deleted already).
My friends Vertex had the same sleep issue, even the same week but it was sent to service and didn't come back yet.

So here I am with 2.25 firmware.
- - -


After upgrading to 2.25 I checked overall system performance and find out TRIM doesn't work anymore.
Asked about it on OCZ forum but got responses from OCZ team like:
- It works.
- It works, because other OCZ guy said so

So I asked how should I check it because the test I used says it doesn't work anymore:
- it works, believe us, it cannot be checked

Thousands of users (including me) could verify working TRIM on many devices and it's suddenly not possible? ***?!

I found other threads about it and there was the same nonsense that TRIM cannot be tested.
So I gave them some evidence:
  • 2.09 - TRIM didn't work
  • 2.15 - TRIM worked (god, if I only knew how much they'll screw it up, I wouldn't ever change this version)
  • 2.22 - TRIM worked (AFAIR but it had other issues)
  • 2.25 - TRIM doesn't work, again

Same test, same hardware, even same os, just different firmware versions and... different TRIM results.

I even mentioned how they didn't admit to BSOD before and I guess that was too much for them to handle so... they deleted my post without any warning/notifications/etc. Just like all those threads.
IMHO they're trying to cover their incompetence in a really wrong way.

I wanted to downgrade to 2.15 but... they said "it's not possible" - again, ***?
You can't backup your firmware, you can't even upgrade to previous version, you're sentenced to their newest (working or not) firmware.

That's not all, you also need freakin internet connection to update a firmware. The hell, WHY?!
You have to download at least a few MB or even around 150 if your using they live cd and they can't simply put there 443kB?! (exact size of a firmware)

There is a way to install pretty much any firmware you want if you've got a firmware file.
Unfortunately they seem to keep them in one location for each major version, which are:
Flashing is a little tricky and requires changing the hosts - more info on request.
WARNING: downgrade from 2.25 to 2.22 may cause the same issue I had with putting ssd to sleep - it's fixable via update to 2.25 without data loss, but rough though.


Can anyone confirm that TRIM doesn't work on 2.25?

Here is the test I've been using:
Code:
$ sudo su
$ cd /whatever/your/ssd/path/is
$ dd if=/dev/urandom of=tempfile count=100 bs=512k oflag=direct
$ hdparm --fibmap tempfile
$ hdparm --read-sector 1234 /dev/sda # where 1234 is the number under "begin_LBA" from the command above and /dev/sda is your SSD
$ rm tempfile
$ sync
$ hdparm --read-sector 1234 /dev/sda # same as above

rozwell
Edited by rozwell - 11/24/12 at 3:03pm
post #2 of 8
Thanks been looking for a way to manually flash ocz firmware, are those firmware files for vertex 3 or agility 3? Would there be a way to browse more of the firmware directorys? Is the below command all thats needed to flash the firmware or is more needed?
Silverstone TJ09
(15 items)
 
 
Lian Li PC-A75
(12 items)
 
CPUMotherboardGraphicsRAM
I7-3820 4.5ghz EVGA X79 FTW XFX 7970 Geil Blackdragon 32gb 1666 
Hard DriveCoolingOSMonitor
Revodrive X2 240gb & Vertex 3 MI 120gb Thermalright Venomous X Archlinux & Windows 7 x64 Dell 2407WFP Rev. A04 
PowerCaseMouseMouse Pad
EVGA G2 850w Silverstone TJ09 Razer Lachesis  Razer Destructor 
Audio
Sennheiser MOMENTUM 
CPUMotherboardGraphicsRAM
I7-3820 ES EVGA X79 FTW XFX 7770 Geil Black Dragon 4x8gb 32gb 1600mhz 
Hard DriveCoolingOSMonitor
Vertex 3 60gb x2 Thermalright Venomous X Archlinux Dell U2410 
PowerCase
Silverstone Olympia 750w Lian Li PC-7B plus II 
CPUMotherboardGraphicsRAM
E5-2628L V2 ES EVGA X79 Classified XFX 7770 Geil Black Dragon 32gb 
Hard DriveCoolingMonitorPower
Ocz Vertex 3 120gb Thermalright HR-01 X Dell U3011 Silverstone Decathlon 750w 
CaseMouseMouse Pad
Lian Li PC-A75 Razer Lachesis Razer Destructor 
  hide details  
Reply
Silverstone TJ09
(15 items)
 
 
Lian Li PC-A75
(12 items)
 
CPUMotherboardGraphicsRAM
I7-3820 4.5ghz EVGA X79 FTW XFX 7970 Geil Blackdragon 32gb 1666 
Hard DriveCoolingOSMonitor
Revodrive X2 240gb & Vertex 3 MI 120gb Thermalright Venomous X Archlinux & Windows 7 x64 Dell 2407WFP Rev. A04 
PowerCaseMouseMouse Pad
EVGA G2 850w Silverstone TJ09 Razer Lachesis  Razer Destructor 
Audio
Sennheiser MOMENTUM 
CPUMotherboardGraphicsRAM
I7-3820 ES EVGA X79 FTW XFX 7770 Geil Black Dragon 4x8gb 32gb 1600mhz 
Hard DriveCoolingOSMonitor
Vertex 3 60gb x2 Thermalright Venomous X Archlinux Dell U2410 
PowerCase
Silverstone Olympia 750w Lian Li PC-7B plus II 
CPUMotherboardGraphicsRAM
E5-2628L V2 ES EVGA X79 Classified XFX 7770 Geil Black Dragon 32gb 
Hard DriveCoolingMonitorPower
Ocz Vertex 3 120gb Thermalright HR-01 X Dell U3011 Silverstone Decathlon 750w 
CaseMouseMouse Pad
Lian Li PC-A75 Razer Lachesis Razer Destructor 
  hide details  
Reply
post #3 of 8
Never buying an OCZ product. Disgraceful.
post #4 of 8
Thread Starter 
Quote:
Originally Posted by jrad View Post

Thanks been looking for a way to manually flash ocz firmware, are those firmware files for vertex 3 or agility 3?
These are for Agility 3, Vertex has different urls.
Quote:
Originally Posted by jrad View Post

Would there be a way to browse more of the firmware directorys?
I don't think so, server doesn't allow that. But you can probably google some urls for Vertex.
Quote:
Originally Posted by jrad View Post

Is the below command all thats needed to flash the firmware or is more needed?
The commands are for TRIM testing, downgrading is more complicated than that:


Warning: You may brick your drive! You may lose warranty! Do it on your own risk.
OCZ officially doesn't support downgrading and once you tell them you tried that, they probably won't help you at all.


I'll try to write the procedure while I still remember it. (I already got rid of Agility)
This is an instruction for downgrading 2.25 firmware (ubuntu based) but it might work with other firmwares and will be similar:
  • run the PC_BootableTools
  • locate clout binary and copy it for some later use // Note: it's a wrapper for few utilities including fwupd
  • go back to normal linux
  • add to /etc/hosts :
    Code:
    127.0.0.1       update.ocztechnology.com
    
    Note: this requires a reboot, unless you know how to reload hosts without it
  • using web server (in my case apache) or something which allows to read your files from http://127.0.0.1/ , download and put those files locally (remember about catalog structure):
    Code:
    http://update.ocztechnology.com/firmware/fum.php?d=latest&f=22853&v=2.22
    save to: firmware/fum.php
    
    http://update.ocztechnology.com/firmware/tools.xml
    save to: firmware/tools.xml
    
    this is the 2.22 firmware path: http://www.oczenterprise.com/support/firmware/MN0MTV660VYQ0BGL/release/22853
    save it to: firmware/release/sf/ppro/consumer/22853
    
    Note:
    • f parameter is your firmware ID(?) so for Agility 3 it's 22853 but for Vertex will be different.
    • v is a current version.
    • fum.php content is:
      Code:
      <?xml version="1.0"?><fw><ver>2.25</ver><dir>release/sf/ppro/consumer</dir></fw>
      
      where ver is the latest firmware version, and dir is the firmware path
    • - tools.xml content is:
      Code:
      <?xml version="1.0"?>
      <tools>
          <charlie>
              <minver>3.01.05</minver>
          </charlie>
          <tango>
              <minver>4.0.4</minver>
          </tango>
      </tools>
      
      which looks like updater version check to me.
  • Once you've got those files locally, you'll have to change fum.php content and replace
    Code:
    <ver>2.25</ver>
    
    with some lower version than (2.22) you want to install. Let's put there 2.20 so it will look like this:
    Code:
    <?xml version="1.0"?><fw><ver>2.20</ver><dir>release/sf/ppro/consumer</dir></fw>
    
  • Once you've got all files downloaded and modified, check if it's working (returns 2.20) by opening this url:
    http://update.ocztechnology.com/firmware/fum.php
    Note: you might want to verify that opening this url without any of the parameters will normally return empty content. Our modified file will always return the same content regardless the parameters.
  • If everything went fine, you're ready to perform a downgrade, execute as root: // with sudo
    Code:
    # ./clout -log -fwupd /dev/sdX
    
    where /dev/sdX is your ssd drive
  • and you're either done and running lower firmware version wink.gif OR you'll in trouble

Since OCZ deleted all the useful threads on their forum, this one might get deleted anytime:
http://www.ocztechnologyforum.com/forum/showthread.php?106925-Agility-3-after-sleep-and-bringing-it-back-to-life
I'll write how to recover the fail-downgrade bricked drive so.. read on.

By trouble I mean - your agility will look like bricked and respond for only a few seconds after connecting.
But don't worry, it's fixable by upgrading back to 2.25 wink.gif
To do so, basically you need to have the 2.25 firmware file and simply replace it as described in the downgrade instruction.
Why? Because normally updater will try to download the firmware over the internet and it takes a second or two - you might not have that much time.
Reading it locally like this will reduce the time to minimum.

To perform this recovery firmware update, start the computer with disk plugged in, turn on the system and disconnect it.
You're gonna do something called "hot-plugging" and it worked for me on a laptop when the disk was responding for around 1s only.
Prepare yourself a command:
Code:
# ./clout -log -force -fwupd /dev/sdX
Plug the disk and run the command immediately after plugging in the disk. It sometimes may require a little delay like 1s or more for your system to detect the disk. Don't worry if it gets stuck on 15%, 23%. Just wait a couple of minutes, disconnect the disk and try again. It happened to me and I was worried I'll brick the disk totally. I didn't.
After mastering this method, it took me around half an hour to successfully upgrade the firmware and bring Agility back to life.
Note: on desktop based machines, you might want to try and not connect power cable - google hot plugging



And a little update:
OCZ officialy claims that they "do know that TRIM is working in 2.25": btw: they blocked this thread
http://www.ocztechnologyforum.com/forum/showthread.php?107212-TRIM-doesn-t-work-anymore-on-Agility-3-with-2-25-firmware
and:
Quote:
"firmware 2.25 DOES NOT read zero after TRIM command is received (...) because doing so is slow. Older firmware did return zeros (and as such, TRIM on older firmware was slower) but the newer firmware does not return zeros."
Does not return zeros? It could return F's only but it still returns the real data.
So from what I could check for last 2 or 3 months, it's so slooow that it doesn't happen at all.
IMHO If you delete the data and still can read it (after a month!), simply proves that TRIM doesn't work. Or like OCZ says, it's just slow (sic).


Like you might already noticed, I'm already not an unhappy Agility 3 owner.
With a little help of KrypteX, I decided to buy Corsair GS 128GB which I will check and post the results of the TRIM test.
It's supposed to have the same SandForce driver so in theory the results should be the same as on Agility.
We'll find out soon.
Edited by rozwell - 1/23/13 at 6:30pm
post #5 of 8
This is awesome its almost like a local version their updater biggrin.gif, Just downloaded and saved everything in case ocz removes things. Going to test this out once i can locate the proper firmware for the Vertex 3. Perfect guide very nice findings thumb.gif I'll keep updated once i can find the vertex 3 firmware file 2.15 or 2.22 to test this.
Silverstone TJ09
(15 items)
 
 
Lian Li PC-A75
(12 items)
 
CPUMotherboardGraphicsRAM
I7-3820 4.5ghz EVGA X79 FTW XFX 7970 Geil Blackdragon 32gb 1666 
Hard DriveCoolingOSMonitor
Revodrive X2 240gb & Vertex 3 MI 120gb Thermalright Venomous X Archlinux & Windows 7 x64 Dell 2407WFP Rev. A04 
PowerCaseMouseMouse Pad
EVGA G2 850w Silverstone TJ09 Razer Lachesis  Razer Destructor 
Audio
Sennheiser MOMENTUM 
CPUMotherboardGraphicsRAM
I7-3820 ES EVGA X79 FTW XFX 7770 Geil Black Dragon 4x8gb 32gb 1600mhz 
Hard DriveCoolingOSMonitor
Vertex 3 60gb x2 Thermalright Venomous X Archlinux Dell U2410 
PowerCase
Silverstone Olympia 750w Lian Li PC-7B plus II 
CPUMotherboardGraphicsRAM
E5-2628L V2 ES EVGA X79 Classified XFX 7770 Geil Black Dragon 32gb 
Hard DriveCoolingMonitorPower
Ocz Vertex 3 120gb Thermalright HR-01 X Dell U3011 Silverstone Decathlon 750w 
CaseMouseMouse Pad
Lian Li PC-A75 Razer Lachesis Razer Destructor 
  hide details  
Reply
Silverstone TJ09
(15 items)
 
 
Lian Li PC-A75
(12 items)
 
CPUMotherboardGraphicsRAM
I7-3820 4.5ghz EVGA X79 FTW XFX 7970 Geil Blackdragon 32gb 1666 
Hard DriveCoolingOSMonitor
Revodrive X2 240gb & Vertex 3 MI 120gb Thermalright Venomous X Archlinux & Windows 7 x64 Dell 2407WFP Rev. A04 
PowerCaseMouseMouse Pad
EVGA G2 850w Silverstone TJ09 Razer Lachesis  Razer Destructor 
Audio
Sennheiser MOMENTUM 
CPUMotherboardGraphicsRAM
I7-3820 ES EVGA X79 FTW XFX 7770 Geil Black Dragon 4x8gb 32gb 1600mhz 
Hard DriveCoolingOSMonitor
Vertex 3 60gb x2 Thermalright Venomous X Archlinux Dell U2410 
PowerCase
Silverstone Olympia 750w Lian Li PC-7B plus II 
CPUMotherboardGraphicsRAM
E5-2628L V2 ES EVGA X79 Classified XFX 7770 Geil Black Dragon 32gb 
Hard DriveCoolingMonitorPower
Ocz Vertex 3 120gb Thermalright HR-01 X Dell U3011 Silverstone Decathlon 750w 
CaseMouseMouse Pad
Lian Li PC-A75 Razer Lachesis Razer Destructor 
  hide details  
Reply
post #6 of 8
Thread Starter 
Unfortunately you can find 2.22 on their server but not 2.15 because they were at the same location.

And I just remembered you can read the model ID for the firmware using clout:
Code:
# ./clout -cfg /dev/sdb
clout v3.02.00.3129: cli ssd drive tool

/dev/sdb:
        Model Number    : OCZ-AGILITY3                            
        Serial Number    : OCZ-################
        Firmware Revision: 2.25    
        Config          : 22853
Note: this is from my archive

So it's there under config entry.
Post your output for others? without serial number - we don't want OCZ to get it wink.gif

It is also possible to get the exact location of the 2.22 firmware (2.25 is obvious) using packets sniffer.
AFAIR this updater will try to install 2.22:
http://www.ocztechnology.com/files/ssd_tools/fwupd_v2.12.05.zip
So if you use sniffer and capture the traffic, you'll get the location.


More about clout:
Code:
# clout -help
Usage: clout [-log] [-force] -bios [-pkg <package> | -loc <location>] | -cfg | -fwupd [-pkg <package> | -loc <location>] | -serase | -smart <device>...
Options:
-help                Display this message
-bios                Update BIOS of drive(s)
-cfg                  Print the configuration of drive(s)
-fwupd                Update firmware of drive(s)
-serase              Secure erase drive(s)
-smart                Print SMART data from drive(s)
-force                Force the requested operation and never ask for
                          confirmation; some operations may destroy data
-loc <location>      Get firmware/BIOS from <location> on  the webserver
-pkg <package>        Get firmware/BIOS files from package file <package>
-log[=<logname>]      Enable logging to file; <logname> will be used as the
                          filename if specified

device can be: 
- device paths separated by spaces
  clout -log -fwupd /dev/sda /dev/sdb /dev/sdc

- device paths with wildcards * and ?
  clout -log -fwupd /dev/sd*
  clout -log -fwupd /dev/sd?

- range of device paths
  clout -log -fwupd /dev/sd[a-d]
post #7 of 8
Interesting, if determinate read after trim is supported then once a read to a trimmed LBA occurs it should always return the same data, so that data should not be the old data that was there. No reason for trim not to be able to be instantaneous, after all when you overwrite a file the LBA mapping has to be released and a new mapping provided on the fly. In the case of trim, only the releasing needs to occur.

It does seem peculiar that OCZ have decided to return ones in their later drives such as Vertex 4 and AFAIK vector. Maybe someone thought it a good idea as erased flash media returns ones but since there is no mapping then the firmware is free to use what ever it likes. With ones some software may see the first sector with partition data set to FFFF... instead of zero's. In the first instance that could look like huge unknown partitions exist and leave the disk unusable while with zero's it would be seen as an empty disk.

Quote:
"firmware 2.25 DOES NOT read zero after TRIM command is received (...) because doing so is slow.

Having the firmware generate zero's on the fly IMO should be much quicker than reading data from the physical media so that comment does not seem to make sense. There is also a setting in the ATA identify data that is "Read Zero After Trim" and maybe that is what this statement is referring to, and while it may not be set for many/all of the OCZ drives, zero's are returnred on quite a few of them.
post #8 of 8
Thread Starter 
It turns out, they might not lie about not returning zeros. They just didn't explain it well enough for me to believe them. Especially when they removed some of my posts without informing me and IMHO without a reason.

Anyway, this is the info about TRIM for both, Agility and Corsair:
Code:
$ sudo hdparm -I /dev/sda | grep -i trim
           *    Data Set Management TRIM supported (limit 1 block)
           *    Deterministic read data after TRIM
It was Agility 2.25 firmware, don't have any info about 2.15.
And it's 5.05A for Corsair.

But according to this site:
http://wiki.ubuntuusers.de/SSD/TRIM#Testen-des-TRIM-der-SSD
There are 3 types of TRIM behavior:
  1. Deterministic read data after TRIM - returns any data, but not the output data before TRIM
  2. Deterministic read ZEROs after TRIM - returns zeros
  3. No additional line of output, the behavior of shared data blocks is undefined
I guess someone who knows more in this matter could explain more.


I admit I was probably wrong about TRIM not working on Agility but at the end, I've got faster drive with 8GB more and I don't have to deal with OCZ anymore. Maybe this thread will be one of many to help people decide which drive to choose.


p.s.
Corsair works in any SATA slot of my Samsung RF711 (latest bios installed).
Agility worked only in second - in first one wasn't even detected.
May be a laptop issue. May be an OCZ issue. I don't know, not enough data to evaluate.
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: SSD
Overclock.net › Forums › Components › Hard Drives & Storage › SSD › OCZ firmware 2.25 - TRIM doesn't work (bug/regression) & bad OCZ experience