File talk:Hard drive capacity over time.svg

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Legacy file information[edit]

Here is a copy of metadata about this image that got difficult to find after subsequent re-format from PNG to to SVG and then move to Commons. As of 2011, info can still be found at en:File talk:Hard drive capacity over time.png and en:File:Hard drive capacity over time.png. The gnuplot script needs some tweaking to produce SVG. Hankwang (talk) 20:27, 18 September 2011 (UTC)[reply]

Current version including 2008 data. Script and data to generate the plot below. I donate this version (including the 2008 data) to the public domain. Hankwang 17:00, 2 March 2008 (UTC)[reply]

Public domain I, the copyright holder of this work, release this work into the public domain. This applies worldwide.
In some countries this may not be legally possible; if so:
I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.

See also: File talk:Hard drive capacity over time.png#Data

Old description[edit]

"Personal Computer hard disk drive capacity (in gigabytes) over time. Data culled from [1]. This is very much a first cut -- an improved image with more data extending further back in time would be much better than this. The spreadsheet I used is available; leave me a message on my talk page."

File information[edit]

This file was marked as equivalent to w:Image:KrydersLaw.png from en.wikipedia.org according to the NowCommons tag.

This is the edit history for that file's page:

  • [2006-02-01T06:58:28Z] Dantheox ([[Personal Computer]] [[hard disk]] capacity (in [[Gigabytes]]) over time. Data culled from [--www.littletechshoppe.com/ns1625/winchest.html]. This is very much a first cut -- an improved image with more data extending further back in time would be m)
  • [2006-02-01T07:09:04Z] Dantheox (/* Summary */ source data available)
  • [2006-10-27T23:39:50Z] Omegatron («+{{nowCommons|Hard drive capacity over time.png}}»)
  • [2006-10-27T23:40:13Z] Omegatron («+"Image:"»)


Original title:

  • KrydersLaw.png


Upload log:

  • (del) (cur) 06:58, 1 February 2006 . . Dantheox (Talk | contribs) . . 585×428 (12,030 bytes) (Personal Computer hard disk capacity (in Gigabytes) over time. Data culled from [--www.littletechshoppe.com/ns1625/winchest.html]. This is very much a first cut -- an improved image with more data extending further back in time would be m)


Text:


== Summary ==
[[Personal Computer]] [[hard disk]] capacity (in [[Gigabytes]]) over time. Data culled from [--www.littletechshoppe.com/ns1625/winchest.html]. This is very much a first cut -- an improved image with more data extending further back in time would be much better than this. The spreadsheet I used is available; leave me a message on my [[User_Talk:Dantheox|talk page]].
== Licensing ==

{{PD-self}}


Poccil 14:02, 30 October 2006 (UTC)[reply]

Data[edit]

This was posted to File:Hard drive capacity over time.png/data by User:Hankwang at 2008-03-02T17:54:13 and 2008-03-02T18:04:01. --JuTa (talk) 02:14, 31 July 2011 (UTC)[reply]

Gnuplot script(outdated)[edit]

# gnuplot script
# outdated see https://commons.wikimedia.org/wiki/File:Hard_drive_capacity_over_time.svg for the current version
set log y
set xra [1979:*]
unset grid
unset key
set xlabel 'Year'
set ylabel 'Capacity (GB)'
set style data points
set mytics 10

## gnuplot version with Fedora Core 3
# set term png small picsize 600 400 xffffff x000000 xa0a0a0 x00bf00 xbf0000 x0000bf
## gnuplot version with Ubuntu Linux 6,7
set term png small size 600,400 xffffff x000000 xa0a0a0 x00bf00 xbf0000 x0000bf

set output 'Hard_drive_capacity_over_time.png'

c0=0.00195
k=0.4487
cap(y) = c0*exp(k*(y-1980))
set style line 1 lt 2 lw 2 pt 2 ps 0.5
set style line 2 lt 3 lw 2

fit log(cap(x)) 'hdspace-e.dat' usi ($1+($2-1)/12.+($3-1)/365.):(log($4)) via k,c0
set format x '%4.0f-Jan'
plot \
  'hdspace-e.dat' usi ($1+($2-1)/12.+($3-1)/365.):4 ls 1, \
   cap(x) ls 2

Gnuplot is available for all platforms.

Data (outdated)[edit]

Filename hdspace-e.dat for use in the above script. Data source: Historical Notes about the Cost of Hard Drive Storage Space (moved here), with data for 2008 added.

