Archives
- April 2025
- March 2025
- February 2025
- January 2025
- December 2024
- November 2024
- October 2024
- September 2024
- August 2024
- July 2024
- June 2024
- May 2024
- April 2024
- March 2024
- February 2024
- January 2024
- October 2023
- September 2023
- August 2023
- July 2023
- June 2023
- May 2023
- April 2023
- March 2023
- January 2023
- December 2022
- November 2022
- October 2022
- September 2022
- July 2022
- June 2022
- May 2022
- April 2022
- March 2022
- February 2022
- January 2022
- December 2021
- November 2021
- October 2021
- September 2021
- August 2021
- July 2021
- June 2021
- May 2021
- April 2021
- March 2021
- February 2021
- January 2021
- December 2020
- November 2020
- October 2020
- September 2020
- August 2020
- July 2020
- June 2020
- May 2020
- April 2020
- March 2020
- February 2020
- January 2020
- December 2019
- November 2019
- October 2019
- September 2019
- August 2019
- July 2019
- June 2019
- May 2019
- April 2019
- March 2019
- February 2019
- January 2019
- December 2018
- November 2018
- October 2018
- August 2018
- July 2018
- June 2018
- May 2018
- April 2018
- March 2018
- February 2018
- January 2018
- December 2017
- November 2017
- October 2017
- August 2017
- July 2017
- June 2017
- May 2017
- April 2017
- March 2017
- February 2017
- January 2017
- December 2016
- November 2016
- October 2016
- September 2016
- August 2016
- July 2016
- June 2016
- May 2016
- April 2016
- March 2016
- February 2016
- January 2016
- December 2015
- November 2015
- October 2015
- September 2015
- August 2015
- July 2015
- June 2015
- May 2015
- April 2015
- March 2015
- February 2015
- January 2015
- December 2014
- November 2014
- October 2014
- September 2014
- August 2014
- July 2014
- June 2014
- May 2014
- April 2014
- March 2014
- February 2014
- January 2014
- December 2013
- November 2013
- October 2013
- September 2013
- August 2013
- July 2013
- June 2013
- May 2013
- April 2013
- March 2013
- February 2013
- January 2013
- December 2012
- November 2012
- October 2012
- September 2012
- August 2012
- July 2012
- June 2012
- May 2012
- April 2012
- March 2012
- February 2012
- January 2012
- December 2011
- November 2011
- October 2011
- September 2011
- August 2011
- July 2011
- June 2011
- May 2011
- April 2011
- March 2011
- January 2011
- November 2010
- October 2010
- August 2010
- July 2010
Decoding Seagate Date Codes
More or less everyone knows that throughout the 1990s and 2000s, Seagate did not label their drives with a date of manufacture like everyone sane would do, but instead used a custom and somewhat mysterious/confusing “date code”. For reasons that I’m sure made sense to Seagate, but definitely made no sense to Seagate’s customers, the date code refers to Seagate’s fiscal year rather than a calendar year.
The good news is that Seagate no longer uses the cryptic date codes and prints a full date of manufacture on their drive labels, just like everyone else. The bad news is that there are countless millions of Seagate drives made before 2016 or so out there, and most of those drives only have the hard to decipher date code.
The four- or five-digit date code consists of a two-digit year, one- or two-digit week number (starting with 1), and one-digit day of the week (again starting with 1). If the week number is less than 10, the leading zero may be left out; that seems to have been the case on older drives, but later Seagate apparently switched to consistent five-digit codes.
Now, there are several online Seagate date conversion tools. So far, I have not found one that actually works properly. That is, they produce a date which is close but very often off by several days or even a week. While the few days probably don’t really matter in the end, I find it unnerving and sloppy, especially because it’s obvious that one can do better than that.
How do I know that the conversion tools are wrong? As it turns out, some Seagate drives were OEM drives made for IBM (and later Lenovo). For whatever reason—and I can think of several—IBM decided that wasting people’s time with date codes just won’t do, and required a human readable date on the drive label in addition the Seagate date code.
Note that some IBM/Lenovo OEM drives have two labels, the standard Seagate one and an additional IBM/Lenovo sticker. The Seagate date code as well as the human readable date are usually both on the Seagate label, i.e. printed by Seagate, and presumably printed by someone who knows exactly how to decode the date codes. These drives can be used as a sort of Rosetta Stone.
Let’s take a random Barracuda 7200.7 drive as an example. The Seagate date code is 04365, and in the corner of the drive label there’s 03MAR2004.
If we punch the date code into this converter, it claims that “04365 corresponds to 2004年03月06日”. Obviously March 3rd is not March 6th so… no, it does not correspond.
On the other hand, this converter produces “March 10, 2004” which is different and also contradicts the actual drive label. How is this possible?
The core problem is that no one seems to know when Seagate’s fiscal year (FY) starts. Or rather many people think they do, but they really don’t. Some people claim that Seagate’s FY starts on July 1st of the previous calendar year. There is an oft-quoted document which claims that Seagate’s FY starts on the first Saturday in July. Said document further claims that the information was “confirmed by Seagate Warranty Support”, which leaves open the possibility that even people working for Seagate don’t quite know when Seagate’s fiscal year starts.
Even a brief glance at Seagate’s annual reports (Form 10-K) filed with the SEC shows that the start of Seagate’s fiscal year is neither July 1st nor the first Saturday in July. Or rather it is sometimes the first Saturday in July, and rarely–but not never–July 1st. But it can be also June 28th, for example—not July at all! And, mind you, those forms are filed under penalty of perjury, so they are far more trustworthy than some random web page (including this one).
After reviewing a number of Seagate SEC filings, I came to the conclusion that there is some element of truth to both of the supposed rules for Seagate’s FY start (“starts on July 1st” and “starts on the first Saturday in July”). Seagate’s fiscal year always starts on a Saturday, and thus always consists of an integer number of weeks. Except it does not start on the first Saturday in July, but rather the Saturday closest to July 1st. That can be any date from June 28th to July 4th.
I could not find any official confirmation of that. However, it matches the SEC filings for about 15 consecutive Seagate fiscal years (1995-2010), and using a specific day of the week closest to a certain calendar date is not unheard of. Using this method, each fiscal year has exactly 52 or 53 weeks and starts as close as possible to the desired date.
Using the above rule, I threw together a simple Python script to convert a Seagate date code to a calendar date. The results perfectly match more than a dozen different Seagate-made IBM and Lenovo OEM drives produced between 2002 and 2016.
With high certainty, the drive shown at the top of this article labeled with lot number A-01-0718-1 (corresponding to date code 07181) was made on October 28, 2006.
Breakdown
For a number of years, Seagate marked drives in several different but functionally equivalent ways. Consumer drives had a four- or five-digit “date code” in YYWD or YYWWD format. Enterprise drives had a five-digit lot number in two possible formats. Newer drives (circa 2010 and later) had a simple five-digit lot number in the same YYWWD format. Older drives had a longer lot number in an X-XX-YYWW-D format (the meaning of the X letters or numbers is unknown but not date related).
YY indicates the last two digits of Seagate’s fiscal year, which starts on the Saturday closest to July 1st of the previous calendar year.
WW is the week of the fiscal year, starting with week 1.
D is the day of the week, with Saturday being day 1 and Friday being day 7.
Conversion
It should be apparent that the date code indicates the day of a given fiscal year when the drive was built. Converting the WW and D quantities to the day ordinal number is trivial:
Day = (WW - 1) * 7 + D - 7
The resulting Day is the number of days to be added to the start of the fiscal year. Note that Day may be zero, indicating the same date on which the fiscal year started.
The only difficulty then lies in determining when the fiscal year started. For fiscal year YY (extended to 19YY or 20YY), first find out which day of the week was July 1st in calendar year YY – 1, then find the closest Saturday. There are many ways to do that, including a table lookup or a few conditionals.
Once the FY start date was calculated, the previously obtained Day is added, and that results in the drive’s manufacturing date. See sgdate.py for a sample Python implementation.
Constraints
It is known that the older lot number format appears on drives made at least as far back as 1989, some still under the Imprimis brand. It is currently unknown whether those lot number dates referred to the same start of financial year.
On Seagate’s consumer drives, date codes started appearing sometime in FY 1998 or perhaps slightly earlier, but drives from the mid-1990 and older do not have them.
Seagate style date codes have been seen on drives manufactured as late as 2016. Some drives made in 2016 and most if not all drives manufactured since 2017 no longer use the date code and instead show a human readable date in DDMMMYYYY format (where MMM is a three-letter English month abbreviation).
What’s Missing
It would be nice to know exactly when Seagate started and stopped using the cryptic date codes. It’s clear that for enterprise drives, Seagate used these as part of the long lot numbers starting circa 1989. For consumer drives, Seagate only started using the four- or five-digit date codes many years later. Medalist drives made in FY 98 have been seen in the wild; are there any older?
On the other end, 2016 appears to be the year when Seagate switched from date codes to a simple date of manufacture (DOM) on drive labels. Are there any newer drives with a date code, or older drives without one?
I have also not been able to verify when Seagate’s fiscal years started prior to 1995 because only filings for FY 1994 and later are available online, and the filings only specify the end of the fiscal year, not the beginning. There is no reason to assume that Seagate used different fiscal year start rules in the 1980s but a confirmation would be useful.
This site uses Akismet to reduce spam. Learn how your comment data is processed.