KR101153232B1 - 최적화된 비-휘발성 저장 시스템 - Google Patents

최적화된 비-휘발성 저장 시스템 Download PDF

Info

Publication number
KR101153232B1
KR101153232B1 KR1020077002213A KR20077002213A KR101153232B1 KR 101153232 B1 KR101153232 B1 KR 101153232B1 KR 1020077002213 A KR1020077002213 A KR 1020077002213A KR 20077002213 A KR20077002213 A KR 20077002213A KR 101153232 B1 KR101153232 B1 KR 101153232B1
Authority
KR
South Korea
Prior art keywords
card
host
delete delete
controller
algorithm
Prior art date
Application number
KR1020077002213A
Other languages
English (en)
Other versions
KR20070051259A (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 KR20070051259A publication Critical patent/KR20070051259A/ko
Application granted granted Critical
Publication of KR101153232B1 publication Critical patent/KR101153232B1/ko

Links

Images

Classifications

    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation 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]
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

본 발명은 카드가 구동되는 상황이나 이것이 적용되는 어플리케이션(application)에 따라 그의 작동을 적용시키는 메모리 카드(memory card)에 관한 것이다. 이것은 상기 카드가 동적으로 자체의 최적화(dynamical self optimize)가 되도록 한다. 제 1세트의 실시예에서, 상기 카드는 그것이 호스트-카드 상호작용 동안에 호스트에 대해 학습(learn)하는 경우의 호스트 프로파일링(host profiling)을 이용하여 그에 따라 카드의 제어기가 그의 알고리즘을 최적화한다. 다른 세트(set)의 실시예에서, 호스트와 카드가 서비스 협정(service negotiation)의 품질에 대한 또 다른 그들의 능력을 보고할 것이다. 또 다른 세트의 실시예는, 호스트 리셋(reset) 혹은 전원 온 시동 순서(power on boot sequence) 같은 여러 가지 소정의 상황 하에 호스트에 의해 제기된 액세스 순서를 저장 장치가 기억하도록 한다. 상기 저장장치는 이러한 정보를 이용하여 예측되는 명령에 대한 작동을 최적화할 수 있다. 예측된 순서로부터 이탈되자마자, 상기 장치는 새로운 명령 순서를 기억하여 이것을 저장하고, 그리하여 자체-적응형(self-adaptive) 방식으로 작동한다.
호스트 프로파일링, 서비스 협정, 클럭율, 데드 시간,

Description

