Data balancing scheme in solid state storage devices
AssigneeHewlett-Packard Company
InventorsStephen Morley, Kevin Lloyd-Jones, Dominic P. McCarthy, Peter Joseph Bramhall
Life of this patent
Estimating the term…
Abstract
A data storage device comprises at least one array of memory elements arranged in a plurality of rows and columns; coding means for coding an input data into a form having a balanced proportion of ‘1’s and ‘0’s, said coding means comprising means for applying an output of a pseudo random bit sequence generator to said incoming data, wherein the coded data is stored in the array of memory elements such that the ‘1’s and ‘0’s are spatially distributed relatively evenly across the plurality of memory elements; and decoding means for decoding the coded data read from the plurality of memory elements, into the original data.
Claims18
A method of writing incoming data to a data storage device comprising an array of memory elements arranged in rows and columns and accessible by a plurality of data access lines said method comprising the steps of:
- receiving said incoming data as a plurality of ones and zeros;
- coding said incoming data to produce a coded data, said coded data comprising a plurality of ones and zeros and said coding comprising applying an output of a pseudo random bit sequence generator to said incoming data;
- storing said coded data in said array of memory elements, such that a plurality of said ones and zeros comprising said coded data are stored along each row, and a plurality of ones and zeros comprising said coded data are stored along each column, such that:
- a substantially similar number of ones and zeros occur along each said row of memory elements;
- and
- a substantially similar number of ones and zeros occur along each said column of memory elements.
A method of reading coded data from a data storage device comprising an array of memory elements arranged in a plurality of rows and columns, and accessed by a plurality of data access lines, wherein values of data stored on said memory elements affect electrical characteristics of said data storage device, said coded data comprising a plurality of ones and zeros and said coded data having been produced by applying an output of a pseudo random bit sequence generator to the pre-coded data, said method comprising the steps of:
- reading a said coded data film said memory array;
- inputting said coded data into a decoding means;
- decoding said read coded data to produce a decoded data having a distribution of ones and zeros having a greater disparity between a number of ones and zeros than said coded data read from said two-dimensional array of memory elements.
A data storage device comprising:
- at least one array of memory elements arranged in a plurality of rows and columns, said memory elements accessed by a plurality of data access lines.
- coding means for coding an input data into a form having a balanced proportion of ones and zeros, said coding means comprising means for applying an output of a pseudo random bit sequence generator to said incoming data;
- wherein said coded data is stored in said array of memory elements such that said ones and zeros are spatially distributed across said plurality of memory elements in a manner which substantially balances a number of said ones and zeros along each of said rows and columns;
- and
- decoding means for decoding said coded data read from said plurality of memory elements, into said original data.
A method of writing incoming data to a magnetic random access data storage device comprising an array of memory elements arranged in rows and columns and accessible by a plurality of data access lines said method comprising he steps of:
- receiving said incoming data as a plurality of ones and zeros;
- coding said incoming data to produce a coded data, said coded data comprising a plurality of ones and zeros;
- storing said coded data in said array of memory elements, such that a plurality of said ones and zeros comprising said coded data are stored along each row, and a plurality of ones and zeros comprising said coded data are stored along each column, such that:
- a substantially similar number of ones and zeros occur along each said row of memory elements;
- and
- a substantially similar number of ones and zeros occur along each said column of memory elements.
A method of reading coded data from a magnetic random access data storage device comprising an array of memory elements arranged in a plurality of rows and columns, and accessed by a plurality of data access lines, wherein values of data stored on said memory elements affect electrical characteristics of said data storage device, said coded data comprising a plurality of ones and zeros, said method comprising the steps of:
- reading a said coded data from said memory array;
- inputting said coded data into a decoding means;
- decoding said read coded data to produce a decoded data having a distribution of ones and zeros having a greater disparity between a number of ones and zeros than said coded data read from said two-dimensional array of memory elements.
A magnetic random access memory data storage device comprising:
- at least one array of memory elements arranged in a plurality of rows and columns, said memory elements accessed by a plurality of data access lines.
- coding means for coding an input data into a form having a balanced proportion of ones and zeros;
- wherein said coded data is stored in said array of memory elements such that said ones and zeros are spatially distributed across said plurality of memory elements in a manner which substantially balances a number of said ones and zeros along each of said rows and columns;
- and
- decoding means for decoding said coded data read from said plurality of memory elements, into said original data.
Dependencies are inferred from the claim text.