CN101681302B - Memory system - Google Patents

Memory system Download PDF

Info

Publication number
CN101681302B
CN101681302B CN2009800001088A CN200980000108A CN101681302B CN 101681302 B CN101681302 B CN 101681302B CN 2009800001088 A CN2009800001088 A CN 2009800001088A CN 200980000108 A CN200980000108 A CN 200980000108A CN 101681302 B CN101681302 B CN 101681302B
Authority
CN
China
Prior art keywords
data
parallel work
flow element
unit
storage unit
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.)
Expired - Fee Related
Application number
CN2009800001088A
Other languages
Chinese (zh)
Other versions
CN101681302A (en
Inventor
长富靖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Publication of CN101681302A publication Critical patent/CN101681302A/en
Application granted granted Critical
Publication of CN101681302B publication Critical patent/CN101681302B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7206Reconfiguration of flash memory system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices

Abstract

A memory system according to an embodiment of the present invention comprises a DRAM 11, a NAND memory 12, a controller 134 having a control register 150 that specifies parallel-operating element specifying information indicating parallel operating elements 120A to 120D in the NAND memory 12 to be used at the time of data access and an address of data with respect to a NAND interface 140, the NAND interface 140 connected in parallel to the respective parallel operating elements 120A to 120D, and a CPU 131 that sets the parallel-operating element specifying information in the control register 150 according to the type of data to be accessed.

Description

Accumulator system
Technical field
The present invention relates to a kind of through using the accumulator system of nonvolatile semiconductor memory configuration.
Background technology
Recently, NAND type flash memory has attracted attention as a kind of nonvolatile semiconductor memory.The write/erase operation of NAND type flash memory is faster than the write/erase operation of NOR type flash memory.In addition, because the development of the manufacturing technology of semiconductor device, advanced the dimension shrinks of semiconductor element, and the memory span of per unit area is increasing always.Use the mass storage system commercialization of NAND type flash memory.
Usually, in NAND type flash memory, a plurality of pages or leaves are gathered to form a piece.Writing/read and handling is to be that unit carries out with the page or leaf, and wipes that to handle be to be that unit carries out (for example, referring to patent document 1) with the piece.
In addition, along with the latest developments of infotech, for example many high capacity files of the size of exceedance megabyte (for example image file, music file and video file) are stored in the secondary memory means (for example personal computer).(for example using use NAND type flash memory; It has the page or leaf size of 4 kilobyte) the situation of accumulator system as secondary memory means under; And when the file that writes significantly greater than page or leaf size (it is the unit of writing in the NAND type flash memory); Have such problem, promptly must carry out writing to each page or leaf (4 kilobyte), therefore writing file needs for a long time.On the other hand, if increase every page write size to improve the efficient that writes of high capacity file, then when the file that writes less than the page or leaf size, in page or leaf, produce untapped zone.
In addition, handle below the rewriting processing of the data in the NAND type flash memory needs: save the data in the storer (for example dynamic RAM (DRAM)) once; The page or leaf that renewal will rewrite on storer; Formation is comprised that the data of the piece of refresh page write in such piece, and data are wiped from this piece, and this piece is different from the piece of current storage data; And wipe original block.Therefore, writing when comparing the file that has low capacity and have high rewrite frequencies, in page or leaf, produce untapped zone, and the useless number of wiping increases with block size.Therefore, write efficient (it is obliterated data quantity and the ratio that writes data bulk) and reduce, thereby deterioration constitutes the unit of piece.
Japanese patent application discloses 2007-279402 number
An object of the present invention is to provide a kind of accumulator system, it can be stored, and non-deterioration writes efficient less than the data of block size and greater than the data of block size.
Hold in the invention
Accumulator system according to an embodiment of the invention comprises: volatile first storing unit; Nonvolatile second storing unit, its storage is through the data of said first storage unit from the host apparatus transmission, and wherein memory area comprises a plurality of parallel work-flow elements; And controller; It carries out between said first storage unit and said second storage unit or the data in said second storage unit transmit; Wherein said controller comprises: the interface designating unit; It is with respect to interface unit, specifies the address of parallel work-flow element appointed information and data that will access, and said parallel work-flow element appointed information is indicated the parallel work-flow element that is used for the said data of access in said second storage unit; Said interface unit; Each parallel work-flow element that it is parallel-connected in said second storage unit is used for access based on by the specified said parallel work-flow element appointed information of said interface designating unit and said address and the address of one or more parallel work-flow elements of said second storage unit of selecting; And control module, it is when data access, and according to type of data that will access, the said parallel work-flow element appointed information that will be used for said data access is set to said interface designating unit.
Accumulator system according to an embodiment of the invention comprises: volatile first storing unit; Nonvolatile second storing unit, its storage is through the data of said first storage unit from the host apparatus transmission, and wherein memory area comprises a plurality of parallel work-flow elements; And controller, it comprises: the interface designating unit, and it specifies the address that is used for access data with respect to interface unit; Said interface unit, each parallel work-flow element that it is parallel-connected in said second storage unit is used for based on the said data of access by the said address of said interface designating unit appointment; And control module; It is when data access; Address setting to said interface designating unit with the destination in said second storage unit; And it is controlled between said first storage unit and said second storage unit or the data in said second storage unit transmit; Wherein said control module confirms to be used for the parallel work-flow element of the said data access between said interface unit and said second storage unit according to type of data that will access when said data access; And with respect to said interface designating unit, the effective address of setting the parallel work-flow element be used for using be used for invalid address with obsolete parallel work-flow element.
Description of drawings
Fig. 1 is the block diagram according to an instance of the configuration of the accumulator system of the first embodiment of the present invention;
Fig. 2 is the circuit diagram that is included in a profile instance of a piece in the nand memory;
Fig. 3 is a profile instance according to the NAND controller control register of first embodiment;
Fig. 4 is the block diagram of an instance of the functional configuration of CPU;
Fig. 5 is an instance of the data transfer process in the accumulator system;
Fig. 6 (a) and 6 (b) are described in the treatment state of the data access control under the situation of 8 normal modes;
Fig. 7 (a) and 7 (b) are described in the treatment state of the data access control under the situation of 32 double speed modes;
Fig. 8 is the instance of address distribution method according to a second embodiment of the present invention;
Fig. 9 (a) and 9 (b) are the instances according to the addressing method of second embodiment;
Figure 10 is the instance of the address distribution method in the nand memory of a third embodiment in accordance with the invention;
Figure 11 (a) and 11 (b) are the instances according to the address designation method of the 3rd embodiment;
Figure 12 is the instance according to the regional segmentation of the degree of parallelism in the nand memory;
Figure 13 is the instance of the data transfer process in the accumulator system of a fourth embodiment in accordance with the invention;
Figure 14 schematically describes a profile instance of NAND controller control register according to a fifth embodiment of the invention; And
Figure 15 (a) and 15 (b) are the instances when the size variation of the storage area of low degree of parallelism.
Embodiment
Come the example embodiment of illustrated in detail below with reference to accompanying drawing according to accumulator system of the present invention.The present invention is not limited to these embodiment.
Accumulator system according to the first embodiment of the present invention comprises nonvolatile semiconductor memory, and is used as the secondary memory means (solid state drive (SSD)) of host apparatus (for example personal computer).This accumulator system has to be used to store to its data of sending the request of writing from host apparatus sends the function of the data of the request of reading with reading to it from host apparatus, to export data to host apparatus.Fig. 1 is the block diagram according to an instance of the configuration of the accumulator system of first embodiment.Accumulator system 10 comprises DRAM 11 as first storage unit, as the NAND type flash memory (hereinafter, being " nand memory ") 12 of second storage unit, and Drive and Control Circuit (being expressed as " ASIC " among the figure) 13.
DRAM 11 is with acting on the storage unit that data transmitted or be used for records management information.Particularly; Be used for storage unit that data transmit and be used to before data being write nand memory 12 temporary transient storage and send the data of the request of writing to it from host apparatus, perhaps be used to read and send the data of the request of reading and temporarily store these data from host apparatus to it from nand memory 12.The storage unit of records management information is used to management information, and this management information is used for managing the memory location of the data that will be stored in DRAM 11 and nand memory 12.
Nand memory 12 usefulness act on the storage unit of storage data.Particularly, nand memory 12 storage pass through the management information that DRAM 11 manages from what the data of host apparatus or storage were used to back up.Fig. 1 describes the situation that nand memory 12 comprises four parallel work-flow element 120A to 120D.Among the parallel work-flow element 120A to 120D each comprises two encapsulation 121, and eight chips 122 that in these two encapsulation 121, will have the memory span of predetermined size place one.The control pins 141 and I/O pins 142 of NAND controllers 134 are shared in two encapsulation 121 in parallel work-flow element, and are connected to Drive and Control Circuit 13 through bus parallel connection.The bus that is connected to each parallel work-flow element 120A to 120D is used as channel 15A to 15D when transmitting data.In following explanation, the width supposition that will be connected to each bus of each parallel work-flow element 120A to 120D is 8 positions.
Drive and Control Circuit 13 control DRAM 11 and nand memory 12.In first embodiment; Drive and Control Circuit 13 has such configuration, and the dram controller 133 and the NAND controller 134 of controlling nand memory 12 that promptly carry out the CPU (CPU) 131 of various types of processing, externally transmit external interface (being expressed as exterior I F among the figure) 132, the control DRAM 11 of data between device (for example host apparatus) and the Drive and Control Circuit 13 are connected to each other through internal bus 135.
NAND controller 134 comprises: NAND interface (being expressed as NAND-IF among the figure) 140, and it transmits data between nand memory 12 and NAND controller 34; And NAND controller control register 150, the operation of its control NAND controller 134.NAND interface 140 has each control pin 141 and input and output (IO) pin 142 of the parallel work-flow element 120A to 120D that is used to constitute nand memory 12, and is connected to parallel work-flow element 120A to 120D through channel 15A to 15D.NAND interface 140 has chip start signal output unit 143, and is connected to each parallel work-flow element 120A to 120D.In the instance shown in Fig. 1, provide the chip 122-0 to 122-3 that is connected to each parallel work-flow element 120A to 120D chip start signal line CE0, be connected to the chip start signal line CE1 of chip 122-4 to 122-7, the chip start signal line CE3 that is connected to the chip start signal line CE2 of chip 122-8 to 122-11 and is connected to chip 122-12 to 122-15.
Explain the configuration of nand memory 12 at this.Dispose nand memory 12 through on substrate, being provided with a plurality of, said is the unit of data erase.Fig. 2 is the circuit diagram that is included in a profile instance of a piece in the nand memory.In Fig. 2, specify the right side and left on the figure to being directions X, and the direction perpendicular to directions X on the appointment figure is the Y direction.
Each piece BLK of nand memory 12 comprises (m+1) the individual NAND string NS (m is equal to or greater than 0 integer) that is provided with along the directions X order.Each NAND string NS comprises (n+1) (n is equal to or greater than 0 integer) individual memory cell transistor MT0 to MTn and is arranged on selection transistor ST1 and the ST2 on the opposite end of line of (n+1) individual memory cell transistor MT0 to MTn.
Each memory cell transistor MT0 to MTn comprises field effect transistor, and this field effect transistor has the laminate gate structure that is formed on the semiconductor substrate.This laminate gate structure comprises: be formed on the electric charge accumulation layer (floating gate electrodes) on the semiconductor substrate, between semiconductor substrate and electric charge accumulation layer, be provided with gate dielectric film; And be formed on the control grid electrode on the electric charge accumulation layer, between electric charge accumulation layer and control grid electrode, be provided with dielectric film between grid.Memory cell transistor MT0 to MTn is respectively a multi-level store, and wherein the threshold voltage basis accumulates on the number of variations of the electronics in the floating gate electrodes, and can be equal to or greater than the data of 2 positions according to the difference storage of threshold voltage.In following illustrated embodiment, explain that as an instance memory cell transistor MT is the situation of multi-level store; Yet memory cell transistor MT can have the structure that is used to store 1 (scale-of-two).
Word line WL0 to WLn is connected respectively to the control grid electrode of the memory cell transistor MT0 to MTn that constitutes NAND string NS, and the memory cell transistor MTi (i=0 to n) that each NAND goes here and there among the NS jointly is connected to each other through same word line WLi (i=0 to n).That is, the control grid electrode of the memory cell transistor MTi on the same line in piece BLK is connected to same word line WLi.(m+1) the individual memory cell transistor MTi that is connected to same word line WLi is used as one page and handles, and page or leaf becomes the least unit that writes and read of the data in nand memory 12.
Each bit line BL0 to BLm is connected to each the drain electrode of (m+1) individual selection transistor ST1 among the piece BLK, and will selects gate line SGD jointly to be connected to its grid.The source electrode of selecting transistor ST1 is connected to the drain electrode of memory cell transistor MT0.Equally, source electrode line SL jointly is connected to each the source electrode of (m+1) individual selection transistor ST2 among the piece BLK, and will selects gate line SGS jointly to be connected to its grid.The drain electrode of selecting transistor ST2 is connected to the source electrode of memory cell transistor MTn.
Although not shown, the bit line BLj (j=0 to m) among piece BLK jointly is connected to the drain electrode of the selection transistor ST1 in the middle of the bit line BLj of other piece BLK.That is, connect the NAND string NS on the same line among a plurality of BLK through same bit lines BLj.
In nand memory 12, the least unit that writes and read is the page or leaf that comprises the memory cell transistor MTi that is connected to same word line WLi, and the least unit of wiping is a piece (physical block) that comprises the page or leaf of predetermined number.A plurality of constitute plane (plane) together, and a plurality of plane constitutes one of parallel work-flow element 120A to 120D.Parallel work-flow element 120A to 120D constitutes a nand memory 12.In the instance shown in Fig. 1, the number (that is the number of channel) that shows the parallel work-flow element be four and the number on plane be 2 situation.A plurality of chips 122 constitute parallel work-flow element 120A to 120D; Yet plane and piece are present in the chip 122 together.
Each parallel work-flow element 120A to 120D that constitutes nand memory 12 can any mode in normal mode and double speed mode do when writing and read.Under normal mode, carry out writing and reading of data to each piece among one of parallel work-flow element 120A to 120D.For example, after to a page or leaf cumulative data of impact damper that is used for first plane, with the page or leaf with respect to indicator dog be unit carry out data to a parallel work-flow element in the writing of the corresponding piece in first plane.Equally, after a page or leaf cumulative data, be that unit carries out data writing to the piece corresponding with second plane with page or leaf with respect to indicator dog to the impact damper that is used for second plane.Reading of data also is to carry out to a page or leaf.
Double speed mode is each piece that is used for through in two planes of using one of parallel work-flow element 120A to 120D, and two pieces are carried out writing and reading of data simultaneously.For example; When writing of the data that are used for two pieces is when carrying out with respect to a parallel work-flow element; The data that are used for a page or leaf of first are accumulated at the impact damper that is used for first plane, and the data that are used for a page or leaf of second are accumulated at the impact damper that is used for second plane.To write respectively at the dataware (piece) that the impact damper that is used for first and second planes is accumulated then among first of first plane and second plane second (carrying out a program).By this way, can in a program time, write the data that are used for two pages or leaves.Can carry out reading of data in the same manner.
Because parallel work-flow element 120A to 120D is connected respectively to Drive and Control Circuit 13 concurrently through channel, therefore access parallel work-flow element 120A to 120D concurrently perhaps can only be sent to a channel with access parallel work-flow element with data.
In first embodiment, under the situation of Fig. 1, with the degree of parallelism combination of the writing of data/reading speed and channel, so that two types access mode to be provided.
(1) 8 normal mode
In this pattern, only be operationally connected to a channel in four channels of Drive and Control Circuit 13, with piece, be that unit carries out and writes and read with 8 positions with respect to a parallel work-flow element.The unit that writes/read size of data is page or leaf sizes, and the unit of wiping size is a physical block size.
(2) 32 double speed modes
In this pattern, be operationally connected to four channels of Drive and Control Circuit 13 concurrently, and through using double speed mode, use two planes of each parallel work-flow element to carry out and read and write.The unit that writes/read size of data is " pages or leaves size * 4 channel * 2 ", and to wipe big or small unit be 8 physical block sizes.
Except this access mode of two types, the data of nand memory 12 are write and read and can carry out through assigned address when data are write to nand memory 12.Fig. 3 is a profile instance according to the NAND controller control register of first embodiment.NAND controller control register 150 comprises degree of parallelism appointment register 151, channel appointment register 152 and address appointment register 153.
Degree of parallelism specifies register 151 settings to be used for the each channel number that writes and read, i.e. degree of parallelism carried out.In this case, can set any one of a channel and four channels.When setting a channel, the speed that reads and write must become the speed of normal mode, and when setting four channels, the speed that reads and write becomes the speed of double speed mode.That is, when specifying register 151 to set a channel through degree of parallelism, access mode is 8 normal modes, and when setting four channels, access mode is 32 double speed modes.
Channel specifies register 152 to set the channel that will when access, use, and does not use all channels simultaneously.In this example, when passing through channel of degree of parallelism appointment register 151 settings, set execution from channel 15A to 15D and write/read processing or wipe a channel of processing.When specifying register 151 to set four channel 15A to 15D through degree of parallelism, channel specifies register 152 indications " not specify ".
The address is specified register 153 to set and is carried out the address that writes/read on the parallel work-flow element 120A to 120D that handles or wipe processing.
Next explain the function of in NAND controller control register 150, setting that is used for CPU 131.Fig. 4 is the block diagram of an instance of the functional configuration of CPU.CPU 131 comprises: data transfer process device 1311, and its data of carrying out between DRAM 11 and nand memory 12 transmit; The variation that management information administrative unit 1312, its utilization will be stored in the data in DRAM 11 and the nand memory 12 changes or management information; Management-information restoring unit 1313, it recovers latest management information based on the management information that is stored in the nand memory 12 when energising; And treatment conditions setup unit 1314, the setting that it is carried out the access condition of NAND control register 150 with respect to nand memory 12.
Treatment conditions setup unit 1314 maybe will be carried out the setting with respect to NAND controller control register 150 from the type of data that nand memory 12 reads according to the type of data that will write in the nand memory 12.In the instance of following explanation; Can so set treatment conditions setup unit 1314; So that under the data conditions of host apparatus indication to its access; Under 32 double speed modes, carry out to handle, and during the data that when writing or read in accumulator system 10 in, produce, execution processing under 8 normal modes.
Have the management information canned data, it is the backup of management information that is used for managing the memory location of the data that will be stored in nand memory 12, as when under 8 normal modes, carrying out the data that in accumulator system 10, produce when handling.Through the manage information on DRAM 11 of the management information administrative unit 1312 among the CPU 131.1312 storage snapshot and the daily records of management information administrative unit; As the management information canned data in the nand memory 12; Wherein this snapshot is the duplicate of management information at the particular point in time place, and this daily record is that management information is changing before and different information afterwards when in management information, changing.Usually; When just in operational store system 10; Frequently send the order (cleaning cache memory order (flush cache command)) that is used for the management information on the DRAM 11 is kept at nand memory 12, and daily record (it is the renewal of management information) is write in the nand memory 12.When outage, the management information on the DRAM11 is write in the nand memory 12 as snapshot.
Next explain the data transfer operation in the accumulator system 10.Fig. 5 is an instance of the data transfer process in the accumulator system.In this example, it is said that explain the situation that actual figure send between DRAM 11 and nand memory 12.Type of data that treatment conditions setup unit 1314 among the CPU 131 obtains between DRAM 11 and nand memory 12, to transmit and address (chip 122) that will access on nand memory 12.
The type of treatment conditions setup unit 1314 specified datas is set the degree of parallelism (" 1 " or " 4 ") in the NAND controller control register 150 to specify register 151 with respect to degree of parallelism.That is, treatment conditions setup unit 1314 is being set at degree of parallelism " 4 " under the data conditions of host apparatus requests, and under the situation that writes or read of the data that in accumulator system 10, produce, degree of parallelism is set at " 1 ".The channel that treatment conditions setup unit 1314 will use nand memory 12 based on the destination-address of data is (when degree of parallelism is any one in the channel during for " 1 "; And be " specifying " when degree of parallelism is " 4 ") be set to channel appointment register 152, and destination-address is set to address appointment register 153 (step S11).When accomplishing, transmit through the data between data transfer process device 1311 beginning DRAM 11 and the nand memory 12 through the setting of 1314 pairs of NAND controllers of treatment conditions setup unit control register 150.
Afterwards, NAND controller control register 150 specifies the value of register 151 and channel to specify the value of register 152 to be sent to NAND interface 140 (step S12) degree of parallelism.140 controls of NAND interface specify register 151 and channel to specify register 152 channel appointed through degree of parallelism.NAND interface 140 is carried out and is used for access and is positioned at the control (step S13) of data of specifying the address of register 153 appointments through the address then.Thereby, be controlled between DRAM 11 and the nand memory 12 transmission of the data that transmit.
Sequentially explain the data access control and treatment of carrying out through NAND controller 134 at step S12 and S13 place to the situation of the situation of 8 normal modes and 32 double speed modes.Fig. 6 (a) and 6 (b) are described in the treatment state of data access control under the situation of 8 normal modes; Wherein Fig. 6 (a) describes the summary of the data access state of a control between NAND controller and the nand memory, and Fig. 6 (b) describes the input state of signal to each chip that constitutes nand memory.Explain such instance at this, wherein " 1 " is set at degree of parallelism (that is, setting 8 normal modes), " Ch1 " (parallel work-flow element 120B) is appointed as channel, and " chip 122-10 " is appointed as the address.Yet, in practice, replace chip, the address is appointed as in the address in the chip 122 (parallel work-flow element 120A to 120D).
Shown in Fig. 6 (a); NAND interface 140 control control pin 141A and I/O pin 142A make after the value of value that receives degree of parallelism appointment register 151 from NAND controller control register 150 and channel appointment register 152, only signal to be transferred to " Ch1 ".In addition, shown in Fig. 6 (b), the chip start signal output unit 143 in the NAND interface 140 only is supplied to chip start signal through the address among the chip 122-10 of address appointment register 153 appointments via chip start signal line CE2.Therefore, it is said that under normal mode but not under the parallel schema between the presumptive address among the chip 122-10 of the parallel work-flow element 120B in DRAM11 and nand memory 12 actual figure give.
Fig. 7 (a) and 7 (b) are described in the treatment state of data access control under the situation of 32 double speed modes; Wherein Fig. 7 (a) describes the summary of the data access state of a control between NAND controller and the nand memory, and Fig. 7 (b) describes the input state of signal to each chip that constitutes nand memory.Explain such instance at this, wherein " 4 " are set at degree of parallelism (that is, setting 32 double speed modes), will " not specify " and be appointed as channel, and " chip 122-5 " is appointed as the address.
Shown in Fig. 7 (a); Control pin 141 and all I/O pins 142 that 140 controls of NAND interface are all make after the value of value that receives degree of parallelism appointment register 151 from NAND controller control register 150 and channel appointment register 152, signal to be transferred to all parallel work-flow element 120A to 120D.At this moment, NAND interface 140 each parallel work-flow element of control 120A to 120D write and read so that under double speed mode, carry out data.In addition, shown in Fig. 7 (b), the chip start signal output unit 143 in the NAND interface 140 only is supplied to chip start signal through the address among the chip 122-5 of address appointment register 153 appointments via chip start signal line CE1.Therefore, it is said that under double speed mode between the presumptive address among the chip 122-5 of all the parallel work-flow element 120A to 120D in DRAM 11 and nand memory 12 four concurrently actual figure give.
When end transmits through the specified data of the condition that sees through 150 appointments of NAND controller control register, data transfer process finished.
In above explanation, comprise also that through the degree of parallelism that not only comprises channel the degree of parallelism of data transfer rate is specified register 151, each channel in the control nand memory 12.Yet degree of parallelism is specified the only degree of parallelism of allocated channel of register 151, and is provided for specifying the transfer rate of transfer rate to specify register separably, between normal mode and double speed mode, to change.According to such configuration, can make the combination of degree of parallelism and data transfer rate more extensive through specifying degree of parallelism and data transfer rate discretely.In above explanation, can degree of parallelism only be chosen as " 1 " or " 4 "; Yet degree of parallelism can be selected in maximum channel number purpose scope.
In addition; Below explained such instance; Wherein treatment conditions setup unit 1314 is so set treatment conditions, so that will be access under 32 double speed modes from the data of host apparatus access, and the data that in nand memory 12, produce be accesses under 8 normal modes.Yet under the situation of the nand memory 12 of the memory span with tens of GB (gigabyte), the size of management information increases, and has approximately the size of " block size * 2 * 4 channel " as the snapshot of the backup of management information.On the other hand, because daily record is a different information, daily record generally has the size of about page of size.Therefore; Treatment conditions setup unit 1314 can so be set treatment conditions; So that with respect to carrying out when writing and reading from the data of host apparatus access and the snapshot the management information canned data; These information parts are accesses under 32 double speed modes, and during the writing and read of the daily record in carrying out the management information canned data, information is access under 8 normal modes.This is suitable equally to following illustrated embodiment.
According to first embodiment; Specify the degree of parallelism of register 151 allocated channel 15A to 15D through degree of parallelism and transfer rate during to the data access of the nand memory in the NAND controller 134 12 according to type of data, and specify register 152 to specify the channel that when not using all channel 15A to 15D, will use through channel.The result; Fashionable when carrying out less than writing of the data of being scheduled to size (daily records of the data that for example in accumulator system 10, produce); Under 8 normal modes, use a selected channel; So that can be that unit writes, write efficient thereby make it possible to improve with the page or leaf in the selected piece of parallel work-flow element 120A to 120D.In addition, under the data conditions that needs rewrite, degree of parallelism reduces, and wipes thereby make it possible to avoid not carry out the useless of physical block that rewrites to it.On the other hand; When writing, reading or rewriteeing the data (data or the snapshot of for example indicating) that are equal to or greater than predetermined size from host apparatus; Transfer rate is set at the twice of the speed of normal mode; And, compare the data that can double-speed write or read the quadruple amount with 8 normal modes through increasing degree of parallelism (for example four is parallel).Therefore, can carry out according to the size of data that will access and effectively write/read processing, and useless wiping the serviceable life that prolongs accumulator system 10 that can be when avoiding rewriteeing.
In first embodiment, specify the degree of parallelism of register 151 allocated channels through the degree of parallelism in the NAND controller control register 150, and specify register 152 to specify the channel that will use according to the degree of parallelism of appointment through channel.In the second embodiment of the present invention, it is said that explanation reduces the conditional number purpose method that will in NAND controller control register 150, set through the design addressing method when sending through data transfer process device actual figure.
Fig. 8 is the instance according to the address distribution method of second embodiment.In first embodiment, explained that as an example the scope that physical address is distributed to each and the physical address of the parallel work-flow element 120A to 120D that constitutes nand memory 12 independently is from 0 to 5000 situation.At this moment; Data transfer process device 1311 among the CPU 131 has such function; It is used for specifying in the middle of 0 to 5000 (it is the effective address scope) a value as only be used to be connected to parallel work-flow element 120A to 120D will access the address of channel of parallel work-flow element, and specify the extraneous numerical value of effective address (for example 5001) as the address that is used for being connected to parallel work-flow element 120A to 120D with the channel of the parallel work-flow element of not access.
Through by data transfer process device 1311 assigned address, it is said that the degree of parallelism of allocated channel and the channel that when actual figure send, will use.As a result, NAND controller control register 150 does not need degree of parallelism to specify register 151 and channel to specify register 152, and only needs the address to specify register 153.In addition, treatment conditions setup unit 1314 only need be specified in the address and specified the address that will pass through 1311 accesses of data transfer process device in the register 153.
Fig. 9 (a) and 9 (b) are the instances according to the addressing method of second embodiment.In this example, data transfer process device 1311 can only select " 1 " or " 4 " as degree of parallelism, and degree of parallelism comprises the information of data transfer rate.That is, when execution is appointed as the addressing of " 1 " with degree of parallelism, thinks and select 8 normal modes, and when execution is appointed as the addressing of " 4 " with degree of parallelism, thinks and select 32 double speed modes.In following explanation, the identifier of supposing the channel that is used for allocated channel is respectively Ch0, Ch1, Ch2 and Ch3.
In Fig. 9 (a), when carrying out data access, in address designated information, specify being assigned to the invalid channel address of channel Ch0, Ch1 and Ch3 (5001), and specify being assigned to the effective address of channel Ch2 through data transfer process device 1311.Therefore, think that appointment degree of parallelism " 1 " and appointment " Ch2 " are as channel.As a result, NAND controller 134 confirms that they are that such data access is handled, and wherein degree of parallelism is to indicate " 1 " of only using channel Ch2, and data access speed is normal mode, handles to carry out.At this moment, treatment conditions setup unit 1314 is specified the address of setting appointment in the register 153 in the address.Therefore, when adopting degree of parallelism " 1 " to carry out processing, set, and the extraneous address of effective address is assigned to other channel in the address designated information only to the address in the effective address realm of the channel that will use.
In Fig. 9 (b), owing to effective address is set to all the channel Ch0 to Ch3 in the address designated information, specify degree of parallelism " 4 ", and specify " not specifying " as channel through data transfer process device 1311.As a result, NAND controller 134 confirms that it is that such data access is handled, and wherein degree of parallelism is indication all channel Ch0 to Ch3 of use and " 4 " with the data access speed in the double speed mode, handles to carry out.At this moment, treatment conditions setup unit 1314 is specified the address of setting appointment in the register 153 in the address.
In above explanation, data transfer rate is included in the appointment of the degree of parallelism in the address setting that is undertaken by data transfer process device 1311.Yet; This configuration can for; Make and in the address setting that is undertaken by data transfer process device 1311, specify the pure degree of parallelism that does not comprise data transfer rate, and come the setting data transfer rate by treatment conditions setup unit 1314 through in NAND controller control register 150, providing transfer rate to specify register discretely.
According to second embodiment; Will be when being directed against through the data of data transfer process device 1311 accesses; Address setting in the access appointed information time, is set to the value in the scope of invalid address the parallel work-flow element of the not access among the parallel work-flow element 120A to 120D.Therefore, need in NAND controller control register 150, not be provided for specifying the degree of parallelism of degree of parallelism to specify register 151, thereby make it possible to simplify the device configuration of accumulator system 10.
In a second embodiment; Address in will from 0 to 5000 scope is distributed to each parallel work-flow element respectively; And the extraneous address value of effective address is assigned to the channel that will be connected to the parallel work-flow element of not carrying out data transfer process; Thereby, and therefore do not provide degree of parallelism to specify register and channel to specify register with the setting degree of parallelism.In the third embodiment of the present invention, explain through another address designation method and set degree of parallelism and do not provide degree of parallelism to specify register and channel to specify the situation of register.
Figure 10 is the instance according to the address distribution method in the nand memory of the 3rd embodiment.In a second embodiment, as shown in Figure 8, with address assignment each to the parallel work-flow element 120A to 120D that constitutes nand memory 12.Yet; In the 3rd embodiment; As shown in Figure 10, distribute address 0,1,2,3 successively from the head of parallel work- flow element 120A, 120B, 120C and 120D, and afterwards according to this order assignment address to distribute a address as whole nand memory 12.Promptly; N is when being equal to or greater than 0 integer when supposition; With decimal system mark explanation address, with address 0,4,8 ..., 2n ... Distribute to parallel work-flow element 120A (Ch0), with address 1,5,9 ..., 2n+1 ... Distribute to parallel work-flow element 120B (Ch1); With address 2,6,10 ..., 2n+2 ... Distribute to parallel work-flow element 120C (Ch2), and with address 3,7,11 ..., 2n+3 ... Distribute to parallel work-flow element 120D (Ch3).
Through distributing the address by this way, in decimal system mark, when when the address is " 0 " divided by 4 remainders that obtain; Indication parallel work-flow element 120A (Ch0), when remainder is " 1 ", indication parallel work-flow element 120B (Ch1); When remainder is " 2 "; Indication parallel work-flow element 120C (Ch2), and when remainder is " 3 ", indication parallel work-flow element 120D (Ch3).That is, the final two digits of the address in the scale-of-two mark is " 01 " among " 00 ", the Ch1 among the Ch0, " 10 " among the Ch2 and " 11 " among the Ch3.Therefore, these numerals can be used as the channel identification information (corresponding to the parallel work-flow element identification information of claim) that is used for identification channel.Can set existence and the degree of parallelism that channel uses according to the existence of channel identification information.
Promptly; Data transfer process device 1311 is carried out addressing; Make among the parallel work-flow element 120A to 120D will access the data of parallel work-flow element in comprise the channel identification information of channel, and do not comprise the channel identification information of channel in the data among the parallel work-flow element 120A to 120D with the parallel work-flow element of not access.Particularly; Data transfer process device 1311 with the value (channel identification information) of identification channel (parallel work-flow element) be assigned among the parallel work-flow element 120A to 120D will access the final two digits of data address of parallel work-flow element, and will be assigned to the final two digits among the parallel work-flow element 120A to 120D except that the value the value (channel identification information) of identification channel (parallel work-flow element) with the address of the parallel work-flow element of not access.
Figure 11 (a) and 11 (b) are the instances according to the address designation method of the 3rd embodiment.In this example, tentation data transport processor 1311 can only be selected any one of degree of parallelism " 1 " and " 4 ", and degree of parallelism comprises data transfer rate.That is, when being appointed as " 1 ", thinking and select 8 normal modes, and when being appointed as " 4 ", think 32 double speed modes of selection when carrying out addressing so that with degree of parallelism when carrying out addressing so that with degree of parallelism.
In Figure 11 (a), in the access appointed information of carrying out, the invalid address is appointed as the address of channel Ch0, Ch1 and Ch3 through data transfer process device 1311.That is, in will being assigned to each address of channel Ch0, Ch1 and Ch3, in decimal system mark, through should being respectively 0,1 and 3 at first divided by 4 remainders that obtain with the address; Yet in this case, remainder all is 2 for all these channels.On the other hand, effective address only is assigned to channel Ch2.That is, through being 2 divided by 4 remainders that obtain with the address of the channel Ch2 of decimal system mark.As a result, NAND controller 134 confirms that it is that such data access is handled, and wherein degree of parallelism is " 1 " of indicating the data access speed that only uses channel Ch2 and have normal mode, handles to carry out.Therefore; Under the situation of the processing of adopting degree of parallelism " 1 " to carry out; The address only is set to the channel that will use; So that comprise the channel identification information that is set to channel (that is, and set at first will access the address), and the address setting that will not comprise channel identification information is to other parallel work-flow element.
In Figure 11 (b), effective address is assigned to all the channel Ch0 to Ch3 in the address designated information through data transfer process device 1311.That is the address that, is assigned to all channel Ch0 to Ch3 comprises the efficient channel identifying information among each channel Ch0 to Ch3.More specifically, through being respectively 0,1,2 and 3 divided by 4 remainders that obtain with each address of channel Ch0, Ch1, Ch2 and the Ch3 of decimal system mark.As a result, NAND controller 134 confirms that it is that such data access is handled, and wherein degree of parallelism is indication all channel Ch0 to Ch3 of use and " 4 " with data access speed of double speed mode, handles to carry out.
In above explanation, data transfer rate is included in the appointment of the degree of parallelism in the address setting that carries out through data transfer process device 1311.Yet; This configuration can be such configuration; So that in the address setting that carries out through data transfer process device 1311, specify the pure degree of parallelism that does not comprise data transfer rate, and come the setting data transfer rate by treatment conditions setup unit 1314 through in NAND controller control register 150, providing transfer rate to specify register discretely.
According to the 3rd embodiment, when data transfer process device 1311 setting addresses, utilize not comprise that the invalid address of its channel identification information sets the parallel work-flow element with not access.Therefore; Need in NAND controller control register 150, not be provided for specifying the degree of parallelism of degree of parallelism to specify register 151 to specify the channel of the channel that will use to specify register 152, thereby make it possible to simplify the device configuration of accumulator system 10 with being used to.
In the fourth embodiment of the present invention, explain the situation that in nand memory, defines the proprietary zone that is used to store data with low degree of parallelism.
Figure 12 is the instance according to the regional segmentation of the degree of parallelism in the nand memory.As shown in Figure 12, be provided for storing the low degree of parallelism storage area 1210 of low degree of parallelism data and being used to store the high degree of parallelism storage area 1220 of high degree of parallelism data.That is, carry out addressing, so that divide low degree of parallelism storage area 1210.Low degree of parallelism storage area 1210 is in the scope of address 0 to 200, and high degree of parallelism storage area 1220 is in the scope of address 201 to XXX.Suppose that becoming the address of hanging down the border between degree of parallelism storage area 1210 and the high degree of parallelism storage area 1220 is scheduled to.As the instantiation of low degree of parallelism storage area 1210, for example, can mention the zone that is used for the management information canned data, more specifically be to be used for the zone of log store in the management information canned data.As the instantiation of high degree of parallelism storage area 1220, can mention being used for storing to its zone and the zone that is used for snapshot is stored in the management information canned data from the data of host apparatus indication storage.
This instance indication is set at degree of parallelism the situation of " 1 " or " 4 ", and the supposition degree of parallelism comprises data transfer rate.That is, have the low degree of parallelism storage area 1210 of degree of parallelism " 1 ", and have the high degree of parallelism storage area 1220 of degree of parallelism " 4 " with the speed access under 32 double speed modes with the speed access under 8 normal modes.
Therefore, through according to the difference in the degree of parallelism to regional segmentation that will access, can be to address decoding on NAND controller 134 sides, but and identification transmit degree of parallelism.Promptly; When destination-address is 0 to 200; The zone is low degree of parallelism storage area 1210, and therefore NAND interface 140 has the low degree of parallelism storage area 1210 of access under 8 normal modes of degree of parallelism " 1 ", and when destination-address is 201 to XXX; The zone is high degree of parallelism storage area 1220, and therefore NAND interface 130 has the high degree of parallelism storage area 1220 of access under 32 double speed modes of degree of parallelism " 4 ".
Next explain the operation of the data transfer process in the accumulator system 10 with such configuration.Figure 13 is the instance according to the data transfer process in the accumulator system of the 4th embodiment.In this example, it is said that explain the situation that actual figure send between DRAM 11 and nand memory 12.Type of data and address that treatment conditions setup unit 1314 acquisitions among the CPU 131 will transmit between DRAM 11 and nand memory 12.
Treatment conditions setup unit 1314 is based on type of data and address then; Specify register 152 to set the parallel work-flow element 120A to 120D corresponding with respect to channel, and specify register 153 to set destination-address (step S31) with respect to the address in the NAND controller control register 150 with destination-address.When accomplishing the setting of passing through 1314 pairs of NAND controllers of treatment conditions setup unit control register 150, through the data transfer process between data transfer process device 1311 beginning DRAM 11 and the nand memory 12.
NAND interface 140 in the NAND controller 134 is based on specifying register 152 channel appointed through the channel in the NAND controller control register 150 and passing through the address that register 153 appointments are specified in the address; Confirm to be used for the degree of parallelism of access data, to control the parallel work-flow element 120A to 120D (step S32) that will use.That is, when the address is from 0 to 200, because the destination is arranged in low degree of parallelism storage area 1210; Under 8 normal modes, carry out access; And when the address be from 201 to XXX the time because the destination is arranged in high degree of parallelism storage area 1220, execution access under 32 double speed modes.Thereby be controlled at the transmission of the data that transmit between DRAM 11 and the nand memory 12.When accomplishing data access, data transfer process finished.
At step S32; NAND interface 140 confirms that degree of parallelism is with the access of control to each channel in the nand memory 12; Yet; NAND controller control register 150 can specify the value of the channel setting in the register 152 and address to specify the value of the destination-address setting in the register 153 to transfer to NAND interface 140 channel, so that NAND controller control register 150 side control channels (step S32 ').
In above explanation, data transfer rate is included in the appointment of degree of parallelism.Yet; This configuration can be such configuration; Its feasible appointment does not comprise the pure degree of parallelism of data transfer rate, and comes the setting data transfer rate through in NAND controller control register 150, providing transfer rate to specify register discretely by treatment conditions setup unit 1314.
According to the 4th embodiment; Because nand memory 12 is segmented into the zone according to the difference of the degree of parallelism of data that will access with nand memory 12; Can set degree of parallelism according to destination-address; And need in NAND controller control register 150, not be provided for specifying the degree of parallelism of degree of parallelism to specify register 151, thereby make it possible to simplify the device configuration of accumulator system 10.
In the 4th embodiment, the situation that low degree of parallelism storage area and high degree of parallelism storage area are provided has been described in nand memory.Yet, in the fifth embodiment of the present invention, explain such configuration, wherein the size of the size of the low degree of parallelism storage area in the nand memory and high degree of parallelism storage area is variable.
Figure 14 schematically describes a profile instance according to the NAND controller control register of the 5th embodiment.Specifying register 152 and address except channel specifies the register 153; NAND controller control register 150 also comprises low degree of parallelism storage area appointment register 154, and it can change the address area of the low degree of parallelism storage area 1210 that is used to store the data with low degree of parallelism.It is to set through the treatment conditions setup unit 1314 among the CPU 131 that low degree of parallelism storage area is specified register 154, and can change the size of low degree of parallelism storage area 1210.
Figure 15 (a) and 15 (b) are the instances when changing low degree of parallelism storage area big or small.In Figure 15 (a), low degree of parallelism storage area specify register 154 will hang down degree of parallelism storage area 1210 be set to from the address 0 to the address 200 scope.On the other hand, in Figure 15 (b), low degree of parallelism storage area specify register 154 will hang down degree of parallelism storage area 1210 be set to from the address 0 to the address 300 scope.By this way, can specify the value of register 154 to change the size of low degree of parallelism storage area 1210 through setting low degree of parallelism storage area arbitrarily by treatment conditions setup unit 1314.
In above explanation, show the situation that the low degree of parallelism storage area that the address realm that changes low degree of parallelism storage area 1210 is provided is specified register 154, yet the present invention is not limited to this.For example, degree of parallelism storage area set-up register can be provided, its change is used to store the size of storage area of the data of any degree of parallelism s (s is a natural number).Because the data transfer process among the 5th embodiment is identical with the data transfer process among the 4th embodiment, therefore omit explanation to it.
According to the 5th embodiment; Because degree of parallelism storage area set-up register is provided; Its change is used for storing the address realm of the degree of parallelism storage area of the data with specific degree of parallelism, therefore can set arbitrarily to be used to store the required zone of data with specific degree of parallelism.
In above explanation, explained that wherein accumulator system is used the instance of nand memory as second storage unit, yet the present invention is not limited to this.Nand memory can comprise the memory cell transistor that can write down the multi-value data that is equal to or greater than 2 positions, and do not comprise can the recording binary value memory cell transistor.Can above embodiment be applied to accumulator system and use the situation of another nonvolatile semiconductor memory as second storage unit.In above explanation, the unit that writes and read of the data in the nand memory 12 is units of page or leaf size, and erase unit and management unit be the unit of block size, yet the present invention is not limited to this, and can use arbitrary unit respectively.
In above explanation, explained that wherein first storage unit is that the DRAM 11 (it is a volatile memory) and second storage unit are the instances of the accumulator system of nand memory 12 (it is a nonvolatile memory), yet the present invention is not limited to this.For example, can above embodiment be applied to such accumulator system, wherein first storage unit is that the nonvolatile memory and second storage unit also are nonvolatile memories.In this case, do not need the processing of management information canned data (snapshot for example, it is through the backup of the management information of first storage unit (nonvolatile memory) management and the daily record in second storage unit (nand memory)).Yet, can change degree of parallelism and data transfer rate according to size of data.
According to the present invention, can store that non-deterioration writes efficient less than the data of block size with greater than the data of block size.
Those skilled in the art will expect other advantages and modification easily.Therefore, the present invention is not limited to specific detail shown here and described and exemplary embodiment at it aspect wideer.Therefore, can under the situation of spirit that does not depart from the total inventive concept that limits appended claims and equivalent thereof or scope, carry out various modifications.

Claims (17)

1. accumulator system, it comprises:
Volatile first storing unit;
Nonvolatile second storing unit, its storage is through the data of said first storage unit from the host apparatus transmission, and wherein memory area comprises a plurality of parallel work-flow elements; And
Controller, it carries out between said first storage unit and said second storage unit or the data in said second storage unit transmit, wherein
Said controller comprises:
The interface designating unit; It is with respect to interface unit; Specify the address of parallel work-flow element appointed information and data that will access, said parallel work-flow element appointed information is indicated the parallel work-flow element that will be used for the said data of access in said second storage unit;
Said interface unit; Each parallel work-flow element that it is parallel-connected in said second storage unit is used for access based on by the specified said parallel work-flow element appointed information of said interface designating unit and said address and the address of one or more parallel work-flow elements of said second storage unit of selecting;
Control module, it is when data access, and according to type of data that will access, the said parallel work-flow element appointed information that will be used for said data access is set to said interface designating unit; And
The data transfer process device, it carries out the data access between said host apparatus and said second storage unit through said first storage unit; Wherein
Said first cell stores comprises the management information of the memory location that is stored in the data in said second storage unit,
Said second storage unit has the management information storage area territory; Be used to store the management information canned data that comprises snapshot and daily record; Said snapshot is the duplicate in the said management information at particular point in time place, said daily record be when in said management information, changing before the said variation with the different information of afterwards said management information;
When the said data through the access of said data transfer process device were the data by said host apparatus indication access, said control module was set said interface designating unit using all parallel work-flow elements, and
When the said daily record of storage in said management information storage area territory, said control module is set said interface designating unit, to use non-whole parallel work-flow element.
2. according to the accumulator system of claim 1, wherein
Said parallel work-flow element has a plurality of planes; And be constituted as and can between normal mode and double speed mode, switch, under said normal mode, the number on the plane of when the said parallel work-flow element of access, using simultaneously is one; And under said double speed mode, the number on said plane is a plurality of;
Said interface designating unit also comprises the function of the pattern of the data in the said parallel work-flow element that is used for specifying said second storage unit; And
Said control module also comprises the function that is used for when said data access specifying according to said type of data and with respect to said interface designating unit the pattern of said data.
3. according to the accumulator system of claim 1, during the data that wherein in being accessed in said accumulator system, produce, said control module is set said interface designating unit, only to use a parallel work-flow element.
4. according to the accumulator system of claim 3, the said data that wherein in said accumulator system, produce are by the management information of said controller management and comprise the memory location that is stored in the data in said second storage unit.
5. according to the accumulator system of claim 1, wherein when the said snapshot of storage in said management information storage area territory, said control module is set said interface designating unit, under double speed mode, to use all parallel work-flow elements.
6. according to the accumulator system of claim 1, wherein said first storage unit is dynamic RAM (DRAM), and said second storage unit is a NAND type flash memory.
7. accumulator system, it comprises:
Volatile first storing unit;
Nonvolatile second storing unit, its storage is through the data of said first storage unit from the host apparatus transmission, and wherein memory area comprises a plurality of parallel work-flow elements; And
Controller, it comprises: the interface designating unit, it specifies the address that is used for access data with respect to interface unit; Said interface unit, each parallel work-flow element that it is parallel-connected in said second storage unit is used for based on the said data of access by the said address of said interface designating unit appointment; And control module; It is when data access; With address setting to the said interface designating unit of the destination in said second storage unit, and it is controlled between said first storage unit and said second storage unit or the data in said second storage unit transmit, wherein
Said control module confirms to be used for the parallel work-flow element of the said data access between said interface unit and said second storage unit according to type of data that will access when said data access; And with respect to said interface designating unit, the effective address of setting the parallel work-flow element be used for using be used for invalid address with obsolete parallel work-flow element.
8. according to the accumulator system of claim 7, wherein in said second storage unit, be each distribution address of said parallel work-flow element.
9. according to the accumulator system of claim 7; Wherein when giving said second storage unit with an address integral dispensing so that comprising the parallel work-flow element identification information that to discern each the parallel work-flow element in said second storage unit; Said control module is set such effective address and is set such invalid address with respect to said interface designating unit; This effective address comprises the parallel work-flow element identification information of the parallel work-flow element that is used for being used for said data access, and this invalid address does not comprise the parallel work-flow element identification information that is used for obsolete parallel work-flow element.
10. according to the accumulator system of claim 7; Each parallel work-flow element in wherein said second storage unit has the data storage areas that limits with degree of parallelism; Wherein according to the number of the parallel work-flow element that when said data access, will use set will access memory area
Said control module is selected the said data storage areas that limits with degree of parallelism according to said type of data when said data access, and the said interface designating unit extremely of the said address setting in the data storage areas that will be said limits with degree of parallelism; And
Said interface unit is confirmed the number of said parallel work-flow element based on the said address that is set to said interface designating unit, to carry out the said data access between said second storage unit and said interface unit.
11. according to the accumulator system of claim 10, wherein said interface designating unit also comprises such function, it is used for specifying the scope of each parallel work-flow element of said second storage unit had the said data storage areas that limits with degree of parallelism.
12. according to the accumulator system of claim 7, wherein
Said parallel work-flow element has a plurality of planes; And be constituted as and can between normal mode and double speed mode, switch, under said normal mode, the number on the plane of when the said parallel work-flow element of access, using simultaneously is one; And under said double speed mode, the number on said plane is a plurality of;
Said interface designating unit also comprises the function of the pattern of the data in the said parallel work-flow element that is used for specifying said second storage unit; And
Said control module also comprises the function that is used for when said data access specifying according to said type of data and with respect to said interface designating unit the pattern of said data.
13. according to the accumulator system of claim 7, wherein said controller also comprises the data transfer process device, it carries out the data access between said host apparatus and said second storage unit through said first storage unit; And
When the said data through the access of said data transfer process device are that said control module is set said interface designating unit to use all parallel work-flow elements when indicating the data of access by said host apparatus.
14. according to the accumulator system of claim 7, during the data that wherein in being accessed in said accumulator system, produce, said control module is set said interface designating unit, only to use a parallel work-flow element.
15. according to the accumulator system of claim 14, the said data that wherein in said accumulator system, produce are by the management information of said controller management and comprise the memory location that is stored in the data in said second storage unit.
16. according to the accumulator system of claim 7, wherein said first cell stores comprises the management information of the memory location that is stored in the data in said second storage unit,
Said second storage unit has the management information storage area territory; Be used to store the management information canned data that comprises snapshot and daily record; Said snapshot is the duplicate in the said management information at particular point in time place, said daily record be when in said management information, changing before the said variation with the different information of afterwards said management information; And
When the said daily record of storage in said management information storage area territory; Said control module is set said interface designating unit; Under normal mode, only to use a parallel work-flow element; And when the said snapshot of storage in said management information storage area territory, said control module is set said interface designating unit, under double speed mode, to use all parallel work-flow elements.
17. according to the accumulator system of claim 7, wherein said first storage unit is dynamic RAM (DRAM), and said second storage unit is a NAND type flash memory.
CN2009800001088A 2008-02-29 2009-01-20 Memory system Expired - Fee Related CN101681302B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008051285A JP2009211192A (en) 2008-02-29 2008-02-29 Memory system
JP051285/2008 2008-02-29
PCT/JP2009/051139 WO2009107426A1 (en) 2008-02-29 2009-01-20 Memory system

Publications (2)

Publication Number Publication Date
CN101681302A CN101681302A (en) 2010-03-24
CN101681302B true CN101681302B (en) 2012-05-30

Family

ID=41015832

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009800001088A Expired - Fee Related CN101681302B (en) 2008-02-29 2009-01-20 Memory system

Country Status (7)

Country Link
US (1) US8364884B2 (en)
EP (1) EP2248024A4 (en)
JP (1) JP2009211192A (en)
KR (1) KR101132497B1 (en)
CN (1) CN101681302B (en)
TW (1) TWI397815B (en)
WO (1) WO2009107426A1 (en)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5323199B2 (en) 2009-02-12 2013-10-23 株式会社東芝 Memory system and memory system control method
JP5424200B2 (en) * 2009-10-09 2014-02-26 国立大学法人 千葉大学 Recording device
JP5066209B2 (en) 2010-03-18 2012-11-07 株式会社東芝 Controller, data storage device, and program
JP2013077278A (en) * 2011-09-16 2013-04-25 Toshiba Corp Memory device
US9213645B2 (en) * 2011-12-29 2015-12-15 Sandisk Technologies Inc. Command aware partial page programming
CN102968280B (en) * 2012-11-21 2015-12-02 华为技术有限公司 A kind of storage system and memory device, opertaing device
CN104903842B (en) * 2012-12-31 2018-08-14 桑迪士克科技有限责任公司 Method and system for asynchronous naked core operation in the nonvolatile memory
US9734050B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for managing background operations in a multi-layer memory
US9223693B2 (en) 2012-12-31 2015-12-29 Sandisk Technologies Inc. Memory system having an unequal number of memory die on different control channels
US9734911B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for asynchronous die operations in a non-volatile memory
US8873284B2 (en) 2012-12-31 2014-10-28 Sandisk Technologies Inc. Method and system for program scheduling in a multi-layer memory
US9336133B2 (en) 2012-12-31 2016-05-10 Sandisk Technologies Inc. Method and system for managing program cycles including maintenance programming operations in a multi-layer memory
US9465731B2 (en) 2012-12-31 2016-10-11 Sandisk Technologies Llc Multi-layer non-volatile memory system having multiple partitions in a layer
US9348746B2 (en) 2012-12-31 2016-05-24 Sandisk Technologies Method and system for managing block reclaim operations in a multi-layer memory
KR102108839B1 (en) * 2013-06-12 2020-05-29 삼성전자주식회사 User device including nonvolatile memory device and write method thereof
JP5673980B2 (en) * 2013-11-13 2015-02-18 国立大学法人 千葉大学 Recording device
JP6139711B2 (en) * 2014-02-03 2017-05-31 株式会社日立製作所 Information processing device
US9177654B2 (en) * 2014-03-26 2015-11-03 Burst Corporation Solid-state memory device with plurality of memory cards
CN104216836B (en) * 2014-08-28 2018-01-23 华为技术有限公司 A kind of concurrent reading and concurrent writing method and apparatus of storage system
KR102401600B1 (en) 2015-08-31 2022-05-25 삼성전자주식회사 Storage device configured to manage a plurality of data streams based on data amount
US10133490B2 (en) 2015-10-30 2018-11-20 Sandisk Technologies Llc System and method for managing extended maintenance scheduling in a non-volatile memory
US9778855B2 (en) 2015-10-30 2017-10-03 Sandisk Technologies Llc System and method for precision interleaving of data writes in a non-volatile memory
US10120613B2 (en) 2015-10-30 2018-11-06 Sandisk Technologies Llc System and method for rescheduling host and maintenance operations in a non-volatile memory
US10042553B2 (en) 2015-10-30 2018-08-07 Sandisk Technologies Llc Method and system for programming a multi-layer non-volatile memory having a single fold data path
KR20180031412A (en) 2016-09-20 2018-03-28 삼성전자주식회사 Method of operating memory controller and methods of operating devices having the same
KR20180061851A (en) 2016-11-30 2018-06-08 삼성전자주식회사 Storage device supporting byte accessible interface and block accessible interface and electronic system including the same
CN110413206B (en) * 2018-04-28 2023-05-30 伊姆西Ip控股有限责任公司 Operation control method, apparatus and computer program product in storage system
US10896724B2 (en) * 2018-12-18 2021-01-19 Western Digital Technologies, Inc. Non-volatile storage system with reduced program transfers
US11921649B1 (en) * 2019-09-12 2024-03-05 Kioxia Corporation Multiple parallel mode flash channels with serial link
TW202145017A (en) * 2020-05-18 2021-12-01 群聯電子股份有限公司 Data writing method, memory storage device and memory control circuit unit
US11556279B2 (en) * 2020-08-21 2023-01-17 Samsung Electronics Co., Ltd. System device, and method for memory interface including reconfigurable channel

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272610B1 (en) * 1993-03-11 2001-08-07 Hitachi, Ltd. File memory device using flash memories, and an information processing system using the same
US7024514B2 (en) * 2001-06-19 2006-04-04 Tdk Corporation Memory controller, flash memory system employing memory controller and method for controlling flash memory device

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3688835B2 (en) 1996-12-26 2005-08-31 株式会社東芝 Data storage system and data transfer method applied to the system
US6513093B1 (en) * 1999-08-11 2003-01-28 International Business Machines Corporation High reliability, high performance disk array storage system
WO2004034252A2 (en) * 2002-10-11 2004-04-22 Koninklijke Philips Electronics N.V. Vliw processor with instruction address modification
DE10335132B3 (en) * 2003-07-31 2004-12-09 Infineon Technologies Ag Memory arrangement for computer system has semiconducting components on memory arrangement that can be tested and adjusted via interface in application-like and unit-specific manner
US7631138B2 (en) * 2003-12-30 2009-12-08 Sandisk Corporation Adaptive mode switching of flash memory address mapping based on host usage characteristics
US7433993B2 (en) * 2003-12-30 2008-10-07 San Disk Corportion Adaptive metablocks
US20050144363A1 (en) * 2003-12-30 2005-06-30 Sinclair Alan W. Data boundary management
US7383375B2 (en) 2003-12-30 2008-06-03 Sandisk Corporation Data run programming
KR20070007264A (en) * 2003-12-30 2007-01-15 쌘디스크 코포레이션 Non-volatile memory and method with non-sequential update block management
JP4561246B2 (en) * 2004-08-31 2010-10-13 ソニー株式会社 Memory device
JP2006195569A (en) * 2005-01-11 2006-07-27 Sony Corp Memory unit
US7793059B2 (en) * 2006-01-18 2010-09-07 Apple Inc. Interleaving policies for flash memory
JP2007279402A (en) 2006-04-07 2007-10-25 Matsushita Electric Ind Co Ltd Method of storing data in nonvolatile memory, and audio recording and reproducing device
US7587538B2 (en) * 2006-06-01 2009-09-08 Broadcom Corporation Disk controller, channel interface and methods for use therewith
US7716411B2 (en) * 2006-06-07 2010-05-11 Microsoft Corporation Hybrid memory device with single interface
JP5068081B2 (en) * 2007-01-24 2012-11-07 株式会社日立製作所 Management apparatus and management method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272610B1 (en) * 1993-03-11 2001-08-07 Hitachi, Ltd. File memory device using flash memories, and an information processing system using the same
US7024514B2 (en) * 2001-06-19 2006-04-04 Tdk Corporation Memory controller, flash memory system employing memory controller and method for controlling flash memory device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP特开平10-187359A 1998.07.14

Also Published As

Publication number Publication date
CN101681302A (en) 2010-03-24
EP2248024A4 (en) 2012-11-14
EP2248024A1 (en) 2010-11-10
US20100017562A1 (en) 2010-01-21
TW200945036A (en) 2009-11-01
JP2009211192A (en) 2009-09-17
TWI397815B (en) 2013-06-01
KR20090117939A (en) 2009-11-16
US8364884B2 (en) 2013-01-29
WO2009107426A1 (en) 2009-09-03
KR101132497B1 (en) 2012-04-12

Similar Documents

Publication Publication Date Title
CN101681302B (en) Memory system
CN107346290B (en) Replaying partition logical to physical data address translation tables using parallelized log lists
CN110245093A (en) The adaptive excess configuration of workload in solid state storage drive array
US10580495B2 (en) Partial program operation of memory wordline
US20180024920A1 (en) System and method for tracking block level mapping overhead in a non-volatile memory
CN110874188B (en) Data storage device, method of operating the same, and storage system having the same
US10802733B2 (en) Methods and apparatus for configuring storage tiers within SSDs
CN108874303B (en) Storage system and method for non-volatile memory command collision avoidance
US10430330B2 (en) Handling of unaligned sequential writes
US20150067415A1 (en) Memory system and constructing method of logical block
DE102017104150A1 (en) Wear compensation in storage devices
KR20120030137A (en) Memory system having persistent garbage collection
WO2014061055A1 (en) Storage sysyem which includes non-volatile semiconductor storage medium, and storage control method of storage system
CN111158579B (en) Solid state disk and data access method thereof
US10929286B2 (en) Arbitrated management of a shared non-volatile memory resource
US10713157B2 (en) Storage system and method for improving read performance using multiple copies of a logical-to-physical address table
CN113254358A (en) Method and system for address table cache management
US11609848B2 (en) Media management based on data access metrics
TW201443644A (en) Method of managing non-volatile memory and non-volatile storage device using the same
KR20230142795A (en) Different write prioritization in ZNS devices
CN114730290A (en) Moving change log tables to align with partitions
US11016889B1 (en) Storage device with enhanced time to ready performance
CN110554833B (en) Parallel processing IO commands in a memory device
DE102022210372A1 (en) STORAGE DEVICE AND METHOD OF OPERATION THEREOF
CN112115065A (en) Unified address space for memory devices

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120530

Termination date: 20140120