최적화된 비-휘발성 저장 시스템{OPTIMIZED NON-VOLATILE STORAGE SYSTEMS}
본 발명은 일반적으로 분리 가능한 전자 회로 카드의 이용과 구조에 관한 것으로, 더욱 상세히는 상기 카드가 이용되는 어플리케이션(application) 같은, 카드에 외부적인 상황에 대해 최적화하는 카드에 관한 것이다.
유행되고 있는, 상업적으로 가용한 여러 가지의 비-휘발성 메모리 카드가 극히 소형으로 상이한 기계적인/이거나 전기적인 인터페이스를 구비한다. 본 출원의 양수인인 캘리포니아주, 써니베일(Sunnyvale) 소재의 샌디스크 코퍼레이션(SanDisk Corporation) 회사가 제조하는 멀티미디어 카드(MultiMediaCard:"MMC")와 시큐어 디지털(Secure Digital:"SD") 메모리카드가 이러한 예에 포함된다. 국제 표준화 기구(“ISO")와 국제 전기 표준 회의(”IEC")의 규격에 일치하는 다른 카드가 예로서 ISO/IEC 7816 표준으로 공지되어 광범위하게 구현되고 있다.
상기 멀티미디어 카드(MMC)에 대해 물리적이고 전기적인 규격이 “멀티미디어카드 시스템 규격집”에 나와 있고, 이것은 각각 2000년 1월과 1999년 6월 날짜의 버전(Version) 2.11과 2.2의 규격집으로 캘리포니아, 쿠퍼티노(Cupertino) 소재의 멀티미디어카드 협회(“MMCA")에 의해 종종 출판되고 갱신되며, 여기에 참고로 기술된다. 단일 카드에 64 메가바이트(megabyte)까지의 가변의 저장 용량을 갖는 MMC 제품은 현재 샌디스크 코퍼레이션 회사에서 제조되고, 128 메가바이트의 용량이 머지않아 제조될 것으로 기대된다. 이러한 제품은 샌디스크 코퍼레이션 회사에 의해 출판된 2000년 4월 판의 ”멀티-미디어 카드 제품 매뉴얼“ 리비젼(Revision) 2에 나와 있고, 상기 매뉴얼은 여기에 참고로 기술된다. MMC 제품의 전기적인 동작의 일정한 특징이, 샌디스크 코퍼레이션 회사에 양도되고 1998년 11월 4일에 함께 출원된 미국 특허 출원번호 09/185,649및 09/186,064호, 토마스 엔 툼(Thomas N. Toombs)과 믹키 홀츠먼(Micky Holtzman)의 함께 계류중인 특허 출원서에 역시 기술된다. 물리적인 카드 구조와 이것을 제조하는 방법이 샌디스크 제조회사에 양도된 미국 특허 제 6,040,622호에 기술되어 있다. 양쪽의 이러한 출원과 특허는 역시 여기에 참고로 기술된다.
늘어난 두께를 제외하고는 동일한 크기를 갖는 더 새로운 SD 카드가 부가적인 메모리 칩에 부합되는 상기 MMC 카드와 유사하다. 그들 사이의 주요 차이는 SD 카드가 부가적인 데이터 접점을 포함하여 카드와 호스트 사이에 더 빠른 데이터 전송을 가능하게 하는 것이다. 상기 SD 카드의 다른 접점은 MMC 카드의 것과 동일하여서 SD 카드를 수용하도록 설계된 소켓(socket)이 역시 MMC 카드를 수용한다는 것이다. 상기 SD 카드와의 전기적인 인터페이스는 대부분에서 상기 참조된 규격인 버전 2.11로 기술된 MMC 제품과 양립하도록 만들어져서 이런 양쪽 유형의 카드에 부합하도록 호스트의 동작에 약간의 변화가 있을 필요가 있다. 상기 SD 카드의 일정한 특징이 여기에 참고로 기술된 2000년 8월 17일 출원된 미국 특허 출원 번호 제 09/641,023호에 기술된다.
ISO/IEC 7816 규격에 따라 제조된 카드가 다른 유형의 것으로서, 다른 위치에 표면 접점을 구비하고 MMC 카드와 SD 카드보다는 다른 전기적인 인터페이스를 갖는다. 상기 ISO/IEC 7816 규격은 일반적인 제목의 “접점을 구비한 식별 카드-집적회로 카드”를 구비하고, 1994년으로부터 2000년을 통해 개별 날짜를 부기하는 부(部) 1-10으로 이루어진다. 스위스, 제네바에 위치한 ISO/IEC 본부로부터 가용한 복사본의 이러한 규격이 여기에 참고로 기술된다. ISO/IEC 7816 카드는 데이터가 비공인 방식으로 판독되는 것이 극히 어렵거나 불가능하게 만드는 안전한 방식으로 저장되어야 하는 응용 제품에 특히 유용하다. 소형의 ISO/IEC 7816 카드가 응용 제품들 중에서 이동 전화기에 공통으로 이용된다.
오디오 저장장치, 정지(still) 영상 저장장치와 비디오 저장장치 같은 다수의 상이한 어플리케이션으로 동작하도록 현재의 저장 시스템이 설계되지만, 일반적으로 특정의 응용에는 최적화되어 있지 않다. 상기의 상이한 호스트는 다른 응용에는 메모리카드를 이용한다. 이러한 응용 제품은 판독과 기록 성능, 데이터 통합의 레벨 등등의 관점에서 보면 또 다른 욕구가 대두 된다. 그러한 시스템은 하나의 응용에서는 잘 동작하지만 다른 응용에서는 수용 가능한 성능을 제공하지 못한다. 카드 제어기에서는 응용의 필요성에서의 구별이 고려되지 않는다.
이러한 분리 가능한 비-휘발성 메모리 카드는 메모리 어레이와, 메모리 제어와 호스트 인터페이스 기능을 실행하는 제어기를 포함한다. 다른 패턴으로 카드에 액세스하는 휴대정보 터미널(personal data assistants: PDA), 디지털 카메라, 이동 전화기 등과 같은 여러 가지 상이한 장치에 이러한 분리 가능한 카드가 꽂힌다. 이러한 구별은 상기 카드가 여러 가지 응용에 대해 호스트 액세스 패턴에 따른 메모리 관리 알고리즘을 최적화하는 데 적절한 성능과 능력보다 더 적게 갖도록 한다. 캐시(cache)같은 일반적인 성능 개선이 많은 응용에 도움을 주지만, 여전히 범용(general-purpose)의 카드에는 제한이 따른다. 대안으로, 일정한 응용에 대해 특정의 최적화가 있지만 먼저 카드를 설계할 필요가 있다.
그러므로 본 발명은 카드가 구동되는 상황 혹은 카드가 적용되는 본 출원에 따른 카드의 동작을 호스트에 대해 독립으로 적용하는 메모리 카드를 일반적으로 간략하게 제공한다. 이것은 상기 카드가 동적으로 자체가 최적화되도록 한다. 예를 들어, 상기 카드는 그것이 어떻게 이용되는 지를 감지할 수 있거나 상기 호스로부터 수신된 정보를 고려하여서 그의 동작을 최적화할 수 있다.
제1 세트의 실시예에서, 상기 카드는 그것이 호스트-카드 상호작용 동안에 호스트에 대해 학습(learn)하고 순차적인 명령 사이에 유휴 시간, 판독/기록 버퍼 전달 속도 같은 정보와 다른 정보를 수집하는 호스트 프로파일링(host profiling)을 이용하여 그에 따라 카드의 제어기가 그의 알고리즘을 최적화한다. 다른 세트(set)의 실시예에서, 호스트와 카드가 서비스 협정(service negotiation)의 품질에 대한 또 다른 그들의 능력에 대해 보고할 것이다. 협상에 근거하여, 이에 따라 상기 카드가 에러와 결점 관리 및 전원 대 성능으로서 그러한 것에 대해 그의 작동을 적용할 수 있다.
또 다른 세트의 실시예는, 호스트 리셋(reset) 혹은 전원 온 시동 순서(power on boot sequence) 같은 여러 가지 소정의 상황 하에 호스트에 의해 제기된 액세스 순서를 저장 장치가 기억하도록 한다. 이러한 소정의 상황을 따르는 호스트 명령의 순서가 보통 같기에, 상기 저장장치는 이러한 정보를 이용하여 예측되는 명령에 대한 작동을 최적화할 수 있다. 예측된 순서로부터 이탈되자마자, 상기 장치는 새로운 명령 순서를 기억하여 이것을 저장하고, 그리하여 자체-적응형(self-adaptive) 방식으로 작동한다. 이러한 방법은 상기 카드에서 다수의 어플리케이션을 구동하여 카드가 해당 패턴을 학습하도록 하고 선적하기 전에 최적화를 고정함으로써 선적하기 전에 메모리 카드를 최적화하여 이용할 수 있다.
또 다른 세트의 실시예에서, 상기 제어기는 온도나 전원 공급 레벨 같은 외부의 작동 상황에 따라 그의 동작을 적용할 수 있다.
본 발명의 부가적인 내용, 특징과 장점은 첨부된 도면을 참조하여 다음의 상세한 설명으로부터 명백하게 된다.
도 1은 비-휘발성 메모리 카드가 이용되는 시스템을 예시한다.
도 2는 상기 카드가 삽입되는 예를 든 카드와 시스템 소켓의 핀 할당을 도시한다.
도 3은 예를 든 호스트-카드 시스템을 더 상세하게 도시하는 블록도 이다.
도 4는 예를 든 호스트 액세스 패턴을 도시한다.
도 5는 예를 든 서비스 협상의 품질을 기술한다.
도 6은 예를 든 실시예의 흐름도이다.
도 7은 예를 든 호스트 액세스 패턴과 액세스 시간이 얼마나 줄어들 수 있느느지를 예시한다.
도 1에 대해, 위에 배경 기술에 요약된 메모리 카드 같은 하나 이상의 유형의 상업적으로 가용한 분리 가능한 전자 회로 카드(35)가 사용자에 의해 삽입되고 분리되는 소켓(33:socket)을 포함하는 호스트 전자 시스템(31)이 예시된다. 상기 소켓(33)은 호스트(31) 속으로 구성되거나 물리적으로 분리되어 케이블이나 케이블이 없는 수단에 의해 접속된다. 상기 호스트(31)는 데스크 토이나 노트북 형태의 퍼스널 컴퓨터로서 이것은 그러한 카드를 수납하는 상기 소켓(33) 을 포함한다. 그러한 카드 소켓을 포함하는 호스트 시스템의 다른 예는 핸드 헬드(hand-held) 컴퓨터, 퍼스널 조직기(organizer), 다른 퍼스널 디지털 어시스턴트(“PDAs"), 이동 전화기(cellular telephones), 음악 플레이어 등과 같은 여러 휴대용 전자 기기를 포함한다. 부가적으로, 역시 자동 무선 및 글로벌 위치 시스템(”GPS") 수신기는 그러한 메모리 카드 소켓을 구비할 수 있다. 적절한 어댑터 또는 커넥터가 메모리 카드에 부착되거나 메모리 카드 소켓을 포함하는 광범위한 여러 가지의 호스트 시스템에 대한 적용을 본 발명의 개선된 점이 구비한다.
여기에 기술된 대부분의 예에서, SD카드가 기술되지만 본 발명은 어떤 특정한 유형의 분리 가능한 전자 회로 카드 같은 구현에 제한되지 않는다는 것을 이해할 것이다. 도 2에서, SD카드(35)와 상응하는 소켓(33)의 물리적인 구조가 도시된다. 상기 SD카드는 24밀리미터 X 32밀리미터의 장방형 모양으로, 1.4 밀리미터 두 께인 카드의 더 긴 쪽을 따라 좁은 레일(도 2에 미 도시)과 2.1 밀리미터의 두께를 갖는다. 본 발명은 광범위한 여러 가지의 크기중 하나를 갖는 카드로 구현되지만, 두께가 3밀리미터이고 폭이 40이 40밀리미터, 길이가 51밀리미터 이하인 카드에 고도의 유용성을 갖는다.
상기 SD 카드(35)가 9개의 표면 전기 접점(10-18)을 포함한다. 상기 호스트 시스템 소켓(33)에 삽입될 때, 접점 13, 14및 16이 전원(Vss, Vdd 및 Vss2)에 접속된다. 카드 접점(15)이 상기 호스로부터 클럭 신호(CLK)를 수신한다. 접점(12)은 상기 호스트로부터 명령(CMD)을 수신하여 상기 호스트로 응답과 상태 신호를 되돌려 보낸다. 나머지 접점 10, 11, 17및 18(각각 DAT 2, DAT 3, DAT 0 및 DAT 1)은 그의 비-휘발성 메모리에 저장을 위해 병렬로 데이터를 수신하여 메모리로부터 병렬로 호스트에 데이터를 보낸다. 단일 데이터 접점(17) 같은 더 적은 수의 데이터 접점이 이용하는 데 선택 가능하다. 상기 호스트와 상기 카드 사이의 데이터 전달의 최대 비율은 이용되는 병렬 데이터 통로의 수에 의해 제한된다. 상기의 배경 기술에서 서술된 MMC 카드는 유사한 접점 배치와 인터페이스를 갖지만, 데이터 핀(10, 18)을 생략하여 접점(11)을 이용하지 않고, 이것은 여유분으로서 제공된다. 상기 MMC 카드는 같은 크기를 갖고 오직 1.4 밀리미터 두께로 단일 데이터 접점(17)을 갖는 것을 제외하고 SD 카드와 유사하게 동작한다. 상기 카드(35)의 접점은 상기 소켓 (33)의 각각의 핀(20-28)을 통해 그의 호스트 시스템에 연결된다. 본 발명에 양립할 수 있는 다른 메모리 카드의 확장이 2001년 8월 2일 출원된 미국 특 허 출원 제 09/924,185호에 기술되고, 이것이 여기에 참고로 서술된다.
본 발명의 예를 든 실시예가 도 3에 도시된 것과 같은 구조의 분리 가능한 전자 회로 카드를 토대로 한다. 도 3은 호스트 장치)(host unit) 의해 처리되고 이후에 저장을 위해 PC 카드에 전송되는 데이터를 구비한 통상의 시스템을 도시한다. 도면에서 도시되듯이, 시스템은 호스트 장치(160)와 예를 들어, 표준 멀티미디어카드 또는 SD 카드인 카드장치(100)인 두 개의 장치를 포함한다. 일반적으로, 상기 호스트는 이동 전화기, PDA, 팜 파일럿(Parm Pilot), 또는 퍼스널 컴퓨터 같은 소비자 장치일 수 있다. 상기 호스트 장치(160)는 프로세서(162)와 호스트 메모리(163), 타이머(164)와 같은 다른 지원 소자 및 여기에 나타나지 않은 다수의 다른 표준 소자를 포함한다. 더욱이, 상기 호스트 장치는 상기 카드 장치(100)와 통신하는 카드 인터페이스(161)를 포함한다. 상기 카드 인터페이스(161)는 여러 제작자 또는 협회에 의해 정의된 상기 언급된 어떤 프로토콜을 이용하여 구현될 수 있다.
도 3에 상세히 도시되듯이, 카드 장치(100)는 일반적으로 호스트 인터페이스(141), 메모리 저장 및 어떤 경우에는 온-카드(on-card) 마이크로-제어기(micro-controller)를 포함한다. 도시된 예에 대해, 상기 카드 장치의 호스트 인터페이스(141)는 호스트 장치(160)와 통신하도록 이용된다. 호스트 장치에서 메모리 저장장치까지 데이터의 로딩을 제어하는 데 온-카드 마이크로 제어기(131)가 이용된다.
게다가, 상기 제어기는 어드레싱(addressing)과 버퍼링(buffering)과 같은 메모리 기능을 취급하도록 설계된다. 상기 제어기(131)와 호스트 인터페이스(141) 는 카드 버스(153)에 연접되고, 이것은 여기에 참고로 기술되는 미국 특허 제 5,416,752호와 제 5,172,338호에 예를 들어 기술된 대로, 캐시로서 작용할 수 있는 보통 휘발성인 RAM 메모리(121)와 프로그램 저장장치를 위한 어떤 비-프로그램 가능한 ROM 메모리(123)에 역시 연결된다. 멀티미디어 카드 혹은 SD 카드 상에 플래시(FLASH)메모리인 대용량 저장 메모리(mass storage memory:111)가 상기 버스(153)에 직접 연결되지 않지만, 대신에 대용량 저장 인터페이스(115)를 통해 연결되어 이것이 차례로 버스(153)에 연결된다. 대용량 저장 인터페이스(115)는 “비-선형” 혹은 “비-랜덤” 액세스 인터페이스로 작용하여서 상기 플래시 메모리를 제어하고 여기에 데이터가 비-선형 형식으로 저장된다.
메모리 카드는 다른 요구조건을 갖는 여러 유형의 데이터를 저장하는 광범위한 여러 가지의 어플리케이션에 이용된다. 이것은 오디오, 비디오, 디지털 카메라, 데이터 포획, 에러가 없는 어플리케이션(예를 들어, 의료 데이터) 등등을 포함한다. 현재의 저장 시스템이 오디오 저장장치, 정지(still) 영상 저장장치와 비디오 저장장치 같은 다수의 다른 어플리케이션에서 작동하도록 일반적인 방식으로 디자인되었지만, 그것들은 하나의 어플리케이션에서 잘 동작할 지라도 다른 어플리케이션에서 완전히 수용 가능한 성능을 제공하지는 못한다.
본 발명은 단일 어플리케이션 혹은 여러 가지 다른 어플리케이션에 대해 최적화되는 여러 가지 카드를 제공한다. 예를 들어, 오디오-최적화된 카드는 그것이 MP3 플레이어 같은 오디오 장치에 사용될 때를 “감지”하고, 일정한 데이터 비율 출력을 유지하는 데 필요한 것을 인지하지만 종종 데이터를 기록할 필요가 없다. 그러한 정보가 주어져서, 상기 카드의 제어기는 주기적으로 데이터를 출력할 수 있고, 데드 타임(dead times) 동안에 정리 작업(housekeeping) 기능을 실행하고/하거나 저출력 모드로 들어간다. 유사하게, 비디오-최적화 된 카드가 개발되어 그것이 비디오 어플리케이션에 이용되고 있는 것을 감지하거나, 대안으로 호스트가 그 사실을 상기 카드에게 알릴 수 있다. 비디오-최적화된 카드는 호스트로부터 통과된 다른 정보: 기록 데이터 비율(들), 재생 데이터 비율)들), 포맷, 압축, 품질 기준, 음향 기준 및 비디오-어플리케이션에 연관된 다른 정보를 취한다. 이러한 사실의 인지는 상기 카드가 비디오-어플리케이션에 대해 적절하게 실행되도록 허용한다.
예를 들어, 어떤 어플리케이션은 다른 것보다 더 많은 에러를 견디어낼 수 있다. 단일 픽셀의 에러가 알려지지 않는 팩스 혹은 어떤 비디오 어플리케이션 같은 그러한 어플리케이션은 완전히 손실 없는 ECC를 요하지 않는다. 상기 메모리 장치는 그러한 손실 없는 체계(scheme)가 수용되는지의 여부를 결정하도록 호스트 시스템에 폴(poll:전송 요청) 할 수 있다. 한 섹터에서 적은 비트의 손실이 결정적이지 않다는 다른 예는 메모리 카드 상에서 저장(save)되는 코딩된 음성의 재생으로, 이는 각각의 코더/디코더가 그의 임계 숫자를 정의할 수 있어서 디코딩이 데이터 상에서 이루어지는 보간(interpolation)에 의해 보상될 수 있기 때문이다. 반면에, 더 광범위한 ECC가, 데이터 통합이 필수적인 어플리케이션(예를 들어, 의료 어플리케이션)에서 실행될 수 있다. 이런 경우에, 메모리 장치는 성능을 차치하고서 더 복잡한 ECC를 채택할 수 있다. 그러한 가변 ECC혹은 서비스 ECC의 품질은 상기 호스트에 적용하는 카드의 한 예이다. 이러한 것이 호스트의 폴링에 근거하지만, 상 기 카드는 호스트를 꾸미는 카드에 근거하여 역시 호스트에 적용된다.
호스트 프로파일링(profiling) 장치에서, 호스트 시스템과 통신하는 가장 효과적인 방법을 결정하기 위해 비-휘발성 메모리 시스템은 그것이 함께 사용되는 호스트 시스템을 프로파일링 한다. 비-휘발성 메모리 시스템의 호스트 시스템은 다수의 기준에 대한 정보를 교환하도록 상기 카드에 피드백(feedback)을 제공한다. 이러한 정보는 호스트 상에 설치된 유형의 드라이버와 그것들이 비디오, 오디오, 정지 영상 등등 용인지의 여부 같은, 그러한 유형의 드라이버에 관련된 통계를 포함한다. 그것은 역시 호스트 장치(호스트가 버퍼를 이용하기를 원하는지의 여부)에서 버퍼나 비-휘발성 시스템(호스트가 비-휘발성 시스템에서 버퍼를 이용하기를 원하는지의 여부)에서 버퍼에 대한 정보나 최대 및 최소 클럭 율(rate)를 포함할 수 있다. 상기 카드에 의해 설정된 호스트의 프로파일에 근거하여, 이에 따라 카드는 그 자체로 최적화될 수 있다.
한 예로서, MP3 플레이어에서 이용된 카드에 대해 호스트의 판독과 기록의 주파수에 근거하여 상기 카드가 그 자체를 최적화하는 경우를 고려하자. MP3 플레이어는 종종 기록하지 않지만 그것들은 많이 판독하고, 이것의 반대로서 카메라는 자주 판독하고 기록하는 PC나 PDA에 자주 다운로드 하고 종종 기록한다. 부가적으로, MP3 플레이어는 고속이 아닌 아주 규칙적으로 판독한다. 결과적으로, 도 4에 도시된 데로 판독 동안에 많은 비-비지(non-busy) 시간이 있다.
도 4는 시간의 함수로서 MP3 플레이어의 액세스 패턴의 도식적인 표시로, 여기서 411에 나타난 한 쌍의 판독 사이에 데드 시간(dead time)으로 데이터는 401, 403, 405 등등에서 읽혀진다. 이러한 데드 시간 동안에, 상기 제어기는 전원 절약 모드로 갈 수 있고, 이러한 비-비지 시간이 아주 규칙적인 발생과 지속을 갖기에 나쁜 비트나 섹터를 고정하거나 한계의 데이터를 절감하려고 결점 관리에 개입한다. 유사하게, 호스트의 프로파일링 정보는 카드에 타이밍, 품질, 전원 소비 등등의 가장 좋은 성능을 위해 해야 할 가장 좋은 동작이 무엇인지를 결정할 능력을 부여할 수 있다.
이러한 어떤 호스트-프로파일링 방법 중에서, 상기 카드 제어기는 호스트 액세스 프로파일이 그의 알고리즘을 최적화하는 것을 식별할 것이다. 메모리 어레이(111:도 3)에 부가하여, 상기 카드는 메모리 제어로서 실행하는 프로세서-근거의 제어기(131)를 포함한다. 메모리가 다른 기술에 근거할 수 있지만, 예를 든 실시예가 다시 플래시 메모리를 근거로 한다.
주지되듯이, 이러한 카드는 PDA, 디지털 카메라, 이동 전화기 등등과 같은 상이한 장치로 꽂히도록 설계되고, 이것은 다른 형식(pattern)으로 상기 카드에 액세스한다. 종래 기술에서, 기능상의 이러한 구별은 상기 카드가 성능과 용량에서 히트를 치도록 하여, 본 발명의 알고리즘 최적화 특징이 부족한 종래 기술로서 호스트 액세스 패턴에 따른 메모리 관리 알고리즘을 최적화한다. 상이한 호스트는 메모리 카드와 더불어 상이한 어플리케이션을 이용한다. 이러한 어플리케이션은 종래 기술의 카드 제어기에서 고려되지 않은 판독/기록 성능, 데이터 통합의 레벨 등에 대한 다른 필요성을 갖는다. 본 발명의 호스트 프로파일링 특징은 두 개 모드의 동작을 구비함으로써 종래 기술에 대해 개선된 점을 갖는다. 이것들 중에 첫째에서, 호스트 프로파일링이 카드 제어기에 의해 구현된다. 둘째는, 상기 카드와 호스트 사이에 서비스 협정( service negotiation)의 품질에 근거한다. 이러한 작동은 카드 제어기가 호스트 상에 수집된 데이터에 따라 그의 알고리즘을 조정(tune)하도록 한다. 여러 실시예가 하드웨어나 펌웨어(firmware)로 구현될 수 있다. 호스트 프로파일링이 카드 제어기에 의해 실행되는 모드에서, 카드는 그의 처리(transaction) 동안에 학습(learn)하거나 기록/판독 버퍼 전송 속도, 데이터 버퍼 사이의 유휴 시간(idle time), 기록/판독에서의 블록 카운트, LBA 재기록(rewrites), 파일 액세스 테이블(FAT) 갱신, 순차적인 명령 사이의 유휴 시간 등등의 정보를 수집한다. 다음에 상기 카드는 이러한 정보를 이용하여 호스트에 메모리 제어 알고리즘을 최적화한다. 예를 들어, MP3 플레이어 같은 천천히 읽는 호스트 상에서, 성능의 저하 없이 플래시 메모리에서 안전한 정정을 허용하는 충분한 섹터 앞에 카드 제어기가 판독하게 함으로써 상기 카드가 정정 가능한 ECC에러를 취급할 수 있다. 다른 예에서, 카드가 파일 액세스 테이블로의 재기록을 인정한다면, 그것은 카드에서 FAT 데이터 캐싱(Caching)을 갖고 이러한 섹터를 덜 자주 갱신할 수 있다.
카드의 제어기에 의한 호스트 프로파일의 제 1 예는, 이러한 카드에 대해 상기의 참고에서 기술되듯이 예를 들어, SD 또는 MMC 버스인 카드의 시스템 버스 상에 이용되는 클럭 비율의 프로파일링이다. 이 예에서, 카드의 하드웨어는 카운터를 포함하여 이것이 매 시스템 버스 클럭 상에서 증가한다. 그러한 카운터(133)가 도 3에 제어기의 일부로서 도시된다. 제어기가 구동하는 시스템의 클럭 비율을 시스템의 펌웨어가 알기에, 제어기가 버스 클럭을 결정하도록 간단한 계산이 한다. 다른 예에서, 카드의 펌웨어는 타이머를 구동하여 그 카드가 얼마나 오래 특정한 수의 섹터를 호스트로부터 수신하거나 호스트로 보내는지를 측정한다. 이러한 수는 어떤 수(2, 4, 8, 16 등등)일 수 있고, 펌웨어에서 설정 가능한 변수일 수 있다.
다른 실시예에서, 상기 카드가 그의 시스템 클럭(클럭들)을 설정하여 호스트의 전송률에 부합되어 전원 소모를 최소화한다. 클럭율(clock rate)이 더 높을수록, 카드 제어기의 전원 소모는 더 커지고, 제어기의 시스템 클럭(들)은 카드의 전원 소모에 대해 크게 영향을 미친다. 호스트의 전송률에 일치할 필요보다는 카드시스템이 더 빠른 클럭율을 유지한다면, 불필요한 전원이 소모될 것이고, 그리하여 시스템 클럭 세팅을 호스트 전송률에 상응하도록 설정함으로써 성능을 유지하는 동안에 카드는 그의 전원 소모를 최적화한다. 카드의 펌웨어는 테이블(table)을 유지하여 주어진 클럭 세팅에 대한 카드의 데이터 전송률을 나타낸다. 카드의 프로파일링이 호스트의 전송률을 결정하면, 다음에 그것은 최소 클럭을 이용할 수 있어서, 카드가 성공적으로 호스트의 데이터 전송률을 공급하도록 허용한다. 이것은 카드의 전원 소모가 최적화되도록 한다. 펌웨어가 호스트의 데이터 전송률을 계속적으로 모니터하여서 제어기의 클럭 세팅을 갱신할 수 있다.
다른 세트의 실시예에서, 상기 카드가 판독과 기록에 대해 호스트의 블록 카운트(block count)를 프로파일 할 수 있다. 예를 든 실시예에서 다시 SD와 MMC 카드에 대해, 기록과 판독 명령이 한정된 블록 카운트를 갖지 않고, 동작의 종료가 정지 전송 명령에 따른다. 제 1 예에서 전원 온(power on) 같은 리세트(reset)과정 동안에, 사용자 데이터 영역 대신에 호스트에 의한 액세스가 파일 시스템으로 있는 지의 여부를 카드의 펌웨어가 결정할 수 있다. 리세트시 펌웨어는 논리 블록 어드레스(Logical Block Address: LBA) 0 같은 마스터 시동 기록(master boot record: MBR)이 저장되는 할당된 영역을 판독할 수 있다. 마스터 부트 기록이 파일 시스템 섹터라면, MMC/SD 카드의 예에서(MBR+구획 테이블 +FAT1+FAT2)같은 펌웨어가 파일 시스템의 LBA 범위를 찾을 수 있고, 여기서 FAT1와 FAT2는 두 개 복사본의 파일 액세스 테이블이다. 파일 시스템의 LBA 범위가 결정되면, 호스트에 의해 이러한 어드레스 공간으로의 액세스가 사용자 영역이 아닌 파일 시스템 영역으로의 액세스로서 고려될 수 있다.
제 2 예에서 시작하는 LBA의 순서와 기록 혹은 판독 동작 동안에 사용자 공간에 데이터를 기록하도록 호스트에 의해 이용된 블록 카운트를 상기 펌웨어가 찾을 수 있다. 시작하는 LBA의 순서와 호스트가 이용하는 블록 카운트를 상기 카드의 펌웨어가 결정하면, 그것은 그의 알고리즘과 하드웨어를 조정하여 성능을 최대화하고 전원 소비를 최소화한다. 그러한 조정의 예는 데이터 캐싱, 작업(task)/차단 서비스 루틴/직접 메모리 액세스 분할을 포함하여 가비지(garbage) 수집(데이터 재할당) 선호)(적어도 최근에 이용되거나 가장 최근에 이용된 블록 같은)등등을 결정할 수 있다. 직접 메모리 액세스(Direct Memory Access: DMA)와 차단 서비스 루틴(Interrupt Service Routine: ISR) 동작을 하는 시스템에서, 선택된 우선권 순서(priority order)가 성능상에 영향을 주로 끼칠 수 있다.
서비스 모드의 품질에서, 호스트는 카드에게 그의 능력과 추천을 보고할 것을 요청한다. 상기 호스트는 상기 카드에게 카드에 액세스하도록 그의 프로파일과 작업에 선호하는 구조를 보고한다. 호스트에 보고된 상기 카드 능력이 판독/기록 속도, 가장 좋은 기록 블록 카운트, 가장 좋은 시작의 논리적인 블록 어드레스(LBA)할당, ECC 능력 정정/ANT/중지, 성능 대 현재 소비, 성능 대 데이터 유지, 및 다른 동작 변수를 포함할 수 있다. 보통 카드 설계에서 이러한 것들 사이에서 다수의 교환이 있고, 이러한 과정은 이러한 변수가 특정 어플리케이션에 적용되도록 한다. 상기 카드에 보고된 호스트 프로파일은 기록/판독 최대 속도; 데이터 타입에 대한 논리적인 어드레스 오프셋(예를 들어, 처리의 목록에 들어간 블록+시작 LBA+블록 카운트) 또는 (FAT 영역에 들어간 블록-시작 LBA+블록 카운트) 같은 오버헤드(overhead)에 따른 블록 카운트와 시작 LBA를 갖는 사용자 데이터에 대한 블록의 수에서의 오프셋); 판독에서 수용 가능한 데이터 통합의 레벨(예를 들어, ECC 에러는 정정되거나 무시될 수 있고; 대안으로 나쁜 블록은 어떤 패턴으로 설정되거나 판독이 중지될 수 있다) 등을 포함할 수 있다. 호스트-프로파일링 모드에 대한 상기의 모든 특징이 역시 서비스 모드의 품질 등등으로 구현될 수 있다. 부가적으로, 이러한 두 개 모드는 각각이 절대적이 아니고 보상적인 방식으로 사용된다는 것을 알아야 한다.
서비스 모드의 품질의 예로서, 상기 카드가 FAT를 저장한 메모리 영역을 안다면, 그것은 가비지 수집을 최소화하기 위해 이러한 FAT 블록으로 기록하도록 다른 알고리즘을 이용할 수 있다. 다른 예에서, PC 같은 호스트가 고성능을 요하고 높은 공급 전원을 갖는다면, 상기 카드는 다중 플레인(multiple plain) 또는 멀티-칩(multi-chip) 프로그래밍(2002년 12월 9일 출원된 미국 특허 출원 번호 제 10/315,451호에 기술되고, 여기에 참고로 기재)을 이용하여 고성능/높은 전원 소비 모드를 선택할 수 있고; 반면에, MP3 플레이어 같은 저전압 호스트에서 카드는 저성능과 낮은 전원 동작을 선택할 수 있다.
정의된 하드웨어 레지스터에 값을 기입하므로서 제어기가 그 자체의 내부 클럭 주파수를 조절할 능력을 갖는다면, 어플리케이션에 의해 요구되는 상기 제어기 성능이 조정되어 부합되고 외부 상황에 따라 변할 수조차 있다. 예를 들어, 고성능 어플리케이션에서, 늘어난 전원 소비를 차치하고서 최대 주파수가 바람직하고, 인텔리젼트(intelligent) 제어기가 온도나 전원 전압 같은 적당한 외부 변수를 측정할 수 있고, 그에 따라 클럭 주파수를 조절할 수 있다. 온도와 전압에 대해 비교적 일정하게 내부 진동자를 설계하는 것이 공통이다. 그러나, CMOS 회로는 더 높은 전압과 더 낮은 온도에서 정상적으로 더 높은 속도의 동작을 할 있다. 칩 온도는 온도 감응 저항 또는 p-n 접합의 이용을 통해 측정할 수 있고, 이에 따라 주파수가 설정된다. 유사하게, 공지의 아날로그 대 디지털 변환기 회로를 이용하여 외부 전압이 쉽게 측정되고 이러한 측정에 응답하여 내부 진동자 주파수가 조정된다. 이런 식으로, 어플리케이션이 정상적으로 미리 설정된 클럭 주파수를 무시할 수 있어서 여러 어플리케이션과 환경 조건하에 최대 성능을 얻는다.
도 5는 주어진 어플리케이션에 대해 최적화된 서비스의 품질을 카드가 선택하도록 하는 교환을 보내 주는 예를 든, 서비스 협상 과정의 호스트-카드 품질의 도식적인 예시이다. 카드가 호스트에 연결된 후에, 호스트는 카드에 리셋 신호(601)를 보낸다. MMC 카드 실시예에서 리세트 신호는 위에 기술된 미국 특허 09/186, 014호에 기술되고, 여기서 리셋트 신호에 근거한 호스트의 프로토콜을 선택하는 카드의 능력이 서술된다. 카드는 준비 신호(603)에 응답한다. 이때 실제로 서비스의 품질(QOS) 향상이 시작되어 호스트가 그의 QOS 용량 데이터를 카드(605)로 보내어 카드가 QOS 능력(607)을 요청하고, 여기서 이러한 단계의 순서가 구현에 따라 바뀔 수 있다. 상기 카드가 카드의 QOS 데이터(609)로 호스트에 응답한다. 이때, 상기 호스트는 카드 이용을 어플리케이션으로 놓을 수 있다.
호스트와 카드 사이의 QOS 절충(negotiation) 이후에, 호스트 어플리케이션의 필요에 따라 호스트는 카드의 구조를 설정할 수 있다. 예를 들어, MP3 어플리케이션은 오직 낮은 비트율 및 낮은 전원을 요구하는 반면에 영상 포획 어플리케이션은 유지하는 높은 비트율 등을 요한다. 예를 들어, 제1 어플리케이션 APP 1(610)에서 카드를 이용하려면, 호스트는 어플리케이션에 대해 최적화된 카드의 QOS(611)를 설정한다. 예를 들어, 데이터 전달의 비율과 일치가 에러의 최소량보다 더 중요한 어플리케이션일 수 있다. 이런 경우에, ECC의 이용은 그것이 전송율에 영향을 끼치지 않을 만큼 오직 이용될 수 있다. 후속 시간에서, 호스트는 다른 어플리케이션 APP N(620)으로 카드를 이용하여 카드의 QOS(621)를 리셋할 수 있다. 예를 들어, 어플리케이션(APP N)은 중요하지 않은 속도로 최고의 통합으로 저장되도록 의료 영상 같은 데이터를 요구할 수 있다. 이러한 모든 실시에는 최적의 성능을 얻기 위해 수집된 정보에 따라 메모리 관리 알고리즘을 조정하고 실시간으로 호스트 프로파일을 학습하는 상기 카드를 구비한다. 그것들은 또한 호스트와 카드가 능력상으로 협상하여 카드가 최적의 알고리즘에 따른 카드 작동 알고리즘을 설정하는 점에서 종 래 기술과 다르다.
패턴 인식(pattern recognition)을 통한 동적 최적화(dynamic optimization)에 근거한 본 발명의 특별한 구현이 도 6을 참조하여 도시된다. 특정 및 통상적인 패턴의 호스트 행동에 대해 모니터함으로써 저장장치가 동적으로 자체-최적화(self-optimization)하도록 하여 큰 수의 어플리케이션을 분석하지 않고 저장장치의 성능이 최적화되도록 도 6의 예를 든 실시예가 허용한다. 이것은 캐싱과 일반적인 다른 성능 개선책 같은 종래 기술을 개선한다. 이러한 구현이 플래시 근거의 비-휘발성 메모리 카드의 배경에서 다시 논의되지만, 이것이 여러 특징과 구현으로 플래시 메모리 장치를 구비한 디스크 드라이브 같은 이중 저장 장치의 최적화에서 처음 이러한 개념은 다른 저장 장치들에 적용된다.
도 6의 실시예의 기술은 저장장치가 호스트 리세트, 파워 온 시동 순서, 여러 가지 벤치마크(benchmarks) 등과 같은 일정한 소정의 상황아래 호스트에 의해 제기된 액세스 순서를 기억하도록 한다. 기초를 이루는 개념은 이러한 소정의 상태 또는 “트리거 패턴(trigger patterns)"이 일어날 때 그들을 따르는 호스트 명령의 순서가 보통은 동일하다는 것이다. 이러한 부합이 패턴 매칭, 어떤 종류의 코드 매칭 메카니즘에 근거한다는 것을 알아야 한다. 저장장치가 이러한 정보를 이용하여 그런 예측된 명령에 대한 동작을 최적화할 수 있다. 명령 실행을 가속하는 다른 시스템 유형의 준비나 미리-인출 데이터에 예측 판독 캐싱을 실행하여 최적화가 될 수 있다. 예를 들어, 호스트가 리세트를 제기할 때, 파일 액세스 테이블을 저장하는 메모리의 부분이 대부분 먼저 판독될 때, 카드가 트리거로서 이것을 사용할 수 있다. 예측된 명령 또는 제어 순서로부터 이탈하자마자, 장치가 새로운 명령 순서를 기억하여 영원한 저장 장치에 저장하여 자체-적응형(self-adaptive)이 된다. 유사하게, 이미 저장된 패턴이 변하면, 저장된 패턴이 갱신되어 패턴의 변화나 연장을 반영한다. 다른 여러 자기의 패턴과 명령 순서가 저장된다.
도 6에 대해, 과정이 호스트에 접속된 카드와 함께 단계 501에서 시작하고, 단계 503에서 초기 또는 부가적인 세트의 패턴과 명령 순서가 상기 카드에 로딩(loading)된다. 빈 카드와 더불어 사용될 때 그러한 다수의 패턴이 펌웨어에서 미리 정의되고, 이것은 완전한 패턴을 필요로 하지 않는다. 동적으로 자체-최적화가 구현되기에, 카드 자체는 상기 과정을 완료할 수 있고 그리하여 초기 엔지니어링 시간을 절감한다. 통상적인 패턴이 명령 순서와 단일 명령, 리세트, 파워 사이클 등등을 포함할 수 있다. 동작하는 동안에, 상기 카드가 단계 505에서 호스트-카드 상호 작용을 모니터하여 매치(match)가 어떤 저장된 패턴과 함께 일어날지를 본다. 이러한 매치가 단계(507)에서 검출될 때까지 이것이 계속되어(507에서 “아니오” 절차), 단계 509로 이동한다.
패턴이 저장된 명령 순서의 초기 부분과 상응할 때, 상기 카드는 단계 509에서 도시된 데로 패턴에 해당하는 명령 순서를 미리 실행할 수 있다. 취해진 동작은 구현에 좌우되어 취해진 실제 동작이 구현에 좌우되고, 캐시를 채우는 판독 동작 또는 메모리에서 예측된 위치로 하는 것 같은 명령의 실제적인 실행 또는 명령에 대한 준비로서의 동작으로 제어 정보나 테이블을 미리 로딩하거나 논리적인 어드레스 처리에 논리를 실행한다. 제어기(131: 도 3)는 이러한 과정에 포함된 처리를 취 급한다. 호스트 명령이 계속하여 들어옴에 따라, 카드가 저장된 명령 순서 목록(단계 511)에 대한 명령을 체크하여 초기 부분에 근거한 단계(507)에서 매칭으로서 이전에 선택된 명령이 해당되는지를 결정한다. 그렇다면, 명령이 이전의 최적화를 이용하여 단계 517에서 실행된다. 그렇지 않다면, 아무것도 없어지지 않고 가정이 단계 515로 넘어가서 여기서 카드는 목록의 끝이 도달하는지의 여부를 결정하고, 그렇다면 단계 505에서 호스트 모니터링으로 복귀한다. 판독할 일련의 논리적인 블록 어드레스 같은, 목록의 명단이 순서를 갖는 목록을 고갈하지 않고서 명령이 목록의 경우에 대해, 명단에 매칭되지 않는 것이 결정될 수 있다는 것을 알아야 한다.
단계 551이 목록의 끝이 아니라는 것을 안다면 단계 519에서 명령이 실행되고, 흐름이 과정의 동적인 갱신 부분에 대한 단계 519로 연결된다. 그것이 갱신될 때 명령 목록에 저장될 수 있도록 새로운 순서가 도 3의 RAM 121 같은 메모리에 저장된다. 목록이 이전에 고갈되지 않으면, 목록의 끝이 단계 512에서 결정된 예로 저장된 명령의 목록이 갱신되는(단계 523) 어떤 위치에 도달할 때까지 이러한 과정이 계속된다(521로부터 “아니오” 루프). 예를 들어, 벤치 마크의 나중 부분이 이전의 값(즉, 판독될 논리 어드레스를 스위칭)보다 다르도록 벤치 마크의 기호 액세스가 변한다면, 이러한 부분의 벤치 마크 순서를 개정하므로서 이것은 갱신에서 포함된다. 갱신이 완료되면, 과정이 단계 505로 돌아가서 호스트를 모니터한다.
예를 들어, 비-휘발성 메모리가 일련의 “영역”으로 조직되는 경우를 고려하자. 이것은 2002년 12월 9일 출원된 미국 특허 출원 10/315,451호에 기술되고 여기에 참고로 기재된다. 이 장치에서 파일 액세스 테이블(FAT) 같은 시동(boot) 과 정의 일부로서 이용된 여러 가지 데이터가 특정의 영역에 저장되고, 이것이 영역 0의 부분으로 취해질 수 있다. 초기에 주어진 영역에 액세스할 때, 상기 영역에 로그인(login)하는 초기 과정이 있다. 예를 들어, 판독될 필요가 있는 각각의 영역과 연관된 초기의 헤더 데이터(header data)가 있고(물리적인 변환에 논리적, 리매핑(remap)등), 실제 데이터 내용이 복원되기 전에 처리된다. 이러한 로그인을 먼저 실행하여 어떤 유사한 데이터를 미리 인출(fetch)하므로서, 시퀀스가 예측된 것이라면 이러한 시간은 절감되고, 다른 것으로 판명되면 아무것도 없어지지 않는다.
도 7은 상부 행(row)이 종래 기술의 과정을, 바닥 행(bottom row)이 종래 기술에서 어떻게 변화했는지를 예시하는데 이용될 수 있다. 도 7의 상부 행은 도 4와 유사하지만, 부가적으로 상세하다. 상기 제어기는 명령 또는 제어 순서(451a, 453a, 455a,...)와 응답을 수신한다. 각각의 응답은 해당하는 준비 부분(451b, 453b, 455b,...)와 동작 부분(451c, 453c, 455c,...)으로 구성된다. 종래 기술에서, 해당 준비와 동작(453b, 453c)을 실행하기 전에 제어기는 453a 같은 명령에 대해 대기한다. 본 발명에서, 명령 또는 제어 순서의 초기 부분이 트리거 패턴중 하나와 일치하면, 후속의 준비 부분이 다음 명령의 앞에 데드 시간으로 이동될 수 있고, 이것은 도 7의 바닥 행에서 도시된다.
도 7의 바닥 행에서, 상기 제어기는 제어 신호(451a)에서의 일치를 발견한다. 저장된 패턴의 일치로서 그것이 이전에 설정되기 않았기에, 해당 준비와 동작 단계(451b, 451c)는 나중에 실행된다; 그러나, 데이터 캐시 또는 탐색 같은 예측된 다음 명령(453b)에 대한 준비는 역시 제어기에서 해당 신호(453a)의 도달 전에 실 행된다. 신호(453a)가 계속하여 패턴에 일치하면, 준비단계는 이미 완료되고 제어기가 작동(453c)으로 직접 진행한다(만약 453a가 일치가 아니라면, 정정 준비 단계가 상부 행에서처럼 실행되어 그대로 있고 저장된 순서가 계속하여 갱신될 수 있다). 상기 과정이 유사하게 세트 455a-c에 대해 계속되고 제어 순서의 나머지에 대해 계속된다. 이것은 패턴이 먼저 매치된 후에 각각의 부분의 순서에 대해 준비 시간의 감소를 초래한다. 예를 들어, 도 7에서 455c를 통해 상기 과정은 명령의 “b"부분을 미리 실행하는 덕택에 ∂t의 시간 절감을 초래한다.
예를 들어, 영역 0이 즉, 영역 5 다음에 영역 1로 대부분 액세스(FAT복원)되는 경우에 시동 과정을 고려하자. 상기 순서의 초기 부분에 근거하여, 영역 0에 접근한 후에 데드시간 동안에, 제어기는 영역 5에 로그인하여 준비되는 것이 더 좋다. 451, 453 및 455가 각각 예를 든 과정에서 영역 0, 5, 및 1에 대해 각각의 결합된 액세스 시간에 해당한다면, 로그인과 선-인출시간(도 7의 453b)을 선행 데드시간으로 이동하여서, 영역 5에 필요한 다른 시간에서 유사한 절감이 가용한 채로 액세스 시간이 이에 따라 감소된다. 명령의 순서가 예측된 영역 5로 가지 않는다면, 이러한 로그인은 유휴시간 동안에 실행되어 그대로 존재한다. 부가적으로, 시동 과정이 예를 들어, 0-5-1 내지 0-5-3에서 변하거나 즉, 0-5-1-4로 연장된다면, 이것은 동적으로 갱신된다.
도 6에 대해 기술된 패턴 인식을 통한 동적 최적화는 메모리 시스템이 선적되면 남아서 작동할 수 있고, 필드에서 소비자에 의해 사용되는 동안에 계속하여 최적화되거나 선적되기 전에 사용되어 고정된다. 종래 기술에서, 특정한 어플리케 이션 또는 호스트의 액세스 패턴의 연구가 필요한 어플리케이션 세트용으로 공장에서 카드를 최적화하는 표준 방법. 이런 것이 분석되면, 카드의 펌웨어는 그에 따라 조정된다. 대비하여 본 발명은 저장 장치 자체가 학습하도록 한다. 다음에 상기 카드는 벤치 마크 이용 또는 시동 순서 같은 다수의 어플리케이션을 통해 구동될 수 있고, 해당 패턴이 학습되어 저장된다. 이때, 요구되고 제품이 선적된다면 학습된 과정이 고정될 수 있다.
지금까지의 논의가 분리 가능한 전자 회로 카드의 호스트 행동으로의 적용에 대해 고려되었지만, 일반적으로 제어기는 카드를 따른 외부 상황에 적용할 수 있다. 예를 들어, 상기 예를 든 실시예에서 보는 것처럼 극한 온도에서 작동할 때에 플래시 메모리의 성능이 저하되는 것을 알 수 있다. 메모리 카드 외부 상황의 그러한 예는 호스트 장치상에서 배터리 전원이 낮은 때이다. 위에서 보듯이, 저항 또는 p-n 접합에 민감한 온도의 이용을 통한 것 같은 칩 온도가 측정될 수 있고 이에 따라 주파수가 설정된다. 유사하게, 외부 전압이 공지된 아날로그 대 디지털 컨버터 회로를 이용하여 쉽게 측정되고, 이러한 측정에 응답하여 내부 진동자 주파수가 조절된다. 이런 식으로, 어플리케이션이 정상적으로 이미-설정된 클럭 주파수를 뛰어 넘어 여러 가지 외부의 상황으로의 조정 성능을 얻을 수 있다.
상기 제어기가 역으로 성능에 영향을 주는 이러한 부가적인 조건들의 어느 것을 감지할 때, 제어기가 더 신뢰 가능한 방식으로 메모리를 구동할 수 있다. 성능 저하, ECC나 주변의 늘어난 이용 등과 같이 이전에 기술된 것과 유사한 여러 가지 방식으로 이것이 실행될 수 있다. 그러한 상황의 감지는 여기에 참고로 기재된 미국 특허 번호 5,694,356호에 기술된 것 같은 메모리의 기준 셀이나 다른 기술을 이용하여 실행될 수 있다. 제어기가 응답하고 그것이 어떻게 되는 특정의 상황이 채택된 메모리 기술(예를 들어, 박막, MRAM, FRAM, NMOS 등)에 해당한다.
플래시 EEPROM 메모리 셀에 근거한 이전 예의 메모리 시스템이 전하 저장 소자로서 전도성 플로팅 게이트(conductive floating gates)를 이용하는 셀(cell)의 유형에 대해 기술되어 왔다. 그러나 본 발명의 여러 가지 특징이 여기에 참조되어 기술되는 미국 특허 출원번호 10/841,379호에 기술된 여러 가지의 대안의 비-휘발성 메모리 기술(박막, MRAM, FRAM, NMOS 등과 같은)과 관련되어 이용될 수 있다.
예를 들어, 본 발명은 역시 플로팅 게이트 대신에 개별 메모리 셀에서 저장 소자로서 전하 트랩 유전체(charge trapping dielectric)를 이용하는 시스템에서 구현된다. 유전체 저장 소자는 역시 참고로 여기에 기술된 2002년 10월 25일 출원된 미국 특허 출원번호 US 10/280,352호에서 더욱 상세히 논의된다.
본 발명의 여러 가지 특징이 특정한 실시예에 대해 기술되었지만, 본 발명이 첨부된 특허 청구 범위의 전체 범위 내에서 보호된다는 것을 이해할 것이다.

