1
00:00:00,400 --> 00:00:09,840
To understand why a bizarre device like this one here exists, we need to travel

2
00:00:05,680 --> 00:00:12,559
back to the time of its release.

3
00:00:09,840 --> 00:00:17,520
The year was 2006. High performance consumer SSDs were still 2 years away,

4
00:00:15,360 --> 00:00:20,960
an eternity in computer hardware terms. And even the fastest consumer hard drive

5
00:00:19,520 --> 00:00:25,519
on the market, the Western Digital Raptor X, barely stood out from the

6
00:00:23,039 --> 00:00:31,840
pack. So, there was a very real appetite for faster boot devices. Meanwhile,

7
00:00:28,720 --> 00:00:33,600
Intel's Core2 Duo Conro platform was one

8
00:00:31,840 --> 00:00:40,960
of the most compelling upgrades for gamers in years, but it required an

9
00:00:37,760 --> 00:00:43,440
upgrade to shiny new DDR2 memory,

10
00:00:40,960 --> 00:00:49,760
resulting in an abundance of Castaway DDR1 memory sticks. So, there to

11
00:00:46,559 --> 00:00:52,559
capitalize on these two conditions was

12
00:00:49,760 --> 00:00:59,120
Gigabyte. The idea here was really simple. Here we go. Take some of the

13
00:00:56,239 --> 00:01:04,720
leftover DDR1 memory that you already have lying around and instead of

14
00:01:01,440 --> 00:01:07,360
spending thousands of dollars on an SSD,

15
00:01:04,720 --> 00:01:18,880
take it, chuck it on this thing, and use that as your system boot drive.

16
00:01:18,880 --> 00:01:24,880
I never had one of these when they were new. Back then, I was busy spending all

17
00:01:22,400 --> 00:01:29,600
my money on textbooks I'd never read for a degree that I'd never finish. That

18
00:01:27,439 --> 00:01:34,400
worked out great. So, when I saw this on eBay for like 30 bucks, I figured, what

19
00:01:32,159 --> 00:01:38,079
the hey, let's take a look at it. Let's start with the PCI connector. Now, on

20
00:01:36,560 --> 00:01:44,960
the surface, you might think that this looks very similar to a modern PCI

21
00:01:40,720 --> 00:01:46,880
Express SSD, but you'd be wrong for a

22
00:01:44,960 --> 00:01:52,079
number of reasons. Starting with the connector at the bottom. This is a PCI

23
00:01:50,079 --> 00:01:58,960
connector and this interface capped out at just 133 megabytes per second. That

24
00:01:55,840 --> 00:02:01,840
is even less than SATA 1 at 150

25
00:01:58,960 --> 00:02:07,200
megabytes a second. But that wasn't even its main problem. PCI is what's called a

26
00:02:04,880 --> 00:02:14,400
shared bus, which means that every device on it has to fight over that 133

27
00:02:11,200 --> 00:02:16,879
megabytes a second. And thing is, many

28
00:02:14,400 --> 00:02:21,680
older motherboard designs not only had their PCI slots hooked up to it, they

29
00:02:19,280 --> 00:02:26,800
even had onboard devices like their built-in sound card and network

30
00:02:23,440 --> 00:02:30,160
interface running off of it already. So,

31
00:02:26,800 --> 00:02:33,280
this slot was only suitable to use for

32
00:02:30,160 --> 00:02:35,280
power. It's also got a SATA port, so

33
00:02:33,280 --> 00:02:41,040
that's how it actually communicates with the rest of your system. Unlike PCI,

34
00:02:38,239 --> 00:02:46,640
SATA ports are not forced to share the same bus. So that means full performance

35
00:02:43,280 --> 00:02:48,239
to this port all the time. Well, at

36
00:02:46,640 --> 00:02:51,599
least as long as you don't run into a bottleneck elsewhere in your system,

37
00:02:50,080 --> 00:02:55,760
like on the link between the south bridge and the north bridge. I remember

38
00:02:53,760 --> 00:03:00,480
people used to hit those all the time when they were running multiple drives

39
00:02:57,440 --> 00:03:03,760
in RAID zero. Now, let's talk about this

40
00:03:00,480 --> 00:03:06,319
chip right here. This XYLink's FPGA

41
00:03:03,760 --> 00:03:12,080
probably represents a big chunk of the cost of the IRAM. FPGAAS offer

42
00:03:09,440 --> 00:03:18,640
incredible flexibility, allowing one to basically manufacture a processor in

