18,037 research outputs found
Rewriting Codes for Joint Information Storage in Flash Memories
Memories whose storage cells transit irreversibly between
states have been common since the start of the data storage
technology. In recent years, flash memories have become a very
important family of such memories. A flash memory cell has q
states—state 0.1.....q-1 - and can only transit from a lower
state to a higher state before the expensive erasure operation takes
place. We study rewriting codes that enable the data stored in a
group of cells to be rewritten by only shifting the cells to higher
states. Since the considered state transitions are irreversible, the
number of rewrites is bounded. Our objective is to maximize the
number of times the data can be rewritten. We focus on the joint
storage of data in flash memories, and study two rewriting codes
for two different scenarios. The first code, called floating code, is for
the joint storage of multiple variables, where every rewrite changes
one variable. The second code, called buffer code, is for remembering
the most recent data in a data stream. Many of the codes
presented here are either optimal or asymptotically optimal. We
also present bounds to the performance of general codes. The results
show that rewriting codes can integrate a flash memory’s
rewriting capabilities for different variables to a high degree
Constructions of Snake-in-the-Box Codes for Rank Modulation
Snake-in-the-box code is a Gray code which is capable of detecting a single
error. Gray codes are important in the context of the rank modulation scheme
which was suggested recently for representing information in flash memories.
For a Gray code in this scheme the codewords are permutations, two consecutive
codewords are obtained by using the "push-to-the-top" operation, and the
distance measure is defined on permutations. In this paper the Kendall's
-metric is used as the distance measure. We present a general method for
constructing such Gray codes. We apply the method recursively to obtain a snake
of length for permutations of ,
from a snake of length for permutations of~. Thus, we have
, improving
on the previous known ratio of . By using the general method we also present a direct construction. This
direct construction is based on necklaces and it might yield snakes of length
for permutations of . The direct
construction was applied successfully for and , and hence
.Comment: IEEE Transactions on Information Theor
Trajectory Codes for Flash Memory
Flash memory is well-known for its inherent asymmetry: the flash-cell charge
levels are easy to increase but are hard to decrease. In a general rewriting
model, the stored data changes its value with certain patterns. The patterns of
data updates are determined by the data structure and the application, and are
independent of the constraints imposed by the storage medium. Thus, an
appropriate coding scheme is needed so that the data changes can be updated and
stored efficiently under the storage-medium's constraints.
In this paper, we define the general rewriting problem using a graph model.
It extends many known rewriting models such as floating codes, WOM codes,
buffer codes, etc. We present a new rewriting scheme for flash memories, called
the trajectory code, for rewriting the stored data as many times as possible
without block erasures. We prove that the trajectory code is asymptotically
optimal in a wide range of scenarios.
We also present randomized rewriting codes optimized for expected performance
(given arbitrary rewriting sequences). Our rewriting codes are shown to be
asymptotically optimal.Comment: Submitted to IEEE Trans. on Inform. Theor
A Direct Multigrid Poisson Solver for Oct-Tree Adaptive Meshes
We describe a finite-volume method for solving the Poisson equation on
oct-tree adaptive meshes using direct solvers for individual mesh blocks. The
method is a modified version of the method presented by Huang and Greengard
(2000), which works with finite-difference meshes and does not allow for shared
boundaries between refined patches. Our algorithm is implemented within the
FLASH code framework and makes use of the PARAMESH library, permitting
efficient use of parallel computers. We describe the algorithm and present test
results that demonstrate its accuracy.Comment: 10 pages, 6 figures, accepted by the Astrophysical Journal; minor
revisions in response to referee's comments; added char
Error Correcting Coding for a Non-symmetric Ternary Channel
Ternary channels can be used to model the behavior of some memory devices,
where information is stored in three different levels. In this paper, error
correcting coding for a ternary channel where some of the error transitions are
not allowed, is considered. The resulting channel is non-symmetric, therefore
classical linear codes are not optimal for this channel. We define the
maximum-likelihood (ML) decoding rule for ternary codes over this channel and
show that it is complex to compute, since it depends on the channel error
probability. A simpler alternative decoding rule which depends only on code
properties, called \da-decoding, is then proposed. It is shown that
\da-decoding and ML decoding are equivalent, i.e., \da-decoding is optimal,
under certain conditions. Assuming \da-decoding, we characterize the error
correcting capabilities of ternary codes over the non-symmetric ternary
channel. We also derive an upper bound and a constructive lower bound on the
size of codes, given the code length and the minimum distance. The results
arising from the constructive lower bound are then compared, for short sizes,
to optimal codes (in terms of code size) found by a clique-based search. It is
shown that the proposed construction method gives good codes, and that in some
cases the codes are optimal.Comment: Submitted to IEEE Transactions on Information Theory. Part of this
work was presented at the Information Theory and Applications Workshop 200
- …