CN101685382B - The disk using first and second storage device accelerates - Google Patents

The disk using first and second storage device accelerates Download PDF

Info

Publication number
CN101685382B
CN101685382B CN200910206622.9A CN200910206622A CN101685382B CN 101685382 B CN101685382 B CN 101685382B CN 200910206622 A CN200910206622 A CN 200910206622A CN 101685382 B CN101685382 B CN 101685382B
Authority
CN
China
Prior art keywords
data
address
hard disk
flash memory
disk drive
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.)
Active
Application number
CN200910206622.9A
Other languages
Chinese (zh)
Other versions
CN101685382A (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.)
SanDisk Technologies LLC
Original Assignee
SanDisk Technologies LLC
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
Priority claimed from US10/772,789 external-priority patent/US7127549B2/en
Application filed by SanDisk Technologies LLC filed Critical SanDisk Technologies LLC
Publication of CN101685382A publication Critical patent/CN101685382A/en
Application granted granted Critical
Publication of CN101685382B publication Critical patent/CN101685382B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

The present invention relates to use the disk of first and second storage device to accelerate.The present invention provides a kind of data storage device.One disk set and a non-volatile memory device combine and write access time and writing speed shorter write access time and higher writing speed to provide compared with one achieved by independent disk set.The staggered burst of section write between two storage devices can effectively eliminate the impact of the search time on described disk set.Foundation one is from the non-adjacent logical address transition of a host computer system, and described storage control can implement a first line search operation on described disk set, simultaneously by current data write to described non-volatile memory device.This system can utilize the no write de-lay access features that a non-volatile memory device is intrinsic, eliminates the dead time generally caused by disk search time.

Description