43
00:03:15,200 --> 00:03:22,000
software, then program that processor

44
00:03:18,640 --> 00:03:24,640
into a blank one. Now, the cost is that

45
00:03:22,000 --> 00:03:30,159
you lose some efficiency and your per unit costs go way up. If this was a high

46
00:03:28,159 --> 00:03:34,400
volume product, they'd create custom silicon for it. But Gigabyte, even at

47
00:03:32,879 --> 00:03:40,640
the time, admitted that their first production run was a measly 1,000 units

48
00:03:37,360 --> 00:03:42,720
for the entire world. So clearly custom

49
00:03:40,640 --> 00:03:47,200
silicon wasn't going to be a problem. Let's talk about why they needed this

50
00:03:44,799 --> 00:03:52,000
processor, though. Fundamentally, the principle of storing data is the same

51
00:03:49,360 --> 00:03:57,760
between RAM and hard drives. You got your ones and you got your zeros. But

52
00:03:54,720 --> 00:04:00,959
the way the binary data is organized on

53
00:03:57,760 --> 00:04:03,439
the device is completely different. A

54
00:04:00,959 --> 00:04:08,080
hard drive uses a physical spinning platter covered in circular tracks that

55
00:04:06,000 --> 00:04:12,400
are divided up into sectors. So when your operating system asks for a

56
00:04:10,000 --> 00:04:17,040
particular bit, it tells your hard drive where to move the read head to grab the

57
00:04:14,560 --> 00:04:23,759
information it needs as it goes whipping by at 7200 revs per minute. By contrast,

58
00:04:20,720 --> 00:04:27,040
RAM stores bits, so zeros and ones, in

59
00:04:23,759 --> 00:04:29,759
cells that are laid out in a giant grid

60
00:04:27,040 --> 00:04:34,000
and that can be instantly accessed as long as you know the intersecting row

61
00:04:32,000 --> 00:04:38,240
and column, which is known as an address. Well, that's exactly the

62
00:04:36,560 --> 00:04:43,600
performance advantage that we're after here. But it also means that you can't

63
00:04:40,880 --> 00:04:50,000
just treat this thing exactly the way that you would a hard drive. So, our

64
00:04:46,960 --> 00:04:52,000
FPGA is programmed to act as a

65
00:04:50,000 --> 00:04:57,199
translation layer between our SATA interface here and the memory controller

66
00:04:54,639 --> 00:05:04,000
that's built into it. Now, let's look at the memory slots. These are operating at

67
00:04:59,919 --> 00:05:05,840
DDR1200 MHz. And while modern memory

68
00:05:04,000 --> 00:05:10,800
modules and their controllers would operate at much higher frequencies, even

69
00:05:08,400 --> 00:05:14,960
with the inefficiency of using SATA instead of NVMe like we would for any

70
00:05:12,560 --> 00:05:22,560
solid state drive today, that is a theoretical limit of 1.6 GB per second

71
00:05:19,680 --> 00:05:29,840
between our FPGA and our RAM here. That's as fast as a decent modern SSD

72
00:05:25,280 --> 00:05:32,240
and way faster than a hard drive. Well,

73
00:05:29,840 --> 00:05:35,280
SATA bottleneck notwithstanding. So, let's get the rest of these RAM sticks

74
00:05:33,680 --> 00:05:39,600
on here. Let's fire this thing up. All right. So, as you guys probably saw, I

75
00:05:37,520 --> 00:05:45,199
already had Windows fired up on this thing before we started. So, okay, just

76
00:05:43,120 --> 00:05:50,560
going to go ahead put all my RAM back into place. Let's throw this on the one

77
00:05:48,560 --> 00:05:55,520
accessible PCI slot we have on this board

78
00:05:52,880 --> 00:06:01,039
and fire it up. Well, that's curious. It's empty. No

79
00:05:58,560 --> 00:06:06,400
bootable device. So, our Gigabyte IRAM is showing up as

80
00:06:03,280 --> 00:06:08,880
our first boot device,

81
00:06:06,400 --> 00:06:15,759
but we failed to boot. My device that was full not half an hour

82
00:06:11,919 --> 00:06:20,000
ago is now empty. And there in lies the

83
00:06:15,759 --> 00:06:22,960
Achilles heel of the Gigabyte RAM. DRAM

84
00:06:20,000 --> 00:06:28,080
is what's known as volatile memory. So each cell on a memory chip, by the way,

85
00:06:25,520 --> 00:06:33,360
if you like this shirt, ltstore.com, is made up of a transistor and a capacitor.

