WO2011019216A2 - Hybrid storage device, and control method - Google Patents
Hybrid storage device, and control method Download PDFInfo
- Publication number
- WO2011019216A2 WO2011019216A2 PCT/KR2010/005291 KR2010005291W WO2011019216A2 WO 2011019216 A2 WO2011019216 A2 WO 2011019216A2 KR 2010005291 W KR2010005291 W KR 2010005291W WO 2011019216 A2 WO2011019216 A2 WO 2011019216A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- storage device
- optical disk
- flash
- host
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0626—Reducing size or complexity of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/068—Hybrid storage device
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the present invention is related to a hybrid storage device and a control method of the same where a flash storage device and an optical disk device complement each other by making use of their respective advantages, thus improving environments for computer use.
- Optical disk devices such as CD-ROM, DVD-ROM, and DRV-RAM, which have been used for a long time as non-volatile storage media, provide a large storage capacity and excellent storage stability at affordable prices. Due to the inherent structure which requires a mechanical operation of a motor to position a head at data storage positions, however, access speed and data transfer speed are low.
- an optical storage medium can be separated from the motor driving an optical disk device, carrying and moving the optical storage medium is simple; although the capacity of the optical storage medium is somewhat small, the optical storage medium is widely accepted as a means for delivering operating systems or applications at a lowest cost.
- a half-height drive is used for desktop computers while 12.7 mm and 9.8 mm slim drives are used for notebook computers, laptop computers, and other small size computers.
- a small size computer such as a notebook computer frequently employs a magnetic storage medium (or flash storage device) for installing and running an operating system and applications together with an optical drive for driving an optical disk device for installing and moving programs. If a small size computer does not provide a sufficient space, the optical drive is either implemented in a detachable form or not installed at all. Therefore, when a user actually tries to use an optical drive, the user often suffers inconvenience because the small size computer is not equipped with the optical drive.
- An object of the present invention is to provide a hybrid storage device formed as a single body and a control method of the same allowing storage devices of different mechanisms to make use of the respective advantages.
- Another object of the present invention is to provide a hybrid storage device formed as a single body and a control method of the same complementing shortcomings of the respective storage devices of different mechanisms.
- a further object of the present invention is to provide a hybrid storage device reducing wear level of a flash memory device by allowing data blocks of low frequency of use in the flash memory device to be stored in an optical drive.
- an optical disk device a flash storage device equipped with flash memory, and a controller converting data into data format of a target device when the data are transferred between the flash storage device and the optical disk device.
- the object described above, according to the present invention is achieved by an optical disk device, a flash storage device equipped with flash memory, and a controller making a backup of data whose access frequency is lower than a predetermined reference value among data stored in the flash storage device into the optical disk device and deleting the original copy of the backup data to secure a storage space of the flash storage device.
- the object described above, according to the present invention is achieved by determining occurrence of data transfer between a flash storage device and an optical disk device in a hybrid storage device formed as a single body by combining the flash storage device and the optical disk device; setting objects sending and receiving the data respectively as a source and a target device between the flash storage device and the optical disk device; and converting the data to be sent into data format of the target device.
- a hybrid storage device enables to make use of the respective advantages of an optical disk device and a flash storage device when a data backup, a fast data transfer, or data caching of the optical disk device is required or depending on various situations to preserve important data.
- FIG. 1 illustrates a hybrid storage device of the present invention
- FIG. 2 illustrates a method for making a backup of data in a flash storage device into an optical disk device
- FIG. 3 illustrates a method for a flash storage device to support data transfer speed of an optical disk device
- FIG. 4 illustrates a method where a hybrid storage device according to the present invention generates a data image of an optical storage medium and improves data transfer speed and access speed of an optical disk device by using the data image stored in a flash storage device;
- FIG. 5 illustrates a block diagram of one embodiment of a hybrid storage device according to the present invention
- FIG. 6 illustrates a method for wear leveling of a flash memory device and making a data backup according to the wear leveling
- FIG. 7 illustrates one embodiment of representing a hybrid storage device according to the present invention in a host
- FIG. 8 illustrates another embodiment of representing a hybrid storage device according to the present invention in a host
- FIG. 9 illustrates a method for assigning a unique name to an optical disk device and a flash storage device which have been represented as a single device
- FIG. 10 illustrates a method for assigning a unique icon to an optical disk device and a flash storage device
- FIG. 11 illustrates a control flow for making a hybrid storage device be recognized as a flash memory device by a host
- FIG. 12 illustrates the structure of a memory module constituting a flash storage device in a hybrid storage device according to the present invention
- FIG. 13 illustrates a block diagram of a hybrid storage device according to a different embodiment of the present invention.
- FIG. 14 illustrates a flow diagram of a method for garbage collection of a flash storage device according to one embodiment of the present invention
- FIG. 15 illustrates operations for reading data recorded in a hybrid storage device according to one embodiment of the present invention
- FIGs. 16 and 17 illustrate respectively the structure of a system for making a backup of data recorded in a memory module into an optical storage medium and a flow diagram for an operating method according to one embodiment of the present invention
- FIGs. 18 and 19 are flow diagrams for illustrating garbage collection according to one embodiment of the present invention.
- FIG. 20 illustrates a method for differentiating data storage areas according to access frequency of data to be recorded in a memory module and providing power according to the access frequency
- FIG. 21 illustrates a method for operating a hybrid storage device of FIG. 20.
- FIG. 1 illustrates a concept of an optical disk device of the present invention formed as a single body with a flash storage device.
- an optical disk device formed as a single body together with a flash storage device accepts an optical storage and a flash storage together in a single body; either of the optical disk device or the flash storage device transmits data to or receives data from a host.
- An optical storage loaded in the body provides a large storage capacity and requires a small storage cost per bit but is offset by a slow data transfer speed and an access speed.
- a flash storage provides a small storage capacity and storage cost per bit is higher than that of the optical storage.
- the present invention by taking account of characteristic differences between an optical storage and a flash storage, complements shortcomings and reinforces advantages of the two storage devices.
- the present invention can have the following characteristics.
- the flash storage can complement the slow access speed and data transfer speed of the optical storage.
- an optical disk device formed as a single body together with a flash storage device according to the present invention is connected to a host according to a single interface and is installed in a single body. Therefore, usefulness of the present invention can by maximized when the present invention is applied to notebook computers, laptop computers, PMPs, and various small size electronic devices where a space for installing an optical disk device and a flash storage device is not enough.
- heterogeneous storages can be used in a single body which can be connected to a host by an interface such as SATA or USB.
- a hybrid storage device according to the present invention can be recognized as a single storage device. Therefore, when the host accesses the optical storage or the flash storage, data getting in and out through a single interface should be differentiated by the storage type.
- a data flow controller of an optical disk storage can control the data flow by assigning separate identifiers to the data of the optical storage and to the data of the flash storage.
- a data flow controller can be implemented in various ways.
- a data flow controller can be implemented to perform an integrated control of an optical disk device and a flash storage device; a data flow controller belonging to an optical disk device can control the data flow between a flash storage and an optical storage or a data flow controller belonging to a flash storage device can control the data flow between a flash storage and an optical storage.
- a data flow controller controlling the data flow between the optical storage and the flash storage should manage data transfer and reception to and from a host and be recognized as a single device when viewed from the host.
- FIG. 2 illustrates a method for making a backup of data in a flash storage device into an optical disk device.
- a flash storage usually stores an operating system or applications since the flash storage device provides faster data access speed and data transfer speed than an optical disk device.
- expanding storage capacity of a flash storage is not easy compared to a magnetic hard disk since the unit cost per bit of the flash storage is higher than that of an optical storage or a magnetic hard disk.
- FIG. 3 illustrates a method for a flash storage device to support data transfer speed of an optical disk device.
- the flash storage device can cache the data recorded in the optical storage and transfer the data to the host 50.
- a host 50 does not process continuous data writing/reading to and from an optical storage. If an application installation program is stored in an optical storage and the user activates the installation program, data stored in the optical storage are activated step by step as the user selects an installation option or enters a license key; or in response to the confirmation of the installation by the user. At this time, when the optical storage is accessed, a flash storage receives data of the optical storage continuously; when the host requests the data of the optical storage, the flash storage device transfers the requested data to the host 50 in place of the optical disk device. Therefore, an optical disk device formed as a single body together with a flash storage device according to the present invention can improve data transfer speed significantly compared with a conventional optical disk device.
- FIG. 4 illustrates a method where an optical disk device formed as a single body together with a flash storage device according to the present invention generates a data image of the optical storage and improves data transfer speed and access speed of the optical disk device by using the data image.
- a data flow controller (DFC) of an optical disk device formed as a single body together with a flash storage device can generate a data image by using the data of the optical storage and put the generated data image in the flash storage.
- DFC data flow controller
- the data image takes the form of a single file generated from the data stored in the optical storage, which is commonly employed in a virtual CD-ROM program (e.g., Demon, Virtual drive, and cd-space).
- a data image can have file extensions such as ISO, LCD, and VCD; the data image can also have an extension or a file format assigned specifically by the designer or the manufacturer of the optical disk device formed as a single body together with a flash storage device according to the present invention.
- the data flow controller 110 reads out the data image stored in the flash storage, extracts files in question from the data image, and provides the extracted files for the host. Since the speed of extracting files from the data image and sending the extracted files is usually faster than the data transfer speed of an actual optical disk device by hundreds of times, it is apparent that the speed of the host's obtaining data of the optical storage and data transfer speed can be dramatically improved.
- FIG. 5 illustrates a block diagram of an optical disk device formed as a single body together with a flash storage device according to the present invention.
- an optical disk device formed as a single body together with a flash storage device comprises a data flow controller 110, memory 160, an optic controller 141, a flash controller 151, an optical disk device 140, a flash storage device 150, and an interface unit 170.
- An optical disk device 140 comprises optical media such as CD-ROM, DVD-ROM, and Bluray disk; and a driving unit driving an optical storage medium and reading out data from the optical storage medium.
- the optic controller 141 controls rotating speed of a motor; and amount of driving and position of a laser head by controlling the driving unit.
- the flash storage device 150 comprises a flash ROM of NOR or NAND type; if the flash storage device 150 is comprised of non-volatile memory, memory other than NOR or NAND type memory can be employed.
- the flash storage device 150 is driven in association with a flash controller 151.
- the flash controller 151 generates a mapping table which maps addresses requested by the host onto the addresses of memory; when data are recorded according to the mapping table, the flash controller 151 performs wear leveling to ensure all of the logic blocks constituting the flash storage device 150 to be evenly worn out.
- Wear leveling equalizes erase cycles and recording cycles for each of a plurality of blocks divided logically from the storage area of the flash storage device 150 and thus allows each block to participate equally in data recording.
- the data flow controller 110 controls data flow among the host 50, the flash storage device 150, and the optical disk device 140.
- the data flow controller 110 assigns separate identifiers to the respective data read out from the optical disk device 140 and the flash storage device. Since an optical disk device formed as a single body together with a flash storage device is equipped with an optical disk device 140 and a flash storage device 150 together in a single body; and is connected to a host 50 by a single cable (for example, SATA or USB), if the host 50 sends data to or receives data from the optical disk device 140 and the flash storage device 150, the two storage devices should be distinguished from each other.
- a single cable for example, SATA or USB
- the data flow controller 110 enables the host 50 to distinguish the optical disk device 140 and the flash storage device 150 by using identifiers.
- the identifier can be stored in a file header in the form of a specific format or can assume the name of a device.
- the data flow controller 110 can either secure a storage space of the flash storage device 150 by making a backup of data of the optical disk device 140 in the flash storage device 150 or transfer the data of the optical disk device 140 to the host 50 by caching the data in the flash storage device 150.
- the data flow controller 110 can generate a data image for the data stored in the optical disk device 140 and when the host 50 accesses the optical disk device 140 by using the data image, extract files from the data image and provide the files for the host 50.
- the data flow controller 110 should generate data image about the optical disk device when the host 50 does not access the optical disk device 140 or the host 50 does not access both the optical disk device 140 and the flash storage device 150.
- the data flow controller 110 comprises a file system converter 112, a data analyzer 113, and a data processing unit 114.
- a data analyzer 113 assigns identifiers to the data input to and output from an optical disk device 140 and a flash storage device 150.
- the data analyzer 113 assigns an identifier to received data by referring to an access target of the host 50 (e.g., an optical disk device or a flash storage device).
- a data processing unit 114 creates a data path by associating either of the optical disk device 140 and the flash storage device 150 with the interface unit 170. At this time, the data processing unit 114 assigns a data bus and a control bus to the storage device which forms a data path leading to the interface unit 170.
- the data processing unit 114 while the host 50 is not using an optical disk device formed as a single body together with a flash storage device according to the present invention, can either generate data image about the data stored in the optical disk device 140 or make a backup of the data stored in the optical disk device 140 into the flash storage device 150 beforehand. Also, the data processing unit 114 can secure a storage area of the flash storage device 150 by making a backup of a data area showing virtually no access by the host 50 into the optical disk device 140 through a flash controller 151.
- the data processing unit 114, the flash controller 151, and the optic controller 141 are assumed to exist individually but forming the three as a single chip is equally possible.
- a file system converter 112 converts file formats between the optical disk device 140 and the flash storage device 150 when a data flow is generated between the optical disk device 140 and the flash storage device 150.
- An optical disk device 140 such as CD-ROM or DVD-ROM usually follows ISO9660 or universal disk format (UDF) and the size of a data block amounts to 1024 bytes.
- a flash storage device 150 such as SSD follows FAT and NTFS format and the size of a data block amount to 512 bytes.
- the file system converter 112 determines a source and a target for the processes such as making backups of the optical disk device 140 and the flash storage device 150 and generating a data image of the optical disk device 140; and converts data of a source side to fit into the data format and the size of the target side. In case when a data image for the optical disk device 140 is generated, the file system converter 112 converts the data read out from the optical disk device 140 into FAT or NTFS format of the flash storage device 150; at this time, the block size is also changed to 512 byte.
- An interface unit 170 is disposed between the data flow controller 110 and the host 50; and converts the format of the data transferred between the data flow controller 110 and the host 50 into the interface requested by the host 50.
- the interface unit 170 converts the data transferred from the data flow controller 110 to the host 50 according to SATA interface; if the optical storage is connected to the host 50 through USB interface, data transferred from the data flow controller 110 to the host 50 are converted according to USB interface.
- FIG. 6 illustrates a method for wear leveling of a flash memory device and making a data backup according to the wear leveling.
- FIG. 6 illustrates a flash memory device according to the present invention and connectivity relationship between the flash memory device and a host.
- the flash memory device 100 is connected to a data flow controller 110 through MCU 151A and the data flow controller 110 carries out data communication by connecting to the host 50.
- a flash controller 151B prepares a mapping table for each block which constitutes a memory module 152.
- a memory module 152 is divided into a plurality of blocks; different from a mechanical hard disk drive, each block is not divided on the basis of a cylinder, a header, and a sector. Therefore, in order to perform data communication with the host 50 instead of using a hard disk drive still in widespread use, each physical block should be made to correspond to a logical address system of the host 50; for this purpose, a "mapping table" is commonly used.
- a mapping table is divided into a plurality of tables, forming a plurality of partial mapping tables; each partial mapping table is stored being distributed in each block 152A ⁇ 152N.
- each block 152A ⁇ 152N comprises multiple pages and each page comprises multiple cells.
- a page is the smallest recording unit which a host 50 can make a request for recording, ranging from a number of bytes to a number of kilobytes.
- a flash controller 151B calculates wear level of each block 152A ⁇ 152N and performs wear leveling.
- a memory module 152 has erase durability ranging between 10,000 cycles and 100,000 cycles or so. If erasure more than the above number of cycles is concentrated on a particular block, the corresponding block can fall into a unusable state or have a high chance to give rise to data error.
- a flash controller 151B needs to control each block to have an equal number of erase cycles, which is commonly called wear leveling.
- Wear leveling attempts to prevent a particular block from continuously worn out by avoiding recording data on a block with a high concentration of erase cycles.
- a wear level of a particular block of flash memory 152 is severe, the data of the corresponding block are copied to an optical disk device 140 and the block with the largest wear level can be made not to be assigned for further data recording.
- the data flow controller 110 obtains information MCU 151A about blocks with virtually zero frequency of use; and performs wear leveling by making a backup of blocks with virtually zero frequency of use to the optical disk device 140.
- the data flow controller 110 after making a data backup to the optical disk device 140, assigns the corresponding blocks as a recordable area so that the corresponding blocks are used for recording data of the host 50 and at the same time, data recording cycles of neighboring blocks are reduced.
- the operation above brings an advantageous effect of distributing wear level evenly across the whole blocks constituting flash memory 152.
- FIG. 7 illustrates one embodiment of representing an optical disk device formed as a single body together with a flash storage device according to the present invention in a host.
- an optical disk device 140 and a flash storage device 150 are installed in a single body to form a single device, which can still be represented as two separate devices. Also, since the optical disk device 140 and the flash storage device 150 are connected to a host 50 through the interface unit 170, the host 50 should be able to access the optical disk device 140 and the flash storage device 150 individually.
- the host 50 makes use of identifiers assigned by the data analyzer 113 for identification of the two devices, the two devices are displayed separately in the host 50 as shown in the reference symbol 10 (DVD-ROM drive(D:) and Mass Storage(E:)).
- FIG. 8 illustrates another embodiment of representing an optical disk device in a host, the optical disk device being formed as a single body together with a flash storage device according to the present invention.
- an optical disk device 140 and a flash storage device 150 are represented as a single device 11 in a host 50.
- the present embodiment makes use of the concept of a folder, which is described with further reference to FIGs. 9 and 10.
- FIG. 9 illustratea method for assigning a unique name to an optical disk device 140 and a flash storage device 150 which have been represented as a single device (LG HiGreen).
- an optical disk device 140 and a flash storage device 150 are represented in the form of folders such as reference symbol 11 and 12.
- the user of the host 50 can selectively access the flash storage device 150 and the optical disk device 140 by using icons expressed in the form of a folder.
- FIG. 10 illustrates a method for assigning a unique icon to an optical disk device 140 and a flash storage device.
- an optical disk device formed as a single body together with a flash storage device receives a drive name (F:) but a particular device name is not assigned to an optical disk device 140.
- a folder added to the flash storage device 150 is assigned to the optical disk device 140. Therefore, if the user of the host 50 accesses the flash storage device 150, it suffices to choose the icon of the reference symbol 14 expressed as a device. On the other hand, if the user tries to access the optical disk device 140, the user searches for a sub-icon 15 belonging to the icon 14 and accesses the sub-icon 15, thus recording data in the optical disk device 140 or obtaining data from the optical disk device 140.
- FIG. 11 illustrates a control flow for making an optical disk device formed as a single body together with a flash storage device be recognized as a flash memory device by a host.
- an optical disk device formed as a single body together with a flash storage device can make an optical disk device 140 be recognized as a flash storage device by a host 50. If a storage capacity of the flash storage device 150 is not sufficient or wear level becomes high, an optical disk device 140 can take the place of the flash storage device 150 and function as a flash storage device.
- a data flow controller 110 obtains data from an optical storage medium 142 being inserted into the optical disk device 140 and converts the file system and the data size of the obtained data into the data format of the flash memory device 150.
- the data flow controller 110 assigns an identifier to the data of the optical disk device 140 which have been converted to the data format of the flash storage device and processes the data of the optical disk device 140 as if they were the data of the flash memory device 150.
- the data flow controller 110 provides the interface unit 170 with the data to which an identifier has been assigned; the interface unit 170 converts the data into one of SATA, e-SATA, E-IDE, USE, and IEEE1394 specifications according to the connection specifications of the interface port of the host 50 and transfers the converted data to the host 50.
- FIG. 12 illustrates the structure of a memory module constituting a flash storage device in a hybrid storage device according to the present invention.
- each memory chip constituting a memory module comprises 8192 blocks.
- a block comprises 32 pages and each page comprises a main area of 512 bytes and an auxiliary area of 16 bytes.
- User data are usually recorded in the main area which can be regarded as a set of sectors.
- auxiliary area recorded is information about validity of the data recorded in the main area, ECC, LBA (Logical Block Address), LSN (Logical Sector Number), and the number of erase cycles.
- FIG. 12 illustrates small block flash memory where a recording and reading unit of flash memory are the same as the recording and reading unit requested by an external host.
- the present invention can also be applied to large block flash memory where a recording and a reading unit of flash memory are larger than the recording and the reading unit requested by an external host.
- a main area can comprise four sectors and data can be recorded in the units of a sector or a page.
- FIG. 13 illustrates a block diagram of a hybrid storage device according to a different embodiment of the present invention.
- a hybrid storage device 200 incorporates an optic controller 210 which can record data in an optical storage medium 220 or read out data recorded in the optical storage medium 220 in response to a request of a host 70. Also incorporated is a flash controller 251 which can record data in a memory module 260 comprising flash memory or read out data recorded in flash memory.
- the optic controller 210 comprises a host interface 211 which can send and receive data to and from a host 70; a buffer 212 where data to be recorded in an optical storage medium 220 or flash memory are stored temporarily or data read out from the optical storage medium 220 or the flash memory are stored temporarily; and an optical disk DSP (Digital Signal Processor, 243) controlling a terminal block of an optical disk device to record data into the optical storage medium 220 or read out data recorded in the optical storage medium 220, into which an optical storage medium 220 can be inserted or removed.
- a host interface 211 which can send and receive data to and from a host 70
- a buffer 212 where data to be recorded in an optical storage medium 220 or flash memory are stored temporarily or data read out from the optical storage medium 220 or the flash memory are stored temporarily
- an optical disk DSP Digital Signal Processor, 243 controlling a terminal block of an optical disk device to record data into the optical storage medium 220 or read out data recorded in the optical storage medium 220, into which an optical storage medium 220 can be inserted or
- Hot Access data stored in a large volume storage device can be classified to Hot Access data frequently accessed according to access frequency of a host; Cold Access data accessed occasionally, and Seldom Access data hardly accessed. In response to the request of the host, Hot Access data should respond/be transferred quickly.
- Seldom Access data are those rarely accessed and in many cases, only occupy part of flash memory. Therefore, lowering response/transfer speed of the Seldom Access data does not cause inconvenience for the user.
- a memory module 260 performs read and write operation in units of a page; and erase cycles can be performed in units of a block. Also, to reclaim a page containing obsolete data, garbage collection should be performed. In the present embodiment, to improve efficiency of garbage collection, Hot, Cold, and Seldom Access data stored in the respective blocks in the memory module 260 can be moved to other blocks.
- a hybrid storage device can store Seldom Access data stored in the flash memory in an optical disk during garbage collection, while only Hot Access data or Cold Access data can be stored in the memory module 260. Therefore, the present embodiment can secure a maximal storage space of the memory module 260 and implement a large volume storage device at low cost while keeping the data access of the host 70 at high speed.
- a flash controller 251 records data in a memory module 260 in response to the request of a host 70.
- An optical storage medium 220 can be inserted to or removed from a hybrid storage device 200 by the user.
- the optical disk controller 210 rotates an optical storage medium 220 by using a servo device and an optical pickup and records data in the memory module 260 in response to the request of the flash controller 251.
- Seldom Access data recorded in the optical storage medium 220 are transferred to the host 70 as the optic controller 210 reads out data recorded in the optical storage medium 220.
- the optic controller 210 after transferring data recorded in the optical storage medium 220 to the host 70, can make the data transferred to the host 70 be recorded in flash memory through the flash controller 251.
- FIG. 14 illustrates a flow diagram of a method for garbage collection of a flash storage device according to one embodiment of the present invention.
- a flash controller 251 checks whether the remaining storage space of a memory module 260 is less than a reference value S10.
- the reference value can be either a storage capacity prescribed by a manufacturer according to the capacity of the memory module 260 or a value calculated by a ratio determined in proportion to the storage capacity of the memory module 260.
- the reference value can be determined by a value ranging from one third to one fifth of the entire storage capacity of the memory module 260; if the storage capacity of a memory module 260 amounts to 100 GB, the reference value can be set between 20 GB and 33 GB.
- the reference value can also be set in accordance to virtual memory required for a conventional operating system. Since the reference value can be increased or decreased depending on the environment where a hybrid storage device according to the present invention is installed, the reference value is not limited to that indicated above.
- the flash controller 251 can move the data of a block having a small number of valid pages to a new block in the memory module 260 or copy the data to an optical storage medium 220 to secure the remaining storage space; when the data transfer is completed, the block where the original data were recorded can be erased to secure a recordable storage space.
- the flash controller 251 if the remaining storage space of the memory module 260 is less than a reference value, can select a block to erase (Victim Block) among blocks constituting the memory module 260, S15. At this time, victim blocks can be selected in various ways.
- the memory module 260 can comprise valid pages (which store valid data) and obsolete pages (which store obsolete data).
- the flash controller 251 checks whether the data recorded in a valid page of a block correspond to Hot Access data, Cold Access data, or Seldom Access data S20.
- Hot, Cold, Seldom Access data are classified according to frequency of data access of the host 70.
- the flash controller 251, at the time of the request for data reading by the host 70, can know the frequency of data access from information about a total number of requests issued for each logical address or a number of requests within a predetermined time.
- the flash controller 251 controls an optic controller 210 for Seldom Access data whose frequency of data access is less than a reference value to be copied to an optical storage medium 220, S25. Also, the flash controller 251 copies Hot Access data or Cold Access data whose frequency of data access is more than a reference value to other recordable blocks among the blocks constituting the memory module 260, S30.
- the flash controller 251 after copying all the data stored in the victim blocks selected to the other blocks, erases the victim blocks S35. Therefore, the flash controller 251 can record new data in the victim blocks afterwards.
- FIG. 15 illustrates operations for reading data recorded in a hybrid storage device according to one embodiment of the present invention.
- Hot or Cold Access data are recorded in a memory module 260 of a hybrid storage device and Seldom Access data are recorded in an optical storage medium 220.
- a flash controller 251 determines type of the data for which a host 70 has issued a read request S50.
- the flash controller 251 can determine the data type into one of Seldom Access, Cold Access, Hot Access from information assigned to a logical address of the data for which the host 70 has issued a read request.
- the flash controller 251 if type of the data for which the host 70 has issued a read request is Cold Access data or Hot Access data, reads out the corresponding data from a flash memory block having a physical address corresponding to the logical address S55; and transfers the read out data to the host 70, S60.
- the flash controller 251 if type of the data for which the host 70 has issued a read request is Seldom Access data, reads out the corresponding data through an optical disk DSP 243.
- the optical disk DSP 243 reads Seldom Access data for which the host 70 has issued a read request from an optical storage medium 220, S65; and transfers the data to the host 70, S70.
- the optical disk DSP 243 controls the flash controller 251 to copy Seldom Access data into a memory module 260.
- the flash controller 251 records Seldom Access data stored in an optical disk by copying the data into the memory module 260 and changes the type of Seldom Access data into Cold or Hot data S80.
- FIGs. 16 and 17 illustrate respectively the structure of a system for making a backup of data recorded in a memory module into an optical storage medium and a flow diagram for an operating method according to one embodiment of the present invention.
- a flash controller 251 manages a mapping table which contains information about physical addresses corresponding to logical addresses.
- the mapping table is stored in a memory module 260.
- the mapping table is used after being loaded into high speed SRAM 230 when the flash controller 251 associates a logical address of the host 70 with a physical address of the memory module 260; the mapping table can be also used by being loaded into a separate DRAM or memory embedded inside the flash controller 251.
- the present embodiment describes one example of making a backup of a mapping table in an optical storage medium 220. If a backup of a mapping table is stored in an optical storage medium 220, even when a mapping table stored in the memory module 260 is damaged, the damaged mapping table of the memory module 260 can be restored by using the backup of the mapping table stored in the optical storage medium 220.
- the flash controller 251 When the mapping table is restored by using the optical storage medium 220, the flash controller 251 obtains a mapping table from the optical storage medium 220 and can restore a damaged mapping table of the memory module 260 from the obtained mapping table.
- SDRAM 230 in addition to storing a mapping table of the memory module 260, can be used as a buffer for the data of the memory module 260 before the data are transferred to the host 70. If SDRAM 230 does not exist in FIG. 16, a buffer 212 can replace SDRAM 230 to store a mapping table temporarily or to buffer data transferred between the host 70 and the memory module 260.
- the flash controller 251 if a data record command (e.g., Flush Cache) is received, records data buffered in the SDRAM 230 in the memory module 260. At this time, the flash controller 251 controls the optical disk DSP 213 for the data of SDRAM 230 to be recorded in the optical storage medium 220.
- a data record command e.g., Flush Cache
- a hybrid storage device 200 In case when data stored in the memory module 260 is damaged or a mapping table is damaged due to power failure, a hybrid storage device 200 does not function normally during power-on period. In this case, the hybrid storage device 200 can, automatically or in response to the user's command, restore the damaged mapping table in the memory module 260 by using a backup of the mapping table stored in the optical storage medium 220.
- the flash controller 251 of the hybrid storage device 200 determines that recorded data have been corrupted if data stored in the memory module 260 are not read out in response to a read request issued by the host 70 or if the data read out are abnormal or if error codes are different. In this case, therefore, the flash controller 251 can automatically restore corrupted data depending on the data stored in the optical storage medium 220.
- FIG. 17 illustrates a flow diagram of a method for the user to detect damage of the data recorded in the memory module of a hybrid storage device 200 and to restore the damaged data.
- Normal operation of a hybrid storage device 200 can be checked by the user or automatically. If a mapping table of the memory module 260 constituting the hybrid storage device 200 is damaged, since a logical address of the host 70 is not properly translated to the corresponding physical address of the memory module 260, a data record or data read command of the user can not be performed normally.
- the user can determine whether the hybrid storage device 200 functions normally S100. If the user determines that the hybrid storage device 200 is functioning normally, the hybrid storage device 200 performs operations according to a normal process S105.
- the user inserts an optical storage medium 220 into the hybrid storage device 200, S110.
- the optical storage medium 220 including a mapping table, recorded are data which require a backup among those data recorded in the memory module 260.
- the optic controller 210 searches the data recorded in the optical storage medium 220 for the mapping table S115 and loads the mapping table found into SDRAM 230, S120.
- the flash controller 251 restores a damaged mapping table by recording the mapping table loaded into SDRAM 230 in the memory module 260, S125.
- a hybrid storage device 200 which restored a mapping table undergoes an initialization process S130 and then performs a normal process S105.
- FIGs. 18 and 19 are flow diagrams for illustrating garbage collection according to one embodiment of the present invention.
- a hybrid storage device 200 can assign sequence numbers for the respective blocks when data are recorded in the blocks of a memory module 260. The sequence number is incremented by one as data are recorded in a new block. Therefore, a block which contains the most recently recorded data has the largest sequence number.
- the hybrid storage device 200 while performing garbage collection, can choose a block whose sequence number is less than a reference number and which has a number of valid pages less than a reference number. It is because amount of data to copy becomes small with a small number of valid pages and a probability of generating an interrupt becomes small during data copy since access frequency of the host 70 to the block of a low sequence number gets low.
- FIG. 18 illustrates a flow diagram of a method for a flash controller 251 to write data in a memory module 260 in response to a write request of a host 70.
- the flash controller 251 determines in response to a data write request of the host 70 whether empty pages are available in the memory module 260, S150.
- the flash controller 251 selects a new empty block S155. Also, the flash controller 251 increments the current sequence number by "1" S160.
- the flash controller 251 records data corresponding to the write request of the host 70 in a block S165.
- the flash controller 251 which has recorded data updates management information about the block where the data have been recorded S170.
- the flash controller 251 assigns a current sequence number to the block where data have been recorded in the S165 step and increments the number of valid pages S170.
- the flash controller 251 searches a mapping table for a physical address corresponding to the logical address to which the host has issued a write request S175.
- the flash controller 251 updates block management information of the block to which a physical address searched belongs S180.
- the flash controller 251 assigns a sequence number to the block which has a physical address searched in the S175 step and decrements the number of valid pages of the block S180.
- the above operation is performed to indicate that as the data recorded in the existing physical address corresponding to a logical address are newly accessed, the data of the corresponding block have been accessed by incrementing the sequence number of the block.
- FIG. 19 illustrates a flow diagram of garbage collection of a hybrid storage device 200 according to the present embodiment.
- the flash controller 251 determines whether the remaining space for recording data in a memory module 260 is less than a reference value S200. If the remaining space is found to be less than a reference value, the flash controller 251, to perform garbage collection, examines blocks to be erased S205. In the present embodiment, the flash controller 251 selects a block to be erased, where the number of valid pages is less than a reference value and the sequence number is less than a reference value S210, S215. The flash controller 251 selects a block to be erased by sequentially examining block management information of each block constituting the memory block 260, S220.
- the flash controller 251 selects a physical block having the number of valid pages and a sequence number less than a predetermined reference value as the block to be erased S225 and copies information recorded in the valid page belonging to the selected physical block to a new physical block having an empty space S230. Also, the flash controller 251 can assign the sequence number of the block to be erased to the new physical block. The reason for assigning the same sequence number to the new block making a backup of the block to be erased and the data thereof is that in response to a write request of the host, data transfer is performed inside the hybrid storage device 200 rather than data is newly recorded.
- the flash memory controller 240 After data copy is completed, erases the data of the block to be erased S240.
- the present embodiment can be used together with an operation method of a hybrid storage device of FIG. 14.
- the flash controller 251 while performing garbage collection, can move the data with access frequency more than a reference value among those data stored in a block where the number of valid pages and the corresponding sequence number are less than a reference number to a new block; and copy the data less than the reference value to an optical storage medium 220.
- the hybrid storage device of the present embodiment by performing garbage collection through the method above, reduces the number of data copy and efficiently manages the data of flash memory and an optical disk.
- FIG. 20 illustrates a method for differentiating data storage areas according to access frequency of data to be recorded in a memory module 260 and providing power according to the access frequency.
- the memory module 260 can comprise a plurality of memory chips 261 ⁇ 263, flash power 265 supplying power to the memory chips 261 ⁇ 263, and an on/off switch 266 ⁇ 268 connecting the memory chips 261 ⁇ 263 and the flash power 265.
- the flash controller 251 among the data recorded in a memory module 260, classifies data whose access frequency of a host 70 is less than a reference value into Cold Access data type and those data more than a reference value to Hot Access data type.
- the flash controller 251 can record and manage Cold Access data and Hot Access data in a physically different memory chip.
- the flash controller 251 records and manages Cold Access data in a first and a second memory chip 261, 262; and Hot Access data in a third memory chip 263.
- the flash controller 251 can turn off a first and a second switch 266, 267 to cut off flash power supplied to the first and the second flash memory 261, 262 where Cold Access data are recorded.
- the flash controller 251 can turn on a third switch 268 connecting the flash power 265 and a third flash memory 263 where Hot Access data with high access frequency of a host 70 are recorded. Therefore, power is always supplied to a memory chip 263 where data with the highest access frequency are recorded while power supply is cut off for memory chips 261, 262 having data with low access frequency, thereby reducing power consumption of a hybrid storage device 200 according to the present invention.
- the flash controller 251 if the host 70 issues a read request for the data recorded in a memory chip 263 to which power is supplied, reads out data from a block containing the requested data and transfers the read out data to the host 70. If the host 70 issues a read request for the data recorded in a memory chip 261, 262 for which power is cut off, the flash controller 251 should provide power to the memory chip 261, 263 which received a read request; reset the memory chip 261, 263 to which power has been provided; and then read out data from the memory chip and send the data to the host 70.
- the flash controller 251 periodically check access information of the data recorded in a flash memory and according to the check result, reassigns the type of data recorded in the flash memory to Hot Access data or Cold Access data.
- the flash controller 251 copies reassigned data to Hot Access data storage flash memory or Cold Access data storage flash memory according to the data type and manages the copied data.
- the flash controller 251 if the data recorded in flash memory where Cold Access data are stored are accessed more than a predetermined value, can allow flash power to be supplied all the time afterwards by changing the corresponding flash memory as Hot Access data storage flash memory.
- FIG. 21 illustrates a method for operating a hybrid storage device of FIG. 20.
- the flash controller 251 if a data write request from a host 70 is received, records target data in a memory chip 263 where Hot Access data are stored S300, S305. If time corresponds to data classification period after a predetermine time, the flash controller 251 examines whether Cold Access data exist in an area where Hot Access data are store S315. If Cold Access data are found S320, the flash controller 251 selects a memory chip where Cold Access data are stored S325 and checks whether power of the corresponding memory is on or off S330. If power is off for the corresponding flash memory, the flash controller 251 turns on a switch connecting the corresponding flash memory and a flash power 265 and provides power for the corresponding memory chip and resets the corresponding memory chip S335. The flash controller 251 then moves Cold Access data residing in a memory chip where Hot Access data are stored to a memory chip where reset Cold Access data are stored S340.
- the flash controller 251 examines whether Hot Access data exist in the flash memory where Cold Access data are stored S345. If Hot Access data are found S350, the flash controller 251 selects a memory chip where Hot Access data are stored S355. Meanwhile, if in the step of S345 and S350, power of the memory chip where Cold Access data are stored and Hot Access data are found is off S360, the flash controller 251 provides power to the memory chip whose power is off (e.g., reference symbol 261, 262) and resets the memory chip S365 and moves the data recorded in the reset memory chip to a memory chip selected in the step of S355, S370.
- the memory chip whose power is off (e.g., reference symbol 261, 262) and resets the memory chip S365 and moves the data recorded in the reset memory chip to a memory chip selected in the step of S355, S370.
- the flash controller 251 determines whether power of the memory chip where the corresponding data are stored is off S380, S385; if the power is found to be off from the determination result, the memory chip is provided with power and is reset S390.
- the host 70 reads out data from the memory chip reset in the step of S390 and transfers the data to the host S395, S400.
- the flash controller 251 if Cold Access data are stored in the memory chip, turns off power entirely except for the memory chip which has recently been accessed for data read S405.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
The present invention provides a hybrid storage device which enables an optical disk device and a flash storage device to complement each other by making use of the respective advantages of storage capacity and a transfer speed; the hybrid storage device is formed by combining two storage media as a single body and is used by a host as such, thereby pursuing an appropriate size, power consumption, and user convenience suitable for computer environments.
Description
The present invention is related to a hybrid storage device and a control method of the same where a flash storage device and an optical disk device complement each other by making use of their respective advantages, thus improving environments for computer use.
Optical disk devices such as CD-ROM, DVD-ROM, and DRV-RAM, which have been used for a long time as non-volatile storage media, provide a large storage capacity and excellent storage stability at affordable prices. Due to the inherent structure which requires a mechanical operation of a motor to position a head at data storage positions, however, access speed and data transfer speed are low.
Since an optical storage medium can be separated from the motor driving an optical disk device, carrying and moving the optical storage medium is simple; although the capacity of the optical storage medium is somewhat small, the optical storage medium is widely accepted as a means for delivering operating systems or applications at a lowest cost. Conventionally, a half-height drive is used for desktop computers while 12.7 mm and 9.8 mm slim drives are used for notebook computers, laptop computers, and other small size computers. A small size computer such as a notebook computer frequently employs a magnetic storage medium (or flash storage device) for installing and running an operating system and applications together with an optical drive for driving an optical disk device for installing and moving programs. If a small size computer does not provide a sufficient space, the optical drive is either implemented in a detachable form or not installed at all. Therefore, when a user actually tries to use an optical drive, the user often suffers inconvenience because the small size computer is not equipped with the optical drive.
An object of the present invention is to provide a hybrid storage device formed as a single body and a control method of the same allowing storage devices of different mechanisms to make use of the respective advantages.
Another object of the present invention is to provide a hybrid storage device formed as a single body and a control method of the same complementing shortcomings of the respective storage devices of different mechanisms.
A further object of the present invention is to provide a hybrid storage device reducing wear level of a flash memory device by allowing data blocks of low frequency of use in the flash memory device to be stored in an optical drive.
The object described above, according to the present invention, is achieved by an optical disk device, a flash storage device equipped with flash memory, and a controller converting data into data format of a target device when the data are transferred between the flash storage device and the optical disk device.
The object described above, according to the present invention, is achieved by an optical disk device, a flash storage device equipped with flash memory, and a controller making a backup of data whose access frequency is lower than a predetermined reference value among data stored in the flash storage device into the optical disk device and deleting the original copy of the backup data to secure a storage space of the flash storage device.
The object described above, according to the present invention, is achieved by determining occurrence of data transfer between a flash storage device and an optical disk device in a hybrid storage device formed as a single body by combining the flash storage device and the optical disk device; setting objects sending and receiving the data respectively as a source and a target device between the flash storage device and the optical disk device; and converting the data to be sent into data format of the target device.
A hybrid storage device according to the present invention enables to make use of the respective advantages of an optical disk device and a flash storage device when a data backup, a fast data transfer, or data caching of the optical disk device is required or depending on various situations to preserve important data.
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the principles of the invention.
In the drawings:
FIG. 1 illustrates a hybrid storage device of the present invention;
FIG. 2 illustrates a method for making a backup of data in a flash storage device into an optical disk device;
FIG. 3 illustrates a method for a flash storage device to support data transfer speed of an optical disk device;
FIG. 4 illustrates a method where a hybrid storage device according to the present invention generates a data image of an optical storage medium and improves data transfer speed and access speed of an optical disk device by using the data image stored in a flash storage device;
FIG. 5 illustrates a block diagram of one embodiment of a hybrid storage device according to the present invention;
FIG. 6 illustrates a method for wear leveling of a flash memory device and making a data backup according to the wear leveling;
FIG. 7 illustrates one embodiment of representing a hybrid storage device according to the present invention in a host;
FIG. 8 illustrates another embodiment of representing a hybrid storage device according to the present invention in a host;
FIG. 9 illustrates a method for assigning a unique name to an optical disk device and a flash storage device which have been represented as a single device;
FIG. 10 illustrates a method for assigning a unique icon to an optical disk device and a flash storage device;
FIG. 11 illustrates a control flow for making a hybrid storage device be recognized as a flash memory device by a host;
FIG. 12 illustrates the structure of a memory module constituting a flash storage device in a hybrid storage device according to the present invention;
FIG. 13 illustrates a block diagram of a hybrid storage device according to a different embodiment of the present invention;
FIG. 14 illustrates a flow diagram of a method for garbage collection of a flash storage device according to one embodiment of the present invention;
FIG. 15 illustrates operations for reading data recorded in a hybrid storage device according to one embodiment of the present invention;
FIGs. 16 and 17 illustrate respectively the structure of a system for making a backup of data recorded in a memory module into an optical storage medium and a flow diagram for an operating method according to one embodiment of the present invention;
FIGs. 18 and 19 are flow diagrams for illustrating garbage collection according to one embodiment of the present invention;
FIG. 20 illustrates a method for differentiating data storage areas according to access frequency of data to be recorded in a memory module and providing power according to the access frequency; and
FIG. 21 illustrates a method for operating a hybrid storage device of FIG. 20.
Hereinafter, according to the present invention, a preferred embodiment of a hybrid storage device and a control method of the same will be described with reference to appended drawings.
FIG. 1 illustrates a concept of an optical disk device of the present invention formed as a single body with a flash storage device.
With reference to FIG. 1, an optical disk device formed as a single body together with a flash storage device according to the present invention accepts an optical storage and a flash storage together in a single body; either of the optical disk device or the flash storage device transmits data to or receives data from a host.
An optical storage loaded in the body provides a large storage capacity and requires a small storage cost per bit but is offset by a slow data transfer speed and an access speed. A flash storage provides a small storage capacity and storage cost per bit is higher than that of the optical storage.
The importance of the present invention lies in the fact that the present invention, by taking account of characteristic differences between an optical storage and a flash storage, complements shortcomings and reinforces advantages of the two storage devices. For example, the present invention can have the following characteristics.
1) Data image of the data recorded in an optical storage is generated and the data image is stored in a flash storage. Afterwards, when a host makes access to the optical storage, the corresponding access data are extracted from the data image and transferred to the host.
In this case, the flash storage can complement the slow access speed and data transfer speed of the optical storage.
2) By moving data in a flash storage where storage capacity per bit is costly to an optical storage, storage capacity for the flash storage can be secured. In this case, among the data recorded in the flash storage, those with the lowest frequency of use can be moved to the optical storage.
3) Making a mutual backup of important data among those recorded in a flash storage or an optical storage can be possible.
Meanwhile, an optical disk device formed as a single body together with a flash storage device according to the present invention is connected to a host according to a single interface and is installed in a single body. Therefore, usefulness of the present invention can by maximized when the present invention is applied to notebook computers, laptop computers, PMPs, and various small size electronic devices where a space for installing an optical disk device and a flash storage device is not enough.
In an optical disk device formed as a single body together with a flash storage device according to the present invention, heterogeneous storages can be used in a single body which can be connected to a host by an interface such as SATA or USB. From the viewpoint of a host, a hybrid storage device according to the present invention can be recognized as a single storage device. Therefore, when the host accesses the optical storage or the flash storage, data getting in and out through a single interface should be differentiated by the storage type. In a hybrid storage device according to the present invention, a data flow controller of an optical disk storage can control the data flow by assigning separate identifiers to the data of the optical storage and to the data of the flash storage.
A data flow controller can be implemented in various ways. A data flow controller can be implemented to perform an integrated control of an optical disk device and a flash storage device; a data flow controller belonging to an optical disk device can control the data flow between a flash storage and an optical storage or a data flow controller belonging to a flash storage device can control the data flow between a flash storage and an optical storage. Furthermore, it is preferable that a data flow controller controlling the data flow between the optical storage and the flash storage should manage data transfer and reception to and from a host and be recognized as a single device when viewed from the host.
FIG. 2 illustrates a method for making a backup of data in a flash storage device into an optical disk device.
With reference to FIG. 2, data with low frequency of use among those stored in a flash storage whose unit cost per bit is high are moved into an optical storage and storage area of the flash storage is secured by deleting the corresponding data of the flash storage. A flash storage usually stores an operating system or applications since the flash storage device provides faster data access speed and data transfer speed than an optical disk device. On the other hand, expanding storage capacity of a flash storage is not easy compared to a magnetic hard disk since the unit cost per bit of the flash storage is higher than that of an optical storage or a magnetic hard disk.
FIG. 3 illustrates a method for a flash storage device to support data transfer speed of an optical disk device.
With reference to FIG. 3, when a host 50 accesses an optical disk device formed as a single body together with a flash storage device according to the present invention, the flash storage device can cache the data recorded in the optical storage and transfer the data to the host 50.
In general, a host 50 does not process continuous data writing/reading to and from an optical storage. If an application installation program is stored in an optical storage and the user activates the installation program, data stored in the optical storage are activated step by step as the user selects an installation option or enters a license key; or in response to the confirmation of the installation by the user. At this time, when the optical storage is accessed, a flash storage receives data of the optical storage continuously; when the host requests the data of the optical storage, the flash storage device transfers the requested data to the host 50 in place of the optical disk device. Therefore, an optical disk device formed as a single body together with a flash storage device according to the present invention can improve data transfer speed significantly compared with a conventional optical disk device.
FIG. 4 illustrates a method where an optical disk device formed as a single body together with a flash storage device according to the present invention generates a data image of the optical storage and improves data transfer speed and access speed of the optical disk device by using the data image.
With reference to FIG. 4, a data flow controller (DFC) of an optical disk device formed as a single body together with a flash storage device can generate a data image by using the data of the optical storage and put the generated data image in the flash storage.
The data image takes the form of a single file generated from the data stored in the optical storage, which is commonly employed in a virtual CD-ROM program (e.g., Demon, Virtual drive, and cd-space). In the present invention, a data image can have file extensions such as ISO, LCD, and VCD; the data image can also have an extension or a file format assigned specifically by the designer or the manufacturer of the optical disk device formed as a single body together with a flash storage device according to the present invention.
If a data image is put in the flash storage, when a host accesses the optical storage, the data flow controller 110 reads out the data image stored in the flash storage, extracts files in question from the data image, and provides the extracted files for the host. Since the speed of extracting files from the data image and sending the extracted files is usually faster than the data transfer speed of an actual optical disk device by hundreds of times, it is apparent that the speed of the host's obtaining data of the optical storage and data transfer speed can be dramatically improved.
FIG. 5 illustrates a block diagram of an optical disk device formed as a single body together with a flash storage device according to the present invention.
With reference to FIG. 5, an optical disk device formed as a single body together with a flash storage device according to the present invention comprises a data flow controller 110, memory 160, an optic controller 141, a flash controller 151, an optical disk device 140, a flash storage device 150, and an interface unit 170.
An optical disk device 140 comprises optical media such as CD-ROM, DVD-ROM, and Bluray disk; and a driving unit driving an optical storage medium and reading out data from the optical storage medium. The optic controller 141 controls rotating speed of a motor; and amount of driving and position of a laser head by controlling the driving unit.
The flash storage device 150 comprises a flash ROM of NOR or NAND type; if the flash storage device 150 is comprised of non-volatile memory, memory other than NOR or NAND type memory can be employed. The flash storage device 150 is driven in association with a flash controller 151.
The flash controller 151 generates a mapping table which maps addresses requested by the host onto the addresses of memory; when data are recorded according to the mapping table, the flash controller 151 performs wear leveling to ensure all of the logic blocks constituting the flash storage device 150 to be evenly worn out.
Wear leveling equalizes erase cycles and recording cycles for each of a plurality of blocks divided logically from the storage area of the flash storage device 150 and thus allows each block to participate equally in data recording.
The data flow controller 110 controls data flow among the host 50, the flash storage device 150, and the optical disk device 140.
The data flow controller 110 assigns separate identifiers to the respective data read out from the optical disk device 140 and the flash storage device. Since an optical disk device formed as a single body together with a flash storage device is equipped with an optical disk device 140 and a flash storage device 150 together in a single body; and is connected to a host 50 by a single cable (for example, SATA or USB), if the host 50 sends data to or receives data from the optical disk device 140 and the flash storage device 150, the two storage devices should be distinguished from each other.
The data flow controller 110 enables the host 50 to distinguish the optical disk device 140 and the flash storage device 150 by using identifiers. The identifier can be stored in a file header in the form of a specific format or can assume the name of a device.
As illustrated through FIGs. 2 to 4, the data flow controller 110 can either secure a storage space of the flash storage device 150 by making a backup of data of the optical disk device 140 in the flash storage device 150 or transfer the data of the optical disk device 140 to the host 50 by caching the data in the flash storage device 150.
Or the data flow controller 110 can generate a data image for the data stored in the optical disk device 140 and when the host 50 accesses the optical disk device 140 by using the data image, extract files from the data image and provide the files for the host 50.
At this time, it is desirable that the data flow controller 110 should generate data image about the optical disk device when the host 50 does not access the optical disk device 140 or the host 50 does not access both the optical disk device 140 and the flash storage device 150.
Preferably, the data flow controller 110 comprises a file system converter 112, a data analyzer 113, and a data processing unit 114.
A data analyzer 113 assigns identifiers to the data input to and output from an optical disk device 140 and a flash storage device 150. The data analyzer 113 assigns an identifier to received data by referring to an access target of the host 50 (e.g., an optical disk device or a flash storage device).
A data processing unit 114, with reference to the identifier, creates a data path by associating either of the optical disk device 140 and the flash storage device 150 with the interface unit 170. At this time, the data processing unit 114 assigns a data bus and a control bus to the storage device which forms a data path leading to the interface unit 170.
Meanwhile, the data processing unit 114, while the host 50 is not using an optical disk device formed as a single body together with a flash storage device according to the present invention, can either generate data image about the data stored in the optical disk device 140 or make a backup of the data stored in the optical disk device 140 into the flash storage device 150 beforehand. Also, the data processing unit 114 can secure a storage area of the flash storage device 150 by making a backup of a data area showing virtually no access by the host 50 into the optical disk device 140 through a flash controller 151.
At this point, the data processing unit 114, the flash controller 151, and the optic controller 141 are assumed to exist individually but forming the three as a single chip is equally possible.
A file system converter 112 converts file formats between the optical disk device 140 and the flash storage device 150 when a data flow is generated between the optical disk device 140 and the flash storage device 150.
An optical disk device 140 such as CD-ROM or DVD-ROM usually follows ISO9660 or universal disk format (UDF) and the size of a data block amounts to 1024 bytes. On the other hand, a flash storage device 150 such as SSD follows FAT and NTFS format and the size of a data block amount to 512 bytes.
If data are to be transferred between two storage devices 140, 150 having different file formats and file sizes, data of a source side should be converted to fit into the data format and the size of a target side. The file system converter 112 determines a source and a target for the processes such as making backups of the optical disk device 140 and the flash storage device 150 and generating a data image of the optical disk device 140; and converts data of a source side to fit into the data format and the size of the target side. In case when a data image for the optical disk device 140 is generated, the file system converter 112 converts the data read out from the optical disk device 140 into FAT or NTFS format of the flash storage device 150; at this time, the block size is also changed to 512 byte.
An interface unit 170 is disposed between the data flow controller 110 and the host 50; and converts the format of the data transferred between the data flow controller 110 and the host 50 into the interface requested by the host 50.
If an optical disk device formed as a single body together with a flash storage device according to the present invention is connected to a host 50 having SATA interface, the interface unit 170 converts the data transferred from the data flow controller 110 to the host 50 according to SATA interface; if the optical storage is connected to the host 50 through USB interface, data transferred from the data flow controller 110 to the host 50 are converted according to USB interface.
FIG. 6 illustrates a method for wear leveling of a flash memory device and making a data backup according to the wear leveling.
FIG. 6 illustrates a flash memory device according to the present invention and connectivity relationship between the flash memory device and a host.
With reference to FIG. 6, the flash memory device 100 is connected to a data flow controller 110 through MCU 151A and the data flow controller 110 carries out data communication by connecting to the host 50. At this time, a flash controller 151B prepares a mapping table for each block which constitutes a memory module 152.
A memory module 152 is divided into a plurality of blocks; different from a mechanical hard disk drive, each block is not divided on the basis of a cylinder, a header, and a sector. Therefore, in order to perform data communication with the host 50 instead of using a hard disk drive still in widespread use, each physical block should be made to correspond to a logical address system of the host 50; for this purpose, a "mapping table" is commonly used. In the present invention, a mapping table is divided into a plurality of tables, forming a plurality of partial mapping tables; each partial mapping table is stored being distributed in each block 152A ~ 152N.
At this time, each block 152A ~ 152N comprises multiple pages and each page comprises multiple cells.
A page is the smallest recording unit which a host 50 can make a request for recording, ranging from a number of bytes to a number of kilobytes.
Also, a flash controller 151B calculates wear level of each block 152A ~ 152N and performs wear leveling. A memory module 152 has erase durability ranging between 10,000 cycles and 100,000 cycles or so. If erasure more than the above number of cycles is concentrated on a particular block, the corresponding block can fall into a unusable state or have a high chance to give rise to data error.
Therefore, a flash controller 151B needs to control each block to have an equal number of erase cycles, which is commonly called wear leveling.
Wear leveling, at the time of recording data, attempts to prevent a particular block from continuously worn out by avoiding recording data on a block with a high concentration of erase cycles. In the present invention, if a wear level of a particular block of flash memory 152 is severe, the data of the corresponding block are copied to an optical disk device 140 and the block with the largest wear level can be made not to be assigned for further data recording.
Meanwhile, besides wear leveling, there is a chance that a particular block is not used almost all the time. In other words, some blocks are virtually not accessed by the host 50 and if those blocks are just kept without being used, the remaining blocks should perform a lot more data recording cycles.
The data flow controller 110 obtains information MCU 151A about blocks with virtually zero frequency of use; and performs wear leveling by making a backup of blocks with virtually zero frequency of use to the optical disk device 140. The data flow controller 110, after making a data backup to the optical disk device 140, assigns the corresponding blocks as a recordable area so that the corresponding blocks are used for recording data of the host 50 and at the same time, data recording cycles of neighboring blocks are reduced. The operation above brings an advantageous effect of distributing wear level evenly across the whole blocks constituting flash memory 152.
FIG. 7 illustrates one embodiment of representing an optical disk device formed as a single body together with a flash storage device according to the present invention in a host.
With reference to FIG. 7, an optical disk device 140 and a flash storage device 150 are installed in a single body to form a single device, which can still be represented as two separate devices. Also, since the optical disk device 140 and the flash storage device 150 are connected to a host 50 through the interface unit 170, the host 50 should be able to access the optical disk device 140 and the flash storage device 150 individually.
If the host 50 makes use of identifiers assigned by the data analyzer 113 for identification of the two devices, the two devices are displayed separately in the host 50 as shown in the reference symbol 10 (DVD-ROM drive(D:) and Mass Storage(E:)).
FIG. 8 illustrates another embodiment of representing an optical disk device in a host, the optical disk device being formed as a single body together with a flash storage device according to the present invention.
With reference to FIG. 8, an optical disk device 140 and a flash storage device 150 are represented as a single device 11 in a host 50.
To distinguish the two devices 140, 150 represented as a single device in FIG. 8, the present embodiment makes use of the concept of a folder, which is described with further reference to FIGs. 9 and 10.
First, FIG. 9 illustratea a method for assigning a unique name to an optical disk device 140 and a flash storage device 150 which have been represented as a single device (LG HiGreen).
With reference to FIG. 9, an optical disk device 140 and a flash storage device 150 are represented in the form of folders such as reference symbol 11 and 12.
The user of the host 50 can selectively access the flash storage device 150 and the optical disk device 140 by using icons expressed in the form of a folder.
Next, FIG. 10 illustrates a method for assigning a unique icon to an optical disk device 140 and a flash storage device.
With reference to FIG. 10, an optical disk device formed as a single body together with a flash storage device receives a drive name (F:) but a particular device name is not assigned to an optical disk device 140. As shown in the reference symbol 14, a folder added to the flash storage device 150 is assigned to the optical disk device 140. Therefore, if the user of the host 50 accesses the flash storage device 150, it suffices to choose the icon of the reference symbol 14 expressed as a device. On the other hand, if the user tries to access the optical disk device 140, the user searches for a sub-icon 15 belonging to the icon 14 and accesses the sub-icon 15, thus recording data in the optical disk device 140 or obtaining data from the optical disk device 140.
FIG. 11 illustrates a control flow for making an optical disk device formed as a single body together with a flash storage device be recognized as a flash memory device by a host.
With reference to FIG. 11, an optical disk device formed as a single body together with a flash storage device can make an optical disk device 140 be recognized as a flash storage device by a host 50. If a storage capacity of the flash storage device 150 is not sufficient or wear level becomes high, an optical disk device 140 can take the place of the flash storage device 150 and function as a flash storage device.
First, to examine the process of transferring the data of an optical disk device 140 to the thost 50, a data flow controller 110 obtains data from an optical storage medium 142 being inserted into the optical disk device 140 and converts the file system and the data size of the obtained data into the data format of the flash memory device 150. Next, the data flow controller 110 assigns an identifier to the data of the optical disk device 140 which have been converted to the data format of the flash storage device and processes the data of the optical disk device 140 as if they were the data of the flash memory device 150. Then, the data flow controller 110 provides the interface unit 170 with the data to which an identifier has been assigned; the interface unit 170 converts the data into one of SATA, e-SATA, E-IDE, USE, and IEEE1394 specifications according to the connection specifications of the interface port of the host 50 and transfers the converted data to the host 50.
FIG. 12 illustrates the structure of a memory module constituting a flash storage device in a hybrid storage device according to the present invention.
As shown in the figure, each memory chip constituting a memory module comprises 8192 blocks. A block comprises 32 pages and each page comprises a main area of 512 bytes and an auxiliary area of 16 bytes. User data are usually recorded in the main area which can be regarded as a set of sectors. In the auxiliary area, recorded is information about validity of the data recorded in the main area, ECC, LBA (Logical Block Address), LSN (Logical Sector Number), and the number of erase cycles.
FIG. 12 illustrates small block flash memory where a recording and reading unit of flash memory are the same as the recording and reading unit requested by an external host. The present invention, however, can also be applied to large block flash memory where a recording and a reading unit of flash memory are larger than the recording and the reading unit requested by an external host. In case of large block flash memory, a main area can comprise four sectors and data can be recorded in the units of a sector or a page.
FIG. 13 illustrates a block diagram of a hybrid storage device according to a different embodiment of the present invention.
With reference to FIG. 13, a hybrid storage device 200 according to the present invention incorporates an optic controller 210 which can record data in an optical storage medium 220 or read out data recorded in the optical storage medium 220 in response to a request of a host 70. Also incorporated is a flash controller 251 which can record data in a memory module 260 comprising flash memory or read out data recorded in flash memory.
The optic controller 210 comprises a host interface 211 which can send and receive data to and from a host 70; a buffer 212 where data to be recorded in an optical storage medium 220 or flash memory are stored temporarily or data read out from the optical storage medium 220 or the flash memory are stored temporarily; and an optical disk DSP (Digital Signal Processor, 243) controlling a terminal block of an optical disk device to record data into the optical storage medium 220 or read out data recorded in the optical storage medium 220, into which an optical storage medium 220 can be inserted or removed.
Data stored in a large volume storage device can be classified to Hot Access data frequently accessed according to access frequency of a host; Cold Access data accessed occasionally, and Seldom Access data hardly accessed. In response to the request of the host, Hot Access data should respond/be transferred quickly. On the other hand, Seldom Access data are those rarely accessed and in many cases, only occupy part of flash memory. Therefore, lowering response/transfer speed of the Seldom Access data does not cause inconvenience for the user.
A memory module 260 performs read and write operation in units of a page; and erase cycles can be performed in units of a block. Also, to reclaim a page containing obsolete data, garbage collection should be performed. In the present embodiment, to improve efficiency of garbage collection, Hot, Cold, and Seldom Access data stored in the respective blocks in the memory module 260 can be moved to other blocks.
Also, a hybrid storage device according to the present embodiment can store Seldom Access data stored in the flash memory in an optical disk during garbage collection, while only Hot Access data or Cold Access data can be stored in the memory module 260. Therefore, the present embodiment can secure a maximal storage space of the memory module 260 and implement a large volume storage device at low cost while keeping the data access of the host 70 at high speed.
In the present embodiment, a flash controller 251 records data in a memory module 260 in response to the request of a host 70. An optical storage medium 220 can be inserted to or removed from a hybrid storage device 200 by the user. The optical disk controller 210 rotates an optical storage medium 220 by using a servo device and an optical pickup and records data in the memory module 260 in response to the request of the flash controller 251. When the host 70 makes a request for read, Seldom Access data recorded in the optical storage medium 220 are transferred to the host 70 as the optic controller 210 reads out data recorded in the optical storage medium 220. Also, the optic controller 210, after transferring data recorded in the optical storage medium 220 to the host 70, can make the data transferred to the host 70 be recorded in flash memory through the flash controller 251.
FIG. 14 illustrates a flow diagram of a method for garbage collection of a flash storage device according to one embodiment of the present invention.
A flash controller 251 checks whether the remaining storage space of a memory module 260 is less than a reference value S10. Here, the reference value can be either a storage capacity prescribed by a manufacturer according to the capacity of the memory module 260 or a value calculated by a ratio determined in proportion to the storage capacity of the memory module 260. For example, the reference value can be determined by a value ranging from one third to one fifth of the entire storage capacity of the memory module 260; if the storage capacity of a memory module 260 amounts to 100 GB, the reference value can be set between 20 GB and 33 GB. The reference value can also be set in accordance to virtual memory required for a conventional operating system. Since the reference value can be increased or decreased depending on the environment where a hybrid storage device according to the present invention is installed, the reference value is not limited to that indicated above.
Meanwhile, if the remaining storage space is less than a reference value, the flash controller 251 can move the data of a block having a small number of valid pages to a new block in the memory module 260 or copy the data to an optical storage medium 220 to secure the remaining storage space; when the data transfer is completed, the block where the original data were recorded can be erased to secure a recordable storage space.
The flash controller 251, if the remaining storage space of the memory module 260 is less than a reference value, can select a block to erase (Victim Block) among blocks constituting the memory module 260, S15. At this time, victim blocks can be selected in various ways. The memory module 260 can comprise valid pages (which store valid data) and obsolete pages (which store obsolete data).
The flash controller 251 checks whether the data recorded in a valid page of a block correspond to Hot Access data, Cold Access data, or Seldom Access data S20. In the present embodiment, Hot, Cold, Seldom Access data are classified according to frequency of data access of the host 70. The flash controller 251, at the time of the request for data reading by the host 70, can know the frequency of data access from information about a total number of requests issued for each logical address or a number of requests within a predetermined time.
The flash controller 251 controls an optic controller 210 for Seldom Access data whose frequency of data access is less than a reference value to be copied to an optical storage medium 220, S25. Also, the flash controller 251 copies Hot Access data or Cold Access data whose frequency of data access is more than a reference value to other recordable blocks among the blocks constituting the memory module 260, S30.
The flash controller 251, after copying all the data stored in the victim blocks selected to the other blocks, erases the victim blocks S35. Therefore, the flash controller 251 can record new data in the victim blocks afterwards.
FIG. 15 illustrates operations for reading data recorded in a hybrid storage device according to one embodiment of the present invention.
In the present embodiment, Hot or Cold Access data are recorded in a memory module 260 of a hybrid storage device and Seldom Access data are recorded in an optical storage medium 220.
A flash controller 251 determines type of the data for which a host 70 has issued a read request S50. The flash controller 251 can determine the data type into one of Seldom Access, Cold Access, Hot Access from information assigned to a logical address of the data for which the host 70 has issued a read request.
The flash controller 251, if type of the data for which the host 70 has issued a read request is Cold Access data or Hot Access data, reads out the corresponding data from a flash memory block having a physical address corresponding to the logical address S55; and transfers the read out data to the host 70, S60.
The flash controller 251, if type of the data for which the host 70 has issued a read request is Seldom Access data, reads out the corresponding data through an optical disk DSP 243. The optical disk DSP 243 reads Seldom Access data for which the host 70 has issued a read request from an optical storage medium 220, S65; and transfers the data to the host 70, S70.
Also, if the host 70 issues a read request for Seldom Access data recorded in the optical storage medium 220 more than a predetermined number of times or issues a request for reading Seldom Access data within a predetermined time, the optical disk DSP 243 controls the flash controller 251 to copy Seldom Access data into a memory module 260. The flash controller 251 records Seldom Access data stored in an optical disk by copying the data into the memory module 260 and changes the type of Seldom Access data into Cold or Hot data S80.
FIGs. 16 and 17 illustrate respectively the structure of a system for making a backup of data recorded in a memory module into an optical storage medium and a flow diagram for an operating method according to one embodiment of the present invention.
A flash controller 251 manages a mapping table which contains information about physical addresses corresponding to logical addresses. The mapping table is stored in a memory module 260. In practice, the mapping table is used after being loaded into high speed SRAM 230 when the flash controller 251 associates a logical address of the host 70 with a physical address of the memory module 260; the mapping table can be also used by being loaded into a separate DRAM or memory embedded inside the flash controller 251.
The present embodiment describes one example of making a backup of a mapping table in an optical storage medium 220. If a backup of a mapping table is stored in an optical storage medium 220, even when a mapping table stored in the memory module 260 is damaged, the damaged mapping table of the memory module 260 can be restored by using the backup of the mapping table stored in the optical storage medium 220.
When the mapping table is restored by using the optical storage medium 220, the flash controller 251 obtains a mapping table from the optical storage medium 220 and can restore a damaged mapping table of the memory module 260 from the obtained mapping table.
Meanwhile, SDRAM 230, in addition to storing a mapping table of the memory module 260, can be used as a buffer for the data of the memory module 260 before the data are transferred to the host 70. If SDRAM 230 does not exist in FIG. 16, a buffer 212 can replace SDRAM 230 to store a mapping table temporarily or to buffer data transferred between the host 70 and the memory module 260.
The flash controller 251, if a data record command (e.g., Flush Cache) is received, records data buffered in the SDRAM 230 in the memory module 260. At this time, the flash controller 251 controls the optical disk DSP 213 for the data of SDRAM 230 to be recorded in the optical storage medium 220.
In case when data stored in the memory module 260 is damaged or a mapping table is damaged due to power failure, a hybrid storage device 200 does not function normally during power-on period. In this case, the hybrid storage device 200 can, automatically or in response to the user's command, restore the damaged mapping table in the memory module 260 by using a backup of the mapping table stored in the optical storage medium 220.
The flash controller 251 of the hybrid storage device 200 determines that recorded data have been corrupted if data stored in the memory module 260 are not read out in response to a read request issued by the host 70 or if the data read out are abnormal or if error codes are different. In this case, therefore, the flash controller 251 can automatically restore corrupted data depending on the data stored in the optical storage medium 220.
FIG. 17 illustrates a flow diagram of a method for the user to detect damage of the data recorded in the memory module of a hybrid storage device 200 and to restore the damaged data.
Normal operation of a hybrid storage device 200 can be checked by the user or automatically. If a mapping table of the memory module 260 constituting the hybrid storage device 200 is damaged, since a logical address of the host 70 is not properly translated to the corresponding physical address of the memory module 260, a data record or data read command of the user can not be performed normally.
As shown in the figure, by monitoring the operation of the hybrid storage device 200, the user can determine whether the hybrid storage device 200 functions normally S100. If the user determines that the hybrid storage device 200 is functioning normally, the hybrid storage device 200 performs operations according to a normal process S105.
On the other hand, if the user determines that the hybrid storage device 200 is not functioning normally, the user inserts an optical storage medium 220 into the hybrid storage device 200, S110. In the optical storage medium 220, including a mapping table, recorded are data which require a backup among those data recorded in the memory module 260.
The optic controller 210 searches the data recorded in the optical storage medium 220 for the mapping table S115 and loads the mapping table found into SDRAM 230, S120. The flash controller 251 restores a damaged mapping table by recording the mapping table loaded into SDRAM 230 in the memory module 260, S125. A hybrid storage device 200 which restored a mapping table undergoes an initialization process S130 and then performs a normal process S105.
FIGs. 18 and 19 are flow diagrams for illustrating garbage collection according to one embodiment of the present invention.
In the present embodiment, a hybrid storage device 200 can assign sequence numbers for the respective blocks when data are recorded in the blocks of a memory module 260. The sequence number is incremented by one as data are recorded in a new block. Therefore, a block which contains the most recently recorded data has the largest sequence number. In the present embodiment, the hybrid storage device 200, while performing garbage collection, can choose a block whose sequence number is less than a reference number and which has a number of valid pages less than a reference number. It is because amount of data to copy becomes small with a small number of valid pages and a probability of generating an interrupt becomes small during data copy since access frequency of the host 70 to the block of a low sequence number gets low.
First, FIG. 18 illustrates a flow diagram of a method for a flash controller 251 to write data in a memory module 260 in response to a write request of a host 70.
With reference to FIG. 18, the flash controller 251 determines in response to a data write request of the host 70 whether empty pages are available in the memory module 260, S150.
If empty pages available are not found, the flash controller 251 selects a new empty block S155. Also, the flash controller 251 increments the current sequence number by "1" S160.
If empty pages are found within a block, data are recorded in the block having extra pages and a sequence number for the pages in the block are kept the same.
Next, the flash controller 251 records data corresponding to the write request of the host 70 in a block S165. The flash controller 251 which has recorded data updates management information about the block where the data have been recorded S170. The flash controller 251 assigns a current sequence number to the block where data have been recorded in the S165 step and increments the number of valid pages S170.
Next, the flash controller 251 searches a mapping table for a physical address corresponding to the logical address to which the host has issued a write request S175. The flash controller 251 updates block management information of the block to which a physical address searched belongs S180. In other words, the flash controller 251 assigns a sequence number to the block which has a physical address searched in the S175 step and decrements the number of valid pages of the block S180.
The above operation is performed to indicate that as the data recorded in the existing physical address corresponding to a logical address are newly accessed, the data of the corresponding block have been accessed by incrementing the sequence number of the block.
Next, FIG. 19 illustrates a flow diagram of garbage collection of a hybrid storage device 200 according to the present embodiment.
With reference to FIG. 19, the flash controller 251 determines whether the remaining space for recording data in a memory module 260 is less than a reference value S200. If the remaining space is found to be less than a reference value, the flash controller 251, to perform garbage collection, examines blocks to be erased S205. In the present embodiment, the flash controller 251 selects a block to be erased, where the number of valid pages is less than a reference value and the sequence number is less than a reference value S210, S215. The flash controller 251 selects a block to be erased by sequentially examining block management information of each block constituting the memory block 260, S220.
The flash controller 251 selects a physical block having the number of valid pages and a sequence number less than a predetermined reference value as the block to be erased S225 and copies information recorded in the valid page belonging to the selected physical block to a new physical block having an empty space S230. Also, the flash controller 251 can assign the sequence number of the block to be erased to the new physical block. The reason for assigning the same sequence number to the new block making a backup of the block to be erased and the data thereof is that in response to a write request of the host, data transfer is performed inside the hybrid storage device 200 rather than data is newly recorded.
Next, the flash memory controller 240, after data copy is completed, erases the data of the block to be erased S240.
The present embodiment can be used together with an operation method of a hybrid storage device of FIG. 14. In other words, the flash controller 251, while performing garbage collection, can move the data with access frequency more than a reference value among those data stored in a block where the number of valid pages and the corresponding sequence number are less than a reference number to a new block; and copy the data less than the reference value to an optical storage medium 220.
The hybrid storage device of the present embodiment, by performing garbage collection through the method above, reduces the number of data copy and efficiently manages the data of flash memory and an optical disk.
FIG. 20 illustrates a method for differentiating data storage areas according to access frequency of data to be recorded in a memory module 260 and providing power according to the access frequency.
With reference to FIG. 20, power consumption is reduced by turning off the power of flash memory where data with access frequency less than a reference value are recorded. The memory module 260 can comprise a plurality of memory chips 261 ~ 263, flash power 265 supplying power to the memory chips 261 ~ 263, and an on/off switch 266 ~ 268 connecting the memory chips 261 ~ 263 and the flash power 265.
In the present embodiment, the flash controller 251, among the data recorded in a memory module 260, classifies data whose access frequency of a host 70 is less than a reference value into Cold Access data type and those data more than a reference value to Hot Access data type. The flash controller 251 can record and manage Cold Access data and Hot Access data in a physically different memory chip.
In the present embodiment, the flash controller 251 records and manages Cold Access data in a first and a second memory chip 261, 262; and Hot Access data in a third memory chip 263. When the first memory chip 261 and the second memory chip 262 stores Cold Access data and the third memory chip 263 stores Hot Access data, the flash controller 251 can turn off a first and a second switch 266, 267 to cut off flash power supplied to the first and the second flash memory 261, 262 where Cold Access data are recorded. Also, the flash controller 251 can turn on a third switch 268 connecting the flash power 265 and a third flash memory 263 where Hot Access data with high access frequency of a host 70 are recorded. Therefore, power is always supplied to a memory chip 263 where data with the highest access frequency are recorded while power supply is cut off for memory chips 261, 262 having data with low access frequency, thereby reducing power consumption of a hybrid storage device 200 according to the present invention.
The flash controller 251, if the host 70 issues a read request for the data recorded in a memory chip 263 to which power is supplied, reads out data from a block containing the requested data and transfers the read out data to the host 70. If the host 70 issues a read request for the data recorded in a memory chip 261, 262 for which power is cut off, the flash controller 251 should provide power to the memory chip 261, 263 which received a read request; reset the memory chip 261, 263 to which power has been provided; and then read out data from the memory chip and send the data to the host 70.
The flash controller 251 according to the present embodiment periodically check access information of the data recorded in a flash memory and according to the check result, reassigns the type of data recorded in the flash memory to Hot Access data or Cold Access data. The flash controller 251 copies reassigned data to Hot Access data storage flash memory or Cold Access data storage flash memory according to the data type and manages the copied data.
Also, the flash controller 251, if the data recorded in flash memory where Cold Access data are stored are accessed more than a predetermined value, can allow flash power to be supplied all the time afterwards by changing the corresponding flash memory as Hot Access data storage flash memory.
FIG. 21 illustrates a method for operating a hybrid storage device of FIG. 20.
With reference to FIG. 21, the flash controller 251, if a data write request from a host 70 is received, records target data in a memory chip 263 where Hot Access data are stored S300, S305. If time corresponds to data classification period after a predetermine time, the flash controller 251 examines whether Cold Access data exist in an area where Hot Access data are store S315. If Cold Access data are found S320, the flash controller 251 selects a memory chip where Cold Access data are stored S325 and checks whether power of the corresponding memory is on or off S330. If power is off for the corresponding flash memory, the flash controller 251 turns on a switch connecting the corresponding flash memory and a flash power 265 and provides power for the corresponding memory chip and resets the corresponding memory chip S335. The flash controller 251 then moves Cold Access data residing in a memory chip where Hot Access data are stored to a memory chip where reset Cold Access data are stored S340.
Likewise, if Cold Access data are not found in the flash memory where Hot Access data are stored, the flash controller 251 examines whether Hot Access data exist in the flash memory where Cold Access data are stored S345. If Hot Access data are found S350, the flash controller 251 selects a memory chip where Hot Access data are stored S355. Meanwhile, if in the step of S345 and S350, power of the memory chip where Cold Access data are stored and Hot Access data are found is off S360, the flash controller 251 provides power to the memory chip whose power is off (e.g., reference symbol 261, 262) and resets the memory chip S365 and moves the data recorded in the reset memory chip to a memory chip selected in the step of S355, S370.
Meanwhile, if a data read is requested by a host 70, S375 and the data for read request are Cold Access data, the flash controller 251 determines whether power of the memory chip where the corresponding data are stored is off S380, S385; if the power is found to be off from the determination result, the memory chip is provided with power and is reset S390.
The host 70 reads out data from the memory chip reset in the step of S390 and transfers the data to the host S395, S400. The flash controller 251, if Cold Access data are stored in the memory chip, turns off power entirely except for the memory chip which has recently been accessed for data read S405.
Preferred embodiments of the present invention have been described with appended drawings; however, the present invention is not limited to particular embodiments described in detail above. It should be understood that those skilled in the art to which the present invention belongs can perform various modifications of the embodiments without departing from the scope of the present invention specified in the appended claims. It is apparent that those modified embodiments should not be understood individually from the spirit or the scope of the present invention.
Claims (25)
- A hybrid storage device, comprising:an optical disk device;a flash storage device equipped with flash memory; anda controller, when data are transferred between the flash storage device and the optical disk device, converting the data into data format of a target device
- The hybrid storage device of claim 1, wherein the controller, among at least one block constituting the flash memory, makes a backup of data of a block whose wear level is less than an average value in the optical disk device by referring to wear level of the flash memory.
- The hybrid storage device of claim 1, wherein the controller forms a data transfer path between a host and either of the flash storage device and the optical disk device.
- The hybrid storage device of claim 1, wherein the controller forms an image file about data stored in the optical disk device and records the image file in the flash storage device.
- The hybrid storage device of claim 4, wherein the controller, when a host accesses data stored in the optical disk device, extracts a file of access target from the image file and transfers the extracted file to the host.
- The hybrid storage device of claim 1, further compring memory caching data of the optical disk device when a host accesses data stored in the optical disk device.
- The hybrid storage device of claim 6, wherein the controller, when the host accesses the optical disk device, transfers the cached data to either of the host and the flash storage device.
- The hybrid storage device of claim 1, wherein the controller comprises:a data analyzer assigning an identifier to data of the optical disk device and the flash storage device; anda data processing unit forming a data channel between a host and either of the optical disk device and the flash storage device by referring to the identifier.
- The hybrid storage device of claim 8, wherein the host recognizes the optical disk device and the flash storage device as separate devices by referring to the identifier.
- The hybrid storage device of claim 1, wherein the optical disk device, when the optical disk device is in idle state where input and output of the data do not occur, makes a backup of data recorded in an optical storage medium in the flash storage device.
- The hybrid storage device of claim 1, further comprising:an interface unit disposed between the controller and a host and making the optical disk device and the flash storage device be recognized as a single device by the host.
- The hybrid storage device of claim 11, wherein the interface unit, when the host accesses the optical disk device and the flash storage device expressed as the single device, enables the host to access the optical disk device and the flash storage device individually by providing an identifier about the optical disk device and the flash storage device for the host.
- The hybrid storage device of claim 1, wherein the controller, when data transfer among the optical disk device and the flash storage devices is occurred, resizes a file size according to specifications of the optical disk device and a file size according to file format of the flash storage device according to a file size of a target storage device.
- A hybrid storage device, comprising:an optical disk device;a flash storage device equipped with flash memory; anda controller making a backup of data whose access frequency is lower than a predetermined reference value among data stored in the flash storage device into the optical disk device and deleting the original copy of the backup data to secure a storage space of the flash storage device.
- The hybrid storage device of claim 14, wherein the controller, when data are transferred inside the optical disk device, converts the data into data format of a target device.
- The hybrid storage device of claim 14, wherein the controller makes a backup of data whose access frequency is less than a predetermined reference value among data stored in the flash storage device in the optical disk device.
- The hybrid storage device of claim 14, wherein the controller makes a backup of a mapping table mapping between a physical address about the flash storage device and a logical address of a host in the optical disk storage device.
- The hybrid storage device of claim 14, wherein the controller, after performing backup of the data, erases the original copy of the data to secure a storage space of the flash storage device.
- The hybrid storage device of claim 14, wherein the controller turns off power supplied to a memory chip whose access frequency by a host is less than an average or less than a predetermined reference value among individual memory chips constituting the flash storage devices.
- The hybrid storage device of claim 19, wherein the controller, when access frequency of data recorded in the powered-off memory chip gets higher than a reference value, copies data to powered-on flash memory to which power is being supplied.
- A method of controlling a hybrid storage device, comprising:in a hybrid storage device formed as a single body by combining a flash storage device and an optical disk device, determining occurrence of data transfer between the flash storage device and the optical disk device;setting objects sending and receiving the data respectively as a source and a target device between the flash storage device and the optical disk device; andconverting the data to be sent into data format of the target device.
- The method of claim 21, further comprising making a backup of a mapping table of the flash storage device into the optical disk device.
- The method of claim 22, further comprising restoring a mapping table of the flash storage device with a backup mapping table in the optical disk device.
- The method of claim 21, further comprising storing an image file about the optical disk device in the flash memory.
- The method of claim 21, further comprising:determining whether the remaining storage space of the flash storage device is less than a predetermined reference value; andif the remaining storage space of the flash storage device is less than the reference value, moving at least one among data blocks of the flash storage device to the optical disk device.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2009-0074800 | 2009-08-13 | ||
KR1020090074800A KR20110017234A (en) | 2009-08-13 | 2009-08-13 | Optical storage device combining with flash memory storage devices, and contol method |
KR1020090098856A KR20110041843A (en) | 2009-10-16 | 2009-10-16 | Hybrid storage device and operating method for the same |
KR10-2009-0098856 | 2009-10-16 |
Publications (3)
Publication Number | Publication Date |
---|---|
WO2011019216A2 true WO2011019216A2 (en) | 2011-02-17 |
WO2011019216A9 WO2011019216A9 (en) | 2011-05-19 |
WO2011019216A3 WO2011019216A3 (en) | 2011-06-30 |
Family
ID=43586654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2010/005291 WO2011019216A2 (en) | 2009-08-13 | 2010-08-12 | Hybrid storage device, and control method |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2011019216A2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016094003A1 (en) * | 2014-12-11 | 2016-06-16 | Intel Corporation | Computing method and apparatus with persistent memory |
US9703485B2 (en) | 2015-07-15 | 2017-07-11 | Western Digital Technologies, Inc. | Storage management in hybrid drives |
EP4022415A4 (en) * | 2019-10-10 | 2023-03-15 | Zhejiang Dahua Technology Co., Ltd. | Systems and methods for power outage protection of storage device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060034773A (en) * | 2004-10-19 | 2006-04-26 | 도시바삼성스토리지테크놀러지코리아 주식회사 | Method for extending a function of disk drive and optical disk drive using the same |
KR20070013227A (en) * | 2005-07-25 | 2007-01-30 | 소니 가부시끼 가이샤 | Data memorizing device and method, and recording/reproducing system |
KR20070033816A (en) * | 2005-09-22 | 2007-03-27 | 주식회사 히타치엘지 데이터 스토리지 코리아 | Data backup device and method in hybrid disk drive |
US20070083356A1 (en) * | 2005-10-12 | 2007-04-12 | Storage Appliance Corporation | Methods for selectively copying data files to networked storage and devices for initiating the same |
-
2010
- 2010-08-12 WO PCT/KR2010/005291 patent/WO2011019216A2/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060034773A (en) * | 2004-10-19 | 2006-04-26 | 도시바삼성스토리지테크놀러지코리아 주식회사 | Method for extending a function of disk drive and optical disk drive using the same |
KR20070013227A (en) * | 2005-07-25 | 2007-01-30 | 소니 가부시끼 가이샤 | Data memorizing device and method, and recording/reproducing system |
KR20070033816A (en) * | 2005-09-22 | 2007-03-27 | 주식회사 히타치엘지 데이터 스토리지 코리아 | Data backup device and method in hybrid disk drive |
US20070083356A1 (en) * | 2005-10-12 | 2007-04-12 | Storage Appliance Corporation | Methods for selectively copying data files to networked storage and devices for initiating the same |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016094003A1 (en) * | 2014-12-11 | 2016-06-16 | Intel Corporation | Computing method and apparatus with persistent memory |
US9715453B2 (en) | 2014-12-11 | 2017-07-25 | Intel Corporation | Computing method and apparatus with persistent memory |
US9703485B2 (en) | 2015-07-15 | 2017-07-11 | Western Digital Technologies, Inc. | Storage management in hybrid drives |
EP4022415A4 (en) * | 2019-10-10 | 2023-03-15 | Zhejiang Dahua Technology Co., Ltd. | Systems and methods for power outage protection of storage device |
US11914441B2 (en) | 2019-10-10 | 2024-02-27 | Zhejiang Dahua Technology Co., Ltd. | Systems and methods for power outage protection of storage device |
Also Published As
Publication number | Publication date |
---|---|
WO2011019216A9 (en) | 2011-05-19 |
WO2011019216A3 (en) | 2011-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8352690B2 (en) | Cache synchronization for solid state disks | |
US6941423B2 (en) | Non-volatile mass storage cache coherency apparatus | |
US8166258B2 (en) | Skip operations for solid state disks | |
JP5976980B1 (en) | Hierarchical storage system, computer using hierarchical storage device, and method for correcting count of access to file | |
US6735678B2 (en) | Method and apparatus for disc drive defragmentation | |
JP5657801B2 (en) | Storage system and storage control method | |
WO2013024952A1 (en) | Memory controller and data management method therefor | |
US20070038806A1 (en) | Selective information caching on disk drive | |
US20020138705A1 (en) | Data saving method and external storage device | |
JP5721344B2 (en) | System, system control method, and program | |
WO2012091234A1 (en) | Memory system including a nonvolatile memory and a volatile memory, and processing method using the memory system | |
JP3983650B2 (en) | Hybrid storage and information processing apparatus using the same | |
US20050210214A1 (en) | Fragmentation executing method and storage device | |
JPS6367686B2 (en) | ||
WO2012117435A1 (en) | Storage apparatus and data processing method of the same | |
WO2013176376A1 (en) | Method and device for identifying information for chip-level parallel flash memory | |
JP4053067B2 (en) | Hybrid storage and information processing apparatus using the same | |
WO2011019216A9 (en) | Hybrid storage device, and control method | |
US6693754B2 (en) | Method and apparatus for a disc drive adaptive file system | |
JP4667225B2 (en) | Control device and copy control method | |
WO2011105708A2 (en) | Solid-state disk, and user system comprising same | |
KR20110041843A (en) | Hybrid storage device and operating method for the same | |
CN113093997B (en) | Method for separating data Based on Host-Based FTL (fiber to the Home) architecture | |
WO2023121338A1 (en) | Ssd device using ftl based on lsm-tree and approximate indexing and operation method thereof | |
JP3794322B2 (en) | Data copy system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10808365 Country of ref document: EP Kind code of ref document: A2 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 10808365 Country of ref document: EP Kind code of ref document: A2 |