Patent application #20120226962 makes the claim:

A computer implemented method for storing data in memory, the method comprising:

  • receiving write data to be written into a memory that is logically divided into a plurality of regions, the plurality of regions including a first region and a second region, the first region and the second region implemented by the same memory technology, and the memory subject to degradation as a result of write operations;
  • classifying the write data as dynamic data or static data;
  • in response to classifying the write data as dynamic data performing: encoding the write data using a first type of encoding;
  • and storing the write data encoded using the first type of encoding in the first region of the memory;
  • and in response to classifying the write data as static data performing: encoding the write data using a second type of encoding; and storing the write data encoded using the second type of encoding in the second region of the memory.

Isn't this what has been done in the industry and has support in operating systems for several years now? My translation of the above is similar to the description in http://en.wikipedia.org/wiki/Wear_leveling

3 Answers 3


You quote claim 1 of the patent, and that may be (or be close to) common practice in the art. Each claim of a patent, however, is a separate invention. In order invalidate all of the claims of a patent, it is necessary to perform prior art analysis for each claim.

Not every element of a claim has to be novel. Invalidating an independent claim does not necessarily invalidate any of its dependent claims.

Please see my answers to these question: Prior art for using a camera in self-driving cars and Microsoft have submitted a patent for a whack to silence a phone ringer. How similar does prior art have to be? and Can the non-obviousness of an invention be challenged if the difference to prior art is only the mathematical-statistical approach? for more detail on why addressing a single claim element or a single independent claim is not sufficient to invalidate all of the claims of a patent.


First of all, this is obvious. If each part of the device is going to wear out after a certain number of writes, then clearly you want to make the number of writes to each part of the device equal. In prior art terms, thats the same thing that's done for gears, to maximize the lifespan of the teeth.

It's very similar to how a hash table works. In both cases, you have a fixed number of buckets, and you want to distribute your work evenly among buckets, because you get bad results when one of the buckets is too big.

Of course, they're not using a static hash function, because that wouldn't really even out the writes. It sounds like they've cooked up some sort of dynamic classifier, most likely a markov model, and are using that to sort their data into buckets. Then they'll rotate the buckets to level the wear.

Summary: there's no way this is original.

  • 1
    The general idea may be obvious, but there's a big step between that and the claim. I very much doubt that the claim is novel, but your answer doesn't help establish that it isn't. Sep 21, 2012 at 22:20

This describes a technique that's already widely used in SSD (Solid State Drive) FTL (Flash Translation Layer) software. There are many academic papers from the last ten years that describe segregating hot data from cold data ("dynamic" vs "static"), and storing them in different regions of flash inside a solid state drive. If I do a google search for "FTL hot cold" and start following the citations for the papers I find the following:

An Efficient Management Scheme for Large-Scale Flash-Memory Storage Systems (Chang & Kuo, 2004) http://www.cis.nctu.edu.tw/~lpchang/papers/ACM_SAC2004.pdf

Efficient Identification of Hot Data for Flash Memory Storage Systems (Hseih, Chang, & Kuo, 2006) http://www.cis.nctu.edu.tw/~lpchang/papers/tos_hot.pdf

I'm sure there are more; this is only what I found in 5 minutes of searching.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .