Hybrid Hard Drives

Hybrid hard drives (H-HDDs) combine a hard drive and some non-volatile memory in a single unit. They will be available from Samsung in early 2007 (and perhaps from Seagate too). Much of the coverage in the computing press associates them with Windows Vista: Vista Premium (the highest-end version of the OS) makes H-HDDs a logo requirement for mobile systems. Vista includes special support for H-HDDs, with the marketing name ReadyDrive, suggesting that other operating systems will not be able to take full advantage of these devices.

So are H-HDDs just a marketing gimmick? They certainly seem to have commercial advantages for Microsoft and Samsung independent of any technical issues. Microsoft gets a new gimmick that only works fully with Vista, providing an extra incentive for people to migrate to the new operating system. Samsung gets to increase its share of the hard drive market and its margins on hard drives. It is the leading producer of non-volatile NAND memory, so it has an advantage in the market for these devices over other hard drive manufacturers. And even if/when other manufacturers start producing them, the extra demand for non-volatile memory will benefit Samsung.

So are there any real technical advantages? Well, there is a Microsoft WinHEC 2006 presentation on this page which gives some details. The most interesting points for me:

  • A key advantage is that the drive can satisfy writes while the platters are spun down to conserver power, by buffering into its NV memory. Note that this requires the NV memory to be physically attached to the drive, to avoid the risk of losing those writes. This distinguishes H-HDDs from the ReadyBoost techonology in Vista: ReadyBoost only acts as a cache, not as a write buffer, because ReadyBoost is aimed at removable USB Flash drives.
  • The presentation discusses the benefits for boot and wake-up times, though it doesn't say how this compares to reorganizing or prefetching the relevant blocks on the disk (as the Prefetcher in Windows XP and BootCache in Mac OS X do; have they already taken that as far as it will go?). But there is one definite advantage to H-HDDs here: The OS can start booting/waking up before the platters are up to speed, saving 2-3 seconds.
  • It's not clear from the presentation how much of the management of the NV memory is done by the drive firmware, and how much by Vista. It does say that Vista talks to the drive in order to pin certain blocks into the NV memory, to accelarate the boot process. But I assume that the drive firmware can take advantage of the NV memory without OS assistance, in order to work well with XP.

1 comment

Broadcast television isn't going away just yet

Steve Loughran, discussing media PCs, writes:

One of the subtle implications of this and the mac mini systems is that a wide screen LCD and PC with good broadband connectivity can supplant the TV for a lot of uses. Think about it. If you only had one machine, which would it be: the television or the laptop? More importantly, a lot of the content is coming over the net. If you get your TV from youtube, bittorrent or the Venice Project, why use a television? The TV, you replace with a projector for cinema and gaming, which you hook up the same PC.

For the last 3 years I have had a laptop in my home, broadband internet access, a library of DVDs, but no television. And I agree with one of the points Steve makes here: in terms of capabilities, the distinction between PCs/laptops and televisions is disappearing. They are just different points on a device spectrum. The TV (together with associated boxes such as a DVD player and games console) emphasizes entertainment: it has a big screen, a sofa in front of it, and you usually interact through a remote or games controller. The PC emphasizes work and productivity: it sits on a desk, and you have a keyboard. The laptop emphasizes portability. But the basic capabilities are shared.

On the other hand, I don't think that methods of delivering video are converging so rapidly. Video delivered over the internet, currently in the form of YouTube and BitTorrent, is not yet a complete and adequate replacement for broadcast television, and probably won't be for a while. Here are the reasons:

  • YouTube video clips may seem watchable in a small Flash box in the browser, but the quality is not remotely comparable to television if you expand them to fill a television screen.
  • The minimum channel bandwidth for the DVB-T standard used for digital television in Europe is just under 5Mb/s. Let's take that as the bandwidth required for decent quality video. 5MB/s is 2.2GB an hour. Most video files available on BitTorrent are encoded with much lower data rates.
  • The original ADSL standard has a downstream bandwidth of 8Mb/s, under optimal conditions. So at 5Mb/s for a channel, one person in the house might be able to watch television delivered via ADSL, but two people won't be able to watch different programs. Of course, ADSL2+ fixes this, with a downstream bandwidth of up to 24Mb/s, but availability of ADSL2+ is still limited. For some kinds of television programs, video can be downloaded in advance of viewing, making the ADSL bandwidth limit less of an issue. But other programs, such as news programs, should be watched at the time of broacast.
  • Does the infrastructure exist to stream 5Mb/s video over the internet to large numbers of viewers? BitTorrent may solve this problem for programs which can be watched offline (I assume this is how The Venice Project™ will work). But news programs are not watched offline.
  • This page says that Americans were projected to watch an average of 1669 hours of television per person in 2004. Taking the 5Mb/s figure again, that's about 300GB per month. In the UK, uncapped consumer ADSL packages come with acceptable use policies that don't permit 300GB to be transferred a month (some of them are define “uncapped” as 100GB a month or less). Perhaps this is peculiar to the UK ADSL market, but even then it may give an idea of what telecoms providers are currently able to deliver economically at consumer price levels.
  • And let's not forget the copyright infringement problems surrounding much of the content on YouTube and BitTorrent. The intellectual property issues need to be resolved, and I'm afraid that could involve DRM and its unpleasant side effects. If hardware-enforced DRM is the way of the future, then as a computing professional and user of open source software, I can imagine being forced to use different devices for entertainment and work.

All this points towards video over the internet being used in combination with broadcast television, rather than as an alternative. So if you do want to throw out the TV in favour of your PC or laptop, you might want to invest in a digital TV receiver, such as this one.

RFC3977

