US20130282989A1 - Control method, memory, and processing system utilizing the same - Google Patents
Control method, memory, and processing system utilizing the same Download PDFInfo
- Publication number
- US20130282989A1 US20130282989A1 US13/913,017 US201313913017A US2013282989A1 US 20130282989 A1 US20130282989 A1 US 20130282989A1 US 201313913017 A US201313913017 A US 201313913017A US 2013282989 A1 US2013282989 A1 US 2013282989A1
- Authority
- US
- United States
- Prior art keywords
- bits
- values
- storage units
- neighboring
- read command
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
Definitions
- the invention relates to a control method, and more particularly to a control method for a memory.
- Flash memories comprise NOR flash memories and NAND flash memories.
- the read speed of the NOR flash memory is faster than the NAND flash memory. But, the capacity of the NOR flash memory is smaller.
- the NAND flash memory possesses favorable advantages of having a smaller volume, lower power consumption, and larger capacity. Thus, NAND flash memories are widely used in different fields such as fields for mobile products.
- the NAND flash memory comprises various storage units. When the storage unit only stores a single bit, the storage unit is referred to as a single level cell (SLC). When the storage unit can store various bits, the storage unit is referred to as a multi level cell (MLC).
- SLC single level cell
- MLC multi level cell
- the read speed and the write speed of the NAND flash memory are slower and the reliability of the NAND flash memory is lower than the NOR flash memory.
- FIG. 1A is a flowchart of a conventional read method for an NAND flash memory.
- the NAND flash memory comprises various multi level cells.
- an external device issues a read command to the NAND flash memory (step 110 ).
- data is provisionally stored in an internal cache (step 120 ).
- the external device reads the data stored in the internal cache (step 130 ).
- FIG. 1B is a timing diagram of reading a multi level cell. Assuming the capacity of the NAND flash memory is (4096+128) bytes and each storage unit stores two bits, when an external device desires to read the data stored in the NAND flash memory, the NAND flash memory requires 175 ns to receive the read command and then requires 50 us to store data in the internal cache. After the all data are stored in the internal cache, the external device requires 105.6 us to receive data stored in the internal cache. As described previously, the read speed and the write speed of the NAND flash memory are slower because the NAND flash memory stores various bits. Thus, to improve performance of the NAND flash memory, a control method is required to raise the read speed and the write speed.
- a control method for a memory comprising a plurality of storage units, each storing a plurality of bits is provided.
- An exemplary embodiment of a control method for a memory is described in the following.
- a read command is provided to the memory.
- the value of a most significant bit (MSB) of each storage unit is obtained and recorded.
- the value of the most significant bits is output.
- the value of a neighboring bit of each storage unit is obtained and recorded.
- the neighboring bit neighbors the most significant bit.
- the value of the neighboring bits is output.
- An exemplary embodiment of a memory which is coupled to a memory module and a command unit providing a read command to the memory in a read mode, comprises a plurality of storage units and a control circuit. Each of the storage units stores a plurality of bits.
- the control circuit based on the read command, obtains the values of a most significant bit of each storage unit and records the values of the most significant bits, and then obtains the values of a neighboring bit of each storage unit and records the values of the neighboring bits in the memory module. Each neighboring bit neighbors one corresponding most significant bit.
- the memory module outputs the values of the most significant bits and the neighboring bits.
- An exemplary embodiment of a processing system comprises a command unit, a memory, and a memory module.
- the command unit provides a read command in a read mode.
- the memory comprises a plurality of storage units and a control circuit. Each of the storage units stores a plurality of bits.
- the control circuit based on the read command, obtains the values of a most significant bit and then obtains a neighboring bit of each storage unit. The neighboring bit neighbors the most significant bit.
- the memory module comprises a first page buffer and a second page buffer.
- the first page buffer records the values of the most significant bits.
- the second page buffer records the values of the neighboring bits.
- FIG. 1A is a flowchart of a conventional read method for an NAND flash memory
- FIG. 1B is a timing diagram of reading a multi level cell
- FIG. 2A is a flowchart of an exemplary embodiment of a control method for a memory in a read mode
- FIG. 2B is a timing diagram of the control method
- FIG. 3 is a flowchart of an exemplary embodiment of a control method for a memory in a write mode
- FIG. 4 is a schematic diagram of an exemplary embodiment of a processing system.
- FIG. 5 is a schematic diagram of values stored in the storage unit.
- FIG. 2A is a flowchart of an exemplary embodiment of a control method for a memory in a read mode.
- the memory is an NAND flash memory comprising a plurality of storage units.
- the storage units are multi level cells.
- a read command is provided to the memory (step 210 ).
- the read command is provided by a command unit.
- the command unit is controlled by an NAND flash memory controller.
- the value of a most significant bit (MSB) of each storage unit is obtained and recorded (step 220 ).
- various preset values can be defined according to the bit number of the storage unit.
- the value of the MSB is obtained according to one of the preset values. For example, if the storage unit stores two bits, the number of the preset values is 3.
- the minimum value among the three preset values is served as a first preset value and the maximum value among the three preset values is served as a third preset value.
- the value of the MSB of each storage unit is obtained according to a second preset value (such as a middle value) between the first and the third preset value.
- each storage unit stores two bits.
- the value of the two bits may be 00, 01, 11, or 10.
- voltages V 1 ⁇ V 4 is provided to the storage units to obtain the value of the two bits, wherein the voltage V 1 is less than the voltage V 2 , the voltage V 2 is less than the voltage V 3 , and the voltage V 3 is less than the voltage V 4 .
- three preset values P 1 ⁇ P 3 are defined according to the voltages V 1 ⁇ V 4 .
- the invention does not limit the method for defining the preset values P 1 ⁇ P 3 .
- the middle preset value P 2 is provided to each storage unit.
- the value of the MSB of each storage unit is obtained according to the result of providing the middle preset value P 2 .
- a storage unit stores two bits and the value of the two bits is 10 or 11
- the result of providing the middle preset value P 2 may generate a first state, such as the storage unit at a high level.
- a storage unit stores two bits and the value of the two bits is 00 or 01
- the middle preset value P 2 when the middle preset value P 2 is provided to the storage unit, the result of providing the middle preset value P 2 may generate a second state, such as the storage unit at a low level.
- the value of the MSB of each storage unit is obtained according to the result of providing the middle preset value P 2 .
- the value of the MSB of each storage unit can be obtained according to the results of providing other preset values.
- the storage unit stores three bits, eight voltages (V 1 ⁇ V 8 ) are utilized to obtain the value stored in the storage unit.
- the preset values P 1 ⁇ P 7 are defined according to the voltage V 1 ⁇ V 8 , wherein the preset value P 1 is a minimum value and the preset value P 7 is a maximum value.
- the middle value such as the preset value P 4
- the value of the MSB of the storage unit can be obtained according to the result of providing the preset value P 4 .
- the values of all MSBs are recorded in a first page buffer.
- the values of all MSBs are simultaneously obtained and simultaneously recorded in the first page buffer.
- the recorded result is output (step 230 ).
- a first ready signal is activated.
- the first page buffer outputs the recorded values.
- the first page buffer outputs the recorded values to a bus.
- the value of a neighboring bit of each storage unit is obtained and recorded (step 240 ).
- the neighboring bit neighbors the MSB.
- other unused preset values can be utilized to obtain the values of the neighboring bits. For example, assuming the middle preset value P 2 is provided and the result of providing the middle preset value P 2 is the storage unit at the high level, the preset value P 3 is provided to the storage unit to obtain the value of the neighboring bit because the preset value P 3 is higher than the middle preset value P 2 . If the result of providing the middle preset value P 2 is the storage unit at the low level, the preset value P 1 is provided to the storage unit to obtain the value of the neighboring bit because the preset value P 1 is less than the middle preset value P 2 .
- the neighboring bit is a least significant bit (LSB).
- LSB least significant bit
- a second page buffer can be utilized to record the values of the neighboring bits.
- the first page buffer is independent of the second page buffer.
- a single buffer is divided into a first half and a second half The first half of the single buffer is served as the first page buffer. The second half of the single buffer is served as the second page buffer.
- the first and the second page buffers simultaneously output the recorded values. In some embodiments, after the first page buffer completely outputs the recorded values, the second page buffer starts outputting the recorded values.
- the result of recording the values of the neighboring bits is output (step 250 ).
- the values of all neighboring bits have been recorded in the second page buffer and the second page buffer outputs the recorded value to the bus.
- a step occurs between the steps 240 and 250 .
- the step is determining whether the values of all neighboring bits have been completely obtained and recorded. If the values of all neighboring bits have been completely obtained and recorded, the step 250 is executed. If the values of some neighboring bits have not been completely obtained and recorded, the step 250 is not executed until the values of all neighboring bits have been obtained and recorded.
- FIG. 2B is a timing diagram of the control method. Assuming the capacity of an NAND flash memory is (4096+128) bytes and each storage unit stores two bits, as shown in FIG. 2B , the memory requires 175 ns to receive the read command. Since only one bit is captured in each storage unit, the first page buffer only utilizes 20 us to record all captured bits. After the first page buffer completely records all captured bits, the first ready signal R/ B 0 is activated to a high level. When the first ready signal R/ B 0 is activated, the captured bits recorded in the first page buffer are output. At this time, the value of each neighboring bit is obtained and recorded. After the second page buffer completely records the values of all neighboring bits, the second ready signal R/ B 1 is activated to the high level.
- the values of the MSBs are output after the values of all MSBs are completely obtained and recorded.
- the time for obtaining and recording was 20 us such that the total time for reading the NAND flash memory was about 125.775 us.
- the time for obtaining and recording was 50 us.
- the total time for reading the NAND flash memory was 155.775 us and was longer than the invention.
- the control method as shown in FIG. 2A effectively reduces the total time for reading the NAND flash memory and increases the performance of the NAND flash memory.
- FIG. 3 is a flowchart of an exemplary embodiment of a control method for a memory in a write mode.
- a data string is divided (step 310 ).
- the data string is a combination of 0 and 1.
- the storage unit stores two bits, the data string can be divided into a first data section and a second data section. The first half of the data string would be the first data section. The second half of the data string would be the second data section. The data length of the first data section is the same as the data length of the second data section.
- the first data section comprises a plurality of first bits.
- the second data section comprises a plurality of second bits.
- the first and the second data sections are a combination of 0 and 1.
- the storage unit stores three bits, the data string is divided into a first data section, a second data section, and a third data section. The data length of the first, the second, and the third data sections are the same.
- each first bit is stored in one corresponding storage unit.
- the first bits are served as the MSBs. For example, assuming the value of the first bits are 110.
- the value of the first bits “1” is stored in a first storage unit among the storage units, the value of the first bits “1” is stored in a second storage unit among the storage units, and the value of the first bits “0” is stored in a third storage unit among the storage units.
- the first bits are simultaneously or sequentially stored in the storage units.
- the first bits “1” is stored in the first storage unit, meanwhile, the first bits “1” is stored in the second storage unit, meanwhile, the first bits “0” is stored in the third storage unit.
- the second storage unit starts to store the first bits “1”.
- the third storage unit then starts to store the first bits “0”.
- the second bits of the second data section are stored in the storage units, respectively.
- the second bits are served as the neighboring bits, wherein each neighboring bit neighbors the MSBs.
- the second bits are simultaneously stored in the storage units. If the storage unit stores two bits, the second bits are least significant bits (LSBs).
- FIG. 4 is a schematic diagram of an exemplary embodiment of a processing system.
- the processing system 400 comprises a command unit 410 , a memory 420 , and a memory module 430 .
- the command unit 410 generates a control signal S comm to the memory 420 .
- the control signal S comm is a read command.
- the memory 420 outputs data S data .
- the control signal S comm is a write command.
- the memory 420 receives data S data .
- the memory 420 comprises a control circuit 421 and a storage array 422 .
- the storage array 422 comprises a plurality of storage units.
- the memory 420 is an NAND flash memory and each storage unit is an MLC.
- the control circuit 421 obtains the value of the MSB of each storage unit and then obtains the value of the neighboring bit of each storage unit according to the control signal S comm , wherein each neighboring bit neighbors with one MSB.
- control circuit 421 selects a first preset value among the preset values and provides the first preset value to all storage units to obtain the values of all MSBs according to the control signal S comm .
- the control circuit 421 utilizes the result of providing the first preset values to select a second preset value among the preset values.
- the control circuit 421 provides the second preset value to the storage units to obtain the values of the neighboring bit.
- the values of the two bits may be 00, 01, 11, or 10.
- the voltages V 1 ⁇ V 4 are required.
- the voltage V 1 is less than the voltage V 2 .
- the voltage V 2 is less than the voltage V 3 .
- the voltage V 3 is less than the voltage V 4 .
- the preset values P 1 ⁇ P 3 are defined according to the voltages V 1 ⁇ V 4 .
- the preset value P 1 is a minimum value.
- the preset value P 3 is a maximum value.
- the preset value P 2 is a middle value between the preset values P 1 and P 3 .
- the sum of the preset values P 1 and P 3 is averaged and the averaged result is referred to as the preset value P 2 .
- the preset value P 2 is provided to each storage unit. The values of all MSBs are obtained according to the result of providing the preset value P 2 .
- a storage unit stores two bits and the values of the two bits is 10 or 11.
- a first state may be generated, such as the storage unit is at a high level.
- the control circuit 421 then provides a higher preset value P 3 than the preset value P 2 to the storage unit.
- the neighboring bit is obtained according to the result of providing the preset value P 3 . If the result of providing the preset value P 3 is to generate the first state again, the neighboring bit is 1. Thus, it is obtained that the values stored in the state unit is 11. If the result of providing the preset value P 3 is to generate a second state, the neighboring bit is 0. Thus, it is obtained that the values stored in the state unit is 10.
- a second state may be generated, such as the storage unit at a low level.
- the control circuit 421 provides a lower preset value P 1 than the preset value P 2 to the storage unit.
- the value of the neighboring bit is obtained according to the result of providing the preset value P 1 . If the result of providing the preset value P 1 is to generate the first state, the neighboring bit is 1. Thus, it is obtained that the values stored in the state unit is 01. If the result of providing the preset value P 1 is to generate the second state, the neighboring bit is 0. Thus, it is obtained that the values stored in the state unit is 00.
- the memory module 430 comprises page buffers 431 and 432 .
- page buffers 431 and 432 are independent.
- a single buffer is divided into a first half serving as the page buffer 431 and a second half serving as the page buffer 432 .
- the values of all MSBs are recorded in the page buffer 431 .
- the command unit 410 activates the ready signal R/ B 0 .
- the controller 440 utilizes the control signal S con to control the command unit 410 such that the command unit 410 drives the page buffer 431 .
- the page buffer 431 outputs the recorded values to the bus 450 .
- the values of all MSBs are indirectly recorded in the page buffer 431 via the page buffer 432 . In other embodiment, the values of all MSBs are directly recorded in the page buffer 431 .
- the values of all neighboring bits are recorded in the page buffer 432 .
- the command unit 410 activates the ready signal R/ B 1 .
- the controller 440 utilizes the control signal S con to control the command unit 410 such that the command unit 410 drives the page buffer 432 .
- the page buffer 432 outputs the recorded values to the bus 450 .
- the page buffer 431 outputs the recorded values to the bus 450 , and simultaneously, the control circuit 421 starts to obtain and record the values of the neighboring bits in the page buffer 432 .
- the command unit 410 controls the page buffers 431 and 432 such that the page buffers 431 and 432 receive the data provided by the bus 450 and transmit the received data to the memory 420 .
- the command unit 410 divides the data string provided by the bus 450 into a first data section and a second data section.
- the first data section is stored in the page buffer 431 .
- the second data section is stored in the page buffer 432 .
- the first data section comprises a plurality of first bits and the second data section comprises a plurality of second bits.
- all storage units of the storage array 422 store data, which is stored in the page buffer 431 .
- the data stored in the storage units are the values of the first bits of the first data section. Each first bit is served as an MSB of the corresponding storage unit.
- all storage units of the storage array 422 store data, which is stored in the page buffer 432 .
- the data stored in the storage units are the values of the second bits of the second data section. Each second bit is served as a neighboring bit of the corresponding storage unit, wherein the neighboring bit neighbors the MSB.
- the control circuit 421 controls the storage array 422 to store the first or the second bits.
- FIG. 5 is a schematic diagram of values stored in the storage unit. For clarity, only eight bits and four storage units U 1 ⁇ U 4 are shown. As shown in FIG. 5 , the data string is divided into data sections SEC 1 and SEC 2 . The values of bits P 0 ⁇ P 3 of the data section SEC 1 are stored in the storage units U 1 ⁇ U 4 , respectively. The values of bits S 0 ⁇ S 3 of the data section SEC 2 are stored in the storage units U 1 ⁇ U 4 , respectively.
- the bits P 0 ⁇ P 3 are served as MSBs of the storage units U 1 ⁇ U 4 and the bits S 0 ⁇ S 3 are served as neighboring bits of the storage units U 1 ⁇ U 4 .
- the bit P 0 is an MSB of the storage unit U 1 and the bit S 0 is served as a neighboring bit of the storage unit U 1 .
- the bits S 0 ⁇ S 3 are LSBs.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
Description
- This application is a Continuation of pending U.S. patent application Ser. No. 12/357,464, filed Jan. 22, 2009 and entitled “Control Method Memory and Processing System Utilizing the Same”, which claims the benefit of provisional Application No. 61/026,185, filed on Feb. 5, 2008, the entirety of which are incorporated by reference herein.
- 1. Field of the Invention
- The invention relates to a control method, and more particularly to a control method for a memory.
- 2. Description of the Related Art
- Flash memories comprise NOR flash memories and NAND flash memories. The read speed of the NOR flash memory is faster than the NAND flash memory. But, the capacity of the NOR flash memory is smaller. The NAND flash memory possesses favorable advantages of having a smaller volume, lower power consumption, and larger capacity. Thus, NAND flash memories are widely used in different fields such as fields for mobile products. The NAND flash memory comprises various storage units. When the storage unit only stores a single bit, the storage unit is referred to as a single level cell (SLC). When the storage unit can store various bits, the storage unit is referred to as a multi level cell (MLC). The read speed and the write speed of the NAND flash memory are slower and the reliability of the NAND flash memory is lower than the NOR flash memory.
-
FIG. 1A is a flowchart of a conventional read method for an NAND flash memory. The NAND flash memory comprises various multi level cells. As shown inFIG. 1A , an external device issues a read command to the NAND flash memory (step 110). When the NAND flash memory receives the read command, data is provisionally stored in an internal cache (step 120). After all data are stored in the internal cache, the external device reads the data stored in the internal cache (step 130). -
FIG. 1B is a timing diagram of reading a multi level cell. Assuming the capacity of the NAND flash memory is (4096+128) bytes and each storage unit stores two bits, when an external device desires to read the data stored in the NAND flash memory, the NAND flash memory requires 175 ns to receive the read command and then requires 50 us to store data in the internal cache. After the all data are stored in the internal cache, the external device requires 105.6 us to receive data stored in the internal cache. As described previously, the read speed and the write speed of the NAND flash memory are slower because the NAND flash memory stores various bits. Thus, to improve performance of the NAND flash memory, a control method is required to raise the read speed and the write speed. - A control method for a memory comprising a plurality of storage units, each storing a plurality of bits is provided. An exemplary embodiment of a control method for a memory is described in the following. In a read mode, a read command is provided to the memory. The value of a most significant bit (MSB) of each storage unit is obtained and recorded. The value of the most significant bits is output. The value of a neighboring bit of each storage unit is obtained and recorded. The neighboring bit neighbors the most significant bit. The value of the neighboring bits is output.
- Memories are provided. An exemplary embodiment of a memory, which is coupled to a memory module and a command unit providing a read command to the memory in a read mode, comprises a plurality of storage units and a control circuit. Each of the storage units stores a plurality of bits. The control circuit, based on the read command, obtains the values of a most significant bit of each storage unit and records the values of the most significant bits, and then obtains the values of a neighboring bit of each storage unit and records the values of the neighboring bits in the memory module. Each neighboring bit neighbors one corresponding most significant bit. The memory module outputs the values of the most significant bits and the neighboring bits.
- Processing systems are also provided. An exemplary embodiment of a processing system comprises a command unit, a memory, and a memory module. The command unit provides a read command in a read mode. The memory comprises a plurality of storage units and a control circuit. Each of the storage units stores a plurality of bits. The control circuit, based on the read command, obtains the values of a most significant bit and then obtains a neighboring bit of each storage unit. The neighboring bit neighbors the most significant bit. The memory module comprises a first page buffer and a second page buffer. The first page buffer records the values of the most significant bits. The second page buffer records the values of the neighboring bits. When the values of the most significant bits are recorded in the first page buffer, the command unit activates a first ready signal. When the values of the neighboring bits are recorded in the second page buffer, the command unit activates a second ready signal.
- A detailed description is given in the following embodiments with reference to the accompanying drawings.
- The invention can be more fully understood by referring to the following detailed description and examples with references made to the accompanying drawings, wherein:
-
FIG. 1A is a flowchart of a conventional read method for an NAND flash memory; -
FIG. 1B is a timing diagram of reading a multi level cell; -
FIG. 2A is a flowchart of an exemplary embodiment of a control method for a memory in a read mode; -
FIG. 2B is a timing diagram of the control method; -
FIG. 3 is a flowchart of an exemplary embodiment of a control method for a memory in a write mode; -
FIG. 4 is a schematic diagram of an exemplary embodiment of a processing system; and -
FIG. 5 is a schematic diagram of values stored in the storage unit. - The following description is of the best-contemplated mode of carrying out the invention. This description is made for the purpose of illustrating the general principles of the invention and should not be taken in a limiting sense. The scope of the invention is best determined by reference to the appended claims.
-
FIG. 2A is a flowchart of an exemplary embodiment of a control method for a memory in a read mode. In this embodiment, the memory is an NAND flash memory comprising a plurality of storage units. The storage units are multi level cells. As shown inFIG. 2A , a read command is provided to the memory (step 210). In one embodiment, the read command is provided by a command unit. The command unit is controlled by an NAND flash memory controller. - The value of a most significant bit (MSB) of each storage unit is obtained and recorded (step 220). In one embodiment, various preset values can be defined according to the bit number of the storage unit. The value of the MSB is obtained according to one of the preset values. For example, if the storage unit stores two bits, the number of the preset values is 3. In one embodiment, the minimum value among the three preset values is served as a first preset value and the maximum value among the three preset values is served as a third preset value. In this case, the value of the MSB of each storage unit is obtained according to a second preset value (such as a middle value) between the first and the third preset value.
- For example, if each storage unit stores two bits. The value of the two bits may be 00, 01, 11, or 10. Thus, voltages V1˜V4 is provided to the storage units to obtain the value of the two bits, wherein the voltage V1 is less than the voltage V2, the voltage V2 is less than the voltage V3, and the voltage V3 is less than the voltage V4. Additionally, three preset values P1˜P3 are defined according to the voltages V1˜V4. The invention does not limit the method for defining the preset values P1˜P3. In one embodiment, the preset value P1=(V1+V2)/2, the middle preset value P2=(V2+V3)/2, and the preset value P3=(V3+V4)/2. Since the voltage V1 is less than the voltage V2, the voltage V2 is less than the voltage V3, and the voltage V3 is less than the voltage V4, the preset value P1 is less than the preset value P2 and the preset value P2 is less than the preset value P3.
- The middle preset value P2 is provided to each storage unit. The value of the MSB of each storage unit is obtained according to the result of providing the middle preset value P2. Assuming a storage unit stores two bits and the value of the two bits is 10 or 11, when the middle preset value P2 is provided to the storage unit, the result of providing the middle preset value P2 may generate a first state, such as the storage unit at a high level. Assuming a storage unit stores two bits and the value of the two bits is 00 or 01, when the middle preset value P2 is provided to the storage unit, the result of providing the middle preset value P2 may generate a second state, such as the storage unit at a low level. Thus, the value of the MSB of each storage unit is obtained according to the result of providing the middle preset value P2. In one embodiment, the value of the MSB of each storage unit can be obtained according to the results of providing other preset values.
- In some embodiments, if the storage unit stores three bits, eight voltages (V1˜V8) are utilized to obtain the value stored in the storage unit. The preset values P1˜P7 are defined according to the voltage V1˜V8, wherein the preset value P1 is a minimum value and the preset value P7 is a maximum value. When the middle value (such as the preset value P4) is provided to the storage unit, the value of the MSB of the storage unit can be obtained according to the result of providing the preset value P4.
- Furthermore, in other embodiments, the values of all MSBs are recorded in a first page buffer. In this embodiment, the values of all MSBs are simultaneously obtained and simultaneously recorded in the first page buffer.
- After the values of all MSBs are recorded, the recorded result is output (step 230). In one embodiment, when the values of all MSBs are completely recorded in the first page buffer, a first ready signal is activated. When the first ready signal is activated, the first page buffer outputs the recorded values. In one embodiment, the first page buffer outputs the recorded values to a bus.
- The value of a neighboring bit of each storage unit is obtained and recorded (step 240). The neighboring bit neighbors the MSB. In one embodiment, other unused preset values can be utilized to obtain the values of the neighboring bits. For example, assuming the middle preset value P2 is provided and the result of providing the middle preset value P2 is the storage unit at the high level, the preset value P3 is provided to the storage unit to obtain the value of the neighboring bit because the preset value P3 is higher than the middle preset value P2. If the result of providing the middle preset value P2 is the storage unit at the low level, the preset value P1 is provided to the storage unit to obtain the value of the neighboring bit because the preset value P1 is less than the middle preset value P2.
- If the storage unit stores two bits, the neighboring bit is a least significant bit (LSB). Additionally, a second page buffer can be utilized to record the values of the neighboring bits. In one embodiment, the first page buffer is independent of the second page buffer. In another embodiment, a single buffer is divided into a first half and a second half The first half of the single buffer is served as the first page buffer. The second half of the single buffer is served as the second page buffer.
- In one embodiment, the first and the second page buffers simultaneously output the recorded values. In some embodiments, after the first page buffer completely outputs the recorded values, the second page buffer starts outputting the recorded values.
- When the values of all neighboring bits have been obtained and recorded, the result of recording the values of the neighboring bits is output (step 250). In one embodiment, the values of all neighboring bits have been recorded in the second page buffer and the second page buffer outputs the recorded value to the bus.
- In some embodiments, a step occurs between the
steps step 250 is executed. If the values of some neighboring bits have not been completely obtained and recorded, thestep 250 is not executed until the values of all neighboring bits have been obtained and recorded. -
FIG. 2B is a timing diagram of the control method. Assuming the capacity of an NAND flash memory is (4096+128) bytes and each storage unit stores two bits, as shown inFIG. 2B , the memory requires 175 ns to receive the read command. Since only one bit is captured in each storage unit, the first page buffer only utilizes 20 us to record all captured bits. After the first page buffer completely records all captured bits, the first ready signal R/B0 is activated to a high level. When the first ready signal R/B0 is activated, the captured bits recorded in the first page buffer are output. At this time, the value of each neighboring bit is obtained and recorded. After the second page buffer completely records the values of all neighboring bits, the second ready signal R/B1 is activated to the high level. - The values of the MSBs are output after the values of all MSBs are completely obtained and recorded. As shown in
FIG. 2B , the time for obtaining and recording was 20 us such that the total time for reading the NAND flash memory was about 125.775 us. Compared withFIG. 1A , the time for obtaining and recording was 50 us. Thus, the total time for reading the NAND flash memory was 155.775 us and was longer than the invention. Thus, the control method as shown inFIG. 2A effectively reduces the total time for reading the NAND flash memory and increases the performance of the NAND flash memory. -
FIG. 3 is a flowchart of an exemplary embodiment of a control method for a memory in a write mode. A data string is divided (step 310). The data string is a combination of 0 and 1. In one embodiment, if the storage unit stores two bits, the data string can be divided into a first data section and a second data section. The first half of the data string would be the first data section. The second half of the data string would be the second data section. The data length of the first data section is the same as the data length of the second data section. The first data section comprises a plurality of first bits. The second data section comprises a plurality of second bits. In one embodiment, the first and the second data sections are a combination of 0 and 1. In another embodiment, if the storage unit stores three bits, the data string is divided into a first data section, a second data section, and a third data section. The data length of the first, the second, and the third data sections are the same. - In
step 320, each first bit is stored in one corresponding storage unit. The first bits are served as the MSBs. For example, assuming the value of the first bits are 110. The value of the first bits “1” is stored in a first storage unit among the storage units, the value of the first bits “1” is stored in a second storage unit among the storage units, and the value of the first bits “0” is stored in a third storage unit among the storage units. In some embodiments, the first bits are simultaneously or sequentially stored in the storage units. For example, the first bits “1” is stored in the first storage unit, meanwhile, the first bits “1” is stored in the second storage unit, meanwhile, the first bits “0” is stored in the third storage unit. In other embodiments, after the first bits “1” is stored in the first storage unit, the second storage unit starts to store the first bits “1”. After the first bits “1” is stored in the second storage unit, the third storage unit then starts to store the first bits “0”. - In
step 330, the second bits of the second data section are stored in the storage units, respectively. The second bits are served as the neighboring bits, wherein each neighboring bit neighbors the MSBs. In one embodiment, the second bits are simultaneously stored in the storage units. If the storage unit stores two bits, the second bits are least significant bits (LSBs). -
FIG. 4 is a schematic diagram of an exemplary embodiment of a processing system. Theprocessing system 400 comprises acommand unit 410, amemory 420, and amemory module 430. Thecommand unit 410 generates a control signal Scomm to thememory 420. For example, in a read mode, the control signal Scomm is a read command. Thus, thememory 420 outputs data Sdata. In a write mode, the control signal Scomm is a write command. Thus, thememory 420 receives data Sdata. - The
memory 420 comprises acontrol circuit 421 and astorage array 422. Thestorage array 422 comprises a plurality of storage units. In this embodiment, thememory 420 is an NAND flash memory and each storage unit is an MLC. In a read mode, thecontrol circuit 421 obtains the value of the MSB of each storage unit and then obtains the value of the neighboring bit of each storage unit according to the control signal Scomm, wherein each neighboring bit neighbors with one MSB. - In one embodiment, the
control circuit 421 selects a first preset value among the preset values and provides the first preset value to all storage units to obtain the values of all MSBs according to the control signal Scomm. Thecontrol circuit 421 utilizes the result of providing the first preset values to select a second preset value among the preset values. Thecontrol circuit 421 provides the second preset value to the storage units to obtain the values of the neighboring bit. - For example, if each storage unit stores two bits, the values of the two bits may be 00, 01, 11, or 10. To obtain the values of the storage units, the voltages V1˜V4 are required. The voltage V1 is less than the voltage V2. The voltage V2 is less than the voltage V3. The voltage V3 is less than the voltage V4. The preset values P1˜P3 are defined according to the voltages V1˜V4. The preset value P1 is a minimum value. The preset value P3 is a maximum value. The preset value P2 is a middle value between the preset values P1 and P3. In one embodiment, the sum of the preset values P1 and P3 is averaged and the averaged result is referred to as the preset value P2. In one embodiment, the preset value P2 is provided to each storage unit. The values of all MSBs are obtained according to the result of providing the preset value P2.
- Assuming that a storage unit stores two bits and the values of the two bits is 10 or 11. After providing the preset value P2, a first state may be generated, such as the storage unit is at a high level. Thus, it is obtained that the value of the MSB is 1 according to the result of providing the preset value P2. Since the first state is generated, the
control circuit 421 then provides a higher preset value P3 than the preset value P2 to the storage unit. The neighboring bit is obtained according to the result of providing the preset value P3. If the result of providing the preset value P3 is to generate the first state again, the neighboring bit is 1. Thus, it is obtained that the values stored in the state unit is 11. If the result of providing the preset value P3 is to generate a second state, the neighboring bit is 0. Thus, it is obtained that the values stored in the state unit is 10. - Assuming that the values stored in the storage unit is 00 or 01. When the preset value P2 is provided to the storage unit, a second state may be generated, such as the storage unit at a low level. Thus, it is obtained that the value of the MSB is 0 when the second state is generated. Since the second state is generated, the
control circuit 421 provides a lower preset value P1 than the preset value P2 to the storage unit. The value of the neighboring bit is obtained according to the result of providing the preset value P1. If the result of providing the preset value P1 is to generate the first state, the neighboring bit is 1. Thus, it is obtained that the values stored in the state unit is 01. If the result of providing the preset value P1 is to generate the second state, the neighboring bit is 0. Thus, it is obtained that the values stored in the state unit is 00. - The
memory module 430 comprises page buffers 431 and 432. In this embodiment, page buffers 431 and 432 are independent. In other embodiments, a single buffer is divided into a first half serving as thepage buffer 431 and a second half serving as thepage buffer 432. - The values of all MSBs are recorded in the
page buffer 431. When the values of all MSBs are completely recorded in thepage buffer 431, thecommand unit 410 activates the ready signal R/B0 . In one embodiment, when the ready signal R/B0 is activated, thecontroller 440 utilizes the control signal Scon to control thecommand unit 410 such that thecommand unit 410 drives thepage buffer 431. Thus, thepage buffer 431 outputs the recorded values to thebus 450. Additionally, in this embodiment, the values of all MSBs are indirectly recorded in thepage buffer 431 via thepage buffer 432. In other embodiment, the values of all MSBs are directly recorded in thepage buffer 431. - The values of all neighboring bits are recorded in the
page buffer 432. When the values of all neighboring bits have been completely recorded in thepage buffer 432, thecommand unit 410 activates the ready signal R/B1 . In one embodiment, when the ready signal R/B1 is activated, thecontroller 440 utilizes the control signal Scon to control thecommand unit 410 such that thecommand unit 410 drives thepage buffer 432. Thus, thepage buffer 432 outputs the recorded values to thebus 450. - In some embodiments, the
page buffer 431 outputs the recorded values to thebus 450, and simultaneously, thecontrol circuit 421 starts to obtain and record the values of the neighboring bits in thepage buffer 432. - In a write mode, the
command unit 410 controls the page buffers 431 and 432 such that the page buffers 431 and 432 receive the data provided by thebus 450 and transmit the received data to thememory 420. In one embodiment, thecommand unit 410 divides the data string provided by thebus 450 into a first data section and a second data section. The first data section is stored in thepage buffer 431. The second data section is stored in thepage buffer 432. In this embodiment, the first data section comprises a plurality of first bits and the second data section comprises a plurality of second bits. - In the write mode, all storage units of the
storage array 422 store data, which is stored in thepage buffer 431. The data stored in the storage units are the values of the first bits of the first data section. Each first bit is served as an MSB of the corresponding storage unit. Then, all storage units of thestorage array 422 store data, which is stored in thepage buffer 432. The data stored in the storage units are the values of the second bits of the second data section. Each second bit is served as a neighboring bit of the corresponding storage unit, wherein the neighboring bit neighbors the MSB. In one embodiment, thecontrol circuit 421 controls thestorage array 422 to store the first or the second bits. -
FIG. 5 is a schematic diagram of values stored in the storage unit. For clarity, only eight bits and four storage units U1˜U4 are shown. As shown inFIG. 5 , the data string is divided into data sections SEC1 and SEC2. The values of bits P0˜P3 of the data section SEC1 are stored in the storage units U1˜U4, respectively. The values of bits S0˜S3 of the data section SEC2 are stored in the storage units U1˜U4, respectively. - The bits P0˜P3 are served as MSBs of the storage units U1˜U4 and the bits S0˜S3 are served as neighboring bits of the storage units U1˜U4. For example, the bit P0 is an MSB of the storage unit U1 and the bit S0 is served as a neighboring bit of the storage unit U1. In this embodiment, since each of the storage units only stores two bits, the bits S0˜S3 are LSBs.
- While the invention has been described by way of example and in terms of the preferred embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. To the contrary, it is intended to cover various modifications and similar arrangements (as would be apparent to those skilled in the art). Therefore, the scope of the appended claims should be accorded to the broadest interpretation so as to encompass all such modifications and similar arrangements.
Claims (17)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/913,017 US8700844B2 (en) | 2008-02-05 | 2013-06-07 | Control method, memory, and processing system utilizing the same |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US2618508P | 2008-02-05 | 2008-02-05 | |
US12/357,464 US8499115B2 (en) | 2008-02-05 | 2009-01-22 | Control method, memory, and processing system utilizing the same |
US13/913,017 US8700844B2 (en) | 2008-02-05 | 2013-06-07 | Control method, memory, and processing system utilizing the same |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/357,464 Continuation US8499115B2 (en) | 2008-02-05 | 2009-01-22 | Control method, memory, and processing system utilizing the same |
Publications (2)
Publication Number | Publication Date |
---|---|
US20130282989A1 true US20130282989A1 (en) | 2013-10-24 |
US8700844B2 US8700844B2 (en) | 2014-04-15 |
Family
ID=40390757
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/357,464 Active 2031-09-10 US8499115B2 (en) | 2008-02-05 | 2009-01-22 | Control method, memory, and processing system utilizing the same |
US13/913,017 Active US8700844B2 (en) | 2008-02-05 | 2013-06-07 | Control method, memory, and processing system utilizing the same |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/357,464 Active 2031-09-10 US8499115B2 (en) | 2008-02-05 | 2009-01-22 | Control method, memory, and processing system utilizing the same |
Country Status (3)
Country | Link |
---|---|
US (2) | US8499115B2 (en) |
CN (1) | CN101364444B (en) |
TW (1) | TWI402850B (en) |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5515317A (en) * | 1994-06-02 | 1996-05-07 | Intel Corporation | Addressing modes for a dynamic single bit per cell to multiple bit per cell memory |
US5671388A (en) * | 1995-05-03 | 1997-09-23 | Intel Corporation | Method and apparatus for performing write operations in multi-level cell storage device |
US6260103B1 (en) * | 1998-01-05 | 2001-07-10 | Intel Corporation | Read-while-write memory including fewer verify sense amplifiers than read sense amplifiers |
US6850995B1 (en) * | 1999-01-25 | 2005-02-01 | Canon Kabushiki Kaisha | Control unit selectively connected with a first bus and a second bus for controlling a displaying process in parallel with a scanning process |
KR100684061B1 (en) * | 1999-07-28 | 2007-02-16 | 소니 가부시끼 가이샤 | Recording system, data recording device, memory device, and data recording method |
US7243185B2 (en) * | 2004-04-05 | 2007-07-10 | Super Talent Electronics, Inc. | Flash memory system with a high-speed flash controller |
US7073014B1 (en) * | 2000-07-28 | 2006-07-04 | Micron Technology, Inc. | Synchronous non-volatile memory system |
US6883044B1 (en) * | 2000-07-28 | 2005-04-19 | Micron Technology, Inc. | Synchronous flash memory with simultaneous access to one or more banks |
KR100391147B1 (en) * | 2000-10-24 | 2003-07-16 | 삼성전자주식회사 | high speed synchronous semiconductor memory having multi pipeline structure and method for operating same |
TWI240861B (en) * | 2002-01-11 | 2005-10-01 | Integrated Circuit Solution In | Data access method and architecture of flash memory |
US6751129B1 (en) * | 2002-05-21 | 2004-06-15 | Sandisk Corporation | Efficient read, write methods for multi-state memory |
US20040199786A1 (en) * | 2002-12-02 | 2004-10-07 | Walmsley Simon Robert | Randomisation of the location of secret information on each of a series of integrated circuits |
US6988175B2 (en) * | 2003-06-30 | 2006-01-17 | M-Systems Flash Disk Pioneers Ltd. | Flash memory management method that is resistant to data corruption by power loss |
JP2005092923A (en) * | 2003-09-12 | 2005-04-07 | Renesas Technology Corp | Semiconductor memory device |
US7197594B2 (en) * | 2003-09-23 | 2007-03-27 | Infineon Technologies Flash Gmbh & Co. Kg | Circuit, system and method for encoding data to be stored on a non-volatile memory array |
US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
US7299314B2 (en) * | 2003-12-31 | 2007-11-20 | Sandisk Corporation | Flash storage system with write/erase abort detection mechanism |
US7328304B2 (en) * | 2004-02-27 | 2008-02-05 | Intel Corporation | Interface for a block addressable mass storage system |
US7315916B2 (en) * | 2004-12-16 | 2008-01-01 | Sandisk Corporation | Scratch pad block |
EP1746604B1 (en) * | 2005-07-22 | 2009-02-04 | STMicroelectronics S.r.l. | Method for accessing a multilevel nonvolatile memory device of the flash NAND type |
JP4693675B2 (en) * | 2006-03-27 | 2011-06-01 | 株式会社東芝 | Method for controlling semiconductor memory device |
-
2008
- 2008-09-23 CN CN2008101493710A patent/CN101364444B/en active Active
- 2008-10-02 TW TW097137879A patent/TWI402850B/en active
-
2009
- 2009-01-22 US US12/357,464 patent/US8499115B2/en active Active
-
2013
- 2013-06-07 US US13/913,017 patent/US8700844B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
TWI402850B (en) | 2013-07-21 |
CN101364444B (en) | 2011-05-11 |
CN101364444A (en) | 2009-02-11 |
TW200935427A (en) | 2009-08-16 |
US8499115B2 (en) | 2013-07-30 |
US8700844B2 (en) | 2014-04-15 |
US20090198895A1 (en) | 2009-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11914873B2 (en) | Flash memory controller | |
US8832360B2 (en) | Solid state storage device controller with expansion mode | |
US7596021B2 (en) | Memory system including MLC flash memory | |
US8797799B2 (en) | Device selection schemes in multi chip package NAND flash memory system | |
US20080172521A1 (en) | Memory System Determining Storage Mode According to Host Provided Data Information | |
US7623376B2 (en) | Flash memory device with multi level cell and burst access method therein | |
US6496409B2 (en) | Variable capacity semiconductor memory device | |
US10095436B2 (en) | Cache memory device and data processing method of the device | |
US20100070688A1 (en) | Flash memory device and method for writing data thereto | |
US20090228662A1 (en) | Multi-channel memory storage device and control method thereof | |
US8127072B2 (en) | Data storage device and method for accessing flash memory | |
US20060203595A1 (en) | Multiple memory device management | |
US10503433B2 (en) | Memory management method, memory control circuit unit and memory storage device | |
US8634243B2 (en) | Data writing method and data storage device | |
US11481157B2 (en) | Electronic apparatus and transfer method | |
JP2001250386A (en) | Semiconductor memory | |
US8499115B2 (en) | Control method, memory, and processing system utilizing the same | |
US20110302355A1 (en) | Mapping and writting method in memory device with multiple memory chips |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: VIA TECHNOLOGIES, INC., TAIWAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GAO, MING-XING;REEL/FRAME:030570/0272 Effective date: 20090108 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551) Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |