BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic view showing a typical structure of a memory system incorporating a nonvolatile semiconductor memory apparatus practiced as one embodiment of the present invention;
FIG. 2 is a schematic view showing how management information is structured in a nonvolatile memory and how such information is related to management information in a RAM;
FIG. 3 is a flow diagram showing one example of how user data and management information are written according to the embodiment of the present invention;
FIG. 4 is a flow diagram showing another example of how user data and management information are written according to the embodiment;
FIG. 5 is a flow diagram showing another example of how user data and management information are written according to the embodiment;
FIG. 6 is a flow diagram showing another example of how user data and management information are written according to the embodiment;
FIG. 7 is a flow diagram as a variation of the diagram of FIG. 3, showing how management information in the RAM is timed to be updated, how data written to the nonvolatile memory becomes inconsistent with the management information in the RAM, and how the management information in the RAM becomes inconsistent with management information in the nonvolatile memory;
FIG. 8 is a flow diagram as a variation of the diagram of FIG. 4, showing how management information in the RAM is timed to be updated, how data written to the nonvolatile memory becomes inconsistent with the management information in the RAM, and how the management information in the RAM becomes inconsistent with management information in the nonvolatile memory;
FIG. 9 is a flow diagram as a variation of the diagram of FIG. 5, showing how management information in the RAM is timed to be updated, how data written to the nonvolatile memory becomes inconsistent with the management information in the RAM, and how the management information in the RAM becomes inconsistent with management information in the nonvolatile memory;
FIG. 10 is a flow diagram as a variation of the diagram of FIG. 6, showing how management information in the RAM is timed to be updated, how data written to the nonvolatile memory becomes inconsistent with the management information in the RAM, and how the management information in the RAM becomes inconsistent with management information in the nonvolatile memory;
FIG. 11 is a schematic view showing a write command containing parameters for selecting a trade-off;
FIG. 12 is a flowchart of steps constituting a process whereby a host device selects a different management information writing method in view of stability status of power supply and a requisite level of reliability when issuing a write command;
FIG. 13 is a schematic view showing a typical structure of a memory system incorporating a nonvolatile semiconductor memory apparatus practiced as another embodiment of the present invention;
FIG. 14 is a schematic view explanatory of trade-offs between the times requisite for different data read operations on the one hand and their resulting levels of reliability on the other hand;
FIG. 15 is a schematic view showing a read command containing parameters for selecting a trade-off;
FIGS. 16A, 16B and 16C are schematic views each showing an example of data being sent from a controller to a host device in response to a read command issued with a specific parameter;
FIG. 17 is a schematic view showing a typical data path structure in which data to be output from the controller to the host device is created;
FIG. 18 is a flowchart of steps constituting a process whereby the host device selects a different data reading method in view of a requisite level of data reliability when issuing a read command;
FIG. 19 is a schematic view showing a typical structure of the controller for selecting a trade-off in accordance with a flag according to the embodiment of FIG. 13;
FIG. 20 is a schematic view showing how a trade-off is selected by embedding a flag in a read command or a write command issued by the host device;
FIG. 21 is a schematic view showing how a flag is set in a command issued by the host device in advance of a read command or a write command which, when subsequently issued, uses the flag setting to select a trade-off;
FIG. 22 is a schematic view showing how a trade-off is selected using a flag in the data to be read or written; and
FIG. 23 is a schematic view showing how a trade-off is otherwise selected using the flag that is automatically selected from within the data in accordance with a data format analyzed by the controller.