Notes and thoughts on various aspects of computer storage, mostly centered on data recovery. Year 2026 04 Mar 2026 - ZVOL timestamps in ZFS 20 Apr 2026 - Data recovery of expanded ZFS pools 14 May 2026 - Complex ZFS layout features - dRAID, RAIDZ expansion, AnyRaid 11 June 2026 - Adding a new vdev vs. expanding an existing vdev in ZFS - the difference and its significance. 21 July 2026 - USB-to-SATA adapters revisited 22 July 2026 - Thin provisioning and data recovery Year 2025 17 Apr 2025 - Encryption is probably a net negative Year 2024 16 Jun 2024 - Copy-on-write, wandering trees, and the impact on data recovery Year 2023 11 Jan 2023 - Unraid 03 Feb 2023 - Disk imager benchmarks 14 Mar 2023 - Encryption keys in storage encryption 19 April 2023 - Simplified theory of copy-on-write filesystems 26 April 2023 - Preventing data changes during the recovery Year 2022 22 Jun 2022 - ZFS and power failures revisited 22 Feb 2022 - FreeNAS, TrueNAS, GELI, and native ZFS encryption 05 Sep 2022 - A rant about NAS OSes, September 2022 02 Nov 2022 - Designing a recoverable filesystem 25 Nov 2022 - ZFS and ECC RAM rant Year 2021 26 Apr 2021 - ZFS and power failures 21 May 2021 - What is the best storage layout for a Chia mining rig? 19 Jun 2021 - ZFS, hard drives, partitions, and fault tolerance. Also, fault domains. 3 Sep 2021 - Carving AVI files. 3 Oct 2021 - Narrow vs. wide and tall vs. short disk arrays. Year 2020 07 Sep 2020 - RAID 10 (1+0) vs RAID 01 (0+1) 13 Nov 2020 - Undeleting ZFS datasets Year 2019 3 Jan 2019 - Sad thing about ZFS and FreeNAS... 5 Jan 2019 - Undelete files on ZFS 15 Jan 2019 - Quick test for unrecoverable memory cards 20 Jan 2019 - Working without a clone - is it safe? 7 Feb 2019 - Filesystem structure and data recovery 10 Feb 2019 - The curious case of missing ftyp 15 Feb 2019 - How to create good sample files 18 Feb 2019 - Progress bars in data recovery 21 Feb 2019 - What can be recovered from half of a ZFS stripe set? 25 Feb 2019 - How much can be recovered from a single-disk ZFS pool? 29 May 2019 - Contiguous, Fragmented, and Damaged files in Klennet Carver. 14 Jun 2019 - Recovering files to a share on the network 15 Jun 2019 - Partial recovery of damaged files from ZFS 04 Jul 2019 - ZFS RAIDZ vs. traditional RAID 04 Aug 2019 - RAID 10 quirks in ZFS 08 Aug 2019 - There is no fsck for ZFS. Why? 01 Sep 2019 - Use dissimilar systems for backup 05 Sep 2019 - Disks, Partitions, Pools, Volumes, Datasets, and Filesystems 26 Dec 2019 - Recovery of large ZFS pools Year 2018 3 Jan 2018 - Klennet Carver vs. partially overwritten files 24 Jan 2018 - Comment on Runtime's (GetDataBack) 'Fragmented files are not recoverable' 2 Feb 2018 - Compact Disc rot 4 Feb 2018 - Parallel Unique Path (PUP) carving, illustrated 3 Mar 2018 - Pricing and freebies in data recovery 7 Mar 2018 - Amount of fragmentation on memory cards - from real-life recoveries 6 Apr 2018 - Bifragment gap carving in real-world applications 14 Apr 2018 - USB adapters silently change drive sector size 16 Apr 2018 - Write blockers are not effective with SSDs 5 Jun 2018 - Reviews, comparison testing, and challenges in data recovery 1 Oct 2018 - Determining RAID block size and starting sector, simple example 2 Oct 2018 - Analyzing block map in RAID 0 13 Nov 2018 - Analyzing a simple RAID 5 20 Dec 2018 - There is no JBOD in ZFS (most of the time) 30 Dec 2018 - Recovery of destroyed or corrupt ZFS pools Year 2017 3 Apr 2017 - Power saving settings and data recovery 24 Apr 2017 - Disk image files vs. physical disk clones 7 Jul 2017 - Carving for fragmented files 27 Aug 2017 - On the complexity of file carving 28 Sep 2017 - USB and bad blocks 29 Sep 2017 - Difference between fixing JPEG files and full-scale carving 6 Oct 2017 - Zero-sized devices 11 Oct 2017 - Filesystem awareness in Klennet Carver 14 Oct 2017 - Correct hard drive orientation - can you mount a hard drive sideways? 9 Nov 2017 - Fragmentation in video files vs. in image files 10 Nov 2017 - Dash camera is not quite a black box