# outdated see https://commons.wikimedia.org/wiki/File:Hard_drive_capacity_over_time.svg for the current version
1956 00 15   0.005
1980 01 15   0.026
1980 07 15   0.018
1981 09 15   0.005
1981 11 15   0.005
1981 12 15   0.0063
1981 12 15   0.01
1981 12 15   0.01
1981 12 15   0.019
1981 12 15   0.02
1981 12 15   0.026
1981 12 15   0.026
1983 12 15   0.006
1983 12 15   0.01
1983 12 15   0.01
1983 12 15   0.02
1983 12 15   0.01
1983 12 15   0.016
1983 12 15   0.021
1984 03 15   0.005
1984 03 15   0.005
1984 03 15   0.01
1984 03 15   0.01
1984 03 15   0.015
1984 03 15   0.015
1984 03 15   0.02
1984 03 15   0.02
1984 05 15   0.005
1984 05 15   0.006
1984 05 15   0.011
1984 05 15   0.01
1984 05 15   0.011
1984 05 15   0.01
1984 05 15   0.02
1984 05 15   0.015
1984 05 15   0.021
1984 05 15   0.01
1984 05 15   0.023
1985 07 15   0.01
1987 10 15   0.01
1987 10 15   0.02
1987 10 15   0.04
1988 05 15   0.02
1988 05 15   0.03
1988 05 15   0.045
1988 05 15   0.06
1988 05 15   0.25
1989 03 15   0.02
1989 03 15   0.04
1995 01 15   1.7
1995 01 15   2.1
1995 01 15   2.9
1995 04 15   0.24
1995 04 15   0.42
1995 04 15   0.52
1995 04 15   0.85
1995 04 15   1.2
1996 06 10   1.6
1996 08 14   1.76
1996 08 14   2
1996 09 15   2.5
1996 09 15   3.2
1997 08 13   2.1
1997 08 13   3.1
1997 08 13   4
1997 08 24   2.1
1997 08 24   3.1
1997 08 24   3.5
1997 08 24   4.3
1997 08 24   5.1
1997 09 05   7
1997 11 29   3.2
1997 11 29   3.2
1997 11 29   4.3
1997 11 29   4.3
1997 11 29   6.4
1997 11 29   6.4
1997 12 03   5.1
1997 12 03   6.4
1997 12 03   5.2
1997 12 03   7
1997 12 03   8.4
1998 01 16   6.4
1998 01 16   4.3
1998 01 16   6.4
1998 01 16   8.4
1998 02 03   5.2
1998 02 03   6.4
1998 04 02   5.1
1998 04 02   4.3
1998 04 02   6.4
1998 04 02   6.4
1998 04 04   5.2
1998 04 04   4.3
1998 04 04   6.4
1998 04 04   5.2
1998 04 04   9
1998 04 17   4.3
1998 04 17   5.2
1998 04 17   6.4
1998 05 02   6.4
1998 05 09   6.4
1998 05 11   3.2
1998 05 11   4.3
1998 05 11   5.2
1998 05 11   6.4
1998 06 06   5.7
1998 06 12   4.3
1998 06 12   6.4
1998 07 15   5.2
1998 07 31   5.1
1998 07 31   5.2
1998 07 31   6.4
1998 07 31   8.4
1998 07 31   6.4
1998 08 01   4
1998 08 06   5.1
1998 08 14   6.4
1998 08 26   6.4
1998 09 01   8.4
1998 09 01   6.8
1998 09 10   5.1
1998 10 01   6.4
1999 02 12   8
1999 02 26   8.4
1999 02 26   8
1999 02 27   19.2
1999 03 01   8.4
1999 03 01   10.2
1999 03 03   8.4
1999 03 03   10.2
1999 04 01   10.2
1999 04 01   8.4
1999 05 21   6.4
1999 05 27   10.2
1999 05 27   8.4
1999 05 27   17.3
1999 05 28   10
1999 07 21   8.4
1999 07 30   6.4
1999 09 25   10.2
1999 10 01   10.2
1999 10 01   13.6
1999 10 01   20
1999 10 01   27.3
1999 10 01   13.6
1999 12 01   20.5
1999 12 01   18.2
1999 12 01   10.2
1999 12 01   10.2
1999 12 01   13
1999 12 01   13
1999 12 01   20.4
1999 12 01   17.3
1999 12 01   27.3
1999 12 01   17.3
2000 02 01   10.2
2000 02 01   20.4
2000 02 01   13.6
2000 02 01   12.9
2000 02 01   13.6
2000 02 01   13
2000 02 01   17.3
2000 02 01   27.3
2000 02 01   17.3
2000 02 01   17.3
2000 02 01   20.4
2000 04 01   20.5
2000 04 01   15.2
2000 04 01   20
2000 04 01   15
2000 04 01   17.2
2000 04 01   28
2000 04 01   17.3
2000 04 01   20.3
2000 04 01   17
2000 04 01   27
2000 04 01   20.4
2000 04 01   36.5
2000 04 01   27
2000 04 01   20
2000 04 01   20
2000 04 01   30
2000 05 12   13.6
2000 05 12   30
2000 05 12   40
2000 06 02   15
2000 08 01   15
2000 08 01   30.5
2000 08 01   20
2000 08 19   40.9
2000 08 19   15.3
2000 08 19   30.7
2000 08 19   20.4
2000 08 19   30.7
2000 08 25   15
2000 08 25   40
2000 08 25   30
2000 10 27   30.7
2000 10 27   40.9
2000 10 27   61.4
2000 10 27   81.9
2000 10 27   30.7
2000 10 27   40.9
2000 11 01   30
2000 12 13   30
2000 12 20   80
2001 01 14   61
2001 01 14   82
2001 01 14   40
2001 04 25   40
2001 04 25   30
2001 04 25   40
2001 05 01   30
2001 05 01   82
2001 05 01   61
2001 05 01   40
2001 06 28   40
2001 07 06   60
2001 07 20   80
2001 08 31   60
2001 11 30   100
2001 12 01   40
2002 03 08   40
2002 07 27   40
2002 08 09   100
2002 08 16   60
2002 08 16   80
2002 08 23   40
2002 08 30   100
2002 09 06   120
2002 09 06   40
2002 09 20   40
2002 09 20   60
2003 10 11   40
2003 10 11   120
2003 11 29   80
2003 11 29   80
2003 11 29   120
2003 11 29   120
2003 11 29   80
2003 11 29   120
2004 03 27   160
2004 03 27   160
2004 03 27   250
2004 03 27   80
2004 03 27   80
2004 03 27   120
2004 03 27   120
2004 04 02   160
2004 04 16   250
# 2008-03-01: available 3.5 inch internal drives from newegg.com
2008 03 02   150
2008 03 02   250
2008 03 02   500
2008 03 02   1000
# 2009 02 02   2000 # this datapoint seems to be a mistake
# 2009-01-03: 3.5" drives from newegg.com, not counting 2.5" server drive in 3.5" enclosure
2009 01 03   250
2009 01 03   500
2009 01 03   1500
2009 01 20   2000
2010 01 20   5000