Claims (48)

  1. 전자 회로 카드를 구동하는 방법에 있어서, 상기 카드가 한 세트의 알고리즘에 따라 연결된 호스트와 카드 사이에 상호작용과 카드 내용을 관리하는 제어기를 포함하고,
    상기 제어기에 의해 호스트-카드 상호작용을 모니터하고;
    상기 모니터링에 근거하여, 상기 호스트-카드 상호작용의 특징을 결정하고; 및
    상기 제어기를 사용하여, 상기 호스트-카드 상호작용에 근거한 상기 알고리즘을 최적화하는 단계를 포함하며;
    상기 특징이, 버스 클럭율(bus clock rate), 상기 호스트의 판독과 기록 전송률, 및 상기 호스트의 판독과 기록 블록 카운트(block count) 중 하나 이상을 포함하는, 전자회로 카드 구동방법
  2. 삭제
  3. 제 1항에 있어서, 상기 제어기는 카드 시스템 클럭을 유지하고, 상기 모니터링은:
    상기 카드와 상기 호스트 사이에 신호가 교환되는 버스 상에서의 처리에 응답하여 카운트를 증가하고; 및
    상기 카운트와 카드 시스템 클럭을 기반으로 버스의 클럭율을 계산하는 단계를 포함하는, 전자회로 카드 구동방법
  4. 제 3항에 있어서, 상기 알고리즘의 최적화는 버스 클럭율을 기반으로 카드 시스템 클럭의 비율을 조정하는 단계를 포함하는, 전자회로 카드 구동방법
  5. 제 1항에 있어서, 상기 모니터링은 상기 카드와 상기 호스트 사이에 특정 양의 데이터를 전송하는 데 걸리는 시간을 측정하는 단계를 포함하는, 전자회로 카드 구동방법.
  6. 삭제
  7. 제 1항에 있어서, 상기 알고리즘의 최적화는:
    상기 호스트의 판독과 기록 전송률을 기반으로 비-휘발성 메모리로부터 데이터를 읽고 쓰는 비율을 조절하는 단계를 포함하는, 전자회로 카드 구동방법
  8. 삭제
  9. 제 1항에 있어서, 상기 알고리즘의 최적화는 상기 블록 카운트를 기반으로 호스트 액세스가 상기 카드에 저장된 사용자 데이터에 대한 것인지의 여부를 결정하는 단계를 포함하는, 전자회로 카드 구동방법
  10. 제 1항에 있어서, 상기 알고리즘의 최적화는 상기 블록 카운트를 기반으로 데이터 캐싱(caching)을 포함하는, 전자회로 카드 구동방법
  11. 제 1항에 있어서, 상기 알고리즘의 최적화는 제어기 동작에 대해 우선권을 설정하는 단계를 포함하는, 전자회로 카드 구동방법
  12. 제 1항에 있어서, 상기 알고리즘의 최적화는 데이터 재할당 선호(preferences)를 결정하는 단계를 포함하는, 전자회로 카드 구동방법
  13. 제 1항에 있어서, 상기 카드 외부의 외적 상황(external conditions)을 모니터링하고; 및 상기 카드 외부의 상기 외적 상황에 근거하여 상기 알고리즘을 최적화하는, 전자회로 카드 구동방법
  14. 제 13항에 있어서, 상기 외적 상황은 상기 카드에 공급된 외부의 전압 레벨을 포함하는, 전자회로 카드 구동방법
  15. 제 14항에 있어서, 상기 알고리즘의 최적화는, 상기 외부의 전압 레벨에 근거하여 클럭률을 조절하는, 전자회로 카드 구동방법
  16. 제 13항에 있어서, 상기 외적 상황은 온도를 포함하는, 전자회로 카드 구동방법.
  17. 제 13항에 있어서, 상기 알고리즘의 최적화는 상기 외적 상황을 기반으로 클럭율을 조절하는 단계를 포함하는, 전자회로 카드 구동방법.
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 비-휘발성 메모리 카드의 최적화 방법에 있어서, 상기 카드가 한 세트의 알고리즘에 따라 연결된 호스트와 카드 사이에 상호작용과 카드 내용을 관리하는 제어기를 포함하고:
    호스트에 메모리 카드를 접속하고;
    복수의 호스트-카드 상호작용을 실행하고;
    상호 작용을 제어기로 모니터하고;
    상기 모니터에 근거하여 상기 세트 알고리즘을 제어기에 의해 최적화하고; 및
    상기 최적화된 세트의 알고리즘을 고정하는 단계를 포함하는, 비-휘발성 메모리 카드의 최적화 방법
  44. 제 43항에 있어서, 상기 상호작용의 각각은 제어 순서 패턴을 포함하고 상기 모니터링은 하나 이상의 상기 패턴을 결정하는, 비-휘발성 메모리 카드의 최적화 방법
  45. 제 44항에 있어서,메모리 카드를 호스트에 연결하기 전에, 하나 이상의 제어 순서 패턴을 미리 로딩하는, 비-휘발성 메모리 카드의 최적화 방법
  46. 제 43항에 있어서,상기 호스트-카드 상호작용은 하나 이상의 벤치마크 이용을 포함하는, 비-휘발성 메모리 카드의 최적화 방법
  47. 제 43항에 있어서,상기 호스트-카드 상호작용은 시동 순서를 포함하는, 비-휘발성 메모리 카드의 최적화 방법
  48. 제 43항에 있어서,상기 호스트-카드 상호작용은 호스트 리셋을 포함하는, 비-휘발성 메모리 카드의 최적화 방법
