Samsung(三星)-KLM8G1GEAC-B001.pdf - 第12页

- 11 - IF THERE IS ANY OTHER OPERATION TO IMPLEMENT IN ADDITION TO SPECIFICATION IN THE DATASHEET OR JEDEC STANDARD, PLEASE CONTACT EACH BRANCH OFFICE OR HEADQUARTERS OF SAMSUNG ELECTRONICS. datasheet e·MMC Rev. 1.0 KLMx…

100%1 / 32
- 10 -
IF THERE IS ANY OTHER OPERATION TO IMPLEMENT IN ADDITION TO SPECIFICATION
IN THE DATASHEET OR JEDEC STANDARD, PLEASE CONTACT EACH BRANCH OFFICE OR
HEADQUARTERS OF SAMSUNG ELECTRONICS.
datasheet
e·MMC
Rev. 1.0
KLMxGxGEAC-B001
SAMSUNG CONFIDENTIAL
[Table 5] Definition of EXT_CSD value for Packed Command
[Table 6] Packed command structure
Field Definition
MAX_PACKED_READS Max. number of commands that can be packed in the packed read command. Min. value is ‘5’
MAX_PACKED_WRITES Max. number of commands that can be packed in the packed write command. Min. value is ‘3’
EXCEPTION_EVENTS_CTRL
Bit [15:4], Bit [0] : Reserved
Bit [3] : PACKED_EVENT_EN
Bit [2] : SYSPOOL_EVENT_EN
Bit [1] : DYNCAP_EVENT_EN
EXCEPTION_EVENTS_STATUS
Bit [15:4] : Reserved
Bit [3] : PACKED_FAILURE
(If this bit is set, the last packed command has failed. Host should check EXT_CSD field
PACKED_COMMAND_STATUS for the detailed cause.)
Bit [2] : SYSPOOL_EXHAUSTED
Bit [1] : DYNCAP_NEEDED
Bit [0] : URGENT_BKOPS
PACKED_COMMAND_STATUS
Status of the last packed command.
Bit [7:2] : Reserved
Bit [1] : Indexed Error, Bit [0] : Error
If any error occurs during packed command operation, the ‘Error bit’ (Bit 0) is set. If the error is a result of one of
the individual commands inside the packed command, its index is reported in PACKED_FAILURE_INDEX [35]
and ‘Indexed Error’ bit (bit 1) is set as well.
PACKED_FAILURE_INDEX
If the ‘Indexed Error’ bit (bit 1) in PACKED_COMMAND_STATUS is set, this field specifies the index in the
header of the failed command.
Entry Index Offset (Bytes) Name Length (Bytes)
-
+0 VERSION 1
+1 R/W 1
+2 NUM_ENTRIES(=N) 1
+3 padding to 8B 5
1
+8 CMD23_ARG_1 4
+12 CMDxx_ARG_1 4
2
+16 CMD23_ARG_2 4
+20 CMDxx_ARG_2 4
3
+24 CMD23_ARG_3 4
+28 CMDxx_ARG_3 4
---
N
+8N CMD23_ARG_ 4
+8N+4 CMDxx_ARG_1 4
- +8N+8 Radding till block ends
- 11 -
IF THERE IS ANY OTHER OPERATION TO IMPLEMENT IN ADDITION TO SPECIFICATION
IN THE DATASHEET OR JEDEC STANDARD, PLEASE CONTACT EACH BRANCH OFFICE OR
HEADQUARTERS OF SAMSUNG ELECTRONICS.
datasheet
e·MMC
Rev. 1.0
KLMxGxGEAC-B001
SAMSUNG CONFIDENTIAL
4.2 Cache
Cache is a temporary storage in an eMMC device. The cache reduces read and write access time compared to directly access to Non-volatile storage so
that performance of the device is improved. The cache is not directly accessible by host. Moreover, there is no maximum timeout for flushing the cached
data to the main Non-volatile storage. In order to stop the flush operation, the host should issue High Priority Interrupt(HPI) function. In this case, the
cache will not be considered as completely flushed. So, the host should re-initiate to finish the flush operation.
[Description of Cache]
Caching of data is only valid under the commands as follows :
1) Single block read/write (CMD17/CMD24)
2) Pre-defined multiple block read/write (CMD23 + CMD18/CMD25)
3) Open-ended multiple block read/write (CMD18/CMD25 + CMD12)
Data in the cache may be lost when sudden power off occurs. If there was the flush operation which was ongoing when power was lost, the data may be
lost as well.
Cached data also may be lost in SLEEP state, host should finish the flush operation before the device enters to the sleep state.
The device shall clear the data in case of RST_n or CMD0 is received.
Cache write mode can be operated out of order compared to Packed command which is only operated in order.
[Table 7] Command description related to Cache
[Table 8] EXT_CSD value for Cache
[Table 9] Definition of EXT_CSD value for Cache
CMD INDEX Type Argument Resp Abbreviation Command Description
CMD6 ac
[31:26] Set to 0
[25:24] Access
[23:16] Index
[15:8] Value
[7:3] Set to 0
[2:0] CMD set
R1b SWITCH
Switches the mode of operation of the
selected Device or modifies the
EXT_CSD registers.
Name Field
Size
(Bytes)
Cell Type CSD-Slice Value
Cache Size CACHE_SIZE 4 R [252:249] 0x10000
Control to turm the Cache ON/OFF CACHE_CTRL 1 R/W/E_P [33] 0x00
Flushing of the cache FLUSH_CACHE 1 W/E_P [32] 0x00
Field Definition
CACHE_SIZE
Size of Cache in the eMMC device.
0x00 : No cache existence in the device
Higher than 0x00 : There is cache existing and size of it.
Size of the Cache : CACHE_SIZE x 1Kb
CACHE_CTRL
Cache can be turned ON/OFF by writing the CACHE_EN bit.
Bit [7:1] : Reserved,
Bit [0] : CACHE_EN (0x0 : Cache is OFF, 0x1 : Cache is ON)
FLUSH_CACHE
Data in cache shall be flushed to Non-Volatile storage by setting
the FLUSH bit.
Bit [7:1] : Reserved,
Bit [0] : FLUSH (0x0 : Reset value, 0x1 : Triggers the flush)
- 12 -
IF THERE IS ANY OTHER OPERATION TO IMPLEMENT IN ADDITION TO SPECIFICATION
IN THE DATASHEET OR JEDEC STANDARD, PLEASE CONTACT EACH BRANCH OFFICE OR
HEADQUARTERS OF SAMSUNG ELECTRONICS.
datasheet
e·MMC
Rev. 1.0
KLMxGxGEAC-B001
SAMSUNG CONFIDENTIAL
4.3 Discard
Discard allows the device to know data which is no longer required. So, the device can erase the data during background operation when it’s necessary.
Discard is similar operation to TRIM. For the TRIM function that is not aligned to optimal trim size, redundant programs are needed. Difference between
TRIM and Discard is that the contents of write block where the discard command is issued shall be ‘don’t care.’ After discard operation, the original data
may be remained partially or fully depending on device. The device will decide the data of discarded address range for performance.
[Discard command sequence]
In case of a discard operation, both CMD35 and CMD36 is used to identify the addresses of write blocks rather than erase groups.
1) Define the start address of the range using the ERASE_GROUP_START (CMD35)
2) Define the last address of the range using the ERASE_GROUP_END (CMD36)
3) Start the erase process by issuing ERASE (CMD38) command with argument bit0 and bit1 set to ‘1’ and the remainder of the arguments set to ‘0’.
[Table 10] Command description related to Discard
[Table 11] Erase Command valid arguments
[Table 12] EXT_CSD value for Discard
[Table 13] Definition of EXT_CSD value for Discard
CMD INDEX Type Argument Resp Abbreviation Command Descrlptlon
CMD35 ac [31:0] data address1,2 R1 ERASE_GROUP_START
Sets the address of the 1st erase group within a range to
be selected for erase
CMD36 ac [31:0] data address1,2 R1 ERASE_GROUP_END
Sets the address of the last Erase group within a continu-
ous range to be selected for erase
CMD38 ac
[31] obsolete set to 0
[30:16] set to 0
[15] obsolete set to 0
[14:2] set to 0
[1] Trimmed data definition
[0] Identify Write block for
Erase
R1b ERASE
Erase all previously selected write blocks according to
argument bits. To maintain backward compatibility, the
device must not report an error if bits 31 and 15 are set.
The device behavior when these are set is undefined .
Arguments Command Description
SEC_GB_CL_EN
(EXT_CSD[231] bit 4)
SEC_ER_EN
(EXT_CSD[231] bit 0)
0x00000003
Discard : the write blocks identified by CMD35 & 36.
The controller can perform partial or full the actual erase at a convenient time.
n/a n/a
Name Field
Size
(Bytes)
Cell
Type
CSD-Sllce Value
TRIM Multiplier TRIM_MULT 1 R [232] 0x02
Field Definition
TRIM_MULT This register is used to calculate the Discard function timeout. Discard Timeout = 300ms x TRIM_MULT