KR101065147B1 - 저장장치와 그 저장장치의 상태정보에 접근하는 방법 - Google Patents

저장장치와 그 저장장치의 상태정보에 접근하는 방법 Download PDF

Info

Publication number
KR101065147B1
KR101065147B1 KR1020070120684A KR20070120684A KR101065147B1 KR 101065147 B1 KR101065147 B1 KR 101065147B1 KR 1020070120684 A KR1020070120684 A KR 1020070120684A KR 20070120684 A KR20070120684 A KR 20070120684A KR 101065147 B1 KR101065147 B1 KR 101065147B1
Authority
KR
South Korea
Prior art keywords
storage device
structure field
information
nonvolatile memory
state information
Prior art date
Application number
KR1020070120684A
Other languages
English (en)
Other versions
KR20090039571A (ko
Inventor
훙-웨이 린
흐시아오-테 창
Original Assignee
실리콘모션 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 실리콘모션 인코포레이티드 filed Critical 실리콘모션 인코포레이티드
Publication of KR20090039571A publication Critical patent/KR20090039571A/ko
Application granted granted Critical
Publication of KR101065147B1 publication Critical patent/KR101065147B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/36Monitoring, i.e. supervising the progress of recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/60Solid state media

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 저장장치와, 상기 저장장치의 상태정보에 엑세스 하는 방법에 관한 것이다. 상기 저장장치는 호스트 내에 장착되어 있는데, 상기 저장장치의 장치정보구조필드에는 비휘발성 메모리의 상태정보가 기록되어 있고, 제어모듈은 호스트의 제어신호에 반응하여 상기 상태정보에 엑세스 하게 된다. 이와 같은 방법에 의해 호스트의 오퍼레이팅 시스템 또는 응용프로그램은 비휘발성 메모리의 상태정보를 얻을 수 있게 됨으로써, 저장된 자료의 안전을 확보할 수 있게 되는 것이다.
저장장치, 장치정보구조필드, 플래시 메모리

Description

저장장치와 그 저장장치의 상태정보에 접근하는 방법{STORAGE DEVICE AND METHOD OF ACCESSING A STATUS THEREOF}
본 발명은 저장장치와, 상기 저장장치의 상태정보에 엑세스 하는 방법에 관한 것으로, 더욱 상세하게는, 비휘발성 메모리를 포함하는 저장장치와, 장치정보구조필드에 저장되어 있는 상태정보를 이용하는 방법에 관한 것이다.
비휘발성 메모리(non-volatile memory)는 사용시 메모리 내의 자료를 수시로 재기록 할 수 있느냐에 따라, 롬(ROM, Read Only Memory)과 플래시 메모리(Flash Memory)로 양분할 수 있다. 그 중 플래시 메모리는 광범위하게 많은 전자장치, 예를 들어 휴대전화, 디지털 카메라, MP3 플레이어 등에서 사용되고 있는데, 그 하드웨어의 전기적 특성 중의 하나는 삭제 횟수가 제한되어 있다는 것이다. 일반적인 상황 하에서, SLC(Single Level Cell; 단일 레벨 셀) 메모리의 삭제횟수는 10만 회가 한계이고, MLC(Multiple Level Cell; 다중 수준 셀)메모리는 단지 1만 회가 한계인데, 정상적인 사용 상태에서도 배드블록(Bad Block)이 생성될 수 있고, 스페어블록(Spare Block)이 모두 훼손될 경우에는 플래시 메모리는 자료를 기록(WRITE)할 수 없게 된다.
종래의 많은 전자장치는 플래시 메모리를 저장단위의 디스크 드라이브로 사용하고 있다. 현재 플래시 메모리의 READ/WRITE 횟수와 사용시간은 대폭 증가되었는데, 이로 인해 더 쉽게 메모리 훼손이 이루어지고 있다. 따라서, 디스크 드라이브에 이상이 발생하거나 그 수명이 다했을 때, 신속하게 디스크 드라이브의 상태정보를 오퍼레이팅 시스템과 관련 응용 프로그램에 보고하게 하여, 사용자로 하여금 관련된 사용 정보를 획득하게 하여, 디스크 드라이브가 훼손되기 전에 교체하거나 백업(BACKUP)을 시켜 자료의 정확하고 타당한 보존을 확보시키는 것은 중요한 연구과제가 되었다.
플래시 메모리를 저장단위의 디스크 드라이브로 사용할 경우, 디스크 드라이브의 상태정보를 장치에 보고하게 하는 종래 기술은 존재하지 않는다. 현재 플래시 메모리를 관리하는 방법은, 플래시 메모리의 상태정보를 플래시 메모리 내의 제어칩에 저장하는 것으로, 이 경우 일반적인 오퍼레이팅 시스템 및 관련 모니터링 프로그램은 상태정보를 얻을 수가 없다. 따라서, 제작사가 직접 제작한 응용 프로그램을 이용하여 플래시 메모리의 제어칩에 엑세스 하여서만 비로소 플래시 메모리의 상태정보를 얻을 수 있었다. 그러나 각 제작사가가 설계한 제어칩이 모두 동일한 것은 아니기 때문에, 각 제작사의 응용프로그램은 다른 제작사에서 만든 메모리 제어칩을 읽을 수가 없게 된다.
상술한 내용을 종합하면, 플래시 메모리를 저장단위의 디스크 드라이브로 사용할 경우, 어떻게 상태정보를 오퍼레이팅 시스템 및 제어프로그램에 보고하게 하여, 자료의 안전하고 타당한 보전을 확보할 것인가 하는 것은, 당업계가 시급하게 해결해야 하는 과제가 되었다.
본 발명의 목적은 호스트 내에 장착 고정되되, 비휘발성 메모리와 장치정보구조필드를 구비하여 그 상태정보가 저장되는 저장장치를 제공하는 것이다. 상기 장치정보구조필드는 호환 협정에 부합하는 것으로, 호스트 내의 오퍼레이팅 시스템 또는 응용프로그램은 제어신호를 상기 저장장치까지 보내는 방식을 사용하여, 상기 비휘발성 메모리의 상태정보를 취득하여 비휘발성 메모리를 포함하는 장치의 사용 상태를 판단하게 된다.
본 발명의 또 다른 목적은 상기 저장장치의 장치정보구조필드를 미리 정의(설계)하여, 필요로 하는 상태정보를 저장하게 하고, 적절한 시기에 상기 상태정보를 오퍼레이팅 시스템 또는 응용프로그램에 보고하여, 오퍼레이팅 시스템 또는 응용프로그램으로 하여금 저장장치의 사용상태를 판단할 수 있게 하는, 저장장치를 제공하는 것이다.
본 발명의 또 다른 목적은, 저장장치의 상태정보에 엑세스 하는 방법을 제공하는 것인데, 상기 저장장치는 비휘발성 메모리를 포함하고 있고, 상기 비휘발성 메모리는 장치정보구조필드를 포함하고 있으며, 상기 비휘발성 메모리의 상태정보는 장치정보구조필드에 저장된다. 상기 방법에 의하여, 비휘발성 메모리의 장치정보구조필드에 엑세스 하기만 하면, 비휘발성 메모리의 상태정보를 얻을 수 있게 된다.
상술한 목적을 달성하기 위하여, 본 발명이 제공하는 저장장치는 비휘발성 메모리와, 상기 비휘발성 메모리의 상태정보를 저장하는데 사용되는 장치정보구조필드; 및 호스트의 제어신호에 반응하여, 상기 장치정보구조필드의 상태정보에 엑세스 하는 제어모듈을 포함한다. 그리고 상기 호스트가 상기 상태정보에 근거하여 상기 저장장치의 사용상태를 판단하되 상기 저장장치의 사용상태는 상기 저장장치의 사용수명에 관한 것이다. 이와 같이 오퍼레이팅 시스템 또는 응용프로그램은 호스트의 제어신호를 이용하여, 비휘발성 메모리의 상태정보에 엑세스 하여, 상기 저장장치를 감독 제어하는 목적을 이룰 수 있게 된다.
또한 본 발명은, 저장장치의 상태정보에 엑세스 하는 방법을 제공하기 위하여, 다음 단계를 포함한다 : 호스트에서 생성하는 제어신호를 수신하는 단계; 및 상기 제어신호에 따라, 상기 장치정보구조필드의 상태정보에 엑세스하는 단계.
본 발명은 장치정보구조필드를 정의(설계)함으로써, 저장장치가 포함하는 비휘발성 메모리의 상태정보를 기록할 수 있게 된다. 이를 통하여 오퍼레이팅 시스템 또는 응용프로그램이 직접 상기 상태정보를 획득할 수 있도록 하여, 사용자에게 저장장치에 관한 판단자료를 제공할 수 있게 되었다. 따라서 본 발명은 플래시 메모리를 포함하는 저장장치가 오퍼레이팅 시스템 또는 응용프로그램에 그 상태정보를 제공하지 못했던 종래 기술의 문제점을 개선한 것이다.
본 발명의 목적, 기술특징 및 장점을 더욱 명확하고 쉽게 설명하기 위하여, 이하에서는 구체적인 실시예와 도면을 통하여 상세하게 설명하도록 한다.
실시예를 통해서 설명하고자 하는 본 발명의 내용은, 비휘발성 메모리를 포함하는 저장장치에 관한 것이다. 그러나 본 발명이 실시예에서 기술된 임의의 특정 환경, 적용 또는 특수방식에 한정되어 실시되는 것은 아니다. 따라서 실시예의 설명은 단순히 본 발명을 이해하는 것을 목적으로 하며, 본 발명을 제한하기 위한 것이 아니다. 또한 아래의 실시예와 도면에는, 본 발명과 관련이 없는 구성은 생략되었고, 또한 도면에는 도시되지 아니하였다.
도 1은 본 발명의 제 1 실시예인데, 호스트(1) 내부에 저장장치(11)와 버스 인터페이스(12)가 연결된 설명도이다. 버스 인터페이스(12)는 ATA/ATAPI 규격에 부합한다. 저장장치(11)는 호스트(1) 내부에 장착되어 고정되고, 장치정보구조필드(111), 제어모듈(112) 및 비휘발성 메모리(113)를 포함하고 있는데, 본 실시예에서는 플래시 메모리가 사용되었다. 비휘발성 메모리(113)는 버스 인터페이스(12)의 제어신호(101)를 수신하여 엑세스 작업을 진행하는데, 여기서 제어신호(101)는 호스트(1)로부터 온 것이다. 장치정보구조필드(111)는 비휘발성 메모리(113)의 상태정보(102)를 저장하는데 사용된다; 제어모듈(112)은 호스트(1)의 제어신호(101)에 반응하여, 장치정보구조필드(111)의 상태정보(102)에 엑세스하도록 사용된다.
상태정보(102)는 비휘발성 메모리(113)의 현재 사용상태 및 안정도를 포함하는데, 호스트(1)는 호환 협정에 부합하는 제어신호(101)를 통하여, 버스 인터페이스(12)를 경유하여 상태정보(102)를 읽게 된다. 본 실시예에서, 호환 협정은 자가진단, 분석 및 보고기술(self-monitoring, analysis, and reporting technology, S.M.A.R.T.) 협정이다. S.M.A.R.T. 협정에 부합하는 저장장치(11)는, 그 장치정보 구조필드(111)가 서열화된 복수의 비트주소, 예를 들어 비트주소 386 내지 비트주소 510을, 자체적으로 정의(설계) 할 수 있는 필드로 보류시킨다. 상태정보(102)는 상기 비트주소 0 내지 비트주소 361에 저장되는데, 호스트(1)의 오퍼레이팅 시스템 또는 응용프로그램은 비트주소 0 내지 비트주소 361을 읽어, 상기 저장장치(11)의 정보를 취득하게 된다.
상술한 바와 같이, 비휘발성 메모리(113)는 플래시 메모리를 포함하는데, 이는 복수의 블록을 포함하게 된다. 예를 들어, 자료블록, 공백블록, 임시보관블록 및 배드블록 등이다. 따라서 상태정보(102)는 최소한 사용블록의 갯수, 배드블록의 갯수 및 공백블록의 갯수를 포함하게 된다. 상태정보(102)는 또한 초기 배드블록의 갯수, 사용 후 배드블록의 갯수, 저장페이지 용량, 대체된 저장페이지의 갯수, 초기에 배정된 저장페이지(initially mapped out page)의 갯수를 포함할 수 있다.
이를 좀더 쉽게 이해하기 위해, 본 발명의 실시예에서 장치정보구조필드(111)가 필드를 정의(설계)하는 방식을 구체적으로 설명하도록 하겠다. 도 2를 참조하여 보면, 장치정보구조필드(111)는 필드 111a, 111b, 111c, 111d, 111e 및111f를 포함한다. 필드 111a는 비트 386 내지 395를 포함하는데, 비휘발성 메모리(113)의 관련 정보를 대표하는데 사용된다; 필드 111b는 비트 396을 포함하는데, 비휘발성 메모리(113)가 포함하는 관리단위의 갯수를 대표하는데 사용된다; 필드 111c는 비트 397을 포함하는데, 비휘발성 메모리(113)가 포함하는 복수의 관리단위 중의 하나인 관리단위 A를 대표한다; 필드 111d는 비트 398을 포함하는데, 관리단위 A의 자료블록의 갯수를 대표한다; 필드 111e는 비트 400을 포함하는데, 관리단 위 A의 공백블록의 갯수를 대표한다; 필드 111f는 비트 401을 포함하는데, 관리단위 A의 초기 배드블록의 갯수를 대표한다; 필드 111g는 비트 402를 포함하는데, 관리단위 A의 현재 사용 중인 배드블록의 갯수를 대표한다. 여기서 주의해야 할 것은, 비휘발성 메모리(113)가 포함하고 있는 다른 관리 단위의 정보는, 장치정보구조필드(111)의 다른 필드에 저장될 수 있다는 것이다. 그러나 여기서는 이에 대해서 언급하지 않기로 한다; 장치정보구조필드(111)는 다른 비휘발성 메모리가 구비하고 있는 관련 정도 역시 포함할 수 있다. 상술한 내용은 설명의 목적을 위한 것이고, 본 발명을 제한하기 위한 것은 아니다.
호스트(1)의 오퍼레이팅 시스템 또는 응용프로그램은 수시로 제어신호(101)를 이용할 수 있는데, 제어모듈(112)을 통하여 호스트(1)가 가동될 때 장치정보구조필드(111)의 상태정보(102)에 엑세스 하게 된다. 이와 같이 오퍼레이팅 시스템 또는 응용프로그램은 기계가 작동될 때마다, 상기 상태정보(102)에 근거하여, 현재 저장장치(11)의 사용상태, 예를 들어 그 사용수명이 한계에 달했는지 등을 판단하여 사용자에게 즉시 보고한다.
다른 실시예로서, 오퍼레이팅 시스템 또는 응용프로그램은 일정 시간 또는 랜덤 방식으로 S.M.A.R.T 협정에 부합하는 제어신호(101)를 이용하여, 제어모듈(112)을 경유하여 장치정보구조필드(111)의 상태정보(102)에 엑세스 하여, 저장장치(11)의 사용상태를 파악하게 된다.
본 발명의 제 2 실시예는 저장장치의 상태정보에 엑세스 하는 방법으로 서, 상기 저장장치는 비휘발성 메모리를 포함하고 있고, 상기 비휘발성 메모리는 장치정보구조필드를 포함하고 있으며, 상기 비휘발성 메모리의 상태정보는 장치정보구조필드에 저장되는데, 상기 방법은 전술한 도 1의 저장장치(11)에 응용될 수 있다. 그 중 상기 비휘발성 메모리(113)는 플래시 메모리가 사용되고, 복수의 볼록을 포함하고 있다.
도 3을 참조하여 보면, 상술한 방법을 이용하여 저장장치(11)에 엑세스하는 흐름을 보여주고 있다. 우선 단계 301은, 비휘발성 메모리(113)가 호스트(1)의 제어신호(101)를 수신하는 단계인데, 즉 다시 말하면 버스 인터페이스(12)의 제어신호(101)를 수신하는 것이다. 상기 제어신호(101)는 S.M.A.R.T 협정에 부합한다. 다음 단계 302는, 상기 제어신호(101)에 따라, 상기 장치정보구조필드(111)의 상태정보(102)에 엑세스하는 것이다. 마지막 단계 303은, 상기 상태정보(102)에 따라, 상기 비휘발성 메모리(113)의 상태를 판단하는 것이다. 상기 상태정보(102)는 자료블록의 갯수, 배드블록의 갯수와 공백블록의 갯수 중 어느 하나 이상을 포함한다. 제 1 실시예에서 상세한 설명을 하였기 때문에, 여기서 다시 언급하지 않기로 한다.
상술한 실시예는 본 발명의 기술적 특징을 설명하기 위하여 예로서 든 실시태양에 불과한 것으로, 청구범위에 기재된 본 발명의 보호범위를 제한하기 위하여 사용되는 것이 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 본 발명의 정신과 범위를 벗어나지 않는 범위 내에서 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해해야 한다. 따라서 본 발명의 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1은 본 발명의 제 1 실시예를 보여주는 설명도이다.
도 2는 본 발명의 제 1 실시예에 따른 장치정보구조필드를 보여주는 설명도이다.
도 3은 본 발명의 방법에 따라 저장장치에 엑세스하는 흐름을 보여주는 순서도이다.
* 주요 구성에 대한 도면부호의 설명 *
1 : 호스트 11 : 저장장치 12 : 버스 인터페이스
111 : 장치정보구조필드 112 : 제어모듈 113 : 비휘발성 메모리
301 : 제어신호를 수신하는 단계
302 : 장치정보구조필드의 상태정보에 엑세스하는 단계
303 : 상태정보에 따라, 비휘발성 메모리의 상태를 판단하는 단계

Claims (9)

  1. 호스트 내에 장착되는 저장장치로서,
    자료블록의 갯수와 배드블록의 갯수와 공백블록의 갯수를 포함하는 상태정보를 가지며, 복수 개의 블록과, 상기 상태정보를 저장하는데 사용되는 장치정보구조필드를 구비한 비휘발성 메모리; 및
    상기 호스트의 제어신호에 반응하여, 상기 장치정보구조필드의 상태정보에 엑세스하는 제어모듈을 포함하며,
    상기 호스트가 상기 상태정보의 배드블록의 갯수에 근거하여 상기 저장장치의 사용상태를 판단하되, 상기 저장장치의 사용상태는 상기 저장장치의 사용수명을 나타내는 것인 저장장치.
  2. 제 1항에 있어서, 상기 비휘발성 메모리는 플래시 메모리인 저장장치.
  3. 제 1항에 있어서, 상기 제어신호는 자가진단, 분석 및 보고기술(self-monitoring, analysis, and reporting technology, S.M.A.R.T.) 협정에 부합하는 저장장치.
  4. 삭제
  5. 제 1항에 있어서, 상기 제어모듈은, 상기 호스트가 작동될 때, 상기 장치정보구조필드의 상태정보에 엑세스 하게 되는 저장장치.
  6. 제 1항에 있어서, 상기 제어모듈은 일정 시간 및 랜덤 방식 중 어느 하나에 의해 상기 장치정보구조필드의 상태정보에 엑세스 하게 되는 저장장치.
  7. 제 1항에 있어서, 상기 비휘발성 메모리는 서열화된 복수 개의 비트주소를 포함하고, 상기 장치정보구조필드는 비트주소 386 내지 비트주소 510에 위치하는 저장장치.
  8. 저장장치의 상태정보에 엑세스 하는 방법으로서, 상기 저장장치는 비휘발성 메모리를 포함하고, 상기 비휘발성 메모리는 장치정보구조필드를 포함하고, 상기 상태정보는 상기 장치정보구조필드에 저장되며,
    상기 방법은
    제어신호를 수신하는 단계;
    상기 제어신호에 따라 상기 장치정보구조필드의 상태정보에 엑세스 하는 단계; 및
    상기 상태정보에 따라 상기 비휘발성 메모리의 상태를 판단하는 단계를 포함하며,
    상기 저장장치의 사용상태는 상기 저장장치의 사용수명에 관한 것인 저장장치의 상태정보에 엑세스 하는 방법.
  9. 제 8항에 있어서, 상기 제어신호는 자가진단, 분석 및 보고기술(self-monitoring, analysis, and reporting technology, S.M.A.R.T.) 협정에 부합하는 저장장치의 상태정보에 엑세스 하는 방법.
KR1020070120684A 2007-10-17 2007-11-26 저장장치와 그 저장장치의 상태정보에 접근하는 방법 KR101065147B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW096138888A TW200919448A (en) 2007-10-17 2007-10-17 Storage device and method of accessing a status thereof
TW096138888 2007-10-17

Publications (2)

Publication Number Publication Date
KR20090039571A KR20090039571A (ko) 2009-04-22
KR101065147B1 true KR101065147B1 (ko) 2011-09-16

Family

ID=40564660

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070120684A KR101065147B1 (ko) 2007-10-17 2007-11-26 저장장치와 그 저장장치의 상태정보에 접근하는 방법

Country Status (3)

Country Link
US (1) US8335885B2 (ko)
KR (1) KR101065147B1 (ko)
TW (1) TW200919448A (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8683148B2 (en) 2010-06-30 2014-03-25 Sandisk Il Ltd. Status indication when a maintenance operation is to be performed at a memory device
US9478271B2 (en) * 2013-03-14 2016-10-25 Seagate Technology Llc Nonvolatile memory data recovery after power failure
TWI576699B (zh) 2016-03-31 2017-04-01 慧榮科技股份有限公司 紀錄資料區塊的使用時間的方法及其裝置
KR102620255B1 (ko) * 2018-05-18 2024-01-04 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
KR20200085513A (ko) 2019-01-07 2020-07-15 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010037155A (ko) * 1999-10-14 2001-05-07 윤종용 플래시 파일 시스템
KR20010105824A (ko) * 2000-05-18 2001-11-29 서진원 인터넷의 웹사이트 게시판을 이용한 자동광고시스템
KR20030095438A (ko) * 2002-06-10 2003-12-24 삼성전자주식회사 플래쉬 메모리용 파일 시스템
KR20070037285A (ko) * 2005-09-30 2007-04-04 시그마텔, 인크. 비휘발성 컴퓨터 메모리에 액세스하는 시스템 및 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5838614A (en) 1995-07-31 1998-11-17 Lexar Microsystems, Inc. Identification and verification of a sector within a block of mass storage flash memory
US7035967B2 (en) * 2002-10-28 2006-04-25 Sandisk Corporation Maintaining an average erase count in a non-volatile storage system
CN100511478C (zh) 2004-06-30 2009-07-08 深圳市朗科科技股份有限公司 对闪存数据的存取进行管理的方法
KR100622349B1 (ko) * 2004-08-04 2006-09-14 삼성전자주식회사 불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법.
KR100746289B1 (ko) * 2005-07-11 2007-08-03 삼성전자주식회사 메모리 용량 정보를 갱신하는 비휘발성 메모리 카드 장치및 방법
US7516267B2 (en) * 2005-11-03 2009-04-07 Intel Corporation Recovering from a non-volatile memory failure
US7861122B2 (en) * 2006-01-27 2010-12-28 Apple Inc. Monitoring health of non-volatile memory
US7765426B2 (en) * 2007-06-07 2010-07-27 Micron Technology, Inc. Emerging bad block detection

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010037155A (ko) * 1999-10-14 2001-05-07 윤종용 플래시 파일 시스템
KR20010105824A (ko) * 2000-05-18 2001-11-29 서진원 인터넷의 웹사이트 게시판을 이용한 자동광고시스템
KR20030095438A (ko) * 2002-06-10 2003-12-24 삼성전자주식회사 플래쉬 메모리용 파일 시스템
KR20070037285A (ko) * 2005-09-30 2007-04-04 시그마텔, 인크. 비휘발성 컴퓨터 메모리에 액세스하는 시스템 및 방법

Also Published As

Publication number Publication date
US8335885B2 (en) 2012-12-18
KR20090039571A (ko) 2009-04-22
US20090106519A1 (en) 2009-04-23
TW200919448A (en) 2009-05-01

Similar Documents

Publication Publication Date Title
US8699287B2 (en) Techniques for increasing a lifetime of blocks of memory
KR101566849B1 (ko) 메모리 장치 관리 방법, 그 관련 메모리 장치 및 그 관련 제어기
US8037233B2 (en) System, controller, and method for data storage
KR100781976B1 (ko) 플래시 메모리를 구비하는 반도체 메모리 장치에서의 블록상태 정보 제공방법
US8910002B2 (en) NAND flash-based storage device with built-in test-ahead for failure anticipation
CN1499532B (zh) 非易失性存储器系统内纠错码的混合实现
CN110335635B (zh) 用来管理一记忆装置的方法以及记忆装置与控制器
US20150186225A1 (en) Data storage device and flash memory control method
US20080195833A1 (en) Systems, methods and computer program products for operating a data processing system in which a file system's unit of memory allocation is coordinated with a storage system's read/write operation unit
KR101561546B1 (ko) 메모리 장치 관리 방법, 그 관련 메모리 장치 및 그 관련 제어기
US9443591B2 (en) Storage device out-of-space handling
WO2009067138A1 (en) Writing data to different storage devices based on write frequency
KR102515137B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20100107453A (ko) 1회 기록 메모리 디바이스와 다수 회 기록 메모리 디바이스를 포함하는 컴퓨터용 스토리지 서브 시스템 및 관련 방법
KR101065147B1 (ko) 저장장치와 그 저장장치의 상태정보에 접근하는 방법
CN102298543A (zh) 一种存储器管理方法和装置
US20120166706A1 (en) Data management method, memory controller and embedded memory storage apparatus using the same
KR20220056783A (ko) 비정상적 셧다운과 연관된 효율적인 데이터 저장 이용
US9990152B1 (en) Data writing method and storage controller
CN109960466B (zh) 存储器系统及其操作方法
US11036493B2 (en) Memory system and operating method thereof
US11169871B2 (en) Data storage device and operating method thereof
CN110377538B (zh) 存储器管理方法以及存储控制器
US9880926B1 (en) Log structured reserved zone for a data storage device
KR20130115603A (ko) 플래시 메모리를 포함하는 메모리 장치 및 예비 블록 관리 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140825

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150804

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160829

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170825

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190620

Year of fee payment: 9