KR1020077002213A 2004-07-28 2005-07-20 최적화된 비-휘발성 저장 시스템 KR101153232B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/901,849 US7427027B2 (en) 2004-07-28 2004-07-28 Optimized non-volatile storage systems
US10/901,849 2004-07-28
PCT/US2005/025983 WO2006014791A2 (en) 2004-07-28 2005-07-20 Optimized non-volatile storage systems

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020117027483A Division KR101182601B1 (ko) 2004-07-28 2005-07-20 최적화된 비-휘발성 저장 시스템

Publications (2)

Publication Number Publication Date
KR20070051259A KR20070051259A (ko) 2007-05-17
KR101153232B1 true KR101153232B1 (ko) 2012-06-13

Family

ID=35432403

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020077002213A KR101153232B1 (ko) 2004-07-28 2005-07-20 최적화된 비-휘발성 저장 시스템
KR1020117027483A KR101182601B1 (ko) 2004-07-28 2005-07-20 최적화된 비-휘발성 저장 시스템

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020117027483A KR101182601B1 (ko) 2004-07-28 2005-07-20 최적화된 비-휘발성 저장 시스템

Country Status (7)

Country Link
US (3) US7427027B2 (ko)
EP (2) EP1782223B1 (ko)
JP (1) JP2008518283A (ko)
KR (2) KR101153232B1 (ko)
AT (1) ATE547759T1 (ko)
TW (1) TWI372977B (ko)
WO (1) WO2006014791A2 (ko)

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171192B2 (en) * 2005-09-20 2012-05-01 Qualcomm Incorporated Hardware-assisted device configuration detection
KR101346734B1 (ko) * 2006-05-12 2014-01-03 삼성전자주식회사 디지털 저작권 관리를 위한 다중 인증서 철회 목록 지원방법 및 장치
KR100845525B1 (ko) * 2006-08-07 2008-07-10 삼성전자주식회사 메모리 카드 시스템, 그것의 데이터 전송 방법, 그리고반도체 메모리 장치
KR100801014B1 (ko) * 2006-08-21 2008-02-04 삼성전자주식회사 Dos 부트 프로그램을 내장한 디스크를 구비하는 하드 디스크 드라이브와 그를 포함하는 컴퓨터 시스템, 상기 하드 디스크 드라이브의 펌웨어 다운로드 방법 및 그를 포함하는 기록 매체
TW200813856A (en) * 2006-09-15 2008-03-16 Alcor Micro Corp USB peripheral device with dynamic change class and application thereof
FR2908195B1 (fr) * 2006-11-06 2009-02-06 Oberthur Card Syst Sa Procede de passation d'instructions entre une station hote et un dispositif electronique portable, et dispositif de mise en oeuvre
KR100823166B1 (ko) * 2006-12-04 2008-04-18 삼성전자주식회사 통신 속도가 향상된 메모리 카드 및 메모리 카드를포함하는 메모리 카드 시스템
JP4970078B2 (ja) * 2007-02-21 2012-07-04 株式会社東芝 不揮発性メモリシステム
JP4906913B2 (ja) * 2007-03-02 2012-03-28 パナソニック株式会社 再生装置、システムlsi、初期化方法
US7853759B2 (en) * 2007-04-23 2010-12-14 Microsoft Corporation Hints model for optimization of storage devices connected to host and write optimization schema for storage devices
US7788415B2 (en) * 2007-05-28 2010-08-31 Sandisk Il Ltd. Management of internal operations by a storage device
WO2009014706A1 (en) 2007-07-23 2009-01-29 Rod Brittner Quality of service and streaming attributes for a data storage device
US9098506B2 (en) 2008-01-02 2015-08-04 Sandisk Il, Ltd. Data indexing by local storage device
CN101960426A (zh) * 2008-01-02 2011-01-26 桑迪士克以色列有限公司 具有直接用户访问的存储装置
US8583878B2 (en) 2008-01-02 2013-11-12 Sandisk Il Ltd. Storage device having direct user access
US8452927B2 (en) 2008-01-02 2013-05-28 Sandisk Technologies Inc. Distributed storage service systems and architecture
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
WO2010007751A1 (ja) * 2008-07-14 2010-01-21 パナソニック株式会社 映像データ処理装置及び映像データ処理方法
US8209439B2 (en) * 2008-08-25 2012-06-26 Sandisk Il Ltd. Managing multiple concurrent operations with various priority levels in a local storage device
TWI386800B (zh) * 2008-10-03 2013-02-21 Silicon Motion Inc 快閃記憶體之更新資料的管理方法以及相關之記憶卡
US8069324B2 (en) * 2008-12-19 2011-11-29 Seagate Technology Llc Storage device with manual learning
US8924661B1 (en) * 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US20110304531A1 (en) * 2010-06-10 2011-12-15 Peter Brooks Method and system for interfacing and interaction with location-aware devices
US10031850B2 (en) 2011-06-07 2018-07-24 Sandisk Technologies Llc System and method to buffer data
US9098399B2 (en) 2011-08-31 2015-08-04 SMART Storage Systems, Inc. Electronic system with storage management mechanism and method of operation thereof
US9063844B2 (en) 2011-09-02 2015-06-23 SMART Storage Systems, Inc. Non-volatile memory management system with time measure mechanism and method of operation thereof
JP2013077278A (ja) 2011-09-16 2013-04-25 Toshiba Corp メモリ・デバイス
JP5694101B2 (ja) 2011-09-20 2015-04-01 株式会社東芝 メモリ・デバイス、ホスト・デバイス
JP5547154B2 (ja) 2011-09-21 2014-07-09 株式会社東芝 メモリ・デバイス
US20130151755A1 (en) * 2011-12-12 2013-06-13 Reuven Elhamias Non-Volatile Storage Systems with Go To Sleep Adaption
US9239781B2 (en) 2012-02-07 2016-01-19 SMART Storage Systems, Inc. Storage control system with erase block mechanism and method of operation thereof
US20130282962A1 (en) * 2012-04-20 2013-10-24 SMART Storage Systems, Inc. Storage control system with flash configuration and method of operation thereof
US9671962B2 (en) 2012-11-30 2017-06-06 Sandisk Technologies Llc Storage control system with data management mechanism of parity and method of operation thereof
US9123445B2 (en) 2013-01-22 2015-09-01 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9329928B2 (en) 2013-02-20 2016-05-03 Sandisk Enterprise IP LLC. Bandwidth optimization in a non-volatile memory system
US9214965B2 (en) 2013-02-20 2015-12-15 Sandisk Enterprise Ip Llc Method and system for improving data integrity in non-volatile storage
US9183137B2 (en) 2013-02-27 2015-11-10 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US10049037B2 (en) 2013-04-05 2018-08-14 Sandisk Enterprise Ip Llc Data management in a storage system
US9170941B2 (en) 2013-04-05 2015-10-27 Sandisk Enterprises IP LLC Data hardening in a storage system
US9543025B2 (en) 2013-04-11 2017-01-10 Sandisk Technologies Llc Storage control system with power-off time estimation mechanism and method of operation thereof
US10546648B2 (en) 2013-04-12 2020-01-28 Sandisk Technologies Llc Storage control system with data management mechanism and method of operation thereof
KR102098246B1 (ko) 2013-04-29 2020-04-07 삼성전자 주식회사 호스트, 저장 장치, 및 이를 포함하는 시스템의 동작 방법
US9367353B1 (en) 2013-06-25 2016-06-14 Sandisk Technologies Inc. Storage control system with power throttling mechanism and method of operation thereof
US9244519B1 (en) 2013-06-25 2016-01-26 Smart Storage Systems. Inc. Storage system with data transfer rate adjustment for power throttling
US9146850B2 (en) 2013-08-01 2015-09-29 SMART Storage Systems, Inc. Data storage system with dynamic read threshold mechanism and method of operation thereof
US9448946B2 (en) 2013-08-07 2016-09-20 Sandisk Technologies Llc Data storage system with stale data mechanism and method of operation thereof
US9361222B2 (en) 2013-08-07 2016-06-07 SMART Storage Systems, Inc. Electronic system with storage drive life estimation mechanism and method of operation thereof
US9431113B2 (en) 2013-08-07 2016-08-30 Sandisk Technologies Llc Data storage system with dynamic erase block grouping mechanism and method of operation thereof
US9747157B2 (en) 2013-11-08 2017-08-29 Sandisk Technologies Llc Method and system for improving error correction in data storage
US9152555B2 (en) 2013-11-15 2015-10-06 Sandisk Enterprise IP LLC. Data management with modular erase in a data storage system
US9411721B2 (en) 2013-11-15 2016-08-09 Sandisk Technologies Llc Detecting access sequences for data compression on non-volatile memory devices
WO2015089488A1 (en) 2013-12-12 2015-06-18 Memory Technologies Llc Channel optimized storage modules
KR20150068747A (ko) 2013-12-12 2015-06-22 삼성전자주식회사 비휘발성 메모리 시스템, 이를 포함하는 모바일 장치 및 비휘발성 메모리 시스템의 동작방법
US9280419B2 (en) 2013-12-16 2016-03-08 International Business Machines Corporation Dynamic adjustment of data protection schemes in flash storage systems based on temperature, power off duration and flash age
US9977628B2 (en) * 2014-04-16 2018-05-22 Sandisk Technologies Llc Storage module and method for configuring the storage module with memory operation parameters
USD736213S1 (en) * 2014-07-01 2015-08-11 Samsung Electronics Co., Ltd. Memory card
USD736212S1 (en) * 2014-07-01 2015-08-11 Samsung Electronics Co., Ltd. Memory card
KR102285789B1 (ko) 2014-07-01 2021-08-04 삼성전자 주식회사 외장 저장 장치, 및 이의 기준 주파수를 설정하는 방법
USD736216S1 (en) * 2014-07-30 2015-08-11 Samsung Electronics Co., Ltd. Memory card
USD739856S1 (en) * 2014-07-30 2015-09-29 Samsung Electronics Co., Ltd. Memory card
TWI553476B (zh) * 2015-03-05 2016-10-11 光寶電子(廣州)有限公司 區域描述元管理方法及其電子裝置
US10592122B2 (en) 2015-03-31 2020-03-17 Sandisk Technologies Llc Inherent adaptive trimming
US9904477B2 (en) 2015-05-13 2018-02-27 Sandisk Technologies Llc System and method for storing large files in a storage device
USD783621S1 (en) * 2015-08-25 2017-04-11 Samsung Electronics Co., Ltd. Memory card
USD783622S1 (en) * 2015-08-25 2017-04-11 Samsung Electronics Co., Ltd. Memory card
KR102547795B1 (ko) 2016-05-04 2023-06-27 에스케이하이닉스 주식회사 데이터 처리 시스템 및 데이터 처리 시스템의 동작 방법
US10037213B2 (en) 2016-09-19 2018-07-31 Nxp Usa, Inc. System and method for adjusting boot interface frequency
US10978790B2 (en) * 2017-09-12 2021-04-13 Mark P Kramer Electromagnetic radiation attenuating device for laptop computers
CN109002257B (zh) * 2018-06-25 2021-04-23 重庆邮电大学 一种基于可变便笺存储器的数据分布优化方法
US10725705B1 (en) 2019-01-16 2020-07-28 Western Digital Technologies, Inc. System and method for storage system property deviation
US10908844B2 (en) 2019-06-18 2021-02-02 Western Digital Technologies, Inc. Storage system and method for memory backlog hinting for variable capacity
US11137932B2 (en) 2019-12-02 2021-10-05 Western Digital Technologies, Inc. Pad indication for device capability
KR20220067992A (ko) 2020-11-18 2022-05-25 삼성전자주식회사 선택적 및 병렬적 에러 정정을 수행하는 메모리 컨트롤러, 이를 포함하는 시스템 및 메모리 장치의 동작 방법
US20230315295A1 (en) * 2022-03-30 2023-10-05 Micron Technology, Inc. Dynamic memory device management and stream prioritization based on quality of service metrics
KR102632266B1 (ko) * 2022-04-28 2024-02-01 김정기 자체 데이터 삭제 기능을 내장한 메모리 카드 리더기
WO2023211232A1 (ko) * 2022-04-28 2023-11-02 김정기 자체 데이터 삭제 및 최적화 기능을 내장한 메모리 카드 리더기

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020039325A1 (en) 2000-09-29 2002-04-04 Kabushiki Kaisha Toshiba Memory card device including a clock generator

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
EP0618535B1 (en) 1989-04-13 1999-08-25 SanDisk Corporation EEPROM card with defective cell substitution and cache memory
JP2854680B2 (ja) * 1990-06-15 1999-02-03 株式会社東芝 Icメモリカード
US5857059A (en) * 1991-10-31 1999-01-05 Canon Kabushiki Kaisha Information recording apparatus
US5659690A (en) 1992-10-15 1997-08-19 Adaptec, Inc. Programmably configurable host adapter integrated circuit including a RISC processor
US5694356A (en) 1994-11-02 1997-12-02 Invoice Technology, Inc. High resolution analog storage EPROM and flash EPROM
JP3604466B2 (ja) * 1995-09-13 2004-12-22 株式会社ルネサステクノロジ フラッシュディスクカード
US5784599A (en) 1995-12-15 1998-07-21 Compaq Computer Corporation Method and apparatus for establishing host bus clock frequency and processor core clock ratios in a multi-processor computer system
JP3493096B2 (ja) * 1996-06-07 2004-02-03 株式会社東芝 半導体集積回路、icカード、及びicカードシステム
JPH10170564A (ja) * 1996-12-13 1998-06-26 Nec Eng Ltd クロック周波数測定回路及びその方法
US6055593A (en) 1996-12-31 2000-04-25 Intel Corporation Dual information structures for different electronic data storage card environments
JP3233079B2 (ja) 1997-09-30 2001-11-26 ソニー株式会社 データ処理システム及びデータ処理方法
US6076137A (en) 1997-12-11 2000-06-13 Lexar Media, Inc. Method and apparatus for storing location identification information within non-volatile memory devices
US6182162B1 (en) 1998-03-02 2001-01-30 Lexar Media, Inc. Externally coupled compact flash memory card that configures itself one of a plurality of appropriate operating protocol modes of a host computer
JP3714969B2 (ja) 1998-03-02 2005-11-09 レクサー・メディア・インコーポレイテッド 改良されたオペレーティングモード検出機能を備えたフラッシュメモリーカード及びユーザフレンドリなインターフェーシングシステム
US6040622A (en) 1998-06-11 2000-03-21 Sandisk Corporation Semiconductor package using terminals formed on a conductive layer of a circuit board
JP2000181784A (ja) * 1998-12-18 2000-06-30 Hitachi Ltd 書き換え可能な不揮発性記憶装置
JP2001125829A (ja) * 1999-10-28 2001-05-11 Internatl Business Mach Corp <Ibm> コントローラ装置、ディスクコントローラ、補助記憶装置、コンピュータ装置、および補助記憶装置の制御方法
US6578125B2 (en) 2000-02-14 2003-06-10 Sanyo Electric Co., Ltd. Memory access circuit and memory access control circuit
JP2001297316A (ja) * 2000-04-14 2001-10-26 Mitsubishi Electric Corp メモリカード及びその制御方法
US6820148B1 (en) * 2000-08-17 2004-11-16 Sandisk Corporation Multiple removable non-volatile memory cards serially communicating with a host
US6993605B2 (en) * 2001-02-28 2006-01-31 Sharp Laboratories Of America, Inc. Adaptive run-time data transfer optimization
US7114001B2 (en) * 2001-05-11 2006-09-26 International Business Machines Corporation Predictive networking
JP4841070B2 (ja) 2001-07-24 2011-12-21 パナソニック株式会社 記憶装置
JP4841069B2 (ja) 2001-07-24 2011-12-21 パナソニック株式会社 記憶装置
KR100441601B1 (ko) * 2001-10-19 2004-07-23 삼성전자주식회사 메모리 카드, 디지털 기기 및 메모리 카드와 디지털 기기사이의 데이터 인터페이스 방법
US7107420B2 (en) * 2003-08-29 2006-09-12 International Business Machines Corporation Apparatus and method to adjust data transfer rate
US7478260B2 (en) * 2003-10-20 2009-01-13 Hewlett-Packard Development Company, L.P. System and method for setting a clock rate in a memory card
TW200604810A (en) * 2004-02-20 2006-02-01 Renesas Tech Corp Nonvolatile memory and data processing system
US7596643B2 (en) * 2007-02-07 2009-09-29 Siliconsystems, Inc. Storage subsystem with configurable buffer

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020039325A1 (en) 2000-09-29 2002-04-04 Kabushiki Kaisha Toshiba Memory card device including a clock generator