Present plot source[edit]

Gnuplot script (outdated)[edit]

# gnuplot script
# outdated see https://commons.wikimedia.org/wiki/File:Hard_drive_capacity_over_time.svg for the current version
set log y
set xra [1979:*]
unset grid
unset key
set xlabel 'Year'
set ylabel 'Capacity (GB)'
set style data points
set mytics 10

# set term png small size 600,400 xffffff x000000 xa0a0a0 x00bf00 xbf0000 x0000bf
set term svg size 700,500
set output 'Hard_drive_capacity_over_time.svg'

c0=0.00195
k=0.4487
cap(y) = c0*exp(k*(y-1980))
set style line 1 lt 1 lw 2 pt 2 ps 0.5
set style line 2 lt 3 lw 2

fit log(cap(x)) 'hdspace-e.dat' usi ($1+($2-1)/12.+($3-1)/365.):(log($4)) via k,c0

# leading space in format because year ticks are ambiguous
# (year average or beginning or year?).
set format x '%4.0f.1'
plot \
  'hdspace-e.dat' usi ($1+($2-1)/12.+($3-1)/365.):4 ls 1, \
   cap(x) ls 2

Gnuplot is available for all platforms.

Data (hdspace-e.dat) (outdated)[edit]

# outdated see https://commons.wikimedia.org/wiki/File:Hard_drive_capacity_over_time.svg for the current version
# data 1956-2004 from http://ns1758.ca/winch/winchest.html
1956 00 15   0.005
1980 01 15   0.026
1980 07 15   0.018
1981 09 15   0.005
1981 11 15   0.005
1981 12 15   0.0063
1981 12 15   0.01
1981 12 15   0.01
1981 12 15   0.019
1981 12 15   0.02
1981 12 15   0.026
1981 12 15   0.026
1983 12 15   0.006
1983 12 15   0.01
1983 12 15   0.01
1983 12 15   0.02
1983 12 15   0.01
1983 12 15   0.016
1983 12 15   0.021
1984 03 15   0.005
1984 03 15   0.005
1984 03 15   0.01
1984 03 15   0.01
1984 03 15   0.015
1984 03 15   0.015
1984 03 15   0.02
1984 03 15   0.02
1984 05 15   0.005
1984 05 15   0.006
1984 05 15   0.011
1984 05 15   0.01
1984 05 15   0.011
1984 05 15   0.01
1984 05 15   0.02
1984 05 15   0.015
1984 05 15   0.021
1984 05 15   0.01
1984 05 15   0.023
1985 07 15   0.01
1987 10 15   0.01
1987 10 15   0.02
1987 10 15   0.04
1988 05 15   0.02
1988 05 15   0.03
1988 05 15   0.045
1988 05 15   0.06
1988 05 15   0.25
1989 03 15   0.02
1989 03 15   0.04
1995 01 15   1.7
1995 01 15   2.1
1995 01 15   2.9
1995 04 15   0.24
1995 04 15   0.42
1995 04 15   0.52
1995 04 15   0.85
1995 04 15   1.2
1996 06 10   1.6
1996 08 14   1.76
1996 08 14   2
1996 09 15   2.5
1996 09 15   3.2
1997 08 13   2.1
1997 08 13   3.1
1997 08 13   4
1997 08 24   2.1
1997 08 24   3.1
1997 08 24   3.5
1997 08 24   4.3
1997 08 24   5.1
1997 09 05   7
1997 11 29   3.2
1997 11 29   3.2
1997 11 29   4.3
1997 11 29   4.3
1997 11 29   6.4
1997 11 29   6.4
1997 12 03   5.1
1997 12 03   6.4
1997 12 03   5.2
1997 12 03   7
1997 12 03   8.4
1998 01 16   6.4
1998 01 16   4.3
1998 01 16   6.4
1998 01 16   8.4
1998 02 03   5.2
1998 02 03   6.4
1998 04 02   5.1
1998 04 02   4.3
1998 04 02   6.4
1998 04 02   6.4
1998 04 04   5.2
1998 04 04   4.3
1998 04 04   6.4
1998 04 04   5.2
1998 04 04   9
1998 04 17   4.3
1998 04 17   5.2
1998 04 17   6.4
1998 05 02   6.4
1998 05 09   6.4
1998 05 11   3.2
1998 05 11   4.3
1998 05 11   5.2
1998 05 11   6.4
1998 06 06   5.7
1998 06 12   4.3
1998 06 12   6.4
1998 07 15   5.2
1998 07 31   5.1
1998 07 31   5.2
1998 07 31   6.4
1998 07 31   8.4
1998 07 31   6.4
1998 08 01   4
1998 08 06   5.1
1998 08 14   6.4
1998 08 26   6.4
1998 09 01   8.4
1998 09 01   6.8
1998 09 10   5.1
1998 10 01   6.4
1999 02 12   8
1999 02 26   8.4
1999 02 26   8
1999 02 27   19.2
1999 03 01   8.4
1999 03 01   10.2
1999 03 03   8.4
1999 03 03   10.2
1999 04 01   10.2
1999 04 01   8.4
1999 05 21   6.4
1999 05 27   10.2
1999 05 27   8.4
1999 05 27   17.3
1999 05 28   10
1999 07 21   8.4
1999 07 30   6.4
1999 09 25   10.2
1999 10 01   10.2
1999 10 01   13.6
1999 10 01   20
1999 10 01   27.3
1999 10 01   13.6
1999 12 01   20.5
1999 12 01   18.2
1999 12 01   10.2
1999 12 01   10.2
1999 12 01   13
1999 12 01   13
1999 12 01   20.4
1999 12 01   17.3
1999 12 01   27.3
1999 12 01   17.3
2000 02 01   10.2
2000 02 01   20.4
2000 02 01   13.6
2000 02 01   12.9
2000 02 01   13.6
2000 02 01   13
2000 02 01   17.3
2000 02 01   27.3
2000 02 01   17.3
2000 02 01   17.3
2000 02 01   20.4
2000 04 01   20.5
2000 04 01   15.2
2000 04 01   20
2000 04 01   15
2000 04 01   17.2
2000 04 01   28
2000 04 01   17.3
2000 04 01   20.3
2000 04 01   17
2000 04 01   27
2000 04 01   20.4
2000 04 01   36.5
2000 04 01   27
2000 04 01   20
2000 04 01   20
2000 04 01   30
2000 05 12   13.6
2000 05 12   30
2000 05 12   40
2000 06 02   15
2000 08 01   15
2000 08 01   30.5
2000 08 01   20
2000 08 19   40.9
2000 08 19   15.3
2000 08 19   30.7
2000 08 19   20.4
2000 08 19   30.7
2000 08 25   15
2000 08 25   40
2000 08 25   30
2000 10 27   30.7
2000 10 27   40.9
2000 10 27   61.4
2000 10 27   81.9
2000 10 27   30.7
2000 10 27   40.9
2000 11 01   30
2000 12 13   30
2000 12 20   80
2001 01 14   61
2001 01 14   82
2001 01 14   40
2001 04 25   40
2001 04 25   30
2001 04 25   40
2001 05 01   30
2001 05 01   82
2001 05 01   61
2001 05 01   40
2001 06 28   40
2001 07 06   60
2001 07 20   80
2001 08 31   60
2001 11 30   100
2001 12 01   40
2002 03 08   40
2002 07 27   40
2002 08 09   100
2002 08 16   60
2002 08 16   80
2002 08 23   40
2002 08 30   100
2002 09 06   120
2002 09 06   40
2002 09 20   40
2002 09 20   60
2003 10 11   40
2003 10 11   120
2003 11 29   80
2003 11 29   80
2003 11 29   120
2003 11 29   120
2003 11 29   80
2003 11 29   120
2004 03 27   160
2004 03 27   160
2004 03 27   250
2004 03 27   80
2004 03 27   80
2004 03 27   120
2004 03 27   120
2004 04 02   160
2004 04 16   250
# 2005-2007 from update of http://ns1758.ca/winch/winchest.html
2005 01 07   160
2005 12 16   250
2007 10 16   250
2007 10 16   500
2007 10 16   1000
# 2008-03-01: available 3.5 inch internal drives from newegg.com
2008 03 02   150
2008 03 02   250
2008 03 02   500
2008 03 02   1000
# 2009 02 02   2000 # this datapoint seems to be a mistake
# 2009-01-03: 3.5" drives from newegg.com, not counting 2.5" server drive in 3.5" enclosure
2009 01 03   250
2009 01 03   500
2009 01 03   1500
2009 01 20   2000
# 3TB: http://www.anandtech.com/show/3858/ (First 3TB Seagate)
2010 08 23 3000
# 4 TB: http://www.anandtech.com/show/4738/ (first 4TB Seagate)
2011 09 07 4000
# 2014-05-15: available 3.5 inch internal drives from newegg.com
2014 05 15   300
2014 05 15   500
2014 05 15   1000
2014 05 15   2000
2014 05 15   3000
2014 05 15   4000

