This U.S. non-provisional patent application claims priority under 35 U.S.C. §119 to Korean Patent Application No. 10-2009-0068975 filed on Jul. 28, 2009 and Japanese Patent Application No. 2008-300204 filed on Nov. 25, 2008, the collective subject matter of which is hereby incorporated by reference.
The present inventive concept relates to nonvolatile memory devices and more particularly to nonvolatile memory devices having a sequence of operations characterized by reduced operating time enabled by controlled preparation of the sequence of operations.
Each operation (e.g., write, erase and read) executed in a nonvolatile memory device includes a preparation sequence and a stress sequence. Each preparation sequence is characterized by little or no voltage stress caused, for example, by a sector load, sector check, and/or data load to a memory cell. The preparation sequence is a period during which circuits are set up and stability is checked prior to following sequence(s). Each stress sequence is characterized by a voltage boost, the application of voltage(s) to a memory cell and/or voltage drop occurring as part of (e.g.,) a write operation, an erase operation and/or a read operation. Operation including these sequences is typically performed under the control of a memory device controller generating various control signals applied within the constituent memory device.
In
The many different operations that may be executed in contemporary memory devices include the so-called “write buffer operation” (or write buffer program). During a write buffer operation, a large amount of data is first loaded to a buffer and then continuously written from the buffer. Thus, write buffer operations are designed to transfer a large amount of data within a memory device, but sometimes this transfer process seeks to move more data than existing data pathways (i.e., bandwidth) can handle. When this situation arises the initial “load operation” takes a long time and overall efficiency in the operation of the memory device suffers.
Japan Patent Publication No. 2008-204623 discloses an approach to write buffer operations that uses first and second buffer memories. The first and second buffer memories both receive data stored in a plurality of memory blocks, and are, effectively, disposed in parallel with the plurality of memory blocks. Data stored in the second buffer memory is output via an input/output (I/O) port while data stored in the first buffer memory may be written in any one of the plurality of memory blocks. This configuration increases the speed of certain write operations, like a write buffer operation, in storing data to nonvolatile memory devices.
The inventive concept provides a nonvolatile memory device that controls execution of preparation and stress sequences in an operation, such that some portion of the preparation and stress sequences are executed in parallel, thereby reducing overall operation time for the memory device.
In one embodiment, the inventive concept provides a nonvolatile memory device, including a command buffer configured to receive and store a sequence of first and second commands, a memory comprising an array of nonvolatile memory cells, and an operation controller configured to control the execution of first and second operations in the memory as respectively defined by the first and second commands, wherein each one of the first and second operations comprises a preparation sequence followed by a stress sequence, and execution of the preparation sequence for the second operation is parallel with the stress sequence of the first operation.
In one related aspect, the operation controller comprises; a preparation state unit configured to sequentially receive the first and second commands, respectively execute preparation sequences of the first and second operations in response to the first and second commands, and activate a preparation state termination signal following execution of each preparation state, and a stress state unit configured to execute a stress sequence associated with the second operation only in response to activation of a command indication signal indicating the second command is a current command, activation of a preparation state termination signal indicating execution of a preparation sequence for the second command, and a succeeding command OK signal indicating execution of the stress sequence associated with the first operation.
In another related aspect, the operation controller may further comprise; a logic unit configured to receive the command indication signal, the preparation state termination signal, and the succeeding command OK signal, and activating a stress operation signal upon concurrent activation of the command indication signal, the preparation state termination signal, and the succeeding command OK signal, wherein execution of a stress sequence by the stress state unit is enabled by an activated stress operation signal.
In another related aspect, the stress state unit may further be configured to activate the succeeding command OK signal upon execution of a corresponding stress sequence.
In yet another aspect, the execution of the stress sequence for the second operation may be delayed by a wait period following execution of the preparation sequence for the second operation until the stress sequence for the first operation is completed.
The accompanying drawings show certain embodiments of the inventive concept. In the figures:
Embodiments of the inventive concept will now be described in some additional detail with reference to the accompanying drawings. The inventive concept may, however, be embodied in different forms and should not be construed as limited to only the illustrated embodiments. Rather, these embodiments are presented as teaching examples.
Referring to
Interoperation between the command buffer 20 and operation controller 10 is controlled by providing commands stored in command buffer 20 to the operation controller 10, which in turn returns a succeeding command OK confirmation signal following execution of the command.
During operations, the operation controller 10 controls various circuitry associated with a memory cell array in memory 60 using an address and one or more control signal(s).
Referring to the conceptual illustration of
Referring to
Referring collectively to
First, a preparation state termination signal is generated in an activated state by the preparation state unit 12 following completion of each preparation sequence. The state termination signal is applied as one input to the logic unit 16 (e.g., an AND gate) along with the “current” (i.e., activated) command indication. A succeeding command OK signal is generated by the stress state unit 14 and is also provided as an input to logic unit 16.
The logic unit 16 provides a stress operation signal to the stress state unit 14. The stress operation signal becomes activated when the command indication, the preparation state termination signal, and the succeeding command OK signal are all activated (i.e., the ANDed combination is activated). These three logic unit 16 inputs are all related to a current command. That is, the command indication indicates an active current command (e.g., command B in
The stress state unit 14 outputs a succeeding command OK signal to the logic unit 16 and command buffer 20 following execution of each stress sequence. Additionally, the stress state unit 14 outputs the one or more control signal(s) to the memory 60 in response to execution of a stress sequence.
The command buffer 20 may provide the command indication signal to the operation controller 10 with each provision of a current command, only after first receiving a succeeding command OK signal for the immediately preceding command.
The preparation state unit 12 executes each preparation sequence of an operation associated with a current command upon receiving the command indication signal (i.e., upon receiving the current command from the command buffer following receipt of a succeeding command OK signal). Upon execution of each preparation sequence, the preparation state unit provides an activated preparation state termination signal to logic unit 16.
The logic unit 16 is only enabled to provide an activated stress operation signal to the stress state unit 14 upon concurrent activation of the command indication signal, the preparation state termination signal, and the succeeding command OK signal.
Thus, the stress state unit 14 provides the succeeding command OK signal to the logic unit 16 and command buffer 20 in response to a stress operation signal and successful execution of a current command, which upon successful execution of its preparation sequence and stress sequence becomes the preceding command in relation to the further operation of the command buffer 20 and stress unit 14.
In the series of operations illustrated in
Referring to
For example, the preparation section of the write buffer operation may include a data load, as well as a sector load and a sector check. The time required to execute the write buffer program including the data load varies with the amount of data and the capacity of the data buffer receiving the data load. Assuming a load data of 512 words and conventionally common data buffer size, the write buffer operation may run about 40 to 50 μs. Under these assumptions, because at least the data load of the write buffer operation is executed in parallel during the stress sequence of the erase operation, the cumulative time required for execution of the erase operation and write buffer operation may be reduced by several tens of microseconds. This operating speed efficiency for the nonvolatile memory device only increases with continued parallel execution (i.e., at least partially overlapping) of temporally adjacent operations.
Thus, nonvolatile memory devices according to embodiments of the inventive concept include a command buffer that allows a second occurring preparation sequence defined by a second command (or second collection of commands) to be executed in parallel with a first occurring stress sequence defined by a first command (or first collection of commands). In this manner, the overall operation of nonvolatile memory devices according to embodiments of the inventive concept may be reduced while continuously applying commands to be executed.
The memory controller 240 may be conventionally connected to a host device in order to provide an interface to the NAND flash memory device 220. In response to various data storage and retrieval requests from the host, the memory controller 240 will access the NAND flash memory device 220. Thus, memory controller 240 may incorporate the functionality of the command generation unit 30, command buffer 20, operation controller 10, address generation unit 40, and/or data generation unit 50 described above in relation to
The memory controller 240 may drive a firmware controlling the NAND flash memory device 220. As is conventionally understood, the memory controller 220 may include Random Access Memory (RAM), processing unit(s), and various interfaces. For example, a host interface may connect the host to the memory card according to a known protocol (e.g., as a Multimedia Card or MMC) in order to exchange data between the host and memory controller 240. That is, the memory card 200 may implement a MMC, a Security Digital (SD) card, a miniSD card, a Memory Stick (MS) card, a SmartMedia card, or a TransFlash card.
The NAND flash memory device 320 may be implemented by stacking a plurality of single-item NAND flash memories on a Fine-pitch Ball Grid Array (FBGA). Each one of the plurality of single-item NAND flash memories may be implemented as the nonvolatile memory device 100 of
The controller 340 includes a controller core 342, a NAND interface 344, and a host interface 346. The controller core 342 controls the overall operation of the moviNAND 300. The NAND interface 344 interfaces the NAND flash memory device 320 and the controller 340. The host interface 246 performs MMC interface between the controller 340 and the host.
The moviNAND 300 receives power supply voltages Vcc and Vccq from the host. Herein, the power supply voltage Vcc (for example, 3V) is supplied to the NAND flash memory device 320 and the NAND interface 244, and the power supply voltage Vccq (for example, 1.8V or 3V) is supplied to the controller 340.
An embodiment of the inventive concept may be applied to a Solid State Drive (SSD). For example,
Referring to
The host interface 420 exchanges data with the host according to the control of the processor 410. The host interface 420 fetches a command and an address from the host to transfer the fetched command and address to the processor 410 through a Central Processing Unit (CPU) bus. Herein, the host interface 420 may be any one of a SATA interface, a PATA interface and an External SATA (ESATA) interface.
Data, which are inputted from the host through the host interface 420 or should be transmitted to the host, may be transferred through the cache buffer RAM 440 without passing through the CPU bus, according to the control of the processor 410.
The RAM 430 may be used to temporarily store data necessary for the operation of the SSD 400. Such a RAM 430 is a nonvolatile memory device, and may be Dynamic RAM (DRAM) or Static RAM (SRAM).
The cache buffer RAM 440 may temporarily store movement data between the host and the flash memory devices 460. Moreover, the cache buffer RAM 440 may be used to store a program to be operated by the processor 410. The cache buffer RAM 440 may be regarded as a sort of buffer memory, and may be implemented as a SRAM.
The flash controller 450 exchanges data with the flash memory devices 460 that are used as memory devices. The flash controller 450 may support a NAND flash memory, a One-NAND flash memory, a multi-level flash memory and a single-level flash memory.
The processor 410 and the flash controller 450 may be implemented as one ARM processor.
The server 520 may further include an application communication module 521, a data processing module 522, an upgrade module 523, a scheduling center 524, a local resource module 525, and a repair information module 527.
The application communication module 521 may communicate with a computing system that is connected to the server 520 over a network, or may allow the server 520 to communicate with the SSD 540. The application communication module 521 transmits data or information that is provided through a user interface, to the data processing module 522.
The data processing module 522 is linked to the local resource module 525. Herein, the local resource module 525 may provide the list of repair shops/dealers/technical information to a user on the basis of data or information that is inputted to the server 520.
The upgrade module 523 interfaces the data processing module 522. The upgrade module 523 upgrades appliances with firmware information, reset code information, diagnosis system upgrade information or other information on the basis of data or information that is transmitted from the SSD 540.
The scheduling center 524 allows real-time options to a user on the basis of data or information that is inputted to the server 520.
The repair information module 526 interfaces the data processing module 522. The repair information module 526 is used to provide repair-related information (for example, audio, video, or document files) to a user. The data processing module 522 packages relevant information on the basis of information that is transferred from the SSD 540. Subsequently, such information is transmitted to the SSD 540 or is displayed to the user.
The CPU 610 is connected to a system bus. The ROM 620 stores data necessary for the driving of the computing system 600. Such data may be a start command sequence, or a basic input/output operation system (for example, BIOS) sequence. The RAM 630 temporarily stores data that are generated when the CPU 610 is executed.
The I/O device 640, for example, may include a keyboard, a pointing device (for example, a mouse), a monitor and a modem that are connected to the system bus through an I/O device interface.
The SSD 650 is a readable memory device and may be implemented like the SSD 400 in
The processor 710 accesses the RAM 730 for executing a firmware code or an arbitrary code. Moreover, the processor 710 accesses the ROM 720 for executing fixed command sequences such as a start command sequence or basic I/O operation system sequences. The flash interface 740 performs interface between the electronic device 700 and the SSD 750.
The SSD 750 may be attachable to and detachable from the electronic device 700. The SSD 750 may be implemented like the SSD 400 of
The electronic device 700 may be a cellular phone, a Personal Digital Assistant (PDA), a digital camera, a camcorder, a portable audio replay device (for example, MP3), and a PMP.
The memory system or a memory device according to embodiments of the inventive concept may be mounted with various types of packages. For example, the memory system or the memory device according to embodiments of the inventive concept may be mounted with packages such as Package on Package (PoP), Ball Grid Arrays (BGAs), Chip Scale Packages (CSPs), Plastic Leaded Chip Carrier (PLCC), Plastic Dual In-Line Package (PDIP), Die In Waffle Pack (DIWP), Die In Wafer Form (DIWF), Chip On Board (COB), Ceramic Dual In-Line Package (CERDIP), Plastic Metric Quad Flat Pack (MQFP), Thin Quad Flatpack (TQFP), Small Outline (SOIC), Shrink Small Outline Package (SSOP), Thin Small Outline (TSOP), Thin Quad Flatpack (TQFP), System In Package (SIP), Multi Chip Package (MCP), Wafer-level Fabricated Package (WFP) and Wafer-Level Processed Stack Package (WSP).
According to embodiments of the inventive concept, nonvolatile memory devices control the parallel execution of a second occurring preparation sequence associated with a second operation with a first occurring stress sequence associated with a first operation. Thus approach enables the combined execution time for the first and second operations to be reduced.
The above-disclosed subject matter is to be considered illustrative, and not restrictive, and the appended claims are intended to cover all such modifications, enhancements, and other embodiments, which fall within the scope of the inventive concept. Thus, to the maximum extent allowed by law, the scope of the present inventive concept is to be determined by the broadest permissible interpretation of the following claims and their equivalents, and shall not be restricted or limited by the foregoing detailed description.
Number | Date | Country | Kind |
---|---|---|---|
2008-300204 | Nov 2008 | JP | national |
10-2009-0068975 | Jul 2009 | KR | national |