RFC3977 was published recently. It's an updated specification for NNTP, replacing RFC977, which lasted more than 20 years! Real-world NNTP implementations long ago extended RFC977 to support the requirements of the modern world. For instance, RFC977 specifies that all commands and messages use only 7-bit ASCII; RFC3977 incorporates the internationalization support that NNTP implementations have used for many years. The drafts of this new RFC have been floating around for a while, and I wonder how long the authors were simply waiting for the RFC counter to approach 3977 before declaring their work done.

Of course, NNTP's time may have already passed. Usenet certainly seems to be slowly faiding away, as worthwhile discussion moves to blogs and other web-based fora. I find it hard to imagine that there will be a replacement for RFC3977 in the future. Even the minor innovations of RFC3977 may be too late to matter (at this stage, why would an NNTP client switch from using the widely implemented extension command XOVER to the almost identical OVER command standardized in RFC3977?).

But NNTP is still used. Newsgroups will continue to exist for some time. And I use an RSS/ATOM to NNTP gateway to read feeds. Furthermore, NNTP is interesting as an object of study, as a application protocol proven over 20 years of use. It is interesting to consider what the result of recasting NNTP as a REST or Web Services based protocol might look like.

On the subject of long awaited releases, SBCL version 1.0 was released recently. Like RFC3977, this release has been gestating for a long time. But I expect a brighter long-term future for Common Lisp, and SBCL is one of the nicest free implementations around.

Blogger Beta does FTP publishing

So, I sat down to write a post about how Blogger has dropped the FTP publishing functionality in Blogger Beta, and how I understand their decision but still feel a little bit rejected, since I use the FTP publishing feature, and in fact that feature is why I started using Blogger for this blog a couple of years ago (I like to use my own domain and see the access logs), and it seems that they might start forcing users over to Blogger Beta, which will force me to change blogging software, and I know all the Real Programmers write their own blog software, but I have better things to do with my time, so what are the options these days, and will this lead to me switching my hosting provider, because I only have static HTML hosting at the moment?

But first, I thought I should do a quick search to see what others have to say on the subject. And the first result was a Blogger Buzz posting saying that Blogger Beta gained FTP publishing a month ago! So now, all I have to say is:

  • Yay to the Blogger team.
  • Maybe I should subscribe to the Blogger Buzz blog.
  • Maybe the Blogger team should send an email to their downhearted FTP publishing users telling them this exciting news.
  • And they should probably update/eliminate this misleading page (update: now Blogger in Beta has moved out of beta, that page has been removed.)

1 comment

Installing Fedora Core 6 Without an Internet Connection

I was recently installing Fedora Core 6 on a laptop without an Internet connection, and ran into some problems. During the package selection phase, the FC6 installer tells you that you can add packages after the initial installation. This is only really true if you are able or willing to install those packages from internet-based repositories, rather than from the CDs or DVD.

I kept the initial package selection minimal, knowing that I would need to add several optional packages immediately after the installation finished. But when I tried to do that, I discovered that the traditional Fedora system-config-packages program does nothing but produce this dialog and quit:

“Unknown Error” dialog

(It turns out it does this even with an internet connection; you should be logged in as root for it to work. Being sued to root is insufficient.)

Some poking around revealed that Fedora has switched to a new software installation/update application called pirut in recent releases (in FC5, which I skipped). Running pirut without an internet connection, but with the install DVD in the DVD drive, gives this accurate but not very helpful message:

“Unable to retrieve software information” dialog

The FC6 DVD contents look suspiciously like a standard yum repository, with a repodata directory containing the usual XML files. So at this pooint it occurred to me that editing /etc/yum.repos.d/fedora-core.repo to include a baseurl=file:///media/FC_6%20x86_64%20DVD line referring to the DVD mount point might get things working. That still gave the same Unable to retrieve software information error, but that was because I left the fedora-extras and fedora-updates enabled. OK, I modified the relevant files under /etc/yum.repos.d to disable other repositories.

Now pirut started without errors, and displayed the available packages. It looked promising, until I tried to install something:

“Unable to retrieve software information” dialog

So, I took a look at the repository metadata XML files in the repodata directory, and found that they did indeed include xml:base attributes with strange media:... URIs. I assume that these indicate which CD in a multi-CD set contains each package. In my case all the packages were on one DVD, so these attributes are pointless, but they are still present. So I copied the repodata directory to disk, modified the files to remove the offending xml:base attributes, and surrounded it with symlinks pointing to other directories on the DVD, to try to create something that yum and pirut would accept as a repository.

But it's not quite that simple. repodata/repomd.xml contains a bunch of checksums and mtime values for the other repository metadata files, which my edits had compromised. By this point, I had spent an hour wrestling with this problem, so I couldn't let pirut win. I wrote a shell script to automate the process of modifying the repository metadata files and fixing up repomd.xml to match the modified files. Finally, success. Pirut gave in, and installed packages from the DVD.

Later, I found the Bugzilla bug report for this issue. A comment there gives a more convenient workaround.

Prominent Linux distributions have greatly improved that software installation and update process over the last decade. Both Debian-derived and RPM-based distributions now have good support for accessing large repositories of packages over the internet. If you have good internet access, then you don't really need the distribution CDs or DVD after the initial install. But I wonder if the emphasis on installation over the internet has reached the point that distributions are neglecting installation of packages from CD/DVD. I hope that ability doesn't disappear. Although fast internet connections are widely available now, it's still quite possible to find yourself without one. And many DSL providers set monthly data limits, so it's sometimes preferable not to download packages that you already have sitting on a CD or DVD.

By the way, apart from this installation issue and a few other minor issues, FC6 seems quite nice so far. I have a more significant problem running Linux on this laptop, but it is not Fedora-specific (the built-in Atheros wifi chipset is too new to be supported by the madwifi driver). If I wanted everything to just work, I probably wouldn't be using Linux.

4 comments