highest advertised / highest produced products[edit]

@Tom94022: Can you please provide a dataset for

  • highest advertised
  • highes procude

HDs? I could update the Diagram.  — Johannes Kalliauer - Talk | Contributions 07:51, 23 December 2018 (UTC)[reply]

It should be highest produced, see source code of Wikipedia:de:Festplattenlaufwerk#Entwicklung_der_Speicherkapazitäten_der_verschiedenen_Baugrößen and older data is based on e.g. newegg.com, which is an online retail shop and the data for 1956-2004 is also based on retail, see the source for this on the Internet Archive. --MrBurns (talk) 21:17, 26 December 2018 (UTC)[reply]
@MrBurns: I dissagree: There should be two lines, then everyone can interpet the data like they want.  — Johannes Kalliauer - Talk | Contributions 23:39, 26 December 2018 (UTC)[reply]
@JoKalliauer: Actually, at the moment, most data is based on retail. If we would add "highest advertised", someone would have to collect the data for that, at best starting from 1980. Also the current format of the image already contains a lot of dots (especially around the year 2000), so adding dots in a different color for "highest advertised" might make the image too cluttered. --MrBurns (talk) 23:46, 26 December 2018 (UTC)[reply]
@MrBurns: I would reduce the dots to only the highest produced/advertised therefor it would be a reduction of points. (now there are often ~6 points at the same time, I would reduce it to maximal 2)  — Johannes Kalliauer - Talk | Contributions 23:53, 26 December 2018 (UTC)[reply]
@JoKalliauer: Ok, I think it is best like this. I think some manufacturers are still producing 160 GB 3.5" HDDs today, so just listing many available capacities doesn't say much about the advancement of technology. But I think in this case the straight line, which is an exponential fit, must also be recalculated, because it is more like an average of all the dots in the graph than just of the maximum produced. --MrBurns (talk) 23:59, 26 December 2018 (UTC)[reply]
@MrBurns: I think the fit is done by fit log(cap(x)) 'hdspace-e.dat' usi ($1+($2-1)/12.+($3-1)/365.):(log($4)) via k,c0.  — Johannes Kalliauer - Talk | Contributions 08:11, 27 December 2018 (UTC)[reply]
@JoKalliauer: Can you do it? I don't have gnuplot installed yet and I don't know how to use it so I would have to find a lot of time for this, which will probably not be possible in the next few days. --MrBurns (talk) 10:35, 27 December 2018 (UTC)[reply]

