CN110032524A - Storage system and its operating method - Google Patents

Storage system and its operating method Download PDF

Info

Publication number
CN110032524A
CN110032524A CN201811522794.2A CN201811522794A CN110032524A CN 110032524 A CN110032524 A CN 110032524A CN 201811522794 A CN201811522794 A CN 201811522794A CN 110032524 A CN110032524 A CN 110032524A
Authority
CN
China
Prior art keywords
speed buffering
data
queue
controller
memory device
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
Application number
CN201811522794.2A
Other languages
Chinese (zh)
Other versions
CN110032524B (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.)
SK Hynix Inc
Original Assignee
Hynix Semiconductor Inc
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 Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of CN110032524A publication Critical patent/CN110032524A/en
Application granted granted Critical
Publication of CN110032524B publication Critical patent/CN110032524B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • 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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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]

Abstract

The present invention relates to a kind of storage system, the storage systems can include: non-volatile memory device, including memory cell array and the page buffer for being connected to memory cell array;Controller, it is configured to connect with non-volatile memory device interface, wherein controller will be moved to speed buffering queue from command queue about the descriptor of speed buffering order, and the descriptor for being moved to speed buffering queue is selectively moved to response queue, wherein the speed buffering order is transferred to non-volatile memory device.

Description

Storage system and its operating method
Cross reference to related applications
This application claims submitted on December 14th, 2017 to Korean Intellectual Property Office application No. is 10-2017- 0172063 Korean application and submitted on October 2nd, 2018 application No. is the Korean application of 10-2018-0117381 Priority, entire contents are incorporated herein by reference.
Technical field
Each embodiment of the invention relates in general to a kind of storage system.Particularly, embodiment is related to a kind of including non- The storage system and its operating method of volatile memory devices.
Background technique
Storage system can be configured in response to the write request from external device (ED), what storage was provided from external device (ED) Data.Moreover, storage system can be configured to be supplied to the data of storage in response to the read requests from external device (ED) External device (ED).External device (ED) as the electronic device for being capable of handling data may include computer, digital camera or mobile phone. Storage system can be operated by being built in external device (ED), or can be by being manufactured and being coupled in the form of separable It is operated to external device (ED).
Because mechanical driving member is not present, the storage system including memory device provides such as excellent The advantages of stability and durability, high message reference speed and low-power consumption.Have the advantages that this storage system includes general Universal serial bus (USB) memory device, the storage card with various interfaces, general flash storage (UFS) device and solid-state driving Device (SSD).
Summary of the invention
Each embodiment is related to a kind of storage system and its operating method, and wherein controller can accurately determine execution The result of cache operations.
In embodiment, storage system can include: non-volatile memory device, including memory cell array and connection It is connected to the page buffer of memory cell array;And controller, it is configured to connect with non-volatile memory device interface It connects, wherein controller will be moved to speed buffering queue from command queue about the descriptor of speed buffering order, and selective The descriptor for being moved to speed buffering queue is moved to response queue by ground, and wherein the speed buffering order is transferred to non-easy The property lost memory device.
In embodiment, the method for storage system is operated can include: will fill to nonvolatile memory by controller The descriptor for the cache operations set is stored in command queue;Descriptor, which is based on, by controller generates speed buffering life It enables, and speed buffering order is transferred to non-volatile memory device;It is slow that high speed is based on by non-volatile memory device Punching order executes cache operations;The state of the result including cache operations is believed by non-volatile memory device Breath is transferred to controller;When receiving status information from non-volatile memory device, controller is by descriptor from order team Column are moved to speed buffering queue.
In embodiment, storage system can include: memory device is configured to execute cache operations, at least Including the subsequent sub-operation according to subsequent speed buffering descriptor by data buffering into page buffer;And controller, quilt It is configured to generate subsequent speed buffering descriptor, and even if also at least delays in processing in the success of previous cache operations Rush data before the success of preceding sub-operation, it is ensured that the subsequent speed buffering descriptor of previous cache operations, in preceding sub- behaviour It is included in subsequent cache operation.
Detailed description of the invention
Fig. 1 is the block diagram for showing storage system according to an embodiment of the present disclosure.
Fig. 2 is the block diagram of the configuration of the controller of Fig. 1.
Fig. 3 is to show that the first speed buffering programming description symbol is moved to height when executing the first speed buffering programming operation The diagram of the process of fast buffering queue.
Fig. 4 is to show that the first speed buffering programming description symbol is moved to sound when executing the second speed buffering programming operation Answer the diagram of the process of queue.
Fig. 5 is to show that the first speed buffering reading descriptor is moved to height when executing the first speed buffering read operation The diagram of the process of fast buffering queue.
Fig. 6 is to show that the first speed buffering reading descriptor is moved to sound when executing the second speed buffering read operation Answer the diagram of the process of queue.
Fig. 7 to Figure 11 B is the flow chart for showing the method for operation storage system according to an embodiment of the present disclosure.
Figure 12 is to show showing for the data processing system according to an embodiment of the present disclosure including solid state drive (SSD) Figure.
Figure 13 and Figure 14 be show it is according to an embodiment of the present disclosure each include storage system data processing The diagram of system.
Figure 15 is the diagram for showing the network system according to an embodiment of the present disclosure including storage system.
Figure 16 is that show according to an embodiment of the present disclosure include the non-volatile memory device in storage system Block diagram.
Specific embodiment
In the present invention, after following exemplary embodiment is read in conjunction with the figure, advantage, feature and the method for realizing it It will become obvious.However, the present invention can embody in different forms, and should not be construed as limited to described in this paper Embodiment.On the contrary, providing these embodiments to describe the present invention in detail, reaching those skilled in the art in the invention can Easily implement the degree of technical concept of the invention.It is noted that the reference of " embodiment " be not necessarily mean that only for One embodiment, and to the different with reference to not necessarily for identical embodiment of " embodiment ".
It will be appreciated that the embodiment of the present invention is not limited to details shown in the drawings, the drawings are not necessarily drawn to scale, In some cases, it can be possible to exaggerate ratio more clearly to describe certain features of the invention.Although having used specific term, It is understood that term as used herein is only used for description specific embodiment, the range being not intended to limit the invention.
As used herein, term "and/or" includes any one of one or more relevant listed items and owns Combination.It will be appreciated that it can be straight when element is referred to as " above ", " being connected to " or " being attached to " another element It connects on other elements, be connected to or coupled to other elements, or intermediary element may be present.As used herein, unless up and down Text is expressly stated otherwise, and otherwise singular is also intended to including plural form.It will be further appreciated that when in the present specification When using term " includes " and/or "comprising", indicate that there are feature, step, operation and/or the elements of at least one statement, but One or more of the other feature, step, operation and/or its element are not precluded the presence or addition of.
Hereinafter, it will be described in detail with reference to the accompanying drawings exemplary embodiment.
Fig. 1 is the block diagram for showing storage system 100 according to an embodiment of the present disclosure, and Fig. 2 is the control for being shown specifically Fig. 1 The block diagram of the configuration of device 200 processed.
Storage system 100 can be stored to the data by host apparatus (not shown) access such as below: mobile phone, MP3 Player, laptop computer, desktop computer, game machine, TV, vehicle-mounted information and entertainment system etc..
According to the host interface for indicating the transport protocol for host apparatus, storage system 100 can be manufactured into various Any one of storage device of type.For example, storage system 100 can be configured to various storage devices such as below Any one of: solid state drive (SSD), the multimedia card of MMC, eMMC, RS-MMC and miniature-MMC form, SD, mini- The safe digital card of SD and miniature-SD form, universal serial bus (USB) storage device, general flash store (UFS) device, Personal Computer Memory Card International Association (PCMCIA) card-type storage device, peripheral component interconnection (PCI) card-type storage device are high Fast PCI (PCI-E) card-type storage device, standard flash memory (CF) card, smart media card, memory stick etc..
Storage system 100 can be manufactured into any one of various encapsulated types.For example, storage system 100 can It is manufactured into any one of various encapsulated types such as below: stacked package (POP), system in package (SIP), on piece System (SOC), multi-chip package (MCP), chip on board encapsulation (COB), wafer scale manufacture encapsulation are (WFP) and crystal circular piled It encapsulates (WSP).
Referring to Fig.1, storage system 100 may include controller 200 and non-volatile memory device 300.Reference Fig. 2, Controller 200 may include Memory Controller 210, random access memory (RAM) 220, host interface 230 and processor 240.
Memory Controller 210 can control non-volatile memory device 300 according to the control of processor 240.Storage Device controller 210 is also referred to as memory interface.Memory Controller 210 can supply control signals to non-volatile memories Device device 300.Control signal may include order, address and the operating control signal for controlling non-volatile memory device 300.It deposits Memory controller 210 can serve data to non-volatile memory device 300 or receive from non-volatile memory device 300 Data.
Memory Controller 210 may include command queue 211, speed buffering queue 212 and response queue 213.
Such as height of speed buffering programming operation or speed buffering read operation can be performed in non-volatile memory device 300 Fast buffer operation.
Speed buffering programming operation can include: page buffer will be stored in by previous speed buffering programming operation Past data in 320 is programmed into the operation of memory cell array 310 and follow-up data is stored in page buffer 320 In operation, wherein follow-up data is programmed into memory cell array 310 after past data.It can be performed simultaneously elder generation Preceding data are programmed into the operation of memory cell array 310 and follow-up data are stored in the operation in page buffer 320.It is non- Volatile memory devices 300 can will program data into the behaviour of memory cell array 310 by speed buffering programming operation Time needed for making minimizes.
Speed buffering read operation can include: by previous data transfer to the operation of Memory Controller 210, wherein previously Data are read and stored in page buffer 320 by previous speed buffering read operation from memory cell array 310 In;And the behaviour in page buffer 320 is stored in from reading follow-up data in memory cell array 310 and by follow-up data Make, wherein follow-up data is transferred in Memory Controller 210 after past data.It can be performed simultaneously and pass past data It defeated operation to Memory Controller 210 and reads follow-up data and stores it in the operation in page buffer 320.It is non-easy The property lost memory device 300 can will read the data being stored in memory cell array 310 by speed buffering read operation Operation needed for the time minimize.
In the present embodiment, the first to the n-th information (hereinafter referred to as " descriptor ") can be description memory control A kind of order of work for the work that device 210 is handled, to control non-volatile memory device 300.Descriptor can Including about to be stored in the data in non-volatile memory device 300 information, indicate data will be in non-volatile memories The address information of the storage location stored in device device 300 and indicate that data to be read are filled in nonvolatile memory Set the address information of the storage location stored in 300.However, the present embodiment is without being limited thereto, descriptor may include non-volatile Various information needed for the operation of property memory device 300.
In order to complete single speed buffering programming operation, it may be necessary to subsequent speed buffering program command and slow in preceding high speed Program command is rushed, wherein the data that are previously programmed that subsequent speed buffering program command is used to buffer are programmed into memory cell battle array In column 310 and by later programmed data buffering into page buffer 320, being used in preceding speed buffering program command will be previous Programming data is buffered in page buffer 320.In order to complete single speed buffering read operation, it may be necessary to which subsequent high speed is slow It rushes reading order and in preceding speed buffering reading order, what wherein subsequent cache reading order was used to buffer is previously read Data, which are transferred to Memory Controller 210 and subsequent reads access evidence is read into the page from memory cell array 310, to be delayed It rushes in device 320, is used to previous read data reading into the page from memory cell array 310 in preceding speed buffering reading order In buffer 320.
It can correspond respectively to compile in preceding speed buffering in preceding speed buffering program command and subsequent speed buffering program command Journey descriptor and subsequent speed buffering programming description symbol.Preceding speed buffering reading order and subsequent speed buffering reading order can It corresponds respectively to read descriptor in preceding speed buffering and subsequent speed buffering reads descriptor.
Descriptor can be generated by the flash translation layer (FTL) (FTL) of all operationss of control storage system 100, and be transferred to Memory Controller 210.Memory Controller 210 can will be stored in command queue 211 from the descriptor that FTL is provided, and Descriptor based on storage, which generates, will be supplied to the order of non-volatile memory device 300.
Non-volatile memory device 300 can be according to the command-execution operation provided from Memory Controller 210, and incites somebody to action Status information including operating result is transferred to Memory Controller 210.Operating result may include the information for indicating to complete operation With the information for indicating that operation passes through or fails.Based on the status information provided from non-volatile memory device 300, memory control Corresponding descriptor can be moved to response queue 213 and the deletion pair from command queue 211 from command queue 211 by device 210 processed The descriptor answered, or descriptor only is deleted from command queue 211, without corresponding descriptor is moved to response queue 213。
For example, Memory Controller 210 can be from command queue when status information, which includes, to be indicated to operate the information passed through Descriptor is deleted in 211, without corresponding descriptor is moved to response queue 213 from command queue 211.When status information packet When including the information for indicating operation failure, corresponding descriptor can be moved to response from command queue 211 by Memory Controller 210 Then corresponding descriptor is deleted in queue 213 from command queue 211.Because being stored in the descriptor table in response queue 213 Show the operation of failure, so processor 240 can will be used for the operation of failure based on the descriptor being stored in response queue 213 Descriptor is re-transmitted to Memory Controller 210, and Memory Controller 210 can will be opposite with the descriptor transmitted again The order answered is re-supplied to non-volatile memory device 300.
For example, corresponding subsequent high speed can be deleted from command queue 211 when the success of single speed buffering programming operation Buffer programming description symbol.Moreover, when the failure of single speed buffering programming operation, corresponding subsequent speed buffering programming description symbol It can be moved in response queue 213, and can be deleted from command queue 211.For example, when single speed buffering read operation at When function, corresponding subsequent speed buffering can be deleted from command queue 211 and reads descriptor.Moreover, when single speed buffering is read When extract operation fails, corresponding subsequent speed buffering reads descriptor and can be moved in response queue 213, and can be from order team It is deleted in column 211.
As described above, the data for being programmed into memory cell array 310 during speed buffering programming operation can indicate logical The data in page buffer 320 are stored in after the speed buffering programming operation previously executed.It is stored when storing data in When programming operation in device cell array 310 fails, status information can be transferred to memory by non-volatile memory device 300 Controller 210, the status information include the place in the order (for example, speed buffering program command) for the programming operation of failure Reason failure, and descriptor can be moved to response queue 213 from command queue 211 by Memory Controller 210, and the descriptor is same It is associated with from the corresponding order of the received status information of non-volatile memory device 300.
Therefore, can by with the page buffer 320 that is used to for following data being stored in non-volatile memory device 300 In the associated descriptor of order be moved to response queue 213: the data expression storage will be programmed into next one The data of device cell array 310, rather than will delay with the page for being used to for following data being stored in non-volatile memory device 300 The associated descriptor of the order rushed in device 320 is moved to response queue 213: data expression fails to be stored in memory list Data in element array 310.
In addition, being transferred to Memory Controller from non-volatile memory device 300 during speed buffering read operation 210 data can indicate to be read and stored in by the speed buffering read operation previously executed from memory cell array 310 Data in page buffer 320.
Memory Controller 210 can be decoded to from the received data of non-volatile memory device 300.Decoding operate It may include the mistake detected include in data and the mistake that correction detects.For the operation, Memory Controller 210 can be wrapped Error-correcting code (ECC) circuit (not shown) is included, for solving to from the received data of non-volatile memory device 300 Code.
When to failing from the decoding of the received data of non-volatile memory device 300, Memory Controller 210 can be incited somebody to action Descriptor is moved to response queue 213 from command queue 211, and the descriptor is the same as order corresponding with speed buffering read operation It is associated, wherein corresponding data (data of decoding failure) are transmitted by speed buffering read operation.
Therefore, can by be used to read the data for indicating will to transmit in next one from memory cell array 310 Data are simultaneously moved to response queue 213 for the associated descriptor of order that data are stored in page buffer 320 is read, and It is non-by be used for from the memory cell array 310 of non-volatile memory device 300 read decoding failure data and will It reads the associated descriptor of order that data are stored in page buffer 320 and is moved to response queue 213.
In the present embodiment, controller 200 can further comprise speed buffering queue 212, by with the order that handles completely Associated descriptor is moved to speed buffering queue 212 from command queue 211, and selects according to whether order can not be handled The descriptor being stored in speed buffering queue 212 is moved to selecting property response queue 213.
Therefore, when speed buffering programming operation or speed buffering read operation occurring failing, can will be used to program The data of failure are stored in order in page buffer 320 or for reading failure from memory cell array 310 Data are simultaneously correctly stored in response queue for the associated descriptor of order that data are stored in page buffer 320 is read In 213, rather than by with the order that is used to for the data being stored in page buffer 320 being programmed into memory cell array 310 Or the associated descriptor of order for the data being stored in page buffer 320 to be transferred to controller 200 is stored in In response queue 213.The operation will be described in detail referring to the Fig. 3 to Fig. 6 that will be described below.
RAM 220 may include dynamic ram (DRAM) or static state RAM (SRAM).RAM220 can be stored to be driven by processor 240 Dynamic firmware FW.In addition, RAM 220 can data needed for storage driving firmware FW, such as metadata.That is, RAM 220 The working storage that can be used as processor 240 is operated.
RAM 220, which can be stored temporarily, provides from host apparatus and will be provided to the number of non-volatile memory device 300 According to, and the data of host apparatus are received and will be transferred to from non-volatile memory device 300.That is, RAM 220 It can be used as buffer storage.
Host interface 230 can connect host apparatus with 100 interface of storage system.For example, host interface 230 can be used One of standard transmission protocol such as below a variety of is communicated with host apparatus: (general serial is total by secure digital, USB Line), MMC (multimedia card), eMMC (embedded MMC), PCMCIA (Personal Computer Memory Card International Association), PATA it is (parallel Advanced Technology Attachment), SATA (Serial Advanced Technology Attachment), SCSI (small computer system interface), SAS (tandem SCSI), PCI (peripheral component interconnection), PCI-E (high-speed PCI) and UFS (general flash storage).
Processor 240 may include micro-control unit (MCU) and central processing unit (CPU).Processor 240 can be handled from master The received request of machine device.In order to handle the request, processor 240 can drive load to RAM 220 the instruction based on code Or algorithm, i.e. firmware FW, and control internal functional blocks and non-volatile memory device 300.
Fig. 3 is shown the first information after completing the first speed buffering programming operation (hereinafter referred to as " first Speed buffering programming description symbol ") INF_CP1 is moved to the process of speed buffering queue 212.Hereinafter, reference Fig. 2 and Fig. 3, It will be described in executing the first speed buffering programming operation to the first data (hereinafter referred to as " the first programming data ") DT1 Process and the first speed buffering programming description of the first speed buffering programming operation will be corresponded to accord with INF_CP1 from order team Column 211 are moved to the process of speed buffering queue 212.
In step S31, the first speed buffering programming description generated by FTL can be accorded with INF_CP1 and be transferred to storage Device controller 210.For the first speed buffering programming operation the first speed buffering programming description symbol INF_CP1 may include about The address for storing the first programming data DT1 is believed in the information and non-volatile memory device 300 of first programming data DT1 Breath.
In step s 32, the first speed buffering programming description can be accorded with INF_CP1 and be stored in life by Memory Controller 210 It enables in queue 211.
In step S33, Memory Controller 210 can be compiled based on the first speed buffering being stored in command queue 211 Journey descriptor INF_CP1 generates the first speed buffering program command CMD_CP1, and by the first speed buffering program command of generation CMD_CP1 is transferred to non-volatile memory device 300.
In step S34, the first programming data DT1 in the RAM 220 for being stored in controller 200 can be transferred to non-easy The property lost memory device 300, and non-volatile memory device 300 can be based on the first speed buffering program command CMD_CP1 The the first programming data DT1 received is stored in page buffer 320.
When the first programming data DT1 is stored in page buffer 320, achievable first speed buffering programming behaviour Make.
In step s 35, non-volatile memory device 300 can be by the result including the first speed buffering programming operation First state information Response_CP1 is transferred to controller 200.
In step S36, the storage of first state information Response_CP1 is received from non-volatile memory device 300 First speed buffering programming description can be accorded with INF_CP1 and be moved to speed buffering queue from command queue 211 by device controller 210 212.That is, when receiving first state information Response_CP1 from non-volatile memory device 300, memory Controller 210, which can determine, completes the first speed buffering program command, and will correspond to the first speed buffering program command First speed buffering programming description accords with INF_CP1 and is moved to speed buffering queue 212 from command queue 211.In addition, by first Speed buffering programming description symbol INF_CP1 is moved to after speed buffering queue 212, and Memory Controller 210 can be from order team The first speed buffering programming description symbol INF_CP1 is deleted in column 211.
Fig. 4, which is shown, accords with INF_ for the first speed buffering programming description after completing the second speed buffering programming operation CP1 is moved to the process of response queue 213 from speed buffering queue 212.Hereinafter, referring to Figure 2 to Figure 4, it will be described in The process of second speed buffering programming operation is executed to the second programming data DT2 and the first speed buffering programming description is accorded with into INF_ CP1 is moved to the process of response queue 213 from speed buffering queue 212.For ease of description, as shown in Figure 3, it is assumed that the first programming Data DT1 is stored in the first data buffer 321 of page buffer 320, and the first speed buffering programming description accords with INF_CP1 is stored in speed buffering queue 212.
Step S41 to S43 can be executed in a manner of identical with above-mentioned steps S31 to S33 respectively.That is, memory Controller 210 can receive the second information for the second speed buffering programming operation (hereinafter referred to as " the second high speed from FTL Buffer programming description symbol ") INF_CP2, the second speed buffering programming description symbol INF_CP2 is stored in command queue 211, base The second speed buffering program command is generated in the second speed buffering programming description symbol INF_CP2 being stored in command queue 211 CMD_CP2, and the second speed buffering program command CMD_CP2 of generation is transferred to non-volatile memory device 300.Example Such as, the second speed buffering program command CMD_CP2 may include the first programming data for that will be stored in page buffer 320 DT1 is programmed into the order of memory cell array 310 and is used for the second data (hereinafter referred to as " the second programming data ") DT2 is buffered to the order in page buffer 320.
In step S44, the first data buffering of page buffer 320 is stored in by the first speed buffering programming operation The first programming data DT1 in device 321 can be moved to the second data buffer 323 of page buffer 320, and then compile Journey is to memory cell array 310.
In step S45, the second programming data DT2 being stored in the RAM 220 of controller 200 can be transmitted non-easy The property lost memory device 300, and non-volatile memory device 300 can be based on the second speed buffering program command CMD_CP2 Second programming data DT2 is stored in the first data buffer 321 of page buffer 320.
That is, when the first programming data DT1 for being moved to the second data buffer 323 is programmed into memory cell When array 310, the second programming data DT2 can be stored in the first data buffer 321 of page buffer 320.Implementing In example, step S44 and S45 can be performed simultaneously.
When step S44 and S45 are completed, achievable second speed buffering programming operation.
In step S46, non-volatile memory device 300 can be by the result including the second speed buffering programming operation Second status information Response_CP2 is transferred to controller 200.
In step S47, the storage of the second status information Response_CP2 is received from non-volatile memory device 300 Second speed buffering programming description can be accorded with INF_CP2 and be moved to speed buffering queue from command queue 211 by device controller 210 212。
That is, being deposited when receiving the second status information Response_CP2 from non-volatile memory device 300 Memory controller 210, which can determine, completes the second speed buffering program command, and will correspond to the second speed buffering programming life The the second speed buffering programming description symbol INF_CP2 enabled is moved to speed buffering queue 212 from command queue 211.In addition, will Second speed buffering programming description symbol INF_CP2 is moved to after speed buffering queue 212, and Memory Controller 210 can be deleted The the second speed buffering programming description symbol INF_CP2 being stored in command queue 211.
Second status information Response_CP2 may include the letter for indicating the second speed buffering programming operation and passing through or failing Breath.Passing through or failing for second speed buffering programming operation can indicate that the first programming data DT1 is normally to be programmed into storage Device cell array 310 or program fail.
In step S48, it is based on the second status information Response_CP2, Memory Controller 210 optionally will First speed buffering programming description accords with INF_CP1 and is moved to response queue 213 from speed buffering queue 212.
For example, when the second status information Response_CP2 includes the information for indicating the second speed buffering programming operation and passing through When, it can indicate that the first programming data DT1 is normally programmed into memory cell array 110.In this case, because of nothing The program command for being used for the first programming data DT1 need to be re-transmitted to non-volatile memory device 300, so memory control First speed buffering programming description can not be accorded with INF_CP1 and be moved to response queue 213 from speed buffering queue 212 by device 210 processed, But the first speed buffering programming description symbol INF_CP1 is deleted from speed buffering queue 212.
When the second status information Response_CP2, which includes, indicates the information of the second speed buffering programming operation failure, it It can indicate that the first programming data DT1 is not programmed into memory cell array 310.In this case, since it is desired that will be used for The program command of first programming data DT1 is re-transmitted to non-volatile memory device 300, so Memory Controller 210 First speed buffering programming description can be accorded with INF_CP1 and be moved to response queue 213 from speed buffering queue 212, and from height The first speed buffering programming description symbol INF_CP1 is deleted in fast buffering queue 212.Therefore, it can be ensured that with the first programming data DT1 The relevant descriptor (that is, the first speed buffering programming description accords with) about the first speed buffering programming operation.
When the first speed buffering programming description symbol INF_CP1 is deleted from speed buffering queue 212 in step S48, Second speed buffering programming description can be accorded with INF_CP2 and be moved to the first speed buffering programming description symbol by Memory Controller 210 The storage location of INF_CP1.However, the present embodiment is without being limited thereto.
In the present embodiment, controller 200 can program the first speed buffering about the first speed buffering programming operation Descriptor INF_CP1 is stored in speed buffering queue 212, and the second shape based on subsequent second speed buffering programming operation First speed buffering programming description symbol INF_CP1 is optionally stored in response queue 213 by state information Response_CP2. Therefore, controller 200 can correctly determine descriptor relevant to the data not being programmed into memory cell array 310. That is, it can be ensured that descriptor relevant to the data of program fail, and can be executed again based on the descriptor ensured pair The programming operation of the data of program fail, the reliability of storage system 100 can be improved in this.
Fig. 5 is shown third information after completing the first speed buffering read operation (hereinafter referred to as " first Speed buffering reads descriptor ") INF_CR1 is moved to the process of speed buffering queue 212.Hereinafter, reference Fig. 2 and Fig. 5, It will be described in executing the first speed buffering read operation to third data (hereinafter referred to as " first reads data ") DT3 Process and the first speed buffering of the first speed buffering read operation will be corresponded to read descriptor INF_CR1 from order team Column 211 are moved to the process of speed buffering queue 212.
In step s 51, the first speed buffering generated by FTL can be read descriptor INF_CR1 and is transferred to storage Device controller 210.It may include non-easy that the first speed buffering for the first speed buffering read operation, which reads descriptor INF_CR1, The address information of the property lost memory device 300, data DT3 is read in storage first in the address information.
In step S52, the first speed buffering can be read descriptor INF_CR1 and be stored in life by Memory Controller 210 It enables in queue 211.
In step S53, Memory Controller 210 can be read based on the first speed buffering being stored in command queue 211 Descriptor INF_CR1 is taken to generate the first speed buffering reading order CMD_CR1, and by the first speed buffering reading order of generation CMD_CR1 is transferred to non-volatile memory device 300.For example, the first speed buffering reading order CMD_CR1 may include being used for It reads the first reading data DT3 from memory cell array 310 and reading data is stored in the second of page buffer 320 and count According to the order in buffer 323.
In step S54, it is based on the first speed buffering reading order CMD_CR1, non-volatile memory device 300 can be from First is read in memory cell array 310 and reads data DT3, and the first reading data DT3 is stored in page buffer 320 The second data buffer 323 in.
When step S54 is completed, achievable first speed buffering read operation.
In step S55, non-volatile memory device 300 can be by the result including the first speed buffering read operation First state information Response_CR1 is transferred to Memory Controller 210.
In step S56, the storage of first state information Response_CR1 is received from non-volatile memory device 300 First speed buffering can be read descriptor INF_CR1 and be moved to speed buffering queue from command queue 211 by device controller 210 212.That is, when providing first state information Response_CR1 from non-volatile memory device 300, memory control Device 210 processed, which can determine, completes the first speed buffering reading order, and will correspond to the of the first speed buffering reading order One speed buffering reads descriptor INF_CR1 and is moved to speed buffering queue 212 from command queue 211.In addition, high by first Speed buffering reads descriptor INF_CR1 and is moved to after speed buffering queue 212, and Memory Controller 210 can be from command queue The first speed buffering is deleted in 211 reads descriptor INF_CR1.
Fig. 6, which is shown, reads descriptor INF_ for the first speed buffering after completing the second speed buffering read operation CR1 is moved to the process of response queue 213 from speed buffering queue 212.It hereinafter, will be detailed referring to Fig. 2, Fig. 5 and Fig. 6 The process that the second speed buffering read operation is executed to the 4th data (hereinafter referred to as " second reads data ") DT4 is described And the first speed buffering reading descriptor INF_CR1 is moved to the process of response queue 213 from speed buffering queue 212. For ease of description, as shown in fig. 5, it is assumed that the first reading data DT3 is stored in the second data buffer of page buffer 320 In 323, and the first speed buffering reads descriptor INF_CR1 and is stored in speed buffering queue 212.
Step S61 to S63 can be executed in a manner of identical with above-mentioned steps S51 to S53 respectively.That is, memory Controller 210 can receive the 4th information for the second speed buffering read operation (hereinafter referred to as " the second high speed from FTL Buffering reads descriptor ") INF_CR2, the second speed buffering reading descriptor INF_CR2 is stored in command queue 211, base Descriptor INF_CR2, which is read, in the second speed buffering being stored in command queue 211 generates the second speed buffering reading order CMD_CR2, and the second speed buffering reading order CMD_CR2 of generation is transferred to non-volatile memory device 300.Example Such as, the second speed buffering reading order CMD_CR2 may include the first reading data for that will be stored in page buffer 320 DT3 is output to the order of controller 200 and reads data DT4 and by second for reading second from memory cell array 310 It reads data DT4 and is stored in the order in page buffer 320.
In step S64, it is based on the second speed buffering reading order CMD_CR2, non-volatile memory device 300 can incite somebody to action The first reading data DT3 being stored in the second data buffer 323 of page buffer 320 is moved to the first data buffer 321, and the first reading data DT3 is transferred to Memory Controller 210 from the first data buffer 321.When the first reading When data DT3 is transmitted completely, the first reading data DT3 in the first data buffer 321 of page buffer 320 can be deleted It removes.
In step S65, it is based on the second speed buffering reading order CMD_CR2, non-volatile memory device 300 can be from Second is read in memory cell array 310 and reads data DT4, and the second reading data DT4 of reading is stored in the page and is delayed It rushes in the second data buffer 323 of device 320.Step S64 and S65 can be performed simultaneously.
When step S64 and S65 are completed, achievable second speed buffering read operation.
In step S66, non-volatile memory device 300 can be by the result including the second speed buffering read operation Second status information Response_CR2 is transferred to Memory Controller 210.
In step S67, the storage of the second status information Response_CR2 is received from non-volatile memory device 300 Second speed buffering can be read descriptor INF_CR2 and be moved to speed buffering queue from command queue 211 by device controller 210 212.In addition, Memory Controller 210, which can delete the second speed buffering being stored in command queue 211, reads descriptor INF_ CR2。
In step S68, ECC circuit can be used to receive to from non-volatile memory device 300 for Memory Controller 210 First reading data DT3 be decoded.For example, decoding may include ECC decoding.When the decoding for reading data DT3 to first is logical Out-of-date, the first reading data DT3 can be transferred to host apparatus by controller 200, and Memory Controller 210 can be slow from high speed It rushes in queue 212 and deletes the first speed buffering reading descriptor INF_CR1.
When the decoding for reading data DT3 to first fails, the first speed buffering can be read and be retouched by Memory Controller 210 It states symbol INF_CR1 and is moved to response queue 213 from speed buffering queue 212, and delete first from speed buffering queue 212 Speed buffering reads descriptor INF_CR1.Therefore, it can be ensured that the first speed buffering relevant to the first reading data DT3 is read The descriptor (that is, the first speed buffering reads descriptor) of operation.
When the first speed buffering reading descriptor INF_CR1 is deleted from speed buffering queue 212 in step S68, Second speed buffering can be read descriptor INF_CR2 and be moved to the first speed buffering reading descriptor by Memory Controller 210 The storage location of INF_CR1.However, the present embodiment is without being limited thereto.
In the present embodiment, controller 200 can read the first speed buffering about the first speed buffering read operation Descriptor INF_CR1 is stored in speed buffering queue 212, and is based on passing to by subsequent second speed buffering read operation First speed buffering reading descriptor INF_CR1 is optionally stored in sound by the decoding result of the first defeated reading data DT3 It answers in queue 213.Therefore, controller 200 can correctly determine descriptor relevant to the data for reading failure.That is, It can ensure that descriptor relevant to the data for reading failure, and can be executed again based on the descriptor ensured to reading failure The read operation of data, the reliability of storage system 100 can be improved in this.
Fig. 7 to Figure 11 B is the flow chart for describing the operating method of storage system 100 according to the embodiment.
Specifically, Fig. 7 is shown when cache operations corresponding with the descriptor being stored in command queue are completed When descriptor is moved to from command queue speed buffering queue method flow chart.
Fig. 8 to Fig. 9 B is to show to be moved to descriptor from speed buffering queue according to the result of speed buffering programming operation The flow chart of the method for response queue.
Figure 10 to Figure 11 B is to show to be moved descriptor from speed buffering queue according to the result of speed buffering read operation To the flow chart of the method for response queue.
Referring to Fig. 2 and Fig. 7, by description according to the operating method of the storage system 100 of the present embodiment.
In the step s 100, the Memory Controller 210 of controller 200 can by be used for cache operations information ( Hereinafter, referred to " descriptor ") it is stored in command queue 211.Cache operations may include speed buffering programming operation and Speed buffering read operation.Descriptor can be generated by FTL and be transferred to Memory Controller 210.
In step s 200, Memory Controller 210 can generate high speed based on the descriptor being stored in command queue 211 Buffers command, and the speed buffering order of generation is transferred to non-volatile memory device 300.
In step S300, non-volatile memory device 300 can execute high speed based on the speed buffering order received Buffer operation.
In step S400, non-volatile memory device 300 can believe the state of the result including cache operations Breath is transferred to Memory Controller 210.Status information may include indicating the information of cache operations completion and indicating that high speed is slow Punching operation passes through or the information of failure.
In step S500, descriptor can be moved to speed buffering queue from command queue 211 by Memory Controller 210 212.At this point, Memory Controller 210 can delete descriptor from command queue 211.That is, working as from non-volatile memories When device device 300 receives status information, Memory Controller 210 can determine that the high speed for completing and transmitting in step s 200 is slow Punching order, and corresponding descriptor is moved to speed buffering queue 212 so that descriptor is temporarily stored to speed buffering team In column 212.
Referring to Fig. 2 and Fig. 8, by description according to the operating method of the storage system 100 of the present embodiment.
In step S1100, Memory Controller 210 can will be used for the first information of the first speed buffering programming operation (hereinafter referred to as " the first speed buffering programming description symbol ") is stored in command queue 211.For example, the first speed buffering Programming operation may include the behaviour being stored in the first programming data in the page buffer 320 of non-volatile memory device 300 Make.
In step S1200, Memory Controller 210 can be based on the first speed buffering being stored in command queue 211 Programming description symbol generates the first speed buffering program command, and the first speed buffering program command of generation is transferred to non-volatile Property memory device 300.At this point, Memory Controller 210 the first programming data being stored in RAM 220 can be transferred to it is non- Volatile memory devices 300.
In step S1300, based on the first speed buffering program command received, non-volatile memory device 300 The first speed buffering programming operation can be executed to the first programming data.That is, non-volatile memory device 300 can basis First programming data is stored in page buffer 320 by the first speed buffering program command.When the first programming data is complete When storing in page buffer 320, achievable first speed buffering programming operation.
In step S1400, non-volatile memory device 300 can be by the result including the first speed buffering programming operation First state information be transferred to Memory Controller 210.First state information may include indicating the first speed buffering programming behaviour Make the information completed and indicates the information that the first speed buffering programming operation passes through or fails.For ease of description, the present embodiment base In there is no the hypothesis of the speed buffering programming operation operated before the first speed buffering programming operation.Therefore, the first shape State information can only include the information for indicating the first speed buffering programming operation and completing.
In step S1500, Memory Controller 210, which can determine, completes the first speed buffering program command, and by One speed buffering programming description symbol is moved to speed buffering queue 212 from command queue 211.It is retouched by the programming of the first speed buffering It states symbol to be moved to after speed buffering queue 212, it is slow that Memory Controller 210 can delete the first high speed from command queue 211 Rush programming description symbol.
In step S2100, Memory Controller 210 can will be used for the second information of the second speed buffering programming operation (hereinafter referred to as " the second speed buffering programming description symbol ") is stored in command queue 211.For example, the second speed buffering Programming operation may include will be buffered in the page buffer 320 of non-volatile memory device 300 in step S1300 One programming data is programmed into the operation of memory cell array 310, and the second programming data is buffered in non-volatile memories Operation in the page buffer 320 of device device 300, wherein the second programming data is in being buffered in page buffer 320 Memory cell array 310 is programmed into after first programming data.
In step S2200, Memory Controller 210 can be based on the second speed buffering being stored in command queue 211 Programming description symbol generates the second speed buffering program command, and the second speed buffering program command of generation is transferred to non-volatile Property memory device 300.At this point, Memory Controller 210 the second programming data being stored in RAM 220 can be transferred to it is non- Volatile memory devices 300.
In step S2300, non-volatile memory device 300 can be based on the second speed buffering program command received Execute the second speed buffering programming operation.That is, according to the second speed buffering program command, non-volatile memory device 300 can be while the first programming data that will be stored in page buffer 320 be programmed into memory cell array 310, will Second programming data is stored in page buffer 320.When the first programming data is programmed into memory cell array 310 completely And when the second programming data is completely stored in page buffer 320, achievable second speed buffering programming operation.
In step S2400, non-volatile memory device 300 can be by the result including the second speed buffering programming operation The second status information be transferred to Memory Controller 210.Second status information may include indicating the second speed buffering programming behaviour Make the information completed and indicates the information that the second speed buffering programming operation passes through or fails.For example, indicating the second speed buffering The information that programming operation is completed can indicate to complete the operation being stored in the second programming data in page buffer 320.It indicates Second speed buffering programming operation passes through or the information of failure can indicate the first programming data being programmed into memory cell array 310 operation be by or failure.
In step S2500, Memory Controller 210, which can determine, completes the second speed buffering program command, by second Speed buffering programming description symbol is moved to speed buffering queue 212 from command queue 211, then deletes from command queue 211 Second speed buffering programming description symbol.
In step S2600, Memory Controller 210 is based on the second status information may or may not be slow by the first high speed It rushes programming description symbol and is moved to response queue 213 from speed buffering queue 212.
Fig. 9 A is the flow chart for being shown specifically the step S2600 of Fig. 8.
In step S2610, it is based on from received second status information of non-volatile memory device 300, memory control Device 210 processed can determine that the operation that the first data are programmed into memory cell array 310 is failure or passes through.It is compiled when by first When number of passes is according to the operation of memory cell array 310 is programmed by (being "No" in step S2610), process be can continue to Step S2630.On the other hand, when the operation failure (step that the first programming data is programmed into memory cell array 310 It is "Yes" in S2610) when, process can continue to step S2620.
In step S2620, Memory Controller 210 can accord with the first speed buffering programming description from speed buffering queue 212 are moved to response queue 213.
In step S2630, Memory Controller 210 can delete the first speed buffering volume from speed buffering queue 212 Journey descriptor.
That is, when the second status information includes indicating the first programming data being programmed into memory cell array 310 Operation failure information when, Memory Controller 210 can accord with the first speed buffering programming description from speed buffering queue 212 It is moved to response queue 213, the first speed buffering programming description symbol is then deleted from speed buffering queue 212.On the other hand, When the second status information includes the information for indicating for the first programming data to be programmed into the operation of memory cell array 310 and passing through When, the first speed buffering programming description can not be accorded with from speed buffering queue 212 and be moved to response queue by Memory Controller 210 213, but the first speed buffering programming description symbol is deleted from speed buffering queue 212.
Fig. 9 B is the stream for showing the operating method when the first speed buffering programming description symbol is moved to response queue 213 Cheng Tu.
In step S2710, the processor 240 of controller 200 can delete the order team for being stored in Memory Controller 210 Descriptor in column 211, speed buffering queue 212 and response queue 213.
In step S2720, processor 240 can program the first speed buffering for being used for the first speed buffering programming operation Descriptor and for the second speed buffering programming operation the second speed buffering programming description symbol be sequentially re-transmitted to storage Device controller 210.Following operation can be executed with same way described in step S1100 to S2600.
Referring to Fig. 2 and Figure 10, by description according to the operating method of the storage system 100 of the present embodiment.
In step S3100, Memory Controller 210 can will be used for the third information of the first speed buffering read operation (hereinafter referred to as " the first speed buffering reads descriptor ") is stored in command queue 211.For example, the first speed buffering Read operation may include reading the first reading data from memory cell array 310 and the first reading data being stored in the page to delay Rush the operation in device 320.
In step S3200, Memory Controller 210 can be based on the first speed buffering being stored in command queue 211 It reads descriptor and generates the first speed buffering reading order, and the first speed buffering reading order of generation is transferred to non-volatile Property memory device 300.
In step S3300, based on the first speed buffering reading order received, non-volatile memory device 300 Data can be read to first execute the first speed buffering read operation.That is, according to the first speed buffering reading order, it is non- Volatile memory devices 300 can read first from memory cell array 310 and read data, and read number for the first of reading According to being stored in page buffer 320.When the first reading data are completely stored in page buffer 320, achievable the One speed buffering read operation.
In step S3400, non-volatile memory device 300 can be by the result including the first speed buffering read operation Third state information is transferred to Memory Controller 210.Third state information may include indicating the first speed buffering read operation The information of completion.
In step S3500, Memory Controller 210, which can determine, completes the first speed buffering read operation, and by One speed buffering reads descriptor and is moved to speed buffering queue 212 from command queue 211.It is retouched by the reading of the first speed buffering It states symbol to be moved to after speed buffering queue 212, it is slow that Memory Controller 210 can delete the first high speed from command queue 211 Descriptor is read in punching.
In step S4100, Memory Controller 210 can will be used for the 4th information of the second speed buffering read operation (hereinafter referred to as " the second speed buffering reads descriptor ") is stored in command queue 211.For example, the second speed buffering Read operation can include: will be read and stored in page buffer 320 in step S3300 from memory cell array 310 The first reading data be transferred to the operation of Memory Controller 210;And second is read from memory cell array 310 and is read Second reading data are simultaneously stored in the operation in page buffer 320 by data, wherein second reads data in the first reading number According to being transferred to Memory Controller 210 later.
In step S4200, Memory Controller 210 can be based on the second speed buffering being stored in command queue 211 It reads descriptor and generates the second speed buffering reading order, and the second speed buffering reading order of generation is transferred to non-volatile Property memory device 300.
In step S4300, non-volatile memory device 300 can be based on the second speed buffering reading order received Execute the second speed buffering read operation.That is, according to the second speed buffering reading order, non-volatile memory device 300 can be while the first reading data that will be stored in page buffer 320 be transferred to Memory Controller 210, from depositing The second reading data are read in memory cell array 310 and the second reading data of reading are stored in page buffer 320. When by first reading full data transmission to Memory Controller 210 and by second read data be completely stored in page buffer When in device 320, achievable second speed buffering read operation.
In step S4400, non-volatile memory device 300 can be by the result including the second speed buffering read operation The 4th status information be transferred to Memory Controller 210.4th status information may include indicating that the second speed buffering reads behaviour Make the information completed.
In step S4500, Memory Controller 210 can determine the processing for completing the second speed buffering reading order, Second speed buffering is read into descriptor and is moved to speed buffering queue 212 from command queue 211, then from command queue 211 The second speed buffering of middle deletion reads descriptor.
In step S4600, the first speed buffering may or may not be read descriptor from height by Memory Controller 210 Fast buffering queue 212 is moved to response queue 213.
Figure 11 A is the flow chart for being shown specifically the step S4600 of Figure 10.
In step S4610, Memory Controller 210 can be read from non-volatile memory device 300 received first Access evidence is decoded.
In step S4620, Memory Controller 210 can determine whether the decoding to the first reading data fails.Work as solution When code is by (being "No" in step S4620), process can continue to step S4640.When decoding failure is (in step S4620 For "Yes") when, process can continue to step S4630.
In step S4630, the first speed buffering can be read descriptor from speed buffering queue by Memory Controller 210 212 are moved to response queue 213.
In step S4640, Memory Controller 210 can delete the reading of the first speed buffering from speed buffering queue 212 Take descriptor.
That is, being read when to first read by the first speed buffering read operation from memory cell array 310 When the decoding failure for evidence of fetching, the first speed buffering can be read descriptor from speed buffering queue 212 by Memory Controller 210 It is moved to response queue 213, the first speed buffering is then deleted from speed buffering queue 212 and reads descriptor.On the other hand, When the decoding to the first reading data passes through, the first speed buffering can not be read descriptor from height by Memory Controller 210 Fast buffering queue 212 is moved to response queue 213, but deletes the first speed buffering from speed buffering queue 212 and read description Symbol.
Figure 11 B is shown when the first speed buffering reads operating method when descriptor is moved to response queue 213 Flow chart.
In step S4710, the processor 240 of controller 200 can delete the order team for being stored in Memory Controller 210 Descriptor in column 211, speed buffering queue 212 and response queue 213.
In step S4720, processor 240 can drive FLT to generate for third data (that is, first reads data) Normal read operation third descriptor, and by the 5th information of generation (hereinafter referred to as " third descriptor ") pass It is defeated to arrive Memory Controller 210.At this point, normal read operation can be following operation: reading the from memory cell array 310 One reads data, the first reading data of reading is stored in page buffer 320, and will be stored in page buffer The first reading data in 320 are transferred to Memory Controller 210.Memory Controller 210 can be generated based on third descriptor The normal reading order for reading data for first, and the normal reading order of generation is transferred to nonvolatile memory dress Set 300.
In step S4730, non-volatile memory device 300 can execute following normal reading according to normal reading order Extract operation: the first reading data are read from memory cell array 310, the first reading data are stored in page buffer 320 In and by be stored in page buffer 320 first reading data be transferred in Memory Controller 210.
In step S4740, Memory Controller 210 can be read from non-volatile memory device 300 received first Access evidence is decoded.
In step S4750, Memory Controller 210 can determine whether the decoding to the first reading data passes through.Work as solution When code failure (being "No" in step S4750), step S4720 to S4740 can be executed again.When decoding is by (in step S4750 For "Yes") when, process can continue to step S4760.
In step S4760, processor 240 can drive FTL to generate for the 4th data (that is, second reads data) Normal read operation the 6th information (hereinafter referred to as " the 4th descriptor "), and by the 4th descriptor of generation pass It is defeated to arrive Memory Controller 210.Memory Controller 210 can be generated based on the 4th descriptor and read the normal of data for second Reading order, and the normal reading order of generation is transferred to non-volatile memory device 300.
In step S4770, non-volatile memory device 300 can execute following normal reading according to normal reading order Operation: the second reading data are read from memory cell array 310, the second reading data of reading are stored in page buffer Memory Controller 210 is transferred in 320 and by the be stored in page buffer 320 second reading data.
In step S4780, Memory Controller 210 can be read from non-volatile memory device 300 received second Access evidence is decoded.
In step S4790, Memory Controller 210 can determine whether the decoding to the second reading data passes through.Work as solution When code failure (being "No" in step S4790), step S4760 to S4780 can be executed again.When decoding is by (in step S4790 For "Yes") when, the process can be terminated.
According to the present embodiment, storage system and operating method can correctly determine stored in memory for failing The descriptor of data and descriptor for decoding miss data, and behaviour is read in speed buffering programming operation and speed buffering Programming/read operation is executed to corresponding data again during work, the reliability of system can be improved in this way.
Figure 12 is to show the representative example of the data processing system according to the embodiment including solid state drive (SSD) to show Figure.Referring to Fig.1 2, data processing system 1000 may include host apparatus 1100 and SSD 1200.
SSD 1200 may include controller 1210, buffer memory means 1220, non-volatile memory device 1231 to 123n, power supply 1240, signal connector 1250 and power connector 1260.
Controller 1210 can control the general operation of SSD 1200.Controller 1210 may include memory control unit 210, Random access memory 220, host interface unit 230, control unit 240 and error-correcting code (ECC) unit 1214.
Memory control unit 210 will can such as be ordered according to the control of control unit 240 and the control signal of address mentions Non-volatile memory device 1231 is supplied to 123n.In addition, memory control unit 210 can be according to the control of control unit 240 System exchanges data with non-volatile memory device 1231 to 123n.For example, memory control unit 210 can will be stored in buffering Data in memory device 1220 are supplied to non-volatile memory device 1231 to 123n, or will be from non-volatile memories Device device 1231 to the data that 123n is read are supplied to buffer memory means 1220.
Host interface unit 230 can exchange signal SGL with host apparatus 1100 by signal connector 1250.Signal SGL It may include order, address, data etc..Host interface unit 230 can be according to the agreement of host apparatus 1100 come to host apparatus 1100, which carry out interface with SSD 1200, connects.For example, host interface unit 230 can be by standard interface protocol such as below Any one communicated with host apparatus 1100: it is secure digital, universal serial bus (USB), multimedia card (MMC), embedded MMC (eMMC), Personal Computer Memory Card International Association (PCMCIA), parallel advanced technology annex (PATA), serial advanced skill Art attachment (SATA), small computer system interface (SCSI), tandem SCSI (SAS), peripheral component interconnection (PCI), high-speed PCI (PCI-E) and general flash stores (UFS).
The signal SGL inputted from host apparatus 1100 can be analyzed and be handled to control unit 240.Control unit 240 can basis The operation of internal functional blocks is controlled for driving the firmware or software of SSD 1200.Random access memory 220 can be used as driving Move the working storage of this firmware or software.
Error-correcting code (ECC) unit 1214 produces the number to be transmitted to non-volatile memory device 1231 to 123n According to parity data.The parity data of generation can be collectively stored in data non-volatile memory device 1231 to In 123n.Error-correcting code (ECC) unit 1214 can be detected based on parity data from non-volatile memory device The mistake of 1231 to the 123n data read.If the mistake detected is within the scope of recoverable, error-correcting code (ECC) is single The mistake that first 1214 recoverables detect.
Buffer memory means 1220 can be stored temporarily to be stored in non-volatile memory device 1231 into 123n Data.Further, buffer memory means 1220 can be stored temporarily from non-volatile memory device 1231 to 123n and be read Data.The data being temporarily stored in buffer memory means 1220 can be transferred to master according to the control of controller 1210 Machine device 1100 or non-volatile memory device 1231 are to 123n.
Non-volatile memory device 1231 can be used as the storage medium of SSD 1200 to 123n.Nonvolatile memory dress Setting 1231 to 123n can be coupled by multiple channel C H1 to CHn with controller 1210 respectively.One or more non-volatile memories Device device can be connected to a channel.The non-volatile memory device for being connected to each channel can be connected to identical signal Bus and data/address bus.
The electric power PWR inputted by power connector 1260 can be provided to the inside of SSD 1200 by power supply 1240.Power supply 1240 may include accessory power supply 1241.When occur suddenly power-off when, accessory power supply 1241 can be powered so that SSD 1200 just Often terminate.Accessory power supply 1241 may include large value capacitor.
Signal connector 1250 can be according to the interface connection scheme between host apparatus 1100 and SSD 1200 and by each The connector of seed type configures.
Power connector 1260 can be configured according to the power supply plan of host apparatus 1100 by various types of connectors.
Figure 13 is the diagram for showing the representative example of the data processing system according to the embodiment including storage system.Ginseng According to Figure 13, data processing system 2000 may include host apparatus 2100 and storage system 2200.
Host apparatus 2100 can the plate form of such as printed circuit board configure.Although it is not shown, but host apparatus 2100 may include the internal functional blocks for executing the function of host apparatus.
Host apparatus 2100 may include the connection terminal 2110 of such as socket, slot or connector.Storage system 2200 Connection terminal 2110 can be mounted to.
Storage system 2200 can the plate form of such as printed circuit board configure.Storage system 2200 is represented by Memory module or storage card.Storage system 2200 may include controller 2210, buffer memory means 2220, non-volatile Memory device 2231 and 2232, power management integrated circuit (PMIC) 2240 and connection terminal 2250.
Controller 2210 can control the general operation of storage system 2200.Controller 2210 can be controlled with shown in Figure 12 Device 1210 processed configures in an identical manner.
Buffer memory means 2220 can be stored temporarily in non-volatile memory device 2231 and 2232 to be stored in Data.Further, buffer memory means 2220 can be stored temporarily reads from non-volatile memory device 2231 and 2232 The data taken.The data being temporarily stored in buffer memory means 2220 can be transferred to according to the control of controller 2210 Host apparatus 2100 or non-volatile memory device 2231 and 2232.
Non-volatile memory device 2231 and 2232 can be used as the storage medium of storage system 2200.
PMIC 2240 can provide the electric power inputted by connection terminal 2250 to the inside of storage system 2200. PMIC 2240 can manage the electric power of storage system 2200 according to the control of controller 2210.
Connection terminal 2250 can be connected to the connection terminal 2110 of host apparatus 2100.By connection terminal 2250, such as The signal and electric power of order, address, data etc. can transmit between host apparatus 2100 and storage system 2200.According to host Interface scheme between device 2100 and storage system 2200, connection terminal 2250 can be configured to various types.Connecting pin Son 2250 may be disposed at any side of storage system 2200.
Figure 14 is the diagram for showing the representative example of the data processing system according to the embodiment including storage system.Ginseng According to Figure 14, data processing system 3000 may include host apparatus 3100 and storage system 3200.
Host apparatus 3100 can the plate form of such as printed circuit board configure.Although it is not shown, but host apparatus 3100 may include the internal functional blocks for executing the function of host apparatus.
Storage system 3200 can be configured in the form that surface installing type encapsulates.Storage system 3200 can pass through soldered ball 3250 are installed to host apparatus 3100.Storage system 3200 may include controller 3210, buffer memory means 3220 and non- Volatile memory devices 3230.
Controller 3210 can control the general operation of storage system 3200.Controller 3210 can be controlled with shown in Figure 12 Device 1210 processed configures in an identical manner.
Buffer memory means 3220 can temporarily store the data in non-volatile memory device 3230 to be stored in. Further, buffer memory means 3220 can temporarily store the data read from non-volatile memory device 3230.Faced When the data that are stored in buffer memory means 3220 can be transferred to host apparatus 3100 according to the control of controller 3210 Or non-volatile memory device 3230.
Non-volatile memory device 3230 can be used as the storage medium of storage system 3200.
Figure 15 is the diagram for showing the representative example of the network system according to the embodiment including storage system.Referring to figure 15, network system 4000 may include the server system 4300 coupled by network 4500 and multiple client system 4410 to 4430。
Server system 4300 may be in response to carry out service data from the request of multiple client system 4410 to 4430.Example Such as, server system 4300 can store the data provided from multiple client system 4410 to 4430.In another example server system 4300 can serve data to multiple client system 4410 to 4430.
Server system 4300 may include host apparatus 4100 and storage system 4200.Storage system 4200 can pass through The storage system 100 of Fig. 1, the SSD 1200 of Figure 12, the storage system 2200 of Figure 13 or the storage system 3200 of Figure 14 To configure.
Figure 16 is that show according to the embodiment include that the representative of the non-volatile memory device in storage system is shown The block diagram of example.Referring to Fig.1 6, non-volatile memory device 300 may include memory cell array 310, row decoder 320, page Face buffer 330, column decoder 340, voltage generator 350 and control logic 360.
Memory cell array 310 may include that the region intersected with each other wordline WL1 to WLm and bit line BL1 to BLn is arranged in In memory cell MC.
Page buffer 330 can be coupled by bit line BL1 to BLn with memory cell array 310.Page buffer 330 It may include the read/write circuits RW1 to RWn for corresponding respectively to bit line BL1 to BLn.Page buffer 330 can be patrolled according to control 360 control is collected to operate.Page buffer 330 can be operated according to operation mode as write driver or sense amplifier. For example, page buffer 330 can be used as write driver to operate, which in write operation will be by external device (ED) The data of offer are stored in memory cell array 310.In another example page buffer 330 can be used as sense amplifier to grasp Make, which reads data from memory cell array 310 in read operation.
Row decoder 320 can be coupled by wordline WL1 to WLm with memory cell array 310.Row decoder 320 can It is operated according to the control of control logic 360.Row decoder 320 can be solved to from the address that external device (ED) (not shown) provides Code.Row decoder 320 can be selected based on decoding result and drive wordline WL1 to WLm.For example, row decoder 320 can will be from electricity The word line voltage that pressure generator 350 provides is supplied to wordline WL1 to WLm.
Column decoder 340 can be operated according to the control of control logic 360.Column decoder 340 can be mentioned to from external device (ED) The address of confession is decoded.Column decoder 340 can will correspond respectively to the page buffer of bit line BL1 to BLn based on decoding result The read/write circuits RW1 to RWn of device 330 couples with data input/output line (or data input/output buffer).
Voltage generator 350, which produces, will be used for the voltage of the inside operation of non-volatile memory device 300.Pass through electricity The voltage that pressure generator 350 generates can be applied to the memory cell of memory cell array 310.For example, in programming operation The program voltage of middle generation can be applied to the wordline of the memory cell of pending programming operation.For another example in erasing operation The erasing voltage of middle generation can be applied to the well area of the memory cell of pending erasing operation.For another example being grasped reading The reading voltage generated in work can be applied to the wordline of the memory cell of pending read operation.
Control logic 360 can control non-volatile memory device 300 based on the control signal provided from external device (ED) General operation.For example, control logic 360 can control read operation, write operation and the wiping of non-volatile memory device 300 Except operation.
It can will be applied to method according to an embodiment of the present disclosure to the description of above system.Therefore, it is omitted in method To description identical with the description of above system.
Although each embodiment is described above, it will be appreciated, however, by one skilled in the art that described embodiment It is merely illustrative.Therefore, storage system and its operating method described herein should not based on described embodiment and by Limitation.

