CN109144907A - Realize the method quickly read and Media Interface Connector controller - Google Patents

Realize the method quickly read and Media Interface Connector controller Download PDF

Info

Publication number
CN109144907A
CN109144907A CN201710499881.XA CN201710499881A CN109144907A CN 109144907 A CN109144907 A CN 109144907A CN 201710499881 A CN201710499881 A CN 201710499881A CN 109144907 A CN109144907 A CN 109144907A
Authority
CN
China
Prior art keywords
logic unit
read
message
quickly
reading
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
CN201710499881.XA
Other languages
Chinese (zh)
Other versions
CN109144907B (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.)
BEIJING CORE TECHNOLOGY Co Ltd
Original Assignee
BEIJING CORE TECHNOLOGY Co Ltd
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 BEIJING CORE TECHNOLOGY Co Ltd filed Critical BEIJING CORE TECHNOLOGY Co Ltd
Priority to CN201710499881.XA priority Critical patent/CN109144907B/en
Publication of CN109144907A publication Critical patent/CN109144907A/en
Application granted granted Critical
Publication of CN109144907B publication Critical patent/CN109144907B/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
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

Present applicant proposes realize the method quickly read and Media Interface Connector controller.The method that the realization of the application is quickly read, comprising: obtain the first message of access logic unit;If logic unit is read in first message instruction, generates and send read command to logic unit;Obtain the second message of access same logical units;If logic unit is read in second message instruction, generates and send " quickly reading " order to logic unit;It receives logic unit and responds the reading data that the read command provides.

Description