New, current plot[edit]

Current data as of 2024.05.15


Both data and code can be found here on Github:

Let me also add it here just for the sake of keeping everything in wiki (sorry, no idea how to make this collapsible or anything else with proper formatting)


Date,Capacity,Comments

# IBM Ramac 350 first HDD @ 3.75MB

# data 1980-2004 from http://ns1758.ca/winch/winchest.html

1980-01-15,0.026

1980-07-15,0.018

1981-09-15,0.005

1981-11-15,0.005

1981-12-15,0.0063

1981-12-15,0.01

1981-12-15,0.01

1981-12-15,0.019

1981-12-15,0.02

1981-12-15,0.026

1981-12-15,0.026

1983-12-15,0.006

1983-12-15,0.01

1983-12-15,0.01

1983-12-15,0.02

1983-12-15,0.01

1983-12-15,0.016

1983-12-15,0.021

1984-03-15,0.005

1984-03-15,0.005

1984-03-15,0.01

1984-03-15,0.01

1984-03-15,0.015

1984-03-15,0.015

1984-03-15,0.02

1984-03-15,0.02

1984-05-15,0.005

1984-05-15,0.006

1984-05-15,0.011

1984-05-15,0.01

1984-05-15,0.011

1984-05-15,0.01

1984-05-15,0.02