Also Published As

Publication number Publication date
US7926720B2 (en) 2011-04-19
KR20110134520A (ko) 2011-12-14
US20110167186A1 (en) 2011-07-07
US7427027B2 (en) 2008-09-23
EP1782223A2 (en) 2007-05-09
TWI372977B (en) 2012-09-21
KR20070051259A (ko) 2007-05-17
WO2006014791A3 (en) 2008-04-03
ATE547759T1 (de) 2012-03-15
US20060022054A1 (en) 2006-02-02
TW200627171A (en) 2006-08-01
JP2008518283A (ja) 2008-05-29
KR101182601B1 (ko) 2012-09-18
WO2006014791A2 (en) 2006-02-09
EP1782223B1 (en) 2012-02-29
US8292177B2 (en) 2012-10-23
EP2386961A1 (en) 2011-11-16
EP2386961B1 (en) 2013-09-11
US20080270639A1 (en) 2008-10-30

Similar Documents

Publication Publication Date Title
KR101153232B1 (ko) 최적화된 비-휘발성 저장 시스템
US11157182B2 (en) Storage systems with go to sleep adaption
US11182079B2 (en) Extended utilization area for a memory device
US7861122B2 (en) Monitoring health of non-volatile memory
EP1938200B1 (en) Initialization of flash storage via an embedded controller
US20070180186A1 (en) Non-volatile memory management
US20100106956A1 (en) Bios switching system and a method thereof
KR20210051921A (ko) 메모리 시스템 및 그것의 동작방법
KR20210039171A (ko) 메모리 시스템을 포함하는 데이터 처리 시스템에서 동작 정보를 송수신하는 방법 및 장치
TWI798806B (zh) 藉助於熱控制單元以使用動態速度調整的資料存取方法以及相關設備
US20080301355A1 (en) Flash memory information reading/writing method and storage device using the same
US11636055B2 (en) Method and apparatus for performing access management of memory device in predetermined communications architecture with aid of flexible delay time control
KR20200124937A (ko) 컨트롤러 및 그것의 동작방법
CN111831577A (zh) 用于确定存储器系统中的存储块的特性的设备和方法

Legal Events

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

Payment date: 20150430

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160427

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170504

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180427

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190530

Year of fee payment: 8