diff options
author | gber <gber@FreeBSD.org> | 2012-05-17 10:11:18 +0000 |
---|---|---|
committer | gber <gber@FreeBSD.org> | 2012-05-17 10:11:18 +0000 |
commit | 6f7c7353004e2ff9709b326a4008ce8ea63d9270 (patch) | |
tree | a325137a898341311de8641f7212e28b7d87950e /usr.sbin/nandsim/nandsim.8 | |
parent | 661b9d94414ea6d11d5b7960aef1f172975ce52b (diff) | |
download | FreeBSD-src-6f7c7353004e2ff9709b326a4008ce8ea63d9270.zip FreeBSD-src-6f7c7353004e2ff9709b326a4008ce8ea63d9270.tar.gz |
Import work done under project/nand (@235533) into head.
The NAND Flash environment consists of several distinct components:
- NAND framework (drivers harness for NAND controllers and NAND chips)
- NAND simulator (NANDsim)
- NAND file system (NAND FS)
- Companion tools and utilities
- Documentation (manual pages)
This work is still experimental. Please use with caution.
Obtained from: Semihalf
Supported by: FreeBSD Foundation, Juniper Networks
Diffstat (limited to 'usr.sbin/nandsim/nandsim.8')
-rw-r--r-- | usr.sbin/nandsim/nandsim.8 | 230 |
1 files changed, 230 insertions, 0 deletions
diff --git a/usr.sbin/nandsim/nandsim.8 b/usr.sbin/nandsim/nandsim.8 new file mode 100644 index 0000000..5e86299 --- /dev/null +++ b/usr.sbin/nandsim/nandsim.8 @@ -0,0 +1,230 @@ +.\" Copyright (c) 2010 Semihalf +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd August 10, 2010 +.Dt NANDSIM 8 +.Os +.Sh NAME +.Nm nandsim +.Nd NAND simulator control program +.Sh SYNOPSIS +.Nm +.Ic status +.Aq ctrl_no | Fl -all | Fl a +.Op Fl v +.Nm +.Ic conf +.Aq filename +.Nm +.Ic start +.Aq ctrl_no +.Nm +.Ic mod +.Aq ctrl_no:cs_no | Fl l Aq loglevel +.Op Fl p Aq prog_time +.Op Fl e Aq erase_time +.Op Fl r Aq read_time +.Op Fl E Aq error_ratio +.Op Fl h +.Nm +.Ic stop +.Aq ctrl_no +.Nm +.Ic error +.Aq ctrl_no:cs_no +.Aq page_num +.Aq column +.Aq length +.Aq pattern +.Nm +.Ic bb +.Aq ctrl_no:cs_no +.Op blk_num,blk_num2,... +.Op Fl U +.Op Fl L +.Nm +.Ic freeze +.Op ctrl_no +.Nm +.Ic log +.Aq ctrl_no | Fl -all | Fl a +.Nm +.Ic stats +.Aq ctrl_no:cs_no +.Aq page_num +.Nm +.Ic dump +.Aq ctrl_no:cs_no +.Aq filename +.Nm +.Ic restore +.Aq ctrl_no:chip_no +.Aq filename +.Nm +.Ic destroy +.Aq ctrl_no[:cs_no] | Fl -all | Fl a +.Nm +.Ic help +.Op Fl v +.Sh COMMAND DESCRIPTION +Controllers and chips are arranged into a simple hierarchy. +There can be up to 4 controllers configured, each with 4 chip select (CS) lines. +A given chip is connected to one of the chip selects. +.Pp +Controllers are specified as +.Aq ctrl_no ; +chip selects are specified as +.Aq cs_no . +.Bl -tag -width periphlist +.It Ic status +Gets controller(s) status. If +.Fl a +or +.Fl -all +flag is specified - command will print status of every controller +currently available. +Optional flag +.Fl v +causes printing complete information about the controller, and all +chips attached to it. +.It Ic conf +Reads simulator configuration from a specified file (this includes +the simulation "layout" i.e. controllers-chips assignments). +Configuration changes for an already started simulation require a +full stop-start cycle in order to take effect i.e.: +.Pp +.Bl -column +.It nandsim stop ... +.It nandsim destroy ... +.Pp +.It << edit config file >> +.Pp +.It nandsim conf ... +.It nandsim start ... +.El +.It Ic mod +Alters simulator parameters on-the-fly. +If controller number and CS pair is not specified, the general +simulator parameters (not specific to a controller or a chip) will be modified. +Changing chip's parameters requires specifying both controller number and CS +to which the given chip is connected. +Parameters which can be altered: +.Pp +General simulator related: +.Bl -tag -width flag +.It Fl l Aq log_level +change logging level to +.Aq log_level +.El +.Pp +Chip related: +.Bl -tag -width flag +.It Fl p Aq prog_time +change prog time for specified chip to +.Aq prog_time +.It Fl e Aq erase_time +change erase time for specified chip to +.Aq erase_time +.It Fl r Aq read_time +change read time for specified chip to +.Aq read_time +.It Fl E Aq error_ratio +change error ratio for specified chip to +.Aq error_ratio . +Error ratio is a number of errors per million read/write bytes. +.El +.Pp +Additionally, flag +.Fl h +will list parameters which can be altered. +.El +.Bl -tag -width periphlist +.It Ic bb +Marks/unmarks a specified block as bad. +To mark/unmark the bad condition an a block, the following parameters +have to be supplied: controller number, CS number, and at least one +block number. +It is possible to specify multiple blocks, by separating blocks numbers +with a comma. +The following options can be used for the 'bb' command: +.Bl -tag -width flag +.It Fl U +unmark the bad previously marked block as bad. +.It Fl L +list all blocks marked as bad on a given chip. +.El +.It Ic log +Prints activity log of the specified controller to stdout; if +controller number is not specifed, logs for all available +controllers are printed. +.It Ic stats +Print statistics of the selected controller, chip and page. +Statistics includes read count, write count, raw read count, raw +write count, ECC stats (succeeded corrections, failed correction). +.It Ic dump +Dumps a snaphot of a single chip (including data and bad blocks +information, wearout level) into the file. +.It Ic restore +Restores chip state from a dump-file snapshot (produced previously +with the 'dump' command). +.It Ic start +Starts a controller i.e. the simulation. +.It Ic stop +Stops an already started controller; if the controller number is not +supplied, attempts to stop all currently working controllers. +.It Ic destroy +Removes existing active chip/controller and its configuration from +memory and releases the resources. +Specifying flag +.Fl a +or +.Fl -all +causes removal of every chip and controller. +Controller must be stopped in order to be destroyed. +.It Ic error +Directly overwrites a certain number of bytes in the specified page +at a given offset with a supplied pattern (which mimics the +corruption of flash contents). +.It Ic help +Prints synopsis, +.Fl v +gives more verbose output. +.It Ic freeze +Stops simulation of given controller (simulates power-loss). +All commands issues to any chip on this controller are ignored. +.El +.Sh SEE ALSO +.Xr nand 4 , +.Xr nandsim 4 +.Xr nandsim.conf 5 +.Sh HISTORY +The +.Nm +utility first appeared in +.Fx 10.0 . +.Sh AUTHOR +This utility was written by +.An Lukasz Wojcik . |