JP2011520176A - 光ディスクドライブのように動作可能なメモリドライブ及びメモリドライブを光ディスクドライブに仮想化する方法 - Google Patents
光ディスクドライブのように動作可能なメモリドライブ及びメモリドライブを光ディスクドライブに仮想化する方法 Download PDFInfo
- Publication number
- JP2011520176A JP2011520176A JP2011503916A JP2011503916A JP2011520176A JP 2011520176 A JP2011520176 A JP 2011520176A JP 2011503916 A JP2011503916 A JP 2011503916A JP 2011503916 A JP2011503916 A JP 2011503916A JP 2011520176 A JP2011520176 A JP 2011520176A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- drive
- file
- optical disk
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
-
- 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/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/0674—Disk device
- G06F3/0677—Optical disk device, e.g. CD-ROM, DVD
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】メモリにデータを記憶するメモリドライブにホストが光ディスクドライブのようにアクセスできるようにする。
【解決手段】本発明は、光ディスクドライブに仮想化できるメモリドライブ及びその仮想化方法に関するものである。本発明の一実施形態は、記憶メモリと記憶メモリにデータを書き込みしたり、書き込まれたデータを読み取りしたりする記憶メモリコントローラとからなるメモリドライブを光ディスクドライブに仮想化する方法を提示する。したがって、本発明の一実施形態によれば、フラッシュメモリとフラッシュメモリコントローラとを有するソリッドステートドライブを光ディスクドライブのように使用することができる。
【選択図】図3
【解決手段】本発明は、光ディスクドライブに仮想化できるメモリドライブ及びその仮想化方法に関するものである。本発明の一実施形態は、記憶メモリと記憶メモリにデータを書き込みしたり、書き込まれたデータを読み取りしたりする記憶メモリコントローラとからなるメモリドライブを光ディスクドライブに仮想化する方法を提示する。したがって、本発明の一実施形態によれば、フラッシュメモリとフラッシュメモリコントローラとを有するソリッドステートドライブを光ディスクドライブのように使用することができる。
【選択図】図3
Description
本発明は、光ディスクドライブに仮想化できるメモリドライブ及びその仮想化方法に関するものである。仮想化しようとする光ディスクドライブのタイプによってメモリドライブのデータ書き込みの可否を制御できる。したがって、本発明は光ディスクドライブの一種のように動作できるメモリドライブ及びその仮想化方法に関するものである。
フラッシュメモリは、ハードディスクのように不揮発性であり、かつアクセスが速く、消費電力が少ないため、組み込み型システムや移動デバイス等で多く使われている。
フラッシュメモリは、そのハードウェアの特性を考慮すると、既に使われているメモリセクタに書き込み動作を遂行するためには、そのセクタが含まれたブロック全体を消す動作を先に遂行しなければならない。フラッシュメモリブロックを構成するページの一部のみにデータを書き込みする一部書き込み(Partial Programming)も可能である。
ソリッドステートドライブ(Solid State Drive)は、半導体を用いて情報を記憶する装置であって、略してSSDとも称する。SSDは、基本的にハードディスクドライブと同様に動作するようになされており、ATAと互換であるので、既存のハードディスクをSSDとそのまま取り替えることも容易である。ソリッドステートディスクは機械的に動く部分がないため、ハードディスクドライブの問題である長い探索時間(シークタイム)、レイテンシ、機械的遅延、失敗率を格段に減らすことができる。
SSDは、通常フラッシュドライブともいうが、フラッシュメモリ基盤のSSDはバッテリを必要とせず、1.8、2.5、3.5インチサイズのハードディスクの代替品として使用できる。不揮発性メモリを使用するため、突然の停電でもデータ損傷がない。フラッシュメモリはDRAMより遅いが、現在使用されているハードディスクより速く動作することができる。
図1は、一般的なSSDの構造を示す図である。ホスト30が書き込みしようとするデータを書き込み可能な複数個のフラッシュメモリ10と、フラッシュメモリ10にアクセスしてデータを書き込みまたは読み取りするフラッシュコントローラ20とを有する。
フラッシュコントローラ20は、ホスト30とデータを送受信するホストインターフェース21、フラッシュメモリ10とデータを送受信するフラッシュメモリインターフェース23、そしてフラッシュメモリ10のファイルシステムを管理し、データを書き込みまたは読み取りする時、論理アドレスを物理アドレスにマッピングするマイクロプロセッサ22とを有する。
しかしながら、SSDは常にデータの書き込み及び消去が可能である。したがって、配布用にデータを書き込みして配布した場合でもデータを容易に消去できる。また、光ディスクドライブと異なり、データを記憶しようとする場合でもホストなどにデータを移して保持しなければならないという問題点がある。
ハードディスク(HD)やMRAMのような記憶メモリ及び記憶メモリコントローラを有するメモリドライブも常にデータの書き込み及び消去が可能である。したがって、配布用にデータを書き込みした場合にもデータは容易に消去できるという問題点がある。
また、ソリッドステートドライブを含むメモリドライブの場合、従来の光ディスクドライブを使用している電子装置に使用できないという問題点がある。
本発明は、メモリにデータを記憶するメモリドライブにホストが光ディスクドライブのようにアクセスできるようにする。本発明は、メモリドライブの書き込みの可否を制御してメモリドライブを光ディスクドライブに仮想化する。本発明は、メモリドライブを用いて光ディスクドライブのようにデータを記憶できるようにする。本発明の一実施形態によれば、ソリッドステートドライブを光ディスクドライブに仮想化して使用できる。
前述した課題を解決するための本発明による光ディスクドライブに仮想化できるメモリドライブは、記憶メモリと前記記憶メモリにデータを書き込む記憶メモリコントローラとを有し、前記記憶メモリコントローラは光ディスクドライブ規格による書き込み/読み取り単位に従って前記記憶メモリにデータを書き込みまたは前記記憶メモリからデータを読み取りすることを特徴とする。
また、前述した課題を解決するための本発明による光ディスクドライブに仮想化できるソリッドステートドライブは、フラッシュメモリと上記フラッシュメモリにデータを書き込むフラッシュコントローラとを有し、上記フラッシュコントローラは光ディスクドライブ規格による書き込み/読み取り単位に従って上記フラッシュメモリにデータを書き込みまたは上記フラッシュメモリからデータを読み取りすることを特徴とする。
また、前述した課題を解決するための本発明による光ディスクドライブに仮想化できるソリッドステートドライブは、フラッシュメモリと上記フラッシュメモリにデータを書き込むフラッシュコントローラとを有するソリッドステートドライブであって、上記フラッシュコントローラは、上記フラッシュメモリのデータ書き込み/読み取り単位を光ディスクドライブ規格による書き込み/読み取り単位に従って管理するセクタ管理部と、上記ソリッドステートドライブのデータ書き込みの可否を制御し、ホストにデータ書き込みの可否に関する属性情報を転送する属性管理部と、上記属性情報に従って上記ホストからの書き込み/読み取り動作要求に応じて上記セクタ管理部で設定した書き込み/読み取り単位に従って上記フラッシュメモリにデータを書き込みまたは上記フラッシュメモリからデータを読み取りする書き込み/読み取り制御部と、を含むことを特徴とする。
また、前述した課題を解決するための本発明による、記憶メモリと上記記憶メモリにデータを書き込む記憶メモリコントローラとを有するメモリドライブを光ディスクドライブに仮想化する方法は、ホストからのデバイス認識要求に応じて、上記メモリドライブのデータ書き込みの可否に関する属性情報を上記ホストに転送するステップと、上記属性情報に従って上記ホストからの書き込み/読み取り動作要求に応じて光ディスクドライブ規格による書き込み/読み取り単位に従って上記記憶メモリにデータを書き込みまたは上記記憶メモリからデータを読み取りするステップと、を含むことを特徴とする。
また、前述した課題を解決するための本発明による、フラッシュメモリと上記フラッシュメモリにデータを書き込むフラッシュコントローラとを有するソリッドステートドライブを光ディスクドライブに仮想化する方法は、ホストからのデバイス認識要求に応じて、上記ソリッドステートドライブのデータ書き込みの可否に関する属性情報を上記ホストに転送するステップと、上記属性情報に従って上記ホストからの書き込み/読み取り動作要求に応じて光ディスクドライブ規格による書き込み/読み取り単位に従って上記フラッシュメモリにデータを書き込みまたは上記記憶メモリからデータを読み取りするステップと、を含むことを特徴とする。
本発明によれば、メモリドライブを光ディスクドライブに仮想化する。したがって、ユーザはHD、MRAM、またはフラッシュメモリを有するメモリドライブを光ディスクドライブのように使用できる。また、メモリドライブに実際の光ディスクドライブと同一な物理的特性を提供することで、ユーザの利便性を高めることができる。
また、本発明によるメモリドライブは、実際の物理的な光ディスクドライブと同様に動作することで、オペレーティングシステムに関わらず、どの装置にも適用できる。一例として、本発明により光ディスクドライブに仮想化されたメモリドライブは、PCにUSBを介して連結される場合、RAMタイプ記憶装置またはROMタイプ記憶装置として認識できる。この場合、本発明によるメモリドライブは、広告や販促用に配布されるCD−ROMなどとして認識できる。更に他の例として、メモリドライブは、光ディスクドライブが適用されるカムコーダにUSBにより連結された場合、DVDとして認識できる。
また、本発明によるメモリは仮想光ディスクドライブであるので、実際の光ディスクドライブの動作時に発生するサイズの制限、アクセス速度の制限、物理ディスクの認識時間などの限界がない。
また、本発明によれば、ソリッドステートドライブを光ディスクドライブに仮想化する。したがって、ホストが光ディスクドライブにアクセスする方法によりソリッドステートドライブにアクセスすることができる。また、ソリッドステートドライブに書き込まれたデータの消去の可否、または書き換えの可否を制御できる。したがって、書き込まれたデータを長期間記憶できる。また、ソリッドステートドライブを光ディスクドライブが使われていたデバイスに連結して使用できる。ソリッドステートドライブは、光ディスクドライブよりサイズが小さい。したがって、光ディスクドライブが使われていたデバイスのサイズを小さくことができる。延いては、光ディスクドライブでデータを管理する場合に比べて電力消費を減らすことができる。
以下、添付の図面を参照しつつ本発明の好ましい実施形態を詳細に説明する。本発明の利点及び特徴、そしてそれらを達成する方法は、添付の図面と共に詳細に後述されている実施形態を参照すれば明確になる。しかしながら、本発明は以下に開示される実施形態に限定されるものでなく、互いに異なる多様な形態で具現され、単に本実施形態は本発明の開示を補完し、本発明が属する技術分野で通常の知識を有する者に発明の範疇を完全に知らせるために提供されるものであり、本発明は請求項の範疇により定義されるだけである。明細書全体に亘って同一参照符号は同一構成要素を指し示す。
本発明の実施形態は、フラッシュメモリを使用するメモリドライブであるソリッドステートドライブである。しかしながら、本発明はHD、MRAMなど、多様なタイプの記憶媒体を有するメモリドライブに適用できる。したがって、ソリッドステートドライブ以外のメモリドライブを光ディスクドライブに仮想化する方法も本発明の権利範囲に属するといえる。
図2は、実際のフラッシュメモリの構造を示す図である。図示したように、1つのフラッシュメモリは8192個のブロックを有する。ブロックは32個のページを有し、1ページは512Bの主領域と16Bの補助領域とに区分できる。主領域には、通常ユーザデータが書き込みされ、セクタの集合とみなすことができる。補助領域には、主領域に書き込まれたデータが有効か否か、ECC、論理ブロックアドレス(Logical Block Address;LBA)または論理セクタ番号(Logical Sector Number;LSN)、消去回数などに関する情報が書き込まれる。
図2は、フラッシュメモリの書き込み/読み取り単位と外部ホストが要求した書き込み/読み取り単位が一致する小ブロックフラッシュメモリを示している。しかしながら、本発明はフラッシュメモリの書き込み/読み取り単位が外部ホストが要求した書き込み/読み取り単位より大きい大ブロックフラッシュメモリの場合にも適用できる。大ブロックフラッシュメモリの場合、主領域は4個のセクタからなる。大ブロックフラッシュメモリにデータはセクタ単位あるいはページ単位で書き込まれる。
図3は、本発明に従って光ディスクドライブに仮想化されたソリッドステートドライブを示すブロック図である。(a)は、ホスト100とデータを送受信する光ディスクドライブとを示す。光ディスクドライブは、光ディスク210、ピックアップ220、及びコントローラ230を有する。本発明は、(b)に図示された通りである。(b)は、ホスト100が光ディスクドライブのようにアクセスできるソリッドステートドライブを示す。ソリッドステートドライブは、データが書き込み/読み取り/消去されるフラッシュメモリ300、及びフラッシュコントローラ310を有する。
フラッシュコントローラ310は、ホスト100の書き込み/読み取り動作要求に応じてフラッシュメモリ300にデータを書き込みまたはフラッシュメモリ300からデータを読み取りする。ホスト100がソリッドステートドライブにデータを書き込みまたはソリッドステートドライブからデータを読み取りする過程で、RAM110はバッファの役割を遂行する。
フラッシュコントローラ310は、ホスト100が要求したデバイス認識要求に応じてソリッドステートドライブの属性情報をホスト100に転送する。ソリッドステートドライブは光ディスクドライブに仮想化される。したがって、フラッシュコントローラ310はホスト100にソリッドステートドライブが仮想化された光ディスクドライブのタイプに関する情報を転送する。
ホスト100は、フラッシュコントローラ310が転送した情報を分析してソリッドステートドライブを光ディスクドライブとして認識する。ソリッドステートドライブが仮想化できる光ディスクドライブのタイプは、書き込み不可タイプ(ROM)、追記タイプ(recordable)、書き換えタイプ(rewriteable)、ランダム書き込みタイプ(RAM)がありえる。
フラッシュコントローラ310は、上記ソリッドステートドライブに与えられた属性に従ってソリッドステートドライブの書き込みの可否を制御する。ホスト100は、ソリッドステートドライブを光ディスクドライブとして認識し、フラッシュコントローラ310にデータの書き込み/読み取り動作を要求する。
フラッシュコントローラ310は、フラッシュメモリのような記憶メモリにデータを書き込みしたり、記憶メモリに書き込まれたデータを読み取って、ホスト100に転送したりする記憶メモリコントローラの一実施形態である。記憶メモリコントローラは、光ディスクドライブ規格に従うファイルシステムを記憶メモリに適用して記憶メモリにデータを書き込みしたり、記憶メモリに書き込まれたデータを読み取ったりして、光ディスクドライブ規格に従う処理命令語を用いてホストの光ディスクドライブ処理命令を実行し、ホストからの命令に対する結果または状態を上記ホストに返す役割を遂行する。
記憶メモリの一実施形態であるフラッシュメモリ300に書き込まれるデータタイプは光ディスクドライブに書き込まれるデータタイプと同一である。
本発明の一実施形態に従う仮想化、即ちエミュレーション(emulation)過程は、記憶メモリを有するメモリドライブを仮想光ディスクドライブとして実行させる一連の過程を意味する。したがって、メモリドライブに光ディスクドライブの属性を与えることが必要である。
エミュレーションがなされるためには、光ディスクドライブのファイルを管理するファイルシステムをメモリドライブに同様に適用できなければならない。また、光ディスクドライブを処理する命令語がメモリドライブで同様に使用できなければならない。
光ディスクドライブの処理命令語としてアドバンスドテクノロジアタッチメントパケットインターフェース(Advanced Technology Attachment Packet Interface;ATAPI)が使用できる。本発明のメモリドライブに適用できるATAPIの例は次の通りである。
メモリドライブのプロファイル情報(例えば、タイプ、サイズ、電力調節特性等)を仮想のディスク情報として返す‘Get Configuration’命令語、ドライブの準備状態を返す‘Text Unit Ready’命令語、ディスクの最大容量を返す‘Read Capacity’命令語、仮想的に設定されたトラック/セッション情報を返す‘Read TOC/PMA/ATAPI’または‘Read Disc Information’命令語、トラックの詳細情報を返す‘Read Track Information’命令語、メモリドライブを構成する記憶メモリの特定アドレス領域を光ディスクの特定領域にマッピングして光ディスクのように認識できるようにする‘Read’命令語、記憶メモリの特定アドレス領域を光ディスクの特定領域にマッピングしてデータを書き込みできるようにする‘Write、Verify、Write and Verify’命令語などが使用できる。このような命令語は本発明のメモリドライブで処理可能な命令語の一例であり、本発明の範囲はこれに限定されない。
また、メモリドライブが光ディスクドライブにエミュレーションされるためには確認されるべき特性がある。例えば、ディスク属性(ディスクドライブがROMタイプか、またはR/RWタイプか否か)、ディスクサイズ、ディスク詳細特性(トラック、セッション情報等)、書き込み/読み取り情報などが確認されなければならない。
本発明により光ディスクドライブに仮想化されたメモリドライブの特徴の1つは、実際の物理的な光ディスクドライブと同様に動作できるという点である。したがって、ホストのOSに関わらず、どんな装置でも光ディスクドライブのようにデータを書き込みまたは読み取りできる。このために、記憶メモリコントローラは光ディスクドライブに適用されるファイル管理システムをそのまま記憶メモリに移して管理する。
以下、本発明の一実施形態であるフラッシュメモリ及びフラッシュコントローラを有するソリッドステートドライブのデータの書き込み及び読み取り方法を説明する。
図4は、本発明によるフラッシュコントローラの内部を示す図である。フラッシュコントローラ310は、ホストインターフェース311、及びフラッシュインターフェース312を含む。また、フラッシュコントローラ310は、セクタ管理部313、属性管理部314、及び書き込み/読み取り制御部315を含む。
セクタ管理部313は、フラッシュメモリ300の書き込み/読み取り単位を光ディスクドライブの書き込み/読み取り単位に従って管理する。書き込み/読み取り制御部315は、セクタ管理部313で管理する単位に従ってフラッシュメモリ300にデータを書き込みまたはフラッシュメモリ300からデータを読み取りする。
属性管理部314は、ソリッドステートドライブに与えられた属性情報を管理する。属性情報は、フラッシュメモリ300の内部に記憶されるか、フラッシュコントローラの内部のRAMなどに記憶できる。属性管理部314は、ホスト100からのデバイス認識要求に応じてホスト100に属性情報を転送する。ホスト100は、属性管理部314から転送された属性情報に基づいてソリッドステートドライブを光ディスクドライブのうちの1つとして認識する。
属性管理部314は与えられた属性情報に従ってソリッドステートドライブのデータの書き込みの可否を制御する。仮に、書き込み不可タイプ(ROM)に設定された場合、ソリッドステートドライブにデータを書き込みできない。したがって、ホスト100がデータ書き込み動作を要求しても、書き込み/読み取り制御部315はフラッシュメモリ300にデータを書き込みできない。
ユーザはソリッドステートドライブで属性情報を直接設定または変更することができる。本発明のソリッドステートドライブは、属性情報を変更できるジャンパスイッチを具備できる。属性管理部314は、ジャンパスイッチで切り替えられた状態に従ってソリッドステートドライブが仮想化される光ディスクドライブのタイプを決定し、それによってデータの書き込みの可否を制御する。
ジャンパスイッチの他に属性情報を変更できる命令を属性管理部314に入力できる。属性管理部314は、入力された命令に従って属性情報を変更できる。必要によって属性情報変更が可能でないようにソリッドステートドライブ製造時から設定するか、変更時に暗号を要求するようにすることができる。この場合、ユーザは任意に属性情報を変更することができない。
図5は、ホスト100がソリッドステートドライブを認識する過程を示す図である。ホスト100は、任意のデバイスにデバイス認識命令を要求(S11)する。ホスト100は、任意のデバイスからデバイス認識要求に応じて転送された信号に基づいてデバイスがハードディスクドライブか否かを確認する(S12)。仮に、ソリッドステートドライブが一般的な方法によりハードディスクドライブに仮想化されたとすれば、ホスト100はデバイスをハードディスクドライブとして認識する(S13)。
デバイスがハードディスクドライブでない場合、ホスト100はデバイスが光ディスクドライブか否かを確認する(S14)。本発明に従ってソリッドステートドライブが光ディスクドライブに仮想化された場合、ホスト100はソリッドステートドライブを光ディスクドライブとして認識する(S15)。
仮に、デバイスがハードディスクドライブでもなく、光ディスクドライブでもない場合、ホスト100はデバイスを異なるタイプのデバイスとして認識する(S16)。
図6は、ホスト100から転送されたデバイス認識要求に応じてソリッドステートドライブが動作する過程を示す図である。
ホスト100からデバイス認識要求を転送すれば、フラッシュコントローラ310は転送された命令を解析する(S21)。デバイス認識要求と解釈されれば、属性管理部314を通じてソリッドステートドライブがROMタイプ、Recordableタイプ、Rewritableタイプ、RAMタイプディスクドライブのうち、どのタイプの光ディスクドライブに仮想化されたかを確認する(S22〜S25)。
フラッシュコントローラ310は、確認された属性情報をホスト100へ転送する。ホスト100は、属性情報に従ってソリッドステートドライブが仮想化された光ディスクドライブのタイプを認識し、その特性に従ってデータの書き込みまたは読み取り動作を要求する。
ソリッドステートドライブを光ディスクドライブとして認識したホスト100は、仮想ドライブのセクタまたはアドレスに論理アドレス(LSNまたはLBA)を通じてアクセスする。実際のフラッシュメモリ300にはページまたはセクタ単位で物理アドレス(PSNまたはPBA)が与えられる。
フラッシュコントローラ310は、ホスト100がデータの書き込みまたは読み取り動作を要求した時、論理アドレスを物理アドレスにマッピングして、フラッシュメモリ300にデータを書き込みまたはフラッシュメモリ300からデータを読み取りする。
図7は、フラッシュコントローラ310に内蔵された論理−物理マッピングレイヤであるフラッシュ変換レイヤ(Flash Translation Layer;FTL)316を示す図である。本実施形態では、書き込み/読み取り制御部315はFTL機能を遂行する。
図8は、光ディスクドライブの書き込み/読み取り単位のセクタ(a)と、サイズが2Kであるフラッシュメモリのページ(b)を図示する。光ディスクドライブのセクタ(a)は図示したようにデータ書き込み領域が規格化されている。セクタ管理部313は、フラッシュメモリのページ(b)を、図8に示すように、光ディスクドライブのセクタ(a)のように管理する。
書き込み/読み取り制御部315は、セクタ管理部313を通じて光ディスクドライブのセクタ(a)のように仮想化されたページ(b)にデータを書き込みまたはページ(b)からデータを読み取りする。
2Kのフラッシュメモリのページは補助領域が64Bである。これは、図示したように、光ディスクドライブのマージン(ECC、EDC、空白(Blank))より小さい空間である。しかしながら、光ディスクドライブに比べてフラッシュメモリはデータを書き込みまたは読み取りする際、エラーが発生する確率が低い。したがって、マージンを光ディスクドライブより小さくしてもよい。
図9及び図10は、ホスト100がデータをページに書き込む例を示す図である。
図9は、ホスト100がデータを書き込みしようとする際、論理アドレスに(a)のように順次アクセスする場合である。この場合、書き込み/読み取り制御部315は、(b)のように呼び出された論理アドレスと所定サイズのアドレス差を有する物理アドレスでデータを順次書き込む。
書き込み/読み取り制御部315は、フラッシュメモリ300に光ディスクドライブと同様に順次データを書き込むので、論理アドレスを物理アドレスにマッピングするマッピングテーブルを生成する必要がない。図9で、書き込み/読み取り制御部315は論理アドレスと物理アドレスとのアドレス差に基づいてフラッシュメモリ300にデータを書き込みまたはフラッシュメモリ300からデータを読み取りする。
図10は、ホスト100がデータを書き込みしようとする際、論理アドレスを(a)のように順次でなく(ランダムに)呼び出す場合である。この場合、書き込み/読み取り制御部315はフラッシュコントローラ310の内部のバッファにフラッシュメモリに書き込みしようとするデータを一時記憶した後、図示したように、物理ページ(b)に順次データを書き込む。書き込み/読み取り制御部315は、論理アドレスを物理アドレスにマッピングするマッピングテーブルを生成して記憶する。
仮に、書き込まれたことがある論理アドレスのデータを更新しようとすれば、書き込み/読み取り制御部315は、マッピングされた物理アドレスにアクセスしてデータを無効にする。書き込み/読み取り制御部315は、その後、新規物理アドレスにデータを書き込みして、論理−物理アドレスマッピングテーブルを新規物理アドレスに更新する。
光ディスクドライブの場合、一般的にUDFやISO9660のファイルシステムを使用する。図11乃至図16は、光ディスクドライブのようにファイルシステム領域とデータ領域とを区分して、ファイルが書き込まれる際、実際のフラッシュメモリ300にデータが書き込まれる方式を示す図である。
図11は、(a)のようにファイルシステム領域とデータ領域とに区分された第1ファイルを実際のフラッシュメモリ(b)に書き込む方式である。書き込み/読み取り制御部315は、フラッシュメモリ(b)の物理アドレスに順次アクセスし、データを読み取ることができる。したがって、(a)のファイルシステム領域に該当するデータ(1f)とデータ領域に該当するデータ(1d)を(b)に図示したようにフラッシュメモリ300に順次書き込みできる。
図12は、図11のように第1ファイルが書き込まれた後、第2ファイルを書き込みしようとする場合である。光ディスクドライブでは(a)のようにファイルシステム領域に第1ファイル及び第2ファイルのファイルシステムデータ(1f、2f)が書き込まれ、データ領域に第1ファイル及び第2ファイルのデータ(1d、2d)が書き込まれる。
光ディスクドライブと異なり、フラッシュメモリにデータを書き込むためには、既に書き込まれたデータを無効にしなければならない。したがって、書き込み/読み取り制御部315は、第2ファイルを(b)に書き込む前に、書き込まれた第1ファイルのファイルシステム領域に該当するデータを無効にする。その後、第1ファイルのファイルシステム領域に該当するデータ(1f)と第2ファイルのファイルシステム領域に該当するデータ(2f)を(b)に書き込みし、第2ファイルのデータ領域に該当するデータ(2d)を(b)に書き込む。
図13及び図14は、第1ファイル及び第2ファイルをフラッシュメモリに書き込みした後、第2ファイルと第1ファイルを各々削除する場合である。
図13に示すように、第2ファイルを削除するために(a)のようにファイルシステム領域に書き込まれた第2ファイルのファイルシステム領域に該当するデータ(2f)とデータ領域に該当するデータ(2d)が削除されなければならない。
書き込み/読み取り制御部315は、第2ファイルを削除するために、先に書き込まれた第1ファイル及び第2ファイルのファイルシステム領域に該当するデータ(1f、2f)を無効にする。また、削除しようとする第1ファイルのデータ領域に該当するデータ(2d)を無効にする。その後、書き込み/読み取り制御部315は削除要求されていない第1ファイルのファイルシステム領域に該当するデータ(1f)を再度フラッシュメモリ300に書き込む。第1ファイルのファイルシステム領域に該当するデータ(1f)は第1ファイルのデータ領域に該当するデータ(1d)をリンクする。
図14に示すように、第1ファイルを削除するために、(a)のようにファイルシステム領域に書き込まれた第1ファイルのファイルシステム領域に該当するデータ(1f)とデータ領域に該当するデータ(1d)が削除されなければならない。
第1ファイルを削除するようになれば、(b)に示すように第2ファイルのファイルシステム領域に書き込まれたデータ(2f)と第2ファイルのデータ領域に書き込まれたデータ(2d)の位置が変更される。
したがって、書き込み/読み取り制御部315は、(c)のように、第1ファイル及び第2ファイルのファイルシステム領域に該当するデータ(1f、2f)を無効にし、第1ファイルのデータ領域に該当するデータ(1d)を無効にする。その後、第2ファイルのファイルシステム領域に書き込まれたデータ(2f)を該当フラッシュメモリに再度書き込む。また、書き込まれた第2ファイルのファイルシステム領域に書き込まれたデータ(2f)は、第2ファイルのデータ領域に書き込まれたデータ(2d)をリンクする。
図15及び図16は、第1ファイル及び第2ファイルがフラッシュメモリの所定ページに書き込まれた後、第1ファイル及び第2ファイルを更新する方法を示す図である。
図15で、第2ファイルを更新するために、(a)に示すように、第2ファイルのファイルシステム領域に該当するデータ(2f)が更新される。また、第2ファイルのデータ領域に該当するデータ(2d)が新しく書き込まれる。
書き込み/読み取り制御部315は、(b)に示すように、更新要求された第2ファイルに該当するデータ(2f、2d)を書き込む前に、第1ファイル及び第2ファイルのファイルシステム領域に該当するデータ(1f、2f)を無効にする。その後、第1ファイルのファイルシステム領域に該当するデータ(1f)、ホスト100が更新を要求した第2ファイルのファイルシステム領域に該当するデータ(2f)、ホスト100が更新を要求した第2ファイルのデータ領域に該当するデータ(2d)をフラッシュメモリに再度書き込む。
第1ファイルのファイルシステム領域に該当するデータ(1f)は、上記フラッシュメモリに書き込まれた第1ファイルのデータ領域に該当するデータ(1d)をリンクする。更新要求された第2ファイルのファイルシステム領域に該当するデータ(2f)は更新要求された第2ファイルのデータ領域に該当するデータ(2d)をリンクする。
図16で、第1ファイルを更新するために、(a)に示すように、第1ファイルのファイルシステム領域に該当するデータ(1f)が更新される。また、第1ファイルのデータ領域に該当するデータ(1d)が新しく書き込まれる。
書き込み/読み取り制御部315は、(b)に示すように、更新要求された第1ファイルに該当するデータ(1f、1d)を書き込む前に、第1ファイル及び第2ファイルのファイルシステム領域に該当するデータ(1f、2f)を無効にする。その後、ホスト100が更新要求した第1ファイルのファイルシステム領域に該当するデータ(1f)、第2ファイルのファイルシステム領域に該当するデータ(2f)、及びホスト100が更新要求した第1ファイルのデータ領域に該当するデータ(1d)をフラッシュメモリに再度書き込む。
第2ファイルのファイルシステム領域に該当するデータ(2f)は、上記フラッシュメモリに書き込まれた第2ファイルのデータ領域に該当するデータ(2d)をリンクする。更新要求された第1ファイルのファイルシステム領域に該当するデータ(1f)は、更新要求された第1ファイルのデータ領域に該当するデータ(1d)をリンクする。
以下、光ディスクドライブのように仮想化されたソリッドステートドライブを用いてブートする過程を説明する。光ディスクドライブのうち、ROMタイプ、Recordableタイプ、Rewritableタイプのディスクドライブの場合、UDFあるいはISO9660のような決まったファイルシステムを使い、EI-Torito(エルトリート)規格に従ってブートイメージ生成を容易にすることができる。しかしながら、RAMタイプの場合、光ディスク規格のファイルシステムであるUDF以外のファイルシステム(FAT32等)を支援することができる。したがって、FAT32を支援するRAMタイプにソリッドステートドライブが仮想化されたならば、UDF、ISO9660ファイルシステムを使用する光ディスクドライブのブート規格に従うブートを行うことができない。
本発明では、RAMタイプに仮想化されたソリッドステートドライブがUDF、ISO9660ファイルシステムを支援しない場合にも、光ディスクドライブブート規格に従ってブートできるようにする。
即ち、RAMタイプに仮想化されたソリッドステートドライブは、フラッシュメモリのうちの一定領域をEI-Torito規格のブートが可能な隠し領域に設定し、残りの領域を実領域に設定する。ホストがブートの試みを行う場合、ユーザに隠された隠し領域のブートデータに基づいて光ディスクドライブのブート規格に従ってブート過程が進行される。その後、フラッシュメモリのうち、実領域がアクセスされる。したがって、ユーザはブート過程の後、RAMタイプに設定されたフラッシュメモリの実領域のみにアクセスするようになる。仮に、FAT32ファイルシステムを支援するRAMにソリッドステートドライブが仮想化された場合、上記実領域は隠し領域と異なり、FATファイルシステムを基盤としてアクセスされる。
図17は、RAMに仮想化されたフラッシュメモリで隠し領域と実領域とが区分されて設定されたことを示す図である。図示したように、ブートファイルシステムのブートデータが記憶された隠し領域と、その他のRAMタイプのファイルシステムを支援する実領域とが区別されている。隠し領域はブート時のみにアクセスされ、ユーザに公開されない。
図18は、図17に図示された構造を有するフラッシュメモリを用いてブートがなされる過程を示すフローチャートである。
まず、ホストからリセット信号が転送(S31)されれば、ソリッドステートドライブの隠し領域からデフォルトでアクセス(S32)される。即ち、隠し領域の開始点がフラッシュメモリ300の物理アドレスの開始アドレスに設定される。ホストに光ディスクドライブのうちのROMタイプ規格に従うデータが転送され(S33)、特別な領域変更要求が入力されない場合(S34)、ホストからデバイス認識要求が転送されたか確認される(S35)。
一般に、ブート時には光ディスクドライブがデバイスのタイプに関する属性情報をホストに転送する過程無しで、ホストがブートデータを直接読み取ってブート過程を遂行する。したがって、本発明でもホストがデバイス認識要求を送る前に、ホストがブートデータの読み取りを試み、デバイス認識要求が転送されない場合、隠し領域のブートアドレスが呼び出される(S36)。
デバイス属性情報をホストへ転送する前にデータ読み取りの試みが成功したので、ブート過程が遂行される。したがって、隠し領域のブートデータが実領域にロードされて仮想ブートイメージが出力される(S37)。ロード過程が完了すれば、ホストアクセス領域が隠し領域から実領域に変更される(S34)。したがって、フラッシュメモリのうちの実領域が選択され(S38)、実領域のアドレスがフラッシュメモリの物理アドレス開始点に変更される。これによって、ホストはソリッドステートドライブをRAMタイプの光ディスクドライブとして認識する(S39)。
図19は、本発明に従ってRAMタイプ光ディスクドライブに仮想化されたフラッシュメモリのブート過程を示す図である。
図示したように、隠し領域(Hidden Area)でエミュレータが動作するので、仮想ブートイメージが出力(call)され、ブートローダ(Boot Loader)を通じて実領域にロードされる。ロードが完了した後、フラッシュメモリの物理アドレス開始点が隠し領域の開始点(a)から実領域の開始点(b)に変換される。
ホストは、ソリッドステートドライブの属性情報をRAMタイプとして認識し、RAMタイプの光ディスクドライブのようにソリッドステートドライブにアクセスする。
以上、添付した図面を参照して本発明の実施形態を説明したが、本発明が属する技術分野で通常の知識を有する者は本発明がその技術的思想や必須的な特徴を変更しないで、他の具体的な形態で実施できるということが分かる。したがって、以上に記述した実施形態は全て例示的なものであり、限定的でないことと理解されるべきである。
Claims (30)
- 記憶メモリと前記記憶メモリにデータを書き込む記憶メモリコントローラとを有するメモリドライブであって、
前記記憶メモリコントローラは、光ディスクドライブ規格による書き込み/読み取り単位に従って前記記憶メモリにデータを書き込みまたは前記記憶メモリからデータを読み取りすることを特徴とする光ディスクドライブに仮想化できるメモリドライブ。 - 前記記憶メモリコントローラは、前記光ディスクドライブ規格に従うファイルシステムを前記記憶メモリに適用して前記記憶メモリにデータを書き込みまたは前記記憶メモリに書き込まれたデータを読み取り、前記光ディスクドライブ規格に従う処理命令語を用いてホストの光ディスクドライブ処理命令を実行し、前記ホストからの命令に対する結果または状態を前記ホストに返すことを特徴とする請求項1に記載の光ディスクドライブに仮想化できるメモリドライブ。
- 前記記憶メモリに書き込まれるデータのタイプは、光ディスクドライブに書き込まれるデータのタイプと同一であることを特徴とする請求項1に記載の光ディスクドライブに仮想化できるメモリドライブ。
- 前記記憶メモリコントローラは、
前記記憶メモリのデータ書き込み/読み取り単位を前記光ディスクドライブ規格による書き込み/読み取り単位に従って管理するセクタ管理部と、
前記メモリドライブのデータ書き込みの可否を制御し、ホストに前記メモリドライブのデータ書き込みの可否に関する属性情報を転送する属性管理部と、
前記属性情報に従って前記ホストからの書き込み/読み取り動作要求に応じて前記セクタ管理部が設定した書き込み/読み取り単位に従って前記記憶メモリにデータを書き込みまたは前記記憶メモリからデータを読み取りする書き込み/読み取り制御部と、
を有することを特徴とする請求項1に記載の光ディスクドライブに仮想化できるメモリドライブ。 - 前記属性管理部は、前記メモリドライブに、書き込み不可タイプ、追記タイプ、書き換えタイプ、及びランダム書き込みタイプのディスクドライブのうちの1つの属性を与え、前記与えた属性によって前記メモリドライブのデータ書き込みの可否を制御することを特徴とする請求項4に記載の光ディスクドライブに仮想化できるメモリドライブ。
- 前記メモリドライブに与えられた属性が前記ランダム書き込みタイプの場合、
前記記憶メモリを構成するページは、前記光ディスクドライブ規格に従うブートデータが記憶される隠し領域と、前記隠し領域に記憶されているブートデータがロードされる実領域とを有することを特徴とする請求項5に記載の光ディスクドライブに仮想化できるメモリドライブ。 - 前記書き込み/読み取り制御部は、前記ホストからのデバイス認識要求に応じて、前記属性情報を前記ホストに転送する前に、前記隠し領域に記憶されているブートデータを読み取って、該ブートデータを前記実領域にロードすることを特徴とする請求項6に記載の光ディスクドライブに仮想化できるメモリドライブ。
- 前記書き込み/読み取り制御部は、前記実領域に前記ブートデータをロードした後、前記ホストからのデータ書き込み/読み取り要求に応じて、前記実領域の開始点を前記記憶メモリの物理アドレス開始点にマッピングすることを特徴とする請求項6に記載の光ディスクドライブに仮想化できるメモリドライブ。
- 前記メモリドライブは、前記メモリドライブの属性を選択できるジャンパスイッチをさらに有することを特徴とする請求項4に記載の光ディスクドライブに仮想化できるメモリドライブ。
- 前記属性管理部は、前記ジャンパスイッチが選択した属性に従って前記メモリドライブのデータ書き込みの可否を制御することを特徴とする請求項9に記載の光ディスクドライブに仮想化できるメモリドライブ。
- 前記書き込み/読み取り制御部は、前記ホストがデータを書き込む時、論理アドレスが順次アクセスされる場合、前記記憶メモリに順次データを書き込みし、前記論理アドレスとデータが書き込まれた前記記憶メモリの物理アドレスとの差に関する情報を記憶することを特徴とする請求項4に記載の光ディスクドライブに仮想化できるメモリドライブ。
- 前記書き込み/読み取り制御部は、前記ホストがデータを書き込む時、論理アドレスが順次アクセスされない場合、前記ホストが書き込みしようとするデータが記憶されるバッファをさらに有し、
前記書き込み/読み取り制御部は、前記バッファに記憶されたデータを前記記憶メモリに順次書き込みし、前記アクセスされた論理アドレスをデータが書き込まれた前記記憶メモリの物理アドレスにマッピングするテーブルを記憶することを特徴とする請求項4に記載の光ディスクドライブに仮想化できるメモリドライブ。 - 前記記憶メモリがフラッシュメモリの場合、
前記書き込み/読み取り制御部は、前記ホストがファイルシステム領域とデータ領域とに区分された第1ファイルの書き込みを要求する時、前記ファイルシステム領域に該当するデータを前記フラッシュメモリに書き込みし、前記データ領域に該当するデータを前記ファイルシステム領域に該当するデータが書き込まれた前記フラッシュメモリに書き込むことを特徴とする請求項4に記載の光ディスクドライブに仮想化できるメモリドライブ。 - 前記書き込み/読み取り制御部は、前記ホストがファイルシステム領域とデータ領域とに区分された第2ファイルの書き込みを要求する時、ページで前記第1ファイルのファイルシステム領域を無効にし、
前記第1ファイルのファイルシステム領域に該当するデータと、前記第2ファイルのファイルシステム領域に該当するデータと、前記第2ファイルのデータ領域に該当するデータとを前記フラッシュメモリに書き込むことを特徴とする請求項13に記載の光ディスクドライブに仮想化できるメモリドライブ。 - 前記書き込み/読み取り制御部は、前記ホストが前記第1ファイルまたは前記第2ファイルの更新を要求する時、前記更新を要求されたファイルのデータ領域と、前記第1ファイル及び前記第2ファイルのファイルシステム領域とを無効にし、
前記ホストから転送された前記第1ファイル及び第2ファイルのファイルシステム領域に該当するデータと、前記更新を要求されたファイルのデータ領域に該当するデータとを前記フラッシュメモリに書き込むことを特徴とする請求項14に記載の光ディスクドライブに仮想化できるメモリドライブ。 - 前記書き込み/読み取り制御部は、前記ホストが前記第1ファイルまたは前記第2ファイルの削除を要求する時、前記第1ファイル及び前記第2ファイルのファイルシステム領域と前記削除を要求されたファイルのデータ領域とを無効にし、
前記削除を要求されていないファイルのファイルシステムを前記フラッシュメモリに書き込むことを特徴とする請求項14に記載の光ディスクドライブに仮想化できるメモリドライブ。 - 記憶メモリと前記記憶メモリにデータを書き込む記憶メモリコントローラとを有するメモリドライブを光ディスクドライブに仮想化する方法であって、
ホストからのデバイス認識要求に応じて、前記メモリドライブのデータ書き込みの可否に関する属性情報を前記ホストに転送するステップと、
前記属性情報に従って前記ホストからの書き込み/読み取り動作要求に応じて光ディスクドライブ規格による書き込み/読み取り単位に従って前記記憶メモリにデータを書き込みまたは前記記憶メモリからデータを読み取りするステップと、
を有することを特徴とするメモリドライブを光ディスクドライブに仮想化する方法。 - 前記転送するステップ並びに前記書き込みまたは読み取りするステップは、前記光ディスクドライブ規格に従う処理命令語を用いて前記ホストの光ディスクドライブ処理命令を実行することを特徴とする請求項17に記載のメモリドライブを光ディスクドライブに仮想化する方法。
- 前記書き込みまたは読み取りするステップは、前記光ディスクドライブ規格に従うファイルシステムを前記記憶メモリに適用して前記記憶メモリにデータを書き込みまたは前記記憶メモリに書き込まれたデータを読み取りすることを特徴とする請求項17に記載のメモリドライブを光ディスクドライブに仮想化する方法。
- 前記書き込みまたは読み取りするステップで、前記記憶メモリに書き込まれるデータのタイプは光ディスクドライブに書き込まれるデータのタイプと同一であることを特徴とする請求項17に記載のメモリドライブを光ディスクドライブに仮想化する方法。
- 前記メモリドライブに、書き込み不可タイプ、追記タイプ、書き換えタイプ、及びランダム書き込みタイプのディスクドライブのうちの1つの属性を与えるステップをさらに有し、
前記与えられた属性に従って前記メモリドライブのデータ書き込みの可否が制御されることを特徴とする請求項17に記載のメモリドライブを光ディスクドライブに仮想化する方法。 - 前記メモリドライブに与えられた属性が前記ランダム書き込みタイプの場合、
前記記憶メモリを構成するページを、前記光ディスク規格に従うブートデータが記憶される隠し領域と、前記隠し領域に記憶されているブートデータがロードされる実領域とに設定するステップをさらに有することを特徴とする請求項21に記載のメモリドライブを光ディスクドライブに仮想化する方法。 - 前記属性情報を転送するステップは、前記属性情報を前記ホストに転送する前に、前記隠し領域に記憶されているブートデータを前記実領域にロードすることを特徴とする請求項22に記載のメモリドライブを光ディスクドライブに仮想化する方法。
- 前記実領域に前記ブートデータをロードした後、前記ホストからのデータ書き込み/読み取り要求に応じて、前記実領域の開始点を前記記憶メモリの物理アドレス開始点にマッピングするステップをさらに有することを特徴とする請求項22に記載のメモリドライブを光ディスクドライブに仮想化する方法。
- 前記書き込みまたは読み取りするステップは、前記ホストがデータを書き込む時、論理アドレスが順次アクセスされる場合、前記記憶メモリに順次データを書き込みし、前記論理アドレスとデータが書き込まれた前記記憶メモリの物理アドレスとの差に関する情報を記憶することを特徴とする請求項17に記載のメモリドライブを光ディスクドライブに仮想化する方法。
- 前記書き込みまたは読み取りするステップは、前記ホストがデータを書き込む時、論理アドレスが順次アクセスされない場合、前記ホストが書き込みしようとするデータをバッファに記憶し、前記バッファに記憶されたデータを前記記憶メモリに順次書き込みし、前記アクセスされた論理アドレスをデータが書き込まれた前記記憶メモリの物理アドレスにマッピングするテーブルを記憶することを特徴とする請求項17に記載のメモリドライブを光ディスクドライブに仮想化する方法。
- 前記記憶メモリがフラッシュメモリの場合、
前記書き込みまたは読み取りするステップは、前記ホストがファイルシステム領域とデータ領域とに区分された第1ファイルの書き込みを要求する時、前記ファイルシステム領域に該当するデータを前記フラッシュメモリに書き込みし、前記データ領域に該当するデータを前記ファイルシステム領域に該当するデータが書き込まれた前記フラッシュメモリに書き込むことを特徴とする請求項17に記載のメモリドライブを光ディスクドライブに仮想化する方法。 - 前記書き込みまたは読み取りするステップは、前記ホストがファイルシステム領域とデータ領域とに区分された第2ファイルの書き込みを要求する時、ページで前記第1ファイルのファイルシステム領域を無効にし、
前記第1ファイルのファイルシステム領域に該当するデータと、前記第2ファイルのファイルシステム領域に該当するデータと、前記第2ファイルのデータ領域に該当するデータとを前記フラッシュメモリに書き込むことを特徴とする請求項27に記載のメモリドライブを光ディスクドライブに仮想化する方法。 - 前記書き込みまたは読み取りするステップは、前記ホストが前記第1ファイルまたは前記第2ファイルの更新を要求する時、前記更新を要求されたファイルのデータ領域と、前記第1ファイル及び前記第2ファイルのファイルシステム領域とを無効にし、
前記ホストから転送された前記第1ファイル及び第2ファイルのファイルシステム領域に該当するデータと、前記更新を要求されたファイルのデータ領域に該当するデータとを前記フラッシュメモリに書き込むことを特徴とする請求項28に記載のメモリドライブを光ディスクドライブに仮想化する方法。 - 前記書き込みまたは読み取りするステップは、前記ホストが前記第1ファイルまたは前記第2ファイルの削除を要求する時、前記第1ファイル及び前記第2ファイルのファイルシステム領域と前記削除を要求されたファイルのデータ領域とを無効にし、
前記削除を要求されていないファイルのファイルシステムを前記フラッシュメモリに書き込むことを特徴とする請求項28に記載のメモリドライブを光ディスクドライブに仮想化する方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2008-0033643 | 2008-04-11 | ||
KR20080033643 | 2008-04-11 | ||
PCT/KR2009/001887 WO2009126011A2 (ko) | 2008-04-11 | 2009-04-13 | 광 디스크 드라이브처럼 동작 가능한 메모리 드라이브 및 메모리 드라이브를 광 디스크 드라이브로 가상화하는 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011520176A true JP2011520176A (ja) | 2011-07-14 |
Family
ID=41162420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011503916A Withdrawn JP2011520176A (ja) | 2008-04-11 | 2009-04-13 | 光ディスクドライブのように動作可能なメモリドライブ及びメモリドライブを光ディスクドライブに仮想化する方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8433847B2 (ja) |
EP (1) | EP2293195A4 (ja) |
JP (1) | JP2011520176A (ja) |
KR (1) | KR20110005817A (ja) |
CN (1) | CN101999117B (ja) |
WO (1) | WO2009126011A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011123863A (ja) * | 2009-12-10 | 2011-06-23 | Phison Electronics Corp | 書き換え可能ディスク装置をシミュレーションするためのフラッシュメモリー記憶システム、フラッシュメモリー制御器、コンピューターシステムおよびその方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090045980A (ko) * | 2007-11-05 | 2009-05-11 | 엘지전자 주식회사 | 광디스크 드라이브 및 이를 이용한 광고 및 서비스 시스템 |
JP2011060395A (ja) * | 2009-09-14 | 2011-03-24 | Hitachi-Lg Data Storage Inc | 光ディスク装置 |
JP4886866B2 (ja) * | 2010-02-10 | 2012-02-29 | 株式会社バッファロー | 主記憶装置へのアクセスを高速化する方法および記憶装置システム |
CN101950275B (zh) * | 2010-09-06 | 2012-08-29 | 深圳市江波龙电子有限公司 | 一种usb存储设备中数据的保护方法、系统及存储设备 |
CN102521142B (zh) * | 2011-12-13 | 2015-05-13 | 曙光信息产业(北京)有限公司 | 一种提高大容量、多内存设备访问效率的方法 |
US9026887B2 (en) * | 2012-03-15 | 2015-05-05 | Micron Technology, Inc. | Physical page, logical page, and codeword correspondence |
US9329931B2 (en) * | 2013-07-24 | 2016-05-03 | Seagate Technology Llc | Solid state drive emergency pre-boot application providing expanded data recovery function |
US10866912B2 (en) | 2017-03-10 | 2020-12-15 | Toshiba Memory Corporation | Integrated heterogeneous solid state storage drive |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5778418A (en) * | 1991-09-27 | 1998-07-07 | Sandisk Corporation | Mass computer storage system having both solid state and rotating disk types of memory |
US20030200385A1 (en) * | 2002-04-18 | 2003-10-23 | Abrams Roger Kenneth | Method and system for increasing disk drive performance |
JP2005267497A (ja) * | 2004-03-22 | 2005-09-29 | Hitachi Global Storage Technologies Netherlands Bv | データ記憶装置、その制御方法及び磁気ディスク記憶装置 |
US7788427B1 (en) * | 2005-05-05 | 2010-08-31 | Marvell International Ltd. | Flash memory interface for disk drive |
JP4990505B2 (ja) * | 2005-04-04 | 2012-08-01 | 株式会社日立製作所 | 記憶制御装置及びストレージシステム |
US7620773B2 (en) | 2005-04-15 | 2009-11-17 | Microsoft Corporation | In-line non volatile memory disk read cache and write buffer |
KR20070103877A (ko) * | 2006-04-20 | 2007-10-25 | 삼성전자주식회사 | 고효율 호환 광픽업 장치 및 이를 채용한 광 기록 또는 재생 장치 |
US20080046641A1 (en) | 2006-08-21 | 2008-02-21 | Sandisk Il Ltd. | NAND flash memory controller exporting a logical sector-based interface |
US7624233B2 (en) | 2006-08-22 | 2009-11-24 | Hewlett-Packard Development Company, L.P. | Portable storage device |
-
2009
- 2009-04-13 US US12/937,131 patent/US8433847B2/en not_active Expired - Fee Related
- 2009-04-13 CN CN2009801127844A patent/CN101999117B/zh not_active Expired - Fee Related
- 2009-04-13 KR KR1020107023540A patent/KR20110005817A/ko active IP Right Grant
- 2009-04-13 EP EP09730865A patent/EP2293195A4/en not_active Withdrawn
- 2009-04-13 JP JP2011503916A patent/JP2011520176A/ja not_active Withdrawn
- 2009-04-13 WO PCT/KR2009/001887 patent/WO2009126011A2/ko active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011123863A (ja) * | 2009-12-10 | 2011-06-23 | Phison Electronics Corp | 書き換え可能ディスク装置をシミュレーションするためのフラッシュメモリー記憶システム、フラッシュメモリー制御器、コンピューターシステムおよびその方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20110005817A (ko) | 2011-01-19 |
EP2293195A2 (en) | 2011-03-09 |
WO2009126011A3 (ko) | 2010-03-04 |
CN101999117B (zh) | 2013-12-25 |
US8433847B2 (en) | 2013-04-30 |
WO2009126011A2 (ko) | 2009-10-15 |
EP2293195A4 (en) | 2011-11-23 |
CN101999117A (zh) | 2011-03-30 |
US20110035543A1 (en) | 2011-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11216214B2 (en) | Memory system and operation method thereof | |
US9928167B2 (en) | Information processing system and nonvolatile storage unit | |
JP4422652B2 (ja) | 漸進的マージ方法及びそれを利用したメモリシステム | |
US11112997B2 (en) | Storage device and operating method thereof | |
US8117374B2 (en) | Flash memory control devices that support multiple memory mapping schemes and methods of operating same | |
US9164895B2 (en) | Virtualization of solid state drive and mass storage drive devices with hot and cold application monitoring | |
US8433847B2 (en) | Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive | |
KR101086857B1 (ko) | 데이터 머지를 수행하는 반도체 스토리지 시스템의 제어 방법 | |
US10977171B2 (en) | Method for creating multi-namespace and accessing data therein | |
US9053007B2 (en) | Memory system, controller, and method for controlling memory system | |
US9864529B1 (en) | Host compatibility for host managed storage media | |
TWI531963B (zh) | Data storage systems and their specific instruction enforcement methods | |
US20120311237A1 (en) | Storage device, storage system and method of virtualizing a storage device | |
JP2019020788A (ja) | メモリシステムおよび制御方法 | |
JP2007193883A (ja) | データ記録装置及び方法、及びデータ再生装置及び方法、並びにデータ記録再生装置及び方法 | |
JP6975202B2 (ja) | 瞬断からの回復処理方法及び装置、並びにコンピュータ読み取り可能な記憶媒体 | |
TW202314471A (zh) | 儲存裝置及其操作方法 | |
JP6767653B2 (ja) | 記憶装置、情報処理システム、記憶装置の起動方法及びプログラム | |
JP5594647B2 (ja) | ストレージ装置及びその制御方法 | |
TWI715116B (zh) | 資料儲存裝置及其刪除命名空間之方法 | |
US20240143211A1 (en) | Storage device, host device and computing system | |
JP2018195185A (ja) | 記憶装置および制御方法 | |
KR20240058637A (ko) | 데이터 및 대응되는 맵을 선택적으로 저장하는 메모리 시스템 및 그 동작 방법 | |
TW202044048A (zh) | 瞬間斷電回復處理方法及裝置以及電腦程式產品 | |
TW202147126A (zh) | 瞬間斷電回復處理方法及裝置以及電腦程式產品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120703 |