1984-05-15,0.015

1984-05-15,0.021

1984-05-15,0.01

1984-05-15,0.023

1985-07-15,0.01

1987-10-15,0.01

1987-10-15,0.02

1987-10-15,0.04

1988-05-15,0.02

1988-05-15,0.03

1988-05-15,0.045

1988-05-15,0.06

1988-05-15,0.25

1989-03-15,0.02

1989-03-15,0.04

1995-01-15,1.7

1995-01-15,2.1

1995-01-15,2.9

1995-04-15,0.24

1995-04-15,0.42

1995-04-15,0.52

1995-04-15,0.85

1995-04-15,1.2

1996-06-10,1.6

1996-08-14,1.76

1996-08-14,2.0

1996-09-15,2.5

1996-09-15,3.2

1997-08-13,2.1

1997-08-13,3.1

1997-08-13,4.0

1997-08-24,2.1

1997-08-24,3.1

1997-08-24,3.5

1997-08-24,4.3

1997-08-24,5.1

1997-09-05,7.0

1997-11-29,3.2

1997-11-29,3.2

1997-11-29,4.3

1997-11-29,4.3

1997-11-29,6.4

1997-11-29,6.4

1997-12-03,5.1

1997-12-03,6.4

1997-12-03,5.2

1997-12-03,7.0

1997-12-03,8.4

1998-01-16,6.4

1998-01-16,4.3

1998-01-16,6.4

1998-01-16,8.4

1998-02-03,5.2

1998-02-03,6.4

1998-04-02,5.1

1998-04-02,4.3

1998-04-02,6.4

1998-04-02,6.4

1998-04-04,5.2

1998-04-04,4.3

1998-04-04,6.4

1998-04-04,5.2

1998-04-04,9.0

1998-04-17,4.3

1998-04-17,5.2

1998-04-17,6.4

1998-05-02,6.4

1998-05-09,6.4

1998-05-11,3.2

1998-05-11,4.3

1998-05-11,5.2

1998-05-11,6.4

1998-06-06,5.7

1998-06-12,4.3

1998-06-12,6.4

1998-07-15,5.2

1998-07-31,5.1

1998-07-31,5.2

1998-07-31,6.4

1998-07-31,8.4

1998-07-31,6.4

1998-08-01,4.0

1998-08-06,5.1

1998-08-14,6.4

1998-08-26,6.4

1998-09-01,8.4

1998-09-01,6.8

1998-09-10,5.1

1998-10-01,6.4

1999-02-12,8.0

1999-02-26,8.4

1999-02-26,8.0

1999-02-27,19.2

1999-03-01,8.4

1999-03-01,10.2

1999-03-03,8.4

1999-03-03,10.2

1999-04-01,10.2

1999-04-01,8.4

1999-05-21,6.4

1999-05-27,10.2

1999-05-27,8.4

1999-05-27,17.3

1999-05-28,10.0

1999-07-21,8.4

1999-07-30,6.4

1999-09-25,10.2

1999-10-01,10.2

1999-10-01,13.6

1999-10-01,20.0

1999-10-01,27.3

1999-10-01,13.6

1999-12-01,20.5

1999-12-01,18.2

1999-12-01,10.2

1999-12-01,10.2

1999-12-01,13.0

1999-12-01,13.0

1999-12-01,20.4

1999-12-01,17.3