Claims (19)

1. a kind of storage system, comprising:
Non-volatile memory device, including memory cell array and the page buffer for being connected to the memory cell array Device;And
Controller is connect with the non-volatile memory device interface,
Wherein the controller will be moved to speed buffering queue from command queue about the descriptor of speed buffering order, and The descriptor that selectively will be moved into the speed buffering queue is moved to response queue, wherein the speed buffering is ordered Order is transferred to the non-volatile memory device.
2. storage system according to claim 1, wherein the controller is based on being stored in the command queue The descriptor generates the speed buffering order, and speed buffering order generated is transferred to described non-volatile deposit Reservoir device.
3. storage system according to claim 2, wherein the non-volatile memory device is slow according to the high speed Punching order executes cache operations to the memory cell array and the page buffer, and will include the high speed The status information of the result of buffer operation is transferred to the controller.
4. storage system according to claim 3, wherein described when being provided from the non-volatile memory device When status information, the descriptor is moved to the speed buffering queue from the command queue by the controller.
5. storage system according to claim 1,
Wherein the speed buffering order includes for the first speed buffering program command of the first data and for the second data The second speed buffering program command, and
Wherein the non-volatile memory device is based on the first speed buffering program command execution for first data The first speed buffering programming operation being stored in the page buffer, and it is based on the second speed buffering program command The first data in the page buffer are programmed into the memory cell array and deposit second data by execution Store up the second speed buffering programming operation in the page buffer.
6. storage system according to claim 5,
Wherein first state information and the second status information are transferred to the controller by the non-volatile memory device, Described in first state information include the first speed buffering programming operation as a result, second status information includes described Second speed buffering programming operation as a result, and
Wherein when receiving the first state information and second status information from the non-volatile memory device, The the first speed buffering programming description for corresponding to the first speed buffering program command is accorded with and is corresponded to institute by the controller The the second speed buffering programming description symbol for stating the second speed buffering program command is moved to the high speed from the command queue and delays Rush queue.
7. storage system according to claim 6, wherein when second status information includes that second high speed is slow When rushing the failure information of programming operation, the controller accords with the first speed buffering programming description from the speed buffering team Column are moved to the response queue.
8. storage system according to claim 7, wherein controller deletion is stored in the command queue, described Descriptor in speed buffering queue and the response queue, and by the first speed buffering program command and described second Speed buffering program command is sequentially re-transmitted to the non-volatile memory device.
9. storage system according to claim 1,
Wherein the speed buffering order includes for the first speed buffering reading order of the first data and for the second data The second speed buffering reading order, and
Wherein the non-volatile memory device is based on the first speed buffering reading order execution from the memory list Element array reads first data and the first speed buffering that first data are stored in the page buffer is read Extract operation, and transmitted first data from the page buffer based on the second speed buffering reading order execution Second data are read to the controller, from the memory cell array and are stored in second data described The second speed buffering read operation in page buffer.
10. storage system according to claim 9,
Wherein first state information and the second status information are transferred to the controller by the non-volatile memory device, Described in first state information include the first speed buffering read operation as a result, second status information includes described Second speed buffering read operation as a result, and
Wherein when receiving the first state information and second status information from the non-volatile memory device, The first speed buffering for corresponding to the first speed buffering reading order is read descriptor and corresponds to institute by the controller The the second speed buffering reading descriptor for stating the second speed buffering reading order is moved to the high speed from the command queue and delays Rush queue.
11. storage system according to claim 10, wherein the controller executes wrong school to first data Code decoding is ECC decoding, and when the ECC decodes failure, will first speed buffering reading descriptor from described Speed buffering queue is moved to the response queue.
12. storage system according to claim 11, wherein controller deletion is stored in the command queue, institute State the descriptor in speed buffering queue and the response queue, and by be used for first data normal reading order and Normal reading order for second data is sequentially transmitted the non-volatile memory device.
13. a kind of method for operating storage system, which comprises
It will be used to be stored in command queue to the descriptor of the cache operations of non-volatile memory device by controller In;
The descriptor is based on by the controller and generates speed buffering order, and the speed buffering order is transferred to institute State non-volatile memory device;
The speed buffering order, which is based on, by the non-volatile memory device executes cache operations;
The status information of the result including the cache operations is transferred to institute by the non-volatile memory device State controller;And
When receiving the status information from the non-volatile memory device, by the controller by the descriptor Speed buffering queue is moved to from the command queue.
14. according to the method for claim 13,
Wherein the speed buffering order includes for the first speed buffering program command of the first data and for the second data The second speed buffering program command, and
Wherein executing the cache operations includes:
It is executed based on the first speed buffering program command and first data is stored in the nonvolatile memory dress The first speed buffering programming operation in the page buffer set;And
It is executed based on the second speed buffering program command and first data in the page buffer is programmed into institute It states the memory cell array of non-volatile memory device and second data is stored in the page buffer Second speed buffering programming operation.
15. according to the method for claim 14,
Wherein transmitting the status information includes: that first state information and the second status information are transferred to the controller, Described in first state information include the first speed buffering programming operation as a result, second status information includes described Second speed buffering programming operation as a result, and
Wherein move the descriptor include: when from the non-volatile memory device receive the first state information and When second status information, will correspond to the first speed buffering program command the first speed buffering programming description symbol and The second speed buffering programming description corresponding to the second speed buffering program command, which is accorded with from the command queue, is moved to institute State speed buffering queue.
16. according to the method for claim 15, further comprising:
When second status information includes the failure information of the second speed buffering programming operation, pass through the controller The first speed buffering programming description is accorded with from the speed buffering queue and is moved to response queue;And
Retouching in the command queue, the speed buffering queue and the response queue is stored in by controller deletion Symbol is stated, and the first speed buffering program command and the second speed buffering program command are sequentially re-transmitted to The non-volatile memory device.
17. according to the method for claim 13,
Wherein the speed buffering order includes for the first speed buffering reading order of the first data and for the second data The second speed buffering reading order, and
Wherein executing the cache operations includes:
The memory cell array from the non-volatile memory device is executed based on the first speed buffering reading order It reads first data and first data is stored in the page buffer of the non-volatile memory device The first speed buffering read operation;And
It is executed based on the second speed buffering reading order by the first data transmission in the page buffer to the control Device processed reads second data from the memory cell array and the second data of reading is stored in the page and delays Rush the second speed buffering read operation in device.
18. according to the method for claim 17,
Wherein transmitting the status information includes: that first state information and the second status information are transferred to the controller, Described in first state information include the first speed buffering read operation as a result, second status information includes described Second speed buffering read operation as a result, and
Wherein move the descriptor include: when from the non-volatile memory device receive the first state information and When second status information, by correspond to the first speed buffering reading order the first speed buffering read descriptor and The second speed buffering corresponding to the second speed buffering reading order reads descriptor and is moved to institute from the command queue State speed buffering queue.
19. according to the method for claim 18, further comprising:
ECC decoding is executed to from received first data of the non-volatile memory device by the controller;
It is determined by the controller to whether the ECC decoding of first data fails;
When the ECC to first data decodes failure, first speed buffering is read by the controller Descriptor is moved to response queue from the speed buffering queue;And
By the normal reading order for being used for first data and the normal readings of second data to be used for by the controller It is transferred to the non-volatile memory device with taking command sequences.
CN201811522794.2A 2017-12-14 2018-12-13 Memory system and operating method thereof Active CN110032524B (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20170172063 2017-12-14
KR10-2017-0172063 2017-12-14
KR1020180117381A KR102655350B1 (en) 2017-12-14 2018-10-02 Memory system and operating method thereof
KR10-2018-0117381 2018-10-02

Publications (2)

Publication Number Publication Date
CN110032524A true CN110032524A (en) 2019-07-19
CN110032524B CN110032524B (en) 2023-01-06

Family

ID=67056007

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811522794.2A Active CN110032524B (en) 2017-12-14 2018-12-13 Memory system and operating method thereof

Country Status (2)

Country Link
KR (1) KR102655350B1 (en)
CN (1) CN110032524B (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080013861A (en) * 2005-04-13 2008-02-13 소니 가부시끼 가이샤 Information processing device and information processing method
US20080320209A1 (en) * 2000-01-06 2008-12-25 Super Talent Electronics, Inc. High Performance and Endurance Non-volatile Memory Based Storage Systems
US20100082848A1 (en) * 2008-09-30 2010-04-01 Blocksome Michael A Increasing available fifo space to prevent messaging queue deadlocks in a dma environment
US20100100666A1 (en) * 2007-02-05 2010-04-22 Zeen Information Technologies Inc. System and method for controlling flash memory using descriptor array
CN103077129A (en) * 2012-12-31 2013-05-01 上海算芯微电子有限公司 Information processing method and device
US20130282967A1 (en) * 2011-09-30 2013-10-24 Raj K. Ramanujan Statistical wear leveling for non-volatile system memory
KR20160033497A (en) * 2014-09-18 2016-03-28 삼성전자주식회사 Host and computer system having the same
CN106527967A (en) * 2015-09-10 2017-03-22 蜂巢数据有限公司 Reducing read command latency in storage devices

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150116627A (en) * 2014-04-08 2015-10-16 에스케이하이닉스 주식회사 Controller and data storage device including the same
KR20160105625A (en) * 2015-02-27 2016-09-07 에스케이하이닉스 주식회사 Data storage device and operating method thereof
KR102565918B1 (en) * 2016-02-24 2023-08-11 에스케이하이닉스 주식회사 Data storage device and operating method thereof

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080320209A1 (en) * 2000-01-06 2008-12-25 Super Talent Electronics, Inc. High Performance and Endurance Non-volatile Memory Based Storage Systems
KR20080013861A (en) * 2005-04-13 2008-02-13 소니 가부시끼 가이샤 Information processing device and information processing method
US20100100666A1 (en) * 2007-02-05 2010-04-22 Zeen Information Technologies Inc. System and method for controlling flash memory using descriptor array
US20100082848A1 (en) * 2008-09-30 2010-04-01 Blocksome Michael A Increasing available fifo space to prevent messaging queue deadlocks in a dma environment
US20130282967A1 (en) * 2011-09-30 2013-10-24 Raj K. Ramanujan Statistical wear leveling for non-volatile system memory
CN103077129A (en) * 2012-12-31 2013-05-01 上海算芯微电子有限公司 Information processing method and device
KR20160033497A (en) * 2014-09-18 2016-03-28 삼성전자주식회사 Host and computer system having the same
CN106527967A (en) * 2015-09-10 2017-03-22 蜂巢数据有限公司 Reducing read command latency in storage devices

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
谭怀亮等: "基于RAID50的存储系统高速缓存设计", 《计算机工程》 *

Also Published As

Publication number Publication date
KR102655350B1 (en) 2024-04-09
CN110032524B (en) 2023-01-06
KR20190071573A (en) 2019-06-24

Similar Documents

Publication Publication Date Title
CN108062962A (en) Data storage device and its operating method
KR102526608B1 (en) Electronic device and operating method thereof
CN108694018A (en) Data storage device and its operating method
CN107122317A (en) Data storage device
CN108459978A (en) Data storage device including non-volatile memory device and its operating method
CN109992201A (en) Data storage device and its operating method
CN109800187A (en) It is configured as updating the storage equipment and its operating method of field programmable gate array
CN110413446A (en) Data storage device and its operating method
CN107066201B (en) Data storage device and method thereof
CN110047538A (en) Storage system and its operating method
CN109407966A (en) Data storage device and its operating method
CN110047553A (en) Data processing system and its operating method
CN109147854A (en) Data storage device and its operating method
US20210149796A1 (en) Data storage device and operating method thereof
US11074006B2 (en) Nonvolatile memory device, data storage device including the same and operating method thereof
CN108399929A (en) Data storage device and its operating method
CN110456981A (en) Storage system, the operating method of storage system and electronic device
US11609710B2 (en) Host, data storage device, data processing system and data processing method
CN110032524A (en) Storage system and its operating method
KR20190110732A (en) Nonvolatile memory device, operating method thereof and data storage apparatus including the same
CN109918227A (en) Storage system and its operating method and non-volatile memory device
CN107526694A (en) Data storage device and its operating method
CN107301872A (en) The operating method of semiconductor memory system
CN109840222A (en) Storage system and its operating method
CN109697137A (en) Data storage device and its operating method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant