About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
April 2009
Design a storage system that encodes 24 information bits on 8 disks of 4 bits each, such that:
- Combining the 8*4 bits into a 32 bits number (taking a nibble from each disk), a function f from 24 bits to 32 can be computed using only 5 operations, each of which is out of the set {+, -, *, /, %, &, |, ~} (addition; subtraction, multiplication; integer division, modulo; bitwise-and; bitwise-or; and bitwise-not) on variable length integers. In other words, if every operation takes a nanosecond, the function can be computed in 5 nanoseconds.
- One can recover the original 24 bits even after any 2 of the 8 disks crash (making them unreadable and hence loosing 2 nibbles).
Clue #1 (04/06): f(x) = ((((x * c1) & c2) * c3) & c4) % c5;
Update (04/07): When you read the data, you know which two disks have failed.
Clue #2 (updated 04/24): c1 = (2792-1)/(233-1); c2 = (2816-1)/(234-1); c4 = (21088-1)/(234-1)
We will post the names of those who submit a correct, original solution! If you don't want your name posted then please include such a statement in your submission!
We invite visitors to our website to submit an elegant solution. Send your submission to the ponder@il.ibm.com.
If you have any problems you think we might enjoy, please send them in. All replies should be sent to: ponder@il.ibm.com
Challenge:
04/01/2009 @ 10:00 AM EST
Solution:
06/01/2009 @ 09:00 AM EST
List Updated:
06/08/2009 @ 11:00 AM EST
People who answered correctly:
Michael Brand (04/02/2009 04:47 PM EDT)
Eli Biham (04/16/2009 06:15 AM EDT)
Boris Nikolaus (04/30/2009 12:44 PM EDT)
Nyles Heise (04/30/2009 00:16 AM EDT)
Corey Cerovsek (05/04/2009 08:58 AM EDT)
Gary M Gerken (05/05/2009 11:48 PM EDT)
Daniel Bitin (05/06/2009 12:55 PM EDT)
Balakrishnan V (05/07/2009 02:00 PM EDT)
Dan Dima (05/21/2009 10:02 AM EDT)
Liubing Yu (05/29/2009 04:30 AM EDT)
Hongcheng Zhu (05/31/2009 10:39 AM EDT)
Attention: If your name is posted here and you wish it removed please send email to the ponder@il.ibm.com.