The disk using first and second storage device accelerates
Present patent application is a divisional application, the filing date of primary bright patent application case on January 5th, 2005, Application No. 200580008163.3, and invention entitled " disk using the first and second storage devices accelerates "
Technical field
Present invention relates generally to data storage device, and more particularly to dual media storage.
Background technology
General purpose computer needs a mass storage system (MSS).Being different from the main storage for directly mediating data, magnanimity is deposited Reservoir is used to preserve data.Generally, a program be stored in massage storage and, when performing described program, by described whole The part of individual program or described program is copied in main storage.One system described program and related data thereof can be positioned and It is integral with the bulk velocity of described system from the speed of high-capacity storage transmission to main storage.
Common high-capacity storage includes: floppy disk, hard disk, CD and tape.Every kind of device is all in capacity, price, speed Degree and convenience aspect respectively have its strong point and weakness.
Additionally, other device of such as flash memory can provide non-volatile memories.Flash memory is a kind of electricity EPROM (EEPROM).Although flash memory is generally fast unlike volatile main memory, but its Faster than hard disk.
The present inventor had the most studied and multiple isolated systems had been integrated into a mass storage system (MSS) to maximize each dress The strong point put and the concept of the weakness minimizing each device.Such as, the present inventor is also disclosed in December in 1997 31 days The inventor of WO97/50035 PCT application case " storage arrangement ", this case is incorporated herein by reference.Described PCT Application case is explained a kind of high-capacity storage (a such as hard disk) both having included a relatively slow access and is also included a relatively fast access The accumulator system of data storage device (a such as flash memory).One is similar to concept had been disclosed in January 18 in 2000 already No. 6,016,530 that day gives Daniel Auclair and Eliyahou Harari " had both had solid-state and had also had spinning disk The computer mass storage system (MSS) of type memorizer " United States Patent (USP) in, described in be incorporated by reference herein in its entirety this Wen Zhong.
By by combined with a non-volatile hard disk for a non-volatile flash memory device, one synthesizes mass memory system The total capacity of system can be more than the capacity sum of its whole parts.But, in the past, this accumulator system is restricted to protect all the time Hold the situation of unique version of each data segments.Described data segments may be alternatively stored in one in being i.e. storable in high-speed memory In slow-access mass data storage device, logical address space is thus made to be equal to high-speed memory and the storage of slow-access mass data The sum of the capacity of device.
Now, there is the multiple the most successful non-volatile memory products just used, it generally uses One is formed at the array of flash cells on one or more IC chips.One is usually located at an independent ic core Memory Controller (but nonessential) on sheet controls the running of described memory array.This controller generally includes: one is micro- Processor, a certain non-volatile read only memory (ROM), a volatile random access memory (RAM) and one or one with Upper special circuit, such as, one calculates described data when data pass described controller during sequencing and reading running In the circuit of bug patch code (ECC).
The memory cell of one typical flash array can be divided into multiple discrete memories cellular zone that can wipe together Block.That is, described erasing block is described erasing unit--one can be simultaneously erased the memory cell of minimum number.Each wiping Except block is commonly stored one or more data pages, can in different subarrays or plane multiple programming or read described Page.Each plane is commonly stored one or more data segments, and the size of described section is to be determined by host computer system.Press The standard set up according to a disc driver, an exemplary section includes the user data of 512 bytes.These memorizeies lead to There are in being often configured to each erasing block 16,32 or more pages, and every one page stores one or several master data section.
For improving degree of parallelism, described array typically can be divided into the subarray of so-called plane.Each plane Data register and other circuit of permission functioning in parallel including their own, in order to described data segments can be simultaneously programmed to In all planes or read from all planes.Array on one single integrated circuit can be physically divided into multiple plane, or often One plane can be formed by individually one or more IC chips.The example of this memorizer constructing plan is illustrated in Give the 5th, 798, No. 968 United States Patent (USP) " plane decoding/virtual sector architecture " of Lee et al., and 1999 on August 25th, 1998 Is given No. 5,890,192 United States Patent (USP) of Lee et al. on March 30, and " multiple data blocks is written in parallel to quick flashing EEPROM Multiple subarrays " in, the full text of said two patent is incorporated herein by reference.
For the most effectively managing memorizer, erasing block can be connected together to form virtual block or unit's block.That is, Could dictate that every metablock includes one from the erasing block of each plane.The use of described unit block is illustrated in July, 2002 WO02/058074 PCT Patent Application case disclosed in 25 days " in a nonvolatile memory Partial Block Data programming and Read running " in, described in be incorporated by reference herein in its entirety herein.Described unit block is by a host logic block Address Recognition is a programming and the destination reading data.Equally, whole erasing blocks of metablock can be wiped together.One A large amount of function need to be performed, including being received from by the controller of these big blocks and/or unit's block running in accumulator system Conversion between physical block numbers (PBNs) in the logical block addresses (LBAs) of one main frame and memory cell array.Described Indivedual pages in block identify typically by the biasing in described block address.
The flash memory system of this type is generally used as high-capacity storage in portable applications.Described flash Device device uses the agreement of a such as ATA to carry out communication via a logic interfacing and a host computer system, and usually may move in one The form of card.The card that some market is sold is: CompactFlashTM(CF) card, multimedia card (MMC), secure digital (SD) card, Smart media card, personal information card (P-Tag) and memory card.Main frame includes personal computer, notebook, individual number Word assistant (PDAs), various data communication system and the equipment of similar type.Besides the memory card implementation, this type Memorizer can be alternatively embedded in various types of host computer system.
So far, people are still being continually striving to improvement high-capacity storage.
Summary of the invention
The present invention provides a kind of data-storage system, and it generally includes: one first storage device, one second storage device and One storage control.It is higher to described first storage device slow average access time and one that described second storage device has one Capacity.Average access time is that described device can start average retardation required before reading or writing data.
In an embodiment, described storage control can operate to be guided by the Part I of data to described first storage Device and the Part II of data being guided to the most described second storage device.In another embodiment, storage control can operate With the Part I from described first storage device retrieval data and the Part II from described second storage device retrieval data.
Generally, the Part I of data in the Part I of described data is a continuous data stream.Equally, described data Part II is the remaining data from described data stream.Generally use one table comprises the Part I about described data The information of the position of the Part II of position and described data.
In another embodiment, first pass through from a host system bus receive a write instruction write data into one number Described data are stored according to address.Then, the Part I of described data is stored in described first storage device.Described Before the Part I of data is completely stored in described first device, described second storage device had carried out write data already Prepare.After the second storage device is ready, the remainder of described data is stored into described second storage device In.
In another embodiment, first receive a reading instruction from described host system bus.Then, described data storage System determines whether the Part I of described data resides on described first storage device.If described data reside in really On described first storage device, then: read the Part I of described data from described first storage device;Described completing reading Before the Part I of data, described second storage device carries out the preparation of the remainder reading described data;And from second Storage device reads the remainder of described data.Otherwise, deposit if a part for described data does not reside in described first On storage device, then read Part I and both remainders of described data of described data from described second storage device.
Following detailed description is read by combining the accompanying drawing of the graphic extension principle of the invention by way of example, the present invention's Other side and advantage will be apparent to.
Accompanying drawing explanation
The present invention can be best understood by conjunction with accompanying drawing with reference to following description, graphic in:
Figure 1A describes an exemplary general-purpose computer system that can use the present invention;
Figure 1B describes the abstract schematic of the general-purpose computing system of a Figure 1A;
Fig. 2 A describes the improved mass storage device according to the present invention one example embodiments;
Fig. 2 B describes the improved mass storage device according to another example embodiments of the present invention;
Fig. 3 A describes the head data in a hard disk drive address space and a flash address space and body data Abstract schematic;
Fig. 3 B describes a hard disk drive address space and a flash address space and whole improved mass storage device The abstract schematic of address space relation;
Fig. 4 A is a sequential chart, and its description is occurred when the system of a does not use disk receives a write instruction Tradition write processes.
Fig. 4 B is a sequential chart, and its system described according to the present invention one example embodiments is accelerated when a use disk connects The write occurred when receiving a write instruction processes;
Fig. 5 A describes graphic extension chart of system performance benefits when flash capacity increases;
Fig. 5 B describes graphic extension system performance benefits when the utilization rate of described improved mass storage device reduces Chart;
Fig. 6 describes the imitation schematic diagram of a buffer circle;
Fig. 7 is one according to the flow chart of the exemplary Writing Technology of the present invention one example embodiments;
Fig. 8 is one according to the flow chart of the exemplary reading technology of an example embodiments of the present invention;And
Fig. 9 is the schematic diagram of a map of sector storage locations in Fig. 6 buffer circle.
It will be appreciated that in the drawings, identical Ref. No. represents identical structural member.Also, it is to be understood that this Description in the most graphic is not necessarily to scale chi.
Detailed description of the invention
In described below, list a large amount of detail and enable one to thoroughly understand the present invention.Certainly, affiliated neck The technical staff in territory it should be apparent that: some or all details without these details also can implement the present invention.In other example In, for avoiding the present invention is produced unnecessary obscuring, repeat no more well-known process steps herein.
Generally, the present invention is respectively to have the individually storage devices of its strong point and weakness by combination two to improve previous High-capacity storage (also commonly referred to as additional storage).Such as, although quick flashing has access faster than a hard disk drive Time, but it does not the most possess the memory capacity of hard disk drive.As will be appreciate by those skilled in the art, any Two Nonvolatile memory devices all can be used in the present invention, as long as one of them has when accessing faster than another Between.Being applied to store access time of device is typically to be defined as a storage device and receives a request of data and described storage device Actual beginning is read and/or writes the time between described data.Such as, for being positioned at the data on a hard disk or floppy disk and Saying, the access time is generally equivalent to the summation of command overhead time, search time, stabilization time and waiting time.
Search time and waiting time determine the overall access time of a disk.The search time of one disk is a read/write Magnetic head moves, from a magnetic track, the time spent to another magnetic track.For a hard disk, search to an adjacent track logical Often needing 1mSec, one omnidistance searching (one from the search of inner track to outer track, or vice versa as the same) needs 15mSec, and at random The average time searched is 10mSec.Waiting time refers to be positioned on an address track one on rear described disc at magnetic head Addressing section turns to the time of magnetic head, and is the function of disk rotary speed.For the rotary speed of a 7200rpm, averagely Waiting time is 4.14mSec, and maximum latency is 8.3 mSec.
On the contrary, in a typical flash disk device, a data segments can be transferred to institute with the speed of about 30 μ S State device, and with 200 μ S, eight sections can be parallel programming in described flash memory.This can provide the clump of an about 16MB/s Sending out writing speed, eight sections can be written to device by the most every 250 μ S.But, the most also must perform some due to described device Housekeeping operations, such as refuse collection, relocate data segments complete a data block and block erasing;Therefore, programming eight The effective time of section is the most considerably long.Thus, the maintenance writing rate of a quick flashing is about 15MB/Sec.Certainly, it is possible in Other sector transfer and parallel programming schemes is used, to provide a different running speed in one flash disk device.
Figure 1A describes an exemplary general-purpose computer system 100 that can use the present invention.The assembly of described system includes: One computer 105, such as various input equipment and such as monitor 120 and a printer such as a mouse 110 and keyboard 115 The various output devices such as 125.
The abstract view of computer system 100 shown in Figure 1B mono-depiction 1, the basic module of only trace system in figure.One Single component 130 represents the input equipment allowing a user to make, such as one mouse and keyboard with computer system 100 friendship.With Sample, a single component 135 represents can show the output device of the completed task of computer system 100, such as one monitor and Printer.The core of computer system 100 is a CPU (CPU) 140 and the assembly performing instruction.Main storage 145 both data that generally volatibility and the instruction performed to CPU140 offer confession and the described instruction of confession are mediated.These assemblies 130,135,140 and 145 is the most well-known.
One improved mass storage device 150 allows computer system 100 persistence mass data.Assembly 130,135, 140,145 and 150 information can be exchanged with each other via a host bus 155.
Fig. 2 A description one improved mass storage device 150A according to an embodiment of the invention.Two of which storage dress Putting, i.e. one flash memory system 205 and a hard disk drive 210 are parallel join.Described flash memory system 205 includes One flash memory array 215 and a Flash controller 220.Hard disk drive 210 includes that a hard disc 225 and a disk control Device 230.The operations specific of each responsible respective type memorizer of each controller 220 and 230.Such as, Flash controller 220 controls The logic of all data segments-extremely-physical image and the management of all flash memories, so that Flash controller 220 and quick flashing Interface 250 between memory array 215 is a physical interface.Magnetic Disk Controler 230 manages reading and the write work of hard disc 225 Industry.Both controllers 220 and 230 are connected to router 235 via a logic interfacing 260 and 265.
One HPI 240 and a storage control 245 are positioned the upstream of router 235 in pairs, with allow data and Pass through in control information either direction between HPI 240 and Magnetic Disk Controler 230 or Flash controller 220.Additionally, The data transfer that router 235 can be controlled between Magnetic Disk Controler 230 and Flash controller 220 in either direction.These Transfer can be implemented as an independently working.Another option is that, these transfers can be in conjunction with HPI 240 and mass storage control (MSC) Data transfer in either direction between 220 and 230 is implemented.Router 235 can contain receive for data transfer control patrol Volume.
HPI 240 provides a direct interface to host bus 155, and can give the spy used on host bus 155 Determine agreement and all supports are provided.The described subsystem being made up of HPI 240, Magnetic Disk Controler 230 and hard disc 225 and by The subsystem that HPI 240, Flash controller 220 and flash memory array 215 are constituted respectively constitutes complete data storage System.Router 235 can make data and control signal by and without the amendment of HPI 240, maybe can set up one for The alternative of controller 220 and 230 communication.Interface 260 between router 235 and mass storage control (MSC) 220 or 230 and But 265 1 standard agreements, such as ATA, or a regulation is used for the particular interface of improved mass storage device 150.Connect Mouth 260 and 265 is typically to provide the random write to data segments independent in flash memory system 205 and hard disk drive 210 Take and write the logic interfacing of access, and do not depend upon the physical features each storing media.
Additionally, Flash controller 220 also can special instruction on supporting interface 260 or operation, in order to be directly accessed quick flashing The reservation region of memory array 215, described region can be used to store the table for storage control 245A and information record. Another option is that, storage control 245A can have the nonvolatile memory of oneself for storing these tables and record.
Storage control 245A is one can to command information between HPI 240 and mass storage control (MSC) 220 and 230 The intelligent control unit of transfer.Storage control 245A tunable to or from flash memory system 205 or hard disk drive The storage of data or the reading of data in 210.Storage control 245A can be for be stored in the letter in flash memory array 215 Breath maintains address list.
Volatile memory can take on a relief area or the most slow in the assembly of many improved mass storage device 150 Rushing memorizer, described assembly includes HPI 240, router 235, Flash controller 220 and Magnetic Disk Controler 230.Or can The single volatile memory that is ranked operates in different assembly, maybe single volatile memory can be exclusively used in each group Part.
In another embodiment, the function of controller 220 and 230 can be incorporated in an integrated form together with router 235 Control in device.This device may also comprise storage control 245 and HPI 240.But, this configuration needs to produce new Controller unit.Correspondingly, any one in controller 220 and 230 or both of which will not be included in storage arrangement again. Although this configuration will need to develop new control circuit, but this also can reduce the total quantity of required component.
Fig. 2 B description one improved mass storage device 150B according to another embodiment of the present invention.Described modified model stores Device 150B retains hard disk drive 210 assembly identical with in improved mass storage device 150A in Fig. 2 A, but it uses One comprises the storage control of the major function of storage control 245A in router 235 and the function of HPI 240 and Fig. 2 A Device 245B processed.Logic interfacing 260 is removed and by physical interface 275 institute being connected directly to a flash memory array 215B Substitute.In this configuration, the front end that a disk accelerator 250 preferably is positioned on the ata interface of hard disk drive 210 is at a high speed Buffer storage or be integrated in hard disk drive 210 molectron for utilizing the existing assembly of hard disk drive 210.Real in this Execute in example, it is no longer necessary to the function of Flash controller 220 and flash memory array 215B the most do not reconstruct a logical data and deposit The part of storage device, but it can be directly used as a physical storage.This configuration is particularly suitable for storing data stream temporarily.
No matter using which kind of specific configuration, disk accelerates typically each can be by just experiencing wait at one second storage device One " magnetic head " data are written to one first storage device simultaneously and/or read described " magnetic head " data from described first storage device Realize.In embodiment shown in Fig. 2 A and Fig. 2 B, the waiting time that flash memory array 215 is experienced is significantly less than Hard disc 225.One initial part (" head data ") of data stream is write the flash memory to flash memory system 205 Array 215, and the W head of non-camp hard disc 225 properly positions.Once hard disc 225 is ready for receiving data, will Remainder (" body data ") writes the hard disc 225 to hard disk drive 210.Meanwhile, described head data and main body number According to forming a single data fragment.One data slot may be defined as one can result in described second storage device experience one non-typically The aggregate of data of access time.If a hard disc 225, then a data slot can be illustrated as the suitable of a non-adjacent past data Ordinal number evidence, thus can force hard disk drive 210 to experience search time and/or waiting time.
Depend on how to utilize improved mass storage device 150, the size of described head data or can come based on needs Calculate or a but normal size.One normal size can be depending on multiple factor, including the average search of a hard disk drive 210 Time, the size of flash memory array 215 and/or an effective volume significantly extended is occurring because of a garbage collection operation The quantity of writeable adjacent sections in logic before the journey time.
Fig. 3 A be in a description one hard disk drive address space 3 15 and flash address space 320 head data 305 and The abstract view of body data 310.Storage control 245A or 245B uses a head mapping table 325 to coordinate head data 305 and the storage of body data 310.If flash memory address space 320 is sufficiently large, then head data 305 can permanent resident In flash memory array 215.But, if described quick flashing limited space, then need m to allow from flash memory Memory array 215 removes head data 305, thus gives new head data vacating space.
This type of mechanism a kind of can include the space 330 in disk address space 305 is preserved for head data 305.When When needing space in flash memory array 215, head data 305 can be copied to retaining space 330, so that whole data slice Section is adjacent on hard disc 225.It is preferred that when not using improved mass storage device 150A or 150B, head data 305 Duplication can be practiced as a background operation.The frequency that this section relocates is preferably according to disk set and flash memory The ratio of the memory span of reservoir device, and according to being written to the independent abutting sections of improved mass storage device 150 Depending on the quantity of sequence.
Equally, Fig. 3 B is address space 350 and a disk address of a described whole improved mass storage device of description The abstract view of relation between space 315 and flash address space 320.Owing to remaining with for magnetic in disk address space 315 The space of head data, institute is equal to disk address space 315 for the address space 350 of described improved mass storage device.
Can be seen that systematic function improves because using improved mass storage device from the difference of Fig. 4 A and Fig. 4 B.Fig. 4 A Being a sequential chart, its traditional write describing to be occurred when receiving a write instruction 405 from a mass storage system (MSS) processes, Herein, described mass storage system (MSS) does not uses disk provided by the present invention to accelerate.Generally, about at hard disk drive 210 While W head starts mobile 415 to appropriate location, data 410 start to be transferred to a disk cache.One W head described in denier and hard disc 225 all have been enter into position, can start data 420 are written to hard disc 225.Generally, will Data 420 are written to hard disc 225 from described cache memory and are spent the time of putting to be longer than to shift paramount by entrance data 410 The time spent in speed buffer storage.
Fig. 4 B is that a description receives one write at a mass storage system (MSS) using disk to accelerate according to embodiments of the present invention The sequential chart that the write occurred when entering instruction 405 processes.Upon receipt of write instruction 405, several different runnings Start.Such as, can start to be transferred in flash memory head data 425 and 430.Volatile buffer memory is without quick flashing Required housekeeping operations.Therefore, generally include in head data 430 being stored in flash memory system 205: by head data 425 are transferred to a relief area, and subsequently head data 425 is transferred to from described relief area flash memory system 205 with in Head data 430 is produced in flash memory system 205.While storage head data 425 and 430, hard disk drive 210 Prepare to receive data.If being just described head data retaining space, then provide a new write instruction to hard disk drive 210 435.W head will not be guided to described data slot address by described new write instruction 435, but guides to described master Volume data address, and described body data address is only the fragment ground offseting away the allocation space distributing to described head data Location.After hard disk drive 210 receives new write instruction 435, W head and hard disk suitably can be positioned 440.
Once head data 425 is fully transferred to flash buffer 425, then start body data 445 is stored in improvement In the disk cache of type high-capacity storage, therefore, data are transferred to improved mass and deposit by a host computer system Speed in storage device 150 is identical with the transfer velocity of the system of a does not use disk.When W head and hard disk the most During in-position, the most described body data can be used, and can start body data 450 is written to hard disc.In write Fig. 4 B It is significantly less than in Fig. 4 A required total time the total time that data slot is spent.
But, the overall raising of systematic function had both depended on that the capacity of flash memory array 215 also depended on access and changes Enter the frequency of type high-capacity storage 150.As shown in Figure 5A, when the capacity of flash memory array 215 increases, systematic function Can significantly benefit.Flash memory array 215 is the biggest, storable data during the burst with multiple data slot is taken action The most.
Similarly, Fig. 5 B shows: when utilizing more improved mass storage device 150, and systematic function can reduce.If It is constantly accessed high-capacity storage 150, then time enough will not had from flash memory array 215 by head data It is transferred to hard disc 225 (assuming to shift).Finally, according to its error handler, high-capacity storage 150 or must be Shift old head data before receiving new head data, maybe must stop using flash memory array 215 and by hard drive Device 210 is exclusively used in new data fragment.As shown in Figure 5 B, if an error handler after Cai Yonging, then systematic function Ying Yuyi is only The system using a hard disk drive 210 is identical.If flash memory array 215 is temporarily unavailable, then be possible with this one Error handler (such as, flash memory array 215 participates in a garbage collection process).If be just written at host data While hard disk drive 210, performing garbage collection operations, then can reduce and the conflicting of refuse collection, its reason is now The usually standby time of flash memory array 215.
Fig. 6 describes a kind of with the section in the data stream of buffer circle 600 form tissue flash memory array 215B The mode of storage.Current location for write one data segments is defined by a write pointer 605, and said write pointer is with a nothing Terminal moves in circulating in the address space shown in Fig. 6 clockwise.Described address space is to be defined (such as, 610 by unit's block And 615), described unit block moves to a newly erasing unit block with a predesigned order or with write pointer 605 from a full unit block Time dynamically determine order link (such as 620).Similarly, an erasure pointer 625 circulates in the ground shown in Fig. 6 with an endless Location is moved in space clockwise.For storing new data segments, it is able to ensure that before write pointer 605 with one and remains the most standby The speed of unit's block, first block that erasing is identified are wiped by erasure pointer 625.The described block being just wiped free of comprises minimum It is most recently written the data in buffer circle 600.
Head data is stored in a circulation address space, that is, one can return from superlatively location by providing one in the inner It is back to the incremental steps of lowest address, implements to be incremented by the address space of address transitions continuously.The modified model described in Fig. 2 A In the embodiment of high-capacity storage 150A, the circulation in a part for the logical address space of flash memory system 205 is delayed Rush district and described circulation address space is provided.In the embodiment of improved mass storage device 150B described in Fig. 2 B, soon Buffer circle 600 in the physical address space of flash memory array 215B provides described circulation address space.
Cost for keeping flash memory is the lowest, the typically smaller than storage of the capacity of flash memory array 215 with Capacity needed for the relevant whole head data of whole address space 350 of improved mass storage device 150.Thus, in order to In flash memory array 215, vacating space is for continuing storage head data, needs head data from flash memory battle array Row 215 are copied on hard disc 225 retaining space being suitable for.Perform the method for this operation to passing through improved mass storage device 150 and overall raising of the systematic function that realizes has important function.
Fig. 9 describes a buffer circle 600 relevant to the management method that head data is copied to hard disk drive 210 Interior map of sector storage locations.Described buffer circle 600 have one from its last physical address to its first physical address in Annular address space around shape.Described buffer circle 600 include unit block 960,965,970,975,980,985,990 and 995.Sector data is written to described relief area in the position defined by incremental write pointer 605.Fig. 9 is by empty for this circulation address Between be depicted as one and move linear address space, the first block 960 including write pointer 605 is assigned as relief area 910 Top.Write the first block 995 before pointer 605 in cyclic buffer 600 and be assigned as the bottom of relief area 940.Erasing refers to Pin 625 defines next target block for erasing, and also defines the afterbody of head data entries in described relief area.Erasing refers to Bottom pin 625 and relief area, the first block between 940 is in erased state.
The first block 990 identified from erasure pointer 625 replicates effective head data, to allow erasing unit block 990.As Really head data 305 is not yet read after it is written to buffer circle 600, then be copied on hard disc 225 correspondence Retaining space 330.But, if be read after oneself write of head data 305, the most also it can be answered at write pointer 605 Make back flash memory, and be therefore saved in buffer circle 600.This can allow the magnetic head number that may read for host computer system According to still keeping available in buffer circle 600.In a header of head mapping table 325 and data segments self can be used Logical address identifies effective head data.If effectively between head data overlap unit block 990 and another metablock Border, the most intactly replicates whole head data.
But, head data may be present in buffer circle 600 because of the renewal head data of same logical address Other is local and invalid.Under this situation, it is not necessary to replicate described head data before erasure of the metablock 990.
First block in addition to the described first block identified by erasure pointer 625 performs Copy-ahead operations.This can permit Permitted, such as, when the disk access needed for main frame stops the copy job to hard disc 225, continue to implement quick flashing temporarily The copy job of memory array 115.One flash copy pointer 915 and a disk copy pointer 905 are used equally to identify next Need the position of copy job.Effective head data between erasure pointer 625 and copy pointer 905 and 915 all should be Perform its required copy job.Due to it is intended that store effective magnetic head number as much as possible in buffer circle 600 According to, therefore, the degree of these Copy-ahead operations is set some restrictions.One disk copy limit 920 and flash copy limit System 930 defines that disk copy pointer 905 and flash copy pointer 915 can movement be to greatest extent before erasure pointer 625.
Without erasing unit block is defined in first block that pointer 625 is identified.Such as, if at erasure pointer 625 Unit's block 990 needs further flash copy operations, the first block between simultaneously erased pointer 625 and disk copy pointer 905 980 do not comprise the valid data not replicated, then can wipe unit's block 980 immediately.Under this situation, a regulation unit block can be revised Link orders forms the block link table of buffer circle, to move to newly wiping unit's block 980 below erasure pointer 625.
In any possible place, the duplication of head data is practiced as a background task.One to flash The duplication of device array 215 can be implemented with the data transfer of main frame-extremely-disk or disk-extremely-main frame simultaneously.Another option is that, false If replicating a complete first block, then without a mobile real data.Can only revise block link table to relocate relief area Interior data.When HPI in the inactive, one can be implemented between buffer circle 600 and hard disk cache fast Speed disk copy.If host activity starts, then can terminate a disk copy safely, and described disk copy can one subsequently Time recovers or repeats to implement.
The management table being stored in flash memory array 215 can include head mapping table 325 and a block link table. In an embodiment, described head mapping table 325 is only capable of each effective magnetic head number for being stored in flash memory array 215 An input item is provided according to fragment.Subsequently, described input item will be stored in a dedicated block with a discontinuous logical address order In an interior head mapping table section set, to allow to search an input item by a logical address defined.Each defeated Enter item and can have independent field for the logical address in an improved mass storage device, the physics in a buffer circle After address, the size (if not using a fixed head size) of a head data, the described head data of an instruction write certainly The reading flag being read and one indicates described head data to be copied to the duplication flag of hard disk drive 210.Described block Chained list provides an input item to each link unit block in buffer circle 600.Described input item is with block link time In the link table sector set that sequence is stored in a dedicated block.New link table sector can be added, and its order can be revised. Each section is without fully loaded, and can add newly inputted item.The described link table sector being ultimately written can include defining described special The position of all effective link table sector and the information of order thereof in block.
Fig. 7 is the flow chart of the exemplary Writing Technology of a present example embodiment.At 705, from host computer system Bus 155 receives an instruction writing data at certain address X.At 710, improved mass storage device 150 determines address X Whether it is adjacent to the address that previously accessed and is therefore the part of an available data fragment or non-neighboring is connected to previous address also Define the beginning of a new data fragment.If described address is adjacent, the most described data are written directly at 715 to hard disk and drive Available data fragment described in dynamic device 210 continued access.If described address is non-adjacent, it tries using described data as new data The head data of fragment writes to flash memory array 215.
If being intended to write head data, the most described system determines at 720 whether flash memory array 215 is just ready for Thread.If because any reason flash memory array 215 is unavailable, the most described system can be simply by head data at 715 Write to hard disk drive 210 and does not performs acceleration to described fragment.If flash memory array 215 can be used, the most next Three operations can carry out the most simultaneously.
In three operations first is to send a searching instruction at 725 to hard disk drive 210.If data are final To be transferred to hard disk drive 210 from flash memory array 215, the most described searching instruction is considered as one and is equal to described magnetic head The deviation of size of data.Therefore, hard disk drive 210 should receive a searching instruction with by W head position to address X+H, Wherein H is the size of described head data offset.At 730, described head data is write to flash memory array 215. If using a buffer circle, then at write pointer, write described head data.At 735, update described block reflection Table is exclusively stored in flash memory array 215 with instruction head data.For suitably coordination data, storage control 245 should have about the information of physical address in logical address in hard disc 225 and flash memory array 215.Another selects It is that out of Memory may be alternatively stored in block mapping table.Such as, if described head size is variable, the most also should store described The size of magnetic head.Below in conjunction with Fig. 8, other flag is discussed.
Described head data be just written into flash memory array 215 and described block mapping table be updated same Time, hard disk drive 210 waits that at 740 hard disc 225 suitably positions.Once enter correct position, if improved mass Storage device 150 receives body data from host system bus 155, then, at 745, described body data starts to be written into To hard disc 225.
Fig. 8 is the flow chart of the exemplary reading technology of one embodiment of the invention.At 805, from host system bus 155 Receive an instruction reading data at certain address X.At 810, storage control 245 determines whether deposit in block mapping table Input item at an address X.If described address is not in block mapping table, the most described system at 815 from hard disk drive 210 read described data.Subsequently, at 820, system determines whether flash memory array 215 prepares write.If because of certain Reason (such as, refuse collection) flash memory array 215 is unavailable, then can terminate described process, thus take on one without disk The system accelerated.But, if flash memory 215 is available, then at 825, data can read from hard disk drive 210 While, head data is copied to flash memory array 215.Subsequently, at 830, renewable described block mapping table comes Instruction resides in the head data on flash memory array 215 now.
Once an input is present in described block mapping table, then after receiving a reading instruction at 805, and storage control 245 will comply with a different path.If address described at 810 is in block mapping table, then storage control 245 will be given Hard disk drive 210 sends a searching instruction to search the address of body data in hard disk drive 210.Enforcement in the present invention In example, the address of described body data will be the address X of staggered heads size of data.Subsequently, at 840, storage control 245 Typically wait for flash memory array 215 ready.But, some embodiment can have extra error handler, institute State extra error handler and can determine whether to there is also a copy of described magnetic head in hard disk drive 210, and if It is suitable for, if it is available before flash memory array 215, the most only reads described data from hard disk drive 210.At some In special envoy's embodiment by reading technology, a copy of described head data is present in described hard disk drive all the time.Once Flash memory array 215 can be used, then from described quick flashing reading magnetic head data at 845.At 850, can reflect at described block One flag is set in firing table and indicates the data read corresponding to table input item.If using a buffer circle to arrange, When must wipe the first block containing described input item, this flag by described for permission input item by being copied to described relief area Top rather than hard disk drive and be saved in described buffer circle.
When described head data is completely after flash memory array 215 reads, then at 855, described system may need Hard disc 225 to be waited is properly positioned.The most properly position, then at 860, read described body data from hard disc 225.
Although herein with its current contemplated optimal mode explaination present invention, it will be appreciated that: the present invention can have many Amendment, operating mode and embodiment, and these are all in the limit of power of one of ordinary skill in the art and without implementing further Invention is taken action.Such as, other improved mass storage device can use technology in addition to either flash or hard drives, and can include electricity Pond support type RAM, CD, Ovonics unified memory (OUM), magnetic ram (MRAM), ferroelectric polymers, ferroelectric RAM (FeRAM), absolutely Edge body overlying silicon (Sol) etc..Correspondingly, it is intended in claim and included that belonging to right wants by the content presentation of patent protection Being changed and being revised in refinement god and scope.

Claims (5)

1. the method reading data from hard disk drive, comprising:
The first instruction is received to read the data of certain address described hard disk drive from host system bus;
Determine whether to exist the input item of described address in block mapping table;
If described address is not in described block mapping table, then
Described data are read from described hard disk drive;
Determine whether flash memory array prepares write;
If described flash memory can be used, then while reading described data from described hard disk drive, by head data It is copied to described flash memory array;And
Update described block mapping table and indicate the head data resided in now on described flash memory array;
If described address is present in described block mapping table, then
A searching instruction is sent to search the address of body data in described hard disk drive to described hard disk drive;
Wait that described flash memory array is ready;
The most described flash memory array can be used, then read described head data from described flash memory array;
One flag is set in described block mapping table and indicates the data read corresponding to table input item;
In described head data completely after described flash memory array reads, then wait that described hard disk drive just determines Position;
The most described hard disk drive is positioned properly, then read described body data from described hard disk drive.
2. the method for claim 1, wherein said hard disk drive and described flash memory device are computers A part for system, and
Wherein said flash memory device can remove from computer system.
3. a data-storage system, comprising:
First Nonvolatile memory devices;
Second Nonvolatile memory devices, it has average access time slower than described first Nonvolatile memory devices and high Capacity, wherein said slow average access time is necessary before described second Nonvolatile memory devices starts to write data Average retardation;And
Storage control, its operable with:
From the Part I of described first Nonvolatile memory devices retrieval data, and from described second Nonvolatile memory devices The Part II of retrieval data;
From host system bus accept the first instruction to be written in described second Nonvolatile memory devices and have and define at the beginning of The data slot of beginning address;
Determine whether the described address of the described data slot of described first instruction is adjacent to the address previously accessed;And
If described address is defined as non-adjacent, it tries described data are write to institute as the head data of new data fragment State the first Nonvolatile memory devices.
4. data-storage system as claimed in claim 3, wherein said storage control can operate further with:
The second instruction is received to read having equally described second Nonvolatile memory devices subsequently from described host computer system The data slot of address;
Determine whether the described address of the described data slot in described second instruction is adjacent to the address previously accessed;
If described address is defined as non-adjacent, then from described first Nonvolatile memory devices, read the data that have requested that Initial part, and the remainder of the data having requested that described in reading from described second Nonvolatile memory devices.
5. data-storage system as claimed in claim 4,
Wherein said first Nonvolatile memory devices is solid-state memory, and described second Nonvolatile memory devices is hard Disk drive, and
Wherein, if described address is defined as non-adjacent, then please described in reading from described first Nonvolatile memory devices The described initial part of the data asked, to reduce the delay providing data to described host computer system, the most described hard disk drive Search postpone in the address transitions of non-contiguous address, it will cause described delay.
CN200910206622.9A 2004-02-04 2005-01-05 The disk using first and second storage device accelerates Active CN101685382B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/772,789 US7127549B2 (en) 2004-02-04 2004-02-04 Disk acceleration using first and second storage devices
US10/772,789 2004-02-04

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CNB2005800081633A Division CN100570546C (en) 2004-02-04 2005-01-05 Use the disk of first and second memory storages to quicken

Publications (2)

Publication Number Publication Date
CN101685382A CN101685382A (en) 2010-03-31
CN101685382B true CN101685382B (en) 2016-12-14

Family

ID=

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5708846A (en) * 1995-02-24 1998-01-13 Intel Corporation System for retrieving initial data sequence corresponding to next data sequence while locating next data sequence when branch point is reached during current data sequence
CN1198226A (en) * 1995-09-27 1998-11-04 记忆体公共有限公司 Memory system
US6646948B1 (en) * 2002-08-29 2003-11-11 Motorola, Inc. Data storage system utilizing a non-volatile IC based memory for reduction of data retrieval time

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5708846A (en) * 1995-02-24 1998-01-13 Intel Corporation System for retrieving initial data sequence corresponding to next data sequence while locating next data sequence when branch point is reached during current data sequence
CN1198226A (en) * 1995-09-27 1998-11-04 记忆体公共有限公司 Memory system
US6646948B1 (en) * 2002-08-29 2003-11-11 Motorola, Inc. Data storage system utilizing a non-volatile IC based memory for reduction of data retrieval time

Similar Documents

Publication Publication Date Title
CN100570546C (en) Use the disk of first and second memory storages to quicken
CN100487632C (en) Dual media storage device
US10126959B2 (en) Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage
US7215580B2 (en) Non-volatile memory control
KR101086857B1 (en) Control Method of Solid State Storage System for Data Merging
CN104866428B (en) Data access method and data access device
CN103049397B (en) A kind of solid state hard disc inner buffer management method based on phase transition storage and system
JP3105092B2 (en) Semiconductor memory device
US9323659B2 (en) Cache management including solid state device virtualization
CN101241446B (en) Command scheduling method and apparatus of virtual file system embodied in nonvolatile data storage device
US8331123B2 (en) High performance solid-state drives and methods therefor
US8924659B2 (en) Performance improvement in flash memory accesses
US20140122781A1 (en) Hierarchical flash translation layer
US20110320733A1 (en) Cache management and acceleration of storage media
CN105339910B (en) Virtual NAND capacity extensions in hybrid drive
CN102317924A (en) Programming method and device for a buffer cache in a solid-state disk system
CN102779096A (en) Page, block and face-based three-dimensional flash memory address mapping method
CN103902475B (en) Solid state disk concurrent access method and device based on queue management mechanism
US20110191529A1 (en) Semiconductor storage device and method of controlling semiconductor storage device
CN101996137A (en) Memory device and data processing method thereof
JP4734432B2 (en) Data storage system
CN101685382B (en) The disk using first and second storage device accelerates
US9047959B1 (en) Data storage device, memory control method, and electronic device with data storage device
CN101339490A (en) Flash memory drive apparatus and method
CN2603974Y (en) Magnetic disc cache apparatus

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20121112

Address after: American Texas

Applicant after: Sandisk Corp.

Address before: American California

Applicant before: Sandisk Corp.

CB02 Change of applicant information

Address after: texas

Applicant after: DELPHI INT OPERATIONS LUX SRL

Address before: American Texas

Applicant before: Sandisk Corp.

GR01 Patent grant