Realize the method quickly read and Media Interface Connector controller
Technical field
This application involves storage control technical fields, and in particular to generates fast read command.
Background technique
In ONFI interface standard (in http://www.onfi.org/~/media/onfi/specs/onfi_4_0- Gold.pdf? la=en can get) in define " Read Cache " sequence of commands, including " Read Cache Sequential " and " Read Cache Random ".Similar " Sequential is defined in Toggle interface standard Cache Read " and " Random Cache Read " are ordered.
In this application, " Cache Read " sequence of commands, " Read Cache " sequence of commands etc. are referred to as " Cache Read (quickly reading) " order." Cache Read " order that storage control is issued to nand flash memory chip, indicates NAND core While piece reads a data page from page register, from flash cell in identical LUN (Logic UNit, logic unit) Another page data is read in array.
The nand flash memory chip of mainstream all supports the order of " Cache Read ".
Memory target (Target) is that the shared chip in flash chip encapsulation enables (CE, Chip Enable) signal One or more logic units (LUN).It may include one or more tube cores (Die) in nand flash memory chip encapsulation.Typically, Logic unit corresponds to single tube core.Logic unit may include multiple planes (Plane).Multiple planes in logic unit can With parallel access, and multiple logic units in nand flash memory chip can execute order and report state independently of one another.? In ONFI/Toggle interface standard, additionally provides and contain about target (target), logic unit, LUN, plane (Plane) Justice, and also provide the order of operation NVM chip.
NVM (nonvolatile storage, Non-Volatile Memory) has non-volatile spy for realizing store function Point.Fig. 1 is the block diagram of the solid storage device of the prior art, and solid storage device 102 is coupled with host, for mentioning for host For storage capacity.Host can be coupled in several ways between solid storage device 102, and coupled modes include but is not limited to For example, by SATA (Serial Advanced Technology Attachment, Serial Advanced Technology Attachment), SCSI (Small Computer System Interface, small computer system interface), SAS (Serial Attached SCSI, Serial Attached SCSI (SAS)), IDE (Integrated Drive Electronics, integrated drive electronics), USB (Universal Serial Bus, universal serial bus), PCIE (Peripheral Component Interconnect Express, PCIe, high speed peripheral component interconnection), NVMe (NVM Express, high speed non-volatile memory), Ethernet, optical fiber it is logical Road, cordless communication network etc. connect host and solid storage device 102.Host, which can be, to be set through the above way with storage The standby information processing equipment communicated, for example, personal computer, tablet computer, server, portable computer, network exchange Machine, router, cellular phone, personal digital assistant etc..Storing equipment 102 includes interface 103, control unit 104, one or more A NVM chip 105 and DRAM (Dynamic Random Access Memory, dynamic RAM) 110.
Nand flash memory, phase transition storage, FeRAM (Ferroelectric RAM, ferroelectric memory), MRAM (Magnetic Random Access Memory, magnetoresistive memory), RRAM (Resistive Random Access Memory, resistance-change memory Device) etc. be common NVM.
Interface 103 can be adapted to for example, by the side such as SATA, IDE, USB, PCIE, NVMe, SAS, Ethernet, optical-fibre channel Formula and host exchanging data.
The data that control unit 104 is used to control between interface 103, NVM chip 105 and firmware memory 110 pass It is defeated, it is also used to storage management, host logical address to flash memory physical address map, erasure balance, bad block management etc..Control unit 104 can be realized by the various ways of software, hardware, firmware or combinations thereof, for example, control unit 104 can be FPGA (Field-programmable gate array, field programmable gate array), ASIC (Application Specific Integrated Circuit, application specific integrated circuit) or a combination thereof form;Control unit 104 also may include place Device or controller are managed, software is executed in processor or controller and carrys out the hardware of manipulation and control component 104 to handle IO (Input/Output) it orders;Control unit 104 is also coupled to DRAM 110, and may have access to the data of DRAM 110;? DRAM can store the data of the I/O command of FTL table and/or caching.
It include such as host interface, front end processing block, flash memory management module in the control unit 104 of solid storage device And one or more Media Interface Connector controllers (or being flash interface controller, flash memory channel controller).Host interface is used In same host exchange command and data.Flash memory management module provides logical address and returns to physical address map, abrasion equilibrium, rubbish The functions such as receipts, and the message for generating access NVM chip is sent to Media Interface Connector controller.Media Interface Connector controller is coupled to NVM Chip 105.Media Interface Connector controller has one or more, and each interface controller is coupled to respective NVM chip 105.Medium Interface controller receives the message of access NVM chip, and according to the message of access NVM chip and to follow connecing for NVM chip 105 The mode of mouth agreement (for example, ONFI, Toggle interface standard) is issued to NVM chip 105 orders (such as read, programming, wipe, The order such as feature (feature) and/or setting feature is read in pause), to operate NVM chip 105, and receive from NVM chip The command execution results of 105 outputs.Media Interface Connector controller receives access NVM from such as queue, bus interface and/or memory The message of chip.
Media Interface Connector controller is usually coupled to multiple NVM chips, and NVM chip includes multiple LUN (logic unit) or pipe Core, multiple LUN and tube core can parallel response commands.
It provides in Chinese patent application CN201610009789.6 and CN201510253428.1 for Media Interface Connector The microcommand of controller executes method and apparatus, and Chinese patent application CN201610861793.5 provides microinstruction sequence Dispatching method and device, Chinese patent application 201710204980.0 provide the intensive control system of control and its method, will Its full text is incorporated herein.Optionally, Media Interface Connector controller may include one or more CPU, receives and locates by operation program The message of reason access NVM chip issues to NVM chip and orders and receive response.
Summary of the invention
The method and Media Interface Connector controller that the realization of the application is quickly read solve oneself of " Cache Read " order Dynamic generation problem.According to access LUN multiple message generated there are designated mode " Cache Read " order, with reduce from NVM chip reads the delay of data, improves the performance of solid storage device.
According to an embodiment of the present application, it can be improved the reading performance of solid-state hard disc product, and do not need upper layer software (applications) intervention, It fully automated can judge whether to " quickly reading ".
According to a first aspect of the present application, it provides and realizes the side quickly read according to the first of the application first aspect Method, comprising: obtain the first message of access logic unit;If logic unit is read in first message instruction, generate and to logic unit Send read command;Obtain the second message of access same logical units;If logic unit is read in second message instruction, generate and to patrolling It collects unit and sends " quickly reading " order;It receives logic unit and responds the reading data that the read command provides.
First according to a first aspect of the present application realizes the method quickly read, provides according to the application first aspect The second method quickly read, the message of access logic unit is obtained from message queue and/or memory.
The first or second according to a first aspect of the present application realizes the method quickly read, provides according to the application the The method that the third of one side is quickly read, read command are to meet the read command of ONFI standard or TOGGLE standard.
First according to a first aspect of the present application to third realizes one of the method quickly read, provides according to this Shen Please first aspect the 4th method quickly read, " quickly read " order be meet ONFI standard " quickly read " order or Person is to meet TOGGLE standard " quickly to read " order.
First to fourth according to a first aspect of the present application realizes one of the method quickly read, provides according to this Shen Please first aspect the 5th method quickly read, if the type of the first message of access logic unit indicates non-reading logic list Member generates the corresponding order of first message with access logic unit, and is sent to logic unit.
First to the 5th according to a first aspect of the present application realizes one of the method quickly read, provides according to this Shen Please first aspect the 6th method quickly read, if the type of the second message of access same logical units indicates non-reading logic Unit generates the corresponding order of second message with access logic unit, and is sent to logic unit.
First to the 6th according to a first aspect of the present application realizes one of the method quickly read, provides according to this Shen Please first aspect the 7th method quickly read, to logic unit send read command after, to logic unit output with read During the time for ordering corresponding data, the second message of access same logical units is obtained.
The 7th according to a first aspect of the present application realizes the method quickly read, provides according to the application first aspect The 8th realize the method that quickly reads, at the end of closing on during the time, obtain the second of access same logical units Message.
First to the 8th according to a first aspect of the present application realizes one of the method quickly read, provides according to this Shen Please first aspect the 9th realize the method that quickly reads, after the reading data for receiving the first message that logic unit provides, obtain Take the third message of access same logical units.
The 9th according to a first aspect of the present application realizes the method quickly read, provides according to the application first aspect The tenth realize the method that quickly reads, if logic unit is read in the type instruction of the third message of access logic unit, to patrolling It collects unit and sends " quickly reading " order, and the data corresponding to second message that reception is read from logic unit.
The tenth according to a first aspect of the present application realizes the method quickly read, provides according to the application first aspect The 11st realize the method that quickly reads, if the type of the message of access logic unit indicates non-reading logic unit, generate simultaneously The end order for corresponding to " quickly read " order is sent to logic unit, and receive is read from logic unit corresponding to second The data of message.
According to a second aspect of the present application, it provides and realizes the side quickly read according to the first of the application second aspect Method, comprising: operation first thread, to obtain the first message of access logic unit;If logic unit is read in first message instruction, raw Cheng Bingxiang logic unit sends read command, and the state of record first thread, makes first thread suspend mode;In response to accessing The second message of the logic unit restores the state of first thread, to access the second message of the logic unit from acquisition; If logic unit is read in second message instruction, generates and send " quickly reading " order to the logic unit;Receive the logic The reading data for the first message that unit provides.
First according to a second aspect of the present application realizes the method quickly read, provides according to the application second aspect Second realize the method that quickly reads, thread corresponds to one or more logic units.
The first or second according to a second aspect of the present application realizes the method quickly read, provides according to the application the The third of two aspects realizes the method quickly read, and in response to first thread suspend mode, scheduler selects other threads come by handling Device executes.
First according to a second aspect of the present application to third realizes one of the method quickly read, provides according to this Shen Please second aspect the 4th realize the method that quickly reads, the read command closes on processing when completing, scheduler schedules First Line Journey executes on a processor.
According to the third aspect of the application, provides and realize the side quickly read according to the first of the application third aspect Method obtains the message of access logic unit;If logic unit is read in message instruction, and is handling read command in the logic unit Or " quickly reading " order, it generates " quickly reading " and orders and be sent to the logic unit;And receive logic unit response The reading data that the read command provides.
The method quickly read is realized according to the first of the third aspect of the application, is provided according to the application third aspect Second realize the method that quickly reads, further includes: if logic unit is read in message instruction, and without in the logic unit The read command of processing or " quickly reading " order, generate and send read command to logic unit.
The method quickly read is realized according to the second of the third aspect of the application, is provided according to the application third aspect Third realize the method that quickly reads, record the read command handled in the logic unit or " quickly reading " order.
One of the method quickly read is realized according to the first of the third aspect of the application to third, is provided according to this Shen Please the third aspect the 4th realize the method that quickly reads, further includes: if message indicates non-reading logic unit, and the logic list " quickly reading " order is being handled in member, is generating and the end life for corresponding to " quickly reading " order is sent to logic unit It enables;It receives logic unit and responds the reading data that the fast read command provides;And generate disappearing with access logic unit Corresponding order is ceased, and is sent to logic unit.
One of the method quickly read is realized according to the first to fourth of the third aspect of the application, is provided according to this Shen Please the third aspect the 5th realize the method that quickly reads, sending read command or " quickly reading " order to logic unit Afterwards, it is identical to obtain access with during the time of read command or " quickly reading " corresponding data of order to logic unit output The message of logic unit.
The method quickly read is realized according to the 5th of the third aspect of the application the, is provided according to the application third aspect The 6th realize the method that quickly reads, at the end of closing on during the time, obtain the message of access same logical units.
One of the method quickly read is realized according to the first to the 6th of the third aspect of the application, is provided according to this Shen Please the third aspect the 7th realize the method that quickly reads, after sending read command to logic unit, obtain that access is identical to patrol again Collect the message of unit.
One of the method quickly read is realized according to the first to the 7th of the third aspect of the application, is provided according to this Shen Please the third aspect the 8th realize the method that quickly reads, if identifying, the type of the message of access logic unit indicates that non-readings is ordered It enables, and has the read command handled in the logic unit, then after the completion of read command is handled, receive the number that read command is read According to.
One of the method quickly read is realized according to the 6th to the 8th of the third aspect of the application the, is provided according to this Shen Please the third aspect the 9th realize that the method that quickly reads is patrolled in response to obtaining reading data from logic unit according to access The message for collecting unit generates corresponding order and is sent to logic unit.
The method quickly read is realized according to the 9th of the third aspect of the application the, is provided according to the application third aspect The tenth realize the method that quickly reads, after sending corresponding order to logic unit, obtain access the logic unit again Message.
One of the method quickly read is realized according to the first to the tenth of the third aspect of the application, is provided according to this Shen Please the third aspect the 11st realize the method that quickly reads, handle and complete in read command, or terminate order in response to issuing And corresponding " quickly read " command process is completed, also record in the logic unit currently without the read command handled or " quickly reading " order.
According to the fourth aspect of the application, the first medium interface controller according to the application fourth aspect is provided, is wrapped Include scheduler, processor, status register, Media Interface Connector, message queue and the device that can be scheduled scheduling and by processor operation One or more threads;Processor is respectively coupled to status register, Media Interface Connector and message queue;Message queue provides access The message of logic unit;The state of status register preservation thread;Wherein the processor active thread is executed according to this Shen Please first aspect, second aspect, the third aspect one of the method that quickly reads of realization.
According to the 5th of the application aspect, provide realized according to the first of the 5th aspect of the application quickly read be System, comprising: first obtains module, for obtaining the first message of access logic unit;First judgment module, if disappearing for first Logic unit is read in breath instruction, is generated and is sent read command to logic unit;Second obtains module, for obtaining access identity logic The second message of unit;Second judgment module, if reading logic unit for second message instruction, generating and being sent to logic unit " quickly reading " order;And receiving module, the reading data that the read command provides are responded for receiving logic unit.
According to the 6th of the application aspect, provide realized according to the first of the 6th aspect of the application quickly read be System, comprising: module is obtained, for obtaining the message of access logic unit;First judgment module, if reading logic for message instruction Unit, and read command or " quickly reading " order are being handled in the logic unit, it generates " quickly reading " and orders and send To the logic unit;And receiving module, the reading data that the read command provides are responded for receiving logic unit.
According to the 7th of the application aspect, provide a kind of program including program code, when be loaded into storage equipment and In storage equipment when executing, said program code makes the storage equipment execution according to the application first aspect, second aspect, the One of the method that the realization of three aspects is quickly read.
Detailed description of the invention
In order to illustrate the technical solutions in the embodiments of the present application or in the prior art more clearly, to embodiment or will show below There is attached drawing needed in technical description to be briefly described, it should be apparent that, the accompanying drawings in the following description is only this The some embodiments recorded in application can also be obtained according to these attached drawings other attached for those skilled in the art Figure.
Fig. 1 is the block diagram of the solid storage device of the prior art;
Fig. 2 is the flow chart that order " is quickly read " according to the generation of the embodiment of the present application;
Fig. 3 is the structural block diagram according to the Media Interface Connector controller of the embodiment of the present application;And
Fig. 4 is the flow chart that order " is quickly read " according to the generation of the another embodiment of the application.
Specific embodiment
With reference to the attached drawing in the embodiment of the present invention, technical solution in the embodiment of the present invention carries out clear, complete Ground description, it is clear that described embodiments are some of the embodiments of the present invention, instead of all the embodiments.Based on the present invention In embodiment, those skilled in the art's every other embodiment obtained without making creative work, all Belong to the scope of protection of the invention.
In this application, the continuous read command for accessing same logical units if it exists, by posterior read command by " quickly Read " order substitution.And before preceding read command executes completion (for example, before reading data), to identical logic unit Issue " quickly reading " order.
Further, for a plurality of continuous read command of access same logical units, in addition to most preceding read command, other Read command is all substituted by " quickly reading " order.Forward direction logic unit due to executing completion in read command issues " quickly reading " Order, so that read command is executed in parallel with " quickly reading " order in logic unit, to reduce reading data course Bulk delay.
Embodiment one
Fig. 2 is the flow chart that order " is quickly read " according to the generation of the embodiment of the present application.As shown in Fig. 2, solid-state storage The order of access storage equipment from host is converted to access by the control unit (referring also to Fig. 1, control unit 104) of equipment The message of logic unit (LUN).Control unit 104 or Media Interface Connector controller obtain the message (210) of access LUN.As act Example obtains the message of access LUN from message queue and/or memory.
The type of the message of control unit 104 or Media Interface Connector controller identification access LUN, if LUN (220) are read in instruction, It then generates and sends read command (230) to LUN.For example, read command is to meet the read command of ONFI or TOGGLE standard.Control unit Part or Media Interface Connector controller obtain the message (240) for accessing identical LUN again, and identify the type of the message of access LUN, if Still LUN (250) are read in instruction, then send " quickly reading " order (260) as to the access phase obtained in step 240 to LUN With the response of the message of LUN.For example, " quickly read " order be meet ONFI standard " Read Cache " sequence of commands it One, or one of " Cache Read " sequence of commands for meeting TOGGLE standard.
Next, control unit 104 or Media Interface Connector controller receive the reading data (270) that LUN is provided, the reading number According to being based on the read data of read command in step 230.
Optionally, in step 220, if the type for accessing the message of identical LUN indicates non-reading LUN (for example, being written to LUN Data wipe physical block etc. on LUN), the corresponding order of message with access LUN is generated, and be sent to LUN.
Still optionally, in step 250, if the type for accessing the message of identical LUN indicates non-reading LUN (for example, to LUN Data are written, physical block etc. is wiped on LUN), the corresponding order of message with access LUN is generated, and be sent to LUN.
Still optionally, in step 230, after sending read command to LUN, corresponding data are exported with read command to LUN, With during the specified time.It during at the appointed time, executes step 240 and arrives step 260, to generate and be sent to LUN " quickly reading " order.Preferably, at the appointed time during close at the end of, execute step 240 arrive step 260, with promoted Recognize the probability of the continuous message for reading LUN type.For example, during a specified time then before 5us or so, execute step 240 arrive step 260.
Still optionally, after step 270, the message for accessing identical LUN is obtained again.If identifying disappearing for access LUN The type of breath still indicates to read LUN, then sends " quickly reading " to LUN again and order, and receive the data read from LUN.This When the reading data of " quickly read " order that step 260 is sent are corresponded to from the data that LUN is read.And in step 270 Afterwards, the message of access LUN is obtained, the type of the message of access LUN indicates non-reading LUN if identifying, is so far no longer complies with generation The condition of " quickly reading " order.Correspondingly, " end " order for corresponding to " quickly reading " order is generated and sends to LUN, And receive the data read from LUN." quickly reading " life that step 260 is sent is corresponded to from the data that LUN is read at this time The reading data of order.
Fig. 3 is the structural block diagram according to the Media Interface Connector controller of the embodiment of the present application.As shown in figure 3, Media Interface Connector control Device processed includes scheduler 330, processor 340, status register 350, Media Interface Connector 360, message queue 370 and can be scheduled The scheduling of device 330 and the one or more threads run by processor 340 (for example, thread 300, thread 310 and thread 320).
Message queue 370 provides the message of access LUN.When thread is run by processor 340, obtained from message queue 370 The message of LUN is accessed, and operates the order that Media Interface Connector 360 generates operation LUN.The operating status of thread and/or operation LUN's The execution state of order is recorded in status register 350.Thus when waiting LUN to execute order, in status register 350 The state of thread is saved, scheduler 330 is dispatched other threads and executed on processor 340.Processor 340 is executable to constitute thread Instruction and/or microcommand.
Thread corresponds to specified one or more LUN.For example, the message of access LUN 0 is all handled by thread 300, and The message of access LUN 1 and/or LUN 2 is all handled by thread 310.
According to an embodiment of the present application, by taking thread 300 as an example, 340 active thread 300 of processor is obtained from message queue 370 Take access LUN 0 message (referring also to Fig. 2, step 210) identifies that LUN (220) are read in the message instruction of access LUN 0, to LUN 0 issues read command (being denoted as R0) (referring also to Fig. 2, step 230).Next, by (including the read command of the state of thread 300 The state of R0) it is recorded in status register 350, scheduler 330 selects other threads to be executed by processor 340, such as thread 310 and thread 320.
Over time, such as expect that thread 300 will handle completion, scheduler to the read command R0 that LUN 0 is issued 330 scheduling threads 300 execute on processor 340.The state recorded in 300 use state register 350 of thread, and again from The message (240) of access LUN 0 is obtained in message queue 370, and identifies that the new information of access LUN 0 still indicates to read LUN (250), thread 300 is based on having read command R0 handling on LUN 0, and occurs disappearing for the access LUN 0 of instruction reading LUN 0 again Breath correspondingly generates " quickly reading " according to the new information of access LUN 0 and orders and be sent to LUN 0 (260), and receive Reading data (270) from LUN 0, the reading data correspond to the read command R0 of step 230.
Embodiment two
Fig. 4 is the flow chart that order " is quickly read " according to the generation of the another embodiment of the application.As shown in figure 4, medium Interface controller obtains the message (400) of access LUN, and identification accesses the type (410) of the message of LUN, if LUN is read in instruction, Whether further identify has the read command handled or " quickly reading " order (420) on LUN to be read.For example, logical Crossing access status register 350 or status indication has the read command handled or " fast fast reading to identify on LUN to be read Take " order.
If having the read command handled or " quickly reading " order, in response, Media Interface Connector on LUN to be read Read command that controller is being handled on LUN or " quickly reading " order have been processed into preceding, and the message according to access LUN is raw It is ordered at " quickly reading " and is sent to LUN (430).Correspond on the LUN that step 420 is identified just next, being received from LUN In the data (440) of the access result of the read command or " quickly reading " order of processing.And return step 400 obtains further Access the message of LUN.
Optionally, after generating " quickly reading " order and being sent to LUN, the shape of backup current thread (for example, thread 300) State, scheduler 330 (referring also to Fig. 3) select other threads (for example, thread 310 or thread 320) to execute on processor 340. After being received from LUN and reading data, the also state of backup current thread (for example, thread 300), and select other threads (for example, Thread 310 or thread 320) it is executed on processor 340.
In step 420, if identifying does not have the read command handled or " quickly reading " order on LUN to be read, Then according to the message of the access LUN of acquisition, read command (450) are sent to LUN.And return step 400 obtains further access The message of LUN.Optionally, after sending read command to LUN, the processing status of current read command is backed up (for example, making current thread Suspend mode), and handle other message or other threads is selected to execute on processor 340.
In step 410, if identifying, the type of the message of access LUN indicates non-read command, and further identification will be interviewed Whether the read command that is handling or " quickly read " order (460) are had on the LUN asked.If having on LUN to be accessed " quickly reading " order of processing, sending to LUN terminates order (470), and receives the data that " quickly reading " order is read (480).If there is the read command handled on LUN to be accessed, after the completion of read command processing, receives read command and read Data (480).Optionally, before receiving and reading data, the also state of backup current thread, and other threads is selected to handle It is executed on device 340.And the data being read can be provided in response to LUN, and restore backed up state, and continue to read command The data of reading.In response to obtaining reading data from LUN, corresponding order is generated according to the message of access LUN and is sent to LUN(490).Then return step 400 obtains the message of further access LUN.
After sending read command or " quickly read " order to LUN, also record have on the LUN read command handled or " quickly reading " order.It handles and completes in read command, or terminate order and corresponding " quickly reading " order in response to issuing Processing is completed, and is also recorded on the LUN currently without the read command handled or " quickly reading " order.
Although the preferred embodiment of the application has been described, but those skilled in the art once know basic creativeness generally It reads, then additional changes and modifications may be made to these embodiments.So it includes preferred real that the following claims are intended to be interpreted as It applies example and falls into all change and modification of the application range.Obviously, those skilled in the art can carry out the application each Kind modification and variation is without departing from spirit and scope.In this way, if these modifications and variations of the application belong to this Within the scope of applying for claim and its equivalent technologies, then the application is also intended to include these modifications and variations.

Claims (10)

1. a kind of realize the method quickly read characterized by comprising
Obtain the first message of access logic unit;
If logic unit is read in first message instruction, generates and send read command to logic unit;
Obtain the second message of access same logical units;
If logic unit is read in second message instruction, generates and send " quickly reading " order to logic unit;
It receives logic unit and responds the reading data that the read command provides.
2. realizing the method quickly read as described in claim 1, which is characterized in that sending read command to logic unit Afterwards, it is exported with read command during the time of corresponding data to logic unit, obtain access same logical units second disappears Breath.
3. realizing the method quickly read as claimed in claim 1 or 2, which is characterized in that close on knot during the time Shu Shi obtains the second message of access same logical units.
4. as described in any one of claims 1 to 3 realize the method quickly read, which is characterized in that if access logic unit The type of message indicate non-reading logic unit, generate the end life for simultaneously sending to logic unit and corresponding to " quickly reading " order It enables, and receives the data corresponding to second message read from logic unit.
5. a kind of realize the method quickly read characterized by comprising
First thread is run, to obtain the first message of access logic unit;
If logic unit is read in first message instruction, generates and send read command, and the shape of record first thread to logic unit State makes first thread suspend mode;
In response to occurring accessing the second message of the logic unit, restore the state of first thread, from described in acquisition access The second message of logic unit;
If logic unit is read in second message instruction, generates and send " quickly reading " order to the logic unit;
Receive the reading data for the first message that the logic unit provides.
6. a kind of realize the method quickly read characterized by comprising
Obtain the message of access logic unit;
If logic unit is read in message instruction, and is handling read command or " quickly reading " order in the logic unit, generate " quickly reading " orders and is sent to the logic unit;And
It receives logic unit and responds the reading data that the read command provides.
7. realizing the method quickly read as claimed in claim 6, which is characterized in that further include:
If message indicates non-reading logic unit, and is handling " quickly reading " order in the logic unit, generate and to patrolling It collects unit and sends and correspond to the end order that " quickly reading " orders;
It receives logic unit and responds the reading data that the fast read command provides;And
The corresponding order of message with access logic unit is generated, and is sent to logic unit.
8. the method that realization as claimed in claims 6 or 7 is quickly read, which is characterized in that if identifying access logic unit The type of message indicate non-read command, and have the read command handled in the logic unit, then handled in read command Cheng Hou receives the data that read command is read.
9. a kind of Media Interface Connector controller, which is characterized in that including scheduler, processor, status register, Media Interface Connector, disappear One or more threads that breath queue and the device that can be scheduled are dispatched and run by processor;Processor is respectively coupled to Status register Device, Media Interface Connector and message queue;Message queue provides the message of access logic unit;The shape of status register preservation thread State;Wherein the processor active thread executes method described in one of -8 according to claim 1.
10. a kind of realize the system quickly read characterized by comprising
First obtains module, for obtaining the first message of access logic unit;
First judgment module, if reading logic unit for first message instruction, generating and sending read command to logic unit;
Second obtains module, for obtaining the second message of access same logical units;
Second judgment module generates if reading logic unit for second message instruction and sends " quickly reading " to logic unit Order;And
Receiving module responds the reading data that the read command provides for receiving logic unit.
CN201710499881.XA 2017-06-27 2017-06-27 Method for realizing quick reading and medium interface controller Active CN109144907B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710499881.XA CN109144907B (en) 2017-06-27 2017-06-27 Method for realizing quick reading and medium interface controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710499881.XA CN109144907B (en) 2017-06-27 2017-06-27 Method for realizing quick reading and medium interface controller

Publications (2)

Publication Number Publication Date
CN109144907A true CN109144907A (en) 2019-01-04
CN109144907B CN109144907B (en) 2021-08-10

Family

ID=64805159

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710499881.XA Active CN109144907B (en) 2017-06-27 2017-06-27 Method for realizing quick reading and medium interface controller

Country Status (1)

Country Link
CN (1) CN109144907B (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101055511A (en) * 2007-05-16 2007-10-17 华为技术有限公司 Memory array system and its data operation method
US20100106903A1 (en) * 2006-10-11 2010-04-29 Akira Fujibayashi Storage apparatus and control method thereof
CN102122271A (en) * 2011-03-01 2011-07-13 株洲南车时代电气股份有限公司 NAND flash memory controller and control method thereof
CN102591783A (en) * 2010-11-03 2012-07-18 辉达公司 Programmable memory controller
CN104485130A (en) * 2014-12-19 2015-04-01 上海新储集成电路有限公司 Solid state disk structure
CN106326138A (en) * 2015-07-03 2017-01-11 比亚迪股份有限公司 Flash memory and access control method for data in flash memory

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100106903A1 (en) * 2006-10-11 2010-04-29 Akira Fujibayashi Storage apparatus and control method thereof
CN101055511A (en) * 2007-05-16 2007-10-17 华为技术有限公司 Memory array system and its data operation method
CN102591783A (en) * 2010-11-03 2012-07-18 辉达公司 Programmable memory controller
CN102122271A (en) * 2011-03-01 2011-07-13 株洲南车时代电气股份有限公司 NAND flash memory controller and control method thereof
CN104485130A (en) * 2014-12-19 2015-04-01 上海新储集成电路有限公司 Solid state disk structure
CN106326138A (en) * 2015-07-03 2017-01-11 比亚迪股份有限公司 Flash memory and access control method for data in flash memory

Also Published As

Publication number Publication date
CN109144907B (en) 2021-08-10

Similar Documents

Publication Publication Date Title
CN103970688B (en) Shorten the method and system that the stand-by period is write in data-storage system
CN102841872B (en) High-performance path for command process
CN108292196B (en) Data writing method, device and computer readable storage medium
TWI543070B (en) Command queuing
CN110032333B (en) Memory system and method of operating the same
US20140149607A1 (en) Storage device, computing system including the same and data transferring method thereof
CN108153482A (en) I/O command processing method and Media Interface Connector controller
US10346052B2 (en) Memory system with priority processing and operating method thereof
CN108572932B (en) Multi-plane NVM command fusion method and device
CN106489132A (en) The method of read-write data, device, storage device and computer system
US20190354483A1 (en) Controller and memory system including the same
KR20170110810A (en) Data processing system and operating method thereof
CN108008917A (en) Storage device and the method for controlling its linking status
CN111356991B (en) Logical block addressing range conflict crawler
CN108153582B (en) IO command processing method and medium interface controller
CN113196225A (en) Open channel vector command execution
CN109426442A (en) Data storage device and its operating method
CN108628759B (en) Method and apparatus for out-of-order execution of NVM commands
CN108877862B (en) Data organization of page stripes and method and device for writing data into page stripes
CN108241468B (en) IO command processing method and solid-state storage device
CN114253461A (en) Mixed channel memory device
CN114253462A (en) Method for providing mixed channel memory device
US9971522B2 (en) Memory system and method
CN108984108A (en) For dispatching the method and solid storage device of I/O command
CN108241585B (en) High-capacity NVM interface controller

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