11.6 Control of HS-DSCH transmission and reception
25.3213GPPMedium Access Control (MAC) protocol specificationTS
If MAC-hs is configured by upper layers [7], the control of HS-DSCH transmission and reception is defined in subclauses 11.6.1 and 11.6.2.
If MAC-ehs version is configured by upper layers [7], the control of HS-DSCH transmission and reception is defined in subclauses 11.6.3 and 11.6.4.
11.6.1 Network operation
The following are the functions of the various functional entities at the network in support of the HARQ protocol used on HS-DSCH when MAC-hs is configured by upper layers [7].
11.6.1.1 Scheduler
The scheduler performs the following functions:
– Schedules all UEs within a cell;
– Services priority queues:
– The scheduler schedules MAC-hs SDUs based on information from upper layers. One UE may be associated with one or more MAC-d flows. Each MAC-d flow contains HS-DSCH MAC-d PDUs for one or more priority queues.
– Determines the HARQ Entity and the queue to be serviced;
– Sets the TSN for new data blocks being transferred from the selected queue;
– set the TSN to value 0 for the first MAC-hs PDU transmitted for each Queue ID within an HS-DSCH;
– increment the TSN with one for each transmitted MAC-hs PDU on each Queue ID within an HS-DSCH.
NOTE: In 1.28 Mcps TDD multi-frequency HS-DSCH cell, the length of TSN can be 6 bits or 9 bits based on the configuration of higher layer.
NOTE: The scheduler may re-use TSNs by toggling the NDI bit in order to resume pre-empted transmissions or to force the UE to flush the soft buffer. In this case the content of the payload may be changed but care should be taken to preserve the higher layer data order.
– Indicates the Queue ID and TSN to the HARQ entity for each MAC-hs PDU to be transmitted;
– Schedules new transmissions and retransmissions:
– Based on the status reports from HARQ Processes the scheduler determines if either a new transmission or a retransmission should be made. A new transmission can however be initiated on a HARQ process at any time. Based on a delay attribute provided by upper layers, the scheduler may decide to discard any ‘out-of-date’ MAC-hs SDU.
– Determines the redundancy version:
– The scheduler determines a suitable redundancy version for each transmitted and retransmitted MAC-hs PDU and indicates the redundancy version to lower layer.
– Determines the TDD HCSN:
– Increment UE specific HCSN for each HS-SCCH transmission. In 1.28Mcps TDD multi-frequency HS-DSCH cell, UE maintains the respective HCSN for each carrier independently.
NOTE: For TDD, the scheduler should not schedule the UE who is in the idle interval. For 1.28Mcps TDD, the scheduler should not schedule the UE who is in the measurement occasion.
11.6.1.2 HARQ entity
– There is one HARQ entity per UE in UTRAN. In 1.28 Mcps TDD multi-frequency HS-DSCH cell, HARQ entity consists of some HARQ sub-entities, each sub-entity is associated with one carrier.
– The HARQ entity sets the Queue ID in transmitted MAC-hs PDUs to the value indicated by the UTRAN scheduler.
– The HARQ entity sets the transmission sequence number (TSN) in transmitted MAC-hs PDUs to the value indicated by the UTRAN scheduler.
– The HARQ entity sets the HARQ process identifier in transmitted MAC-hs PDUs. UTRAN should:
– determine a suitable HARQ process to service the MAC-hs PDU and set the HARQ process identifier accordingly.
11.6.1.3 HARQ process
– The HARQ process sets the New data indicator in transmitted MAC-hs PDUs. UTRAN should:
– set the New Data Indicator to the value "0" for the first MAC-hs PDU transmitted by a HARQ process;
– not increment the New Data Indicator for retransmissions of a MAC-hs PDU;
– increment the New Data Indicator with one for each transmitted MAC-hs PDU containing new data.
– The HARQ process processes received status messages. UTRAN should:
– deliver received status messages to the scheduler.
11.6.2 UE operation
The UE operation in support of the HARQ protocol used on HS-DSCH is split among the following four functional units with their associated functions.
11.6.2.1 HARQ Entity
There is one HARQ entity at the UE which processes the HARQ process identifiers received on the HS-SCCH transmissions associated with MAC-hs PDUs received on the HS-DSCH.
In 1.28 Mcps TDD multi-frequency HS-DSCH cell, HARQ sub-entity is configured at UE per carrier where HS-DSCH is configured. The associated downlink control channel and uplink control channel pair controlling the HS-DSCH transmission on the certain carrier shall be allocated on the same carrier. The downlink control channel carries the HS-DSCH operation related info and the uplink control channel carries the feedback info from the UE side. In 1.28 Mcps TDD single frequency or multi-frequency HS-DSCH cell, HARQ entity or HARQ sub-entity is configured to handle the HARQ identity associated with the received MAC-hs PDU from every carrier where HS-DSCH is configured at UE side.
A number of parallel HARQ processes are used in the UE to support the HARQ entity. The number of HARQ processes is configured by upper layers:
– Each received MAC-hs PDU shall be allocated to the HARQ process indicated by the HARQ process identifier of the MAC-hs PDU.
11.6.2.2 HARQ process
The HARQ process processes the New Data Indicator indicated by lower layers for each received MAC-hs PDU.
The UE may:
– for FDD, if the MAC-hs PDU is received within 5 sub-frames from the reception of the previous MAC-hs PDU intended for this HARQ process and if blind HARQ retransmissions for HSDPA feature is not configured by upper layers; or
– for TDD, if the MAC-hs PDU is received before generation of feedback resulting from reception of a previous MAC-hs PDU for the same H-ARQ process:
– discard the MAC-hs PDU.
The UE shall:
– if the New Data Indicator has been incremented compared to the value in the previous received transmission in this HARQ process or this is the first received transmission in the HARQ process:
– replace the data currently in the soft buffer for this HARQ process with the received data.
– if the Transport Block Size index value is equal to 111111 (FDD only):
– generate a positive acknowledgement (ACK) of the data in this HARQ process;
– discard the received data;
– assume that the data has been successfully decoded.
– if the New Data Indicator is identical to the value used in the previous received transmission in the HARQ process:
– if the Transport Block Size index value is equal to 111111 (FDD only):
– assume that the transport block size is identical to the last valid transport block size signalled for this HARQ process.
– if the data has not yet been successfully decoded:
– combine the received data with the data currently in the soft buffer for this HARQ process.
– if the transport block size is different from the last valid transport block size signalled for this HARQ process:
– the UE may replace the data currently in the soft buffer for this HARQ process with the received data.
– if the data in the soft buffer has been successfully decoded and no error was detected:
– deliver the decoded MAC-hs PDU to the reordering entity;
– generate a positive acknowledgement (ACK) of the data in this HARQ process.
– else:
– generate a negative acknowledgement (NACK) of the data in this HARQ process;
– For FDD, schedule the generated positive or negative acknowledgement for transmission and the time of transmission relative to the reception of data in a HARQ process is configured by upper layer.
– For TDD, if UE is not in the idle interval, schedule the generated positive or negative acknowledgement for transmission and the time of transmission relative to the reception of data in a HARQ process is configured by upper layer.
– For 1.28Mcps TDD, if UE is not in the measurement occasion, schedule the generated positive or negative acknowledgement for transmission and the time of transmission relative to the reception of data in a HARQ process is configured by upper layer.
The HARQ process processes the Queue ID in the received MAC-hs PDUs. The UE shall:
– arrange the received MAC-hs PDUs in queues based on the Queue ID.
11.6.2.3 Reordering entity
11.6.2.3.1 Definitions
In the functions described in this section the following definitions apply:
Parameters
– Transmitter window size (TRANSMIT_WINDOW_SIZE)
TRANSMIT_WINDOW_SIZE is the size of the transmitter window according to the definition below. This is a parameter in the Node B and the value of the parameter is configured by higher layers.
– Receiver window size (RECEIVE_WINDOW_SIZE)
RECEIVE_WINDOW_SIZE is the size of the receiver window according to the definition below. This is a parameter in the UE and the value of the parameter is configured by higher layers.
State variables
All state variables are non-negative integers. MAC-hs PDUs are numbered by modulo integer Transmission sequence numbers (TSN) cycling through the field 0 to 63. All arithmetic operations contained in the present document on next_expected_TSN, RcvWindow_UpperEdge, T1_TSN and TSN_flush are affected by the 64 modulus. When performing arithmetic comparisons of state variables or Transmission sequence number values a 64 modulus base shall be used. This modulus base is subtracted (within the appropriate field) from all the values involved and then an absolute comparison is performed. RcvWindow_UpperEdge – RECEIVE_WINDOW_SIZE + 1 shall be assumed to be the modulus base. For 1.28 Mcps TDD multi-frequency HS-DSCH operation operation mode, TSN_MAX represents period length of TSN; the arithmetic operations and comparisons of state variables in multi-frequency mode are performed on TSN_MAX modulus base.
– next_expected_TSN:
The next_expected_TSN is the Transmission sequence number (TSN) following the TSN of the last in-sequence MAC-hs PDU received. It shall be updated according to the procedures given in subclauses 11.6.2.3.2, 11.6.2.5 and 11.6.2.6. The initial value of next_expected_TSN =0.
– RcvWindow_UpperEdge:
The RcvWindow_UpperEdge represents the TSN, which is at the upper edge of the receiver window. After the first MAC-hs PDU has been received successfully, it also corresponds to the MAC-hs PDU with the highest TSN of all received MAC-hs PDUs. The initial RcvWindow_UpperEdge equals 63. RcvWindow_UpperEdge is updated based on the reception of new MAC-hs PDU according to the procedure given below.
– T1_TSN:
The TSN of the latest MAC-hs PDU that cannot be delivered to the disassembly entity, when the timer T1 is started.
– TSN_MAX (1.28Mcps TDD multi-frequency HS-DSCH operation mode only):
TSN_MAX represents the periodicty of TSN for 1.28Mcps TDD multi-frequency HS-DSCH operation mode, the possible value is 64 or 512.
Timers
– Re-ordering release timer (T1):
The Re-ordering release timer T1 controls the stall avoidance in the UE reordering buffer as described below. The value of T1 is configured by upper layers.
Other definitions
– Receiver window:
The receiver window defines TSNs of those MAC-hs PDUs that can be received in the receiver without causing an advancement of the receiver window according to the procedure below. The size of the receiver window equals RECEIVE_WINDOW_SIZE and spans TSNs going from RcvWindow_UpperEdge – RECEIVE_WINDOW_SIZE + 1 to RcvWindow_UpperEdge included.
11.6.2.3.2 Reordering functionality
If no timer T1 is active:
– the timer T1 shall be started when a MAC-hs PDU with TSN > next_expected_TSN is correctly received.
– T1_TSN shall be set to the TSN of this MAC-hs PDU.
If a timer T1 is already active:
– no additional timer shall be started, i.e. only one timer T1 may be active at a given time.
The timer T1 shall be stopped if:
– the MAC-hs PDU with TSN = T1_TSN can be delivered to the disassembly entity before the timer expires.
When the timer T1expires and T1_TSN > next_expected_TSN:
– all correctly received MAC-hs PDUs with TSN > next_expected_TSN up to and including T1_TSN-1 shall be delivered to the disassembly entity;
– all correctly received MAC-hs PDUs up to the next not received MAC-hs PDU shall be delivered to the disassembly entity.
– next_expected_TSN shall be set to the TSN of the next not received MAC-hs PDU.
When the timer T1 is stopped or expires, and there still exist some received MAC-hs PDUs that can not be delivered to higher layer:
– timer T1 is started
– set T1_TSN to the highest TSN among those of the MAC-hs PDUs that can not be delivered.
Transmitter operation:
After the transmitter has transmitted a MAC-hs PDU with TSN=SN, any MAC-hs PDU with TSN SN – TRANSMIT_WINDOW_SIZE should not be retransmitted to avoid sequence number ambiguity in the receiver.
Receiver operation:
When a MAC-hs PDU with TSN = SN is received:
– if SN is within the receiver window:
– if SN < next_expected_TSN, or this MAC-hs PDU has previously been received:
– the MAC-hs PDU shall be discarded;
– else:
– the MAC-hs PDU shall be placed in the reordering buffer at the place indicated by the TSN.
– if SN is outside the receiver window:
– the received MAC-hs PDU shall be placed above the highest received TSN in the reordering buffer, at the position indicated by SN;
– RcvWindow_UpperEdge shall be set to SN thus advancing the receiver window;
– any MAC-hs PDUs with TSN RcvWindow_UpperEdge – RECEIVE_WINDOW_SIZE, i.e. outside the receiver window after its position is updated, shall be removed from the reordering buffer and be delivered to the disassembly entity;
– if next_expected_TSN is below the updated receiver window:
– next_expected_TSN shall be set to RcvWindow_UpperEdge – RECEIVE_WINDOW_SIZE + 1;
– if the MAC-hs PDU with TSN = next_expected_TSN is stored in the reordering buffer:
– all received MAC-hs PDUs with consecutive TSNs from next_expected_TSN (included) up to the first not received MAC-hs PDU shall be delivered to the disassembly entity;
– next_expected_TSN shall be advanced to the TSN of this first not received MAC-hs PDU.
In case a UE has insufficient memory to process a received MAC-hs PDU, it shall perform the following set of operations:
– select TSN_flush such that: next_expected_TSN < TSN_flush ≤ RcvWindow_UpperEdge + 1;
– deliver all correctly received MAC-hs PDUs with TSN < TSN_flush to the disassembly entity;
– if the MAC-hs PDU with TSN=TSN_flush has previously been received:
– deliver all received MAC-hs PDUs with consecutive TSNs from TSN_flush (included) up to the first not received MAC-hs PDU to the disassembly entity;
– advance next_expected_TSN to the TSN of this first not received MAC-hs PDU.
– else:
– set next_expected_TSN to TSN_flush.
11.6.2.4 Disassembly entity
For each MAC-hs PDU that is delivered to the disassembly entity, the UE shall:
– remove any padding bits if present;
– remove the MAC-hs header;
– deliver the MAC-d PDUs in the MAC-hs PDU to MAC-d.
11.6.2.5 MAC-hs Reset
If a reset of the MAC-hs entity is requested by upper layers, the UE shall at the activation time indicated by higher layers:
– flush soft buffer for all configured HARQ processes;
– stop all active re-ordering release timer (T1) and set all timer T1 to their initial value;
– start TSN with value 0 for the next transmission on every configured HARQ process;
– initialise the variables RcvWindow_UpperEdge and next_expected_TSN to their initial values;
– disassemble all MAC-hs PDUs in the re-ordering buffer and deliver all MAC-d PDUs to the MAC-d entity;
– flush the re-ordering buffer;
– treat next received Transport Block as new data.
11.6.2.6 Reconfiguration of MAC-hs parameters
The parameters for a MAC-hs entity may be reconfigured (modifed) by upper layers.
When a parameter is reconfigured by the upper layer, the UE shall:
– start using the reconfigured value of the parameter at the activation time indicated by higher layers.
If the parameter T1 is reconfigured for an already existing re-ordering queue, the UE shall:
– start to use the new value of T1 the next time T1 is started.
If the MAC-d PDU size info (i.e. mapping of MAC-d PDU size index to MAC-d PDU size) is reconfigured for an already existing re-ordering queue, at the activation time indicated by higher layers, the UE shall:
– stop timer T1 if running;
– set next_expected_TSN to (highest TSN of received MAC-hs PDU of this re-ordering queue + 1);
– deliver all correctly received MAC-hs PDUs in this re-ordering queue to the disassembly entity and use the old MAC-d PDU size info for these MAC-hs PDUs.
If the parameter RECEIVE_WINDOW_SIZE is reconfigured for a re-ordering queue, the UE shall:
– set RECEIVE_WINDOW_SIZE to the new value;
– remove any MAC-hs PDUs in this re-ordering queue with TSN RcvWindow_UpperEdge – RECEIVE_WINDOW_SIZE (i.e. outside the receiver window after its size is updated) from the reordering buffer and deliver these MAC-hs PDUs to the disassembly entity;
– if next_expected_TSN is below the receiver window after its size is updated:
– set next_expected_TSN to RcvWindow_UpperEdge – RECEIVE_WINDOW_SIZE + 1;
– deliver all received MAC-hs PDUs in this re-ordering queue with consecutive TSNs from next_expected_TSN (included) up to the first not received MAC-hs PDU to the disassembly entity;
– advance next_expected_TSN to the TSN of this first not received MAC-hs PDU.
If the "Memory Partitioning" (see [7]) for soft buffer is reconfigured, the UE shall:
– flush soft buffer for all configured HARQ processes.
If the "TSN-Length" is reconfigured, the UE shall:
– perform the operation as per subclause 11.6.2.5.
11.6.2.7 HARQ procedure for HS-SCCH less operation (FDD only)
When the HS-SCCH less mode of operation is enabled, the UE shall be able to strore 13 TTIs in a cyclic soft buffer.
For each received MAC-hs PDU provided by the lower layers the UE shall:
– If the associated HS-SCCH corresponds to an HS-SCCH less retransmission as defined in subclause 4.6A.2.2.1 of [16]:
– If the data in the soft buffer identified by the TTI [5*CFN + subframe number – 6 – PTR]mod 13 has been decoded successfully:
– generate a positive acknowledgement (ACK) of the data corresponding to this TTI;
– consider the data in the soft buffer identified by the TTI [5*CFN + subframe number]mod 13 has been decoded successfully.
– Else:
– combine the received data with the data currently in the soft buffer identified by [5*CFN + subframe number – 6 – PTR]mod 13 where PTR is the value of the pointer to the previous transmission as defined in subclause 4.6A.2.2.1.2 of [16];
– If the combined data in the soft buffer has been successfully decoded and no error was detected;
– deliver the decoded MAC-hs PDU to the reordering entity;
– generate a positive acknowledgement (ACK) of the data corresponding to this TTI;
– consider the data in the soft buffer identified by the TTI [5*CFN + subframe number]mod 13 has been decoded successfully.
– Else:
– place the combined data for the HS-SCCH less TTI in the soft buffer identified by [5*CFN + subframe number]mod 13, replacing any data previously stored in that buffer.
– generate a negative acknowledgement (NACK) of the data corresponding to this TTI.
– Else if the associated HS-SCCH corresponds to a HS-SCCH type 1 as defined in subclause 4.6 of [16];
– process the received MAC-hs PDU provided by the lower layers as per subclause 11.6.2.2.
– Else if HS-SCCH less operation is active according to the definition in [13];
– If the data has been successfully decoded and no error was detected;
– deliver the decoded MAC-hs PDU to the reordering entity;
– generate a positive acknowledgement (ACK) of the data corresponding to this TTI;
– consider the data in the soft buffer identified by the TTI [5*CFN + subframe number]mod 13 has been decoded successfully.
– Else:
– place the data for the HS-SCCH less TTI in the soft buffer identified by [5*CFN + subframe number]mod 13, replacing any data previously stored in that buffer.
11.6.2.8 HARQ procedure for HS-DSCH SPS operation (1.28 Mcps TDD only)
When the HS-DSCH SPS operation is enabled, the UE shall maintain cyclic virtual IR buffers with number of N where N is configured by higher layer as in [7]. And the value tagged to the virtual IR buffers should be all set to NULL.
For each received MAC-hs PDU provided by the lower layers the UE shall:
– If the associated HS-SCCH corresponds to an HS-SCCH SPS retransmission as defined in subclause 4.6C of [19]:
– if the data in the virtual IR buffer tagged with the value [2*CFN + subframe number – 4 – PTR] mod 512 has not been decoded successfully:
– combine the received data with the data currently in the virtual IR buffer tagged with the value [2*CFN + subframe number – 4 – PTR] mod 512, where PTR is the value of the pointer to the previous transmission as defined in subclause 4.6C of [19].
– If the data in the virtual IR buffer has been successfully decoded and no error was detected:
– deliver the decoded MAC-hs PDU to the reordering entity;
– generate a positive acknowledgement (ACK) of the data corresponding to this TTI;
– tag the virtual IR buffer with the value NULL.
– else:
– generate a negative acknowledgement (NACK) of the data corresponding to this TTI;
– tag the virtual IR buffer with the value [2*CFN + subframe number].
– else:
– generate a positive acknowledgement (ACK) of the data corresponding to this TTI;
– discard the received data.
– Else if the associated HS-SCCH corresponds to a HS-SCCH as defined in subclause 4.6 of [19]:
– process the received MAC-hs PDU provided by the lower layers as per subclause 11.6.2.2.
– Else if the TTI is allocated to the UE with HS-DSCH SPS resources:
– if there is virtual IR buffer of which the tagged value is set to NULL:
– place the received data for the HS-DSCH SPS TTI in any of the virtual IR buffers of which the tagged value is set to NULL.
– else:
– place the received data for the HS-DSCH SPS TTI in the virtual IR buffer which contains the oldest MAC-hs PDU, replacing any data previously stored in this buffer.
– If the received data has been successfully decoded and no error was detected;
– deliver the decoded MAC-hs PDU to the reordering entity;
– generate a positive acknowledgement (ACK) of the data corresponding to this TTI;
– tag the virtual IR buffer with the value NULL.
– else:
– generate a negative acknowledgement (NACK) of the data corresponding to this TTI;
– tag the virtual IR buffer with the value [2*CFN + subframe number].
– For the data stored in each virtual IR buffer of which the tagged value is not set to NULL, if the time waiting for retransmission has been longer than 4+PTRmax TTIs, where PTRmax is the maximum value that can be indicated by PTR:
– tag the virtual IR buffer with the value NULL.
11.6.3 Network operation
The following are the functions of the various functional entities at the network in support of the HARQ protocol used on HS-DSCH when MAC-ehs is configured by upper layers [7].
11.6.3.1 Scheduler
The scheduler performs the following functions:
– Schedules all UEs within its cell(s);
– Services priority queues:
– The scheduler schedules reordering PDUs (see subsection 9.1.4) based on information from upper layers. One UE operating in CELL_DCH may be associated with one or more priority queues.
– In FDD and 1.28 Mcps TDD, when transmitting to the UE in CELL_FACH or CELL_PCH or URA_PCH state there can be multiple service priority queues. One service priority queue can be associated to multiple H-RNTIs.
– Determines the HARQ Entity and the queues to be serviced;
– Sets the TSN values for new data blocks being transferred from the selected queue;
– set the TSN to value 0 for the first reordering PDU transmitted from the selected queue;
– increment the TSN with one for each subsequent reordering PDU transmitted from the selected queue.
– increment the TSN with one for each subsequent reordering PDU transmitted from the selected queue per H-RNTI within an HS-DSCH, when transmitting to the UEs in CELL_FACH, CELL_PCH or URA_PCH state.
NOTE: In 1.28 Mcps TDD multi-frequency HS-DSCH cell, the length of TSN can be 6 bits or 9 bits based on the configuration of higher layer.
NOTE: The scheduler may re-use TSNs by toggling the NDI bit in order to resume pre-empted transmissions or to force the UE to flush the soft buffer. In this case the content of the payload may be changed but care should be taken to preserve the higher layer data order.
– Indicates the LCH ID and L field values for each reordering SDU to be transmitted and the TSN field and SI field values for each reordering PDU to be transmitted to the HARQ entity;
– Schedules new transmissions and retransmissions:
– When transmitting for a UE in CELL_DCH state the scheduler determines based on the status reports from HARQ Processes if either a new transmission or a retransmission should be made. A new transmission can however be initiated on a HARQ process at any time. Based on a delay attribute provided by upper layers, the scheduler may decide to discard any ‘out-of-date’ MAC-ehs SDU.
– In FDD when transmitting for a UE in CELL_FACH state the scheduler determines based on RRM and IE "RACH Measurement Result" received on Iub FP the number of retransmission that should be made after new transmission. If HARQ feedback is configured, the scheduler may stop retransmission based on the status reports from HARQ processes. A new transmission can however be initiated on a HARQ process at any time. Based on a delay attribute provided by upper layers, the scheduler may decide to discard any ‘out-of-date’ MAC-ehs SDU.
– In 1.28Mcps TDD, when transmitting CCCH or DCCH with common H-RNTI for a UE in CELL_FACH state the scheduler determines the number of retransmission that should be made after new transmission based on RRM. Based on a delay attribute provided by upper layers, the scheduler may decide to discard any ‘out-of-date’ MAC-ehs SDU.
– In 1.28Mcps TDD, When transmitting or retransmitting DCCH/DTCH with dedicated H-RNTI for a UE in CELL_FACH state, if In SYNC state is not indicated by physical layer as in [18], then the synchronization Command via HS-SCCH shall be sent to the UE firstly, the transmitting or retransmitting DCCH/DTCH shall not be initiated or resumed until In-SYNC state is detected as in [18]. The scheduler determines based on the status reports from HARQ Processes if either a new transmission or a retransmission should be made. Based on a delay attribute provided by upper layers, the scheduler may decide to discard any ‘out-of-date’ MAC-ehs SDU.
– In 1.28Mcps TDD, when transmissing DCCH/DTCH for a UE in CELL_PCH state, synchronization command via HS-SCCH shall be sent to the UE firstly. The transmitting DCCH/DTCH shall not be initiated until In-SYNC state is detected as in [18]. The scheduler determines based on the status reports from HARQ Processes if either a new transmission or a retransmission should be made. Based on a delay attribute provided by upper layers, the scheduler may decide to discard any ‘out-of-date’ MAC-ehs SDU.
NOTE: When operating in MIMO mode, the scheduler uses the redundancy version coding to indicate whether a transmission is a new transmission or a retransmission, otherwise, the New Data Indicator field is used.
– Determines the redundancy version:
– The scheduler determines a suitable redundancy version for each transmitted and retransmitted MAC-ehs PDU and indicates the redundancy version to lower layer.
– Determines the TDD HCSN;
– Increment UE specific HCSN for each HS-SCCH transmission. In 1.28Mcps TDD multi-frequency HS-DSCH cell, UE maintains the respective HCSN for each carrier independently.
– In 1.28 Mcps TDD, the operation of HSCN on HS-SCCH with common H-RNTI and BCCH specific H-RNTI is unspecified.
11.6.3.2 HARQ entity
– There is one HARQ entity per HS-DSCH for each UE operating in CELL_DCH state in UTRAN(FDD only).
– There is one HARQ entity per UE operating in CELL_DCH state in UTRAN (TDD only). In 1.28 Mcps TDD multi-frequency HS-DSCH cell, HARQ entity consists of some HARQ sub-entities, each sub-entity is associated with one carrier.
– In FDD and 1.28 Mcps TDD, there is one HARQ entity per H-RNTI in UTRAN used for transmitting data for UE(s) in CELL_FACH state.
– The HARQ entity sets the logical channel ID (LCH ID) fields in transmitted MAC-ehs PDUs to the values indicated by the UTRAN scheduler.
– The HARQ entity sets the Length (L) fields in transmitted MAC-ehs PDUs to the values indicated by the UTRAN scheduler.
– The HARQ entity sets the Segmentation Indication (SI) fields in transmitted MAC-ehs PDUs to the values indicated by the UTRAN scheduler.
– The HARQ entity sets the transmission sequence number (TSN) fields in transmitted MAC-ehs PDUs to the values indicated by the UTRAN scheduler.
– The HARQ entity sets the HARQ process identifier in transmitted MAC-ehs PDUs. UTRAN should:
– determine a suitable HARQ process to service the MAC-ehs PDU and set the HARQ process identifier accordingly.
– when operating in CELL_DCH state and MIMO mode with four transmit antennas is configured by higher layers:
– in case of three stream transmission, the HARQ entity sets the same HARQ process identifier for the MAC-ehs PDU of the second stream and the MAC-ehs PDU of the third stream; two ACKs/NACKs are received per HS-DSCH per TTI, the first ACK/NACK is mapped to the first stream while the second ACK/NACK is mapped to both second and third streams
– in case of four stream transmission, the HARQ entity sets the same HARQ process identifier for the MAC-ehs PDU of the first stream and the MAC-ehs PDU of the fourth stream, and sets the same HARQ process identifier for the MAC-ehs PDU of the second stream and the MAC-ehs PDU of the third stream; two ACKs/NACKs are received per HS-DSCH per TTI, the first ACK/NACK is mapped to both the first and fourth streams while the second ACK/NACK is mapped to both second and third streams.
11.6.3.3 HARQ process
– If the New Data Indicator field exists, the HARQ process sets the New Data indicator in transmitted MAC-ehs PDUs. UTRAN should:
– set the New Data Indicator to the value "0" for the first MAC-ehs PDU transmitted by a HARQ process;
– not increment the New Data Indicator for retransmissions of a MAC-ehs PDU;
– increment the New Data Indicator with one for each transmitted MAC-ehs PDU containing new data.
– If the New Data Indicator field doesn’t exist, UTRAN should:
– instruct the physical layer to set the appropriate redundancy version coding when indicating the MAC-ehs PDU is either an initial transmission or a retransmission.
– The HARQ process processes received status messages. UTRAN should:
– deliver received status messages to the scheduler.
11.6.4 UE operation
The UE operation in support of the HARQ protocol used on HS-DSCH is split among the following five functional units with their associated functions.
11.6.4.1 HARQ Entity
There is one HARQ entity per HS-DSCH at the UE which processes the HARQ process identifiers received on the HS-SCCH transmissions associated with MAC-ehs PDUs received on the HS-DSCH (FDD only).
There is one HARQ entity at the UE which processes the HARQ process identifiers received on the HS-SCCH transmissions associated with MAC-ehs PDUs received on the HS-DSCH (TDD only).
In 1.28 Mcps TDD multi-frequency HS-DSCH cell, HARQ sub-entity is configured at UE per carrier where HS-DSCH is configured. The associated downlink control channel and uplink control channel pair controlling the HS-DSCH transmission on the certain carrier shall be allocated on the same carrier. The downlink control channel carries the HS-DSCH operation related info and the uplink control channel carries the feedback info from the UE side. In 1.28 Mcps TDD single frequency or multi-frequency HS-DSCH cell, HARQ entity or HARQ sub-entity is configured to handle the HARQ identity associated with the received MAC-ehs PDU from every carrier where HS-DSCH is configured at UE side.
A number of parallel HARQ processes are used in the UE to support the HARQ entity. The number of HARQ processes is configured by upper layers:
– Each received MAC-ehs PDU shall be allocated to the HARQ process indicated by the HARQ process identifier of the MAC-ehs PDU.
For FDD, upon deactivation of a secondary serving HS-DSCH cell, the UE shall:
– flush soft buffer for all configured HARQ processes associated to that secondary serving HS-DSCH cell;
For FDD, upon activation of a secondary serving HS-DSCH cell, the UE shall:
– treat next received Transport Blocks on all HARQ processes associated to that secondary serving HS-DSCH cell as new data.
11.6.4.2 HARQ process
The HARQ process processes the New Data Indicator (if any) indicated by lower layers for each received MAC-ehs PDU.
The UE may:
– for FDD, when operating in CELL_DCH state, if the MAC-ehs PDU is received within 5 sub-frames from the reception of the previous MAC-ehs PDU intended for this HARQ process and if blind HARQ retransmissions for HSDPA freature is not configured by upper layers; or
– for FDD, when operating in CELL_FACH state with a dedicated H-RNTI, if the MAC-ehs PDU is not received during the sub-frames associated with the PICH (as described in section 7.2A of [24]) and the MAC-ehs PDU is received within 5 sub-frames from the reception of the previous MAC-ehs PDU intended for this HARQ process and with the same H-RNTI; or
– for TDD, when operating in CELL_DCH state, or in CELL_FACH state with a dedicated H-RNTI (1.28 Mcps TDD only), if the MAC-ehs PDU is received before generation of feedback resulting from reception of a previous MAC-ehs PDU for the same H-ARQ process:
– discard the MAC-ehs PDU.
The UE shall:
– when operating in CELL_FACH or CELL_PCH state with a dedicated H-RNTI, if the MAC-ehs PDU is received with a different H-RNTI compared to the H-RNTI in the previous received transmission in this HARQ process; or
– if the New Data Indicator (if any) has been incremented compared to the value in the previous received transmission in this HARQ process or in absence of a New Data Indicator field, the physical layer redundancy version coding indicates it is an initial transmission:
– replace the data currently in the soft buffer for this HARQ process with the received data.
NOTE: The UTRAN may, when transmitting a MAC-ehs PDU with a different H-RNTI compared to the H-RNTI used in the previous transmission in this HARQ process, not increment the New Data Indicator.
– if the Transport Block Size index value is equal to 111111 (FDD only):
– generate a positive acknowledgement (ACK) of the data in this HARQ process;
– discard the received data;
– assume that the data has been successfully decoded.
– if the New Data Indicator is not present and the physical layer redundancy version coding indicates it is a retransmission and the UE had positively acknowledged the earlier transmission:
– discard received data and generate a positive acknowledgement (ACK).
– if the New Data Indicator (if any) is identical to the value used in the previous received transmission in the HARQ process or in absence of a New Data Indicator field, the physical layer redundancy version coding indicates it is a retransmission and the UE had negatively acknowledged the earlier transmission:
– if the Transport Block Size index value is equal to 111111 (FDD only):
– assume that the transport block size is identical to the last valid transport block size signalled for this HARQ process.
– if the data has not yet been successfully decoded:
– combine the received data with the data currently in the soft buffer for this HARQ process.
– if the transport block size is different from the last valid transport block size signalled for this HARQ process:
– the UE may replace the data currently in the soft buffer for this HARQ process with the received data.
– if the data in the soft buffer has been successfully decoded and no error was detected:
– deliver the decoded MAC-ehs PDU to the disassembly entity;
– when operating in CELL_DCH state, or operating in CELL_FACH state with dedicated H-RNTI for 1.28 Mcps TDD, generate a positive acknowledgement (ACK) of the data in this HARQ process, if the decoded MAC-ehs PDU has not been received with the BCCH specific H-RNTI.
– when operating in CELL_FACH state (FDD only):
– if the UE is using a common E-DCH resource which is triggered due to reception of HS-SCCH order for NodeB triggered HS-DPCCH transmission:
– after the allowed start time of E-DCH transmission, generate a positive acknowledgement (ACK) of the data in this HARQ process, if the decoded MAC-ehs PDU has not been received with the BCCH specific H-RNTI.
– else:
– if configured by higher layers, after collision resolution, generate a positive acknowledgement (ACK) of the data in this HARQ process, if the decoded MAC-ehs PDU has not been received with the BCCH specific H-RNTI.
– when operating in CELL_DCH state and MIMO mode with four transmit antennas is configured by higher layers, if both MAC-ehs PDUs that have the same HARQ process identifier have been successfully decoded, generate a positive acknowledgement (ACK).
– It is not necessary that the two successfully decoded MAC-ehs PDUs that have the same HARQ process identifier belong to the same transmission or retransmission.
– else:
– when operating in CELL_DCH state, or operating in CELL_FACH state with dedicated H-RNTI for 1.28 Mcps TDD, generate a negative acknowledgement (NACK) of the data in this HARQ process, if the decoded MAC-ehs PDU has not been received with the BCCH specific H-RNTI;
– when operating in CELL_FACH state (FDD only):
– if the UE is using a common E-DCH resource which is triggered due to reception of HS-SCCH order for NodeB triggered HS-DPCCH transmission:
– after the allowed start time of common E-DCH transmission, generate a negative acknowledgement (NACK) of the data in this HARQ process, if the decoded MAC-ehs PDU has not been received with the BCCH specific H-RNTI.
– else:
– if configured by higher layers, after collision resolution, generate a negative acknowledgement (NACK) of the data in this HARQ process, if the decoded MAC-ehs PDU has not been received with the BCCH specific H-RNTI.
– when operating in CELL_DCH state and MIMO mode with four transmit antennas is configured by higher layers, if one or both MAC-ehs PDUs that have the same HARQ process identifier have not been successfully decoded, generate a negative acknowledgement (NACK).
– schedule the generated positive or negative acknowledgement for transmission and the time of transmission relative to the reception of data in a HARQ process is configured by upper layer.
11.6.4.3 Disassembly entity
For each MAC-ehs PDU that is delivered to the disassembly entity, the UE shall:
– for 1.28 Mcps TDD, discard the MAC-ehs PDU if the L field in MAC-ehs header is zero;
– remove any padding bits if present;
– remove the MAC-ehs header;
– deliver the reordering PDUs in the MAC-ehs PDU to reordering distribution entity.
11.6.4.4 Reordering queue distribution entity
Reordering shall be applied to all logical channels except for BCCH and PCCH.
For each reordering PDU in the MAC-ehs PDU, except for BCCH and PCCH, the UE shall:
– route the reordering PDU to the correct reordering queue based on the received LCH ID. The mapping of the LCH ID to queue is provided by upper layers [7].
11.6.4.5 Reordering entity
11.6.4.5.1 Definitions
In the functions described in this section the following definitions apply:
Parameters
– Transmitter window size (TRANSMIT_WINDOW_SIZE)
TRANSMIT_WINDOW_SIZE is the size of the transmitter window according to the definition below. This is a parameter in the Node B and the value of the parameter is configured by higher layers.
– Receiver window size (RECEIVE_WINDOW_SIZE)
RECEIVE_WINDOW_SIZE is the size of the receiver window according to the definition below. This is a parameter in the UE and the value of the parameter is configured by higher layers.
– TSN field length (TSN_LEN)
TSN_LEN is the length of TSN field in bits. This is a parameter in both the Node B and the UE. Value of the parameter is configured by higher layers.
State variables
All state variables are non-negative integers. Reordering PDUs are numbered by modulo integer Transmission sequence numbers (TSN) cycling through the field 0 to 2TSN_LEN-1. All arithmetic operations contained in the present document on next_expected_TSN, RcvWindow_UpperEdge, T1_TSN and TSN_flush are affected by the 2TSN_LEN modulus. When performing arithmetic comparisons of state variables or Transmission sequence number values a 2TSN_LEN modulus base shall be used. This modulus base is subtracted (within the appropriate field) from all the values involved and then an absolute comparison is performed. RcvWindow_UpperEdge – RECEIVE_WINDOW_SIZE + 1 shall be assumed to be the modulus base. For 1.28 Mcps TDD multi-frequency HS-DSCH operation operation mode, TSN_MAX represents period length of TSN; the arithmetic operations and comparisons of state variables in multi-frequency mode are performed on TSN_MAX modulus base.
– next_expected_TSN:
The next_expected_TSN is the Transmission sequence number (TSN) following the TSN of the last in-sequence reordering PDU received. It shall be updated according to the procedures given in subclauses 11.6.4.5.2, 11.6.4.8 and 11.6.4.9. For CELL_DCH, the initial value of next_expected_TSN =0. For states other than CELL_DCH the initial value of the next_expected_TSN = RcvWindow_UpperEdge – RECEIVE_WINDOW_SIZE + 1.
– RcvWindow_UpperEdge:
The RcvWindow_UpperEdge represents the TSN, which is at the upper edge of the receiver window. After the first reordering PDU has been received successfully, it also corresponds to the reordering PDU with the highest TSN of all received reordering PDUs. The initial RcvWindow_UpperEdge equals 2TSN_LEN-1. RcvWindow_UpperEdge is updated based on the reception of new reordering PDU according to the procedure given below.
– T1_TSN:
The TSN of the latest reordering PDU that cannot be delivered to the reassembly entity, when the timer T1 is started.
Timers
– Re-ordering release timer (T1):
The Re-ordering release timer T1 controls the stall avoidance in the UE reordering buffer as described below. The value of T1 is configured by upper layers.
– Reset timer (Treset) (FDD and 1.28 Mcps TDD)
Treset controls the reset of the MAC-ehs reordering functionality. This timer is not used when the UE is in CELL_DCH state. For 1.28 McpsTDD, this timer is also not used when usage of Treset is disabled indicated by upper layers for the UE in CELL_FACH and CELL_PCH state with dedicated H-RNTI.
Other definitions
– Receiver window:
The receiver window defines TSNs of those reordering PDUs that can be received in the receiver without causing an advancement of the receiver window according to the procedure below. The size of the receiver window equals RECEIVE_WINDOW_SIZE and spans TSNs going from RcvWindow_UpperEdge – RECEIVE_WINDOW_SIZE + 1 to RcvWindow_UpperEdge included.
11.6.4.5.2 Reordering functionality
If no timer T1 is active:
– the timer T1 shall be started when a reordering PDU with TSN > next_expected_TSN is correctly received.
– T1_TSN shall be set to the TSN of this reordering PDU.
If a timer T1 is already active:
– no additional timer shall be started, i.e. only one timer T1 may be active at a given time.
The timer T1 shall be stopped if:
– the reordering PDU with TSN = T1_TSN can be delivered to the reassembly entity before the timer expires.
When the timer T1expires and T1_TSN > next_expected_TSN:
– all correctly received reordering PDUs with TSN > next_expected_TSN up to and including T1_TSN-1 shall be delivered to the reassembly entity;
– all correctly received reordering PDUs up to the next not received reordering PDU shall be delivered to the reassembly entity.
– next_expected_TSN shall be set to the TSN of the next not received reordering PDU.
When the timer T1 is stopped or expires, and there still exist some received reordering PDUs that can not be delivered to higher layer:
– timer T1 is started
– set T1_TSN to the highest TSN among those of the reordering PDUs that can not be delivered.
For FDD and 1.28 Mcps TDD, if the UE is not in CELL_DCH state and if the timer Treset is not active, and for 1.28 Mcps TDD, except that usage of Treset is disabled indicated by upper layers for the UE in CELL_FACH and CELL_PCH state with dedicated H-RNTI:
– the timer Treset shall be started when a reordering PDU is correctly received.
For FDD and 1.28 Mcps TDD, if the UE is in any state other than CELL_DCH state and if a timer Treset is already active:
– the timer Treset shall be restarted when a reordering PDU is correctly received.
– no additional timer shall be started, i.e. only one timer Treset may be active at a given time.
When the timer Treset expires:
– perform a MAC-ehs reset.
For FDD and 1.28 Mcps TDD, if the UE enters CELL_DCH state:
– stop all configured Treset timers.
For 1.28 Mcps TDD, when the UE is allocated with dedicated H-RNTI in CELL_FACH and CELL_PCH state, if usage of Treset is disabled indicated by upper layers:
– if there is timer Treset being active,
– stop all active Treset timers,
– consider these Treset timers have expired,
– perform MAC-ehs reset due to the expiry of Treset timers.
Transmitter operation:
After the transmitter has transmitted a reordering PDU with TSN=SN, any reordering PDU with TSN SN – TRANSMIT_WINDOW_SIZE should not be retransmitted to avoid sequence number ambiguity in the receiver.
Receiver operation:
When a reordering PDU with TSN = SN is received:
– if SN is within the receiver window:
– if SN < next_expected_TSN, or this reordering PDU has previously been received:
– the reordering PDU shall be discarded;
– else:
– the reordering PDU shall be placed in the reordering buffer at the place indicated by the TSN.
– if SN is outside the receiver window:
– the received reordering PDU shall be placed above the highest received TSN in the reordering buffer, at the position indicated by SN;
– RcvWindow_UpperEdge shall be set to SN thus advancing the receiver window;
– any reordering PDU with TSN RcvWindow_UpperEdge – RECEIVE_WINDOW_SIZE, i.e. outside the receiver window after its position is updated, shall be removed from the reordering buffer and be delivered to the reassembly entity;
– if next_expected_TSN is below the updated receiver window:
– next_expected_TSN shall be set to RcvWindow_UpperEdge – RECEIVE_WINDOW_SIZE + 1;
– if the reordering PDU with TSN = next_expected_TSN is stored in the reordering buffer:
– all received reordering PDUs with consecutive TSNs from next_expected_TSN (included) up to the first not received reordering PDU shall be delivered to the reassembly entity;
– next_expected_TSN shall be advanced to the TSN of this first not received reordering PDU.
In case a UE has insufficient memory to process a received reordering PDU, it shall perform the following set of operations:
– select TSN_flush such that: next_expected_TSN < TSN_flush ≤ RcvWindow_UpperEdge + 1;
– deliver all correctly received reordering PDUs with TSN < TSN_flush to the reassembly entity;
– if the reordering PDU with TSN=TSN_flush has previously been received:
– deliver all received reordering PDUs with consecutive TSNs from TSN_flush (included) up to the first not received reordering PDU to the reassembly entity;
– advance next_expected_TSN to the TSN of this first not received reordering PDU.
– else:
– set next_expected_TSN to TSN_flush.
11.6.4.6 Reassembly unit
The reassembly unit processes the SI field associated with a reordering PDU. The UE shall:
– if SI field is set to "00":
– deliver all MAC-d or MAC-c PDUs corresponding to MAC-ehs SDUs in the reordering PDU to demultiplexing entity;
– discard any previously stored segment of MAC-ehs SDU.
– if SI field is set to "01":
– if the received and stored segments of a MAC-ehs SDU are consecutive:
– combine the first reordering SDU with the stored segment of MAC-ehs SDU;
– deliver the MAC-d or MAC-c PDU corresponding to the combined MAC-ehs SDU to demultiplexing entity.
– if the received and stored segments of MAC-ehs SDU are not consecutive
– discard the first received reordering SDU and the stored segment of MAC-ehs SDU.
– deliver all MAC-d or MAC-c PDUs corresponding to subsequent MAC-ehs SDUs in the reordering queue to demultiplexing entity;
– if SI field is set to "10":
– deliver all MAC-d or MAC-c PDUs corresponding to all but last reordering SDU in the reordering PDU to the demultiplexing entity;
– discard any previously stored segment of MAC-ehs SDU and store the last reordering SDU of the received reordering PDU
– if SI field is set to "11":
– if the received and stored MAC-ehs SDUs are consecutive:
– if there is only one reordering SDU in the reordering PDU:
– combine the received reordering SDU with the stored segment of MAC-ehs SDU:
– if there is more than one reordering SDU in the reordering PDU:
– combine the first received reordering SDU with the stored segment MAC-ehs SDU;
– deliver the MAC-d or MAC-c PDU corresponding to the combined MAC-ehs SDU to demultiplexing entity.
– deliver all MAC-d or MAC-c PDUs corresponding to all but last reordering SDU in the reordering PDU to demultiplexing entity;
– discard any previously stored segment of MAC-ehs SDU and store the last reordering SDU of the received reordering PDU.
– if the received and stored segments of the MAC-ehs SDU are not consecutive:
– discard the first received reordering SDU and the stored segment of MAC-ehs SDU;
– if there is more than one reordering SDU in the reordering PDU:
– deliver all MAC-d or MAC-c PDUs corresponding to all but first and last reordering SDUs in the reordering PDU to demultiplexing entity and store the last reordering SDU of the received reordering PDU.
11.6.4.7 Demultiplexing entity
For each MAC-d or MAC-c PDU that is delivered to the demultiplexing entity, the UE shall:
– route MAC-d or MAC-c PDU to the correct logical channel based on the corresponding LCH ID field.
11.6.4.8 MAC-ehs Reset
If a reset of the MAC-ehs entity is requested by upper layers, the UE shall at the activation time indicated by higher layers:
– flush soft buffer for all configured HARQ processes;
– stop all active re-ordering release timer (T1) and set all timer T1 to their initial value;
– stop all active reset timers (Treset) and set all timers Treset to their initial value;
– start TSN with value 0 for the next transmission on every configured HARQ process;
– initialise the variables RcvWindow_UpperEdge and next_expected_TSN to their initial value;
– deliver all reordering PDUs in the re-ordering buffer to the reassembly entity;
– deliver any successfully reassembled MAC-ehs SDUs to logical channel demultiplexing entity;
– route any MAC-d or MAC-c PDUs delivered to the demultiplexing entity to the correct logical channel;
– flush the re-ordering buffer;
– discard any stored segment in the reassembly entity;
– treat next received Transport Block as new data.
If a reset of the MAC-ehs entity is required by the expiry of Treset, the UE shall:
– if the Treset has expired for all the configured reordering queues:
– flush soft buffer for all configured HARQ processes;
– treat next received Transport Block as new data.
– for each reordering queue where Treset has expired:
– stop the active re-ordering release timer (T1) and set the timer T1 to its initial value;
– start TSN with value 0 for the next transmission on every configured HARQ process;
– initialise the variable RcvWindow_UpperEdge to its initial value;
– initialise the variable next_expected_TSN to its initial value;
– deliver all reordering PDUs in the re-ordering buffer to the reassembly entity;
– deliver any successfully reassembled MAC-ehs SDUs to logical channel demultiplexing entity;
– route any MAC-d or MAC-c PDUs delivered to the demultiplexing entity to the correct logical channel;
– flush the re-ordering buffer;
– discard any stored segment in the reassembly entity;
11.6.4.9 Reconfiguration of MAC-ehs parameters
The parameters for a MAC-ehs entity may be reconfigured (modifed) by upper layers.
When a parameter is reconfigured by the upper layer, the UE shall:
– start using the reconfigured value of the parameter at the activation time indicated by higher layers.
If the parameter T1 is reconfigured for an already existing re-ordering queue, the UE shall:
– start to use the new value of T1 the next time T1 is started.
If the parameter RECEIVE_WINDOW_SIZE is reconfigured for a re-ordering queue, the UE shall:
– set RECEIVE_WINDOW_SIZE to the new value;
– remove any reordering PDUs in this re-ordering queue with TSN RcvWindow_UpperEdge – RECEIVE_WINDOW_SIZE (i.e. outside the receiver window after its size is updated) from the reordering buffer and deliver these reordering PDUs to the reassembly entity;
– if next_expected_TSN is below the receiver window after its size is updated:
– set next_expected_TSN to RcvWindow_UpperEdge – RECEIVE_WINDOW_SIZE + 1;
– deliver all received reordering PDUs in this re-ordering queue with consecutive TSNs from next_expected_TSN (included) up to the first not received reordering PDU to the reassembly entity;
– advance next_expected_TSN to the TSN of this first not received reordering PDU.
If the "Memory Partitioning" (see [7]) for soft buffer is reconfigured, the UE shall:
– flush soft buffer for all configured HARQ processes.
For 1.28Mcps TDD, if the "TSN-Length" is reconfigured, the UE shall:
– perform the operation as per subclause 11.6.4.8.
11.6.4.10 HARQ procedure for HS-SCCH less operation (FDD only)
When the HS-SCCH less mode of operation is enabled, the UE shall be able to store 13 TTIs in a cyclic soft buffer.
For each received MAC-ehs PDU provided by the lower layers the UE shall:
– If the associated HS-SCCH corresponds to an HS-SCCH less retransmission as defined in subclause 4.6A.2.2.1 of [16]:
– If the data in the soft buffer identified by the TTI [5*CFN + subframe number – 6 – PTR]mod 13 has been decoded successfully:
– generate a positive acknowledgement (ACK) of the data corresponding to this TTI;
– consider the data in the soft buffer identified by the TTI [5*CFN + subframe number]mod 13 has been decoded successfully.
– Else:
– combine the received data with the data currently in the soft buffer identified by [5*CFN + subframe number – 6 – PTR]mod 13 where PTR is the value of the pointer to the previous transmission as defined in subclause 4.6A.2.2.1.2 of [16].
– If the combined data in the soft buffer has been successfully decoded and no error was detected;
– deliver the decoded MAC-ehs PDU to the disassembly entity;
– generate a positive acknowledgement (ACK) of the data corresponding to this TTI.
– consider the data in the soft buffer identified by the TTI [5*CFN + subframe number]mod 13 has been decoded successfully.
– Else:
– place the combined data for the HS-SCCH less TTI in the soft buffer identified by [5*CFN + subframe number]mod 13, replacing any data previously stored in that buffer.
– generate a negative acknowledgement (NACK) of the data corresponding to this TTI.
– Else if the associated HS-SCCH corresponds to a HS-SCCH type 1 as defined in subclause 4.6 of [16];
– process the received MAC-ehs PDU provided by the lower layers as per subclause 11.6.4.2.
– Else if HS-SCCH less operation is active according to the definition in [13]:
– If the data has been successfully decoded and no error was detected;
– deliver the decoded MAC-ehs PDU to the disassembly entity;
– generate a positive acknowledgement (ACK) of the data corresponding to this TTI;
– consider the data in the soft buffer identified by the TTI [5*CFN + subframe number]mod 13 has been decoded successfully.
– Else:
– place the data for the HS-SCCH less TTI in the soft buffer identified by [5*CFN + subframe number]mod 13, replacing any data previously stored in that buffer.
11.6.4.11 HARQ procedure for HS-DSCH SPS operation (1.28 Mcps TDD only)
When the HS-DSCH SPS operation is enabled, the UE shall maintain cyclic virtual IR buffers with number of N where N is configured by higher layer as in [7]. And the value tagged to the virtual IR buffers should be all set to NULL.
For each received MAC-ehs PDU provided by the lower layers the UE shall:
– If the associated HS-SCCH corresponds to an HS-SCCH SPS retransmission as defined in subclause 4.6C or 4.6G of [19]:
– if the data in the virtual IR buffer tagged with the value [2*CFN + subframe number – 4 – PTR] mod 512 has not been decoded successfully:
– combine the received data with the data currently in the virtual IR buffer tagged with the value [2*CFN + subframe number – 4 – PTR] mod 512, where PTR is the value of the pointer to the previous transmission as defined in subclause 4.6C or 4.6G of [19].
– If the data in the virtual IR buffer has been successfully decoded and no error was detected:
– deliver the decoded MAC-ehs PDU to the reordering entity;
– generate a positive acknowledgement (ACK) of the data corresponding to this TTI;
– tag the virtual IR buffer with the value NULL.
– else:
– generate a negative acknowledgement (NACK) of the data corresponding to this TTI;
– tag the virtual IR buffer with the value [2*CFN + subframe number].
– else:
– generate a positive acknowledgement (ACK) of the data corresponding to this TTI;
– discard the received data.
– Else if the associated HS-SCCH corresponds to a HS-SCCH as defined in subclause 4.6 of [19]:
– process the received MAC-ehs PDU provided by the lower layers as per subclause 11.6.2.2.
– Else if the TTI is allocated to the UE with HS-DSCH SPS resources:
– if there is virtual IR buffer of which the tagged value is set to NULL:
– place the received data for the HS-DSCH SPS TTI in any of the virtual IR buffers of which the tagged value is set to NULL.
– else:
– place the received data for the HS-DSCH SPS TTI in the virtual IR buffer which contains the oldest MAC-ehs PDU, replacing any data previously stored in this buffer.
– If the received data has been successfully decoded and no error was detected;
– deliver the decoded MAC-ehs PDU to the reordering entity;
– generate a positive acknowledgement (ACK) of the data corresponding to this TTI;
– tag the virtual IR buffer with the value NULL.
– else:
– generate a negative acknowledgement (NACK) of the data corresponding to this TTI;
– tag the virtual IR buffer with the value [2*CFN + subframe number].
– For the data stored in each virtual IR buffer of which the tagged value is not set to NULL, if the time waiting for retransmission has been longer than 4+PTRmax TTIs, where PTRmax is the maximum value that can be indicated by PTR:
– tag the virtual IR buffer with the value NULL.