86
00:06:30,960 --> 00:06:38,720
The transistor acts as a switch, and the capacitor either gets filled up with

87
00:06:35,520 --> 00:06:42,160
electrons, that's a one, or emptied of

88
00:06:38,720 --> 00:06:45,759
electrons, that's a zero. The problem is

89
00:06:42,160 --> 00:06:48,720
that if left alone with no power, all of

90
00:06:45,759 --> 00:06:56,319
the cells gradually lose their charge and zero out. No data left means no

91
00:06:53,360 --> 00:07:01,360
Windows boot. So, we should probably get Windows reinstalled.

92
00:06:58,319 --> 00:07:04,639
Going to use my super definitely genuine

93
00:07:01,360 --> 00:07:05,919
Windows XP CD here. Actually, that's not

94
00:07:04,639 --> 00:07:11,319
probably anymore. I have checked this. It does in fact have Windows XP on it.

95
00:07:07,840 --> 00:07:11,319
Can fix that.

96
00:07:20,319 --> 00:07:29,199
All right. So, here it is. Our whopping 4 GB of unpartitioned space. Now, you

97
00:07:26,319 --> 00:07:33,840
might wonder, why are you using Windows XP, Linus? And the reason is that it's

98
00:07:32,160 --> 00:07:39,199
actually the most recent version of Windows that will run on a 4 gig drive.

99
00:07:37,440 --> 00:07:44,160
I think I should even have about a gig left over when we're done here. All

100
00:07:41,520 --> 00:07:49,280
right. So, while that fires up, let's talk about what happened there.

101
00:07:47,440 --> 00:07:54,400
This was the first thing Brandon asked me about. This weird battery case

102
00:07:52,319 --> 00:08:01,199
looking thing over on the far right of the card. That is exactly what it is.

103
00:07:58,240 --> 00:08:06,800
And what it does is it takes the power that's being given to the card through

104
00:08:03,039 --> 00:08:10,000
the PCI slot and stores a little bit of

105
00:08:06,800 --> 00:08:12,560
it so that in the event that I turn off

106
00:08:10,000 --> 00:08:16,879
my computer, my operating system doesn't immediately

107
00:08:14,240 --> 00:08:21,919
disappear and I need to completely reinstall it and all my boot drive

108
00:08:19,440 --> 00:08:25,680
applications all over again. Now, it wasn't a perfect solution, and in fact,

109
00:08:23,680 --> 00:08:31,440
Gigabyte only rated it for, I think it was either 16 or 18 hours of power loss,

110
00:08:28,800 --> 00:08:36,479
but it did mean that in the event of an accidental power supply unplug or a

111
00:08:34,000 --> 00:08:41,599
short power outage, you weren't stuck starting fresh in Windows XP, you know,

112
00:08:39,200 --> 00:08:45,760
changing your uh I was always partial to the the chess pieces picture, you know,

113
00:08:43,760 --> 00:08:51,120
and all that good stuff. So, it's funny. I had actually intended to do some, you

114
00:08:49,120 --> 00:08:56,880
know, comparative benchmark testing between our IRAM and this old hard drive

115
00:08:54,240 --> 00:09:00,240
here. But what I realized is that once you've got the operating system

116
00:08:58,160 --> 00:09:07,360
installed on the IRAM, you've only got about I don't know 800 mgab of space

117
00:09:04,959 --> 00:09:12,880
left over. So there it's not really a whole lot to work with. Oh wow. And I

118
00:09:09,760 --> 00:09:15,200
just installed one game and it hit 365.

119
00:09:12,880 --> 00:09:19,600
Problem number two is even if we did want to do game loading times, for

120
00:09:16,800 --> 00:09:22,640
example, there's no Windows XP driver for the Titan XP graphics card. I have

121
00:09:21,360 --> 00:09:25,760
to go get another graphics card. You know what? They benchmarked it to death

122
00:09:24,399 --> 00:09:30,480
back when it was released. It's a little bit faster in terms of real world

123
00:09:27,920 --> 00:09:35,440
performance and a lot faster in terms of synthetic performance, particularly when

124
00:09:32,160 --> 00:09:38,959
it comes to random reads and writes. So

125
00:09:35,440 --> 00:09:42,399
you can see here we're at a right steady

126
00:09:38,959 --> 00:09:44,000
125 or so megabytes per second. Unlike a

127
00:09:42,399 --> 00:09:48,399
hard drive which would start at the outer edge of the platter like