1999-12-01,27.3

1999-12-01,17.3

2000-02-01,10.2

2000-02-01,20.4

2000-02-01,13.6

2000-02-01,12.9

2000-02-01,13.6

2000-02-01,13.0

2000-02-01,17.3

2000-02-01,27.3

2000-02-01,17.3

2000-02-01,17.3

2000-02-01,20.4

2000-04-01,20.5

2000-04-01,15.2

2000-04-01,20.0

2000-04-01,15.0

2000-04-01,17.2

2000-04-01,28.0

2000-04-01,17.3

2000-04-01,20.3

2000-04-01,17.0

2000-04-01,27.0

2000-04-01,20.4

2000-04-01,36.5

2000-04-01,27.0

2000-04-01,20.0

2000-04-01,20.0

2000-04-01,30.0

2000-05-12,13.6

2000-05-12,30.0

2000-05-12,40.0

2000-06-02,15.0

2000-08-01,15.0

2000-08-01,30.5

2000-08-01,20.0

2000-08-19,40.9

2000-08-19,15.3

2000-08-19,30.7

2000-08-19,20.4

2000-08-19,30.7

2000-08-25,15.0

2000-08-25,40.0

2000-08-25,30.0

2000-10-27,30.7

2000-10-27,40.9

2000-10-27,61.4

2000-10-27,81.9

2000-10-27,30.7

2000-10-27,40.9

2000-11-01,30.0

2000-12-13,30.0

2000-12-20,80.0

2001-01-14,61.0

2001-01-14,82.0

2001-01-14,40.0

2001-04-25,40.0

2001-04-25,30.0

2001-04-25,40.0

2001-05-01,30.0

2001-05-01,82.0

2001-05-01,61.0

2001-05-01,40.0

2001-06-28,40.0

2001-07-06,60.0

2001-07-20,80.0

2001-08-31,60.0

2001-11-30,100.0

2001-12-01,40.0

2002-03-08,40.0

2002-07-27,40.0

2002-08-09,100.0

2002-08-16,60.0

2002-08-16,80.0

2002-08-23,40.0

2002-08-30,100.0

2002-09-06,120.0

2002-09-06,40.0

2002-09-20,40.0

2002-09-20,60.0

2003-10-11,40.0

2003-10-11,120.0

2003-11-29,80.0

2003-11-29,80.0

2003-11-29,120.0

2003-11-29,120.0

2003-11-29,80.0

2003-11-29,120.0

2004-03-27,160.0

2004-03-27,160.0

2004-03-27,250.0

2004-03-27,80.0

2004-03-27,80.0

2004-03-27,120.0

2004-03-27,120.0

2004-04-02,160.0

2004-04-16,250.0

# 2005-2007 from update of http://ns1758.ca/winch/winchest.html

2005-01-07,160.0

2005-12-16,250.0

2007-10-16,250.0

2007-10-16,500.0

2007-10-16,1000.0

2008-03-02,150.0,"2008-03-01: available 3.5 inch internal drives from newegg.com"

2008-03-02,250.0

2008-03-02,500.0

2008-03-02,1000.0

2009-01-03,250.0,"2009 02 02 2000 # this datapoint seems to be a mistake"

2009-01-03,500.0,"2009-01-03 3.5 inch drives from newegg.com not counting 2.5 inch server drive in 3.5 inch enclosure"

2009-01-03,1500.0

2009-01-20,2000.0

2010-08-23,3000.0,"3TB: http://www.anandtech.com/show/3858/ (First 3TB Seagate)"

2011-09-07,4000.0,"4 TB: http://www.anandtech.com/show/4738/ (first 4TB Seagate)"

2014-05-15,300.0,"2014-05-15: available 3.5 inch internal drives from newegg.com"

2014-05-15,500.0

2014-05-15,1000.0

2014-05-15,2000.0

2014-05-15,3000.0

2014-05-15,4000.0

# Johannes Kalliauer updated with data from https://de.wikipedia.org/wiki/Festplattenlaufwerk#Entwicklung_der_Speicherkapazit%C3%A4ten_der_verschiedenen_Baugr%C3%B6%C3%9Fen

2014-10-31,8000.0,"HGST Ultrastar He8"; 3.5 inch; 7 platter;" with Helium"

2015-06-30,10000.0,"HGST Ultrastar Archive Ha10"; 3.5 inch; 7 platter;" with Helium"

2016-12-31,12000.0,"HGST Ultrastar He10"; 3.5 inch; 8 platter;" with Helium"

2017-12-31,14000.0,"Toshiba Enterprise MG07ACA"; 3.5 inch; 9 platter;" with Helium"

2018-12-26,14000.0

# Eheran updated all numbers/dates sourced from hardwareschotte.de dates these were on the marked

2019-05-26,16000.0,"Seagate IronWolf ST16000VN001 and ST16000NE000"

2020-05-15,18000.0,"Western Digital WD Gold WD181KRYZ"

2021-11-23,20000.0,"Western Digital Ultrastar DC HC560"

2022-07-26,22000.0,"Western Digital WD Gold WD221KRYZ"

2023-12-06,24000.0,"Western Digital WD Gold WD241KRYZ" — Preceding unsigned comment was added by 171.33.191.146 (talk) 12:18, 15 April 2024 (UTC)[reply]


# -*- coding: utf-8 -*-

"""

Created on Fri 05.05.2023

@author: Eheran

"""

import numpy as np

import matplotlib.pyplot as plt

import matplotlib.ticker as ticker

from matplotlib.dates import YearLocator, DateFormatter

from datetime import datetime

import pandas as pd

file_name = 'HDD_dataframe.csv'

# Load the DataFrame from CSV file, ignore comments

data = pd.read_csv(file_name, parse_dates=['Date'], comment='#')

# Create the plot

fig, ax = plt.subplots()

# Choose x and y data, visualize as dots

ax.plot(data['Date'], data['Capacity'], 'o')

#print(data['Date'], data['Capacity'])

# Create regression line:

# Parameter from regression, without outliers in 2007/8/9 and higher weights on the last 20 years

A = -4.7

B = 15.5

C = -7400

D = 3200

E = -0.37

# Create a DataFrame with all the years from 1980.01.01 to 2025.01.01

years = pd.date_range(start='1980-01-01', end='2025-01-01', freq='YS')

df = pd.DataFrame({'date': years})

# Calculate the number of days since the first date (1980.01.01)

df['days_since'] = (df['date'] - df['date'].iloc[0]).dt.days

# Apply the formula (called ExtrValCum(a,b,c,d)) to the 'days_since' column

# and create a new column with the results

df['Capacity_regression'] = np.exp(A + B * np.exp(-np.exp(-((df['days_since'] - D * E + C) / D))))

# plot the regression result, visualize as blue, dashed line

ax.plot(df['date'], df['Capacity_regression'], 'b--')

# x-axis fortmatting

# Display years only, as YYYY format

years = YearLocator()   

yearsFmt = DateFormatter('%Y')

ax.xaxis.set_major_formatter(yearsFmt)

# Display x and y-ticks on both top and bottom / left and right

ax.tick_params(axis='x', which='both', top=True, bottom=True)

ax.tick_params(axis='y', which='both', left=True, right=True)

# Set the x-axis start and end values to 1980 and 2025

ax.set_xlim(datetime(1980, 1, 1), datetime(2025, 1, 1))

# Creaty a copy of the axis to have a second spine on the rigt side of the plot

ax2 = ax.twinx()

# y-axis fortmatting

# Set the y-axis to log10-scale, do the same for the 2. y-axis

ax.set_yscale('log')

ax2.set_yscale('log')

# Configure y-axis ticks of both y-axis

ax.yaxis.set_major_locator(ticker.LogLocator(base=10.0, numticks=9))

ax.yaxis.set_minor_locator(ticker.LogLocator(base=10.0, subs=(2, 3, 4, 5, 6, 7, 8, 9), numticks=10))

ax2.yaxis.set_major_locator(ticker.LogLocator(base=10.0, numticks=9))

ax2.yaxis.set_minor_locator(ticker.LogLocator(base=10.0, subs=(2, 3, 4, 5, 6, 7, 8, 9), numticks=10))

# Replace the existing y-axis formatter with the custom one

# We want 1 MB... 100 TB instead of 0.001 GB.... 100000 GB

def custom_y_axis_formatter(x, pos):

   if x < 1:

       return f"{x * 1e3:g} MB"

   elif x < 1e3:

       return f"{x / 1e0:g} GB"

   else:

       return f"{x / 1e3:g} TB"

ax.yaxis.set_major_formatter(ticker.FuncFormatter(custom_y_axis_formatter))

ax2.yaxis.set_major_formatter(ticker.FuncFormatter(custom_y_axis_formatter))

ax.set_ylim(0.001, 1e5)    # =0.001 GB to 100 TB, the underlying value is still in GB

ax2.set_ylim(ax.get_ylim())

# Add gridlines to the major tick markers of both x and y axis

ax.grid(which='major')

# save file as .svg

plt.savefig('HDD - capacity over time.svg')

plt.show() Eheran (talk) 13:52, 6 December 2023 (UTC)[reply]