128
00:09:45,920 --> 00:09:52,000
physically and then taper off in terms of performance as it makes its way to

129
00:09:50,240 --> 00:09:57,440
the data that's stored closer to the center.

130
00:09:54,160 --> 00:10:01,760
Not so here. And this is where things

131
00:09:57,440 --> 00:10:04,320
get really crazy. That access time

132
00:10:01,760 --> 00:10:09,440
literally 0.0c 0 milliseconds.

133
00:10:06,560 --> 00:10:13,760
Hard drives would be all over the place in here.

134
00:10:12,320 --> 00:10:19,680
Now, I'm just going to go ahead and restart. Oh, no. I turned it off.

135
00:10:17,200 --> 00:10:23,760
Actually, that's okay because as long as the power supply still has power, you

136
00:10:22,240 --> 00:10:28,640
can actually see there's an indicator LED here on the card. It's getting

137
00:10:26,399 --> 00:10:35,040
standby power off the slot and that's keeping the memory cells constantly

138
00:10:31,360 --> 00:10:37,760
refreshed so that they don't drain. But

139
00:10:35,040 --> 00:10:43,040
if I were to do this, it's gone. So, cool things about the

140
00:10:41,519 --> 00:10:47,760
IRAM. Really, really fast in spite of its

141
00:10:46,000 --> 00:10:52,640
interface bottleneck, especially compared to hardware that existed at the

142
00:10:50,000 --> 00:10:58,800
time. But its downfalls were of course the aforementioned interface bottleneck,

143
00:10:55,040 --> 00:11:01,360
the cludgy power loss resiliency, and

144
00:10:58,800 --> 00:11:05,360
the poor capacity. Because, you know, for sky's is the limit at any cost

145
00:11:03,680 --> 00:11:10,000
enthusiasts, something like this honestly doesn't

146
00:11:07,040 --> 00:11:16,560
even seem that crazy except that it was rated for 8 GB of maximum capacity. And

147
00:11:14,399 --> 00:11:22,000
practically speaking, there was actually no way to achieve that. Unbuffered DDR1

148
00:11:19,440 --> 00:11:28,880
DIMs only went up to 1 gig per stick. And while ECC server DDR1 memory modules

149
00:11:25,839 --> 00:11:31,600
were made in 2 gig capacities, this card

150
00:11:28,880 --> 00:11:35,839
has no support for ECC memory. And then the final nail in the coffin was, of

151
00:11:33,200 --> 00:11:40,640
course, that it was really expensive. If you had the memory lying around, and if

152
00:11:38,399 --> 00:11:46,399
you were way too lazy to just flip it on Craigslist, you could use that memory.

153
00:11:43,040 --> 00:11:50,320
But otherwise, at around $90 per stick

154
00:11:46,399 --> 00:11:52,880
at the time, you were looking at $500 to

155
00:11:50,320 --> 00:11:58,480
fully load this thing up. That is pretty steep for a five or at best 10second

156
00:11:56,240 --> 00:12:02,640
boot time or game loading time advantage. So, with the high cost and

157
00:12:00,560 --> 00:12:06,639
inconvenience as major factors, Gigabyte probably didn't make many more than the

158
00:12:04,240 --> 00:12:10,720
first thousand of these. But the IRAM was definitely a sign of the direction

159
00:12:09,040 --> 00:12:16,320
that computer storage was heading. In fact, Intel's Optane technology is a low

160
00:12:13,600 --> 00:12:20,399
latency solidstate storage tech that can now be found on memory modules just

161
00:12:19,040 --> 00:12:26,000
like, you know, they look just like these ones and used as a layer that goes

162
00:12:23,200 --> 00:12:31,680
in between conventional RAM and SSDs and servers with the added bonus of Optane

163
00:12:28,320 --> 00:12:33,360
being nonvolatile like an SSD. So, if

164
00:12:31,680 --> 00:12:36,959
you guys liked this video, maybe check out our explainer on Optane at the link

165
00:12:35,360 --> 00:12:41,200
below. Make sure you're subscribed so you don't miss our upcoming video

166
00:12:38,560 --> 00:12:44,000
checking out some cool SSDs from Liquid. Thanks for watching, guys. I hope you

167
00:12:42,480 --> 00:12:48,320
enjoyed this look at a really fascinating piece of retro technology as

168
00:12:45,920 --> 00:12:51,720
much as I did. I will see you guys in the next video.

169
00:12:59,920 --> 00:13:02,920
Colton.

170
00:13:12,240 --> 00:13:16,040
What? What the hell?
